java-11-openjdk-javadoc-11.0.24.0-150000.3.116.1<>,!T fVp9|0jS0+EL-o^vtD%T(ε죈k ^Wqu[iGe:ӌHcĹz HXo)g0TNs@Èy6}t-?a@!vsl3 #r{xǒm:>]To+qLv_!}׃p<;I*CKC zvmF&#?Em^7D/w!!@Ov 9>B m? ld$ 3 Ptxy %p** * Y(* *  3[*  ]* P* C*6h*\] ]8 ] (^8^ q9_q:gPq>2@2B3F3G30*H݌*I*XYZ[\*]]p*^bcd)e.f1l3uD*v a@z l l l l lCjava-11-openjdk-javadoc11.0.24.0150000.3.116.1OpenJDK 11 API DocumentationThe OpenJDK 11 API documentation.fVs390zl38.SUSE Linux Enterprise 15SUSE LLC Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3Chttps://www.suse.com/Development/Languages/Javahttps://openjdk.java.net/linuxnoarch# in some settings, the /usr/share/javadoc/java-11-openjdk/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. if [ -d /usr/share/javadoc/java-11-openjdk/api ] then update-alternatives \ --install /usr/share/javadoc/java javadocdir /usr/share/javadoc/java-11-openjdk/api \ 2105 fiif [ $1 -eq 0 ] then # in some settings, the /usr/share/javadoc/java-11-openjdk/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. if [ -d /usr/share/javadoc/java-11-openjdk/api ] then update-alternatives --remove javadocdir /usr/share/javadoc/java-11-openjdk/api fi fi Np}-G3 `V|Cosɒ*EP P֛^{h> M5 ? s .MkjaVL{_?|O&p3Yfx:45<%-G)73v*Qq+a]S4 1%S(a=E3wbg4M5KJT6BCu(Fi{c52`8s:S%Y;;"8>-p6?8z)+4;FL^.%c(2Xe =*] c* @k?1$n qj"TO)y 1NXAU5y*pgp5n[<I<6 E*G)k"_,(1["TE0s$+S@x';CbQP0L70{iU00ѐ:L>5B$1P1t212gcA24J>)1> 3~21182&9Cw1Hg2R2\2F19^1fV3A2>2=12 2GrGB1:G`^#ñ2/2;292(N'A'63<'\}1M9)q@8%  :*$0  !&!H%J%>ON+Ic748@[`UvUr:eak&:8P" !k4[E#!0D2E 3se<;&=9>+;)+X 66<D<$&UAl7biPM~<B=A@MG(bA<@8i2O22%!j=5;-_F;tX5PN6-4|>IOMPAn>7:5:"P*<542sX1CY^!:,`)8VCQ%CQ[JlE\4,XOiN[6,&>"i{&e9VQ|G5f )}G7#R#R9i&!G1P/?#nMd%0>*'!XA(biYAA)C!YTQlsUhXHdP@gdb#9PR<30vJ;S8CA5M`B"DRC{9wF@AJu5+E.^)S[F HJXk@ޘWB4Xk@_O/HiJP5,;H;/`e/lA!.tpp j/mv@XY3]AH4&55wsc4B44W@3r(!- 1)!$=@Z0#78wCD[0kB6T+%Q!tM+E0CQ2LK7 {CD7"a7lC[K6lNgcKhTOiJ}GBIpM]!IG95-(-]Y'v$(j"R-9'%H-6+]"|55v*;"q&#Z'"w#' .-!s #,/!8b!c}'t~#aM|qK#T%X(!U}!S?8'})?d."Q[b**o"\!!7Fk&?:L0Ņې64C& >'7& &L96f;.!PFFq ;6 KMg1.a+#r@9A\L+7I[(Q.Cs fb.]r8#\8(+p*<^//7;4(W53~/N`H7X2)\40"}+"&D$A"2S=2'^qu.C@cAA(]C3BH9:X#HPB7L,Qg?G^K~q?laEDFq:;r-/D29%A"@)g,,&*t 7#tIx9Q:]eQTBWiIdW5a3sC.!D_G^J9Kci{]*8 $RP#&+BM2 3)I3T ?W)2qUTd9BV?!#iF4)R8Q9H<R$%n9']Pvs#* )h{*`[ye?!2yL7aRAϯove[x \~%tZ69\UT(?W'')'$@ 5$S<&$>l&GG@bA`*|ZìrVD@)u]DNTOwS{CuH*qcF7HKX46T?'[ +f#0}cI=}ZJzpBCRo8pd9{(,ĺ4n,Zv(F+&GXynP|^8:9.)8 '$R$"adtsfPgVOOVSHLfz < ;[Uj1<+1ӈ?m9P?>5ArX2\H*=@j1<:?9BG6n^l8GoeZA[(Dj8en< j>6ud!v2]"3*^F!5'U?1/!7q?]7!,Od:2(<` {q78;F8)3+3+>)x*T*g?D7+03*>M)<*`*8?+U3*>u)P*o*4?T,E,,O*j-N+,+6-+N,e1RlLDv%D ("V"i<`zE3B(`++^2dC%fCE(~"o"4U-#J##(;$ H#Gp#GZtbM60<R4|~NeF_KH33[}/"%,1!!Z-t,2^|OddHH>1?&U $V@zFy`Q0|AJLH8g !!*_ #YSBH\]9@r 8y8vc=W)B4#A\"##p#v/W()kvG:FG=QG>4_aMna2D5zZ!S-#1',v'Qa%c- =m/7%6 6)yhJ66b!6keFyTI58se4mI5b97'T[ c~):!N=,& & %t (#`D&!&E{)6d4 9!#$(?>2?9PKG9F>k>VD<-T}TC3=:OCY``a  !)5-$_]t ((:U!9_Yk+a*J!8F@!mAOWeqCDT LbcA4Y35JD4HoGA0M=d-!CI7U@!j$630'4!- v*h0H7 C/,0R:D;3#N#).31"'p! J REVYN6<7j6<-ݳH)b=UF:I5EJGAM!cG+G!U*/W)G 0VF'"!8:$89#?K;8:9o8Z8#c\j3,3;2"xN}0<(78i($^aI,vSOKLN f'iB:;;<;: !T3h##.I&3 ^(o#+466GlIa)()0!b!5'#=s2)[3d;KKR)04! qn[]2TMhC100S1y+{d@*SM0/f;HoH>F@gkOk:8;F%XHu5\k&"++,,+[a|-&Q"$ 9j\^iL@;|T$!,7.%<)#F0wBSB(%& 'sHM9.G2k,J\/R, 29"?+LH&Z37-v?d1 2-21-4JZa?@@h=F> MpLOyB"c}`TdYL[P'vJ:K Ko{CVIXTW?YL_babb/%"@$"|G7$<"H2']%"+%$" ,.&$"q0$]"^9/_$"*$&$"g.ja>>VKDT6*{;;IOcXhe=Ar;i~LA*(+F1n/9XCS 3_[7&# y r~3Q nGAxV(b" 3+"!"*@9R|#-3,8$:`66Q 854 )N!(G!:1x/?(=3"p&;jE.w!?" (!$%.R3fA(3X*eP2Ubb>+ O~f^J21SUjAS6`1|1xFo VnJP*vR;{#&2i241nKOJ%xA$'IE8]G\:;K9FIJLN?@829/LgOHASmF͎k~byas\Km]F:DFOF*GFJJ$wE$4nho|;4?kBd&Hn!F]BhK`v]:`*o)/\IXTmJ;m_:pWA;GB1oHH=F?}L. -9?%/p4<ww')1wsWl~?b'N%P^ZF ~""& +iDAl'>Oo%m7KF') YgYh!p(F)y y=R/^$000@<3!S7Z3E5d66't3U3.ib8"h[ ;+,"'0s#02 1J"#0>213'hP:&%+4, !,4&"fE@fM =~E 8'bM&=&k"!"F'%'+',4mfKd5}%5 `<'!y-3(k/I5J.4-b4.)4RB$(<(l4T(8(3., E4.C"4.H2C0C 1[##! ! !\ !1!'!r!!o!F !(#M1#')#M>#19/@.gj\DfW-V{Bs.?>#QQnwm~iC!H8qvI C[>L@8;&,]-"* 7>4$f+7E`P5>2A  G@5~"" 0 3 a` ;Uc|85&8  1  4.@' T.)JjZ=k>h5>Wo;S>c2d;-ɐN/l30CV8:Wq-ZPAHP9!`V,l5I.3:N)_'`o1x"~AUN?C7_<88@m$QlKyLĶ#Bf;tjv(Nb&7rHZ2HOA#_z puhAV@c ~s?un9geyTw#V 8#Z!C b:9-/y!CZ+9-} 7,~C<q mL;I{vu3dS9QPF6@oCgUY|(b%"}v$,+1!v}((O y#|Eo,KC*MBLbrem`5L'.&1#z)FU$HF%"('+nehGaaHxZ|MP4"hz|ayy{:;]}_Go5zJSBޯ7qg_5HMv~UM+W S ''5 "v Wln5U<F*)%5h((  (` o&m6e%hI#T\" e_e0y#fb[9J=9c!&"f(CëK&l]t1>TGu8H7)VG~LH $t#?R"g+#. 6 Ca=I3*1e;s'h;t*BN4Z7D%0\dWrTBJ"f\M=dT,,DS 2vo2S)^)5NZ<0r-mNC0_T.M/'/6a'*@cZR"/$)43*>Bn*k8H=d#)B>:! :E4#"R; a5-'93#"p4D*(~i)#o*%)NJ2?%&bbT1%u~ +}i>i9;AW'Y9NjU[W"=X_|=[6/IfH#4N\(0CPs8RH* |#<u!%0G*!'/+3)7^^k<|B!co=vy /$S=:53Fze'26-~Lu+|^!]-[m$.NR/g)(()-)$[#(Q.2~;,cX/2u5,sX3|[e0$"2D#GY_O@Qs0W.;GN9"HFC;pAJIbO!!l"I!!}!k!k*+G<I+G$(Cjqjq"xMB5+7׈!((2"](*f#.L*o!(;lYs`=mJ<]X6hj !E+>yvMB_`$NPx8SHQ,DyJKLxLU 8D'3LD,*Dw?(2TK8(y'{E@Y* %%EvrJ[`j>PqF( -]!.[4& ;lXZZ[ORQQQNHWOHX@ZxUVPP[SPT~PPQYQ^Q|OMX}ݟGOLS7sKz]K- ^[}JKw^Y4lOXpkKtOiy],NZNNqR$NNNY;\KKm/QQdtt#C#'Njcq22$9#C 9G+jjG2q#0i`N$c&cx@@9N-M*\\(q%+Gj1%+2$iNjN2\':rj+G0Sc92#*޾Fll&I:##K)"&#"G1a2W$r %v%g  !1)!B<,TB)YqBB*$!%9(!$*!+AW ,Ii/@}97+`uSsN+T+;0{[9D>_4xZk+)JOJpxF6wN%#.n$G! 4%0%1r.00j07K6"!J_$ -M+ HA/EI4A/k{YI&"{V2uYDyj8%Ps.9@Co@!ez 6*N]OyH2mKUQRL+U84SOid)i`]8o`b1g|l)#!2A0$%9PL?/ #*D<'^)%)AnJ8Hmc|E\"$+&hr~YU3khcB0 yYMWi':3NM`at CdP_nXy OM|RWz0K5gVZ=aq80<,?Czq.t*&/1^qJ|hSqJJNh_ Gzp7qe+[ Ey|hjRgv:B*CSg.?|L{{N|-}5gTJ\|0QBcU"2LjP/0;X@Fg,M%`KBl_)/Ay/9#|2kavhpK[:9B[,Dm;6|8Z@RRe<pE+zS`IJ+YCt^wCۦLl9lEBkKNduu/noFAxa--->{zI+\8v.K?@i6:Tu56};aMZdsaIsze-`e%r)'Q ~*.:+":FNre-Y /#W|?D1>M!)13/;Y<D'+1~ -!Mbi[(LF!' 37.'4=@3#<#\?$"gUM1+jalPq*o+l#{l-Xe37w' 4/*w]NM{Ei!ki$iCRb$d7>wX8bF5 Z*;bb`dHiG8O[#[i7W?; ;w!+8-H!3#!T3 .i)$p!K D7P0RLGVGt_3 j1+ 0$[ &'"--,V!B)8h4 09r3#z*'p 1 `!`*QZ-8%?!8*j o-%e5Gsw"]t'&l8#~ 27a=:2,$"'o  a @ U_5<,Q.3?438@%:e*9yr(favLUL5nM-HP6<3>?0 /V8/3h2CS*KP Gc<|H+ C/8={,1Q=fUCf 7j2$;17;2[%8):&' 'GB:>C@bQO:[\n(3LX-J;NPN|56v#i9]S0$L7;>^G>GbWU0|0MA490x0x8@WfP30500I{J0040>0@0x00V0g00#0Q-C 0x0s0404k<0-IHF260<=":<_SO4VDM/,i<K?-2//0611G0ZC0.140y/08BmT==.=.=7=PP>oZ7=J=T>`?F=p=/<G~T 0TMZ==>=/==1He4JE:n5J08/5F53283S.;_$4&>Pi5T8S`@R.SVnfDc4.../?#<C\C0cC^7>D6͡AB9!P$U\cq"08N!(!g"qjc"&j!&x!!q(O!n\+'5'T,@Ujx!,1&.\x*]!s!#9\!c'+c()' &s%&%'')qjc"x&4&&!C&Q"3P&x7"d'!\N!#!1GqA5+N"9&$q""?&&xqUGUxcqcq&.*$k&;H]HOAHOZ49fd:40@:8)z39?:z434S:&99:2>S9639:43M9A58z 4d:33y883_3@86Q3O83{6:+Yf>-T0?(B?8k0F>>DfEڼ8*;;0B31lV]ZA]IfR_h6cGC+/b"6ĀWIr009/xN4W!A#,!cjcqxqc$2!$$ +###L+!";xj9!w\+!L#p$!R$*?2[p-twp5tctҔ2+++9$+$$+b?C~HA>+"G+"G,/$ P)RiPvZHTfcIDeUil^L71|c+d:xapptTvɸdeb]rZrZd ukh8ens2unS5^yvDq6"$N2hȖ++!\"9!#D$(#9+c!\$0?%$+#@#4ebSTw^6a_9>p`57&}mRx6 :!%:6 HRQqNY%]07:TH\mJ.^S*U  l>5e@7)I{GGGLHaHH9Hb70Gx|UXtPypGVIUxFNMSgN~-,'Npi87W;5B>5N;PS4Y,7V-8oA[GHjH\Gg͓ pOmKQNMPNKukK*6Xn1kf}s[,l06T/'7A!y'V":!I0o%!g!X!U2@5u%"A4 H,:+%d k!7: (-"XJw !!= 'C#/1v"+")64: V%{&%K%", !0V!'cK% %%(,=G2?1^&('"!P}?}yʍv 0 eWEEeB5 H N_mX/.9"..//]/X=qCY!@CixcH+7^ $xqHmcUM;d4`%Y &cU#"I2~G")GDiU!j-4q!%!%"I"Z:>@\7Jx9\?'k'{[<EI>3(~^/!_3)&$:1~9~ `[~+s$0"BH$/~ !w!&^qKE*I4P ;.d.U?67,i/c/wc2BiaG5P@93tE#HB%A(=R.Q'=P".",%Q6~,(C ^" g*\BE?ViD@ɯڈBMBBCB/BFFFM0D6r>?+GeCD*@ A@?S+i=@@=A+~8: $ew81w%aI!!TwOR,mp"UQU#pbw:#P 8OAZ^cbB<BBAA}A@Fm9` :N ]::,+,F3>s<33w]:EF01-&!H4+#%R?uLeDv5,oEdj`=?o>K>@o>hTIiE]GLc7Af;<=I5z/"-+K0NC`(") 7X>W9&0/)\&1?1(*lM?x*[TF!H?=7EO%'*! >*]G$g`56C#$e@H g=i3 ,}1iFQzY@Qs KGR8C4S<BB:]E1(  * %o!vb%G_z'<*;B(5#x !Z"DO7US)|n(Ocf*3VIL{ytgY({"[!#Y!:I6bM?b9$-o"2k^e\!bc2\"$E79-N+a(+ YXɿW v.d1U!-b@ M6g)8! ,CYN99a5CKX`TBPo*!F)!5(v!DeGa\=n>iWQKn^EWgy6W,mvCL$N-Z[?b^w:'2$1!8-++*<*':էH 1B_ gW -A([v6H:IuA=CfJElpNٌqq\pojLzm9mlp#pm/ w .5$1kB:>\RP?XUM_z'%H!b<EB.# tP/& !$S @"Q`η.|Q6$#+1 ';&+&bbF%HNz-S8,>'}+4sJIkPC43Eb%jZD> 4&A4"/.K60Cd{##c$&4+ G +2"+*%2'h#t$%%*q4d3,:2B E73X(.!%/ < M[)\G^$/EA1).j%3n2oI?+2L#6)338<=)WQ @*#m #O`>X4>;B`]tI-9f\.3:V&CM9/#/4R(%+r/'S"-(E+/.qXi 4C.AGE)EvD-6A26""('I"$0#`3A2@#C"I28"$?Je:KV:)#)50&).',2(RX0MI<4S?onIz+$++5%H4+.o$A1]zyb{$0v&1dQF*4 "R0A_ y2aS7'!'-J &]% &"(VT5(&Oi3j”-60\\+[ " >8"+>V3;.($,?bc\.3m?i=3zD1+9+F9g=;7CP1sH.!n!!J0o,"6"4"*&9#K*#72'CD Y8+Z+2+`(!<#?Ter>3Y92mRT,)Pv7c.+\C6O, %\1,"[*l\|$Z]os*9FUG!'4%G^fh*!%i$;C&]B7]•:>3*3!!!: %<X1(Q*=:=+=/e4, '$*'w!qV<)=*-!!'j'j_>(}*kMy @kx7U&H,zX8-<5c7$1@L9PAqT7J;fh,?YCb aBSz"H $S (+ m>8(i!  V()@]! k*%@k"0(0*$0^>k,WCbYM;4E!+%,^ '"&!OXBz 1LV6<3P:-/:-%!<%; %f*$-iDn-WV)A&1!^?hFe50"""#(}(74!%UqmEUm>LGICeY::du|65H_I-V`/H/Mm8m :R)QQTSu)Z\_7P6!!"0s -6'& Ʈf]J7$EN!N?z!"(&~'7Z'5qqGWUar/ @O2"#vb%%w5%L$APHL897Dl`-J,-q,1(6$)m=3R! FH7*.2,\/nJ&a?,,,//+,2&/2.534-y/a/D/t6D//I4f/M,3//3.b/.2$0)4H/0W/o%QA*/0/1p0.=0/*32r01(X0)/02M0)/2!0b; 4V2u20p/0^D6k210,0011;-10BHM2 5-&"0%4-~2x--w:-500- 0EO75-E_;16M2CG;@@_>2V100--~2%3]-_7,11-FxJ:0l7."-L,<0- +@++g*+*5*.1n2Zz,- +?*+, ,E(!1+]++*d/*+,j,g&,g +&,B+,g/_2%!+?+?!.,++!!*.Qg*+*$.)*+?2*+d!8+d+KcI?;+YxROos0Pm6PT,XV{_4!#IC!*&$$0>"&nT" &0-/>~7XwlK@'hXt5@NTD3P_X;@!!^ 'I Ji#c8#R+'&"GQ2:0;a=>>+,.,j"&QI/AdI*/"i-34%?@ J8w4\"G+(!t%+'5>]C8# =V42C,23>I8CvZV'*TB@9D_@S @(2@+\+"%B#]*0,o+'0(`!+F'2J"z|!P?R"JOl95 O"F51:YCBE2c4IxOx@PKu;P]dR9@JiUsPI9`(@"sa;@6!"+&$$jg%?Rk L|$!qU**qr! .(!g)wE@n!M<!Mk 9uD9B2-EH;R)t@"?-"<__fX*0&r"!@G"-?&)y=MYB5m/",Ui" $*m)50/6,:U<#3 17244-66).1,((.495 ?!E!7"s1 _Xf "Q98[%ikhfa|2DwO>6txc_ 7Q\Q2QQQ7QXc#6u6u.T' &&&fGHy!')\&f&M''a'&f&&&f&f&"8.8>xW~1qa0R'-TLQIIi!x31=K(7_"'\ 0"K(DR"UV-z/91n1+*3 +X/!k4/##b1{? )$ | ; |&1>]:)KdBD7D7 U$ %! )R!&#!"- ]$SbC2"0eH2?7?s$b-9i3brCL"U/*9@[+X}m*-75+ ?*F =(%( &*($N(3& "}""k&" ?!$eIB\;U^Ap>AFWXEe#:!A$%#Xv.&-"yS/4D8p=5y655AO062?;t6n=3e/E.{B/d,;b|,h58G(972r>eP9~9g0!F#4Z[RQ}`Vd&l%&&!8 %cHze4fLP$6RTT#+"*K(*+="%EjA T$C%JR@OO|M1$\'>"^!vJ: @g$-E-M}p:ʚhvT"6')6Gx2+0u)+6y267V23I7.;C@@E7r<,43u'X6WC-9( '>2&0@CE=7DJ3I;:@6P61\146C2c22>v6G6S2 1j1;7431VE"|.##{!"-#:."#B#L">4@#N""y+)yy"*"&)""+""")LCA1^9AtO=C99L8 ,j/Sj@<m#JgTE5@C'#7$;-I)?(#2|0-Q|'b2# "C7x.?RSSxD5UHTGHG2Q-a[?QOj<zM+%2+\$CUNV[`>xgh^Hj[EwTb'}$&C.+Q+*5]^;[99u[0@<Qc'&&"-LC,7L.6 @7S,eS7@a&CO3c.f22{)L0115+3",%(G  ' i5)&Y|VSYP_sdo3R/RSMQa_|YdSST DWXA]]VReZ\XsSftR+Sul ^mT p+]t;SjX[ 6< .'" { 1       '   %N'   )!   S@"*(BH9,  (Q*!#f&PA3+=N5"Z+]&!t 0c^@2 J9v"Eu{='3WX a xN 7G/}AAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAAAAA큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAA큤A큤A큤AAAAA큤A큤AAA큤A큤AAAA큤A큤AAA큤A큤AAAAA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AAAA큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AAAAAA큤A큤AAAAA큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤AAAA큤A큤AAA큤A큤AAAA큤A큤AA큤A큤AAA큤A큤A큤AAAAA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AAAA큤A큤AAA큤A큤A큤AAAAAA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤AAAAA큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤A큤A큤A큤AA큤fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff228c1823fe58ab11d0b76ccb97637f2e885bdb7d1de87e53e623c6f83c934b62dd62ad3f8b23ba885aaf6e35fa5a5c63dc76cc8d980cae2d9f34709d095216394a26a007b965239ce7ca9e8c0b5cf7cb7b3bac94ad75b715c317a3a7889ca5dd0fc630507dc397754f9e1c8b71bf7a5f8f3e6de320bd85a142cd5ded72b4795cb78be2f2700787d92948e1e874bf95abed42c7cc71aab1edb48a66e9e2b6ca1842a7147edf5549f01f7c557402e0bf7f834471bb231fd37f85ef18034157bb82e099acaba4bede57cf586d6d50c3d083eeff96d48c832d7c5b255268d0ce435688c36302152bf2f0985bb26e034fbdfda09b269f6a660eb06bc1ea54d4fff5344033be865d29a7d293728d6fcf7c4106442a62ef2858dacdaaa34685efbbf2a72c23437786463ed1de529bb68e0f5f74c4371c974fbd310bc3c58ef4cd669f82e7ec62ff36c4e1302e517970117d7183faca0be53579f7347216a858debf39491e6e9047abe8216198e86e6db40ae9f6e923ff88ff9567c269393a9428d5c2313a0369d9d8e3b1a92dfaa0f83c2ef6302fe90ec2126db9c4cc10947dc378430eca3b960d4b6149b11b2713d144d0c28264ab1776bb0f5fbb394a5ecbcc757cd171569e7915b0100477091244aba593dace6618e1661a89a2d0f88ff2858559f97fc128ecb319c75ce6a47f75187412c2c3738c170214425187884965b59b3a50423f684780503c732ff9e07ab7186654c9fd2bb7f9a50ccfd544cfa5dae788c801ef4c62f26ab3411ecb6e79e435ffeaf21fc84793dfa8f892b5ea28b252338245afa0a2405ed98466e6037ab0ffe18de43eb1aa74f9ca177b4dfca2f8233e1d00ee0d4a68b9c0e2f377f20979451b144de9beced0aabcaecd477f1a5a8cad2567e08d1f9343d61959702d862fd5fa047c0b89ef07706116e0c0a3dda05a1da6ac9848084f485cb41ba2f9e4db947da038719d3c5b67d0e3360464afc8a385a9596edc83f39f58c01fe7869fd7899b36615ff3cd992c2df4cb1369c0c36ca5b544e41dc58eee2ffc0f3b9721a0fa9b8eb5a4bcc0520d3d7edb7fa411167157f00537b5535c2ede12bd2cceffd11917a78749bd9552df7d1cfb0acb661f0fbf53ab49abf934bf81718c452c02c4dc9b00db65d41e18f65b66dfbf0b9f1ebedcf317b8d08d8c328cac8bf5ce39b8f9c1a40808a65c9c4777fb62ccc9d2a9681a4ee24c203dc1ef7f6f12ce62fbca5236c23a909d51b3af202104562deca01b690a64af1473d135e958adf2e1c9b65495151fc02de15181f5fcfda5dc85883de6662ea2eaab63e0084852eb69c6cba4b8e77359885e093fa2d6950d62e1e4b12d38739dcaec6b8926fd8d20b6c19039339fa5d724d36936f4085f4ac5982652d27382d96366b21033954e546c67e5bd54b7d449eddc0d37eb6ecdd9b14b3ec4d1651dc865c40f7c63c24ea55f0771ecc5ee4cd4de8536371746e14d491500c20e787dd42b26ce7a419fe2f5685f4dde4ce1e04b71fa041f728e7bd3782faa0e090bbce8e462c900be4c47030df7c038ac50202fb6c17c138be1a84af2caeb126084a7ca30075f7ae816b0f6726702714b7848e888cdc680c52fd9e3f37997709f13e50a8146b6daed48e9b1ff05d0793f0e39e71b1a8ee917bb75ba1a048c7617e3681217f76ae150875508cb27a9425003d009611191f2ef306e01498353555d0ae8b480282d00d81bcc00b7e86ab93f8659629ad78135d4a2d7c495939f4636d2c57253e737c137e1a416bbaaaf9ca80c48ae20262d60bfe6dae5ed3985f5b31cf200dc7beb25ee7fb1d492d34745db2048b84422ad3eb229e3e6d41a03b3c12d5b5e1f34aeabb433b8012befadce23db4198d74f774e710d20fbeff690dbbe4beb06593c269db7b1494d75aadc337833c990bb4bcc29c767a285206df770f67213172d71421ceec6fdd3be48dd8503e84ea360f543623a3c306e4b43cf0164d5f871105a8ca99601074a282ca8486722d1095095573d014feaa9059d8625496482074c28094653b5b4a217f2c1af37935322872c328268b22bcc64cfa5d5a7d2743d55f847aca719c60381fa8d9b6d9771630a4c12b17c6d361a4d1d068e489f54b45d603e5e797fb7cfe6ccce6e47a718f98866fea568ed5f143bca7e95196890dfafd1d4bff118a0239e7f61f6388999b7a1a9ea8ba6aefb46e927b1f652ce6135d2721ea18ecf261525821345324bd9a4e851516e674db5f0cc40f4f26ad3ee5e18fe371240a3aa0911512acfb29a6b9197be44d5792823d8d5c3be15dd26862f60de69116994950a7467ecd3ae95537b3f7d87521a51cb894e640a886401d26c766ae3045baf2434cf771da8f973907e501990d49319bb2f4b5e0e958012fc46d10a2e60969151e070d842fbc4e79bac0bb7869e59c2f588331c4ba20b32c99117a7aa3862ca99a8bad3be39b3f540cd40484e05029983e5541acfd1e7754f505141fa94a6c9762ce6b7a69089e904f365d04975935d2775014b76a0765f31d5003942b3a7de1c2af98798c3d1c50602db5da07b8def81164f769c740cc9b205faa5c88a35b9325a2685ffb51722b0bfea4fb06ebd6c5c3853e159cd4129497306f9cbdb6525e205d9e2fcf7590bcae9801fed1be6c3dd4d16e9cfb9fdb04a011ff165b912a1328ea021c4a16345e502012f1a45dc9b41f43fdb1cd49f58018bf29c884b90db59f80fb01250da9284373e0040da9f5da89972cfcd73efafa8ca2e748b946e7dc283161a7f9e9e125c96871b176d78de0819140d0dd214aa863c4ce8af3b8b37ea761b38c6613662b8270cfc1315134fb4481bd5bd6f81ca63178641bfbc5c383eed2ece318c08db1db3cd281e49a8f6e523be28e23711a9188bf5d11d41d99c7d670ba51895985310e5167a30ea3713903e4d3f2c4a916290afa280ba0180b4ba1ae3285862aa4be12ebc6c33be0e68bf3d21266dd79e0557931260bb2e8190d43f44a9bc1ae50b494cd32c21c4f68145636486c5c9e6a78b1a658955a52986ca589d9ef1b167f2d35ee78ecf37818ee63995db23c4214037e4baf2b39f9f3edd831a669acb1f4913f0e4750cb663240b5ab6f9d976aa1f18803c410b243a5df02ca7a7300d01e809cfe0d5e3b3f3a6aab222cdaf0e32b164141d5936a14abbf27791fb38a0089f85349205e61091fa4a1f90d2cc9c04f4834ce10f1a18587df42715b17c5d2bc672afa11ef91a9b48f364c363195eb8fce5fb6a702e17b1c4490512c4ecd931a5c0c5537bb428a9e4f83c4c7c879bf7f11d5620d4477a36bca870ebc02167441e4557cb243ec0ffc65e61620f51696958ede8657f129af5e40cf8ad2434924fb4c09cae69e439f45b1715bac4bcab0cf7f9f2f5e49526ff298abbcd1bbcc8de0ad7f9ecea297abcf88ec3e157b3bb508794261fefbce6dff2fd7d09456c613b0974d28ca3f03c47e208af982f417e3ef5c5b08c643b677a47210b15ca1fdea57904f94ccbdb5974574426ae641c05ca5c5b1ea8353786ee9a2dd09178255c9285738c2902486e6192c96fb342b2f29d024b7a3bccaa7333850da7ca3187f1098e687bd79d43cbc6b3352e469d0e553500f86d5302d05b29b85451197a298e54a7350085b1b9572b018f50106783efcb1c93128f9f1a8f8aca79335a874b2f743ba468116993d9c963187002b78b7c1954fe64b7764ea8e0fc44ad3226ac4cbb09efa14d81757d01ff80413ee759285dfe6d7cfb5c848243a88863167245a91cc050e8c8069146fa4487d7ce9ed1a3621261aba9ac88b598468d008d5f26070123bdbe64f2549e4b48b32cf92b0bb01af3e17b708dc734967438c983872947fe1d9eb4fa0e51de31be2faaf7dad72c8d11a566025798b5095045e3b5bdb2f0abb4182a9b41b2501d3cee10628d4c6411990aeaf0d2d0009a52b4e1b8cda95a258c4072b18a6605ac5cbcf08be24b5b97fa5147e84a2f7f42fb988eae5a9cc98a8271882bf060e61bcd6aacda316e28f739beb8d76b71e30ad16e58d351a02182c6e79b5a7b0b8c93de2eee7e04d98ac32d6ab73a19b044ae19b258907f1b443155767a6024f3ea7dbe3f3b089251edf4ffbdc3842b52583317c40f82377e581a7727f5758c93fb1722b4326870e8cfadfcb5e999849f67990c28094151733314832dc2a617fc0171515668ea9a5dd078bab7c9df299cfbdd764143240b700ca43faf3005851ebea9cccc2dc7016f75b2a310aff402d962c046897ecc9ef4aa867c0cad70877d2ad9789b2ab2cae4f5385936ac5a75ed9bdf94a3a2fda05faafeed3e7c6f4f44fc1b92edb49dc67ea5c42f9bad3dcd0f26c2fc0ecc6a08d54f7ab4f0fe8733a55d8714ce0cc7e2218b560be6d3a81801e26458d5e44cf47ece6424be3ce25e03523ebd4294778c545298ce53aab65c0b50ca01298d3f5d9a91843f8a0b1b52b68ca1c10aa8a9108cd73d4a411bb8108e062fe087fa364ed81b2a3aa3f6267d816014c57c3710cb70d8a07a361708e06c7324cda94ddc60518522c2863db53e6c2a47ce7cd0c71b556b88c36c2b614a258ad6cf1ae6bccb81ee256221c8652abea1f156f84234b0fa186287d05f623d6facbbddd96cea299a87a67763ce4225a5bc8bbaf26ea0de68c31fce234941e95da13b5c8c5dca6cb8918d948ca1a19e8850b9a7979669df185f219c74f437e4b5f88e3187e926ecb4aa89c501d82dcffef161af85f8ca5b58e8757f190321dc7fca456bd4340545b7ee00931b2e69e24881c14f961e686e1a4a314d556bdf6642b94cf6c9ef6126fb4b4e9be4c47e2463c31027baa1f4abd08e2cb523ff2edd9312054e8b2d41f7312e30304447bd42f9d321d65d895f56720d3e57f5230bb347aa17aab533e4bd320e4c5af0c2ddc91f5ee395e91a5da196b6e35542881d2f2f7d0620c0216ecccebfe96f6885a9e5873e99ee336f0d0e2c1dd6986e14c6938ebf02b8211052ca947beac556e5f0d430ef8c9e0cdf9fe4eafdd24cddc1d080f8e438205d2dbcfd79dd8092984ff0b8114077cc6da3bfa39e746e4be7110e496cf3abe63856cb4836f3f5fce7b8b514114cbec3ad04c0bf16eb33fa86c40ceff04746f2a95fd66f5d0593ff384f153809714528748984f8c834f7c48b61952e2754f5669756a29735a0969d786e62a21da8accb189b02974c32b5445ea9f05d3b7577970fb24f4c8f6193bf7b6c365fc2e05eb5114baed05984fff785457fd7ab4acdf0c010f2a433929dc2cd3ce73688dfb641c03a66395af6118ea875f6a6e0cd798839dca3df790a8f4f66e90547142eebdefe6361af6c3e4fe102d1a1cdee09d3b04bedea5e80accca04705746ae657e727460e63c7ccb324842db21f5af722dfc286bf8c891aa412b6e4008c92d7ca54087a24c26df0358d8a1f0ddedbc25b68c114d8ea99eaa74aa08804314ce4465016bebf640ca33f25f9561ce0ea4254734b7228905d642a7b63601ee5d1c6c0138474720af1f4bbedffe2f8fd9028c9c6e340baddaa6da6894510578ac3d851880e9f08e57202b92a9876c6a1e7ab089d52830192073a11d4b0a7953af7a00754ae158ca82bb553d30a0cb0c55bf301acd7c62c312105c32cac5eee84c2ab945e4999c3743e90b49156565c5f8d80b42adc18cca070a9f408bf980752310ba64aad6695f8da92d12543230fd3c0c2ced2d07e39b11f50a83f19c436228b3f5a55959d6a4369d7f3ee0537801171e4c792383bcfa52784a31d7bcb0ae85fe1f4161e72ec3a50ac0a0b08006f61e719935843dd2eef521a786cb763ccbf95550835cd0ae7c246169586f557ceb7d84b29f3e839ce6f999eb2a8f7d58c3de0fd380f2bfcc98c17608a0fb486bc7ccde95885c247318d9ae311cebd80bb17de2a914f96ef4f7cfe2d3ce500c84f8bdcd600210ddad2c1529dd3f0ede5097b4afc64302a3e4c9155f4ade65f9a3a0202d5e96dbc5dfb5b2805f75c85e729e0b640849711f45939204119344df90384249112b8c892577cc3df16832e7b3ae7e4a95c7370fa9277fdb7f96dcdb32e800d74682fb0a43f4004b63125244e11d6731be708da5e494d5bc2ff9d77e0532678ebe3638f3bdd791a8253dc85856bd19a54fd1638652939535f08208e0a82184cdb0d2b1896c8f138d208c8acecf31f4111d10ae33b2b5a990cb19bc197f665c5454f39b802e739980eb5ca33df3940a4b467fec019244dd20f018608e90cf15e70622688d3f56d9dd0bef76f3acac8c350004c04b3a292a2dbe4effc7a7b3aa03fa1dd19f632fc9faddf4a1b975028fb8c9c2c102fad949b8bc28176516c10940cce15e8b9ce6da0f3f1890981e4ede16c9dd69311cbd4c3528b19615200534a83c40759638537b3ec1c2e4732a2fa12f2cae771a91a509fec91b24fd09e064d87fc2b1be775e431f4d06eba60c876a3699f96c12f29cb2ace3cd214c88e509ca490468849b17626c487e3e8bee3cf5ea99a7e7b541b3c439ded37677d2aaef3ebc5e477c45ee5b5768e1faa7f22b7dd35cdf329aae9178a8b9c9c3744a0008f8823ee9caa1deb00d23ec67d05fba7a7457075b9408e647883fd8761b19db520e2c03dacbc024addbec7253224b60d9437b236001acad89a9babe261e8295fd9795dccece3b852dd7f29675a1c9898006d5fca91426323a85eee2e22f797730ae2b263711d3c03653ac7da19d08c7d54405e98c7c00c45efea6430c1df99a851d035a00259ebc6e65e3fd5c57c707776a481b15abc5165cb2a3368d97cf2ca4864d7745ff4b58e5238087d4fcb1a9e7b97df035fdbee1e0924f9dd4ee043e45e49368e14b32ee885d8abfc6c3b93f2c9e2d8bf8db029615d82ce6f04d84a8f99a2a894a720a1a0e9245dfcdaf495e1c8679a4725e3778e2d6f8a863f6cc6b91adb62ad981211019701e3af19957ababcb0a2a7bca9a4ef6c483680d56c90f847fb642373f251c170ce3733ba2b856bd047207839b787518317b138c930511e85cce4c33222fa078599d1c2c8ac465bc7d9c0c7334651a6507637991c875a6596c252509a4e97755b5724e7bb78b46c33a48a8591e6cd689cfa27264e79b425f3ed5e95d2bfe9634508d51c5a82c4b6531c560526db8299186a428bb8d7c19d00bf8b0f0419f4fd76374278222e9026922f51d35b7d8a9805e2bffadcbdf794abbfbeaee2abbaabeeca6ce552bd81cbffbef0ea47d37cdbb0701023258471e18cf20ffc9bd6e83537176418dd45bfbfa442385064cd7880675a7c618983b9a5ffbf03428ac47f179af16f3a0b70517bb7f05c6fec2c74d3f9db03e55a42cb10ee715ee484e3e3159c60c8916b009bcbcbe8cac66ed81a8bae38ab1865b166c2ebaec6e345e2871eb698737040246b57b1747a746ee282b72a663d0c6e8338b01d9b6eacc504357508ce6763bc0b276c6449aa227248f215de8c6e253d54ec85ca9e4b83d93f3ea799e4cc7df48f6f2e4273658f2ae4e9c2b2a671a961ff3c965d35cc1967f57353cbff060c3c529284c309ea4cc3da289388618459feb2530e61bff6cb192b3814d85b3058db635a2d6fb6bf2c6c5da92417ad262476b3645e2eab481f20e6655a5869b1b623d0372d9e1bdc0db60f00f0b5132773a12c00acbd147710fa4bd9be7e1d9fb68ff13e42ce4e79ee7d774470437064c9c5f990f5d4934281f5aa54a94c9392fdf93527ede0929f5219ecce2214961c020406019055daacd1894d0658e780173bdf7fa3113a739e077d5e4a84b05626b44107b0e5944736cfe07217cf0f0645128233e3575ee3ad48f36b322fa7ccfd025f40eadfb721e8a9df22bc632bcc87725c00daa680f0a9533b5ebafe6c371111fe82956fab23e9d8cce5d5e7b5c276430441e2a4b3c7001f468bbf2cae560447a90f4ff92f7d48be1ccb0780a2bd3259e628c80f98d928885380c1b7da6917fe4ee87da21f1519b99c3a1db617c938dc488e547a56bb95ab740865003ee46c34aebe37901d695efca83307f7e622e0de97b92b40b73b299c9240b027b5377466a5e629843cbd183b1a9cd4a7413e89709b12ddec79693beb6f37c42b0ecf145e347eb43211035fd3f2d4950404be07428a0999e95ac4be233ddfe7cc0819f9504b7550af6a1ef6becdf21f51888d2d94bbde51ed1ca8bd4c82784a500856e1eacddd09ea6bc88d3c92182cb4c05e7b55e8ff6b561eb11768158d381163708a8c7f7ae70f3a68417da6fb1df57abe5d5a1d8d41289f5790af2091aea09c9c3d83b60e17bc85aa859dcda32e67c7d083db29f76cd38d106f465c2e6527aae20b4c8810228ba24fa2b4cf3372c2b00ff6d95d6e3e7816aea50dfd05d0df56dd4a40d4d5f909e2226fd83a8822a9bf642d1c5f7dd594f07e641009e8e4ea41b7b02ed4a67f57c9a83dbf64a018b8bf4ef7b2135660703ed3605dcf14530aa45942e917b0a968610c276fd50cc83278f3b88cc1339a1bf862a8cda2cf506c140d4974826e413b19cf42895f7fa0539337808a5c85f0ad47eb34d0aaa06fc48ccfd8496b8e4b27c11464e563ff09d18e329e64ac7a03278b59f2944ccf3620b96f533521395fdbba833c03c4ee4aca0ff42eeff6e98c6735c0a035df91436e9092aad880d21e2af5c26c86437cee3324e825235d007285b7a091bc2cdc61abd111c5c96c1563a1790dfc1949fb8bea094e0be5e1dbc8bcae7feb6b75c8d1b137edc62a48ae77604ac489bb3228a308fe9dce0186fe872006952246fe0c4014bdf2a155c72fe21cacffff91a5472ce143e49ac8ca82eaa711f711845b19f9c4600b6fcb0758a80edb9c68c56f4bf4032bc493110509969ce35cacb5ed47a12d4b60855989e28b9ced4e8ff2d2cac20b8c33f00e018fbd3565d10cb5e839145f869b52f3dbfa36ac81d59f8d8a291e53f4cc7869399e8f295f919ed8cb24acc7a49bc3319929e8130a996c2210d4b994b6e1ef54b1c1229dac448074965cf361beb4f84c99889b396a17ab70616b06e3df169b89cd70d969bcf79bbd525f93f8e0e497ed2d739d306871c8b7c1db0c298120746309f5e19db9cb3e6f1d8f3ecc54798dd4300d3ec972c79b1b981003ab63965bedebdf2f4be2fb803f0bd51e4aafc31e601129660fd57ecf39f7554fb2938458acaf1ac812d8acdd7da29389c69e32dc45a12d1e27943662ab3501268234dc6bebb53361ab237e974e8f59434ab4af40a3fcbeba3e2b66c9bf3d489c23bf617aa54c8892a3a2ede941a31747f4034fb50fd238ea96bb147cf4d80fcedfc3f24cd063a0bed238a1c5ba1de64c09f98161a6e376986a16adaddcc5331b769b5f1a0831c17ddbfe2a674b718f8b56389fded6ed84fd1c393927e4a7dc4785eeb5fbd132eae77a343c2e93b86d2a841fc31e8d4443fa98175764d483a3f028c66f61e52eb7ff68124b78fa4c125cb793f25cfca4ef993148559fec839b7e3cca7dc97fde266b1dbde5286d532dd434ab2ffaff6739112e6739555229a58bcd5c6b8c4e59fd29fd5eb3bad07b2d727860c45c1bebef7ebc860161c84f6143eb3a17df26d62f4cc0479112a22f40dafba596a2bb0a4edd5f373e429b855f74cb5279ef418a69cfd758f37da65bacee7b760b12c4cab95be579e954c0dfda550654de682125f63120dce57604544a8d956bf97e35e76951da89d49633e9ef403a5da935b1867cb1db856b9be28fb1c316aa84dd0795f6423ad5e1909cf20e2de7dcdf1c6ba8c4cb3c6f4ceb0feffdb1746b465a669bf6015754da047deee51549e8fbcd978eb270abd3f06c89a96cea4f10c138aff327665c40932c2794363263244cdac04ff8a69cad685cad6bbf5984a6d516b61b8a1df99dcc24e1888c8a5bd59b08a4d36d9cf1017068fcbb423e5c65202290d2170f02ec10df44c01a08f9e06810127556c6e3c2e765efa3afef5e53412f34e4e2c1a7d7fa982b5bcc89ce188f415d8761a4c8cffe705fd406e98d6e366a0c603eed2db3b09cd95122354495f09ba175dc9e45da2c8528f30bb84d5d5612bd519065e49789bb37e120d96a88c6498b877fca986f24225fca2638b89673d304c3fb740ff57e7434de3857cbe07ae65bdeacffb5007c25c6ee5398a7dbac3c48b868a9cf52ad60f4b4e42a3e5428a780eb77be21bca87c70bbc1ac1523799dbf9f774cbac6f371753f963c0804fd6af32ba5c61a6eecf5f68b553d616a0d7d40d6413dc4a3de0644aa86ad52df8020ad3996c1fa4cdda413f60557d786c2dff515a49a85a86734f6579f341c2f1415cd6f48dac5dddbfb3a4656b867b0ddd4844a7a3b3f0cc811726b36ec2b35dcd120e94cca3a37d098dd63f2b08f0a7be3731eb603916b9f3d9b62ba4ad569377a92c2da0c9e6a4f7c7f6a1ae9b1b25145ed2ebabd798a65457bfc4dca312a81c5d0a66115627a22f2997cce595202de90228ed3fc872e4e0c9eb6091e6799ad32f24792a213d0f4227145604caa86353cd1846394bccb55d71b930a7e5594b0c15ce3eb5c39668ef9b7476f9c8ff86cdc8e5cd72e9396ef18fff5a8dff92da4667196a6106694ab22f9029c55f6c3254299ea87517ea79d8a21d3bf69b59ff4f36f5e8607f32d1651cadcc302bf318927a21c24fedba1404098197b5b5ee832b892e3ea5692d68c9f0769e0881328aae829b06c2711cc83778b1ede56746e9a67a71b31a9e87397e248e1695c07b7d8376241056737371fe2baaaa39cfe90c560986519259707145baff20715e44a8167916dd1a1ca55f7dcc1645c11f1e34f6a1343fcbf5645cb15a6b104f88e1c66aecc095762f9003b49686ddb35898c94440c6cf482adf5c77112e60ee127396d966f86a07931e10bdb2700af918f837157657dd46cfaff0222b8cd0503b860320196a35b035c5903a27a89877e4f3775af9d126f926f378d195b77405587c596f6af04e56f2d9c9e96143885936bdda4aa6aa404e34c92a7f383a60b59f57d69d20a4c877d34e1a043ed75f1127fd60e3decbc49d4ce8dc2b4bb3e714f6bbf92721615532ad24eaf34543eec0af828e1825527302627804d554102d1e647cbbeb2e71defdfdaf5f6a2ea49db03c16b86cd67e906623fbd38e2e724ca8b1b487f314b35e84e2c8099d7c5fedcbc93da98a9876173b1c0a477888deaf682c889570fe85dd46148b4ae39113c38d8065d54fa92ec5a5a7e7fb574ef77d9b496cad4eb983a75d8ea307917923701e2c8d581fabe6cfe04d2e140b21d4abda2d48dfb922a2891bee2a22e4bf7fa715621ffd159160a808e83febe3a3e1f735ee5b61ad550a87561def050709879f4153bb320c13092314f31bffbd5f17bd93640b28888a6be30358bfaf514fd31a12501983aef7bb5e3fb31b15039659f009f78fe163afa3a25bc0fffc4af90fba63f65280f031c404776ba71de90d4203ddb1c36069216dcb14f7f21ef0f809a7ae016e9a92d6dcac75147a2f6c40e0522500207bbf8bfd9d0ed6f9961f3152f557d2fb4421ddabbade67cfdc21a3185004f036b5064a7c714b633dc11ebce50a32a97f349985413d98dbd8d448a49bd1cff6d936d876154a0200fdf27213dee768eab6cee08470fa0705a240a9c9b22cbe6f2346cce56c0c185df22e5a082ffd53bf6e7a29ee0c298848d7da45e609db0e637cecac1c639d16da16177cbdde1828de2bc5cf5c4dae18a27f53f546ea3c879a11d3145e5caa596c1fe26fec45268890f4b8f615d7abb6d25544390f6f9bd8e705e57098f62409e46f248c89e6f1e18a11cc4269bd80511d1708efa420d62d448bd01488e886cb6a9189a41898c7b8de8e10d580a4e756935416804f9cf56536351ab23ed4654a5c8cc752d4e76fdc55a34a08b6698a995e4e057a8493cd4328b1877e6772c879f1b9db554b67e2654aab96dc1059ca9c4f28368d36ae4c99764b3234eac636819cb99dced7c55dd1bc69b8636f20d84e746d2a31b381b157e561baa3b6e506328d02378924a198f3a33c7d14ad309b01f79d18a0e14fb9cce4b90195c02db20647c83721fd1921fa46aa12e98f9b423f9a4877149059753fcf33f7e9edb72ae3aed070534477c54dbf68a1eed3319b759dca61a2a1ed0a9e83c174d8a2c9bcc0569b892aa08aedb74c344c3d0014212c52511d2abfb23b763a32f832a02a2cddc2528f2dc55a1b7cbd77098bc60826be703e1c5b7432a3f868bf4999e0dfa03581e34ea1cd8799045a4e9659ae9f88b643bdb435079d90560996485c4807ce902ea1ed40add196d3a006710c0d784e5910dbc3c182ef4503fc88a4742209144077f7d1915c8ced1fd9845be2c4a9bc2a5cc4d7aa1f03120e7a007f2d1ce0b164c80803a1e325b7dc38ad221bb238492cf8239c1ac3dce5af39a49c840baa9660562b17872e3edcbbeac1925bd74dbca29140646190f12e3c97640b39b8b19174015fca8d01b12519bb4911cd98c6ba8a2f3820e3afee835ff5efd86e6e594e2f1ccd86cac31c196826122fb8cb81560cd598c2bdbe91be7d1ade6fa61e0945465a8b165e6200bc537787f64a0ff799f3cacc068d032ff7cf8e055294a66dbaf41af14ea30c3223088b1227d1b5c707c7d84044c5d2ad6c230f3d08db20f7da66e0ffb68d01c16256d0b98b75c96f947c65f7826366fd4c54a54fda7a993c8498ddf29e9d1ee7cd5ee79eb80740302f35f109ec07e6c97273ca74758d547dc41bd2c75153fe1cd13bfd099148e5805988491472bda087046a1473ace813aa3b3f31cfd71bcc0048dcea72ddce81078fb81a511853917b35bf882e85243b320cb4ffa8953a96fcc2c60ec0e13d65f8cebc39f08566280562f8b3df714febe9c15c84f20715afdfd4b8e95105020ac760687f18181db548ad51f859f686a8bac7e093c751725a8816982d8e8021d1d2bdca2fb77b69549b0c418e11bf26336e34e237fa6176992694abb8c46f6c4e0c38cbdf80cfc5c1ba2bfc682182a5f5070d95822ae1d451469fa5f4374c9bbd29c5bd2058a483603d75f0175b1d3f0eebcb1aa9aa634b31ccd83e0072c428c7cbceea36ebe7888d5e773687917d4396d7cd58a34ef46950db898fb825c9719e02eeec15e45526f76ebd9649fd605bd8bd9a0bb01be2ad69af34492bc491fcbb49490acafb4c4f4eb76c99cf521a981e29b831b5f7ba86e9fc5d4f76085021ccd99f32a81cb47bb2ef194b43b73bc3bdbf126b7410d85c43f356d9d9978f19b2812474977d1b2c9994876ef7ddad948c49822ed8d29b1e9be04ee8d275c935f642c19d5ad284c65bb010294099305eb6b7b32b29e9d7c876e5388ab9bfbb055ff2806212abe55cd600a93ec10425ce2eb42f94f22551f3820221207096af8381e91a7b6919046bbcc42e0a4f83434013371053d6704ffb3f4ac609f918c7c123e9273dbca5bec9632f8aea95eb28870d5c61d5c4a292278fb25ce86fc6419cb68ad9ee24e059a14c7d1b7157ef4bdb6c104ea065486b57f8ebe7452ca49a1252355ffd94b7707b07a5c8c558dc33804eff67174b07c1cb646254a940c6fda1408c7b074c9e8a626a903e887be99734d8c7b13867d7f9cbaea1f2c31484f30f4f7043ef6e07ea3f54df7e3bae0d3e79ac3b64bc896c80563b9cf4ebf372e2e4455737465ea9cb3c7f678ac44e90a365992d10521fcfd925fe5a4ad7534bb4bd076548bd0d21b8ee49b2a04d8ec6054ca3ae5f997fac792119569d062b7dbada6680cfcd14d482e53f58d17a6ec2fc01e9055c45e5789b08316f8222cefb348b9d794ef7fe094b7ee190997d5dffd3353f3ee33e33175a911cb2649752d1d48d0774b53841c17f6aa144392d663312a66160b985031415f970476178897a28f185c8b3f8625186ae208288a26ee1c4d011d02dc65445b5a6077257e778c96d41029e6719ba7f7c05a967eeeb60b49b0b7b5c3fc7149069cb250bc4e590ed16b59990ea42d8908c066a9829144efd048fa0305ac4f7061ba6d1825ff0b8ce183afd2a2ed896e08dd40558e183816f263fb168dca3245fafe46be8835243882e0ea1bfd2da1927acf990fdcb1d2cf515e9ab5cdc68aadb4413e19c1a30532bd5a04edf1632dad4ce7313ea7c4759c5eb666c57f6dfc787e8e26e0bf2868a416e494134ca76915f7845ba7dbd6e075f406ccff970316ffff067e1ba2548e7618c89ede695711a790fd268e57cb62c7de499bcc650b6e5fc819bde1439641efea664a6e3df39dcee2375dfec47762b8d4dc1792aade819bbd67bfba263d18d82b84a7635890b13ea60371b80090cc881520c1f8be350470a9855f7e520a27fd22b9c056a4895de8e0dea8e4437aa49461ae688a51d333ec943c1cd8071bd40d1067b30b03eaaa0d657dee0b2a3913252733a518b6713b2187edbf5303b0ac4b932be8f4cb030b9d0b83615072e9134becad455a2a609e9dd4e4267be8585507ac6f90a631a33b1a7633cc21b3a4ae47d7497fb36cce716a7d0d078e5fbe8682bfba139a3c85f6bd45b2886a2fac6747f906eb19d83c7818316373daae63b7b41af47974867ab443223241cef8f68f44f1334c87abf8e9628599f3abfb087f4ea0c73963451fbfe0eb53eb70eae850dd5d1b0d97d6b7d202636bbb2a416d8f1f5a0c108590d802442d329ff1fdf2ababfe4b7f385f7c13006ccf4bb06f4addccf7a39db94330b7eb31d436feb466405b23c01ebc2cb40137047d25785239a874ba618eaf71961aaab7c9d4197b896050f095eedb986c91d16a3069a0ee70bab75b98d3465c580ed44864bdee937e2ba82dacfc2a40a46612ef2961deaf50394b20988cef73876f75f972bade0954321c1637e72df783189b1325dd46e4b2ed1f673ea02ac10f8a7fe2cca8f0c28a0dccaf3c67e7bdfd31aa42779b7767823d6f715841a3ad5e27265339427913fcdd98a4c116aff76d96862ff5e3aea28b86fb8b78717655d89cdd4c08f129322c12c4940986c82bb24310ce51209e33b7ac3d78a0d143c48dfa6f659c5dd1a4f011bd5575af024976e24a3379b7e35877ec3cb70ba980bb7c5943496fd3c146abe39a51c09766fa1c06690920d9e44883c00ac8e223e72b4852ac9c7f7e367f0e263d4ade1b7b6d5cac68c5616af49fa5238dbdf01b1c78f3ae5e40127900fa9d851c223db2354a7435fa653b80dabd4951c1b695e23b657cbf4d97f01f65854a2d155a7ff0ab70c8955258c7eceafa73592ebee3ab15cfe3bffb0f703ce7f6c026a53a17100f3363e239df41419def4fbcb0657f39f7d13e5c644842f4cea49794de496bb2f3b0b2b757c39110092bf1e098702246cf85ba0a3cdf0a9f0429140a0c4cf3a9162fad1bc810ad7ad5ba3eea468bbea6a6f86afecb4216c9bd04bacbec48a91da8e98650eabd4b576a6da61c63f56d6e4b910a7ac7a24c9f4a55c015a793176553a73e242b94f31f86178d37e64ed1a7e92c5676c15577fdf8eab24e927a8e336dbaf54fdf58b57dfea13c8869315804795089770da4cb1da2152ed7d3b0ce4bba5f80d819e121747213cb78bacaea3e22c49c6b9dd5bf9ea6d35b0bfe0d9113b421546debbfeb242882de3d39fff9b98e47ab3a49127fb0b7796baa6eeb89d5d079a2b7878bd4e334ecec926990037554596a58415f4edf4006dcec9b398f31ee8b99f1304d6e7b8f3cc27ff29dffebf4cde908ed5569b9311ec75061031f43e9f13357cc23af9b39adbc9e18a0cadf1f5f5c1d2d1e5b5dd9a97e0ca9c447aa4dfd4ad63c25afa39045de5a09bea9cf75a9040ea1173c61fa1c2d3f48b1cc8c6e775b859a4b159818338725cb0431ed3d551fbb7120cc19992f09eeee289db4af45f5a1d9c853df49e2137eed4760e1297436fee3f8c8eca8018f05f83852cc8ca4fc3c9e3ce6d21f20dac9801e4f98314ec88367e92568248dc97dbdd3f6de1e9f20e51c6eb75d0581b2105f90c8e4e359df3db5fdb4ec9ee534e467c4c54684c9865ea1d49b46065f99790df5e75d0bae09be6f04d09948d9da9c786c97dbcc21c90d5334a95b05370b16a4dd487ea1eb46ce8c4e6c3abac2cda1fe6ae397686308e31c277accde46ac673dc7983902d1aebe3dce9623809598320c7d5fdc0891b56195302eb12358c01ac186beb30a3e2cf39f951fe5203c354012cf0216ecf65d051133b4f0ae4b8999b149042921b0348b2225e0bdf76da9011137dcc0ef8a5d6837c05a5f0858b8e98cf2b1c43d9d5b2e0373676ea251751d0724eb116ec11c3c6c996219e074d9e2b79dfdc589b1bd5356bcabed046984f9d24784497de5a71f87e72e8e4ab7f2e7bb2e72b79c87e6b9d988023db066f1855b0a9d97dbb79a99903e3ee79cd1d48eb998332db76d31f42b43a7743c75307a7c7252559054fe10eccea589d7c2555d10a0feadf6b25cdbadca0683e80b230c64ea4b4a99db995d2370e2eabb6ab42db7da068d77581895563ca5a9c1e449d60ab2c999b548e00ee627f8d564d3bd94c1d347c3770be7e82b229c502fedb7f07136097683d183e4a7c1160a87c2136c513c9880427747a5be8b5083f0cdb85d50446f8a06ecbdd801aaffa02d927ff8852b15a464434f44226b14908c4d4c35a58bc0feec890f6eb76cd6d6a262b27c8619fd336edc8f6c9fe36f38d668ea89d695ed4e4b726ac2a1dd56a71969a1f725da8c2b140f04cb32bf47e269f13440b5144494771193db7f70500941d3ecf7ed5b3c7c35e678791ec914106585f325f1ac83f325c93caadd74f0be4d92bc68f189f70f152af1b59fc85cc90ecff98d894d93e571a3cc93fb2b2faffb56dff73a06cf15a0023411c7b76c8e1af8e9373765b3d0857eb968e3b2a7232b1d85c355bbd74e72931dee41d71d507c87437821f75e7cda701059276d253b7f57e5d28796acf778c6a52fd1f9cb4e854182f303a0bccd400ff9b18e25c69392b9f74092c3a329e13a45b2ee12b07165321b6365e29a1a1845e64e08bebc023ffb00faf93d6ac114a2ba9b21afca77ad2bd6f3e0eca7438d55715640e4024d30f5d40242a84df91754e2e29f8f4f21a2e6c6f6ae9c2112e8b0577e0dbabe55fa2a14f02fd8618993a404226ef2bfed89e87743f81cdf8f69fade1ef0face9bca6412b3105dc5c1490933aa74687ce3e86350c1370cc7b5dec59cf582a64dbe64ea4fee33bb82bb1dd8107eba19a20823d2be0d80b031f8da7282c9823713d42bd6ef7d744cbad731d7ae64ba1bfc22e439a9ab5763337109cafb5c5307736f63054f14ac4cbfbaee3eb780185575eba58528546bf774d52152779ad549ca3188a978db8fa3f55b8b93e126192f9d40b233eb8836331d291ae291f80e8603f779456ca575fdde19e8bbd8b6823a544c682e4bbb90dd66de99b4f808de1b99fd338a22a6580a90c0dcc5a172f307d3ffcd3e0924f97118f50eb6a12bc66339c68d50d2ca6ba9f7fdcbd3e9c90064b74b9d3409f03ba225809a8b47997575cbf14e2993c5cdcd1f31494ea5a462e2d19eb78378f1fa87bd4bf5ba96fb883a8b447506e2cad1b40cc250b47d85874373e712e48040db2099c4422a7397ed98e15931e83921f7efe355660c26f694c5cd29c731f497e609f13ec40e8da05448fb8c995eedc1d02c4880d76f0d4eae3e49ff72038d8b3b8c7a6d2f399ea998c8979036100f123badd2083bf94f1f202b2c720a36256e43b192f906af6207fb6fc133b185fec6f0cbdcd96cfae3320e469c28bf08ee52962b335f1357f494240016edc435fda39d1173eebf0b1e0d334f00d63776fdd19ed7691b014a19491331d1f76831fd7338438fedf0ad515600f60aa19d52b740bb70a17522a84adaf7ea82faef9dc93ca540e78747ebbdceef5849c658185031b06847ff844fe3a5295b1245a4631107bc21b1c94cbbd6afbb1e44e8f55bfe596a0ea55a41c3cd1380551c1bf3f75e61e2bc7b0323ef528d1be743e5a40b5bec1ef9b570f5847ec43235c7350ca0ee830979fa2f22ebc4d3637f44a4479fe2abd73daa7a71685fd91fe677ad499bbb2408a1c78f39801818cf558bb25159b61ff8fd84a2c377bc7c30b11241111e0be7a67052efd856cd42274413a0f76a43b46267b2b5516fa17f92c9f6d5eb15cf9a9b8223e54dd67d4a0e4f868b48b638cc6d20a83df78d67fa37040ad2f469043c2640c63555884084da692f1bfeb284238aa45ce332c2572aceb197c59bd52e690f074b40489744f9e0aadf61a78957bc7d2d2427c7cd82ca63c5bae1508c742a7cb3e1011a10ca26bc5d32151cbea21a71d5b256d83df5854ebe7496a50bcb34954dc383bf38bd798731a20d4bb3ebdfb045b4cd1f57da58c8fc6da406a331cbc3654cf34c65d65f8fc90a97a92c28a623309fbb9d6522a3ac6d040b7bbafa6b51a993daff770eda7b89f73db732fa4703ee2955d0bb8d44445d0525ab2fdd6bd475035d1962d10e73c866387c9990cfaed593e2986ba4b2d30d989f2dac73a35e918b020332e3381c6d00535c044d93d014fb8f5d577f60f9158b66d12cc0aed91146bf541b16772bcd6434e1df02abf8fb2bcae424d9efedfd5e7177d143d6fe870d8bcf28238d533585c511c862810b906b2c53262b5e64a241c5179f9f72f86c623c6331ac2a10d6467411fcb6e13acd3b5aeba98c0b337b4cb4db4259433ffe6ccd3f6ef04b1cdc13415f671571b1537263614a7ca042720e92eb835a0c5ab040c60f99adf69e690b5b1080db3a5cdbb34c7a529cc7ee0302f47fcdb78900c8ba6d7a1665a68e457da5b74d34d0609ac863e04f498ebea141b8432eb19aa5ccefc77d8294b6f91d713c2bf5376f38e8ac06384446e14636879fdbf226b388986df5bff73ea7fccdddb7e6dca935c10f96819d11d59d3ed30a82d764ae77acc21fcde04a33cc345f44a362e0a56d194c350155e11a1b07864a7e85afc0ca812579d27bfc8eb26803e455d41470d8f095024a0a2bff6ffc02f7500dc18400494e40dbac32cc7e914b8e1eb3b3f2980b061474354f422c6b7c89f8419ad8f1ed54669f699edcf8fab23d3ff83da68ec4d9f26c23731981787d13c7d4c2718b67307d498d249b5a59375044137fdeeed5cf7e2de174ee2072c1f4d7991b3b26368517461554a997ae801bbb39a1a683d94fd04fc977fdb9a2587845d50a6ef47d1f0a4736dfb7d08c7aadcc87ca79d42e65d076e6d633af850a41152deade9696eb88dbaa39210a9e05c7f9dcb06592f8280829f94a1ff39ab064d16f5ba344058d4d8069c5f33e50a60d5263b9a8bd35a92e7e4c7d4cab26251627032c962b54d2a6782d44a72030adc9a27d6659b21276baf6a0d969fb9a27657a2876a3baa64282850ad24559b9f817a60316c2d1c073728c59f8e03ea1d879a93ab3563baca54056fc7ea586ef4dadc50962344dea82cc5d71162fa4096ba60149a58989458e5cfb94e299f4189ed1c5652ebd52ca48ca4ab4292a5c6a93d2b8587b24b7d38007df94dcabef316eb0dccf083db8184a2dca6a6f22cc5522e01041606188aa4092df4a3ac0e4917f92ded8d5f8a97d0e634968f9456b1fd1f9d5317d68dc797f2dd396d93518fd7ccc8ee7929d8d911aaf96185d7bd17ff0dd05bfcd28ab85063a8516eab274da54fbc9ad9d1844471868c60eaa795b919bfbd21d572fb8965ca656d1ef9130a7e57691c4a6d418bf0de87c05ce595098498c66f4994de267c620ddfd2efa97eeeb3d6c1b4e28acda8f802bf0df10f31db57a3e373ace1610b1bbbf3e27b63d46f547f162a21fddfb53db849f2c54f8e97230abce9e08750215cb0f29816b87e9b35c3b43ad6b1a541b18902590072ff22824f56e0a7b45591e57e16654520e1262dea4719b7faa131245a9f13cfc00eaf00b7d2716e0f7e6bcb24080714c25a946c34c338ae96eab47b8c27c61ab551c2ce143a737ce5119c2853c5be1b319b44dab3409eaebce6bbcb04258b52c11fe8dcd6bb0d48fd336d733904e8395388adc96c4d94c43c81d84b132dac460ae04774732ff8bd7310e4be872e51df074c009d598535d349ed1ac3dfc326e5fe69d07a6d29b0da071bed74f493eb4da48d5a9fdbfb8614229df9e6b7bb57f8b9d6d2d525b94be06b25ac5ec2aab7861f8d5056a62d1ba02f9de3d59fd2bccb09463f554919d906499f184ff195ea5f4504b355c658407f453803ad02664633ec8179f5ebbc6d9b247bd86ae24185c5975dd45d1450db81bc1dc13421d48aa8080e58e847194c49d6ccf91a5a1d6960a241db63a9c02d4da41525fa86d3ae4f5ac293ad960c8cb7ba9ae6e882157a6b5e1cd339e72b33c2406b837b9d85e0e8b055520da4d5e46b9b90cdb7f2f13f4de0b6ef3152c81afa7e431fec41caeacdf83dac9ec9af3704b0a8efd4ce8470b73ee1386979eacbd471eb0eb0a342b88ba748866c2e45f629101a4ec17bf6b21065e741535d79e1ac87d49d3828bdf756cc0c40bda3a1851f1cff815a8f9f4b74489bc89485f2412c91642e0b647567af3b69f8fef056877d75302f875f86250cef1a606ebe8d5c23020062e93b03695df599ff1822d7a7365af6fe90792180ad245e722a9f9ebb6d158295a329171e55bfbcd3414b396c6d2b5a79573be69e25f1e64bc32e0ac89d0a606b23a945ebe10b2692581e38b05564fa3df9f1aac88c8fd39df50c505abe62817c967b6f58101fcb39f96683da1d3e72da4d00d82287101e8ffdb724275ae332fbec329c891f0cf88e542e690e6693935860671118703204fb13b5dbf5f84c7d08bced7bdac272f8c550618dbf603dd188493d8a59b29fb41e206963b07a621eab94e3e753a317c3dd41cf0bf04feb7f2f1bd2aff4493fa4abc774de6649ab4a8ccbe0ad41443c2802108ead300e56f8f31a0a14dcbd490741de53309aeffd531f386ebc52dca2857a59e65eb856e8ff952c4726be548899730e4a74e3a8007840eb12876f604ead071225521d2ebff4e59b044d2a499bf4da6aed06ed1c06751309abbd204faa1e0d2525dcfdccf87fa81fff1931bcb76092a04f8cbf2014119e90cf1eeb065731d18140e337f78c67071600fb474367b26c68a4c39dc05e96f9006e9cf0952701e2c91b9937588f21ea3bd701f6154baf5cc394365ee5fc40f7414d957746e172246a1fb5bc9c02688084a22e076ea62b529b1390e7cce34565946fd22565aaaeea11d4709e32a622b6b61f07e3b22994c4f695d1b8ab3d098e88f9ffa5e6581f63b824afeaa038f0c1711490d3315c5c67948523007750d9d3c88fe24f6ad37cfae699142cc596d1da8035613e0ba227920bf8b459e60a2ce5302a0b727c8671033c2c20d30bbd084b909cfb9a9c4b042de9160e9bc88f6d199054fe3a2b1f2f622dbf092e7546c1864b70e7da56adbc649ab936b847202baf191b725ad7317f0aa6eb4c00ce5d9225b7dd5e9dacac52d779ba3899a005d6942f3039dad854b5409b38cf18177190bea2391b3c501f893068d6118303b053432b9b0d9bdea00ad64811c9c4f033fbb3e71f33c7bb3fdf52e528a7f88c6f8315823948caa7893172bacc1d0858c15555438341da95ed6e9e2e58f459aaa3dc8ec3c3d195a45925527a24f6ff906215fe6f86a453115ad1338f04120c4e695ce12e6311d6d80af49701a621e38ffc62ce5af0ea1197a533e1d4f251eff63395a895c8dafdecf1c629ccae66b95b4af0d774bb2bd89715cfd8f12c10dcc84f66811f653508991576fed524e81282170ed4801648573caf09a3e194b253675f36f80ddf6bb607cd09256b3840af92482e07005f356d20e056d661a7a730ffdee2da4a499568647782fba73b9df8daa109ca58efa4ff31961e1346497680e87e6c3721b5785c75b0c293106863a641f933d17b8f83dfe28b25daa7696fdfbc5fb1f06a9698ba376075a2ad861deb528a367f9fea3382f2b23624f671ac2825ce85d5af61043c9e7e7cfc3432c4d0e3ace19c62929d6171b3f9901ca5bd1d7a3114aa7a11b3ec60080fc93204314cf22b22d7dc1c1f3a243138d5fe1a716dcdbbe0ef619f41739bce092744c75ba36afc543e690cb6163a031ac46749483831e27d3ebda4ae045ce9299c354bfca89cdef241c340fd9cb22d724da3bf163227242d59cf2239a3f5f2ee368da812e58669a294633e5f448a424a3df8785bf23d2b185cac58dc529ba918f874f5975d31e89d302845c1f62006f8e0d94e7a6f4d937568c5a9fa113e45958e87d700878fd42e128c69d1dc1beb4c288ec264defe4c79a88fa72ecd78de08c5ca375216442097b1906a7f0d468eff92a2154a4a4954d9d4081b272b3a253f0db41d86ea8c6b008440a4133eca1eb26b95a973382743a939120eb9728fbea4c312b0d7994947da4d04ea0bcd85ce08e47971d0c87869cbc28bb8f2f93d77fa55751189cf230b6c3f993bf8545d48d2fc42b93c9ee07928da7b5563e47610c2b3448dcb885fd3ad54006305e8fe4796ed44fdbdbe3e006ab8f47c99850352599adce557a810254b8b0082913d40d01a7b7b04f50bfce42edfc88ae00f7bf1d296e873b80a804a2eec5e67071f52e54351dc028b9bd9e624ea6decbaf6c8db5cf9decb06ef19cca0ffbc07bb71c1644dd108c5dacf52da1d6222a2b8e91cffafd6d0b73744b50c76577d018c70fcb1126e3c181b09a0b5d749459aa48354ca40a4bfc82e86c61721e497ae8973cb735d8f002c452b815d45c6eebbeb9d14f2fbe7e52f00a8e38a7acb3c2e8737bcb52029e5bcbe752187b2dac3ccad556c994506da6088285dc2d04beab07003bcf283143a782c40781156a3a923db3bd0786d8579f99ece10048444093b0289b0f0bdb1ffdfaddb5b36794515603ba8c279433af00caf0eeb3684f9d97a817eb53150c693b1b05165c5b4dfacb7080defd046090b847477c1e1cc42d2fe01999fbc82721768d00ad82f6e6a2c94cd09d5a84a910d4be89dda461a601affde5818c7449339e5e3bb747ff47a99853d796d1df0cfaecfcb434ed5520d51eca1f5fd132e750787d33282ecdc5d45cebf97daa663d992642f467d5c240fd72a5916394ca43a1920b4c620bb7e794705253d1cf930ecd46a322c35f5f538a2760b487806f91962ae69c709fdbd41ff3200696604a06b121faea8c1e92cad0fc69d99b3015229d15a85b07e6fdfac7f493458748ba70421f07526df38372b668ecf60afb98616629db0230e412eaa2c6e389bdeeb677225a3d3249c18105f57ffb409c62eb5d7ef5fe9407edfec692d90ff1abeb520238e122c1d71bff6bb91529390c21470dc3f58340a472b1baf1100ff4d56b683593397b0c23d6e3fc76c3fdd6f35062eae6ed68295762336016e2edaa575870fc9e97ead79104f20546d35e38c0771bfc72c77dbe19db388026cf51e1e0e22589d31f8ea123c4d980da9b1e76a18b912453723b8c48adbfd7e5d98755a00842e5f77f1c573a81c6e7d823949bba05e96099608c7ec66c991d86ce1e2f66749bc134b3b86841d32588d62ba07fcf45c0bbe87e8343f87d353d00337003efa9982f570eeb7b53bf81d22128ef59b07763f9a6021c333db7f8cec75721bcf9611fdb2880f8c61e6f5d9f133997968c7bcf5989d7773cf9b66818aae0c96c3d3b8374a7ad3205f3c8f0a36447cc102b5d03791851cf5fd5ad7865ff0ca5ab625adc2df60caed601860961219b0747b8ccf1793e631fad08c91cbd101b43d3513e998db67b38ad0bffc9da74e5f5a6106877cf00ff20e4805d2eb7166b43e52c6dd8471260e32d08800465b64476824b5642e8874c32c9690d0f2789f0dbce889c9de25730db471959af85280f669bb97207312e38ff1d732db40a39b4d1c64208966ac458d5cd271645461d2c759ab15013710010d59d9f4c16c41e532b52cd411b2fd9ff44e4be06232a113ca437797362f3571ccc83c4bb5fa586503216f4192362c57bd6c7583fdc5efc578d69322836e6674683b081ee7e87574c615ca37b9afb1a208238175412fc11903a11ddc7745443d7f51ef4ec89146f5e08f452495e55ec343569f4150a58b0d402fabe09d61c0295d68551b6fdc266bb1708e87a1d9ac224a86938f4bf2e2d8343ddf5824339e38838aa3b9b1714f66fe5e40d2b62107e8b4d640094a0a2c78c46b818bbd380ccbcb28e3220b46c75ba54c25c5eb81b1a832146e316cb4b9f7aacd7c52c61eea413edf55bc02e41a28c1e3e6e201ef8ac2c65e8bc17352c677f81d32284d9a594662344cfc9d29a16facd518da228005ad6dac17b7a67fa1a5e79d8c09482192bf4473ec01127d7155891dd7335e83c2dd29b731f63e4e160a3f117724ebc6b245625de73bf009b3d4d96b537cd0d3ccf0274927f85750341507354d6a6d112e8a372dde57ad41b6ed73378a97f7b7e5134c7ce6d8fccdac499afb27fa3109ecbd0790f5939a3f010cee29db2afb3b9eb17213b80b39b54ece44e9666277b44f29c30217cc61afe0a02b6be3a15c41bb9d24afb37a9003d49f96c5bdd56b609dc7c716e84c5cbb393962be0ac033a5da03da7ae65cf144779a7a66782c685f2c8658518606db5632be334a2a09ab4542b4b4aab1fcb98860297290194092f7f5feb781c0b3024176d72cdae5a1c581607b45056f1c9a176f1cf8d8427bd990d50e3a759bb9f0fac8f45364d39371a77d14221ac477f1e047b10c653e498751cf88ea0b07e344618e0f2d969a59d7513004247fddd44083dd4c706fdac2920f8b4da8b6655eecc2a32bfb5a484a26a5e5c94391b471b024ce0a5d40b55a1aa5bd036b383614835f2c048cec647c3d80c35b3f474d95c5d6a48805c72e51b26b1ff59327d09b78420074623324f5c8bbcacae7e08b3b6d8b4314196ab7173c39ae1b80eb252ba0e5d871699e7f8f3bfd224559b3ffb18db41099536e48c1bd603e17946007f612eef6fbef389fff478c9b09405c9312123cdd659c0596f0f41ca8f08f165d7f0f8c760b1b321d9c2aaee9dd47718d515445c9133d6e096a85594e9aec35def7ecee6cbdd0e860aad8bb747c970a38414852e8d7302df9ef3ceb71daab60d00d0d23f04c5391d6936a2036bfb94bc8f8f04a039089074b0c54b788c0beac8dffb0a75c4e906ae9c604fba72bb31488da56d5778b399ba9702eac7d84ccb6f2684a05b88efea9bfbd919237f97623665e81559eb45359d3f144703dfe436241e43294fa63086dad282120fa6ca0f423e2f564be22b3234fd9d35c9095534b1b3afe3efd74dd65b64effca21ffef9b2ffc0dc1f2edb26cbff39ebab15db7dd157ec4966a4e319cce1c5f777f7e65b4f4fedc3481cdc80a968cb80af7dfbc8ea6d0a616b4ec93ebf10c62d9f6a4344357ddbf8ad2a36ba50a6ef7ef20e8962e872121d3812dbb7fea7ac39ede4853a3e1c8dcfafba5565b3eaabc1b0c9822668c536fe3c31740ebed7c36b8e238a04e53f03e4b936e10f9e40bece261d48257ea22ebac1c8171dba7ac75a5accd274a86c1d6860eca2711ce7a6fd316eb3eff6ca4d5b70e907f3675671f8c9d55cf066c79f9d4a36d3e74d07c566696ddb1cd0bbe78b547a45c67354909fae411be9aa6be351c03186ec920bab396786469c0584a908bd6899738e6863a91cca44eca9b6589ad7faa4910ce89526cbd34187d5f0dcba71f2039c3eb9c9f351b84a4596723d7fc2f2698c43f5037aae64b34b28b4262c0e402688b1ef7c7279a93c05de63c228ac6213c0e37bb4db0cd53cf137bb74fcbf9cf1cb7affc279af94fdb34618af092821a0503a19cd29635f32ea9ea437818acd803fe6d427347e5c9a7f4360abea179f0feff420fa19cb32a61a708241e215139bcbfbe3a50737a7a5b9d61cbb7980a1a208b81b803825cd141b90db231a18f2ddec977de700e5c1d853049d3f643d5d1191b2d73d2288923a20018f769f76fa25eb5c19a31bd598fe144b77d5f42eaa95b2347867f5db2292956d26111a2a00515721b56b39791cc9b723e0a32cc8d908569fd9fccff04fe0235c1426f5db10d2f6a3b3fb9a1a32431435f4765ec0cca8134ebb3b5e06460b728b74256a8a615967f582d66e648f5da1433136a71f06f0158804082cac2038580caf2621d0c6fb48f2e6641be3eb098aebb06bcf0ba284b218eb8b52a15e6b8339404fcb3b873f22a3263e189d9aa9b1264398645ede9d27826c69a043e7428a2499f52bd44576ab277e6a591f8056e9d3a5b61df28aec6763cb2d8913e28664e7174c65584f11013cdda3480788be571aba3440ad6fc59cc1317ac1ab6033bb00e1187a004dbe8b84dce2ae79d3bae88136c6d23ae7b1397ac9845a746aca2b08af9347fb6cbecc154f8e9058a6ebc52d7b0aca01fd8d467cf2bb3e14f1890d63436a35e3cea73b75c37a14d418f26fe4408c8603322e9551364ace9955cc723358395072271b37575cbbdc1dddde324e9333f09da09b2a0f92a2d4ef1c796bb5047a4cd94e4b3a618ebfcaf5f05ab434ac67c48329f5384f0f9f71fb577a126ef34438b0a7885c4fc5c8bce8a69398df55bc3ac101631af477b351652c118d7f10f75cfb84267bdc6faf5fde7867b6eff5601bc5fa858f3ae5289c5df8554c4e34cc2e1ddd4a3066dbdbbad78be9825c7509af2e15fcfb0226e4f49a3e96269f5de13ca134412c9c4cb8402a712050322216bb5b5265e1a5d63eff2ef96848e77a8345742969b1d13c110b8a21b653c1002563e8a4ae8b2f7115cecf4289d63e9b6731e8a1c146401af94e252539b63973f2b5eb942fd3ac7d5c8a2affa05b515daff8ca5ba57d4eb35130a189eb397313335b1cc303863a950331591774bf13a6bf492f9c0ea5e34e8afb7444bc22f8f21c788f2103b1483a1ecd1a6376dae413f8814f86c84d1955160fc0d29fe17cdede214ab1ab92be93b9503242fd76b62d8b948ef8db7f5dec9de5e0262fdd7bcb9750bcfe968b747aa5afe1a940bf0d00b07e8da87cdfc4c1187535668abd84d8466d8fce96748ecf7e2d86b417b271d259d22547fd4db5a48fe4f951d9b927cfb91228826bd2173aa44ec2caa72558ea861857d331a642271855ea66c015720b6868c65dd4cb857131452eccbaa1a5a6c14a2b6dc7d746cb1bd9abac1829da2a6b4556ac0fc7ec3cf9b7646a28d87f250099c94041502da5ae483006560a9eaf95eb3d6d68e22f56a5d3f5413ef9627db959ef26f8dccf2811f5f44f867ce81a7258808f176e6b2bc1bad7c5d2a32547c89a9e1564feecad9903c08e3eb39d3e88c8f4dd3095e2f48ff31e19a8a366807b26c89f04b26d1ab19d9d0f3551f24eaff21c7e28b7db04cf5b5b59bedd6279a2b5fcc78d9a11c4ceaf3834e79cdc260b23a0f647d9be9a5d1650b6d86ad9c011fae3e19d2e4a61a0d28375226fce9b8eb7ee4cd5d557de92777e8b42998165296fd54360f166fc421ea83cd6e501d6964c195ef4b6ae8f513cdf7a1fac9872c1b4ae6005adcd7e948dc60c47db93de4c0b1ed1a760903d4d5b75e82dd5f71a0b8042a12c20a295dd2816097e05c2b2f68f16fe6678659d1d426d61ce29c0f572cf93e4d6811d82f348840684b874fd8bf25a712e372419b810e76068da88a11848c38a6e99332462409a100ceed7c297bb88303990c86a1c18fedff8ddf0fa39cec7857fdd276f63ac227c16babd812029b5e9adc4bb1ea33d24f8b4bb2cb17384758e96c03c7183f96171ef3f9007071195582b4479b3c2b63b353cfe05146250e26d0c39802272e56b9bfd821654e87bcb1c42ee8bf77b3a0388f31716da838263eea846871ee6078eec6371246feb629e3e2c5124015aee414904c8560ae741e3e6f67ab4a3a56c381a0a4d1c1a7310eda4f9970a868bbe280c56c5b2c760b1adfd7e878bfd0419457f607db213113b739412960e7e23e4cb128828dc27b1b96e2246773e7e909aee541b321682d088f556264664553fb63356efc74f848be3cc3af0a542fc44600d386a1b222d1839fea40ecb575a4fe4df2dc7a488a9fd559b78dade8319f2db2a8af9da04f332413473c69b89d1beb6af7241c74ee746127c6c826651b8658d20120cf2392e94287c2cf14623ad2792a7f208b704467100c21e4146ead1b538f160aec3ba830c1c3313e36c88ccef9d7001a0c4c1bb30fde8c8653ee523a4539dd85d75b4bd08b51e6a244b936e00571ad08c9a644c8ded82c40f5ac7202a19095318f8b18cc744bd18d7bd0a16f49424dddcab4e6f97b22322ad7b1f1efc9110d55add30d40b7c75ece1cbb59a325cdb7db324b539e0c3668c013fd4d429d636c512d3d6615607ca9577b50670c420abea2691b96faab2e7a61a307757b7bee99d116fcb838451d6cacd05f9d800f1f1abead2f9ce27a4674bf279faa0adb8c6dd4eac87d65a75396aef404dcd7594dbe06540db8cfb6fd498912c8c79aade7faa1dd6bdfd2ecd81c36e782b5cf29f6501ad42d740e5dab530414176b6d6ae5eaa8d77a44bfa64b57fe44ee75a4414072f56c6613f19e48dcbb5260b5d9e46ad65af62c8b071647f993c121f95f4a440f133275d6b292f866c6fcf6078c5a8b081bfeae21a17fafafc8e10e45cd0363ee4ededc3b2d8474baef25d4cb5ea0e5d56b59bedcb69fed8e6c4d95e6a9ed11d356e7df70447608aff25da0408fcf0a3f016482c7df59c1e7d7dece526ef34305565198d46fdd2bcd2d58bfd171acf0772250c26c3c3e247c10c04329dd124502fe503bb3efb2bd783ae0a2f8b4b9875d70347e355ef9dd85d7ae1249e06b048b32b9b768686d95b750bb4ce5a6cb8e802ff87f02a6b2075ac73a59fb00bd5aac22d892d10fa9be4a9a8e8969d8005a8a866bcd22333d53ba9dc93db07ae1ed5e64cd453e5fe170716b9542eafe1c4081995097c46af247bb2008537f50a818692c437b5ac5774d2076959da208d0ec33f8f2e49bcbd414682df11ee3c7cac403482cd98df55723f4e76bfdc436f72487573b9cffbd0cc711d54ba01568debf4ec2459cdd13bb24b4b5c28023d8c0425e81544844d7ea0e3ba52241fe0e9ac00591166f477a357f4a979f5a46e77232b81cb1bebba11b489f7ac7683f004f4766d44b1746e801c71a46e294a7eaf82257452ea9c3b0be80bc2ae33a7a59341d9e1c5100777f735a1d4b644eff45e8357540dcb0e58c612adad0d295d0984fd8c4ae8953d766ffcca6b3883345ba92ef1bd0aed51a7350a7116d625a3be9a9730bcc4622ed0312b44044aea062493b78ae3efc73650a11f9bceec871d2fa76ec514707f27f76b4a81080a4792734a7613de65dedf199c901f75ec4cf4e709cb4fbc0e8b84c3edc56f6c7d021a127cb79317c3c8fa06d057129b82cbd5f20cb8bbda3b60a7b8f07d37970eb2f4940de209d0b3c7366afff010c8191d98301e2c50770ceedbf53ddd0b23084e82082dcc6fd1c7c5aa8dad2a814336a081411bae014428b9cde39e4a4c633e7686e79d839fe32f1390d041e9b659e09381e7248195eec6ba47724472041fe31607c553dcd0ef673109d53d011a033ba1b7d16389a40f50c158e7b60c745f2695a76fd35dc74f3961b756a7e4ed6f39418d5a372b736d83da0789e9487a939e0691f26978cdbda2c6ad1cdd4fe3e27d158525b17b1e00ff1cf48e667f2754f697e165b747eb3ddae4abf2d0856632235edaf5c079c71ef87d672d6d8dd26505885de0f0975a27d9460b0cee1af5f584ce68252367ff0256d4c4567dfc719343779e51dafa2f78c853cc2efe7eb5f26d7144491ec5329bc245431002fdf1b30d9c07f10d951ce39e36ea1436db725e06022a7de343474d11045eb213e49c90ae1f61fa2934ab2c5c39f4e0b13dbe7a0bcbce1f329e8da52d1c59c568d1f0b047ba1dfd1b1eb24f308fb87ac51d91f8c07474d6d9dc7672c2bf399e65fac5773d9153779cd12892a2ac504f165100e89546b87903168bf898e8e052481ee8ac75fdc576dd729bcf8fe3f430f2700829119c3df34d472924da4d603a437facc51e2979a0e23e2701185482634c3c327bc07be06220301cbfb8709f2d53bfb7196f08cd56cc95e83a0308d7d89895a070b23e6929abebdc7f15fc61ec30cca3d42639d6a79c6d930a4e967d5c26cccd179adf685b1763116598714dd060126d4ba3e6919ad48ecb33c6189bd9ed2f8a1da748e2cc8e72c273314e07b3b17c04c418dc042934ca25b40f3c57b6c73e994d004da439f534651e6af01853fdbbd2d5496ab5ad9690e629398dcfd4c7e6dd90e6abff3da5ae728eb115b6a1a23f78a61c6d91f23efc0940245d5bc6199a6ae4adbc0efdcac9e5c4676e829a5ae76fdf8e91263e1b11651670df58fb528425e5b733d3be5844677591d69919f0d64db094d4a8d53c4efadb75b3aaf73256a249aff0890d4b2276b77fe892526e8c93da87584afe990a377cb098e3b618b8a06f154e6ce0588a3edc2f535596f6513f45f0ef2697a16554347d8635aa91ff862ed08b013031bb84774020111640b45dd582a4c61fe4663a273c2325dd35cad4df4ff244e002e7b35742fb912ea00c6a5798a764db918fdf251f5fe9d4d63ab4a2fde3f30f090a71c0bb08bb6ba19ab193726dac479942773fabbc2b3217dba6cdb6dd3386f8f5aff45e4c4e798533377a7a7e130ecdd38f9530360a0107e870d0966a3085ff080fb96c939e0f6513c89e7a0884efbf8266b8454e7be3d55be652f7928323640a2aa4189c8b5bc3f56cef960edf0a75ed61df27d84489fb768b99009afc8c36aca76b47c87d2223ce0435a8ca00580efbefd766ca01e482b59dd58d064368ce3cf8536572829aafc6b03de17a96e7dfc98424188db4b1b272ad2dd68f09740a124faa7fcf1dc56bbee847e89377b01db46a7f484e9a9b050bab77da3d7e420c1671dfc2617358f649fcca4a2de87ec92d4a11ff7e98187b0edbd80026681ac9f9be6085dfbc6faa9b17b3689870e4052a36a0344c41a626fa1042daf731b515e90b8dcc57b574eac61879d3a64cacbd807946a170cc11dad6ed353479e6c096364a34c5c94bd6ea941dfda18c03be36bc1b993489ae9cb3a69663e8812c573122daa279c0bdc6f00cdacd62fbed942d7d227b6b73b55c2773280759302c9f5b7c37971b80317bfdb0ea236780a3526d1ad8600fc007ae57eeb5248edab1a4eed417a4e3c1321502159a187b9042cc7d76bdc1e74044c996cf6517f52498715be9b7f6a7ebd53978fe81e17e9b66efa04b131709f6b60045d27cb38de20c8079d86a504785065a44cc2482e5282ff7ebf41eaed0406470e35965733d20d11e244b0755768da7c57460f6de7a67cda4874ffb6af5b32e06e6ca4440fc276ec043f31f3fb3804b1c997f84f9482456b77e5d0b451b92bdebf8d8ca1f027ec8e7801fae5f6ec488fdc91a8974dd5cc60af27811f2ce9f1c30ed0ff22ef1e99eb2bc7c863eae816448c2dd1a1f67cae629804aa9635607ad1e81705ba3c6e7ddf14b19592a6913325cbbaaafd6b52fa5ed39869157d18a8d433505c2f9c989136e4d2258dfea9f30d418c5f81371467b0950ee79c2603bb655a83af549832e73fd80b1bb0bef60728bf5a421b9cd138e50c18f1456f0f2d04215b80dcbff94675316c9b89336acb924ef4524217e45c2551689217c2e7f6ed62035d1c02e282ea71a098630ab29c484d7a64bf5d1dab5caf436e3479194e13ad1ee23dc6abcffc2c030f815c8428445ada60139566a03c19c1842a166fb36dabe634e155fd20b07f95286445f014d7980f58dd7f915e9488758880bb333452fbcd17f5c221bf0f29f4b3bd1bebddc3c853df88774c8ee2e341ee07529050b7f013a34e1f990971a84ec3898063865f999864bec9b94f7dd37796ca692f29d88a549935a11f083aa144268db27552776a315ea082296985482c4c2e144b4265787d9c6a325db4a8d3aa9224cc37f59ab70811b18c1587ebd27e3f45ba3e440c275ae20fae62b0aa5cb4ff0e51847b430ede123ad364a766945dc06cc8732aa2541228dd4a78a11e45c059ae4c23f2da6aac60ba2c61307315aa80438fa8d20580bb49d70d9c98b4179d35875ecc7bab558ed8c8d362995112dc183e5bdb981a1427c698cf038095c8221a62cfe5a66a8d66013c95f569cacf6b6e3943d9a0ba90eb7c3ae75033a96f35d9b32cb8a73daf892de68f61b1aa44ff23f53b55ad5a73fe2d58d3df01c49a77c648d283a463c6304640180cbf195d31776d689bc361512fc43547e1aa147b5e28d492b051c8d08fb9ae5d89b0b46d3f30e64e8858e3b51b4b6877ecbb770c87797cede061bce675e232cebd4acd0f57aec19a76e687738b45b964411b70bed3c4b13ae12f6e7c488cce1b71b975fde65ad720e7966050894bae46852a0132e0ba18adcd7e9aba6b3cf8c6c2e35f4183810fff00d18237cee120c009ad507bcf19cc2f92a9e0254614005fa918c68b2aa5979b0258822f2c772137aa3fe5961dde5a6d4f9319a869ec94524b40b4d6d3bc69fcece378e8ff94c27b7dab972232ebc43f61c0f4453cb47abf4dc58476ec8ee72c6af158b13de94434e75f28329370ee3ec7f631f983cc6c040f1553beca00b48484a3f2f660e0ddbc1e17aef95c50ac1a59c586b663652dc4f71c2e16eb36385a62f773851b7a147c39d9ae2a32d982c388779c0b079c564cca2b1e6b3d3e97e60969e3c4c288fc842d6f7a8c079c51ef3bc49986cbfd25cd5a08cb0902f5b76c64d9004d3824dcf4d67426f74e888c3ac539176d1a6176bb7f77fdae2569297d152e8323b4c21ed680151c39a95a841efd71916570f8cf8c3d35e852d86453fb0943e3930670aaa70357475a79dfd3799d9e11f3f7065ebda1e1344b44030bcccf519441478544e95e74996c9dace0a0a2ac9f4cb2d1fda70aa98eb53d83c1d9cff39b64f0ce7c9e3f843176a8b6ce182cdddcbd1b8527ae7aaaca8c03d498f5d38ca3d01ee4291f5adabe5b44181ba703a6b82e1fe14eb5d30aa3c8f5e2484e5addaa6e27f09fcf68082891b6c61fd84724881adec6c6d4872cf4e0935ad6b88da2c0ebc02e83576b8e1ba287dda41ed0ac4431c7e84b906b7940aacd58ec0a68cefa90348033e135f13bdb4a235c0bd026af3c077a78c7c1457e123585335f4bab8e2a5263e76ed1556376fc5649b879460ad0cb16ee24d53972e6428ed09edd1e10f9a8d3ef48369a5d2f12ba9eeb8be93c640d53535713aa2ae297c617f6c35beea9d28fb3fb60b60b5d65b875d36c3f155695789d75c843c2c0040039b7255fe542d4a2787239ce8778ab5f7e4c6814f355171b4a782f958c80c43efc98c81a56c7f5587f3ee08322b53da2ff952960e7ae4ad04af4c7e0627f01b814fa167b6a8cbb61baef32b41fe87651801f992a0729412f62dac93347c55b68eaade8e0d26ee78fb0de584a7e900cdb806fd654a4e05b9af46d761e9509b1364681338b5137afc00874e556d0b08f02a9e9efeb2e14abdb27b3f13dc4817d3a0ff9e3053a77803c7ec497835cf353618ab10311472cba7feb3388c1d57059e4eb4ce535e3c440174871d1c23b6c07b30d2aa24b31415643fae8f38500e77d8305772038617f53532cd5352e4c69ac6494bb1d49b7cca485041b0dceff37fc76354291298de0a696b0606030f333015dceeb4653b79a8272e5b945f9f9febfdbab764eff32f262ec55f0450e48eeba4bb61e8fce45e16d598218b9ff82611276791d57ad72e6a4823cb9629646f0adbfbafc397e5d54128f12eac6174ae500072bb9aa95cb0023ab1669a45251b743423899a31bc6dc50f562716c598097a8337cd14dc01c831e9a2e1dfb0c5357c1c24072b4701ca19fa3e7b269c1ee80bc5dda1b4d22670df25e95027de6e624a8dbea65891a55eafc74f39416c5f27988458805881edf2f1e2351c9f939ca64a6c3a1e0efecc71a1bed76bc24f2857f02c25b88e22d31adc065ba9f33c12491fa564bfbf236fa7131b5c234867fd3b420bc4ab6991f3c1b812603bce645ba3a28e29efadc332f2852438f9c3f31bacdabf1c8bc1fb9151b639a6f0cab0b79ac1276b68f1b5f365792f1404e41deb880b96223e2226393c402e6ac5c9f79a4417cb7906853684ab51c4ef268f9c95a032188dcfac8a41c2ce23c8f30d9ab73211ff355e41a62b3e1c1ea468401d8b9d9ec5b33001e906b4a815ebd4719b92221bacadf824bc85320aef69b385961efe93821fdb1db34bbbb5f06b5fdc53666d083354baf5939350d74d26d408788814ca993e3c107579d47e9ded280610617f9529ab2f0f06eeb0a7a8ceffe9d214a01954b2a6826dc99b89bed6edfb93508cd85f0a92d3013c7e3bffbedc90f1dc919a3da3372e71e623291310e7d44712c1eb05aa20196deecc61842d8e9ace41998500cd5f1899d7c5ccd52e3e44cb7ec7b591673360775f92cf9f3625b5ca103850b0cf51564b1d4465c69973fcb7c4af234cd188cc43f88134a6d9241d9b0bc93681894f989d7d2982912252783df48698cd812ca67ccf5d83156cd4c7de1c26118a034c724be352b9aea1ff01afefae02feea197ee64369e2eeeed7eeb41e42e91c42dc6e28e7127a93f2de144734a9640de31416897510a71b2264757ef20968a991aaba70c24e2db7033fa4b4d85efd61e61516d05c8ff42ab61cd2b32a5b1f67dc984fd7b89ed56822e052fcbb9f08edd766df9e42ce6620d8a916fab649f82f237c5d047c8e92dd8dd5214d3d2bb83404c1addb98e30f038f459686ab1035382faaabe8c7dcd8ea3db2cb55162a34822302c2195987f0d41ab791dd020380f50e2d6c0bf06c7d47d3fc179ba89f3adacb2f83114fd24f45a1d5a4caad6bb687035c6d82913409dd0bc530b66a0c51c87c462893ee2bb606006cab8179fd371931210543aa269b633a8f4d6d59e4777fbb8423208f2fa79259b78543dfd5b215ce025779e2ef36b08342345045c050f54452d26a06664b7883cb7fd76e9a1383f4b53a3ef88841c3aa8a5c42675db68f063aaba1aa9c6700fda79ac8a4fad38a2a4ed43c9e36cc3a112ffc206ea8de341a26d920d7844f33e31dabfdcc07175448134e7ec942ceaf67cc134587e78c05e50192a15793007362a9623a651f9935d5b23c96560818dcf54869891004b817645ce1f0dc7b2a6703427eda5a707662440c1c2996505da1a24117ee5e41132e942d6668d208d6f0916ccf51c07aed3d22e7628d4fd8e10d25d5fabf6fe767dfe1665b3049955ba42c2c383c0aa000973f16c89b6e5fda46cb3bd1fc0702b14e5191eb1b74421b3e3ba735a8d5b81941b4b73c3cb5862aca755c37f644748086e28a6b2dfe7abeeafb1cfe56fadbe327f4c871cdfe889d93147d3d9b9e1afdb97ad0e5b172b03f378f5bfe489525d45786c30696fcb896409d52a6bfe512200b251f36ef01f81121874009f801c7750fe441458beda554c09f5f41b3058268c03151e7279898bf14bcd13dfc274a4cb8c0043041b31e13bbbbcade4d2a86dfda4b6ad73f64e934a8a21cd6f033bd0044fbd63f36f4fb5f8e263e119e94db7b4b08adea60c6501f780c21677a9ca5cf67e0c900932365016b6c5ce3a7c824d6b5a5452671782099319f9db52feffb108fa259e4dc7e290c33f09e7fee053aeb628bc8910567e17b194c174d1165d68846ae1054d58b3839daaa6b11fdd593a4cedc27f46c9a6524b3298ba3a600a4fcd68a63d405b7f0962d16da66f63163bccacb2f868178cc821bfec43a638631a45c5ac0a9a91ce0e38fbcb42934157e6f40b318c24435aafcd4259e3fdf3c7b5b4016fe49533a0e1604c4cc8f5e7945ef719cf841a38998a00a7cd5d7dec67add668eab587ebe632a72167b70f0bf768ca1967e8d7409c7e8b55b515cf6b3c7d2b388370b84112d9d3c734c6724be86f89def74f89797a5543452b37af35a6453e1881fd85272bc6e3861060dd93a0d6506c95ab6e3eb7b0cf57067b934a82f2a8b3580c93d2fe4a425b14398c52e324bb21603ab6adac3eae54dc9ef0e804d007c4012ef9ac0e9de1d92bbbcf29d3a5783e1d97a3ccada166529fd5c9635535311b52d7e514736c1262b5b5495c6491def3a22dbd023a41893071bfd8ef62222aa20926856c8223b433c4d0aecb1a203e0b9cd8c2f49b41801f42e6444ccab3f5ba370474d5aefcdac2848b0557e5b0da9e936ed84cb68a71f7677227228fc07ba421651d62533745e5082df3546ea461fcde00a9dea2119c39766cdc5098217306e72df3cb5d2507c6e07496a6addcb9c0cb9435432b39f7e864ed3cb7f10ba8b9ed07fcd553e5196f0e7824b24f3aad7c9f60ec21c31cec3a71fef45c6048214f7b43f2faeec729b7c4513f01cf53f37897c6bfd86436559e26fc09b0abb3c5273a928c4c812eae79e70d01bafc491b3e1309182655e2708b68d8c119f00bdd5bca067c6fee6fb9cbdd0d6c9187a2348eb41a4d560d2552e5854c4c1768726c749edb28d39319c15ba8006d85f648d768833edbc575a96ddb9aaa2dc4c98cf9036572a0c9de1728504ea1b16d646dbf09e8a589f5802e752291f1ba7ff1be13313e13229aa247a55355098135a6336c0fd33239462de4da6d83b230c00d8ca15aedd7a45f1c46afb895e42a9b74e2dedecdbe35b458b7c9321df4f22ef1783d0b737f380c9fcf46ffaf5cfb0a138840e29f1904b5dd14cfe4ec955240e270fa88d5a2c05d308f9910892496b759d2a53a6de3568ba11f8ee5dddb0b7e0fee392093f05762af208964bb3761ce7271a3cccaeb5f9615649eae709d4f6dddeed94095245f2932c4f2137f33f74c041bf6fd165454f9dde85938c454b7fd61a22675f3d9411825fd615c4e99039ed3de84409bebb257ade26925911b79c6d179f9171ff47e045ba163b08dfc95e8491660bb84a76083c361fe7b38294b8b670a7fc24e3ab76515278457a7ec9b9dce40143f340cbe0cb63c0cf47adccad8a07cd294acee97c2984d16291e7c30f627c15d53e2e5c0ec5ada77b0e2762e3db0deece769af36c41517599069631b428e8d281205eddce7d834b86a79346ad22f81de90a9c93fcd7491a650bf5bd089d8ad17a81b812e5749107bf280a356851ec3d58183ccc349598b5695a8d62e39454ed72e7e71388c3d7d7c0e2b7152246f5fea117199fa4b1de63c7d41d00e146924f8b8b40c8c24acf7b1a0e83a370d32eb08d7bb4f238b965d41d64d51afb53ddb7710bf6bf7bccab084f83ef33c4057e26f56333555b8e0494e3dc83f16b9014cf0ada416ff78c2a748a05b9b797dd2273bda0f2c93f44bdde88c5cf01ec353509080fa57c537e0796e56e159de7708978f98f01cf5c6af8bc4cb50d02dfe3611080382e024963c66264245eb00acdaa7ab889242ed3f567b9e2e569a8bf27542b947f61958f552740366518c8072a58275ff30f080ca4ae0466b32aa7b7a05a140d672e6e3ce0a8baa6a5389f3ac5a8352613299f571eaf18d5486b033596c23992d8f9378a380217e8b52bb3b4cfb8d1b53135784bf710cf9645f0b1562b069590e4151201ffe722d6fc15371673526073bb34490c624ecbe3d6af00f90776456bc1b3b8ebdc5b66d933e66f7613bd5574e570ee4b570c3c2bc72e97ba4d20ae77f1e6d255ea477beb2d8b0bd2b60c1f568f2e505d4b5804b9fb22949ef2df9ab298d66f2876e806411a81fa2bafc06be758807b76d305dee5356ee597c4c71e9eb23dd3ca0c11330751d61320970223be017b88168b19793ce17271c4684cc2a8e1ac66a1b33fd4029ed288b07820ba457d5d920d0b776f6e75063bfea6979ef98524b2d8b8566e38d104c7b3530ee099c040a69a2b1f4b2165d721236e2fa47086ff2a9a4d5d1412052087dba985bb6561cc0e391b8c2281e9b0c0e254c14fae54d988a6b2beee547a4df045d97686280aabff2e2095b93269a402c617730155b0514935bbf13fac57bec8fbed7e5519b69eec85c88d0defcd6288c822e95547141d8ae26db6b23f9a1f5558de5d2f931d780b971ac30610289ae84091f2e1cc0c700504921bb9c4660639b530de052c44258715139d95ea7ba118f0912f815ba59d7bc939ff210d4573010a7b48c516815c381cc9a89a8e5e8ba861c1aa20bc049d59ead481ca0b26914d8604749f3683fea7373bfbe0809d852f820e3ec2dbf7e61064a7291ca648215942631b79926a1565b607cab0ec31976d4c0381b7e37d5395a320725c332416a18771fadc3ba9bee56cfc9eb2fdbdf1712f065092cf38a676fe919706d71f54618a14f6c72e4c958c8f6523e057c46ae9c6e23935a820c1348910df5bef8b984800d7d5bab5b7ed9edae4e9397af025ff3b7a0ec2f9c657400e0d7b15b40f90c6a5dd79ee4a2b66a07eb2b843b41bcd0204700aabe9903357c547cbf0233319d4ef0718ce8052c1dc90bb78baf08c828593b6af0950119ab4bf7008606a49fc654820001d3260b6910045d6ee6483525840d98bae81faab5d78f2814462ad64006cec349ba1c20bdbb9269584dd0c464c7651edd9545546f049b022c9c8948bca287dca89f79892fb2004a9b3ec1bd73b00d2d48c2ff3cf1dcb22ba27a59d66b1f541d312d62748997584cb551729f03c88ec0aa4f77bd8f159d174fe18cdbb6c0a71f75a15f02e55c2de121e2ddb8586e9d5b54e81fc98ab24d7d1c97691b88a62a2fe439bed4e582a10242aae887c49a98415512e58f064e174d35abf747dae10473cdcc6d3be7b4ed7afaff76c194d93bcdff09497006697f626042dc60f0f4317c12b925fed6d375c4aaf08c864adf965a6c536a4ed1a36a4863ad2ce41b3cc8e2fbb66b59d3f4918c2d377c72c1e59a0caa44a632d7bf001c7b9728756fceff1c5931466f31c564a4a135ea20e7e97e3a58768ddd57f62ea49539a8a25abfed6e27c88063d46fa6774816a8236ed15d42f156bb890453c8b965a88ba3537b0c726d95362c3782598428c3e107d22c6aff26e6f6ae0a03445fb45da55058abf6f017b3e871af166eec4a1391a5dd762ff757dc2d466520ac50adcb75fa197041e30b7bd4751df926597a4c19f0eac6b9ee906d59ede2ad5b8d0267fc8517ed3867734bb2db2b54bd55e0ce3f43d0b11728ee69943614937c737964853b48a792813d26c377821610a4c0b64af316b7f34879c514dd8bfb61d16c3d0d9792db839bef5cd68d73e72097a9280ab5fa69e6ccebb82620ef77720d686d40444e5debe8b0dae9fb1d66828be6b6e76f78c8189f8024cd68b372c53726f1aab86a45a93853ce4391d1ac5c292d792a28d7aa757a8940ff82844ffd255c2a09ebc6e274ef07095aa058e94e7dfb68a2963b9d5a588b6b3b7d2ba95e6c05f6b6e1975e7be76f5f97698187267f9f8eed14ca4750c950194acc61191e1458857f2cb9814d62b53bbb390ef62957a009c580520f1c78739ce62dde9d5e0dcd76b3e752e9181c324ae992a3a448c2c901b1777996724d101dad0e922e2a5b4c845b12fa842370fe7854f0c7e61f14656948f1f9626d1760ddc7d099ea71c00543c139f3d62b5514169539c096009f71be7ce2695a41c500abd043f2d68b16fb7a10acd2f678408dce2e74009132acdb1c7a2ac03ad0ff566126c741d3d750b7f6aab0cac3537540b8075e22c3f94d574ac0c0a6067fc7958c6965db1a86e4cb99dbb23e1a6e5467ae1e50863436c602ae50450c2ef3a48564afcd6c674975e2e933975e0e1ec1039c64e72b7dd9c140fa2ab4b61c08fc83c8620588b928ebec8d1d68419f694355cf3b963e03c0b5586509a7edd9c2deb6707a16760369fd27647877add74dd92ec3036e45128cd9b46f9d8aacdf503d9b91c03d48743b7275bbbacb1d10b1392b4de7a3553ff52eed2b340448a7243f7bf5618af8da76d5d46d95c72b007bd738a590a05bb96f65dcaf25e34b513ca25fa2f30fc47f303160166727d5f0d9c46aa11097bb2bc1ff5dd077196b6ca5d2b28045e33e36b0bf9e57e9b20619ca371618ce0050e04f49c441169e505d4e3bd9169bcebc4be1481a5c5b68b8a88ca80e0bc2c54f01731ad997df10c1b1b991c44dfd24feffaef9164e3d02b012bf700a5daac6aa8fa3c371ecf717cc01974a75c07d21383b5e3be7cc669e54c00e3ca41e030cee6fe350a0b225091dfa77ef9355e9f01fddb102dbeb947a641d9da20af8dc5941dbc708e18fb02c5adc051f74ae4a5194d182567a23643775f101b8bee9f50839ac147889bc5daa2c0be417a7826159aff9307a9e442cb660a189a3445420851f34827bda96bb53bfbb2fd18a941d03b12c66cc4394aeed5b12e0229ca8c0a5c07c34022bc48445909878e6c3623cfc0f7332a177c255aa1aa97f380574074377e9a57407b013506a1eed224fb37b77cdef72dc726b6d24335850b08277cabb7a129df1e6a9d3d4c1eff2a9cfc44abc8c63e836a312bc07b0cb411fb30ca087a74e2598e49b90b7ae147c4234b97d6a56a45585cf7a2dc7e8f5acdef38e39c6ad1e55829950f166afff4d0c610aa7951b698af14dc0a9fac5a98a0d97f1172a14c2663dae8d35747a978fc029870769fd13545a593f9ad7960842e85e2e01bb9c68192b50fc0337194616a41fdddfe07472ba65d6586bc51c765f4f3624dd01a3cb69547fa63a9a495df4a58c6eb8663bc91c1b9c9f2d9ec6555f1968d1f9561e175257b6dcd11b68c1ec0a6ef55e8308f591bd9e9be4f74357eaeca87ddb7c9855d208934a0b324087b8a3d9d94572b3595d9133a46ae18d6498bfea23b1ff935356f33dfec3fe30cb5440fa25474dea524fa97880f1969d19880bb58444829fb65a00e5555ea04cefc5a884d9a6f587f208f60428e027ec1fce74f59d52bb76284eed3ab79c31c0d1f31a3ba70872b166c0d74ad3a9c9336241b1f6bcef76fae7ff8905a27ac97315da4b2d96a15d8ed3025380a328fe8e8363dd89ef31b1b958c299609a9c10ff302d4e35ef85fc809f8d19de650245c022840ba0460f6332e32f9afdebdf46f537149062712653b4fefa7ebaf60cabc666b100cb6734007698e12155c4d66f0c97f667e691068cb7296b01903305fd37d0cc9a077bc6be620f82e2ed64b862fb00b99068136f4770b580947851f79a8feef99b843ece24e4e4a85a18becab8fe1d7b3c2cba79a4c1026aa09ea83f769de1179a44646df86811b77216b919c3dbfb4e82497ab52a3df8f4279db294e0ca58cd15328627717aa8abc67e7be26803081ce99d4e1bc8e6d62d55bb8f9593b4eaec46fd514d277ae1733cb13ff4b2d6f9529a32c1ada551cfc415c854e8667265ae06d4eef57767f6ff7a5f2d0617e26e53e42cfc982859d53b94a8e54a7be9f958b664a254ea260123e6936ca76bf27e4b327d5fb4cf97e7ee18e2e0b81c1228d7b7b8b3bdd04271abff4c9fd1859797e490a7ade91b37ce73dec648052a92c10b40e10dc3e0d9417809d95f3a6cf99c0695564a1abfb5640921eae43f89aca928bfd787b8cfc7c5496d5aaff8ced4fccbf46b98a061b4169b0807cef5fcef872364d7064b601c2a6100f17e0b2812cf25424dc9791e2b67360f164f52b027d6b62ce410e7578f64623420f6bce23e636afe52e58dd186a9b593a24830f9d17df9d5db7e9155f59b5970000e0285cef4d0f2d0328c03919cc76cb31045b7d8db41f21672b7143a93ead1f292264d1c2d49509123aa0e5c5fba986ec1f0f3ebf251622dc1ad1cacb4474220d5266296df9535c66feb9b3daab42323a2565dff9ab16b0d6b7e4064a3c32d53a37488d4b6e83da10d710f4d806237714724ddb0507b69e3aaac69a163821eac219c55785ccac9a33590b1bbdc280425a670f110a4048283ffd62415bf2bd25d0a28a59bc975835d8176f1842a9047cf8301400536955f13b879f9b1baeb81f172491e0dfa6d612d2b43b3fc01d4c7c8a3ba4dab99deb22afbb43aabc4db8af8dd8aaa301fa1bbdb0b4645f87e97df6f519787721ce2021fb20e47ab68439ef78b246a15e17a06cde0a0c79e5879eede0ba7b992357252699cad1ca86a3a55af4819858b24471b05554b3ac0e6f6ae2cf12be24f1e19ca2d21bfc3ec0c30d7b7fd15bda7be1300c96e34a6259abfdc439f23b5c98a9e92fbc84c3aba73c61d7dbe723ad4ad5abd8542c2f728ff54bf8dc15dc2abb808ba35fe704c5d23355acda42099f023f34621f8989a402f00ce307926260226b3e90767069e69ea213e470389d0fbbd0f59b630a03e0e583b45741090b74c3877d143d6b9acd8872e7c534fb53abbdc06fa2a5316fa7098e9cc2e93758142d19a18d14c1c1d61b1014100498e1148cf1e2f5d0e6cb54dc9881473387eea246435ea3483260814fc447976516a2ba39fc220225750abbc5652ae46de28484f445f856e500cd222d5ebe1ef241b74b7e774803197ea9443449bab9151012b85cfd7542d03c5112ec222dccbd3a7ed9a8d0d14d2b8343d51dacf05feda0f6ceb234ac028d8ac59a855838ace77d33950ee04fe26a922dca99ab94cb097811cc22b9c71b71479752b034c5229e9ebef93104c40c07c647d883ad0c404ae4cc92b4ca250e7cfa128d5c21d3330a02cc3c020e7d8a559c1be1ce39c9975aa58a333fa28b714bde838da5e54508e804ca224dea28cc221895f7b2d5c9631fe4b506ef7110835999fa1ec3b4c04b4712a2e52939a51b1bb79619ef84b8e67a4a6c72dab10916ae097a3b74c0bdc6a4ef88dd4ccb288c6793c58bc48c4eb1ca3762aa80bb0b406c1b7a66ce8191a5d9b2e7a8f720dbfa8ef595c11540334fb8d57f1dc8cd30f76a6d1b60055a797064751fcc686b9bf17dd025d3fe06bff1a15bcce43c1ee5bdbcbb8b0351916165d9b10eb57abf01dee57ac39901dff7617722c05587f7f3305fed528dd387776d6c6885f691f30eb34a6bbc805ae5752abb51e2de0f465dfc407f1260aeb59e9a20a662fa56bbb269cdf4467da3ed7986aa782085845a6b82eb7c2bb304b090d291ca6c9d927c56fac9fd872da6bc0dec22f7377480f2df81372c441502d774857c40cc47985bb596fb073b9525fc42ba89c8227836564fc833506af24ede0fa0180dd3e22edbb2246061352ddcbebaf2c090c865acc9c662d323aac1951628e7b5a2f727fd4114eaa3ce3a3ff4476e167307daa91bda1a6b944732a3d588ee58b7f8d8e14c8d1eeece7fed953ecaaaa99bd5019f5d246f3e3811ce4e64df9d8cfebb9876d21de8e8bd9f57d22d09ab563e117c57d2aeb563376137c331fb397417cd7328fa6edd46b6e18c1874db670a0b3cc90b963851e4f21f6ef176f1bb3157690d4ecd5425169efd9450efa27086e4e6e92f4b480652e3c673eea37eee285e8bd71bdd8f372cf67148dee7f2606637e493669c0eed92a0b37f32f4a6365698609b2dd2bfc97aa4ad3395133babd620d6f70652d7031e38a38ca7cce5ea0d6feb1a66b1132afa68430fb3d7c5f80a8d7917215fee7e31f38b8ff20e6265d4d9e7e8cb190de100674bbeee45a9d68f627f06c040e9b363dbc1499eb12a54b065022a8e7706dd5273cf65d54a4a8c5ae4dfa0a025d79f999f8a1286a3527b66159b477f02fa4553c3b1b3cac0f2bb693223f646e2b3136a29f504a1a4b000e55389606c9daae9d35c64e4a311705a7cef4bb129be8c8379560941ccbc12837ad37d0a33313c92fd7d22b6509b6f1ddc8c9c196332a4b2cf88896ec46a41f5e1afe0cd4acdfda8850bc7de19296e907c58898dc6b8de2201568ea02cb27f2977c9fc472752ea408c30b0efcc5ccf8dff8adbb470867e15117bc03f602d3f91ee9ea79460118d98a3390ee36fbf10747d23b4802c66d4796662a7a256169c7bef8604c291ec2dbe03bd635b90a325b90813ff368c6ea9f406c4166199773199cb563f3523abdf8440f8f9d4025598d47c3c8e372e628203264fc9205c37a8d7a54b6a5fcd0bd7d957c5ce9ba6244a4c9ff2cef9ab8e761adaab22b691da87b03bcaa1b05277659f933fde26ef2d9f4944777c6a298c3d46cfb19a559898fa47b4513c70678ad4b522dab708ba6950b9b847325a7c5b96f0f49d176b3a1524afbd8b637fa5159042a79a1c168f10b367ca469d6ea02b343656970f4d834f6aa377463b0a6924110677a11aab925de4912bd706c7e7571d012b34ddb6324627eda1f1a686e1928f8f0bfde3f3823d1317a81135cec49b159a52ae48c032b691fe280fa9d0089f9a1b9fa396dc5814d05e8edfeff2de6496e2f9a756846eb858bcf17da5cee944d5b0b849c2b612c2b696d8e59be5c5276c0060972da76a4bb720e93e9b3935d4b6edd9f330a60ae75574166f2e8fb38c5821c9363aa929eb79ec9863323aaf42c93dbb3e5ad6703775dfff39085c63bc210d6d3a562e71be4109e5f45379fc7d9a7258996a7b5036773ce8faa0c016a2b1f3d6c06b8459cdddff1ab961c91a2e3a162e80f93604582598b1e4d7e917366e2179dae548ca43ced2cfa3450fd27e727ad5cc7c455c70d95d821fd82dca0bdf8a3092013862034799c3a5dbb0b826a1fea785572bfc89d3c0974b863ac17eb442534a0382a22cd0bc8752265c3b62953edba9d359c46af136faa05cb93a1c52832842d585e000363f7df9363a6cbb6f49e5b6f22900b57c7f1b65a3df8bff8716fd26335846adeb5881abd8daefd1c6cd21b490704feb396a9ab0cd5e6cc8f15414f1f8336606d44526bd8a48170314cef059a07173ab893f9d3bbd9f855515c30375dd5ca43b64bf1011f1d680610fe82570500dc616dd05ae4708431e62597db44c6eed7d0094852b57742bf3089331d168dc6f1ed14f6db125993a09f9e195ab14b6e9e4f3b422c3c3d109126421bd01861fd3f422941f35c10ffb4901ac45ef554dd49e24bdf2287007c9c11201003c354871b2959dd314d4c5a9eb6d08d5ce90ffdf40698d8eafd3b204b68be5b347422e9a9217306b30730bb72ace70a4e5d518e0a0ea96f53a48210e2ac9db8e6cced1bfd3f958bbbf2b2faeae465c98a111c4e0806537e5bab862ab922590a8f4a03bc12b2e0fd9b7520594a55d913e88d0822cd63cd3839da3a0e853bf123e738b397e58c3451e887cbdcd930bccaf8b4857bb7c342262aea3e4ce9b6cdf6806cf6a2bd37f079dc667d367d119160f19fd573fa7589bbbe1365f46439ddcaaebb1e1057f35a86158b25da36346ebd7583e6f15f4ad57dcf13ac3eec87754e60c73244050bc8fc6c2d78abecd5e1932db8c5374b72d4a7204e70931429bba4c2c1b395a383ab06c4318883d74fd41246a3c2439633bdb36adabada73fbaa5a1e5ce72e7478d98f8aff34126667d3959486cd2a713733a991edf6971b0492310f43dd84209af2b98128f02ede7d85d1c117f3ba3a4312d0065646cb23556f10eeac2bd18202164588e56b5708f90806bad9794c257f7517b84c1c3f9a77e323cb54a7afbb2a2bd9b2d16618220f44e40fd644be4bcda9741aec0a64a17142081ab1d2de3e12492daeb5e524dbf6cf8fc386f7a846ee5c843a30c2865ab4817b225b45e5c44363d84bf341e55888a2f1cae33387998bcb5bb77ddea318d6ac26299c285c0694ed77850dadbeb81cfcb913d27324c0c306dccbb9a19578abba4431730cbcb861671943030ee4b1004c6d4386cbe68b922a5dd1230216e549e843c6adbcca02f0976b19a009c6e350e22206ee7ec1fff6ef5632ee3501fc972a52886f0f1faeb1771e3ae17cd1cd081bc317da092fb350fe1554424cc0b11be8aeca1678e9ba68d76c90a42210d0b13616bcd84828702e975dcc0a994e9fa4f6074be4f3013f22758bcf9aeffa1206131b01d8911ef9cca516740b9a63105a94f267a7e3633e20ff259ca44a53630e22eaa5ae81262a87c498220f8a91a044d4cdb4ea61803de619d2e244209d955c7b0c61bfd251b044d709b97049260e2980efe595c596d83880ef27a89250247378c1ce04e66dcd8fc05f778a3930ab0141b37cf4e0e5736407f20528417c6a0ab83796860b5211286efe48602365da1aa8ac82c0dc3ac59f46bb6daec8a6c542846ebca60c4f86b59af49c6672e5c94f16eaf31ec9a0cc03faff4136f572ef4c965f4f037dbbe5c5f5f411fd0717cd7f24ab8995af6eb473538b98880919d9e958fd6251a22ad0846ab4c437b7bd924ae361e39ec470e3b93b835584ec41265e2109ab69976fd75e79890c54bae0d1e20d1ab7ce35db6de3995eb900c28b4ead58c605bc617193cec652fed0027a2f6f0cf78ebaa4bb5281c6299ac5b779a6527fe4fb50daec64139ec267eb44a38e55437c1a8737ffd173e6da9bb435a973744645b4040a0d1439a9ad361d64ac7ca8c6c3d9101b88c6a61e186061b452bd92f62887e544be33b26d11f5fe155e52df382e15a1294d6be01c2326325bbcb59a38ad483896799c34661fb7f6ef68568e70c5da3fd57d1881d906033defdc65561a0ec677dee5385642066e0ae999a00c3400c9055a585a698931e2409da95edbfa9a6a39cada9a5839b6c07f7e11fc681de536a781475f2816504130b2ee020bb6deed600fef3758f0c2a43be6b0a53306f7145ed4f6fa63c340635c977729154563ce50cd1cc32857ac6d9e77167c6e705f89ec645ab8a8e1013e64f589e02bb7a4c2a343b74cb233638128ea8b6eafa04159d62572848a47e95ddb0986997fdd51abf4ce5e7351d2141811dbeb38004184ec8018a1e7db9bc97394591ef2423870cb075c44b46c1cb94b82917c82dca9b877edb4f55732c16a80fcffb2cbc5e7f1fecc43ca9251e34179d455759f28553501ff3a0d017ac014574665a319d944a1c8e147faab0a2a3508f36464612ae1944f5398c352b7ca69194e6277911e3a2e4cffae9185cc52e61dae3e4e9f4e798b584f56febc552e520b424b0e9b2e0dd6001e089210080026f7b65149ca0200c4d324802a102ce208d77b906b05326f52099e8a5958dd7cf345f57353469cfde5d6e3853404b66f8bc865feecce68edb6e7669df060a337e6eaf23a946d086c2fe6a58f10661bda7912b0df8d84d5bbc9a244f88db6d7ef1ad1d00dfba39ca84fef342313c68ed314a141b67d63b5199738520d594d1ab5d9218ddaf5d054f45abd5f0097f729b8cbc1f91fe8b4a67f9d240d0820ae10e4cad6db468c241b3a18565d52e3adb0fce0806eb9769bcab335ec637350a5cc413b2c148f80de046d87cd0926ebe459682d147b7838b4590e7aa812a5b05b6b822c5eddc518360937002d41cabf7ca4c050c5bb1e77ff3e05b038de2d1793a896f0e4c70ef2f5ed57ecfcbd6e35ae671263b7c2e2a070c685fad0cfe14bf5703dfaa2d79e423d8c811f7ad3bf65bcc285b924a5250f6b9cd219667d451478e512efe6e53b60527e0bfedee2307cf0513c7bf270c998383ea75f393186097ab63407b102b992fa1dac27b86761fa45bb8dcbd733092a62bca03ce941436e28afd3b5fe499280cf24d488af4479cdcbadf375fafe78c18587a288573ee32a9d88ebcce6a48e19667a30c1aa282f057b5b4d38b587d2f7bf1aa5d0f5f3cb43a3878ea215560886c875f0e99374d9aa3987e6fdbaf9f0a04cc45d328c5f00e7ab8bd2e87d0d905250d543a3baa16a5080f4135daf62aa4685374f72ab57ce31b0d69dedf8a8617182b74341b88ae20ad2c67f219a9dc5ea0c01a86b3469177a3010139b64eb16a2461a2848814b57aede7f30390a1fa84a3221a3b72d8004af6397693bc3c6b9a62b8cada14933516e1657241c1354611bfc714383110752083c3949e4f067b9cd256787101f73e9fd6d3242fa6c95730c472999e9c0925537d0fad539ab85cfa3bd45a2fd5e480375f245cf0a894f5cd560d562a09fe245e391a7bb26e661a666784c297459b609a465105ae700ecff5ccf482c7b3561a8b42de2142f37382138f5426fc375cf23c0328670075c9ffbc5edc54586adaee3695f18d8422e46423c8322f75f78886cff026a8ca3e47261ab9553db5165900cd6998512f1544f181290da4e718e32002e97373efe800ad72b9e071000daaf0b4abf8c61eb668f1f8838d9f1540d10a33f5b406d856b0f16f82095b8ab82dbda8f837616f9f55e16a8e5c58042cd8aefbb8a15cc322688c81dd18eefbe7a54f276415664789a975ce880c744fef29238814b475c30cedcca3387f4fc6780b13f05ca02091cf1323e4714434e28af6fc889984941b7becfbd2542752f7a6a57d4b8ff9d1020122d511f2ef0e1f1f1c6fa619b380ce60fd153e7b50e9b35e21a70d185e02ba10778f17aec8e603141d57070cf97385c030efa44c297d0e5ae5d445b6e633434d70feb2c99f827eb5213264773a0422f962a2a90505af928d3630e4f5e36347a7fa5cb929ccf895578a7782ed68d726ae49b8b82f7c275656e6ed305d13ccd72ac74e9678aec506a74f30dee7ea42aa05da172de5e8cf4cd570c682f1f91b6d3473385da4678865cc84a7083f41d916afa0d6b1a5dd6bbbf7e47b860eed3b50718217d72bbcb5cf32467967918eaf65e07a7cdd5a8ee6f5c37df3f3d7ac18bdb81f7a6b0b15e341b9e00a1a3279365b37bcd6fcfb3034208a1edb306621da05423ad02f4978499febea8dde3aaa87c1dd7c04d8a53f8582469a3a0bb492fae6afbbe01fd0c50f1c3c657521632115c453bd7202eea5b55808a68bf42187c4482de01d6472d98a5dcbca061ea819cac3197e813fc06a14cf52d7aab3da2ba4280d0b7f842e98b70f8467c48801b1db2b6a1544d1d774a4987b7895d0eccff6f451d6ea114823b8abe510b247bfe7694d47741238a333a19aee38600ca5402db973e00b9ad2050e1eafc9e7848ad2c9eae758979fb2118bb359c73310632fd7b8c4ee725f8fb95717748b70f25771a5de2f5047e605b91c2786775cac13e478380e791437e4d2c50a15e62c40ffeacf9cd7a7fac2b2d80b5256d7a2f7ed7c38b92319c46dfdbc77c0707bf62560dea8634b0a7a52b34a171aa8d86fca8565bf98cb098cb3af041f0760b8e52d0fc940b3c3d94170e38a20d0821cbc9c08a3a4bb5525ba7edace78821dc9a2d05af9bc573c1cfb68575d02e4c5e16dfac2568122b9d856e7e3ad2b416980c9a6405e0e53265ce6f9e80a620a5b73569b3dea1acfc1157afe44d4619fc898fe46943180b2a564a1121d01e65b03cbd4117999494145213d824c46bec536c6cd5dbb8d07c7d4b3fde75d039a03337c1ccde44029fea4e5eb6ca7bd54867710972d91bfcd4e672c8c464356822883cbfd459a85c446448d41f4cced2866d5f3b0b9dbe2cc7dc6362cb98389b550df50684eda51637a8b3d860466ae8eba3c66bd4379734a056de4e351fca4f730175231d26b480e641b386e8cc20ef53768187c9b22aebfaf4ee42660337b92dc476222d69c50ffc886040765c5710ae2673e1b6f8f490a5462e295f9026bfee5d81c488b0f9b00e9289ecfa944901268d736b470931b7279125cbcf1dcecc69fbaeaa98c9011240f9cf16efb886f5461bd0d3ba7069f5191c165460bf9923f9141c85688535e6c6307e0bbbdb326fcce2831c355607a23897b0b6c97a1687e151eca4eb6bfcd2480efe0b273ca19bb2d71a44fb72ce00b9fb6e81abbc185309b2e4fb21ba32e4bbd5a9700f5ccefc36405ca7d0c6ffa5c0c026cde34e12f6e21a194c6095e156583f4e39b7bc108216902ae109d32730bb2329c75099a4e4660d72a32ab16661331f344d422df34910f75da8a4fabd6c4403f44011ccb750b3eed451f1d61e026501a1c2452bcf4782419d81c5ed135330387112ea8ac73ca755a5d0ee588664a0891427a67feca5aad7f4dc512bef48ca72f6585b4aed9886c489cbbde36133d2437b6c8f7f20836d5e3a0cdbb2c4b217e368ddfbaf580deac7e93c305d4c5254d8498edf6197b227778b7b7b10ec4bd221b552d30b3e207b3d737c6d18f5f39cccf27844f3d1cfe96353db63b53e60b8b3b8f2aac3302a4f9678a6a22d4d18f57e73613a7f14122ef11ec0ee693b771406ab603bf5532ced249a00292d7233da32f5357d23a753c18ce31499cab96d0bd53d848d5f8b1c6600f4ee0ed54429d70492780581f95896af998cab9f6a52a62d97f02613e3dfb32a7de0f28211d9a7f526a8a945e51546bfdebc69027bf8e2441a0471ebc35be18c29f634c37049eb4fd4db2190a3443af113e551df472ae0d17bc035569c5e4e01c1e8ba3bdc1b6955cc82ae099274467025ebfbc765989e415d7155d33a88906cb368f3633f811ba499f9df1f55a95c3ed136c02d7306787eac67837722a02c3679e44afe5c6e031cd9a19e1c34c91ebb774cae270f7ac47f0e2ccddaabca1a3b7c304b540ffd6be51965e8f1fb075bad9fdfdf2969904e8809653085ad6b515e13c60b1f20647e7b978c9c2802454de71cbfc176e28a90bf41ca18dcb13d2942c9ae002cb930fae36e80ec69bb495b07fb19e70f4294385bdf5fb51e935c754fa5013b066f1d93755d7377ed3bb609227da31994cb8c42e1204003d9cc08005f97713a0fcc3adf11a6facfd5e1b8a8f346e73afded3c6ab38576adee0de1b16bea5e02fd23db40ee8598af4c0493b0ecc396652d50c086de59a3f7191da243aa9159bc3f3c1d7ce6e9198569dba4ae1ca40ccd163f1bcc78063747e1c7f9ab556c5571260dc77df62654ace74141654104998b046e8a8056c45ce7afd66e5d79d0bd20a364b76d33099d3ef1ec01a657182da5bbbd6f7735120461fdd8b82bbe513d46089e9871d5c71a858e1ec1be1196966d0485d66ba514ca8fe93b079603c82ac39a6cb47c81c4eab0509c48f92d7d785724f017229db375b410a01ddc17e4f9a4e9f53e1ac1af858d691c22a30d1790b6f0fb419ea69a18963352a38054a5cc6d059e5530e7ec6d3f319895452a76516a2bf49cd5dd68fd94d6cb7737ff91553ab68665f4dacf6eafb6bdeb1b38198666c7f7b6a2a3b8650fb3a59346b2ecd78d541e9bd8b0ebef8d9577237bd871e4c360470bd249ebcc0d4d7d87f0060fe5f9985f08dc6d15e04a27c1183cc6598c52a876d16ae30b87f63ca57738c7f71fe6724ac43d2687d034249322c26f4261760c746597682af80eebe13bf20ab305510f733feeadaa1a95c5137a9f0e335096181c673bd2310884b9fa06ec3de73826e222c4ea943208387799ec2ba66165e2c639e5f2f5a9213f05e5b89a33ead7f4e2a1b11e9fae8d07434f7bece61a07f2d3ccf5530397df5515946f565c6ac41386c350d4506feda75245425c0780b686915087cd29e31747adf0ab8f78758a70abb8dbe0486a766358c89375141b98e4fbae8c52ff2bd38266ca5aa21bb3df40775adf936f0f7247c696e8f87cbb413cbf05a519377ae59d43fc167250e26061df2d616c24668551d295c45fe5bce31b9befc0ed4ba913ef10fff139464490f4c18e8196541db0ff3aa5cfcb745e3aa6f7288bc2f08391bcfbb47fdef2ffd98dd9f521bfedec7b45e8a343f60bea1cd121a9fc1f26bd5252942ede036a53990e10810f076cd3853b41ff75fae4e0322586a1e5b94acdf0707d50dd65765f19905ff0dab289ad2465a643f4a096756020a24024dac4b9e2837e318d0ab98d8dd1eb787ce8bf400fdc646d1d049e85a18f512084fc3e817b3b98ff05ec03c3928c59bdcd442ecde99aea6f36f29374a10582c6c14e221da45424080910e95bd38064acee39396623a5c081edf2b998bd4107f06b8d5f369f746d038d1174dcac83ebdb3e7b4a21f65580ff5777242e6b31e76a45c8514c25b506fbbb97431e07e79689cf246d944f45a7f1b1fa7daa946f53380d6717de2083e0a8caf44f9d57ad93a82f2d04ebb187c6302ce1c68e251564d5e7c0cba920685df664b88ae7c93c64f269c8fb3f56fdba43c39dbf63ba5823c401724ffe3ef5e79573e3b6301d7d58599045481867d1f56b2f7d24f2c11d93120c6bae8b464913c5838f6f64660bba14defe66816de6be6d67f9187ed8718420a0b3f07e2aa515c2ef60c75ffdf435276af39d0670002c0fcfa55e9dc44955de4272030c7aa1607f444d0eb91fc9a4ec512f545d39fa83a902b3b734aa5a474ec07134311b1a5b79371113dff7b1360ddcf68cadf6cd593ee2b7ad98939e91a815028ab8c0ff49a70f859e397e901d8c8d105ffc18ff2c4c23df451d357cba4645b2c25c99533dc4b90fb8eb7375bb6d3480855b6bc50e20d740007129bc8eef539329859a5876a49d0e2846cb78bd1c262d433ddd07724f17c40f9c60addb76a48481d4da1d46c8c1f374e854509a6fe07fda07ecfa57b7e8b11d08d191d6d8e3ff2dbf5a1f632e19ce8768d5b6bd2b14597adcd5165ff31d9ac1f2433e57c3e353f554194d0615f860e06f350b398a242c289745b94e09c222c0297b38ecc17c06330e84520a981eb98064549ef8264b57648c48c5ff2dbbf013906890263f003c9f75d22d629ee580fba249f2e652aa2b73f9a6f1d3baf9dd354bb2554cda899a6ea338aee33a0c726f505f5e7258766525ef5ff3f1b7ca043a456fd1447a3bd8bcc6e8e14d80b7a78383ce73e7c4cfe922d4b151778cb09cb265a8d7bf5e32a5089ce19b96389f5bed52293f158b6e5da5e8578354907ca7b5614089a3b39b36b1c329b8052853dded3ce1a7f9d16e54103da1bbf9e40838dea50e8131d65fc09e43ba0d4b3e15dc5d635ad7f9f4c65ac9104c6eeeecc7dedd67492b448cfe55a8eb968b934a7fb549fe2632c57838cc46d077d0ed0965319dc5735c82640e30aaab1864a65f3a2a6e8a79fee584598d825a9e119598edc8b44998e0371f96e033b2b6bf1b769cfa6d1642bb82a96bcc6eed6e9b8b87afcfe7ec50bb0105cc187258ced6fd1c4f7d1e931b6a45d0ebeade615462f1b4d6f29a01aa09cffefa9e0068c5af5bdf9d4b00aa682a8277e1381ad9e94fc465f48c92eb2cb34a32c232b3b1f668846e759512730b254b7d20bec5237c9d9386c3f1320d75c57c18a2e5ff543489d4b87c1071dc04c74ef30340c76e2e5c6464798e3e4188095f538b74ec49fd175a10a54dc518bf2e40ee25a1b941cc3c15fd61d808606e6003bb3faf305b409a30ab5bf44feff0426ae49267e29df0af5ced87f87a4a7261c5af562f23910c4f635561caf246a4d6b349895a7cbaa8df8cc88e4205c6ca283ce80bd2f0694aa4f89bad94584c864c6ea913b17648bc998ac5dcca8f32bcd391e0c87ee41043bc604b8f750f58b0053bce64fe007e691622400b20e691aebf0633e82e14c88d1ef38b74ddea92c4a9d0c9f21ddd69d10e1905994f1e31773091a499ea7a0abd90692c3a6f88881ce2a4377a8bf4667cb381e84da6025758bdecb1a4642737c12f99a46a263e0607bb353451b5626f59ee84e97ed5b766fa269c0d4d77c04ce362f87339b9cd1a275a9e833e5dca4d85b151154cdf709734f885ce5b17e5090491b782c22f58076cd9789fe757d0576b542a069ed923a98225bb69472ef515634fc6aea94e458e4f68b5b5a075c723cf9ad4981b4597134aa7ef32ce6c582e011aa25abd31b4ab73ba365f1199fe736261adc2cd3ceea083c2c7031e1a24f459ec9906127d402a1b99de18fb1d8e6d98de7756812a7b7bc1e61757bac0efcac63ef1ea9b0a52b33e4047de1c40ba63099d97aa87a93eb5ede86e07063a83434097c9a41e8831b4af2d253627d269c3d95abeff54628f4839366958bd2b7586745706e88b214d90a4b30abfe30ab7b3273e0bf62e4ae1f7f85e8c5ec717a2fecceb5a323c187fdc6cd0b0156e3ed80000fb05382cabd01d21391a3bea9a8d8108d34699c34660bdef03b0cd1eb8aaa888920b5120f7791d63fb5a49707fe5cc8b6d790c06ed9b8c6a859a3057bcceaf67850cd76df59f55d9bcda8901c3a7611bfde52058fa8c223e44b73c0104d3a97d5031f8ac101329246b05ad6acddd41b7787cd383d172169aa8d1c52b1ab705bbb09c1b35aaad65d7217df2effb5127ba0a9d870314e449fffcafb7af3b36b2f025d62f0c1ba89abc2cb490310993de5c1e37c94f7368c3d9f613a4ecb78484a5e497867fc158376d498bea897a492c9ef9c0f3925969dbc5e72f218dddd7913453e64168f8332ad3d1ac9c5c2df6c74b1a68b3ad0a3230fd37ae21e62299fbf6187442ddc604b27e66b2973ae83c3fd0aacbfc07343eac5a55298a2daf27e35a548b6a9189f7a64a44b7d5412a8fd23474306f0cd46e0ba50b0500974ad00733f7892f9372e524679e46e3c0aee121e85d6523154830a1e943f01167ba3b63f9b2515b5e6302fd25327fbae2b5c803e5473ad7e13aaf03475249da2b08acabd4f3c34ae2cd6307b5212890d69a2e5370a47183ce4418c84355c004bab2a03b194e665b50761d35b1ebca3c1df8d98f427d6ed5f8aca8fe26942a6361a5e7688175aa495c44ce26a68206ef0683287ddf53a17df7188c18883450fb8b90f66ccb8767da9e55e66e028c2d0e09af17a5a8b98d71e9087d076e2141e66f5b852ad0741dc21d05a4c2cd4336b20810cccb94f0267744b627dc6033bef24e631b97564ac315da2deda63a2605dc1fb8e7a9f2484373aa4f18b017e32f312154beeaa530593c6baf728aec07b084ee7a2112581239eb903bb254b7f978216a266953ef3aea5d567784ad199714630dbde4dbfd3b01c227b3f17aa8a47b734350dc18c583e4b5096b695b2ad1ebdb51ecd17630c9649e74842fec57bc61680105edb19138be969d33beed87968499445a66646dd2a52f53f9634cf36f8e486a11a937cee14206d4fbef49bbcdc527375466bea87bf99477ff6cb4840b43ea5f3e5d509ac14dce1b672c9ed3195f43b320729f7a0d08b7054f24699fb3c4d4c07f49fa11c6605ebd082f91872db45393f4f6cc1da4438e602f163c85c75d467a3492855ae203e3ee5f8ef6e225c376a652877d4ffbcfa1d4c4985012207dd76e6b508e03289f79d1f5b2d754420dc3ceb239e698c5189ce6a9ddb286db14a82a9d37d8989181fcbd17bfe26dd61aee4f9399728085dde4c8cde6d2ec4158c728ec4d30216fae58345899b62d564df9c70aaf07b7c8d0140f1f640d33bb6ae4f276417375a6b231eccc1b29aaeb6f8cbfebe1c22822a2b458b2fb3f1868e6947c2ed4853d4a1bdb426378e0d1116103532aed0564101e30040ebd1aecf1caeac37c8b1ae1814132056641bdfc4f5d74c60e907d9ff8f91c9a14afe5d30ba8468cec7cf264cf6c9281b340e821fc86d185b9e824b88792d96b343f89d7f3f80da04d8d80043a510bed056a1fd19d29046ae8d0919dc979c28c7d826e4409c50e4b04a3b913dab6cb60c19d9a5c9a2c581c2f568c639af591ee9fb387bee2fd753aa8afec8eb632988cb8144cb0eb539e9f14a6fa495fbaf06107e50e3b380bbfcacc27e6646144b8baa8855aa645844f3b1b5551df93a04ec49fd6cdc949aa826822370291fa6f4defb256fc3e8e902b1253ad39c12d121f43a7c99848f86656f2925a082b263a3a862b0bd6825daef758e5eeb54a3c9d55574d95d39bd719c4e476c3142606163acec83857863d3d2eb7e8ca5fd9a3569bb77e89b733906de1b2a79a046e849a1e73f6095d62522c04b705353862c5a12b7e69e63a26ad9cabf0bcec7064baba917c9c2ed27ad83a825b5f66e67dba82a821ed4350c4969a46a48ebba958639663607640dac2fc18965652b5a90553f9dc996b1fe94f64ecde39a3a9aace15b1693936f9e22356ddaf2a67bb12a0fd3e3cdfb23846ed5542c59bae18434fb709fb23a0249e13f5a35b9f669d23e8377edb52b805ee05e5e4208be38d51b47a69c38c8b0b4bafc4d81046669088f8b4edfe5a7cff62161fd9b10202523108ffcfb080263593c7ab035160578ef8ba597b5dcaa603f23172a136485725d604ec8f16418ac0c6e4f4ea56b03c7e16464a98049a5fcfa5e7072593896a34af719ed2eb078f6e300484295dc1a353ef0d70bffda7e437adc55fc70bbe72cb306d2e7808a9c2561bb28db0ab4b398488ea336b0dca766056f8bd82aed385034f7fede97768c76228c81429b92399e189e5b87b8efbcbdec39d8037d26f7eaa1fed74bdf9e42126d6ee22deb5fac5f579b74378f929183133eeddf916025b4194309965e92cb053a35b16462e17199fee0f1edc4386c1dd6a18877fcafa6847560d20ca3a3aa28c23d0ed206975d5ec9110ba1f9a0db5f4c98f813399e78f6358259870d92324fb8bf4f2ac62fca86fc8535e5a9b57a16198aadf2dd85e3dfbee9a272f865a22371555363cbd80592ab255f48dd941943627fead4bb9aa35e5087f57e4c0393cad175ef8413f86701159f5a0d2686431ea6e28336c861c9c67628cc64473b74b5f0b621d2c5d9ab9e27290fabecc86396549aff4608127196392d4cbff504aa9e77cf75e642c4eaee517e010e39ee7b9720e0111b54b76df9bfd297bf7ef6658c522ac4c9e5ba1a82a4f55bf9e706791d938d7cbfbe926b734fdda4f2fa8eb262f632f4d3e26488ac1b19383a10d716a3ad8e4e257575f4127cdccc70d132cb1e1969b8ab60331bada04ea59e65316272e19a274945ee84599dc1f5270feb4390716ba6af585dac7e027d5f80aa396bd6a258dad6a037d5a6902bd1519711413e77ecf3ae35292805b8bd111805d9a4da301b5469c587235a1ad26ee2f4047ac362bd8e9c2191f768d4781b635dc497a2ab0f0f9b9b6f7638e92313f84c56478a56986b028acfba3f62f0a46c5b096d613b1c07f47b868d9a887dee6b56d095098a3227cf022070c1a697c9154863a23030425254b42dbf1b3839a7752f8bd8605e5027ae33db372de7d58c16fb1e0fe6b00d63a91f425b5e4fa1dcf7ec72d98adbe6c22d121e3f6df5c06d8edef76094702d2ed9644ab779f3a31909cf32d62b5fe99b6b0d57dba174bb9cf67586e0c77e70206aa476d950df8c67900b601521d4c940e77bee99d27d9c02e03f3080123280ab1dc4a7d92fa9acf814452c9948df6052fb52cd26b41648bbcc8b4fc196f2c00af6b15f56c73db3cbfc637588aa56babb797bd4340cb7391b63ded3967709114e9bed57661ed97dcefcc9bc71d9e066719d1b5c938b7087b6b6a2f681d53191f89f1cdebf7ec699dfd5c2941f7f5707c9b5cb548f2e4306ebd0de416d1c7104e47afc12f36de237dd9b344b93bb8097d2609b347f5996f804757f9755a1ab7dc1b8454a31529f085a7825a472f391eeb4f3c6964dbbd4dd968e13b7befbe63ce47390cb2aeba1c2b799e5efa9af8f4c01801f35d5cead0c71016e36299574c34a3dadf3e2ad1425486ced862b717e44efc95370025f5aa96cef4f17e797d3612cfc90bd5386c72db9ea82fb61ce6dbe2fbd8c0079059b4e5631d145fb340e0ece9f1731180f5ccd3bdce61968b0ca4745feb0f4dabb241cca98854ea5e86fb4752a9f547bf574070b1e8f459b0589099f5029ca09d57c7aeeec125a303bbefbc7d95daadc06a1178e380ff555a0fb123cdf480d384cad012e5bf5a7b2eb7269cfe98c3d0c577b8f3a0afb3913b272e7359e6d3520fb4e53765a87ae8e09170e8a3c6b0846eb7d878343a2b1590f9bcf535dcf706b8e70da7863e447bc7bd0e9ff779e960d12a37791a1020bc0d912c024fdc3095ec96c36828bac5bc3738978e896643181f9c67a21f79445cc23d3f7421bd3f98336e6b9d074b6a2b9a800539fdd5c43684d6ea8f951c6ea3230381d9b7a5e376b4449770f4568c387d68648fc75e0bce59d9f87bb3a84d75cc20fb19b16e93891b4f56a6cd408206accd57ba7fcfa0aa60f9fa9b6c907d637ac6c77d1c290a2c66c943ebba2547613431b8d999724324938d5c8625be6d82c66d761ec919cf23fd9a66b93245447a3b3c6fd7dd9dffb7c049a491b2168da2a3ca9b8c5e052415c9e1c2a4a8bc22843df4d5a4d0546533ae627c40569f80d5cfc1e16be922413916d24759c13c1f34d8c70400480be3f6fbd767b66bcc92cf734c4d785de2ad647315098422d8ce8cc7c0a683c513d2b35a7bd0f33f5157bd96bbf12d67ca0506bd8ab8384fa594d9f03e0781ba3bfbf66adbb3d8e81d2ace9806b39d1297b936d6c12dc80c5f7fb75a1d7d46db82d924eb01d38f3cd45ec0fe4425e288a1ed4aa64d07f601a53a21e4d9fb6d5875795b7b5c189e0975b806be61ebfa9f9849ab9f3dd05d0758efbb9995360e10316b4c5fd5e708eb6f057d5703c6c44f8d471689cd54d267eda402c9bd7a7e55d0c1533b5aaeb079b14c0d47f0a285e41d90f4c0548f555ea7f60119c9df2528b94db10387adf6e37ad550bc8e93053b808dac4651633f4a2b001d37090307d1c7cee40f75bdc04bdab32a73bf8deec04053ea58a32a7a6a2846c203eb33ada958ffc8ce17033b370bb56ff8616716efa2b08861654390afbbd5faed1c6aebf44d008f7f10bdc2aa24e918ebf3823c87858bcb0af0a58010bfd871b2f20fe236baa79115a3c16fd85f256a14b53317c2f2e429111709e026f0ffa78c3be49ca2c27cccca924be5e7a20cbc37f74bcbc8c79313e399aa4687a981435b1349247ce482c0b068d833f9bd9fafa4f190754a6da2698ec2823bbfcecd01b92efee95255c2897f169db14dbd42d72124dafe0f79f40e114bb466df565d882de0f85b2db29ca05bdd372ba335024076ea68c2a2ec0564e0604faf9919e379eae7816ce625312ad6157edeba9d1b376a1645f487416fc8d3c85e16ef5bb60d1dd3f04e2198abfc58507cbe985b6c8d1950dec237d8dde8bf1c3063e91580af8f6a830d80469252d18b28cae3936387264c823fcfa81dea5909289a6f7e979fefccfb5087d10167848d1d0a3154bce833542e98d8f709a0783bbffc9458481243714be1426e95d14e5e67f5049c802e25055d1116dfaceab9d13b399d27ffd18bde0bf83452891873cb6d696c207ed54f4a219bf37fbb2e138aa59c8924500c8e6b58e81ccfbcd58801e429f232805e68b5fff3b5ca6671484f681c99fe625b0a5b4eb869785517e9ba66bf518fdf4fa4fe21c51b10e15a82f42a3473d2ff7cd82ed8ee1446ea28665453f633bf53154bd9c554d4d3a090b501570043cc54657db667c1dbc011928f2c3e01b4fbcca4a29c36bdf1c2e467d0e51fef45c539394bd9cce8229e4f723cc3c956fbe32a2a1e9d86151d54e1a83c437fd4a0af2a767bcdbce631de2dba368cbdc91bb10ba2c0a6ccc3ae1e204763d4263f2b4e1a2c5df4175961185662194b92fb8f23ef25171cf06cc28e8a5d3188095def7ad712d4ca6c794e60bec208db919142fed891900ac78c559670b2874fcb2c8c435d1204ed9525831b101130f7a9257ecc79193ace032ff8f93bcc4e9ab2727797266ee003ab1e51d4d81df7f8cdd901bb23a5d8b59648b4c380a5fbbf6280a515fdd4817111fd363e1ac22da9028c44933e8c8a2e8bf76047f9363aa2eb6a69a2b75b74cd0f99bf4eb51aac09246de338c956ded125f4660d2c83428d918b700ff7ee09f89fe0c0b25b5c0f4bc8793ceba21f5e5ef072f70f55fe3e067be880f50b1fd27a2fbe86ecba96668c40afcaedae8adee2c2987e1c42f4a4a097472bc254ed418633cfef97548ebfd07d4576a2d555602a3edd6e2bc9113889bf4b2bd45900fe4ccf605ea0b1f5b74d6c965a6a85178bd7c17e12f5d2ca3b07555facd2014bee3748b493e55c0f538266e07be85065a99179969a12326de803315d94e8196d3eaa389f968d4f88d78f25c51bf9dfcf67afa2a6ff39e32605232427a228a846dac6657cf1851b1e526333bb4b94965305ba511dfca8f6c241f4f5534a86780dfc66ded99cab908223856b1ea525ea7248d098e894f3bbe9e6ae63df74ca59cac7b957a276d5fb5f898d239d4f7006383e13d2c31cc58e2689a26d83747ccec193ef5dd92e0069a6dbb915fd5f691e1b38ed02004b98a203f47c354c80e049eb8dd315341012ede0900fed981c762b04a607431b89f6322f637c3dee49751c188031a250051c058397cd7e6057c425aff7e2a2647fd1351c52fb87e4480ac585c555c3503598432213f3bcfcb0fdf3a4678d51e8669e5fa32960309aad39f370a1b94a2fd5156c7da093be2da2d02099f8dfbadbf33291bda11e33699c4cd595cd00e239c893e75ffdc0015d1ec4e29cf92ed16dc5ff1e9d408f9e21d17ff92021187d146421fe74559c13157d279541b9c6c2bb24583b08f5ac6b373c6debc0468b4ee7e31f0019d1c71a015efa16488610a6e0420477f48fd7467e5d724d37b411e2280e0a69b1e7fc71ac7723ea8ccbd1fe73c9d1db62c21183325f560c63029ce14c276d8be8524550f8ebf758bf6e2b34262c7a5743afe336c638c026141dfd866a0732c80c9799b64a966a614ed080dacb1478d7c55ecd978ca0aead3038cf64c975c9d8530c94b607f8a0ed9f7f8559d8631aa40d6234efbff19c669da6751bd1bb40b29ed3ba9a77bed223a8bb88325a451a48a9d7d0932214656ee83a8b217a55dd429aced5244022702d4596fe5a6b87dc9ab4aa9f0141cdbcbd9fa3a8d598bcbebfb870647c3fc5b103842bdc297872348c5cf46cfa8d8c5ccaf4369397db7d07a70983e3542e266733d6bf166cffdfb706eebb075d2b5aefe1f3db2b78d538f04d270b6adee5960bea371f870eaeabd7078ea450ef305f61f4cad9bfc3fb2686f48e8d26448f23c1cb80a4ec269516e30842dcabec635b086af498491d5152d5e454ab2ddb9f9051392a5cb6226fadc6954262aeacbf00edc1f7498d34025b668172a8dd3e8cec93022bfd6ba9329e3d230d35b1cbde373240d53c2e1f6046321a77abea83c930572d30b6847287daa45142b1803c0d3567f7ffde648baa02d8ab7256ea2b9bcecdfc99276aca4fe78f8647128607ff613218b6b4679b0ea6e63ef1b37b9884ceff1463b55a5f02457e37ddf547942fc6cc2be35882805be90818f910e53e7eac8c14815222d5cbad028eebaa98fcc109922c4375d4e91d8233fdc55acc868efb7da9f9b07159c51ed4d39de75f312b8a3aee2c299ca931f97ddb78135f3a25d70e9e4f8db220fb45171e105611e79a6d5dfb3f688fffb145c28de73938a185eee52c339205bb123b77903a8262d222744c26f47830b2d7e0f271bb79fe12fa6d88d807cae7e863f320d1f770d10c4e9b90d10d11c4add6199b4acead407c5445b4c9eb7ff7fca1888f3807dc79a63c25d23d0075fb4a585e8ea110af384f27eb4b826fcb94ab1aec12b51b2c0da92320b54a6b6c391b7e3391830ac6e867ab872925820ca36959f1c926493ec1d8d52d3064d7f30fad7441f43b9a5cd4ae25e8007bd64419cbea2cb4eca60ad1ab38249d8e0695b1d0d3a158321e9b0f15e11949e9f528d860d56c3e4647e4b0b2335acd2268947ed51fc53e05389852d9a9180ded97d69e75dee13d5206718524fd755066f003562cf6f710d0b9f1382a3fc7491a32511ba42fca0fce8eea96ad0483629f9d6b4bd339206bf2677bf40c18a2191c9337f3c07f7b664ae23dd1e3e466a3222a6ab8a4c53069c4ae302631b5067043ae079127314b95f823ad556255fb1cad915b3de81d872acb75004b47152c861dd5e1b0b8d6ac05fa444892a8617d64f335e6d6aedda40aa8d5d9e7dda28b5e5f346b3fa01c2bc03e2d5dad8d8d35eeecedc3c09e33944bf019c53f8d1fa9623a47a40e7d158f1981780f97fef74b905d79fed2dc8f140e02044d6b6d6b794f568c13ad5dbff6b3b95533bbeb2e99ff159a9aff2ec56c3ab21959f9712dc1013b0c9c2d504422af1380e0cbb2e71326812ecffd241a659f92c190ad9738fcc91f8b0a6354b37c114c662ebf7bac8227798b567370ef292cce6e382365733c34aa150199e584268f29d57b93a40ad73cc7353e6cfac63bd4efb06debb8086ea0e1fd2d87e7b533707d65c118b9061bd2d77222929239c6c1c1081f104da8621ef1f7d8a9b2a397493947d58b0a97fc4d9b4c97b77dbd623e1c61b8d09fa41a5c38e0507e4135f48a54db54a64cfdde401123c2f3272a516ca6bf86fe3e7f85610555e95f7ddb345a802713656b66b1eded7d9a9f99a1ad29eeb5e84fac0bb53fd9b82083ea15e971021a9904c68e4e1b304a47e69d0869ded9966cdcc0470ac93d05d03ff08a3f702707aa3199d003d832a147ddbb79b30bf9041f24ca2ea066e133653bca652456787d6bc11ba87eb47bd9dd172befe55bf2a772a98049b39a14765767580ac4a9f69fe4e4c619882183682e292d177d7821374ae7e45b4947ec1dad5f80bb4ba45462c5f1ea94e9ab06a409b39d16e09967e4b50800cb4bd2169ed6aeb24604b07e125ceefcb96051e3be5a5d05948789125233daadace1451e68ca53970cf8839d7fc028906e8ba149c367d321884cfec400b50ad2897f48636ea99bc8a915420d5b2e05df00417ea18c9d27c69ac64511c2a4041b374249498cccc6836cde719edc837cc481c6454fdb8dad61a5662f1ee2ee535619261625e9b2502c0a6eb40da51159f6371dcf4511e5d96f47c966d34d007102c959533b34bd8c7276fb2376b8f98128dd9e0c924e7f6cdca08cf35ea2484d0ae9d3e17b10e73d71f8b3ce79a51783fe5aad0d2c1436d64e82093e2dad5b357b37566c54155fa36c44dfa9bb9a5ac595ecb5e4975b9fe090b22e1651736d416b331048a62fc2f12f94959911ff197804ef6c08c8adee1421cfce853fc43af1cddcb01176a3743e7ce22a652ca1e7338b12012a3b6a7b094945a9b07bb3279a17fccc9cc2def460626a21d9709696d52dbd4cc65ba673f1c8c4e11a86d01aed93ca03124269fc46fb25f9f3824adcc52fcca4b5065dd4221b49dc464ff08dae43c1977bd472fcd4dc875ca3f92a10afbd69f4d2a108522dd5222720ab2b1dab094330b66ab9ae5b8ba23175a579a61a091ac0101f5b49de99f413957dabf2044b17c5d8aaa49c2c5b42fbf36548c8f481d9f5ee3a8c4582702ec85c0ab40581189aaccd22d238175c2c2bcadd3341bd4ffd38a4ca66ca6934dec7d56548eddb6e5af62d2055ba043ba7bec8ec03fce09454d8ed387f734fce3addf7cfbeba256d0ddc57a6e3fc619836c8b751c89639bb4ce1d726b85b4017382adb1ba5be5ead45eac7b1a8f936371129b1048a6739569b37d74a42a766ec9ed672a8c55aec92833d0a22ffea92acf84e9adbed6dbb247328b1b57788de52f599b6059c4b558322befe0a0885ad99b9090fe94eb27ea0a8edc50202d43932537c10968e1b1cdcd5ab96f3555c0d699ab7e3a38a57eb5ec7aaf736c7753a98aed508507cd7fcb5b4585d3055268404f984c568254e0d3ffbfd9d457c8da621008e287f106d4d3a968293da205efa476f9e03c6e349a61a9cdfb96d533664da9a4c257cb872e60a78973464606c3e8c1e0bcc763baa5a15d4a53d32d1c237e86d0be5e388da4c487c0b3ef7c229251cedbf6b356b7a2e114e2b680a74c645830b632676380f9256c1a490d0e5a7a922e961da56e6da36506d7a657159546a6e6112450bb01f05680392b4e9b0d9a076e505c5d62fc2988e3920f426f53ac9eff998e15e6962839ea0482c53580704fa6a49fa8c6713e58e449a9290a95f3c19821e1dae2844455b3c363851539b875a05d9c500f8de841401feaf571cccfa053402a863f0360eac9a3cc9f11050b4259cc7c98c04ea750a44120cdaf76734a6f12adb64a53b967fbd89628b236b018c9d3ef4a08ff2b7c6a7626b51f320618c407f029d922d6977ba3388fb209e661575605ab0f0d1a9b52872022afd48e7bbe282d0af670b64db759308c239db52a37a1ab2292c9a81f1a4d1a5ddff3a08d3a802e036da56e5d7d9e7d7f00e392104586ea2e01211b38a324801462e8ed5a56ef48f780b3dff0e2166d4c4bd033237c91cdfd390e9138e930e0c663a8fbef585846d40b219891001a0ed2f4bbc04c323c9a3f907be79313a329607bb6f2b64806423f1404f018b5028e479fbf374b04d45b4acfd60fdfc006d93634f8c58ae5c5dd8f0e868c95590bde06c9922be604497733b2b6b2e9fcfae8d41913e9e7ec232e30fd1fa654f65bcd24afc58a8d83e50ee1451212e08f585fbe0db3422de45d39d87f7c05efa7d3384430338f2024abfd6bf9cd1fae18f9db8906e0f393a3158e2f669a824d17494a33242946e34cb9baf8470fd43ccbbbecabfc808b8304d1425c59bd33f5c35a76f7c4fb6ca09ec7ac8409f86e32c914f527208b7e6dd8aa3f1e7a6372686ddddbfbabe22c5990ca185bb68024740701982d8ef39b6a547d7429d06498b5f1ff5911eb7225e8955ff348c047fef2fa1bc3521949e02b39ec5e6e91979088fd3a84d99f3772371ba515c2e56bd18df4815eb370f18f8ef18647e6ce9f9085ab30534c598ee993e4e14f9fa06a0d1349d814f1d79270bc7909a25873f00d32a11181ce1caa6748656cfa4bea430d0c5e21d1d539f4642583068b9f7661a5d2d6703e1a1ba1659136c9891320b09ec72a0231aede2aef9818aa14f7d393010a71a64553010cfade786ee17d84d7fdd2577cb4c656ae84b97d1451a628681aaf164a81202269db3c0207e2a7aeb52132ee36d8704bd053c895e88026b17273299bb280f21a6a450f1e9be62be4f24e9d6a0b60f3fecce76a6af79471d41ac1c6c5cd5606d37b077b1763ad12b5b1b929356f7f86d2c903ee20befae5954ca410e49fda147274c07342a40a93586fd5ad2fefe9046c757ecc6eb5084139eff47ae6d09dfcfe57ede5f89014b1dfe77c72b10a607df1e819be52ccc83217875a24d3e83de01f2b36704b6578547dbcbef2eb94a1cc2ef32bcd3fabb1be956f0b5c93e63d60416d7d52383a8db5df6829164a6b9ef7ad2939ab881887aa34a99aa9a22368f9ba31e0f0ddc4af1e9f9622b457982c6d414d531b435b9f34ff2ca21a27eed85b340d0e2b6fd4c785a2fda126fa284adbbf032e77d954a3069ac4894db1c741187f1f7f569881c2c1df959a03ab1fc1226f1c72c370ce901f8f216071c32d93d45d7197a514bd045a89584d8022583b9d3922a5f4c5895aa804e35d15e74bbb8317d0774e272c5a879801546a4b7fab388b656725c4642d9dd947303293c1e8caa03c55577995e51eb1867a205e4c4b7738cb1622498c0889ec7688c350a260fa4e56c7da64ed9467da49a10428b5f67ea7e5b90832793c7575f7b3c50f0c4041a0202e57fe983f9c56d83e2b4679e933517e5e54a6b0f29e572edb4b7233c7b079cc73e43244aa509b726504d54f871b0e4a682c5c840e081066d2bfceaa9d17b85352d5412b42fc91c4464009c8180c434d922668070ce5f9e74169c3deaa8370a600250450ede487348e80b821cb0c5ace1e559cc876bfee2525f91de5b099581966f80e17005ce45c49c7f19ecc695bb1472900ec0bc156bec72d5d6b7666a1245c625f2ffe967907c5a564fd06be67719c0367a681e45ead4213044274d6c4d80b27ec1679ee5bd6029958face948a6cc83f023c9f1e8d81fb690696b811be6cf0d653443bb506701e52d0fa5d366afec7908107fd83448b6376ac9d34b3eb8704181a8fb6cabfe8b67aad4fe1139859720ab33b09c3872d4013a48d92d356cff768c1d8d21a36c26e1820f5a8ddbf32c144950286784079716502d55f2c938d4a8a60850d93fa7d85f5e1a17c186e494e59de21e0b4a5d1a11a90e048e60cdf47dd68a53d768139bc375f63ecc0b6232a3b07ba421a4fc4cd91937367ac6884f390a345509e0b0a9744e5c36527516008eaba6c0635b7646002ff43f2de036d5206d12d0781d1cf65fcdcba7decc868a6db2ea18a1f76765240e89354c049c95e205582a4a221018eb54170a199d955f966313a95e7bb0d0030cebf82acba7372cc86be6e0be3fb330c995cd35db12c90446339f984192ec45cd9c589a45d26aee4da627a3d69f0ea0e22dfec8c9061e79045c50b70fe0b40ee030682b8adc727c8fd05e006574de3ada1c50b74dd921b29371ab19f001233808e9f8cb7d95b44afe12abf29cf99748cba236894ac358eccaa0b75b3bfb4123b74beead1575bfbf5f7a5c621193f28d53f83a7969db5cb65346ac2a97323bb3fcb8a9ae28554b50b128d98540f5fe38afa48009accacc4189294df454b00b67b5772f68f47bbc33cc9f8819ffadef87bc58be085b7d36adbb32193f7cee6badf83144af45f7e46cf1d7c70198dbeca457edd902acb1e58400571359de0a72d668f937b0edb368a867617b15ffae51e9eebf47748ee25e94778886df2b0027b26664375f66c0e85235fcee30f263894ffdc4c14455951a478f69e4c7f9cdfb0c9e784ae50e0997a68a99b19bef23c66b0c4554ec7c2a7292b912b5487fe343a4cf4c075aa5b67ceb2c9ac0ae31b713c25d77ecb62bb86cc4638c3523320ff26b6b7ac74c4e085aee162bb9999abd97b5de45726921e99d7a4d079e928713a033b3280a8e4fd3e17215887ba36917540f6a7bf508cdf16f7ee6004d547bf1cd993340c8668d65ec8a39bc28a3fa0a936394e95a3ba5372163b6fc962777bd0f472aab3a9a80bbd2ab65ce08628b6839f393f72fea25ffb1cf25bf7fe9cce2ea8f569115f767f1eb9ca6231b155a21ef2793c0232858c8bcc9735fdbb3aa6bf1ae0b6245a7bef303a0967feb9340764ee73caa2a68ed55a4a66bd9bbdf1e5902f5ae7f43ae2f69b8fd543bf045b3c77aca04a2b64352d008bff29e6b4aa7a5650ae69638c725afe8c1971444985b0824f892dbb9edb0858382f30406017a9c66a38d9c8a2b94ee942a7b443897c680f3fcee10e87493446e51c505972ceffd6e595f348013bb5c11e4dcd5fe6a84e07aca094fff9eac17ea688c13669a51985abec1525dc93721f7f8d474bb7e660c579c943f2b26ff9c10cff56308ce488668c6439b666fc868fb29359775a64b03ae8751d588275593b898cc0c4fe890de2fb5952976a669f73a52b1cfab92b0f89862dbf2068ccc5062c59c6ad1db41df26a6060ff69158cac92d44d9492f9693ef726809d6b2101ed799a573622447b5d8a20c1271894d2bb602ab46e2315afae51a4afc548e46fc41a9db55b12af6c126b787b37cf2e6dd7c2a838a2ad288b6fb74fe93bddbc35212f57fa78bbb50efe3e72ed65e3279619a32af1a46c4758d21a650148e34215a8cb2fb8233683702023a94945d49d1b95b5735d7aa270bd01209094fad830b0cc0069ee95a750d189f682af9b91b1d395c9f13172c26754812856ec68396ff37d9f60ee0b0f8119f005f3caa0a389311cd26a2c964487a308b572d7600808f0b1fedec237618a37765f1c12ded569f7f2c3f1013efa581d2e02399f1305901879ecd569893dcd1b09c0319e6267623ce6dadf98c8438fa1a3c91ceca7c0f4b0121a78fb913069c6de33d8ac84a2d598761cb0fdf5ddd93ba921492fa329134ea713f4ccca25390123f6dc10635505b7e77442ef465840ca24554785a835f63d155eb895b5fe57f85f6505df43136db20337192635c52e20575093852c648b10f4f9638fd84edb62e788295aff26949da51676668095d85e7abac5194af92fb8d2cefe9f9019766bfcc16200bb7491ff2f3048761e5df33c740c5c15703032b8fca91d71e704bd6872899829eb6f5eaa759125bfbc0a7ca8f2ee61443181a0977ef1ca14c0ef2154ffb60760c743967dc03d614db7aad1b4163877092e379d1d35c07efe25b5ed370107fb6b34ff3c406414aeefca40580220614560cb543ac78da80dd58253f1b3586b5aadc97c152282632442fedd9d0e860f03c690135425a24bf443df98180fefe66a481a7ee4bb6323dc20a2e5698c80399e43d0bc22bc50a690c68fb27cde61ea22cc7bf288109ecf4c7bf0249ca819c6822b96d515fff3fb49ee0f5bca3437da458e63e9ae5e4088f1292788f795a2c29ab742561bb45f5a68e870d4ef8c423e271f49f17965adf4a49dde6a61132d12f36db7e51857e7adfc8c54dc0850ad7c868b6c415114965804de62f889c7f1ad682c7d50435c786fe82785b600549abb901226f106a70b3f9bdef5b938e09546d833275a9d3b86dbb93841ac77dce4762ec0e8e808bb0a6a8368e223d43722ac073e38a35d2b9b53bcac942ebfde36207c065f9807e9063afc8dddadfe3073188fc988fb56822a9913046b48080aa0ad8ba1a97bb357570e956b908a5f9d2a2adb39f538948c82e395bb09071ac08afc7d25651223cf2b7f16be9f8c95294194a10304614159fe3046da11a04a688b5056442316114c68b2401e6f26031b24dd41277dbf06aff2f4719603b8019310a6288ab101537e6ddcce53ec45904fde68b026ff1ac7de899bbad723ead42ec0697068994b91efadfc5d0688ac352f1600aeddb447c332bf4f127c98e7a74468a8cf1feaf4219000cd99c763f8b52f4a7495919e5526bdcbebb910afa4648cf196211787dda2a9e5edfbcf3e094b69d49990fee934208c9352e5c4b7b9e79431da6b25e84977764c0caca835a3c3f5fb6a03953822234e69862a4a6a43de54e044715a318f7e332494ec47ed248c53c56b1e5545e503fb70828e31ee2e996dee6f8a203380fef38fb0f4d4852207d8091b7090057367a64c619f250a0c4ab724a56f9cdfea0cc9b49eb22eb2052bb2800f8af9b53966011901818608e410dafe1e9756af84610a7198431436ad2a626e7b0f650fd3fd197360f94e74b6a05fd6410dba3c4bbb1029677ea31a10b5fc5ea20cbd3ac33b2f7d27d58cf267594b56680b9c5822d665fed6bb130593feaf5d1c31b82c49e94f01cd105ea9ffb97b481db5ac8d41a07974bb006ed98630ff205089ba17bbf938c3fc94f1925cbc710c508cc02e971e2ccbc9931e2585a0b7b8beaf857dc803c31a80350bce1ffbc548d8a13e113c83700089d39cc65c34cd257e5c459beaba114c290f5bcf5738c4fa558cce26c1770ad06b30b3690d9c648462776a4612b5a12cae59fad85b5b49f657ea6fa3d63531b60c106a7ab844f4432a9d148d1cf0c45c611016a8764f9767b6cf6e02278cfab2b36a8f50bb3c09a82a641b93a68ceb33304cf16d5b819a04a4cc46e9c3ac71107b703ee77264ec764ff86988389fb761e80cde69b1b9a3812a14305a7b2de46a504fb5716f8f0f13d5c014ff10f957ecba3991ed66b26c565df4c40e68cd414f5edddc37ffbf52bca498e642f3db39b09f41f2eae983d681ddf671cb87a7924908cb0543f5830e0b73ce030e63354187d162ce9270e43226066044a3980d45c7d0cdb75b4553d04aeb0ccb1f051783e7a324141f88a05fc7cdb3da54b6e5b6fbc0db5fdc872abcf43d5cb04b4e90c2f24b449bcf5ed848f9b0a6d5566f8636806a0e967b8ed347172f379f73e985930e9a7017ffef8258b27fda8dac8687b797c78d4c08452a6cd4969f6dafb3bae3bfaf8b9d6b7a0eb36683b29fc2650abbe5f5a315b188666e58e2c14bdebecb8a296989b188bf6125d5a2ad82ef7e15caad72a10acd8d830d017d42b4bec1e7a8a97dd0635f50d85c0bec763c7f31bcbf343fcb2175a2bfe94bd03a9ff609940cd0a848a3fabf16e41452efa7a42454aec1fa77e0faacc95135a3a87c18fa19d96aa28a42805a98ee218e7541e40b3802b15a6f81df383b0c0ac0d8f7687bc15e242a920d278d820e463e2936d07424e13229672a0b9e4b3885c90142b0aae20c303681df02824d9b686886328574f970669e401ca8eda5dde09e6dd07abed87042720bf5909633a92e52dd1ff12db51cd94616e84324430451e49a38801ca28c09f272d067fdb5e2819c0960359fdf0b20f32478dfb8c769c756d8b4c08b2835970d63a27ff1171c1b9cee341d8e87047e2cdf8b93ceceefd21eb9e94b4654a4c1d0e3842054c2dd335a6fdd8557a718b3bb83d0c77019122f1f1d329de43cc2f330a06b521d83ab7bbf24eb1f82de94f8023087a8494629b0a061c0990ffbd69a57bc7f008e95dccd8b2c26788b23d10eccbcebcea9d8b34f6ad587528fb7015684b3e64c14e8816a66b659f75f2b10e49617b1841be58772af2b42047700801eb3802e4f054ff3f39d2f811c088bb8466bde7a95ecaf36ee47add1b81301027994f41704ea21bb22172856a38e1a38997fc28d4b5f5ac37a5c2bbe67db93700f3ff82b9c39dbbade20f897182a9b20b349eaae66c46ae291806878c6a963dc848ae506f019acfe6e03213c754f19df7dec7abb8231833a90560346815ee4a3e5da4858e4033399e2ed6404e426ebb2a6d308b4ffeb5f9d0ef0a5188e1530534764d9b22a2d215f53552e53edb45db814f3a46491eed9bf80abeec1627400188b7b612fc09c085cb1400c91b1cabd3cd282ac79e08a5409c54c5774ed44389558178a2ef3a82c952ffdba9bfb4991057a26e2a75590c7a9db1d6169c4e60ad1115de61ee73ab2fea83b233d2386e17c9c87f2ccd22cde69599202e8c1824cfdc95109e8b0fdfcd09ebf2e67c1c4748621500b44263fee36c3733c9ee5f64fd194fddb8822a96d8d4f4f7ef1038e3bf7bf95c7ac4dfe44ea72fa8711d68b0e01dec81618314a847ceee677a67a21535759b9436a57211689be8b5ead06f96cb9265f3cca41a023ec68904359e760a98e16b0bd5e789de1c804d3a8f380d73b5f8438b71cd60515e3fa0082af7f4ef566c2f142336863391b4616d5293bb6405a5564bfdb792b1a842c0d6f74aa2c9aa119dbc2e2297323f4866fc3cf76dc5e44549f2d341584ef3f3cd4869cbe6f07d450e05bb34dc544b3dd0b570a3086b194658ba43f6b6a6290752b2db319aea5096b1a9ca756c6b625c5aa6f49206f88236b3d49576279deccfa2778647d1b505108c44b73f754008d601b45721bab5bb96ebdf40b558a7c42c59b79e1a3234ac148ef27857b7539e6be58b313db9e8acdf1f1c99b6acc9108c96e7cd313c16fc20dc45a1407cda469e5ac41af131ca881b6b4f205b43b8702adad6f3951607e5e1a8f1ce725b5ab85b7566f4864c89cd11cb07e5e4f6d8ec53839eec1e249951824a4f45d2b1daa27015b62d4775355d931b0a0ab7de83bf2a731ab675490a9268436be103ed1ff6b9a0fceb69d7284de3bfe359116e8e8ac5d81d9382f99bcd3bb7386622958c53b1867edc095cdb6c2b84f17d844c165adea048df456acde1d0889d214aa217cf1a3c395fab00b84fbfa92cdf68462465ba73c402c7ed22b774955e0cddb638d244c28b4a98adbafbd6299572333d54559f3b406b3f0a7ad7712ecc885b85d9486dc0a18fe2ff3dcea36e35c7c1c4c9f1b0e3d4474de09ccacd846ae1f2af15f34ca381996948a6e0051a75276e3a252bdad90307b4236efade65d8a5a96ddf20985352da5edca7cba9426e465175ca5dcc7d30a766e2e2b5b4e3c9eee5af33f0c4eb93df58501a1453739e2f3f0a48c398405ae94b1c5071e0a9887c0c46cb70a60df81c30c9bb61719e598638ae5a467aba7a940b5992ac896e3b310895fe5f001a195a29563b86614ccbc8ed3cbc66b119f494dfd00b9dfeb2333f2c741164ac427328c1063ad40d1c3f6a7acc298ec7985f7dce0ea18ee14ac48defe6d1ad11b56868d6975ee201c5dd8a667f1016634e9f5f8b852cfc15bdfed7cbdeff90f07b6096c96eafc66ae577cce6f60047150962d54e82f7e1cad48711d324a6c44c5bff2cc63217c856813c29fe3a70d397912e1645081996a97c94c4e9120e76046840c6e3b4e56912156596fba550985614bf39a7b7a5613965e53fd3a8eee8dbbacd352a86f3db7b3cde7bbd7ed4c575ef81fa34ddcf344f3500ea1e9a77ad2ac623d9aa2854ae88d2df94857ee8ae738507decbf1c2f4b94646887c8cf3e0c22f8d5ea6b3d8d1d290e00e1379856cd6dbbc06c9a77f1f661ad8bbc2b9998f9c25db9fee1b9e64d573b7b0d0fcdd614ca893028e174b8c00348715bb62cf072142af6ba64b2e2859e221fd3d9b8ec0f2e24887f632d008895b05744af6f6cc99e5383f7587d9bfeca50c5fabdcfbf4432805c370c31c3a6bdd8055eb84a9aa473cdf401df152f38e1dcb971f7426a45bf47b12a07c9eabe2ae86df2ce3ce95efad0133bdb6412b228826248234c5033b7b785912d91213157bd674dc9e414723b3a7621cb7fd2b39b4d691b3072f51fe3ee1f6349c0abb599e9df70cf0262b1b927a2f695a74318290159a45485cf326681aa87281803e9c5fcb6a2331eaa1e50506566c3037f2b6d3bf3af38bd291810799de5203c619e96100ff47a3c942b3c6cbf7c3063e72ccfb793d90ecadeefea02628eff7c43d9607f1c950299f0de8f0458e5dad045dc4fce75427752880644a58c428ee70333c7b93503a684a0023bd0dcc8426bff4a2562062da0426d035fdc2ead90d0b871dd1c9534800551614988e594e77acd53cb2715c80fe96f5cbfb7166307932adf25a85d1d24cc065f8d46e7fd3695617c160b2666b10dfa021c3f7c521be4fb7213afd3b7eb4d9f3ae0f0ecab506a37e3ddb892b1fcc61b6106e4cefd6cf44b4b2d2441428642dd12d884950e18e5520c32b018aa185ea67a943e945f371a5d3b2b8fa036ffd725b22dfe448f6a12a77f8cf4055e2f62066cc0018bea4fac4e55e9e3b6626b4c630d4384f978c94651cab459e98c1e59444092283ed6721765b8890acdaa34e68201cbc02a2851569bfbe2f6df0a852eb41c712d84fb92ee4f78a257642b79897040d4f1ca31e32def9726274390340470f7a13f63b2cdd23cbbb9485200b2e7ef8617732b56074a6b33cf0f9c3b35e3cedc0f4742c3c9e3649cd72d40fab175d2d26c5ac22280f5dd4628807a23a36bf65196daaaa2fc438d7a06d76993715b06bbbce926247d9a2faff98b336fec5b7041feed839d11b51eb1b2da65a8817b5be913f30e79f84e17937bb6b73d32722732adc1e282a7cdbe97a0858f0be1296bafe9752d8890179fd5e18d3fa969220a8aeb18bfa34f2f6ca8e2da83e7a75440695d49402cf73d4421ec291ad9892b24d26c12732e807e5014606b96cf70d26bffd8a995fd0e3b043c1b6ee49813bdc99d700a458b8a5d090e9994a9d683d7c929a7fe8ffdea82c134aae1d29008df5555e98800184a962346cf5aeafb861a85307b28d0dc287b28513bfe611c9c068964d046eac5aa2d9fe8f1dbcde422fbcb3f3ce147e68ad0a52c10ae648b850c0c6d25436f62320670d6ac09249ac55fab2671c73e55390525924034072d07be285b9c2609c3e1b85f9a1e31e0c9a97d89c3ef769b59becfc6edddc8c9239d0d029175178447abfe0dfe3289c379d588f7836747d5ca721d66f03dd0b02f378f761dba5dc12402a7440c54f9ca37c46179a096336558185dfff3025eff4bc7d95d6324a8684b067e553c8a5ab88ae8884d1362bf22709168286eae7fb45b6d9d7fc8b3a3b8b17c95f44b93d06641e945cd3ca69ba197c24b9b6070f8c492b501f4a8e47e96daf0162e04f108be6a1804a6977d1f8e8295f714815f0ecd00f15306c13e98199375690993e56775fffb8f810566f78e78b4fd036d1e175ec751eeb136642e19d7a7bf60d67194aeb101fb37de23c6fa1cbc10941acdd1e92fc35b55322e461f65cf1c63a311c335b9028e6e129b876a672ef13f2196892be15a812ef8a06bbcbf6dbf62d991ce77b4b4f427193a19d72f0b6f2d97d172f081bd7c18d9dbf971eb1d6af2b6e43820f3988e3e88350365b907c75b012619783344c0cc67346c0e1075f808d084c7f1b2002b041f1281ecee9aae0a201af8e501eeaff6444dea46e7f3ca4034f597fabf2d5a533c7738831e541969b1cbeb97f3ac36c646a02d0b559c77782eca7dd3548efaf993c859f69b10222a3cac44bf8d3479811bd231e9a7971257d36c493b1f6c0e65feece2bf0c9d6279fe9af569527404ad9ef5985961974d3def6e77a0348847909f45deaf081c2ededaadbb91f984dd96487c6c7bc4ee225dd304ef38ba27ecc6a838790caea51988413912ac5271a60528e434b379a5e9d0cf43cbe27b08956f60d8514eeb1a520f7052ef4be50012dafa869dff384751d935dd1d4c2d255680e85ecf771a9d2802d4b28ace2fe804d0cfd1e0226a4b4d15b5c3c4e3cfb36fb47afc5bb90e06359292376926dd55afb5c457b750d5c32a983ca4f9cf913c62fd0b10daf31795eee4b08a7370910ab5282b9f87a45cf2f40fe503485ce867b3ed478227a6aa548465b8c6baadfa862cd663c37a2016f2ffafdb8578cdcc1ecd239e473e3d67380668efef8bd6ab33775230660d256c425982948efcb1ec0fceac4a07e65d56670f4285441613dda218da822ada377d431023844b0c77b75ce4a8d3926365e66b9426cc3c9ec566a946ab5b5041516c976b737b09da05f737adeb4ae0a623847d030a6d304276184f6e1862772791609b3027a8eb87eba71b8c141d6a980156ed06e597f33a9393b38e73ff44563d8f5c049fff8a1ed5f7f3a849da0c77b86d57d48af119ed5feb1400d9c3b8cf43618815a5cc406cb190e927ef210cde7fed6734474316eb4ff5614638229ca896f815742c0f3c02d7e87695632f64f10e024847d5fb665e4800a8ec1fc4983817e20e8bdd576da0bd8f809ac5ce249de4ba21ed468d1aa37afc02306d0e8f6dd968eb2052dec230870e5d5bc8534b76f68a65be15413f4d20963f0b16baabee7236600d354e0cff8fe2215c36c3b995e220a5240f5af1c9159e8912cd9a592cfb5370f6785b9fa4445a68ea792d334c2da247c06fe809c304ac38431c6351c06533d62a6ed553810082de8a4ac1a314b9d653ea4a1be31b8d023ca3feb644277138b505cbdd3d4025c3cc7d4e009039423a132090f0e0b1f4932da27fe91a23c2b58a5daca91c98ba9f052160a17697142f6087aa41f6341d7c5cec98acc59d1d9d70e13391bb8919c2542356c00ae31911b135eb1281aea7fc22308f018d87aaa45b3e59feac7d0a348bd0d48b22dfb429dcd598bb76a6d26d86626900956b4bf96e107d67e3d1c44fa67d88defedd3a94c6299e6f7419dbdfdd669a68303ea223abbae15c5466be37b0102f06dd986c11491d137d8daf91fb774cde9ff42a025bfa3a2f4fc79599d0fa4812066a69355dc083e6df0f8a3833a7d22c571a283b403baf970328b76e3659f0a3d35578ba31adeff6dac9ac0b09403114d7e9ef5bcce23d759fc5413f26b5339c832dc29372c2ac8a715bf912e72997c3d69b67cdc942266d1005b19a773bab094227870d064cf0a9c2e023a2ced36b5c12bc650942023956a1c284581b11c4d9ac9bcd53b060aaed78533f82012774c871b3f4491f00ddb1b1cef9e0043f26df1077553f422ba897ac691aaa2a428f0b0388beb9610059515acc0c0863960cfdd422fe7b6da91f05ebe0ef4b4aed01d50e23d152cd803c2b64e16fbcd5377880770254f619bd118ada186259b8fd940af485b93ef82e4aee8dd8956cc97de728b661293d90821efb7075326272c0d09f8c62371789b75abfcb27b6b02da2e39b8042aa0b1d96af4f6566322ff4cfa8ccb6096ced03c36de74fb60fd62c34494ad4ff33c0689c9d6720ebff51448e95a58186f73f69b6dd8ccff6dd548be3e47ca4c34a017e88e56b389c463395868f2809d078a76c59e118ab388dfb5d5da7870a183fc83a832e690dbfbef1824ff079f68e35f0c612c960ffc89a8a4dfcd80e1dba811398d983459402d631969ec8f40e66247923bb82bbf9910c7c8ee5b209b91189c7726931736fa8efb27c851608c7b6f3667cc7706e654321e7675d69b9494a971cb21d31c6bf594b98bd04a12c29279ca44784c5bb440e8b4b01f86e9212b2d4da1fabec9d0eb0cc517f376e644b5d749eff37e5eef4f8c2f60586cffa1d464a7e50892003766adc3109400165516180b18d81a909c8aec9ff5ec6858bd19f6c06d268f87f5024bac6998fa59106a5d7239368d0937e87b31be3ab7ef61b0a5b08d6a556176d5e89eff54c1bbc968fb196d3f877d85998fd116d50498c37d865fa2647361419ac2382d04c449eef92371d87bd9d182a0194313cf5ed7fcee0fd85c22e4a2260777110a847524d00e541f76d7fa5f1c925641e7b9407e42f6965823f77be5a3eea8cfd9e8f6ec0f06ce505d30c41eed0dfe35f060cf467fcaa618f63030a18168a642b6721f48bdc04c26f6a445e40b5b232f48ac2c0d16861f54a19cb9d1019b6694d7e8cd350143611fa1e1dafcc3652f2000dc5af3252baed01230b3c47d3a1cb4a9b04d827108010e1084a41490f4039a249fcf0abd293225d1dc984b4b3de931f70f689864494db02efaaba58c920c3d52f2fcd777c1e4ccae2d45bbe0eabdf14759ee65fc0e6ad5104f8ea59f7a9f143d09e9f76fd45916b883661885e62c0e1356c440636198d5df01011d33bd91c179fe328140f9ceb72f7bb62064b109142222207743d170728b00e8b87bdc6b398d56b864eac248970d8a4c831f9ac812826b012e04b4ba2eb119b48e14e7e86eb2b2a159ed380ef7e92285576095d54a211a58a617e6152a3573a7fdb0b1f11e59197aad20f56d075480b8c51f427e5c79b70243a62f0193d0862dda1406ba880470e8345b4f8c185380645bde0144f3817e32b73714d53a07c32efadfaa6a0969e676c286ca3219dcfc7ee75dfa7fbd297d3d4d9aa2e6197610942edc9208841fe39252876463c9a3515e216daf9d88891f47a1f3e3f4c26ef1314eef61460b56c42b34ee0cf0a8c5a0451890680f596016e2e9383b77831ccad0b3a20e60dc5639533d7c63259356568c1b9513a0e7363be7a6c0fa0e6950c69d92f0c9c8acdd303ae0da91b6fbbf0954bf5f3d6c06097cf3fd3a416a05529448a2c97a8c3a1c901345b05e5f3812bbc817ffc7d1f90a498f26457113e1f4ba1442449286f855e6aaaea54ce02492d4885d263d819a6d55b593e3951c246c55ebc651ebaaed173194c4fe7e3dda22c83bbef608ea558c72f218afa4345666db0487a3985dd9920026dd0d7c58bf7058d1477e3e7f8631c7a0599e81183cf141e7736f1358814c2c56f3ac84505ba2cd87cf65b080c36663981312d733adc9dd85f186c8444b950d2832e01ad29f10ba69ae2e5fe865c991b2bed1c917b026b177bcbe2904833849a919530c2ba6cfac9fff7a52e06b69d090277ea247f241e0f2b1d2356afe9753c81c2a8ee570f298e5a627a5ee138c3405ffa82386b2e4b4e970d87ebcbf89432d0d1d14adb2f0d21b7025c4ab7f2c22791dcbd732b186966a81fc948dd85612a15f5184cf87b6e66d6691124a12b422a197b3d0a3e849caa56edd2da1df7e1332d637a07f5de14a141ae1c1f4d81a223009d16cea8f104c6035780710cf715b406a272d86e06a09a850a3b919a40dbfe9f7bdd4086e318416df6432f54cbee8daecef24abee25bdb4d8bc437dcbeb2b26cd65fdf16f1aaa58141124037804de99a24f2d2e6b6816b63149b31b669af6acf905eb596cefa6b03ac8bfce699b499dff2200b6bfabf4f59486217b3bd56c3e3080bf042b64e866f3dd086dfbc68a482463d25a06a7945d74e4895c0684e079c3ac5e811ad65d20ed948a617eff8546b843f3e0ad91a778b60d40fa5f0c35f02454fd6d6167450753858ebc6ddd7737bc163bb31c75ea6e9bf52086df67f7033fca9078ceb37527086f777eb0bf65aae9bd7bcec0d9c1297b16d6d4150617d486506de862943ed06ba919f9f50c273598351fd9040e293cf7357c5d4ea7194c2c15799a649446051cf7f775357fc2e91e1090117fa85182dd181f3f6063726f41a15227329a007231dac6d30789a663f5fea3506fa7aa735bd3a562078271f69f379e7984a6f1cffd6e497eb1c9efbe561cab01662660327dadaae3c4ae4c74a2e5ba01cdd261d39d485d2ee8d48b7ab10b7207bd7a1e687bc0aba95c13445776b111b74c9dcb5b85102167a27572286f5a24dd3e07f4152d7b5a0b272d8167122d68dcedafc49e4684f3c80a2abfb866a088adac5850fe3a6425309d4dbf06bc9d33ce8fc4192f825b28bae243d3e3bd778b78252a19ba1dac5353d692f80c322691b9fc01b38629adad1dc8758d898256f285b4299d8811899a6db40cec51a4206915ee95aa83105733f7057a5be15b42b2884918298b0329c93d59bbf64c9dffd3e15d6049bf5a097257df9f4251c2f53a50c57aaf4e0da4c94047515b168eac4cea04dd64e2226042be0ce517baa5d809267d6e44ab3330200ce79f1c8f176e8d57003b84792d9b1058c575b6598ebf4fea8317e12dae0b3b4cea7d68a235c706ee45198483372c73d56be030ab7122acdf2edf8882f998aaeb3e4450cb32f625eb10f44a7b126acb76947d7b3d9af7771cdb7054bd9ce7b415cbf6d0dbd90f1e111398c58f832290e13d4bf735316342f0eedf579d8c632e611a3c3e84cc1346780617c1d254bcc99f980f16a7491d232f865b3a0fdfc993f91bd37a2af84dee31caf440d6922b5dba9d93bfcc7b1f9839730a2cb22358c8a736acb83d7bd1bdb1af490da900bea0de5a42f33b0cbaa804ad41fbe7bf829482e0711bab7ef592e5444a19d5b4afc9de1cb86f0b9176864e09a82866229a3c4ab7d238558d657d31c3ad03f0172ec555a27dbd4575eb151e3b24c494dad05c0853ed4ee207d8620c97355999edf90382537407f187bcc2c8548dc72e1a328cda128e68383489b3ed0124134cdc401de3e3cd15bfc598940aac96445781fd5426be1eecc9e79627218396d8c5a9370e95c454923e4f99b39940c05508a8f4afad9930fa6288bfe381dec3b07de1c850cf2f3b98db810a6ae7f7ad2ec535e099c457fe1064405361d934315170f81896d5fbd169dcaf3625598b8e5cfc6d1c83bde1eafc45e6058a1a03b8a1b76a663060d18953e87c0d5c885f2ca7370f3e30b926267841f25b7d92c5bc00deddac74e884dd8320c2c1501123f291136de6edd958a2bc438dacb9bb6c5a14db4b27c429897e873a16d23b4efb10af2c61f5fe22b42a6855829fea1f71006eb12f8a24c6bcfe7e85eb40a2e475cb362597276dcf860f1d5bd7b974f4abe033e098cf426a7db9bd930a74955c39e160c41c4e5c20730bfeaf34221f88b34de2eb4e8900880f13898dfb58ee5e604759b76692775dcdfdc9dd8ec791ed920f6e21ce8e6fa3af092874518cfa448f82b41eb3e94ff1f6ca0c70b77b93aa2b2db9c6cf8b4fc2d2a988aedcf325ecfeb2b885a4242e671abd72ed1e475692f081dcfa68b512ec021c75605d15fb0f7873ee22ddccb84aca44856136670be272bd305532f215f9e1cd930344567648d5b713e2e174ebeda10fa6f9c75a180207ed15c52322b3e7f165bd0e4a2adbf8902a20928b56b46ae3799b43092fc7fc258a8a907b936ce7d09593b896c1e87cea04a8cc01c50daf8cdb1e5573b02843674557d9cf297fbce46dee4ed164103703660ba88f9d76dd9e3f375b6166e3f292a1e3f2d4171a68160e11b7a9a6f9db3e8da0181fae83e352389d5787c9082a612e019d761c1499dbe855e895d810b9f9627f2a09ea8d26049cdf8c63abddfcbfcca87dfc5f93ce1f3a88d89c77903d344998dcfe17ee76cb8fe0bb2e41d7b98493cbaa38053aab0e5988441043a41875b2170acdd7cbc7a00c0d6a78c243125ffa965ad0218d359856a69442b2af0170738eba44356bac6593c0d9194fd7c765ecca391404c3e6c3c8fa9524c43fa7dddd136e17d66fd9c0d8410286e828b0bd4466abfd89c23f651e5349665d772b519d2a9b28db0af7a35d1fd98c33ec6d714f1f430a463ef72d2cabfd675e798c6fe04a79a02f32f827c83b515380eb0cb0e68ddabdcc4df113b53ac3c97bde87939e807d4e63f3713dfcc38f5341654337d1f851db04a31351849cb18bc3baab45792c6deb801d42694a4c04c07bc2912743f96b769dc25f273b31601f301dad51710bce2385c56b9c4587a0df7e69c814e8a18a1d12992d0e393e2138fc42b35c3afb31f3600b00541f125862d930f29087cd38d74edd1e0923abbefcc67a9001dbfa4607e0fd12111d089b5a4cae74a335afd6af5617d9840865fe706d4590d080fa7a3d4e1184e3dfb3f551ec066ecb3d63211572528caf510361f2986a1f9ac2dd57335de6a162450782fca1acb6c2eff7a47bdaee51926be98c07e5a37c7bd8070d1ad12ebea415060901f8e4c5499def4357f3b1374c584752e06002aaefb5d929c3b7f971832d3d48b3b7a003dc25b6a4adc34b00574602c4a8fc624427fabeebab56bc4da4bc6c5e873e37e4a865ac1ecd28f2d10ffb4ba864947b828e5fab43a517d056084340649a177ec810669e7a15e95897d029d66fab9159cda822e5aa368d8da0b5ba4a09869a9883bab60560851a5dd19fca2e8c5ada4fb5e0818e745390b491f54cbc2dd854ad702ee09bc2741162c287cf70c0dd62eb374f6b1197cd90ab4ac1489555f15bc2f6e97509fd2aec9ada381498d5ee81a6d5f32005183ad235b30cfcbd600eafd7744eeaa2cfcf44e6f120452234685a4312f76dd97bcea47190c7eac2a512ddabe73b79c8d30629b1b78de907a25ba80a795ec16f47feab124c8b5d9290b7f05287c83cc8ca5104084f885fe10d93e900ac852748a9a51abf1e24a97747cd3e875a15ccbc524066a7a60138cea34a2f02745a0203a11c60deabef056a02ae7fc0b94128a605d0cc9a073c15e4f2a04af913ec02e5af22fcfe54085c1e19c400622f99a4c35939da3534239a28e678c7a594d440fe8fd29a4457ede40fdd36be4b0c546195ea2ff96d2d673dc1a9892fec5ece2a31bda217ae78498a72e3339a3f29694dc519aced289571a539f822edb3046c98114afba75b4c8faa6a217d29df2ca91946c88f0db9a2529d050c7282f7db19ab9aa970534685f54ea06ae86b147b404281c758895820915bb9d2a6e3b7c532ed9cfe69fd1a311e7c2b1c43122a410628926e2b7f8afdc8a7aca0187088b438ce7dcac6f913a64bec67595ff1036bd0c5aef06010f807c28c2e296b18d24438a84e7813975bf90417e2b2f95d629c611578c786cdf962ed15e4b9a739bc9608025e7e281c14276ae822dac0fb95f9c9c78d49c396422af4e082d2e30b6e61ad89054f732a8dbc8c127abd3ba56265c667ec1632619f98091c6841a865f05ea1108942d1209280c001da387d3cf01df1de4c409a8ace9b683a9e0d9077c74f3c04d3b55e23196bd588fb12ceee8ce5078220b9d2c211c382992fcd000be9b7cf4b2f7e744c2f6e61a3c4edd97ec1b680b79a107d65f2e590098ea7d95c806011b70e7bf1dc5e18c987f88bfd5a3288167997b3428c6339c979e89e13523c9efbde8ca9c07b42e69a712e5e4eda18bc04db8ff1796cb76e8ba09f482af9ee33c036d054eb021b013d1edaff9a62f254c32e2a5848f889324f8035ca5161d77c7548d17536149d63dc680b7c3fd2b31d89189d61e0acb06b8513be54c4039e53cabc9988255bbb88ab05725ac25092e39e67a9eb34dc3e64994ae745dc2ac7308ace430c28a7a760c5d73cd38fe61e2a3ac6397e6b2d275eeb57943bde58bff06b269d7bd00a9a22a6c1557b186437cd2e119afa8df1994d191fa61bcf69cd9d55c8d77bb791d60e453e05bf1123a1bf2fdbf3d97cfd8d732cd06a988f580805f64b864b6da68f86fe86856f1efa40726008281ed99255ba20770d2ed3e4cb92b2c591c488345889a6f4ca542907b86831be388c764065f5457fe31ac390c926e1da5d671dfd51c1efce8a5d1e016056a8b324088c8b19d4afca78a0ee88b2901507816a83ec18db6407eb6a0f04704f28aa582242d32d455462ba2e6c09ee4aa406a0212084bc05ce85ac84ca2ff0d0c54e9679926b18e8abd50e7ae4d28bf22a2fd102106b5d1e3156e3550954e5ba25c9cf9794c69d1e23bf177c9e36ba18262af7e3cfbf9a65141ca9b8f76980e907834e64c1188db1a053311e91f0900b58659ffd5883aeb92f95c8177569b9ce2eedbb34011af44830f4db256e809687cbbd45fbd58696a11914d70bb94f89dfa6f9df89443f05d1c08dac8dcc299afaa9ea4ad7edb871af492a2b6fed433e3ca028593c9b946bc896a0fcdd7d08b41fc6878658e528b743c141be2c708670755e21ad59ef3adcbd91a186ccc8516c6ed4f2e99ad4b899b992ae8aa7d995884dffe71bea6ef2e94320e4dc53c927fe20d8dd7cf2fbba794d9ab5af2c56420d69cf2159f8f35077ef69a14493b96d950b4300e26c4da9657e3223f4ce275ea11c375b9bcbb09cb82a082b9d02cad9a314861db32aad395b0be5cc584ae9c7c5dd784e2c5864f539834b6102a801d1d836954dd5a452affa97534cee09a85323c77827f9ef54bf878a40c32185bc7f8f37c5d86721c000b3501f787370544f1b6417dc03c8c5a0bba023754106ba714d78d434fa9dca49adfa6cb22a08d299175e0842f11068d5140f58406482c544cd95ca8688d20f732a3268e589261bafd9555b5ae7b5920b3470f8262862fa5b889dee661a406a666b1d11a3917b543369f11de184a67f183d52abc82866402ddc4691ddf2c3aaa10bf99b705196347d3e2942962db00501967c8bb5fd384fb64b1799c4ffce375e36323b064ee3ebc7b57f314e03de719b7af31651a320a922c0e640d65b875713fa567c5d980313e9dc22b456538f77f1165e125a0608eb8616257332408c91002e77a8440289a3077a234d32e2b08e6e008ebe24f7b57056deaa18b4349d93f23cdd94cc14afce42f22a88cb86496c11819714eaec3d112c0ff6a9ef0bc0cb39c00fa7e306fc87235ec9a301f70c3589d5686e3d420a5f8081828781d7b0bec4a2584c43c507945bf33b6b801f59eb03f8b6625abae52784be7c854824677ec22970b985e5ccfb245eb43113071657f8de81654c91dfe3dbbc5f839cf0793bf3321e0bd280f49993d28a616a766af2bd82fc802e753f47ced79888af6bb5cf69974306136ec837aa2c5462e988326b31a41b99bf811c2e5e1dd76f9a23d1a0b7929f721b6e875a03f91ac1278c77286c44b1148f46854da8c13df461855c97148719c262d2fbc0ff1d086c80a13a7d7323cdbf5112dd25d6c74ba22eb0fb8a506a67b8b31ee967aa8d061f64b9e3737e7c5199c7908b3ba34e27b5b884cdf1d8e8ca1eac948e28aaf624464aa174366b3742553593b7ba6c9949c32c6a7070bc871e37a69a51f71e41d00c60989a3948d80241cff6a5b06ac8bd70f9fd44fa61908c1fba81966c21e0e5cc3e6b08ba74b68aa14f27e742eb28b63c7579b3d84a0f2813e30d3e2884bfe21b7645a997e0c30679e356bce1807766b0c3df9551967977bfe4b9f2ba717fcb64896ba6ef36b415047a608bbf05e92972cf766d1b53f5ad4839398896682a3b7a2042abee563e729b1b8d0bafbe88d0f77066552e78f10c77e59fbd75a7c8ab21e3929e35f39511ab4d1889d48968503b894f0ff23b40ac127cd512929dddf354da3a924aebe5ce8f66edb4244df6ee30cc2c7c9692df94675f1c8b2ee6c635f72d24a27ba55d466ca550d40ae073fd37a3cfdd853f70e532574d5f5ec40c5967d7587f14d85f8d17173aa3eead622d3dbba3cf14c26866cdb95936a6ee01af4b608d081b1eb55289b5c9ca450520818fda7158ae0b1aeaec1898b16f6436b2aac8ef18a6d06ff242b5eeff796b312d6aa1d5579ea0b7c119cf9040b5a4217d4ec30b7614ec16004ddd8f2db1f2cf865e714c288bc2585b75b61e244eecf4ded133810f5726e10fd9c6ab235cc96abb7d252f2d912f52d4bd0bccc2896ac902963426ac930c65b724a5350502997d7b7174378560a7f0ee9e265de1852a190f3be39de5ceb7e77ea40ca5c82a94355fd4aa3baad0359d54fb95a878e6cd03bfd24fc5b70f422b0f59d6a55bd781f3ce324bbee7e8fba440184f09128e4c2f4606c06ce0554bb043a2cbcec93c6c69ec63ee283064e254d1058b4c372bdb227994487049f014580a8663c30f3b4f44db8adaf4dd480de432b46d613c33ad5d41b355609af13e271ce5fc32902227ced40f80465dec0798face01c55edd0526d7f39ab84162f561061a8c0413cdbebdf229ab2a763065583a971bd842b03cd0e58829c13ff93671c784430220304c28f9ae656d2254697568c995b780ab34438b809fe13e4597d88858bb4de1462434f1cea36f090c8170ac599082a2b8cf5ab6c1d47f4f33eb6443d05e337032512ef276afae5cb6d693a13eb8a5ec82d3477762efc7464d8d536ec283a4aa83a0dad18978b7d43bb4cdd5d388e86bc9214acbd146722c36775d7e774d16900aec8c2e79388bb3aef17d924b9e56b2e4c26564bc974c4727d0fc636776ca005b2bc0b1dee5d73d51930c7f8ea83806003ccbc63d88956c8e6c8c0d7d9eca344aea380a54edd56c3727c8c5e7191e4040c927a002ebb57c44307bb8ca853e19b3630ca0820db3835e0231fa4069a9304f70a693aaada7bc2d539691bbc5951824abd01f7960eecd7cc3894b188afa023bac4bc11e6932521e58c68bfcf6ed42d5a0936fce1df34932f2978738e09f22e5f4ea13a5adac05e15b41816fb562883188251b75156c4b30993ebb57c869e26bac284e468913a55f62650b3204d69ea038fe53f8042e9145cf76b2dd16f8b4ad7b8a888177f87e334ecfe11ae3ade45df5221d0011567c64f8ecb14f8b033a8f4d7c7b06876ef8e690aff6d4f7836d5a205458224a1a24bc687e94a27ef69eb2d5a062b86f6a523a043002344f4f25854447ca0353705c28ce4c0540c13c26c26b641d03a6d2c5abba07b9ee0d02d3453b97c002ad11f51bcc4f5aba848aea9a0cdf85778a841acfd3b2f0333b8e0b2d6a47121a1502dbed586da7b552adf36edbeebfee3c8ec5afa537e67fa2424c5ba50852b48a018b9d00448024dfc9f25d630a94c632f5ed807c86020fe7e4fd90062aa0eda507787dd675e27e01b7c9a4c7ebe261d2d79a73dc955f07cfe4fc786cb76f4ff5fad56b44c3dc49f1245dd6334854a285b14213477ea84d740d5d033a5e2c99e20357865fd6f52bf57a57b2db2fce4d5e0e5b869c11f4d2bcaef847975bd3386fe50b40c43d990170a5d597b59c6e2d5c06bb7aab80aadda681c7c7f86830483443d430f4bdb763d16cf48a9ae2872a113a126e5f0c3c406dbc3de5d4b824b3f3e8a9026944450edaf9472b92ee37c9f1c02d16a94bfd9ac1fe67f59c4f4a3d6051c6d9450bc2647bbb9838919a218104ba0a78f63a9e29a4f6dcb91763745567a4c026ced13ab4f5a6efd8d2d84119cfffaf946bfc29638b1a96fbb85c53dc23a40b1dfc2dace3107f502ac3f00248f9b9c9a411d0afe84a393109339f42fd5bfbc53621259f3a4963771a2bf5d011b11857ef47f97116a21bdbe949fb5daec98c534006eb60b21443425312850d5f367ce8c30b620844d1afcdfc602d8b3edd7a3d17ee1e647d157d63ba5885529058ed34d2d604779df6985a3d7aa0dabfdbddeab507fc3ad73d6d19af293e0616bc1c776b7ba45a8817dd8ea8c7b3b0a6c342433731b353163710b19fd66bee35c340484e4e5c0ada4192d2afc8d3f7b3d087d6fbf26dc6336d8092291f16a18feb77dd61dde730274851a5a47c1e5e4529bbfc53f9cc95b64ec81c8b757e978271668df24d2c56f7adf9a89b7255f9e133be25affbe365a6812d66c63019a8dea406bf2a1f1bddec1e8623300bc0423473e845623a54567e76933191fa15882a351ac3f6627d4066a5d9bf0584a4baea29a8a3dba3d490f0b124de553afee9e47b6ff577936676f7f9efecec0488dae3f77b19e2fc388d7ebe0c7dd486fbc431c497be42baf995673ca171cd9b214504b973c421ecf400154df15d83036a6804dc057559b7ef5e1b0f9c566f510c93ce47c03972026c6932633c97ed55da19cb4733926b49c3b6dc8c91ab90b84d2c6a4502d04df2bb9af77baac1cb3105f51b5e8def4dd86654d9bc824ce2a24c85f5870953d53819aa42ea8747d0e9b8b9351f607d029383b625828e4530e8dda3258096076d99b7e96fa587280970c99f10d04695bc9cdcd923206bde187eee5dc99677e4162887182ac0bf93d14e8fa29326a7c58b8541e7946b0f2f826291318b876db801a06a399cb210327b6bd4c5f63814773133b21cecd19fd63b6359298e312a0169b5378e333ca7d94f5204a0c4daaab63eee23422a9a6149d38295c2cdd30b5cc44c3f4e54f3f16e23d086cf8db43377e9b159a73d0f8f23c7a47f89ca4a514f1247050e943cc1e5d63cc46c07bd7d8fffa0d7e24e50d23bf7eeb753a9120f6ec333527e9920c4fb047a18bce2e0fc36ccd5246a4142dc6fc85bee6bef79a175006668b047f810a843bf16e54502ece4c8aafb24b45615a292b06c156dc27904e2afa2d0967720f52a972b41f10c8da201002b552b02b064c884629aa61c795c3a964111b769c13c68e75f870e87ea2c17ba4cca54e2e0909384785c7c31f305781977199f5bbb1604a69f67b51c1678693950ae980ac5d1060738c185bd97e3d0e37a8dcc8ef997ac7c62e13b47746cfd3f77536fbe283159f4ac62f2661515154f2778a6f0ce5191bc04cbdb3f47e9e2d22da212db8fe11fb5f876c0ec252eac869ecd58f770c1eb72a671e1b2a64eaa0cfda9289c25cad13cc3df2e2f1b298efffa4dba062a766a684846288d3e1dab3aae5ea54c97d40cdce9c2db01113a7bc4c2074e28688cc025dcbdeac9a9eb07b94b95a5da770d0ce99d7de81178dc381f1f8614d6e10a347afcb27a7349c0005a533064d976a68043adb7f01e7fea0f970df275b1cfc677bf542535deb2c180bd5810515b8605eae49cdf2626e6aac39c0e756d18e84c29a4ebc3d9d640ce9bbd811653aa7a8a2eb7014f077765f540b34ae52c29a57a632cb175ef4aac02320584cb899b926a3453673badc8b796e3b0574b36fc4125f6939753b693692d983cc7e05b96e913b0206e003828d6e1422dc39121592e2b57211f0056c8198d9698154dbae56cbf30c8a77166a601f8bdfccfe24f55ac1acaab536a14c9c520809617920d947f2635b1fc40b381e05ce1bdcf02ae9423390214f881f7564bc495b0143ed9814ba11fc4f3df9ab05298f6926e70eaa25552c20f371a9e5db0d0795c1ea3a4b4ef1eae4f53a242e41d2822df1649e9f3f5ff7ef49a863fa7160bc5e1ee30020f22e746ea2fe1f791d0eb9190e65810142d02db5302b3d3ede517d6c5421cf1ebd2eaca49e2b7509216929edc86fa79308d29e3f5300b2206c2a0b4081fdd90874261ccb894cd9cb287fe0d24cd5233c68211ca2ee29ab19781e03b47f2f003f6fa307cdeac22a4976d60a6344b3c0fdeb6555a394326522c7fdde9d8f9151f9da796b7111e1b80df701c621e8c69cb82407ae5d42f21dc2a40a4d5bc05d24c577c5c8125f59ef6a5b91525674a978fd1bb920aa9685ffaf7a0f8913a7a8541a1b8bf90b7014a44d9fc253a8e7dc82131b8f7dd028d2ec061e798a0b4783792e7a28307ac68caf48c0282508ee1aac2ff5d8a2a4707e27ef61cfb9891f00a99f8b3d8f21631e7dda1347c810bbe219e7c61fdf9530173308f20070aba938397d5dd13a1539f5744f35a5bd487f222d228cc98efb5d4452bc56ff44a4799d27e0fa2939a5340cf6c73a3da619db930746c78a948a9483c77b926fbdfdeec2dcc7324f34b315e9ceab0d8adfdd2465a995da9e1e489e9d09cc3659b7422682d65693027b5e40604b657206a34818d94f2f0d69176df09c8869d8e5d412a3bd7e2fc8d408ee1f2c1927181d967a4c88e96da35f6be8a67a3035d2a5a1784e5f9798b7ffae2d69788f036f4cf3fca6d22ed5ab02614a7311b8b5230995af0187a5a64bd95d6db8e28e33f0e91b07e5016f2af40e43af21d75a8092fe248a95206efd8874cddcd8e9fc0452ae90fa29b83acae6a7043d91f6fc340e032fbfb295009d8e41f69da481f8fc5e0d8956acfa5ffae6b0ecf5c756af161b68b96a2250684d8511e5799cefd53789bf8f0580abedaa8177cfde4c6f5fc0f5ea530febde41cc0dd5316fc3cd3a770fdb56234bbd2c717d6de6a6e0eb7f378bc8f25ebf42574f5fad52235071f7c822510886af8250c75ce7bc7df0c8e186be6640352b7f9d7e0ee6ed7f2d21ddee60a72f620f355f7fd849e43128342ee188e77f6cc6f24dcce612a6beb1006d13e0a3506f32d6b93c511c6345dee0b24b98fa49ed4ab26ff88f4165f1926f6b2d936ecae03525931d4df0db230bbe3ad4eeaee2068fb385c10dfb8d8645aba75c535c37dcf21ba11c4bdee598a04cd0831bb4747c40c446c51b4939f1f230a9c83e1bc2e9fe5c96e5609e3dd62edc843587db0675af306bf19ca0e42edf9ac259d6a4d8b00e2f8c5f2f227455348011aede793c2e3dac30ec2910b638873efd71b8607359af0b2271ee8d247472588b4c2ef4dbe0c7a6557a90fc80ad0189c0ecedd285976743cf7226e35504310b2e4ffd479909768b7fe6489d256f6c6d5ff9b8b2ef01e8f33eb8343b0449d69717ec539146d39b5a6d95f20d00e3b097f9be35dfb35efb43287db0dc251bf1cd37fbd933dfbafa19cd2c14c4083170e6c87a09bd97437f1962a9dab290bf405ecbaac3eb32bf85f9cbdbccb3d167b280930b6f0ecb203b41e435fa3c28c753e411133c6515b32c99ea8bdd65a2b3c472f814dc38e78b57b360392b6ba2071875feada2b11085476cd26ae47cd55d29f8a84a969145a51c03fe915788850497c6e33a13692aba40f6e10ac527649463162584ae2c383418d89eb09079c82a47f1a3259a6ed30d6bdd12b9191728c30c5e7bd828c28c71e764f37c7358da70ee12b042e8250953f91d04ad8c3c977484a3086c13d8525838c78b39c76e21399e7a32faa2cbd929d8c03efa9a37957f68767af44ff7eeabacb3e1f31986a4fb3182081bf2a23afd0494c335c7611b10c86f0d5c23a3b2938e48728ce3ad00442972bf9d06d613dadf70e82dab3abd841d223906d8188a327bb5ddca0c11b88dee9b4ea64f1b00a39bc5240ef56ff0847c8a4711126d008b5bc7588dc8cfa461136adeb3903a612d82fbfa4a84084d05f2e182ed7fa1bfd3628716a8db9384e495e679a62923f65fd6b16eb97830b054713bb418b2c43ad0e030ea446c9edafdd1d973a5ace82b4222aed35628e1ca2399342014257ac1b061c7dd12fb110787eb1775372806322b5296b7e8805935dfbf76567950ccfb74379737254199e7b671c994274dcc2f788afdc739ac15e6cb43b6ac67a19e4e3de055ebe2cdd7a1e16fc63a0337aaa2989e65cd91cd464c43c2489f7ad2cd294b54e76c6f8644c6081ebb725912dc29655701fc1f17da2e0909730f2ad4d05e220ccfaeb359ba06d66814447dd91bd2fcfccfaa3470ff8eb26b24e1d17d9e34d95eeecaa0f09c2d531aa79dfa861717f05a629fc6e4d0b040d9ce9f279256580816ab376f527bcb232e51ac51c06c1e89b827f402f5ba56d5ca8dba3ae222f34e94a185bf98590b84c9d74a0e771081f206aac23732b3d2bbfc7357046523d3f4adb4a636b7fa3b41bf92aa6a25660ea0751da8ec6a253ee447d50119891deb3f5e69cba7f7c340cc81c33f1cea6f8dc77aa0f1c61b2fa88748a53cd738de6346379270ffb3c68e6eeebffcb88cd2706487c657e676a14ea9687008c97cc3fec144b2df13c6e1043aeaa5d17c5153b6e93d6c768584d3dbc100c3023e77bad4a51e77dfc3ebce5b9a307b23ca2db9e64d4f324bd088d07a031d58dcb86d69909dbb05bb71205b20b00f2ec9b3b5744fbda35b9dcfd1c9a3103432ff701106be54ccc59cd074de4ba316553fde698583f1b0462cf431d6761ee67706241d1d62795fbe8687242d6641d8c6f49a827605e837a9b3e98ad99b62e4d5b2520211382f5f0bff14dcbb662b5981ffda3830e0c47083a64a0b1939c3cee4d27ccb7bf3396d259d53404e3ab04aa3d723b8648cc8e4ffe61ab7246fc9aa92c2dcdcd1a8856b67a00b9d4a3787f8969ee21ba39ad98eb356324107906214da583f537d63b233238b3cb56494c5dceb20ccd27f5fc807a034ce5616593a3a2c10b33a4ec600b161c42a73a4686e33fa99ff45508bce8af072cba6ad0b400009f00cbb8b41ec73f9a2a85d69169925d788c9c8719ea76f8c6cab6f8cfa4e4d1d89375700e194cb48a1ff48e493b00db750ef384092443130814410a1b41eaaf29370a394fc8fb562d98c932ceaa8012605cac0c465cbe06ecd21e97abb8c4c787c91a361719cbb205b2ee2c2b4a4201db76820e77973ef2d3aad46b412f050c74cca487fddd1ad67150c12d701e54315e1edb3e19c761b708062cf8ad5299f14432ae184d3795c4f543b8a03e3695f73fa8059bb8a8a0cc2d77c40b1a10aad9c14d1472ca40c4288583346991d78380869cb11eb4c9f327bad8b838d295ae5a3a7481787383334b0895ed5ac96bc60618ef0d1a45cd90dadeea659a1876e73a6290351e85ac5da1ced99c754e8c25777aeb0d19f6a5c27cc0b85dc3513ec3f93f2dece644292d560eaf808952771ad6912a42b748848bec4defca38fcb03d0ff50b59257879d2120dcc6d245b6519cf53bb5d1d37c7a020d6c3ba7bf0012b1dcfac7896a86583db1df288cdcd1285ca46fbfc2cee4f26f4ae97d87c501ecbd90aaa87a756b441a8f19447532471444a97f71925ed991bf65dbcf7e52ec190f2a2f0ddd43256c052855648eb81d7a6206eb155cfea3d2f37cdfd5428460c1fb96fc8b52e3833804e55100f899ce5ac1aed554caf802727ec95c85a82834e470b28660b546950dacf97615eabfb7f4e0e45ae4eb98a9c733299cdb7efe2f2ebd9e83bd5113dc8ac5b21ec0b14fad888ed4938df64873882eff5808746f8e046f5fa157caa07ebe493c4350e6d66bb4738ad3f677dab3733afbeff1cc0abf5e78d84e6ea3a8bd986ff83fc464602d987708211bb279e8ceba0cf23d9010e3352992cc0297f90cecd981c9a9c66a8e8a4abbbf9c94ef7fe0cd14746e1be08e31ed9d29bb7171bccd6cf65ce40cb259bc2118ef39482132ef25bedc5529fc2930bcab7c8b4c166b8b3d391467aad5e2f82a26ddb0fb0122834288c04f9b974d8125e799c3cd8ba4892ac77c3690c0142da666b92f12e6cb096e4f216fabbf638e100968bbf97847e6fc98d3501fc53554f82f8fefa4772d9b8cba3da834197b9fec5302e380443eb3facd32fe48523050a72951cd39b457eb3cdd990025b9df74c3165d699b8769c9287f10dcdf3aea81da229e80fd45f3c2a7ee26624969b70c74bd909108fd3044d0242f1c2cf1690e28d30ac53fe9799c20a4d2ad20227f1d83d977696a355457411f078a47e8daa99a011f3e1ac40fd70e0b0553c8bcdfa02dee3567ea4e5d4cfbe589fb1d28a0bd7aa5c9f0a0a26348616d1fff0e7fae8617f6905dd3bb79452b4184e0a4c131288d66760b2f71f3eaf6ee4ee91898564cf2a7a71f84d70db7aba662a3c08581f6ae0b159fe7471e788c4c5f79b8962c27fab1b70ed603cbca6f94c32fc2b905d01eb7d3d613cfdba4a3b515ef94e2cc89ae989fc73dbfbca600ee0ec1a6676d75a93cb17f06f28b48fb5b9f9f1225a61ec073f775f90254e3b727d63ee0513c76bbbe89a7f140404ed863e56dd0593cb72f0b6b729264c59d91bf662e18537510f7c6e9d08c4293523a3c0b6a2566a05a4d01bc9918e5998ff50f262fbd7a2e7c18f7f6e87343368222aa27c95b87406f5d8314132f153e3a857d2fa4eb3c9dc8e503653fcf755de0bd538bf49e8f0c3824815cab1dfe1740ebf0478bd8cc0fbbec724d96abb481878fcab03f3b5964ec5b2157cea02c888d0f226c4e37cff595067cb2d2b266ec4129520c45e4c4154245c75e40823d8a034948f56d22dc6cb4eced3f22243966891749bce92667497b4785a5d2e164deff1b528c2c9ca329da3f530fa5b3c8c0a71ce1b003953abb17e638813b3030b9a49b553a6f27418ab91ca3eddec84ac9a070f0e36a4e0d3ff9353d796a3ca3e26c90049fd9bf8b54cad269d3b5059be4ab703c72d225800ff83826ea8b5a1fd62bd08b2d492de15b97240fefbcc30e54c05b37f5a18e6b2e7d9923021b1682f00a87ed5df8a90d1ba79156271d9e8877e5a95b087b50b6c03db3beeecf4bb09005c7b1c0b299c0dad9fece79292f7a96757d41067234bb3c4d610e72103b8ea88fed2fdd161ebf65910741160548cd9f7c29aacaf24fb60de1502b9d5f86c400c1b0088d46cdd404a8b52e6c4e2f24c3bf9528efd9ccffaa37f87caf4b0ef0f2ba017dff76fc1beddd792b918eae142e188fc9f8ffb7470d89877400bc384ef2bd8042abdeb0b7e9d430133706871db2b950bfb338c0f0e2ad32404ae85434f549d542e3154e1c29b73181cc2b1a1789c135fb777318ed3e8cdc74d19981ff7f3444998f9e59cf79dc3effb88569dd5371ce587f19ef9f73433a7535a98ea9d3e4129b856424b0a61c471c38445372e0b55ed77eb6d53db3bf309afc0b55db81ebd50a3d6de828804eba9a22d088f47459619aab345a4245ed06e518895af91b9303652894bed8a434e71bb5c5f9d62d092464c3a42049d4aac635da65c670f6e2bbbcc0b7b14a17edd76ee84b557f4ab3577e60b4fd76309218e6fe8d85d45874e01938053312d808372d53fa98388e47df8bc8f6421afb2d9e61637ce7dd2bd320c669c5a681f58b0db48b655ee868c6ca831729af7c81c8b1a01b813c8fd27c355f87ea20b82f88918e409e5f6f3c4a369c1f162fc22e6559bdd620d3c3564eafdbd68bb36b11ed54eb3a7d738e9fa5482ce1043356eea58f7b5816c37a587a6f9e9a3d8412ec0d3ae79c6af255b121561ea110ecd264747f9a56c0a86d3899078c80dec47dcb4a5d24ce9eae5ad1e51da485fccc7ae07586e7f5febcdf6b202960ca577161642c774e36e2816d0486f8ead24e3c76a90c8cfedd1710f7beaded8ec3a50639b35943e3c380b88304bf3ade5ad302d09257df706d57e1311a7ce9d4a7aa8ac530387ff9118018ebbe6551416c109193a76bfa6c40d8a33c8dd0a4ce18689a775a04d5e79a7d26695f578267637a46995cf53dd5577baf798888648417e988554153ad3fe954b2496d9a1dd5a062480f3e284da95d9c302473292c1c44ee23b5a5a595cde12431f598eba25001ac2636f71ffd3343900031bb49c052c2676f8f2cc1ef9065923c9eb69f67bb3d1df473898915a3724f4d1e81e0c1344e9bf52044bc90b08fdc002bd3531efcad00bb0405d3c00067dfed198d068f583399d3b8018104338594b2b7d0d14ff1d59a7125c940cb4fd71b630184dcbcf019cbfb3365dcc6a4da6631a27a24a48fa547cb2daaac00830ae053b8908d8eded3bfc4cf7ae65ae106fbab402cfaccb49dced0d9a3dbc8a3c19c968f9818ef2a5fd751fda26fded3bac8877eab5b464f66c4d28122391f8141edba80da5990ee308d6d7c8d6a8542c5d28fcc39b6542210f8d74a88eaae940c310c9a2745bab5947b392f3711cce2d8d002f7848b5098bdfa23927e9432c024246c326badfd8a8e8eb43963e47e1059ffb401046e96c79495c8b526d5b5471eb34eb77941b15b18ed1b5a16acb346ab901098ddd6c74cef39826f1eb2f1c1926b07b772b6902b62c8cb0b3a04269b9abdfb3ce974685415b82d225476fb032ef432f60583b5162b54cf11c27d73f11df9995cb8251c38e4a610c4a97803d53dfab591a2407b5dc37cbea7e82f5d6c02b54b21c468b9b593ca117f0070fb35f7caf5ea8e631c2869c4e6aa9f45d4ad096edd47a2acbe1818eff318784f2c521c4ac4a289d022012b1cd311e2b62ce95cdd27558231ce206b2924e8932b1e18e7479e5d4249480b9111765204d868ada92e5afed9959c758428d2f529110d7e8cf29cb28bb70b21c7287638e3458f7f772dd0a2a05deafe8371389a8a2128c810d7195e08373ac4cd0391363d4ee8a1fe2747be5e77711e12b0c4ca0fa0eed3313cf5ec0cbdf75781623068066cb4bf47c3c243996dff13183abb7914ca2a0d6b12bcf570990d1edc461be8903db3ca884af9cb653a2875d9b60088ba3538d33d3ceaf8bffde656a65f9a6e43478f3fb7c13ba1a2df35cafceccac8141b7b8106d2dd8aa18b238d3a4be6dd4aa1eaa274073e128986a396e110dea6cb7274907587422a1d419c4889e7fe0be1221a2b3f7b74ef614a122764f81b5b1894f18befa1953643dfa7207c9becfa854a6715e9ee53c801d981e1958516e01757f9b5edcbc58fbb7d886ec36654eb2d9633cba1a9e30944f93295c6288c0ac99918582814a23c4a8867c68d8df2792bc64520a8241b7379abd7d3bf30c0c736219a27e7cb409f41976a86604e9949842d8620175602f767b56c94852d03e39accb6c7676b65db438edafe5ae3a6cb5f81a5e57147c2755667365f314f01d8ba146f80e7c4c7f8a9fc9160bae585897f6c86aac485dad6136f1027a9d693772739f30c3dd8cac932aeba7b48d4c35e406c736524d81596111bd366bcedbcce2f743d3bc063e89c24bd492ec9661809776256dd15155b731d739cf438f3d2ea22080324591ce314c6f1a03f234b2344b0eb3ecadbd38a5e18430281c5e784e3dc2631e778e6a1f4baf59868d10767566cbd8baacadbbaa255d741c0c092d7be3478db98a0bc6b49b5d1c301d2b1668f892a5b747cecebd5d1d3e90137c0ef72f2d8d09f6e8612fd7b2f95b2d52d16ab4c7f2581ee629280d9386debe3105167f94ebad112bc313371d75438f82469a5a42cdf52b1723bc2ef6743139008bb1032f8ff37aed81ff98ba5caafe2aa6641eecad9a8e093defc5ec13b59b70dcf61f5cf30b39312d83a680b5745764d88a4517c32ec325c8f855c7ff974aaffc2a63483b014e14792e379acb946144be86fe3339f609cba65be4e9fcaf1ac6042d5c678a4bda30fd037859bb7945ad96aa7c498ac817066171e85095b9dbcba244f48f059b20fbcb11b5960aa9f44e6059334841a1a09cfc866eaee633f195eec6be3ef2e97f47d841649fba6f3747e0800c9f2d1ac68f53ef29b103248f589814f5c205b07f862c7cd4c072cda2d7a3f84083c2755416327b00536bed05ec0a21b85ae41d89fd7bdb1574c7911b2f8c2e199d052ff16948182876581ac62ee57f8c5ac18cb85617cb7df88e3036e42778c07167cee476e186e202477d93c56d3c660d7d7c4f6a90d8e0adf7c3e7fc1d3352572e1d658dda12e2d430bb055cdcb1354578b50ded749b59693aae6577b3fe5106e3dc2540808445e10908fd61a34c9695aab44ea761502fcf12c7dd4508e1c99affa78cb894e998eda093e711d2207958886771fdc3779426ac9e02a8c5602fd3cb5d3910079681db89520cfaa779e28902a3f8c5f5e13a27cd23707943b7a194d1e7f050a87a1c565f31bace57f67860cc7add68109828f765e0cd52ca681423df5aa03849d0e7e943c114d8d68dbbce33005264fa4ca0aa2a362345394a9413565c6185d3a2f84f5e904ce4bea0649bf9c21aae7d1e63f8ad9bab56eebc13d6424fb4f6df96574cb483a80b6405868ec19980a2b6c3668696d5bd0666bafa05151c9bdee028768dcab28cf1d1fb733492fc5cbbdaf4bb56a3f9536b07bc572d1252dd836d8ce78fc94d38da5fc2d761e100dceab1b061ba2c1778266a6728b686695c38d0c1957f2e09fc13e3d62e0a3181c3ba4c13171f2ceb8f6a99c5de534224d37fff730cd5d7105d71b5b79146954c59e1a626a7a1d042a51c1a5586753f6061c13670e7b8361da7a869252c03ce16972eec6989e63a08028040c481d52a4cf7cf88209e98a541e3f979d444e486efd19c03d8be6aef405f8a997be4b83b4c665eac8d0d871a46454d041eb13f667120c14e4dd3522a4c032cebc444bede9dfb17c22d58122d0d4092d505acd3e651043d181aa03fcbec66ec7a99b172c00813a92914ea0d2ef31cbb9064e4827ad795015edff5ab887c82a0ac89a3f75cedd734c2abca56a2c78669aa65dc01a874d47b239875906647aa85c5c06897fdb8a79496a93a95b29551dc9763bec431fb3142f523b706b7732ac0c2987beec7f79438d0b86c0c76faefcf9649d267bcb360e9df5c251c7e33f12523a4b8788455cd87f54824ea122c16498dac1c541990f92606876c6e5127140d38d0869d483352abfd0074297be2c96483d37fd24ae1ccabfb554d699e180ab256bd8e55bb85a90be50fa652108b8e089e8d19cf1ad15daeaa05909f30645c45e78e731a84be0f8a5ce901ab60033d0cd88e5da8c9d5033c924cd7e8fa3a632f7290e5f37b8fb9420eca20385a2130d4dbdab8c7391e2c52b8043ba0263e1a176bca27e3ad95042d32ef1f375f31feecc3064c845d1defce5ca40a5bda9aad2d0d2a8ced4c1d23d72d8565bf285abc69b882531628a2ff148eb51d54ceee3fd18bc2ab8a920e0ef2c28b5a0ae7e81c38f96f506f1f5baaf7d0986e8c0d1b73df71827590aabf551f41c087357b6f915dcd71e8bc9429bba1ba2eb24857ca1ea98604390a6af9ef17b58ee3bd01325c23e60a731deae485397549ad3892a215674f4fc241d13588937e4db7dab7bb0145e13143f146f15f4e028520c18b6b55d9bf18ca403256db8e162ad7fda91d958bff41b23e1eeb19130c7179b89c677cc76e2f7e420045d4b4431532362a7351af3f54b40a6eddaec8b1be7e6fa86e9c81c1b98064c79ac9e6681165c102cb13398760d31048dba50238a3bed2ee77f2c35a7d20f7179d81568de494c1a27cf8122c68500b63b7c799a72a21d6793802d3862f65683d41e023b30f14d22cbbd746e08b0fd614cecd7a60ded9fb25508fd2496a01e1f604969691857ed4a3f98812d9ed2bdb846cccbe6887fa50946665d38a7beb538c21e2c434384e362f5ee0d1992f557bd2546f3fd774bd43e3a55ff76347d506a7cb92ce01a24c913a0f6cbd3df32eecf0226a9a39541bc91c2476dcea8df7e64474d891cee1efe96df5424a9f31cf81696d99468364e0ccb895b297fcea7f7ade98a43c3c8dc557ee11f4d95466a43efd0cc1d807ab1d59ab9f257c02d09e95927f34b1019bb067721a98f4fb0b3b7f487558e501b4c9171830b131e41830bf6473c8c079ae511396336b8353e1a713514dc39a22da8499ea72f7710075d21873897f0cfccbb1d3940ba8acafd23b7900f2e5c6e08156f46c0a473166cdc1f9fdfad878f2afe6118e3769650e733b85eac1f35489ea86aca835aa9ab437dc810c6bebe431dfc42a863c9496c015536b2a75137a0f6a3bfc9345c73288f9d94de88d1fa47417abad0926e7876196ea0ade7e4168a01c093a1b150384af30c3d6ef5d34309b65e242433dae105644103ab8f8dba73713cc76fc6215010bc707cf55ef16483b5eaa73f46d330ef66b11670554052b2bc94295ebd5cd8ee6156dd4d7d20c8252313b5f7438825f4aadd4d94dd40038795301592b87ba1a59f27b4b7950d95cc1a9ada0541bb2fca97f84b7c9294921af7ff06850ad05c762101f3f147a17b9bd3225ac9d9b299fc5f65535ad00aeba8b8576a806550500a6e63343b49359d97620fac5fe4b08298ae5e8cbca88f33f9c26df1296f900909f7653baac4b869e8640ddaf01e65bd8a63b0b06fb43115b2aa7f34e5811b5a192eda8223e1a06daba2d9819079dfa17df2e721a85d5cd3bd5d3605b6d2b7ed712b0c9f1d9e78d3f28649f9b164e7d2c67d0465fd558a301f3837434ab0095c7655eda28fb5ae7c9061ea7f66b26a3f3a37b16a9be74de8bf74899028331e8a497a5b4e7576d8950f948c115010eee873a534500cdf932aba985ed391ed482369c0dd617acbc0f75e40d638b5d097d1c9a8ee37499246e341b803a36eaabd99a820ff3dc08ab88f8729a832f2e3d3684ab1259d70e7eb52ca98fda6a258c66a5cc601cc2c3f08eef053f6036e1545d4caea96da6b07aa0fff20bf656237aedca03a1b3ddea6247c06cf5e99c90a88552112e45bacc5974e42a4b5cf50b7328cb5ebba4b8b33647748b3fc159c6e579e80221bc0e0dfe6184d232286ed9b48427ce76d310bfb852f8942d8ffcacdbdc3bf7a150ec9e57b701ad5ad5a95e8e981a24adacae4fd02901db61852ac3c182d38800b1bd67d214f5df7b06d692de00ab5cb24a51c4cc015165f5ce63bbb55eabe8826ddcf2110e3d1aa367871ce11b1248cbc57cdcfb80c4b8f51aef86718928b4f4916a22f8e82365b13c565df0d860975483c62d2907e3f75ac5d4a987d4b3d4c47c8a714fc5e421ba66fcf4f197078ed7f3b7691c5f7790f2656f0ec5e9c78bdcf75b63754b084d8231353bfa27c57d25a324afb94d3c0f2389ac2e8d02074aedd5da18da37621635fc6cc0d46862500cccc4f87381ebe6217359b99c959bf99f1386e0693d1acb4d575fa626b491ed72ddb97a3f9ffce027fac8a74bf9ad3e5ac0e83af9dc0c2331b0f6b754e0de0585e335fb0531798c6a766288b14bcf8c9279331bc28c5dfbb7b8f471fa8be5b62077caec6d97606bbe8b2fac1ee540c873fa8a40a2b955c16ec7804d9a8ba99f70dfe526c5dd178d0f0ed79721e908a3c5f85a624e0bb6c8be0c2c25256a2c05e025494d648406e9ec4e8a099d2a64b7c72a4733f123a59fe35bbb9e8d0f701a3fa466ba18764b3ef669647ff20f805dba9e4a175c3e773cc397417866ae411f67d225a445035ca13ba28bb187a9a84dd537278ba6a60b1c11bbb6d6fa3e33a3084855f259bd4ab179b88c779786556937393480b53c02af44817290436bafa8c84d7ca4acb111fe5fa9f697c648632a0082a41bba189b521830d7de6bc179928accd52d0dc29aa96318770ce351582d8a3be39770900fb4784ad6b944064e0f0dce79c3adfb68b8d32bdd67d89c4622798cecc91c312ec3c69784f57e5e6a148f8fb43fa58c2380e6a279ce3d0d4ed12485c0fbdb23720611b4b6066140607e39c24829c418d0a83db3423ed6fb6506c90eff807117bc19384268759302278bb45c64627dfb19704dd29023fad802724b4a8a924c1ab6b795d9c1fa6c80c8cc133d73025d0104238fa97f26d865d964ee3e1e6dd2fdbe1587268452dec613bde86d2adc0f690802ac7ad499682355baf9f07866f4934d3c3acb94e8fbd4b59823192c01d63a1eafeacb5058ccf6091d03967d490a89e1e041ec47ba9f503a6a05ae289c33edb86455e07611eeee3e26331d2cc348246802a0ecacc2b3031fb1732b4588f6d1547a34e664d8a90fe22ede2fba6326625a41a8fed34136902a7ce155b8070e90ad44af1cd2de81b63562b415a0d082e93504bfc26a9791f7ab0708efa512249a8a8e18fef8cfa9dbfd3e70b6e79b25d71876b76fcb86934dee152b58e042c4dd31ee8b6180176f30ba6af3651db0216e0ac4857be888c3e6ed4f9898f182c5c1548ca8a7cf64197ce5542e9e5db72391d91b8b1490a6a9e39fb161d2ae61d999130361be3667a3453ebd5031952ad743b5dd298bcba9f49a510edaf00341d98ec38469d603a80b99f285fc12ee4e0a9cdfa06b1efb3bc7a1782b2845cb41e7de33b1304035582d91e31678d6facbc7412c953899d09130ec148c3fe92bbda0c4882630756a4e64ad195e9d9d21ce337e9dd0a84978260352179e098b2b38d15f8a777df03db5d8d8795beed29b32cd10d5661ee313f417ead4d1ee1b5c484840bb8ed202b3f8bde0c01e3de93fa0027d53b77497377e6173470086179b1ef54faadc74df48df7f811e46ade46bb61c5f1b023122c2b0b7919f597b2e1359cf4c11c9214b9eec65debec5f27d27fbe23302c4530f3bc1edc04da2750ebbf39db8b055dc7f521798d0bfaa52d59ee9361e175d45ae1e7ef64a0ba91dcd03f3537852193595fdcc036a08d90e6e4619be36ad93e1fbf9393386ac1afd49b7e09c237b2d9aebd5ceb3b9a7f8900fbfb266a822fb65237c68f79c29541697413c021a0167a0d0fb782981e51d4e18b615c48bed0b8ae6dc200cc71580c264f35852ce2ccd3fe662f9b390cfc3b3b405b1d80ddcf274d415beb449c908f7c90f2bffab375617379076afa19dbe0e6c95e95311b3c7f1f53ca5cd9b7a4e1a77242c9214175a65b3518574967904503165f5779f48cd18624c0c99fcd53e2354e3b56a558d75d45998417003fa691347fa891cdfbf7d7a1509b47e5a0b38d2045d0cfeebb7b821a4da3955ea906df044ac4ec861abfa3f1ec5c91bb51b66ebd7e26e7945562189af2a27c9fc6a09a1eeaa592b5568ce232f81cdbef80dc34ca98c4235aa4f288f2b89035dcf81f2e2035e41a1a033fb2a79133fa459410ab5b5a3537a74e32a353c8f19296bcd88d2b428ecdaa1423758db4532b778b923c388dd01bfd429eb5a471fca8875db49c92a648904cbf6372e2c7ea2279699d957f3f80b283e2bf2fa6a2267e42cb0a9e45c78c0c904a59f5395461c175ff9a5835deda524f0a2643de1d06fbc00a2cfe8a3f2aecca8758ee072c4091b774d2f4cd2c362b92be76d131f9bc713946df3f3446fff8d53fa48e77e0293aa0e70ff2799b57afbe050488b7ba5cc6ed7505cadf3ea247386a8a6cf28352678387cec56d53085408b83c2668a8d4c9e7eae5267b4113b01a77dd9ed0c53fb80061dcb50b7f1f727ff662e8a498abdfa1fc23eb1b80646455fc5996fe60c3c9fa02610e739f3c57d87b38ce4762ca0da6e86d686ec331f83c33062e15576f587328bd30778b484e048965c37b5a3bed5dfa189e0953b043183462fc1d550e5b45ea50d050bdb41b7a4ae035183513a6064b3c7da024a851d64f878dd81bb75a7cd0f52d0d2dd5cd8e01843b6d47961e8be5a275d5e35534e50796e303617bcd48f790dc60874e7d71fcba016d5eeeaa577821deadc2e6db04e0132adb80545d904b6c313ffae6d02ff1587a6d3706db12c97d80823b993c000113416faf11b1a431f1112af9be7a152aeeadc3a89e8cd16acea13c577c32b746db7fc0d6ca84cbcb84e348edbb040816cca35c4c69e1f5e02806a5e5b8f0890d5fe38183daa764dd39689e5e9b5600f77110ad5263065e433712104dde72a62098248a8fa3fa6ff2c610f94b4a2c3d25ec1fab7f29f0bc26ec2e76afa59d6ae5f32f5599934b5d78d6637911703876cb98d1ae1727417a60a60ecbcc9eb2f2a02d4f3baf6c85da62c79b7770d6b48c27e1508e530eb0b40063704a2e1b4e71da651e3d60ecbe4dc85927a5334aaa2e18bc4735816fdaf2bf90244dafcb9788ba3eba411a27b58a096eb1227c62b4f4d317cff9c5d58816c02c03e7df2081395f2ce7b9e1c18e1a49185db42830dfd15d1acbb6e29399a9e1c7a018a21e7dad780f9a485a096654d5beb91ce5ddb9c3209689c9ff3c9c8003850a144d1609a3882f72ccf18de3e10433234d4401f57b788eb734e9f2de65145a36122e42237eb50696ec0e4a011ac903ece30a1931d97ef01e930fa6c81596a70316a0503496a6741e756ec5cfb734719181ea665e3e544f4ee76cb3f0cbc1121da975cb269032dd074fe5e524898f08f572fb4701356ce7b67321ef416454004679139917a235e09b069b855a6465256a45a3f9bbc0fe26c816b5af8561be2de26be25ffdab748117971f890ec50048050c55f0464883b5decddbc9abc4a97267593b0073106167402793e419825668cb9bb227338cc58c101963d9f4d586b058d542c2dfb7566291c295338162a09f5941fedf8ed2c85945560ed4da66f93ec1258233c7450a982e84d5d3f0a31355289a72510feb3c8208dfe2c08f5dc39bf9fb6253eb7194d94ab53a5b16dc665ea20dfce6de08e8b3e4250b50b1e0854bec3736257e469e7515c905e2bd7d6d2d7d17b59a76785a245de206d7ab99bce125d5663b6e03e19b661ab664ed9edfa26e33730e0749257a786279857a0859111de22edcbb1068292fd84125ef7a2580c9f4d4871bdcd1edc4034b8171b4114d12eed03735ef8a20dd3e422a0a89ea36a7ae728920d37b8d6fb215d6505cd22c24dd3d8c0d42faacb54ef482c8510cda44592d79bc689853e69d2d1b0b8bafbc46d1dfbb26936f872f98b2286296f956ba992f206eccfd45ea7e5c1478607191109b797ab30d39eb89190b864aade0947e449cce1b40fa403a687dc029759f82f345e52c232f97d9c4f45c497fe5072bb4ba819ad1c17b99da95ce08815571c739c68b792166388072dc87365c3944aa211d7e184b3de09a96aacde942b2e06c5d05c2e32dc8aecc91b0a9f48958042a967d20f2cfd40db070a56f80d60c38355295b425a7cfd8e18bb88b82f818adde69e93df71b4d7a10ca6368e7a3bc3e70045daea9389d331c35bc0d11b7fc87efeba74f95be4d3313f75f8c34d58a322598973e6592add184df8af9b8c600d5546cf6bdbb872440475365a3162a16359d2ef6aad1a3bed4dc424762179148b6499f9a87e2a1385a8241eae4015db1aa56a1a29f9e7cf8299835f7cc2e056a0f12a7524842767f163556bcdb4d58316e3c4646d7e18e124b808f49b32b6cc869dde88900b1c025321c1b928889c0d350a4103ab26d2769e6e80b4580411436d974fd2e52538672ee02131a2a3cf72a601338731a6ec776afece916480b93334ff13792310f3eb0935b07512f003481a1617ed1df6eeb5eabbdab7ba09f8a770791feb64b3f30c0d1b3732782bbcf76bbc225a46453be678470a153b4edba1113b28123020ce243de6d487ed7fedf21a8dfa23e5ea4c3d0d1fa43a9226e5c119d5ff3fadc1d61b478cccf0eca263d2da585952dffae18bba2d1b083069bede88d91af698f840d4856dce58362fda98ce478648e728ea59dbd8e6db07ea2b00d6d3132886207f44e6ee7aff806d4f6c1de38ce4ee7ffc1dfe88667515c83406944aeb18972584c994d0b63f6eac4c7b1ad8da615945fd5e8107042e04897c7078b0a7a5c78078cb6c3b8606f3d0edccea19ccc836520697c523c1c6d01596ba61a982e3c3fc5a30659810f0fb62811de29140758bac294101c0ed8f5b809b5a6afe6e05fd6d8cdbac82b655fffb141f29ff292f093be78ee3b115543cd078d1512749c08cebd4aa2627cfb0003083cd0cbf683af4a712bbe48269a7448a2cb968f5e0018c40129b696a5f2d94cf62b5093ee0ec0130d8c1c6a2cd5570ce75ba5305e2dfb02f3db1308589276894d3e58038e2c74f5e66f2f999eb00ca52cefdf71cea217bc79842e6309f403a985a42b94e762fcf4e9a7798e063bae9ee4c39cb539dabad773827a18344e58681995c4463e95abbb2503138c78b0ac0d2186630188bf797757bb7a29c8363732674a40e143629d40a71255c5ff87484c64b27319cae249d6a9214500622d3b594225421f575813ef2be13961dce69c6dd03802c24af8ff53c59453a0ad4e5371d9e095162a67828957f64470fcd11382cc4c8a7662e51bf9f88950fb8a0369d704026d0183588e2906f0b2462e782a2a7f6830b4952673337f70942b988179a7b9bb6709e4df0ed0300dd9ea8b2b53fdddf05342714c3ed736f0088d0f01ff11677988f7382bfa40052c60e3b8918d3ba11d44528986be5c92d3160c38938b6265c4217695cd21238a0d0abac8cf35f2e82374158f7051538b97f29193acc9018ee48c2f642ee584b646264e8e1c66f4e848916e61b4f063f05455b27dd58a370128f236e0f325a8b486a82cbb9e263c8819374aa9c82e22818c1bb77a5367ffe6bb48048bbe4fba71015856980766fb69c4dad8a4b9b0903df42c3c93446a305137a79bc60de60ba18c2bf53cc14ca7a39e091ada4679ebc886704081a51f56025190f321629dda9c9d879b745fc8ade24259446ff19ac6cf1fde750bd1139df65075c1aac296fe7b374c8477eea0152b8d1db742770144a28018625a08f57f5ec20bc4c30e22fd3186431feadcf2858302d560951377ff843f3e717f784f4e9ca17d9a53ee541604522a2ae731e32396be4ece06267ed2b24535aa763a99724898329afd3914b896a64e8086af85820cacd4440380f3840d80c2cf06ccf0a092d50c959a1c7fc7975891bf674d52ea91ad5a8ef1cfd746d9044ad71f00ea88bc4ce497a071771bed04f24c3eeb2a12fc0b182fcd23674850493e107396af8daa65cbf485d325496f70fa2458172da29d60dfef1220eaf1dd8016329c10f32c428ab6abf1968d828961b7ff3eea6dafe2b82c043cbc33c0fd598fa6f796b25ecfd50eb079db3ca7beca5b2ab34e8d28b9ddefa826dd68d85756b8c1eb028fcf7a842865092d8bda72a0faa407790ee2b4f9aca157d31278eacfb37edd33adb1bab516db912aa9ffc30aa3219448d303ca6879df2668cf8a0b4f12e62d24beaad1da1f4b150e09cd13945ce0622dfce028a9c2aeab6e41a8062d64396d22bbf6ba3c58fb1f917d75850279fbff5502680b9f0b1b45ebc1ea3c775af948c5d11ef86175dc568319735b020182ca1f4aed4d20b8d376291798cc48e7a8cfafc15d96427fca99e425ccd63f9becbd69e289d99f062678ee4690b2b381565108d323b0409f8ca4a46d3cd32d6fe5e2df7b939e59b1da2076aafc630294f050a4add862f74ac60620289b611bc3f7213a31832626371221b835fd1adc7482321ef02d72bfea46bd176eabef058f0019f66c007c74e73ce57d4e96330f6ecf6ff74975229a6a64d59a7f0342be7583384b883f6b1acca53a25db48b058068b7f2687ad9fafee706d6fa03aad5be13a69fbedf5fe10e8f08eb47443e4219ff17fcb4c17adec991b12660074a00d50870005b98523c69684d9b8b5924d6bfd1410874f3d52563f0823700a8869d008cafb5c4122d059c88934f28d2dd856a0d2b570a7ad6ec49b94600f2b98b866fd48143de1e1ebd84a20a5044025e237cc4664ca65e3199742e8809322185f5732f5f4aabe95111c63f2811f0dd8e13904160ec0c052847a06ba4aecadee9aa8deb5d459d09b4e1a282891c72880d9e1eeb31bda987d7d0ebfc989d2d8b08e7ae9dd0c5e74c75c21dceb450cb1e3ebdf7a4103fcbf031536216aafa35b5d205a470e475988e845591a5fa4691e9eb9c66309f301c19540ab6e56dae390e658fc65c881328f1a58b203478043445c7b19cda81c1c86d3fbe260f7924712ab213f009f75105b98070d1ac3b327b7c5e8e0f133a9733d3235dadf215299d2f523f3c912026a6db545ad237df9a2b60ae488a655106f46d53e3579c7959dc2ac655516e3bde8ebab206c9b7c17e52a4e0339c77f23f445af02d222ba677d77bd7e959fbffbbc854e696615c0d2126d1a5388f01339c3a90fb9a1cbcade1f7e870fafd4b8932c4966a5f23d0b83abf8ca362b6b8556e2b779ea17dd656e6c784daed4078bcf36ad1ef004f04c40f2eb8bf22a968685d3cff0b1b7462e5e9b88993cec1115f1deed84624bf2fa31753a0397ce115ed6bbe40da0840eec81127da5db9fc548c123e5e01c215582fc07dc4de4c2aa45a5b624b59bd8f0015b70e791fa24b6af9875a09b2363f5294ef78b9d7e96af20898155722e5216a85254fe9ecaf2946b97eb0a2f59b8f3d053aad9ce57fbb6c712e9df0fb178a3e8026e8c2fe835724bb55cab921b517fc8ccdcf7a382bed9af067ccbf56c2b493a0150754a0a93343fdbe723c45c66bae290fba3df0a105d5d3f2638826bbd76cb1e0a2b89772b7365036ec6fdcb00fe8446b3c3829de6354411cf6df3379ed49d5ac6d38bb6092cc7525cb0217f932bc37ff5294798d34404039af2549b518e4d9c6e4a4721ff55d7b0c3e43b24fed3cb07b079f305be4de0273a9c381cc45438af428e49dd1283e352a23ead236660524890f71d9f35b03ce3f2376c13558c9a528cbefb29080b5807038e79ec247f86296cee0025deeb74f622b4043418575408e045d0f5c04c8a644441df159a99c182eee6f5742069835c690f418b88f832c3b4d76bff529b2eff87341ee2aea26cab4e9696dae702c870910d1581c3ecb2e974a08657cde8ba271cf4040736b4d969738e096d016dfe75120c24954f74648dec1ee650aa3240c54c7f822566b1650afbd2524f6dde70a2924ae8159097e35fbe23c64a615f0e90aa4b0e04dd35c9b7d4dcb5f2a0b653f0459ef93d5c6ba4ec4443b87c7b8065dd250832430f4205242050484fceef534c08bed5d74caf03f6c3a4c35200b7cf31c4bc009388c09949abd2739178a193a75a689ef56b29b035bfaab19419c45d3fa3e8538a5e7be1aa2a4af3045ef494082c9b00de4b901cd081e06d547b5b1b0d2ec9bc03f4a91e5b41d3e096d79acb0625befb461bbbf6608a0c27fef125a8c3f40ec8d7961e7b2eaf9979221701c9041593e39ef274b65beb180aff336237d854f67c1e7a1afb22896e5f792c33c31d72626a5c35f5916a754577c558b6e0afe8a5e98fe1dece39c2b6365b63d46ada9b771ea83e043be532706df0d9b7dbfc41b20f096759cf537e7e1bd95cf51b0c1b64e02d1634bbc56f81e9ef27cbc80d826e227b92f9da4dfd6d111f44ab6fbde966560b0e78e13c17359fc17b68ee851ff21a3172b018ede30bff63ad8d24f1f5743e269069371400f1caae3f8bd545d265805135350099d6b2ccd4ad0218bc89e73e74c305b885cf54872bdbbab981deab479d6a7cf7731d92198d49e186ecd9ec8480ab283cc1687e27c27de61b5814d53c5e5f432055b4a67e1af15531254a94631e9646730060a994f7b73c5124a068c9b211cf853c273735304ece93b19aa5372844b145f4630618601a9fa070988a252d680af66ed488cf360779aaaaf08089e34beb07a20a1ba003ca490077df162b7016c4b7b2f41422ecf58c7f058049460091358618284c80cef0cc7d9b128738a01378b0b9d7e7c1ac41f3cddffd0ec2e185401e257a5e6b2e617ab28a2718545d771a2c0747fed4e39a35a2d5984b7f20e6a4a219cc5eff4ba781711eb8c210711de33ffde011f8f807447571e679f18becc1d435aba7780fa621189fc7d91211c0ec1fb21e9d36d42cf2aae2ad280d2b0872dc131e041be6fca0988071d8d6caaf397b61311209c9443c4ceeb1e71e11dc750bdb01f065f92524d6c9a4ab1aea47fa1ee868f7629519ae43ec431c56a4be10cfd76eb958d2faa38f10b917ba112d1ff67939a5af7709f2b0b8b00320b7f9ad39f1df8cd5d9906f3c52adfb667261fc91fb5349b3d31382e71248247b32779e418d39da673551749e164c624e27fde450e90bf19999d949f9def6e2661891d2114babdc84bafdab7c9c940dfe9e8b5d060e3c01a846822722c27ae204130d9218373f6daad647d5e815f83a5cc8d4273b07d10783e02191a556fb3f284a3c2f8883450924b66518c79c72fc25d1322deae00c1c86e11980efec56999664919bd42cdd81c0dcac091d54d37625bbd7b96799b341dc89ca810b8c243146ac03892e899d14b1bf52a3ed14277713157b6f26e4362152ec060db254d13e5ad5b7a5e34b0eb96fa34676480436a219800f61e48bc41bc17b7282924799855aa8dc8a712a7e5e8c43da3c09b42d1ee7da2fd5a05ba8b4ad287d7bcae2a832e7e28e11866835ec69bc2d33427da9894cd2ce5453e4e075cd7d559325f7e56417f24b8d23e1b7446e37f79bf8ab64648d4b8e1f960b02395b5c4b03b6eeceed4c18e274d7bd79c6fc4a94be62db833ed9be590fd11347f5ff85d2c9480c3f685c99d872306cc1628b213d3f064eccbc21a14221b5402136e4ab4dc743ebb61cf9173a3ad2f042d87acaa2c4e119fea2d82e25a4500434b05b0c10f550f5b4f4210bca3d94a5617159cba329d4a40ffc7ad46eccf6b063261622021b7ee53b6006a337ad044dc4fda9c7cb01202c09752dbf1a148fa716384dbe4ecfd82de95190e014b64f9a90168768227cdc6b0137cfa14d5526bf18596af0284afd506dc06ab4eff5fefc8b55fdd74f195af7290ffa9da967d5d55d41a7feec96c27c2319fcb981e3e7310a63cdd21e2fab288b2c2d3e7055a933efec037abd9930697a15b5e73f4dd2836811f6156b92256fb88af82da0f24e68f1c3e9b34a2ea0b4d2d98efa80cda9980656b2050cf1a320bf0e12c6769b30a856d448487a3f607c3bfbf29ec00bca19f29e8608061616c50cf1129a1f95e10dacad344fdb0ba02ac6880cb4efb88ba4e5884ffec1c722aa90adc90891a5c8bfb3050cb0225ba879721d53b4a31dcfaaa58100ee8b660ae0a3fb21479a18c3b182cd6713f081a26547dd0b5257be831beaf35d5051d5bcd06dd425511c1ad90aab7b0ecaf61a1ebfd28856ee8ad2015169a5467f23d07ab0eb7c364ca184cc0439196e64bc3b5a4df907263746ebf84ceab06b6cc1b2014166676b38d0fcced376bf4d46b2d0e8756ba5b00a65dfdae0eda56b24cc2f53ba984d9658e6a94685f1b1ca9ddfa3b362e63909e7e7e0fa62c0428346f50fc65ae45393a3d16588a8e62de15b7e3ddd3be82f994518c927fb33145b88aca7e5ef4eb9218e6890bdaaad6c8078f4ec8e64ad1ca455e5133204408b4fd1ebbd60010887c8f8d1ae241871853814a045cdf56af4389232277cf7c8612f6ab766d0a73f0b04cf69a8c04fea8796b49e70ebab0f2ffd109fe7ae67db7a95f9f23172f19086a028acfdd3a50171445056c1b28c0c606c5d0d31ea28294a50a08ba1c2f0bde148eb0fb603029124b265cbb868f28c6fb99e5197390b54b7e7fa1458db355f9ccb40c3235b9c51cd8d5ddebf2eb305400749c0295b1e5970095c30a6f671275cac5252560794b2b8259f798ac7b3db1e66e45ce15992a2a39d9967e6e186b6707eea190cc6ee7a6286a4b833878f5fa2878351b8f8911d75d280da197a975f87bb9c40ce5202baa75d4c16c77aa17b823cf61c9f4845cb66a62d40ae867321c983d1e9a70be5eb1013963441ee6f2d0dfb97999dd571956fc9690dc28fe39e89ea5c1e96c817ad9e57228eaa6033602046258cf0ef08a12be9808df5133905e90eb8cab4d9c2b2d4ab76350f9736724450cf004fcae419a044c0890cf385f2bad7cbd70e506cdd125c7e9616ce400c72107e51cf51b6deab1a1b8b539b6ff354d5a4196694b546a87a86f9e1dc0554e2843acac31046da7362ded5531dd781fafecb07c01d6e29e075f16266338ef0abc6fc30d6501e86139a97225e0d70179f1ff5df0f45492d23746ca92ac8a29d5971a9c5f93581bccb3cc595f162dcbc24e31acebf55abd68354a07fb04efab072fc2042eebee8e2dba345c37a2daebc304359bb7a3543ce2febfbb4ff49e8e99cf374e2aae928243425a49d67c063d276ae70eae9ee5aa386602d38d0d44d358f37b4504bfd75c75243b5530db94c10694ff831750b12a6931a1e7d242c7229b55f9d551bd99357377d34bf0f53ef9883a1f31c5b8d198540ff612d20cfe51f6bc335d70d41ead21669751641321fb0ddfd4150a9e98d0aee95326250a5f9d1303d5b07de74f2070c95007f537f9fdaf6adb63d2ca299b704dc3f474d56c8cdee8179d07ac1a9e2ebc71a2832ae342479f59bc98cd0aa7be64999e9f30f80f2fd351559fa5fe6340f3f37584b19a02317eb190423f24b5c97158e172ff87a698135b6c9d67476282f0997132707a86ba5fcc3a7297e3aa23ffc19136c55e48b564dfd773e004829830e35dc8323d13290140564afa7403adeafd2c61220fc1101289e5536ffff49f8ec9fed84e0feaf1769eac73f34a3d5983d6a3ae5d0220f161f3974827154a7ae0020657dff06fad30e3d076ed4265ac9b4b5572278833db49c6df9ffb447eed0d3beb5cd31f053ad36ef0e4ef71e280dba33641dce1be2feffdc2b84d60046b19d0498e2c4293191bbc810b8348d1d619c9059542f6c298ba83ae811efc732fdfc05750de6cd0dc0a471684fa6fb0355745a05f5cf0dcc71544455892ff210e83586a354085ac9423c3b4ea5fdc88492dbfdb1e876e37b604e4c93f17751dc6f86df913564e89816e29d2364cc772953406f7a376def98416d49a276427ea96a5eeb60b9c68dde7d5d676af979d98b49ecb42b9f140ddc6826658f383bbd40ccd69b13959801520632f3c5a2ef40681e7b178467317c5321d708e7a517d30cfada32b42a12861d40c1e5b2b86170eff715d77b70dc3e304d1761864c2cdb2e1c18bea544d1791b9dc3a64e045cde6e32a0983a86676633187835f13e3841a4a4b4c5f00c0a09d9c3b76950a94f46be498d23ce3f449c3ee4693d63b4ae5053bd7fb37bd2213d06e0d39477b5bbcef9588b3d3ed6850f0cd532851a0b68a94e27e1cbc13320ad78ad9a45ea0a83133deae4d329b2b620cd9650bf17d4a23b3395d03357e0bf16ae9f9c039f0ef09bc9c519cdbb25c0fbe8bd1cf4cf07f3568cd5b4b759e46df37fc1cf54e6525fec7b421ffd3e6153a32b2ed73d95927cf17308cf641254a0da936c3cb6a6915d156f8b1de9d58f33cd7823816087757de45cdaeb30e24ffbd775e8fa2ebb168900fd68dcf1dd3319679158753a575ad0997484fd2008afcbeb779998ffd4b2ecbcadec5c804c0bf3c8ac137c18e911fa3bcccaca12d2f4e165ff8ab8064632266bdfe80295a378e1cf9c97ed761fbe1fdcd1406f230efe010e72478b4a18d5b27e4af36defd7a94c43751d776cae68f98698b50361a5d21def7980079a159787e63a3c9250edf603a1cf0b20edfbada75c178f7c6749e2eb819574bab6bc74172a9a15a465bdd942ada05f3b3a2c904f8ed2d85eb3d5663a295f01da6e81008d7ed0e8941aa3cb3191c3a0e9af2d692e673aa50cbf925b375073217a7006887e0853772690885502b723eb8faa93dbb6fc05f6300e60896a58c141cd021c99922f3323d8e0ccfd72c9f797a05d2adfd10eb7df3634a22bd981507483ffc9b288ff79225027c01eb4df3d076a3670dbcd179c1ca805bcab24488c3f2aa68322439dc769ef6cf32e89f3aa8705b933b73638857ce915195689078da44e59ca03e3dc755259b7253fca9d0bffc04c699c7079a75dc1d2d89be7db4b6b973d7e57bd2cd81aa6479569f9a505a82230a4ea6db8b5c023e5bcbf668248f7ea8a15e8abdac194c7b46491766fc3e79369c99fdeecc11b60bd79a68b6ac9ecc3006e778acf036bbfcf1bb96a22227de1c0f6357bc6fb6aa7759e3f76e0202a7ecb6fb83a9399c0d93d8074749c65794bf532fdb7302dfed37efd86497a9ff4008b8c2643f1b66e33e8e756f7004c2579f2dd247e89d2c918c3f14ce34a6106a40e157b519227366b59be285b5304146b14e500280e7cb7bb23d158d9172c58c738631095e02287181984c1989d472f46c4f7efcd6aa549dde64bfce976ef31685ea0c07568ef101fc4c37d049fc643147b5434d765179b5c7b5f0793e39304d49d760952881182b6722d5b9c2acf1cca29cdb06150329264745e5a671de4e74e3051f604a9d56de48f4ded5570c620e3a60286bac9e91b26399577d5f2a4b37f3ab658729f243c45cb405be7edcd87757005848367676497baab10d8b1bd48c32c4455d8eafc596cac1ad63d14186d1c067f04bcb59358fd0ff8790971646681b89f5ce8214b458a47de9bc3b75cd07407fb65de4ac4ebaf9268386185cfaa60705592416f41400bb5bc1044093295c5d4102db0c613dbcc39a54b4e6ef53390704cacaa892e6e37c89becd554eabdd9896ed99589956387bbc4b18257476ac23dd39b8d4f3959eeeba3be78545247f8c85b4b27c42e23e16f325e0985ce60e70d341b36af301d84a7a5c15b94c8a695ceed23259d9b0933844c17a58a40ab8d72e2bafadbc16383b46b657fb83cfb501ea891391eea0df16250c6c676a75f3a7e77545e7fb9a9625e12a71ec857012c98ac890d36861973022e593733778deb89f3c13c552852eaedb47a59e845467df6c2de7b8c7db87403d1586697f3bf9e91e49f4b6a284a4328c704ae9124fbd5f441b69664ac5fd77afd13d74475b966c4a2bb8a861688ec9c7a6c3835f0737600e75ee9ec401464532531f7f0c2c97c357eb103c16a9d43089204d76ff695768b85b70ac70a466967cd2face45f5239b17ca0129d14deee42c88ec2732b3f5d43ae284239d52b74a6d33ce125ed58104d15071f205d7af36228ab75b777710df1d219df3df57414e9aa2000e7af23a4060bf392f99d00b3216c140757ea34611e8b9d903feb9079044aa592ffa0def1524c477fa7f07be041308c7590f9c75d95db29093233f61cbd591faaaca493ac418c75317c57615c6fa935a36b8b0451add5c9424790e90ba38fa30d5d777726f1f0825abe431d8135fd364defd0ad89dfcbeac0da56b936c71afa3bebc610ab3b12778328c9bb73c75812cbd06b5f4dcacaabc15056c4cd32d2e13b9450ff5e4c89307aeb59b2545f7dea980e719a779246eccf32e1bb9d13c571a3720e477188ee6f063334eb1355bb116ffb970b5958b10bf840f2ec4d7ed73bfa989f2ea1c32e2ca68c157068fd20dcf87215fa3662c4758daae8b7d7f90034dad4aecd958376e5676cbafb2d374ed99ee64c15f7ab2a689facdff2ca5f6c5f5d1a22bc40c8b626b1c2fd7496b4746e57736e174a8f66893ce19c5a8a6ea65b083e64c1ea4323b7c7fb1de0a4da69c2e4f3b08eee03a1d1b4cc4f1370ada70f430361ad3bfb4304efff052d9d1098c9762fb8d5421094ff2dfcae3853e14aff8269b52e8b03a37e408f549e04e85abb5a8f072d605cf363d98f4719d201edd5e7f02144c673b95eb892b879b5f291d5c886e67d3c1b8479f396ceb05844da7f55972e713d3b0766c26316b0a56875b999773c112718b2e53e7aaae698c8487191f7b9925b76f11f113a00965f43117b88ffc9ba23760b76e5993a923c3874c9988f9c4d9250fce65db945bc9e3dd4f994fa3c9265fc7cd9d9c9c27813e782a007b9323450017a200ab28a1f2647bf92eb7fe8f778d0dd6104b521b4110ccc50b96a88d0bdfbd40f4419a00d46864a66306fec359b48a1f1622f6728e42d698290e5f1ddd3d6c18402f0742eda852db96b7f2e33e82c744404775151502c822acd130f97745d1a8c0df13904836d0fb71668abcba07f7648bf411536d7c1eeaa25834cd863c55bcf8e757244d100c97bd755baf12ff5aa5b45eeb754700d6663ba494ba3994cf4f48181b18fb95882fdeaf25d063c4af62a84f9d8142a90307b5cfdbf6389ec9bae03be185c29a7f612be1e2b224dd97e2ced69af48789d5a98e17cfc36689638cd7b289c7afcc9744cdc42a5c67f7b91f3326f3474ba0a320d6e895ab8ed2469e46a07c9e57c4494bd509d87df3c7308682bfaaae83526aa28735bf6bd326b1419a27ebc31c56fc038606afdb8741f6e20e45f55f3e8b170708ca19f6aa652e4ab68797e73623b8d1c056e48818561754b8a465814ed9cb1684b49dbf42cb2ceaba0969d0dee70ca8bf518a14a12ff531da815d086fb35130cd1e8a7531828818a6b68dfe2c1385c17030496101c672df0f13d0c75b3490e64964a6e5685f0b32e0e78206efb99938d2b90c9763402bcd5b5a610d47f3e7fc0dd0ce2394c0a80cdba6affe2e47ec520ca23d7f11a16fd743b3fd8e1dd493a1a97ad18ba0b23dc5e9ee4d8bebadf4dae7da721281d0cb05ff39f0d864ef8b30517f66f7a49cf93f14ce44f0f51ece4b0875dbf25c7129d2ffebe8e027bf9fd2d107a1f261152f6c8f7d8d8bab48cd76cea339c07a07f208031eee3465b1fd02bdf57c1abf5f9d5dc544ea643c0670348ff44c8ce2e0d6c4d44b472357c7e6c0c7b626d676300118df6a6aeed61e0347f8756f51368a825f34014af7cca5f9c0b68a01c8d3510560c5452d0e4c218c04e80d88505dd62422fd42951538ab79511b411bdba59838bea2eb81cfca3504bf070943bdeef65d3ae9d9fc4d3aeb83d64a87a82e92bc751c5cf40a0984eae4f6e374163584d21ffc51618b2006587c5fe2492f8c892fc2dc101088ac8f1bad5c72b1ed36fcd662df071c2c80ccd1d388dc2711305a303f48987f8bc87a42a838788c78abac0ad7fd121798e93369fa468584c1ab46ede7f808142f222ebc12af7a032635a43fb18c6501589ff54fc5ed8fb3363ddd99183dd33bffd1e57d0a2627538150717e1b2bd90befc2a6792c3d6e7ae24bcd463d6367610395465ee034538aebd41134daf84cbb24fdd7e8acc57dac2e2112558e72a22db12238bd5da2100aaac7e8a23f4b00eeb08b24d51262b226d52eeec84cd02cdf0cfdf17d22d3f6c88a9d430a99805a039158d9daccc7299dffdd2794aba6e04c6c0d4af78820b9889c3b46a70403712e42923ab5f2cd24a847e7e03e15509e5b3d0d934cec7eeffceb70622e7444d63be9958925b8290e1eb21075d6390a25f61018929529b60e9c8acc8fc57dcb6977cc3fc3e4115abfc46a4f6b0154c455bc9f258eebe73986ed420ddb56e47c436ad225f11a003bfc163ba88bd32dff5c9e794696c64ddd391a60dd440fbe5fbcdf994d6160870852e167d892801b9652baba4e618fe5fb5cfcef1e19e562aa8650337bfedba6c507138e24806efc588fb12e476d81a6810d3f18dce212537ccf510266482cfec66e64f56fa9f57723b514de0f4404d197df9100379008d65f206596eb889e888b4ca4dbd2e938492fb0b2b6583313cdb1ee89bee2df2488220eafc4b7a0bc9ca949eedaba07a8167343e38f79059ec342ed20db4399904a5c0c44c2c7b2187e7120eab549bb2bcdad7e6dc2b3512b76e0dd15e866d67662358238efc79aa776ebcdfaa82746889941fc61dc16b7508571bc3d7ef0c34a38da51f6876e5c291d7b56c2caa098210c9f54380d25fe12cc388df3bd22594963cbe21f0bd946b985812c3c51cf6c4a8ac5da5aa843b366096836eb0391ee7733830f2967dc1f383fbfd82ff653499da395facf9cc49cd98f5cc408e91d5ed8f2eec03aac2c0f5e2d9f840ece6b2a58de3156f406b13939f012e41217e4e94ff1bb34ac814ca74d9a25d4ccb970fe680e9a6fdb6ad1e416c07d6f3f838cf61b9b7514ab70b9410f6ca0e6c655301cbcef8d890692c0a1d383754b1f07f913ab331384b5982a7a47d8f60316ba678156bcfde789feda3778129544b2600386e92dc6c8d846f4d23c91c098c4b10ef1925b376bf79b84a85733372e5fc4f88f47a7126bb93190ad2b68e43bf0e68aa05ba7a24f549c78c4056b836374373a77acd30a11d59d7097ca88be56bd4eb0f953f2d2e27be76fb72458e72daf87eb5cce5ce93d604e7acca61f50b0f7a29131c36054c827544e8120b35f4f5b35a4302a0fcbf3c8fd02da21e07ce4cabd6e7ce8dbd586de032b76f4514703132ab436468c5d6bbc185ad783ca9eecaae80d15f4d9eba24ca37858fd82571b837e5e78168b8ae6a29d32a5b3d23bfa69b0fba9468b6fd8568d00b9fee9b489d87c4e35de944cae12a3fbd45aa626a1881119cad099f185e93488b005e8c59ed604957f75f7357e51ea9033a8da58aa7a9fb72b32831870cba4a75cee58fc262c6c2392e65b8f360e30de35953b251905e8c4c895dbdfd0cacab0ebe7b8eebc40a930a75920e71b01dc377ef9de3d3b012e89e8de911ffe280ffa1027038fb5b68050bf6d3e7c1ac7207aade2561f1798227745e292034e0a49cec44dbd4482047ae17b4d3d6987721be5dc3216fedba6c6f177ceb1a4b676c83f9bc5df7e3e8b04458284ac2fafa7548c209cad1e3e11a467be8ee2025ef20a2dade4835d7f9c83df6c5f31aedf0a6fcbc2d62c3f8773d45b8a8b1e65beafb82cacbaf41bda9954706b67b2dc4541ab8c6a3574b696a54a2f660a390b0c1af12078c6aeaf436805ef362c2821bfc73a46942345fb95289fac837b879f2acfe3f5ad2702801edb55baef14e6501067077d78f840a7dacffb2704585f8a6bf6aa52d3021d04bf680c932950029b68589bdf4b7ba7f4e3ebf4b3bdfee660f2d7877d56fe74d256e811434e1edac3d1d46d93ec294314cfba03b87c2c8f78f965bd64479bc2243bfe085c0e61fab0294477177c106d03d623a9cc59095a550f2795978ca90a76657cdfc5064dfcea14bd3fe7d24589fbe4a144e2d7d9ec014d6d61cb6848cf7d8749cfa7672c9c30825273c335274b8464b5fd45a25f4eda80e217851db64115b0c812d1e1b4c1e29bc458d83d3d0936f3529a3c1543066db27ab0b9b53272556c5cc40ead5e5d375cf451d30fd43d305d8ff577147f8588ea62cb3ba3579712ab9326382289a7f52e706d86c60291a8799ad23d7913f1007a542d70d3eeca61db61f9a0e178f99bab1e0ef3763021eb35d769ad8798a46826c5eec96a157f66417f67e9d3b9c373e5ba0b54b3241c4637a3f5d15994bca66be52554b8db66bb227a313471d45cb918578a5c48d598b9e9841631afa873682bbc617553dcca0c88c8a9f1a7b4d8e69e66bb853006c2383b0ff11f51cf34113f1d09cc84f1eca1761b2fcad41978606f9dccff890f21c7a7bbf21416c1a67eedbce072687bb5c70450854e7cc73dfcbf4e1f0d6d50e1758ab5bb80c27b4b9ab66a0cfcc8ff8428d075c67d7f2891c75a400d0e03547a47231b145f81de7eab352c9feb3d3a78e3367e4f990cd7a02835b3a3c3d6b1c824af28c11b95481f4e8d8e082066c480ef989adb87f735df4dda0b206af79ca2eb75809e25a307cdd5a09db080e8416aa89d73949a0fa17a2d17312baf606463b3241e7d342e589b1c4fc843989501dbd34e69dad144cb6e92041c709c643e489acee9522bec6e1d6f4dbbe6b7bf78ed4b5764d4454ac8415818f4820eb5f44350edaa702cd6982036d9f3c68dfb9ea21866c616f055c471454c64cbf3fb44a71472087a0e94c82d46ffa7f12c3937a75bcdbc79d6a743a66813fdb4491eb9ad5bbff439fe4b53beaad65ec19bef6d1885feff4d254e8c6ef0b101738787ad3705280541f36da5a69e7a676832c26130237ae1d3321d6ba0b91023eb18bf611950f02dd0d1cbe9accfe1951ab87fa9dffae21e14fc848275c6e3baee777b190c7cbbcac6a59b397d2b888bb1dad2338a8b2a9b55499ab5f6bda9db920a4074b1dffa201c29ff39531fb2a2f34ac53e456199f1e3f723da7670611d0d9836e0ba9a4bbe9646bc94e7a906e9dfb7056f5debecfd67dc4948bde95526e5da3892abc0b6f0d6ef3134cc550314913c00012fe18ec62e24f42b1eee78209109097d361b5ba46b497d7cdcf8f94c0394228ca8972e8a8586b190adfd53fbff54b4de06cfe60e6b3e1121cbc23a35dae3d9915a59649391d5dfe488b1900a1bac21a7070cd27c4e018f7b47b1b31f9ff84c454d4c823cc7cd46d60c635be27c9218bea265a177a539b86735223d4203d065a45d4082b6c98f7730c25138ae0c2df3d7505817e79fca63ee7319b38cbb8241057f9d02040d027d1913cb172a0edb4eceba5b3bfe1e5652e600e3c1baa9eca74679c98ce003a1b2343a2aee44fd79cc6f240b051cecc19aee90a72c42992c95c742059292fc502ee07fcf6dcd80e04ddb30e93ab5808e49df800fd073552fea846980cd4079b42df1a316afc4f45fcb91339393db497b41965c29bdcff0bade3a3c113b07c1bea9c4601ae20c8b2bdbfc6b46c016dbf9bf801c1b3dfad3d87b47ae9f7502dc797acc60880d982521b6597e026af563c1dd3d0a464dba2175d1263cdc3e19f02aa250b1f5688ba5d1e392a6f1bb07546ea5ac4cd05f0400822c84546b402cb71f0538effb1633b919c9e0d4481247d6b833d9a0cfe01eb26fcfc0068334776baf94177ca4b867c5368e2fcaece4e2e5f5edbc1378c2ac2dcb5ffed2b84ee2cbf830d58077a6c19e1855c2990e9df1f3658674c752e567f7b5533ab3307cd0cf8c299ceb36194565164d5a3b7edcbc879d01cdae1a13671fb5b3b4fac3ef67514fd6f603d2fdc3502e0f8ebe855cf90554df8848dde72acc1b66594799cd97e7d6bd021f9868f2ff39c85e46393ed600777ff61fdb2d35dd65666936ace21077daea7d9b37a77b3147b76646f4d262198314f3f4dc39598b8b11af3e11cffa3317f37a970a5ea41bdc8806700d8699a17f7843cfbe9d3d8a590ec0a3d4e15d980e57b2d7ec87605981b77fadb91fd28984291a227028521cca7e9ae76a939ef5a1d45c89c18793017fc80412ed012b9a55735648f36970e3812ec2d0f35bb674c2d715620593b45076883a4cf81892177147f39885df4fde30447619c926ea1c51020f39bf2fa7f579b54a6162937e11a84dd6eba815ab23a347e647320d55e4fd5e041d3cd1c56fcf68888e876ef2aa051c8b5f1a41a04eb945b89c7bf2cf10b442d24e8ac1222b3a4cbb7ad05b9d1a5ae5845030b1258d933fd00cc59f5c916ef440db4fcf2c9efb4d01b5eaa376b48790010759312b3f9ea101fbfcad13c3e4c5b7ace509123a1fa32be405dbc69cec0c8a1a736efddf0b3775f32085413a1e1952e79e7f35de7cbf890d04a2bf641d9796decc47e77ccf3969aa8793b931a5770f96a2b592201747ea345ab3bd16edf10f7795ac004ceb4d9c5b141dc852a84dfac43e36eed5abe67ef1750d67154f5bf48f24ae68c978ea32625177519a80e6f96de8f4a32a5273cf74a7e3896e775ea96bb140503d9e0eb743e40475136438334fe6168fd2d7d6d6fce3362337b38c52ff093ed75421da8145955e8fd1bc8fda6be6d1ecec3c49a696a993be4e3e351b28d1e19fac4c8f093b96d05dad84ade37231f76b0a04e51fdc8790a004196d7e6877e75545aef81091d89c2753d9119868c354c0256ab6f3ba2f479b71214a5bdbce7ecaa3f2a570e137c10f947e654980560fd8401509b14f51c69e812d9d9bf194d67a5c4c9b05532fcbb35e651043fa4cff5b72c62c033581512fe99e51e1222956bf65bb5674b294f8aa92ac3b576026e9ed7d58fba0ce3e8ba7a79287c15939e37e2deccbbd655b9622e59a024ff2553856e9a63a62592a439377d80c0831670c0b606cce53623f8fc1a402f7b768aabb1ce4677ff4c1519d3345db793b990618ea4f7319cd5b9b513f271c23331d12afbad8340d567571ec0b4c32594cd1fdfddcd9fbf271c59ad81da47233923551e29aaaacb919d991c656493afaac5d28f3ee3b7c9fca90ea0ee0c6e2b98a03501d9b4429eb0398e70e61d6cb7320517acdea4ead3b046a343b3df3a3083467fb8bb14fbdfc6492c95485dfed37f0658035caa53819682906aee588622dbc93069d09374cf4541330267eb706b960a3b0a22808005b9477dbed3e2818ce2f68f7febf8ec0b8d78ef0dc9a7be197d077638c966a246888d77fc325b2f67cce3866095a0e96494fb021f130bbce7172134a9ae0211a2720ed1dde85a624eb94d71e442477f411edbe1a77cc9f0e6e804e2c121c4b70937f5501a60d449049bf56d1171d1b5b10d3b2dce0379729d7c907174d211a0c92d23445c0e120d13d5401af227daaac92acfc845c42e49efc7cbe694b292af37dec43fc1413dc83eaedce26c8afd6b93843df0a28c86033a2aba3563e4fdd5394c7ffca04912ddf8c677b02e2beb362c46a489a803ec7782ed5d90d4762305bf6e7e681212e2de62e7c3f4f04fca4560ae806ed91680371ac124b55d0e4aa411cde96718e002ce0d71767a6377f21c7fc6b567726d225978184928045ecc50053cc251055c7d635576b17176128da8bf8bc9acf1c84bee1bdb5b0618f19883c92d0b1b2cc107a3ac6714cc35ceef31ca6c7b4677fd0f826b76c5c0377350e3458a098ca87ff4decb1d9742603d92a4965633489f6bc56c551267872403b25302ebdae2db61095ec783d39a740ecf1aeb640576e1a6cb9c888f893adee1f69078deed033bc46accec20b80eddbd221a673fffc98f7f99b9e51b6cd82d7d7c18e8d6381e31cb58e541b2a0ae4c3a0df9ef4a139de9691082c56a52775dcb5507524a66687d71ebd3739f221651f6cb2efe03d83ff3c5062b768e31fb8f6819db10807192e1c29849fea8901e9c9dab37dc4baf8b052aea249becc2030afbfc764a40860349f0659c4bdd7d58b0b18cf86bebd96f26bd3987795a2211ed98f8b19ee8387e8b22c939fa29d4623efd7d75fdea45018aee659e4f01359e9842a4a68f382cc588d9748ef3d00ea532ec658dbdf7c1ecf668cb5143eb3b09128a44490ee9e2dc3e759759072f6aae3b76003345d41cccc77dabec9f5a27e4f0a2be1e89d4b58e521e8a4ce0b2ddfd761849ce3f8998bd258049c28ba29c1873812da431079585fea3086c10607565b9e73babfddedf6936cbd821eacf2f8e1d89bdc287ad053340c95f900c16ae97d2467920e8337e3204f8ab00178dfe4c37398ee89be517c27fe1e2f936c07e31a9a76b7fa30c6397d60e202de10651d46168f7d31e76c8e6736797d3c70109aeacf014a3a065e0de382f122b3d2c6b9cf2d63a12219bb9acef051c2fcfc62b195c7128c995f303d20faeb52fcbb778011946f65e3c420e69dfdae63ba0b53dab6a4040aef1e738873923ece13cb5f8fb4d39cbe27677e596f920d2eb92f0252947667373894edf591fef126dffcb97670d27d3eddd5f55f56d39568856e4904df7f0adaaa4f9365fc6ebb40329df0c28cd59c841fe32dafa098145d0fb083eaec6767f752e76de397843a1acc54cbd73f348ffa66749391803646cd87981af989bb129c974ed85b596d6cffe46dc2e05608cdf33ddfc93517af235d0587bdd123bdffc7c597b76f4330dfd83b9d8652eaebee1da8c645f42e54a033f6567dfb9799280bce492e72a2a053d36018c7d2865e7733b7eebc876a127acfdcc8b7be0b1a567e04261336779358be9c5255b8aaa0005844e92a1206867b18e09ec46ea62a9c6a9069782e2fa22f6830505ce5d0e4461a1c34c5756bb7bdc5cf80be21c9b0c013af93b5bd6ed25eab9c2098164c814157c480a1a420bee147b86cd0e4ef44bbc04551ded9ccbbbf0e429d9a60ef6f63d5618ecc2172c6c6bfdd114e0712a3e5b0fed32679151bb356c2d8d10152706762c2060e958b8ab41b4137f9c2bd04886c910c9ecb2004ce3c4a57b0f651ee2d48577a771ce1f0a85c7ecacf6133e4273bfeb99613f79aa65d83249bf75bcdbab929063e0561c2fbb1ab6af2276079a088225e599a85878088f0c5c242d20fa3c03cfd13b08ec6e7329be2bb7ce830fae47b6a74e5c21e4d62bbfd3f251066c8c21b2cbb0d13bfb92a1010a2c79fe49c38fce65e484a9f3149b608a5630dc2ac5852a24eaf1cede700cfaccd6d3565eec4b94c13d271e5793f72616bae878dff60d1bce76f34ebb95808b2c78f7bee2ea48df6c463863d39e74bb23ff1e29d16c8966ee13d63d599cbbec9318cce38d24a0569783c500a0a3e03ad2014507b8a92fe312223b9a563dad2ceb29e6af7ebd377df7b48c8a1d5c84529d6f9e83dc8cc49cd0b5a661452168c4b9ecdd30860df54e87dfd4f2b91654fdb44d7fb5e96e8d0b105554a0d8fc40ed8776753d4e1d299ac6ed344523af3eeec56663b486b659e3fce0b5ba4c8212c9c62a008138d8f1e8deea7573093bb2382b70637a07d5c9df48bbdda05bfb83372c4be864016640489190fa45ffe1311c73ece7608f53907d5900e292c21c08aa63f86962d3d52beb3a789b06d417ed42d772bf1b494dcf126cbb548b18770d0fbacfa6d517f978e06640a8ef7146d7d4aeaf30557ba79fdb3deb5f2b517cee9f0c7da919dbeb644cb6ece1b030b34c831898217ab437d088d8572096f0b3a80c50abc86c2747b39535925053724a5350c2347bf1f88b5eb34cfcf9ddd751e0bf2e1850960e718e729e0a3c2ec61851a95418880ff78668afcdce3947a7e86ca6acbcd81227e5c387a245a6aa213a97a14ed77097ca700e7051eb82f08c47bdece3b5cd205cb1b04a55b8f9c2d78d75b2d3182320da7b8ec61d2e8b7292948adedb611c08f4430f63a88cab669103f498c5d1d7bf42d7af4411188fa7b58b6a29daae2d596b0d55e8b870a33f955b6328d6a115d60c0c5886d8ec8535646da05b2cb3ad4f854fdfc6f41401224da4ed6cb648a7dd06787ffc2b8613ec9d5280bc1df52068309917dbdf1f5a850c5f50c2db6d16a623f18bf87a4f20fc42bf358106eba6de191d46aaf8ac2dd8b7194bd0e1006f6eca1cfc5f50fb71e78a47e3a4b558676f7cd2e5320f7a36e2e5f70180f95eebec86b820d560433b7187425cd32e40ff34fe81e9d316117994bf3ab3b8c23e7072e371c858a404ef9679b2a801000da710d81f5a2854c579a22a286641c77ade73007830f9c7fdaeb0cc064dcd94b549a9bc20acee473366a3775abc20772127232dcbb3819b6bd2172bc8e8910331571697b68f2fdc112b29baf848eb074fd9b6ea252db578b1672eeb440095cef3115d98c4352592946887f3b9619f58176df2e078febbde7f98c857588d90c87facf558dcf73ea33a62988ae68dd64f19f972515756f9757a9b5ff813ac35001653d8deb992937ca7ba1f8e57a56dcbef5a6ac19e55b36ee73f89ebfdb91d0de89eda8ea08011639450ec78714674cabc27cae6f56e5a9ff8f20717b36a448e5f1579c0b74d299e141e919ddbff3a397a0071cac9d85a211544a993a5a65e198f19bdc3ab47a65f4a42043f036d76b34cc31b15f362fce94d62fa3eb5f9b4cb662ac55dae10b074d0f0eb10a2fdc613b04a866670c695bae4f70139f62ddc4c29a636b1e6cb8e6ccb70ec6afd15d1a9d78b179c8ea46d6e5f3347fc4e41eafa8db6efaa10fb90bbf109a2ed680d0c02dca067503029a34510b98dcc63fb1eddf2c8143644c11b0c11e7a9425b2c3d7a4244448d1a3b3135ec4cec20b3089f645bdd0ab3e5b772ba586da19236b1b5e197d2c08dec00b21eb2b6fb52e99a73c4d148fd465bb8ab099d49eb4c64ba93ceda7827b5ade0d5b44e31a689053f54fa5a5bb263072a36ffaced52458c2b3cf3d51e16672371914b2089ea76ebaf86e6edd9643de0995d821889f2010217fe91062c4558efcde34f45bb5c339df6a5cd471cc74865b741d800bd6332a1fdff6ecbbb7fcadade92d2002b20ec21ce116897ee6f60ea0d7f923d7a3f76de512e68839ef5b9879533559baefcee6a0bf08a2bdd9ec40fa30e202eb849ed8ab157e83ea6343f7f77d9a4fb7a00c90902164130800f3532a2d44546d3710b76bb1185ce5b23003207963147c3c4bdf7f18feb7696cd4bac40543771aa290d859cd392231414cf7a4f42dea9d150c85857525f83beee37bb0d0837982fca4ebcd34f60b4d543b3405d5e96d76162a91e925a25fd6a37bc1be3bd04f0e402597c94bcbf6fbb2390d6994b55e306d137f9e2e84bf30b459d4f9196ed9ef56b4ba7e5c901a50c82ce66eb4c6131e0a7acd115309daf8118976440025d605f084b5ca55a3f0ac9854b83963cb2e0c53f00d157c73ede27ff7d86b511b178196b1f03bc768b74cee73b514bbfc2a1bd0f847469b43debce8ae291d1e10aac746837a037d18c8bdf36071fe9c5b2702225e54a6a68e00d2810f0dead0270692e310b77ce49171af8f40eb7bc04f02451ec517fe3b64de527516eaec06d1fc9318c1655dab5ea45a6e2aa9d2283f08be3aa8eab7de646a7c4f3ee1cff67713a80ee76ead4ca9c3800ebc2e47989ca368ab16c15fbe9587e952ec856054dd9a9f881dd06255d0024656363c7749d1ef6c79be0045685312e98640d23c6999a8c24861284b28049172781c92ee2b6d000ae6edcb4c14133d5d166e95614e644bd8bf1b882b7e5de6fb49c5a67f36e719ef74b7178945c0a162efcbc9d0bb4896e56297fb48770d122b6a69d00f4cff53e5711db0582a01d7f3746bb895adf4a86ebe47d203f931a3d668bcd4c529b4f5bb7ce38758249f4eb8486bb4243c4f7e1eec6e54afee31fa709eb03e3580532136a6e8cdf91b04b466e65241b6784f7130052744f0dcbaffcd3e0b307dded0818335ffd8b94543bae82b7d0c905e51ceeae02105448c5e5f06e0afa790d77836ea3ee6d5dac2d0b6b909bd5eabc6f341a5e2789ff7aa1d2abd77af22501f57cf99b2b5f42d8c4255809670fc913d094758a44d9ead72b27bb626f0a85e91b1fa544d1d59d56093d1bf7fe0ba0f97c4537a435dd51102e76386c6c73641a3839018ea30f96ac677a076b40204144ed91bb8303a43e1cfed990dc4aece3ec975ce61e022d3dcc8ca3c1b3da815510413ae2e990c57b223ec96e31c02089b778af7a9303eed9796b7e5088d1172ff3825dd5e1b8034ecf8b73559db8d4ba222ee952c0ac3a02f5ae9a5342774ee9bd5d2ce9e2a65c55862e0bf5b21520922df1dd9118572ab51c54ccfc31247106471d9dfe6375d8489b269cb6499feec020b160f486e575448666c83000c5d81ac6d1e3c518ab784c83463821515e0a41f00c9790045d8fd464fc36c37ec937ee7489d2f9d947458aa63c28fcaf296fd143a7f5b0fe54aa4ea596c62b7ddfb16e63d06e4c594bcf5a1a0931f9203560f82e098ac7a2d2f78ca87cd8969f6a1a654c5b7ac0baebc09514c1af494c87644a4011a2d9c25927182f888b662e2649b0b0352e242eac6b94dacaf57a0f9fdb1500d11fc68e69e12715a9b50f78d8bf3dac1219b4c51b4effa2c2fb7171b136d6c3840be3a6091e8081be02efd3a252673385222afb37629997e3491cf73bac78670b3b7b36d9f4d0b903c7c51dee5d816e100581c071944e43ddee7080afcd36456fef1d2f919b291b487186a07bba8ba34373d0ec93413939998f78c1e0bf5dc7434573c3c41b056b4fc83d1856a537611164228592e48c6f2b72325db4d4fe1b87a7cdeb4853930b3a3e6e19777108a8f757114f6f9b7ea73cfc3431397525ae781659750acfe5ae0878c70f9cad62841aa2bdbb1d27f49aa55dd30a77d8b8c6297eb6949e6e82b7112552ea34d52e19c40f43c467af1c0ff14b7c293ab074a93e232c404611857a0cf64c8816eb4ac2e0d00d001b51975e354389e60b5972a7a158f35fbf0b7963a0bb04c84e97bfd7184a8d6e9626fb25bdf7106063b97fafb9124075d58d8ddc51c683ae7bd6ae2ae4cfcee2cbfc5d61077e4e1439951d11fffecb3e425d4087a7e2e57d65adc98087fc328edd7c6a67ad8149e70c2bf49ecc2bcf6b96a4fb8023cf75bb96bcb8b78971c2fd7f54cd78b57c26b802987e172ed293fcb2366a2348a6e1c436db8a7384fe5a22c6f32a55fb9f4284fc164d68ab004b6f7360b30fd0fa5fe9bf2e191741ed707944e928089d2eecb8bcab3f73b1c5171a9dc93cf484b0e8d67422145da6441d0a171f61f63d9692996dcf97ed6c99e6d1e9cc417ff4610f05c805874e21c38ee8acd3cc6f6d302e9520a720b8ef511f72ad716034a3b35e556045c46b1caaf0929bcfcec317f9718a0413a661f9f14315cfd6171b0bf0839e8a12424a0fd96b1d48a90c4431033cb2cfad10257da7dd8cfee5d5b13909cccf7ace975aaae8db1b401fffdbde234567077c87b4f454b01eb0127fd6f996686f026e44a0fb08cb653b91fd0177323f4141d7e6f5ac8fb5fa641c28e104f6b16e20cb38b5a1a96c759c6db6fad9f7984afefc78ca74dfc1574c143ffeb2993ab32a5369a1c8abae78d52527df8561b77b6abcacf42ae94727c9c0276e5d5219e0840e98daf4b8efb4e0022d3a0bc38491929a4323d3d59b77e2924a94d444dfadacca5e5d209c5d5660989a1b2fd7aa4a2cef7ff9b51e1d1b2541476dc745f1852f2d39507a1bc35e0f43ece6b2ba9f30fb402451eafc0e8e303ecefd8167ec7270da2ed3286663a58ec5b3c7ac98a12409684c881c238342aceb14c2f3d43d97fbd1f86ed24081aaf79038ece00b10e44c856561cd8c579834c5d614392f4b9682b4a9e4a59f0395d9927898d4358bdb178c1b54b0cf22bef34f46ed8ac0e63983748dc150a4c1399508e54e7c06fd56a431309aaf017a7156c1d0633f2f8e38a0b91861a7113b27780b7158e76bf37b593203095d42ad3b7c668505a8abc272b3405a00ba24565eb374766cf09421a7732f549bfcfad21040244e705e6a39473dbc2924b8ce91ca63fbf9b4435d3e82edfad41bbde2221bd4ffda02f81b07b04664fc906c266f1efccff0c666d2b00f04a47748264dd7900b8dc4b6e0d02b2fef6d434b80c3fff8376f8933207730f4dc25c9fc3ec972f34835dd4e1b7678522d02b5584fbc2a4c5ef34460d43245b5096f11cb5c17fdbbf45f23eff3512f8af1676649c5b5b9d5dbe4b86597fbe66f6f2ef4f39d27a7283ae8c8b086132a5c48915a8d4776fc100b01989c7d4de22883001568a901c2ecc752fa007df85bd5d6fd07db41ff1cb5aff1a78753baca00c38ada81653ecb74fbf060bf050e8bea370787114144945a115e539cc89634500e0e70a456bce135b4c94e78ab53f2f7bcd643ba3fa24f45b87f138134a4dbcd4921b5547326a4e6e2fb6d216658445b4ca01fcec091d228d6b52fbd2b33118e539bd72da29f13911de9ae3f0a4285e2d194d6e3c57dd27dbb56d7993552669f8e96b429e713042b94c9b1e4731a5a843d4467453bb47f9aebe6897b3018b1864570abbb4bc5d25822ec0d942d1cd47ebd6a2a193b6fd4c56652dbdd2908decd8951d57d654f66ac2127eedb1d55a852578d40387af1f0ce94d062dd7c0c877a8794322b34f75869fceb8b997edd1b32977e46c02f1f4d92b33aee9478d1f149e824f9b03aac8687fe4116d120124f37a05c487caa3e5e1c4af0a8c4731bdece7b7f4a1cecab18e3e8d4feff0504b7ad8ae40f0f8307ad61f46887ef52dc5e4446f20bab1b931a242c3e7563b01d55b55c7a86891c83f7a92c737e8e7c4c8a4a27ef6176d447d1f103143c3474df89bf45b40370c1e25bba1fb9b82ed8104b15df3db28ca197e6472b60f14cc26597e993e01bf77084520cefdda931ab78544bfb6823b8740617d3bfad8da683e5429adc5f4b95a7b81d80f5659fc5bc1c8c0a2355aad9aeb5940863e7deaa643d5e41924e98698be534e8999cd7ecd9fbd566364a6ceebc2882af274b03aad0de6d1d08d218adaf77db7f48de47475027d51a006e21242164f769ea772592327cac3c9c82aa6022dbe858672011774a40767372ba39b9448cc7847e782305159657cf2dfaf118a08757bfbff988b5c5df35805f320ff740a700f5adf39ec1c48dc0bc4f1c09dbc1b954c96286fe36b08744f504d4289c3c571ba31ad5ffa6ec73c617ac97f0e1ecc6fbeb3ea6c2baaec66feef1259e0fc07c4786a15d94d554b9a9d5702bfd12f339c7e3208e22918fccc3e83efcf76ac50cae362be0f2732b2f868b6f3d6659b39babf7055c2ecac2eb7773723b3378f41b76012a43cef169faab6cdf7713923189c68d47255bba032249b8d4a8b9bbfc60207754e25c9a6f50936a917898cea8880df5ac265bf51608d25a75e600951ed4ca39f9962d8acd384ed3a9f358839a2334d5013b9031f32c183e285c91df8ad891470ad72ce80d162ea85eef9a28f6a1036974042b604a3f0656804c5c3f7fda86a7db572eec62a68a86b968d2da2571ab106df0c35e5913601f4dae20efebd56495f5c390c66bc2a2cc7c814f7c4201ef3dfca88f3fe75aa39ae69e7d31977362314a0070bb3917b6173fcd04069029a93c3241c36d2da90df556d2a1e94999d70f46daac88fb3b991c5acbfb1ad24b8ebb041b9e44d712e7ebd861d0d0100b54d003cbb2b5d2b2700617a0d8516fcc054cac3c9b1b7f458010eee03d7981f409e216f3b7a63c653b71eed807b0a6c91902f06541142b67650e51e63f6cb3d1679cd36d59874abff8767db441d80223b30a115e9892c631362567dadc22707aa86aeac4b390c64f99e395ed964631ff1a6e0cf611c2eaf1dab68eb6d273223f4e580488e6828e1243cced8a13eab2fc25b04b53afe8380ba931055e64cd94c192e3854d90745117e634dc08756024550aa5f3786bc5f93e06b215c87be1470358606c74df90042a6b8f4be46aa83941b03b388acf233bb3adf77db6b88afacac9eef148916a4e45e23b6541618b45966578eed97072faeb69ac6f4e7fb65145ee652c7d01188f25fc855a5c851e05d594620a7fe9c890edcbf5505f1b6bb21483a669e9fadb2055f0afe0234f92bb639cb3d164182d03e9540bc351a7c92de4b4769d67fe6f42a7f9b2f2a0a31a58104cb591f723b63d50b3b3098fbf7a8206b14dba3cf6abbe51f83a08d777bb488ac3709793b108ad06f193516539f9c2d9de3ce7a5830125629e93a129728bb70604f906e8215fc38e1dda0259a404dd949847eb2d9e64695a3edf67234689680322b0b6644ed40cab0746f931154f7cd73d605dd746b241bed39bda2343733038d1ea70cb3d2142856e559ff52fa7263412b55f5c39ccad710ac4c904352fc1b933485070a2b529a4d9296c6bf9dc223b44dbfce1bbb710e1688442b9b5cfbbac40d246606ff5858bc5128ea3cc5593840a18144a1060d4ef6737169eb8841c70b9c32005d7bc06301f17e50819762b10f2bcdc479b4a8241d295d0a973c51675a516ecd26e9aae3d91aa835d567681bb458952dcb96f1237944df5cf91ecf3bf16325b10fb4cb15085ab746cb9b17dfb8dbfe3e83c0df3b57545e4d67018dbe3449653cb0de82d4b689334bd2ed5b32a7f6780c7ceb72d1d58a96a52688ef1dc3b6f3b6519073257c44443f156abc85acc4da24c7bde68518a301a4df9cfe8b701533a1c46934ecbcd3915e27f291d24ff3fb59e2ada28e3e542a2ba6306188b89fb8713aa1692c892e9879a9a92ac5cf597eb008652878dc89c9ec920aaac65775d2fbccbd6e7788dcb296e4878a18dc8ab13f38e1a6d63cd253355fd5f384f85d91c6b199ff05c3a34b5e4f4738d466519251dff2556c26ed3532eb36d4017195f51f9e400d909b4b6ed52c37ef254df614ee026ad02e146aed40e7ebbe2a62c9087dc74c5b6f7f3392d4f46233ddf472d2f5ed5551c7425dc91751a62b56ce07b136902e3602c80e9f8f2bc07ae0e0e0b003ad3908ce75fa5a8a8bfd9b014156160f353ca020c1128a927c5c24cbb75c4d28ca31d52c6566e0ca5b4e9d635acb6a545c4d3cb9d79b15133d9ebccac385dda9fbd73496abeb12b02be74ddb89acaa22085776ff07d5227e30498142ba468d3a70b116182730dc92ec31e9196a5f9c95e48c0447b0f4efc41fb6865353b267779be8a1907425bc835c992cc6b9e9c2b9a5c1abf6c87b70c0dab62a4246fde32cbfc6853440c1770c056cc0dbed9180e7d8168fed6db0d87273025f1451a40df482a70a0b7fe5a145b7aa9fd7e59573a1b83393e7368abd0410b8458904c9e2a74c67be7884a4abbd4d9fc68a12cbca8e18f4b21d8e72af611f92ef420427135d547bb87a32cfc12b3ae29280b703f78acec161ce06f49a036598b126dc5e462add712bf887dd8b435e453d61c301b92874818e5e6d7cac3c47ad993ab0cf95097f3c136212c2b351917e3883d97504306e9783e142bb7ead2fbc942c541ba7d6f4168a02e04e242b36e4207820aeb492edc54566d39778ffa3670f05893736bc8899d24af706f9ce7080a4858ab3d33acca68b03fec1eee2147fbdb551a77c92904fcd5bccc87dd8c58f0b99c1c3a7365500378821548562b521a13899bf0102533c6d031754c8ff0c1694b7b04b801a675d3a7d83859f017f2ab2b1d7c6a5f6cfe9c49c677bedd66bf72e02ee2eda2e246c7299ecfd51e63803c1c12c5335c7f8b0705f21cc05840a296e29bea9a55de11336b0329837a4279d414c54ea11b22e842c85e106abb7ee638b909d855ed26a69c57caddb557f66c172a42e1c65e585871ffc62c7c301947e3bf840c6da54afedb8bb1006501f528f239a5bcfc4232e6c1865e53afd567f6bee3d1c02ac5f321fc866cd5eb75e675a61dc5b279408a72cc09da5aaace3b4b8171d4df05a5860477c613a191b34ea69dc8e5c00d81f353332470bdd50538257d625403cb7ac9d99c95f934e8b87891728638494d1dc9d0cc8e59c900381649debf6d9444d07d26ed61e31b928881d99e4d3bfb23dae1a1e6a64b7b86df7a9db8fbb65fa0657efc03dff9c1b0ed1611cacaa43e00863826c64eb803abe4189ced123f6a27e4574868d8370150e1e3a85a5d31693c1e648571413070c89ea9395e3a9e3cb66880a98c270b9f892c042e6485bdd4fe57faebe6f1334200208ac20c368aba1eb74877bec9efeb561964b10272911acf21e858343d858b37079bb40621fe3f0129b5a559e03a08cadac64d68467b44ad4abefdb0489a17da919170759566ed4839f9aac82e799500a85e642b10e7b1c9e896ebf1eff7ff76d142e570488d2f52d51b14c66e32b87c7ae88e83511b364159dfb78103cf63b03bf0816ab31dd088515d640ecab3765125e9f825afefc5b3b6d539027d3abbbd00a9941c1d8cf6ed3595cbc0fabc8db2fece05c484f24a827ff0fc788da92313f81ebc72dfd50dedb55a567f410b0f2562a513c23a3b54a3670e430a8b48dd1eb39eb35f3566de0fc464a80981de185c347c87950a1ee0d0bb4f4cf68e74acd794729b422f72c97336991798eb2fc2bbf89de5fa971a5b01358e7fcaba29642dcabbf6ec09df56692373493099f64e6d8f8dcb2d62cdae2d0fe48148bc2a4914c8061f1007bc9db2e321433e2a81fd9f31f9e9f098e6d46e3342c2c1c27380e500e70c2de3c0edc1db50ee060869ac0e0f36c3861a00e718a67f5747158bb4ed06920dfe40380c83e2ef9d22acb567db7b5557d285094fbd5ec0343a92699c0b88ffd90bb2fb4d9a632dcddfa6fbde1a1ce27c7c4f1422b5e5a2ead7b78b01a795cf45c61c6adf3761a08678a6b73f4a352ff8301f9e1f0e7efdf7130ca69b8be3cd3bebb7ea7d8f0d591001fc04e7560f4fe18725a41a6bdce6a2f07e7454d28f1c0f52022066044684463908e12631b82b3eca2a119e841895980578c9fb8aa8069708d066cec777b0e6746081f93d5f3acbd4973a799d598d594bf1bdd5b5ad8cc8d67a1f7c45a3b594d275ecbce8227b4b8dd98036f899b5fa6e5388b730c9b18d5ab6e6f6a1ee0bb259dc437e8b529a868fa1856685802c9d67adde330a35848df59643fe6dd84e435a5871d1a73ddc9893341acdd40849ae73536cd907db025f2a6a2436943e108d63539fbb5788fe92cb8960cd5ac2ff0b5717140001b28702e12042c4e09276d3d8546979f284a685a96a822c4e1e8e34f05a718f20496b9c0c89643a749345a1853a8c13fd14553ac44c3c57c13b71baf8c161dbe049471daa3a06acc16df315a1c9eef1edb08f54a7b6556057b443240d7e453c8b61ede5e7500100f4121d79a192df7b60e6d8e4cfb9439484f74a82b955a131d073c4927e82112e7e2eeae882323ac19adfa854f8366e3db67dd3d0a348b84b1792cf8955c392964c8fdeacdae342478bb8ff1e7c74c42e74af814e9a4c82f57e63efe63cc3d56b9b28385958c776a096862e42b0109c26f48997b536388bbeb821a94a156113f12c6f9da7f630b49d91dc73a3a8ea83c8ef8c31603f269372e559265d37b0585e4481d8a696a4648e51fcd779792e3d6719b7e3c7709b2f1ecb7a83724c861dd67e0e6a14d6ebde054e4c85298f6764c5acc94019470805d91166c4404cdd235081bcee21a5a378a8ffe65adc9cc61dc109af675b95a61afebd4abc09535c4340c27b072565ac786413cc713b8c5927db06d9beb6fe12c0098e5212bbd442bdd369caeaa1c44acd8b3b77729ee03472abf45ac541674c5d04edab4b85887b85f9a6fb09121434337b41683f7e293e5cf0843f7066012de76da68e81e728b8baafaa2d3a8c4d30bf726f88fb80ac3e6fe35360b6e312c1c065fc9cfc389660ed3b9caedb3d2754ced2d2bf58f1a3c5fd6163003ebe7e49f86d39df06161b038f37d351d7bebae0b4c3413ad784b05dd2ecd57e28a06af5fe753bb09c323abfec94f6682feea8b6b87072d4086cadde05167b157cb40299120925dd4005be6bc7cefe9b5223f5e4d7780a8e07f71f96812c87b03ca9e157c09537ca452c1a47dec08cc63e220b052ce83f5d8548cf8189a774eef467c05ffdc8d0a068b48f4c14f7fe6f10d42d3c491e0e47679eac68985b12ce6c97c8b95ed15ade9b918089ee6ccfc168fa21679ca41ec934caef5fdce6ab9272178fe618d86746beb679a8bd3505649296a6236fed187e94b827b31d8143be1a82a44838c9e56ca27d44e4d3a5be827d18849412048738bb99b3d89eff1aa5f6997163b73f4915c8751c9acef07a9d74cce7febbecaf0154a40ac96a870b994339abb1a70251765724511b6f8afa663bd47ff8101ff12a67d2ab0eae9ef4eb8060716a16ab80d203e9a59bdbded74a1e7befba2f7178f5ad7c1a0fcad179a5f88db1b5f122ef584ab0c79949682873460e9c6a60c401c719a238eed631ef63f99a9db47f837ef7136bab1411c1b55335b762b4494eef9f70811a4338ea26065a97e5b44f7552c60ecafcf59ff97732b03e05ce6e5a0dbdb1f1675e3f629122023d0c4baa4c87390eb9bca974bcd29a48424154bb2a86d678b82233090ed38f779b95ba2f2fca7e3e8e0091f1146cc7914ed5c5a4b740b440a24be772aeeb4e9c05f46b13cd8914ec8cc0cf973decc42f3224b23f5b839ac2dbdee70761bb1b50ad740827feceac8abe4fccbd595ae3492dd6db5a62e6ecf58ee561351db911a997042de608e476c53ba4ee9507b4ad44e9126b7ed4b2d62ccfa7c8b90048101d0d3e73b9a9be06b38340f1cb04964132b915f876f2a47192a8a45ad61ddc5c1c23ed4a8b1b20b50a2b96e72429cf4a77f4df4b004b661ed5546778e7ef790a503450ffd244b920b4282f1334cbe77c106de16d89040697192078e4ca2d89ad2c029dbf604f0d0f0c2f6be78e9133d837fd7d03d4f0cec2a027d99c89c337b9cff9036696e2726396b33bc691bffb4e73877c401148ec86a103812e72fdb1de20ff23b8673a73cb0c235083866072667386c0de50e5a3f787f364db02600ab4dcc922046a46a65529f45a62852d1d755f51cdb22da90212a909c0465cf0171495592386b0bb30d24074fd6f5c96438a6c188fc1c7b6ced2477da3022b46a3b0cf9989279ea7726a48b3198b5e8543e9f38d4e156c6e6090d84b9f2e82f4b5c30a34f58e2eb61096c8c06621b296d1d04d5988f08eb828ec9b63c71f67f2d36d9aa205e5b97a8ac4de9834531e07a26815c23638939c340be48f0c435411960a27a5d7c048de0fe6139c08d44f872f387af4e97acc6dafecfa605d1387ba66c9989d3d25a3eb4c01dee778581c309497325d143f11cd401c2b9ef521f162578c462dc9166e4b701c9f66ad085d71abc6d5858ca28d636316747b5433523c271d7ce24b72bb84abed082a777649847e5f46f732e9499dc2414d29bb26d24c154c4b8e9c391a77457790c282df82075b4987c3dc25a3b01968d02890566c4bc1850671e3f17b0db4c12dffc16aade59982eab5341fa03ba435ca5294351a116b1a9275394757d88ae5864b9f45fa785e3ce4eae2e53afd9cc078dadf9a03d221e3a75827e8222fb43e3a05500d220cba41f2d0389df65839bb17741fefb9df7851b2f15b9bb53f898abfb24185a8064af0804a64e4c319719e1682f41b838d7bc9fbd318365d606764bd857ca43e6c8cbb1b5a3564258c10c6a125baa86d091b9effcd2748d047afc903827197bed1b787df0a625a9f69f711630fd88e1c1a83e65269524ca5c1f9f55baaf6e404496a08b44704d286f66a1f546bacc2a7f28b4272a57351ef8104d7880ef347a76048856630e7d9a3d611c1b504d5b8c7751de5dbf31baab1e9ef72cf85dce6c3daf5c1f2b3b25d57fbb7adbda79a1f425da500700e38ddbc198d3519f44e575eb863389373d43dbf7f2a8a3db4225bb79dde23657f0001a1c77494472c9f85967e71803825da896d8e4a520916c5a8414a06b0b47c0eb44855437696912218e988fb0c46e6b073e5bd17d90b1cd846f53c265ba13a3080278edd08a4fba586d9a19b1c3002c622380417f8ec6fbaddf1ec05f05f6fbef05657dfeef5a6dca6ac58ac81c41120c700b766251790ef13ad866409b932c4eb844c7657d4235b2724a71012c012f96a9a4f09242c55c47bcbd736648810491c0ee9fc05242c56f9fd83add9d7f1f2cffade77cf1d01a8f69d327a686611dfd39a9c3606339edfeb1fb15ef285f4f55454ae8f43acade6c5798dd6bda31d5de2d002ad349fe755965c9fe0b9fe5b17f60bdd4e70b2f8dcc7ed2272b57dc29069810e87e10dd3491cdbfdf1a14a59f14c513b7405c75c4983755719f90d93ca74c02ed767e00176ab1908cf11ae645eae4f6a15c3c20861b17cbcc742a46308d9e711077446d529a270877e6fcf64a091a12565c48da18d372713a9da4989982b6a8fc42c2970dfef3b39616f9cf1888e6d95e41a93e7d35354e9ef9e85febc456dabba02fd084950ca32e99dd6286ce605923d35bcd680ee157a6f01fcb5c59ad65770188c0027a6615f9e6c32f7b0228fb887c71dcb80c39950e8d2653bb34c50ce7529d696c4486ec6e730064865938889d0a508ae18014db46a8202d07a68a6359b6abafc37ce8fd22df97bc1868c952d400d5e7d916a136ae4eaf14597c045410b87d5c766815cc3160b9462292c0fd3a3f7744bd7780e302dc512b4b99a9f063c6d1e035da4b22b3a07476ba11b795e098fe9de01909b1dcca0738a5ebae650efba1e87c3a213f5d98b420c212620dade820f87d8c6fe766c19a80628b40103f9d196fdb846d456e93cd9474134ef9c71f95d40d4efd3238a3605d314709856d456d024ff00f93bf71b8cca60b1ced791376417df2ca0e64bd4bc622efbdb0de463295dfc881e685357dc6d6319dadfd5864d0863949f85c012d6952c3219b1097f4a9e7aec9f94f328a3553de6f1792514dc5e6076932c66263c87734789b28aef8f722734176ddb690ec8eb5c121ffc3559a6956fcf05293f964d083d23b9bdd58fd1d013b86744dd2caefc85520bd42b2cf28f059a7f093dfb8886537c6c5db55ab7ac7632be8fac7dc37cdb1150da964a7451ca97b8b4568a43014f8a63d26166348e74ebf60425ddef1f78d8f5dd06c5057e6349c8dea6e90aca0dc7c7cb17ca32f0447c716ff4db389942b29b8f2e51ecf8c139574c505d20f709eaca4f3f8e2eeccc0b14198fe8dc2296eb9a9b680064faedec746b9d74b28b70c39bda9be7173dd7da45397deb3c6d0ac94cab46f7f13235bc5a79cb29d78daff75d252a744a8360755e02ff4cb8762595c805efb88329f25bc81a9d8f950cd3030fc859aa5663396c814332dd9a2026adfd4a59e56b66476f1d27980d4e22608c46b4adb0943d7ea1abfa04bff5bc57ca969060de62e782af1a800da7a38ca046a7e9551845726de601bdcf6810bfac8369adf1f2a5b0cb1bd58375f95905bbfe85c98a4ae09aae0813d7a8b80fc129f918aa15d50600cb4706cb18cc45e7203bdaa820e6dbf49ade2f7948987d0532d575cca20c470990f1ce7982bc3aaad0abf156996bb6a1cb836954d5cf535d73373f995816414d3d461feacb61a35de4411cd898cb085a606fc0ab9cfa0bec387ebcdbf3c18ff93f356f6ad097d72bc36d815be736bb76a645b1ce51ff34f8737d1b3a1f1f1a3edfdbf51dc85b1b3224fa99fb57f272233e706e087ea18079527024c4ba11be11472e09ac54266ca212c373b38d5a678681be16733a199444c3fe39afd55cba280761d63ed986aaccf9206534df7699b5ca3dc13ce00b4ab5e56b388a55a87d11a27381243f321acbf663271cf45750e3a6461a47c0d0973a4643cc924dd7686363810f5387cd042e50a0c62fbeaf8715833aaee4c0c0350ddb9538eaf545a101575596658c91e7503cd7928b5c1a18877824526ad2390ea3db9ab570e9a0b1eca011b212c3379c91f418c5d65c44c2e32cde4045d9f53ad91a5589603734c853ad8668fa81ac6a4fae3c16656a0f417c30a090c542b221ca6217ca89a4c21ccd5ff4f26517783192644540decc8c87d78847f63b7f661a6145e0ba0e8d84946e995dc7c78cda8b419812fbdd16db0ff9553edb30a780b6d134a80a6e0a0ebbe49dee3c5557358f09ada3d12263abad9e173e889129bc61b03bf4538631cdf74e5606c90aa10fc73da1998fb296e964143380e92f3167c13154da46d30a1a5f45eb419fb60d700ece916a66e9f44c339e04ef3cec06e5804c75d87b1ce8642b030607959f292b5311e0ccc05810c6e39528bb79e355b3d55fce1b4951338c366d371bb43d7f22f4f962e2b41f07a22b4ab230f909dd6e4a9196c3ff53439f823f2c20237727761013e02fe4a81245f77eab26e81bcb2a4cf131db47fff7e0ac26e90b136df89310d9b600ee5853591ecdfb0b37dfa791b9270b11a53b975b2ad473361687640486b3fe5468f45f874836555ff1e46ae2b3903344e82fd28a8379a04b5d32f89340ecee79ba2d81c0b8a940f8b8439962a109d532a66ce3b30e5d4c69cd5cd58e6fa290332a54de8f5838e0b31e73cf61f0ef7e472afad7484a56ffe799b6e195d8764a9283a510d83ad2045ebddc552c361fbbae89676583b97cac0bf022508893c0c805b87d9bc2ec27e662ac1035789876460d1f8ae19e70285ad0ff1fb70cc5e4bd6f74e953e32cce1c14e0a35f7bace85bd90c1f6839ae25a15003fade929dda2638a604bf642117837697174b70421d81f800122c49678363168d62ae3c4bf5da95281f9a52114f189b5f9e9ac71a6519652cd077203bcb7c8d705a35cd76b91eb5da8649678bef81b470904fd4503c8b6c27cf455b265483d06cb581ac1a5051ca66944ee14c28fa712660a5bf7fbac57340b3776bf88635bd919443e227e381623f17565c46a6b7ffdea846753e119581edc506f4f89f4eb33a204cbde181f5c07a67505d8aea2654ec130d5a17510999cf9004ac09c169d27fdf2797323e62ff1a1897275b155e20d68c4e5253907eb32a36712e2f34d357083999d534252e04048056a671030af670cbe3a321a73633b8877298376afcb5a393032fac3359f6049dac26912f65ac65b7210d1d7bba40bfed7eec48e6cb564c070abeca2ec4729205bf616cffd1fbf4f67b566c8e1d6c3d95a1a024dee61d5b310aac1f3c2248465941b935f2a655f0b98b10dd4d1eb64b4615ab866c5be1b09dfdf5a5afefd2ccfb7d1cb31538a6989fc4e547bf8e52503a2ec0f46a27660792eee5a5ab32ebc47fe317db2702c5ca15a3cb303a9bb1cb2f753ed8f80c8e85beb623a19bba244723e78a4f4c214fe8d3dad7ffe3b57471d8ded19e48300a0eb54ee2c55137d9e3f9e465e1ab89e205472683b60f2e1a9eb5d9618e52c02f2485d8e8c192b7da75aec426b8f0acdbb9dc3d86885a13339fdb83df7a094ce9e190751c58270a4728bfb0d30119dfd81b898bcdec2cfe7c15f6408ce6f745afc37ee933a2308c8f3fb3abb3daa11ac0c817ffe924660607c7436d8583ccd48a0a22cc6ce1134e5a7e13b6afdd56d0b380b70965b3552b220bc8aafc168192d5a5efe29aa6e7a9b1745fc14eaf4e420e95c35c8f86d58ea92236c26228307ef170240fce71626d6a09ef36ffd4f23fb9337fd545fb94ca1782a7f1fac061ee22c76b7b6292cac9125726f81474c3c9cf3c27dbff60489376cae2e0f6d632b79f144131e4d9d5717d52d58a3fa05bc5202499c0b3f8ca9eb1b29dd6f6e7a1c32eb8a76b507c4a5a8f9d4cfa0d53fdcf198fc2cf45974691a7f2b686b9e6fad49e619028cb54f1ff0324cd6bdc8a736fd85879dda16cb0c783fffa066c8a0d874391f23639f9955e46a30347ba06c3fc25725da6de50851a9cb45579cfa50d81810c7c8b1f45e09a9725008f204866198a857a92cd6c78ddbe140f66bd5a1a4adc425400c69dd6a80bebd3c87277a1812de904b89870a31e701b0ac79402f98116b06c45ec42b54a3b3e3bd2f483e4605833e2e49cdd6dd87a06680636a10e203b3b6fec58ccfdfbda07e5650bd5b1353ddfbd551fbdffe76621cb12cf3357296072f0445d033b295ead711e8680eca7c0b9c33114d0824c77d6835904cdc3ad8bf29e6bc8ccd2ab9ee5f43fe9b901f79ce0edbe9b1cdb30804591432e0799cca251cf23ec157c304d9dc3f00792b456e06bbe489bba62b4848f84dcf6ad82821e1004ae6fec95bba618c79141c8154e18736821eb0fa80940096131df2fd7d3407de6922ddde08d47fad1478824a377d84ac1030e6175785925b01ed9a9bb2eaf3c0a5e20d525a74739fe98dfaf8bbed6c3fd17297ae357b884c6714c660e4da2d33ae9d46c0836212f8dd10c372fc81702343852a529a2031aca1453ba5fff9a6ed5400cb4ef9f3e5b6b2e4e536a207d09f81dc067dcc0db1f720c63c63ab357dece6bb2ce4f3575c3f15b5f23725a98e7c7784d8edc1a6e483c4c1ed854b9eedc223d2e43647ccc4f0d3efee7e76e31483424e25c7b6c25c4862bf6cbf9c7f0d6285b09e1925382f46704707142dc39c5f63a6851f7def94b84f420b885bcde24483164f725897cd591a7cc48c0604b3e74bdd8ad688f1a25b9dbaf042686ca8a47ecd897c140b2d2b7028f4ca5fd11c193874a3edb118c133f7d129f498c65e9d8afad7e254fa049adaef08a62430c477fa3b529dfc9ff7f313e0acfd1b7592ecc6c0a9c778d4ce795f6b9b4874ad4bf23e3d0638bf40000fd8b9f34439dbf328b7df4eb9680e0e94f9892c0eafd636ff807786c0ba4bc4575cb7fe1975e272b81d924bfd26bf08f611aee3d3ef5ba466cc82be2b43e813105b21895c38cc71832b39d87c56f825af6a62d673d61ff820171c8a8880629e8d50f36061f7f8c4a8a30d33a697b75757af94432ed39223dac118641c6caa31136a9201f9b5a4ccef70c49f710d7089322e149ed31aeaa18d4eddb2cd00e01a37e2ce15dcf86548a8199f1787d8c4824632d0bb218b94e9c2f7d1d83bce36f59361321a46067cc641cb691135e292bb4d4e29e96c84d9d962d29ecbc2770d07348d7c67064582e1948eab80767d966b110dbe185eaf1d5a7a12a949d7a9312b39eccf206874076fd5aaf0b57ea8478c685c0b7e019de19994a1bfa8f69b566c0e23a083b90b2cc8ccb6605260717532fbfc4a48c2a6410393db815cbfa85ce84033ebbb560a1a4745d6a5a9d3f4fa2abfb22b3291a06f30ea7f7d25bff5c270fff1385f0bd80daf26ea5eff0f04b70cb4896ff19aa3769cb0c858993500957848454b26ddf7365b216c97a0f28e3c31c0f60c9496c5a5a4122cf6762b73dede02e19b6930b0ebb930a0f0d55880d4ab68655b68e08a219ca3cd4053e4ccf739ae7666dc89f138e1caa608ba9f7fbf6b650bb66fb63d70a48c57c7f10b5ee69a2bc8509c012b7b5b8798c23d7c08971fb44e367907e22f979fad900624bd086fd0d79f8af0548363d6378fb7dbbfb33b47ba242fa9a9dca52de977fe2b4f25845e40514f474c35746b01e3fc867ec39fdaf69a9f0bb97aeac659a383a28dea9e335c1e9a9efe2db8d62030c23f3a5a2b6835b4712ec73666c0c9a019ad237b84e4079533da3ddcab87beb54d41e9e64d16c2a3339f696899f6057a45ed69bfe4543cc1629848c11fffa740c61dd95a6865f48afd0f82c57bdf5fe3a873a154bd57decef42f52ee7500ad8705f3602d495bc3cd482507c5eaf3b6436e3bfd0396ac344c4f9346ff4525f5258d01ea3db8297720514784a236a0260e84218f81cf315c510794e4e6faeb199e6903fa66610f3963a7ab8a6ab3dfc574a429e1ec5134c259fb757da78a2d9ba81e9eaa8fce118c8066fd6ca02d82383a37804655cac2b953d9688e6530752929b3a29061bfb1995000a77bfc3117d32000271d6c48f63274f98051fc7ed7bed019b80d13f8332936db1ffc24f07cad9834b8caaf5d50b80ebd9e8912b540033f3969a19004f656b7bd34e33736cc2edcbb4e7c31504ba82921269b36680d3f43dcee3e9ebb83105c038bdb068f49f7edde9dc35552cf08bff0829653613952cb8d6abd697dfbca36cbdfc9ee415240280ef8ff47017f1e7ef0da4b85cd145fc1ac8c969917d943f9b3bb6d1c0ade2e1419b51a226dcdd588dc9ec31f6f986e0147fd98033e57ce5fd3960e1c6fcb85d15bfef4586a7d4a38155b03c7ac628540dac50ea93979d3478824495e4f70c4bbeb986f809791e438dc1751361ea20d601a0395030822d7d4599f9bfd6af3cc276db2893864cc74530522333ea4963f64128e31e2b21a86373f7d15758e4e6e7a0d0c451808de1a15828f744afc5c01dd7ee570de2d7ea4c661992649a9953abe1b5e3959506e62bf22df21a826156932c538f7d970b1e8ee6f8c3f6dd451f39c54491a55aeed5216a00a8b2ef4d04d05f1c7ce51bf96799f9f3fc3a59688542138c7b52506f7290a116c1cae93f9d8e83e6e59011d18b7d835601f7a690984c59ba31e20d51479c181da0cdcd60fdf27b39c0068d293d257420f5b6bccf30eba0dd350a23b50a9e95b95f413e399252f46387688656e617a57b213fbdbd799c4b11a45037c856006db24a508ed4e8d28f9cfde7e07b7fd8063ab626da3c0f310bee175d2aedaffaccc2f288b3712af2e969baaf0ba332d18793e07dbf5e833533f27e224f483755f2890ad6690f87c266f821b773f93ab34abaf6d620d2669b60e5223478b32b917e75d036165bfae8d8e7c853af90bd44a07d483b1648efad6b0225c4e23d8e384d090872af4f848b7b65fb11b28ff596f3236aac2fe658a829c9bab78599003bcb40ba1a61a0321b7084aac295a36f16843b7557469b4995de7bf48ce574a27aa1157e2c5f7239ebfa998dcc40c84f4306a7f77cb8491211be7b131ca1055cb42c6c825e288ac1d6a46587ef3939235171840cf8f43c208c40f355552aa1cfca078c76edd10085a9f4f98ca3e425aa2925b17da87cc76c6adac778e08282d93b970d1db5d98f046311236f0b3a5bd384087ce1f36bd01f3a6774a7b9eb0db008fc5784f16765f9de6fd1b583eb6f19a46a7465fcdd366bea7d33d765e0b140438088930cbb05c9e09fc615d0903d97c61e7ccc34cc6a72e79760ec2a5fcfe3ffecafa8d2673beda17db92857a58d8cb809de420d1a2853058d05278fb2adf6296d2724df31d13972081d9652594101c7c5949fb4798fa18c08c2e6bef1e3eae8e288c64fa93d59b879f793e7d5b7a02a50b7c01ec49df81bb5524d25ff8acdc44856dd714423a3a48dcd5c49c96ea196da556f29ab5b64c6ac2db872363c12bba52e43742b872a2de9ee929b61fc91cec112f8f5b4adafd94869da7b836a6a1dae38e9ffafdbe6a69a9547fa463c56e139592461bfc30ef4dede8eaa961cb2b1f25958b2ea984f1b6e6ddcffb99467ae531ea85fd9528fceeb8c4ea9819d534898dea4ea008c21e049c5c826843fc390e3550e2ba85f48c8ac9f54b5374e40bcf9e6a0fb1ff58a087bf2547c036ee811fadf2401e5994d7b0d546e7995f6b8d7bc4a96359e12c36197a6fd3db11bfac4f424f9b224af6d18d6fadaf05671ed42e5ff3cc04fb113d269193517ce903d0685e9f57c3a0157ea547c82a879e214a0584601cfe0c8dd93f28225cd1b2f1a8dc279647e2ae9102358a88d17409a00003b093e744a3989cfd8bdba0d86067fbcc82981e32453520a6f4433a0afdd11994cea66233d8d6b334b6ce74f7a114cf883c38814e45661ca51362c89e8d7db1460bc287c6bb9d0c90b1473ec93a354cef18f1d045c3f33cb93e7479cf42cde059a7f752d579a685bc8d1b7ab012cd8964204c5346eda768fbdb3932af0749e43f6047bbf5c50ed818561b40058af88376e3200c897cd1e83bfdd739ce93ef9aad5dfee9755dcd43a5f540cfee67400826bce875770238f5c9845281f169986f945868c6582c3ba5eda5ba3d506e75bb37be6c29792021f0bdb5977009728b18801f9829576c6a3a779d0ea615652a24652db6a203a863f464ab3549cc4e5aeeb40c7f2b6d15c1d722744457a967acb312f0e484d6494d22277db36bc89d8a6369a3019828841492b31f030935a2f3017ce180378f3332777b95a3c8f87e2ee97b4b85b6902596a21d4e2454ef73838737e18ea15e6ed78fb36b831bcc54d53e83a6e9df0cf9a0620e52c000a33a731d5da8c31f0a8fa0170447d7fab6b0f4b94669f60ce17fa2e443dc7838685c8b9862a9a770f92f38813c4ed05b0219bc53b5783017056ea4e4bfc90023f0eba81c5551cfaf290105f84a8f523811b1b127a926fafe6460cb44dee2836711d1f5d8ced85cbcc0622b1e0ddcbdf9a47db411924d2200bd9790c843a4d1c9e3260c47533e0ba29b249875d1873efa4252694bcb5ae843e86933cab2af1924bf72892f9cd1792a73ce42b3522e8441e408a22f6a97e76afc0b7f02e912e7445e4b3465479b82e87114d5deb6372c545ad59df5512a87e30d5904e88273f9e343fafbeb132b0b595f1d42f7fcb3f68afeb3f71f7a0b6cfcc9277ee9534765799e2406b34ee245e45eb8b0be899d607241e5c4d2e7b67a8bcacc48333c19804e4839c5b936dd1e86c74acd8901c02d0b9fd2b3ed85c2503bec15d7e769e8282dd4061e86cc6af6e08acbd867cb97caf249347b574fd14548dcf747d0d2c6fca37981cca2ede440888046db116ee116de360ec3ae6eb5e2094e3bc2514a44276598ca3405c46e563e6f75eaa6b6c7f560037f8900cc78dba52850b2f334806b27758719c28998ec99d37067bf18cb5d59c0704a4005b649c680df79c5b0853a8cacb4fa8aa8917bdb2bc40ecad39b171c6fba705edeb64ce78b5fe4019aa0e768cc219ebd5a6439e2c8158c35b33acee4db5d8d3bfa9b685ffb215149a543ea5ba5073464071c57b892bdc23c36f8821e0a2a454ad88f755d17edbe9aa8d98c55496cb7cf37137903603888a0783fe953aa22ffa5a46a60b989632c49135368c7908d67b9b62f3328206d4a57495e1dcd4a7e79d99b1074a51616c540b78489f75fe10074f0e12ebfa4ae9a667a44f41b0d14db781aa0897f75d22b4808e50874a2bd2922f3a64f0130a6eeb38387196e188335facb8672172e77560addaeedab2e2db349807b956b166c97e955693ba6897dd77fbd31568aed37af0ed71d01296aa51f4da0cef9235121f37cd8ff6a6ba6f9529b090021c4579f1d249090e97dd552d791a1cc9a6300ce726aa431543b0c4824cd53c0002de4e04b977ed019e855351745c063e1e985419a4e48e1b73725ed6bd9d501d7714dcc6b3f4d96e280e04b969c7afc3fb24b74e1b9bc65e8cada52f9fad4a1fd8327ff13e4ed757cf1e292ae62bf21a526c8e841cfcbac0e5672f78a2c38653a327e145b23e887d5d713a6937e6ffeea55d5b7f762a5b763eefc467c011bcdd4595d4beb61b0a8e5f3230ed93b8849266cfdc342c1fa92e36c1616dbe3e0edfc114673fa4ea80368921e6cdd4ef9a69681e7b3c4d7c8d4ecee2786dbeef511961cb4a34122628c7b56866f62f438f58efd0f059a61dee1c764d43fd05ce6b92056739e9afe2c813442ad9643e31534fd2b33466d7e66d6663af1e70ecf02018da46794bcbd153b6f9fd5fee5575d3accbcb2ca7b82368b6560400a7119709d9897be667da434102782fb2c9fdb6be77432de13905465cb201f7d0515cd69b9cffa028fbaeeb41d3efc0eb8a26fe90b68323303c9aef0f746b4b716806edc132a45abec8a3dd042506ae414419889ae18b4a95693b8ab0a8ef2faf3569977edbd93c7246b620dc0f729a28cedffe63704d801f31c892398c8e42286b8ce66dde7c8113695248088f4e4a57bcb234a38cf2302bacd45c411fa9dee8626cfab8bd86714e45010245c5d27184bece3566ca27b5641f32f4e22328941e248beb77374b5f98bbd2f33cedde9e6bf93493b2df351a01999f08ce2d513088cee6270653a93f67e7fae0915073cc89e97db35a9ecbbd721d1570a5465345894253214fe9b3df4669ae00ea4b1fcb993fd5335a31dec3bb6359ce35acda63c9567f8f150b282ea4e2aeae4e89e9b6ff03af610661afebfef13b6f12308673bdb0bc0660a88b597d313aeaf5bc902e419368d6cd3323cf7a38a5accbbece5ed732f336f54f890be58d393d4a54a7a29396d210ec3e7f00f401bea286c115a3b207e14da35c820c2b3418997c1cc07daa05631801e4dce3beb8a8abad2fadfb369982454d46e011e1b06849267d43278c8aadd3662d9c9e98a2311b5f8be37a9a380ac76118c42c3f8e36c5f0eadc2e155d7645733c71a220503b2fdcc6239b1137c34eebac63b9c54157233d1db38982d7156e36ce1da3cb4572e16c3ebccde82223412c0a0e1873b7d49a89717152b8e6b8ad18eb5c52f59e752b7d43b109565cb3d3844acc76df9f9f2392a259b014bced48a808324e117a8d4362c1d5e17ca902d2474868cd054e7794db932212ddd054bfe6da76638cd65b308501d220fbe1882ac915d219459e063163fa3a66ea431d9160fb2769172e6565b958bf4f5939876cc74864eb085ea6db5fc34e9e4f98407bff778599fcecbeb4728a3dc64310358a222ec1f67b1719c19a9999398d3d11f8c9fffab81adff0485a6883a47a0e59fc2fd384d6cc4d52d32eff0bec65168eb52fcc3c467641dbd843e46782c547d6303752c9ec5234d6ce8c478c2e86479440ad50698bec71d3fc7f047d811275d9a6d6a78d5d05aedeb366dd74aae660bc2ac1c3eafd5c094919253a3a2ea58f482e9614eaf95586aea47e8dc2353fbd9dc90997b4eb26a7f48c107c4ba0acfae554ec76e361a2dea34591090e849677c25603c25dbbb7f6df3aa7e21145b9b8462af92b33cd5334254d4675950e4d7ef796326b3e33473991c50c9e1fa16f55ef70e580ce53ba87e4971cf9d0eaa859e76816637f6dd51b2b02d27a043f971f63829d34431b605df6b650c53071a1e112382e588cd158fe2d0874563fe5590db5f2dc1d50467ed4a0f880c7e06332cba49c4e32f47618e85d175de06eeb660e6ea914455f3c0694e6f4302685ae9fa3bd7875d070a0bf94578c19e64700d41135e17572ac1d7782c03f65a2694a3fb962eb2992c707e7e1a193f7587f04d35c5d8dcc5ac8a2262df60fa52968d0c36d58d6d56eb64fa146371ba6adaf5e20b83c3c92924ed041de4dd6335361678ae16f4f682baecac02430376ece2ae485445b4a1349193dc48f546866f22628c23d2d6ee132b69ee767906b154b6127e748e0f51cf49d1f729f7b9aa7da91d723d7a09aa667e3ec67647352bafcf4c26c4250efcc374572f68673322a36a044e22d32899584a0f00f7e9d2d33411ceb21fc3d310aee03ce227dba5b5cad65385efb0c1d0354907e31224cc95d98d774515689bb8667b4aff3edb7fc931d58ecbc0bd46daa1a39eda6d172b0419a272030e9ae70432a7b848e15a64e9caa937cf492b37f89f055f7902f8797b2019c9267e02cb47812e3a17f7020a8fe97632c6fb087c0b09cbb42625b20bd033413e008fbff1b7e3f5189f728cf9c579f143c68f66c32df7c5bec3a0ae0619347fa8f9ee9575ff0ff317d9ab5097f5f88305572b382b4bfc61f31be46242a2229c190e4fb31efd209da4718aa7fe265aadb899d2c0b0180e418674173cef8a4fb4615709e92bb438c04ccf7e972fbdcea3e3639d3431dad9999013d4725be1ddcb02dc37e5dd8d5ec1b3d66ee6a40633db4f4de0354b217962d240f687caaf396a24381d2a92407efc069b47432a6a71291f147173690debef6dc02b58e36f6763d7173a827474cd41e2ea847ae286b25087b6808c76a994bbf94c92d2506fb5e2d95e3221262622813de3b4d83311daa54f935377f4bdc12f8432433dae55704fca8b9292ce67458977badd3133e0fb4a6d5e27cd95c452d4baf87c07d88d9c8605584dabbc5d8e4099b92541173cc8a905e1775887e08b07255c1fad7cb34f45fbfb68b632d97bcdda96f72e0bc6be297fcf1d66b309b9736f3f6cddffe3822a8f05c13618d68dfa46fd56014c94f6554118aef68beee66c80f6431b003dfb42975ab5fb589316be46dd9d1867de30dbe978ff31b53333cafb09bf68773ed2a9b27133d1a1e508046581c55890d17a4e8a9863598d16c5c54b15c46ca47bc643e9042b4e2d9dbe3a996c91f88bfcfddcd53dfe00714dc88aa05b5c3eaa5e23241cd90e09f273d345bdd020cd5126b08b9af90321dfa252add90ebee05fbc228b4429f544b9730c3e888b6cb68337f9b0c9882cd657a97ec4c958cbc929922ea994c4ebb122834884b11aa5db9f6a3735f273607519a92e50e834b09ad86cb0699ac292dc1d3543ad24a9fd98e493d43dabd5e5dc2f8298fb63a5ef189c72ce0e61f2288f6a2303d703acd2e2d3a8f83024cb1078bcc6410ee980d58766b29128be1ba05c03550cbc4958b812bf854ce69c242c382f8af323d1811cb4c5450501dd2e332293267dbfd757a8ffea5899741fa8ff5c2b8430716eb8e3e5f53234e8e808409571821178c74377b602a78e51e84ec6a5163cb1ca24e21a61f42ee0b2b31ec835690cea3116d47bc44b1c8667a9428e807d71d02680bbfcbd0a88b752bbb6f4e3ac9ef5e2565f3ceedd76b36a3b7265b4c11c31495b4e1372f7b031fae8ee30e40bc286664b856b7030ff9f84804bfe4cf67a5c33ca3a8661615c5bc37e57e30afa5c0cefbc3b89c51cd92b71247292e815a0df549b3cf80e90c62f11f325e549e598c2eec5020db3c3d0b732df7d5c62c2e01aad2dbf843130294481db7f912be289741bb98312327c4a4bd897bf2325776677e6d49e8f3c991265578327f5ef9f1a072d765c1fe63eb765d36ba3f6646c85c8ea697f22d89a7614d500fb4734dcbf221e7dde5455ef227e71ffa4c39931ab60c8033c5b4f0a5a733c78845087a52e3b62abd967be6a29fe3a81de95d95482b634c98fd3522d51e92336f8de0983a62d6303308fa626d628fa574895cbedff5fce70bc65c0533d96d92b331bba8a31f43ddecddd8a3b111e3b4df925f76fa11aa306f372a4708b71b110299156f848a1946780a0346c4bafdedf66480f061fbcd301d2b18b281dd48af5c802cbeb8b4ef111833ab64e3d345cbb9797dd4c5aebfd05334417dd862dd603b89ee06188627d708d408f36ad08075b081043a6c589a8fea7a452b6238633b79e820b30e4922a6e7b3b78c74ffdb3e15b9d8904e4d97c3d363c05e54c7da96a0c4cf04e291cf192e73cb2ade130e7bd622b7f8cff0f9159b76679dd95c6e8fa51bfc26c636f7f65bb8b1c6c7eea6a953c117813068c6191f88e53b3b11be6709b029ff9d71dfe514917543e31f66011452b722e420d03ce51b32da758385a9c202a3531e164b6c8f76f0c4fccf9562b92762b0d075e80dee2dc2e2a8a0124025746edb927ae60ecf511f2289ef4fc01828be4cd9751ffb1eef6bbc33665809140857d7f38528db95131dd37883209cf7233f3968d64789eddb2a4f898d55f9d871fc1f7d39249db63f0d10b65a76550d9a2c85a184d3b3c2838de4f2dd3bccba3e4af93cec2e17da5863a2837795c9bac40d2ae302a9e983b9245968c6fbdbe9b4752e12839f1e861b841cebc339f1ee275790a09cc6761c572e102cecd3f3aefdcd2a82f51eb2b7e37a51096b8443a6df07e2296d4feef8a5d725c3b38ffb4bb7dbd9a75b18da6dec6f3da2e1b360ddadb27cca50583c18889d98c71c3ea2f539548b8f358bad8e7e78159c5a70c604afb7d79c2a598bedc33cfff35a0c72f578b5f730a52bfbe0050dbc68c184e2a72020e34e9beb94ff178f97daf212066defa3892c4798d43208c2f3c698004e58090da8f24814d5b2f8f106a71c59d40fe5ee719bc7c853a6fd952c576fad2ad1b9544615ed5c5688d59b97046cf4dc28bc4ca062117ca4f8b900fa084caf0f877bfe1cf547b532de3b60bf138134d955dde0990770d6c320feeaefdfc0dfa228cad1e7c5fe97ecf53ea925ac27ca748f53104f68c03530c8a1f6c7fffd7bd9e85f70fdd637ad0dc4b50544cca42d9e038b2bdf5d1681e03dc26787158d94e7d5ce84a1ff9e886f12dceeff6927d3ca17c3234d536036d950184b4e013a726c99c0e7361ae6a34f541a0d299690fde5975e2ad695a341694d727f78e1153e7387b9b24cfeb368c20632b707f4248ab3b554756e13f1899a73a0bff1d40046dcfdf9fc47ac40c7e433e5181248611ff433232b8dcaf03bcd5e12a630e5afd77718bf17985a99652c4b3dd0b254c4fbc6d99dea55a972f11f65a4e9cc563980b5de4b44e6a077ed58235569306add3156a4e823d06b1e5c29226575cb10a00cffd12797d71844a81692558872bba64a5b7eb41464581e88c0b3f5c7782ef6d5a152f26e8843017125590fe94b955b69437c403db76668aa45138691e850b27ed88621e85046709e4ce9302150eea4b86dd12420be2cc892e97c6fcd45cd099bf427cfb54d8dc8ad8c38eb0600631e11c54506b4405bd0f24882d4432d87efb720512a397bed3ebf290834ee6db243a415dabff1007f44f5a488968f9a836daf4747012932bc1812fc5b638fd5c23a4fe7456bb3660f7bf85f7dea1fc187f38273083a892866c08811c862d31e6e9d785f40b32e5c375c2677e1e0b43237bbecc44ab6ea834b8eb8ce5059420bf94b15f77b263a64775ca8ba2924d44829d8ead9199f232d10ef25a6640b4efab262aedbf18d9cb74afe0d3aebb2a5cf3a5707a4487849df2eb8ac2a2307b90d3fba15a95c4936e4456ce047075d5c896beada4a2b4959ca7d86a1363b51ae5a1986af2a1237f389a04406d52d3be25a9cfd014697536e562bb9891b72c010d1c25a0fefc610075bba68a3872f64a17440aa6dfc5e4f8d73ece98d1c414c0bb4fb40c945952d8d26aec2a01906484e8e942c0ecd50cb24b7ae5a394d08494d80419a667661b454627f01aa2cf7c8a8ee81c0c4f94140d191ac972b9c5951a247283a99c5468d4e38020cf17ef6c741e7c4193c0ce6be062361b5a8d47c3d65f9fe8918c90218906c8a01e36b159dd1c56b2a24bf2e98823ebed3e224ed7894c5889ea756731ea346604de4faaa7156cd2a62014453eab5055a9acc3dbba53b1c9cf4547af8acd4e437e85d6b44f1a2bff6dc8d461064b3364a7c03d23c5fbac8cec34234b800e9b208fdb9d40edf9cc9f4d9e2418fc6217bed097322de2a3064b7279e0ecb223c8403eb83b7aade2bb952389f6a97f80fffcd33b09dac1fe555a433c60be2a7f33c751beba7e6b8230c585fcfe0caa797ad16f95fc6dc81864d8ec13014eb2043cb1dfc2151b1ed04b1dd4d4cf36e7438399b8b12fdf4e8238f0b955295a659a89e197c13284bb7ffc40caa4086885cf51fac6bf6556cbe9ebe87a53db5b5e527032cc3c68a7918b4fc958f8c33180e321f257b379c5d824159c28fe731b3e87727495936e814d06a31b4483e3631ca86c34b3797c7c2708a9826d6bc51a57057376e7dfa788fc44cb65023ca7a0e5be421e2f26f65bf2dd1183bf817374fb4bf1efc6cd28bb994de1f9ebc053602e5a4dd1cca07ccc4b9bf62db127fb0dea638387a6eec8817802147b7e83a74ae82aae384081d80592f5c083cfb30a054138614d000ec75ab354b2958b72978fd381cc306bb91dc6f74265ebb39d5cba7c741f855a3a77dde7e659494d9c5fac99b6071c2ae2b3c4f1267f48f27888255dba2064dddc5577ea101fe9abba49e3a1cf4c143b4ba89cb2fdbc0d13eb903856d4a718bbda7d075357cc9743aafb71a2e26773caf7f17f29fa0448a415d0dab19221f335c83dc0a21f7dc9f96678aa41b29d34e839977be0b88a0346f20c4c505f788776bee738f1682848aea55ba6d0ef9f0f85103331827d56515c61179c4804961446d74d1f729fd63da68d687813befd5bd8b120cd365bae95c9a5dd2d5582c2b5a5f132c458ebb12c57639878f8a8991f1d81040119161c983b525f60f9baa81bd808d8b9f98e6423bae7d754bdd4765fe7522d5b9c637540534b05abbd72a72e0dbc153dd2d6156b50dd152b6bf80a003600cf2a4623d77694164ee88ed3412feb8de1fc5a06834910922ff4b9c2eb9d5603bc7a5ff34fb9a0c87444df327180a30f1c30d61c207ca44e97556c92711851ccb33cd0d575e58342763b57e4d4f3cb8c4fed1b5c73e5186c7a1d47abb5a2bfd7d94864f8e7533cf1aae9e0cdb3ae1fb486a040684d13d50b4fc64be86f49be600260be489a1fc0a606f2beaf63edef8b9fdc659f6df6239c7db78d186b1afa32fedcec29609946eb4307fcdbc910344df86dfd3be51dadc824e649b020a0c3bf8a5f6e52960819f5e791aedc252ff27dc4f5b66aaa3a051a798f17d273e3673d5826c781f858a292670db70414163acedd7c57faa57e8627e0d5edea3c82b8278b3134625800d5d07c5ac0c1cfcc315a027883bac2cbd746dc8ab3d4ab1fbb8b72dc2eab21dfdb86fb4ef9b7b6dcf3f327a984af6e7a9320e46addb24c0026f3c661f9a97224aaae697d7a7b2f5ad639d9cc7e64f8a0831f6383bfd5bbc6e24c096f3d6f0a720972d65317ae91f5cc8ac0fe5ff29c222abc367b7298b7e4c70c736adce9346c3dd238c6a03cd1e7953abb43f1ad42655705bdf2508640f3fe9fa8ac26924b99ed416fa2be8feb19a35a6a7885735ba0435dd197d0712ed7cc4540a58d8e56a93b1f2aef37ec58d250076b3fe8be58e67e428047bfdf56b5f02ad88badd112b5cfb70bf07f6efe2f7da9361924167022eee81855e41d99a4a177891f75f2e039bada05c7770be119d691856d7373def37dd5d59401c2f9ef206cba878cee23bc9618359de7e30ada11d13391ce14d167d947eb8a6c8069f8d75765ff62cb681f27b59a31321ed642ce12fbca7b08055ca267013f6c07120bc168abe34efa2b2702ae8f43132498fab7b698ac4329f88a2c6651b11566fbdc915b5129fcb4f273d6b176b66afa61972647cccb2dc4835400a57d036a41ca836a8be2be5fab6d1806b5f1165b4500e6dd672282e81e5ecc646c7715d85ffdab42a2d262aefd4c948e90e80816b293f6fbb89cd04f17b7a7e820223e29ab2d18dca6773c5a322b8f3049da0300f88df6bf4dc49bd7238e8a44607431ae7b40347c41955181bd220c1c4a940c7068b690370d698fda97654bc4f97388dc0b6c64650bd7089ef2b6586ebb2cd30cd3fde4778a2cf65163ed11da7d895ea5f942f6330ad35f35d07a2e174d8fc6c26b2b6b4123b46ec029ebc02e34dd887503a3d1e47ca1c2d3546a7bc53685d4c93102d7220c8798cc315465adaa0fca6cc38f67dfa61bce20e4f379fdc73f43d1909096692e0fdcba41e318ff862fbd9c0c53657b2f972c519cd6c5702700d699786168bf9bfd03b6d3d5a7ac2dcea1dfdb181753205670bc833d3706111e0149a35e7889ea0e4b1e7e3542624343eebdca56087ce2a76c4c6d09eb005e803c3b14e438519b3b8b9b96b933871caa440d639c1c7790fd18c8c354ace52cce00fcccd526b154dae5491f5b234efb7f1ec7f562621dd3ddce81986ae7169569441d14e2ecb775a55a5ada1ad0af930bb68be887d9ed772557657aa0b6d879bda9a5a357499784468c81de43973bff4ac1ad87a9e7c9bf014663d310c378d85a90b8029c033e553d96c78c701b1b20ed487dea5fe22a2742d7d8d2796ba25d2051105069b06cb9d90fe5d8677ed32748d17f44843c1ae0865ec4cc460d30656c4c075eb0ebca679f1ee48dddb360d721049329138618e73fcf6a190dc87e4158935f95916c017ebee2969ea45a478a3df4053b7eacc9008e0cfb604afcc65512dd66b34a6ddbca6ae02771ca46cc5675b8e707ef1cd47b552bbfc600506b1774aee46a5103ac496c4993e0478a4a2e696e0e520b78055246fb582dec6fe68ab8e425d720f48217b86f331d9761b8723951512d3dd7a48b4aedfa92f9941e80bccafd51be1fdf25a32e846d107dfed0504e9ea2e98085b7983f95e513a866c9f52f70e17f633c91c153db0652b76d5ef1322cc071f3b5f397aa3dd3e760c8a49672e4b1203363f7e354c827ce879fc669274b537d6edabe4ceb0b26d51bdc2ef99135bc84d7c3efbf02cca83fd19e1c82e36a16f44c37c19e55c0f8caa821fd634c48b4c3c6ac75dbcfce5e36aad4992be539e440759a286ba8b9ccaabff11c4e1244bab284e1153d4978490a6a3380896e91e980bea82f5505a004e24c7a10140081827e622bee854bdf2ed29571c95c1da2293a0a67f56e4446b46baa74a7c31bbae8b9c8fb6873f26ae66f484b24981a6c6264f121652d76814d9717264a77d393f8b2128a8c0d3bd61b2feebe90bf0b449eba0aae562937ce237b5029fead25f0983bafca693982b15947f5fdf8b9fb3518bd09c6999d82685f3306345fd4237d014365defc8334ad9dfd6205cd3f73105ff37475e54ffe5e6ec0b673336844a71fa6af1aa6a41b3cc52daece563e23611a0ba724b137085399588be28a555bcf1dbeabb0a81e3a82e78ed1e537db3fe7d272bb6585a989e6de2ce8e649465024024c822dfd3d12c28c6cef364bcf345eb50bd07628fa6e70e2cb298d247e46a24f9d5426aa7f0fa581e2a5f226c38a37a4f98138e67d18c351650aa4825c09149b597db1d8da16758f75b5ab9827425127139a8c870b91d14730cb47fd0435d97258b6edc441f8086e67cb057b4dfe8a17605b096b4880481fc8826555280bfa3af6f4fbee501eafd12f1d0d0f372bb8543ecbdbd6a67a2fe155c8982945e3a1fe9f6dd8c31786da08efb896a772f7be777edb1f4754c3f1f5973a8733f5d5cb2099ba09c6184cc56c46c6bd7c32930da25ec48c60c02999b5de8a39c18ffacdc2639570c14e8eb5ffe5ae543b977cd60496c8b9e6c7fcb9b6bdfd0b6197e369eb9db7359cf83c427469ef810e5a96648ba2143dd3409fc7f77db5cbeefd78063e602862c58967f2d457729eeea0d953fbe8166cf904cc1b72a9beef44d030f0baa0d4542e76bee956a5047994c23b6a589afcd086790dfb5904f2311fc2d90f00c12bbf8f13bdf7975f2c9da0d5b3d10402c41bf7806efce206103ff0d709e93d40dbbd831669e8af9b1f322404234928c1fda729e01a298b04118ee8afcecd3222910206ebca63f657a9a14a69cdf5aaaf95ecaaa82fadebdbefb46939942ed4eb0230def8011f2fd70e3409144921bca33637d0a89bbde8c02ca88d3f32c247c5e2392bfe7d2b2afcfb0a0084c456bd05ab2f1738bf17f99f1f1f27ecc83aacd6e4a92a183dcf3cd2d81af42c32b4b01e6253ca99df4f7faa6e1e8624b2d167c28141d7b9acfc023ec743bbce628c279873a64923673e43e2ec6539c7d0b984548cfcfcfbe5233128f85956dcb1de3e332aafe9b3d4e2ab69b73e1564c6957a9f1573b89bb79fb4c20746b3a7426f8116f0e2502060d8a4d1a01238da7dfa57de55c60e208f46fa5da8f8b50d9a51e511deddbd1b1a26d01464ed685f9d922b811804d83052cf39eb7d2f9bb2666ad8420d40bd358849d9d6637f2ca8319d465d27aedce2b9f8111c70ba01ff0979d1f80198bf43448d865a7f4e493dcdda9b63b3563b0a5f0d2150aaa3062e8f991945fcd3069700a221a6d96cf35b1f0d9ed0390c8338d1b68532c7ba498fa3826de68efed7796ec35ad1df837d8e92187d7fd955f4328a2a00d3df68fbcdd6927427114db80c2e9d4ce2df78ddc3210ca9af6ee9da3e115a86548bb90ac31eb1c6d7d9164e33636d965a903928c196bc3f7fb1054006f26c7bc8d642281616ffe68a7c262a037b09cbeaef4d27d9c18f3937790977ae5fa2b43330cb32ed4b52816f72770e0b2ce5d4b39691862552a62a4653f9cd04c96d75375cf75fb9d65412d61246134767a0b1cc0e3667927e8b67d2ae53cd103ebd3a036bb454b1b3883734a407c2063397a7454d96febc436f3efdd3ac4ccef618e0976f339d3b13b30f8759041c575754a1dd2522072bd7d694dcea6960ee6e70233a6b0bdf351a7177660b9ba2b068dc13384cbef3bc873a6b2302da4ea744c4a16af34cb872a443e21a0a0ca20dc1bef50d6f0416f790f65876236ebb785eed72bb3ff6ee15aae33a9f143264c7955d5e64a40ff3653b4ab6a66ca49feca10912d9a19071cb716d6d6c858b77a7928413571a043197e9602b3e03a0bf4f186e5213eb28ffe924b9fc4bc561187d58a42408cdebf4fba12ebc835310f542beeb2b82f86e4fe2b9ec29ae6461a900374c5a93f1d157d6f6cac2b6bf43b425eff4932e39d35d24ef752f1c25efb5c145b7333a109155f882466665b76f6844b317a1032464eaa256a0274b78c7584307cf725b7e1e5122a5df2bcc222ec06f9260da1c318a17eafa6c38e278afa4d9c7978be905cdfad3250675aa8a794c09e89064dea1494497c0a14ee1889eca71d6ace2c1a91025404a1ff31754601999ae7fec3af7e22823b12af1675c52a6a84cacaef5e4fee47b9548e43d395087ee7c08fa93207b8facc20cbeedf47420560b7e2b9f2f4eb98dd5d9788e87982884589d6607e400247f561a24cb7500e88f3d634c5712aba3966570ed1c500e0dc0ca06fae8670c3c970db96d0a1e30dfcd37bd8ccd58c6b55bf6ca8572be4ebb58023baf0adfe1f0bf571432df47cd9727bf104a79580e94a089f0fe9aff3dc86fa96f78532dcd76864e4f37f942fabbea73f7aed38358224051f1f8f5d9fdd039ebede2b98142aaef7ed0b65f20c4cb7e343c4649bb8729627964995b161d94aad6864b94f2d3f673d40579c77c873ee0557d83009480901d59dba56a18e23d8b017e2b41df274b7254b9128b7d493f8bb05b411674578cebfa8efcd29c1cbd606de2df90b52654e49ec8c7b367fe2cbda17b3612332401a89c373e2b3a4e32d97bd024b71580ecd6bd8f407833865252898107aaec2d4070bf91b301768167aa04b35df8cf64aac8513cce9669f6a23fab72d07f67d34739e0f787356588fceeaaef07136610550821fa1a899d7d844fa98fab366f78a1c4eef97f9d2dd2fada78e6125e9164a364eed5eb2b20ed465c1e54256235826b9968ae06d313b609a24c4496d514781a112bfce90aa08890569af80cf39c1b2bdea2a3c41b9aa64386af265aa405c5ecb37594174ac7aa92be19a2a4d1413c972e33ecc6f61843b93a6269b294067a4f54ebcd4e2b1135fc6842d760e0daa9c8ae3dd477bf6272d9aafe49426a8b31b8e9392027949bd89d93dded323f771d50de6bd9de043eaf136031f5f0c7745e9ba0d00802fb4bf73c09f15afc0c5c9a9384edda13623fb4ab28134697a4c0be7eb1d35fd4d601fd63eebad9252b7a00e2858fbe9dc1c436469e76156ce94e550548875091c0f7cd4f26127e98deea4a40f57a8a5e9ccb8584ec624602ec0bb49e32e02aea235c0f368c0e6eecae38fac8db2f739f72d367616a73752e6f3905b3ef9e97f0bea33d7441b7f3b98f2ee1f5023602c77fa5f5632a69ccc6f718ded21a1e5b461bec9111cf2aa26b039aefdf11e20ac74480995dffe65b41de5e2e613d93560804ee707169f1480b6462f3bec4654927f77fe21d18b66f62378474b608a2e16abc368221bb7c3c46d435276d62ba0848304ff80baa61f4e2127bf0622e884b2965be24c839bc2cc4491ec334b6515717dda56de69c5fc9f7f8d0b3abe9fad21b6ffbad130f7df1926a1746a6178b4db7715055922ad870c2e402727b5808d4e20e0be74c7ae990dfdf7caf0468b84221ae98736b900f0aecfc00a25158cab0b5e2ec9fe77a7024ab52b2e0fc86ea603fe57d527d9e20fb61b98d2cb85f63992c66f1409687dfdb13280c0cc3c5318cdd49ababeb12c26f9a094ed0af6fe2c1bdcbf40fbcb1400c628049b0924e118bf823a84ed36f282bfb67df2fc321760e6bd45bf7effc9c2073de4dd44681573952049c134c73d3734dd1e4f0d59d6271c7d169cf1b5d0e8c5a7659c8431c48e100098e05a11ab7db21960d963e344402c786ddf6ea08c98f53357cbf17c17ad3a68768d07c0a0622f800c4dbf14d45f8c578ba9655f2f1a255202ade094b386e36305e0495e6ecdb434751d470e4628a58b9b4e609b7cce7ac839bcb67f83ec5dd38096806e3593dadcf3d46803ff6bd33bc39047d1705400785ad366e442fd67c6b5302ed88cdf64fded4e2a1760d20899088db03a83dc22a87d11921fbf60554ac90b89959eb1eeb3c978abb1dff2ccf84340318f6a05b6d0c63507c5b31f4e19d80522b445306049a392f12d1b552b4244db019a0b2bf5ee225c91241477c69c841e26f819115b121b820cd5a4d65610a8c4a9e41bb6d05fdbddad384e644ce10c3211a578f1cf129b9baac6748009ceebe6c4028844312b5e466e843b023cb37b6f6d5c07b73e5d9591f4b619f78dce2aef5d40c6740f3ac7dbf6a5b11d105ef111dcc424ce225e2f3a85f2690e6a2a9e1d94805d0bd29d0505d9a152c77b32e3484c4aade669eb621c23de67d39b5ad10d328ebf5e2dfee80458eefa5ce8f05f55bdf12577c00f82e64c1a436f610f06f56e0c1d42dbd4eac99f66e0ab0ff2933a111cc397cbdecbddafed074e4abf33d1427cde0916f55d7b2a5c1d47575a633d7f660ed36eb3fce450c8ff06890b9457dc010dbbe6012dbc4f3bf00aaf196203f0af0b0db230e6e7ab979586913afe3bac53e73cbfb57113395de8b7f54b9dd18d5f70f774a049b669ef5e2062afb606366c864b7cd4920f78a03a922493599abf6390e2ad594708d6ad04b7690bad819814b4a115cf8bb17e671eb6799c3bdf30d8fb4f88aa99070ebd9ec3c4fcbab50bb26ccb7b32919db1b14d379f92bcc0e0ed659f17d6c81f2f11cff2c42d830daad59cdcc5412bd3143e4608786c01586ae6fea50d631cdcce8955f602de39741787ffd58b6829edb7799266d61088cca10624e7b84ea6e02735a96951d92d7f99c06dd944fc6c08e34bcbb9a4428e94815fb83892f4f4b7ff0ed0dfec906b1bff6c8a070a13467564edb5619b8302e556208d9817010a667fcf0a895c15a7a39cd79b4e639418db7b2865391f9b38af7f6b62159e09063611db2fa80d48015fb0708324360484263be143e783ca927c54ea8be0e0b03140be0fdd858c7e1cc911db92c84ddfeb902a12c7fdbb92ff41820caa1bd89bb3f4d5709a3c84ac8cf17f45d8f30f8ea21cb1182cb22ea8a134b77303d721e49c2fd5aea4905ddbc46cfb7eae8e255dbb4ca034ee46fb89d766ab78836c084d119e1df6a995bb416ab66bebc3ccb3c4531c549b1f388c3c956e7f2cfea2e0c302debb488bdb9ea8f9c1a8b44077d5b52d4303dd92175be597b7e25c9a128c3542d5f14df2b2683af69744c952104475e9a99a43b7400958574876e2a5922dcc053871b806de1e443c070adfa3293d00f705bd8c48f41660b888226251fd6585d29b9bbac7f2d52ab0b57e17de81e1d1590f2ced2214d699567e6001de296d9790a08dd0ddf4b6bd2560336086a5aeb1eab89d369854916322ee05accf955420606ac4b71f27b0dd319ac2ab478f59a3c64ce6deea339d8ce88e3e92c994cc36e5e468be6eec81052f2eac2b23408f5af9c35e67df0f8d3e61918acbd757a575211da7c0bfb95bfcdeb94185ce5b1b3738d47d8b8c9c9c2f008bd9ab22ee473469e0b682f8a613b12fddcf57148aaefc0c8ded4f355f423e60f9d105742a570f657bf6af342438251fab9012d5965cbf97c040ac0789a5dace0e17babbd7a240b0f019f07113eb3f1a6246ae9d3996e291501b588ec2e980a058bacc2d52f90b09ca601e4f7e156e9d53b473bb85f40b0b6b80866bee0e7e9c6e7cafcc027c1f23c7baffef7c2f2138dd96d0da240597d37e79e881707eda87e3e19c75f9a301e6a8de729e8503af5c87fac8a699242579d9b3d37ee83ab75526d48293b4b4d9d51cb2f0b8db344d655a9945746c0050eb8692ea4bfad0e2197db3fda37503b15147171a5c0112095082b19d6ab453524b5ab4c7243e5d4ea9a0f822aeb25a7cc7846e84a168c5f5ad14a3dad279ab52f077414cb5c8cb09cb112e98b59350910286732ccb5c8e4fed15b8b79ba9c78c23bb149ace0ca733e709ec3b15f5da3d0ba1840981bf552807e153d06c0f79bd1eaf79e5bbe1712e3b72882e67ede437756c205924d5ee331ad266b21e0fd2162e9b2da6e6ed4cab5f81f409377bef8d321ec78223bc75d15b57e9f4e0206c288458c94ec42bd14576e4acd269070406f030095f816538d4f00b62aa984bb30963491fb4b47f222bbe616760dff8c39c98a0cc9601dff96b9d30b2e0980c6dc4f9d2d2b621393e9da250229d6abd2137887b39983bf42ede5e6cbb47d278171acaecf342c0a92d4890d31946a625611d737099ecbb2f6e3bd70e157fd35036b4b3a842d3c2a5f872687f7d7fabf35f6143cc05507cd11d6929e6f5419a39285cc728fe99e9d52bcde8dac39633f50e10055eb7839c0ece1e153cb436dd6a2bad073581468a431028831e511cbaca8b1a38588ac69a6f090e66d9f05091b7cf4e26b09e84763fac763d25e6e5dbe11149ca6324450f58f08589dedb45b471747facc806db8f75e0fd06c20723dcf9e2fa7ed5c170e6cceb4a1f3c69632f1c4764e31fe47310482584319f89600b481d6c08603b2f9b0223f8e19342a62919bd7b7cd7bdc78ffa3f45a975d42caf8b522c4f04095391392c655c93fcadb49504528cf046a01e83f4339ff9dc7193972bfac189aef8f46ef74afc7d9eb03bf139b1804dbf817f6a58714e1da57581a1bc18f74341ba82bda5566abb8752514d5c3de4700ce33e31534bb26c2d95105690d13c90ab61e6afecd49c3f527a588bcb1e0e15d09c75c3a8d90ce848f076ae72af115dbd450c543a39ee1fa16db00f246f79df9c10ff9b1f11326e39ce8b63118b6bb92f8ae0205f766b8b4d21bfb577c3d2289859d50ffd5a89bf8dee940831ac1144fe85d4b222c31e51cd01d6f79207150be1b1c719e0e4cbb6d5464660982d0b683e6f3996a978981b47935d00d8a59fed6e7c6f04bd0415152fc01d000ebe3d010717327cbf0ff2c0139f1de01819461271da8f30f8401b5c8f5a9da8e4ac3b3448047f4587082a6474faa88f35275c53a6977d9c27d18fbf6559083b463a0df5e168f817b4e5bef983153c5aa42ca1c93353f7e8074c7778e6e8960cf12d878adbbef36d03e7250e0350690721edff7e84a477760ab6b1652256654c41625f132a8f2c39bfe18b0ecf09e4247befee8517b10e28a305d7994f544febc92f68f492084d00b423359c6cd1fb5699b749a4e655eaa84fce8e667965c2d0ee8c32d1d2f9bba55d4376d3b9936823fb2e2257a648ffb1a57a78f59133a40d98bc56614e63c19f1646da503a7d11f0a8848b487a27bfccfc02c552d725987e0583cee36131d8d02f68794fc1137d69d8e12b5a85a4b7e2ccff193eefd31ee1f21b60e848974492d706363d3e5a2bd5e5cadb78a56a6c7b8669a797119a3fb892f99e4b1c0e80f8e6f9a9323de08810f6a54f6bca6ac1187c43c82a30a97b6f451cca7e4b431d685fbf731f8b1d43299f5ffb21633d46da12f15fd81a386073f7e249cb14a3e8e6b92f3721c3e2ba8014ad93465e311581311bf7268c189199d4677e55e9b5a400eb78e020543963bb1a2ab1b9a6d13e77eb43b4c71bbe8127956f1557a0d4d3daf677572647e9d0e9b48661b4ed778595cdf1a39da9d2e03392806048ce0935aa4dca7e906dd029227991186be72879a2ef307dc52c180282dcadb9afa3117462e6f6cad58a3aa13e2ccd3aa20d72145064c671358908c2f2a3eb030fc4e93189867e82436506733d480ff9e91ded265e55a72799f9d9e052b21caf8179816f030df7d0faa6844ef15f658198d64f760f12c878d265b0913798a070190812ddae5a9a7de89e89f1c1fa59c54ae58fc5beccb261677c95cce6ae14414e9864d7da4a3729344cdc8bbbc0fb0bcb99170bf4fd504cceac52ea5032c08daaad004f1b16c20dbc2a2c74e7e9c9417bc99b71497a0453a8a1b3d6b62e77534f9a53556cfd0460d3c89fb5e8b7a9a906dde54eaca45895ac2f40daec2981ccd60688dc8d92b0fe351989ca73d6aa849979226f7c6f7652408b250979815a24311f320dfe769e5be1e2cb581cb93e9f67eea9a5dd64965dcf6df14e0372d8a07947157d768f4b2733df375bb30c3bb8c7c990e3e125ce5b60a60827dd066632e77ca610c52734a443951e1d60e644e8d33db1becf033d5886bdf2840f0955a200b608cc0f6e1e0e65be56ddd3135a9fcee0a67a4e820f4b8f4ffd869cedf738adef0b93521eb0cdd658c4cc493bae3d7fd25fbd1ca5cce2415c777a79e905d4cfee670d5aab2cefaaf2b0acca415fc3e2d2306364749e7c25f8cc18f0f9ad8970f04f824bbaccf5f13e33f626f66048a35dc63673cf6e2c22e8c086fcc94b8c2e4636ca65c81b6d64fbb2d5a7de00a3f9ab2288834629134fced65acfdfa472de924744e56b975110113c2729e4727057999fc1375a372590528bdd2656d568f1a27896d931220c85b08a9036bddba201efe5ca759715aba3938cff832240ff951a81fa29710c06006848085bc230687f880eb3ec93324594a02a3695327526e27d58683293ed707fad5fb432dc1f235ff706bead4dc1bca4ccb9dea4c155cddb4b8219ab400b34ebb9d8ec01ee82d78c533ec42de7db71ad2457f07d32df4bef1c0b307820827c891a80867e00a4c4c6bd0e38ed6e914b606d5eed7f12489141ccc8a69ca53ce1b723b3b590b39c01cf2653807a92219b2bffe1edd5179088d0f7d7f8d9ce3a63c9473b8d2cafa8257f8a8dd6025e66f81b08e972276f3a3e22c0844c7cf8807396ebf21884798ac69c330bb692331afb6fe2185260329dac09c3da8cfe27ecf6d91ffd0f63954d203e06f6137997fc44f45ba05b4b711869725e62f98e047a392b802edad844b9a3b0c87398f3e88841e254e15575254500b6d6de276cb0687f86a09eb124d02858aedb998e07aa8d88440b92ad73a695c3b7d551a8563ba703a813d498d1851c82204008df1eee71c65b96f068562dfdef63847479e89b0d6bd18284f479fa077a16f406340c278ac3797dbee00579e5732ef871374e8c39a1d00e746324d99fe8b1d4f9dc620c45300c07a652b711eb9ed42801a9ebc222f464783dc1ad56c310a1f4e14dd296550c8c7430c0e27cc7489dd2c75c8319c43a0443d8247a4143e35c596eeb7ebc68f6f266ab80888253ef75ea81870897b74ff6370832cfe383402372ada6f0e30a936d9d34f30cec534cf12a9d3fc720324427adac9fbf8016a3eb7724ffbcbec3695899d001ff348975445ea58d02309c2b7a1210a16a24fa56d81e1021538e713893f00e561b809f6f333271f8001ec54a0c309e8655914afe15c4ee4a7203378d25b3270c975ade62ae843307857b965531701d2d89e700532e10edc746f686974bfd6b5b3833669c3817c024d1768b39826de5020c9253f13f18c591e89f1b81c31ae28f9b663407972fcfc3560414d4eba37c0a28e0a722bef91c3d6cdcbe6f0cd2b6a90a85318aeb63c2a8277393e55b8a60e09a9faa68ba39b4a7151bc745e60839cbc565e47b2a8f3e4a498026c45047c570ab15c875f193c68d07b19c57efccaa804507ab17fbb01769ba774e02ef1e3eeb883b0086bacc670604862473477bf4144367be33ab44d6f2cc23fc2e68f7492eb805c4be0cddb5417eb3fc4d1948e1ab7b63fd408a9ee7c8629150fdb03a350c8b6855cda2ce8bb267391db692bd265fbac512447f6088a0919abb7e8417a2278f4472526370887c79bfda9e030b68a43778ad2158f157d9c0baee75ff057e33b129c39a4e5e9ee7e24ca9ae38d60aedeeb4c31020a2f92b397a204b3f1c41a0d6e42ca3f4a4e4c1fcc183a3f08b09702372d068b2b506e90c3a95049f14dbc60e049c89d4025ce418d94622da8af0ac1e5974f3dfdbb867e93d5e55df64ab8ca0b60c6bf2d2f18aae21528b9c6c4249338fc7174904971efcb2f964e4f462708e55bdab46f54b1466bf0cd2344288ceaf26b648bdcb480341a0fa0956cf711a810d080df6f3224470f508aa9ba87de743c7ece04a6040bf90b6bd23db5be3b9e87daee29b217d08ec9264b4988cc982c11542d999f3cfb69ded1fb24745d2c2a5a61433a1afae1559f70468527e8470edf6df6475a9091ad616befe4897cfdf036ee947615337a1e3e81f723e6a10f6d418902c17d7395f4ae03b7997bc04dc9fe27ffaf08f13d4b6b22c6f2736fc9404607d72735f10bd06077c290e9a9dfc46fd93373ddd2170064b6e7f75b34705046b83addf6de3dc48d87181cba66a35bcf9bc5f2d2f07fead10f7dffe2716d7def9c70eb94fa055042c768a7bada461abfeb105b055b9ff4912e663e36a4f64b91db93392f80963ce185d8e22b36f8c62f7a6ecc2049140d56e0afa6534af6338d10c93b9849895e5e3f338e841feba6df31f610531fad96a2c548ed8fb1aeaf22755e0878f313b64fbf2f9ff94e7f8d7b367eccfcb38c8d735010823c3f94a751a573d6351e38df5a09096443e6d8e75b09f82f43849308e4ff0b1a4ca793a492892b1ffacc9a61c825b5d7f538746573ba109379b76f4eaf8d55fe0fb128fe6c9b4da12fc0887b37d4952de89e1b390157f85014c3c61c1457b60808eda3f4273cd90304c752dab925db0f59c8f0c0ec79662ba309ff2bd290bf20084ce7c11acfea26b8017cd75708c48c75e61f199ca2f827b5eab604d669593ea959d6867251057cf753420bc5d6ff403b0b43a911eb9cb4aaa5dc136a6da1dafa7123dabf5d265f53c864642faab8e444fb2aa20229eb491de7b48e2b6b28ddfa1a2fea11d90644a52c3b4171d5718e477374a19e39d466bde9f0d1eb8d5001b67f51256a438d1a23838943b7747b066e6fc994d032ea740212cdd4dafe28c4318f75b73565d25046033545874343b48327534463463b9b7e1410f78febb5ec923c6c1bc4bb97d8e70f6063159e484065f4c0697212a2af3cee6a10da834a280b0c66466fa96b4cdc9a70eaf1e1206bae0b8a3bedff1e6f03fa938398e143f4b7f391f912f83f8bb0c8fbac916299bb0462ba13ac42e8e6ba6dc156e8a5034deb2988f08ffce4accf1d8e612e818db619c9b55b52f0f4fda32ef013b480ce193ae193342ad06c60cff25154bbc1709710297e7dc42220da22f6d6356d24af2b7a066348b1d5ea71cb13cb7317fa26f08a5d9405389d27aedbab44f8833cfee0dd702dc316a1fb125e7670f8e71262f9e710019c4bb007983c36af4b9fdcc14e009a1543a4e97ae661d020b8ae3a20b90a35423ab6a7acb6bc1732ce6754d3549062ca646e41ff68c55d60cd9aaf47d8bf28cbc627cbc34f1a3af42701e93cacbb574d6649d9dd3efcdea2ade65357dc1776789fe88c55beb0b959ccfc0b5564aec973fa22bc89c6022c875890c586a6052f99dbce2db7c8123f37dafd969706179c8e2bdf98996ae3dfe88a0c6b12a409ab1a78304a3a62b45a2f53ad3bd0518047b2814baacbab96b650251920231795b304161f0569e9856e9c458f52f36063d3b9a76444172062c60df3836443220a136511871a8436dfb390557bb2d5150d763b6aa440968544fc63dcf715f37eed5d4b71281f284ddf74c1df73539cdea51d3346187eac2afc66c23d610162eaa5309e12ae66e9188b062a2ec6b23d39a6cb6f015f8f96d9c62fa7b2fb7a0387a3188232e7b76785a25a7e7f6f83c3f4ed7c5f079a25093d43e8ead7a9ded396e776526005989937d016c8c03b1fd226dc0983a025d43c59dcce2168ebfafb446c9f1e487fcf744f8dafc41982d1e1de20e2138e4f62b86d5a9b678c315a146410957be51078622446263d6973887ef1aa33645a4f7525a8e54bb21bd51256d71883b67cc232ce897a21a3a4f88a85d3da90eb7929a60ebc2c63f9e4d2295f9e5c78b9a24c8ac43eb101ae5107777f046fadb618adea97528c2e27e6b03a2feb749a31114becbf62e1253fd9df99f76063900338e3c2d4533b6e4558282a122b18833c4633e7517161b00e61625403579eba4a6fda9b306427aa35b9561929ca1a6ed7a15628ad6653880e6fe5e8cbfc114bdfd9cc617c226a60096dcd49364d849c2495abc886f5fdc2083d079e70ad5e3548bc70d1c3333cabab8f6e1271dbcf0facdd267ef943769748db6b21da5736b6089f1cf39e977da4d5a723651c2dae51185d5991c7e8689fbdbe2318810da61f927773e2b6a3b58b9781d9b1837896d3f7ea9413fa88b7d39a3cc0cdf295c7597fab29d40024bdd262f862717c9854d779e2da12044ba5f934c143c437436559ee3e9507be4b57f9f145a6952d645879b97a0244be856280dbb7e29c0a31f716e2cce2b83c1874848cf0538af3a3ffca9cea6c902277d4ef6993ad318a1f88b03bd6fe3115c5c6db3bae5d4298012151bdeee5c2bc1ac825eb308651f42cc612e4fdffc04fc3021e1e43f6c36f7e507273b77b9c15e844fe109115554b75642fa42895bf856dc25c741339f7efe8fb355b058b1b5554e18736c0a1a8707e00411ce2b508cf47b7305279228137ee513d892e28dae87bc115d05bf61514f60f091d6b7786ebb2f67d91db35a9474a802f333c3cd7dd64f80e537b76599e333169a446cebf7e0d662216c4522856569381f4f74cf4df56303c19b5f8a5a775c4b617a9e9836affebb84d4dd3e11cc3d02ee19a4bd12851cb7550cbcbe15cfb0a34cc59b361ac4a193f3261f9a78533db8d4f8f3a2549093f41ffae74d15791b9eec70206bbfb9d56d2aa727cb6cc6d459ca02493681678045eab1639477fd828211660f31ce9f7e5a772928536533c33f9440165f826f5fd2fe12c909bc59384519017b694c8411ca0a8866dfb8b5aa925c83017cb893a5882ad98ac27ddb115b6556dc5c717566f5f46234b9f49af912c5a8e9b9c3dd637e9c7a6381f80f95d77745df9b6bc4e211e4a07e3502c54063d5c4b3530393ebb6e92c3d14bde6d7d7d2b368d02de2d779957b913080d230dd149f7d3dd65c2b830f7a8b6051456bb56b045e7674b6e5393d2cc1bbc66a6db57bec55b1020c58a273fa1a96bb4414466c4cc9ebdb04e62f5a9c2f7db62908c3f0c4eee9d010bf307341433f125fa686e402c7d16d9f73708921e846a6234cc5f0e7acfa417c679c29a54babf08bc0cfe0933c58642575c5a1a510cf6bb4358959d8ca6f5fedcb61c6596a7646fdd7082fa63fc135d777bd968c4625e5c7e85864ea937cded94bb15ee572ed1ebebefa9d95e9ee60e0d9653023416ad1500e67b171b9f10c0965f9df16abd7dfabc1027f620e4b33e359b9ad381bfa76e4764aef7497d3c601ce6536eea229e2847227e1259bbe952d94ac2fc87b194940627ff14a7366c26e74d5860c00bb85801bb9e126478314bc2756ca3a75e4fb1d3a06c003fb889542fdbdc0d6defdd0a79425dc3d71fa9329b974434b4e8e89f34c25b250aef1cdb8138908f48d6bbcdf91c26df3bfe5b68f465c4d12f2555f7a6c1ba476021194e86b30c53c0d8fc2230f638b17e6a5bb791f1be3d971bb5a69fc4bfc59b40a2cb0f5ee1fa930b9acb47079f62c182b09261b1b4d6e50ee1c7d5ca57f3499d04be02aafdd8ef79a7ea0ce74843845144537bdb9a931b5e2e52fcf41b9aac699f9e3158a68011e98d77e54984be8cffb8b8a865010aa76522e009a108472db7421873ad9a5377ddf6770c3b81a65e52246ff62d979e04380bbff0e55590f47b52d8bb19f84f2958a7a729b0d2c87191a53f17a17c5e4de586333ae7ca9933e3391e9a79fd10c5397d14b6cf844a15357c08f2df10bd38dc94a32031647b73fe0e0f3ddaec06c7622072c71c4aa7363fb8e09da82849b5e19328ba21b1ae916fc185f2012b2ba92d8f1bdd62d18811c1ebc3f0c881ab8dc89a3e96dab0e5525302e6c9c9d419fc6fcb9ecf30e76283e4f70a991803df7e9ee0a3373b2a3944e2c6563b3269b2e16aa5cf4dfd0f5d1ef4ebcfb7c8037d8f859b4b7dc745bcc5b6184a413cd527cc222fd8a39145ca50b284ab638780541b73abc7aec2472279d8866b47a1cd4a66d434808c9d964a1d7f2f641e2072eb23a42c6458e8eb3c35b8ab674084614c8ac6028e65599b7a7d169b63567fdc28511399aa91618049afae1a2e98b9348505a8d52679f76c3a673eb09937e9eabe82f7f606bebf404bf26194cba3cb9af14adead3b5e931558e5bb9bdfaab8d6c2232b47b0be0a81ef7557bc8becb2543cb99a18ac02cf6b5c12c848e9394e465161dd088cbefd6cdaf166b1deef2744e2c4e1380301cede5aed7ee27b30e2031396ad77977515e1604487d733b92d22e95b7150a706a08bc4b21a9047312cb424e431177d28240121da9a9b53434c17b27950eb0d0d55aadff43520a6e1ee73841f7154dae17473b59bd8475418b278acb0b0ca7cae5a4f5940d01007a28221a378295390a495142e9024bc8c66f63894e9c0331100013fdf688d1053a36addb3d8299e318790acbbf55d5a4ef2aa0ea5d9ffd996387b1456c1565d92127c6eded6a6aa7ec8ab5b84b8ac19c03deeb8fab4ec3faba6ca394359f9fbe6c8dd8aac3de738c2eaa3fe0924033be0578a41b4576ce261014a9fed4d646293ed7a478ae39bcd57d3121b449589bdac5c2a3cb7c3da2cec9b4a8563e9a52641e018818e5121cd30157ec6c871e7c406d1da07187c79e6785636d1523dd8d5d0a990edd7eaf408fd009a47be4367dd2cb6509482cac02183cdab70a4d0ca7ad38aeae024d8c189dcf95260983fcffb5f3b569a7b1b1f02d9c49b44550528459f222c0b89996e44c8a039fcff2b8222a26cebad95dc2f87f184e2e387944d9a8f50696d3724845c6ba169747fa6dd8b49d40d0d86f5001445d5a408a94ff8b15103078baecf28ab71d7b91eed3eb53a9c4e8a02e145df4f35c0e4cb0a21eb31e91b61825960b488e5f17e35cf9d3da090edb8be5773c1f040e939dd6e16e949a60c03b5c9d6b75773f932bcdbb722bfeeb36a4595b0ffde38e8ef9ee3466dcc346cd24ce2566acb6d1b5c59bab4007816bbccd1939639fc24339bcf9461958c71fa7b368cc6ae4cce98bd02cd021daffa66762053707f5cacdf9756c17fef0b6405315ebc81f3ccef17979484d6ed88fa75ab7702994a9aa8a8b9fece13bbb6ea293a0a5bc0b6a47668c21ef1b686f69f9de0a89accacc8c67db273d39b62c57ebd28fc114907b9fc244fe3a0c17608a548874661677ab23a566abd0900591e053404decbd1a759ff5806642eea6062c3f4318b95d652fe9050c800cfd0679bc240d6370261502d6f6191b5a61409a05f44bc3fa34e5cdf799bc4f99dc60d6a2222fe0b602ea4961fcd6f310a5f414dc08535ac500bd679ba6bc6c61d508aad6b69b002c097a96955dc72ebfb6a58f58532d943af3fbbf511378a75ebc50d0d9abb3e61ef28b5bf76cd6386f328f64ee0dc0ff2f42c4df770b2cbf8695a7a51052b01dc9237c9e74cc124d62c3ac62d435d22ef33d92f190091d1c233bbaf7c1eae2cafb8c1ca881f47a935a5eb7e1e98f5d8ee2e357b612222e7bbdbdabe085d3b575f597b42833b0e6427e1c99ff2bba146545db60b760a791fb56bb8a2c9e3ca1059823ac0d8669f123d97cf09324a97339d584aa1253c6e18b8150a8f9dd86bdc2411cd2449f4d3a35b582fbfef2ce9adcf4eb70ac376d7ac1c6a0bf1109a2504c8f26c37dd8bfa336d6e19125862778d1d5338024cdcceb35eeeeee832e429144d9c971d891b023f180e010e62d8309471f6206c92404fefa26ad85427b263ea4b9bfcc5925056db110b3e0b25a8162862dc0cd1fa9955a2f8c5286ea3977d9545e430b8df39862ebb0927cf0e00431181752efd53eb33a983e5a270ff6c625a587b8980b889ece3ded36cf1af2eeb2edde6e35f29e913b9bda3bd8a217d4e2e12f022c278b5758e02e12980c62570638ee92a8e933d1f13a188c7482e6d91f9110aaa72f99139e144be6bb4b828e9cc4899b5aa645088db453bb5af4860872cddd4330db58e61c1ccd7f6867d7f7377842d05ed5ae9fee250861b52ade721f6c2eb283efa00c49e4f50ab7844a79fde25e81f284777c85b1da8422a0c3b17f5928663a62c804027c81b6d40862220e428fe2d0d7b616735b5f2b2bb68b731da6bc295473b12191f0d884975bbc08e751787fb9a4e482b6acbe6ba9e289ef78b5579750de4943eae82850d1bb7b5d33b481dc91ed5823df459091b0331ffded7faf7eb927075ea47d38bf82a7fdaf39b358f409a9023d1bd7dd972dc8f059bd923e4ae2e8f46f3249c8aaba55629d64ff44935b69b7f122f38312cacdca99c99601fa1f07866d051f3228b6823dd7a138f54b5e1cb87c9bf38e9254fbf2f08f55d0d5f39b64bf62ad1b01008990e6dedcc1b0b2d4692ccf3c1aaee11336ad1e28fe43879a8bee531fa2b0f5befd2ab634f10c41793141e494de761d3610f7c54896a8693ca60140c40c68de84dddd07d9cc580da0ef4af441892c70d964bf262bd1a2743e10e45fa4a3a485da6a71f962964e1026f9f41abc6801a03bc5c5eb25a25f4d79837808b7a84e3c382ed07b0b73b64b7faad731ebe08fb51c9cf910d2de6da9c982cc363f9cd92c88365c6a593ca19c1c9b1ac5c9a701e6ed5c15314b89c5e6d5f2a6910fe85614e6b8f1638a5b7fd83cb94b371119aa2d05a577a65fe1d1b00e49acc2f994d36f3f5c147f51cfcbbedaac4ee576fb55131ef7b681386d40e2bdd42b88b6ce6d6b1d87eae69fbb846bfaec43ddf8d720d3b81cd9e500b00153fe8b10ea26b1107d7cb4549637fbdb732a522e72de0607e56662c768a470ec95693842562699de93e7cf63d5063f4a33a23205358ec188024da604918ff06520429f8a6e1d7ec80eeed82119e8c1727c372f4d1bde514eb8c4c81fc614c800cb026cb2d7f14b37eb3cb8688365471c51dfa948df81cd28f01fadafdb888612fe8f5c4d04a1969b3b90cf73e7ebb64dc55c27dc9654c3af9abc13e7a9e359d71ecab4e58d3a68c3c07a4abec5d60e576d4bc1f9a38fcf35ac212f3a8e0fca062c2a8ccea9f1e92850eb3a8959b30148b6ef0e83f0e2f78654d8093148ffdde73d7f59e442e869a83a60f229a787dd8b9424b1926f984af1c4ce4504db6b86c6a561cd879d49cab036084650edf8f09095eabc7cce5b93aff427c6b3b1f038124c30739ba739a70a24bd1823ba99574f8d7ea0602131447a62fe0f6444ec2bb2a0d1075205434770c67e8005b5ca3a6c9d026befeef4acb9a32ea8937e9c6a0decd5934a324a6af360703967133a579ebeca13ffbb7189bf2248e4131e32756a9b412091a8de4ce4fbe0a034cf43bc36e979090107bb40389abdd07833b176da853f35a49ecdb86aad497203f93f92b6dae94fea349ff7c03bb0568cca9f1cbeb8bf87fa99fe4e35a89b36ff0a9bd2227f4df91a4cf528e491d67fff491a1741af144aa42e7dc381a59c7e1338ebc379e4d99d038c319d28e253b2c52f368f2e059c11bb7d319a37f1f204f229b31fa1eef94d60f91a22f320be315368845b7dcf51ceb03cfd12189610fd47de7ccf5b1b6b6f3fa1807e1394571f24ea3ffd31557f25061c2d5505d2a250a522433d25b051590c4fc064d172e3f5ad07cb7883623d5841324e7d8aacd8d250abc6390e9e570eae0c688be14b1a6dbfb807d9fd0efbdf723413f9354e4f0a3d35e0e8dad0c06517cc07783ae69b136d226b994e65686691f4f1b0dc55e7d228bdddd37818f4ac246afe6ae8abd4455cc810233d9596c1f5c8929dab8289600d2b3c795d656d41addd2bf54efe9f30b8219c89b1000a9dbdbc98169de01fdf752e519f652dd2b447f9516b9b5b081304afcbafff0a7743344a900cf4abbace1bbdb4b055ede4244c606e9f0e75529544e2907e1bb078f59f988118ee1f475fe2306507431424c5793321465d7fbcf66a1ad1c220aae4c80a9b31543102f2d36ab392b4c4e9ce0aa1b3bac18fcae553fd6cb9572798b07fb3d64631577adfc61d1863d75cc246cc0c37f863b7be345cfb8b9e4641bb943745e541215b105cf3b78c778fa4e05c6d77a49cffd0f46e5d3f1e21a95a7d8033066c2902b26ce0e36dbd9482d7ce29c67d2f2c2800073d54fbb6944722e78e4b91748d3db645fcd580369327a4865f4dee69bc77ccd22a7be69387be7ae4dcb3921e8dacc975a025d2ba5dfefe455f42c462ee6d33a5f2b7f5d93db000f3911f24a14152b0adaaa339dccfffd2742fac2ad8fe4ee86b3cad2614eea002559ebcfef318effc7d7eacad85f5860e49d33e8730a8ae964e96bc0e3137d582dd92e163185779b5b158bd9668c6c64a7cbd8467488b17a17a5117074447a183ebd0ea0a747d03d67e67e907e5dfa4c7f2efb886054353c3a44df3c39ca8be2049f1756ef3e22ca072d32d1d5eb4eeb5d163b6f7456d01dec6fa3ece8d5d273d7fcfa811e4d42d42dd020d02841a5b4e32136af9de5470dd64e5318eca69a43c40598414a627b7b74973e82e32430e8f1c6484ad05c9e17b1a645516d191a087d00519dcb05a09b38196608f820d3e44428b649f558ce47894177dd73efd74b7693ee8a84bdccd90433b6bf71c57c144d6d6014d6936af414f53ab8a38882194cf0c02ef3f581cdf4ccb9c112677f5447b4c625137e9ffd4db872d951ef959d53faef0ddd70388a94dbc8b7075ccb681b636e3fc1e6a2007f60c58313c26260faa5b931e8f37333dd0cceec44318c24067397fda0fcc12fd46dc737ccd770e0ce1d40f64f2dd6f8f37373b23b5200d26ade6f6747d13978a1a736b49f4e08ce50cf85dae9613e4652d83a386c9968e12984cc8cfdc514ce8f1c4f3b6d03848e3dd9234f14843f54a231fad45c507bcaefe021d45cf3cf9ae4ce6a68d7020e6566481231e8245ee046e554ac86de1bb3e8397d6adbb9d5c8d1dd1c347a392481c1cf81ab022aa6250e63e74bd783a3cb5a54b72cd2adbe4f09509a20dbdcd31a06286b0f20c238733f3094870b28f700694d21917b7e38c8ff2696a7256f089745b64fe4c20bbb204320a2dfd2e7cb731135d4b8225da625f8702dedd40bfaa8944f512eea9664a79d1c6a7ff8df3a20bbda32279b60c48b283dcf3876b7eb78eedc658c99f2a399fbedcdf38d42acb2aeb09e83fafd6f11afc403d481c934acaa3ef42d021949608c889db27433ad6365152d5b1d742ae8a1ea11b3b14229a18dd10aa707be6097a53404389a1996f1cbe1c4bfdcd6d78177d0546dc15e18572fc18262fcb109fc4c1f9b3dce898040bd4c65b8ac46074764b1eb1cf2cf4e74d64d6bd66f4c9c50ab2a355027724ee2cefc522f410ed0373757e1863f60d4fe033660f352418c9488f92908c5e39fb36b165e8af13c5040a67f351cc6ac6501c7b10b4add3d331abf4cdae61b2a8fca43a7dce122e73b35512e35926c12fe41ef34954d41599305d15f7473daa26755656815e4c7cb3918c604e0ec164440f471516fa355b59e34945d5c94c4544e1d724e7faa931f84bed76b20130dc43ddedf1a42fa6d321f41e0de12b152e9b9a2e062a38a08bf997dd1f88506e17f99c7586b2ff21e58b176054d9e55d5e0ba5dd6551f0e158a0d79d22b6a4cd974be53d9f2c904650ed456da57a88a5c5d0a1c1d4b3be1efafe20c67186dca3b19561220b200b9f1d6d50e34b69ce8fdb062b4d1cc1be3fc66a9b00e45aaefa469573ab1f54502d9f32c17048cf195e2d8100838cfcc6ba5885112d4b748d34495aac96cf52e623e7c43a83441f6e13cb273ea55ac12ffccf9be6e93d36353a7c3026286bda0b495b2cc0446f27da1c61522d7ec6c17bd2a16553f134303e7c34edee588f12307d17b2993204eb3c8115b2c19f483934088640f6d029089a5a29e3dd939499d46240f0c632b4121238d1da771b305c71b568e5989aaa15526b5b6795502f750c073b35bf4e63b6cc717825843a2525aeb5613983b2713cb9c98e26200fa678a7285d97907b3a7ee2a17227cd9db207e0451f21655ca2ea771d0ec4b00872750388d9a388c0e98d1da21522faa12558ec14ce5871b3e989b311d6e9362c25b01b9e2697d7cf409694c9c94390b6eff9f6c118b7f213c4f8faf4887000b278678e1941ee3703374c44b6bcd04e18f73982e1a59ba71bfc8b9d9475f3d1cafe23e06e2a1a9e677a88faac7f78756ab2cc2db20a5142dd2954a885c86d643d8aed1d8ab2db2893f3f51e3dfdf7413a63553587dec278d18b94e2d4f744abc6d24f7657563b66b89a20146fd75120131b7eae88bdb997d8b47f6cec96143d115ca90b5680daad389d2bf01f70c13d02f602a913d936e13382674d8b1526ec3dc726e1e564e19442d250a7dd2ac412d35bb0515f31f5d0a20ca01b82fdaa6b2b7fa9648e9a7604a7a0bb0b067640d02cb036bdf1cce72a9097ef2b4d3ed0f4c311974ef016aabc5f7a6397703c3ce82aa266d3d1e77f04966ff5a18b9068d8a334a2e5111fa1ad20d50a762aec728a9fdab79d9fa0010d6267d548d7b550ab5d6dd383768fc89d0b0f09c6554fa606f325790b273288974e45d4a95a2d05193fe3db33400742901435bf7b0f94fafa4e79749042d06e755cbc0cca7d5c5d632edeae09c1de2e658bfd2f743a7c0794fc8faceca644b7c137de4ad95288ccace8c884fea316568fed139e6c5af795c2a559802b9196a77b74c68ab09eef7835aae98da0ff4aa65872f6de57f06bdb56d3ef37527de972a03fc884707b01f44da1a70f218914e25b6a2490b3f9962d2aa7859144eb73e7431c299d9cafe9de6d013a6e565e06996a108f5d724ad691529cbf89424464127cba14b9e825dc0a6c7de47b539b5266f73e8f91230dbd35c71221950f1f84308daea3bbefdf19e96c902ea9d6e6062d7492236bc17433b8f3269b262a3b5350ec7ae2a6245ff1c8b59c4657432c577fa18355c3820abce3837610cc1c1e2b7edaeedef8b793f101fb44f2b4bbe2dfe522ef8c18284c542dbc603ffa61b25dfdc1e26dd2fe8f09a11a28e3d7bf81289b9e1a4cfa0270aafa8a713cbd46c18be5278babe7d15b292e4239d81a3995ff453d72c61d01d847079d59c3ca2593633964dd6a3c22079ad26560f8be65b447aaaee435c42d0272ae6dd058d1308580b8bd13ddf52627b370fbbd8dcd4f943c50681993d2aaa8e2d38e7395193224ff102320bb8fcb622d5bc0dbf735bff10cdc28a31107cb0483c137ba85839dffa2cd880c95498ac065346c6cf3b6bb32e4d972e21b645198bc732c39d7b09c735309c6ebe386ae0ccb65343083a83be66ded406c2882999cef3f57ae3294f1331110128a6c15b7c09b0a2b1e91328f4aa5566a7d74b2b29ecfe134a79f0861852d041f1e497aaa4730d6e759b152807697d76d22c99f1d0199695692eaeb50d1e6992b3f408196e909f7f8c21e4dfc518d084a854eb437f635420c05c396cf681819db5a615134943c6f40af5cf0063b3b98a5b451ceab4bf0267c28b65883c41e2e03cbbb840858f264621114ef7d8fcb18dace32fe611bc6ad16c995ab46a50bec43df3772a1dad0b5f7856830c9e9e475933d50db73165077d06056cd3b9488f52b4aa6867e1cf4c478210582e92033f14abbe5a737f7a191d0580873752ecf0167999782ad964248d9c6ef89202a0f649fac19de7d82b29c7de2ce6ae70d911a16536c244ee85ca53d210e504fecd92206b009ec8de39457894659f51a89c6c55856955dd77cdca115e6a566f8839fca92137d5641fa828e292197c3822f3b66133ab71c15752d2026e4aa0823561704e5eaa545c185e79ae6085c649c56bcddaa59fb4129a6fb9eec47721393a85e83c43881504871ed8dcadd7c112ff548ace01b853ebbfc645627078f26de55007759414f8c0337eecbb7d6a120445a2b8e61403f4439cf0bf073bc0d36ce1ed475a57104554688617c5529e383589090d074ce35829830eb24ea4586c54f09deabe4771c6d8dca7fa43c00066132d4a5d2551d06c4802f7f9dcb24e497466fb9c65fecfdd14de783c8e8267e7ee006e24d382dad8052025c90d115e4c0c04be0fcd8ba5e04669163411a7778d31c17879c94cc20ddf1527debca597ece12bca94fb2ae178054c36d5d002acf8f556cb6dbc3fd3bbed8b84be1b6dd0c224d7286741dfe247a8a77e5aede761deaea548950d9e085ad9d6607490b2c8a97527899b62e7341125dd9a3c9b4fe1e6cc89ba3d4e4b1aeff0044b0758e8747badb9181d957632e12e59dbc8e714a4d5049178b4a78f881c35212333591ef8b2454b732c2d86defa54e00565d1bf06c6ff62c6557b2f415b4cfcb4d242231f33c6148c10c27fab9175244303fe6bfa5c96df5fd4de26e5495009dca447c73fecf4d5b3187fecaa21e895d392291ce4eeae47dcad0958cf90d31bd79d24c6d9a8117cd15377002956d540156d64449b27f1dc2ab8d5494f33d26ca68242ef7338b9777c1bdda10ed04a4e82838a1f308262cfc6c08f8c00c0c1d79f07f17d8d8e0c1fe2807473dad2f971db88d75bf000764dd853a4d2c5566071b0cf8311d24e85febad64919456972a04098a73847ef42b1e3531c842756253c28064ccff8d86311826e62d9038d869327fa36a5defa747d85990697530e51323ce627df09c29b926554e3a10b762254dfd38343a06b5509d66a0bac873eb8a66bbd9c8132817b58de47abdcbcb1e6cf392128f208512744dbe00f441064119f16bca169e56b1c574dd772973b9f30bad3357fbe6e5838d9d2f8f15f218373ac204ee89afbf46520e8527ea325506564ed62bc5ef35de2626ede377b834ce02e1b1b986c54816df9f5fa8961fd796c2f137c87dffd2a9c1c870121b1a952797b10cebb5d0ce46637801805b161faa1c32949954de4f9e38192c2967937a7f5dbed70431a7ea6ebe7c662fe48cd0178c2b2f4095006ef8e6628ff195baac1bfc1dc6817671ca272ada83bd0c49293b5ac8935e0f90a3958c08bdd265a8fdab467bfa610deb2c4a4d588e3b8d48d7ad16f4e6bc11dd44506870d3893f5fa4aad8ea8ab453cf9254f34a6ff6f3900492bc00e8dd0a938631ad0b5ebaece74ade3be28d5b55666af3a606791e04ea1d6a4e31f2837e0c562dc1472f9a1c42dda74878cf45726a5dc821e1f295ffe64b1472b85d0d64f31334fe542b4e591821be1c526bbedccd927be5ae892abb21d52950cd9a88ab320968783085a7fe610468aa337437e145a83b956a087deda25c0919d4ea55f93e774658b95e8c2ab982c1c6aa9e5fcd2322ff7be58f45fb42c0bc0206d73cde9b2caff7fc5eaf71f15935f6c956878d2b6c56ac7811afe13ace707b3d18822ac983357fd6569de8869e86981d366a08d39d7d6412e18f13bf1e2b2a41ba76a714001bec154fd5035661a8480263381f82c7f551aa13ec19517e9f4afe0ec1c5a8a0a2cd8b86711f8a146a898ef74b4f077974397cc32257d38cc3e4363400ee4e96d59ed7aeb5d9d101547aae86c286e741933a0e599d9a25150d3287060bdb2464ec1888aafc07bbb8d8d733a2c5928bb0d5851f70d84b29238e7fc54c7328f7e7ad608c1bbaad241a8dbff56d9412b6e6d837ae8964d913b793a0f06c8484ae72a8afaceb527a1e5b1348cd27053c1fbf4a76f486b6ef1fcca53a948b7d8428deab9783102307ed5d7b04e6712950c667dba67be4ae1b7a57e3ed1f866895bb3a5b6b539638c3c850ceb65b947062aa98c9c986207e643e7a12cffddbb0049f9e0a1297c8a8a92bf6ac9f0615e8abbc22678ebf2b7747cf2c79ccd8b16c4aa60af6bf87032606aea2b582f312d29c981b1051fd4ad4e43ef46380a0babcece397ee2d82e08581ad4e1beb04d028705920db5eb5e7cd2db485655e62bd29f0c73d9aca0e8403e7339cf79ce0a5210242b9028a4f5a2768b9ec5a57420c935a5b7b999a47e360849117d85fa3094c95ce5a96854ba50849a055ea1703dfdc87342fbeadc8fed8b26a2d7ad6c3295a4fdb7358550359d4d82a3bc4390d687f5e904b2c338c70511fd4c3632a34a861469335be67df0a9f0120cab8f4ec0bc49bd1db67a22907cdab961f61f55d297fed3fed2298374af5957e729b7c26756867d4ed55a1eea1d269205e2b20ac8e25b5d081a986ad0973e157bab9e539b9ac6d222ffc3d606d2f2197a607b4de94208966202745d635e6b1089fff2e1f672308b5cae54d7ce7cd4b97741839c238e0f0a526c0afe18c310291a0687adc3b175acf6d6e927e2ace7a26d244ec38e9705d03ccc06256d059a3366371e2116de8357c8e212ab795c8a23b0308b4dcf7035e91a01c33ddf404920e023e19ddfc1f5186ca7dbbce0be37e746600e3dd02a270264aa3c5e6f01701d6b8f118f516308c3c50ba5f6ec177156135d5aba668a1b375e6923a71eed29c2bb624d7576e0ccccecfee04fdc2bf4ce8189bc892912bdec44901fd22ced1153bf7002adf0186318b8e58c61888167a8b4a5122e9a8cf9185daf1f461c8271b8f956e495a1657ca3feb83fbc755bed0d606308b670bd08cc34e5197008a9b81b28a6f109223152c77fffdb8b4aad39b94cfb963e7f827769fdd9849c7b84fca125b13111eb6649f238a0cf31eb1470b01de7825290f82ecc0d5ac282946bb9a9c3df14330c09347105e0716622bcb683b6e36216ae4216e72d58e1068bccec2264cb17d7016ed799ed26997becb493a7ace94cb77f1996aaa43d640c003d6e6dce485a69203890c8f7bfe06551fe12af813dd2d8afc65aebacc3ec005f2ea569f79b652b9eacbfe40fe70eb4f73b920a1ef3cca362bf4243dd84486e67f18c57fbd97384573baa8445207900c1e20b7034c90e2ae84de1672d017d53aa42ad76b728f72fe674115fd00b599ec01d8f6e033ccfa074d14b9c634120d74a5211915339337d6e99216472bb6ac7fae40ecd33a2abc693b1baa6c37f3a619e16a7a42e0fc8c829543cef7ffb201d00d3e6885f8f9161c4bd8994c879085f9a46cf1d13edea5620d8749dfcbac693f9a1659f383045561f2dfd88ac8f964ef57530d372000b0e4a09cc82208fd8c88cf7717c59dacebecb688b508ca65fada8398969935f6f0ba8c1dd571cfc72899158fe92636b5891150b0c6bc8a94ca88c256f063f7c3104bfde28b563b8336610934cc4e454ac805b10a39d0d06da06dc04b35e462b8afebca626f003076911fee076fd65e641f6f4cf4a2c0446a1768366b78ecbd9a22e5573ee02a33241d72236baf070aa26f39863b6f733a34ab4cdf652b184253d6f10e66dd0a4d6be99fa36bbe6e17c337b7f8b4ba59ecc4b5550a71a285d0ae1aa0aed75359d29d9eacf62e7144e94e6071da5f5b0689c2338dfc34475c436f18b460834dfce13d69546568d06ce4150600a3689ca1b626b7c430a3b4c63b1290413467eb9eb2edba5dd1f66e800b4bfb604767aba2e10ca0bcb5c54aa096aecb81a6fafbc199644b7f6c491a6d70ee2c9ecb3829fdaff17d5c805c03380e33e77b16e1193372b0dca4b420795517b3203568fe2822d4146d896d5b0ace155378ebef2eb811dc601ff85893832070cc593dd36381095f26bcd2883cb692d86f500b84a6001d938a3805db0025b5dcc0249873806991d75b35d7bd2f378ca2acea178cffc71515e6b5246a7bfd8c277aa5734da4ba57c443ba4580c21a3cccbc072e25fb690d5fa2a902703c279ddc6fa4d60e8e54f96b6d5d55a014ddbd9a321e5efdc5806d03bc4fb17c589881828b21135aff73690c392d0f61b8003d6e86080000fa55f375c9ac4a10e3cdd4232c3157256b1cd9f20c123be3d7a428981149993270ed2bbbdebe537a7908bb3e053f6d75e3d0c17dd0ce8d374070a00e503be0c1b3557bb7d2f23d964b6a155a6878cf4a574c0e7db3764033a8be134566a5344dbb80ae51012b2025355aae96d4ee72b247f66a5a90666a0b5ab27ed96a70b871e835d4e84c5fe81f8671778f6343d9d730b25561ad5df119aa9fdfd0397a311e7a424483ea9d49195c3b6fc8b8f866e7dfa8b8f96d4272a972e625ca8419d6ff2b163a54441c5abf12a65b3cd24e6cb3e8e98f41ae1daa4461e74b8200079d2ee3100e34b93d389ebb07f2be28369cafd8012a103b6cc024c474cacfd98673733c78812aea978e76816c278cb0c6777be6fb8ac7b4dec3b4388f0df70f501e7636a04ea49f6adcd3fb5684e76b53bc84bcbcea18addfdd0ce8aebfa74708492aa27b2ab504da2866f9e331d031b601c229fb763ad1f09029779372f9be783fead199d03d219626c4b72b2b716c8cfb139583f14aa4a556e2e579aadc46a8a2495f4c148df18e34ca2dd69a8502328428c18b93b2ed61b8ece3da7ba1953588fd355fdf4cd383c821847bc97c635c41fc6bc30753efd49feb32824a0eb72a1fe124b8542f58185c079f8e4ec5918c7fb669f29fc6fc2477e9a0e8552133d6a221bd0acace99e307ba41605f968830018448a9d4a19613b2c126ab87261c8ac55bd3983937157eef3da4f24cc2120d9571ff0c365451bb6dd027b1c5f0141c008d4b28ddf8882ee6f5a0d640f8ae901df63dc43d833ddcb17b5ea4f561a719af7d623c781ba06ab22677bd027a800359f649707b99430096fcc34c2e89f96e6f7144cf65abfb98accba2a0756eb551f4838f83260003fb5dad713978fc88c48424caddaba19846470edd93868fc07f1bc94e8c19a30538ab77b96bb3591df44a9f487af04b0dd6f25206a5f074c1a3a0187cc6207bc27167a8720bce86ebedf700a81eea515ad7d9e9b808b000efcd6bcce51b536b4d45989f823c8d84d1a538da96739413d8d1824bcb591775264c9b931f7c0b10f504434d20f8f00f76d0007a6caed1461f38962d12c74ea1e8e21fc6a54256e205750a7d68595bb526fdf9104db048c9cf4958f81ccc007685a5362b9bf1e2c6c4e361f93c3401c2a8444ab83ff5eda4f8c839799f07aad853c748db51c386df3ac7153306bf9807c13fe848e146fddfebd23368d4a949a4613b0ca7597ecc2f5130e71982b94cbed6bb63ca9e4139cbdf1b4d61c0cda293c439b3b5d91dbea8a5acc1fc06ec8f5e642beebeb9f8ca770a29004b272b45a18ef4259d0da8777d897c480003e31d0fe3b1eb1459b954853f9823b766d3c41bd8565a8b2c2a1bfb648e16ba70d45862f3ec410f62c9251584ab556feaee557f8d6c4b12ad2f86c0f6910d44633bd6546a3c1f393120d536b297bf9f26c108a59d7e4de893d69492bf081938b330179ceb3d0a3405fb0e18f5afcee9ec6fe3bc95e86c1eb7ee45cb6842b350a262abe772a25723600fa8179c08cc372cd59452b139d5e304e3fb0a44f9bc733c8d532b6e3642aa8f16cde3a6ff40a492cd4ddea74426eda7ac10dba26d6539a0464d93ff62a73b7f84dc9db14afb4d9e1be55107b38748a6b1354e241eda4cd2ef2c6ae6b77addddd843d4e08ceb0d2dac6b9d3d344816a66dd8f94e70ba017e05fa2861768345c39e767db7debc0a609969f777dfc09e239e6cf16b8d3773506acc765edf72a24c6bfa031f518735f24e4972cfda4031b7ab276aca4adf7b117a4f02e5e4440f78066fa73e16dabe2d8f5f26383406fbcc9a45a4f4a885693126598139c19d007cb67b4033a0b6b9422395db7a3a2ebe0d061e4c0aed328da3466c359df06a804b6b6ee1e13a1ffa7925e20a566641d575530a56a3d5433f580dde634b18ebeca8c8ec394be3301af83c73a4d9e47408e74336db2bfe94a02fbd745fcdfa6a97aea916205d1bc4e6a2d60606496a075d8d262e4493532d33ad43d66bf116a27ebbeb573848611275ec935e81f52be1094396bacef3a641545ba59251577e130109c41a80a21725b5c73af969ff572448b9b9b700ea334495d7accbb807eb2e5e55dc45596e9d85f74dd45f15b8fc63e31508fa1a2e4b0ac94f2445ca217fbe99f8e191879696d5522ab10359e3401613411a5d10fae2be333a51ef30785850da00b0cc965e030db08edbc7596744cbd20129ccaaa99f45c81b11ef6a35cb984706e10650fabefda7a7f4526ddf2930096c99e23fee52e84b03e286e9b94c74d70bcacd161374076fd6e46039c455d024cba8b45664332d8c8c01e916e95e1b6cb24196c56ba2468124c1f12c8c4a55e7e149ef6fabb6a83b93069b75036d214b4daa873389de84a7fa4b8229c4bd4c6f748310197bfc97d439b7620ba60356f6d5069856d59402956035a1e7e1900f9fc9bf8380a7df865a075e0f13af6608c47410079978e162af16007d3e5d41eb7ba8959a34b27057b0813378b7d86986f2278f5eab59328bb54acc1bd3004c134d7fa60a3dcad754ac6ea0cf8d2d71544dec8cf7b7fff17562e04f4518bf6bce0154a9b93955fccab98adcc1b7aeaa443ce5b607907ec96b02469d7199e8abe20eff1cbabb3b99dfed4ae8c48a7eb4b5eca4041cfa4897e606e6dce57a21b6162690259b9020e2f07eb974294eb203619e1d7a72248f68abf5203621e5c959132e870e43d3725187f498a596f1c9eea8913e3f92e4f30631a344eeff115dd28f3c35b72de3501972a12a2a274863422d715467b612d33c938d61ed3ec3e802b7d1b83037176f411fd9c227b2b7cf613a123ac590ab61d72c65509be9a466ae23e5284d80f339fb6c7f9fea50e031120b02326f24971be06563e2e49a17340ae80e58a71369e1f7b0248bb38fa896c5e93eeb874ebcc1834668a508e6176bfdcdfb2f33f62be44024395b39a82b81f03d75daa43c86dd77104617c8961e96f7362aa5acc4dff82812a3ef6c4673b83041ed7a8528797d80a018310cb2310e16430d3806592f7973d9692c94f4eb933aeb30ea12cb581364d8f27cd7e605d8a607f0f23e4a89e765157eb39737f100ad84e0418ccc47f1e4c239377d6a9849c54920499fea0935cdd55901854f105fd557f776f5660db72a2fd5f62171cff24c87190c443971c399e6491351e6a2e6668e5193bfb389efe41aef428d42dd6a2b72dbf2f5ce14b561fd13d912d9e3820e2158c6e21dee7803dc324ea0144030f1af9ea34f072623126c9bff05e8cbad8cdc74311492bce45127491d8965cb340214f7cc636baea6586ca15e2326e0a416e7d2603177bd1d75f22a7822b0db20d43bade3a8c4bb9e56cb2bd6e056744f38c290800c0ac2bf4870826d17172c75bcef68fa880fc7eba414644bdd7e8292030b1384a858c1332c10186e118ee40bf7fadeceb5a29fc9ad6aa3d565298ea572e3d6e0a0ec0ff05d9499be8076ac9e34b51d83a99cd3248fd54836cd79bd835057832d6122acd9c378aa00a7b8fd0f9d8a5ec2b6f7b685fabfe3c42e2a9ec123ff1c8ae6772a174e29f972efdd093631f911749b40a72df8cbb68d5064c44c0cb52d82538fa607583c11a9dc7518ce3fe3a5bf2d100dcee8a81a49c4c36d2ca4b9a16d7eedd8797fb0283b3fd10d5bae498d3d092a42017ac8e0d5cc87f83f8eca426b97a5450867f069ed31ebd678c7c668ceefcfe0d3a13453d8202220f43ffcbd4b68efe602bc2b18ab727289ad0ecc91ce28d46511f23754cd0b9dcb709677dba35c5fbdd9ea555d89ada7b417616e8fdc6421dfbf69a0af45cd28a8be0a1c10bc96477715fdf28a961b9c358d0acc7b182ffe7ba6c61b622230215e9906a3de37a796cb655927e76d91be29dc52b2413523356418377a1550e38968ffd258fcd0847f250a64719daafb28e3eeb212a32517658c2ca3eb4270bf5a60169f663132e1b37f8b5a383ba22cd99f7a4146ac0fa43bb5a32b8baf26f407cf39408a3d0d31946e0a9fa1d9491fc17a0fe61c747f01e64e97b38217b0e4a9250c34b55e6679109b9197223943ea1f0d88ac252ee89e37cab766c0e47a8dde98a0fef4a282e8262fe4ed168e668ae04c57a92e9908280f7acb5e35bf99d089bdd1c9546fab14d623ae18ae7b7e9ab146ed4f9dc6a8ba0a58ef72ba71a2c0c8800d6c24fbdddae709510b82fb8a35f5dd6313d8893e9ebe57081615631aafd88847913c03b1124d8e02f65eaf376a7e15c697c984ac381c8db3643711e056163e6f8f7658ff968798b72bdb685a1aa62ef9aa06be749cc0e674c357d578151f4fbc6ae509244df895ec874075e5ad35b6aff709ca47afb1825a0e362ba21a9ba524d56dbceef7b3cc490401e8a7213395d464de134f831bcce1fe8aa15ce5f740235295e43e05e3f7be42f926f0ac392556bc0e7f8fb1f741096f3e567b1870991100065cb1968f53862aa569035fc7c783fa414c9b900b8231a741eac120f29c0155df3ed1bfb7c5063fb0f754ddc436fd60780185ff2023d6c7c7a53ede51bd2475cfc798eea0e194a8341cd2c7ba1b66abfee6ca5dfa8996d2c89821108dc009af4ef0678fb5556ca154115f54a8271b1f50b552fd1a93757e8879f54b115e03ee0200b878d71cb81bb961fea8a703b311f967ae27625283268fc3de1c5389b2294da298b53ab0c2af5b2e3e6df35af96ed6e080114716cbfce2ce45b2407fc31130760c7979c45b4df3322aee77298a3e113634099baaf9070ac23f2e7b0d6c1beb7c81caa0905219953ef540e1c37abb88da91cdcbcb67cff667cda11fb5d081cf8f9f8bd1915cfbfea6693a1fd881c0e1e24e9a7d6682df1c495d62fa17082c77d37a6e5d58d0fef9f1eb32baeac35326b29ab2473a7987b8f93c122c9678e00f6d42bac56af091a67490480744a361d62b5cab100eabbaebe9b9fb356c880c1a00f75a3e9851ffe1516840aa1fc9546ceb009c0c54fb3268bb5cb17e1c3a276c85967dd844b3dae8678efce5027dfc641aae8cda56a1bea4dfed2c21a783af4d5d1b93b459994c6aa7e9f069e60a92c0c962dfef13a66dddf7d34924a011957bbe6c2b670f4406a054fe49bf192966d01586072d6289f53eae46e745d0c670f62285e04cf6457415ea2c1681295a9a39430265c3f3e0e45d7bbb20785d75f9acaf6ca417c40c996e048126a063fff745c282ad1150671fb768e7bc43ec70252e96f8f80c1c2c30ccb012d496ffa2c245a5d1c1b9d335c563dffb23b0bc6587ec7604668a434c17f912a5b63d6b28ba5581c9cc496b3cd7ed5d35df4dcd770f6daf7fb40e154cca36ec45bbccfb60ffa9979d0ee447f925dee65f030bbd6b0c4f00ce5e7658971192da242a9d11f89347ec36422d1133b2bc55e8d8bc488d831cc85e4f93ac6d495c6cd8e874e40f4bc5f6cc40e927f14d2c5317f2b63099ec59bb17933f76be3ee340d80e06d674ef89f631b941023521b2b6e2f3d15faf8c787e7ed25ca1779981d29f5f880e654d3ca8eb065222f9ef5d4cd1e20ce79bdd94cd783f7dd8f93b22939ce045865490a73d7c0adf917c9ba1148a89c3fd16b2225dfae5e48aed7751d218134cc7bb2a751607038f788a80271c9308a03695505f1a16aa4992096307707961734759cd2ec6a42e80341ae2af74ce753757bff18796ae0ba57117995ee302d5204c2a05763972479a06247ced328cc3dfdebe1b74b411ec88964671211e982c7d3d26dd687c49ad8bff88cadabe399d44f9f155a15c31688e0921c994de3c5a09633d7474cbdded6aab4ab12496b93009d74143f01d38bd2ff823494a9bbea16fba02181474144d36f71dd2f0e25f02ccc5e69955ac74c03de64b6f92c5cfdef561efa8c6758a087513661a69edf2a6e5bce668644f70ad58b98d759ea44aca29ce4c287e5b079c3351538915a09cab430acd69e62c511eba86991a0b86723a81fceefbf6c5a8f0dbf99a2f20b71e1692fc20873d4c4988df4f468c46db2fefa5d4020bc522dfeeaf56d260b7e0e6415d3ce381ea276121b4a3de0f828077d713757293537c1d101359085a443a8651ea7cff5c234a56866e59a03ff95da011ed5692701a7c033df26b5c9f437230854d3f2587130d058bdc18207784ba8f0817443cd6f2f0c5ea03435497544eb24f9c8a7a6618d18cae215f9dde6126dddc6beea8f149eb0ef15d7cfc437bd427d768c8ad4bc6e57fa11d21781f89bd21a30be30e8f55ab58df0af483136fe61d3fe992f88c39e299d8d69eabf00ce55f0fcfac0ae8e1f4c4de239642e129bd1a3121759cf8c9605f9ca0bd73b9b5d15699a7c7c59a323961ec6a2302ea77a7b32541dd293cb386c3b3df25d180e67ac7028956e25c90f6aac5bd957c417b4f9a0d51feb4c43122e6c14548759333b443027a685d15601a6673267724bd8c7b514efa2c0c98e55dc8c13f999e8e1dad9be20951a73d01e3db3dd52635719e176d42ddc81a3ea9bf77136d2178f2cbad66bcdb850b48844600f7ea895e18c5010b9ce1386eea55a86c560895a2c0c68a3ce9d41231b23958a833b12d6cec8dfe6cc45e22b649c9bac3b3ff2c3a5b2a34cb6580eb49fbb1bda8422e106260fae5a1aefe1a2b03c1255fe1fc7c4047a9388ea174af4c3dad69dcf20f6c7049478d2681b8453f1c22732554a0ccf6661ba5ac971cce19fa7bb110f837cd024a598e6ef630a27bf8d798537f29d1df325b6552deee8ba6ab6316f9be506960ca50eafb06c840eea2cefe367a82c60a304f121549f55f2afbaf12c5dd6ce4d5fc5b615de0be674758133c4ed97e9796270c3cbb441291ab82bee68f1025ad002e1af59d8127300f76c442da1d7914e5f27aba5b90c981cc0a33383c07823d8056c4e95d83adaf324f802c84d44a5ab2f104e5fdc5ce5d2f875e37a37f945e90210159520f8c047b6345dd5b23e04a7873ef0a98193f7f6661a978a4f93611395fda48e1eb997dd0669ef0c32df209d3d0b5183d78071d8423aa89b198b4c75ce041d38757a973fecda00f52c264f07f3b6937cd77a045c026010c86cfb8cae1acc3110ec7627e8e4ae84fcfed644cd6aa9b2b43ec12a7fb75031c624df0b1fdba97b3f926bf5fdba02219bb30fef0bafa1bb9672e7e31489fa945774948aaf39c4b5325fe3899c10c28767b2b1fa183af7c78604118f7379201298da17e8dc5df13a8b391d65c9c888b9e3cc8c00cc86fed4b668afb46c71dd94a00b83660b5589fa5e1495e44ee8c892c6ac17b033162246c23467f2bfc3cbf45c2f359c3310446f9477c4a6179ac074a895c9559aaffc7d0e448d51f277a696a405eba08cdfc4e2677779050abd97746fa33ca146884caf5653cc3188f075548e91334e7cfb1976e34e52c6117ed6bf133933a58e7199668956f52fa01338a31d5ea61e69463ffb56ae59ee9a5f38c74975c36ebdaad39fc82af2af60919a87a9f25722436bd5977cc7701c0bacbb6259755ee5ddbb70ad3adb82620c233faecb999baea17b3b22ce27b6fe54f5b069e78d551b6a461a69ab84fc36defca480240bf7c6d2584311c299322359eeadd35a80bdcba1de54209a3692d184c9e9695ff977aa10be6acdc3b80e1ea60e82ff79d91445e1bf9d145c146fdb6b129168df3f54fccaa0b3ad780ff67583f8aafcb601643139c7f3fc847627a9277f836661973827c2851c3847b04b03ccf01313ecf0e2ccb7bb3faa4f911af4a00085f88de3be2cc541e7ebecc8e7a39cbf715fd540226615f84de210e98dc2db9df9d79747fe87dd58bf6627ebc1aa636a4b12577cdfefa8ecf14c34965903a3dc3abbe5f0880aed1e5ed85cc4283a7e684be9f4b8521bbc72b01a4d2b753bf6d8f1bf48903fb3d6763b361b199742121aa0d626efaffc51f09afe5ae6898c43abdb3ea7a1c2ca6fc07c8f6cc81d70ce52fdde4d3d8a49668f6febc310bc18c540826d288f612d0cbb1abb3a14d352914fdd10361376542796347d18b85a774c19ad344109d18417a2a055bff24f39d07bec03d0a69656c6138f694e0723765d07865b5e923c5f4750ef1607f07fd669ee0740a392a9cf02e3683aad0497b91d29113b9e21e8f1751f6b4af975835476281fa18116eb956c2bb8e800f117e6bb8a93ad4b00e7afe3a87b211addc431bb2b857c07395a2056684d8be0c346a40c92241d9d28f8bba551b9a32f19fcda2593a3e0eb265c91b9c9574aa22e71e46a3a1f1dc1a87403c46c56c95a650eabf93ea86ee2840f06b04980979c7af2ba8372911b09e8a3f62d40d3f868afac6909a3840e58394c48d96124f944476ccf6f8b404f645f5476126eb5e610aced193b07c7d21247b5b29d9ca1b8121e25c6aea4c6c42e3fb1805308eef74d0093673c2aeee0960696895fdc5268fe0978f66b75d85b94244b4669e33f707eaebfbdd7ce24342b309760d1896627b6bf6b0440ca0a017211e87ec01501de68cbaf211e7fb2f8dc520443a3942f813beda29d65e5edc126127eb06360bad5dbec0f5a0a70c8fd036c29df503cf8cd114d9e3607ea6d90450de510792380959c0b98e0f7a33c62b807a1be498680be42751e57da06d4b9e620ded15d93c83ed60340a00d386f7f6fd26fa7f80a35af81cfacdd5661fe818b03f76c87b04d44e0c00fc3e6813fd9ef3732d90586aec3161245cd68052665abcacf85d2bdf73e0ff752d9bc170af6b780653ebe92efd9eef8ba798f6ba478f42078cc38b40618f8accc042e4218554fbfda918f2d1691f3305f29771751aca6deac0f30499ba447d812ed9fab222c52d98061a366aeaf02cf5fee14b043300025dc72946cc3f60046b74dbf702a07febedd78639852e31965458417ba4831ce968418c5662a902ef317209a26306e184d6c8f297ebe90fc1b8831a4b9bf59fe252691e526e1e047da0e5498d8cccf9dc3460d75bf510a5ed8c8c56ec6a749223b07a61ee9603473f3d83e7792437d3f36f6abdbd5b6478237612a747c0e9d7b929619e7bd0c7f528b839cef7710c8251929b0d72eac2f672e37fa30556f4ceb544ee5ad032daf956c14d2a3c2ce533a72ff713bf75f099f7d621a6b696a4db713f15866860a8820924b2e13ab3ed35eac38b508e50386d5d7e8a9bca21b4c3665967e459ee60b9c1e67a2e447884ae8e72db8dbd845453a1719d4d0b821e6d931ca4e43ecb5d415a5342673b73f2b389020432fbe8ebb4bd88043d2af92f112b58a8a250b73e581616f3677e85c95a1e7ae0cbc11474e8d911ead720ca57c50a03142f8c76a07b2efa13202f7b3817a339ba5580817ac07563b37dbb8b3861c10bd4236cb1abae4202ffc326836d3079c0c664a8134824e85f1dc2ca589acda0da18b6c7c48eff869688739d99a27ae89da1112cb73437ae5414a02c9df385bb2f9c87518895a51d4cbe539011ac8b7e22cb719976e11c8c8d9c0ec002377f8d8e87c21041ab7c84b41bf95eea3edabec839281ca87e9bcf5a296554bde49daf8bd558a6719cc569e7da2481583eb41aa5c806f15c0e7a25c5ca1cf2a5960c843e4171652ff8f42b76af765e675c8eb01744cdfb7f52691d73a8b90bfa2a62c296cee1fae7cf2468e373da010f0e5c15cf3cd8440d865d4dec0ca27cac4cccc93f1d559ba6323a47b2780a2895fad84bf77fa67162be66a2df135b63ba2a7ede8d753f88a1a5fa3a63b0eb543a1d81d106499f9fc172ef3848fbfb4d58176d09914aff5ab5092b872e1aa4ca2c028dd813fd35e93dbb35a2c38d2adef7deb50782775057494d4ca0cb78bb2efa3fdadde86bc832305afcf9dfdc123e3d6a55fecd0943bd4e9284ddbc55fa6b188c3f07c7cc22fd0850426927d8176fccbf913f5e6e2128049002c3a07cb7fe2d6d987b4ec7025fc8d027ee488f7a01ff708f293460cf98c5a44e3d140e1d8ab1a577d942616f8d1cf093cb992121d7309d1c5c97cb45c0541e7db4dadcfdabedc574ac078c05dc345672a15ceee8aa2ef57eddec0d164251366e994d341283f5c168a861ede39cb4e9b12ae58c1ac56ff717c8e22c38b8405131c564b2dc1515c1f3adf38ffb54f811adac3f9f560e61011b6c2bb571bba7b99c4872c9fd6c5afbdce03b464688cbc343384576f8a2e1e7d1df6222105114f807d9e4cbcf10828f97c8ba1c8b79c7ee06748669994ff587c44b160acf678867eab7a01b0c66d940a3bb0119f7a06ee6dd9dc62ca55ebe34c91a23d8d132093517b32a63ba2ccde4351c44cdac77a8cc19ddccd5ff35798a3e857b71aa670dd4caed3b2106edcd60676774b7eaf6a24658df2e93780b92c2e16b6c67ceb88efa435f3106972be7d222e3a137a491639e6fa9fd0aa311155e0caa48c1831bf5634c481951dcf9962970186cc533f11ff0df86bc89de5031aeaa27951edb91ba6490f80004efa236050e8b2ca1df5537d108d4d4bfa29dc6a6965313db8639ae4112e2cb9f2e186b65d1101f700de56701043cb737085a647fd057d64d2851faace449f46fa078fb068620b211e51466879cd6a1fd37788e2cedf21416cbb0ece8b5d977725e07a4c3c217f66af559a57299bbc0e59802228bdbc03e5a27f2f9614b0b171fe4e0a7730b31ce0157567ade9ffcd05c212bae19fd87de9794da3beb60aef24a83413b4cffbcfd909f02c37e96aa071d70731fa132aed6f4f47a7e0b5bfdfedc6e70b0e85115db8b0c7da7b0740ea1ba54ad27f4f3cb1ab47729395eea2978830582f55e52f13a748a15967fec4c95b982f2968fd64fbdc4e5efff87b9a4ba942afbc196378f20aa4e615eef78f58656bc4ac77868aa70f783e7c75a1ee859bf062e89373e2f89064ff97fb55aac2a355b3a0a3766a261c2ee4c677f156c31b1cf3e4a9d200c9f59efe9198015420ba51b4c7852dd62d3ec97c3c20944ee7359036db0b483767a640bd81f764193c9e0bea711926b7d852593635e205d5a5272df6a0b3f58b9f602f6aee0c31ec297fd78bb18669ff062c165e557b243e9c82d6d3a6a2a06d74cf48c9f8b11e30c1e123e149d9c2903f23a170b6e5b3ebdd877bff2916db5e057d5f5dd54fea91e84bae235bf7c0d4d1748dc2e779d9de80d6fd1b84311a7448f3e3cd9623afed3e42ece3de423207cbe1f9aa3baca53b1870d99ddc5c07a5fde4ca7ae4b53b67df7210f7a5e0043c8f45d29648ddbae168291d0146cbc3408cc99ef91ed7f1ff47099b6cf7b1d1dfc7df9a9cab024f3e9aba542460db205773490b88d06f0896141880ad193d15e58d2a36abaac9e15bf9c96f4c13d79d249dfa0eb4b57685d0c318041b546285763d91697d4b75fe28a056a494ae108decb606443ea14910748389207969561ea1df372ff2b806be9e42b5432bea2e51b89efc93ece5d45b14de405b868d989713b3cf662e5776df81ec1aa53ec724e4f609e95133f13a98be8b2dc45da872f7dab2eec55aa7ac6490a8ecba06c356e960a32b2e11162600f1f76c65d1ca628a73f36b92ea8dc08283d29289d21060131ca9b8058b118a05c057cb5ea73e0abfd1cd8e0d3c97ed34e6ae199c7e77297585d1b6949ac3dd9ebac4e6a8078cc290f0a520c7eeba4789a5ea80a95f4c24b91bc728d913d74ab16e5857812ae20d52c1c05bef926683d994db57f6695b4608ba751867041abac323f9641d47f794b9cd833cba5c54e315a3dc25189029b3b40c28f27d1fa72d90db12bf74ee8645310b8a0ae252617f3d4d0d14a5eed7c2a489b5a26bf41313275095eca10cd1c4417ed7cb1c977a7cb4713fbf23bf74c3f12223e59c59554393977f74cddf795baa1712228350160b56bd018ea75ca4f8a8ac261a86b47ff3c2c7410c304b7f65449ea8f903e8cc54a19cf759e7f141c6ff113e9e783dbc7684bfbb37e0e0d9795a234b8d815b298c73851c15ac97cce3278a4195661cab3a417f5f4e9235b2eeca34d667fcc9538cb18f02bf398063600f302bc8aeda7abb764567883996eef6b919122d1cf650f20a89547c1e25b12c1fc545eac6e2c5347f5e4cc97ee3f59a4ede5f100c6e1d43f5059d5f1e2032868fc9e0d1167a913e52b1c2c39abd02e2a485721a3bb53a705d56a05ff0a5cbaa40a54cfc459b6ef5d4aeeb65f63918b21258f90dcfc25a892a71d182652c4506986867fddb3c9b58c4abbd1e178b821d8cf78ea79bfe84ef040af6fdcc09eeb7037510ca3bd2b62283c811d113331461210f7f03d7a3a44506031b313569a971e01fecaae823b2c62b40e0876ef80fd27b3c34f72fd0d216d3b66d61b8aa320236e65bb7f770e0955b295ecca598c7b92c76d957a897bd43048fd48d1fb4d8965983e6f842a1942819901cf94b1e473d440a35bc624aa98d34622898729dc5ad0baa1a1a7890dc0b1c8ac341d42f094ec8bdd784ddff0128cea838c9265bae94d4be3e12b6e5b89bf45bcd8b6a7021f0824650893db10d31b5d4da97e5d815056caa64865305298cfdefd87fd16ee4384d518dcfb6dec2ae4a2ae99488e441d9dbb02e900e7c0fbbc5d112f34eb30fe4c46c6f2553ef6afca88a1f84ac9191b77587408987aa7af0eafd6514c4196223c5701c28fe0b9d8f9005d4e1cf8e49ab08dc8b15194c5c70f54e0b4c7b9272b01ee8e9c9ff63e765c08aff33850780dc188c9b85895fa3efe97df08e3fb1dd4a7b7e0c0d27a605ac2293067f5cc2792a735fe0bffb311fcb10c17c3639488c627ccfc6f5b538ce08bfb6279534d1cc223fa87f16d74d6dabff7bc087371723edab0c110124adf77eff70eeae5e18a228dd0a13975848a58ca5e1be0bd1e3edbfbdcaf5cdcb3d727cca3a26ce3a761f365aec4720916bdfab90fb1a6f39bad2a41166155fbc5b8784ef159a4180b7035bce2a4c9a7008e21f3581bdbbb6dc4c1eeddb0e56c8a9bcd5a48ff7c5a74349c5cf81adfd2aa2c059aca0e9109ab5a8d93e31a02a2b7cba1223d55d37e99542cfe6065c1a6aa7feb478c6b47313a7437f2f76e245d3066ea2fb453305e141183e068e4a7eaee6a4e082a8c5e14ade46d7a639b42a1b1caf6da8acb387729a69236a8bd993a61ad2fa725dc0eaee2d15009907acfd1b64357282fe74ab17c00466af346a77accc5c45947078297bddb78dafec384cfc3e53421e4ed98173e09c7decd3088d71e4536257bef7cca548d7d6328796b66089a9ddc951c0d3510bcb0c3ca6d18c369dc4504f67d36145ae8aa1125c2a1748c82482bfadf535423e14c55ef3d865e91fe199ec0ee4d797ceda765086f1362271585ba541e9a2d0a7b75797bae08bcdb31bf7628f7100736cb5d781a5d61b66fb4bcbcdc61d0b7d020a886a36ea0f49929a81e7616346a050cce53d19de914ad08e4a05bfa8e34ac03d8aedb5ede5374ae983647258d9004b8eeaf2102482958845baeb439d73b4231ce0f32fad1e8f10bded428cfac3c5e9a1d6cad8635831f3463774918044d32d30658f95ceb96e30b4a466853e88108507e099b311f8252e2fc60fb4b51c76821027351ebd77330e5f22f987338496c05491b8e6ede09a0b4f1b9993336530d5bbe2a8a4f609acd3837dda4b5f4a514d715023bb49976b094a75181647aecf2e3328b5be373a60244443894666f4f219afd83f02125d02da6ed4a69a153e14bac618a8c6e0f7451dfe82ac83e0abaac49282aaa7644a2afc7f2aeb9770bf6df48eeb1607fb13f5cc9ae23c593891c9873ca77367c2a3ee833d440b6acf98299e7d0602e30ef7ea9be684ddae98a10ea99bfd8dc9bf836b66adf8a0bc1fc2d80395e7efc0386ab5aceb0795038ba59be4d048f2081b10b21b7146084ddadedd503630fd33ecfded2ba726818bdf3671f6a71dff123a9dcd6ca1f40a271a4affdbc69caa46234269bc464d835881fbb39107d956e6a4d341e9766f4c9df5ac1d93b09fc773163f0a24f1a738f0d3e18920b4f32c9c8634b782de79cb102a386453b1f750297451a61c883753302ea8455dbcd022d1ab671f384b0640d370df72ebe8c136033db4c377e6d482fb20fd9f3230ef63b9cced683ffb9bc98cf491630fb1fbf2a6c59377f48b651677ed47780ff0e33e2ec65a8c5ebf80709a2aad352bfb6db8beb6dc2a296ba308e05360026717bab2820c719bfb84cbfbd928c2f08e7b5405c3eed6142c8f1b9f5fde7974c36c4a5543f63e114e84a91722af439117a9cbd5d95f2a5639448beb21e9372bb3a3e68c31116dfabf83b509f135d813be7c3a0db70d7b947a0c1d3e5cf1f8c5888c89972f06c106c628e5625646739012b8fb1fa3e325de1aa1c571a5e6dea79530c30ca37b3264022ee98fdf2a815e22167df66f599b5f7202949ce9c61b8053a5cabc1cd0767d330144c42fdee78d2fdea5c2e26e5fad01c98dbeab94d5c18d8441fb256a2932cfdc78c34fd56fac959ec311adddb90c5834ceedd0201dc94e0637988082cb9959cb331787870b684f28161f9715bbc8605a53998fac904088985da9ff983412f9600e39fc806ca42be7e04781f54fa54fa14b57fd9e2219c75910d12c91035f7beb807b31ce17c53af7fe5bc9f6ab66c0694415900b07c6c6947de2f37e423b7e3a380cb6098674641c1c469773fb7342d0e5e7888417570e616b05e00bd8facdaa3da2258271308a18708dc44412604930ff87b360dcf073d5b8bb34ed8defa7d2eda3111f0fe86c1da4969ad08d21d626753331db791142254dfb99d8cc4fb77d2cb05b0607a8877c40d88036adf6bcd2a1a34194913b71862c0de5153316af5055049e748cba1b4e4e49058eed12128c4564f3e9c92363d8552205213975a3280efaa23a8cf543a3bae5d350be31216f7211a28094f4b171c974286b2ef611bef31cb7d0679cb42456cd87fac76e769a1aba386a9308add713d54fe958fe650809bdfe3b3702cbed0a190999f03df983b9f21e6f6f966c88566c8a8cbdcf5d7469cc1d40d178adde352c90083a767d8ffe70f09302a23fa2724a376deb4c1cd0b397eef219067aa6cd7a2e42fe8f0f2072b8978c70b1c704c3ff558e71de616673a1172f0a2900991cb08c3fd7d2e6e29afec0dccedb394fb5721f5ec4d0f70b2f072e998596f65d956c1a96c7ecc2a7271c72839b71866188390f25151a548ad092a18a3d2fec496ddd673fffa693eb2580fbc49746254fb9d13325234483d2e532e410181cd3b79f2d334c7faece0f3aca86c23e7402f818f8c7f5e5a6987d3e1c2ac786b2ece5deaeb4880670ad924213decbe48ccccd4259e0c36c42dc3649fdef299d45f820486644bd6bb8c74f2f74238de288b7115c0dd1daaca591f447cf216ac3619dae20bc0e25ca45904544d6715b86fe8760b3a7346dc8dbb1369b1c777c09bc37e6c4f18ba702c3e67d4150b1bcc5202dfd47c8e0bd7634e1f1c4cdcc2bc7bd9ee71f3259fb10dc533f8ba179eacdd325efdace8c553f9b22f38d4611f987bb903963fbda87baf789cf9193a56d3749d256506c873bb230e8c04dbeba3c081903cb12f393c4d0b84383a19edc5956a1d73473663b1b01ab3e23e2d66fb325a56d9bad41043854993d80e30f871454e310f1452c538b551ff41b686eb954bc12f1cdafdcee1759c09104b14604a04c2faffc031d22aaa9cad39d321b646cfd4f5d79a3643ff1a6d2e48a4126299915208b5eb34d16fa1000e69b971e52e62656d77ff2a1d0782bd0179b34a11d06fccb16c066145e6cc0a77918dfe03d494387d5a3eaf734436a815a046302b98b63f6049ae9072d35ba9c79ad826afd318f0c961fc84ceed94c88cdcac602df2d0a46062eb14339ae6638d214a77c966b84adb17dad0fc37cf3c19a49fc7c806f56db55b7d60e13cc96f91a2aa559f1fa4904ac4bf8838ccfd12c5d96e1eb43dc753c3784798cd36061de1c6e9c9a53663c0e40a10b1d46cb25db692beb9251a22c1a17537cb9c6e8c71b73e7c5ca9fdc1434ae5e496c23d96e80a5de5f977dc5dcb789f72cb4a549e262be4a29186980ebb08eae234ac5279f3989846c5914b1b9898f5b5129684b4a60ee843cc6a58b854a9bba3456e5eee5729ed511309785d94e619a904bf48081605a57f165b7101568072843a004a67ec895489a1042f41655d537f93e54323acce7e9959bbbca394dbc57c6e004b4887a2bc0f0ce2b584a1bfd814bb76d8fe3974b3fa58b7e3fba8d89f739dd7bda57c66914fe25e8892d1140a72fcdc65b1aa26df052ec68489f672e2d7d8dcd70b65d6b2fd86bb6d799d321282165f1abbb882e6c240262df3d5141ee9d706ee49a30c71c9b4e8b38cb550b69fffa8dec1484ec16a5e9a0d6fbae6976f3f6174b057eb2d4abcb2fe1edd5b3d3846676e5b6a14be1d095b31f0e5299a2505c98e8f80bb3ded461cd9df79dba0d890c36565d539a178810c31ba24cf93be43d051f0904341f7da9a0adad5567854a76a8934c03c71fe563872c513bfb8aa23384bbcc808e922358d3e86c7411481543afb3eabc339484b711fcbb1e1a7637d4e3b8197e0845774210b45fb044629ce6557eeb184060df454a5f9c1c3218a2e6f94700780e0332a4d43acdf3f5a4627d69d3b956bdad1eaf46b37f6f1c1cf135d6e411204fcf28045dc2ec0fa6e2179293d9799c954ae771d54427db2f41fb0618260bef43df2073c8fcb1f94d96a35c1a29c85cc24856b485d18898ee6b1a8dd9f3883a8e765e95f1e052e75673a010c56ae0c580e4ac87e9a906475888c6af5f56e28f0f8b66f2cf607bd7dc19918f723e2b8d8339c2af5eecbf87123cd4e5493fa575baae29bcf889777849bfe009b9fff21996439344d192f43f77e9a5c6de7f8e6d2117010f21c4b1a4136b8aead81e55bf4851f01d4786e5f31a7cf59a7ccc49a8e0bf3b9c59666756f645bbcdd7ca466902068084c091d6a26d2cef849a17759b0c5304271edba3fa3667353b9ebd42dde1da4fac55e309032b8b5de9385a77367e0360e5bf291403d8844342e069eb8ebbbcb4e99cb540a690a25f45759fec12edd16268eba7e8b18cae62d3ccf1d160a8654f8f17098342147c8ac8023262d82818663ef9ec3ee019a5a467c09028c655c2f90e4c81566c843e0a40bd7f99ee3fac5964408b6a85689e9ef20aff911b600bb46a4bbffc1c77f2dc19cb28ed8a81784e54656fbac0196261918e1c68df60e1640474c3b0618233e0f399cdb60026433f7f8bd9413598629c966a66e4dee4e4c76cc9ecd336d98202f8eea787435c6681a8bee4b31e22961d1cc21b9b167be5203607f4ef4fe8fad4309ed8b9014a3fcff68054d5763a6325ebc72c9eaf22725cf07a3e09ffcc1e0153893ac7b7a3114ef53dd7a479dbed075beb3c71ec3d06a50817d43ce5828e7d84a8adde965dfbf922b5aa53b2ebf8eb130f3feb138bcf3b373a10727e442344c589a963da8f8c8aa0ce61ba37c894f7a0b6c8b2539871e00b943ca7241364d9b2a33dbd75dd5797ee8d772a0292ed67f3b0ea63686a6c73a5ee717272153707cc7322ff78951e40803a10ebade1df3ab0915b50bb199bf89e8fa060321de593f4f7284320a44f170541f4ed121f86681fbc4d76707d0e1f29c8485c556518e0e73804e7bc5017569141dec32e855c8d699d01ffdf6902590e1badb5547446173a649a634e75ec3c21c0af9852b2dbf8d067a6982e7874b6abed406422fa66243ccd151d7ccfd15b9316a8652cbf19a8bcdb00ab414d7b3566808f6a270dea09d2b53a98b927ad940f42ecfcc1d08943e361890de5bd3c6b04082388a79b0ec95ac7af8ffeb43e54e99f49879011d16c95663166d4a7191e95b082817e35dae595da7388ef8cdf2c5ab89975317c1473268f0a825d344fa4ae2014103176547014b8d290c8fceaa7a784dd73b4487f9f1624955ac81a920943d6d76cd45b9a527e017ff5aaa7118841f68214a58416b4f8d3d7f07241256eee286c49b9bfe178eaf31db336caec0d99043bddf7d6fe3ff3be350bcdd8efeadfb408b667019f6b5f71e75be59e0637b2b90b12b496451e0b2b3f4404c9724e35844c996c957faf3170af12e89cb7d0f27e10c680da097c0e7421c52f887016144d898a08a1ee188bd55838b06689d6063546f41338ef9e5815e463d8be7d743b028d4fc2bbbf1f052a016418e020026e1f15b8cbfa06e017799623e7a5568f015b68c97fea509fd7f25e8ca2d59926f39e0563bd0b0087cdf17efedcad51d8920209e4b1d43d845da17d1b44e833735386089cf1ee660ce348a7bbad7d1fc0fdea2ad9067e0c111cd500b5701888f8c3d264d748bbbe4ece347524250fd012a4476efc0614b36571e366d9f4dd269d4fab1289410c4843cb15c7892545e2c76581413375233970ee3e147f09d37e6333698914abe70a83e009a841b79e4f1d69fd1fb061710c37a62eabcdf56a4d73d44c8f9e0351d1c056dc5d3f0b4925aa1141f4613772d6501faa1d6677bfbb034c975b0d4d222b8040c77fcbdffa2deb9a5fd649fcc98c6e0d72647d455cb63b1681956e4cca674c1ed08d1656dc2745af7d5c29882ac38e3ad9053a18b3161b99e98729ad27ec2c30bf01eb7c12d3ab8b6bfb9d88d3cfd65a66d30d03cdbbd563965999de1568ac96b7b048e087bb2dfc99e2e0f33fc47e9a7b408ca5f7aa51f2a15f8834499380ad5fa95a0bcc340123fd18f892b968c4b08ced8e4e4dc267016ae6ed13a1f2fde66959754a946a6b24751ae59a282b06260896cd08106e108dccf136b6d2111d0f25036a7dd8a2365b278dc880f550411b1bae50da6980016a3dc190f98a097997e20eaa70e077fae19629b55fb5d7cbe28c39e81de90a48659868fe47a87b4b835d140307b322ef1d624a44b77639468b3b50bc37958455b3a630ab8077aac5a4275593cceff1f59667dea0aefbbf1d836b99320980f63d1a4033cab7a819f1b6c069d25f51209d4ff926dfd8da0285d3b968170dd7488458744d161c6b3b4bc69337d88a896cb4b60af33a38b6c735f795595d39a9a69f52f8689177e4469ca7fbe6ebfdafc47d3daee37b3bba5125c17346dc9173e91013775cc7b974fd17aab5a311b540e0114339f14b75a0ef5a5d00175274d3ee2ab2a8d330be75a8d9bea0babf0b6ffd97cdd19481db58c687b26a5ab9d42861534a85f0fb91212c86b0bb41093994787150bc8dea1522b41e82fbc40759318d85350e4c7faf81fb7e2be18e56019511de5c8e3aedeb3be9ec2dc249962de327c9416d447f75027bb33255ccd559ad93fc49faa60bbffd69d74e9f54dabf1136a495f810fcaac4cc411402f2bdc8f7ebb6265d964e9b0e943d95084b556c974e84e41f780514efcaed02c27d7db1c7004124b58e6df6a6086c51b032e30dbb0f1d4ba8327ce58dd5c8dd73e14e47841bd0a5c11742c3c793271705d0249cb175494ae986b5624404cbe7b6b6c005bcc86b600f561a7356e4721e4d1a3c761640ae10328a08c40e1384bac3146798ea596d31c3a76de294cb65bbde33fe8008bb9ea3ccd633ecd76c6fa1a546a7b651d0f2dd8dedda6771ab77a3267bccbc9dd631646dcf169214dda947801192dd3f4900407cd00d7a1abaa17adf2045c9433a10de93eb81df298cdfd68c0c0e9a9a5ad526064da9354b39cfb7911ad5bbb0c1d45d68b8548ddf5e2848721f525bafe28bf8c546f559c9a7d25c5df1f654b64ba1454727fac81acb7227e18af836b768d3be2b616ba63681b1b593a67daa6f6a93be521d8f1feb13641c805b64268892b0b0635a217b175dca1a52b78b5b872ad37cec896b33e2952fc3d01a91cb01165bd1f33441a2b09f3cae3b09dcf05bdf32a7c329c9069e3c606dab47eaadccb476e9ed434257d701a23ade1730886156cb76a6279412fe0ae68ef320cb11346bbab814716542585446139c87f3142b3601c526d3eb869fdee481291ee785d9a5c20b394e78be76a0461c7e65bb99ad48272004894785261b86d2e21529157661161ece7ef52531ec329ec5043044c00dff1a0c30cc664eefaef67941da1929f38c24f21c35717b066b894119e4509c93f26071432e20ac26be75f53d62001b5ac50ec06882e60a4f7948e162f4d898c3dcb4e4d0ce0c102606d52c00a3d688897f8ddbfc6b4ae74aa52b69371115da479d6ca9875294f1b466331a340fe272d3cc0581e6775310df2fc2ad726a1c64ce7e13503d9ebacdd93edea0800d478a1a9f0481763aabb08df0f2c28f8c92ea8c4ff8287bde67c8ce2d988fdd526bd6e70ec160fe21e4f8b76d64881f112a233ec1016ef4125ccf0bbd50366bb0287fac6cb30b46c6c47af6ac129a1d7903c53868bc64df738db1e4f27a2273b1c19ce48c884ebbebfe30d1aa72da8d4a23b2ec00c679756e49a2cbe5263cd66b135426b47af3a55e6248deb51b687da5183933ddb143e72b4030a7684f15d80d3ea1fb2c115df898cbbd4a6b4cb9db2348ff43028c28d8126e0713877adff454efa283e1c08402d1096ac419a1fa06a6e247559547e8df96b653dbd45a9242d8ba21ec7261012adaea1bb92f652e6f7fdc180f9bb370789ba50afc75af63fb83f7c3e00af3ce1bd740ec104fe97719c0e6cc41f085be9cd58af3fe9a9cab9b161b111062e6ec21e018ed91d10b79c3887f953b03abd636eaa8f606fcdff87c255c25d24ab8e8e71572c988b6f894b8156acf47e7d79705f9df4ed1e23bf3d18f66b10ff00905f93767c53d938713ed514bf6705986a27158b6d81312809b8ecf7d7b691fd99d30cdef4e5d3dc5ca1a675a6835f3fd3f13d7eb60076536e96806202f13685e7c60815b61662c625056b69f17297074646ddbc877813fad8fb550d4f84dea5e575d07a32edb94782323617362b47b98adbb6b408bd4907f9d0e16dc2b55e9c8cca801ae0f7003e73b7ef016b0ac794f75a052ae8aac8775fef2535533b56bbce331eb917fbc02cafddb5f6a80c38808a45e24e7a24ad8dbaf9cdc63d83995b363cf36fc310f0d132e1d4d9f294ce4610827a70e6d7b634fa81722a53a2bd4a2ab53734378dc3334d135a9e3a0ed1d173013850379db50221a4c041a70bb0353239606e77c21d4814b8fd4fc7e034d9dcd638ae7521fef3b6abc4e0ce2c0b74561205a016ca0b2eca0242511f26c699e3fef2e8a66d52a38a3d5b30c5c75bbde0c61e22f1fad8c780daec1ad917d6357c6bc47292e5b04afe6bee3e6e341d2e06a9eb1a575bc337e088f5457d9892d4a92c9dd99c37d75d0333bc61520d71bd51d07ded68c360b5b29d1b3c4f833d018fdae0b0fe1414ef1c2f7c2316ba674c047b5e008f13dc9eefad63c074e8535b14149d6ea95840c5a149009685d6bcfef92d4d47429163e15a7f70f71142c02aea794e3a37a7ea77154d9dc32d585778e4b97a561f1f7d7f65ba092c6ff01a710a1394224febf9bad037a1ed1e53945f47386d7315403260eb82ac96d98d266e89ea6407390e248b856d490e574fe4f177e44e7248a8f818ce68b4d519af8020e69fb8bb757b72ac3cad6c4c7a1566f9cadff9e84f58cb4c194e17b1366448fec81dfba0328dc626b867185de7a54a814c20c38f2a4a457cac95a746c560e6888502d065506aa1526816068f4123562935bb8bcd22be23829e69408b6bab5614944caa03705fc6f2c81a6bf016f8a339de9baaf782cc5161d5d7e574ff09a287285bcbe598ae8106ef53cc1cc759fa6128fd014eb960b0d1da0392992399220f422acec472b1033f821d6af26346b66bb70ac11504da834b9709b1a3e6e1b68f0ad0fe1ec70e5d414be019ae0491b9f7bfa2bab3f6a6844935ed6293c25af397d54ccb8fc7233bfc2fc23a2149e2e362507ae04fd65daaf49946f8dfd11d7ff86912dd34c27222956388c3843cb34378141c2c968c6cffb74b3e90f5e2b410d4876409d99813015bb5d6a0bd6c0624d47d39536905450d2622ab1ccaf18d127a76441848902a3c1983f38312f51110ef7e06616ce1529a555a6410ea69c85d85fb37e327b3b076aaf0c4d0a65a67cc3a77ccec4b442b4ea6a8a3195a2ae7b4bc57dc515ce659f88e00d5ef5ad0f6513e0c265cd11fb70ca75f0da6e6215eb380461564d2ff34def9f3598d2d7ba4e87c0ed83a251c11a0732e4f48b45a51b77aa276597d245f3fc2fc2544958f4e56c1803b5e96ec7b3ff2575f25f290ae1ece81ec7cef91fa39ceebf5ea5bd517d3c65574f8cb24db66b2edb14796c673d258da6276141ec94e9d7f448cf08c3a8a842794a2898a3068d1a41e8831863cfcd287432d60ed0fc597a77d56b14779eb4d3629d6597396aa746ead2394aad814ae437f1bdf7abc2cc92c6eea98797b9a9ac4b053eed2c6e2049fc45f74bbd528a53cddacc147d54df088ebeed551680b22814b60ccc2c013a07825ee17ae0c29b1507f8b21f3c4f128bf43d7754eba3075c760f7407f5237bbf4f2cc8c742cccb5a76e79312d0757ec1b1344d75707c815feb2bfd6cd2503afa5a76382ff4b400eefff1d46d6e4c81fa48a72afa1fdcfd081f7fa41ed213002bf69b216c575d29e306aee16a87bc51526b904f27fa82397d909ec823b4d296a2a0de6b3d2ecb187e47a70da5504d3419b9e016494a5f89e559e4f1ffe9cdf2ca460d0d5885bc986dbd0fcae630f7071f252e4cdc32b9b5b62ec67c534ca50ec9f68b51eec05341bc0f2d37b2f196d2c0cf5ca128063f1737dda1c99d797f9ed081b57d91b4c92aeebe5187eee2cfe01f786dbc56cc25a7fb84e5f52959d434cbdacdbc06adba63becb6bec5ca8fdfe978f23c4b89adb983ee76ea9d7cf3ce84a0f69e1d3256e4be04b34f988af990de6a8854add00f7bd434ac72d12099aec944e7c35af537a15592ea185cfdc463f274d32927d2a0b7e28ef6e5f1e4f18ce7a10e8bfc8f7406cc67f60799d725b4d704f63f10d792720ab755d03b4aaa56017923dfbb9904c8f2300a35f399729ada5860ae8227ea6999a41f6a72772b8136ed13d846a7e888aab8eab56a019212cc7b7b78f98f142ee64e651c7a91d8be806118cd0b7ea5ca5cbfb035a8f8f68eb62a63861c9c4ab627eca82cb6a819c8a317f39f489a04a50675117471c974b08c63f45de75d59011338b0b34283a217b3314083daf47fccac67b7371cec2f7aa4ce71a6f0c3320a99e437ca8c8dbb547c3297204631a0fa6ea7e294f8fa9957f93b40fdb8ad3d7823d673b4e98795b05f48abdd4e5b2d8351ed0773ade142825bfe5c8e2daa2a507e6e74fca6f18080818063a259590698caa27780e946419ea8386be56f4eceac6d406b9ccff0b013e19062a8a4691f236cb82995f7325e7c8a80da6249135323f3f4bc02c5c7410e58153dfa33b29f0a4724c044c68d022b00e1b4e19f8d14dba0717e890a9a7d5c1e3a8fe1df9b850a900c101c729028f5a081770347ca53faea9b98af4b74d16e9e305749608662993e2e5062e1b6b87c8192581d2957c35b36393cd15128e398d1349084a8f6837a33c7fae57bc39acb8bfcf61e8ef0697814bd7304dbfe13d7cb42209a90aab7465f9c00466cca2d9f0f7465e706cc607832c59d1f6bec58e0ed3b3d02788ebcd998c3111e5c180e666b1fffc24f779784d45b5ea53c732d3dc32098fa3c7218baf2bd21e954ca8b8cfc845c02bf9b5cd09aab627fbc058ec6ee2fb37ddf3041b15eb866467df3b57bc2b1e0cb10b03301df48e1bcabfc791221d0f90f812fe1aa4fa2c60b5a90964fc389572b6867a3ffc9d3ffb66c055b5e417556c8fe641c7988bcefa5bbd4240161a02926fc312c5124960e88d49c2ceb7e094efcc23e439fecd7d4118c2f9ef053eea34e2796e4739ade1abe4edf025b3e4cc20551b22894df32c0394de5d0f3b9e7c06036d3ad56d2eebf6d887d053ce6681bc9dcdc3e2e3f587bb80e398fe8652a3b0383b6da0a691c96ecd41239838566c9bafdb733a7ef0c8c1b84af4439d14fa668a802d133f5a89b28a422bc0d1e3e8af6b2c65948c9751228a7eb87f8fa56412323ba2c56301e46b2b45955a5bd74bddb1d2db0f913ef1b83d879811b3da6a1022f93d37100faf4c97c73854900623c6a3231790948a6cd03ef950a3be1f753f5bd1936229c50bcecab4596ed360173f7df4167f5d299f94e7a5fad24e8a578af841b4a986876c843db44855d9d41ee59558e2d6c5b1635ffb878e813846314e3d39ecdebd98d1e468f21db6c57c7bd67f6e871c79cac0c7398af38505d948c6f79c8f736bfc0a3476081e7caee8c42ce9f7c3a3db06390a096349f3bddd343bb8dfc2d3224d16cbbae0fcb7a853a5ebb315c28709d991de831a870f94ac965e39c6f5c71c0025099eaeb0cce7eebf74550c6a25a63d05c0175928be94d194f5a78a754afa3cb479e005a3d14e220796d6e9ca5cd5677f01d4f2e088903ee24856337be472e9fef5826cf0384953b9d1fd10cd28471a66f835130ce0776a7292e8ab514e0ca4ddd08ecfda358ee65896c82fa7ea77f1494dc5c2735228f3db277e6d6da5cddda545cbda96756fec0c70e83f9501324cd929264f79313377d8df82712393670fb0de5aa7e1ec1c6d8ba8b7148ba98b73af6a7decb575f83812d43b55e29569b156d34c6064207b4248c72aa2e8b24c1ead42a0b47db07bcdc5947850709c096ef9b8f1af7134e9d6de90c4082e69fd7d8c5705f8ef7d53a950be13d1bfbe6feb2c49aca1f57048941735228a7b701bcd666579824208eef71b933e6b41737bac67096e87e8d80a8a08b9c80b41573b538bef2bb11feb4a5a10e40ffd972cfe78d0917c70ceea4d6c8da3460467fd135f7401b72374102d7f423854f4f5feaa384bed3930bd23e61d29f24fb683a7ec6465a2ec7f8a2cd143cd7c46c78ebeaa0c1db87720b5f6d258519415369285b9ce9ed17a355336787b42d9a20e84c29f169a983883471fb891cd491c4f4c65a90e252223550247d70b9bdf3fdcae1741a79a34333f3eb6bbf05c9c8c5ebbead558e7ac14f9c10418b7204042a155b23c862150f6edbbbda5671404ba87ec7402840fda3cfe9c27977464431d15e209ecb6ba22641dc86cb6388ecc6e5ed620cf5f0a83a379902544f8c0104b8f31a35a122c88d3dfe0ab79f4b3dbc926e49846d3a05ead45d58dd57af72bf2b681aa95bcfd868461050ee6318afe2ae298866efc4df61dee3f7f71f1f06718df7d697c6e1fe19d068c638f4fca02e10d945c14b26e7aafc529bd2b85067889ba1078d4ab6ca0367445604f258348923f275ccc1ccc920da357563fd73f91aa25aded9dccc610cf448ca0740ccf54d4b0e09fb48e4b590721d1483bfab2ad552533113687a1ba76a3fc26cdf6851fa7cdac0e562a8fd535b96bca5803340d7ed55d9183f3b15b3c75e4e09180a70a43a0e7dd5f4f36db5a6197519bfa3a9425c78e78ed05dcd29533f5257bcb5a86d5833d14e8dda528c5ba315d1806f913cd2dd67046d3a0f0a292b7894f67162745bb935afd06ebcfaa9e7dba207f54273b10f523568c7eef6a654ae0014bb9c416264d63a5ff9601dcf6853b43329b81d95f2065098fb8b8473d4b7e780a5d03462814dad891026e6d8135861639a1546b5dbb84f4e6dd72d6b9c148d6e53b88d723ab713f3eeb8444771595a6a76f791d958a8a8579dc92e75c8fa7726c1989527c45ffb8bda3539f280461c990d2c6405d8189c75f5002c057c2a1db32c4c3132888084357c5dd13972e939b470554d062c496acf72781932d6fc3834e9fe2deef6d6396b2aad47e2951ac7e187d5e91595e7868d5ed7ee26c775bdd3005b1d27f346cc2286d9d668919cd3f73d18226577b803159da6f6119412086b1d01310b996912d9710ae849104c3c08cd58ba8f90052522ec26ce0329e0991bea98899bf74c806713ba18981839dbf64fd7edbefe4d2cc36255b5edc7fe3305eb876aa004c25db1a88f8dd59b376f8247fbd6fdb78e62067a8fd868c498d6929a4b51cd1308d3e0ffe0455311c6132a988ffbe569626f394d5b12d5c1f7f272a696c8845397b47402be99bece7e46489b2d965e1719e986327bfdade4ce6898a464571f8f84aad4d5a54cd5e3d17c708175363f7cdb37b0f2c57602b6d42be0265b5c895438a6b4d47b2439d840ac11e6a6475017ec5d563adb383f602d1c3a2f8a3c5eb3447110d0034cb39c19a357ca5e98f2713a2c53d1aff29b35074dc1487f97ce90a1569b0eaf318fee64643ab490be69a8633aef107d17f908e28aaf9d4419373647f1287e1f8734664b458ec54229bd5f05c84d1789bdf32200d12fb2dec1a1590564460d1e41254d819c0e317836058520b25b6d36801847fbb75ec3d556c31a60fa02ad4e1c16fd97f463623d610b029dbac4da7ecdb858fa4615eee9cc1d4a48e5faf07a3f573bfe69a47d9af57f107d17fef6e6b2eb214c9702442f39bd5efacf634c63df36268c2af703e6a9f4180299c19de90ee20b479738e4a041a9e8cef0245cb7844bc28e821769457e56f62a172646b79fd12a014d2de8329c4b74026bd44887cef137d77de2e10c5326ed808fb61e4c62e33428cfdf33eb0affc67fe93d33a83543078b55454b7d6a9bc0b02f7e67c606f08652cf094afb14d1d2e11b311fabc44b1331819e5296eb947b23e6f3cbadbb3525656f273a3a748edaade4bb9f218032e84dd99ffb0eb663cbf03f354ff39e988355d06f97556a1976b48b776bf051cb7ebaabb35c231c6e725e74799ed63add8698dc8b40f8e138a9fbe17f86cbeaa1df1715abca2213b12c29a63dcf7c4829d0a252655d543b0a7cfde07e48f74490b2088e571d113d710496cd9e7ad480b52a478eb72ab51c2d17339392ec4388e6b8b38f7f6f3eb9369920c61d35455546b29534e8e3cca995c4da6a65c506c4a56e1371863ed3f15b7f6f00847aac8dfc64dabc32ec141a768ef2637f23fd71da14aa7c3d90e397fff8be36edea547c564f85b8b57d2c6550024c6a64d086e110d9d69cd5d25d48a6a1a8381e61185a79a982b11d024cc40c97ec6d4ee9a2744204fc6865c10069d42a81e51e8a0982b9e17fb7c8ab56473bff0fc9cb2dbe4d66f2b7d379ed25301214284a7438306482ca6fa62e75d6e911781211d55143087d60d827519cad233de6bc7f4824f8b001ee82a739e5560fe222f1a3b99ddb82efef9f08d418669674f3b3d83e26879494427434d8ba393513fab71abfc6429a5063c300378bfb63f9cebbe6c644b394b52768830664bcc9c5801a51331b2f8c566db6e4793402415eb5f4472224141f7ab2f1cf814a9a860cf7d7df2d258d19dd37eedfe1a33293cd3009c79a5af077b72f0ae21fc52f789240d6cad01f3f5f6d02897adb6f628448e5616f52b506e3b1ec421382ba005b7e77bdea150ded257eb4cdc42f840ebadc0d5d2c8f54ee661963cad6958892ce37a50da0cdba6ff3fddfca2513ce1680904a41067a44b8caf156d7a59d0e54b7e32203da207e10ad70f8cffecacd0128a43e9efe26491c92031cad246adad88916d83f1e963a5314e6c161071f47c6cdacee76c73ecc1420863559d895c09a7cce38df7f1cb25710ac93f0732b6b83cf85e4cc89b45409011aaabbe4813ab166e060b9ef654804c395c8d5ad3faad6d15bd1960d92272c59190666d927b20eb7fc8c2d83f6c93b42350508762d30ccc4e0ff8e454b20815e34a3e1fa29374a47a1bc0c21382fc33830e112382d36c7c76915da72aa8c54a5ffffc2d6b0485aff9b2887edd5d964342adda2b65e431977caa338f4aad2ffb8925282f33a890e4c80401e76a7eda29492f4242f6a306d27a272c60665c27c8ffec2271d96791a30607745b2e6a3c2e2564b6e3b7b660fd00fdd291da7ca290581bedd2c5d07fd7f5e73b3eb9c82210f482c7587edabf0ec2217c4946e79ef61b4863585d78dfb8b34b406a04a28af04b845f8e872c3f09f52b080045ef6c6fdfc6fbae5b39a4f78fab04e6be5317199b87c97d318ac2c777e6757af9f2bce219b9e4ae4f8d61885b48878775fe37e9f9a80bcf08e40217bfd3b26c12f9482b08a28941765bccc3f0bfabda16223c6802373c3a8b49dfc5d74adb4f4f51807d4aca3d856926ee4ce7e52b8bfef4c0c6fc1d8959144f12d49fd9eb2f28fa3907b6b2e73acc46220b24ebba1ceeeef620b06875ae8c8d6d55284674a051dfae0636b7ef529a9c35696784b1883d722209fd27bf2f310e9c32431dd8745e351190b7d8f7fa8121a879ea457c867c8f39b3d5e79f10c23a917f1e6e88a156e8cf3a43fa60f3257623915f0f6bf0c707c10dce31e3eb8e4fc74b04a0329b5ade165563d5eb831a8e78dd2b8403b45833dd68fa7f080f6a66094b205accc12684ac9b47d25848fdfdc2d56f087026900ccdc4ca75c3d6119b357373ca55b7bb3e6f9ddac0a14aef56ad60297263ad7faa54cf83131fc12ea249a38abd46d3771c0cf7e14437af676ad68e5b1b842f96ef5674ea52b8cf62a856db462675a5f696655d679307df0f4f0be1033e51ab8f579ce4164f8b0fa12ea3229b431953a489c6817f57b6789ec65dce47616eabb9d45279c8f819d696d9c6d8eb54605373dc1234dad5bb7ddb91539bc24d74fa0c8c6d3258e401728c7dc2794799959fd67ff0f74e78d243e1ad3785bf8154e5115b0f8367b4abb64cc0c53e421960c0fb0e2f852d10ef36715881ddf2e2eb63b8a7c6dbb1722b6d8c3497fc9b69665d101b031b4a86a240ee995d107c8e011912fabb8818d11a0cef100edf4ad4948f79d5a918069311be9d08ca575302154e6a0ace3af1a0f5c839f5d41e905df98a5e7901ce00a303ab895110328cb0a02a5505ec5e0702652d2ec6c0b940bdbaa71a0e62caf38c6813485631752785e73b41af4b11de3d230ff57d766a19aa149b23db3d29a9e4a893774caa2e20206f28779a4f79480667290bb9301af9dc6ffd83c1522f8bb0ab6a3510628f0a4faa651b7ac2ba1f9e9085eb4e6e995202c83911d74661e2ac364c72532d9642a761deb1bbc4970650925a2fc469c36893ef0d0bfe61d74a64904914284b243c449e713bb7be56e0e292e28468b4c3e69dd9c8a12d4566dd73cca1d828701c0e14318c51416470d45a0c0f05e2cda2659b29260b776ca9844d0dd9aad70c4c79089dec511ddf2fb858986a5e30560f57926af6756c73b6000c99b466a6e55f77a1a85e4f06bed237a7cc5ed7d400f15f9116c7c854867c70f7fc6283aeeb3e3e7312e775f92255157f6ee3401f414e1e1836731ddbc3d69d87d8ac7f309341c634a9a5fc122423c61639d0fa533898b7f07c65257921cc2ca4036855b9963ee821343ad8294a00b0b4b2e7efcac49908313e7d6e411e044cc4ee515428474c9d500e6ec4abfdcb488e8070a151acaba71ab45996ec2636f3101fecb016058ddbbbdcf94da64eb26cc223c1b1076a559ffa067189c90bda2184a268d162b227ebce51577e5bd95d4855839ece738372ae4ff4730bb559b322406fa9493ed8b4fd36af0cf6034c3e3d88ddba47541b325bee892a05457728e83b6d0da8ea3b97a98264e86ca9c99f3c0e3ae60c8881c03402e7497c08d21b7d422f4b0dbbf64e20e4de7e6f57e580ccf27d0633bae574a6481e15e39f2b15795d7db7c95aafde4ab94934c49764f61d1f009eec2e1ed9a805a247e3eaf94185ebe5bbcc8f2ad7c431c7b703ba2be4642591ccb015b200e4cd1ca0ac2212e32c1ba75c7e73257d2ed6b010b666d75aca5e9d78f528bb6ffb7faed67e0dfb88aa98338c12c3535b4d3266403993f5c6e4307ecce00416406eec5393626c254f18b460f2e4e2db0278bf045d06bdf732dabc33c51549f28c1850a823ed612cc892efe15e76549e55173191a8b1c08e00d8ece3098e248a9d5450848ee8157bb4ffc78080f1c702d007cde870023b5fd80ae96ca26488676782347f9529a2b50d67e14b6ad3638d130e58519c5e02a63abe1b721902cce8e00e3992ab8af0be8938f6cd0878f4733d815e013b79b8a6dea5961b51dd62448f3765877239a8f8bd2df30f1bc8c1a55ab2a47f847f4ccb82151717646dda40ced183e64ea40c7b740c0f39e4f9d28cddcad174e216744f8b48a86128d3426069bfeee718c4ceeb8c74acee84dc9cb656cb6ba40ecfe64796a8619914232c56eba3ec5de8092fd328b5c46c5744a0507112c1fae6d0e852821161c3ccd3be9e9abd760a5f0cc21a31d9a6e9a784e20fab9e4f42f6d7248d149ca9809545e74fc7fc3efdcf0eda640475217c3c426de31ca821be36d4e55f59e6b10f9e084b17ca1a3a929db91664e99ba7175a7972f2fc0887a03b46956ae9eb0ffeaf9b6c71d7e517265bf20462aa8a77be6ebaf2838ae274f1a0fd951e08f2aa3db1e1b459c8c08bb3ed07611b9d1845a969139dec1b3e3d45190c06fd9188f7c9ad9dfc0e7d9b3a46411ca3409dd4e5656c32a306999f967ba070f8eb842c2fdf24182ad4a0164a594699d5b67ae3c334273b4f30370437d297e5c9b1380798bf8b494425d96eb15732ba9378e184f11f7351091f101f93137646109916a8a58a7b7eb29c45948eeb1d3611225f7e727305690522327fb8f9add65c62570ec8e3b07c12b0e9b00494cd44eb0288b1c2fe850af639317b1f1af570e20239846a310dcd2a37d47030e70b843e8843412fc37fd3eb8788ea622d102830938632ba6d3a95f4905a9b6f3f825b4a46b98b497b2b6493c8a922c0430c43158fa482222e064982f7b764f239e8abeab0491aa475b668890654ad968e806d77e5f87867d85317923cff681c06081f0cdead3e904b00abad5cc1c2d9fa985e12464f1ac629c1314ab9345bfa30cea8ed8fa6feb8db4e9523edba403618e63067f79e57f85d8a883afcbda25dd0133d42edb8e273f5283b9108013c01d372f661308868ec50d66f81c1b929fb1b939256139f0ec4995ea8af43becc6a53439687052a414dbe18a6803dfac0000e40e0a0788b68f9499340cbe684fbfab165d400078e7d4d8fda902787a317218944601a6f158a4db54f402569e5dab651b0aa4d562839cf02dfccd4443312610614778c2627c0e8bc8d88b87ee77bd9b30a708ea8976dee1de83eab12448702310d31ffa8d4df6305c2ad2f33e1bb5823b3f78d6dd6d16d5137415db24306e9505511fcfe75b1fb106eab4a812dbcf2ea4bc42a3a8713a6c4260aea2a7d15ba446ad7cba6cbd11476cd31889e55ef8d7f3396d1321b48d1e4fd8c284e7865afefbef28873ea612a64b107ae6c8a9dd92c4031e8e77334eff0a03bc2215346520546c9fb3005ddcb56654dc486197354f8b28d505a4ee673f863404df7eb65a820369bec034ac78ce7a9d0f0565d42165808e590be87013ce1e0efaab1b2eb6b557c410eeaaa371c1c6344ab917151ed8f38be4aa84dbdad7066e74503852fbf18feefe38c906583472a6b2b6bf859ed41a998b1f7d784f9102c1ceb688ae6e6140b33fc3f1c51eed573cf64adb6969491ecc8b66ad4c84c7f4170bd7a8e3603049b33f5d57801003b8faf27acb254693064aa72954ff379e0ff9fcb8148fc88e9f4a6a03e3b3e3ecb0469dc09c6bdc8b03195c9e5ddbb31fdadcdc629eec838c285867516b1f14081b68b8aabf86e4bf956b930ed3899aec50f094858f9cca100c5676bd3e06b3a7b0c551e82aa9f67a04a8cfabf4a1479173e1d9f497e8f3ac1c7c081aa9ab6ab2162242576372b0dca22da1429bd0e65a353574a8923dac927924f9b9f6249bbd094d5248101b7461088ec53c0d5af61881aee4fdd5fd62db65f477b5dd066c13a30ade13bd5f2729d862a7db9c95bff41d7dbfee12297c922cc11356bb63676c8c67c4d2a9ff53a892d9d9f4c223b2928ffebd84019b21e859ed846b68311ec8677a18150886a074d2ad07fd79c797f7d33a98ed0417210d33aaf56e5fae44aadc093681af2c26725d65dfe3004e79b7dc50a55af4ca251af28468413add739af8277ec8ca784bfaf67ddc96a69926516feb158d4c79bed5cc8724b9f7547bf4130e71c088e73502502343817702435361ce3464636ebc27684f17868e16f433d15068a99bc0d3ab37727cf6f4fe7992395091321ca3e1a969d80a8857fb847c5d094ae0150c54ad0710c41a9325fc4b068ac771eed5ca1f578e9ab77065591cbe5e5926fa0e629be1a1852fca8f6a615aa4976ee17befb639dd45e4e8ff3742b5a1ef256680283766a41ae1c120c9f7ef2d92754663eed89c7bdf7f035e2f76533796eefca0243b56c8e57186e2d9d42f88c42f2d7fa8fdbac498cb8d7910466ae7b5f824c39671d547640310bbec5abef5570723ee77f78915221e1641b70ff5e3bb02982ec8a8a30cc04650ad81601bed490dc1dc3fc09d72af34b6cf0a0c45edc7065974fcb6c04de83feb81bccb92f28eb3ed0534e0292ba3fd9b022e9ea8c3ebc9b6830d81bfec4a939298f16ae33988b3bffdd9cc7b5e1290b7efc7d53fa4375963ac823d27a4a7c442dc5160d4ca4038ec68649214be9413aa1fb97dd189807cbc02acd409846add796c52b01298f82ff09d62fcf5d8fc39945102af792da2b6c03eb3e2f9f29538e902e5b63e171db1f000f256e321869744884442310e4f0aa8e66fe26be578bb2e6da1734e20a111b44767fad904f9d45a118af194cc0b3ceaae29807dfabc0bc0ff8e9fc8bca0d98b764d3846bb7499f4a1b44142d7c704bd5659f8a3d87d81ab21fcc8338e1106608ada8e2659ce29964f7443478001afa00668438902737965a2de68dda55dda789c59eb743bdfc8944c2e0cce3c01730dad8271e19ee55cdb3223e4c8529df0d9834906e8b0a499b5df3c11f4a23c0157df56a9794d2175b89a8d3fbe3ad38efbe6096815a273b220e181183d52faca8dcfe6d1def7c811b9826ac8954ca87b65e8cc9a6589cd101ce27e7e574d273fba3336ed6272a465486d68efc53ff34995b9669c7702c194a07994649ce0f90e6270f173355f629de7a85168c1e19259b348297b18d7d3fd6e34c40eddafef292789b99634226e19f3b90fdd4c69e96d8b56b6902de8b48c101b76c7367d7abc985afa20ca84c59470c9bf5672397be9f8c038d1d90c33c5fe9712b9d1908d8fe0ab7d3fc22b99f6907a24e14315c55ef3378d009016fef2aa22d69da1e9fdc6bd191a7b6b7e3a1c8d3cd0a0bd20686753e70392e64968fd67890002db28e90b5ec42729a068ad2a885c52ee3d324d5a7d7208e68dd4ee8e6da3d8289b23b4b4c8515a1b797fa7fd96af2a7ef3bf6384bffa626ae8828ef4bf5535326e092ae8d738457dd96cb70531d98b6b4407cfcb63c1e183e3b724c854413087a9a4e078054acfda468fb35dfde097df15cd409cf6040e850ffc705437eb1c9c31ccf46b287e63e67412530bb8efd35b6c168e293f42db9308c5a6d8c39f67061852ce6a16a9448efb1b87896012cff0527385c8c89ec61a01afe004c70a51acc293476312b05586dfadd22616d0b1fbb1e5d18320960c3c705d1f96a4db5ea3d9280d18dbd1b2389fb1a2d3a63c816fe5abd8755666cd71ddbcc75aa190039a27878af5f36d35ad7fc9583e5b04a4b340f31c5dedbd630b7cae322b43e29f1dad454fcf938c77cdb2fe68b2d98f25909b0d9e539f7ffdd00b58fc12ea96793e3e5ea4d6b600aebacf1a6b1952d038c5c67f58118af65aa81cc54e214bc13fa22c861c2ed9546149ae7a69f8a3690fee12509166153dc013155598e4e395e1cedee4b9e4204a9642b5d9fa270f18c695c582329ca4043973a21752166f3027b9d5f2acaffd7498b655b5b830f2bc68d9126265aab564875924516af2964aa37c440eebd0cf2fa8609feeec956de556c58fe778e4c80eaf1246b9818a2b3b8a2d2b2078d8bf785777fdca6c7d0022177fee967e33ee9ef11b60e3eaf8fa8429e08707082774aceb6c88c137e886522d08ea7c671171ea92b54a1f7d94183d6a15a6940ecd72098ddf58deb7632a28d03d6a524fb10cd6a68cf5f0b4e6392f4fc98f29e8bad860454b9bcc6d08c5d2e231cc44c696bb4049f0e8da6c7e9d0fd66a05ad0173a1966d9f6426d6b2ff27722fea985c3370ca5a8cd1c6109c97bff71c4f4171669840fb3259c5c314a6ec462527439cf708b96eba0b6ec662533f6243e6559d953daf1b6ef08448f0e0fbd478d054855683ae7dacd5709cebac1cbe705d55912c89bb902a0a0f64d90c968c162c390d87cf97a3b3c62b05259372918f15cd38314d7dde9a2c09e8b4a97972bf09b8e3174301c7295e6518bbfae07aa3d3c5ab66618083da7e1eeb77dae6f60e8ae54e3fbba67e91fcfc3f4fcba20df2051ce2599b4130c9385e3b54b26b076844a06f2169c612a67f4b356479d96ed6c38284519c36cdb02a9d34833d5c5be63f15424b464cc5abf8c6c80edf43bd177ff7e5b146cf9a082bab10eeec43df28a1cb07a6d59d919c28a6fd318e1a890ca74ab6ed27d636c3e11911e1ee40eff103ee6e4a09af608706d136a833d43aaefcaae2f33f8413bd2cb7ea51a66591e68d8f6996ba84ae3e1e4ca5a8191aaa50ddd30a24818d348a616bc2d0e4afac552bf4fdb4a7a9381669d2df306e977687bfa8580b3367a89ad04775ea7adbd210f4ce30d1febd2ffcc8db68ab59808269070761da9543f96270a2cea71f1a09d0eaf7cb7ce88593667acdc493bc28a1ed0e85fe9e6549f47120fb6ae8bf006eaacee14516b7486f3d4ee97943caffeb5bf2eeb21af146eb90d37b7d6744120a6ade82374fccb8d45021320efec9825ca9a6309dedac579d8c075dee47dea181c19a6b034141a40e344273b65bc38206ca7b07bcccdfa58c3516bb93765148c6bc61290f1fee581577bdfe8bfc1215856cd1d3d0c892ba467ca11096b88fd79c837c4cfa59ee97797e73ca023022fe78b065847a3f18436a9ac7ce7b9b134479a6db7a08bb55bf834401ded4c04b5c0d161c228d7208ac27daeb9938b3c33cc12ca9727fd0b30039b1a36a9dc42e1646ba805de02824497ebce1f355729b82024a494839575e3bb273c8b46265fcb571621db97d741b955a0a69281eabd9953e129e30e579ab18e3c6f9566660abe4182ba6d0066b3acc56e646c5f77c51d817846436571b0491ac4934c5f3eb9d53ac5200d4d0ad9015b28f07bd9b821ee97757c5532c0b202100a9d012816f012fa5f664140c9c2b96d38773d3723cb3f167d7665083dbf3dcf0b51940ba3f00e048445e509f7ee71f28c030d86d9b1d72aa3c68844f392a58915b65440a22c5f51096d0e1b920e9c9fc9ee0163431228cf2bd7d0f1f269d599b9f35713f73246b2688d60e5c79e5accb91fa5978faec2d7d546d078bb60f1ccd298759ff7503b3fc7dcc1e4ab4880e47ae84d0836da7988fa0d60da325ed474ff8bb9d7c12271fe5b5506f8f227be252c50e3c7f52d6686e55dcaa1c02eb8155c502af4f962758047445c145e8bdd2d8fcee605a763fb256ebed85028f95dc33768d421422b578c9a4c907c0e574d0be6a2a7f6af494d06e9a76975237fd71dc47adf2cfda928fdbebec60ff50d726d8fe9ceb0c621dff32b3b73a4dd30380a0c46a5fa856832e21f80732b55267ab807d8dc4329a1b4f5a960682da1e62871578cfe59655c3faf26ad9949fb5a6a1e70bfb424a1966e529c15fa7575cea6f2a1cdf1616adeb002a3888d41371d3448c9156b8f32ad77f8809dc0675c071e46f45af1af70933d25f55264dd201408c0fe46257cfa2c785be4049e69069b4029a61a5d524b5a97bbf8ff6ab053056f417280e50f9f99d6985385e26069d8a79b2739b9ce5b90aaf04663e8263cad894f004828cb2d81c1877ced6d7a959353c48acad3447c142a7ae24640813ffb353ce1834d681245cbe499a9bcd506d5f6e8935e978f5f345bef0384cb92fbd70c453a49bab0480713ce217f0ae5a1a18ca1229daff997792b49ab0252600f99f703f4f25949ec199a57f1f0ba0bb1b578e2502716e9fde03fc30d58b6b7229778d31fdd55c5267e3a1b4624672be5d1e0e85a1bb7cca4c9c49c2517afc4022fa1ff36400123f8b2c979c39521da39c8d9ca178f42dd0d706f90c2a71b3635b8e904b766a5e2a0a535770b8913063b49b7d063525feabe3d62a32cc54031a3f965d56764d26a090af5fd6db330510d70b7615a7e1237647087bd7277fcc9ae5970608a939050d8ecbef4efbe9ab76089c67f0d3e29458aca23cb77628e60d39119608c1779c6de3a0e3c272de83889864bd63038594ec30f1c7e61aa161abb471bad9bd70089feb4cba1aa7466c397ad06adce566d01bd5130019d1a85ef6347304bb60430a1ade97bfb6fd68395a971c31772fe866dc7026982b42f0ad0a00bed9e659a8e8258ac0ae7bf4a5d27e7d69750622079b4ce339de25850821a53cde67fdbf35c92818a2a1801c5fdb3c1713e8f5366a506a93de6d1b343403524aeea5c1e69dcdfa73375e321ed01bdebf9fdd2d204e9e33dcdd11545421f7d51c58df5e595710f154173954294ac3a3681665efbab9f87d5f1f80a88f72286e8e1f3abe7cbd189dfe9cebb9d68dd60e4765868643af91432f395f5e88f26de281f99fb337fa1c0fd490238272606d5fcbf72a5436f3bd14f8b62e5b17a4536ed0bd5e3ca38cafc71ad70e5b844053342f4087799ee377d9cc4e2a973b7b668565f065ccd4f8878868a625a0083a3901eace1fa4ba96140b6e2931ae82076113cc390c0afb37c06762c9914896028ba5d394ebaa0f3c68244e6e7c15f5a93b3fbc10d4afb5058251f227881f3305819ddcf300ecd7a4c14eb7087258f5d047bb6335703578261411d9a9fd1b71ff83cc4557c657a15aa6682d40f66ecfd0f387954cc21db8ae433524397bb599e787854667213f337c3de4bdd480ae92de7c31cda8b0aef0fddfe3f3b9cc484b6d49ca545bbb243e3338e168cf6bc9733ee776935c17e2164613d1c169ff5832f56e12107bbdf82449e94fa05a6e7799d0898a0d7f6ec81a71aef9a75063be442ff2c2bc957658092ba593cd3be300815299a14a51fe6b95c455a2f4f4436c5f544f16309b7d52fcec89709d4bc235a348e67edefe2d184e4f3b8ed74d7418f528ea6d5eb42931468aa0effc410cec864df10b241e53e02847ed4f103ea3f67c735310842d5666ddeaa09a5173ee5b67aca0cb6fc4dd35c916817391c3e76271dac16726ffaa09c719182ff81309d109411c9e2b08a783b32a5dcedef0b78ea4831c29484bec92ee4756233a5cdaf5136bc8bc1c0a1408b12d051b30245c679e79b52c28af03a4552b865d28ba8e90e84a64b7cde85a10c1b278a5c7b11403ddbbc96883aa5ac1f6bcf4cfe240f1d5eb31b4835125ddef2f3688d75012bda468b425e056e1cceb7189df2ce876548197aa524a1618f0e376405750f8a4a5715c6e6b37ea3282e133433fd8572ad06b979274a0c47226327c89ed69aaaa8e2e2168b1fc5d629db8de8ae833971bd8b333c0127ea37f81404add56c331b2707ad5696d899f679b822aae329f198ef2a331f19da9ae1a646d2f012f9c55faae1b76065e12b0064a96dfa02a256c8f18f9fa5de11e2a238a89de9b2e25ebcb8957ced4128e04d5c27aa1f7d25457c95f23cdcd747946af25acad1abbb780c23dec287039e8be7a41de8f37c67a6731d44d7bd1cae645dcc6b6229f6c6c234758a3f5180f00603caa118e4b6e4f60179eb9e0b18438176f4be42ca5692257a9d227145cde0cc428f2f4cbd0aaf0063713f555215a1dc2726a42f200059e19bea0ec34d315fea490c14f75a5e5a46ebdc931dcaf604968a139be8e3acf1783b95a280a7a8f09387f9a204cceb0411351d6a3314cbcb4d3f213c0185bae1017c878b852aa5bf4b6cc45a8b1cb70f60d4775bcfba529968f7050b7cd46be2058d7a5fc2be641f3cbe64c08dfd4240db465faef659b515a83655bd2c94d54c3cfcc0b644f14b1a84dcc6253df92358f468cd42597f5c89eca75be561a7415d14292e53844253404931abc4ca21a5d1d2412cbdd7a89818c20ff28285f57282d4e94c9aae14470c21151299570b288fef48fc4fce96582d423bb12bbc8464bc841501296d7cffe17b8f278cea46d6d1138832e793dac3b3b77d4cddadf1f3c345f2cdcbc8c5a22ebeb4df7d5286be570f5d1c1bd52c8075c58fa6a27b7b09797020a489168e1b636d06b7b10ee4946977096ccae64ea19c1e8fc08bea89e31e6a07b6d4f65b359545532cf5ab4f2fa267123ac7a557298b0269005f4350fdfc446e251fd633c5770595acf80f2f280df3d00e670f8d14f9cd207bc3f82a4a55b9a7dc20fca702ff42eb70f42407acb8b5eda79ebf463a5a71fe79ce5cbe8a3970048e12741cda957f9d7e5c1ce3d173632d2fecb60a9e8994a728e2bd3593bbe937360aa22c307fc2ba4601cc7a8dff37a7e5afe850ecb449b0ce2bff285b06a4a7b2e091feae39a98c73e99429d513ddea75ad34cff9d2bf3fad533513bb5e19232225f8ebed834b7f17d2a679e050a453e8b4ac4edd9c4bc66db56393181225030441a392cd0e12cd6a2fccd83cf3c2c8b39a9d01e3320c5b11c8b28a88e77b8daeda60b0b894771b70b9f880947eb9e047659ca978f15d96a9ec3f66bbf76ecfc1f27019b87fbc3acb7849180b5ff63deb2d07ccdac589b781a84a3c30e6914747fff827a42406f1105223b2ced00df85d58951be4ffdecebb3cca3e7f1d7111f9422264661d34fd8f988a16ef0fb5bec39e788ff12ee003e90677f2cef3e456df715f8e763ddfd3887b18fa904b118c36b7e77b2e28825fab09a9bd0ae143aa1c894765e533ece3e88166b762cef5e3100d035642daf29156b0bc44130b97dba777f3c16bc337a2f530a1882e68646e6a4644a379c3bdbe9105029be8aa4eb03bb1f9b776569c42cbea898d211e8ba9646cbe0d88008ceb2253ef802d30ad3b26f37badea9c44d5ed3de15a1727203fdc486040e309f39b7cbfcd6763d04ccbdb4d68a5e99ccf9e2476a81b7c61fd2233c9fa977bd57c66680522806173cfa874096a4475a868ee67c12a41b1be4f04cbd004f08715e5e5619c34cf3eb01d1997486a2c1cc3a20b610971bb8088c74c0f0e7c8983564b8604121cc98113b3aa346d1d04e1a67bd01feefc929a6cb7539ca442d23385e10f1dfd652ba090226dc89fb024c01790fee3d3db928a3ace7680265160f9b1d220649bfc647ba438715775db453bd45a463f40347f0b9215feba06c6fb2b0b9bd4b181d5142556eded632b5c63d4fbd6d4fb501bd9871bdb4c6f7c188d67f15c856cd21b94c42413ba61b4761c87b5eab3db740b4864acd184f4241790d2021a4d87b46f15b772333cc4714935830dc6d3d016e486719ae44267d4c95c7e9b8e67448807266073f53de267871a359f0cd619082bc30fca43fad1669c27fdc89f8f3b6deab29fff274972e3bf74e3757171f8d6815e8ef5e0600068e8d3ea6305ef705bc27a0343ce0a88480952ed5e56bff3f48c6ec358536b965fb3149d9e5be34b1250038a8f4bd6a6e3dd1b1ec830a226f84700012297c140e74d9a0c2eb871df24a610eb5b97127c595d43e919f65d11949b03d08f2b2ec71c22fe2f5abed9b138402a8105b47d7382703d4173684d74c4d54207164d091ea38a1dc7ecd583f9c6bb872306f0d7f1295416dc582913bee5dae8c06a8ef474ab165c5ffb43f7fccbe84f97dbc00f792d9bc146e350020bf8c3ed3808f88fe9347828fbc3aeca984850064195a2b2138eb1cca6acd4978436a1eec3647acc211456e5b2f6a069525ca8ab1d98436a3160a4284bd62681c69d5ce7e090ff5d36f537dfbedce6275f1a1d4c7dcd96420f2e1fbff49855a02fe0d57bed3429615e18998c58665e1b40cd4e48366239d05daac306e2b0e525891e71d992f451f2325512eb44d9d9f48c1a0907cba5a49acccf221de421033532a81f29c63bfb2daa5627daabbacd289dd1a7d636a0c99ce32a2d8d679532a8afe777419d3cef1340027d67242639a8680187f1c90b0b049df386f384ec3d6dddc6b899ded9ee3308955ef4ee32ebb8f71fdba3b09deaa388e3bde2af5cecb6f36c60ef78c082f86592eacd5ee71ad3cf7a60f382bb2053ea52c9641f265bf091c34fe027ac5efe5c647d1d3ef07171adb545f29be71aa2d3ae5a81c3d60564baa03083071125ce1dd4720e9be70d4101c4a38f093c61334a06ad713323876b706dae6935cb8212478a137a2b6f57b370987af8e2e6b6ae3117ff4eb9b7614f74f081abb7329575dca93dd62c50ef0a2d5d3a9c9dfc8f70468666f26baae4354129aec91ec3cea2bbef04bebd26b36bb3d680760d9f55b7eef0aada46bea282c2842522f675ecd0217c7089eea7cc2279dba2350856294d992be34d73e2a5aad76151bd96ea38bf3afb0cdded3c7c6f1309b8691e0f98cbaeae7aa0f62a1e2487241b6efda35e26bc548607ded3046ad4f22fa49e8eee018144ee9480681af2364b73eb85b49b8e4e4a5cf813ba00c3f9659d8f9f172796ec82cae2d6508fa6953113ef56f6277f3e698f38627a6c3c1b21565b72e504f0b38478a4acd6b6b7e835b57e8a08b38a44dbe268a8d085690d8d3662054c508849aeb075e41c5ba460dcdbbe57e49b688e47058eb82368ff62c9fa0e9a2b2373d80c832beb265bc158c3d4d92a97baeea3edbe946be5a0683c526979b8d6a3591d1f88d8757493f5ffbe506085a15896ee559e7f77fa259658d8272208dc2e8f5802cdc0c5f1332ac3434471c0eab2f7b8b3633858e3440a1b34d88d51a67d6b6c33f272147a73d8fbd91ceb9946a3d0118cd5f800d0d5e4db7ad27277f1f32b3973fcfe0a4c1fbf7293b39207e78459571af7b56bc85cf09fe351373974370b9ea6c8ef418b06d0c2333ac544f854bc62fd5235a9ea3c3c41fb3855716453fa1faad5fd325c0dc5ac9eeb74c781ad08a5f8de15468bae8d324e6aec9d14f05cfcbd0507de47b58fddd4ff1b4092fc0a90525eab691763ad149cdad97a9241cc3acd2b088d7388a8b30ea166210e3aa3ede932dc7bb66a7f0f7280a46ade4d9b862fdccaebb09f6be6d265203d6220ca9207cda2e7dcc327eae6bb3a3678e36fb91dc62cb54bf26db75e93a871d5d7e0a4beac5ad97887239bfd7420a734aadb3a48ca0f319a80353f81f3cc67eff6b7ff014a391fd09378416ca817ebf66d650fc5c1f0aa0caa78e8425dbc7bcfba052e99c6eb72e82a6b8582f967e35ecd2fd4dea606c44d8a2310ef37880736ba7350ffdafa5ebbe54057647486150a9240865c1f9244fa650af4ee0b15438131c5607bcc2a17b10bc9bb5c14f1c43389d639c39dc2a7705cb329fe9daa1491ec54fa539df2c9c6678564840d2aaf0ea58f01f621f66179279889e64ebde35d605d945dd56545913ba4250f1c1f59186bdf50abbaf994c1ce156a3e5eeff5f726a36ad9825c6cfbe96894c383f4e7734693709e9b084dbd04141fb462a8f4fa9ec7fdf2c1004a00b90fb2e8c9507c16b779888abdf7bb7202818c6b5d0c53377249c96d6c9617c76ba1e6a50c5800cdc7e98fdb8ddfdfd0e3bf0c4e206e02221b7ca1c421cce0073db68b44f1943385456fa951d3ee7d4c2febc7b79ef9bbcef0b63fc682e4803733fa03dcccc47ce30d8a5f8818207afb209fdb0dbfca6911967c3f4a57eb7253c7e89e72169b64f71e40f23cb2938f34d8a54048c44170ab85fd2b81e4ef3a6e38a0c3bd2a2566b6701a93ee8c16204c174fbc47c2a929030847b67ae9279c590f7d7c2dd9112055b7614e52415dd7221d023cb2d5aa311c523c37bf567e2ccecd9a5e88439db6aa1ea81e559a6381433fcd048b211053547b3136f7a6e5593c6534f576340d4120cad16f48f0c0ef72d4a489d11033a781facc5186fae59cde8b13644f750c4b1d54d2015f399415d377fe3cefd0066378299f78e2c7800e7c5a4ff39da4538ce97b7b6c13c7cbed550e24847f187fb43459905e013eee43d92ad5124d244ce2b42d0804ddf5aed0dc53e10e9bbbb7af8d04c73eea51acc255b4cb65d518022fa95863f1d4b06ad2df9ca91347a014bf52949b90770c886d32d8ee9879e4b3b8985fdd983016afa4a50e89f678abc08ebab0cc1d6deb0a5ec65cab4db8659b95b445833fc9156f482bece829b39bc48df460a4a6cccdb6a50d66f1af9ed35d69e91a5b5a9f228ca109d6e105f0d8654cdf9b08be08cbc571c121c8be018fd74b5c72e44bc51d9f1246cb8fba531fcf00b3894ee287934a0e1065da6c809a50bf8c6d489031cadcb53385c0e581386b41a402b167abb102087821fbb69ba2073c8bb7efa19675909c46b377ff11d81e0d41b4ddc885c3bf160a208cad6da5a64c06c7717bccebad62cf68dd3164d69add9bc902af5b2443f5f1afbd5786e2a803871409f54f58947aa754bfbdaf1670f1e2d9a09df870e78d1c534a3dc612d6d0a3a6524d5ac9f86385f28de4578c7ecf0cf384a5bb1beba5e01f51030fcea02f6f4a99f62ee19c05a16260ce23d11affba71e7ed149432b7b060d024fca7c85f7aa5f635b2d4001284a64be7651e953db8d5ba2b2309aa1708ff733d034952ebed3f4cbcc5260cf121893858b4b5c668578b061843335a6c36ec2f40d482be66732e14b0aece4424a6ad4bb41589da4ff924710b589d4b0f3d2c6f97cb845e195b3dc9a8a1fab0eefefe6c4912b77f3bcfb7726e8db543311f5399dd83a8adefb0b1bbbd85dac6328831625313311b53ac178c059619d121c9f45298d3b9cf30261c8baad3cf0bae50ba6a9a2375c5e13f62be87d005262653c3a599d4818ed9a5dad3a8e2446dc0a5be781345ad5b5db97a3a6b1992e144e09c31fb5e0a3c7cf4ceec0db8589a0cf96051bb83bd5340892ec1550a9c9384ca3b975a4cedc2b7e6e432cb3ec0719c0eda72bbc13577d7d1a22cba2ebaf9dfd381fab0d912486a581599597d5b83c187772f48cfc5af49e6a657e3d6ae8bdc3d663afbbc74dc83459206305b85af1538d606c1353cef35287538bf892f828f36a5f528e1a09aca716616d654d31ea30dd9c03df43eda84d5d426d3f7f88412c87ef9833d849b76674e1caeac2e36f35d5297c8f790f00ff02955ac4e85336f928b5519c8fd7454dd29289ce9a1fe9bcded73d6710019354422192d7d2a5f39a60670ec607aa0d02d0ed296ea8bfe91e67b27cb0f8228250640b9812851a18099f927288fe2d87cca15f64d88871188bb05b5252f32246afac6008c7029fb7a701b898153632f48836704d920eace24a43d949bf51e55495b6541cc9ad82a58fd232dceeec55c328931994ee47bc7931f7b80e1c5b42a19d3b3a294f6e20e57994fd0f79e208ca3be220e74f4a9239a2076af2b2ac54d5565238f97f62e838ae8f2d69db67f1f1a14f5f5189bf25d1931f262fe3846f69bc242e31962c6e28e81e5bbc82aed54d57d12da46d02342e50dbbd5f8dc54d0ce86ce0555e750b1f59ea49592471aaf79277511d4d659daeedbc4c0f0e63b3b9c81da3d74fa5dad1aba4acdca81599cf66c5b01f4b1558f8c8f9a64044ad0d1faca84cb602dc35df093dbf119f13e39d7a7df490228f09e814ead4433fbd82f152b1d89ab78572b07bcf19ebd5488ca71604bdc364eaa1a034a6100ff6c90297ab2391cc4b20ebe06f473da057e09a0feffddbace7341e2ae69fd4787ab8fe6677313bc1a585480db659ec5e29e38ad0c68f953b1978488a53da9ad060b3918348b4c72663b7abd95272203dc250e34ca02149640ea70118616b6d9f6d7440caa7fcaf0ac377ed69c50e129ddd93702295603da7075c90cc3b624582bb0ea9808529fdb2b119e0e0edda439dc467425ad9f11bb7db5fdeca4dc08356f305622ee098e4ef53b72ec8b5a7c7d70bd30f66c7e9573c1064c9c735b24c61966bdfbf32b419ce5ec24e6bf053fc20efb621a32008dfd696fb0cf4f88d8cd253a7c6f62603ed057e1fcf8efa4cd201570fa9e6c7ace0574864908b1472983be6cd6e7706bf65d313f3e806f3d8653ee56ccf3cbd26a13029ac0fd9b92122714f08ae1aab4ef6ffa7ab33e90247ba47b2a883bfadc36162fcbd5c837091db3a4a8243bdfa497e0feb9d6d3637cf5399dae2316cba19e0da95f32155ba1826c5843f7a4ae40ebf9759a81e0da04220c1963596b5b6daa10c11c686d8cdae25fe4e12c59f016b95e04a9b74c2acf1172e00660eabc251a6fab0538a1feca56f3233de21f63a9e44013cea238a6c21de0efc4d33d9bb3b1484fbe5d1c9ad13772525491e1ff8150e14f75c43c2660a7bed7d5f824efe93d70d77e492df088fd67fddd2bbea7e2c816c65069e9af35cbe8204ac38b2700308df86e0b6520a3a028ee4f2b4600067b07c513dd88e970e1de8a6ee55f705c263245c5a21180688f7d6eda01972618104f864414fa69b97d029728f004e05fce9c5e449fc034e7b7f4bacb817f03fafc1a9f9482d38ebd4cd34dc1a7173a0d1973465c2aa198582059ecc976575363c083cf32b4a313c379e016116eff7af15ae4b7fc345b450c49cc589183a586d78a4a056f388f9049e87a119f48a174f64b0ea97f7cc7b22dfd03490c2df0ad210c9c3e88f70faad346165e3af689417ce1c167f41ccd0cbd9b66b62a1baff2c3695df59209489645aa5bd0d02e5d3b04572fe1b242b4e80d382e9dfb6061829773d4ab3d1b6402834e3d22e115c04003c2885ef89fc9f85cecc4f23b9fe268b9b2d90c8da697073ffe18a0de9833c5aa65e27d0b37e880dd431929ad1e735197ea9445834877f13fb299d9b53caaa258caa793c2e7b6e35756a6fd78c72ab354d6b7ad8d91cc7da2c37db5fa846eb818cd9fe1dc9627d742ef8a314fdabbaf1ed72d1828be5248ac7e0dd3b7b357bb811d5c323b370bef47483a3fefc386bb11d1550d2f5354b94a6ff62f644044c6a78fc4278e10a07cfb7b5fd7d213ea12417e146827e5dadb0424dd80d5a105d896d614bc35bb172d4658e484eaf5a91b4633d6f6ee6070f7f3f80675fb198fc14eb231b00eb6a4cc7a4ad5b94112feb70e61f649bcb6a13ffe370dc9d4f76c8927f36e17621cda5dea9694a34ed03407d26df7ece7228d379727eb315a7cb06da38d1cc6b8285d1d856dfceae17358dfd0c70006ffe5533129b2fda4b110bf65ffdc2aa173834767d6f57396c50e75ad69c588d31fd42a378548151aa73c147742144fd3326d6e01466f87ec5b7aa19f098a1ae016994814f27194138badb6a75503495cd3d77d6f9bffca9d37373a8c24db702b658fb31cc8eba8adceb74859a6aefb44f14542246fc835e7601f865de20304dd1d45ec5172ae082f5d8594082e854f6ae6959c8a0eb62819ac86ac384e097ad759de5f3bf950dd8a36e0a3b1b5ab1e81f7b96a94a9fb13006d04a9a3810b09ca73665dceee70baa7987d70d5417ae89a1e2804da4405939d2cee08f090258ba421d535fc1c2850cc95af23e2660f1f615eafefb4133d5c90518c2ce1c22245cce0a99a535085400cd5c87fd60edafd0ce9773a29f61968cbc0d0bd97f275b8efd5ffb398c89f5954adbb379ae88686480adf90a9cb16292ea03a200e90f5611c236f2bb04dd1881c6c91d7e73f3990fae31040a75338d7b269f2af32a757f4eb765d6e3c2b7846647c990e1ef119bec65b2352bcc2b82a331c03486a69c3941691a39ea439ebbe7e49bb8608ae13df2d879a8f3bfbe24caada2d9ff890753f4d713d3bd0aa87c69bd6a9401460adbdc30652e2aa2aa4fa3c0b3fbee6838f517cc33aa293b81d6942007c61893ff0b8c40cfc133e0f13917d451eea43ffdb257346a113ac4ab1f88dfbd971cfbb4dbbf96ec9831c2df7e7ed335e455e36a75b234e4286a5020cdfbec7d38cef8f04d109dd1ade7362fb605f0ab6c545783d8bb0d8d044e4b1db18f1bcf35c2726ef5e6272d92d77264f54dd7c7747e7bdc6709a55f98365f0a98e29d26ad11b4d7360d4697b8818827cdf28a03f9553a0a8dd8072fef741b7bc36101a21ebd4617f9a64e3d6938795ee0bd8d222d692eaa05ec1b759d3c17bd303758076612f8b1e5243a2e06ba6039d452c18c208580a55076491cdcfa8a2d13fbf630193017d763490c8f7e6c5ad9cda2ca2d314769b3373532d92e1b776baf270a53459d34af9d64f37b70e2909ea9b7c7c0b9281ae3bc87792ca08727b70a15ac769b7e1c2ff9b6b3cb263722f0b983ab250cfb041322e0d59ccb7d446417d0dda20d1afd5695817845f5ccc9f80250af3f876fd78d6fd6383d76f6a8d7f054da8c1af955aaf306171ac3437f834b43bd9b2cec171a65d72d6e58405ee57754a1f8f5dac9d196fad48350d3e19e505ebdc60eda5184822e6e98d20d372edaa601efc00f7bbbe27332099dbc44765bf017303095ad18cb53633e2c2d0b2f1e1c22e1a6c2cf8c2f143d983374c28354b3c636fb1077bd21e0a7511cd1f46d5c836c0d6d845b6c6a17c940322c93fd29aa8edb0bd18bedf83c7d1e32f3fb763f3f31d512925b605693d6e40645786c4e30946da04ce87ceced2b0a84c833934f3ea27fc60ae8e230973b9935fef551628e3d8257c764ed00d264c3ed266e099b4e120df1dd09e3b24ce2092a4826ac69d5489eb320224c0ee8b3d90246e2d97cf0f49ecfc8addee9e63ab7bf334435f51589992bc63074bc79356f98ceee67a791336946d87338f932caa623e725d4302defc9139ce94110d792488cfe94b70571cb6ee416afe39bb27852eb8796c618c864352300d1934a177c83a95c94ab4bf3fea9cf191579212bae5a2c811960a465b6bd2a94c3cd7eb8e700e257024663778563fd18233aaa979d541680140803a7dafe593b133d40bf9baa59c6e9662ad7432394d2914d50b2bf47555d92fb566691c4e1e6b4bbf38d1da41c9fa8b1fe4a2ed4a354007a3232eaff7eeba521e02333d5a8246f1ab9bbf58c3dc93141bfdedd03e7930afc0954c40d453e873e062cc9575c8052fce08d20b4b50797ee00939348fb1854607915ebe4230f4dd151b24a15b47f671cb2fa4e5b21b209b1aa73f68434f97932094cbe1fbc8ac2025402ec618f04a6d844c74376bd44c451d4a52f0557e05ffd72d0baa69c236c1ebe10de209007e9ab23c219abafb64e6e9ed657e6eed8f3eb92a6dede41782c29dbc23689ed11ebdf4a76af33366b339ff5743f8d77ba89b0ce7b7efc4fa601fa39992286f59068a9290cb13c23c733a4c2374408f9c3738655187eb45a5b2cb174b101f8ca9832e7b7dfbadd125e373798f87fa449281bc6cfea26f6f1eff2731f90efd154fb1e7ff0187c984c7b8e27bdc90719aa0650a989fd85484039864967809ded496cb49e9caa307f76d8cb5a2fc502ca98c876a433d03c5346330b2558357ebcd96acab0edd427523ee2dfb4c52743bd697c28b9060da3a1235acc30dea2200a2d91f41d69522d72e71e3f97c9c7e48fe8299e1313116b4e1ac74ba747a0b2e4bcd06c054653d0eebfbffc9c60e4b318e41e0bc9a2aed2f62b5a882f5b2ad8720dfafcb06da861ef15dc94c1523d395faa840f0da90a12a1c62f9c1b2a18624fa1473dd432080a6064879f3a2ea6f692ab3a0a4197785d7c158b0b41fe8b5abb305df096afe2b95b22834695a1ce042d15016e63eb31f0e8c5fa40a39bb03a700820bdfd98779023e136dd2cd3e334b7422e7db91c06d78c8f39d1dcdf488fe5a7ffc8c2d32cfcaf8323691e3dbfb8de6d6aa65759d933843ebc6543baa3771fd31184906b1328803045962acbceafb4188675d3d50f7479029c8113610141a4c82abdc5f97e0f46e029f97174c11faa5e19d85c0d8214590631c50830a1e9d91e961fc43f02cf3e4e3fd4ce2779e20bf337647a2912c1fbcfc3f1b25f426e0e3e154df2e44c781afe67fdd4d1f05057c7e22d38dee04a506d1d8036c8090ca8aa4463825bec7a6aee0c44a6cda80d58d641110eccdeca747aefd0ae3740fb8185f4fefcb904034385960af49ec00963948b1f1a7c9e5b54e0a509c79c4dedee0658d9aad45dd86a0eff8b76535fbd4726cac273513ce0349d99d17f2f05f6985366ecfb17ce46352bd851edea42ba43dc3e4932a32a07601615e38255534687be24d9c596e42bd7fe7f39e083e1be438b571101e966b646da0858bc0c2f6e574ac6198a10df5a0aab3b56854b7894d69da5bd47e86f06d1a8085492d2045b38f9389014624f5776a3880598067bd35690e35ca986a6f2de1aa67fb2dd432e53ff2c793075009ab741f8c472a79f26f956f660761712bf57741647641ec41add77cee4e2e248344ad0cb00760f7a2b785793d4516a54225c4e9fc9fe8df6cd1009e645bd240fcca6ad37ae4f39cd9322231acea5f61ab47ab8716534d8001f88dbdedd4b853b53f6f4bbd09e9dd9c5d87583efbfb96929b7f8270f2c3112c042be8147b99f70af0b6625645ce484075948d090837ea25b8d4024beb56811325e9c2d8d925aee04c33cf7cc4a34694e027cca62e6fabcd6f38438e0a92405774ebb05cf15ed5c9d2da072eca2c9a4bf5cf84619c7db4b4ddc1e0974f5a2f9d2a3c2f947d5cfbead3e787453a03c2be7a0bfd97fe0ffcaaba1efa896197ddb2dd7b917d9276769234492ffdce57faec0344442dbedce2ab494fc5c8aae4b67b064ffa15cef1d0076c4e329562ce19b66f266cee48077eb3a3ce7b40ddc20f3f765698cb6ffb4f7956b0db3ab41b632c043e6dff387a793b07021d35b349f743a1f10db4efb161bfbaf05fd2e37b84fd01480cc3bd6f918a2f42123de5409421ed72b6901a482af7d3c5516cd80d6bf67bad7a96a304e905c38f94b6e581dac35967ece0be139248e6cd79e7129f7a953d34d3f009c981ab2a5330f62874fc2d53a5fefaeeb291e3bd1087ecb7defc231022170e02649728059e5f72d74f4a3e5b5d722143c1321f102b2b5a097de9498a8678b7fa7d7209e035478af2568ce95a588852135a2eef60d24b6cfdaa047aa533bf9ea9bdbf9897c78c293dd4516fb1be3c125bd49d7eda9b1c1ec415caed85494911099d4f06fb2b422ccc971750e0119a27aff94550384f02abec3be2fd3011429e0dda1a4b3a31860456441489ae9f3c2c12414f0e2daf816ea95789a52d3a0ec3d51c9845e0e3e910a96438f4da376c89b4cfdb4b592d948e784f8d92a09510551957cb5877f8e2de3c30c9b8dde6f9b01a7a146d18d9d2402202ef61066fe0678d68cd2e7a15b347d69edc53abb3022165caa0a793fb78aec018b624088ddea0bc2685952deb7cb88b78438391039288eb0414f565a317ba1bb5b3ae695cf71a1265a0185fa59464c627812bd6e4b5f0cd03258cf763bb929b928d973b576b46759afcad0648724398eb561a5b3b433fbe7b58ffb3ee764dc6b6ec7a189bf08c244b41ecb7f057f2f54f5787272c74d4ad307dbc5bb66ab63f2872e57755d6b3df98ee5f604476b4ee1ab70fc4794f5bf1577e3edc7ac2b87571fc1a0d47da3aff87f2c6a1abea2299d23e7c00250f2a9c2a5dd5d16acb434fffd0e600a68f8c67b3e3195a362eb0d11165e3c6ab829ed7d697611b99eda1e277424fe3d513c77115655d3e8200f818b9f82ea70189440873db9866c6327c47e905be5d396575e54338598ea44b8adfe2d1718ce6bc99c42d56da9968e7190681439f0f9ca80c915ed0e21cd9b30416b84bebfeb9e8b42d8cac475cd861efcc98297fe2a40c38cc3d1c4b877bd4005c25bdcd59dd6710db0aa9bc9f583a0d1d99a68b3c914f10ed5ffd9401fdae2b3c6b1a0e014a87e96ffaed3476322d0225780537767e3e4f9f8f3ecfc651e501402734d0278641cd36da2fdf01f14e882c65575c17412f50dc59210bf67209dfba5fca274df3f6b00660cf004f8a8422c1611e3578fa623ab6dacdfd0a9fe6ed89756e51b2d4aac804a0ecc1271cb3a39f785ca0d003c545f636801a47bb6e52baea119ee9523e7562d2d20d2bdfa7e6524ef5467e2b630eaabd7066d0df172e33650eccf511e61a0480d8c19415bec7122a236e8f364a761597c61126edbb4f7dffa84db6247ace09e7a4ad507d35ded6b07cf202a8977f5822a25bb5e98e01f014401b11f3541cfa6c00d9a3a7b1226d98f53e9a149decce1eab513b5545d0bc2f76872ee535b8725a296723efe80d07cde00e8453dc7e5ae2e040e22d616d1234217bbc8cadb9514af532de45da2565a927a454e4b554301c662ac3575c5ad75f4b563b165e4c472c04509d3866f17c77cfec0372a54f148a122d423326a18c1b825e5344832c9f07db647b580fc7571109c77c2d32478b3042e6dfb11577c3b80b9eac47706c1b717e937b196ce5f6d54beb7d30d95a52fa444cff405f6ee85418f44e5444d268b2001d52f746831a30be8fb51e80f187bd345d6606a27947191fce32339a9e617187f97e7735be61f280766a27ccae26cabb877d6370130ca3f07b0b45e8795c1288a3ab3bbc5070bb1abeafe5749ccbefa6f87105599b4e34f740906235e2591304f529d5affd0ae07588e2641d74519b417e754f21b18e332b50a4a58f7be3e67988488bf9496128e330dce4b31c162e360aed67c0bf82ceb8e54a494e28028b04127753fc1638b5c4d39f34e027c6996f213f58150a910813abc5143469a4cd6fd57055cb123bd0f9f1478a3faeb579aba55656fce637bef6a313f233f8d88bd5a90ba3cdf199fa27296ed617fc856ec9aea7146444b2851a6fad8023eb64aa959842d66bbfda421a788cc1c9b5c1955df29a1aefd50fc62f2d2762a0c3412a5ece793cef8f74b8ce2f78f4ffa0b88a9ad2b16a6f841823398a4253fbe7860964ef12263e74e18882e82d774bb8d2f3d6a057fdd1ebec0e8c4aff08a95cb296e9dfe36be536dc23e89c7c6b769a2478561c022ffe0f92aaa4e36e48863fd1a534b866ea8dd0936ecaa1df52bbd33dd093d966967125e70a4a92f3c945c2b9d4f79547e8f99ec4efd321b75b4cf981a3aa0b55b3f5ac40a82d4e728c66fa2ce344cd417a5f1039b38ee81c1fdd49c526a32b8602e6c3bc2b2f16baf48e130a335bf291aa1fe21c9edf339e33eb000d237d7a94f3534cd6a7d06e43ddf5906ef035605359fc51a0ec1d4efcd76b111b181f29e54c5580ea9d887b82200f919c28da59c55f3baae2cabdc586ef63268424a25e4f17db1e32e10e0c398f17ecacf59e6a407bcf1a0322b3fc0b03fb27d321e8351d5989beeccf526fdd4aba3265e4c2352b310fbd3577f4f6a63d2aee66ad2b34f605c3cd89d94b3cd3ce963c3d3fc986a4f5591fcd07783b75a129545cda45993763f6d17393cd1a0a92358e13a17d260c4fdfc3335752a74c319bd4aae7329bcacfc13e21c09069eba406e66f5560d082a32024e1dc688c9c330aaf50f986763416fe47fea0c37cb2356210202dca9958c6fa86ddc90b3e5ee1317901652b4d4891e6a27c2300e765e5569e474a27ceafafd347a996bdc57905369b46360fefed43a170db3dead03ced49c256075af07adcb545db1b8bab4539216351f21e3be8410f689c09a58e66fb254cd55741f57aec04aafc92d063ce7ac81fbbbafaf837fc1cc2528ed0923e5174eb245e9f97a6fb3e268e8aa7967317023736df803a281cdde6731048680b83bcc6cb91cdd7238522adc6c7ffc30ca848d80fdfbbdd2c2a936da8c21bb2bd69b30fb802168f1e2340cb0dfc39824b9f26aa659f71a159eb5c414f857dd78cfd9a5e4bf0e307950e134384ce75583b8c03556ea45295e28b7c03a524d70a1049b36fb2224c4c2a2b9bfd75843e08c2c406a83576fa24c65546a9e5ee6665ff824ae91dcb85093abbd9780221f27b45740051a79cb399aab94dfc02be3e437d1fcc04bf5c2cccad352782d1b6cbeb41b8cdb28ad47ae379a1c42aefd921dae81adb09f52f7971049432eaeab35d8cceecb0c00b6829aeb650672556017dc32d563fe8204f92f22b185497df6deda4b88f87ff6820ad1f0009ad9dee9c37c3300373f60bc792f54a0cb13d028d1363af0d6a9386b1f16c1eed677fd46658f9b9df57a5c2d8bf7ddc0103603e96ad1afb41da61011ac48ffc2aa4a73e5e0905730f3a82b5a37f0f4884de178d390cb1d5e711062157f34473af5c91e24fc6c0af260d27a28446e40afbfadf7b943e3b90ca924f5d8f3ceec636069fe4cca7ba6cebd4e13835109abc8e42bc32bd09020c83368082610a8a093579991f6f9df5c36c335c527e2c46674b110b777f35c9bac41749465f19a72f3a8d6cc1944f766f8b92fb3d38cc315949b23ea209cacdae9079ae9fbe2cfd9447b78e72d2a6a4d123fb490845a7ba17b9f24f131700ccc1066a70a57133d77421a1bfedd0ad5babdcfd77ed28ac0b6ec54d0f6b9a2bdeb547afe56ee54753cab199ce3a8af5709c89d51966f2857980f5277172080ee502c93177980fc077079e193ab413a3f94677fce67ff67730cf8f8e5200c28e52374c3a8437452df0a2aa1d9fc4ed56479263278e036b4e2432b605bd7406cb89a33f2c5bb2bdb227235390382682cf954adf3070200788cd63ec7e0b3e55146c19b09749a13bc36ec2c75c5ed1d557f60b0d547acaee19ea44086c1d599aa404d443ba1bf95df2b0701eeb67af6392d232dc24846230a0fced802b139478e138759a6bf382f6ca5b58acfa76db2ca043c62886ccc1b9be37697256f1414509abbd6f55d1349cb19b09cf9dfad2303f02968916986eaeba279b1a867b72d2387a870b18b3e0627c6701fd1aecd2d6f5e86d19e34ac9dab718dd5e91ddb426e181ed582db3a4322819a5e7ae55883a8deb3557e12931f3b86e5e08255266ed62c6f908dac0e59723401131bcb322c795b98dadd73c99ffe24e891f91f48676b71d8a08fe444eec65de7353edf933f9f393beda3615546428864f2785172a089ed0d795509c395c1fd4e497e33276dcf997c618329fd5ddf0e176402a8c4d4259a463653f2a3edbbade925203ce4af7dbd2967f4fd35dd7d1ac210a17c3ad39ec6339ab02918e564c3e16a21d2dcf0fa385b1fafab53aa8dd20a7f5b8314cbfa4f5a48d6425d12f31a9f1f40f8159f67cf018b313a5db538c63fe9a41de5d16e87a0625feb72838eb9643a2cbd4b90b66405921d31f08b6475da590933d63fd873786f5cca67daf26508a1bb7f50f8cee112665b77e85dc4c104efed4ee01c0e032ef47f7df3c62746ccbf90f2d8f051e7e290e16a43a8c0be248c6e7ba29f1fef5fd17934d5cf952e22af6b02b02e8a851a3c68513ce8158aca771d95a84485a23267e6fbf2e9909f1b3474e023a9e16273930cbb15c649ae2732e29eee8e3e8b17677de9446a14b40d8798c7f59e56cdcdec0062a724a6e7fd6b235465d3e1580bcb8467c6e8a13637a9b3420dad27811bd21358764f952b00c59e15406fdaa5f00b0615a0841ec71e918190b876c0b4c55903a4d12eca124ac6d28c5d3bbf70165ae8f1f047b1366a9fbf182ca29e616234fbd98f59d289ada51662507131fce76e53df01a4d01524a5055d1e2be916b57bf937fda89a5f62d0e9df04eb3df9346e452c027d0e89824cf731f3d0f75cd52fcf010000ec2063e2a6193f3494904dabe9419476e07840214daeb6fa77608d0333e9e7ad78f727fa24f52f48445ba0c94f663d368e0b446a947fae5dd113d8970113a46b438509b4dee459fa2b94f2ef3bc9e81ef5410ee9577befb7d843250f951d4f0643a484304963cb98e1ce004291dadbe08702535aaa1112395810a7331f29e40a3334e8a4c378785c3653ce48b8d1c8db3d2551847e6209be2082d85c825158aa9f1eb529dbb912e21d2e30dfb3c8bf3563cf3aaf456d0652c93310ef634af08948b690a87b2035842e77e8fff4d76a69c93ae87c72b1b577f1e6649425e0478d0efb83c43bdca6ddfa1114b09d5c6634e48950c906098eb524cac5bbe9b7979e0fc250166133e813e7111c9e8247b8eaf55b514343ba6a95e9cb0038f3c61101b902333554c4f800cf75c76add67a52e9db610f892ce89bf3605b9761bdc0053ea39408ce3daf43804e922c4f10b4328f4bc49d00b17745a717eece7eeb8576ae2eef5887c840061a1c538344f84c54313c15f8772642468799ce47afba9db66791cd9ee38286a321981f1cdc6999804ec07e6dd42ff184eb4a018b12986d3838eb6a743ce7093d846a69b630be192bf250d82917908ca7cac27c6c1143dc168a1a359534f594fece5c65c92a8ea521f67f871ddcdf0345efb364f10ff48c317cf2568bd0848741f9a2d752c408f23d0ced6f1c75a5dd2f4eafc3ccdb596c940e2af44d7970527539ed096d87773502be53530690674201d6eb9b6c59881384d4f13d62623f0bfafa11219b9764fca89eae1f7a0f87cb4100142458cb2a6a320802ccdb843f4e2665e048583be7f9a0e1b97d88796269922f3c3b895218b8f0a00ef9d772799f2a0854f2cf3797bdfbbb40521eca2a841a3116b1f644eecf98c43e88e8f928e1c2d48c1a102843bdb356e0e84dce07e954ed3f0760ba57942f79c136da5122158cec61de8446380c5a18b524407e49e0f40438b882f3ed8b28fa52b713b064493a5de47731f2861d2845a3f337412b37cd385e7e9b3c1e754c641caa493cacb372d9cf59746439aea3ad6ac3f89c7518f573fe02ca543334e054f72cfc9973ad4ad288a46ae551929fae8ebb0907de74ec764545363156185a24e556cbb775d4b615baa2b1a4ac6f386d5df5d4a4e9e781c173cebb0f32be2b7bb8a713833be2e35b72f1cdb938dea2c0fe26ac6382129c0493196af7a32d3fe3ecdb0d2eee83b517af9bf111c70757088135568840141a8714f039746dcf5a80679a844c20bbdc68da98e729c35b251e6003c1f7f7f89094bd1a7cec1f1cad4c6aa792c075c29df97a9db48492ed62fab7fa6deeaafe32a84b213371d6f57eb01d793fd945559977d4c984cfb8e79b8720d574f0933f52f0fcdec0a493b9443a8bddfa8fa2f9ba081b557081507cbd91753346967d60987e24332ccf39b545533073174aadbb31526749b5c6abb66196aaf485a4de03bb7068b1dd9e5e02ecc1e7c4bb86639620e5145746deb87361971e13729e376771e9a5ab231929d7db4dc74e7e70ca0074936a3c8fd9014333c69aa4c9d7a2256776095a6e3c720511727efaca608c2a80abfb7b89f0e3fed313a1d003ed79ba31149dc1f419d9941cc76ae1a2b5711cfa308c98e4be815cfcff9b4fc9192c28f6e44116e5870df30fd86368c54c5c7d89ed9a98799ccf7bc8f80f0bba6764442f4084701b236819ca6d246283e0983debacaa74be5dc506abf759fd90bdca78132c8d4526911fe4ee75ff5fca04e4c805e9b7ff94876fe16f6cc2969ea6ca6f87c2c646a7cf8aa83bb5df3195a39082496723026340072f3dc5e697b07ad4d5bc249b1dbd514ecd92615fd21f3102cb384ded1c5c2fcfd171112ea01bb2933352e064ae0fc1acbc9be65d7b01702424d31959c0b9a37b4c6eef69e004e900cc88593e4e33c269106fb849e233eb0f7f283e9f2ca3c2cfeea33008133a6198ff8f05ab1d2067ee48894985f5da922d8ad8df3f8922ca5274061b493bba0c6ce0de55be4c82bb7eb1cd521d63ebd9b73e4139ace58dd805d18f25b9c0998d7d984adb1ef0e8cc7ad8d949262a36b188a4587d952136c64495c05bba8db647c87b5e53393e2d72287a37c65fee9801560f8498bad8844c3765947149813a1e37580dd292ca8003d8c74311ebae63e1faac5a0540b198d6c6d560a13b91ee875855b3c71c5991865bce2263778e49ffe2aadb347230f4e3bf9244e94d0b75e9a90e36756d6b40d10c384a9f24f2633672365de4dea4ec677ac3bf003269ecfe83a059a1016f2e402b81d2e1ad83ca220affc701cbe4abb1338484c4f2b6771fd9ae32e5b915047e4f876c79d0a84d39304f50075f9efa6e9a84275153ae43eb82fbb022751046eeb5296362a1b45c5ee1a8d52ecbd963e2c5b05520e416628d79d8edb756f92abadd639aa5f227ec8511955fcfc9d9c3c9ff48548ba276fb042b7e1b88b101931c7dd321c1b6074a0756bd63bccf856f46bf4f7ef67682db5219aba1a26a6a836c3d213da838db1f92a143b79d6e162973093a4e02de0c96601660422f06dd41a61aa9478b087d4106f8804af1824af8f37d2daeca222cf706d956f16e94ca8a406ce0eb2b89697657257f05cf5d063f0032a0dd51540c9a2cbbc408f2901fa155bff0a327d480e8d7d5c4de0099637b1b10b9955b995949b52f0669119821e683760c79f0056947c4137fa77006edd4d6fb80875c7db512af03e993a801d0f127c12eacb7c254dfe8f83e0e1af65bd68c056e8db319df51bd65825ca8cc2064ace1c5fec8e6c0a5b965cf441a5ee1ac28ae1073963f88c638f4851037ce2ab2d524b207e280e48c389e50154bd364297bd0d0be284a00b0e80be55f60989775607ea543a256c3f375cdcdc82a805da9e8b6501cc05e75dc442df42298bbe4e00c9a7533a99653485bb20033af43726fb072a4644d19ca75a6c00df18164d786ba67546f96f7ebc6294cb3a6aac122e335ca82171471799862a7bd34fb7bb5c71ab42eca7d1d7d838cb03f2aafd7436549e935a97e834104b1033e18cb378ba9158422975ce9883638c0c4b85844fd044ffe30f93541af5e6cbd1c043b3e8bcf22030991c97cb1641cfaa393157cdae553d5bd783a518eda0f070e34f7609f79507e0dd7cd18cecf47e709c220a9bc2233f7dd6d998613ae5f08fac5dd77d73de5f3840b38f2f9847c34a651c2d7f83825fdad76323312e0135c87be92e433c82658ac7f29c1b2670f4a8037222c32ce767129601998769e0eef5a35a4eed789d31d1d7af07b978844381aa2a41553efee65f2f85b33f37e93b0127eded5fc613f55b910175b1e19c4ba54e8084240272882e8df8e838e75b9a014f64139287221b8e2512c17285da8b8790d7fdf23a2278862066aaabae764bba81b5d08905677461637db1d8c733b0eea743bf97d7dd00014bbb924427b21c4da3caec7a0b20d2f00313ca57384a952d298f4fe6fdf42038cc669ce2f8ef275c2bf1628252b88e16c9e031d747c17c8a6c0d3cf4b29f0d6d30effed9ce9b2d17abd92b3d922b44d68446a547cf931e4ec821830a410d1828a12b1a3235045193eb2b7b396187f384c1e5c2e71ed3260cc235f4e8d9c4f9d905e5aab6c3db3b7bd298ad85837723abf0c0272c8475e54493d5b314f3a4d40c051435e93d3f1615ac923abcc91a45f14d40f94d009937f30416e689e3e621c27f7772d3cee7fab5d9c9fa99231f914b1644ccbfa5152e61d8e97d422e100bbb156f530a38c63910b3cce38511cc86d55c50ad8e9f17353ba7d8300d0838a065be804edeeccf623a7a450c4a7353697626404932b5d67ba07a6dfcf16228187f0dd448f63065da634fe6a393eb75e427189b155e2ee1c797292b4f6589e15725846d8a22988d8954524b0f6da24698200df922a3fdaae83ae820893ca7bb3f4ecb0e3cac7332ebf77e25df96edf2150b73da7a4ed6c5f6eb51031652f271ab267d103bb488f8c0083fed4fd260eb288b486fa5dbcd17ca68b93c2186265c928e0cd2ee389dcf565dab01be2c37c368193546491872bc53b542b24208174dbcc0943ca9a2cc7678195682750279505e2c340b3454c3216e08020ad501de343838c66fcd0546aa490c71649681dfa92041d7b2488126b14e3551d69bd05b6c4eb9594235a119b324975ea4bbbbb9e9b3fc6afd3d08411c6451ebdff10413d4fc04284929c4bcf6ff553a0f489cc4f2f2fccd24248e06cc9aea57b91b5f73901a376e4b2d45b3157595d73f761a8f496fc39bac609eee8eb6adfc464b85f651adee7296bd7ab0923fd6676c51470f44193a0f44ab659375400f373664ab6f434c2ab810f918bce1374ae8c5bcb7df7ab71c6151912539f92a20dd733ba16549f94880e37544b56cf650538ba7c972f5827b80f033a5922b8da0e2fd80130d175c7680f30e98509648eb65fbacaeb2892107a0cbbfe1375353ea38884aad0d5849a51c47db17670b27f1ad6035e48d2a56395087cb4befb8339cbfa08bd7d976c6bf5a28eb3cb400c814a671f7e35c71b4f0fe14ce73c90b0ce1b586e757c9b31ad462217d9fe364613a76a0eee22c80e8f73aa6bb574e60bb468ab106a1c6ad3eee86ebf9cfb0685b94e53133c29c6e5c66f034eda80ceb4ee4cb67b8738dddb38a104afbd4e7df5b76f8d1843b179b522075b97c2cf9041a9095159347fc016b32c07e4986979e897c73817ce68525c1915b134d0450d917ca5e604144213823332ed625cbf5d4354a0dfde2ebd931c3faa5e14515beb7d9b4fb51b64e240cdb90dfdced419bbc5fe6fcd0038454fa9ee72d5fa7ed79d284dac35790cd6e4ee22e8408f05b09685d38080f2aca493c48ef55f08f091ac897dd9b11a3b04a5de531cf70dafd0330f4b8499f7077ee57e65b8504f7d1ea1be1166f8bc4aa5486738bf1b484eda62cd229b627a02d15f1ed480f8e075ab96d6bce84299c5c42f4ce3879e3b0a39301a01a94463dbc3661d302b2841dd7cb4297e906717e37a0b61f333791f178125b450fc5f45c454fc3415d502c34abdf70a254268afacf0f450eb1a381ed931e32b6b826507e5302141dd0ff91ce587d1d6e10c5abcfaf605a31f5b1cf56fe60d6580a602f8aae6083ad75aa9c222cfdb6f44b72193642ac396b6955996e5b2658efa3d2d925d63cb21eedecffc6d917e86544ff350b33f3e740af4787c0f6f6b92dca44bf7a4af3bdeadb9e586e128dfd3cf57562ccfb36e3978b735dd11b470605df0561b46608308fe46ff7f0ad5c3d693f646fc2ecf43e125cf7b6af36e8a4bea5a5097f6ca755c227c9f1a38db4d6e081fe14217a5c8f6d45d1d8f7bbcea76239ab51eb11fb27062806c2115658a9a47e013dbcfd99cfcc4a303ff2dabddf262a10a7437cb2e64eefdd2c4ad1426233f4dd7975f92e7135d611010a84b74f940034741b7a3a97fdc3fc159a9d4c5d749ad0ce1edde5e415205c1b345fb5ee6235b269e8ff400b90dac560eecaf06db612a940b94a263ff678d7acc04b8f7137f1b9594cedc507e610313113768ad6b843b39e9e512af252183b76c6f9ecdc976ab07398b2f3de1885cedc7f8e0b6f146302230a190e86ac57090ed3d05d5ec72da70f4828b9458e9810ace3908870ab2d3ade6a9085e5cecdf1274d51836cd6ab9b07a15fd1c61ff8850015e3eee398aefb3056b8e951775730fd630048ac0366c765ad1b10ed255f30d03e82e774057cbe38855c0d5e7c7d6e0a742aa1bd75952030b6cebbdab6c1c48c2cd0b687baa5cddf69fdac241d576cc11f2c55acc704cbf5797ccb41e58ac0d45545a7bbd8ba66c4eeed3fada6a27e5ea03b14acc116c3220e4a2ae07f6535a27ebf1420c1d137b6163eb90e617e90bf9f4f42530fcb9b83615ae470507a59cc9a5a12eb2a0335dd5a1e276ccd0a38429841fe5e0b3d6aea425f5cec0bf79a145413bab42eafafe6c36e87d63a7e65a5025f636e02a043f10b9400ac36ebea78f23c87e34ba81c53cb1bae4be0dc3536fe10a47857e9837433cee6e8bcc0f03d42776bb1b52402720b527cc818740a4cf2cffc12fc54fbded6ff5f28a7b55373b2e5dddb64a1a1507e766885e4495ffa4da57f8490eb8c52c832afff3d338f01e0f1e12739e6297c782afd6a6dcee2e55503dc918bec6aa38fc96f18ddff4fa6744b6edd03b5370d2f21c25b6d8ba2172841a552f73ca5fa7c684509e4fd70d284a2f0eb30b075c687993d69d5c06b502862c07e7aaa603f6701bf0456d2b356cb253e6b841143b08284b74c73ce183f89c76ba1ed1a8288f6e37fd99f5836309cac2092932b6a7ac8dcf4de9185a2d878d5b7d5dcb0a4558d3928d7c542eaa1bd0ee9f7d43714d31074625279cacdc5b157a1fda4d8ec7fd58c0af2bec2863ff99c426640899671dfd3a73de3930eb4eb0b252aa080bbfe65c2acd62bd3b1c4f640eb31042027ef9f5fde235c323484920d925a135bb2c7e3c075c08afd7e4b2abb2b6b2c7c273c1a2112d8437289a311e23b9e8957555434393c47aad781d30c93c7e987c9ba78e3744c78ca18dedad6b0fb620954785d4d59510e3875a40c561e4447ffc9812f2d8e4a2e96fcb3886e8ad23176c46e52c4287931c8e4b748c7230fd8089f0cdb597123e5ab548d1c23e7bb7e4dc3f38dbcc2dcfbf8ad2b448b8c6657fba4df0ac470228e7a765f6002889cf79e9dd08b0bb54020cad67d6a2ef80c28b9e2933550fc6a84e0677cf04bfade36c02237afdf7e108806ce44a711d459de154261637f422d22ce7c51ee0a7be8be04b165f3e00164a0bcc1693aa02632d241616ac75958a60f187938571f7073c876c978a43e2d9e9db061ff677ab452949aeba2411dadf532ccb5e5e55b8b999f0ca80f2163f141d7193f078df2207ae9f0d8c528b223e38ca0a3a8e5092416307afa721ab87c8b0c7b912fecea739996f28de47ccf1fb0ed569ec45d08bf2a9a2d5d31e5e4b94ca1a3b5b92d3876c1bf61cf74fe7e43a37b0200b824561793feb4a93a5b4f85e75695891bde14f14ebd31756f0bd95fbcea0da5938f0f022b33b3fba97a0372d4271061c4ef01068bc2a6d910b5edfe78329b4e2cd1624b2eb7b5579db2d552556ec91b4b45d80ceef101905cd811b4df26674642868c1b9e23b449761712d4c2f68844b9ea32b51d2ae55123d84f9d3507f0e8a0abb2699945b6017f1de6c0c5f3c4fafa2d28b4fb1f08662353fe09f34a1f3efdfd11dcdf26a09ba7df6437aa9f0d34b01c9964c238e305d2c19f9e946394fa7ca71d78e641308b232afd4a8176cdd3c975cb692c71870aeff21d2ca37dd952f2118a98f7b3e1cfb6a18f6cf068b8482065382ccb85a5179f2a028b1c37c91f509d42faeb46c867bc121e693443ae9a13e6d0efdad2cabc19ec0408d1cc5d43a5bf1f88bf2a0e6a818835f9d59a7bbe38656da87978cb18750fec2fe68b9f68a3b47d6574f3ae4cbe0dc288b04ca0322d2d1aea2436ee053e3b6b8fd47fc820846c8f02d67f3537c65a9d3f9714af339a6b0566ef2aeb4b8c83033c1145a7bc9e06c849e2427bf215b6eda0bf2503740e81c84879c87fa747d81afa39e27c5e94641ac6d157f57d42a46b305ba677effba5c86560e5dfd23c8f9b958fbf52de2d24e9f796d4d7f086e7d2e50a8623e0ea6dde3fcf36b8f73e68faafddcd680431f73b486e954dc8912c7050341cb2239abf20f9512a42da6533728ba7faab0b6265b9dbb86fbca6474c2384bc2a29a58a884aaf82e9add9b84672b522897de5c0864289416ec318900b4a271fc15f922b4cc212856855d6d7a8a18905069b25c66d9064a281efd6d19b9b136bd17e0b85eedf4832381b52db85b6cff1e49dbf02fa63720a8ccb76ffd846fd15e8fdb8e14e3a7ea2ae76f3d4903d64adb4f87287ae066330a487b4e13d1ecd79aaca69453cdd9dcaff621d96b4a5b663203e997465c9d9a92a7b04089c3569bb047f49790a8ab80131452ea6cc893f5c0918933141777f87e900c1ce0dbae49c30ee42c6081d16b274cd0d43995201f2936973c901cbe8cc758652017d269fa813a6198a0c72bdf2ac390ff3871290f46be627b57196d9edfad733847c58b2f6bbdb94cf793c723398c57c9feae04477faa2f91e6da4485f441e6796df6874e6cdb8210bbe4b8ef596501d8c4acd8fecd98aeeebbedd07cec6a4e10013dc6460e08c97b9082dd1560fbea749d7a62d8e6a1f09d8540407995db3496a253db40806c0d0b52474626ed5b284a6b8f2f9ce8bb2de5f0a76a42d484eb028071dad87f6406dd01cac262d0f6c12230c81cbd904a24f02ddf7b9986498736c674400fd020e5ca8e180c5cb6dca0de591a77c1df73ad13a3ebceb8c333abaa25791a109fe7f9c0ee4a34dd95333f58f0bb16265a23a0e90d83bb0a42d52ccd05a7f4d4cfc22dc7e6a95fc6da41e1b75fc1cd892fb49bd03d39a3b453e3eac263487d81a1f38d4ca59649803c328b55bf6d2cfca4d42f67b3a2198330902590288519e31ead450336278d2cf21d86c740f1f8ba218ce3003077b925c2e8c692b3c3d1172d95640d300c750b7ddf96b604190a6abed47b05b2cfeeea471c995eaf79a11cbd28b240c596fac4c368b49a3207a5d818708eb24ed87ec1d9d35fb129b87344445247a92f9c99834ff85e976f3a401132cc807d56ea755182ffdd7a377e73c5af0a5294eff70410ce96d679b93a139aa7389373e1a51f5d0b891ab1fc0109785e1f4b6a8a792079b0788eb49fa5cee2a6c1ff2c438ecf5dfadd08227070367c1db53c49939c0218dfa15ac08b517bd88afcceffd0d72474b9b8181984ffc41c2f3968c43ce22bbd0d8591b50ced26a18e700c2ff63dd0402875e9b0b77339f95feb9c0e67655b4b9af4e9ba0b0ed1d0b7efb01f4dd18df32665133500a3c2123d866848b50613239866092949ab4d24bba7ab79ae6cb96973151c0d06f107930293a10a1676f2d9eccadb3b31bc3c20e2fac5af33b76aa100106319666bd036930b337c3ad7093df775061577eae753363f10b1e191cc0717fb536d0084f7da08a18633219005219806380b320d6f099c732972b8148c6c65e901422ac9552e2ed69136e5a92d255b78cb7b86b2af41e5c0088c34462c28d7abd46f51246a12b5bf515d0ad49d7434afb6784d9c3c064cbc532cb3d0c49e072540e53df5a85ddf68a4cc634f982313e38e5379befad5a07ec0738278415ad58c93b6e6a6edb00acc544162722cd14456c1836a8ef09a09680d5d9a0a74900490a30acda56cff282866f4209da6eb78d411579c944ba25f47d8e6fb45bfc396b5fde6e7ed960c72a5b91227012fc0e0172cd82d650bc662faed9e649998c3934561a624cfc5b08fabfdde3f2113dcdad0b397e41d52bd2156f0d54497bfaabb207ce390360f2202ba516b2b281036081da53893174b6711b95ff02debdb9ff3165f2de36657b55fbc9f56c2264913d6d763e922a21e66a697c56cb6f369c8387f60a690c8a553342af3dfd703a8573c7cd33c85031d4917877f21f03f0f7711389f9231af7105807ee2504dfb78c355415d5ed844f1a54dd21da654d5a47bcc09109e2e01013726606fad07a57d69762046382709cdddcb6d510688bc470300ec971e09468c99b8096f6340ca479ac4766880a59865d23609ade64e966baad8ae618156f6d1b28ab245374048a218dd12679b46fea6b1691288ba37bdcc7a11ca4dc983b86582e854e7447ad30bb42a5d26e3e05981aebd1194beaa74142fb1e07de83a34c02e993d51adb49fa1cb2070922453a2c38d86a531f055865e2308174643f6efa81a59d7581d0d78a165519db3646c671e2fc18208868661726c7a6aea91f4021a449cfa0ad280709d8734c2c0cbff8cde4c7aac9fa4bfd15e5c38731e8f7c8d4d43e3d0522685568040675e9bea4072cd668d445e7836de98b479f35882232a876788c65599815c1f4e8b58fef04eb532345aecd8a1fef228347956d453990c8e84adff31136790c2c08cf19352d3f0364fab98b17cdcd6c7e772c9f7ed19a59733aee801dd8904affba566d1ec103d1b81a21c41390d1c98f0ba793b166ec99a6ab140a467bc8b5937d5e7a3dcf23df6d6f27c4313723f240a900cf47e6dc42d91aad69d72fd014d6a909f47dc0ac4f6f22cfc99281e1e2333ba496e02b7d678c950fd3b8aeb98852db7c2d5ef70d35f33c4d055c0195094b353db7bdeb43713d01503b0a83f398f2a05991ec1259355fcc1a55c1c1daee90f3d400a0c7d4ddfdc0221156745f444ff2ac211a2b338b4f4853338abe2ccaea1e8ff56f9064367573cd72bf264f1ba642ff6498e0120f0a64768a61a68505ef66b14fcba3e3c514d216b21e09a41a68b327cf80936f538b97fb02510b3675303ca147de71b585f27b814b8c6bc1fa73ad3ae499994090b0584b9b3183ddbf512611e7bdf8ab7aba2865a12995bb71b61dcc58da48f0633e4921ea90a75e1bc3a7eb167044d4ad8cee098624c4f6c795a27ad4567bf91cc59b189efd10e6333d24a0f0ef2997b761b430dc3b2b4056f27b74ab22764bb0e06e411cbdf97d6d1ab0195b00e426b5c6f0d287d457ab809d79baddbae3b6a261b69180505da887db44849a4e67bab458ac0b61f49eb99273decc125669dea9028d97bcb08c06f889a539b3b32fa2ea0dc9a28ff8c9a68c41f58f29e245ad5da4a634d3ed6de2b4ff1b55a09e580e983aeee8c1d20ff913746b1885bc8d04dfee16404172d3a2af84770ea89c899072b09737a5da5afa531391f1ea87ee31d7d6d136ccfd6283d473e9a856fcf781ea72f70152cb47f2eb12d28085a39b071364c1de1a7a20292679607df94c7a9625f0b4603c770a1a166ffc78ff228aae82ba9c7dbf5d69e7f9dc343910f2bbebe0a8660875360ae224f54f2ebf149c2c122e1a552d2e537b76bbfadb17731459a7a0e66f2c76208d54a8322aaf23fd09a27e55ce1e04c0614ce622153ea9a467cafd6f9f629583d43862f3163d578be3ab0776a8f19edcc7a1d5a1bdaa5fc6600b9da77313b7fa81fb98ac81531120511b7405e42bf4d2129f374c8317003211dc45976a11cee1a153dbd2d91c68d4d6ce3162ebb0aa88699302d0f276919858eb7761b434b7d854e32c70bbc0fcc9eccd0d5899bbb68ca8441d68df35bbc20833cd2c908a5907ef7c3fbfa85a6851dfd081f8e5fcc04d2430882fd043a4d3fa7ff49412b78aacbb3f53a8734d8c71acaa0ea3d14dcfae0641684b8e8e43d093a00a05b4386a0319444991619fe4405f52a797f6e5b7a520782ddd0b1e5f8c53061a47a55ecfb25c5d7965206ebcdeeea5185b99d4fe21ebeab5b68824d38c99fa94f22893bf9e660d09260ada92032327249de7a6a7d69c993ef8d1a0681c0af0b1eb32ad6714ff7cfce245e6b3f75bbf5b6eee68cfd2b2303642896f4c102e3454c4bd9775b595e0ac997edbc692bc9ea83ef6e3dc327c2ef6129c1e68bc0e8745306f65b0c09053d523f633c04289cb83ece80779f0a002e313e7026c3a80efa28ac8e4dcbc36b714b1472fbc9734bf613c9ca07ff2f73fdd92832fc6d0c0b845069888c57a5913cd740fe18a94bb22240867d8d7e0105bb3c4093d281d32427da85d7ec5f3716c0872bf685a1cdedb91973c35361977526202d0acf21db598b4aeab30e5d846541005e1925e8ea212c94adba2d8f8c225532c34425cd0d3b19696acb848e8c57f54944457d1d96c4fac3a097d697b35c7ceff47dbb8ec1bd48aa0dce86b4697fc724418f896d0a81455ce745bdc44ad36cadda68c060cd0c8f0a7c8de0088e82632e530f67bdca366c127f30b95369d1e1eb6b59c733fb934a458b45f13c0aab21a3d14439ddd8ae2ae9054bfc4c15323fb34d98a83eaaec389add1e4f718e8f7789af5011cc5e69443e85c4098ab1e23eea6c69399a1e10c99b9631ffb36c84437296bcfb5afca315610b28aff8e70b8859e78aa4e21427c8938b9bd22f3f2310975960cc4ae0bed96a08879f114514f459e54fe7e06f141baa39934176663c2722d754ccf47785367901b30f2101de8255c803c14365ce1f228052efeac03f6273ec9f5d35299df88df69a452d07f6e4429eb0d07d8dc447b081ed2714ab96a5dd7d2f94cb04fbee31b1cc9a45b35cba9953fb66c7a548f79ca13f0f16d9c96d74aef6fae7e5469dc55b439741dd57b2fdea4e26c87431997073092a2e6eba064cd98f38b3a8e78c16df735fed5217bbba18cc4a81e41a3b5bf214b75d869d1ee331a962ae8c03fc77edc08af72a4cf8aeb5965e2751b25802f681c5c335af1c3b679c99f59dcf9dc0a9a653ead6c6ccdaed20108d879f95907842b0d45ff344407d7f7ea801d04d004ed9a350bbfeeb2231dae214b866992ec569cde0be1c2a402106a500d202baf0580f17b51eb94248fa1eef579c0d742dfcc2ba581085bcabd3002ffaec96ee321a47aa3a1956d7ea92b809d9ddc9e04f97236d1521e6ef98bc2434fb667828460e90473b4581836b489701ef3752a0b289a943fa7ae5d6b0a90b49a1c1579e49e4917d2a4c9b2b6843b3c36e5ccc3645c4701a8f45cd91643d106223930b236607a0ba155280bcc6325126e1ab3fa0fe4c32f0786683815c1c649e49b10bd77168afe6e284e549030a43ad65339a00682f8da08c26e2321b200efc1f23e53ddb2d7fd720c3cb18d67b8beb3f073e2cab08340b84407173ab20e898129ae10b7c7caca129ebf83624e4ef895c5ee611112b6bb58f1fd9698441409c85732838956f33b7b96c871ec2d37d9020a85a26edfad8fd72e4beb1b10f8ed3be90fc84fb37d64674250fb33ad496de38e40591eb19eb73b6e6a25501b39943822fd060c43cad76be1457fa50b3ff4b1f478e71e95f6a749f961018ace969b60b892d9a4f92d344d96c11024a99ae7f9d8fd7fbebc270942176e4e90c6453d0c8d8ae6b43284499469c507ec7829fac44f3783da3b5e5c9734d8ddab5a74b3b4738f9f502ca7781382927600f8553cfee561456f917c3778ca3dbd6cea5834d5e40652e8a115a2a14c14be78254a264162e811caca672e7374a35789915fc3a06b847c108b6915fcd87a3370a11448498126547a5ad3c236cc767e36bb64a516a0f8fa80c72a6aaa6e278d081b84312d54f9c1e831a4e5dc0d8832519d3e5852b26e0cbc85c1bfdcbb08099fecd0674f5e843fc576b26cd939fafa4b096ff0090d610bc0fc7998bec4ecb1df0ea41d57f98e86fbbce46296e09d450072027c244d4f74ace9839eeb684490f0c1325e51d4ef11dd975ca1c1c6a8325532a6d1f8daacb63deca5c2462f8ff47dd6d9c054bca615b7f7d6e08413d864cb8a11d12be33b6ab1d8e9810a988e34a56b34e653ce33add587da28277a7bd930aef45e942b160c3d222b2e9188b8a0346c904ef4c22d941d845daff21365889f8c662844458851e4aec7368e21f0ce93a1fbbc5ec5a077d5cb05834e46f1d1e141e84ebd2f5d380c18815a82a36c0cb430de78fee1c34e6e6572a2e298995f3e016b7e89b94e3ae015c527028d88118c7ae7a20c9a1a2b13446f0a3b8f863ef791f6d864eed0ef158d9251cabd73038b495dae979057b9ea1295e3781ec10670d90b60c272fb0f1325a7648b0ea9377f48141ad35c49c5520bdf37c07a2a9424a1b8e03660bde3f17c4f94f2dd9d80be93e20e52fe409d6b5e38e24881bd6f40759fc6c6ccb7806f502ea7bc40cbea95f83835486eeba69df8adf71109b7bcdd8c2cd29a5903b1d6e45ef770fc980e3a4652567a5f79caf5f414d4f19ce9b022b14bef94f1309aaa4fb7c695e2850e9c49e3c305daec83c4da2f5e473df6eaf8aced33967c0dfdc70ba7a01984d1af0910e4f512c39a2642c6a3a1c82ada404b8b4000b72a9745d4fde98ca3b4641ddbaa3051c4d771d4859a57942d8a1c20b23243ea5f67b615c75d85a39d3223a4d04792f7ad6532889a28e8ffbcf63fbbdadb2f43617af9648bad6cad38bc00e8ebb8e079602019c27ccf19c6fa186ab45914d5e51de102aadb5bf5c20caa0837e2865d6f1c92bc54cf7055a778bc684d80bdf680b568c692ceccc73a648873bef80c56bd4450e013ffc295fdb610a9284cfca0f96ca86fabcebb5d24377a078c46de97389e9b0e930368dc070c99fdf64f860902edaf2514d208e7dfe31ae72c68f91d0b013629c1f442b8ea19cb8db22a859556b9fcc1f8e886548aa55de9028c4c34c81b98d441a91e5ecaf692375d8af1c5a27016fa201a71dcbcdd3c58aa41e0b848605397cfdfbcf7dc8b9af4ce536dc3b338438d0be34805fdfdcc58c15d3e822e3f9588b4c23a904a571b669ed8d49c64d06efac77ccb70f885bab7b4c45a649c7f5df9c68bf0771c7fe614960ac8691848ae99beab927953a0bf8215b6c1c1a8faa11d5b2b7ab58c8b1b3d9cd26e487139a5231b55cd3c354708ee7ab25157589f440aecee582f52c3ea593112ae56439aa5726192f2ed2a9d6729dee8f3e94fa7470a2cb9cbb3a5b9a67a2bf566cb97a753126a7613e9bc8006cb06a018dfcf479a6ca1179b15fd6932ebd30e6b470558fd1ed3f0d5ac8b1b1076973fb7d25d894e4cd173295af8168c6c53235b23d62a0898c782ed2294b3416e2fb8dc9d2cd48f6a8c282238c4acf9cb228ca339e3cd8330ed240c9977725d2be68b8167b8964f533915d07fe1116d1f6ef33b24cfe93aa0a3a271b9cb5a53aa34acc8685ca040d3b82fd319af5ad201182253f2852949860b442a81c3d802d1a13d294febad38cf0b2a15fe1897b3e377bd504cc88be81f27debfec11c74c3bce9a25ad5ca42e6f2efd899a1cac5d179684280b39fcfd4f61451f5c7e2d959859772b9ddc9b2e7b35b3c66e9e06a076be107c0ede614b1da6db5f5ed4be61876d9413018556cb76a7d2e57cbdc4e7df858189d1214d6a9364f9662b2e125cf2c06682fbbc330bd16de9286696e4261db59e61f95d6b1f387bb8fac898e85e12187ff1b17bd8e63efdad37cd8840842f570fba5c86dc1dcac1c012fdb31b58341c2e0b8337363df653d8d2abb2f83107073a6f2604b4c468a0a653725f9045119ecba00fde40cebfbb74731daad93eee4b1c809d6d60df6575f1231fb1f863e748e4400be3bc6daebbe566bafb710e166c3201d81b584a40092d813fb57debf4ad2182c884555e6020144ebf16bebc24649a6b26fc4c5424d9adcc0c5905e24e112f8e0cc8ca840df78a206c1449fc3523bd318b49d8ae8217ad8c0065ee8fe291178895cbb83f22b7e4f90172d2408130d2825c383701237f0710e3c1bd7bbfe26834761b0a4a2afff726b9d26d45f577241ac71f3dc99bb456e7b95dd3d8477a1fed22c272375fe1022ae248e119c0c2f3c053817fe38812ae4f05f050341c7ac92520b3f382f0e026c519808035f4904923a53e032de95a7ca12edc116277bfce20bbef166651a178fea384021e4d77786963620d79a7066885cbd9ccaae75d7d527c591e8f2a60bfac26d2df96e0f9452ca58ab9d950fd0b9d4b5b38a21a980b5f527b5a762b5b475507b8b5f72ab65168d82af72dc8cb77495ab11c3c31cb0583eb391fe93092fb28ff6a67153bd3783830c4f1e9137bb0b14255d49e9ecc0c3e722b2f385609c99581cabb79d67019b4b7f1e93a61e1bef06dd5d5ab3484b148132b99534d0c625728793fcfd86f583738b49de9bd7764b14205730c563a5ed411ee26aac410ceadfc4be66d10bb728a126fb3f54bc999e8e06644d906660e230dd7026ad2884562793f4cd25441321cc9a101d88f9ef09c6b39f5fc390607abefde51b1b14614a9b71141c3207ecce8a17e080f559b78c5dec341182a74feefb421131454a61aaa25707a6214532c2b3d9643f37bdd1564cfccbf9ad46dd7c2ebe76425a131ab3799d1229c59bc03b4c0f46a2c71b7f45b6890f54420d1cffa65b95da8a90affe6038e78979f9abe29e866ef8605fa5b28397680de49d48eab4f75fed4c97022bbcb32168adbcf2b2b4c1323e8905c2fa51c8875ff68d3dc741133a864e67723e7398d212619a7aaecd17b0cc845d7a8a4329dcc15492eba8833666f480b1637784e9321e8f990b523d78ae67306c93de9c0c4596bc1ee65ce57ae5baf6e811ba48263565f7558140e7651fcfd7eb8089cdc389cbd9302cb0d99d4cd5a3cbd2e58a59eb51484d86c094e911764d59e202880011abe238d59371f48db2d4b61e10b5d02c5237caeda0d5c24ff8e152c2d656806508ca995627a744231b6f4f3a88bdb24cf7c17b35c2db4cf81f9aa1b81b22e50dc67bb9d2350f883f079a20ab5d961556796c7842034c81f563b179e4656ec5b44454a183d82a034b7acd12f08d0bd2120d32651eb441225620dc2b4599b3c94728b05ea76e578177ad19cbb56434f1c8ec4a23fefa29bf41dd821c2d015b602fbec2e0b0b46f07bafb844d756c42ed817cf9227ae1697291d8619c09b5d2f1e055ee34512bb8c57e027a23a48bcb54a1988f65a881740327c28cfe09b1684a6f4c83af983172cb8e0b769229cbe5c96faed632cce86b910740bbe186fc3d6689ccc372acb77476ddd9dde7c4f80ef47bea26ec560137c66539750137f7e836edb1aa6c969e136865ad6e0e1b80669b6513f2d892e037bd882cf5fd63024da9d0149819347b9c763998c9f91a3d3963def97a92c7f5079c7f96669dea391d14895d3f790c08db23ce17dbb69a02491937afa539c27d178d225ab10d3b5e2584eeb417367866b34f34e5af95741625dbb285fdd3bfe868132f13c6c470272069617b7cbf8d7bf477e2f6834cb8406af56cc62836fbd07cec9692b62486159d73fc740d19c8af488e4e20e0e04efcf177ad44a7ade50369a093482aab262519f873a4d69027c5797fc7f86959704e6982f3c91e0d3000362349b623ac9fa1436481bbfa8a758a3104c708f7906fcac8f040f5d9ffd1a84d450230fdb3aedc1de2aa4c1a3feb738931fce33bf2eb5c16633904bb5d9fd082b3683cae6dcdb959dcc0aff0af6aff40dc166f0a84139d7aa4ff8d421f567e38217175ca29d066249e57ba2742e2e1055b5c5b54f2baaff0e22db052a0b41d682221430343d199071e5f4dd4543b9fb3d130ae455b4fe1251c02bf9572d50473e2f36fa4046ea0360f88e77f5e441a51541ba434dc463b2f6272f19babc7f221e7ebf6d14ae59ee50f9b349c486af6da8da8687d099470014dc2fdbce09e46ef4c8b6301d6816fd7a1e42c93efaa3a0d452ac73646106fb76faca4951175acd6bdc84617f3c1b354fe64bf636cfabcc9acfca7d29551faf5aba0bcaf5df4548af3d97102fbb9e54861cca0b6e6357a616113253817f854d5b497f1eb636930828ba1727811e66ad69a60006e762a5ce1d8e6da6239bb8faaf649e48d6ceba1814e1f00fbba93c3eb3d8b9c2934e58ad528683bdcec52cef427b789024709e781d2142864297bfdc038cbd53ff078d888032bbb0e0771ad8b893681eae42d8743c062a1c35fc9b515d1d7af69fccd1df11d1ca7a291bb87f621effecfa637746036e447bb64fab16775458a8214659891e9d9b883031e11ece4e1ae15505347564ac621f9ec15acc1a1802e1d4221a2a872d4a8e96ae3e2b9392a991fe9034049a8d5d72eece5c9c07dc430d6521b8f5fd81efc82f8d3cd0ba07b1e4e89501dabc815f01aac538ee3fb1f7eb5007fd4145554fded0cab12bc708705aafb87ad9f53f8684f0b407164d6a7b21724446aec2cf43ee2e9042c39e12f2e49ccb1aecd73f2600498b2edefc26c8c2e074b612cc7298a01a574ae105b1ce94f2a56ecb541370be7376aeb471b1956b13e96c610d84eb5beb0fa811e2b568782ba73944068b445e88d9097b1fafe06c74f363780fa29007bd834189e4ea62662aff43cc33764bfd6fde68e70576e996a2268a1dbaead6f08a5e96e8e276fd36841a9af11c995b44200d806796b97829bc329b0da757280b815f1fcc4747f466a64335b9c4229b58d21a181d65738128a31bcf072720766ee36fbe8bdc0ca77b04afec7f2669828439e4dfe16b160bf24619acae5c6f8ddfd10092fbbc74767abc004055f3741bdfd6fd03f6f008980020001a2ce11fc8cc21fc7fc8d614a85ade09e239a85eacede6c25503ed5335c69a5bae871e926a1b469e7438d7abc5fcda26c8ba7e5d727c17048d20fd292d23d8cc444eaabcf38ee18a2fe1d2b791ae4d4b6aa9bc1310e059e896ae78e06b9e0636db7fb905660177b01f412622c7797ddff1be826cfe30699bbe100145e31202e1f8f89c485e885da0cc827ba611af389201bb6a8a62b3d0fca5da487bfaae498c3c85ca5e48d229279f491838aa93dc992a72824415eb8e683f509795a6e5cba5e2e0dba5925143f869b31a8841f4c182a14253089792678a7f6f6cefc1f40807e7f27add31a4fa2a1a31012ab0a3c68c1e4aed780514dec2a5d4cc5ff65aa88c49a5ae2e062cb4b77699bcf83a5c1c34f520022c91cb92874221df84ad5c616b5fa01a7504e85bbbdb91c656989588f1382e2ccb2ea687b1b0a35c0670b21cb6bb5801c0134cfce9aa41bda35235de4636024bc489ec43e867f21326035771ffd58b2fd8216baf57d835dc50760511df0300f6cc231af2eab23941dc0cbc040e105fa80f2520c556e96ff487190ebb13219c7aed0a94cad9e6a30ca8837443d7e1869e9ad31fcff9f98e8014672e58cb9e9bb68ec6baa4b07460a00d87b3e0fb04a633628b4cc3c4204ddc217e925e058bad9e0976617fb6f5ec867a11cd57ec72deb8ca92920b6739dda383ec02b60b9a66495a6cead334eda6599d38d08351c54aa8770243f95e8eb5aa1f4db2ee0f35d2eede69964909aae63ddd5bd6ab20a42dffdd98de9a0d87bc2b9863e4cf23a817ff30c3b3127843fcc722387b48407d1c42e1461855151a5cf87dfe5150e7a0096e8b865c43cea5ae5f3d1425a1f024559d41a378f6b66185aa657b00040ac50b6aa99567be14dc2f0509959c38239e9d2584a1fb610bf3aac632e2160fa9bdba777deaaed0c56d90169420f5dd784398f1c61765fdbdcbdc50c0b1068bead965a662b49f40634bb6162809236f3bb86f05545fc14547a40085a7f2feba336f62662a6a17e1562cf34cc24623d38a513f72559f800a45a3894ebc3e1e303cefe1eafb88edeea53dcc366e363b645cbfe5b762063b5115b7b9ab00ae1102be5d8c588988248e92da3191a783feaffb848698c610a6667e499a7ce8100a78c387c310022fd840c61e6c42a7b47948f89dc54c9f9fcf0b280938dcd8e1afa390f38a2aa9928fb387b373b86346550bb72ec838cd3d7a34bbcce81ba5ed95c177d67e12908a87a7bd2a0d5364531e1898c9dd5696236f637a01c94187c9b5b220cd20b80284f8c5b6024571b87c7de854942eba5ce1844eac75d054c3679ec73d8ebbec60f8ecf7d5d4c4404bab09d6a60ac00fe68c8604d013e24835860bd8b0b51d4c96d75b778c74ce8db7c7801569cfec729496616a59a2b89d368e4149ca729b3bd51c7729a821e4f5a12da293411629fb5366cb7fd8811d6501f1a0cb527cf239edb7cabd4aa9d98e7b25e4a6965f068e11b4233255cb5108eeab5944043bdbb96ff1d52808f46a82b8aed9b73f6fa5e9e337f66be6c3c279d09dc6d13cb993a6d8e9f3bf5949e015627c7f065787302c99757f8c2300d1a501238f17ea03724f3d291cccf4ab31e25a136983b95346dd473ceb150604ea49eec512f272940940edbafcc28cafccdc988c33f6b0a3000898d52a81726e8bf201fa43e67ad11317dec3d884c7e862713669256ae58be5dc183ca9a6dc17ea051f213b98bc9f4783e99210ffb683f3c0badf968d33eddd0ac77cec7cb4d132a7c1f5b4498b0c257bf029ccdfdbd9ca814a4d047ee986407c80610e8157b91dc305304105e4884b9a15e9ce372d3fc045e5d2d43e713737ac856a2538b8f745852e3f2ca129a75db113e30b0e8b624a217b6499f32ad8bb6dc643296414f8dc01865c2ff1ae8adb3582cc856149bed1851ff4e4bc3339cef70e0b97622012fdb05e6536449ad4d3a02fb458b906d2063edf68a8bded37d37ce176a2bbc49b802b95d7b4b0eaa3013985928e850e682a4ed6a1c916184a2df5c6b7dabc486ac22709022709147681bcbdb63b7439db5ec4ffea4a9cc446153648904ee395d0f522a1009d4ea7741938b24c5cb772bf02e69adc8e75f8f8aab7921810ba2920088ac91c0a4fcfd1febaf2c7882bb7bc4d353ab799f32c65a0caf8a4ec7e2a4224c1f1d3e6002998cc9e5091b05e3888bb944b21a71b627e9ac0fa4041f26686011d476a50e9f09ea09510949168c5beee5a03b0184c6e60a95704acf946f5d138cb66e228f04d15696c9985190dbdef7feea1e38101ee56c2a721af561ba9fc9dedd731264f20915a7b77011a33853238f6d04b13fce735f765fb6500a839f5473cabccf9377044b59bf07a61baee85a2e5309c94038c26c713a673f00cee4365c16cecc90b2d19d428483e595ad6309154ea95f008a1d665d2e7fd0bffa37146df11fdbbc44c1cf6737e900db637ba576cf8505bb2b1f2090d2e63edece040f54425f978b5296be0f7a0fd09003ddd27f33e07bc70417a4afccd063570a049c54a12c1283444b592b6e548af5c6c674e8dba21375c798508306eb1eb0e823661058671d060213efbd9e7a08b6cd1a042f5e5b9f01a35166c7d79506e6ef2e026ff3de4e6b01c1ecd33bcb794258ea742ce221ac8fd12893b784b2d1e3e01fdc5e3fe1590b5a24c80131b71b338fef257224a3fed20c1b8d72abd8a6264c01500fb31e991789af5f2a1d2d35cefaf63e6a517d2186a03eea77312792a741678be541263df56ca843ecb00f7be4339e37234b1107ca03b4181efe6ac398b01c38fba11c63522851b665f0be22ac2dca327c7b85a653b36fbc26574e66b98319f34e46cc33a18d8be048faeb372c853ef020703a62e5548749615615bd6a019fea8f6c2a2fd8f6fe1bae204185d8fd4092e4f20a264ea1fb1b4216dc08b978a102104bac7232f7073986fac335ebadc1e1d64f839e7d0a7e5b4f8712102a49edaf0190b2d5c5050e8fbb61f4f409523246ac7e4c5eec8616a56b7223bbf72b39e08bf80316e2862c4246f661217e7d6ae21fe553a2fac0c23c653e4c4607149be4ed54e5a67ef6e85a1e12c015332dbbe58021d35e7aaf56d65b77ebd609280f0e77144a7c631b2e03076d0ab5561a120e0853a6e8ff49ed559129a3a3b33a586a4b1ef4b89b51f13158f6a6f3d0e3c62c7223d2ec50c37c166a522a9011fd137110ee554671661778fe068ccd614043264f305a113fbe7704518a5a66b26024d35f33e2f754b3dbeb1195534b43af0fd84b8a3f6ae113278d81f352742e275318f78df4b32ed63394c7650620f441de13792ce95127af2e2296adee017e4d49fe9cdb4cbb83464698bd27b15cc0e97d04ac97a721064301898cf6d68a72ed72e7b2ebc2fbf157aed511503f5507e1286e6ff2bbcb0a0aaaf9898f27dd869fe48ee2646b89ff5f4be0f815515d8b40012756448a4e02172c8ef7fb1a40055d58e4fd69eae36b764284e686e7e0df794728c2812e37e22e662499c9d949b0571a7741d5654d130b9082f47f087b87bb1070382e5ede7769e14f6fcfc166ef870092601084fa175cf06e921343df89208e3ed3958bc961aff32b23b1733a8cb53e23819d4baaec73f212dc4daf6ee0fba14f62397c8ac86e70746426034af9bcf210052adcf712112520cc0f129c0dfe54bed1902c9b01e7c679e10e469d3e6b448c256c03a52ebb6c8c876a636fa8e9f9764ed4a488f3463f7e9eb771b71404c8c1f1bd2785b901b8946b64af14c2b74dfeebef6a4fe5f4d89981fa9a1f85bd04124b8d6c2363a15981ce7bae2c583f2c3079c68e062bbef0fb8fabaa43805fd464d0a4612f75feba9d154b830fe48010778f8eb4e74b22c4da69dfa3a97be70758b93b564f6e7b8bb331ab602c60be41afad03b592b9beb3cf3dc6942c0da138c56fa6432c964058c23ea2424373379e0c4b0335441ec8425c4b48e38a17da7cf8a0bdc4b282b507a33e9aa77e328e4a344f86d6ef86d63ccb6bcc7e09a62a42d3f0fbe6b133cec09bf687dff7e20fbd6506e5f6174d3367b54548044a8d456260c455fe8a88f2da3f59f52318724ebb747a603858e5b1f2d1880ec6a4229bb03970b4c6a8acf2a118258bd69c4d0dc633a8005bbbe62152c627d2ea6feca4216dd4aa2e6ff7d6ff34a36c362e4b106a7b1e03c6ae78f3813d0f4c8536266ea439ca5ae3fc169aac1988cfdcd74c9a327f138e10593cb35b21cfb347d84813726b9d720a2c2984e8c986035a9d7114fd4a2b30dd77e44f93e08fb533123af9e66918a7ed1bc1bf585430d88eb0de69da387820db923bc4b7ee8bf3ebb4e698be251262196e4b934ddf418e08d1cb7e7d6c081eaa377702d1f8f33d325f7b5a84f99e0b6ff35255ce2053527232e87c7c9d08419bdef0c8a34351d312b846720d46244f195692c3eb38424aad58dee942fb87f974d7d9b86d06f2789fc7e10b5a315b2d27246ba10712e206526d451b1f566e1b6a42464b48d5d661ce841f265d510c3e3d7410d6d8d5a50cb1284cf5987d902858ccb5cb69487bd8e74a9914640419f2b99ec25b157919f8f7b860d982453a181d017ee9ff7d2994228272223fb63b6c3c96e18753ae2488211a9562fa114d7e6362f955be368a991293d7e1f6f4e2ae267167fb4fbe2c4daf8d71e958f9a30e504682da2b189aeb3ed6fb0ece50e7af1277a726f0fa961e22ab342de248cdc98ecd0df2df40458ad036026e29a50fa9ac40662e0cbf5c3a257e8e542c57fe1e96e02458000afb650f376edd6c50609dc649588b458a2b1c601d6664f73e79c64fc4a65b008d6dd2477b0bc6be74601dd51d665bfea98eaf68aac17583a2c8da9b85cd3f5cd93f16426333e59b8661fe04ef9a5caa8f7015c958fe3dcd1b4924f0876d5884f5b31a1d9a269f1a293199330df3a5c1edfdd17b61e70b7aa1cf4733eda4b8476a1738e82ac58df17c77d5f9df7c6f970788b27836d1a800896c2af67dcbf9c74f9ced142eae0221aa95bdaa8579843b0418b557eda22a8e2c3c86780b3a3d4a06207c02db6e338bb54c31b7b4791fac1d79d94173e56a58dc94e1a496efe985b198e78246db567fd50233be7963933e3ee914bf1aa5745cc6b59f07774150ef5d68346df6d7d4e0cfa7056e687099d551409a754d0bf0ebccc9de9a027f2279a4d728b65e7b5f818a67c9d8ccc3c7ab5242b4e6f31f1a86ed6d0de8c3af36c8611b77d15ca35a95d4f934823cf15bd73a32e46ea675b9a3532e32a24e651743af5c98e09269f50b9c58c4f5dea46122ba7435fcc66986f4a88fce7403185eb846d0828edeabc874d8304394c9eea2f2aa1b656c31908c53e1e9ac5b9045e2517a1e3e3adfce6ed963af368064aea1e4f4dd5dc1ac30cd90be1aea81f3436baaa8a9aca031cea5d77ad8e27fd9f77addad0e5170a4aaaaf4a61e25f5cac6d9bd2795a623deee73fe1cfa388cbb59a5394242bd2fc9b80e2812b5a9616cab6a705f5feb6b40d468d4ef2d3f9e49647c6594132e1562c3f1e6bb3337e8730d3cac8a73ef0f172b1f9f23a0938d43dcec32fa952a4dde9ca2db0ed9f53316e49c91237ac6e7e0c301c154e8d77e2f3b787180eaeb2ef9dd346ee478d501d09be5cb2b8cfafbbad2ae998c2ea42c730d32f78a25ff3998741e9b2adc96cb811232a5d16db1f02a34fc2431c8b8caf79e2a67bb218d506dbb02df1d72a00caf89d3a838fd1bba0df370ab4fd20a23f3eb317fe75848e73f97de2f9e59052766369ce0c0c29f728d3b9ee58dd88b7168fd9a78eae6bedc28e6b1009ca8a037a4eaff65c00c6624538f87438f7be45ed5c154c26494c3b464eae3c176d5b90d1b9410cd503b9ec6e09ad12c92679b5874e47531e2110ab37299b05780c5e30f9ec4efb65547ae5afb34538a77eb000df54559760e7d85e8545ff229dd286f4d872d52ac23ac399fbd2912961fe35e568c732704088b9189738f31cf4c4cdaed662a2bfffc5553deb97ef30076d162920e309a4cfe9172b9e8d4f9843656cec5036ab39364ec34bfdc9ef9ac5dc75369aaa2983b21d8a2200d03551f48e8a871c2d7162d40ba53d6c39d17e01afc2d289c6e8f0af96001fbae70eb3a812e5ea80ccfaf42c8e1f48d1ec56efc7671b14e6e99359f3b3b658b3aadc5cc234bcf76aa9e061670c66345d9aa7b70063032e3d9dd8c4859831f5eaa6d6fdad289f07cf802c3d2f03ebf9904af44f559970ebf1c0aee8aa2ddef5a5fb3659723141cf3e383031bfbd005c8519fb54765cc038af04e377bf9dc38f9bc990050dd872b849bd100933db551f1f9531df09329a72268f3a026d94b85f74e6015807c7392f58ca000310a58c341f4f5f037dca7e34cddf5bd18736ccc55fa4fcd4b21f5d9f61b82d6d4eb1585039d208b626218eeb0824205e02909429a3fa265a81ff5f2226e39655339dade502245ffbd7eee50a97912eda48e72a44155c0a384942d97b5b93c3d84d099fd05dc2249002eb848cb6c8b6d07fa09774fb324d83627be18d91dbcdf5d670ff4fae8c4ec95a48933afb1c8c3efe3a322d137cc29549d1ca9c0051ea082bcd2c54e64b3f23d7f732b1e060576b6452c77687bc0a55601e7392cb6f568c06c4c4d679f6c226efea5fd51e80173d5bf9e0272d9256cdaa2561ce16ca2323e93dd71cf02421666c5cb1692a93801666d5572f1d0ece577bbac59d6ab9124c9810779d00c35a99b98ecdc32eb9065b988ad3969647a6e441eb5fb2069fa2cbe151e7d4f6514a8baee0a402ad174ef76b453bb775179532346f11e634e0c649751c89969ced20792d57653ae130b4102ac8fcc15e345397c258ccc8a5758b47d4fc429ee687a66adeb7fb5c742cfcaa740881d8e04e9ba215a396d87a595249147943d2de614d3255fa001533dff5dd2014023375bcc2a0afc15ccaa8beadddaa90df778aa6b2285112d3ffb448bcd7881cd811ec000f3ccc74866c08eedc67dc6b8fe1a108a7fae70f0f10e1e1163fdbe12f7cc4d838f0a897c0a5417e013170ad16ba745b30d1eb7bd2a827a86d34ead3f26bad0b8c22bf5c03f76e28d6fec18b50b5d429b580fac99c35f5f2e3b7d824ca69839a75f733ee73fb5f0c16abd66bacad6b3d9d9af5b5e8049c980436c39c4a77caa9ca72f22836386198c06742d55ca5d250573250c42fabc946a3e77a616e8f94ace1a97036678871520ad97c070794f64102db7dfb852463977bc5c1358a2c9b3e21c385f3a3e3bc968fcf645cb987bdf14cada2236ccaca5c9c72ab191f1b280f67b49104ce85fc2fe6504c04de1f00bc4afa7242b0342fa773d4afefbd2cabc01b001303856a5723bbec0808b43fae074904379eaf4fe659ed34c1a796acfbd29336b3dd4a0975f6e85d0ea21a08dd72727afcd3634fb81c05b276c33d53614f00f4b36a2928b294de5fa4acc33ffe10df53beb27b99b71a9dbc2f33ea3a8b0b90e70ed8d244480c2e4fad368c51b9ceda29096b74f47d607a1666c2a6ff485667079eba1c95cbe2ef4148125bebd26e6be822888d5a14b82ca92877a288634103be5665a745d57eedae7ad2e72b46fdb8a102559b3a344ad020727008c613b8002ca7195d92f06e1984d7fbaecabf086136604908880a999bbe2c868400afa58f0652254b96b6fe61017094eba569f684715b5698ba5866776f901f42f7527b42eab88e094b4df2bacce16ba3584233f5a8c367fed28fa338cae045ce890682f2866ff414d51e2d232ebf87fe23d3cbd7f7809f1278aceb51b8849a54d5c80876e6ced42dda7fb5ed563a87d70c5a88f79d05dba1846dd5c69037c1488a594999581a1726f8de8f5572b9f3c4def816db126ee33b5f9b129d216724e374c227927c86cf0b644203a8c4afb141bbd79a403940eb42788853a0657a15a1cf506424c9bb578f14d7040d0d829ca0f82c37f88d49a4812d94887432b3d29c794927b45fc2157251faeed783c915bf90ea22cf295592c29eedddad34955f242b73b726b7c1a13b8b92dcca3839fbdca5434a2c3d1d47d0a689bc970edbaf894efa6e1ef5fe4e2d623166322a0be0f4c35fd5c3a379f5050b950b1be57885afbe88aea7eed02673df164f2dbb5caa2b8f0cb29c0c8538e1839338a8d220b1a9e1122701f64484c83f83094caaac09445c53befeda801ca36f6ab9e32c68a9c97da53772033bd0bde3cf268d3a585b74ae673612007e3d2450406c341bd234b6e56c4b517be4fd8c0124c4e3395e8e854dffe2589501241c37b09123a50706f2473946d504bd2a9c70cc80463f02145864357a39dbb62fb6b568759b16e96565461deea5dfe6d14549723e4810ff1f7fa0efafaa86393209bb1085e73ded46c6c02617b821a29423b9b4bc2833112b6c12f90ec7bbf199396a4d51737e73b75a4e9427bdc52669769663e9209569323f4e10abff866bcfd1957ba9df83da392c891743818c7649332e460a481ce419fee14a223b897b166990d27e52ef10b11ac1e91f07dfe2530e1689bb0484862dca24172fbcea931ea64d88dbae733d0f423a4c72db4323bd7aeccc5cfcd11caaeea00fdcf9620f5ce2d16b86fa8909d50162a4b9d827076bfa1c1030f283fe9854770d1fa1a7438b6521289a2cedc0b872e5844adbf8275944db9c85813f72a145406675efe9c886b485c169fcee5477610117e2b152fa56e66400863c534fc0e6070f267d063162b4b049c616ef076c39c2c74ad266ab18de293ef0a11163016ab9030583a59a3d0bc3ff94aa3419b77680fb283c95d287fce91227f26754e22c9b7befe1956cb34d6cf82e0db7e97c2831a1ee7fa34e0e7524c19ad3daf1b8e0d98a219e81f4bd4aec301b835e5ae7ab4ce07319f9b969a1ec0660f4e5373cfc44c5dadbd68a25646380ba166aa4eb7dbdf532c6aa3decc31ea13ed3141a36b89ba63ee4827d2e12c47de7c22bcefd0ef5ed797efecc2c2af5b269a883c161c9b923a9bf7862e14b7f61ed103b22390c97ba7fd0cb12ab5cbac7c4bb32e54f356d62eb827fbb07c68a3224a3348697d85cd2cf9d0b1f29c415aca8ae5c3e08f884c36e83a035742c28fcae28ada6f1c5435f11bf13b026add7a51aa1acb66bef709d56b4d3d46e60886e3a4ffd54c9979a1346532bf467d9cb63e853d363d3679e22ee9075a459b8310c9324f1a8d4ef440bd2d5db06ac18386465fb743d31f22fb936ddf769220051610816289492cb07598fce7ac66e8c84bf16ce02c9e12a12149146d41706ae73dbd0936701149f16b2d0c79502022e6b23a650bdca77ce7c3a16b5914de96dcdbf4c51fa8804d0ff094b471c4373e8158986bb934a63737831f2fce58164c0bfb54ffad2b0454d9a7d70a4bfc71e44a78a766e1d20c466d3cd7b5361209e221b5042bf06161cd2c479512fcc0370f8b089ee4bd1051a658e5685cad86d50baa15fd0721047ddba84ef127dc2bbd12f86f9c4eac0c8817e07e1b824ef8f51831652d14542ed9638f94d01b88cd1f3f7f05cb09b15e0b6c75b7b5455f57aed6d255971b89647708e8e4d4e7d268402e3a835e91cecfce3c93ad8fdbc9fa1d3cf985fd6d9925a45f9bec6967e8ee4ec7b2c8406dda5060ff946d06b8b1f34a69630fa1ba401d7d20465023918f92ba0d229ec49a15b2b0a36f4d29e39ef376e95595f66712e9dbf761e02973d02e04d4349f496222803b038b4588a3df86bea5d6a249b12557cf35277ac4da546dabbc4cfa10d29f6e958bb8077878ab62575db7bdce3ced04eac746449a2e63ae232fe5de6dcdb4fe6586f164f0df09730cf1bb46a7da1a4d29e039f9ca4988d388f107566ffe21cf1c85c3f55123d82252780a1de46bc5fbf3dee20f5f5a2886fcc1bd973b78d37a55a81296696928d5441e6cfc4fcff77a6d22304b8463386ed0292a76f1a1e272e313460278599abb2aff10d7fac8a9fc6f2811036fc464e00af8fb7e5714f32dae1a39b67576dc41eb3d7529a4e0212808f111af0ab227ff93e4f14bfeaf937a06edad4a80ab1947b5c45b45e576cf3767c8740bb3bcf900b0a88822be01742d229c3da58553bad29c7771a99680aef7883a219cca540458db696b4833b692a67734b859ab0252800056be0d5950c261f247ca2ea20b5bf5f7cf6976f3f1709e4bde794ddefe323ff9f58643b6552143ac236878e856bfa7a02a8c40cdd9e3c87898a9749b62f6726baebc52b89bca871fe7107602074a7ac88ac6822a85b9a08ad972159b3112b4471f193dbd03f79c91b8502c063eda3677438c56326343037523a7588c2d87e3706a91c303f782a6a8d20cc455089377a3cd954f91269f8e289be1b50b99be44ab2ac56dfff636d35c567a7f207eacee36becffed42dad9d9949a6b8ff7b80c72a981333fbfddfd61bfba2e3c221c838f443f654031e09af1a83706cb52622f66cef166202903be7c516e4c5bdaca9b472d7347a1dcd8a3ac722fce3bdb1350ad9f999f20ee4ce28a4f01998010c4fe536006ce42d38cd8d96b5acf9640c19b7fab308a19a09426323e3f13498c1480df42563e82e4b586213cc8e651d93e311fb0955ccdc166f10f5d372e1baf3b59242f5974e544ed913649e7c7c3a1194102b365650a5e55991899a654b9a3f4c9b19875807d62a68edbda1737b42b1e0b9e4586b9de09fb2576d017a4d8501b912032b5c020a920b9ee822a6529009d386f9547faad78276a5ce80a82c474e44312214531ea460ee2587f6a41a0c28b8aed18f433d450f89b53c9909e1a2c7c2819cc634b2413402816c0b7ea29e6e691b25c1109889e0077532636bc4f897ed58f8b673fcd137672df795a9a1c1944547943a98ef556e4e3ed24122b725c6bd0247c4002b404032d1f28a232854a38ce26d6e0a9d1e506badead3e52b29f2d7d5801475b6a6b02ff9aa610d6083fe0ad5b0e28793b8325f63f0b1e98803dcd4198c50dc83bd4da928c4684a5ac684cdf4f64fcbab558a42fa366300a80e7c99abcb67cd44b5a0e3a0bd3eef8db86a4207030de441cbdcd0301c4a31929456b483498661f074dc227eaf99abd1dfb4bb4aff3416b06577cd822a0f3ce788d071d1687e52c77523971179aa488806b9a6f7302cd9666045ec07cfb57959cfc821f47b2f00e424fa31cdda7829c5dc911c22ea1b0d999d7eca77a0ca21a3d7a747ec79a985b4087558df157113fa68b507db41c4270adee8f535385c9c1e4bfb98c2811e92c34aa83d44323784af5379b89e631dc2cec06472b4e93482c1c84fa457169430be90a6867b3ac6ae12073e39851b47786d3cdb5bcab56d3dba3e8754b21db950c48d0ee9173035dfc14924d0c72b73e9461ca5fc3a98e6cc4738aad356f934013eb9dd59e86d3f8d2cee1d576cacda42834a2a935763c3bc3aa42a5e10804ae121582518c3343a4805d3eeff9741f768fff9042c4312dd6b01d831fe25bfd76f06b8240b91edd4f39feea3dd46ac04d7c9f61867c2375cb4bde11a46632acd358639910c051ba51c650e4b9e6f5b05263fb52ab3ecdd9d0170d7a538ba110d34e14a671c619f79f497cbb0d2839891f73ba744ac7aa83e64e39421d53349a08d3fb5be98264625325c73940cd97c2119d977d1543d8791a6b17bc0bdfbc7bfe35e59cbe343e073b2ceca2ac3fc5f3b82027b98874c4163107a64b28157052a9e6b387a42e458cdf6dfce6750aafe4e086c7257c636347fbce8b462135b20b25fb755193378b23fe96a048fb701a6f1c0ce57b82374ffc3718fada2fab171685a8bbd61dd5eaf57dcc304b461201d53befeb30a30aad7dc23ae27df4439062f32f88dad2b354c95c771df28fadbf1b1bb635237048fa49462d6ee3577818b2b81c5aaa60a680068ca3904b10ac22f5ea019065df18e9347d39014d46f9da5818e127a5f129ac9e71284a159f11033cc8c91f60fb3834f8b29a2c0b8d5a37c8d6f0016f4d148b356b5aec42dcb99cb16415d35ab11cfc2f55448498d873aad2db74fa25ff367cc17a0b003b5ca512296d3a2cebe606e9290fdc4347b6e4da6ca5d5734f1e58114412d0b99b0c8cfc0e2d12e070e531a91ec975b2349d9c804d536cead9623557fa082045741bc4b61a92210477f414db13c445faae94c9aae9310ace2bac555be1c8786298d6b08b05a2c9ef96112cc0eabefa77bb44c791a9937180664be74e8291e7b2714bb98129f15557d0e9281b6f38be81d7fd5d4f496859b5861cfb3c63f6dcbe369d085c1459ee37d6f4f335e0bfa725ea5fc291a63e187717261820e386d3ea802c9d8618bfa90a19d665f0c752fdc379bbb6d45b922da1d8a6e9df3f6581eb07a9fd84da307ef0b8642ee2ba9335799dd486c200b6ac3d207ed5306555646b31eba039bf6a7e465543edbe0d62d216f1680a17e58ce061a96d6d18ef35425e880b486a5f82f9ec30e9f12c7f34f0f3762a25ddf29d8c5cce47d07c770488afce74db45f39b35bd2c94b6d16e2441e955411ef71aa0c779323754dc78d53b33f5e282bf77954a4fced31cfb96c7bd3a156f0cb3f567ebe5f94cfe62092edfaddc818df72c0bb5ef14709200abff092abc9403cff575a721f3c571259a27ff817b227dcba09fbed6fd4dcccd10e3e52ccdb11c985340b00049c147ae6a127da29605934d25f96d994c6a7136b4a4cf6b1ea10cd31fe076452cde10ef0f63217da4882287388cc52f51f94a12b2ce6b188df7e610f5c20b4684bf9d9df1b91a0a1a86ef001ed53dac522033d3bc5cfc99d001fdb298260a2fefe2726346ebccb3d5ebe15169095e2aeb4666eab1b5603e849655365171b8bc7688f1654e17bb7381044428cd84034ae04fcffd17c40203e2a8eb5e7471a18301c9093898286d1ae35bd2ea38deed84dd2c635c4ae8d2fdb272aa0c008897ffdd9419ffe2212a299408fdb887727406f1fcb10a9eaca83ad4b348624c1758961a7e57902c3d6959861dc564c5263376eb6b7e6a32377fa1a83bc101b69a6a2a41594d7a21059b7962444414314cb9cd52db18092c01f9d34f6031c0d209cc92dd5ff5019fea5b3046d262309fb055785316d45f73a187a9475513f60a68041ad435a466b7c183c8353f98a312c27021151818793b8322c235668e1a919c0692c240b0b982e412aa14a6bb0caab01e7b7957bedfa38214639ed754e26d30134fe606e4b5c31310c49f3c16381b7f2b3d3cf7e897dcd0f9029a4f06b0ba64dad10a23c0e20705e8111ad475eed207fa6dc44bfe68b5ef5a1465197abd0eb664723eb78cdaae296341b156570a93cfee7174c5550c8e5f011e609bf7fd8c823628018278ce9b950849f7c52286fdc601e252ca8ae0355a3061037dfb072e40fca8e6988c82486a0f06be2b66c14e6a7e6db70a0d4e23a5a030bcd056384c606811bb7379c7e1fa25aae87b1def26b9dfe0b9246b9cd60c47237e735b1895624493b2697ee5e6e0f0fbea2e4b144b7261883a946f8191c9a28a6a2206ae7c6e684d278f31e9546d0a013f314e1499590b45b552588529a561df33766e1224e28a67ea0604ed2800ab1af00776cc2c568e7599d7195705fe30b27ac91057058017853c5518d375b7b2858359c5355627a715185b59be685a45e1520f1314f9ba99eb5d8906965841f6022c1a904d3f704ccfa77179696ad477e345e24c9279df323ebbaff14ca6c89badbd7f965b26c1eaa764416c714adf97ac1d12a11781b33c31be2e8fb31255a0fd13d38c8bef213e2296adfc4521610d6a51bcdbe43c43915158c11f6b3dbdb97aeb52bafb6a599064ed69d6322e1ddae51dccefd533a716d1aa14ba85c0df91dab5d25da86dc3bbbe411cb28d25ffce5e169ac105ecd906d45c4813c37c081c9f12b06998c656b18c8303958060c00fc07bc07812809df4150e768f1e7eb8c1e0e4520d1e016185b796aa757c8b08450bef9ffec3baa9a8fbd6405e6d2f40c9c39a11ebe57c40d66a22b88b372a75bd850173d29aa5a8791dd6e8e2c40cec613c0a2e3e81282bb5dc9fed321764e43d92ec82bb75bf3dc7b2a3af7c3acc0454b57c2486e7e7f70b6f5d8d3cddf918ef76c82ea98b5929f933f76c64b783840f70a0c10571d0c8eb72c09a3573fe4e6a1749a3058380aee055855fcb24b554ba7eba8e2ee732a137bdca1e9938db46ac405c89abee5fe2f7be50edf82a75aa51e2f311421deaf26aec651f8e08c09f64bb34541e9b74e85b0474785f95c2d612d1c7b78348ec71d7573547c50bbceb166294b7b3553dafa17c53c6fef32deccb96fa4882bff9544bca372afc8dd0c4e757c765ea853fb0e9c705fca5cd3c7523f36dad6e578a0f2d3fa1d1a35d5322b8a7c1467c23dec3b4eaf68301e56cbbdafd91205d98e46ac507c77c5e0d2530accd3f0c1aa3eaa1e711e6cf2bc2152e401435ecbf612c4e5d65e94c1f043f3d4a4d518fc6645090f30ed3573f9494fc1f9132c14002559339b7603a9321d7bdb4e06d115640902573b91baf1ba467228e01425b245fd8eb44f16f0dfa8b182ea9813837842835349f79e7171672a0a01d51b766b4c20b148a31fe3a40bb8867fe0a14ed35cea4ff7f1ab2bf5196d491d384d70c8bf002b454ad574375fd368a4b5f0f5485ec6db77cb29de2dcc4038479ceb40434817a30fad63e7687a0e2524ca555bd946a423055c7bf0a6bf56def6af5c16fc877e6121696aae6b7cccf30d8f1f64b7613b9192c36aa60324804d18af3c1101b024450fe582c6b6cad2331de70a94093b53dda1a998070b6c74deb9cc5a8d4edd7440ac9356d70314d2b00fd574645777bace3e9375550bf0c5002b9f0303dbb90da5583ac07ebfd596c979b30a0327e136c231c7b4f04c13a7a6960695cdce75cabb97d5a55c1036f0bd6355e3e100682c27481a388cf2a4a6777caf5cfb1f706c783915521967e0503803b163a454f0944d8726346eed3bf5d1d81816060031590696a062d6b4e19c5ccff474a3deefa25d6a34d4f836dd6ba7259560b9c014aa2501abdb7754af887a1a08738daa201fe7ab0dcbc6a46591b70a181778f4108fb54d5e90640472d5fc846d0d830ceebf21b60c9804a752baab30abcbe1476d77a4c6861554692967db394418ceb31ac0aa2104ec1c8fe3cb07040950a3b216ab0434db6e471a75babe72b1f5c0879409cc3b3d722bd939230b349824c63833a622386bb6cd92226f39851df99a7c11dd0d1eb6a203e2959eedd027608f7a2caaa15df66851bc0ad43427b7db1e9fa3f86fa92d7ba1c346a337e632f5e2147c0f437d3d04e97a531137545f485fe8625c5135a57d0dcca4ce416372f9c1337a03c545e50f81f4329c0ca8ad31602774c414a3b8a38e0ee662eafc7ccc52b811cea4d1c98035fbe61c0291e089f67912644785e5de95954de44fd7a5743a7a817f2f0f59dba37cc9e014e3af03faefff5d492527b167f1040039fe90577da50cc8c2503d57e42a0beef992161bfccaeb9dfe33a6ba2741f3a87cc8fca86361890b346707a757b99fa4b20dbd36cbc630d449b2e20ee4133bd9b13c34ec273cca7f75e9d1e3b13dea36b030d97ef3048497777d7bf30147ba8c4677c92946f947e9a213d75f6b22604a9f03a47f261a9b0fbee46e9278406f36b7959af07f48e8a3fb553b1ebc5f98581f8c46ee8cbe834fd7cec5ac061b88ef4735ba30275dffd945b5ea7e3a8d5590e948862b7dccb9ef938aee82862ee45bad1dc6104ba57f29662a48f866817921ad98749d136b2df55aadafe53bbe6de2dacc0acabfb5bc5ca7187077b4c3736c8fb6eea20ffc03465376e4ab80e72123648aaf42ca58edd246e5ccd63d51e952cfca521cecc83d51e35810d3243daaac2c4a744f2e11a7b697f60d98820d6fb35b1accfc16affd7f9060189259589b7c6c73029087ebf15cb24123c81ebe437cc3ee71b3fbfcbc25e1b9717c2a0e5a4244137a6e58e8ead006c3549915a2978c618af17669517aba229e42d7a94ca963a29d7764e95310c50fbd8e28ffd8ec9d26edb404f75fc145a151717334f86e3e0fa5412d65524590b675ad4fd76a0e66882feef4e53bb05b7de0c65fc62a02db6b856d6a9a96c5cf874eb2827a8336bc47c9a0c258ad3f5e1a24169482d9287f31cc1f40ac11d334f321f80fdb9adf8fe1da3f1191c6c87dea6e7f9ce83697f3d30477ed7a89b8553d3701d46f7d5ae38022de8126a67fa96585a9f213b2127bdf77dda5457e37e8ad7dd931c2b75dba69893b62b9202f86b2f2e5a04455a9c51dcef06742c55511daab447f0e5520187b508a011bdcd8501ea0abba010b8091c44092927522027aafe45f8ae718b306170f0791e05acdd7752d2e3228d657ca66d1a4a791967ee63754ab8a75908f9f4e3d9c6d8d4d0909ebbc7c86b7352425ca0568e12435792e567959e2aa6b886473bedc5b6e55e5f67834747f8865aa9b01181fe2987099b20e1710ece21099ec43cf54c011f46c9cff9df67cdb0007c84556f29db834799c77139b984ded516f312a25eeb4c33534caf599593bf3a15a13d6a1abb89644115250ce4b0773fa15fc32692c35a8a98787d30e28441a320c2a023aae17e1c3b7a172f1f5931daf0a59bc75d46ced3344b6c46d0502ebe8a56410e65bc394bb1da371651ddf8d8606ecfc5d35ecffb8dd50de564c351316a42d078af5d2d6967e59e99fe9997c977c725c85015de71a77d47729b54ccad13e12c7132d1f2302ebf960dda39a06794741a7839b05ea89029fa028335ace67f32518981539c952111a06503c8427e7703518e02f955250ccbb56540be218ca96d4854d8f9cb40c28066a00119051be774720824f92c1749f92b65671576278415fa601f6b03ebc567ad96f1283bc21c3df5154a94003890991b63fce0f180bfc8373f98d22b3fbfb7688a24217e7451cff0dbad88dd300eae06104108e78b704d316d39e3a1a6c779eac7cd7c44df4a5452a5ab2c31196290f29b013afbfaf965351ac0225303908ce6e9613b8ef158d7e5fb58c15b0fa77add906ecd86ee2742209df3381226733416a94f36b4c7ec41ea7396079c1f8e54079e18f7628d9c82481199d35387e40d05d7f937abce66968fa006d9e355ce6919ea4e946927ea0f53bfe1b0892ad1ad9d19de7a0ab0be7c20f1a795bfbad4463b8ad3e37b46cd0dd5f18e0b624e679db76002eb8059eb204f8c44f997da66a473a662ffa68cb8337b68b80d921882c63df3c5a58b5e823a3feec2bfdae90fd764abe13c48b8f0fe94cede681b269fab576436c52eb8617df6577e7ec0808be564e52eff7bc8e4c001c74cae2791227769fa7cdb23334943b7fea7c21b32f81cc36923d6c0a13c586f5c3b1dd660b034c880bce3fd30a483d52b62207995030a37d8d57be768872d4e667d91100b1b26d2a1cdd30cafd15fed7dd78745517c940373b54446ea94d2fb56555d56af525a88e4446321951a14c7ea7354ab9e651fa98a746a0f15511e9d97453f2ab1dcdee93cecfa91cb824e22cc1156ddbc574124a6701bd6b171d11968674150cefd96b0f1368acb571daa9991dffd5dac47fdc56e61484c1f82b49fe4c5ad87968abed6dbe1e9aadcdf325160a0f18905d29c369737b7fb0e6890fb8b9ba885d567f87fbe0a1be52b1d0aefb8233c3b088aa3db061472ec0be9828a51811bd8102d0d392e55bbf5ada4d7316a20a10435d1db1f95d7a004b2ede323f2e3bc64c8d0594d0e23f5c1f646a50dd8eabaa968c93e96659d7ab4b531ffc1765d408144869c7ce8accce392b79bd8da7686fdfb8b4342eab4be43c4ceec894555029309fbe988aa3525f2eff556fcb3245bd9659ca24a9e2fccb3dd38041e5c5a67578872551c529ca33a596c46869e9d5903940dbdb8374ec0ea5d9422581e83561c609c3543604b946fa9410fe14e9146dbb27678cf687c2c1bb9f2104e61ff2425f5659445cef66367259a969d9a3c5ff97fbc63147a1504b8021ecc7b8fb9c5cdef7f700b57ceabfb7174d06039a90ac92a038281eb32ec29da04eb6e991976887bd9b3bbc54913c0f66bfb91ddfa395548d4526ca75db32fd02ceeb94a972647d20d407e3b20423755530f389c97d0ddfd9161febd5c6004d5182b999b9a001de6543f85cf7be115317e3d192d3c514bef212b775d3eb1fb1c7ae78f381d85b09677eb04566476282088cd440e88b67d9506e114d63fdbf8aa297ae051ecdfeb3c46f36e7e7fcd22bf4c757d0a184d56846eb47692be20e8eb1ba6c5aafa3ff54cfd145ca3b65c339f1addd5e566154643ba1fd1717e61e324b5fef117d209f0260658f910fa2bd3a59b1c585641e37643d97783fb6e7c5e86efefd407a4feb35f45c8af2a3207c9fe738f7afe4a73302db88ee38d0fc55d388472f30a7d7647c25a4728e04a027a28d5dc7599dbb87481f1a2cce96fc30ffff0d350e7d70ed31b150b26fefb02a02ae8cf17d0e1efed266cf53848001b7aee511cbcacb38b0a98b5034c5c39cf2821dc14c832aef5245d61d5e7f216644882f8e30afa2fed838e7dbd5b80bd3d3773252d3209431917c72b26d3d133a0c819446ef5678ba3564cd49a3c7b358a0c173fb7087cbcb37e3ac7f7eee59a2c8ee923a4a09bc34cd9072da7c332206a3b315245ca8d76ea19c0c33ce2df9703acb9d4437ac6fd9409334f882615bc1246bfffdc3211ed65308caade38a25d1d833c257749166a18a71589e24baa2f01a65761d6becb07649a65b47ff67f9c1af1990db202272da76015a86794ae52175f1709aba891e595dbb78337ea248b8d735d1d191c768fadbfa0d5d39e46f78b6634accc5d67765f08abb493a40580c182f3bebeb28ae1e754c3567c17c2345aad16e686e0ef9b8918a2e5831ee85b46296fa117b2e206ccc7091b5583d68fabd4e30e3f54b12adf38acdb35f1ba6368f0fbb3f9f686efe9fb5d4cce2ea26089251fb921e664fef562854d205b0858cc53367645255559e65352621063f110f32fc218185c032da36c86b1765f872d3a76db176472a791f4293225df33800f0dbbce28c0c0bf7d085cca9075ed18a5862ae0adf0839575bea1f0b690902964629aece9c7d9fed4c2511872437dd0328ab37b511e95a8ca166f1beb2572baad0eb5c5a61b06ce788b87e39f54365bfa52011e40e41b8244448aa1c2403e15b4f8dc2647444b702f9d3c5716b28840e188cd50cba4f9e2dfbd35c2876507f2bcf362aba821dd7eccd40edb90760ae7efdf62fe329123fcd7bea2f8e23bd1575137bad9d88984d7eeaf3397a2bf5a21d0627fd37dc3cce7fc473320ccffd48be17ce5caa1cdb6094dde2980e90aa36f0b4a43eeb9e6d7b40741dfa34aec477404854908d0bd2ff6f89a2d46cd4696dd82548110508b662ee0de97cc3afefa95edb5a23a3549f67b9bed926786c39326f3a80fe69d8bfbf3293cfabb0703e506fd24a7affd5542ede7fb848d8d715a12ad7736bbad3e9be7bb2a0cb11bf1ed38fc1cf7f107438ca7efad948d618809655f009ac74cbd3d607597765ea3809daafb6b1c2c5ffc7ae1ce8981c966d0f35e16255f56c06a59ea3babbaf4a3f048060f4cfe0f2e8fa34f9c88bf4e6fa28a0d72efe77e5a26e3b21ee7e4cbcda5992d3e696a54997bcacd78b8dfe2f08e4b7d500b7e7a5a04355a6282aedb51e9dc99d342c3a3a1e536bad8a5f7f2a7f9b38bdafce2f0d493eb9f70ad6222b1d1d9321f33d69d2de8f90a240cf95a89e9c40b8eef441bbbe92f176c312dc6d71382d6bc08ace83889379e84a4e715d010ebbc4cfa730d4db2c64216ce6a8e1b38b0132e9351c8df2f03b973563a8a765e9f98c2221fb1cada1815fde0daf199e312be0a1fb95ddb6276b721b78e7878ab374143916eb7985657acececf8957fdec29d3e61f572d165327601ece2f75f63d4cda05f5036bb4b366ddc6ebcf38457d1dfa46d230f1ca548a9605a7b5ff257fbaabfe4ca48ae2ddf0b8ef93afee37fc4c7c2a7235990c6d24734dd25f42b4139b68c28946b07ebfe931887d095248ac035958c98becae2f3be2dae62af6c7f740c10783ad428d8642331b9174c2d96d2f2e72998f893065445aa41988cd821d948bb47dba107143a73425934acf7bb479882635e6064b5ea386ca3751ab1d5e042c73088679cb2b5f687440430163e8820f41ad9e736b2037009eb4f227675c92be66b36a42072d90493bf520ccd583b655d6977f4372630480513a0adf0a2ec0a44da2c27afa8f1951563c7614a2943d82dc65dc915537e828dafbcc28378c9952589893946748f724e246b5db27c927a604bd8bc17d4146b4e19aaba84183bae39a820d0216bb73e986f5b8b0df776b6b8236cf1eb0cec33a579a8e7392ea54aaacf0cdebd99818d76f2e46950d51fe3300c701f7afee06dd4089c2516e52b82bed26b6905091a4af9dfce2545e3e51d2f7ac761fec7efe16bd32498c4c9906e928a74ad96b724db69b7aecf220048a2252fc028311acb4aad08eebfd435684ab4c1132cf254fddd490bf53c767318c16980d516d9fb5880eef9161dffa16521c09f17d52036b7e11ef257f975c044e2cab8e0e120baf5ae4737b0826d1bca0b76b9cdec2b7097ce63d99dd022899b55b80e7a0c80625e3bc64c9f1491f0e4028e676fd2ede66d8538484d20d81a21b64a5927ecb56cfc06ee6da7cf5448f3f0be38a68fe4bc1a51e1f40c0ef8e6698d76db92f869ba5e78e1bae19898c7b20af14a4682396319671264c4507a90b28c5ea556fbb2722c59ede116cc563f7060c2b7441a303a78fd82098952e777bf69d9cd534b8793ac3c21d7a77a280357837eac5921aa8a4c7e211e5365845d9120717d75195b7e168ba7efdaeed9b659197786ea03adad85507386ce2c12b8ad63aaf21f884afdbae71f53179725fcf4079e04be7de898210960a20231f13f4a400056a3bd4d408d8030324be0acbf0ae626bff9dc168be3a1422969ec56b6e38c5302e8fbe471ab7f165508f6131c480dabc095108936d84c6501800a821fa53757186e7009f668d64d644868aec65dc67e0217c10e5bdd287d1ff4e7e6aa36f00142e905bd951d8d7d1ece600cc3ec13bcc0a9748350b35aa003b7fdec12b8928510b31edf54f5d5f3aac6c23d599093fb0dfa1061578136f21979b561b4ca6fd0d8425bb090f73e35fee4d05573855107d217b4660375c1fcb454d426e47bf120b649ef3bf7c3751b15e4f913a513606ccff27243f915e5de27fd113bd80ce65d01155cfcd0cce65317664eeadc371a94849bc1834758fac5df4189d582538b7a2ec2d654e9d9d21fb599dc1786e16321cc6a0a2cf2e73ccf31f3b7c715fd9e1e3a1f0d3e64fc83dffc3da77d03babefb9f26c5ceba4f8abb383315190bfd853578fe22c394e54f5d680379b9fc5fbc8fd2c0c6331a6c03ce87e942efe296c787f71d1d9869490e80246eb6dc4ea80853f7e7c5605ca46ea33856cf56162af65462c6d47f4662ecd1c4fcc9461b2eb22d87c7b269f88235a0aaf70b72044282063cdac9a39c2b5972cf1b7681a1bbba69e9b50e8346c3d21bb26ad99f13b3d1e736448ed870f06014a16cd1dd01dcdee3f4f32d5a1663b4a973bc4e25651d748f80dae64a5822ca8a1fe58f85862f5e3ae36335ea2ede35cd739327fa635d1bcce9265521eca7d87a932cf1c700ac09bc745a683a81b66237f9d09a7138f210a057eeb66796ccd26e075e069de932f593d7cca90852595e9999af8a95bdbf12351499469dfd7abd9d7a04a9a8fae526451cde94a87df6a8c76876598e8c0ccd05d5984b183f97f592be4486c12f12326e9e3b75905ecf11275748cd0ed000645b0192870ac76a178cb5641038b45352f36c9b02208a7f393a5abf5df6591585368e1db8c09a230411b3ca089ef92dde4b029a8fd07b15543f9c4136813be5bea5ccb2a53308062a0426f4747e56d810ed5622c150202a6ff55384e646e8e0723e03928fcd0c10065799ee7d077d85308a47a2254b5f9e8ffaf60ee4f13f5d7b727b36c38b2880a6d3f221c595a5aa4ed6cc2cee53e7f4c99917ca510b4f828a42adf882ca46f27beb84afb353238f92f2a1b94691c9c27f0be63749a97a4a9dfa76e3ff3e398a49e278963c5b9e0f16b0eed408768c1dd01a6f494559a40c3daa14d7296f236c9c50afed02ec56be52aeab5bebca64fe9566002f10ac7b63b61ff64667589224737e6e6394466c7ec61cd8fa4b666fe43235711baf3d886e778bc212d0d3b361d4d71c25cc4391ff89bca10f5b1ba67c427fd90d225207a42443f54897e942fe2bea4ffafd51c89cf4cab38dc77a2739ed99e5440792731747c020095c26a287e141138db810409ef4851db6b19ae5681520e85018e351ba6ddbc52d41c3c54fa17a6520a62237e9e49fc3cb69fb9f335d7bdc5b3256524614de0cb1512f2aa2fa509d93d9659d3a6f77bdab09fb88ded401d1e21062dbb33400f10c9420fe8fa305c3feaa51b0e6e1b68da49e6ae8e26182bb65f3df23f742329c2d21c7ac37a78abfccce513ac625112695e8e1cecb09d7e30cb7cdef78b8c6ca77a55ed86eca386c000b2c4ff9e53cf9de369785e10ef3fb032a8f581419cf7fb226514d535195a2a7e416d7184ae85b445747d4e79120a1b1d48ddbbaa7e5e6b9c84c4e2205049eeb34108d5aa0eed1d961a37beac742b84629064f53e45022a1612986e1ed9dcb9267d883716633edebe99c62cf01321130df17c10be7b823c625fc347507778353fa517d5ef659ff7f75cbc0c048db15544123ede772a5d4ff4ab942b723991940e46139e512d01466c7a75d64331ad172876edb77af0a7888c300f8f100ae5a3bd22e66c92d94648cc5fb94bf2cfb699d1281409c0ddcd6898f34221d15af8dbb5305521a0235f2a2ee15e8b56c349e286376790d75a8b5efd77f4327a0d610e82042911c8a9f16c324522fdb5750f518bc8399e67be4891b7da66a23f54cc55c47e07090f76960570900c98fd693e288f5c1b99bd27331d750f0be2100ed6969661356f2cf86c876f48cff713beed70345be3bd29ede156ef2014c96217f7c03f5c0d593ca03172961f623b63bff13e43091f4b3da6b3c5f199ff3fe551fe6a48c9866e4ac2e7a921fa8a742dc35f74a0959eb17604e446b2e6182f460e291fa3e93f11613a454bbd2eb21ade96060e5978d7974901327958aab2e9e2a1fa02642cfaa3e5be8e0d64fa3454df4e584403f39ba16c27fef89b9639ca7fad0385e977878edea5e2aff355be991e2b7dec28480f3c5607b67a42fa8864fe27ee0f661320dccb9dc3b6f4f3b16d7724fef5341cdffcf3cb23f533b5269d0eab15bdc3fd14aed545c91d0e140ad28264bd5447bf035445c3ebf39c14ae6428ad00ea7b5be110d718f61ce63f178d5305110e78f6ec518bcd6682dca5a396cbcb38895cd2935c82fceadccc04de92fd5c6ee837556880e32c5c03210bb7a2745c4e40246ac2abdc116c0f27f124a4c51e4b577a8dbd7aa0e13bdabc61f8c4f93b68c7696c72df3d10cd95657f64134f1499fbef876bd7efbea231d1f8d131462ecf649925ef56568b8026edc71193b02c909a37fdcc2ebc886171d0c7b278dd8131ad4debc3fbee7b94e415c56622341ccdf8c19d85bc15e6adf736f20683fe633b273ab83fb1345781812ecccbd7d77a5bb174db0a33e6e5d60e1bcc40a7036ed1e7e547b29e6dc270b5dbbbe7780a0c7dff3b2ec751193d740431b89c4d958a60014944ab87f53301e7676ca1abe9061d2ad0a7313753359334395834d1a14f1d0221148b6299ecffed45f4e285c6242b0241822c5af75bf3ab9e0a8564653fc7fe9b38a912f079b0a80787b0de44672381ee5e9b003a9b5974fe1f49ddb7e75444a316bd7435d0b1ad27cc4f1dccfd646bf1ea2dbc278c1d7fc92530c88930acdcf0ce9ddbeb43c0ed5bee76e02061766c2a257e213e36ca99861119d0efb6982d618afd405afb1db57b015cee66f562c370d65308148fd910130087d9a05916e5f9b57361e4868fc8fb3b0bddb01ccb148aad3e9110818bb3b34c8bc60ca6fa4b60c4f02d7f0d7a27d5bc665e378b15188962029bbee758d7e0da7cdadcc8f674cc153d1dbd29b75f4273ff4711e4a96f77e2928f741276dd06c51b28d88b710fcb91ac250b511ad789b414905cdb066c3e2ce9986e4c490bf06d15e42acadc1af1dcd95524d26b725c9e8b73966f3d0e8a5f29cbf43139512561fad85fa14ad5c5f42d84ede296fbc6a2ba5d5f5fb19614b3a2ade907f54eaa92e6f5e696fb6d31d19eff2a6cddee0a5651adddd755655ee766f2a0cf588f0bfce133ffdd8ce096120be2a544f5d69d3200d10cda9e4390ed1a8dd4742310d71a184c627d92198c698eb71d2c82fb288e672481dbbee0334a3828f59576cb9ee6f59658af5206af009ac7fc5fb9f0d5d9e1716a1148d371cc64195ddb089f95b49c880fe7816f5854d1dafbe3c771435321ed978ea253b295177308fbc66d1d0a3eb17e30a6b073cfa4403a31bc1bcf410e8b0846181693869a47064543264335f772c3ae3cb52a6ef96011d490c35fd116d2066f5fa624f58526eac428b974688b381a0f786075eb8dc9d247073ce5d3721f28d9b7466a1f0acd6076a9682bd43979a75dda7c86e455c4da0264e7ebee23e0002e6c935d33f88f22211db994627082a95d08e1e41cdc16dcb66f80600a1034f6edd91701477d1790ca6645c6c3fee31f0d801057de6e86f33e901b316b3652bb43fca7bd0ed5f632a169ee40dd91c4f5f01aa06ef7cabedc417c4b0dfa51eb12977e8bce5744914490dcfb1b6d61f691d2ee8148eceeafe6192bf8573b6cee83331ae515f221ed44b887350ba27c78f1fa777ba994f19f192f0ede44635607939762395b38ebb57302075a23f63ba03bfcb9e870119dca91d7d50ac716a2e53e8a5a03fc403891ed903bf9cebe8d8f459b7cc9ddb37ecc33a0a706b68a24e6a253b6e24f6748ac8034c66276509d30a5218c286cd2b66b9ccaef59050ba18057e792d19759e4c410c12578f27abc2699e604cff84983743c822f3924d09805ddfbdfcf21b620256a99613eb6665655728c90334d8230a95e666bd5d316abfc945fec110dacd1849fdbdd9cd50b49cc536a85bbbd9792f6cb65ad0a848effef8f0c0600eb0bfa8f5879c9e18c88dbc2a1a50cd14ca2ff2939a05e03a5845c73e616a6196c9c99c608a8bb15c263352689b1436ebcbd1c173b9a3239acf1af1e66c9a836619f706385e7659abdf3f342ec306e776072b8e6b2298bd65a746c671f7225d56997fd50cbe1129b74a60a6ef763150f966de0a8b7c41fb1c727588f0df82e5c6183506170bd4f8bae5b82e3bcb297de0ce65b7e9fcae648c84395a50ea69571832e57c0738b06e7c3ea981ed529efca841e9123889823469ec848e5883d66a7589a114141cbaa5bc44352470d7dff360b962621ded4da7f38549e9c8b3c74a8af7a1300f83cf9216469fb313e80015f3b6dcaba2f00a21df58f803a1c36bdf88f9eb5aa2090f00869526f2701e616e3e51aa1e6d26c2e38fe184e6629eca8d5986240f5af54e79dde98bb74cace72f029fe0b634a9d6e612fb3461dc03e73e35957132310a4f4ba306328725a5102609f7c3eec5e7065b3b961764ce06fb42f4d224ccbdd21223e2eab20a45bc1946cf2da16951ca790fcd043e8bebd3895baff020e32137d523a4e69c36d19311341c1fa828b73c399f97fd99456bc8690d049abfafc082bf1bb79161745fd4af1cd0ec26c428778ba7aefb9ffd601342563155d5cd21bd0a8240bde9e9815fc0cc04e8dae4fb117b0bc8a0811c60ad0c8eef08dbf51a4755a1c32a02388390ca9f931bb53f1029451eb97fb33502d711cddef598aa52c1b5f5e6ddace606a0e259d46f4d435f435bea003fb54a1e515a95fcfce54fb925cd6a952febf9ce58435c7179cc5374ec6da2b4155b88465beda9361299edf0903ea38982c5a25647783eef60a2f9f75d0935e44d5338d1e305e3532b274e04d8377e7789e5eeef329e4a202da7b68839ccbad5090b27f45fd31aa4e630231515ba44a952389aa89a9ddf8c1a5980f1948974d5a7142a564a119440daafef83fe4d7c45a094b226ec08c1ecbc0396e754212736cd3548e7632f920153485565bc479660d067a54f8a41e2114ef9001bb394c06c8c4eb476f7ab3ace220e5edbca458c934c8c1256fa4ae1bab1d7b9145a311262c768ae13d8f95d4c1fd46c87366ad1b8492ccde31c788192fd8d6647ce6964bcef0bc67998dfa83b5af9d6a48a78da5e0c1dd5c509b6426a6560d9623d57f8de95cec67451ba16fe4878af91f96dee67d19da806fef83b6277f7b000f070edbd01805e0e0337ff648cbaf8e80113e408ab21ffdaf58805db6b1ec437b50cf1b3cae176b812cc10fee3506905e1a239f2d2d3afb1ff32866bac8a424516f367cac1dd248bd773ca2fc4f9404d61c93996528b517b8c46724898d823d31420e05be819dd8625bbf0a4ebb7a0932dcb2fa69b4356e5b67d88422a00c84398040406d4f448d0549feda3ccdb90d9ee65910be1565385433689ef023ee378a3cbd2d65b8168f7cea94dd82ca9f4abc2c2a87ecf578556c5c0bc475141ed902c9383f1101a94a70a7cea6c963082712a7238fda58a3ed5f1a2fa7465b085d6eef61f636c674a4c1b5b3faa76136e9230383909fb4726a124bbc386291c918bf53236b1a74c25850faeac23e56995b614da7390eb78011bdabd6306f6fad5c8463f4fc3db27c9615eb030fa5e19bdca37c181b94d192f6465b393126592ea76c16fd6c822426b93501b96e57f99052e4c0532b64cc5ce45d3fbf07ed68212c01ffef3a8e4addb7c471739654fe62e81e6f534cf7499af946ac908f16214f48303f1558ede5abd07d04f489dd1e78ba89777ec199fc646587ac311550bff9b471d111781486c2babcd4aee3fd9086cd5af2e3ea8d1f51a09c9b4400703335662d28960053cb2228e82cd9ec4681677fa25909aa23877c350e1a3cc1ff678f6df58cdcc4fe560ea37e2fd4d6882414ababf819ec383b94dd1a21d0a9a3763226e19d598cb195f35484e8ddebd0b0b03aa7173fdb4bfae435743ad8dfcb2955012a228c3f369292ae3dc2bf051e281e346b1f6a774a0cda21e67ae0d921eaa243dd5cfd622afe801f004f13b3548b749b42dee38c0909644e300056410be199d698da6340b7d3242db1e3570a38c07b6d60538a25c48684d1927b914cee094347a81b99036381e1e668f1ce95ea95a25913217b5dca4a59a1552f9221cb958c5f945ad5ad981bcea1150089535cc9a5149bac4bdd26700904eead4672cad977f4e44eac8df5b0f1f67dfa4950527d353877c9a9218f14804b7072a17d65e872fa7f86e4687727d6d16d70f7cb7090fe0e6b63631e93661e260b3f5c07ae6e3b806231589804bf7abebaec66e719cd34fb5296d7e4d00bdde9e0b9c6249d1fa672c32191b66df1e97dfeb3aa48cc24266c19356ece80f5e5605753676b1b01faac990136d984874a42cf8d8e00e330a822a5e205d142ba4a5f41018598b6ea01746b40ccd8b4139368ffc4b82f16a54e1a02cddb3eb1ce9ee18c84ea4c575f04e9682f57663e856f292d0a6adf8ce2c08ba582c75e3101fb53582c0cb6086c668e40887c191e4b3252e73c6d854459632a5b05f32939c76373e7ec4236232f3e9db3cbb807f8b30e8e9518f58eba2c8405735af59208c25defb08f961f3c6dbfec7c1e24f2a53e2218461e40d1ba843aa5128ad3ae93507ec1470d50757a090992b9a85d7f9677be9d70bc9b8942ec29e53af7a3d7286b272441450e5387ce27211d57b2dfd0c13807416f3827533c2d63e1f3676656c20ad3c732e24226a161eb7e0302b443a0babbfb87dc0529067d54d3535ff207a17a85487be2fc81b7321e6d7e25f08ca7c309fe965b803aa7fa429dd485f839dbf2cd069d6bb91c3e06309c3d1f4d420c88083f0d83188493721debde6dbb9d981b22410129fe879b761b71b4baeed19854fe0568374d7216a058005829f26881e44ba135de914200bcb81cb095271e2992fbd2987c1bfb930258759178cac48ef46d611a16e15b48d5daaa767652f127f4d0d6ab5df8e24212646f45d4b5885376f0a088c68f0ee3ec90222bae982fe7e7aee5f1e1b83dfb1ec070704d47139f32b796857be0cbf3068fd5bcbc3581b153522965ebfe45a181c2eae386837045cc67662d5dde7bd12266d1ae0b09cb8481a61798ccf53e71df10254ad889aeed2fb01dffe62c841db78b31168750f41dd6c1670314b76f642482a7ca10ef83092f3e9a41f8ac13665521413c00fea2435b9686bf5294810695791b603ef5ee9ab39f916c93e0749193e689fe869c341fcde4fdb9129093fbdf2a2c1ec6a765d6171a65efa17fd4900183073a67c60ab381fe901a766eb861365cfaa582fc346f4acc2cf7221a9f5c4f57114c0e0a0992c1c1b8772d848bc704d3e2f1b3ebbef32441e7bcd8e0b70c9acee0495f13b78b8a6edf3211a14815db1030fa8e664b74dc98496632ec6471ba59690e4cb074ac16b957f14620101f2b6dd204aee763adc8f26c407f0034d8738411fea4f9f0d11545ce66cb55f242f66d048e282923864e9c983df02b4f31950c0b5e48da01722179a962c5c501932167cb0d46e7875331d961033c01926eb4c996b04300cbbabeb986f934e2d1e9840d58ea8ba6badfd1c68d3fd94d8ca3aa1a0db2f5cf3c8740968705ec8082bb0c834bed79b7e14f00bace9dddf58f263af1cede4a2a21a0385cf27c5f086046d52436751628bbfb06f53f7cb2538d22ffc7559e6afaf27fa8f00ae6174a4e8b5889191cf55207b8949edd1de3b23beedd4b26718a11719f110a0b859c0d75d91777747b231843a05a383c02a2292eaa8835f21c90504aadf7fc4650d7f6694a1359686c02fa000fbebee5af3d9ccbf48c9c5f9bbf192321479334851aa66a516a32ee4994f064dfd0b48f0be620ce050824b5caf21393d4656c54f29f29f99f5520aab48a55ed7a6ba4be2c0b10bb63b41fc4592cb022e5900d2555c9496031cf8382f7072fcc5d0db1a9ae2a1bd5da673aaac883961713c39aab20e7f51523c06e85547704cfd70ca99afca03bbd4bfe812a75b636303a3beb24c9f007cf2ada292c17c754f605c03cbb32adc664ee2c1c4f219a70d7d922b3647f5c53f07e3a290c3257f827e48b12898c5f1a56a9733062908eb566b014eee58bde2c2b315dff8a5c265d85011869a76b2393a22b16e1e1a9ea3ef8c03d7c9692a9cfe29488095e9cbdbf36260e82d45587eafa0768df911cca8aa5035c38a9d9232519da8f289d7aace18348c65b366099c0f1ef5207ee97db4197a7b90e76f8bc68bcc5d9d769b48b71e159880bd3a59290861bbdd9f6912360a5fdd76eaa4b77300eceb91629d706971efa560e925a037db00403052a7e473dd9c09f551c7f220a984b2ca9a89cabf4f04e404e2cc9aa63e31a3a5cea0a8a67f8eb5be3c6f27883e7ba9e11a36ed40a9cab829ddb84daf2eeaaae0b5c1f24f3baf284f6cdf31dedd91858b180efc3c92598b29fa9bd356d7b2fb97614bd56ab4cc09e209f03d564662a4e32866922b5ee14e27ed9d3ef3745f558baa4a90e2593eec80950e508ea488184bf208e058a9381c967aca9a2d72e4bf63150fccc4cf6ab328d0c51c66c1fd7a05d3196292cf405130244416bd4237567d5f11b245f182fd34e88c055a589fb064283f4a1647605426b913c3a0c513557e9abcad50a2791e323f09a846fd6ef7ec8399fcd8cc2ee12ef26ac622cc7326622c7a970ad0282d81b35c36bb733f2fbf8f17af577922426505b3842a6ea5b55032b72a67412d2d285168848de8db87c0f12a160a511dc9ef9e3b3cdd48d7af5ddd32444faf95fa5c8937cffa8fbacb2418bfecd443239fc1222cc4c007ab544616b99dc410e368a95678c2227cb379eda0d9ca0235b3b68c633f27453df5d25ffc021d18056c10c8215bfaf30ea8b488c183be9bcff460c9047202163fa0c12d236586aa2b6dc6fd30b33edbcd5ed12bfa2c5136ee3bc4eee35e600db4e772bc65053f679a645d78e3f32f9e9ee0a876c12d29891d0b36d2afe80ae93eb1913aa6e8f41d03c7b5aeaf14362e8af7e41819fef93558c1bb8dc5b0619a322ca122e3ea98ec0d2d558cd77741eafd3df70acca552ff53d085c7139522756bd367db1ed5f101df41fcf05839e3b56c3ed75cbb3546718a29a3497c360fad91f8ae39ccb2244160a10c1b77e34d7acdbf767a0b053171081a79dd283b1212cc753077062fb891a6c2df4bea96df646d0c2dd4c90441e47601f3938251177db016f53b311a4d21adb08136ace79a198b42c1bbe11abf183d5352e81a18c0f4f7f87e961debd38ff1266bdeeeb0e335c5dd54c6a679a3dd418a64fd4bdb00b19cb8eacc79cb3f8134a1380dab5b34570ea59df2adc1db629d1590edea217217ae0b7c2a81ed532c5df7210d5564cd505e82a4ae44c42643a2eba4ca3e882e4cbe2d34782e4cf2bee25ca33cf7d6fd4fff7503aede37a309edb8e35fb9b2216e69d5f64939f99c5b76f3d11cc42cb7ec0b814a9f7c96017235919d4462da66a585479993bdfcec1125eadcaa36a74f395b2000b28ded02bd856295fab968ff1b828a075f6882b408d94cdb62b0383ece18183d1a79e8dd4c232bcd38e2e200f705482617d10e03bf7eab71a1784c547d6215bd631b6722ad72bdc9686092a59d08c27d269399419d0a3e5665d16039be27961bf9dd81278b7761e1c937168bfa8f7ea8fa1a9b804fa9fb9d8f569d28195deeb01233a57e98a6213a762498db69e74af92559982781d71a4455724bd774e8edb559a1b8bccb7bf46306e39106b0ef0eee3be0e45e05519e97c9794307e4e84470130438a24f397eba74a85d1220eaf2bbecfc3ec6f7a12626faa4e5e27c4cd445de1c9ab5fd64fd3d78cb4f07c4997be23927454a9bf40e81fcd8a0054f49a0bccb1c2e67e96a608830f5df494f9897f15139e446e5d3522b7915cd00376514470ae98844f498fc8a6bf4a674732aebc156d2463baba613672f24fae3f675f64338c094e7271d2b414317a00ed727059469d77f0e892e69ac8e3d629c6649ed48cda7c0291e313ec25f06b40d98ad857cc5f9aff5c0c699351c1facb54dec01b6eef23a39c5ba09ffb1065f35e01c9c1269569e03cd6a44007d31ca0567632d9dfa4f1365bdb13dc3f1ea4d38d15de1518d9c82fb603c4c6003ec5c536f5adb36623d5350215eef3cc8fe5718418258e595a58dfe9fd7b840564fde7933882cd113d4bf55ce0721321aace3943cc0969741da26726fa23e4200ad2d8c5b1303d71b67bcce07fb35b5cc43896503989891a91e926392a1d7081e66be1cb2d372a597efd814f91d0d304caf29052065e9e7ecdaada52be8169546bb7479b57da5f276faa13a4abe438a8d0f3dc12755222fb1fcd9ff3054d65d3115d0216213da3916c00ea6592080ee5efffd5af1b7abeb1b7f4d0af7243aa3883f95f532dd599389fa1a560a81ff76ec09603b93f43afff69ba2355fa6f5539faca42637b89efb1b306c448c3c60bb84237fe7dcf84b4f54a6703f6748dc91ed7d51cd0478bf48e68021465778221c0e92404ae7c6aa5b6b3149967b5411be1f54dde6ad7fcbed731b73d565d011b41d311056e6e1353f93074bf53fdd396b4269c7d8570907b117ada97bf29df29d4118dfb9032ea0e2ed92c442924059c11ffd2d14619d875c3a806a90f4c05e8d7be5a92e16f13feb7f87c922b8db32928efe33fdd8f2486795acc156cad9c5108015e003ba1842b8223ca0933e76a58c60a93c8600c638e0e73da3e6d28096d1e6e19685c1d7a8448ce01b32864098abcc00e5a782d031d38f145c92045fcc67f544bdf7abbbc81e0f9a07fd927ce87dadbdc117a80bc461540a8c5224c00e89f2ceb7c9312ebedbd7e8fc2e2c936de5946540708488a2c74aa3a32131f2aa857fd64672b1aecf553c098d7d229fb9c311f8dbee0d2cdd76564089b85d20e99144483510d1e24a55fff2e10d3dc813ba46c8c6f6d557dcc5c50f65eb92c0dadcbc396b89ade0febf9f97f01c09794fbd83869044985075481737fdbf311e475fad3687666cc2837ce2fcbe298e29ace9fa6b280caa1de8ac9a0f4b96e779c96bb6ae2110336048288f5257346c5fba6d23669d838a8de9117caa2734baa855b41296d10848f7c3c843c0900b30d759d2a81b11b742c4bc9df4e13e667134d07fd4af6333d90f17a057d24d8b8fcc09c9af45fcb9e292cacb5d0fa39013e42ac676b3ca72503f7ea67abfd61b553a7979c18e9981bb82e0366202a49a3074589f1d32bc763e3cc71c9508a842b5e81b47a40b013e561c268e32f296d9307d0841e97cb4e9cf232c4cdd55637241a009e2b97a7519bef4d95f9389c00bc305fe8a2ee927642fd61e7fd9bb97eca16295e8043bea16c0b2f71511161d747d64419a37eea733b915336235b17a220260d1f85a247095e7242639aa119d58e42af2b26d222999eeba6e0738a522a583f3a2a4c6cb8c2cea78b4903f629a3329aaea7499466776aaea147a713349ff812845c3dba1578c9c688ac10cfe2395d5279f9a00193b376b2301e87b4da6dcc222ec6d7f03ac64cdd9c06188561d3ee92b0ff231c1fdd85a3d2f01a8db11ee5132c587e4ff8a1664101bb06fd749af751fa6335d50c138ae5cbbeabe22ddf25889bf21b518b78ceaccf5fc416e0a3e4b8a0ae8ea8f37c8a97168bc2600084c1cee07f9eeba385c1d996ea6c9f6163e2460e72c58f6f76608f9918c115a8d0aabed7ec1feddb86db5e6d4524ef6e8c08dfbd259be1c67c956c54ce3eb94ec7747806226f7e873e3e30ac6d5befdf36aceba9b55b3c26bff4df28718537469a05babacc9eccdb4f41e09f24f16005c9bc851af927d4bcdf3f23b24490b7478e745d7449030f7bf4321144272ec2693bc05cc139b8f0ea4a72158d6c46a811ec892f16e183de1e9704f7b577ea1445fec91d3fcab9fa07f88140c3cd6ca5e34467fafcf44bc844ae2ad424bb77ea0ac027c5c9c4ee3ee92128022ba4ac1d65e599b168f824d747bacd9ca4ea55f7123157c6f06d5a6e633b37951fe9af85fc5522b96c941e397889bf88b8b25aca6aa8fc1d6487ce65600a8795c627dd70fa2445ea6fe9f24a2350fc6ef30fdb7d0842d63f0c76f5c15511085fcbd57e00a8253a137276cf903dba1c59c41aa955b4758a11b5f3b03ceadd8e48eca6eb76c2b7d59239cc34b01297af34bfd80d4757b8cfb5973a690cc9791607d289b203e014dc92378eba95b607154c631536504d600957517e0020ac10766e3c9abc74a107d4fe9e3bbe01dc3177be251908bce8683d37fc1ad3ebd486b36bb5f9f328f98320c25643a56d365f02b19c12dfdac5f7b5a596da6c200aa3c342951dc7020524319170e1ea31207ed30b492571eb3ed0caf67e26058228d55043361863720223c32c2abcd9738cb046e9fe986863aaf863b9fa5269fce42a5a58dea5b26d715a0a4fa621a80d3b036a1b3e2534c349efef1fd89d525460f8e33a9701a4ce8d45c2ef57d189afbd8c3d4ebf9cb8891797b6193b90dceea015b422fde29a495d2aa8b0773747f94714cd5f6151dca54083a270e098f3c2baed458b0e5683e09bdf75fd71067efe728629c70972ebb5f26c73f8f05ed8c106a812407c7a7206428f478386fc5746e9abed640e5dc33e96e83bba6cce2580078c340d52f3c1ad39c5809dcb7a86ef164aa17c88e63f1acc63e32a3d03f761d8830b11b731ac42cd78468ffd16ebbe11664da1ce35d6f0881b52458293c0c12c3731586ed0f3cc9114cf2ea488b83680a16c4d169f989114394fc9182fd2895d69cf766a9faf4a4e294ac2f73d10ba998eaa01a70290ab3ef2ab9d668bbc9207d70e8bf80b8f4e90835a265483a679e709c131886df7f4e20c8695728ccb5bae34cfb1ee53115172b9630c0127fe9349de2e27c929abed835f7531425427f11e3bfb68b48d905a21fdfe4a3f7295772e5afaa3d5fa0716c2a3acb74fa2787186344953018c452de2fbd52612a38197e04e70f08cf395b6ea54fcd7b015b0322cb0985e8c76de463bc8b56895cc22b975e3600dfbd1f458868a2fdc2abe970c9bb6ed3e57f26315d8ac7218b383f372ed354917adfb83103916beffd6a0ad25f12f20e8c98f3d217ab5b526d57cdf54d9ad691c577eca397a54e02e99df25b75b721e86a918b8dd786cf6ad918c0ba13a15938e5fe8b4fe6275df13f8cbe02147cf3dfef5942b0bb08721608dc59db515ecbb4fa328f48baff959ae22e670f8279f5052be3d4b8b77983c23dc8cc540d8be942f2ac451728041bb21268b81bee7a98ed3cea0ee86d581a4eb02ab7b69a7bc4f505e072ccc6df7b17db55f4535e769b690d37377816ea1df58e324469f593970bc5e0a6dda2bf4b176a9a817f9ef169e2a0f4fd0186dc7f471c21ca986f5bd07fcf354af8214bd63c3f0b4bdbff1ec4f404a7f847e29c8d642afb54c0b535c69a0caa3623734b050e48d4a0db71df5124f01d6d56291eee366bdc2d6fb1d58893c822fe671dda8afb5975d85444f59de492ffc26b9ecc643bb880259b85017eafde0f004c8df757e49e6d9d1af185b2cac7c6cd498f56b63f4d6441214e579d59ec837e17819f8d2b1cb3922a573ee3d2b5a3ebb50a580a4f3d19260a7fc82e7202d1a9564be5d0e5f7d3ca3df57f2837e529c5423fad989ed4d8bdfe1935622f56cc9c362b6058e94fc24553afa6d2a68e65cacc343ce3ebd5d567624c6f41a94523b7295f0f93a7d93a97d1539b0c5be96f279b661ca7176418a181662e5a9de7565441e0f9c3c9b4cd62980a170a4a8b2e65e235d6112b9d9a436826c42afce8fd61218250442fc62675171130c3c2cc9185165f09cf0854b868b7ef765f970a0f5c78ca7508d829c72eb1b956339ed9627db4f40735e1f7c6723d89798e5a2645509de9cc602e8074dda6c10890b4ac62470a21921d4d697b636093266805ef51457f587943d531fa28a05520e4d7c00f7f8a5491c1c476917a78020d03b6934119f959244964b28b2402bd645b5e7843e59e72c966d913ede1586a2d6d0883a6e1f4b1ab0649cd9c1f4bffcb6b9546630495a10e72cc9f8fdd315f6d28b76a3d5da81a58abefc94e38a5dd9a5b92f1ac93e140e970acc170b69b9dc6fdd2f3051c3a2e38064798a5aab9bc9955d4052e91fda8cd8c92b2d60e4b30e85d1a6c03b3c06191386846c6b9321979843048ba51001f2bbd2f37a576b9316992ef739cb3a461b10d22696db8d615f45bff27e071ee410aac3267169a0ae8efc3d45a714a64ca2136312e41082eb7c9789dce8c6b0d96fee4343ca27dc339be972c0d9dcfcbdb019a0c6c932c5640e5ee5256d082df205e6cf8e8e336a3c3b97b33c86e15772e505d3d1c8a321416e0d31637352810a089fea05f29e58f49a892322580dbaeaf7702d5c30529ae7c0f355636250df16aa43107007022d95ff10455f41b8faedc6a77b3afa26bb328d6e384822b710f9060df4e4fb519b932d94e57d1c57b283b0968ed0c1d606807863a567318b7cce6eba13855c68819bd75a016d8985204cedfd24b75c951de47a72e128057958cd692b5ab3dc5d637a274e93e72bd9e0efe09e831bf93059bd4ae6436300be3b64d4209a80592ef5757f77b012b811b8f92f27efda0da36f5666a8344f0affff6e8e69efc5ecf585a052f2617972a53764c4a0b971c08b0af1ebc2d17d2b43fb19c30b3c9fc0d6e2ad6a9a929036182f04c0c7aac17261c8190762b709c0d98cc416315801e65437d700dbc0a3c6e46ced2acdebd6a66fd0861d9dc0f15c74063bce663d8269efdd109310126f8d0e21acb25920ac0868938402237425f2ec127988a25302f30354b1097d4bd3bf893a5070b24cadadec5b59a9746122ebc52a4de9746a7af064b8fee05040ff70f7c014c0d2f05e1bc951d27b9b91a005b08619c70346fae75d679c6c0b676b396fb4d6d9a1215f24e571d764ea7002a5b47da1c989c1917596b14ec1510f0cd1fc433f45b343d7a0aea86e785366db5860eca1c09bdf067cef9e8fd733e70872228c534270ea5ec446b701d803727c53784be88b109126773a0569af3be4be4c0a46e08f5512460da565edd137caae0b489a9c92bc0c8312a8386feb65524f04bb0209d8579371694cd75e865a67030c9dd502b5326985944a996287854f3d61ab1ad8d8b9291531f4398f8231eb134e39ec280acb2b358af8d2357e5a63cee958c73095a3a8dae10af00a284bbde466e042aebf4991f5b62b7c4c6af1e50a04d7213ab6888d7633326fdcb6220671bda637b6bc35d8eb950b3ce2d67e22f14609779400d1f2482f4e306073475482aff737d4e8ec706fa9ddb3749689184a1edd9e52d91b742b00d46ec946d91649b8aaddda01a3ac9423c44a08f8032ecc89eee3b1fe30f3cc60b0edf8077404e21929460f3e1577a8f134f297813812f5d11294de47eeb2ced69464478b3b94dbf4f6a9fff55c9dc0d5c5413d3e611c5601b80f584cb765296cb9c920d9374aa4f3f1f77a37496a47d430904ab65dd5c3b6310bcb4d07ae84037235a3055166fa38032d908c1700a59b76592fd66685471b21298f833a8b403f9dc3e562561421ece2b63ae5940434f041c673ce38b82505b14afb8edc678ce6ffa0ec83cfefd6693b731f9fe7a6afb1dba51900502d1b1d7f0962df62a98cf4bb93e977e480b17bbf3effacc8f3415ae0a6e82669006723999e80d71a6241299721686047c86c1b9cfd27767e43a127f2b49cbaf853f354820ce8f4b1b7978a0a2d276b98531bfb6e1324eb03f0edaa0811c16252af4c02fe91fbe6c1d21d7b548202b6345ab522e65ef99655a7d4af5785f5418052f7145ddd54044926b9a47db50421abb667610d6ffd97deadee88ca5bd9bfa85c7c990f4d56b0b2b7a3955b3399030ae5e8a1268bcb16c627c258626da58bed2317f0bde24f18f0405303c63403cb0638df8e73859cba76a67cece3463cc994f3216d2909c44f1f42ab7bfe5d3f95ebbd16bcbc7510abe4a5dab1dce087a7a09ca427b53d857d10c26fbd1c7758803c452538989eef03e28e9a49318279f0c61c50e275927b5cae4263ffef99a9b810a703ade4a991bc4dd6a061cfa7d23dbb2b40246d2189561e2487d5513e3427113957af35913352b95f7b03946fc2ac8f21f976305afcb65c833de7ef06bbb12d1e91121e50b4d86d04d0bc6f22b8b83ec665a7aa7fc697043a3772896aa5747d8f8ec3960259102fd69f7ddb37703975cdbd11a618875277f1648f39cfa93810aa9250ae7c14db4199912938f750bc789e2601b676fd8649c135ee5916c2f977e95056674bc488b6fae8ebd48b4b53b75b315e1bd639cde97d3f81c2b361d613ee47fe78d126233d2804d25d04acc6c31ca039deb1a6cac097e558a72e17dbb98c32d1629a9ac0b89c61ebfec65ed535d737618daafb7896f1fc050f5d4bee0e35ee4aaf5b9f35312afeac21e9b126b20d2ba5acdb34c0f215b810620569ddd3021383e6fb138e3f65577ad03f7b41024b7be72b1a49e90e674ac2c4f2aba8e36e0c5b153253ed3b333958e324f1782e6e53690f3b37be214453721aa178945892e458c5612c3fc98592d29d935620fbb3e3f37d9aa5ceacaff227ab1c761ca7ca8cfd3c147ece25afbcb986d580ba1cd8c8c75df458df56d89da6b9d54f1c7785078a6c71629af64c9e9d95f9c4240f5427e32356d84423d873df3446782852c9fbdc95028ce2caded75700afce875d407143d472db2866b48a0e5914ce691cfaf59588405aaca7b563ff7fb6d0fb349d5d4a0a249468a6bededf5e55159aefbef35322072c480bf6e47a5b4d63781419ea10ee6201f961f44728187ed07f18379e3cba3d198cece1daa98b2c5db678d314eb25d480cbbbfaf7e78ce182280cbc776b1a991020d90300a70b7f73b051319889ac99651f509e027f5383da44b004227f95cec3674db5acad2788703ccd22049a55ac27cc999b69b40fd5ab68b9705e8c1157dbdca403c33aa04c844c6e0fd188c779da80ad7f1634fa6d9511c089527ec53cd2c094d11deb5f9d19ce5d6d7ae34517ba8a1327d2f29d7ca75dfbc762d4ced42ee2284212c3010b6b6e86be64646843f41db2775151ab7438b993215306ee051d4e1e81d88ba6151dc17b7ffa9ecddf9f419aea647b053984ddafc92c390da0f55a247f9808435cdacce6ecfbf428bb62740a2e109b6a0bc9a76e510eb6d61227815ee5e5dc1cf24d957f0aaace4cc62d88b1289d3439a7cf316f8f2db40935cc3d513a83d30c03d1c6e9f35410914452f30d7f640467467768e3f05b7911f7a9f6b980abeaf35dfec5181a1e55413ea7b1de2927a67c6f9cb38d70fdc45e37c46fb0c38cb327084295904411b732ce734f94476031849d0b0e3ff94b3b0571ec39d29cac80c5fda12335bf781c33812f40dce0885c7cc29c933602c215d6af222ae40743bd3affd988d97fa582f162c4cf035dc6afe013aa761294193b60f8da56836d567d2386c437070df40d601badbe72e9ef0a9d4ec5ee4643d8fd08f9af37b0dc92697f603b7d948ffdeb69eaba37803898d82ab42978c79131828d617a3fd65389ac1a3910ebe5268d72a59002f168305c7aab764931001681088d3f2aa1a7736aaed687109504016035b96c7d6b63142918bb07e545e9da3ec4f18345c8f818f6910cb829f4fd30bc8977a1fbc6c66403e4e5d9e545d3926f55f1a87cfaab0e3a9385a6f542c12abcc0406f3a98a02b319b6f8d08dc074ac119534273e3de00953b8e251a70998241733c0357f7a7821636afa2a8048247318268d05e123b0e5bd70b57ce40351b850ee68a49cb9db27fa0758eb58cfe0bc923478f13ebc17252c3ea83c11c7da0e290ababf0a5cb0ab556d24c5513cdb9243dfd534148852e1f2fca95b0b1f5d40e9b4f55166d4588c8c20ce8c6ee55f8cb0ac3a20af39051d06f5260821352811253edf57796cec46365bf4cb1a220a491743d255f981eda953c2563f391bfa969e261cac9fa5ab962463dbdbced83b7d01134f664804cb1813421fa422cdb18d0171d1115154b7d2666dbf4b8491f5d04178a766770e9a1b6475b0bdbee08ad30b7baaf7ca5680cb62031638ffc8244546e1b0a75bc9ee733385fb65619354df1b62e09d2487d60554d19c396c1ee22442c7ee34e33e15624eeab89f3f4c6b6caecfa5a629cbfb0bd271db789885f104962fd66cf49332383a451ba6b65b3273d727e3a46c935515124ec120cdd17fd4be95628423710d948a3daaa4e4d6756b1ef095a6077b7e6b84a5c3f6be98a9c4688eee1398af938f160098c7f14a21761d7ae50b8e275e2f45a90f8a018a46d5586e160c9fa124540ec3b3044f7070ecf7a87f30a76930c3cf0be082ba864b53fc98fed13e9a120e705729a74124152cc8d1719f638591260a9d6c7779974e5e8c2bcb80536d698df48b42b75bf4c3a2c1085fcb0dc60fbaadecb6b21fce660002b626b3d794874a445780c518b959ee3330afadf144fa49fd85cde5f0dfdab47413fc9dacd171ce4851e9da764b7f54de5474d5d24296d226c87c6c6b1b2aac5eed4132f8b3adbd938375e7096ce479e2603a9cd72491c5255f555b65e5b1f7df0dfca3dd87a5bcea190107095ba59e3d92f96edfd87e0b1232347d6943a9c546523ffd522ea6434a33e772b6235c2fb6b3f63a98f41d4277e4b162bf2e050288737708e596a4417e5e18ff4e9f384c4041fc0343c81dba7908aa5b8dbc92d4c001e427029e775ac8373ecc9d8c567e190169077c1a896a7df278fe0dfe62dd3e559bd32a0533a8297fd5cb6b4fb8f456253190cb7bfbcf95a48b0d0d75f9d765540b29813cfb2cd5983fd667bbaaab4bd062d696e605e49f5260f774828d95cd84ea09ac3cf08e2b4a152eeb1a51639a8b0b6e870e9fe4a6847497b54b1abf416a65ef064153eb1065ed95906997aba33f913ad0d70945ff4d6c26bc59f50eedb75b0ef6cc0e666fcc4c99b29d020ea201c7ef15200a23f86b19d1f60db4b330111d7f8e4a0dc0b46176947e368653a0700c5def8fcb07d0865049c79bbbcccce4b7cf5d2515dc56f9ffc8c4a538a6dc4f7ae71a79c8b065d0d81cf32fef9a9f9ecf5d8e640c8b9d9ff2f0020d37b6fc0a096ea8b0e9162d0e53b93587c1b0263740f7e96fdc154ad6887dea89575290fb5867e38b8689ad56b503c56351c0a39261f5aba8db9c9eb5ce24be26d539d4ffd9c402d2686ed92c38785b769f4b2bef9457bd2db554d6fb88d0b5a015382bc9aed0233c08b9a451ee5c2827afae1206a68acb7acd67be19c1cbab4f7268e5166799f04611ead19e146ecf17c5efc766e38cc3d565e09f564ad9b74f37dd19ffc9eddd513db318164d107aed7117ad03f71e9cfe21babf2a1fb24c143ef555e64944d2122450d0ba8c0725e9c8302588730a6752f2c3c7e4983107601b7cfc1b2d7faf496ed09b59bf3c424c439f57afabbeb92dc35f9bcbbe52714126fb67bd1e0d48c43e3711977bbe7916e3729b4339f9a4fa73aa92ec3d1e942da76fcd5265bf67889c258c1b7b95abf086c3770527242a7b6fabb172ce1861166c43bb7c1143c57a5abcd79002e015d671a3dac14cfe798556984700ec17ae007ac666e40805ac49043844693ccfe3ff9eff800efccd6c55ddcdfeca695601c56d16396ff6e1872ad5b9b2f378e6f632e791efe25a008d802fa0700e78a90cd7215883d833539c0434c603586d6a2831f165181a02b3d94a06c2126df7b3130ede0bb810ac9da57ee66e48765cba0693723e3fbbec60e061e2d8b7a3dc04011b495ee50e65730f447638bc4c0a0a0a058a283bf9b7583c0bf8d01eb73a29265e5e62cf6780005644d4a8cf03af6721513a7b16bf2008f791ab65e047ff9ea8d895e3b1e832053f912f0134fb9d789cecc5b706b0a2a298f70e37891d05eba45353c8381a7ec9e9ac6bdc3dd897ad48a1d65d1e5aea94b4a1a54161e5d1730a3256444380197977d79af37ce66a80330ae6ea0d776fee10a718e79f28ff39c2dd5ec8a14fa7697c20b9daa514e5e021272656f326ccc2ba1425b4d6871ab41054a750b93a815069fc41cb7380ab735e9e299582bbfa8361bb95556876f9cff6950f2bed9b301ed95f9542e339e8acac17a957848776cd74460cb119c58e3b8b2d8efdb3f06e77f5407829382a3f0f398b75996068478d369c37b2dba272f348cd07b9d8e414f03154917a71fde3e763670e513dbaa5fa9ac37990471bfa992b56241a72e616029692f1113e0fb22e2d7ec1de93f29ac4e239b2c2cc0d35bacf69e48d063e19495edccea54583c3a6397825f1c5a35154aa17d6399cfea98528fdf5e631992f92088711f54fad87b5f5f52a153beef2df533c505c73c36b699f32dca5234bb4e8ce3079cbfcd98bc06bb455ff325b01cd08e8afc73fbba1ed0c56d8dcca17e470b76b95c2a005d530716d8ef4bc4cd74137683af5956d6afadfbfed56f2872e0536671138e5b43aaed26b2c3f613adbf80cd4b18c5cdbe5776548f541cdda13f10b66417b69482d9fe4bc27becd9e76f25db0fe31ec16cab0a2cb805fa442f6fd6c1db09f3954d5e798cd040cd717d0678d580118a3a85b262e1da63fc7066c99c4c0f167ace0496b7174c0d118af6ac729683dfa83726b9d533dce0e051f69ab0e05b7c9586bbc77e5807de2ec70b393e35a61f62cae0dd1c5059c699ab495fb50e893bbc55f66fc3c324c5250b6983dd6333d5d8729b5d4b5d6cb1707b80520734e5e8b3d33899d0b2e4c5596de10c76d4548e61d353913b6b5562731faebf640f1bb43e2b635d7c2db65e83a8099c67c47fba7bdc8a25e5fd283cee749af20e7a325b8bac859c96a156f068792824bc62d4a1c409bf1eb4e55ab80d6a8b6235ee1d7eade699bdc5d0ad9e2a07e599a748356640fab8aa3a8a7c747125b899a07ad68f123e77761a5d6e613870a5c3d3752f93dd5e76d83e82e90ab75bcc162b74d31d3973150b3805c5e645bf02c4c98f911f69b26950785f5d8299bcf20416b80528327d8aa4bd371c92f130b8d76037a72f7f0170c3b0e0d726a68b47d565a7863f3651fc1bd398ecbddb11224d30de7cb9bd3b3e496347885e01f30acdaa5e8143eae9fd64323282878d58dd2751b4734bf696a5de756f1050413cca45a403b4c32824fc507556ca5f79fd2ad075783836a5aaeda2ea42162e9d30581b953a04f83304a1813474d65b2a47e1732bdbc79e0f2eb008d3bde3fee174424c3660aecf7cb84042d759c17e74b479b8274e392ed87d6486d3c0cb5eb1c14baba8f5f459d3adcbfc22a63b64a6acade939ec38ff4e87cf74cf7941b78d6cd6036e2e4bc0a4f65b06b7d02903fdfb4a7a27753f8021c20168745ec817f3142e5d67d124032a0066ca3e9f0aa3abc3a871e64ad33f772784cf35d3e4acba0dbbd839eac9591d650be61231eab2c7eb90c4d3f0fde30fc18b5e89afd57942ed907a712ef9e8931d651561bea6f9d220ebe03527ee2b2d20bc48cc3ca5e4c0a3ca84e29ba124b49af7a9fe7909344ecad0259b91cd752a63c3dd0ae5afd4cf1c61e4ce7c5229d6eaa33de669a144b0d3a403d529193ace78e3014bc20c3e8b50835c76d3b702cc9525b59490420aa59a310531b5b28f90e618e32e3c5cd36e0f16c64049a432f1324dff751f7ec3f043aae6bfba498c3f23cb3ae055714b15a9e3ca1608d36fc63b3b340e24b6df6c537756a404003a1ea211220c90684cdfe3a19c3dca41bea17bfcb9e3f28005f57408e58550a11e85ab0641ef050707fc7c1b8c929fb1adeb121716927bfd21925a9d39fd2e4e57f2e28d8f5f046d4000b115b482ef986d420c8e47d45f370855b07b4f68565930545bcc7de4b7a1d8035e21760a7c79bbd4d42332a7ceda561770d7809d16ea51f68be903b168c96d6f616497f4d4fce8ffabb09e05dddfce156aa0f321ee34098c4b508881e23ff74e853774228ba6ddec4962912b52977cb2a119c16ca96829dafa2b870c27226c4c74fc05376c6aff78fd3bfe7e80967ad97a89d423c5fbefb566b2b36bf91c3b95fd365c9260661b936cdbe97353cecd2503f61f603f7a95e8dfb810a327f619aaeaefe32b6dc4044c52ae3e095ff8d2e3db3a7b560ec005f8270e1933e5d4dad37ea713bade1553a7e2e51db7c027e59749f2a6f29a5bcc8ea4ff809e967b509a914c43b7f6b2aa1584b210ec316f95f53c877130f836990a073f80402e880ba653509664477e27f735ce85aef8628efd55ea7a967f5b5ff714c8de7871584f906a66a79072d6eac8a59be742e1b877943673041c68086891496e9165a40f1107ef888828635f787ab855ed24af34fde2e79a763ba4da0e93eab14ae6d3f4fb5a86890ed034061bdb3e4f65ebf11413e1a72163d2ea0207df99360810b531f078acfb1e0786ce58d36db77e039b9abb96a5e89483512a858c3afe58170b7b72dc7c2b43d1bd93ef989c67bbe823ccb2f53ed1e3956bd1b6445dcf3f73d536cf257904786ad6020d5538e559fce6090fd825bc649a160336d4bb388262a0cebc8985716fa81c1fd5ceaaf264897ffc29251e7e4e0c6ce6d4c7ff52c5359cab93e31db1eb7390cebdf5298738956f478c18052dcdf4f70e541d8061b71ca575a2c1ab55c676e1e6af531d0a312a2b4f4fea7bc30ccb864694f4162d47f255ada6a4481b95abca567fa01d3a69667703a9542495036fd16082f65d3476e370f47ec23c2b7c7e0cf6127b881c70965f701ab32f70ce08b151c1500a0dae02a6d29728dba4fd69fcab36d3508e088906850acc3aad172a45827277316d4797d9cfff83fd90d7dfc2b66d3ba8a799dd03c7e9c30bc539d3fc5ff5d622b402fda46c170dbfe03802a628a2e66ac7b52140acfbd0e927bc7ac8294c21018ab38fc91d7148d195c8cc1ad0091f10914b35379fc2071b73c1cae5a9dc8127a7eee80fbc7e0a9a7c6f95e8d0dc99b44f425e3393adab3077a22054a6eaf18c52028f1fe79619ad3b647a066d9d86830835279a4d09297dc55d4163fd8f8a60de8af6390f5b64a26171e4f63df2ed4a4df2a7c4055321ffbcf18e14040311c19012823483223c1bf831ba0e6ef52eb8fe399b4bc11772a8ecf901fadd0914c9bcd7c03a92ec445d52b266500ac754932f51ba32c03a57f1de9485905ea8c0149d5c0601e24dc3dbd7d3c8af5c3d7ab889c08b9ec7dae1c7d9b37855442dc7426308608f9af8845fedeace64e133a86355d4c6f4b9385c13449e0bfe52bd9e61a710c26581fd7c7870e7579cb1d400cbc51b9d466401dddb615662e8d6f9b0cd047aae97ccfe4736328646b4189d52ae8a46d047fde7d225ffd1e07a86d291184c7e3a8768d5210be7788e9b760884ea90c984a83aed7a5a3c46c8c15e015c2c8b0c1f90e313813a623a88de2b689710587efc96f7e8351c9f78b4026b1e97b34c55903c2205233b90c8eb664e1099bb501c32db80bda300ef52033cf304e1372c0fd8c7a9d851e52913a58a056cc33f0270c723f791329c58cee406064fc1c924a72e18a510a166e7dbcbbe16e5b44feef625f55f4c242cb82dc904b04898fc7c439d3bd1bd730d287995493ddbb684f0e9a09c9ad156d58edd65e06f94165b974d2c9680f1e5f14e06ee6c239a2e29f16e3cc57439786894842cb0e12e9040c4c3525d926a659ce529526a2bf84ef0f0cbaa9ece941ff22ebd972de0162c4e09a5a90b97dd1d2e3365e960de89e75d9a70b88a10c32a097304e0aa64532903d229fc321d7f7d7de0bf9456e3aaae10028e2c517497827eb12b20800935e44c098a11957a45564abe174c8f20bd9111096bf5e8e18572672aa41d75ac93c76492c4def480496fa68d189b03fab269718d031a3cd14ce293a711b59ff676ab0e4b50d607ea8d9bbb14e81e29072e5dafccb5f010364a358d2cb685c0e9c4cd6903dd2a5a93f887553a10e90ccc5128fff211933c64d8fd278b8fa4fd3cfb8d9ae6acb20f920f274991162c053d4aa288b4ed242a30de93e28a5a1ec1fa8ea0a20a4feffc12e83445e2552f7cf7601e92b7c41370130ee24bc63a3db5b89f4f762d48827348e8e6612888d7087fced969f051777d5584430575597ba0abdc89d3353c2684c56eabffc3c9b8daff76f74aeec37a53db9870f0db5396bc217b89e4f46a36d80273afa83eec9b5df15b3722c2342e4986758630d0e57176e5cc430fffb36871a8bbc45e42a2c5772b2bb63357bb8a540f72f123501688db0f1992bb294d76b3fded3fdb1330b716b70eaf3ec8d604d8346a77b2bdfe5c55cd9b5104b06c82628078a6156d86c978bc1bfa7996abf49bd0b390fc061b3bdb9745b25695e0c46cc8b23ed7d1ec884463e12806fa572e7daa32d60855ab7f81a7202465f76be1a44ccccd2a2fedb175123341be383600e83b37a49e227651d5f79b5e1ce3806bcaa74c565c5d577b90d496bf128b6cf3e2b9f99a2d918d2fd296e869e68bdd23390c712338564f53f2de1d4bef3d3baada29e9594ebd279dd8f03281b9a484bf01b303b2889fc58b298653424c4944be1b1db8c4834ef03cb4289d66c129dfde68d693b190f68361c3744241beb8eaee5705d9146b5e1c551b434c05ecc642bf63d4fdb500c776298ad8b1a802231bd40305c0f8b4b407715edb394b72f58b33d1e01b08edee326601649c1db91fa0ff9b97938b547fd1cca055bfe613fbb5fffb2ecfe7efb19f0e396658931678af3a7d04bd79eec4b1aadcf259ce59194929ff234114338a0e6b5635351eb85fe901ff5223b7cd870a3eafaf504b1f8c41fc713f47dddd39cf8c940526a52e267442c63e39a8bcea4cac707366c19d30685cd2d447b41e226f6912f2d547bc7b9f0469e407ae6d82840f81ad6ef1ba6cef92909a3c946213eef8e0ce35bd250b97ad50c193f49584fa07829325d844cf202ca0b9ab5a3f2b8c2c3b9a77ddf3c61f3bb2ac3fd4b49cc2c2b65b570216b76d1b4135b271945750a02fa8d1c89a2381e094a99ef88c970eee69bbc9bf4f73f341653a429e42d9206ee7fd03fa37a416a09b0f7db084d4f32a1d3c48fe823fb085fa82bafaa4d8c8f37ce33903b00ced10d0e22f594319bf3803d0262e8e9b728f04f37070c5509a78260e575b68774d1070bfa38f08862839d444423d4298598f70389f0292c572f4d7aad5cc12f25f1a92a562a51bd61acef4f5c98204afa8d0755710b8647f91f6a0d60c827e566e0e175d5bcf22c023b4e2911800224402540a5cbd7b0ce0cd7caf9665c7e34b757a4503cdae53038607a88a3e7e2eee6411e8888a1581f55b309e7a018ee4d890a713e699f45930499ec9946b49c2e172601c4989625a8d5e5518c77c9d4afa7262bc6dd1b56ecba4b5d06628ace37df764187c57ea54351d2dc18ee6fe90e289be2be59d626641edfce17b5659a4da8f710ca542ee03d86f122069fe63bf41e4cf185d038b8b49777142baa496b4cc8620d79af3c84c6d8da2b9fe98ad161d024f4392921b63f2aa132f6f695b4a154423666816742dafb01429b1510dabb16223060626ddd1328ac9e51795b833f653a8057df00c8628c7fea2f1a07dda962888eaa57978c8bdcbc79d8ae5845923cd8c339c7a805dd95f04cc5453edda1d63a45501ccda6e1743419d7a530362c86db3c998ad6a967691fc4c2238a753f8ba9f0970ea8d309213bb3a4889c654e64685746d7cc1e83874239ff71fee23c5225446d903cd36c72e1bcfdd1aa34641cd44e8fbb8a401bb2ea34abc217d53e32883743f9c981fc49cc484ecd26950f454248e07ce3aec38864506160f6bb05571c9c5d24d6b9fac7347e8d832d09457be8570f722f31f43d310d5cec6d96a77a9b97f1dfbd2e39013e2b481fb57684a94abf778f0b7808a21b4f2c59b3fbcf9cbbb569d0e6743e0523af2e7c405f91371453c0967d36b1984889fd0337bba2e53a3ff7fab36f0aea8b002cbedfde5e4ec8b5de85da4bc86d1570cc1d80267d8c6330acd8b9a9bcda12333c49d46fdac70dc59a5d5e176c7ef3dd91b4b19c138f1c9fdf9535293b78ab23904192e266f53ac94272a453d680880e8740809b2321a18309be9490e7f08862b44f9bc04639dfc0f2fda78e06618970f4a0ec293becd450cfff577e203538b6f91a73eab468f7ec2ea5f9134102c47e1bf1cf53a1bb72d7fb28620c77f3d1fc2272a07fd95b9b06be9b43c1556b8530b260ba64dc6f4f110ba779f146eeaa228fe3eb027d9946c92a7e29ff6d2a82e9d02f40986bd3258dfc5305eb3e2362c41700e8fba68010f871d4b8138c6dc5af537b3006d63ac6d11f1aa01d3fe2e6f2bd00d8fa0e822e012b9974d30f42a631686eecfc56b9803cf8afb6e11b95b437367d10a15d95add571d2a2e5ed7bcd4c912ec9050586b19dcce2fafb23c8cf962568415e2ead20ab8bda0552f0682192c2b25ca23065d940d09a7f87f9d4a867b6dee59fa33772b965a38054fc92052d1771573c3bc7fd46bb55a550b657d3ad2e127f566b3180aa4e1d0a154f448d0eac5904c7c907deba4cd375056f4c7dbd8f244940ef47bc657ea51f6741f453b1ae16c234dfd441a3297ffa266d05db53270e69d449f0a4115761f6330d117df55fefca641204b48b4c7c7dcf649256e16bfd98853dd0ff09bb1cc21689307ba5ad28db8648b85a203c83d229acc3d5be6a9bc1a076637005fee0e2dfd524d4d64fce738454df41cbfd60037ef12c0d234c8a5d8de6d375061f351e25ee82636cad0cbcb7dd33ee3c8d265f0392f73a9aec560035941319eee7c5935b34648d5e901f4b3140bde0b5e57ce43dd319e2c848c32c4c9a53f26295950739322629f000183ca60d12d1833df2f964f474f5b58c57d7fff6ce16f2ac043abfd8669c196e34f3cf9bcd3e4eafabfa9c9ca107760295e7abb8ddf825bf820fb0bd9807fa49f2d798d3bb8b9aed9f086c97633539ac1e63bb0ce3f6ea5b8d65cf8c92be4f9fe0a7f913f1c3562d7ccf9e901e9186e3490f8a03a3bfff9d4aaf00126ce821123b1bb1a7facb258c1065214bf2323e3cc788e947f699a887cce8f7ef3ed0081871c083dd99c9f90808d8fc518f1fbfb3ec5773bbdf47d9c9e52cb1ca9d0b6cebd1c4377aee48a3a41220843d0f29a5219393fa9e868e30d48b69b4fe2b2920a43fb4504f7a3b6fba32514ac010dc6fde24322f6d17170abb2f29bc23d9e30120bbda78e3385d71ff471f66453279400e3767614000d1f2e9d7899032ec7d2b27b92151248f13702062f7ef948e7ee6c023ff5c334f355e2b8ea6eea7803e31f7ecb9ff36e2a1ba116097da5508862bf7e9a44375132288087d6e77a06d05587ad14aa3f0e900d7134f5a82114355accaf52bf31ca5c025199de3d98c1fc4b0b5306ecbe7b8ca756b9dadfe99f16efe082e544dee290a7514b9d523287217cec609838b9daf7e982c1dd6e666ec3451c76f53aec5e0257519c6b7c8616591c0d6308248ef9b122930078ebd4bc2c50825a8fff41b01483a1ccfc993ec9c33b8036553a409ed8bb53db2f4a90de7bf9cd8bede4b850f551a7ab66f6fbd2241ecdc5661c05fede7157727ccc1165497d7248b5b33fad88b95b3316a704b8be07abf47205841502a940c4d0eaa523ea3c94abac27c8f3df600e566db122fde1477b900336ad54641fc5b539f8d3655c79e92824afc38f86d9ca62e84c36ab4a769b3c133b6dffd15766cc47bbfc606b6ea41167623281603add65a9d5a8995a4366088d7258433eefc6aaf77dbebf7f093ef206eee72d04eba618781ab7963db4c4519b26ff41b3953754f0e57d0d39114af00e2d9129e219bbf34f5f07302c04112e7ed463e2cdcf30293b2eabc56a194ef7b1a5bea444f4d44f6fa058721154160a00aaaf3d00a4968db6466988ba1e9ece79d96c81ebc1d0b636c3770b31c39db2908276c51f50049650dce8ba85da7023fbed60f02ba01fb28d1ec4b4df6fb9698e7800c75439f883284d9e18092abd95598711c28381f83f0dd3a48c65776e957dfc46c188967863115d506950c4277df294634fe5636b03f1f45cfc0135030aabdc57c9134570680b6bb68686d7a72bacddfc5e0562ee9259bc5195cb83761a42d2140a7b68902dcbde1c7e8ff22bfb3156a8fd1d6f480820c244c74b99580bd696083ccd4acc4253d89d8a33267754507662d93a469f7da056cb39f7c848a72875d404c0e05ff0525b7007dacbf5907f04f51436dcd67ba834510fedd8840fc2fe9f3317f89f84ada8be005032a3783be107e3c6be11f2864bcf169675ffe971e1d80438e5030871fc884d58de99c64b586dbfc74603275fc9bcc3f4671ffe74fcc23a5ac5d198958f4221fe69d44eeda5c974472bbec9dbd3811b49f97b7bb405236169b954492a9e6223b73fb702c89de28d1975840426e5b8827db13cd49bc82fc8abca9ab2f01d751d6dfb9888dce5f18831c493eaa0df4cdae90b191773f03ebd80d6cf296de9fcc36add0faba42058cc1750db5c8d9f9acbf2628fc7e37caa2075be16c52af2c80f30543a42736d9967c87f3868ec58bbf71ad173fb310a7778bfbddbcb827aa4aba04405aa9b8362528fb4de7db2a41407d6da12f200b7ecee4fa11421bf2e4cb2073eb471dc6bea2f323f473a4863e289d8cb46003dafaa2cf7749a348ef31e3cf910392d0b42598226de0358ea65eafb2908de9fffc8ecf673388c0098f36b3531ee17f41cd3343381430b40f725587e7826d451e3b1e247d50fd887254c801223ee899e876e81f9556069073b46570d20b1f4fb3eb214a1b8a2d372bf821372ed3012c6102f15e9a28fa63e269a8aba806cb87b0f01ca14fe339199a41d2cd418d741a36a6acf45615447e6f4c4af3b5d3620c1927cd3734a8566c29a7c5f8b9d23edcb2419fc3c006d2d3bc6624ffa68612cbdf1225b2de77c897b8b2ad84e46670fffe4afa8741665cafb8030724cd34b0da55d33ccca7ad1bb709d8ece5ff39125855799130f9965be1ed9660e0b72e4653b04654e1992ec03d22481a3d4eac785b8c3c9db16c83dd1e61c21a20a36f8d2e59e1f57346b26890819dafba2cc6fad62b79e710198f67691473759abea4ad65630566d499fddf9eea445091eee51dc8bde1e39891e321d3f42c265dd5955069c15e03633a12718751014eaf0b90709027df585d44d1168e70a508f3e913a9e457304c470daba39ff48f8890e5661fe428c547708966998a96a975f977f074d1123f81ac0a7f651ed42cf1b5f770c98c1f0e0ce0ccb40cab2a7950a2a1a70f88acdf472d1e58cc9f11794e6eac6a58d59134b048e8c12fac034f957cf2327dae0faf16231f247d8dcd981d9b0ccc828d06748a4be7cb600f602d01ed77c94160dffc45e13c4fc989cdcf78150e1d52169a1bcc8bda792fdd4a81259f77ca1ae454576f4e035024db524c7b29926e9d934ee0d07b9a123c0d9f613caf1ddcf385efd226e6d45240aba32199cd777e13dbbf7a8339a1f5801bab9ae6b49c93842f4f303686476249283c457e657febef5fb1516a421dd43f7869d25c45417603ce639714ef503c2d519234adcb565e4f62929d013c75d513ed65a75468556b96ba92610f0c8f9f023e4038d4828fa8335e28e04177206eeed9cb4c7335bd5361e5c246be2e0bb40f77b492ee5e9581ff4ce5e9884148268980b4716c5544a5b0f116e91c6a753cd437517955ff721db2b023b8edc5626c2fe3ddc1b50c2bf2a9b91fd6140404372ccbb95dc12beb9f598cac7fa8f86a297f3d2081d045da86092024355e067113324cc591a705c2c0535ec3431dd274851cf0e638002677beeed4de9220441e9973ebff6dc161fd80c5b13df132ecccca06229a92baef36c0ad19491942233e4486d821a5849a46ca0a58ef95ae7e4af6ee4e888593c1dcbb2291c9a304bcd78801d871a4d84d1644df92ec293c46e7e9854ff1a39004c5765672089c76f1f2246510f468b589a8101e1aa838146893242085e6ac6d9c560eceba73a68464dad08b215e25c2e25032a7bd4f34c1d3fc5b4aa1fb04ba7e6105bfdaf6a92d326f79d4144b24001fec3f3acaab1862924ed126e74ea60e002a3e35fe802ad83e418c13433e811b1376eb1ee060ecc0c1d6928edd08c6dcfdc7007373b871c2bc9f2552e76130a3d798378ebb4b35d65bc5397dfbfe3aa28bdb1c0397520b937615f03d4d4490f5db28b4b9b12bb5733b6a4738dea074b6228693bab64c36b21f178aa8b9ebd7cfce8a6adfca983a95bad98a0cf17776c54bb1e08df39505ac9c2e0ec1a01c2b906df23729213adc1f49683991c175d7894a429d5c1bb920f16cacf7279dfd1d9ed37632dd15a572f10f23633e379264204862d7f7650402274265a4e5473e095a4579e74c719d0d12879b11ec9bd00de7ca04c0b671548fd60ea0ff2501d34dd58c0f34c05a8dd752416d2c91fa6d2c284308b64d2e9fa094bcdd477d7db0487ef22d41be489c1658a73c96161609a8edb2c141d428a5ec23efb8929904c8f158f9357dc721278060a7ef000ad44649496cd61b6a2c936eaae070227a3377edab93b294d8838197e2db7df5f7d75e7901ba4d7db7ecb1c2c1d3bf63b93895be1718676bf1fd026886d0b288604a9b8a968875752de34671b4da84addee0afee5865a71dc3fe17f7a1a506f27d2d1aec528dd537d795d0e63c45fb615348e7486d25e8f18575031ec1204e9f4a8548ec94bc76e9deebdec4431926510e70a42956c9cc8027db7e0a74e498e25f2d7b05ffd50ebdbe8a12b2799b87776bded8fd1cb95a7a7be90eee4478c5455ee01e3a1b882438f19e836e062bb8734eef6315dccc94b4c3d49994975ea744640faa4ccc1abce28a92cf3b3797add13bf966377b3654e65b9e8988702e2ded9e0e5614ecf6efbe93e3b2c6e82ad157986437919dd3bccd1064abc4bf955727977b863b17c6fd3d69866990c318e19d5ab97acebda2d3b752d8b4d4a6d778d8c1d6457e3aa2ff07c7e9deb3cff1666c6a205d219b2e35b1266c05c6d7b78aba31a8adf365e0d34fc2b993a1188b812d91f87d716653af9dbceddf7c9f498d0ddc8938eb9be6c2dd5a6db44be4e4d6534f51dbc641b100b249720e902aca5716dae5926e51f7ed81b3d1bc90abae82fa95b7aa5d20573ae32351bb72d70d7cbdeeaadfc3d2d1f4e8175314058560d85285d1015782fba25be15ae3535ab69b9de8107d8c9553837002be4003aa65e82cfaba9963062e82296ea12e4a3d95fb67e7556967cd416ef9ee29d5290e46d80ff95f40fde7ce3b8f893e2a35004a0a7a46813de23a36162f52867386900e878c67e9d1301a9a9d1b2b80fee9d6a2da65b20086e4eeeb44ed0ff574644acc2b8c8421dcdfd13a227cb182e51f83682aab84d0d0cab157400923424370cf053bd419520184323fdf8137e57c1bde996dacf9e26ca6a7900933f404debaf646beacf2566e85e7469da785d1f7d0df78ecb38d22b1ff5cd84dfe06153aad8c82d2154748c2592bdb90782cfda5cbfa0ae6a2278a143969a37536c1fccc706872c38737c8237e2e672fe0cb32cbe06968706cdabaae0c7230f493d4f9d89649eda37be034c1eb31402ef84418379328fb8edf77fce675501d2380530dd8c94700662598d597ba6ab309d55fd94ba2343d0dffa1fcf6f140cca6eaff606f411e5d9aeda277489f8fca20f75a5441b51fe0235b339922090bbc12e5621a864515251fee6fdca98ae4b1e8d78bfbac6a4acda51521814599235cf3e1fbe2d1f8a7b188cec70dbb2a7e709aeb7d4115e66c7c8461ffdeb766bbcfca61579d5f18c791832579b70da2f6cc035d9a0b574b5ea34f71d08cf8cdac5789b2c9631607fea7f33272ecaca571be44e9b210436a6f9326abdec73ec0612e48b6800c3e7b31c475a6a9f0839909a7430cfa3af04213cb8267a69ae216d54bf0b405f7f9caf7dca4ebd6038a44b73f1297fdac8ab86b1bef359b9cd2d00665b60b37b14594074909520c4d0b5d4afcb03d1466b76f841f200069c7476f76c159c20d66e07c1bc4489553035dd8d5c2e69655ecc49a99da62aeadb1c21db7b3b12d2fbc4c1049f7696694097082c3d11cc8d9f60c02c9f21d4664f2c09470b09badaad5be16b3af8f0804191af6ff6287c00ddc11d240acd2cc727b3cf76dae8f64a4387d5f7b0b764c05c5e6aa922da9510ec199b804639a43e1d7f2e0c4a4b99163de3ff2f8e786e8a69a275758a09c6a8181a32b19489ae223eea6017800cfd3767c0e1c858e056584db691bec95f86b036d31c8331916830a987ea130535fc25697eb7257db1121be62b5cbebd1b63729ee8b87daa7bb8993a6079aa065633e6e756711112efa2e89e002fcd8f8c8f595555f5963763bdaacc20794efd5d35a278ebc0ae0b51bc84afa93dd7bad4be4fe4c79723593039f5b8a24180eafc7144e3d2ee3174c1b011b2184c0be775f8d1d6429d779adf34651bcbb73f1d52c4fe5527b24bb3d0b84ef63e48db7e7a8c33aa44d5a156fc31e76c514888703b63ce1442704c1d2a4c8a0c447ca3c7428a170be604db49ead741f358ff299ca9a3b637790b85e780f1b733f75a6b35ea269f2a853857e70ce04b6842d6b0a38c7040f3b581d89808f6dc144444e2629ae0a848775629af2e47ef7fa4a4a3d4194a75decb63e3d50c04f2e627f4261aa9df6b8ed56944d61fabbe534787d743754912149fecead77cd2486d3818409e6f19f9b1c8d0ac183a5253acc374591f44d7868a088bd221755b55399aeb0ba30dd1b280e095e841f0b4301f1bd5c7396f0e4ebb7ae70f7e16d3441d9af7080e91aff61b75fda6b0e115ea1914779a6c2a1a324e8cb1cdbc8ccc4297271ea6bba0ae88422e11822b2696238f07dc638ffb8b5cb30b42b9607a2ff4a17638706b994f634c552f916ce0b4269fb813575045132fcb9999bf2e993f0abe8dfe2c269eea248ed2cf19c04285c534d2e7d5679a410e0485f71e3e17e349218599407319dc08f303b513835f72a2a480cc864c22337bc2345301f47969d5ca94717c710e922795f887ba76b015cd1aafad059dc4f750fd4f83135ff8fdce48405011416b3696370ad25e37dfd4fc13b272a2030db54449dfb15071dde1c4f75e1c70d6f3c1f660c0720237b37acaff3959470d5e23b25f64cb300f30eabece039816feaee8305f81c937a9879b9a8f84c1a26e24a17c2b6e8472374ae21804601196e0a238b1dbe375eb172d73f04d382fbf9312016df8d06855b93111163fc0b6f493d5a61d0ae22ff89d8640922e1d05f7ab81170f218b4b700717b45be5756aac1e89f797e5a6af97eaa11ac21b4c69bc0114108beee56cd0062f3a05459e516273db567b4cefd5575ce111ac1827d8951f13669e485bc2be2ae1ac9033bb8bb45c4a4280d5e92bca782671b24d45526b19f22439adc7e64696ac9343e7d39cb942989e3ebd4ee439d1af24a4f3c628512a7ddb784778ab0f23286a3c5add78538c3a8c240c286344ae8f68f4df99978b93f6bcf9ca3e5b823f5fe37027e81441915bda692d061339680225a56fc370c702e2aebe746da7ae715e654786959a613d341f63cb67268bdaad62c9fb21efca649b407d214f05e3216392a30afa56de1580460d7a6e3fb935cc1cb4e8e9c22463b88df9902eca7dc70f9af9779696f9ab55846635e7d19eaf3c6fa5ca1e6544296a372bab338debe4f15a630d9517b4055d9ac416d576a4f0a550bee59c02515ed72c208fa83dcd26b77cd40c1c3f45742c67931e1c5f5534163208aa6859042518344ef37e3047a1137e7fd4a903afeb5b2c6fdfd9b34b4a8bd16d29d4ec0d139f966180b16f54c7baf436bac648fb9e17cfbedb8134b2007a724afd633c52d198e7e4bacfec41213073ce3ea6bb8cbf1c86ecd2949864ca7a7d74cb1a71c17552fb1cfcdfa361915ec2ce3853ce2c21439d9eceefba813964bef9d772c0bf72ae49fe1e645992c97aacc82000fced2cb2b61f3d0869729678e9c0a69b3da0eb63e430c2e6cab79f6690d1744648d015a563303dcc180201e70d66ab4f6d2dc1d55ed205a1105e5c8e56482e0b8ee01342f868b4c62363623f584af5fdb3b3a4e22d705f04ef7b73a33d39023a974252eda9adba1e274e54588e20aaeb638e4731aca34c93a1cdce567c35de8a170db16fe7d83c4f741e4963fcd24b6d70f34fda1515d9296073405359d6fa3788b088c497275beaeae9942638e96d9c717b8a4e0a7323206f2acb5dceba303cd490c554bf1d8121b3e94d2ce0b5319b9a53f7302364b76a6e105865fa0c8f6e165262cf2ee196f93dd48bb0ec4be76a886cf5bff6bccd3a0c7517211f74551273b4219e982ef3431c8e0d0b7ff46bf9559a770fbe326b790a62336848a97d90da9e5fe66f6e7f7148d35f88b4c9fbbf122e5e8b9d0db2c2c3e8a589958cd2f4b00e7c8d93b9649376c24aa0e07093283dcedd6870e735075d4d3cf244011c23afc621b6382fdaa2c5df118590e3d470b3284af7373925f7dd2438c56475b32f4650f1b4c37b90825e8ed9a427654596bc0e84c771fc409728c665a0d33988e4f84b12b3103ad6e8f6e1f7eabff08893d4fd026d089ea1318f6223eb3580a75fcff49cd41a8e1a8acbc48b1ca746e21f35a46fe18ccc88f6e310a13378e8f16f30df1c683b58b516541df148e07aac8f858f27e6aaec97120decc24950ac4c65753601a01aecc5b42e05b4751647b933af1686d6c501e5e2093b15e9ef9cd20c2cac79f982338733ef5377df880189c0997fc47f5a7765de0ac4680c85bb0bdf8f4ddd7735609836f31e5c18add01c3b6d17e97792d5d67b37b28ce63d38d70986918436d8d24b19bcfe83d78467296fd9de40ce58828212ea5c9185fb2e561c28a2f70f8c1b5ce82570dfe86d79721dcadd7123b710a5afcc2f14c99667cbda38d84dbcbfe45e04774f3007eaf8217a9699f08baa3afd719716150cbafbe49317bd972c5fdfefe68dca73b3fba2992db4cbd1e96753a2c54c258b2a924dcf32190c9f47dc45eea7e05c085728e25cb45db8b4213c1fb6944abfe872f54f191089afa4ab9117a39312574fd2f10545cd0bd7be74a01f44101bb830108d184b50ad56d8e36aeb590843fa0df975f27004a8736022af0eea4a87607aa7ace688854e4b09f9e10ad660973d9b4e6d49cfdcb0bbffe3c863c593403164a05be8591950a24f0f7fb2b2219b0677b9353eb260b120b8dda997d7e9963e731c7778fbccbc577486c90b7c7864bcac4e9dce6d1c43eaa969d37c00e29d4e9702dacab926dad4e17116745af5f9da28e907c8412e84598e98aa896d8c8bcdfdb334869f6974547a5be273a6c97eeb5bf854b1af2c6db152621e1835514cf44f1ed23bb22311966e728f1b9fd21a1d4b15d2cbce6aa2b69c45327b60136487df7587670904af0860a29793d4e14fb9580133ebeb170444c9cfba4b82eca9a542f9d1ad06d8f8e66fb331a013f8b0eebf4d26c659cd517705acb516cabc959c8f8a450488cb69682b644a91c7f326f4ce5b15c927cf505f02fab3c6bd6b66bbb8edb25989cb0c7236eb331a854c10ab3e2064e3f64e3ae348204de120c6d87c044375a137506c0a988de759c62bec1fa2d9106eace88783b0b8b462cc26ada517daa5acbe3f82fcf7844ca72f16bbedda83dc0b620c501aba6490eaaa5f5bc9b6800e18763aceca18e82cafc1c08fc5fceb2aae8980621d8ebec5819286e414b85728026f948290f1a5d99feb510fc3935497b07cc7bba82309a61c3c08fe0fa528657adf3e3652bee0f7842a97d4fe5b05d416ae18a9eaf7bff1f9776bff96388bb8acac44f6bc93d5dbb25cbddcc0056b7193e9c224c9dac7568d345a5e69eb3f5fa2046c9c0847f8c0f901d124e4b359a684838361d9f0f0840e0de1f7f41f57d7e2ccb2a735b0a884417fca4c8ad3439fff53d950d5145819d065dc061f32f04afec192aa7899428bdf4d2e016d120670e973e259520b71ccc23e6ecd0066c03f203d11fbf5565a77c6b9eaf6a59063d7321673b8a8e0219dfbdc0319b49d8d1801d123e13204d046ee0729ea17fb81f477f80c49910332870bf827500421aba637a589a5a8c048c3c57fca21d569a79336ec177aa0bd791e0d9457ed2f6a03a126da457c0abcbacb0fbbee5098c8eca2c77e98e47527203aacf3e81133c1551a38bbf489b117ad5dc75edbf96e937a8afd4782e04aaff099500e077b9f49b1ae1fa747f0defd1353f77e979bf018a8b7ea6477b66fcaabdbb6cb0d2f8cc333a2b69a8dfba5cff47294b959a60f0d2a8e3d2d9561131f86e001fdef25013c4cafb006fb95880d566b4452099d19018c7077fddd2582cd0159429c82fb9d6b2e14da44015e453c399b1dbb452e5f919844fa54b06b1f44c047e1a7a960568834a0220f5d537b73213b41a1b2e83f681b64f90518d1e7af8277fbbe3935b61571addce89868e952287bdcebed52b6344f126b98a483422f66577c2c93835e53eea1b7ea3b9bb165eb0182eb4849d798b4dfd3fda59ad52555c8dc6a60f00171208aed5e74f81ba4980df26a7dcecdf12ffb394c85a65abcf15baadb8b581784cc6b48edb2ddf2218b243e0533a54ae87a3d0c47d011debe4385c34b5eec623b12adf9d5ddc8538e6e233935da6ab841cdd0addad03a4b698ba29f4393a8adeb5244ebd9a2db92a24784cb743ccb8462a4ff4217983f36cf68d53899bea38ac9e502d1a35e9cbf92933d1b89f0f8bd434f3905ef9c956bf7fc5d28fb06ee945d821b41069054f272c2a37a14a68c81c92cf7bdb194c11ba1810dda582c411918eea5a2cd27732dae1c2b88378529f13f165326bd120ff343e2bfac0a9fa6aa8da409ffeb5c74431d5afc2fb23c889058d4343c0b4510c76dac9c33606e3a45881b632b7c94a55495c081992be38ce03047b246696e2a0162574c69be01755c138cfbc61319dbcd369413ed1767a0bf8dd64075f0c5b6d99466d848b84659797543dda9f5727a65ef899c55d336dd4029a356baa5f68d3ba826733594c7aa1ac00129954b99e6b3c12aeb41c48db26046610ce55f756d01ebe74e2c5eb105937058d0fb67db9fcf685a3368dcc41ee0de15fafa6e24ebb7ee94c235c106b723191cce8ada4f5d88f740d11b8cd5c2750fb1797a1fe4b7d4809976da30bd5042e3325af51c37a8171097ca2b995d12808b12adec3d4025265191d8a67134f184a4c563fdeca7ffa691afcf09bf0238d1efb8ebd0514ace1cf365fca3f6a92b95963314974eceee3b693f351280cf21f90b834ca9e23d3b6885a85cb21523bd589cbfc3d3c7887a17d4e3df276ee5257a2f82226eb6da13afe540e199587ce44ca3ba42db39bab55e01b708211655c112a54ed0a8b70e8b46a26c4cabccb662a6bef2816f7a551e5f4529a8e2a544da56692f1da1bfad8c0c7b9862eefe575b9ce52781ec04cd1cb79e9a6221b641127e31ae4ddc88ca52b1b5f4b4a23550890b13fe27c3462225f396e9599bfa7b36a496ec31ce10232c77a9308e5442ddb952ee7c026c450482623ae3390998200476711afb3e7cdedc99af5bec520a932fcd67104100963366465719a1a80760b8b3698b7c44bbac37052492a06c97087d27e03965f7bef3acda58083ea9d08ea5dc5993b52b4937ed6daed0fd6238761679b6d9eb0eda67e0d43d4c6096ec60037f44a04b12256fdbc0af84e2d089644723d11d74939b5cd81631c053e92894ec04ebbfab98f34bd66a1bf06d593e347096ae01d7ce44173b53f50554c2f190f432f92e725a33bdb098a0a3ac4981158f2baa1bdc0231bdd105f494f029efec7841d3eaa4c7afef4ecbcff12b1a42c57aac44476d82d40aa02ee99e977324344c574726bacd9f0f1ceb0880a70d36e1a72c8c348ab71474f083b87cfaeaff65aa037f1236cb4a01c33f70a489e99af0725220cd67493d9014326d4adeb4e48aa62fa51d18517a655987dce97c33d37e76e131b7eee8bd2c8ff9eee98a3c9fc45697c2799652176ce83a44bdb7f54ad38081420750bbe5d2dd1783d6110d4568f4e9f216d64cc13a25f58920a54a178d28fd2d7d525c5f29407d6a8175362ba28eeeba6f1712135f79a89bf1a88b37f26e85e148886a08ccdf17d2035c2b533039aed6797034d20ef10d2d4c961bc41d0415722e9c6719962d230dd819e566869120e287bd632071d8490220bd367f403ddd81d55f29b066f47331333407b8f9c6a25ad27903d32c22a61f2d458e131da7fe3197c48ee167f7786d929cda3dfdb8dec71b8d3e9cd2b2e15075ae0b05cf3d13104bb1e7ffa172e66e42e596425fa2801da4338463605db7e8d2eb5c82df61a7108286cca607f19e8dafb8a51dcc5a46166efbd9c4149487a6c182fa9a42961337a05df3c201ad35891a60e25827b297e63d2512c39875b5ac72d0405eade1f0a19cd4dbaec321827253815610ff4944d795b883ff9227f52be94271f93d8c0e92cc2bab0b9efcad0a7e581852798e911f751847f2c9880aa656d92ba0061f5e5e170ec82edf6725fba7c28b035de8f8b1ee5b3c3ae717fb08b330f47d368c9596f654cd71ec4cc91bab3b880fb6e5910691ddc2d5cdb8280f38d602f09fa344011c4820930ab0fa02dcc5818e9b6eb98f4feb28e4a7cd69defabfefc12ad0370d9d3c939c6b44a0933b4ea0c98d8b2fdbfa1b065480395564be160577c2b26ee11c503c2efd2a7fb88326455e4f7e10d888b1dacfdadd91929685d0e9fe6982472bebce107baa45f36639ed1de3bcb025ec70902e34d770550edc044459e4ae49775c5280b4487620f129980d6a1a2530bf9096f0bc73355acca8d665f5b47fbae2559e9df94f652e05a1094c6ee37111be22cea4fe263d8e08e56542448dbce775941c19b165cc38c852510670bea13e1f203e8b620df60eadd1947a1646af49366196d74de3eb0a98ef4a334c101e0d4b3c6a60b758fd581d62bbb052c4125253a730ff4959bd00ef84951f4bbc88b8ece58fe5ae18166666243b443cbcfdebd6160ed957b0ac702399cd5a410e342c1982ec065d3f7a66dad40b1472803c72f3e1e3b9ca5d576dedafe60302fadcd02e1ba19db00cb4629469b90f305b08f36091566ad0aae6504b6a2632e98297746e6870d89a6ff0e97f2ac784cc88236e41efeb44234d1b06d0a30d5205c752010bf6e2776c1d3a87e0ae7d70352e54a48d7f4cb3098cfcaef39bf1dd0985b6a182fe5ab1b0470c57c804346572118c3996275a72858013a8918256208a456b412d66182ee125bf5ae2a11b16a11a1ce87c7e925ebd908e6428bfc8843e1c57cb9c84ad75fd683742c8f5d0ae75896c355f605e1fd0c94ac2fda7ab2fb2891b882453c60accf08c4fee8bf6d264db571bb3ec5449e747c9252c8ba00cb4f28153797517a3e53f75d921d6ca89a67d684b2cd1159234561f5bd968f4ee9255ea1bb4bcc1d18056d403797b9153f2d486fe366603167d901f9e5197e0ce40b9387be7833409e8e01fc3f18c5b855ddeeb7ca1f8665c8852a8386caba8734221e7ffc3b311f40a6d5651f79132aedbc8aec640894c37007bf750c242187deca211e034a0984950d63b951afa039dfd7688f53956a7570a768846c53343595b4ece695e5df7943408a2718c642ab99fd871692b70d7e1e38e116b17a590a8386f0c85bc4a66d3a25937c77d0aae6d2ea6243ca3ac441413316fd8e34cb0ed17bb6409cfa6a9ebefde8bfae1470eb4eedc94a18b68a0fe2f35179d49eef3bcb01a33591f718c38cb95b5827affb2fc9839de2001e8a45b3995aef5b2ce8913e9a6e45d957f2e6804d61e53216fbf5c38c2e1f73fed0ccae4bab3975b19f90b8e04356c89dccd664f38174a36a8b08d33998c55814444d82c756cdc6609114dd081ae7112552a0a763f0cfedfc4c07ec29bf90f44a59589d143aaa3ceb726066fead6bb8efae034bd19b3c33b49124467db8384aa8ed2bdffc68d88c15e191a8fd5ec5dd424454498360a959fc1658cd4ee9af29eefc17ba5d073658a11b175f043bdf82b9f970c0a2be26790d4872fcae2f6167b144802656db382932554bda69d8fc7dd0acc4fdb2f5c770c73f33cc523f97be4c6eed9ddf8beaf31aebf2954b9921ce8b15aa0308171ed55ae34e5279e599ae410e7ff97f0239d40c32ceb8aa314e04db12c8c9cb01f4124e72d978917eed582a0fd9d5e9df7a5f325f5fc3168fa38585586086477ec4a41334702582f8920a87fcd150838ac742f9ff12356933f0d3ecd1ba51125bbcf3776c48068c98444d392addce12241ec29f1fb7f6fd65908b3466e245589711ce179443f923c0a05931b8d769ab5bc4cd351ea9ed26a94b7bde1b57ae62df1909170970af57211f61412580050b7bc93976b3c5796a446a077ad572114aae9ad13a5952cde0f081ee0ba94016dec3a7a991316167d152ff5356e51b35d82ba9a9c3e25551cbe95d49a30388fa7b9d17dcefc615751d835b8cb58d1a2778ccd7c92c5274a02d218e2f0df669e7d87f955cd7e35cfe2a5ac1f7f2dc698cf6b77f4666c4050e5e9e2277093077369e221ca3d906582771c2918ab40be6e72d9bc79d722d056285967bef094ac489c43a93e08ef27012dbd3339e494d130fc6ecbe1d487061b0172ff9372dd0d77200b33edf08d488da360b1ae3b36409151d1121ab32af2af75199e91f04056b0a5491ced6d1b3dc8a505f703918de13730a67a389543928075f438bad846b3e7f399c9af01302ee31daf303d87d75ec492b04dadcec59a9d33fc04f9689ff64f06a25e9227adf969ce1453e50592469d4d0baba88a6f8638e97f9f5ed5490aa348c7537fe9862343b7d5b5aa59651f7e02b7216bad7b7c1c40141b0935fe73c43e0526fde2a9a548f60067bdf79df2ab8a43236a9a80b5e80ea42d91e0b59762abb291b3ed497dd4617fc35bf10711091031ef8153fca0581fe7195ce6ab4d351e49703da2887f13a61640e5a8f7caf04dbf77d5a8457e37b5eaf217456da4d04038df095d2cd3ecbd0f8b4412259038c596bf4c12b73c888f07182bf9dbbfb556c2c1d325c1b59db3c42e807ae55a7c3d85066f7e04b619fff078ef7e4f009bf7935851486672b6e413cf8f63b53257005cf6b553ecaa5ee59ee44d3e36222356a7e78894d5056a9246632cb3085406b4b78aedcdfb0ca5e3db937adccf57a04e88c34c88f97d325d2e6a026ff6697042ab8e4546b35aebd06aca91ba4d15d15c3dba94d939424c2fcbe0f47f7d6df458802ac6100639a47c936238c5edb2ad689f419c5a51cce3a392677eec0b95bd1687dd10d37da76bdf0e19f3e99f6933ad9027d3b2fdb39dc98c552978678a493d623f309bfa5090826b3325f0de5bd264aa2637b487a190d3df7fa4bcaaf10501548c2245626098752cdb7cae807f8183a412d5986985d3a1c79fe101688fab1037fd87d731ccbedefb0a55d586bbc30e89ce209b7aba31e84e2437e5a8ff44ce10154dc2154f22cd38391e6474e834e50f5215c09532175bf00c516ac147bc9d4e2fdd1ac1ba40920c2bafd26abb46408ba34a2d26e3d30bdec6dc8575eaffa92b4a6435c28783371634c658f483bd03cf074d02a496cb6bf3bbd4c228b5747bbb0663bff5fb65bdeaecfdb9ace819f549898497651d461ea03ace49b80bb76a4d2cfbd264a42896f68dc3b899f5a2da7273ac0a8439daf6950e0d3c41667011d8b6702b6dbb1abdb94160aa80373e1b10caabf92b7cded4241269efd08712b3bcb2d14f4cdc7ecde1cbd88a7beaa941fca2b3f9d4fe26d8b0f907eab8e436d66a485feefbb7ec0730635ad54c74e63d3164bbf4850ab1c445f040c58b0a965443664617792a2c089a247d28cfab85d43d0792afe6d5cc4217b73be9eb15c6502ecf72df3adaae5fea096dbca16a002cb6ff37fcc5253399fbde247c0a8bc1f5d37e3018e83038f9e52568c7fbe56fefb33138b1f1b9dcc23b476255cd75c19f3cf6ad0c14f6e5a38d0627242c9d298ce0add834707c7dc643d48cb41d173a2770fbdc2069eb6865029abb4e9cd10f245caaf9b0c26a6744f516860ec1d857cc70d702cb91a3e9e9f270c89cdce42ab4af236841ffca7ee1564a74a34d3a93704f3bba975dabe1ebd04fd13f77a1992747c36153b8f05feb9fd8d5e7c64662abdbc13310e3aee374d1bc27ec2ed91f7e46c5ed891e23c1669cde238b4fbbe824c54c92a274236a14bfd1dc80e40a3163a49d679280e097bb6241d847d00256ba433b27fa7c200f761cf96c3c94a987f18b158b08d601026a37d8ca7048138dd904d23f1379458e5146507b3969cb13cd395c8910c18eb192de413ae8005845927ca6309e33f7c1d3d89a01ac7c7227454d8d41c90396ce3d740b6c90f8feb20c469c23f7af3176ac0bb048fd1a748cb82a41122987839dcc1e48cd792a41564bc4a495a876df53f60b690fe0ec806f58dc0288f9be147d96b53d7097803246bb5d312eae688de44c012180065e72f578ca2821258070690247baa2a0d103956796e22e9642bb3a701bc20430afc50bcf637f4f50537c1b844bdb04388e872a7004054b854bba65a93db7b10e3773a98998d7a2ae10a3c0ea8a6d33000d99f809dc68eac8e803bb398f7a3c064760a7071d6fd22ddc149253617b717aab9bd44fcd9e99d30ac95cbe3723d60cf830a58fdb194098dd7bccfb794c891cd28d626abe9f6888e6d7da59e81f930354f426eb2a8dca9b958fc66957c722c6ec9b55f5d9f1e5c02044a81425b2ab3379cf215f3c9f8104c095bba3a631d1bc3cc4215f8d5f8e6eeb851c3f36f318d6e3f7e726f96e70ea9ea8e88f2a6fd4b103982b0a9c1a68e948967363c5e38f37239575b47aeaacd6b3b4d592d7995b9d79a5030d878525c149c9694fed79c3720f0878620f28757f19581b52e78704c46a7d754dbe127a9d2520b32557eb7061927614919e23bf9e5eb9004b8c6194f18a8080a6ae6d542bbfdb1c776cea830afb022a12e97394eead57e948c9aaafceb0f1ad05b63851bffb15a695b3bca4dc9c4fe5d8d4bb035ed47beb09c27a05fc7f18568f4a91dac613787c21ae84ed6faab7bfea60962fb76bbe90cb01e019d876bfff572fa28b035e1a304e3700909c7e169fe3eb8750f5f56694656e57e1ad460db8ca02b9069b078aaaebb4855e3d110923f1de46beb6401abad4fbd564c2d5fcc1772b01da56a5b32c20f7cc37174c0da161cf29cc1d1d117161e8fb4c6ce3bbdec68ac560cec9d7fb8b715174eebaf730c90a70d609caace3ceb67ac2e33b43d228f0d0adefa7a052bfdbcea2b8fedd6e1d4fdaa0dbde636ea2fbb49ff77511ab9423fecd555f6ea3dd0e9e8f1634c64c9fe30ef1774f310edd11d41e87b83f8c939c1245caf574748073339ed47b42a7790eb62d9f454260fccae4d04ebf3c10a6c7c793d5c5c873b7f0114cbc929cfa705fa2553908f319b0754cec513a99db3a6792026b6464f309d0f1921d8d5aa709ccf59004bf40b8c9687c4f570d0bb5815ce4e3da3428ee04ca57005036d24ec99ca6aa3109edcf8bbcfdf2cc307a57b59a4d9284897cf82df4900c3b8b4be9cc900101ea228342bcb73d8c3458d3b101b72c074c38d2d9c2d9e7c98ed96b908a0db4709d099deb3038c4693e81daf53d4ff634bd46c0300d0f7a6496b944745cc15769960fe13b89efd39e1e2112624682c354f6fec2e9977d6a3eb2747c5778292ea5a1e162ce4eae8d90ce443576d21ecf0564a00e4cec1972150015b3984c4b5e5d64e938b2f3b1ed593dfdaa5cef3095d7caee3b3f1dea3dc0b94d9d8fc8676013886fc16d48805c9c550fde7ea2b8158378ce3cfd745c2aecaed8be69518c4b74a497ec72d055410753872fe200f663b2ed195cc38b32ac64733d8632f4747415fa2a333e4838333e23860eefa98dbae85a8012634d601c3be89c9ef8b984467d7e153e51f9889701e12b67f965689e2c8e63ecbdfba64111586b47f886c8de2a30a62ddda9451099f001932e6b87a7f01984717ae43184ca3ae4aa83db16994b8f4f06c4a11832e55b85b9930859a517ed945011f350ba58e063bcd269cac5aa803ff0c148cf715ff552d93611a0659b659e4279ca8e4df19e7988f1bf483c46f3374428f455c0594cc7a8de28f986ed263d72dcbb15dc36a9fc27d35293073669a5eab5dd3cec06d199d7412cc4ac75053601eae189a7c687fe9e8a215552e86f01d2e7ec5ba9aab1ebe30ebe66e8f8cdde6f72cbd78378d530c90f677046acd26cd06cf9c116b40c4f4586b0e1af49d25d2d66e1ab0612015d32652cf10ddc1a41583b233aa7a13433d4d3e5c5790c63e133562c8689c6ee292a56c6d507ba821d932cd3dfea9150a306ba76a600341bef061007ac29686edc8cc1a816d0c3f0fe07ace8c27356ca71ecc970f17299d17396dc7d4f2748daa8b6a52184eff2ec3a6cc88eb77ddda4fd3e50ea7e2da753e679415e771af63d2f8576acb83af356462517e7e7c891af06561ab1b43e1a1d52186ed2c76c0a6265a3ef90d02be233d9f7566db5b94b85a1eefa1a766be9cda82808506c58a6adf9c4285e26379607adc6854c1e978682af139f4201c29536be73cac316ee76d7c99c0e99e38d20e914d68d3970dc27dbe37b237fcb15a753f9a84baeae88a994bd91882afe5cc6b85faa35d4c7012d1ad3d1669649e29333c2b517a1ca0dc88efa8857a2ddb13ecb5b83cb9453b880fcce0b80aba05e6545a1a761131c1efb7303c3eae74356c73bebefeeddef93f85d14de2d825defb2f56720eb0efe187313493a3165c49243f1eca832eb135fced79e81645c3086b6c238060b4b1a9209615225dcaf22e3640cc7647a74e3f79ddfe932f0cd508ca7193f70afea0eee0232c5ae3af9feb8909999398e6e7fe843c1f884c661a433c2c4b02e29e485fa451b7c1d9ddb581b9a901f264da6badc9f3b1c9df70536a2a29c6a8c007ddfb59dbac3475ea9bfd60d0fe5e471724ca31db4247436b506c34dae5555ac62513ca5fbe98d9344e9a4d17301e68a74d3b4a9da717f661c23edecde3a914ae04e88ad9ee6d7b9b104d36ce1472e843bd94f5e2d8987706d959e5fa06f53bf338ca1ac8d177d4c24ca51eee5d567b62038df9d3ec535855b1110bc235ad118892a89c3d6b8f4cd9f68bd0ff5a4b9c5b3e3ea14e44bce3727e35cd75fb831df6ea66fbe9bff9aba7f4c8d66670115096e06938db75c8edd83f7e45c5e6d2676f3faaba337e3063951ea8336a6d0d00ddcb793a08ecfdb9cdbd7180179dc38dc80623c8827e49428e2fecfd7deaa121b5d537816fe68eb1cede4507795903a1fe937ecbd2eb9965514835c6d707af686cedec2a02ae263ea69eb0ea555e5e4de4f94c13be866e9a0c8bb8b20da371862cbe38022c88dcd91c79a21d53e3a140dc491858a51d6c51f0abbb81e98c3ec905fc16a2280960188b0217c9aa2f22e8b8c58a0f122bfe52d9146a8a2ce17b176b0efa2eed630c9f6ef946e7af951c42426441a62b85b2db4c00c3367aa0d25bd1ee4ed13c2c1bb7942e8ed0273df08891c4c715eba4c8dfac11398758360af80e8bf5f7d4f80280c159fce8d000cffeac535c89c4c66602cca32317da0aee45acc00faa324fe82353a4053c64c90b18f62616a5057183ba5866135daf5881344594725235d925d340dc69307d7e0245dabea2615a65b2094ca0294bddf782f7beb3cce36c6fb0546bdd4a9f09760623f67db5a0b17b013ee9b37e989349cc7eb28d47408b49b0b216a425f60a83dd54a7399e442f5b7bb06de618d8b8c003b1dc5887f04cbd0b79d95d3cdb691b607cac877f11e59812a4eec412dbf281869edf484f21484485b484714a52b076bc95659b478c5f20efe99f421dd770efb5768f54c53e54d0d404585060dbd818bbb2f0045992d737088950db8e02970ad2caddfa495ae29506f6d2ef59a8fdbc0b60ca28bea278ee7a548c986ac1452d858c72baa63e2e3da7e8a79527ba486ba6756d6733bdb5fe603580630520c14e5657b388108f1d2151ac121bda384fb6f7539350d5fac4b71f8ef460a4b213f6c46c19f06b8c88368aaf93303b162926c99b33dd300ee628b06f7972c9c65389b24b3f062bf5accfad6294a17f62f26448e680fd3189b4103ed2551ccd9fd4b74b60f014003da459299f72ad36168415cf3518ffc764ddadd54df5a78cfd796bb243a77247061b8451677b1a80dc4c03803276e8322540a5b5075b0d64b414949dde0fdf797a003fe5c548623749ca147a69132347cfa5cf1912fad3e163af1347b27dc27b150ec9ac97bfe7c431d2b55bb60ce18a08428e5918df69534924d78d004d57b7dc3356a32ed535fc18edad56fa3953bf32dc375edbbf326126373fc5e0085730c6c7f5ca35a0d75d5198078b19ddebec8206cf6f9604d5807de3fa6732020e88102e1e849332d08b10484ec673996d576857dcae377b7c674e0ecdb96ad4da2b8ec937f6b5b0b23430be7ba43f3b6ee068dc8ccddda27aa4477b6b2060931d04ec393302371c3b16c07617cfee0ef65d676e43f58538540e957c0354ca728c3081e7e284ad44b836e2cde102294fe416287c41ca6683b901583773b398ad5dfad9c92eb7944c110cc1498420c88fd073a0dc3c1fde17251bfce44325dd5daaad2d91474bbed08d1e87f75a889997ce1b8b5651ef47664fc5a8c4b6550070f422136bb5dc435ccb67b77d8a13143d37fb59ca76a1f3e6c45f9bbda0d013908345f34d5b1123723632829efce7a54d05f388dba872ed9cb51f423d8feff1b1a432bfa980f840a1f19a682adaa953c2969f83764e3ef4fed5e03d13d306bfca40f0132399c906f69c20b2a6d665515b968f36999f0a1d7018b0e35befab3a587261b723f1d3d32081529882effa2f343abe8ba70dd8860d5ec2d44989abcaa1179b2c05d3f2614af1b9ebfa2d399c809b82ad75401dd79971f9fec649e16473e23dae1ca49c6be2dadc2858ed434a9fb78de98feee51160176e225ca25de48b348a30970f640eac5786e59bcc34da75561153704ac6bf61bb58226fd46d3b5ea4d09c9ef61f84c2665e9aa9351b9413649583b573a44679fe7f649f9a2c0edf6e489957b90db4591bb11360462539b04de96a41fe07160c29750a0a9b61a5e3abcbafddacf5c490be7d7e0a4c59aef7b05efe3673ba90bb858f5cea6dde2ae7bbf12d7a7d71be9ebde8eecd282f1298078f9436b539aaf33cb2f807bf2202af53aef615e5103516dbad3dd330cf639af7e1b56c47db0dbd404b6bd2e33bf6e372fbb295debcc3b8f031ebc912fffd09e57828b0a3642812958ffd1e0e8f21b42a3855fa8c71cdc98e14d2b5646dc9cacd11d700478180c78d26f623d2e2200cbf52a9e634d5ba0f9708538f7aae7672e3f633069ec353168b2017e6367e13ee3560038fbc36c62333497b7087d3d01b85420050b4beb852b9c73ed0a1db18a7010a7e6280a04b0fce6806736a0d127c635a86d41f966065be5a18d9e2c4a7ed897eb6af07063395bce710d18e6aac16e7e6a3e3b6f24f57da73ef22b626eed2939a2eb58a6b33e289872991872bf55f92be123460025c13a6fa6e36d2d82b48f218126e4398db8e0022d3adf27f9e0f2bce3e167b6a5a6341c8680483426d322e28e1a6c27d8d78bf83ece75e41a995a8ec496dcbf32dbebe6bdbebef2eb492c5a7ee84734e5c8a5111d1dbd907f17a656d19b7a34d5f07fc7e23b04d39616657fc5c68859fa8df7a0cd788c56aa938cd33adcc43887bec2bb3ff093304158f7600d6f241ac162b4e4c41d45d46434a39b30241181b0571de2178fec5b2691220a76af1627f1539f6263c0176416008acfa3822755b7bdff456073dd6fc4798b2162841b6e4dfc6f943ea1b81f94dc65ad1f80c66f4762c96288899b87f2ce7f6d3fdd92c6021641edbc819c36954c35ade7267512d585895b47dfd6db6e4765879fa2fb7a5f18a7ec85cc8f753c35bac67130fd5844fb918a98b242e6cd515e99d12a847da0328223fabcc217aceddc47e3e45e9b3d55fe14659c32b2649ec3bfdc51341b763d236e7352c1546d3b90e4fc56a4584eaa4131332fac3a10c2ef2a3da20433bf8f7652dba1932af8e69143367b11bcc6b8fe8d0f7635dd4bcb76c0c30e6c105b0d69f535c884a3339493eea7ae471c6d4688d7871afd39627a2780768a9dba921cfae655acbb69438b16b35dce4a94bb7ca079aa2dc989477f402d076adb7a1e6feda0777ee798256fe572da0b01e160a33bd315a5312bde59fbc05c82c08a7c369f84cd4523ce0a06e7d8a0fd0d16640cb9d51f665abde509d631064ddfa979e897bcc3f61bd060dd17bdbb45f0f4af264ae47fc3a0de659d78d9708a95959c70bdce39a61a647341cc518e2953b9645926ec1cdb53ac9583f9405e0b8e92d0b30ec90edc602006e5cb9a50c24cb68fa3c81d971c3bbef9e6833cae288e18121184e239d84203f6d75880f56ab605f5c11055af7c4da46c1a0ef7031e2ceaa5a085c0a223ea5f049fea1d597b61f5950f1f9cea5b6dae8f84b56357290a68c01c03c70bfb0baa2de6b8c0d4e8d64807b2a14573596d3b3cb8d95befcb02d7756ae6428e5a8eb4af16f61b8e1395f5c197de99503301d0c331f17220d0f3a7581f9c83d4996e15f9aa5ef36277574cbfbd51346634628706878d2eb1773f59f18c55851fd12181da93e07192328cb0cafecff80f67def32d5889c9b7aa27112b015e3b4aed1270c0c12cb0d3f2cb1d1bc4e70e784a7d162b3f871d2942a3d4bc0541b947e1dd2ab6721abed17e28a3be9c00940367c95edddbe93e66878fa9322c49419d7afb509f12b4001fc5c0e8c74de84644dd086a5afd0ff60f11b6bd0151184278f67a26940ddf66512c551d7de2744e65e5cb5927a388ab0278b314fbb0ca02f00738b2b19f0c29124f274d6ccc6ce270f673f6fcb3cbb2bb921a8e8cc6240840f0f90641d26e09add876de29e035d40d0aa48699fed8736f848e9d363299a730b750d1fdb935224c6d4debe400e5b15a9d63e144c2eacc08a687d2b180d84ddfd6dddbf446752a557ea44a209969d5812ca90004c72cb1af2b76cde1341e7ed1df9f5760f495e37b78f516ac0db16489368558b00e66b9aef1c7854d3abd9e50efe59e2e098b7c78638d8ff0c42a96188d73f1b833a4e4490511b8fabae27aafdaa6a5f929755ac3c315ed59b0be95cc58829f837669a8441001a46d8e4ebfa29a1cab01d5a8128a226d3ef51866b467f4fd45777481849618751aa3f1e289d1429a70485db6ffa7f47da5596e0abfd97f3bfb77bd8d6b7d60a64129d265b6a344ea1be5fefa0047b18b294fc89076f994278d71d9346503c8488d9cf1b882d79c5eadcd598738463af3a57180825a704d19c976babe7fd2fcde2da169b1e4e69360e76ca95b747414e696b2894092175ef1e32abcd2f04b95ad6aff598dda01e15ebcf46514f66c274d8a9f90edaaab8311b3a08104aad6872d971db59996d0c85a130c551b94cb1dc130c0a1216cbefb07526428970fc3e846072993b18c94801463ce0863c447b52384a28682d692a321e78ac43938d95c5142a4506420eb04fe0ccf3f9a5444800201d7cd4330a2afc3de771c535f44a50f5f4f657f738f62e9bfea57fc3f6ece95041c9fedf419fe4058eb8b78671819d5a31372560c0c1d50bbba87693f8c236089a015864e621963c89ba8179fa067f5c35c3b54c9ef348f1491b74aef24605a6015023dd162d84c3580092ee8feac85a1282fdd0c11a4891e16c6d44f3a82f1f645bff316a5691e801121dd44c16b29335d56d9a2d9e252392c3981d2b9fffe88686facbb867782b78123777e145ce41ed6af358fe10f8c460f689d212b906d40a1e46e7aa5702c93ad7faea7be5c604de34157d22c597da5c6274eb50ac5e8316401c7b0d6b2a96bd44dc5e2aaf47e89e932ba19e9dc08a8b0e764e360768211567d1be2cd50e53877ccea41f0ba06cba041e1a968bf9387fcad1d70f67fbe0098229248f477c75a22e3b93d2535500b83570eb92074230f5ab22527d817d666e4c69a7277448380bab5680c4f0989bb6546174e68f88951e67914e8bb05617c1210ebe7d978cdd2b53c402f0fee542f55ab57db81ff7dde5a6c3ab71135563f776eaaac410364e2e0877da6445bc6298b02f59749414f0adf0a74d5e312abbc74a7d9118f5ff56bd1b53002f54ff9b48649b6200d14949cd7a527e8e3438f9144a4d6e85714bd6d72e3686c2b87fb72c1ef7f7c80bc77cd62960a3c1e965328b1f1dbc9094b24d9afc9d734b2c59358f67d59d3446a7d10cabe5a2bdc02ac8fd59adeb597695f6c4ab3b6a7927cae85280274905efe02f0ffc0b2f14adddcbbac72db707ec4a9b706b0e70e67450cfcbbc14a006cae0a5034dfe7c8174fc86bfed845c66971f304d90a72c109fe5730fe9e36c7ae4c0491ed62f2344f64d375f741488fbb148c4586cb2d27c3c635bb94672df612548c1b00e2d7697f51d937eda1b9787ee01cb06d837c456909f3a2908e1e51757a9099d46de4233f659b882d457cec86f86f565d9fbeb7e2897d7db95b6e45e668e5483bde479e0c414185938e7cf62685a25214c1e28f59d8c4a92f2b07dcc3bf789ce4e7b88fa0d49bd4319fba96d8e92c52906bb873e261db0ef734b836d605ddbf6ae2fad40943b881b5e3964ebd7e8a7e553642c2a2f76d099a96b700306823fcfc5aeb76a5dbdcbe76c35089db4970ef61f0d405a1912bfc551f2dc321f44a7c72a6339ef482f90ecba9ddfd483d5d46799f56c1e6873bc899f4d7a52b3bc1a994f97ea2a6423d913679e7099167bcbe75d3f0584ccb7f5ce89b829b3752447c7423ce3f21cbe066bf09f2c6178bc423baf5f4b219492e90f8bc6de36e8bc7696b37f56f76d204c0bf2ad8a459deaa861263a0a03fc2f0fe0eebf1189bc3d5840bbb6bac97ebdd57e80cc94abbcd4b4cef872470f6d0c13c836ad2b3067e1ae4f11386eb2c6f366220c04714ab84af0265de496d1d24b101aef28be08ad903962db592db97cdd4d8d71c8b3999944f8ebb4c8dfc07e98bfe2346364f613e37a913f8c76d58aa29f6c84e9d58dabe0ca592eb7ae627846e156f22dcc54e8a6befe1830f160db7b03c68278a8c954d20e9e8d48de9c210a62cced4069f1c6f251cc3102f3aedec00163a7259b9fad065b7a22e18c5e11142d09f6b4d9c6ce2c3a36809463cbacf895a9e4bb0dcda0de36b1a89584e1a594e8cf8f8ef5de97295a9cbb080f4f30acda56bfd0b45d262e205020d48c058dbc125505d33d65b95a91efa5bb140bf0529f7bf643661f5ad5a3606243744da2f8f03a7216b5520a90d97b4496457f0375e4e25bf673496942237019ff322debd0dc75859247fd1a7b5d7a483e0cfab5713c4aa8907f16308f44f6d88900c6a1e635f43300ec8b33b4d77f9284376fdc28fa6756feb6d793a838b04eaf8a58974a446877c20dbdb24935d316e70cd0cf2c66e5583670d0dd8b776348227e3f72a7845718c078034bd38d6216025b7e5b802d23efd7deef815e58731789ce35f3d629d7e4c04d7a1aea596f074db3652bf65e98ed56e69f63cbfae49da1f83661b14d52b9bda83aaed78f592b74f4e2400d7b8154f2004570d09ee90b9562df4327f1b4be11cd515bae9fb856f39a7119cdaa1844643199ff51198c36d25183e14ad804c64205f25cd279a011016f7ffcf99e5b1a502a3c0e210c85e057eff85f6acf51c3d4285880f471a4223cf58ce7bd61081090b29689753550d468bcaf4dc80432b35627ba1508bbbd9927b1ef7ba2e4236dd9fd2024ab5153e88fbb83304fe4b69a9f62d46ab0644c5e31e7d99ed2f2963fb6e7f20cbba1f39594052cf028e81429cd4dd55c21f91e19f137b2397bae8dd0a84b0f098dec5dfc18a444154605d9e59bd16a3e3f40466cfa6b36b56833557d3f2565472365b2f24bdebd97f898fe52accdf376fc592ab68ded8a4c016c4f1e601e658ee3af31a22ab5253401007f99e0dd7fe1f7d2215ee285cf8e51d370df769cb1ce286f5c0d7fcac234b262229a59598371ea649260cf83ac559b70f71216a183ad2d116999c7d6406bdffc336bd0030dc1363146aab168d671e48d9fddca10e8f78c7be5986430a5982e27a2b828508bc51abb6a881270ce5ebdc4547c6ea640a9dece514b65d585e5d080bc7f287dc3de684003a14fe5b069fc73082e8a3ef1d659cf5a8285598d0a9dd0c2510433210195749b249226ac005566956d01eb54dfde9b1dfdd9a3eaa08db0b4935c350e9bd9df924a54cbf6dfc76bd01a3b773853197b2afb6e052b83a714eae513abe8cbe2818155329f64a38ae71699f1b89eb07d81d0ed9fcb8fa8babecb56473206ad801045369f6a8173c650dcb82eab618a52ab2e42195a3ea2dd81df97699d8bb2bba39faaa4ada945543f4d8a9de10ea7ecd9b237af6b57410c4d660bdf1b01e7dc20311ce4476da3b9f3919443862d1ec063b60bb9c39b519ad00dc884c7c9f468cc5e84ae5d735419d29279d60d1a05034bf031a1511e56b713f74c4b0bafc4b363354ed797a24e17b673b6eb0fdc82a9074613c157f01473dfc800e3e3889fc84ba96576c60f240305afbedbcb21a53075ecacf204a04492ab54340e4ee3e029e39ade8d40c55fd55c5f678bb27ce46674bdd171a5392fd4251ac87707cff89547616deae6cf1d877d3705b81a1948511ac91f0dad54769522f29542502b69af01da2bfe7a3f0a2219e394c6780d11ae47bbfd56e2eb4c0426675e57f6456da0d8e18dfa5ec772291f3dc1e6bc56c2ca7d8008c3cd573904a4c6549d98f7f69601ec9377856ab7b37cc7b1b87405651eb9a28122f3bf14061fd35c7498ed76a08e9f2ded7d3e40e1699a13b0e3f6cc228970b959df586313bd8cb8e8cc52dfe9c8a90f67962671cd668c96732c12dac6cb6ac2746f55e4796ea4061863c70cf4392928eda0ea9c9f7857b59af08129c393e39cb6aa1aedfbfecace8cd797ae0fcd8cc4bb27cfbc39c74b98301c9cfe06bda216755716ee14761c75d4ed75329c9478b04bb410f433fb24c6cb8c47393d70f1491d433b5295b8bbd82b1cf0b73dd5e47e68af916c9bce654357e2ca1dc5d95b18529d385984fd73c2a8c3a54e7fc9b8b75db2d8007900aa93b8fc53f775adb693b9a9a3c85c2fa5c6ac918b8dbcdb64ff8ddf0879e7b80e421adb86c8046cf05e4699f130e7f7dde95c3563af73778744a3f2e451d14513544e2bf62658fad8c3ca09be836070ea1f3329751c4c1d7162c37091d4f7053c51b6345e9a834d5830c187711e08c53eb725c04b13a30512e583446913d2fd0169e8bbf6c435e0a04cac2d2bd766c623d602601392b366fd3fa4faf527aa53ac073778f0d43e2a6546de00cd6f0673606d3e75053a8e0f82c49e69b6e9d53f9d9e9a4c84177ce141dcd381bac1ed02fde375847ad2e7cfb23daf82131ef4dce25a647a8b020fc004ba9cfda5787eddf68270d3c3de79c05cb8853c633d1cf5542f14739ff4b555f6d91682bfe3755aa49b927261514dbe026089cd192a2cf11ffb25f6483ecc7f65c148e154bb3c03ac0e23892c64b5a9d5f2d69af861c5ed9fc19bb9542e5da1223a6cbb886b04fe86e3b962bf3fb6f43fb5a928eb07f88c2e5727b25e2d113eb6110243c7b357d2fd389dde946d307c76d064160e3660716e9a315e3aaea8084605b29fb663ef826d28c0717eaddb6e2c6a36cc03cdd3fe1a9f237ce9e50096aa10fc1a7dae05e4cdfbac256e9a948b3c2ce94301a1294d83c167edb80fd34279d58b591545aae09ce4dc2e014479c54c057f92ceb328633eae1be205790dce4d91c04b4dbf2d504d1c83022ed3f7bb39406f6e085760743d6fe6cd08fcfb2e8011ca21463a64d4caaf14604d09cd15d840f30038c0fc0bbefaf90114eee0cb3578dc9e4acc5cbf8dcd58173f01256913c415a7b641e9fc930f8d5410707674f7607cc12b821fef4dc3b88db70d834025a0948df509a013ff6aa7a6f064534ca52ba28a2bec4ef1415ef62b956e8af9f97f7ea0e646496713219a8ab250c5f7637417da2dcd397f9a4fdf98e9d0b4cfd2b0bf354f6706f4e169c478d111a9112b39226857435283c19a50b388ced7afed846d50ad9ed56f93591ee9484785a4ede6dc7b6dbf6c63fdb70d31af14275d23d487306c0af04490fcba30d7dd4e0659d38c183bdb23e26f0a2be1a266dd145fd65ad4ef6df1c93d98e5b235f99d1acc42a57649a76014383cd2e5c796bc7d7580dce5c57a33f96382125e8f104dec0fa45f541b89392f3adc77159cbb83843b69043205a8df55ed915040c53175a4c41aab69b23c606c8751dbe2ea5933409537495aaaef99b714c897b193f3277d858d5dad73347dfeea7363085d512fa4ea45b9b2c37a1f19967f9f0b336905bd71800cfe11d36a46edba9d4e440d985ec48327a48d2c0acb2694e2fbd6207d8e9d61fe19ccd2b31c8a2bc9e650134028004b3f61fe1ddb7c306b20ec5af684d5050ab56b577c5beed2f089cccba87267ced546d5b766bc36b740b2f2cb4a7b4a4a27790de04a755c22bed87bd3daa8f3c1a41b8c612a8e97fb1132d7d6e97572e13fe2405e6b0112ce7bb0228e600b373a7a142e8aebf8390cc06a52e3d4ba292bd82d4ec553fc5c63abd21df85b099b02064e9f9498b261f4a976c732824a92965d30e428b8bdbf2be29ca7673f00fd05078f8790ce277114888fbdf8c0932f6e1dc5781b68b07877df78f4f4265066d9b0aae5acbeb3ce432180bf0f27b6931e6bc5f7c230dd9511235f28db3748998f327c58caf59ff3c5fbdbabd1a6ccfcb83699a44cbe1eea5b247ae3ef2a2ba9154e25bea1976578ddb989f03271fccaaf9950512fcfe4b3177abb72e7fe48cd7f5f2f75fce28e510ca25ee3d5012e9b2ebe8d43be1c1cd6eb23450b9750a796b4594061f6f6a4c4c02b1425c46f141bf22609f8c31c42f8716f132693587c2fbf6cf557e0d46bd5d8b8636fd0327db44fd726f6484b0ecfe96478b3b4068ec6278ac4d2ba230d377bff0b25998433f7b61d601be51fd80a2bd6a3f152212945955fd5534aa50c3185a961feba0075e83a9aa3d2612921166a1002747cb3ec99115e8c160e494aa27d87a4584e48479b5ba2c008fa76dfd72cfde0719210d7e62ef6cc75ab7810f6f5450abcb08142818262bc9b440c3d5c749d21f132c8b61b795acdef5aad97ff493243d9a729b3618ad218937146885a48fd6502cfd2fb779295a2903eb23fadb9910f1b7de195db44ee9fa01f98321e536d957ec50a58877699e2ad87d1fa84c4a3c7a884ee154b1e418756dbebca3ef5f7141197d4bc0cde0ca079e1738fa6b8fb9a1a9b661e71b951870511a93b819a0ef4b5712c84bcca2841c22a1535b6a922728aee2dca83a6b4e3c64c3c4a8184e939cd8d8ec0f9df5c4326249dff54f25f2a18ac6014740cb71dd7a7d3bb78aa54958fd5ccd69b6ff7dbeafcb1f43d8ed125ee6ad7de8718077e0445413ab3cff78445728e4c1c0e3872ca403c85a61f7f16d7d1a721a92c7d3f1fbf8a6f06fa9c4ea256d6f0f745c43a69fe7d50c509ad1e729a3d9e289155bcbf01a89d5a8e6161b79d3706d66cb33373c5ed0da9fe904ab9268e6b73e2349070484e30e249c47f6d0c29f98141cc9fc8edaaeebe57fe954993ed4962212bfe54f310d77e70dfb46b751a03bd220e25b8cab8a58131fcf6ea7c17b02c9121eb2267c9050daab901e020fe8a484ff7f7e26d7712b60e897372ba2e48efe6c8f317b056931603683ba1abb1feff909cd7c24e9fa69c75ff5685fedf48bceb3ad1acdf1f72bb5f17a43927b77f60ad472705e8ba98d51335859cce61a1186d2890f0ea1e8df8bfedae3242a1d9f46b26bfb494436babd60e90fe426b9c365aceabd94d2f7bc9936693341c7ec5c665c6313be20883d94e210b3d015e34296b2dd24a208012132c3dd993dc96dbc13e3b3f7021a357bef4c452e3d86de9dfc42d79035cf021ef8b9d9b5cfd96d6e57baed40266b1c23c2808099016dff2e8342809eaee465f015915dfcf1fda91c11a321d6fe4ec444aa664fbeed2fc0d2fffe5b2ee60aed59dc23edf38c872e82ccf244544a2cb0bff2253a72b436905c9a2467f65f4f2058f5a88db979f304a410ff4e6a9bdc98cbda0e627d08d02e139c4cde60ff786257b2ac0cc5f1041da95b123c5518b7f929067ad4bf5e3da5c2591f69beaf2b2808474b9107d1d89995e2eaface762a8a2738058b2fdb382f24ce988d9b2c9d880c82a6179520589edb78e9c04ef4fd2f6f958e1490906aab1a6e9e705723747bcfbe4f70f5959274b58f06e9d726650c67c75f4f5327c09900c42200224ac47ff4b40ff0d8aedf405bdd6c3e34ff83246a615a8e4b542eb9bea9db4bb57a562245a84b28a41e17b0673f3485bf88eebc4b80869a733d4b50370d363bedc50f3395ea35cd4f04684cc94c567793392cf8c9dd4af32f3d5cb863db8a9d9a185596c40e3884024d7cccaccb2f5be06119f22ba2d4e08699a52c590c1b9654e3cb1caae2508c86a26504b000d60027358760f3b5436ac439704ce067ddf1be11249c5b4f2d6303f221367f9dd912726fc1065c4ca32017f2145e6d2014a2a46c9990ea60ad72beffbe20b59c9587640f1bb9537422c46866d608e0fbc95bdd99e1d272721e56e98894cc5297ef3e9e6a116ed7b8a0a0e9a1c3f5016b36a176fc5b84cd2fa9778ecca74d8f67fd77013dc0f822cf4d201271657485d6898f14947281cb1c36469c9e0a0c4ff73170914a71d3c86a0e7e31395c67e7a8d7e42f4a8a75dca7bef31308afb2abba1d6da0218618dcbf585c118fe97af157c0f412b625a2fcedb3f7cedd9e943c28fb1c2f03fe3fb3c646aa2bb3604c986e67abe1bf2ed53b09615b006e08440184f1cdba118dbba657cca3b486380a40281048f3f8e77c83a31acc6ab0a07e7663dfe2943fb56865035beaf7242c0a715e063c6c4844b079a2dc1d6c21259101a4af982d8ce388e118b90d4ad80c13ded9f4f2e666b2c42897bb1d1f68bcbf130089d9251116e9eeb824483739dce40c1a09fc6ad0d27096e496962aae90c38ece3380dc440d5ae84cc220ad10637943a509069e5e14336503f7a79c41632a4c2f8fb38dbec6730aef1eecc60edf08bbcb69c514e36b7ea6978a4593424db4559773db9ef221c602cc2cca1bdc61c42235284f086dedb6ba635dc72169ab1e4bb6bd4708ac734624ddadc2c6b2497af3b2467b09a7d64df60bed28770575c4f5d71d58088033b330e023d48487a9367325edfab330de7a6f5d999fe047d4eb6bee124990d355d43f200fb4b1f277eeb85544188a4a8fd6eaadefa153df12a694406a52be476873d5c8010f65bf1cbaffac54fa3429ceac26846ffc9e3e90ad0c127bb88f294715c492f860c184fd0ec3652e4eb4e0e933c16a8a93690db697ae0967736ade9d3950b03e9bfaf0855d2043066fecffb09f29dfddd8f8a0104fee586b238d8ca39d8807bb7a3d5a1259a7555e367d93df0fa4f9d6abacd5e1a8785d444461faecd2f612f5da273de8f9909e7c5ad76300647ed7bf413df4972c25bed607707e7dc26fb592156bd46e6dc78202c7bb243b2886ab8c21b850ab8efee139f86a66f90a9d4b7618de63cfcb4c3d71cc07d4831f6c5d0d1ba6b1e74b40b36964b0d14bf13bdb909b93746c1dfb5acc63925ed5847e5266efc6252ed2f90b865f86971f46dda390789b6eea619fd3c4c520225d8081ad51e62a36c958f35d82006bc8c6b0e928812a1ce936165de7fbc8ff8c95d8874db67c9ee43cf2d219713b90c39745a7c68773e4879ce2a70e9db4f411d9b39ce5bcbced47af6cbff843e2217c2146c72fe9eeca1b37cc53bc83b952ec9510c4a1f6e89d8a463722a3b1e96487b67895ce9b57c3dd6ba88892104a34099edf9ccde9f2ef8c3bf7f06dd302d75bd547ff6e6aefa6a17cd0a0aaac82737e0b3ade174224d1c34344e3f15951d5a507449c12695a0483cf89f9cebea3eb6335be5c3602aa9be77edbbe6491f1ef6766f663a71d9b8d4f536f05bb35f117cfe9a1d548b13583fbaddc43635eb36b8ee351daaae8ff8026d12e878a07656228f20f640a27aa4bfe34c5250aafb02e8bba3f1ce87ba55de6fedb7e77ee776ef0b16d933e3eb3c323d3daae05bf9354f98ad9abeddc310e18cbcbaa763b4b3b632641e8def7c9bf4ec319f6a841db0d9e8628a82e8ef1138e24cda8cebdd41654f7d0273e756ed0ea17063a13d630250c9c58ef7974db088d986e700144db58ba84a825b5763df8bb3b12932ca098ed7a4f32c796fb8e00588b02c7842b702f31cee3cd6af24294798f306dec6f44103d7a8920741a0c872e682e5eca4f5f077e37b6fb2dc147bd0340cb778b96e69abe9085ecf73aa881ede4e979335f8abe4982871d24412ad3bf2dc7f76ae52bce0bc6877d1964eed412fc830f833bb591a4b8a9250ece1da3e5ea4ccb2e53bff9b9b470221465fa074383049ca5d0471563aa1d666062d23237ddd707d038094b0edfa0e38c67da94e0240ee10dda8b02daa8cd74215e15ff56b7b18807cd0111082d652f56bafbaf2d617cbe76ee980970c99f8279fc383c11be4a95973078fc8e2a7e737d65cef7276c77f87a122184fa50ad309bb0d7f9dfd8cebc263ffa372cad1b63ced72c6cb5eb2bb011dd434a532fcf834985d870299d09e2534008871d3bd5eba401b38b074e461178f2a33f0ce44191be03a8994c57e7566bb2d27bfe2041ca03ed32ac75c9a554ebe2b088323ef5df7a0d8101d866476b56e548ca41c59e8c27ed8c311634e53fcf74054ec6e6f062f180902f441cfe5d380e013ca70b91d818c4ea9592d8bca63741abc9263bcbfc7358b9bd150047a35d3ec76f97814fdee8994638073648a41a590161aaeabcc917a9a12b317f48b40413c676c666d92291088b0281d0db996cbad994055b92757634186d5cac0e9b44f8d477c119706f0e03f5300557d983cd000296b18d38702a4a503c9a0ad08b2ce1025bc062618f65896e499a11eee9b3f3bf6085bbc0ac75976d839f116dfbddca487d01bb3d4bc49ac25b52b83adbb53edfd76b34a04d41539b783984cc353d706d472eb4fe013824f0bea5fdb01c1afeb2d0c150b153cf1f063a802d260b136add571b316bee34dadb6c4e5b59834992a11bb46a5d2064311b2e7c3428b5a0f915e50a2b513f18df515808767fa5d3a6b486242fd20be0409acb97f368e9d2f64534f024c20c42dfd5422cdb21653575ec0b0c3dad78029ca94ef7b913d5a4bb4499ec9a0bcc64044016214e0324be388d909d0256f6b518fdd9c8cde12907e693b441082124689d0a8026a7ff58b4fb5e8ac48589cc4d99d3a627eef380a988bc6f9728aa6f6945eb49268919cf4460d62bc9b4fd7e086b909586ca626d17f47af63965d4c80e021999dde17d1e8088c3a2d4e27522e6cd1b211f53204343dee52e1f02b363a8c32e3135a6b66c7e5d3789113480c713933009ed4423f8544a323a770e9fffcd16c50ddada5f4c0e75eedb3240e7dec494b03737beb4472e8b4c6edb16cb17f80a12cb9a64990606d3076e1e327051b78709fe303b7d3f9b09b78e85b2b4c35df03796c973e427c191c0a15186ba75461400facbf262c02666d822bc53b047a4377eb026565738e320f3312e06e2d8682b946259acf83fe455aca391f4b968211e7e6e0bab72f0d9b86fa8f8e165242f5feb7e8eaed20dc29c31225801c880460026e9cdd7df0876a834f01f67bc06228dafc4adeed75adedd4ba3c4766fc720efe83d995c04cb0bdb50d232ab289d1ef479efe19477fd82e96d4c08b5924ab11fd27e4d8978ed5d3115bb8ef4a5b89d8114e9c8f0fc379a466928e0e9cc72b8874edfe9e12740c5caede4476299aaabb695b8ca7d224fb1c15372a720bd3f517768c1c45d0b1f1edcd266aaa6c166857142d4a5bedeaca989ed4dad2986392db3a9ad38e4b79ee5f6d5291338788d9ea3297fcaa6b53cf244b58bb7801c027acff366ad96b99fd91e9f53b77e004ef0d48245cb44d404fee441c4b6a82ef1255bf00442dfe146cafa939e04f456f79e53aa1aaa324944b646318b02895f8cde2410d7624d9290ed3fdc60586f8e825c54459bff2555f0db0012d285c2c9304a4994c8f8e43cc7ddbab38058d48ec814855af3922330e69eac391a60d7b6b1750be745ceea2d6dc72301b9ed68442af2ea289387704c3416b9795e020fa3aacce0e094a33fad866ef69eea919c0b65a8cb1e3a910ff5a0df7f87b36fb5f00d315137d0c1a231ece82b16489bbe39fc439171d8682492af8236c1b4601ac090545d0464c827be54e95c5e35fa6906feb8d7a896fb246798d94d60aa450c508c43c14a99e17fa0e4636e79f9dc38c0dc71490b348775ab2a058baa69ad2523bb47c0d82bfb1331c5ea8d7969569c20b1377f69cad8a0ed989b2d453cc3a53fd382fded4dea0b88f441ca44d5e01b73169f0a1ccf0905b9d348cfce53daa00eef870a0159aadeb3082900dfec439e5802eb9406d8eb94a895195acb21ee91b2c3ac166dc7932de7b9aed2504d87450d2b3745923029da59727fbecb33d112978d04558b74abcfb0547b013bc19f21e14782eb0190c8497544d6019596db2f4f85a360cb7cc7947f500f9b00eabb63ac10c418c4fff3a829dad0b350d8edf4d7ec7cbe784f037868db802559fd8e4fa698f42ffb50cf39ec777d470b702f9642dc35b2894b1b1ff3cda16deef96c586e7913d17550871a6f7655ec0ae642a34ef12e60348af51e8b26119294f512e855948991632e533bf80a9de61d12eded48e247082f4c4004ba7bed7b67b630c8ec7da579b468162627fb660a520dabc731ba759f1f81812871053bb270f27f93e3d3e3570b3694c0c226b6326b43b1db3bfb6d585f77761968a07d456e01c5b69648d0305d8f8c89d9efa0f68bfce407f668dc4dca2cabe86e10608d525bcbe439b2f9dad8baa6ef37ffb1e962c14d7baa534d8f208e0eecc94e9ebf66292b473327723e1d18a929bf76e28459787f961119bc7308dea08278751121b9d5904da495540d3e61c429e2b1e1f2416ec4caa2770be34a6fc785c01e8651273f7aaa4e72fa373155a00f7b00b61a7ebfd2cfd82d96a758bea00eba0122863abbed964fe7173aca08acc408022b2a7d3b784e57d8de798c87be6ae6b965364783abbf35d030afe8f985db100d4a7ac1e39244dc97de49c8edf8851fc3fe2084e48b955dd571b4093842073b4ec71719c432a90a6f75d8785e2865e7d3cd8cf7dccd3caae4c389f4d11c21ee1e19fb183247aba226a08649a08845c05a1b82b836a4e20d28ec6121f68502c5ed338fb6ea5836c03bea5da2804256dd96835ef893ef5c4c367aa3cdc934365884003287ec81c20df95dc7e07e08c06c76c018d11964a059c8d36ff29fe2a9448708cb9daa8a5d30a3e84f7a1a87659dcc11f3973a9abca80a6fefd34cff781c643e0a51b87a88188fa02494a245fe72a17b6e15819d4e059f9fc49d2aa5e1e07fd2965b5d79e6a7763df16f7caf32a75a906d0732013f885ce490a6de6f551af744a40bc037e1dfd3c3cc90f637dac4b3f7e456e4416a4e0e709f507ad302857f13f0db506560c21bd6306da9bff475ea76150bb2970b2aa3dff03739ad243bee791b7712e62cf1d1daeda65114191b9a4f8ea9db5003004fd85f78b9eb813e48abef68722969053502802e370f9a8d574da395924f10aef935e4d5267369d5ab949e7eaa7c17b4f26a0e54efc6226533accc364d366bafbbe05f1e67da70e750c84a7712fe526ad4bd241884b3a205c0ffbdf17a68aff15413fa9a5338efb7307d4f52e1937df91c2420fb10b0e8e339b74407ad6dc5d13a56f562380d357e1b91cc0aec52a019c238f588163ad2a9102f00caa9091b74a0ecef12dcb067cfe35f1d39704e1c55390d9ca25922e91dcce0bf975979f517328c3f595d89a1d8a845c504c80711c8cd9845a21b437c64896434bba0a710732b08e5fc78ce3806a4c92cdf6f61e272d32f3190df792230fb52c5bded89345b9a3dbd32471d298f72ff6f70d072133ad0ed3cf35f7cde8e7d4d3430da3ecc56cdea39ec61c15588cf994309c17fa3e3dbd9fc8ccdcddd4d4b72149fafc6d83e1eebdd230013c0981990ccaeef2904692114990d65e4d86522a90e2d6343d505d5cad258f2ac5d616bd7ce0d35bc6349e91f9376bfead8637ac75729d2bf971ac2120d1bc587c2fc1fe533fc33fef51c6d428c0f8bba379c919c845d8e40ffc7b0d7e0733ef9269cb7b47d41b50327b71986616555232312386103d44ea39b98b954e6a87b5eb228f9adab22c6ea95d23fec091de5a2d33d9223bbf02edbab63e7f1821f2556a42d8dad9b3a5ab6b0bc02d96f5589f67712591809348c58ee02a794cbc4964a8e80f02512a7bbaf707c6812484924afbd94e312bc029bfa8c58d0d8da9596ec708398051000d322ac4d33d04d94e27db81b3af64646cbf12428baa67b14d1361599f335ae89a1d7a0e81dc578a207d23fdcc1854eed70877f6d6397a592e101c4e22894910438b25ff55aa340af4ae7e5d44e2ce4cfeda8ba2a690cd58b12ea7b0b83071d020f1c3c17cbf391278965d0f50ad9c78e52c43d73bc710e40088e2ece70ceca6d29c322d5717a0f7df57c8864a3035e6691e9c5e1fd24213099c3555fdd0e9d55db37b3c97f9ac8ccf1fdad15660212bba8d76731cbbabb167ccc2f80c5c7ee626601800c3d8fd80816438b1a6555fcba10ce111c9deb68d26f2240fa5134a52abb6407c9791ce5c125f5a526f63d36e232ff06246e2c48cec2146ebf7ac130b93b7727d1c911ae8b696145068b3b857649cfc969df76b313a074a1dd117d62143cbb2f450c4f6ee35d760ecce0b678d7a639ef1ce4568487e3baea0a7c69f971e4c6cab146aed14825c46ffc8047d6e1ea65e0c7e61ca8c7e89e8e65c964747b2b4c4e52f2efe9e83e2f1c1ea006b6e925f2ef8ae59abb2f3a019d055f249fc3f58adbe08dc4fa6b49f509ecf11a1534b5c3aebfe2dcba1142a4d846bc5b546480790593777d4510799991534c7ac72878302d8c686fb849d805e256d2094dfcce99d443769ac4fc751b61bef4d0647b91e0d90c98eeb38c51259020260dad89b08bf6b470be053b30d717f2ac6cca433480242f28dc5190dfe57cf32a38f3278cb6dfe5d2e9bd813792c669a917c0fa2f42cfc21fcc2859ceecf28dc78c97816109848701390267301722226fa143ecc029f2640ee4f108a381ded12241c8678f36cd0a21a50b91a47ffacb16e958434c0d336072d32601f0b8c0960992deeaf9bece93bf1ee1b8c6fef5a2fb380690006ed502812614156bcf3c9faae3a2986498b089ba9745ecdffe9cdadef47cadf4a5d759a70ab925c51d12eb383aae53014c6f773081893dc8321eb3d799a6201fd609620ca1aa5cfc6670d6e54a5e12c3e37b3e36ea16925875d9f0104ee17e4c3836759fbc710bcd5b2ad87008ce17a866b314a1d4590ed5bd7240cb123b213a98981692edda31f6cf326a758a1bfb2319ed1aba0144fbeec41368f9b847f691ce7dfb38a3cac46c3a56d00527f079da86dc168050fc3e05c8f9a6284f92a075c44f28dc130f34863c484b8e3a79c38b6731b3aedb5bc03e0c84137713e7f2d4951dfdaf3139fbbb42566c07edab8ec80492a2f614a31b0da3138838938ead6bef3f4e4d3c5adb584ebd9c29bb243963a378c3901c77de91cac3a4e9c96e0cca159e3fb0cb7cddc9657e3dc224826644c2852235388253ef25cd42c2879922efaf849589cbfaa335d96948601bb2bca393cd3b4c9c7009828523bf01ac761695fa551c9ed4d6aab24aeac6f2db4c176375b9f158409166fc432ba040d4495c105491160ec8eaac8bd7807623cd801fd849e68e43b54241c44f524c67a55c09970c304a3017fa6072889d2d849c072ecdc7bf20de863f32c5c5cd577be6dc0fe19f5c8a32c5fb16753debc4d1e2f9b0994d8f4fef5e66122cc24be865eeefadaf5f27bf4847f84d357f2f13cff68a514b07d98e536433b699c259b60f51134de9b2e54848e8289cc6ae33670f1a34a1b2d43c9011296c95e2b8ea362ca7af8b97fed065699a63457e969d20065006380f38b6b879022271995b5704d444031ddbfcf3c7189edc73a16708c2690033be4b19ab87c6dcd0008db0cc064d3c3533ee70236eed1133344df3ecca488f14fd86ab6ab3bf02ccecd89d5ea57e382167949594c565c661135119ad2ca30a373e3535bbf9f78fea5cfe202cb775640b4beb0eb1a576614b3e8ac264ed0b9e8bb0a3e5f06f0068ee9d425272ba2173d1e46a18cd1ac6a2138eaf2ac2f0eeb8c46af7295c306b31d8d38f6313b4a847a771f6a4c16d41a0b00152ce3b9706c0db714b80add4fdf7c6ef73bdf1e33bcd11480e06b469e63e693d0be96e0547847187d45e3839689bbbbc761037fb2f73889dd0ca3e125c2092f45a42f1d8817d475bbaa8ce4a27dbe75971969e1f6aef33ef3d25c0234a003af49e4a76b53da44f1b3b02a591d09c38b511d114cbe853b704bb35ac6d818842614b7af3ef578d9986e19537908659933afca7d83d3cd1e3795baba0146fb0b1b066fc2d3882079f5248e0d2b9660fe3e6a2ea76e975580dd0642ab5caea48fe4172e5384a42fe42f05e7a3bde28f6265ababa315840322d73d2913293baf6a88e09481fa0501ff099415e9a04caa6d732400a48db9ad53d9efa99a4f7fcd7ae184316bf7d6be1d93c68f12ae1c807f62e8bc985bbc9336dfcfd999b50d53161273ec946ba879c136ac09cf3ba4ea355f33a60e9513338dce35446782b43f02c46fcf90d54485d5b048d23d0eb5d22e2ee064a625964e5612e29e91c586def59623597cf8cc563d9129509e475f290351ce012b1a52c435a27c8b5cf57ed41ed7471a4becf9f83d1bdcb218e5c32be88ad005bd54f20e444bbfc9dbcc42b949f54c1129e10f5cf86e17ce6578d90a5ca6cd1fd846f50437a2da546496575bd62cba720342fb6aa7def2d8b0c8bc31e5d34964f8bcff776f919a15c7fe1a7b4f8fb48d1ccf581087ae2c0c1f44e2f8fa2b4a7ac87375da9c3db585dad9a25e5a5b39619f58ee9fd3f890cbdfaf587d024b4c28b230a9975b3f4fa6b9b9543fbacef405a0cb1282248a0716eba6b332bc06812595ca4abf5a853b4321a1a91dd0a8d2873f4e641cb34680a059baa496dc2ff2c2ae6b947984ca06c8357a8642be999585ca7fcefea93c4e4e6119fef684b76fb83137f53a4f620098395a26370cb634e67f95fb1c0c8d600cb7fb5c84ce0a69aa694bbd0908623ea428503725c9fd364f1c92e2f9bd47e22ba05e88f68c277398f9162f443e30612797e7d611f617029daa0958ca6db8b5d73b50f02ec2babf59e9798ce2dc61b3746146776f6b2b4d31ff329d5fac8bb0089fdded4593690acf5e4cab226063371bcfd43c6a43f158c74c84eeb70d171c73aec6c85bd1f1d699ad221361a23bc4dccd91fdd689169fa06ed8057c4a6f995b036a2d49654e854b30e50ff1860273df0930b3c43e14a6a921fd2e2aa0b4a62f88a7069c7ee15fb0d7a550dfe64e8161eb80872fd8376f1c1103af2cc1c09a9faadb2e7a0dc69d4ed3d1c9c74607fcb21f604f6a1f3fc3f166d0301d9ef95e88bfdbd513b0a29b0c5424f4a1c6c182edfe38bf79001ec2f2682ebfcb8ce5263ded3db8f3987476ec70342cef9b1af32c0dd518ab1f9efc8623bf17e8a31bfd69967d4674c1edd21f572041aececa64b5bd811e4640cdfe309653d040d3635ca0d68b885639c26de540d412414ae63d68fbf39061c4c3763708118ae42dd39e0a74641e2d3bc58eb2626e7192c24001e782b603525d162cc0eb4c0a500ef7048ccf5b087546111b339ce0e3ff0e5941f444080161f7adf12a7103ce752a58896665ff978028547babe78a38f736b48abdd04512916375b8e408eef77926723ab681a18196aba6d11d29d73b1024dad3a4cb20933f4f7cc4b0aaa78da6aef049d541ca2d0ea398815d97728ac8f4361d465bd722e701e66d5189d77478524603ea4d053f285e787551216dbeac048248ed507a4188adca3b47ff19705139fb0e3a895c3b6c6caeb429d6b1dcda3067e8f3cb87757e1267a3b705f1802b9564ab1f046d40127d6f48c903336b542cf1771880651c1375223aed9830bd36f0ef4a35ade6e2ba72e9f7c1c074ecb1d7f2ba9ce8dda789462297ee95a0e2017bfc7844f6c92029e911893fd76299e79b6ecb5ab18899d30b7458b22554133e7681deafcd07f8c01f07fbaaad11c9a73c7a241237a837f5db8a5219346a74afd5955339016b1455dc1b41a718b3b2ec0964629f4e8239f0312f2227f009f89d7b3605c83c283f31f8fbe3f6c64ed76556814ee9324eac4a52b302d90d69af78c86cdd70c9ff426f7913372d9469dba5fb1d5749b44f9e2084158eabcced425106a5093cdf9180d9753417beeeb3c637f944c717534ffbbb6fa348b4582e18171cb7bf9dfb90e979b1c6dbb6362bd1fd5522c4137292b649d5a9a76e92977dab65d30626ae29d1e62bc9312ec72df3e4cb06a7cc5ffac9ce917a21dc61cabf3e80c666a37d811e9116393e09742b3238c8b18bbc33e9702ca899c8862a6ca8b4f1e64b8d2c2c44f51339008a2d18dd3e9d56f2a8ecf8c8ac98d14d3f743fa849e9e89ddc545b76802184af6188b1f359a97b56d21bd293f22ba9c6bf305de5e8b6d20aac8663388f88bd70dedbd8ecd514f4b82c4da9a8d3e970a0d1ab28a9411fcabce9682a110dd6c9b66b840d989a7db253144249b0d478b34f2715881ca5075def6e5dcfd1718b8ec062fccaeb354061df09d04a8a2ce2ae2249e126b09b53f19a17d9481357ec90bb74497518532c59ddf4f86ccd3c66f18ac16516e2e679bc451b7c8bdb2b4996007b979311efef76975f0cf2f68a0dd52322964452da485cd28a84ebb82a6841b6078818baec63a3ce1b349be7ecaa19e7f1bdeab8330e9ffb3ffbe476753420022c9e0c32e351adb5a4d2572b57132cfcbf06df4048c101913976b8e26ba9543bc5b3fa91471dc9a1678ae0392b161c8efc52d250e9c89ad63117145f0401e10cff5a040432f0cb2109efa13ca473fc3fbfc7b6c47330a9c1cd9cf7e10b24c0e7e4ed161cc95a2d03231ad868af9ae147f15d0f85238c0d05adaf552965db31c77b82a1d2024089a9c56998a984a1b94901c515726137a64efcfb73ff4bf90cc0d9ef3296f4202b9964b24205ac200f816660fd2d28fe87bb893077c2eb2915a4c0285a2699208c7fc4fe69ae9d88f5b7ebff35131e855e2509141562b230dba0eb6bb5bcd6131379c07236723155a268190148d299dee04e8df281a9f48177e41e1903b4215c3452c17c760144e49492d667a3e8d2869fbd98c0da372547df97826ae658a0fab65c86cc1cc3eb7f05bd42a6f00f64c01f7a7ee418bc1a20ff3087d282ee461071c471c926ae1051cc52408d531cf86a66ab762c931d1e135424a59e6101782d755018033cb4f9127400e17a57ab54ba43c58608a9643f61bd138428f160977ac8b3b2686da61f15fcd9829aa78ff4e08daaf83b2eb6992071b33f6261642af59b161c6c6aa6a6ef0f4de69f83de3c75f9d631ad43576a2bba4b93a9209fac33b4f60d245352787ab6b116514d5f7e57e74484bd0b012c3c4f149e2548ddcac73d0513dc91b470b34507de76586b644a8684153e7d2daaf77fdd45a441f8965326c914a9b182546fe3fed53d14a2285eeef3f03701fd778db0a707566b9ac7999c5b973f6ce98bfa0816270e19948e75c8ff8f372c25b1916fcb9e998853b7c4291ef8859821571f3a059791194ce15cf4f670a7e172390218fbf9c2dcd16d923efb20f54bbfa4dfb05308f0a1249dc5fd7c63fc1e92fca587fbb179fc979b64f07ddd738d225ea11638e07edfe3646d352a0b8386ba9bb3cd0ce74edca97493bd555d34bc56d1fed28cac94437e3168cf6dfdea72b6c6216eb3e2305d184edd5508581b946482ae6ffef225a6975e54689899edb2cdea759d385152410a1bd897a038b29b82cce6179487d96b530f5360a645eeb02ae53bfdab28255620dd30ea981fb262ecaa64546a144714010088299521dbe4aef034cb49ec4e058daad2134c6a6e071d9418b9c61eaed6b5908bbfa2ee9afc7bab3c916b9b24e359de33438a3a1d5b0a30c40d25cf1cdec837d24d4d8579dfe7a9a4c45b8ba3c63948f8fe8b457f64ee801b5fe34ac6bb593826bdbb1c509f62e548ec4afec1d20538bba0a8ee2fbed20d1329ca32b8a370c76d21fdad0b1a8fe4b7cec143340b13060310a78e17f2fc19cf1c019a9b6b68ca753a116c4b04e4a16ae24d2ed05ba7d5eb16dbc25fa4c7b9c6527a514e0678f83a76c3cfdf5472bd8a5fa002fda628fb8f0d25227dc676ae344fadbdd74cbe8de0bf2c80a8b2ce037e9509161a070347bb3f8989804998e9aecd0fd68ac7fd4533d3ed246db69161ae506ae392f9f1ae7d9f02ba22d0cac994a89a90c3921c030bfdcc1167aa202849d2f45ca1650aeb0501b8c0ce8a66d7f1453eca5bb81d4e7862138bb3a9af3a652e90e3bf2449a38ffdf637070c5a63090886d00b83459b66d29f8a6d1c0bcceca43514903b0a118aafb885074176a48c3afe274b90842ac3a884b936c8404df58f5666fbe6e22a3981eb69c47e065ef3349caf84226984d5da348e385d54611e2964e234bf5cd117e7bf527138b66d1416be83c35f28957121e53420e3ab578570ba43ce19b10c4b0857c85664fbb9a5369cc8887877aff1588b9e3e47a84f8f2c8936e2311219fc617579b1c2dde4dc64d5ed8e4240365931bef450eceb4c6d0e53acf76115289938209a93c947cd6f296b4cf9bee92a8210b19c7f2f7f2d0c3d6e7822a99521846e284398af142a1a65f9de10899fe72de208424a7e7a97b3cffff594f0195d514d14d97d559405294de3f44a31cb766ffcf963c97b0a77333395c625c2c829846a22529aab9cfe6271ee284d8302ad797fc96407c8f70bf03262a41762d4c37ee0c668418d8b97d34aad201e5f8afcf95249c24221574a8f0b6d2b7f0cb6198b41c9df5699a6ba251dbee076f6bf892e6e64c7b7a60d94d9dff2ca779ba82eef1cf5fd6a93b5a537cffd1027f1b827f77ec1e5849cc3dcc41de7ceb903a5e5a2de12d41599b735f8b68324bca20ff8ba444c8d79a62ae754c40ecfbeb49dec5d91013fd0929f5b3a787521064f83db145aae3a2dc32dbd4972ec872d8b7c7de1cea3fe448b89af3401748daff2b9f0b0bcfdb7bda95bedcd0c52f12560103cdb91e3c6377fae5ccc5c3af5bcba73ada71ad51c49acf8b5239e34ca61ab2ecc6cfe6c4a72b25dd9c36bc6a040942217017e63b2032da06734ab3cc708d7a7c643c67c8db7889cb03ae4d79641b14aa02d7001bcf95809ac8d0aa51151a07e5635bb6a58470b3c17c6efcdd95932ecf2812daa91e05a71dbd2e2321c74889a4482c2bd919da7f714fc6fd6c2555344aca51b8a2c4d04aa3f2544eb0e2be3c77773bbd16d6b652cf142eec4ff0e6fc70ded0b595bde1cc574b3fa368a5085281bfc88719a6570ad9f91f6e0b21edf4cd6501aef86c4fb2cfe29a7750ace4f17ba1d262587d8e55dbad4183e249268e1f96ac600e9d7556b97177f46f81ea9bcbeeae2c856451012a56e1e9ba5b2113c0fc3cc255941474c088a773efab08da2a0b98a8e29bf77f62d097fb67d11bfb2a5fddff0522a319ec6d6b825cfdbdf415a2a4739ddebe0877e53aa39f7c9fc80ad4ffb19591b658884b09c3572f6c6857c81e8d252555556361f784d70def02bdf7c427c6373c3785da59e1a90ed8bab5e9862ff6945288ea67990691715897609e093612c5727001fd1c2dda8ddead56b452a1a736a063bdf7cd800178c4b823b96d35e4f434cced18dc3ed366a9979045a3bfb3ff9df18e9fa2fe4e01101ae0ec08dcb395e3995cf4ffd88eed5cf94acefcce1f361ac80df27c76f352017db3f3020ee821730facb37ecd3219971479418c960e742675dceb669930213f5eb1da530c18b9a252d674564f65dc9bed62ce1d32450c29a58b0b1430c8fc600d879335c5e12be7c2d7d8de46d6a2136374bc1b56a26d1db5b0e18ead829afabec466595b43073a8678bb3b270d09b0b9aea5d56e8739f3e18af7771719ee0d4a479bb2ba0427b55f985af948cf9fa7e60a97514b82e16ec1347fbc99131f474b7ce6487879608b5386d6436e7544e29382e88cf8934e375f0ca52eda01e757c1437b408dad2b1ca98f524ee998b5780f3acffeaadb76ad609835334b3ed626232e9842d33f1801a5fd5e54d591e77275727e5cffe0e0db39ed92d8b1d8baf92be6a7ec13d207db7aa728986fb3428eda217a6e1957541a33839c5b095e4e7e3f5ae51b9f4a3da85f732ef121665de48e50c2f2e9ccd41cfeac6dddde294a6bcbb15f9d18eb61eccfa86cfc1bdbd48e26ab41c617b0477ea26cb271050438fc80c85bc2781d89d3bd9718194ccf0be0183c390b213cf9978c807f5c4a5eb9e64e58618ff01e1c5e1dab6ce184445e0b0d40e54e59f57eeb87ffc63cce8e0bb4418f1a3e9eb29b82e0739de367cd2b72386d35aff8e2a44b25c967df52d512b6361cfebb8db114ddee499344f8b55d6eedbedb0ece1ca0f7a980bd0988daefd830187fe93d053f3fce7cdba2acb52bf138f1590cca6c5ea06b6da9273189e90dd6c0615baf067b10d4fcdcd1611280735934529bb00bb50d6fb84de9a28d5513481291ed23ad9ce063ea22a518c4f92d205b4e358580bb26a8be81a4bd2e836ecb1de0d55ea7e8028392d2bb4a277a319a8ef3b1b73afd3d15158102959ccd73a4b63758b78f7684867b788de42aa041091d99c3532af09865b4c2cdd6be1f4ccf96ee981480fae69edb9c0f54998f9bcac52d592643d81dca6ea4bce2939514a911a462064e966b4832d496bd73770239deaf8cf16191ec4ddc3cbf3c34eed1c5de9cb56fe315751fe04272c92c1ea5fd6fe8ca002741cb1f0bcee716e66cd77b8446d7d12c514df5d968810ef4de190efdecf0afdd7333c6865a2e669a27f00b71f5967088a3cd2dc3999895ee7941afa447492610e1bf6d2811df504cca9627c587da46ebcf2d83416e9a275bec168c339dec4027c2d2e69fddf7a0f8ccd3a0761c91ed4f335346fb7a846f371d48287917f615bb104c2c513a48ad0d87a7951eb0227254d69abd3604ca8c2c7135213527a6ea87eef4c1b8a0014d431793e8ac44ff1aa8b0e90629f2e052662e1134bb4deae65fce6241b5e1ab15bbab1b8400ddbc7510c36cbe2a050771d27da85b22f45c16acb20814d2d5337d6efef5b256adb05b42e1cae52cb75b73c3ae9a9bdc65fab1f3d2b94f548651bd7a6afaa7cff25245daa53257c1a7697f5c974689d40e17f56077c43cfec696fdf5db364ace47c3da9f888e0a083a246ec62d22c64b186be6acbbb55801f8d7fd2ba79ab16919da7c4d8481a158a1d71ccd76d11370309f654ecbe21d181db5f2984b053508e19f22a422fdff0d3491a53022aae0e547ec7348c13d224688f75cb76db4fad6330a56da49836e3a622a9b31bf65fd89be691a6ef19c2d833779b61651760b93193154f00ed22ce3c16488f8c386dce88fcd581e3cc2df123fd08dad28149cfe22038aa228e686ac012aca0ae280ec62fd26f65289f1de968ff8aba1013f087f84df0f6c679134567e69465c47d66793d493ab3c0e2271c609a15fc6fa082b1e488caaf34b0851e2846ac5d33dcdee15f56ef2215d3ff0cd8b099dff4eae84b802616b7efefc9f0c2fcc17efcb5675caabd9500569a3c459b1bec8b31a778303b6c6f0a2d10a4f5848ef976f023b9f29f45b03122146d0a87ca26c14e8d7156623a9a1f0c95c75a015684a72b55cbbc4f83cc6e87d38cd343458e54199b9a07570d69e32ece1563ccaa20ed73cda7345c5a5accc52c8d4e1f1f1a2ad8d21ce33c5408208a4605bd1f0ee4f2d1161979e7907fd1dd04f3b0adbff04f23f6739ed543ae86fd6c6eb7572b065ee02890134d79f3102c50f95074a7188af082d9f3e0c28167a75362182dfaa3719d7d8ed7ec1a26a4615b6586ea5bb64f3c7efed7be64e8ca043ad5cbae99463669b49e1948f72618ff5f0cecbb4bd416def1a304b081f207b5992db72516ab991462e9fffa38e00a896427ae582f22410bc74839ef60d4d6d8d6215ec6e9728d0f179c37d5e2e0023da037b08d0cba700d4ee6459935649fc4416c221d4761a8c8d6b725b7eb87a1860c5e2e32572105cec4624768a6255f9afeb10afc414ec633f1d6087fe9770544c2b2942613e431616f840295952b19e820c5dc2a19e2e658703aa3772f5894d1588f854a3c49f9a84e9a2ed1b07f40aa7d1f219aa7b8ad37cb7b907f68cff22bdb63091156391b241a268ed9d685875da5c2fba3d487c6eef3f249c3fe3262560cebe993597ddbaeb5e3b8284d92aee0f49a089d4e30220bd6178411f87d1303b138792e2c385dd480491b8d277919f215197c91e1847308c82fa7ac405b7b1bfe2f3ce9186e85b8ab3afc0784c344cff6d28cf8d97095450d2181fd59629abf877050424d530c221b9787fb3ae78e4a54cca7dc3b90692abff69f84d481dacd220c703e987c6092f5c737c9ad5f585b479d003b33d673d9ea2dbc1af3c29c619ba51d49f81efa4d609d824aa7f3914c8ea8b71c252cde381784dd3468acb39bbcabc808c486b129dba2251d42d40ac9471ad857bd5c70de1a38649d7d961008323a6b43421516d9de752fb18321560ffab5412825dac2e4f2eb8fbe5e88c037d3bdbcbb70891a19e58b8237b9287e181b972494761680e7b189f910be7f3ac9333cd303b13b4911a59cd17cecd5ec9331b1cbf212f32661b3ca8adfce5a3a9b2f1d1d9e1c7a9755f7fae43a9c4a0cb03b8816971a37d0d7df774fd58c15b2b4a8c4b86f4612ef4d730c839f6aacecabec57415b22dfddbcd5a7d826cb1bd5b8bae10fa7c13e0a3ff4599a1d2552ff59e124b21c99d72438e3f47792be1cb6b3f8a7a8120cd222a8eebb6ce58eef181e77bce5444880d287c82c18e4c534d6c0765105e81187ea9eea2a8e171bb571f713fbacbd7c5051f01d631e5c3a1e9edd3e17e3f6a2e881c37910fb89e7cbe1a3ab72e5454c08d76367fed18aa9d28cff40bef47f223b520665f3459dec9038cb3998d0c3b0d2528615f10b801307904b0222fa7bd16d136e9a2d3f93ede3f12862635fda4cdc14c7d0cb6082850ce9cb2a767b40b5fc4894651b1d44795c6607238cfbde1e32c15433926a1154e707a8cc2b3e457a556e7d8b68e5baf4b39009156f8b69c8a676e5285da01486c0b697bc13cd5fabb2855c92f00e749880dab046f7b959b35273c43b6523dc349a7dca317ca906d9c73a8e2047e70fdaa7038355d3cc9bbbe720d4043d1612307a0afd39f323d1d5af94bfecca31685121aca1459d15f9c0f0295cc78ff89bed4edbf3f017e498cb1a91fa13521cb1500570145661c0df32e3e7d8b6e2c7c8b6a54b49460b5030965b5b9be3b29b275f24b2cdfa8262e474b750295036144c3014347e7cc5d85471549813607eaa3f542e2148b49b6d0f23f2417596d1c596836480e9004fd63f6601549aa1c8ee36808eeccb14f61c06fb014baed226c3c724ef8c8b01806932dcc1cb6a3718c2fad7e6a3ccc1bee03ed0d73c76da110097cf40e8ecc8ebbc15052cb5f6843b76525974900d470155b9204fb5214e2e32f1a3ff82f1ec0cdb087388cf61b92f833398521bc6b25d2608f0aa7038a6fc69a854190e019a32bd83d990b2a6af5d23bb066b946f8d44e67f979493a2c19723185953487ef28867410391df50aa610f6eed8ff285fc8a149f7a757d4fc28c1c3c16bffa0e8ceae00464979e3f1107e776cec8deb7ddafc093fc73497fb48907160ec8153e799727ba90e7b2d9a9aef3fd0ef087602e4a7b1f731b27c9ee06a0df7bc0c388ea64d618bb8aab6e4ac76a3fe73e059ded272bfd32ec3718cda14cd17fbdbefafc89fdff14e9457c88593333cdda5112b5b7e3141a7ce488bad27110057f634a0083afd0925cae97cde052c6a80fe728b3be50b991fc5d0764e7c53d5c641ad2b02320bbeefcd626d30d6cd617d924c4ad035f048a4a7b84f628636430083534495cf88f81af6ee10feb1f21c868459c6b1446cdac5d357609dad07d217043cc971fa242daff0373a9ede7638c033ea82bb44265f62a2163bb4c09e7fb7ed00515f2001785bac76b83688bba953830038281b93dabecad2f85de210e1d957716ba4828efb7e6701e5405203b6db0329d788e21cefdebd269860574425b4e65b13750db7ee6b37b4d8ea8d2db3f935b96073c1a1fed0fa4c1843afc7299cd5f32b2611b1e032826f71e46b330ddef344439ea18577fd45ba79c9b49c5ec715a5a462d7048000a1748ccacd499110c3e49988ddd5ea2e3ebbe9aae0c8f215868ebc06deee6ed16ab6e3f15e432c1c3862b9497b02416f169ff9c43165837c5466d056c6cb1f9e80e0f258cf732adff79bd0ffbf0434217aa9364dc6cb2e2627e18567520eb99a26a764bf42452bdb445e46780aaf3217b4a9b9bcb9827bc4b3ec03fc7ff1abec5f3d4577d0c3a76c3e4228c9010e696ccf22474340581688533d9d23bff8c3f2a917011eeb2fcc7be1934d410e149cc498dedbea0d610ace6b3b904bf438841fa7e9bae452251c976db3e6d5ef9124cd09534d0fd9d7ecadf4332a463d527014188cc2f69f86a49e23aa31d725438238c2c557a5fa59b524e8fcc5ca8e4f89e546ffc013e56a63e0733b73a3fac2f37df0e19c2d19aaa4bb27b585db38ee861d13445aaf233789bcaccad43f32bd298437e5087f0c90905c379550be4a6720e68d222c3b3ccbe4e859231eb1826275d73b3fb05b039c9340f4e631181364044358718835f9a5bb87090afa91473ae9e35d9c8c9cde99f36b9a261eb4d37fed673f4ee02d414cbe0710beffc8d8ddc6b5b54dd61bdfa4d3d7fc926a4c82cb90b3b1f482492b397363a0fa6d8b40cb96ad976c033b536552eba06712f53f5ca3095d2966687afa362574f9e815f20a9b097095d81135d5028e9fdbd416e0a50694a2f7be67d0ca38797a19ce22522dce98e509dfb7cac935bc9dc39a747fc8247eff309c59857006e3cd2a54ed3b37666ba702adc923400270e057cc2b6b9270a979371ddebd2a41cafaec0290b88926520a3649362e40e9196f8e37e0cd63b028574c449ce1c35ad960ad34dbdf25eed3e5db58dfbe1f00e5731e4a7b6b73433b92ee0e2fd3f16e72bdb90c0bf7ba765d290661eac1d9808349aa308f0c64a463d0bad9cde94c66b400fee2a489e4244b6fb4b0b0e01c6b3ad6d04020afc6979b5769ba05a008fd8ade56500b23fb45e90d1edf0b586b0293e378d38eee4795593cae105b177f2fd14715abcf74e065e2921a8bb04d00324fb2c147c6b7fe9eb10ca5098167ac00914f5f8b0c1e02e286f22e2f7e8a3b590a7be49f1157cf988a78366f45e0959cb69e618c45f731a5b93eb99fac8b332b2f55bec36fba00969b38ad04ca8ee6d732b87459e29f3fb35b3dfc98cf03afe614a0206147be85da9b188369d5917ded9e27ace49d1bbc7e56642876722ef190c9ee5cfdcaa5f828b334c57e01114ad74ee2b3769f3a30c7558df7f9bccb4e527f713637acf3a3e6a7201943d9b64912a49c081ba791f82bc71f2ea30b6ab613c42cb7c8b3f413ae4ef54e27930e03e778ee8b6530d7c18900368ffa97f92ca23c38b331ed81db8ba522f0f85feb4d8cbef27ddf806ff46558859f012ec459759ccc8b9350b7bc47b55934e6beeedfc9cfccc783c029380664e19487fb14ca5d552c59554fbe42b3ca2255d2ec63c408472d78094696fa82cb702b74792c059e326192996da99b067ee2a6160fd19ebd4694c7ffc168ecd2b5f3178202a760bbe13e957f375e7671d9c654ce5cf49e21f503a9aa24245983246dc2dc7b29bec7f8e706ba4f6c78fd738cce7948c7fc802ee9796ecb66f297832e06ca9db9788544e678fa937568a02acab7a886f216775928f7b0b6f7d61f03cfbe1bae495629f1669156e5c1491aa853b0cd5820bb311956c5029bc5af9bce964e2145e6bc51bfedb8b914d9b795abfe49e936c02678a43e9d1909a6373e88d03a0e804864da15eefd408f1dd0f264f0112ddbddddff49b8b38f96e79f2aa8f609176858c89697408288280ebaf85136c329c85b26054595aedc44737f0176d056a12b8b6618eb6ea02e71e49dc0210e18ea562918b19ec32c96ea6777ad183cb1e93719c1db348e67710e7a092c76af84374e32a28af4404379003d81796ecb5a2b118a9ad7a185da2c79bfc778cd465071076ec78335c837868b183c0392be587df3644833e35e398c93ef86182af93fd5f42cf7434cf2219a3e4f9d339e06db4abd8fc47f266546c46ef6eb72a1af3d7700b401b003bb2f640bb3f44e83c6b45c94e2dbc9b116f2ada6c28ad3c3119106e04a2313d47280088693741ea6170adf3a60fd1dc9fdc7e64c8d11b7633cb6f24ca507464f554a242dc094238be5bda3548425a5ecf70213cc4cc55fa8ebdfe58f96c5c34dd31a4533abf836b1a27a84287db6a81677f75a644fa0fb5222daf2db190e5d3efd1ba7b2aecd0cbfb956b9b3513bf696682f891d400039114e930cfc9251a06237cfe52ca7d011df398789f842cb4e878abd368ce4f0d2b79bfe0dd19022722056108d724333993173a3e1e32c85e93bc8bdcd4bed76722c41d050b242832fe3cc5bbe46d122c7f1a5dd8b3516db60d5996d125912a513ae9f653fecafaf0e6450ac6ab3b5c83a7e2ea014e24fa6e69aebbf48fca1bda45c7f1c647e991c51acfdaf789e1e3f60f29107889a341974cc3e9947d3a6a3004793c8b39634a6af9c399c190b0a1c384167466ea451fde3603848ce276bb925635c5e36c7fb6ecdf9bac16aa0e6e1b920d3da21b467a7d25e1feac6a57782d5de0f6f9fa97d1dd53b292fa0f7c450bf0bfd260189d484f398c8fcee88d5431e6385ae49479393586d4b22bc5a48841737951e8053e9e8fd1a3335e64b0a3cb757a0b4b82be6ce6f2bc7a7e230e99e1fc5567d498d99d8b8c3053bf0eec37bb1f2e2be755f86e119d92d4ef23b8710cc89abaf55589240141391ea2ee0858ef1dc5e6fd5d48188a3eae8d3074757bf8ea2cf09fcde48c92c18addc3b777280dbd7d31a735531b9cce15228cc4da8201175ac729dcf26c5e9c48168a47fb213fe2c817c4e964a0e97d2470ff937380f3d5d4ccd9914d20668ec6089a4390d4c33408a494a2e296ae6634a9c19fbec63925aaecf1513bc6cc6ad7406f281f700b2fc558aeada129b66abe43564539b84653772f28407f4d29a58db17ae523f90b36423e3e4ad4af463a87d6424ac8f699408b4be1106094162fe518ede8dc53ef7c4d60cac7bd5262d837ba5cf746ae468e1868b42cc21b802b885c74739c4775db950a0381f3f481e0d0c3c8c6c72b693e2c985edd63dac8488dff5836e68567933d65bd1ad7642c17939cafe710987d74355866bbd80ff3fd45eb161f850720253fc2812ecdc760021771d4d7a36141f9aed5b958704be8d3f98dde7acaecdb2a460219538388ee9262fcc5097395e7e7096e656c710cc8ac1504adb83ba3c98622aac23227a1d733c7970b1aa55e9555d161a6d97b72742d5227adcc7d2a4eaabe94f08a68af43ecf130494878fb676693e75418d0006689f4b9a060c50c380f4a8535942693ad1bf0c1dd5246fa042f3f321050991c8f3ad8eba975b6132f53127a21f2eb28131e5f2792635fb935bb8fc715de71626eeb89a069214a49e45779ee96f9f96db9be1b42937ffd3ac9c4f2f06c9207d85d86be95f079eb840827c1b0bccc0cfe83ecf6c3e1dc08c0b55528ae59333ebcc9b97e74aab07be6009a79f662c30ed3dd776374e101da80831dfb043dcae66c903b89a936bc7bd1c763eebc15450991583c1d51da83898f28bf954a70e0b7c14558f03b80602ca11b15fd92cad1025cd390bc18655e1d2c2b8d378e4d6d083f57c4ac8157009c7c2aa2dc87b5b6872949dfc375c867d00f46cab0c89c0796c6a3ac717c26d76437462ac0e0cdc9f7d8845d538035755b1d573e96eec0d66f2d037be0f089a8a6551458b3014d7c1fbaa6710b10ce61485985d6f14896bcd84c4e64d0843eecb19f03af58a8b2053f7b791cf5c23ab37ccc4b71ff49fae2ce8540915d097332cc6c5006754c8d157c4eb0eaad3f5af47c773d43475108c294c835a0bae9a4fc0ddcb32a9c87d18cb8fcd250f981df48aa796705355711704177d218c25fc4d284048c4040adac7ba2aaa9aec62219e8de05a6a6bd7ab61e25067a9681d48eec1f7bdb5375a5e826facd7ba2b757857bbaaf0495f2ebb14e8c79046ed6b3f89a0e8414309f311d9e70dd70641106506b84fa780796ee7632c890df83e4c8d2a365c80ccdcbc633ee747bfb34b07f98d7841d6f41580754448b17ae43a713cba9728830d1738796be4445b70cccf63098ccfd64fe1c74c7b3f688dc8d9d81724853d03d153e7d7c8634305862f373a31fc9882baec786ea7e672ca8731f0ba76e3381d1a4388e89df3100717174de7a95d5f78be5186a2fa27b77c316320aaaec3ddfd38096227d9947fdf9c3cf35f900bb2b4283f17e2594e3873df43eb0bd85420fd04001d5eec0f463d71da559c5f747a90fc4cf75aa42466d9b9731f01bec597a4d357f123004b725939624e01ab4a055a11617c477f7f846a52bf86d36e53ef30ac6b4f523079c6452be535dba04c203cff382c61f53cfcf504cf3f94a70b429f44681f482f167777da9eb2412c2b99ffafb475dda1753fa5ad29013dfa6951507667cabb30f367c71a8ea356c286c54b5e8d605741b27c059805dda5f2ec561ab74632a4b8edccd74e5322132a00a86338f5bc1173047ba1b2563f62f646061ab6d634e2c48855abc8111fabc2ff3fadc49c9264d1bdd64042f51fa7a6f4e16fefa34423d61290a2633955eece5144049bda3b48d20d2c6fc680e3d6dde2b3894fda10042638303e5c5e93cbe0e3025a53fda9830b5ef14d974eba81f0834b72b079ced64347461838a19fd5d882fc81ea142b62e74e468552897852e773f4cf27704bea38fdc991ae061f9214bfe1b77c663df82c0e095c20ef0306e04d77669f9d1eca9bb518c8e39e6ea466dbeca77dd2f14653c9729704032ed86ba99d404c0f4f8451072a3d5e0ab5010ae2b0e5fbf6199be6ab27e2743a16b46bfeb172841643e20dd5561ca7bcabafc2d0b81b5319042d28e2b6b334b373a563aca31ecf819c90ca9c6dc775bc462fe7f86a5d40847215bb0f62253549da43461510b30cbd75cade5fe6d523cbda27911cc3ac15536a30d5e07ea8515d492ee9f5bcf46e6b63f81122218e6ea25ea38df43d23acdf80c760f35c5095f721e80486161dab5ab9776aba1a9afa84da165dc337625bbe138393a648208530b8a1bb33634d36b4ccdbf0f38496778782e2063ef176d4d66750880683d53c1a0640b16db38af7eabc63aa4ff9e0a6142d654049f3c317230e4382fb87c37668402c44b881f24a259a54a5104ce25739fbd4a8515ad9583905a733f38ad7a79bce8cb75fd81cfae8d1decb451882b7bdfd7843c864b9c6d93eb9823dee64b7f5ba53877ad480b3010ca65757ac3b7af451b6563dcf01418f3b188c51a5ded1120a584229fafc384d282675cd5af6275efd647442829f5add7141d403faed1c26b0e7b575a6955b97999b13f526f61c04512094f9c624978231de6952c8c8a0bb69d82827a90c37154aad094771dc41025af48e54dd739798aea31a46bd9b51c5ddf46ca9b6153984b37f8cbfcacc248b467b260889e820c35ffc29b35ed3390e5687c7a4defb23358da4600afccc975aa70d0f369f28921a7d677e2f329fa642e1a845782567426e37206d47b534295fc50e135c11976c1c38c549eb3b5d4c049c188d859633a0672cc28f30c7f86f26cbd5864fb78ad9bd92ae79779e21b08607fde687c54f158366c2e69b0f2355fc9b55b24e956bcc5f4e18b3401caccd5d64037c8614e3fd8d29f7a111768262d30e3d90608eae862264c3d356eeab7ca1fd4a9998bb277eab5bb3f088fe4db22e4a098d01ac210483fd95f2e35e80871bfcbd8201745106e1c291f971db3b5412b996554de161e83e94499fdc9c162c4d3d6c3ad21ffa2e8dabf26dde62b245f6ff469ad4922ea8927eb4c18a35a389b07bf527954a18aeac76d2cae7f59eff2b630202f2bc889a1617ea170b723742b09766046d56f2fda50c6f8f86c34bb43baf502fca8c0285589a1473059f5d1d5bacb922fc3155454f7bddae40ae990af118c4d954e22139d2943591148c42257126626833ab57744122abe4bf04ef70fc9e71b1059fea109aa76a82ec9c6c89e93a36ea70ac55ffff266cc424c3ebe71e6ed25bbdb172b10348840552b065c5b3e04553ea5a83a9b3851a0157c035e68ab9bcfebeee1c779f6af7a2502cf449599195bb62e30c4d00acd147386b1808f284fb106093969a8d59266b70ccc520a7b14cf8915511b3d4bb9c98ac04e0c1e10b7377191bf27c3676b2e315a3b21b7de7f199d60c47dbbc010cc848da79c276e5c983acfd03ce72a7c2dc38f5ca6e1991093a61079704160d44da4c5370bc800a91ece14d4f48908eb055a3d5c3a87f6b435ac3d83b5d82964bfbc27b499664d8d623cbffa2b14d1c95a3c057dfb3b921b88ce37ed3887e16488f22285d3c0161065ff87db8d781d796e6b988171a47e829c3d594a62b88b67ddc6f2bbabc8aedb8ff052340f9f37be1d3ee407a5fed9d87fb186b2a6cb31db0328fcf5e7a5d66e0b3929204f5a29670ff87014b2b77e5bfc701229b72208cb97c82cf4f675bd8f14200606b6d7769ab8b29f533b6b1696331ab1022fd91919340643ff1a63b575b8847b603128b672c5f428556b2efb156d779b5a8c6fd0668cb2e0fb50925ec1782e1284ac1f6d0be57e351a43ee03bf0ffc7b163079600de5d570d2d6e86c8121e493672a8acabf88478472cd58b3a38d1d971f2320f7a50bc01683709a4dba61643aa101609ed2fbd1185d0cf375c562f97071f9d97cfffe3010c7bf660522873bcfe41b896e0b0e7a83a867f3e6b0babbf6b7f869a32aa9d77726bf4d25084b9838b1be2dafc1c6d7e65db59a51e3f12f80dc79d3ef9e607511a416e2237b428f31647054b471c4b0ee5c24109742c63291b1c3182ba4e21b90ebc32fe576beb5cb0b20b1e2c559102d6270607f6143b8ed4416784333d548b493198053e5fdba06fdd5483a51525f864f4bdbde99a5af28b71ab91d76ac766250dd33bf1b44ca3f708441faf67ed3d0a876d85de8876d1953fd55a90f84d9a82139735264a3ec4486d00e3a09bef4cc13e316d5fe3179e1b5950ecc94260a8e19d7b4bffe402e364ff45f2d0e5a0956cd7c19785deead75f0a7554b012c7e5267a4d848e44e19264caa06d47c50973dfb0ecc5a66b4eb878dde9ba2960d942ca4e44a1b63a0b247fec15b0a25b1be71194d10089c29c0b6e01b258ddfa2dfc9ef6d6dc34d40e9bb4a6c8a091d196a0e03d1de93b011e7e28fd6048fc0af6a779cdd6e123a7ce067d04c475eebbc9165584ec97272c152903807c9d8b5ab8f57309775602c9a1627475d354cf50bb3c180d03dcad6d3a203cd9deeea4e0244e589ed3d3ff097d7097218bf1348ba11a99c0b08bbeb330e9c827b39eb8cd8164c674d5f99757b83cc4e5e4be7ab8bda52dc50daae3c77be6265e3bdb60210ff796d4c13ce27b1016ead86d6985065752b6e5ac5f13fde854219fa51e5d843ac02ec181b400bb4451254c4b6fd3be6e5637134abcf3d9a31f0f423ad2cd1ac0ccb0525f892e0ed5d3774babf74b445acdcf8cccc3ef876dba610bb8c35cfe666295768ddf348b4ffe591ffa704fddb3edb2ddd7376375602f85c674458254d0333e1dd8f77971ebd5cd1eff3dad15af25a123d4f9a3c67216d7abdea017a10607f450f5df903f7dc21e0a7ff16c5343d9e5fcfc8290900638f60b7469001e7d5dce704524493737066edef9c20671e8582c452cdfe8e2b97aadcee73ecf4222250634cb42b7e99133bc69122d915f7b23676d3ab5648d284d14a13580843d42b40d4612a6fd4e4cce8d0d74946d7cc27f0c9919cf6f4473d76bc8468f7fab9d203a67ae9ba41ff926cfe2e7d207aa575b22fada7dfa1fcb3714eaad30704d4d3aee3f273279366626ab42bb5b564390821ad012791db1f4698a56e6a97355eb6f82bc3f1bed86836a97dc207f802012887d8d109c3d94cc48f1dd5425b32595c5f6417cf45f428de091d694aaf4c1c5b3af4b306663ba755ec12fadb281436827501879d599598c7d5babf94086d52e8eec37161e0057fe7d7890bbba1a698397d41cf4da304e1897d8bdb79db032420555c8440e7d222b8c017e0c81c817ca847722337cb05cec3b7a01941ae4bdf74f131628fbb01cfdb9be94cdcfee8c2fe68fccb727b05e273b4bc1eacd38ee45bb904880cbbfc5dbf735ab14fea590cca3445506802a4e75ac1c02e91b2a4e4fe966ec3d0497cb44fb604addb8d2e01ed1e00c4ed3075637409aa028fa9dd7996f6f1d3cdbd173ffbe3742e7c1124275dd35de981aecdd280c7f4c9236c0f47ef0cfd83c481be0a77076b8c4dd3f483b052fdacdc252f6c15b9cde8e0c41efda1587a0ae2437f21c3051c23a1b0f80d6edd9cb000ab9a2e26baa8ec96ebd08e07e3d19a84ddc9e86b65f695829ff825e869b438a709f0cae8346c35cb10b9848590ea08a35ce921679c72006d60f76c270b7f421e83df341017c8b3fa000d4d873b51518a45be4d136b1956ebb2c9ecbf6944a0edd42e3d96046333ec7715015a476bdc45240bf4eeea83c1f5496edd3f684b247d039b5b95ba899f54ef7941a0e35715a609a3fb1ce61813e7ed4da1c80b976cc6d801d88c7ff6c8f12b987ed82a1513edb50dd24fbe3953e750ec39866f3ecaeb2ca5fc755e786bb41725e7aaa5a743122550dd5f805c8320265a408aeb857a31dc2423c01d04dd4f815d27e8921aa459e06c1a1ad47baa2861fb7b271c984459d669067529d308c785c5f891d98eb090e5738e2280379c87107eb2930bb599079eb2182d63ee6e246b279ec1dc33456ff7946b3ce7c9051ff1d29b08fa5818c70a2a5ec53182e6e6a0e3816e758aa2e8a957421179926da9939e69c5005aff522b312416b87eb2d4b4da3c4e9bd3268c75ae4484c2b650a2fff8c80a47358570d8d6387a117436d9ef347444c92aa498fcbc927969ed758ae65d8fe84a280c0134c0c9a1fe46c58a868bbe7f001f7c68c7122e820f9ec59dd9c8fa940fa35bab5c1dae853811ca43c8e62f378ff2342d3d335bef62a8e5ae2809a71a968fd2fa195e3ebc8dd2f83eb158bee0620164f43c45621495292573964ac0f052208e43b9efc37fdb30956e545106808e01b2b26acc10a8a02ef352b18e07f711c39afa521b0598871b7f7ae6a6fa865923e280790afb20de8e803a6e7e0734bdcd09c562a5f86877f8c50b4edaf7df932f4e55315079de25239a5ff110c2045959c7cf563f6c34532d0faa302487ba9758644276d56302f78c2745e4f3d11ac8e11d603a9842605838e07d33a544ae637f21999358c7cf655a2d236dc0f7013cccd45c177f3ca42da66b2db904391a034431ea77e5efb87661ff6f6baf1d476623459b0b723c6b931a55397beb9220ec53745a3cf05bed7c9c79f656299116036d90cf8d9e575be554a16c71b6c1c94e2dcdadcdc505e5742c637d23fa04b7876ae4dca1387ade713e9860ebfa120c4e1b8f34babcc5bbf482a552a08b69ccae0704dfcdf8aab33295a0059761dba1048b1404518c1c0e4dbff6d64b6d3f23a51797bd3f7523f686f5519106c1c2cea8e522b9112bf6697c94cbfd3e8afa66001fec3b607999e791db2f583fd2c888c23d2a931684910ccba4fb8a72f922692b6b96d4e258f2236c6779aab9352264a9c2385cae82b2226314f04ae3a35ec81400f5cd9d6e6633f7068128d8895ff48b438e513560ba3ba20b54de78dfefab355bfa4793d7da0067d2874be257cf3ef19f8f66b758a478b4e78ed8dcf9ac781d72b82a1766210574d4322fe1447218dedaa2d5cdaf6894e18e827fa51e11720f1ea6789c020814c304a4562731ce335bcb70efbd96b1a04e73abcff927d1719651d1ff5b807177a5fd77763afb692efdb795b07758d95949cbc8b7d50af98c62d7841675fa201f6f1a62dfa9714d89f28d148e279a38248b16a283bcb975d4fc4a1bfbfefcae566895110cde38dda18fe932a8d1cca1bd0fcca06f9106c1e2b8983a2e1f92fc0d3dc357a3622942ba11dcfa6b0c16b10629eb79579729c9b88c3a6137a41f26b39be85da8a5c9692bb43edec2338f86d4c5966a5be39542d3c86ab668e19dfdca7d9e09afde555c6a7408aa32171f192e282cc4f7296dc7a98d1b99a0c93365663f001fa298ec2e5a6c19a6221812673e088737720652afb8bb22f51447c11ef94c05c7ae6281c81e63278d2e4460cd773b17760dc5ea43370fbfa5cd38b032efa5b974dfdf40ce296675ede434dfa612327b7900ce206c79509448423db889db1ca946b7f8824ec26ba13a323ed5e3f48651e7a0fa8f9142e946288a26034ef2b14b70912cf387388dfc5acea7a18c8b9a4b75280d48b3d4d067289154908b3533e52ef0ed55781cf0cf350b58b1a21a24310ae3a1f245da4dcc113b4cee5f3a100baec5781937c55565dd4a2d313c2fabbdd75c61442e05570362ff2733a7c4886e9a87f019b5aa19bc6261447ecd2c7851516f0df01123ba9562fe4f752591bd8060ae5ee5f98282ad57754034ccb67b2ca84467bbd57c2b918d24ee2dcc6849f97dc4e6d596ed4c268fe4c31f188639f218080c00b94631b1a907aa7494beccaae2db91132e67cf69e31b4b1c9c9ef8ae9da254c94a9af11db0356dcba720e9063110d2114c08995a02535165d8a9528cde14a4d253165214f266491426ec111c29c955d6e371d309ed10a9e2224894e4a5b5d3f7e506bf50267f62657be2b0088059d6afa3ad9e06117bc848514c76b150874be36ec96e050f4882534f7722905689555fa598c9514f6ec4aab9def42ac08f8130c9ae85369b5b50a8ee819ab215aa1033003243dd0285e7fd1d1fe3643377cb0de140e45951273a59091e0bd6a0577a398850309f3a462b48f8c23f3463ece814a59945f12fb5c530c4ce5d4e1a9a7eb34daba18bb5858f78181be921eb26a1776f4b83288dc8d8503129bf4f19aaf14d0a9a48412237c209d3db7cda0cd23d71f41350c25166888fe32523ce0e51d911b697b54478bbc74ce9ca67189835211ef4ce56d3f8b3fdb4478153e3b622054c75b645139d49bbb93517af26540599c1f384933a1776e0237d7965efe8a8afd790172ca05bf1cab72efdfa0bd4b661bbcc6d3f073eced25fa722850bc6f8bb8aa7a613876bde82055edbab61443279b60d1463e736690d293900a66d157afd726a29c686ce2bbb369cda708c14900af40725cf561594e3a0f1ed7571d87f8cae40ceeb76164d961a8b337cb1287ac4edf0e61800d52e5996dc68a480906d763782cf0a8e1cbfc2b632f2e0ee93394d3fe877acd1cbc06afdcb72db3311101b3a19362c3dfdc209d532e6da400fb1dab505c5256d89f253d6e1e086907661fefe2bd6f9fbc95e8c324e66964c312ba0973aec4a90b3ee9eeedb53700c5ab59647d0541a9586c4ce2865f588e2a5ce3932f2fb353dfb80036f2c65d319f5ab972b0325500bea8e93721ab00dc7ff86207a36eb426c5de0f611231b65156ecea1f74cb14575ba0b937ea9c68e3441162f8463aa21d51d7cbcd402b7b5708eac5f7f82d80856d49470b0f97de8418b05f61af03c46ff030685e2cb1e9508162fd112028047c23def0ec0e88ac0911b655793ebf65886f1722796b3a495c9b2f894d0dc32b98f1d3a7fb8b97f9fba19b9f5ec17b70cbd3cee1a5bc47d978dcf8eed5ed30a5565b958242e2b0297af08c54f7c99f4da23294362683508778285a75f4999067c05cce732c23114338bf1d05ead35358cb33d16b53df8657e2a3468a03164bab75abf880ed05424df15dbcb70d88f974de3236471d9ba2d425aa37e7d7b2d278ea02e6ba6a78ba4e8dfc44b3d178b595d35e03c18c1cc187852e00ec9fc58d8ca35fbe9172cadf527c8418247c195fc932c9ef3260a933de133607abdc224c3562821c51b4f7010c0b59cdc8f4fe3922b24cccb314acc87549eb8a7a7e19d3f3acffe28361ae9c9cb2c214fef180ff3d23f41700f591debabde38f792bdee55a4f1c57aa48d8fdd5c95fa4359cf61fe0e753b98cfda6119aa3a8964231e11154b9f557a7ba221c9af1b2b06c894a152ebe8edfd2b233e20a2de3f7a8c3a0226eb425dea306f66f53726bc7e4a8082ed39d4485db0e2f7eeb4663c9395831fb9effbbddacc1db9e7a05970944292f71e0b32ef67e76f46cf386cd58b5bdefcf286f912323d83d35b4e5a5fcc14ad1b057b5243165ab838777361761202daf3f2ed772186852294a43536e0f7de13f1f4e159d5fc52a8263314230964b571267392097f12fe7f001dc120a2fd072a65b5e8f9ed2fe87a8ab93cedf62a238fed01450d78c0ad122007b84ae853baf718161a99a7c9029c3685ef0fdce4d03e426bb1e1b29b6c7963d66d6b5610577b7c762577760e7189d286530c104b7ed73fe25a3b8933355197e18c61054e81f2fa3401556d284f896e55bc9049298462bfcec01c1a6dcaa7d5f674881173c3c4ca74523931fa290b91e8ce1bf4f3e6d72ae400e7462a5da8ea2838b2d4fe1316c5e47bd6298b3d924243557a350e21a03c54632ef50b954fef4754ca213ca4bdbd429b3ffbf383d2b6a32b7357b31568269d9dc4a8a043344d11f5d0b7f825bcc32dcc90846c5f000c18d5ee36b14b42251525437ac7efc85a02f446a64c2e39e0937617d25249e581e82e57a62a807663f7902c265e089fa2a2b950807d32e0ce4dfcad0bfb261fbe73c01701281b6928740d8947e2229f1fd0a83b3045e5f6e2fdb961ba8600b7031bcaf30cce86020b84adbd439270b86c42547c630f07343a78af1fd18daee2f6a1e3bf3bdda5d794efdfc8057bb4d9a8267aa2d06ebeabc8438bbc55f23f881fd7b59984007dff97078d7e5cdfb07ded4687310f8f636e7528038295d3e139fc7cbf7d7848b3026b312892607e1c6e34e00853e405cec310eed3580c18d0aed4da428111e8029aa4c5806aa791f66fbbe2df0a3702dd10a2f69d8de425622d3d17ebaafb116005dd3cdcba554247459c732456aff959260a73e0d474f55100f9f6542f936e6b1b12dd467f5765cae64f24488b9d800e09a4059e8e39d390f6649baa6a66d41db1768372c55841c71808f8c2e0962271c06481971cee8597237a99f3eccc0f76559c2f845daaf44448db0cac2434688a205efecfd94e0e7c33b67dc487bc314bd2fc684e0a8e6c7675523c4f4ec100a10566d0d1a48d79b86e899ed9e9ad5c8be23b920038321ebc1ab28d8d62f840fd996193c5a571c288cddd6a5d2479739dfa648c9292bb5a9cd3ccf68d2a81c7c7b0f70f4fc97204d568c196c876542f93ed9ec17a09c8a313fd050ee979c1f365315b85da8e24e2753cfec4cada25fe25c96cdaa7e0722650a07935b632ffcea548870f0432cbc64139b035936d2185807448c6ddd06a72064f6c56b99b678e7774306208f3a867ecd33613d90d6d7784d7910e2aeafd9ff8c1e34c0aa4ad1df495063582f8de1256dc98f4ba02fb66dd1da9e39de856e536489a1bc4bbd4c73dedac652c037ea37dabf837471e5d3ba5ac1991c440d01adcc361d0c0c7d6caef05308835d7636ccdbd6ad39ed195bc45b2d6413f2fc86678133a5971caf480b4815d576ce6cf3ca007f4fa339f4cf41e3ddc13ba1aa4e45a7e6502b31433d1cd9f0574c4666390c1875e7b065667c31d12dd1c27cb35fb6934ca684ff5ebd49e4cc636ac58a1a492c77f51e4586c6ae3d965489aa9e8e84749ee5534d5cf50c9d949759b40cff03844ede687a88324fe4957302d6b1af49e48cbe9b88ef0e7f80256414d0ff80cba922a0a39fec1419c11a179d22b2cdac33f02222949607b48da36256461104d8992bd5a866bd41f8d155d08facc9e281433816fbfc760e4412358d4c46cef3f7c693dbbb1c11d9baa1dc61639463f772dab22ef2ecf8708dbbae14af6a0efaa70af8e56f719fc6862373901b44260165ddb805c6a285116eb445877a0f520972d6d0357c8defeffbb47202a049548769456a11b818bd51a44bbd69486c02045b8de94bc60c6da0682ef480a8420fecd23f99548ff33b28b719ec22181cc1c809d8e3daba3488c03a67d10b7a57f488a3a52c66b7170b20d8e219e7c6c2875118069e39a8ea0683ec7f0a7aedac283d90d2fd41cb82c2c5056da4884eea4617c7f6eaa5707443a624071fe968cbb31255efa44cdf2c2d556a2ed52a836eef27119eee0fb782cb39382ca21102507b27f6185247734c97e232091c6e863f4af9be497f95315f7a8ec965d601a6e884eaeea1897eae7a080f0d1cadcb0dd603b7dbbcc155e1426a16f1b9481edd035fb976221cbed3f582e267c0a76d11c7816572d206088ac30aaf128c9f165110bd5f94bbaced74c24ac99ddead4b64e02eee16ee32f20758e3249e276b2fb05d8426aa9ca05f8b82a3a93a89fe0b39709490a21cc529461537ee709e41c0a7a079aa13c96829dd6091d30cd71ec4b80a3eb4b91284a0449adb628426379584a98c37bd9ccdb53c7718b5f3f7ea820567a20dfb987da8bf1bbdf678721b86d6dd4815a6751b0ef0920f972ba7c0e5293abf1774632e1466ac8dddc82fb5af3f9610a664164f03c5996cb7fd5557e9dc16fcfd8fd827ec6b1c2efb6ba2dd78825fff9d60793d3f7ca112b6f8c64bd1a67fc3464a012605fa71f212b843ba3e20e794cee2195444915cf217c7da95d449e8e1de63415f2b34d44af84bc25b81a94bc934538e632270a534c49de6e2dbcbf2e17000777f2b6a42b0c320f84b5c76ba738fdb36c240671b510b138d6b45f73f35721a5fb9af7b4da48b9ec0f522f3bf250cd2f2a2c0e65ef93f690a161c583e2e50171f78fcffbcfe89d380f8773e0ef725c22d97267633dbbbc9979ff09d3650f07af91a4fe0c90735cdae3fef7bf77970d6d4acae58efe3631298eecd17a0044e74cfaaa9435b3a8f43ee0b00cba4cbafac8f95b0649e42c2934914ecd8056e6e865b2ea071565b958a2e23c33792ae0157171d9c28cbf0cdb55a61fbe1982b07262bb6fb660e169c6244be13c9d3ca2fbe1ba501586a7dcd6cb286c78773c1f65f215272144e45f0aaf8d5585af85e382ea06173242b09ef6a5e9c317b83b58f69aeabe56ac99343565d1d23dcc33f8d74f5ebf7ac3011d9bc147eabdb2a71c70c3291f771ff8a29eeab6f7d4f456d5f8643a9cdea918d1a8d0589f55792e06ff5dc7b8cd2015780ee1bf24d42a1c53e65104e8e09cd2dd709ca5dfc7e0656dea1dd7dfc73bee5ef30310636956e221d31175fa089da730a9b0edb944dbb4d4a8005e12aeb41ec64869fe8367d67fe5951dca848c3030e915b4f3b0f0828d338fbc56253489f0e9c22b9834c288c89efdd7e24ab48e04b1582d97dcc596753681f5175890652f103b2293fe6283e8dbe032cc156248abe25ddee7c4857b838d9acdfbb4fc0c504ef8ff421770ca47885bf19c35c8e561f4520e9826d06f0bf1f3c59910de26ad2c94faf32ccba6f91db4ba7b2c5d163829e99fc990f7ad46e72f8a63b4b20a689043a0a1dd2a2be24ed1bc18bceeb16ee6e9faac5e5bd3859062abe2c5981f086e12960547e5c803ee11a49e8a0b9b77849d15901e6ea38cafbc84e790ed01be2c5450eaf230fd2db95b6ac778bfc91e943026b308dedbeb9bb5902377b2a5a62403567a0f16b4d075c373423cf2e7412859ebe10da0f4c477ae18ef88ed47ee537b4120ffa1724d8735feb1b80a6f93bd76075a6f2a5cf69e843c6006b85ee7481a7bb3d922a4abb5a3d515b13ab169ed1bb1d9d80d09d216a1c715af6f8aa4d505f55d32031bffcddee44a202049ee42d150f2bdee0e118c2970aba5c55137a1c85fd588f8f596c4d7c3025ea8910cd6cfed6f479b55d440b4d68d31ee0a5291b236af03daad7fafeb0c8e0d51f282f4b5dd6a21331752695750e850dd56f38a7a39dfa224bbfe1b3a676caab0bbf61784dd1c9f08927e24b99e7e0ed7f53157762354db2a67c052b84a000d2d1bb1ac4a2f3173e81546fb6bd282eb56b9eeb513558a3084df5b78d985eced5b4055b139021b711e812429de22be5a19c1fbd9ce9a9a0301f060e0696d985d99ec778ae9b3ab875164ed17e4ad9428996d187577f13ee5c46c210cfe491f73dd2dcd1e485831e7edf60b0be67589bbc13c08c0e63b709cececc1400df06d43f76d70edef6bc4601ada2e1151f8e1870caef0a59550f386681531971db90cb65077296d1cf0e68447da06642b4beb228f0da3e07ac685340f7c4fccac8132477bd367b696eac6720d9a4871cc1044bef2b6e7aa5e710160cebd9fd119c1fad19d78d288656b242bbed93f8b90bf9a6be8e90c133055acefcc6961342f57e38f70a793ee99d1bbe1cde2a17f463a397655a1740f7979f81e74cc48156eefaa988c1a508c0dc82819c7f4d125656d773dc9c4ac09162238165f91dad0037bfe090e8c89144b6456f911950c7c3cffa9ea0df1c2bf9afd03dc5a9e73d1b80a25ad9ca7f8095e3163bb82c587a7a05c6c49dc951959cf8f611040488ff9eb82a073d48de6699c27ba4c0386db4af3548ab83f63487f16d76e5bc8f9e65989ecb323b34a8fb81711ebfd0975f0c72e40ff12622f80486cf3957e1c270d9dbb1d0e211b93d587dca6c1c92b2536c5a675bd9e4cc2ce61f5f3e2ccf387efe9161ec463771c58b661c3b3eadf40679256fb477249d0de12e87ab1b6f157c594d3bcb379aca895108c497f88087b81a2212a5e55d81d27623e68922aaa80875ed30915f62abfae2247a85860e2656e0558d685a9f98e10cec39c4b6524756a923de6ec2e1de92985465de2059e3d10d5cee4abd6887f5fd2c7d397c81b9d30cb6132eaaef1b131830543e55f7c536fd7b9435a7148ba119026565ff9340ecfdd8b70e15e762794828e6aed6ed2c8937c3540163b287896607b268844dc9811f8c906b7d35f8a0041745f56af77a2ca02eb34e653fa4cb782dcf4482c9642f5789eb3c602509e610eb460530aa7de93b24563bf26e9a215185616ffe00cf8b9051b61661cb36c547bf45adece997970c6b7a37663d219ce680b39e18d8d61b704f39a4274fe6f72d46b67189465860c6be68ab0eba5e0f3425be7a1f6e465a5bbbdf85fd647e2767a19a42adec8237c75bf4a1532b6352a24943cc1165820cd2a28bfc597105e4ab6a00d72dd30fe51640eae66f50ac27562e55ac077adbf3585bcd3ae03b196594701e9a2a7398679238d497146bd2edb4b27d0bc6bd4666428b3290cd5178a2a245576e0010e614fda89f77ef9f6fbf1705eacb2eca6a548a39bb5c02715d129826cb5710c4419ab1dc69b1bae38bf94ba185b85ae85a61e920b28e102e565f7d14fe5382dfb4e24a52d2510da6621838dbd1783442e9dfd9323c30b90cd4f0745e8fc60c49adb7f45167fc240baf6dd4a767b2c4f4a2d4e2c6255855fd231a4552a84a69277b4793a064e802e485f81410f406b231cf93d6b97540d036319faa8538d261c26f3e730ae1d0f0fd08ded37672398a7ecc30d403ae58f269d6afdee014d5610f866cd0c2f584f6f48f2debced9f001c2dc399e099c169ff44b368434064b11a7c3c48dfdb4ad9b1c9db0404b3427b13b0d338176a9ea15ce19a4d68ddab5f1b39754e3fe3204ca63f6c233421dabc8f6d26da2a0543664fc51844eddf10b942b893d4bba0616978c0efe5cfbaa2d2e20c66bada2f67bd7b115c9bb0e65f9d8c17b7c355dc32da3b2e07ad6f80ac2fda7813e6e215b2cc259982cf3ec7e3dfb02baa9eca7a383445e2057cdeaabf7d504b06162f32077b26a0d2e907b62c4738c0fdb7a8a69e7d65f1cef31cf359f3c0099b6824ff6fb8b7911d0d5522d4632246e1fce31a2e49f7bc63fae5cb7845ff4c2bb3102072b0b0195f3208eaf00740dc647e5821cfad3e79d5d9b9e43c23b0da59c5138cd03ab318a955d4d22962c813f1d7e66ab72a4c9523ab5ef2a145c354ff40fb1d4c6f3cf2ced64b292f879a1a7d5e076ff7412b6342f566937053d656109a21bb27dffa30f8c9f39c9f04d2b96f89d16dd5d563bb364f6bf3b2b62522a62826aac86dba635b8fb64b11eff9d70c5c38d0c7bff9f8ec127300099b057beb2384aaf6827748888d6855e89338838b625c773689b6f53d85044c5da654e440d66a4345ccfaa24a02137b60f285c2d439961cb5e0591d513634797e302addf9e2050a73248cca428c440e87b136f97250614590279ec801913da2419170edfd2fc763da5eb436b3b1896c8465f2cca721947c23052719d217b85032b3d06ce9981d5a800218523040bbedf8ea374d584cc2bce91745f745da9d0cac4c259b1dee549e75800ec30bcd1e8c284142ad6e2083d24924d1057e47de8ae5334709047f4cbeef87da144830f1cd529f59766525c78a07c6b13d9786f1caed2c30f226f4e73165f5786f2477ba724cd3f8185d4083107d88b2773bcf3c15755e65fe8f834a1aa5ae1e0f884581a87f3aee2dd59eaaadfd60f8669f523324eb720ba47a1e030b6264da86132d4ec43f836682441b39e31d96fba7a73f08f8494c7421dc727cbf62a108a4d3de07cc4fcdca47d662b10586674455c4ce74f964ea2afc25b08cf0928d46e75d33a50a78e2f6b08b798ba97f07741aefd0a93873ec50da7c701c4f5e640e68696154bfce28ecdd632e4ab20c6c2afe198c4c25d6d07b2162095c3234545fbcc053789966968090328558d790f358d1e13b2cf6dc0d3e5e196b821038bf7ed50ed4e871c5a721a8f3b9b4c59999f460cad31b779f5bb065e73de0b1c7b67f28449dbfea8eee46a439023752e5a691c013bd6f60ab1edaa946143e0dcbdb515fe86da0dfc999c88f57d85369c8f149cc342ceb99d57cf52cc183a01f6968fcb315cfb20af27e6b77e2dcb92ed5087d069b81c77d1be8ac9c7341910d6a514a766e215dcb40a22562e4bb905951817ffe33070d03cf5df16fc46b464102e665641231d7322ddee352ad45016d4d2f54ed084bf72c9b5552af0a07c95311b9835e5f2d413600587349e433e8d2a45d2cb45fb9332784972eb0403f52657b520eb1b266d4a8151c9277c9ce996aaffa559b093e77ed4d796b7fe7fb81bbe0d09726e12655af45b8bbb4b348e766a5234e2de423dd1d5e89773c80d6f5f1350acada268f124b4b457c465a5d031fa5131898e61e06d33ea948e72ef2df9ef5c6b9ddeeeccc9e76729d0f8d17eeceb3f5a67c4ebe5c5210df9906997ea6427d8bdc12c938dfd84a18ee7e6f43646e58f7b64578c2271f800aea937251ed01f74d871329bc2baae08394674655d7d08192ce0cb81305e12b55f2cc56368a0bb9cc6daae64e186073449cc0c02114b9d0781939de0b6647cf837c3cd0aaa7ca27fea021a787ede15614e1eb1e60efc64fd8e2f5617e75acc3e503b2d2b6dafccd0b91cc5d21b4d1cefaec5c9c641b9a7f7503a3d3b8f13f823aa455d17f79272bc4d23d20ecd4718df18c5eba2e7e60c97fa13aff7f8a19fedc39b2b4d43133228452c410f63ab60dbe97294cc423fd52249229369db0c829179223a45f639d25a1ca7f4111659f38e70fbde87fea4c4f57b214c6195b38f97706d46c8ecbec193068bf7dbbb21810930c282694a184ab212e8cbd0e156a80924ba776b1431a146326cd09c78034762c71094431748f3e7f50527ef3d7c159aa90f21dc1fb9deafee671a2c55a7efe890415b5d0cf0bf2f41e9ae878f0c00e6858b4a9ba316c444919f23da78fbab924f9fa22e4582112109d2fe82b37e2d0cd5d87763cbe9236913b1e92b9fe82643523eb0b60f0d775c8e83f706a2f451f579f5196496317ca4ec3d4767b1a54a090ee256e97ea2fab5b18a9b91c605fb6372de6651bdde03bc50dd91cadeb3add9a9d28ea6e67e2de9023b173eb37bdfce3a549972c8e505658e32ff509f8dc8d41c985a5014062b7d03cf57ae032bfbe291617c787e1b86176d8f34a34d76d23317b552c6a25cd46b7817e45df83b35b6e5a55dc385a28a3d336004e6a703e8ce76a0614195b3b8a1518ccb4f120a559ea3900297c42e41162879836de107337f370db79cb0ce49b0d1dc5c2051dccad3d39ab47486b0687ea978fb3402254ac28a9b412074ac2b270fb4010f70c5e17708f7f04b9aa55583ffc10f1be2a795d9693b978b7cb421df590daceb19d22c18f8e8ff4273e3a22f91a2adb726be1ac498dd2069d00b3b61504ce99f1a4781723f84ee98bb0fe937f730bec1cbe956e8653fd3c51a3e6beb052b4e259317f7682c02a8abdcb1ddc76ba20b79f6d7ff826a9935068c393b132daf3efec036739fcbe221f5988726da6e8dfaf572e530d7faeef7b3938a6e023b7bb7a41b80d9fa441928db078f74515509e39b79bccd9c04ddaa8979e69d94a3ff8e7e33a6457ff8e0ba84a846f5204267268b4bd6f35ad4fb072ed59647831e755d99372b51b730f9c3de1f40b8ecd1cfaff09d61626ed6cdfe783b84b92bb66daa2e9fcb672e3bca4b53acd3d95aeda6d8513de2574aa7555d90b982bb177b6e8a3b8ed9f42db262a1d103524cb67aec606c509ed08e630b87a96152360b7bc99db00f342165f075e1bbf04ef07023f49452d5162fc4dee6bc61ea3e1b296101dacd513c2f53c3ddd7d478b8ad1b765e078c30e417f82033f5870b4d0d0a9d801d31a268e3313e30640665d9abf3957d643a3cce65bd8e7ff320229e7cb81622dc6f387454facadaad2185b86f3ff1e696a438caf21cf290f55c7e9d4a0f5f9e7e58545db54f9dbeb42ecf05b2ff40011098b1aeae399ba6cf23dff367dfb6001c4722e35088fdcdb559c0c4d8b0641bc14af5452a1f200e877cf5a7845a40dec66ab61cef3d416aca190ca7008dd4e68c0a6cc00eee1025d81c1f77ee35b86bc1d677049027de4dda98ea992882de64792cdaae0c49c991fb35828c71e92525f770f462231182f19f914aa237d3e6bfd1d6cb02f06e7d2833fcd3b5b8e350548c2c5f33cf1dfdfae178ccc355c952164330f9f334b55889cac99cc6548acc19fa3b90e4dd874e29375bccd1b77029087c467512028ca006a3411b00176d90b76125906b667ae4d703f141ad6fa0bc4d391e0f2215c39f1cc805a878e03a403ac6d1d6a98ee6cfc5906820d97fa71516c8b32245c9e88b7eac011174c2a2604d472ed3b46356193344698bef0906de3a91216803688612aa2d7ffaf4fad8e67a53bd0be9b9a9a5882ba28797eaf4f11954f4558dee9624f72416b21011bff7f808956b554f92a2d0a65170374165b66bb76bb2577a23e62e4b7ff57db43c5c087122ca5d967488233d4357d1ce3d526f863708f2387acc8c94bc1575152f7ff9c13dc29583b0be3835cb658e9445ade098a87ec25c60229bbc7aebef875796081629473197257dd17cf56cadb5e553c190782ece5e95dd9eec37f6e865545d390d01eb3df338cc96ce3a2b5baca168de1aa93a6f549875f6cc8b6b37b82444860eb5c0e5c8c658787a5d48ef29c822c43964f6f00935f6df47e33990b399d000cdebb46f1a1f29a6ded176a507be662e1b98e110020caf55ba67491703d8c2166b01a2c84e867c60dd03325a8900b88fbaf1956f36976629ab2856a487f9c009ad9f5d5c0bfb383bae0a6048d926c91b5b4687104076ee2b2392deaca93972cf6634dfcbef6345635245657c10035bf20200dee22dcfdf9c6fe8da3508c6ef19bbf878e713e2b490063c6b02a6fc7ae5476b6c9e5a181ae3cad19286091133ab8ba519f174d21b84c538957033f1dd2b7e26eb0af5cc15b215ff36399a59b9d3cfe4c6c15ba3ba98186c95c7d5134af20b123e172ad9d676a43bbf9741fe4ca00353c3eda4d88ea5cb2131f58dcaf6c68926c735bb98707d5a9191b0c20f4b9af4b5370476722af257746622a64d540424b15e36780b8d74bbd0f69be4294447526ee84b0d7feff44a243bb0e38be540269c279b16f6ff0238c10f9e9d9d0dd06fa38121e5867641d81e1f23385a3d6337a1db6bee08929d011afad9aeffcc53485225d68802abb87ddd86924c895eafb34c4565e0ed259e54a5e2a4cf9e2754816b539ec7c87d3e2aefb54b0d319653f6631b9d23bd4b9d66b1eb6957c5ea28f387fc5f05169006c529d19e810adb94e60ba216f20bc35cae8b5c9375ba14aeb5a533bb6251bac138aa5b733263a6fd253885ba4777138f46d0d28ce7302811fcb31091e7d7fb69ecb778974bb5896803ae9701b4dc19508ba5548ceaec3774fccbd4a07fad6c704079b2a551a24be56a5705611f1c92d6da44dbf49bdd3d758d80cd16a574ad199f5c6c21f47e72896c90ce201eaf05579fba9cb5c6872f4dd54c610dc539edacd60558ad7d87d78d3c2fbe08f0c02f59831a7c9a4ac97ce310a52004be5e56bd7bf91fc905ee8091446da79ebc682cef2a79029bd7ba361734d596cf23d7fc9006a79f01c8b29f63e21778ab5e6cc63f71a65fe7fe2546778b714b907b8ff2cc804a35465f4e4559410dc237e4eae0b7cc697a50ce58381d2fdbc71f3045796e0411d052cb348250e6e30f90748279ea0998a45302c8292c7374c1cb3a490c10766cdc6a7cf71a9655a2224798a6fe8b32477743d2f6e173241117d93a5cbe9eba5047c905c011125aa6b653b0bdfd5b41dc26c004d571432dcb7ef934637869e40b5e43f011c1113a9a571ebe78501de356764332b35341eaed78c08cf65e2c1c0a387a54e8dd997ad20afbb7a16013a2dba7473a0ec0e9b23be33b3bef092c9a32f5b82530063b707fbb661223c70e757222b1cdd3479d6d35070734dfa432a87ed91b177e24a5a1f039e7bba511003f127c775579ba2fb7393903b1b4d03d48648a014dc5d5831fb544590a3493bd00ede02ee2fc62c93094c2e7dac4843b8a44ada86042911c27936190db5f1f31c89c94140ef457d2fbdb6c05f2f4b43c265cc714f4d98988929e1d7e58cf32ed5817e5e34df5dccdf4361144af69abf6274fcc1d9f78f10a1520ee9a1ca72dfbad36647875361f84a3e5b01a1e0594c5b41fe14f4df40401f0a6cc17cd2d722af2522670a12d9c136acabb868839a534d1e70f810abf2c83a8997f3e201a7d11d37aea70201e92297ce313709a724fedfefd883636eb94d41a91895c914da2c39878baaaabd90857c96a43002dc65f1afadc9b3057af61fec12bde9ade0e21bcd6b8790e1e37871031389bbd6e2afb61685dd00167d8a15fda9f479cd5011dba2c7f850ecc8c3f51d35e03678ffacdfe4a0b14de3bb4f6925c3633ebc4f987ed24ad4f47013a1b8336a73ced7e7ab7f77479e6f663b32a637c4ac97132592872d0f0cd0b72f9dc3539fd0a03493f11a476274b71b92a8ded1c343fa5013b56399f06ad9f0b10cb9da3c9c42abc12b2757d73f8db8325038949c249a981e50624bc608f2601336f961c6e79b9693990f2fcb1f0e5d9516ea8929d4ca8c391f97493e6adf8508d8fa75503529dfb281dc46d7ef6b6ed2c6427a81241fabdf2daea480b580d975397e8b373ce4b8c3d043c6799ad535e777ac3eaa34235a544a96920283925c7b395ed27234929d050367cb19722d2131b5ebc3fe3c2b4e4a8f7e4545ced1fcd1b665177e35e4534caf882136bad8378e929dde1690dfe7226833ba1f9d9177590ac599d8e0be3fe07da2892a742f42b2efca95607797a2324daf6f5182e4a85fd6234229d5864cfc38fc2bbf09df53f277f081f24c4cfb382205fee34b7e44ed01fb3d0c3ebc0d41f66e30912b102c099153411d7d99164c855e58c9e39f83f07323eab3509da75e95af765064028d8f9b992f16771f177015a17c1908022be05c0d4403503a0f16fc8f6c984c58bf5e1c709e3dc3aa5c7b1a2fb2cdfb55f48aa4b2f36790cda0f8549268e983ebf45e0f1ea9e8512cffd4d6511434cdd68faccd5af259f26aa1e3940e72bd5217f962393d799578053a95b9a51b360b4bb67ba9b21da37f0ee679b4dc3a30ef506534a8a94a42e4ffd42115ad56c256f2951b68d82f2f0ec58cc2d0f3efa3621caa33395d7386be7510f5dd134a4434221c95786ae316816761be31998f104b8fdb5532312072132d6bbe106aeb65e405f231d86cc93705e84d903c33caa6dbf8aff51449017bf90ec5cc09ac994e58076094809d3319f500d611de188f3b798716bcfa591c26e888eef67aff3f673076fb89e455a2a64d6def591c3f2cc3ec7aab649c605d8c0a6e9dbb11c698c160628a3cd792c265315892d173ab7123dc2e03421c0821d407530903c3c4017cc14e0234c3b882cb56133cd383040a1a179ae2178ae3f9841ce8103fccbf86eee2f5dac24a99042a472a7a92be7452c2309de3d90ec3eff7df1700cd2c5b62fe1da459962acf2e4b589f7a5f1af5227c42e8c557ab910b3fd5d959fa0158d52fd65e1a9e4e9d0d52b4730f63b1e711e43eecd1952ae09ea224ffdec858b40ea4d8b3f76161b8c18d37d72ec3aa2272c29c9587ea593fa360b45a5873ab54c37272f3452163075d9e6cadb6d5a18dfb05880f3d3416e387e1526bff8e15490a99fd5e21c9a2c564c39b699fe586417549a47b01df2bf83518b3cce82e369d5adff197df6f43f1e3506299c173650a031b85ce6ab9d9558bb0e9332ddfe530467c2837500244d1dff25e37df322d427627466b06e47f9962282fdeb9291a48e2422fc73f265e26f8c2833626b44be88d3cb1e0753e024d7836ea2924deed5e0548c0770f85755d11813475c1ad6c81f5f594e73eb6d9294ada07e5809f14d95871413386ba2802746dea023def3d1a33b8518516180a8afe7c7234a00f87e186f02c4690822c01afd26f16b092d60b9e25a89b419e5a58dd0eb205fba7ade2ec889559de5a131f39dbe2cbee665f9a18f7278ed4aced005afa0638819fa2f3919e8d19ad2da03d156e1eefada79fe6bacd6e6f822f170f91204c9f9dc6b989ea1726823880e158873377924cb76a7dbb64fdea4be937e920366f1e72af40b51af90f8cab9c036e25860dfc94070d44dc33153bfd24777da43e8c79f2ec90757a704b4d53c2c0de817484d6cb8f4a37648449e6feb3ed0a090b4a5738e4b4152ccbcc7532d65c4554f778e0586d45243a8d86568e931c209c198e321c82929431f5405268207bd45ec51d77ced98c0c8534ee351cb49609865cec2004540f884ba66c1af9ef12c9bcff57d2d1100fc3daabd8d2a53dc26ad97509c75ce6d0b286077bb03ef2d630efe85f0bca19931cfe105cbf1d1df06bd7c9938cb7dc11cb5a678ace44d228ba669da21bfcd54cce6241cf032f4581802887c73e08a692acef3c69e8e4bdb8023ab9be397944163bfcb2eb76ec417ab0604fc9dc82df0f89ae409db7d3374d02150be77eec28eda7ae2d60617bf766657a8b789c7d3a4f330eb28eab61a649b6f6f587b7f69cbc97ab93e84df16e146b7ec284ca0915648d1360aac2bb19cd622b0a45db93ac8196baa218b2afa8ea48b920c5a2f0bc2a6d6ef0faf35dc0235fad9ea28cad7c98765d9defe6e0ca64982f482e608a0712dee71ffc138b8c157421f2d110478bda93bdd2a443b69c6d31e3c9faeed5021dd43b9909be3a1d59d319a03f5d91f4304970515993dae1b25687776269b8a34392e3ac4f8ec4469165ff8f4c8ae42182478123425c7290582e1dbd536c9046aff9cbac49e8c5970c419bbcd1a0d08943d1d1d34ad198a4cadc7e16d7efb2c7db8dbb74b3f60a8d09f11bb57fb14ec479b291b34dbaa5740f40395e6637421dcadcb9e7460730c354f01cefd2f91c0e337f5c14da95915cf0a4a20246fda524eb976af81c3282cde686dc9da30b3b7f8342cb753425def8dd48cb36c171b776ee658db30fde503f8d71fbbed02aa97fd05ebfa35d88574c13f060eb9bc58936f07ba5b7a2d42bf79f5f93e31bc876bcb584800e47c4ca0f0987882487d80e3696d393d95d16df4c3937c02cd78681b3a7bcd6dd196b3906fc7051569955eb2849334c34c76c35e2529cdd0df644d6d20ee3d91575018a457a9db4708896ef0a2e3fdee4ec7b031e11df99cf3dd5dfc29b46890c91e7b95d003ccfea114554fc53df1e1f07d3c6da6154c4f9b4be853672597dc58d931f075a206f698511100966ed27338d4b1bd74a782a8765b20c1b6a8b8d3c91fbf9fda77829fe73a8340438191b8abac7f9eeb099ad3d906f20953fa448f1f1177e09fbf91228858f5922735a1a42ba009ef376f1eb36760d4bd510fdd5f70d492c94ef74665a2d7ec1243b0d5ca83b862a9ed6c9184588f3d61d3da292f5f66f427ee955e23cadaaa3bb7a7949f4b3fde01b61ac2d39205b76b15358a74a7d2e4af180efe43c5b7a2d07c0f3656c4a52e93a2650a5729a6e077ab351d53bd4101a1f5b714943a54f666fedf0c3a5f11550f153095e4b68f23073df3ab34173efc5839b8e6d0d3a6544d45d670101ceb89b4e79c88ba962bd0e068a30b50323822354df6bc81dc1d563e08495334af48f794dede35e05cd808795405a7ffd8cc4e2b935de2bd3e33210bb70d2dc6d7ee7baa5aaeb4cc2f5d410b9c2c2253f9a376c7eb4dfb0b51c20ddd4fe2b235aa55905552a9f3b32e9eb191ee290cda68a39c73fbc4ffc9a0b56374fbadce09ce42115be65d8e25d8ffa1701940fd8008593db77484813f73aeca268f3cbf6e7bec9d578e347a5d1909bbceb500e41837b6ab0201d418e46eeebd8abf8de912b98d26d64c8435f251fe14b57ded4e8f3a9dd9ac6f4dbdd77acb81a29ab4e0d1f666c40e65baf89763154334f7c42fb018b0f52136d50a378677cc4ec70c94f9db923a6e9897367c69645edbab18f7ebdd478c5e19e9efe307be4aee064cb93262be6df248926e54e8c172ccd3b585855d651212a621418edb0132f76c50298b520438c39fea1a4627a02e8dfe7ead68219ed91b2043bee4224bd0cd7f3ec514d7b31f07c3b802122383bb4e190ddf01f7dce304cbd028f4075e3c06be2c2376ab9f4f9eebc7371bc587a246e1f5ce854bf5ae86d5586795a19c751faff7b10208f00993684ee3ef86f0aeda96c01162ff0f2c498745d6a314f3e7581702fdcd47a84de549b270ef6d747a8c0f3baf7ee0157330dc88af236b70464d3ed8c7683ca70a4be3242366629c673c8f1277c7a1a8cecfaf9617902074fcb4b2436e78a77b8c08bc54e9fc72d7b0464112317cb33b7a6ae8ac139d1f6cddb829b0db142e2b8024473382404ccfb5c1de80a182360d45ca8ab7b54d8caa4e4747fc9fc67a9e6f9ae2cc8336931f18d1bccf4b0181c2f9caba12a90e7ac956ae7a17553ce9b082df7f984833022a9a85615b8c0630322664b7a83e2706a81cfce1e7c6a3ca6c8bcfb154288d3e356bec7357c697cd26477938e8cd7141c82335ca654da7a09c4a5eaa25dfd17ad248ea8ecd8e0dc9a160597ef94a30ceb4c7b6146ab4f560454e01a8ee37a7bc971f5fac99d5f709f9b34f282da97c5165e921b25b6ab653f5ce898632966add0ecb95f3fc73a1f12d583f51ab802645672834c58004c20adc6de52d99d85438f0a0b95dee047f6b355c1c2e0c6b77c9e3c84847afed1f261683bea4f44c4d7af9921513e02fbda882db071271814390d197a6266aa4d3422c58a68fa848d1b6c77be95061895367b1c476385998c7b55ed901482d720326c5cc71510342a8595cebf37b985172b598ffdd2925bb4b90f5ed78e3ce0db4262017e5e7f63dfd1a71cfb190fed28db92534439a6bfcc85376a2beb414b32ce20eb6a251b42bff5d57c38f99cf597239d6a6f44e392729e57a835136f780999ef303f79f4240cd2f1c25134eac794f3c082283db435724f05db208cd75e508c880131fdecb0800aa7fde81662ae3f512ca4d7a7c3ea7afa4d81e972f92eb3d6f5697dc49fd7f063a41d88bc0c4e1b080b7d7f872a661bd0476dc692fb892860c173ecad3a6da470d14b2f1f815def3273ceb56ac21f1d1921a4decb32e5dd3060dab8da3e60002b158da5290463079c9d3db09dd3fda3940aad555c67269fc74f3863b5cb56d0ae3e13880ea34f48b73552bdbddc524ffc6b8b7a6d401c7196fdc1affc8317db85bed490c2e7f9c38b90bd37bdcab1545b8d972b267a3b587f9be025e8cab57fef6b83f3cd8a52981537f956c4d2cc0510747a86db615edea9db7d30eb9cfa5e08b2e5a0bff5573b4a4521e0e1b7256c1b3db84626cd9934334ab55569fb4ea1725baf292e5f2f8b7a06ee4fbd09066b52d3ed148e690fb9be33868dbcf97a75332a2b61deb2a968ed71d90e52f6f96f4d9a35934a07186d3c60b77f8d64144c357c45dc22759da19fcacd68a3922c55121e7f290faf4523a31f74c733d283560dd98f05e8aee421aacf413ef11f4a66dce7b8c979512b10c0fde2cb78020a115c841099c507495975ed1bd80f6b2f652cbc11b82056a223722340418e32c127b845b2d285c4341a6717d1078d35439ba2e1564de248bc3753306bbf52a80de9aded8175c69f1a672c74fc31bdd183145102178f9f77bf21236160cd5a5c3e44a760fb88c0cda060cc258f66db6fa94e659d5a87cb37a1df879ce6d91a430d3dbb56f8462c944eedc736adaeda94508667e9ad12bfc17a60be8963787c412a3967c3098d80fee521d4b86f3f02e5c61f903ed04ca49ae38c96befa45bd88e9c07a31eb837aa1acd3c8c157eaa2efc8a52adfc98c7ed661b6f9213fe449a65322a13b17e2f59b43dadc4bb0bc2c0e69f62bec5d387420f402e22d1bc3a9e1648142a5aac4b8d1e5b56b3ac8ade41d3d62de30652cdb8bf109d02a774ed38ce7bf05758bd9a9351925a17159e17d0b2fb7fe820b168d145dfa664a5a11a45ba0e250d45a05286cb51973a098117bc762b74d8244893167ee723ed524c16a9612f0a8e8d6544b5455218b75aa8860e3344469f55a910116f2bfc39d01eb9d94aa9b78a4f286ae11ad547260fbf1badfc6597d31cf55f716a039e4de193d238cb2890a35e70b40af5dff39280d472bdc1ec2c84f37cbe25fe9604f5fa7da727b82cbb2abdb8287ec96c23562445fbc626525a88246d197405be86d0459e8e0cb9abc4e64d3235ad4a281253a00afbb73145dc4a060255bded6bc77d7e5678e48bb09c5acac63e4ae144713d4694a826fd6c2a87b22cdd32f814fee171bc79f3c4acec6196cd9b8e80f4653fcbce22e9ad6bdfe5670e31d654d7bb9b641bee427477a651e12cf258fda1289807ae1e1e4ab1fa2cfe313cc0302886d830e4f6628b3bc6a56ef3862da43a8a36610d6b9b52bf64606597b4104da37231b55247e2efea058c7b254ad9b4f08964319077978312a224c18919cf00028d5097c91fad784ccb63109f7293d7cd6e68c2e7f721ea40d3fcbade31d37fb84cd7d0e11363a2e0ea3a5b19bde72f99fc7576b121fb8060d5597035bbfa747ca8aad5fbcc20e6da5baacb7bf3e46e22f180061cc2e487a9f8b959bdd0637fe031ddd81dd17b8e79b74cf9a570e9a744af34e8863c832bcc242f553e40cfd23eb81c84310006f36a58a692db3017877c1fa81c3db4295be64f3a4aceca4b7c3c9221022cdf5b37a3f43a889fb79258e8db1331e030fa584f577795eb70f0b68a46342feb73ec125e96ec897fe73cb4d3e7de23e3dec2238b568cd941bd28792323bd9f3779e5e0a405749a5a60d3e9e94d251e439b70f8e49e2155dc4a41d41578ebfc119a3fc816fcc48201aa1e494c49168fa62852d5c3f41af2e7cfa7b37bc33b3d7d6b2483b89465efec8840715723dd87bf785499d246afa99b3f7230eed7b3219a202635860f7c47b573422fe42765f64cc473e91f1776cbf2d880a9a68e2efb1aa13638f07c5a2f6287264bc9984fc6a8ccde3ad9dc862b3b611e98bb7e91b7a3fe7cec37f2ffeda9e30152f7206551d1f6a9ce3c30d91b3c0019ca14f1431a6db014b3657eba5ffd931cb82187d7b9d068b47f29636472496c7e6057f7c4fccac54e371b721f6d45bcea3bace198895b3d62e5f5beae8c3905bc89f0c136fc69a36646ab3a34dad1804d9838dbd7054980dace8e465fdd9fabd6441c62463163081a3357c7c11efb639d262cc31dea0f50f570122f58147ffcd0b85dc4eaf695570a3aa87e42b6717a166a1810f4eb72ba9ab889075b89bfd22bf31c846bbbf985fbc6c240734af1cbd845b34cdd0a0e03a22aee79603ad2e777c16e578f3e42e701e2a7a438e3d2adccf6f9168a7c7d5df91e25be3ce2811c4653a70cc3ebbd20e0e03b649efc69f6db3dbde6fe5651fc2f662d7322f95c9396fe568f87ac8cd044d6eedffef32a5a857f6cd17c2e015564bf1e8cb428d46cc5574cbd7aabf43e92d989f91065e428f6ee19e920fea48a9dd4789d474bf623cb33132685c7cade4b4daeadbf1e9fcffe7e4c52e5c05909440379304890418cb25b617706db7cdd1ffa8a31f61ac7bdbac9c12084f777a447bc7a94725558a468674006a3817ae548d638d9621a2c2aab73f8dea9c35d11e1084c33c36f88edb081b0c1b2489bccbee8e18fda8492e6302077501f212caafcc9b78619f3f679a37cc3929427080edfba12c90e112c52a4c40e4370518d0bbfb3f7e5095c8105801373984dffebdf90b3afbb16f2209bb77f5b3448e015f439d498bb0f09ca8ac84d8dc96540abe78d385125985392eca40247c5c604f9f672038e8db17e8951cacdb36273774529a2a6e6b4d2267c0834df6912a0878a4e639add7646a29ec65bad5d185658506c6198891547ca1f65abed62a624b31e41c4e799b9628c2a3ef059cfdfe09f5adbaad1f801576c6b1e2207f31d7845b602ea02faad3749d9483150d612222b724506969795600950b474039e549e701098efd5de6160cd55584595e3d2869011236eb3306ab8f7f704faff121dbbd3a5755219cb435c44a1b687da451248d8c5f172c1d620a908b84fa1f693a2b9030291bdcd865f353ddc576900c3190c6aff87f85e11c3770ef7a72704161cbc6b0f73a663235be8a4a45665a9839b3f8948491819433cbece87edf9424c42e44a20955ffd3232fd333c484274f76a7d6acd0b7a2c1327cc5dba1d167dd572e956d8444a961a43c93dff01b9630821dd36bfe74576f28c7ab26143e6cbc4e1176b347a810099b5809fb02020ce4281947900e94d30519ef42f898c390a9480054927aa39cb5e70b190480ee656f69cdc2aeb3a0cb66e039f5e0b0d653a5cb252db3a7b70c5a022ddbccbb826a5cc9244a8f940c903ff71e41a365852e67748d96bb1acc059d4a2b897b67fef40e267364de8edcb979eea0145c5b737c1841c0612c70306f6b324738c10ab7394515b35904663deb7c0aadd846d68d37bb10d7fb4aab181a11f51fe3e250f11a6d539b17b8a8d27f92a70b5651abfc97d1e9b14ffa235592d913de10900b28cb1cdd7f9afa3dc7891cb582875b88be2ce4e39642775f0f8420f3d32b702595d03c01055970025eb9fdbc958646825f26e2424a82ee9aaee6758f403bf629c202ecd9235237af3c9a0429bca9b4def05022f00fec635b5e4c8a2b303e1b495a73f8a340bd84e29764a3534141b885650305ed2f792673178c96187a9d1ebbf444fccc0bc2cb3cac57a2ff23ab701d9774b5634dfcfd2635dd0b8b368aeffdeaf438cdbecc305745da97c69de8384b6a501fdf4112918b8b439417661194f35ed0d2a0b11872ac25c0971221a94fd9f6ec51b46329626aabe59160431992277e3b85c0e69f1fe744febcac91beca567ad0c8ae0305dddf40eef2984c2b1b15f4a7422fd4ecf88376f87a009c0ac987e87c6ba7e45141a6ce22f80c03faba1aef655ad26373c53f36b72f2549aa37303f5ad888c680f955eab6eb605d2197e5bb669dddcdd451e081e01e87791f8fb717e3541b21b1b5a506de01ed05879454f3277c1e4e8efca140560bc39e1bb43efa2f8f5348d2ed46f55fddefffd6723938706bf138b0d88aa284846af84334aeb08f49c5a9dce9e19dee1283458ba47b1f8f87e8d400133dc4134d091ac10e13e0b982836dce9c94df903b4f9d80c00e69bfde5c44bca2ea5afc4f60b6c41dd4c2aa73d68e0797feaf18f71290e619a0b524c14f65fc8f2f1a76885d49041c7aacb0734e0a787badc2da3daf29d578a46582859220d5f79abf01360e3160e31a3e1a9d560493b84caa5496a1ba20fe238325ac530378502dda25324ee4d9a5d1da7133a46ca953f07778d5cb79b0c15b1efc1a0808ddcb1a166cb06f0865e74187fe76b66a4c220c6911d3cafc31524e7c3d92808d3acf4689eb5f78c2238c93a973eb5d99430b009e8325cfd340a556edb36475ec707fdb7943a6ea89df1ceacd8a03d13da67ce6332ac34912b5f889eba7b5665a11d741f9269a2bd8621c4600a00224d4162e0f83a4547bd3124bad21e61bbe701894e504b98f420223f881d2a73c3d37275351a22fea4e1a653a00e4146273f0753a01c8aee3f889b7cee9b8caa07b78b058444735ee42e201f5fd9e9973a40a75d5be74db920ab613dc6b5ddaba1915bb3413980af78105f236258b4de28ceb514d8743c3d124b9058de31f54209744a4090f009bdc5494f0e1093fb131091f78fa2730ed172341f91c1ae9015e55c285d22d8b3d60502f2189a806abff16755c1f23a67b33008411e8cb02f8e1ff16d2929b09602f0e8e5fa9715291341006136ac3e17629781c083f3faa000fd92280c3fceaab95e10aced3403292b06ffabd1fef09cc6bf91450e3aa46c18c4a1e9dd1db290635e4dc8867f3184f7b1d4646063c27bd5121ba5e73b903901ef449fd43b07657af9bdfb433a90e7da75e63feeda9af85515bfcd92b3379a537f585af73a32c2acb023f4353e9f8a27088194370a4cc49a057b16cae3e3db5a8bdccbb4c19bd6e1cf690e0b74eadcfe6ac1e242aa9232ce76fec3a8cf51b9f565803758104e8e3ccd117e79fb2c5e6778b1238727f09e5133d9114826c2e7ab2d5924d811adec74a2e19edea9bf10f2ef6d34a8f7a3c7d8c47d91821937e591dfe44fcf3ce4708594c96baa9c7312a591fed22e786787b4dc4e49652b9db8508d7e6d0f4bf1a17f49128fe5b3ffddd3cc1e0838a10937c3bc1cd38c112c3e888d1269c65b8929ba6e60d1b35d5e2f82d1f75f6739a32f5c94854cc7e8e55229605944abd5c7ea5ec71ad54be31609253148eb2dd53e124bd520f2f582baebb589028af64f59ab2397c2618d698b08cb59b3e80468292e8626a739d60acd5c4be7f1f52c11684c23449c2d490d444c603938d76066df5b4f22a976a5f1ba436e53e235e41558cb63bcfdeb338cae81c78870af1d0f71e4587c13047b749afb10b145e6ea30f228f1f42ac7db38152ba77efa0f6cfc69e9f9792f11efc60970489cb3d02a8a1be20f6c01124db6d7c43c3f8ce6a26fd9546ca81975ad72d5fe775ffbb4975a896c0a94894b389073beb5d130c28a55425e4ee67faafbcfbe7addf6d1dd34baf97bacdd84fdd0fd1bfed515119f509c2c45441613aa4b5e488a6d18d260fef4271849737ff470d19ddd9bb315430a8e7974ffc8e2cc0338958712f0b70c6136c2ec2c09c998c154f6963e4110cba990bc73d169abf6f64470197ccc453540a96fe5d937c584378485dbcc15f93d41a1298fefee5607f788d477907e19c8ff506e055e25342f9d8c79bdd9446182f57e4e7f13ad30ca042447ab36ae090946415c9a4ee0f46e4477f13a1fd03b7611a86e0a21e05099a43ad6e4a4689c20835134791b2570477b127113ecf1eb72c5dec740ba87e2c1be1b26d4be24bc3e791c78b598feeb0675010af95cc7f7d19d8400ea8e3831a19139801014ccbfff3f86e4d754a4d701f82c87db41f0ea9180b1786107117c6ff04185e92b510187d0c53815dd769d00e0b17bf4310d58bc92bf431b6c18165cb5d0c209ecd8d8301069fd6edfe483a2c586349211d1cc22a79423637b678d53b30fecce1393c9d78738c2c1e720a0b300cf0965f93d120cb53f74464300f00ddb9ba3b0c6dddea9d7e449e8fc45ba18f2847292498246d3d654b4ab6eb75768da71fd451f434215a22fcb415770d85df91d06321c749cfd930b63bd8ff8587380f791c84d7f8ef91ac54c197c966927ce783fea6791b2f32c7a82e69a6fd77774c7a2668c62c79b991b91271befd87c1ae4e2199680593cc761eda971959016ad624594016e946b0d14c183fe416fca43b56eb4986352b063d0bed0dd862c83ccd7f22b834bb25ec21570b4506e2c7e7e918987d7a90e7da44570d439e850bb0cdf0b51d420918133f972f4613b943641e21bf156924adf0a2cbcbaf1d3fff6c427916ce39ceb4806fb15b3f79e49c23dd7d273c8c5e88953f4fb134617c40422e84cb26341beb1b31364bb45790871b28a1af989a55df4fc7e39f138b07693d0ade00bd11c233841c8f3a0293a5bfa8d45162c421d8febf6806cfc9792fe78a10493dcdfa996810f536dd532ee96058a7e125ac14db93ecc058ab748d6584315352221ddbe2b51e9a281a1a71c3e30b25810ce26322ae17e98540fd6ce007aa919c21c2d40e7634a13ff29b763c2b146ccfde756bdda3ccc396d71d57dd2a4f106b23144a711249d2c8e9cb802b07dee81c454924587cb718723c1d967038ed200700b3c795c6c23682d076d363203905c0aff5a696c715c441bafeb031a536939d471c50775cff54c698deb097d10d6d0478bdaed926aa370f1ce9aa56487182d63a02db4a51de4d4610f3bc1000e6808525c1a8b9d8beabebe7af2c37dd35859f024eab05e92db7b056c58ba0aa449de20264e0375e54a0b534c3e1b487b16316c6c2829c6c00329e001da56db9081467f79244e3c740f90de12a2d6da0c8beaf3cb4655e590e801b95951708b1d8a1de08954291997329a19646847541133bd0d8df219b8c07aae38bcc8e31448ce7065c509f5550815b028494a04618babf4a27a30fbe7d47ad7bbe9381b6745181b6c7e7529a93a0b50df4f83e47711310793f48e89f1b5b335f6911945d8de549308afec1b6b4ab5f765521712d474455cbc0b76d0d8119328637170c139163b07eec11c87a0b12a5bf4362f3d4a82e02f84f5b46090afd6d5d5e2d72604b136111369c20a02de036cdf01e410da7b0fa2f325092062b48cb4d83ae8457519b2a70313b83b93af33331a2a51b1b06d9dc0619c2053137ce8a1a1dcc794b153892d102a89683a73ad1cc3e92c4e872a8cc5843c6d959a8e361356dd8a2684978c398b18572b75303492cdc6705c29857fcc3516a5965060aeae9f41c611ac7585eaa119c37b1953c2f137fc2119dc03132b23e36f0c24491d97935c2a90036a3c867d01fd08389d87281bbda2bf4ce4c52c93bdf5925ec8a1a31e76a55699b9af3c07bfc175cd45907076d81ba0e4d68a46150df20afa88c0b7dde11ec3aca6222e43d65d9240d61eabffba7335b9932437a5eae08691d78a35776d90e842bc96fb15e6a56c7410cf553b4f3769532a22022b46f5381f0054032ade2d39d5c3a130fc407ea1eb0cbac40ae6384d687eb5c36eea5482f5d4f06fcaa917da34a82b3163706a363123fe8d3a61a75eaca963b31848c6e6abf18b52fa5abadcb2a8015b5ce23e45e5e12a862a3f70900fca90a6dac1a42f5cf40c0ca27acae1f800ce982120f7ded2aac99361f3325eeb4ea3a87e1e8b78263f4d4aa4dd6f6055fbe7eded1174363c17dbac58cab4f96af0646a5dde8fb3b5ac1bbc008270cf03af1a2e833b96853ad3b2c5241f4779c12cc39555ef4cdec37cf303b8c3dd53698b44685b8786abc0cf033aa75559805aab35d74a9a52889267797231d05062fb191b17c73efef30d5bab8f934ac7543f0d197a3d68e253a12c0e270bf75b15c1f667f574a148b3e7bb278b4c7a2a128da7b5138b4ba20699d0cf02f9f2eb3e3ac2e7b7c07f7afd526d1fe2248f9a1e7f573ea514381e6436826c88e4f90474fc7993573e8727275061bcc224d1c257ce0ffa8d472e07813eb9427e7b0fdf141006271e0a930fb0f0f3696e95de204cf455add0bb6064261caef5a80e5cafd1aa57c0542d25823ee28f31e6c7a7cbbfa4cb5c949d1b6603fc0794d6620a0d2ae7b09828cae68e409685694fa597c4e638be7bcb2e967d5d1343e9e7b3d7f604740dc31e0b44dccb9f346d36f5761278c382c6472bd9820c9b7b3374269c70d6d56ca1b8a2c419f1efe242eecca24e18dc12b93dccb1e788abba3d9c3dfcc63cd6386bb62b8c049a9c075ab24367e06dd8d61c8e61ae61cdfe0e49a119565a24423473ac505e0df857ac11e42a5f21e9464473690b5689cffce8e9f82ef37ad62171e3ddbb74770f032911d2000ea2a2c68d1bdf1688f8d5105d2553663171ac9bf87d8df5a6065c65b621755d2f174dac3252ff2f1414aa803c2e505132e2ff8579511215c57f090ce6ff4e5ec14461c04198c84ab75f747f46d436c2828c2c27fda313c0596d28283591b259f4b21e3ffbf38d17260cefcbb97e200ad759a9976fca6018ee02509ffb3bd665ace8016fed9a0e807f4d9e985b7e37466cb576c36d780514461295db6886af9ce77b2a3cbc30e229a5b504a002a44500124be3b51dff7ca094f6354df90b31ac7328d26b89c5412adc128a7b360c5d2b76c9fba467ba0b25d0cb9bed1ae55cd2596b428ea069aa00b71ce2b635c8bbba1b3bbefe9788965522a0b9d185371121291c810a3124720dd6d8f3d10e6772d8dbbe6ef87d537fa1a0c6995a468410e337b90aa08bd9c2b2e7fa348f34570dbdafc1d874d0be6f09a20643add3098c74b2026e7a0d4ae02abd4f0b7be2086c61b1cfe34f3efcd5dc671ddb366969d53da0e95bf4a27bdcf96dcb2cbc16e367390d7922dfe15fb2af63743678eb04e03231e360bd4b5d39b7b61cab7fc2fa5aa79d447df8b6a1cf64fc13e96815b1f5fdc75908cd46b768dafb85573d69e5147649b211acc553fbb872d7cc264c0070279b66cb1c807e3e7af7bb2722bb09cf7269bcaff1733d586730b3bfa1bae54cdf9161f08abfad38a6978512df1c4e128136fab3d1dc78ef6fbbcbea30ccf72da64cdc13865428ac78286ac8e0b4dd59e3442837d26998962247d5a636770b33ba4843004ab0496788b7d63db79b1ccac2e47fcb2b239e88451218a65e1854dcaa022df3d371c8c1c140b5229cda4c11762fa029c4658ac161318c6fccd94112d7c31e1daf4e28f3d0fea8655d208b7b359ee896513ac9d4c7ed56b4ba415fb9f70166f59a8496d3fe49c56cf6c73f2d578fc073892df619096baca687f6f12a7a91a82b8bfe9ab314d6f9ce2492d6b6dfc92702d5135737007ac96e671f927b7276467675e3cdc8ed7f09525214acb62772f72bbc09d598c16c349aa46ee5a676113b3f8a177174537a7de5b0a60e166945b6ae6c1f796c2c6d18522d2c408ad7c75894607139798f8a03312aece6d643d117698360075a15419a2d8285ef0308f926a73ab955c6a30a41dc4072b9e01e77f6c87fdea9e787b305e03449cb16ef9871af40b5916ff3b21a8b55b044d117ca3376a57ca6e6c3234a1f4b0abfa96caaf80925caa2200869322ecc487090e7e147fb4f3606cf40f2f7fea2a210c22e2c9d36c4e59c41bb425784efcb1265ed68947a3c86e53f8317a6720867e973944e00f0c607e5312ae793ef649c4472c9881b67f224c9dbb4ce00db62e26552b4d4a69f5ca8d16b2254414eed8500f528c85c68feb742bb0a06fc60d0a655cb8d1d93268f66a837726d3c782381e0671f99c2b8970cd7f991fb3f415c5337ccae9785144ef76f2e08c907e7264f9abaeb97e8b3eb3c51a68f3f65235314f6fa25a273cb9dba587a4182b06a3e450fc19224f346124afc6dc730f3ca5ac95a609aaa5493145ca9fb1e9a0865556b091d31266ec9deab9dc9abf110e321d3cee6518fbd74406efefa1aef3fcf4f3d8147fc20b21dbe290c630c9ecd188cafdd7a3ab7856d0917086cde87ce3e4a565eff7c7076126028066b6e563dc12dc7dc453283508fb60f5c7c306fac8987cd565f24a0d079f1f190404ccbaa40f5acfbcfab6319bdb93ef76c963433a4765deae5ccc40b40a39585db775a551d85e9d89a75ce70959929cd7bee59f66dbafe0185db2a88856572ea92d1d97f891ff855412564a9a33a3c875b833921a0fbf5c274e1affded236c0dbc607b3284e584fcb6ae30670c04d82f2defe739f61736525d9ac6d57130c980fedc9af4dec4a83a84ec9d1bb3ce5b7d82986be1a5dc132f509125281cab69b01d5d23ae9d90d3cdbe09528e63825949dda854c5e1fee2cccda9f40573bfee3672d0073725724371412dfff588e8d937076abfcadf9d7f906f65731a40d8921af7b8dcf9065fdd620ff9f4eff910382ac786a8fb31f7f87696250aec567146a91ada14c6c1cddf53a690e84c48329fa374ac95aa792b490084fac604f2409ee188bb430455929e31ceb53a869b4560fd1237ecbdb1be1250ced012b12e5eb9b7011208e9c055265c0af22239a35b048fb2a7a43632942ad8f1332f9dccc0216fdd140f9637033f79189cb4f5abf650808bf49f4b3dfa9aa910a39b8ab92f872b43906b145b8e8e1a76f91106ee3bd10f2b2de52697ebcfa3f1d3b829dfe3d5e2fec47baf9bf01308eac35625c707d30e8117aff5705bda49d55b00e9a93347e8c548f46c70c6956b2a5e9c5695d51a292ef248fd821e42b7678d69dbad584761809c3ca38b4e06f419db817d375fc5d22095d3737aebf8d7b09b96286b8443d0acfa5fbd556aee38770fecc123c6ae6cbd2a64e135b42d82dffdcbec333759bad687163f6ed6022394d4f4839a6a3659d15bef00b4f31174af76ab9a99aa37c7566f01199ec95ec2d9d7ad8ab7c6c83fa5603f9fa48f7e5927034e2a636be441e80eeea048e20125db5e318ae310d9a85c7d1f4fbf42bd4bf3fbd3c8589d79347e1cd42493aba6747b0292145dd3fd453337ad22e19761a4ec4743723ebf26f0eb7c2f0e9b426b1e44376fafccb6a7903915ae68970c6a913aa821107b69e858e29e0721eda2808a0743676b16705a4029985a02d1f1986e756b9d4af9a0582984616a6d4d2a138f342fd1d9c53ea483c421e0f300a615c3ed568b21e522dfa9205fb223953a63d6106b859742fbb557891514216454aee52f63b07a3753912073f65fed6250dfefd4d5c88107bc5394df0511dd1ab49906cae96acb8acc25ff34e17bca94a2c822f1f08590605b33a0e0f37528d176add5cac870b26d64a0eb8ca089db01d377608ac5fcb13d59ac2c5fce4e6aac29dacc2acbdf939fddbcebb9d29cc041ef42f903d410b76263a471be107676f235db876018cc4e06786848d453de22e9ee4a3db5b1e57a616350548d7e4248a7e24f678f234bfaaa3de30bf8c3cf495fd46d03b98ab8b83691a9faadf3ffda16502b3978d95547d12df02723b7aa280216a321a163902f6f7c785f005e98b1f019986d148f59b29da78ab739b6fbaf1b6851285285fc09574b34db5392d11e2fb03944b8e5d917c1bb02c9891ced6fbdfc9c3ea3cae8cf713a58198caa22bb160c356ef89bd105b30e7d583601ccad63913de184095fc01b22655121194e1839a824e716da89fb3d4c5478cedb30c313db83db2ab5d4ea7e7769eb3e38818c32970a883bda8b3dc457f7994e05f20aa57f6833096c6c68059b35708e93a750e026577a52ad6c5d8bcf1e32cc5c6aae1dbf7b6b17440d70dcd2618d4cd060633c017a4256764fd81b1991974dd50036e61a26df562ef13a57249c9939e22978a28659e7aafebf49089a1df80f71e8ba26e885a8929103b93c8f4c9d6629dbc964047831c3db9dfeab19f257c8046782d57ba38f13edf0c70654563115653ff2c46a6923cb5eb1ddb87a2d40e1c26468523b894b3b91a539511def67b3c962c292f604522d0d07e62d55bac4fceddad976502978473e3ff9eff976f03d932fb83a63da16b3395f45eba543039c3bd738f72d3700a2860f9d94cb6ea8e0f02006b8e139c15a063ea4722e5dc178e44c2ec3414d5112ce167cce84d468922aac0447ad6a290faa185f87253860b59576b1176b44f2cd2f514fb45b5479cc761614f67e7ae64b3a974acf9815c9ae681daa08f7b4b7f7bcd9d3ddf257b42ea211a8e257f7ec7e7ca79a5eca83032b84f8f480e0c961cb7dcd80ecd2b7e11135ce244e05456d02da4ae975f1ffc6b040342425e094f2777081cd49c8bcb46d016a41dac784c9d8d9c069e3285f1e1a2b938f46ec58226b7291e637b039bb04bd38c39df537d77f24fbc68f89a9e2dc30922e1ce73f1406d1672718f726470ce0a8e1746a5165445e368ca4642d964de379084ddbf8622b4fe52c9518645457ce9fe25ac6a0eae233f764f0acd7fa344219d95a685abaaecdf565bbe3ce866bef03fd6f3018417aae29c9cd1fd2dd045ee8e16182ef30f31e646101fd180ca381ff7e5bd5c1c827fc7ccaf0c14cc4e97c8ba4dd268ba2d1e2b9e50db3a5a9ea7cb151fa59d5df0db04b80f61d295f2f56c41f55ad35fe84fe5706806daa6a486eaa07eef17376f97fec9f22e1dbf1ef8ced2fb349a4f9ee593138b4186f677ff6c92581bd2da7be87797a4958f0e644b048ee13df4c11fa1fc1d86d0e89134c81ba47f04f16ca2c3255f30e54f160242c51d74484b85d2b1609c59cbbda09c17ea70e0a5e4b63929c04dd534489a6d314b15533ff33987a2eb77b8d242f6c4ed57349447b588c02099c2cc1215a19f2d64c5b297dbce23d51cfd0689b004347faa6a8bb177e56192f2581564981c63c3a66d40883d4d00594c3edadde421e62cd1e3edae50749d442246e6a9a4ce70efa95305c1062278e5e53690c26e694e470bf9ad543543fcb0f144120fd0a094bd614ec7b953378b9c343b00f20c0a4a287453013eb9f88086a126aeaf0495519d46792365ea9290cda8864bedbccc69dc3e821faec24014d3d7fbca3ba6c2d88e1165e9010fc05342a9796da733139eb95d789c25ecb8db753ce4f3ebcf2b7e6064876fc991a216d4cda6a69934ecf351f0f8d348f9a05c6cecc90b01bb523ece501f8d6e0871422e4c350241ad36eb82f011d9ad8a6589796318a5a518b1d356161c4862983e30aabf4e2064ba2ef4225b9627f27b4427bca4d372bbadb9cd97bb388be7d65af01cbff87a1d9bcba7dc74e6fbd2aa3240f381c2e762e84ad565938efd3de08a85661a7c4a39f8f0f6d20ce44d01839670a0112665cdf6e2cc142143d9650fb2a4a84563d23f934f69d2fbbdd2c17bd65cc7ff3d89a038eb3ec0375c98a4f62dc48dbcbaa9b7e91c5a9e14d1b4c254f696e13d22b8483bce1c607909b133837b9576059d916196815f70542e3a0b228a042728189ab9bdf12d44d0b8990a21e1acd697dabbd304dddf50b3ed8a74309a7bda03e698b70b3af36cf271e2abbe4004fa035edfe6fdf4d9f323a932affc92c1e5fd0a9b8ccc0503a613ff1f1095b37bcbf08e783d8861b6cb838ee2ca0bba9856a081d2f2e7403a3d3e7319f33142e6fcfd8740cf14535eed8082d47931357fc6adb6f9729a3d0b15e051e938fc15a894a61155f659ed0330007c6dbf1ab7e7a5228e110bf5d17e2796daaae62e33d173df13a98ddf589fca76e265773c9575d3ff46193ab61febf4dc7f3049bc0e9d129b3cc03b38e2a2046e52c5d61dd07aadd33cc1d7e4f1e25da3ea2aaae9604f98e30944b498e270d6b4d2f5d1cd0258c49cad7d1979df337690023fdf72cede92c214a49a9f182c40cfa0e44c3c62443c5d2a1fe017e079db12dd8e05b540d573508a32dc891c867e4fec5c83304ef6e9fd6e28c0049075b879388dc3a6fb40338beb00c2c24401c60fd6205b4c3832c807a849947569a94ebc20ef4a0d728396d80103c9f838940858b5412a196630f1f8e81c47a0a5a8dd4ede1708307cbe4b99070295bc73bfa7af4da3d649ceec4284dea5b99e6dfa84d00ec327f5b9ad739de8968269fc5f5dfb50da72f6ac83e7a7eb5d321f58d8064bf37e03f582ead3f05b9c9faa1790dbabbd3a63f7d9bcaefbfec396fea0ccb5ae5ca31e0d096aa62ab1c520546ca8444627a33d694db9a47ac26fe33d192eb2489d021a72cf01387f7df4daf4c4b04cca3356e3f99dc08d6e54743bb003a363de7a97249a6b2f66d3c4a8d46b33c5fe8e9d94c2882c3ed240066d7cc6ff26d4c3d754f2c88c91d75f4ae392697ee9daa164fc3923001065e72fd1b514f9bacccfd1991fd4995a6ed42486046337c5a8f5bb98f49e3ad3cf8e6dfb6da557717000ea8426b96b9121839cb5d605460b6cf661263953931579a5002c67ae2d5685fd335461e47fbb309afde8e3eea016fd094c537e075e029abbd304297ccaed7c5251ce969b8e8de319fbbcb3a68b48dea35db9d437f6fd44ff42f2419218309ca873706c97fce744341bc15d6ba109a483b6c8046d16fe5318df24e22dcf93f334175434a7b7130e508e6e38cfcd13dc7c8aea16cc8c0e1887601036a937814efde16d286290952720d12167c12caa1e1c7e12093fb3e64433d92d85c4c770e24078540e91ca40313a58501c62d5c7c4a75428452995ebd74291e832fab9597e7f3d5ff50a75541c84ba8efd3ba444eff99499cef40a7982d8570a6619bafc8b9e7b57dbed8c835bd3da81bfc28d4cc606bc8e6a9c983e2cb06d54ed2586d55deb9855a99b66126398afa961e7724eb726836c5c99eef146aa24cf925ef1e5a2434a5d9bf8c3e33a17b74373da265fe9925658e5d76bf2403119b84599ab7bd30a43c6aed3e4c74fa22d0cd31e521490af701855c617904668b0151d5f932afb7e00f2fb577e680a59144cea8401295193f77fd93490625662b6002d843ccfcb41996cabe24cc779da8be3b0155c8ace5629b20e2b805195bf8d945cdbb3903ff6f30f352580ab76da19a550334c5533eea36f73795a52535d49612bbe2c7fe3f9a2d9eed3540f98972215df1c2c18f86313416004a0b9bd28d899a9c2dfbf5b21fe1cc0aaf828cd7df35cdd3de9fabf87ef80cb3f728c5c81ad833310429b322d2ef96fe35aabb9e41912fb3fd8d3ecc0bf04efb779a58482f5c59001a27acdb2178644c4f9cbcbe86bd5eb067ac5418dbadecb30fb1004c2da0f0df282775548b952c397c3dd3e2fa5947ccd33d2ce5670695b34a94bd0961afd4ae0748198f4ae59d8249053006550e16f3ff0e0a22e7c97c77b612bf4017a1abcdcf366e5f973e34a94089c931463d1a9fd7928c794267430b7f2715ad8bac896c90357d2b193e8e208c63f90649818858a92eb6d2f666a1b01ba3c0e252c47380b5528c95973c0e257cfbcff9306d6e59832d266e773e83836e01196dafc6f456315decce358a003798a99c2c8b557ad764af376082daef8dd5c71f653b8066b0f91d95ea0fcf739c04bea975d7b855d5af24a73dbaa0a9f87f862f9e3409a61771fc3b4ec799a27a1e0911ae9f1420079a023532c147c6d9a57490ffb97c1c1700a595d8e709f560c5fd1e5143195a4e5f230bf4eaaf1d077d15b451b78397a0145de233f870ee65f6dabec06e62984f3e014624383e11c4ff229b0984dccb0aff672bf074bcfd3693a3aaea4c6a8020448b8737ab48229df852f5fa65b8856888e4317632f9c837a41d3add5746f6f5ec52fd585b6a875cd9aacb4ab94c98f7a6822024d0b1c3502a2c4a506c3db4b36a21553d0c3654e80b7bc42659c0cec90716b8f949bac689460d72fe56803f5d51dfefd80eebca6baf585cbb284080dd3d465dc43f9142cf75cb0ef8b131c41231a214ef40786ed057f4382847441773f37819a3e579b0e43d8860007ee67daed595fd0278a67a2e3ce94939e0ff2ac828a2efca2ede70d373d9269eb47b1d60a48f428d47c0fe8506353a76506fc2275c1062c424de41185479b1f0cb9b2d7d45c9354cc71b0253c335ae88aa041f9f9034cd7e64039d7bcd824cf43800706ffe86021e22faf81e9c34b3d752ce2140bb6c430bd5abd8ef4327a53dc7ce46d7b89ba78e8577851db262c1daa66f72f941773edc2fc7249cf38f72bb7a45d483717eda7f9f70dfb3f4a81a11cf8b7ed68e5351f06a743fcb6d142f352ffbf22dfca3eac95813a4ac7e760a5fbb944fcc0a276acd559c315d2aa896d5c675f94d0380b0d53f72a5406b23cc5f28f57cfb4493ec0bb8f7fc75a300c501be9084fce0d5ae08271e75866c53d0c5e6d47289340d7b0283b879c3480b24b0d1f54f4a35c4ae54f7f401533dd4964fff7a414638284729372715b383e3114beb07fcc698f5809efefe6996c4739030874c60c8d80443f2e86c71c98e80d57b98887d952d55dfe1f1d505c32ac7eb774a311141e059f1e372667fde6491ed247b1294a424a5dbd4e2c361480379fb265731ab7ddeb0f631b2349deae078be912f4ca33cf44de4b93c06668b7f357d23c5e3cc5d74a6825e1659645debeb39e5f4a2820610362fd8ee560642ca08e6045a36609548012442a85ff15d678ec6eca1c1986e83177cb5743a1c8b778e5d7cfeeb5e3cb3f22c9433707c3dea1cd32926bda60d2d52c49f09f7624d6364bd75b125a709bcbced1919f4ddffd021d07aabc030b20f1702875d3306bda89b2f4172435caac75f18a003f0190eb9ae8c56be7f932ba162ab333c07232dbd7dea6c8c6cb9844945996df56ca7db96839ee4bc2f5ede9a075ce80c9e95cb8d2bc4f5966e5a0195dd138ab4758abbc37286ed00e332e631c6e60b3e54afc7c4f9eeb8ed8ade5f3541c5f21439c4e764f11256fdf6deca262e78c51a2b0d8cc60670eae3252a3c9445912997c46092f213848a5a45c1b3f51ce192e32b2684c0ac0877f8f5ecde77e632eff8eaca337665cceafd2d12badec6e0368a1714aa363ba3aa4ec757a5610e0b5a8b7cd548629b9af5459c01ae16a741bdd43c8af8c25e110c4e01be593f4b5aa1bcb4a3a746f6d511a74c3170ebac6a1b5104453cde400d4afe33b691e8d987e673546cda9e88f728373981cc99785e42d52f37d41732777339c9782199108ff9bd6b113c48d4aba84517ebfa783dad0763ba0521124ab99eee01d40766236008a810de756fb5ae47ee832e3e539e54e9592e6d1f1b76510bf273819f86c24b7291b3b71dce409676562e41ce9e0d9145a81df7be5eb513d834479340a6f69081752140ca4b0f6098522f1635badee5a8d279b007a4b9cb90f863984650a29a285ae5e9d15f0fb95255f8fd58440c796f757db2b8d44a56290d5ab3bc8736b649bf22852ea3afe8f951223b0666c569ed8bef6fab276d890b573eeb04730915260e70de1c759ee207f30ee8db1cad24fe0a5fa767fcd743d730a74ddacf31f51f03c043bf243858910d5021dda13c03854ae044e25d3db6f7b115e974309b5509e93efa3f15def0b00035b7d41a3410cef40dd3596964e0b4b0f2d314dae1ac7ba684817861aaf83d80bdfa3d64966229efff5ca4fa9d64a7a81822ad3e9adadf535a75534b9001bc3c1c06c35d8f5a7d256a917d692601168bd8a8a81a24954e8bcf2c152bb3db30c01536d33588bf98434491208e5f5cff425336e091714dfd672a06b6e9e1e8e27e27a913b063b23eeaaecdb1c0cf58d594074136bbd0d435918ac5c07b6d601bbe17e089f0a00a88f7aa49ad862edc015f1e861dcebdd26c03bd460efbea4f3089999e645d332569e368ac8d63f2845352f893757e4c8ef787426f076230c23dbb9188e0d384de441c20784d4a0b8baf5521388347fcb5dec92bb4ed17593902d8847aff2214a5db16303c05a5496eef1f34abdcae1e0dc52e349fc9184b19e20224c205482a3e16276c89008f35078b00c527abbab0f36c397f8849f85b546ddda56f54e0796d00870c93e601b33633a9f7041efef22070aba78308696dee7be2094288656f84b375f6253a756d6ddbe6fd98c1a878205fa4b2f5562c16079277b1fd97a8ee4546899b905a87aabd3390382bedb67ff0f8afbefc2b10f568e59a394bd20d6b231989976909c4789bac86a6f2a9d6711cec59c86f1425abaccee0f8feca911cb19e427a028fd7f734eb7086bfadd1431cf054c7e7f0f4626e730add393ee0e9b0705625bb10a5cc6381368e486b89d66c20f8de9b8674cfcba2569f8247fa072166847268d811f1075aaa1abb06638d209595ef1703b859da2e509591a038dd109dfe7a372fb62297d149a5ec26a6bbebb48380ac102e61f1c3ee682a5c089614bbeb7f853de417574b6fe70cdfcceddfbb4525ad5b2b2b5a25fcf540d98d8e95649cf70a83f7eb051291f44ec1964f223302a6a7c0698dfda7dad85a9b89703adfabb8d8aff54aec677fa95bbfd5a6d0deda77ad7140482ed31857a4b4a120e4a8c1ea0b829529e532f1392e822795720e00b4dd8eb9645f4290ef0464dba73047240ca511d73f06cc801469b9ae27aebe28d7dd38b9f5cba0cce4f2e3120150ec75d29bb9d2efb15d45004e314945b326ec5703d32c9157650f1e57d6c54deac67a230311f2253cb9ae488326f30ce222b24ae058fd76356862c9420ced6e08ece3cfba81f74ea86679d74a906961307ce9f387d7397fb112d031544e4812a5e891ba4cccc1284fc8f3c203fde3322a1a691599eb4879b1e94e0af0d12a246a92dae39195013dea8a4b7c20ff2e00c2ae076f793d3fa236f009a34a2ec3949f4c0c8d501c1f019d2c932b2e230ef4610bbf6f13cfc0481c5451cfe95c051e198dbbf11068f6977e34efecbd95b3a2b547797880fc2b8b8ed147fc40fb30284ccd470f1f5a21c3cc4fb4689811194667341e12bce4b7b1201239c570674ceb855cb5e67ccf598505673144aa8604d93b9ee6e7ca01dc24f771421695e7cc6767368f8ed1979c21106795a6d2f9ac3f4d161209f957a88c3a80eea2aafa4696d16f0454d4d9e8261602aa4099790c1f4e4e6cdb6aa2cfbb20418c81d60e58f61f429725e718cbffaec4c65dd493a3d9891a330f4759d4a1a5aa553c5243cf937d9ff82ad6d197c8c5f78379d20605a28fc400296e6bbddab3702d8ea42c1c51e3eeca4ebdc1d62c9bb17bad5931e36246af62afba2ce01cc030b59f43af6eb165a560e99e564edf4cf6a0e1006c66c79c963ce5d14efcda589beee843ffe49e5f0d9292fefc8e101e51e96cf7b9c26323ff6e7380046676b8a48346dc1518d9c1c4c2cfeea78ea88518ca119a93a04b3eb7b24d541070ee852ac1472ecf004f607aee883d3ef234491912a5f87979f7e04a955feb65dbc3cc42c20f23b10b6ba6a22dd7de5723702c90017efab5b885d0c09902fca60f3cf7fbd0f11b57454003104d4c98c86337c9341b562f4ba9eae33d43ffa4d10c46e1cc088403074c9572fd0ca9656243a2c689625f972fa8d0d98f4b45604a876665716d8348b9a82f09f286215d495b292935d424108249674b08ac246a450ba3393768cb761a1245c0b9d3c9eb21fc0feab52dd39baeff370ac7942431e787cd8f91afdfc7b4eefae62fbed03fae0b5cd761f98c936da955954c29ba7f08a1fa067a354e6b43dd71f28a25b4ad51e80527a5f2ae5a896018cfab0e31450c524d39b1d60908f1168bf61a3a88ee67cc248afb9191d777056b3b32f6e6e5004adf27d0dc0db8563e3ff7ecd9876529eca10926c6bb220ff3af19bb06f02fff60569308fbbc29eae0f41108bee4659bb699554d4166ff59b6d5a20126f5eb1c63be84c1efc99745d11b62a54eb6160db0dc11b42f0b557f598e5eb7240625813f043b39b8c8264e078b9f8d9dd4713e830592a95565c2283e105955e1f4820c07d1f3479ec2ff170a5b1bbda099f3243d825a792d45e6ccbc3869b5bee1b6d4a838419758e785fb2cf7794bcd70a1c7ebdd9f459bfc4498f0a7f7095ff9b2dcdadd654f310115c8934f736e36f4e06da81585c593370febce6f2c4d60921cca3a2898f73db4a8c4cef3d04979cc1ded580ec369b8e6b1408633d38d912dc85df1c394bbb7f8b2a455f247138dc087ae95ba38659d1dfe32194810c6246eccc7f33c3913efdd204d89ac8e85c379041d82ddb44945e58c762698652670e2c29233fcbbb860563ef82db072b4122d57163e6b0f06dda8be9e9805c388b90db4ccf3b3d0ef28c60a0c5ffc47e2c108972ce487e1a80d8a02bf919a19c5c96a5f4c40ff3be0402a1b85629640307191b715e074e3b0c210554a1aaaf39493303e9f3c8b95e026c851ad04b5022f331c045bf9073f8bed92a164a6d7a8237cfee72b20967a5559a48578cd5c8487b33e62c8aaa5ad67d4f2aff41cf97610ceaacc601853a9ea1490c39764d27cb6a3d8a889001b753465e37ae2a5b0f396864facf5b91ef3daaaab6916f51fa9bb4f134fd3372caa6f0f0327f231c42f9a12163ea0a0fa74d14a8a66807b283fe3f5c6e23c4e6c7ef3e5379d957f8054410f471228bd21348d4baa588cd564567f28ebe7baa673e7be3b92151201947c85a6c24debf6b0cc604a5a0739614d60408a0a1a90175b4f9c2c51261f045dcad83d9df2894c6c5b0e3aaa64887a8decd793c3467406e50b60cc15c38d6b582897800716e2f79e5cc867ac25ccc9a8ad2398b06b811c76ee4d0c00ac1416c6b91fc3c7960e5c05c29be51ceda1f5a6048d72c11a848f243047e8e615670ac5ecaf3e7a4bb9ccca66600799ebdb97c042e039baa35422d9bd20239c41e65127f83b256c51a983b7b43a81da729180d930ad914067bb75868dfd3af113e6d7116315a7926ed45c7329c6e633921265cd930cadda23c6bf91dd498a0cb91c23a9b32c5e6fdc41925f9af2676381cdd1d9fd6428015f4dc519336f02e7cb76b789d87e93316ab719a5e6a9a951a9d6128b4b335d2907e5680e39afd9679b5efc33096b40470d3be1ff78a6166752142f69fbc2ef2cf4d50d30052bea8c9012d2e3057bf423292a72a3556fbb8aea1c54d3a3824899fc656481924dadd92d6bf49571a746075f5602aeb8263faa6aa21b4647bc0d3c1d9e96b89db6b5332e8689990e6dd04bcc951f2548c2c83f448f2e0ab283032eb9738ceb6479b0ee14794638a77096f844d85748ee2aae24d06a086cfdc3db9920a4e6209875ae145dbdffc9bd25ca37e70a6397ff33e1839ba30402c99aca1261bf1f6284f72d30c8ee28b516f8c1a40febbd8a9ab56786d8b8b8dac648cc885738e3039d4673c26cd38efe56462b0d7bcc4743a3db38f3a9353f11276897bc6c79b78a2cc8943e4b5762357e09ee77c8369d0d1d7ad679a2f365da92823431ff236a9250141275c842e9a4e0d86a97c1711f3c054d82774c0d97d505d85bd156803a1721c3d60e3823ac6902e7fbf7b9f894ac2872650aae710344e7920b4eb510a031341372270604459350f316bd79a86a9dbe95a44da95807f5d21e68356d0193a2f90e3b9d3b3da12f8ccb30f5a1c3de487c6857190a22426b4da47e389e1d1b3b37666b7a1f5c317d97c98c97fac1d4c1d5481261e31c399eb3b67fd8bd5db30d86a6bb9cae8539e646a2f0801f7d457ad26a2161e1587e69ec87707bd9a5f25fe96d27e2869747b6c94a367d5293fb8959d1eb943da93294c57c1e05e141b106e0012a897f94b8191d261b7029cda37f2c98c4d9a48762928cecdf1b6634e0bfb056e99b8b54dee25914290be00aaa6172213de770548a3b8cbe8b4f94f9a08f87357b689ef1ab74187d42e66e9401f74a1d6533aa10c53c0be0a964ca0a0edc666fe25e7c2a5450b18e438b0e492e2ef01c105a8a8276cef6c065a84ad8608137a43ea8a9269352d5306e6c53e4ec2be25efe65c4b32ecd43fb4f539d0603278c3213084e1e50f8e55750e6f3fd448175691215d54efb2abd71dda220cac05e1559944c9c027da9795286ef842add4fd22a4f05aae8cbc3224f9e42bdf7380806100677bd8f4bcede77ef9b6de5594dfcb129a1da315b522f11a590a56769742852858a1f437a3fbc422751078aa0a85997648ced7144bb461dcd0a9dd74b9ed0b93617f5e2cb0f5c4493b6b1bacb805defe01bd5511ddb4a6effdbe5bec193799a0fe3c9d9edafa5da9e99759d44636025fe00d076c382210de7f60a9637f6e762e02d4c17f6ffda81f7dcf6282b73c1c43206c77d100d0dd5f1742968f731b33bcb77e8f7cd99501cc1170b897fa111852096a273b13066e071cf219df41e621dd5a53e0a0f23f24923e21332d1c9eb1bafba302931cc9d37a4e7a8984e8d4bfba402274881b3db417505189977507b7d23cafb4bb99dd91aabbabd046bfbad83a5e934753b0cee94a18538d36fd564df8ec1cd6e3433448532b9a1990822a69484251e043b3bd37a2569cb40b091c52cd4d2244decbe6a4842e3eb6ef1a619a38d56a9c96b91ba2b0a052e25d7cf90d4a0c87d19d93191d5ea6dca16789e0a0ea399c713e9adea0e7deab26250c7b67b5bf4c141f3a38a9cbfcb0b3a43d4006286e497495d5c3a25ea6c849726f7a27107f3a595ff76359e1864cb6ecabab22418afe96dfc842afd3c9d2273472087e931fdb49d552c9e9c7c40c8efe2b5c7e05eacf88232c9b27a567cbaa302e7b801cecdf783bb7c59358456e5f4c93875bb75ee32b4ab8250b1504939aae00e94a0bf0f02df157087d8767eb72f29beb432f7cd672a87431dd1b5e74c62e3fdc46713b80cd1672db95967b6da9af18bab2c1537f65dbe9b7dc0675dfd8d85e5396293ab0dc601e7e8de879dd991aa5e6509257276d33c738cee8edbb3cf39d18d9f7fb2fa7f555d1a04e9d4ad7daace0bb5b0ffab9195c7cdfec8edf26924b7d49e1284b83d63fd12dd1acef20b8912a7dcac921b8650eac71116c4ba58f7b47519c4cc93fe38e71cdfe01f0e3ceb878d957de2a9651f570a12eab7e45f48e4102f9ea0e0a910ce9b1749af5543e34491359d192ab7f8fa85a5d056c5ac370bb3221d12561e20cfad0b8904705ac18b1dc61e5fe7cd4969e926f217038d800c3d3ae8b896dc9c507d3ac493648a86b055f2bd6a461d17c675275901953a8b80e8c75c0d9a79c41dd1440cece7b71c4c413793f751d3272ee0d86ca498d71165a89b6e4e21a4f7a75d83db03b13de1b7619ba1bcb2de9a64eded7ce42db9754389eaa1d3c74757163439ad7413279210e2424af2987725c85c831e91e57c642cf6570cb46a01fece78999d0839d0cce966e17168962d304b42096dd1fe42897def768781bf43ac31b6fea0f6e91ce48ad0fca42c6ca1be75a9ad87934e2022e5375db9c6ae9824e3e08a06d8d73ee7235dd8fb515112fbd96bc09465e53f6f250b25cbe15a28b34f00d4bd2e0668b5aa744f08c099950edd910b87fd7da59a05d4d31a73a735d85d6840ff2e3b4df9b75d4689d249a02018c0f4ea73ec612f74e08c53f659ad4acf9977a81fe00b6fa642ab5389853e8b1dfc8e2e6d00b53de8113a9752f5bbedf70eb9eaa850ffec24aed3ea39808a36023b9caa86871c71495e9aa6a946e5ac980bf142125ce3de00cb35b8677367fa2321a4ac9e90967f6d108c7d7bd69aa5e50961735aa60ff68f87da2aac6acb51fa287365145273600ff8405f51ddb308ad386f2013d6471f96e505cc4b3235e28721fa34abc48646a72806f0be9b7aeefced83a5267b3c3f6f288163248f0e86cb472caa985f599fcabfe7bb12f364cd59a41d7b21f5acb90060838c5e7247ecadc2195451ad7dca0db36f96230e348b0761c0987cccf33e863152794e69ab6670589212bf69fef512ad639a0aab7422157f0c1e84d4d0f8aff7a272b671c394b72c3b1656165ab9344cebe3134e8205a070e230657e4d631d5014a5f8472408536301fc254920f0dba85d755f44ea0c5df41d7c54579da8f5dc49f064c7c447bcef8f80f8536627335e26699206a59615232c54a2de0ede60e6f0fbb0be95d03a42a8d517bfd093fa922925171a6bedb1d6cc67c04c19b8f1b08064aa66d5843fadcb72df6c1fd4b62319716443aa721ee61e37c236af1070e98a58882b81991f0a00d71819555695f57f23686b306fc610f53c8b8e9934adc5c6f1c4934287eda09215caa3da3a3c21e4f4ee923d9b2106f7829801e6659d270354729a0197554e9dbe1ac7c5b6f1640f35110f853472012a959716068386f0d1cd92891a3b0a0b25a111bcd5a64a3b7c466e2c97758845724e68c8549feda72f32891718a29d5c0db111134d1e921e8fd0044e68e7fe13bd257b2ac7a18a0824b852fe978718e0f02321332ea2d038fea0393d14d6579c798640291bc0371ef1bc3332c95ca37ae5254eb6986afde346f626fc005e37754ac2d7422e9e3f431870bf16beac98247b40f9eb612928cec8f82023bb2c284fa143d5f03c351fc1484045aa1c19a72a4dd56dc0fcbd19d05e50f0a52f9133aca4c6e1bd26c77e1f70c2555bab9084be582bca841f26d26c8f583d7840612452c830933eaf630ca1ed67c71c7d35e44e0e503db5e36c9bf462fb340dccb4746656208f032b5942f19a433003ac5920c0d5df5c74bcd738d345371e478507c8a21c6d1235623c512aa50cf38b5454952a482b506d3b15c61e9a5369f72c0c617bc773466ed848b34d2c07f67a6d26af85b115e1a2fd02b88c678727249eb7a6103b8d4cfe9807ced6dadaa30d1bde65daa23d035bb57e0c9194def010fe2018b80b0d194e81dece5f64f770caa0f614e2d0af9b65e15824bd1657c6239408d5d3760f9e4a76c7dbda6d2387918ff074888c4cc7c4cf09e83b5245aa24b29b9d9d679fef4629759a2bf2a2f772a7a4c1e6b3b6ac9b9ab97c071e5a4554f77c05591cd0cca30c69271a8fdde638221d99076b9c004a482d23e2adfc2cc6222f18598e2c35bf5cf52798aaec0530dceece980d6968713db38c75a4fca548397bd50cf55e6ae03110caba04904f0971c4e584fe54aca2e23bc9d8d2f672370fa9d6e9bcd51f2586cad05571412449b6dbfddd7e4be23742f76cd619b92fb0b3dc24c138219cf199af43d7ce6d1a23403e4f9d9dcf41550b3dc036cbee79a28c0e59ec6c2e19cc1c70de8da43767b549fd2e98fcc7527e671a5fea3dd04edbf2850364829c0cf4b260b434866c507a8e2d996afab4de3f9119a5d00bc83a3a4a2a5deed6d6fdbdd25fa9e1dd91f8761430973a443f7c1fa65c1dc300f9564b5f6926a96b08dcad60ffaf730b592233f2549c4cf6f758e26ed90b7fbf6f639aaa3975b0652ea53079f18e16729f7c04be864ec7fbc99f538ebc94af224f6ba121028923a7369e6a825a5ed6c19fc92bf2953500a4a4b3d94cdf8af337de92516692395bda89424cf6bd9f829c8a7ec441060cc1eaf64a36aa6e59cc6da052ac895794048a3fc0d827178daef7a7c74b2c4ee70ea7cd537269bc3c78cadfc17f1855ca1ea6f486c65735dd478b1a975112ab38609f46134c1d41352ae80e0040b0ddff57be64efbe17fe2d76928e15052fa7033607a27000cf1827da1d7d0552760373180e13ba48a8f8c24c42565dffa48ab89c78fce0ac54c18eae83ec8e928b8e9b23eb81ac54b0f057af18612c75da97f5c5882d80e3729c61ee6870e64726c0992d17aec681f073bf45c2eaf25afa7ef89534ec560301de338f2489ad27f282aea5a5546c4292e517fd89cabdb298b173f09efc2c97683a1392fd03569299661ef93847c68d640d037165813ee7c9a53d3f27d7d63e521d958a4ad2fb5019a990847f97efb74e66b30031dc2e4059ff7cb528ab9bcb95795a4984c34a982a4cc813b15f3a1613a8333ac60d60e6d84ea59c6cc251758327b6ef93d0c206b5f0dcb1a304571bf1ab98e7b576ea66b78bb78d43fe58e78d1d4a1285ff531a81060e5794f7ef9c10102e63f007bead8ff1f44ec374129b4741b707f4751dd1bdb3589f566aef85d0fcba48d0a158bce1ef82f91fe157c18f12b4389a1ead10f0bdc18ea64f659033d1e10731b999b01f05bd0278a64b9aac4a2bb0456f753aab90f88a0917f0e2fc3415d402d3f1d1a7ae5e58513469c8b1182e3a7a0dbdaaba11aeb3485dca51c0f3a2a27388e78050011140b7e2df0a0b176ff3b7fe26d882860b4797f2584c5e3162bd6ad055520e3e380eec1ec7d0613b595d9c491f1dd314f031c8388901259a257a6d6c4281768f22f9f556c4188262e99d6b77e699d3e0a08bd5be58bed00b772ff1b2ec66cece97f69523e0f396e4aecdab420816a5e98bea1a26f6567b20bc0b617431f533101ed1e8835eed7ad8c010d5aea9b859f5d5ab4deb96db63a99ed50a0edd4f85f11a4a8d81827080862a67e4edb5ea48ef9158738eb837a93f3d1d0745ce767cae9382ede607ab74e6689956fa0ffcc491230d5e675cd51b7fa39cb26dce5122d0cefdccef64d877b7540aa4a46d78a0aef6366ae3f1cd83c24b9fe585784f0970cdd531c3d92ac3504f1b4fe86ca711f7e6e55185f5d3a3edf421c22ed3b88fee3aa4d7be7abee37f3bb437d3ebf006770ec757a24fbaf93f7fe5cf083171b384597c489169bea184a7c7525ae515b1399dd6b2bc31a969a27639500290218c45499190d6f11d4bb4bf2840bc06f989045672e56101f47a449ee96174c81ff82ca61e1ee7c7a3fe07a96167933c37fcbd5c245e7a17da4cd8f43199563189ebf00f543802b4c942ceb47dad409d31d5acc520ea02d552ca60bfcd6a884f0aa26a09a5b743b4b517b85c2f9c2339dcd4ccf88b972d3a3b076dae700450aa2f7148950ac104ec8074a302051395dba3d5516213db26f9e9430c25faa9c55ad24412ef2e23a261445dee97b2e91fcbd81b1d2d57966fc6f3d3e26484d41be78a24f28d568b61b51940359b76583686a658460223f92b073f7a74b4613975e0f64931c8e5ededb2f50179ed2d1aa37efafd4ad470fa8822faed1325b4d559d1be73131226c54071a09a6a1af47334d0476021360dee4cff212ad0c7eb649156abab99b2edeebf665018d0ca12ae95118dc0c4fbc6b7030d306ac85cd7f0c21613219dc693a6cf45a22ec9963a53deb731f1a6a24ad0ef55549967a761e132300e5db2abf3b8b328c5b4f7e82c8133ffa3fcd66c10b31169a61137b313cdaac8f1e08eeebf6ae6327cbea1368f3e68ad7359021e82264e0b9d36b5b509a7ce115f8d895763e9aa3802e331acee695e183bdf85140ae2b57531b52c2c4a801d1fa4b02d9191524c5a163f67da694c29135ca8e751abcb112379ea2a530b2d860f5a85b9e66d84dae2e1ee71eeab5d7722d3e6922797d63512534e4f4edbcd0d8ad767d403c1f2e77963fe7c91502585993d32b08af89e2660cc0678c1aa00aa367b23615718cc5104d9b18c643df9f51ce6615d88b29472ae942926f52abb3b583e6c5a67e91ead3eab031021acee849c2d9b03819f587ba229b9c926ac074243e13cefce8b0a3fe21a28529e23f4344e6a3ee82c47c1879e81b36be30ae4c905a7bf67ff14a82af3e00557d8de60c7597e9528fe496d68d630797c7183c6c81e5f79ef5853061e5448d5fc3df376ce5b36ef3e25c63cd734ede10da1cf27ff838238dfbeb65a52c354ba7771ecb79833820af938bd49c99bedcacd686afa2cc797336f9376474363ce3bbda15e80dc97fffb3ae60b5e9407303df21ee0ff9ef2328cbdb59ba1bfd9543459fe2ac406e8e2b5813fbdc3681e022b3e9607dacebf37d40da6fd9c4d60dba5f1eb1f838cd37ffa9823abdad4a3f5c62b0c7106486be5843ec84cd62e0e8eb65c04e2cc59d15f6db1f6acac168295efdc9f6e44db063f85c41cd05a34ad52e350c813825591da41c2242d175897d11bff135b4b050156d9b96cf2c5bb4685cd0ec17057612060f9165a7ea95ecfd3593e7c0354d6958032c0eddbea8bfd803be7fc91fd145fdea4e933db5d2e6dc8e47b3510a49fe85f3bf5c0cad7f7342b3649c69c3ac463eb6a5e9b8d38ff3887cbffc1ed2e0145e4eb9389ebcdf12dbf738de0d80dbfa7793e00f5a40d689a851018e25ce97d7d20eede22b65f4bf85857201a8c131f34affc5e97961ff399f20859b86aecd537ab8d10f483060f8444b52cbc5f5432cdf966a460d1aec0a4df6400ea7087c0b92a8978b9c09d91e59c3fa6a5fdfefef3d5a0d3292f20986581f0b8bd7586516984ac588bb01c3a2f5e5290879d6ed38388affdcf7739fd60cf4f80b8129fcdb8d383077420e79d862b2eb90e5f955c5fdc836557f9147bf8778f624a6c4189905b434c02a007acfd111be00d05edae12629c5cd6ed7be2a44c8ea8c771492ccd15d838b035e0ef997f6ad29edac3abf09e7bec11735282858f9a8e8c8200194613075b04b9f6840bad02408bac71d6c143e0b81c65b25f36ebda19e06b3148b266f46fa2d9bc3b80f71fb35a0b71ccbb786aa9ce18b43f098e49c15f4ab970bb0397210d0d4863e2a306df11999a80a05c2bf1071815f1d8a4e8e84d42c3f2080db8ad890af49e7e4c743580978dbd0d435dc8d8efa08cec66c3b8d481db938d2902dd887d645e9b379e42344e8b09382ac532ec4d37cdd279faa52c4c67ab061f8458c40e989f68817f8f09f9eabce3d63f4c13adc886acd7b4fe15e00127468a17b2caf359d403ee69107937dcbcea6815b4845029ed07d9cc5e4215ea55e078cc6a783130de31be54d69092ead0c159f369c37f71a8cb01cc921d48f3daa2cb141f76f2a0dd41b8c300edf47f70f15ef45321151e8a2a9c565342da3d17354fd98c1b2bf7963e4bdf97b817b21e917c31c59bfa70ba86e25fd4e83cf6bc71f3d632a4c42fe72fccc13528409c834d3f1b8d98c004eecbc260e35435e5df2119376c17ce62a1bfadc443e79a4de6bbe70917ee9bb64d55134c44c256233c968a58b2c1fc954fa576c7fd12bb4c7c39d83d98b6e6de734ceaf2f9b7fe4d362a4c0ba9636168506b9276097ca9a44056d2c88c61742353655ab80fb8578bcee4238ea0716fac58a25b521841d353d45206c293ef7204186993bbbf70e5196d1dd7ce2795898b5b3467dc9f82884bb3b086cf9920a1f2a8771d5a2c75d712eca9b6f75957a4f8f05dbdab2698c011a3f64351d850a02f3e72c952bca2f25c66d8d1c3f48c68558b352a86727d68287fb4d68d33f20598e5be6162abdf58f91bb85c5685c85a23b54bcb62d4f11ff9c418e0713c7f70164affd8f7c4924805384b351db72606bd0dd83d1f97712f04750a1fd2d23062455f145e8b72e3bf6cf2eb4b97647a04413f264576c7c895a931154e69fafb4ce7525913cc142d42f3d7a8a257275bdd978fa5d33586e6e14ce9c99e01e961ffc6c2caaab49a1d719d5fbeec6b3374822f7c9b381cf1910dfd42efe9c5247378cec67d30fd294395d9bda09da4d38da71e5a1b499d585b1a8ae5b9f593d901310c97c6a9280991be607517844acd4f23b91ce04a89a917e516b4d28b0bb8c7fe679107a306679d41a4aebd83d7cb1b2c3d2a86e12f8c5b5969ab2fb46824dc10643c9878b4def9d19b1eece5f4105f5524b7ec639e26c04b4863a437d0492c747a629e19c5c398913a452f6f3ab73086fa10e74d05170a13fdf13ec808124872261989109472e9189c435f631d99a830512f38bc0e8a75991bff3c9520633e94aa9c89adf9816bf1199622847a1cd028109d8a8f0a26cee13d0d59d1ff3b5ee93a0d58e8f6654d73d41b6c6bb23d06eee8985148bbc6268439a60f7d96eaa7a402baf0be0df75f00d77abf9f5aa4dcd2b85c7e48f2dd798360ac06f5a1f2e44c37ff5a1e5864b7837742e34051236340ad609f553768e1e070263b2332af74b8b429ed76a1eb3cc56c53e25ccd84e8002a2c6651abbd431852f8594c718948250b8514741e6a199007b8057659242e6cf0d07af078980703106a97923d3964c641f459e50909a0445e0cdaf142c2d44d413771a656c1c990d542fcf663978a2260be8060636825c9ff3a5fe897e979d297d4f6c6dbabe9f2f1532191c1fe9a921de8246a2b4b915c10b18b59443e002610f6524dd3a55ff4969cd89b6245ffe03781e4e60eec9474fbc4bc659a107fb9b344a1ca3805a5273b6b5de6acfa59ef1c1b75f5e22ed886a529b012bbcb0a26f44e26cbe0cbd451a8e7acaeeaa5ccca838624467af23f408450eabdbb15bf2eefde7300ac8793d16160942ab6b2ca1957850341ea2d262357e23cd117b86d76d07d9f9cce426a3240027ad513f81d91c5a357640fa0012a72d0e974976f5fd0065d25902123f23526145f522a79d99e6ebbecc5a6230fb9eab28ce4d7eeee1a7a8a0bb055abc28bafc8593a7bb45561bc1a4652eeb67cbc1574b2e452edb91dfb25b99e10c6c505b818b8f1d05cb230a718ab33d8e12c9441acfc5d09840e9c8b1cc0dd3a4938182913040d47429e1aa40cb801cb9eb1c08dab96208215807918591a21ff3e68ddc5046a415a987d0502253fe8c224c8f556fe88a97e90ae5b57ced6ad3bfc221da73e067287af54beabd7add125a9d79b4eb660ae143cc0e6f24ceeb6f4ae081c85f6f9b7a014b25e9359480b50b5422029d167d83a12a757b01907d22555af22f5741dc6199004f5a931b3e6b8ff319547094203b01c642e4e0d1a91456b958e0ed45100557e988a70cb7e92b69c848de42e83646e568cdfcadb88104ae6fbcbaca287b04d6d05bca223041e1eab515ef01770c7740715ee7224a2f1e770ae4e2ae69aefeca8a328742f920a100cf29ea0b7f0813c135061958971d0b47fd24f58fdca53eef11d5ad445597f55de03ac5ae4648d4c41586fdf0c52c9fcb0ec0d2c4d981b508209e265bb10086ef92013e79021a9206117b3c7c2c2446f8946cb8f4747bdadacf8c8d80e4816820ae47e53a71e7085c72319b81f150ad0ef0fcdf5a931c8f16a208f7c8579d89a069c86b69350a294b0244049d27fdf1f39405dacb49926aca0893016656c94773d3e9bb5770af9c382de0fbaa3f7ad159b81b80ce01aa0905427533a899ef7136720e518be14bbac7d03ace0ce6518c5cf0025e02a02e6de80c650bf9d11e968988ad426410bce9aacd69525582a0f2cd1aeb9affaf5214f1ea019f739fd94192fc785eeae9786cdfb867e2f3c9f91cb16a44f17d8403e65749e7f699eebee5c53659bc3f305633cc805e60d8a39ac0dfc40ec3758723ee213ac962ea149004287d5c001a00f68206020500ded54d4c2bb87563bb32cfe03d7f6a3847a74ea9855dfa23571faa04443e0add5ee4a3b62c7c6aecec7a65eef9fc99ac341935e9cd6d06a71d5bf0b163935b57d3b3eba9dc19870fbd76620255f207eff9169b91a654895377f16c72e61c930cc9601893609040df6d733a53cc8c35ae5d618bff406b1d61f2e8ac158bc764bbab004c75903a8ce257b07b6833979c7871f88e439e3fdee374052c0035aea8868e770eafa1f9d68dc53f242ed54ce764e87d2b842d6bbec6339824f62902e1d63ed06dde592f184bab25317c0397a3434aad7a228bcc02b13cef5b45c64dbfe0a7287012a6e00f27adb115c07dc9e17891693f875bd839a2f051158a9a02ab02acc693fe933b3f9e35d63913fada6bb3a229f279f4be6e3f1cfb268b883a1e62aedf52f59683204b877f6e53c22fc83411d77d6a8876ea330d2bd2cff127e10c327c7c752627a25facd2f1b8686a4fd44d757cbb7dd3f4614ae5ee21eeb6d8261fa6c9db2b8b4c7430bd86186edaedb76de8ebe7bb89d3259b5f6560ab3fee598e3e4445109aec0338c7f8478e20c7c1e1e4380d47cb85c9cd653405babf43742c448975e7f40ccdbd8527f1425db2239be9e5827f3c9e8db22352a9fb4974cef559914579148a2ba7d9003adeac61cb08434ba76f8d2ae65fbc342a334607435f0dbc7e98ea42238655fa9ac9503b1499f113f3954d10eb60eee5975a71436169591acf8a6a7718e8a95f8d9bcd8a096fe989e4f5653ac744974dafb463269652517fab3d32ea45b713eb53b61e5d857ef58baa8bcb2ad83e091928e518bb126788c200504463fc828b6bec473f2c96b2501a75efb155d491cabac92e1e721144f33563a122fdc1bdeeda23ee26179bdcc8329c16cf41221ad877687d29e1a21e0ec409b7086809aa79b2df7e8f05c676697dd02248425ac775b76428f324f0428fd747a930b59b6b490d53819495ebc5b06d25034d85c0e0e645abb8181ba2e053248e054eaa36e005f0809917253cae388c596bb9d5584e011cc5be754df9590ded92effe076be147e3e3587f49daec65a7467d527dcab42f8b635848e8b39639f176ac764b8f41f95fe60367b7fb0f17b3bb4621828f523f619c6340039f08c0efc56f92c4a125ff953dcbdad083aefbfde9819f08c057d3d332e28b656f5ac169e652136b547d74e7bb84d61bf6af88edae69804be51d9a951d24f6dc9595e209afe25e5e277b7ca3bb5f09883d578c00d37cacca0be162e9e4dc712f261e417b977726c19e6254a527606aad9a884a2147a71de8a6b4249e09adb18e674008c7de09c788e00809d7e1f5a055e65f9f86f3ef621643cb8e7cd8f11fc425d075e25481f3c30317490bfb3cea6f0fd0c4ab7fd6ba99246ab4d9a98a8666e16bd2443a278d04021b19b96508133cce86a73f26b2c96dbba2de53ace9804d29ac20bc4eed2133d15e4bb08dc6fe9e29697a85c0367b0fffbac4f2e23affab15cc4c6a48231f08cdb5f8e10ea20f010ce80f690b1e16e3a95596d02c301e9d88fc3667994443ba67c43a7476a1072cc8d1b9cec5d4ab2fee6d632d3ca553b893a79cdfbdfeacafd270927266bca2b47bea8b51c6cfd71e1660ab820b953657f8e16410524a512b5afd876030228cdf2cce0af9a4c5df6b2a01c1fcaf92dee9facc3c64fa16260b7a861bc22dd58cc0c3744d0af82f2b9345686ca3b0c3b588e9485e8e1ebdbcdb657768039277a0143b346a01fe8e0fdbe3267674943369013911958adc6d9e382f5e4bffd968ed817bd947246d2aaf0e55505c64c66ef6683e0c5565733540d16c5f95ea2e1a2bd4660a1c353e7305920a1d1cc9b07e3749860b8e8468e1988d1faf595de62fbd67cdf8e286444bdc4f6a02159491ad73879fce26534c0a8ac15b7744d629c08304354fd2acb8d0232649720465faedef9d12d69229b79627eec8af9a3f8c60dab892373893d728f30ec89f30bdf4c710bc5223f050507dc541e35c43cdf6180d01247f8806e937ddcb4781e4d7f9862791e8a0ab2b351c3436b1b1651f7486b4ce9d0fc2c337c6ad3c69e9d66dd66739d8ed92a8c7653b18d7cadd24e1d3b2475134e80ad765872d95c20b05af9b9fbb1a04063b9bede8f850709977f15c3ed54d687065f91621894ed6cde50c97b6f617b8f5d188e88ea1cec51eb8095d7d3df61f00648de26178e9fb1bf3df9fb9e44a44439ca2e966255df52c738916e2b4ffef240a03d16921cd2247f2ff39557fde25779d2bdaef51a2500e98456ac2ed1caac1137109ade7bb947ded64495bccfec5eeee5636ce34d03ab1da18e52979a28eb801ecebe1e9ea54120b47227a03b3911b061637322033f677016a8b7f3ccd0ec8c1339708f86841373e36e59e5f9ef4530963115448fbc7bba0652516271cb097441e216850a5027179815a58a926baaf5ea01a1931604cb256821a663f8cd913d1d9538b99a074ef9e6997dd4257109ab2730139314cbaacb83589f7d6fbbd5ddd5256bcce08304435cd41daa11ea7e9603ff7406f91e547c44071752d98b2b096f554f81cf0b3ee6f71475fbcd416771c3ef75227722cdad898741bdf9cb219c4ec077d0f61a00628cccc09e240b50917d13af80b321d2eb10b2cc8ed2503cfb97b80b97337ccd43cf35c932fe2d17b026c50124fa1e2692fa48d782f11f0e10119a2e20bcf0668a0d1f48e667115ab0b377438532ff79e007b49104752a21a656d487904d121e2709e4035db50e4fe5b0dbc5c720eb9878ea6d7e08854243dd66598765a961acc3f7a342a0b0146efe4600097ae0cb806ce23dad1b00273c22c1547a630d5bc833b7e3fac7a905203954e3efc5be5038a4c38e65344cf68a867bd60c1d7f96a46a75362d589ef959fe7fb61abac8afcb36b7f6a401c0a919efbc405435fb353f9698840124a828e6042f3ed1669de738be843e90cad13c60e896ffa8c324bdcbc3576abc58e003e2fe1edc7f975872c277976a37877dfb23130808aa5e15e684e7f8cd096c860eca1e5af362f23d671ab9a0303470effdfb4d2067a7c4e90785992366f87f9fff72258f5265ab7ce0b68b5fe926483291b21d17268dc76459b53e9a02bfb330b34ce2555ed753457d6bd4b86448cc20ce0cdbb6ef9a0113c764f278d6d554a30906b688fe24867aa0d6a5fe300c9bd0cfe1c404498bc87ef571e06266788952125f5c712fcb23b8711f9b162102cc2388ddb5c668220107e1ee89498af4b42f694f7e544f0a369a4bd1e60f4fba1d727f3163122fdb216d9acfcb6673bda220257531c88ec5b5eeb9532310b50a3689bf69b57d43611ca7d606c9c3a425e0d772b188b5f9edbda198af72ccab512a6d2b087874cf2c5c6defc219c7ba5de50bbacc081d36b18e75aa1751dc82982bf95aea608461d77c9b8d960015b4a0bd32566d8d90f304c63c0a0efd6e9918d6ea574a4c95d983c57205f90ca44007f9a57f11c76684dabb78d647c7469fab2b6008590c55a6c878bf4ab680aec809d245caf568b9079c6e928487b5fdc8e37a1d52b7891bff8851b87b0d7662a949852a8edd0721dd40f87c16a19c704f30a4fe575d3e64fbb6b502ab6dfc4e5fb0dd47fe75c3ce06129ba8d9ba85cf1ff855b78550008cb41dd8b7a6c9ebd0607a69f41de4a4fcd6d6e46e6a6e9c7887a9acd635516dbcc030054e45f43c6a81a3b7be7c3ca42fc669d4b5bf19f700e96e9a0e710c09092f4c267d209fb464a072fca5a988adb0a4c1f32da08cf0bcc3e60771b7dc77a02efb26babfe4183dcd4b98fcb7a1829f1c9ab109e3a66ea9df488e728323d2dd88c06ef1b659a43ce7f4a52d10d3711d43085ce9f81fd1b29b881fba306f533ff9aa59ea15d4ab38390da45b92f56f8717dd45aa9982634744a6c4bdd908a90a125a9f3b8b4a5bab03dd0ad8799ead951bb885158d1e0319c42c1fdd490680033531eee00ced619183652142ba9e998f8b7c60aeed61de232a0dd7687bd1521c65401567667e6e7d76906cd1f8533acca8a9f6bf3a417d8f4b0f362d1cd6fcfd07e926e96d8c0ac1c66f6d244c1e9f8010e2160eb06a2de3a2df9cd70e40af8e08f9d5cf38a39480355b65577cb87ce8a5faeb2f6b75515dfab5dffa4e3e245e6c2e1c7733b66b9532e61dca7a8fd8539e8311259c67798042e8ebe9a6e813c6c3a10120f55405523035f25055ed4ec7a33e62a9dc418bd90d885da661d2b1f21499fa0d4ca055c72f7b1870684ed1249ced99ded3804be03845f93b9afa0cb468344f4a50a09d6157de92cf9d3ce9071caa98fe6aa2983db00eb7d3419ffc32867a718f8129833a690ffc3491b5575d8210fe166cdbe4b8bad46bf20cbcedfa4b2b8242db0e056f1f60c15c1ae1b8c8c331783060c00973445b7ce555fc988eaf1fd3301ba266d6ab43626eb2bce328eaa4177092be77d9412e5927647f7778ccb4f75b1d78eafed5baefd26440cf5691b1b42702b024c8a6dcc274cdee3b4e5097b3f1cfbabd4191fd2d1847fb09de2ce7b43967247ecae83b70d7f414aad9ae4e67d7bd66947bf2a71b35cde5edd0722cf7e13aa84c4190dc42712683b6c5dc23892c2aef20bc0da189eb97419395fce0ed0c11311d96e72738bd0e055d6ce10cb83d013b1bd21ea38fab3956549e65b00d26c75c1f5a961fdc0ebc458d4e49250d0efe416e14ce1974c4fde0f04be19f2a395d84f27ee9030c716185d32c2c56dc3d1eabfd83c0a125f3577fc54d3100e9685bea557794b8837d018c73e176ec57674e33245a679b705b70d8a1a371985c2f93ba19c12e7c28e734d061dd82e7bc2e57c91fb415c320c33fd3fd4f3c16ec8c4e10c9702bb89dd855eca04a56a3dda8e97431169d664330e7e832763022867953760abc0ca0861447b2e57f4286fab36ad6e58ef0fd554d494a97b591af1bff4694a22ce8f09240a3c255447b60854d5e4372c3109cbc4d1bf02af77d045b09108c09d7e7672297ea955fc9a86c9a69986770cfc028fa00ec6be0caaf2340f152ac42e68c35b9f0c3ad9c8a5429e43b84c58f54fcbe0e1d4af50026dd1556f606319bb8aed139a39d73afc3e9b36817fbd778b4b7a5862b5b5483fd036d29ecb4109158207aa0f96fbd084a6b9cfc0fe53b2d04018b3001b5c251fdf5a27ba03a0c2ffaf7f2f6425813db6186b62400fd6d1e880b19eaeceb9e495aac91ec0bf3db09bff49fd39d6b43f18b935511e68d6b5a5dbf8ea77a0b34c391067569adbb0058bd584365c1e4c1b6d455e7f0ecb148b9898ff4a2a9c754266e350cf191c61d99d1fee1365da047d27a832865de465db71576d62c90e2d0e975196de8be7a241890218b790438a99df75c6983c1302d185d3035ce8a41e8c35c1d29264ae425bdbd7d5b38bcae0857df89a1371ee826a919c8bb16f84d9cf6ee036dcdd5b78a6d38529fb3599f43cdc97d0901872d78bd52c77e445eeb7d9a8232c40fb37f4f5bfd38aadc1f14cd644b4c24d3b36e4f0b4dfef6ba93b9b50ceb09cc6421c0e98c0077bccf812a085137a7b1c1aeb4d13f6326bdde15eca17d37ec9d4e4dd4ce2278e6fd7779d7df62df8182946bf9b2975efe1628eada926a052b916f177e3be8d4b7a89b8c135174d6f219cdeaf239c6049afd238c722f07f316f6b106d3527015edc4d0416b07176f55bcc8d5ae0bfb4d13ece32354921fb1bc2cd04f5d6746c40191b7c45ff5133f1e44f91303a9028d15ab5a9da08b5c4379396e64181562eb8f4a670dad7b90858e2d5ef79d08a81aa496852a001d5d860d4bdb54df37eba3ef8b75405c67fd56c06497b61bae3c3874036697bc9c7b1512a342ac9cb9fb39d22db607c76949d3363ab80519509f428b6f6fd6393080487e1760c4749b87b728a3840b06a46ce2b5e99b137440c5fc5542d906a9aebd917beb72a8ef2e99bbb51f4c73938fb1446a7b312e9f49f63a20ba2a9bf1eb01ac23cc65490e8e2c2477cec69ed4fbb7287550fc4b23ba8c6bd1d164aae824251ff363efddb2f4634246aaeeb22e588ff010e37bb74bf1bb5eab52e45b2d43d6af6cb74944fe2c173d47b899a39939a799dea7af5604f5d9fecfd0942e0cd23f8443b7e91a33d1307880ae33918c393bb2e77bf63fc3ba95433ad38857b9f27e0fbe4fbe04bdc09cab8e978e822c47d963a7347e9b77ea35b2e7f691ae97caeed83edac64c1990a76d88ea7f0095a26ddb0df3e15d51c92d5b5a8cc52c9dae219a3f42a6cde8cdfb0f3436ba226c9ad41fa2638f81ee81675bcea199ba91c3658ef20a50acaf19934c87604a3b9c6a31339ae8d12a355bde9b120f9789a4329638c14744d94a18f5e8cf74de9556de2b9baa84d1168bf0d521ddd04229b3ed705e1e2911e0acd268afc222595fe837648ef1e89f6793a948b1bee0a08aaa3e911e0ca67e3a07d9f180aa669b5919b8fd738e45c73801ebeff3d90165fc819d3c17ed24abb46de777c5a216536227049df743b441510358f0036b25f35975e49432f3344ecc3b15019e057a78d9e18853de04ee346c76df3a36905b07fffcf5a849ee8c15f0778a43c72550978115fd4d15b029b2fdda50b87befea7afc3b7ec041e0ba2e02f79338d61d24ca8e5232694ec8f3306863ef70f4457c276adc4d244c986169aac22d8f2d7776e1bd52839419bf953c21ae29f7d9401203980c8d71f67e24f15d97b88c09c5dd40b62438e06dd50ad9e0f626dc8e37b7016c24325f29b5c009ea96d6ef26501891294ed5977114ffb2359d911514f0af6329e8f844292692569859ae06ff014e8095539e72e4c3bec1dbe5cb83efc67286cb9aaa9e4c90ca305a521faf056bc4fda3f8202925aec2c01ae7f35dbf9ec019444812ccef2e14797646ded5c1d3c0b1bf735726c1d4501402683875fb11d2529a9b431e104f162a8aecd9a3e37fcb88d3e835e60b881625e07f0d3d28555aed447edbad4e6f38287a84cd714edcc6fd519e4a4be26dba5cc4ff2dca3484bce7ce76c7db950726edb4c27017a24bd804ae5c42d5881f6b64726ae13bb7e3fa1c8c6b29ff8d3b8ce2eb0cf97a4cd01e34a6cb9815a5a9017fa3b5ba6dcca0d9812645ecb5b79a1016256d9f2f868e4238a7cc690860b2e8c41d8f0d47877f6e401f70e69b460eff873850778237c13f16ef59457f677ae90b8210179935b34871d7ae7113c290575bf7ab19a2080b985bc25493ff9fcd1e6a10c0776df805044f47eb4adb18e56b2b5cb9c5cb6bf9e0c2b2d96153a6014ea9021d8eba7687dda552e8869172a1f3c1a5c70a99d9918db7a86efbe77e2298a84c5a95de8f6d03ebd5a93823fefb54bace9d1db61ebe66943fcc9dabd6f962e4a18fd3f55c1664354ab5b30c47c2b867649595f94cac40937097ae36a8d438f74027adc3b896d290b78ee1b64d616472fe5f83f46a47e38c6c252bc503fbf56bc2d5e496b4b6ea4c31a2d2e643a93ba91d00e8160906c07b951075a87b2296106271238df65f45dd87cff9ddeee91f818f7f39e73d74b0cc6b6645a1e7d06aa0826571215bc75f30d0afb7b60022a0350f073a70c1a5f2f9a91a17ddac7c44adf1fd8d55e096f924f4a6ea801d0164346dc34eecacb86b0ad13253b0a8666ccb124928bab33c71d2e90424a2c0767f6afcc980ee284391fc8c048787685f89220ba1e444a72bb723dfc3463246159aec4aa1676df839a6d7383c82091d5c5f9c32aeec7cb6b3565c89ee3cdf5df41221d39f0a87c2dea3ffe4f79d333d4494b6679d0336e20cbaad4cbbd1ff44275db791efe6fed8e64038858dd5cf018a544e3c58bd11218f05d7297ff657a86f7842c5dfc4d153f7c58c2e9c7f1783c9ed7c1cc0f8abb1abbdc99e3924ddb7c08d224b3e47a4a8790876c3906c7b255fbc0ac0bd29c2c668fcd82726c4527721c7815db710c3d4b077466aef92612ee9734a347443649dc14733939e20cdf111756628bb170546ea618f62b11122dfcfd5c51db2a0c24172d33f3be4dcbdee5bdbd4a352efc8c70a1b8b68c96c2c268c6febdd9f04b0c418902edd2cc8d462e463d45f5ed8c37c321983894d16575765f58b61599a52a0870a2a05f2c0ae15c91d54886e23a61782c6e6f10bcffa2cfdf1400e6ec84796b4c76a3ff3580fbe5807f8cd3530f9f92f411f55fac37c0d66abad5874f515e6cfb73c66b06415e9f065a6cb322d4500f30a3f1cf2d04ef9eb68add633e700282ba21b8dab52b372348f7a913d29e2899c386e3eb0159d4450d4a854cfcfe7843ad5afd3eb0b16a47947a5dec2cb087aa7150c509580770020fe48045c138adedb65bcbdeb35a23912a7beae6b93135fc8d1c5de401605308ceab924a7b579533d679c8c5792956b65869461d334327186325da7d016d81e8a27a36f1b5ebac6afd5b0841afe4fead570f19f96001c423a628ced7d42af0a67434b18aa67d4d6fd7a0c2030757df2321b7d5c772d371bdccfe96253e4e8b1a6f951601a1acae6c90e0c6b6600441edfe33c3b623cc25898b4854d1c47cfe803fcc4d576d7d2226bb96727dded1750238b4806fab8266d5912ea626fa3c3959611fe5432692e5b26788d25e55a73c89d5ff7f5f6ea633ea52c48d5f15f5f22604c063e9c3a37fbe7128d8a665a0bea3ce756a6817213c600ab5d612acfbe0d348b7ac001d24ae50c49274345dde6f36baeae9a6117f68e7c21f7c7a1752538599e7d80b90cc4025e3126471fcab0a30a56d9fa6eff8a59a90ef14f75f1c678fa3fb997980db25299592d439c7a3e9495238d6e5ad85ac7837cf3accdd610c6dc55850c08de170ae08d4f4ca009c12988c70fab202806685ab9dd7ec23f57c219e10cf0e1aa013d898d471cabd357c6eb03a787492cea57b83c14b8b46125c6d68865a493c21cfd8c0b6497d3e5ef1db254251908e66661f766b3f15f44bb32865e384b9c28d5098c37e359bf0725be9813f4df3769e36f09a4849b42fe1ea31f6d4c7980646ec42ce0056f46ee680466dfe8a44ebffa4c03a3a5936e0de84dce2dbfe910352093d6cc6cef700abea71c15bdb9e50e5c1428fa01a7111894eab5f9fbe02398c0ee0fd1f8f675e7e93d09f7b7ccde43c5da41d52bd6fbb8a1667f8a74e3d86ebae359beadb4ef2a0d17a2c23a2febbd4e38e9400b12ea17b63cb4804ee5e526cf9b6ecaaf8b528d89e1ff402f397e29f5d2f6f3fe4ab9d24609769952c12482972e7a46f48aa537d80d15e04628050177a71125c90ebe7635d6773617575fe6cb5dc5ec61d17b42aff42c8567849ddf9692ac09700a2d0a17545ad5a479e69c4f19b43adcbebc83d7508484b58b1e026cf7a802df73ba41b36bc13f307b4125047951d22c064c2d3add4b1c9e3fab070c26a328963f92a55e7e151486f60d3941fd94d3aaca0e078ec2bab12da15dbeab74391deeea37af47f35635485f43f80905eb6f9e2aae0c14a162dd530ccee2e0f253e382665f711177e322d590043deb9d3464fe37da3cf2cdb652bbc8b10cc589f5c00f8dcddecda0253257519e6f151674663858de2fba43a1eb356710f3453eb86a7d81ebf029ce5fae45ec83967069de3ec9fd1fde9703c4201f266ad933383a2017f70c786394fcbfd8cf5a58bb4a819b6c07515e9e77ba0514887d63dae7f5c90a7f09997042ff6f12f1150ec2071a1dcaf3f71d6a4f4cb3c98f8e91785f1a22cbda09dd0d91fce36bd6b50a5ccf1dae763f961e10066d91cae0d895fe0f90f70f32e8ceceb601de4a7de060505a50c5c20d31c92c6a781e9b8c32fd06910fb279be20843aa5bbe0a871c51552a2fa472bfa2cc2b9e1193f67ac0d1e4de317ae10733959a5976850147a9b7e5742962f8881622b09e7d2a8f52754e8fb862f53975b2b13be16e1ccd0c7dc39d701bef61a10629b33a812ab01d83332c0b6bc98e4a31403d93e7feb2b7bb99f93b6a19dd7f46ea9a48395a3392616e810f5faf3fa29cc89fdc31e4be90bd24325bc1a93834b78cbe3e81f4cc4f214b6546bdc7d70fb177daa8ae3cb3dde568f823614bc0bd2a6f2cf9b972f532a9928337bafa858384cb3a3071c2445ede65d24ce9ae85e463b4590316d4e812b3bea64e66fae8d8b5d0dcd814a310354fa0f2d49687967abc8f16263739b78048abefdf6514ba2e9dbd55c6722a04852884cd188b0ad71f5f43049ba2355cdf6fcfea81a5c772aa620452491e182a19156710dfe407c156ac6984280402fc38d4acce38ad49ff2b9b567eddf5de9e72cf34b56c89b032a859c1bd12c21010ab9cbb09c414d791845857c15e4192c1f9a44af507205ca87d206cc944940d0fde6216d2026194e72f5493571e2373a8d24bd7f8e153ce13a4a1f207c75babcdae6b32162c3b8ce9d8d7ac6c0a0444e2ea86b8e471492d83f655a4c1fa1acb1ce30d04a45d7fd0a3cb27987669179c8fe44dd181db0bf498317b7a27f47ddde9c053cbdc797671735460ee73a574f417a8934da1473e0b5ef6f8231fafeed3face46cfae2ce40857e5caf65569189f5949b51a0444927fab804d83e0a886c388a76f6894f1128a81e5be85f5b1ac88715d0776b52785edf6db629940282727e0200b6dd7081639f3620ada3352b13795060dad40b9d3fa45e67b2c831b6e43880ace9b1c7f7a983dd206ff25e3191b45ee1ad44e8c256d4238533551e64796f0f319cd9eb463a0bf7c669d21c6d0ae2708bb5d61c162a07713178a169b411009a395d18c33e4c068c72d5b08857dd7edbbc3971b04949eba6e3a6993a8218edc81d4c2752a6e2a00287f87475f13ed8adf029e01b4d28b767394718f7787476f44b6cdbdc1d706572c98063b4c6ef64bb5b5a9ba89f5e8bf91a26fcc3f67cbe8a2d66941d47ff593ed2291d1af62ac563ce87b3bd1f1b8b67858de1a2641d5225901ac0a54987207d0fc8283b12371fa2bb0b985efabffd76601b9705a029c8caf2eff7bb6073868bd9619c8d066641c8d295e92aa1c171716b2ba923bea659f43411a2c05656790c76e3ce098ba39c4654ea276de6d2b57e82e3f1b2d7c562a21964c9c07da9029ae03f573b27b64ef7fca3f475e2b9f9a7c4d6385babb735dc9a6df2b02cfb439db38b6b23024dbb40f672198b0dd4d5ced026910a078a74744eeab9c6d554d282af521c6f77cee16532a73227766f30e2b40b2edfd1238ae0e5b8d0bf922d1cd1eb7c69668a4547e0d84c12b9afb2507113800e3e785211ac7e472069da9d5d5fdbda222be114f93cd24a8d2e085e4ccaff8c467b73552e716173eae61d6cd674af13d759ffd639d9baf494368b175c2d3b1420b27c9985daf58d5254741a47e3d2cd7214bca2d62b1d0a8d543c935d5518398e14e92bc5ffa806a3db282a7ad3d29e3c941e7a04ecb3efd14a01fe3b73b145963de645170d95a3465453c51defa697e0f90a099e84a84ba98978fb76d0c27dd7dfd9e6cb8f87ebceb7e06247df8453e6178c2e2d86ff50a418ebf3ab81884b68552792ce2aa48e9c7a037cd11271eae9648e627c0114d9c58217fa35e54d7d61ac409ced1a2556fae123beb6734f0df9cd385b3362b7680fb372bf189128d0b49ee0dbc9b009355ccdd5b00805be7cda34e3c9fe9e4c2d47e079427d526a99a8faf2781f79b86596a9a459200b361f69171142e99a1364e4d823f347c7b772d6eb887994fff1a3f110d7abf908f3df315b073451288aea573c46ce7390860dcc35fac37338949769930f19943aa25d7740ec2991075f565715c983ec6ed0f53bebd0630c3b4845eb849c5af13a8a0eac3d255ba0d869354fd238df14eb481909537cc54342a6cfab9dc530cd74e2a725f9b6d11f5e04574890ba19875e090d272d6a708a18471cd270567c8d5d93391785b90235ca918ba8f0fc050686c263de74f7c7520f50759f3c26d20320d323f09b1a8907ebe4ed1fca0ee708c6fffc04d888881c3e7482ddbb00680ff5ab8038a5e77dc9130d46e8aef4af42e6c789ca9773858527244526458d6f56b0c4ce8953cd64ab75db0db158f54abbc991239612e0277d183323dc3b2a183cb79631cac82bf5433bc281c30b9a52c3368a28a1ccaa92230d5b561e83ce92fecf5d4735ab12071dfdcf8bd922f6fe7b940c14d41728d73a1b23c2a50340fd55f1339a11e962c8b32775a77d57a7e24340f5a524caf7bfc588497d90f39a6fd7382394ac109addaf427f54a0267712a73380b13efc0223ccf8d30f00e23222d96ead65625cd1db420483d5148c872f9773a092fb952b7c9ced266759a629063ac764fd1a59a6558c58ee87ebf5adb0e7b74a2a70425adcf0f99ddaf2b3f46da3832a646b0b9d0be9dd65fc47534b5a1d70515627f1f47fed6b6b224882596350161fc227c3144c3d47232d4a4d699a729a889448d3d204ea8212f5aa85f300df7afe62bc1c7eaf8e231f031574a02c4188f6a2fe3bc5845b60d5e305e0d1996e49423be4914cd78f4b8c9561c8acd33d55717173b585d9c700b71e044277c398fd2b789ff721f4586dfaded23236d7e279519b3a8c27902d998bbe0042ec64e716234359b362c6782e8ae8c6453434b31a53f2f206fbdc580ef57f18372ba700ea84d3331aff1b3110782f2ee0fef1b1f2ab15eb187f549f8a2282ededbb44526b5787a5bffdabf749417789c62ebdcda47e3cb29992a826173b8755a3c1c20a0e359084522574beee5ec42098ce45e9abc8cb46e207391a9bd9eb0e026121aae62fd1d89af7709f89b969af599ba02200e2f3aa4f6cfecf4e75c21a66889468c000dae222e8b5c5630d015de84c619736254d7d79ba39e41208b79b0ac28f771327481a6cc804237d7c9f2d37ada5fe831ed514af2c318194ab73271c8f1e44033c688109dcc074b4d77664be76ece955e7628d2c9f6ddeb492d8023d3fc06792ad7876f8d0721a5dca877c6bb06a0f58acae711caa1ad14ed4ab5feb3a1cde7ff9a2db6bdfab0419673b27a945ac14bf77c6f8663ef6d090b1c85979858513235128aebf9b759e8e3ffdb7593efcc3b621fee1f07fc3d3ed5422f7d82e1f1c6f9add281658d49245fe9978c651bb5c935ba60b76b340c8da5d188b5efe493b54fbd6e89a55ae9937360901f946a60b1b7d917ff9a6ab6ab4c468cf52966899be8cbbb66aebe809a29eb6ec49aeafc50594532849db98adc0f843dc5c34ed369b8796a4a914d97cc0f7e5932ba75b0f37f916805092005e0366cb87f1c5cbda35e3e6236c04b21a59cf06d35c60de8d88a83e9ad95bc3bb0032c840d2a364c30d2f536186cc1f19e09ea330f9785f1efc61c9259ee0a83d087c61a5e5f10825fdfe516813c65ee89aceb0cca20f1388f7d0469d130b1cf91e783b80f5a4ef6c17b8679f7b1b4cd44a2cbdbba0c9317c10ffebaff9e23b61c5facfe089de961262c8a74d1669ab7132e6eae533f832f0891a8581de0acb508b27fd05a64c0932a148059d8e03bc5407373fb9207157d2b03a2eea62cc72ef1d99168d76f3c839264f737f2c129d639e7e369f3f955e9dc07e5f6932415604182e924de832048e8fc8c59ccfc648b7de81004bae1bfe4870952b0a66e3b1a1e4af75d384d5dd2032fde147cf8b8d8b69e839b5942c156e46295f641766c8ecc154bc223712ee6ad5ae4caf11b457e7ec41aa846f8af5ccb054db8fe7623b137922f8eae500f2e19a8e36adb8980e734290c873f95aa10a64eac02e2e1753be76ef80692b43cb144a6eb26d2756181a484ca0fb5b31e430288444f864b5f231a70e5ac91f91ce29f0029f303b4b3af250ca782f9a07ccbc40194ad9f9b83924063c2fc1ec30a2da865af4405d1d73567eb91ae8cbfe4cc89a418be670f032c808c1925bc38bf56acc94fe6cd7b5e4b0a9afa2302e1bc029f7c21d26a9cc0304f5deec38a4c5846f3720b88b934ab582d28a517a0bf9e44b221abdde9224e798b384d39b532ba3089299f6323cf46229b8d3645cac2044aee73abef0b23ede204b77bc4c9e77069eb951c0dd93a22e07a8e36a16fd1d21e65794f31780460474cc0bcc66941451bd773215b2a69575b558886c9f7b9afb06f55191006801033aef9031a63059c1d1d9ca3d0e00913572e0386f2bfb15e1706fa7194bb841efe2434a98ba5fe0c6b4dd9a7fd120517e4f85aae5ac3404c9e7d0a4d40d50990814839b92b9cb914e72a07ab59ca260b63df0e285515463cf645221eeb257e1d967162fc095279abd18030a0ca7f46648357b781ace4b3971cabeff92bbe6fbbd1511902d0d88f131c56496a85895a0b16ec3648834c90aa7636fc274b9d57817872413872998fb2beb1ee6e722c6a9ad859fb72683d11075448e33380cded737b4526d08f3a1826c5ac9a35356670bbbb874e4b6ba9f263955b0f4ed5c422a373b9e875853cf1502fa10bc61c2ff971637954a5f00ecf82eed414340d5e0a2881abd40609b2f117131ea89203dc3c0978658468848b3bad6ec5429da0d971aab34286a798d609c3d6f06062c9b8b78bcd8fb9d14489d84448bd1e17f51ed693f816cd78dacae65dba19b822084aabeb15fa5784f6df427017dcc19527e7a0c7bb3434130ca1c8b9e40a671f939e366ab927beb3fd0407213d3ffeab4df0874682e4df90afa86370f8910ee64c44386923c38310bd761031c1c44aa6846ff797f782d16bcc06dae372dd869fe0a7c2cfd5c9672d5046662f2e935a01b80a00c582764b26e3afd387f9ad8404414b6f90a7e814b28ee015944db959ecf51acc192eee9ac0b3bfe11b155234646a0d23eb8f773079a35465857e3e0d53dcbe1475f6a57949d63d7186f477133ecd93a5ff34a6310136d38e2ad0f4a49f590136ed3c1bc7ac3c2709a905000c331f1e4fca22cd3cbbf03507bec1c715da8bce8affee58640e4dcb50bac7362c67b44ad27ce5ec9e77ed208b3969e7a3467d53203bfbd67c2635decfcbb22d9aa7f5472042f538d46402b28deb15f388840dfa71bae39ede35e00276fb7742a3263462114aa7706bc0b956292016b75f72087eff7555e4d336690723df5e591d5ff3dc86ca0398c7efef26f1fc4272ac3b4b76ad36770dbf79640a65a3bd6310e505e528a405f47467dbe8895752ce3baf60716df9f01b05004d256f7f70656cc0419e4327ba317021459a941414612c5070474cdf44372e139b953bb98f0f5fa3f3d1c3d1765a057ad6c49dda368f815c1817b6648b3433fe80f2b1395c7a107496b49c9d102f2d78d6f79f7f0a4e3f9f7a50da3d1a60b723a449a8dfb0c6c84dc6d82e4875703f33bda024a3b6b51df459db4cc7332365a407285d1af4e495b36265ae28126eb3924363dca61a0bc3f02594aafaf80249ebca4d2481208ec2e100cdb2a3f83a524493788bb882574058306a3c613c0a91267af6337988de2bfd3ee2d6d4f19bdbb7018f23d122f564df9b468cc59daaca3ff1b66c0e8731b159d15970980b15fd05e2c594d5a00fde05fcb3ae5d8427ab21d79170c6ab68473c8e659219806ef56a307b84681c29738d9ce24aec8cec5d9d0265fdbd0804ad2d9d2d4718a8771eef01562921cf0ed8d64eaa8643f47e4b90599a9eb1a24152182dec56f8e6622b21b1091ea346d9be8b4d3d56b58f2ff374be7586e9fb43e536762de82f7a091c9b0c703f9f94a64a9f56749c81167f982225ab9f5489da3c45a24ccba9d214571253cbe02fabb9e5c02256d84ee2aa58fdc8217347b710bf7453757a74a79944e2df006ad364636851d041d16f0ec364fe998231e36d3e7ff2dea21852158e1f08fd969b06b07156103abaf145a8443743ba6c217da2283ca38b774a184ca3d0b12789c693a8741046879210fc31c89c55a2166cc360dcdffe7908ff1d2a44138c432a4e685fa89f4c5ba5b7174f13fbdbf3c587f290da94408d9cb284d2f6ec239d0c9da8763b53211c8ccb80973fffe67cc9f1f31cfcba21782d6d2cd8693af4442d2c9151e340d0772b5b8b56eaed64ed4574b6b7aa4c059fdce55bcb063076bf33c028f859b4e5f0c5926d3fdcb3bfc0638c0d7588eecd316bbacf01c78185a2878403423e4574c7687c4f69bc137f17cc446da6770f71b512c514d16cf7929700b65e8f54e4aae8f4a5f27f45402124a2cd6ff7e6e62c64dbd4fcec0f86bed9282870ec57a30ab5d3c9e2fdec2fe37ffecbabce2975f9140afd6b4e60ecd9f7da5ac0a1f55b8b9b88b3c2520d779692909212f9bbca67304bdfe201dbd9aeb823b08c6ddde998f47e3414b974ac8bc246a776de38fff386b8e9a9e24600a0bdb6ab0fee2affb1b5fa15e25494f363c0ab0afe4c3d1d2491bbb17df5f7aee08ae45c52326ea7b5fa14381d0e0a4a5978bee9ef7b9e7508266388d2a3d70d7f025a098e255d5f6e870b9945ea6b96ec0fb7691c64525c3d992d228c1c4eca1f829c62748f9b8394577cdf19f42f76d4bc01ea8ebb73cecbbee8ba01808a00d714e48b525897df7abf0a97ca343afc04f6612c1815ff65d3809f6f708c70e8cb7edbde943d7af3362f2d4a9bebf7e680520cd2637ef1d0838a9bb9408ce1683a4cb55db6f07d9e3293bb43f8e957abc576e92a6833e6ae36c4cb97101ab7941e9fcea3baa16f462575bb11d2380856925bdd4bffb2115b90b2d005154cb30a18a278b52d64f38d96f994c2fc196e64f2abd54543ade0a08b6917afd25767761aff0c4d32d40cbc9feba9c5afacd1d85cca539872dac87a7f65f080d760556383d12c8b11542953d48547d1cd0d7bc4799c5f6b871aae1341c0f27a18908f6597afb45ee79f342facc9b7d92158737a09058234e011fe0978be728bda560b589c171344f822b9da0dad9b90afa3676919d1760f11333b86a801f9c7e36fe700f89882d60c0fd211cc16387d8dcd46e63db39c009a921456f1f6ba0abb1fffca513536b52adffc706a072189c3fc22a88f7524411f7347440f4449dfbe199c304905d53a4ca94fa46fabaf629aa01078fd1a9a0cb9bd8d413afe79a1c4c021e859c832ebcc4064d58e8ab0545ff28230bcbf8fdb024ca3b05c229651262fa7ca3764a448b5c9fb0607cd99b2bd0d8ccc5300c62a84bc82a7681fdf24fb97377ededccfc760dc88278e370ab06d528fc1d92f978a87a861d5135dc8fc601cb909b1bb861528bbc6481b29f16b647dd00832d3376eafde48a3dc424b72b27bdbafce72530852a2065ca9d2021ccf8d11ea77662fbfe32323f6eab0f977efc83250992ccaa3b04b7a0c3faa45ee4bb8cd5960c7caf61b8c32ef843196610179faa711455fe988d24a36ad1640747515a611c4c6a5ecd9b1f37ac84bca7e3212d5a85ab7f366d82c0dbf86b33f536ad07791d473c788d70cd0a8533be10aff955b9525c8125957b05b179e11dd1c2f994779ffdf67b238a2bba9f9b0adf4b1e6447bb7d431ba7bdaabfee25d7c20314753d1ce024c22f11499411d6ba8224ea90386019ec410d472278d706e2beaa77202764546a77f7ffd53827d50d4908f32dfdb5dc53257bbe8ab99cca23bcf6305319dce58b1fbc77173d5a6bb7c9516685672bdbf0eab2e049ea2a2773ddd680f7033794dfc34d7c132c3e080f3b407dabfb40b9b1c72e8ad45ef2f407b9e0b9901972dd4002456fea58d5e1a4421071d764d11eaa65c4dc78834ae7d837f0493a02b1c2f1d1ee5f65f2251fefa7d752cf807e7bcab98763ff5a5ebb357b2bec1252498dff3d60c34d24703cb57669f885930790165b0140149473cc1bd381d4837c8f69a8ba32ab0ccc444dca7cedfd30697dcaa9b2db18ec66b38cc5783a2aac303a37e32884aa4d10003e9a1b66a2aa369c2fd99f31c2025f17a7ae2a9ebc5a80ee9f63ef31148d569889fc357f0645790811fdae6ef2debb3418aebdc75b3de2bb22d87e336a819399770f3a5947137da819b9dc45d0d4574ad549a27263b8469f72b58b0f98ad15539c1b67061fad835b552bdcdd46c2013d1724d62591d694194795bb1e7724ecb0078577041d6a4688bebc3dd4c7900382d4774f31ddb18176b375b4b0dd72b2974fa3ff1ae2566439d2d5707b704e959ba7058710fd215a4210d3ed0006388f03529baea9b4048aa61428aed5ac8bab58349b1b6608ce4d20f948170459178fab44605a873b7291bc3a59965348c5aa1cbe059117e3fae1a971dc6613de0ce570c58b26325be69a18477a62c647c67b3c61039a49b75bb1122c9b435e75268159e61ad3276bf188bb0350abaf2b93a33bad04883319ec1916abaa6e71c8f33e897f6a94114ff1da6c92a2e7fe5e5f971e833f7cf00281a68bcc58b562958244ca5fe647dcf0215fd5ec766e697eb478b10ab034f69a83ff7e78c31e1385d9229f44a4f950ef3bca2c0ff4df69daa816cb4cba9b57bd261b49e722e666349d70823480ac492afb42a3729f75b174cdd8897a5883221041529868a8fff4199ec9300446b1658923685aa736c07c568b8ab4131fd80edd2acd137ac7dc60f8fe5db1092763fd49b7e0ddbe197da242d17a52a4705af451e3070ac109258f81da91e6d6d4a50cf9af4ae50578e988264543c940062892e7918b2585ee9d2e90fa11748f26f1a45af14397acb4578ab4c03e6ad4e7e562c2eab3db202b249531098083783d3fc881e5a2bbc1161a611fe04800502ccc9e117a8aedbda4529fb6c905b28ed94e336299bf81d69dfe49c13b101f953b67faf615deb29b65321dd81980177524737eb8afb0eebe674bbee4706f470de8fa443e4d5ff2a07af6120bf2138019070b0971f6b7b2688c0c440da50623148e1d889e804b539804bf2eed4da5d1ad24e0dbcf4c0bf0e9b944402a7394a72bc39ca19cbe5db4c8ca3c277b9c0c0c450586977661ce8ad4fbf3db856cfd59ba1a4fa6560f5a9a201fbfa00848e7f48366d627963149e678ac05ac85b0eb1144361e754925db5ee37fccf45d73a738b321ed7683b3bddd1f3ff952865a1dc0dd6e578df5bf3ff9021bfa9e70e8daaaeb2a27f4602bc9a68fc101a53e27e6eaaa6271743ffcdb947a3aa990369086d78f6a6486b77c2c6ee9442abb7422e10337c7522061c9907fbe3242fce0a277f6ae31e03bcd3d04673ea823fca80203fedcab845b02f4f08b70f4641b1cbdb58bcf61e70a29bb07bb775ffa69ec24ef1b75aed7fe793add98276a0dedde3a4ec04ac48e64276cbeebe78cf593e5e721286b743638a1998deccbba6c9b3d83aca8b6b25e2103563825d7e4029be7670fc12978071c723b601a7973bcb4d51ac61b3953768c92db0ecc792855d30c878178268af406ce61bd3522d6f76ba1ac9c6d2a3200202243d772b93c7e157911328294256beaab63cb07cd330e81d483cea057171f41b54395345f41a3ed17d71d3a56f84953ba9e0f6340b7bfab5f974333a981604e16a7582dda2b5a51909f11b6dc37ea3cec8931832e5bd23d13db21d86812c3b17df31e4204f7fcbba46b590de8a557307751994c0dcf5c39528f13d483445699cf023e8667eab9f1f828b984897b0313eba5397e11dc15c5d7c9bb464446315024703c96f6a82726b9337063556551aab192f49d2ad571f542927fc3a76cb66c6fa34b1869b33e410d900ff7fa96442cf406db866557421ae9349037a8f57f020d3b366b5567a3edaa4a4991024d32e478b29855a57b2df20be9a3261306b5241043515bd88600b8f6bc2fdc1c06ae985e591d063ce7697b0d41b230177b956bc3f2a9973ca59b1ad981cea41b7ad3c619dc6366dad3da3533836b06435f058869742bb83cf2cd557f1b4342ad562508793e191c9e84c22fc7592bf3db38a93f2aaf5d6b43fcbcfbea6ca90613d6211b99d45d453f070caeb0694c10912347dc7b1fa032d644d8c16cc6de0c18fea175a43ff5f2488f57792a4c44338fe7774239882fc5d93c39c2dd14fa7fdd3d9a2b8aa7961b65d96ca13fa6784b7d3c7c71db8f48b7531d67b93840e2325ffc01467f324502cdbaa5a2d14ec87260321e6971d23c260d774c58b8f863f0ec00806af300e44352972ca31d6c86b02bfd8b1134cf22a911e6bebd4b4b5174707d079f63bff79b417385e86654f5f9ce59527495b4e7a6e396d62eba77c211bd8d56a1d9dff29cbf5e3a98708f28237ad85fa77de9d8b6b3ce50dd982b2ef575c1b9a28b405fe4cbfa43ff2ce64dd0f95aca7c86c937a1db76d4c05e2f3883fbf81e5d1292fb18dc27f8bb0e1368fa3ef1230a48452b30a67b97bf3a87b9fa5e7c49a0197baf5e6c4717e8199cc78149463730c6bbff14da5e5e52a93b204c4cef4fb5e0ae2f348a58392fee9b4ba32d7d4bd035acd3c3d2ff2f7f41c8c1db079d1a4e2e722f4ee385f274077ebc29e9df1715c5a5a654842f6bea56f24d87a924ea6b9666bf9c965b5b050558d41a701a591a847b6e88f1e9a11194a7fbdb3fa806f80a78bda34a17ee8ea5656bc1fa67f9677abe2d0dd476b2dd080ebf8154523643a443b0f26576114ea0d4176ac49bbf81e21389cd8041dbb65e93c2bc21cdcd8e0fec2e0e8609ab7db947d7a7841ea96f59d43b4ea6cc495c985ae61e4157ad4fda446502ff7a61653c41265919dafa1d9bec9730e6fc2b2ae7d7813e5b6754b643b78d038501fcf72b4f9a56ba7f9ffe75d7f7a3014a8c6ebb641ab22a98aefc5e77ec24b08a6111c6180dc843a750fef19c1cba7858199907266f99b52147cebcfc7eee0db3c992a1012b13dab7c087a0bacb75f85d581843e2266091ee6b43ca6ab13ca744791e431c86d31720414447489f0f48f0aa63bdd05388a24d8db24e2c120f3d13cf3dd81ed30cb76984cf4afa70284a7494f6ecc6d3de8b7f07ceac08949b182892d4c7c945ca46c0760aad7d75c809f33113e7178db95d58e53f913129cf9ae1b1855627c347a78ac54903f0da456307d183d6e7eb4c515ab97eff913bc924bfb7111760e3eed5fe728cb753207f00ceddcb066ca60e28ac37d44c2d8ba990b0ee801be531e916f4a0e5f42a8704ad34de97d24e072f7e9137b94868af18c2182c979db668ef3a6e55250521dc4e2a2b7cb080644922f59b13d39f1c3ee47713230cc3da16e2f952cc346ff89ae85d52d314d72155427aab74a76098a03e36c06cbe45427225f4585e3eda408cb9a8328501f94017a620717b64bcf5088011d864260a96e4ab74f07630d2530edf3fff429ff0bd2296d12aec62086c2d6dfe3c0ea7a3216a5f6ff0be377330430d55e7d89b04ddd76d07d5f7a0e3ca762eb4c9888e8e78601b293ce479a6798171454cc9b8ba2fc24fc5a48125a86be48d6d18154fc08ae1cb52b464f647e24368a9f6129bd886cc292ae09058690335d338ce321afdd91824347c7d20f86a5ae67b4d27c798f001400b38a99207ab8d8e73587889ee7195596072c124c585fe1429722d3762c200cd0723a5f8198ca4029cb2f16bea4d9a35c7d31ad2484d242ca3a0776d3d6022193ebba25b7bdffb8c70d645a45174628a3fc2bbd42ab3b18fa9a4eaebe02206ded022549fdb0686cbeec4fe9dc4bbfdcf06c2d4d43938450b4296b958e00dc3908b02eb9e7d66e3c8fb03cc20f3bc8532c6b111e1fe6efee3846c9330bf2175626f6deeca6496818bb1b35791a423ed058094bed8a4bcea433ed12d4ec4e398a6d71be649ec6c45852da756211e3df02a4fc2f3db2d1448ec51c9488d65f56d1cb6e36932951b66f7669d0b4126c7ea2792f1e7937e2ee1b03130e0f10aeacc09e50e1172339b22c3acae33e4ebf986179e2065fbc6869d1d6da41be7a98e24c3d2e934142f05fd54aa9d0210cf7f6fd93a01f30dfa2d2080a1c47a95b4df6ba4248e3dc98e7751f4b7562d17285117327687a653cde823628bbb1272c5842eb029194098072e256ee5ae41cc2f530c0220f5bd75b433dc375b1ff669f1dd6bba567ad07836fc4a4ec03dd3f771ac2c6b499d8af174af2a57c77cc8c40a94481dadb75bdcc5da72117e9ef162b1bfde112949f144c11dc799f2977426d925eb07ebfd985179ce7f090585fee083a3ed89f3f00016fbc6c748b4ffe66885a32944c1ebe022e8c0fdde9070f07af8b90996d5d38ad4258b00afc2b9891fa4b7873f49c3398eaed10189c7a4e4d912880e836799fee8c5a0603da6e68793fb22d71d98252e3519b1a61b68d2c17e71123d484a0b4b515d0ff36718718140a3ef7e7f4f9c453c7097c95f0166e09814a2f82e1682b29b6ab7387cc749aae6b869dd579a6b2a64b522906b5b7c4ec260a672e72dd0bbb8b72e3e6b8b878b77356b6a8193ed67f2f018da292185d130493f3a36fe206d0f1dc23e22ee989180de7b40f18079aaff37859a2e9816530df0836a63813c402ad83f9a630d7f7e9dde4458c59b1178c4a64e82780e4523d8802a65745c97c4f6a75b59eff83faf17e467d200ad855bed62301ad4f6c7caa06b9175aa35c3e161f9bd9dea70bf38a995725bd0abe909655c54d24d1974778d40c0bccd0fe6dbae9f4b2746114335549609db07f6678d1ee9d146efac8cd0f8c342da823a5fb41f5872af23de65eaeb28c863f1538b952f3a05204831b4bd15e437b54dbdb5068b3ad9e5559eaed0e01d9354c18137bf92645c98ccf8c1ae85f6fe73d69cb1d8165a208720938f319aea8f0efb6d13da4214720b2fe4a241b6bf966dfb3343cf19f28cf24e548ebce666b654b2a5596deab85af8e21205822d722daae8a9c33bf1f0481dfcb36a7c9ba37c0d1bc09feae5ce765fa308ae40c06005b45e9fdea5224462b6ecd766e3a523b65b791fa7cfcd9b46c699eeaf7f47ea665ac96659b7c33a7d2af226c96e7c2214403b580a27d4c1c8cdbed1b077d6c5a9703fa823934033af3a87bedb5b2918576047cb5b949e80b7d5c0deda7f66759a8339454e194bc49ca820d3398f0fad2d906d752f6c40dd8c1dfee88ebcd10342b787eb6b93e4c73161febb51ef184be14f5832c3b9fe00e33cd03fa656e30d2bd639bb0f8ff4d30cc4149de28abdccae3c80b77c37728d0c31974962c1d1374ba2412e5174628514619529a721ee6a529d65bb3be75ad6eefb9a916bf3581c4402d425fd44481b5004601db7a258e2b95e2a5dc81a877f2257ebd9d93793b5b9c13c5f16ec7e0da727f50259e34f9af8241189782feec08d8e00fc569eb531b770276b1273c77adf6badb836ff2b0b43222ef7a138e372658a926a23c82230d3187ae028c012bfa49cf7fccad7d3815ef2aef9997c6a8641bfb386821f62eac85c15e9c0fcf0e49e32a55f0f06804ce3c566fe22fceb39cdccb9aa5758f30998f527122cfb1b06aeef107645fa065a5623d4f02c69bdf2e24aa60a7f4149d01b3b6704fc4fc3c0b7391d3632e0ca64819399abe91d91370f7470fc364ca1ed1aa7844d814eeb3725a804a3e758ea44e585ae17a93063bc5de96fbbe44f39d8e775ef24dd4be7273a103b18a32f3b87f6656924dfca859aa8eefeebbab8a27cb7e0cba097a367de2c004133cd04de5c0364513668dbbd8d978c15f0f2461c4a41179b1f42a753dbea9e30b89a58a896fdad9c082f9a3e9c417b1bce9e30c4a299c9ef62832f739dc53fbb7a99515eff62b5579e4b429f1c6c5c4de2da1f91b5a18344a7ae7a5b40030db30f37a7469310fb75491cadf820ca872440a2e686ffb6e844613544887a76c4cf9e77b312fd023df330a0f93719672eb878742bebba1d0a288790212938140167230fcd83c391d4eaa4dcf7fd61dfa4666cbe462152e824e5dd5430efbe2da1c684d5c3ede282a9530d4521a0719f0d87210b7d1dee8e35b1e449dd2eba46a302dd7ee8e9fc1729e3328f4f90210e277aa627a71162314cab171cbede9ae10e3af8b71812e05162a602428299b1e1b68d5a5d829d16e26cc8146abfa526d99842d8606bc03e4899200a489bc4b07aca3275f7fc20de21208706320cc8431ea358e29b3772488250e5ccf376dd43cefd6045d71ffa1f3f012f272651667a43acbf7548fc8bde46eec8e96a07bee1e3bf834bbf9e648d3c68116de72b77af9c5c154ac826a7125e45ff459cc069f9c11d8492e8ca8ba1bfb6ac8b25307e1f16364401294c382afc9e13e9bab0ed1b276709fd7d6fb2f3384ca0ef0687b2427d9e35590bcad52fdc69c424d4a0efe44deda10d400539f172c2aeb7766d423b502798763e370a1e19e460de67977b43627f5b629a7ad79867d148274e4b1ec13a2a7390db3138a29db43ac6e25dc1f0aacc3f35a040b497fc17a2f1490fd8a18b49119de16b713d490f30ebec38e7ba0dffac8b1aa4ba19ddb1479d01dff87ee15563c1e199472aae839ff7f6bc08c47acd7935c58d76624b6b6035a5fb596934e998ffb8d282d93d6ddc1efeb345574a460276221ac00a99d1a5752638285128acce214b55dc11bffb6e6821ba09b64633950a7eef1c1f7d3144bb2676d757a5e142597c32655a35211ae1906f1c51466e50adc8b2eece63219e666659aa4eeefb825645a6f5e9206492a3e80b7a5e015155fa6a101782a9871344a9a431c2ad7b792636590baa48ef3247ffbb009ad2884c79264affd9b735a1f2e0cb72cd9a6fe271dbecf877d708ae047cee8436d20714025b21b0499707faf818f51177d38a31e1b08daecf719684ba216ad81c9ea0254cd65decf8841397c58291735e88a34b955f8cd2af50f3e7ece48b338f934d43000b0700fa3a14a2a0d7713ae9042beb345bde3d736384efd265f42eccc7f2b379dcdbf52c9773ef1012970ef48bf249ee839e24bf27a145a92e09ff9fb1da6f82f3cabc99aa45498754fcb577efbf202af3814fd6507dbbbd5c6995c09ff677192f5cbf4a9d936ab9dca462e38ef5b6470603b64b19363be84567e6f9dfb70a8ee70c860750965c736027ed899c4859eb960bfc9d0d17a816bf8b5a891f7212bfdbac6545acc1d942c8577cf764b0d270ccc2063f6194b78a8d20bd9afeb119e706b2d458bacfaf76d1d8185165eb9473030d73c959956aa62795c980f868b3b8cc2871c908b702c053f7032ef268c0ff11545086d75fcf25a61411ace746aeaa6f6add33223dd46fe6cee71d2d1cf36a0e78c245a3bcbd07e2d4c7e1495a7126ebfce7dc74aab0d7b8586cf0e214dd4afe7a1840bf02158796d889b232828e2de9dee1c850f734310092216b982cfbd10afc58b2f507c248164027f3229abc0a03f016c68cbec5fd5b8e62b65efe365438546cba0709e14d6bdcea7a59f5db42f259229c2062e21115cc97e72e6a2840502731bf1f00e4ec60fc60c4c7c2fa59768210921f29fd48a9a3c13fe35c60bef26709ce3f06b9e96973c4108dd93b1ba53e73041d2488ca229255093cc8dd26c25c3f22f1d53f1614f1d58cedb69fcc4c550f96ea64eec9ad62ca25d2b43d51156f7417d9676c2e6ea2e5347d7447744a94a230891cdd22ac43b2c6ef407db5fac771a5c2f0cf56a1d1f30d5683312e94b504346779f81d4cdca1ac1a63d1cf4997563d291f0366ddcb7b740370c2a93efc8804eff40abfe0e7c7c8ae07b9463c3de1e11d86ddd8c5d13308f5b6a8e7f8dadfc0bf45a83521f31c0f82f377864463371b9346f47bf6909f61115314eb6899f57c4e8bc4772c236451e4c4e489d71d35d904c56f8f36151dd0a25f90224c4dece8b7af6cf86fbe84d855a41ff0911cdcb923534b63e30b7e38c8f785b06d2f191bbbc2db897aa59801c90f3d4bb4963732596c03ec25250124ad66179acfb058dc9fe023a7d8872de440c19c3628c4b9fcd1379761381a70535bf05d5baa5d8ed92030dbdd26d67d90e3b604090420be79c9a79c3655907507075b0418adc59e0874437b791b66f87359344a7ec621e923c2f76516f48ca3ac20cdbdb3d6df385eddbb9adff679aa20dbf29f70b2e136d9969f4237457b081c55765f60d2a629ea9d7639e20446f76b2fa1625563b5e36dc688e0e1d3821b34874b14960eb2b7dd494d138002a1c6c2dd1149ce50b0e6abc8215dfd7bd6aea0c2d11ecd0576ca5e804a8fcb010df0ac00a0e9f6889817abe302bf06c1397d2eb3d0340ad095d55ed7960da6270d90b90bd1850e8111933457924b2674c24367019da32083746615eb6542ff3f6affb6b9521b37bcaecb541214b94e9c3d9326add779c90dca0ed53b1007bc68ab9d0b7c582f2b83a4c7bfa0261fbab601056f9e1cd8498b11155a269f5b792aa79e5e8200e0f7cb3fac1320d962c0fd567ebcff3521d98a435ae2fa195ea1776590497e7c3284b379a41e41459dda011c0411ad2d0bcd75d6b8b1bf1ef3239508708a1189fdc8a83da4be5739e31a22bc1fa7d506f825cd70dbec110230d8b5543524df14b46104e57771e5b436193ed134f91b0fe99f1c7f854f986cd2433dd9a6e6bab9e3f880745cf583364eb4ab8562d00d9903dd039f8c8e58e951b997e7cd8c9f571795bb91d3abb0e57bdfa097b21c8ac73ee0a4b98be15e009aaa3885f98bb633d608558406c680b84af45cb107859f7a96a5a35bd5eaa001f4e9d3e2fa11b1c07593f4e221a27262d57dd42380d3b57f0efd2bda3fe68f5d3ae371b9f040c163432d8ee14e6c48c034c42076ef0c433d11c22955e65bdf4fc1c20255d25c9f56aa95bf8f90daab4abbc1f63d6556ce9b096a77bb0aecab603ef4e862ba09dfda62ae95f6ee380ff061a9910325b388e73b969bd8799dba6cb6c1318d3f54da3fc40b7d7b9ce0c3bdc8fa98b2fce83c037b21403d9324c3416f068545bb04f15e8b1c66fe962a9724db6a59726dcb950e658c248e7c625e902412e76ec0fd07a54889e72a33b6a96d93c785db04fe26a971df330d171f462ac59f73b1151d5d5d94532b774d4e5804990a8ff25caeddb647de3d9b91796627caeb82656c72062937babf9d6ae7802f4606b1dc65eedde850722bcd7a698a3ab30ed93f583642a8a0508bbd1bc726d42617c55dc6155e71f8c72038890180741cb4b44174e308a8aa3730501322e179e8fe61377aba3ef7e4ded994b2ca42b4679219f477a1755ac1e55684c411ec79d68f30eb591a292613a2d177a586471ba8437fcba85c08d2ed4d8973b4d92427a903be79719aadfa28924b2b861a3baacd932a24dbf67678b936eb86618611400f790ad18ae376f4e4b9df27951ccbfcc010fcd16e5fb942dc70dfd6e4baee4d55328b792b353f579a4cf389a1575dcb72b40224dafef962bc10b1971696c83e3e04bea54d8221c7c7743cf473b9694b6b3d67da10f19310d87a5f816d64c126fb1896f10940ddfd40e63112a64072a8acf6a0804cabba8a67e957906c77a73021d3eff46a35160d6e976e465b8332ad3b6bf6a5aabc4789657482a2933efb8859fc7a4d984a8739dfa280e44717f5e1486740c88545e2c2c0a6ae875ddf3a5760866673006644c50944b582bbd031beb6cecaf6d4f68313c3b1183f512fd1d3520e0502c1a224ddb8dff0e2baad3c58229153ec0b75d0992fc8a1f944da21a5832512d3aaf0e2e19a39b46212dc51d51ac349cf0d477332cec99206e78dc4a701e58c2854f6d16afef5d5ca3886f0333b1dcb9830d0a85f691e49773db9c18589c718db835fb81aa6fbf4cdd4abbf0edb1cc5cf89817e5d1a2e12d07c61fe6f0772a8115d3c9af194e692e0bf21d6c2157e91464c55468c3f75bbec296081f52e9e6fcf55be9c91bfccd568260474fa2dc989edf146602f77886811c5e7a7e1316aaa8f2a97ac95953b4ec9468c688e1afbe7b7c90aba3c24bc4b38332a546cc10721adfce2dd85793c768bec39e35f2c336621b0ecfea9b30cf32a63433292052e42c549a165b6aa1123fd7fd4a63062976f4cec5a60243f23be27e4d85f32e9768353072341ed1578575966c40a690e25a3fc9a44570ac28004ff8e3e033169d1b13789e00d3f68a5fb92a39e69ceab557aba27fe63b7f06127a544d62ce2933fd31e3d8cffa662b5204bb1b309fefe9a4027b9b261f1cf22d7776d9160866c9aa1eaedd69d0add3e034cc065e32d83adbedfa118f69e9d38157ae63ce5c5fcf65b1b548ccec76b09690ecbc1c91663fcb8bd6dfc787f73f56199c1cdf36f676ca6c20032ef14083a19b8eaedc334d5930b4404a3f3a337254cf705fa1c9371ad76316786965963ff76e33a2b753e8f8b1b0495814739601e539212f64648412cbbecfb78aba7205800734eeeeb615bc9dbca634289fe33564898dedfe1cad7fd45cf377d1248293640bb528dbdc073e5b1053bde203fe57188116ad4ccbdf2171633c0fef057dd9e3b7c2c37f8c31dfa67aaddafa7a9e523766e1adb8951d14985b0a6802a3077dbfdcd1f0a47c55e7020214417a4a3be04f2bca0b0bc7ab36b710694633fc3c46409e5b463ccf176a03b12ace2a1a876450eba517ad54ae0be4f25cb50c801f4cf210db3f06fc0f8033d90643e64a3d4635f5b03cc8304e5b7907fa86ea62093ae112d9bf9ab95a26c496ccdc13c0268f12d60b537d603d88df79b833c5d323a0e7c2661f9630e5bc47ab882fe70cd12c812b60e630a758f1ee20b6bee53fb1219753459d24a3df45c1c4feef3238bbb2ed215c7d8b609669f194689645e278fb3dad6b45ff2e2e24260d15fdf92053b678351754a10dc79b59d254f1f257b605a1536848cb090e735c75d9af11e3f0752262f67380b63deaf5dccaf42aac8715dddcbac02007e78795c8ddca65a84d8a4134a1d7ea969f305154a10c2f83bb8ab6cc024ba1fadc7583f2141cfd2fcda8ddbc4165b12726a6b77821f56e88f76584e9d422709d475f498fdd809248203134a71a1067d13f35eed634c373ffef8a263ebb86189589b133b58a6fe23fd2e331c95445af610f6b0c45bda6e82908fc6e3b345accb4e2720c5d1c5231e510e9c081f377eff3db93bf548ae2e9a620d980de0becc0c674cbdfa434f81a70e46c781e89c83e9e888386fefff22d1dcdb87620828f65b994ec3ae77c0bd94d039dddbe721df764fd8d70f35ae3cfc4db8a92a8dfac216e76ece11766b7d78e1f958392b47212db7a87fce5350cfc2fbd8db7aa729683d612be6b2ec6a71687b4cb69482fa5521c9d33a8aaf7c7b6e8ce4765d94d7b80c7ef85ff98bf7a31c3ca5a712fcc959b0a8a20cb3766ffe4dee92d28d6886a605fd7cdfeb72059a6b6c90ecedbdf15087ae7fa29f809a8f08ef2a9d0a363d946844bb18c77dec4d1fef3661cf4e7a731aa58571897393c047b78593bcef9dfaa53216ab7597766557c69d3630759d60803eb35ec6b3cc00806e16bd6949fa4d724ae8d7f31db2c8f0bb47e18a788d7b1c1a3180e2322ddb96c1a0f4292066c5e26550664aef46f0ad4bd428e51d6a561cf212acd37413c31ec3d0a171cab45e318c5170090b942282e806b9a179d8fd2c7001f0a0537b0e82e1867bb56bfeef00ecd39e9deecaa23e9676141502f737deae5e1405dfee1b4796956c684857b3718e73e0f7722da58c41ad326ae294b2864b04fa2bba9ea93f8a3e1d04ff10b58e5a6b2f63093acc0de220ec2d10262aaeace02235d072c31c65073c7c4c111ce3b1ea4f03160dba6fe533ed910082b5d983cdede3ee3d488a7b9069f8ceb0aced8404ba2b0293bb3769d78c85a2b4e38db25b68b698ee014c9580960a5a495f1d6fa7c515ef10e1a371776e047251e77aa52c80c757fc0eaceb48bf3854d0f5133d241c586fc1d5b8fd635208be6f8e77cf12bbb7aaf33f3311763bf3870b2460837550104a28e7baa3c983b4bd1a66d70f06b2dfc78b25b55a93291b48788a278efb506f0b2cf565979123660ce8a25cfac3dba19852f05defd896cf59c2bbfd900da752f3b59797dd1b549d6815b9df68caec9d6358fd0503bfafababb6c2e3ee7747414e8a0e8723e8ae6b54c71fa617528ed114055e6145ef05151e1cb46cbbd59075c1165c9b80606eda2fdfbf6a997b785061e099be8d9d3996c76230f8680bfe3e2e72dccd2c2fa672fc81028af94dbea3996961ef6cd9b7c57acbdd42b76a84d0af5eb4b3409795d3500927e62e15c929d4ff6a0be0b7b8dd4f646eea39bf177d1bf8188986a7c064fafa83aa701764a57529689fbea626873d2190760ca853cd1e0af4c338c47f893ef898fbd9c20d8408a12721dfdab827b75195d0c9b9e95d63ec3ca417f4f32cbd723394fd06d2706bc180ac009066be2180caea76e085dcc226ee747b3dd2b5a392ecca8d950419992611d4b2580024110ebb4d597ce0af781ea8662a9f443d0245585d8a260dda8b7e5b5a80e494205d7ba1d1c3ffc872c445a357ca7ebf8d4c0c19925827cb6e94639f0d40d402bcbbd6b513acb46272cde2e1154b215abd6e3f7350c4b95238396546af3e5509986d007e72332f936578d1c980a21353eaf96eaca99d5f1a1eb36a7d8bae8179e1115a292090ef15fdb79c2e1a38aabcb44e3ce3dee3d9d33975f78d7ae28fe5f82b4c94d6251cd20be6484de6243c970081a3a9202037e582c08a38fc07d51f184fe2343fc976449332f1193740d6a7929bc96169ebeaa983bab8a31743ae6123ee06350a192c94615e55ecfb2d8479888627b6525ebb2e62c2b519471decfde87a7a0afaa8a14d34e152548ad32bcada99d80efa0250a91824b055abfefdb5430a7f7dab89ead440dbee58e4e169bb0e08ee3d890925cabf9e7755d7c306367c3eea361e63564bf2fa127df3cea88c2e7b2f99dd1d8050efd0905da13a22d7c70825c9b40073832435e03c17c4b472ca2ad60fd8af6a24d4600c465450dcb6e3a74bdf811e40ec192149d73bf345a2a7e0be65547633371898d26c55c975db03861b654ea103dd11e307da15f247a3e524422694125ab1f85fb7d51063a2685ddaa700c3356694b2bbfa50b4513709ed51b4312ce7984d72829d71b4e5082ef4194fa684e00990040425e50b6c41fdae58602648ed32861cc7fbf79316024a70772ec1a2b3868d4bf3b24ce1d7f7b4c4c2eab25dea08164123113ac12978f1843f0f654b02ca76b6d142109f70921c3022ea8514ea0824a64a16558cbe8bcec45cb8d6e3ef336bd629cc5ac5c495ea37f86167dafcef38cf85d11c3e80596e123f5ba72182e8f9d0db9fdc39ad0d1678ba5ba6362376c1f2a212745e0186763f23bc127f1fc75162f8740bae0a480c0e3e8587d014c331dd8f822bb61a886a861121a79017082bd786b5fe20ca7b7fa38df6c18d707437574deaa21b508a222a659da3589f9a7581e050d7aadb5db4f5f4468288dbf100323d3fa526900d55f3b2d5274a2c1b2e807ab3fe22db5fa047be189f265fc997430a89266f773ecec15972b816ee2d9776208f5ba567a0fd0e11340c6e614d8a45fa4aff5e64269fec667a323ec9e0a4397be79b14ce1d9b336ce4fb04f899174700d11fcecc5f23e91c2d3e7dd885d94194acbac5f3b1e273f19b359836fb3099f3adea1cde2efa5af10d16e6938b3e196ec71c6287c3138938201fad81fd776bbad8be36ff237e90eced7a8468a86b1ed3e34c0840e9ac9f6e52eef8bc65b090f51f24ae9ee651797796e5400d1fb27b554fcb45c53b08b6d0fdd3e59ecdc1a9e5448b103f171d1b9f2acd520587e1dd534d6946b0ebd1ce8714bcb4f89e5f4e891c4b96eb97f8fe1ec2e5de6d27b5b570e4e7cb7e24dd4a7d4ebc94b7cc6199dacb2f740b49ed3a5f903ae02836ba231c4fe84081ec27ff241f39adcdd24ec7ae78cb6e0ff0a39c7606e6eb3e60f30a36b6319cb24b36da4769c1a369ffa1b3c856c6f42dec974235bd9817d33ba8e9128cba00645020297ccc8fe153ed5d9aab2590a2c695a97db6bdc7389ffe9c83a89325984fe3aa8987c5bf1b9cbead991a655b2bd6640d76ef547979d8fbcad00a20fc01237af351d656d16b7e0bae47eb717ed3bbc0f04b7096a9ca5c22c2bf7ff3e0e12867b878ce6666e5f4e784eed85f600402c97452d82e2a0573b45456e2e5881d1e7344c465ab686f1ebb30cd22d98713a83edb242b371ccaa47f2770641636f229d732c9e3a9d6a69099739a50f41af8b91438a9f37259c5333191c57fd1a2780eb21eb0851a0d10f28754d92a5158227befc180af8f29d210de8f4277fcf5f2baadff018b4db4f12a57d759be6631ce915152312c0381ee8d6fcd433cee483e898ab63c3bc798af540929df4a68dc8e730159ec9cbaed90b90227b21919f99122b13e0e53cf70d0810f5ea14b0c6019d003c5af36fc11e4118f32eab0803b5426fbace9ca3a3ea653b4d1148aaaad1673b73efb2040c58291eccd3a9a4ae3585ee25fce413d032f57be9d4f9c015067301cf0fbd7d2cb91bb43776d37526bf0cdf1392d09a5e01be1e1ea939c507663c052016f9872814478bfbab5465ef24bb1076e4fc92fd230928e6620360b13e10cc58f6fcb80620d250be7db52631f4b0f6234fb1795c3d29fbc6905efe9126ae8e9b7d4012d11e9081962e55440fe586ba01afb15e0514b3ab77159a985226c9528375dc5165300146ed2fe15172641bb495a02dd6a3f468c1116af7a134d88e656598f585b5ba35d288fabdc17a6a4d8e9050bf7bc607873dfdb2ed5bdfbc080ac5ba8f23a03693e515fd82f310247c4a8bbfd70e19e583b7bfd571890ef50dcc7d6bab76209a020c92960010d985ca975a97a7ed3fccad7486a0da7b825f988d308f0e170ee374201eecfe315cb9c040e1b052f1563c73a811edbf39ca75b668cc8bafad6a5b36eda92ad6855fbeb036d83ec6977f2d69c151f053888e0cc76ed3fe0a9fa273237babf15d3b67927ff2d428a553f666b02e160d4ad710a9045d99932d27872548e09c4eef657336032a4d3d265048a849cb18deae7bb951ec199af17d1154e74a52641ecbc9662d2e8bf566ca8b143e96ed10fac061cacd41e3e1dc9f1a69e0c0c9779f416792876ad8e89be50bd9e4fc07b7a4126e36077dc107f8c8be1215b03a8e32a20d3eb5a69ff81870a799e0ae68ca9a64e3e993d95a523c6272d10ac275caaec488569681fbe05267f557f91d07527605b95eff88e069dbbafa9a62728f0b6960ad3b96cd22fa90a5e6430b444a59f7f1a78c76ce65792adf2a36daaa6c43a03a7972df12e38a27abc6805a6afa14600d0400c2ac011a47ac713e663e09ec43c8f116f8e5f7c240ac66f56d435ba70214be8f4506da55f10ad5316aaa9435040fe2d9bc890351aa27f7846588645b24e7feb95741c084e9995faacef642f3b29f8f83e11f57aff58fdd24650085655f518d30fd25976e0c48e69e9242161bcded9922e26d3f155f4a7ddc4534b5cd49cab29a0e110f759dc7b486c958d4145937810897047653320a6f1314600b7ad3ce0aa72d171c3abe116d32dc01489fb0b431816dca5db0fe117ff3caa919070c9cb2950d8e7f413bba1c2315054139441c3d3f1b3c23f00006e98d8ab548d868b1a6244dd47b4222bbfaa8e94ec69608303e71aeafc904b4edfaeec1edcfb2c63e376733ca0a52040108abe7f67b8d147b4fc1bb38ae651152325ca48ebf93eeeccd220699c092f30328a7e64c3f63c534bc64d73bd64e0ebe427c6603e60078c3e0f3e2b35975033c93b9f4d1b1dce056f7f01ff58ddf32de45242ec089bea3d97a60f0fa80fb4a79db0f45fb9180ebac2eafa6b50619a881f33d1282ca04bd7bfa67cba39d0d94ebe8f70c19251f283223336fc6491ca0ba102df68662ee38927e80be1498dded340658b9d7f08d271237edd69de1abc4471899e3b13641b3cdfefff80c36f667ba6f19bf6618f59eed8eb86db37d4a11be9f95a9dd1431fb9ee60342fc49bf3285ef163e0001c13b97d9a438669afe356418e9b9a27336c59a9202633927ef1ae63f5d7e70eb7f7bb5bfde402dd4b6d4c309f30f894ba229e2641befde4b343ddfda9e494aebbbcc0ddfb31b00ed5234298ecdd7bcf4ba8e234c91da97d73c30a6356af868a9d5973c8d1c8d22ec1adf9c6aaae7a12bf2738f811bd9557df0cc08d335066f002900152d2e88684ee5d51a7515ac8238ab324b04a4187d762643b1dbd03cbd3f5c15d73726b6e126ea9c31bb0e627758003de98149a2962bb8d770c2288e00619c963055be3540b9e1f965ab07511e8c94cc54766e221a33cdfe4a64cf3f6ff95d6937ad647dc07e41aa7588a1baa8a163d7a0322184e8722d8521498eaa23bc13e34cc37a3c29e67b4de4a5488aacbbb1c2ca1d3281d6618a9232ed024463179e62c1cc33d08c5d84ae8ab67ae5ab1599a65bf61256938c754c06faadaf9b2a0e5e7ff5c0914ccf7537da63fb39f01a60fd5d8da4b8e730d8509e1343b0c3874c70653e449e2f6c336488e5c710e47ae8744a96f3c8ad65b32d8d06bc44bc937f8faeb7bcc43a7830fbd09acb5e36a8472434f8326e06db894b1dbab3fdb37787fb7f55dd77709a8e7e45c186256e4114a5d8bb95157b5f30f6751d09e1b8a32c4e25e4781d1b8503e05531e5d8e0be86a5f401c30392a0a64a8d16a041847b100cfff3bb5ed84c86a16dfc708f910033057a8a8de48e277fa64654031b812ad9c77ceadf9cf576075ae18a3e6091b76e04b85d2c9a7831ee6739482df871a5707a13347ace46753ff3e21857c5eafa70ef01e1bc24cf70bec8fc49b577943faed2728d9131364e2b57e0d156bc8102c43a96bc3ab38a04c3a3d34827e2d9780c84bda6fcfb4709840fa41b9dd6f4610beb75f525c2b1181eeedb98bbff270e73b3ef49af8168c4a73adb5ea46180373bd07301a596a25d863ba469906f5cc7ca96a98b7237ebe73503cae4ab512431034f82a2ff5ea7340aa19b7daedf74d0b5050956bd82550ac1bdd3a19c4c7bd35f6fdba2786c4676aeb93cc34a063d5707f0e511e3d00fcb72bd1fad4ae8f9844cb217077d8534c615635e25cc4785cc7de0089fba4da4af240d89c65e53a7103e52050cd6fd9734865ce1072e53114859cf60039a2793265dcdec8018ffbbd81409e44012aed8ae18d0cf9bb374db8ef81787444785547b599fe2ecaecd7cbcc82707a1846458784d4e11d8cae1df74d8ccfac563c6d7f235ab279c93c2db835561c3c0ad76e514449bf3c4ffcf3b75df7ef81f0a4953deaf57804b6c258f58edd1d1511fff4774e3b3a8b3e33bd6172d6ce0b792304dae79d6847d9575f8d56cd0cd5fa135bd58933870ce7a037d9ed4e90b9512010a5d6ce3cf8362ed37191387b2a73ea4db732ae668f0878f93aad972b4ea79c7c044d2c8ce7a4d2ac2df5d28a1baab1b99f3662d257a1984699e2e8e74db3c26b022857258c4c95866325c9830fb9e3ec974eec0d59fce295a0c636e6b9cf0fc40abd900411b75031262210271acc3a8d82a3cc5b86b878394d5a53a37371ab1a5b3a30eca3ef2c2058f2b156ae0a827e4cfac2ec04ef3115fe9771a43fca02efd1a9cb04f0f460e1df105998823fdf7f219d50da0783b9efba444ae55e447cae427692a5cd3e42d8ef64257bafcad347390c0a593d9b4f33f616ab6bbe04c0ebd6960712daa81f3b1cde1ba20a5e0b5341f1d842470df1462932e4597af5ceed2f6e31c847ec0929a7d2ed966fa90d907be584f1753adafa994d16c78ccca8fca555af500540108de6a2b71e329f946615cfb7cecd741f273bcb4e37324993258eb017d50b1dd99ec8206e11ce18a4a5523cbfa18002568f4714da284dc52c140e8aa89c5bfeff766dcffc0c288d0022dc3ba4bb348671c239dbb74fba374f6b50d3570b80e0e8e461b923837f97fe20b169522133d07a2063cc53e474879c679137708c6c5cca8953b735e264e95e7795146955afb39a62eec603b985f5261c900d707f07624c9c36f42c83aee8f837bedf7358d6d0bb3a5337dc18afff294bd3c22e5fb6f55b3cc6913ad6d755a99824e3f5e725cdab57177445888c3a9bf1e86044196f5538c179892788dd8311cdb11a6e3d11dd7c0457222b9a714ab1bbb13e490e379abdfc438c20519ea58998740bb1ce6c0fff445b1bad2ec085270c9bfab8c37cb20cdd5cca91a9dd19fc7953f4525e620c14f40c5d39fe6fd63720e53a44c3fb83b2cd83c549191ec75864c8a9a0b81c4836d67eac6729d4eb9a89ff06913ee658fa579ce109c9ab20b3c06c5e57d5705a59c418dcebf57a4fc94b6df7018749f8f8e65078530fdce4eb84a94b44b82f7de3acb448cc8c999f2547da44b5123e21ef00fd1543bbc120dd54da2017e523e027c51200b7610543fcd4b46d938bf80a767d3995adba601a1970d77257dca4e1425ba393c8ab44877da6c81425ea804cf903c68e260db7cb5d7692ceb9ef4bf41d0399556988c4fc7b3bef74028b87225d00a89a1aa366508e5e4a5cad91bab7a7e96523ec5878b4982a0469765120bd210c41be5547a3408d5d63a1c839fece0f7f5835e364667f470b77e857dbd4da03eb6ba772298ac5c68300b117b706c5ee55da6b9593e747620231a28aae879a6a0c4a8d20d597f0752077c321c2346d8f4c52c05f69cdbbefc98ca532d22a6adffa2e40481303d6e069f425d134cc3b73187de29bddad6b182799b616813b6cfecf49012f431b5e905a871387835e8ef08eb732a3dd8bff98aaaead2154efaa944fc0af60631830c63832f433805e215bab109935d0422cac34f6366cde0bb363b48377561b450007273c48af4e5d30c0bae00e23bac1f97182e80843ff34620c456dcc5dd028456f5786f21be93d4349de2cb8ea37d947fda72ac9e93d2ec4bd9def8719e7e88b58557e09843e2079adecbfaf8463d52a36a4dccf167e178f207b2feb0659d9d092466b857ca18787f32e50487ab2481811025c278f12dcb9b682675791aeac17632a0510169496c265ceca75c73a6f216f8ff08d7a0215e6603a1fccccd119003c3fdfae24f783405a0c1e72ed6cd6105f5b4390b3dfcb7578377fd7ea2041f4e493ed75d70afaf48961ec376908c2305dd99eba39f45d742e915e99dd24e563869a755733102d63a3b12a2e1f0efa51b8c14f3cef1c719231812bf8890236630e4794462afa819f3487f7093b904c7e60906e98be1148d3782a3274d35b6b31896700b5d14b37eb63a9bcacf101f075ea35ff556f7cfb68064ea7d0090df7345a61d868f9af6c539d4d43a2e92c198c19e838b3c1ae5225476b070a309544a95723494ed54968c8463c1d0d26690749596f8e8a5ba986dc398428c3f2261d53166faf88120d342d2f0a745a4e3736fcaa97af71918fcb88e146c9ec5134f9a8ad2a9b463f3402e04fce855e761e508f3a0f2890be3164ef96201ea0257ebb40ff2c0071027a695ee809d42a5accccda4a13e2029faf7ad0179ff74849e545cc89a18b6d49fdafe6c35c6ca11c44abca6cf95dbc4c7981f6045fa0fd4760cc925586aa65b653a250ab7b9f60105a1a93402e72424981aa34c50fcbca6e6c55ed1dd7bd7d6548743c62a7b82354f25df75f972a907457bdf5812db90b6cbc4c9242dfa18fd91d2bc26dc3ac0afe31ac9e60aa769ed88f3e000d1eec7ad9cf224f126bc8d0db17cecfa4635744a371f9bd7c7a0ca51910284ed3507808099a0af7eccb83c9d1d5ba38b651d3565d81ba6a786685f14b7624a05a490eb0dce2f315145d0950c38d237cfd9f1af0b2fc6b973f3abdbc39a8c163e6d94c973dc8459241b0e9772f1ef7b47d18f8b2fc267752535432af5073fd85079f91c355ba8ac363a23e51ae1f904675354096af45ae87d9e0673f2456d4164d95afc827438d3f2d08ce270cca170dcf442eb36e98b7e3da593bf6ebc8904fc2640868b4d2c43b0cc332a079450b2507cebf33a16ec3b98e6e6bd0388bf5ae28456aef2204e432d3569c2b5a01f4d7222c4dbe74a559cd3b65ca61767e872022e939776825a3faeca0ff3bf0307b96d8f96f917f8989e43100ee21b08c544be2e6ed7151941bb1ad0dd1c337587d6c91432915514a3df95da1a138a4a7cd6310e65275a56e44b93bfdd19f8f363fe90417018eb7f84b2cea03c4a9fd785036dfceb41d4407068b2bed3727504fe388185f71255081030fe8dff5f7f8610c8f63c0e8aeefb0fe06499624d55496692d24f977e82483fc52a7cccbc292dda3ba052ada498f355d39a90610cf20b7d38c77cc711c339812981d767f58f50ed8426aa2fc068d8cff37049c1d457e69317d4d3c39830cf98d8fca388a7c5a8ff9fe778f0c014234283732b6ad6101e00f63f385bad518fc9bdaec4c88aeff5275e307ba5bad25538e0bdcab8f5dfe86a10043ee6ac6bfdc6952f7530faf7ffd49d7e3232e5c44a62d4dac0988ef9ed4f8e59f5ea2f6a6012717e31149ea41634fbd351ddcb8125bb41f42ca5a698949bf06c28c56550e5d93ab92fc969a5a22a6b7629d2e085c4e4fbf803492cc407e9bd295a01171b84f2442fffdbdfa3e727f07d5b27d61f8afce0e593a3355f5dc74510bd53542e36defbbb5d1b1a8dec9d5a59bdd8939ed5888331c5273987f22ea74af68eec9e5bd01141d43e99aeee6e0746254d48eebd8ab30237fe8e1ce3d1ec3dec58f651605cc25cc94bcaece4e622d389d6313a067beca6bbc1279a936dc0e82d6d40f2a277d09d40c977030d4086f00b9ffc738e370c8b0b5e5097818d2d0391e4d97684a48ab804f13e9d5d3b7e37a82718fb2286d74365d658ef30f99b0dcdd691336354d5abb91118bafa5ecc8be6f1b95dcb3ff8f45c4a70701a5120166df7c646ce5f81b2e3e64fcc817e0fe318a65fca15875255e6b0f9fbc922174b13e075cefa61e65078cfe797e7c05b06470207983fa85ca774cdab93296b867afbff8c886f966b83d5dd24fba424c7890454b2127bf80aa80616224c3b3e11da51b94f91da3f6d0ddc46252ea9a1ee208352daadb0c2c09bfeda3676978ed9e1d24543eb976c5dc3f8db2077708c836f854bc7a48737e910457ffe8e7520980970bff692d26f63c9b7b70b51505819006891dd5a7325aab9290845acaefcc8651b7568f2fe2f73f86e1f30d41a96c5e1e0510f2751a3599b16ea84c1812e9445a0d145b7636fd91723e9548e999678ec0e5f07ec2c2a625cfed0d94b59288a5441ab8fdd8519874ad95b07de58e8a46f989e62799110c16a58abdff4ceb89c1fdc845f32526c0aa26c1dcd3d333f138063b6fceedefef50dfaac5c3af403bb1553d623dadcb4714c26b53a041d079b2f265db83ad2706a5e720b20ad19689737ae7ab53feff63eead3c35722d7452921c205498ca84032131bd8d46a6b78a9bb99ac21b2dc6f06fcf55480db809e1bf560917abe12ea0704c8a7d410cad720eb54d24188653f654cb132c47503ccf3f097bc8989212fe92f0c3263e2475221b2fbf6273a1c537bb9002648f0aeb46a6bf2b5ff964379a7187e53633b99b771dc49220e2e166fb14e7b3eef10bbdf1fc3524d22e721d841fb2cb826e22fb3ec5010404545d66b0b8d72dc340e0e8e691166992acddf9a1288b1e3259b3dd9c5ff97ee2140706d9acba21e95bc42d2665dc9d9f44fb178082fbe06e2a9c7cfba75dc1cd7b8e227ed70320eb805291793b6ba845c0144093f7a028c5be4767e09802fe325ce33c3be05095464add67ee92808006e03aedb548d17f16554e64e241e912c43ff86b28ec9766c19c221e328bba45ea59c4c0bc42a33f96341b3ab66a8ee0bf2f852e9198011201102ff29057b86e280ab052b9e103a7e98fadce0a6de55d7ddbe9445b683197aa6d85bea2f2992043ca56e26424a78191c7e89623412504b49264be743de28ffce126dc5ed15b6a26068969f57a903409d140a4e9ad841c23b223ec79f655e2fb031f53f7f6a69cfff62cd602a31408c47dea7c28f2d4434f8f5cfe2dfb94ecfa24ffc66df4fee77a61e63bd21e5f9418b051385ed9649ce456e26ff162601bee3dd0cfdcdcb1d027037bdc4b7c285c4f8227dac4286692b08b446f4c38229eb1f7237f5c11426891a74900d418ffbb88a1b6175d036ec759d5daa0530035af09add4c97809b4a8372c82bbd48adeb75e3c8dc670b4793310d14e4a61256d0b65862c74783b1c30577d3053d1432a55ed53a77ca6a169cf312b9b25600385d41edf1af94b3dbe9a8fa5aef1ddf9b2fe83ef7bf0ac27c5b920c78642878ea752bc0253e03d826b2e74b19f96eb4794420fa13c43e880d862758d436b4ac66f43702ac81c3f1484110b17f4932166902731b4547bbda4e481fa96b3c0a7157e42ea61978ff736f397ae64dab67317eab196be81a119e72e8f07ef295c0b2f885c6f8d6c9554187a096b13df8ec032e724f84e733dfa01f08a3d29b7d6db2a0527e789ff256c0571ef78b5781da37e11cd448eed19af6b4c98d0984f2618f91a5927730fa23f38aef74eaefd7977263980bd35d3e36d86d9291017855d185817ebc142c24e10f2d53af4002b0abd9c47b9b9c92a4191aed165ff55e20eeb4988a3a9f913746ce579d1a86816b861550034def5b9a393a84183ca90f17b33f7bfea264c821e19295b32d67ef72cabfd12eb43ff03d36c4eac59fedc1982239fce37d114d49493702fd862dff2eb1b84868f1b6d78740ab30ba3dc10b0ac15c75fb38cfe09b233180acc2f1cd6056729e40a0baba9733cda6cd37abf1a95c5232d0079ad4f549a3edae7506396c8d227dde643ca38479da621942f2f10999fb300f639265f0ddb660f82ae5e7fddfd97f749c9ca950a4e94ec270ec63aa6421d5c2f364eaed1ac713d70919e8e158fcbf625f0987424a6d2fb4abb27899b578b74d41bdda2f8fcf57ca73814f8af8a55c45fb9d9caad8a7e3a1ec2e989c2b435d9fc59770c2baf9b68bd1338d06685687b3649e908384253f7ed742cc45ba0990512492c14fd1483dc46f668926f123e4f7cb7e58ae70ff75f2ba52246b8e63d1e1fa435dab61082970b7674934fb16812f5265b5464ce6358a33705502cecd1ca9e7a7039cc87f1d9be9d74cf69e6c261dc0b16b846e9ad8e1ee67fa445e08e89d5d01fe3b9746e39e2604cbecb2e325ccf71c366aee671b702a6db9920cfb95a0efccb998512331021db0baafb6e2beb64aa54347b7330e4b4c1e0ddd09d52f529c22c6f808ffe0f3409c6dfe74579fddedd2015cc483d0b23415f03011a7fbadde19774955c6e9d401eb73dae62093c14998c7c98dcf413335933129f66e4a1cc450e346ae24fbc67f25b3935f79a61fc3c2bbfa8358228fc8e7386a90a40895bd764fd759778f7d0ddd25cd0a1a004aac136236db53dad2f0e77da8d80504a8866bb68018183b48912c8965445bd41372d5aaf72ac21c40ba3aa184ea089b32f150be7cbae537869567bb3d6ae572a767bddac1c8aa4b9a2fcd88b56394ac3c3c2ae7167aa05b8c48f46ac9a52d4f99d5e9f7cfd319eabd0b4a4a4b3c4794fdbd406f2c66206865367dbef41cc380d192019f7daaf1f372f30b4337940672b816c11036b0085513ffdfbccaf9eba42e25756d9ca36d1e1592664f96c2fbef57dd658ae25302d6c147101ca8f372fa1f173280e11dd78d8df8d7bccc358aa80f7d591b6e3db9d9f4fb213b4e5b53bed73a28273257bb32a1f87f29b77e2d2cc139cc318bc7d2958d7878e8e582c5df92e41ffaec810d9a35768f16fe8cf0aeb56d9ecce43b7f5535934ee857798e2f4e78b7fa148d1a1152600dfec48778da3c007c14f32a200ddf6cb91b01a5cbbfa7db6af0131d43f511e4f7d4853c2fd98c359cfb2cad56133201e8a303eeeff2fced008336730f2f0dc45f7f25b213002ee1b2e0920f309c3d409963a515e8de28234a315af06260ebd3b72a3117c618cd94fa415806defc9d47abc72092aafec159bbe82a3fc96b197ba5431e9ebddba4c2c3b158288f09194369b54f514c13473a783b8b3245b698dd29e7e9bac5883c3789af68fa741d80ce5294c7c28bb74045a36ed25b407212df8478bf603e63503eb7958184327b8fc457438c3a11b2452c4bd013611249e089d57bb54134572daa78b112434a32217ad21c4e69dddec9db4a3ced2c52e617d3454d74d51763488405a40916cda0833fb26f039a75b919a07b5d9c1bb623551252e73776a74ef93eb7d9b41ca0007e3e4c9080f9f458715a4856e20ef9e1bfbfb2b3e12d144826d4b7d685dbeeb319257bbc3f0c79e9a4edb21bcce4a8d83e07fef0b45d0f9efa2b86bbbbd524d383b30e2df0ec48087c549b3d6f342801134ae9981f3c9e531bb3c6f0cbf8cf0ce6dffcb3125134e943605af01133536afcb42834311d4500156da0740dd41eb2c6b7a8be822597d1acf12207aa409503f956d02054192610f0b3624bcab1feff302d7fa10e0c5402742e3b06f584ea5ac59811e743abab919b2f771982ce8409ff97e8b8264bc3aa5beed37aee93f6a8100ce4379613d6df5482aab17c58c582b2dff856de53003dc8a596d4b2363ceb748ba6b7301b4b2f443a126b5365fa7666ed68fceaa60207f5f3b141dd618d62fce6b4246dcf9d0d8da982e3843f7bc53cfc5ef0de99f766e6d6ca50aaa031d8ef61c228655bf9d29d03f4f8c2090fff2162e4903243639c1e01674f8112c56182fb2d60f9589b02bf7e8303509c86c290b3e40bc7aaa8848980a8378c45a4ea203b19b32880faa89126839df0e2e0170137bd22f9d090ec0c752fbec194cec9245d326498a9ffaf416974adeb9effbfb3bb6c884faabd3e8a59ddbb23dbc93a4286fbd5e0bd00c7e82c37bbc76a020a26c96c9b608b03c4a4b8ad2ef37fd1c4c66018a72d18cec8aefcfc39cc999cc488be56aa783e8abae523bb6a585d96f978c467205d40fcbaf605d7e7c426c78b25e2af0db0591f96706df6a749f1aef2584d9d907181c3f3f4157135097e5f7d9a81138e9dfdf037ad38745e8949539515fedc14256aca14cec669a084f6c62ff7d9744dc657761c60c24e24f59c156161149d74bf136118223db1ab1f70f9d8042cc7b7c57ec8ab854fd4892aef38c31950b62ae4ae59f1b1650feff0cd90a360a4c15c7287347b1ad8124bd28b055a8cacd421b3fc2d33437e36748b6542f96f63fca1771402a439391c93e7e5601ee19001a1e9882f3d607a0a212e4c68f7e9db229f6d59f03977bc6d56d81d9a15c676f5cfbc7c7d5759b8dcef75dfbc51e570ee6bf9184205a9ef7ece8ac347b0b55d9f815834b02ae88e919466bf3a1d261b12d726062000e9045494632720a3e814cf1914a24bdba2752e65ee66d6fc0fad9648795b344e80fdaee25b9e69d68a8a327797d40c5cd433945dd6fc189ef379fdca6130ea07b5a12dd7f0c9686a723c63bc13ad2e6c648ea2e33ed1bd968fe46c074ab0c5e186124ad3288f4a70655109c4234380951d8819ced3271ee99783b7de3f96a49f38b8ca07f4db10324330d3aac48913a10d56a02405fb9ddf1c44be09b01f3fe6fca6a0aa178214b6b306686f7990091486eee6211083c4b0ddab3955e9149506b7584a518861b5e98af1a81acc78ecd1b687d8a1df3b4e5eb9a064730c65eccb224ee82d1b7a2df58bf2acb364c4e9993369c5a8d83fa3d4d72df3ecefa2cfce4a7545159a77de54001b57af2611f04cd19a95f4482c09752b1c4b66a07e9d4f68a6f8bebfa6d9859ad69299ffdf2ddc1d4381483ba3381769ecb935e43e3ce90f3a2d23b94164ab4df656301ec6a0885dbfd7d18051c794b6035c20076d091551230c98d4de1c585c64efb3c6c3dcf79546fcae532c3a42265f9b91335d0b146dcbd5d4e6f4288bcd76378fb2c81987710c0335fbe41e666592592b5bd4814344c9f40f67ba2ccbb8108ac91933f096ff314c585eeccf73189aa49091dbc1f22345fb89e80c1d5b4428e7f13a50a5259566a00889f6dd3480d6b4a59c6c4ca6b47437265eb157b3ebbe29f6658b16cd5b9f7dca57911e6d86419a1133b0957a05daf97ec0f7ee3aae431bc8de162ab07e953c57bd96e3345d0a65059ef9e9a5bf68f9865b2fc29e817acbebc7873bc64a56ba694208ea5cfdc2ac054206af935e8e6028243d3bf5677a0cbc444c2c124913aeaea46b66c2e11d75c9060943372985c131263c725d252c40b9d2c9d77b34f64d3c91a10db44c510108566a1fd2d5b442b0c241502111314fa2e00cdc25143dbc29bb6efc9bf328b5cbd73858e754ddfead781f8f63fd21c839d95f3b200a8c3d3002d8db704a704f61d44865e3112738490c82bffa70e42fd29823c6d4805f974a66a3eca20bf316331a9f797c5ea1e9b36a78d37f8d7f3b9453a8a32e0a3566386f846b4c2234f22fecf28792dd527238ea76c32aa265db452aebd04523e6028f346f76e85898cdc11cc88f33ed56317bb5a8af45baf07cd16568e9b7b519708bc7d42d7df6d9f650b1ed9a9ca848e9644aaee6a819e4eb856f5bfc24a31fddc8efe2c733b131985db8e5d3742df646c1c9c54328eb8a303c6f06abd5bd5de92c70743c5586fcd146fc2dbeeeef2d9e97755b214a3ac7e2e5e8e9bd7e372fcf8adc686ded1cd2c8b71b26c6b9e5fb6acb71ad3052c0ff695d1b929334cdf7a3f8abfcf5624569ac0190831753f0fdd19cec530b40a3046af572c34699c09e4c9c1401157f8c8d873ec2015673442382ce36a1c5cd040f273e5c81190f263a86de6700d1ecba1a792e56f1b60dce5ba6e3c3c051549301c99d7a2f0191f7a7a582fe1b1e1f54a6c3a337b5683e73e8105a960e6d08a828d44ea4b7c60598c9ad9bae25dbcf91a0241982276ce8297fa5cee3d961a60079c476f41b10ee2c6dee19d543ffbe1719f50d70ff623d18401fe60b2a3dab73c28f69d8c15c142be12e81376c78db3f2bf49d5ea4519f2e9e4a52558cd7545d633596f3a3414e0b3da721094ad146a80591c3600dad9549e72cc2d908f60b2701d0c64fcf0e5a79934fbbbc13aeda09313d4d18b506fc1efd03b6a5545d4d632d8997877e71ab0d5e12bf3f5ad56d00654823a7f27de774e080e15ba380677b4dfd5b2f28cf50ddc0d514e10f7a265af70e4640ff60ed29ae3dffbd77e542b8c0cf69c7e6b5decb1b696030dc2736c56b7327f35dc9d4ab07abe129103016eff7e05892f7d90f02530d880ac727597b1d679e20c40a610d0bc0d20b71f4c4ce8512ae3db2e197c7656142a041814ad595eb925aa50846fcb745cf89603448d81fa9058ad546c7e34baed3582d6a201030438ff1b7069b086655d2bcbca503b4b4a4cda5d59fca052ccccac9bfb8777f93ca5c0d9a64e98051660246a5000a9f635f5888acbb9f251a682e616ba5e9eb5d15315059f5809e0c548e898369820c814e2f3d8de7435f339e10fd7e129154f3c0544657312611a1f843c21091f1a071f39acbfba65eb4200b9a5e41ddaffb1c5ef7304029090da00a7c6befc7a32deb918e9bd25b1c2583f053e066292e0ee92633197f71f4d060eb19eaecfdb5be19f5e63f355913cf7a1742c22b083ce806386ad97402774b35ea72697ed0bbbe33c1bc6852db999a814b8b20c00dad7620d86ad88c9cbaa42efc07668e6d42cd7865c7ba9caf0991c18e2091e5ce1e4b013faf489f59150fb6f423f04769044b5f827785984540cc5c7c0676f0b17ad37571f59056254e0a7366c07bcc04c5f55585d95dc75d5f2ab1c3d312fd66750bb08db243b85ae5aef7c2915810e3cd23aa711764b6f6ae23d4ecda21ae9d17eda29eca41017e5fbfd9e0d65c33b5eb870fc082354c466da850c981fa30a34d633f68ee79b90585a67ef46574e8419cffabf0adca0c106d87775923799898d8d6702a5d99ec1be4e7936aa9fcd44b4e905cd5f85a290e4a3ff19230c0882bc9b991511a843d3b6b9c7bf271581fced9a5cd93e74961aaa2e96cad7eb71cfc0e054659a33816de2327be6285b0378916c94cac0b2c5fb127e06fd30ca754d6de7e97ca30cacf5ade17ceac6a244e33bf7b3d44c2c3d541ee20f5a46a8bd59ee0fb920df136e9f1a410e5b055e921461a3b63710ca2fe207cff4669559f1dbeb6ba137d0c578d775af914d86aec8053452dcf5cf3df59c1fbfbf1158b80b5776216415fe74ca79f4ce9c41acc1362551d2393ab85c447949844945432e547c7e22e28fcb2d6c5b38308bc87822b6a4a1b51c5c358a75d7ad6f2cd2f6af6c41bdca3d359f004aec24a6a49c06402910da061061691cf6b7ffdd6f490ebeccf21a8cdcb6e17471db143a20cee245cfb1e36c39be54f629ab7cddc2513d50145b0302cdf78ec0cd64926bb01348156b62a4b445e7dc4a256f02ec920302ccae125a3b518eae7c928c44477b2665062c2c9d69a83fd5299d7ec05f6e1064a6b29ae998b6da28cd89ea5d57766eb18ececd08d0bc5cef8735ce58d8cf9aad5cd5477140c2472c12bbbff78d07e268070f3b9aa98837dd0bbc13db0db3830579129d254dd1c2a133a0a9855360bb453f2874827955ab8492fc9d527b5427f1f6dbfe031ee0c3f063957995289bd35b11db2a6770a3fed3efe588eebc3795c16241b9173dc9923402e24d840d9873960cb03733a736f3d6fe3c7b307af01c5143245e552ee125a3d4fd9b39b214716d5c651c94b877201ea4b7693b2cf78e601e2075d3d695f9d8b430348c2db2b958aa52e8fd4b3f0ec3a141d28331ac951a172c2be35991b9e3bf41f6c8d70d16f265fbbc46c37615d66396d54b8028cb681cfbd0442a16e593bc2617447f4a413a4e271d5cc5d81dfc58fdec8927b261736f9a06918e0e4ae1d69a5e5e71a2dcac990cdf01bba86c1083d77c4dc63cd14eda21366dc2cf7f1116322c61b8e6a139095e667a9509440185b4a4dafe29e5068d4b7b7976935fe4b4a91f1eb913ee70c848c7ad2a7a0fb026b458552f6a7bf6ccb220ee85bf8014d9295d2991406175f1e147f77a1707dbc3bf389ac5217bc1aa08133a4ae85fccc578f8d8ee5a65b060288f6e8216ee0e6dd153e682f93d71a246a5d0f80cf719021421fa6b366f4e92cccd34d57efcd704a98d91b8a7b0a8fb28479a3698f11115f7b5a46c8571d952f2ddc0173c5b6aeb743aa36f81aef970c22493a987adc25ede5a9a03fc9f4cdcd5aab91b56182105acb5c63777f59908de12f6da6f65d49410458542b76d6e567342c8400c5694ee74abcf2b1d63d90bf29e0fec6fc26e527ec92d17f93748bf33091874f366bbab5ef7da2db0354bd35ff4090073eadf784c9b44b973c8134cfa78a79a5464ae91569111bf116980dd2111dfeea8ccf50d3c0ddaf54735af2a01c216e4b4dcd0a59c43e7d9621c11cb8d09d1b4cba208836573085c4e8c727a5daa8cabe4f8d8e130a4e5e0654a8725bf6b9cec6ca5b661ced12076f326a5333b702ec4b4754a5db7568f628e93517d407730d2f0cbacdc58a44d5f42404018ff4825dd8957f8c3d206b03fec03484919ae77983a95ee505ff60f7f108804ec92be500a4cba171a4ea7f4fb9aa5f3fea6aa5560b3affd47da21e89c429a6a51a4d083574f3ae90e3d557672f199fdfa615906f7c75ddd1280b70f648a0fb643cc6784af7265a254bf640b950033f21bee4ab4538b6576e685230208749f6264e963d80e0074f9bd7c93a724d150a5523154efe6d418c6b8375f73f180e80ec7e917aad399ab9a6aeca46512832c946124bbdc9c6e37e98f36b563b641a9aca772a962c52544929a1d7f78640e5103ba1943dc6cb63ef291cf6f12689667c5ed0539a48d5ad7dba177a75301f0af95bda0b57a86cd23def040a42e204abfc5824024b690910b195773205b56dc57ca1656dbd758d1fc072996d5b547503efda4442d3de8431731efe382ce352e190340b8d170d39f663d1d57215fb88c210d70d47e66da21f456ae3f22e577f79cc57db5bf8d159cca5b66b796e56c351a3e412b173d1a698e8d6658e3bffa744d3cc4aa946201aed6fe12ed395dfeb6abac15140b587f39d9022e59987504f32bd8bc5ac4e7eb6802436b99f77990aa4a0598163c41a56f2f9ecd6aa930e03eefcfe5a22966a3df90f814d85a2cf4d68c979958e2860b3cb5b8fa424ce8e20289b65fa201d2b5373efa1258b803ece92300913ad2e4c1c83a19389ec26a15109004e36f2af43be5bad845926688f411ab9cf8a0033b3af17083e4798659bd35f963fc81244cbb2261b8fe1ae726fe3a83996bed6f381d7fa2a28722cb0da72370bb42349552eac59612a3f88342cff12a804334eaaa9d935283c8b5dc6e12cf36d31dba4263045ed811d76cb9fed75595521b34334b629a02f2eaec2adf937ca98919a7f72d3d415df8b1d50d6db26204c5a4b24ca62bad88990009032e4fe589ca966973e930349ac3953a99d60424ce8e403a8e1451a38d729840278bfba6d5a997d27c7e19b2773910a8cd2444c1c75405def0c9190381713e7cb224811020f8446d3f7f52f61adf4d42da08f003fa2e89cbc45b3d6e595d6e72154e127c23599e7df9df584a2933e7634dd4a2aa96895c5f81a43378310d368575eccd8d9396f98047544fed131154d9c292f189db09574a2b3e7dc52d3263999500f1a911341bb6e9810c549f3b3ca3a1e31515cdf5f97f8872f5a02c1b7e743fa67eabae7f1aa768f9daff16bbe7d82eca238dea9f9290c636baf838fd007fa0509b62dae8dafc7eb55fa55253deb70a55bab1f4cfa179054e3676c3e7419e1806e02a40947ca3e44f839e35fdbf643bd41a004d6bf76f7d23e0bbee4dd25b855325fb8371a11f6816eaff0a8385e53b4f798f8021a1eed95000bd8fc1a4d7f9bad3b272f01c6a5f96c932a6ec8627413969b40cda90fcc2f88d3c43b1ea4271fe7c601a5e654b5b28d4167d8e9077414765bce749e53694e4a165c3de6f3c65b0e5e00061cd30db95755474de6e4cb4e608d01828ba277fddf8c3ad5567b9f048515160c7179b2277e9fd858506339e1a3687a29362d2811280297618d8df0cbcdcf4f014ccf44eaed19c15ddc2337ffb09af6bfd174a4c0e8bc6e4b128d1350ae1cc9b0fc4262211fb63e52c932371acff2af4ceffab1d3ac1aad1985d1c39c2a709f29ad33c8dc93a97ae87b2c9e0249a8c9500a70fc1b06efb56ac2fc2f7e415308b72469ee2bd5c9b2f59645334005cdc3128707154635265bb03112ff579f863af985ddcb97472be2adbe9ec4df03c5dd999c002accccb6d7f0d6d26cbd12fbab18a000fd61146cef7eb5882f51feea87632a33049e6b8d8df9bbcbd21c13b40a7640c80e9676164e99874f1214a9e8f2af4b295662bdc987205421dc2a4604f38195f1ecfc8baf8cd6fdf75704da0061f6cfba03805e4f959d3faf69deb18db28d0b981696089e1a2708807fdab4d3f93e93c2dd3f9ce265b7daba7835abb29ecbf6230a5519cbb9cb060799c4c26198c7b1513a82642ff12b4a38d843312640813c29b86f3992d92dd10136903293cba6bf727b7a04cb1de06b93a9f90de13480ac240025aaac2070f845df8f89f245031f54ece32e514d1ff757296ec7edd20cdef22ff972bec766037da85d47f1a23297e579a05a564fbcea40f9148d773b649b973655597d8adc5dfbbe854979098675cc541c3f09cdf351663727d5e10ef823c91921ab69979160eafba2a04bd8c5ab29376d8fd8594e5aa9997599bcf8a4140b6079a51389b6a6ac684a120f1c596e5233afa36db8c376ee1ce964952e4f2e8412546f7db4cc54cb579e172fcde93566ad2680a728d63ea5c1dcc45e7e2e34a57e89ea69196d0fbbcf92e79b9ff34fcc3315a3a4c7a65e94af9a90a0bdd7d9bbe2108c3eecbee2250bfae74eeb9a3b1c0498a0194b2e173260226563b2bf4f692b3ee098a282575bf2607255037d67a8d465935d80be6c4a426b0a611723d1e411dd4ded09366bc6bc06d45a1619d627c36f3b292d95864dc8eb6d6987e46e6c86ad14a82f561964f30da1c46a14070087dd2f09082fa811d5d2bf91f23f4f0a0e7162fee8df4cff9b20e92d4942eac76daa092ef70b38b9d7f54e2969cdb467a3d455ebb6e9ab04358205a5244d81990fd49be4bfea05621cea8393851346b434e8a35ea288680e572dc98c4f258737ed3f0068c888d2ede652be18b8712f08ca7a2467a1f54a734fa80a4cc81a0bbcf64468c25c2b17a66fc8e7c8d1d6e679d5f7021622d73b2cc10cc989349576da11ad1d03161f14a9f6abed5114a1a32ccc4776a51fbd6135cbfdc7f46c299cc03e42f93fcdf3710e71feae091b00154b14d944b364b217134ecb36e0bf1177ca237bdbe0695c32f2e444453dc9c3709baf987e498e0c422b7ac55bc5bfd9e9bbe761536b50a1edc3174f68e1dcf7dc1551ec0baf4dbffa2a65d0983f82e0fb061a5cc28e82baad1edc8212c4023740f13f55d357ef5fbe431845615a0967ba8bccdee2e81271e0b99787c8f997d89c04108fe804a1448ccd28eeb5ec5ec0fee82d1ee7c68fc63b4b34c8db842476d2b1317126e6954aef935a368b3a14db7551dba9136c51b22a718c4cfc927f37e6c68b6d2e6518fe3b3eb5e50dd2889a55c4cb41e8c1fd872c86ca2124c9f663ae6fe1577ece6b5538785ca8b0db286583dacb7c81d47f04cd708f6f4225b4751ab486b88ee271852f90ff78466bfc81b59ee4cf5f42739e0714a4ed63e0ffe8b50bbef0011109a3adaa57b07b6af10af2e49a15855733305990899da9e076683090dc7d28f4cd60e3c91f808549962b319831817bf07f2784903413a0b9c35a5a0f21f340703afa63fb1bf036e2147fcbb9db1e9484e0e98be15922ddfb9c9f9f9a817696128e57dd4b5128813abf6edc709d4b4f6c4ecc914ee2d6cb9ebaef698695c30e0a251c4f0064f3847d5688e181dace507e4a454f2c94cb4121665ddf7fec74c4debca51c034d0735052e67b39190909b208e018bd7b6f32b1928cec34217eece546287aec287f71fd073b3594d3a98a25d2ffbf0f53edbb264872ac9cfad7f3ac5decf9f72c49b99fb7bbb477321192d230887c0264074c261d376b6eafa8080f5cac5c54aaa9918d65dac69aaf39640ac420b0daa43c9325524a85d351b020c024ac051ac83230dde1e0bb0c558ef22dc0ce1523112a4da4d8ada5bf695cf512e5281eb3ae01b1890ca6264de908e4c8c7eaf0626f950aa151b9a4f168a1e07b16995d6a641511f318de456126d55e4130c468f97808c83838bb9cdb1b5203473bb239a73872c1fad14ae0ccbca4776e184c2c37e8ff678c4f24c188874df74c699444a373c3c7afc4e02e145f58d571478f3f2e766932290762f28e7810e1901cb7fccc8a72caeefc177deb30b34c56cdaf7cfcd9ed5c8bf428ab813f5883379a614c72680303f027de59abce3feaa2241bddc374887920d91bd448db53d43ac14c2f52cef07fcd95b6ff9e1cf729649dd008499e5191834596d6f29e3328b34f53b7ea8800fe4b44b86e961341024e66c99575966cfa5fa03a666097a8dad5fd20e643f9c8179248560e8e327b5f052db7b84b93d3ef127c2bcdee0c4803be501629d4354ca379419d71f46eed3136e3db787c68fcea04e9a3b52fcef3abae271bbf9e8fb596c57785fd3aba06f4bba4f0f120a20ee4d90838a6333d67f8701fc3e2a37e4f9558d12edb3ae510c5d04df850dd74760ddfe91759da7bf98d2235c3c8c9c0df9c74bcd9d015dd532dad0cf6aff20e5d360e5547323ccf76c16beb7f63c5bc6097bd6e94175e2e3f9a21ce5be2c944fc8f024f18bb503d214947415733d14875f394a12641e568f2de0cd1448d0f90ee7ae69e41c59d80e35f4428552a63af9f03e795b6b8b41c5e5f93ce7138ed3074c960621da1704c24a6f6ef1fd5c888ef50844c28bff58c13a9410391c33fff2dd640e61de0fe56262df5257ac484c7ed4b9d46ab1efffb06aedfb0d5e144ea9fc4f55fe90a92deebfa85f1bdc5eb81ff50c8ce5d0f082c6623487ef96915262f59433431e8235755d57e39ed05e6ce253a2a279bec7d686b3ef58fe01fc34f72c76c24f76902a0991ea1bc606f93efd22c3e8d1d18a589dba9c935d1acbfa76c1f55b0e1fb702438a89d5db99c4f7b650746e9e7bd59ef75f3b1efae593c95b243aeef759d8276bda5c4156fbec63bf172db5bc5ab5cf44d50c1e2d9319d6ed1bcc903eb0c95fcfca8bacbfd2aa3bf8af6fdb523cf61f21a8082af11bc91dc3bb381ad91d7b03af3b183825bb6983a896c2e6e0efa518f92646fb1799da3432afd9fe2d3e7ff6a2c096ce15bdda50b1c70de26bf8465cd8099cd014cf4539f3bb1f6448b4b635bd1caedb907f3c391bf6c70cd941c7eeee9b31f0dd187e28ddd3f7a6cdc3ad828fb498d1e976ffdc8b6841691df0efeb0f7bfbec56e4445285a7503a20956f76c79916c94aa42db59958381ddaa3646014ee0b8b9c81b9956083aaee95754db37fec0bd41a453794fdce1365835a52bc243f1f0c6b76c7e214849d5d59e9eb69db5a74684a3cc494c35f2f9cd3685c559c1cf6afb3e726a2e960a9c6160e747cf64f1f4585e46a8ed8efec765da5905310f270dea30e790d4b64816a4b590580211cf48ae6ba3016f6c927009134b76fb59f008bd89b0fcfff976ba3491e4b2a521e7d90e6b3dde5c46a78692eeffd1d899db5475dd4f44d7b153be74ceb974c02014edc492209abeba36e7d51cfd8c9e01bd97c34dacb6585fb896ebc721431cf38af62bc65ed4d03ca0a531fc8fac9f869ab40bdd366a8d97b6d184854f11c002ed212be4a1806f7dcf5acd7d3ac4545c1edf571d25f2e0992f2efacdb659d1884f1a7d547366b9c09d58d20d071e9ff0dabb14320a1a1c35631b114ff6b932abfe5d8708b5a50fe6007561a836a63b1d377b322555f28288ccbbfe1ee9b70ba970ac2f7be76d6faa0d50473499e2e6b4ab54c49371206d83c4651670db1c1b761f183b44d079b4bf323a619f297d6b673c6feb55b6f5ce5a5e5a978d10449a3b629881d5cea3bb3b55f42a9d06e565271dfdc2ed35318c87c00e93f8b30ab640a40d4fa6915c0bdd647714cf79b5b31d12ec0af19942af7a228ddb42ee41ff9dba0ec0fa6c89a3c5d1096d0fa3252471d569b7422620f20a57070bc8789396f1621623daa3fd2823b942d73318c590f6ef5a548e687805b08c8c7d18179a08f0ef7b2fadbac3aeddb5fdb9dc5b30d0b09ed8aa54f1640f805a20f413b3d58ef190e56bd8f94888644adb9efb79b5fd99978996b1dd86a13073a64456cc7cf841234be8392f5afac296cfdcc487474ef74dcda8ac81104e724b88fb61fc751d744e60bf534d5450af597f52b50d5ed531adaee6bf4df755a7ff20c5024566310d3c0af8aab83cd5b1d370a7caffcc3c078b71382846bf45dd8de00a59244230d05099ed44fd1e55be95dc124d739d7c25035b9fb26a194b3dc3c0342a13ca666e765e23441852230ad755591f1096cde6cea9567ae0f52d5d9d06c6dc34d5d53f85ac55cffe82a5f9a04ca9a7f7c1e766d54959d0bb545463fefa95ab31c4ea95043de5dc087137fba220614133fbb0dd5e66966f681f8f1a0fe6709b47e8dc21e70e3977c80b98508dd0b1b8ac726358cad56531effc5940aa8916f0156149613275bf1dd0a129665160c1c0277819b6b459ef71be395645d03fa8e015042c625de525d4bacdf94b08fa7d6c601ad20cf068d22db1de7e8717d384fb6a8697cbbd49b0a5d1d41bd8e7a5bc40ea538cd32a6b237f64284fdb2a449e4b53e3f7611a9f4ef5104ca53f49c817c7e20279419986421fd9ccfcdf33c6a9a51082e189d77b3a31d72a564032d355dc5686405c8855a508613d5c53a8e9d2cc9bbe8caf019e2f320f252e87aae54e3ff45cc2804650bdf402bf0a8389f113cf6292f48f36cdd7ee7863ee37922276bdf951ea8c81527ddbd75103dbe9f094855b44683c32edae3a60bd45e3ddd983d43294e6767332f8b1ac2edfddc3974399189a653564c89f067ce4cdcdd4f13e8844a0d9d861acfaa8646376d28cdfe58c16685edb8bf9f1e0129b6ff61f6b61a7663a987d0bebd2f8d84134d13244e07f83a1b6d87154802f844ded9445b35e9d814af48ccb76ef301335f9d37613cc941073b4952a2ed7dccb0f12eb76b7e54d9fc700084d34391b68d072a8faded4b193453be4d8b8ed71b40e8795d689b724fd299b4152314b439ea520a248802e9be37c27f10da7e5eed6052e417c1ddec6d01bc89271ef2f38096026332dddbc3f7d0201ff0b688443880345643b0f4b0a05b5bda64250661b3bb847c15f52613c9b59cf214820c39efc1749bb72a41d20d87e5f262ae4fb0d94aa4541f1d1455cd1b5245eacbc44dbb0dcb51f4476b98daf61a8edaec948f5491659723c6a12b93fcfab1994e1fc80aa66c026c657b76f852a6ab87f37ae98876b3e351de5f82488a15d229f167c3bd12ce7fd303074f8ba1c70ee6d5cacd99b6a166444e6866d1cb798da9675e4f06c21f5716baed6d0e5a8044fa47b56862f1278b5d73c53c7c8a0d2e8007b8232f459444027622d57bba7fde30aeefdd1842ef5a89aad8f50c8ab904193bf54784180ce384f93b15ce536806a7adcb514e50e550b30e6f98d62e50786953568a9d06e196307371d46a9ee140d2ce9265e2e8551c0a700260e2ba7a06cb7dd485f9a42e8cf27c2adad3b5853ad4266ee3a7061c5e73f7530228048d0d8c45dfa6103c6cf8015ccf479070c69ceff587abc759e872d9605c9d07ef8da649b8dd28ac2bc5fbc242d33e9d40a3d1974dcc528139577743585b7834930b74e591035d44d6300d23454877af6807f412d38c5df705b017f92a2fc14012cfc064f17edee58fedf2799704fb829a5b8879e94c66f3f639df5b74fefcbb3399284dc414bc0b3681356b4414bad0a7dd607d0bf444a474b5072526730078e4fa3fbd4bb24d9f76047628024f2f963c12b527dbd7b6db5c26516de4615fdb0985bfd5ed88a48f91fdc7d6f2e80bd37ed723ce7c21623ade683e7cf17ad834822bb9fc50188fc95e49d341a2808c8784e3a59ded107a0481464536d6bffa65801ea67295d49eb57c1c473c518d8b0145f102747b46e640f5e8b9778f89fdb6ce1637d0d7f698ff8315f621de40501964a5bbdfd51b0bba438a9dd59d253391c92ae19c685e87312b4425218d45b4f42fcb76c79cde2d426095b652f511c5cac679373225a6e3023867163af715160648556f49479de43ec894d7a0499b1f2eb447aa58015c232c49e6d88d8a00eb15d915e3426e15adf30534343e6047e3bc91cf472683dccf2c87ed2ce0fb4d737725925f7eec7077eb6706504027a4e1e20d2d1a62d39a9fc6af287b9f82642ae2af380d17a47e71c7b76b17f11bb9050bf2edc96fa55dc7f12ac02251900a4558b710e471e82946b5f319b5887d8647250618e1f5f6de5190855ebb33c5d6e17881f4eb8d8d449fa2aac49b0c06ebd12a635aca644884f0cab66f78afd55c9c6aee7cbc0005e96fb4509a88583fdf4e66feb5788b4f876515b86e8cbf3b715a7983d6e0cf82fe5740f81d2286428936cd00107df53660becbee58e374697683f4488de2349105fe5bb972a482d16abb1921b4270067acf01c122fb0f4316550fd7d5b506989e24ee41e4d06380bd15b75e098ef26b2d8beb7308fd62208aae5edb8c42e419f2ff198738eb67216cb2e65a086d647574283b52d603fd60b66016f3b7880f5d756349164750e367e44755d6132b6772194d91ced0cef82bc58122cea22f8ea2248e2b926991ef9f556567d4fb894c56cc442267d972ca31914e752e18bf0dd740f269891f287abc10e4058292f9350f4de5c2380efdffeb2990e9588c2c51ad50b7dd4ec5e53c7e1f252bca0299fcdc21476ac1809008576677bff9e0d3ba624fc2af46a3f5f0cb336b501492327ac24541b680a85c68a1612d52822c086230afa0d4d3adac94d4d97753c133113bbc447baba2122251d894da355c0f9766064028308ce2eb51a3b10e338bb5b74eb7945496513fabbc5ae5ed1af08cb327bf200a595f48028e8cd6d8091713996695f5e67981b0c8b5192add34036bb2df1e0c48db72b1dfb2ccf98ef960ccd44147c6bf4ce638ffce2d2e590c18ffc546141eb5d21ead5e2900785c76dcb456dce798475272703e8823f95c24d25bcefed9e56a109d5534dede117cc05d8562c77098b5a25815c7491b5526e7eb2baea677f307df07887bff075fcbff7713783d3c5838c5509d1080c70eab7e1e1620bca1ea754173974c5d2019720b66dcfa64230cb3c0ebf9ed7883456980f94b3eb123a7c30e9dadb0d1ac7e79ce9810a55fe9e7881a2fdb4b7ec4925c02e0c1f8b1453b6af2377ae9988310b2f3cb6d72d3dc806876e6ab240392638fa474086beb4018655d9bf344a67c065175a527b5c2a71f8c49987e49fa8ce547ab85b45bfe5689505707be19a37c4b376d537b54b9f30fd301e0731fe9844e3d4a590ac580d84320da59c0e40b9f220129a9c778979ef5ca18d4a195b7afb20d88739e235aa9115f2838d45a10b89d22afc29a86bbecb78ff2b8d6a32996cd3c9468510fa4ca47321a26e93022805b62804834bbf6aa6cd3c8ef557e6e3c2782948dd604d2c00490edcf3739d60562dda87d8ce82207f51ea400cbae771ddb1365b0d683d7719b74e86ac9e15d59f55cfab01fa14fd4fb5ae8a7a2d1b2e3f1fbcff7f33f457dd7c8c56d57c2b5184a7fbeb90237a69ee815f1be4050c5363db83df680aa1f20183576e5aece8f86d05d501919c44d041afa45119db24db5e581700c8df10d9eaf2ef90120b37a483b85398665df55ae48e5276cc10d379a76560ebf1b65da047a61e3d41867ff005a02e3106e6e067f294175efdc6b81ab6430c3188d49aee667fc880aff3862662379d002c37d6685bd38e48270bfb2a5523697337592e5072892eb0a5bad96e5c592f01f1bc6c6c8dd6d5bf43807c6d458f355c33f20ca27aa1d124055ef7c0dd4d1928cb97639543bcbe84eac1898fce7de10480a29e6fba17fb74eba72b49221672b42f3f014288c562f4bcfe9fd10acdea7bcde2d935f19e68e4d8ad69b48c0000ed91fd16454ddfc5cfc687f2d2a20f7eff749150165d647763c0679bac0d571478d83db32ba771c86f052fc1d214faf5353b3ee2ccba11c07ff23aabc806c64db214a806b834992553a14e892e03ee789568e395f8bc09ff679a6cf335dbac1cd9f27ec690afd413152e09c40e684c70905e47a04ad7007e6754e31ce7d34f6809c0f1b55a3211f39e73fb22dc2df03c15d81153c5824282e3dbf629bc92d4249cc1a6af81070d3f0ffbabe059d7a11b54b94bcb30aeacd3a4185f050abe41e5463c45f45d2afa17d1c14aba811fa27e735c432101ea7ed36fb9840bb3b53f0760623f372e21f4259c293d3907f10697490cbe60e1f453f4a68b5e417d297c2f2dd51f3cbe793e54c3c5764d416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37a3cf00c109d907e543bc4f6dbc85eb31068f94515251347e9e57509b52ee3d74cfd56c75814e8dd474bd53b622b19152650c5595cf3c8bfad7a8703985105e8aa6c0904499f1efeef05641bd28fd7c73785e60f69ce9c699daf65af8b37207030ce844c4c202c352e3210a61fc0910039a70708453b0db6f29d4da9496f2711e794491b22860b2a9267b6327e19cb45cb999d290f167f7c87204ffc2ff87e457c06f765f3bed456436a8819b4d41fba66e537d88c90c4f46eb95d604c94086e3c38706b6ead21f5636ea9b79297a7976c59f8c1ff9242bf675aee5dce392ce985f8dfaf3a08014a60d94c7bbc69681481ede72a626307e40222bf371aa6d5192c9e4a52bac18aee4f3f90d05fbca603f5b0f5bf1ce8c45e60bb4ed3a2cb2ed86bf30195b24559511da69ab2ec37067952dd449df912064a197efc2e62720958b7919eaaefd6bf12dd8644e8d09e3516c02bab8accc5d8539aa6d3456867cb125275fa23bb5325ca4cf6cf06655fb4fe8de87450b2c48e1039773ca7499ea0c3313e9ff29e162915946c508fb6890d3faacdd0ed5b9b6c8b44912c8b35d278e9cf350064bd31747a4128f56784e5cffe17921f482256d9a42009e6ae63e56bdf28fb8a22dc994970f68cd91041209ac01dd039d2174ed507e4530a808bbea8b80a9bdd54ba5c4901138e7cb540847526bfd8c645552a9b862ddbc01c9c3da00e6b1def4b5407278384997c98a2572a8e5110d46fb2571e2e854f72bdbb8a371ef60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952b2074e4b64cfac3a17618a69de47892e81023b97caf77e33c4db9048dfac1a09b96bef130eb3973332837cfb7a78f7ceffbef0a1fa9fb5c09c4d73747897cec36ed8a813613dd27ed712c32f58a798f7d4400605aadd32d2c55ab260129c0d37131e1c9d5e720fceb5b656a61352229a3cb45505af6c47b4978dcbeca765cb3831af67be9fe32cf6ff32dd36000c7ab51ae03f76cdeaa66d08ac76da7b37a16f33a924927a6c4e3016992f72bd45a26f7d67648c1bcf8ca650686ae4fcb3b90d659f0591fcc586156fc98676979998facd6dc835087c7ea5f3bc6181ce8880eee24a2a54c8c3cfa98cb55a5263a6c33d835a5223ad9a06e50fb171184bed6f23275648d8e6b00a269f847018a1d892967f74371e95fa13dd209d9a65a01c6f4ff0716943682c624fd2f49b3a718a2ed4d6386e872fe741f1c759573ae24509d3ebb0a0e89ebd824df714516bf64b9101c62081e4b376f00f929a58c09555bf1119b2de1faba30b40d2ac02d2814ac2955dcfd0168910a7b7aff54278c9ee113b14070e372bb038bf35c1ce84823cefbbac83af730357946dc8fedbbd2b7a6e55cc19b3a9caa0c35231688f1b15ae520bd65847e73cf73e95d2b4080c3d852abda6b6f528ee5e81056d1408dc84c6be817ee5f5f81685a934696af1e61d246d053a95a9670b548ccb11ed63c046c4860cb17a1574bc0b992e14185ffcd07ae74b9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootjava-11-openjdk-11.0.24.0-150000.3.116.1.src.rpmjava-10-openjdk-javadocjava-11-javadocjava-11-openjdk-javadocjava-javadoc    /bin/sh/bin/shjpackage-utilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternativesupdate-alternatives3.0.4-14.6.0-14.0-15.2-14.14.1fffaf! @e@eԔ@ee/e/e/edd@d@dI@cl@c=@cjDcRc%b?b_b3"b a@aayaqV@aC1a?=@a'@a @` @`O@```x*`T@` l_i___A@^@^@^{G^E:@^6^]@]@]/ ];];\]@\@\@\@\?\73\73[Ѱ@[ @[$@[@[#@[@[\[~[{[z@[Y[Q[I[GB[GB[>@[:[,[+@["X[@[{@[{@[[[@ZnZz@ZZ4@Z@Z?Z?Z?ZZ@Z؄ZЛZZa@ZZlZ@ZZ@Z does not exist" + JDK-8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane + JDK-8322511: [11u] JfrCheckpointThreadClosure::do_thread crashes when fetching thread_id + JDK-8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output + JDK-8323717: Introduce test keyword for tests that need external dependencies + JDK-8323994: gtest runner repeats test name for every single gtest assertion + JDK-8324238: [macOS] java/awt/Frame/ShapeNotSetSometimes/ /ShapeNotSetSometimes.java fails with the shape has not been applied msg + JDK-8324598: use mem_unit when working with sysinfo memory and swap related information + JDK-8324632: Update Zlib Data Compression Library to Version 1.3.1 + JDK-8324723: GHA: Upgrade some actions to avoid deprecated Node 16 + JDK-8324733: [macos14] Problem list tests which fail due to macOS bug described in JDK-8322653 + JDK-8325137: com/sun/management/ThreadMXBean/ /ThreadCpuTimeArray.java can fail in Xcomp with out of expected range + JDK-8325326: [PPC64] Don't relocate in case of allocation failure + JDK-8325579: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket + JDK-8325972: Add -x to bash for building with LOG=debug + JDK-8326006: Allow TEST_VM_FLAGLESS to set flagless mode + JDK-8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space + JDK-8326201: [S390] Need to bailout cleanly if creation of stubs fails when code cache is out of space + JDK-8326351: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1 + JDK-8326521: JFR: CompilerPhase event test fails on windows 32 bit + JDK-8326529: JFR: Test for CompilerCompile events fails due to time out + JDK-8326591: New test JmodExcludedFiles.java fails on Windows when --with-external-symbols-in-bundles=public is used + JDK-8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop + JDK-8326643: JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message + JDK-8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS + JDK-8326801: Bump update version for OpenJDK: jdk-11.0.24 + JDK-8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries + JDK-8326938: [11u] JDK-8214908 broke two CTW tests + JDK-8327136: javax/management/remote/mandatory/notif/ /NotifReconnectDeadlockTest.java fails on libgraal + JDK-8328194: Add a test to check default rendering engine + JDK-8328524: [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap + JDK-8328540: test javax/swing/JSplitPane/4885629/ /bug4885629.java fails on windows hidpi + JDK-8328705: GHA: Cross-compilation jobs do not require build JDK + JDK-8328812: Update and move siphash license + JDK-8328825: Google CAInterop test failures + JDK-8331643: [11u]: Bump GHA bootstrap JDK to 11.0.23 + JDK-8331750: [11u] JDK-8259530 is not backported correctly to 11u + JDK-8331790: [11u] Remove problemlist entries after backport of JDK-8228649 + JDK-8334441: Mark tests in jdk_security_infra group as manual + JDK-8335973: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.24 - Modified patch: * reproducible-javadoc-timestamp.patch + rediff to changed context- Require file for posttrans phase of the headless subpackage (bsc#1227298)- Added patch: * reproducible-jlink.patch + make the timestamp in jmods reproducible- Upgrade to upstream tag jdk-11.0.23+9 (April 2024 CPU) * Security fixes + JDK-8315708, CVE-2024-21012, bsc#1222987: Enhance HTTP/2 client usage + JDK-8317507, JDK-8325348, CVE-2024-21094, bsc#1222986: C2 compilation fails with "Exceeded _node_regs array" + JDK-8318340: Improve RSA key implementations + JDK-8319851, CVE-2024-21011, bsc#1222979: Improve exception logging + JDK-8322114, CVE-2024-21085, bsc#1222984: Improve Pack 200 handling + JDK-8322122, CVE-2024-21068, bsc#1222983: Enhance generation of addresses * Other changes + JDK-6928542: Chinese characters in RTF are not decoded + JDK-7132796: [macosx] closed/javax/swing/JComboBox/4517214/ /bug4517214.java fails on MacOS + JDK-7148092: [macosx] When Alt+down arrow key is pressed, the combobox popup does not appear. + JDK-8054022: HttpURLConnection timeouts with Expect: 100-Continue and no chunking + JDK-8054572: [macosx] JComboBox paints the border incorrectly + JDK-8058176: [mlvm] tests should not allow code cache exhaustion + JDK-8067651: LevelTransitionTest.java, fix trivial methods levels logic + JDK-8068225: nsk/jdi/EventQueue/remove_l/remove_l005 intermittently times out + JDK-8156889: ListKeychainStore.sh fails in some virtualized environments + JDK-8166275: vm/mlvm/meth/stress/compiler/deoptimize keeps timeouting + JDK-8166554: Avoid compilation blocking in OverloadCompileQueueTest.java + JDK-8169475: WheelModifier.java fails by timeout + JDK-8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test + JDK-8186610: move ModuleUtils to top-level testlibrary + JDK-8192864: defmeth tests can hide failures + JDK-8193543: Regression automated test '/open/test/jdk/java/ /awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java' fails + JDK-8198668: MemoryPoolMBean/isUsageThresholdExceeded/ /isexceeded001/TestDescription.java still failing + JDK-8202282: [TESTBUG] appcds TestCommon .makeCommandLineForAppCDS() can be removed + JDK-8202790: DnD test DisposeFrameOnDragTest.java does not clean up + JDK-8202931: [macos] java/awt/Choice/ChoicePopupLocation/ /ChoicePopupLocation.java fails + JDK-8207211: [TESTBUG] Remove excessive output from CDS/AppCDS tests + JDK-8207214: Broken links in JDK API serialized-form page + JDK-8207855: Make applications/jcstress invoke tests in batches + JDK-8208243: vmTestbase/gc/lock/jni/jnilock002/ /TestDescription.java fails in jdk/hs nightly + JDK-8208278: [mlvm] [TESTBUG] vm.mlvm.mixed.stress.java .findDeadlock.INDIFY_Test Deadlocked threads are not always detected + JDK-8208623: [TESTBUG] runtime/LoadClass/LongBCP.java fails in AUFS file system + JDK-8208699: remove unneeded imports from runtime tests + JDK-8208704: runtime/appcds/MultiReleaseJars.java timed out often in hs-tier7 testing + JDK-8208705: [TESTBUG] The -Xlog:cds,cds+hashtables vm option is not always required for appcds tests + JDK-8209549: remove VMPropsExt from TEST.ROOT + JDK-8209595: MonitorVmStartTerminate.java timed out + JDK-8209946: [TESTBUG] CDS tests should use "@run driver" + JDK-8211438: [Testbug] runtime/XCheckJniJsig/XCheckJSig.java looks for libjsig in wrong location + JDK-8211978: Move testlibrary/jdk/testlibrary/ /SimpleSSLContext.java and testkeys to network testlibrary + JDK-8213622: Windows VS2013 build failure - "'snprintf': identifier not found" + JDK-8213926: WB_EnqueueInitializerForCompilation requests compilation for NULL + JDK-8213927: G1 ignores AlwaysPreTouch when UseTransparentHugePages is enabled + JDK-8214908: add ctw tests for jdk.jfr and jdk.management.jfr modules + JDK-8214915: CtwRunner misses export for jdk.internal.access + JDK-8216408: XMLStreamWriter setDefaultNamespace(null) throws NullPointerException + JDK-8217475: Unexpected StackOverflowError in "process reaper" thread + JDK-8218754: JDK-8068225 regression in JDIBreakpointTest + JDK-8219475: javap man page needs to be updated + JDK-8219585: [TESTBUG] sun/management/jmxremote/bootstrap/ /JMXInterfaceBindingTest.java passes trivially when it shouldn't + JDK-8219612: [TESTBUG] compiler.codecache.stress.Helper .TestCaseImpl can't be defined in different runtime package as its nest host + JDK-8225471: Test utility jdk.test.lib.util.FileUtils .areAllMountPointsAccessible needs to tolerate duplicates + JDK-8226706: (se) Reduce the number of outer loop iterations on Windows in java/nio/channels/Selector/RacyDeregister.java + JDK-8226905: unproblem list applications/ctw/modules/* tests on windows + JDK-8226910: make it possible to use jtreg's -match via run-test framework + JDK-8227438: [TESTLIB] Determine if file exists by Files.exists in function FileUtils.deleteFileIfExistsWithRetry + JDK-8231585: java/lang/management/ThreadMXBean/ /MaxDepthForThreadInfoTest.java fails with java.lang.NullPointerException + JDK-8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()" + JDK-8233453: MLVM deoptimize stress test timed out + JDK-8234309: LFGarbageCollectedTest.java fails with parse Exception + JDK-8237222: [macos] java/awt/Focus/UnaccessibleChoice/ /AccessibleChoiceTest.java fails + JDK-8237777: "Dumping core ..." is shown despite claiming that "# No core dump will be written." + JDK-8237834: com/sun/jndi/ldap/LdapDnsProviderTest.java failing with LDAP response read timeout + JDK-8238274: (sctp) JDK-7118373 is not fixed for SctpChannel + JDK-8239801: [macos] java/awt/Focus/UnaccessibleChoice/ /AccessibleChoiceTest.java fails + JDK-8244679: JVM/TI GetCurrentContendedMonitor/contmon001 failed due to "(IsSameObject#3) unexpected monitor object: 0x000000562336DBA8" + JDK-8246222: Rename javac test T6395981.java to be more informative + JDK-8247818: GCC 10 warning stringop-overflow with symbol code + JDK-8249087: Always initialize _body[0..1] in Symbol constructor + JDK-8251349: Add TestCaseImpl to OverloadCompileQueueTest.java's build dependencies + JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/ /btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR + JDK-8253543: sanity/client/SwingSet/src/ /ButtonDemoScreenshotTest.java failed with "AssertionError: All pixels are not black" + JDK-8253739: java/awt/image/MultiResolutionImage/ /MultiResolutionImageObserverTest.java fails + JDK-8253820: Save test images and dumps with timestamps from client sanity suite + JDK-8255277: randomDelay in DrainDeadlockT and LoggingDeadlock do not randomly delay + JDK-8255546: Missing coverage for javax.smartcardio.CardPermission and ResponseAPDU + JDK-8255743: Relax SIGFPE match in in runtime/ErrorHandling/SecondaryErrorTest.java + JDK-8257505: nsk/share/test/StressOptions stressTime is scaled in getter but not when printed + JDK-8259801: Enable XML Signature secure validation mode by default + JDK-8264135: UnsafeGetStableArrayElement should account for different JIT implementation details + JDK-8265349: vmTestbase/../stress/compiler/deoptimize/ /Test.java fails with OOME due to CodeCache exhaustion. + JDK-8269025: jsig/Testjsig.java doesn't check exit code + JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest + JDK-8271094: runtime/duplAttributes/DuplAttributesTest.java doesn't check exit code + JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code + JDK-8271828: mark hotspot runtime/classFileParserBug tests which ignore external VM flags + JDK-8271829: mark hotspot runtime/Throwable tests which ignore external VM flags + JDK-8271890: mark hotspot runtime/Dictionary tests which ignore external VM flags + JDK-8272291: mark hotspot runtime/logging tests which ignore external VM flags + JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes + JDK-8272551: mark hotspot runtime/modules tests which ignore external VM flags + JDK-8272552: mark hotspot runtime/cds tests which ignore external VM flags + JDK-8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java + JDK-8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11 + JDK-8274621: NullPointerException because listenAddress[0] is null + JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC + JDK-8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2 + JDK-8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang.RuntimeException: values differ by more than 1GB + JDK-8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ /ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist. + JDK-8281717: Cover logout method for several LoginModule + JDK-8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y) + JDK-8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile + JDK-8285756: clean up use of bad arguments for `@clean` in langtools tests + JDK-8285785: CheckCleanerBound test fails with PasswordCallback object is not released + JDK-8285867: Convert applet manual tests SelectionVisible.java to Frame and automate + JDK-8286846: test/jdk/javax/swing/plaf/aqua/ /CustomComboBoxFocusTest.java fails on mac aarch64 + JDK-8286969: Add a new test library API to execute kinit in SecurityTools.java + JDK-8287113: JFR: Periodic task thread uses period for method sampling events + JDK-8289511: Improve test coverage for XPath Axes: child + JDK-8289764: gc/lock tests failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects" + JDK-8289948: Improve test coverage for XPath functions: Node Set Functions + JDK-8290399: [macos] Aqua LAF does not fire an action event if combo box menu is displayed + JDK-8290909: MemoryPoolMBean/isUsageThresholdExceeded tests failed with "isUsageThresholdExceeded() returned false, and is still false, while threshold = MMMMMMM and used peak = NNNNNNN" + JDK-8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar + JDK-8292946: GC lock/jni/jnilock001 test failed "assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) failed: Twice in a row" + JDK-8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG" + JDK-8294158: HTML formatting for PassFailJFrame instructions + JDK-8294254: [macOS] javax/swing/plaf/aqua/ /CustomComboBoxFocusTest.java failure + JDK-8294402: Add diagnostic logging to VMProps.checkDockerSupport + JDK-8294535: Add screen capture functionality to PassFailJFrame + JDK-8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM + JDK-8296384: [TESTBUG] sun/security/provider/SecureRandom/ /AbstractDrbg/SpecTest.java intermittently timeout + JDK-8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found + JDK-8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF + JDK-8300727: java/awt/List/ListGarbageCollectionTest/ /AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected" + JDK-8301310: The SendRawSysexMessage test may cause a JVM crash + JDK-8301377: adjust timeout for JLI GetObjectSizeIntrinsicsTest.java subtest again + JDK-8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library + JDK-8302017: Allocate BadPaddingException only if it will be thrown + JDK-8302109: Trivial fixes to btree tests + JDK-8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java + JDK-8302607: increase timeout for ContinuousCallSiteTargetChange.java + JDK-8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM + JDK-8304314: StackWalkTest.java fails after CODETOOLS-7903373 + JDK-8304725: AsyncGetCallTrace can cause SIGBUS on M1 + JDK-8305502: adjust timeouts in three more M&M tests + JDK-8305505: NPE in javazic compiler + JDK-8305972: Update XML Security for Java to 3.0.2 + JDK-8306072: Open source several AWT MouseInfo related tests + JDK-8306076: Open source AWT misc tests + JDK-8306409: Open source AWT KeyBoardFocusManger, LightWeightComponent related tests + JDK-8306640: Open source several AWT TextArea related tests + JDK-8306652: Open source AWT MenuItem related tests + JDK-8306681: Open source more AWT DnD related tests + JDK-8306683: Open source several clipboard and color AWT tests + JDK-8306752: Open source several container and component AWT tests + JDK-8306753: Open source several container AWT tests + JDK-8306755: Open source few Swing JComponent and AbstractButton tests + JDK-8306812: Open source several AWT Miscellaneous tests + JDK-8306871: Open source more AWT Drag & Drop tests + JDK-8306996: Open source Swing MenuItem related tests + JDK-8307123: Fix deprecation warnings in DPrinter + JDK-8307130: Open source few Swing JMenu tests + JDK-8307299: Move more DnD tests to open + JDK-8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader tests + JDK-8307381: Open Source JFrame, JIF related Swing Tests + JDK-8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition + JDK-8308043: Deadlock in TestCSLocker.java due to blocking GC while allocating + JDK-8308116: jdk.test.lib.compiler.InMemoryJavaCompiler .compile does not close files + JDK-8308223: failure handler missed jcmd.vm.info command + JDK-8308232: nsk/jdb tests don't pass -verbose flag to the debuggee + JDK-8308245: Add -proc:full to describe current default annotation processing policy + JDK-8308336: Test java/net/HttpURLConnection/ /HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use + JDK-8309104: [JVMCI] compiler/unsafe/ /UnsafeGetStableArrayElement test asserts wrong values with Graal + JDK-8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication + JDK-8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/ /agentthr001/TestDescription.java crashing due to empty while loop + JDK-8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory + JDK-8309870: Using -proc:full should be considered requesting explicit annotation processing + JDK-8310106: sun.security.ssl.SSLHandshake .getHandshakeProducer() incorrectly checks handshakeConsumers + JDK-8310238: [test bug] javax/swing/JTableHeader/6889007/ /bug6889007.java fails + JDK-8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/ /interrupt001.java timed out due to missing prompt + JDK-8310807: java/nio/channels/DatagramChannel/Connect.java timed out + JDK-8311081: KeytoolReaderP12Test.java fail on localized Windows platform + JDK-8311511: Improve description of NativeLibrary JFR event + JDK-8311585: Add JRadioButtonMenuItem to bug8031573.java + JDK-8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074 + JDK-8313082: Enable CreateCoredumpOnCrash for testing in makefiles + JDK-8313164: src/java.desktop/windows/native/libawt/windows/ /awt_Robot.cpp GetRGBPixels adjust releasing of resources + JDK-8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns + JDK-8313643: Update HarfBuzz to 8.2.2 + JDK-8313816: Accessing jmethodID might lead to spurious crashes + JDK-8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp + JDK-8314164: java/net/HttpURLConnection/ /HttpURLConnectionExpectContinueTest.java fails intermittently in timeout + JDK-8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case + JDK-8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder + JDK-8315042: NPE in PKCS7.parseOldSignedData + JDK-8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases + JDK-8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen + JDK-8315594: Open source few headless Swing misc tests + JDK-8315600: Open source few more headless Swing misc tests + JDK-8315602: Open source swing security manager test + JDK-8315606: Open source few swing text/html tests + JDK-8315611: Open source swing text/html and tree test + JDK-8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch + JDK-8315731: Open source several Swing Text related tests + JDK-8315761: Open source few swing JList and JMenuBar tests + JDK-8315986: [macos14] javax/swing/JMenuItem/4654927/ /bug4654927.java: component must be showing on the screen to determine its location + JDK-8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm + JDK-8316028: Update FreeType to 2.13.2 + JDK-8316030: Update Libpng to 1.6.40 + JDK-8316106: Open source few swing JInternalFrame and JMenuBar tests + JDK-8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit + JDK-8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly + JDK-8317307: test/jdk/com/sun/jndi/ldap/ /LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information + JDK-8317327: Remove JT_JAVA dead code in jib-profiles.js + JDK-8318154: Improve stability of WheelModifier.java test + JDK-8318410: jdk/java/lang/instrument/BootClassPath/ /BootClassPathTest.sh fails on Japanese Windows + JDK-8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1 + JDK-8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java + JDK-8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests + JDK-8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests + JDK-8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use" + JDK-8318889: C2: add bailout after assert Bad graph detected in build_loop_late + JDK-8318951: Additional negative value check in JPEG decoding + JDK-8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return + JDK-8318971: Better Error Handling for Jar Tool When Processing Non-existent Files + JDK-8318983: Fix comment typo in PKCS12Passwd.java + JDK-8319124: Update XML Security for Java to 3.0.3 + JDK-8319456: jdk/jfr/event/gc/collection/ /TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes + JDK-8319668: Fixup of jar filename typo in BadFactoryTest.sh + JDK-8320001: javac crashes while adding type annotations to the return type of a constructor + JDK-8320208: Update Public Suffix List to b5bf572 + JDK-8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity + JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly + JDK-8320798: Console read line with zero out should zero out underlying buffer + JDK-8320884: Bump update version for OpenJDK: jdk-11.0.23 + JDK-8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp + JDK-8321151: JDK-8294427 breaks Windows L&F on all older Windows versions + JDK-8321215: Incorrect x86 instruction encoding for VSIB addressing mode + JDK-8321408: Add Certainly roots R1 and E1 + JDK-8321480: ISO 4217 Amendment 176 Update + JDK-8322178: Error. can't find jdk.testlibrary .SimpleSSLContext in test directory or libraries + JDK-8322417: Console read line with zero out should zero out when throwing exception + JDK-8322725: (tz) Update Timezone Data to 2023d + JDK-8322750: Test "api/java_awt/interactive/ /SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray + JDK-8322752: [11u] GetStackTraceAndRetransformTest.java is failing assert + JDK-8322772: Clean up code after JDK-8322417 + JDK-8323008: filter out harmful -std* flags added by autoconf from CXX + JDK-8323243: JNI invocation of an abstract instance method corrupts the stack + JDK-8323515: Create test alias "all" for all test roots + JDK-8323640: [TESTBUG]testMemoryFailCount in jdk/internal/ /platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed + JDK-8324184: Windows VS2010 build failed with "error C2275: 'int64_t'" + JDK-8324307: [11u] hotspot fails to build with GCC 12 and newer (non-static data member initializers) + JDK-8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1 + JDK-8324659: GHA: Generic jtreg errors are not reported + JDK-8325096: Test java/security/cert/CertPathBuilder/akiExt/ /AKISerialNumber.java is failing + JDK-8325150: (tz) Update Timezone Data to 2024a + JDK-8326109: GCC 13 reports maybe-uninitialized warnings for jni.cpp with dtrace enabled + JDK-8326503: [11u] java/net/HttpURLConnection/ /HttpURLConnectionExpectContinueTest.java fail because of package org.junit.jupiter.api does not exist + JDK-8327391: Add SipHash attribution file + JDK-8329837: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.23- Removed patch: * alternative-tzdb_dat.patch + Remove the possibility to use the system timezone-java. It creates more problems then it solves (bsc#1213470)- Use %patch -P N instead of deprecated %patchN.- Upgrade to upstream tag jdk-11.0.22+7 (January 2024 CPU) * Security fixes + JDK-8308204: Enhanced certificate processing + JDK-8314295, CVE-2024-20919, bsc#1218903: Enhance verification of verifier + JDK-8314284, CVE-2024-20926, bsc#1218906: Enhance Nashorn performance + JDK-8314307, CVE-2024-20921, bsc#1218905: Improve loop handling + JDK-8314468, CVE-2024-20918, bsc#1218907: Improve Compiler loops + JDK-8316976, CVE-2024-20945, bsc#1218909: Improve signature handling + JDK-8317547, CVE-2024-20952, bsc#1218911: Enhance TLS connection support * Other fixes + JDK-6381945: (cal) Japanese calendar unit test system should avoid multiple static imports + JDK-6445283: ProgressMonitorInputStream not large file aware (>2GB) + JDK-8026393: jarsigner never shows a warning in badKeyUsage case + JDK-8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work + JDK-8053479: (dc) DatagramChannel.read() throws exception instead of discarding data when buffer too small + JDK-8067250: [mlvm] vm/mlvm/mixed/stress/regression/b6969574 fails and perf regression + JDK-8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog + JDK-8168408: Test java/awt/Focus/ActualFocusedWindowTest/ /ActualFocusedWindowBlockingTest.java fails intermittentently on windows + JDK-8183374: Refactor java/lang/Runtime shell tests to java + JDK-8185531: [TESTBUG] Improve test configuration for shared strings + JDK-8195589: T6587786.java failed after JDK-8189997 + JDK-8197825: [Test] Intermittent timeout with javax/swing JColorChooser Test + JDK-8205467: javax/management/remote/mandatory/connection/ /MultiThreadDeadLockTest.java possible deadlock + JDK-8207166: jdk/jshell/ /JdiHangingLaunchExecutionControlTest.java - launch timeout + JDK-8210168: JCK test .vm.classfmt.ins.code__002.code__00201m1 .code__00201m1 hangs with -noverify + JDK-8210265: Crash in HSpaceCounters::update_used() + JDK-8211045: [Testbug] Fix for 8144279 didn't define a test case! + JDK-8212997: [TESTBUG] Remove defmeth tests for class file versions 50 and 51 + JDK-8213898: CDS dumping of springboot asserts in G1ArchiveAllocator::alloc_new_region + JDK-8214694: cleanup rawtypes warnings in open jndi tests + JDK-8217329: JTREG: Clean up, remove unused imports in gc folder + JDK-8218178: vmTestbase/vm/mlvm/mixed/stress/regression/ /b6969574/INDIFY_Test.java fails with -Xcomp + JDK-8220083: Remove hard-coded 127.0.0.1 loopback address in JDK networking tests + JDK-8221396: Clean up serviceability/sa/TestUniverse.java + JDK-8223145: Replace wildcard address with loopback or local host in tests - part 1 + JDK-8223788: [macos] JSpinner buttons in JColorChooser dialog may capture focus using TAB Key. + JDK-8224035: Replace wildcard address with loopback or local host in tests - part 9 + JDK-8224204: Replace wildcard address with loopback or local host in tests - part 10 + JDK-8226825: Replace wildcard address with loopback or local host in tests - part 19 + JDK-8230435: Replace wildcard address with loopback or local host in tests - part 22 + JDK-8230858: Replace wildcard address with loopback or local host in tests - part 23 + JDK-8231556: Wrong font ligatures used when 2 versions of same font used + JDK-8231931: [TESTBUG] serviceability/sa/TestUniverse.java looks for wrong string with Shenandoah + JDK-8232135: Add diagnostic output to test java/util/ProcessBuilder/Basic.java + JDK-8232513: java/net/DatagramSocket/PortUnreachable.java still fails intermittently with BindException + JDK-8232933: Javac inferred type does not conform to equality constraint + JDK-8233000: Mark vmTestbase/vm/mlvm/meth/stress/compiler/ /deoptimize test as stress test + JDK-8233847: (sctp) Flx link-local IPv6 scope handling and test cleanup. + JDK-8237858: PlainSocketImpl.socketAccept() handles EINTR incorrectly + JDK-8238740: java/net/httpclient/whitebox/FlowTestDriver.java should not specify a TLS protocol + JDK-8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly + JDK-8240604: Rewrite sun/management/jmxremote/bootstrap/ /CustomLauncherTest.java test to make binaries from source file + JDK-8240754: Instrument FlowTest.java to provide more debug traces. + JDK-8242330: Arrays should be cloned in several JAAS Callback classes + JDK-8244508: JFR: FlightRecorderOptions reset date format + JDK-8249812: java/net/DatagramSocket/PortUnreachable.java still fails intermittently with SocketTimeoutException + JDK-8251177: [macosx] The text "big" is truncated in JTabbedPane + JDK-8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver. + JDK-8254711: Add java.security.Provider.getService JFR Event + JDK-8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext + JDK-8258914: javax/net/ssl/DTLS/RespondToRetransmit.java timed out + JDK-8259266: com/sun/jdi/JdbOptions.java failed with "RuntimeException: 'prop[boo] = >foo 2<' missing from stdout/stderr" + JDK-8260035: Deproblemlist few problemlisted test + JDK-8260431: com/sun/jdi/JdbOptions.java failed with "RuntimeException: 'prop[boo] = >foo<' missing from stdout/stderr" + JDK-8263530: sun.awt.X11.ListHelper.removeAll() should use clear() + JDK-8265586: [windows] last button is not shown in AWT Frame with BorderLayout and MenuBar set. + JDK-8265678: Test java/awt/Focus/ActualFocusedWindowTest/ /ActualFocusedWindowBlockingTest.java fails intermittentently on windows + JDK-8266249: javax/swing/JPopupMenu/7156657/bug7156657.java fails on macOS + JDK-8267860: Off-by-one bug when searching arrays in AlpnGreaseTest + JDK-8268916: Tests for AffirmTrust roots + JDK-8271519: java/awt/event/SequencedEvent/ /MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]" + JDK-8273804: Platform.isTieredSupported should handle the no-compiler case + JDK-8275329: ZGC: vmTestbase/gc/gctests/SoftReference/soft004/ /soft004.java fails with assert(_phases->length() <= 1000) failed: Too many recored phases? + JDK-8275333: Print count in "Too many recored phases?" assert + JDK-8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing. + JDK-8280004: DCmdArgument::parse_value() should handle NULL input + JDK-8282143: Objects.requireNonNull should be ForceInline + JDK-8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time" + JDK-8284331: Add sanity check for signal handler modification warning. + JDK-8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java + JDK-8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java + JDK-8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events + JDK-8288325: [windows] Actual and Preferred Size of AWT Non-resizable frame are different + JDK-8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines + JDK-8288993: Make AwtFramePackTest generic by removing @requires tag + JDK-8289077: Add manual tests to open + JDK-8289238: Refactoring changes to PassFailJFrame Test Framework + JDK-8289547: Update javax/swing/Popup/TaskbarPositionTest.java + JDK-8289584: (fs) Print size values in java/nio/file/FileStore/Basic.java when they differ by > 1GiB + JDK-8289745: JfrStructCopyFailed uses heap words instead of bytes for object sizes + JDK-8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong + JDK-8290067: Show stack dimensions in UL logging when attaching threads + JDK-8290469: Add new positioning options to PassFailJFrame test framework + JDK-8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures + JDK-8292683: Remove BadKeyUsageTest.java from Problem List + JDK-8292713: Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses + JDK-8293098: GHA: Harmonize GCC version handling for host and cross builds + JDK-8293107: GHA: Bump to Ubuntu 22.04 + JDK-8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64 + JDK-8293361: GHA: dump config.log in case of configure failure + JDK-8293466: libjsig should ignore non-modifying sigaction calls + JDK-8293811: Provide a reason for PassFailJFrame.forceFail + JDK-8294281: Allow warnings to be disabled on a per-file basis + JDK-8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env + JDK-8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java + JDK-8294941: GHA: Cut down cross-compilation sysroots + JDK-8294956: GHA: qemu-debootstrap is deprecated, use the regular one + JDK-8295213: Run GHA manually with user-specified make and configure arguments + JDK-8295885: GHA: Bump gcc versions 8313428: GHA: Bump GCC versions for July 2023 updates + JDK-8296275: Write a test to verify setAccelerator method of JMenuItem + JDK-8297296: java/awt/Mouse/EnterExitEvents/ /DragWindowTest.java fails with "No MouseReleased event on label!" + JDK-8297640: Increase buffer size for buf (insert_features_names) in Abstract_VM_Version::insert_features_names + JDK-8298905: Test "java/awt/print/PrinterJob/ImagePrinting/ /PrintARGBImage.java" fails because the frames of instruction does not display + JDK-8299255: Unexpected round errors in FreetypeFontScaler + JDK-8299330: Minor improvements in MSYS2 Workflow handling + JDK-8300259: Add test coverage for processing of pending block files in signed JARs + JDK-8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg + JDK-8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case + JDK-8301065: Handle control characters in java_lang_String::print + JDK-8301167: Update VerifySignedJar to actually exercise and test verification + JDK-8301570: Test runtime/jni/nativeStack/ needs to detach the native thread + JDK-8302017: Allocate BadPaddingException only if it will be thrown + JDK-8302525: Write a test to check various components send Events while mouse and key are used simultaneously + JDK-8303607: SunMSCAPI provider leaks memory and keys + JDK-8306134: Open source some AWT tests relating to Button and a few other classes + JDK-8306135: Clean up and open source some AWT tests + JDK-8306280: Open source several choice AWT tests + JDK-8306372: Open source AWT CardLayout and Checkbox tests + JDK-8306430: Open source some AWT tests related to TextComponent and Toolkit + JDK-8306575: Clean up and open source four Dialog related tests + JDK-8306765: Some client related jtreg problem list entries are malformed + JDK-8306883: Thread stacksize is reported with wrong units in os::create_thread logging + JDK-8307079: Update test java/awt/Choice/DragOffNoSelect.java + JDK-8307165: java/awt/dnd/NoFormatsDropTest/ /NoFormatsDropTest.java timed out + JDK-8308592: Framework for CA interoperability testing + JDK-8308910: Allow executeAndLog to accept running process + JDK-8309095: Remove UTF-8 character from TaskbarPositionTest.java + JDK-8310265: (process) jspawnhelper should not use argv[0] + JDK-8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns + JDK-8311285: report some fontconfig related environment variables in hs_err file + JDK-8311813: C1: Uninitialized PhiResolver::_loop field + JDK-8312065: Socket.connect does not timeout when profiling + JDK-8312126: NullPointerException in CertStore.getCRLs after 8297955 + JDK-8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar + JDK-8312535: MidiSystem.getSoundbank() throws unexpected SecurityException + JDK-8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere + JDK-8312972: Bump update version for OpenJDK: jdk-11.0.22 + JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0 + JDK-8313626: C2 crash due to unexpected exception control flow + JDK-8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors + JDK-8313691: use close after failing os::fdopen in vmError and ciEnv + JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase + JDK-8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md + JDK-8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows + JDK-8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection + JDK-8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges + JDK-8314242: Update applications/scimark/Scimark.java to accept VM flags + JDK-8314262: GHA: Cut down cross-compilation sysroots deeper + JDK-8314263: Signed jars triggering Logger finder recursion and StackOverflowError + JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev + JDK-8315020: The macro definition for LoongArch64 zero build is not accurate. + JDK-8315062: [GHA] get-bootjdk action should return the abolute path + JDK-8315135: Memory leak in the native implementation of Pack200.Unpacker.unpack() + JDK-8315214: Do not run sun/tools/jhsdb tests concurrently + JDK-8315480: [11u] Harmonize GHA cross-compilation block with mainline + JDK-8315683: Parallelize java/util/concurrent/tck/ /JSR166TestCase.java + JDK-8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test + JDK-8315696: SignedLoggerFinderTest.java test failed + JDK-8315766: Parallelize gc/stress/ /TestStressIHOPMultiThread.java test + JDK-8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies + JDK-8315862: [11u] Backport 8227337: javax/management/remote/ /mandatory/connection/ReconnectTest.java NoSuchObjectException no such object in table + JDK-8315863: [GHA] Update checkout action to use v4 + JDK-8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests + JDK-8316087: Test SignedLoggerFinderTest.java is still failing + JDK-8316178: Better diagnostic header for CodeBlobs + JDK-8316206: Test StretchedFontTest.java fails for Baekmuk font + JDK-8316380: [11u] Backport 8170089: nsk/jdi/EventSet/resume/resume008: ERROR: suspendCounts don't match for : Common-Cleaner + JDK-8316514: Better diagnostic header for VtableStub + JDK-8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java + JDK-8316746: Top of lock-stack does not match the unlocked object + JDK-8316906: Clarify TLABWasteTargetPercent flag + JDK-8317373: Add Telia Root CA v2 + JDK-8317374: Add Let's Encrypt ISRG Root X2 + JDK-8317920: JDWP-agent sends broken exception event with onthrow option + JDK-8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/ /SSLEngineTestCase.java to handle default cases + JDK-8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2 + JDK-8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java + JDK-8318759: Add four DigiCert root certificates + JDK-8319187: Add three eMudhra emSign roots + JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly + JDK-8323423: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.22- Configure with --with-native-debug-symbols=internal to enable generation of debuginfo packages- Upgrade to upstrem tag jdk-11.0.21+9 (October 2023 CPU) * Security fixes: + JDK-8242330: Arrays should be cloned in several JAAS Callback classes + JDK-8284910: Buffer clean in PasswordCallback + JDK-8286503: Enhance security classes + JDK-8296581: Better system proxy support + JDK-8297856: Improve handling of Bidi characters + JDK-8309966, CVE-2023-22081, bsc#1216374: Enhanced TLS connections + JDK-8305815: Update Libpng to 1.6.39 + JDK-8306881: Update FreeType to 2.13.0 * Other fixes: + JDK-6176679: Application freezes when copying an animated gif image to the system clipboard + JDK-8023980: JCE doesn't provide any class to handle RSA private key in PKCS#1 + JDK-8155246: Throw error if default java.security file is missing + JDK-8158880: test/java/time/tck/java/time/format/ /TCKDateTimeFormatterBuilder.java fail with zh_CN locale + JDK-8168261: Use server cipher suites preference by default + JDK-8181383: com/sun/jdi/OptionTest.java fails intermittently with bind failed: Address already in use + JDK-8201516: DebugNonSafepoints generates incorrect information + JDK-8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE" + JDK-8211343: nsk_jvmti_parseoptions should handle multiple suboptions + JDK-8212045: Add back the tests that were removed from HashesTest.java and AddExportsTest.java + JDK-8216059: nsk_jvmti_parseoptions still has dependency on tilde separator + JDK-8217237: HttpClient does not deal well with multi-valued WWW-Authenticate challenge headers + JDK-8217395: Update langtools shell tests to use ${EXE_SUFFIX} + JDK-8217612: (CL)HSDB cannot show some JVM flags + JDK-8217850: CompressedClassSpaceSizeInJmapHeap fails after JDK-8217612 + JDK-8218471: generate-unsafe-access-tests.sh does not correctly invoke build.tools.spp.Spp + JDK-8219628: [TESTBUG] javadoc/doclet/InheritDocForUserTags fails with -othervm + JDK-8220410: sun/security/tools/jarsigner/warnings/ /NoTimestampTest.java failed with missing expected output + JDK-8221372: Test vmTestbase/nsk/jvmti/GetThreadState/ /thrstat001/TestDescription.java times out + JDK-8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop" + JDK-8223573: Replace wildcard address with loopback or local host in tests - part 4 + JDK-8223714: HTTPSetAuthenticatorTest could be made more resilient + JDK-8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections + JDK-8223856: Replace wildcard address with loopback or local host in tests - part 8 + JDK-8224617: (fs) java/nio/file/FileStore/Basic.java found filesystem twice + JDK-8224729: Cleanups in sun/security/provider/certpath/ldap/ /LDAPCertStoreImpl.java + JDK-8224768: Test ActalisCA.java fails + JDK-8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows + JDK-8226221: Update PKCS11 tests to use NSS 3.46 libs + JDK-8228341: SignTwice.java fails intermittently on Windows + JDK-8228403: SignTwice.java failed with java.io.FileNotFoundException: File name too long + JDK-8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27) + JDK-8229333: java/io/File/SetLastModified.java timed out + JDK-8229338: clean up test/jdk/java/util/RandomAccess/Basic.java + JDK-8229348: java/net/DatagramSocket/ /UnreferencedDatagramSockets.java fails intermittently + JDK-8229481: sun/net/www/protocol/https/ /ChunkedOutputStream.java failed with a SSLException + JDK-8229912: [TESTBUG] java/net/Socks/SocksIPv6Test fails without IPv6 + JDK-8230132: java/net/NetworkInterface/ /NetworkInterfaceRetrievalTests.java to skip Teredo Tunneling Pseudo-Interface + JDK-8231037: java/net/InetAddress/ptr/Lookup.java fails intermittently due to reverse lookup failed + JDK-8231357: sun/security/pkcs11/Cipher/TestKATForGCM.java fails on SLES11 using mozilla-nss-3.14 + JDK-8231516: network QuickAckTest.java failed due to "SocketException: maximum number of DatagramSockets reached" + JDK-8232101: (sctp) Add minimal sanity tests for SCTP + JDK-8232195: Enable BigInteger tests: DivisionOverflow, SymmetricRangeTests and StringConstructorOverflow + JDK-8232840: java/math/BigInteger/largeMemory/ /SymmetricRangeTests.java fails due to "OutOfMemoryError: Requested array size exceeds VM limit" + JDK-8232922: Add java/math/BigInteger/largeMemory/ /SymmetricRangeTests.java to ProblemList-Xcomp + JDK-8234808: jdb quoted option parsing broken + JDK-8236045: [TESTBUG] MismatchedWhiteBox test fails with missing WhiteBox$WhiteBoxPermission.class + JDK-8237183: Bug ID missing for test in patch which fixed JDK-8230665 + JDK-8238157: security/infra/java/security/cert/ /CertPathValidator/certification/AmazonCA.java test failures because of revocation date + JDK-8239007: java/math/BigInteger/largeMemory/ tests should be disabled on 32-bit platforms + JDK-8239264: Clearup the legacy ObjectIdentifier constructor from int array + JDK-8239333: Mark test AmazonCA.java with intermittent key + JDK-8239537: cgroup MetricsTester testMemorySubsystem fails sometimes when testing memory.kmem.tcp.usage_in_bytes + JDK-8240193: loadLibrary("osxsecurity") should not be removed + JDK-8241097: java/math/BigInteger/largeMemory/ /SymmetricRangeTests.java requires -XX:+CompactStrings + JDK-8242151: Improve OID mapping and reuse among JDK security providers for aliases registration + JDK-8242897: KeyFactory.generatePublic( x509Spec ) failed with java.security.InvalidKeyException + JDK-8243210: ClhsdbScanOops fails with NullPointerException in FileMapHeader.inCopiedVtableSpace + JDK-8244078: ProcessTools executeTestJvm and createJavaProcessBuilder have inconsistent handling of test.*.opts + JDK-8247895: SHA1PRNGReseed.java is calling setSeed(0) + JDK-8247968: test/jdk/javax/crypto/SecretKeyFactory/ /security.properties has wrong header + JDK-8248001: javadoc generates invalid HTML pages whose ftp:// links are broken + JDK-8249699: java/io/ByteArrayOutputStream/MaxCapacity.java should use @requires instead of @ignore + JDK-8251517: [TESTBUG] com/sun/net/httpserver/bugs/ /B6393710.java does not scale socket timeout + JDK-8252530: Fix inconsistencies in hotspot whitebox + JDK-8254350: CompletableFuture.get may swallow InterruptedException + JDK-8255348: NPE in PKIXCertPathValidator event logging code + JDK-8257993: vmTestbase/nsk/jvmti/RedefineClasses/ /StressRedefine/TestDescription.java crash intermittently + JDK-8259796: timed CompletableFuture.get may swallow InterruptedException + JDK-8260274: Cipher.init(int, key) does not use highest priority provider for random bytes + JDK-8260878: com/sun/jdi/JdbOptions.java fails without jfr + JDK-8260934: java/lang/StringBuilder/HugeCapacity.java fails without Compact Strings + JDK-8263970: Manual test javax/swing/JTextField/ /JapaneseReadingAttributes/JapaneseReadingAttributes.java failed + JDK-8265980: Fix systemDictionary and loaderConstraints printing + JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML + JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests + JDK-8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4 + JDK-8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java + JDK-8271838: AmazonCA.java interop test fails + JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java + JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC + JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/ /SurrogateTest.java test + JDK-8275234: java/awt/GraphicsDevice/DisplayModes/ /CycleDMImage.java is entered twice in ProblemList + JDK-8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver + JDK-8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0 + JDK-8277353: java/security/MessageDigest/ /ThreadSafetyTest.java test times out + JDK-8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out + JDK-8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes + JDK-8284524: Create an automated test for JDK-4422362 + JDK-8284767: Create an automated test for JDK-4422535 + JDK-8284772: GHA: Use GCC Major Version Dependencies Only + JDK-8285635: javax/swing/JRootPane/DefaultButtonTest.java failed with Default Button not pressed for L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel + JDK-8286172: Create an automated test for JDK-4516019 + JDK-8286481: Exception printed to stdout on Windows when storing transparent image in clipboard + JDK-8286620: Create regression test for verifying setMargin() of JRadioButton + JDK-8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling + JDK-8289748: C2 compiled code crashes with SIGFPE with - XX:+StressLCM and -XX:+StressGCM + JDK-8291444: GHA builds/tests won't run manually if disabled from automatic running + JDK-8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero + JDK-8292033: Move jdk.X509Certificate event logic to JCA layer + JDK-8292297: Fix up loading of override java.security properties file + JDK-8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases + JDK-8293180: JQuery UI license file not updated + JDK-8293562: KeepAliveCache Blocks Threads while Closing Connections + JDK-8293657: sun/management/jmxremote/bootstrap/ /RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake" + JDK-8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG + JDK-8295737: macOS: Print content cut off when width > height with portrait orientation + JDK-8295894: Remove SECOM certificate that is expiring in September 2023 + JDK-8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM + JDK-8297437: javadoc cannot link to old docs (with old style anchors) + JDK-8297523: Various GetPrimitiveArrayCritical miss result - NULL check + JDK-8297587: Upgrade JLine to 3.22.0 + JDK-8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit + JDK-8297730: C2: Arraycopy intrinsic throws incorrect exception + JDK-8297887: Update Siphash + JDK-8297923: java.awt.ScrollPane broken after multiple scroll up/down + JDK-8297955: LDAP CertStore should use LdapName and not String for DNs + JDK-8298921: Create a regression test for JDK-8139581 + JDK-8298974: Add ftcolor.c to imported freetype sources + JDK-8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit + JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge + JDK-8299713: Test javax/swing/JTableHeader/6889007/ /bug6889007.java failed: Wrong type of cursor + JDK-8300098: java/util/concurrent/ConcurrentHashMap/ /ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3 + JDK-8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values + JDK-8300751: [17u] Remove duplicate entry in javac.properties + JDK-8301269: Update Commons BCEL to Version 6.7.0 + JDK-8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument + JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit + JDK-8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work + JDK-8302161: Upgrade jQuery UI to version 1.13.2 + JDK-8302182: Update Public Suffix List to 88467c9 + JDK-8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling + JDK-8303809: Dispose context in SPNEGO NegotiatorImpl + JDK-8304054: Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed + JDK-8304498: JShell does not switch to raw mode when there is no /bin/test + JDK-8304867: Explicitly disable dtrace for ppc builds + JDK-8305074: ProblemList javax/net/ssl/DTLS/RespondToRetransmit.java + JDK-8305421: Work around JDK-8305420 in CDSJDITest.java + JDK-8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance + JDK-8305766: ProblemList runtime/CompressedOops/ /CompressedClassPointers.java + JDK-8305950: Have -XshowSettings option display tzdata version + JDK-8306133: Open source few AWT Drag & Drop related tests + JDK-8306137: Open source several AWT ScrollPane related tests + JDK-8306484: Open source several AWT Choice jtreg tests + JDK-8306636: Disable compiler/c2/Test6905845.java with - XX:TieredStopAtLevel=3 + JDK-8306638: Open source some AWT tests related to datatransfer and Toolkit + JDK-8306682: Open source a few more AWT Choice tests + JDK-8306718: Optimize and opensource some old AWT tests + JDK-8306954: Open source five Focus related tests + JDK-8306955: Open source several JComboBox jtreg tests + JDK-8307078: Opensource and clean up five more AWT Focus related tests + JDK-8307080: Open source some more JComboBox jtreg tests + JDK-8307128: Open source some drag and drop tests 4 + JDK-8307133: Open source some JTable jtreg tests + JDK-8307135: java/awt/dnd/NotReallySerializableTest/ /NotReallySerializableTest.java failed + JDK-8307301: Update HarfBuzz to 7.2.0 + JDK-8307569: Build with gcc8 is broken after JDK-8307301 + JDK-8307572: AArch64: Vector registers are clobbered by some macroassemblers + JDK-8307603: [AIX] Broken build after JDK-8307301 + JDK-8307604: gcc12 based Alpine build broken build after JDK-8307301 + JDK-8307799: Newly added java/awt/dnd/MozillaDnDTest.java has invalid jtreg `@requires` clause + JDK-8308156: VerifyCACerts.java misses blank in error output + JDK-8309088: security/infra/java/security/cert/ /CertPathValidator/certification/AmazonCA.java fails + JDK-8309108: Bump update version for OpenJDK: jdk-11.0.21 + JDK-8309138: Fix container tests for jdks with symlinked conf dir + JDK-8310054: ScrollPane insets are incorrect + JDK-8310176: JDK 11 G1 crash during full GC with +UseStringDeduplication + JDK-8310620: [11u] Problemlist failing aot tests on macos x64 + JDK-8311033: [macos] PrinterJob does not take into account Sides attribute + JDK-8311689: Wrong visible amount in Adjustable of ScrollPane + JDK-8312138: jcmd VM.metaspace vslist has no newline character before the Class: label. + JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1) + JDK-8313159: [11u] Fix test SSLEngineKeyLimit.java after Merge error + JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) + JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer + JDK-8313803: [11u] Exclude jdk/jfr/event/sampling/ /TestStackFrameLineNumbers.java + JDK-8313878: Exclude two compiler/rtm/locking tests on ppc64le + JDK-8314086: [11u] A typo in the fix for JDK-8312462 is causing test failure in ChildAlwaysOnTopTest.java + JDK-8314950: CMS may miss NMT tag after mark stack expansion + JDK-8314960: Add Certigna Root CA - 2 + JDK-8315135: Memory leak in the native implementation of Pack200.Unpacker.unpack() + JDK-8315529: [11u] Exclude some failing Z-GC tests + JDK-8317040: Exclude cleaner test failing on older releases + JDK-8317644: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.21 - Modified patches: * adlc-parser.patch + extend to initialize all the members to NULL * fips.patch * nss-security-provider.patch * reproducible-javadoc-timestamp.patch + rediff- Compiler flags to realign stack on ix86 (bsc#1214790)- Added patch: * reproducible-properties.patch + use SOURCE_DATE_EPOCH for timestamp in the generated properties files- Update to upstream tag jdk-11.0.20.1+1 (August 2023 emergency release fixing a regression in July 2023 CPU) * Changes: + JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) + JDK-8314678: Bump update version for OpenJDK: jdk-11.0.20.1- Added patch: * reproducible-javadoc-timestamp.patch + use SOURCE_DATE_EPOCH in javadoc and make the javadoc generation more reproducible- Upgrade to upstream tag jdk-11.0.20+8 (July 2023 CPU) * CVEs + CVE-2023-22006, bsc#1213473 + CVE-2023-22036, bsc#1213474 + CVE-2023-22041, bsc#1213475 + CVE-2023-22044, bsc#1213479 + CVE-2023-22045, bsc#1213481 + CVE-2023-22049, bsc#1213482 + CVE-2023-25193, bsc#1207922 * Security fixes + JDK-8298676: Enhanced Look and Feel + JDK-8300285: Enhance TLS data handling + JDK-8300596: Enhance Jar Signature validation + JDK-8301998, JDK-8302084: Update HarfBuzz to 7.0.1 + JDK-8302475: Enhance HTTP client file downloading + JDK-8302483: Enhance ZIP performance + JDK-8303376: Better launching of JDI + JDK-8304468: Better array usages + JDK-8305312: Enhanced path handling + JDK-8308682: Enhance AES performance * Other changes + JDK-8171426: java/lang/ProcessBuilder/Basic.java failed with Stream closed + JDK-8178806: Better exception logging in crypto code + JDK-8187522: test/sun/net/ftp/FtpURLConnectionLeak.java timed out + JDK-8209167: Use CLDR's time zone mappings for Windows + JDK-8209546: Make sun/security/tools/keytool/autotest.sh to support macosx + JDK-8209880: tzdb.dat is not reproducibly built + JDK-8213531: Test javax/swing/border/TestTitledBorderLeak.java fails + JDK-8214459: NSS source should be removed + JDK-8214807: Improve handling of very old class files + JDK-8215015: [TESTBUG] remove unneeded -Xfuture option from tests + JDK-8215575: C2 crash: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded + JDK-8220093: Change to GCC 8.2 for building on Linux at Oracle + JDK-8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError + JDK-8232853: AuthenticationFilter.Cache::remove may throw ConcurrentModificationException + JDK-8243936: NonWriteable system properties are actually writeable + JDK-8246383: NullPointerException in JceSecurity.getVerificationResult when using Entrust provider + JDK-8248701: On Windows generated modules-deps.gmk can contain backslash-r (CR) characters + JDK-8257856: Make ClassFileVersionsTest.java robust to JDK version updates + JDK-8259530: Generated docs contain MIT/GPL-licenced works without reproducing the licence + JDK-8263420: Incorrect function name in NSAccessibilityStaticText native peer implementation + JDK-8264290: Create implementation for NSAccessibilityComponentGroup protocol peer + JDK-8264304: Create implementation for NSAccessibilityToolbar protocol peer + JDK-8265486: ProblemList javax/sound/midi/Sequencer/ /Recording.java on macosx-aarch64 + JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped + JDK-8269746: C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input? + JDK-8274864: Remove Amman/Cairo hacks in ZoneInfoFile + JDK-8275233: Incorrect line number reported in exception stack trace thrown from a lambda expression + JDK-8275721: Name of UTC timezone in a locale changes depending on previous code + JDK-8275735: [linux] Remove deprecated Metrics api (kernel memory limit) + JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary + JDK-8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905 + JDK-8278434: timeouts in test java/time/test/java/time/format/ /TestZoneTextPrinterParser.java + JDK-8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption + JDK-8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error + JDK-8282201: Consider removal of expiry check in VerifyCACerts.java test + JDK-8282467: add extra diagnostics for JDK-8268184 + JDK-8282600: SSLSocketImpl should not use user_canceled workaround when not necessary + JDK-8283059: Uninitialized warning in check_code.c with GCC 11.2 + JDK-8285497: Add system property for Java SE specification maintenance version + JDK-8286398: Address possibly lossy conversions in jdk.internal.le + JDK-8287007: [cgroups] Consistently use stringStream throughout parsing code + JDK-8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider + JDK-8287876: The recently de-problemlisted TestTitledBorderLeak test is unstable + JDK-8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies + JDK-8289301: P11Cipher should not throw out of bounds exception during padding + JDK-8289735: UTIL_LOOKUP_PROGS fails on pathes with space + JDK-8291226: Create Test Cases to cover scenarios for JDK-8278067 + JDK-8291637: HttpClient default keep alive timeout not followed if server sends invalid value + JDK-8291638: Keep-Alive timeout of 0 should close connection immediately + JDK-8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected + JDK-8293232: Fix race condition in pkcs11 SessionManager + JDK-8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation + JDK-8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316 + JDK-8294906: Memory leak in PKCS11 NSS TLS server + JDK-8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames + JDK-8296934: Write a test to verify whether Undecorated Frame can be iconified or not + JDK-8297000: [jib] Add more friendly warning for proxy issues + JDK-8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter + JDK-8298887: On the latest macOS+XCode the Robot API may report wrong colors + JDK-8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE + JDK-8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument + JDK-8300205: Swing test bug8078268 make latch timeout configurable + JDK-8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550 + JDK-8301119: Support for GB18030-2022 + JDK-8301170: perfMemory_windows.cpp add free_security_attr to early returns + JDK-8301401: Allow additional characters for GB18030-2022 support + JDK-8302151: BMPImageReader throws an exception reading BMP images + JDK-8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message + JDK-8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN + JDK-8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return + JDK-8303432: Bump update version for OpenJDK: jdk-11.0.20 + JDK-8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id + JDK-8303465: KeyStore of type KeychainStore, provider Apple does not show all trusted certificates + JDK-8303476: Add the runtime version in the release file of a JDK image + JDK-8303482: Update LCMS to 2.15 + JDK-8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi + JDK-8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return + JDK-8303822: gtestMain should give more helpful output + JDK-8303861: Error handling step timeouts should never be blocked by OnError and others + JDK-8303937: Corrupted heap dumps due to missing retries for os::write() + JDK-8304134: jib bootstrapper fails to quote filename when checking download filetype + JDK-8304291: [AIX] Broken build after JDK-8301998 + JDK-8304295: harfbuzz build fails with GCC 7 after JDK-8301998 + JDK-8304350: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0 + JDK-8304760: Add 2 Microsoft TLS roots + JDK-8305113: (tz) Update Timezone Data to 2023c + JDK-8305400: ISO 4217 Amendment 175 Update + JDK-8305528: [11u] Backport of JDK-8259530 breaks build with JDK10 bootstrap VM + JDK-8305682: Update the javadoc in the Character class to state support for GB 18030-2022 Implementation Level 2 + JDK-8305711: Arm: C2 always enters slowpath for monitorexit + JDK-8305721: add `make compile-commands` artifacts to .gitignore + JDK-8305975: Add TWCA Global Root CA + JDK-8306543: GHA: MSVC installation is failing + JDK-8306658: GHA: MSVC installation could be optional since it might already be pre-installed + JDK-8306664: GHA: Update MSVC version to latest stepping + JDK-8306768: CodeCache Analytics reports wrong threshold + JDK-8306976: UTIL_REQUIRE_SPECIAL warning on grep + JDK-8307134: Add GTS root CAs + JDK-8307811: [TEST] compilation of TimeoutInErrorHandlingTest fails after backport of JDK-8303861 + JDK-8308006: Missing NMT memory tagging in CMS + JDK-8308884: [17u/11u] Backout JDK-8297951 + JDK-8309476: [11u] tools/jmod/hashes/HashesOrderTest.java fails intermittently + JDK-8311465: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.20 - Removed patch: * system-crypto-policy.patch + folded into modified fips.patch - Modified patch: * fips.patch + fold in the system-crypto-policy.patch + regenerate to changed context- Upgrade to upsteam tag jdk-11.0.19+7 (April 2023 CPU) * Security fixes: + JDK-8287404: Improve ping times + JDK-8288436: Improve Xalan supports + JDK-8294474, CVE-2023-21930, bsc#1210628: Better AES support + JDK-8295304, CVE-2023-21938, bsc#1210632: Runtime support improvements + JDK-8296676, CVE-2023-21937, bsc#1210631: Improve String platform support + JDK-8296684, CVE-2023-21937, bsc#1210631: Improve String platform support + JDK-8296692, CVE-2023-21937, bsc#1210631: Improve String platform support + JDK-8296832, CVE-2023-21939, bsc#1210634: Improve Swing platform support + JDK-8297371: Improve UTF8 representation redux + JDK-8298191, CVE-2023-21954, bsc#1210635: Enhance object reclamation process + JDK-8298310, CVE-2023-21967, bsc#1210636: Enhance TLS session negotiation + JDK-8298667, CVE-2023-21968, bsc#1210637: Improved path handling + JDK-8299129: Enhance NameService lookups * Fixes: + JDK-6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion + JDK-7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/ /Receiver/bug6186488.java fails + JDK-8035787: SourcePositions are wrong for Strings concatenated with '+' operator + JDK-8065097: [macosx] javax/swing/Popup/ /TaskbarPositionTest.java fails because Popup is one pixel off + JDK-8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled + JDK-8129315: java/net/Socket/LingerTest.java and java/net/Socket/ShutdownBoth.java timeout intermittently + JDK-8144030: [macosx] test java/awt/Frame/ /ShapeNotSetSometimes/ShapeNotSetSometimes.java fails (again) + JDK-8170705: sun/net/www/protocol/http/StackTraceTest.java fails intermittently with Invalid Http response + JDK-8171405: java/net/URLConnection/ResendPostBody.java failed with "Error while cleaning up threads after test" + JDK-8179317: [TESTBUG] rewrite runtime shell tests in java + JDK-8247741: Test test/hotspot/jtreg/runtime/7162488/ /TestUnrecognizedVmOption.java fails when - XX:+IgnoreUnrecognizedVMOptions is set + JDK-8190492: Remove SSLv2Hello and SSLv3 from default enabled TLS protocols + JDK-8192931: Regression test java/awt/font/TextLayout/ /CombiningPerf.java fails + JDK-8195057: java/util/concurrent/CountDownLatch/Basic.java failed w/ Xcomp + JDK-8195716: BootstrapLoggerTest : Executor still alive + JDK-8202621: bad test with broken links needs to be updated + JDK-8207248: Reduce incidence of compiler.warn.source.no.bootclasspath in javac tests + JDK-8208077: File.listRoots performance degradation + JDK-8209023: fix 2 compiler tests to avoid JDK-8208690 + JDK-8209115: adjust libsplashscreen linux ppc64le builds for easier libpng update + JDK-8209774: Refactor shell test javax/xml/jaxp/common/8035437/run.sh to java + JDK-8209935: Test to cover CodeSource.getCodeSigners() + JDK-8210373: Deadlock in libj2gss.so when loading "j2gss" and "net" libraries in parallel. + JDK-8212165: JGSS: Fix cut/paste error in NativeUtil.c + JDK-8212216: JGSS: Fix leak in exception cases in getJavaOID() + JDK-8213130: Update ProblemList after verification of jtreg tests in Win 7 + JDK-8213265: fix missing newlines at end of files + JDK-8213932: [TESTBUG] assertEquals is invoked with the arguments in the wrong order + JDK-8214445: [test] java/net/URL/HandlerLoop has illegal reflective access + JDK-8215372: test/jdk/java/nio/file/DirectoryStream/Basic.java not correct when using a glob + JDK-8215759: [test] java/math/BigInteger/ModPow.java can throw an ArithmeticException + JDK-8217353: java/util/logging/LogManager/Configuration/ /updateConfiguration/HandlersOnComplexResetUpdate.java fails with Unexpected reference: java.lang.ref.WeakReference + JDK-8217730: Split up MakeBase.gmk + JDK-8218133: sun/net/www/protocol/http/ProtocolRedirect.java failed with "java.net.ConnectException" + JDK-8218431: Improved platform checking in makefiles + JDK-8221098: Run java/net/URL/HandlerLoop.java in othervm mode + JDK-8221168: java/util/concurrent/CountDownLatch/Basic.java fails + JDK-8221351: Crash in KlassFactory::check_shared_class_file_load_hook + JDK-8221621: FindTests.gmk cannot handle "=" in TEST.groups comments + JDK-8222430: Add tests for ElementKind predicates + JDK-8223463: Replace wildcard address with loopback or local host in tests - part 2 + JDK-8223716: sun/net/www/http/HttpClient/MultiThreadTest.java should be more resilient to unexpected traffic + JDK-8223736: jvmti/scenarios/contention/TC04/tc04t001/ /TestDescription.java fails due to wrong number of MonitorContendedEntered events + JDK-8224024: java/util/concurrent/BlockingQueue/ /DrainToFails.java testBounded fails intermittently + JDK-8226595: jvmti/scenarios/contention/TC04/tc04t001/ /TestDescription.java still fails due to wrong number of MonitorContendedEntered events + JDK-8226917: jvmti/scenarios/contention/TC04/tc04t001/ /TestDescription.java fails on jvmti->InterruptThread (JVMTI_ERROR_THREAD_NOT_ALIVE) + JDK-8227422: sun/net/www/protocol/file/ /DirPermissionDenied.java failed on Windows 2016 because DirPermissionDenied directory has no read permission + JDK-8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties + JDK-8230731: SA tests fail with "Windbg Error: ReadVirtual failed" + JDK-8231595: [TEST] develop a test case for SuspendThreadList including current thread + JDK-8233462: serviceability/tmtools/jstat tests times out with -Xcomp + JDK-8235448: code cleanup in SSLContextImpl.java + JDK-8238936: The crash in XRobotPeer when the custom GraphicsDevice is used + JDK-8241806: The sun/awt/shell/FileSystemViewMemoryLeak.java is unstable + JDK-8244592: Start supporting SOURCE_DATE_EPOCH + JDK-8245245: WebSocket can lose the URL encoding of URI query parameters + JDK-8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body + JDK-8245654: Add Certigna Root CA + JDK-8248306: gc/stress/gclocker/ /TestExcessGCLockerCollections.java does not compile + JDK-8249691: jdk/lambda/vm/StrictfpDefault.java file can be removed + JDK-8252401: Introduce Utils.TEST_NATIVE_PATH + JDK-8252532: use Utils.TEST_NATIVE_PATH instead of System.getProperty("test.nativepath") + JDK-8252715: Problem list java/awt/event/KeyEvent/KeyTyped/ /CtrlASCII.java on Linux + JDK-8254267: javax/xml/crypto/dsig/LogParameters.java failed with "RuntimeException: Unexpected log output:" + JDK-8255710: Opensource unit/regression tests for CMM + JDK-8256110: Create implementation for NSAccessibilityStepper protocol + JDK-8256111: Create implementation for NSAccessibilityStaticText protocol + JDK-8256126: Create implementation for NSAccessibilityImage protocol peer + JDK-8256240: Reproducible builds should turn on the "deterministic" flag for Visual Studio + JDK-8281262: Windows builds in different directories are not fully reproducible + JDK-8256934: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit + JDK-8257928: Test image build failure with clang-10 due to - Wmisleading-indentation + JDK-8258005: JDK build fails with incorrect fixpath script + JDK-8259265: Refactor UncaughtExceptions shell test as java test. + JDK-8259267: Refactor LoaderLeak shell test as java test. + JDK-8225648: [TESTBUG] java/lang/annotation/loaderLeak/ /Main.java fails with -Xcomp + JDK-8260576: Typo in compiler/runtime/safepoints/ /TestRegisterRestoring.java + JDK-8261270: MakeMethodNotCompilableTest fails with - XX:TieredStopAtLevel={1,2,3} + JDK-8261279: sun/util/resources/cldr/TimeZoneNamesTest.java timed out + JDK-8261350: Create implementation for NSAccessibilityCheckBox protocol peer + JDK-8261351: Create implementation for NSAccessibilityRadioButton protocol + JDK-8261352: Create implementation for component peer for all the components who should be ignored in a11y interactions + JDK-8262060: compiler/whitebox/BlockingCompilation.java timed out + JDK-8264200: java/nio/channels/DatagramChannel/SRTest.java fails intermittently + JDK-8264299: Create implementation of native accessibility peer for ScrollPane and ScrollBar Java Accessibility roles + JDK-8264512: jdk/test/jdk/java/util/prefs/ExportNode.java relies on default platform encoding + JDK-8266974: duplicate property key in java.sql.rowset resource bundle + JDK-8267038: Update IANA Language Subtag Registry to Version 2022-03-02 + JDK-8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction + JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1 + JDK-8271506: Add ResourceHashtable support for deleting selected entries + JDK-8272985: Reference discovery is confused about atomicity and degree of parallelism + JDK-8273497: building.md should link to both md and html + JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly + JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3 + JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS + JDK-8277346: ProblemList 7 serviceability/sa tests on macosx-x64 + JDK-8277351: ProblemList runtime/jni/checked/ /TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64 + JDK-8279614: The left line of the TitledBorder is not painted on 150 scale factor + JDK-8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC + JDK-8279941: sun/security/pkcs11/Signature/ /TestDSAKeyLength.java fails when NSS version detection fails + JDK-8280048: Missing comma in copyright header + JDK-8280391: NMT: Correct NMT tag on CollectedHeap + JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized + JDK-8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11 + JDK-8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions + JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX + JDK-8282398: EndingDotHostname.java test fails because SSL cert expired + JDK-8282511: Use fixed certificate validation date in SSLExampleCert template + JDK-8282958: Rendering Issues with Borders on Windows High-DPI systems + JDK-8283606: Tests may fail with zh locale on MacOS + JDK-8283717: vmTestbase/nsk/jdi/ThreadStartEvent/thread/ /thread001 failed due to SocketTimeoutException + JDK-8283719: java/util/logging/CheckZombieLockTest.java failing intermittently + JDK-8283870: jdeprscan --help causes an exception when the locale is ja, zh_CN or de + JDK-8284023: java.sun.awt.X11GraphicsDevice .getDoubleBufferVisuals() leaks XdbeScreenVisualInfo + JDK-8284165: Add pid to process reaper thread name + JDK-8285093: Introduce UTIL_ARG_WITH + JDK-8285755: JDK-8285093 changed the default for - -with-output-sync + JDK-8285919: Remove debug printout from JDK-8285093 + JDK-8285399: JNI exception pending in awt_GraphicsEnv.c:1432 + JDK-8285690: CloneableReference subtest should not throw CloneNotSupportedException + JDK-8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work + JDK-8286030: Avoid JVM crash when containers share the same /tmp dir + JDK-8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong + JDK-8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException + JDK-8287011: Improve container information + JDK-8287180: Update IANA Language Subtag Registry to Version 2022-08-08 + JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests + JDK-8288499: Restore cancel-in-progress in GHA + JDK-8288332: Tier1 validate-source fails after 8279614 + JDK-8289562: Change bugs.java.com and bugreport.java.com URL's to https + JDK-8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun + JDK-8290197: test/jdk/java/nio/file/Files/probeContentType/ /Basic.java fails on some systems for the ".rar" extension + JDK-8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86 + JDK-8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false + JDK-8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes" + JDK-8292863: assert(_print_inlining_stream->size() > 0) failed: missing inlining msg + JDK-8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly + JDK-8293550: Optionally add get-task-allow entitlement to macos binaries + JDK-8293767: AWT test TestSinhalaChar.java has old SCCS markings + JDK-8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop + JDK-8294378: URLPermission constructor exception when using tr locale + JDK-8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame + JDK-8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java + JDK-8294947: Use 64bit atomics in patch_verified_entry on x86_64 + JDK-8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead + JDK-8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals" + JDK-8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests + JDK-8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp + JDK-8295530: Update Zlib Data Compression Library to Version 1.2.13 + JDK-8295685: Update Libpng to 1.6.38 + JDK-8295774: Write a test to verify List sends ItemEvent/ActionEvent + JDK-8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver + JDK-8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node" + JDK-8296239: ISO 4217 Amendment 174 Update + JDK-8296611: Problemlist several sun/security tests until + JDK-8295343 is resolved + JDK-8296619: Upgrade jQuery to 3.6.1 + JDK-8296675: Exclude linux-aarch64 in NSS tests + JDK-8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters + JDK-8296904: Improve handling of macos xcode toolchain + JDK-8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1 + JDK-8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address + JDK-8297088: Update LCMS to 2.14 + JDK-8297257: Bump update version for OpenJDK: jdk-11.0.19 + JDK-8297264: C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top + JDK-8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check + JDK-8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent + JDK-8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378 + JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication + JDK-8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros + JDK-8298027: Remove SCCS id's from awt jtreg tests + JDK-8298073: gc/metaspace/ /CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx + JDK-8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes + JDK-8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c + JDK-8298108: Add a regression test for JDK-8297684 + JDK-8298129: Let checkpoint event sizes grow beyond u4 limit + JDK-8298271: java/security/SignedJar/spi-calendar-provider/ /TestSPISigned.java failing on Windows + JDK-8298459: Fix msys2 linking and handling out of tree build directory for source zip creation + JDK-8298527: Cygwin's uname -m returns different string than before + JDK-8299194: CustomTzIDCheckDST.java may fail at future date + JDK-8299296: Write a test to verify the components selection sends ItemEvent + JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR + JDK-8299483: ProblemList java/text/Format/NumberFormat/ /CurrencyFormat.java + JDK-8299445: EndingDotHostname.java fails because of compilation errors + JDK-8299520: TestPrintXML.java output error messages in case compare fails + JDK-8299596: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.19 + JDK-8299616: [11u] Bootcycle build fails after JDK-8257679 backport + JDK-8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs + JDK-8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems + JDK-8300424: [11u] Chunk lost in backport of 8297569 + JDK-8300642: [17u,11u] Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev + JDK-8300742: jstat's CGCT is 5 percent higher than the pause time in -Xlog:gc. + JDK-8300773: Address the inconsistency between the constant array and pool size + JDK-8301397: [11u, 17u] Bump jtreg to fix issue with build JDK 11.0.18 + JDK-8301760: Fix possible leak in SpNegoContext dispose + JDK-8301842: JFR: increase checkpoint event size for stacktrace and string pool + JDK-8302000: [11u] A subtle race condition during jdk11u build + JDK-8218460: Test generation scripts do not invoke stream preprocessor correctly + JDK-8302657: [11u] Add missing '(' in makefile after backport of 8218431 + JDK-8302694: [11u] Update GHA Boot JDK to 11.0.18 + JDK-8302903: [11u] Add modified test snippet after backport of JDK-8221871 + JDK-8303075: [11u] Add CompileClassWithDebugTest to ProblemList for 8303074 + JDK-8304389: [11u] Crash on Windows in C2 compiled code after 8248238 and 8218431 - Modified patch: * fips.patch + adapt to changed context- Remove the accessibility sub-package, since it was never really working and creates another problems (bsc#1206549). It can eventually be built as standalone if needed - Removed patches: * jaw-jdk10.patch * jaw-misc.patch * jaw-nogtk.patch + not needed after the removal of the accessibility sub-package- Upgrade to upstream tag jdk-11.0.18+10 (January 2023 CPU) * CVEs + CVE-2023-21835, bsc#1207246 + CVE-2023-21843, bsc#1207248 * Security fixes + JDK-8286070: Improve UTF8 representation + JDK-8286496: Improve Thread labels + JDK-8287411: Enhance DTLS performance + JDK-8288516: Enhance font creation + JDK-8289350: Better media supports + JDK-8293554: Enhanced DH Key Exchanges + JDK-8293598: Enhance InetAddress address handling + JDK-8293717: Objective view of ObjectView + JDK-8293734: Improve BMP image handling + JDK-8293742: Better Banking of Sounds + JDK-8295687: Better BMP bounds * Other changes + JDK-4819544: SwingSet2 JTable Demo throws NullPointerException + JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider + JDK-6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows + JDK-7001973: java/awt/Graphics2D/CopyAreaOOB.java fails + JDK-8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/ /OnScreenRenderingResizeTest.java fails + JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/ /DropTargetEnterExitTest/MissedDragExitTest.java failed + JDK-8029633: Raw inner class constructor ref should not perform diamond inference + JDK-8030121: java/awt/dnd/MissingDragExitEventTest/ /MissingDragExitEventTest.java fails + JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/ /RepaintTest.java fails + JDK-8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/ /RobotWheelTest.java fails + JDK-8159599: [TEST_BUG] java/awt/Modal/ /ModalInternalFrameTest/ModalInternalFrameTest.java + JDK-8169187: [macosx] Aqua: java/awt/image/multiresolution/ /MultiresolutionIconTest.java + JDK-8172269: When checking the default behaviour for a scroll tab layout and checking the 'opaque' checkbox, the area behind tabs is not red. + JDK-8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout + JDK-8193942: Regression automated test '/open/test/jdk/javax/ /swing/JFrame/8175301/ScaledFrameBackgroundTest.java' fails + JDK-8194126: Regression automated Test '/open/test/jdk/javax/ /swing/JColorChooser/Test7194184.java' fails + JDK-8198343: Test java/awt/print/PrinterJob/ /TestPgfmtSetMPA.java may fail w/o printer + JDK-8199290: [TESTBUG] sun.hotspot.WhiteBox$WhiteBoxPermission is not copied + JDK-8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails + JDK-8206125: [windows] cannot pass relative path to - -with-boot-jdk + JDK-8210047: some pages contain content outside of landmark region + JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values + JDK-8212096: javax/net/ssl/ServerName/ /SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch + JDK-8213239: Configure cannot handle command overrides with arguments + JDK-8215571: jdb does not include jdk.* in the default class filter + JDK-8217032: Check pandoc capabilities in configure + JDK-8222091: Javadoc does not handle package annotations correctly on package-info.java + JDK-8222251: preflow visitor is not visiting lambda expressions + JDK-8226236: win32: gc/metaspace/ /TestCapacityUntilGCWrapAround.java fails + JDK-8227179: Test for new gc+metaspace=info output format + JDK-8227651: Tests fail with SSLProtocolException: Input record too big + JDK-8228672: [TESTBUG] gc/metaspace/TestSizeTransitions.java fails on 32-bit platforms + JDK-8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs + JDK-8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos + JDK-8233565: [TESTBUG] NullModalityDialogTest.java fails on MacOS + JDK-8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos + JDK-8239708: Split basics.m4 into basic.m4 and util.m4 + JDK-8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack + JDK-8242468: VS2019 build missing vcruntime140_1.dll + JDK-8243565: some gc tests use 'test.java.opts' and not 'test.vm.opts' + JDK-8243568: serviceability/logging/TestLogRotation.java uses 'test.java.opts' and not 'test.vm.opts' + JDK-8244010: Simplify usages of ProcessTools.createJavaProcessBuilder in our tests + JDK-8244557: test/jdk/javax/swing/JTabbedPane/ /TestBackgroundScrollPolicy.java failed + JDK-8247676: vcruntime140_1.dll is not needed on 32-bit Windows + JDK-8249694: java/lang/StringBuffer/HugeCapacity.java and j/l/StringBuilder/HugeCapacity.java tests shouldn't be @ignore-d + JDK-8253877: gc/g1/TestGCLogMessages.java fails - missing "Evacuation failure" message + JDK-8254874: ZGC: JNIHandleBlock verification failure in stack watermark processing + JDK-8254976: Re-enable swing jtreg tests which were broken due to samevm mode + JDK-8255439: System Tray icons get corrupted when Windows scaling changes + JDK-8256109: Create implementation for NSAccessibilityButton protocol + JDK-8257679: Improved unix compatibility layer in Windows build (winenv) + JDK-8257722: Improve "keytool -printcert -jarfile" output + JDK-8258005: JDK build fails with incorrect fixpath script + JDK-8259485: Document need for short paths when building on Windows + JDK-8260272: bash configure --prefix does not work after JDK-8257679 + JDK-8261336: IGV: enhance default filters + JDK-8261445: Use memory_order_relaxed for os::random(). + JDK-8261758: [TESTBUG] gc/g1/TestGCLogMessages.java fails if ergonomics detect too small InitialHeapSize + JDK-8263326: Remove ReceiverTypeData check from serviceability/sa/TestPrintMdo.java + JDK-8263871: On sem_destroy() failing we should assert + JDK-8264593: debug.cpp utilities should be available in product builds. + JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class + JDK-8266082: AssertionError in Annotate.fromAnnotations with - Xdoclint + JDK-8266967: debug.cpp utility find() should print Java Object fields. + JDK-8268361: Fix the infinite loop in next_line + JDK-8268860: Windows-Aarch64 build is failing in GitHub actions + JDK-8268893: jcmd to trim the glibc heap + JDK-8269029: compiler/codegen/TestCharVect2.java fails for client VMs + JDK-8269873: serviceability/sa/Clhsdb tests are using a C2 specific VMStruct field + JDK-8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64 + JDK-8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints + JDK-8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368 + JDK-8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12 + JDK-8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction + JDK-8274029: Remove jtreg tag manual=yesno for java/awt/ /print/Dialog/DialogOrient.java + JDK-8274032: Remove jtreg tag manual=yesno for java/awt/print/ /PrinterJob/ImagePrinting/ImageTypes.java & show test UI + JDK-8274296: Update or Problem List tests which may fail with uiScale=2 on macOS + JDK-8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java + JDK-8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening + JDK-8274597: Some of the dnd tests time out and fail intermittently + JDK-8275170: Some jtreg sound tests should be marked with sound keyword + JDK-8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked + JDK-8276841: Add support for Visual Studio 2022 + JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points + JDK-8277497: Last column cell in the JTable row is read as empty cell + JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode + JDK-8277970: Test jdk/sun/security/ssl/SSLSessionImpl/ /NoInvalidateSocketException.java fails with "tag mismatch" + JDK-8279066: entries.remove(entry) is useless in PKCS12KeyStore + JDK-8279695: [TESTBUG] modify compiler/loopopts/ /TestSkeletonPredicateNegation.java to run on C1 also + JDK-8280158: New test from JDK-8274736 failed with/without patch in JDK11u + JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound + JDK-8280863: Update build README to reflect that MSYS2 is supported + JDK-8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR + JDK-8280948: Write a regression test for JDK-4659800 + JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix + JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950 + JDK-8281296: Create a regression test for JDK-4515999 + JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted) + JDK-8282046: Create a regression test for JDK-8000326 + JDK-8282276: Problem list failing two Robot Screen Capture tests + JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access + JDK-8282345: handle latest VS2022 in abstract_vm_version + JDK-8282402: Create a regression test for JDK-4666101 + JDK-8282640: Create a test for JDK-4740761 + JDK-8282642: vmTestbase/gc/gctests/LoadUnloadGC2/ /LoadUnloadGC2.java fails intermittently with exit code 1 + JDK-8282730: LdapLoginModule throw NPE from logout method after login failure + JDK-8282777: Create a Regression test for JDK-4515031 + JDK-8282778: Create a regression test for JDK-4699544 + JDK-8282857: Create a regression test for JDK-4702690 + JDK-8282936: Write a regression test for JDK-4615365 + JDK-8282937: Write a regression test for JDK-4820080 + JDK-8283199: Linux os::cpu_microcode_revision() stalls cold startup + JDK-8283422: Create a new test for JDK-8254790 + JDK-8284294: Create an automated regression test for RFE 4138746 + JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph + JDK-8284521: Write an automated regression test for RFE 4371575 + JDK-8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox + JDK-8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X + JDK-8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation + JDK-8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown" + JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java + JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist + JDK-8285305: Create an automated test for JDK-4495286 + JDK-8285373: Create an automated test for JDK-4702233 + JDK-8285604: closed sun/java2d/GdiRendering/ /ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)" + JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/ /PrintARGBImage.java manual test + JDK-8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox + JDK-8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment + JDK-8285836: sun/net/www/http/KeepAliveCache/ /KeepAliveProperty.java failed with "RuntimeException: Failed in server" + JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/ /AttachReturnError.java fails on Alpine + JDK-8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3 + JDK-8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray + JDK-8286772: java/awt/dnd/DropTargetInInternalFrameTest/ /DropTargetInInternalFrameTest.html times out and fails in Windows + JDK-8286872: Refactor add/modify notification icon (TrayIcon) + JDK-8287076: Document.normalizeDocument() produces different results + JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn + JDK-8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path + JDK-8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative + JDK-8287724: Fix various issues with msys2 + JDK-8287826: javax/accessibility/4702233/ /AccessiblePropertiesTest.java fails to compile + JDK-8287895: Some langtools tests fail on msys2 + JDK-8287896: PropertiesTest.sh fail on msys2 + JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows + JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier + JDK-8288132: Update test artifacts in QuoVadis CA interop tests + JDK-8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces + JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable + JDK-8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding + JDK-8288599: com/sun/management/OperatingSystemMXBean/ /TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ... + JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305 + JDK-8289043: C2: Vector constant materialization attempt + JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output + JDK-8290207: Missing notice in dom.md + JDK-8290209: jcup.md missing additional text + JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1 + JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure + JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI" + JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize + JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses + JDK-8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*) + JDK-8291461: assert(false) failed: bad AD file + JDK-8292083: Detected container memory limit may exceed physical machine memory + JDK-8292158: AES-CTR cipher state corruption with AVX-512 + JDK-8292541: [Metrics] Reported memory limit may exceed physical machine memory + JDK-8292682: Code change of JDK-8282730 not updated to reflect CSR update + JDK-8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free + JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures + JDK-8292887: Bump update version for OpenJDK: jdk-11.0.18 + JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform + JDK-8293044: C1: Missing access check on non-accessible class + JDK-8293472: Incorrect container resource limit detection if manual cgroup fs mounts present + JDK-8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts + JDK-8293578: Duplicate ldc generated by javac + JDK-8293672: Update freetype md file + JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent + JDK-8293826: Closed test fails after JDK-8276108 on aarch64 + JDK-8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening + JDK-8293834: Update CLDR data following tzdata 2022c update + JDK-8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC + JDK-8294138: [11u] Revert change from JDK-8210962 in basic.m4 + JDK-8294307: ISO 4217 Amendment 173 Update + JDK-8294357: (tz) Update Timezone Data to 2022d + JDK-8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode + JDK-8294740: Add cgroups keyword to TestDockerBasic.java + JDK-8295173: (tz) Update Timezone Data to 2022e + JDK-8295288: Some vm_flags tests associate with a wrong BugID + JDK-8295322: Tests for JDK-8271459 were not backported to 11u + JDK-8295429: Update harfbuzz md file + JDK-8295469: S390X: Optimized builds are broken + JDK-8295554: Move the "sizecalc.h" to the correct location + JDK-8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev + JDK-8295714: GHA ::set-output is deprecated and will be removed + JDK-8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error + JDK-8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor + JDK-8295952: Problemlist existing compiler/rtm tests also on x86 + JDK-8296108: (tz) Update Timezone Data to 2022f + JDK-8296239: ISO 4217 Amendment 174 Update + JDK-8296480: java/security/cert/pkix/policyChanges/ /TestPolicy.java is failing + JDK-8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException + JDK-8296496: Overzealous check in sizecalc.h prevents large memory allocation + JDK-8296632: Write a test to verify the content change of TextArea sends TextEvent + JDK-8296652: Restore windows aarch64 fixpath patch that was removed in 8239708 + JDK-8296715: CLDR v42 update for tzdata 2022f + JDK-8296957: One more cast in SAFE_SIZE_NEW_ARRAY2 + JDK-8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used + JDK-8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/ /OnScreenRenderingResizeTest.java fails again + JDK-8297241: Update sun/java2d/DirectX/ /OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java + JDK-8297481: Create a regression test for JDK-4424517 + JDK-8297656: AArch64: Enable AES/GCM Intrinsics + JDK-8297804: (tz) Update Timezone Data to 2022g + JDK-8298737: 8296772 backport to jdk11u caused build error on sparc + JDK-8299393: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.18 + JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR + JDK-8299483: ProblemList java/text/Format/NumberFormat/ /CurrencyFormat.java + JDK-8299616: [11u] Bootcycle build fails after JDK-8257679 backport- Fix jconsole.desktop icon- Update to upstream tag jdk-11.0.17+8 (October 2022 CPU) * Security fixes: + JDK-8289366, bsc#1204480, CVE-2022-39399: Improve HTTP/2 client usage + JDK-8288508: Enhance ECDSA usage + JDK-8286918, bsc#1204472, CVE-2022-21628: Better HttpServer service + JDK-8287446, bsc#1204475, CVE-2022-21624: Enhance icon presentations + JDK-8286910: Improve JNDI lookups + JDK-8286511: Improve macro allocation + JDK-8286526, bsc#1204473, CVE-2022-21619: Improve NTLM support + JDK-8286533, bsc#1204471, CVE-2022-21626: Key X509 usages + JDK-8286077, bsc#1204468, CVE-2022-21618: Wider MultiByte conversions + JDK-8286519: Better memory handling + JDK-8285662: Better permission resolution + JDK-8282252: Improve BigInteger/Decimal validation + JDK-8289853: Update HarfBuzz to 4.4.1 + JDK-8290334: Update FreeType to 2.12.1 + JDK-8293429: [11u] minor update in attribute style * Other fixes: + JDK-6606767: resexhausted00[34] fail assert(!thread->owns_locks(), "must release all locks when leaving VM") + JDK-6854300: [TEST_BUG] java/awt/event/MouseEvent/ /SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7 + JDK-7131823: bug in GIFImageReader + JDK-8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/ /bug4634626.java sometimes failed on mac + JDK-8028265: Add legacy tz tests to OpenJDK + JDK-8069343: Improve gc/g1/TestHumongousCodeCacheRoots.java to use jtreg @requires + JDK-8139348: Deprecate 3DES and RC4 in Kerberos + JDK-8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java + JDK-8164804: sun/security/ssl/SSLSocketImpl/CloseSocket.java makes not reliable time assumption + JDK-8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes! + JDK-8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad" + JDK-8183372: Refactor java/lang/Class shell tests to java + JDK-8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names + JDK-8193462: Fix Filer handling of package-info initial elements + JDK-8203277: preflow visitor used during lambda attribution shouldn't visit class definitions inside the lambda body + JDK-8208471: nsk/jdb/unwatch/unwatch002/unwatch002.java fails with "Prompt is not received during 300200 milliseconds" + JDK-8209052: Low contrast in docs/api/constant-values.html + JDK-8209736: runtime/RedefineTests/ModifyAnonymous.java fails with NullPointerException when running in CDS mode + JDK-8210107: vmTestbase/nsk/stress/network tests fail with Cannot assign requested address (Bind failed) + JDK-8210722: JAXP Tests: CatalogSupport2 and CatalogSupport3 generate incorrect messages upon failure + JDK-8210960: Allow --with-boot-jdk-jvmargs to work during configure + JDK-8212904: JTextArea line wrapping incorrect when using UI scale + JDK-8213695: gc/TestAllocateHeapAtMultiple.java is slow in some configs + JDK-8214078: (fs) SecureDirectoryStream not supported on arm32 + JDK-8214427: probable bug in logic of ConcurrentHashMap.addCount() + JDK-8215291: Broken links when generating from project without modules + JDK-8217170: gc/arguments/TestUseCompressedOopsErgo.java timed out + JDK-8217332: JTREG: Clean up, use generics instead of raw types + JDK-8218128: vmTestbase/nsk/jvmti/ResourceExhausted/ /resexhausted003 and 004 use wrong path to test classes + JDK-8218413: make reconfigure ignores configure-time AUTOCONF environment variable + JDK-8219074: [TESTBUG] runtime/containers/docker/ /TestCPUAwareness.java typo of printing parameters (period should be shares) + JDK-8219149: ProcessTools.ProcessBuilder should print timing info for subprocesses + JDK-8220744: [TESTBUG] Move RedefineTests from runtime to serviceability + JDK-8221871: javadoc should not set role=region on
elements + JDK-8221907: make reconfigure breaks when configured with relative paths + JDK-8223543: [TESTBUG] Regression test java/awt/Graphics2D/ /DrawString/LCDTextSrcEa.java has issues + JDK-8223575: add subspace transitions to gc+metaspace=info log lines + JDK-8225122: Test AncestorResized.java fails when Windows desktop is scaled. + JDK-8226976: SessionTimeOutTests uses == operator for String value check + JDK-8230708: Hotspot fails to build on linux-sparc with gcc-9 + JDK-8233712: Limit default tests jobs based on ulimit -u setting + JDK-8235870: C2 crashes in IdealLoopTree::est_loop_flow_merge_sz() + JDK-8236490: Compiler bug relating to @NonNull annotation + JDK-8236823: Ensure that API documentation uses minified libraries + JDK-8238203: Return value of GetUserDefaultUILanguage() should be handled as LANGID + JDK-8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available + JDK-8238196: tests that use SA Attach should not be allowed to run against signed binaries on Mac OS X 10.14.5 and later + JDK-8238586: [TESTBUG] vmTestbase/jit/tiered/Test.java failed when TieredCompilation is disabled + JDK-8239265: JFR: Test cleanup of jdk.jfr.api.consumer package + JDK-8239379: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java on OSX + JDK-8271512: ProblemList serviceability/sa/sadebugd/ /DebugdConnectTest.java due to 8270326 + JDK-8239423: jdk/jfr/jvm/TestJFRIntrinsic.java failed with - XX:-TieredCompilation + JDK-8239902: [macos] Remove direct usage of JSlider, JProgressBar classes in CAccessible class + JDK-8240903: Add test to check that jmod hashes are reproducible + JDK-8242188: error in jtreg test jdk/jfr/api/consumer/ /TestRecordedFrame.java on linux-aarch64 + JDK-8247546: Pattern matching does not skip correctly over supplementary characters + JDK-8247907: XMLDsig logging does not work + JDK-8247964: All log0() in com/sun/org/slf4j/internal/Logger.java should be private + JDK-8249623: test @ignore-d due to 7013634 should be returned back to execution + JDK-8251152: ARM32: jtreg c2 Test8202414 test crash + JDK-8251551: Use .md filename extension for README + JDK-8252145: Unify Info.plist files with correct version strings + JDK-8253829: Wrong length compared in SSPI bridge + JDK-8253916: ResourceExhausted/resexhausted001 crashes on Linux-x64 + JDK-8254178: Remove .hgignore + JDK-8254318: Remove .hgtags + JDK-8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline + JDK-8255729: com.sun.tools.javac.processing.JavacFiler .FilerOutputStream is inefficient + JDK-8257623: vmTestbase/nsk/jvmti/ResourceExhausted/ /resexhausted001/TestDescription.java shouldn't use timeout + JDK-8258946: Fix optimization-unstable code involving signed integer overflow + JDK-8261160: Add a deserialization JFR event + JDK-8262085: Hovering Metal HTML Tooltips in different windows cause IllegalArgExc on Linux + JDK-8264400: (fs) WindowsFileStore equality depends on how the FileStore was constructed + JDK-8264792: The NumberFormat for locale sq_XK formats price incorrectly. + JDK-8265100: (fs) WindowsFileStore.hashCode() should read cached hash code once + JDK-8265531: doc/building.md should mention homebrew install freetype + JDK-8266250: WebSocketTest and WebSocketProxyTest call assertEquals(List, List) + JDK-8266254: Update to use jtreg 6 8265020: tests must be updated for new TestNG module name + JDK-8266460: java.io tests fail on null stream with upgraded jtreg/TestNG + JDK-8266461: tools/jmod/hashes/HashesTest.java fails: static @Test methods 8267180: Typo in copyright header for HashesTest + JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups + JDK-8266675: Optimize IntHashTable for encapsulation and ease of use + JDK-8266774: System property values for stdout/err on Windows UTF-8 + JDK-8266881: Enable debug log for SSLEngineExplorerMatchedSNI.java + JDK-8267271: Fix gc/arguments/TestNewRatioFlag.java expectedNewSize calculation + JDK-8267880: Upgrade the default PKCS12 MAC algorithm + JDK-8268185: Update GitHub Actions for jtreg 6 + JDK-8269039: Disable SHA-1 Signed JARs + JDK-8269517: compiler/loopopts/ /TestPartialPeelingSinkNodes.java crashes with - XX:+VerifyGraphEdges + JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections + JDK-8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java + JDK-8271010: vmTestbase/gc/lock/malloc/malloclock04/ /TestDescription.java crashes intermittently + JDK-8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest + JDK-8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8 + JDK-8272398: Update DockerTestUtils.buildJdkDockerImage() + JDK-8273526: Extend the OSContainer API pids controller with pids.current + JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root + JDK-8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false] + JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend + JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11 + JDK-8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test + JDK-8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled + JDK-8277893: Arraycopy stress tests + JDK-8278067: Make HttpURLConnection default keep alive timeout configurable + JDK-8278344: sun/security/pkcs12/ /KeytoolOpensslInteropTest.java test fails because of different openssl output + JDK-8278519: serviceability/jvmti/FieldAccessWatch/ /FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null" + JDK-8279032: compiler/loopopts/ /TestSkeletonPredicateNegation.java times out with - XX:TieredStopAtLevel < 4 + JDK-8279385: [test] Adjust sun/security/pkcs12/ /KeytoolOpensslInteropTest.java after 8278344 + JDK-8279622: C2: miscompilation of map pattern as a vector reduction + JDK-8280913: Create a regression test for JRootPane.setDefaultButton() method + JDK-8281181: Do not use CPU Shares to compute active processor count + JDK-8281535: Create a regression test for JDK-4670051 + JDK-8281569: Create tests for Frame.setMinimumSize() method + JDK-8281628: KeyAgreement : generateSecret intermittently not resetting + JDK-8281738: Create a regression test for checking the 'Space' key activation of focused Button + JDK-8281745: Create a regression test for JDK-4514331 + JDK-8281988: Create a regression test for JDK-4618767 + JDK-8282214: Upgrade JQuery to version 3.6.0 + JDK-8282234: Create a regression test for JDK-4532513 + JDK-8282280: Update Xerces to Version 2.12.2 + JDK-8282343: Create a regression test for JDK-4518432 + JDK-8282538: PKCS11 tests fail on CentOS Stream 9 + JDK-8282548: Create a regression test for JDK-4330998 + JDK-8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc + JDK-8282789: Create a regression test for the JTree usecase of JDK-4618767 + JDK-8282860: Write a regression test for JDK-4164779 + JDK-8282933: Create a test for JDK-4529616 + JDK-8282947: JFR: Dump on shutdown live-locks in some conditions + JDK-8283015: Create a test for JDK-4715496 + JDK-8283017: GHA: Workflows break with update release versions + JDK-8283087: Create a test or JDK-4715503 + JDK-8283245: Create a test for JDK-4670319 + JDK-8283277: ISO 4217 Amendment 171 Update + JDK-8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int) + JDK-8283493: Create an automated regression test for RFE 4231298 + JDK-8283507: Create a regression test for RFE 4287690 + JDK-8283621: Write a regression test for CCC4400728 + JDK-8283623: Create an automated regression test for JDK-4525475 + JDK-8283624: Create an automated regression test for RFE-4390885 + JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test + JDK-8284898: Enhance PassFailJFrame + JDK-8283849: AsyncGetCallTrace may crash JVM on guarantee + JDK-8283903: GetContainerCpuLoad does not return the correct result in share mode + JDK-8284077: Create an automated test for JDK-4170173 + JDK-8284367: JQuery UI upgrade from 1.12.1 to 1.13.1 + JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception + JDK-8283712: Create a manual test framework class + JDK-8284680: sun.font.FontConfigManager.getFontConfig() leaks charset + JDK-8284694: Avoid evaluating SSLAlgorithmConstraints twice + JDK-8284754: print more interesting env variables in hs_err and VM.info + JDK-8284758: [linux] improve print_container_info + JDK-8284882: SIGSEGV in Node::verify_edges due to compilation bailout + JDK-8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization + JDK-8284950: CgroupV1 detection code should consider memory.swappiness + JDK-8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment + JDK-8285081: Improve XPath operators count accuracy + JDK-8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java + JDK-8285380: Fix typos in security + JDK-8285398: Cache the results of constraint checks + JDK-8285693: Create an automated test for JDK-4702199 + JDK-8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null + JDK-8285728: Alpine Linux build fails with busybox tar + JDK-8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090 + JDK-8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java + JDK-8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure + JDK-8286211: Update PCSC-Lite for Suse Linux to 1.9.5 + JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache + JDK-8286582: Build fails on macos aarch64 when using - -with-zlib=bundled + JDK-8287017: Bump update version for OpenJDK: jdk-11.0.17 + JDK-8287073: NPE from CgroupV2Subsystem.getInstance() + JDK-8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller + JDK-8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event + JDK-8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver + JDK-8287336: GHA: Workflows break on patch versions + JDK-8287366: Improve test failure reporting in GHA + JDK-8287432: C2: assert(tn->in(0) != __null) failed: must have live top node + JDK-8287463: JFR: Disable TestDevNull.java on Windows + JDK-8287663: Add a regression test for JDK-8287073 + JDK-8287672: jtreg test com/sun/jndi/ldap/ /LdapPoolTimeoutTest.java fails intermittently in nightly run + JDK-8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete + JDK-8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes + JDK-8288467: remove memory_operand assert for spilled instructions + JDK-8288754: GCC 12 fails to build zReferenceProcessor.cpp + JDK-8288763: Pack200 extraction failure with invalid size + JDK-8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small + JDK-8288865: [aarch64] LDR instructions must use legitimized addresses + JDK-8288928: Incorrect GPL header in pnglibconf.h (backport of JDK-8185041) + JDK-8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java + JDK-8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc + JDK-8289486: Improve XSLT XPath operators count efficiency + JDK-8289549: ISO 4217 Amendment 172 Update + JDK-8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl + JDK-8289799: Build warning in methodData.cpp memset zero-length parameter + JDK-8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060 + JDK-8290000: Bump macOS GitHub actions to macOS 11 + JDK-8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC + JDK-8290198: Shenandoah: a few Shenandoah tests failure after JDK-8214799 11u backport + JDK-8290246: test fails "assert(init != __null) failed: initialization not found" + JDK-8290813: jdk/nashorn/api/scripting/test/ /ScriptObjectMirrorTest.java fails: assertEquals is ambiguous + JDK-8290886: [11u]: Backport of JDK-8266250 introduced test failures + JDK-8291570: [TESTBUG] Part of JDK-8250984 absent from 11u + JDK-8291713: assert(!phase->exceeding_node_budget()) failed: sanity after JDK-8223389 + JDK-8291794: [11u] Corrections after backport of JDK-8212028 + JDK-8292255: Bump update version for OpenJDK: jdk-11.0.16.1 + JDK-8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large (bsc#1204523) + JDK-8292579: (tz) Update Timezone Data to 2022c + JDK-8292852: [11u] TestMemoryWithCgroupV1 fails after JDK-8292768 + JDK-8295057: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.17 - Modified patch: * fips.patch + sync with newest RedHat version- Package the JAVA_HOME/release files in *-headless package * fixes boo#1203476- Update to upstream tag jdk-11.0.16+8 (July 2022 CPU) * Security fixes: + JDK-8272243: Improve DER parsing + JDK-8272249: Better properties of loaded Properties + JDK-8277608: Address IP Addressing + JDK-8281859, CVE-2022-21540, bsc#1201694: Improve class compilation + JDK-8281866, CVE-2022-21541, bsc#1201692: Enhance MethodHandle invocations + JDK-8283190: Improve MIDI processing + JDK-8284370: Improve zlib usage + JDK-8285407, CVE-2022-34169, bsc#1201684: Improve Xalan supports * Other fixes: + JDK-6986863: ProfileDeferralMgr throwing ConcurrentModificationException + JDK-7124293: [macosx] VoiceOver reads percentages rather than the actual values for sliders. + JDK-7124301: [macosx] When in a tab group if you arrow between tabs there are no VoiceOver announcements. + JDK-8133713: [macosx] Accessible JTables always reported as empty + JDK-8139046: Compiler Control: IGVPrintLevel directive should set PrintIdealGraph + JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn + JDK-8163498: Many long-running security libs tests + JDK-8166727: javac crashed: [jimage.dll+0x1942] ImageStrings::find+0x28 + JDK-8169004: Fix redundant @requires tags in tests + JDK-8181571: printing to CUPS fails on mac sandbox app + JDK-8182404: remove jdk.testlibrary.JDKToolFinder and JDKToolLauncher + JDK-8186548: move jdk.testlibrary.JcmdBase closer to tests + JDK-8192057: com/sun/jdi/BadHandshakeTest.java fails with java.net.ConnectException + JDK-8193682: Infinite loop in ZipOutputStream.close() + JDK-8199874: [TESTBUG] runtime/Thread/ThreadPriorities.java fails with "expected 0 to equal 10" + JDK-8202886: [macos] Test java/awt/MenuBar/8007006/ /bug8007006.java fails on MacOS + JDK-8203238: [TESTBUG] rewrite MemOptions shell test in Java + JDK-8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test + JDK-8206187: javax/management/remote/mandatory/connection/ /DefaultAgentFilterTest.java fails with Port already in use + JDK-8206330: Revisit com/sun/jdi/RedefineCrossEvent.java + JDK-8207364: nsk/jvmti/ResourceExhausted/resexhausted003 fails to start + JDK-8208207: Test nsk/stress/jni/gclocker/gcl001 fails after co-location + JDK-8208246: flags duplications in vmTestbase_vm_g1classunloading tests + JDK-8208249: TriggerUnloadingByFillingMetaspace generates garbage class names + JDK-8208697: vmTestbase/metaspace/stressHierarchy/ /stressHierarchy012/TestDescription.java fails with OutOfMemoryError: Metaspace + JDK-8209150: [TESTBUG] Add logging to verify JDK-8197901 to a different test + JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test + JDK-8209883: ZGC: Compile without C1 broken + JDK-8209920: runtime/logging/RedefineClasses.java fail with OOME with ZGC + JDK-8210022: remove jdk.testlibrary.ProcessThread, TestThread and XRun + JDK-8210039: move OSInfo to top level testlibrary + JDK-8210108: sun/tools/jstatd test build failures after JDK-8210022 + JDK-8210112: remove jdk.testlibrary.ProcessTools + JDK-8210649: AssertionError @ jdk.compiler/com.sun.tools.javac.comp.Modules.enter (Modules.java:244) + JDK-8210732: remove jdk.testlibrary.Utils + JDK-8211795: ArrayIndexOutOfBoundsException in PNGImageReader after JDK-6788458 + JDK-8211822: Some tests fail after JDK-8210039 + JDK-8211962: Implicit narrowing in MacOSX java.desktop jsound + JDK-8212151: jdi/ExclusiveBind.java times out due to "bind failed: Address already in use" on Solaris-X64 + JDK-8213440: Lingering INCLUDE_ALL_GCS in test_oopStorage_parperf.cpp + JDK-8214275: CondyRepeatFailedResolution asserts "Dynamic constant has no fixed basic type" + JDK-8214799: Add package declaration to each JTREG test case in the gc folder + JDK-8215544: SA: Modify ClhsdbLauncher to add sudo privileges to enable MacOS tests on Mach5 + JDK-8216137: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit + JDK-8216265: [testbug] Introduce Platform.sharedLibraryPathVariableName() and adapt all tests. + JDK-8217017: [TESTBUG] Tests fail to compile after JDK-8216265 + JDK-8217233: Update build settings for AIX/xlc + JDK-8217340: Compilation failed: tools/launcher/Test7029048.java + JDK-8217473: SA: Tests using ClhsdbLauncher fail on SAP docker containers + JDK-8218136: minor hotspot adjustments for xlclang++ from xlc16 on AIX + JDK-8218751: Do not store original classfiles inside the CDS archive + JDK-8218965: aix: support xlclang++ in the compiler detection + JDK-8220658: Improve the readability of container information in the error log + JDK-8220813: update hotspot tier1_gc tests depending on GC to use @requires vm.gc.X + JDK-8222799: java.beans.Introspector uses an obsolete methods cache + JDK-8222926: Shenandoah build fails with - -with-jvm-features=-compiler1 + JDK-8223143: Restructure/clean-up for 'loopexit_or_null()'. + JDK-8223363: Bad node estimate assertion failure + JDK-8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate + JDK-8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw + JDK-8223389: Shenandoah optimizations fail with assert(!phase->exceeding_node_budget()) + JDK-8223396: [TESTBUG] several jfr tests do not clean up files created in /tmp + JDK-8225475: Node budget asserts on x86_32/64 + JDK-8227171: provide function names in native stack trace on aix with xlc16 + JDK-8227389: Remove unsupported xlc16 compile options on aix + JDK-8229210: [TESTBUG] Move gc stress tests from JFR directory tree to gc/stress + JDK-8229486: Replace wildcard address with loopback or local host in tests - part 21 + JDK-8229499: Node budget assert in fuzzed test + JDK-8230305: Cgroups v2: Container awareness + JDK-8229202: Docker reporting causes secondary crashes in error handling + JDK-8216366: Add rationale to PER_CPU_SHARES define + JDK-8230865: [TESTBUG] jdk/jfr/event/io/EvilInstrument.java fails at-run shell MakeJAR.sh target + JDK-8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy + JDK-8231454: File lock in Windows on a loaded jar due to a leak in Introspector::getBeanInfo + JDK-8231489: GC watermark_0_1 failed due to "metaspace.gc.Fault: GC has happened too rare" + JDK-8231565: More node budget asserts in fuzzed tests + JDK-8233551: [TESTBUG] SelectEditTableCell.java fails on MacOS + JDK-8234382: Test tools/javac/processing/model/ /testgetallmembers/Main.java using too small heap + JDK-8234605: C2 failed "assert(C->live_nodes() - live_at_begin <= 2 * _nodes_required) failed: Bad node estimate: actual = 208 >> request = 101" + JDK-8234608: [TESTBUG] Fix G1 redefineClasses tests and a memory leak + JDK-8235220: ClhsdbScanOops.java fails with sun.jvm.hotspot.types.WrongTypeException + JDK-8235385: Crash on aarch64 JDK due to long offset + JDK-8237479: 8230305 causes slowdebug build failure + JDK-8239559: Cgroups: Incorrect detection logic on some systems + JDK-8239785: Cgroups: Incorrect detection logic on old systems in hotspot + JDK-8240132: ProblemList com/sun/jdi/InvokeHangTest.java + JDK-8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 + JDK-8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint + JDK-8240734: ModuleHashes attribute not reproducible between builds + JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled + JDK-8241707: introduce randomness k/w to hotspot test suite + JDK-8242310: use reproducible random in hotspot compiler tests + JDK-8242311: use reproducible random in hotspot runtime tests + JDK-8242312: use reproducible random in hotspot gc tests + JDK-8242313: use reproducible random in hotspot svc tests + JDK-8242538: java/security/SecureRandom/ThreadSafe.java failed on windows + JDK-8243429: use reproducible random in :vmTestbase_nsk_stress + JDK-8243666: ModuleHashes attribute generated for JMOD and JAR files depends on timestamps + JDK-8244500: jtreg test error in test/hotspot/jtreg/ /containers/docker/TestMemoryAwareness.java + JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test + JDK-8245543: Cgroups: Incorrect detection logic on some systems (still reproducible) + JDK-8245938: Remove unused print_stack(void) method from XToolkit.c + JDK-8246494: introduce vm.flagless at-requires property + JDK-8246741: NetworkInterface/UniqueMacAddressesTest: mac address uniqueness test failed + JDK-8247589: Implementation of Alpine Linux/x64 Port + JDK-8247591: Document Alpine Linux build steps in OpenJDK build guide + JDK-8247592: refactor test/jdk/tools/launcher/Test7029048.java + JDK-8247614: java/nio/channels/DatagramChannel/Connect.java timed out + JDK-8248876: LoadObject with bad base address created for exec file on linux + JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode + JDK-8252117: com/sun/jdi/BadHandshakeTest.java failed with "ConnectException: Connection refused: connect" + JDK-8252248: __SIGRTMAX is not declared in musl libc + JDK-8252250: isnanf is obsolete + JDK-8252359: HotSpot Not Identifying it is Running in a Container + JDK-8252957: Wrong comment in CgroupV1Subsystem::cpu_quota + JDK-8253435: Cgroup: 'stomping of _mount_path' crash if manually mounted cpusets exist + JDK-8253714: [cgroups v2] Soft memory limit incorrectly using memory.high + JDK-8253727: [cgroups v2] Memory and swap limits reported incorrectly + JDK-8253797: [cgroups v2] Account for the fact that swap accounting is disabled on some systems + JDK-8253872: ArgumentHandler must use the same delimiters as in jvmti_tools.cpp + JDK-8253939: [TESTBUG] Increase coverage of the cgroups detection code + JDK-8254001: [Metrics] Enhance parsing of cgroup interface files for version detection + JDK-8254887: C2: assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop + JDK-8254997: Remove unimplemented OSContainer::read_memory_limit_in_bytes + JDK-8255266: Update Public Suffix List to 3c213aa + JDK-8255604: java/nio/channels/DatagramChannel/Connect.java fails with java.net.BindException: Cannot assign requested address: connect + JDK-8255787: Tag container tests that use cGroups with cgroups keyword + JDK-8256146: Cleanup test/jdk/java/nio/channels/ /DatagramChannel/Connect.java + JDK-8256722: handle VC++:1927 VS2019 in abstract_vm_version + JDK-8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32 + JDK-8258795: Update IANA Language Subtag Registry to Version 2021-05-11 + JDK-8258956: Memory Leak in StringCoding on ThreadLocal resultCached StringCoding.Result + JDK-8259517: Incorrect test path in test cases + JDK-8260518: Change default -mmacosx-version-min to 10.12 + JDK-8261169: Upgrade HarfBuzz to the latest 2.8.0 + JDK-8262379: Add regression test for JDK-8257746 + JDK-8263364: sun/net/www/http/KeepAliveStream/ /KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream + JDK-8263718: unused-result warning happens at os_linux.cpp + JDK-8263856: Github Actions for macos/aarch64 cross-build + JDK-8264179: [TESTBUG] Some compiler tests fail when running without C2 + JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted + JDK-8265297: javax/net/ssl/SSLSession/ /TestEnabledProtocols.java failed with "RuntimeException: java.net.SocketException: Connection reset" + JDK-8265343: Update Debian-based cross-compilation recipes + JDK-8266251: compiler.inlining.InlineAccessors shouldn't do testing in driver VM + JDK-8266318: Switch to macos prefix for macOS bundles + JDK-8266391: Replace use of reflection in jdk.internal.platform.Metrics + JDK-8266545: 8261169 broke Harfbuzz build with gcc 7 and 8 + JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN) + JDK-8269772: [macos-aarch64] test compilation failed with "SocketException: No buffer space available" + JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support + JDK-8270797: ShortECDSA.java test is not complete + JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack + JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key + JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories + JDK-8272358: Some tests may fail when executed with other locales than the US + JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2 + JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security + JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted + JDK-8273176: handle latest VS2019 in abstract_vm_version + JDK-8273655: content-types.properties files are missing some common types + JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches + JDK-8274233: Minor cleanup for ToolBox + JDK-8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image + JDK-8274751: Drag And Drop hangs on Windows + JDK-8275082: Update XML Security for Java to 2.3.0 + JDK-8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions + JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty + JDK-8276657: XSLT compiler tries to define a class with empty name + JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations + JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive + JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element + JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread + JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch + JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge + JDK-8278065: Refactor subclassAudits to use ClassValue + JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils .parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method + JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine + JDK-8278472: Invalid value set to CANDIDATEFORM structure + JDK-8278794: Infinite loop in DeflaterOutputStream.finish() + JDK-8278851: Correct signer logic for jars signed with multiple digestalgs + JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10 + JDK-8279219: [REDO] C2 crash when allocating array of size too large + JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist! + JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT + JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism + JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ /ManySourcesAndTargets.java on macosx-aarch64 + JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/ /NoInvalidateSocketException.java + JDK-8279668: x86: AVX2 versions of vpxor should be asserted + JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region + JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos + JDK-8279958: Provide configure hints for Alpine/apk package managers + JDK-8280041: Retry loop issues in java.io.ClassCache + JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492 + JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang + JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device. + JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination + JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs + JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly + JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info + JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths + JDK-8281615: Deadlock caused by jdwp agent + JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799 + JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder + JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads + JDK-8282225: GHA: Allow one concurrent run per PR only + JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers + JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive + JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86 + JDK-8282382: Report glibc malloc tunables in error reports + JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale + JDK-8282501: Bump update version for OpenJDK: jdk-11.0.16 + JDK-8282583: Update BCEL md to include the copyright notice + JDK-8282588: [11] set harfbuzz compilation flag to -std=c++11 + JDK-8282589: runtime/ErrorHandling/ErrorHandler.java fails on MacOS aarch64 in jdk 11 + JDK-8282887: Potential memory leak in sun.util.locale.provider .HostLocaleProviderAdapterImpl.getNumberPattern() on Windows + JDK-8283018: 11u GHA: Update GCC 9 minor versions + JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c + JDK-8283323: libharfbuzz optimization level results in extreme build times + JDK-8283350: (tz) Update Timezone Data to 2022a + JDK-8283408: Fix a C2 crash when filling arrays with unsafe + JDK-8283420: [AOT] Exclude TrackedFlagTest/NotTrackedFlagTest in 11u because of intermittent java.lang.AssertionError: duplicate classes for name Ljava/lang/Boolean; + JDK-8283424: compiler/loopopts/ /LoopUnswitchingBadNodeBudget.java fails with release VMs due to lack of -XX:+UnlockDiagnosticVMOptions + JDK-8283451: C2: assert(_base == Long) failed: Not a Long + JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak + JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info + JDK-8283614: [11] Repair compiler versions handling after 8233787 + JDK-8283641: Large value for CompileThresholdScaling causes assert + JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate + JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c + JDK-8284094: Memory leak in invoker_completeInvokeRequest() + JDK-8284102: [TESTBUG] [11u] Retroactively add regression test for JDK-8272124 + JDK-8284369: TestFailedAllocationBadGraph fails with - XX:TieredStopAtLevel < 4 + JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer + JDK-8284458: CodeHeapState::aggregate() leaks blob_name + JDK-8284507: GHA: Only check test results if testing was not skipped + JDK-8284549: JFR: FieldTable leaks FieldInfoTable member + JDK-8284573: [11u] ProblemList TestBubbleUpRef.java and TestGCOldWithCMS.java because of 8272195 + JDK-8284604: [11u] Update Boot JDK used in GHA to 11.0.14.1 + JDK-8284620: CodeBuffer may leak _overflow_arena + JDK-8284622: Update versions of some Github Actions used in JDK workflow + JDK-8284756: [11u] Remove unused isUseContainerSupport in CgroupV1Subsystem + JDK-8285395: [JVMCI] [11u] Partial backport of JDK-8220623: InstalledCode + JDK-8285397: JNI exception pending in CUPSfuncs.c:250 + JDK-8285445: cannot open file "NUL:" + JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4 + JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java + JDK-8285591: [11] add signum checks in DSA.java engineVerify + JDK-8285686: Update FreeType to 2.12.0 + JDK-8285720: test/jdk/java/nio/file/Files/probeContentType/ /Basic.java fails to compile after backport of 8273655 + JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head + JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head + JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols + JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java + JDK-8286198: [linux] Fix process-memory information + JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources + JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause + JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups + JDK-8286630: [11] avoid -std=c++11 CXX harfbuzz buildflag on Windows + JDK-8286855: javac error on invalid jar should only print filename + JDK-8287109: Distrust.java failed with CertificateExpiredException + JDK-8287119: Add Distrust.java to ProblemList + JDK-8287362: FieldAccessWatch testcase failed on AIX platform + JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows + JDK-8287739: [11u] ProblemList sun/security/ssl/ /SSLSessionImpl/NoInvalidateSocketException.java- Update to upstream tag jdk-11.0.15+10 (April 2022 CPU) * Security fixes: + JDK-8284920: Incorrect Token type causes XPath expression to return empty result + JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException + JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo + JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character + JDK-8278356: Improve file creation + JDK-8270504, bsc#1198672, CVE-2022-21426: Better Xpath expression handling + JDK-8272594: Better record of recordings + JDK-8277672, bsc#1198674, CVE-2022-21434: Better invocation handler handling + JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972 + JDK-8278972, bsc#1198673, CVE-2022-21496: Improve URL supports + JDK-8272261: Improve JFR recording file processing + JDK-8269938: Enhance XML processing passes redux + JDK-8272255: Completely handle MIDI files + JDK-8278805: Enhance BMP image loading + JDK-8278449: Improve keychain support + JDK-8277227: Better identification of OIDs + JDK-8275151, bsc#1198675, CVE-2022-21443: Improved Object Identification + JDK-8274221: More definite BER encodings + JDK-8278798: Improve supported intrinsic * Other changes: + JDK-8283778: 11u GHA: Fix GCC 9 ubuntu package names + JDK-8283018: 11u GHA: Update GCC 9 minor versions + JDK-8275082, bsc#1198671, CVE-2022-21476: Update XML Security for Java to 2.3.0 + JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods + JDK-8283270: [11u] broken JRT_ENTRY_NO_ASYNC after Backport of JDK-8253795 + JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem + JDK-8277795: ldap connection timeout not honoured under contention + JDK-8276141: XPathFactory set/getProperty method + JDK-8255410: Add ChaCha20 and Poly1305 support to SunPKCS11 provider + JDK-8211333: AArch64: Fix another build failure after JDK-8211029 + JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition + JDK-8261107: ArrayIndexOutOfBoundsException in the ICC_Profile.getInstance(InputStream) + JDK-8282372: [11] build issue on MacOS/aarch64 12.2.1 using Xcode 13.1: call to 'log2_intptr' is ambiguous + JDK-8214004: Missing space between compiler thread name and task info in hs_err + JDK-8250750: JDK-8247515 fix for OSX pc_to_symbol() lookup fails with some symbols + JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022 + JDK-8247515: OSX pc_to_symbol() lookup does not work with core files + JDK-8254085: javax/swing/text/Caret/ /TestCaretPositionJTextPane.java failed with "RuntimeException: Wrong caret position" + JDK-8247272: SA ELF file support has never worked for 64-bit causing address to symbol name mapping to fail + JDK-8233986: ProblemList javax/swing/plaf/basic/BasicTextUI/ /8001470/bug8001470.java for windows-x64 + JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake + JDK-8255239: The timezone of the hs_err_pid log file is corrupted in Japanese locale + JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication + JDK-8254072: AArch64: Get rid of --disable-warnings-as-errors on Windows+ARM64 build + JDK-8262894: [macos_aarch64] SIGBUS in Assembler::ld_st2 + JDK-8266889: [macosx-aarch64] Crash with SIGBUS in MarkActivationClosure::do_code_blob during vmTestbase/nsk/jvmti/.../bi04t002 test run + JDK-8241004: NMT tests fail on unaligned thread size with debug build + JDK-8253795: Implementation of JEP 391: macOS/AArch64 Port + JDK-8280414: Memory leak in DefaultProxySelector + JDK-8280526: x86_32 Math.sqrt performance regression with - XX:UseSSE={0,1} + JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0 + JDK-8281520: JFR: A wrong parameter is passed to the constructor of LeakKlassWriter + JDK-8281599: test/lib/jdk/test/lib/KnownOIDs.java is redundant since JDK-8268801 + JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently + JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames + JDK-8280155: [PPC64, s390] frame size checks are not yet correct + JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks + JDK-8261205: AssertionError: Cannot add metadata to an intersection type + JDK-8277992: Add fast jdk_svc subtests to jdk:tier3 + JDK-8216969: ParseException thrown for certain months with russian locale + JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec + JDK-8264650: Cross-compilation to macos/aarch64 + JDK-8256321: Some "inactive" color profiles use the wrong profile class + JDK-8280999: array_bounds should be array-bounds after 8278507 + JDK-8177814: jdk/editpad is not in jdk TEST.groups + JDK-8279702: [macosx] ignore xcodebuild warnings on M1 + JDK-8280786: Build failure on Solaris after 8262392 + JDK-8218546: Unable to connect to https://google.com using java.net.HttpClient + JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134 + JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16 + JDK-8273277: C2: Move conditional negation into rc_predicate + JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/ /TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost" + JDK-8236210: javac generates wrong annotation for fields generated from record components + JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful + JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor + JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty + JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop + JDK-8275610: C2: Object field load floats above its null check resulting in a segfault + JDK-8266421: Deadlock in Sound System + JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler + JDK-8232533: G1 uses only a single thread for pretouching the java heap + JDK-8273933: [TESTBUG] Test must run without preallocated exceptions + JDK-8268542: serviceability/logging/TestFullNames.java tests only 1st test case + JDK-8251998: remove usage of PropertyResolvingWrapper in vmTestbase/jit/t + JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests + JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests + JDK-8273341: Update Siphash to version 1.0 + JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob + JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected + JDK-8251127: clean up FileInstaller $test.src $cwd in remaining vmTestbase_vm_compiler tests + JDK-8252005: narrow disabling of allowSmartActionArgs in vmTestbase + JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id" + JDK-8193277: SimpleFileObject inconsistency between getName and getShortName + JDK-8225559: assertion error at TransTypes.visitApply + JDK-8220634: SymLinkArchiveTest should handle not being able to create symlinks + JDK-8214026: Canonicalized archive paths appearing in diagnostics + JDK-8251126: nsk.share.GoldChecker should read golden file from ${test.src} + JDK-8237798: rewrite vmTestbase/jit/tiered from shell to java + JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt" + JDK-8210194: [TESTBUG] jvmti_FollowRefObjects.cpp missing initializer for member _jvmtiHeapCallbacks::heap_reference_callback + JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last + JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time + JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows + JDK-8251132: make main classes public in vmTestbase/jit tests + JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/ /bug6364882.java failures + JDK-8273634: [TEST_BUG] Improve javax/swing/text/ /ParagraphView/6364882/bug6364882.java + JDK-8249019: clean up FileInstaller $test.src $cwd in vmTestbase_vm_compiler tests + JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror" + JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest + JDK-8273682: Upgrade Jline to 3.20.0 + JDK-8256154: Some TestNG tests require default constructors + JDK-8237787: rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java + JDK-8223142: Clean-up WS and CB. + JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT + JDK-8278172: java/nio/channels/FileChannel/ /BlockDeviceSize.java should only run on Linux + JDK-8279077: JFR crashes on Linux ppc due to missing crash protector in signal handler + JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers + JDK-8276623: JDK-8275650 accidentally pushed "out" file + JDK-8279379: GHA: Print tests that are in error + JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime + JDK-8274658: ISO 4217 Amendment 170 Update + JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/ /6318524/bug6318524.java never fails + JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for + JDK-8275650: Problemlist java/io/File/createTempFile/ /SpecialTempFile.java for Windows 11 + JDK-8268014: Build failure on SUSE Linux Enterprise Server 11.4 (s390x) due to 'SYS_get_mempolicy' was not declared + JDK-8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default + JDK-8065704: Set LC_ALL=C for all relevant commands in the build system + JDK-8254827: JVMCI: Enable it for Windows+AArch64 + JDK-8276314: [JVMCI] check alignment of call displacement during code installation + JDK-8265150: AsyncGetCallTrace crashes on ResourceMark + JDK-8276177: nsk/jvmti/RedefineClasses/ /StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here" + JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F + JDK-8258554: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F + JDK-8277385: Zero: Enable CompactStrings support + JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx + JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx + JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily + JDK-8278309: [windows] use of uninitialized OSThread::_state + JDK-8202142: jfr/event/io/TestInstrumentation is unstable + JDK-8207793: [TESTBUG] runtime/Metaspace/ /FragmentMetaspace.java fails: heap needs to be increased + JDK-8211170: AArch64: Warnings in C1 and template interpreter + JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated + JDK-8266187: Memory leak in appendBootClassPath() + JDK-8240904: Screen flashes on test failures when running tests from make + JDK-8234930: Use MAP_JIT when allocating pages for code cache on macOS + JDK-8275811: Incorrect instance to dispose + JDK-8186780: clang fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment() + JDK-8266171: -Warray-bounds happens in imageioJPEG.c + JDK-8266170: -Wnonnull happens in classLoaderData.inline.hpp + JDK-8207011: Remove uses of the register storage class specifier + JDK-8266172: -Wstringop-overflow happens in vmError.cpp + JDK-8274714: Incorrect verifier protected access error message + JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure + JDK-8214761: Bug in parallel Kahan summation implementation + JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong + JDK-8255035: Update BCEL to Version 6.5.0 + JDK-8257769: Cipher.getParameters() throws NPE for ChaCha20-Poly1305 + JDK-8233827: Enable screenshots in the enhanced failure handler on Linux/macOS + JDK-8210236: Prepare ciReceiverTypeData::translate_receiver_data_from for concurrent class unloading + JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/ /bug6302464.java fails on macOS12 + JDK-8199079: Test javax/swing/UIDefaults/6302464/ /bug6302464.java is unstable + JDK-8256373: [Windows/HiDPI] The Frame#setBounds does not work in a minimized state + JDK-8274523: java/lang/management/MemoryMXBean/ /MemoryTest.java test should handle Shenandoah + JDK-8208074: [TESTBUG] vmTestbase/nsk/jvmti/RedefineClasses/ /StressRedefineWithoutBytecodeCorruption/TestDescription.java failed with NullPointerException + JDK-8266168: -Wmaybe-uninitialized happens in check_code.c + JDK-8266174: -Wmisleading-indentation happens in libmlib_image sources + JDK-8251558: J2DBench should support shaped and translucent windows + JDK-8254940: AArch64: Cleanup non-product thread members + JDK-8266173: -Wmaybe-uninitialized happens in jni_util.c + JDK-8263185: Mallinfo deprecated in glibc 2.33 + JDK-8257467: [TESTBUG] -Wdeprecated-declarations is reported at sigset() in exesigtest.c + JDK-8266176: -Wmaybe-uninitialized happens in libArrayIndexOutOfBoundsExceptionTest.c + JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp + JDK-8222825: ARM32 SIGILL issue on single core CPU (not supported PLDW instruction) + JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly + JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + JDK-8272345: macos doesn't check `os::set_boot_path()` result + JDK-8277796: Bump update version for OpenJDK: jdk-11.0.15 - Modified patch: * fips.patch + rediff to changed context- Stop adding the JavaEE modules when building for Factory- Update to upstream tag jdk-11.0.14.1+1 * Changes: + JDK-8280786: Build failure on Solaris after 8262392 + JDK-8218546: Unable to connect to https://google.com using java.net.HttpClient + JDK-8281324: Bump update version for OpenJDK: jdk-11.0.14.1- Update to upstream tag jdk-11.0.14+9 (January 2022 CPU) * New features + JDK-8248238: Implementation: JEP 388: Windows AArch64 Support * Security fixes + JDK-8217375: jarsigner breaks old signature with long lines in manifest + JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside + JDK-8264934, CVE-2022-21248, bnc#1194926: Enhance cross VM serialization + JDK-8268488: More valuable DerValues + JDK-8268494: Better inlining of inlined interfaces + JDK-8268512: More content for ContentInfo + JDK-8268795: Enhance digests of Jar files + JDK-8268801: Improve PKCS attribute handling + JDK-8268813, CVE-2022-21283, bnc#1194937: Better String matching + JDK-8269151: Better construction of EncryptedPrivateKeyInfo + JDK-8269944: Better HTTP transport redux + JDK-8270386, CVE-2022-21291, bsc#1194925: Better verification of scan methods + JDK-8270392, CVE-2022-21293, bsc#1194935: Improve String constructions + JDK-8270416, CVE-2022-21294, bsc#1194934: Enhance construction of Identity maps + JDK-8270492, CVE-2022-21282, bsc#1194933: Better resolution of URIs + JDK-8270498, CVE-2022-21296, bsc#1194932: Improve SAX Parser configuration management + JDK-8270646, CVE-2022-21299, bsc#1194931: Improved scanning of XML entities + JDK-8270952, CVE-2022-21277, bsc#1194930: Improve TIFF file handling + JDK-8271962: Better TrueType font loading + JDK-8271968: Better canonical naming + JDK-8271987: Manifest improved manifest entries + JDK-8272014, CVE-2022-21305, bsc#1194939: Better array indexing + JDK-8272026, CVE-2022-21340, bsc#1194940: Verify Jar Verification + JDK-8272236, CVE-2022-21341, bsc#1194941: Improve serial forms for transport + JDK-8272272: Enhance jcmd communication + JDK-8272462: Enhance image handling + JDK-8273290: Enhance sound handling + JDK-8273756, CVE-2022-21360, bsc#1194929: Enhance BMP image support + JDK-8273838, CVE-2022-21365, bsc#1194928: Enhanced BMP processing + JDK-8274096, CVE-2022-21366, bsc#1194927: Improve decoding of image files + JDK-8279541: Improve HarfBuzz * Other changes + JDK-6849922: java/awt/Choice/ChoiceKeyEventReaction/ /ChoiceKeyEventReaction.html fails + JDK-7105119: [TEST_BUG] [macosx] In test UIDefaults.toString() must be called with the invokeLater() + JDK-7151826: [TEST_BUG] [macosx] The test javax/swing/JPopupMenu/4966112/bug4966112.java not for mac + JDK-7179006: [macosx] Print-to-file doesn't work: printing to the default printer instead + JDK-8015602: [macosx] Test javax/swing/SpringLayout/4726194/ /bug4726194.java fails on MacOSX + JDK-8034084: nsk.nsk/jvmti/ThreadStart/threadstart003 Wrong number of thread end events + JDK-8039261: [TEST_BUG]: There is not a minimal security level in Java Preferences and the TestApplet.html is blocked. + JDK-8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/ /AltTabCrashTest.java fails with exception + JDK-8075909: [TEST_BUG] The regression-swing case failed as it does not have the 'Open' button when select 'subdir' folder with NimbusLAF + JDK-8078219: Verify lack of @test tag in files in java/net test directory + JDK-8080569: java/lang/ProcessBuilder/DestroyTest.java fails with "RuntimeException: Process terminated prematurely" + JDK-8081652: [TESTBUG] java/lang/management/ThreadMXBean/ /ThreadMXBeanStateTest.java timed out intermittently + JDK-8129310: java/net/Socket/asyncClose/AsyncClose.java fails intermittently + JDK-8131745: java/lang/management/ThreadMXBean/ /AllThreadIds.java still fails intermittently + JDK-8136517: [macosx] Test java/awt/Focus/8073453/ /AWTFocusTransitionTest.java fails on MacOSX + JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/ /4251579/bug4251579.java failure due to timing + JDK-8143021: [TEST_BUG] Test javax/swing/JColorChooser/ /Test6541987.java fails + JDK-8159597: [TEST_BUG] closed/javax/swing/JPopupMenu/4760494/ /bug4760494.java leaves key pressed + JDK-8159904: [TEST_BUG] Failure on solaris of java/awt/Window/MultiWindowApp/MultiWindowAppTest.java + JDK-8163086: java/awt/Window/TranslucentJAppletTest/ /TranslucentJAppletTest.java fails + JDK-8165828: [TEST_BUG] The reg case: javax/swing/plaf/metal/ /MetalIcons/MetalHiDPIIconsTest.java failed as No Metal Look and Feel + JDK-8169953: JComboBox/8057893: ComboBoxEdited event is not fired! on Windows + JDK-8169954: JFileChooser/8021253: java.lang.RuntimeException: Default button is not pressed + JDK-8169959: javax/swing/JTable/6263446/bug6263446.java: Table should be editing + JDK-8171381: [TEST_BUG] [macos] javax/swing/JPopupMenu/ /7156657/bug7156657.java fails on OS X + JDK-8171998: javax/swing/JMenu/4692443/bug4692443.java fails on Windows + JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently + JDK-8179880: Refactor javax/security shell tests to plain java tests + JDK-8180568: Refactor javax/crypto shell tests to plain java tests + JDK-8180569: Refactor sun/security/krb5/ shell tests to plain java tests + JDK-8180571: Refactor sun/security/pkcs11 shell tests to plain java tests and fix failures + JDK-8180573: Refactor sun/security/tools shell tests to plain java tests + JDK-8187649: ArrayIndexOutOfBoundsException in java.util.JapaneseImperialCalendar + JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream + JDK-8195703: BasicJDWPConnectionTest.java: 'App exited unexpectedly with 2' + JDK-8196096: javax/swing/JPopupMenu/6580930/bug6580930.java fails + JDK-8197560: test javax/swing/JTree/8003400/Test8003400.java fails + JDK-8197800: Test java/awt/Focus/NonFocusableWindowTest/ /NoEventsTest.java fails on Windows + JDK-8197811: Test java/awt/Choice/PopupPosTest/ /PopupPosTest.java fails on Windows + JDK-8198616: java/awt/Focus/6378278/InputVerifierTest.java fails on mac + JDK-8198617: java/awt/Focus/6382144/EndlessLoopTest.java fails on mac + JDK-8198619: java/awt/Focus/FocusTraversalPolicy/ /ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java fails on mac + JDK-8198623: java/awt/KeyboardFocusmanager/TypeAhead/ /EnqueueWithDialogButtonTest/EnqueueWithDialogButtonTest.java fails on mac + JDK-8198624: java/awt/KeyboardFocusmanager/TypeAhead/ /SubMenuShowTest/SubMenuShowTest.html fails on mac + JDK-8199138: Add RISC-V support to Zero + JDK-8199529: javax/swing/text/Utilities/8142966/ /SwingFontMetricsTest.java fails on windows + JDK-8201224: Make string buffer size dynamic in mlvmJvmtiUtils.c + JDK-8202342: [Graal] fromTonga/nsk/jvmti/unit/ /FollowReferences/followref003/TestDescription.java fails with "Location mismatch" errors + JDK-8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception + JDK-8206085: Refactor langtools/tools/javac/versions/Versions.java + JDK-8207936: TestZipFile failed with java.lang.AssertionError exception + JDK-8208242: Add @requires to vmTestbase/gc/g1 tests + JDK-8209611: use C++ compiler for hotspot tests + JDK-8210182: Remove macros for C compilation from vmTestBase but non jvmti + JDK-8210198: Clean up JNI_ENV_ARG for vmTestbase/jvmti/Get[A-F] tests + JDK-8210205: build fails on AIX in hotspot cpp tests (for example getstacktr001.cpp) + JDK-8210242: [TESTBUG] vmTestbase/nsk/stress/jni/ /jnistress001.java crashes with EXCEPTION_ACCESS_VIOLATION on windows-x86 + JDK-8210353: Move java/util/Arrays/TimSortStackSize2.java back to tier1 + JDK-8210385: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[A-N] tests + JDK-8210392: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit + JDK-8210395: Add doc to SecurityTools.java + JDK-8210429: Clean up JNI_ENV_ARG for vmTestbase/jvmti/Get[G-Z] tests + JDK-8210481: Remove #ifdef cplusplus from vmTestbase + JDK-8210593: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[N-R] tests + JDK-8210665: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[R-U] tests + JDK-8210689: Remove the multi-line old C style for string literals + JDK-8210700: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti/unit tests + JDK-8210726: Fix up a few minor nits forgotten by JDK-8210665 + JDK-8210920: Native C++ tests are not using CXXFLAGS + JDK-8210984: [TESTBUG] hs203t003 fails with "# ERROR: hs203t003.cpp, 218: NSK_CPP_STUB2 ( ResumeThread, jvmti, thread)" + JDK-8211036: Remove the NSK_STUB macros from vmTestbase for non jvmti + JDK-8211131: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[G-I]* + JDK-8211148: var in implicit lambdas shouldn't be accepted for source < 11 + JDK-8211171: move JarUtils to top-level testlibrary + JDK-8211227: Inconsistent TLS protocol version in debug output + JDK-8211261: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[A-G]* + JDK-8211432: [REDO] Handle JNIGlobalRefLocker.cpp + JDK-8211782: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[I-S]* + JDK-8211801: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[A-E] + JDK-8211899: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[E-M] + JDK-8211905: Remove multiple casts for EM06 file + JDK-8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI) + JDK-8212082: Remove the NSK_CPP_STUB macros for remaining vmTestbase/jvmti/[sS]* + JDK-8212083: Handle remaining gc/lock native code and fix two strings + JDK-8212148: Remove remaining NSK_CPP_STUBs + JDK-8213110: Remove the use of applets in automatic tests + JDK-8213189: Make restricted headers in HTTP Client configurable and remove Date by default + JDK-8213263: fix legal headers in test/langtools + JDK-8213296: Fix legal headers in test/jdk/java/net + JDK-8213301: Fix legal headers in jdk logging tests + JDK-8213305: Fix legal headers in test/java/math + JDK-8213306: Fix legal headers in test/java/nio + JDK-8213328: Update test copyrights in test/java/util/zip and test/jdk/tools + JDK-8213330: Fix legal headers in i18n tests + JDK-8213707: [TEST] vmTestbase/nsk/stress/except/ /except011.java failed due to wrong class name + JDK-8214469: [macos] PIT: java/awt/Choice/ /ChoiceKeyEventReaction/ChoiceKeyEventReaction.java fails + JDK-8215410: Regression test for JDK-8214994 + JDK-8215568: Refactor SA clhsdb tests to use ClhsdbLauncher + JDK-8215624: Add parallel heap iteration for jmap \u2013histo + JDK-8215889: assert(!_unloading) failed: This oop is not available to unloading class loader data with ZGC + JDK-8216318: The usage of Disposer in the java.awt.Robot can be deleted + JDK-8216417: cleanup of IPv6 scope-id handling + JDK-8217377: javax/swing/JPopupMenu/6583251/bug6583251.java failed with UnsupportedOperation exception + JDK-8217438: Adapt tools//launcher/Test7029048.java for AIX + JDK-8217633: Configurable extensions with system properties + JDK-8217882: java/net/httpclient/MaxStreams.java failed once + JDK-8217903: java/net/httpclient/Response204.java fails with 404 + JDK-8218483: Crash in "assert(_daemon_threads_count->get_value() > daemon_count) failed: thread count mismatch 5 : 5" + JDK-8219986: Change to Xcode 10.1 for building on Macosx at Oracle + JDK-8220575: Correctly format test URI's that contain a retrieved IPv6 address + JDK-8221259: New tests for java.net.Socket to exercise long standing behavior + JDK-8221305: java/awt/FontMetrics/MaxAdvanceIsMax.java fails on MacOS + Solaris + JDK-8221902: PIT: javax/swing/JRadioButton/FocusTraversal/ /FocusTraversal.java fails on ubuntu + JDK-8221903: PIT: javax/swing/RepaintManager/IconifyTest/ /IconifyTest.java fails on ubuntu18.04 + JDK-8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ + JDK-8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'. + JDK-8223138: Small clean-up in loop-tree support. + JDK-8223139: Rename mandatory policy-do routines. + JDK-8223140: Clean-up in 'ok_to_convert()' + JDK-8223141: Change (count) suffix _ct into _cnt. + JDK-8223400: Replace some enums with static const members in hotspot/runtime + JDK-8223658: Performance regression of XML.validation in 13-b19 + JDK-8223923: C2: Missing interference with mismatched unsafe accesses + JDK-8224829: AsyncSSLSocketClose.java has timing issue + JDK-8225083: Remove Google certificate that is expiring in December 2021 + JDK-8226514: Replace wildcard address with loopback or local host in tests - part 17 + JDK-8226943: compile error in libfollowref003.cpp with XCode 10.2 on macosx + JDK-8228442: DHKeyExchange/LegacyDHEKeyExchange.java failed due to "SSLException: An established connection was aborted by the software in your host machine" + JDK-8228508: [TESTBUG] java/net/httpclient/SmokeTest.java fails on Windows7 + JDK-8229935: [TEST_BUG]: bug8132119.java inconsistently positions text + JDK-8230019: [REDO] compiler/types/correctness/* tests fail with "assert(recv == __null || recv->is_klass()) failed: wrong type" + JDK-8230067: Add optional automatic retry when running jtreg tests + JDK-8230228: [TESTBUG] Several runtime/ErrorHandling tests may fail on some platforms + JDK-8231501: VM crash in MethodData::clean_extra_data(CleanExtraDataClosure*): fatal error: unexpected tag 99 + JDK-8233403: Improve verbosity of some httpclient tests + JDK-8233550: [TESTBUG] JTree tests fail regularly on MacOS + JDK-8233552: [TESTBUG] JTable Test bug7068740.java fails on MacOS + JDK-8233553: [TESTBUG] JSpinner test bug4973721.java fails on MacOS + JDK-8233555: [TESTBUG] JRadioButton tests failing on MacoS + JDK-8233556: [TESTBUG] JPopupMenu tests fail on MacOS + JDK-8233559: [TESTBUG] TestNimbusOverride.java is failing on macos + JDK-8233560: [TESTBUG] ToolTipManager/Test6256140.java is failing on macos + JDK-8233561: [TESTBUG] Swing text test bug8014863.java fails on macos + JDK-8233562: [TESTBUG] Swing StyledEditorKit test bug4506788.java fails on MacOS + JDK-8233564: [TESTBUG] MouseComboBoxTest.java is failing + JDK-8233566: [TESTBUG] KeyboardFocusManager tests failing on MacoS + JDK-8233567: [TESTBUG] FocusSubRequestTest.java fails on macos + JDK-8233569: [TESTBUG] JTextComponent test bug6361367.java fails on macos + JDK-8233570: [TESTBUG] HTMLEditorKit test bug5043626.java is failing on macos + JDK-8233634: [TESTBUG] Swing text test bug4278839.java fails on macos + JDK-8233635: [TESTBUG] ProgressMonitorEscapeKeyPress.java fails on macos + JDK-8233637: [TESTBUG] Swing ActionListenerCalledTwiceTest.java fails on macos + JDK-8233638: [TESTBUG] Swing test ScreenMenuBarInputTwice.java fails on macos + JDK-8233641: [TESTBUG] JMenuItem test bug4171437.java fails on macos + JDK-8233642: [TESTBUG] JMenuBar test bug 4750590.java fails on macos + JDK-8233643: [TESTBUG] JMenu test bug4515762.java fails on macos + JDK-8233644: [TESTBUG] JInternalFrame test bug8020708.java is failing on macos + JDK-8233647: [TESTBUG] JColorChooser/Test8051548.java is failing on macos + JDK-8234802: [TESTBUG] Test Right Mouse Button Drag Gesture Recognition in all the platforms + JDK-8234823: java/net/Socket/Timeouts.java testcase testTimedConnect2() fails on Windows 10 + JDK-8235784: java/lang/invoke/VarHandles/ /VarHandleTestByteArrayAsInt.java fails due to timeout with fastdebug bits + JDK-8236042: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -Xcomp -XX:TieredStopAtLevel=1 + JDK-8236177: assert(status == 0) failed: error ETIMEDOUT(60), cond_wait + JDK-8236596: HttpClient leaves HTTP/2 sockets in CLOSE_WAIT, when using proxy tunnel + JDK-8237354: Add option to jcmd to write a gzipped heap dump + JDK-8237589: Fix copyright header formatting + JDK-8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version + JDK-8239334: Tab Size does not work correctly in JTextArea with setLineWrap on + JDK-8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled + JDK-8239827: The test OpenByUNCPathNameTest.java should be changed to be manual + JDK-8240256: Better resource cleaning for SunPKCS11 Provider + JDK-8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server + JDK-8242526: PIT: javax/swing/JInternalFrame/8020708/ /bug8020708.java fails in mach5 ubuntu system + JDK-8242793: Incorrect copyright header in ContinuousCallSiteTargetChange.java + JDK-8243543: jtreg test security/infra/java/security/cert/ /CertPathValidator/certification/BuypassCA.java fails + JDK-8244292: Headful clients failing with - -illegal-access=deny + JDK-8245147: Refactor and improve utility of test/langtools/tools/javac/versions/Versions.java + JDK-8245165: Update bug id for javax/swing/text/StyledEditorKit/4506788/bug4506788.java in ProblemList + JDK-8245665: Test WeakAlg.java should only make sure no warning for weak signature algorithms by keytool on root CA + JDK-8246114: java/net/MulticastSocket/Promiscuous.java fails after 8241072 (multi-homed systems) + JDK-8246807: Incorrect copyright header in TimeZoneDatePermissionCheck.sh + JDK-8247403: JShell: No custom input (e.g. from GUI) possible with JavaShellToolBuilder + JDK-8247510: typo in IllegalHandshakeMessage + JDK-8248187: [TESTBUG] javax/swing/plaf/basic/ /BasicGraphicsUtils/8132119/bug8132119.java fails with String is not properly drawn + JDK-8248341: ProblemList java/lang/management/ThreadMXBean/ /ThreadMXBeanStateTest.java + JDK-8248500: AArch64: Remove the r18 dependency on Windows AArch64 + JDK-8248899: security/infra/java/security/cert/ /CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked + JDK-8249195: Change to Xcode 11.3.1 for building on Macos at Oracle + JDK-8250521: Configure initial RTO to use minimal retry for loopback connections on Windows + JDK-8250810: Push missing parts of JDK-8248817 + JDK-8250839: Improve test template SSLEngineTemplate with SSLContextTemplate + JDK-8250863: Build error with GCC 10 in NetworkInterface.c and k_standard.c + JDK-8250888: nsk/jvmti/scenarios/general_functions/GF08/ /gf08t001/TestDriver.java fails + JDK-8251155: HostIdentifier fails to canonicalize hostnames starting with digits + JDK-8251377: [macos11] JTabbedPane selected tab text is barely legible + JDK-8251570: JDK-8215624 causes assert(worker_id < _n_workers) failed: Invalid worker_id + JDK-8251930: AArch64: Native types mismatch in hotspot + JDK-8252049: Native memory leak in ciMethodData ctor + JDK-8252051: Make mlvmJvmtiUtils strncpy uses GCC 10.x friendly + JDK-8252114: Windows-AArch64: Enable and test ZGC and ShenandoahGC + JDK-8253015: Aarch64: Move linux code out from generic CPU feature detection + JDK-8253147: The javax/swing/JPopupMenu/7154841/bug7154841.java fail on big screens + JDK-8253497: Core Libs Terminology Refresh + JDK-8253682: The AppletInitialFocusTest1.java is unstable + JDK-8253763: ParallelObjectIterator should have virtual destructor + JDK-8253866: Security Libs Terminology Refresh + JDK-8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY" + JDK-8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface + JDK-8255264: Support for identifying the full range of IPv4 localhost addresses on Windows + JDK-8255716: AArch64: Regression: JVM crashes if manually offline a core + JDK-8255722: Create a new test for rotated blit + JDK-8256009: Remove src/hotspot/share/adlc/Test/i486.ad + JDK-8256066: Tests use deprecated TestNG API that is no longer available in new versions + JDK-8256152: tests fail because of ambiguous method resolution + JDK-8256182: Update qemu-debootstrap cross-compilation recipe + JDK-8256201: java/awt/FullScreen/FullscreenWindowProps/ /FullscreenWindowProps.java failed + JDK-8256202: Some tweaks for jarsigner tests PosixPermissionsTest and SymLinkTest + JDK-8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font + JDK-8256956: RegisterImpl::max_slots_per_register is incorrect on AMD64 + JDK-8258457: testlibrary_tests/ctw/JarDirTest.java fails with InvalidPathException on windows + JDK-8258855: Two tests sun/security/krb5/auto/ /ReplayCacheTestProc.java and ReplayCacheTestProcWithMD5.java failed on OL8.3 + JDK-8259237: Demo selection changes with left/right arrow key. No need to press space for selection. + JDK-8260571: Add PrintMetaspaceStatistics to print metaspace statistics upon VM exit + JDK-8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard + JDK-8261036: Reduce classes loaded by CleanerFactory initialization + JDK-8261071: AArch64: Refactor interpreter native wrappers + JDK-8261075: Create stubRoutines.inline.hpp with SafeFetch implementation + JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled + JDK-8261297: NMT: Final report should use scale 1 + JDK-8261661: gc/stress/TestReclaimStringsLeaksMemory.java fails because Reserved memory size is too big + JDK-8261916: gtest/GTestWrapper.java vmErrorTest.unimplemented1_vm_assert failed + JDK-8262438: sun/security/ssl/SSLLogger/ /LoggingFormatConsistency.java failed with "SocketException: Socket is closed" + JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print" + JDK-8262844: (fs) FileStore.supportsFileAttributeView might return false negative in case of ext3 + JDK-8263059: security/infra/java/security/cert/ /CertPathValidator/certification/ComodoCA.java fails due to revoked cert + JDK-8263068: Rename safefetch.hpp to safefetch.inline.hpp + JDK-8263303: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint + JDK-8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify + JDK-8263773: Reenable German localization for builds at Oracle + JDK-8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method" + JDK-8264526: javax/swing/text/html/parser/Parser/8078268/ /bug8078268.java timeout + JDK-8264824: java/net/Inet6Address/B6206527.java doesn't close ServerSocket properly + JDK-8265019: Update tests for additional TestNG test permissions + JDK-8265173: [test] divert spurious log output away from stream under test in ProcessBuilder Basic test + JDK-8265524: Upgrading JSZip from v3.2.2 to v3.6.0 + JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java + JDK-8266579: Update test/jdk/java/lang/ProcessHandle/ /PermissionTest.java & test/jdk/java/sql/testng/util/ /TestPolicy.java + JDK-8266949: Check possibility to disable OperationTimedOut on Unix + JDK-8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines + JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl + JDK-8267304: Bump global JTReg memory limit to 768m + JDK-8267652: c2 loop unrolling by 8 results in reading memory past array + JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected + JDK-8268093: Manual Testcase: "sun/security/krb5/config/ /native/TestDynamicStore.java" Fails with NPE + JDK-8268555: Update HttpClient tests that use ITestContext to jtreg 6+1 + JDK-8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only + JDK-8269034: AccessControlException for SunPKCS11 daemon threads + JDK-8269426: Rename test/jdk/java/lang/invoke/t8150782 to accessClassAndFindClass + JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events + JDK-8269656: The test test/langtools/tools/javac/versions/ /Versions.java has duplicate test cycles + JDK-8269768: JFR Terminology Refresh + JDK-8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked + JDK-8269984: [macos] JTabbedPane title looks like disabled + JDK-8269993: [Test]: java/net/httpclient/ /DigestEchoClientSSL.java contains redundant @run tags + JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS + JDK-8270216: [macOS] Update named used for Java run loop mode + JDK-8270280: security/infra/java/security/cert/ /CertPathValidator/certification/LetsEncryptCA.java OCSP response error + JDK-8270290: NTLM authentication fails if HEAD request is used + JDK-8270317: Large Allocation in CipherSuite + JDK-8270344: Session resumption errors + JDK-8270517: Add Zero support for LoongArch + JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS + JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling + JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected" + JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop + JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java + JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity + JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling + JDK-8271560: sun/security/ssl/DHKeyExchange/ /LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine" + JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions + JDK-8272180: Upgrade JSZip from v3.6.0 to v3.7.1 + JDK-8272181: Windows-AArch64:Backport fix of `Backtracing broken on PAC enabled systems` + JDK-8272316: Wrong Boot JDK help message in 11 + JDK-8272318: Improve performance of HeapDumpAllTest + JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/ /PageDialogMarginTest.java catches all exceptions + JDK-8272570: C2: crash in PhaseCFG::global_code_motion + JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late + JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182 + JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/ /security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled + JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit + JDK-8272783: Epsilon: Refactor tests to improve performance + JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed + JDK-8272828: Add correct licenses to jszip.md + JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests + JDK-8272850: Drop zapping values in the Zap* option descriptions + JDK-8272902: Bump update version for OpenJDK: jdk-11.0.14 + JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups + JDK-8272966: test/jdk/java/awt/Robot/FlushCurrentEvent.java fails by timeout + JDK-8273026: Slow LoginContext.login() on multi threading application + JDK-8273229: Update OS detection code to recognize Windows Server 2022 + JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit + JDK-8273308: PatternMatchTest.java fails on CI + JDK-8273314: Add tier4 test groups + JDK-8273342: Null pointer dereference in classFileParser.cpp:2817 + JDK-8273358: macOS Monterey does not have the font Times needed by Serif + JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero + JDK-8273498: compiler/c2/Test7179138_1.java timed out + JDK-8273541: Cleaner Thread creates with normal priority instead of MAX_PRIORITY - 2 + JDK-8273547: [11u] [JVMCI] Partial module-info.java backport of JDK-8223332 + JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch + JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher + JDK-8273671: Backport of 8260616 misses one JNF header inclusion removal + JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem + JDK-8273795: Zero SPARC64 debug builds fail due to missing interpreter fields + JDK-8273826: Correct Manifest file name and NPE checks + JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral + JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add() + JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character + JDK-8273968: JCK javax_xml tests fail in CI + JDK-8274056: JavaAccessibilityUtilities leaks JNI objects + JDK-8274083: Update testing docs to mention tiered testing + JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated + JDK-8274326: [macos] Ensure initialisation of sun/lwawt/ /macosx/CAccessibility in JavaComponentAccessibility.m + JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern + JDK-8274381: missing CAccessibility definitions in JNI code + JDK-8274407: (tz) Update Timezone Data to 2021c + JDK-8274467: TestZoneInfo310.java fails with tzdata2021b + JDK-8274468: TimeZoneTest.java fails with tzdata2021b + JDK-8274522: java/lang/management/ManagementFactory/ /MXBeanException.java test fails with Shenandoah + JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287 + JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform + JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST + JDK-8274840: Update OS detection code to recognize Windows 11 + JDK-8274860: gcc 10.2.1 produces an uninitialized warning in sharedRuntimeTrig.cpp + JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag + JDK-8275131: Exceptions after a touchpad gesture on macOS + JDK-8275713: TestDockerMemoryMetrics test fails on recent runc + JDK-8275766: (tz) Update Timezone Data to 2021e + JDK-8275849: TestZoneInfo310.java fails with tzdata2021e + JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance + JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test + JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32 + JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point + JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766 + JDK-8276550: Use SHA256 hash in build.tools.depend.Depend + JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie + JDK-8276854: Windows GHA builds fail due to broken Cygwin + JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes + JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE + JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint + JDK-8277815: Fix mistakes in legal header backports - Removed patch: * riscv64-zero.patch + integrated upstream - Modified patch: * fips.patch + rediff to changed context- Modified patch: * fips.patch + return in native code after generating java.io.IOException- Modified patches: * system-crypto-policy.patch + rediff to changed context * fips.patch + Allow plain key import in fips mode unless com.suse.fips.plainKeySupport is set to false- Update to upstream tag jdk-11.0.13+8 (October 2021 CPU) * Security fixes + JDK-8163326, CVE-2021-35550, bsc#1191901: Update the default enabled cipher suites preference + JDK-8254967, CVE-2021-35565, bsc#1191909: com.sun.net.HttpsServer spins on TLS session close + JDK-8263314: Enhance XML Dsig modes + JDK-8265167, CVE-2021-35556, bsc#1191910: Richer Text Editors + JDK-8265574: Improve handling of sheets + JDK-8265580, CVE-2021-35559, bsc#1191911: Enhanced style for RTF kit + JDK-8265776: Improve Stream handling for SSL + JDK-8266097, CVE-2021-35561, bsc#1191912: Better hashing support + JDK-8266103: Better specified spec values + JDK-8266109: More Resilient Classloading + JDK-8266115: More Manifest Jar Loading + JDK-8266137, CVE-2021-35564, bsc#1191913: Improve Keystore integrity + JDK-8266689, CVE-2021-35567, bsc#1191903: More Constrained Delegation + JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic + JDK-8267712: Better LDAP reference processing + JDK-8267729, CVE-2021-35578, bsc#1191904: Improve TLS client handshaking + JDK-8267735, CVE-2021-35586, bsc#1191914: Better BMP support + JDK-8268193: Improve requests of certificates + JDK-8268199: Correct certificate requests + JDK-8268205: Enhance DTLS client handshake + JDK-8268506: More Manifest Digests + JDK-8269618, CVE-2021-35603, bsc#1191906: Better session identification + JDK-8269624: Enhance method selection support + JDK-8270398: Enhance canonicalization + JDK-8270404: Better canonicalization * Other changes + JDK-8024368: private methods are allocated vtable indices + JDK-8042902: Test java/net/Inet6Address/serialize/ /Inet6AddressSerializationTest.java fails intermittently + JDK-8140466: ChaCha20 and Poly1305 TLS Cipher Suites + JDK-8157404: Unable to read certain PKCS12 keystores from SequenceInputStream + JDK-8158066: SourceDebugExtensionTest fails to rename file + JDK-8168304: Make all of DependencyContext_test available in product mode + JDK-8169246: java/net/DatagramSocket/ReportSocketClosed.java fails intermittently with BindException + JDK-8181313: SA: Remove libthread_db dependency on Linux + JDK-8193214: Incorrect annotations.without.processors warnings with JDK 9 + JDK-8194230: jdk/internal/jrtfs/remote/ /RemoteRuntimeImageTest.java fails with java.lang.NullPointerException + JDK-8196092: javax/swing/JComboBox/8032878/bug8032878.java fails + JDK-8199931: java/net/MulticastSocket/ /UnreferencedMulticastSockets.java fails with "incorrect data received" + JDK-8206083: Make tools/javac/api/T6265137.java robust to JDK version changes + JDK-8206350: java/util/Locale/bcp47u/SystemPropertyTests.java failed on Mac 10.13 with zh_CN and zh_TW locales. + JDK-8207316: java/nio/channels/spi/SelectorProvider/ /inheritedChannel/InheritedChannelTest.java failed + JDK-8208227: tools/jdeps/DotFileTest.java fails on Win-X64 + JDK-8208363: test/jdk/java/lang/Package/ /PackageFromManifest.java missing module dependencies declaration + JDK-8209380: ARM: cleanup maybe-uninitialized and reorder compiler warnings + JDK-8209768: Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test + JDK-8209772: Refactor shell test java/util/ServiceLoader/ /basic/basic.sh to java + JDK-8209773: Refactor shell test javax/naming/module/basic.sh to java + JDK-8209832: Refactor jdk/internal/reflect/Reflection/ /GetCallerClassTest.sh to plain java test + JDK-8209930: Refactor java/util/zip/ZipFile/deletetempjar.sh to plain java test + JDK-8210406: Refactor java.util.PluggableLocale:i18n shell tests to plain java tests + JDK-8210407: Refactor java.util.Calendar:i18n shell tests to plain java tests + JDK-8210495: compiler crashes because of illegal signature in otherwise legal code + JDK-8210669: Some launcher tests assume a pre-JDK 9 run-time image layout + JDK-8210802: temp files left by tests in jdk/java/net/httpclient + JDK-8210819: Update the host name in CNameTest.java + JDK-8210908: Refactor java/util/prefs/PrefsSpi.sh to plain java test + JDK-8210934: Move sun/net/www/protocol/http/ /GetErrorStream.java to OpenJDK + JDK-8210959: JShell fails and exits when statement throws an exception whose message contains a '%'. + JDK-8211055: Provide print to a file (PDF) feature even when printer was not connected + JDK-8211092: test/jdk/sun/net/www/http/HttpClient/ /MultiThreadTest.java fails intermittently when cleaning up + JDK-8211296: Remove HotSpot deprecation warning suppression for Mac/clang + JDK-8211325: test/jdk/java/net/Socket/LingerTest.java fails with cleaning up + JDK-8212040: Compilation error due to wrong usage of NSPrintJobDispositionValue in mac10.12 + JDK-8212695: Add explicit timeout to several HTTP Client tests + JDK-8212718: Refactor some annotation processor tests to better use collections + JDK-8213007: Update the link in test/jdk/sun/security/ /provider/SecureRandom/DrbgCavp.java + JDK-8213137: Remove static initialization of monitor/mutex instances + JDK-8213235: java/nio/channels/SocketChannel/ /AsyncCloseChannel.java fails with threads that didn't exit + JDK-8213409: Refactor sun.text.IntHashtable:i18n shell tests to plain java tests + JDK-8213576: Make test AsyncCloseChannel.java run in othervm + JDK-8213694: Test Timeout.java should run in othervm mode + JDK-8213718: [TEST] Wrong classname in vmTestbase/nsk/stress/ /except/except002 and except003 + JDK-8213922: fix ctw stand-alone build + JDK-8214195: Align stdout messages in test/jdk/java/math/BigInteger/PrimitiveConversionTests.java + JDK-8214520: [TEST_BUG] sun/security/mscapi/nonUniqueAliases/ /NonUniqueAliases.java failed with incorrect jtreg tags order + JDK-8214937: sun/security/tools/jarsigner/warnings/ /NoTimestampTest.java failed due to unexpected expiration date + JDK-8216532: tools/launcher/Test7029048.java fails (Solaris) + JDK-8217825: Verify @AfterTest is used correctly in WebSocket tests + JDK-8218145: block_if_requested is not proper inlined due to size + JDK-8219417: bump jtreg requiredVersion to b14 + JDK-8219552: bump jtreg requiredVersion to b14 in test/jdk/sanity/client/ + JDK-8219804: java/net/MulticastSocket/Promiscuous.java fails intermittently due to NumberFormatException + JDK-8220445: Support for side by side MSVC Toolset versions + JDK-8221988: add possibility to build with Visual Studio 2019 + JDK-8222751: closed/test/jdk/sun/security/util/ /DerIndefLenConverter/IndefBerPkcs12.java fail + JDK-8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods + JDK-8224853: CDS address sanitizer errors + JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021 + JDK-8225583: Examine the HttpResponse.BodySubscribers for null handling and multiple subscriptions + JDK-8225690: Multiple AttachListener threads can be created + JDK-8225790: Two NestedDialogs tests fail on Ubuntu + JDK-8226319: Add forgotten test/jdk/java/net/httpclient/ /BodySubscribersTest.java + JDK-8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly + JDK-8226602: Test convenience reactive primitives from java.net.http with RS TCK + JDK-8226683: Remove review suggestion from fix to 8219804 + JDK-8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134" + JDK-8227766: CheckUnhandledOops is broken in MemAllocator + JDK-8227815: Minimal VM: set_state is not a member of AttachListener + JDK-8230674: Heap dumps should exclude dormant CDS archived objects of unloaded classes + JDK-8230808: Remove Access::equals() + JDK-8230841: Remove oopDesc::equals() + JDK-8231717: Improve performance of charset decoding when charset is always compactable + JDK-8232243: Wrong caret position in JTextPane on Windows with a screen resolution > 100% + JDK-8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64) + JDK-8233790: Forward output from heap dumper to jcmd/jmap + JDK-8233989: Create an IPv4 version of java/net/MulticastSocket/SetLoopbackMode.java + JDK-8234510: Remove file seeking requirement for writing a heap dump + JDK-8235211: serviceability/attach/ /RemovingUnixDomainSocketTest.java fails with AttachNotSupportedException: Unable to open socket file + JDK-8235216: typo in test filename + JDK-8235866: bump jtreg requiredVersion to 4.2b16 + JDK-8236111: narrow allowSmartActionArgs disabling + JDK-8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException + JDK-8236671: NullPointerException in JKS keystore + JDK-8238930: problem list compiler/c2/Test8004741.java + JDK-8238943: switch to jtreg 5.0 + JDK-8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test + JDK-8240983: Incorrect copyright header in Apache Santuario 2.1.3 files + JDK-8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration + JDK-8241353: NPE in ToolProvider.getSystemJavaCompiler + JDK-8241768: git needs .gitattributes + JDK-8242882: opening jar file with large manifest might throw NegativeArraySizeException + JDK-8244973: serviceability/attach/ /RemovingUnixDomainSocketTest.java fails "stderr was not empty" + JDK-8245134: test/lib/jdk/test/lib/security/ /KeyStoreUtils.java should allow to specify aliases + JDK-8246261: TCKLocalTime.java failed due to "AssertionError: expected [18:14:22] but found [18:14:23]" + JDK-8246387: switch to jtreg 5.1 + JDK-8247421: [TESTBUG] ReturnBlobToWrongHeapTest.java failed allocating blob + JDK-8247469: getSystemCpuLoad() returns -1 on linux when some offline cpus are present and cpusets.effective_cpus is not available + JDK-8248352: [TEST_BUG] Test test/jdk/java/awt/font/ /TextLayout/ArabicDiacriticTest.java can leave frame open + JDK-8248403: AArch64: Remove uses of kernel integer types + JDK-8248414: AArch64: Remove uses of long and unsigned long ints + JDK-8248657: Windows: strengthening in ThreadCritical regarding memory model + JDK-8248666: AArch64: Use THREAD_LOCAL instead of __thread + JDK-8248668: AArch64: Avoid MIN/MAX macros when using MSVC + JDK-8248671: AArch64: Remove unused variables + JDK-8248682: AArch64: Use ATTRIBUTE_ALIGNED helper + JDK-8248816: C1: Fix signature conflict in LIRGenerator::strength_reduce_multiply + JDK-8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows + JDK-8249548: backward focus traversal gets stuck in button group + JDK-8249773: Upgrade ReceiveISA.java test to be resilient to failure due to stray packets and interference + JDK-8249897: jdk/javadoc/tool/LangVers.java uses @ignore w/o bug-id + JDK-8249898: jdk/javadoc/tool/6176978/T6176978.java uses @ignore w/o bug-id + JDK-8249899: jdk/javadoc/tool/InlineTagsWithBraces.java uses @ignore w/o bug-id + JDK-8250588: Shenandoah: LRB needs to save/restore fp registers for runtime call + JDK-8250824: AArch64: follow up for JDK-8248414 + JDK-8251166: Add automated testcases for changes done in JDK-8214112 + JDK-8251252: Add automated testcase for fix done in JDK-8214253 + JDK-8251254: Add automated test for fix done in JDK-8218472 + JDK-8251361: Potential race between Logger configuration and GCs in HttpURLConWithProxy test + JDK-8251549: Update docs on building for Git + JDK-8251945: SIGSEGV in PackageEntry::purge_qualified_exports() + JDK-8252194: Add automated test for fix done in JDK-8218469 + JDK-8252648: Shenandoah: name gang tasks consistently + JDK-8252825: Add automated test for fix done in JDK-8218479 + JDK-8252853: AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1 + JDK-8252857: AArch64: Shenandoah C1 CAS is not sequentially consistent + JDK-8253048: AArch64: When CallLeaf, no need to preserve callee-saved registers in caller + JDK-8253424: Add support for running pre-submit testing using GitHub Actions + JDK-8253631: Remove unimplemented CompileBroker methods after JEP-165 + JDK-8253865: Pre-submit testing using GitHub Actions does not detect failures reliably + JDK-8253899: Make IsClassUnloadingEnabled signature match specification + JDK-8254024: Enhance native libs for AWT and Swing to work with GraalVM Native Image + JDK-8254054: Pre-submit testing using GitHub Actions should not use the deprecated set-env command + JDK-8254173: Add Zero, Minimal hotspot targets to submit workflow + JDK-8254175: Build no-pch configuration in debug mode for submit checks + JDK-8254244: Some code emitted by TemplateTable::branch is unused when running TieredCompilation + JDK-8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c + JDK-8254282: Add Linux x86_32 builds to submit workflow + JDK-8254850: Update terminology in java.awt.GridBagLayout source code comments + JDK-8255255: Update Apache Santuario (XML Signature) to version 2.2.1 + JDK-8255305: Add Linux x86_32 tier1 to submit workflow + JDK-8255352: Archive important test outputs in submit workflow + JDK-8255373: Submit workflow artifact name is always "test-results_.zip" + JDK-8255452: Doing GC during JVMTI MethodExit event posting breaks return oop + JDK-8255718: Zero: VM should know it runs in interpreter-only mode + JDK-8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux + JDK-8255810: Zero: build fails without JVMTI + JDK-8255895: Submit workflow artifacts miss hs_errs/replays due to ZIP include mismatch + JDK-8256127: Add cross-compiled foreign architectures builds to submit workflow + JDK-8256215: Shenandoah: re-organize saving/restoring machine state in assembler code + JDK-8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE + JDK-8256277: Github Action build on macOS should define OS and Xcode versions + JDK-8256354: Github Action build on Windows should define OS and MSVC versions + JDK-8256393: Github Actions build on Linux should define OS and GCC versions + JDK-8256414: add optimized build to submit workflow + JDK-8256747: GitHub Actions: decouple the hotspot build-only jobs from Linux x64 testing + JDK-8257056: Submit workflow should apt-get update to avoid package installation errors + JDK-8257148: Remove obsolete code in AWTView.m + JDK-8257497: Update keytool to create AKID from the SKID of the issuing certificate as specified by RFC 5280 + JDK-8257620: Do not use objc_msgSend_stret to get macOS version + JDK-8257913: Add more known library locations to simplify Linux cross-compilation + JDK-8258703: Incorrect 512-bit vector registers restore on x86_32 + JDK-8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test + JDK-8259535: ECDSA SignatureValue do not always have the specified length + JDK-8259679: GitHub actions should use MSVC 14.28 + JDK-8259924: GitHub actions fail on Linux x86_32 with "Could not configure libc6:i386" + JDK-8260460: GitHub actions still fail on Linux x86_32 with "Could not configure libc6:i386" + JDK-8260589: Crash in JfrTraceIdLoadBarrier::load(_jclass*) + JDK-8260923: Add more tests for SSLSocket input/output shutdown + JDK-8261072: AArch64: Fix MacroAssembler::get_thread convention + JDK-8261147: C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions + JDK-8261238: NMT should not limit baselining by size threshold + JDK-8261496: Shenandoah: reconsider pacing updates memory ordering + JDK-8261652: Remove some dead comments from os_bsd_x86 + JDK-8261846: [JVMCI] c2v_iterateFrames can get out of sync with the StackFrameStream + JDK-8262000: jdk/jfr/event/gc/detailed/ /TestPromotionFailedEventWithParallelScavenge.java failed with "OutOfMemoryError: Java heap space" + JDK-8262017: C2: assert(n != __null) failed: Bad immediate dominator info. + JDK-8262392: Update Mesa 3-D Headers to version 21.0.3 + JDK-8262409: sun/security/ssl/SSLSocketImpl/ /SSLSocketImplThrowsWrongExceptions. SSL test failures caused by java failed with "Server reported the wrong exception" + JDK-8262470: Printed GlyphVector outline with low DPI has bad quality on Windows + JDK-8262862: Harden tests sun/security/x509/URICertStore/ /ExtensionsWithLDAP.java and krb5/canonicalize/Test.java + JDK-8263136: C4530 was reported from VS 2019 at access bridge + JDK-8263227: C2: inconsistent spilling due to dead nodes in exception block + JDK-8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers" + JDK-8263407: SPARC64 detection fails on Athena (SPARC64-X) + JDK-8263432: javac may report an invalid package/class clash on case insensitive filesystems + JDK-8263490: [macos] Crash occurs on JPasswordField with activated InputMethod + JDK-8263531: Remove unused buffer int + JDK-8263667: Avoid running GitHub actions on branches named pr/* + JDK-8263776: [JVMCI] add helper to perform Java upcalls + JDK-8264016: [JVMCI] add some thread local fields for use by JVMCI + JDK-8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M + JDK-8265132: C2 compilation fails with assert "missing precedence edge" + JDK-8265231: (fc) ReadDirect and WriteDirect tests fail after fix for JDK-8264821 + JDK-8265335: Epsilon: Minor typo in EpsilonElasticTLABDecay description + JDK-8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter + JDK-8265761: Font with missed font family name is not properly printed on Windows + JDK-8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API + JDK-8265836: OperatingSystemImpl.getCpuLoad() returns incorrect CPU load inside a container + JDK-8266018: Shenandoah: fix an incorrect assert + JDK-8266206: Build failure after JDK-8264752 with older GCCs + JDK-8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5 + JDK-8266288: assert root method not found in witnessed_reabstraction_in_supers is too strong + JDK-8266404: Fatal error report generated with - XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report + JDK-8266480: Implicit null check optimization does not update control of hoisted memory operation + JDK-8266615: C2 incorrectly folds subtype checks involving an interface array + JDK-8266642: Improve ResolvedMethodTable hash function + JDK-8266749: AArch64: Backtracing broken on PAC enabled systems + JDK-8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted + JDK-8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress + JDK-8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header + JDK-8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes + JDK-8267396: Avoid recording "pc" in unhandled oops detector for better performance + JDK-8267399: C2: java/text/Normalizer/ConformanceTest.java test failed with assertion + JDK-8267424: CTW: C1 fails with "State must not be null" + JDK-8267459: Pasting Unicode characters into JShell does not work. + JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type + JDK-8267666: Add option to jcmd GC.heap_dump to use existing file + JDK-8267695: Bump update version for OpenJDK: jdk-11.0.13 + JDK-8267751: (test) jtreg.SkippedException has no serial VersionUID + JDK-8267773: PhaseStringOpts::int_stringSize doesn't handle min_jint correctly + JDK-8268103: JNI functions incorrectly return a double after JDK-8265836 + JDK-8268127: Shenandoah: Heap size may be too small for region to align to large page size + JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info. + JDK-8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code + JDK-8268360: Missing check for infinite loop during node placement + JDK-8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop + JDK-8268366: Incorrect calculation of has_fpu_registers in C1 linear scan + JDK-8268369: SIGSEGV in PhaseCFG::implicit_null_check due to missing null check + JDK-8268417: Add test from JDK-8268360 + JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance + JDK-8268617: [11u REDO] - WebSocket over authenticating proxy fails with NPE + JDK-8268620: InfiniteLoopException test may fail on x86 platforms + JDK-8268635: Corrupt oop in ClassLoaderData + JDK-8268699: Shenandoah: Add test for JDK-8268127 + JDK-8268771: javadoc -notimestamp option does not work on index.html + JDK-8268775: Password is being converted to String in AccessibleJPasswordField + JDK-8268776: Test `ADatagramSocket.java` missing /othervm from @run tag + JDK-8268965: TCP Connection Reset when connecting simple socket to SSL server + JDK-8269304: Regression ~5% in 2005 in b27 + JDK-8269415: [11u] Remove ea from DEFAULT_PROMOTED_VERSION_PRE in OpenJDK 11u + JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient + JDK-8269529: javax/swing/reliability/ /HangDuringStaticInitialization.java fails in Windows debug build + JDK-8269594: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark + JDK-8269614: [s390] Interpreter checks wrong bit for slow path instance allocation + JDK-8269650: Optimize gc-locker in [Get|Release]StringCritical for latin string + JDK-8269661: JNI_GetStringCritical does not lock char array + JDK-8269668: [aarch64] java.library.path not including /usr/lib64 + JDK-8269763: The JEditorPane is blank after JDK-8265167 + JDK-8269795: C2: Out of bounds array load floats above its range check in loop peeling resulting in SEGV + JDK-8269847: JDK-8269594 backport breaks 11u builds + JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0 + JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers + JDK-8269882: stack-use-after-scope in NewObjectA + JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status + JDK-8270096: Shenandoah: Optimize gc/shenandoah/ /TestRefprocSanity.java for interpreter mode + JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup + JDK-8270184: [TESTBUG] Add coverage for jvmci ResolvedJavaType.toJavaName() for lambdas + JDK-8270196: [11u] [JVMCI] JavaType.toJavaName() returns incorrect type name for lambdas + JDK-8270556: Exclude security/infra/java/security/cert/ /CertPathValidator/certification/LetsEncryptCA + JDK-8270893: IndexOutOfBoundsException while reading large TIFF file + JDK-8272078: Wrong Checksums in Temurin BootJDK dependencies + JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon + JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj + JDK-8272197: Update 11u GHA workflow with Shenandoah configurations + JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790 + JDK-8272472: StackGuardPages test doesn't build with glibc 2.34 + JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used + JDK-8272628: Problemlist gc/stress/gcbasher/ /TestGCBasherWithCMS.java for x86_32 + JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848 + JDK-8272772: Shenandoah: compiler/c2/aarch64/ /TestVolatilesShenandoah.java fails in 11u + JDK-8273939: Backport of 8248414 to JDK11 breaks MacroAssembler::adrp - Remove the unneeded icedtea-sound provider - Removed patches: * icedtea-sound-1.0.1-jdk9.patch * icedtea-sound-soundproperties.patch + not needed since the icedtea-sound provider is removed * jdk11-glibc234.patch + integrated upstream- Added patch: * fips.patch + implement FIPS support in OpenJDK- Modified patch: * nss-security-provider.patch + revert recent changes making NSS provider the default one + fixes bsc#1190252- Added patch: * jdk11-glibc234.patch + fix build with glibc-2.34 (bsc#1189201)- riscv64-zero.patch: Add support for riscv64 (zero VM)- Update to upstream tag jdk-11.0.12+7 (July 2021, CPU) * Security fixes + JDK-8256157: Improve bytecode assembly + JDK-8256491: Better HTTP transport + JDK-8258432, CVE-2021-2341, bsc#1188564: Improve file transfers + JDK-8260453: Improve Font Bounding + JDK-8260960: Signs of jarsigner signing + JDK-8260967, CVE-2021-2369, bsc#1188565: Better jar file validation + JDK-8262380: Enhance XML processing passes + JDK-8262403: Enhanced data transfer + JDK-8262410: Enhanced rules for zones + JDK-8262477: Enhance String Conclusions + JDK-8262967: Improve Zip file support + JDK-8264066, CVE-2021-2388, bsc#1188566: Enhance compiler validation + JDK-8264079: Improve abstractions + JDK-8264460: Improve NTLM support * Other changes + JDK-6847157: java.lang.NullPointerException: HDC for component at sun.java2d.loops.Blit.Blit + JDK-7106851: Test should not use System.exit + JDK-8073446: TimeZone getOffset API does not return a dst offset between years 2038-2137 + JDK-8076190: Customizing the generation of a PKCS12 keystore + JDK-8153005: Upgrade the default PKCS12 encryption/MAC algorithms + JDK-8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux + JDK-8177068: incomplete classpath causes NPE in Flow + JDK-8185734: [Windows] Structured Exception Catcher missing around gtest execution + JDK-8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll + JDK-8190763: Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit() + JDK-8195841: PNGImageReader.readNullTerminatedString() doesnt check for non-null terminated strings with length equal to maxLen + JDK-8196100: javax/swing/text/JTextComponent/5074573/ /bug5074573.java fails + JDK-8199646: JShell tests: jdk/jshell/ /FailOverDirectExecutionControlTest.java failed with java.lang.UnsupportedOperationException + JDK-8206925: Support the certificate_authorities extension + JDK-8207160: ClassReader::adjustMethodParams can potentially return null if the args list is empty + JDK-8207247: AARCH64: Enable Minimal and Client VM builds + JDK-8207404: MulticastSocket tests failing on AIX + JDK-8207779: Method::is_valid_method() compares 'this' with NULL + JDK-8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode. + JDK-8209459: TestSHA512MultiBlockIntrinsics failed on AArch64 + JDK-8210443: Migrate Locale matching tests to JDK Repo. + JDK-8213231: ThreadSnapshot::_threadObj can become stale + JDK-8213483: ARM32: runtime/ErrorHandling/ /ShowRegistersOnAssertTest.java jtreg test fail + JDK-8213725: JShell NullPointerException due to class file with unexpected package + JDK-8213794: ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32 + JDK-8213845: ARM32: Interpreter doesn't call result handler after native calls + JDK-8214128: ARM32: wrong stack alignment on Deoptimization::unpack_frames + JDK-8214512: ARM32: Jtreg test compiler/c2/Test8062950.java fails on ARM + JDK-8214854: JDWP: Unforseen output truncation in logging + JDK-8214922: Add vectorization support for fmin/fmax + JDK-8215009: GCC 8 compilation error in libjli + JDK-8216184: CDS/appCDS tests failed on Windows due to long path to a classlist file + JDK-8216259: AArch64: Vectorize Adler32 intrinsics + JDK-8216314: SIGILL in CodeHeapState::print_names() + JDK-8217348: assert(thread->is_Java_thread()) failed: just checking + JDK-8217465: [REDO] - Optimize CodeHeap Analytics + JDK-8217561: X86: Add floating-point Math.min/max intrinsics + JDK-8217918: C2: -XX:+AggressiveUnboxing is broken + JDK-8218458: [TESTBUG] runtime/NMT/ /CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output + JDK-8219142: Remove unused JIMAGE_ResourcePath + JDK-8219586: CodeHeap State Analytics processes dead nmethods + JDK-8220074: Clean up GCC 8.3 errors in LittleCMS + JDK-8220407: compiler/intrinsics/math/ /TestFpMinMaxIntrinsics.java timedout + JDK-8222302: [TESTBUG] test/hotspot/jtreg/compiler/intrinsics/ /sha/cli/TestUseSHAOptionOnUnsupportedCPU.java fails on any other CPU + JDK-8222412: AARCH64: multiple instructions encoding issues + JDK-8223020: aarch64: expand minI_rReg and maxI_rReg patterns into separate instructions + JDK-8223444: Improve CodeHeap Free Space Management + JDK-8223504: Improve performance of forall loops by better inlining of "iterator()" methods + JDK-8223667: ASAN build broken + JDK-8225081: Remove Telia Company CA certificate expiring in April 2021 + JDK-8225116: Test OwnedWindowsLeak.java intermittently fails + JDK-8225438: javax/net/ssl/TLSCommon/ /TestSessionLocalPrincipal.java failed with Read timed out + JDK-8225756: [testbug] compiler/loopstripmining/ /CheckLoopStripMining.java sets too short a SafepointTimeoutDelay + JDK-8226374: Restrict TLS signature schemes and named groups + JDK-8226627: assert(t->singleton()) failed: must be a constant + JDK-8226721: Missing intrinsics for Math.ceil, floor, rint + JDK-8227080: (fs) Files.newInputStream(...).skip(n) is slow + JDK-8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/ /Loops04.java failed XMM register should be 0-15 + JDK-8227609: (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size + JDK-8230428: Cleanup dead CastIP node code in formssel.cpp + JDK-8231460: Performance issue (CodeHeap) with large free blocks + JDK-8231713: x86_32 build failures after JDK-8226721 (Missing intrinsics for Math.ceil, floor, rint) + JDK-8231841: AArch64: debug.cpp help() is missing an AArch64 line for pns + JDK-8232084: HotSpot build failed with GCC 9.2.1 + JDK-8232591: AArch64: Add missing match rules for smaddl, smsubl and smnegl + JDK-8233185: HttpServer.stop() blocks indefinitely when called on dispatch thread + JDK-8233787: Break cycle in vm_version* includes + JDK-8233948: AArch64: Incorrect mapping between OptoReg and VMReg for high 64 bits of Vector Register + JDK-8234355: Buffer overflow in jcmd GC.class_stats due to too many classes + JDK-8235368: Update BCEL to Version 6.4.1 + JDK-8236859: WebSocket over authenticating proxy fails with NPE + JDK-8236992: AArch64: remove redundant load_klass in itable stub + JDK-8237743: test/langtools/jdk/jshell/ /FailOverExecutionControlTest.java fails No ExecutionControlProvider with name 'nonExistent' and parameter keys: [] + JDK-8237804: sun/security/mscapi tests fail with "Key pair not generated, alias already exists" + JDK-8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class + JDK-8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers + JDK-8238812: assert(false) failed: bad AD file + JDK-8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/ /NSTexturedJFrame.java + JDK-8239386: handle ContendedPaddingWidth in vm_version_aarch64 + JDK-8239536: Can't use 'java.util.List' object after importing 'java.awt.List' + JDK-8240487: Cleanup whitespace in .cc, .hh, .m, and .mm files + JDK-8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler + JDK-8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version + JDK-8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873 + JDK-8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string + JDK-8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93) + JDK-8241372: Several test failures due to javax.net.ssl.SSLException: Connection reset + JDK-8241475: AArch64: Add missing support for PopCountVI node + JDK-8241829: Cleanup the code for PrinterJob on windows + JDK-8241960: The SHA3 message digests impl of SUN provider are not thread safe after cloned + JDK-8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01 + JDK-8242429: Better implementation for sign extract + JDK-8242557: Add length limit for strings in PNGImageWriter + JDK-8242919: Paste locks up jshell + JDK-8243155: AArch64: Add support for SqrtVF + JDK-8243240: AArch64: Add support for MulVB + JDK-8243452: JFR: Could not create chunk in repository with over 200 recordings + JDK-8243559: Remove root certificates with 1024-bit keys + JDK-8243597: AArch64: Add support for integer vector abs + JDK-8244031: HttpClient should have more tests for HEAD requests + JDK-8244205: HTTP/2 tunnel connections through proxy may be reused regardless of which proxy is selected + JDK-8244847: Linux/PPC: runtime/CompressedOops/ /CompressedClassPointers: smallHeapTest fails + JDK-8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC + JDK-8246274: G1 old gen allocation tracking is not in a separate class + JDK-8247354: [aarch64] PopFrame causes assert(oopDesc::is_oop(obj)) failed: not an oop + JDK-8247408: IdealGraph bit check expression canonicalization + JDK-8247432: Update IANA Language Subtag Registry to Version 2020-09-29 + JDK-8247438: JShell: When FailOverExecutionControlProvider fails the proximal cause is not shown + JDK-8247753: UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32 + JDK-8248043: Need to eliminate excessive i2l conversions + JDK-8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted + JDK-8248568: compiler/c2/TestBit.java failed: test missing from stdout/stderr + JDK-8248870: AARCH64: I2L/L2I conversions can be skipped for masked positive values + JDK-8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable + JDK-8249189: AARCH64: more L2I conversions can be skipped + JDK-8249719: MethodHandle performance suffers from bad ResolvedMethodTable hash function + JDK-8249875: GCC 10 warnings -Wtype-limits with JFR code + JDK-8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks + JDK-8250876: Fix issues with cross-compile on macos + JDK-8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits + JDK-8251525: AARCH64: Faster Math.signum(fp) + JDK-8252259: AArch64: Adjust default value of FLOATPRESSURE + JDK-8252311: AArch64: save two words in itable lookup stub + JDK-8252779: compiler/graalunit/HotspotTest.java failed after 8251525 + JDK-8252883: AccessDeniedException caused by delayed file deletion on Windows + JDK-8253167: ARM32 builds fail after JDK-8247910 + JDK-8253572: [windows] CDS archive may fail to open with long file names + JDK-8253923: C2 doesn't always run loop opts for compilations that include loops + JDK-8253948: Memory leak in ImageFileReader + JDK-8254631: Better support ALPN byte wire values in SunJSSE + JDK-8254717: isAssignableFrom checks in KeyFactorySpi.engineGetKeySpec appear to be backwards + JDK-8255086: Update the root locale display names + JDK-8255625: AArch64: Implement Base64.encodeBlock accelerator/intrinsic + JDK-8255763: C2: OSR miscompilation caused by invalid memory instruction placement + JDK-8255992: JFR EventWriter does not use first string from StringPool with id 0 + JDK-8256037: [TESTBUG] com/sun/jndi/dns/ConfigTests/ /PortUnreachable.java fails due to the hard coded threshold is small + JDK-8256244: java/lang/ProcessHandle/PermissionTest.java fails with TestNG 7.1 + JDK-8256287: [windows] add loop fuse to map_or_reserve_memory_aligned + JDK-8256523: Streamline Java SHA2 implementation + JDK-8257414: Drag n Drop target area is wrong on high DPI systems + JDK-8257569: Failure observed with JfrVirtualMemory::initialize + JDK-8257574: C2: "failed: parsing found no loops but there are some" assert failure + JDK-8257580: Bump update version for OpenJDK: jdk-11.0.12 + JDK-8257604: JNI_ArgumentPusherVaArg leaks valist + JDK-8257621: JFR StringPool misses cached items across consecutive recordings + JDK-8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32 + JDK-8257822: C2 crashes with SIGFPE due to a division that floats above its zero check + JDK-8257828: SafeFetch may crash if invoked in non-JavaThreads + JDK-8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code + JDK-8257858: [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m + JDK-8257860: [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m + JDK-8257988: Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m + JDK-8258414: OldObjectSample events too expensive + JDK-8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions + JDK-8258753: StartTlsResponse.close() hangs due to synchronization issues + JDK-8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it + JDK-8259227: C2 crashes with SIGFPE due to a division that floats above its zero check + JDK-8259232: Bad JNI lookup during printing + JDK-8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization + JDK-8259343: [macOS] Update JNI error handling in Cocoa code. + JDK-8259585: Accessible actions do not work on mac os x + JDK-8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros + JDK-8259662: Don't wrap SocketExceptions into SSLExceptions in SSLSocketImpl + JDK-8259710: Inlining trace leaks memory + JDK-8259729: Missed JNFInstanceOf -> IsInstanceOf conversion + JDK-8259777: Incorrect predication condition generated by ADLC + JDK-8259786: initialize last parameter of getpwuid_r + JDK-8259843: initialize dli_fname array before calling dll_address_to_library_name + JDK-8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs + JDK-8259886: Improve SSL session cache performance and scalability + JDK-8259983: do not use uninitialized expand_ms value in G1CollectedHeap::expand_heap_after_young_collection + JDK-8260030: Improve stringStream buffer handling + JDK-8260236: better init AnnotationCollector _contended_group + JDK-8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized + JDK-8260284: C2: assert(_base == Int) failed: Not an Int + JDK-8260380: Upgrade to LittleCMS 2.12 + JDK-8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint + JDK-8260426: awt debug_mem.c DMem_AllocateBlock might leak memory + JDK-8260432: allocateSpaceForGP in freetypeScaler.c might leak memory + JDK-8260616: Removing remaining JNF dependencies in the java.desktop module + JDK-8260653: Unreachable nodes keep speculative types alive + JDK-8260707: java/lang/instrument/PremainClass/ /InheritAgent0100.java times out + JDK-8260925: HttpsURLConnection does not work with other JSSE provider. + JDK-8260926: Trace resource exhausted events unconditionally + JDK-8261020: Wrong format parameter in create_emergency_chunk_path + JDK-8261027: AArch64: Support for LSE atomics C++ HotSpot code + JDK-8261167: print_process_memory_info add a close call after fopen + JDK-8261170: Upgrade to freetype 2.10.4 + JDK-8261198: [macOS] Incorrect JNI parameters in number conversion in A11Y code + JDK-8261235: C1 compilation fails with assert(res->vreg_number() == index) failed: conversion check + JDK-8261261: The version extra fields needs to be overridable in jib-profiles.js + JDK-8261262: Kitchensink24HStress.java crashed with EXCEPTION_ACCESS_VIOLATION + JDK-8261354: SIGSEGV at MethodIteratorHost + JDK-8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding + JDK-8261397: try catch Method failing to work when dividing an integer by 0 + JDK-8261422: Adjust problematic String.format calls in jdk/internal/util/Preconditions.java outOfBoundsMessage + JDK-8261447: MethodInvocationCounters frequently run into overflow + JDK-8261481: Cannot read Kerberos settings in dynamic store on macOS Big Sur + JDK-8261505: Test test/hotspot/jtreg/gc/parallel/ /TestDynShrinkHeap.java killed by Linux OOM Killer + JDK-8261601: free memory in early return in Java_sun_nio_ch_sctp_SctpChannelImpl_receive0 + JDK-8261649: AArch64: Optimize LSE atomics in C++ code + JDK-8261730: C2 compilation fails with assert(store->find_edge(load) != -1) failed: missing precedence edge + JDK-8261752: Multiple GC test are missing memory requirements + JDK-8261791: (sctp) handleSendFailed in SctpChannelImpl.c potential leaks + JDK-8261812: C2 compilation fails with assert(!had_error) failed: bad dominance + JDK-8261914: IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload + JDK-8262093: java/util/concurrent/tck/JSR166TestCase.java failed "assert(false) failed: unexpected node" + JDK-8262110: DST starts from incorrect time in 2038 + JDK-8262121: [11u] Redo 8244287: JFR: Methods samples have line number 0 + JDK-8262163: Extend settings printout in jcmd VM.metaspace + JDK-8262295: C2: Out-of-Bounds Array Load from Clone Source + JDK-8262298: G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape" + JDK-8262446: DragAndDrop hangs on Windows + JDK-8262461: handle wcstombsdmp return value correctly in unix awt_InputMethod.c + JDK-8262465: Very long compilation times and high memory consumption in C2 debug builds + JDK-8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack + JDK-8262739: String inflation C2 intrinsic prevents insertion of anti-dependencies + JDK-8262829: Native crash in Win32PrintServiceLookup.getAllPrinterNames() + JDK-8262837: handle split_USE correctly + JDK-8262900: ToolBasicTest fails to access HTTP server it starts + JDK-8263260: [s390] Support latest hardware (z14 and z15) + JDK-8263311: Watch registry changes for remote printers update instead of polling + JDK-8263361: Incorrect arraycopy stub selected by C2 for SATB collectors + JDK-8263404: RsaPrivateKeySpec is always recognized as RSAPrivateCrtKeySpec in RSAKeyFactory.engineGetKeySpec + JDK-8263425: AArch64: two potential bugs in C1 LIRGenerator::generate_address() + JDK-8263448: CTW: fatal error: meet not symmetric + JDK-8263504: Some OutputMachOpcodes fields are uninitialized + JDK-8263557: Possible NULL dereference in Arena::destruct_contents() + JDK-8263558: Possible NULL dereference in fast path arena free if ZapResourceArea is true + JDK-8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address() + JDK-8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test + JDK-8263846: Bad JNI lookup getFocusOwner in accessibility code on Mac OS X + JDK-8264047: Duplicate global variable 'jvm' in libjavajpeg and libawt + JDK-8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported + JDK-8264151: ciMethod::ensure_method_data() should return false is loading resulted in empty state + JDK-8264173: [s390] Improve Hardware Feature Detection And Reporting + JDK-8264190: Harden TLS interop tests + JDK-8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test + JDK-8264328: Broken license in javax/swing/JComboBox/8072767/bug8072767.java + JDK-8264360: Loop strip mining verification fails with "should be on the backedge" + JDK-8264626: C1 should be able to inline excluded methods + JDK-8264640: CMS ParScanClosure misses a barrier + JDK-8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched + JDK-8264821: DirectIOTest fails on a system with large block size + JDK-8264848: [macos] libjvm.dylib linker warning due to macOS version mismatch + JDK-8264923: PNGImageWriter.write_zTXt throws Exception with a typo + JDK-8264958: C2 compilation fails with assert "n is later than its clone" + JDK-8265099: Revert backport to 11u of 8236859: WebSocket over authenticating proxy fails with NPE + JDK-8265154: vinserti128 operand mix up for KNL platforms + JDK-8265239: Shenandoah: Shenandoah heap region count could be off by 1 + JDK-8265417: Backport of JDK-8249672 breaks Solaris x86 build + JDK-8265421: java/lang/String/StringRepeat.java test is missing a memory requirement + JDK-8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod + JDK-8265537: x86 version string truncated after JDK-8249672 11u backport + JDK-8265666: Enable AIX build platform to make external debug symbols + JDK-8265677: CMS: CardTableBarrierSet::write_ref_array_work() lacks storestore barrier + JDK-8265690: Use the latest Ubuntu base image version in Docker testing + JDK-8265718: Build failure after JDK-8258414 11u backport + JDK-8265750: Fatal error in safepoint.cpp after backport of 8258414 + JDK-8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind + JDK-8265938: C2's conditional move optimization does not handle top Phi + JDK-8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified + JDK-8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long" + JDK-8266713: [AIX] Build failure after 11u backport of JDK-8247753 + JDK-8266802: Shenandoah: Round up region size to page size unconditionally + JDK-8266892: avoid maybe-uninitialized gcc warnings on linux s390x + JDK-8266929: Unable to use algorithms from 3p providers + JDK-8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash + JDK-8267561: Shenandoah: Reference processing not properly setup for outside of cycle degenerated GC + JDK-8267599: Revert the change to the default PKCS12 macAlgorithm and macIterationCount props for 11u/8u/7u + JDK-8267641: [11u] 8227609 backport typo + JDK-8267721: Enable sun/security/pkcs11 tests for Amazon Linux 2 AArch64 + JDK-8268678: LetsEncryptCA.java test fails as Let's Encrypt Authority X3 is retired- Modified patch: * nss-security-provider.patch + make the NSS provider first in the list- Remove all Jpackage provides for SLE12 in order to avoid installing this package as default Java on SLE12-SP5 (bsc#1185476)- Update to upstream tag jdk-11.0.11+9 (April 2021, CPU) * Security fixes + JDK-8244473: Contextualize registration for JNDI + JDK-8244543: Enhanced handling of abstract classes + JDK-8249906, CVE-2021-2163, bsc#1185055: Enhance opening JARs + JDK-8250568, CVE-2021-2161, bsc#1185056: Less ambiguous processing + JDK-8253799: Make lists of normal filenames + JDK-8257001: Improve Http Client Support * Other changes + JDK-7107012: sun.jvm.hotspot.code.CompressedReadStream readDouble() conversion to long mishandled + JDK-7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection + JDK-8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing + JDK-8168869: jdeps: localized messages don't use proper line breaks + JDK-8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID + JDK-8202343: Disable TLS 1.0 and 1.1 + JDK-8205992: jhsdb cannot attach to Java processes running in Docker containers + JDK-8209193: Fix aarch64-linux compilation after -Wreorder changes + JDK-8210413: AArch64: Optimize div/rem by constant in C1 + JDK-8210578: AArch64: Invalid encoding for fmlsvs instruction + JDK-8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar + JDK-8211057: Gensrc step CompileProperties generates unstable CompilerProperties output + JDK-8211150: G1 Full GC not purging code root memory and hence causing memory leak + JDK-8211825: ModuleLayer.defineModulesWithXXX does not setup delegation when module reads automatic module + JDK-8212043: Add floating-point Math.min/max intrinsics + JDK-8212218: [TESTBUG] runtime/ErrorHandling/ /TestHeapDumpOnOutOfMemoryErrorInMetaspace.java timed out + JDK-8213116: javax/swing/JComboBox/WindowsComboBoxSize/ /WindowsComboBoxSizeTest.java fails in Windows + JDK-8213909: jdeps --print-module-deps should report missing dependences + JDK-8214180: Need better granularity for sleeping + JDK-8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file + JDK-8214230: Classes generated by SystemModulesPlugin.java are not reproducable + JDK-8214741: docs/index.html has no title or copyright + JDK-8215687: [Graal] unit test CheckGraalIntrinsics failed after 8212043 + JDK-8217848: [Graal] vmTestbase/nsk/jvmti/ResourceExhausted/ /resexhausted003/TestDescription.java fails + JDK-8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown + JDK-8218550: Add test omitted from JDK-8212043 + JDK-8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event + JDK-8221995: AARCH64: problems with CAS instructions encoding + JDK-8222518: Remove unnecessary caching of Parker object in java.lang.Thread + JDK-8222785: aarch64: add necessary masking for immediate shift counts + JDK-8223186: HotSpot compile warnings from GCC 9 + JDK-8225773: jdeps --check produces NPE if there are missing module dependences + JDK-8225805: Java Access Bridge does not close the logger + JDK-8226810: Failed to launch JVM because of NullPointerException occured on System.props + JDK-8229396: jdeps ignores multi-release when generate-module-info used on command line + JDK-8229474: Shenandoah: Cleanup CM::update_roots() + JDK-8232225: Rework the fix for JDK-8071483 + JDK-8232905: JFR fails with assertion: assert(t->unflushed_size() == 0) failed: invariant + JDK-8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain + JDK-8233910: java/awt/ColorClass/AlphaColorTest.java is failing intermittently in nightly lnux-x64 system + JDK-8233912: aarch64: minor improvements of atomic operations + JDK-8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier + JDK-8234742: Improve handshake logging + JDK-8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure + JDK-8235324: Dying objects are published from users of CollectedHeap::object_iterate + JDK-8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag + JDK-8237369: Shenandoah: failed vmTestbase/nsk/jvmti/ /AttachOnDemand/attach021/TestDescription.java test + JDK-8237392: Shenandoah: Remove unreliable assertion + JDK-8237483: AArch64 C1 OopMap inserted twice fatal error + JDK-8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7 + JDK-8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) + JDK-8240353: AArch64: missing support for - XX:+ExtendedDTraceProbes in C1 + JDK-8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." + JDK-8240751: Shenandoah: fold ShenandoahTracer definition + JDK-8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" + JDK-8241598: Upgrade JLine to 3.14.0 + JDK-8241649: Optimize Character.toString + JDK-8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module + JDK-8241911: AArch64: Fix a potential register clash issue in reduce_add2I + JDK-8242030: Wrong package declarations in jline classes after JDK-8241598 + JDK-8242565: Policy initialization issues when the denyAfter constraint is enabled + JDK-8243618: compiler/rtm/cli tests can be run w/o WhiteBox + JDK-8243670: Unexpected test result caused by C2 MergeMemNode::Ideal + JDK-8244088: [Regression] Switch of Gnome theme ends up in deadlocked UI + JDK-8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files + JDK-8244340: Handshake processing thread lacks yielding + JDK-8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file + JDK-8244683: A TSA server used by tests + JDK-8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant + JDK-8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused + JDK-8245283: JFR: Can't handle constant dynamic used by Jacoco agent + JDK-8245512: CRC32 optimization using AVX512 instructions + JDK-8245527: LDAP Channel Binding support for Java GSS/Kerberos + JDK-8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel + JDK-8246709: sun/security/tools/jarsigner/ /TsacertOptionTest.java compilation failed after JDK-8244683 + JDK-8247200: assert((unsigned)fpargs < 32) + JDK-8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn. + JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit + JDK-8248865: Document JNDI/LDAP timeout properties + JDK-8248901: Signed immediate support in .../share/assembler.hpp is broken. + JDK-8249543: Force DirectBufferAllocTest to run with - ExplicitGCInvokesConcurrent + JDK-8249588: libwindowsaccessbridge issues on 64bit Windows + JDK-8249749: modify a primitive array through a stream and a for cycle causes jre crash + JDK-8249787: Make TestGCLocker more resilient with concurrent GCs + JDK-8249867: xml declaration is not followed by a newline + JDK-8250911: [windows] os::pd_map_memory() error detection broken + JDK-8251255: [linux] Add process-memory information to hs-err and VM.info + JDK-8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier + JDK-8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance + JDK-8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java + JDK-8251992: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X + JDK-8253220: Epsilon: clean up unused code/declarations + JDK-8253274: The CycleDMImagetest brokes the system + JDK-8253353: Crash in C2: guarantee(n != NULL) failed: No Node + JDK-8253368: TLS connection always receives close_notify exception + JDK-8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit + JDK-8253409: Double-rounding possibility in float fma + JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities + JDK-8253524: C2: Refactor code that clones predicates during loop unswitching + JDK-8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected + JDK-8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/ /MouseEventAfterStartDragTest.html test failed + JDK-8253702: BigSur version number reported as 10.16, should be 11.nn + JDK-8253756: C2 CompilerThread0 crash in Node::add_req(Node*) + JDK-8254104: MethodCounters must exist before nmethod is installed + JDK-8254734: "dead loop detected" assert failure with patch from 8223051 + JDK-8254748: Bad Copyright header format after JDK-8212218 + JDK-8254799: runtime/ErrorHandling/ /TestHeapDumpOnOutOfMemoryError.java fails with release VMs + JDK-8255058: C1: assert(is_virtual()) failed: type check + JDK-8255351: Add detection for Graviton 2 CPUs + JDK-8255368: Math.exp() gives wrong result for large values on x86 32-bit platforms + JDK-8255387: Japanese characters were printed upside down on AIX + JDK-8255401: Shenandoah: Allow oldval and newval registers to overlap in cmpxchg_oop() + JDK-8255479: [aarch64] assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity + JDK-8255544: Create a checked cast + JDK-8255559: Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI() + JDK-8255681: print callstack in error case in runAWTLoopWithApp + JDK-8255734: VM should ignore SIGXFSZ on ppc64, s390 too + JDK-8255742: PrintInlining as compiler directive doesn't print virtual calls + JDK-8255845: Memory leak in imageFile.cpp + JDK-8255880: UI of Swing components is not redrawn after their internal state changed + JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem + JDK-8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls + JDK-8256056: Deoptimization stub doesn't save vector registers on x86 + JDK-8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers + JDK-8256187: [TEST_BUG] Automate bug4275046.java test + JDK-8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg + JDK-8256258: some missing NULL checks or asserts after CodeCache::find_blob_unsafe + JDK-8256264: Printed GlyphVector outline with low DPI has bad quality on Windows + JDK-8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32 + JDK-8256359: AArch64: runtime/ReservedStack/ /ReservedStackTestCompiler.java fails + JDK-8256387: Unexpected result if patching an entire instruction on AArch64 + JDK-8256421: Add 2 HARICA roots to cacerts truststore + JDK-8256488: [aarch64] Use ldpq/stpq instead of ld4/st4 for small copies in StubGenerator::copy_memory + JDK-8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners + JDK-8256501: libTestMainKeyWindow fails to build with Xcode 12.2 + JDK-8256633: Fix product build on Windows+Arm64 + JDK-8256682: JDK-8202343 is incomplete + JDK-8256751: Incremental rebuild with precompiled header fails when touching a header file + JDK-8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32 + JDK-8256806: Shenandoah: optimize shenandoah/jni/ /TestPinnedGarbage.java test + JDK-8256807: C2: Not marking stores correctly as mismatched in string opts + JDK-8256810: Incremental rebuild broken on Macosx + JDK-8256818: SSLSocket that is never bound or connected leaks socket resources + JDK-8256888: Client manual test problem list update + JDK-8257083: Security infra test failures caused by JDK-8202343 + JDK-8257408: Bump update version for OpenJDK: jdk-11.0.11 + JDK-8257423: [PPC64] Support -XX:-UseInlineCaches + JDK-8257436: [aarch64] Regressions in ArrayCopyUnalignedDst .testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on + JDK-8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset()) + JDK-8257547: Handle multiple prereqs on the same line in deps files + JDK-8257561: Some code is not vectorized after 8251925 and 8250607 + JDK-8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler + JDK-8257575: C2: "failed: only phis" assert failure in loop strip mining verification + JDK-8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle + JDK-8257633: Missing -mmacosx-version-min=X flag when linking libjvm + JDK-8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks + JDK-8257707: Fix incorrect format string in Http1HeaderParser + JDK-8257746: Regression introduced with JDK-8250984 - memory might be null in some machines + JDK-8257798: [PPC64] undefined reference to Klass::vtable_start_offset() + JDK-8257884: Re-enable sun/security/ssl/SSLSocketImpl/ /SSLSocketLeak.java as automatic test + JDK-8257910: [JVMCI] Set exception_seen accordingly in the runtime. + JDK-8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 + JDK-8257999: Parallel GC crash in gc/parallel/ /TestDynShrinkHeap.java: new region is not in covered_region + JDK-8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234 + JDK-8258247: Couple of issues in fix for JDK-8249906 + JDK-8258373: Update the text handling in the JPasswordField + JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder .rotateDisk() + JDK-8258419: RSA cipher buffer cleanup + JDK-8258471: "search codecache" clhsdb command does not work + JDK-8258534: Epsilon: clean up unused includes + JDK-8258805: Japanese characters not entered by mouse click on Windows 10 + JDK-8258833: Cancel multi-part cipher operations in SunPKCS11 after failures + JDK-8258836: JNI local refs exceed capacity getDiagnosticCommandInfo + JDK-8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test + JDK-8259007: This test printed a blank page + JDK-8259048: (tz) Upgrade time-zone data to tzdata2020f + JDK-8259049: Uninitialized variable after JDK-8257513 + JDK-8259231: Epsilon: improve performance under contention during virtual space expansion + JDK-8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region" + JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days + JDK-8259319: Illegal package access when SunPKCS11 requires SunJCE's classes + JDK-8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input + JDK-8259428: AlgorithmId.getEncodedParams() should return copy + JDK-8259446: runtime/jni/checked/ /TestCheckedReleaseArrayElements.java fails with stderr not empty + JDK-8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false + JDK-8259580: Shenandoah: uninitialized label in VerifyThreadGCState + JDK-8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect + JDK-8259633: compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543 + JDK-8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value + JDK-8259707: LDAP channel binding does not work with StartTLS extension + JDK-8259773: Incorrect encoding of AVX-512 kmovq instruction + JDK-8259849: Shenandoah: Rename store-val to IU-barrier + JDK-8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags + JDK-8259954: gc/shenandoah/mxbeans tests fail with -Xcomp + JDK-8260029: aarch64: fix typo in verify_oop_array + JDK-8260308: Update LogCompilation junit to 4.13.1 + JDK-8260338: Some fields in HaltNode is not cloned + JDK-8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS + JDK-8260356: (tz) Upgrade time-zone data to tzdata2021a + JDK-8260378: [TESTBUG] DcmdMBeanTestCheckJni.java reports false positive + JDK-8260497: Shenandoah: Improve SATB flushing + JDK-8260502: [s390] NativeMovRegMem::verify() fails because it's too strict + JDK-8260632: Build failures after JDK-8253353 + JDK-8260704: ParallelGC: oldgen expansion needs release-store for _end + JDK-8261022: Fix incorrect result of Math.abs() with char type + JDK-8261089: [TESTBUG] native library of test TestCheckedReleaseCriticalArray.java fails to compile with gcc 4.x + JDK-8261183: Follow on to Make lists of normal filenames + JDK-8261209: isStandalone property: remove dependency on pretty-print + JDK-8261231: Windows IME was disabled after DnD operation + JDK-8261251: Shenandoah: Use object size for full GC humongous compaction + JDK-8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined + JDK-8261334: NMT: tuning statistic shows incorrect hash distribution + JDK-8261413: Shenandoah: Disable class-unloading in I-U mode + JDK-8261522: [PPC64] AES intrinsics write beyond the destination array + JDK-8261534: Test sun/security/pkcs11/KeyAgreement/ /IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined + JDK-8261585: Restore HandleArea used in Deoptimization::uncommon_trap + JDK-8261753: Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702 + JDK-8261829: Exclude tools/jlink/JLinkReproducibleTest.java in 11u + JDK-8261912: Code IfNode::fold_compares_helper more defensively + JDK-8261920: [AIX] jshell command throws java.io.IOError on non English locales + JDK-8262018: Wrong format in SAP copyright header of OsVersionTest + JDK-8263069: Exclude some failing tests from security/infra/java/security/cert/CertPathValidator- moved mozilla-nss dependency to java-11-openjdk-headless package This is necessary to be able to do crypto with just java-11-openjdk-headless installed. Fixes boo#1184606- Added patches: * system-crypto-policy.patch + Let OpenJDK use system crypto policies unless explicitely told not to * nss-security-provider.patch + Add the NSS security provider with configuration in generated nss.cfg file * keytool-default-rsa.patch + Make keytool generate RSA keys by default, since only the LEGACY system crypto policy allows DSA- Update to upstream tag jdk-11.0.10+9 (January 2021 CPU, bsc#1181239) * Security fixes + JDK-8247619: Improve Direct Buffering of Characters * Other changes + JDK-6722928: Support SSPI as a native GSS-API provider + JDK-7185258: [macosx] Deadlock in SunToolKit.realSync() + JDK-8152332: [macosx] JFileChooser cannot be serialized on Mac OS X + JDK-8161684: [testconf] Add VerifyOops' testing into compiler tiers + JDK-8171279: Support X25519 and X448 in TLS + JDK-8173361: various crashes in JvmtiExport::post_compiled_method_load + JDK-8173658: JvmtiExport::post_class_unload() is broken for non-JavaThread initiators + JDK-8191006: hsdis disassembler plugin does not compile with binutils 2.29+ + JDK-8197981: Missing return statement in __sync_val_compare_and_swap_8 + JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode + JDK-8200151: Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/ + JDK-8208279: Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/ + JDK-8208483: Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/ + JDK-8208542: Add 4 JNDI tests to com/sun/jndi/dns/ListTests/ + JDK-8208665: Amend cross-compilation docs with qemu-debootstrap recipe + JDK-8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java + JDK-8210339: Add 10 JNDI tests to com/sun/jndi/dns/FedTests/ + JDK-8211450: UndetVar::dup is not copying the kind field to the duplicated instance + JDK-8212160: JVMTI agent crashes with "assert(_value != 0LL) failed: resolving NULL _value" + JDK-8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows) + JDK-8213400: Support choosing group name in keytool keypair generation + JDK-8213535: Windows HiDPI html lightweight tooltips are truncated + JDK-8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x + JDK-8214025: assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2 + JDK-8214242: compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions + JDK-8214787: Zero builds fail with "undefined JavaThread::thread_state()" + JDK-8215583: Exclude runtime/handshake/HandshakeWalkSuspendExitTest.java + JDK-8216012: Infinite loop in RSA KeyPairGenerator + JDK-8216324: GetClassMethods is confused by the presence of default methods in super interfaces + JDK-8217429: WebSocket over authenticating proxy fails to send Upgrade headers + JDK-8217976: test/jdk/java/net/httpclient/websocket/ /WebSocketProxyTest.java fails intermittently + JDK-8218021: Have jarsigner preserve posix permission attributes + JDK-8218287: jshell tool: input behavior unstable after 12-ea+24 on Windows + JDK-8218851: JVM crash in custom classloader stress test, JDK 12 & 13 + JDK-8220420: Cleanup c1_LinearScan + JDK-8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv + JDK-8222286: Fix for JDK-8213419 is broken on s390 + JDK-8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy + JDK-8222533: jtreg test jdk/internal/platform/cgroup/ /TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine + JDK-8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137 + JDK-8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/ /tc02t001/TestDescription.java failed + JDK-8224650: Add tests to support X25519 and X448 in TLS + JDK-8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs + JDK-8225329: -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms + JDK-8225687: Newly added sspi.cpp in JDK-6722928 still contains some small errors + JDK-8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100 + JDK-8227275: Within native OOM error handling, assertions may hang the process + JDK-8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled" + JDK-8229495: SIGILL in C2 generated OSR compilation + JDK-8230910: libsspi_bridge does not build on Windows 32bit + JDK-8232114: JVM crashed at imjpapi.dll in native code + JDK-8234147: Avoid looking up standard charsets in core libraries + JDK-8234393: [macos] printing ignores printer tray + JDK-8234863: Increase default value of MaxInlineLevel + JDK-8235218: Minimal VM is broken after JDK-8173361 + JDK-8235456: Minimal VM is broken after JDK-8212160 + JDK-8235829: graal crashes with Zombie.java test + JDK-8236124: Minimal VM slowdebug build failed after JDK-8212160 + JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding + JDK-8236944: The legVecZ operand should be limited to zmm0-zmm15 registers + JDK-8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java + JDK-8237499: JFR: Include stack trace in the ThreadStart event + JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob + JDK-8237524: AArch64: String.compareTo() may return incorrect result + JDK-8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization + JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read + JDK-8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test + JDK-8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails - XX:+VerifyOops with "verify_oop: rsi: broken oop" + JDK-8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) + JDK-8239886: Minimal VM build fails after JDK-8237499 + JDK-8240633: Memory leaks in the implementations of FileChooserUI + JDK-8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0() + JDK-8241234: Unify monitor enter/exit runtime entries. + JDK-8241311: Move some charset mapping tests from closed to open + JDK-8241797: Add some tests to the problem list + JDK-8242029: AArch64: skip G1 array copy pre-barrier if marking not active + JDK-8242335: Additional Tests for RSASSA-PSS + JDK-8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker + JDK-8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests + JDK-8242846: Bring back test/jdk/tools/jlink/plugins/ /OrderResourcesPluginTest.java + JDK-8243114: Implement montgomery{Multiply,Square}intrinsics on Windows + JDK-8243290: Improve diagnostic messages for class verification and redefinition failures + JDK-8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket + JDK-8243549: sun/security/ssl/CipherSuite/ /NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA + JDK-8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class + JDK-8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version + JDK-8244142: some hotspot/runtime tests don't check exit code of forked JVM + JDK-8244278: Excessive code cache flushes and sweeps + JDK-8244282: test/hotspot/jtreg/compiler/intrinsics/ /Test8237524.java fails with --illegal-access=deny + JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 + JDK-8244819: hsdis does not compile with binutils 2.34+ + JDK-8245051: c1 is broken if it is compiled by gcc without - fno-lifetime-dse + JDK-8245168: jlink should not be treated as a "small" tool + JDK-8245400: Upgrade to LittleCMS 2.11 + JDK-8246381: VM crashes with "Current BasicObjectLock* below than low_mark" + JDK-8246434: Threads::print_on_error assumes that the heap has been set up + JDK-8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480 + JDK-8247201: Print potential pointer value of readable stack memory in hs_err file + JDK-8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined() + JDK-8247867: Upgrade to freetype 2.10.2 + JDK-8248190: Enable Power10 system and implement new byte-reverse instructions + JDK-8248226: TestCloneAccessStressGCM fails with - XX:-ReduceBulkZeroing + JDK-8248347: windows build broken by JDK-8243114 + JDK-8248532: Every time I change keyboard language at my MacBook, Java crashes + JDK-8248552: C2 crashes with SIGFPE due to division by zero + JDK-8248596: [TESTBUG] compiler/loopopts/ /PartialPeelingUnswitch.java times out with Graal enabled + JDK-8248745: Add jarsigner and keytool tests for restricted algorithms + JDK-8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing + JDK-8248845: AArch64: stack corruption after spilling vector register + JDK-8249176: Update GlobalSignR6CA test certificates + JDK-8249183: JVM crash in "AwtFrame::WmSize" method + JDK-8249192: MonitorInfo stores raw oops across safepoints + JDK-8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed + JDK-8249603: C1: assert(has_error == false) failed: register allocation invalid + JDK-8249605: C2: assert(no_dead_loop) failed: dead loop detected + JDK-8249607: C2: assert(!had_error) failed: bad dominance + JDK-8249608: Vector register used by C2 compiled method corrupted at safepoint + JDK-8249672: Include microcode revision in features_string on x86 + JDK-8249748: gtest silently ignores bad jvm arguments + JDK-8249821: Separate libharfbuzz from libfontmanager + JDK-8250598: Hyper-V is detected in spite of running on host OS + JDK-8250605: Linux x86_32 builds fail after JDK-8249821 + JDK-8250636: iso8601_time returns incorrect offset part on MacOS + JDK-8250665: Wrong translation for the month name of May in ar_JO,LB,SY + JDK-8250772: Test com/sun/jndi/ldap/ /NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException + JDK-8250825: C2 crashes with assert(field != __null) failed: missing field + JDK-8250894: Provide a configure option to build and run against the platform libharfbuzz + JDK-8250928: JFR: Improve hash algorithm for stack traces + JDK-8250968: Symlinks attributes not preserved when using jarsigner on zip files + JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities + JDK-8251118: BiasedLocking::preserve_marks should not have a HandleMark + JDK-8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout + JDK-8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM + JDK-8251365: Build failure on AIX after 8250636 + JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray + JDK-8251456: [TESTBUG] compiler/vectorization/ /TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError + JDK-8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed" + JDK-8251535: Partial peeling at unsigned test adds incorrect loop exit check + JDK-8251949: ZGC: Set explicit heap size for compiler/gcbarriers tests + JDK-8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9) + JDK-8252415: Bump update version for OpenJDK: jdk-11.0.10 + JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/ /DisposeFrameOnDragTest.java fails on Windows + JDK-8252497: Incorrect numeric currency code for ROL + JDK-8252660: Shenandoah: support manageable SoftMaxHeapSize option + JDK-8252679: Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard + JDK-8252696: Loop unswitching may cause out of bound array load to be executed + JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent + JDK-8253219: Epsilon: clean up unnecessary includes + JDK-8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues() + JDK-8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify + JDK-8253269: The CheckCommonColors test should provide more info on failure + JDK-8253284: Zero OrderAccess barrier mappings are incorrect + JDK-8253375: OSX build fails with Xcode 12.0 (12A7209) + JDK-8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads + JDK-8253791: Issue with useAppleColor check in CSystemColors.m + JDK-8254016: Test8237524 fails with -XX:-CompactStrings option + JDK-8254081: java/security/cert/PolicyNode/ /GetPolicyQualifiers.java fails due to an expired certificate + JDK-8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp + JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp + JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b + JDK-8254185: Fix Code cache sweeper heuristics for JDK 11 + JDK-8254190: [s390] interpreter misses exception check after calling monitorenter + JDK-8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics + JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations + JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c + JDK-8255050: Add pkcs11/KeyStore/ClientAuth.sh to Problem list + JDK-8255065: Zero: accessor_entry misses the IRIW case + JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d + JDK-8255269: Unsigned overflow in g1Policy.cpp + JDK-8255365: Problem list failing client manual tests + JDK-8255457: Shenandoah: cleanup ShenandoahMarkTask + JDK-8255466: C2 crashes at ciObject::get_oop() const+0x0 + JDK-8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect + JDK-8255603: Memory/Performance regression after JDK-8210985 + JDK-8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback + JDK-8255781: Bump patch update version for OpenJDK: jdk-11.0.9.1 + JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java + JDK-8256427: Test com/sun/jndi/dns/ConfigTests/ /PortUnreachable.java does not work on AIX + JDK-8256452: Integrate missing part of JDK-8232370 to 11u + JDK-8256483: [TESTBUG] serviceability/jvmti/GetClassMethods/ /libOverpassMethods.c fails to compile on gcc 4.4.x + JDK-8256557: libharfbuzz fails to link on gcc 4.4.x due to - Wl,-z,defs + JDK-8256618: Zero: Linux x86_32 build still fails + JDK-8256736: Zero: GTest tests fail with "unsuppported vm variant" + JDK-8256809: Annotation processing causes NPE during flow analysis + JDK-8257181: s390x builds are very noisy with gc-sections messages + JDK-8257242: [macOS] Java app crashes while switching input methods + JDK-8257545: SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport + JDK-8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false + JDK-8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays + JDK-8258630: Add expiry exception for QuoVadis root certificate - New upstream dependency on libharfbuzz - Regenerated patches: missing-return.patch system-pcsclite.patch- Update to upstream tag jdk-11.0.9.1-1 * Fix: + JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) - Removed patch: * JDK-8250861.patch + Integrated upstream- Enable Sheandoah GC for x86_64 (jsc#ECO-3171)- Update to upstream tag jdk-11.0.9-11 (October 2020 CPU, bsc#1177943) * New features + JDK-8250784: Shenandoah: A Low-Pause-Time Garbage Collector * Security fixes + JDK-8233624: Enhance JNI linkage + JDK-8236196: Improve string pooling + JDK-8236862, CVE-2020-14779: Enhance support of Proxy class + JDK-8237990, CVE-2020-14781: Enhanced LDAP contexts + JDK-8237995, CVE-2020-14782: Enhance certificate processing + JDK-8240124: Better VM Interning + JDK-8241114, CVE-2020-14792: Better range handling + JDK-8242680, CVE-2020-14796: Improved URI Support + JDK-8242685, CVE-2020-14797: Better Path Validation + JDK-8242695, CVE-2020-14798: Enhanced buffer support + JDK-8243302: Advanced class supports + JDK-8244136, CVE-2020-14803: Improved Buffer supports + JDK-8244479: Further constrain certificates + JDK-8244955: Additional Fix for JDK-8240124 + JDK-8245407: Enhance zoning of times + JDK-8245412: Better class definitions + JDK-8245417: Improve certificate chain handling + JDK-8248574: Improve jpeg processing + JDK-8249927: Specify limits of jdk.serialProxyInterfaceLimit + JDK-8253019: Enhanced JPEG decoding * Other changes + JDK-6532025: GIF reader throws misleading exception with truncated images + JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/ /PDialogTest.java needs update by removing an infinite loop + JDK-8022535: [TEST BUG] javax/swing/text/html/parser/ /Test8017492.java fails + JDK-8062947: Fix exception message to correctly represent LDAP connection failure + JDK-8067354: com/sun/jdi/GetLocalVariables4Test.sh failed + JDK-8134599: TEST_BUG: java/rmi/transport/closeServerSocket/ /CloseServerSocket.java fails intermittently with Address already in use + JDK-8151678: com/sun/jndi/ldap/LdapTimeoutTest.java failed due to timeout on DeadServerNoTimeoutTest is incorrect + JDK-8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider + JDK-8172404: Tools should warn if weak algorithms are used before restricting them + JDK-8193367: Annotated type variable bounds crash javac + JDK-8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset + JDK-8203026: java.rmi.NoSuchObjectException: no such object in table + JDK-8203281: [Windows] JComboBox change in ui when editor.setBorder() is called + JDK-8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass + JDK-8203393: com/sun/jdi/JdbMethodExitTest.sh and JdbExprTest.sh fail due to timeout + JDK-8203928: [Test] Convert non-JDB scaffolding serviceability shell script tests to java + JDK-8204963: javax.swing.border.TitledBorder has a memory leak + JDK-8204994: SA might fail to attach to process with "Windbg Error: WaitForEvent failed" + JDK-8205534: Remove SymbolTable dependency from serviceability agent + JDK-8206309: Tier1 SA tests fail + JDK-8208281: java/nio/channels/ /AsynchronousSocketChannel/Basic.java timed out + JDK-8209109: [TEST] rewrite com/sun/jdi shell tests to java version - step1 + JDK-8209332: [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh is incorrect + JDK-8209342: Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent! + JDK-8209343: Test javax/swing/border/TestTitledBorderLeak.java should be marked as headful + JDK-8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout + JDK-8209604: [TEST] rewrite com/sun/jdi shell tests to java version - step2 + JDK-8209605: com/sun/jdi/BreakpointWithFullGC.java fails with ZGC + JDK-8209608: Problem list com/sun/jdi/BreakpointWithFullGC.java + JDK-8210131: vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ /ap10t001/TestDescription.java failed with ObjectFree: GetCurrentThreadCpuTimerInfo returned unexpected error code + JDK-8210243: [TEST] rewrite com/sun/jdi shell tests to java version - step3 + JDK-8210527: JShell: NullPointerException in jdk.jshell.Eval.translateExceptionStack + JDK-8210560: [TEST] convert com/sun/jdi redefineClass-related tests + JDK-8210725: com/sun/jdi/RedefineClearBreakpoint.java fails with waitForPrompt timed out after 60 seconds + JDK-8210748: [TESTBUG] lib.jdb.Jdb.waitForPrompt() should clarify which output is the pending reply after a timeout + JDK-8210760: [TEST] rewrite com/sun/jdi shell tests to java version - step4 + JDK-8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject + JDK-8211292: [TEST] convert com/sun/jdi/DeferredStepTest.sh test + JDK-8211694: JShell: Redeclared variable should be reset + JDK-8212200: assert when shared java.lang.Object is redefined by JVMTI agent + JDK-8212629: [TEST] wrong breakpoint in test/jdk/com/sun/jdi/DeferredStepTest + JDK-8212665: com/sun/jdi/DeferredStepTest.java: jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55 + JDK-8212807: tools/jar/multiRelease/Basic.java times out + JDK-8213182: Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent) + JDK-8213214: Set -Djava.io.tmpdir= when running tests + JDK-8213275: ReplaceCriticalClasses.java fails with jdk.internal.vm.PostVMInitHook not found + JDK-8213574: Deadlock in string table expansion when dumping lots of CDS classes + JDK-8213703: LambdaConversionException: Invalid receiver type not a subtype of implementation type interface + JDK-8214074: Ghash optimization using AVX instructions + JDK-8214491: Upgrade to JLine 3.9.0 + JDK-8214797: TestJmapCoreMetaspace.java timed out + JDK-8215243: JShell tests failing intermitently with "Problem cleaning up the following threads:" + JDK-8215244: jdk/jshell/ToolBasicTest.java testHistoryReference failed + JDK-8215354: x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions) + JDK-8215438: jshell tool: Ctrl-D causes EOF + JDK-8216021: RunTest.gmk might set concurrency level to 1 on Windows + JDK-8216974: HttpConnection not returned to the pool after 204 response + JDK-8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time + JDK-8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs + JDK-8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs + JDK-8221658: aarch64: add necessary predicate for ubfx patterns + JDK-8221759: Crash when completing "java.io.File.path" + JDK-8221918: runtime/SharedArchiveFile/serviceability/ /ReplaceCriticalClasses.java fails: Shared archive not found + JDK-8222074: Enhance auto vectorization for x86 + JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp + JDK-8222769: [TESTBUG] TestJFRNetworkEvents should not rely on hostname command + JDK-8223688: JShell: crash on the instantiation of raw anonymous class + JDK-8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error + JDK-8223940: Private key not supported by chosen signature algorithm + JDK-8224184: jshell got IOException at exiting with AIX + JDK-8224234: compiler/codegen/TestCharVect2.java fails in test_mulc + JDK-8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException + JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions + JDK-8226536: Catch OOM from deopt that fails rematerializing objects + JDK-8226575: OperatingSystemMXBean should be made container aware + JDK-8226697: Several tests which need the @key headful keyword are missing it. + JDK-8226809: Circular reference in printed stack trace is not correctly indented & ambiguous + JDK-8227059: sun/security/tools/keytool/ /DefaultSignatureAlgorithm.java timed out + JDK-8227269: Slow class loading when running with JDWP + JDK-8227595: keytool/fakegen/DefaultSignatureAlgorithm.java fails due to "exitValue = 6" + JDK-8228448: Jconsole can't connect to itself + JDK-8228967: Trust/Key store and SSL context utilities for tests + JDK-8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow + JDK-8229815: Upgrade Jline to 3.12.1 + JDK-8230000: some httpclients testng tests run zero test + JDK-8230002: javax/xml/jaxp/unittest/transform/ /SecureProcessingTest.java runs zero test + JDK-8230010: Remove jdk8037819/BasicTest1.java + JDK-8230094: CCE in createXMLEventWriter(Result) over an arbitrary XMLStreamWriter + JDK-8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?" + JDK-8230767: FlightRecorderListener returns null recording + JDK-8230870: (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/EntryCount64k.java + JDK-8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread + JDK-8231586: enlarge encoding space for OopMapValue offsets + JDK-8231953: Wrong assumption in assertion in oop::register_oop + JDK-8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes + JDK-8232083: Minimal VM is broken after JDK-8231586 + JDK-8232161: Align some one-way conversion in MS950 charset with Windows + JDK-8232855: jshell missing word in /help help + JDK-8233027: OopMapSet::all_do does oms.next() twice during iteration + JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR + JDK-8233386: Initialize NULL fields for unused decorations + JDK-8233452: java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result + JDK-8233686: XML transformer uses excessive amount of memory + JDK-8233741: AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions + JDK-8233829: javac cannot find non-ASCII module name under non-UTF8 environment + JDK-8233958: Memory retention due to HttpsURLConnection finalizer that serves no purpose + JDK-8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater() + JDK-8234058: runtime/CompressedOops/ /CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr + JDK-8234149: Several regression tests do not dispose Frame at end + JDK-8234347: "Turkey" meta time zone does not generate composed localized names + JDK-8234385: [TESTBUG] java/awt/EventQueue/6980209/ /bug6980209.java fails in linux nightly + JDK-8234535: Cross compilation fails due to missing CFLAGS for the BUILD_CC + JDK-8234541: C1 emits an empty message when it inlines successfully + JDK-8234687: change javap reporting on unknown attributes + JDK-8236464: SO_LINGER option is ignored by SSLSocket in JDK 11 + JDK-8236548: Localized time zone name inconsistency between English and other locales + JDK-8236617: jtreg test containers/docker/ /TestMemoryAwareness.java fails after 8226575 + JDK-8237182: Update copyright header for shenandoah and epsilon files + JDK-8237888: security/infra/java/security/cert/ /CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval + JDK-8237977: Further update javax/net/ssl/compatibility/Compatibility.java + JDK-8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response + JDK-8238284: [macos] Zero VM build fails due to an obvious typo + JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 + JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 + JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 + JDK-8238448: RSASSA-PSS signature verification fail when using certain odd key sizes + JDK-8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code + JDK-8239083: C1 assert(known_holder == NULL || (known_holder->is_instance_klass() && (!known_holder->is_interface() || ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), "should be non-static concrete method"); + JDK-8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD + JDK-8240169: javadoc fails to link to non-modular api docs + JDK-8240295: hs_err elapsed time in seconds is not accurate enough + JDK-8240360: NativeLibraryEvent has wrong library name on Linux + JDK-8240676: Meet not symmetric failure when running lucene on jdk8 + JDK-8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support + JDK-8241065: Shenandoah: remove leftover code after JDK-8231086 + JDK-8241086: Test runtime/NMT/HugeArenaTracking.java is failing on 32bit Windows + JDK-8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException + JDK-8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector + JDK-8241319: WB_GetCodeBlob doesn't have ResourceMark + JDK-8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME + JDK-8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure + JDK-8241750: x86_32 build failure after JDK-8227269 + JDK-8242184: CRL generation error with RSASSA-PSS + JDK-8242283: Can't start JVM when java home path includes non-ASCII character + JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array + JDK-8243029: Rewrite javax/net/ssl/compatibility/ /Compatibility.java with a flexible interop test framework + JDK-8243138: Enhance BaseLdapServer to support starttls extended request + JDK-8243320: Add SSL root certificates to Oracle Root CA program + JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program + JDK-8243389: enhance os::pd_print_cpu_info on linux + JDK-8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment + JDK-8243470: [macos] bring back O2 opt level for unsafe.cpp + JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions + JDK-8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows) + JDK-8244087: 2020-04-24 public suffix list update + JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26 + JDK-8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base + JDK-8244196: adjust output in os_linux + JDK-8244225: stringop-overflow warning on strncpy call from compile_the_world_in + JDK-8244287: JFR: Methods samples have line number 0 + JDK-8244703: "platform encoding not initialized" exceptions with debugger, JNI + JDK-8244719: CTW: C2 compilation fails with "assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it" + JDK-8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb + JDK-8244763: Update --release 8 symbol information after JSR 337 MR3 + JDK-8244818: Java2D Queue Flusher crash while moving application window to external monitor + JDK-8245151: jarsigner should not raise duplicate warnings on verification + JDK-8245616: Bump update version for OpenJDK: jdk-11.0.9 + JDK-8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch + JDK-8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!" + JDK-8245832: JDK build make-static-libs should build all JDK libraries + JDK-8245880: Shenandoah: check class unloading flag early in concurrent code root scan + JDK-8245981: Upgrade to jQuery 3.5.1 + JDK-8246027: Minimal fastdebug build broken after JDK-8245801 + JDK-8246094: [macos] Sound Recording and playback is not working + JDK-8246153: TestEliminateArrayCopy fails with - XX:+StressReflectiveCode + JDK-8246193: Possible NPE in ENC-PA-REP search in AS-REQ + JDK-8246196: javax/management/MBeanServer/OldMBeanServerTest fails with AssertionError + JDK-8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN + JDK-8246330: Add TLS Tests for Legacy ECDSA curves + JDK-8246453: TestClone crashes with "all collected exceptions must come from the same place" + JDK-8247246: Add explicit ResolvedJavaType.link and expose presence of default methods + JDK-8247350: [aarch64] assert(false) failed: wrong size of mach node + JDK-8247502: PhaseStringOpts crashes while optimising effectively dead code + JDK-8247615: Initialize the bytes left for the heap sampler + JDK-8247824: CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand + JDK-8247874: Replacement in VersionProps.java.template not working when --with-vendor-bug-url contains '&' + JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg + JDK-8248214: Add paddings for TaskQueueSuper to reduce false-sharing cache contention + JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield + JDK-8248348: Regression caused by the update to BCEL 6.0 + JDK-8248385: [testbug][11u] Adapt TestInitiExceptions to jtreg 5.1 + JDK-8248495: [macos] zerovm is broken due to libffi headers location + JDK-8248851: CMS: Missing memory fences between free chunk check and klass read + JDK-8248987: AOT's Linker.java seems to eagerly fail-fast on Windows + JDK-8249159: Downport test rework for SSLSocketTemplate from 8224650 + JDK-8249215: JFrame::setVisible crashed with - Dfile.encoding=UTF-8 on Japanese Windows. + JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel + JDK-8249255: Build fails if source code in cygwin home dir + JDK-8249277: TestVerifyIterativeGVN.java is failing with timeout in OpenJDK 11 + JDK-8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList + JDK-8249560: Shenandoah: Fix racy GC request handling + JDK-8249801: Shenandoah: Clear soft-refs on requested GC cycle + JDK-8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases + JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets + JDK-8250609: C2 crash in IfNode::fold_compares + JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics + JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java + JDK-8250787: Provider.put no longer registering aliases in FIPS env + JDK-8250826: jhsdb does not work with coredump which comes from Substrate VM + JDK-8250827: Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk + JDK-8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds + JDK-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher + JDK-8251354: Shenandoah: Fix jdk/jfr/tool/TestPrintJSON.java test failure + JDK-8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U + JDK-8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java + JDK-8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase + JDK-8252120: compiler/oracle/TestCompileCommand.java misspells "occured" + JDK-8252157: JDK-8231209 11u backport breaks jmm binary compatibility + JDK-8252258: [11u] JDK-8242154 changes the default vendor + JDK-8252804: [test] Fix 'ReleaseDeflater.java' test after downport of 8234011 + JDK-8253134: JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11 + JDK-8253283: [11u] Test build/translations/ /VerifyTranslations.java failing after JDK-8252258 + JDK-8253813: Backout JDK-8244287 from 11u: it causes several crashes - Removed patch: * gcc-fno-common-fix.patch + not needed any more with this version - Added patch: * JDK-8250861.patch + Fix regression "8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)" introduced in jdk 11.0.9- Update to upstream tag jdk-11.0.8+10 (July 2020 CPU, bsc#1174157) * Security fixes: + JDK-8230613: Better ASCII conversions + JDK-8231800: Better listing of arrays + JDK-8232014: Expand DTD support + JDK-8233234: Better Zip Naming + JDK-8233239, CVE-2020-14562: Enhance TIFF support + JDK-8233255: Better Swing Buttons + JDK-8234032: Improve basic calendar services + JDK-8234042: Better factory production of certificates + JDK-8234418: Better parsing with CertificateFactory + JDK-8234836: Improve serialization handling + JDK-8236191: Enhance OID processing + JDK-8236867, CVE-2020-14573: Enhance Graal interface handling + JDK-8237117, CVE-2020-14556: Better ForkJoinPool behavior + JDK-8237592, CVE-2020-14577: Enhance certificate verification + JDK-8238002, CVE-2020-14581: Better matrix operations + JDK-8238013: Enhance String writing + JDK-8238804: Enhance key handling process + JDK-8238842: AIOOBE in GIFImageReader.initializeStringTable + JDK-8238843: Enhanced font handing + JDK-8238920, CVE-2020-14583: Better Buffer support + JDK-8238925: Enhance WAV file playback + JDK-8240119, CVE-2020-14593: Less Affine Transformations + JDK-8240482: Improved WAV file playback + JDK-8241379: Update JCEKS support + JDK-8241522: Manifest improved jar headers redux + JDK-8242136, CVE-2020-14621: Better XML namespace handling * Other changes: + JDK-6933331: (d3d/ogl) java.lang.IllegalStateException: Buffers have not been created + JDK-7124307: JSpinner and changing value by mouse + JDK-8022574: remove HaltNode code after uncommon trap calls + JDK-8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails + JDK-8040630: Popup menus and tooltips flicker with previous popup contents when first shown + JDK-8044365: (dc) MulticastSendReceiveTests.java failing with ENOMEM when joining group (OS X 10.9) + JDK-8048215: [TESTBUG] java/lang/management/ManagementFactory/ThreadMXBeanProxy.java Expected non-null LockInfo + JDK-8051349: nsk/jvmti/scenarios/sampling/SP06/sp06t003 fails in nightly + JDK-8080353: JShell: Better error message on attempting to add default method + JDK-8139876: Exclude hanging nsk/stress/stack from execution with deoptimization enabled + JDK-8146090: java/lang/ref/ReachabilityFenceTest.java fails with -XX:+DeoptimizeALot + JDK-8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout + JDK-8156207: Resource allocated BitMaps are often cleared unnecessarily + JDK-8159740: JShell: corralled declarations do not have correct source to wrapper mapping + JDK-8175984: ICC_Profile has un-needed, not-empty finalize method + JDK-8176359: Frame#setMaximizedbounds not working properly in multi screen environments + JDK-8183369: RFC unconformity of HttpURLConnection with proxy + JDK-8187078: -XX:+VerifyOops finds numerous problems when running JPRT + JDK-8189861: Refactor CacheFind + JDK-8191169: java/net/Authenticator/B4769350.java failed intermittently + JDK-8191930: [Graal] emits unparseable XML into compile log + JDK-8193879: Java debugger hangs on method invocation + JDK-8196019: java/awt/Window/Grab/GrabTest.java fails on Windows + JDK-8196181: sun/java2d/GdiRendering/InsetClipping.java fails + JDK-8198000: java/awt/List/EmptyListEventTest/EmptyListEventTest.java debug assert on Windows + JDK-8198001: java/awt/Menu/WrongParentAfterRemoveMenu/ /WrongParentAfterRemoveMenu.java debug assert on Windows + JDK-8198339: Test javax/swing/border/Test6981576.java is unstable + JDK-8200701: jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801 + JDK-8203264: JNI exception pending in PlainDatagramSocketImpl.c:740 + JDK-8203672: JNI exception pending in PlainSocketImpl.c + JDK-8203673: JNI exception pending in DualStackPlainDatagramSocketImpl.c:398 + JDK-8204834: Fix confusing "allocate" naming in OopStorage + JDK-8205399: Set node color on pinned HashMap.TreeNode deletion + JDK-8205653: test/jdk/sun/management/jmxremote/bootstrap/ /RmiRegistrySslTest.java and RmiSslBootstrapTest.sh fail with handshake_failure + JDK-8206179: com/sun/management/OperatingSystemMXBean/ /GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value + JDK-8207334: VM times out in VM_HandshakeAllThreads::doit() with RunThese30M + JDK-8208277: Code cache heap (-XX:ReservedCodeCacheSize) doesn't work with 1GB LargePages + JDK-8209113: Use WeakReference for lastFontStrike for created Fonts + JDK-8209333: Socket reset issue for TLS 1.3 socket close + JDK-8209439: C2 library_call can potentially ignore Math.pow intrinsic or use null pointer + JDK-8209534: [TESTBUG]runtime/appcds/cacheObject/ /ArchivedModuleCompareTest.java fails with EnableJVMCI. + JDK-8210147: adjust some WSAGetLastError usages in windows network coding + JDK-8210284: "assert((av & 0x00000001) == 0) failed: unsupported V8" on Solaris 11.4 + JDK-8210303: VM_HandshakeAllThreads fails assert with "failed: blocked and not walkable" + JDK-8210459: Add support for generating compile_commands.json + JDK-8210515: [TESTBUG]CheckArchivedModuleApp.java needs to check if EnableJVMCI is set. + JDK-8210788: Javadoc for Thread.join(long, int) should specify that it waits forever when both arguments are zero + JDK-8211301: [macos] support full window content options + JDK-8211332: Space for stub routines (code_size2) is too small on new Skylake CPUs + JDK-8211339: NPE during SSL handshake caused by HostnameChecker + JDK-8211392: compiler/profiling/ /spectrapredefineclass_classloaders/Launcher.java times out in JDK12 CI + JDK-8211743: [AOT] crash in ScopeDesc::decode_body() when JVMTI walks AOT frames + JDK-8212154: [TESTBUG] CheckArchivedModuleApp fails with NPE when JVMCI is absent + JDK-8212167: JShell : Stack trace of exception has wrong line number + JDK-8212933: Thread-SMR: requesting a VM operation whilst holding a ThreadsListHandle can cause deadlocks + JDK-8212986: Make Visual Studio compiler check less strict + JDK-8213250: CDS archive creation aborts due to metaspace object allocation failure + JDK-8213516: jck test api/javax_accessibility/AccessibleState/ /fields.html fails intermittent + JDK-8213947: ARM32: failed check_simd should set UsePopCountInstruction to false + JDK-8214418: half-closed SSLEngine status may cause application dead loop + JDK-8214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server does not match the hostname in the server's certificate" + JDK-8214444: Wrong strncat limits in dfa.cpp + JDK-8214481: freetype path does not disable TrueType hinting with AA+FM hints + JDK-8214571: -Xdoclint of array serialField gives "error: array type not allowed here" + JDK-8214856: Errors with JSZip in web console after upgrade to 3.1.5 + JDK-8214862: assert(proj != __null) at compile.cpp:3251 + JDK-8215369: Jcstress pollute /var/tmp with temporary files. + JDK-8215551: Missing case label in nmethod::reloc_string_for() + JDK-8215555: TieredCompilation C2 threads can excessively block handshakes + JDK-8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension + JDK-8216151: [Graal] Module jdk.internal.vm.compiler.management has not been granted accessClassInPackage.org.graalvm.compiler.debug + JDK-8216154: C4819 warnings at HotSpot sources on Windows + JDK-8216541: CompiledICHolders of VM locked unloaded nmethods are released too late + JDK-8217230: assert(t == t_no_spec) failure in NodeHash::check_no_speculative_types() + JDK-8217404: --with-jvm-features doesn't work when multiple features are explicitly disabled + JDK-8217447: Develop flag TraceICs is broken + JDK-8217606: LdapContext#reconnect always opens a new connection + JDK-8218807: Compilation database (compile_commands.json) may contain obsolete items + JDK-8219214: Infinite Loop in CodeSection::dump() + JDK-8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings() + JDK-8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl + JDK-8221121: applications/microbenchmarks are encountering crashes in tier5 + JDK-8221445: FastSysexMessage constructor crashes MIDI receiption thread + JDK-8221482: Initialize VMRegImpl::regName[] earlier to prevent assert during PrintStubCode + JDK-8221741: ClassCastException can happen when fontconfig.properties is used + JDK-8221823: Requested JDialog width is ignored + JDK-8223108: Test java/awt/EventQueue/ /NonComponentSourcePost.java is unstable + JDK-8223678: Add Visual Studio Code workspace generation support (for native code) + JDK-8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10 + JDK-8224109: Text spaced incorrectly by drawString under rotation with fractional metric + JDK-8224632: testbug: java/awt/dnd/RemoveDropTargetCrashTest/ /RemoveDropTargetCrashTest.java fails on MacOS + JDK-8224793: os::die() does not honor CreateCoredumpOnCrash option + JDK-8224847: gc/stress/TestReclaimStringsLeaksMemory.java fails with reserved greater than expected + JDK-8224931: disable JAOTC invokedynamic support until 8223533 is fixed + JDK-8224997: ChaCha20-Poly1305 TLS cipher suite decryption throws ShortBufferException + JDK-8225068: Remove DocuSign root certificate that is expiring in May 2020 + JDK-8225069: Remove Comodo root certificate that is expiring in May 2020 + JDK-8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled + JDK-8225325: Add tests for redefining a class' private method during resolution of the bootstrap specifier + JDK-8225622: [AOT] runtime/SharedArchiveFile/ /TestInterpreterMethodEntries.java crashed with AOTed java.base + JDK-8225653: Provide more information when hitting SIGILL from HaltNode + JDK-8225783: Incorrect use of binary operators on booleans in type.cpp + JDK-8225789: Empty method parameter type should generate ClassFormatError + JDK-8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state + JDK-8226253: JAWS reports wrong number of radio buttons when buttons are hidden. + JDK-8226653: [accessibility] Can edit text cell correctly, but Accessibility Tool reads nothing about editor + JDK-8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread + JDK-8226879: Memory leak in Type::hashcons + JDK-8227632: Incorrect PrintCompilation message: made not compilable on levels 0 1 2 3 4 + JDK-8228407: JVM crashes with shared archive file mismatch + JDK-8228482: fix xlc16/xlclang comparison of distinct pointer types and string literal conversion warnings + JDK-8228757: Fail fast if the handshake type is unknown + JDK-8229158: make UseSwitchProfiling non-experimental or false by-default + JDK-8229421: The logic of java/net/ipv6tests/TcpTest.java is flawed + JDK-8229855: C2 fails with assert(false) failed: bad AD file + JDK-8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint + JDK-8231118: ARM32: Math tests failures + JDK-8231213: Migrate SimpleDateFormatConstTest to JDK Repo + JDK-8231243: [TESTBUG] CustomFont.java cannot find font file + JDK-8231438: [macOS] Dark mode for the desktop is not supported + JDK-8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling + JDK-8231564: setMaximizedBounds is broken with large display scale and multiple monitors + JDK-8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity + JDK-8231631: sun/net/ftp/FtpURLConnectionLeak.java fails intermittently with NPE + JDK-8231671: Fix copyright headers in hotspot (missing comma after year) + JDK-8231720: Some perf regressions after 8225653 + JDK-8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate + JDK-8231863: Crash if classpath is read from @argument file and the main gets option argument + JDK-8232080: jlink plugins for vendor information and run-time options + JDK-8232106: [x86] C2: SIGILL due to usage of SSSE3 instructions on processors which don't support it + JDK-8232134: Change to Visual Studio 2017 15.9.16 for building on Windows at Oracle + JDK-8232226: [macos 10.15] test/jdk/java/awt/color/ /EqualityTest/EqualityTest.java may fail + JDK-8232357: Compare version info of Santuario to legal notice + JDK-8232572: Add hooks for custom output dir in Bundles.gmk + JDK-8232634: Problem List ICMColorDataTest.java + JDK-8232748: Build static versions of certain JDK libraries + JDK-8232846: ProcessHandle.Info command with non-English shows question marks + JDK-8232880: Update test documentation with additional settings for client UI tooltip tests + JDK-8233033: C2 produces wrong result while unswitching a loop due to lost control dependencies + JDK-8233137: runtime/ErrorHandling/VeryEarlyAssertTest.java fails after 8232080 + JDK-8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing + JDK-8233291: [TESTBUG] tools/jlink/plugins/ /VendorInfoPluginsTest.java fails with debug or non-server VMs + JDK-8233364: Fix undefined behavior in Canonicalizer::do_ShiftOp + JDK-8233494: Avoid calling MallocTracker::record_malloc and record_free when NMT is off + JDK-8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException + JDK-8233608: Minimal build broken after JDK-8233494 + JDK-8233621: Mismatch in jsse.enableMFLNExtension property name + JDK-8233696: [TESTBUG]Some jtreg tests fail when CAPS_LOCK is ON + JDK-8233707: systemScale.cpp could not compile with VS2019 + JDK-8233801: GCMEmptyIv.java test fails on Solaris 11.4 + JDK-8233880: Support compilers with multi-digit major version numbers + JDK-8233920: MethodHandles::tryFinally generates illegal bytecode for long/double return type + JDK-8234137: The "AutoTestOnTop.java" test may run external applications + JDK-8234146: compiler/jsr292/ /ContinuousCallSiteTargetChange.java times out on SPARC + JDK-8234184: [TESTBUG] java/awt/Mouse/EnterExitEvents/ /ModalDialogEnterExitEventsTest.java fails in Windows + JDK-8234270: [REDO] JDK-8204128 NMT might report incorrect numbers for Compiler area + JDK-8234332: [TESTBUG] java/awt/Focus/DisposedWindow/ /DisposeDialogNotActivateOwnerTest/ /DisposeDialogNotActivateOwnerTest.java fails on linux-x64 nightly + JDK-8234398: Replace ID2D1Factory::GetDesktopDpi with GetDeviceCaps + JDK-8234522: [macos] Crash with use of native file dialog + JDK-8234691: Potential double-free in ParallelSPCleanupTask constructor + JDK-8234696: tools/jlink/plugins/VendorInfoPluginsTest.java times out + JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3 + JDK-8234728: Some security tests should support TLSv1.3 + JDK-8234779: Provide idiom for declaring classes noncopyable + JDK-8234824: java/nio/channels/SocketChannel/AdaptSocket.java fails on Windows 10 + JDK-8234968: check calloc rv in libinstrument InvocationAdapter + JDK-8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/ /DrawImageBG/SystemBgColorTest.java fails + JDK-8235183: Remove the "HACK CODE" in comment + JDK-8235263: Revert TLS 1.3 change that wrapped IOExceptions + JDK-8235311: Tag mismatch may alert bad_record_mac + JDK-8235332: TestInstanceCloneAsLoadsStores.java fails with - XX:+StressGCM + JDK-8235452: Strip mined loop verification fails with assert(is_OuterStripMinedLoop()) failed: invalid node class + JDK-8235584: UseProfiledLoopPredicate fails with assert(_phase->get_loop(c) == loop) failed: have to be in the same loop + JDK-8235620: Broken merge between JDK-8006406 and JDK-8003559 + JDK-8235638: NPE in LWWindowPeer.getOnscreenGraphics() + JDK-8235686: Add more custom hooks in Bundles.gmk + JDK-8235739: Rare NPE at WComponentPeer.getGraphics() + JDK-8235762: JVM crash in SWPointer during C2 compilation + JDK-8235834: IBM-943 charset encoder needs updating + JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property. + JDK-8235908: omit ThreadPriorityPolicy warning when value is set from image + JDK-8235984: C2: assert(out->in(PhiNode::Region) == head || out->in(PhiNode::Region) == slow_head) failed: phi must be either part of the slow or the fast loop + JDK-8236211: [Graal] compiler/graalunit/GraphTest.java is skipped in all testing + JDK-8236470: Deal with ECDSA using ecdsa-with-SHA2 plus hash algorithm as AlgorithmId + JDK-8236545: Compilation error in mach5 java/awt/FileDialog/MacOSGoToFolderCrash.java + JDK-8236700: Upgrading JSZip from v3.1.5 to v3.2.2 + JDK-8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling + JDK-8236897: Fix the copyright header for pkcs11gcm2.h + JDK-8236921: Add build target to produce a JDK image suitable for a Graal/SVM build + JDK-8236953: [macos] JavaFX SwingNode is not rendered on macOS + JDK-8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing + JDK-8237045: JVM uses excessive memory with -XX:+EnableJVMCI - XX:JVMCICounterSize=2147483648 + JDK-8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs + JDK-8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291 + JDK-8237192: Generate stripped/public pdbs on Windows for jdk images + JDK-8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers + JDK-8237474: Default SSLEngine should create in server role + JDK-8237859: C2: Crash when loads float above range check + JDK-8237879: make 4.3 breaks build + JDK-8237951: CTW: C2 compilation fails with "malformed control flow" + JDK-8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks + JDK-8238190: [JVMCI] Fix single implementor speculation for diamond shapes. + JDK-8238356: CodeHeap::blob_count() overestimates the number of blobs + JDK-8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01 + JDK-8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB + JDK-8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows) + JDK-8238676: jni crashes on accessing it from process exit hook + JDK-8238721: Add failing client jtreg tests to the Problem List + JDK-8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device + JDK-8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node + JDK-8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly + JDK-8238898: Missing hash characters for header on license file + JDK-8238942: Rendering artifacts with LCD text and fractional metrics + JDK-8238985: [TESTBUG] The arrow image is blue instead of green + JDK-8239000: handle ContendedPaddingWidth in vm_version_ppc + JDK-8239055: Wrong implementation of VMState.hasListener + JDK-8239091: Reversed arguments in call to strstr in freetype "debug" code. + JDK-8239142: C2's UseUniqueSubclasses optimization is broken for array accesses + JDK-8239224: libproc_impl.c previous_thr may be used uninitialized warning + JDK-8239351: Give more meaningful InternalError messages in Deflater.c + JDK-8239365: ProcessBuilder test modifications for AIX execution + JDK-8239456: vtable stub generation: assert failure (code size estimate) + JDK-8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect + JDK-8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns + JDK-8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true + JDK-8239787: AArch64: String.indexOf may incorrectly handle empty strings + JDK-8239792: Bump update version for OpenJDK: jdk-11.0.8 + JDK-8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException + JDK-8239819: XToolkit: Misread of screen information memory + JDK-8239852: java/util/concurrent tests fail with - XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed + JDK-8239893: Windows handle Leak when starting processes using ProcessBuilder + JDK-8239915: Zero VM crashes when handling dynamic constant + JDK-8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up + JDK-8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" + JDK-8239976: Put JDK-8239965 on the ProblemList.txt + JDK-8240073: Fix 'test-make' build target in 11u + JDK-8240197: Cannot start JVM when $JAVA_HOME includes CJK characters + JDK-8240202: A few client tests leave mouse buttons pressed + JDK-8240220: IdealLoopTree::dump_head predicate printing is broken + JDK-8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate + JDK-8240227: Loop predicates should be copied to unswitched loops + JDK-8240286: [TESTBUG] Test command error in hotspot/jtreg/ /compiler/loopopts/superword/SumRedAbsNeg_Float.java + JDK-8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print + JDK-8240529: CheckUnhandledOops breaks NULL check in Modules::define_module + JDK-8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges + JDK-8240603: Windows 32bit compile error after 8238676 + JDK-8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk + JDK-8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" + JDK-8240786: [TESTBUG] The test java/awt/Window/ /GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen + JDK-8240824: enhance print_full_memory_info on Linux by THP related information + JDK-8240827: Downport SSLSocketImpl.java from "8221882: Use fiber-friendly java.util.concurrent.locks in JSSE" + JDK-8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once? + JDK-8240972: macOS codesign fail on macOS 10.13.5 or older + JDK-8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java + JDK-8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete + JDK-8241464: [11u] Backport: make rehashing be a needed guaranteed safepoint cleanup action + JDK-8241556: Memory leak if -XX:CompileCommand is set + JDK-8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted" + JDK-8241586: compiler/cpuflags/ /TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64 + JDK-8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set + JDK-8241660: Add virtualization information output to hs_err file on macOS + JDK-8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS + JDK-8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one + JDK-8241900: Loop unswitching may cause dependence on null check to be lost + JDK-8241948: enhance list of environment variables printed in hs_err file + JDK-8241996: on linux set full relro in the linker flags + JDK-8242108: Performance regression after fix for JDK-8229496 + JDK-8242141: New System Properties to configure the TLS signature schemes + JDK-8242154: Backport parts of JDK-4947890 to OpenJDK 11u + JDK-8242174: [macos] The NestedModelessDialogTest test make the macOS unstable + JDK-8242239: [Graal] javax/management/generified/ /GenericTest.java fails: FAILED: queryMBeans sets same + JDK-8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking + JDK-8242379: [TESTBUG] compiler/loopopts/ /TestLoopUnswitchingLostCastDependency.java fails with release VMs + JDK-8242470: Update Xerces to Version 2.12.1 + JDK-8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash + JDK-8242541: Small charset issues (ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C) + JDK-8242626: enhance posix print_rlimit_info + JDK-8243059: Build fails when --with-vendor-name contains a comma + JDK-8243539: Copyright info (Year) should be updated for fix of 8241638 + JDK-8243541: (tz) Upgrade time-zone data to tzdata2020a + JDK-8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in + JDK-8244520: problemlist java/awt/font/Rotate/RotatedFontTest.java on linux + JDK-8244777: ClassLoaderStats VM Op uses constant hash value + JDK-8244853: The static build of libextnet is missing the JNI_OnLoad_extnet function + JDK-8244951: Missing entitlements for hardened runtime + JDK-8245047: [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing) + JDK-8245649: Revert 8245397 backport of 8230591 + JDK-8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts + JDK-8246613: Choose the default SecureRandom algo based on registration ordering + JDK-8248505: Unexpected NoSuchAlgorithmException when using secure random impl from BCFIPS provider - Removed patch: * JDK-8228407.patch + integrated upstream- Update to upstream tag jdk-11.0.7+10 (April 2020 CPU, bsc#1169511) * Security fixes: + S8223898, CVE-2020-2754: Forward references to Nashorn + S8223904, CVE-2020-2755: Improve Nashorn matching + S8224541, CVE-2020-2756: Better mapping of serial ENUMs + S8224549, CVE-2020-2757: Less Blocking Array Queues + S8225603: Enhancement for big integers + S8226346: Build better binary builders + S8227467: Better class method invocations + S8227542: Manifest improved jar headers + S8229733: TLS message handling improvements + S8231415, CVE-2020-2773: Better signatures in XML + S8231785: Improved socket permissions + S8232424, CVE-2020-2778: More constrained algorithms + S8232581, CVE-2020-2767: Improve TLS verification + S8233250: Better X11 rendering + S8233410: Better Build Scripting + S8234027: Better JCEKS key support + S8234408, CVE-2020-2781: Improve TLS session handling + S8234825, CVE-2020-2800: Better Headings for HTTP Servers + S8234841, CVE-2020-2803: Enhance buffering of byte buffers + S8235274, CVE-2020-2805: Enhance typing of methods + S8235691, CVE-2020-2816: Enhance TLS connectivity + S8236201, CVE-2020-2830: Better Scanner conversions + S8238960: linux-i586 builds are inconsistent as the newly built jdk is not able to reserve enough space for object heap * Other changes: + S4919790: Errors in alert ssl message does not reflect the actual certificate status + S4949105: Access Bridge lacks html tags parsing + S7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck + S7143743: Potential memory leak with zip provider + S8005819: Support cross-realm MSSFU + S8042383: [TEST_BUG] Test javax/swing/plaf/basic/BasicMenuUI/ /4983388/bug4983388.java fails with shortcuts on menus do not work + S8068184: Fix for JDK-8032832 caused a deadlock + S8145845: [AOT] NullPointerException in compiler/whitebox/GetCodeHeapEntriesTest.java + S8152988: [AOT] Update test batch definitions to include aot-ed java.base module mode into hs-comp testing + S8160926: FLAGS_COMPILER_CHECK_ARGUMENTS doesn't handle cross-compilation + S8163083: SocketListeningConnector does not allow invocations with port 0 + S8163251: Hard coded loop limit prevents reading of smart card data greater than 8k + S8167276: jvmci/compilerToVM/MaterializeVirtualObjectTest.java fails with -XX:-EliminateAllocations + S8169718: nsk/jdb/locals/locals002: ERROR: Cannot find boolVar with expected value: false + S8176556: java/awt/dnd/ImageTransferTest/ImageTransferTest.java fails for JFIF + S8178798: Two compiler/aot/verification/vmflags tests fail by timeout with UseAVX=3 + S8183107: PKCS11 regression regarding checkKeySize + S8185005: Improve performance of ThreadMXBean.getThreadInfo(long ids[], int maxDepth) + S8189633: Missing -Xcheck:jni checking for DeleteWeakGlobalRef + S8189861: Refactor CacheFind + S8193042: NativeLookup::lookup_critical_entry() should only load shared library once + S8193596: java/net/DatagramPacket/ReuseBuf.java failed due to timeout + S8194944: Regression automated test 'open/test/jdk/javax/ /swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java' fails + S8196467: javax/swing/JInternalFrame/Test6325652.java fails + S8196969: JTreg Failure: serviceability/sa/ClhsdbJstack.java causes NPE + S8198321: javax/swing/JEditorPane/5076514/bug5076514.java fails + S8198398: Test javax/swing/JColorChooser/Test6199676.java fails in mach5 + S8199072: Test javax/swing/GroupLayout/6613904/ /bug6613904.java is unstable + S8200432: javadoc fails with ClassCastException on {@link byte[]} + S8201349: build broken when configured with - -with-zlib=bundled on gcc 7.3 + S8201355: Avoid native memory allocation in sun.security.mscapi.PRNG.generateSeed + S8201513: nsk/jvmti/IterateThroughHeap/filter-* are broken + S8203364: Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3 + S8203687: javax/net/ssl/compatibility/Compatibility.java supports TLS 1.3 + S8203904: javax/swing/JSplitPane/4816114/bug4816114.java: The divider location is wrong + S8203911: Test runtime/modules/getModuleJNI/GetModule fails with -Xcheck:jni + S8204525: [TESTBUG] runtime/NMT/MallocStressTest.java ran out of java heap + S8204529: gc/TestAllocateHeapAtMultiple.java fail with Agent 7 timed out + S8204551: Event descriptions are truncated in logs + S8206963: [AOT] bug with multiple class loaders + S8207367: 10 vmTestbase/nsk/jdi tests timed out when running with jtreg + S8207832: serviceability/sa/ClhsdbCDSCore.java failed with "Couldn't find core file location" + S8207938: At step6,Click Add button,case failed automatically. + S8208157: requires.VMProps throws NPE for missing properties in "release" file + S8208379: compiler/jvmci/events/ /JvmciNotifyInstallEventTest.java failed with "Got unexpected event count after 2nd install attempt: expected 9 to equal 2" + S8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed + S8208715: Conversion of milliseconds to nanoseconds in UNIXProcess contains bug + S8209361: [AOT] Unexpected number of references for JVMTI_HEAP_REFERENCE_CONSTANT_POOL [111-->111]: 0 (expected at least 1) + S8209385: CDS runtime classpath checking is too strict when only classes from the system modules are archived + S8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work. + S8209418: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2 + S8209494: Create a test for SwingSet InternalFrameDemo + S8209499: Create test for SwingSet EditorPaneDemo + S8209574: [AOT] breakpoint events are generated in different threads does not meet expected count + S8209686: cleanup arguments to PhaseIdealLoop() constructor + S8209789: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2 + S8209802: Garbage collectors should register JFR types themselves to avoid build errors. + S8209807: improve handling exception in requires.VMProps + S8209817: stack is executable when building with Clang on Linux + S8209824: Improve the code coverage for ThreadLocal + S8209826: Undefined reference to os::write after JDK-8209657 (filemap.hpp cleanup) + S8209850: Allow NamedThreads to use GlobalCounter critical sections + S8209976: Improve iteration over non-JavaThreads + S8209993: Create a test for SwingSet3 ToolTipDemo + S8210024: JFR calls virtual is_Java_thread from ~Thread() + S8210052: Enable testing for all the available look and feels in SwingSet3 demo tests + S8210055: Enable different look and feel tests in SwingSet3 demo tests + S8210057: Enable different look and feels in SwingSet3 demo test InternalFrameDemoTest + S8210058: Algorithmic Italic font leans opposite angle in Printing + S8210220: [AOT] jdwp test cases are failing with error # ERROR: TEST FAILED: Cought IOException while receiving event packet + S8210289: ArchivedKlassSubGraphInfoRecord is incomplete + S8210459: Add support for generating compile_commands.json + S8210476: sun/security/mscapi/PrngSlow.java fails with Still too slow + S8210512: [Testbug] vmTestbase/nsk/jdi/ObjectReference/ /referringObjects/referringObjects002/referringObjects002.java fails with unexpected size of ClassLoaderReference.referringObjects + S8210523: runtime/appcds/cacheObject/DifferentHeapSizes.java crash + S8210632: Add key exchange algorithm to javax/net/ssl/TLSCommon/CipherSuite.java + S8210699: Problem list tests which times out in Xcomp mode + S8210793: [JVMCI] AllocateCompileIdTest.java failed to find DiagnosticCommand.class + S8210910: Create test for FileChooserDemo + S8210994: Create test for SwingSet3 FrameDemo + S8211139: Increase timeout value in all tests under jdk/sanity/client/SwingSet/src + S8211160: Handle different look and feels in JInternalFrameOperator + S8211211: vmTestbase/metaspace/stressDictionary/ /StressDictionary.java timeout + S8211322: Reduce the timeout of tooltip in SwingSet2DemoTest + S8211443: Enable different look and feels in SwingSet3 demo test SplitPaneDemoTest + S8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame + S8211781: re-building fails after changing Graal sources + S8212897: Some improvements in the EditorPaneDemotest + S8212903: [TestBug] Tests test/jdk/javax/swing/LookAndFeel/ /8145547/DemandGTK2.sh and DemandGTK3.sh fail on Ubuntu 18.04 LTS + S8213009: Refactoring existing SunMSCAPI classes + S8213010: Supporting keys created with certmgr.exe + S8213168: Enable different look and feel tests in SwingSet3 demo test FileChooserDemoTest + S8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor + S8213906: Update arm devkits with libXrandr headers + S8213908: AssertionError in DeferredAttr at setOverloadKind + S8214124: [TESTBUG] Bugs in runtime/NMT/MallocStressTest.java + S8214344: C2: assert(con.basic_type() != T_ILLEGAL) failed: elembt=byte; loadbt=void; unsigned=0 + S8214345: infinite recursion while checking super class + S8214471: Enable different look and feel tests in SwingSet3 demo test ToolTipDemoTest + S8214534: Setting of THIS_FILE in the build is broken + S8214557: Filter out VM flags which don't affect AOT code generation + S8214578: [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings + S8214840: runtime/NMT/MallocStressTest.java timed out + S8214850: Rename vm_operations.?pp files to vmOperations.?pp files + S8214904: Test8004741.java failed due to "Too few ThreadDeath hits; expected at least 6 but saw only 5" + S8215322: add @file support to jaotc + S8215355: Object monitor deadlock with no threads holding the monitor (using jemalloc 5.1) + S8215396: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT + S8216180: [AOT] compiler/intrinsics/bigInteger/TestMulAdd.java crashed with AOT enabled + S8216353: Use utility APIs introduced in org/netbeans/jemmy/ /util/LookAndFeel class in client sanity test cases + S8216354: Syntax error in toolchain_windows.m4 + S8216472: (se) Stack overflow during selection operation leads to crash (win) + S8216535: tools/jimage/JImageExtractTest.java timed out + S8217235: Create automated test for SwingSet ColorChooserDemoTest + S8217297: Add support for multiple look and feel for SwingSet SliderDemoTest + S8217338: [Containers] Improve systemd slice memory limit support + S8217613: [AOT] TEST_OPTS_AOT_MODULES doesn't work on mac + S8217634: RunTest documentation and usability update + S8217717: ZGC: Broken oop map in C1 load barrier stub + S8217728: Speed up incremental rerun of "make hotspot" + S8218268: Javac treats Manifest Class-Path entries as Paths instead of URLs + S8218662: Allow 204 responses with Content-Length:0 + S8218882: NET_Writev is declared, NET_WriteV is defined + S8218889: Improperly use of the Optional API + S8219205: JFR file without license header + S8219597: (bf) Heap buffer state changes could provoke unexpected exceptions + S8219723: javax/net/ssl/compatibility/Compatibility.java failed on some SNI cases + S8220348: [ntintel] asserts about copying unaligned array + S8220451: jdi/EventQueue/remove/remove004 failed due to "ERROR: thread2 is not alive" + S8220456: jdi/EventQueue/remove_l/remove_l004 failed due to "TIMEOUT while waiting for event" + S8220479: java/nio/channels/Selector/SelectWithConsumer.java failed at testTwoChannels() + S8220613: java/util/Arrays/TimSortStackSize2.java times out with fastdebug build + S8220688: [TESTBUG] runtime/NMT/MallocStressTest.java timed out + S8220786: Create new switch to redirect error reporting output to stdout or stderr + S8221270: Duplicated synchronized keywords in SSLSocketImpl + S8221312: test/jdk/sanity/client/SwingSet/src/ /ColorChooserDemoTest.java failed + S8221851: Use of THIS_FILE in hotspot invalidates precompiled header on Linux/GCC + S8221885: Add intermittent test in the JavaSound to the ProblemList + S8222264: Windows incremental build is broken with JDK-8217728 + S8222391: javax/net/ssl/compatibility/Compatibility.java should be more flexible + S8222448: java/lang/reflect/PublicMethods/ /PublicMethodsTest.java times out + S8222519: ButtonDemoScreenshotTest fails randomly with "still state to be reached" + S8222741: jdi/EventQueue/remove/remove004 fails due to VMDisconnectedException + S8223003: SunMSCAPI keys are not cleaned up + S8223063: Support CNG RSA keys + S8223158: Docked MacBook cannot start any Java Swing applications + S8223260: NamingManager should cache InitialContextFactory + S8223464: Improve version string for Oracle CI builds + S8223558: Java does not render Myanmar script correctly + S8223627: jdk-13+20 bundle name contains null instead of ea + S8223638: Replace wildcard address with loopback or local host in tests - part 6 + S8223678: Add Visual Studio Code workspace generation support (for native code) + S8223727: com/sun/jndi/ldap/privconn/RunTest.java failed due to hang in LdapRequest.getReplyBer + S8223769: Assert triggers with -XX:+StressReflectiveCode + S8224187: Refactor arraycopy_prologue to allow ZGC read barriers on arraycopy + S8224475: JTextPane does not show images in HTML rendering + S8224673: Adjust permission for delayed starting of debugging + S8224705: Tests that need to be problem-listed or have printer resources + S8224778: test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java cannot find J2Ddemo.jar + S8224821: java/awt/Focus/NoAutotransferToDisabledCompTest/ /NoAutotransferToDisabledCompTest.java fails linux-x64 + S8224830: test/jdk/java/awt/Focus/ /ModalExcludedWindowClickTest/ /ModalExcludedWindowClickTest.java fails on linux-x64 + S8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 + S8224905: java/lang/ProcessBuilder/Basic.java#id1 failed with stream closed + S8225007: java/awt/print/PrinterJob/ /LandscapeStackOverflow.java may hang + S8225105: java/awt/Focus/ShowFrameCheckForegroundTest/ /ShowFrameCheckForegroundTest.java fails in Windows 10 + S8225117: java/math/BigInteger/SymmetricRangeTests.java fails with ParseException + S8225128: Add exception for expiring DocuSign root to VerifyCACerts test + S8225130: Add exception for expiring Comodo roots to VerifyCACerts test + S8225144: [macos] In Aqua L&F backspace key does not delete when Shift is pressed + S8225180: SignedObject with invalid Key not throwing the InvalidKeyException in Windows + S8225182: JNI exception pending in DestroyXIMCallback of awt_InputMethod.c:1327 + S8225199: [Graal] compiler/jvmci/compilerToVM/ /IsMatureVsReprofileTest.java fails with - XX:CompileThresholdScaling=0.1 + S8225305: ProblemList java/lang/invoke/VarHandles tests + S8225350: compiler/jvmci/compilerToVM/IsCompilableTest.java timed out + S8225430: Replace wildcard address with loopback or local host in tests - part 14 + S8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14 + S8225487: giflib legal file is missing attribution for openbsd-reallocarray.c + S8225567: Wrong file headers with 8202414 fix changeset + S8225684: [AOT] vmTestbase/vm/oom/production/ /AlwaysOOMProduction tests fail with AOTed java.base + S8225766: Curve in certificate should not affect signature scheme when using TLSv1.3 + S8225797: OldObjectSample event creates unexpected amount of checkpoint data + S8226381: ProblemList java/lang/reflect/PublicMethods/ /PublicMethodsTest.java + S8226406: JVM fails to detect mismatched or corrupt CDS archive + S8226608: Hide the onjcmd option from the help output + S8226892: ActionListeners on JRadioButtons don't get notified when selection is changed with arrow keys + S8227112: exclude compiler/intrinsics/sha/sanity tests from AOT runs + S8227324: Upgrade to freetype 2.10.1 + S8227528: TestAbortVMOnSafepointTimeout.java failed due to "RuntimeException: 'Safepoint sync time longer than' missing from stdout/stderr" + S8227645: Some tests in serviceability/sa run with fixed -Xmx values and risk running out of memory + S8227646: [TESTBUG] appcds/SharedArchiveConsistency timed out + S8227662: freetype seeks to index at the end of the font data + S8228479: Correct the format of ColorChooserDemoTest + S8228613: java.security.Provider#getServices order is no longer deterministic + S8228969: 2019-09-28 public suffix list update + S8229236: CriticalJNINatives: dll handling should be done in native thread state + S8229345: Memory leak due to vtable stubs not being shared on SPARC + S8229888: (zipfs) Updating an existing zip file does not preserve original permissions + S8229994: assert(false) failed: Bad graph detected in get_early_ctrl_for_expensive + S8230004: jdk/internal/jimage/JImageOpenTest.java runs no test + S8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception + S8230390: Problemlist SA tests with AOT + S8230400: Missing constant pool entry for a method in stacktrace + S8230459: Test failed to resume JVMCI CompilerThread + S8230480: check malloc/calloc results in java.desktop + S8230597: Update GIFlib library to the 5.2.1 + S8230611: infinite loop in LogOutputList::wait_until_no_readers() + S8230624: [TESTBUG] Problemlist JFR compiler/TestCodeSweeper.java + S8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken + S8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout + S8231025: Incorrect method tag offset for big endian platform + S8231081: TestMetadataRetention fails due to missing symbol id + S8231387: java.security.Provider.getService returns random result due to race condition with mutating methods in the same class + S8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type + S8231445: check ZALLOC return values in awt coding + S8231507: Update Apache Santuario (XML Signature) to version 2.1.4 + S8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call + S8231753: use more Posix functionality in aix os::print_os_info + S8231810: javax/net/ssl/templates/ /SSLSocketSSLEngineTemplate.java fails intermittently with "java.lang.Exception: Unexpected EOF" + S8232003: (fs) Files.write can leak file descriptor in the exception case + S8232056: GetOwnedMonitorInfoWithEATest.java fails with ZGC: Heap too small + S8232060: add some initializations using sigemptyset in os_aix.cpp + S8232154: Update Mesa 3-D Headers to version 19.2.1 + S8232167: Visual Studio install found through - -with-tools-dir value is discarded + S8232170: FSInfo#getJarClassPath throws an exception not declared in its throws clause + S8232200: [macos 10.15] Windows in fullscreen tests jumps around the screen + S8232207: Linux os::available_memory re-reads cgroup configuration on every invocation + S8232224: [TESTBUG] problemlist JFR TestLargeRootSet.java + S8232370: Refactor some com.sun.jdi tests to enable IDE integration + S8232433: [macos 10.15] java/awt/Window/ /LocationAtScreenCorner/LocationAtScreenCorner.java may fail + S8232571: Add missing SIGINFO signal + S8232692: [TESTBUG] compiler/aot/fingerprint/ /SelfChangedCDS.java fails when cds is disabled + S8232713: Update BCEL version to 6.3.1 in license file + S8232806: Introduce a system property to disable eager lambda initialization + S8232834: RunTest sometimes fails to produce valid exitcode.txt + S8232880: Update test documentation with additional settings for client UI tooltip tests + S8232950: SUNPKCS11 Provider incorrectly check key length for PSS Signatures. + S8233018: Add a new test to verify that DatagramSocket is not interruptible + S8233019: java.lang.Class.isPrimitive() (C1) returns wrong result if Klass* is aligned to 32bit + S8233032: assert(in_bb(n)) failed: must be + S8233078: fix minimal VM build on Linux ppc64(le) + S8233328: fix minimal VM build on Linux s390x + S8233383: Various minor fixes + S8233466: aarch64: remove unnecessary load of mdo when profiling return and parameters type + S8233491: Crash in AdapterHandlerLibrary::get_adapter with CDS due to code cache exhaustion + S8233529: loopTransform.cpp:2984: Error: assert(p_f->Opcode() == Op_IfFalse) failed + S8233548: Update CUP to v0.11b + S8233649: Update ProblemList.txt to exclude failing headful tests on macos + S8233656: assert(d->is_CFG() && n->is_CFG()) failed: must have CFG nodes + S8233657: Intermittent NPE in Component.validate() + S8234288: Turkey Time Zone returns incorrect time zone name + S8234323: NULL-check return value of SurfaceData_InitOps on macosx + S8234339: replace JLI_StrTok in java_md_solinux.c + S8234340: Bump update version for OpenJDK: jdk-11.0.7 + S8234350: assert(mode == ControlAroundStripMined && (use == sfpt || !use->is_reachable_from_root())) failed: missed a node + S8234386: [macos] NPE was thrown at expanding Choice from maximized frame + S8234397: add OS uptime information to os::print_os_info output + S8234423: Modifying ArrayList.subList().subList() resets modCount of subList + S8234466: Class loading deadlock involving X509Factory#commitEvent() + S8234501: remove obsolete NET_ReadV + S8234525: enable link-time section-gc for linux s390x to remove unused code + S8234610: MaxVectorSize set wrongly when UseAVX=3 is specified after JDK-8221092 + S8234617: C1: Incorrect result of field load due to missing narrowing conversion + S8234723: javax/net/ssl/TLS tests support TLSv1.3 + S8234724: javax/net/ssl/templates/ /SSLSocketSSLEngineTemplate.java supports TLSv1.3 + S8234741: enhance os::get_core_path on macOS + S8234769: Duplicate attribution in freetype.md + S8234786: Fix for JDK-8214578 breaks OS X 10.12 compatibility + S8234809: set relro in linker flags when building with gcc + S8234824: java/nio/channels/SocketChannel/AdaptSocket.java fails on Windows 10 + S8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version + S8235288: AVX 512 instructions inadvertently used on Xeon for small vector width operations + S8235325: build failure on Linux after 8235243 + S8235383: C1 compilation fails with - XX:+PrintIRDuringConstruction -XX:+Verbose + S8235489: handle return values of sscanf calls in hotspot + S8235509: Backport for JDK-8209657 Refactor filemap.hpp to simplify integration with Serviceability Agent. + S8235510: java.util.zip.CRC32 performance drop after 8200067 + S8235563: [TESTBUG] appcds/CommandLineFlagComboNegative.java does not handle archive mapping failure + S8235637: jhsdb jmap from OpenJDK 11.0.5 doesn't work if prelink is enabled + S8235671: enhance print_rlimit_info in os_posix + S8235744: PIT: test/jdk/javax/swing/text/html/ /TestJLabelWithHTMLText.java times out in linux-x64 + S8235904: Infinite loop when rendering huge lines + S8235998: [c2] Memory leaks during tracing after '8224193: stringStream should not use Resource Area'. + S8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3 + S8236140: assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it + S8236179: C1 register allocation error with T_ADDRESS + S8236488: Support for configure option - -with-native-debug-symbols=internal is impossible on Windows + S8236500: Windows ucrt.dll should be looked up in versioned WINSDK subdirectory + S8236709: struct SwitchRange in HS violates C++ One Definition Rule + S8236848: [JDK 11u] make run-test-tier1 fails after backport of JDK-8232834 + S8236873: Worker has a deadlock bug + S8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor + S8237368: Problem with NullPointerException in RMI TCPEndpoint.read + S8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization + S8237508: Simplify JarFile.isInitializing + S8237540: Missing files in backport of JDK-8210910 + S8237541: Missing files in backport of JDK-8236528 + S8237600: Test SunJSSEFIPSInit fails on Ubuntu + S8237819: s390x - remove unused pd_zero_to_words_large + S8237869: exclude jtreg test security/infra/java/security/ /cert/CertPathValidator/certification/LuxTrustCA.java because of instabilities + S8237879: make 4.3 breaks build + S8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo... + S8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary + S8238247: CTW runner should sweep nmethods more aggressively + S8238366: CTW runner closes standard output on exit + S8238438: SuperWord::co_locate_pack picks memory state of first instead of last load + S8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION + S8238534: Deep sign macOS bundles before bundle archive is being created + S8238591: CTW: Split applications/ctw/modules/jdk_localedata.java + S8238596: AVX enabled by default for Skylake even when unsupported + S8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges + S8239005: [TESTBUG] test/hotspot/jtreg/runtime/ /StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow() + S8239466: Loss of precision in counter decay calculation in 11u backport of JDK-8237375 + S8239856: [ntintel] asserts about copying unaligned array element + S8240724: [test] jdk11 downport of 8224475 misses binary file test/jdk/javax/swing/JTextPane/arrow.png + S8241296: Segfault in JNIHandleBlock::oops_do() - Removed patch: * DependOnVariableHelper.patch + fixed upstream - Added patch: * JDK-8228407.patch + fix crashes due to shared archive file mismatch- The pack200 and unpack200 alternatives should be slaves of java and not of javac, since they are part of JRE.- Add gcc-fno-common-fix.patch in order to fix boo#1167462.- DependOnVariableHelper.patch: Fix DependOnVariableHelper for make 4.3- Install java icons not only versioned, but also postfixed by the "openjdk", in order to prevent install conflicts with other jdk 11 flavours.- Update to upstream tag jdk-11.0.6+10 (January 2020 CPU, bsc#1160968) * Security fixes + S8224909, CVE-2020-2583: Unlink Set of LinkedHashSets + S8225261: Better method resolutions + S8225279: Better XRender interpolation + S8226352, CVE-2020-2590: Improve Kerberos interop capabilities + S8227758: More valid PKIX processing + S8227816: More Colorful ICC profiles + S8228548, CVE-2020-2593: Normalize normalization for all + S8229728: Implement negotiation parameters + S8229951, CVE-2020-2601: Better Ticket Granting Services + S8230279: Improve Pack200 file reading + S8230318: Better trust store usage + S8230967: Improve Registry support of clients + S8231139: Improved keystore support + S8231422, CVE-2020-2604: Better serial filter handling + S8231780, CVE-2020-2655: Better TLS messaging support + S8231790: Provide better FileSystemProviders + S8232419: Improve Registry registration + S8234037, CVE-2020-2654: Improve Object Identifier Processing * Other changes + S8016914: CoreDocumentImpl.setXmlVersion NPE + S8048556: Unnecessary GCLocker-initiated young GCs + S8080462: Update SunPKCS11 provider with PKCS11 v2.40 support + S8134672: [TEST_BUG] Some tests should check isDisplayChangeSupported + S8144125: [macOS] java/awt/event/ComponentEvent/ /MovedResizedTwiceTest/MovedResizedTwiceTest.java failed automatically + S8146238: [macosx] Java2D Queue Flusher crash on OSX after switching between user accounts + S8176837: SunPKCS11 provider needs to check more details on PKCS11 Mechanism + S8185898: setRequestProperty(key, null) results in HTTP header without colon in request + S8190737: use unicode version of the canonicalize() function to handle long path on windows + S8191521: handle long relative path specified in - Xbootclasspath/a on windows + S8193255: Root Certificates should be stored in text format and assembled at build time + S8193325: StackFrameInfo::getByteCodeIndex returns wrong value if bci > 32767 + S8198882: Add 10 JNDI tests to com/sun/jndi/dns/AttributeTests + S8200381: Typos in javadoc - missing verb "be" and alike + S8202359: [GRAAL] compiler/uncommontrap/TestDeoptOOM.java failed with OutOfMemoryError + S8205516: JFR tool + S8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes + S8207263: Store the Configuration for system modules into CDS archive. + S8207922: ctw of jdk.security.auth failed with "Unexpected zero exit codebefore finishing all compilations" + S8208179: Devanagari not shown with logical fonts on Windows after removal of Lucida Sans from JDK + S8208236: [TESTBUG] vmTestbase/nsk/stress/stack tests fail by timeout + S8208364: java/lang/reflect/callerCache/ /ReflectionCallerCacheTest.java missing module dependencies declaration + S8208582: Introduce native oop barriers in C1 for OopHandle + S8208601: Introduce native oop barriers in C2 for OopHandle + S8209003: Consolidate use of empty collections in java.lang.module + S8209120: Archive the Integer.IntegerCache + S8209178: Proxied HttpsURLConnection doesn't send BODY when retrying POST request + S8209545: Simplify HeapShared::archive_module_graph_objects + S8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled + S8209691: Allow MemBar on single memory slice + S8209771: jdk.test.lib.Utils::runAndCheckException error + S8209790: SA tools not providing option to connect to debug server + S8209833: C2 compilation fails with "assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place" + S8209835: Aarch64: elide barriers on all volatile operations + S8209972: [GRAAL] Don't run RTM tests with Graal + S8210158: Accessorize JFR getEventWriter() intrinsics + S8210384: SunLayoutEngine.isAAT() font is expensive on MacOS + S8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced" + S8210403: Refactor java.util.Locale:i18n shell tests to plain java tests + S8210559: ClassLoaderData Symbols can leak + S8210776: Upgrade X Window System 6.8.2 to the latest XWD 1.0.7 + S8210789: langtools/tools/javac/T8152616.java missing @modules + S8211037: Load jib jars dynamically from JibArtifactManager + S8211147: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder + S8211385: (zipfs) ZipDirectoryStream yields a stream of absolute paths when directory is relative + S8211740: [AOT] -XX:AOTLibrary doesn't accept windows path + S8211866: TLS 1.3 CertificateRequest message sometimes offers disallowed signature algorithms + S8211919: ZipDirectoryStream should provide a stream of paths that are relative to the directory + S8211992: GraphicsConfiguration.getDevice().getDisplayMode() causes JVM crash on Mac + S8212028: Use run-test makefile framework for testing in Oracle's Mach5 + S8212071: Need to set the FreeType LCD Filter to reduce fringing. + S8212627: [TESTBUG] runtime/CreateMirror/ /ArraysNewInstanceBug.java timed out + S8212673: jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance" + S8212738: Incorrectly named signature scheme ecdsa_secp512r1_sha512 + S8212752: Typo in SSL log message related to inactive/disabled signature scheme + S8213005: Missing symbols in hs_err files on Windows after JDK-8212028 + S8213008: Cipher with UNWRAP_MODE should support the generation of an AES key type + S8213014: Crash in CompileBroker::make_thread due to OOM + S8213119: [macos] java/awt/GraphicsDevice/ /CheckDisplayModes.java fails + S8213381: Hook to allow GC to inject Node::Ideal() calls + S8213448: [TESTBUG] enhance jfr/jvm/TestDumpOnCrash + S8213568: Typo in java/awt/GraphicsEnvironment/LoadLock/ /GE_init5.java + S8213604: Fix missing includes after JDK-8212673 + S8214046: [macosx] Undecorated Frame does not Iconify when set to + S8214052: [testbug] vmTestbase/vm/compiler/ /CodeCacheInfoOnCompilation - wrong shell used + S8214098: sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards. + S8214311: dtrace gensrc has missing dependencies + S8214315: G1: fatal error: acquiring lock SATB_Q_FL_lock/1 out of order with lock tty_lock/0 + S8214321: Misleading code in SSLCipher + S8214542: JFR: Old Object Sample event slow on a deep heap in debug builds + S8214750: Unnecessary

tags in jfr classes + S8214773: Replace use of thread unsafe strtok + S8214896: JFR Tool left files behind + S8214925: JFR tool fails to execute + S8214975: No hs-err file if fatal error is raised during dynamic initialization + S8215032: Support Kerberos cross-realm referrals (RFC 6806) + S8215105: java/awt/Robot/HiDPIScreenCapture/ /ScreenCaptureTest.java: Wrong Pixel Color + S8215200: IllegalArgumentException in sun.lwawt.macosx.CPlatformWindow + S8215411: some GetByteArrayElements calls miss corresponding Release + S8215449: Several tests failing when jtreg run with - vmoption:--illegal-access=deny + S8215524: Finished message validation failure should be decrypt_error alert + S8215699: -Xlog::file cannot be used with named pipe + S8215708: ZGC: Add missing LoadBarrierNode::size_of() + S8215755: ZGC: split_barrier_thru_phi: check number of inputs of phi + S8215771: The jfr tool should pretty print reference chains + S8215913: [Test_bug]java/util/Locale/LocaleProvidersRun.java failed on de_DE and ja_JP locale. + S8216064: -XX:StartFlightRecording:settings= doesn't work properly + S8216135: C2 assert(!had_error) failed: bad dominance + S8216283: Allow shorter method sampling interval than 10 ms + S8216363: NullPointerException in java.util.logging.Handler#isLoggable + S8216426: Usage of array placement new may lead to memory corruption + S8216561: HttpClient: The logic of retry on connect exception is inverted + S8216977: ShowHiddenFrames use in java_lang_StackTraceElement::fill_in appears broken + S8217362: Emergency dump does not work when disk=false is set + S8217610: TLSv1.3 fail with ClassException when EC keys are stored in PKCS11 + S8217731: Font rendering and glyph spacing changed from jdk-8 to jdk-11 + S8218468: Load barrier slow path node should be MachTypeNode + S8218580: endpoint identification algorithm should be case-insensitive + S8218935: Make jfr strncpy uses GCC 8.x friendly + S8219504: Test for JDK-8211435 can be run on all platforms + S8219914: Change the environment variable for Java Access Bridge logging to have a directory. + S8220175: serviceability/dcmd/framework/VMVersionTest.java fails with a timeout + S8220231: Cache HarfBuzz face object for same font's text layout calls + S8220352: Crash with assert(external_guard || result != __null) failed: Invalid JNI handle + S8220394: bufferedStream does not honor size limit + S8220474: Incorrect GPL header in src/java.instrument/share/ /classes/java/lang/instrument/package-info.java + S8220476: Incorrect GPL header in src/jdk.internal.jvmstat/ /share/classes/sun/jvmstat/perfdata/monitor/protocol/local/ /PerfDataFile.java + S8220528: [AIX] Fix basic Xinerama and Xrender functionality + S8220555: JFR tool shows potentially misleading message when it cannot access a file + S8220598: Malformed copyright year range in a few files in java.base + S8221092: UseAVX=3 has performance degredation on Skylake (X7) processors + S8221172: SunEC specific test is not limited to SunEC + S8221246: NullPointerException within Win32ShellFolder2 + S8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends + S8221406: Windows 32bit build error in NetworkInterface_winXP.c + S8221456: nmethod::make_unloaded() clears _method member too early + S8221532: Incorrect copyright header in FileSystemSupport_md.c + S8221539: [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends + S8221569: JFR tool produces incorrect output when both - -categories and --events are specified + S8221711: [TESTBUG] create more tests for JFR in container environment + S8221913: Add GC.selected() jtreg-ext function + S8222015: Small VM.metaspace improvements + S8222440: (zipfs) JarFileSystem does not correctly handle versioned entries if no root entry is present + S8222529: sun.jdwp.listenerAddress agent property uses wrong encoding + S8222807: Address iteration with invalid ZIP header entries + S8222888: [TESTBUG] docker/TestJFREvents.java fails due to "RuntimeException: JAVA_MAIN_CLASS_ is not defined" + S8223438: add VirtualizationInformation JFR event + S8223490: Optimize search algorithm for determining default time zone + S8223697: jfr tool can't format duration values greater than minute + S8223869: Problem list java/awt/FontMetrics/ /MaxAdvanceIsMax.java on more platforms + S8224152: [macOS] ProblemList tests that leave rubbish on the screen + S8224157: BCEL: update to version 6.3.1 + S8224172: assert(jfr_is_event_enabled(id)) failed: invariant + S8224193: stringStream should not use Resouce Area + S8224217: RecordingInfo should use textual representation of path + S8224502: [TESTBUG] JDK docker test TestSystemMetrics.java fails with access issues and OOM + S8224505: TestQuotedLogOutput failure after ProcessBuilder changes + S8224538: LoadBarrierNode::common_barrier must check address + S8224958: add os::dll_load calls to event log + S8225101: Crash at sun.awt.X11.XlibWrapper.XkbGetUpdatedMap when change keybord map + S8225225: stringStream internal buffer should always be zero terminated + S8225392: Comparison builds are failing due to cacerts file + S8225505: ctrl-F1 does not show the tooltip of a menu item (JMenuItems) + S8225694: Destination option missing in FlightRecorderMXBeanImpl + S8225695: 32-bitbuild failures after JDK-8080462 (Update SunPKCS11 provider with PKCS11 v2.40 support) + S8225745: NoSuchAlgorithmException exception for SHA256withECDSA with RSASSA-PSS support + S8226513: JEditorPane is shown with incorrect size + S8226651: Setting the mgfHash in CK_RSA_PKCS_PSS_PARAMS has no effect + S8226719: Kerberos login to Windows 2000 failed with "Inappropriate type of checksum in message" + S8226779: [TESTBUG] Test JFR API from Java agent + S8226869: Testjava/util/Locale/LocaleProvidersRun.java should enable assertions + S8226899: Problemlist compiler/rtm tests + S8227031: Print NMT statistics on fatal errors + S8227032: MetaspaceUtils::print_report crashes when called before initialization + S8227035: JVM::printFlags fails in native OOM situations + S8227061: KDC.java test behaves incorrectly when AS-REQ contains a PAData not PA-ENC-TS-ENC + S8227086: Use AS_NO_KEEPALIVE loads in HeapDumper + S8227127: Era designator not displayed correctly using the COMPAT provider + S8227338: templateInterpreter.cpp: copy_table() needs to be safer + S8227368: EnumSet.class serialization broken in JDK 9+ + S8227381: GSS login fails with PREAUTH_FAILED + S8227391: Update double-conversion to version 3.1.5 + S8227397: Add --with-extra-asflags configure option + S8227411: TestTimeMultiple.java failed "assert(!lease()) failed: invariant" + S8227435: Perf::attach() should not throw a java.lang.Exception + S8227437: S4U2proxy cannot continue because server's TGT cannot be found + S8227439: Turn off AOT by default + S8227605: Kitchensink fails "assert((((klass)->trace_id() & (JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant" + S8227642: [TESTBUG] Make docker tests podman compatible + S8228368: avoid incompatible pointer to integer conversion initializing gint in gtk2_interface + S8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 + S8228465: HOST locale provider holds wrong era name for GregorianCalendar in US locale + S8228625: [TESTBUG] sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr + S8228645: Don't run sun/security/pkcs11/Cipher/ /TestKATForGCM.java on buggy NSS solaris versions + S8228687: [TESTBUG] exclude Container tests from hotspot_misc group + S8228772: C2 compilation fails due to unschedulable graph if DominatorSearchLimit is reached + S8228834: Regression caused by JDK-8214542 not installing complete checkpoint data to candidates + S8228835: Memory leak in PKCS11 provider when using AES GCM + S8228888: C2 compilation fails with assert "m has strange control" + S8228902: add os::dll_load to the unified logging os category + S8229016: C2 scalarization crashes with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required + S8229020: Failure on CPUs allowing loads reordering: assert(_tasks[t] == 1) failed: What else? + S8229022: BufferedReader performance can be improved by using StringBuilder + S8229156: ProblemList gc/stress/gclocker/ /TestExcessGCLockerCollections.java + S8229169: False failure of GenericTaskQueue::pop_local on architectures with weak memory model + S8229182: runtime/containers/docker/TestMemoryAwareness.java test fails on SLES12 + S8229243: SunPKCS11-Solaris provider tests failing on Solaris 11.4 + S8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage + S8229408: Bump update version for OpenJDK: jdk-11.0.6 + S8229420: [Redo] jstat reports incorrect values for OU for CMS GC + S8229437: assert(is_aligned(ref, HeapWordSize)) failed: invariant + S8229450: C2 compilation fails with assert(found_sfpt) failed + S8229483: Sinking load out of loop may trigger: assert(found_sfpt) failed: no node in loop that's not input to safepoint + S8229496: SIGFPE (division by zero) in C2 OSR compiled method + S8229515: [macos] access to window property of NSView on wrong thread + S8229701: aarch64: C2 OSR compilation fails with "shouldn't process one node several times" in final graph reshaping + S8229800: WindowsServerCore 1809 does not provide d2d1.dll library required by awt.dll + S8229810: [macos] NullPointerException getting bounds of GraphicsConfiguration + S8229872: (fs) Increase buffer size used with getmntent + S8229899: Make java.io.File.isInvalid() less racy + S8230061: # assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node + S8230062: assert(i == p->size()-1) failed: must be last element of the pack + S8230110: TestLinkageErrorInGenerateOopMap times out + S8230115: Problemlist JFR TestNetworkUtilization test + S8230238: Add another regression test for JDK-8134739 + S8230303: JDB hangs when running monitor command + S8230363:C2: Let ConnectionGraph::not_global_escape(Node* n) return false if n is not in the CG + S8230376: [TESTBUG] runtime/StackTrace/HiddenFrameTest.java fails with release VM + S8230388: Problemlist additional compiler/rtm tests + S8230466: check malloc/calloc results in jdk.hotspot.agent + S8230646: Epsilon does not extend TLABs to max size + S8230669: [s390] C1: assert(is_bound() || is_unused()) failed: Label was never bound to a location, but it was used as a jmp target + S8230671: x86_32 build failures after JDK-8229496 + S8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG + S8230728: Thin stroked shapes are not rendered if affine transform has flip bit + S8230769: BufImg_SetupICM add ReleasePrimitiveArrayCritical call in early return + S8230782: Robot.createScreenCapture() fails if "awt.robot.gtk" is set to false + S8230813: Add JDK-8010500 to compiler/loopopts/superword/ /TestFuzzPreLoop.java bug list + S8230856: Java_java_net_NetworkInterface_getByName0 on unix misses ReleaseStringUTFChars in early return + S8230861: missing ReleaseStringUTFChars in Java_sun_security_pkcs11_wrapper_PKCS11_connect + S8230873: [AIX] GUI app does not work with UTF-8 locale on minimum software requirements + S8230881: serviceability/sa/TestJmapCore tests fail with java.lang.RuntimeException: Could not find dump file + S8230900: missing ReleaseStringUTFChars in java.desktop native code + S8230901: missing ReleaseStringUTFChars in serviceability native code + S8230923: SunJSSE is not properly initialized in FIPS mode from a configuration file + S8230943: False deadlock detection with - XX:+CIPrintCompileQueue after JDK-8163511 + S8231055: C2: arraycopy with same non escaping src and dest but different positions causes wrong execution + S8231084: Large performance regression in SwingMark TextArea in 14-b13 + S8231085: C2/GC: Better GC-interface for expanding clone + S8231098: (tz) Upgrade time-zone data to tzdata2019c + S8231124: Missing closedir call with JDK-8223490 + S8231201: hs_err should print coalesced safepoint operations in Events section + S8231222: fix pkcs11 P11_DEBUG guarded native traces + S8231223: C2's conditional move optimization fails with assert(bol->Opcode() == Op_Bool) failed + S8231247: (zipfs) Test failure in jdk/nio/zipfs/ /InvalidZipHeaderTests.java after backport of JDK-8222807 + S8231254: (fs) Add test for macOS Catalina changes to protect system software + S8231294: ZGC: vmTestbase/nsk/jvmti/ResourceExhausted/ /resexhausted002 fails + S8231296: ZGC: vmTestbase/nsk/jvmti/Allocate/alloc001/ fails + S8231318: Several compiler/aot tests fail for JDK11 on Windows when only MSVC 2017 is installed + S8231336: Corrupted option dialog in JTHarness with JDK14b13 + S8231403: [ppc]: Align ReservedCodeCacheSize default value with other platforms + S8231457: Asserts on AIX because os::elapsed_counter() is not monotonic + S8231503: [TESTBUG] compiler/{jvmci,aot} tests should not run with GCs that do not support JVMCI/AOT + S8231620: assert(bol->is_Bool()) crash during split if due to FastLockNode + S8231665: 8231055 broke escapeAnalysis/TestSelfArrayCopy.java + S8231693: Backout "8230728: Thin stroked shapes are not rendered if affine transform has flip bit" from jdk11u + S8231751: on aix handle Power 9 in os::get_summary_cpu_info + S8231770: Test java/util/zip/FlaterTest.java fails with - Xcheck:jni + S8231885: Fix/remove malformed assert in os_windows.cpp + S8231887: ComodoCA.java fails because certificate was revoked + S8231930: Windows build fails after JDK-8191521 + S8231949: [PPC64, s390]: Make async profiling more reliable + S8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop + S8231991: Mouse wheel change focus on awt/swing windows + S8232005: [s390, PPC64] More exception checks missing in interpreter + S8232019: Add LuxTrust certificate updates to the existing root program + S8232051: Epsilon should warn about Xms/Xmx/AlwaysPreTouch configuration + S8232052: use string literal for format string when handling PauseAtStartupFile + S8232178: MacVolumesTest failed after upgrade to MacOS Catalina + S8232381: add result NULL-checking to freetypeScaler.c + S8232539: SIGSEGV in C2 Node::unique_ctrl_out + S8232592: is shown in jstack mixed mode + S8232874: Add missing test for 8230062 + S8232879: Writing out data with the Zip File System leads to a CRC failure + S8232984: Upgrading Joni License version to 2.1.16 + S8233075: JFR - nmetods - misspelled in several places + S8233081: C1: PatchingStub for field access copies too much + S8233097: Fontmetrics for large Fonts has zero width + S8233202: exclude javax/swing/plaf/basic/BasicGraphicsUtils/ /8132119/bug8132119.java + S8233203: fix non-product build on AIX when compiling with xlc16/legacy-xlc + S8233223: Add Amazon Root CA certificates + S8233404: System property to set the number of PBE iterations in JCEKS keystores + S8233820: Test crashed with assert(phi->operand_count() != 1 || phi->subst() != phi) failed: missed trivial simplification + S8233839: aarch64: missing memory barrier in NewObjectArrayStub and NewTypeArrayStub + S8233886: TEST_BUG jdk/java/net/CookieHandler/B6791927.java hit hardcoded expiration date + S8233944: Make KerberosPrincipal.KRB_NT_ENTERPRISE field package private + S8233954: UnsatisfiedLinkError or NoSuchAlgorithmException after removing sunec.dll + S8234080: jdk/nio/zipfs/CRCWriteTest.java fails + S8234107: Several AWT modal dialog tests failing on Linux after JDK-8231991 + S8234245: sun/security/lib/cacerts/VerifyCACerts.java fails due to wrong checksum + S8234321: Call cache flush after generating trampoline. + S8234591: [11u] Build with old C compiler broken by 8223490 + S8234625: hs test serviceability/sa/ClhsdbCDSCore.java fails on macOS 10.15 + S8234645: ARM32: C1: PatchingStub for field access: not enough bytes + S8234906: [TESTBUG] TestDivZeroCheckControl fails for client VMs due to Unrecognized VM option LoopUnrollLimit + S8235142: JDK-8193255 backport broke bootstrap with JDK 10 + S8235403: Further cleanup to test serviceability/sa/ClhsdbCDSCore.java + S8235585: Enable macOS codesigning for all libraries and executables + S8235687: Contents/MacOS/libjli.dylib cannot be a symlink- Switch back armv6 from zero platform to client JVM- Update to upstream tag jdk-11.0.5-10 (October 2019 CPU, bsc#1154212) * Security fixes: + S8209901: Canonical file handling + S8213429, CVE-2019-2933: Windows file handling redux + S8218573, CVE-2019-2945: Better socket support + S8218877: Help transform transformers + S8219914: Change the environment variable for Java Access Bridge logging to have a directory. + S8220186: Improve use of font temporary files + S8220302, CVE-2019-2949: Better Kerberos ccache handling + S8221497: Optional Panes in Swing + S8221858, CVE-2019-2958: Build Better Processes + S8222684, CVE-2019-2964: Better support for patterns + S8222690, CVE-2019-2962: Better Glyph Images + S8223163: Better pattern recognition + S8223505, CVE-2019-2973: Better pattern compilation + S8223518, CVE-2019-2975: Unexpected exception in jjs + S8223886: Add in font table referene + S8223892, CVE-2019-2978: Improved handling of jar files + S8224025: Fix for JDK-8220302 is not complete + S8224062, CVE-2019-2977: Improve String index handling + S8224532, CVE-2019-2981: Better Path supports + S8224915, CVE-2019-2983: Better serial attributes + S8225286, CVE-2019-2987: Better rendering of native glyphs + S8225292, CVE-2019-2988: Better Graphics2D drawing + S8225298, CVE-2019-2989: Improve TLS connection support + S8225597, CVE-2019-2992: Enhance font glyph mapping + S8226765, CVE-2019-2999: Commentary on Javadoc comments + S8227601: Better collection of references + S8228825, CVE-2019-2894, bsc#1152856: Enhance ECDSA operations * Other fixes: + S6996807: FieldReflectorKey hash code computation can be improved + S8076988: reevaluate trivial method policy + S8087128: C2: Disallow definition split on MachCopySpill nodes + S8133489: Better messaging for PKIX path validation matching + S8139965: Hang seen when using com.sun.jndi.ldap.search.replyQueueSize + S8147502: Digest is incorrectly truncated for ECDSA signatures when the bit length of n is less than the field size + S8148188: Enhance the security libraries to record events of interest + S8163363: AArch64: Stack size in tools/launcher/Settings.java needs to be adjusted + S8163511: Allocation of compile task fails with assert: "Leaking compilation tasks?" + S8170639: [Linux] jsig is limited to a maximum of 64 signals + S8177899: Tests fail due to code cache exhaustion on machines with many cores + S8180901: Transformer.reset() resets the state only once + S8193234: When using -Xcheck:jni an internally allocated buffer can leak + S8194231: java/net/DatagramSocket/ReuseAddressTest.java failed with java.net.BindException: Address already in use: Cannot bind + S8196681: Java Access Bridge logging and debug flags dynamically controlled + S8198411: [TEST_BUG] Two java2d tests are unstable in mach5 + S8200365: TestOptionsWithRanges.java of '-XX:TLABWasteTargetPercent=100' fails intermittently + S8200400: Restrict Sasl mechanisms + S8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module. + S8202252: (aio) Closed AsynchronousSocketChannel keeps completion handler alive + S8202952: C2: Unexpected dead nodes after matching + S8203629: Produce events in the JDK without a dependency on jdk.jfr + S8204203: Many pkcs11 tests failed in Provider initialization, after compiler on Windows changed + S8204521: compiler/jsr292/ /RedefineMethodUsedByMultipleMethodHandles.java fails trying to delete temp file + S8205421: AARCH64: StubCodeMark should be placed after alignment + S8205654: serviceability/dcmd/framework/HelpTest.java timed out + S8206074: nsk/jdi/EventRequestManager/createStepRequest/ /crstepreq001/TestDescription.java is timing out + S8206879: Currency decimal marker incorrect for Peru + S8207965: C2-only debug build fails + S8208269: Javadoc does not support module-info in a multi-release jar + S8208499: NMT: Missing memory tag for Safepoint polling page + S8208655: use JTreg skipped status in hotspot tests + S8208701: Fix for JDK-8208655 causes test failures in CI tier1 + S8208706: compiler/tiered/ConstantGettersTransitionsTest.java fails to compile + S8208780: (se) test SelectWithConsumer.testReadableAndWriteable(): failure + S8209186: Rename SimpleThresholdPolicy to TieredThresholdPolicy + S8209413: AArch64: NPE in clhsdb jstack command + S8209420: Track membars for volatile accesses so they can be properly optimized + S8209684: Intrinsics that assume some input non null should use GraphKit::must_be_not_null() + S8209939: [testbug][ppc] Test SafepointPollingPages fails after 8208499 with UseSIGTRAP on. + S8210063: ZGC: Enable load barriers for IN_NATIVE runtime barriers + S8210130: java/net/httpclient/UnknownBodyLengthTest.java failed + S8210314: [aix] NMT does not show "Safepoint" memory type + S8210389: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + S8210390: C2 still crashes with "assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node" + S8210408: Refactor java.util.ResourceBundle:i18n shell tests to plain java tests + S8210729: Clean up macosx static library handling + S8210919: Remove statically linked libjli on Windows + S8210926: vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ /ap11t001/TestDescription.java failed with JVMTI_ERROR_INVALID_CLASS in CDS mode + S8210985: Update the default SSL session cache size to 20480 + S8211097: aix: fix build after JDK-8210919 + S8211232: GraphKit::make_runtime_call() sometimes attaches wrong memory state to call + S8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better + S8211727: Adjust default concurrency settings for running tests on Sparc + S8212528: Wrong cgroup subsystem being used for some CPU Container Metrics + S8212970: TZ database in "vanguard" format support + S8212992: Change mirror accessor in Klass::verify_on() to use AS_NO_KEEPALIVE + S8213017: jspawnhelper: need to handle pipe write failure when sending return code + S8213117: adoptNode corrupts attribute values + S8213134: AArch64: vector shift failed with MaxVectorSize=8 + S8213172: CDS and JFR tests fail with assert(JdkJfrEvent::is(klass)) failed: invariant + S8213325: (props) Properties.loadFromXML does not fully comply with the spec + S8213406: (fs) More than one instance of built-in FileSystem observed in heap + S8213561: ZipFile/MultiThreadedReadTest.java timed out in tier1 + S8213734: SAXParser.parse(File, ..) does not close resources when Exception occurs. + S8214003: Limit default test jobs based on memory size + S8214096: sun.security.util.SignatureUtil passes null parameter, so JCE validation fails + S8214161: java.lang.IllegalAccessError: class jdk.internal.event.X509CertificateEvent (in module java.base) cannot access class jdk.jfr.internal.handlers.EventHandler (in module jdk.jfr) because module java.base does not read module jdk.jfr + S8214287: SpecJbb2005StressModule got uncaught exception + S8214579: JFrame does not paint content in XVFB / X11vnc environment + S8214687: Optimize Collections.nCopies().hashCode() and equals() + S8214702: Wrong text position for whitespaced string in printing Swing text + S8214770: java/time/test/java/time/format/ /TestNonIsoFormatter.java failed in non-english locales. + S8214777: Avoid some GCC 8.X strncpy() errors in HotSpot + S8214857: "bad trailing membar" assert failure at memnode.cpp:3220 + S8215044: C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop + S8215130: Fix errors in LittleCMS 2.9 reported by GCC 8 + S8215265: C2: range check elimination may allow illegal out of bound access + S8215281: Use String.isEmpty() when applicable in java.base + S8215380: Backout accidental change to String::length + S8215451: JNI IsSameObject should not keep objects alive + S8215483: Off heap memory accesses should be vectorized + S8215505: Cleanup jvm.cpp obsolete code after JDK-8210094: Better loading of classloader classes + S8215534: [testbug] some jfr test don't check @requires vm.hasJFR + S8215694: keytool cannot generate RSASSA-PSS certificates + S8215756: Memory leaks in the AWT on macOS + S8215792: AArch64: String.indexOf generates incorrect result + S8215879: AArch64: ReservedStackAccess may leave stack guard in inconsistent state + S8215901: [TESTBUG] TestCheckedEnsureLocalCapacity.java fails intermittently + S8215961: jdk/jfr/event/os/TestCPUInformation.java fails on AArch64 + S8215982: (tz) Upgrade time-zone data to tzdata2018i + S8216039: TLS with BC and RSASSA-PSS breaks ECDHServerKeyExchange + S8216046: test/jdk/java/beans/PropertyEditor/Test6397609.java failing + S8216155: C4819 warning at libfreetype sources on Windows + S8216199: Local variable arg defined but never used in BCEscapeAnalyzer::compute_escape_for_intrinsic() + S8216205: Java API documentation formatting error in System.getEnv + S8216261: Javap ignores default modifier on interfaces + S8216326: SSLSocket stream close() does not close the associated socket + S8216375: Revert JDK-8145579 after JDK-8076988 is resolved + S8216401: Allow "file:" URLs in Class-Path of local JARs + S8216427: ciMethodData::load_extra_data() does not always unpack the last entry + S8216528: test/jdk/java/rmi/transport/ /runtimeThreadInheritanceLeak/ /RuntimeThreadInheritanceLeak.java failing with Xcomp + S8216549: Mismatched unsafe access to non escaping object fails + S8216562: UnknownBodyLength sometimes fails due to "Connection reset by peer" + S8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy + S8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64 + S8217093: Support extended-length paths in parse_manifest.c on windows + S8217344: Make comparison overflow-aware in ECDHKeyAgreement.engineGenerateSecret() + S8217359: C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal + S8217364: Custom URLStreamHandler for jrt or file protocol can override default handler + S8217366: ZoneStrings are not populated for all the Locales + S8217368: AArch64: C2 recursive stack locking optimisation not triggered + S8217371: Incorrect LP64 guard in x86.ad after JDK-8210764 (Update avx512 implementation) + S8217576: C1 atomic access handlers use incorrect decorators + S8217676: Upgrade libpng to 1.6.37 + S8217760: C2: Missing symbolic info on a call from intrinsics when invoked through MethodHandle + S8217766: Container Support doesn't work for some Join Controllers combinations + S8217785: Padding ParallelTaskTerminator::_offered_termination variable + S8217896: Make better use of LCPUs when building on AIX + S8217990: C2 UseOptoBiasInlining: load of markword optimized to 0 if running with -XX:-EliminateLocks + S8218163: C2: Continuous deoptimization w/ Reason_speculate_class_check and Action_none + S8218185: aarch64: missing LoadStore barrier in TemplateTable::putfield_or_static + S8218201: Failures when vmIntrinsics::_getClass is not inlined + S8218280: LineNumberReader throws "Mark invalid" exception if CRLF straddles buffer. + S8218553: Enhance keystore load debug output + S8218558: NMT stack traces in output should show mt component for virtual memory allocations + S8218566: NMT: missing memory tag for assert poison page + S8218581: Incorrect exception message generation + S8218682: [TEST_BUG] DashOffset fails in mach5 + S8218705: Test sun/tools/jcmd/TestJcmdDefaults.java fails on Linux + S8218715: [TESTBUG] TestUseOptoBiasInliningWithoutEliminateLocks needs to unlock WhiteBoxAPI + S8218721: C1's CEE optimization produces safepoint poll with invalid debug information + S8218723: Use SunJCE Mac in SecretKeyFactory PBKDF2 implementation + S8218780: Update MUSCLE PCSC-Lite header files + S8218879: Keep track of memory accesses originated from Unsafe + S8218966: AArch64: String.compareTo() can read memory after string + S8219013: Update Apache Santuario (XML Signature) to version 2.1.3 + S8219241: Provide basic virtualization related info in the hs_error file on linux/windows x86_64 + S8219244: NMT: Change ThreadSafepointState's allocation type from mtInternal to mtThread + S8219370: NMT: Move synchronization primitives from mtInternal to mtSynchronizer + S8219513: compiler/codegen/aes/ /TestCipherBlockChainingEncrypt.java timeout on Solaris-sparc + S8219517: assert(false) failed: infinite loop in PhaseIterGVN::optimize + S8219562: Line of code in osContainer_linux.cpp L102 appears unreachable + S8219583: Windows build failure after JDK-8214777 (Avoid some GCC 8.X strncpy() errors in HotSpot) + S8219635: aarch64: missing LoadStore barrier in TemplateTable::fast_storefield + S8219807: C2 crash in IfNode::up_one_dom(Node*, bool) + S8219919: RuntimeStub name lost with PrintFrameConverterAssembly + S8219993: AArch64: Compiled CI stubs are unsafely modified + S8219997: [TESTBUG] Create test for JFR events in Docker container: CPU, Memory and Process Info + S8220037: Inconsistencies of generated timezone files between Windows and Linux + S8220072: GCC 8.3 reports errors in java.base + S8220173: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark + S8220227: Host Locale Provider getDisplayCountry returns error message under non-English Win10 + S8220313: [TESTBUG] Update base image for Docker testing to OL 7.6 + S8220341: Class redefinition fails with assert(!is_unloaded()) failed: unloaded method on the stack + S8220355: Improve assertion texts and exception messages in eventHandlerVMInit + S8220570: Additonal trace when native thread creation fails + S8220579: [Containers] SubSystem.java out of sync with osContainer_linux.cpp + S8220657: JFR.dump does not work when filename is set + S8220672: [TESTBUG] TestCPUSets should check that cpuset does not exceed available cores + S8220674: [TESTBUG] MetricsMemoryTester failcount test in docker container only works with debug JVMs + S8220682: Heap dumping and inspection fails with JDK-8214712 + S8220690: ATTRIBUTE_ALIGNED requires GNU extensions enabled + S8221120: CopyOnWriteArrayList.set should always have volatile write semantics + S8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable + S8221253: TLSv1.3 may generate TLSInnerPlainText longer than 2^14+1 bytes + S8221325: Add information about swap space to print_memory_info() on MacOS + S8221340: [TESTBUG] TestCgroupMetrics.java fails after fix for JDK-8219562 + S8221342: [TESTBUG] Generate Dockerfile for docker testing + S8221407: Windows 32bit build error in libsunmscapi/security.cpp + S8221408: Windows 32bit build build errors/warnings in hotspot + S8221411: NullPointerException in RasterPrinterJob without PrinterResolution + S8221434: Fix typo in lib-x11 autoconf error message about missing headers + S8221480: jcmd VM.metaspace shall print limits in basic mode + S8221497: Optional Panes in Swing + S8221527: [TESTBUG] DockerBasicTest.java contains hard-coded reference to JDK 10 + S8221529: [TESTBUG] Docker tests use old/deprecated image on AArch64 + S8221710: [TESTBUG] more configurable parameters for docker testing + S8221725: AArch64 build failures after JDK-8221408 (Windows 32bit build build errors/warnings in hotspot) + S8221730: jcmd process name matching broken + S8221801: Update src/java.base/share/legal/public_suffix.md + S8221892: ThreadPoolExecutor: Thread.isAlive() is not equivalent to not being startable + S8221894: Add comments for docker tests in the test doc + S8222108: Reduce minRefreshTime for updating remote printer list on Windows + S8222154: upgrade gtest to 1.8.1 + S8222280: Provide virtualization related info in the hs_error file on AIX + S8222299: [TESTBUG] move hotspot container tests to hotspot/containers + S8222362: Upgrade to Freetype 2.10.0 + S8222387: Out-of-bounds access to CPU _family_id_xxx array + S8222415: Xerces 2.12.0: Parsing Configuration + S8222670: pathological case of JIT recompilation and code cache bloat + S8222720: Provide extended VMWare/vSphere virtualization related info in the hs_error file on linux/windows x86_64 + S8222743: Xerces 2.12.0: DOM Implementation + S8222914: Partial backport of JDK-8218266 + S8222968: ByteArrayPublisher is not thread-safe resulting in broken re-use of HttpRequests + S8222980: Upgrade IANA Language Subtag Registry to Version 2019-04-03 + S8222987: sun/security/tools/keytool/PSS.java times out on Solaris-SPARC + S8222991: Xerces 2.12.0: Validation + S8223177: Data race on JvmtiEnvBase::_tag_map in double-checked locking + S8223227: Rename acquire_tag_map() to tag_map_acquire() in jvmtiEnvBase + S8223244: Fix usage of ARRAYCOPY_DISJOINT decorator + S8223336: Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with - XX:NativeMemoryTracking=detail + S8223482: Unsupported ciphersuites may be offered by a TLS client + S8223518: Unexpected exception in jjs + S8223537: testlibrary_tests/ctw/ClassesListTest.java fails with Agent timeout frequently + S8223553: Fix code constructs that do not compile with the Eclipse Java Compiler + S8223572: ~ThreadInVMForHandshake() should call handle_special_runtime_exit_condition() + S8223574: add more thread-related system settings info to hs_error file on AIX + S8223660: jtreg: Decouple Unsafe from RTM tests + S8223814: SA: jhsdb common help needs to be more detailed + S8223886: Add in font table referene + S8224033: os::snprintf should be used in virtualizationSupport.cpp + S8224034: [TESTBUG] runtime/ErrorHandlerTest/ErrorHandler fails intermittently for case 13 on Windows + S8224090: [PPC64] Fix SLP patterns for filling an array with double float literals + S8224165: [TESTBUG] Docker tests produce excessive output + S8224181: On child process spawn, child may write to random file descriptor instead of the fail pipe + S8224202: Speed up Properties.load + S8224221: add memprotect calls to event log + S8224230: [PPC64, s390] Support AsyncGetCallTrace + S8224252: [TESTBUG] hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java is timing out again after fix for JDK-8163805 + S8224487: outputStream should not be copyable + S8224531: SEGV while collecting Klass statistics + S8224558: Fix replicateB encoding + S8224560: (tz) Upgrade time-zone data to tzdata2019a + S8224580: Matcher can cause oop field/array element to be reloaded + S8224589: Improve startup behavior of SecurityProperties + S8224658: Unsafe access C2 compile fails with assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL + S8224698: ConcurrentSkipListMap.java does not compile with the Eclipse Java Compiler + S8224825: java/awt/Color/AlphaColorTest.java fails in linux-x64 system + S8224838: Bump update version for OpenJDK: jdk-11.0.5 + S8224991: Problemlist javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java + S8225005: Xerces 2.12.0: License file + S8225141: Better handling of classes in error state in fast class initialization checks + S8225178: [Solaris] os::signal() should call sigaction() with SA_SIGINFO + S8225189: Multiple JNI calls within critical region in ZIP Library + S8225257: sun/security/tools/keytool/PSS.java timed out + S8225286: Better rendering of native glyphs + S8225298: Improve TLS connection support + S8225347: [s390] Unexpected exit from stack overflow test + S8225386: test for JDK-8216261 fails in Windows + S8225388: Running jcmd Compiler.CodeHeap_Analytics all 0 cause crash. + S8225390: ProblemList sun/security/pkcs11/sslecc/ /ClientJSSEServerJSSE.java due to JDK-8161536 + S8225423: GTK L&F: JSplitPane: There is no divider shown + S8225425: java.lang.UnsatisfiedLinkError: net.dll: Can't find dependent libraries + S8225543: Jcmd fails to attach to the Java process on Linux using the main class name if whitespace options were used to launch the process + S8225580: tzdata2018i integration causes test failures on jdk-13 + S8225636: SA can't handle prelinked libraries + S8225644: C1 dumps incorrect class name in ClassCastException message + S8225663: [testbug] Missing JNIEXPORT in XAbortProvoker native function + S8225715: jhsdb jmap fails to write binary heap dump of a jshell process + S8226409: Enable argument profiling for sun.misc.Unsafe.put*/get* + S8226468: [aix] loadquery failed error message displayed + S8226530: ZipFile reads wrong entry size from ZIP64 entries + S8226543: Reduce GC pressure during message digest calculations in password-based encryption + S8226607: Inconsistent info between pcsclite.md and MUSCLE headers + S8226798: JVM crash in klassItable::initialize_itable_for_interface(int, InstanceKlass*, bool, Thread*) + S8226964: [Yaru] GTK L&F: There is no difference between menu selected and de-selected + S8227011: Starting a JFR recording in response to JVMTI VMInit and / or Java agent premain corrupts memory + S8227041: runtime/memory/RunUnitTestsConcurrently.java has a memory leak + S8227117: normal interpreter table is not restored after single stepping with TLH + S8227247: tools/sjavac/IdleShutdown.java fails with AssertionError: Error too big on windows + S8227277: HeapInspection::find_instances_at_safepoint walks dead objects + S8227392: Colors with alpha are painted incorrectly on Linux, after JDK-8214579 + S8227594: sadebugd/DebugdConnectTest.java fails due to "java.rmi.NotBoundException: SARemoteDebugger" + S8227630: adjust format specifiers in loadlib_aix.cpp + S8227834: build.log output from failing commands : include the hs_error file path in case of crashes in build + S8227869: fix wrong format specifiers in os_aix.cpp + S8227919: 8213232 causes crashes on solaris sparc64 + S8228337: problemList failing/ignored manual tests in security-libs + S8228400: Remove built-in AArch64 simulator + S8228469: (tz) Upgrade time-zone data to tzdata2019b + S8228485: JVM crashes when bootstrap method for condy triggers loading of class whose static initializer throws ve thread creation fails + S8220579: [Containers] SubSystem.ja exception + S8228501: java_props_macosx.c - provide missing CFRelease for CFLocaleCopyCurrent + S8228578: fix CFData object leak in macosx KeystoreImpl.m + S8228585: jdk/internal/platform/cgroup/TestCgroupMetrics.java - NumberFormatException because of large long values (memory limit_in_bytes) + S8228596: Class redefinition fails when condy instructions are removed + S8228601: AArch64: Fix interpreter code at JVMCI deoptimization entry + S8228618: s390: c1/c2 fail to add a metadata relocation in the static call stub. + S8228649: [PPC64] SA reads wrong slots from interpreter frames + S8228658: test GetTotalSafepointTime.java fails on fast Linux machines with Total safepoint time 0 ms + S8228711: Path rendered incorrectly when it goes outside the clipping region + S8228725: AArch64: Purge method call format support + S8228764: New library dependencies due to JDK-8222720 + S8229118: [TESTBUG] serviceability/sa/ClhsdbFindPC fails on AArch64 + S8229352: Use of an uninitialized register in 32-bit ARM template interpreter + S8229406: ZGC: Fix incorrect statistics + S8229767: Typo in java.security: Sasl.createClient and Sasl.createServer + S8229773: Resolve permissions for code source URLs lazily + S8229887: (zipfs) zip file corruption when replacing an existing STORED entry + S8229925: [s390, PPC64] Exception check missing in interpreter + S8230085: (fs) FileStore::isReadOnly is always true on macOS Catalina + S8230099: Prepare for backport of JDK-8217368 + S8230728: Thin stroked shapes are not rendered if affine transform has flip bit + S8230850: Test sun/tools/jcmd/TestProcessHelper.java fails intermittently + S8231693: Backout "8230728: Thin stroked shapes are not rendered if affine transform has flip bit" from jdk11u - Modified patch: * system-pcsclite.patch + adapt to changed context- Update to upstream tag jdk-11.0.4+11 (July 2019 CPU) * Security fixes + S8208698, CVE-2019-2745, bsc#1141784: Improved ECC Implementation + S8212328, CVE-2019-2762, bsc#1141782: Exceptional throw cases + S8213431, CVE-2019-2766, bsc#1141789: Improve file protocol handling + S8213432, CVE-2019-2769, bsc#1141783: Better copies of CopiesList + S8216381, CVE-2019-2786, bsc#1141787: More limited privilege usage + S8217563: Improve realm maintenance + S8218863: Better endpoint checks + S8218873: Improve JSSE endpoint checking + S8218876, CVE-2019-7317, bsc#1141780: Improve PNG support options + S8219775: Certificate validation improvements + S8220517: Enhanced GIF support + S8221345, CVE-2019-2818, bsc#1141788: Better Poly1305 support + S8221518, CVE-2019-2816, bsc#1141785: Normalize normalization + S8222678, CVE-2019-2821, bsc#1141781: Improve TLS negotiation * Other fixes + S6913047: Long term memory leak when using PKCS11 and JCE exceeds 32 bit process address space + S8139178: Wrong fontMetrics when printing in Landscape (OpenJDK) + S8163805: hotspot/test/serviceability/sa/sadebugd/ /SADebugDTest.java failed with timed out + S8170494: JNI exception pending in PlainDatagramSocketImpl.c + S8174691: [TESTBUG] A number of native hotspot unit tests fail when executed in stand-alone mode + S8179098: Crypto AES/ECB encryption/decryption performance regression (introduced in jdk9b73) + S8181143: Introduce diagnostic flag to abort VM on too long VM operations + S8188133: C2: Static field accesses in clinit can trigger deoptimizations + S8190361: Incorrect version info in jaccessinspector.exe and jaccesswalker.exe + S8195793: Remove GTE CyberTrust Global Root + S8200286: (testbug) MOptionTest test fails with java.lang.AssertionError: Classfiles too old! + S8200613: SA: jstack throws UnmappedAddressException with a CDS core file + S8201317: X25519/X448 code improvements + S8201633: Problems with AES-GCM native acceleration + S8202353: os::readdir should use readdir instead of readdir_r + S8202414: Unsafe write after primitive array creation may result in array length change + S8202651: Test ComodoCA.java fails + S8202794: Native Unix code should use readdir rather than readdir_r + S8202884: SA: Attach/detach might fail on Linux if debugee application create/destroy threads during attaching + S8203627: Swing applications with JRadioButton and JCheckbox fail to render correctly when using GTK3 and the GTK L&F + S8204308: SA: serviceability/sa/TestInstanceKlassSize*.java fails when running in CDS mode + S8205574: Loop predication "assert(f <= 1 && f >= 0) failed Incorrect frequency" + S8205611: Improve the wording of LinkageErrors to include module and class loader information + S8206955: MethodHandleProxies.asInterfaceInstance does not support default methods + S8207340: (fs) UnixNativeDispatcher close and readdir usages should be fixed + S8207748: Fix for 8202794 breaks tier1 builds + S8207760: SAXException: Invalid UTF-16 surrogate detected: d83c ? + S8208634: Add x-IBM-1129 charset + S8208648: ECC Field Arithmetic Enhancements + S8208702: javax/swing/reliability/ /HangDuringStaticInitialization.java may hang on macos + S8208996: X11 icon window color handing bug + S8209055: c.s.t.javac.code.DeferredCompletionFailureHandler seems to use WeakHashMap incorrectly + S8209414: AArch64: method handle invocation does not respect JVMTI interp_only mode + S8209415: Fix JVMTI test failure HS202 + S8209573: [TESTBUG] gc/epsilon/TestMemoryMXBeans should retry on failure + S8209914: javadoc search sometimes generates bad URIs + S8209951: Problematic sparc intrinsic: com.sun.crypto.provider.CipherBlockChaining + S8210008: custom extension for make/SourceRevision.gmk + S8210197: javac can't tell during speculative attribution if a diamond expression is creating an anonymous inner class or not + S8210283: Support git as an SCM alternative in the build + S8210320: PPC64: Fix uninitialized variable in C1 LIR assembler code + S8210457: JVM crash in ResolvedMethodTable::add_method(Handle) + S8210483: AssertionError in DeferredAttr at setOverloadKind caused by JDK-8203679 + S8210519: build/releaseFile/CheckSource.java failed additional sources found + S8210739: Calling JSpinner's setFont with null throws NullPointerException + S8210782: Upgrade HarfBuzz to the latest 2.3.1 + S8210803: Compilation failure in codeBlob.cpp for Windows 32-bit + S8210837: Add libXrandr-devel to the Linux devkits + S8210863: Remove Xrandr include files from JDK sources + S8210880: Remove HPKeysym.h from JDK sources + S8210886: Remove references in xwindows.md to non-existent files. + S8210899: (zipfs) ZipFileSystem.EntryOutputStreamCRC32 mistakenly set the crc32 value into size field + S8211266: [TESTBUG] ZipFSTester.java failed intermittently in ZipFSTester.checkRead(): bound must be positive + S8211350: Remove jprt support + S8211393: Memory leak issue on awt_InputMethod.c + S8211435: Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: null source + S8211698: Crash in C2 compiled code during execution of double array heavy processing code + S8211810: X11 Time stamp data should be unsigned + S8211826: StringIndexOutOfBoundsException happens via GetStringUTFRegion() + S8211841: [testbug] sun/nio/cs/OLD/TestIBMDB.java does not compile (aix) + S8211969: test/jdk/lib/security/CheckBlacklistedCerts.java searching for wrong paths + S8211971: Move security/cacerts/VerifyCACerts.java and security/CheckBlacklistedCerts.java + S8212202: [Windows] Exception if no printers are installed. + S8212205: VM asserts after CDS archive has been unmapped + S8212562: To remove lib/security from test/jdk/TEST.groups + S8212676: AWT SystemColor setting on CDE + S8212677: X11 default visual support for IM status window on VNC + S8212678: Windows IME related patch + S8212794: IBM-964 is required for AIX default charset + S8212828: (process) Provide a way for Runtime.exec to use posix_spawn on linux + S8213015: Inconsistent settings between JFR.configure and - XX:FlightRecorderOptions + S8213213: Remove src/java.desktop/unix/classes/sun/awt/ /X11/keysym2ucs.h + S8213232: Unix/X11 setCompositionEnableNative issue + S8213292: Input freezes after MacOS key-selector (press&hold) usage on macOS Mojave + S8213294: Upgrade IANA LSR data + S8213515: Improve freetype detection on linux/ppc64/ppc64le/ /s390x + S8213614: DnD operation change feature does not work with 64bit big endian CPU + S8213617: JFR should record the PID of the recorded process + S8213618: IBM970 charset has missing entry and remove unexpected entries + S8213825: assert(false) failed: Non-balanced monitor enter/exit! Likely JNI locking + S8213944: Fix AIX build after the removal of Xrandr.h and add a configure check for it + S8214002: Cannot use italic font style if the font has embedded bitmap + S8214109: XToolkit is not correctly displayed color on 16-bit high color setting + S8214111: There is no icon in all JOptionPane target image + S8214112: The whole text in target JPasswordField image are not selected + S8214252: Expanded & Collapsed nodes of a JTree look the same on GTK3 + S8214253: Tooltip is transparent rather than having a black background + S8214468: jQuery UI upgrade from 1.11.4 to 1.12.1 + S8214533: IBM-29626C is required for AIX default charset + S8214765: All TrayIcon MessageType icons does not show up with gtk3 option set + S8214935: Upgrade IANA LSR data + S8215026: Incorrect amount of memory unmapped with ImageFileReader::close() + S8215123: Crash in runtime image built with jlink --compress=2 + S8215284: Reduce noise induced by periodic task getFileSize() + S8215296: do not disable c99 on Solaris + S8215342: [Zero] Build fails after JDK-8200613 + S8215364: JavaFX crashes on Ubuntu 18.04 with Wayland while using Swing-FX interop + S8215374: 32-bit build failures after JDK-8181143 (Introduce diagnostic flag to abort VM on too long VM operations) + S8215398: -Xlog option usage => Invalid decorator '\temp\app_cds.log'. + S8215443: The use of TransportContext.fatal() leads to bad coding style + S8215472: (zipfs) Cleanups in implementation classes of jdk.zipfs and tests + S8215707: [macosx] fix pthread_getschedparam and pthread_setschedparam calls + S8215757: C2: PhaseIdealLoop::create_new_if_for_predicate() computes wrong IDOM + S8215790: Delegated task created by SSLEngine throws java.nio.BufferUnderflowException + S8216045: The size of key_exchange may be wrong on FFDHE + S8216355: missing NULL checks in libnet in interface iteration and potential resource leak in getMacAddress + S8216556: Unnecessary liveness computation with JVMTI + S8216577: Add GlobalSign's R6 Root certificate + S8216597: SIGBUS in Java_sun_security_pkcs11_wrapper_PKCS11_getNativeKeyInfo after JDK-6913047 + S8216970: condy causes JVM crash + S8217088: Disable JDK-6913047 fix (SunPKCS11 memory leak) after JDK-8216597 (SIGBUS error in getNativeKeyInfo) + S8217094: HttpClient SSL race if a socket IOException is raised before ALPN is available + S8217263: Automate DashOffset test + S8217311: Improve Exception thrown when MulticastSocket.setInterface fails on AIX(Unix) + S8217564: idempotent protection missing in crc32c.h + S8217647: JFR: recordings on 32-bit systems unreadable + S8217690: Update public suffix version + S8217707: JNICALL declaration breaks Splash screen functions + S8217765: Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed + S8217786: Provide virtualization related info in the hs_error file on linux s390x + S8217878: ENVELOPING XML signature no longer works in JDK 11 + S8217879: hs_err should print more instructions in hex dump + S8217880: AIX build issue after JDK-8214533 + S8218020: Fix version number in mesa.md 3rd party legal file + S8218060: JDK-8217786 breaks build due to remaining unused function + S8218063: JDK-8218060 breaks build for S390 + S8218152: [javac] fails and exits with no error if a bad annotation processor provided + S8218469: JSlider display issue with slider for GTKLookAndFeel + S8218470: JScrollBar display issue with GTKLookAndFeel + S8218472: JProgressBar display issue with GTKLookAndFeel + S8218473: JOptionPane display issue with GTKLookAndFeel + S8218479: JTextPane display issue with GTKLookAndFeel + S8218618: Program fails when using JDK addressed by UNC path and using Security Manager + S8218629: XML Digital Signature throws NAMESPACE_ERR exception on OpenJDK 11, works 8/9/10 + S8218674: HTML Tooltip with "img=src" on component doesn't show + S8218733: SA: CollectedHeap provides broken implementation for used() and capacity() + S8218781: Localized names for Japanese era Reiwa in COMPAT provider + S8218811: replace open by os::open in hotspot coding + S8218854: FontMetrics.getMaxAdvance may be less than the maximum FontMetrics.charWidth + S8218960: CONFIG level logging statements printed in CLDRCalendarDataProviderImpl.java even when default log Level is INFO + S8218991: s390: Add intrinsic for GHASH algorithm + S8219006: AArch64: Register corruption in slow subtype check + S8219011: Implement MacroAssembler::warn method on AArch64 + S8219112: name_and_sig_as_C_string usages in frame_s390 miss ResourceMark + S8219335: "failed: unexpected type" assert failure in ConnectionGraph::split_unique_types() with unsafe accesses + S8219389: Delegated task created by SSLEngine throws BufferUnderflowException + S8219414: SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore + S8219448: split-if update_uses accesses stale idom data + S8219460: ppc: adjust NativeGeneralJump::insert_unconditional to stack allocated MacroAssembler + S8219566: JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero + S8219574: Minimal VM build failure after JDK-8219414 + S8219582: PPC: Crash after C1 checkcast patched and GC + S8219584: Try to dump error file by thread which causes safepoint timeout + S8219698: aarch64: SIGILL triggered when specifying unsupported hardware features + S8219710: Bump update version for OpenJDK: jdk11.0.4 + S8219746: Provide virtualization related info in the hs_error file on linux ppc64 / ppc64le + S8219915: [TESTBUG] Fix test langtools/tools/javac/processing/ /model/completionfailure/SymbolsDontCumulate.java in Standalone mode + S8219918: ProblemList hotspot tests failing in SAP testing. + S8220165: Encryption using GCM results in RuntimeException- input length out of bound + S8220166: Performance regression in deserialization (4-6% in SPECjbb) + S8220198: Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs + S8220281: IBM-858 alias name is missing on IBM00858 charset + S8220293: Deadlock in JFR string pool + S8220349: The fix done for JDK-8214253 have caused issues in JTree behaviour + S8220353: [TESTBUG] TestRegisterRestoring uses SafepointALot without UnlockDiagnosticVMOptions + S8220374: C2: LoopStripMining doesn't strip as expected + S8220441: [PPC64] Clobber memory effect missing for memory barriers in atomics + S8220495: Update GIFlib library to the 5.1.8 + S8220513: Wrapper Key may get deleted when closing sessions in SunPKCS11 crypto provider + S8220625: tools/javac/classreader/8171132/ /BadConstantValue.java failed with "did not see expected error" + S8220707: [TESTBUG] serviceability/sa/ /TestHeapDumpForLargeArray.java fails with jtreg - vmoption:-Xmx < 8g + S8220714: C2 Compilation failure when accessing off-heap memory using Unsafe + S8220718: Missing ResourceMark in nmethod::metadata_do + S8220781: linux-s390 : os::get_summary_cpu_info gives bad output + S8220794: PPC64: Fix signal handler for SIGSEGV on branch to illegal address + S8221083: [ppc64] Wrong oop compare in C1-generated code + S8221175: Fix bad function case for controlled JVM crash on PPC64 big-endian + S8221244: Unexpected behavior of PropertyDescription.getReadMethod for boolean properties + S8221263: [TEST_BUG] RemotePrinterStatusRefresh test is hard to use + S8221304: Problem list java/awt/FontMetrics/ /MaxAdvanceIsMax.java + S8221400: java/lang/String/StringRepeat.java test requests too much heap + S8221401: java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms + S8221412: lookupPrintServices() does not always update the list of Windows remote printers + S8221437: assert(java_lang_invoke_ResolvedMethodName::vmtarget(resolved_method()) == m()) failed: Should not change after link resolution + S8221470: Print methods in exception messages in java-like Syntax. + S8221479: Fix JFR profiling on s390 + S8221483: TestOopCmp.java fails due to "Multiple garbage collectors selected" + S8221535: add steal tick related information to hs_error file [linux] + S8221610: Resurrect (legacy) JRE bundle target + S8221639: [i386] expand_exec_shield_cs_limit workaround is undefined code after JDK-8199717 + S8221833: Readability check in Symbol::is_valid not performed for some addresses + S8221870: use driver to run CtwRunner in applications/ctw tests + S8221880: Better customization for Windows RC properties FileDescription and ProductName + S8221915: cleanup ticks related coding in os_perf_aix.cpp [aix] + S8221917: serviceability/sa/TestPrintMdo.java fails on 32-bit platforms + S8221924: get(null) on single-entry unmodifiable Map returns null instead of throwing NPE + S8222027: java/util/logging/LogManager/TestLoggerNames.java generates intermittent ClassCastException + S8222032: x86_32 fails with "wrong size of mach node" on AVX-512 machine + S8222089: [TESTBUG] sun/security/lib/cacerts/ /VerifyCACerts.java fails due to cert within 90-day expiry window + S8222133: Add temporary exceptions for root certs that are due to expire soon + S8222136: Remove two Comodo root CA certificates that are expiring + S8222137: Remove T-Systems root CA certificate + S8222397: x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers + S8222410: java/nio/file/attribute/BasicFileAttributeView/ /UnixSocketFile hangs when "nc" does not accept "-U" + S8222522: Add configure options for Mac Bundle creation + S8222532: (zipfs) Performance regression when writing ZipFileSystem entries in parallel + S8222913: Add Jib support for VERSION_EXTRA* + S8222930: ConcurrentSkipListMap.clone() shares size variable between original and clone + S8223266: PPC64: Check for branch to illegal address before checking for mem serialization + S8223395: PPC64: Improve comments in the JVM signal handler to match ISA text + S8223499: Remove two DocuSign root certificates that are expiring + S8223555: Cleanups in cacerts tests + S8223597: jdk/nio/zipfs/ZipFSTester.java RuntimeException: CHECK_FAILED! (getAttribute.crc failed 6af4413c vs 0 ...) + S8223665: SA: debugd options should follow jhsdb style + S8224474: harfbuzz 2.3.1 code fails to compile with gcc 4.4.7 + S8224671: AArch64: mauve System.arraycopy test failure + S8224727: Problem list test security/infra/java/security/cert/ /CertPathValidator/certification/ActalisCA.java + S8224828: aarch64: rflags is not correct after safepoint poll + S8224880: AArch64: java/javac error with AllocatePrefetchDistance + S8225402: events logging in deoptimization.cpp should go to deopt-log + S8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding + S8226876: Assertion in sun/util/locale/provider/ /CalendarDataUtility on Windows after JDK-8218960 + S8226880: Backport of JDK-8208698 (Improved ECC Implementation) should not bring parts of JDK-8205476 (KeyAgreement#generateSecret is not reset for ECDH based algorithm)- Do not fail installation when the manpages are not present (bsc#1115375)- Added patch: * JDK-8208602.patch + Backport upstream fix for JDK-8208602: Cannot read PEM X.509 cert if there is whitespace after the header or footer (bsc#1140461)- Provide and Obsolete the corresponding java-10-openjdk- packages to assure smooth upgrade (fate#326347, bsc#1137264)- Set alternative priority in SLE12 to 0 in order to be able to push to SLE12-SP5 (fate#326790, jsc#SLE-5715)- Require update-ca-certificates by the headless subpackage (bsc#1131378) - Removed patch: * java11-improved-fonts.patch + broken with the recent changes in font rendering- Update to upstream tag jdk-11.0.3+7 (April 2019 CPU) * Security fixes + S8211936, CVE-2019-2602, bsc#1132728: Better String parsing + S8214809: CDS storage improvements + S8218453, CVE-2019-2684, bsc#1132732: More dynamic RMI interactions * Other changes + S8034802: (zipfs) newFileSystem throws UOE when the zip file is located in a custom file system + S8165675: Trace event for thread park has incorrect unit for timeout + S8172695: (scanner) java/util/Scanner/ScanTest.java fails + S8187364: Unable to enter zero width non-joiner (ZWNJ) symbol in Swing text component + S8197398: (zipfs) Files.walkFileTree walk indefinitelly while processing JAR file with "/" as a directory inside. + S8200109: NMT: diff_malloc_site assert(early->flags() == current->flags(), "Must be the same memory type") + S8201818: [macosx] Printing attributes break page size set via "java.awt.print.Book" object + S8204142: AWT hang occurs when sequenced events arrive out of sequence in multiple AppContexts + S8205432: Replace the placeholder Japanese era name + S8206120: Add test cases for lenient Japanese era parsing + S8207070: Webstart app popup on wrong screen in a one-screen setup changing to multi-monitor + S8207258: Distrust TLS server certificates anchored by Symantec Root CAs + S8207760: SAXException: Invalid UTF-16 surrogate detected: d83c ? + S8207829: FlightRecorderMXBeanImpl is leaking the first classloader which calls it + S8207849: Allow the addition of more number to the Java version string + S8208275: C2 crash in Node::add_req(Node*) + S8208656: Move java/util/Calendar/CalendarTestScripts tests into OpenJDK + S8209615: ParseError in XMLEventReader on a valid input + S8209758: 2 classes with same name G1PrintCollectionSetClosure cause crash when logging is enabled + S8209960: -Xlog:jfr* doesn't work with the JFR + S8210192: Hsperf counter ParNew::CMS should be ParNew:CMS + S8210394: (zipfs) jdk/nio/zipfs/ZFSTests.java rootdir.zip: The process cannot access the file because it is being used by another process + S8210633: Cannot parse JapaneseDate string with DateTimeFormatterBuilder Mapped-values + S8210874: Test for JDK-8209615 + S8210974: No extensions debug log for ClientHello + S8210989: RSASSA-PSS certificate cannot be selected for client auth on TLSv1.2 + S8211049: Second parameter of "initialize" method is not used + S8211064: [AArch64] Interpreter and c1 don't correctly handle jboolean results in native calls + S8211100: hotspot C1 issue with comparing long numbers on x86 32-bit + S8211163: UNIX version of Java_java_io_Console_echo does not return a clean boolean + S8211267: StackOverflowError happened by TextField.setFont(...) + S8211295: DriverManager.getConnection fails when called from com.sun.rowset.JdbcRowSetImpl + S8211320: Aarch64: unsafe.compareAndSetByte() and unsafe.compareAndSetShort() c2 intrinsics broken with negative expected value + S8211382: ISO2022JP and GB18030 NIO converter issues + S8211398: Square character support for the Japanese new era + S8211698: Crash in C2 compiled code during execution of double array heavy processing code + S8211765: JarFile constructor throws undocumented exception + S8211787: javax/net/ssl/TLSCommon/TLSTest.java throws java.net.SocketTimeoutException: Read timed out + S8211821: PrintStringTableStatistics crashes JVM + S8212173: Thread._stack_base/_stack_size initialized too late for new threads + S8212232: Wrong metadata for the configuration of the cutoff for old object sample events + S8212233: javadoc fails on jdk12 with "The code being documented uses modules but the packages defined in $URL are in the unnamed module." + S8212885: TLS 1.3 resumed session does not retain peer certificate chain + S8212941: Support new Japanese era in java.time.chrono.JapaneseEra + S8213183: InputMethod cannot be used after its restarting + S8213202: Possible race condition in TLS 1.3 session resumption + S8213419: C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 + S8213421: Line number information for execution samples always 0 + S8213583: Error while opening the JFileChooser when desktop contains shortcuts pointing to deleted files + S8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace + S8213782: NullPointerException in sun.security.ssl.OutputRecord.changeWriteCiphers + S8213829: Remove circular dependency between g1CollectedHeap and g1ConcurrentMark + S8213952: Relax DNSName restriction as per RFC 1123 + S8213966: The ZGC JFR events should be marked as experimental + S8213983: [macosx] Keyboard shortcut ?cmd +`? stops working properly if popup window is displayed + S8214063: OpenJDK will not build on AIX while using the xlc 13.1 compiler + S8214100: use of keystore probing results in unnecessary exception thrown + S8214118: HeapRegions marked as archive even if CDS mapping fails + S8214122: JDWP is broken on 32 bit Windows: transport library missing onLoad entry + S8214129: SSL session resumption/SNI with TLS1.2 causes StackOverflowError + S8214189: test/hotspot/jtreg/compiler/intrinsics/mathexact/ /MulExactLConstantTest.java fails on Windows x64 when run with - XX:-TieredCompilation + S8214206: Fix for JDK-8213419 is broken on 32-bit + S8214339: SSLSocketImpl erroneously wraps SocketException + S8214352: C1: Unnecessary "compilation bailout: block join failed" with JVMTI + S8214451: PPC64/s390: Clean up unused CRC32 prototype and function + S8214513: A PKCS12 keystore from Java 8 using custom PBE parameters cannot be read in Java 11 + S8214688: TLS 1.3 session resumption with hello retry request failed with "illegal_parameter" + S8214827: Incorrect call ClassLoaders.toFileURL("jrt:/java.compiler") + S8215100: AArch64: fix compareTo intrinsic with four-character Latin/Unicode + S8215175: Inconsistencies in JFR event metadata + S8215202: AArch64: jtreg test test/jdk/sun/nio/cs/FindEncoderBugs.java fails + S8215317: [GRAAL] unit test CheckGraalIntrinsics failed after 8213754 + S8215330: javax.xml.catalog.CatalogResolverImpl: GroupEntry.matchURI fails to match + S8215362: JFR GTest JfrTestNetworkUtilization fails + S8215397: jsig.c missing classpath exception + S8215727: Restore JFR thread sampler loop to old / previous behavior + S8215947: JVM crash with -XX:+DumpSharedSpaces + S8215951: AArch64: jtreg test vmTestbase/nsk/jvmti/PopFrame/popframe005 segfaults + S8215962: Support ThreadPriorityPolicy mode 1 for non-root users on linux/bsd + S8216049: stringTable::intern creates redundant String when looking up existing one + S8216060: [PPC64] Vector CRC implementation should be used by interpreter and be faster for short arrays + S8216280: Allow later Symantec Policy distrust date for two Apple SubCAs + S8216302: StackTraceElement::fill_in can use cached Class.name + S8216308: StackTraceElement::fill_in can use injected Class source-file + S8216350: AArch64: monitor unlock fast path not called + S8216546: Support new Japanese era in java.lang.Character for Java SE 11 + S8216578: Remove unused/obsolete method in JFR code + S8216965: crash in freetypeScaler.c CopyBW2Grey8 + S8217014: Epsilon should not ignore Metadata GC causes + S8217315: Proper units should print more significant digits + S8217321: [TESTBUG] utilities/test_globalDefinitions.cpp should use _LP64, not LP64 + S8217342: Build failed with excluding JFR + S8217378: UseCriticalCMSThreadPriority is broken + S8217427: (dc) nio/channels/DatagramChannel/UseDGWithIPv6.java fails without IPv6 + S8217432: MetaspaceGC::_capacity_until_GC exceeds MaxMetaspaceSize + S8217459: [PPC64] Cleanup non-vector version of CRC32 + S8217471: [TESTBUG] gc/epsilon/TestClasses.java fails on some platforms - OOME Metaspace + S8217520: Remove vm.opt.MaxGCPauseMillis == "null" from TestOldGenCollectionUsage.java + S8217579: TLS_EMPTY_RENEGOTIATION_INFO_SCSV is disabled after 8211883 + S8217597: [TESTBUG] old version docker does not support --cpus + S8217609: New era placeholder not recognized by java.text.SimpleDateFormat + S8217628: Verbose ArrayIndexOutOfBoundsException message also in JNI calls. + S8217657: Move the test for default value of jdk.includeInExceptions into own test + S8217994: os::print_hex_dump should be more resilient against unreadable memory + S8218156: "jcmd VM.metaspace basic" misreports free chunk space + S8218192: Remove copy constructor for MemRegion + S8218915: Change isJavaIdentifierStart and isJavaIdentifierPart to handle new code points + S8219251: Langtools tests default memory size needs to be 768m + S8219260: Default number of test jobs needs to be consistently calculated + S8219461: Bump update version for OpenJDK jdk11.0.3 + S8219650: [Testbug] Fix potential crashes in new test hotspot gtest "test_print_hex_dump" + S8219651: compiler/ciReplay/TestServerVM.java is failing on windows + S8219714: [testbug] com/sun/jdi/RedefineNestmateAttr/ /TestNestmateAttr.java must pass classpath to subprocess + S8219789: [TESTBUG] TestOptionsWithRanges.java produces hs_err_pidXXXXX.log file for VMThreadStackSize=9007199254740991 + S8219890: Calendar.getDisplayName() returns empty string for new Japanese Era on some locales + S8220283: ZGC fails to build on GCC 4.4.7: ATTRIBUTE_ALIGNED compatibility issue + S8220294: ZGC fails to build on GCC 4.4.7: Type parameter issue + S8221769: Revert JDK-8221767 mistakenly pushed to jdk11u 11.0.3 - Modified patch: * java11-improved-fonts.patch + Adapted to changed context- Update to upstream tag jdk-11.0.2+7 (Oracle January 2019 CPU) * Security fixes: + S8206290, CVE-2019-2422, bsc#1122293: Better FileChannel transfer performance + S8209094, CVE-2019-2426: Improve web server connections + S8210866, CVE-2018-11212, bsc#1122299: Improve JPEG processing * Security-In-Depth fixes: + S8199156: Better route routing + S8199161: Better interface enumeration + S8199166: Better interface lists + S8199552: Update to build scripts + S8200659: Improve BigDecimal support + S8203955: Improve robot support + S8204895: Better icon support + S8205356: Choose printer defaults + S8205709: Proper allocation handling + S8205714: Initial class initialization + S8206295: More reliable p11 transactions + S8206301: Improve NIO stability + S8210094: Better loading of classloader classes + S8210598: Strengthen Windows Access Bridge Support + S8210606: Improved data set handling + S8210610: Improved LSA authentication + S8210870: Libsunmscapi improved interactions * Fixes + S8021335: Missing synchronization when reading counters for live threads and peak thread count + S8027434: "-XX:OnOutOfMemoryError" uses fork instead of vfork + S8029661: Support TLS v1.2 algorithm in SunPKCS11 provider + S8170937: Swing apps are slow if displaying from a remote source to many local displays + S8196902: Better HTTP Redirection + S8203688: [testbug] Nashorn test test/nashorn/script/nosecurity/treeapi/diagnostic.js fails + S8203850: java.net.http HTTP client should allow specifying Origin and Referer headers + S8205330: InitialDirContext ctor sometimes throws NPE if the server has sent a disconnection + S8205507: jdk/javax/xml/crypto/dsig/GenerationTests.java timed out + S8205633: TestOptionsWithRanges.java of '-XX:TLABSize=2147483648' fails intermittently + S8206075: On x86, assert on unbound assembler Labels used as branch targets + S8206107: [x86_32] jck tests for ldc2_w bytecode fail + S8207059: Update test certificates in QuoVadisCA.java test + S8207150: Clip.isRunning() may return true after Clip.stop() was called + S8207343: Automate vtable/itable stub size calculation + S8207395: jar has issues with UNC-path arguments for the jar - C parameter [windows] + S8207810: Remove jdk-11.0.1+2 tag from source repository + S8207924: serviceability/sa/TestUniverse.java#id0 intermittently fails with assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded + S8208209: Improve TLS connection stability again + S8208350: Disable all DES cipher suites + S8208480: Test failure: assert(is_bound() || is_unused()) after JDK-8206075 in C1 + S8208638: Instead of circle rendered in appl window, but ellipse is produced JEditor Pane + S8208647: switch jtreg to 4.2b13 + S8208661: JDK 11.0.1 l10n resource file update + S8208754: The fix for JDK-8194534 needs updates + S8209357: [PPC64] Fix build which was broken by 8208672 (Enable -Wreorder) + S8209433: [s390] Fix build, broken by 8208672 (Enable - Wreorder) + S8209511: C2 asserts with UseSSE < 4 and AVX enabled: "Label was never bound to a location, but it was used as a jmp target' + S8209544: AES encrypt performance regression in jdk11b11 + S8209576: java.nio.file.Files.writeString writes garbled UTF-16 instead of UTF-8 + S8209588: SIGSEGV in MethodArityHistogram() with - XX:+CountCompiledCalls + S8209916: NPE in SupportedGroupsExtension + S8209950: SIGBUS in CodeHeapState::print_names() + S8209965: The "supported_groups" extension in ServerHellos + S8210040: TestOptionsWithRanges.java is very slow + S8210043: Invalid assert(HeapBaseMinAddress > 0) in ReservedHeapSpace::initialize_compressed_heap + S8210319: [s390]: Use of shift operators not covered by cpp standard + S8210334: TLS 1.3 server fails if ClientHello doesn't have pre_shared_key and psk_key_exchange_modes + S8210345: The Japanese message of FileNotFoundException garbled + S8210355: Minimal and Zero non-PCH builds fail after JDK-8207343 (Automate vtable/itable stub size calculation) + S8210357: Zero builds fail after JDK-8207343 (Automate vtable/itable stub size calculation) + S8210416: [linux] Poor StrictMath performance due to non-optimized compilation + S8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization + S8210432: Add additional TeliaSonera root certificate + S8210490: TimeZone.getDisplayName given Locale.US doesn't always honor the Locale. + S8210695: Create test to cover JDK-8205330 InitialDirContext ctor sometimes throws NPE if the server has sent a disconnection + S8210754: print_location is not reliable enough (printing register info) + S8210764: Update avx512 implementation + S8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth + S8210912: Build error in src/jdk.crypto.cryptoki/share/native/ /libj2pkcs11/p11_convert.c after JDK-8029661 + S8210918: Add test to exercise server-side client hello processing + S8210964: add more ld preloading related info to hs_error file on Linux + S8211061: Tests fail with assert(VM_Version::supports_sse4_1()) on ThreadRipper CPU + S8211106: [windows] Update OS detection code to recognize Windows Server 2019 + S8211107: LDAPS communication failure with jdk 1.8.0_181 + S8211124: HotSpot update for vm_version.cpp to recognise updated VS2017 + S8211231: BarrierSetC1::generate_referent_check() confuses register allocator + S8211251: Default mask register for avx512 instructions + S8211268: Disable unsupported GCs for Zero + S8211272: x86_32 build failures after JDK-8210764 (Update avx512 implementation) + S8211375: Minimal VM build failures after JDK-8211251 (Default mask register for avx512 instructions) + S8211420: com.sun.net.httpserver.HttpServer returns Content-length header for 204 response code + S8211437: 8211437 java.net.http.HttpClient hangs on 204 reply without Content-length 0 + S8211451: ~2.5% regression on compression benchmark starting with 12-b11 + S8211714: Need to update vm_version.cpp to recognise VS2017 minor versions + S8211731: Reconsider default option for ClassPathURLCheck change done in JDK-8195874 + S8211806: TLS 1.3 handshake server name indication is missing on a session resume + S8211844: [aix] ProcessBuilder: Piping between created processes does not work. + S8211852: inspect stack during error reporting + S8211883: Disable anon and NULL cipher suites + S8211909: JDWP Transport Listener: dt_socket thread crash + S8211926: Catastrophic size_t underflow in BitMap::*_large methods + S8211931: [ppc][testbug] runtime/jni/terminatedThread/ /TestTerminatedThread.java fails as threads don't terminate immediately + S8212005: Epsilon elastic TLAB sizing may cause misalignment + S8212070: Introduce diagnostic flag to abort VM on failed JIT compilation + S8212100: AppCDS crashes for some uses with JRuby + S8212116: IIOException "tEXt chunk length is not proper" on opening png file + S8212177: Epsilon alignment adjustments can overflow max TLAB size + S8212178: Soft reference reclamation race in com.sun.xml.internal.stream.util.ThreadLocalBufferAllocator + S8212197: OpenDataException thrown when constructing CompositeData for StackTraceElement + S8212481: PPC64: Enable POWER9 CPU detection + S8212613: Bump update version for jdk11.0.2 cpu forest + S8212645: Need change jdk 11.0.2 milestone to ea + S8212754: Build failure: undefined JvmtiSampledObjectAllocEventCollector::object_alloc_is_safe_to_sample + S8212795: ThreadInfoCompositeData.toCompositeData fails to map ThreadInfo to CompositeData + S8212926: HttpClient does not retrieve files with large sizes over HTTP/1.1 + S8212937: Parent class loader may not have a referred ClassLoaderData instance when obtained in Klass::class_in_module_of_loader + S8213085: (tz) Upgrade time-zone data to tzdata2018g + S8213086: Compiler thread creation should be bounded by available space in memory and Code Cache + S8213151: [AIX] Some class library files are missing the Classpath exception + S8213154: Update copyright headers of files in src tree that are missing Classpath exception + S8213367: JDK 11.0.2 l10n resource file update + S8213410: UseCompressedOops requirement check fails fails on 32-bit system + S8213527: [testbug] Fix PrintMetaspaceDcmd test using UseCompressedOops for 32-bit. + S8213763: Need change jdk 11.0.2 milestone to fcs + S8213834: JVMTI ResourceExhausted should not be posted in CompilerThread + S8213942: URLStreamHandler initialization race + S8213992: Rename and make DieOnSafepointTimeout the diagnostic option + S8214059: Undefined behaviour in ADLC + S8214061: Buffer written into itself + S8214105: [TESTBUG] Bit test is always false in serviceability/jvmti/StartPhase/AllowedFunctions + S8214108: [TESTBUG] Incorrect Function parameter lists in vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001 + S8214295: Populate handlers while holding streamHandlerLock + S8214476: ZGC: Build ZGC by default + S8214892: Delayed starting of debugging via jcmd + S8215128: Test library OSInfo.getSolarisVersion cannot determine Solaris version + S8215637: client VM variant build error: zgc (enabled) depends on opto (disabled) + S8215975: [testbug] Adapt nsk tests to the PPC, S390 and AIX platforms. + S8216290: Register to register spill may use AVX 512 move instruction on unsupported platform.- Added patch: * loadAssistiveTechnologies.patch + Do not crash the whole JVM if assistive technologies crash- Do not resolve by default the added JavaEE modules (fixes bsc#1120431)- Remove hardcoded Java version in jconsole desktop file.- Merge into the JDK following modules from github.com/javaee: * com.sum.xml.fastinfoset * org.jvnet.staxex * com.sun.istack.runtime * com.sun.xml.txw2 * com.sun.xml.bind + This provides a default implementation of JAXB-API that existed in JDK before Java 11 and that some applications depend on.- Update to upstream tag jdk-11.0.1+13 (Oracle October 2018 CPU) * Security fixes: + S8202936, CVE-2018-3183, bsc#1112148: Improve script engine support + S8199226, CVE-2018-3169, bsc#1112146: Improve field accesses + S8199177, CVE-2018-3149, bsc#1112144: Enhance JNDI lookups + S8202613, CVE-2018-3180, bsc#1112147: Improve TLS connections stability + S8208209, CVE-2018-3180, bsc#1112147: Improve TLS connection stability again + S8199172, CVE-2018-3150, bsc#1112145: Improve jar attribute checks + S8200648, CVE-2018-3157, bsc#1112149: Make midi code more sound + S8194534, CVE-2018-3136, bsc#1112142: Manifest better support + S8208754, CVE-2018-3136, bsc#1112142: The fix for JDK-8194534 needs updates + S8196902, CVE-2018-3139, bsc#1112143: Better HTTP Redirection * Security-In-Depth fixes: + S8194546: Choosier FileManagers + S8195874: Improve jar specification adherence + S8196897: Improve PRNG support + S8197881: Better StringBuilder support + S8201756: Improve cipher inputs + S8203654: Improve cypher state updates + S8204497: Better formatting of decimals + S8200666: Improve LDAP support + S8199110: Address Internet Addresses * Fixes + S7017058: Malayalam glyph substitution is failing for Malayalam with Windows Kartika font. + S8130655: OS X: keyboard input in textfield is not possible if the window contained textfield is owned by EmbeddedFrame + S8160104: CORBA communication improvements + S8163237: Restrict the use of EXPORT cipher suites + S8172525: Improve key keying case + S8174756: Extra validation for public keys + S8174962: Better interface invocations + S8175075: Add 3DES to the default disabled algorithm security property + S8175932: Improve host instance supports + S8176450: Revise default document styling + S8178449: Improve LDAP logins + S8178458: Better use of certificates in LDAP + S8178466: Better RSA parameters + S8179533: Cleaner print job handling + S8179990: Cleaner palette entry handling + S8180011: Cleaner native graphics device handling + S8180015: Cleaner AWT robot handling + S8180020: Improve SymbolHashMap entry handling + S8180869: Cleaner image file reading handling + S8180877: More deeply colored ICC spaces + S8181664: Improve JVM UTF String handling + S8181670: Improve implementation of keystores + S8182125: Improve reliability of DNS lookups + S8182362: Update CipherOutputStream Usage + S8182387: Improve PKCS usage + S8182601: Improve usage messages + S8183032: Upgrade to LittleCMS 2.9 + S8185292: Stricter key generation + S8185325: Improve GTK initialization + S8186032: Disable XML Signatures signed with EC keys less than 224 bits + S8186080: Transform XML interfaces + S8186212: Improve GSS handling + S8186600: Improve property negotiations + S8186606: Improve LDAP lookup robustness + S8186998: Improve JMX supportive features + S8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain + S8189123: More consistent classloading + S8189284: More refactoring for deserialization cases + S8189969: Manifest better manifest entries + S8189977: Improve permission portability + S8189981: Improve queuing portability + S8189985: Improve tabular data portability + S8189989: Improve container portability + S8189993: Improve document portability + S8189997: Enhance keystore mechanisms + S8190227: Forward port 8188880 to JDK10CPU + S8190289: More refactoring for client deserialization cases + S8190478: Improved interface method selection + S8190789: sun/security/provider/certpath/LDAPCertStore/ /TestURICertStoreParameters.java fails after JDK-8186606 + S8190877: Better handling of abstract classes + S8191130: Sinhala text rendering problem with C+VIRAMA+ZWJ+RA/YA+V + S8191142: More refactoring for naming deserialization cases + S8191178: [macos] Problem with input of yen symbol + S8191239: Improve desktop file usage + S8191358: Restore TSA certificate expiration check + S8191696: Better mouse positioning + S8191907: PPC64 and s390 parts of JDK-8174962: Better interface invocations + S8192025: Less referential references + S8192030: Better MTSchema support + S8192757: Improve stub classes implementation + S8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile + S8193409: Improve AES supporting classes + S8193414: Improvements in MethodType lookups + S8193419: Better Internet address support + S8194233: Improve support for array handles + S8194238: Trying exceptions in MethodHandles + S8194259: keytool error: java.io.IOException: Invalid secret key format + S8195662: Add T6587786.java to problem list before JDK-8195589 is resolved + S8195836: opentype:Bengali: "Khanda Ta" shaping issue with U+09A4 TA, U+09CD virama, U+200D ZWJ + S8196224: Even better Internet address support + S8196289: Update src/java.desktop/share/legal/lcms.md for LCMS 2.9 + S8197443: ArrayIndexOutOfBoundsException in UcryptoException.getError + S8197925: Better stack walking + S8199547: Exception to Pattern Syntax + S8200332: Improve GCM counting + S8204667: Resources not freed on exception + S8205479: OS X: requestFocus() does not work properly for embedded frame + S8205491: adjust reflective access checks + S8206389: JarEntry.setCreation/LastAccessTime without setLastModifiedTime causes Invalid CEN header + S8206392: [macosx] Cycling through windows (JFrames) does not work with keyboard shortcut + S8206473: Revert changes of JDK-8202613 in jdk-cpu and jdk11u-cpu + S8206884: Bump update version for jdk11.0.1 cpu forest + S8207057: No debug info for assembler files + S8207153: Some intrinsic tests take long time to run + S8207745: serviceability/sa/TestJmapCore.java times out parsing a 4GB hprof file + S8207775: Better management of CipherCore buffers + S8207941: javax/swing/plaf/basic/BasicGraphicsUtils/8132119/ /bug8132119.java fails on machines without Arial font [testbug] + S8207948: JDK 11 L10n resource file update msg drop 10 + S8208091: SA: jhsdb jstack --mixed throws UnmappedAddressException on i686 + S8208268: 11.0.1 b03 java.net bundles - Release Date is wrong + S8208350: Disable all DES cipher suites + S8208583: Better management of internal KeyStore buffers + S8208595: [parfait] Better X11 font support + S8208654: Please change jdk 11.0.1 milestone to FCS + S8208661: JDK 11.0.1 l10n resource file update + S8208746: ISO 4217 Amendment #168 update + S8209129: Further improvements to cipher buffer management + S8209639: assert failure in coalesce.cpp: attempted to spill a non-spillable item + S8209775: ISO 4217 Amendment #169 update + S8209786: JDK12 fails to build on s390x with gcc 7.3 + S8209862: CipherCore performance improvement + S8209889: RedefineStress tests crash + S8209916: NPE in SupportedGroupsExtension + S8209942: [epsilon] range function for EpsilonTLABElasticity causes compiler warning + S8209996: [PPC64] Fix JFR profiling + S8210153: localized currency symbol of VES + S8210259: [testbug] IncompatibleOptions.java fails if VM configured without ZGC + S8210335: Clipping problems with complex affine transforms: negative scaling factors or small scaling factors + S8210345: The Japanese message of FileNotFoundException garbled + S8210432: Add additional TeliaSonera root certificate + S8210497: [PPC64] Vector registers not saved across safepoint + S8210502: jdeps does not handle properly on analyzing a mixture of MR JARs and non-MR JARs + S8210647: libsaproc is being compiled without optimization. + S8210703: vmStructs.cpp compiled with -O0 + S8210736: jdk/javax/xml/crypto/dsig/GenerationTests.java slow on linux + S8210761: libjsig is being compiled without optimization + S8210775: JVM TI Spec missing copyright + S8210810: Escaped character at specific position in argument file is not handled properly + S8210836: Build fails with warn_unused_result in openjdk/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c + S8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth + S8211065: Private method check in linkResolver is incorrect + S8211105: AArch64: Disable cos/sin and log intrinsics in jdk11u pending fix + S8211107: LDAPS communication failure with jdk 1.8.0_181 + S8211165: License header is absent in a few J2Ddemo source code files + S8211208: make AllocateHeapAt an unsupported option on AIX + S8211387: [Zero] atomic_copy64: Use ldrexd for atomic reads on ARMv7 + S8211731: Reconsider default option for ClassPathURLCheck change done in JDK-8195874 + S8211768: [s390] Implement JFR profiling + S8211856: [ppc, s390] ProblemList some failing tests. + S8211916: Javadoc -link makes broken links if module name matches package name + S8212110: Build of saproc.dll broken on Windows 32 bit after JDK-8210647 + S8212204: [TESTBUG] test/hotspot/jtreg/compiler/intrinsics/ /base64/TestBase64.java fails - Removed patches: * RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch * RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch + Integrated upstream- Add patches to workaround aarch64 critical bugs: * RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch * RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch- Official OpenJDK 11 release (fate#324453, fate#323970, bsc#1111162) * Pull the sources from the jdk-updates/jdk11u repository from now on. * Remove the buildver from the rpm version string- Update jax-ws-spec and jaxb-spec tarball to the latest versions - Modified patch: * annotation-module.patch + module name change from java.xml.ws.annotation to java.annotation- Update configuration flags to enable ZGC on x86_64 platforms- Update to upstream tag jdk-11+28 (OpenJDK 11 rc1) * Fixes: + S8207317: SSLEngine negotiation fail exception behavior changed from fail-fast to fail-lazy + S8207838: AArch64: Float registers incorrectly restored in JNI call + S8209637: [s390x] Interpreter doesn't call result handler after native calls + S8209670: CompilerThread releasing code buffer in destructor is unsafe + S8209735: Disable avx512 by default + S8209806: API docs should be updated to refer to javase11 - Report version without the "-internal" postfix- Added patch: * jaw-nogtk.patch + Don't build against gdk making the accessibility depend on a particular version of gtk.- Update to upstream tag jdk-11+27 * Fixes: + S8031761: [TESTBUG] Add a regression test for JDK-8026328 + S8151259: [TESTBUG] nsk/jvmti/RedefineClasses/redefclass030 fails with "unexpected values of outer fields of the class" when running with -Xcomp + S8164639: Configure PKCS11 tests to use user-supplied NSS libraries + S8189667: Desktop#moveToTrash expects incorrect "<>" FilePermission + S8194949: [Graal] gc/TestNUMAPageSize.java fail with OOM in - Xcomp + S8195156: [Graal] serviceability/jvmti/GetModulesInfo/ /JvmtiGetAllModulesTest.java fails with Graal in Xcomp mode + S8199081: [Testbug] compiler/linkage/LinkageErrors.java fails if run twice + S8201394: Update java.se module summary to reflect removal of java.se.ee module + S8204931: Colors with alpha are painted incorrectly on Linux + S8204966: [TESTBUG] hotspot/test/compiler/whitebox/ /IsMethodCompilableTest.java test fails with - XX:CompileThreshold=1 + S8205608: Fix 'frames()' in ThreadReferenceImpl.c to prevent quadratic runtime behavior + S8205687: TimeoutHandler generates huge core files + S8206176: Remove the temporary tls13VN field + S8206258: [Test Error] sun/security/pkcs11 tests fail if NSS libs not found + S8206965: java/util/TimeZone/Bug8149452.java failed on de_DE and ja_JP locale. + S8207009: TLS 1.3 half-close and synchronization issues + S8207046: arm32 vm crash: C1 arm32 platform functions parameters type mismatch + S8207139: NMT is not enabled on Windows 2016/10 + S8207237: SSLSocket#setEnabledCipherSuites is accepting empty string + S8207355: C1 compilation hangs in ComputeLinearScanOrder::compute_dominator + S8207746: C2: Lucene crashes on AVX512 instruction + S8207765: HeapMonitorTest.java intermittent failure + S8207944: java.lang.ClassFormatError: Extra bytes at the end of class file test" possibly violation of JVMS 4.7.1 + S8207948: JDK 11 L10n resource file update msg drop 10 + S8207966: HttpClient response without content-length does not return body + S8208125: Cannot input text into JOptionPane Text Input Dialog + S8208164: (str) improve specification of String::lines + S8208166: Still unable to use custom SSLEngine with default TrustManagerFactory after JDK-8207029 + S8208189: ProblemList compiler/graalunit/JttThreadsTest.java + S8208205: ProblemList tests that fail due to 'Error attaching to process: Can't create thread_db agent!' + S8208226: ProblemList com/sun/jdi/BasicJDWPConnectionTest.java + S8208251: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorGCCMSTest.java fails intermittently on Linux-X64 + S8208305: ProblemList compiler/jvmci/compilerToVM/GetFlagValueTest.java + S8208347: ProblemList compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig.java + S8208353: Upgrade JDK 11 to libpng 1.6.35 + S8208358: update bug ids mentioned in tests + S8208370: fix typo in ReservedStack tests' @requires + S8208391: Differentiate response and connect timeouts in HTTP Client API + S8208466: Fix potential memory leak in harfbuzz shaping. + S8208496: New Test to verify concurrent behavior of TLS. + S8208521: ProblemList more tests that fail due to 'Error attaching to process: Can't create thread_db agent!' + S8208640: [a11y] [macos] Unable to navigate between Radiobuttons in Radio group using keyboard. + S8208663: JDK 11 L10n resource file update msg drop 20 + S8208676: Missing NULL check and resource leak in NetworkPerformanceInterface::NetworkPerformance::network_utilization + S8208691: Tighten up jdk.includeInExceptions security property + S8209011: [TESTBUG] AArch64: sun/security/pkcs11/Secmod/ /TestNssDbSqlite.java fails in aarch64 platforms + S8209029: ProblemList tests that fail due to 'Error attaching to process: Can't create thread_db agent!' in jdk-11+25 testing + S8209149: [TESTBUG] runtime/RedefineTests/ /RedefineRunningMethods.java needs a longer timeout + S8209451: Please change jdk 11 milestone to FCS + S8209452: VerifyCACerts.java failed with "At least one cacert test failed" + S8209506: Add Google Trust Services GlobalSign root certificates + S8209537: Two security tests failed after JDK-8164639 due to dependency was missed- Update to upstream tag jdk-11+24 (Oracle July 2018 CPU) * Security fixes: + S8197925: Better stack walking (CVE-2018-2940, bsc#1101645) + S8199547: Exception to Pattern Syntax (CVE-2018-2952, bsc#1101651) + S8200332: Improve GCM counting (CVE-2018-2972, bsc#1101655) + S8200666: Improve LDAP support (CVE-2018-2973, bsc#1101656) * Security-In-Depth fixes: + S8191239: Improve desktop file usage + S8193419: Better Internet address support * Fixes: + S8189922: UseNUMA memory interleaving vs membind + S8196224: Even better Internet address support + S8202837: PBES2 AlgorithmId encoding error in PKCS12 KeyStore + S8203230: update VerifyCACerts test + S8203504: [Graal] org.graalvm.compiler.debug.test.DebugContextTest fails with java.util.ServiceConfigurationError + S8203820: [TESTBUG] vmTestbase/metaspace/staticReferences/StaticReferences.java timed out + S8204196: integer cleanup + S8205390: jtreg: Fix failing TestRTMSpinLoopCount on PPC64 + S8205491: adjust reflective access checks + S8205578: jtreg: Fix failing TestRTMAbortRatio on PPC64 + S8205580: PPC64: RTM: Don't retry lock on abort if abort was intentional + S8205581: PPC64: RTM: Fix abort on native calls + S8205582: PPC64: RTM: Fix counter for aborts on nested transactions + S8206171: Signature#getParameters for RSASSA-PSS throws ProviderException when not initialized + S8206241: compiler/graalunit/PhasesCommonTest.java fails with java.lang.Error: TESTBUG: no tests found for prefix org.graalvm.compiler.phases.common.test + S8206445: JImageListTest.java failed in Windows + S8206456: [TESTBUG] docker jtreg tests fail on systems without cpuset.effective_cpus / cpuset.effective_mem + S8206865: RMI activation tests fail with InvalidClassException + S8206886: Java does not set the default format locale correctly on mac10.13 + S8206931: Misleading "COMPILE SKIPPED: invalid non-klass dependency" compile log + S8207056: Epsilon GC to support object pinning + S8207069: [AOT] we should check that VM uses the same GC as one used for AOT library generation. + S8207223: SSL Handshake failures are reported with more generic SSLException + S8207243: Fix translation filtering to also support zh_HK and zh_TW + S8207244: java/nio/channels/Selector/SelectWithConsumer.java testInterruptDuringSelect() fails intermittently + S8207250: setUseClientMode post handshake with the same value as before does not throw IAE + S8207252: C1 still does eden allocations when TLAB is enabled + S8207365: Make man pages optional + S8207380: compiler/graalunit/JttLangMTest.java timeout + S8207383: [Graal] SelfChangedCDS.java fails with "guarantee(disp == (intptr_t)(jint)disp) failed: must be 32-bit offset" + S8207392: [PPC64] Implement JFR profiling. + S8207584: ARM32: ShouldNotReachHere assertion on Test8168712 jtreg test + S8207761: Split compiler/graalunit/JttReflectFTest.java + S8207765: HeapMonitorStatIntervalTest.java fails with ZGC + S8207766: [testbug] Adapt tests for Aix. + S8207818: Problem list several rmi tests + S8207819: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorStatRateTest.java + S8207830: [aix] disable jfr in build and tests + S8207833: java/nio/channels/Selector/SelectWithConsumer.java testCancel() fails intermittently + S8207846: Generalize the jdk.net.includeInExceptions security property + S8207915: [AOT] jaotc w/ '--ignore-errors' should ignore illegal class files + S8207952: Problem-list 3 sctp tests + S8207959: The initial value of SETTINGS_MAX_CONCURRENT_STREAMS should have no limit + S8207960: Non-negative WINDOW_UPDATE increments may leave the stream window size negative + S8208075: Quarantine vmTestbase/nsk/jvmti/RedefineClasses/ /StressRedefineWithoutBytecodeCorruption/TestDescription.java + S8208092: ProblemList serviceability/sa/ClhsdbCDSCore.java + S8208096: Update build documentation to reflect compiler upgrades at Oracle + S8208111: Problem list java/nio/channels/Selector/RacyDeregister.java- Update to upstream tag jdk-11+23 * Fixes + S8181855: [Graal] runtime/ReservedStack/ReservedStackTest.java triggers: assert(thread->deopt_mark() == __null) failed: no stack overflow from deopt blob/uncommon trap + S8189747: JDK9 javax.lang.model.util.Elements#getTypeElement regressed 1000x in performance. + S8191948: db error: InvalidTypeException: Can't assign double[][][] to double[][][] + S8199779: Add T-Systems, GlobalSign and Starfield services root certificates + S8200282: Serializing non-zero byte as zero to ByteBuffer + S8202481: RegisterDuringSelect.java fails with java.util.concurrent.ExecutionException: java.nio.channels.ClosedSelectorException + S8204860: The frame could be resized by dragging a corner of the frame with the mouse + S8205541: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorStatArrayCorrectnessTest.java fails with Should not have any events stored yet. + S8205576: forkjoin/FJExceptionTableLeak.java fails "AssertionError: failed to satisfy condition" + S8205643: HeapMonitorGCCMSTest fails with Graal + S8205652: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorStatRateTest.java fails + S8205725: Update the JVMTI Spec for Heap Sampling + S8205967: Remove sun/security/krb5/auto/UnboundSSL.java from ProblemList.txt + S8206189: sun/security/pkcs12/EmptyPassword.java fails with Sequence tag error + S8206238: Aspect ratio is not maintained when Image is scaled in JEditorPane + S8206265: aarch64 jtreg: assert in TestOptionsWithRanges.jtr + S8206271: CodeHeap State Analytics must digest new method state + S8206448: (fs) Extended attributes assumed to be enabled on ext3 (lnx) + S8206471: Race with ConcurrentHashTable deleting items on insert with cleanup thread + S8206873: 2 Null pointer dereference defect groups in LIRGenerator + S8206903: Unable to build Client VM with JVMCI + S8206915: XDH TCK issues + S8206929: Check session context for TLS 1.3 session resumption + S8206953: compiler/profiling/TestTypeProfiling.java fails when JVMCI build disabled + S8206960: HeapMonitor tests fail with Graal + S8206975: AArch64: Fix CompareAndSwapOp when useLSE is enabled in Graal + S8206977: Minor improvements of runtime code. + S8206980: ZonedDateTime could not parse timezone name with zh_CN locale correctly. + S8206998: [test] runtime/ElfDecoder/TestElfDirectRead.java requires longer timeout on ppc64 + S8207001: *.obj.log files get truncated causing unreliable incremental builds on Windows + S8207006: serviceability/sa/TestUniverse.java#id0 crashes with EpsilonGC and AOT + S8207023: Add trace info to java/nio/channels/Selector/RegisterDuringSelect.java + S8207027: Lookup.accessClass fails for an array type in the same package when assertions are enabled + S8207029: Unable to use custom SSLEngine with default TrustManagerFactory after updating to JDK 11 b21 + S8207032: Compilation succeeds without checking readability when --add-exports used + S8207044: minimal vm build fail: missing #include + S8207047: Multiple VM variants build fail + S8207049: Minor improvements of compiler code. + S8207065: Cleanup compiler tests for Client VM + S8207067: [test] prevent timeouts in serviceability/tmtools/jstat/{GcTest02,GcCauseTest02}.java + S8207068: Add Entrust root certificates + S8207152: Placeholder for Japanese new era should be two characters + S8207190: JDK 11 javadoc generates bad code example + S8207210: Problem list javax/sound/sampled/Clip/AutoCloseTimeCheck.java + S8207213: The help-doc.html generated by the doclet is incomplete + S8207217: Problem list java/lang/management/ThreadMXBean/AllThreadIds.java + S8207233: Minor improvements of jdk C-coding + S8207235: ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class) throws NPE + S8207240: AARCH64: C2-only VM does not build + S8207261: [Graal] JDI and JDWP tests that consume all memory should be filtered out to not run with Graal + S8207265: Bad HTML in {@link} in HttpResponse.BodySubscribers.ofPublisher + S8207318: KeyStore#getInstance(File, LoadStoreParameter) does not load the keystore + S8207342: error occurred during error reporting (printing register info) + S8207345: AArch64: Trampoline generation code reads from unitialized memory + S8207763: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorStatRateTest.java failed with Error. Parse Exception: Can't find source file: HeapMonitorStatIntervalTest.java- Merge standalone modules java.activation, java.xml.bind, java.xml.soap, java.xml.ws.annotation and java.xml.ws into the OpenJDK - Added patches: * activation-module.patch + add module-info.java file for java.activation module * annotation-module.patch + add module-info.java file for java.xml.ws.annotation- Update to upstream tag jdk-11+22 * Fixes + S8185740: The help-doc.html generated by the doclet is outdated + S8187069: The case auto failed with the java.lang.ClassNotFoundException: IPv6NameserverPlatformParsingTest exception + S8189604: possible hang in sun.awt.shell.Win32ShellFolder2$KnownFolderDefinition:: + S8193126: Incorrect setting of MetaspaceSize and NewSizeThreadIncrease when using JVMCI compiler + S8194740: UseSubwordForMaxVector causes performance regression + S8198346: assert(!_cld->claimed()) failed in TestObjectDescription.java + S8198352: java.util.MissingResourceException: sun.security.util.AuthResources when trying to use com.sun.security.auth.module.UnixLoginModule + S8198405: JImageExtractTest.java & JImageListTest.java failed in Windows. + S8198819: tools/jimage/JImageExtractTest.java, fails intermittently at testExtract (macos) + S8199645: javax/net/ssl/SSLSession/TestEnabledProtocols.java failed with Connection reset + S8201611: Broken links in java.desktop javadoc + S8202123: C2 Crash in Node::in(unsigned int) const+0x14 + S8202264: Race condition in AudioClip.loop() + S8202329: [AIX] Fix codepage mappings for IBM-943 and Big5 + S8202561: clean up TEST.groups file + S8202769: jck test fails with C2: vm/jvmti/FollowReferences/fref001/fref00113/fref00113.html + S8203007: Address missing block coverage for ChaCha20 and Poly1305 algorithms + S8203943: eventThreadGroup was null in TestJavaBlockedEvent.java + S8204603: Short week days, NaN value and timezone name are inconsistent between CLDR and Java in zh_CN, zh_TW locales. + S8204630: Generating an anonymous class with Filer#createClassFile causes an NPE in JavacProcessingEnvironment + S8204691: HeapRegion.apply_to_marked_objects_other_vm_test fails with assert(!hr->is_free() || hr->is_empty()) failed: Free region 0 is not empty for set Free list # + S8205426: Humongous continues remembered set does not match humongous start region one after Remark + S8205454: & is displayed in some Swing docs + S8205472: Deadlock in Kitchensink when trying to print compile queues causing timeout + S8205588: Deprecate for removal com.sun.awt.SecurityWarning + S8205646: Broken link in jdk.jsobject + S8205878: pthread_getcpuclockid is expected to return 0 code + S8205924: ZGC: Premature OOME due to failure to expand backing file + S8205928: [TESTBUG] jdk/internal/platform/docker/TestDockerMemoryMetrics + S8205966: [testbug] New Nestmates JDI test times out with Xcomp on sparc + S8205973: Client jtreg ProblemList cleanup + S8205999: C2 compilation fails with "assert(store->find_edge(load) != -1) failed: missing precedence edge" + S8206001: Enable TLS1.3 by default in Http Client + S8206106: [solaris sparc] jck tests api/javax_print/PrintService failing + S8206135: Building jvm with AOT but without JVMCI should fail at configure time + S8206145: dbgsysSocketClose - do not restart close if errno is EINTR [linux] + S8206163: AArch64: incorrect code generation for StoreCM + S8206173: MallocSiteTable::initialize() doesn't take function descriptors into account + S8206184: docs-reference build fails due to extlink.spec.version property not set + S8206243: java -XshowSettings fails if memory.limit_in_bytes overflows LONG.max + S8206254: Unable to complete emergency dump during safepoint + S8206255: fix compiler/intrinsics/sha/cli/ /TestUseSHAOptionOnSupportedCPU.java jtreg test on linux s390x + S8206287: fix legal notice in hotspot tests + S8206316: ZGC: Preferred tmpfs mount point not found on Debian + S8206322: ZGC: Incorrect license header in gtests + S8206323: Missing some legal notices in docs bundle + S8206324: compiler/whitebox/DeoptimizeFramesTest.java to ProblemList-graal.txt + S8206355: SSLSessionImpl.getLocalPrincipal() throws NPE + S8206375: ProblemList update of bug ID for SwingFontMetricsTest + S8206378: Backout JDK-8202561 + S8206394: missing ResourceMark in AOTCompiledMethod::metadata_do, AOTCompiledMethod::clear_inline_caches, CompiledMethod::clear_ic_stubs, CompiledMethod::cleanup_inline_caches_impl + S8206408: Add missing CPU/system info to vm_version_ext on PPC64 + S8206428: Upgrade JDK11 to harfbuzz 1.8.2 + S8206429: [REDO] 8202561 clean up TEST.groups + S8206433: Several jib profiles missing autoconf dependency + S8206436: sun/nio/cs/TestIBMBugs.java no longer compiles + S8206450: Add JImageListTest.java to ProblemList.txt + S8206459: [s390] Prevent restoring incorrect bcp and locals in interpreter and avoid incorrect size of partialSubtypeCheckNode in C2 + S8206476: Wrong assert in phase_enum_2_phase_string() in referenceProcessorPhaseTimes.cpp + S8206919: s390: add missing info to vm_version_ext_s390 + S8206951: [Graal] org.graalvm.compiler.hotspot.test.GraalOSRTest to ProblemList-graal.txt + S8206952: java/lang/Class/GetPackageBootLoaderChildLayer.java fails with Graal + S8206954: Test runtime/Thread/ThreadPriorities.java crashes with SEGV in pthread_getcpuclockid + S8207007: Add missing license header to zHash.inline.hpp- Switch armv6 to zero JVM variant (without JIT) since client and server JVM do not build for armv6 ATM- Update to upstream tag jdk-11+21 * Fixes: + S8201552: Ellipsis in "Classical" label in SwingSet2 demo with Windows L&F at Hidpi + S8203848: Missing remembered set entry in j.l.ref.references after JDK-8203028 + S8204355: [Graal] org.graalvm.compiler.debug.test.CSVUtilTest fails on Windows due to improper line separator used + S8204517: [Graal] org.graalvm.compiler.debug.test.VersionsTest fails with InvalidPathException on windows + S8205515: assert(opcode == Op_RangeCheck) failed: no other if variant here + S8205563: modules/AnnotationProcessing.java failed testGenerateSingleModule + S8205720: KeyFactory#getKeySpec and translateKey throws NullPointerException with Invalid key + S8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK + S8205984: javax/net/ssl/compatibility/Compatibility.java failed to access port log file + S8206003: SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop + S8206093: compiler/graalunit/HotspotTest.java fails in CheckGraalIntrinsics + S8206117: failed to get JDK properties for JVM w/o JVMCI- Update to upstream tag jdk-11+20 (rampdown phase 1) * Fixes: + S4475138: getBestCursorSize and XFree86 4.1.0 + S7007966: Add Brainpool ECC support (RFC 5639) + S8003209: JFR events for network utilization + S8010319: Implementation of JEP 181: Nest-Based Access Control + S8060192: Add default method A[] Collection.toArray(IntFunction generator) + S8066709: Make some JDK system properties read only + S8137164: Include PID in the JFR jcmd hint + S8144992: Remove OopIterateClosure::idempotent + S8149729: [jittester] Replace all 'path1 +"/" + path2' with Paths::get + S8153732: Windows remote printer changes do not reflect in lookupPrintServices() + S8155192: [TESTBUG] SHA tests assumes that x86 does not have SHA intrinsics + S8160673: Jittester: investigate bytecode generation hangs during bytecode tests generation + S8169559: Add class loader names to relevant VM messages + S8172854: [TESTBUG] Exclude runtime/ReservedStack/ReservedStackTest.java from being run with DeoptimizeALot option + S8185927: create regression test for 8062950 + S8187100: Support Unicode Variation Selectors + S8187218: GSSCredential.getRemainingLifetime() returns negative value for TTL > 24 days. + S8187288: bad (no) wrapping for modifier and type column + S8189103: AARCH64: optimize String indexOf intrinsic + S8189105: AARCH64: create intrinsic for sin and cos + S8189112: AARCH64: optimize StringUTF16 compress intrinsic + S8189113: AARCH64: StringLatin1 inflate intrinsic doesn't use prefetch instruction + S8189429: SA: MacOSX: Replace the deprecated PT_ATTACH with PT_ATTACHEXC + S8190876: javadoc search on "java.se" shows "java.se" the last one among other modules + S8192953: sun/management/jmxremote/bootstrap/*.sh tests fail with error : revokeall.exe: Permission denied + S8194152: sun/security/tools/jarsigner/AltProvider.java failed on de-DE locale + S8194873: right ALT key hotkeys no longer work in Swing components + S8194937: Inconsistent behavior of --validate-modules when combined with -m and other options + S8195077: [Testbug] tools/javac/processing/model/ /completionfailure/NoAbortForBadClassFile.java - AccessDeniedException + S8195607: sun/security/pkcs11/Secmod/TestNssDbSqlite.java failed with "NSS initialization failed" on NSS 3.34.1 + S8195630: [Graal] vmTestbase/nsk/jvmti/AttachOnDemand/ /attach024/TestDescription.java fails with Graal + S8195650: Method references to VarHandle accessors + S8195986: Incorrect javac -h output with annotation processing and missing classes + S8196213: sun/security/tools/jarsigner/warnings/ /NoTimestampTest.java test fails on ar_SA locale. + S8196402: AARCH64: create intrinsic for Math.log + S8196425: tools/javac/modules/AnnotationProcessing.java failed + S8196584: TLS 1.3 Implementation + S8197425: Liveset information for Old Object sample event + S8197532: Re-examine policy for the default set of modules when compiling or running code on the class path + S8198372: API to create a SelectableChannel to a FileDescriptor + S8198909: [Graal] compiler/codecache/stress/ /UnexpectedDeoptimizationTest.java crashed with SIGSEGV + S8199124: (fs) Reduce allocation for file system methods that are invoked with no open options + S8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM + S8199580: [TESTBUG] Un-quarantine vm/mlvm/indy/func/jdi/ /breakpointOtherStratum and breakpoint + S8199940: Print more information about class loaders in IllegalAccessErrors. + S8200243: System error message is decoded as invalid encoding in Windows. + S8200720: Print additional information in thread dump (times, allocated bytes etc.) + S8201610: Broken link on the page api/java.rmi/java/rmi/server/UnicastRemoteObject.html + S8201815: Use Mozilla Public Suffix List + S8202292: java/io/FileOutputStream/UnreferencedFOSClosesFd.java fails with "raw fd count wrong" + S8202299: Java Keystore fails to load PKCS12/PFX certificates created in WindowsServer2016 + S8202326: AARCH64: optimize string compare intrinsic + S8202331: Obsolete support for commercial features + S8202422: value of 'sizeCtl' in ConcurrentHashMap varies with the constructor called + S8202554: Remove hotspot tests for javafx.* modules + S8202608: CommonSeeder test needs a white-box testing mechanism to replace the default entropy source + S8202615: Remove NativeMonitorSpinLimit, NativeMonitorFlags and NativeMonitorTimeout experimental flags + S8202696: Remove exclusion range for phonetic chars in windows fontconfig.properties + S8202698: Update Graal for JEP 181 - Nest-based access control + S8202788: Explicitly reclaim cached thread-local direct buffers at thread exit + S8202922: Method reference identity is broken by serialization + S8203003: Several FileDialog Modality Tests fail on Linux due to X errors + S8203184: List.copyOf() fails to copy sublists + S8203188: Add JEP-181 support to the Zero interpreter + S8203228: Branch-free output conversion for X25519 and X448 + S8203299: StringPoolBuffer access covered by exclusive access invariant, remove (problematic) cas operations + S8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender + S8203664: JFR start failure after AppCDS archive created with JFR StartFlightRecording + S8203670: unmodifiable List iterator() implementations should not be ListIterators + S8203681: Miscellaneous changes imported from jsr166 CVS 2018-06 + S8203814: javac --release=8 "cannot find symbol" for NashornException.getEcmaError() + S8203864: Execution error in Java's Timsort + S8203929: Limit amount of data for JFR.dump + S8204082: Make names of Young GCs more uniform in logs + S8204157: Compiler.sunflow hangs after JDK-8192992 + S8204209: [Graal] Compilation fails during nmethod printing with "assert(bci == 0 || 0 <= bci && bci < code_size()) failed: illegal bci" + S8204233: Add configurable option for enhanced socket IOException messages + S8204289: AARCH64: enable math intrinsics usage in interpreter and C1 + S8204331: AArch64: fix CAS not embedded in normal graph error + S8204492: Add deprecation annotation to Nashorn APIs and warning to nashorn, jjs + S8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space + S8204540: Automatic oop closure devirtualization + S8204661: Show error 'Port already in use' in HashedPasswordFileTest.java + S8204930: Reader:nullReader() spec does not match the behavior + S8204946: Clean-up problem list for JDK-8202933 and JDK-8202934 + S8204967: Resolve disabled warnings for libunpack + S8205004: AArch64: fix failures in jtreg ArraysEqCmpTest + S8205053: Decouple type registration from framework lifecycle + S8205058: (fs) Files read/writeString should throw CharacterCodingException instead of IOException with an IllegalArgumentException as cause + S8205107: assert(c->Opcode() == Op_SafePoint) failed: broken outer loop + S8205111: Develop new Test to verify different key types for supported TLS protocols. + S8205113: Update JVMTI doc references to object allocation tracking + S8205119: SwingApplet demo should be removed + S8205136: Move StylePad demo to the open repository + S8205144: JSpinner may change the font after became visible + S8205153: Delete "standard instructions" machinery in the open automated tests + S8205158: Update the .md files for 3rd party software Unicode 10.0, ICU 60.2, and CLDR v33. + S8205160: jQuery UI, jQuery-migrate, and jQuery license file to be updated to the revision present. + S8205175: Deprecate UnlinkSymbolsALot debugging option. + S8205184: Delegating Iterator implementations that don't delegate forEachRemaining() + S8205194: Improve the Array Comparison when there is mismatch at first element. + S8205195: NestedThreadsListHandleInErrorHandlingTest fails because hs_err doesn't contain _nested_thread_list_max + S8205197: Never default to using libc++ on Linux + S8205199: more Linux clang compile failures + S8205207: Port Graal unit tests under jtreg + S8205324: Part of java.awt.Desktop.browse(URI) spec is outdated after support of applets was removed + S8205342: windows : potential memleaks in getAdapter(s) in NetworkInterface_winXP.c + S8205397: InetAddress has wrong declaration for readObjectNoData + S8205398: AES-CBC decryption algorithm using AVX512 instructions + S8205400: [Graal] compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java fails with can't be enqueued for compilation on level 4 + S8205405: ZGC: Decouple JFR type registration + S8205416: windows: fix checking of CloseHandle return code in Java_java_io_FileCleanable_cleanupClose0 + S8205419: [testbug] TestJmapCore failing without SA: introduce @requires vm.hasSAandCanAttach + S8205422: assert(false) failed: Bad verification_type_info + S8205424: Change to Xcode 9.4 for building on Macosx at Oracle + S8205438: Re-enable shebang tests in test/jdk/tools/launchers/SourceMode.java + S8205441: Upgrade to harfbuzz 1.8.1 + S8205442: Avoid hard-coding --source value in SourceLauncherTest.java + S8205445: Add RSASSA-PSS Signature support to SunMSCAPI + S8205455: jdeprscan issues annotation processor warning regarding RELEASE_10 + S8205456: Unification of iterations over arrays + S8205459: Rename Access API flag decorators + S8205474: AARCH64: wrong zr encoding for ccmp instruction + S8205475: AARCH64: optimize FPU loads and stores in C1_Runtime1_aarch64.cpp + S8205490: update ProblemList-graal + S8205494: Convert or remove all AWT applet demos + S8205498: Typo in fix for 8205119 breaks Solaris demo build + S8205499: C1 temporary code buffers are not removed with - XX:+UseDynamicNumberOfCompilerThreads + S8205508: hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/ /exclude001.java fails with Prompt is not received during 300200 milliseconds. + S8205509: assert(_name_and_id != 0LL) failed: encountered a class loader null name and id + S8205528: Base64 encoding algorithm using AVX512 instructions + S8205531: jcmd VM.classloaders should fold similar loaders + S8205533: Class.getPackage() fails with InternalError if class is defined to the bootstrap class loader but module is not in the boot layer + S8205540: test/hotspot/jtreg/vmTestbase/nsk/jdb/trace/ /trace001/trace001.java fails with Debuggee did not exit after 15 commands + S8205547: FileChannel/CleanerTest.java fails due to expected FD count + S8205559: Remove IN_CONCURRENT_ROOT Access decorator + S8205570: fix a number of typos in the JVMTI spec + S8205577: parallel/TestPrintGCDetailsVerbose.java fails assertion + S8205583: Crash in ConcurrentHashTable do_bulk_delete_locked_for + S8205605: [testbug][aix] Various test adaption to aix pecularities. + S8205607: Use oop_iterate instead of oop_iterate_no_header + S8205609: [PPC64] Fix PPC64 part of 8010319 and TLH without UseSIGTRAP on AIX + S8205612: (fc) Files.readAllBytes fails with ClosedByInterruptException when interrupt status set + S8205614: NestMates tests failing in CI jdk11-jdk.931 + S8205616: Build fails with system headers after 8204572 + S8205623: Replace use of Class::getPackage with Class::getPackageName + S8205625: linux-aarch64-cmp-baseline fails builds-tier5 + S8205627: Replace hardcoded spec version value in build.tools.ExtLink taglet + S8205632: Include stack.inline.hpp in markSweep.inline.hpp + S8205641: Make java/nio/channels/Selector/RacyDeregister.java noisier and flush after prints + S8205648: fix for 8205195 breaks secondary error handling + S8205649: Make clang stack flags independent of OS + S8205663: ZGC: Log metaspace used/capacity/committed/reserved + S8205664: Move detailed metaspace logging from debug to trace + S8205671: Remove HTTP Client tests erroneously problem listed by the TLS 1.3 integration + S8205673: Problem list RmiRegistrySslTest.java and RmiSslBootstrapTest.sh + S8205676: ZGC: Remove TLAB allocations in relocation path + S8205678: ZGC: Remove unused ZAllocationFlags::java_thread() + S8205679: Remove unused ThreadLocalAllocBuffer::undo_allocate() + S8205681: [TEST_BUG] vmTestbase/nsk/jvmti/Allocate/alloc001/ /TestDescription.java fails with exit code 98 + S8205683: Refactor heap allocation to separate concerns + S8205694: AArch64: Add test to validate volatile load, store and CAS code generation + S8205696: Undo licence.md + S8205699: assert(_owner_offset != 0) failed in javaClasses.cpp + S8205701: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorGCCMSTest.java + S8205702: assert(UseCompressedClassPointers) failed in universe.hpp + S8205703: [JVMCI] Expose all GC selection flags + S8205719: Windows Java_sun_tools_attach_VirtualMachineImpl_enqueue() method should include exitCode in exception message + S8205721: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorStatArrayCorrectnessTest.java + S8205723: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorStatRateTest.java + S8205824: Update Graal + S8205906: jdk.jfr.jcmd.TestJcmdDumpLimited fails due to erronous processing of -XX:FlightRecorderOptions + S8205913: Inconsistent source code model + S8205916: [test] Fix jdk/tools/launcher/RunpathTest to handle both, RPATH and RUNPATH + S8205923: ZGC: Verification applies load barrier before verification + S8205923: ZGC: Verification applies load barriers before verification + S8205925: Print correct and more information about secondary errors + S8205926: Support invokeSpecialIFC in GenerateJLIClassesPlugin + S8205927: Update src/java.base/share/legal/public_suffix.md to match the actual file version + S8205940: LoadNode::find_previous_arraycopy fails with "broken allocation" assert + S8205942: Build failure on macosx after JDK-8189429 + S8205945: Revert unintended changes to make/gensrc/Gensrc-jdk.hotspot.agent.gmk + S8205954: clean up hotspot ProblemList + S8205956: Fix usage of "OpenJDK" in build and test instructions + S8205959: Do not restart close if errno is EINTR + S8205985: Remove tools/javac/options/release/ /ReleaseOptionUnsupported.java from problem list + S8205993: ZGC: Fix typos and incorrect indentations + S8205996: JDK-8205906 broke the build on Mac + S8206004: [BACKOUT] errant changeset for JDK-8137164 + S8206006: Build failed on Windows + S8206088: 8205207 broke builds - Removed patch: * generated-headers.patch + Integrated upstream - Modified patch: * alternative-tzdb_dat.patch + Modify to upstream changes in the context- Added patch: * missing-return.patch + fix no-return-in-nonvoid-function- Update to upstream tag jdk-11+19 * Fixes: + S6545967: sp05t003 failed ResumeThread() due to THREAD_NOT_SUSPENDED + S6608234: SwingWorker.get throws CancellationException + S7183985: (ann) Class.getAnnotation() throws an ArrayStoreException when the annotation class not present + S8029250: [macosx] There is no tray icon shown in the system tray area when case starts + S8042131: DateTimeFormatterBuilder Mapped-values do not work for JapaneseDate + S8043575: Dynamically parallelize reference processing work + S8149565: -locale option issues + S8153107: enabling ObjectSynchronizer::quick_enter() on ARM64 causes hangs + S8170159: Improve the performance of BitSet traversal + S8177334: Update xmldsig implementation to Apache Santuario 2.1.1 + S8178150: Regression in logic for handling inference stuck constraints + S8184349: There should be some verification that EnableJVMCI is disabled if a GC not supporting JVMCI is selected + S8191512: T2K font rasterizer code removal + S8193302: Javac AssertionError: typeSig ERROR on usage of @Generated + S8194308: jdeprscan will need updates to deal with the removal of the Java EE modules + S8195115: G1 Old Gen MemoryPool CollectionUsage.used values don't reflect mixed GC results + S8195293: Issue more comprehensive warnings for use of \"var\" in earlier source versions + S8196618: Create API to list supported values for javac - -release option + S8196988: Resolve disabled warnings for libjimage + S8198669: Refactor annotation array value parsing to reduce duplication + S8198719: MethodHandleHelper.linkToStatic should drop MH arg + S8199433: (se) select(Consumer action) as alternative to selected-key set + S8199435: Unsafe publication of java.util.Properties.map + S8199441: Wrong caret position in multiline text components on Windows with a screen resolution higher than 100% + S8199871: Deprecate pack200 and unpack200 tools + S8200115: System property java.vm.vendor value includes quotation marks + S8200121: Remove unused qualified exports in java.base + S8200353: Shift or Capslock not working in Textfield after accented keystrokes + S8200605: Create test for GridBagLayoutDemo + S8200867: Remove references to "jdk 9" in build system + S8201276: (fs) Add methods to Files for reading/writing a string from/to a file + S8202199: Provide public, unsupported JDK API for JavaFX/Swing interop + S8202216: Add Buffer mismatch methods + S8202537: CLDR33 + S8202559: Tests which start VM using JNI start failing after compile upgrade to VC 2017 + S8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name + S8202624: javadoc generates references to enum constructors, which are not documented + S8202740: runtime/8176717/TestInheritFD.java fails with java.lang.RuntimeException: could not match: VM RESULT => RETAINS FD + S8202768: [macos] Appkit thread slows when any Window Manager active + S8202845: Refactor reference processing for improved parallelism + S8202948: C2: assert(init_offset >= 0) failed: positive offset from object start + S8203030: Zero s390 31 bit size_t type conflicts in shared code + S8203157: Object equals abstraction for BarrierSetAssembler + S8203197: C2: consider all paths in loop body for loop predication + S8203301: Linux-sparc fails to build after JDK-8199712 (Flight Recorder) + S8203338: Unboxing in return from lambda miscompiled to throw ClassCastException + S8203343: VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes + S8203344: Make C1 leal patchable on SPARC + S8203357: Container Metrics + S8203394: Implementation of JEP 331: Low-Overhead Heap Profiling + S8203479: JFR enabled ARM32 build assertion failure + S8203491: [TESTBUG] Port heapdump tests into java + S8203641: Refactor String Deduplication into shared + S8203667: Platform specific include files in jdk image in wrong sub directory + S8203680: os::stat() on Posix platform does not need to copy input path + S8203691: Test /runtime/containers/cgroup/PlainRead.java fails + S8203809: [Graal] JDI tests fail with: JDITestRuntimeException : ** event IS NOT a breakpoint ** + S8203813: javac accepts an illegal name as a receiver parameter name + S8203838: javac performance regression in 11+11 + S8203915: Induction variable of over-unrolled loop conflicts with range checks + S8204152: SignedObject throws NullPointerException for null keys with an initialized Signature object + S8204166: TLH: Semaphore may not be destroy until signal have returned. + S8204169: Humongous continues region remembered set states do not match the one from the corresponding humongous start region + S8204172: Predicate::not should explicitly mention "NullPointerException - if target is null" + S8204231: Update Graal + S8204236: JFR unit test of thread CPU load should be enabled + S8204240: Extend MDO to allow more reasons to be recorded per bci + S8204268: Improve some IncompatibleClassChangeError messages. + S8204330: Javadoc IllegalArgumentException: HTML special chars in constant value + S8204342: methods in java.time s TCKZoneRules OpenJDK test miss Test annotation + S8204353: AARCH64: optimize FPU load and stores in macroAssembler + S8204454: Remove of sun.applet.AppletAudioClip + S8204473: AARCH64: register post-index addressing mode is not supported directly + S8204509: Fix compilation error in harfbuzz 1.7.6 for Solaris Developer Studio 12.6 + S8204531: Remove unused chars following '\0' + S8204538: Split ScanClosure and ScanClosureWithParBarrier + S8204571: Add support for launching multiple startup recordings + S8204613: StringTable: Calculates wrong number of uncleaned items. + S8204620: ModuleEntry::is_non_jdk_module() determination for what is a jdk module is incorrect + S8204654: [testbug] Fix pattern matching in jstat tests. + S8204663: clean up remaining native parts after JDK-8187631 + S8204664: PrepareFailureLogs should be done after sequential make targets + S8204666: javadoc should be updated to use jQuery 3.3.1 + S8204668: Cleanup management of the java.vm.info System property + S8204679: HTTP Client refresh + S8204685: Abstraction for TLAB dummy object + S8204701: [TESTBUG] runtime/SharedArchiveFile/ /BootAppendTests.java should handle mapping failure + S8204857: ConcurrentHashTable: Fix parallel processing + S8204859: [macosx] Remove javax/swing/plaf/nimbus/8057791/ /bug8057791.java from the ProblemList.txt + S8204915: (fs) Add some print diagnostics to java/nio/file/Files/CopyAndMove.java + S8204922: Create bootcycle jib profiles + S8204923: Restore Symantec root verisignclass2g2ca + S8204927: ZGC: assert(phase->idom(head) == head->in(LoopNode::EntryControl)) failed + S8204929: Fonts with embedded bitmaps are not always rotated + S8204935: [aix] TOC overflow in libjvm.so (release build) + S8204939: Change Access nomenclature: root to native + S8204941: Refactor TemplateTable::_new to use MacroAssembler helpers for tlab and eden + S8204943: Improve message of ArrayStoreException. + S8204944: Remove java/util/Map/InPlaceOpsCollisions.java from ProblemList + S8204957: Remove TestBiasedLockRevocationEvents from ProblemList.txt + S8204958: Minor cleanups for the diagnostic framework + S8204961: JVMTI jtreg tests build warnings on 32-bit platforms + S8204965: Fix '--disable-cds' and disable CDS on AIX by default + S8204973: Add build support for filtering translations + S8204978: [Graal] Disable Epsilon GC tests from running with Graal + S8205003: Replace selected link tags with linkplain in java.lang.Class + S8205006: Assertion failure when rehashing stringtable + S8205020: ZGC: Apply workaround for buggy sem_post() in glibc < 2.21 + S8205022: ZGC: SoftReferences not always cleared before throwing OOME + S8205024: ZGC: Worker threads boost mode not always enabled when is should be + S8205025: [AOT] make jdk.aot module upgradeable + S8205028: ZGC: Remove incorrect comment in ZHeap::object_iterate() + S8205033: [REDO] Induction variable of over-unrolled loop conflicts with range checks + S8205034: [BACKOUT] Induction variable of over-unrolled loop conflicts with range checks + S8205043: Make parallel reference processing default for G1 + S8205050: ZGC: Incorrect use of RootAccess in ZHeapIterator + S8205052: No compilation error thrown when no valid parameterization exists for functional interface type + S8205054: Could not find "lsof" on test machine + S8205055: Fix compilation optimization errors with new Solaris toolchain + S8205062: (fs) Improve some print diagnostics in java/nio/file/Files/CopyAndMove.java + S8205064: Fail immediately if an unavailable GC is selected + S8205074: [Graal] Add rest of compiler/stable tests into ProblemList-graal.txt + S8205091: AIX: build errors in hotspot after 8203641: Refactor String Deduplication into shared + S8205096: Add missing files for 8203394 + S8205108: [testbug] Fix pattern matching in jstatd tests. + S8205110: Fix xchip warnings with new Solaris toolchain + S8205112: Remove non-existent modules from test/jdk/jdk/modules/etc/UpgradeableModules.java + S8205116: jdeps --system $java.home fails with IAE + S8205141: runtime/exceptionMsgs/ArrayStoreException/ /ArrayStoreExceptionTest.java failed with "assert(k->is_objArray_klass()) failed: cast to ObjArrayKlass + S8205148: Turn off logging in jQuery-migrate + S8205149: hs201t002 should be put on the problem list + S8205163: ZGC: Keeps finalizable marked PhantomReference referents strongly alive + S8205172: 32 bit build broken + S8205181: ProblemList applications/ctw/modules/java_desktop_2.java + S8205183: Warning about using VS2017 should be removed + S8205338: ZGC: LeakProfiler not yet supported + S8205339: ZGC: VerifyBeforeIteration not yet supported + S8205341: AARCH64: Clean up duplicate uzp1 & uzp2 instruction definition + S8205344: TraceMemoryManagerStats changes in JDK-8195115 broke ZGC + S8205407: [windows, vs<2017] C4800 after 8203197 - Modified patches: * generated-headers.patch + Better version resulting from discussion with upstream * java11-improved-fonts.patch + Rediff to changed context- Update to upstream tag jdk-11+18 * Fixes: + S6350055: (se) SelectionKey.interestOps variants to atomically update interest ops + S8174734: Safepoint sync time did not increase + S8178374: Problematic ByteBuffer handling in CipherSpi.bufferCrypt method + S8190326: Robot.mouseMove uses scaling factor of main display on unscaled second display + S8194073: Invalid SunNativeProvider.INSTANCE initialization + S8195097: Make it possible to process StringTable outside safepoint + S8196030: AWT Robot mouseMove fails on Windows 10 1709 with HiDPI + S8196141: Add GoDaddy root certificates + S8196990: Resolve disabled warnings for libjli + S8196993: Resolve disabled warnings for libunpack + S8197930: JNI exception pending in initializeEncoding of jni_util.c + S8200132: Remove jre images and bundles + S8200387: [Graal] fromTonga/nsk/jdi tests hang with Graal as JIT + S8201193: Use XMM/YMM for objects initialization + S8201274: Launch Single-File Source-Code Programs + S8201407: Files.move throws DirectoryNonEmptyException when moving directory across file system + S8201528: Add new test to check for package versioning information in OpenJDK + S8201608: fix broken links in javax/sql/rowset/package.html and javax/sql/rowset/spi/package.html + S8202049: G1: ReferenceProcessor doesn't handle mark stack overflow + S8202088: Japanese new era implementation + S8202611: [GRAAL] Exclude CMS GC testing from runs with Graal + S8202705: ARM32 build crashes on long JavaThread offsets + S8202747: C2: assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node + S8202772: NMT thread stack tracking causes crashes on AIX + S8202864: [TESTBUG] Need to replace the image used in two Swing tests + S8203033: [Testbug] vmTestbase/nsk/jdi/TypeComponent/ /isSynthetic/issynthetic002/TestDescription.java fails with nestmates + S8203172: Primitive heap access for interpreter BarrierSetAssembler/aarch64 + S8203224: java.awt.desktop.*Event classes could not be instantiated if Desktop feature is not supported + S8203308: Remove the appletviewer classes + S8203329: JDWP/JDI VM information string is incorrect + S8203353: Fixup inferred decorators in the interpreter + S8203367: Upgrade to freetype 2.9.1 + S8203425: assert(is_Loop()) failed: invalid node class + S8203480: IncompatibleClassChangeError thrown at sites linked to default interface methods + S8203499: Uninitialised memory in WinAccessBridge.cpp + S8203679: AssertionError in DeferredAttr with parenthesized method reference + S8203682: Add jcmd "VM.classloaders" command to print out class loader hierarchy, details + S8203796: Define API to support specifying ownership of print dialogs + S8203822: AIX version of jsig.c was not removed in JDK-8200298 + S8203839: API clarification: versioned jar entry verification in multi-release jar file + S8204081: Mismatch in rebuild policy and collection set chooser causes remembered sets to be kept errorneously + S8204084: Remove the G1RSBarrierRegionFilter develop flag + S8204097: Simplify OopStorage::AllocateList block entry access + S8204110: serviceability/sa/ClhsdbSymbol.java and ClhsdbInspect.java failed when running in CDS mode + S8204113: Upgrade linker used in AOT tests to be same version as build toolchain + S8204118: [macos] Nonsensical self == [super init] in CFileDialog.m + S8204126: MonospacedGlyphWidthTest.java failed again + S8204127: Change bundle format on Windows to zip + S8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector + S8204187: Remove proprietary JPEG code from javax.imageio + S8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) + S8204211: windows : handle potential C++ exception in GDIRenderer + S8204229: Formatter and String.format ignore the width with the percent modifier (%5%) + S8204243: remove Thread.destroy() and Thread.stop(Throwable) + S8204287: Phase timings not updated correctly after JDK-6672778 + S8204288: Matching the end of a string followed by an empty greedy regex and a word boundary fails + S8204290: Add check to limit number of capture groups + S8204303: Add redirect for overview-summary.html + S8204335: [ppc] Assembler::add_const_optimized incorrect for some inputs + S8204375: Add TimeUnit#convert(Duration) + S8204377: Rename Object#wait parameter name from "timeout" to "timeoutMillis" + S8204444: java.time cleanup + S8204474: Have instanceRefKlass use HeapAccess when loading the referent + S8204476: Add additional statistics to CodeCache::print_summary + S8204477: Count linkage errors and print in Exceptions::print_exception_counts_on_error + S8204479: Bitwise AND on byte value sometimes produces wrong result + S8204494: Fix for 8200530 triggered regression, closed/test/jdk/security/infra/java/security/KeyStore/ /BouncyCastleInterop.java failed + S8204496: backout fix for 8203796 which was pushed under another ID + S8204504: Fix for 8198285 breaks slowdebug builds + S8204539: improve error messages in matchJavaTZ [windows] + S8204549: [aix][testbug] signal tests fail because vm can not start in primordial thread. + S8204554: JFR TLAB tracing broken after 8202776 + S8204557: NMT: Linux os::committed_in_range() does not break out outer loop when contiguous region is found + S8204561: JVM_GetClassSigners: wrap signers oop in an objArrayHandle for subsequent safepoint + S8204563: UseAppCDS obsolete message confusing + S8204565: (spec) Document java.{vm.}?specification.version system properties' relation to $FEATURE + S8204572: SetupJdkLibrary should setup SRC and -I flags automatically + S8204576: (fs) java/nio/file/Files/CopyAndMove.java does not set isUnix = true on macOS + S8204577: jittester generator doesn't kill processes on timeout + S8204584: jdeps generates illegal dot file containing ranksep=0,600000 + S8204585: Remove IN_ARCHIVE_ROOT from Access API + S8204588: Test failures after "Launch Single-File Source-Code Programs" + S8204589: ProblemList failing launcher tests + S8204598: add more thread-related system settings info to hs_error file on Linux + S8204602: Add devkit for linux-arm32 + S8204606: [Aarch64] SIGSEGVs caused by C1 because of improper register usage + S8204610: Compiler confused by parenthesized "this" in final fields assignments + S8204617: ParallelGC parallel reference processing does not set MT degree in reference processor + S8204618: The parallel GC reference processing task executor enqueues a wrong number of tasks into the queue + S8204628: [AArch64] Assertion failure in BarrierSetAssembler::load_at + S8204648: test/jdk/tools/launchers/SourceMode.java fails with long shebang line + S8204652: [aix] fix thread stack allocation, too big stack sizes not recognized + S8204674: Inconsistent lambda parameter span + S8204680: Disassembly does not display code strings in stubs + S8204682: Parsing for LOG=report=none is broken when combined with other keywords + S8204684: [AIX] Build of libjli_static broken after change 8204572 (SetupJdkLibrary) + S8204694: Add failed compiler/stable tests into ProblemList-graal.txt + S8204850: BarrierSet::make_* should be static + S8204861: fix for 8196993 has broken the build on linux - Modified patch: * system-pcsclite.patch + rediff to changed context - Added patch: * generated-headers.patch + fix a regression after JDK-8204572- Update tu upstream tag jdk-11+17 * Fixes: + S5109146: PNGMetadata Background color initialization from standard metadata is incomplete + S8050818: Predicate::not - provide an easier way to negate a predicate + S8072996: Deprecate stream-based GSSContext methods + S8150156: Update bugs.sun.com references to bugs.java.com + S8153029: ChaCha20 Cipher Implementation + S8154736: enhancement of cmpxchg and copy_to_survivor for ppc64 + S8177276: MethodHandles.insertArguments doesn't specify IllegalArgumentException on index mismatch + S8187289: NotifyFramePop request is not cleared if JVMTI_EVENT_FRAME_POP is disabled + S8189335: javac exception when referencing private inner class with same name as normal class with dollar_1 + S8189949: Remove Baltimore Cybertrust Code Signing CA + S8190417: javadoc updates to java.util.regex.Matcher + S8190875: modules not listed in overview/index page + S8191031: Remove several Symantec Root CAs + S8191522: Remove Bigelow&Holmes Lucida fonts from JDK sources + S8193552: ISO 4217 amendment 165 + S8194327: [macos] AWT windows have incorrect main/key window behaviors + S8195624: Desktop API cannot be used without permission to read "os.version" + S8196373: Introspector does not see overridden generic setter method + S8197387: jcmd started by "root" must be allowed to access all VM processes + S8197989: java/util/zip/ZipFile/TestCleaner.java failed with "cleaner failed to clean zipfile + S8198285: More consistent Access API for arraycopy + S8198378: javac crash when checking imports and a broken class is present + S8199150: Accessibility issues in java.desktop + S8199268: docs/api/jdk.javadoc/com/sun/javadoc/package-summary.html contain low contrast text + S8199371: [TESTBUG] Open source vm testbase JDWP tests + S8199380: [TESTBUG] Open source VM testbase AOD tests + S8199388: Test development for ChaCha20 and Poly1305 algorithms + S8199530: Upgrade to harfbuzz 1.7.6 + S8199723: Test java/awt/TextComponent/ /DeselectionDuringDoSelectionNonVisibleTest/ /DeselectionDuringDoSelectionNonVisibleTest.java fails + S8199882: compiler/uncommontrap/TestDeoptOOM.java failed w/ fatal error: ExceptionMark constructor expects no pending exceptions + S8199893: the javadoc tool generates pages with a low constrast + S8200052: libjavajpeg: Fix compile warning in jchuff.c + S8200166: Repeating annotations refering to to-be-generated classes don't work. + S8200288: [SPARC] "assert(!(is_cti(prev) && is_cti(insn))) failed: CTI-CTI not allowed" + S8200530: '\r' is not supported as "newline" in java.util.jar.Manifest + S8200623: Primitive heap access for interpreter BarrierSetAssembler/x86 + S8201279: javax.sound tests should not set java.home system property + S8201364: [macosx] Component.getLocation() gives inconsistent coordinate for a component at (0,0) + S8201429: Support AIX Input Method Editor (IME) for AWT Input Method Framework (IMF) + S8202026: ISO 4217 amendment 166 + S8202051: Address compilation warnings in libawt with VS2017 + S8202094: jdk/jfr/api/recording/event/TestEventTime.java intermittently times out + S8202095: JFR TestBiasedLockRevocationEvents should cope with multiple events during a single safepoint + S8202360: [TESTBUG] runtime/LoadClass/TestResize.java needs to print output when it fails + S8202547: Move G1 runtime calls used by generated code to G1BarrierSetRuntime + S8202627: javadoc generates broken links to deprecated items when -nodeprecated is used + S8202670: Update Graal + S8202758: SIGSEGV calling Class.forName(String,Boolean,ClassLoader) with mocked loader + S8202776: Modularize GC allocations in runtime + S8202812: [TESTBUG] Open source VM testbase compiler tests + S8202913: loader constraint message for fields specifies incorrect referring class + S8203027: Open source tests for "java.awt.geom" + S8203031: segfaults from jvmti_AddToBootstrapClassLoaderSearch + S8203182: Release session if initialization of SunPKCS11 Signature fails + S8203219: VM.metaspace jcmd should optionally show loaded classes for loaders + S8203237: JFR TestBiasedLockRevocationEvents should ignore events unrelated to the test + S8203319: JDK-8201487 disabled too much queue balancing + S8203321: assert(current_query_index < process_query_set->size) failed: invariant + S8203324: Use out of scope in getMacOSXLocale of java_props_macosx.c:120 + S8203380: Missing platform and bug information for MouseModifiersInKeyEvent test + S8203435: Circular nested dynamic constant test needed to confirm JVMS resolution behavior + S8203445: [TESTBUG] Remove appcds/jigsaw/limitmods/LimitModsTests.java + S8203474: Update description of "Cyrillic Supplementary" block name in Character.UnicodeBlock class. + S8203485: [freetype] text rotated on 180 degrees is too narrow + S8203498: The specification for java.applet package should be updated + S8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9" + S8203765: java/nio/channels/Selector/SelectAndClose: add some prints and @intermittent tag + S8203780: javadoc should be updated to use jquery 1.12.4, jquery-ui 1.12.1 and jszip v3.1.5 + S8203787: Hotspot build broken on linux-sparc after 8202377 + S8203802: Jvmti test fails to build with VS2017 + S8203827: Upgrade JLine to 2.14.6 + S8203837: Split nmethod unloading from inline cache cleaning + S8203872: Upgrading JDK with latest available LSR data from IANA. + S8203891: Upgrade JOpt Simple to 5.0.4 + S8203919: Remove "-add-modules" hint from error message + S8203921: JFR thread sampling is missing fixes from JDK-8194552 + S8203923: Add @requires feature to check flag values for the running JVM + S8203924: Zero: bootcycle-images build fails on x86_64 + S8203937: Not possible to read data from socket after write detects connection reset + S8203939: JVMFlag::printError missing ATTRIBUTE_PRINTF + S8203945: Cleanup nashorn build + S8203946: Move UnpackSecurity.gmk to closed + S8203948: Expand JVMTI callback notion of "internal threads" + S8203960: [TESTBUG] runtime/logging/DefaultMethodsTest.java failed when running in CDS mode + S8204055: SIGSEGV in java -XX: + S8204085: avoid printing uninitialized pointer in java.desktop/windows/native/libawt/java2d/windows/ /GDIWindowSurfaceData.cpp + S8204087: C++ Interpreter code left over in MethodData + S8204091: Configure broken on MIPS when uname returns mipsel or mips64el + S8204094: assert(worker_i < _length) failed: Worker 15 is greater than max: 11 at ReferenceProcessorPhaseTimes + S8204095: [TESTBUG] TestPrintReferences.java fails if multiple concurrent mark happens + S8204103: Mark test serviceability/dcmd/compiler/CompilerQueueTest.java as intermittent and exclude it from tier1 + S8204109: JDK-8203945 broke nashorn + S8204122: Update harfbuzz.md + S8204134: jtreg: Fix RTM abort provoker for various tests after "8149159: Clean up Unsafe" + S8204136: jtreg: Fix failing RTM test RTMSpinLoopCount + S8204160: BiasedLockingTest needs -XX:+UseBiasedLocking + S8204162: TestG1HeapRegion needs @requires vm.gc.G1 + S8204163: Also detect concurrent GCs in MetaspaceBaseGC.java + S8204164: OOM-only logging in Metaspace + S8204165: Filter out tests requiring class unloading when ClassUnloading is disabled + S8204167: Filter out tests requiring compressed oops when CompressedOops is disabled + S8204168: Increase small heap sizes in tests to accommodate ZGC + S8204173: Lower the minimum number of heap memory pools in MemoryTest.java + S8204179: [BACKOUT] OopStorage should use GlobalCounter + S8204194: Lazily create MethodHandleImpl$AsVarargsCollector.asCollectorCache + S8204195: Clean up macroAssembler.inline.hpp and other inline.hpp files included in .hpp files + S8204199: Test fails after 8202670 Graal update + S8204237: Clean up incorrectly included .inline.hpp files from jvmciJavaClasses.hpp + S8204250: Problem list pkcs11 tests on windows + S8204269: ISO 4217 amendment 167 + S8204277: [testbug] fix DisassembleCodeBlobTest. + S8204292: PPC64: Fix missing includes after 8204195 + S8204295: [BACKOUT] - JVMFlag::printError missing ATTRIBUTE_PRINTF + S8204301: Make OrderAccess functions available to hpp rather than inline.hpp files + S8204321: javadoc tests fail after JDK-8203780 + S8204322: "+=" applied to String operands can provoke side effects + S8204341: AArch64: AOT runtime does not need a workaround for far calls + S8204345: [s390]: no precompiled headers build broken + S8204348: AArch64: Remove C2 address reshaping code- Change the alternatives priority from 0 to 2105, since OpenJDK 11 should now be in a shape to be able to be used.- Change build requirement to Java 10 or 11, since Java 9 cannot build OpenJDK 11 any more.- Update to upstream tag jdk-11+16 * Fixes: + S8133564: Runtime - 2nd followup to Validate JVM Command-Line Flag Arguments + S8184030: TestUseRTMLockingOptionOnUnsupportedVM - RTM locking optimization not supported is missing + S8188248: NullPointerException on generic methods + S8189766: whitebox failure with -Xcheck:jni + S8191844: Remove SECOM root (secomevrootca1) + S8193717: Import resolution performance regression in JDK 9 + S8194298: Add support for per Socket configuration of TCP keepalive + S8194630: Uninitialized initiator_address in native GSS + S8196202: Javadoc should not generate frames by default + S8196913: javadoc does not (over)write stylesheet.css + S8198323: testing.md not updated for repository layout change + S8199255: [TESTBUG] Open source VM testbase default methods tests + S8199307: NPE in jdk.javadoc.internal.doclets.toolkit.util.Utils.getLineNumber + S8199383: [TESTBUG] Open source VM testbase JVMTI tests + S8200172: String.split non-positive term incorrect use + S8200266: [Graal] Update ProblemList-graal.txt files + S8201518: add test for randomized iteration order of unmodifiable Set and Map + S8202178: type.getKind() for var is None instead of Error + S8202290: AtomicAppend tests fail on macOS 10.13 ("High Sierra") + S8202813: Move vm_weak processing from SystemDictionary to WeakProcessor + S8202832: cycle detection depends on ordering of requires directives + S8202842: G1 footprint regressions in jdk11+10 + S8202945: OopStorage should use GlobalCounter + S8202947: Fix minor issues with taglets + S8202949: C2: assert(false) failed: Bad graph detected in build_loop_late + S8202950: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint + S8203014: jcmd should output command list if no command is given + S8203028: Simplify reference processing in light of JDK-8175797 + S8203041: AArch64: fix overflow in immediate cmp/cmn instruction + S8203183: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java times out + S8203221: Makefile fixes after Flight Recorder + S8203225: Fix of redefining a method that removes 1 or more lambda expressions failed to commit test cases + S8203233: (tz) Upgrade time-zone data to tzdata2018e + S8203262: Incorrect cmpxchg usage in MetaspaceGC::inc_capacity_until_GC + S8203297: java/net/URL/OpenStream.java fails intermittently + S8203327: Small cleanups in java.lang.ref + S8203328: Rename EFS in java.util.zip internals to something meaningful + S8203354: assert in ClassLoader::update_module_path_entry_list() could have incorrect message + S8203366: Tag added wrongly in Docs.gmk + S8203368: ObjectInputStream filterCheck method throws NullPointerException + S8203369: Check for both EAGAIN and EWOULDBLOCK error codes + S8203370: [JVMCI] UseJVMCICompiler should imply EnableJVMCI + S8203455: jcmd: VM.metaspace: print loader name for anonymous CLDs + S8203488: Remove error generation from TransTypes + S8203497: Bump Jib format version to 1.2 + S8203628: Optimize (masked) byte memory comparisons on x86 + S8203686: Add JDK 11 major version to javax/net/ssl/compatibility/JdkRelease.java + S8203689: Add failure code to threaddb exception messages` + S8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64 + S8203766: Add some instrumentation to jdk/java/nio/channels/Selector/RacyDeregister.java + S8203769: ProblemList test/jdk/java/util/Map/InPlaceOpsCollisions.java + S8203774: jdk/jfr/api/recorder/TestStartStopRecording.java failed due to compilation failed + S8203793: cacerts/VerifyCACerts.java fails with java.lang.Exception: At least one cacert test failed + S8203795: Change default compiler on Windows to VS2017 + S8203815: add tests failed because of 8203809 to the ProblemList-graal + S8203816: add tests failed because of 8203174 to the ProblemList-graal + S8203817: Monitor::try_lock() should not call check_prelock_state() + S8203843: BasicParState::default_estimated_thread_count(false) can return 0 in gtest + S8203865: Metaspace cleanup: Remove unused MemRegion in VirtualSpaceNode + S8203881: Print erroneous size in NegativeArraySizeException + S8203885: ConcurrentLocksDump::dump_at_safepoint() should not allocate array in resource area + S8203886: Invoke LambdaMetafactory::altMetafactory exactly from the BootstrapMethodInvoker + S8203892: Target interface added as marker interface in calls to altMetafactory + S8203926: Problem list test/langtools/tools/javac/importscope/T8193717.java + S8203932: Windows devkit has wrong dlls in 32 bit tools dir + S8203938: Fix build failures from JDK-8133564- Update to upstream tag jdk-11+15 * Fixes: + S8027760: JFC schema condition should not have defaults + S8134537: Much nearly duplicated code for sun.misc.Signal support + S8146293: Add support for RSASSA-PSS Signature algorithm + S8148354: Errors targeting functional interface intersection types + S8176808: Split up metaspace.cpp + S8185803: JdbExprTest.sh fails in JDK10-hs nightly due to "Name unknown: java.lang.Long.MAX_VALUE " + S8192992: Test8007294.java failed: attempted to spill a non-spillable item + S8193332: MetaspaceShared::check_shared_class_loader_type is not used during archive creation + S8195098: Low latency hashtable for read-mostly scenarios + S8195817: JFR.stop should require name of recording + S8195818: JFR.start should increase autogenerated name by one + S8195819: Remove recording=x from jcmd JFR.check output + S8196048: thrown type variables should be roots in the minimum inference graph + S8196201: Generate pages to list all classes and all packages in javadoc output + S8196619: [TESTBUG] restore current version check in runtime/appcds/MultiReleaseJars.java + S8196987: Resolve disabled warnings for libzip + S8198315: Incomplete classpath causes NPE in TransTypes + S8198337: -XX:StartFlightRecording=dumponexit=true,disk=false doesn't work + S8198548: Initialization race in com.sun.org.apache.xerces.internal.impl.xpath.regex.Token.getRange() on Token.categories + S8199064: Test applications/jcstress/other/Test.java#id1108 fails on Sparc + S8199257: [TESTBUG] Open source VM testbase metaspace tests + S8199271: [TESTBUG] open source VM testbase stress tests + S8199370: [TESTBUG] Open source vm testbase GC tests + S8199379: [TESTBUG] Open source vm testbase JDB tests + S8199384: [TESTBUG] Open source VM testbase MLVM tests + S8199807: AppCDS performs overly restrictive path matching check. + S8200380: String::lines + S8200436: String::isBlank + S8201331: Better test cleanup for jdk/jfr/api/consumer/TestRecordingFile.java + S8201386: Miscellaneous changes imported from jsr166 CVS 2018-05 + S8201627: Kerberos sequence number issues + S8201867: Kerberos keytabs with holes in certain places are parsed incorrectly + S8202014: Possible to receive signal before signal semaphore created + S8202076: test/jdk/java/io/File/WinSpecialFiles.java on windows with VS2017 + S8202305: [Graal] org.graalvm.compiler.core.test.GraphResetDebugTest fails with java.util.ServiceConfigurationError + S8202377: Modularize C2 GC barriers + S8202427: Enhance os::print_memory_info on Windows + S8202466: Test serviceability/tmtools/jstat/GcTest01.java fails: Number of concurrent GC events is 1, but CGCT is 0 + S8202479: Add missing try_resolve_jobject_in_native calls + S8202669: Intermittent crash in ClassLoadingService::compute_class_size() + S8202685: Optimize ArrayList subList replaceAll + S8202710: AARCH64: sporadic jtreg test fail + S8202713: Create a MacroAssembler::access_load/store_at wrapper for S390 and PPC + S8202771: Migrate Unicode character tests to JDK Repo + S8202848: -XX:+ExecuteInternalVMTests asserts with "assert(cd.valid() == true) failed: failed on a valid DirectivesParser string" + S8202853: NotifyCount is not initialized + S8202863: Rename OopStorage inner collection classes + S8202978: Incorrect tmp register passed to MacroAssembler::load_mirror() + S8202989: Add missing decorators in calls to to arraycopy_prologue/epilogue + S8203196: C1 emits incorrect code due to integer overflow in _tableswitch keys + S8203215: IdealLoopTree::split_outer_loop leaves phi-nodes with only one input + S8203227: Introduce os::processor_id() for Linux and Solaris + S8203279: Faster rounding up to nearest power of two + S8203287: Zero fails to build after JDK-8199712 (Flight Recorder) + S8203288: PPC64 and s390 fail to build after JDK-8199712 (Flight Recorder) + S8203292: Print complete set of flags in the hs_err file + S8203305: PPC64: Improve TM detection for enabling RTM on Linux / POWER9 + S8203318: compiler/stable/TestStableShort.java is broken + S8203339: Add oopDesc::field_offset() + S8203341: Add a safepoint-aware Semaphore + S8203346: JFR: Inconsistent signature of jfr_add_string_constant + S8203352: Improve java implementation of Integer/Long.numberOfLeadingZeros + S8203355: MITSHM define guarding missing + S8203377: Cleanup the usage of os::file_name_strcmp() in SharedPathsMiscInfo::check(). + S8203381: Replace InstanceKlass::allocate_instance_handle with JavaCalls::construct_new_instance + S8203391: Update com/sun/jdi/JdbMethodExitTest.sh to pass valid URL[] + S8203398: Test test/langtools/tools/javac/options/release/ /ReleaseOptionCurrent.java writes into the source directory + S8203400: Fix issue with "8199852: Print more information about class loaders in LinkageErrors." + S8203410: Zero: Disable jfr feature by default + S8203431: TestFloatsOnStackDeopt.java throws java.lang.LinkageError: loader attempted duplicate class definition for java.lang.invoke.BoundMethodHandle$Species_LLL + S8203436: javac should fail early when emitting illegal signature attributes + S8203437: 8199370 broke build on linux-ppc64le (w/ GCC 4.8.5.) + S8203454: Minimal, Zero builds fail after JDK-8202377 (Modularize C2 barriers) + S8203457: Add back missing full buffer notification + S8203486: skip type inference for non functional interface components of intersection types + S8203487: Typo in ICUBinary.java: s/Magin/Magic/ + S8203490: StringTable::dump lacks a load barrier + S8203500: Fix broken links to Specification in "specs" directory + S8203626: ProblemList compiler/runtime/TestFloatsOnStackDeopt.java + S8203635: JFR sampler thread does not record stack info + S8203694: Add a safepoint-aware Semaphore - part 2 - Removed patch: * fix-s390x-and-ppc64-builds.patch + integrated upstream- Added patch: * fix-s390x-and-ppc64-builds.patch + upstream fix for broken s390x and ppc64/ppc64le builds- Update to upstream tag jdk-11+14 * Fixes: + S8132287: obsolete the "InlineNotify" flag option + S8174995: SA: clhsdb 'where -a' throws Assertion Failure with illegal code 236 when CDS is used + S8176510: java/awt/font/GlyphVector/TestLayoutFlags.java fails with OpenJDK + S8183910: gc/arguments/TestAggressiveHeap.java fails intermittently + S8185505: AArch64: Port AOT to AArch64 + S8189140: SystemDictionaryShared::initialize() should be renamed to be more meaningful + S8189271: Metaspace::_capacity_until_GC should be size_t + S8191533: jar --describe-module prints service provider class names in lower case + S8193935: Illegal countedLoops transformation + S8194998: broken error message for subclass of interface with private method + S8195613: [SA] HotSpotTypeDataBase.readVMLongConstants truncates values to int + S8196340: (coll) Examine overriding inherited methods in ArrayList and ArrayList.SubList + S8196360: java/awt/Dialog/SiblingChildOrder/ /SiblingChildOrderTest.java fails + S8196616: java/awt/GraphicsDevice/DisplayModes/ /CompareToXrandrTest.java fails + S8197948: Create test for SwingSet2 main window + S8198412: MonospacedGlyphWidthTest.java may fail on Solaris + S8198991: Move Java2D demo to the open repository + S8199252: [TESTBUG] Open source VM testbase system dictionary tests + S8199712: Flight Recorder + S8200377: String::strip, String::stripLeading, String::stripTrailing + S8201447: C1 does backedge profiling incorrectly + S8201491: G1 support for java.lang.ref.Reference precleaning + S8201532: Update idom to get correct dom depth calculation + S8201593: Print array length in ArrayIndexOutOfBoundsException. + S8201604: ARM64 - Build failure after JDK-8193260 + S8202016: Use obj+offset in interpreter array access + S8202064: Jemmy JInternalFrameOperator: Add wait for close(), activate(), resize() and move() operations + S8202113: Reflection API is causing caller classes to leak + S8202289: Non-empty directory in module path is not handled properly at CDS/AppCDS dump time + S8202322: AIX: symbol visibility flags not support on xlc 12.1 + S8202392: [TESTBUG] open source vm testbase heapdump tests + S8202395: AARCH64: wrong encoding for SIMD instructions zip, trn, uzp + S8202426: NPE thrown by Transformer when XMLStreamReader reports no xml attribute type + S8202476: ImageLib is broken in 32 bit Windows + S8202519: Crash during large AppCDS dump + S8202544: Hide unused exports in libzip + S8202553: Update FXLauncherTest as part of removing JavaFX from JDK + S8202557: OpenJDK fails to start in Windows 7 and 8.1 after upgrading compiler to VC 2017 + S8202580: Dashed BasicStroke randomly painted incorrectly, may freeze application + S8202614: Add ability to validate links in JavadocTester + S8202679: Updates on windows failures in the problem list + S8202683: Minimal VM should build cleanly on 64-bit platforms + S8202708: Add a check of opening stream for not-existing UNC url + S8202714: Create a MacroAssembler::access_load/store_at wrapper for AArch64 + S8202718: Jemmy JInternalFrameOperator: Dependency with orders of Minimize, Maximize and Close buttons + S8202738: vm_version Abstract_VM_Version::internal_vm_info_string() returns same string for different incremental builds + S8202745: Remove hyphens from "out-of-bounds". + S8202748: jtreg :hotspot_misc group shouldn't include vmTestbase tests + S8202756: move FilterUSRTest.java to openJDK + S8202763: failure_handler: list open files for macOS + S8202764: api/java_text/SimpleDateFormat/index.html#Format testcases started to fail with JDK11 b12 + S8202767: java/awt/font/GlyphVector/TestLayoutFlags.java is missing null check + S8202773: Unhandled oop in JavaThread::collect_counters + S8202811: Problem List some tests that leave windows open on the desktop + S8202822: Add .git to .hgignore + S8202824: Cleanup discrepancies in ProblemList for java_awt jtreg tests + S8202829: Implement CollectedHeap::get_safepoint_workers() for G1 + S8202843: langtools ant build fails + S8202878: com/apple/laf/ScreenMenu/ScreenMenuMemoryLeakTest.java fails + S8202889: Remove trailing LF from perf log + S8202914: Let custom makefile override jmod intput dir locations + S8202915: [JAXP] Performance enhancements and cleanups in com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator + S8202919: JDK-8202683 broke macosx build + S8202920: jvm.cfg generation incorrect + S8202974: Backout JDK-8202683 + S8202976: Add C1 lea patching support for x86 + S8202993: Add support for x86 testptr/testq with register and address + S8202994: Add support for undoing last TLAB allocation + S8202997: Split test/jdk/:tier1 to enable better parallel execution + S8203032: PrintMetaspaceDcmd fails: Non-Class: missing from stdout/stderr + S8203059: (so) Closing a socket channel registered with Selector and with SO_LINGER set to 0 does not reset connection + S8203176: javadoc handles non-ASCII characters incorrectly. + S8203220: Introduce ATTRIBUTE_ALIGNED macro + S8203223: Signed integer overflow in ImageStrings::hash_code (libjimage.so) + S8203250: runtime/LoadClass/test-classes/Hello.java has wrong legal notice + S8203251: Non-PCH build failed after JDK-8199712 (Flight Recorder) + S8203274: 32-bit build failures after JDK-8199712 (Flight Recorder) + S8203278: AArch64/PPC64 build failures after JDK-8199712 (Flight Recorder) + S8203285: Minimal VM fails to build after JDK-8199712 (Flight Recorder)- s390x: avoid packaging files that are not present on this architecture- Update to ustream tag jdk-11+13 * Fixes: + S4842658: DefaultListModel and DefaultComboBoxModel should support addAll (Collection c) + S6574555: PNGImageWriter incorrectly sets bKGD chunk + S6788458: PNGImageReader ignores tRNS chunk while reading non-indexed RGB/Gray images + S8153532: Add @throws NPE javadoc to UIManager.setLookAndFeel(String) method description + S8154463: New failure of closed/java/awt/font/Outline/OutlineInvarianceTest.java + S8171277: Elliptic Curves for Security in Crypto + S8176717: GC log file handle leaked to child processes + S8181594: Efficient and constant-time modular arithmetic + S8181910: [macos] Support dark title bars on macOS + S8185034: Cleanup and consolidate Metaspace coding + S8187123: (reflect) Class#getCanonicalName and Class#getSimpleName is a part of performance issue + S8187392: Deprecated methods in the peers can be removed + S8189687: Swing: Invalid position of candidate pop-up of InputMethod in Hi-DPI on Windows + S8189916: Dynamic Constant support for Sparc + S8191410: Unicode 10 + S8194968: problem list actions for tools/javac/jvm/VerboseOutTest + S8195002: Fix test/hotspot/jtreg/gtest/GTestWrapper.java on Alpine/Musl + S8195717: test java/lang/invoke/MethodHandlesTest timed out running testAsCollector1 + S8196113: Remove the Compact Profile builds + S8196572: Tests ColConvCCMTest.java and MTColConvTest.java fail + S8197388: Added not existing bug id in jdk/ProblemList.txt + S8197447: LogCompilation throws "couldn't find bytecode" + S8197954: Remove unnecessary intermediary APIs from AppCDS implementation + S8198342: Test FileSystemViewListenerLeak.java is unstable + S8199067: [REDO] NMT: Enhance thread stack tracking + S8199196: Add javadoc support for preview features + S8199382: [TESTBUG] Open source VM testbase JDI tests + S8199748: Touch keyboard is not shown, if text component gets focus from other text component + S8199852: Print more information about class loaders in LinkageErrors. + S8199912: jshell tool: /open from URI + S8199932: Missing copyright header in AWT source code + S8200083: Bump bootjdk requirement for JDK 11 to JDK 10 + S8200094: Turkish locale reports NPE No enum constant com.sun.source.doctree.DocTree.Kind.SİNCE + S8200146: Remove the appletviewer launcher + S8200313: java/awt/Gtk/GtkVersionTest/GtkVersionTest.java fails + S8200372: String::trim JavaDoc should clarify meaning of space + S8200557: OopStorage parallel iteration scales poorly + S8200716: Object propertyIsEnumerable buggy behavior on short integer-string key + S8200729: Conditional compilation of GCs + S8201138: Defect in XMLEventReader.getElementText() may cause data to be skipped, duplicated or otherwise result in a ClassCastException + S8201433: Fix potential crash in BufImg_SetupICM + S8201492: Properly implement non-contiguous generations for Reference discovery + S8201524: [AIX] Don't link libfontmanager against libawt_headless + S8201572: Improve Metaspace Statistics + S8201598: Fix for 8181910: Support dark title bars on macOS broke the MacOS build + S8201602: ARM32 - Minimal Dynamic Constant support + S8201626: Typo in MakeWindowAlwaysOnTop test + S8201640: Use _ref_processor_* member variables directly in G1CollectedHeap + S8201793: (ref) Reference object should not support cloning + S8202017: Merge Reference Enqueuing phase with phase 3 of Reference processing + S8202018: Move card table clear before enqueuing pending references + S8202021: Improve variable naming in ReferenceProcesso + S8202050: Add javax/sound/midi/Sequencer/Recording.java to the problemList + S8202080: Introduce ordering semantics for Atomic::add and other RMW atomics + S8202083: Remove explicit CMS checks in CardTableBarrierSet + S8202143: Parts of 8193435 added in merge change set. + S8202181: Correctly specify size of hostname buffer in Unix Inet*AddressImpl_getLocalHostName implementations + S8202291: java/rmi/Naming/LookupIPv6.java failed with Connection refused + S8202301: Add tests related to JDK-8196572 to the ProblemList + S8202303: LogStream should autoflush on destruction + S8202319: Fix compilation warnings in Solaris debug builds for DevStudio 12.6 + S8202387: javac --release 11 not supported + S8202424: Metaspace: on chunk retirement, use correct lower limit on chunksize when adding blocks to free blocks list + S8202435: [aix] print program break as part of memory info into hs-err file + S8202447: Fix unloading_occurred to mean unloading_occurred + S8202465: [C1] casts should not be eliminated for interface types + S8202548: Use reservation Object when creating SpeciesData + S8202552: [AOT][JVMCI] Incorrect usage of INCLUDE_JVMCI and INCLUDE_AOT + S8202563: BigInteger/BigDecimal not immune to overflow, contrary to spec + S8202564: java/lang/management/ThreadMXBean/ThreadCounts.java fails + S8202565: C1 compilation crashes with "assert(is_double_stack() && !is_virtual()) failed: type check" + S8202575: Remove java/lang/String/nativeEncoding/ /StringPlatformChars.java from ProblemList + S8202581: failure_handler: gather more environment information on macOS + S8202582: DateTimeFormatterBuilder.parseOffsetBased unnecessarily calls toString() + S8202583: Remove experimental ClassForNamePlugin + S8202584: de-problem list tools/javac/jvm/VerboseOutTest + S8202591: Remove usage of CMSEdenChunksRecordAlways in defNewGeneration.cpp + S8202592: Remove unused EvacuateFollowersClosure + S8202597: javac is not inducing a notional interface if Object appears in an intersection type + S8202599: Mark intermittently failing jshell tests + S8202606: Deprecate AllowNonVirtualCalls option + S8202631: JVM_Clone to throw CloneNotSupportException for Reference object + S8202634: Metaspace: simplify SpaceManager lists + S8202639: Use concrete Generation classes in SerialHeap and CMSHeap + S8202640: Small C1 cleanups for BarrierSetC1 + S8202641: Replace OOP_SINCE_SAVE_MARKS with templates + S8202642: Replace PAR_OOP_ITERATE with templates + S8202647: Add deduplicate_string function to CollectedHeap + S8202649: Move the Parallel GC specific task creation functions out of Threads + S8202650: Enforce group for attach listener file + S8202662: JFR tests fails: Could not find leak with class + S8202672: Build failed in metaspace.cpp with VS2017 + S8202676: AArch64: Missing enter/leave around barrier leads to infinite loop + S8202684: Minimal VM build is broken after JDK-8199067, JDK-8202638 + S8202686: Missing test case for 8200167 - final Object methods + S8202690: jdk/jshell/ToolBasicTest.java failed in testOpenFileOverHttp() and testOpenLocalFileUrl() + S8202709: Move oopDesc::is_archive_object to MetaspaceShared::is_archive_object + S8202711: Merge tiered compilation policies + S8202719: Use Collections.emptyEnumeration where possible + S8202722: Move marksweep_init into GC code + S8202744: Expired flag removal for JDK 11 + S8202780: Remove EnqueueTask related code from ReferenceProcessor after JDK-8202017 + S8202781: Fix typo in DiscoveredListIterator::complete_enqeue + S8202810: Remove class-for-name test + S8202816: Update JarSigning.keystore - Removed patch: * aarch64-infinite-loop.patch - Integrated upstream - Modified patch: * java11-improved-fonts.patch - Rediff to changed context- Fix s390x build, since INCLUDE_SA is false by default on this architecture- Added patch: * aarch64-infinite-loop.patch + Fix inifinite loop in aarch64 build- Update fix_armv6_build.patch- Update to upstream tag jdk-11+12 * Fixes: + S6672778: G1 should trim task queues more aggressively during evacuation pauses + S8154204: [TESTBUG] Update DefaultUseWithClient test to handle client-less builds + S8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS + S8179071: Month value is inconsistent between CLDR and Java in some locales + S8179887: Build failure with glibc >= 2.24: error: 'int readdir_r(DIR*, dirent*, dirent**)' is deprecated + S8181157: CLDR Timezone name fallback implementation + S8182731: Odd handling of -XX:-UseAppCDS and - XX:SharedArchiveFile. + S8191471: Elastic TLABs for G1 + S8191798: redo nested ThreadsListHandle to drop Threads_lock + S8193213: Make the UseAppCDS option obsolete. + S8197959: [TESTBUG] Some (App)CDS tests require modification due to the removal of the Java EE and CORBA modules + S8197960: [TESTBUG] remove/modify runtime tests which use java ee or corba modules + S8199375: [TESTBUG] Open source vm testbase monitoring tests + S8199643: [TESTBUG] Open source common VM testbase code + S8200167: Validate more special case invocations + S8200235: Generalize jniFastGetField jobject/jweak resolve + S8200466: Revisit the setting of _transitive_interfaces in InstanceKlass + S8200478: For boxing conversion javac uses Long.valueOf which does not guarantee caching according to its javadoc + S8201367: assert(current != first_mem) failed: corrupted memory graph in superword code + S8201509: Zero: S390 31bit atomic_copy64 inline assembler is wrong + S8201542: Remove unused _gc_timer field in GCMemoryManager + S8201543: Modularize C1 GC barriers + S8201545: InetAddress.getByName/getAllByName should clarify empty String behavior + S8201622: Reduce unnecessary Package.complete() calls in javadoc + S8201634: Random seedUniquifier uses incorrect LCG + S8201650: Move iteration order randomization of unmodifiable Set and Map to iterators + S8201786: Modularize interpreter GC barriers: leftovers for ARM32 + S8201817: Taglet.init should be called with the "primary" doclet + S8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler + S8202105: Console echo is disabled when exiting jshell + S8202130: [TESTBUG] Some appcds regression test cases fail with "Error: VM option 'PrintSystemDictionaryAtExit' is notproduct and is available only in debug version of VM" + S8202140: TLAB logging is not correct for G1 + S8202150: [REDO] Split globals.hpp to factor out the Flag class + S8202179: Compilation fails with assert(n->is_expensive()) failed: expensive nodes with non-null control here only + S8202186: AArch64: Debug build VM crashes with PrintC1Statistics option + S8202200: set INCLUDE_SA to false on s390x by default + S8202204: Rename hotspot runtime jtreg constantPool ConstantPool directories + S8202230: Provide accessors for JNIHandles storage objects + S8202261: (fc) FileChannel.map and RandomAccessFile.setLength should not preallocate space + S8202273: [AOT] Graal does not support the CMS collector + S8202284: FileChannel and FileOutpuStream variants of AtomicAppend should fail silently on macOS >= 10.13 + S8202324: Avoid loading FileInput-/OutputStream$AltFinalizer + S8202325: [aix] disable warnings-as-errors by default + S8202330: Add Unreferenced{FOS,FIS,RAF}ClosesFd to problem list + S8202334: Update javax.lang.model.util visitors for 11 + S8202364: Add GCConfig::hs_err_name() to avoid GC-specific code in error reporting + S8202366: Add macro for common loop in GCConfig + S8202367: AIX build broken after JDK-8201543 + S8202372: Diagnostic with incorrect line info generated when compiling lambda expression + S8202373: Forcing eager initialization of CHM$ReservationNode avoids deoptimization + S8202379: ARM32 is broken after JDK-8201543 (Modularize C1 GC barriers) + S8202381: (Solaris) SIGBUS in # V [libjvm.so+0xcee494] jni_GetIntField+0x224 + S8202382: Filter docs modules + S8202383: Custom extensions for jvmti doc + S8202397: Typo in X-Buffer javadoc + S8202398: Optimize Arrays.deepHashCode + S8202399: [C1] LIRGenerator::do_CheckCast needs to exclude is_invokespecial_receiver_check() when using PatchAlot + S8202417: [TESTBUG] Broken hard-coded dependency in serviceability/sa/ClhsdbJhisto.java + S8202418: Remove explicit CMS checks in CardTableBarrierSetAssembler: ARM32 leftovers + S8202419: Avoid creating Permission constants early + S8202423: Small HTTP Client refresh + S8202425: [s390] C2: Wrong unsigned comparison with 0 + S8202452: Delete test files missed from commit for 8193213 & 8182731. + S8202484: Unused field in TimeZone + S8202505: ctw2 tasks are timing out in hs-tier3 + S8202507: Remove IO and NIO AtomicAppend tests from problem list + S8202520: JShell tests: move intermittently failing tests to tier2- Remove armv6 and armv7 overwrite conditions in _constraints to avoid OOM errors- Update to upstream tag jdk-11+11 * Fixes: + S6341887: java.util.zip: Add ByteBuffer methods to Inflater/Deflater + S6805750: Improve handling of Attributes.Name + S8025091: VisibleMemberMap.java possible performance improvements + S8081519: Split globals.hpp to factor out the Flag class + S8144806: sun/security/tools/keytool/standard.sh fails intermittently at deleting x.jks + S8154528: Reclaim regions emptied by marking in Remark pause + S8157543: java/nio/channels/Selector/SelectAndCancel.java fails intermittently + S8161991: java/nio/channels/AsynchronousSocketChannel/Basic.java failed due to RuntimeException: WritePendingException expected + S8171404: java/nio/channels/AsynchronousSocketChannel/Basic.java failed with "AsynchronousCloseException expected" + S8178105: Switch mark bitmaps during Remark + S8178825: unused variable threadObj in jvmci_counters_include + S8184693: add Pattern.isEmpty + S8187490: HotSpotGraalMBean should be moved to Graal management module + S8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain + S8188105: Make -Xshare:auto the default for server VM + S8190227: Forward port 8188880 to JDK10CPU + S8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile + S8193524: Redefining a method that removes use of 1 or more lambda expressions causes the JVM to hang + S8196071: Change G1 Full GC heap and thread sizing ergonomics + S8196325: GarbageCollectionNotificationInfo has same information for before and after + S8196433: use the new error diagnostic approach at javac.Main + S8196540: [Testbug] java/security/AccessController/ /DoPrivAccompliceTest.java doesn't handle unrelated warnings + S8198756: Lazy allocation of compiler threads + S8198793: Add launcher support for preview features + S8198816: AbstractScriptEngine.getScriptContext creation of SimpleScriptContext is inefficient + S8198890: The standard doclet incorrectly produces wrong method signatures in certain cases. + S8199193: jshell tool: Add support for preview features + S8199519: Several GC tests fails with: java.lang.NumberFormatException: Unparseable number: "-" + S8199755: Update Graal + S8200101: sun/security/krb5/auto/Renewal.java fails intermittently + S8200196: [Graal] implement Object.notify/notifyAll intrinsics + S8200303: C2 should leverage profiling for lookupswitch/tableswitch + S8200426: Make G1 code use _g1h members + S8200450: Root cause analysis for JDK-8200366 + S8200477: Integer dot product no longer autovectorised + S8200555: OopHandle should use Access API + S8200556: AArch64: assertion failure in slowdebug builds + S8200723: Suppress rs_length and predicted_cards sampling during mixed gcs + S8200730: Fix debug=gc+phases time tracking in Remark and Cleanup + S8201172: Parallelize Remset Tracking Update Before Rebuild phase + S8201226: missing JNIEXPORT / JNICALL at some places in function declarations/implementations + S8201259: Fix warning with VS2017 in jdk.pack + S8201281: Truncated error message with Incompatible : null + S8201315: (se) Allow SelectableChannel.register to be invoked while selection operation is in progress + S8201368: IfNode::fold_compares() may lead to incorrect execution + S8201369: Inet4AddressImpl_getLocalHostName reverse lookup on Solaris only + S8201466: Nashorn: defineProperty setters/getters on prototype object ignored with numeric property names + S8201487: Do not rebalance reference processing queues if not doing parallel reference processing + S8201490: Improve concurrent mark keep alive closure performance + S8201505: Use WeakHandle for ProtectionDomainCacheTable and ResolvedMethodTable + S8201510: Merge TwoStacksPlainSocketImpl into DualStackPlainSocketImpl [win] + S8201520: AsynchronousSocketChannel/Basic.java timeout intermitently + S8201527: Bump default value of G1RefProcDrainInterval + S8201536: configure fails compiler check due to bad -m32 flag + S8201537: Remove is_alive closure from Klass::is_loader_alive() + S8201540: [AIX] Extend the set of supported charsets in java.base + S8201556: Disallow reading oops in ClassLoaderData if unloading + S8201596: java.lang.ref.Reference processing total time logging broken + S8201597: AArch64: Update relocs for CompiledDirectStaticCall + S8201616: Hotspot crashes on linux-sparc after 8189941 + S8201646: Introduce ReferenceDiscoverer interface + S8201647: Make initial clearing of CHeapBitMap optional + S8201649: Remove dubious call_jio_print in ostream.cpp + S8201766: Mark TimSortStackSize2.java as intermittently failing + S8201785: Make ModRefBarrierSetAssembler abstract on all platforms + S8201788: Number of make jobs wrong for bootcycle-images target + S8201794: [Graal] fix regressions from JDK-8187490 + S8201799: Build failures after JDK-8195099 (Concurrent safe-memory-reclamation mechanism) + S8201800: Add support for adjusting heap addresses in a TLAB + S8201826: G1: Don't invoke WeakProcessor if mark stack has overflowed + S8201850: [AOT] vm crash when run test compiler/aot/fingerprint/SelfChangedCDS.java + S8202000: AIX build broken after JDK-8195099 + S8202037: Split slow ctw_1 tests + S8202052: Disable warnings when building libawt with VS2017 + S8202060: Add javax/net/ssl/DTLS/CipherSuite.java to ProblemList + S8202062: Put FileChannel and FileOutpuStream variants of AtomicAppend on problem list + S8202070: Cleanup code after JDK-8200450, JDK-8200366 + S8202073: MetaspaceAllocationTest gtest shall lock during space creation + S8202074: Metaspace: If humongous chunk is added to SpaceManager, previous current chunk may not get retired correctly. + S8202075: Crash when running compiler/codecache/OverflowCodeCacheTest.java + S8202079: [s390]: Build failure w/o precompiled headers + S8202081: Introduce CollectedHeap::is_oop() + S8202091: Rename DualStackPlainSocketImpl to PlainSocketImpl [win] + S8202134: Non-PCH build for arm32 fails + S8202141: Unique symbols for .class + S8202151: [BACKOUT] Split globals.hpp to factor out the Flag class + S8202152: test/hotspot/jtreg/runtime/whitebox/WBStackSize.java fails + S8202154: Remove unused code in java.base/windows/native/libnet + S8202155: quarantine test com/sun/jdi/JdbExprTest.sh on all platforms + S8202157: remove the use of string keys at InapplicableMethodException + S8202164: Remove some unneeded BoolObjectClosure* is_alive parameters + S8202169: Reduce ctw_2 duration by parallelizing CtwRunner invocations + S8202184: Reduce time blocking the ClassSpecializer cache creating SpeciesData + S8202210: jlink uses little-endian for big-endian cross-compilation targets + S8202276: Update test/hotspot/jtreg/ProblemList-graal.txt - Removed patch: * bootcycle_jobs.patch + Integrated upsteam- Update to upstream tag jdk-11+10 (April 2018 CPU) * Security fixes: + S8194238: Trying exceptions in MethodHandles (CVE-2018-2826, bsc#1090197) + S8194233: Improve support for array handles (CVE-2018-2825, bsc#1090196) + S8192025: Less referential references (CVE-2018-2814, bsc#1090032) + S8189997: Enhance keystore mechanisms (CVE-2018-2794, bsc#1090024) + S8189977: Improve permission portability (CVE-2018-2795, bsc#1090025) + S8189993: Improve document portability (CVE-2018-2799, bsc#1090029) + S8189989: Improve container portability (CVE-2018-2798, bsc#1090028) + S8189985: Improve tabular data portability (CVE-2018-2797, bsc#1090027) + S8189981: Improve queuing portability (CVE-2018-2796, bsc#1090026) + S8189969: Manifest better manifest entries (CVE-2018-2790, bsc#1090023) * Security-In-Depth fixes: + S8182362: Update CipherOutputStream Usage + S8183032: Upgrade to LittleCMS 2.9 + S8189123: More consistent classloading + S8190478: Improved interface method selection + S8190877: Better handling of abstract classes + S8191696: Better mouse positioning + S8192030: Better MTSchema support + S8193409: Improve AES supporting classes + S8193414: Improvements in MethodType lookups * Fixes: + S8009632: (fs) FileStore.supportsFileAttributeView does not detect user_xattr enabled on ext4 + S8049695: nsk/jdb/options/connect/connect003 fails with "Launched jdb could not attach to debuggee during 300000 milliseconds" + S8057732: sun/jvmstat/monitor/MonitoredVm/ /MonitorVmStartTerminate.java: Invalid PerfMemory size + S8078221: java/rmi/Naming/DefaultRegistryPort.java fails intermittently + S8151171: Bring g1ConcurrentMark files up to current coding conventions + S8152821: Merge jdk.internal.misc.JavaSecurityAccess and jdk.internal.misc.JavaSecurityProtectionDomainAccess shared secrets + S8175075: Add 3DES to the default disabled algorithm security property + S8180415: Rebuild remembered sets during the concurrent cycle + S8183238: Obsolete CheckEndorsedAndExtDirs and remove checks for lib/endorsed and lib/ext + S8184692: add Pattern.asMatchPredicate + S8186032: Disable XML Signatures signed with EC keys less than 224 bits + S8187472: AARCH64: array_equals intrinsic doesn't use prefetch for large arrays + S8189101: AARCH32 - 'minimal' build fails because CMS bits are referred unconditionally + S8189765: Improve error reporting for compiling against package not visible due to modules + S8191101: Show register content in hs-err file on assert + S8191358: Restore TSA certificate expiration check + S8193067: gc/g1/TestVerifyGCType.java still unstable + S8194259: keytool error: java.io.IOException: Invalid secret key format + S8194260: Point-to-point interface should be excluded from java/net/ipv6tests/* + S8194734: Handle to jimage file inherited into child processes (win) + S8194750: Console.readPassword does not save/restore tty settings + S8194812: Extend class-data sharing to support the module path + S8195099: Concurrent safe-memory-reclamation mechanism + S8195662: Add T6587786.java to problem list before JDK-8195589 is resolved + S8195972: Refactor oops in JNI to use the Access API + S8196289: Update src/java.desktop/share/legal/lcms.md for LCMS 2.9 + S8196485: FromCardCache default card index can cause crashes + S8196516: libfontmanager must be built with LDFLAGS allowing unresolved symbols + S8196865: G1 log for active workers is wrong + S8197441: Signature#initSign/initVerify for an invalid private/public key fails with ClassCastException for SunPKCS11 provider + S8197443: ArrayIndexOutOfBoundsException in UcryptoException.getError + S8197564: HTTP Client implementation + S8197569: Refactor eager reclaim for concurrent remembered set rebuilding + S8197570: Make rules for choosing collection set candidates more explicit + S8197573: Remove concurrent cleanup and secondary free list handling + S8197850: Calculate liveness in regions during marking + S8197928: Only enqueue deferred cards with references into regions that have a tracked remembered set during GC + S8197931: Null pointer dereference in Unique_Node_List::push of node.hpp:1510 + S8197932: Better split work in rebuild remembered sets phase + S8197972: Always verify non-system classes during CDS dump time + S8198240: Allow cacerts test to pass when GTECyberTrust root expires + S8198313: Wrap holder object for ClassLoaderData in a WeakHandle + S8198335: java/awt/FullScreen/UninitializedDisplayModeChangeTest/ /UninitializedDisplayModeChangeTest.java fails in headless mode + S8198393: Instrumentation.retransformClasses() throws NullPointerException when handling a zero-length array + S8198655: test/lib/jdk/test/lib/apps/LingeredApp shouldn't inherit cout/cerr + S8198691: CodeHeap State Analytics + S8198760: Move global lock SpaceManager::_expand_lock to MutexLocker.cpp + S8198908: Add JVM support for preview features + S8198915: [Graal] 3rd testcase of compiler/types/ /TestMeetIncompatibleInterfaceArrays.java takes more than 10 mins + S8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails + S8199007: ClassLoaderDataGraph::unload_list_contains() is wrong + S8199194: Add javac support for preview features + S8199326: Remove G1 gc time stamp logic + S8199360: Rework the support for the 'ignored' module options in CDS + S8199406: Performance drop with Java JDK 1.8.0_162-b32 + S8199417: Modularize interpreter GC barriers + S8199619: Building HotSpot on Windows should define NOMINMAX + S8199627: Use "Per-Monitor V2" High DPI awareness for Windows 10 v1703 + S8199717: Avoid calculating primordial thread stack bounds on VM startup + S8199735: Mark word updates need to use Access API + S8199736: Define WIN32_LEAN_AND_MEAN before including windows.h + S8199742: Clean up state flags in G1CollectorState + S8199780: SetMemory0 and CopyMemory0 in unsafe.cpp need to resolve their operands + S8199781: Don't use naked == for comparing oops + S8199782: Fix compilation warnings detected by Solaris Developer Studio 12.6 + S8199793: [Graal] runtime/CommandLine/ /PrintTouchedMethods.java crashes with assertion "reference count underflow for symbol" + S8199813: SIGSEGV in ThreadsList::includes() + S8199850: Move parsing of VerifyGCType to G1 + S8199918: Shorten names of CollectedHeap::Name members + S8199925: Break out GC selection logic from GCArguments to GCConfig + S8199927: Make WhiteBox more GC agnostic + S8199946: Move load/store and encode/decode out of oopDesc + S8200067: Add support for vpclmulqdq for crc32 + S8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress + S8200078: [Graal] runtime/appcds/GraalWithLimitedMetaspace.java crashes in visit_all_interfaces + S8200091: [TESTBUG] Update jittester for jdk11 + S8200105: Remove cyclic dependency between oop.inline.hpp and collectedHeap.inline.hpp + S8200106: Move NoSafepointVerifier out from gcLocker.hpp + S8200111: MallocArrayAllocator::free should not take a length parameter + S8200113: Make Access load proxys smarter + S8200126: [TESTBUG] Open source VM runtime signal tests + S8200149: The "com.sun.awt.AWTUtilities" class can be dropped + S8200168: Remove DONT_USE_REGISTER_DEFINES on Sparc + S8200169: Flatten G1Allocator class hierarchy + S8200187: Exclude 3 long-running tests from tier1 + S8200195: serviceability/jvmti/FieldAccessWatch/ /FieldAccessWatch.java crashes with "assert(thread->thread_state() == _thread_in_native) failed: coming from wrong thread state" + S8200197: Zero fails to build after 8200105 + S8200202: Remove unused _boot_modules_array and _platform_modules_array from classLoader.*. + S8200203: Missing platform definitions for ia64 + S8200227: [Graal] Test times out with Graal due to low compile threshold + S8200228: Change default value of HeapSizePerGCThread + S8200230: [Graal] Compilations should not be enqueued before Graal is initialized + S8200232: Build failures after JDK-8200106 (Move NoSafepointVerifier out from gcLocker.hpp) + S8200233: Simple G1 evacuation path performance enhancements + S8200234: Cleanup Remark and Cleanup pause code + S8200238: Reduce number of exceptions created when calling MemberName$Factory::resolveOrNull + S8200245: Zero fails to build on linux-ia64 due to ia64-specific cruft + S8200246: AIX build fails after adjustments of src/hotspot/share/trace/traceEventClasses.xsl + S8200251: AArch64::CPUFeature out of sync with VM_Version::Feature_Flag + S8200255: Remove G1CMTask::_concurrent + S8200261: Regression with JVM anonymous class + S8200276: Cleanup allocation.hpp includes + S8200290: Scratch buffer creation fails with "assert(!current_thread_in_native()) failed: must not be in native" on SPARC + S8200292: Move PushAndMarkVerifyClosure::do_oop_work to concurrentMarkSweepGeneration.cpp + S8200297: Build failures after JDK-8198691 (CodeHeap State Analytics) + S8200299: Non-PCH build for aarch64 fails + S8200302: ppc, s390 (non-pch) build errors + S8200305: Update gc,liveness output with remset state after rebuild remset concurrently changes + S8200343: Minor JViewport documentation typo + S8200360: MeetIncompatibleInterfaceArrays fails with "MeetIncompatibleInterfaceArrays0ASM.run() must be compiled at tier 0 !" + S8200362: G1Mux2Closure should disable implicit oop verification + S8200366: SIGSEGV in CodeHeapState::print_names() + S8200371: In g1, rename ConcurrentMarkThread to G1ConcurrentMarkThread + S8200374: Add ThreadsSMRSupport::verify_hazard_pointer_scanned() to verify threads_do(). + S8200383: Can't build on SPARC Hotspot with code which use math functions + S8200384: jcmd help output should be sorted + S8200385: Eagerly reclaimed humongous objects leave mark in prev bitmap + S8200391: clean up test/hotspot/jtreg/ProblemList.txt (compiler related) + S8200423: Non-PCH build for x86_32 fails + S8200424: Windows build fails due to implicit jboolean to bool conversion + S8200429: Adjust object pinning interface on CollectedHeap + S8200438: Non-PCH x86_32 build failure: err_msg is not defined + S8200461: MeetIncompatibleInterfaceArrays test fails with - Xcomp + S8200468: Port the native GSS-API bridge to Windows + S8200524: AArch64: CPUFeature and Flag enums are not passed through JVMCI + S8200525: test java/awt/event/SequencedEvent/SequencedEventTest.java fails to compile + S8200526: Test sun/java2d/marlin/ClipShapeTest.java times out + S8200550: Xcode 9.3 produce warning -Wexpansion-to-defined + S8200607: Add missing include dependency in bitMap.hpp + S8200608: Build failures after JDK-8191101 (Show register content in hs-err file on assert) + S8200626: Restore history for g1ConcurrentMarkThread.* + S8200627: aarch32 - Broken build after JDK-8198949 + S8200628: aarch32 - Broken build after JDK-8199809 + S8200630: Globally suppress Visual Studio warning C4351 + S8200697: Add utility for spin wait with fallback to yield/sleep + S8200719: Cannot connect to IPv6 host when exists any active network interface without IPv6 address + S8200735: Move CMS specific code from binaryTreeDictionary and freeList to CMS files + S8200736: Move CMSGCStats to the cms directory + S8200737: Move GC code out of Arguments::check_vm_args_consistency into GCArguments + S8200759: Move GC entries in vmStructs.cpp to GC specific files + S8201136: Move GC flags from globals.hpp to GC specific files + S8201167: Remove MacroAssembler::cmp_heap_oop on x86 + S8201168: Move GC command line constraint functions to GC specific files + S8201171: Cleanup in g1CollectedHeap, change CamelCase to snake_case + S8201175: Move FilteringClosure::do_oop to genOopClosures + S8201185: AARCH64: bfm instruction encoding hits assert on zero register + S8201209: Separate out CMS specific functions into CMSCardTable + S8201212: Remove INCLUDE_ALL_GCS from OopStorage files + S8201213: Remove INCLUDE_ALL_GCS from memset_with_concurrent_readers + S8201217: Split specialized_oop_closures.hpp into GC specific files + S8201218: PPC64: Avoid use of yield instruction on spinlock + S8201227: Add ALL_GCS_ONLY + S8201240: Improve releasing native resources of BufImgSurfaceData.ICMColorData + S8201242: Include source file/line number when reporting native call stack on supported platforms + S8201244: Clean out unnecessary includes of heap headers + S8201247: Various cleanups in the attach framework + S8201265: Native memory leak in ClassLoader::add_to_exploded_build_list + S8201316: Move G1-related static members from JavaThread to G1BarrierSet + S8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread + S8201321: NMT: Unnecessary re-recording thread stack and size when attaching listener to JavaThread + S8201330: Add java/lang/management/ThreadMXBean/ /ThreadMXBeanStateTest.java to the ProblemList + S8201334: Move runtime/NMT/MallocStressTest.java to hotspot_tier3_runtime + S8201359: Incorrect header guards after JDK-8198949 (Modularize arraycopy stub routine GC barriers) + S8201362: Remove CollectedHeap::barrier_set() + S8201365: Remove G1Policy::should_process_references() + S8201370: GC specific data is referred from common precompiled headers and defNewGeneration.cpp + S8201427: Fix Minimal VM builds on Linux x64 + S8201430: [TESTBUG] Remove script from runtime/6626217 + S8201442: objArrayOopDesc::atomic_compare_exchange_oop() must use obj+offset in HeapAccess call + S8201443: NoSuchMethodException JarFile.open when jar file is used in classpath + S8201450: Provide access to LogHandle tagset + S8201474: (so) Socket adaptor connect(InetAddress, timeout) succeeds when connection fails + S8201475: 8199417 breaks AIX and non-pch on s390 (and presumably aarch64) + S8201480: ISA/CPU feature detection code crashes on linux-sparc + S8201483: Make it possible to disable JVM features + S8201494: Avoid early initialization of java.nio.Bits + S8201495: [Zero] Reduce limits of max heap size for boot JDK on s390 + S8201498: test/langtools/tools/javac/diags/CheckExamples.java 6 errors occurred + S8201507: Generate alias entries in j.t.f.ZoneName from tzdb at build time + S8201508: Macosx builds fail in GenerateLinkOptData.gmk + S8201554: Disable failing tier1 test for JDK-8201498 + S8201584: Fix configure on SLES 11 after 8201483 + S8201591: JVM features with "-" in name is not correctly handled + S8201609: Split test/jdk/:tier2 to enable better parallel execution - Removed patch * fix-arm-build.patch + Integrated upstream - Modified patch: * memory-limits.patch + Rediff with changes in the right files- Fix armv6 build with fix_armv6_build.patch- Update to upstream tag jdk-11+9 * Fixes + S8071367: JMX: Remove SNMP support + S8164781: Pattern.asPredicate specification is incomplete + S8178867: tools/jlink/multireleasejar/ /JLinkMultiReleaseJarTest.java failed to clean up files + S8180570: Refactor sun/security/mscapi shell tests to plain java tests + S8188897: java/rmi/registry/reexport/Reexport.java failed with Port already in use + S8189784: Parsing with Java 9 AKST timezone returns the SystemV variant of the timezone + S8190333: sun/security/ssl/X509KeyManager/PreferredKey.java failed with "Failed to get the preferable key aliases" + S8196200: Implement a navigation builder in javadoc + S8196724: Change macosx deployment target to 10.9 + S8196750: [Testbug] tools/launcher tests need to tolerate unrelated warnings + S8196775: java/net/Socket/asyncClose/Race.java failed intermittently on Windows with ConnectException: Connection refused + S8197418: Move java/util/RandomAccess/ tests into OpenJDK + S8197531: Miscellaneous changes imported from jsr166 CVS 2018-04 + S8199539: Provide a standard way for the build to filter un-needed legal .md files + S8199608: Clean up LDFLAGS for libfontmanager + S8199744: Incorrect compiler message for ReceiverParameter in inner class constructor + S8199875: Require first parameter type of a condy bootstrap to be Lookup + S8200125: Fix some classloader/module typos + S8200127: Replace collection.stream().forEach() with collection.forEach() + S8200128: Fix some "annoations" typos + S8200131: Improve lazy init of InetAddress.canonicalHostName and NativeObject.pageSize + S8200134: Improve ModuleHashesBuilder + S8200152: KerberosString should use UTF-8 by default + S8200258: Improve CopyOnWriteArrayList subList code + S8200298: Unify all unix versions of libjsig/jsig.c + S8200358: Remove mapfiles for JDK executables + S8200359: (tz) Upgrade time-zone data to tzdata2018d + S8200458: (se) Readiness information previously recorded in the ready set not preserved + S8200520: forkjoin tasks interrupted after shutdown + S8200583: (se) Selector clean-up, part 4 + S8200664: fix broken links in java.base docs + S8200706: Better cleanup for open/test/jdk/java/lang/ /ProcessBuilder/DestroyTest.java + S8200727: linux-aarch64 profile should use bundled freetype + S8200728: Docs (Comparison of Stack and Deque methods) for Deque is not correct + S8200788: Optimal initial capacity of java.lang.VarHandle.AccessMode.methodNameToAccessMode + S8200792: PKCS12Attribute#hashCode is always constant -1 + S8200888: typo in name of exception in @throws + S8201178: Remove sun.nio.cs.FastCharsetProvider + S8201179: Regression due loading java.nio.charset.StandardCharsets during bootstrap + S8201194: Handle local variable declarations in lambda deduplication + S8201221: JDK-8199608 introduced a build race on macosx + S8201222: JDK-8199539 broke the OpenJDK build + S8201236: Straighten out dtrace build logic + S8201246: Export native function to set platform encoding + S8201251: The tests for JDK-8187247 should be under test/langtools + S8201263: Trailing backslash in VS120COMNTOOLS leads to ugly error message when running tests + S8201267: Disable warnings for VS2017 to enable building + S8201320: Allow PrintFailureReports to be turned off + S8201327: Make Sensor deeply immutably thread safe + S8201328: SynthParser should use Boolean.parseBoolean + S8201348: ProblemList update for bugid associated with SSLSocketParametersTest.sh + S8201357: ALSA_CFLAGS is needed; was dropped in JDK-8071469 + S8201396: fix broken links generated by javadoc doclet + S8201439: Enable linux-arm-vfp-hflt profile to be configured with jib again + S8201440: javac should create unique DynamicMethodSymbols at LambdaToMethod - Modified patches: * java11-improved-fonts.patch + Rediff to changed context * fix-arm-build.patch + Use upstream fixes- Modified patch: * fix-arm-build.patch + fix more duplicate commas in headers- Update to upstream tag jdk-11+8 * Fixes + S4954348: JPGWriter.getNumThumbnailsSupported does not return - 1 when passing null values + S8074286: Add getSelectedIndices() to ListSelectionModel + S8178370: [TEST_BUG] java/security/Signature/SignatureLength.java fails + S8191957: JFileChooser shows empty name for external drives shown under Desktop + S8193032: Remove terminally deprecated SecurityManager APIs + S8195649: reorganize tests for java.util.Optional + S8198314: javac hidden options violate standard syntax for options + S8198801: JShell: user exception chained cause not retained + S8198885: upgrade Marlin (java2d) to 0.9.1 + S8198990: Move SwingSet2 from closed to OpenJDK + S8199176: Accessibility issues in java.base docs + S8199800: Optimize Boolean.parseBoolean(String) + S8199947: Rename HTML element id in ClassLoader javadoc to avoid name conflict with private elements + S8200200: test java/awt/image/ColorModel/Non_sRGBCMTest.java fails with open profiles + S8200257: (se) More Selector cleanup + S8200267: a.out created at top dir by Solaris build + S8200364: Remove unnecessary boxing via primitive wrapper valueOf(String) methods + S8200375: Change to GCC 7.3.0 for building Linux at Oracle + S8200469: Update link to license in Docs.gmk + S8200538: cl : Command line warning D9014 : invalid value '2220' for '/wd' + S8200586: Update JDK11 release date to 2018-09-25 + S8200658: Fix incremental builds of hotspot on solaris + S8200696: Optimal initial capacity of java.lang.Class.enumConstantDirectory + S8200703: Problem list jdk/jshell/ExceptionsTest.java fails on windows- Added patch: * fix-arm-build.patch + fix a duplicate comma in a header- Update to upstream tag jdk-11+7 * Fixes: + S4912693: Behavior of null arguments not specified in Java Sound + S6686236: GIF native IIOMetadata assumes characterCellWidth/Height as 2bytes + S7031957: DIB header of type BITMAPV2INFOHEADER & BITMAPV3INFOHEADER is not supported in BMPImageReader + S7108280: JList.getSelectedValuesList fails if JList.setSelectionInterval larger than list + S7158623: Should an unfocusable maximized Frame be resizable + S8071282: remove misc dead code + S8071469: Cleanup include and exclude of sound native libraries + S8140359: get_locked_message_ext() should return Flag::MsgType + S8144300: http.nonProxyHosts value having wildcard * both at end and start are not honored + S8146201: [AOT] Class static initializers that are not pure should not be executed during static compilation + S8152974: AWT hang occurrs when sequenced events arrive out of sequence + S8153333: [REDO] STW phases at Concurrent GC should count in PerfCounte + S8159850: Remove unneeded parsing of optional-size when parsing array types + S8166642: serviceability/dcmd/framework/* timeout + S8170541: serviceability/jdwp/AllModulesCommandTest.java fails intermittently on Windows and Solaris + S8173070: Remove ValueObj class for allocation subclassing for runtime code + S8173100: AArch64: -XX:-UseOnStackReplacement does not work together with -XX:+TieredCompilation + S8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC + S8180410: ByteArrayOutputStream should not throw IOExceptions + S8180451: ByteArrayInputStream should override readAllBytes, readNBytes, and transferTo + S8191102: Incorrect include file use in classLoader.hpp + S8191418: List.of().indexOf(null) doesn't throw NullPointerException + S8191585: VM anonymous classes created during CDS dump time cause crash + S8191924: Adjust DelegatingClassLoader's metadata space sizing algorithm + S8191954: AArch64: disable UseCISCSpill in C2 + S8193128: Reduce number of implementation classes returned by List/Set/Map.of() + S8193130: Bad graph when unrolled loop bounds conflicts with range checks + S8193266: AArch64: TestOptionsWithRanges.java SIGSEGV + S8193369: post_field_access does not work for some functions, possibly related to fast_getfield + S8193429: "assert(false) failed: GetModuleFileName failed (126)" in symbolengine.cpp + S8193434: [GRAAL] Graal classes are not loaded with - Xshare:dump + S8194054: [TESTBUG] Test runtime/CommandLine/ /OptionsValidation/TestOptionsWithRanges.java failed with - 1073740940 (FFFFFFFFC0000374) + S8194490: [JVMCI] Move `iterateFrames` to C++ + S8194746: (fs) Add equivalents of Paths.get to Path interface + S8194759: Support caching class mirror objects. + S8194978: Javac produces dead code for try-with-resource + S8195095: Images are not scaled correctly in JEditorPane + S8195109: ServiceUtil::visible_oop is not needed anymore + S8195148: Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet + S8196028: JMX: Not enough JDP packets received before timeout + S8196121: runtime/appcds/ClassLoaderTest.java fails silently + S8196294: LoopStripMiningIterShortLoop is set to zero by default + S8196337: Add commit methods that take all event properties as argument + S8196399: Formatting a decimal using locale-specific grouping separators causes ArithmeticException (division by zero). + S8196519: Incomplete classpath causes infinite recursion in Resolve.isAccessible + S8196590: Enable docker container related tests for linux AARCH64 + S8196626: [Graal] runtime/appcds/UseAppCDS.java crashes with "VM thread using lock Heap_lock (not allowed to block on)" + S8196668: revisit test SunPackageAccess and GrantedSunPackageAccess + S8196876: OopStorage::assert_at_safepoint clashes with assert_at_safepoint macros in g1CollectedHeap.hpp + S8197235: src/hotspot/share/jvmci/jvmciCompilerToVM.cpp takes 4 minutes to compile on windows + S8197405: Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors. + S8197429: Increased stack guard causes segfaults on x86-32 + S8197554: Create test for SwingSet TableDemo + S8197595: Serialization javadoc should link to security best practices + S8197842: Remove unused macros VM_STRUCTS_EXT and VM_TYPES_EXT + S8197843: Remove unused method G1EvacuationRootClosures::create_root_closures_ext + S8197844: JVMTI GetLoadedClasses should use the Access API + S8197845: Remove unnecessary method G1CollectedHeap::create_g1_policy + S8197847: Remove unused file g1ParScanThreadState_ext.cpp + S8197852: Move G1DefaultPolicy into G1Policy + S8197944: Condy tests fails on Windows + S8198243: Add build time check for global operator new/delete in object files + S8198358: Align organization of TwoStacksPlainSocketImp with DualStackPlainSocketImpl [win] + S8198423: Improve metaspace chunk allocation + S8198424: Remove G1AllocationContext + S8198430: Remove G1Allocator extension point + S8198431: Remove G1FullCollector extension point + S8198432: Remove Thread extension point + S8198433: Remove WhiteBox extension point + S8198445: Access API for primitive/native arraycopy + S8198447: Remove ClassLoaderExt::check(). + S8198510: Enable UseDynamicNumberOfGCThreads by default + S8198546: [Redo] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set + S8198552: Multiple javac plugins do not work at the same time. + S8198571: [JVMCI] must not install wide vector code unless runtime supports it + S8198591: compiler/aot/fingerprint tests should be moved to open + S8198608: Improvements to command-line flags printing + S8198649: Switch AWT/Swing's default GTK version to 3 + S8198652: Stop linking with -base:0x8000000 on Windows + S8198753: (dc) DatagramChannel throws unspecified exceptions + S8198789: [TESTBUG] CTW of java.base and java.desktop takes long time + S8198794: Hotspot crash on Cassandra 3.11.1 startup with libnuma 2.0.3 + S8198796: Create test case for CDS + condy + S8198826: -XX:+VerifyStack fails with fatal error: ExceptionMark constructor expects no pending exceptions + S8198833: TestMemoryAwareness Docker container fails with too small maximum heap + S8198845: Missing resource mark results disassembling generated code failure in hs error report + S8198894: [PPC64] More generic vector CRC implementation + S8198895: Compilation errors in java.desktop with VS 2017 + S8198896: Remove dead code: cardTableModRefBSForCTRS.hpp + S8198897: Compilation errors in jdk.accessibility with VS 2017 + S8198906: JDK-8196882 breaks VS2013 Win32 builds + S8198924: [Graal] java/lang/StackWalker/LocalsAndOperands.java timeouts with Graal + S8198926: Move ClassLoaderData::_dependencies to ClassLoaderData::_handles + S8198948: Remove unused parameter evacuation_info from G1CollectedHeap::evacuate_collection_set + S8198949: Modularize arraycopy stub routine GC barriers + S8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails + S8198957: Remove unused function ArgumentsExt::set_gc_specific_flags + S8198969: Update Graal + S8198987: [Graal] compiler/intrinsics/sha/sanity tests fail on macos with Graal as JIT + S8198997: Cache normalized/resolved user.dir property + S8199010: attachListener.hpp: Fix potential null termination issue found by coverity scans + S8199012: SEGV in jni_DetachCurrentThread during VM shutdown + S8199024: Remove unneccessary protected and virtual modifiers from G1CollectedHeap + S8199027: Make protected members private in G1Policy + S8199050: reenable concurrent execution of compiler tests + S8199066: [JVMCI] EagerJVMCI option should also initialize the JVMCI compiler + S8199133: [BACKOUT] NMT: Enhance thread stack tracking + S8199137: StringInternSync test crashes in exit verification + S8199212: [TESTBUG] don't run compiler/aot tests with -Xcomp + S8199219: Build failures after JDK-8195148 (Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet) + S8199220: Zero build broken after 8195103, 8191102 and 8189871 + S8199243: aarch32: ARM 32 build broken after 8165929 + S8199263: Split interfaceSupport.hpp to not require including .inline.hpp files + S8199264: Remove universe.inline.hpp to simplify include dependencies + S8199272: Broken assertion in ClassLoaderData::remove_handle + S8199275: Fix inclusions of allocation.inline.hpp + S8199278: Javadoc search results does not link to anchors on a page + S8199282: Remove ValueObj class for allocation subclassing for gc code + S8199283: Remove ValueObj class for allocation subclassing for compiler code + S8199319: Remove handles.inline.hpp include from reflectionUtils.hpp + S8199323: hsdis could not be loaded which are located on long path + S8199328: Fix unsafe field accesses in heap dumper + S8199342: The constant pool forgets it has a Dynamic entry if there are overpass methods + S8199356: Fix hotspot to allow stdlib to use libc++ and to allow changing the deployment target to 10.9 + S8199421: Add support for vector popcount + S8199422: Hotspot build is broken after push of 8197235 + S8199425: JTReg failure: runtime/stringtable/StringTableVerifyTest.java + S8199430: Rename MetaspaceAux to something more meaningful + S8199431: Split up class Metaspace into a static and a non-static part + S8199432: metaspace: fix wrong comment and condition in SpaceManager::verify() + S8199465: {@docRoot} references need to be updated to reflect new module/package structure + S8199467: Compilation Errors in libinstrument Reentrancy.c with VS2017 + S8199472: Fix non-PCH build after JDK-8199319 + S8199489: [TESTBUG] don't run CTW tests with -Xcomp + S8199511: Do not generate g1_{pre|post}_barrier_slow_id without CardTable-enabled barrier set + S8199516: Remove dead code overlooked during Full GC work + S8199518: test/hotspot/jtreg/runtime/SelectionResolution tests take a lot longer to run with fastdebug after JDK-8198423 + S8199532: [TESTBUG] AbstractMethodErrorTest.java test failed with -Xcomp + S8199533: ProblemList tests failing after JDK-8153333 + S8199557: Assert in fromTonga/vm/runtime/defmeth/scenarios/ /Stress_noredefine/TestDescription.java + S8199559: objArrayKlass::oop_iterate() and friends must use base_raw() instead of base() + S8199561: Fix two typos in the JVMTI documentation + S8199603: Build failures after JDK-8199421 "Add support for vector popcount" + S8199604: Rename CardTableModRefBS to CardTableBarrierSet + S8199620: Support for JNI object pinning + S8199624: [Graal] Blocking jvmci compilations time out + S8199656: Make slow metaspace verifications switchable in debug builds + S8199667: Unify metaspace list index handling and reinstantiate ChunkManager listindex gtest + S8199672: ClassCastException is thrown by java.util.Formatter when an NumberFormatProvider SPI is used. + S8199674: Improve G1 Full GC array marking + S8199685: Access arraycopy build failure with GCC 7.3.1 + S8199696: Remove Runtime1::arraycopy + S8199698: Change 8199275 breaks template instantiation for xlC (and potentially other compliers) + S8199705: Docs.gmk needs to be updated to remove the -html5 option + S8199716: Unused AdjustKlassClosure in psParallelCompact.hpp + S8199728: Remove oopDesc::is_scavengable + S8199739: Use HeapAccess when loading oops from static fields in javaClasses.cpp + S8199741: NMT: Tag safepoint polling pages + S8199752: NMT: Memory allocated by Unsafe.allocateMemory should be tagged as mtOther + S8199756: Simplify language, country, script, and variant property initialization + S8199762: JShell API: Failed to detect override when snippet to be overridden has been changed before + S8199773: (bf) XXXBuffer:compareTo method is not working as expected + S8199777: Deprecate -XX:+AggressiveOpts + S8199784: PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining + S8199789: Emit a warning message when t2k is selected via system property + S8199791: (se) More Selector cleanup + S8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files + S8199843: Optimize Integer/Long.highestOneBit() + S8199870: colorimaging.md needs to remove mention of KCMS + S8199880: runtime/appcds/condy/CondyHelloTest.java missing at requires vm.cds + S8199886: gc/cslocker/TestCSLocker.java crashes + S8199896: [Graal] build Graal on all x86 platforms + S8199902: {@docRoot} references need to be updated to reflect new module/package structure + S8199910: Compiler crashes with -g option and variables of intersection type inferred by `var` + S8199924: Solaris: Correctly enqueue null arguments of attach operations + S8200071: Fix test/hotspot/jtreg/ProblemList-graal.txt + S8200072: Remove un-needed qualified export from java.base to java.desktop + S8200116: ConstructInflaterOutput, ConstructDeflaterInput still spamming test logs + S8200118: [TESTBUG] String concat tests should test toString() application order + S8200122: Remove unused field Thread.threadQ + S8200123: Replace Thread.init with telescoping constructor + S8200124: Various cleanups in jar/zip + S8200129: Remove D3D Performance Counter. + S8200135: test/hotspot/jtreg/compiler/jvmci/compilerToVM/ /GetExceptionTableTest.java is failing after JDK-8194978 + S8200136: Problem list test/hotspot/jtreg/compiler/jvmci/ /compilerToVM/GetExceptionTableTest.java + S8200174: compare.sh improvements + S8200178: Remove mapfiles for JDK native libraries + S8200179: (se) More Selector cleanup + S8200180: fix a typo in run-test framework documentation + S8200181: Remove superflous non-IPv4 code from Java_java_net_TwoStacksPlainSocketImpl_socketListen + S8200198: javah man pages were not removed by JDK-8191054 + S8200199: javac suggests to use var even when var is used + S8200213: Configure broken on MIPS + S8200215: 17th loop of "let foo = ''"; throws ReferenceError + S8200229: Simplify building of libjsig + S8200241: [TESTBUG] java/lang/String/concat/ tests should not force source/target = 9 anymore + S8200256: java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently + S8200289: Reduce number of exceptions created when calling Lookup::canBeCached + S8200301: deduplicate lambda methods + S8200304: TwoStacksPlainDatagramSocketImpl and socket cleaner + S8200310: Avoid charset lookup machinery in java.nio.charset.StandardCharsets + S8200355: local variable inference regression test generates classfile in test folder + S8200357: Inline SoundLibraries.gmk into Lib-java.desktop.gmk + S8200409: jdk11 nightly solaris sparc build failure + S8200449: ReadAllReadNTransferTo fails occasionally - Modified patch: * system-pcsclite.patch + Rediff to changed context- Update to upstream tag jdk-11+6 * Fixes: + S8186228: sun/security/krb5/auto/KdcPolicy.java fails with "java.lang.Exception: Does not match. Output is c30000c30000c30000" + S8193033: remove terminally deprecated sun.misc.Unsafe.defineClass + S8196298: Add null Reader and Writer + S8199437: Improve diagnostic system assertion message in com.sun.net.httpserver impl + S8199682: Clean up building the saproc library + S8199749: Debug symbols are not copied to exploded image on Mac + S8199768: jdk/test/lib/compiler/CompilerUtils.java needs to provide more control over compilation + S8199792: Wrong license header in XMLLimitAnalyzer.java + S8199858: solaris-x86_64 : unpack200 fails linking with SS12u4 + S8199862: Examine ProxyBuilder::referencedTypes startup cost + S8199865: Avoid initializing ShortCache in ProxyGenerator + S8199869: Missing copyright headers in nashorn source code + S8199884: JDK-8199749 broke build with make 3.81- Update to upstream tag jdk-11+5 * Fixes: + S8160767: [TEST_BUG] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java + S8182684: Further clarify InputStream#available() + S8183554: Add constructors with Charset parameter for FileReader and FileWriter + S8187635: On Windows Swing changes keyboard layout on a window activation + S8188240: Reflection Proxy should skip static methods + S8189230: JDK method: java.lang.Integer.numberOfLeadingZeros(int) can be optimized + S8190347: [TESTBUG] Test javax/swing/JWindow/ /ShapedAndTranslucentWindows/TranslucentJComboBox.java fails + S8190767: if JFrame is maximized on OS X, all new JFrames will be maximized by default + S8193017: Import freetype sources into OpenJDK source tree + S8193584: (testbug) TestSocketFactory fails intermittently with ConcurrentModificationException + S8194767: Regression automated Test 'javax/swing/JEditorPane/6917744/bug6917744.java' fails + S8194943: Regression automated test 'open/test/jdk/javax/ /swing/JInternalFrame/8020708/bug8020708.java' fails + S8195738: scroll poistion in ScrollPane is reset after calling validate() + S8196435: Regression automated Test 'java/awt/Mouse/ /GetMousePositionTest/GetMousePositionWithOverlay.java' fails + S8196748: tools/jar tests need to tolerate unrelated warnings + S8197785: javax.accessibility.AccessibleBundle will reload the ResourceBundle for every call to toDisplayString + S8198406: Test TestAATMorxFont is unstable + S8198605: Touch keyboard is shown for a non-focusable text component + S8198606: Touch keyboard does not hide, when a text component looses focus + S8198613: Test cases result in failure or timeout when run with OpenGL backend + S8198777: JList.getPreferredScrollableViewportSize(): fix mistake in doc for height calc + S8198889: Clarify the throwing of exceptions from ConstantBootstraps.invoke + S8198922: Provide instrumentation for sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java + S8198989: Provide more diagnostic IAE messages + S8199009: test/jdk/java/util/Locale/SoftKeys.java fails with OutOfMemoryError + S8199022: New failures should be added to ProblemList + S8199215: Re-examine getFreePort method in test infrastructure library + S8199258: BigInteger.bitLength() should explicitly specify behavior when the value is zero + S8199329: Remove code that attempts to read bytes after connection reset reported + S8199420: Update javadoc tags in java.lang.System and related + S8199423: Create builds-infra Mach5 job + S8199428: install-file macro fails on filenames with space on Solaris + S8199443: Nashorn multithread bottleneck with "use strict" + S8199451: Create linux-aarch64 cross-compilation devkit, and fix cross-compilation + S8199453: Enable link-time generation of constructor forms + S8199462: Use Reference.reachabilityFence in direct ByteBuffer methods + S8199464: Remove remaining vestiges of Java_sun_reflect_Reflection_getCallerClass + S8199469: Disable generate-jli-classes when building interim-image + S8199470: Remove unused property file.encoding.pkg + S8199471: Enable generation of callSiteForms at link time + S8199473: Support Visual Studio BuildTools with VS2017 + S8199483: Clean up some non-standard LDFLAGS usage + S8199606: Set -lc as global LIBS on solstudio + S8199611: (se) Minor selector implementation clean-up + S8199616: Fix @module declarations in tier1 tests + S8199636: Unify naming for jaas_unix and jaas_nt + S8199639: Introduce SetupJdkLibrary and SetupJdkExecutable + S8199640: Split up BUILD_LIBKRB5 into the two, unrelated compilations it consists of + S8199647: java/util/Locale/SoftKeys.java fails with OutOfMemoryError again + S8199668: make/lib cleanup + S8199681: Remove boilerplate code from creating native jtreg tests + S8199745: JDK-8199668 introduced a build race on macosx - Modified patches: * system-pcsclite.patch * java10-improved-fonts.patch -> java11-improved-fonts.patch + Rediff to changed context- Update to upstream tag jdk-11+4 * Fixes: + S4993841: (str) java.lang.Character should have a toString(int) method + S5076761: JList.setSelectedValue(null, ...) doesn't do anything + S6372077: JarFile.getManifest() should handle manifest attribute name 70 bytes + S8041626: Shutdown tracing event + S8129569: [TEST_BUG] Test java/awt/Frame/ /MaximizedToUnmaximized/MaximizedToUnmaximized.java fails + S8137326: Methods for comparing CharSequence, StringBuilder, and StringBuffer + S8148871: Possible wrong expression stack depth at deopt point + S8153945: Track if log configuration has changed during runtime + S8168722: Unified Logging configuration output needs simplifying + S8169358: httpserver does not close connections when RejectedExecutionException occurs + S8170976: [TESTBUG] LogTestFixture does not restore previous logging state + S8171000: Robot.createScreenCapture() crashes in wayland mode + S8182765: HTML5 must be the default javadoc codegen mode in the near future + S8186513: [TESTBUG] javax/swing/JInternalFrame/8160248/ /JInternalFrameDraggingTest.java + S8187066: -Xlog:help "=debug" example is not quite accurate + S8187653: Lock in CoderResult.Cache becomes performance bottleneck + S8187950: javax.lang.model APIs throws CompletionFailure or a subtype of CompletionFailure. + S8190346: improve unified JVM logging help message and warnings + S8190679: java/util/Arrays/TimSortStackSize2.java fails with "Initial heap size set to a larger value than the maximum heap size" + S8191139: Remove deprecated javax.security.auth.Policy API + S8191369: NMT: Enhance thread stack tracking + S8191421: Deprecate PrintSafepointStatistics, PrintSafepointStatisticsTimeout and PrintSafepointStatisticsCount options + S8193262: JNI array not released in libsunmscapi convertToLittleEndian + S8193660: Check SOURCE line in "release" file for closedjdk + S8194085: Obsolete the deprecated SafepointSynchronize flags and remove related code + S8194296: Check copyright of files in make/langtools/tools + S8194870: Some regression tests throw NPE exception on a specific Solaris 11.2 sun4v sparc machine + S8195065: runtime/appcds/ProhibitedPackage.java intermittent failure + S8195131: Dead code removal for changes present in JDK-8176795 + S8195142: Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy + S8195632: [Graal] Introduce EagerJVMCI flag to force eager JVMCI initialization + S8196064: AArch64: Merging ld/st into ldp/stp in macro-assembler + S8196133: JShell crashes when attempting to use bad source file in class path + S8196196: Headful tests should not be run in headless mode + S8196322: [macosx] When the screen menu bar is used, clearing the default menu bar should permit AWT shutdown + S8196338: [TEST_BUG] sanity/client/SwingSet/src/ /TextFieldDemoTest.java Failed with timeout + S8196868: AARCH64: ld/st instructions hit guarantee assert while using sp + S8196882: VS2017 Hotspot Defined vsnprintf Function Causes C2084 Already Defined Compilation Error + S8197408: Bad pointer comparison and small cleanup in os_linux.cpp + S8197453: Add support of extra problem list + S8197482: Make Jemmy ComponentChooser lambda friendly + S8197499: RepaintManager does not increase double buffer after attaching a device with higher resolution + S8197533: Move javax.transaction.xa to its own module + S8197538: Remove mention of hotjava paths in MimeTable.java + S8197546: Fix for 8171000 breaks Solaris + Linux builds + S8197549: Implement a new method similar to waitState() on Operator which run the check on event queue + S8197594: String#repeat + S8197808: Test java/awt/Dialog/MakeWindowAlwaysOnTop/ /MakeWindowAlwaysOnTop.java fails on Windows + S8197841: Remove unused function Universe::create_heap_ext + S8197864: VS2017 (C4334) Result of 32-bit Shift Implicitly Converted to 64 bits + S8197926: java/awt/dnd/ImageTransferTest/ImageTransferTest.java doesnt close the windows in HiDPI setting + S8198004: javax/swing/JFileChooser/6868611/bug6868611.java throws error + S8198005: javax/swing/JFileChooser/7199708/bug7199708.java throws error + S8198252: Null pointer dereference in fold_compares_helper + S8198253: ThreadInfo.from(CompositeData) incorrectly accepts CompositeData with missing JDK 6 attributes + S8198293: AARCH64 - Add CPU detection code for Cavium Thunder X2 + S8198302: VS2017 (C4477) java.base/windows/native/libnet/ /NetworkInterface_winXP.c incorrect printf format strings + S8198304: VS2017 (C4838, C4312) Various conversion issues with gtest tests + S8198312: VS2017: Upgrade HOTSPOT_BUILD_COMPILER in vm_version.cpp + S8198333: ProblemList should be updated for headless mode + S8198474: Move JNIHandles::resolve into jniHandles.inline.hpp + S8198554: Add fuzzy matching for log levels and tags when parsing -Xlog + S8198628: further simplifications to lambda classification at JavacParser + S8198640: VS2017 (LNK4281) Link Warning Against Missed ASLR Optimization + S8198693: Update ProblemsList for mac + S8198697: Simplify initialization of platform encoding + S8198703: Missing #include "gc/shared/cardTableModRefBS.hpp" in graphKit.hpp + S8198724: Refactor FLAGS handling in configure + S8198750: [s390+x86_32+aarch64] Fix build after jdk-8195142 + S8198810: URLClassLoader does not specify behavior when URL array contains null + S8198821: fix test methods access for test java/text/Normalizer/NormalizerAPITest.java + S8198825: Resolve missing review feedback for JDK-8170976 + S8198833: TestMemoryAwareness Docker container fails with too small maximum heap + S8198834: (ch) Enable java/nio/channels/spi/SelectorProvider/ /inheritedChannel/InheritedChannelTest.java on linux-x64 + S8198841: Thread.interrupt should set interrupt status while holding blockerLock + S8198844: Clean up GensrcX11Wrappers + S8198859: Use elfedit to silence linker warnings on solaris + S8198862: Stop doing funky compilation stuff for dtrace + S8198887: JDK-8168722 broke the build on macosx + S8198888: Reduce string allocation churn in InvokerBytecodeGenerator + S8198898: Compilation errors in jdk.crypto.mscapi with VS 2017 + S8198899: Compilation errors in java.prefs with VS 2017 + S8198928: (so) SocketChannel connect may deadlock if closed at around same time that connect fails + S8198931: remove java.xml.bind module dependency for com/sun/jndi tests + S8198933: Update JDI tests to pass valid URL[] + S8198955: String#repeat loop optimization + S8198966: To make CoderResult.Cache.cache final and allocate it eagerly + S8198970: jnu_util.c compilation error on Solaris + S8199015: (se) SocketChannelImpl.translateXXXOps access channel state without synchronization + S8199018: Test crypto provider not registering + S8199052: Configure broken on aarch64 + S8199103: Can't use COMPARE_BUILD with PATCH from custom root + S8199118: Filtering of filename for microsoft CL broken on newer Cygwin + S8199120: (so) SocketChannelImpl read/write don't need stateLock when channel is configured non-blocking + S8199125: --disable-warnings-as-errors does not work for native jtreg test code + S8199152: Configure broken on arm32 + S8199154: Accessibility issues in jdk.security.auth + S8199197: Set _NT_SYMBOL_PATH when running tests on windows + S8199198: Remove unused functions in jdk.crypto.mscapi native code + S8199224: Refactor add_native_source in SetupNativeCompilation + S8199236: Nashorn uses deprecated HTML tags in Javadoc + S8199266: Update boot and build jdk requirements in configure + S8199327: nuke var type name after a lambda has been accepted + S8199331: Don't limit debug information for fastdebug JDK native libraries + S8199338: Use -g0 on solstudio also for compiling C programs + S8199339: JDK-8198859 broke solaris x64 + S8199347: Always use -Z7 for debug symbols when compiling on Windows + S8199352: The Jib artifact resolver in test lib needs to print better error messages + S8199403: Require binutils 2.18 or newer + S8199405: Bump lowest supported gcc to 4.8 + S8199416: Remove debug output left over since JDK-8198844 - Removed patches: * sorted-diff.patch + context changed completely * jdk10-gcc6.patch + not needed * boot_jdk_version.patch + correct boot versions handled upsteam - Changed patch: * java10-improved-fonts.patch + rediffed to changed context- Update to upstream tag jdk-11+3 * Fixes: + S4916621: Update those still using JDIScaffold to use TestScaffold instead. + S7127700: G1: Replace G1PLAB with PLAB + S8038043: Xerces Update: XInclude update + S8060094: java/util/Formatter/Basic.java failed in tr locale + S8068593: Remove or repurpose unused PerfCounters from objectMonitor + S8165929: Constify arguments of Copy methods + S8166232: jshell tool: cannot access previous history + S8175384: SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes + S8176298: Log tags in -Xlog:help not sorted + S8179249: Improve process output analysis in CDS tests + S8182847: Copy class should use assert macros + S8184289: Obsolete -XX:+UnsyncloadClass and - XX:+MustCallLoadClassInternal options + S8186211: Negative tests for CONSTANT_Dynamic + S8186688: javax.lang.model.util.Elements.hides does not work correctly with interfaces + S8189330: Cleanup FileDescriptor implementation + S8190428: Minimal Dynamic Constant support for AArch64 + S8191375: Add high-level jtreg VMProps to filter out CDS tests + S8193056: Title from build failure with Xcode 9.1 + S8193150: Create a jtreg version of the test from JDK-8187143. + S8193373: Cleanup ElfFile and family + S8193846: Obsolete the VM option UseUTCFileTimestamp + S8193892: Impact of noncloneable MessageDigest implementation + S8193909: Obsolete(remove) Co-operative Memory Management (CMM) + S8194084: Obsolete FastTLABRefill and remove the related code + S8194691: Cleanup unnecessary casts in Atomic/OrderAccess uses + S8194994: Remove redundant string streams used for logging + S8195103: Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy + S8195112: x86 (32 bit): implementation for Thread-local handshakes + S8196308: Update tests AllLineLocations and ClassesByName to use TestScaffold instead of JDIScaffold. + S8196324: Update tests FilterMatch and FilterNoMatch to use TestScaffold. + S8196405: [REDO] NMT: add_committed_regions doesn't merge succeeding regions + S8196602: Change HeapRegionClosure to comply to naming conventions + S8196759: Move two java/text/Normalizer tests into OpenJDK + S8196783: Refactor LogTagLevelExpression into separate classes + S8196786: [PPC64+s390] ConstantDynamic support + S8196830: publicLookup().findVirtual should not return method handle to AccessibleObject.setAccessible + S8196880: VS2017 Addition of Global Delete Operator with Size Parameter Conflicts with Arena's Chunk Provided One + S8196884: VS2017 Multiple Type Cast Conversion Compilation Errors + S8196889: VS2017 Unable to Instantiate OrderAccess::release_store with an Incomplete Class Within an Inlined Method + S8196909: gcc 7.2.1 compiler warning in libdt_socket + S8196920: VerifierTest_1A.java and VerifierTest_1B.java fail: assert(receiver_klass->is_subtype_of(static_receiver_klass)) failed: actual receiver must be subclass of static receiver klass + S8196930: [Testbug] serviceability/sa/ClhsdbFindPC.java fails to find expected output + S8196992: Resolve disabled warnings for libdt_socket + S8196997: VS2017 The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be removed + S8197412: Enable docker container related tests for linux s390x + S8197454: Need Access decorator for storing oop into uninitialized location + S8197518: Kerberos krb5 authentication: AuthList's put method leads to performance issue + S8197563: assert(is_Loop()) crash in PhaseIdealLoop::try_move_store_before_loop() + S8197572: s390 build broken after 8165929 + S8197589: Update CPU count algorithm when both cpu shares and quotas are used + S8197608: MacroAssembler::unimplemented calls global operator new[] + S8197772: metaspace uses global operator new/delete for gtest testing + S8197780: Null pointer dereference in Klass::is_instance_klass of klass.hpp:532 + S8197789: os::SuspendedThreadTask causes references to global operator delete + S8197827: [windows] Small cleanups after JDK-8185712 + S8197828: Null pointer dereference in MultiNode::proj_out_or_null + S8197857: fieldDescriptor prints incorrect 32-bit representation of compressed oops + S8197859: VS2017 Complains about UINTPTR_MAX definition in globalDefinitions_VisCPP.hpp + S8197868: VS2017 (C2065) 'timezone': Undeclared Identifier in share/runtime/os.cpp + S8197901: Crash during GC when logging level is debug + S8197906: Enable CDS mode execution of jtreg tests via make + S8197945: Qurarantine failing condy tests + S8197956: VS2017 (C4838) Narrowing conversion required from __int64 to julong + S8197968: [Backout] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set + S8197992: Move the OopStorage::ParState type out of inline.hpp + S8197993: Remove last use of JavaThread::flush_barrier_queues() + S8197994: Move JavaThread::initialize_queues() logic to G1SATBCardTableLoggingModRefBS + S8197999: Accessors in typeArrayOopDesc should use new Access API + S8198225: os::attempt_reserve_memory_at records memory as committed + S8198249: Remove deprecated Runtime::runFinalizersOnExit and System::runFinalizersOnExit + S8198251: [Graal] compiler/intrinsics/bmi/verifycode tests fail with Graal on macos + S8198265: Make CollectorPolicy::satisfy_failed_metadata_allocation() virtual + S8198267: Allow GCId::current_raw() calls from non-NamedThreads + S8198268: Add time argument to ConcurrentGCTimer::register_gc_pause_start/_end + S8198269: Allow GCCauseSetter to be used outside of safepoints + S8198270: Remove dangerous assert in HandleArea::oops_do() + S8198271: Make CollectedHeap::create_heap_space_summary() virtual + S8198275: AIX build broken after latest whitebox.cpp changes + S8198286: Direct memory accessors in typeArrayOop.hpp should use Access API + S8198287: Cleanup ElfFile usage in whitebox.cpp + S8198311: Avoid uses of global malloc and free + S8198341: Build failures after 8194084 (Obsolete FastTLABRefill and remove the related code) + S8198369: Clean up GCId and GCIdMark + S8198373: Remove CollectorPolicy::is/as functions + S8198375: Passing 'null' value to lookup param of ConstantBootstraps.invoke does not throw NullPointerException + S8198420: Remove unused extension point AllocationContextStats + S8198439: Fix aarch64 code for handling generate_code_for after FastTLABFill obsolete code + S8198480: Improve ClassLoaders static init block + S8198481: Coding style cleanups for src/java.base/share/classes/jdk/internal/loader + S8198482: The URLClassPath field "urls" should be renamed to "unopenedUrls" + S8198484: URLClassPath should use an ArrayDeque instead of a Stack + S8198485: Simplify a URLClassPath constructor + S8198490: java/util/logging/TestLogConfigurationDeadLock.java timed out. + S8198492: Bootstrapping java.lang.invoke can cause deadlock after JDK-8198418 + S8198507: Remove CollectorPolicy::create_rem_set + S8198509: Move satisfy_failed_metadata_allocation out from CollectorPolicy + S8198511: Move allocation functions from GenCollectorPolicy to GenCollectedHeap + S8198515: Extract SoftReferencePolicy code out of CollectorPolicy + S8198522: Javadoc search broken after output files organization for modules + S8198525: Move _size_policy out of GenCollectorPolicy into GenCollectedHeap + S8198528: Move GenerationSpecs from GenCollectorPolicy to GenCollectedHeap + S8198530: Move _gc_policy_counters from GenCollectorPolicy to GenCollectedHeap + S8198533: Remove obsolete JDIScaffold class from repo. + S8198539: Cleanup of unused imports in java/util/jar/Attributes.java (java.base) and JdpController.java (jdk.management.agent) + S8198551: Rename hotspot_tier1 test group to tier1 + S8198553: jcmd: separate Metaspace statistics from NMT + S8198558: Windows does not build without precompiled headers + S8198560: Remove implicit casts from oop to JavaThread* and jlong* + S8198562: (ch) Separate blocking and non-blocking code paths (part 1) + S8198564: Multiple crashes on SPARC + S8198568: clean up test/hotspot/jtreg/ProblemList.txt + S8198569: SetupTextFileProcessing should use sed with 'g' + S8198573: JShell: class replace loses instances + S8198585: add asserts to verify that ServiceUtil::visible_oop is not needed + S8198627: JDK-8198318 broke readlink testing + S8198635: Remove unused safepoint message functions and ShowSafepointMsgs + S8198645: Use System.lineSeparator() instead of getProperty("line.separator") + S8198653: ClassLoader::getSystemClassLoader throws InternalError when called after shutdown + S8198656: Update copyright to 2018 + S8198658: Docs still point to JDK 9 docs + S8198670: [testbug] Test jdk/internal/jline/extra/HistoryTest.java is broken after 8166232 + S8198726: Quarantine SADebugDTest.java again + S8198751: Refactor SetupNativeCompilation to take NAME and TYPE + S8198754: (ch) Separate blocking and non-blocking code paths (part 2) + S8198755: Reduce cost of InvokerBytecodeGenerator::isStaticallyInvocable/-Nameable + S8198808: jdi tests failing after JDK-8198484 + S8198820: Problem list tools/jimage/JImageExtractTest.java + S8198831: Lazy initialization of ValueConversions MethodHandles - Modified patch: * system-pcsclite.patch + Fix merge error in the patch- Update to upstream tag jdk-11+2 * Fixes: + S8058965: Remove IPv6 support from TwoStacksPlainSocketImpl [win] + S8153294: Solaris devkit uses linker from system instead of in devkit + S8170120: jimage throws IOException when the given file is not a jimage file + S8176474: test/jdk/jshell/JdiBogusHostListenExecutionControlTest.java fails with java.net.BindException + S8190904: Incorrect currency instance returned by java.util.Currency.getInstance() + S8194154: System property user.dir should not be changed + S8194892: add compiler support for local-variable syntax for lambda parameters + S8194922: jlink --exclude-resources should never exclude module-info.class + S8196959: NullPointerException in discovery003.java + S8197439: Crash with -XDfind=lambda for anonymous class in anonymous class. + S8197812: (ref) Data race in Finalizer + S8198227: Fix COMPARE_BUILD after forest consolidation + S8198228: Spec clarification: j.u.Locale.getDisplayName() + S8198301: jdk11+1 was built as 'fcs' instead of 'ea' + S8198303: jdk11+1 was build with incorrect GA date as 2018-03-20 + S8198306: Add post custom extension hooks to two launchers + S8198318: Make build comparisons clean again + S8198328: Create devkit for Solaris with developer studio 12.6 and Solaris11.3 + S8198379: tools/jimage/JImageListTest.java failing + S8198380: tools/jimage/JImageExtractTest.java failing + S8198385: Remove property sun.locale.formatasdefault + S8198417: Exclude tools/jimage/JImageExtractTest.java and tools/jimage/JImageListTest.java on Windows + S8198418: Invoke LambdaMetafactory::metafactory exactly from the BootstrapMethodInvoker + S8198425: make/Main.gmk Add extra extension/override points to the make file + S8198441: Replace native Runtime::runFinalization0 method with shared secrets + S8198450: Make jdk.internal.vm.compiler/module-info.java.extra reproducable + S8198479: JDK build is broken by 8194892 + S8198502: Exception at runtime due to lambda analyzer reattributes live AST + S8198512: compiler support for local-variable syntax for lambda parameters + S8198523: Refactor BootstrapMethodInvoker to further avoid runtime type checks + S8198563: Test langtools/tools/javac/analyzer/AnonymousInAnonymous.java failing after JDK-8198502- Update to upstream tag jdk-11+1 - Removed patches: * JDK-8194739-zero.patch * aarch64-form_address.patch + Integrated upstream - Modified patch: * system-pcsclite.patch + Rediff to changed context- Added patch: * aarch64-form_address.patch - Fix crash due to mistake in committed patch for JDK-8195859- Upgrade to the tip of jdk repository of January 26th, 2018 - Modified patches: * disable-doclint-by-default.patch * jdk10-gcc6.patch + Rediffed to a changed context - Removed patches: * java-10-openjdk-linuxfilestore.patch * remove_javah_for_real.patch + Integrated upstream - Added patch: * JDK-8194739-zero.patch + S8194739: Zero port of 8174962: Better interface invocations- Recommend tzdata-java8 instead of depending on it. This fixes build cycles.- Initial package of jdk-11+0 * java-11-openjdk technology preview/bin/sh/bin/shjava-10-openjdk-javadocs390zl38 1721300310  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~*************************11.0.24.0-150000.3.116.111.0.24.0-150000.3.116.111.0.24.0-150000.3.116.111.0.24.0-150000.3.116.111.0.24.0-150000.3.116.1     !!!!!! """""""""""""############""""$$%$$$&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((()))))))))))))))))))))))))((('***********************************************''''+++,,+++----------------------------------------------------------------------------------------------.........////////...-0000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111000-222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222-333333333333333334444444444444444333----555555555555555555555555555555556666666666666666666666666666666555777777777777777777777777777777788888888888888888888888888888877779999999::::::999;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<=====================<<<;>>>>>>>>>>>>>>>>>>;?????????@@@@@@@@???;;;;AAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBAAA;CCCCCCCDDDDDDCCCEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIHHHGJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJGKKKKKKKKKKKKKKKLLLLLLLLLLLLLLKKKGGGEMMMMENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNEPPPPPPPPPPPPQQQQQQQQQQQPPPEEEERRRRRSSSSRRRETTTTTTTTTTTUUUUUUUUUUTTTEVVVVVVVVVVVVVVWWWWWWWWWWWWWVVVEXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYXXXZ[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\[]]]]]^^^^]]][[[[__________________`````````````````___ZaaabbaaaaccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddcccZefffffffffggggggggggghhhhhhhhhhgggfiiiiiiiifjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkjjjffffllmlllfnnnoonnneppppppppqqqqqqqppprstuuuuuuuuuuuuuuvvvvvvvvvvvvvuuuswxxxxyyyxzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzxxxx|||||||||||||||||||}}}}}}}}}}}}}}}}}}|||x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sr                                                                                         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """""""""""""""""""##################""" $$$$$$$$%%%%%%%$$$ &&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''&&&    ((((((((((((())))))))))))(((*+,-----------------------......................---*/012222222222333333333222/456666666666666666666667777777777777777788888888888888887776999999999999999999996::::;;;:::6666<<<<===<<<6>>>>>>>>>>>>>>>>>>>>>>>>>>>>???????????????????????????>>>4@ABBBCCBBB4DEFFFFFFFFFFFFFGGGGGGGGGGGGFFFDHIJKLMMMMMMMMMNNNNNNNNMMMIIOPQQQQQQQQQRRRRRRRRQQQSTUVVVVVVVVVVVWWWWWWWWWWVVVSXYZZZZZZZZZZZZZZ[[[[[[[[[[[[[ZZZX\]^_____________````````````____aaaaaaaaaaabbbbbbbbbbaaa_cccccccccddddddddccc\efgggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggeijjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkjjjelmnoooopppooolqrsttttttttttttttttuuuuuuuuuuuuuuutvvvvwwwvvvtxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyxzzz{{zzzx|||||||||}}}}}}}}|||xxxx~~~~~~~~~~~~~~~tttq                                                                                                                                                                                               !!!!!!!!!!!!!!!!!!!!!!!!!!!! """""""""""""############"""    $$$$$$$$$$$$$$$%%%%%%%%%%%%%%$$$ &&'&&&(()***++***,-./0122222233333222/45677777777777888888888877749:;<=>???@@???:ABCDDDDDDEEEEEDDDCFFFGGFFFBHIJKLMNNNNNNNNNNOOOOOOOOONNNMPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPJRSTUVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWVVVRXYZ[\\\\\\\\\\\\\\\]]^]]]\______________\``a```\bbbbbbbbbccccccccbbb\\\Xdefghhhhhhhiiiiiihhhdjjklmnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooonnnmpppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpppmrrrrrrsssssrrrmtttttttuuuuuutttvwxywwwwwz{{{{|}}~~javadocjava-11-openjdkapiallclasses-index.htmlallclasses.htmlallpackages-index.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-filesindex-1.htmlindex-10.htmlindex-11.htmlindex-12.htmlindex-13.htmlindex-14.htmlindex-15.htmlindex-16.htmlindex-17.htmlindex-18.htmlindex-19.htmlindex-2.htmlindex-20.htmlindex-21.htmlindex-22.htmlindex-23.htmlindex-24.htmlindex-25.htmlindex-26.htmlindex-27.htmlindex-3.htmlindex-4.htmlindex-5.htmlindex-6.htmlindex-7.htmlindex-8.htmlindex-9.htmlindex.htmljava.basejavaioBufferedInputStream.htmlBufferedOutputStream.htmlBufferedReader.htmlBufferedWriter.htmlByteArrayInputStream.htmlByteArrayOutputStream.htmlCharArrayReader.htmlCharArrayWriter.htmlCharConversionException.htmlCloseable.htmlConsole.htmlDataInput.htmlDataInputStream.htmlDataOutput.htmlDataOutputStream.htmlEOFException.htmlExternalizable.htmlFile.htmlFileDescriptor.htmlFileFilter.htmlFileInputStream.htmlFileNotFoundException.htmlFileOutputStream.htmlFilePermission.htmlFileReader.htmlFileWriter.htmlFilenameFilter.htmlFilterInputStream.htmlFilterOutputStream.htmlFilterReader.htmlFilterWriter.htmlFlushable.htmlIOError.htmlIOException.htmlInputStream.htmlInputStreamReader.htmlInterruptedIOException.htmlInvalidClassException.htmlInvalidObjectException.htmlLineNumberInputStream.htmlLineNumberReader.htmlNotActiveException.htmlNotSerializableException.htmlObjectInput.htmlObjectInputFilter.Config.htmlObjectInputFilter.FilterInfo.htmlObjectInputFilter.Status.htmlObjectInputFilter.htmlObjectInputStream.GetField.htmlObjectInputStream.htmlObjectInputValidation.htmlObjectOutput.htmlObjectOutputStream.PutField.htmlObjectOutputStream.htmlObjectStreamClass.htmlObjectStreamConstants.htmlObjectStreamException.htmlObjectStreamField.htmlOptionalDataException.htmlOutputStream.htmlOutputStreamWriter.htmlPipedInputStream.htmlPipedOutputStream.htmlPipedReader.htmlPipedWriter.htmlPrintStream.htmlPrintWriter.htmlPushbackInputStream.htmlPushbackReader.htmlRandomAccessFile.htmlReader.htmlSequenceInputStream.htmlSerializable.htmlSerializablePermission.htmlStreamCorruptedException.htmlStreamTokenizer.htmlStringBufferInputStream.htmlStringReader.htmlStringWriter.htmlSyncFailedException.htmlUTFDataFormatException.htmlUncheckedIOException.htmlUnsupportedEncodingException.htmlWriteAbortedException.htmlWriter.htmlclass-useBufferedInputStream.htmlBufferedOutputStream.htmlBufferedReader.htmlBufferedWriter.htmlByteArrayInputStream.htmlByteArrayOutputStream.htmlCharArrayReader.htmlCharArrayWriter.htmlCharConversionException.htmlCloseable.htmlConsole.htmlDataInput.htmlDataInputStream.htmlDataOutput.htmlDataOutputStream.htmlEOFException.htmlExternalizable.htmlFile.htmlFileDescriptor.htmlFileFilter.htmlFileInputStream.htmlFileNotFoundException.htmlFileOutputStream.htmlFilePermission.htmlFileReader.htmlFileWriter.htmlFilenameFilter.htmlFilterInputStream.htmlFilterOutputStream.htmlFilterReader.htmlFilterWriter.htmlFlushable.htmlIOError.htmlIOException.htmlInputStream.htmlInputStreamReader.htmlInterruptedIOException.htmlInvalidClassException.htmlInvalidObjectException.htmlLineNumberInputStream.htmlLineNumberReader.htmlNotActiveException.htmlNotSerializableException.htmlObjectInput.htmlObjectInputFilter.Config.htmlObjectInputFilter.FilterInfo.htmlObjectInputFilter.Status.htmlObjectInputFilter.htmlObjectInputStream.GetField.htmlObjectInputStream.htmlObjectInputValidation.htmlObjectOutput.htmlObjectOutputStream.PutField.htmlObjectOutputStream.htmlObjectStreamClass.htmlObjectStreamConstants.htmlObjectStreamException.htmlObjectStreamField.htmlOptionalDataException.htmlOutputStream.htmlOutputStreamWriter.htmlPipedInputStream.htmlPipedOutputStream.htmlPipedReader.htmlPipedWriter.htmlPrintStream.htmlPrintWriter.htmlPushbackInputStream.htmlPushbackReader.htmlRandomAccessFile.htmlReader.htmlSequenceInputStream.htmlSerializable.htmlSerializablePermission.htmlStreamCorruptedException.htmlStreamTokenizer.htmlStringBufferInputStream.htmlStringReader.htmlStringWriter.htmlSyncFailedException.htmlUTFDataFormatException.htmlUncheckedIOException.htmlUnsupportedEncodingException.htmlWriteAbortedException.htmlWriter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllangAbstractMethodError.htmlAppendable.htmlArithmeticException.htmlArrayIndexOutOfBoundsException.htmlArrayStoreException.htmlAssertionError.htmlAutoCloseable.htmlBoolean.htmlBootstrapMethodError.htmlByte.htmlCharSequence.htmlCharacter.Subset.htmlCharacter.UnicodeBlock.htmlCharacter.UnicodeScript.htmlCharacter.htmlClass.htmlClassCastException.htmlClassCircularityError.htmlClassFormatError.htmlClassLoader.htmlClassNotFoundException.htmlClassValue.htmlCloneNotSupportedException.htmlCloneable.htmlComparable.htmlCompiler.htmlDeprecated.htmlDouble.htmlEnum.htmlEnumConstantNotPresentException.htmlError.htmlException.htmlExceptionInInitializerError.htmlFloat.htmlFunctionalInterface.htmlIllegalAccessError.htmlIllegalAccessException.htmlIllegalArgumentException.htmlIllegalCallerException.htmlIllegalMonitorStateException.htmlIllegalStateException.htmlIllegalThreadStateException.htmlIncompatibleClassChangeError.htmlIndexOutOfBoundsException.htmlInheritableThreadLocal.htmlInstantiationError.htmlInstantiationException.htmlInteger.htmlInternalError.htmlInterruptedException.htmlIterable.htmlLayerInstantiationException.htmlLinkageError.htmlLong.htmlMath.htmlModule.htmlModuleLayer.Controller.htmlModuleLayer.htmlNegativeArraySizeException.htmlNoClassDefFoundError.htmlNoSuchFieldError.htmlNoSuchFieldException.htmlNoSuchMethodError.htmlNoSuchMethodException.htmlNullPointerException.htmlNumber.htmlNumberFormatException.htmlObject.htmlOutOfMemoryError.htmlOverride.htmlPackage.htmlProcess.htmlProcessBuilder.Redirect.Type.htmlProcessBuilder.Redirect.htmlProcessBuilder.htmlProcessHandle.Info.htmlProcessHandle.htmlReadable.htmlReflectiveOperationException.htmlRunnable.htmlRuntime.Version.htmlRuntime.htmlRuntimeException.htmlRuntimePermission.htmlSafeVarargs.htmlSecurityException.htmlSecurityManager.htmlShort.htmlStackOverflowError.htmlStackTraceElement.htmlStackWalker.Option.htmlStackWalker.StackFrame.htmlStackWalker.htmlStrictMath.htmlString.htmlStringBuffer.htmlStringBuilder.htmlStringIndexOutOfBoundsException.htmlSuppressWarnings.htmlSystem.Logger.Level.htmlSystem.Logger.htmlSystem.LoggerFinder.htmlSystem.htmlThread.State.htmlThread.UncaughtExceptionHandler.htmlThread.htmlThreadDeath.htmlThreadGroup.htmlThreadLocal.htmlThrowable.htmlTypeNotPresentException.htmlUnknownError.htmlUnsatisfiedLinkError.htmlUnsupportedClassVersionError.htmlUnsupportedOperationException.htmlVerifyError.htmlVirtualMachineError.htmlVoid.htmlannotationAnnotation.htmlAnnotationFormatError.htmlAnnotationTypeMismatchException.htmlDocumented.htmlElementType.htmlIncompleteAnnotationException.htmlInherited.htmlNative.htmlRepeatable.htmlRetention.htmlRetentionPolicy.htmlTarget.htmlclass-useAnnotation.htmlAnnotationFormatError.htmlAnnotationTypeMismatchException.htmlDocumented.htmlElementType.htmlIncompleteAnnotationException.htmlInherited.htmlNative.htmlRepeatable.htmlRetention.htmlRetentionPolicy.htmlTarget.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractMethodError.htmlAppendable.htmlArithmeticException.htmlArrayIndexOutOfBoundsException.htmlArrayStoreException.htmlAssertionError.htmlAutoCloseable.htmlBoolean.htmlBootstrapMethodError.htmlByte.htmlCharSequence.htmlCharacter.Subset.htmlCharacter.UnicodeBlock.htmlCharacter.UnicodeScript.htmlCharacter.htmlClass.htmlClassCastException.htmlClassCircularityError.htmlClassFormatError.htmlClassLoader.htmlClassNotFoundException.htmlClassValue.htmlCloneNotSupportedException.htmlCloneable.htmlComparable.htmlCompiler.htmlDeprecated.htmlDouble.htmlEnum.htmlEnumConstantNotPresentException.htmlError.htmlException.htmlExceptionInInitializerError.htmlFloat.htmlFunctionalInterface.htmlIllegalAccessError.htmlIllegalAccessException.htmlIllegalArgumentException.htmlIllegalCallerException.htmlIllegalMonitorStateException.htmlIllegalStateException.htmlIllegalThreadStateException.htmlIncompatibleClassChangeError.htmlIndexOutOfBoundsException.htmlInheritableThreadLocal.htmlInstantiationError.htmlInstantiationException.htmlInteger.htmlInternalError.htmlInterruptedException.htmlIterable.htmlLayerInstantiationException.htmlLinkageError.htmlLong.htmlMath.htmlModule.htmlModuleLayer.Controller.htmlModuleLayer.htmlNegativeArraySizeException.htmlNoClassDefFoundError.htmlNoSuchFieldError.htmlNoSuchFieldException.htmlNoSuchMethodError.htmlNoSuchMethodException.htmlNullPointerException.htmlNumber.htmlNumberFormatException.htmlObject.htmlOutOfMemoryError.htmlOverride.htmlPackage.htmlProcess.htmlProcessBuilder.Redirect.Type.htmlProcessBuilder.Redirect.htmlProcessBuilder.htmlProcessHandle.Info.htmlProcessHandle.htmlReadable.htmlReflectiveOperationException.htmlRunnable.htmlRuntime.Version.htmlRuntime.htmlRuntimeException.htmlRuntimePermission.htmlSafeVarargs.htmlSecurityException.htmlSecurityManager.htmlShort.htmlStackOverflowError.htmlStackTraceElement.htmlStackWalker.Option.htmlStackWalker.StackFrame.htmlStackWalker.htmlStrictMath.htmlString.htmlStringBuffer.htmlStringBuilder.htmlStringIndexOutOfBoundsException.htmlSuppressWarnings.htmlSystem.Logger.Level.htmlSystem.Logger.htmlSystem.LoggerFinder.htmlSystem.htmlThread.State.htmlThread.UncaughtExceptionHandler.htmlThread.htmlThreadDeath.htmlThreadGroup.htmlThreadLocal.htmlThrowable.htmlTypeNotPresentException.htmlUnknownError.htmlUnsatisfiedLinkError.htmlUnsupportedClassVersionError.htmlUnsupportedOperationException.htmlVerifyError.htmlVirtualMachineError.htmlVoid.htmldoc-filesValueBased.htmlthreadPrimitiveDeprecation.htmlinvokeCallSite.htmlConstantBootstraps.htmlConstantCallSite.htmlLambdaConversionException.htmlLambdaMetafactory.htmlMethodHandle.htmlMethodHandleInfo.htmlMethodHandleProxies.htmlMethodHandles.Lookup.htmlMethodHandles.htmlMethodType.htmlMutableCallSite.htmlSerializedLambda.htmlStringConcatException.htmlStringConcatFactory.htmlSwitchPoint.htmlVarHandle.AccessMode.htmlVarHandle.htmlVolatileCallSite.htmlWrongMethodTypeException.htmlclass-useCallSite.htmlConstantBootstraps.htmlConstantCallSite.htmlLambdaConversionException.htmlLambdaMetafactory.htmlMethodHandle.htmlMethodHandleInfo.htmlMethodHandleProxies.htmlMethodHandles.Lookup.htmlMethodHandles.htmlMethodType.htmlMutableCallSite.htmlSerializedLambda.htmlStringConcatException.htmlStringConcatFactory.htmlSwitchPoint.htmlVarHandle.AccessMode.htmlVarHandle.htmlVolatileCallSite.htmlWrongMethodTypeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmoduleConfiguration.htmlFindException.htmlInvalidModuleDescriptorException.htmlModuleDescriptor.Builder.htmlModuleDescriptor.Exports.Modifier.htmlModuleDescriptor.Exports.htmlModuleDescriptor.Modifier.htmlModuleDescriptor.Opens.Modifier.htmlModuleDescriptor.Opens.htmlModuleDescriptor.Provides.htmlModuleDescriptor.Requires.Modifier.htmlModuleDescriptor.Requires.htmlModuleDescriptor.Version.htmlModuleDescriptor.htmlModuleFinder.htmlModuleReader.htmlModuleReference.htmlResolutionException.htmlResolvedModule.htmlclass-useConfiguration.htmlFindException.htmlInvalidModuleDescriptorException.htmlModuleDescriptor.Builder.htmlModuleDescriptor.Exports.Modifier.htmlModuleDescriptor.Exports.htmlModuleDescriptor.Modifier.htmlModuleDescriptor.Opens.Modifier.htmlModuleDescriptor.Opens.htmlModuleDescriptor.Provides.htmlModuleDescriptor.Requires.Modifier.htmlModuleDescriptor.Requires.htmlModuleDescriptor.Version.htmlModuleDescriptor.htmlModuleFinder.htmlModuleReader.htmlModuleReference.htmlResolutionException.htmlResolvedModule.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrefCleaner.Cleanable.htmlCleaner.htmlPhantomReference.htmlReference.htmlReferenceQueue.htmlSoftReference.htmlWeakReference.htmlclass-useCleaner.Cleanable.htmlCleaner.htmlPhantomReference.htmlReference.htmlReferenceQueue.htmlSoftReference.htmlWeakReference.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlreflectAccessibleObject.htmlAnnotatedArrayType.htmlAnnotatedElement.htmlAnnotatedParameterizedType.htmlAnnotatedType.htmlAnnotatedTypeVariable.htmlAnnotatedWildcardType.htmlArray.htmlConstructor.htmlExecutable.htmlField.htmlGenericArrayType.htmlGenericDeclaration.htmlGenericSignatureFormatError.htmlInaccessibleObjectException.htmlInvocationHandler.htmlInvocationTargetException.htmlMalformedParameterizedTypeException.htmlMalformedParametersException.htmlMember.htmlMethod.htmlModifier.htmlParameter.htmlParameterizedType.htmlProxy.htmlReflectPermission.htmlType.htmlTypeVariable.htmlUndeclaredThrowableException.htmlWildcardType.htmlclass-useAccessibleObject.htmlAnnotatedArrayType.htmlAnnotatedElement.htmlAnnotatedParameterizedType.htmlAnnotatedType.htmlAnnotatedTypeVariable.htmlAnnotatedWildcardType.htmlArray.htmlConstructor.htmlExecutable.htmlField.htmlGenericArrayType.htmlGenericDeclaration.htmlGenericSignatureFormatError.htmlInaccessibleObjectException.htmlInvocationHandler.htmlInvocationTargetException.htmlMalformedParameterizedTypeException.htmlMalformedParametersException.htmlMember.htmlMethod.htmlModifier.htmlParameter.htmlParameterizedType.htmlProxy.htmlReflectPermission.htmlType.htmlTypeVariable.htmlUndeclaredThrowableException.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmathBigDecimal.htmlBigInteger.htmlMathContext.htmlRoundingMode.htmlclass-useBigDecimal.htmlBigInteger.htmlMathContext.htmlRoundingMode.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnetAuthenticator.RequestorType.htmlAuthenticator.htmlBindException.htmlCacheRequest.htmlCacheResponse.htmlConnectException.htmlContentHandler.htmlContentHandlerFactory.htmlCookieHandler.htmlCookieManager.htmlCookiePolicy.htmlCookieStore.htmlDatagramPacket.htmlDatagramSocket.htmlDatagramSocketImpl.htmlDatagramSocketImplFactory.htmlFileNameMap.htmlHttpCookie.htmlHttpRetryException.htmlHttpURLConnection.htmlIDN.htmlInet4Address.htmlInet6Address.htmlInetAddress.htmlInetSocketAddress.htmlInterfaceAddress.htmlJarURLConnection.htmlMalformedURLException.htmlMulticastSocket.htmlNetPermission.htmlNetworkInterface.htmlNoRouteToHostException.htmlPasswordAuthentication.htmlPortUnreachableException.htmlProtocolException.htmlProtocolFamily.htmlProxy.Type.htmlProxy.htmlProxySelector.htmlResponseCache.htmlSecureCacheResponse.htmlServerSocket.htmlSocket.htmlSocketAddress.htmlSocketException.htmlSocketImpl.htmlSocketImplFactory.htmlSocketOption.htmlSocketOptions.htmlSocketPermission.htmlSocketTimeoutException.htmlStandardProtocolFamily.htmlStandardSocketOptions.htmlURI.htmlURISyntaxException.htmlURL.htmlURLClassLoader.htmlURLConnection.htmlURLDecoder.htmlURLEncoder.htmlURLPermission.htmlURLStreamHandler.htmlURLStreamHandlerFactory.htmlUnknownHostException.htmlUnknownServiceException.htmlclass-useAuthenticator.RequestorType.htmlAuthenticator.htmlBindException.htmlCacheRequest.htmlCacheResponse.htmlConnectException.htmlContentHandler.htmlContentHandlerFactory.htmlCookieHandler.htmlCookieManager.htmlCookiePolicy.htmlCookieStore.htmlDatagramPacket.htmlDatagramSocket.htmlDatagramSocketImpl.htmlDatagramSocketImplFactory.htmlFileNameMap.htmlHttpCookie.htmlHttpRetryException.htmlHttpURLConnection.htmlIDN.htmlInet4Address.htmlInet6Address.htmlInetAddress.htmlInetSocketAddress.htmlInterfaceAddress.htmlJarURLConnection.htmlMalformedURLException.htmlMulticastSocket.htmlNetPermission.htmlNetworkInterface.htmlNoRouteToHostException.htmlPasswordAuthentication.htmlPortUnreachableException.htmlProtocolException.htmlProtocolFamily.htmlProxy.Type.htmlProxy.htmlProxySelector.htmlResponseCache.htmlSecureCacheResponse.htmlServerSocket.htmlSocket.htmlSocketAddress.htmlSocketException.htmlSocketImpl.htmlSocketImplFactory.htmlSocketOption.htmlSocketOptions.htmlSocketPermission.htmlSocketTimeoutException.htmlStandardProtocolFamily.htmlStandardSocketOptions.htmlURI.htmlURISyntaxException.htmlURL.htmlURLClassLoader.htmlURLConnection.htmlURLDecoder.htmlURLEncoder.htmlURLPermission.htmlURLStreamHandler.htmlURLStreamHandlerFactory.htmlUnknownHostException.htmlUnknownServiceException.htmldoc-filesnet-properties.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiURLStreamHandlerProvider.htmlclass-useURLStreamHandlerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnioBuffer.htmlBufferOverflowException.htmlBufferUnderflowException.htmlByteBuffer.htmlByteOrder.htmlCharBuffer.htmlDoubleBuffer.htmlFloatBuffer.htmlIntBuffer.htmlInvalidMarkException.htmlLongBuffer.htmlMappedByteBuffer.htmlReadOnlyBufferException.htmlShortBuffer.htmlchannelsAcceptPendingException.htmlAlreadyBoundException.htmlAlreadyConnectedException.htmlAsynchronousByteChannel.htmlAsynchronousChannel.htmlAsynchronousChannelGroup.htmlAsynchronousCloseException.htmlAsynchronousFileChannel.htmlAsynchronousServerSocketChannel.htmlAsynchronousSocketChannel.htmlByteChannel.htmlCancelledKeyException.htmlChannel.htmlChannels.htmlClosedByInterruptException.htmlClosedChannelException.htmlClosedSelectorException.htmlCompletionHandler.htmlConnectionPendingException.htmlDatagramChannel.htmlFileChannel.MapMode.htmlFileChannel.htmlFileLock.htmlFileLockInterruptionException.htmlGatheringByteChannel.htmlIllegalBlockingModeException.htmlIllegalChannelGroupException.htmlIllegalSelectorException.htmlInterruptedByTimeoutException.htmlInterruptibleChannel.htmlMembershipKey.htmlMulticastChannel.htmlNetworkChannel.htmlNoConnectionPendingException.htmlNonReadableChannelException.htmlNonWritableChannelException.htmlNotYetBoundException.htmlNotYetConnectedException.htmlOverlappingFileLockException.htmlPipe.SinkChannel.htmlPipe.SourceChannel.htmlPipe.htmlReadPendingException.htmlReadableByteChannel.htmlScatteringByteChannel.htmlSeekableByteChannel.htmlSelectableChannel.htmlSelectionKey.htmlSelector.htmlServerSocketChannel.htmlShutdownChannelGroupException.htmlSocketChannel.htmlUnresolvedAddressException.htmlUnsupportedAddressTypeException.htmlWritableByteChannel.htmlWritePendingException.htmlclass-useAcceptPendingException.htmlAlreadyBoundException.htmlAlreadyConnectedException.htmlAsynchronousByteChannel.htmlAsynchronousChannel.htmlAsynchronousChannelGroup.htmlAsynchronousCloseException.htmlAsynchronousFileChannel.htmlAsynchronousServerSocketChannel.htmlAsynchronousSocketChannel.htmlByteChannel.htmlCancelledKeyException.htmlChannel.htmlChannels.htmlClosedByInterruptException.htmlClosedChannelException.htmlClosedSelectorException.htmlCompletionHandler.htmlConnectionPendingException.htmlDatagramChannel.htmlFileChannel.MapMode.htmlFileChannel.htmlFileLock.htmlFileLockInterruptionException.htmlGatheringByteChannel.htmlIllegalBlockingModeException.htmlIllegalChannelGroupException.htmlIllegalSelectorException.htmlInterruptedByTimeoutException.htmlInterruptibleChannel.htmlMembershipKey.htmlMulticastChannel.htmlNetworkChannel.htmlNoConnectionPendingException.htmlNonReadableChannelException.htmlNonWritableChannelException.htmlNotYetBoundException.htmlNotYetConnectedException.htmlOverlappingFileLockException.htmlPipe.SinkChannel.htmlPipe.SourceChannel.htmlPipe.htmlReadPendingException.htmlReadableByteChannel.htmlScatteringByteChannel.htmlSeekableByteChannel.htmlSelectableChannel.htmlSelectionKey.htmlSelector.htmlServerSocketChannel.htmlShutdownChannelGroupException.htmlSocketChannel.htmlUnresolvedAddressException.htmlUnsupportedAddressTypeException.htmlWritableByteChannel.htmlWritePendingException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAbstractInterruptibleChannel.htmlAbstractSelectableChannel.htmlAbstractSelectionKey.htmlAbstractSelector.htmlAsynchronousChannelProvider.htmlSelectorProvider.htmlclass-useAbstractInterruptibleChannel.htmlAbstractSelectableChannel.htmlAbstractSelectionKey.htmlAbstractSelector.htmlAsynchronousChannelProvider.htmlSelectorProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcharsetCharacterCodingException.htmlCharset.htmlCharsetDecoder.htmlCharsetEncoder.htmlCoderMalfunctionError.htmlCoderResult.htmlCodingErrorAction.htmlIllegalCharsetNameException.htmlMalformedInputException.htmlStandardCharsets.htmlUnmappableCharacterException.htmlUnsupportedCharsetException.htmlclass-useCharacterCodingException.htmlCharset.htmlCharsetDecoder.htmlCharsetEncoder.htmlCoderMalfunctionError.htmlCoderResult.htmlCodingErrorAction.htmlIllegalCharsetNameException.htmlMalformedInputException.htmlStandardCharsets.htmlUnmappableCharacterException.htmlUnsupportedCharsetException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiCharsetProvider.htmlclass-useCharsetProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useBuffer.htmlBufferOverflowException.htmlBufferUnderflowException.htmlByteBuffer.htmlByteOrder.htmlCharBuffer.htmlDoubleBuffer.htmlFloatBuffer.htmlIntBuffer.htmlInvalidMarkException.htmlLongBuffer.htmlMappedByteBuffer.htmlReadOnlyBufferException.htmlShortBuffer.htmlfileAccessDeniedException.htmlAccessMode.htmlAtomicMoveNotSupportedException.htmlClosedDirectoryStreamException.htmlClosedFileSystemException.htmlClosedWatchServiceException.htmlCopyOption.htmlDirectoryIteratorException.htmlDirectoryNotEmptyException.htmlDirectoryStream.Filter.htmlDirectoryStream.htmlFileAlreadyExistsException.htmlFileStore.htmlFileSystem.htmlFileSystemAlreadyExistsException.htmlFileSystemException.htmlFileSystemLoopException.htmlFileSystemNotFoundException.htmlFileSystems.htmlFileVisitOption.htmlFileVisitResult.htmlFileVisitor.htmlFiles.htmlInvalidPathException.htmlLinkOption.htmlLinkPermission.htmlNoSuchFileException.htmlNotDirectoryException.htmlNotLinkException.htmlOpenOption.htmlPath.htmlPathMatcher.htmlPaths.htmlProviderMismatchException.htmlProviderNotFoundException.htmlReadOnlyFileSystemException.htmlSecureDirectoryStream.htmlSimpleFileVisitor.htmlStandardCopyOption.htmlStandardOpenOption.htmlStandardWatchEventKinds.htmlWatchEvent.Kind.htmlWatchEvent.Modifier.htmlWatchEvent.htmlWatchKey.htmlWatchService.htmlWatchable.htmlattributeAclEntry.Builder.htmlAclEntry.htmlAclEntryFlag.htmlAclEntryPermission.htmlAclEntryType.htmlAclFileAttributeView.htmlAttributeView.htmlBasicFileAttributeView.htmlBasicFileAttributes.htmlDosFileAttributeView.htmlDosFileAttributes.htmlFileAttribute.htmlFileAttributeView.htmlFileOwnerAttributeView.htmlFileStoreAttributeView.htmlFileTime.htmlGroupPrincipal.htmlPosixFileAttributeView.htmlPosixFileAttributes.htmlPosixFilePermission.htmlPosixFilePermissions.htmlUserDefinedFileAttributeView.htmlUserPrincipal.htmlUserPrincipalLookupService.htmlUserPrincipalNotFoundException.htmlclass-useAclEntry.Builder.htmlAclEntry.htmlAclEntryFlag.htmlAclEntryPermission.htmlAclEntryType.htmlAclFileAttributeView.htmlAttributeView.htmlBasicFileAttributeView.htmlBasicFileAttributes.htmlDosFileAttributeView.htmlDosFileAttributes.htmlFileAttribute.htmlFileAttributeView.htmlFileOwnerAttributeView.htmlFileStoreAttributeView.htmlFileTime.htmlGroupPrincipal.htmlPosixFileAttributeView.htmlPosixFileAttributes.htmlPosixFilePermission.htmlPosixFilePermissions.htmlUserDefinedFileAttributeView.htmlUserPrincipal.htmlUserPrincipalLookupService.htmlUserPrincipalNotFoundException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessDeniedException.htmlAccessMode.htmlAtomicMoveNotSupportedException.htmlClosedDirectoryStreamException.htmlClosedFileSystemException.htmlClosedWatchServiceException.htmlCopyOption.htmlDirectoryIteratorException.htmlDirectoryNotEmptyException.htmlDirectoryStream.Filter.htmlDirectoryStream.htmlFileAlreadyExistsException.htmlFileStore.htmlFileSystem.htmlFileSystemAlreadyExistsException.htmlFileSystemException.htmlFileSystemLoopException.htmlFileSystemNotFoundException.htmlFileSystems.htmlFileVisitOption.htmlFileVisitResult.htmlFileVisitor.htmlFiles.htmlInvalidPathException.htmlLinkOption.htmlLinkPermission.htmlNoSuchFileException.htmlNotDirectoryException.htmlNotLinkException.htmlOpenOption.htmlPath.htmlPathMatcher.htmlPaths.htmlProviderMismatchException.htmlProviderNotFoundException.htmlReadOnlyFileSystemException.htmlSecureDirectoryStream.htmlSimpleFileVisitor.htmlStandardCopyOption.htmlStandardOpenOption.htmlStandardWatchEventKinds.htmlWatchEvent.Kind.htmlWatchEvent.Modifier.htmlWatchEvent.htmlWatchKey.htmlWatchService.htmlWatchable.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiFileSystemProvider.htmlFileTypeDetector.htmlclass-useFileSystemProvider.htmlFileTypeDetector.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsecurityAccessControlContext.htmlAccessControlException.htmlAccessController.htmlAlgorithmConstraints.htmlAlgorithmParameterGenerator.htmlAlgorithmParameterGeneratorSpi.htmlAlgorithmParameters.htmlAlgorithmParametersSpi.htmlAllPermission.htmlAuthProvider.htmlBasicPermission.htmlCertificate.htmlCodeSigner.htmlCodeSource.htmlCryptoPrimitive.htmlDigestException.htmlDigestInputStream.htmlDigestOutputStream.htmlDomainCombiner.htmlDomainLoadStoreParameter.htmlDrbgParameters.Capability.htmlDrbgParameters.Instantiation.htmlDrbgParameters.NextBytes.htmlDrbgParameters.Reseed.htmlDrbgParameters.htmlGeneralSecurityException.htmlGuard.htmlGuardedObject.htmlIdentity.htmlIdentityScope.htmlInvalidAlgorithmParameterException.htmlInvalidKeyException.htmlInvalidParameterException.htmlKey.htmlKeyException.htmlKeyFactory.htmlKeyFactorySpi.htmlKeyManagementException.htmlKeyPair.htmlKeyPairGenerator.htmlKeyPairGeneratorSpi.htmlKeyRep.Type.htmlKeyRep.htmlKeyStore.Builder.htmlKeyStore.CallbackHandlerProtection.htmlKeyStore.Entry.Attribute.htmlKeyStore.Entry.htmlKeyStore.LoadStoreParameter.htmlKeyStore.PasswordProtection.htmlKeyStore.PrivateKeyEntry.htmlKeyStore.ProtectionParameter.htmlKeyStore.SecretKeyEntry.htmlKeyStore.TrustedCertificateEntry.htmlKeyStore.htmlKeyStoreException.htmlKeyStoreSpi.htmlMessageDigest.htmlMessageDigestSpi.htmlNoSuchAlgorithmException.htmlNoSuchProviderException.htmlPKCS12Attribute.htmlPermission.htmlPermissionCollection.htmlPermissions.htmlPolicy.Parameters.htmlPolicy.htmlPolicySpi.htmlPrincipal.htmlPrivateKey.htmlPrivilegedAction.htmlPrivilegedActionException.htmlPrivilegedExceptionAction.htmlProtectionDomain.htmlProvider.Service.htmlProvider.htmlProviderException.htmlPublicKey.htmlSecureClassLoader.htmlSecureRandom.htmlSecureRandomParameters.htmlSecureRandomSpi.htmlSecurity.htmlSecurityPermission.htmlSignature.htmlSignatureException.htmlSignatureSpi.htmlSignedObject.htmlSigner.htmlTimestamp.htmlURIParameter.htmlUnrecoverableEntryException.htmlUnrecoverableKeyException.htmlUnresolvedPermission.htmlaclAcl.htmlAclEntry.htmlAclNotFoundException.htmlGroup.htmlLastOwnerException.htmlNotOwnerException.htmlOwner.htmlPermission.htmlclass-useAcl.htmlAclEntry.htmlAclNotFoundException.htmlGroup.htmlLastOwnerException.htmlNotOwnerException.htmlOwner.htmlPermission.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcertCRL.htmlCRLException.htmlCRLReason.htmlCRLSelector.htmlCertPath.CertPathRep.htmlCertPath.htmlCertPathBuilder.htmlCertPathBuilderException.htmlCertPathBuilderResult.htmlCertPathBuilderSpi.htmlCertPathChecker.htmlCertPathParameters.htmlCertPathValidator.htmlCertPathValidatorException.BasicReason.htmlCertPathValidatorException.Reason.htmlCertPathValidatorException.htmlCertPathValidatorResult.htmlCertPathValidatorSpi.htmlCertSelector.htmlCertStore.htmlCertStoreException.htmlCertStoreParameters.htmlCertStoreSpi.htmlCertificate.CertificateRep.htmlCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateFactory.htmlCertificateFactorySpi.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlCertificateRevokedException.htmlCollectionCertStoreParameters.htmlExtension.htmlLDAPCertStoreParameters.htmlPKIXBuilderParameters.htmlPKIXCertPathBuilderResult.htmlPKIXCertPathChecker.htmlPKIXCertPathValidatorResult.htmlPKIXParameters.htmlPKIXReason.htmlPKIXRevocationChecker.Option.htmlPKIXRevocationChecker.htmlPolicyNode.htmlPolicyQualifierInfo.htmlTrustAnchor.htmlURICertStoreParameters.htmlX509CRL.htmlX509CRLEntry.htmlX509CRLSelector.htmlX509CertSelector.htmlX509Certificate.htmlX509Extension.htmlclass-useCRL.htmlCRLException.htmlCRLReason.htmlCRLSelector.htmlCertPath.CertPathRep.htmlCertPath.htmlCertPathBuilder.htmlCertPathBuilderException.htmlCertPathBuilderResult.htmlCertPathBuilderSpi.htmlCertPathChecker.htmlCertPathParameters.htmlCertPathValidator.htmlCertPathValidatorException.BasicReason.htmlCertPathValidatorException.Reason.htmlCertPathValidatorException.htmlCertPathValidatorResult.htmlCertPathValidatorSpi.htmlCertSelector.htmlCertStore.htmlCertStoreException.htmlCertStoreParameters.htmlCertStoreSpi.htmlCertificate.CertificateRep.htmlCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateFactory.htmlCertificateFactorySpi.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlCertificateRevokedException.htmlCollectionCertStoreParameters.htmlExtension.htmlLDAPCertStoreParameters.htmlPKIXBuilderParameters.htmlPKIXCertPathBuilderResult.htmlPKIXCertPathChecker.htmlPKIXCertPathValidatorResult.htmlPKIXParameters.htmlPKIXReason.htmlPKIXRevocationChecker.Option.htmlPKIXRevocationChecker.htmlPolicyNode.htmlPolicyQualifierInfo.htmlTrustAnchor.htmlURICertStoreParameters.htmlX509CRL.htmlX509CRLEntry.htmlX509CRLSelector.htmlX509CertSelector.htmlX509Certificate.htmlX509Extension.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessControlContext.htmlAccessControlException.htmlAccessController.htmlAlgorithmConstraints.htmlAlgorithmParameterGenerator.htmlAlgorithmParameterGeneratorSpi.htmlAlgorithmParameters.htmlAlgorithmParametersSpi.htmlAllPermission.htmlAuthProvider.htmlBasicPermission.htmlCertificate.htmlCodeSigner.htmlCodeSource.htmlCryptoPrimitive.htmlDigestException.htmlDigestInputStream.htmlDigestOutputStream.htmlDomainCombiner.htmlDomainLoadStoreParameter.htmlDrbgParameters.Capability.htmlDrbgParameters.Instantiation.htmlDrbgParameters.NextBytes.htmlDrbgParameters.Reseed.htmlDrbgParameters.htmlGeneralSecurityException.htmlGuard.htmlGuardedObject.htmlIdentity.htmlIdentityScope.htmlInvalidAlgorithmParameterException.htmlInvalidKeyException.htmlInvalidParameterException.htmlKey.htmlKeyException.htmlKeyFactory.htmlKeyFactorySpi.htmlKeyManagementException.htmlKeyPair.htmlKeyPairGenerator.htmlKeyPairGeneratorSpi.htmlKeyRep.Type.htmlKeyRep.htmlKeyStore.Builder.htmlKeyStore.CallbackHandlerProtection.htmlKeyStore.Entry.Attribute.htmlKeyStore.Entry.htmlKeyStore.LoadStoreParameter.htmlKeyStore.PasswordProtection.htmlKeyStore.PrivateKeyEntry.htmlKeyStore.ProtectionParameter.htmlKeyStore.SecretKeyEntry.htmlKeyStore.TrustedCertificateEntry.htmlKeyStore.htmlKeyStoreException.htmlKeyStoreSpi.htmlMessageDigest.htmlMessageDigestSpi.htmlNoSuchAlgorithmException.htmlNoSuchProviderException.htmlPKCS12Attribute.htmlPermission.htmlPermissionCollection.htmlPermissions.htmlPolicy.Parameters.htmlPolicy.htmlPolicySpi.htmlPrincipal.htmlPrivateKey.htmlPrivilegedAction.htmlPrivilegedActionException.htmlPrivilegedExceptionAction.htmlProtectionDomain.htmlProvider.Service.htmlProvider.htmlProviderException.htmlPublicKey.htmlSecureClassLoader.htmlSecureRandom.htmlSecureRandomParameters.htmlSecureRandomSpi.htmlSecurity.htmlSecurityPermission.htmlSignature.htmlSignatureException.htmlSignatureSpi.htmlSignedObject.htmlSigner.htmlTimestamp.htmlURIParameter.htmlUnrecoverableEntryException.htmlUnrecoverableKeyException.htmlUnresolvedPermission.htmlinterfacesDSAKey.htmlDSAKeyPairGenerator.htmlDSAParams.htmlDSAPrivateKey.htmlDSAPublicKey.htmlECKey.htmlECPrivateKey.htmlECPublicKey.htmlRSAKey.htmlRSAMultiPrimePrivateCrtKey.htmlRSAPrivateCrtKey.htmlRSAPrivateKey.htmlRSAPublicKey.htmlXECKey.htmlXECPrivateKey.htmlXECPublicKey.htmlclass-useDSAKey.htmlDSAKeyPairGenerator.htmlDSAParams.htmlDSAPrivateKey.htmlDSAPublicKey.htmlECKey.htmlECPrivateKey.htmlECPublicKey.htmlRSAKey.htmlRSAMultiPrimePrivateCrtKey.htmlRSAPrivateCrtKey.htmlRSAPrivateKey.htmlRSAPublicKey.htmlXECKey.htmlXECPrivateKey.htmlXECPublicKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecAlgorithmParameterSpec.htmlDSAGenParameterSpec.htmlDSAParameterSpec.htmlDSAPrivateKeySpec.htmlDSAPublicKeySpec.htmlECField.htmlECFieldF2m.htmlECFieldFp.htmlECGenParameterSpec.htmlECParameterSpec.htmlECPoint.htmlECPrivateKeySpec.htmlECPublicKeySpec.htmlEllipticCurve.htmlEncodedKeySpec.htmlInvalidKeySpecException.htmlInvalidParameterSpecException.htmlKeySpec.htmlMGF1ParameterSpec.htmlNamedParameterSpec.htmlPKCS8EncodedKeySpec.htmlPSSParameterSpec.htmlRSAKeyGenParameterSpec.htmlRSAMultiPrimePrivateCrtKeySpec.htmlRSAOtherPrimeInfo.htmlRSAPrivateCrtKeySpec.htmlRSAPrivateKeySpec.htmlRSAPublicKeySpec.htmlX509EncodedKeySpec.htmlXECPrivateKeySpec.htmlXECPublicKeySpec.htmlclass-useAlgorithmParameterSpec.htmlDSAGenParameterSpec.htmlDSAParameterSpec.htmlDSAPrivateKeySpec.htmlDSAPublicKeySpec.htmlECField.htmlECFieldF2m.htmlECFieldFp.htmlECGenParameterSpec.htmlECParameterSpec.htmlECPoint.htmlECPrivateKeySpec.htmlECPublicKeySpec.htmlEllipticCurve.htmlEncodedKeySpec.htmlInvalidKeySpecException.htmlInvalidParameterSpecException.htmlKeySpec.htmlMGF1ParameterSpec.htmlNamedParameterSpec.htmlPKCS8EncodedKeySpec.htmlPSSParameterSpec.htmlRSAKeyGenParameterSpec.htmlRSAMultiPrimePrivateCrtKeySpec.htmlRSAOtherPrimeInfo.htmlRSAPrivateCrtKeySpec.htmlRSAPrivateKeySpec.htmlRSAPublicKeySpec.htmlX509EncodedKeySpec.htmlXECPrivateKeySpec.htmlXECPublicKeySpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltextAnnotation.htmlAttributedCharacterIterator.Attribute.htmlAttributedCharacterIterator.htmlAttributedString.htmlBidi.htmlBreakIterator.htmlCharacterIterator.htmlChoiceFormat.htmlCollationElementIterator.htmlCollationKey.htmlCollator.htmlDateFormat.Field.htmlDateFormat.htmlDateFormatSymbols.htmlDecimalFormat.htmlDecimalFormatSymbols.htmlFieldPosition.htmlFormat.Field.htmlFormat.htmlMessageFormat.Field.htmlMessageFormat.htmlNormalizer.Form.htmlNormalizer.htmlNumberFormat.Field.htmlNumberFormat.htmlParseException.htmlParsePosition.htmlRuleBasedCollator.htmlSimpleDateFormat.htmlStringCharacterIterator.htmlclass-useAnnotation.htmlAttributedCharacterIterator.Attribute.htmlAttributedCharacterIterator.htmlAttributedString.htmlBidi.htmlBreakIterator.htmlCharacterIterator.htmlChoiceFormat.htmlCollationElementIterator.htmlCollationKey.htmlCollator.htmlDateFormat.Field.htmlDateFormat.htmlDateFormatSymbols.htmlDecimalFormat.htmlDecimalFormatSymbols.htmlFieldPosition.htmlFormat.Field.htmlFormat.htmlMessageFormat.Field.htmlMessageFormat.htmlNormalizer.Form.htmlNormalizer.htmlNumberFormat.Field.htmlNumberFormat.htmlParseException.htmlParsePosition.htmlRuleBasedCollator.htmlSimpleDateFormat.htmlStringCharacterIterator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiBreakIteratorProvider.htmlCollatorProvider.htmlDateFormatProvider.htmlDateFormatSymbolsProvider.htmlDecimalFormatSymbolsProvider.htmlNumberFormatProvider.htmlclass-useBreakIteratorProvider.htmlCollatorProvider.htmlDateFormatProvider.htmlDateFormatSymbolsProvider.htmlDecimalFormatSymbolsProvider.htmlNumberFormatProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltimeClock.htmlDateTimeException.htmlDayOfWeek.htmlDuration.htmlInstant.htmlLocalDate.htmlLocalDateTime.htmlLocalTime.htmlMonth.htmlMonthDay.htmlOffsetDateTime.htmlOffsetTime.htmlPeriod.htmlYear.htmlYearMonth.htmlZoneId.htmlZoneOffset.htmlZonedDateTime.htmlchronoAbstractChronology.htmlChronoLocalDate.htmlChronoLocalDateTime.htmlChronoPeriod.htmlChronoZonedDateTime.htmlChronology.htmlEra.htmlHijrahChronology.htmlHijrahDate.htmlHijrahEra.htmlIsoChronology.htmlIsoEra.htmlJapaneseChronology.htmlJapaneseDate.htmlJapaneseEra.htmlMinguoChronology.htmlMinguoDate.htmlMinguoEra.htmlThaiBuddhistChronology.htmlThaiBuddhistDate.htmlThaiBuddhistEra.htmlclass-useAbstractChronology.htmlChronoLocalDate.htmlChronoLocalDateTime.htmlChronoPeriod.htmlChronoZonedDateTime.htmlChronology.htmlEra.htmlHijrahChronology.htmlHijrahDate.htmlHijrahEra.htmlIsoChronology.htmlIsoEra.htmlJapaneseChronology.htmlJapaneseDate.htmlJapaneseEra.htmlMinguoChronology.htmlMinguoDate.htmlMinguoEra.htmlThaiBuddhistChronology.htmlThaiBuddhistDate.htmlThaiBuddhistEra.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useClock.htmlDateTimeException.htmlDayOfWeek.htmlDuration.htmlInstant.htmlLocalDate.htmlLocalDateTime.htmlLocalTime.htmlMonth.htmlMonthDay.htmlOffsetDateTime.htmlOffsetTime.htmlPeriod.htmlYear.htmlYearMonth.htmlZoneId.htmlZoneOffset.htmlZonedDateTime.htmlformatDateTimeFormatter.htmlDateTimeFormatterBuilder.htmlDateTimeParseException.htmlDecimalStyle.htmlFormatStyle.htmlResolverStyle.htmlSignStyle.htmlTextStyle.htmlclass-useDateTimeFormatter.htmlDateTimeFormatterBuilder.htmlDateTimeParseException.htmlDecimalStyle.htmlFormatStyle.htmlResolverStyle.htmlSignStyle.htmlTextStyle.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltemporalChronoField.htmlChronoUnit.htmlIsoFields.htmlJulianFields.htmlTemporal.htmlTemporalAccessor.htmlTemporalAdjuster.htmlTemporalAdjusters.htmlTemporalAmount.htmlTemporalField.htmlTemporalQueries.htmlTemporalQuery.htmlTemporalUnit.htmlUnsupportedTemporalTypeException.htmlValueRange.htmlWeekFields.htmlclass-useChronoField.htmlChronoUnit.htmlIsoFields.htmlJulianFields.htmlTemporal.htmlTemporalAccessor.htmlTemporalAdjuster.htmlTemporalAdjusters.htmlTemporalAmount.htmlTemporalField.htmlTemporalQueries.htmlTemporalQuery.htmlTemporalUnit.htmlUnsupportedTemporalTypeException.htmlValueRange.htmlWeekFields.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlzoneZoneOffsetTransition.htmlZoneOffsetTransitionRule.TimeDefinition.htmlZoneOffsetTransitionRule.htmlZoneRules.htmlZoneRulesException.htmlZoneRulesProvider.htmlclass-useZoneOffsetTransition.htmlZoneOffsetTransitionRule.TimeDefinition.htmlZoneOffsetTransitionRule.htmlZoneRules.htmlZoneRulesException.htmlZoneRulesProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilAbstractCollection.htmlAbstractList.htmlAbstractMap.SimpleEntry.htmlAbstractMap.SimpleImmutableEntry.htmlAbstractMap.htmlAbstractQueue.htmlAbstractSequentialList.htmlAbstractSet.htmlArrayDeque.htmlArrayList.htmlArrays.htmlBase64.Decoder.htmlBase64.Encoder.htmlBase64.htmlBitSet.htmlCalendar.Builder.htmlCalendar.htmlCollection.htmlCollections.htmlComparator.htmlConcurrentModificationException.htmlCurrency.htmlDate.htmlDeque.htmlDictionary.htmlDoubleSummaryStatistics.htmlDuplicateFormatFlagsException.htmlEmptyStackException.htmlEnumMap.htmlEnumSet.htmlEnumeration.htmlEventListener.htmlEventListenerProxy.htmlEventObject.htmlFormatFlagsConversionMismatchException.htmlFormattable.htmlFormattableFlags.htmlFormatter.BigDecimalLayoutForm.htmlFormatter.htmlFormatterClosedException.htmlGregorianCalendar.htmlHashMap.htmlHashSet.htmlHashtable.htmlIdentityHashMap.htmlIllegalFormatCodePointException.htmlIllegalFormatConversionException.htmlIllegalFormatException.htmlIllegalFormatFlagsException.htmlIllegalFormatPrecisionException.htmlIllegalFormatWidthException.htmlIllformedLocaleException.htmlInputMismatchException.htmlIntSummaryStatistics.htmlInvalidPropertiesFormatException.htmlIterator.htmlLinkedHashMap.htmlLinkedHashSet.htmlLinkedList.htmlList.htmlListIterator.htmlListResourceBundle.htmlLocale.Builder.htmlLocale.Category.htmlLocale.FilteringMode.htmlLocale.IsoCountryCode.htmlLocale.LanguageRange.htmlLocale.htmlLongSummaryStatistics.htmlMap.Entry.htmlMap.htmlMissingFormatArgumentException.htmlMissingFormatWidthException.htmlMissingResourceException.htmlNavigableMap.htmlNavigableSet.htmlNoSuchElementException.htmlObjects.htmlObservable.htmlObserver.htmlOptional.htmlOptionalDouble.htmlOptionalInt.htmlOptionalLong.htmlPrimitiveIterator.OfDouble.htmlPrimitiveIterator.OfInt.htmlPrimitiveIterator.OfLong.htmlPrimitiveIterator.htmlPriorityQueue.htmlProperties.htmlPropertyPermission.htmlPropertyResourceBundle.htmlQueue.htmlRandom.htmlRandomAccess.htmlResourceBundle.Control.htmlResourceBundle.htmlScanner.htmlServiceConfigurationError.htmlServiceLoader.Provider.htmlServiceLoader.htmlSet.htmlSimpleTimeZone.htmlSortedMap.htmlSortedSet.htmlSpliterator.OfDouble.htmlSpliterator.OfInt.htmlSpliterator.OfLong.htmlSpliterator.OfPrimitive.htmlSpliterator.htmlSpliterators.AbstractDoubleSpliterator.htmlSpliterators.AbstractIntSpliterator.htmlSpliterators.AbstractLongSpliterator.htmlSpliterators.AbstractSpliterator.htmlSpliterators.htmlSplittableRandom.htmlStack.htmlStringJoiner.htmlStringTokenizer.htmlTimeZone.htmlTimer.htmlTimerTask.htmlTooManyListenersException.htmlTreeMap.htmlTreeSet.htmlUUID.htmlUnknownFormatConversionException.htmlUnknownFormatFlagsException.htmlVector.htmlWeakHashMap.htmlclass-useAbstractCollection.htmlAbstractList.htmlAbstractMap.SimpleEntry.htmlAbstractMap.SimpleImmutableEntry.htmlAbstractMap.htmlAbstractQueue.htmlAbstractSequentialList.htmlAbstractSet.htmlArrayDeque.htmlArrayList.htmlArrays.htmlBase64.Decoder.htmlBase64.Encoder.htmlBase64.htmlBitSet.htmlCalendar.Builder.htmlCalendar.htmlCollection.htmlCollections.htmlComparator.htmlConcurrentModificationException.htmlCurrency.htmlDate.htmlDeque.htmlDictionary.htmlDoubleSummaryStatistics.htmlDuplicateFormatFlagsException.htmlEmptyStackException.htmlEnumMap.htmlEnumSet.htmlEnumeration.htmlEventListener.htmlEventListenerProxy.htmlEventObject.htmlFormatFlagsConversionMismatchException.htmlFormattable.htmlFormattableFlags.htmlFormatter.BigDecimalLayoutForm.htmlFormatter.htmlFormatterClosedException.htmlGregorianCalendar.htmlHashMap.htmlHashSet.htmlHashtable.htmlIdentityHashMap.htmlIllegalFormatCodePointException.htmlIllegalFormatConversionException.htmlIllegalFormatException.htmlIllegalFormatFlagsException.htmlIllegalFormatPrecisionException.htmlIllegalFormatWidthException.htmlIllformedLocaleException.htmlInputMismatchException.htmlIntSummaryStatistics.htmlInvalidPropertiesFormatException.htmlIterator.htmlLinkedHashMap.htmlLinkedHashSet.htmlLinkedList.htmlList.htmlListIterator.htmlListResourceBundle.htmlLocale.Builder.htmlLocale.Category.htmlLocale.FilteringMode.htmlLocale.IsoCountryCode.htmlLocale.LanguageRange.htmlLocale.htmlLongSummaryStatistics.htmlMap.Entry.htmlMap.htmlMissingFormatArgumentException.htmlMissingFormatWidthException.htmlMissingResourceException.htmlNavigableMap.htmlNavigableSet.htmlNoSuchElementException.htmlObjects.htmlObservable.htmlObserver.htmlOptional.htmlOptionalDouble.htmlOptionalInt.htmlOptionalLong.htmlPrimitiveIterator.OfDouble.htmlPrimitiveIterator.OfInt.htmlPrimitiveIterator.OfLong.htmlPrimitiveIterator.htmlPriorityQueue.htmlProperties.htmlPropertyPermission.htmlPropertyResourceBundle.htmlQueue.htmlRandom.htmlRandomAccess.htmlResourceBundle.Control.htmlResourceBundle.htmlScanner.htmlServiceConfigurationError.htmlServiceLoader.Provider.htmlServiceLoader.htmlSet.htmlSimpleTimeZone.htmlSortedMap.htmlSortedSet.htmlSpliterator.OfDouble.htmlSpliterator.OfInt.htmlSpliterator.OfLong.htmlSpliterator.OfPrimitive.htmlSpliterator.htmlSpliterators.AbstractDoubleSpliterator.htmlSpliterators.AbstractIntSpliterator.htmlSpliterators.AbstractLongSpliterator.htmlSpliterators.AbstractSpliterator.htmlSpliterators.htmlSplittableRandom.htmlStack.htmlStringJoiner.htmlStringTokenizer.htmlTimeZone.htmlTimer.htmlTimerTask.htmlTooManyListenersException.htmlTreeMap.htmlTreeSet.htmlUUID.htmlUnknownFormatConversionException.htmlUnknownFormatFlagsException.htmlVector.htmlWeakHashMap.htmlconcurrentAbstractExecutorService.htmlArrayBlockingQueue.htmlBlockingDeque.htmlBlockingQueue.htmlBrokenBarrierException.htmlCallable.htmlCancellationException.htmlCompletableFuture.AsynchronousCompletionTask.htmlCompletableFuture.htmlCompletionException.htmlCompletionService.htmlCompletionStage.htmlConcurrentHashMap.KeySetView.htmlConcurrentHashMap.htmlConcurrentLinkedDeque.htmlConcurrentLinkedQueue.htmlConcurrentMap.htmlConcurrentNavigableMap.htmlConcurrentSkipListMap.htmlConcurrentSkipListSet.htmlCopyOnWriteArrayList.htmlCopyOnWriteArraySet.htmlCountDownLatch.htmlCountedCompleter.htmlCyclicBarrier.htmlDelayQueue.htmlDelayed.htmlExchanger.htmlExecutionException.htmlExecutor.htmlExecutorCompletionService.htmlExecutorService.htmlExecutors.htmlFlow.Processor.htmlFlow.Publisher.htmlFlow.Subscriber.htmlFlow.Subscription.htmlFlow.htmlForkJoinPool.ForkJoinWorkerThreadFactory.htmlForkJoinPool.ManagedBlocker.htmlForkJoinPool.htmlForkJoinTask.htmlForkJoinWorkerThread.htmlFuture.htmlFutureTask.htmlLinkedBlockingDeque.htmlLinkedBlockingQueue.htmlLinkedTransferQueue.htmlPhaser.htmlPriorityBlockingQueue.htmlRecursiveAction.htmlRecursiveTask.htmlRejectedExecutionException.htmlRejectedExecutionHandler.htmlRunnableFuture.htmlRunnableScheduledFuture.htmlScheduledExecutorService.htmlScheduledFuture.htmlScheduledThreadPoolExecutor.htmlSemaphore.htmlSubmissionPublisher.htmlSynchronousQueue.htmlThreadFactory.htmlThreadLocalRandom.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.htmlTimeUnit.htmlTimeoutException.htmlTransferQueue.htmlatomicAtomicBoolean.htmlAtomicInteger.htmlAtomicIntegerArray.htmlAtomicIntegerFieldUpdater.htmlAtomicLong.htmlAtomicLongArray.htmlAtomicLongFieldUpdater.htmlAtomicMarkableReference.htmlAtomicReference.htmlAtomicReferenceArray.htmlAtomicReferenceFieldUpdater.htmlAtomicStampedReference.htmlDoubleAccumulator.htmlDoubleAdder.htmlLongAccumulator.htmlLongAdder.htmlclass-useAtomicBoolean.htmlAtomicInteger.htmlAtomicIntegerArray.htmlAtomicIntegerFieldUpdater.htmlAtomicLong.htmlAtomicLongArray.htmlAtomicLongFieldUpdater.htmlAtomicMarkableReference.htmlAtomicReference.htmlAtomicReferenceArray.htmlAtomicReferenceFieldUpdater.htmlAtomicStampedReference.htmlDoubleAccumulator.htmlDoubleAdder.htmlLongAccumulator.htmlLongAdder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractExecutorService.htmlArrayBlockingQueue.htmlBlockingDeque.htmlBlockingQueue.htmlBrokenBarrierException.htmlCallable.htmlCancellationException.htmlCompletableFuture.AsynchronousCompletionTask.htmlCompletableFuture.htmlCompletionException.htmlCompletionService.htmlCompletionStage.htmlConcurrentHashMap.KeySetView.htmlConcurrentHashMap.htmlConcurrentLinkedDeque.htmlConcurrentLinkedQueue.htmlConcurrentMap.htmlConcurrentNavigableMap.htmlConcurrentSkipListMap.htmlConcurrentSkipListSet.htmlCopyOnWriteArrayList.htmlCopyOnWriteArraySet.htmlCountDownLatch.htmlCountedCompleter.htmlCyclicBarrier.htmlDelayQueue.htmlDelayed.htmlExchanger.htmlExecutionException.htmlExecutor.htmlExecutorCompletionService.htmlExecutorService.htmlExecutors.htmlFlow.Processor.htmlFlow.Publisher.htmlFlow.Subscriber.htmlFlow.Subscription.htmlFlow.htmlForkJoinPool.ForkJoinWorkerThreadFactory.htmlForkJoinPool.ManagedBlocker.htmlForkJoinPool.htmlForkJoinTask.htmlForkJoinWorkerThread.htmlFuture.htmlFutureTask.htmlLinkedBlockingDeque.htmlLinkedBlockingQueue.htmlLinkedTransferQueue.htmlPhaser.htmlPriorityBlockingQueue.htmlRecursiveAction.htmlRecursiveTask.htmlRejectedExecutionException.htmlRejectedExecutionHandler.htmlRunnableFuture.htmlRunnableScheduledFuture.htmlScheduledExecutorService.htmlScheduledFuture.htmlScheduledThreadPoolExecutor.htmlSemaphore.htmlSubmissionPublisher.htmlSynchronousQueue.htmlThreadFactory.htmlThreadLocalRandom.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.htmlTimeUnit.htmlTimeoutException.htmlTransferQueue.htmllocksAbstractOwnableSynchronizer.htmlAbstractQueuedLongSynchronizer.ConditionObject.htmlAbstractQueuedLongSynchronizer.htmlAbstractQueuedSynchronizer.ConditionObject.htmlAbstractQueuedSynchronizer.htmlCondition.htmlLock.htmlLockSupport.htmlReadWriteLock.htmlReentrantLock.htmlReentrantReadWriteLock.ReadLock.htmlReentrantReadWriteLock.WriteLock.htmlReentrantReadWriteLock.htmlStampedLock.htmlclass-useAbstractOwnableSynchronizer.htmlAbstractQueuedLongSynchronizer.ConditionObject.htmlAbstractQueuedLongSynchronizer.htmlAbstractQueuedSynchronizer.ConditionObject.htmlAbstractQueuedSynchronizer.htmlCondition.htmlLock.htmlLockSupport.htmlReadWriteLock.htmlReentrantLock.htmlReentrantReadWriteLock.ReadLock.htmlReentrantReadWriteLock.WriteLock.htmlReentrantReadWriteLock.htmlStampedLock.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filescoll-designfaq.htmlcoll-index.htmlcoll-overview.htmlcoll-reference.htmlfunctionBiConsumer.htmlBiFunction.htmlBiPredicate.htmlBinaryOperator.htmlBooleanSupplier.htmlConsumer.htmlDoubleBinaryOperator.htmlDoubleConsumer.htmlDoubleFunction.htmlDoublePredicate.htmlDoubleSupplier.htmlDoubleToIntFunction.htmlDoubleToLongFunction.htmlDoubleUnaryOperator.htmlFunction.htmlIntBinaryOperator.htmlIntConsumer.htmlIntFunction.htmlIntPredicate.htmlIntSupplier.htmlIntToDoubleFunction.htmlIntToLongFunction.htmlIntUnaryOperator.htmlLongBinaryOperator.htmlLongConsumer.htmlLongFunction.htmlLongPredicate.htmlLongSupplier.htmlLongToDoubleFunction.htmlLongToIntFunction.htmlLongUnaryOperator.htmlObjDoubleConsumer.htmlObjIntConsumer.htmlObjLongConsumer.htmlPredicate.htmlSupplier.htmlToDoubleBiFunction.htmlToDoubleFunction.htmlToIntBiFunction.htmlToIntFunction.htmlToLongBiFunction.htmlToLongFunction.htmlUnaryOperator.htmlclass-useBiConsumer.htmlBiFunction.htmlBiPredicate.htmlBinaryOperator.htmlBooleanSupplier.htmlConsumer.htmlDoubleBinaryOperator.htmlDoubleConsumer.htmlDoubleFunction.htmlDoublePredicate.htmlDoubleSupplier.htmlDoubleToIntFunction.htmlDoubleToLongFunction.htmlDoubleUnaryOperator.htmlFunction.htmlIntBinaryOperator.htmlIntConsumer.htmlIntFunction.htmlIntPredicate.htmlIntSupplier.htmlIntToDoubleFunction.htmlIntToLongFunction.htmlIntUnaryOperator.htmlLongBinaryOperator.htmlLongConsumer.htmlLongFunction.htmlLongPredicate.htmlLongSupplier.htmlLongToDoubleFunction.htmlLongToIntFunction.htmlLongUnaryOperator.htmlObjDoubleConsumer.htmlObjIntConsumer.htmlObjLongConsumer.htmlPredicate.htmlSupplier.htmlToDoubleBiFunction.htmlToDoubleFunction.htmlToIntBiFunction.htmlToIntFunction.htmlToLongBiFunction.htmlToLongFunction.htmlUnaryOperator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljarAttributes.Name.htmlAttributes.htmlJarEntry.htmlJarException.htmlJarFile.htmlJarInputStream.htmlJarOutputStream.htmlManifest.htmlPack200.Packer.htmlPack200.Unpacker.htmlPack200.htmlclass-useAttributes.Name.htmlAttributes.htmlJarEntry.htmlJarException.htmlJarFile.htmlJarInputStream.htmlJarOutputStream.htmlManifest.htmlPack200.Packer.htmlPack200.Unpacker.htmlPack200.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlregexMatchResult.htmlMatcher.htmlPattern.htmlPatternSyntaxException.htmlclass-useMatchResult.htmlMatcher.htmlPattern.htmlPatternSyntaxException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAbstractResourceBundleProvider.htmlCalendarDataProvider.htmlCalendarNameProvider.htmlCurrencyNameProvider.htmlLocaleNameProvider.htmlLocaleServiceProvider.htmlResourceBundleControlProvider.htmlResourceBundleProvider.htmlTimeZoneNameProvider.htmlToolProvider.htmlclass-useAbstractResourceBundleProvider.htmlCalendarDataProvider.htmlCalendarNameProvider.htmlCurrencyNameProvider.htmlLocaleNameProvider.htmlLocaleServiceProvider.htmlResourceBundleControlProvider.htmlResourceBundleProvider.htmlTimeZoneNameProvider.htmlToolProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamBaseStream.htmlCollector.Characteristics.htmlCollector.htmlCollectors.htmlDoubleStream.Builder.htmlDoubleStream.htmlIntStream.Builder.htmlIntStream.htmlLongStream.Builder.htmlLongStream.htmlStream.Builder.htmlStream.htmlStreamSupport.htmlclass-useBaseStream.htmlCollector.Characteristics.htmlCollector.htmlCollectors.htmlDoubleStream.Builder.htmlDoubleStream.htmlIntStream.Builder.htmlIntStream.htmlLongStream.Builder.htmlLongStream.htmlStream.Builder.htmlStream.htmlStreamSupport.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlzipAdler32.htmlCRC32.htmlCRC32C.htmlCheckedInputStream.htmlCheckedOutputStream.htmlChecksum.htmlDataFormatException.htmlDeflater.htmlDeflaterInputStream.htmlDeflaterOutputStream.htmlGZIPInputStream.htmlGZIPOutputStream.htmlInflater.htmlInflaterInputStream.htmlInflaterOutputStream.htmlZipEntry.htmlZipError.htmlZipException.htmlZipFile.htmlZipInputStream.htmlZipOutputStream.htmlclass-useAdler32.htmlCRC32.htmlCRC32C.htmlCheckedInputStream.htmlCheckedOutputStream.htmlChecksum.htmlDataFormatException.htmlDeflater.htmlDeflaterInputStream.htmlDeflaterOutputStream.htmlGZIPInputStream.htmlGZIPOutputStream.htmlInflater.htmlInflaterInputStream.htmlInflaterOutputStream.htmlZipEntry.htmlZipError.htmlZipException.htmlZipFile.htmlZipInputStream.htmlZipOutputStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxcryptoAEADBadTagException.htmlBadPaddingException.htmlCipher.htmlCipherInputStream.htmlCipherOutputStream.htmlCipherSpi.htmlEncryptedPrivateKeyInfo.htmlExemptionMechanism.htmlExemptionMechanismException.htmlExemptionMechanismSpi.htmlIllegalBlockSizeException.htmlKeyAgreement.htmlKeyAgreementSpi.htmlKeyGenerator.htmlKeyGeneratorSpi.htmlMac.htmlMacSpi.htmlNoSuchPaddingException.htmlNullCipher.htmlSealedObject.htmlSecretKey.htmlSecretKeyFactory.htmlSecretKeyFactorySpi.htmlShortBufferException.htmlclass-useAEADBadTagException.htmlBadPaddingException.htmlCipher.htmlCipherInputStream.htmlCipherOutputStream.htmlCipherSpi.htmlEncryptedPrivateKeyInfo.htmlExemptionMechanism.htmlExemptionMechanismException.htmlExemptionMechanismSpi.htmlIllegalBlockSizeException.htmlKeyAgreement.htmlKeyAgreementSpi.htmlKeyGenerator.htmlKeyGeneratorSpi.htmlMac.htmlMacSpi.htmlNoSuchPaddingException.htmlNullCipher.htmlSealedObject.htmlSecretKey.htmlSecretKeyFactory.htmlSecretKeyFactorySpi.htmlShortBufferException.htmlinterfacesDHKey.htmlDHPrivateKey.htmlDHPublicKey.htmlPBEKey.htmlclass-useDHKey.htmlDHPrivateKey.htmlDHPublicKey.htmlPBEKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecChaCha20ParameterSpec.htmlDESKeySpec.htmlDESedeKeySpec.htmlDHGenParameterSpec.htmlDHParameterSpec.htmlDHPrivateKeySpec.htmlDHPublicKeySpec.htmlGCMParameterSpec.htmlIvParameterSpec.htmlOAEPParameterSpec.htmlPBEKeySpec.htmlPBEParameterSpec.htmlPSource.PSpecified.htmlPSource.htmlRC2ParameterSpec.htmlRC5ParameterSpec.htmlSecretKeySpec.htmlclass-useChaCha20ParameterSpec.htmlDESKeySpec.htmlDESedeKeySpec.htmlDHGenParameterSpec.htmlDHParameterSpec.htmlDHPrivateKeySpec.htmlDHPublicKeySpec.htmlGCMParameterSpec.htmlIvParameterSpec.htmlOAEPParameterSpec.htmlPBEKeySpec.htmlPBEParameterSpec.htmlPSource.PSpecified.htmlPSource.htmlRC2ParameterSpec.htmlRC5ParameterSpec.htmlSecretKeySpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnetServerSocketFactory.htmlSocketFactory.htmlclass-useServerSocketFactory.htmlSocketFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsslCertPathTrustManagerParameters.htmlExtendedSSLSession.htmlHandshakeCompletedEvent.htmlHandshakeCompletedListener.htmlHostnameVerifier.htmlHttpsURLConnection.htmlKeyManager.htmlKeyManagerFactory.htmlKeyManagerFactorySpi.htmlKeyStoreBuilderParameters.htmlManagerFactoryParameters.htmlSNIHostName.htmlSNIMatcher.htmlSNIServerName.htmlSSLContext.htmlSSLContextSpi.htmlSSLEngine.htmlSSLEngineResult.HandshakeStatus.htmlSSLEngineResult.Status.htmlSSLEngineResult.htmlSSLException.htmlSSLHandshakeException.htmlSSLKeyException.htmlSSLParameters.htmlSSLPeerUnverifiedException.htmlSSLPermission.htmlSSLProtocolException.htmlSSLServerSocket.htmlSSLServerSocketFactory.htmlSSLSession.htmlSSLSessionBindingEvent.htmlSSLSessionBindingListener.htmlSSLSessionContext.htmlSSLSocket.htmlSSLSocketFactory.htmlStandardConstants.htmlTrustManager.htmlTrustManagerFactory.htmlTrustManagerFactorySpi.htmlX509ExtendedKeyManager.htmlX509ExtendedTrustManager.htmlX509KeyManager.htmlX509TrustManager.htmlclass-useCertPathTrustManagerParameters.htmlExtendedSSLSession.htmlHandshakeCompletedEvent.htmlHandshakeCompletedListener.htmlHostnameVerifier.htmlHttpsURLConnection.htmlKeyManager.htmlKeyManagerFactory.htmlKeyManagerFactorySpi.htmlKeyStoreBuilderParameters.htmlManagerFactoryParameters.htmlSNIHostName.htmlSNIMatcher.htmlSNIServerName.htmlSSLContext.htmlSSLContextSpi.htmlSSLEngine.htmlSSLEngineResult.HandshakeStatus.htmlSSLEngineResult.Status.htmlSSLEngineResult.htmlSSLException.htmlSSLHandshakeException.htmlSSLKeyException.htmlSSLParameters.htmlSSLPeerUnverifiedException.htmlSSLPermission.htmlSSLProtocolException.htmlSSLServerSocket.htmlSSLServerSocketFactory.htmlSSLSession.htmlSSLSessionBindingEvent.htmlSSLSessionBindingListener.htmlSSLSessionContext.htmlSSLSocket.htmlSSLSocketFactory.htmlStandardConstants.htmlTrustManager.htmlTrustManagerFactory.htmlTrustManagerFactorySpi.htmlX509ExtendedKeyManager.htmlX509ExtendedTrustManager.htmlX509KeyManager.htmlX509TrustManager.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsecurityauthAuthPermission.htmlDestroyFailedException.htmlDestroyable.htmlPrivateCredentialPermission.htmlRefreshFailedException.htmlRefreshable.htmlSubject.htmlSubjectDomainCombiner.htmlcallbackCallback.htmlCallbackHandler.htmlChoiceCallback.htmlConfirmationCallback.htmlLanguageCallback.htmlNameCallback.htmlPasswordCallback.htmlTextInputCallback.htmlTextOutputCallback.htmlUnsupportedCallbackException.htmlclass-useCallback.htmlCallbackHandler.htmlChoiceCallback.htmlConfirmationCallback.htmlLanguageCallback.htmlNameCallback.htmlPasswordCallback.htmlTextInputCallback.htmlTextOutputCallback.htmlUnsupportedCallbackException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAuthPermission.htmlDestroyFailedException.htmlDestroyable.htmlPrivateCredentialPermission.htmlRefreshFailedException.htmlRefreshable.htmlSubject.htmlSubjectDomainCombiner.htmlloginAccountException.htmlAccountExpiredException.htmlAccountLockedException.htmlAccountNotFoundException.htmlAppConfigurationEntry.LoginModuleControlFlag.htmlAppConfigurationEntry.htmlConfiguration.Parameters.htmlConfiguration.htmlConfigurationSpi.htmlCredentialException.htmlCredentialExpiredException.htmlCredentialNotFoundException.htmlFailedLoginException.htmlLoginContext.htmlLoginException.htmlclass-useAccountException.htmlAccountExpiredException.htmlAccountLockedException.htmlAccountNotFoundException.htmlAppConfigurationEntry.LoginModuleControlFlag.htmlAppConfigurationEntry.htmlConfiguration.Parameters.htmlConfiguration.htmlConfigurationSpi.htmlCredentialException.htmlCredentialExpiredException.htmlCredentialNotFoundException.htmlFailedLoginException.htmlLoginContext.htmlLoginException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiLoginModule.htmlclass-useLoginModule.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlx500X500Principal.htmlX500PrivateCredential.htmlclass-useX500Principal.htmlX500PrivateCredential.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcertCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlX509Certificate.htmlclass-useCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlX509Certificate.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.compilerjavaxannotationprocessingAbstractProcessor.htmlCompletion.htmlCompletions.htmlFiler.htmlFilerException.htmlGenerated.htmlMessager.htmlProcessingEnvironment.htmlProcessor.htmlRoundEnvironment.htmlSupportedAnnotationTypes.htmlSupportedOptions.htmlSupportedSourceVersion.htmlclass-useAbstractProcessor.htmlCompletion.htmlCompletions.htmlFiler.htmlFilerException.htmlGenerated.htmlMessager.htmlProcessingEnvironment.htmlProcessor.htmlRoundEnvironment.htmlSupportedAnnotationTypes.htmlSupportedOptions.htmlSupportedSourceVersion.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllangmodelAnnotatedConstruct.htmlSourceVersion.htmlUnknownEntityException.htmlclass-useAnnotatedConstruct.htmlSourceVersion.htmlUnknownEntityException.htmlelementAnnotationMirror.htmlAnnotationValue.htmlAnnotationValueVisitor.htmlElement.htmlElementKind.htmlElementVisitor.htmlExecutableElement.htmlModifier.htmlModuleElement.Directive.htmlModuleElement.DirectiveKind.htmlModuleElement.DirectiveVisitor.htmlModuleElement.ExportsDirective.htmlModuleElement.OpensDirective.htmlModuleElement.ProvidesDirective.htmlModuleElement.RequiresDirective.htmlModuleElement.UsesDirective.htmlModuleElement.htmlName.htmlNestingKind.htmlPackageElement.htmlParameterizable.htmlQualifiedNameable.htmlTypeElement.htmlTypeParameterElement.htmlUnknownAnnotationValueException.htmlUnknownDirectiveException.htmlUnknownElementException.htmlVariableElement.htmlclass-useAnnotationMirror.htmlAnnotationValue.htmlAnnotationValueVisitor.htmlElement.htmlElementKind.htmlElementVisitor.htmlExecutableElement.htmlModifier.htmlModuleElement.Directive.htmlModuleElement.DirectiveKind.htmlModuleElement.DirectiveVisitor.htmlModuleElement.ExportsDirective.htmlModuleElement.OpensDirective.htmlModuleElement.ProvidesDirective.htmlModuleElement.RequiresDirective.htmlModuleElement.UsesDirective.htmlModuleElement.htmlName.htmlNestingKind.htmlPackageElement.htmlParameterizable.htmlQualifiedNameable.htmlTypeElement.htmlTypeParameterElement.htmlUnknownAnnotationValueException.htmlUnknownDirectiveException.htmlUnknownElementException.htmlVariableElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltypeArrayType.htmlDeclaredType.htmlErrorType.htmlExecutableType.htmlIntersectionType.htmlMirroredTypeException.htmlMirroredTypesException.htmlNoType.htmlNullType.htmlPrimitiveType.htmlReferenceType.htmlTypeKind.htmlTypeMirror.htmlTypeVariable.htmlTypeVisitor.htmlUnionType.htmlUnknownTypeException.htmlWildcardType.htmlclass-useArrayType.htmlDeclaredType.htmlErrorType.htmlExecutableType.htmlIntersectionType.htmlMirroredTypeException.htmlMirroredTypesException.htmlNoType.htmlNullType.htmlPrimitiveType.htmlReferenceType.htmlTypeKind.htmlTypeMirror.htmlTypeVariable.htmlTypeVisitor.htmlUnionType.htmlUnknownTypeException.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilAbstractAnnotationValueVisitor6.htmlAbstractAnnotationValueVisitor7.htmlAbstractAnnotationValueVisitor8.htmlAbstractAnnotationValueVisitor9.htmlAbstractElementVisitor6.htmlAbstractElementVisitor7.htmlAbstractElementVisitor8.htmlAbstractElementVisitor9.htmlAbstractTypeVisitor6.htmlAbstractTypeVisitor7.htmlAbstractTypeVisitor8.htmlAbstractTypeVisitor9.htmlElementFilter.htmlElementKindVisitor6.htmlElementKindVisitor7.htmlElementKindVisitor8.htmlElementKindVisitor9.htmlElementScanner6.htmlElementScanner7.htmlElementScanner8.htmlElementScanner9.htmlElements.Origin.htmlElements.htmlSimpleAnnotationValueVisitor6.htmlSimpleAnnotationValueVisitor7.htmlSimpleAnnotationValueVisitor8.htmlSimpleAnnotationValueVisitor9.htmlSimpleElementVisitor6.htmlSimpleElementVisitor7.htmlSimpleElementVisitor8.htmlSimpleElementVisitor9.htmlSimpleTypeVisitor6.htmlSimpleTypeVisitor7.htmlSimpleTypeVisitor8.htmlSimpleTypeVisitor9.htmlTypeKindVisitor6.htmlTypeKindVisitor7.htmlTypeKindVisitor8.htmlTypeKindVisitor9.htmlTypes.htmlclass-useAbstractAnnotationValueVisitor6.htmlAbstractAnnotationValueVisitor7.htmlAbstractAnnotationValueVisitor8.htmlAbstractAnnotationValueVisitor9.htmlAbstractElementVisitor6.htmlAbstractElementVisitor7.htmlAbstractElementVisitor8.htmlAbstractElementVisitor9.htmlAbstractTypeVisitor6.htmlAbstractTypeVisitor7.htmlAbstractTypeVisitor8.htmlAbstractTypeVisitor9.htmlElementFilter.htmlElementKindVisitor6.htmlElementKindVisitor7.htmlElementKindVisitor8.htmlElementKindVisitor9.htmlElementScanner6.htmlElementScanner7.htmlElementScanner8.htmlElementScanner9.htmlElements.Origin.htmlElements.htmlSimpleAnnotationValueVisitor6.htmlSimpleAnnotationValueVisitor7.htmlSimpleAnnotationValueVisitor8.htmlSimpleAnnotationValueVisitor9.htmlSimpleElementVisitor6.htmlSimpleElementVisitor7.htmlSimpleElementVisitor8.htmlSimpleElementVisitor9.htmlSimpleTypeVisitor6.htmlSimpleTypeVisitor7.htmlSimpleTypeVisitor8.htmlSimpleTypeVisitor9.htmlTypeKindVisitor6.htmlTypeKindVisitor7.htmlTypeKindVisitor8.htmlTypeKindVisitor9.htmlTypes.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticCollector.htmlDiagnosticListener.htmlDocumentationTool.DocumentationTask.htmlDocumentationTool.Location.htmlDocumentationTool.htmlFileObject.htmlForwardingFileObject.htmlForwardingJavaFileManager.htmlForwardingJavaFileObject.htmlJavaCompiler.CompilationTask.htmlJavaCompiler.htmlJavaFileManager.Location.htmlJavaFileManager.htmlJavaFileObject.Kind.htmlJavaFileObject.htmlOptionChecker.htmlSimpleJavaFileObject.htmlStandardJavaFileManager.PathFactory.htmlStandardJavaFileManager.htmlStandardLocation.htmlTool.htmlToolProvider.htmlclass-useDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticCollector.htmlDiagnosticListener.htmlDocumentationTool.DocumentationTask.htmlDocumentationTool.Location.htmlDocumentationTool.htmlFileObject.htmlForwardingFileObject.htmlForwardingJavaFileManager.htmlForwardingJavaFileObject.htmlJavaCompiler.CompilationTask.htmlJavaCompiler.htmlJavaFileManager.Location.htmlJavaFileManager.htmlJavaFileObject.Kind.htmlJavaFileObject.htmlOptionChecker.htmlSimpleJavaFileObject.htmlStandardJavaFileManager.PathFactory.htmlStandardJavaFileManager.htmlStandardLocation.htmlTool.htmlToolProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.datatransferjavaawtdatatransferClipboard.htmlClipboardOwner.htmlDataFlavor.htmlFlavorEvent.htmlFlavorListener.htmlFlavorMap.htmlFlavorTable.htmlMimeTypeParseException.htmlStringSelection.htmlSystemFlavorMap.htmlTransferable.htmlUnsupportedFlavorException.htmlclass-useClipboard.htmlClipboardOwner.htmlDataFlavor.htmlFlavorEvent.htmlFlavorListener.htmlFlavorMap.htmlFlavorTable.htmlMimeTypeParseException.htmlStringSelection.htmlSystemFlavorMap.htmlTransferable.htmlUnsupportedFlavorException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.desktopjavaappletApplet.AccessibleApplet.htmlApplet.htmlAppletContext.htmlAppletStub.htmlAudioClip.htmlclass-useApplet.AccessibleApplet.htmlApplet.htmlAppletContext.htmlAppletStub.htmlAudioClip.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlawtAWTError.htmlAWTEvent.htmlAWTEventMulticaster.htmlAWTException.htmlAWTKeyStroke.htmlAWTPermission.htmlActiveEvent.htmlAdjustable.htmlAlphaComposite.htmlBasicStroke.htmlBorderLayout.htmlBufferCapabilities.FlipContents.htmlBufferCapabilities.htmlButton.AccessibleAWTButton.htmlButton.htmlCanvas.AccessibleAWTCanvas.htmlCanvas.htmlCardLayout.htmlCheckbox.AccessibleAWTCheckbox.htmlCheckbox.htmlCheckboxGroup.htmlCheckboxMenuItem.AccessibleAWTCheckboxMenuItem.htmlCheckboxMenuItem.htmlChoice.AccessibleAWTChoice.htmlChoice.htmlColor.htmlComponent.AccessibleAWTComponent.AccessibleAWTComponentHandler.htmlComponent.AccessibleAWTComponent.AccessibleAWTFocusHandler.htmlComponent.AccessibleAWTComponent.htmlComponent.BaselineResizeBehavior.htmlComponent.BltBufferStrategy.htmlComponent.FlipBufferStrategy.htmlComponent.htmlComponentOrientation.htmlComposite.htmlCompositeContext.htmlContainer.AccessibleAWTContainer.AccessibleContainerHandler.htmlContainer.AccessibleAWTContainer.htmlContainer.htmlContainerOrderFocusTraversalPolicy.htmlCursor.htmlDefaultFocusTraversalPolicy.htmlDefaultKeyboardFocusManager.htmlDesktop.Action.htmlDesktop.htmlDialog.AccessibleAWTDialog.htmlDialog.ModalExclusionType.htmlDialog.ModalityType.htmlDialog.htmlDimension.htmlDisplayMode.htmlEvent.htmlEventQueue.htmlFileDialog.htmlFlowLayout.htmlFocusTraversalPolicy.htmlFont.htmlFontFormatException.htmlFontMetrics.htmlFrame.AccessibleAWTFrame.htmlFrame.htmlGradientPaint.htmlGraphics.htmlGraphics2D.htmlGraphicsConfigTemplate.htmlGraphicsConfiguration.htmlGraphicsDevice.WindowTranslucency.htmlGraphicsDevice.htmlGraphicsEnvironment.htmlGridBagConstraints.htmlGridBagLayout.htmlGridBagLayoutInfo.htmlGridLayout.htmlHeadlessException.htmlIllegalComponentStateException.htmlImage.htmlImageCapabilities.htmlInsets.htmlItemSelectable.htmlJobAttributes.DefaultSelectionType.htmlJobAttributes.DestinationType.htmlJobAttributes.DialogType.htmlJobAttributes.MultipleDocumentHandlingType.htmlJobAttributes.SidesType.htmlJobAttributes.htmlKeyEventDispatcher.htmlKeyEventPostProcessor.htmlKeyboardFocusManager.htmlLabel.AccessibleAWTLabel.htmlLabel.htmlLayoutManager.htmlLayoutManager2.htmlLinearGradientPaint.htmlList.AccessibleAWTList.AccessibleAWTListChild.htmlList.AccessibleAWTList.htmlList.htmlMediaTracker.htmlMenu.AccessibleAWTMenu.htmlMenu.htmlMenuBar.AccessibleAWTMenuBar.htmlMenuBar.htmlMenuComponent.AccessibleAWTMenuComponent.htmlMenuComponent.htmlMenuContainer.htmlMenuItem.AccessibleAWTMenuItem.htmlMenuItem.htmlMenuShortcut.htmlMouseInfo.htmlMultipleGradientPaint.ColorSpaceType.htmlMultipleGradientPaint.CycleMethod.htmlMultipleGradientPaint.htmlPageAttributes.ColorType.htmlPageAttributes.MediaType.htmlPageAttributes.OrientationRequestedType.htmlPageAttributes.OriginType.htmlPageAttributes.PrintQualityType.htmlPageAttributes.htmlPaint.htmlPaintContext.htmlPanel.AccessibleAWTPanel.htmlPanel.htmlPoint.htmlPointerInfo.htmlPolygon.htmlPopupMenu.AccessibleAWTPopupMenu.htmlPopupMenu.htmlPrintGraphics.htmlPrintJob.htmlRadialGradientPaint.htmlRectangle.htmlRenderingHints.Key.htmlRenderingHints.htmlRobot.htmlScrollPane.AccessibleAWTScrollPane.htmlScrollPane.htmlScrollPaneAdjustable.htmlScrollbar.AccessibleAWTScrollBar.htmlScrollbar.htmlSecondaryLoop.htmlShape.htmlSplashScreen.htmlStroke.htmlSystemColor.htmlSystemTray.htmlTaskbar.Feature.htmlTaskbar.State.htmlTaskbar.htmlTextArea.AccessibleAWTTextArea.htmlTextArea.htmlTextComponent.AccessibleAWTTextComponent.htmlTextComponent.htmlTextField.AccessibleAWTTextField.htmlTextField.htmlTexturePaint.htmlToolkit.htmlTransparency.htmlTrayIcon.MessageType.htmlTrayIcon.htmlWindow.AccessibleAWTWindow.htmlWindow.Type.htmlWindow.htmlclass-useAWTError.htmlAWTEvent.htmlAWTEventMulticaster.htmlAWTException.htmlAWTKeyStroke.htmlAWTPermission.htmlActiveEvent.htmlAdjustable.htmlAlphaComposite.htmlBasicStroke.htmlBorderLayout.htmlBufferCapabilities.FlipContents.htmlBufferCapabilities.htmlButton.AccessibleAWTButton.htmlButton.htmlCanvas.AccessibleAWTCanvas.htmlCanvas.htmlCardLayout.htmlCheckbox.AccessibleAWTCheckbox.htmlCheckbox.htmlCheckboxGroup.htmlCheckboxMenuItem.AccessibleAWTCheckboxMenuItem.htmlCheckboxMenuItem.htmlChoice.AccessibleAWTChoice.htmlChoice.htmlColor.htmlComponent.AccessibleAWTComponent.AccessibleAWTComponentHandler.htmlComponent.AccessibleAWTComponent.AccessibleAWTFocusHandler.htmlComponent.AccessibleAWTComponent.htmlComponent.BaselineResizeBehavior.htmlComponent.BltBufferStrategy.htmlComponent.FlipBufferStrategy.htmlComponent.htmlComponentOrientation.htmlComposite.htmlCompositeContext.htmlContainer.AccessibleAWTContainer.AccessibleContainerHandler.htmlContainer.AccessibleAWTContainer.htmlContainer.htmlContainerOrderFocusTraversalPolicy.htmlCursor.htmlDefaultFocusTraversalPolicy.htmlDefaultKeyboardFocusManager.htmlDesktop.Action.htmlDesktop.htmlDialog.AccessibleAWTDialog.htmlDialog.ModalExclusionType.htmlDialog.ModalityType.htmlDialog.htmlDimension.htmlDisplayMode.htmlEvent.htmlEventQueue.htmlFileDialog.htmlFlowLayout.htmlFocusTraversalPolicy.htmlFont.htmlFontFormatException.htmlFontMetrics.htmlFrame.AccessibleAWTFrame.htmlFrame.htmlGradientPaint.htmlGraphics.htmlGraphics2D.htmlGraphicsConfigTemplate.htmlGraphicsConfiguration.htmlGraphicsDevice.WindowTranslucency.htmlGraphicsDevice.htmlGraphicsEnvironment.htmlGridBagConstraints.htmlGridBagLayout.htmlGridBagLayoutInfo.htmlGridLayout.htmlHeadlessException.htmlIllegalComponentStateException.htmlImage.htmlImageCapabilities.htmlInsets.htmlItemSelectable.htmlJobAttributes.DefaultSelectionType.htmlJobAttributes.DestinationType.htmlJobAttributes.DialogType.htmlJobAttributes.MultipleDocumentHandlingType.htmlJobAttributes.SidesType.htmlJobAttributes.htmlKeyEventDispatcher.htmlKeyEventPostProcessor.htmlKeyboardFocusManager.htmlLabel.AccessibleAWTLabel.htmlLabel.htmlLayoutManager.htmlLayoutManager2.htmlLinearGradientPaint.htmlList.AccessibleAWTList.AccessibleAWTListChild.htmlList.AccessibleAWTList.htmlList.htmlMediaTracker.htmlMenu.AccessibleAWTMenu.htmlMenu.htmlMenuBar.AccessibleAWTMenuBar.htmlMenuBar.htmlMenuComponent.AccessibleAWTMenuComponent.htmlMenuComponent.htmlMenuContainer.htmlMenuItem.AccessibleAWTMenuItem.htmlMenuItem.htmlMenuShortcut.htmlMouseInfo.htmlMultipleGradientPaint.ColorSpaceType.htmlMultipleGradientPaint.CycleMethod.htmlMultipleGradientPaint.htmlPageAttributes.ColorType.htmlPageAttributes.MediaType.htmlPageAttributes.OrientationRequestedType.htmlPageAttributes.OriginType.htmlPageAttributes.PrintQualityType.htmlPageAttributes.htmlPaint.htmlPaintContext.htmlPanel.AccessibleAWTPanel.htmlPanel.htmlPoint.htmlPointerInfo.htmlPolygon.htmlPopupMenu.AccessibleAWTPopupMenu.htmlPopupMenu.htmlPrintGraphics.htmlPrintJob.htmlRadialGradientPaint.htmlRectangle.htmlRenderingHints.Key.htmlRenderingHints.htmlRobot.htmlScrollPane.AccessibleAWTScrollPane.htmlScrollPane.htmlScrollPaneAdjustable.htmlScrollbar.AccessibleAWTScrollBar.htmlScrollbar.htmlSecondaryLoop.htmlShape.htmlSplashScreen.htmlStroke.htmlSystemColor.htmlSystemTray.htmlTaskbar.Feature.htmlTaskbar.State.htmlTaskbar.htmlTextArea.AccessibleAWTTextArea.htmlTextArea.htmlTextComponent.AccessibleAWTTextComponent.htmlTextComponent.htmlTextField.AccessibleAWTTextField.htmlTextField.htmlTexturePaint.htmlToolkit.htmlTransparency.htmlTrayIcon.MessageType.htmlTrayIcon.htmlWindow.AccessibleAWTWindow.htmlWindow.Type.htmlWindow.htmlcolorCMMException.htmlColorSpace.htmlICC_ColorSpace.htmlICC_Profile.htmlICC_ProfileGray.htmlICC_ProfileRGB.htmlProfileDataException.htmlclass-useCMMException.htmlColorSpace.htmlICC_ColorSpace.htmlICC_Profile.htmlICC_ProfileGray.htmlICC_ProfileRGB.htmlProfileDataException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldesktopAboutEvent.htmlAboutHandler.htmlAppEvent.htmlAppForegroundEvent.htmlAppForegroundListener.htmlAppHiddenEvent.htmlAppHiddenListener.htmlAppReopenedEvent.htmlAppReopenedListener.htmlFilesEvent.htmlOpenFilesEvent.htmlOpenFilesHandler.htmlOpenURIEvent.htmlOpenURIHandler.htmlPreferencesEvent.htmlPreferencesHandler.htmlPrintFilesEvent.htmlPrintFilesHandler.htmlQuitEvent.htmlQuitHandler.htmlQuitResponse.htmlQuitStrategy.htmlScreenSleepEvent.htmlScreenSleepListener.htmlSystemEventListener.htmlSystemSleepEvent.htmlSystemSleepListener.htmlUserSessionEvent.Reason.htmlUserSessionEvent.htmlUserSessionListener.htmlclass-useAboutEvent.htmlAboutHandler.htmlAppEvent.htmlAppForegroundEvent.htmlAppForegroundListener.htmlAppHiddenEvent.htmlAppHiddenListener.htmlAppReopenedEvent.htmlAppReopenedListener.htmlFilesEvent.htmlOpenFilesEvent.htmlOpenFilesHandler.htmlOpenURIEvent.htmlOpenURIHandler.htmlPreferencesEvent.htmlPreferencesHandler.htmlPrintFilesEvent.htmlPrintFilesHandler.htmlQuitEvent.htmlQuitHandler.htmlQuitResponse.htmlQuitStrategy.htmlScreenSleepEvent.htmlScreenSleepListener.htmlSystemEventListener.htmlSystemSleepEvent.htmlSystemSleepListener.htmlUserSessionEvent.Reason.htmlUserSessionEvent.htmlUserSessionListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldndAutoscroll.htmlDnDConstants.htmlDragGestureEvent.htmlDragGestureListener.htmlDragGestureRecognizer.htmlDragSource.htmlDragSourceAdapter.htmlDragSourceContext.htmlDragSourceDragEvent.htmlDragSourceDropEvent.htmlDragSourceEvent.htmlDragSourceListener.htmlDragSourceMotionListener.htmlDropTarget.DropTargetAutoScroller.htmlDropTarget.htmlDropTargetAdapter.htmlDropTargetContext.TransferableProxy.htmlDropTargetContext.htmlDropTargetDragEvent.htmlDropTargetDropEvent.htmlDropTargetEvent.htmlDropTargetListener.htmlInvalidDnDOperationException.htmlMouseDragGestureRecognizer.htmlclass-useAutoscroll.htmlDnDConstants.htmlDragGestureEvent.htmlDragGestureListener.htmlDragGestureRecognizer.htmlDragSource.htmlDragSourceAdapter.htmlDragSourceContext.htmlDragSourceDragEvent.htmlDragSourceDropEvent.htmlDragSourceEvent.htmlDragSourceListener.htmlDragSourceMotionListener.htmlDropTarget.DropTargetAutoScroller.htmlDropTarget.htmlDropTargetAdapter.htmlDropTargetContext.TransferableProxy.htmlDropTargetContext.htmlDropTargetDragEvent.htmlDropTargetDropEvent.htmlDropTargetEvent.htmlDropTargetListener.htmlInvalidDnDOperationException.htmlMouseDragGestureRecognizer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesAWTThreadIssues.htmlBorderLayout-1.gifButton-1.gifCheckbox-1.gifCheckboxGroup-1.gifChoice-1.gifDesktopProperties.htmlFlowLayout-1.gifFocusCycle.gifFocusSpec.htmlFontMetrics-1.gifGridBagLayout-1.gifGridBagLayout-2.gifGridBagLayout-baseline.pngGridLayout-1.gifGridLayout-2.gifImplicitFocusTransfer.gifLabel-1.gifLinearGradientPaint.pngList-1.gifMenuBar-1.gifModality.htmlMultiScreen.gifRadialGradientPaint-1.pngRadialGradientPaint-2.pngRadialGradientPaint-3.pngRadialGradientPaint-4.pngScrollbar-1.gifScrollbar-2.gifTextArea-1.gifTextField-1.gifmodal-example1.gifmodal-example2.gifmodal-example3.gifmodal-example4.gifeventAWTEventListener.htmlAWTEventListenerProxy.htmlActionEvent.htmlActionListener.htmlAdjustmentEvent.htmlAdjustmentListener.htmlComponentAdapter.htmlComponentEvent.htmlComponentListener.htmlContainerAdapter.htmlContainerEvent.htmlContainerListener.htmlFocusAdapter.htmlFocusEvent.Cause.htmlFocusEvent.htmlFocusListener.htmlHierarchyBoundsAdapter.htmlHierarchyBoundsListener.htmlHierarchyEvent.htmlHierarchyListener.htmlInputEvent.htmlInputMethodEvent.htmlInputMethodListener.htmlInvocationEvent.htmlItemEvent.htmlItemListener.htmlKeyAdapter.htmlKeyEvent.htmlKeyListener.htmlMouseAdapter.htmlMouseEvent.htmlMouseListener.htmlMouseMotionAdapter.htmlMouseMotionListener.htmlMouseWheelEvent.htmlMouseWheelListener.htmlPaintEvent.htmlTextEvent.htmlTextListener.htmlWindowAdapter.htmlWindowEvent.htmlWindowFocusListener.htmlWindowListener.htmlWindowStateListener.htmlclass-useAWTEventListener.htmlAWTEventListenerProxy.htmlActionEvent.htmlActionListener.htmlAdjustmentEvent.htmlAdjustmentListener.htmlComponentAdapter.htmlComponentEvent.htmlComponentListener.htmlContainerAdapter.htmlContainerEvent.htmlContainerListener.htmlFocusAdapter.htmlFocusEvent.Cause.htmlFocusEvent.htmlFocusListener.htmlHierarchyBoundsAdapter.htmlHierarchyBoundsListener.htmlHierarchyEvent.htmlHierarchyListener.htmlInputEvent.htmlInputMethodEvent.htmlInputMethodListener.htmlInvocationEvent.htmlItemEvent.htmlItemListener.htmlKeyAdapter.htmlKeyEvent.htmlKeyListener.htmlMouseAdapter.htmlMouseEvent.htmlMouseListener.htmlMouseMotionAdapter.htmlMouseMotionListener.htmlMouseWheelEvent.htmlMouseWheelListener.htmlPaintEvent.htmlTextEvent.htmlTextListener.htmlWindowAdapter.htmlWindowEvent.htmlWindowFocusListener.htmlWindowListener.htmlWindowStateListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfontFontRenderContext.htmlGlyphJustificationInfo.htmlGlyphMetrics.htmlGlyphVector.htmlGraphicAttribute.htmlImageGraphicAttribute.htmlLayoutPath.htmlLineBreakMeasurer.htmlLineMetrics.htmlMultipleMaster.htmlNumericShaper.Range.htmlNumericShaper.htmlOpenType.htmlShapeGraphicAttribute.htmlTextAttribute.htmlTextHitInfo.htmlTextLayout.CaretPolicy.htmlTextLayout.htmlTextMeasurer.htmlTransformAttribute.htmlclass-useFontRenderContext.htmlGlyphJustificationInfo.htmlGlyphMetrics.htmlGlyphVector.htmlGraphicAttribute.htmlImageGraphicAttribute.htmlLayoutPath.htmlLineBreakMeasurer.htmlLineMetrics.htmlMultipleMaster.htmlNumericShaper.Range.htmlNumericShaper.htmlOpenType.htmlShapeGraphicAttribute.htmlTextAttribute.htmlTextHitInfo.htmlTextLayout.CaretPolicy.htmlTextLayout.htmlTextMeasurer.htmlTransformAttribute.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlgeomAffineTransform.htmlArc2D.Double.htmlArc2D.Float.htmlArc2D.htmlArea.htmlCubicCurve2D.Double.htmlCubicCurve2D.Float.htmlCubicCurve2D.htmlDimension2D.htmlEllipse2D.Double.htmlEllipse2D.Float.htmlEllipse2D.htmlFlatteningPathIterator.htmlGeneralPath.htmlIllegalPathStateException.htmlLine2D.Double.htmlLine2D.Float.htmlLine2D.htmlNoninvertibleTransformException.htmlPath2D.Double.htmlPath2D.Float.htmlPath2D.htmlPathIterator.htmlPoint2D.Double.htmlPoint2D.Float.htmlPoint2D.htmlQuadCurve2D.Double.htmlQuadCurve2D.Float.htmlQuadCurve2D.htmlRectangle2D.Double.htmlRectangle2D.Float.htmlRectangle2D.htmlRectangularShape.htmlRoundRectangle2D.Double.htmlRoundRectangle2D.Float.htmlRoundRectangle2D.htmlclass-useAffineTransform.htmlArc2D.Double.htmlArc2D.Float.htmlArc2D.htmlArea.htmlCubicCurve2D.Double.htmlCubicCurve2D.Float.htmlCubicCurve2D.htmlDimension2D.htmlEllipse2D.Double.htmlEllipse2D.Float.htmlEllipse2D.htmlFlatteningPathIterator.htmlGeneralPath.htmlIllegalPathStateException.htmlLine2D.Double.htmlLine2D.Float.htmlLine2D.htmlNoninvertibleTransformException.htmlPath2D.Double.htmlPath2D.Float.htmlPath2D.htmlPathIterator.htmlPoint2D.Double.htmlPoint2D.Float.htmlPoint2D.htmlQuadCurve2D.Double.htmlQuadCurve2D.Float.htmlQuadCurve2D.htmlRectangle2D.Double.htmlRectangle2D.Float.htmlRectangle2D.htmlRectangularShape.htmlRoundRectangle2D.Double.htmlRoundRectangle2D.Float.htmlRoundRectangle2D.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimInputContext.htmlInputMethodHighlight.htmlInputMethodRequests.htmlInputSubset.htmlclass-useInputContext.htmlInputMethodHighlight.htmlInputMethodRequests.htmlInputSubset.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiInputMethod.htmlInputMethodContext.htmlInputMethodDescriptor.htmlclass-useInputMethod.htmlInputMethodContext.htmlInputMethodDescriptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimageAbstractMultiResolutionImage.htmlAffineTransformOp.htmlAreaAveragingScaleFilter.htmlBandCombineOp.htmlBandedSampleModel.htmlBaseMultiResolutionImage.htmlBufferStrategy.htmlBufferedImage.htmlBufferedImageFilter.htmlBufferedImageOp.htmlByteLookupTable.htmlColorConvertOp.htmlColorModel.htmlComponentColorModel.htmlComponentSampleModel.htmlConvolveOp.htmlCropImageFilter.htmlDataBuffer.htmlDataBufferByte.htmlDataBufferDouble.htmlDataBufferFloat.htmlDataBufferInt.htmlDataBufferShort.htmlDataBufferUShort.htmlDirectColorModel.htmlFilteredImageSource.htmlImageConsumer.htmlImageFilter.htmlImageObserver.htmlImageProducer.htmlImagingOpException.htmlIndexColorModel.htmlKernel.htmlLookupOp.htmlLookupTable.htmlMemoryImageSource.htmlMultiPixelPackedSampleModel.htmlMultiResolutionImage.htmlPackedColorModel.htmlPixelGrabber.htmlPixelInterleavedSampleModel.htmlRGBImageFilter.htmlRaster.htmlRasterFormatException.htmlRasterOp.htmlRenderedImage.htmlReplicateScaleFilter.htmlRescaleOp.htmlSampleModel.htmlShortLookupTable.htmlSinglePixelPackedSampleModel.htmlTileObserver.htmlVolatileImage.htmlWritableRaster.htmlWritableRenderedImage.htmlclass-useAbstractMultiResolutionImage.htmlAffineTransformOp.htmlAreaAveragingScaleFilter.htmlBandCombineOp.htmlBandedSampleModel.htmlBaseMultiResolutionImage.htmlBufferStrategy.htmlBufferedImage.htmlBufferedImageFilter.htmlBufferedImageOp.htmlByteLookupTable.htmlColorConvertOp.htmlColorModel.htmlComponentColorModel.htmlComponentSampleModel.htmlConvolveOp.htmlCropImageFilter.htmlDataBuffer.htmlDataBufferByte.htmlDataBufferDouble.htmlDataBufferFloat.htmlDataBufferInt.htmlDataBufferShort.htmlDataBufferUShort.htmlDirectColorModel.htmlFilteredImageSource.htmlImageConsumer.htmlImageFilter.htmlImageObserver.htmlImageProducer.htmlImagingOpException.htmlIndexColorModel.htmlKernel.htmlLookupOp.htmlLookupTable.htmlMemoryImageSource.htmlMultiPixelPackedSampleModel.htmlMultiResolutionImage.htmlPackedColorModel.htmlPixelGrabber.htmlPixelInterleavedSampleModel.htmlRGBImageFilter.htmlRaster.htmlRasterFormatException.htmlRasterOp.htmlRenderedImage.htmlReplicateScaleFilter.htmlRescaleOp.htmlSampleModel.htmlShortLookupTable.htmlSinglePixelPackedSampleModel.htmlTileObserver.htmlVolatileImage.htmlWritableRaster.htmlWritableRenderedImage.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrenderableContextualRenderedImageFactory.htmlParameterBlock.htmlRenderContext.htmlRenderableImage.htmlRenderableImageOp.htmlRenderableImageProducer.htmlRenderedImageFactory.htmlclass-useContextualRenderedImageFactory.htmlParameterBlock.htmlRenderContext.htmlRenderableImage.htmlRenderableImageOp.htmlRenderableImageProducer.htmlRenderedImageFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlprintBook.htmlPageFormat.htmlPageable.htmlPaper.htmlPrintable.htmlPrinterAbortException.htmlPrinterException.htmlPrinterGraphics.htmlPrinterIOException.htmlPrinterJob.htmlclass-useBook.htmlPageFormat.htmlPageable.htmlPaper.htmlPrintable.htmlPrinterAbortException.htmlPrinterException.htmlPrinterGraphics.htmlPrinterIOException.htmlPrinterJob.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlbeansAppletInitializer.htmlBeanDescriptor.htmlBeanInfo.htmlBeanProperty.htmlBeans.htmlConstructorProperties.htmlCustomizer.htmlDefaultPersistenceDelegate.htmlDesignMode.htmlEncoder.htmlEventHandler.htmlEventSetDescriptor.htmlExceptionListener.htmlExpression.htmlFeatureDescriptor.htmlIndexedPropertyChangeEvent.htmlIndexedPropertyDescriptor.htmlIntrospectionException.htmlIntrospector.htmlJavaBean.htmlMethodDescriptor.htmlParameterDescriptor.htmlPersistenceDelegate.htmlPropertyChangeEvent.htmlPropertyChangeListener.htmlPropertyChangeListenerProxy.htmlPropertyChangeSupport.htmlPropertyDescriptor.htmlPropertyEditor.htmlPropertyEditorManager.htmlPropertyEditorSupport.htmlPropertyVetoException.htmlSimpleBeanInfo.htmlStatement.htmlTransient.htmlVetoableChangeListener.htmlVetoableChangeListenerProxy.htmlVetoableChangeSupport.htmlVisibility.htmlXMLDecoder.htmlXMLEncoder.htmlbeancontextBeanContext.htmlBeanContextChild.htmlBeanContextChildComponentProxy.htmlBeanContextChildSupport.htmlBeanContextContainerProxy.htmlBeanContextEvent.htmlBeanContextMembershipEvent.htmlBeanContextMembershipListener.htmlBeanContextProxy.htmlBeanContextServiceAvailableEvent.htmlBeanContextServiceProvider.htmlBeanContextServiceProviderBeanInfo.htmlBeanContextServiceRevokedEvent.htmlBeanContextServiceRevokedListener.htmlBeanContextServices.htmlBeanContextServicesListener.htmlBeanContextServicesSupport.BCSSChild.htmlBeanContextServicesSupport.BCSSProxyServiceProvider.htmlBeanContextServicesSupport.BCSSServiceProvider.htmlBeanContextServicesSupport.htmlBeanContextSupport.BCSChild.htmlBeanContextSupport.BCSIterator.htmlBeanContextSupport.htmlclass-useBeanContext.htmlBeanContextChild.htmlBeanContextChildComponentProxy.htmlBeanContextChildSupport.htmlBeanContextContainerProxy.htmlBeanContextEvent.htmlBeanContextMembershipEvent.htmlBeanContextMembershipListener.htmlBeanContextProxy.htmlBeanContextServiceAvailableEvent.htmlBeanContextServiceProvider.htmlBeanContextServiceProviderBeanInfo.htmlBeanContextServiceRevokedEvent.htmlBeanContextServiceRevokedListener.htmlBeanContextServices.htmlBeanContextServicesListener.htmlBeanContextServicesSupport.BCSSChild.htmlBeanContextServicesSupport.BCSSProxyServiceProvider.htmlBeanContextServicesSupport.BCSSServiceProvider.htmlBeanContextServicesSupport.htmlBeanContextSupport.BCSChild.htmlBeanContextSupport.BCSIterator.htmlBeanContextSupport.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAppletInitializer.htmlBeanDescriptor.htmlBeanInfo.htmlBeanProperty.htmlBeans.htmlConstructorProperties.htmlCustomizer.htmlDefaultPersistenceDelegate.htmlDesignMode.htmlEncoder.htmlEventHandler.htmlEventSetDescriptor.htmlExceptionListener.htmlExpression.htmlFeatureDescriptor.htmlIndexedPropertyChangeEvent.htmlIndexedPropertyDescriptor.htmlIntrospectionException.htmlIntrospector.htmlJavaBean.htmlMethodDescriptor.htmlParameterDescriptor.htmlPersistenceDelegate.htmlPropertyChangeEvent.htmlPropertyChangeListener.htmlPropertyChangeListenerProxy.htmlPropertyChangeSupport.htmlPropertyDescriptor.htmlPropertyEditor.htmlPropertyEditorManager.htmlPropertyEditorSupport.htmlPropertyVetoException.htmlSimpleBeanInfo.htmlStatement.htmlTransient.htmlVetoableChangeListener.htmlVetoableChangeListenerProxy.htmlVetoableChangeSupport.htmlVisibility.htmlXMLDecoder.htmlXMLEncoder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxaccessibilityAccessibilityProvider.htmlAccessible.htmlAccessibleAction.htmlAccessibleAttributeSequence.htmlAccessibleBundle.htmlAccessibleComponent.htmlAccessibleContext.htmlAccessibleEditableText.htmlAccessibleExtendedComponent.htmlAccessibleExtendedTable.htmlAccessibleExtendedText.htmlAccessibleHyperlink.htmlAccessibleHypertext.htmlAccessibleIcon.htmlAccessibleKeyBinding.htmlAccessibleRelation.htmlAccessibleRelationSet.htmlAccessibleResourceBundle.htmlAccessibleRole.htmlAccessibleSelection.htmlAccessibleState.htmlAccessibleStateSet.htmlAccessibleStreamable.htmlAccessibleTable.htmlAccessibleTableModelChange.htmlAccessibleText.htmlAccessibleTextSequence.htmlAccessibleValue.htmlclass-useAccessibilityProvider.htmlAccessible.htmlAccessibleAction.htmlAccessibleAttributeSequence.htmlAccessibleBundle.htmlAccessibleComponent.htmlAccessibleContext.htmlAccessibleEditableText.htmlAccessibleExtendedComponent.htmlAccessibleExtendedTable.htmlAccessibleExtendedText.htmlAccessibleHyperlink.htmlAccessibleHypertext.htmlAccessibleIcon.htmlAccessibleKeyBinding.htmlAccessibleRelation.htmlAccessibleRelationSet.htmlAccessibleResourceBundle.htmlAccessibleRole.htmlAccessibleSelection.htmlAccessibleState.htmlAccessibleStateSet.htmlAccessibleStreamable.htmlAccessibleTable.htmlAccessibleTableModelChange.htmlAccessibleText.htmlAccessibleTextSequence.htmlAccessibleValue.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimageioIIOException.htmlIIOImage.htmlIIOParam.htmlIIOParamController.htmlImageIO.htmlImageReadParam.htmlImageReader.htmlImageTranscoder.htmlImageTypeSpecifier.htmlImageWriteParam.htmlImageWriter.htmlclass-useIIOException.htmlIIOImage.htmlIIOParam.htmlIIOParamController.htmlImageIO.htmlImageReadParam.htmlImageReader.htmlImageTranscoder.htmlImageTypeSpecifier.htmlImageWriteParam.htmlImageWriter.htmleventIIOReadProgressListener.htmlIIOReadUpdateListener.htmlIIOReadWarningListener.htmlIIOWriteProgressListener.htmlIIOWriteWarningListener.htmlclass-useIIOReadProgressListener.htmlIIOReadUpdateListener.htmlIIOReadWarningListener.htmlIIOWriteProgressListener.htmlIIOWriteWarningListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmetadataIIOInvalidTreeException.htmlIIOMetadata.htmlIIOMetadataController.htmlIIOMetadataFormat.htmlIIOMetadataFormatImpl.htmlIIOMetadataNode.htmlclass-useIIOInvalidTreeException.htmlIIOMetadata.htmlIIOMetadataController.htmlIIOMetadataFormat.htmlIIOMetadataFormatImpl.htmlIIOMetadataNode.htmldoc-filesbmp_metadata.htmlgif_metadata.htmljpeg_metadata.htmlpng_metadata.htmlstandard_metadata.htmltiff_metadata.htmlwbmp_metadata.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpluginsbmpBMPImageWriteParam.htmlclass-useBMPImageWriteParam.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljpegJPEGHuffmanTable.htmlJPEGImageReadParam.htmlJPEGImageWriteParam.htmlJPEGQTable.htmlclass-useJPEGHuffmanTable.htmlJPEGImageReadParam.htmlJPEGImageWriteParam.htmlJPEGQTable.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltiffBaselineTIFFTagSet.htmlExifGPSTagSet.htmlExifInteroperabilityTagSet.htmlExifParentTIFFTagSet.htmlExifTIFFTagSet.htmlFaxTIFFTagSet.htmlGeoTIFFTagSet.htmlTIFFDirectory.htmlTIFFField.htmlTIFFImageReadParam.htmlTIFFTag.htmlTIFFTagSet.htmlclass-useBaselineTIFFTagSet.htmlExifGPSTagSet.htmlExifInteroperabilityTagSet.htmlExifParentTIFFTagSet.htmlExifTIFFTagSet.htmlFaxTIFFTagSet.htmlGeoTIFFTagSet.htmlTIFFDirectory.htmlTIFFField.htmlTIFFImageReadParam.htmlTIFFTag.htmlTIFFTagSet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiIIORegistry.htmlIIOServiceProvider.htmlImageInputStreamSpi.htmlImageOutputStreamSpi.htmlImageReaderSpi.htmlImageReaderWriterSpi.htmlImageTranscoderSpi.htmlImageWriterSpi.htmlRegisterableService.htmlServiceRegistry.Filter.htmlServiceRegistry.htmlclass-useIIORegistry.htmlIIOServiceProvider.htmlImageInputStreamSpi.htmlImageOutputStreamSpi.htmlImageReaderSpi.htmlImageReaderWriterSpi.htmlImageTranscoderSpi.htmlImageWriterSpi.htmlRegisterableService.htmlServiceRegistry.Filter.htmlServiceRegistry.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamFileCacheImageInputStream.htmlFileCacheImageOutputStream.htmlFileImageInputStream.htmlFileImageOutputStream.htmlIIOByteBuffer.htmlImageInputStream.htmlImageInputStreamImpl.htmlImageOutputStream.htmlImageOutputStreamImpl.htmlMemoryCacheImageInputStream.htmlMemoryCacheImageOutputStream.htmlclass-useFileCacheImageInputStream.htmlFileCacheImageOutputStream.htmlFileImageInputStream.htmlFileImageOutputStream.htmlIIOByteBuffer.htmlImageInputStream.htmlImageInputStreamImpl.htmlImageOutputStream.htmlImageOutputStreamImpl.htmlMemoryCacheImageInputStream.htmlMemoryCacheImageOutputStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlprintAttributeException.htmlCancelablePrintJob.htmlDoc.htmlDocFlavor.BYTE_ARRAY.htmlDocFlavor.CHAR_ARRAY.htmlDocFlavor.INPUT_STREAM.htmlDocFlavor.READER.htmlDocFlavor.SERVICE_FORMATTED.htmlDocFlavor.STRING.htmlDocFlavor.URL.htmlDocFlavor.htmlDocPrintJob.htmlFlavorException.htmlMultiDoc.htmlMultiDocPrintJob.htmlMultiDocPrintService.htmlPrintException.htmlPrintService.htmlPrintServiceLookup.htmlServiceUI.htmlServiceUIFactory.htmlSimpleDoc.htmlStreamPrintService.htmlStreamPrintServiceFactory.htmlURIException.htmlattributeAttribute.htmlAttributeSet.htmlAttributeSetUtilities.htmlDateTimeSyntax.htmlDocAttribute.htmlDocAttributeSet.htmlEnumSyntax.htmlHashAttributeSet.htmlHashDocAttributeSet.htmlHashPrintJobAttributeSet.htmlHashPrintRequestAttributeSet.htmlHashPrintServiceAttributeSet.htmlIntegerSyntax.htmlPrintJobAttribute.htmlPrintJobAttributeSet.htmlPrintRequestAttribute.htmlPrintRequestAttributeSet.htmlPrintServiceAttribute.htmlPrintServiceAttributeSet.htmlResolutionSyntax.htmlSetOfIntegerSyntax.htmlSize2DSyntax.htmlSupportedValuesAttribute.htmlTextSyntax.htmlURISyntax.htmlUnmodifiableSetException.htmlclass-useAttribute.htmlAttributeSet.htmlAttributeSetUtilities.htmlDateTimeSyntax.htmlDocAttribute.htmlDocAttributeSet.htmlEnumSyntax.htmlHashAttributeSet.htmlHashDocAttributeSet.htmlHashPrintJobAttributeSet.htmlHashPrintRequestAttributeSet.htmlHashPrintServiceAttributeSet.htmlIntegerSyntax.htmlPrintJobAttribute.htmlPrintJobAttributeSet.htmlPrintRequestAttribute.htmlPrintRequestAttributeSet.htmlPrintServiceAttribute.htmlPrintServiceAttributeSet.htmlResolutionSyntax.htmlSetOfIntegerSyntax.htmlSize2DSyntax.htmlSupportedValuesAttribute.htmlTextSyntax.htmlURISyntax.htmlUnmodifiableSetException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstandardChromaticity.htmlColorSupported.htmlCompression.htmlCopies.htmlCopiesSupported.htmlDateTimeAtCompleted.htmlDateTimeAtCreation.htmlDateTimeAtProcessing.htmlDestination.htmlDialogOwner.htmlDialogTypeSelection.htmlDocumentName.htmlFidelity.htmlFinishings.htmlJobHoldUntil.htmlJobImpressions.htmlJobImpressionsCompleted.htmlJobImpressionsSupported.htmlJobKOctets.htmlJobKOctetsProcessed.htmlJobKOctetsSupported.htmlJobMediaSheets.htmlJobMediaSheetsCompleted.htmlJobMediaSheetsSupported.htmlJobMessageFromOperator.htmlJobName.htmlJobOriginatingUserName.htmlJobPriority.htmlJobPrioritySupported.htmlJobSheets.htmlJobState.htmlJobStateReason.htmlJobStateReasons.htmlMedia.htmlMediaName.htmlMediaPrintableArea.htmlMediaSize.Engineering.htmlMediaSize.ISO.htmlMediaSize.JIS.htmlMediaSize.NA.htmlMediaSize.Other.htmlMediaSize.htmlMediaSizeName.htmlMediaTray.htmlMultipleDocumentHandling.htmlNumberOfDocuments.htmlNumberOfInterveningJobs.htmlNumberUp.htmlNumberUpSupported.htmlOrientationRequested.htmlOutputDeviceAssigned.htmlPDLOverrideSupported.htmlPageRanges.htmlPagesPerMinute.htmlPagesPerMinuteColor.htmlPresentationDirection.htmlPrintQuality.htmlPrinterInfo.htmlPrinterIsAcceptingJobs.htmlPrinterLocation.htmlPrinterMakeAndModel.htmlPrinterMessageFromOperator.htmlPrinterMoreInfo.htmlPrinterMoreInfoManufacturer.htmlPrinterName.htmlPrinterResolution.htmlPrinterState.htmlPrinterStateReason.htmlPrinterStateReasons.htmlPrinterURI.htmlQueuedJobCount.htmlReferenceUriSchemesSupported.htmlRequestingUserName.htmlSeverity.htmlSheetCollate.htmlSides.htmlclass-useChromaticity.htmlColorSupported.htmlCompression.htmlCopies.htmlCopiesSupported.htmlDateTimeAtCompleted.htmlDateTimeAtCreation.htmlDateTimeAtProcessing.htmlDestination.htmlDialogOwner.htmlDialogTypeSelection.htmlDocumentName.htmlFidelity.htmlFinishings.htmlJobHoldUntil.htmlJobImpressions.htmlJobImpressionsCompleted.htmlJobImpressionsSupported.htmlJobKOctets.htmlJobKOctetsProcessed.htmlJobKOctetsSupported.htmlJobMediaSheets.htmlJobMediaSheetsCompleted.htmlJobMediaSheetsSupported.htmlJobMessageFromOperator.htmlJobName.htmlJobOriginatingUserName.htmlJobPriority.htmlJobPrioritySupported.htmlJobSheets.htmlJobState.htmlJobStateReason.htmlJobStateReasons.htmlMedia.htmlMediaName.htmlMediaPrintableArea.htmlMediaSize.Engineering.htmlMediaSize.ISO.htmlMediaSize.JIS.htmlMediaSize.NA.htmlMediaSize.Other.htmlMediaSize.htmlMediaSizeName.htmlMediaTray.htmlMultipleDocumentHandling.htmlNumberOfDocuments.htmlNumberOfInterveningJobs.htmlNumberUp.htmlNumberUpSupported.htmlOrientationRequested.htmlOutputDeviceAssigned.htmlPDLOverrideSupported.htmlPageRanges.htmlPagesPerMinute.htmlPagesPerMinuteColor.htmlPresentationDirection.htmlPrintQuality.htmlPrinterInfo.htmlPrinterIsAcceptingJobs.htmlPrinterLocation.htmlPrinterMakeAndModel.htmlPrinterMessageFromOperator.htmlPrinterMoreInfo.htmlPrinterMoreInfoManufacturer.htmlPrinterName.htmlPrinterResolution.htmlPrinterState.htmlPrinterStateReason.htmlPrinterStateReasons.htmlPrinterURI.htmlQueuedJobCount.htmlReferenceUriSchemesSupported.htmlRequestingUserName.htmlSeverity.htmlSheetCollate.htmlSides.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAttributeException.htmlCancelablePrintJob.htmlDoc.htmlDocFlavor.BYTE_ARRAY.htmlDocFlavor.CHAR_ARRAY.htmlDocFlavor.INPUT_STREAM.htmlDocFlavor.READER.htmlDocFlavor.SERVICE_FORMATTED.htmlDocFlavor.STRING.htmlDocFlavor.URL.htmlDocFlavor.htmlDocPrintJob.htmlFlavorException.htmlMultiDoc.htmlMultiDocPrintJob.htmlMultiDocPrintService.htmlPrintException.htmlPrintService.htmlPrintServiceLookup.htmlServiceUI.htmlServiceUIFactory.htmlSimpleDoc.htmlStreamPrintService.htmlStreamPrintServiceFactory.htmlURIException.htmleventPrintEvent.htmlPrintJobAdapter.htmlPrintJobAttributeEvent.htmlPrintJobAttributeListener.htmlPrintJobEvent.htmlPrintJobListener.htmlPrintServiceAttributeEvent.htmlPrintServiceAttributeListener.htmlclass-usePrintEvent.htmlPrintJobAdapter.htmlPrintJobAttributeEvent.htmlPrintJobAttributeListener.htmlPrintJobEvent.htmlPrintJobListener.htmlPrintServiceAttributeEvent.htmlPrintServiceAttributeListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsoundmidiControllerEventListener.htmlInstrument.htmlInvalidMidiDataException.htmlMetaEventListener.htmlMetaMessage.htmlMidiChannel.htmlMidiDevice.Info.htmlMidiDevice.htmlMidiDeviceReceiver.htmlMidiDeviceTransmitter.htmlMidiEvent.htmlMidiFileFormat.htmlMidiMessage.htmlMidiSystem.htmlMidiUnavailableException.htmlPatch.htmlReceiver.htmlSequence.htmlSequencer.SyncMode.htmlSequencer.htmlShortMessage.htmlSoundbank.htmlSoundbankResource.htmlSynthesizer.htmlSysexMessage.htmlTrack.htmlTransmitter.htmlVoiceStatus.htmlclass-useControllerEventListener.htmlInstrument.htmlInvalidMidiDataException.htmlMetaEventListener.htmlMetaMessage.htmlMidiChannel.htmlMidiDevice.Info.htmlMidiDevice.htmlMidiDeviceReceiver.htmlMidiDeviceTransmitter.htmlMidiEvent.htmlMidiFileFormat.htmlMidiMessage.htmlMidiSystem.htmlMidiUnavailableException.htmlPatch.htmlReceiver.htmlSequence.htmlSequencer.SyncMode.htmlSequencer.htmlShortMessage.htmlSoundbank.htmlSoundbankResource.htmlSynthesizer.htmlSysexMessage.htmlTrack.htmlTransmitter.htmlVoiceStatus.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiMidiDeviceProvider.htmlMidiFileReader.htmlMidiFileWriter.htmlSoundbankReader.htmlclass-useMidiDeviceProvider.htmlMidiFileReader.htmlMidiFileWriter.htmlSoundbankReader.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsampledAudioFileFormat.Type.htmlAudioFileFormat.htmlAudioFormat.Encoding.htmlAudioFormat.htmlAudioInputStream.htmlAudioPermission.htmlAudioSystem.htmlBooleanControl.Type.htmlBooleanControl.htmlClip.htmlCompoundControl.Type.htmlCompoundControl.htmlControl.Type.htmlControl.htmlDataLine.Info.htmlDataLine.htmlEnumControl.Type.htmlEnumControl.htmlFloatControl.Type.htmlFloatControl.htmlLine.Info.htmlLine.htmlLineEvent.Type.htmlLineEvent.htmlLineListener.htmlLineUnavailableException.htmlMixer.Info.htmlMixer.htmlPort.Info.htmlPort.htmlReverbType.htmlSourceDataLine.htmlTargetDataLine.htmlUnsupportedAudioFileException.htmlclass-useAudioFileFormat.Type.htmlAudioFileFormat.htmlAudioFormat.Encoding.htmlAudioFormat.htmlAudioInputStream.htmlAudioPermission.htmlAudioSystem.htmlBooleanControl.Type.htmlBooleanControl.htmlClip.htmlCompoundControl.Type.htmlCompoundControl.htmlControl.Type.htmlControl.htmlDataLine.Info.htmlDataLine.htmlEnumControl.Type.htmlEnumControl.htmlFloatControl.Type.htmlFloatControl.htmlLine.Info.htmlLine.htmlLineEvent.Type.htmlLineEvent.htmlLineListener.htmlLineUnavailableException.htmlMixer.Info.htmlMixer.htmlPort.Info.htmlPort.htmlReverbType.htmlSourceDataLine.htmlTargetDataLine.htmlUnsupportedAudioFileException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAudioFileReader.htmlAudioFileWriter.htmlFormatConversionProvider.htmlMixerProvider.htmlclass-useAudioFileReader.htmlAudioFileWriter.htmlFormatConversionProvider.htmlMixerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlswingAbstractAction.htmlAbstractButton.AccessibleAbstractButton.htmlAbstractButton.ButtonChangeListener.htmlAbstractButton.htmlAbstractCellEditor.htmlAbstractListModel.htmlAbstractSpinnerModel.htmlAction.htmlActionMap.htmlBorderFactory.htmlBoundedRangeModel.htmlBox.AccessibleBox.htmlBox.Filler.AccessibleBoxFiller.htmlBox.Filler.htmlBox.htmlBoxLayout.htmlButtonGroup.htmlButtonModel.htmlCellEditor.htmlCellRendererPane.AccessibleCellRendererPane.htmlCellRendererPane.htmlComboBoxEditor.htmlComboBoxModel.htmlComponentInputMap.htmlDebugGraphics.htmlDefaultBoundedRangeModel.htmlDefaultButtonModel.htmlDefaultCellEditor.EditorDelegate.htmlDefaultCellEditor.htmlDefaultComboBoxModel.htmlDefaultDesktopManager.htmlDefaultFocusManager.htmlDefaultListCellRenderer.UIResource.htmlDefaultListCellRenderer.htmlDefaultListModel.htmlDefaultListSelectionModel.htmlDefaultRowSorter.ModelWrapper.htmlDefaultRowSorter.htmlDefaultSingleSelectionModel.htmlDesktopManager.htmlDropMode.htmlFocusManager.htmlGrayFilter.htmlGroupLayout.Alignment.htmlGroupLayout.Group.htmlGroupLayout.ParallelGroup.htmlGroupLayout.SequentialGroup.htmlGroupLayout.htmlIcon.htmlImageIcon.AccessibleImageIcon.htmlImageIcon.htmlInputMap.htmlInputVerifier.htmlInternalFrameFocusTraversalPolicy.htmlJApplet.AccessibleJApplet.htmlJApplet.htmlJButton.AccessibleJButton.htmlJButton.htmlJCheckBox.AccessibleJCheckBox.htmlJCheckBox.htmlJCheckBoxMenuItem.AccessibleJCheckBoxMenuItem.htmlJCheckBoxMenuItem.htmlJColorChooser.AccessibleJColorChooser.htmlJColorChooser.htmlJComboBox.AccessibleJComboBox.htmlJComboBox.KeySelectionManager.htmlJComboBox.htmlJComponent.AccessibleJComponent.AccessibleContainerHandler.htmlJComponent.AccessibleJComponent.AccessibleFocusHandler.htmlJComponent.AccessibleJComponent.htmlJComponent.htmlJDesktopPane.AccessibleJDesktopPane.htmlJDesktopPane.htmlJDialog.AccessibleJDialog.htmlJDialog.htmlJEditorPane.AccessibleJEditorPane.htmlJEditorPane.AccessibleJEditorPaneHTML.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.htmlJEditorPane.htmlJFileChooser.AccessibleJFileChooser.htmlJFileChooser.htmlJFormattedTextField.AbstractFormatter.htmlJFormattedTextField.AbstractFormatterFactory.htmlJFormattedTextField.htmlJFrame.AccessibleJFrame.htmlJFrame.htmlJInternalFrame.AccessibleJInternalFrame.htmlJInternalFrame.JDesktopIcon.AccessibleJDesktopIcon.htmlJInternalFrame.JDesktopIcon.htmlJInternalFrame.htmlJLabel.AccessibleJLabel.htmlJLabel.htmlJLayer.htmlJLayeredPane.AccessibleJLayeredPane.htmlJLayeredPane.htmlJList.AccessibleJList.AccessibleJListChild.htmlJList.AccessibleJList.htmlJList.DropLocation.htmlJList.htmlJMenu.AccessibleJMenu.htmlJMenu.WinListener.htmlJMenu.htmlJMenuBar.AccessibleJMenuBar.htmlJMenuBar.htmlJMenuItem.AccessibleJMenuItem.htmlJMenuItem.htmlJOptionPane.AccessibleJOptionPane.htmlJOptionPane.htmlJPanel.AccessibleJPanel.htmlJPanel.htmlJPasswordField.AccessibleJPasswordField.htmlJPasswordField.htmlJPopupMenu.AccessibleJPopupMenu.htmlJPopupMenu.Separator.htmlJPopupMenu.htmlJProgressBar.AccessibleJProgressBar.htmlJProgressBar.htmlJRadioButton.AccessibleJRadioButton.htmlJRadioButton.htmlJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem.htmlJRadioButtonMenuItem.htmlJRootPane.AccessibleJRootPane.htmlJRootPane.RootLayout.htmlJRootPane.htmlJScrollBar.AccessibleJScrollBar.htmlJScrollBar.htmlJScrollPane.AccessibleJScrollPane.htmlJScrollPane.ScrollBar.htmlJScrollPane.htmlJSeparator.AccessibleJSeparator.htmlJSeparator.htmlJSlider.AccessibleJSlider.htmlJSlider.htmlJSpinner.AccessibleJSpinner.htmlJSpinner.DateEditor.htmlJSpinner.DefaultEditor.htmlJSpinner.ListEditor.htmlJSpinner.NumberEditor.htmlJSpinner.htmlJSplitPane.AccessibleJSplitPane.htmlJSplitPane.htmlJTabbedPane.AccessibleJTabbedPane.htmlJTabbedPane.ModelListener.htmlJTabbedPane.htmlJTable.AccessibleJTable.AccessibleJTableCell.htmlJTable.AccessibleJTable.AccessibleJTableModelChange.htmlJTable.AccessibleJTable.htmlJTable.DropLocation.htmlJTable.PrintMode.htmlJTable.htmlJTextArea.AccessibleJTextArea.htmlJTextArea.htmlJTextField.AccessibleJTextField.htmlJTextField.htmlJTextPane.htmlJToggleButton.AccessibleJToggleButton.htmlJToggleButton.ToggleButtonModel.htmlJToggleButton.htmlJToolBar.AccessibleJToolBar.htmlJToolBar.Separator.htmlJToolBar.htmlJToolTip.AccessibleJToolTip.htmlJToolTip.htmlJTree.AccessibleJTree.AccessibleJTreeNode.htmlJTree.AccessibleJTree.htmlJTree.DropLocation.htmlJTree.DynamicUtilTreeNode.htmlJTree.EmptySelectionModel.htmlJTree.TreeModelHandler.htmlJTree.TreeSelectionRedirector.htmlJTree.htmlJViewport.AccessibleJViewport.htmlJViewport.ViewListener.htmlJViewport.htmlJWindow.AccessibleJWindow.htmlJWindow.htmlKeyStroke.htmlLayoutFocusTraversalPolicy.htmlLayoutStyle.ComponentPlacement.htmlLayoutStyle.htmlListCellRenderer.htmlListModel.htmlListSelectionModel.htmlLookAndFeel.htmlMenuElement.htmlMenuSelectionManager.htmlMutableComboBoxModel.htmlOverlayLayout.htmlPainter.htmlPopup.htmlPopupFactory.htmlProgressMonitor.AccessibleProgressMonitor.htmlProgressMonitor.htmlProgressMonitorInputStream.htmlRenderer.htmlRepaintManager.htmlRootPaneContainer.htmlRowFilter.ComparisonType.htmlRowFilter.Entry.htmlRowFilter.htmlRowSorter.SortKey.htmlRowSorter.htmlScrollPaneConstants.htmlScrollPaneLayout.UIResource.htmlScrollPaneLayout.htmlScrollable.htmlSingleSelectionModel.htmlSizeRequirements.htmlSizeSequence.htmlSortOrder.htmlSortingFocusTraversalPolicy.htmlSpinnerDateModel.htmlSpinnerListModel.htmlSpinnerModel.htmlSpinnerNumberModel.htmlSpring.htmlSpringLayout.Constraints.htmlSpringLayout.htmlSwingConstants.htmlSwingContainer.htmlSwingUtilities.htmlSwingWorker.StateValue.htmlSwingWorker.htmlTimer.htmlToolTipManager.htmlToolTipManager.insideTimerAction.htmlToolTipManager.outsideTimerAction.htmlToolTipManager.stillInsideTimerAction.htmlTransferHandler.DropLocation.htmlTransferHandler.TransferSupport.htmlTransferHandler.htmlUIClientPropertyKey.htmlUIDefaults.ActiveValue.htmlUIDefaults.LazyInputMap.htmlUIDefaults.LazyValue.htmlUIDefaults.ProxyLazyValue.htmlUIDefaults.htmlUIManager.LookAndFeelInfo.htmlUIManager.htmlUnsupportedLookAndFeelException.htmlViewportLayout.htmlWindowConstants.htmlborderAbstractBorder.htmlBevelBorder.htmlBorder.htmlCompoundBorder.htmlEmptyBorder.htmlEtchedBorder.htmlLineBorder.htmlMatteBorder.htmlSoftBevelBorder.htmlStrokeBorder.htmlTitledBorder.htmlclass-useAbstractBorder.htmlBevelBorder.htmlBorder.htmlCompoundBorder.htmlEmptyBorder.htmlEtchedBorder.htmlLineBorder.htmlMatteBorder.htmlSoftBevelBorder.htmlStrokeBorder.htmlTitledBorder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractAction.htmlAbstractButton.AccessibleAbstractButton.htmlAbstractButton.ButtonChangeListener.htmlAbstractButton.htmlAbstractCellEditor.htmlAbstractListModel.htmlAbstractSpinnerModel.htmlAction.htmlActionMap.htmlBorderFactory.htmlBoundedRangeModel.htmlBox.AccessibleBox.htmlBox.Filler.AccessibleBoxFiller.htmlBox.Filler.htmlBox.htmlBoxLayout.htmlButtonGroup.htmlButtonModel.htmlCellEditor.htmlCellRendererPane.AccessibleCellRendererPane.htmlCellRendererPane.htmlComboBoxEditor.htmlComboBoxModel.htmlComponentInputMap.htmlDebugGraphics.htmlDefaultBoundedRangeModel.htmlDefaultButtonModel.htmlDefaultCellEditor.EditorDelegate.htmlDefaultCellEditor.htmlDefaultComboBoxModel.htmlDefaultDesktopManager.htmlDefaultFocusManager.htmlDefaultListCellRenderer.UIResource.htmlDefaultListCellRenderer.htmlDefaultListModel.htmlDefaultListSelectionModel.htmlDefaultRowSorter.ModelWrapper.htmlDefaultRowSorter.htmlDefaultSingleSelectionModel.htmlDesktopManager.htmlDropMode.htmlFocusManager.htmlGrayFilter.htmlGroupLayout.Alignment.htmlGroupLayout.Group.htmlGroupLayout.ParallelGroup.htmlGroupLayout.SequentialGroup.htmlGroupLayout.htmlIcon.htmlImageIcon.AccessibleImageIcon.htmlImageIcon.htmlInputMap.htmlInputVerifier.htmlInternalFrameFocusTraversalPolicy.htmlJApplet.AccessibleJApplet.htmlJApplet.htmlJButton.AccessibleJButton.htmlJButton.htmlJCheckBox.AccessibleJCheckBox.htmlJCheckBox.htmlJCheckBoxMenuItem.AccessibleJCheckBoxMenuItem.htmlJCheckBoxMenuItem.htmlJColorChooser.AccessibleJColorChooser.htmlJColorChooser.htmlJComboBox.AccessibleJComboBox.htmlJComboBox.KeySelectionManager.htmlJComboBox.htmlJComponent.AccessibleJComponent.AccessibleContainerHandler.htmlJComponent.AccessibleJComponent.AccessibleFocusHandler.htmlJComponent.AccessibleJComponent.htmlJComponent.htmlJDesktopPane.AccessibleJDesktopPane.htmlJDesktopPane.htmlJDialog.AccessibleJDialog.htmlJDialog.htmlJEditorPane.AccessibleJEditorPane.htmlJEditorPane.AccessibleJEditorPaneHTML.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.htmlJEditorPane.htmlJFileChooser.AccessibleJFileChooser.htmlJFileChooser.htmlJFormattedTextField.AbstractFormatter.htmlJFormattedTextField.AbstractFormatterFactory.htmlJFormattedTextField.htmlJFrame.AccessibleJFrame.htmlJFrame.htmlJInternalFrame.AccessibleJInternalFrame.htmlJInternalFrame.JDesktopIcon.AccessibleJDesktopIcon.htmlJInternalFrame.JDesktopIcon.htmlJInternalFrame.htmlJLabel.AccessibleJLabel.htmlJLabel.htmlJLayer.htmlJLayeredPane.AccessibleJLayeredPane.htmlJLayeredPane.htmlJList.AccessibleJList.AccessibleJListChild.htmlJList.AccessibleJList.htmlJList.DropLocation.htmlJList.htmlJMenu.AccessibleJMenu.htmlJMenu.WinListener.htmlJMenu.htmlJMenuBar.AccessibleJMenuBar.htmlJMenuBar.htmlJMenuItem.AccessibleJMenuItem.htmlJMenuItem.htmlJOptionPane.AccessibleJOptionPane.htmlJOptionPane.htmlJPanel.AccessibleJPanel.htmlJPanel.htmlJPasswordField.AccessibleJPasswordField.htmlJPasswordField.htmlJPopupMenu.AccessibleJPopupMenu.htmlJPopupMenu.Separator.htmlJPopupMenu.htmlJProgressBar.AccessibleJProgressBar.htmlJProgressBar.htmlJRadioButton.AccessibleJRadioButton.htmlJRadioButton.htmlJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem.htmlJRadioButtonMenuItem.htmlJRootPane.AccessibleJRootPane.htmlJRootPane.RootLayout.htmlJRootPane.htmlJScrollBar.AccessibleJScrollBar.htmlJScrollBar.htmlJScrollPane.AccessibleJScrollPane.htmlJScrollPane.ScrollBar.htmlJScrollPane.htmlJSeparator.AccessibleJSeparator.htmlJSeparator.htmlJSlider.AccessibleJSlider.htmlJSlider.htmlJSpinner.AccessibleJSpinner.htmlJSpinner.DateEditor.htmlJSpinner.DefaultEditor.htmlJSpinner.ListEditor.htmlJSpinner.NumberEditor.htmlJSpinner.htmlJSplitPane.AccessibleJSplitPane.htmlJSplitPane.htmlJTabbedPane.AccessibleJTabbedPane.htmlJTabbedPane.ModelListener.htmlJTabbedPane.htmlJTable.AccessibleJTable.AccessibleJTableCell.htmlJTable.AccessibleJTable.AccessibleJTableModelChange.htmlJTable.AccessibleJTable.htmlJTable.DropLocation.htmlJTable.PrintMode.htmlJTable.htmlJTextArea.AccessibleJTextArea.htmlJTextArea.htmlJTextField.AccessibleJTextField.htmlJTextField.htmlJTextPane.htmlJToggleButton.AccessibleJToggleButton.htmlJToggleButton.ToggleButtonModel.htmlJToggleButton.htmlJToolBar.AccessibleJToolBar.htmlJToolBar.Separator.htmlJToolBar.htmlJToolTip.AccessibleJToolTip.htmlJToolTip.htmlJTree.AccessibleJTree.AccessibleJTreeNode.htmlJTree.AccessibleJTree.htmlJTree.DropLocation.htmlJTree.DynamicUtilTreeNode.htmlJTree.EmptySelectionModel.htmlJTree.TreeModelHandler.htmlJTree.TreeSelectionRedirector.htmlJTree.htmlJViewport.AccessibleJViewport.htmlJViewport.ViewListener.htmlJViewport.htmlJWindow.AccessibleJWindow.htmlJWindow.htmlKeyStroke.htmlLayoutFocusTraversalPolicy.htmlLayoutStyle.ComponentPlacement.htmlLayoutStyle.htmlListCellRenderer.htmlListModel.htmlListSelectionModel.htmlLookAndFeel.htmlMenuElement.htmlMenuSelectionManager.htmlMutableComboBoxModel.htmlOverlayLayout.htmlPainter.htmlPopup.htmlPopupFactory.htmlProgressMonitor.AccessibleProgressMonitor.htmlProgressMonitor.htmlProgressMonitorInputStream.htmlRenderer.htmlRepaintManager.htmlRootPaneContainer.htmlRowFilter.ComparisonType.htmlRowFilter.Entry.htmlRowFilter.htmlRowSorter.SortKey.htmlRowSorter.htmlScrollPaneConstants.htmlScrollPaneLayout.UIResource.htmlScrollPaneLayout.htmlScrollable.htmlSingleSelectionModel.htmlSizeRequirements.htmlSizeSequence.htmlSortOrder.htmlSortingFocusTraversalPolicy.htmlSpinnerDateModel.htmlSpinnerListModel.htmlSpinnerModel.htmlSpinnerNumberModel.htmlSpring.htmlSpringLayout.Constraints.htmlSpringLayout.htmlSwingConstants.htmlSwingContainer.htmlSwingUtilities.htmlSwingWorker.StateValue.htmlSwingWorker.htmlTimer.htmlToolTipManager.htmlToolTipManager.insideTimerAction.htmlToolTipManager.outsideTimerAction.htmlToolTipManager.stillInsideTimerAction.htmlTransferHandler.DropLocation.htmlTransferHandler.TransferSupport.htmlTransferHandler.htmlUIClientPropertyKey.htmlUIDefaults.ActiveValue.htmlUIDefaults.LazyInputMap.htmlUIDefaults.LazyValue.htmlUIDefaults.ProxyLazyValue.htmlUIDefaults.htmlUIManager.LookAndFeelInfo.htmlUIManager.htmlUnsupportedLookAndFeelException.htmlViewportLayout.htmlWindowConstants.htmlcolorchooserAbstractColorChooserPanel.htmlColorChooserComponentFactory.htmlColorSelectionModel.htmlDefaultColorSelectionModel.htmlclass-useAbstractColorChooserPanel.htmlColorChooserComponentFactory.htmlColorSelectionModel.htmlDefaultColorSelectionModel.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesBoxLayout-1.gifJLayeredPane-1.gifJRootPane-1.gifJRootPane-2.gifJScrollPane-1.gifSizeSequence-1.gifgroupLayout.1.gifgroupLayout.2.gifgroupLayout.3.gifgroupLayout.example.pnggroupLayout.sequential.gifgroupLayout.sequential.horizontal.gifgroupLayout.sequential.vertical.gifeventAncestorEvent.htmlAncestorListener.htmlCaretEvent.htmlCaretListener.htmlCellEditorListener.htmlChangeEvent.htmlChangeListener.htmlDocumentEvent.ElementChange.htmlDocumentEvent.EventType.htmlDocumentEvent.htmlDocumentListener.htmlEventListenerList.htmlHyperlinkEvent.EventType.htmlHyperlinkEvent.htmlHyperlinkListener.htmlInternalFrameAdapter.htmlInternalFrameEvent.htmlInternalFrameListener.htmlListDataEvent.htmlListDataListener.htmlListSelectionEvent.htmlListSelectionListener.htmlMenuDragMouseEvent.htmlMenuDragMouseListener.htmlMenuEvent.htmlMenuKeyEvent.htmlMenuKeyListener.htmlMenuListener.htmlMouseInputAdapter.htmlMouseInputListener.htmlPopupMenuEvent.htmlPopupMenuListener.htmlRowSorterEvent.Type.htmlRowSorterEvent.htmlRowSorterListener.htmlSwingPropertyChangeSupport.htmlTableColumnModelEvent.htmlTableColumnModelListener.htmlTableModelEvent.htmlTableModelListener.htmlTreeExpansionEvent.htmlTreeExpansionListener.htmlTreeModelEvent.htmlTreeModelListener.htmlTreeSelectionEvent.htmlTreeSelectionListener.htmlTreeWillExpandListener.htmlUndoableEditEvent.htmlUndoableEditListener.htmlclass-useAncestorEvent.htmlAncestorListener.htmlCaretEvent.htmlCaretListener.htmlCellEditorListener.htmlChangeEvent.htmlChangeListener.htmlDocumentEvent.ElementChange.htmlDocumentEvent.EventType.htmlDocumentEvent.htmlDocumentListener.htmlEventListenerList.htmlHyperlinkEvent.EventType.htmlHyperlinkEvent.htmlHyperlinkListener.htmlInternalFrameAdapter.htmlInternalFrameEvent.htmlInternalFrameListener.htmlListDataEvent.htmlListDataListener.htmlListSelectionEvent.htmlListSelectionListener.htmlMenuDragMouseEvent.htmlMenuDragMouseListener.htmlMenuEvent.htmlMenuKeyEvent.htmlMenuKeyListener.htmlMenuListener.htmlMouseInputAdapter.htmlMouseInputListener.htmlPopupMenuEvent.htmlPopupMenuListener.htmlRowSorterEvent.Type.htmlRowSorterEvent.htmlRowSorterListener.htmlSwingPropertyChangeSupport.htmlTableColumnModelEvent.htmlTableColumnModelListener.htmlTableModelEvent.htmlTableModelListener.htmlTreeExpansionEvent.htmlTreeExpansionListener.htmlTreeModelEvent.htmlTreeModelListener.htmlTreeSelectionEvent.htmlTreeSelectionListener.htmlTreeWillExpandListener.htmlUndoableEditEvent.htmlUndoableEditListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfilechooserFileFilter.htmlFileNameExtensionFilter.htmlFileSystemView.htmlFileView.htmlclass-useFileFilter.htmlFileNameExtensionFilter.htmlFileSystemView.htmlFileView.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlplafActionMapUIResource.htmlBorderUIResource.BevelBorderUIResource.htmlBorderUIResource.CompoundBorderUIResource.htmlBorderUIResource.EmptyBorderUIResource.htmlBorderUIResource.EtchedBorderUIResource.htmlBorderUIResource.LineBorderUIResource.htmlBorderUIResource.MatteBorderUIResource.htmlBorderUIResource.TitledBorderUIResource.htmlBorderUIResource.htmlButtonUI.htmlColorChooserUI.htmlColorUIResource.htmlComboBoxUI.htmlComponentInputMapUIResource.htmlComponentUI.htmlDesktopIconUI.htmlDesktopPaneUI.htmlDimensionUIResource.htmlFileChooserUI.htmlFontUIResource.htmlIconUIResource.htmlInputMapUIResource.htmlInsetsUIResource.htmlInternalFrameUI.htmlLabelUI.htmlLayerUI.htmlListUI.htmlMenuBarUI.htmlMenuItemUI.htmlOptionPaneUI.htmlPanelUI.htmlPopupMenuUI.htmlProgressBarUI.htmlRootPaneUI.htmlScrollBarUI.htmlScrollPaneUI.htmlSeparatorUI.htmlSliderUI.htmlSpinnerUI.htmlSplitPaneUI.htmlTabbedPaneUI.htmlTableHeaderUI.htmlTableUI.htmlTextUI.htmlToolBarUI.htmlToolTipUI.htmlTreeUI.htmlUIResource.htmlViewportUI.htmlbasicBasicArrowButton.htmlBasicBorders.ButtonBorder.htmlBasicBorders.FieldBorder.htmlBasicBorders.MarginBorder.htmlBasicBorders.MenuBarBorder.htmlBasicBorders.RadioButtonBorder.htmlBasicBorders.RolloverButtonBorder.htmlBasicBorders.SplitPaneBorder.htmlBasicBorders.ToggleButtonBorder.htmlBasicBorders.htmlBasicButtonListener.htmlBasicButtonUI.htmlBasicCheckBoxMenuItemUI.htmlBasicCheckBoxUI.htmlBasicColorChooserUI.PropertyHandler.htmlBasicColorChooserUI.htmlBasicComboBoxEditor.UIResource.htmlBasicComboBoxEditor.htmlBasicComboBoxRenderer.UIResource.htmlBasicComboBoxRenderer.htmlBasicComboBoxUI.ComboBoxLayoutManager.htmlBasicComboBoxUI.FocusHandler.htmlBasicComboBoxUI.ItemHandler.htmlBasicComboBoxUI.KeyHandler.htmlBasicComboBoxUI.ListDataHandler.htmlBasicComboBoxUI.PropertyChangeHandler.htmlBasicComboBoxUI.htmlBasicComboPopup.InvocationKeyHandler.htmlBasicComboPopup.InvocationMouseHandler.htmlBasicComboPopup.InvocationMouseMotionHandler.htmlBasicComboPopup.ItemHandler.htmlBasicComboPopup.ListDataHandler.htmlBasicComboPopup.ListMouseHandler.htmlBasicComboPopup.ListMouseMotionHandler.htmlBasicComboPopup.ListSelectionHandler.htmlBasicComboPopup.PropertyChangeHandler.htmlBasicComboPopup.htmlBasicDesktopIconUI.MouseInputHandler.htmlBasicDesktopIconUI.htmlBasicDesktopPaneUI.CloseAction.htmlBasicDesktopPaneUI.MaximizeAction.htmlBasicDesktopPaneUI.MinimizeAction.htmlBasicDesktopPaneUI.NavigateAction.htmlBasicDesktopPaneUI.OpenAction.htmlBasicDesktopPaneUI.htmlBasicDirectoryModel.htmlBasicEditorPaneUI.htmlBasicFileChooserUI.AcceptAllFileFilter.htmlBasicFileChooserUI.ApproveSelectionAction.htmlBasicFileChooserUI.BasicFileView.htmlBasicFileChooserUI.CancelSelectionAction.htmlBasicFileChooserUI.ChangeToParentDirectoryAction.htmlBasicFileChooserUI.DoubleClickListener.htmlBasicFileChooserUI.GoHomeAction.htmlBasicFileChooserUI.NewFolderAction.htmlBasicFileChooserUI.SelectionListener.htmlBasicFileChooserUI.UpdateAction.htmlBasicFileChooserUI.htmlBasicFormattedTextFieldUI.htmlBasicGraphicsUtils.htmlBasicHTML.htmlBasicIconFactory.htmlBasicInternalFrameTitlePane.CloseAction.htmlBasicInternalFrameTitlePane.IconifyAction.htmlBasicInternalFrameTitlePane.MaximizeAction.htmlBasicInternalFrameTitlePane.MoveAction.htmlBasicInternalFrameTitlePane.PropertyChangeHandler.htmlBasicInternalFrameTitlePane.RestoreAction.htmlBasicInternalFrameTitlePane.SizeAction.htmlBasicInternalFrameTitlePane.SystemMenuBar.htmlBasicInternalFrameTitlePane.TitlePaneLayout.htmlBasicInternalFrameTitlePane.htmlBasicInternalFrameUI.BasicInternalFrameListener.htmlBasicInternalFrameUI.BorderListener.htmlBasicInternalFrameUI.ComponentHandler.htmlBasicInternalFrameUI.GlassPaneDispatcher.htmlBasicInternalFrameUI.InternalFrameLayout.htmlBasicInternalFrameUI.InternalFramePropertyChangeListener.htmlBasicInternalFrameUI.htmlBasicLabelUI.htmlBasicListUI.FocusHandler.htmlBasicListUI.ListDataHandler.htmlBasicListUI.ListSelectionHandler.htmlBasicListUI.MouseInputHandler.htmlBasicListUI.PropertyChangeHandler.htmlBasicListUI.htmlBasicLookAndFeel.htmlBasicMenuBarUI.htmlBasicMenuItemUI.MouseInputHandler.htmlBasicMenuItemUI.htmlBasicMenuUI.ChangeHandler.htmlBasicMenuUI.MouseInputHandler.htmlBasicMenuUI.htmlBasicOptionPaneUI.ButtonActionListener.htmlBasicOptionPaneUI.ButtonAreaLayout.htmlBasicOptionPaneUI.PropertyChangeHandler.htmlBasicOptionPaneUI.htmlBasicPanelUI.htmlBasicPasswordFieldUI.htmlBasicPopupMenuSeparatorUI.htmlBasicPopupMenuUI.htmlBasicProgressBarUI.ChangeHandler.htmlBasicProgressBarUI.htmlBasicRadioButtonMenuItemUI.htmlBasicRadioButtonUI.htmlBasicRootPaneUI.htmlBasicScrollBarUI.ArrowButtonListener.htmlBasicScrollBarUI.ModelListener.htmlBasicScrollBarUI.PropertyChangeHandler.htmlBasicScrollBarUI.ScrollListener.htmlBasicScrollBarUI.TrackListener.htmlBasicScrollBarUI.htmlBasicScrollPaneUI.HSBChangeListener.htmlBasicScrollPaneUI.MouseWheelHandler.htmlBasicScrollPaneUI.PropertyChangeHandler.htmlBasicScrollPaneUI.VSBChangeListener.htmlBasicScrollPaneUI.ViewportChangeHandler.htmlBasicScrollPaneUI.htmlBasicSeparatorUI.htmlBasicSliderUI.ActionScroller.htmlBasicSliderUI.ChangeHandler.htmlBasicSliderUI.ComponentHandler.htmlBasicSliderUI.FocusHandler.htmlBasicSliderUI.PropertyChangeHandler.htmlBasicSliderUI.ScrollListener.htmlBasicSliderUI.TrackListener.htmlBasicSliderUI.htmlBasicSpinnerUI.htmlBasicSplitPaneDivider.DividerLayout.htmlBasicSplitPaneDivider.DragController.htmlBasicSplitPaneDivider.MouseHandler.htmlBasicSplitPaneDivider.VerticalDragController.htmlBasicSplitPaneDivider.htmlBasicSplitPaneUI.BasicHorizontalLayoutManager.htmlBasicSplitPaneUI.BasicVerticalLayoutManager.htmlBasicSplitPaneUI.FocusHandler.htmlBasicSplitPaneUI.KeyboardDownRightHandler.htmlBasicSplitPaneUI.KeyboardEndHandler.htmlBasicSplitPaneUI.KeyboardHomeHandler.htmlBasicSplitPaneUI.KeyboardResizeToggleHandler.htmlBasicSplitPaneUI.KeyboardUpLeftHandler.htmlBasicSplitPaneUI.PropertyHandler.htmlBasicSplitPaneUI.htmlBasicTabbedPaneUI.FocusHandler.htmlBasicTabbedPaneUI.MouseHandler.htmlBasicTabbedPaneUI.PropertyChangeHandler.htmlBasicTabbedPaneUI.TabSelectionHandler.htmlBasicTabbedPaneUI.TabbedPaneLayout.htmlBasicTabbedPaneUI.htmlBasicTableHeaderUI.MouseInputHandler.htmlBasicTableHeaderUI.htmlBasicTableUI.FocusHandler.htmlBasicTableUI.KeyHandler.htmlBasicTableUI.MouseInputHandler.htmlBasicTableUI.htmlBasicTextAreaUI.htmlBasicTextFieldUI.htmlBasicTextPaneUI.htmlBasicTextUI.BasicCaret.htmlBasicTextUI.BasicHighlighter.htmlBasicTextUI.htmlBasicToggleButtonUI.htmlBasicToolBarSeparatorUI.htmlBasicToolBarUI.DockingListener.htmlBasicToolBarUI.DragWindow.htmlBasicToolBarUI.FrameListener.htmlBasicToolBarUI.PropertyListener.htmlBasicToolBarUI.ToolBarContListener.htmlBasicToolBarUI.ToolBarFocusListener.htmlBasicToolBarUI.htmlBasicToolTipUI.htmlBasicTreeUI.CellEditorHandler.htmlBasicTreeUI.ComponentHandler.htmlBasicTreeUI.FocusHandler.htmlBasicTreeUI.KeyHandler.htmlBasicTreeUI.MouseHandler.htmlBasicTreeUI.MouseInputHandler.htmlBasicTreeUI.NodeDimensionsHandler.htmlBasicTreeUI.PropertyChangeHandler.htmlBasicTreeUI.SelectionModelPropertyChangeHandler.htmlBasicTreeUI.TreeCancelEditingAction.htmlBasicTreeUI.TreeExpansionHandler.htmlBasicTreeUI.TreeHomeAction.htmlBasicTreeUI.TreeIncrementAction.htmlBasicTreeUI.TreeModelHandler.htmlBasicTreeUI.TreePageAction.htmlBasicTreeUI.TreeSelectionHandler.htmlBasicTreeUI.TreeToggleAction.htmlBasicTreeUI.TreeTraverseAction.htmlBasicTreeUI.htmlBasicViewportUI.htmlComboPopup.htmlDefaultMenuLayout.htmlclass-useBasicArrowButton.htmlBasicBorders.ButtonBorder.htmlBasicBorders.FieldBorder.htmlBasicBorders.MarginBorder.htmlBasicBorders.MenuBarBorder.htmlBasicBorders.RadioButtonBorder.htmlBasicBorders.RolloverButtonBorder.htmlBasicBorders.SplitPaneBorder.htmlBasicBorders.ToggleButtonBorder.htmlBasicBorders.htmlBasicButtonListener.htmlBasicButtonUI.htmlBasicCheckBoxMenuItemUI.htmlBasicCheckBoxUI.htmlBasicColorChooserUI.PropertyHandler.htmlBasicColorChooserUI.htmlBasicComboBoxEditor.UIResource.htmlBasicComboBoxEditor.htmlBasicComboBoxRenderer.UIResource.htmlBasicComboBoxRenderer.htmlBasicComboBoxUI.ComboBoxLayoutManager.htmlBasicComboBoxUI.FocusHandler.htmlBasicComboBoxUI.ItemHandler.htmlBasicComboBoxUI.KeyHandler.htmlBasicComboBoxUI.ListDataHandler.htmlBasicComboBoxUI.PropertyChangeHandler.htmlBasicComboBoxUI.htmlBasicComboPopup.InvocationKeyHandler.htmlBasicComboPopup.InvocationMouseHandler.htmlBasicComboPopup.InvocationMouseMotionHandler.htmlBasicComboPopup.ItemHandler.htmlBasicComboPopup.ListDataHandler.htmlBasicComboPopup.ListMouseHandler.htmlBasicComboPopup.ListMouseMotionHandler.htmlBasicComboPopup.ListSelectionHandler.htmlBasicComboPopup.PropertyChangeHandler.htmlBasicComboPopup.htmlBasicDesktopIconUI.MouseInputHandler.htmlBasicDesktopIconUI.htmlBasicDesktopPaneUI.CloseAction.htmlBasicDesktopPaneUI.MaximizeAction.htmlBasicDesktopPaneUI.MinimizeAction.htmlBasicDesktopPaneUI.NavigateAction.htmlBasicDesktopPaneUI.OpenAction.htmlBasicDesktopPaneUI.htmlBasicDirectoryModel.htmlBasicEditorPaneUI.htmlBasicFileChooserUI.AcceptAllFileFilter.htmlBasicFileChooserUI.ApproveSelectionAction.htmlBasicFileChooserUI.BasicFileView.htmlBasicFileChooserUI.CancelSelectionAction.htmlBasicFileChooserUI.ChangeToParentDirectoryAction.htmlBasicFileChooserUI.DoubleClickListener.htmlBasicFileChooserUI.GoHomeAction.htmlBasicFileChooserUI.NewFolderAction.htmlBasicFileChooserUI.SelectionListener.htmlBasicFileChooserUI.UpdateAction.htmlBasicFileChooserUI.htmlBasicFormattedTextFieldUI.htmlBasicGraphicsUtils.htmlBasicHTML.htmlBasicIconFactory.htmlBasicInternalFrameTitlePane.CloseAction.htmlBasicInternalFrameTitlePane.IconifyAction.htmlBasicInternalFrameTitlePane.MaximizeAction.htmlBasicInternalFrameTitlePane.MoveAction.htmlBasicInternalFrameTitlePane.PropertyChangeHandler.htmlBasicInternalFrameTitlePane.RestoreAction.htmlBasicInternalFrameTitlePane.SizeAction.htmlBasicInternalFrameTitlePane.SystemMenuBar.htmlBasicInternalFrameTitlePane.TitlePaneLayout.htmlBasicInternalFrameTitlePane.htmlBasicInternalFrameUI.BasicInternalFrameListener.htmlBasicInternalFrameUI.BorderListener.htmlBasicInternalFrameUI.ComponentHandler.htmlBasicInternalFrameUI.GlassPaneDispatcher.htmlBasicInternalFrameUI.InternalFrameLayout.htmlBasicInternalFrameUI.InternalFramePropertyChangeListener.htmlBasicInternalFrameUI.htmlBasicLabelUI.htmlBasicListUI.FocusHandler.htmlBasicListUI.ListDataHandler.htmlBasicListUI.ListSelectionHandler.htmlBasicListUI.MouseInputHandler.htmlBasicListUI.PropertyChangeHandler.htmlBasicListUI.htmlBasicLookAndFeel.htmlBasicMenuBarUI.htmlBasicMenuItemUI.MouseInputHandler.htmlBasicMenuItemUI.htmlBasicMenuUI.ChangeHandler.htmlBasicMenuUI.MouseInputHandler.htmlBasicMenuUI.htmlBasicOptionPaneUI.ButtonActionListener.htmlBasicOptionPaneUI.ButtonAreaLayout.htmlBasicOptionPaneUI.PropertyChangeHandler.htmlBasicOptionPaneUI.htmlBasicPanelUI.htmlBasicPasswordFieldUI.htmlBasicPopupMenuSeparatorUI.htmlBasicPopupMenuUI.htmlBasicProgressBarUI.ChangeHandler.htmlBasicProgressBarUI.htmlBasicRadioButtonMenuItemUI.htmlBasicRadioButtonUI.htmlBasicRootPaneUI.htmlBasicScrollBarUI.ArrowButtonListener.htmlBasicScrollBarUI.ModelListener.htmlBasicScrollBarUI.PropertyChangeHandler.htmlBasicScrollBarUI.ScrollListener.htmlBasicScrollBarUI.TrackListener.htmlBasicScrollBarUI.htmlBasicScrollPaneUI.HSBChangeListener.htmlBasicScrollPaneUI.MouseWheelHandler.htmlBasicScrollPaneUI.PropertyChangeHandler.htmlBasicScrollPaneUI.VSBChangeListener.htmlBasicScrollPaneUI.ViewportChangeHandler.htmlBasicScrollPaneUI.htmlBasicSeparatorUI.htmlBasicSliderUI.ActionScroller.htmlBasicSliderUI.ChangeHandler.htmlBasicSliderUI.ComponentHandler.htmlBasicSliderUI.FocusHandler.htmlBasicSliderUI.PropertyChangeHandler.htmlBasicSliderUI.ScrollListener.htmlBasicSliderUI.TrackListener.htmlBasicSliderUI.htmlBasicSpinnerUI.htmlBasicSplitPaneDivider.DividerLayout.htmlBasicSplitPaneDivider.DragController.htmlBasicSplitPaneDivider.MouseHandler.htmlBasicSplitPaneDivider.VerticalDragController.htmlBasicSplitPaneDivider.htmlBasicSplitPaneUI.BasicHorizontalLayoutManager.htmlBasicSplitPaneUI.BasicVerticalLayoutManager.htmlBasicSplitPaneUI.FocusHandler.htmlBasicSplitPaneUI.KeyboardDownRightHandler.htmlBasicSplitPaneUI.KeyboardEndHandler.htmlBasicSplitPaneUI.KeyboardHomeHandler.htmlBasicSplitPaneUI.KeyboardResizeToggleHandler.htmlBasicSplitPaneUI.KeyboardUpLeftHandler.htmlBasicSplitPaneUI.PropertyHandler.htmlBasicSplitPaneUI.htmlBasicTabbedPaneUI.FocusHandler.htmlBasicTabbedPaneUI.MouseHandler.htmlBasicTabbedPaneUI.PropertyChangeHandler.htmlBasicTabbedPaneUI.TabSelectionHandler.htmlBasicTabbedPaneUI.TabbedPaneLayout.htmlBasicTabbedPaneUI.htmlBasicTableHeaderUI.MouseInputHandler.htmlBasicTableHeaderUI.htmlBasicTableUI.FocusHandler.htmlBasicTableUI.KeyHandler.htmlBasicTableUI.MouseInputHandler.htmlBasicTableUI.htmlBasicTextAreaUI.htmlBasicTextFieldUI.htmlBasicTextPaneUI.htmlBasicTextUI.BasicCaret.htmlBasicTextUI.BasicHighlighter.htmlBasicTextUI.htmlBasicToggleButtonUI.htmlBasicToolBarSeparatorUI.htmlBasicToolBarUI.DockingListener.htmlBasicToolBarUI.DragWindow.htmlBasicToolBarUI.FrameListener.htmlBasicToolBarUI.PropertyListener.htmlBasicToolBarUI.ToolBarContListener.htmlBasicToolBarUI.ToolBarFocusListener.htmlBasicToolBarUI.htmlBasicToolTipUI.htmlBasicTreeUI.CellEditorHandler.htmlBasicTreeUI.ComponentHandler.htmlBasicTreeUI.FocusHandler.htmlBasicTreeUI.KeyHandler.htmlBasicTreeUI.MouseHandler.htmlBasicTreeUI.MouseInputHandler.htmlBasicTreeUI.NodeDimensionsHandler.htmlBasicTreeUI.PropertyChangeHandler.htmlBasicTreeUI.SelectionModelPropertyChangeHandler.htmlBasicTreeUI.TreeCancelEditingAction.htmlBasicTreeUI.TreeExpansionHandler.htmlBasicTreeUI.TreeHomeAction.htmlBasicTreeUI.TreeIncrementAction.htmlBasicTreeUI.TreeModelHandler.htmlBasicTreeUI.TreePageAction.htmlBasicTreeUI.TreeSelectionHandler.htmlBasicTreeUI.TreeToggleAction.htmlBasicTreeUI.TreeTraverseAction.htmlBasicTreeUI.htmlBasicViewportUI.htmlComboPopup.htmlDefaultMenuLayout.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useActionMapUIResource.htmlBorderUIResource.BevelBorderUIResource.htmlBorderUIResource.CompoundBorderUIResource.htmlBorderUIResource.EmptyBorderUIResource.htmlBorderUIResource.EtchedBorderUIResource.htmlBorderUIResource.LineBorderUIResource.htmlBorderUIResource.MatteBorderUIResource.htmlBorderUIResource.TitledBorderUIResource.htmlBorderUIResource.htmlButtonUI.htmlColorChooserUI.htmlColorUIResource.htmlComboBoxUI.htmlComponentInputMapUIResource.htmlComponentUI.htmlDesktopIconUI.htmlDesktopPaneUI.htmlDimensionUIResource.htmlFileChooserUI.htmlFontUIResource.htmlIconUIResource.htmlInputMapUIResource.htmlInsetsUIResource.htmlInternalFrameUI.htmlLabelUI.htmlLayerUI.htmlListUI.htmlMenuBarUI.htmlMenuItemUI.htmlOptionPaneUI.htmlPanelUI.htmlPopupMenuUI.htmlProgressBarUI.htmlRootPaneUI.htmlScrollBarUI.htmlScrollPaneUI.htmlSeparatorUI.htmlSliderUI.htmlSpinnerUI.htmlSplitPaneUI.htmlTabbedPaneUI.htmlTableHeaderUI.htmlTableUI.htmlTextUI.htmlToolBarUI.htmlToolTipUI.htmlTreeUI.htmlUIResource.htmlViewportUI.htmlmetalDefaultMetalTheme.htmlMetalBorders.ButtonBorder.htmlMetalBorders.Flush3DBorder.htmlMetalBorders.InternalFrameBorder.htmlMetalBorders.MenuBarBorder.htmlMetalBorders.MenuItemBorder.htmlMetalBorders.OptionDialogBorder.htmlMetalBorders.PaletteBorder.htmlMetalBorders.PopupMenuBorder.htmlMetalBorders.RolloverButtonBorder.htmlMetalBorders.ScrollPaneBorder.htmlMetalBorders.TableHeaderBorder.htmlMetalBorders.TextFieldBorder.htmlMetalBorders.ToggleButtonBorder.htmlMetalBorders.ToolBarBorder.htmlMetalBorders.htmlMetalButtonUI.htmlMetalCheckBoxIcon.htmlMetalCheckBoxUI.htmlMetalComboBoxButton.htmlMetalComboBoxEditor.UIResource.htmlMetalComboBoxEditor.htmlMetalComboBoxIcon.htmlMetalComboBoxUI.MetalComboBoxLayoutManager.htmlMetalComboBoxUI.MetalComboPopup.htmlMetalComboBoxUI.MetalPropertyChangeListener.htmlMetalComboBoxUI.htmlMetalDesktopIconUI.htmlMetalFileChooserUI.DirectoryComboBoxAction.htmlMetalFileChooserUI.DirectoryComboBoxModel.htmlMetalFileChooserUI.FileRenderer.htmlMetalFileChooserUI.FilterComboBoxModel.htmlMetalFileChooserUI.FilterComboBoxRenderer.htmlMetalFileChooserUI.SingleClickListener.htmlMetalFileChooserUI.htmlMetalIconFactory.FileIcon16.htmlMetalIconFactory.FolderIcon16.htmlMetalIconFactory.PaletteCloseIcon.htmlMetalIconFactory.TreeControlIcon.htmlMetalIconFactory.TreeFolderIcon.htmlMetalIconFactory.TreeLeafIcon.htmlMetalIconFactory.htmlMetalInternalFrameTitlePane.htmlMetalInternalFrameUI.htmlMetalLabelUI.htmlMetalLookAndFeel.htmlMetalMenuBarUI.htmlMetalPopupMenuSeparatorUI.htmlMetalProgressBarUI.htmlMetalRadioButtonUI.htmlMetalRootPaneUI.htmlMetalScrollBarUI.htmlMetalScrollButton.htmlMetalScrollPaneUI.htmlMetalSeparatorUI.htmlMetalSliderUI.MetalPropertyListener.htmlMetalSliderUI.htmlMetalSplitPaneUI.htmlMetalTabbedPaneUI.TabbedPaneLayout.htmlMetalTabbedPaneUI.htmlMetalTextFieldUI.htmlMetalTheme.htmlMetalToggleButtonUI.htmlMetalToolBarUI.MetalContainerListener.htmlMetalToolBarUI.MetalDockingListener.htmlMetalToolBarUI.MetalRolloverListener.htmlMetalToolBarUI.htmlMetalToolTipUI.htmlMetalTreeUI.htmlOceanTheme.htmlclass-useDefaultMetalTheme.htmlMetalBorders.ButtonBorder.htmlMetalBorders.Flush3DBorder.htmlMetalBorders.InternalFrameBorder.htmlMetalBorders.MenuBarBorder.htmlMetalBorders.MenuItemBorder.htmlMetalBorders.OptionDialogBorder.htmlMetalBorders.PaletteBorder.htmlMetalBorders.PopupMenuBorder.htmlMetalBorders.RolloverButtonBorder.htmlMetalBorders.ScrollPaneBorder.htmlMetalBorders.TableHeaderBorder.htmlMetalBorders.TextFieldBorder.htmlMetalBorders.ToggleButtonBorder.htmlMetalBorders.ToolBarBorder.htmlMetalBorders.htmlMetalButtonUI.htmlMetalCheckBoxIcon.htmlMetalCheckBoxUI.htmlMetalComboBoxButton.htmlMetalComboBoxEditor.UIResource.htmlMetalComboBoxEditor.htmlMetalComboBoxIcon.htmlMetalComboBoxUI.MetalComboBoxLayoutManager.htmlMetalComboBoxUI.MetalComboPopup.htmlMetalComboBoxUI.MetalPropertyChangeListener.htmlMetalComboBoxUI.htmlMetalDesktopIconUI.htmlMetalFileChooserUI.DirectoryComboBoxAction.htmlMetalFileChooserUI.DirectoryComboBoxModel.htmlMetalFileChooserUI.FileRenderer.htmlMetalFileChooserUI.FilterComboBoxModel.htmlMetalFileChooserUI.FilterComboBoxRenderer.htmlMetalFileChooserUI.SingleClickListener.htmlMetalFileChooserUI.htmlMetalIconFactory.FileIcon16.htmlMetalIconFactory.FolderIcon16.htmlMetalIconFactory.PaletteCloseIcon.htmlMetalIconFactory.TreeControlIcon.htmlMetalIconFactory.TreeFolderIcon.htmlMetalIconFactory.TreeLeafIcon.htmlMetalIconFactory.htmlMetalInternalFrameTitlePane.htmlMetalInternalFrameUI.htmlMetalLabelUI.htmlMetalLookAndFeel.htmlMetalMenuBarUI.htmlMetalPopupMenuSeparatorUI.htmlMetalProgressBarUI.htmlMetalRadioButtonUI.htmlMetalRootPaneUI.htmlMetalScrollBarUI.htmlMetalScrollButton.htmlMetalScrollPaneUI.htmlMetalSeparatorUI.htmlMetalSliderUI.MetalPropertyListener.htmlMetalSliderUI.htmlMetalSplitPaneUI.htmlMetalTabbedPaneUI.TabbedPaneLayout.htmlMetalTabbedPaneUI.htmlMetalTextFieldUI.htmlMetalTheme.htmlMetalToggleButtonUI.htmlMetalToolBarUI.MetalContainerListener.htmlMetalToolBarUI.MetalDockingListener.htmlMetalToolBarUI.MetalRolloverListener.htmlMetalToolBarUI.htmlMetalToolTipUI.htmlMetalTreeUI.htmlOceanTheme.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmultiMultiButtonUI.htmlMultiColorChooserUI.htmlMultiComboBoxUI.htmlMultiDesktopIconUI.htmlMultiDesktopPaneUI.htmlMultiFileChooserUI.htmlMultiInternalFrameUI.htmlMultiLabelUI.htmlMultiListUI.htmlMultiLookAndFeel.htmlMultiMenuBarUI.htmlMultiMenuItemUI.htmlMultiOptionPaneUI.htmlMultiPanelUI.htmlMultiPopupMenuUI.htmlMultiProgressBarUI.htmlMultiRootPaneUI.htmlMultiScrollBarUI.htmlMultiScrollPaneUI.htmlMultiSeparatorUI.htmlMultiSliderUI.htmlMultiSpinnerUI.htmlMultiSplitPaneUI.htmlMultiTabbedPaneUI.htmlMultiTableHeaderUI.htmlMultiTableUI.htmlMultiTextUI.htmlMultiToolBarUI.htmlMultiToolTipUI.htmlMultiTreeUI.htmlMultiViewportUI.htmlclass-useMultiButtonUI.htmlMultiColorChooserUI.htmlMultiComboBoxUI.htmlMultiDesktopIconUI.htmlMultiDesktopPaneUI.htmlMultiFileChooserUI.htmlMultiInternalFrameUI.htmlMultiLabelUI.htmlMultiListUI.htmlMultiLookAndFeel.htmlMultiMenuBarUI.htmlMultiMenuItemUI.htmlMultiOptionPaneUI.htmlMultiPanelUI.htmlMultiPopupMenuUI.htmlMultiProgressBarUI.htmlMultiRootPaneUI.htmlMultiScrollBarUI.htmlMultiScrollPaneUI.htmlMultiSeparatorUI.htmlMultiSliderUI.htmlMultiSpinnerUI.htmlMultiSplitPaneUI.htmlMultiTabbedPaneUI.htmlMultiTableHeaderUI.htmlMultiTableUI.htmlMultiTextUI.htmlMultiToolBarUI.htmlMultiToolTipUI.htmlMultiTreeUI.htmlMultiViewportUI.htmldoc-filesmulti_tsc.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnimbusAbstractRegionPainter.PaintContext.CacheMode.htmlAbstractRegionPainter.PaintContext.htmlAbstractRegionPainter.htmlNimbusLookAndFeel.htmlNimbusStyle.htmlState.htmlclass-useAbstractRegionPainter.PaintContext.CacheMode.htmlAbstractRegionPainter.PaintContext.htmlAbstractRegionPainter.htmlNimbusLookAndFeel.htmlNimbusStyle.htmlState.htmldoc-filesproperties.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsynthColorType.htmlRegion.htmlSynthButtonUI.htmlSynthCheckBoxMenuItemUI.htmlSynthCheckBoxUI.htmlSynthColorChooserUI.htmlSynthComboBoxUI.htmlSynthConstants.htmlSynthContext.htmlSynthDesktopIconUI.htmlSynthDesktopPaneUI.htmlSynthEditorPaneUI.htmlSynthFormattedTextFieldUI.htmlSynthGraphicsUtils.htmlSynthIcon.htmlSynthInternalFrameUI.htmlSynthLabelUI.htmlSynthListUI.htmlSynthLookAndFeel.htmlSynthMenuBarUI.htmlSynthMenuItemUI.htmlSynthMenuUI.htmlSynthOptionPaneUI.htmlSynthPainter.htmlSynthPanelUI.htmlSynthPasswordFieldUI.htmlSynthPopupMenuUI.htmlSynthProgressBarUI.htmlSynthRadioButtonMenuItemUI.htmlSynthRadioButtonUI.htmlSynthRootPaneUI.htmlSynthScrollBarUI.htmlSynthScrollPaneUI.htmlSynthSeparatorUI.htmlSynthSliderUI.htmlSynthSpinnerUI.htmlSynthSplitPaneUI.htmlSynthStyle.htmlSynthStyleFactory.htmlSynthTabbedPaneUI.htmlSynthTableHeaderUI.htmlSynthTableUI.htmlSynthTextAreaUI.htmlSynthTextFieldUI.htmlSynthTextPaneUI.htmlSynthToggleButtonUI.htmlSynthToolBarUI.htmlSynthToolTipUI.htmlSynthTreeUI.htmlSynthUI.htmlSynthViewportUI.htmlclass-useColorType.htmlRegion.htmlSynthButtonUI.htmlSynthCheckBoxMenuItemUI.htmlSynthCheckBoxUI.htmlSynthColorChooserUI.htmlSynthComboBoxUI.htmlSynthConstants.htmlSynthContext.htmlSynthDesktopIconUI.htmlSynthDesktopPaneUI.htmlSynthEditorPaneUI.htmlSynthFormattedTextFieldUI.htmlSynthGraphicsUtils.htmlSynthIcon.htmlSynthInternalFrameUI.htmlSynthLabelUI.htmlSynthListUI.htmlSynthLookAndFeel.htmlSynthMenuBarUI.htmlSynthMenuItemUI.htmlSynthMenuUI.htmlSynthOptionPaneUI.htmlSynthPainter.htmlSynthPanelUI.htmlSynthPasswordFieldUI.htmlSynthPopupMenuUI.htmlSynthProgressBarUI.htmlSynthRadioButtonMenuItemUI.htmlSynthRadioButtonUI.htmlSynthRootPaneUI.htmlSynthScrollBarUI.htmlSynthScrollPaneUI.htmlSynthSeparatorUI.htmlSynthSliderUI.htmlSynthSpinnerUI.htmlSynthSplitPaneUI.htmlSynthStyle.htmlSynthStyleFactory.htmlSynthTabbedPaneUI.htmlSynthTableHeaderUI.htmlSynthTableUI.htmlSynthTextAreaUI.htmlSynthTextFieldUI.htmlSynthTextPaneUI.htmlSynthToggleButtonUI.htmlSynthToolBarUI.htmlSynthToolTipUI.htmlSynthTreeUI.htmlSynthUI.htmlSynthViewportUI.htmldoc-filescomponentProperties.htmlsynth.dtdsynthFileFormat.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltableAbstractTableModel.htmlDefaultTableCellRenderer.UIResource.htmlDefaultTableCellRenderer.htmlDefaultTableColumnModel.htmlDefaultTableModel.htmlJTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.htmlJTableHeader.AccessibleJTableHeader.htmlJTableHeader.htmlTableCellEditor.htmlTableCellRenderer.htmlTableColumn.htmlTableColumnModel.htmlTableModel.htmlTableRowSorter.htmlTableStringConverter.htmlclass-useAbstractTableModel.htmlDefaultTableCellRenderer.UIResource.htmlDefaultTableCellRenderer.htmlDefaultTableColumnModel.htmlDefaultTableModel.htmlJTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.htmlJTableHeader.AccessibleJTableHeader.htmlJTableHeader.htmlTableCellEditor.htmlTableCellRenderer.htmlTableColumn.htmlTableColumnModel.htmlTableModel.htmlTableRowSorter.htmlTableStringConverter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltextAbstractDocument.AbstractElement.htmlAbstractDocument.AttributeContext.htmlAbstractDocument.BranchElement.htmlAbstractDocument.Content.htmlAbstractDocument.DefaultDocumentEvent.htmlAbstractDocument.ElementEdit.htmlAbstractDocument.LeafElement.htmlAbstractDocument.htmlAbstractWriter.htmlAsyncBoxView.ChildLocator.htmlAsyncBoxView.ChildState.htmlAsyncBoxView.htmlAttributeSet.CharacterAttribute.htmlAttributeSet.ColorAttribute.htmlAttributeSet.FontAttribute.htmlAttributeSet.ParagraphAttribute.htmlAttributeSet.htmlBadLocationException.htmlBoxView.htmlCaret.htmlChangedCharSetException.htmlComponentView.htmlCompositeView.htmlDateFormatter.htmlDefaultCaret.htmlDefaultEditorKit.BeepAction.htmlDefaultEditorKit.CopyAction.htmlDefaultEditorKit.CutAction.htmlDefaultEditorKit.DefaultKeyTypedAction.htmlDefaultEditorKit.InsertBreakAction.htmlDefaultEditorKit.InsertContentAction.htmlDefaultEditorKit.InsertTabAction.htmlDefaultEditorKit.PasteAction.htmlDefaultEditorKit.htmlDefaultFormatter.htmlDefaultFormatterFactory.htmlDefaultHighlighter.DefaultHighlightPainter.htmlDefaultHighlighter.htmlDefaultStyledDocument.AttributeUndoableEdit.htmlDefaultStyledDocument.ElementBuffer.htmlDefaultStyledDocument.ElementSpec.htmlDefaultStyledDocument.SectionElement.htmlDefaultStyledDocument.htmlDefaultTextUI.htmlDocument.htmlDocumentFilter.FilterBypass.htmlDocumentFilter.htmlEditorKit.htmlElement.htmlElementIterator.htmlFieldView.htmlFlowView.FlowStrategy.htmlFlowView.htmlGapContent.htmlGlyphView.GlyphPainter.htmlGlyphView.htmlHighlighter.Highlight.htmlHighlighter.HighlightPainter.htmlHighlighter.htmlIconView.htmlInternationalFormatter.htmlJTextComponent.AccessibleJTextComponent.htmlJTextComponent.DropLocation.htmlJTextComponent.KeyBinding.htmlJTextComponent.htmlKeymap.htmlLabelView.htmlLayeredHighlighter.LayerPainter.htmlLayeredHighlighter.htmlLayoutQueue.htmlMaskFormatter.htmlMutableAttributeSet.htmlNavigationFilter.FilterBypass.htmlNavigationFilter.htmlNumberFormatter.htmlParagraphView.htmlPasswordView.htmlPlainDocument.htmlPlainView.htmlPosition.Bias.htmlPosition.htmlSegment.htmlSimpleAttributeSet.htmlStringContent.htmlStyle.htmlStyleConstants.CharacterConstants.htmlStyleConstants.ColorConstants.htmlStyleConstants.FontConstants.htmlStyleConstants.ParagraphConstants.htmlStyleConstants.htmlStyleContext.NamedStyle.htmlStyleContext.SmallAttributeSet.htmlStyleContext.htmlStyledDocument.htmlStyledEditorKit.AlignmentAction.htmlStyledEditorKit.BoldAction.htmlStyledEditorKit.FontFamilyAction.htmlStyledEditorKit.FontSizeAction.htmlStyledEditorKit.ForegroundAction.htmlStyledEditorKit.ItalicAction.htmlStyledEditorKit.StyledTextAction.htmlStyledEditorKit.UnderlineAction.htmlStyledEditorKit.htmlTabExpander.htmlTabSet.htmlTabStop.htmlTabableView.htmlTableView.TableCell.htmlTableView.TableRow.htmlTableView.htmlTextAction.htmlUtilities.htmlView.htmlViewFactory.htmlWrappedPlainView.htmlZoneView.htmlclass-useAbstractDocument.AbstractElement.htmlAbstractDocument.AttributeContext.htmlAbstractDocument.BranchElement.htmlAbstractDocument.Content.htmlAbstractDocument.DefaultDocumentEvent.htmlAbstractDocument.ElementEdit.htmlAbstractDocument.LeafElement.htmlAbstractDocument.htmlAbstractWriter.htmlAsyncBoxView.ChildLocator.htmlAsyncBoxView.ChildState.htmlAsyncBoxView.htmlAttributeSet.CharacterAttribute.htmlAttributeSet.ColorAttribute.htmlAttributeSet.FontAttribute.htmlAttributeSet.ParagraphAttribute.htmlAttributeSet.htmlBadLocationException.htmlBoxView.htmlCaret.htmlChangedCharSetException.htmlComponentView.htmlCompositeView.htmlDateFormatter.htmlDefaultCaret.htmlDefaultEditorKit.BeepAction.htmlDefaultEditorKit.CopyAction.htmlDefaultEditorKit.CutAction.htmlDefaultEditorKit.DefaultKeyTypedAction.htmlDefaultEditorKit.InsertBreakAction.htmlDefaultEditorKit.InsertContentAction.htmlDefaultEditorKit.InsertTabAction.htmlDefaultEditorKit.PasteAction.htmlDefaultEditorKit.htmlDefaultFormatter.htmlDefaultFormatterFactory.htmlDefaultHighlighter.DefaultHighlightPainter.htmlDefaultHighlighter.htmlDefaultStyledDocument.AttributeUndoableEdit.htmlDefaultStyledDocument.ElementBuffer.htmlDefaultStyledDocument.ElementSpec.htmlDefaultStyledDocument.SectionElement.htmlDefaultStyledDocument.htmlDefaultTextUI.htmlDocument.htmlDocumentFilter.FilterBypass.htmlDocumentFilter.htmlEditorKit.htmlElement.htmlElementIterator.htmlFieldView.htmlFlowView.FlowStrategy.htmlFlowView.htmlGapContent.htmlGlyphView.GlyphPainter.htmlGlyphView.htmlHighlighter.Highlight.htmlHighlighter.HighlightPainter.htmlHighlighter.htmlIconView.htmlInternationalFormatter.htmlJTextComponent.AccessibleJTextComponent.htmlJTextComponent.DropLocation.htmlJTextComponent.KeyBinding.htmlJTextComponent.htmlKeymap.htmlLabelView.htmlLayeredHighlighter.LayerPainter.htmlLayeredHighlighter.htmlLayoutQueue.htmlMaskFormatter.htmlMutableAttributeSet.htmlNavigationFilter.FilterBypass.htmlNavigationFilter.htmlNumberFormatter.htmlParagraphView.htmlPasswordView.htmlPlainDocument.htmlPlainView.htmlPosition.Bias.htmlPosition.htmlSegment.htmlSimpleAttributeSet.htmlStringContent.htmlStyle.htmlStyleConstants.CharacterConstants.htmlStyleConstants.ColorConstants.htmlStyleConstants.FontConstants.htmlStyleConstants.ParagraphConstants.htmlStyleConstants.htmlStyleContext.NamedStyle.htmlStyleContext.SmallAttributeSet.htmlStyleContext.htmlStyledDocument.htmlStyledEditorKit.AlignmentAction.htmlStyledEditorKit.BoldAction.htmlStyledEditorKit.FontFamilyAction.htmlStyledEditorKit.FontSizeAction.htmlStyledEditorKit.ForegroundAction.htmlStyledEditorKit.ItalicAction.htmlStyledEditorKit.StyledTextAction.htmlStyledEditorKit.UnderlineAction.htmlStyledEditorKit.htmlTabExpander.htmlTabSet.htmlTabStop.htmlTabableView.htmlTableView.TableCell.htmlTableView.TableRow.htmlTableView.htmlTextAction.htmlUtilities.htmlView.htmlViewFactory.htmlWrappedPlainView.htmlZoneView.htmldoc-filesDocument-coord.gifDocument-insert.gifDocument-notification.gifDocument-remove.gifDocument-structure.gifOpenBookIcon.gifView-flexibility.jpgView-layout.jpgeditor.gifparagraph.gifhtmlBlockView.htmlCSS.Attribute.htmlCSS.htmlFormSubmitEvent.MethodType.htmlFormSubmitEvent.htmlFormView.MouseEventListener.htmlFormView.htmlHTML.Attribute.htmlHTML.Tag.htmlHTML.UnknownTag.htmlHTML.htmlHTMLDocument.BlockElement.htmlHTMLDocument.HTMLReader.BlockAction.htmlHTMLDocument.HTMLReader.CharacterAction.htmlHTMLDocument.HTMLReader.FormAction.htmlHTMLDocument.HTMLReader.HiddenAction.htmlHTMLDocument.HTMLReader.IsindexAction.htmlHTMLDocument.HTMLReader.ParagraphAction.htmlHTMLDocument.HTMLReader.PreAction.htmlHTMLDocument.HTMLReader.SpecialAction.htmlHTMLDocument.HTMLReader.TagAction.htmlHTMLDocument.HTMLReader.htmlHTMLDocument.Iterator.htmlHTMLDocument.RunElement.htmlHTMLDocument.htmlHTMLEditorKit.HTMLFactory.htmlHTMLEditorKit.HTMLTextAction.htmlHTMLEditorKit.InsertHTMLTextAction.htmlHTMLEditorKit.LinkController.htmlHTMLEditorKit.Parser.htmlHTMLEditorKit.ParserCallback.htmlHTMLEditorKit.htmlHTMLFrameHyperlinkEvent.htmlHTMLWriter.htmlImageView.htmlInlineView.htmlListView.htmlMinimalHTMLWriter.htmlObjectView.htmlOption.htmlParagraphView.htmlStyleSheet.BoxPainter.htmlStyleSheet.ListPainter.htmlStyleSheet.htmlclass-useBlockView.htmlCSS.Attribute.htmlCSS.htmlFormSubmitEvent.MethodType.htmlFormSubmitEvent.htmlFormView.MouseEventListener.htmlFormView.htmlHTML.Attribute.htmlHTML.Tag.htmlHTML.UnknownTag.htmlHTML.htmlHTMLDocument.BlockElement.htmlHTMLDocument.HTMLReader.BlockAction.htmlHTMLDocument.HTMLReader.CharacterAction.htmlHTMLDocument.HTMLReader.FormAction.htmlHTMLDocument.HTMLReader.HiddenAction.htmlHTMLDocument.HTMLReader.IsindexAction.htmlHTMLDocument.HTMLReader.ParagraphAction.htmlHTMLDocument.HTMLReader.PreAction.htmlHTMLDocument.HTMLReader.SpecialAction.htmlHTMLDocument.HTMLReader.TagAction.htmlHTMLDocument.HTMLReader.htmlHTMLDocument.Iterator.htmlHTMLDocument.RunElement.htmlHTMLDocument.htmlHTMLEditorKit.HTMLFactory.htmlHTMLEditorKit.HTMLTextAction.htmlHTMLEditorKit.InsertHTMLTextAction.htmlHTMLEditorKit.LinkController.htmlHTMLEditorKit.Parser.htmlHTMLEditorKit.ParserCallback.htmlHTMLEditorKit.htmlHTMLFrameHyperlinkEvent.htmlHTMLWriter.htmlImageView.htmlInlineView.htmlListView.htmlMinimalHTMLWriter.htmlObjectView.htmlOption.htmlParagraphView.htmlStyleSheet.BoxPainter.htmlStyleSheet.ListPainter.htmlStyleSheet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlparserAttributeList.htmlContentModel.htmlDTD.htmlDTDConstants.htmlDocumentParser.htmlElement.htmlEntity.htmlParser.htmlParserDelegator.htmlTagElement.htmlclass-useAttributeList.htmlContentModel.htmlDTD.htmlDTDConstants.htmlDocumentParser.htmlElement.htmlEntity.htmlParser.htmlParserDelegator.htmlTagElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrtfRTFEditorKit.htmlclass-useRTFEditorKit.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeAbstractLayoutCache.NodeDimensions.htmlAbstractLayoutCache.htmlDefaultMutableTreeNode.htmlDefaultTreeCellEditor.DefaultTextField.htmlDefaultTreeCellEditor.EditorContainer.htmlDefaultTreeCellEditor.htmlDefaultTreeCellRenderer.htmlDefaultTreeModel.htmlDefaultTreeSelectionModel.htmlExpandVetoException.htmlFixedHeightLayoutCache.htmlMutableTreeNode.htmlRowMapper.htmlTreeCellEditor.htmlTreeCellRenderer.htmlTreeModel.htmlTreeNode.htmlTreePath.htmlTreeSelectionModel.htmlVariableHeightLayoutCache.htmlclass-useAbstractLayoutCache.NodeDimensions.htmlAbstractLayoutCache.htmlDefaultMutableTreeNode.htmlDefaultTreeCellEditor.DefaultTextField.htmlDefaultTreeCellEditor.EditorContainer.htmlDefaultTreeCellEditor.htmlDefaultTreeCellRenderer.htmlDefaultTreeModel.htmlDefaultTreeSelectionModel.htmlExpandVetoException.htmlFixedHeightLayoutCache.htmlMutableTreeNode.htmlRowMapper.htmlTreeCellEditor.htmlTreeCellRenderer.htmlTreeModel.htmlTreeNode.htmlTreePath.htmlTreeSelectionModel.htmlVariableHeightLayoutCache.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlundoAbstractUndoableEdit.htmlCannotRedoException.htmlCannotUndoException.htmlCompoundEdit.htmlStateEdit.htmlStateEditable.htmlUndoManager.htmlUndoableEdit.htmlUndoableEditSupport.htmlclass-useAbstractUndoableEdit.htmlCannotRedoException.htmlCannotUndoException.htmlCompoundEdit.htmlStateEdit.htmlStateEditable.htmlUndoManager.htmlUndoableEdit.htmlUndoableEditSupport.htmldoc-filesUndoManager-1.gifUndoManager-2.gifUndoManager-3.gifUndoManager-4.gifpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.instrumentjavalanginstrumentClassDefinition.htmlClassFileTransformer.htmlIllegalClassFormatException.htmlInstrumentation.htmlUnmodifiableClassException.htmlUnmodifiableModuleException.htmlclass-useClassDefinition.htmlClassFileTransformer.htmlIllegalClassFormatException.htmlInstrumentation.htmlUnmodifiableClassException.htmlUnmodifiableModuleException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.loggingjavautilloggingConsoleHandler.htmlErrorManager.htmlFileHandler.htmlFilter.htmlFormatter.htmlHandler.htmlLevel.htmlLogManager.htmlLogRecord.htmlLogger.htmlLoggingMXBean.htmlLoggingPermission.htmlMemoryHandler.htmlSimpleFormatter.htmlSocketHandler.htmlStreamHandler.htmlXMLFormatter.htmlclass-useConsoleHandler.htmlErrorManager.htmlFileHandler.htmlFilter.htmlFormatter.htmlHandler.htmlLevel.htmlLogManager.htmlLogRecord.htmlLogger.htmlLoggingMXBean.htmlLoggingPermission.htmlMemoryHandler.htmlSimpleFormatter.htmlSocketHandler.htmlStreamHandler.htmlXMLFormatter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.managementjava.management.rmijavaxmanagementremotermiRMIConnection.htmlRMIConnectionImpl.htmlRMIConnectionImpl_Stub.htmlRMIConnector.htmlRMIConnectorServer.htmlRMIIIOPServerImpl.htmlRMIJRMPServerImpl.htmlRMIServer.htmlRMIServerImpl.htmlRMIServerImpl_Stub.htmlclass-useRMIConnection.htmlRMIConnectionImpl.htmlRMIConnectionImpl_Stub.htmlRMIConnector.htmlRMIConnectorServer.htmlRMIIIOPServerImpl.htmlRMIJRMPServerImpl.htmlRMIServer.htmlRMIServerImpl.htmlRMIServerImpl_Stub.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavalangmanagementBufferPoolMXBean.htmlClassLoadingMXBean.htmlCompilationMXBean.htmlGarbageCollectorMXBean.htmlLockInfo.htmlManagementFactory.htmlManagementPermission.htmlMemoryMXBean.htmlMemoryManagerMXBean.htmlMemoryNotificationInfo.htmlMemoryPoolMXBean.htmlMemoryType.htmlMemoryUsage.htmlMonitorInfo.htmlOperatingSystemMXBean.htmlPlatformLoggingMXBean.htmlPlatformManagedObject.htmlRuntimeMXBean.htmlThreadInfo.htmlThreadMXBean.htmlclass-useBufferPoolMXBean.htmlClassLoadingMXBean.htmlCompilationMXBean.htmlGarbageCollectorMXBean.htmlLockInfo.htmlManagementFactory.htmlManagementPermission.htmlMemoryMXBean.htmlMemoryManagerMXBean.htmlMemoryNotificationInfo.htmlMemoryPoolMXBean.htmlMemoryType.htmlMemoryUsage.htmlMonitorInfo.htmlOperatingSystemMXBean.htmlPlatformLoggingMXBean.htmlPlatformManagedObject.htmlRuntimeMXBean.htmlThreadInfo.htmlThreadMXBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxmanagementAttribute.htmlAttributeChangeNotification.htmlAttributeChangeNotificationFilter.htmlAttributeList.htmlAttributeNotFoundException.htmlAttributeValueExp.htmlBadAttributeValueExpException.htmlBadBinaryOpValueExpException.htmlBadStringOperationException.htmlConstructorParameters.htmlDefaultLoaderRepository.htmlDescriptor.htmlDescriptorAccess.htmlDescriptorKey.htmlDescriptorRead.htmlDynamicMBean.htmlImmutableDescriptor.htmlInstanceAlreadyExistsException.htmlInstanceNotFoundException.htmlIntrospectionException.htmlInvalidApplicationException.htmlInvalidAttributeValueException.htmlJMException.htmlJMRuntimeException.htmlJMX.htmlListenerNotFoundException.htmlMBeanAttributeInfo.htmlMBeanConstructorInfo.htmlMBeanException.htmlMBeanFeatureInfo.htmlMBeanInfo.htmlMBeanNotificationInfo.htmlMBeanOperationInfo.htmlMBeanParameterInfo.htmlMBeanPermission.htmlMBeanRegistration.htmlMBeanRegistrationException.htmlMBeanServer.htmlMBeanServerBuilder.htmlMBeanServerConnection.htmlMBeanServerDelegate.htmlMBeanServerDelegateMBean.htmlMBeanServerFactory.htmlMBeanServerInvocationHandler.htmlMBeanServerNotification.htmlMBeanServerPermission.htmlMBeanTrustPermission.htmlMXBean.htmlMalformedObjectNameException.htmlNotCompliantMBeanException.htmlNotification.htmlNotificationBroadcaster.htmlNotificationBroadcasterSupport.htmlNotificationEmitter.htmlNotificationFilter.htmlNotificationFilterSupport.htmlNotificationListener.htmlObjectInstance.htmlObjectName.htmlOperationsException.htmlPersistentMBean.htmlQuery.htmlQueryEval.htmlQueryExp.htmlReflectionException.htmlRuntimeErrorException.htmlRuntimeMBeanException.htmlRuntimeOperationsException.htmlServiceNotFoundException.htmlStandardEmitterMBean.htmlStandardMBean.htmlStringValueExp.htmlValueExp.htmlclass-useAttribute.htmlAttributeChangeNotification.htmlAttributeChangeNotificationFilter.htmlAttributeList.htmlAttributeNotFoundException.htmlAttributeValueExp.htmlBadAttributeValueExpException.htmlBadBinaryOpValueExpException.htmlBadStringOperationException.htmlConstructorParameters.htmlDefaultLoaderRepository.htmlDescriptor.htmlDescriptorAccess.htmlDescriptorKey.htmlDescriptorRead.htmlDynamicMBean.htmlImmutableDescriptor.htmlInstanceAlreadyExistsException.htmlInstanceNotFoundException.htmlIntrospectionException.htmlInvalidApplicationException.htmlInvalidAttributeValueException.htmlJMException.htmlJMRuntimeException.htmlJMX.htmlListenerNotFoundException.htmlMBeanAttributeInfo.htmlMBeanConstructorInfo.htmlMBeanException.htmlMBeanFeatureInfo.htmlMBeanInfo.htmlMBeanNotificationInfo.htmlMBeanOperationInfo.htmlMBeanParameterInfo.htmlMBeanPermission.htmlMBeanRegistration.htmlMBeanRegistrationException.htmlMBeanServer.htmlMBeanServerBuilder.htmlMBeanServerConnection.htmlMBeanServerDelegate.htmlMBeanServerDelegateMBean.htmlMBeanServerFactory.htmlMBeanServerInvocationHandler.htmlMBeanServerNotification.htmlMBeanServerPermission.htmlMBeanTrustPermission.htmlMXBean.htmlMalformedObjectNameException.htmlNotCompliantMBeanException.htmlNotification.htmlNotificationBroadcaster.htmlNotificationBroadcasterSupport.htmlNotificationEmitter.htmlNotificationFilter.htmlNotificationFilterSupport.htmlNotificationListener.htmlObjectInstance.htmlObjectName.htmlOperationsException.htmlPersistentMBean.htmlQuery.htmlQueryEval.htmlQueryExp.htmlReflectionException.htmlRuntimeErrorException.htmlRuntimeMBeanException.htmlRuntimeOperationsException.htmlServiceNotFoundException.htmlStandardEmitterMBean.htmlStandardMBean.htmlStringValueExp.htmlValueExp.htmlloadingClassLoaderRepository.htmlDefaultLoaderRepository.htmlMLet.htmlMLetContent.htmlMLetMBean.htmlPrivateClassLoader.htmlPrivateMLet.htmlclass-useClassLoaderRepository.htmlDefaultLoaderRepository.htmlMLet.htmlMLetContent.htmlMLetMBean.htmlPrivateClassLoader.htmlPrivateMLet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodelmbeanDescriptorSupport.htmlInvalidTargetObjectTypeException.htmlModelMBean.htmlModelMBeanAttributeInfo.htmlModelMBeanConstructorInfo.htmlModelMBeanInfo.htmlModelMBeanInfoSupport.htmlModelMBeanNotificationBroadcaster.htmlModelMBeanNotificationInfo.htmlModelMBeanOperationInfo.htmlRequiredModelMBean.htmlXMLParseException.htmlclass-useDescriptorSupport.htmlInvalidTargetObjectTypeException.htmlModelMBean.htmlModelMBeanAttributeInfo.htmlModelMBeanConstructorInfo.htmlModelMBeanInfo.htmlModelMBeanInfoSupport.htmlModelMBeanNotificationBroadcaster.htmlModelMBeanNotificationInfo.htmlModelMBeanOperationInfo.htmlRequiredModelMBean.htmlXMLParseException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmonitorCounterMonitor.htmlCounterMonitorMBean.htmlGaugeMonitor.htmlGaugeMonitorMBean.htmlMonitor.htmlMonitorMBean.htmlMonitorNotification.htmlMonitorSettingException.htmlStringMonitor.htmlStringMonitorMBean.htmlclass-useCounterMonitor.htmlCounterMonitorMBean.htmlGaugeMonitor.htmlGaugeMonitorMBean.htmlMonitor.htmlMonitorMBean.htmlMonitorNotification.htmlMonitorSettingException.htmlStringMonitor.htmlStringMonitorMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlopenmbeanArrayType.htmlCompositeData.htmlCompositeDataInvocationHandler.htmlCompositeDataSupport.htmlCompositeDataView.htmlCompositeType.htmlInvalidKeyException.htmlInvalidOpenTypeException.htmlKeyAlreadyExistsException.htmlOpenDataException.htmlOpenMBeanAttributeInfo.htmlOpenMBeanAttributeInfoSupport.htmlOpenMBeanConstructorInfo.htmlOpenMBeanConstructorInfoSupport.htmlOpenMBeanInfo.htmlOpenMBeanInfoSupport.htmlOpenMBeanOperationInfo.htmlOpenMBeanOperationInfoSupport.htmlOpenMBeanParameterInfo.htmlOpenMBeanParameterInfoSupport.htmlOpenType.htmlSimpleType.htmlTabularData.htmlTabularDataSupport.htmlTabularType.htmlclass-useArrayType.htmlCompositeData.htmlCompositeDataInvocationHandler.htmlCompositeDataSupport.htmlCompositeDataView.htmlCompositeType.htmlInvalidKeyException.htmlInvalidOpenTypeException.htmlKeyAlreadyExistsException.htmlOpenDataException.htmlOpenMBeanAttributeInfo.htmlOpenMBeanAttributeInfoSupport.htmlOpenMBeanConstructorInfo.htmlOpenMBeanConstructorInfoSupport.htmlOpenMBeanInfo.htmlOpenMBeanInfoSupport.htmlOpenMBeanOperationInfo.htmlOpenMBeanOperationInfoSupport.htmlOpenMBeanParameterInfo.htmlOpenMBeanParameterInfoSupport.htmlOpenType.htmlSimpleType.htmlTabularData.htmlTabularDataSupport.htmlTabularType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrelationInvalidRelationIdException.htmlInvalidRelationServiceException.htmlInvalidRelationTypeException.htmlInvalidRoleInfoException.htmlInvalidRoleValueException.htmlMBeanServerNotificationFilter.htmlRelation.htmlRelationException.htmlRelationNotFoundException.htmlRelationNotification.htmlRelationService.htmlRelationServiceMBean.htmlRelationServiceNotRegisteredException.htmlRelationSupport.htmlRelationSupportMBean.htmlRelationType.htmlRelationTypeNotFoundException.htmlRelationTypeSupport.htmlRole.htmlRoleInfo.htmlRoleInfoNotFoundException.htmlRoleList.htmlRoleNotFoundException.htmlRoleResult.htmlRoleStatus.htmlRoleUnresolved.htmlRoleUnresolvedList.htmlclass-useInvalidRelationIdException.htmlInvalidRelationServiceException.htmlInvalidRelationTypeException.htmlInvalidRoleInfoException.htmlInvalidRoleValueException.htmlMBeanServerNotificationFilter.htmlRelation.htmlRelationException.htmlRelationNotFoundException.htmlRelationNotification.htmlRelationService.htmlRelationServiceMBean.htmlRelationServiceNotRegisteredException.htmlRelationSupport.htmlRelationSupportMBean.htmlRelationType.htmlRelationTypeNotFoundException.htmlRelationTypeSupport.htmlRole.htmlRoleInfo.htmlRoleInfoNotFoundException.htmlRoleList.htmlRoleNotFoundException.htmlRoleResult.htmlRoleStatus.htmlRoleUnresolved.htmlRoleUnresolvedList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlremoteJMXAddressable.htmlJMXAuthenticator.htmlJMXConnectionNotification.htmlJMXConnector.htmlJMXConnectorFactory.htmlJMXConnectorProvider.htmlJMXConnectorServer.htmlJMXConnectorServerFactory.htmlJMXConnectorServerMBean.htmlJMXConnectorServerProvider.htmlJMXPrincipal.htmlJMXProviderException.htmlJMXServerErrorException.htmlJMXServiceURL.htmlMBeanServerForwarder.htmlNotificationResult.htmlSubjectDelegationPermission.htmlTargetedNotification.htmlclass-useJMXAddressable.htmlJMXAuthenticator.htmlJMXConnectionNotification.htmlJMXConnector.htmlJMXConnectorFactory.htmlJMXConnectorProvider.htmlJMXConnectorServer.htmlJMXConnectorServerFactory.htmlJMXConnectorServerMBean.htmlJMXConnectorServerProvider.htmlJMXPrincipal.htmlJMXProviderException.htmlJMXServerErrorException.htmlJMXServiceURL.htmlMBeanServerForwarder.htmlNotificationResult.htmlSubjectDelegationPermission.htmlTargetedNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltimerTimer.htmlTimerMBean.htmlTimerNotification.htmlclass-useTimer.htmlTimerMBean.htmlTimerNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.namingjavaxnamingAuthenticationException.htmlAuthenticationNotSupportedException.htmlBinaryRefAddr.htmlBinding.htmlCannotProceedException.htmlCommunicationException.htmlCompositeName.htmlCompoundName.htmlConfigurationException.htmlContext.htmlContextNotEmptyException.htmlInitialContext.htmlInsufficientResourcesException.htmlInterruptedNamingException.htmlInvalidNameException.htmlLimitExceededException.htmlLinkException.htmlLinkLoopException.htmlLinkRef.htmlMalformedLinkException.htmlName.htmlNameAlreadyBoundException.htmlNameClassPair.htmlNameNotFoundException.htmlNameParser.htmlNamingEnumeration.htmlNamingException.htmlNamingSecurityException.htmlNoInitialContextException.htmlNoPermissionException.htmlNotContextException.htmlOperationNotSupportedException.htmlPartialResultException.htmlRefAddr.htmlReference.htmlReferenceable.htmlReferralException.htmlServiceUnavailableException.htmlSizeLimitExceededException.htmlStringRefAddr.htmlTimeLimitExceededException.htmlclass-useAuthenticationException.htmlAuthenticationNotSupportedException.htmlBinaryRefAddr.htmlBinding.htmlCannotProceedException.htmlCommunicationException.htmlCompositeName.htmlCompoundName.htmlConfigurationException.htmlContext.htmlContextNotEmptyException.htmlInitialContext.htmlInsufficientResourcesException.htmlInterruptedNamingException.htmlInvalidNameException.htmlLimitExceededException.htmlLinkException.htmlLinkLoopException.htmlLinkRef.htmlMalformedLinkException.htmlName.htmlNameAlreadyBoundException.htmlNameClassPair.htmlNameNotFoundException.htmlNameParser.htmlNamingEnumeration.htmlNamingException.htmlNamingSecurityException.htmlNoInitialContextException.htmlNoPermissionException.htmlNotContextException.htmlOperationNotSupportedException.htmlPartialResultException.htmlRefAddr.htmlReference.htmlReferenceable.htmlReferralException.htmlServiceUnavailableException.htmlSizeLimitExceededException.htmlStringRefAddr.htmlTimeLimitExceededException.htmldirectoryAttribute.htmlAttributeInUseException.htmlAttributeModificationException.htmlAttributes.htmlBasicAttribute.htmlBasicAttributes.htmlDirContext.htmlInitialDirContext.htmlInvalidAttributeIdentifierException.htmlInvalidAttributeValueException.htmlInvalidAttributesException.htmlInvalidSearchControlsException.htmlInvalidSearchFilterException.htmlModificationItem.htmlNoSuchAttributeException.htmlSchemaViolationException.htmlSearchControls.htmlSearchResult.htmlclass-useAttribute.htmlAttributeInUseException.htmlAttributeModificationException.htmlAttributes.htmlBasicAttribute.htmlBasicAttributes.htmlDirContext.htmlInitialDirContext.htmlInvalidAttributeIdentifierException.htmlInvalidAttributeValueException.htmlInvalidAttributesException.htmlInvalidSearchControlsException.htmlInvalidSearchFilterException.htmlModificationItem.htmlNoSuchAttributeException.htmlSchemaViolationException.htmlSearchControls.htmlSearchResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmleventEventContext.htmlEventDirContext.htmlNamespaceChangeListener.htmlNamingEvent.htmlNamingExceptionEvent.htmlNamingListener.htmlObjectChangeListener.htmlclass-useEventContext.htmlEventDirContext.htmlNamespaceChangeListener.htmlNamingEvent.htmlNamingExceptionEvent.htmlNamingListener.htmlObjectChangeListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlldapBasicControl.htmlControl.htmlControlFactory.htmlExtendedRequest.htmlExtendedResponse.htmlHasControls.htmlInitialLdapContext.htmlLdapContext.htmlLdapName.htmlLdapReferralException.htmlManageReferralControl.htmlPagedResultsControl.htmlPagedResultsResponseControl.htmlRdn.htmlSortControl.htmlSortKey.htmlSortResponseControl.htmlStartTlsRequest.htmlStartTlsResponse.htmlUnsolicitedNotification.htmlUnsolicitedNotificationEvent.htmlUnsolicitedNotificationListener.htmlclass-useBasicControl.htmlControl.htmlControlFactory.htmlExtendedRequest.htmlExtendedResponse.htmlHasControls.htmlInitialLdapContext.htmlLdapContext.htmlLdapName.htmlLdapReferralException.htmlManageReferralControl.htmlPagedResultsControl.htmlPagedResultsResponseControl.htmlRdn.htmlSortControl.htmlSortKey.htmlSortResponseControl.htmlStartTlsRequest.htmlStartTlsResponse.htmlUnsolicitedNotification.htmlUnsolicitedNotificationEvent.htmlUnsolicitedNotificationListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiDirObjectFactory.htmlDirStateFactory.Result.htmlDirStateFactory.htmlDirectoryManager.htmlInitialContextFactory.htmlInitialContextFactoryBuilder.htmlNamingManager.htmlObjectFactory.htmlObjectFactoryBuilder.htmlResolveResult.htmlResolver.htmlStateFactory.htmlclass-useDirObjectFactory.htmlDirStateFactory.Result.htmlDirStateFactory.htmlDirectoryManager.htmlInitialContextFactory.htmlInitialContextFactoryBuilder.htmlNamingManager.htmlObjectFactory.htmlObjectFactoryBuilder.htmlResolveResult.htmlResolver.htmlStateFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.net.httpjavanethttpHttpClient.Builder.htmlHttpClient.Redirect.htmlHttpClient.Version.htmlHttpClient.htmlHttpConnectTimeoutException.htmlHttpHeaders.htmlHttpRequest.BodyPublisher.htmlHttpRequest.BodyPublishers.htmlHttpRequest.Builder.htmlHttpRequest.htmlHttpResponse.BodyHandler.htmlHttpResponse.BodyHandlers.htmlHttpResponse.BodySubscriber.htmlHttpResponse.BodySubscribers.htmlHttpResponse.PushPromiseHandler.htmlHttpResponse.ResponseInfo.htmlHttpResponse.htmlHttpTimeoutException.htmlWebSocket.Builder.htmlWebSocket.Listener.htmlWebSocket.htmlWebSocketHandshakeException.htmlclass-useHttpClient.Builder.htmlHttpClient.Redirect.htmlHttpClient.Version.htmlHttpClient.htmlHttpConnectTimeoutException.htmlHttpHeaders.htmlHttpRequest.BodyPublisher.htmlHttpRequest.BodyPublishers.htmlHttpRequest.Builder.htmlHttpRequest.htmlHttpResponse.BodyHandler.htmlHttpResponse.BodyHandlers.htmlHttpResponse.BodySubscriber.htmlHttpResponse.BodySubscribers.htmlHttpResponse.PushPromiseHandler.htmlHttpResponse.ResponseInfo.htmlHttpResponse.htmlHttpTimeoutException.htmlWebSocket.Builder.htmlWebSocket.Listener.htmlWebSocket.htmlWebSocketHandshakeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.prefsjavautilprefsAbstractPreferences.htmlBackingStoreException.htmlInvalidPreferencesFormatException.htmlNodeChangeEvent.htmlNodeChangeListener.htmlPreferenceChangeEvent.htmlPreferenceChangeListener.htmlPreferences.htmlPreferencesFactory.htmlclass-useAbstractPreferences.htmlBackingStoreException.htmlInvalidPreferencesFormatException.htmlNodeChangeEvent.htmlNodeChangeListener.htmlPreferenceChangeEvent.htmlPreferenceChangeListener.htmlPreferences.htmlPreferencesFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.rmijavarmiAccessException.htmlAlreadyBoundException.htmlConnectException.htmlConnectIOException.htmlMarshalException.htmlMarshalledObject.htmlNaming.htmlNoSuchObjectException.htmlNotBoundException.htmlRMISecurityException.htmlRMISecurityManager.htmlRemote.htmlRemoteException.htmlServerError.htmlServerException.htmlServerRuntimeException.htmlStubNotFoundException.htmlUnexpectedException.htmlUnknownHostException.htmlUnmarshalException.htmlactivationActivatable.htmlActivateFailedException.htmlActivationDesc.htmlActivationException.htmlActivationGroup.htmlActivationGroupDesc.CommandEnvironment.htmlActivationGroupDesc.htmlActivationGroupID.htmlActivationGroup_Stub.htmlActivationID.htmlActivationInstantiator.htmlActivationMonitor.htmlActivationSystem.htmlActivator.htmlUnknownGroupException.htmlUnknownObjectException.htmlclass-useActivatable.htmlActivateFailedException.htmlActivationDesc.htmlActivationException.htmlActivationGroup.htmlActivationGroupDesc.CommandEnvironment.htmlActivationGroupDesc.htmlActivationGroupID.htmlActivationGroup_Stub.htmlActivationID.htmlActivationInstantiator.htmlActivationMonitor.htmlActivationSystem.htmlActivator.htmlUnknownGroupException.htmlUnknownObjectException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessException.htmlAlreadyBoundException.htmlConnectException.htmlConnectIOException.htmlMarshalException.htmlMarshalledObject.htmlNaming.htmlNoSuchObjectException.htmlNotBoundException.htmlRMISecurityException.htmlRMISecurityManager.htmlRemote.htmlRemoteException.htmlServerError.htmlServerException.htmlServerRuntimeException.htmlStubNotFoundException.htmlUnexpectedException.htmlUnknownHostException.htmlUnmarshalException.htmldgcDGC.htmlLease.htmlVMID.htmlclass-useDGC.htmlLease.htmlVMID.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlregistryLocateRegistry.htmlRegistry.htmlRegistryHandler.htmlclass-useLocateRegistry.htmlRegistry.htmlRegistryHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserverExportException.htmlLoaderHandler.htmlLogStream.htmlObjID.htmlOperation.htmlRMIClassLoader.htmlRMIClassLoaderSpi.htmlRMIClientSocketFactory.htmlRMIFailureHandler.htmlRMIServerSocketFactory.htmlRMISocketFactory.htmlRemoteCall.htmlRemoteObject.htmlRemoteObjectInvocationHandler.htmlRemoteRef.htmlRemoteServer.htmlRemoteStub.htmlServerCloneException.htmlServerNotActiveException.htmlServerRef.htmlSkeleton.htmlSkeletonMismatchException.htmlSkeletonNotFoundException.htmlSocketSecurityException.htmlUID.htmlUnicastRemoteObject.htmlUnreferenced.htmlclass-useExportException.htmlLoaderHandler.htmlLogStream.htmlObjID.htmlOperation.htmlRMIClassLoader.htmlRMIClassLoaderSpi.htmlRMIClientSocketFactory.htmlRMIFailureHandler.htmlRMIServerSocketFactory.htmlRMISocketFactory.htmlRemoteCall.htmlRemoteObject.htmlRemoteObjectInvocationHandler.htmlRemoteRef.htmlRemoteServer.htmlRemoteStub.htmlServerCloneException.htmlServerNotActiveException.htmlServerRef.htmlSkeleton.htmlSkeletonMismatchException.htmlSkeletonNotFoundException.htmlSocketSecurityException.htmlUID.htmlUnicastRemoteObject.htmlUnreferenced.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxrmisslSslRMIClientSocketFactory.htmlSslRMIServerSocketFactory.htmlclass-useSslRMIClientSocketFactory.htmlSslRMIServerSocketFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.scriptingjavaxscriptAbstractScriptEngine.htmlBindings.htmlCompilable.htmlCompiledScript.htmlInvocable.htmlScriptContext.htmlScriptEngine.htmlScriptEngineFactory.htmlScriptEngineManager.htmlScriptException.htmlSimpleBindings.htmlSimpleScriptContext.htmlclass-useAbstractScriptEngine.htmlBindings.htmlCompilable.htmlCompiledScript.htmlInvocable.htmlScriptContext.htmlScriptEngine.htmlScriptEngineFactory.htmlScriptEngineManager.htmlScriptException.htmlSimpleBindings.htmlSimpleScriptContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.semodule-summary.htmljava.security.jgssjavaxsecurityauthkerberosDelegationPermission.htmlEncryptionKey.htmlKerberosCredMessage.htmlKerberosKey.htmlKerberosPrincipal.htmlKerberosTicket.htmlKeyTab.htmlServicePermission.htmlclass-useDelegationPermission.htmlEncryptionKey.htmlKerberosCredMessage.htmlKerberosKey.htmlKerberosPrincipal.htmlKerberosTicket.htmlKeyTab.htmlServicePermission.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlorgietfjgssChannelBinding.htmlGSSContext.htmlGSSCredential.htmlGSSException.htmlGSSManager.htmlGSSName.htmlMessageProp.htmlOid.htmlclass-useChannelBinding.htmlGSSContext.htmlGSSCredential.htmlGSSException.htmlGSSManager.htmlGSSName.htmlMessageProp.htmlOid.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljava.security.sasljavaxsecuritysaslAuthenticationException.htmlAuthorizeCallback.htmlRealmCallback.htmlRealmChoiceCallback.htmlSasl.htmlSaslClient.htmlSaslClientFactory.htmlSaslException.htmlSaslServer.htmlSaslServerFactory.htmlclass-useAuthenticationException.htmlAuthorizeCallback.htmlRealmCallback.htmlRealmChoiceCallback.htmlSasl.htmlSaslClient.htmlSaslClientFactory.htmlSaslException.htmlSaslServer.htmlSaslServerFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.smartcardiojavaxsmartcardioATR.htmlCard.htmlCardChannel.htmlCardException.htmlCardNotPresentException.htmlCardPermission.htmlCardTerminal.htmlCardTerminals.State.htmlCardTerminals.htmlCommandAPDU.htmlResponseAPDU.htmlTerminalFactory.htmlTerminalFactorySpi.htmlclass-useATR.htmlCard.htmlCardChannel.htmlCardException.htmlCardNotPresentException.htmlCardPermission.htmlCardTerminal.htmlCardTerminals.State.htmlCardTerminals.htmlCommandAPDU.htmlResponseAPDU.htmlTerminalFactory.htmlTerminalFactorySpi.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.sqljava.sql.rowsetjavaxsqlrowsetBaseRowSet.htmlCachedRowSet.htmlFilteredRowSet.htmlJdbcRowSet.htmlJoinRowSet.htmlJoinable.htmlPredicate.htmlRowSetFactory.htmlRowSetMetaDataImpl.htmlRowSetProvider.htmlRowSetWarning.htmlWebRowSet.htmlclass-useBaseRowSet.htmlCachedRowSet.htmlFilteredRowSet.htmlJdbcRowSet.htmlJoinRowSet.htmlJoinable.htmlPredicate.htmlRowSetFactory.htmlRowSetMetaDataImpl.htmlRowSetProvider.htmlRowSetWarning.htmlWebRowSet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserialSQLInputImpl.htmlSQLOutputImpl.htmlSerialArray.htmlSerialBlob.htmlSerialClob.htmlSerialDatalink.htmlSerialException.htmlSerialJavaObject.htmlSerialRef.htmlSerialStruct.htmlclass-useSQLInputImpl.htmlSQLOutputImpl.htmlSerialArray.htmlSerialBlob.htmlSerialClob.htmlSerialDatalink.htmlSerialException.htmlSerialJavaObject.htmlSerialRef.htmlSerialStruct.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiSyncFactory.htmlSyncFactoryException.htmlSyncProvider.htmlSyncProviderException.htmlSyncResolver.htmlTransactionalWriter.htmlXmlReader.htmlXmlWriter.htmlclass-useSyncFactory.htmlSyncFactoryException.htmlSyncProvider.htmlSyncProviderException.htmlSyncResolver.htmlTransactionalWriter.htmlXmlReader.htmlXmlWriter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavasqlArray.htmlBatchUpdateException.htmlBlob.htmlCallableStatement.htmlClientInfoStatus.htmlClob.htmlConnection.htmlConnectionBuilder.htmlDataTruncation.htmlDatabaseMetaData.htmlDate.htmlDriver.htmlDriverAction.htmlDriverManager.htmlDriverPropertyInfo.htmlJDBCType.htmlNClob.htmlParameterMetaData.htmlPreparedStatement.htmlPseudoColumnUsage.htmlRef.htmlResultSet.htmlResultSetMetaData.htmlRowId.htmlRowIdLifetime.htmlSQLClientInfoException.htmlSQLData.htmlSQLDataException.htmlSQLException.htmlSQLFeatureNotSupportedException.htmlSQLInput.htmlSQLIntegrityConstraintViolationException.htmlSQLInvalidAuthorizationSpecException.htmlSQLNonTransientConnectionException.htmlSQLNonTransientException.htmlSQLOutput.htmlSQLPermission.htmlSQLRecoverableException.htmlSQLSyntaxErrorException.htmlSQLTimeoutException.htmlSQLTransactionRollbackException.htmlSQLTransientConnectionException.htmlSQLTransientException.htmlSQLType.htmlSQLWarning.htmlSQLXML.htmlSavepoint.htmlShardingKey.htmlShardingKeyBuilder.htmlStatement.htmlStruct.htmlTime.htmlTimestamp.htmlTypes.htmlWrapper.htmlclass-useArray.htmlBatchUpdateException.htmlBlob.htmlCallableStatement.htmlClientInfoStatus.htmlClob.htmlConnection.htmlConnectionBuilder.htmlDataTruncation.htmlDatabaseMetaData.htmlDate.htmlDriver.htmlDriverAction.htmlDriverManager.htmlDriverPropertyInfo.htmlJDBCType.htmlNClob.htmlParameterMetaData.htmlPreparedStatement.htmlPseudoColumnUsage.htmlRef.htmlResultSet.htmlResultSetMetaData.htmlRowId.htmlRowIdLifetime.htmlSQLClientInfoException.htmlSQLData.htmlSQLDataException.htmlSQLException.htmlSQLFeatureNotSupportedException.htmlSQLInput.htmlSQLIntegrityConstraintViolationException.htmlSQLInvalidAuthorizationSpecException.htmlSQLNonTransientConnectionException.htmlSQLNonTransientException.htmlSQLOutput.htmlSQLPermission.htmlSQLRecoverableException.htmlSQLSyntaxErrorException.htmlSQLTimeoutException.htmlSQLTransactionRollbackException.htmlSQLTransientConnectionException.htmlSQLTransientException.htmlSQLType.htmlSQLWarning.htmlSQLXML.htmlSavepoint.htmlShardingKey.htmlShardingKeyBuilder.htmlStatement.htmlStruct.htmlTime.htmlTimestamp.htmlTypes.htmlWrapper.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxsqlCommonDataSource.htmlConnectionEvent.htmlConnectionEventListener.htmlConnectionPoolDataSource.htmlDataSource.htmlPooledConnection.htmlPooledConnectionBuilder.htmlRowSet.htmlRowSetEvent.htmlRowSetInternal.htmlRowSetListener.htmlRowSetMetaData.htmlRowSetReader.htmlRowSetWriter.htmlStatementEvent.htmlStatementEventListener.htmlXAConnection.htmlXAConnectionBuilder.htmlXADataSource.htmlclass-useCommonDataSource.htmlConnectionEvent.htmlConnectionEventListener.htmlConnectionPoolDataSource.htmlDataSource.htmlPooledConnection.htmlPooledConnectionBuilder.htmlRowSet.htmlRowSetEvent.htmlRowSetInternal.htmlRowSetListener.htmlRowSetMetaData.htmlRowSetReader.htmlRowSetWriter.htmlStatementEvent.htmlStatementEventListener.htmlXAConnection.htmlXAConnectionBuilder.htmlXADataSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.transaction.xajavaxtransactionxaXAException.htmlXAResource.htmlXid.htmlclass-useXAException.htmlXAResource.htmlXid.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.xmljava.xml.cryptojavaxxmlcryptoAlgorithmMethod.htmlData.htmlKeySelector.Purpose.htmlKeySelector.htmlKeySelectorException.htmlKeySelectorResult.htmlMarshalException.htmlNoSuchMechanismException.htmlNodeSetData.htmlOctetStreamData.htmlURIDereferencer.htmlURIReference.htmlURIReferenceException.htmlXMLCryptoContext.htmlXMLStructure.htmlclass-useAlgorithmMethod.htmlData.htmlKeySelector.Purpose.htmlKeySelector.htmlKeySelectorException.htmlKeySelectorResult.htmlMarshalException.htmlNoSuchMechanismException.htmlNodeSetData.htmlOctetStreamData.htmlURIDereferencer.htmlURIReference.htmlURIReferenceException.htmlXMLCryptoContext.htmlXMLStructure.htmldomDOMCryptoContext.htmlDOMStructure.htmlDOMURIReference.htmlclass-useDOMCryptoContext.htmlDOMStructure.htmlDOMURIReference.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldsigCanonicalizationMethod.htmlDigestMethod.htmlManifest.htmlReference.htmlSignatureMethod.htmlSignatureProperties.htmlSignatureProperty.htmlSignedInfo.htmlTransform.htmlTransformException.htmlTransformService.htmlXMLObject.htmlXMLSignContext.htmlXMLSignature.SignatureValue.htmlXMLSignature.htmlXMLSignatureException.htmlXMLSignatureFactory.htmlXMLValidateContext.htmlclass-useCanonicalizationMethod.htmlDigestMethod.htmlManifest.htmlReference.htmlSignatureMethod.htmlSignatureProperties.htmlSignatureProperty.htmlSignedInfo.htmlTransform.htmlTransformException.htmlTransformService.htmlXMLObject.htmlXMLSignContext.htmlXMLSignature.SignatureValue.htmlXMLSignature.htmlXMLSignatureException.htmlXMLSignatureFactory.htmlXMLValidateContext.htmldomDOMSignContext.htmlDOMValidateContext.htmlclass-useDOMSignContext.htmlDOMValidateContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlkeyinfoKeyInfo.htmlKeyInfoFactory.htmlKeyName.htmlKeyValue.htmlPGPData.htmlRetrievalMethod.htmlX509Data.htmlX509IssuerSerial.htmlclass-useKeyInfo.htmlKeyInfoFactory.htmlKeyName.htmlKeyValue.htmlPGPData.htmlRetrievalMethod.htmlX509Data.htmlX509IssuerSerial.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecC14NMethodParameterSpec.htmlDigestMethodParameterSpec.htmlExcC14NParameterSpec.htmlHMACParameterSpec.htmlSignatureMethodParameterSpec.htmlTransformParameterSpec.htmlXPathFilter2ParameterSpec.htmlXPathFilterParameterSpec.htmlXPathType.Filter.htmlXPathType.htmlXSLTTransformParameterSpec.htmlclass-useC14NMethodParameterSpec.htmlDigestMethodParameterSpec.htmlExcC14NParameterSpec.htmlHMACParameterSpec.htmlSignatureMethodParameterSpec.htmlTransformParameterSpec.htmlXPathFilter2ParameterSpec.htmlXPathFilterParameterSpec.htmlXPathType.Filter.htmlXPathType.htmlXSLTTransformParameterSpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavaxxmlXMLConstants.htmlcatalogCatalog.htmlCatalogException.htmlCatalogFeatures.Builder.htmlCatalogFeatures.Feature.htmlCatalogFeatures.htmlCatalogManager.htmlCatalogResolver.htmlclass-useCatalog.htmlCatalogException.htmlCatalogFeatures.Builder.htmlCatalogFeatures.Feature.htmlCatalogFeatures.htmlCatalogManager.htmlCatalogResolver.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useXMLConstants.htmldatatypeDatatypeConfigurationException.htmlDatatypeConstants.Field.htmlDatatypeConstants.htmlDatatypeFactory.htmlDuration.htmlXMLGregorianCalendar.htmlclass-useDatatypeConfigurationException.htmlDatatypeConstants.Field.htmlDatatypeConstants.htmlDatatypeFactory.htmlDuration.htmlXMLGregorianCalendar.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnamespaceNamespaceContext.htmlQName.htmlclass-useNamespaceContext.htmlQName.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlparsersDocumentBuilder.htmlDocumentBuilderFactory.htmlFactoryConfigurationError.htmlParserConfigurationException.htmlSAXParser.htmlSAXParserFactory.htmlclass-useDocumentBuilder.htmlDocumentBuilderFactory.htmlFactoryConfigurationError.htmlParserConfigurationException.htmlSAXParser.htmlSAXParserFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamEventFilter.htmlFactoryConfigurationError.htmlLocation.htmlStreamFilter.htmlXMLEventFactory.htmlXMLEventReader.htmlXMLEventWriter.htmlXMLInputFactory.htmlXMLOutputFactory.htmlXMLReporter.htmlXMLResolver.htmlXMLStreamConstants.htmlXMLStreamException.htmlXMLStreamReader.htmlXMLStreamWriter.htmlclass-useEventFilter.htmlFactoryConfigurationError.htmlLocation.htmlStreamFilter.htmlXMLEventFactory.htmlXMLEventReader.htmlXMLEventWriter.htmlXMLInputFactory.htmlXMLOutputFactory.htmlXMLReporter.htmlXMLResolver.htmlXMLStreamConstants.htmlXMLStreamException.htmlXMLStreamReader.htmlXMLStreamWriter.htmleventsAttribute.htmlCharacters.htmlComment.htmlDTD.htmlEndDocument.htmlEndElement.htmlEntityDeclaration.htmlEntityReference.htmlNamespace.htmlNotationDeclaration.htmlProcessingInstruction.htmlStartDocument.htmlStartElement.htmlXMLEvent.htmlclass-useAttribute.htmlCharacters.htmlComment.htmlDTD.htmlEndDocument.htmlEndElement.htmlEntityDeclaration.htmlEntityReference.htmlNamespace.htmlNotationDeclaration.htmlProcessingInstruction.htmlStartDocument.htmlStartElement.htmlXMLEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilEventReaderDelegate.htmlStreamReaderDelegate.htmlXMLEventAllocator.htmlXMLEventConsumer.htmlclass-useEventReaderDelegate.htmlStreamReaderDelegate.htmlXMLEventAllocator.htmlXMLEventConsumer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltransformErrorListener.htmlOutputKeys.htmlResult.htmlSource.htmlSourceLocator.htmlTemplates.htmlTransformer.htmlTransformerConfigurationException.htmlTransformerException.htmlTransformerFactory.htmlTransformerFactoryConfigurationError.htmlURIResolver.htmlclass-useErrorListener.htmlOutputKeys.htmlResult.htmlSource.htmlSourceLocator.htmlTemplates.htmlTransformer.htmlTransformerConfigurationException.htmlTransformerException.htmlTransformerFactory.htmlTransformerFactoryConfigurationError.htmlURIResolver.htmldomDOMLocator.htmlDOMResult.htmlDOMSource.htmlclass-useDOMLocator.htmlDOMResult.htmlDOMSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsaxSAXResult.htmlSAXSource.htmlSAXTransformerFactory.htmlTemplatesHandler.htmlTransformerHandler.htmlclass-useSAXResult.htmlSAXSource.htmlSAXTransformerFactory.htmlTemplatesHandler.htmlTransformerHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstaxStAXResult.htmlStAXSource.htmlclass-useStAXResult.htmlStAXSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamStreamResult.htmlStreamSource.htmlclass-useStreamResult.htmlStreamSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlvalidationSchema.htmlSchemaFactory.htmlSchemaFactoryConfigurationError.htmlSchemaFactoryLoader.htmlTypeInfoProvider.htmlValidator.htmlValidatorHandler.htmlclass-useSchema.htmlSchemaFactory.htmlSchemaFactoryConfigurationError.htmlSchemaFactoryLoader.htmlTypeInfoProvider.htmlValidator.htmlValidatorHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxpathXPath.htmlXPathConstants.htmlXPathEvaluationResult.XPathResultType.htmlXPathEvaluationResult.htmlXPathException.htmlXPathExpression.htmlXPathExpressionException.htmlXPathFactory.htmlXPathFactoryConfigurationException.htmlXPathFunction.htmlXPathFunctionException.htmlXPathFunctionResolver.htmlXPathNodes.htmlXPathVariableResolver.htmlclass-useXPath.htmlXPathConstants.htmlXPathEvaluationResult.XPathResultType.htmlXPathEvaluationResult.htmlXPathException.htmlXPathExpression.htmlXPathExpressionException.htmlXPathFactory.htmlXPathFactoryConfigurationException.htmlXPathFunction.htmlXPathFunctionException.htmlXPathFunctionResolver.htmlXPathNodes.htmlXPathVariableResolver.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlorgw3cdomAttr.htmlCDATASection.htmlCharacterData.htmlComment.htmlDOMConfiguration.htmlDOMError.htmlDOMErrorHandler.htmlDOMException.htmlDOMImplementation.htmlDOMImplementationList.htmlDOMImplementationSource.htmlDOMLocator.htmlDOMStringList.htmlDocument.htmlDocumentFragment.htmlDocumentType.htmlElement.htmlElementTraversal.htmlEntity.htmlEntityReference.htmlNameList.htmlNamedNodeMap.htmlNode.htmlNodeList.htmlNotation.htmlProcessingInstruction.htmlText.htmlTypeInfo.htmlUserDataHandler.htmlbootstrapDOMImplementationRegistry.htmlclass-useDOMImplementationRegistry.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAttr.htmlCDATASection.htmlCharacterData.htmlComment.htmlDOMConfiguration.htmlDOMError.htmlDOMErrorHandler.htmlDOMException.htmlDOMImplementation.htmlDOMImplementationList.htmlDOMImplementationSource.htmlDOMLocator.htmlDOMStringList.htmlDocument.htmlDocumentFragment.htmlDocumentType.htmlElement.htmlElementTraversal.htmlEntity.htmlEntityReference.htmlNameList.htmlNamedNodeMap.htmlNode.htmlNodeList.htmlNotation.htmlProcessingInstruction.htmlText.htmlTypeInfo.htmlUserDataHandler.htmleventsDocumentEvent.htmlEvent.htmlEventException.htmlEventListener.htmlEventTarget.htmlMouseEvent.htmlMutationEvent.htmlUIEvent.htmlclass-useDocumentEvent.htmlEvent.htmlEventException.htmlEventListener.htmlEventTarget.htmlMouseEvent.htmlMutationEvent.htmlUIEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllsDOMImplementationLS.htmlLSException.htmlLSInput.htmlLSLoadEvent.htmlLSOutput.htmlLSParser.htmlLSParserFilter.htmlLSProgressEvent.htmlLSResourceResolver.htmlLSSerializer.htmlLSSerializerFilter.htmlclass-useDOMImplementationLS.htmlLSException.htmlLSInput.htmlLSLoadEvent.htmlLSOutput.htmlLSParser.htmlLSParserFilter.htmlLSProgressEvent.htmlLSResourceResolver.htmlLSSerializer.htmlLSSerializerFilter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrangesDocumentRange.htmlRange.htmlRangeException.htmlclass-useDocumentRange.htmlRange.htmlRangeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltraversalDocumentTraversal.htmlNodeFilter.htmlNodeIterator.htmlTreeWalker.htmlclass-useDocumentTraversal.htmlNodeFilter.htmlNodeIterator.htmlTreeWalker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlviewsAbstractView.htmlDocumentView.htmlclass-useAbstractView.htmlDocumentView.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxmlsaxAttributeList.htmlAttributes.htmlContentHandler.htmlDTDHandler.htmlDocumentHandler.htmlEntityResolver.htmlErrorHandler.htmlHandlerBase.htmlInputSource.htmlLocator.htmlParser.htmlSAXException.htmlSAXNotRecognizedException.htmlSAXNotSupportedException.htmlSAXParseException.htmlXMLFilter.htmlXMLReader.htmlclass-useAttributeList.htmlAttributes.htmlContentHandler.htmlDTDHandler.htmlDocumentHandler.htmlEntityResolver.htmlErrorHandler.htmlHandlerBase.htmlInputSource.htmlLocator.htmlParser.htmlSAXException.htmlSAXNotRecognizedException.htmlSAXNotSupportedException.htmlSAXParseException.htmlXMLFilter.htmlXMLReader.htmlextAttributes2.htmlAttributes2Impl.htmlDeclHandler.htmlDefaultHandler2.htmlEntityResolver2.htmlLexicalHandler.htmlLocator2.htmlLocator2Impl.htmlclass-useAttributes2.htmlAttributes2Impl.htmlDeclHandler.htmlDefaultHandler2.htmlEntityResolver2.htmlLexicalHandler.htmlLocator2.htmlLocator2Impl.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlhelpersAttributeListImpl.htmlAttributesImpl.htmlDefaultHandler.htmlLocatorImpl.htmlNamespaceSupport.htmlParserAdapter.htmlParserFactory.htmlXMLFilterImpl.htmlXMLReaderAdapter.htmlXMLReaderFactory.htmlclass-useAttributeListImpl.htmlAttributesImpl.htmlDefaultHandler.htmlLocatorImpl.htmlNamespaceSupport.htmlParserAdapter.htmlParserFactory.htmlXMLFilterImpl.htmlXMLReaderAdapter.htmlXMLReaderFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.accessibilitycomsunjavaaccessibilityutilAWTEventMonitor.htmlAccessibilityEventMonitor.htmlAccessibilityListenerList.htmlEventID.htmlEventQueueMonitor.htmlGUIInitializedListener.htmlSwingEventMonitor.htmlTopLevelWindowListener.htmlTranslator.htmlclass-useAWTEventMonitor.htmlAccessibilityEventMonitor.htmlAccessibilityListenerList.htmlEventID.htmlEventQueueMonitor.htmlGUIInitializedListener.htmlSwingEventMonitor.htmlTopLevelWindowListener.htmlTranslator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.attachcomsuntoolsattachAgentInitializationException.htmlAgentLoadException.htmlAttachNotSupportedException.htmlAttachOperationFailedException.htmlAttachPermission.htmlVirtualMachine.htmlVirtualMachineDescriptor.htmlclass-useAgentInitializationException.htmlAgentLoadException.htmlAttachNotSupportedException.htmlAttachOperationFailedException.htmlAttachPermission.htmlVirtualMachine.htmlVirtualMachineDescriptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAttachProvider.htmlclass-useAttachProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.charsetsmodule-summary.htmljdk.compilercomsunsourcedoctreeAttributeTree.ValueKind.htmlAttributeTree.htmlAuthorTree.htmlBlockTagTree.htmlCommentTree.htmlDeprecatedTree.htmlDocCommentTree.htmlDocRootTree.htmlDocTree.Kind.htmlDocTree.htmlDocTreeVisitor.htmlDocTypeTree.htmlEndElementTree.htmlEntityTree.htmlErroneousTree.htmlHiddenTree.htmlIdentifierTree.htmlIndexTree.htmlInheritDocTree.htmlInlineTagTree.htmlLinkTree.htmlLiteralTree.htmlParamTree.htmlProvidesTree.htmlReferenceTree.htmlReturnTree.htmlSeeTree.htmlSerialDataTree.htmlSerialFieldTree.htmlSerialTree.htmlSinceTree.htmlStartElementTree.htmlSummaryTree.htmlTextTree.htmlThrowsTree.htmlUnknownBlockTagTree.htmlUnknownInlineTagTree.htmlUsesTree.htmlValueTree.htmlVersionTree.htmlclass-useAttributeTree.ValueKind.htmlAttributeTree.htmlAuthorTree.htmlBlockTagTree.htmlCommentTree.htmlDeprecatedTree.htmlDocCommentTree.htmlDocRootTree.htmlDocTree.Kind.htmlDocTree.htmlDocTreeVisitor.htmlDocTypeTree.htmlEndElementTree.htmlEntityTree.htmlErroneousTree.htmlHiddenTree.htmlIdentifierTree.htmlIndexTree.htmlInheritDocTree.htmlInlineTagTree.htmlLinkTree.htmlLiteralTree.htmlParamTree.htmlProvidesTree.htmlReferenceTree.htmlReturnTree.htmlSeeTree.htmlSerialDataTree.htmlSerialFieldTree.htmlSerialTree.htmlSinceTree.htmlStartElementTree.htmlSummaryTree.htmlTextTree.htmlThrowsTree.htmlUnknownBlockTagTree.htmlUnknownInlineTagTree.htmlUsesTree.htmlValueTree.htmlVersionTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeAnnotatedTypeTree.htmlAnnotationTree.htmlArrayAccessTree.htmlArrayTypeTree.htmlAssertTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlContinueTree.htmlDirectiveTree.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlEnhancedForLoopTree.htmlErroneousTree.htmlExportsTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForLoopTree.htmlIdentifierTree.htmlIfTree.htmlImportTree.htmlInstanceOfTree.htmlIntersectionTypeTree.htmlLabeledStatementTree.htmlLambdaExpressionTree.BodyKind.htmlLambdaExpressionTree.htmlLineMap.htmlLiteralTree.htmlMemberReferenceTree.ReferenceMode.htmlMemberReferenceTree.htmlMemberSelectTree.htmlMethodInvocationTree.htmlMethodTree.htmlModifiersTree.htmlModuleTree.ModuleKind.htmlModuleTree.htmlNewArrayTree.htmlNewClassTree.htmlOpensTree.htmlPackageTree.htmlParameterizedTypeTree.htmlParenthesizedTree.htmlPrimitiveTypeTree.htmlProvidesTree.htmlRequiresTree.htmlReturnTree.htmlScope.htmlStatementTree.htmlSwitchTree.htmlSynchronizedTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlTypeCastTree.htmlTypeParameterTree.htmlUnaryTree.htmlUnionTypeTree.htmlUsesTree.htmlVariableTree.htmlWhileLoopTree.htmlWildcardTree.htmlclass-useAnnotatedTypeTree.htmlAnnotationTree.htmlArrayAccessTree.htmlArrayTypeTree.htmlAssertTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlContinueTree.htmlDirectiveTree.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlEnhancedForLoopTree.htmlErroneousTree.htmlExportsTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForLoopTree.htmlIdentifierTree.htmlIfTree.htmlImportTree.htmlInstanceOfTree.htmlIntersectionTypeTree.htmlLabeledStatementTree.htmlLambdaExpressionTree.BodyKind.htmlLambdaExpressionTree.htmlLineMap.htmlLiteralTree.htmlMemberReferenceTree.ReferenceMode.htmlMemberReferenceTree.htmlMemberSelectTree.htmlMethodInvocationTree.htmlMethodTree.htmlModifiersTree.htmlModuleTree.ModuleKind.htmlModuleTree.htmlNewArrayTree.htmlNewClassTree.htmlOpensTree.htmlPackageTree.htmlParameterizedTypeTree.htmlParenthesizedTree.htmlPrimitiveTypeTree.htmlProvidesTree.htmlRequiresTree.htmlReturnTree.htmlScope.htmlStatementTree.htmlSwitchTree.htmlSynchronizedTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlTypeCastTree.htmlTypeParameterTree.htmlUnaryTree.htmlUnionTypeTree.htmlUsesTree.htmlVariableTree.htmlWhileLoopTree.htmlWildcardTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilDocSourcePositions.htmlDocTreeFactory.htmlDocTreePath.htmlDocTreePathScanner.htmlDocTreeScanner.htmlDocTrees.htmlJavacTask.htmlPlugin.htmlSimpleDocTreeVisitor.htmlSimpleTreeVisitor.htmlSourcePositions.htmlTaskEvent.Kind.htmlTaskEvent.htmlTaskListener.htmlTreePath.htmlTreePathScanner.htmlTreeScanner.htmlTrees.htmlclass-useDocSourcePositions.htmlDocTreeFactory.htmlDocTreePath.htmlDocTreePathScanner.htmlDocTreeScanner.htmlDocTrees.htmlJavacTask.htmlPlugin.htmlSimpleDocTreeVisitor.htmlSimpleTreeVisitor.htmlSourcePositions.htmlTaskEvent.Kind.htmlTaskEvent.htmlTaskListener.htmlTreePath.htmlTreePathScanner.htmlTreeScanner.htmlTrees.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsjavacMain.htmlclass-useMain.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.crypto.cryptokimodule-summary.htmljdk.crypto.ecmodule-summary.htmljdk.dynalinkjdkdynalinkCallSiteDescriptor.htmlDynamicLinker.htmlDynamicLinkerFactory.htmlNamedOperation.htmlNamespace.htmlNamespaceOperation.htmlNoSuchDynamicMethodException.htmlOperation.htmlRelinkableCallSite.htmlSecureLookupSupplier.htmlStandardNamespace.htmlStandardOperation.htmlbeansBeansLinker.htmlMissingMemberHandlerFactory.htmlStaticClass.htmlclass-useBeansLinker.htmlMissingMemberHandlerFactory.htmlStaticClass.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useCallSiteDescriptor.htmlDynamicLinker.htmlDynamicLinkerFactory.htmlNamedOperation.htmlNamespace.htmlNamespaceOperation.htmlNoSuchDynamicMethodException.htmlOperation.htmlRelinkableCallSite.htmlSecureLookupSupplier.htmlStandardNamespace.htmlStandardOperation.htmllinkerConversionComparator.Comparison.htmlConversionComparator.htmlGuardedInvocation.htmlGuardedInvocationTransformer.htmlGuardingDynamicLinker.htmlGuardingDynamicLinkerExporter.htmlGuardingTypeConverterFactory.htmlLinkRequest.htmlLinkerServices.htmlMethodHandleTransformer.htmlMethodTypeConversionStrategy.htmlTypeBasedGuardingDynamicLinker.htmlclass-useConversionComparator.Comparison.htmlConversionComparator.htmlGuardedInvocation.htmlGuardedInvocationTransformer.htmlGuardingDynamicLinker.htmlGuardingDynamicLinkerExporter.htmlGuardingTypeConverterFactory.htmlLinkRequest.htmlLinkerServices.htmlMethodHandleTransformer.htmlMethodTypeConversionStrategy.htmlTypeBasedGuardingDynamicLinker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsupportCompositeGuardingDynamicLinker.htmlCompositeTypeBasedGuardingDynamicLinker.htmlDefaultInternalObjectFilter.htmlGuards.htmlLookup.htmlSimpleLinkRequest.htmlTypeUtilities.htmlclass-useCompositeGuardingDynamicLinker.htmlCompositeTypeBasedGuardingDynamicLinker.htmlDefaultInternalObjectFilter.htmlGuards.htmlLookup.htmlSimpleLinkRequest.htmlTypeUtilities.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsupportAbstractRelinkableCallSite.htmlChainedCallSite.htmlSimpleRelinkableCallSite.htmlclass-useAbstractRelinkableCallSite.htmlChainedCallSite.htmlSimpleRelinkableCallSite.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.editpadmodule-summary.htmljdk.httpservercomsunnethttpserverAuthenticator.Failure.htmlAuthenticator.Result.htmlAuthenticator.Retry.htmlAuthenticator.Success.htmlAuthenticator.htmlBasicAuthenticator.htmlFilter.Chain.htmlFilter.htmlHeaders.htmlHttpContext.htmlHttpExchange.htmlHttpHandler.htmlHttpPrincipal.htmlHttpServer.htmlHttpsConfigurator.htmlHttpsExchange.htmlHttpsParameters.htmlHttpsServer.htmlclass-useAuthenticator.Failure.htmlAuthenticator.Result.htmlAuthenticator.Retry.htmlAuthenticator.Success.htmlAuthenticator.htmlBasicAuthenticator.htmlFilter.Chain.htmlFilter.htmlHeaders.htmlHttpContext.htmlHttpExchange.htmlHttpHandler.htmlHttpPrincipal.htmlHttpServer.htmlHttpsConfigurator.htmlHttpsExchange.htmlHttpsParameters.htmlHttpsServer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiHttpServerProvider.htmlclass-useHttpServerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jartoolcomsunjarsignerContentSigner.htmlContentSignerParameters.htmlclass-useContentSigner.htmlContentSignerParameters.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdksecurityjarsignerJarSigner.Builder.htmlJarSigner.htmlJarSignerException.htmlclass-useJarSigner.Builder.htmlJarSigner.htmlJarSignerException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.javadoccomsunjavadocAnnotatedType.htmlAnnotationDesc.ElementValuePair.htmlAnnotationDesc.htmlAnnotationTypeDoc.htmlAnnotationTypeElementDoc.htmlAnnotationValue.htmlClassDoc.htmlConstructorDoc.htmlDoc.htmlDocErrorReporter.htmlDoclet.htmlExecutableMemberDoc.htmlFieldDoc.htmlLanguageVersion.htmlMemberDoc.htmlMethodDoc.htmlPackageDoc.htmlParamTag.htmlParameter.htmlParameterizedType.htmlProgramElementDoc.htmlRootDoc.htmlSeeTag.htmlSerialFieldTag.htmlSourcePosition.htmlTag.htmlThrowsTag.htmlType.htmlTypeVariable.htmlWildcardType.htmlclass-useAnnotatedType.htmlAnnotationDesc.ElementValuePair.htmlAnnotationDesc.htmlAnnotationTypeDoc.htmlAnnotationTypeElementDoc.htmlAnnotationValue.htmlClassDoc.htmlConstructorDoc.htmlDoc.htmlDocErrorReporter.htmlDoclet.htmlExecutableMemberDoc.htmlFieldDoc.htmlLanguageVersion.htmlMemberDoc.htmlMethodDoc.htmlPackageDoc.htmlParamTag.htmlParameter.htmlParameterizedType.htmlProgramElementDoc.htmlRootDoc.htmlSeeTag.htmlSerialFieldTag.htmlSourcePosition.htmlTag.htmlThrowsTag.htmlType.htmlTypeVariable.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsjavadocMain.htmlclass-useMain.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdkjavadocdocletDoclet.Option.Kind.htmlDoclet.Option.htmlDoclet.htmlDocletEnvironment.ModuleMode.htmlDocletEnvironment.htmlReporter.htmlStandardDoclet.htmlTaglet.Location.htmlTaglet.htmlclass-useDoclet.Option.Kind.htmlDoclet.Option.htmlDoclet.htmlDocletEnvironment.ModuleMode.htmlDocletEnvironment.htmlReporter.htmlStandardDoclet.htmlTaglet.Location.htmlTaglet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jcmdmodule-summary.htmljdk.jconsolecomsuntoolsjconsoleJConsoleContext.ConnectionState.htmlJConsoleContext.htmlJConsolePlugin.htmlclass-useJConsoleContext.ConnectionState.htmlJConsoleContext.htmlJConsolePlugin.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jdepsmodule-summary.htmljdk.jdicomsunjdiAbsentInformationException.htmlAccessible.htmlArrayReference.htmlArrayType.htmlBooleanType.htmlBooleanValue.htmlBootstrap.htmlByteType.htmlByteValue.htmlCharType.htmlCharValue.htmlClassLoaderReference.htmlClassNotLoadedException.htmlClassNotPreparedException.htmlClassObjectReference.htmlClassType.htmlDoubleType.htmlDoubleValue.htmlField.htmlFloatType.htmlFloatValue.htmlIncompatibleThreadStateException.htmlInconsistentDebugInfoException.htmlIntegerType.htmlIntegerValue.htmlInterfaceType.htmlInternalException.htmlInvalidCodeIndexException.htmlInvalidLineNumberException.htmlInvalidModuleException.htmlInvalidStackFrameException.htmlInvalidTypeException.htmlInvocationException.htmlJDIPermission.htmlLocalVariable.htmlLocatable.htmlLocation.htmlLongType.htmlLongValue.htmlMethod.htmlMirror.htmlModuleReference.htmlMonitorInfo.htmlNativeMethodException.htmlObjectCollectedException.htmlObjectReference.htmlPathSearchingVirtualMachine.htmlPrimitiveType.htmlPrimitiveValue.htmlReferenceType.htmlShortType.htmlShortValue.htmlStackFrame.htmlStringReference.htmlThreadGroupReference.htmlThreadReference.htmlType.htmlTypeComponent.htmlVMCannotBeModifiedException.htmlVMDisconnectedException.htmlVMMismatchException.htmlVMOutOfMemoryException.htmlValue.htmlVirtualMachine.htmlVirtualMachineManager.htmlVoidType.htmlVoidValue.htmlclass-useAbsentInformationException.htmlAccessible.htmlArrayReference.htmlArrayType.htmlBooleanType.htmlBooleanValue.htmlBootstrap.htmlByteType.htmlByteValue.htmlCharType.htmlCharValue.htmlClassLoaderReference.htmlClassNotLoadedException.htmlClassNotPreparedException.htmlClassObjectReference.htmlClassType.htmlDoubleType.htmlDoubleValue.htmlField.htmlFloatType.htmlFloatValue.htmlIncompatibleThreadStateException.htmlInconsistentDebugInfoException.htmlIntegerType.htmlIntegerValue.htmlInterfaceType.htmlInternalException.htmlInvalidCodeIndexException.htmlInvalidLineNumberException.htmlInvalidModuleException.htmlInvalidStackFrameException.htmlInvalidTypeException.htmlInvocationException.htmlJDIPermission.htmlLocalVariable.htmlLocatable.htmlLocation.htmlLongType.htmlLongValue.htmlMethod.htmlMirror.htmlModuleReference.htmlMonitorInfo.htmlNativeMethodException.htmlObjectCollectedException.htmlObjectReference.htmlPathSearchingVirtualMachine.htmlPrimitiveType.htmlPrimitiveValue.htmlReferenceType.htmlShortType.htmlShortValue.htmlStackFrame.htmlStringReference.htmlThreadGroupReference.htmlThreadReference.htmlType.htmlTypeComponent.htmlVMCannotBeModifiedException.htmlVMDisconnectedException.htmlVMMismatchException.htmlVMOutOfMemoryException.htmlValue.htmlVirtualMachine.htmlVirtualMachineManager.htmlVoidType.htmlVoidValue.htmlconnectAttachingConnector.htmlConnector.Argument.htmlConnector.BooleanArgument.htmlConnector.IntegerArgument.htmlConnector.SelectedArgument.htmlConnector.StringArgument.htmlConnector.htmlIllegalConnectorArgumentsException.htmlLaunchingConnector.htmlListeningConnector.htmlTransport.htmlTransportTimeoutException.htmlVMStartException.htmlclass-useAttachingConnector.htmlConnector.Argument.htmlConnector.BooleanArgument.htmlConnector.IntegerArgument.htmlConnector.SelectedArgument.htmlConnector.StringArgument.htmlConnector.htmlIllegalConnectorArgumentsException.htmlLaunchingConnector.htmlListeningConnector.htmlTransport.htmlTransportTimeoutException.htmlVMStartException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiClosedConnectionException.htmlConnection.htmlTransportService.Capabilities.htmlTransportService.ListenKey.htmlTransportService.htmlclass-useClosedConnectionException.htmlConnection.htmlTransportService.Capabilities.htmlTransportService.ListenKey.htmlTransportService.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filessignature.htmleventAccessWatchpointEvent.htmlBreakpointEvent.htmlClassPrepareEvent.htmlClassUnloadEvent.htmlEvent.htmlEventIterator.htmlEventQueue.htmlEventSet.htmlExceptionEvent.htmlLocatableEvent.htmlMethodEntryEvent.htmlMethodExitEvent.htmlModificationWatchpointEvent.htmlMonitorContendedEnterEvent.htmlMonitorContendedEnteredEvent.htmlMonitorWaitEvent.htmlMonitorWaitedEvent.htmlStepEvent.htmlThreadDeathEvent.htmlThreadStartEvent.htmlVMDeathEvent.htmlVMDisconnectEvent.htmlVMStartEvent.htmlWatchpointEvent.htmlclass-useAccessWatchpointEvent.htmlBreakpointEvent.htmlClassPrepareEvent.htmlClassUnloadEvent.htmlEvent.htmlEventIterator.htmlEventQueue.htmlEventSet.htmlExceptionEvent.htmlLocatableEvent.htmlMethodEntryEvent.htmlMethodExitEvent.htmlModificationWatchpointEvent.htmlMonitorContendedEnterEvent.htmlMonitorContendedEnteredEvent.htmlMonitorWaitEvent.htmlMonitorWaitedEvent.htmlStepEvent.htmlThreadDeathEvent.htmlThreadStartEvent.htmlVMDeathEvent.htmlVMDisconnectEvent.htmlVMStartEvent.htmlWatchpointEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrequestAccessWatchpointRequest.htmlBreakpointRequest.htmlClassPrepareRequest.htmlClassUnloadRequest.htmlDuplicateRequestException.htmlEventRequest.htmlEventRequestManager.htmlExceptionRequest.htmlInvalidRequestStateException.htmlMethodEntryRequest.htmlMethodExitRequest.htmlModificationWatchpointRequest.htmlMonitorContendedEnterRequest.htmlMonitorContendedEnteredRequest.htmlMonitorWaitRequest.htmlMonitorWaitedRequest.htmlStepRequest.htmlThreadDeathRequest.htmlThreadStartRequest.htmlVMDeathRequest.htmlWatchpointRequest.htmlclass-useAccessWatchpointRequest.htmlBreakpointRequest.htmlClassPrepareRequest.htmlClassUnloadRequest.htmlDuplicateRequestException.htmlEventRequest.htmlEventRequestManager.htmlExceptionRequest.htmlInvalidRequestStateException.htmlMethodEntryRequest.htmlMethodExitRequest.htmlModificationWatchpointRequest.htmlMonitorContendedEnterRequest.htmlMonitorContendedEnteredRequest.htmlMonitorWaitRequest.htmlMonitorWaitedRequest.htmlStepRequest.htmlThreadDeathRequest.htmlThreadStartRequest.htmlVMDeathRequest.htmlWatchpointRequest.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jdwp.agentmodule-summary.htmljdk.jfrjdkjfrAnnotationElement.htmlBooleanFlag.htmlCategory.htmlConfiguration.htmlContentType.htmlDataAmount.htmlDescription.htmlEnabled.htmlEvent.htmlEventFactory.htmlEventSettings.htmlEventType.htmlExperimental.htmlFlightRecorder.htmlFlightRecorderListener.htmlFlightRecorderPermission.htmlFrequency.htmlLabel.htmlMemoryAddress.htmlMetadataDefinition.htmlName.htmlPercentage.htmlPeriod.htmlRecording.htmlRecordingState.htmlRegistered.htmlRelational.htmlSettingControl.htmlSettingDefinition.htmlSettingDescriptor.htmlStackTrace.htmlThreshold.htmlTimespan.htmlTimestamp.htmlTransitionFrom.htmlTransitionTo.htmlUnsigned.htmlValueDescriptor.htmlclass-useAnnotationElement.htmlBooleanFlag.htmlCategory.htmlConfiguration.htmlContentType.htmlDataAmount.htmlDescription.htmlEnabled.htmlEvent.htmlEventFactory.htmlEventSettings.htmlEventType.htmlExperimental.htmlFlightRecorder.htmlFlightRecorderListener.htmlFlightRecorderPermission.htmlFrequency.htmlLabel.htmlMemoryAddress.htmlMetadataDefinition.htmlName.htmlPercentage.htmlPeriod.htmlRecording.htmlRecordingState.htmlRegistered.htmlRelational.htmlSettingControl.htmlSettingDefinition.htmlSettingDescriptor.htmlStackTrace.htmlThreshold.htmlTimespan.htmlTimestamp.htmlTransitionFrom.htmlTransitionTo.htmlUnsigned.htmlValueDescriptor.htmlconsumerRecordedClass.htmlRecordedClassLoader.htmlRecordedEvent.htmlRecordedFrame.htmlRecordedMethod.htmlRecordedObject.htmlRecordedStackTrace.htmlRecordedThread.htmlRecordedThreadGroup.htmlRecordingFile.htmlclass-useRecordedClass.htmlRecordedClassLoader.htmlRecordedEvent.htmlRecordedFrame.htmlRecordedMethod.htmlRecordedObject.htmlRecordedStackTrace.htmlRecordedThread.htmlRecordedThreadGroup.htmlRecordingFile.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jlinkmodule-summary.htmljdk.jshelljdkjshellDeclarationSnippet.htmlDiag.htmlErroneousSnippet.htmlEvalException.htmlExpressionSnippet.htmlImportSnippet.htmlJShell.Builder.htmlJShell.Subscription.htmlJShell.htmlJShellException.htmlMethodSnippet.htmlPersistentSnippet.htmlSnippet.Kind.htmlSnippet.Status.htmlSnippet.SubKind.htmlSnippet.htmlSnippetEvent.htmlSourceCodeAnalysis.Completeness.htmlSourceCodeAnalysis.CompletionInfo.htmlSourceCodeAnalysis.Documentation.htmlSourceCodeAnalysis.QualifiedNames.htmlSourceCodeAnalysis.SnippetWrapper.htmlSourceCodeAnalysis.Suggestion.htmlSourceCodeAnalysis.htmlStatementSnippet.htmlTypeDeclSnippet.htmlUnresolvedReferenceException.htmlVarSnippet.htmlclass-useDeclarationSnippet.htmlDiag.htmlErroneousSnippet.htmlEvalException.htmlExpressionSnippet.htmlImportSnippet.htmlJShell.Builder.htmlJShell.Subscription.htmlJShell.htmlJShellException.htmlMethodSnippet.htmlPersistentSnippet.htmlSnippet.Kind.htmlSnippet.Status.htmlSnippet.SubKind.htmlSnippet.htmlSnippetEvent.htmlSourceCodeAnalysis.Completeness.htmlSourceCodeAnalysis.CompletionInfo.htmlSourceCodeAnalysis.Documentation.htmlSourceCodeAnalysis.QualifiedNames.htmlSourceCodeAnalysis.SnippetWrapper.htmlSourceCodeAnalysis.Suggestion.htmlSourceCodeAnalysis.htmlStatementSnippet.htmlTypeDeclSnippet.htmlUnresolvedReferenceException.htmlVarSnippet.htmlexecutionDirectExecutionControl.htmlFailOverExecutionControlProvider.htmlJdiDefaultExecutionControl.htmlJdiExecutionControl.htmlJdiExecutionControlProvider.htmlJdiInitiator.htmlLoaderDelegate.htmlLocalExecutionControl.htmlLocalExecutionControlProvider.htmlRemoteExecutionControl.htmlStreamingExecutionControl.htmlUtil.htmlclass-useDirectExecutionControl.htmlFailOverExecutionControlProvider.htmlJdiDefaultExecutionControl.htmlJdiExecutionControl.htmlJdiExecutionControlProvider.htmlJdiInitiator.htmlLoaderDelegate.htmlLocalExecutionControl.htmlLocalExecutionControlProvider.htmlRemoteExecutionControl.htmlStreamingExecutionControl.htmlUtil.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiExecutionControl.ClassBytecodes.htmlExecutionControl.ClassInstallException.htmlExecutionControl.EngineTerminationException.htmlExecutionControl.ExecutionControlException.htmlExecutionControl.InternalException.htmlExecutionControl.NotImplementedException.htmlExecutionControl.ResolutionException.htmlExecutionControl.RunException.htmlExecutionControl.StoppedException.htmlExecutionControl.UserException.htmlExecutionControl.htmlExecutionControlProvider.htmlExecutionEnv.htmlSPIResolutionException.htmlclass-useExecutionControl.ClassBytecodes.htmlExecutionControl.ClassInstallException.htmlExecutionControl.EngineTerminationException.htmlExecutionControl.ExecutionControlException.htmlExecutionControl.InternalException.htmlExecutionControl.NotImplementedException.htmlExecutionControl.ResolutionException.htmlExecutionControl.RunException.htmlExecutionControl.StoppedException.htmlExecutionControl.UserException.htmlExecutionControl.htmlExecutionControlProvider.htmlExecutionEnv.htmlSPIResolutionException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolJavaShellToolBuilder.htmlclass-useJavaShellToolBuilder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jsobjectmodule-summary.htmlnetscapejavascriptJSException.htmlJSObject.htmlclass-useJSException.htmlJSObject.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.jstatdmodule-summary.htmljdk.localedatamodule-summary.htmljdk.managementjdk.management.agentmodule-summary.htmljdk.management.jfrjdkmanagementjfrConfigurationInfo.htmlEventTypeInfo.htmlFlightRecorderMXBean.htmlRecordingInfo.htmlSettingDescriptorInfo.htmlclass-useConfigurationInfo.htmlEventTypeInfo.htmlFlightRecorderMXBean.htmlRecordingInfo.htmlSettingDescriptorInfo.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlcomsunmanagementDiagnosticCommandMBean.htmlGarbageCollectionNotificationInfo.htmlGarbageCollectorMXBean.htmlGcInfo.htmlHotSpotDiagnosticMXBean.htmlOperatingSystemMXBean.htmlThreadMXBean.htmlUnixOperatingSystemMXBean.htmlVMOption.Origin.htmlVMOption.htmlclass-useDiagnosticCommandMBean.htmlGarbageCollectionNotificationInfo.htmlGarbageCollectorMXBean.htmlGcInfo.htmlHotSpotDiagnosticMXBean.htmlOperatingSystemMXBean.htmlThreadMXBean.htmlUnixOperatingSystemMXBean.htmlVMOption.Origin.htmlVMOption.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.naming.dnsmodule-summary.htmljdk.naming.ldapcomsunjndildapspiLdapDnsProvider.htmlLdapDnsProviderResult.htmlclass-useLdapDnsProvider.htmlLdapDnsProviderResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.naming.rmimodule-summary.htmljdk.netjdknetExtendedSocketOptions.htmlNetworkPermission.htmlSocketFlow.Status.htmlSocketFlow.htmlSockets.htmlclass-useExtendedSocketOptions.htmlNetworkPermission.htmlSocketFlow.Status.htmlSocketFlow.htmlSockets.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnioChannels.SelectableChannelCloser.htmlChannels.htmlclass-useChannels.SelectableChannelCloser.htmlChannels.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.packmodule-summary.htmljdk.rmicmodule-summary.htmljdk.scripting.nashornjdknashornapiscriptingAbstractJSObject.htmlClassFilter.htmlJSObject.htmlNashornException.htmlNashornScriptEngine.htmlNashornScriptEngineFactory.htmlScriptObjectMirror.htmlScriptUtils.htmlURLReader.htmlclass-useAbstractJSObject.htmlClassFilter.htmlJSObject.htmlNashornException.htmlNashornScriptEngine.htmlNashornScriptEngineFactory.htmlScriptObjectMirror.htmlScriptUtils.htmlURLReader.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeArrayAccessTree.htmlArrayLiteralTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassDeclarationTree.htmlClassExpressionTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlConditionalLoopTree.htmlContinueTree.htmlDebuggerTree.htmlDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticListener.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlErroneousTree.htmlExportEntryTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForInLoopTree.htmlForLoopTree.htmlForOfLoopTree.htmlFunctionCallTree.htmlFunctionDeclarationTree.htmlFunctionExpressionTree.htmlGotoTree.htmlIdentifierTree.htmlIfTree.htmlImportEntryTree.htmlInstanceOfTree.htmlLabeledStatementTree.htmlLineMap.htmlLiteralTree.htmlLoopTree.htmlMemberSelectTree.htmlModuleTree.htmlNewTree.htmlObjectLiteralTree.htmlParenthesizedTree.htmlParser.htmlPropertyTree.htmlRegExpLiteralTree.htmlReturnTree.htmlSimpleTreeVisitorES5_1.htmlSimpleTreeVisitorES6.htmlSpreadTree.htmlStatementTree.htmlSwitchTree.htmlTemplateLiteralTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlUnaryTree.htmlUnknownTreeException.htmlVariableTree.htmlWhileLoopTree.htmlWithTree.htmlYieldTree.htmlclass-useArrayAccessTree.htmlArrayLiteralTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassDeclarationTree.htmlClassExpressionTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlConditionalLoopTree.htmlContinueTree.htmlDebuggerTree.htmlDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticListener.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlErroneousTree.htmlExportEntryTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForInLoopTree.htmlForLoopTree.htmlForOfLoopTree.htmlFunctionCallTree.htmlFunctionDeclarationTree.htmlFunctionExpressionTree.htmlGotoTree.htmlIdentifierTree.htmlIfTree.htmlImportEntryTree.htmlInstanceOfTree.htmlLabeledStatementTree.htmlLineMap.htmlLiteralTree.htmlLoopTree.htmlMemberSelectTree.htmlModuleTree.htmlNewTree.htmlObjectLiteralTree.htmlParenthesizedTree.htmlParser.htmlPropertyTree.htmlRegExpLiteralTree.htmlReturnTree.htmlSimpleTreeVisitorES5_1.htmlSimpleTreeVisitorES6.htmlSpreadTree.htmlStatementTree.htmlSwitchTree.htmlTemplateLiteralTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlUnaryTree.htmlUnknownTreeException.htmlVariableTree.htmlWhileLoopTree.htmlWithTree.htmlYieldTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.sctpcomsunniosctpAbstractNotificationHandler.htmlAssociation.htmlAssociationChangeNotification.AssocChangeEvent.htmlAssociationChangeNotification.htmlHandlerResult.htmlIllegalReceiveException.htmlIllegalUnbindException.htmlInvalidStreamException.htmlMessageInfo.htmlNotification.htmlNotificationHandler.htmlPeerAddressChangeNotification.AddressChangeEvent.htmlPeerAddressChangeNotification.htmlSctpChannel.htmlSctpMultiChannel.htmlSctpServerChannel.htmlSctpSocketOption.htmlSctpStandardSocketOptions.InitMaxStreams.htmlSctpStandardSocketOptions.htmlSendFailedNotification.htmlShutdownNotification.htmlclass-useAbstractNotificationHandler.htmlAssociation.htmlAssociationChangeNotification.AssocChangeEvent.htmlAssociationChangeNotification.htmlHandlerResult.htmlIllegalReceiveException.htmlIllegalUnbindException.htmlInvalidStreamException.htmlMessageInfo.htmlNotification.htmlNotificationHandler.htmlPeerAddressChangeNotification.AddressChangeEvent.htmlPeerAddressChangeNotification.htmlSctpChannel.htmlSctpMultiChannel.htmlSctpServerChannel.htmlSctpSocketOption.htmlSctpStandardSocketOptions.InitMaxStreams.htmlSctpStandardSocketOptions.htmlSendFailedNotification.htmlShutdownNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.security.authcomsunsecurityauthLdapPrincipal.htmlNTDomainPrincipal.htmlNTNumericCredential.htmlNTSid.htmlNTSidDomainPrincipal.htmlNTSidGroupPrincipal.htmlNTSidPrimaryGroupPrincipal.htmlNTSidUserPrincipal.htmlNTUserPrincipal.htmlPrincipalComparator.htmlUnixNumericGroupPrincipal.htmlUnixNumericUserPrincipal.htmlUnixPrincipal.htmlUserPrincipal.htmlcallbackTextCallbackHandler.htmlclass-useTextCallbackHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useLdapPrincipal.htmlNTDomainPrincipal.htmlNTNumericCredential.htmlNTSid.htmlNTSidDomainPrincipal.htmlNTSidGroupPrincipal.htmlNTSidPrimaryGroupPrincipal.htmlNTSidUserPrincipal.htmlNTUserPrincipal.htmlPrincipalComparator.htmlUnixNumericGroupPrincipal.htmlUnixNumericUserPrincipal.htmlUnixPrincipal.htmlUserPrincipal.htmlloginConfigFile.htmlclass-useConfigFile.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmoduleJndiLoginModule.htmlKeyStoreLoginModule.htmlKrb5LoginModule.htmlLdapLoginModule.htmlNTLoginModule.htmlNTSystem.htmlUnixLoginModule.htmlUnixSystem.htmlclass-useJndiLoginModule.htmlKeyStoreLoginModule.htmlKrb5LoginModule.htmlLdapLoginModule.htmlNTLoginModule.htmlNTSystem.htmlUnixLoginModule.htmlUnixSystem.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.security.jgsscomsunsecurityjgssAuthorizationDataEntry.htmlExtendedGSSContext.htmlExtendedGSSCredential.htmlGSSUtil.htmlInquireSecContextPermission.htmlInquireType.htmlclass-useAuthorizationDataEntry.htmlExtendedGSSContext.htmlExtendedGSSCredential.htmlGSSUtil.htmlInquireSecContextPermission.htmlInquireType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.xml.dommodule-summary.htmlorgw3cdomcssCSS2Properties.htmlCSSCharsetRule.htmlCSSFontFaceRule.htmlCSSImportRule.htmlCSSMediaRule.htmlCSSPageRule.htmlCSSPrimitiveValue.htmlCSSRule.htmlCSSRuleList.htmlCSSStyleDeclaration.htmlCSSStyleRule.htmlCSSStyleSheet.htmlCSSUnknownRule.htmlCSSValue.htmlCSSValueList.htmlCounter.htmlDOMImplementationCSS.htmlDocumentCSS.htmlElementCSSInlineStyle.htmlRGBColor.htmlRect.htmlViewCSS.htmlclass-useCSS2Properties.htmlCSSCharsetRule.htmlCSSFontFaceRule.htmlCSSImportRule.htmlCSSMediaRule.htmlCSSPageRule.htmlCSSPrimitiveValue.htmlCSSRule.htmlCSSRuleList.htmlCSSStyleDeclaration.htmlCSSStyleRule.htmlCSSStyleSheet.htmlCSSUnknownRule.htmlCSSValue.htmlCSSValueList.htmlCounter.htmlDOMImplementationCSS.htmlDocumentCSS.htmlElementCSSInlineStyle.htmlRGBColor.htmlRect.htmlViewCSS.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlhtmlHTMLAnchorElement.htmlHTMLAppletElement.htmlHTMLAreaElement.htmlHTMLBRElement.htmlHTMLBaseElement.htmlHTMLBaseFontElement.htmlHTMLBodyElement.htmlHTMLButtonElement.htmlHTMLCollection.htmlHTMLDListElement.htmlHTMLDOMImplementation.htmlHTMLDirectoryElement.htmlHTMLDivElement.htmlHTMLDocument.htmlHTMLElement.htmlHTMLFieldSetElement.htmlHTMLFontElement.htmlHTMLFormElement.htmlHTMLFrameElement.htmlHTMLFrameSetElement.htmlHTMLHRElement.htmlHTMLHeadElement.htmlHTMLHeadingElement.htmlHTMLHtmlElement.htmlHTMLIFrameElement.htmlHTMLImageElement.htmlHTMLInputElement.htmlHTMLIsIndexElement.htmlHTMLLIElement.htmlHTMLLabelElement.htmlHTMLLegendElement.htmlHTMLLinkElement.htmlHTMLMapElement.htmlHTMLMenuElement.htmlHTMLMetaElement.htmlHTMLModElement.htmlHTMLOListElement.htmlHTMLObjectElement.htmlHTMLOptGroupElement.htmlHTMLOptionElement.htmlHTMLParagraphElement.htmlHTMLParamElement.htmlHTMLPreElement.htmlHTMLQuoteElement.htmlHTMLScriptElement.htmlHTMLSelectElement.htmlHTMLStyleElement.htmlHTMLTableCaptionElement.htmlHTMLTableCellElement.htmlHTMLTableColElement.htmlHTMLTableElement.htmlHTMLTableRowElement.htmlHTMLTableSectionElement.htmlHTMLTextAreaElement.htmlHTMLTitleElement.htmlHTMLUListElement.htmlclass-useHTMLAnchorElement.htmlHTMLAppletElement.htmlHTMLAreaElement.htmlHTMLBRElement.htmlHTMLBaseElement.htmlHTMLBaseFontElement.htmlHTMLBodyElement.htmlHTMLButtonElement.htmlHTMLCollection.htmlHTMLDListElement.htmlHTMLDOMImplementation.htmlHTMLDirectoryElement.htmlHTMLDivElement.htmlHTMLDocument.htmlHTMLElement.htmlHTMLFieldSetElement.htmlHTMLFontElement.htmlHTMLFormElement.htmlHTMLFrameElement.htmlHTMLFrameSetElement.htmlHTMLHRElement.htmlHTMLHeadElement.htmlHTMLHeadingElement.htmlHTMLHtmlElement.htmlHTMLIFrameElement.htmlHTMLImageElement.htmlHTMLInputElement.htmlHTMLIsIndexElement.htmlHTMLLIElement.htmlHTMLLabelElement.htmlHTMLLegendElement.htmlHTMLLinkElement.htmlHTMLMapElement.htmlHTMLMenuElement.htmlHTMLMetaElement.htmlHTMLModElement.htmlHTMLOListElement.htmlHTMLObjectElement.htmlHTMLOptGroupElement.htmlHTMLOptionElement.htmlHTMLParagraphElement.htmlHTMLParamElement.htmlHTMLPreElement.htmlHTMLQuoteElement.htmlHTMLScriptElement.htmlHTMLSelectElement.htmlHTMLStyleElement.htmlHTMLTableCaptionElement.htmlHTMLTableCellElement.htmlHTMLTableColElement.htmlHTMLTableElement.htmlHTMLTableRowElement.htmlHTMLTableSectionElement.htmlHTMLTextAreaElement.htmlHTMLTitleElement.htmlHTMLUListElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstylesheetsDocumentStyle.htmlLinkStyle.htmlMediaList.htmlStyleSheet.htmlStyleSheetList.htmlclass-useDocumentStyle.htmlLinkStyle.htmlMediaList.htmlStyleSheet.htmlStyleSheetList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxpathXPathEvaluator.htmlXPathException.htmlXPathExpression.htmlXPathNSResolver.htmlXPathNamespace.htmlXPathResult.htmlclass-useXPathEvaluator.htmlXPathException.htmlXPathExpression.htmlXPathNSResolver.htmlXPathNamespace.htmlXPathResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.zipfsmodule-summary.htmljqueryjquery-ui.overrides.cssexternaljqueryjquery.jsjquery-3.6.1.min.jsjquery-ui.min.cssjquery-ui.min.jsjszipjszip-utilsdistjszip-utils-ie.jsjszip-utils-ie.min.jsjszip-utils.jsjszip-utils.min.jsdistjszip.jsjszip.min.jsmember-search-index.jsmember-search-index.zipmodule-search-index.jsmodule-search-index.zipoverview-summary.htmloverview-tree.htmlpackage-search-index.jspackage-search-index.zipresourcesglass.pngx.pngscript.jssearch.jsserialized-form.htmlstylesheet.csstag-search-index.jstag-search-index.ziptype-search-index.jstype-search-index.zipindex.htmllegaljquery.mdjqueryUI.mdjszip.mdpako.mdresourcesjdk-default.cssspecsjdwpjdwp-protocol.htmljvmti.html/usr/share//usr/share/javadoc//usr/share/javadoc/java-11-openjdk//usr/share/javadoc/java-11-openjdk/api//usr/share/javadoc/java-11-openjdk/api/index-files//usr/share/javadoc/java-11-openjdk/api/java.base//usr/share/javadoc/java-11-openjdk/api/java.base/java//usr/share/javadoc/java-11-openjdk/api/java.base/java/io//usr/share/javadoc/java-11-openjdk/api/java.base/java/io/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/annotation//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/annotation/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/doc-files//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/invoke//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/invoke/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/module//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/module/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/ref//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/ref/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/reflect//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/reflect/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/math//usr/share/javadoc/java-11-openjdk/api/java.base/java/math/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/net//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/doc-files//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/attribute//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/attribute/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/acl//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/acl/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/cert//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/cert/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/interfaces//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/interfaces/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/spec//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/spec/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/text//usr/share/javadoc/java-11-openjdk/api/java.base/java/text/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/text/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/text/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/chrono//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/chrono/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/format//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/format/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/temporal//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/temporal/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/zone//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/zone/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/atomic//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/atomic/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/locks//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/locks/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/doc-files//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/function//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/function/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/jar//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/jar/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/regex//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/regex/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/stream//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/zip//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/zip/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/interfaces//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/interfaces/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/spec//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/spec/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net/ssl//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net/ssl/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/callback//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/callback/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/login//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/login/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/spi//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/x500//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/x500/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/cert//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/cert/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/annotation//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/annotation/processing//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/annotation/processing/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/element//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/element/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/type//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/type/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/util//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/util/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/tools//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/tools/class-use//usr/share/javadoc/java-11-openjdk/api/java.datatransfer//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java/awt//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java/awt/datatransfer//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java/awt/datatransfer/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop//usr/share/javadoc/java-11-openjdk/api/java.desktop/java//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/applet//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/applet/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/color//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/color/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/desktop//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/desktop/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/dnd//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/dnd/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/font//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/font/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/geom//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/geom/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image/renderable//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image/renderable/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/print//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/print/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans/beancontext//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans/beancontext/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/accessibility//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/accessibility/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/metadata//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/metadata/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/metadata/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/bmp//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/bmp/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/jpeg//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/jpeg/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/tiff//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/tiff/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/stream//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute/standard//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute/standard/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/border//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/border/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/colorchooser//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/colorchooser/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/filechooser//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/filechooser/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/basic//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/basic/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/metal//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/metal/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/multi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/multi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/multi/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/nimbus//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/nimbus/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/nimbus/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/synth//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/synth/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/synth/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/table//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/table/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html/parser//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html/parser/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/rtf//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/rtf/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/tree//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/tree/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/undo//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/undo/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/undo/doc-files//usr/share/javadoc/java-11-openjdk/api/java.instrument//usr/share/javadoc/java-11-openjdk/api/java.instrument/java//usr/share/javadoc/java-11-openjdk/api/java.instrument/java/lang//usr/share/javadoc/java-11-openjdk/api/java.instrument/java/lang/instrument//usr/share/javadoc/java-11-openjdk/api/java.instrument/java/lang/instrument/class-use//usr/share/javadoc/java-11-openjdk/api/java.logging//usr/share/javadoc/java-11-openjdk/api/java.logging/java//usr/share/javadoc/java-11-openjdk/api/java.logging/java/util//usr/share/javadoc/java-11-openjdk/api/java.logging/java/util/logging//usr/share/javadoc/java-11-openjdk/api/java.logging/java/util/logging/class-use//usr/share/javadoc/java-11-openjdk/api/java.management.rmi//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management/remote//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management/remote/rmi//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management/remote/rmi/class-use//usr/share/javadoc/java-11-openjdk/api/java.management//usr/share/javadoc/java-11-openjdk/api/java.management/java//usr/share/javadoc/java-11-openjdk/api/java.management/java/lang//usr/share/javadoc/java-11-openjdk/api/java.management/java/lang/management//usr/share/javadoc/java-11-openjdk/api/java.management/java/lang/management/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/loading//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/loading/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/modelmbean//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/modelmbean/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/monitor//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/monitor/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/openmbean//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/openmbean/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/relation//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/relation/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/remote//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/remote/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/timer//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/timer/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming//usr/share/javadoc/java-11-openjdk/api/java.naming/javax//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/directory//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/directory/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/event//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/ldap//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/ldap/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/spi//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.net.http//usr/share/javadoc/java-11-openjdk/api/java.net.http/java//usr/share/javadoc/java-11-openjdk/api/java.net.http/java/net//usr/share/javadoc/java-11-openjdk/api/java.net.http/java/net/http//usr/share/javadoc/java-11-openjdk/api/java.net.http/java/net/http/class-use//usr/share/javadoc/java-11-openjdk/api/java.prefs//usr/share/javadoc/java-11-openjdk/api/java.prefs/java//usr/share/javadoc/java-11-openjdk/api/java.prefs/java/util//usr/share/javadoc/java-11-openjdk/api/java.prefs/java/util/prefs//usr/share/javadoc/java-11-openjdk/api/java.prefs/java/util/prefs/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi//usr/share/javadoc/java-11-openjdk/api/java.rmi/java//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/activation//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/activation/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/dgc//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/dgc/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/registry//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/registry/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/server//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/server/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax/rmi//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax/rmi/ssl//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax/rmi/ssl/class-use//usr/share/javadoc/java-11-openjdk/api/java.scripting//usr/share/javadoc/java-11-openjdk/api/java.scripting/javax//usr/share/javadoc/java-11-openjdk/api/java.scripting/javax/script//usr/share/javadoc/java-11-openjdk/api/java.scripting/javax/script/class-use//usr/share/javadoc/java-11-openjdk/api/java.se//usr/share/javadoc/java-11-openjdk/api/java.security.jgss//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security/auth//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security/auth/kerberos//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security/auth/kerberos/class-use//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org/ietf//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org/ietf/jgss//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org/ietf/jgss/class-use//usr/share/javadoc/java-11-openjdk/api/java.security.sasl//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax/security//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax/security/sasl//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax/security/sasl/class-use//usr/share/javadoc/java-11-openjdk/api/java.smartcardio//usr/share/javadoc/java-11-openjdk/api/java.smartcardio/javax//usr/share/javadoc/java-11-openjdk/api/java.smartcardio/javax/smartcardio//usr/share/javadoc/java-11-openjdk/api/java.smartcardio/javax/smartcardio/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/serial//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/serial/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/spi//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql//usr/share/javadoc/java-11-openjdk/api/java.sql/java//usr/share/javadoc/java-11-openjdk/api/java.sql/java/sql//usr/share/javadoc/java-11-openjdk/api/java.sql/java/sql/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql/javax//usr/share/javadoc/java-11-openjdk/api/java.sql/javax/sql//usr/share/javadoc/java-11-openjdk/api/java.sql/javax/sql/class-use//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax/transaction//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax/transaction/xa//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax/transaction/xa/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dom//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/dom//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/spec//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/spec/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml//usr/share/javadoc/java-11-openjdk/api/java.xml/javax//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/catalog//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/catalog/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/datatype//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/datatype/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/namespace//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/namespace/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/parsers//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/parsers/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/events//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/events/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/util//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/util/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/dom//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/sax//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/sax/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stax//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stax/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stream//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/validation//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/validation/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/xpath//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/xpath/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/bootstrap//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/bootstrap/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/events//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/events/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ls//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ls/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ranges//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ranges/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/traversal//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/traversal/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/views//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/views/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/ext//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/ext/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/helpers//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/helpers/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java/accessibility//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java/accessibility/util//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java/accessibility/util/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.attach//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach/spi//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.charsets//usr/share/javadoc/java-11-openjdk/api/jdk.compiler//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/doctree//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/doctree/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/tree//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/tree/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/util//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/util/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/tools/javac//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/tools/javac/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.crypto.cryptoki//usr/share/javadoc/java-11-openjdk/api/jdk.crypto.ec//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/beans//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/beans/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker/support//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker/support/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/support//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/support/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.editpad//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver/spi//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jartool//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com/sun/jarsigner//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com/sun/jarsigner/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk/security//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk/security/jarsigner//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk/security/jarsigner/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/javadoc/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/tools/javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/tools/javadoc/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk/javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk/javadoc/doclet//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk/javadoc/doclet/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jcmd//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun/tools/jconsole//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun/tools/jconsole/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdeps//usr/share/javadoc/java-11-openjdk/api/jdk.jdi//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect/spi//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/doc-files//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/event//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/event/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/request//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/request/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdwp.agent//usr/share/javadoc/java-11-openjdk/api/jdk.jfr//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr/consumer//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr/consumer/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jlink//usr/share/javadoc/java-11-openjdk/api/jdk.jshell//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/execution//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/execution/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/spi//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/tool//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/tool/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject/netscape//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject/netscape/javascript//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject/netscape/javascript/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jstatd//usr/share/javadoc/java-11-openjdk/api/jdk.localedata//usr/share/javadoc/java-11-openjdk/api/jdk.management.agent//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk/management//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk/management/jfr//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk/management/jfr/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.management//usr/share/javadoc/java-11-openjdk/api/jdk.management/com//usr/share/javadoc/java-11-openjdk/api/jdk.management/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.management/com/sun/management//usr/share/javadoc/java-11-openjdk/api/jdk.management/com/sun/management/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.naming.dns//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi/ldap//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi/ldap/spi//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi/ldap/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.naming.rmi//usr/share/javadoc/java-11-openjdk/api/jdk.net//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/net//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/net/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/nio//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/nio/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.pack//usr/share/javadoc/java-11-openjdk/api/jdk.rmic//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/scripting//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/scripting/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/tree//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/tree/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.sctp//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun/nio//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun/nio/sctp//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun/nio/sctp/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/callback//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/callback/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/login//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/login/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/module//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/module/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun/security//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun/security/jgss//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun/security/jgss/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/css//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/css/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/html//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/html/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/stylesheets//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/stylesheets/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/xpath//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/xpath/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.zipfs//usr/share/javadoc/java-11-openjdk/api/jquery//usr/share/javadoc/java-11-openjdk/api/jquery/external//usr/share/javadoc/java-11-openjdk/api/jquery/external/jquery//usr/share/javadoc/java-11-openjdk/api/jquery/jszip-utils//usr/share/javadoc/java-11-openjdk/api/jquery/jszip-utils/dist//usr/share/javadoc/java-11-openjdk/api/jquery/jszip//usr/share/javadoc/java-11-openjdk/api/jquery/jszip/dist//usr/share/javadoc/java-11-openjdk/api/resources//usr/share/javadoc/java-11-openjdk/legal//usr/share/javadoc/java-11-openjdk/resources//usr/share/javadoc/java-11-openjdk/specs//usr/share/javadoc/java-11-openjdk/specs/jdwp/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34818/SUSE_SLE-15_Update/962838fd33d7cb73279ff3f6813e693a-java-11-openjdk.SUSE_SLE-15_Updatedrpmxz5s390x-suse-linux    !"#$%&'()*+,-./01234567888899999:;<=<=<=>><=<=?directoryHTML document, ASCII text, with very long linesHTML document, ASCII textASCII textHTML document, UTF-8 Unicode text, with very long linesC++ source, ASCII text, with very long linesGIF image data, version 89a, 362 x 302GIF image data, version 89a, 432 x 87GIF image data, version 89a, 77 x 81GIF image data, version 89a, 104 x 120GIF image data, version 89a, 118 x 61GIF image data, version 89a, 439 x 238GIF image data, version 87a, 513 x 362GIF image data, version 89a, 44 x 59GIF image data, version 89a, 289 x 122PNG image data, 181 x 52, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 151 x 150GIF image data, version 89a, 440 x 519GIF image data, version 89a, 295 x 67PNG image data, 370 x 130, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 168 x 108GIF image data, version 89a, 285 x 235GIF image data, version 87a, 404 x 280PNG image data, 132 x 125, 8-bit/color RGB, non-interlacedPNG image data, 129 x 123, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 125 x 93GIF image data, version 87a, 417 x 112GIF image data, version 89a, 429 x 206GIF image data, version 89a, 450 x 183GIF image data, version 89a, 140 x 120GIF image data, version 89a, 110 x 180GIF image data, version 89a, 150 x 180GIF image data, version 89a, 191 x 201GIF image data, version 89a, 269 x 264GIF image data, version 89a, 629 x 484GIF image data, version 89a, 349 x 386GIF image data, version 89a, 256 x 248GIF image data, version 87a, 384 x 100GIF image data, version 89a, 434 x 122GIF image data, version 89a, 194 x 266GIF image data, version 89a, 427 x 266PNG image data, 177 x 102, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 332 x 198GIF image data, version 89a, 342 x 85GIF image data, version 89a, 175 x 198Algol 68 source, ASCII textGIF image data, version 89a, 450 x 114GIF image data, version 89a, 438 x 168GIF image data, version 89a, 306 x 181GIF image data, version 89a, 438 x 171GIF image data, version 87a, 467 x 168GIF image data, version 89a, 48 x 30JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, baseline, precision 8, 270x220, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, baseline, precision 8, 345x530, frames 3GIF image data, version 87a, 587 x 358GIF image data, version 89a, 322 x 144GIF image data, version 89a, 346 x 162ASCII text, with very long linesUTF-8 Unicode text, with very long linesASCII text, with very long lines, with no line terminatorsASCII text, with very long lines, with no line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedUTF-8 Unicode text.X,l)WF+ Yutf-8ab61751b46e4d4f6c28cfbfea2bc566f606b4e51ad87db21f818dd7eb22bf122?7zXZ !t/z{]"k%!ǠHd1Ry3cF>Mű>sPzeqe!;;E\4i\r (1g;mj|%3i]N; (훕W0FI Y!pv*Q GlTWMLR_4DertJvKѺ&> l 07I[_ 6zPu TS]o%a{iXKjz{4~t3ݞtaCP,ӛ$}*'A=3ph>2&KVr爠://ϮXgzƍūsCa{׶i?rPƹnDAUII Sq96{UƵ{<( ۤ ޽plM2j1N䑓T{Ti[ݠeXmW8dgW3F?1NI Cq6[2?bwZ: ̄Hy9oxm.{)evYpfyQׄrLOno}JGK=Rń/Ѝ"N%0 klʞc&=kɰh  @ML~0jaek:ܦ; |Qwdn9m$YW unu"+umQ82B۝":ͮxtžSXГ^\^#c':;_؁Y s@Y/;z f&"<.u$!kny ?4ǀM7А_Sz(S8ʕY_[b`h/}R ~~KԲ«7gL4c Mk/?+ Šm$2Ia&e-$e#2 #3 U*jۻA:| D#2.V+ĝHCq}.<,3`~NnI\4 LC4w'B-rn35`پ;0`%IG]K|4ykAPcϗo-1&OܓXk.,M|)˕JQ7YS 釒`} 5J'(3}&# mQz;!7Is٩Jbb*NC%2rMmr{ѢLc'Kz̵޵{l8_@MV$ϲ"tgcɎI]w䉬_ɹB]% ݴK#[`J!X`nxXc;|fUy/AYvI bxGo[R%X+{ȅ^̄ӁBirS_FdJKt+CKQ@aB ָe$^ˆ0ۉDs~(biW֤>%W*[Z{רvڔ)X/@ Kl"2"aE}g>RQr<-V2/SP=,:9%b]uJ#e}ʲl>keh+/UZ9&a C e_# npͲ֥]2 O+#0 'ob,&Hð@rĉjA5qzL>|96<7. TnZoq-1Ex6Ij"߂OﰩI3;P >;"C}1 }2e3*WX2vu:A$dE$Ak 7#L(| ?ڂ[?pr !OCMD炱Z\ ~ud]"C58U]Ԯ0"4du7AA %sb98WczZa;?-ж]4mJi6KdžQm3-Fr=);xRGƀQQܧCɔ9V (Et"Gz%\۶h72%51UEޔU#; o;끐L0zU3*]1;K= ڮgW> 5y 7 ƛ-b]4gAKB My1&R,uͥ_R*ށ6( ཱྀ1,]hoAMʗPf"jcOe"ywh>YZŐIYO9bLuN+}{ZڬDRif턴e7L]ɽ|sD2[u):fU1t檅Sm^P1^pXDP 1lĴ2:OFJY$$l*Jj*>wJݓk3Og:!z$J?y#&#PuV}<4EyK3rq8ZhC$px΂ljnq{ $x̓1HK8Lc+@ۄ,^?ד砳,j9 fmaJ`{~<MDF]Nd?!$yyx]S9"lwDRNHkI(kOٹ"+ْ̣N5&f_gJapB` Xa¹q Ȅ#BLUȂ9Y l@FbezߑFmZu )/?ۈN A;Q^GR;'za˸Y߰ڠC.FVw~ !ZR0dXT]8j,q 2J0}& Lb,~[M ;/s6U9DurƧt o(ptж,GpY9Y!Bow ]tԪ+[FzcWqfB׸V]{߯T0,FR@xwfhTn ),MyB&t~qQb6Ԙ;z㍄53 As * _qx!D!t(}/`drgo#1ѱ-HYFP<~ `|H+;9ZJZ$zw5(U+GKҞY|s*=cM,O X'5@" J#T 8gP~ <:>NeB>X#:<6յhم:$]G2R&ڻG&p6+珽tצȥg:Hr{H,z^^Ϻ>vӼq1с]G$ |Xg4P_9#Gc@ϑײQ}3hRDyd"pYMs)D瞩h,(-g޼ZaR`ؕy,ZظR bir:);RKn7Sh=wN8K .@0voqXR[椄ߟ[_A?F qbb޵ѻK T~kŜ aD{7MH`dGo5oUE$>,%D eK1g˼ᄽc;ɛь$DZbÕu=qxC+L93+C$tM;`LKQ}URs{"u*pw>g˙wz 6}Ҷd݅͟{?Qh,W@;pN%sS0V@ Okb: JsڢUPwâ9憟bS;_oVfI5Ȫ} 1_ĽZ'i'>9?8]k9YM+\%nN6+b%E503Łߔ5N0oB ǬS),3zɓ)}ApPdw Nn~Ok͋ YI$cTc5!n@ r-oqPY@}2>0+TA?Si6&&wlyCV5ѳS62wlzKOFDG \fvEjdѶ\PL;[I6tGh4 1E94~WƲܶt=n8Me& ^A^.~x`\MU4Tרd~/5tWK)!jבg#]!fC29e b"̫^%#a$*JOJnE5Ūr\.Eݔ  [.sp"h< VG77ioU 4e 1 FyʇxAK/xadgfmw#̡}\~<|c;sḦ́[YO0ypo C)֟;)9SwnoBE UKp 84ٔX4P E@?lk\=qzS0Q` =6W1mJo7ot鏒7LPn Q/ 8 =o\kZI:=u(7S(BP,,2`wKW8uocH622:Ɛoud(#6(+.~=)|k g\)|g[QvηE 'LGalا>^x(Dbws(C(LnX/22?j6#)O"SG0N(Mhӈ'ҾLO툥ܬXIaXXO)yXR$gguCqS`,R`86GH6 jϷbpR--lu# |f 9gn lWP&&@OXTuW Ig}-d*]A$91 m o]C*'FĆ|%F6S9CHb)QK0`҆Kea1Zlj !X*hSǑsvglǛk^Y~Ӭwd;=s^%o$ <4B_Wer3E  +iE0MeT{,8iέ|#2` B[|d-Q!> 45^ Җu/ر$?tqhё^=N]1]+T?^,Ӡ{fXA3*܉%;;xW4 Dʠ+~KVf'(Sa#ǭQHf!k1JȨ3[MOj8ɰW(6$i0N$y7*Xt36qD@O~l ʹ߭`!"Ymĵd Bo(7] Ʒ6! ,+KiD/l.?y|B9H[X:s6y$a(^tGUט 8#~[=*VyaYhm[x6N (jyH\@qIk\ P;FxI^0>o~b_VlfaA:k\j\\=8`8|N&,=KpKzx wSMF 3,FLY"ݏ`5{1:u#d2:b|@de"ɧFC)< /&E( K-o3>7gӤ,8dm МuǴ-f`y6LYPw3Z"rG~+OG@n,:W(+Y Pp5mm+D"g ',kQ J=@m$hg< ge*ap d] 84eu7:Wb%N& ?=+,ҺQYgn/:FRgovp$CȽz/ *_ 9 ތCͭӂy[U=)CL3 %tBpt\a5ǸzWl7&A& CΧsH)==/P,i ,0Y,ku)PDQEtLܵ4!1tE ,ț;ߵ]CC2}a>87Zxq1#g]3Rd|WR49xM+mDyiIxn3PqWBxӡ%_,ED^gHT4ӓzO7^9As=*wcC- |ŭx$`>f|!D@R}R65jao?<,fU, << 7YVtgށp49檭V9>x~)2Ae~݀9pY# 1;qTq"Oע& Kb2L;_)-IjE] ӄ1Y[tT?,1h iڭ3͐\M0;ݛ:~ωlہҫϺLdq%! |QkonqҊ$χ s{$}<>\my⁨ΠQ<$Ngtؼk˩(#I& pʒ]_,$*Fv(d }2e9 {=Y$tlslK6믔oaY sZ ;"Y:Nھ弬kaFf>Ȳɛ D1`<_jsĦMH?YNM |"0EJ;[pkτ+Z#m VYIU|rQwJ]a7FHXIPnD &&(ݐk:SղgHM(Rb:N3#)" 3쩓:/_,/ؑFԕ1}\$*XCV.|U^%ybCG`Vxa&2F]#<(f|&ܕ6#RX~;06t}O7KI3t[W|Ynz :2Xe*EU+:-ro]RB9` !7Epm w[ȇ Y >f<)Sfɼֳt-h 鰇*lkgK&c-2"IQ 0d$$7D1 ^pN \dcQ` J5G;g:7f0֖Xa:qܧaZfK-M0 +WA*uY)!6)"cW0iy8nޘ]{0=%LQy*iʦ F?6 ͆/^|`lHA@'y̺YYxQW 142e.\H0$'M 19+n-hSy$O$Ci};p7SR%SgDEێ4~-bsΡڟLewv$ꀈe&SIs<Ҽ\.-C:xCa[+PTxknUeuuO (KAD0u(zcDA(;xsY9ck6ŭd*m?/m#Z,)j۪ȯ='~S@G~kpFGƱi5q!K&u· L,8`R멚A#Gl\6aW19VRV K 2wwD P*ZnOO5`fBǬiM L]w6 -q'9qk @|0ѭJ$-7˥C˭XGц:l'g%3Fgbj<~)%zfC̤ hoPƋ(ğc^pNA d5'8@9&FF;]σ)ýu;r63qė2cq75-H9Wt f>%>p 'PM2sv"R !|vB!˪ĕ17{jJ\LM`U2t?#S0+z+cY,'c9lo+״qYUs`&2gӓ F&<U[mmeׄHn_}ٴ>SiD_T9|׸%8ۚǰ}bnA P_=ZiSui`" !m5MbZYM0^\mtx5YK| r'D$MJ5I:gnkʛ7`=e-yhi(_<= vD*\)ZؕlZ̫G\?~4j\,0kc H0/l:Z;$CWUUR2[f[ne6/b,<pw=E}aНEFy GWr"潴R{׻YҸ ̸ZRh-ʉPpOHb$:-EDi'3_aն3itPa<܆ЭfH bJ/a0Ntgb%SGjYh2fO{<ŠPkzzWxeHQUl\k ?݂Ykο8j ;S%⯇KVZ#}6X-  c 0b9pdƶI8b,q$,oŹ\MTK3Kj^d,!eӖItQ )`@u3Xk+<%$Uk %+ecR~ͦOd.x/¦KEJ *Zo :4BjG3q}s*=k#GH{u(zǂuc7^MWe=m^#T5Ts桝zh rD׉e{Wr=C%~yPlXiPw"}:_rj }2fڪ'E+ ;qX#G{3/<U|&@J >=yMl`-~\ f YhF?I4 hS' Z!ͫ182"| 7[ubtǹ ٫$هw"*˸>hêApAxq'݃ )`V0o \*oE-p7agOɆC6>z۾ ^@pj,|bP 㿸C&?ʾ4Rlr)Pd k#^qGtl'M`@t:s[3?:-]c綯mec|9^0R}3a+rL%S{[;+ץ!m67Wݠ|k7.;P0]ڹ+ FгW ]zqT>c 9 u+<]-JOb׬OݦU ,!eThOK $KRx{%+0;u=Mm3@fq W+ WHsX!5J,GREş4{>L!_eD .ޢx#Brw*=]\{[Z(ņckB*c3@-w&Lt%\9LK,IF:X`-w2ݢ %S-yfsҋ 三_8*1Fb慕BVuؠ(| y4]IW`iE//d:*)j4M&>k)bp`ʹ  AfkyT8,?:%ɀ!,nm }Mߺk+R^<;lC[ӣ9?+Xw"}ZT"ojEF֌0!@qٟ/\%':[ ST›Inh8NKЮ+Dw}`E]?먓`>[kZN e}ђhUB8Y* &&-@p!n>ѯ{Xj$JR 7GxTYJ]Yx/C_Ii)fU= ᪚"GjӠl!J"RiZ3p rxp\G_5|3!_K|#]oavMYVr'#vcu}vkwqTm!Oj?&%T Usɨ?Y:8<(еZ ] R_@^4>t P{ P{s]\}InaoTZܝS3NpYv ض4X鷀 =c/v&y?r8_}"s?*=/gl'P-6#yҙIӿruE8OjgI3/\W߁ Q.as|Ljw_Wޯ5KǠ wڎk1xY  =PJ)nٔ|oMNb yJgN$_+ LFͥB9nAicuԓe٪1Jwߌ'@R)ͣ@썭afhaz=[5Xl#MA =GOb T|QXS1Lة/,?(Z/lw%ĖUe4ed o3 tjwk/ar+Zڅ'*Z= EB.H =t⨝ >z.T2<bP.?1%Hl \i ݡIS}?xꚔ#z 1.)Fx^_󌐛2YWI:n\]k|Β1G" e!0>Go@ClF)'HzjUR!Hy#ی$zPf=zvOpTt=4tp;jLWrЧz摎utƖMŚI f"< :r} r 3|= '\-(@ē|:ns,5HFI7| \Cj)aNJVxdB4GH-F6A ci~C8!&);VnusLܡ6 q󕟯9mcKIIShY/h)sf)JDaһu XyHL3W4;L&Tmݬ1AՅq\+ Vذ^QTvDWAY@͔<)wT̓ۗiJWKtX_^.?NH8͚B~@Ϧ-莵j@j Β`T$z*?YVnD)-S:5(dguhw7GRÓV;uvL? mg`BB/,qeUhCsҶ`/<z ά4LM,κUnDOZ.M/X D C@̿g?&5p ΦXyrEք4h) !8 1A.  aT)(kl gɈA~6ap,q;`jxE˨' Ɔ 6Ogb`^{x..m=sH\ Gyc;M F~R3ē,}8g>%{p}x_6Q휉/9%2'~ߧs2*q@VAA^밦.]ece3YȵW\є3lUHE]j.&*ĽiP1^ 4*j|diQd5J)CFHӜdU^W+[ygm2h r.i-Ԭ,@^+hy On$ -}OOȻSӍ/IM wsƵ۟갋˷(/mܼmJY1G m!!FQ=Qeq`!Nض @V,-E'/R¥vrMہu~oкuTC͑nEú9V$}xXټ A7mDNpϴAIR›yʛh0Um^ކ3T"ooMuu~rחĥ>҈~5}6WV4^|tOBp1$jbzDOlSXgs;h?eHzW$y@ qqU ]FD8nܴ^7;yq :Z=ߛ ~)K3| ^MJ>Ψlbr'P40V^LL?I};uuu4\?Ӭ%Y,,2+"f D݃X` 60tZ85J do`XObεooXqc1T~D=f᫪3 Q{ ,u$Pc#EU.QsѬ>Ɵ&w1"! ˬR>Fiib#- `ih.Cs^`Lf`R6ᏂK M.lLo3IfوT3%e%e}ަgm6}ޛU,)׃;И|64 s(KE~tOL"Ǥ ABr.iXŴ~G<|׾ .iR[Reњߠ+d|J'M &_Y8~r^f[ .ӂ4ފo;$dž& r9ű9W iI/0|rEJ6b(e|a2R|?H$Y΢ FsYOǞ3^6_ԝ~*PRm^ Yt@p@F*}mjktk2 XOr;\j$m<wM%iK3時R<,j̀<M¸T%3%C}YXfEYr 9} ?Wx"`^I@O_ ط:|Z51!r+L]G0ܪ\*]4A!SuavHmXSADc.a(xf=4rdnC7:ꉺkAApXp7_QI9"H/h%Ū'8C>FօwfiYJ}YXYd4ӗL%8)3SLm̖S|1=nؚ$W ~k-`2 =4P%rꠘ:翦>(4~i#1 񫈦7|7>1gRS# pM-+pU *|Ni pPnSSYikԒ;6NJyn۞XLCs" O~Yq,xsbѡ˰,O5w'hy SQr .ԦsWFGpX*@V15X Qk2%Г22sY'XU|%|qFkh\ٿ&PyeѸcs<v]"i|yY7T7h0tf$x]o_gb&8P۞JM#ˑes!K;M0~Jk=nsbD⥣ }uY46wuB)x{9Χ-?3 a䡇7$ʭU;("E\i67[8$tQd/XmujԼ6jN @ϟ#122ݘϲ曡t,|eKQMZ_ܓd_,);,׻Hr*Ӟ< pTʀ~OCYf쌏C .T.pHXjZ  Tm@qauG5|K;z~]荕xaܡQkQfKm*ɨ3` 1I@cq{\?qͲ(+<(ܕWg{I]2%oƢA UA 8DT3G#م'LP)hf4ӨlCAe<6N@KȖvz尦K9rMf1TUaRcɖ68UdMԺM%VkMcH$W&EDx]PRhXi!9z2:dGygL#h.d3&4uX_z= -6 S?]шNiFPECp!~sN %[l0g%|hұ'_r(ՈU.La[TV;'oGt!#tUUF-WC8Dݧ}ҵchlQ* Ra7zTI.-D-\a( R5^:㖜R ɣ~|: 2ʢik139tv,Mq'~G|}4b7ko$XŽ,ե\c\Vb*[!QJNۜV>Vݚ䳬Oet$23>e.$O1˸̼9}(_-]FW(Q{Xk&Dj;@?͍KƩ Q rF`0ì1 v;Bd,EB% 3T쏗Wa/@tS;GP 1JÒis|"f9XA5=i#|㠷 P:{23yT:[Syv/P/4qĬmYۗQ /7P vȚvy@͡^JI`jx ! 'R~͓Lܰ~>{bl0gM,82x I$֬c eѰ׫dX`p08F;L.dGP 턝oޢ0ܒM??kUxWݳZ ?9V!fhW@FkYia; G:&r"CTv5GmE)4*:s:G ?HZϩk@ʦ̘xFsNۋaX#Ufٞitߌ;cf|\ %v4kLӋK~'k7rǂf`M%X?6M/̨}7@`vTv¤}]Tp4%xms퉱P_#a&yc; P8z蟎s7'`PQ-6*j@=4yW 6F1~#Yf QճL]P>yZ/B @H DÜ=-,goTVչd&0}V_]Ld LGZ؜TGrse#sM5uzFK”GOxh(7snPBXU[<#/h5&ԅ RvxݾqCW^LQ?] kPF|NX~!"5R15 Zae:>B.C]mWDvj-,=ї5}*^$mw/*!Q8)Pl6#k6itri99󒾷3plYVqX Ӓ=*yCTi܃Dh"[I.ڨW}|a|J+#U\yŽZv|jV.ȋ 3t <"!-tm:(l-E NC?R8hՎ_]39e)%،a8!hF[77,ֆT$^DpNxףp#9 !' &=6~GHAZHOi*Ak`cy25CAh`<fŋ2) UWj\eYQaf6€CBW^md e&՗ŇbaVl O3y"{n䀪U 5R*B{8?j5&*qk1@9olYZ&ZWΦ^cJK45<Ԡ%E @!>xMAZ>L?#+v'~*IJ\_G܇Pj|IȚR7?tXm5?Jڬ/QU T .AÝن9z7~9Ct[~BKWhzƜ |Q|gêS#ܠt.(sS'_? Zg] Kyd&1t##%%(Vr8/ӯa7c|?p[ʨ W\x},s(almDSIiz"Ǎ5jϻz?%{1L-&Ѕx6zK,Xtp)o2/Rƌ(/;Ƭo33\FմԖZ}Us,bNuguؕB JhN=XCsw"lHRsf.q8{SDjWrJG[7/WוXIٯT q@v` ",XB(@-Z=r=6U7rJ\ʾ7 o;.XaXYG׹Q0.m.jk~TQ FyEzpiI:j^i@kb@$K@H@KncZ5' S':p V_nc& ó}lqr`B.+5Y( ]c X0s%x\JE?Ŵ4"84߅Ǻ%5P.VK9 ra*Y RN.`.6'*uϿؽd$K1ҸǗUkfDreXy3Gh'If ZH;B݄$K{9K)k;c7f[s^l TTIK]`?J 4 e\s¼=2`Dp8=O=A:|Qpͺ? ѻiY,ٯAD&@¬- Vz J y}h A-zq ft~C-M(W4X92quFҫya Aʚ5<9J/?Z Dg`D%rnjGGuۡ7x4vTrb7dXwiG`:LH<(U!Q5K8] O"QNs*et2ɡEA>e?P<,ͧu%2ud"7Vx)#qzj7Qs"`}*E dGOE@#0 5lh YX{m'6y¼U]ƿPT!u=^}v o`y}W;:cn ^ֺ\!S.)Lۦ3hiueFZQNfp8䈨7̀OI\wd'7y-ġQ=޸T0nׅ`$>n&?&uP< 蒎V2@ $SiOmac:Ke8nX!m\Bm}Q䐱ݟ7(-9}̔9Za'V3߱8Q)`nP-/Ҫ{:*7_  ձa~jQ2 o z1Зتu}D ^'JU`~=?Q)(,rGןC:u+fݿk- xO2a"eL;1&X-!0kTzl(iBJk"[5ѴL3Czsy)׻@ ƭV Ng2)u,2|ͼ]Js_ϱa87 }|A~{7zm{eh +GlV,#YD{]7T[o':Npr X&Kɨ`vE:9iK2x&)Ҕ!KPy.*TlըƿGPAN;+Rk3DlB61Q{ p="ְ 2 >qxM];m*Gxj&neþ׎l}?R@Hte`)Id%Qw;PhS?x wtPLkĔbARd3}0*.Z}*ңqcW?7Z}w'w"JE,&U+pVP"S<9Ugc,T&n* I=[ vݡ7~;UfjE:`g_7:2BAfRU;T!hFd71Ei|'u|bXɊ[]I EL) 7+B.1 M>f';1Re-9YB$ЧDXH*5tE[=U 0gBȅ&jy[tE!*E3x(!KdOQ&4K}$&mT/#Gm[MZQ$3L?DhUl꫻Hݑv?v* ;ag?%|m[xJ-8!#3`$.c{ZߒsWCbEg߼5 {+v80:S~C?xd <ʅrbrj!rA:q5Έq҄7z7B挤0\<, Tb^k{ժ3w[_ilkWP3Oc֐Io29G#rدyʳ0d<)q?huZD4fHYʄ)){>WjoNNv(=ɄLI|-/nHaWꈪ$@S/Ը۳3/0Ҏ-=Bul^gKR̄TuB _  ' Lݲ$DayDY 84 xL.,W/M=BFÉԟn9e}%ĢR '宫|m0kffoE.0//[n+ kV+2?BtzguZ& 7+wX46By>C+/#Lx-T&q4?E#Tjeal6_k@T1дV$K7ZQE=h߇Q Rd8Le5u@V?zyQrߖd]#m_Hj@I6BB:q v*k@DWpj5,ꛁEyv*Έlf'+kJAɽJ[-L*\ZE9%m:0SRNiDRhLЈvfSK#~ p *Ve1#.5e6ߘ%p]Z8^xF踙2Ge6:~V;CoA)}yH$1L5EƉXbȚ=lOm~zt~Qw}]3L)i~3Ys~|lӇ`8}_e &A3TÉrAҨDZPi+7 Ij]h ZS$4淓.n,o?;ɺLƉ5"Aw{qn[TON XokVIt%HG4MN e ee?*Vl?Дu/ A ;Voއp^;L0I/c ˄Ûrei bd[ ]`\lM#6 NS\H_A ]"sרW`x'4P1"/]G5Ӕ3؜ k1i9/u^ǯ^/piv53V+6,NTӌ,({iiBCӭ X,y-'țMFq5^f8 <suA]y W+:9^)OQ&6=%6=P61Fm9*NcX>6 ,hԃZSmC\=8KVTj?M_x1EmDPSEϙ=Rƅ@U<3}N^8#@z͉20Bv2E;I_E1RI>mW[]/JB mɥWXwE\Yc%&-×ܦ͑twr?$^p#Y1& WՓ`d`*gH {mxTc#EboIw-|ɖ|Kl [ B1jő ~v9/TEZv*N d\wý )wHߟ>n48>%9E x7pdx%TQ)߈#=>(c4BYfmkPN+ZogP^iT6|ϱ҅Kɫ 6UJ- !Nk aX =α1kb ;T,#of[sףL)L?RJ_f&ܖ 6{Eʟ.;z70a 2\h|Rƣ&u$g,55/NKd.!O'OhxV+~ #^1bp;>nO2_ݜLX.OK}1H˾6(SXŠŏ(7j%I^Mj2].uԽ[QkQoW߃A7ڢR%IduZuЦ)WbJNqHqN|]*8<|CW~[b@^ 0%/pl 8mJ!l" ~x$턔'K1Y\p$)#${'z|ȒBtZo(PC,sfPv^g> ۮyqK[j9~?!:+֢MB >hb;N祪pw…YwfcHE\p}6VFa¿ס ƀ ]IZPŘiL%5 ]__cCWNmȮx\^,YFT;ʅn_rĵfi~߂:XH"\w' D{k-a/g P|_BxVpH=x̣OWՠ"LlzW*d6nHI0RQHєHQ,Of # Ʀ wF{\PWCe#DN%g)%~cJHj_g~Zu 7%+x2,?Ivwqh5;ԭimn?S8 /P(ZʦNԴӖ\L[)̘fرG(q.sPH+Z* B A@ {sv!!AYʖO6 {BAլ`!N==<>.Un@藂'94{: 拺d :k~n2ˇ l'11E1]ۍVZ,X^ffjtBڮt8ʶ p̲&ͥ'+Oʪog0a܈cF\4!A8K]]foA|tSVzWלuT +n6tɛ/SYg]`Dw]EgԚkΩ_ƴ(q ci{ ݱߟG3-a W͆ 7mDz#&+mi,ɣ5^k]ZZx`{'Cۛw^I@TTa?Niw3<0D9((ryj O7&) Ae{onA#I8x![.ᜫ~J.6ǫujip +K7)tѡd,Ui{;IMW=r<^(l3f}o\ZS .Pk]jbv@c難wc`:p1-wl[E=H"IglϚęmÁFX&׼Qo6j[26emHgZ-y}4L\/(γ5 p EyjmPZݸ.|%~7pDVTfYRjJ>GYv(ł?UtW]*}\&,>Gq'Iɻi:N>d/zVNЊYAHs泵;ds7,ÐJo"% +DELZT7?["|ZJRل7`>)M^7jNXzr~ERmkz>ϝDn}X61`A}I?qAS-d'H"PڟϢGF#ôF=OA-R-Y<0),IすT o7a@g?jgyL2U'Ԫnk2=/0ߗ ÃU_I?#FH !h䔺ˀ; $M> ÿI +@fta.׮ل3Vy}F_fJ8je$>q8 AN/; j]$ O@Ptɪ( $'+ƫa= ^ٗvZQ$QR~eYQGjdduV.AB|5TeY[Dt,RV@ne~ɠoݠ,nBkKǂ'=;,_XS{pknIg ) yi= 7] z𗉁Xܚz%h&{߳?:#;Y˘xrlw{'GԫjZ4CMr`6Z'_ +nO5iJM >]I-nSv.*J'R N}kzXիYW(  bWqPQ˺N2*90G,DQWbMP!8Y.sm1cB ){g cIJ䗾{Wp 'Cumr[jGl ~aj y9oc^D:+ v{r{FZ4dh~!ՑTVinĵ7P[ >p}bH-&KG EߔLی/^+x'*(lHw%sDbl 2_b!?JHv-0|e Si#1 [/}[TҿP:[wvNRQÙi |^(XeMwd">i`%uZ sǻDWb` !H|5"֥X*k/-y2l)t2A1}ᵁ8o.] Y?MK')v8X5]^yj8WuA5( )tz81FqfSmJp< { 1Љ-xADž1JϑGjՠAs& ! \UVk'L'F#D` O,`a>^^I$ndMW3>%t6-=:4ݕ~Hj*tG@#\Q_Нұ<_C7{3yU4bil'h|Z*Ћlhp$S \K 9˜&^rk[Hm@FR'0U ùd rɣX d ɶC&}Cr`X<)h(aFN%:K~ ESca2[Skҥ1 $q%r'yǎDC%Tfvk $ϩC tH<|kjEB"ށ:VrZ T2\Tjm( C!MqLyՔF/T| Wzl.QJjMCҝl9xh0I)i}GjF Y~Yb 0C:+" j?)d>^@H-N-/q=1qQve e8GRAsEy<媀,R=DJ!N5D7rh n{SjZn6YhՉuuoaݙj ⵎH-ES#a5hQnk΂K8t qSD/ ^JܸuNNH&Z4F۩EUG(D?xF3Go?qWuhr4u}j>8^C}^S#du᥉&v2v&N ]n'AkBQK^xUQ2T-v.^bwE|뫂b_ZXDmS,!4D53BRH,K4I3rr5&(QCެF=?O2N@Yg>I%E~*3S>lHnU=`եXCX8cƠƜP֋^(߳vȘzsmCv,_/ 3/f|5)$+C^|U'pX;dE7 \XHo$wdm6RMVQwr /u0K"$%8| '\ 0 aHI1jI}(/5.VJ (TL/)-{xy0ҎujZӞupR0GD_;ƒ'2 wu~kiM?:<]El1Pk21gLvN;ya1¥T-8KRPݻGcpPZX=cAQyx<@UOoJ|Rf["b4*S!uƕԃSRV"VaEiMM* ߷o #E0aCF[k~a:COMTq9pHs`P.AKv\N8F1*P3NN PCP`>g%= KVbK7L =>68IPp$WfK@Q\n_5[C@^r.J95uzcSߡf \u"-*h=KHS#bԋ[.?^K"F'A6CNd`^1CAn=`*.TئPYsn7dr(.r<12CV!*nZ[OZ ?_r"OzC-`}tzU~|ضnJK&bxY 3ڨ`}+OHB! U $eHC[m/IXQ" 8 Z&F3ބJ]$^'pN nF*&쐟wIM #_oS{^NQ  WPכ!/Ȗ%(Ϧ՜yloX8OӜt1 <hFRe]~v"U`2>[Q=-h jۈT!,S S)Hmyd`)_i@hwbf[ig?3ېwO 5xFۖ-s _W|x; ̨u_W9y ]Ci<} zB@Sjn#@y$`]EDXY2X:TSgj6mӕM*tIXMR mˑ/ H+Se(z ]'先8bB3ӵ (H>#4m8Ee,u#ʨ 03N4r@':(څ+#; Cb:͛jԘ=׫Ș n&u1֙uk;1׹66lMSo*VZt5*O*rM񕤔LKK+4C{o=%9 !KPz8 Մi!NxO 4C>0N M'lSt:k'dJ 59O}9)~ G $B:\" +]77w]:}cZ߫vIDD7!e·ibP+A>;@|f.Ivˉ!2osZf`I샑 Ȇ\x^^Q& pF-&R%Bjtk$Z cSBR|D62|r[ x Fkw-u[YH;Uoeꙺ8 Cp:Ki_Z=%"}4>RKF4;4 _gJkpKj>z?r`4J<l}|iղed oFS BP954΋SU/B]T1{ؚcav? 㤑ϳ{#rU_y*D+BJCyK55U5(Q]2ʻ]wBg]4n>L̞ A k+$H>c<lC zBrG=/ Hud&r{ qP Mô]U_ uI}RWV_6=;t=:ϟm*j(9i0ۦ?mx+G*#p7aU cf7:Gba0FN"8[۫π.`m$SwQK$7A2$EuM_G#j#*c~1w-Cʧa)\՗oz"uE8v< M68!:>ˍOvFg>V'lۊ$) @rXz x sau,6`5{ĸϴ.OUFzҏlMI٪8=8=+EuN/4IS>CzuqzAB+Is3 DrC__=#=;'6YETکؙZi{2( hYWйeQ fH==#b$yOۀÂ'!{faNd\e-!]Q>63|\\/o^a֏ocIiݪ5:U'zإt(fƍÍ*MTc!q7~԰9ைah &=SCge`$c;bq Sλ39V'!FYN`7睧J)HI =RoW*?{*(7;6b"AH$䉳(8 *YOGHsY^Fm˸`JVkzRq;ğ"B- u(>  fqumԗ2H*8VeydF2zay {5>=.|B0nW4a@3BҨ0phk<4C/&k2̒vfB;"3r6yP2X3/<:a̚@7imP06 JlFJNg~ JPv0ͳ|shIb}|\{ 'Q]j vkͺ2_mŊY=Ss;SJ|땻Rfj,dYZsK^}gKǿ-YG(4PXџ7ntX\=tB>mDjm=ʡ8P}@fp.5wrR{/SZ J|:_fRj'(\`QEfO Vko?gܦT C+F U$GF jC)-O1!qׄowleq{+1[cM䬥tkl.*U.]A ׽ܕMc/o !XmOf_nLj"2r~Fjũ >C_'˼ mRZYßmekUgNͦ FOWj2;o %]ֿ56 Bq$?1 ɋt_&'#irZۄ+!Ӱע=[b뵶a%:Usj DDbHHtp^7&hc{7so;![4XVSMH͑ي24 U|Cle-j ̿{0k"R 3.ni _EtFjS9f<6ѶE,nps?E I#p 79KoI8Q] X.d3\t=<0&[͗-Cf EȾڨ܀A .UU!>`vY9hJ`V1AoNʍ ϞbK WYX(YMtN??LxEXYwĹxdU#8Ѥ,POX%QalC'RB`F ?"~t =!764w $JJxC0|mDYov |<>Ij.8i>}-H 1d3[6g:zF(l7JVؑ5Ѥf{B}@b͌;:=JQ s7B*غ trN/6B4d+yH]CQoTaWpd$S V' 3iY YC^ko<#r<( ˳-p`(YF‡2Z{ۂMX;= 9^p7V|52'QQ^@"ܶy4,q ]=01RԭLrC֡#5d2$P[-m밳gWԀ"<i:كxEvɠ_IFbn⥃,w෿kbgTS~,࣠&ҥ̲&`W7SDCnꄵ }1Mhm"YL%!r޴n0\2.S#!&D} q!l%Ma e2֙w%~`6ZWLɜ=&jNR>41_^(@ĚH2QϤ#5~UF&&XB5ou8fM>{L׈i 3cRo=O6)>+vμȥtFP@~2LsvS}OqV *ߖbF'2[i #evrZe׶q !Yb`Š_C:>?rDUB;:w5OMMJ!pn߳{+<c.lT"RϵN[/ul>Yl$}8ҟKB{$ރ=mEXh{tE-Zk؇wvvVߝUd*nмHTߜˀA}Ob75ׅ$5MO E; M4īELɥHJ^ci1\QIUAxra)!Hi(~~( }ԚmTqnx6VQuv[{Sܰ@=. Qҽd&EhS{fTHY,iEU=G\xRuQw&SP4K^3:0Fbkzeԑ#3[дyT",7;/,:% u/# &F'[e؝$f,rk3ښPg΀%R {f,A sRH2u*;Mf2VcYv'2N}+~9aG?uyE6ͩL[s&'`IBX:wߘq1U#PunaNI-GF^n2Ӟ¹G2Zj᧜򧈰qZF 78d`N􄔀se]ܧ ԆͿǃ]Z5c:wX.Z#4R-i|}IWծ/1նzˋ-*xk#`U|$[yV@6`郻$SkHh[od"=!;c0|7O8FCÆg(f ޟRJz[&Ď<~hrm9XfWR]FҠ25ٱ_濶 DUaټ6U41/ 357MG ۶V<̀eG?<#ٓBۮԖ!&jwq i&kՍH^1): [_BxaciUc 3ǢlaCw'H8W3-mZ`c+UHX.T !0M5H= ]hO1fCm=*vNLsH`mh_sh:nU֩U].ɩjЃva;((3K(CiӶhj&iuY<'c-Vlw}݄/#-ʶ̎,Bd9JY}:@i..BZ 58~B?>B :ZI?(I+% ǩPȾ Ik.6D̐%qܝc>$IkW:Ս%1m~r5j gijXOh=1aaq6PXVTa45HÁppfkږe@hWg9 ,X,wuqz1OA7*?9(#8yg/`|D+ʮ'K1ATI2ro(X䃔QSw: F48͵/)09sjTi.e5EڽWotsrǦoQq[ 1ũYgV&W%Cb"U&-f_۩:!q tl >JcD07J`y 5#u81&xok9h~سߪ'By3TKRJm +q\7kUux6+K.pˢ (ff&[&Y`-+/GӢ_ua-کPĀ 20XbgiJ"_vÉXTKvsk}> EL3d塸!PeʹA̚8+>r@|*br93C!ӊZ* wVԙQa5WA'LtԉN,Ŗ!k;wW__qXυIMm~6xx#v{"h\ ϰ}_ԛqYiLިb>-(2/0]8؈9'( R᭦-ο?^/b]8}ȢU)$Dh״_#(67^f1cI9MхPߜxxjjXp)B%м7+ؚW5d؛M =2:" H6?R"Z667*Kfv`Q7*m6WУ3d pCNY5k?.RYߐa(iP/ #W)]+ rwǵ!}gOͰ vrUB1}XX5&T[Phlv[ˣP#8$8rN  JO!8ڵ~T<$fsUI.呩2,.E3EfÄe)ܜm: %Q6i@£EBmc3vIGG\AJ.<˼?AM4t"K?ŵhz <0ǫu Sf/;X#-ֻ5P;F2:qU&E67R2",<)"S'5%we 5a̱<^k~Mq![g5V%?ToMhWgZZkؘ~=zL"gkee1Cjo=9dJe@{e+D=JϡGҹ[4%p?{XZv_|FpAA},Jdi]R},k_^s}Mb<|Ug d^zA_ ?p!#ƒG#d@ZZԫQk86 5{kŭF*3>kMb(3b'|" zCB,\ fZL5NR$n"K?5g:ArX0 -ɻK4H' l/$-wS~Hxt]XKIڏTd[ 3mlu̢/IY}\+E'dtz&J70/J>Fsm,ꁄ֪iQ9I 0gg!K{9֡[?n[)J!_^T$=L|ӢҐ¤ xn9[%Qj,0L=6#. l0z+; _?sf??~yZM+a@)g70HN@kkT*ZhYnS1MH§HH]兂_qs'Gjˢ?^wIkIuI?ty+C~N2|Wj!3.9] Fd?|qpԱB-y "&wq)-Sh,vqbKڋ䇆o ^P^TL>gC|σ&24ԉh¨{{ Z RT>kjFl9M0&1(~]YqRq-ס#6gYhY>G~0YʁKֽD+;l,X"rbSEl8}.'*3R'ӈSAVYV&",Xz^cؐgӎF/Ƈ>BPJ`*y|uM>AQVSw4ɋO=;yyfK>7V*C 1c4 =k]_ݹs7u{VVTQD>/YܡjQ J'AA z:аԟ%єZ:?v Rey5+=EsgZ T⼹Qj`Smo 1<,=fbfN")\b捰,%9£wksrΖ!B4Iдpa2rkJ9N~^b[*Y5Cy!`5`uv>'7o7F)׮1[M`r": zo?C,t73+FxګG! ,*CS1cwB|4Z/^)3o `XLge|?(6~܌,Ӌ Xg gHɮ~ > wRJ#?p-Z[^B[>z9Z2\1ɰԬA>G,v'BxFkDdۓ%w0-t1YHo-z+9q#3Q-&a%DU`$ӵ~!,gpjs|K:L_lMʴްKU(jSWq |iɌ3Df倜bn?)d8|,] >ڋ$@ݳ$?Fv^ܠjxc}Ydv՟s_ )sIR#~l*ZҋS7\꺭*Xw>]d%'JrRfPOSssPb-Szx1}b91& H44hxkX:F*;<)Usew9r5^ Ǝ?([ )x CgyyLj*v3alwT;"W(.:_}GdR_J_֗q7}KG!r2$wY-gM[ڞRsdc21n ^-̪tbo(Vk քF7P0k[*E[hZuhr_9ד_pe5@H8Qd!,#$˩`QK%wb_Dq|aƝ:C@XגS'xE3"Fr,Cզ8i 犀+-!1q#RkD47FC'c_Y6 SۚTx-`LiG)_tO3w"x"xkQm'v64E/OaO"Y10A;sje:t &|$~@wwkjG`XYC[na?g!љҺ\bˊw)ekzaL(%Cx^pHNl51|}-i.hԁ<+PuU^aGkMD)ȿSZR-G)_8wqF obUGBLIOd 刨d3E(bStt$ܼ攊ԕn 8Y)AJ>)VWP}`zhm%šjlmf 쓶کhnx6;Qsn`G[&"!BJjzXDfJma5۵՚ r K2@3~gJT,D霛 ,Ƚ~ ̩nHWhJ:puų1l N&ďoJ'MugZp+%]=UA;Q8Fy05s')4:`r;my(yb,_ɳ-NzG]p?̐)*ޔ0ą҉:l&#UUcUw\LN+>aF>jk4CHگrpO\gkT*B|OU1^G9ŎM#ȟ2 "GE6\.yr!}ס`hg? +ryU# N8*f49iAltg @ 4|T_z`U``'ؼ/9zˍ/Rbk)^[GSyt7IOjF o{hV=L'4"˘7 ٤πd>4Хxes1ϡ|wUdnua_ֻ7}uk/F4WEZ4rַlkhjG7jMF53`p6qONaV׮ߐ/Tm-GH\e9ʗxRoIzK'cw[;OP7թ6Lf}иVu YU,]JHKGSb+fckp צR/Zt[='@oj&%B7a 0^̉&Ktwt85*^OR~Z)O,@21\H S=]I3P(~+=H1'j~{MBz>9bihHDDia@Q$`dRG+~K,wыu092ە+>:2\ b! ?uǸCGcoXAХqfC+Ti bE=QWP xK`YTo (}RM&s[;'_}6ڬF^H L3 [yC@ֽ!z;W('rC:n75}$!;^.)vS|O/u#1|o$uO%R h&x5hp>2[%"ǒAg M5=8C%6mn>bw4l 4m7(#z/Oh=Lb RJW, q].uKŶD_iLVA>09~A@ .j{" c$pTW:]L9ræVp62zr=qEaҮqW>pG)_@& ~jC3>rr_z Z;1J;>x%)y`# a=,6QHr{/s4քjNFNeأ ]9V#%܊ZY&&aǣ695i&ysO>Rv8g9_k@ɁLCj7|ː[KFU?T6IJAd[}$,Qã" P>>f7$4Ɠ^AnO ) |?yIC3Jk:ߑmQcΑa8}s~'S%36}:sӗ, -N"^ݐ "@znba >Oo߭K6m=JH8bCK|-2˔TJ)XE`!*駲nb^.xP'}k,M?δ yx,o6Zi4R<=:i#MmRB̩@7[Q0ܻNtin;7*M .8; 6db$y{lmCqށ7hkpѨ}$Yc^^7pvS̻tp(R$:.gAT@(a{GKMxAŒ~+Nγى{7U^1X_/s٭ SNȈDzrzqD ;'M}4 QKiݺ:HJxS[hJ ǬvCeń1& ,p[+pd]GY7Eg56EG]vH.n䈳u6sn55('L;.8zw6W$aĵ#:vݾٙ<3浧S f5;lyE;y'^RzdL;-fJ0{FֲҤ ʇCOc1 :MC0^D'Sa3=o2$*ݘiOyxH"n[ӻsc甈`.r5)1]&EyC#vY{j?& s/9hGolve_;W)561#u/_FD\[FW[$~╖;v3]򧖩EP@Ge$:Ӗ%f'ùF媹h CN3DG,# *)n$A;({Y.G=Qd!& UzT5R_/^P,$b )30Ga;f H3::Uw{5iXCDq⤛_/*סo'ّpmTsMpf<^uo7%#Ð8X"XI;EiB;1 HSzDb꣮2QvwTcZgwb|(pj6U35<'-0l,: /MiEYtj?Ksu7bq/Ax.\ <5HCE⤣dQX/g˖BvYڰ^9Lho:NӤq(EſhLˀۊ| ` ,Ȳ;^F2-(廟I=Yy$?Yi!̺U1%aEnȫۉM^# WSܔdQϠC؟dY(%tj_Y,62`:Q&/gD*[hsl:m9 X$ =HZk)mhV&e v5mǍ7iZ&eMH* G&9(H滞Fƃ#TʼoUO,ˡkf7#HSNpޝRzWƅF"d\ +ʚT Ϸ`7N6ʣJX3:|[rW(!$X^ 5\n<>yDnŭ/^f?QVK&>i:o mHYz{R! ;E!dj` cUY;3`3@1NO>_rI/'B+rS0$3vdA%fvTJZ 䡯 -}k#Y7B<|>wk+@K$9K""j)VkАtqpj{!߀\:I̱Z=|w݂ Usu4YiWD2@HG0LI-X͗ӦySzDN힛]R_gM8"nh{ 6/ZUt]|J͖<dRI۩##i$m|bk+'@}2Ng,HTP$f+N-1E{dObrgD䘋m]w̦SS{[a ;vP>QMchhJگZS[б.t<5e3E{\\b,zZB 9;mb&PBG3SF_|]rjAct\puT c3VKy+/@vwߖcTH= !V?-Y?=},P@ 솾E轚d?%w&]MMЯigby"{!FB+륟ގ- ,AΜNrlيP vj< lLJr} σba 9:>)$ }=7n9)lD!_Ljgi,r;`"HSj@]JmceolRP*ÆU-V.ՓC)aZ GRe: 6hA[>%|579RPOCEnA3MUµChy0;> Y*N1`mRp"Mݔ}5"+4?zwc:tU"HץC]¼1LmP.Uxa\D9} 8ٙEf+3dk) &e0רh/+_}u|DSK;Ҵ3pZY^J>2se6 •5/1tiفq\vkoxװCKo ^@fab`Ʋ6!h+Y,~\ϳզaRxz)9'*>w*X92P9ȑOX4JF .uN6NPɘ*J~.%h?Ꭳ'x;vmwW$IlZ;N#ojyġԪ }cݰ9 -i]k:d_!jVdZsQsdn \JPC`1_"4ۖ&I#kr t*9ͨ8Y#ߠڀ͍%zi_ǡBFⳙ '7sHڂ~;J͏=g^NY/ #w_XLl/kg3+ʯ ƝBQ]Ҧd Z>ԏ7'?U~[ *zfcȶ)s]tsX=Fr"r9 7S낡Dh%'wSa'gmaeaJA"uڣt,:ػ] U\K.C[CH=4cM oDX=˘qcnG ]QAd dQΧ;??Mxke 'VuJM.E'&a F| xU(KtYrN(F} E'8+MoyM&zpB(p0FEKfS4- is*BASG[&gR[̕HCۋ$f/X% 3 ~;oŵScm 2$,pwM`LJr 1FBjOwY @IV]@b1p}iK%4;eOXL▼\(P}n!Tz l]R &g3KJݲx~>::/'M[[T u>j_` =݃ P}&@ԖIv䢍b ޖb+.r* e_C(d0šxc;˿O%j_E =+E7<]^Pˠ/UŴne6hℳnJxrvsYM8eDYDvVuuzpOltMClB!3 O4si'.gB#gAb cΖRl0Jh -fϗ^Fx+fF]^}j .W^T|k*x3@x&$[#2Kw߬]ۂE9%+lk=u oTmc@-f+Au^v}'??_| H#I@S>|ఢ0SFPHqC5*w:x` _ri=A U#T"ѝ qlP<&Sw? vuG@K@($\]'a .E 8 (<$NTn{]+inRQ>