PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i5h-3LL

HOME


5h-3LL 1.0
DIR: /srv/http/adent.cz/cmsmadesimple.adent.cz/tmp/cache
/srv/http/adent.cz/cmsmadesimple.adent.cz/tmp/cache/
Upload File:
Current File : /srv/http/adent.cz/cmsmadesimple.adent.cz/tmp/cache/modmgr_a8DE1r
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>jQuery</name>
	<version>1.1.3</version>
  <mincmsversion>1.0.6</mincmsversion>
	<help><![CDATA[Cgo8aDM+SW5zdGFsbGF0aW9uPC9oMz4KPHVsPgogIDxsaT4xLiBJbnN0YWxsIHRoZSBtb2R1bGU8L2xpPgogIDxsaT4yLgoJCTx1bD4KCQkJPGxpPmEuIEFkZCB7alF1ZXJ5fSBpbiB5b3VyIHRlbXBsYXRlIHdoZXJlIHlvdSB3YW50IHRoZSBsaWJyYXJpZXMgdG8gYmUgbG9hZGVkPC9saT4KCQkJPGxpPmIuIChPbGQgd2F5KSBBZGQgdGhlIGNvbW1lbnQgJmx0OyEtLUxPQUQgSlFVRVJZLS0mZ3Q7IGluIHlvdXIgdGVtcGxhdGUgd2hlcmUgeW91IHdhbnQgdGhlIGxpYnJhcmllcyB0byBiZSBsb2FkZWQgYW5kIGFjdGl2YXRlIHRoZSBhdXRvbG9hZCBvcHRpb24uPC9saT4KCQk8L3VsPgoJPC9saT4KPC91bD4KPGgzPlVzZSBhIHBsdWdpbjwvaDM+CjxwPllvdSBjYW4gZmluZCBkb2N1bWVudGF0aW9uIG9uIGhvdyB0byB1c2UgYSBwbHVnaW4gb24gdGhlIGpRdWVyeSB3ZWJzaXRlLiBUaGlzIHBsdWdpbiBqdXN0IGFzc3VyZSB5b3UgdGhhdCB0aGUgcGx1Z2luIGNvcmUgaXMgbG9hZGVkLjwvcD4KPHA+VGhlIGJlc3Qgd2F5IHRvIHVzZSBhIHBsdWdpbiBpcyB0byBjcmVhdGUgYSBzY3JpcHQgdGhhdCBydW4gdGhlIHBsdWdpbiBhbmQgdG8gcHV0IHRoZSBwbHVnaW4gaW4gdGhlICdyZXF1aXJlZCBwbHVnaW4nIGZpZWxkIG9mIHRoZSBzY3JpcHQuIFRoaXMgd2lsbCBhc3N1cmUgdGhhdCB0aGUgcGx1Z2luIGxpYnJhcnkgaXMgbG9hZGVkIHByaW9yIHRvIHRoZSBydW4gb2YgeW91ciBzY3JpcHQuPC9wPgo8aDM+SW5zdGFsbCBhIG5ldyBwbHVnaW48L2gzPgpZb3UgY2FuIGFkZCBwbHVnaW5zIGluIHRoZSAiL21vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zIiBkaXJlY3RvcnkgYnkgZm9sbG93aW5nIHRoZXNlIHN0ZXBzIDoKPGJyPjxicj4KPHVsPgoJPGxpPjEuIENyZWF0ZSBhIG5ldyBkaXJlY3RvcnkgZm9yIHlvdXIgcGx1Z2luIDxzdHJvbmc+L21vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL215bmV3cGx1Z2luPC9zdHJvbmc+PGJyPjxicj48L2xpPgoJPGxpPjIuIENyZWF0ZSBhIG5ldyBkaXJlY3RvcnkgbmFtZWQgImpzIiBpbiB0aGUgcHVnaW4gZGlyZWN0b3J5IHlvdSBjcmVhdGVkIDogPHN0cm9uZz4vbW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvbXluZXdwbHVnaW4vanM8L3N0cm9uZz48YnI+PGJyPjwvbGk+Cgk8bGk+My4gQWRkIHRoZSAuanMgZmlsZSB0byA8c3Ryb25nPi9tb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2lucy9teW5ld3BsdWdpbi9qcy9teW5ld3BsdWdpbi5qcXVlcnkuanM8L3N0cm9uZz48YnI+PGJyPjwvbGk+Cgk8bGk+NC4gPHN0cm9uZz5JbXBvcnRhbnQgOjwvc3Ryb25nPiAgdGhlIGpzIGZpbGUgbXVzdCBiZSBuYW1lZCBhcyBmb2xsb3dpbmcgOiA8c3Ryb25nPm15bmV3cGx1Z2luLmpxdWVyeS5qczwvc3Ryb25nPi4gbXluZXdwbHVnaW4gaXMgZXhhY3RseSB0aGUgc2FtZSBpbiB0aGUgZGlyZWN0b3J5IG5hbWUgYW5kIGluIHRoZSBmaWxlIG5hbWUuPGJyPjxicj48L2xpPgoJPGxpPjUuIEdvIHRvIHRoZSBhZG1pbiBzZWN0aW9uIGFuZCByZWxvYWQgdGhlIHBhZ2UsIHRoZSBuZXcgcGx1Z2luIHdpbGwgYmUgbG9hZGVkLiBZb3UganVzdCBuZWVkIHRvIGFjdGl2YXRlIGl0IGJ5IGNoZWNraW5nIHRoZSBjaGVja2JveC48YnI+PC9saT4KPC91bD4KPGJyLz4KPGgyPkNoYW5nZWxvZzwvaDI+Cjx1bD4KCTxsaT5WZXJzaW9uIDAuMC45OiBGaXggdGhlIGV2ZW50cyBoYW5kbGluZyAodGhhbmtzIHRvIEFuZHJlYXMgR2x1bnopPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4wOiBEaXNhYmxlIGF1dG9sb2FkaW5nIGJ5IGRlZmF1bHQgYW5kIGFkZCAgdGhlIHtqUXVlcnl9IGZ1bmN0aW9uIGluc3RlYWQ8L2xpPgo8L3VsPgo8aDI+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMj4KPGJyLz4KQ29weXJpZ2h0ICZjb3B5OyAyMDEwIC0gSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIC0gTW9ycmlzICYgQ2hhcG1hbiBCZWxnaXVtPGh0dHA6Ly93d3cubW9ycmlzLWNoYXBtYW4uY29tPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuCjxici8+PGJyLz4KVGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLgo8aDI+T3JpZ2luYWwgYXV0aG9yPC9oMj4KPHA+VGhlIG9yaWduaWFsIGF1dGhvciBvZiB0aGlzIG1vZHVsZSBpcyBCZW5qYW1pbiBNYWdpdHMgJnJhcXVvOyBiZW5qYW1pbi5tYWdpdHNAZ21haWwuY29tICZsYXF1bzs8L3A+CgoKPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2pjY0Btb3JyaXMtY2hhcG1hbi5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4xLjM8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz4tLUFkZCBNZSAtIG1vZHVsZTpqUXVlcnkgc3RyaW5nOmNoYW5nZWxvZy0tPGJyIC8+]]></about>
	<description><![CDATA[This module helps managing jQuery and javascripts in the frontend]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAIJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAQAABlAHNid3NwYmxvYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAGAGkAbQBhAGcAZQBzYndzcGJsb2IAAACwYnBsaXN0MDDWAQIDBAUGBwgICggMXFdpbmRvd0JvdW5kc1tTaG93U2lkZWJhcl1TaG93U3RhdHVzQmFyW1Nob3dQYXRoYmFyW1Nob3dUb29sYmFyXFNpZGViYXJXaWR0aF8QGXt7MTQ0LCAzNTB9LCB7MTAxMSwgNTgzfX0JCQgJEMAIFSIuPEhUYX1+f4CBAAAAAAAAAQEAAAAAAAAADQAAAAAAAAAAAAAAAAAAAIMAAAAJAGwAaQBiAHIAYQByAGkAZQBzYndzcGJsb2IAAACvYnBsaXN0MDDWAQIDBAUGBwgICggMXFdpbmRvd0JvdW5kc1tTaG93U2lkZWJhcl1TaG93U3RhdHVzQmFyW1Nob3dQYXRoYmFyW1Nob3dUb29sYmFyXFNpZGViYXJXaWR0aF8QGHt7ODc1LCA2ODR9LCB7NzcwLCA0Mzd9fQkJCAkQwAgVIi48SFRhfH1+f4AAAAAAAAABAQAAAAAAAAANAAAAAAAAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAACCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAABAAABAAAAAAAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cn0KCgkKLy9lY2hvICR0aGlzLT5HZXRIZWFkZXJIVE1MKCk7]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJHRhYnMgPSBhcnJheSAoICdwbHVnaW5zJyA9PiBmYWxzZSwgJ3NjcmlwdHMnID0+IGZhbHNlLCAnb3B0aW9ucycgPT4gZmFsc2UgKTsKCmlmIChpc3NldCgkcGFyYW1zWydhY3RpdmVfdGFiJ10pKQp7CiAgICAkdGFic1skcGFyYW1zWydhY3RpdmVfdGFiJ11dID0gdHJ1ZTsKfQoKaWYoaXNzZXQoJHBhcmFtc1snaXNfc3VibWl0dGVkJ10pKQp7Cglmb3JlYWNoKCR0aGlzLT5QbHVnaW5zKCkgYXMgJHBsdWdpbiA9PiAkcGFyYW1ldGVycykKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcGx1Z2luLCAkcGFyYW1zWyRwbHVnaW5dKTsKCX0KfQoKJGhlYWRlcnMgPSAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCkuCiR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NjcmlwdHMnLCdTY3JpcHRzJywgJHRhYnNbJ3NjcmlwdHMnXSkuCiR0aGlzLT5TZXRUYWJIZWFkZXIoJ3BsdWdpbnMnLCdQbHVnaW5zJywgJHRhYnNbJ3BsdWdpbnMnXSkuCiR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnMnLCR0aGlzLT5sYW5nKCdvcHRpb25zJyksICR0YWJzWydvcHRpb25zJ10pLgokdGhpcy0+RW5kVGFiSGVhZGVycygpLiR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJfaGVhZGVycycsJGhlYWRlcnMpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZF90YWInLCR0aGlzLT5FbmRUYWIoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGFiX2Zvb3RlcnMnLCR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3BsdWdpbnNfdGFiJywkdGhpcy0+U3RhcnRUYWIoJ3BsdWdpbnMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfc2NyaXB0c190YWInLCR0aGlzLT5TdGFydFRhYignc2NyaXB0cycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9vcHRpb25zX3RhYicsJHRoaXMtPlN0YXJ0VGFiKCdvcHRpb25zJykpOwoKCi8vIFNjcmlwdHMKJHNjcmlwdHMgPSBqUXVlcnlTY3JpcHQ6OmRvU2VsZWN0KCk7CmZvcmVhY2goJHNjcmlwdHMgYXMgJiRzY3JpcHQpCnsKCSRzY3JpcHQtPnRpdGxlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnbWFuYWdlU2NyaXB0JywkcmV0dXJuaWQsICRzY3JpcHQtPmdldE5hbWUoKSxhcnJheSgnc2NyaXB0X2lkJyA9PiAkc2NyaXB0LT5nZXRJZCgpKSk7Cgkkc2NyaXB0LT5lZGl0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnbWFuYWdlU2NyaXB0JywkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkc2NyaXB0LT5nZXROYW1lKCksICcnLCAnJywgJ3N5c3RlbWljb24nKSxhcnJheSgnc2NyaXB0X2lkJyA9PiAkc2NyaXB0LT5nZXRJZCgpKSk7Cgkkc2NyaXB0LT5kZWxldGUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VTY3JpcHQnLCRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHNjcmlwdC0+Z2V0TmFtZSgpLCAnJywgJycsICdzeXN0ZW1pY29uJyksYXJyYXkoJ3NjcmlwdF9pZCcgPT4gJHNjcmlwdC0+Z2V0SWQoKSwgJ2RlbGV0ZScgPT4gdHJ1ZSksICR0aGlzLT5sYW5nKCdhcmVfeW91X3N1cmUnKSk7CgkKCWlmICgkc2NyaXB0LT5nZXRMb2FkRGVmYXVsdCgpKQoJewoJCSRzY3JpcHQtPmxvYWRfZGVmYXVsdF9zdGF0ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ21hbmFnZVNjcmlwdCcsJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHNjcmlwdC0+Z2V0TmFtZSgpLCAnJywgJycsICdzeXN0ZW1pY29uJyksYXJyYXkoJ3NjcmlwdF9pZCcgPT4gJHNjcmlwdC0+Z2V0SWQoKSwgJ2xvYWRfZGVmYXVsdF9zdGF0ZScgPT4gdHJ1ZSkpOwoJfQoJZWxzZQoJewoJCQkkc2NyaXB0LT5sb2FkX2RlZmF1bHRfc3RhdGUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VTY3JpcHQnLCRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkc2NyaXB0LT5nZXROYW1lKCksICcnLCAnJywgJ3N5c3RlbWljb24nKSxhcnJheSgnc2NyaXB0X2lkJyA9PiAkc2NyaXB0LT5nZXRJZCgpLCAnbG9hZF9kZWZhdWx0X3N0YXRlJyA9PiB0cnVlKSk7Cgl9CgkKCWlmICgkc2NyaXB0LT5nZXRJbkhlYWRlcigpKQoJewoJCSRzY3JpcHQtPmluX2hlYWRlcl9zdGF0ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ21hbmFnZVNjcmlwdCcsJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHNjcmlwdC0+Z2V0TmFtZSgpLCAnJywgJycsICdzeXN0ZW1pY29uJyksYXJyYXkoJ3NjcmlwdF9pZCcgPT4gJHNjcmlwdC0+Z2V0SWQoKSwgJ2luX2hlYWRlcl9zdGF0ZScgPT4gdHJ1ZSkpOwoJfQoJZWxzZQoJewoJCQkkc2NyaXB0LT5pbl9oZWFkZXJfc3RhdGUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VTY3JpcHQnLCRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkc2NyaXB0LT5nZXROYW1lKCksICcnLCAnJywgJ3N5c3RlbWljb24nKSxhcnJheSgnc2NyaXB0X2lkJyA9PiAkc2NyaXB0LT5nZXRJZCgpLCAnaW5faGVhZGVyX3N0YXRlJyA9PiB0cnVlKSk7Cgl9CgkKCQp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZF9zY3JpcHQnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VTY3JpcHQnLCAkcmV0dXJuaWQsIAokZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygnYWRkX3NjcmlwdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAnICcgLiAkdGhpcy0+bGFuZygnYWRkX3NjcmlwdCcpCikpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zY3JpcHQnLCR0aGlzLT5sYW5nKCdzY3JpcHRzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NjcmlwdHMnLCRzY3JpcHRzKTsKLy8kdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZF9pY29uJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdCcsICcnLCApOwoKCgovLyBQbHVnaW5zCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcGx1Z2lucycsJ1BsdWdpbnMnKTsKJHBsdWdpbnMgPSAkdGhpcy0+Y2hlY2tQbHVnaW5zKCk7CQoJCiRlbnRyaWVzID0gIGFycmF5KCk7CiRyb3djbGFzcyA9ICdyb3cxJzsKCmZvcmVhY2goJHBsdWdpbnMgYXMgJHBsdWdpbiA9PiAkcGFyYW1ldGVycykKewoJJGVudHJ5ID0gbmV3IHN0ZENsYXNzKCk7CgkkZW50cnktPm5hbWUgPSAkcGx1Z2luOwkKCSRlbnRyeS0+cGF0aCA9ICRwYXJhbWV0ZXJzWydwYXRoJ107CQkJCQovLwkkZW50cnktPmZpZWxkID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkcGx1Z2luLCAxLCAoaXNzZXQoJHBhcmFtc1snaXNfc3VibWl0dGVkJ10pKSA/ICRwYXJhbXNbJHBsdWdpbl0gOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkcGx1Z2luLCAwKSk7CgkKCWlmIChpc3NldCgkcGFyYW1ldGVyc1snYWN0aXZlJ10pICYmICRwYXJhbWV0ZXJzWydhY3RpdmUnXSkKCXsKCQkJJGVudHJ5LT5hY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VQbHVnaW4nLCAkcmV0dXJuaWQsIAokdGhpcy0+Z2V0SWNvbignY29ubmVjdC5wbmcnLCAkdGhpcy0+TGFuZygnZGVzYWN0aXZhdGUnKSksCi8vJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCdkZXNhY3RpdmF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksCiBhcnJheSgncGx1Z2luJz0+JHBsdWdpbiwgJ3BsdWdpbl9hY3Rpb24nID0+ICdjaGFuZ2Vfc3RhdGUnKSk7Cgl9CgllbHNlCgl7CgkJCSRlbnRyeS0+YWN0aXZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnbWFuYWdlUGx1Z2luJywgJHJldHVybmlkLAokdGhpcy0+Z2V0SWNvbignZGlzY29ubmVjdC5wbmcnLCAkdGhpcy0+TGFuZygnYWN0aXZhdGUnKSksCi8vJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygnYWN0aXZhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCAKYXJyYXkoJ3BsdWdpbic9PiRwbHVnaW4sICdwbHVnaW5fYWN0aW9uJyA9PiAnY2hhbmdlX3N0YXRlJykpOwoJfQoJCgkJJGVudHJ5LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRlUGx1Z2luJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlX3BsdWdpbicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdwbHVnaW4nPT4kcGx1Z2luKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CgkJJGVudHJ5LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCQkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKCQkkZW50cmllc1tdID0gJGVudHJ5Owp9CgovKiR0aGlzLT5zbWFydHktPmFzc2lnbigncGx1Z2luc19zdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BsdWdpbnNfZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lzX3N1Ym1pdHRlZCcsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2lzX3N1Ym1pdHRlZCcsICcxJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9idXR0b24nLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAnVXBkYXRlIHBsdWdpbnMnKSk7Ki8KCiR0aGlzLT5zbWFydHktPmFzc2lnbignaXNfYWN0aXZlJywgJHRoaXMtPmxhbmcoJ2lzIGFjdGl2ZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9wbHVnaW4nLCAkdGhpcy0+TGFuZygndGl0bGVfcGx1Z2luJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3BhdGgnLCAkdGhpcy0+TGFuZygndGl0bGVfcGF0aCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwbHVnaW5zJywgJGVudHJpZXMpOwoKLy8gT1BUSU9OUwoKJGZvcm0gPSBuZXcgalF1ZXJ5Rm9ybSgnalF1ZXJ5JywgJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKTsKJGZvcm0tPnNldFdpZGdldCgnYWN0aXZlX3RhYicsICdoaWRkZW4nLCBhcnJheSgndmFsdWUnID0+ICdvcHRpb25zJykpOwokZm9ybS0+c2V0V2lkZ2V0KCdhdXRvbG9hZCcsICdjaGVja2JveCcsIGFycmF5KCdwcmVmZXJlbmNlJyA9PiAnYXV0b2xvYWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5wYW5lbC50cGwnKTs=]]></data>
	</file>
	<file>
	  <filename>/action.load.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoaXNzZXQoJHBhcmFtc1snc2NyaXB0J10pKQp7Cgkkc2NyaXB0ID0galF1ZXJ5U2NyaXB0OjpyZXRyaWV2ZUJ5UGsoJHBhcmFtc1snc2NyaXB0J10pOwoJaWYgKCFpc19udWxsKCRzY3JpcHQpKQoJewoJCWlmICgkc2NyaXB0LT5nZXRJbkhlYWRlcigpIHx8ICRzY3JpcHQtPmdldExvYWREZWZhdWx0KCkpCgkJewoJCQkvLyBXZSBoYXZlIHRvIGxvYWQgaXQgaW4gaGVhZGVyCgkJCWdsb2JhbCAkalF1ZXJ5OwoJCQkkalF1ZXJ5WydoZWFkZXJzJ11bJ3NjcmlwdHMnXVskc2NyaXB0LT5nZXRQb3NpdGlvbigpXSA9ICRzY3JpcHQtPmdldElkKCk7CgkJCQkkcmVxdWlyZWRfcGx1Z2lucyA9IGV4cGxvZGUoJywnLCRzY3JpcHQtPmdldFJlcXVpcmVkUGx1Z2lucygpKTsKCQkJCWZvcmVhY2goJHJlcXVpcmVkX3BsdWdpbnMgYXMgJHBsdWdpbikKCQkJCXsKCQkJCQlpZiAoJHBsdWdpbiAhPSAnJykJJGpRdWVyeVsnaGVhZGVycyddWydwbHVnaW5zJ11bJHBsdWdpbl0gPSAxOyAvL1RPRE86IEZJWCBUSEUgUE9TSVRJT04gSVNTVUUKCQkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJZWNobyBqUXVlcnlCYXNlOjpnZXRKYXZhc2NyaXB0VGFnKCR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL2pRdWVyeS9sb2FkLnBocD9pZD0nLiRzY3JpcHQtPmdldElkKCkpOwoJCX0KCX0KfQ==]]></data>
	</file>
	<file>
	  <filename>/action.managePlugin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoJCgkKaWYgKGlzc2V0KCRwYXJhbXNbJ3BsdWdpbiddKSAmJiBpc3NldCgkcGFyYW1zWydwbHVnaW5fYWN0aW9uJ10pKQp7CgkkcGx1Z2lucyA9ICR0aGlzLT5nZXRQbHVnaW5zKCk7CgkKCXN3aXRjaCgkcGFyYW1zWydwbHVnaW5fYWN0aW9uJ10pCgl7CgkJY2FzZSAnY2hhbmdlX3N0YXRlJzoKCQkJaWYgKCFpc3NldCgkcGx1Z2luc1skcGFyYW1zWydwbHVnaW4nXV0pKQoJCQl7CgkJCQkkcGx1Z2luc1skcGFyYW1zWydwbHVnaW4nXV1bJ2FjdGl2ZSddID0gdHJ1ZTsKCQkJfQoJCQllbHNlaWYoJHBsdWdpbnNbJHBhcmFtc1sncGx1Z2luJ11dWydhY3RpdmUnXSA9PSB0cnVlKQoJCQl7CgkJCQkkcGx1Z2luc1skcGFyYW1zWydwbHVnaW4nXV1bJ2FjdGl2ZSddID0gZmFsc2U7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkcGx1Z2luc1skcGFyYW1zWydwbHVnaW4nXV1bJ2FjdGl2ZSddID0gdHJ1ZTsKCQkJfQkJCQoJCQlicmVhazsKCX0KCQoJJHRoaXMtPnNldFBsdWdpbnMoJHBsdWdpbnMpOwkKCQoJLy92YXJfZHVtcCgkcGx1Z2lucyk7CgkKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.manageScript.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCnsKCXJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3NjcmlwdHMnKSk7Cn0KCiRzY3JpcHQgPSBudWxsOwppZiAoaXNzZXQoJHBhcmFtc1snc2NyaXB0X2lkJ10pICYmICRwYXJhbXNbJ3NjcmlwdF9pZCddICE9ICcnKQp7Cgkkc2NyaXB0ID0galF1ZXJ5U2NyaXB0OjpyZXRyaWV2ZUJ5UGsoJHBhcmFtc1snc2NyaXB0X2lkJ10pOwp9CmlmKGlzX251bGwoJHNjcmlwdCkpCnsKCSRzY3JpcHQgPSBuZXcgalF1ZXJ5U2NyaXB0KCk7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydkZWxldGUnXSkpCnsKCSRzY3JpcHQtPmRlbGV0ZSgpOwoJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnc2NyaXB0cycpKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2xvYWRfZGVmYXVsdF9zdGF0ZSddKSkKewoJJHNjcmlwdC0+c2V0TG9hZERlZmF1bHQoISRzY3JpcHQtPmdldExvYWREZWZhdWx0KCkpOwoJJHNjcmlwdC0+c2F2ZSgpOwoJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnc2NyaXB0cycpKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2luX2hlYWRlcl9zdGF0ZSddKSkKewoJJHNjcmlwdC0+c2V0SW5IZWFkZXIoISRzY3JpcHQtPmdldEluSGVhZGVyKCkpOwoJJHNjcmlwdC0+c2F2ZSgpOwoJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnc2NyaXB0cycpKTsKfQoKCgokZm9ybSA9IG5ldyBqUXVlcnlGb3JtKCdqUXVlcnknLCAkaWQsICdtYW5hZ2VTY3JpcHQnLCAkcmV0dXJuaWQpOwovLyRmb3JtLT5zZXRMYWJlbCgnc3VibWl0JywkdGhpcy0+bGFuZygnc2F2ZScpKTsKLy8kZm9ybS0+c2V0TGFiZWwoJ2FwcGx5JywkdGhpcy0+bGFuZygnc2F2ZV9jb250aW51ZScpKTsKJGZvcm0tPnNldEJ1dHRvbnMoYXJyYXkoJ3N1Ym1pdCcsJ2FwcGx5JywnY2FuY2VsJykpOwokZm9ybS0+c2V0V2lkZ2V0KCdzY3JpcHRfaWQnLCAnaGlkZGVuJywgYXJyYXkoJ29iamVjdCcgPT4gJiRzY3JpcHQsICdmaWVsZF9uYW1lJyA9PiAnaWQnKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ25hbWUnLCd0ZXh0JywgYXJyYXkoJ29iamVjdCcgPT4gJiRzY3JpcHQpKTsKJGZvcm0tPnNldFdpZGdldCgnY29kZScsJ3RleHRhcmVhJywgYXJyYXkoJ29iamVjdCcgPT4gJiRzY3JpcHQpKTsKJGZvcm0tPnNldFdpZGdldCgnbG9hZF9kZWZhdWx0JywnY2hlY2tib3gnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHNjcmlwdCkpOwokZm9ybS0+c2V0V2lkZ2V0KCdpbl9oZWFkZXInLCdjaGVja2JveCcsIGFycmF5KCdvYmplY3QnID0+ICYkc2NyaXB0KSk7CiRmb3JtLT5zZXRXaWRnZXQoJ3JlcXVpcmVkX3BsdWdpbnMnLCd0ZXh0JywgYXJyYXkoJ29iamVjdCcgPT4gJiRzY3JpcHQpKTsKCmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSkKewoJJHNjcmlwdC0+c2F2ZSgpOwoJJGZvcm0tPmdldFdpZGdldCgnc2NyaXB0X2lkJyktPnNldFZhbHVlcygkc2NyaXB0LT5nZXRJZCgpKTsKCWlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCgl7CgkJCXJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3NjcmlwdHMnKSk7Cgl9Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21hbmFnZVNjcmlwdC50cGwnKTs=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAQAABzYndzcGJsb2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAaQBjAG8AbgBzYndzcGJsb2IAAACwYnBsaXN0MDDWAQIDBAUGBwgICggMXFdpbmRvd0JvdW5kc1tTaG93U2lkZWJhcl1TaG93U3RhdHVzQmFyW1Nob3dQYXRoYmFyW1Nob3dUb29sYmFyXFNpZGViYXJXaWR0aF8QGXt7MTQ0LCAzNTB9LCB7MTAxMSwgNTgzfX0JCQgJEMAIFSIuPEhUYX1+f4CBAAAAAAAAAQEAAAAAAAAADQAAAAAAAAAAAAAAAAAAAIMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAAAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQAAQAOZ/AOPu9jM6RiZ6tkxSXJmdotLT1lVaZIS01oKGjTSCu9Xm8czN0DtCTQlorBsiL0JJUyEpNWxxeYmNlKKlqrK1ucnLzvX19qmssI+62bPR5tzq9L7X6arL4o2Rl/z8/GRpcfX5/PH3+l2cyVOWxcHDxkSNwNXW2G2mzvDx8k2Sw+Dh43qu0t3e4O3t7isyPnWr0XGoz3p+hvr8/Whtdvj4+LDO5eny+Orq7Ojp6mGfysHZ6u70+ebw95jA3JCUmr/BxKPH4BUdKtzd32WhzMTb65W+3DqHvdjo8s/h78vf7ViZx6HG32Blbq6xtoe11n+Ei52gpt/s9bq7v15jbBdxsUdNV8fJzP3+/lBWYOLj5dvc3uzz+OTl5+jx93R5gfn6+vr7++fx+Mbc7Obn6FddZs/Q09na3JWZn5C825K92/v7/G90e7u+wcvh8Iq32FlfaLjU6O/w8d7f4RBtr/Pz9J7E37a4vefo6ePk5qXJ49jZ29Hj8H+x1Pz9/hMbKP///yH5BAEAAH8ALAAAAABAABAAAAf/gH+Cg4SFhoNTDFVrh42Oj5CRfwN+lZUOkpmFAw+HbpAxggaVfx1/Dn4ugwiErIOhXoQSf7OzhJR+hHWCI4+kP6SDT8HBfwG5f0yWla7LlWSDwU6CL4MJjjMRgqmFpCR+EIOoZX/goccBf8MQWFgDAzOCqB+C1/WDIieGPn/aLn7xBknwE2Rbp23h/gVc44fBtliCqohqOIgKGkFzYDx64IdeMUFY/HQKyUTQQCzlnPkZ8AcCsm0N/WAaZMTenzn2ahhCBdOWPGT/Bin7A0UmtKOCghQcxMCSoQaERggQIMJQJTYp00Wb6fKJoKDlwlnVKohhR0MCGmCARADcRIIQiSAEIZjuWBAX/wpOqAQhgN9OEc4SktmISoMShT4NPjgJlbODLi2p+oNlrqV0TTdRbJSigec5AoYU+kfvkBVNqCNNM0TmY+rXsJNWIhspDaGLh+DEfjSgSsBHRowoyZFCiZKqJxDnyKHxTwkRVf+kSAFDRI4RiHdL0kdoxSDvB/40b/4ngyE+hwIBADs=]]></data>
	</file>
	<file>
	  <filename>/images/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icons/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/images/icons/connect.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ+SURBVBgZlcFLSBRhAAfw/858s860aygiptIp9NChoDzkxYNUYIcO0TUIOghFUNElvEad6lBkdEqCIugi3QQfLR2yQumBaPh+7Li7o/uanfmes1972IOEQv5+Ma01DuPRh+U+StlEhSsZUnElprXGQd6kdomUsoOJaiflojXk4mIM+pZjaXCp8GslTwkOMDLlOVyoCamiXhkpVCOJRDyGpG2CCYlsgSPvh4TgACGVt21L97Y0meBCg0kNyiW28wHiJrC8VYAo0wsE+3g1vtRdquYeHyXHUfAldkohKJcIuUSjbWI5XYKXLQ5/fnk1RbDHyJTnSKHeCbF6SbVMGCteH5pxAk7cQLbAQZmAGbOQccuQZTqGGoK615M5woX6aRPdZTkn4a+7kehMmdOzMmptaDOTNkEuzxE3gaAcQITMQ42BugpVHUzIrqRjwCJVOA3nzPLvMzKScujPxnK04RbRdIQgYBxhIYSs0DRqDNSFnHUKIUG5xKZXQTweg5Potmyde9hz/quZ9RbgukWsLWQQlvxFFQkXNQbqKgFvDRhHyCRCKrC27cOxYmhrPksyP5rQMzAPd3FJZVdzoyrip+cn7yvUENSVQnajvclCSAUqlIMyCa8oYVsmoPsxM/pJRVVxam7ywTz2IKi5+WLmXqNjXI4TA5lCgIRtwjI1GqwYhJBY39hFLt0+NPtxcB7/IIPPvt9N2MaTRNwAZQKWqbGeLmFnxwf1GZhPwXz+RXH2HPsgPuVP25qT0DrCZtbHpltEwQuGlRBjEedexFVaCenOjd9R2Acp+RQb2xFMaKS3iiju+v3Tb69N4T8RGtBjK/lSRoWKKsYGvr2/nsIh/AUG0IfiieuuUQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icons/disconnect.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKuSURBVDjLlZLLS5RRGMbf7zrzebdw8FaSqJAbF0GgRBvptinoPxDKRdDKQjBw2TKClgVJCwmUyMBKydDKS9TCME2tRhs1cZwZ57ud853bfB0HiiAVOvBuDuf5ve/7nEcJwxAOOgPTtk4Fr6ZU1OCAVyBCm2Td9jEdcxG5pBwEeDyZtaRwjAvWSpkAxjkITsGKqJBIuvB903upH9QdE3rd1MLW0gIVCMsBoYq8U8H2CUQNBdJZp33fCe6PbJo+4XZVmRHFhEDKCXaB4Accii0NFlfT8GNt56a6X/er56qog/Cd1aQjRRQictasR8B2EXgIQyblAbX95X9WeDSRPiriz3oZY1pvZ2dH590Z7GB+q7LcjBZHVdhMBaCpEfBsCXDR9p8V+t9lLGlUP7PXLxyJbkUMw4DZ2dm+rq6ujjPdz09xTEZrY8VWYZEh/WAwNxWHwEV1eYDsqsuOCxFDaYRQwGZ8ljeUE31+fr4PY3xFVulM5mQzC4LRypoSy037kEykvuZytDnvAQ5oNSa8scAE0JQcGIeb9LcrJl02Tj+U4gcIoanG8MU35qKzK58SaCux9ZSLoGVxvJvnPfAQrQEQEhTCRhpBYVQB61CNyZY+v6qvrzdisRgMDg6O1+kjbUt+23EpTPz2LA9wMa7QFJBuhxIWQHKHQWmBDrXHGozJuTfQ4sWBEDI9NDSUkc8zf5ueB9gubiqyVJBacBDZXQm2MhSiugZW7QkYfj/NuGi5ttd3a9uxi6bM9FhFmak5fgCmHEXqQFcVEDkBiZVt+edhz8fh7om9AHrWxV5JgWoImXMfE1jbsMHd8QF7AQQyONjxp4UQ9/YLnJ710JgaGucXUi6sr2cY84MeQfmyCOg2p3RD5PjPL69v8H0ByEWXnSR7IoPSzjEt+jDQQeE/zi9kq6pv7shelwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/loadingAnimation.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/jQuery.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKcmVxdWlyZV9vbmNlKCdsaWJyYXJpZXMvY2xhc3Nlcy9qUXVlcnlCYXNlLmNsYXNzLnBocCcpOwpyZXF1aXJlX29uY2UoJ2xpYnJhcmllcy9jbGFzc2VzL2pRdWVyeVNjcmlwdC5jbGFzcy5waHAnKTsKcmVxdWlyZV9vbmNlKCdsaWJyYXJpZXMvY2xhc3Nlcy9qUXVlcnlGb3JtLmNsYXNzLnBocCcpOwoKY2xhc3MgalF1ZXJ5IGV4dGVuZHMgQ01TTW9kdWxlCnsKCXZhciAkcGx1Z2luRGlyZWN0b3J5ID0gJy9saWJyYXJpZXMvcGx1Z2lucy8nOyAvLyBERVBSRUNBVEVECgkKCXByb3RlY3RlZCAkcGx1Z2lucyA9IGFycmF5KCk7CgkKCWNvbnN0IFBMVUdJTl9ESVJFQ1RPUlkgID0gJy9saWJyYXJpZXMvcGx1Z2lucy8nOwoJCglmdW5jdGlvbiBHZXROYW1lKCkJewkJCQkJcmV0dXJuICdqUXVlcnknOwl9CQoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkJewkJCXJldHVybiAnalF1ZXJ5JzsJfQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpCXsJCQkJcmV0dXJuICcxLjEuMyc7CX0KCWZ1bmN0aW9uIEdldEhlbHAoKQl7CQkJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsJfQoJZnVuY3Rpb24gR2V0QXV0aG9yKCkJewkJCQlyZXR1cm4gJ0plYW4tQ2hyaXN0b3BoZSBDdXZlbGllcic7CX0JCglmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCXsJCQlyZXR1cm4gJ2pjY0Btb3JyaXMtY2hhcG1hbi5jb20nOwl9CglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQl7CQkJCXJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7CX0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkJewkJCXJldHVybiB0cnVlOwl9CglmdW5jdGlvbiBIYXNBZG1pbigpCXsJCQkJCXJldHVybiB0cnVlOwl9CglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQl7CQkJcmV0dXJuICdsYXlvdXQnOwl9CglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkJewkJcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7CX0KCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCXsgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja0FjY2VzcygpOwl9CglmdW5jdGlvbiBDaGVja0FjY2VzcygkcGVybSA9ICcnKQl7CXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCRwZXJtKTsJfQogICAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykgICAgewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKICAgICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwogICAgfQoJZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkJewkJCXJldHVybiBhcnJheSgpOwl9CglmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCXsJCXJldHVybiAiMS4wLjYiOwl9CglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQl7CQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CX0JCglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCXsJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwl9CglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkJewkJcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7CX0JCglmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkJewkgICAJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwl9CQkKCWZ1bmN0aW9uIEhhbmRsZXNFdmVudHMoKQl7CQkJcmV0dXJuIHRydWU7CX0JCglmdW5jdGlvbiBEb0V2ZW50KCRvcmlnaW5hdG9yLCAkZXZlbnRuYW1lLCAmJHBhcmFtcykKCXsKCQlpZigkb3JpZ2luYXRvciA9PSAnQ29yZScgJiYgJGV2ZW50bmFtZSA9PSAnQ29udGVudFBvc3RSZW5kZXInKQoJCXsKCQkJJHRoaXMtPkNvbnRlbnRQb3N0UmVuZGVyKCRwYXJhbXNbJ2NvbnRlbnQnXSk7CgkJfQoJfSAgICAKCWZ1bmN0aW9uIFJlZ2lzdGVyRXZlbnRzKCkJewkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdDb250ZW50UG9zdFJlbmRlcicsIGZhbHNlKTsJfQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCgl7CgkJLy8gRm9yIEFkbWluIHNpZGUKCQlyZXR1cm47Cgl9CgkKIAlwcml2YXRlIGZ1bmN0aW9uIGdlbmVyYXRlSGVhZGVyKCkgCiAgICB7CQoJCWdsb2JhbCAkalF1ZXJ5OwoJCQoJCWlmIChpc3NldCgkalF1ZXJ5Wydsb2FkZWQnXSkpCgkJewoJCQlyZXR1cm47CgkJfQoJCQoJCSRodG1sID0galF1ZXJ5QmFzZTo6Z2V0SmF2YXNjcmlwdFRhZygkdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL2pxdWVyeS0xLjQuMi9qcXVlcnkuanMnKTsKCQkkaHRtbCAuPSBqUXVlcnlCYXNlOjpnZXRKYXZhc2NyaXB0VGFnKG51bGwsJ2pRdWVyeS5ub0NvbmZsaWN0KCk7Jyk7CgoJCS8vIGZvcmVhY2ggKCR0aGlzLT5nZXRQbHVnaW5zKCkgYXMgJHBsdWdpbiA9PiAkcGFyYW1ldGVycykKCQkvLyAJCXsKCQkvLyAJCQlpZiAoaXNzZXQoJHBhcmFtZXRlcnNbJ2FjdGl2ZSddICkpCgkJLy8gCQkJJGh0bWwgLj0gKCRwYXJhbWV0ZXJzWydhY3RpdmUnXSA9PSAxKT9qUXVlcnlCYXNlOjpnZXRKYXZhc2NyaXB0VGFnKCR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10gLiAnL21vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zLycgLiAkcGFyYW1ldGVyc1sncGF0aCddKTonJzsgICAgICAgIAkJCQoJCS8vIAkJfQoJCQkJCgkJLy8gU2NyaXB0cyBsb2FkaW5nCgkJJGRlZmF1bHRfc2NyaXB0cyA9IGpRdWVyeVNjcmlwdDo6ZG9TZWxlY3QoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnbG9hZF9kZWZhdWx0JyA9PiB0cnVlKSkpOwoJCWZvcmVhY2goJGRlZmF1bHRfc2NyaXB0cyBhcyAkc2NyaXB0KQoJCXsKCQkJJGpRdWVyeVsnaGVhZGVycyddWydzY3JpcHRzJ11bJHNjcmlwdC0+Z2V0UG9zaXRpb24oKV0gPSAkc2NyaXB0LT5nZXRJZCgpOwoJCQkkcmVxdWlyZWRfcGx1Z2lucyA9IGV4cGxvZGUoJywnLCRzY3JpcHQtPmdldFJlcXVpcmVkUGx1Z2lucygpKTsKCQkJZm9yZWFjaCgkcmVxdWlyZWRfcGx1Z2lucyBhcyAkcGx1Z2luKQoJCQl7CgkJCQlpZiAoJHBsdWdpbiAhPSAnJykJJGpRdWVyeVsnaGVhZGVycyddWydwbHVnaW5zJ11bJHBsdWdpbl0gPSAxOyAvL1RPRE86IEZJWCBUSEUgUE9TSVRJT04gSVNTVUUKCQkJfQoJCX0KCQkKCQkKCQkvLyBQbHVnaW5zCgkJJHBsdWdpbnMgPSAkdGhpcy0+Z2V0QWN0aXZlUGx1Z2lucygpOwoJCWZvcmVhY2goJHBsdWdpbnMgYXMgJHBsdWdpbiA9PiAkc3RhdHVzKQoJCXsKCQkJJGpRdWVyeVsnaGVhZGVycyddWydwbHVnaW5zJ11bJHBsdWdpbl0gPSAxOwoJCX0KCQkvLyBPdXRwdXQgcGx1Z2lucyAKCQlpZiAoaXNfYXJyYXkoJGpRdWVyeVsnaGVhZGVycyddWydwbHVnaW5zJ10pKQoJCXsKCQkJZm9yZWFjaCAoJGpRdWVyeVsnaGVhZGVycyddWydwbHVnaW5zJ10gYXMgJHBsdWdpbiA9PiAkc3RhdHVzKQoJCQl7CgkJCQkkaHRtbCAuPSBqUXVlcnlCYXNlOjpnZXRKYXZhc2NyaXB0VGFnKCR0aGlzLT5nZXRQbHVnaW5VcmwoJHBsdWdpbikpOwoJCQl9CgkJfQoJCQoJCS8vIE91dHB1dCBzY3JpcHRzCgkJaWYgKGlzX2FycmF5KCRqUXVlcnlbJ2hlYWRlcnMnXVsnc2NyaXB0cyddKSkKCQl7CgkJCWtzb3J0KCRqUXVlcnlbJ2hlYWRlcnMnXVsnc2NyaXB0cyddKTsKCQkJZm9yZWFjaCAoJGpRdWVyeVsnaGVhZGVycyddWydzY3JpcHRzJ10gYXMgJHNjcmlwdF9pZCkKCQkJewoJCQkJJGh0bWwgLj0galF1ZXJ5QmFzZTo6Z2V0SmF2YXNjcmlwdFRhZygkdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9qUXVlcnkvbG9hZC5waHA/aWQ9Jy4kc2NyaXB0X2lkKTsKCQkJfQoJCX0KCgkJJGpRdWVyeVsnbG9hZGVkJ10gPSB0cnVlOwoJCXJldHVybiAkaHRtbDsKICAgIH0KCgogICAgCiAgICBmdW5jdGlvbiBDb250ZW50UG9zdFJlbmRlcigmJGNvbnRlbnQpCiAgICB7CgkJCS8vIENvbnRlbnQgc2lkZQoJCWlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnYXV0b2xvYWQnKSA9PSAxKQoJCXsKCSAgICAgICAgaWYgKHN0cnBvcygkY29udGVudCwgJzwhLS1MT0FEIEpRVUVSWS0tPicpICE9PSBGQUxTRSkKCSAgICAgICAgewoJICAgICAgICAgICAgJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgnPCEtLUxPQUQgSlFVRVJZLS0+JywgJHRoaXMtPmdlbmVyYXRlSGVhZGVyKCksICRjb250ZW50KTsKCSAgICAgICAgfQoJCQllbHNlaWYgKHN0cnBvcygkY29udGVudCwgJzwhLS1OT0pRVUVSWS0tPicpICE9PSBGQUxTRSkKCSAgICAgICAgewoJICAgICAgICAgICAgLy8kY29udGVudCA9IHN0cl9yZXBsYWNlKCc8IS0tTE9BRCBKUVVFUlktLT4nLCAkdGhpcy0+R2V0SGVhZGVySFRNTCgpLCAkY29udGVudCk7CgkgICAgICAgIH0KCSAgICAgICAgZWxzZQoJICAgICAgICB7CgkJCQkvLyBMb2FkIHNjcmlwdHMgYXQgdGhlIGVuZCAoc3BlZWQgdXAgbG9hZGluZykKCSAgICAgICAgICAgICRjb250ZW50ID0gc3RyX3JlcGxhY2UoJzwvYm9keScsICR0aGlzLT5nZW5lcmF0ZUhlYWRlcigpICAuJzwvYm9keScsICRjb250ZW50KTsKCSAgICAgICAgfQoJCX0KICAgIH0KCi8vIFBsdWdpbnMgbWFuYWdlbWVudAoKcHVibGljIGZ1bmN0aW9uIGNoZWNrUGx1Z2lucygpCnsKCSRwbHVnaW5zID0gICR0aGlzLT5nZXRQbHVnaW5zKCk7CgkkcGx1Z2luX3NjYW4gPSAkdGhpcy0+c2NhblBsdWdpbnMoKTsKCQoJZm9yZWFjaCgkcGx1Z2luX3NjYW4gYXMgJHBsdWdpbiA9PiAkcGF0aCkKCXsKCQkkcGx1Z2luc1skcGx1Z2luXVsncGF0aCddID0gJHBhdGg7Cgl9CgkKCS8vIENoZWNrIGZvciBnaG9zdHMgcGx1Z2lucwoJCglmb3JlYWNoICgkcGx1Z2lucyBhcyAkcGx1Z2luID0+ICRwbHVnaW5fdmFsdWVzKSAKCXsKCQlpZiAoaXNfYXJyYXkoJHBsdWdpbikpCgkJewoJCQlmb3JlYWNoKCRwbHVnaW4gYXMgJHBsdWcpCgkJCXsKCQkJCWlmICghZW1wdHkoJHBsdWcpICYmICFpc3NldCgkcGx1Z2luX3NjYW5bJHBsdWddKSkKCQkJCXsKCQkJCQl1bnNldCgkcGx1Z2luWyRwbHVnXSk7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJaWYgKCFlbXB0eSgkcGx1Z2luKSAmJiAhaXNzZXQoJHBsdWdpbl9zY2FuWyRwbHVnaW5dKSkKCQkJewoJCQkJdW5zZXQoJHBsdWdpbnNbJHBsdWdpbl0pOwoJCQl9CgkJfQkKCX0KCQoJJHRoaXMtPnNldFBsdWdpbnMoJHBsdWdpbnMpOwoJCglyZXR1cm4gJHBsdWdpbnM7CQp9CgpwdWJsaWMgZnVuY3Rpb24gZ2V0UGx1Z2lucygpCnsKCSRwbHVnaW5zID0gdW5zZXJpYWxpemUoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BsdWdpbnMnLCBhcnJheSgpKSk7Ci8vCWFzb3J0KCRwbHVnaW5zKTsKCXJldHVybiAkcGx1Z2luczsKfQoKcHVibGljIGZ1bmN0aW9uIHNldFBsdWdpbnMoJHBsdWdpbnMgPSBhcnJheSgpKQp7CglyZXR1cm4gJHRoaXMtPnNldFByZWZlcmVuY2UoJ3BsdWdpbnMnLCBzZXJpYWxpemUoJHBsdWdpbnMpKTsKfQoKcHVibGljIGZ1bmN0aW9uIHNjYW5QbHVnaW5zKCkKewoJJHBsdWdpbnNfZGlyID0gZGlybmFtZShfX0ZJTEVfXykgLiBqUXVlcnk6OlBMVUdJTl9ESVJFQ1RPUlk7CgkKCSRkaXIgPSBzY2FuZGlyKCRwbHVnaW5zX2Rpcik7CgoJJHBsdWdpbnMgPSAgYXJyYXkoKTsKCglmb3JlYWNoICgkZGlyIGFzICRwbHVnaW4pCgl7CgkJaWYoCgkJCSRwbHVnaW4gIT0gJy4nIAoJCQkmJiAkcGx1Z2luICE9ICcuLicgCgkJCSYmIGlzX2RpcigkcGx1Z2luc19kaXIgLiAkcGx1Z2luKSAKCQkJJiYgZmlsZV9leGlzdHMoICRwbHVnaW5zX2RpciAuICRwbHVnaW4gLiAnL2pzLycgLiAkcGx1Z2luIC4gJy5qcXVlcnkuanMnICkgCgkJCSkKCQl7CgkJCSRwbHVnaW5zWyRwbHVnaW5dID0gJHBsdWdpbiAuICcvanMvJyAuICRwbHVnaW4gLiAnLmpxdWVyeS5qcyc7CgkJfQoJfQoJcmV0dXJuICRwbHVnaW5zOwp9ICAgIAoKcHVibGljIGZ1bmN0aW9uIGdldFBsdWdpblVybCgkcGx1Z2luKQp7CglyZXR1cm4gJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXSAuICcvbW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvJyAuICRwbHVnaW4gLiAnL2pzLycgLiAkcGx1Z2luIC4gJy5qcXVlcnkuanMnOwp9CgpwdWJsaWMgZnVuY3Rpb24gZ2V0QWN0aXZlUGx1Z2lucygpCnsKCSRwbHVnaW5zID0gYXJyYXkoKTsKCWZvcmVhY2ggKCR0aGlzLT5nZXRQbHVnaW5zKCkgYXMgJHBsdWdpbiA9PiAkcGFyYW1ldGVycykKCXsKCQlpZiAoaXNzZXQoJHBhcmFtZXRlcnNbJ2FjdGl2ZSddKSAmJiAkcGFyYW1ldGVyc1snYWN0aXZlJ10gPT0gMSkKCQl7CgkJCSRwbHVnaW5zWyRwbHVnaW5dID0gMTsgLy9UT0RPOiBGSVggUE9TSVRJT04KCQl9Cgl9CglyZXR1cm4gJHBsdWdpbnM7Cn0JCi8vIERFUFJFQ0FURUQKCmZ1bmN0aW9uIEdldFBsdWdpblBhdGgoJHBsdWdpbikKewoJcmV0dXJuICRwbHVnaW4gLiAnL2pzLycgLiAkcGx1Z2luIC4gJy5qcXVlcnkuanMnOyAKfQoKCmZ1bmN0aW9uIFBsdWdpbnNEaXJlY3RvcnkoKQp7CglyZXR1cm4gJy9saWJyYXJpZXMvcGx1Z2lucy8nOwp9CgoKCgpmdW5jdGlvbiBQbHVnaW5zKCkKewokcGx1Z2lucyA9IGFycmF5KCk7CgoJZm9yZWFjaCAoJHRoaXMtPkdldFBsdWdpbnMoKSBhcyAkcGx1Z2luKQp7CgkkcGx1Z2luc1skcGx1Z2luXSA9ICBhcnJheSgnYWN0aXZlJyA9PiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkcGx1Z2luLCAwKSk7Cn0KCXJldHVybiAkcGx1Z2luczsKfQoKZnVuY3Rpb24gZ2V0SWNvbigkaWNvbiwgJGFsdD1udWxsKQp7CgkkY29uZmlnID0mICR0aGlzLT5nZXRDb25maWcoKTsKCSRpbWFnZV9wYXRoID0gZGlybmFtZShfX0ZJTEVfXykgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2ltYWdlcycuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnaWNvbnMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRpY29uOwoJJGltYWdlX3VybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAnL21vZHVsZXMvJyAuICR0aGlzLT5HZXROYW1lKCkuICcvaW1hZ2VzL2ljb25zLycgLiAkaWNvbjsKCWlmKGlzX2ZpbGUoJGltYWdlX3BhdGgpKQoJewoJCSRpbWcgPSAnPGltZyBzcmM9IicuJGltYWdlX3VybC4nIic7CgkJaWYgKCFpc19udWxsKCRhbHQpKQoJCXsKCQkJJGltZyAuPSAnIGFsdD0iJy4kYWx0LiciIHRpdGxlPSInLiRhbHQuJyInOwoJCX0KCQkkaW1nIC49ICcgLz4nOwoJCXJldHVybiAgJGltZzsKCX0KCXJldHVybiBudWxsOwp9CgoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbImZyaWVuZGx5bmFtZSJdPSJKUXVlcnkiOwokbGFuZ1sibW9kZGVzY3JpcHRpb24iXT0iIjsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXT0nVGhpcyBtb2R1bGUgaGVscHMgbWFuYWdpbmcgalF1ZXJ5IGFuZCBqYXZhc2NyaXB0cyBpbiB0aGUgZnJvbnRlbmQnOwoKJGxhbmdbImluc3RhbGxlZCJdPSJKUXVlcnkgd2FzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsIjsKJGxhbmdbInBvc3RpbnN0YWxsIl09ImpRdWVyeSB3YXMgc3VjY2Vzc2Z1bGx5IGluc3RhbGwiOwoKJGxhbmdbInVwZ3JhZGVkIl09ImpRdWVyeSB2ZXJzaW9uIHdhcyBzdWNjZXNzZnVsbHkgdXBncmFkZWQgKEF0dGVudGlvbiwgcGxlYXNlIGNvbmZpZ3VyZSB0aGUgYXV0b2xvYWQgZmVhdHVyZSByZWdhcmRpbmcgeW91ciBuZWVkcykiOwoKJGxhbmdbInJlYWxseV91bmluc3RhbGwiXT0iQXJlIHlvdSBzdXJlIGpRdWVyeSBzaG91bGQgYmUgdW5pbnN0YWxsZWQ/IEFueSBtb2R1bGUgZGVwZW5kaW5nIG9uIGl0IHdpbGwgbm8gbG9uZ2VyIGZ1bmN0aW9uISI7CiRsYW5nWyJ1bmluc3RhbGxlZCJdPSJqUXVlcnkgd2FzIHN1Y2Nlc3NmdWxseSB1bmluc3RhbGxlZCI7CgokbGFuZ1sndGl0bGVfcGx1Z2luJ10gPSAnUGx1Z2luJzsKJGxhbmdbJ3RpdGxlX3BhdGgnXSA9ICdQYXRoJzsKCiRsYW5nWydzY3JpcHRzJ10gPSAnU2NyaXB0cyc7CiRsYW5nWydzY3JpcHQnXSA9ICdTY3JpcHQnOwokbGFuZ1snYWRkX3NjcmlwdCddID0gJ0FkZCBzY3JpcHQnOwokbGFuZ1snaXMgYWN0aXZlJ10gPSAnSXMgYWN0aXZlJzsKJGxhbmdbJ2FjdGl2YXRlJ10gPSAnQWN0aXZhdGUnOwokbGFuZ1snZGVzYWN0aXZhdGUnXSA9ICdEZXNhY3RpdmF0ZSc7CgokbGFuZ1snZm9ybV8nXSA9ICdGb3JtJzsKJGxhbmdbJ2Zvcm1fbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZm9ybV9jb2RlJ10gPSAnQ29kZSc7CiRsYW5nWydmb3JtX2xvYWRfZGVmYXVsdCddID0gJ0xvYWQgaXQgYnkgZGVmYXVsdCc7CiRsYW5nWydmb3JtX2luX2hlYWRlciddID0gJ0xvYWQgaXQgaW4gdGhlIGhlYWRlciBvZiB0aGUgcGFnZSc7CiRsYW5nWydmb3JtX3JlcXVpcmVkX3BsdWdpbnMnXSA9ICdMaXN0IG9mIHJlcXVpcmVkIHBsdWdpbnMgKHNlcGFyYXRlIGJ5IGNvbW1hKSc7CiRsYW5nWydmb3JtX2F1dG9sb2FkJ10gPSAnQXV0b2xvYWQgaW4gaGVhZGVyJzsKCiRsYW5nWydzYXZlJ10gPSAnU2F2ZSc7CiRsYW5nWydhcmVfeW91X3N1cmUnXSA9ICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JzsKCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7CgoKJGxhbmdbImhlbHAiXT0iCgo8aDM+SW5zdGFsbGF0aW9uPC9oMz4KPHVsPgogIDxsaT4xLiBJbnN0YWxsIHRoZSBtb2R1bGU8L2xpPgogIDxsaT4yLgoJCTx1bD4KCQkJPGxpPmEuIEFkZCB7alF1ZXJ5fSBpbiB5b3VyIHRlbXBsYXRlIHdoZXJlIHlvdSB3YW50IHRoZSBsaWJyYXJpZXMgdG8gYmUgbG9hZGVkPC9saT4KCQkJPGxpPmIuIChPbGQgd2F5KSBBZGQgdGhlIGNvbW1lbnQgJmx0OyEtLUxPQUQgSlFVRVJZLS0mZ3Q7IGluIHlvdXIgdGVtcGxhdGUgd2hlcmUgeW91IHdhbnQgdGhlIGxpYnJhcmllcyB0byBiZSBsb2FkZWQgYW5kIGFjdGl2YXRlIHRoZSBhdXRvbG9hZCBvcHRpb24uPC9saT4KCQk8L3VsPgoJPC9saT4KPC91bD4KPGgzPlVzZSBhIHBsdWdpbjwvaDM+CjxwPllvdSBjYW4gZmluZCBkb2N1bWVudGF0aW9uIG9uIGhvdyB0byB1c2UgYSBwbHVnaW4gb24gdGhlIGpRdWVyeSB3ZWJzaXRlLiBUaGlzIHBsdWdpbiBqdXN0IGFzc3VyZSB5b3UgdGhhdCB0aGUgcGx1Z2luIGNvcmUgaXMgbG9hZGVkLjwvcD4KPHA+VGhlIGJlc3Qgd2F5IHRvIHVzZSBhIHBsdWdpbiBpcyB0byBjcmVhdGUgYSBzY3JpcHQgdGhhdCBydW4gdGhlIHBsdWdpbiBhbmQgdG8gcHV0IHRoZSBwbHVnaW4gaW4gdGhlICdyZXF1aXJlZCBwbHVnaW4nIGZpZWxkIG9mIHRoZSBzY3JpcHQuIFRoaXMgd2lsbCBhc3N1cmUgdGhhdCB0aGUgcGx1Z2luIGxpYnJhcnkgaXMgbG9hZGVkIHByaW9yIHRvIHRoZSBydW4gb2YgeW91ciBzY3JpcHQuPC9wPgo8aDM+SW5zdGFsbCBhIG5ldyBwbHVnaW48L2gzPgpZb3UgY2FuIGFkZCBwbHVnaW5zIGluIHRoZSBcIi9tb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2luc1wiIGRpcmVjdG9yeSBieSBmb2xsb3dpbmcgdGhlc2Ugc3RlcHMgOgo8YnI+PGJyPgo8dWw+Cgk8bGk+MS4gQ3JlYXRlIGEgbmV3IGRpcmVjdG9yeSBmb3IgeW91ciBwbHVnaW4gPHN0cm9uZz4vbW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvbXluZXdwbHVnaW48L3N0cm9uZz48YnI+PGJyPjwvbGk+Cgk8bGk+Mi4gQ3JlYXRlIGEgbmV3IGRpcmVjdG9yeSBuYW1lZCBcImpzXCIgaW4gdGhlIHB1Z2luIGRpcmVjdG9yeSB5b3UgY3JlYXRlZCA6IDxzdHJvbmc+L21vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL215bmV3cGx1Z2luL2pzPC9zdHJvbmc+PGJyPjxicj48L2xpPgoJPGxpPjMuIEFkZCB0aGUgLmpzIGZpbGUgdG8gPHN0cm9uZz4vbW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvbXluZXdwbHVnaW4vanMvbXluZXdwbHVnaW4uanF1ZXJ5LmpzPC9zdHJvbmc+PGJyPjxicj48L2xpPgoJPGxpPjQuIDxzdHJvbmc+SW1wb3J0YW50IDo8L3N0cm9uZz4gIHRoZSBqcyBmaWxlIG11c3QgYmUgbmFtZWQgYXMgZm9sbG93aW5nIDogPHN0cm9uZz5teW5ld3BsdWdpbi5qcXVlcnkuanM8L3N0cm9uZz4uIG15bmV3cGx1Z2luIGlzIGV4YWN0bHkgdGhlIHNhbWUgaW4gdGhlIGRpcmVjdG9yeSBuYW1lIGFuZCBpbiB0aGUgZmlsZSBuYW1lLjxicj48YnI+PC9saT4KCTxsaT41LiBHbyB0byB0aGUgYWRtaW4gc2VjdGlvbiBhbmQgcmVsb2FkIHRoZSBwYWdlLCB0aGUgbmV3IHBsdWdpbiB3aWxsIGJlIGxvYWRlZC4gWW91IGp1c3QgbmVlZCB0byBhY3RpdmF0ZSBpdCBieSBjaGVja2luZyB0aGUgY2hlY2tib3guPGJyPjwvbGk+CjwvdWw+Cjxici8+CjxoMj5DaGFuZ2Vsb2c8L2gyPgo8dWw+Cgk8bGk+VmVyc2lvbiAwLjAuOTogRml4IHRoZSBldmVudHMgaGFuZGxpbmcgKHRoYW5rcyB0byBBbmRyZWFzIEdsdW56KTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuMDogRGlzYWJsZSBhdXRvbG9hZGluZyBieSBkZWZhdWx0IGFuZCBhZGQgIHRoZSB7alF1ZXJ5fSBmdW5jdGlvbiBpbnN0ZWFkPC9saT4KPC91bD4KPGgyPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDI+Cjxici8+CkNvcHlyaWdodCAmY29weTsgMjAxMCAtIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bTxodHRwOi8vd3d3Lm1vcnJpcy1jaGFwbWFuLmNvbT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLgo8YnIvPjxici8+ClRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgUHVibGljIExpY2Vuc2UuIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS4KPGgyPk9yaWdpbmFsIGF1dGhvcjwvaDI+CjxwPlRoZSBvcmlnbmlhbCBhdXRob3Igb2YgdGhpcyBtb2R1bGUgaXMgQmVuamFtaW4gTWFnaXRzICZyYXF1bzsgYmVuamFtaW4ubWFnaXRzQGdtYWlsLmNvbSAmbGFxdW87PC9wPgoKCiI7CgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABgAAAAIAAAAGAAAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAABAAAQAAByAHkALQAxAC4ANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAYCwAAAEUAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEERFNEQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAgAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAEAAAgAAAAAAAAAAAEAACAAAAAAAQAAQAAAAAABAACAAAAAAAEAAQAAAAAAAQACAAAAAAABAAQAAAAAAAEACAAAAAAAAQAQAAAAAAABACAAAAAAAAEAQAAAAAAAAQCAAAAAAAABAQAAAAAAAAECAAAAAAAAAQQAAAAAAAABCAAAAAAAAAEQAAAAAAAAASAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/libraries/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/classes/jQueryBase.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJICogalF1ZXJ5IEJhc2UgY2xhc3MKCSAqIENvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bQoJICogVW5kZXIgR1BMIExpY2VuY2UKCSAqLwoJCgljbGFzcyBqUXVlcnlCYXNlIGV4dGVuZHMgQ21zT2JqZWN0Cgl7CgkJCgkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRKYXZhc2NyaXB0VGFnKCR1cmw9bnVsbCwkY29udGVudD1udWxsKQoJCXsKCQkJaWYgKCFlbXB0eSgkdXJsKSkKCQkJewoJCQkJCgkJCQlyZXR1cm4gJzxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLiR1cmwuJyI+PC9zY3JpcHQ+Jy4iXHJcbiI7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gJzxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+Jy4iXHJcbiIuJzwhLS0nLiJcclxuIi4kY29udGVudC4iXHJcbiIuJy0tPicuIlxyXG4iLic8L3NjcmlwdD4nLiJcclxuIjsKCQkJfQoJCX0KCX0=]]></data>
	</file>
	<file>
	  <filename>/libraries/classes/jQueryForm.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCUJhc2VkIG9uIE1DIEZvcm1zCgkJVGhpcyBjbGFzcyBhaW0gdG8gaGFuZGxlIENNUyBGb3JtcyB2ZXJ5IGRpZmZlcmVudGx5LgoJCQoJCUF1dGhvcjogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxjeWJlcnRvdG9waGVAZ21haWwuY29tPgoJCUNvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bSAtIDIwMTAKCQlMaWNlbmNlOiBHUEwJCQoJCgkqLwoKY2xhc3MgalF1ZXJ5Rm9ybQlleHRlbmRzCUNtc09iamVjdAp7Cglwcm90ZWN0ZWQgJG1vZHVsZV9uYW1lOwoJcHJvdGVjdGVkICRpZDsgLy8gVGhlIGZvcm0gSUQKCXByb3RlY3RlZCAkcmV0dXJuaWQ7Cglwcm90ZWN0ZWQgJGFjdGlvbjsJCgkKCXByb3RlY3RlZCAkd2lkZ2V0cyA9IGFycmF5KCk7IC8vIFRoZSBmb3JtIHdpZGdldHMKCXByb3RlY3RlZCAkaGlkZGVuX3dpZGdldHMgPSBhcnJheSgpOyAvLyBTcGVjaWZpYyB3aWRnZXRzIHNob3duIG9uIHRoZSBiZWdpbjsKCQoJcHJvdGVjdGVkICRsYWJlbHMgPSBhcnJheSgKCQknc3VibWl0JyA9PiAnU3VibWl0JywKCQknYXBwbHknID0+ICdBcHBseScsCgkJJ2NhbmNlbCcgPT4gJ0NhbmNlbCcsCgkJJ25leHQnID0+ICdOZXh0JywKCQkncHJldmlvdXMnID0+ICdQcmV2aW91cycKCQkpOwoJCQoJcHJvdGVjdGVkICRhY3RpdmVfYnV0dG9ucyA9IGFycmF5KCdjYW5jZWwnLCdzdWJtaXQnKTsKCXByb3RlY3RlZCAkZm9ybV9lcnJvcnMgPSBhcnJheSgpOyAKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtb2R1bGVfbmFtZSwgJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQpCgl7CgkJJHRoaXMtPm1vZHVsZV9uYW1lID0gJG1vZHVsZV9uYW1lOwoJCSR0aGlzLT5pZCA9ICRpZDsKCQkkdGhpcy0+cmV0dXJuaWQgPSAkcmV0dXJuaWQ7CgkJJHRoaXMtPmFjdGlvbiA9ICRhY3Rpb247Cgl9CgkKCS8vIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdldE5ld0lkKCkKCS8vIHsKCS8vIAlnbG9iYWwgJGpRdWVyeUZvcm1zOwoJLy8gCSRuZXdpZCA9IHN1YnN0cihtZDUodGltZSgpKSwwLDYpOwoJLy8gCWlmICghaXNzZXQoJGpRdWVyeUZvcm1zWyRuZXdpZF0pKQoJLy8gCXsKCS8vIAkJJGpRdWVyeUZvcm1zWyRuZXdpZF0gPSB0cnVlOyAvL25ldyBzZWxmKCRuZXdpZCk7CgkvLyAJCXJldHVybiAkbmV3aWQ7CgkvLyAJfQoJLy8gCWVsc2UKCS8vIAl7CgkvLyAJCXJldHVybiBzZWxmOjpnZXROZXdJZCgpOwoJLy8gCX0KCS8vIH0KCQoJY29uc3QgVkVSU0lPTiA9ICcwLjAuMyc7CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRIZWFkZXJzKCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGlzc2V0KCRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddKSkKCQl7CQkJCgkJCSRodG1sID0gJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUZvcm1TdGFydCgkdGhpcy0+aWQsICR0aGlzLT5hY3Rpb24sICR0aGlzLT5yZXR1cm5pZCk7CgkJCWZvcmVhY2goJHRoaXMtPmhpZGRlbl93aWRnZXRzIGFzICR3aWRnZXQpCgkJCXsKCQkJCSRodG1sIC49ICR3aWRnZXQ7CgkJCX0JCQkKCQkJcmV0dXJuICRodG1sOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEZvb3RlcnMoKQoJewoJCWdsb2JhbCAkZ0NtczsKCQlpZiAoaXNzZXQoJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10pKQoJCXsJCQkKCQkJJGh0bWwgPSAkZ0Ntcy0+bW9kdWxlc1skdGhpcy0+bW9kdWxlX25hbWVdWydvYmplY3QnXS0+Q3JlYXRlRm9ybUVuZCgpOwoJCQlyZXR1cm4gJGh0bWw7CgkJfQoJCXJldHVybiBudWxsOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0U3VibWl0TGFiZWwoJGxhYmVsKQoJewoJCSR0aGlzLT5sYWJlbHNbJ3N1Ym1pdCddID0gJGxhYmVsOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0TGFiZWwoJGxhYmVsLCAkdGl0bGUpCgl7CgkJJHRoaXMtPmxhYmVsc1skbGFiZWxdID0gJHRpdGxlOwoJfQoJCgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRCdXR0b25zKCRidXR0b25zID0gYXJyYXkoKSkKCXsKCQlpZiAoaXNfYXJyYXkoJGJ1dHRvbnMpKQkkdGhpcy0+YWN0aXZlX2J1dHRvbnMgPSAkYnV0dG9uczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEJ1dHRvbnMoKQoJewoJCSRodG1sID0gJyc7CgkJZm9yZWFjaCgkdGhpcy0+YWN0aXZlX2J1dHRvbnMgYXMgJGJ1dHRvbikKCQl7CgkJCXN3aXRjaCgkYnV0dG9uKQoJCQl7CgkJCQljYXNlICdzdWJtaXQnOgoJCQkJCSRodG1sIC49ICR0aGlzLT5nZXRTdWJtaXQoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgJ2FwcGx5JzoKCQkJCQkkaHRtbCAuPSAkdGhpcy0+Z2V0QXBwbHkoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgJ2NhbmNlbCc6CgkJCQkJJGh0bWwgLj0gJHRoaXMtPmdldENhbmNlbCgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnbmV4dCc6CgkJCQkJJGh0bWwgLj0gJHRoaXMtPmdldE5leHQoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgJ3ByZXZpb3VzJzoKCQkJCQkkaHRtbCAuPSAkdGhpcy0+Z2V0UHJldmlvdXMoKTsKCQkJCQlicmVhazsKCQkJCWRlZmF1bHQ6CgkJCQkJYnJlYWs7CgkJCX0KCQl9CgkJCgkJcmV0dXJuICRodG1sOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0U3VibWl0KCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGlzc2V0KCRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddKSkKCQl7CQkJCgkJCSRodG1sID0gJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUlucHV0U3VibWl0KCR0aGlzLT5pZCwgJ3N1Ym1pdCcsICR0aGlzLT5sYWJlbHNbJ3N1Ym1pdCddKTsKCQkJcmV0dXJuICRodG1sOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEFwcGx5KCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGlzc2V0KCRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddKSkKCQl7CQkJCgkJCSRodG1sID0gJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUlucHV0U3VibWl0KCR0aGlzLT5pZCwgJ2FwcGx5JywgJHRoaXMtPmxhYmVsc1snYXBwbHknXSk7CgkJCXJldHVybiAkaHRtbDsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRDYW5jZWwoKQoJewoJCWdsb2JhbCAkZ0NtczsKCQlpZiAoaXNzZXQoJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10pKQoJCXsJCQkKCQkJJGh0bWwgPSAkZ0Ntcy0+bW9kdWxlc1skdGhpcy0+bW9kdWxlX25hbWVdWydvYmplY3QnXS0+Q3JlYXRlSW5wdXRTdWJtaXQoJHRoaXMtPmlkLCAnY2FuY2VsJywgJHRoaXMtPmxhYmVsc1snY2FuY2VsJ10pOwoJCQlyZXR1cm4gJGh0bWw7CgkJfQoJCXJldHVybiBudWxsOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0TmV4dCgpCgl7CgkJZ2xvYmFsICRnQ21zOwoJCWlmIChpc3NldCgkZ0Ntcy0+bW9kdWxlc1skdGhpcy0+bW9kdWxlX25hbWVdWydvYmplY3QnXSkpCgkJewkJCQoJCQkkaHRtbCA9ICRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddLT5DcmVhdGVJbnB1dFN1Ym1pdCgkdGhpcy0+aWQsICduZXh0JywgJHRoaXMtPmxhYmVsc1snbmV4dCddKTsKCQkJcmV0dXJuICRodG1sOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldFByZXZpb3VzKCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGlzc2V0KCRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddKSkKCQl7CQkJCgkJCSRodG1sID0gJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUlucHV0U3VibWl0KCR0aGlzLT5pZCwgJ3ByZXZpb3VzJywgJHRoaXMtPmxhYmVsc1sncHJldmlvdXMnXSk7CgkJCXJldHVybiAkaHRtbDsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRXaWRnZXQoJG5hbWUsJHR5cGUsJHNldHRpbmdzID0gYXJyYXkoKSkKCXsKCQkkd2lkZ2V0ID0gbmV3IGpRdWVyeVdpZGdldCgkdGhpcy0+aWQsJHRoaXMtPm1vZHVsZV9uYW1lLCRuYW1lLCR0eXBlLCRzZXR0aW5ncyk7CgkJaWYgKCR0eXBlID09ICdoaWRkZW4nKQoJCXsKCQkJJHRoaXMtPmhpZGRlbl93aWRnZXRzWyRuYW1lXSA9ICR3aWRnZXQ7CgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT53aWRnZXRzWyRuYW1lXSA9ICR3aWRnZXQ7CgkJfQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0V2lkZ2V0cygpCgl7CgkJcmV0dXJuICR0aGlzLT53aWRnZXRzOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0V2lkZ2V0KCRuYW1lKQoJewoJCWlmIChpc3NldCgkdGhpcy0+d2lkZ2V0c1skbmFtZV0pKQoJCXsKCQkJcmV0dXJuICR0aGlzLT53aWRnZXRzWyRuYW1lXTsKCQl9CgkJZWxzZWlmIChpc3NldCgkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdKSkKCQl7CgkJCXJldHVybiAkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gbnVsbDsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzaG93V2lkZ2V0cygkdGVtcGxhdGU9bnVsbCkKCXsKCQkkaHRtbCA9ICcnOwoJCWZvcmVhY2goJHRoaXMtPndpZGdldHMgYXMgJHdpZGdldCkKCQl7CgkJCWlmICghaXNfbnVsbCgkdGVtcGxhdGUpKQoJCQl7CgkJCQkkdGV4dCA9IHN0cl9yZXBsYWNlKCclTEFCRUwlJywgJHdpZGdldC0+Z2V0TGFiZWwoKSwgJHRlbXBsYXRlKTsKCQkJCSR0ZXh0ID0gc3RyX3JlcGxhY2UoJyVJTlBVVCUnLCAkd2lkZ2V0LT5nZXRJbnB1dCgpLCAkdGV4dCk7CgkJCQkkdGV4dCA9IHN0cl9yZXBsYWNlKCclRVJST1JTJScsICR3aWRnZXQtPnNob3dFcnJvcnMoKSwgJHRleHQpOwoJCQkJJGh0bWwgLj0gJHRleHQ7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkaHRtbCAuPSAkd2lkZ2V0OwkJCQkKCQkJfQoJCX0KCQlyZXR1cm4gJGh0bWw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBub0Vycm9yKCkKCXsKCQlpZiAoY291bnQoJHRoaXMtPmZvcm1fZXJyb3JzKSA9PSAwKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpCgl7CgkJcmV0dXJuICR0aGlzLT5mb3JtX2Vycm9yczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNob3dFcnJvcnMoKQoJewoJCSRodG1sID0gJyc7CgkJaWYoY291bnQoJHRoaXMtPmZvcm1fZXJyb3JzKSA+IDApCgkJewoJCQkkaHRtbCAuPSAnPHVsIGNsYXNzPSJlcnJvcnMiPic7CgkJCWZvcmVhY2goJHRoaXMtPmZvcm1fZXJyb3JzIGFzICRwcmlvcml0eSA9PiAkZXJyb3JzKQoJCQl7CgkJCQkkaHRtbCAuPSAnPGxpPjxlbT4nLiRwcmlvcml0eS4nPC9lbT48dWw+JzsKCQkJCWZvcmVhY2goJGVycm9ycyBhcyAkZXJyb3IpCgkJCQl7CgkJCQkJJGh0bWwgLj0gJzxsaT4nLiRlcnJvci4nPC9saT4nOwoJCQkJfQkJCQkKCQkJCSRodG1sIC49ICc8L3VsPjwvbGk+JzsKCQkJfQoJCQkkaHRtbCAuPSAnPC91bD4nOwoJCX0KCQlyZXR1cm4gJGh0bWw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvcigkbWVzc2FnZSwkcHJpb3JpdHk9J2RlZmF1bHQnKQoJewoJCSR0aGlzLT5mb3JtX2Vycm9yc1skcHJpb3JpdHldW10gPSAkbWVzc2FnZTsKCX0KfQoKY2xhc3MgalF1ZXJ5V2lkZ2V0CWV4dGVuZHMgQ21zT2JqZWN0CnsKCXByb3RlY3RlZCAkaWQ7IC8vIFRoZSBmb3JtIElECglwcm90ZWN0ZWQgJG1vZHVsZV9uYW1lOwoJcHJvdGVjdGVkICRuYW1lOyAvLyBUaGUgaW5wdXQgbmFtZQoJcHJvdGVjdGVkICR0eXBlOwoJcHJvdGVjdGVkICRpbnB1dDsKCXByb3RlY3RlZCAkdmFsdWVzID0gYXJyYXkoKTsKCXByb3RlY3RlZCAkc2V0dGluZ3MgPSBhcnJheSgpOwoJcHJvdGVjdGVkICRmb3JtX2Vycm9yczsKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpZCwgJG1vZHVsZV9uYW1lLCAkbmFtZSwgJHR5cGUsJHNldHRpbmdzPWFycmF5KCkpCgl7CgkJJHRoaXMtPmlkID0gJGlkOwoJCSR0aGlzLT5tb2R1bGVfbmFtZSA9ICRtb2R1bGVfbmFtZTsKCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJCSR0aGlzLT50eXBlID0gJHR5cGU7CgkJJHRoaXMtPnNldHRpbmdzID0gJHNldHRpbmdzOwoJCSR0aGlzLT5pbml0VmFsdWVzKCk7CgkJaWYoCgkJCShpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSkKCQkJfHwKCQkJKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddKSkKCQkpCgkJewoJCQkkdGhpcy0+c2F2ZVZhbHVlcygpOwoJCX0KCX0KCQkKCXB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKCXsKCQlpZiAoJHRoaXMtPnR5cGUgPT0gJ2hpZGRlbicpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmdldElucHV0KCk7CgkJfQoJCWVsc2UKCQl7CgkJCSRodG1sID0gJwoJCQk8ZGl2IGNsYXNzPSJmb3JtX3dpZGdldCI+CgkJCQk8ZGl2IGNsYXNzPSJmb3JtX2xhYmVsIj48bGFiZWwgZm9yPSInLiR0aGlzLT5pZC4kdGhpcy0+bmFtZS4nIj4nLiR0aGlzLT5nZXRMYWJlbCgpLic8L2xhYmVsPjwvZGl2Pic7CQkJCQkJCgkJCWlmIChjb3VudCgkdGhpcy0+ZXJyb3JzKSkKCQkJewoJCQkkaHRtbCAuPSAnPGRpdiBjbGFzcz0iZm9ybV9lcnJvcnMiPicgLiAkdGhpcy0+c2hvd0Vycm9ycygpIC4gJzwvZGl2Pic7CgkJCX0JCQkJCgkJCSRodG1sIC49ICcKCQkJCTxkaXYgY2xhc3M9ImZvcm1faW5wdXQiPicuJHRoaXMtPmdldElucHV0KCkuJzwvZGl2PgoJCQk8L2Rpdj4nOwoJCQlyZXR1cm4gJGh0bWw7CgkJfQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gaW5pdFZhbHVlcygpCgl7CgkJc3dpdGNoKCR0aGlzLT50eXBlKQoJCXsKCQkJY2FzZSAnY2hlY2tib3gnOgoJCQkJaWYoCgkJCQkJIWlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJHRoaXMtPm5hbWVdKQoJCQkJCSYmCgkJCQkJKAoJCQkJCQlpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLidzdWJtaXQnXSkKCQkJCQkJfHwKCQkJCQkJaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nYXBwbHknXSkKCQkJCQkpCgkJCQkJCgkJCQkpCgkJCQl7CgkJCQkJLy8gQ2FzZSB3aGVuIGNoZWNrYm94IGlzIHVuY2hlY2tlZCBhbmQgZm9ybSBpcyBzdWJtaXR0ZWQsIHdlIHNob3VsZCBlbXB0eSB0aGUgdmFsdWUKCQkJCQkkdGhpcy0+dmFsdWVzW109YXJyYXkoKTsKCQkJCQlicmVhazsKCQkJCX0KCQkJZGVmYXVsdDoKCQkJCWlmIChpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLiR0aGlzLT5uYW1lXSkpCgkJCQl7CgkJCQkJJHZhbHVlcyA9ICRfUkVRVUVTVFskdGhpcy0+aWQuJHRoaXMtPm5hbWVdOwoJCQkJfQoJCQkJZWxzZWlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sndmFsdWUnXSkpCgkJCQl7CgkJCQkJJHZhbHVlcyA9ICR0aGlzLT5zZXR0aW5nc1sndmFsdWUnXTsKCQkJCX0KCQkJCWVsc2VpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSAmJiAhaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nc3VibWl0J10pICYmICFpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLidhcHBseSddKSkKCQkJCXsKCQkJCQkkdmFsdWVzID0gJHRoaXMtPmZldGNoVmFsdWVzKCk7CgkJCQl9CgkJCQllbHNlaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10pKQoJCQkJewoJCQkJCWdsb2JhbCAkZ0NtczsKCQkJCQkkdmFsdWVzID0gZXhwbG9kZSgnfCcsJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPmdldFByZWZlcmVuY2UoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10pKTsKCQkJCX0KCQkJCWVsc2VpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2RlZmF1bHRfdmFsdWUnXSkpCgkJCQl7CgkJCQkJJHZhbHVlcyA9ICR0aGlzLT5zZXR0aW5nc1snZGVmYXVsdF92YWx1ZSddOwoJCQkJfQoJCQkJCgkJCQlpZiAoIWVtcHR5KCR2YWx1ZXMpKQoJCQkJewoJCQkJCWlmIChpc19hcnJheSgkdmFsdWVzKSkgCgkJCQkJewoJCQkJCQkkdGhpcy0+dmFsdWVzID0gJHZhbHVlczsKCQkJCQl9CQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJJHRoaXMtPnZhbHVlc1tdID0gJHZhbHVlczsKCQkJCQl9CgkJCQl9CgkJCQlicmVhazsKCQl9CgkJCgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBzYXZlVmFsdWVzKCkKCXsKCQlpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSAmJiBpc19vYmplY3QoJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXSkpCgkJewoJCQkvLyBUaGlzIGRvIG5vdCBzYXZlIHRoZSBvYmplY3Qgc3RhdGUsIHNvIHdlIGhhdmUgdG8gZG8gaXQgb3V0c2lkZSB0aGUgZm9ybQoJCQlpZihtZXRob2RfZXhpc3RzKCR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10sICdzZXQnKSkKCQkJewoJCQkJaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddKSkKCQkJCXsKCQkJCQkkbmFtZSA9ICR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRuYW1lID0gJHRoaXMtPm5hbWU7CgkJCQl9CgkJCQkkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddLT5zZXQoJG5hbWUsIGltcGxvZGUoJywnLCAkdGhpcy0+dmFsdWVzKSk7CgkJCX0KCQl9CgkJCgkJaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10pICYmICFpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLidjYW5jZWwnXSkpCgkJewoJCQkvLyBDaGVjayBpZiB0aGVyZSBpcyBubyBjYW5jZWwgYnV0dG9uIGZpcnN0IGJlY2F1c2Ugd2Ugc2F2ZSB0aGUgdmFsdWUgZGlyZWN0bHkgIQoJCQlnbG9iYWwgJGdDbXM7CgkJCSRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddLT5zZXRQcmVmZXJlbmNlKCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddLCBpbXBsb2RlKCd8JywgJHRoaXMtPnZhbHVlcykpOwoJCX0KCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIGZldGNoVmFsdWVzKCkKCXsKCQlpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSAmJiBpc19vYmplY3QoJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXSkpCgkJewoJCQlpZihtZXRob2RfZXhpc3RzKCR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10sICdnZXQnKSkKCQkJewoJCQkJaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddKSkKCQkJCXsKCQkJCQkkbmFtZSA9ICR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRuYW1lID0gJHRoaXMtPm5hbWU7CgkJCQl9CgkJCQkkdmFsdWVzID0gZXhwbG9kZSgnLCcsJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXS0+Z2V0KCRuYW1lKSk7CgkJCQlyZXR1cm4gJHZhbHVlczsKCQkJfQoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNldFZhbHVlcygkdmFsdWVzKQoJewoJCWlmIChpc19hcnJheSgkdmFsdWVzKSkKCQl7CgkJCSR0aGlzLT52YWx1ZXMgPSAkdmFsdWVzOwoJCX0KCQllbHNlCgkJewoJCQkkdGhpcy0+dmFsdWVzID0gYXJyYXkoJHZhbHVlcyk7CgkJfQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0VmFsdWVzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPnZhbHVlczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpCgl7CgkJcmV0dXJuICR0aGlzLT5lcnJvcnM7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzaG93RXJyb3JzKCkKCXsKCQkkaHRtbCA9ICcnOwoJCWlmIChjb3VudCgkdGhpcy0+ZXJyb3JzKSkKCQl7CgkJCSRodG1sIC49ICc8dWw+JzsKCQkJZm9yZWFjaCgkdGhpcy0+ZXJyb3JzIGFzICRrZXkgPT4gJHZhbHVlKQoJCQl7CgkJCQkkaHRtbCAuPSAnPGxpPjxzdHJvbmc+Jy4ka2V5Lic6PC9zdHJvbmc+ICcuJHZhbHVlLic8L2xpPic7CgkJCX0KCQkJJGh0bWwgLj0gJzwvdWw+JzsKCQl9CgkJcmV0dXJuICRodG1sOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0SW5wdXQoKQoJewkKCQlpZiAoIWVtcHR5KCR0aGlzLT5pbnB1dCkpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmlucHV0OwoJCX0KCQkKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGlzc2V0KCRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddKSkKCQl7CgkJCXN3aXRjaCgkdGhpcy0+dHlwZSkKCQkJewoJCQkJY2FzZSAndGV4dCc6CgkJCQkJcmV0dXJuICRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddLT5DcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAkdGhpcy0+bmFtZSwgaW1wbG9kZSgnLCcsJHRoaXMtPnZhbHVlcyksIGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snc2l6ZSddKT8kdGhpcy0+c2V0dGluZ3NbJ3NpemUnXTo4MCk7CQkJCQoJCQkJY2FzZSAnaGlkZGVuJzoKCQkJCQlyZXR1cm4gJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPkNyZWF0ZUlucHV0SGlkZGVuKCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsIGltcGxvZGUoJywnLCR0aGlzLT52YWx1ZXMpKTsKCQkJCWNhc2UgJ3NlbGVjdCc6CgkJCQkJcmV0dXJuIHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3ZhbHVlcyddKT8kdGhpcy0+c2V0dGluZ3NbJ3ZhbHVlcyddOmFycmF5KCksICR0aGlzLT52YWx1ZXMsIDEsICcnLCBmYWxzZSk7CgkJCQljYXNlICdjaGVja2JveCc6CgkJCQkJcmV0dXJuICRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddLT5DcmVhdGVJbnB1dENoZWNrYm94KCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsICcxJywgaW1wbG9kZSgnLCcsJHRoaXMtPnZhbHVlcykpOwoJCQkJY2FzZSAndGV4dGFyZWEnOgoJCQkJCWlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3Nob3dfd3lzaXd5ZyddKSAmJiAkdGhpcy0+c2V0dGluZ3NbJ3Nob3dfd3lzaXd5ZyddID09IHRydWUpCgkJCQkJewoJCQkJCQlyZXR1cm4gJGdDbXMtPm1vZHVsZXNbJHRoaXMtPm1vZHVsZV9uYW1lXVsnb2JqZWN0J10tPkNyZWF0ZVRleHRBcmVhKHRydWUsICR0aGlzLT5pZCwgaW1wbG9kZSgnLCcsJHRoaXMtPnZhbHVlcyksICR0aGlzLT5uYW1lKTsJCQkJCQkKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJcmV0dXJuICRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJHRoaXMtPmlkLCBpbXBsb2RlKCcsJywkdGhpcy0+dmFsdWVzKSwgJHRoaXMtPm5hbWUpOwoJCQkJCX0KCQkJCWNhc2UgJ3RpbWUnOgoJCQkJCXJldHVybiBzZWxmOjpDcmVhdGVUaW1lU2VsZWN0KCR0aGlzLT5pZCwkdGhpcy0+bmFtZSwkdGhpcy0+dmFsdWVzKTsKCQkJCWNhc2UgJ2RhdGUnOgoJCQkJCXJldHVybiBzZWxmOjpDcmVhdGVEYXRlU2VsZWN0KCR0aGlzLT5pZCwkdGhpcy0+bmFtZSwkdGhpcy0+dmFsdWVzLCAkdGhpcy0+c2V0dGluZ3MpOwoJCQkJZGVmYXVsdDoKCQkJCQlyZXR1cm4gbnVsbDsKCQkJfQoJCX0KCQlyZXR1cm4gbnVsbDsKCQkKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldExhYmVsKCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGlzc2V0KCRnQ21zLT5tb2R1bGVzWyR0aGlzLT5tb2R1bGVfbmFtZV1bJ29iamVjdCddKSkKCQl7CgkJCXJldHVybiAkZ0Ntcy0+bW9kdWxlc1skdGhpcy0+bW9kdWxlX25hbWVdWydvYmplY3QnXS0+bGFuZygnZm9ybV8nLiR0aGlzLT5uYW1lKTsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgkKCS8vIFRvb2xzCgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlRGF0ZVNlbGVjdCgkaWQsJG5hbWUsJHZhbHVlcywkc2V0dGluZ3MpCgl7CgkJJHN0YXJ0X3llYXIgPSBpc3NldCgkc2V0dGluZ3NbJ3N0YXJ0X3llYXInXSk/JHNldHRpbmdzWydzdGFydF95ZWFyJ106ZGF0ZSgnWScpOwoJCSRudW1iZXJfeWVhcnMgPSBpc3NldCgkc2V0dGluZ3NbJ251bWJlcl95ZWFycyddKT8kc2V0dGluZ3NbJ251bWJlcl95ZWFycyddOjIwOwoJCSRlbmRfeWVhciA9ICRzdGFydF95ZWFyICsgJG51bWJlcl95ZWFyczsKCQkKCQkkeWVhciA9IHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJG5hbWUuJ1swXScsc2VsZjo6Q3JlYXRlTnVtYmVyTGlzdCgkZW5kX3llYXIsJHN0YXJ0X3llYXIpLGFycmF5KCR2YWx1ZXNbMF0pLDEsJycsZmFsc2UpOwoJCSRtb250aCA9IHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJG5hbWUuJ1sxXScsc2VsZjo6Q3JlYXRlTnVtYmVyTGlzdCgxMiwxKSxhcnJheSgkdmFsdWVzWzFdKSwxLCcnLGZhbHNlKTsKCQkkZGF5ID0gc2VsZjo6Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwkbmFtZS4nWzJdJyxzZWxmOjpDcmVhdGVOdW1iZXJMaXN0KDMxLDEpLGFycmF5KCR2YWx1ZXNbMl0pLDEsJycsZmFsc2UpOwoJCXJldHVybiAkeWVhciAuICcgLyAnIC4gJG1vbnRoIC4gJyAvICcgLiAkZGF5OwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZVRpbWVTZWxlY3QoJGlkLCRuYW1lLCR2YWx1ZXMpCgl7CgkJJGhvdXJzID0gc2VsZjo6Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwkbmFtZS4nWzBdJyxzZWxmOjpDcmVhdGVOdW1iZXJMaXN0KDIzKSxhcnJheSgkdmFsdWVzWzBdKSwxLCcnLGZhbHNlKTsKCQkkbWludXRlcyA9IHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJG5hbWUuJ1sxXScsc2VsZjo6Q3JlYXRlTnVtYmVyTGlzdCg1OSksYXJyYXkoJHZhbHVlc1sxXSksMSwnJyxmYWxzZSk7CgkJJHNlY29uZHMgPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMl0nLHNlbGY6OkNyZWF0ZU51bWJlckxpc3QoNTkpLGFycmF5KCR2YWx1ZXNbMl0pLDEsJycsZmFsc2UpOwoJCXJldHVybiAkaG91cnMgLiAnIDogJyAuICRtaW51dGVzIC4gJyA6ICcgLiAkc2Vjb25kczsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZU51bWJlckxpc3QoJGVuZCwgJHN0YXJ0PTApCgl7CgkJaWYgKCgkZW5kIDwgMCl8fCghaXNfbnVtZXJpYygkZW5kKSkpICRlbmQgPSAxOwoJCSRsaXN0ID0gYXJyYXkoKTsKCQlmb3IgKCRpID0gJHN0YXJ0OyAkaSA8PSAkZW5kOyAkaSsrKQoJCXsKCQkJJGxpc3RbJGldID0gKHN0cmluZykkaTsKCQl9CgkJcmV0dXJuICRsaXN0OwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICRuYW1lLCAkaXRlbXMsICRzZWxlY3RlZGl0ZW1zPWFycmF5KCksICRzaXplPTMsICRhZGR0dGV4dD0nJywgJG11bHRpcGxlID0gdHJ1ZSkKCXsKCSAgJGlkID0gY21zX2h0bWxlbnRpdGllcygkaWQpOwoJICAkbmFtZSA9IGNtc19odG1sZW50aXRpZXMoJG5hbWUpOwoJICAkc2l6ZSA9IGNtc19odG1sZW50aXRpZXMoJHNpemUpOwoJICAkbXVsdGlwbGUgPSBjbXNfaHRtbGVudGl0aWVzKCRtdWx0aXBsZSk7CgkKCQkkdGV4dCA9ICc8c2VsZWN0IG5hbWU9IicuJGlkLiRuYW1lLiciJzsKCQlpZiAoJGFkZHR0ZXh0ICE9ICcnKQoJCXsKCQkJJHRleHQgLj0gJyAnIC4gJGFkZHR0ZXh0OwoJCX0KCQlpZiggJG11bHRpcGxlICkKCQkgIHsKCQkJJHRleHQgLj0gJyBtdWx0aXBsZT0ibXVsdGlwbGUiICc7CgkJICB9CgkJICAKCQkgIGlmICgkc2l6ZSA+IDEpCgkJICB7CgkJICAJJHRleHQgLj0gJyBzaXplPSInLiRzaXplLiciJzsKCQkgIH0KCQkKCQkkdGV4dCAuPSAnPic7CgkJCgkJJGNvdW50ID0gMDsKCQlmb3JlYWNoICgkaXRlbXMgYXMgJGtleT0+JHZhbHVlKQoJCXsKCQkgICR2YWx1ZSA9IGNtc19odG1sZW50aXRpZXMoJHZhbHVlKTsKCQoJCQkkdGV4dCAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4ka2V5LiciJzsKCQkJaWYgKGluX2FycmF5KCRrZXksICRzZWxlY3RlZGl0ZW1zKSkKCQkJewoJCQkJJHRleHQgLj0gJyAnIC4gJ3NlbGVjdGVkPSJzZWxlY3RlZCInOwoJCQl9CgkJCSR0ZXh0IC49ICc+JzsKCQkJJHRleHQgLj0gJHZhbHVlOwoJCQkkdGV4dCAuPSAnPC9vcHRpb24+JzsKCQkJJGNvdW50Kys7CgkJfQoJCSR0ZXh0IC49ICc8L3NlbGVjdD4nLiJcbiI7CgkKCQlyZXR1cm4gJHRleHQ7Cgl9CgkKCWZ1bmN0aW9uIHRlbXAoKQoJewoJCSR3aWRnZXRbJ2xhYmVsJ10gPSAkdGhpcy0+bGFuZygnZm9ybV8nLiRuYW1lKTsKCQkkd2lkZ2V0Wyd2YWx1ZSddID0gJyc7CgkJCgkJc3dpdGNoKCR0eXBlKQoJCXsKCQkJY2FzZSAndGV4dCc6CgkJCQkkd2lkZ2V0Wyd2YWx1ZSddID0gaXNzZXQoJHBhcmFtc1skbmFtZV0pPyRwYXJhbXNbJG5hbWVdOmlzc2V0KCRzZXR0aW5nc1snZGVmYXVsdF92YWx1ZSddKT8kc2V0dGluZ3NbJ2RlZmF1bHRfdmFsdWUnXTonJzsKCQkJCSR3aWRnZXRbJ2lucHV0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRmb3JtX2lkLCAkbmFtZSwgJHdpZGdldFsndmFsdWUnXSwgaXNzZXQoJHNldHRpbmdzWydzaXplJ10pPyRzZXR0aW5nc1snc2l6ZSddOjgwKTsKCQkJCWJyZWFrOwoJCX0KCQkKCQkkZm9ybVskbmFtZV0gPSAkd2lkZ2V0OwoJCXJldHVybiAkZm9ybTsKCX0KCQp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/libraries/classes/jQueryScript.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJICogalF1ZXJ5IENvZGUKCSAqIENvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bQoJICogVW5kZXIgR1BMIExpY2VuY2UKCSAqLwoJCgljbGFzcyBqUXVlcnlTY3JpcHQgZXh0ZW5kcyBDbXNPYmplY3QKCXsKCQlwcm90ZWN0ZWQgJGlkOwoJCXByb3RlY3RlZCAkcG9zaXRpb247CgkJcHJvdGVjdGVkICRuYW1lOwoJCXByb3RlY3RlZCAkY29kZTsKCQlwcm90ZWN0ZWQgJGxvYWRfZGVmYXVsdDsKCQlwcm90ZWN0ZWQgJGluX2hlYWRlcjsKCQlwcm90ZWN0ZWQgJHJlcXVpcmVkX3BsdWdpbnM7CgkJCgkJY29uc3QgREJfTkFNRSAgPSAnbW9kdWxlX2pxdWVyeV9zY3JpcHRzJzsKCQkKCQlwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmdldE5hbWUoKTsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIGdldElkKCkKCQl7CgkJCXJldHVybiAkdGhpcy0+aWQ7CgkJfQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRJZCgkdmFsdWUpCgkJewoJCQkkdGhpcy0+aWQgPSAkdmFsdWU7CgkJfQoJCgkJcHVibGljIGZ1bmN0aW9uIGdldFBvc2l0aW9uKCkKCQl7CgkJCWlmIChpc19udWxsKCR0aGlzLT5wb3NpdGlvbikpCgkJCXsKCQkJCSR0aGlzLT5wb3NpdGlvbiA9IHNlbGY6OnJldHJpZXZlTmV4dFBvc2l0aW9uKCk7CgkJCX0KCQkJcmV0dXJuICR0aGlzLT5wb3NpdGlvbjsKCQl9CgkJCgkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXRyaWV2ZU5leHRQb3NpdGlvbigpCgkJICB7CgkJICAgICRsYXN0X3NjcmlwdCA9IHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCdvcmRlcl9ieScgPT4gYXJyYXkoJ3Bvc2l0aW9uIGRlc2MnKSkpOwoKCQkgICAgaWYgKCRsYXN0X3NjcmlwdCkKCQkgICAgewoJCSAgICAgIHJldHVybiAkbGFzdF9zY3JpcHQtPmdldFBvc2l0aW9uKCkrMTsKCQkgICAgfQoJCSAgICBlbHNlCgkJICAgIHsKCQkgICAgICByZXR1cm4gMTsKCQkgICAgfQoJCSAgfQoKCQkgIHB1YmxpYyBmdW5jdGlvbiBnZXROZXh0SXRlbSgpCgkJICB7CgkJICAgICRkb2N1bWVudCA9ICBzZWxmOjpkb1NlbGVjdE9uZShhcnJheSgnd2hlcmUnID0+IGFycmF5KCdwb3NpdGlvbicgPT4gJHRoaXMtPnBvc2l0aW9uKzEpKSk7CgoJCSAgICBpZiAoJGRvY3VtZW50KQoJCSAgICB7CgkJICAgICAgcmV0dXJuICRkb2N1bWVudDsKCQkgICAgfQoJCSAgICBlbHNlIAoJCSAgICB7CgkJICAgICAgcmV0dXJuIGZhbHNlOwoJCSAgICB9CgkJICAgfQoKCQkgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcmV2aW91c0l0ZW0oKQoJCSAgewoJCSAgICAkZG9jdW1lbnQgPSAgc2VsZjo6ZG9TZWxlY3RPbmUoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgncG9zaXRpb24nID0+ICR0aGlzLT5wb3NpdGlvbi0xKSkpOwoKCQkgICAgaWYgKCRkb2N1bWVudCkKCQkgICAgewoJCSAgICAgIHJldHVybiAkZG9jdW1lbnQ7CgkJICAgIH0KCQkgICAgZWxzZSAKCQkgICAgewoJCSAgICAgIHJldHVybiBmYWxzZTsKCQkgICAgfQoJCSAgIH0KCgkJICAgcHVibGljIGZ1bmN0aW9uIG1vdmVVcCgpCgkJICAgewoJCSAgICAkdGhpcy0+c3dpdGNoUG9zaXRpb24oJHRoaXMtPmdldFByZXZpb3VzSXRlbSgpKTsKCQkgICB9CgoJCSAgIHB1YmxpYyBmdW5jdGlvbiBtb3ZlRG93bigpCgkJICAgewoJCSAgICAkdGhpcy0+c3dpdGNoUG9zaXRpb24oJHRoaXMtPmdldE5leHRJdGVtKCkpOwoJCSAgIH0KCgkJICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHN3aXRjaFBvc2l0aW9uKCRpdGVtKQoJCSAgIHsKCQkgICAgICBpZigkaXRlbSkKCQkgICAgICB7CgkJICAgICAgICAkY3VycmVudF9wb3NpdGlvbiA9ICR0aGlzLT5nZXRQb3NpdGlvbigpOwoJCSAgICAgICAgJHRoaXMtPnNldFBvc2l0aW9uKCRpdGVtLT5nZXRQb3NpdGlvbigpKTsKCQkgICAgICAgICRpdGVtLT5zZXRQb3NpdGlvbigkY3VycmVudF9wb3NpdGlvbik7CgkJICAgICAgICAkdGhpcy0+c2F2ZSgpOwoJCSAgICAgICAgJGl0ZW0tPnNhdmUoKTsKCQkgICAgICB9CgkJICAgfQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRQb3NpdGlvbigkdmFsdWUpCgkJewoJCQkkdGhpcy0+cG9zaXRpb24gPSAkdmFsdWU7CgkJfQoJCgkJcHVibGljIGZ1bmN0aW9uIGdldE5hbWUoKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5uYW1lOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gc2V0TmFtZSgkdmFsdWUpCgkJewoJCQkkdGhpcy0+bmFtZSA9ICR2YWx1ZTsKCQl9CgkKCQlwdWJsaWMgZnVuY3Rpb24gZ2V0Q29kZSgpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmNvZGU7CgkJfQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRDb2RlKCR2YWx1ZSkKCQl7CgkJCSR0aGlzLT5jb2RlID0gJHZhbHVlOwoJCX0KCQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRMb2FkRGVmYXVsdCgpCgkJewoJCQlyZXR1cm4gKGludCkgJHRoaXMtPmxvYWRfZGVmYXVsdDsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIHNldExvYWREZWZhdWx0KCR2YWx1ZSkKCQl7CgkJCSR0aGlzLT5sb2FkX2RlZmF1bHQgPSAkdmFsdWU7CgkJfQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRJbkhlYWRlcigpCgkJewoJCQlyZXR1cm4gKGludCkgJHRoaXMtPmluX2hlYWRlcjsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIHNldEluSGVhZGVyKCR2YWx1ZSkKCQl7CgkJCSR0aGlzLT5pbl9oZWFkZXIgPSAkdmFsdWU7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1aXJlZFBsdWdpbnMoKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5yZXF1aXJlZF9wbHVnaW5zOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gc2V0UmVxdWlyZWRQbHVnaW5zKCR2YWx1ZSkKCQl7CgkJCSR0aGlzLT5yZXF1aXJlZF9wbHVnaW5zID0gJHZhbHVlOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gc2V0KCRuYW1lLCAkdmFsdWUpCgkJewoJCQkkdGhpcy0+JG5hbWUgPSAkdmFsdWU7CgkJfQkKCQkKCQlwdWJsaWMgZnVuY3Rpb24gZ2V0KCRuYW1lKQoJCXsKCQkJcmV0dXJuICR0aGlzLT4kbmFtZTsKCQl9CgkKCSAgLy8gREIKCQoJIAlwdWJsaWMgZnVuY3Rpb24gUG9wdWxhdGVGcm9tRGIoJHJvdykKCQl7CgkJICAkdGhpcy0+aWQgPSAkcm93WydpZCddOwoJCSAgJHRoaXMtPnBvc2l0aW9uID0gJHJvd1sncG9zaXRpb24nXTsKICAJCSAgJHRoaXMtPm5hbWUgPSAkcm93WyduYW1lJ107CiAgCQkgICR0aGlzLT5jb2RlID0gJHJvd1snY29kZSddOwogIAkJICAkdGhpcy0+bG9hZF9kZWZhdWx0ID0gJHJvd1snbG9hZF9kZWZhdWx0J107CiAgCQkgICR0aGlzLT5pbl9oZWFkZXIgPSAkcm93Wydpbl9oZWFkZXInXTsKICAJCSAgJHRoaXMtPnJlcXVpcmVkX3BsdWdpbnMgPSAkcm93WydyZXF1aXJlZF9wbHVnaW5zJ107CgkJfQoJCgkJcHVibGljIGZ1bmN0aW9uIHNhdmUoKQoJICB7CgkgICAgLy8gVXBncmFkZSBvciBJbnNlcnQgPwoJICAgIGlmICghZW1wdHkoJHRoaXMtPmlkKSkKCSAgICB7CgkgICAgICAkdGhpcy0+dXBkYXRlKCk7CgkgICAgfQoJICAgIGVsc2UKCSAgICB7ICAgICAKCSAgICAgICR0aGlzLT5pbnNlcnQoKTsKCSAgICB9ICAgCgoJICB9CgkJCglwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlKCkKCXsKICAgIAkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkKCSAgICAkcXVlcnkgPSAnVVBEQVRFICAnIC4gY21zX2RiX3ByZWZpeCgpIC4gIHNlbGY6OkRCX05BTUUgLiAnIAoKCSAgICAgIFNFVCAnOwoKCSAgICAgICRxdWVyeSAuPSAnIHBvc2l0aW9uID0gPywgbmFtZSA9ID8sIGNvZGUgPSA/LCBsb2FkX2RlZmF1bHQgPSA/LCBpbl9oZWFkZXIgPSA/LCByZXF1aXJlZF9wbHVnaW5zID0gPyc7CgoJICAgICAgJHF1ZXJ5IC49ICcKCgkgICAgICBXSEVSRQoKCSAgICAgIGlkID0gPyAgJzsKCgoJICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkgICAgICAgICAgYXJyYXkoCgkgICAgICAgICAgICAgJHRoaXMtPmdldFBvc2l0aW9uKCksIAoJICAgICAgICAgICAgICR0aGlzLT5nZXROYW1lKCksIAoJICAgICAgICAgICAgICR0aGlzLT5nZXRDb2RlKCksIAoJICAgICAgICAgICAgICR0aGlzLT5nZXRMb2FkRGVmYXVsdCgpLCAKCSAgICAgICAgICAgICAkdGhpcy0+Z2V0SW5IZWFkZXIoKSwgCgkgICAgICAgICAgICAgJHRoaXMtPmdldFJlcXVpcmVkUGx1Z2lucygpLCAKCQoJICAgICAgICAgICAgICR0aGlzLT5nZXRJZCgpCgkgICAgICAgICAgKQoJICAgICAgICApOyAgICAgICAgCgkKCSAgICAgICAgLy9yZXR1cm4gdHJ1ZTsKCSAgfQoKCQlwcm90ZWN0ZWQgZnVuY3Rpb24gaW5zZXJ0KCkKCSAgCXsKCSAgICAJJGRiID0mICR0aGlzLT5HZXREYigpOwoKCSAgICAJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAgc2VsZjo6REJfTkFNRSAuICAnIAoKCSAgICAgIAlTRVQgJzsKCQkJJHF1ZXJ5IC49ICcgcG9zaXRpb24gPSA/LCBuYW1lID0gPywgY29kZSA9ID8sIGxvYWRfZGVmYXVsdCA9ID8sIGluX2hlYWRlciA9ID8sIHJlcXVpcmVkX3BsdWdpbnMgPSA/JzsKCQkKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwKCSAgICAgICAgICBhcnJheSgKCSAgICAgICAgICAgICAkdGhpcy0+Z2V0UG9zaXRpb24oKSwgCgkgICAgICAgICAgICAgJHRoaXMtPmdldE5hbWUoKSwgCgkgICAgICAgICAgICAgJHRoaXMtPmdldENvZGUoKSwgCgkgICAgICAgICAgICAgJHRoaXMtPmdldExvYWREZWZhdWx0KCksIAoJICAgICAgICAgICAgICR0aGlzLT5nZXRJbkhlYWRlcigpLCAKCSAgICAgICAgICAgICAkdGhpcy0+Z2V0UmVxdWlyZWRQbHVnaW5zKCkKCSAgICAgICAgICApCgkgICAgICAgICk7CgoJCQkkdGhpcy0+c2V0SWQoJGRiLT5JbnNlcnRfSUQoKSk7CgkgICAgCXJldHVybiB0cnVlOyAgICAKCSAgCX0KCgkJcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXRyaWV2ZUJ5UGsoJGlkKQoJICAJewoJICAgIAlyZXR1cm4gc2VsZjo6ZG9TZWxlY3RPbmUoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnaWQnID0+ICRpZCkpKTsgICAgCgkgIAl9CgoJICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQoJICB7CgkgICAgJGl0ZW1zID0gc2VsZjo6ZG9TZWxlY3QoJHBhcmFtcyk7CgkgICAgaWYgKCFlbXB0eSgkaXRlbXMpKQoJICAgIHsKCQkJCS8vJGl0ZW1zID0gYXJyYXlfdmFsdWVzKCRpdGVtcyk7CgkgICAgICByZXR1cm4gJGl0ZW1zWzBdOwoJICAgIH0KCSAgICBlbHNlIAoJICAgIHsKCSAgICAgIHJldHVybiBudWxsOwoJICAgIH0gICAKCSAgfQoKCSAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdCgkcGFyYW1zID0gYXJyYXkoKSkKCSAgewoJCSRkYnJlc3VsdCA9IHNlbGY6OmV4ZWN1dGVRdWVyeShzZWxmOjpEQl9OQU1FLCAkcGFyYW1zKTsKCSAgICAkaXRlbXMgPSBhcnJheSgpOwoJICAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkKCSAgICB7CgkgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgICAgICB7CgkgICAgICAgICRpdGVtID0gbmV3IHNlbGYoKTsKCSAgICAgICAgJGl0ZW0tPlBvcHVsYXRlRnJvbURiKCRyb3cpOwoJICAgICAgICAkaXRlbXNbXSA9ICRpdGVtOwoJICAgICAgfQoJICAgIH0KCgkgICAgcmV0dXJuICAkaXRlbXM7ICAgCgkgIH0KCQkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZXhlY3V0ZVF1ZXJ5KCRkYl9uYW1lLCAkcGFyYW1zID0gYXJyYXkoKSkKCXsKCQkkaW5zdGFuY2UgPSBuZXcgc2VsZigpOwoKCQkkZGIgPSYgJGluc3RhbmNlLT5HZXREYigpOwoKCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJGRiX25hbWU7CgoJCSR2YWx1ZXMgPSBhcnJheSgpOwoKCQlpZiAoaXNzZXQoJHBhcmFtc1snd2hlcmUnXSkpCgkJewoKCQkgICRmaWVsZHMgPSBhcnJheSgpOwoJCSAgZm9yZWFjaCAoJHBhcmFtc1snd2hlcmUnXSBhcyAkZmllbGQgPT4gJHZhbHVlKSAKCQkgIHsKCQkgICAgJGZpZWxkc1tdID0gJGZpZWxkIC4gJyA9ICA/JzsKCQkgICAgJHZhbHVlc1tdID0gJHZhbHVlOwoJCSAgfQoKCQkgICRxdWVyeSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICRmaWVsZHMpOwoJCX0gCgoJCWlmKGlzc2V0KCRwYXJhbXNbJ29yZGVyX2J5J10pKQoJCXsKCQkgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJyAsICRwYXJhbXNbJ29yZGVyX2J5J10pOwoJCX0KCQllbHNlCgkJewoJCSAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgcG9zaXRpb24nOwoJCX0KCgkJcmV0dXJuICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwkJCgl9CgoJICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkKCSAgeyAgIAoJICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy4gY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRTsKCSAgICAkcXVlcnkgLj0gJyBXSEVSRSBpZCA9ID8nOwoJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5pZCkpOyAgIAoJICB9CgoJfQ==]]></data>
	</file>
	<file>
	  <filename>/libraries/jquery-1.4.2/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/jquery-1.4.2/jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjEuNC4yCiAqIGh0dHA6Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMCwgSm9obiBSZXNpZwogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBJbmNsdWRlcyBTaXp6bGUuanMKICogaHR0cDovL3NpenpsZWpzLmNvbS8KICogQ29weXJpZ2h0IDIwMTAsIFRoZSBEb2pvIEZvdW5kYXRpb24KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2VzLgogKgogKiBEYXRlOiBTYXQgRmViIDEzIDIyOjMzOjQ4IDIwMTAgLTA1MDAKICovCihmdW5jdGlvbihBLHcpe2Z1bmN0aW9uIG1hKCl7aWYoIWMuaXNSZWFkeSl7dHJ5e3MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7c2V0VGltZW91dChtYSwxKTtyZXR1cm59Yy5yZWFkeSgpfX1mdW5jdGlvbiBRYShhLGIpe2Iuc3JjP2MuYWpheCh7dXJsOmIuc3JjLGFzeW5jOmZhbHNlLGRhdGFUeXBlOiJzY3JpcHQifSk6Yy5nbG9iYWxFdmFsKGIudGV4dHx8Yi50ZXh0Q29udGVudHx8Yi5pbm5lckhUTUx8fCIiKTtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKX1mdW5jdGlvbiBYKGEsYixkLGYsZSxqKXt2YXIgaT1hLmxlbmd0aDtpZih0eXBlb2YgYj09PSJvYmplY3QiKXtmb3IodmFyIG8gaW4gYilYKGEsbyxiW29dLGYsZSxkKTtyZXR1cm4gYX1pZihkIT09dyl7Zj0haiYmZiYmYy5pc0Z1bmN0aW9uKGQpO2ZvcihvPTA7bzxpO28rKyllKGFbb10sYixmP2QuY2FsbChhW29dLG8sZShhW29dLGIpKTpkLGopO3JldHVybiBhfXJldHVybiBpPwplKGFbMF0sYik6d31mdW5jdGlvbiBKKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9ZnVuY3Rpb24gWSgpe3JldHVybiBmYWxzZX1mdW5jdGlvbiBaKCl7cmV0dXJuIHRydWV9ZnVuY3Rpb24gbmEoYSxiLGQpe2RbMF0udHlwZT1hO3JldHVybiBjLmV2ZW50LmhhbmRsZS5hcHBseShiLGQpfWZ1bmN0aW9uIG9hKGEpe3ZhciBiLGQ9W10sZj1bXSxlPWFyZ3VtZW50cyxqLGksbyxrLG4scjtpPWMuZGF0YSh0aGlzLCJldmVudHMiKTtpZighKGEubGl2ZUZpcmVkPT09dGhpc3x8IWl8fCFpLmxpdmV8fGEuYnV0dG9uJiZhLnR5cGU9PT0iY2xpY2siKSl7YS5saXZlRmlyZWQ9dGhpczt2YXIgdT1pLmxpdmUuc2xpY2UoMCk7Zm9yKGs9MDtrPHUubGVuZ3RoO2srKyl7aT11W2tdO2kub3JpZ1R5cGUucmVwbGFjZShPLCIiKT09PWEudHlwZT9mLnB1c2goaS5zZWxlY3Rvcik6dS5zcGxpY2Uoay0tLDEpfWo9YyhhLnRhcmdldCkuY2xvc2VzdChmLGEuY3VycmVudFRhcmdldCk7bj0wO2ZvcihyPQpqLmxlbmd0aDtuPHI7bisrKWZvcihrPTA7azx1Lmxlbmd0aDtrKyspe2k9dVtrXTtpZihqW25dLnNlbGVjdG9yPT09aS5zZWxlY3Rvcil7bz1qW25dLmVsZW07Zj1udWxsO2lmKGkucHJlVHlwZT09PSJtb3VzZWVudGVyInx8aS5wcmVUeXBlPT09Im1vdXNlbGVhdmUiKWY9YyhhLnJlbGF0ZWRUYXJnZXQpLmNsb3Nlc3QoaS5zZWxlY3RvcilbMF07aWYoIWZ8fGYhPT1vKWQucHVzaCh7ZWxlbTpvLGhhbmRsZU9iajppfSl9fW49MDtmb3Iocj1kLmxlbmd0aDtuPHI7bisrKXtqPWRbbl07YS5jdXJyZW50VGFyZ2V0PWouZWxlbTthLmRhdGE9ai5oYW5kbGVPYmouZGF0YTthLmhhbmRsZU9iaj1qLmhhbmRsZU9iajtpZihqLmhhbmRsZU9iai5vcmlnSGFuZGxlci5hcHBseShqLmVsZW0sZSk9PT1mYWxzZSl7Yj1mYWxzZTticmVha319cmV0dXJuIGJ9fWZ1bmN0aW9uIHBhKGEsYil7cmV0dXJuImxpdmUuIisoYSYmYSE9PSIqIj9hKyIuIjoiIikrYi5yZXBsYWNlKC9cLi9nLCJgIikucmVwbGFjZSgvIC9nLAoiJiIpfWZ1bmN0aW9uIHFhKGEpe3JldHVybiFhfHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubm9kZVR5cGU9PT0xMX1mdW5jdGlvbiByYShhLGIpe3ZhciBkPTA7Yi5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlTmFtZT09PShhW2RdJiZhW2RdLm5vZGVOYW1lKSl7dmFyIGY9Yy5kYXRhKGFbZCsrXSksZT1jLmRhdGEodGhpcyxmKTtpZihmPWYmJmYuZXZlbnRzKXtkZWxldGUgZS5oYW5kbGU7ZS5ldmVudHM9e307Zm9yKHZhciBqIGluIGYpZm9yKHZhciBpIGluIGZbal0pYy5ldmVudC5hZGQodGhpcyxqLGZbal1baV0sZltqXVtpXS5kYXRhKX19fSl9ZnVuY3Rpb24gc2EoYSxiLGQpe3ZhciBmLGUsajtiPWImJmJbMF0/YlswXS5vd25lckRvY3VtZW50fHxiWzBdOnM7aWYoYS5sZW5ndGg9PT0xJiZ0eXBlb2YgYVswXT09PSJzdHJpbmciJiZhWzBdLmxlbmd0aDw1MTImJmI9PT1zJiYhdGEudGVzdChhWzBdKSYmKGMuc3VwcG9ydC5jaGVja0Nsb25lfHwhdWEudGVzdChhWzBdKSkpe2U9CnRydWU7aWYoaj1jLmZyYWdtZW50c1thWzBdXSlpZihqIT09MSlmPWp9aWYoIWYpe2Y9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yy5jbGVhbihhLGIsZixkKX1pZihlKWMuZnJhZ21lbnRzW2FbMF1dPWo/ZjoxO3JldHVybntmcmFnbWVudDpmLGNhY2hlYWJsZTplfX1mdW5jdGlvbiBLKGEsYil7dmFyIGQ9e307Yy5lYWNoKHZhLmNvbmNhdC5hcHBseShbXSx2YS5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2RbdGhpc109YX0pO3JldHVybiBkfWZ1bmN0aW9uIHdhKGEpe3JldHVybiJzY3JvbGxUbyJpbiBhJiZhLmRvY3VtZW50P2E6YS5ub2RlVHlwZT09PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3c6ZmFsc2V9dmFyIGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGMuZm4uaW5pdChhLGIpfSxSYT1BLmpRdWVyeSxTYT1BLiQscz1BLmRvY3VtZW50LFQsVGE9L15bXjxdKig8W1x3XFddKz4pW14+XSokfF4jKFtcdy1dKykkLyxVYT0vXi5bXjojXFtcLixdKiQvLFZhPS9cUy8sCldhPS9eKFxzfFx1MDBBMCkrfChcc3xcdTAwQTApKyQvZyxYYT0vXjwoXHcrKVxzKlwvPz4oPzo8XC9cMT4pPyQvLFA9bmF2aWdhdG9yLnVzZXJBZ2VudCx4YT1mYWxzZSxRPVtdLEwsJD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGFhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYmE9QXJyYXkucHJvdG90eXBlLnB1c2gsUj1BcnJheS5wcm90b3R5cGUuc2xpY2UseWE9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y7Yy5mbj1jLnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbihhLGIpe3ZhciBkLGY7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYS5ub2RlVHlwZSl7dGhpcy5jb250ZXh0PXRoaXNbMF09YTt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKGE9PT0iYm9keSImJiFiKXt0aGlzLmNvbnRleHQ9czt0aGlzWzBdPXMuYm9keTt0aGlzLnNlbGVjdG9yPSJib2R5Ijt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT09InN0cmluZyIpaWYoKGQ9VGEuZXhlYyhhKSkmJgooZFsxXXx8IWIpKWlmKGRbMV0pe2Y9Yj9iLm93bmVyRG9jdW1lbnR8fGI6cztpZihhPVhhLmV4ZWMoYSkpaWYoYy5pc1BsYWluT2JqZWN0KGIpKXthPVtzLmNyZWF0ZUVsZW1lbnQoYVsxXSldO2MuZm4uYXR0ci5jYWxsKGEsYix0cnVlKX1lbHNlIGE9W2YuY3JlYXRlRWxlbWVudChhWzFdKV07ZWxzZXthPXNhKFtkWzFdXSxbZl0pO2E9KGEuY2FjaGVhYmxlP2EuZnJhZ21lbnQuY2xvbmVOb2RlKHRydWUpOmEuZnJhZ21lbnQpLmNoaWxkTm9kZXN9cmV0dXJuIGMubWVyZ2UodGhpcyxhKX1lbHNle2lmKGI9cy5nZXRFbGVtZW50QnlJZChkWzJdKSl7aWYoYi5pZCE9PWRbMl0pcmV0dXJuIFQuZmluZChhKTt0aGlzLmxlbmd0aD0xO3RoaXNbMF09Yn10aGlzLmNvbnRleHQ9czt0aGlzLnNlbGVjdG9yPWE7cmV0dXJuIHRoaXN9ZWxzZSBpZighYiYmL15cdyskLy50ZXN0KGEpKXt0aGlzLnNlbGVjdG9yPWE7dGhpcy5jb250ZXh0PXM7YT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO3JldHVybiBjLm1lcmdlKHRoaXMsCmEpfWVsc2UgcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxUKS5maW5kKGEpOmMoYikuZmluZChhKTtlbHNlIGlmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gVC5yZWFkeShhKTtpZihhLnNlbGVjdG9yIT09dyl7dGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yO3RoaXMuY29udGV4dD1hLmNvbnRleHR9cmV0dXJuIGMubWFrZUFycmF5KGEsdGhpcyl9LHNlbGVjdG9yOiIiLGpxdWVyeToiMS40LjIiLGxlbmd0aDowLHNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gUi5jYWxsKHRoaXMsMCl9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD90aGlzLnRvQXJyYXkoKTphPDA/dGhpcy5zbGljZShhKVswXTp0aGlzW2FdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPWMoKTtjLmlzQXJyYXkoYSk/YmEuYXBwbHkoZixhKTpjLm1lcmdlKGYsYSk7Zi5wcmV2T2JqZWN0PXRoaXM7Zi5jb250ZXh0PXRoaXMuY29udGV4dDtpZihiPT09CiJmaW5kIilmLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2VsZWN0b3I/IiAiOiIiKStkO2Vsc2UgaWYoYilmLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4iK2IrIigiK2QrIikiO3JldHVybiBmfSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGMuZWFjaCh0aGlzLGEsYil9LHJlYWR5OmZ1bmN0aW9uKGEpe2MuYmluZFJlYWR5KCk7aWYoYy5pc1JlYWR5KWEuY2FsbChzLGMpO2Vsc2UgUSYmUS5wdXNoKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXtyZXR1cm4gYT09PS0xP3RoaXMuc2xpY2UoYSk6dGhpcy5zbGljZShhLCthKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhSLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLFIuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYy5tYXAodGhpcywKZnVuY3Rpb24oYixkKXtyZXR1cm4gYS5jYWxsKGIsZCxiKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8YyhudWxsKX0scHVzaDpiYSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX07Yy5mbi5pbml0LnByb3RvdHlwZT1jLmZuO2MuZXh0ZW5kPWMuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzWzBdfHx7fSxiPTEsZD1hcmd1bWVudHMubGVuZ3RoLGY9ZmFsc2UsZSxqLGksbztpZih0eXBlb2YgYT09PSJib29sZWFuIil7Zj1hO2E9YXJndW1lbnRzWzFdfHx7fTtiPTJ9aWYodHlwZW9mIGEhPT0ib2JqZWN0IiYmIWMuaXNGdW5jdGlvbihhKSlhPXt9O2lmKGQ9PT1iKXthPXRoaXM7LS1ifWZvcig7YjxkO2IrKylpZigoZT1hcmd1bWVudHNbYl0pIT1udWxsKWZvcihqIGluIGUpe2k9YVtqXTtvPWVbal07aWYoYSE9PW8paWYoZiYmbyYmKGMuaXNQbGFpbk9iamVjdChvKXx8Yy5pc0FycmF5KG8pKSl7aT1pJiYoYy5pc1BsYWluT2JqZWN0KGkpfHwKYy5pc0FycmF5KGkpKT9pOmMuaXNBcnJheShvKT9bXTp7fTthW2pdPWMuZXh0ZW5kKGYsaSxvKX1lbHNlIGlmKG8hPT13KWFbal09b31yZXR1cm4gYX07Yy5leHRlbmQoe25vQ29uZmxpY3Q6ZnVuY3Rpb24oYSl7QS4kPVNhO2lmKGEpQS5qUXVlcnk9UmE7cmV0dXJuIGN9LGlzUmVhZHk6ZmFsc2UscmVhZHk6ZnVuY3Rpb24oKXtpZighYy5pc1JlYWR5KXtpZighcy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGMucmVhZHksMTMpO2MuaXNSZWFkeT10cnVlO2lmKFEpe2Zvcih2YXIgYSxiPTA7YT1RW2IrK107KWEuY2FsbChzLGMpO1E9bnVsbH1jLmZuLnRyaWdnZXJIYW5kbGVyJiZjKHMpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIXhhKXt4YT10cnVlO2lmKHMucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpcmV0dXJuIGMucmVhZHkoKTtpZihzLmFkZEV2ZW50TGlzdGVuZXIpe3MuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsCkwsZmFsc2UpO0EuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYy5yZWFkeSxmYWxzZSl9ZWxzZSBpZihzLmF0dGFjaEV2ZW50KXtzLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEwpO0EuYXR0YWNoRXZlbnQoIm9ubG9hZCIsYy5yZWFkeSk7dmFyIGE9ZmFsc2U7dHJ5e2E9QS5mcmFtZUVsZW1lbnQ9PW51bGx9Y2F0Y2goYil7fXMuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZhJiZtYSgpfX19LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuICQuY2FsbChhKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ9LGlzQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuICQuY2FsbChhKT09PSJbb2JqZWN0IEFycmF5XSJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oYSl7aWYoIWF8fCQuY2FsbChhKSE9PSJbb2JqZWN0IE9iamVjdF0ifHxhLm5vZGVUeXBlfHxhLnNldEludGVydmFsKXJldHVybiBmYWxzZTtpZihhLmNvbnN0cnVjdG9yJiYhYWEuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhYWEuY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKImlzUHJvdG90eXBlT2YiKSlyZXR1cm4gZmFsc2U7dmFyIGI7Zm9yKGIgaW4gYSk7cmV0dXJuIGI9PT13fHxhYS5jYWxsKGEsYil9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpcmV0dXJuIGZhbHNlO3JldHVybiB0cnVlfSxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBhO30scGFyc2VKU09OOmZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyJ8fCFhKXJldHVybiBudWxsO2E9Yy50cmltKGEpO2lmKC9eW1xdLDp7fVxzXSokLy50ZXN0KGEucmVwbGFjZSgvXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLCJAIikucmVwbGFjZSgvIlteIlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2csIl0iKS5yZXBsYWNlKC8oPzpefDp8LCkoPzpccypcWykrL2csIiIpKSlyZXR1cm4gQS5KU09OJiZBLkpTT04ucGFyc2U/QS5KU09OLnBhcnNlKGEpOihuZXcgRnVuY3Rpb24oInJldHVybiAiKwphKSkoKTtlbHNlIGMuZXJyb3IoIkludmFsaWQgSlNPTjogIithKX0sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXtpZihhJiZWYS50ZXN0KGEpKXt2YXIgYj1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fHMuZG9jdW1lbnRFbGVtZW50LGQ9cy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtkLnR5cGU9InRleHQvamF2YXNjcmlwdCI7aWYoYy5zdXBwb3J0LnNjcmlwdEV2YWwpZC5hcHBlbmRDaGlsZChzLmNyZWF0ZVRleHROb2RlKGEpKTtlbHNlIGQudGV4dD1hO2IuaW5zZXJ0QmVmb3JlKGQsYi5maXJzdENoaWxkKTtiLnJlbW92ZUNoaWxkKGQpfX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYixkKXt2YXIgZixlPTAsaj1hLmxlbmd0aCxpPWo9PT13fHxjLmlzRnVuY3Rpb24oYSk7aWYoZClpZihpKWZvcihmIGluIGEpe2lmKGIuYXBwbHkoYVtmXSwKZCk9PT1mYWxzZSlicmVha31lbHNlIGZvcig7ZTxqOyl7aWYoYi5hcHBseShhW2UrK10sZCk9PT1mYWxzZSlicmVha31lbHNlIGlmKGkpZm9yKGYgaW4gYSl7aWYoYi5jYWxsKGFbZl0sZixhW2ZdKT09PWZhbHNlKWJyZWFrfWVsc2UgZm9yKGQ9YVswXTtlPGomJmIuY2FsbChkLGUsZCkhPT1mYWxzZTtkPWFbKytlXSk7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuKGF8fCIiKS5yZXBsYWNlKFdhLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7Yj1ifHxbXTtpZihhIT1udWxsKWEubGVuZ3RoPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmcifHxjLmlzRnVuY3Rpb24oYSl8fHR5cGVvZiBhIT09ImZ1bmN0aW9uIiYmYS5zZXRJbnRlcnZhbD9iYS5jYWxsKGIsYSk6Yy5tZXJnZShiLGEpO3JldHVybiBifSxpbkFycmF5OmZ1bmN0aW9uKGEsYil7aWYoYi5pbmRleE9mKXJldHVybiBiLmluZGV4T2YoYSk7Zm9yKHZhciBkPTAsZj1iLmxlbmd0aDtkPGY7ZCsrKWlmKGJbZF09PT0KYSlyZXR1cm4gZDtyZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLmxlbmd0aCxmPTA7aWYodHlwZW9mIGIubGVuZ3RoPT09Im51bWJlciIpZm9yKHZhciBlPWIubGVuZ3RoO2Y8ZTtmKyspYVtkKytdPWJbZl07ZWxzZSBmb3IoO2JbZl0hPT13OylhW2QrK109YltmKytdO2EubGVuZ3RoPWQ7cmV0dXJuIGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGQpe2Zvcih2YXIgZj1bXSxlPTAsaj1hLmxlbmd0aDtlPGo7ZSsrKSFkIT09IWIoYVtlXSxlKSYmZi5wdXNoKGFbZV0pO3JldHVybiBmfSxtYXA6ZnVuY3Rpb24oYSxiLGQpe2Zvcih2YXIgZj1bXSxlLGo9MCxpPWEubGVuZ3RoO2o8aTtqKyspe2U9YihhW2pdLGosZCk7aWYoZSE9bnVsbClmW2YubGVuZ3RoXT1lfXJldHVybiBmLmNvbmNhdC5hcHBseShbXSxmKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYixkKXtpZihhcmd1bWVudHMubGVuZ3RoPT09MilpZih0eXBlb2YgYj09PSJzdHJpbmciKXtkPWE7YT1kW2JdO2I9d31lbHNlIGlmKGImJgohYy5pc0Z1bmN0aW9uKGIpKXtkPWI7Yj13fWlmKCFiJiZhKWI9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShkfHx0aGlzLGFyZ3VtZW50cyl9O2lmKGEpYi5ndWlkPWEuZ3VpZD1hLmd1aWR8fGIuZ3VpZHx8Yy5ndWlkKys7cmV0dXJuIGJ9LHVhTWF0Y2g6ZnVuY3Rpb24oYSl7YT1hLnRvTG93ZXJDYXNlKCk7YT0vKHdlYmtpdClbIFwvXShbXHcuXSspLy5leGVjKGEpfHwvKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10oW1x3Ll0rKS8uZXhlYyhhKXx8Lyhtc2llKSAoW1x3Ll0rKS8uZXhlYyhhKXx8IS9jb21wYXRpYmxlLy50ZXN0KGEpJiYvKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLmV4ZWMoYSl8fFtdO3JldHVybnticm93c2VyOmFbMV18fCIiLHZlcnNpb246YVsyXXx8IjAifX0sYnJvd3Nlcjp7fX0pO1A9Yy51YU1hdGNoKFApO2lmKFAuYnJvd3Nlcil7Yy5icm93c2VyW1AuYnJvd3Nlcl09dHJ1ZTtjLmJyb3dzZXIudmVyc2lvbj1QLnZlcnNpb259aWYoYy5icm93c2VyLndlYmtpdCljLmJyb3dzZXIuc2FmYXJpPQp0cnVlO2lmKHlhKWMuaW5BcnJheT1mdW5jdGlvbihhLGIpe3JldHVybiB5YS5jYWxsKGIsYSl9O1Q9YyhzKTtpZihzLmFkZEV2ZW50TGlzdGVuZXIpTD1mdW5jdGlvbigpe3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTCxmYWxzZSk7Yy5yZWFkeSgpfTtlbHNlIGlmKHMuYXR0YWNoRXZlbnQpTD1mdW5jdGlvbigpe2lmKHMucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe3MuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsTCk7Yy5yZWFkeSgpfX07KGZ1bmN0aW9uKCl7Yy5zdXBwb3J0PXt9O3ZhciBhPXMuZG9jdW1lbnRFbGVtZW50LGI9cy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxkPXMuY3JlYXRlRWxlbWVudCgiZGl2IiksZj0ic2NyaXB0IitKKCk7ZC5zdHlsZS5kaXNwbGF5PSJub25lIjtkLmlubmVySFRNTD0iICAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJyBzdHlsZT0nY29sb3I6cmVkO2Zsb2F0OmxlZnQ7b3BhY2l0eTouNTU7Jz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiI7CnZhciBlPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxqPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighKCFlfHwhZS5sZW5ndGh8fCFqKSl7Yy5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTpkLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovcmVkLy50ZXN0KGouZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDpqLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3Qoai5zdHlsZS5vcGFjaXR5KSxjc3NGbG9hdDohIWouc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjpkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLnZhbHVlPT09Im9uIixvcHRTZWxlY3RlZDpzLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKHMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLnNlbGVjdGVkLApwYXJlbnROb2RlOmQucmVtb3ZlQ2hpbGQoZC5hcHBlbmRDaGlsZChzLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSkucGFyZW50Tm9kZT09PW51bGwsZGVsZXRlRXhwYW5kbzp0cnVlLGNoZWNrQ2xvbmU6ZmFsc2Usc2NyaXB0RXZhbDpmYWxzZSxub0Nsb25lRXZlbnQ6dHJ1ZSxib3hNb2RlbDpudWxsfTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7dHJ5e2IuYXBwZW5kQ2hpbGQocy5jcmVhdGVUZXh0Tm9kZSgid2luZG93LiIrZisiPTE7IikpfWNhdGNoKGkpe31hLmluc2VydEJlZm9yZShiLGEuZmlyc3RDaGlsZCk7aWYoQVtmXSl7Yy5zdXBwb3J0LnNjcmlwdEV2YWw9dHJ1ZTtkZWxldGUgQVtmXX10cnl7ZGVsZXRlIGIudGVzdH1jYXRjaChvKXtjLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz1mYWxzZX1hLnJlbW92ZUNoaWxkKGIpO2lmKGQuYXR0YWNoRXZlbnQmJmQuZmlyZUV2ZW50KXtkLmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbiBrKCl7Yy5zdXBwb3J0Lm5vQ2xvbmVFdmVudD0KZmFsc2U7ZC5kZXRhY2hFdmVudCgib25jbGljayIsayl9KTtkLmNsb25lTm9kZSh0cnVlKS5maXJlRXZlbnQoIm9uY2xpY2siKX1kPXMuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5pbm5lckhUTUw9IjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0ncmFkaW90ZXN0JyBjaGVja2VkPSdjaGVja2VkJy8+IjthPXMuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2EuYXBwZW5kQ2hpbGQoZC5maXJzdENoaWxkKTtjLnN1cHBvcnQuY2hlY2tDbG9uZT1hLmNsb25lTm9kZSh0cnVlKS5jbG9uZU5vZGUodHJ1ZSkubGFzdENoaWxkLmNoZWNrZWQ7YyhmdW5jdGlvbigpe3ZhciBrPXMuY3JlYXRlRWxlbWVudCgiZGl2Iik7ay5zdHlsZS53aWR0aD1rLnN0eWxlLnBhZGRpbmdMZWZ0PSIxcHgiO3MuYm9keS5hcHBlbmRDaGlsZChrKTtjLmJveE1vZGVsPWMuc3VwcG9ydC5ib3hNb2RlbD1rLm9mZnNldFdpZHRoPT09MjtzLmJvZHkucmVtb3ZlQ2hpbGQoaykuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTthPWZ1bmN0aW9uKGspe3ZhciBuPQpzLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2s9Im9uIitrO3ZhciByPWsgaW4gbjtpZighcil7bi5zZXRBdHRyaWJ1dGUoaywicmV0dXJuOyIpO3I9dHlwZW9mIG5ba109PT0iZnVuY3Rpb24ifXJldHVybiByfTtjLnN1cHBvcnQuc3VibWl0QnViYmxlcz1hKCJzdWJtaXQiKTtjLnN1cHBvcnQuY2hhbmdlQnViYmxlcz1hKCJjaGFuZ2UiKTthPWI9ZD1lPWo9bnVsbH19KSgpO2MucHJvcHM9eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLHJlYWRvbmx5OiJyZWFkT25seSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIsdGFiaW5kZXg6InRhYkluZGV4Iix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIn07dmFyIEc9ImpRdWVyeSIrSigpLFlhPTAsemE9e307Yy5leHRlbmQoe2NhY2hlOnt9LGV4cGFuZG86Ryxub0RhdGE6e2VtYmVkOnRydWUsb2JqZWN0OnRydWUsCmFwcGxldDp0cnVlfSxkYXRhOmZ1bmN0aW9uKGEsYixkKXtpZighKGEubm9kZU5hbWUmJmMubm9EYXRhW2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXthPWE9PUE/emE6YTt2YXIgZj1hW0ddLGU9Yy5jYWNoZTtpZighZiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmZD09PXcpcmV0dXJuIG51bGw7Znx8KGY9KytZYSk7aWYodHlwZW9mIGI9PT0ib2JqZWN0Iil7YVtHXT1mO2VbZl09Yy5leHRlbmQodHJ1ZSx7fSxiKX1lbHNlIGlmKCFlW2ZdKXthW0ddPWY7ZVtmXT17fX1hPWVbZl07aWYoZCE9PXcpYVtiXT1kO3JldHVybiB0eXBlb2YgYj09PSJzdHJpbmciP2FbYl06YX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtpZighKGEubm9kZU5hbWUmJmMubm9EYXRhW2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXthPWE9PUE/emE6YTt2YXIgZD1hW0ddLGY9Yy5jYWNoZSxlPWZbZF07aWYoYil7aWYoZSl7ZGVsZXRlIGVbYl07Yy5pc0VtcHR5T2JqZWN0KGUpJiZjLnJlbW92ZURhdGEoYSl9fWVsc2V7aWYoYy5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8pZGVsZXRlIGFbYy5leHBhbmRvXTsKZWxzZSBhLnJlbW92ZUF0dHJpYnV0ZSYmYS5yZW1vdmVBdHRyaWJ1dGUoYy5leHBhbmRvKTtkZWxldGUgZltkXX19fX0pO2MuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0idW5kZWZpbmVkIiYmdGhpcy5sZW5ndGgpcmV0dXJuIGMuZGF0YSh0aGlzWzBdKTtlbHNlIGlmKHR5cGVvZiBhPT09Im9iamVjdCIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2MuZGF0YSh0aGlzLGEpfSk7dmFyIGQ9YS5zcGxpdCgiLiIpO2RbMV09ZFsxXT8iLiIrZFsxXToiIjtpZihiPT09dyl7dmFyIGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrZFsxXSsiISIsW2RbMF1dKTtpZihmPT09dyYmdGhpcy5sZW5ndGgpZj1jLmRhdGEodGhpc1swXSxhKTtyZXR1cm4gZj09PXcmJmRbMV0/dGhpcy5kYXRhKGRbMF0pOmZ9ZWxzZSByZXR1cm4gdGhpcy50cmlnZ2VyKCJzZXREYXRhIitkWzFdKyIhIixbZFswXSxiXSkuZWFjaChmdW5jdGlvbigpe2MuZGF0YSh0aGlzLAphLGIpfSl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2MucmVtb3ZlRGF0YSh0aGlzLGEpfSl9fSk7Yy5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixkKXtpZihhKXtiPShifHwiZngiKSsicXVldWUiO3ZhciBmPWMuZGF0YShhLGIpO2lmKCFkKXJldHVybiBmfHxbXTtpZighZnx8Yy5pc0FycmF5KGQpKWY9Yy5kYXRhKGEsYixjLm1ha2VBcnJheShkKSk7ZWxzZSBmLnB1c2goZCk7cmV0dXJuIGZ9fSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBkPWMucXVldWUoYSxiKSxmPWQuc2hpZnQoKTtpZihmPT09ImlucHJvZ3Jlc3MiKWY9ZC5zaGlmdCgpO2lmKGYpe2I9PT0iZngiJiZkLnVuc2hpZnQoImlucHJvZ3Jlc3MiKTtmLmNhbGwoYSxmdW5jdGlvbigpe2MuZGVxdWV1ZShhLGIpfSl9fX0pO2MuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpe2I9YTthPSJmeCJ9aWYoYj09PQp3KXJldHVybiBjLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWMucXVldWUodGhpcyxhLGIpO2E9PT0iZngiJiZkWzBdIT09ImlucHJvZ3Jlc3MiJiZjLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLmRlcXVldWUodGhpcyxhKX0pfSxkZWxheTpmdW5jdGlvbihhLGIpe2E9Yy5meD9jLmZ4LnNwZWVkc1thXXx8YTphO2I9Ynx8ImZ4IjtyZXR1cm4gdGhpcy5xdWV1ZShiLGZ1bmN0aW9uKCl7dmFyIGQ9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5kZXF1ZXVlKGQsYil9LGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9fSk7dmFyIEFhPS9bXG5cdF0vZyxjYT0vXHMrLyxaYT0vXHIvZywkYT0vaHJlZnxzcmN8c3R5bGUvLGFiPS8oYnV0dG9ufGlucHV0KS9pLGJiPS8oYnV0dG9ufGlucHV0fG9iamVjdHxzZWxlY3R8dGV4dGFyZWEpL2ksCmNiPS9eKGF8YXJlYSkkL2ksQmE9L3JhZGlvfGNoZWNrYm94LztjLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBYKHRoaXMsYSxiLHRydWUsYy5hdHRyKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yy5hdHRyKHRoaXMsYSwiIik7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMucmVtb3ZlQXR0cmlidXRlKGEpfSl9LGFkZENsYXNzOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciByPWModGhpcyk7ci5hZGRDbGFzcyhhLmNhbGwodGhpcyxuLHIuYXR0cigiY2xhc3MiKSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nIilmb3IodmFyIGI9KGF8fCIiKS5zcGxpdChjYSksZD0wLGY9dGhpcy5sZW5ndGg7ZDxmO2QrKyl7dmFyIGU9dGhpc1tkXTtpZihlLm5vZGVUeXBlPT09MSlpZihlLmNsYXNzTmFtZSl7Zm9yKHZhciBqPSIgIitlLmNsYXNzTmFtZSsiICIsCmk9ZS5jbGFzc05hbWUsbz0wLGs9Yi5sZW5ndGg7bzxrO28rKylpZihqLmluZGV4T2YoIiAiK2Jbb10rIiAiKTwwKWkrPSIgIitiW29dO2UuY2xhc3NOYW1lPWMudHJpbShpKX1lbHNlIGUuY2xhc3NOYW1lPWF9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGspe3ZhciBuPWModGhpcyk7bi5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxrLG4uYXR0cigiY2xhc3MiKSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nInx8YT09PXcpZm9yKHZhciBiPShhfHwiIikuc3BsaXQoY2EpLGQ9MCxmPXRoaXMubGVuZ3RoO2Q8ZjtkKyspe3ZhciBlPXRoaXNbZF07aWYoZS5ub2RlVHlwZT09PTEmJmUuY2xhc3NOYW1lKWlmKGEpe2Zvcih2YXIgaj0oIiAiK2UuY2xhc3NOYW1lKyIgIikucmVwbGFjZShBYSwiICIpLGk9MCxvPWIubGVuZ3RoO2k8bztpKyspaj1qLnJlcGxhY2UoIiAiK2JbaV0rIiAiLAoiICIpO2UuY2xhc3NOYW1lPWMudHJpbShqKX1lbHNlIGUuY2xhc3NOYW1lPSIifXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihhLGIpe3ZhciBkPXR5cGVvZiBhLGY9dHlwZW9mIGI9PT0iYm9vbGVhbiI7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIGo9Yyh0aGlzKTtqLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGUsai5hdHRyKCJjbGFzcyIpLGIpLGIpfSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGQ9PT0ic3RyaW5nIilmb3IodmFyIGUsaj0wLGk9Yyh0aGlzKSxvPWIsaz1hLnNwbGl0KGNhKTtlPWtbaisrXTspe289Zj9vOiFpLmhhc0NsYXNzKGUpO2lbbz8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKGUpfWVsc2UgaWYoZD09PSJ1bmRlZmluZWQifHxkPT09ImJvb2xlYW4iKXt0aGlzLmNsYXNzTmFtZSYmYy5kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKTt0aGlzLmNsYXNzTmFtZT0KdGhpcy5jbGFzc05hbWV8fGE9PT1mYWxzZT8iIjpjLmRhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIn19KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7YT0iICIrYSsiICI7Zm9yKHZhciBiPTAsZD10aGlzLmxlbmd0aDtiPGQ7YisrKWlmKCgiICIrdGhpc1tiXS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKEFhLCIgIikuaW5kZXhPZihhKT4tMSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9LHZhbDpmdW5jdGlvbihhKXtpZihhPT09dyl7dmFyIGI9dGhpc1swXTtpZihiKXtpZihjLm5vZGVOYW1lKGIsIm9wdGlvbiIpKXJldHVybihiLmF0dHJpYnV0ZXMudmFsdWV8fHt9KS5zcGVjaWZpZWQ/Yi52YWx1ZTpiLnRleHQ7aWYoYy5ub2RlTmFtZShiLCJzZWxlY3QiKSl7dmFyIGQ9Yi5zZWxlY3RlZEluZGV4LGY9W10sZT1iLm9wdGlvbnM7Yj1iLnR5cGU9PT0ic2VsZWN0LW9uZSI7aWYoZDwwKXJldHVybiBudWxsO3ZhciBqPWI/ZDowO2ZvcihkPWI/ZCsxOmUubGVuZ3RoO2o8ZDtqKyspe3ZhciBpPQplW2pdO2lmKGkuc2VsZWN0ZWQpe2E9YyhpKS52YWwoKTtpZihiKXJldHVybiBhO2YucHVzaChhKX19cmV0dXJuIGZ9aWYoQmEudGVzdChiLnR5cGUpJiYhYy5zdXBwb3J0LmNoZWNrT24pcmV0dXJuIGIuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPT09bnVsbD8ib24iOmIudmFsdWU7cmV0dXJuKGIudmFsdWV8fCIiKS5yZXBsYWNlKFphLCIiKX1yZXR1cm4gd312YXIgbz1jLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihrKXt2YXIgbj1jKHRoaXMpLHI9YTtpZih0aGlzLm5vZGVUeXBlPT09MSl7aWYobylyPWEuY2FsbCh0aGlzLGssbi52YWwoKSk7aWYodHlwZW9mIHI9PT0ibnVtYmVyIilyKz0iIjtpZihjLmlzQXJyYXkocikmJkJhLnRlc3QodGhpcy50eXBlKSl0aGlzLmNoZWNrZWQ9Yy5pbkFycmF5KG4udmFsKCkscik+PTA7ZWxzZSBpZihjLm5vZGVOYW1lKHRoaXMsInNlbGVjdCIpKXt2YXIgdT1jLm1ha2VBcnJheShyKTtjKCJvcHRpb24iLHRoaXMpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVkPQpjLmluQXJyYXkoYyh0aGlzKS52YWwoKSx1KT49MH0pO2lmKCF1Lmxlbmd0aCl0aGlzLnNlbGVjdGVkSW5kZXg9LTF9ZWxzZSB0aGlzLnZhbHVlPXJ9fSl9fSk7Yy5leHRlbmQoe2F0dHJGbjp7dmFsOnRydWUsY3NzOnRydWUsaHRtbDp0cnVlLHRleHQ6dHJ1ZSxkYXRhOnRydWUsd2lkdGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxvZmZzZXQ6dHJ1ZX0sYXR0cjpmdW5jdGlvbihhLGIsZCxmKXtpZighYXx8YS5ub2RlVHlwZT09PTN8fGEubm9kZVR5cGU9PT04KXJldHVybiB3O2lmKGYmJmIgaW4gYy5hdHRyRm4pcmV0dXJuIGMoYSlbYl0oZCk7Zj1hLm5vZGVUeXBlIT09MXx8IWMuaXNYTUxEb2MoYSk7dmFyIGU9ZCE9PXc7Yj1mJiZjLnByb3BzW2JdfHxiO2lmKGEubm9kZVR5cGU9PT0xKXt2YXIgaj0kYS50ZXN0KGIpO2lmKGIgaW4gYSYmZiYmIWope2lmKGUpe2I9PT0idHlwZSImJmFiLnRlc3QoYS5ub2RlTmFtZSkmJmEucGFyZW50Tm9kZSYmYy5lcnJvcigidHlwZSBwcm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIik7CmFbYl09ZH1pZihjLm5vZGVOYW1lKGEsImZvcm0iKSYmYS5nZXRBdHRyaWJ1dGVOb2RlKGIpKXJldHVybiBhLmdldEF0dHJpYnV0ZU5vZGUoYikubm9kZVZhbHVlO2lmKGI9PT0idGFiSW5kZXgiKXJldHVybihiPWEuZ2V0QXR0cmlidXRlTm9kZSgidGFiSW5kZXgiKSkmJmIuc3BlY2lmaWVkP2IudmFsdWU6YmIudGVzdChhLm5vZGVOYW1lKXx8Y2IudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6dztyZXR1cm4gYVtiXX1pZighYy5zdXBwb3J0LnN0eWxlJiZmJiZiPT09InN0eWxlIil7aWYoZSlhLnN0eWxlLmNzc1RleHQ9IiIrZDtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0fWUmJmEuc2V0QXR0cmlidXRlKGIsIiIrZCk7YT0hYy5zdXBwb3J0LmhyZWZOb3JtYWxpemVkJiZmJiZqP2EuZ2V0QXR0cmlidXRlKGIsMik6YS5nZXRBdHRyaWJ1dGUoYik7cmV0dXJuIGE9PT1udWxsP3c6YX1yZXR1cm4gYy5zdHlsZShhLGIsZCl9fSk7dmFyIE89L1wuKC4qKSQvLGRiPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1teXHdcc1wuXHxgXS9nLApmdW5jdGlvbihiKXtyZXR1cm4iXFwiK2J9KX07Yy5ldmVudD17YWRkOmZ1bmN0aW9uKGEsYixkLGYpe2lmKCEoYS5ub2RlVHlwZT09PTN8fGEubm9kZVR5cGU9PT04KSl7aWYoYS5zZXRJbnRlcnZhbCYmYSE9PUEmJiFhLmZyYW1lRWxlbWVudClhPUE7dmFyIGUsajtpZihkLmhhbmRsZXIpe2U9ZDtkPWUuaGFuZGxlcn1pZighZC5ndWlkKWQuZ3VpZD1jLmd1aWQrKztpZihqPWMuZGF0YShhKSl7dmFyIGk9ai5ldmVudHM9ai5ldmVudHN8fHt9LG89ai5oYW5kbGU7aWYoIW8pai5oYW5kbGU9bz1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgYyE9PSJ1bmRlZmluZWQiJiYhYy5ldmVudC50cmlnZ2VyZWQ/Yy5ldmVudC5oYW5kbGUuYXBwbHkoby5lbGVtLGFyZ3VtZW50cyk6d307by5lbGVtPWE7Yj1iLnNwbGl0KCIgIik7Zm9yKHZhciBrLG49MCxyO2s9YltuKytdOyl7aj1lP2MuZXh0ZW5kKHt9LGUpOntoYW5kbGVyOmQsZGF0YTpmfTtpZihrLmluZGV4T2YoIi4iKT4tMSl7cj1rLnNwbGl0KCIuIik7Cms9ci5zaGlmdCgpO2oubmFtZXNwYWNlPXIuc2xpY2UoMCkuc29ydCgpLmpvaW4oIi4iKX1lbHNle3I9W107ai5uYW1lc3BhY2U9IiJ9ai50eXBlPWs7ai5ndWlkPWQuZ3VpZDt2YXIgdT1pW2tdLHo9Yy5ldmVudC5zcGVjaWFsW2tdfHx7fTtpZighdSl7dT1pW2tdPVtdO2lmKCF6LnNldHVwfHx6LnNldHVwLmNhbGwoYSxmLHIsbyk9PT1mYWxzZSlpZihhLmFkZEV2ZW50TGlzdGVuZXIpYS5hZGRFdmVudExpc3RlbmVyKGssbyxmYWxzZSk7ZWxzZSBhLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrayxvKX1pZih6LmFkZCl7ei5hZGQuY2FsbChhLGopO2lmKCFqLmhhbmRsZXIuZ3VpZClqLmhhbmRsZXIuZ3VpZD1kLmd1aWR9dS5wdXNoKGopO2MuZXZlbnQuZ2xvYmFsW2tdPXRydWV9YT1udWxsfX19LGdsb2JhbDp7fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGQsZil7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpKXt2YXIgZSxqPTAsaSxvLGssbixyLHUsej1jLmRhdGEoYSksCkM9eiYmei5ldmVudHM7aWYoeiYmQyl7aWYoYiYmYi50eXBlKXtkPWIuaGFuZGxlcjtiPWIudHlwZX1pZighYnx8dHlwZW9mIGI9PT0ic3RyaW5nIiYmYi5jaGFyQXQoMCk9PT0iLiIpe2I9Ynx8IiI7Zm9yKGUgaW4gQyljLmV2ZW50LnJlbW92ZShhLGUrYil9ZWxzZXtmb3IoYj1iLnNwbGl0KCIgIik7ZT1iW2orK107KXtuPWU7aT1lLmluZGV4T2YoIi4iKTwwO289W107aWYoIWkpe289ZS5zcGxpdCgiLiIpO2U9by5zaGlmdCgpO2s9bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5tYXAoby5zbGljZSgwKS5zb3J0KCksZGIpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpfWlmKHI9Q1tlXSlpZihkKXtuPWMuZXZlbnQuc3BlY2lhbFtlXXx8e307Zm9yKEI9Znx8MDtCPHIubGVuZ3RoO0IrKyl7dT1yW0JdO2lmKGQuZ3VpZD09PXUuZ3VpZCl7aWYoaXx8ay50ZXN0KHUubmFtZXNwYWNlKSl7Zj09bnVsbCYmci5zcGxpY2UoQi0tLDEpO24ucmVtb3ZlJiZuLnJlbW92ZS5jYWxsKGEsdSl9aWYoZiE9Cm51bGwpYnJlYWt9fWlmKHIubGVuZ3RoPT09MHx8ZiE9bnVsbCYmci5sZW5ndGg9PT0xKXtpZighbi50ZWFyZG93bnx8bi50ZWFyZG93bi5jYWxsKGEsbyk9PT1mYWxzZSlDYShhLGUsei5oYW5kbGUpO2RlbGV0ZSBDW2VdfX1lbHNlIGZvcih2YXIgQj0wO0I8ci5sZW5ndGg7QisrKXt1PXJbQl07aWYoaXx8ay50ZXN0KHUubmFtZXNwYWNlKSl7Yy5ldmVudC5yZW1vdmUoYSxuLHUuaGFuZGxlcixCKTtyLnNwbGljZShCLS0sMSl9fX1pZihjLmlzRW1wdHlPYmplY3QoQykpe2lmKGI9ei5oYW5kbGUpYi5lbGVtPW51bGw7ZGVsZXRlIHouZXZlbnRzO2RlbGV0ZSB6LmhhbmRsZTtjLmlzRW1wdHlPYmplY3QoeikmJmMucmVtb3ZlRGF0YShhKX19fX19LHRyaWdnZXI6ZnVuY3Rpb24oYSxiLGQsZil7dmFyIGU9YS50eXBlfHxhO2lmKCFmKXthPXR5cGVvZiBhPT09Im9iamVjdCI/YVtHXT9hOmMuZXh0ZW5kKGMuRXZlbnQoZSksYSk6Yy5FdmVudChlKTtpZihlLmluZGV4T2YoIiEiKT49MCl7YS50eXBlPQplPWUuc2xpY2UoMCwtMSk7YS5leGNsdXNpdmU9dHJ1ZX1pZighZCl7YS5zdG9wUHJvcGFnYXRpb24oKTtjLmV2ZW50Lmdsb2JhbFtlXSYmYy5lYWNoKGMuY2FjaGUsZnVuY3Rpb24oKXt0aGlzLmV2ZW50cyYmdGhpcy5ldmVudHNbZV0mJmMuZXZlbnQudHJpZ2dlcihhLGIsdGhpcy5oYW5kbGUuZWxlbSl9KX1pZighZHx8ZC5ub2RlVHlwZT09PTN8fGQubm9kZVR5cGU9PT04KXJldHVybiB3O2EucmVzdWx0PXc7YS50YXJnZXQ9ZDtiPWMubWFrZUFycmF5KGIpO2IudW5zaGlmdChhKX1hLmN1cnJlbnRUYXJnZXQ9ZDsoZj1jLmRhdGEoZCwiaGFuZGxlIikpJiZmLmFwcGx5KGQsYik7Zj1kLnBhcmVudE5vZGV8fGQub3duZXJEb2N1bWVudDt0cnl7aWYoIShkJiZkLm5vZGVOYW1lJiZjLm5vRGF0YVtkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSlpZihkWyJvbiIrZV0mJmRbIm9uIitlXS5hcHBseShkLGIpPT09ZmFsc2UpYS5yZXN1bHQ9ZmFsc2V9Y2F0Y2goail7fWlmKCFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJgpmKWMuZXZlbnQudHJpZ2dlcihhLGIsZix0cnVlKTtlbHNlIGlmKCFhLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtmPWEudGFyZ2V0O3ZhciBpLG89Yy5ub2RlTmFtZShmLCJhIikmJmU9PT0iY2xpY2siLGs9Yy5ldmVudC5zcGVjaWFsW2VdfHx7fTtpZigoIWsuX2RlZmF1bHR8fGsuX2RlZmF1bHQuY2FsbChkLGEpPT09ZmFsc2UpJiYhbyYmIShmJiZmLm5vZGVOYW1lJiZjLm5vRGF0YVtmLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSl7dHJ5e2lmKGZbZV0pe2lmKGk9Zlsib24iK2VdKWZbIm9uIitlXT1udWxsO2MuZXZlbnQudHJpZ2dlcmVkPXRydWU7ZltlXSgpfX1jYXRjaChuKXt9aWYoaSlmWyJvbiIrZV09aTtjLmV2ZW50LnRyaWdnZXJlZD1mYWxzZX19fSxoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGIsZCxmLGU7YT1hcmd1bWVudHNbMF09Yy5ldmVudC5maXgoYXx8QS5ldmVudCk7YS5jdXJyZW50VGFyZ2V0PXRoaXM7Yj1hLnR5cGUuaW5kZXhPZigiLiIpPDAmJiFhLmV4Y2x1c2l2ZTsKaWYoIWIpe2Q9YS50eXBlLnNwbGl0KCIuIik7YS50eXBlPWQuc2hpZnQoKTtmPW5ldyBSZWdFeHAoIihefFxcLikiK2Quc2xpY2UoMCkuc29ydCgpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpfWU9Yy5kYXRhKHRoaXMsImV2ZW50cyIpO2Q9ZVthLnR5cGVdO2lmKGUmJmQpe2Q9ZC5zbGljZSgwKTtlPTA7Zm9yKHZhciBqPWQubGVuZ3RoO2U8ajtlKyspe3ZhciBpPWRbZV07aWYoYnx8Zi50ZXN0KGkubmFtZXNwYWNlKSl7YS5oYW5kbGVyPWkuaGFuZGxlcjthLmRhdGE9aS5kYXRhO2EuaGFuZGxlT2JqPWk7aT1pLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGkhPT13KXthLnJlc3VsdD1pO2lmKGk9PT1mYWxzZSl7YS5wcmV2ZW50RGVmYXVsdCgpO2Euc3RvcFByb3BhZ2F0aW9uKCl9fWlmKGEuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVha319fXJldHVybiBhLnJlc3VsdH0scHJvcHM6ImFsdEtleSBhdHRyQ2hhbmdlIGF0dHJOYW1lIGJ1YmJsZXMgYnV0dG9uIGNhbmNlbGFibGUgY2hhckNvZGUgY2xpZW50WCBjbGllbnRZIGN0cmxLZXkgY3VycmVudFRhcmdldCBkYXRhIGRldGFpbCBldmVudFBoYXNlIGZyb21FbGVtZW50IGhhbmRsZXIga2V5Q29kZSBsYXllclggbGF5ZXJZIG1ldGFLZXkgbmV3VmFsdWUgb2Zmc2V0WCBvZmZzZXRZIG9yaWdpbmFsVGFyZ2V0IHBhZ2VYIHBhZ2VZIHByZXZWYWx1ZSByZWxhdGVkTm9kZSByZWxhdGVkVGFyZ2V0IHNjcmVlblggc2NyZWVuWSBzaGlmdEtleSBzcmNFbGVtZW50IHRhcmdldCB0b0VsZW1lbnQgdmlldyB3aGVlbERlbHRhIHdoaWNoIi5zcGxpdCgiICIpLApmaXg6ZnVuY3Rpb24oYSl7aWYoYVtHXSlyZXR1cm4gYTt2YXIgYj1hO2E9Yy5FdmVudChiKTtmb3IodmFyIGQ9dGhpcy5wcm9wcy5sZW5ndGgsZjtkOyl7Zj10aGlzLnByb3BzWy0tZF07YVtmXT1iW2ZdfWlmKCFhLnRhcmdldClhLnRhcmdldD1hLnNyY0VsZW1lbnR8fHM7aWYoYS50YXJnZXQubm9kZVR5cGU9PT0zKWEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGU7aWYoIWEucmVsYXRlZFRhcmdldCYmYS5mcm9tRWxlbWVudClhLnJlbGF0ZWRUYXJnZXQ9YS5mcm9tRWxlbWVudD09PWEudGFyZ2V0P2EudG9FbGVtZW50OmEuZnJvbUVsZW1lbnQ7aWYoYS5wYWdlWD09bnVsbCYmYS5jbGllbnRYIT1udWxsKXtiPXMuZG9jdW1lbnRFbGVtZW50O2Q9cy5ib2R5O2EucGFnZVg9YS5jbGllbnRYKyhiJiZiLnNjcm9sbExlZnR8fGQmJmQuc2Nyb2xsTGVmdHx8MCktKGImJmIuY2xpZW50TGVmdHx8ZCYmZC5jbGllbnRMZWZ0fHwwKTthLnBhZ2VZPWEuY2xpZW50WSsoYiYmYi5zY3JvbGxUb3B8fApkJiZkLnNjcm9sbFRvcHx8MCktKGImJmIuY2xpZW50VG9wfHxkJiZkLmNsaWVudFRvcHx8MCl9aWYoIWEud2hpY2gmJihhLmNoYXJDb2RlfHxhLmNoYXJDb2RlPT09MD9hLmNoYXJDb2RlOmEua2V5Q29kZSkpYS53aGljaD1hLmNoYXJDb2RlfHxhLmtleUNvZGU7aWYoIWEubWV0YUtleSYmYS5jdHJsS2V5KWEubWV0YUtleT1hLmN0cmxLZXk7aWYoIWEud2hpY2gmJmEuYnV0dG9uIT09dylhLndoaWNoPWEuYnV0dG9uJjE/MTphLmJ1dHRvbiYyPzM6YS5idXR0b24mND8yOjA7cmV0dXJuIGF9LGd1aWQ6MUU4LHByb3h5OmMucHJveHksc3BlY2lhbDp7cmVhZHk6e3NldHVwOmMuYmluZFJlYWR5LHRlYXJkb3duOmMubm9vcH0sbGl2ZTp7YWRkOmZ1bmN0aW9uKGEpe2MuZXZlbnQuYWRkKHRoaXMsYS5vcmlnVHlwZSxjLmV4dGVuZCh7fSxhLHtoYW5kbGVyOm9hfSkpfSxyZW1vdmU6ZnVuY3Rpb24oYSl7dmFyIGI9dHJ1ZSxkPWEub3JpZ1R5cGUucmVwbGFjZShPLCIiKTtjLmVhY2goYy5kYXRhKHRoaXMsCiJldmVudHMiKS5saXZlfHxbXSxmdW5jdGlvbigpe2lmKGQ9PT10aGlzLm9yaWdUeXBlLnJlcGxhY2UoTywiIikpcmV0dXJuIGI9ZmFsc2V9KTtiJiZjLmV2ZW50LnJlbW92ZSh0aGlzLGEub3JpZ1R5cGUsb2EpfX0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihhLGIsZCl7aWYodGhpcy5zZXRJbnRlcnZhbCl0aGlzLm9uYmVmb3JldW5sb2FkPWQ7cmV0dXJuIGZhbHNlfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIpe2lmKHRoaXMub25iZWZvcmV1bmxvYWQ9PT1iKXRoaXMub25iZWZvcmV1bmxvYWQ9bnVsbH19fX07dmFyIENhPXMucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihhLGIsZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKGIsZCxmYWxzZSl9OmZ1bmN0aW9uKGEsYixkKXthLmRldGFjaEV2ZW50KCJvbiIrYixkKX07Yy5FdmVudD1mdW5jdGlvbihhKXtpZighdGhpcy5wcmV2ZW50RGVmYXVsdClyZXR1cm4gbmV3IGMuRXZlbnQoYSk7aWYoYSYmYS50eXBlKXt0aGlzLm9yaWdpbmFsRXZlbnQ9CmE7dGhpcy50eXBlPWEudHlwZX1lbHNlIHRoaXMudHlwZT1hO3RoaXMudGltZVN0YW1wPUooKTt0aGlzW0ddPXRydWV9O2MuRXZlbnQucHJvdG90eXBlPXtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPVo7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O2lmKGEpe2EucHJldmVudERlZmF1bHQmJmEucHJldmVudERlZmF1bHQoKTthLnJldHVyblZhbHVlPWZhbHNlfX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1aO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDtpZihhKXthLnN0b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKTthLmNhbmNlbEJ1YmJsZT10cnVlfX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1aO3RoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpZLGlzUHJvcGFnYXRpb25TdG9wcGVkOlksCmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOll9O3ZhciBEYT1mdW5jdGlvbihhKXt2YXIgYj1hLnJlbGF0ZWRUYXJnZXQ7dHJ5e2Zvcig7YiYmYiE9PXRoaXM7KWI9Yi5wYXJlbnROb2RlO2lmKGIhPT10aGlzKXthLnR5cGU9YS5kYXRhO2MuZXZlbnQuaGFuZGxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19Y2F0Y2goZCl7fX0sRWE9ZnVuY3Rpb24oYSl7YS50eXBlPWEuZGF0YTtjLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2MuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9LGZ1bmN0aW9uKGEsYil7Yy5ldmVudC5zcGVjaWFsW2FdPXtzZXR1cDpmdW5jdGlvbihkKXtjLmV2ZW50LmFkZCh0aGlzLGIsZCYmZC5zZWxlY3Rvcj9FYTpEYSxhKX0sdGVhcmRvd246ZnVuY3Rpb24oZCl7Yy5ldmVudC5yZW1vdmUodGhpcyxiLGQmJmQuc2VsZWN0b3I/RWE6RGEpfX19KTtpZighYy5zdXBwb3J0LnN1Ym1pdEJ1YmJsZXMpYy5ldmVudC5zcGVjaWFsLnN1Ym1pdD0Ke3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09ImZvcm0iKXtjLmV2ZW50LmFkZCh0aGlzLCJjbGljay5zcGVjaWFsU3VibWl0IixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxkPWIudHlwZTtpZigoZD09PSJzdWJtaXQifHxkPT09ImltYWdlIikmJmMoYikuY2xvc2VzdCgiZm9ybSIpLmxlbmd0aClyZXR1cm4gbmEoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSk7Yy5ldmVudC5hZGQodGhpcywia2V5cHJlc3Muc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5cGU7aWYoKGQ9PT0idGV4dCJ8fGQ9PT0icGFzc3dvcmQiKSYmYyhiKS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoJiZhLmtleUNvZGU9PT0xMylyZXR1cm4gbmEoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSl9ZWxzZSByZXR1cm4gZmFsc2V9LHRlYXJkb3duOmZ1bmN0aW9uKCl7Yy5ldmVudC5yZW1vdmUodGhpcywiLnNwZWNpYWxTdWJtaXQiKX19OwppZighYy5zdXBwb3J0LmNoYW5nZUJ1YmJsZXMpe3ZhciBkYT0vdGV4dGFyZWF8aW5wdXR8c2VsZWN0L2ksZWEsRmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50eXBlLGQ9YS52YWx1ZTtpZihiPT09InJhZGlvInx8Yj09PSJjaGVja2JveCIpZD1hLmNoZWNrZWQ7ZWxzZSBpZihiPT09InNlbGVjdC1tdWx0aXBsZSIpZD1hLnNlbGVjdGVkSW5kZXg+LTE/Yy5tYXAoYS5vcHRpb25zLGZ1bmN0aW9uKGYpe3JldHVybiBmLnNlbGVjdGVkfSkuam9pbigiLSIpOiIiO2Vsc2UgaWYoYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InNlbGVjdCIpZD1hLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGR9LGZhPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS50YXJnZXQsZixlO2lmKCEoIWRhLnRlc3QoZC5ub2RlTmFtZSl8fGQucmVhZE9ubHkpKXtmPWMuZGF0YShkLCJfY2hhbmdlX2RhdGEiKTtlPUZhKGQpO2lmKGEudHlwZSE9PSJmb2N1c291dCJ8fGQudHlwZSE9PSJyYWRpbyIpYy5kYXRhKGQsIl9jaGFuZ2VfZGF0YSIsCmUpO2lmKCEoZj09PXd8fGU9PT1mKSlpZihmIT1udWxsfHxlKXthLnR5cGU9ImNoYW5nZSI7cmV0dXJuIGMuZXZlbnQudHJpZ2dlcihhLGIsZCl9fX07Yy5ldmVudC5zcGVjaWFsLmNoYW5nZT17ZmlsdGVyczp7Zm9jdXNvdXQ6ZmEsY2xpY2s6ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5cGU7aWYoZD09PSJyYWRpbyJ8fGQ9PT0iY2hlY2tib3gifHxiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0IilyZXR1cm4gZmEuY2FsbCh0aGlzLGEpfSxrZXlkb3duOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LGQ9Yi50eXBlO2lmKGEua2V5Q29kZT09PTEzJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0idGV4dGFyZWEifHxhLmtleUNvZGU9PT0zMiYmKGQ9PT0iY2hlY2tib3gifHxkPT09InJhZGlvIil8fGQ9PT0ic2VsZWN0LW11bHRpcGxlIilyZXR1cm4gZmEuY2FsbCh0aGlzLGEpfSxiZWZvcmVhY3RpdmF0ZTpmdW5jdGlvbihhKXthPWEudGFyZ2V0O2MuZGF0YShhLAoiX2NoYW5nZV9kYXRhIixGYShhKSl9fSxzZXR1cDpmdW5jdGlvbigpe2lmKHRoaXMudHlwZT09PSJmaWxlIilyZXR1cm4gZmFsc2U7Zm9yKHZhciBhIGluIGVhKWMuZXZlbnQuYWRkKHRoaXMsYSsiLnNwZWNpYWxDaGFuZ2UiLGVhW2FdKTtyZXR1cm4gZGEudGVzdCh0aGlzLm5vZGVOYW1lKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtjLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbENoYW5nZSIpO3JldHVybiBkYS50ZXN0KHRoaXMubm9kZU5hbWUpfX07ZWE9Yy5ldmVudC5zcGVjaWFsLmNoYW5nZS5maWx0ZXJzfXMuYWRkRXZlbnRMaXN0ZW5lciYmYy5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZil7Zj1jLmV2ZW50LmZpeChmKTtmLnR5cGU9YjtyZXR1cm4gYy5ldmVudC5oYW5kbGUuY2FsbCh0aGlzLGYpfWMuZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoYSwKZCx0cnVlKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxkLHRydWUpfX19KTtjLmVhY2goWyJiaW5kIiwib25lIl0sZnVuY3Rpb24oYSxiKXtjLmZuW2JdPWZ1bmN0aW9uKGQsZixlKXtpZih0eXBlb2YgZD09PSJvYmplY3QiKXtmb3IodmFyIGogaW4gZCl0aGlzW2JdKGosZixkW2pdLGUpO3JldHVybiB0aGlzfWlmKGMuaXNGdW5jdGlvbihmKSl7ZT1mO2Y9d312YXIgaT1iPT09Im9uZSI/Yy5wcm94eShlLGZ1bmN0aW9uKGspe2ModGhpcykudW5iaW5kKGssaSk7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSk6ZTtpZihkPT09InVubG9hZCImJmIhPT0ib25lIil0aGlzLm9uZShkLGYsZSk7ZWxzZXtqPTA7Zm9yKHZhciBvPXRoaXMubGVuZ3RoO2o8bztqKyspYy5ldmVudC5hZGQodGhpc1tqXSxkLGksZil9cmV0dXJuIHRoaXN9fSk7Yy5mbi5leHRlbmQoe3VuYmluZDpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09Im9iamVjdCImJgohYS5wcmV2ZW50RGVmYXVsdClmb3IodmFyIGQgaW4gYSl0aGlzLnVuYmluZChkLGFbZF0pO2Vsc2V7ZD0wO2Zvcih2YXIgZj10aGlzLmxlbmd0aDtkPGY7ZCsrKWMuZXZlbnQucmVtb3ZlKHRoaXNbZF0sYSxiKX1yZXR1cm4gdGhpc30sZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGQsZil7cmV0dXJuIHRoaXMubGl2ZShiLGQsZixhKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsZCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0wP3RoaXMudW5iaW5kKCJsaXZlIik6dGhpcy5kaWUoYixudWxsLGQsYSl9LHRyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yy5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe2lmKHRoaXNbMF0pe2E9Yy5FdmVudChhKTthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24oKTtjLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXNbMF0pO3JldHVybiBhLnJlc3VsdH19LAp0b2dnbGU6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWFyZ3VtZW50cyxkPTE7ZDxiLmxlbmd0aDspYy5wcm94eShhLGJbZCsrXSk7cmV0dXJuIHRoaXMuY2xpY2soYy5wcm94eShhLGZ1bmN0aW9uKGYpe3ZhciBlPShjLmRhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlkKXx8MCklZDtjLmRhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlkLGUrMSk7Zi5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBiW2VdLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ZmFsc2V9KSl9LGhvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pO3ZhciBHYT17Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0Iixtb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In07Yy5lYWNoKFsibGl2ZSIsImRpZSJdLGZ1bmN0aW9uKGEsYil7Yy5mbltiXT1mdW5jdGlvbihkLGYsZSxqKXt2YXIgaSxvPTAsayxuLHI9anx8dGhpcy5zZWxlY3RvciwKdT1qP3RoaXM6Yyh0aGlzLmNvbnRleHQpO2lmKGMuaXNGdW5jdGlvbihmKSl7ZT1mO2Y9d31mb3IoZD0oZHx8IiIpLnNwbGl0KCIgIik7KGk9ZFtvKytdKSE9bnVsbDspe2o9Ty5leGVjKGkpO2s9IiI7aWYoail7az1qWzBdO2k9aS5yZXBsYWNlKE8sIiIpfWlmKGk9PT0iaG92ZXIiKWQucHVzaCgibW91c2VlbnRlciIraywibW91c2VsZWF2ZSIrayk7ZWxzZXtuPWk7aWYoaT09PSJmb2N1cyJ8fGk9PT0iYmx1ciIpe2QucHVzaChHYVtpXStrKTtpKz1rfWVsc2UgaT0oR2FbaV18fGkpK2s7Yj09PSJsaXZlIj91LmVhY2goZnVuY3Rpb24oKXtjLmV2ZW50LmFkZCh0aGlzLHBhKGkscikse2RhdGE6ZixzZWxlY3RvcjpyLGhhbmRsZXI6ZSxvcmlnVHlwZTppLG9yaWdIYW5kbGVyOmUscHJlVHlwZTpufSl9KTp1LnVuYmluZChwYShpLHIpLGUpfX1yZXR1cm4gdGhpc319KTtjLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IiLnNwbGl0KCIgIiksCmZ1bmN0aW9uKGEsYil7Yy5mbltiXT1mdW5jdGlvbihkKXtyZXR1cm4gZD90aGlzLmJpbmQoYixkKTp0aGlzLnRyaWdnZXIoYil9O2lmKGMuYXR0ckZuKWMuYXR0ckZuW2JdPXRydWV9KTtBLmF0dGFjaEV2ZW50JiYhQS5hZGRFdmVudExpc3RlbmVyJiZBLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gYy5jYWNoZSlpZihjLmNhY2hlW2FdLmhhbmRsZSl0cnl7Yy5ldmVudC5yZW1vdmUoYy5jYWNoZVthXS5oYW5kbGUuZWxlbSl9Y2F0Y2goYil7fX0pOyhmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZyl7Zm9yKHZhciBoPSIiLGwsbT0wO2dbbV07bSsrKXtsPWdbbV07aWYobC5ub2RlVHlwZT09PTN8fGwubm9kZVR5cGU9PT00KWgrPWwubm9kZVZhbHVlO2Vsc2UgaWYobC5ub2RlVHlwZSE9PTgpaCs9YShsLmNoaWxkTm9kZXMpfXJldHVybiBofWZ1bmN0aW9uIGIoZyxoLGwsbSxxLHApe3E9MDtmb3IodmFyIHY9bS5sZW5ndGg7cTx2O3ErKyl7dmFyIHQ9bVtxXTsKaWYodCl7dD10W2ddO2Zvcih2YXIgeT1mYWxzZTt0Oyl7aWYodC5zaXpjYWNoZT09PWwpe3k9bVt0LnNpenNldF07YnJlYWt9aWYodC5ub2RlVHlwZT09PTEmJiFwKXt0LnNpemNhY2hlPWw7dC5zaXpzZXQ9cX1pZih0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1oKXt5PXQ7YnJlYWt9dD10W2ddfW1bcV09eX19fWZ1bmN0aW9uIGQoZyxoLGwsbSxxLHApe3E9MDtmb3IodmFyIHY9bS5sZW5ndGg7cTx2O3ErKyl7dmFyIHQ9bVtxXTtpZih0KXt0PXRbZ107Zm9yKHZhciB5PWZhbHNlO3Q7KXtpZih0LnNpemNhY2hlPT09bCl7eT1tW3Quc2l6c2V0XTticmVha31pZih0Lm5vZGVUeXBlPT09MSl7aWYoIXApe3Quc2l6Y2FjaGU9bDt0LnNpenNldD1xfWlmKHR5cGVvZiBoIT09InN0cmluZyIpe2lmKHQ9PT1oKXt5PXRydWU7YnJlYWt9fWVsc2UgaWYoay5maWx0ZXIoaCxbdF0pLmxlbmd0aD4wKXt5PXQ7YnJlYWt9fXQ9dFtnXX1tW3FdPXl9fX12YXIgZj0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXltcXV0qXF18WyciXVteJyJdKlsnIl18W15bXF0nIl0rKStcXXxcXC58W14gPit+LChcW1xcXSspK3xbPit+XSkoXHMqLFxzKik/KCg/Oi58XHJ8XG4pKikvZywKZT0wLGo9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxpPWZhbHNlLG89dHJ1ZTtbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7bz1mYWxzZTtyZXR1cm4gMH0pO3ZhciBrPWZ1bmN0aW9uKGcsaCxsLG0pe2w9bHx8W107dmFyIHE9aD1ofHxzO2lmKGgubm9kZVR5cGUhPT0xJiZoLm5vZGVUeXBlIT09OSlyZXR1cm5bXTtpZighZ3x8dHlwZW9mIGchPT0ic3RyaW5nIilyZXR1cm4gbDtmb3IodmFyIHA9W10sdix0LHksUyxIPXRydWUsTT14KGgpLEk9ZzsoZi5leGVjKCIiKSx2PWYuZXhlYyhJKSkhPT1udWxsOyl7ST12WzNdO3AucHVzaCh2WzFdKTtpZih2WzJdKXtTPXZbM107YnJlYWt9fWlmKHAubGVuZ3RoPjEmJnIuZXhlYyhnKSlpZihwLmxlbmd0aD09PTImJm4ucmVsYXRpdmVbcFswXV0pdD1nYShwWzBdK3BbMV0saCk7ZWxzZSBmb3IodD1uLnJlbGF0aXZlW3BbMF1dP1toXTprKHAuc2hpZnQoKSxoKTtwLmxlbmd0aDspe2c9cC5zaGlmdCgpO2lmKG4ucmVsYXRpdmVbZ10pZys9cC5zaGlmdCgpOwp0PWdhKGcsdCl9ZWxzZXtpZighbSYmcC5sZW5ndGg+MSYmaC5ub2RlVHlwZT09PTkmJiFNJiZuLm1hdGNoLklELnRlc3QocFswXSkmJiFuLm1hdGNoLklELnRlc3QocFtwLmxlbmd0aC0xXSkpe3Y9ay5maW5kKHAuc2hpZnQoKSxoLE0pO2g9di5leHByP2suZmlsdGVyKHYuZXhwcix2LnNldClbMF06di5zZXRbMF19aWYoaCl7dj1tP3tleHByOnAucG9wKCksc2V0OnoobSl9OmsuZmluZChwLnBvcCgpLHAubGVuZ3RoPT09MSYmKHBbMF09PT0ifiJ8fHBbMF09PT0iKyIpJiZoLnBhcmVudE5vZGU/aC5wYXJlbnROb2RlOmgsTSk7dD12LmV4cHI/ay5maWx0ZXIodi5leHByLHYuc2V0KTp2LnNldDtpZihwLmxlbmd0aD4wKXk9eih0KTtlbHNlIEg9ZmFsc2U7Zm9yKDtwLmxlbmd0aDspe3ZhciBEPXAucG9wKCk7dj1EO2lmKG4ucmVsYXRpdmVbRF0pdj1wLnBvcCgpO2Vsc2UgRD0iIjtpZih2PT1udWxsKXY9aDtuLnJlbGF0aXZlW0RdKHksdixNKX19ZWxzZSB5PVtdfXl8fCh5PXQpO3l8fGsuZXJyb3IoRHx8CmcpO2lmKGouY2FsbCh5KT09PSJbb2JqZWN0IEFycmF5XSIpaWYoSClpZihoJiZoLm5vZGVUeXBlPT09MSlmb3IoZz0wO3lbZ10hPW51bGw7ZysrKXtpZih5W2ddJiYoeVtnXT09PXRydWV8fHlbZ10ubm9kZVR5cGU9PT0xJiZFKGgseVtnXSkpKWwucHVzaCh0W2ddKX1lbHNlIGZvcihnPTA7eVtnXSE9bnVsbDtnKyspeVtnXSYmeVtnXS5ub2RlVHlwZT09PTEmJmwucHVzaCh0W2ddKTtlbHNlIGwucHVzaC5hcHBseShsLHkpO2Vsc2Ugeih5LGwpO2lmKFMpe2soUyxxLGwsbSk7ay51bmlxdWVTb3J0KGwpfXJldHVybiBsfTtrLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZyl7aWYoQil7aT1vO2cuc29ydChCKTtpZihpKWZvcih2YXIgaD0xO2g8Zy5sZW5ndGg7aCsrKWdbaF09PT1nW2gtMV0mJmcuc3BsaWNlKGgtLSwxKX1yZXR1cm4gZ307ay5tYXRjaGVzPWZ1bmN0aW9uKGcsaCl7cmV0dXJuIGsoZyxudWxsLG51bGwsaCl9O2suZmluZD1mdW5jdGlvbihnLGgsbCl7dmFyIG0scTtpZighZylyZXR1cm5bXTsKZm9yKHZhciBwPTAsdj1uLm9yZGVyLmxlbmd0aDtwPHY7cCsrKXt2YXIgdD1uLm9yZGVyW3BdO2lmKHE9bi5sZWZ0TWF0Y2hbdF0uZXhlYyhnKSl7dmFyIHk9cVsxXTtxLnNwbGljZSgxLDEpO2lmKHkuc3Vic3RyKHkubGVuZ3RoLTEpIT09IlxcIil7cVsxXT0ocVsxXXx8IiIpLnJlcGxhY2UoL1xcL2csIiIpO209bi5maW5kW3RdKHEsaCxsKTtpZihtIT1udWxsKXtnPWcucmVwbGFjZShuLm1hdGNoW3RdLCIiKTticmVha319fX1tfHwobT1oLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO3JldHVybntzZXQ6bSxleHByOmd9fTtrLmZpbHRlcj1mdW5jdGlvbihnLGgsbCxtKXtmb3IodmFyIHE9ZyxwPVtdLHY9aCx0LHksUz1oJiZoWzBdJiZ4KGhbMF0pO2cmJmgubGVuZ3RoOyl7Zm9yKHZhciBIIGluIG4uZmlsdGVyKWlmKCh0PW4ubGVmdE1hdGNoW0hdLmV4ZWMoZykpIT1udWxsJiZ0WzJdKXt2YXIgTT1uLmZpbHRlcltIXSxJLEQ7RD10WzFdO3k9ZmFsc2U7dC5zcGxpY2UoMSwxKTtpZihELnN1YnN0cihELmxlbmd0aC0KMSkhPT0iXFwiKXtpZih2PT09cClwPVtdO2lmKG4ucHJlRmlsdGVyW0hdKWlmKHQ9bi5wcmVGaWx0ZXJbSF0odCx2LGwscCxtLFMpKXtpZih0PT09dHJ1ZSljb250aW51ZX1lbHNlIHk9ST10cnVlO2lmKHQpZm9yKHZhciBVPTA7KEQ9dltVXSkhPW51bGw7VSsrKWlmKEQpe0k9TShELHQsVSx2KTt2YXIgSGE9bV4hIUk7aWYobCYmSSE9bnVsbClpZihIYSl5PXRydWU7ZWxzZSB2W1VdPWZhbHNlO2Vsc2UgaWYoSGEpe3AucHVzaChEKTt5PXRydWV9fWlmKEkhPT13KXtsfHwodj1wKTtnPWcucmVwbGFjZShuLm1hdGNoW0hdLCIiKTtpZigheSlyZXR1cm5bXTticmVha319fWlmKGc9PT1xKWlmKHk9PW51bGwpay5lcnJvcihnKTtlbHNlIGJyZWFrO3E9Z31yZXR1cm4gdn07ay5lcnJvcj1mdW5jdGlvbihnKXt0aHJvdyJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2c7fTt2YXIgbj1rLnNlbGVjdG9ycz17b3JkZXI6WyJJRCIsIk5BTUUiLCJUQUciXSxtYXRjaDp7SUQ6LyMoKD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikrKS8sCkNMQVNTOi9cLigoPzpbXHdcdTAwYzAtXHVGRkZGLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikrKVsnIl0qXF0vLEFUVFI6L1xbXHMqKCg/Oltcd1x1MDBjMC1cdUZGRkYtXXxcXC4pKylccyooPzooXFM/PSlccyooWyciXSopKC4qPylcM3wpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCotXXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86XCgoZXZlbnxvZGR8W1xkbistXSopXCkpPy8sUE9TOi86KG50aHxlcXxndHxsdHxmaXJzdHxsYXN0fGV2ZW58b2RkKSg/OlwoKFxkKilcKSk/KD89W14tXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkYtXXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxbXlwoXCldKikrKVwyXCkpPy99LGxlZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihnKXtyZXR1cm4gZy5nZXRBdHRyaWJ1dGUoImhyZWYiKX19LApyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGcsaCl7dmFyIGw9dHlwZW9mIGg9PT0ic3RyaW5nIixtPWwmJiEvXFcvLnRlc3QoaCk7bD1sJiYhbTtpZihtKWg9aC50b0xvd2VyQ2FzZSgpO209MDtmb3IodmFyIHE9Zy5sZW5ndGgscDttPHE7bSsrKWlmKHA9Z1ttXSl7Zm9yKDsocD1wLnByZXZpb3VzU2libGluZykmJnAubm9kZVR5cGUhPT0xOyk7Z1ttXT1sfHxwJiZwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1oP3B8fGZhbHNlOnA9PT1ofWwmJmsuZmlsdGVyKGgsZyx0cnVlKX0sIj4iOmZ1bmN0aW9uKGcsaCl7dmFyIGw9dHlwZW9mIGg9PT0ic3RyaW5nIjtpZihsJiYhL1xXLy50ZXN0KGgpKXtoPWgudG9Mb3dlckNhc2UoKTtmb3IodmFyIG09MCxxPWcubGVuZ3RoO208cTttKyspe3ZhciBwPWdbbV07aWYocCl7bD1wLnBhcmVudE5vZGU7Z1ttXT1sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1oP2w6ZmFsc2V9fX1lbHNle209MDtmb3IocT1nLmxlbmd0aDttPHE7bSsrKWlmKHA9Z1ttXSlnW21dPQpsP3AucGFyZW50Tm9kZTpwLnBhcmVudE5vZGU9PT1oO2wmJmsuZmlsdGVyKGgsZyx0cnVlKX19LCIiOmZ1bmN0aW9uKGcsaCxsKXt2YXIgbT1lKysscT1kO2lmKHR5cGVvZiBoPT09InN0cmluZyImJiEvXFcvLnRlc3QoaCkpe3ZhciBwPWg9aC50b0xvd2VyQ2FzZSgpO3E9Yn1xKCJwYXJlbnROb2RlIixoLG0sZyxwLGwpfSwifiI6ZnVuY3Rpb24oZyxoLGwpe3ZhciBtPWUrKyxxPWQ7aWYodHlwZW9mIGg9PT0ic3RyaW5nIiYmIS9cVy8udGVzdChoKSl7dmFyIHA9aD1oLnRvTG93ZXJDYXNlKCk7cT1ifXEoInByZXZpb3VzU2libGluZyIsaCxtLGcscCxsKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGcsaCxsKXtpZih0eXBlb2YgaC5nZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYhbClyZXR1cm4oZz1oLmdldEVsZW1lbnRCeUlkKGdbMV0pKT9bZ106W119LE5BTUU6ZnVuY3Rpb24oZyxoKXtpZih0eXBlb2YgaC5nZXRFbGVtZW50c0J5TmFtZSE9PSJ1bmRlZmluZWQiKXt2YXIgbD1bXTsKaD1oLmdldEVsZW1lbnRzQnlOYW1lKGdbMV0pO2Zvcih2YXIgbT0wLHE9aC5sZW5ndGg7bTxxO20rKyloW21dLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09Z1sxXSYmbC5wdXNoKGhbbV0pO3JldHVybiBsLmxlbmd0aD09PTA/bnVsbDpsfX0sVEFHOmZ1bmN0aW9uKGcsaCl7cmV0dXJuIGguZ2V0RWxlbWVudHNCeVRhZ05hbWUoZ1sxXSl9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKGcsaCxsLG0scSxwKXtnPSIgIitnWzFdLnJlcGxhY2UoL1xcL2csIiIpKyIgIjtpZihwKXJldHVybiBnO3A9MDtmb3IodmFyIHY7KHY9aFtwXSkhPW51bGw7cCsrKWlmKHYpaWYocV4odi5jbGFzc05hbWUmJigiICIrdi5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcbl0vZywiICIpLmluZGV4T2YoZyk+PTApKWx8fG0ucHVzaCh2KTtlbHNlIGlmKGwpaFtwXT1mYWxzZTtyZXR1cm4gZmFsc2V9LElEOmZ1bmN0aW9uKGcpe3JldHVybiBnWzFdLnJlcGxhY2UoL1xcL2csIiIpfSxUQUc6ZnVuY3Rpb24oZyl7cmV0dXJuIGdbMV0udG9Mb3dlckNhc2UoKX0sCkNISUxEOmZ1bmN0aW9uKGcpe2lmKGdbMV09PT0ibnRoIil7dmFyIGg9LygtPykoXGQqKW4oKD86XCt8LSk/XGQqKS8uZXhlYyhnWzJdPT09ImV2ZW4iJiYiMm4ifHxnWzJdPT09Im9kZCImJiIybisxInx8IS9cRC8udGVzdChnWzJdKSYmIjBuKyIrZ1syXXx8Z1syXSk7Z1syXT1oWzFdKyhoWzJdfHwxKS0wO2dbM109aFszXS0wfWdbMF09ZSsrO3JldHVybiBnfSxBVFRSOmZ1bmN0aW9uKGcsaCxsLG0scSxwKXtoPWdbMV0ucmVwbGFjZSgvXFwvZywiIik7aWYoIXAmJm4uYXR0ck1hcFtoXSlnWzFdPW4uYXR0ck1hcFtoXTtpZihnWzJdPT09In49IilnWzRdPSIgIitnWzRdKyIgIjtyZXR1cm4gZ30sUFNFVURPOmZ1bmN0aW9uKGcsaCxsLG0scSl7aWYoZ1sxXT09PSJub3QiKWlmKChmLmV4ZWMoZ1szXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVzdChnWzNdKSlnWzNdPWsoZ1szXSxudWxsLG51bGwsaCk7ZWxzZXtnPWsuZmlsdGVyKGdbM10saCxsLHRydWVecSk7bHx8bS5wdXNoLmFwcGx5KG0sCmcpO3JldHVybiBmYWxzZX1lbHNlIGlmKG4ubWF0Y2guUE9TLnRlc3QoZ1swXSl8fG4ubWF0Y2guQ0hJTEQudGVzdChnWzBdKSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZ30sUE9TOmZ1bmN0aW9uKGcpe2cudW5zaGlmdCh0cnVlKTtyZXR1cm4gZ319LGZpbHRlcnM6e2VuYWJsZWQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGcuZGlzYWJsZWQ9PT1mYWxzZSYmZy50eXBlIT09ImhpZGRlbiJ9LGRpc2FibGVkOmZ1bmN0aW9uKGcpe3JldHVybiBnLmRpc2FibGVkPT09dHJ1ZX0sY2hlY2tlZDpmdW5jdGlvbihnKXtyZXR1cm4gZy5jaGVja2VkPT09dHJ1ZX0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGcuc2VsZWN0ZWQ9PT10cnVlfSxwYXJlbnQ6ZnVuY3Rpb24oZyl7cmV0dXJuISFnLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGcpe3JldHVybiFnLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihnLGgsbCl7cmV0dXJuISFrKGxbM10sZykubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZyl7cmV0dXJuL2hcZC9pLnRlc3QoZy5ub2RlTmFtZSl9LAp0ZXh0OmZ1bmN0aW9uKGcpe3JldHVybiJ0ZXh0Ij09PWcudHlwZX0scmFkaW86ZnVuY3Rpb24oZyl7cmV0dXJuInJhZGlvIj09PWcudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZyl7cmV0dXJuImNoZWNrYm94Ij09PWcudHlwZX0sZmlsZTpmdW5jdGlvbihnKXtyZXR1cm4iZmlsZSI9PT1nLnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKGcpe3JldHVybiJwYXNzd29yZCI9PT1nLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihnKXtyZXR1cm4ic3VibWl0Ij09PWcudHlwZX0saW1hZ2U6ZnVuY3Rpb24oZyl7cmV0dXJuImltYWdlIj09PWcudHlwZX0scmVzZXQ6ZnVuY3Rpb24oZyl7cmV0dXJuInJlc2V0Ij09PWcudHlwZX0sYnV0dG9uOmZ1bmN0aW9uKGcpe3JldHVybiJidXR0b24iPT09Zy50eXBlfHxnLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iYnV0dG9uIn0saW5wdXQ6ZnVuY3Rpb24oZyl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0KGcubm9kZU5hbWUpfX0sCnNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGcsaCl7cmV0dXJuIGg9PT0wfSxsYXN0OmZ1bmN0aW9uKGcsaCxsLG0pe3JldHVybiBoPT09bS5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihnLGgpe3JldHVybiBoJTI9PT0wfSxvZGQ6ZnVuY3Rpb24oZyxoKXtyZXR1cm4gaCUyPT09MX0sbHQ6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBoPGxbM10tMH0sZ3Q6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBoPmxbM10tMH0sbnRoOmZ1bmN0aW9uKGcsaCxsKXtyZXR1cm4gbFszXS0wPT09aH0sZXE6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBsWzNdLTA9PT1ofX0sZmlsdGVyOntQU0VVRE86ZnVuY3Rpb24oZyxoLGwsbSl7dmFyIHE9aFsxXSxwPW4uZmlsdGVyc1txXTtpZihwKXJldHVybiBwKGcsbCxoLG0pO2Vsc2UgaWYocT09PSJjb250YWlucyIpcmV0dXJuKGcudGV4dENvbnRlbnR8fGcuaW5uZXJUZXh0fHxhKFtnXSl8fCIiKS5pbmRleE9mKGhbM10pPj0wO2Vsc2UgaWYocT09PSJub3QiKXtoPQpoWzNdO2w9MDtmb3IobT1oLmxlbmd0aDtsPG07bCsrKWlmKGhbbF09PT1nKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZX1lbHNlIGsuZXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrcSl9LENISUxEOmZ1bmN0aW9uKGcsaCl7dmFyIGw9aFsxXSxtPWc7c3dpdGNoKGwpe2Nhc2UgIm9ubHkiOmNhc2UgImZpcnN0Ijpmb3IoO209bS5wcmV2aW91c1NpYmxpbmc7KWlmKG0ubm9kZVR5cGU9PT0xKXJldHVybiBmYWxzZTtpZihsPT09ImZpcnN0IilyZXR1cm4gdHJ1ZTttPWc7Y2FzZSAibGFzdCI6Zm9yKDttPW0ubmV4dFNpYmxpbmc7KWlmKG0ubm9kZVR5cGU9PT0xKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTtjYXNlICJudGgiOmw9aFsyXTt2YXIgcT1oWzNdO2lmKGw9PT0xJiZxPT09MClyZXR1cm4gdHJ1ZTtoPWhbMF07dmFyIHA9Zy5wYXJlbnROb2RlO2lmKHAmJihwLnNpemNhY2hlIT09aHx8IWcubm9kZUluZGV4KSl7dmFyIHY9MDtmb3IobT1wLmZpcnN0Q2hpbGQ7bTttPQptLm5leHRTaWJsaW5nKWlmKG0ubm9kZVR5cGU9PT0xKW0ubm9kZUluZGV4PSsrdjtwLnNpemNhY2hlPWh9Zz1nLm5vZGVJbmRleC1xO3JldHVybiBsPT09MD9nPT09MDpnJWw9PT0wJiZnL2w+PTB9fSxJRDpmdW5jdGlvbihnLGgpe3JldHVybiBnLm5vZGVUeXBlPT09MSYmZy5nZXRBdHRyaWJ1dGUoImlkIik9PT1ofSxUQUc6ZnVuY3Rpb24oZyxoKXtyZXR1cm4gaD09PSIqIiYmZy5ub2RlVHlwZT09PTF8fGcubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWh9LENMQVNTOmZ1bmN0aW9uKGcsaCl7cmV0dXJuKCIgIisoZy5jbGFzc05hbWV8fGcuZ2V0QXR0cmlidXRlKCJjbGFzcyIpKSsiICIpLmluZGV4T2YoaCk+LTF9LEFUVFI6ZnVuY3Rpb24oZyxoKXt2YXIgbD1oWzFdO2c9bi5hdHRySGFuZGxlW2xdP24uYXR0ckhhbmRsZVtsXShnKTpnW2xdIT1udWxsP2dbbF06Zy5nZXRBdHRyaWJ1dGUobCk7bD1nKyIiO3ZhciBtPWhbMl07aD1oWzRdO3JldHVybiBnPT1udWxsP209PT0iIT0iOm09PT0KIj0iP2w9PT1oOm09PT0iKj0iP2wuaW5kZXhPZihoKT49MDptPT09In49Ij8oIiAiK2wrIiAiKS5pbmRleE9mKGgpPj0wOiFoP2wmJmchPT1mYWxzZTptPT09IiE9Ij9sIT09aDptPT09Il49Ij9sLmluZGV4T2YoaCk9PT0wOm09PT0iJD0iP2wuc3Vic3RyKGwubGVuZ3RoLWgubGVuZ3RoKT09PWg6bT09PSJ8PSI/bD09PWh8fGwuc3Vic3RyKDAsaC5sZW5ndGgrMSk9PT1oKyItIjpmYWxzZX0sUE9TOmZ1bmN0aW9uKGcsaCxsLG0pe3ZhciBxPW4uc2V0RmlsdGVyc1toWzJdXTtpZihxKXJldHVybiBxKGcsbCxoLG0pfX19LHI9bi5tYXRjaC5QT1M7Zm9yKHZhciB1IGluIG4ubWF0Y2gpe24ubWF0Y2hbdV09bmV3IFJlZ0V4cChuLm1hdGNoW3VdLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15cKF0qXCkpLy5zb3VyY2UpO24ubGVmdE1hdGNoW3VdPW5ldyBSZWdFeHAoLyheKD86LnxccnxcbikqPykvLnNvdXJjZStuLm1hdGNoW3VdLnNvdXJjZS5yZXBsYWNlKC9cXChcZCspL2csZnVuY3Rpb24oZywKaCl7cmV0dXJuIlxcIisoaC0wKzEpfSkpfXZhciB6PWZ1bmN0aW9uKGcsaCl7Zz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChnLDApO2lmKGgpe2gucHVzaC5hcHBseShoLGcpO3JldHVybiBofXJldHVybiBnfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocy5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKX1jYXRjaChDKXt6PWZ1bmN0aW9uKGcsaCl7aD1ofHxbXTtpZihqLmNhbGwoZyk9PT0iW29iamVjdCBBcnJheV0iKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGgsZyk7ZWxzZSBpZih0eXBlb2YgZy5sZW5ndGg9PT0ibnVtYmVyIilmb3IodmFyIGw9MCxtPWcubGVuZ3RoO2w8bTtsKyspaC5wdXNoKGdbbF0pO2Vsc2UgZm9yKGw9MDtnW2xdO2wrKyloLnB1c2goZ1tsXSk7cmV0dXJuIGh9fXZhciBCO2lmKHMuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKUI9ZnVuY3Rpb24oZyxoKXtpZighZy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbnx8CiFoLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXtpZihnPT1oKWk9dHJ1ZTtyZXR1cm4gZy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfWc9Zy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihoKSY0Py0xOmc9PT1oPzA6MTtpZihnPT09MClpPXRydWU7cmV0dXJuIGd9O2Vsc2UgaWYoInNvdXJjZUluZGV4ImluIHMuZG9jdW1lbnRFbGVtZW50KUI9ZnVuY3Rpb24oZyxoKXtpZighZy5zb3VyY2VJbmRleHx8IWguc291cmNlSW5kZXgpe2lmKGc9PWgpaT10cnVlO3JldHVybiBnLnNvdXJjZUluZGV4Py0xOjF9Zz1nLnNvdXJjZUluZGV4LWguc291cmNlSW5kZXg7aWYoZz09PTApaT10cnVlO3JldHVybiBnfTtlbHNlIGlmKHMuY3JlYXRlUmFuZ2UpQj1mdW5jdGlvbihnLGgpe2lmKCFnLm93bmVyRG9jdW1lbnR8fCFoLm93bmVyRG9jdW1lbnQpe2lmKGc9PWgpaT10cnVlO3JldHVybiBnLm93bmVyRG9jdW1lbnQ/LTE6MX12YXIgbD1nLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxtPQpoLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtsLnNldFN0YXJ0KGcsMCk7bC5zZXRFbmQoZywwKTttLnNldFN0YXJ0KGgsMCk7bS5zZXRFbmQoaCwwKTtnPWwuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX0VORCxtKTtpZihnPT09MClpPXRydWU7cmV0dXJuIGd9OyhmdW5jdGlvbigpe3ZhciBnPXMuY3JlYXRlRWxlbWVudCgiZGl2IiksaD0ic2NyaXB0IisobmV3IERhdGUpLmdldFRpbWUoKTtnLmlubmVySFRNTD0iPGEgbmFtZT0nIitoKyInLz4iO3ZhciBsPXMuZG9jdW1lbnRFbGVtZW50O2wuaW5zZXJ0QmVmb3JlKGcsbC5maXJzdENoaWxkKTtpZihzLmdldEVsZW1lbnRCeUlkKGgpKXtuLmZpbmQuSUQ9ZnVuY3Rpb24obSxxLHApe2lmKHR5cGVvZiBxLmdldEVsZW1lbnRCeUlkIT09InVuZGVmaW5lZCImJiFwKXJldHVybihxPXEuZ2V0RWxlbWVudEJ5SWQobVsxXSkpP3EuaWQ9PT1tWzFdfHx0eXBlb2YgcS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJgpxLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09bVsxXT9bcV06dzpbXX07bi5maWx0ZXIuSUQ9ZnVuY3Rpb24obSxxKXt2YXIgcD10eXBlb2YgbS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJm0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gbS5ub2RlVHlwZT09PTEmJnAmJnAubm9kZVZhbHVlPT09cX19bC5yZW1vdmVDaGlsZChnKTtsPWc9bnVsbH0pKCk7KGZ1bmN0aW9uKCl7dmFyIGc9cy5jcmVhdGVFbGVtZW50KCJkaXYiKTtnLmFwcGVuZENoaWxkKHMuY3JlYXRlQ29tbWVudCgiIikpO2lmKGcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGg+MCluLmZpbmQuVEFHPWZ1bmN0aW9uKGgsbCl7bD1sLmdldEVsZW1lbnRzQnlUYWdOYW1lKGhbMV0pO2lmKGhbMV09PT0iKiIpe2g9W107Zm9yKHZhciBtPTA7bFttXTttKyspbFttXS5ub2RlVHlwZT09PTEmJmgucHVzaChsW21dKTtsPWh9cmV0dXJuIGx9O2cuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IjsKaWYoZy5maXJzdENoaWxkJiZ0eXBlb2YgZy5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSE9PSJ1bmRlZmluZWQiJiZnLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikhPT0iIyIpbi5hdHRySGFuZGxlLmhyZWY9ZnVuY3Rpb24oaCl7cmV0dXJuIGguZ2V0QXR0cmlidXRlKCJocmVmIiwyKX07Zz1udWxsfSkoKTtzLnF1ZXJ5U2VsZWN0b3JBbGwmJmZ1bmN0aW9uKCl7dmFyIGc9ayxoPXMuY3JlYXRlRWxlbWVudCgiZGl2Iik7aC5pbm5lckhUTUw9IjxwIGNsYXNzPSdURVNUJz48L3A+IjtpZighKGgucXVlcnlTZWxlY3RvckFsbCYmaC5xdWVyeVNlbGVjdG9yQWxsKCIuVEVTVCIpLmxlbmd0aD09PTApKXtrPWZ1bmN0aW9uKG0scSxwLHYpe3E9cXx8cztpZighdiYmcS5ub2RlVHlwZT09PTkmJiF4KHEpKXRyeXtyZXR1cm4geihxLnF1ZXJ5U2VsZWN0b3JBbGwobSkscCl9Y2F0Y2godCl7fXJldHVybiBnKG0scSxwLHYpfTtmb3IodmFyIGwgaW4gZylrW2xdPWdbbF07aD1udWxsfX0oKTsKKGZ1bmN0aW9uKCl7dmFyIGc9cy5jcmVhdGVFbGVtZW50KCJkaXYiKTtnLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iO2lmKCEoIWcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZXx8Zy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoPT09MCkpe2cubGFzdENoaWxkLmNsYXNzTmFtZT0iZSI7aWYoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoIT09MSl7bi5vcmRlci5zcGxpY2UoMSwwLCJDTEFTUyIpO24uZmluZC5DTEFTUz1mdW5jdGlvbihoLGwsbSl7aWYodHlwZW9mIGwuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9PSJ1bmRlZmluZWQiJiYhbSlyZXR1cm4gbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGhbMV0pfTtnPW51bGx9fX0pKCk7dmFyIEU9cy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihnLGgpe3JldHVybiEhKGcuY29tcGFyZURvY3VtZW50UG9zaXRpb24oaCkmMTYpfToKZnVuY3Rpb24oZyxoKXtyZXR1cm4gZyE9PWgmJihnLmNvbnRhaW5zP2cuY29udGFpbnMoaCk6dHJ1ZSl9LHg9ZnVuY3Rpb24oZyl7cmV0dXJuKGc9KGc/Zy5vd25lckRvY3VtZW50fHxnOjApLmRvY3VtZW50RWxlbWVudCk/Zy5ub2RlTmFtZSE9PSJIVE1MIjpmYWxzZX0sZ2E9ZnVuY3Rpb24oZyxoKXt2YXIgbD1bXSxtPSIiLHE7Zm9yKGg9aC5ub2RlVHlwZT9baF06aDtxPW4ubWF0Y2guUFNFVURPLmV4ZWMoZyk7KXttKz1xWzBdO2c9Zy5yZXBsYWNlKG4ubWF0Y2guUFNFVURPLCIiKX1nPW4ucmVsYXRpdmVbZ10/ZysiKiI6ZztxPTA7Zm9yKHZhciBwPWgubGVuZ3RoO3E8cDtxKyspayhnLGhbcV0sbCk7cmV0dXJuIGsuZmlsdGVyKG0sbCl9O2MuZmluZD1rO2MuZXhwcj1rLnNlbGVjdG9ycztjLmV4cHJbIjoiXT1jLmV4cHIuZmlsdGVycztjLnVuaXF1ZT1rLnVuaXF1ZVNvcnQ7Yy50ZXh0PWE7Yy5pc1hNTERvYz14O2MuY29udGFpbnM9RX0pKCk7dmFyIGViPS9VbnRpbCQvLGZiPS9eKD86cGFyZW50c3xwcmV2VW50aWx8cHJldkFsbCkvLApnYj0vLC87Uj1BcnJheS5wcm90b3R5cGUuc2xpY2U7dmFyIElhPWZ1bmN0aW9uKGEsYixkKXtpZihjLmlzRnVuY3Rpb24oYikpcmV0dXJuIGMuZ3JlcChhLGZ1bmN0aW9uKGUsail7cmV0dXJuISFiLmNhbGwoZSxqLGUpPT09ZH0pO2Vsc2UgaWYoYi5ub2RlVHlwZSlyZXR1cm4gYy5ncmVwKGEsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1iPT09ZH0pO2Vsc2UgaWYodHlwZW9mIGI9PT0ic3RyaW5nIil7dmFyIGY9Yy5ncmVwKGEsZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZVR5cGU9PT0xfSk7aWYoVWEudGVzdChiKSlyZXR1cm4gYy5maWx0ZXIoYixmLCFkKTtlbHNlIGI9Yy5maWx0ZXIoYixmKX1yZXR1cm4gYy5ncmVwKGEsZnVuY3Rpb24oZSl7cmV0dXJuIGMuaW5BcnJheShlLGIpPj0wPT09ZH0pfTtjLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcy5wdXNoU3RhY2soIiIsImZpbmQiLGEpLGQ9MCxmPTAsZT10aGlzLmxlbmd0aDtmPGU7ZisrKXtkPWIubGVuZ3RoOwpjLmZpbmQoYSx0aGlzW2ZdLGIpO2lmKGY+MClmb3IodmFyIGo9ZDtqPGIubGVuZ3RoO2orKylmb3IodmFyIGk9MDtpPGQ7aSsrKWlmKGJbaV09PT1iW2pdKXtiLnNwbGljZShqLS0sMSk7YnJlYWt9fXJldHVybiBifSxoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9YyhhKTtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGQ9MCxmPWIubGVuZ3RoO2Q8ZjtkKyspaWYoYy5jb250YWlucyh0aGlzLGJbZF0pKXJldHVybiB0cnVlfSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soSWEodGhpcyxhLGZhbHNlKSwibm90IixhKX0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhJYSh0aGlzLGEsdHJ1ZSksImZpbHRlciIsYSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhYSYmYy5maWx0ZXIoYSx0aGlzKS5sZW5ndGg+MH0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2lmKGMuaXNBcnJheShhKSl7dmFyIGQ9W10sZj10aGlzWzBdLGUsaj0Ke30saTtpZihmJiZhLmxlbmd0aCl7ZT0wO2Zvcih2YXIgbz1hLmxlbmd0aDtlPG87ZSsrKXtpPWFbZV07altpXXx8KGpbaV09Yy5leHByLm1hdGNoLlBPUy50ZXN0KGkpP2MoaSxifHx0aGlzLmNvbnRleHQpOmkpfWZvcig7ZiYmZi5vd25lckRvY3VtZW50JiZmIT09Yjspe2ZvcihpIGluIGope2U9altpXTtpZihlLmpxdWVyeT9lLmluZGV4KGYpPi0xOmMoZikuaXMoZSkpe2QucHVzaCh7c2VsZWN0b3I6aSxlbGVtOmZ9KTtkZWxldGUgaltpXX19Zj1mLnBhcmVudE5vZGV9fXJldHVybiBkfXZhciBrPWMuZXhwci5tYXRjaC5QT1MudGVzdChhKT9jKGEsYnx8dGhpcy5jb250ZXh0KTpudWxsO3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihuLHIpe2Zvcig7ciYmci5vd25lckRvY3VtZW50JiZyIT09Yjspe2lmKGs/ay5pbmRleChyKT4tMTpjKHIpLmlzKGEpKXJldHVybiByO3I9ci5wYXJlbnROb2RlfXJldHVybiBudWxsfSl9LGluZGV4OmZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYT09PQoic3RyaW5nIilyZXR1cm4gYy5pbkFycmF5KHRoaXNbMF0sYT9jKGEpOnRoaXMucGFyZW50KCkuY2hpbGRyZW4oKSk7cmV0dXJuIGMuaW5BcnJheShhLmpxdWVyeT9hWzBdOmEsdGhpcyl9LGFkZDpmdW5jdGlvbihhLGIpe2E9dHlwZW9mIGE9PT0ic3RyaW5nIj9jKGEsYnx8dGhpcy5jb250ZXh0KTpjLm1ha2VBcnJheShhKTtiPWMubWVyZ2UodGhpcy5nZXQoKSxhKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2socWEoYVswXSl8fHFhKGJbMF0pP2I6Yy51bmlxdWUoYikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSk7Yy5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YS5wYXJlbnROb2RlKSYmYS5ub2RlVHlwZSE9PTExP2E6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gYy5kaXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBjLmRpcihhLCJwYXJlbnROb2RlIiwKZCl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGMubnRoKGEsMiwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gYy5udGgoYSwyLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gYy5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gYy5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsZCl7cmV0dXJuIGMuZGlyKGEsIm5leHRTaWJsaW5nIixkKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYy5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixkKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGMuc2libGluZyhhLnBhcmVudE5vZGUuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGMuc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gYy5ub2RlTmFtZShhLCJpZnJhbWUiKT8KYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudDpjLm1ha2VBcnJheShhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtjLmZuW2FdPWZ1bmN0aW9uKGQsZil7dmFyIGU9Yy5tYXAodGhpcyxiLGQpO2ViLnRlc3QoYSl8fChmPWQpO2lmKGYmJnR5cGVvZiBmPT09InN0cmluZyIpZT1jLmZpbHRlcihmLGUpO2U9dGhpcy5sZW5ndGg+MT9jLnVuaXF1ZShlKTplO2lmKCh0aGlzLmxlbmd0aD4xfHxnYi50ZXN0KGYpKSYmZmIudGVzdChhKSllPWUucmV2ZXJzZSgpO3JldHVybiB0aGlzLnB1c2hTdGFjayhlLGEsUi5jYWxsKGFyZ3VtZW50cykuam9pbigiLCIpKX19KTtjLmV4dGVuZCh7ZmlsdGVyOmZ1bmN0aW9uKGEsYixkKXtpZihkKWE9Ijpub3QoIithKyIpIjtyZXR1cm4gYy5maW5kLm1hdGNoZXMoYSxiKX0sZGlyOmZ1bmN0aW9uKGEsYixkKXt2YXIgZj1bXTtmb3IoYT1hW2JdO2EmJmEubm9kZVR5cGUhPT05JiYoZD09PXd8fGEubm9kZVR5cGUhPT0xfHwhYyhhKS5pcyhkKSk7KXthLm5vZGVUeXBlPT09CjEmJmYucHVzaChhKTthPWFbYl19cmV0dXJuIGZ9LG50aDpmdW5jdGlvbihhLGIsZCl7Yj1ifHwxO2Zvcih2YXIgZj0wO2E7YT1hW2RdKWlmKGEubm9kZVR5cGU9PT0xJiYrK2Y9PT1iKWJyZWFrO3JldHVybiBhfSxzaWJsaW5nOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkPVtdO2E7YT1hLm5leHRTaWJsaW5nKWEubm9kZVR5cGU9PT0xJiZhIT09YiYmZC5wdXNoKGEpO3JldHVybiBkfX0pO3ZhciBKYT0vIGpRdWVyeVxkKz0iKD86XGQrfG51bGwpIi9nLFY9L15ccysvLEthPS8oPChbXHc6XSspW14+XSo/KVwvPi9nLGhiPS9eKD86YXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkkL2ksTGE9LzwoW1x3Ol0rKS8saWI9Lzx0Ym9keS9pLGpiPS88fCYjP1x3KzsvLHRhPS88c2NyaXB0fDxvYmplY3R8PGVtYmVkfDxvcHRpb258PHN0eWxlL2ksdWE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksTWE9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBoYi50ZXN0KGQpPwphOmIrIj48LyIrZCsiPiJ9LEY9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07Ri5vcHRncm91cD1GLm9wdGlvbjtGLnRib2R5PUYudGZvb3Q9Ri5jb2xncm91cD1GLmNhcHRpb249Ri50aGVhZDtGLnRoPUYudGQ7aWYoIWMuc3VwcG9ydC5odG1sU2VyaWFsaXplKUYuX2RlZmF1bHQ9WzEsImRpdjxkaXY+IiwiPC9kaXY+Il07Yy5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGQ9CmModGhpcyk7ZC50ZXh0KGEuY2FsbCh0aGlzLGIsZC50ZXh0KCkpKX0pO2lmKHR5cGVvZiBhIT09Im9iamVjdCImJmEhPT13KXJldHVybiB0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHMpLmNyZWF0ZVRleHROb2RlKGEpKTtyZXR1cm4gYy50ZXh0KHRoaXMpfSx3cmFwQWxsOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGQpe2ModGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxkKSl9KTtpZih0aGlzWzBdKXt2YXIgYj1jKGEsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSh0cnVlKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pO2IubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPXRoaXM7ZC5maXJzdENoaWxkJiZkLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0xOylkPWQuZmlyc3RDaGlsZDtyZXR1cm4gZH0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sCndyYXBJbm5lcjpmdW5jdGlvbihhKXtpZihjLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtjKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9Yyh0aGlzKSxkPWIuY29udGVudHMoKTtkLmxlbmd0aD9kLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS53cmFwQWxsKGEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtjLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8Yyh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyx0cnVlLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmFwcGVuZENoaWxkKGEpfSl9LApwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLHRydWUsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMuaW5zZXJ0QmVmb3JlKGEsdGhpcy5maXJzdENoaWxkKX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1bmN0aW9uKGIpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYix0aGlzKX0pO2Vsc2UgaWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGE9Yyhhcmd1bWVudHNbMF0pO2EucHVzaC5hcHBseShhLHRoaXMudG9BcnJheSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYSwiYmVmb3JlIixhcmd1bWVudHMpfX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1bmN0aW9uKGIpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYiwKdGhpcy5uZXh0U2libGluZyl9KTtlbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBhPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLGMoYXJndW1lbnRzWzBdKS50b0FycmF5KCkpO3JldHVybiBhfX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkPTAsZjsoZj10aGlzW2RdKSE9bnVsbDtkKyspaWYoIWF8fGMuZmlsdGVyKGEsW2ZdKS5sZW5ndGgpe2lmKCFiJiZmLm5vZGVUeXBlPT09MSl7Yy5jbGVhbkRhdGEoZi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTtjLmNsZWFuRGF0YShbZl0pfWYucGFyZW50Tm9kZSYmZi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGYpfXJldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51bGw7YSsrKWZvcihiLm5vZGVUeXBlPT09MSYmYy5jbGVhbkRhdGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTtiLmZpcnN0Q2hpbGQ7KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKTsKcmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubWFwKGZ1bmN0aW9uKCl7aWYoIWMuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJiFjLmlzWE1MRG9jKHRoaXMpKXt2YXIgZD10aGlzLm91dGVySFRNTCxmPXRoaXMub3duZXJEb2N1bWVudDtpZighZCl7ZD1mLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuYXBwZW5kQ2hpbGQodGhpcy5jbG9uZU5vZGUodHJ1ZSkpO2Q9ZC5pbm5lckhUTUx9cmV0dXJuIGMuY2xlYW4oW2QucmVwbGFjZShKYSwiIikucmVwbGFjZSgvPShbXj0iJz5cc10rXC8pPi9nLCc9IiQxIj4nKS5yZXBsYWNlKFYsIiIpXSxmKVswXX1lbHNlIHJldHVybiB0aGlzLmNsb25lTm9kZSh0cnVlKX0pO2lmKGE9PT10cnVlKXtyYSh0aGlzLGIpO3JhKHRoaXMuZmluZCgiKiIpLGIuZmluZCgiKiIpKX1yZXR1cm4gYn0saHRtbDpmdW5jdGlvbihhKXtpZihhPT09dylyZXR1cm4gdGhpc1swXSYmdGhpc1swXS5ub2RlVHlwZT09PTE/dGhpc1swXS5pbm5lckhUTUwucmVwbGFjZShKYSwKIiIpOm51bGw7ZWxzZSBpZih0eXBlb2YgYT09PSJzdHJpbmciJiYhdGEudGVzdChhKSYmKGMuc3VwcG9ydC5sZWFkaW5nV2hpdGVzcGFjZXx8IVYudGVzdChhKSkmJiFGWyhMYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7YT1hLnJlcGxhY2UoS2EsTWEpO3RyeXtmb3IodmFyIGI9MCxkPXRoaXMubGVuZ3RoO2I8ZDtiKyspaWYodGhpc1tiXS5ub2RlVHlwZT09PTEpe2MuY2xlYW5EYXRhKHRoaXNbYl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSk7dGhpc1tiXS5pbm5lckhUTUw9YX19Y2F0Y2goZil7dGhpcy5lbXB0eSgpLmFwcGVuZChhKX19ZWxzZSBjLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBqPWModGhpcyksaT1qLmh0bWwoKTtqLmVtcHR5KCkuYXBwZW5kKGZ1bmN0aW9uKCl7cmV0dXJuIGEuY2FsbCh0aGlzLGUsaSl9KX0pOnRoaXMuZW1wdHkoKS5hcHBlbmQoYSk7cmV0dXJuIHRoaXN9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKGEpe2lmKHRoaXNbMF0mJgp0aGlzWzBdLnBhcmVudE5vZGUpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBkPWModGhpcyksZj1kLmh0bWwoKTtkLnJlcGxhY2VXaXRoKGEuY2FsbCh0aGlzLGIsZikpfSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIilhPWMoYSkuZGV0YWNoKCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXMubmV4dFNpYmxpbmcsZD10aGlzLnBhcmVudE5vZGU7Yyh0aGlzKS5yZW1vdmUoKTtiP2MoYikuYmVmb3JlKGEpOmMoZCkuYXBwZW5kKGEpfSl9ZWxzZSByZXR1cm4gdGhpcy5wdXNoU3RhY2soYyhjLmlzRnVuY3Rpb24oYSk/YSgpOmEpLCJyZXBsYWNlV2l0aCIsYSl9LGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW1vdmUoYSx0cnVlKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiLGQpe2Z1bmN0aW9uIGYodSl7cmV0dXJuIGMubm9kZU5hbWUodSwidGFibGUiKT91LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHwKdS5hcHBlbmRDaGlsZCh1Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6dX12YXIgZSxqLGk9YVswXSxvPVtdLGs7aWYoIWMuc3VwcG9ydC5jaGVja0Nsb25lJiZhcmd1bWVudHMubGVuZ3RoPT09MyYmdHlwZW9mIGk9PT0ic3RyaW5nIiYmdWEudGVzdChpKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5kb21NYW5pcChhLGIsZCx0cnVlKX0pO2lmKGMuaXNGdW5jdGlvbihpKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHUpe3ZhciB6PWModGhpcyk7YVswXT1pLmNhbGwodGhpcyx1LGI/ei5odG1sKCk6dyk7ei5kb21NYW5pcChhLGIsZCl9KTtpZih0aGlzWzBdKXtlPWkmJmkucGFyZW50Tm9kZTtlPWMuc3VwcG9ydC5wYXJlbnROb2RlJiZlJiZlLm5vZGVUeXBlPT09MTEmJmUuY2hpbGROb2Rlcy5sZW5ndGg9PT10aGlzLmxlbmd0aD97ZnJhZ21lbnQ6ZX06c2EoYSx0aGlzLG8pO2s9ZS5mcmFnbWVudDtpZihqPWsuY2hpbGROb2Rlcy5sZW5ndGg9PT0KMT8oaz1rLmZpcnN0Q2hpbGQpOmsuZmlyc3RDaGlsZCl7Yj1iJiZjLm5vZGVOYW1lKGosInRyIik7Zm9yKHZhciBuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWQuY2FsbChiP2YodGhpc1tuXSxqKTp0aGlzW25dLG4+MHx8ZS5jYWNoZWFibGV8fHRoaXMubGVuZ3RoPjE/ay5jbG9uZU5vZGUodHJ1ZSk6ayl9by5sZW5ndGgmJmMuZWFjaChvLFFhKX1yZXR1cm4gdGhpc319KTtjLmZyYWdtZW50cz17fTtjLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihhLGIpe2MuZm5bYV09ZnVuY3Rpb24oZCl7dmFyIGY9W107ZD1jKGQpO3ZhciBlPXRoaXMubGVuZ3RoPT09MSYmdGhpc1swXS5wYXJlbnROb2RlO2lmKGUmJmUubm9kZVR5cGU9PT0xMSYmZS5jaGlsZE5vZGVzLmxlbmd0aD09PTEmJmQubGVuZ3RoPT09MSl7ZFtiXSh0aGlzWzBdKTsKcmV0dXJuIHRoaXN9ZWxzZXtlPTA7Zm9yKHZhciBqPWQubGVuZ3RoO2U8ajtlKyspe3ZhciBpPShlPjA/dGhpcy5jbG9uZSh0cnVlKTp0aGlzKS5nZXQoKTtjLmZuW2JdLmFwcGx5KGMoZFtlXSksaSk7Zj1mLmNvbmNhdChpKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soZixhLGQuc2VsZWN0b3IpfX19KTtjLmV4dGVuZCh7Y2xlYW46ZnVuY3Rpb24oYSxiLGQsZil7Yj1ifHxzO2lmKHR5cGVvZiBiLmNyZWF0ZUVsZW1lbnQ9PT0idW5kZWZpbmVkIiliPWIub3duZXJEb2N1bWVudHx8YlswXSYmYlswXS5vd25lckRvY3VtZW50fHxzO2Zvcih2YXIgZT1bXSxqPTAsaTsoaT1hW2pdKSE9bnVsbDtqKyspe2lmKHR5cGVvZiBpPT09Im51bWJlciIpaSs9IiI7aWYoaSl7aWYodHlwZW9mIGk9PT0ic3RyaW5nIiYmIWpiLnRlc3QoaSkpaT1iLmNyZWF0ZVRleHROb2RlKGkpO2Vsc2UgaWYodHlwZW9mIGk9PT0ic3RyaW5nIil7aT1pLnJlcGxhY2UoS2EsTWEpO3ZhciBvPShMYS5leGVjKGkpfHxbIiIsCiIiXSlbMV0udG9Mb3dlckNhc2UoKSxrPUZbb118fEYuX2RlZmF1bHQsbj1rWzBdLHI9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3Ioci5pbm5lckhUTUw9a1sxXStpK2tbMl07bi0tOylyPXIubGFzdENoaWxkO2lmKCFjLnN1cHBvcnQudGJvZHkpe249aWIudGVzdChpKTtvPW89PT0idGFibGUiJiYhbj9yLmZpcnN0Q2hpbGQmJnIuZmlyc3RDaGlsZC5jaGlsZE5vZGVzOmtbMV09PT0iPHRhYmxlPiImJiFuP3IuY2hpbGROb2RlczpbXTtmb3Ioaz1vLmxlbmd0aC0xO2s+PTA7LS1rKWMubm9kZU5hbWUob1trXSwidGJvZHkiKSYmIW9ba10uY2hpbGROb2Rlcy5sZW5ndGgmJm9ba10ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvW2tdKX0hYy5zdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlJiZWLnRlc3QoaSkmJnIuaW5zZXJ0QmVmb3JlKGIuY3JlYXRlVGV4dE5vZGUoVi5leGVjKGkpWzBdKSxyLmZpcnN0Q2hpbGQpO2k9ci5jaGlsZE5vZGVzfWlmKGkubm9kZVR5cGUpZS5wdXNoKGkpO2Vsc2UgZT0KYy5tZXJnZShlLGkpfX1pZihkKWZvcihqPTA7ZVtqXTtqKyspaWYoZiYmYy5ub2RlTmFtZShlW2pdLCJzY3JpcHQiKSYmKCFlW2pdLnR5cGV8fGVbal0udHlwZS50b0xvd2VyQ2FzZSgpPT09InRleHQvamF2YXNjcmlwdCIpKWYucHVzaChlW2pdLnBhcmVudE5vZGU/ZVtqXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVbal0pOmVbal0pO2Vsc2V7ZVtqXS5ub2RlVHlwZT09PTEmJmUuc3BsaWNlLmFwcGx5KGUsW2orMSwwXS5jb25jYXQoYy5tYWtlQXJyYXkoZVtqXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikpKSk7ZC5hcHBlbmRDaGlsZChlW2pdKX1yZXR1cm4gZX0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixkLGY9Yy5jYWNoZSxlPWMuZXZlbnQuc3BlY2lhbCxqPWMuc3VwcG9ydC5kZWxldGVFeHBhbmRvLGk9MCxvOyhvPWFbaV0pIT1udWxsO2krKylpZihkPW9bYy5leHBhbmRvXSl7Yj1mW2RdO2lmKGIuZXZlbnRzKWZvcih2YXIgayBpbiBiLmV2ZW50cyllW2tdPwpjLmV2ZW50LnJlbW92ZShvLGspOkNhKG8sayxiLmhhbmRsZSk7aWYoailkZWxldGUgb1tjLmV4cGFuZG9dO2Vsc2Ugby5yZW1vdmVBdHRyaWJ1dGUmJm8ucmVtb3ZlQXR0cmlidXRlKGMuZXhwYW5kbyk7ZGVsZXRlIGZbZF19fX0pO3ZhciBrYj0vei0/aW5kZXh8Zm9udC0/d2VpZ2h0fG9wYWNpdHl8em9vbXxsaW5lLT9oZWlnaHQvaSxOYT0vYWxwaGFcKFteKV0qXCkvLE9hPS9vcGFjaXR5PShbXildKikvLGhhPS9mbG9hdC9pLGlhPS8tKFthLXpdKS9pZyxsYj0vKFtBLVpdKS9nLG1iPS9eLT9cZCsoPzpweCk/JC9pLG5iPS9eLT9cZC8sb2I9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LHBiPVsiTGVmdCIsIlJpZ2h0Il0scWI9WyJUb3AiLCJCb3R0b20iXSxyYj1zLmRlZmF1bHRWaWV3JiZzLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUsUGE9Yy5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQiLGphPQpmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9O2MuZm4uY3NzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFgodGhpcyxhLGIsdHJ1ZSxmdW5jdGlvbihkLGYsZSl7aWYoZT09PXcpcmV0dXJuIGMuY3VyQ1NTKGQsZik7aWYodHlwZW9mIGU9PT0ibnVtYmVyIiYmIWtiLnRlc3QoZikpZSs9InB4IjtjLnN0eWxlKGQsZixlKX0pfTtjLmV4dGVuZCh7c3R5bGU6ZnVuY3Rpb24oYSxiLGQpe2lmKCFhfHxhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpcmV0dXJuIHc7aWYoKGI9PT0id2lkdGgifHxiPT09ImhlaWdodCIpJiZwYXJzZUZsb2F0KGQpPDApZD13O3ZhciBmPWEuc3R5bGV8fGEsZT1kIT09dztpZighYy5zdXBwb3J0Lm9wYWNpdHkmJmI9PT0ib3BhY2l0eSIpe2lmKGUpe2Yuem9vbT0xO2I9cGFyc2VJbnQoZCwxMCkrIiI9PT0iTmFOIj8iIjoiYWxwaGEob3BhY2l0eT0iK2QqMTAwKyIpIjthPWYuZmlsdGVyfHxjLmN1ckNTUyhhLCJmaWx0ZXIiKXx8IiI7Zi5maWx0ZXI9Ck5hLnRlc3QoYSk/YS5yZXBsYWNlKE5hLGIpOmJ9cmV0dXJuIGYuZmlsdGVyJiZmLmZpbHRlci5pbmRleE9mKCJvcGFjaXR5PSIpPj0wP3BhcnNlRmxvYXQoT2EuZXhlYyhmLmZpbHRlcilbMV0pLzEwMCsiIjoiIn1pZihoYS50ZXN0KGIpKWI9UGE7Yj1iLnJlcGxhY2UoaWEsamEpO2lmKGUpZltiXT1kO3JldHVybiBmW2JdfSxjc3M6ZnVuY3Rpb24oYSxiLGQsZil7aWYoYj09PSJ3aWR0aCJ8fGI9PT0iaGVpZ2h0Iil7dmFyIGUsaj1iPT09IndpZHRoIj9wYjpxYjtmdW5jdGlvbiBpKCl7ZT1iPT09IndpZHRoIj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0O2YhPT0iYm9yZGVyIiYmYy5lYWNoKGosZnVuY3Rpb24oKXtmfHwoZS09cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJwYWRkaW5nIit0aGlzLHRydWUpKXx8MCk7aWYoZj09PSJtYXJnaW4iKWUrPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luIit0aGlzLHRydWUpKXx8MDtlbHNlIGUtPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwKImJvcmRlciIrdGhpcysiV2lkdGgiLHRydWUpKXx8MH0pfWEub2Zmc2V0V2lkdGghPT0wP2koKTpjLnN3YXAoYSxvYixpKTtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLnJvdW5kKGUpKX1yZXR1cm4gYy5jdXJDU1MoYSxiLGQpfSxjdXJDU1M6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmLGU9YS5zdHlsZTtpZighYy5zdXBwb3J0Lm9wYWNpdHkmJmI9PT0ib3BhY2l0eSImJmEuY3VycmVudFN0eWxlKXtmPU9hLnRlc3QoYS5jdXJyZW50U3R5bGUuZmlsdGVyfHwiIik/cGFyc2VGbG9hdChSZWdFeHAuJDEpLzEwMCsiIjoiIjtyZXR1cm4gZj09PSIiPyIxIjpmfWlmKGhhLnRlc3QoYikpYj1QYTtpZighZCYmZSYmZVtiXSlmPWVbYl07ZWxzZSBpZihyYil7aWYoaGEudGVzdChiKSliPSJmbG9hdCI7Yj1iLnJlcGxhY2UobGIsIi0kMSIpLnRvTG93ZXJDYXNlKCk7ZT1hLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7aWYoIWUpcmV0dXJuIG51bGw7aWYoYT1lLmdldENvbXB1dGVkU3R5bGUoYSxudWxsKSlmPQphLmdldFByb3BlcnR5VmFsdWUoYik7aWYoYj09PSJvcGFjaXR5IiYmZj09PSIiKWY9IjEifWVsc2UgaWYoYS5jdXJyZW50U3R5bGUpe2Q9Yi5yZXBsYWNlKGlhLGphKTtmPWEuY3VycmVudFN0eWxlW2JdfHxhLmN1cnJlbnRTdHlsZVtkXTtpZighbWIudGVzdChmKSYmbmIudGVzdChmKSl7Yj1lLmxlZnQ7dmFyIGo9YS5ydW50aW1lU3R5bGUubGVmdDthLnJ1bnRpbWVTdHlsZS5sZWZ0PWEuY3VycmVudFN0eWxlLmxlZnQ7ZS5sZWZ0PWQ9PT0iZm9udFNpemUiPyIxZW0iOmZ8fDA7Zj1lLnBpeGVsTGVmdCsicHgiO2UubGVmdD1iO2EucnVudGltZVN0eWxlLmxlZnQ9an19cmV0dXJuIGZ9LHN3YXA6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPXt9O2Zvcih2YXIgZSBpbiBiKXtmW2VdPWEuc3R5bGVbZV07YS5zdHlsZVtlXT1iW2VdfWQuY2FsbChhKTtmb3IoZSBpbiBiKWEuc3R5bGVbZV09ZltlXX19KTtpZihjLmV4cHImJmMuZXhwci5maWx0ZXJzKXtjLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9CmEub2Zmc2V0V2lkdGgsZD1hLm9mZnNldEhlaWdodCxmPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJ0ciI7cmV0dXJuIGI9PT0wJiZkPT09MCYmIWY/dHJ1ZTpiPjAmJmQ+MCYmIWY/ZmFsc2U6Yy5jdXJDU1MoYSwiZGlzcGxheSIpPT09Im5vbmUifTtjLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFjLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9fXZhciBzYj1KKCksdGI9LzxzY3JpcHQoLnxccykqP1wvc2NyaXB0Pi9naSx1Yj0vc2VsZWN0fHRleHRhcmVhL2ksdmI9L2NvbG9yfGRhdGV8ZGF0ZXRpbWV8ZW1haWx8aGlkZGVufG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2Vlay9pLE49Lz1cPygmfCQpLyxrYT0vXD8vLHdiPS8oXD98JilfPS4qPygmfCQpLyx4Yj0vXihcdys6KT9cL1wvKFteXC8/I10rKS8seWI9LyUyMC9nLHpiPWMuZm4ubG9hZDtjLmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihhLGIsZCl7aWYodHlwZW9mIGEhPT0KInN0cmluZyIpcmV0dXJuIHpiLmNhbGwodGhpcyxhKTtlbHNlIGlmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpczt2YXIgZj1hLmluZGV4T2YoIiAiKTtpZihmPj0wKXt2YXIgZT1hLnNsaWNlKGYsYS5sZW5ndGgpO2E9YS5zbGljZSgwLGYpfWY9IkdFVCI7aWYoYilpZihjLmlzRnVuY3Rpb24oYikpe2Q9YjtiPW51bGx9ZWxzZSBpZih0eXBlb2YgYj09PSJvYmplY3QiKXtiPWMucGFyYW0oYixjLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7Zj0iUE9TVCJ9dmFyIGo9dGhpcztjLmFqYXgoe3VybDphLHR5cGU6ZixkYXRhVHlwZToiaHRtbCIsZGF0YTpiLGNvbXBsZXRlOmZ1bmN0aW9uKGksbyl7aWYobz09PSJzdWNjZXNzInx8bz09PSJub3Rtb2RpZmllZCIpai5odG1sKGU/YygiPGRpdiAvPiIpLmFwcGVuZChpLnJlc3BvbnNlVGV4dC5yZXBsYWNlKHRiLCIiKSkuZmluZChlKTppLnJlc3BvbnNlVGV4dCk7ZCYmai5lYWNoKGQsW2kucmVzcG9uc2VUZXh0LG8saV0pfX0pO3JldHVybiB0aGlzfSwKc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50cz9jLm1ha2VBcnJheSh0aGlzLmVsZW1lbnRzKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fHViLnRlc3QodGhpcy5ub2RlTmFtZSl8fHZiLnRlc3QodGhpcy50eXBlKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXthPWModGhpcykudmFsKCk7cmV0dXJuIGE9PW51bGw/bnVsbDpjLmlzQXJyYXkoYSk/Yy5tYXAoYSxmdW5jdGlvbihkKXtyZXR1cm57bmFtZTpiLm5hbWUsdmFsdWU6ZH19KTp7bmFtZTpiLm5hbWUsdmFsdWU6YX19KS5nZXQoKX19KTtjLmVhY2goImFqYXhTdGFydCBhamF4U3RvcCBhamF4Q29tcGxldGUgYWpheEVycm9yIGFqYXhTdWNjZXNzIGFqYXhTZW5kIi5zcGxpdCgiICIpLApmdW5jdGlvbihhLGIpe2MuZm5bYl09ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuYmluZChiLGQpfX0pO2MuZXh0ZW5kKHtnZXQ6ZnVuY3Rpb24oYSxiLGQsZil7aWYoYy5pc0Z1bmN0aW9uKGIpKXtmPWZ8fGQ7ZD1iO2I9bnVsbH1yZXR1cm4gYy5hamF4KHt0eXBlOiJHRVQiLHVybDphLGRhdGE6YixzdWNjZXNzOmQsZGF0YVR5cGU6Zn0pfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYy5nZXQoYSxudWxsLGIsInNjcmlwdCIpfSxnZXRKU09OOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYy5nZXQoYSxiLGQsImpzb24iKX0scG9zdDpmdW5jdGlvbihhLGIsZCxmKXtpZihjLmlzRnVuY3Rpb24oYikpe2Y9Znx8ZDtkPWI7Yj17fX1yZXR1cm4gYy5hamF4KHt0eXBlOiJQT1NUIix1cmw6YSxkYXRhOmIsc3VjY2VzczpkLGRhdGFUeXBlOmZ9KX0sYWpheFNldHVwOmZ1bmN0aW9uKGEpe2MuZXh0ZW5kKGMuYWpheFNldHRpbmdzLGEpfSxhamF4U2V0dGluZ3M6e3VybDpsb2NhdGlvbi5ocmVmLApnbG9iYWw6dHJ1ZSx0eXBlOiJHRVQiLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLHByb2Nlc3NEYXRhOnRydWUsYXN5bmM6dHJ1ZSx4aHI6QS5YTUxIdHRwUmVxdWVzdCYmKEEubG9jYXRpb24ucHJvdG9jb2whPT0iZmlsZToifHwhQS5BY3RpdmVYT2JqZWN0KT9mdW5jdGlvbigpe3JldHVybiBuZXcgQS5YTUxIdHRwUmVxdWVzdH06ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBBLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYSl7fX0sYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHNjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Iixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQiLHRleHQ6InRleHQvcGxhaW4iLF9kZWZhdWx0OiIqLyoifX0sbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheDpmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZS5zdWNjZXNzJiYKZS5zdWNjZXNzLmNhbGwoayxvLGkseCk7ZS5nbG9iYWwmJmYoImFqYXhTdWNjZXNzIixbeCxlXSl9ZnVuY3Rpb24gZCgpe2UuY29tcGxldGUmJmUuY29tcGxldGUuY2FsbChrLHgsaSk7ZS5nbG9iYWwmJmYoImFqYXhDb21wbGV0ZSIsW3gsZV0pO2UuZ2xvYmFsJiYhLS1jLmFjdGl2ZSYmYy5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpfWZ1bmN0aW9uIGYocSxwKXsoZS5jb250ZXh0P2MoZS5jb250ZXh0KTpjLmV2ZW50KS50cmlnZ2VyKHEscCl9dmFyIGU9Yy5leHRlbmQodHJ1ZSx7fSxjLmFqYXhTZXR0aW5ncyxhKSxqLGksbyxrPWEmJmEuY29udGV4dHx8ZSxuPWUudHlwZS50b1VwcGVyQ2FzZSgpO2lmKGUuZGF0YSYmZS5wcm9jZXNzRGF0YSYmdHlwZW9mIGUuZGF0YSE9PSJzdHJpbmciKWUuZGF0YT1jLnBhcmFtKGUuZGF0YSxlLnRyYWRpdGlvbmFsKTtpZihlLmRhdGFUeXBlPT09Impzb25wIil7aWYobj09PSJHRVQiKU4udGVzdChlLnVybCl8fChlLnVybCs9KGthLnRlc3QoZS51cmwpPwoiJiI6Ij8iKSsoZS5qc29ucHx8ImNhbGxiYWNrIikrIj0/Iik7ZWxzZSBpZighZS5kYXRhfHwhTi50ZXN0KGUuZGF0YSkpZS5kYXRhPShlLmRhdGE/ZS5kYXRhKyImIjoiIikrKGUuanNvbnB8fCJjYWxsYmFjayIpKyI9PyI7ZS5kYXRhVHlwZT0ianNvbiJ9aWYoZS5kYXRhVHlwZT09PSJqc29uIiYmKGUuZGF0YSYmTi50ZXN0KGUuZGF0YSl8fE4udGVzdChlLnVybCkpKXtqPWUuanNvbnBDYWxsYmFja3x8Impzb25wIitzYisrO2lmKGUuZGF0YSllLmRhdGE9KGUuZGF0YSsiIikucmVwbGFjZShOLCI9IitqKyIkMSIpO2UudXJsPWUudXJsLnJlcGxhY2UoTiwiPSIraisiJDEiKTtlLmRhdGFUeXBlPSJzY3JpcHQiO0Fbal09QVtqXXx8ZnVuY3Rpb24ocSl7bz1xO2IoKTtkKCk7QVtqXT13O3RyeXtkZWxldGUgQVtqXX1jYXRjaChwKXt9eiYmei5yZW1vdmVDaGlsZChDKX19aWYoZS5kYXRhVHlwZT09PSJzY3JpcHQiJiZlLmNhY2hlPT09bnVsbCllLmNhY2hlPWZhbHNlO2lmKGUuY2FjaGU9PT0KZmFsc2UmJm49PT0iR0VUIil7dmFyIHI9SigpLHU9ZS51cmwucmVwbGFjZSh3YiwiJDFfPSIrcisiJDIiKTtlLnVybD11Kyh1PT09ZS51cmw/KGthLnRlc3QoZS51cmwpPyImIjoiPyIpKyJfPSIrcjoiIil9aWYoZS5kYXRhJiZuPT09IkdFVCIpZS51cmwrPShrYS50ZXN0KGUudXJsKT8iJiI6Ij8iKStlLmRhdGE7ZS5nbG9iYWwmJiFjLmFjdGl2ZSsrJiZjLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO3I9KHI9eGIuZXhlYyhlLnVybCkpJiYoclsxXSYmclsxXSE9PWxvY2F0aW9uLnByb3RvY29sfHxyWzJdIT09bG9jYXRpb24uaG9zdCk7aWYoZS5kYXRhVHlwZT09PSJzY3JpcHQiJiZuPT09IkdFVCImJnIpe3ZhciB6PXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8cy5kb2N1bWVudEVsZW1lbnQsQz1zLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO0Muc3JjPWUudXJsO2lmKGUuc2NyaXB0Q2hhcnNldClDLmNoYXJzZXQ9ZS5zY3JpcHRDaGFyc2V0O2lmKCFqKXt2YXIgQj0KZmFsc2U7Qy5vbmxvYWQ9Qy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZighQiYmKCF0aGlzLnJlYWR5U3RhdGV8fHRoaXMucmVhZHlTdGF0ZT09PSJsb2FkZWQifHx0aGlzLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKSl7Qj10cnVlO2IoKTtkKCk7Qy5vbmxvYWQ9Qy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbDt6JiZDLnBhcmVudE5vZGUmJnoucmVtb3ZlQ2hpbGQoQyl9fX16Lmluc2VydEJlZm9yZShDLHouZmlyc3RDaGlsZCk7cmV0dXJuIHd9dmFyIEU9ZmFsc2UseD1lLnhocigpO2lmKHgpe2UudXNlcm5hbWU/eC5vcGVuKG4sZS51cmwsZS5hc3luYyxlLnVzZXJuYW1lLGUucGFzc3dvcmQpOngub3BlbihuLGUudXJsLGUuYXN5bmMpO3RyeXtpZihlLmRhdGF8fGEmJmEuY29udGVudFR5cGUpeC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGUuY29udGVudFR5cGUpO2lmKGUuaWZNb2RpZmllZCl7Yy5sYXN0TW9kaWZpZWRbZS51cmxdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIiwKYy5sYXN0TW9kaWZpZWRbZS51cmxdKTtjLmV0YWdbZS51cmxdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGMuZXRhZ1tlLnVybF0pfXJ8fHguc2V0UmVxdWVzdEhlYWRlcigiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0Iik7eC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLGUuZGF0YVR5cGUmJmUuYWNjZXB0c1tlLmRhdGFUeXBlXT9lLmFjY2VwdHNbZS5kYXRhVHlwZV0rIiwgKi8qIjplLmFjY2VwdHMuX2RlZmF1bHQpfWNhdGNoKGdhKXt9aWYoZS5iZWZvcmVTZW5kJiZlLmJlZm9yZVNlbmQuY2FsbChrLHgsZSk9PT1mYWxzZSl7ZS5nbG9iYWwmJiEtLWMuYWN0aXZlJiZjLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIik7eC5hYm9ydCgpO3JldHVybiBmYWxzZX1lLmdsb2JhbCYmZigiYWpheFNlbmQiLFt4LGVdKTt2YXIgZz14Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihxKXtpZigheHx8eC5yZWFkeVN0YXRlPT09MHx8cT09PSJhYm9ydCIpe0V8fApkKCk7RT10cnVlO2lmKHgpeC5vbnJlYWR5c3RhdGVjaGFuZ2U9Yy5ub29wfWVsc2UgaWYoIUUmJngmJih4LnJlYWR5U3RhdGU9PT00fHxxPT09InRpbWVvdXQiKSl7RT10cnVlO3gub25yZWFkeXN0YXRlY2hhbmdlPWMubm9vcDtpPXE9PT0idGltZW91dCI/InRpbWVvdXQiOiFjLmh0dHBTdWNjZXNzKHgpPyJlcnJvciI6ZS5pZk1vZGlmaWVkJiZjLmh0dHBOb3RNb2RpZmllZCh4LGUudXJsKT8ibm90bW9kaWZpZWQiOiJzdWNjZXNzIjt2YXIgcDtpZihpPT09InN1Y2Nlc3MiKXRyeXtvPWMuaHR0cERhdGEoeCxlLmRhdGFUeXBlLGUpfWNhdGNoKHYpe2k9InBhcnNlcmVycm9yIjtwPXZ9aWYoaT09PSJzdWNjZXNzInx8aT09PSJub3Rtb2RpZmllZCIpanx8YigpO2Vsc2UgYy5oYW5kbGVFcnJvcihlLHgsaSxwKTtkKCk7cT09PSJ0aW1lb3V0IiYmeC5hYm9ydCgpO2lmKGUuYXN5bmMpeD1udWxsfX07dHJ5e3ZhciBoPXguYWJvcnQ7eC5hYm9ydD1mdW5jdGlvbigpe3gmJmguY2FsbCh4KTsKZygiYWJvcnQiKX19Y2F0Y2gobCl7fWUuYXN5bmMmJmUudGltZW91dD4wJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eCYmIUUmJmcoInRpbWVvdXQiKX0sZS50aW1lb3V0KTt0cnl7eC5zZW5kKG49PT0iUE9TVCJ8fG49PT0iUFVUInx8bj09PSJERUxFVEUiP2UuZGF0YTpudWxsKX1jYXRjaChtKXtjLmhhbmRsZUVycm9yKGUseCxudWxsLG0pO2QoKX1lLmFzeW5jfHxnKCk7cmV0dXJuIHh9fSxoYW5kbGVFcnJvcjpmdW5jdGlvbihhLGIsZCxmKXtpZihhLmVycm9yKWEuZXJyb3IuY2FsbChhLmNvbnRleHR8fGEsYixkLGYpO2lmKGEuZ2xvYmFsKShhLmNvbnRleHQ/YyhhLmNvbnRleHQpOmMuZXZlbnQpLnRyaWdnZXIoImFqYXhFcnJvciIsW2IsYSxmXSl9LGFjdGl2ZTowLGh0dHBTdWNjZXNzOmZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4hYS5zdGF0dXMmJmxvY2F0aW9uLnByb3RvY29sPT09ImZpbGU6Inx8YS5zdGF0dXM+PTIwMCYmYS5zdGF0dXM8MzAwfHxhLnN0YXR1cz09PTMwNHx8YS5zdGF0dXM9PT0KMTIyM3x8YS5zdGF0dXM9PT0wfWNhdGNoKGIpe31yZXR1cm4gZmFsc2V9LGh0dHBOb3RNb2RpZmllZDpmdW5jdGlvbihhLGIpe3ZhciBkPWEuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSxmPWEuZ2V0UmVzcG9uc2VIZWFkZXIoIkV0YWciKTtpZihkKWMubGFzdE1vZGlmaWVkW2JdPWQ7aWYoZiljLmV0YWdbYl09ZjtyZXR1cm4gYS5zdGF0dXM9PT0zMDR8fGEuc3RhdHVzPT09MH0saHR0cERhdGE6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPWEuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpfHwiIixlPWI9PT0ieG1sInx8IWImJmYuaW5kZXhPZigieG1sIik+PTA7YT1lP2EucmVzcG9uc2VYTUw6YS5yZXNwb25zZVRleHQ7ZSYmYS5kb2N1bWVudEVsZW1lbnQubm9kZU5hbWU9PT0icGFyc2VyZXJyb3IiJiZjLmVycm9yKCJwYXJzZXJlcnJvciIpO2lmKGQmJmQuZGF0YUZpbHRlcilhPWQuZGF0YUZpbHRlcihhLGIpO2lmKHR5cGVvZiBhPT09InN0cmluZyIpaWYoYj09PQoianNvbiJ8fCFiJiZmLmluZGV4T2YoImpzb24iKT49MClhPWMucGFyc2VKU09OKGEpO2Vsc2UgaWYoYj09PSJzY3JpcHQifHwhYiYmZi5pbmRleE9mKCJqYXZhc2NyaXB0Iik+PTApYy5nbG9iYWxFdmFsKGEpO3JldHVybiBhfSxwYXJhbTpmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoaSxvKXtpZihjLmlzQXJyYXkobykpYy5lYWNoKG8sZnVuY3Rpb24oayxuKXtifHwvXFtcXSQvLnRlc3QoaSk/ZihpLG4pOmQoaSsiWyIrKHR5cGVvZiBuPT09Im9iamVjdCJ8fGMuaXNBcnJheShuKT9rOiIiKSsiXSIsbil9KTtlbHNlIWImJm8hPW51bGwmJnR5cGVvZiBvPT09Im9iamVjdCI/Yy5lYWNoKG8sZnVuY3Rpb24oayxuKXtkKGkrIlsiK2srIl0iLG4pfSk6ZihpLG8pfWZ1bmN0aW9uIGYoaSxvKXtvPWMuaXNGdW5jdGlvbihvKT9vKCk6bztlW2UubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoaSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChvKX12YXIgZT1bXTtpZihiPT09dyliPWMuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsOwppZihjLmlzQXJyYXkoYSl8fGEuanF1ZXJ5KWMuZWFjaChhLGZ1bmN0aW9uKCl7Zih0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcih2YXIgaiBpbiBhKWQoaixhW2pdKTtyZXR1cm4gZS5qb2luKCImIikucmVwbGFjZSh5YiwiKyIpfX0pO3ZhciBsYT17fSxBYj0vdG9nZ2xlfHNob3d8aGlkZS8sQmI9L14oWystXT0pPyhbXGQrLS5dKykoLiopJC8sVyx2YT1bWyJoZWlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLFsid2lkdGgiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCJdLFsib3BhY2l0eSJdXTtjLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihhLGIpe2lmKGF8fGE9PT0wKXJldHVybiB0aGlzLmFuaW1hdGUoSygic2hvdyIsMyksYSxiKTtlbHNle2E9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXt2YXIgZD1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIpOwp0aGlzW2FdLnN0eWxlLmRpc3BsYXk9ZHx8IiI7aWYoYy5jc3ModGhpc1thXSwiZGlzcGxheSIpPT09Im5vbmUiKXtkPXRoaXNbYV0ubm9kZU5hbWU7dmFyIGY7aWYobGFbZF0pZj1sYVtkXTtlbHNle3ZhciBlPWMoIjwiK2QrIiAvPiIpLmFwcGVuZFRvKCJib2R5Iik7Zj1lLmNzcygiZGlzcGxheSIpO2lmKGY9PT0ibm9uZSIpZj0iYmxvY2siO2UucmVtb3ZlKCk7bGFbZF09Zn1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIsZil9fWE9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXRoaXNbYV0uc3R5bGUuZGlzcGxheT1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIpfHwiIjtyZXR1cm4gdGhpc319LGhpZGU6ZnVuY3Rpb24oYSxiKXtpZihhfHxhPT09MClyZXR1cm4gdGhpcy5hbmltYXRlKEsoImhpZGUiLDMpLGEsYik7ZWxzZXthPTA7Zm9yKGI9dGhpcy5sZW5ndGg7YTxiO2ErKyl7dmFyIGQ9Yy5kYXRhKHRoaXNbYV0sIm9sZGRpc3BsYXkiKTshZCYmZCE9PSJub25lIiYmYy5kYXRhKHRoaXNbYV0sCiJvbGRkaXNwbGF5IixjLmNzcyh0aGlzW2FdLCJkaXNwbGF5IikpfWE9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXRoaXNbYV0uc3R5bGUuZGlzcGxheT0ibm9uZSI7cmV0dXJuIHRoaXN9fSxfdG9nZ2xlOmMuZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihhLGIpe3ZhciBkPXR5cGVvZiBhPT09ImJvb2xlYW4iO2lmKGMuaXNGdW5jdGlvbihhKSYmYy5pc0Z1bmN0aW9uKGIpKXRoaXMuX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZSBhPT1udWxsfHxkP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWQ/YTpjKHRoaXMpLmlzKCI6aGlkZGVuIik7Yyh0aGlzKVtmPyJzaG93IjoiaGlkZSJdKCl9KTp0aGlzLmFuaW1hdGUoSygidG9nZ2xlIiwzKSxhLGIpO3JldHVybiB0aGlzfSxmYWRlVG86ZnVuY3Rpb24oYSxiLGQpe3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxkKX0sCmFuaW1hdGU6ZnVuY3Rpb24oYSxiLGQsZil7dmFyIGU9Yy5zcGVlZChiLGQsZik7aWYoYy5pc0VtcHR5T2JqZWN0KGEpKXJldHVybiB0aGlzLmVhY2goZS5jb21wbGV0ZSk7cmV0dXJuIHRoaXNbZS5xdWV1ZT09PWZhbHNlPyJlYWNoIjoicXVldWUiXShmdW5jdGlvbigpe3ZhciBqPWMuZXh0ZW5kKHt9LGUpLGksbz10aGlzLm5vZGVUeXBlPT09MSYmYyh0aGlzKS5pcygiOmhpZGRlbiIpLGs9dGhpcztmb3IoaSBpbiBhKXt2YXIgbj1pLnJlcGxhY2UoaWEsamEpO2lmKGkhPT1uKXthW25dPWFbaV07ZGVsZXRlIGFbaV07aT1ufWlmKGFbaV09PT0iaGlkZSImJm98fGFbaV09PT0ic2hvdyImJiFvKXJldHVybiBqLmNvbXBsZXRlLmNhbGwodGhpcyk7aWYoKGk9PT0iaGVpZ2h0Inx8aT09PSJ3aWR0aCIpJiZ0aGlzLnN0eWxlKXtqLmRpc3BsYXk9Yy5jc3ModGhpcywiZGlzcGxheSIpO2oub3ZlcmZsb3c9dGhpcy5zdHlsZS5vdmVyZmxvd31pZihjLmlzQXJyYXkoYVtpXSkpeyhqLnNwZWNpYWxFYXNpbmc9Cmouc3BlY2lhbEVhc2luZ3x8e30pW2ldPWFbaV1bMV07YVtpXT1hW2ldWzBdfX1pZihqLm92ZXJmbG93IT1udWxsKXRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7ai5jdXJBbmltPWMuZXh0ZW5kKHt9LGEpO2MuZWFjaChhLGZ1bmN0aW9uKHIsdSl7dmFyIHo9bmV3IGMuZngoayxqLHIpO2lmKEFiLnRlc3QodSkpelt1PT09InRvZ2dsZSI/bz8ic2hvdyI6ImhpZGUiOnVdKGEpO2Vsc2V7dmFyIEM9QmIuZXhlYyh1KSxCPXouY3VyKHRydWUpfHwwO2lmKEMpe3U9cGFyc2VGbG9hdChDWzJdKTt2YXIgRT1DWzNdfHwicHgiO2lmKEUhPT0icHgiKXtrLnN0eWxlW3JdPSh1fHwxKStFO0I9KHV8fDEpL3ouY3VyKHRydWUpKkI7ay5zdHlsZVtyXT1CK0V9aWYoQ1sxXSl1PShDWzFdPT09Ii09Ij8tMToxKSp1K0I7ei5jdXN0b20oQix1LEUpfWVsc2Ugei5jdXN0b20oQix1LCIiKX19KTtyZXR1cm4gdHJ1ZX0pfSxzdG9wOmZ1bmN0aW9uKGEsYil7dmFyIGQ9Yy50aW1lcnM7YSYmdGhpcy5xdWV1ZShbXSk7CnRoaXMuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgZj1kLmxlbmd0aC0xO2Y+PTA7Zi0tKWlmKGRbZl0uZWxlbT09PXRoaXMpe2ImJmRbZl0odHJ1ZSk7ZC5zcGxpY2UoZiwxKX19KTtifHx0aGlzLmRlcXVldWUoKTtyZXR1cm4gdGhpc319KTtjLmVhY2goe3NsaWRlRG93bjpLKCJzaG93IiwxKSxzbGlkZVVwOksoImhpZGUiLDEpLHNsaWRlVG9nZ2xlOksoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9fSxmdW5jdGlvbihhLGIpe2MuZm5bYV09ZnVuY3Rpb24oZCxmKXtyZXR1cm4gdGhpcy5hbmltYXRlKGIsZCxmKX19KTtjLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPWEmJnR5cGVvZiBhPT09Im9iamVjdCI/YTp7Y29tcGxldGU6ZHx8IWQmJmJ8fGMuaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpkJiZifHxiJiYhYy5pc0Z1bmN0aW9uKGIpJiZifTtmLmR1cmF0aW9uPWMuZngub2ZmPzA6dHlwZW9mIGYuZHVyYXRpb249PT0KIm51bWJlciI/Zi5kdXJhdGlvbjpjLmZ4LnNwZWVkc1tmLmR1cmF0aW9uXXx8Yy5meC5zcGVlZHMuX2RlZmF1bHQ7Zi5vbGQ9Zi5jb21wbGV0ZTtmLmNvbXBsZXRlPWZ1bmN0aW9uKCl7Zi5xdWV1ZSE9PWZhbHNlJiZjKHRoaXMpLmRlcXVldWUoKTtjLmlzRnVuY3Rpb24oZi5vbGQpJiZmLm9sZC5jYWxsKHRoaXMpfTtyZXR1cm4gZn0sZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24oYSxiLGQsZil7cmV0dXJuIGQrZiphfSxzd2luZzpmdW5jdGlvbihhLGIsZCxmKXtyZXR1cm4oLU1hdGguY29zKGEqTWF0aC5QSSkvMiswLjUpKmYrZH19LHRpbWVyczpbXSxmeDpmdW5jdGlvbihhLGIsZCl7dGhpcy5vcHRpb25zPWI7dGhpcy5lbGVtPWE7dGhpcy5wcm9wPWQ7aWYoIWIub3JpZyliLm9yaWc9e319fSk7Yy5meC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKTsoYy5meC5zdGVwW3RoaXMucHJvcF18fApjLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpO2lmKCh0aGlzLnByb3A9PT0iaGVpZ2h0Inx8dGhpcy5wcm9wPT09IndpZHRoIikmJnRoaXMuZWxlbS5zdHlsZSl0aGlzLmVsZW0uc3R5bGUuZGlzcGxheT0iYmxvY2sifSxjdXI6ZnVuY3Rpb24oYSl7aWYodGhpcy5lbGVtW3RoaXMucHJvcF0hPW51bGwmJighdGhpcy5lbGVtLnN0eWxlfHx0aGlzLmVsZW0uc3R5bGVbdGhpcy5wcm9wXT09bnVsbCkpcmV0dXJuIHRoaXMuZWxlbVt0aGlzLnByb3BdO3JldHVybihhPXBhcnNlRmxvYXQoYy5jc3ModGhpcy5lbGVtLHRoaXMucHJvcCxhKSkpJiZhPi0xMDAwMD9hOnBhcnNlRmxvYXQoYy5jdXJDU1ModGhpcy5lbGVtLHRoaXMucHJvcCkpfHwwfSxjdXN0b206ZnVuY3Rpb24oYSxiLGQpe2Z1bmN0aW9uIGYoail7cmV0dXJuIGUuc3RlcChqKX10aGlzLnN0YXJ0VGltZT1KKCk7dGhpcy5zdGFydD1hO3RoaXMuZW5kPWI7dGhpcy51bml0PWR8fHRoaXMudW5pdHx8InB4Ijt0aGlzLm5vdz10aGlzLnN0YXJ0Owp0aGlzLnBvcz10aGlzLnN0YXRlPTA7dmFyIGU9dGhpcztmLmVsZW09dGhpcy5lbGVtO2lmKGYoKSYmYy50aW1lcnMucHVzaChmKSYmIVcpVz1zZXRJbnRlcnZhbChjLmZ4LnRpY2ssMTMpfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1jLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5zaG93PXRydWU7dGhpcy5jdXN0b20odGhpcy5wcm9wPT09IndpZHRoInx8dGhpcy5wcm9wPT09ImhlaWdodCI/MTowLHRoaXMuY3VyKCkpO2ModGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWMuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCk7dGhpcy5vcHRpb25zLmhpZGU9dHJ1ZTt0aGlzLmN1c3RvbSh0aGlzLmN1cigpLDApfSxzdGVwOmZ1bmN0aW9uKGEpe3ZhciBiPUooKSxkPXRydWU7aWYoYXx8Yj49dGhpcy5vcHRpb25zLmR1cmF0aW9uK3RoaXMuc3RhcnRUaW1lKXt0aGlzLm5vdz0KdGhpcy5lbmQ7dGhpcy5wb3M9dGhpcy5zdGF0ZT0xO3RoaXMudXBkYXRlKCk7dGhpcy5vcHRpb25zLmN1ckFuaW1bdGhpcy5wcm9wXT10cnVlO2Zvcih2YXIgZiBpbiB0aGlzLm9wdGlvbnMuY3VyQW5pbSlpZih0aGlzLm9wdGlvbnMuY3VyQW5pbVtmXSE9PXRydWUpZD1mYWxzZTtpZihkKXtpZih0aGlzLm9wdGlvbnMuZGlzcGxheSE9bnVsbCl7dGhpcy5lbGVtLnN0eWxlLm92ZXJmbG93PXRoaXMub3B0aW9ucy5vdmVyZmxvdzthPWMuZGF0YSh0aGlzLmVsZW0sIm9sZGRpc3BsYXkiKTt0aGlzLmVsZW0uc3R5bGUuZGlzcGxheT1hP2E6dGhpcy5vcHRpb25zLmRpc3BsYXk7aWYoYy5jc3ModGhpcy5lbGVtLCJkaXNwbGF5Iik9PT0ibm9uZSIpdGhpcy5lbGVtLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn10aGlzLm9wdGlvbnMuaGlkZSYmYyh0aGlzLmVsZW0pLmhpZGUoKTtpZih0aGlzLm9wdGlvbnMuaGlkZXx8dGhpcy5vcHRpb25zLnNob3cpZm9yKHZhciBlIGluIHRoaXMub3B0aW9ucy5jdXJBbmltKWMuc3R5bGUodGhpcy5lbGVtLAplLHRoaXMub3B0aW9ucy5vcmlnW2VdKTt0aGlzLm9wdGlvbnMuY29tcGxldGUuY2FsbCh0aGlzLmVsZW0pfXJldHVybiBmYWxzZX1lbHNle2U9Yi10aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXRlPWUvdGhpcy5vcHRpb25zLmR1cmF0aW9uO2E9dGhpcy5vcHRpb25zLmVhc2luZ3x8KGMuZWFzaW5nLnN3aW5nPyJzd2luZyI6ImxpbmVhciIpO3RoaXMucG9zPWMuZWFzaW5nW3RoaXMub3B0aW9ucy5zcGVjaWFsRWFzaW5nJiZ0aGlzLm9wdGlvbnMuc3BlY2lhbEVhc2luZ1t0aGlzLnByb3BdfHxhXSh0aGlzLnN0YXRlLGUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik7dGhpcy5ub3c9dGhpcy5zdGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3M7dGhpcy51cGRhdGUoKX1yZXR1cm4gdHJ1ZX19O2MuZXh0ZW5kKGMuZngse3RpY2s6ZnVuY3Rpb24oKXtmb3IodmFyIGE9Yy50aW1lcnMsYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0oKXx8YS5zcGxpY2UoYi0tLDEpO2EubGVuZ3RofHwKYy5meC5zdG9wKCl9LHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKFcpO1c9bnVsbH0sc3BlZWRzOntzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LHN0ZXA6e29wYWNpdHk6ZnVuY3Rpb24oYSl7Yy5zdHlsZShhLmVsZW0sIm9wYWNpdHkiLGEubm93KX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7aWYoYS5lbGVtLnN0eWxlJiZhLmVsZW0uc3R5bGVbYS5wcm9wXSE9bnVsbClhLmVsZW0uc3R5bGVbYS5wcm9wXT0oYS5wcm9wPT09IndpZHRoInx8YS5wcm9wPT09ImhlaWdodCI/TWF0aC5tYXgoMCxhLm5vdyk6YS5ub3cpK2EudW5pdDtlbHNlIGEuZWxlbVthLnByb3BdPWEubm93fX19KTtpZihjLmV4cHImJmMuZXhwci5maWx0ZXJzKWMuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBjLmdyZXAoYy50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2MuZm4ub2Zmc2V0PSJnZXRCb3VuZGluZ0NsaWVudFJlY3QiaW4gcy5kb2N1bWVudEVsZW1lbnQ/CmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF07aWYoYSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsZSl9KTtpZighYnx8IWIub3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihiPT09Yi5vd25lckRvY3VtZW50LmJvZHkpcmV0dXJuIGMub2Zmc2V0LmJvZHlPZmZzZXQoYik7dmFyIGQ9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWIub3duZXJEb2N1bWVudDtiPWYuYm9keTtmPWYuZG9jdW1lbnRFbGVtZW50O3JldHVybnt0b3A6ZC50b3ArKHNlbGYucGFnZVlPZmZzZXR8fGMuc3VwcG9ydC5ib3hNb2RlbCYmZi5zY3JvbGxUb3B8fGIuc2Nyb2xsVG9wKS0oZi5jbGllbnRUb3B8fGIuY2xpZW50VG9wfHwwKSxsZWZ0OmQubGVmdCsoc2VsZi5wYWdlWE9mZnNldHx8Yy5zdXBwb3J0LmJveE1vZGVsJiZmLnNjcm9sbExlZnR8fGIuc2Nyb2xsTGVmdCktKGYuY2xpZW50TGVmdHx8Yi5jbGllbnRMZWZ0fHwwKX19OmZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzWzBdO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihyKXtjLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLHIpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBjLm9mZnNldC5ib2R5T2Zmc2V0KGIpO2Mub2Zmc2V0LmluaXRpYWxpemUoKTt2YXIgZD1iLm9mZnNldFBhcmVudCxmPWIsZT1iLm93bmVyRG9jdW1lbnQsaixpPWUuZG9jdW1lbnRFbGVtZW50LG89ZS5ib2R5O2Y9KGU9ZS5kZWZhdWx0Vmlldyk/ZS5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGU7Zm9yKHZhciBrPWIub2Zmc2V0VG9wLG49Yi5vZmZzZXRMZWZ0OyhiPWIucGFyZW50Tm9kZSkmJmIhPT1vJiZiIT09aTspe2lmKGMub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmZi5wb3NpdGlvbj09PSJmaXhlZCIpYnJlYWs7aj1lP2UuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0eWxlOwprLT1iLnNjcm9sbFRvcDtuLT1iLnNjcm9sbExlZnQ7aWYoYj09PWQpe2srPWIub2Zmc2V0VG9wO24rPWIub2Zmc2V0TGVmdDtpZihjLm9mZnNldC5kb2VzTm90QWRkQm9yZGVyJiYhKGMub2Zmc2V0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzJiYvXnQoYWJsZXxkfGgpJC9pLnRlc3QoYi5ub2RlTmFtZSkpKXtrKz1wYXJzZUZsb2F0KGouYm9yZGVyVG9wV2lkdGgpfHwwO24rPXBhcnNlRmxvYXQoai5ib3JkZXJMZWZ0V2lkdGgpfHwwfWY9ZDtkPWIub2Zmc2V0UGFyZW50fWlmKGMub2Zmc2V0LnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZSYmai5vdmVyZmxvdyE9PSJ2aXNpYmxlIil7ays9cGFyc2VGbG9hdChqLmJvcmRlclRvcFdpZHRoKXx8MDtuKz1wYXJzZUZsb2F0KGouYm9yZGVyTGVmdFdpZHRoKXx8MH1mPWp9aWYoZi5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGYucG9zaXRpb249PT0ic3RhdGljIil7ays9by5vZmZzZXRUb3A7bis9by5vZmZzZXRMZWZ0fWlmKGMub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmCmYucG9zaXRpb249PT0iZml4ZWQiKXtrKz1NYXRoLm1heChpLnNjcm9sbFRvcCxvLnNjcm9sbFRvcCk7bis9TWF0aC5tYXgoaS5zY3JvbGxMZWZ0LG8uc2Nyb2xsTGVmdCl9cmV0dXJue3RvcDprLGxlZnQ6bn19O2Mub2Zmc2V0PXtpbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIGE9cy5ib2R5LGI9cy5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLGYsZSxqPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luVG9wIix0cnVlKSl8fDA7Yy5leHRlbmQoYi5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsbWFyZ2luOjAsYm9yZGVyOjAsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KTtiLmlubmVySFRNTD0iPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7Jz48ZGl2PjwvZGl2PjwvZGl2Pjx0YWJsZSBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7JyBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPjx0cj48dGQ+PC90ZD48L3RyPjwvdGFibGU+IjsKYS5pbnNlcnRCZWZvcmUoYixhLmZpcnN0Q2hpbGQpO2Q9Yi5maXJzdENoaWxkO2Y9ZC5maXJzdENoaWxkO2U9ZC5uZXh0U2libGluZy5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7dGhpcy5kb2VzTm90QWRkQm9yZGVyPWYub2Zmc2V0VG9wIT09NTt0aGlzLmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzPWUub2Zmc2V0VG9wPT09NTtmLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCI7Zi5zdHlsZS50b3A9IjIwcHgiO3RoaXMuc3VwcG9ydHNGaXhlZFBvc2l0aW9uPWYub2Zmc2V0VG9wPT09MjB8fGYub2Zmc2V0VG9wPT09MTU7Zi5zdHlsZS5wb3NpdGlvbj1mLnN0eWxlLnRvcD0iIjtkLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2Quc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjt0aGlzLnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZT1mLm9mZnNldFRvcD09PS01O3RoaXMuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ9YS5vZmZzZXRUb3AhPT1qO2EucmVtb3ZlQ2hpbGQoYik7CmMub2Zmc2V0LmluaXRpYWxpemU9Yy5ub29wfSxib2R5T2Zmc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0VG9wLGQ9YS5vZmZzZXRMZWZ0O2Mub2Zmc2V0LmluaXRpYWxpemUoKTtpZihjLm9mZnNldC5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9keU9mZnNldCl7Yis9cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJtYXJnaW5Ub3AiLHRydWUpKXx8MDtkKz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGEsIm1hcmdpbkxlZnQiLHRydWUpKXx8MH1yZXR1cm57dG9wOmIsbGVmdDpkfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixkKXtpZigvc3RhdGljLy50ZXN0KGMuY3VyQ1NTKGEsInBvc2l0aW9uIikpKWEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjt2YXIgZj1jKGEpLGU9Zi5vZmZzZXQoKSxqPXBhcnNlSW50KGMuY3VyQ1NTKGEsInRvcCIsdHJ1ZSksMTApfHwwLGk9cGFyc2VJbnQoYy5jdXJDU1MoYSwibGVmdCIsdHJ1ZSksMTApfHwwO2lmKGMuaXNGdW5jdGlvbihiKSliPWIuY2FsbChhLApkLGUpO2Q9e3RvcDpiLnRvcC1lLnRvcCtqLGxlZnQ6Yi5sZWZ0LWUubGVmdCtpfTsidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxkKTpmLmNzcyhkKX19O2MuZm4uZXh0ZW5kKHtwb3NpdGlvbjpmdW5jdGlvbigpe2lmKCF0aGlzWzBdKXJldHVybiBudWxsO3ZhciBhPXRoaXNbMF0sYj10aGlzLm9mZnNldFBhcmVudCgpLGQ9dGhpcy5vZmZzZXQoKSxmPS9eYm9keXxodG1sJC9pLnRlc3QoYlswXS5ub2RlTmFtZSk/e3RvcDowLGxlZnQ6MH06Yi5vZmZzZXQoKTtkLnRvcC09cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJtYXJnaW5Ub3AiLHRydWUpKXx8MDtkLmxlZnQtPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luTGVmdCIsdHJ1ZSkpfHwwO2YudG9wKz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGJbMF0sImJvcmRlclRvcFdpZHRoIix0cnVlKSl8fDA7Zi5sZWZ0Kz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGJbMF0sImJvcmRlckxlZnRXaWR0aCIsdHJ1ZSkpfHwwO3JldHVybnt0b3A6ZC50b3AtCmYudG9wLGxlZnQ6ZC5sZWZ0LWYubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLm9mZnNldFBhcmVudHx8cy5ib2R5O2EmJiEvXmJvZHl8aHRtbCQvaS50ZXN0KGEubm9kZU5hbWUpJiZjLmNzcyhhLCJwb3NpdGlvbiIpPT09InN0YXRpYyI7KWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF9KX19KTtjLmVhY2goWyJMZWZ0IiwiVG9wIl0sZnVuY3Rpb24oYSxiKXt2YXIgZD0ic2Nyb2xsIitiO2MuZm5bZF09ZnVuY3Rpb24oZil7dmFyIGU9dGhpc1swXSxqO2lmKCFlKXJldHVybiBudWxsO2lmKGYhPT13KXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihqPXdhKHRoaXMpKWouc2Nyb2xsVG8oIWE/ZjpjKGopLnNjcm9sbExlZnQoKSxhP2Y6YyhqKS5zY3JvbGxUb3AoKSk7ZWxzZSB0aGlzW2RdPWZ9KTtlbHNlIHJldHVybihqPXdhKGUpKT8icGFnZVhPZmZzZXQiaW4gaj9qW2E/InBhZ2VZT2Zmc2V0IjoKInBhZ2VYT2Zmc2V0Il06Yy5zdXBwb3J0LmJveE1vZGVsJiZqLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXXx8ai5kb2N1bWVudC5ib2R5W2RdOmVbZF19fSk7Yy5lYWNoKFsiSGVpZ2h0IiwiV2lkdGgiXSxmdW5jdGlvbihhLGIpe3ZhciBkPWIudG9Mb3dlckNhc2UoKTtjLmZuWyJpbm5lciIrYl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1swXT9jLmNzcyh0aGlzWzBdLGQsZmFsc2UsInBhZGRpbmciKTpudWxsfTtjLmZuWyJvdXRlciIrYl09ZnVuY3Rpb24oZil7cmV0dXJuIHRoaXNbMF0/Yy5jc3ModGhpc1swXSxkLGZhbHNlLGY/Im1hcmdpbiI6ImJvcmRlciIpOm51bGx9O2MuZm5bZF09ZnVuY3Rpb24oZil7dmFyIGU9dGhpc1swXTtpZighZSlyZXR1cm4gZj09bnVsbD9udWxsOnRoaXM7aWYoYy5pc0Z1bmN0aW9uKGYpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oail7dmFyIGk9Yyh0aGlzKTtpW2RdKGYuY2FsbCh0aGlzLGosaVtkXSgpKSl9KTtyZXR1cm4ic2Nyb2xsVG8iaW4KZSYmZS5kb2N1bWVudD9lLmRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2JdfHxlLmRvY3VtZW50LmJvZHlbImNsaWVudCIrYl06ZS5ub2RlVHlwZT09PTk/TWF0aC5tYXgoZS5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYl0sZS5ib2R5WyJzY3JvbGwiK2JdLGUuZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK2JdLGUuYm9keVsib2Zmc2V0IitiXSxlLmRvY3VtZW50RWxlbWVudFsib2Zmc2V0IitiXSk6Zj09PXc/Yy5jc3MoZSxkKTp0aGlzLmNzcyhkLHR5cGVvZiBmPT09InN0cmluZyI/ZjpmKyJweCIpfX0pO0EualF1ZXJ5PUEuJD1jfSkod2luZG93KTs=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABgAAAAIAAAAGAAAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAABAAAQAAByAHkAdQBpYndzcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAA0AAAAAAAAAAAAAAAAAAACCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAYCwAAAEUAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEERFNEQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAgAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAEAAAgAAAAAAAAAAAEAACAAAAAAAQAAQAAAAAABAACAAAAAAAEAAQAAAAAAAQACAAAAAAABAAQAAAAAAAEACAAAAAAAAQAQAAAAAAABACAAAAAAAAEAQAAAAAAAAQCAAAAAAAABAQAAAAAAAAECAAAAAAAAAQQAAAAAAAABCAAAAAAAAAEQAAAAAAAAASAAAAAAAAABQAAAAAAAAAAJEMAIFSIuPEhUYXx9fn+AAAAAAAAAAQEAAAAAAAAADQAAAAAAAAAAAAAAAAAAAIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/accordion/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/accordion/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/accordion/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/accordion/js/accordion.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFVJIEFjY29yZGlvbiAxLjYKICogCiAqIENvcHlyaWdodCAoYykgMjAwNyBKw7ZybiBaYWVmZmVyZXIKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BY2NvcmRpb24KICoKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6CiAqICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKICogICBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICoKICogUmV2aXNpb246ICRJZDoganF1ZXJ5LmFjY29yZGlvbi5qcyA0ODc2IDIwMDgtMDMtMDggMTE6NDk6MDRaIGpvZXJuLnphZWZmZXJlciAkCiAqCiAqLzsoZnVuY3Rpb24oJCl7JC51aT0kLnVpfHx7fTskLmZuLmV4dGVuZCh7YWNjb3JkaW9uOmZ1bmN0aW9uKG9wdGlvbnMsZGF0YSl7dmFyIGFyZ3M9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZih0eXBlb2Ygb3B0aW9ucz09InN0cmluZyIpe3ZhciBhY2NvcmRpb249JC5kYXRhKHRoaXMsInVpLWFjY29yZGlvbiIpO2FjY29yZGlvbltvcHRpb25zXS5hcHBseShhY2NvcmRpb24sYXJncyk7fWVsc2UgaWYoISQodGhpcykuaXMoIi51aS1hY2NvcmRpb24iKSkkLmRhdGEodGhpcywidWktYWNjb3JkaW9uIixuZXcgJC51aS5hY2NvcmRpb24odGhpcyxvcHRpb25zKSk7fSk7fSxhY3RpdmF0ZTpmdW5jdGlvbihpbmRleCl7cmV0dXJuIHRoaXMuYWNjb3JkaW9uKCJhY3RpdmF0ZSIsaW5kZXgpO319KTskLnVpLmFjY29yZGlvbj1mdW5jdGlvbihjb250YWluZXIsb3B0aW9ucyl7dGhpcy5vcHRpb25zPW9wdGlvbnM9JC5leHRlbmQoe30sJC51aS5hY2NvcmRpb24uZGVmYXVsdHMsb3B0aW9ucyk7dGhpcy5lbGVtZW50PWNvbnRhaW5lcjskKGNvbnRhaW5lcikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbiIpO2lmKG9wdGlvbnMubmF2aWdhdGlvbil7dmFyIGN1cnJlbnQ9JChjb250YWluZXIpLmZpbmQoImEiKS5maWx0ZXIob3B0aW9ucy5uYXZpZ2F0aW9uRmlsdGVyKTtpZihjdXJyZW50Lmxlbmd0aCl7aWYoY3VycmVudC5maWx0ZXIob3B0aW9ucy5oZWFkZXIpLmxlbmd0aCl7b3B0aW9ucy5hY3RpdmU9Y3VycmVudDt9ZWxzZXtvcHRpb25zLmFjdGl2ZT1jdXJyZW50LnBhcmVudCgpLnBhcmVudCgpLnByZXYoKTtjdXJyZW50LmFkZENsYXNzKCJjdXJyZW50Iik7fX19b3B0aW9ucy5oZWFkZXJzPSQoY29udGFpbmVyKS5maW5kKG9wdGlvbnMuaGVhZGVyKTtvcHRpb25zLmFjdGl2ZT1maW5kQWN0aXZlKG9wdGlvbnMuaGVhZGVycyxvcHRpb25zLmFjdGl2ZSk7aWYob3B0aW9ucy5maWxsU3BhY2Upe3ZhciBtYXhIZWlnaHQ9JChjb250YWluZXIpLnBhcmVudCgpLmhlaWdodCgpO29wdGlvbnMuaGVhZGVycy5lYWNoKGZ1bmN0aW9uKCl7bWF4SGVpZ2h0LT0kKHRoaXMpLm91dGVySGVpZ2h0KCk7fSk7dmFyIG1heFBhZGRpbmc9MDtvcHRpb25zLmhlYWRlcnMubmV4dCgpLmVhY2goZnVuY3Rpb24oKXttYXhQYWRkaW5nPU1hdGgubWF4KG1heFBhZGRpbmcsJCh0aGlzKS5pbm5lckhlaWdodCgpLSQodGhpcykuaGVpZ2h0KCkpO30pLmhlaWdodChtYXhIZWlnaHQtbWF4UGFkZGluZyk7fWVsc2UgaWYob3B0aW9ucy5hdXRvaGVpZ2h0KXt2YXIgbWF4SGVpZ2h0PTA7b3B0aW9ucy5oZWFkZXJzLm5leHQoKS5lYWNoKGZ1bmN0aW9uKCl7bWF4SGVpZ2h0PU1hdGgubWF4KG1heEhlaWdodCwkKHRoaXMpLm91dGVySGVpZ2h0KCkpO30pLmhlaWdodChtYXhIZWlnaHQpO31vcHRpb25zLmhlYWRlcnMubm90KG9wdGlvbnMuYWN0aXZlfHwiIikubmV4dCgpLmhpZGUoKTtvcHRpb25zLmFjdGl2ZS5wYXJlbnQoKS5hbmRTZWxmKCkuYWRkQ2xhc3Mob3B0aW9ucy5zZWxlY3RlZENsYXNzKTtpZihvcHRpb25zLmV2ZW50KSQoY29udGFpbmVyKS5iaW5kKChvcHRpb25zLmV2ZW50KSsiLnVpLWFjY29yZGlvbiIsY2xpY2tIYW5kbGVyKTt9OyQudWkuYWNjb3JkaW9uLnByb3RvdHlwZT17YWN0aXZhdGU6ZnVuY3Rpb24oaW5kZXgpe2NsaWNrSGFuZGxlci5jYWxsKHRoaXMuZWxlbWVudCx7dGFyZ2V0OmZpbmRBY3RpdmUodGhpcy5vcHRpb25zLmhlYWRlcnMsaW5kZXgpWzBdfSk7fSxlbmFibGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuZGlzYWJsZWQ9ZmFsc2U7fSxkaXNhYmxlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmRpc2FibGVkPXRydWU7fSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmhlYWRlcnMubmV4dCgpLmNzcygiZGlzcGxheSIsIiIpO2lmKHRoaXMub3B0aW9ucy5maWxsU3BhY2V8fHRoaXMub3B0aW9ucy5hdXRvaGVpZ2h0KXt0aGlzLm9wdGlvbnMuaGVhZGVycy5uZXh0KCkuY3NzKCJoZWlnaHQiLCIiKTt9JC5yZW1vdmVEYXRhKHRoaXMuZWxlbWVudCwidWktYWNjb3JkaW9uIik7JCh0aGlzLmVsZW1lbnQpLnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24iKS51bmJpbmQoIi51aS1hY2NvcmRpb24iKTt9fWZ1bmN0aW9uIHNjb3BlQ2FsbGJhY2soY2FsbGJhY2ssc2NvcGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBjYWxsYmFjay5hcHBseShzY29wZSxhcmd1bWVudHMpO307fWZ1bmN0aW9uIGNvbXBsZXRlZChjYW5jZWwpe2lmKCEkLmRhdGEodGhpcywidWktYWNjb3JkaW9uIikpcmV0dXJuO3ZhciBpbnN0YW5jZT0kLmRhdGEodGhpcywidWktYWNjb3JkaW9uIik7dmFyIG9wdGlvbnM9aW5zdGFuY2Uub3B0aW9ucztvcHRpb25zLnJ1bm5pbmc9Y2FuY2VsPzA6LS1vcHRpb25zLnJ1bm5pbmc7aWYob3B0aW9ucy5ydW5uaW5nKXJldHVybjtpZihvcHRpb25zLmNsZWFyU3R5bGUpe29wdGlvbnMudG9TaG93LmFkZChvcHRpb25zLnRvSGlkZSkuY3NzKHtoZWlnaHQ6IiIsb3ZlcmZsb3c6IiJ9KTt9JCh0aGlzKS50cmlnZ2VySGFuZGxlcigiY2hhbmdlLnVpLWFjY29yZGlvbiIsW29wdGlvbnMuZGF0YV0sb3B0aW9ucy5jaGFuZ2UpO31mdW5jdGlvbiB0b2dnbGUodG9TaG93LHRvSGlkZSxkYXRhLGNsaWNrZWRBY3RpdmUsZG93bil7dmFyIG9wdGlvbnM9JC5kYXRhKHRoaXMsInVpLWFjY29yZGlvbiIpLm9wdGlvbnM7b3B0aW9ucy50b1Nob3c9dG9TaG93O29wdGlvbnMudG9IaWRlPXRvSGlkZTtvcHRpb25zLmRhdGE9ZGF0YTt2YXIgY29tcGxldGU9c2NvcGVDYWxsYmFjayhjb21wbGV0ZWQsdGhpcyk7b3B0aW9ucy5ydW5uaW5nPXRvSGlkZS5zaXplKCk9PTA/dG9TaG93LnNpemUoKTp0b0hpZGUuc2l6ZSgpO2lmKG9wdGlvbnMuYW5pbWF0ZWQpe2lmKCFvcHRpb25zLmFsd2F5c09wZW4mJmNsaWNrZWRBY3RpdmUpeyQudWkuYWNjb3JkaW9uLmFuaW1hdGlvbnNbb3B0aW9ucy5hbmltYXRlZF0oe3RvU2hvdzpqUXVlcnkoW10pLHRvSGlkZTp0b0hpZGUsY29tcGxldGU6Y29tcGxldGUsZG93bjpkb3duLGF1dG9oZWlnaHQ6b3B0aW9ucy5hdXRvaGVpZ2h0fSk7fWVsc2V7JC51aS5hY2NvcmRpb24uYW5pbWF0aW9uc1tvcHRpb25zLmFuaW1hdGVkXSh7dG9TaG93OnRvU2hvdyx0b0hpZGU6dG9IaWRlLGNvbXBsZXRlOmNvbXBsZXRlLGRvd246ZG93bixhdXRvaGVpZ2h0Om9wdGlvbnMuYXV0b2hlaWdodH0pO319ZWxzZXtpZighb3B0aW9ucy5hbHdheXNPcGVuJiZjbGlja2VkQWN0aXZlKXt0b1Nob3cudG9nZ2xlKCk7fWVsc2V7dG9IaWRlLmhpZGUoKTt0b1Nob3cuc2hvdygpO31jb21wbGV0ZSh0cnVlKTt9fWZ1bmN0aW9uIGNsaWNrSGFuZGxlcihldmVudCl7dmFyIG9wdGlvbnM9JC5kYXRhKHRoaXMsInVpLWFjY29yZGlvbiIpLm9wdGlvbnM7aWYob3B0aW9ucy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7aWYoIWV2ZW50LnRhcmdldCYmIW9wdGlvbnMuYWx3YXlzT3Blbil7b3B0aW9ucy5hY3RpdmUucGFyZW50KCkuYW5kU2VsZigpLnRvZ2dsZUNsYXNzKG9wdGlvbnMuc2VsZWN0ZWRDbGFzcyk7dmFyIHRvSGlkZT1vcHRpb25zLmFjdGl2ZS5uZXh0KCksZGF0YT17aW5zdGFuY2U6dGhpcyxvcHRpb25zOm9wdGlvbnMsbmV3SGVhZGVyOmpRdWVyeShbXSksb2xkSGVhZGVyOm9wdGlvbnMuYWN0aXZlLG5ld0NvbnRlbnQ6alF1ZXJ5KFtdKSxvbGRDb250ZW50OnRvSGlkZX0sdG9TaG93PW9wdGlvbnMuYWN0aXZlPSQoW10pO3RvZ2dsZS5jYWxsKHRoaXMsdG9TaG93LHRvSGlkZSxkYXRhKTtyZXR1cm4gZmFsc2U7fXZhciBjbGlja2VkPSQoZXZlbnQudGFyZ2V0KTtpZihjbGlja2VkLnBhcmVudHMob3B0aW9ucy5oZWFkZXIpLmxlbmd0aCl3aGlsZSghY2xpY2tlZC5pcyhvcHRpb25zLmhlYWRlcikpY2xpY2tlZD1jbGlja2VkLnBhcmVudCgpO3ZhciBjbGlja2VkQWN0aXZlPWNsaWNrZWRbMF09PW9wdGlvbnMuYWN0aXZlWzBdO2lmKG9wdGlvbnMucnVubmluZ3x8KG9wdGlvbnMuYWx3YXlzT3BlbiYmY2xpY2tlZEFjdGl2ZSkpcmV0dXJuIGZhbHNlO2lmKCFjbGlja2VkLmlzKG9wdGlvbnMuaGVhZGVyKSlyZXR1cm47b3B0aW9ucy5hY3RpdmUucGFyZW50KCkuYW5kU2VsZigpLnRvZ2dsZUNsYXNzKG9wdGlvbnMuc2VsZWN0ZWRDbGFzcyk7aWYoIWNsaWNrZWRBY3RpdmUpe2NsaWNrZWQucGFyZW50KCkuYW5kU2VsZigpLmFkZENsYXNzKG9wdGlvbnMuc2VsZWN0ZWRDbGFzcyk7fXZhciB0b1Nob3c9Y2xpY2tlZC5uZXh0KCksdG9IaWRlPW9wdGlvbnMuYWN0aXZlLm5leHQoKSxkYXRhPXtpbnN0YW5jZTp0aGlzLG9wdGlvbnM6b3B0aW9ucyxuZXdIZWFkZXI6Y2xpY2tlZCxvbGRIZWFkZXI6b3B0aW9ucy5hY3RpdmUsbmV3Q29udGVudDp0b1Nob3csb2xkQ29udGVudDp0b0hpZGV9LGRvd249b3B0aW9ucy5oZWFkZXJzLmluZGV4KG9wdGlvbnMuYWN0aXZlWzBdKT5vcHRpb25zLmhlYWRlcnMuaW5kZXgoY2xpY2tlZFswXSk7b3B0aW9ucy5hY3RpdmU9Y2xpY2tlZEFjdGl2ZT8kKFtdKTpjbGlja2VkO3RvZ2dsZS5jYWxsKHRoaXMsdG9TaG93LHRvSGlkZSxkYXRhLGNsaWNrZWRBY3RpdmUsZG93bik7cmV0dXJuIGZhbHNlO307ZnVuY3Rpb24gZmluZEFjdGl2ZShoZWFkZXJzLHNlbGVjdG9yKXtyZXR1cm4gc2VsZWN0b3IhPXVuZGVmaW5lZD90eXBlb2Ygc2VsZWN0b3I9PSJudW1iZXIiP2hlYWRlcnMuZmlsdGVyKCI6ZXEoIitzZWxlY3RvcisiKSIpOmhlYWRlcnMubm90KGhlYWRlcnMubm90KHNlbGVjdG9yKSk6c2VsZWN0b3I9PT1mYWxzZT8kKFtdKTpoZWFkZXJzLmZpbHRlcigiOmVxKDApIik7fSQuZXh0ZW5kKCQudWkuYWNjb3JkaW9uLHtkZWZhdWx0czp7c2VsZWN0ZWRDbGFzczoic2VsZWN0ZWQiLGFsd2F5c09wZW46dHJ1ZSxhbmltYXRlZDonc2xpZGUnLGV2ZW50OiJjbGljayIsaGVhZGVyOiJhIixhdXRvaGVpZ2h0OnRydWUscnVubmluZzowLG5hdmlnYXRpb25GaWx0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ocmVmLnRvTG93ZXJDYXNlKCk9PWxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTt9fSxhbmltYXRpb25zOntzbGlkZTpmdW5jdGlvbihvcHRpb25zLGFkZGl0aW9ucyl7b3B0aW9ucz0kLmV4dGVuZCh7ZWFzaW5nOiJzd2luZyIsZHVyYXRpb246MzAwfSxvcHRpb25zLGFkZGl0aW9ucyk7aWYoIW9wdGlvbnMudG9IaWRlLnNpemUoKSl7b3B0aW9ucy50b1Nob3cuYW5pbWF0ZSh7aGVpZ2h0OiJzaG93In0sb3B0aW9ucyk7cmV0dXJuO312YXIgaGlkZUhlaWdodD1vcHRpb25zLnRvSGlkZS5oZWlnaHQoKSxzaG93SGVpZ2h0PW9wdGlvbnMudG9TaG93LmhlaWdodCgpLGRpZmZlcmVuY2U9c2hvd0hlaWdodC9oaWRlSGVpZ2h0O29wdGlvbnMudG9TaG93LmNzcyh7aGVpZ2h0OjAsb3ZlcmZsb3c6J2hpZGRlbid9KS5zaG93KCk7b3B0aW9ucy50b0hpZGUuZmlsdGVyKCI6aGlkZGVuIikuZWFjaChvcHRpb25zLmNvbXBsZXRlKS5lbmQoKS5maWx0ZXIoIjp2aXNpYmxlIikuYW5pbWF0ZSh7aGVpZ2h0OiJoaWRlIn0se3N0ZXA6ZnVuY3Rpb24obm93KXt2YXIgY3VycmVudD0oaGlkZUhlaWdodC1ub3cpKmRpZmZlcmVuY2U7aWYoJC5icm93c2VyLm1zaWV8fCQuYnJvd3Nlci5vcGVyYSl7Y3VycmVudD1NYXRoLmNlaWwoY3VycmVudCk7fW9wdGlvbnMudG9TaG93LmhlaWdodChjdXJyZW50KTt9LGR1cmF0aW9uOm9wdGlvbnMuZHVyYXRpb24sZWFzaW5nOm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aWYoIW9wdGlvbnMuYXV0b2hlaWdodCl7b3B0aW9ucy50b1Nob3cuY3NzKCJoZWlnaHQiLCJhdXRvIik7fW9wdGlvbnMuY29tcGxldGUoKTt9fSk7fSxib3VuY2VzbGlkZTpmdW5jdGlvbihvcHRpb25zKXt0aGlzLnNsaWRlKG9wdGlvbnMse2Vhc2luZzpvcHRpb25zLmRvd24/ImJvdW5jZW91dCI6InN3aW5nIixkdXJhdGlvbjpvcHRpb25zLmRvd24/MTAwMDoyMDB9KTt9LGVhc2VzbGlkZTpmdW5jdGlvbihvcHRpb25zKXt0aGlzLnNsaWRlKG9wdGlvbnMse2Vhc2luZzoiZWFzZWlub3V0IixkdXJhdGlvbjo3MDB9KX19fSk7fSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/css/jquery.autocomplete.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LmFjX3Jlc3VsdHMgewoJcGFkZGluZzogMHB4OwoJYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CgliYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKCW92ZXJmbG93OiBoaWRkZW47Cgl6LWluZGV4OiA5OTk5OTsKfQoKLmFjX3Jlc3VsdHMgdWwgewoJd2lkdGg6IDEwMCU7CglsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOwoJbGlzdC1zdHlsZTogbm9uZTsKCXBhZGRpbmc6IDA7CgltYXJnaW46IDA7Cn0KCi5hY19yZXN1bHRzIGxpIHsKCW1hcmdpbjogMHB4OwoJcGFkZGluZzogMnB4IDVweDsKCWN1cnNvcjogZGVmYXVsdDsKCWRpc3BsYXk6IGJsb2NrOwoJLyogCglpZiB3aWR0aCB3aWxsIGJlIDEwMCUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2lsbCBhcGVhciAKCXdoZW4gc2Nyb2xsIG1vZGUgd2lsbCBiZSB1c2VkCgkqLwoJLyp3aWR0aDogMTAwJTsqLwoJZm9udDogbWVudTsKCWZvbnQtc2l6ZTogMTJweDsKCS8qIAoJaXQgaXMgdmVyeSBpbXBvcnRhbnQsIGlmIGxpbmUtaGVpZ2h0IG5vdCBzZXR0ZWQgb3Igc2V0dGVkIAoJaW4gcmVsYXRpdmUgdW5pdHMgc2Nyb2xsIHdpbGwgYmUgYnJva2VuIGluIGZpcmVmb3gKCSovCglsaW5lLWhlaWdodDogMTZweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCi5hY19sb2FkaW5nIHsKCWJhY2tncm91bmQ6IHdoaXRlIHVybCgnaW5kaWNhdG9yLmdpZicpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7Cn0KCi5hY19vZGQgewoJYmFja2dyb3VuZC1jb2xvcjogI2VlZTsKfQoKLmFjX292ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzBBMjQ2QTsKCWNvbG9yOiB3aGl0ZTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/js/autocomplete.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogQXV0b2NvbXBsZXRlIC0galF1ZXJ5IHBsdWdpbiAxLjAuMgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDcgRHlsYW4gVmVyaGV1bCwgRGFuIEcuIFN3aXR6ZXIsIEFuamVzaCBUdWxhZGhhciwgSsO2cm4gWmFlZmZlcmVyCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqCiAqIFJldmlzaW9uOiAkSWQ6IGpxdWVyeS5hdXRvY29tcGxldGUuanMgNTc0NyAyMDA4LTA2LTI1IDE4OjMwOjU1WiBqb2Vybi56YWVmZmVyZXIgJAogKgogKi8KCjsoZnVuY3Rpb24oJCkgewoJCiQuZm4uZXh0ZW5kKHsKCWF1dG9jb21wbGV0ZTogZnVuY3Rpb24odXJsT3JEYXRhLCBvcHRpb25zKSB7CgkJdmFyIGlzVXJsID0gdHlwZW9mIHVybE9yRGF0YSA9PSAic3RyaW5nIjsKCQlvcHRpb25zID0gJC5leHRlbmQoe30sICQuQXV0b2NvbXBsZXRlci5kZWZhdWx0cywgewoJCQl1cmw6IGlzVXJsID8gdXJsT3JEYXRhIDogbnVsbCwKCQkJZGF0YTogaXNVcmwgPyBudWxsIDogdXJsT3JEYXRhLAoJCQlkZWxheTogaXNVcmwgPyAkLkF1dG9jb21wbGV0ZXIuZGVmYXVsdHMuZGVsYXkgOiAxMCwKCQkJbWF4OiBvcHRpb25zICYmICFvcHRpb25zLnNjcm9sbCA/IDEwIDogMTUwCgkJfSwgb3B0aW9ucyk7CgkJCgkJLy8gaWYgaGlnaGxpZ2h0IGlzIHNldCB0byBmYWxzZSwgcmVwbGFjZSBpdCB3aXRoIGEgZG8tbm90aGluZyBmdW5jdGlvbgoJCW9wdGlvbnMuaGlnaGxpZ2h0ID0gb3B0aW9ucy5oaWdobGlnaHQgfHwgZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9OwoJCQoJCS8vIGlmIHRoZSBmb3JtYXRNYXRjaCBvcHRpb24gaXMgbm90IHNwZWNpZmllZCwgdGhlbiB1c2UgZm9ybWF0SXRlbSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCQlvcHRpb25zLmZvcm1hdE1hdGNoID0gb3B0aW9ucy5mb3JtYXRNYXRjaCB8fCBvcHRpb25zLmZvcm1hdEl0ZW07CgkJCgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJbmV3ICQuQXV0b2NvbXBsZXRlcih0aGlzLCBvcHRpb25zKTsKCQl9KTsKCX0sCglyZXN1bHQ6IGZ1bmN0aW9uKGhhbmRsZXIpIHsKCQlyZXR1cm4gdGhpcy5iaW5kKCJyZXN1bHQiLCBoYW5kbGVyKTsKCX0sCglzZWFyY2g6IGZ1bmN0aW9uKGhhbmRsZXIpIHsKCQlyZXR1cm4gdGhpcy50cmlnZ2VyKCJzZWFyY2giLCBbaGFuZGxlcl0pOwoJfSwKCWZsdXNoQ2FjaGU6IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLnRyaWdnZXIoImZsdXNoQ2FjaGUiKTsKCX0sCglzZXRPcHRpb25zOiBmdW5jdGlvbihvcHRpb25zKXsKCQlyZXR1cm4gdGhpcy50cmlnZ2VyKCJzZXRPcHRpb25zIiwgW29wdGlvbnNdKTsKCX0sCgl1bmF1dG9jb21wbGV0ZTogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIHRoaXMudHJpZ2dlcigidW5hdXRvY29tcGxldGUiKTsKCX0KfSk7CgokLkF1dG9jb21wbGV0ZXIgPSBmdW5jdGlvbihpbnB1dCwgb3B0aW9ucykgewoKCXZhciBLRVkgPSB7CgkJVVA6IDM4LAoJCURPV046IDQwLAoJCURFTDogNDYsCgkJVEFCOiA5LAoJCVJFVFVSTjogMTMsCgkJRVNDOiAyNywKCQlDT01NQTogMTg4LAoJCVBBR0VVUDogMzMsCgkJUEFHRURPV046IDM0LAoJCUJBQ0tTUEFDRTogOAoJfTsKCgkvLyBDcmVhdGUgJCBvYmplY3QgZm9yIGlucHV0IGVsZW1lbnQKCXZhciAkaW5wdXQgPSAkKGlucHV0KS5hdHRyKCJhdXRvY29tcGxldGUiLCAib2ZmIikuYWRkQ2xhc3Mob3B0aW9ucy5pbnB1dENsYXNzKTsKCgl2YXIgdGltZW91dDsKCXZhciBwcmV2aW91c1ZhbHVlID0gIiI7Cgl2YXIgY2FjaGUgPSAkLkF1dG9jb21wbGV0ZXIuQ2FjaGUob3B0aW9ucyk7Cgl2YXIgaGFzRm9jdXMgPSAwOwoJdmFyIGxhc3RLZXlQcmVzc0NvZGU7Cgl2YXIgY29uZmlnID0gewoJCW1vdXNlRG93bk9uU2VsZWN0OiBmYWxzZQoJfTsKCXZhciBzZWxlY3QgPSAkLkF1dG9jb21wbGV0ZXIuU2VsZWN0KG9wdGlvbnMsIGlucHV0LCBzZWxlY3RDdXJyZW50LCBjb25maWcpOwoJCgl2YXIgYmxvY2tTdWJtaXQ7CgkKCS8vIHByZXZlbnQgZm9ybSBzdWJtaXQgaW4gb3BlcmEgd2hlbiBzZWxlY3Rpbmcgd2l0aCByZXR1cm4ga2V5CgkkLmJyb3dzZXIub3BlcmEgJiYgJChpbnB1dC5mb3JtKS5iaW5kKCJzdWJtaXQuYXV0b2NvbXBsZXRlIiwgZnVuY3Rpb24oKSB7CgkJaWYgKGJsb2NrU3VibWl0KSB7CgkJCWJsb2NrU3VibWl0ID0gZmFsc2U7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9KTsKCQoJLy8gb25seSBvcGVyYSBkb2Vzbid0IHRyaWdnZXIga2V5ZG93biBtdWx0aXBsZSB0aW1lcyB3aGlsZSBwcmVzc2VkLCBvdGhlcnMgZG9uJ3Qgd29yayB3aXRoIGtleXByZXNzIGF0IGFsbAoJJGlucHV0LmJpbmQoKCQuYnJvd3Nlci5vcGVyYSA/ICJrZXlwcmVzcyIgOiAia2V5ZG93biIpICsgIi5hdXRvY29tcGxldGUiLCBmdW5jdGlvbihldmVudCkgewoJCS8vIHRyYWNrIGxhc3Qga2V5IHByZXNzZWQKCQlsYXN0S2V5UHJlc3NDb2RlID0gZXZlbnQua2V5Q29kZTsKCQlzd2l0Y2goZXZlbnQua2V5Q29kZSkgewoJCQoJCQljYXNlIEtFWS5VUDoKCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQlpZiAoIHNlbGVjdC52aXNpYmxlKCkgKSB7CgkJCQkJc2VsZWN0LnByZXYoKTsKCQkJCX0gZWxzZSB7CgkJCQkJb25DaGFuZ2UoMCwgdHJ1ZSk7CgkJCQl9CgkJCQlicmVhazsKCQkJCQoJCQljYXNlIEtFWS5ET1dOOgoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCWlmICggc2VsZWN0LnZpc2libGUoKSApIHsKCQkJCQlzZWxlY3QubmV4dCgpOwoJCQkJfSBlbHNlIHsKCQkJCQlvbkNoYW5nZSgwLCB0cnVlKTsKCQkJCX0KCQkJCWJyZWFrOwoJCQkJCgkJCWNhc2UgS0VZLlBBR0VVUDoKCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQlpZiAoIHNlbGVjdC52aXNpYmxlKCkgKSB7CgkJCQkJc2VsZWN0LnBhZ2VVcCgpOwoJCQkJfSBlbHNlIHsKCQkJCQlvbkNoYW5nZSgwLCB0cnVlKTsKCQkJCX0KCQkJCWJyZWFrOwoJCQkJCgkJCWNhc2UgS0VZLlBBR0VET1dOOgoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCWlmICggc2VsZWN0LnZpc2libGUoKSApIHsKCQkJCQlzZWxlY3QucGFnZURvd24oKTsKCQkJCX0gZWxzZSB7CgkJCQkJb25DaGFuZ2UoMCwgdHJ1ZSk7CgkJCQl9CgkJCQlicmVhazsKCQkJCgkJCS8vIG1hdGNoZXMgYWxzbyBzZW1pY29sb24KCQkJY2FzZSBvcHRpb25zLm11bHRpcGxlICYmICQudHJpbShvcHRpb25zLm11bHRpcGxlU2VwYXJhdG9yKSA9PSAiLCIgJiYgS0VZLkNPTU1BOgoJCQljYXNlIEtFWS5UQUI6CgkJCWNhc2UgS0VZLlJFVFVSTjoKCQkJCWlmKCBzZWxlY3RDdXJyZW50KCkgKSB7CgkJCQkJLy8gc3RvcCBkZWZhdWx0IHRvIHByZXZlbnQgYSBmb3JtIHN1Ym1pdCwgT3BlcmEgbmVlZHMgc3BlY2lhbCBoYW5kbGluZwoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJYmxvY2tTdWJtaXQgPSB0cnVlOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJCWJyZWFrOwoJCQkJCgkJCWNhc2UgS0VZLkVTQzoKCQkJCXNlbGVjdC5oaWRlKCk7CgkJCQlicmVhazsKCQkJCQoJCQlkZWZhdWx0OgoJCQkJY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwoJCQkJdGltZW91dCA9IHNldFRpbWVvdXQob25DaGFuZ2UsIG9wdGlvbnMuZGVsYXkpOwoJCQkJYnJlYWs7CgkJfQoJfSkuZm9jdXMoZnVuY3Rpb24oKXsKCQkvLyB0cmFjayB3aGV0aGVyIHRoZSBmaWVsZCBoYXMgZm9jdXMsIHdlIHNob3VsZG4ndCBwcm9jZXNzIGFueQoJCS8vIHJlc3VsdHMgaWYgdGhlIGZpZWxkIG5vIGxvbmdlciBoYXMgZm9jdXMKCQloYXNGb2N1cysrOwoJfSkuYmx1cihmdW5jdGlvbigpIHsKCQloYXNGb2N1cyA9IDA7CgkJaWYgKCFjb25maWcubW91c2VEb3duT25TZWxlY3QpIHsKCQkJaGlkZVJlc3VsdHMoKTsKCQl9Cgl9KS5jbGljayhmdW5jdGlvbigpIHsKCQkvLyBzaG93IHNlbGVjdCB3aGVuIGNsaWNraW5nIGluIGEgZm9jdXNlZCBmaWVsZAoJCWlmICggaGFzRm9jdXMrKyA+IDEgJiYgIXNlbGVjdC52aXNpYmxlKCkgKSB7CgkJCW9uQ2hhbmdlKDAsIHRydWUpOwoJCX0KCX0pLmJpbmQoInNlYXJjaCIsIGZ1bmN0aW9uKCkgewoJCS8vIFRPRE8gd2h5IG5vdCBqdXN0IHNwZWNpZnlpbmcgYm90aCBhcmd1bWVudHM/CgkJdmFyIGZuID0gKGFyZ3VtZW50cy5sZW5ndGggPiAxKSA/IGFyZ3VtZW50c1sxXSA6IG51bGw7CgkJZnVuY3Rpb24gZmluZFZhbHVlQ2FsbGJhY2socSwgZGF0YSkgewoJCQl2YXIgcmVzdWx0OwoJCQlpZiggZGF0YSAmJiBkYXRhLmxlbmd0aCApIHsKCQkJCWZvciAodmFyIGk9MDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKCQkJCQlpZiggZGF0YVtpXS5yZXN1bHQudG9Mb3dlckNhc2UoKSA9PSBxLnRvTG93ZXJDYXNlKCkgKSB7CgkJCQkJCXJlc3VsdCA9IGRhdGFbaV07CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlpZiggdHlwZW9mIGZuID09ICJmdW5jdGlvbiIgKSBmbihyZXN1bHQpOwoJCQllbHNlICRpbnB1dC50cmlnZ2VyKCJyZXN1bHQiLCByZXN1bHQgJiYgW3Jlc3VsdC5kYXRhLCByZXN1bHQudmFsdWVdKTsKCQl9CgkJJC5lYWNoKHRyaW1Xb3JkcygkaW5wdXQudmFsKCkpLCBmdW5jdGlvbihpLCB2YWx1ZSkgewoJCQlyZXF1ZXN0KHZhbHVlLCBmaW5kVmFsdWVDYWxsYmFjaywgZmluZFZhbHVlQ2FsbGJhY2spOwoJCX0pOwoJfSkuYmluZCgiZmx1c2hDYWNoZSIsIGZ1bmN0aW9uKCkgewoJCWNhY2hlLmZsdXNoKCk7Cgl9KS5iaW5kKCJzZXRPcHRpb25zIiwgZnVuY3Rpb24oKSB7CgkJJC5leHRlbmQob3B0aW9ucywgYXJndW1lbnRzWzFdKTsKCQkvLyBpZiB3ZSd2ZSB1cGRhdGVkIHRoZSBkYXRhLCByZXBvcHVsYXRlCgkJaWYgKCAiZGF0YSIgaW4gYXJndW1lbnRzWzFdICkKCQkJY2FjaGUucG9wdWxhdGUoKTsKCX0pLmJpbmQoInVuYXV0b2NvbXBsZXRlIiwgZnVuY3Rpb24oKSB7CgkJc2VsZWN0LnVuYmluZCgpOwoJCSRpbnB1dC51bmJpbmQoKTsKCQkkKGlucHV0LmZvcm0pLnVuYmluZCgiLmF1dG9jb21wbGV0ZSIpOwoJfSk7CgkKCQoJZnVuY3Rpb24gc2VsZWN0Q3VycmVudCgpIHsKCQl2YXIgc2VsZWN0ZWQgPSBzZWxlY3Quc2VsZWN0ZWQoKTsKCQlpZiggIXNlbGVjdGVkICkKCQkJcmV0dXJuIGZhbHNlOwoJCQoJCXZhciB2ID0gc2VsZWN0ZWQucmVzdWx0OwoJCXByZXZpb3VzVmFsdWUgPSB2OwoJCQoJCWlmICggb3B0aW9ucy5tdWx0aXBsZSApIHsKCQkJdmFyIHdvcmRzID0gdHJpbVdvcmRzKCRpbnB1dC52YWwoKSk7CgkJCWlmICggd29yZHMubGVuZ3RoID4gMSApIHsKCQkJCXYgPSB3b3Jkcy5zbGljZSgwLCB3b3Jkcy5sZW5ndGggLSAxKS5qb2luKCBvcHRpb25zLm11bHRpcGxlU2VwYXJhdG9yICkgKyBvcHRpb25zLm11bHRpcGxlU2VwYXJhdG9yICsgdjsKCQkJfQoJCQl2ICs9IG9wdGlvbnMubXVsdGlwbGVTZXBhcmF0b3I7CgkJfQoJCQoJCSRpbnB1dC52YWwodik7CgkJaGlkZVJlc3VsdHNOb3coKTsKCQkkaW5wdXQudHJpZ2dlcigicmVzdWx0IiwgW3NlbGVjdGVkLmRhdGEsIHNlbGVjdGVkLnZhbHVlXSk7CgkJcmV0dXJuIHRydWU7Cgl9CgkKCWZ1bmN0aW9uIG9uQ2hhbmdlKGNyYXAsIHNraXBQcmV2Q2hlY2spIHsKCQlpZiggbGFzdEtleVByZXNzQ29kZSA9PSBLRVkuREVMICkgewoJCQlzZWxlY3QuaGlkZSgpOwoJCQlyZXR1cm47CgkJfQoJCQoJCXZhciBjdXJyZW50VmFsdWUgPSAkaW5wdXQudmFsKCk7CgkJCgkJaWYgKCAhc2tpcFByZXZDaGVjayAmJiBjdXJyZW50VmFsdWUgPT0gcHJldmlvdXNWYWx1ZSApCgkJCXJldHVybjsKCQkKCQlwcmV2aW91c1ZhbHVlID0gY3VycmVudFZhbHVlOwoJCQoJCWN1cnJlbnRWYWx1ZSA9IGxhc3RXb3JkKGN1cnJlbnRWYWx1ZSk7CgkJaWYgKCBjdXJyZW50VmFsdWUubGVuZ3RoID49IG9wdGlvbnMubWluQ2hhcnMpIHsKCQkJJGlucHV0LmFkZENsYXNzKG9wdGlvbnMubG9hZGluZ0NsYXNzKTsKCQkJaWYgKCFvcHRpb25zLm1hdGNoQ2FzZSkKCQkJCWN1cnJlbnRWYWx1ZSA9IGN1cnJlbnRWYWx1ZS50b0xvd2VyQ2FzZSgpOwoJCQlyZXF1ZXN0KGN1cnJlbnRWYWx1ZSwgcmVjZWl2ZURhdGEsIGhpZGVSZXN1bHRzTm93KTsKCQl9IGVsc2UgewoJCQlzdG9wTG9hZGluZygpOwoJCQlzZWxlY3QuaGlkZSgpOwoJCX0KCX07CgkKCWZ1bmN0aW9uIHRyaW1Xb3Jkcyh2YWx1ZSkgewoJCWlmICggIXZhbHVlICkgewoJCQlyZXR1cm4gWyIiXTsKCQl9CgkJdmFyIHdvcmRzID0gdmFsdWUuc3BsaXQoIG9wdGlvbnMubXVsdGlwbGVTZXBhcmF0b3IgKTsKCQl2YXIgcmVzdWx0ID0gW107CgkJJC5lYWNoKHdvcmRzLCBmdW5jdGlvbihpLCB2YWx1ZSkgewoJCQlpZiAoICQudHJpbSh2YWx1ZSkgKQoJCQkJcmVzdWx0W2ldID0gJC50cmltKHZhbHVlKTsKCQl9KTsKCQlyZXR1cm4gcmVzdWx0OwoJfQoJCglmdW5jdGlvbiBsYXN0V29yZCh2YWx1ZSkgewoJCWlmICggIW9wdGlvbnMubXVsdGlwbGUgKQoJCQlyZXR1cm4gdmFsdWU7CgkJdmFyIHdvcmRzID0gdHJpbVdvcmRzKHZhbHVlKTsKCQlyZXR1cm4gd29yZHNbd29yZHMubGVuZ3RoIC0gMV07Cgl9CgkKCS8vIGZpbGxzIGluIHRoZSBpbnB1dCBib3ggdy90aGUgZmlyc3QgbWF0Y2ggKGFzc3VtZWQgdG8gYmUgdGhlIGJlc3QgbWF0Y2gpCgkvLyBxOiB0aGUgdGVybSBlbnRlcmVkCgkvLyBzVmFsdWU6IHRoZSBmaXJzdCBtYXRjaGluZyByZXN1bHQKCWZ1bmN0aW9uIGF1dG9GaWxsKHEsIHNWYWx1ZSl7CgkJLy8gYXV0b2ZpbGwgaW4gdGhlIGNvbXBsZXRlIGJveCB3L3RoZSBmaXJzdCBtYXRjaCBhcyBsb25nIGFzIHRoZSB1c2VyIGhhc24ndCBlbnRlcmVkIGluIG1vcmUgZGF0YQoJCS8vIGlmIHRoZSBsYXN0IHVzZXIga2V5IHByZXNzZWQgd2FzIGJhY2tzcGFjZSwgZG9uJ3QgYXV0b2ZpbGwKCQlpZiggb3B0aW9ucy5hdXRvRmlsbCAmJiAobGFzdFdvcmQoJGlucHV0LnZhbCgpKS50b0xvd2VyQ2FzZSgpID09IHEudG9Mb3dlckNhc2UoKSkgJiYgbGFzdEtleVByZXNzQ29kZSAhPSBLRVkuQkFDS1NQQUNFICkgewoJCQkvLyBmaWxsIGluIHRoZSB2YWx1ZSAoa2VlcCB0aGUgY2FzZSB0aGUgdXNlciBoYXMgdHlwZWQpCgkJCSRpbnB1dC52YWwoJGlucHV0LnZhbCgpICsgc1ZhbHVlLnN1YnN0cmluZyhsYXN0V29yZChwcmV2aW91c1ZhbHVlKS5sZW5ndGgpKTsKCQkJLy8gc2VsZWN0IHRoZSBwb3J0aW9uIG9mIHRoZSB2YWx1ZSBub3QgdHlwZWQgYnkgdGhlIHVzZXIgKHNvIHRoZSBuZXh0IGNoYXJhY3RlciB3aWxsIGVyYXNlKQoJCQkkLkF1dG9jb21wbGV0ZXIuU2VsZWN0aW9uKGlucHV0LCBwcmV2aW91c1ZhbHVlLmxlbmd0aCwgcHJldmlvdXNWYWx1ZS5sZW5ndGggKyBzVmFsdWUubGVuZ3RoKTsKCQl9Cgl9OwoKCWZ1bmN0aW9uIGhpZGVSZXN1bHRzKCkgewoJCWNsZWFyVGltZW91dCh0aW1lb3V0KTsKCQl0aW1lb3V0ID0gc2V0VGltZW91dChoaWRlUmVzdWx0c05vdywgMjAwKTsKCX07CgoJZnVuY3Rpb24gaGlkZVJlc3VsdHNOb3coKSB7CgkJdmFyIHdhc1Zpc2libGUgPSBzZWxlY3QudmlzaWJsZSgpOwoJCXNlbGVjdC5oaWRlKCk7CgkJY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwoJCXN0b3BMb2FkaW5nKCk7CgkJaWYgKG9wdGlvbnMubXVzdE1hdGNoKSB7CgkJCS8vIGNhbGwgc2VhcmNoIGFuZCBydW4gY2FsbGJhY2sKCQkJJGlucHV0LnNlYXJjaCgKCQkJCWZ1bmN0aW9uIChyZXN1bHQpewoJCQkJCS8vIGlmIG5vIHZhbHVlIGZvdW5kLCBjbGVhciB0aGUgaW5wdXQgYm94CgkJCQkJaWYoICFyZXN1bHQgKSB7CgkJCQkJCWlmIChvcHRpb25zLm11bHRpcGxlKSB7CgkJCQkJCQl2YXIgd29yZHMgPSB0cmltV29yZHMoJGlucHV0LnZhbCgpKS5zbGljZSgwLCAtMSk7CgkJCQkJCQkkaW5wdXQudmFsKCB3b3Jkcy5qb2luKG9wdGlvbnMubXVsdGlwbGVTZXBhcmF0b3IpICsgKHdvcmRzLmxlbmd0aCA/IG9wdGlvbnMubXVsdGlwbGVTZXBhcmF0b3IgOiAiIikgKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCQkkaW5wdXQudmFsKCAiIiApOwoJCQkJCX0KCQkJCX0KCQkJKTsKCQl9CgkJaWYgKHdhc1Zpc2libGUpCgkJCS8vIHBvc2l0aW9uIGN1cnNvciBhdCBlbmQgb2YgaW5wdXQgZmllbGQKCQkJJC5BdXRvY29tcGxldGVyLlNlbGVjdGlvbihpbnB1dCwgaW5wdXQudmFsdWUubGVuZ3RoLCBpbnB1dC52YWx1ZS5sZW5ndGgpOwoJfTsKCglmdW5jdGlvbiByZWNlaXZlRGF0YShxLCBkYXRhKSB7CgkJaWYgKCBkYXRhICYmIGRhdGEubGVuZ3RoICYmIGhhc0ZvY3VzICkgewoJCQlzdG9wTG9hZGluZygpOwoJCQlzZWxlY3QuZGlzcGxheShkYXRhLCBxKTsKCQkJYXV0b0ZpbGwocSwgZGF0YVswXS52YWx1ZSk7CgkJCXNlbGVjdC5zaG93KCk7CgkJfSBlbHNlIHsKCQkJaGlkZVJlc3VsdHNOb3coKTsKCQl9Cgl9OwoKCWZ1bmN0aW9uIHJlcXVlc3QodGVybSwgc3VjY2VzcywgZmFpbHVyZSkgewoJCWlmICghb3B0aW9ucy5tYXRjaENhc2UpCgkJCXRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7CgkJdmFyIGRhdGEgPSBjYWNoZS5sb2FkKHRlcm0pOwoJCS8vIHJlY2lldmUgdGhlIGNhY2hlZCBkYXRhCgkJaWYgKGRhdGEgJiYgZGF0YS5sZW5ndGgpIHsKCQkJc3VjY2Vzcyh0ZXJtLCBkYXRhKTsKCQkvLyBpZiBhbiBBSkFYIHVybCBoYXMgYmVlbiBzdXBwbGllZCwgdHJ5IGxvYWRpbmcgdGhlIGRhdGEgbm93CgkJfSBlbHNlIGlmKCAodHlwZW9mIG9wdGlvbnMudXJsID09ICJzdHJpbmciKSAmJiAob3B0aW9ucy51cmwubGVuZ3RoID4gMCkgKXsKCQkJCgkJCXZhciBleHRyYVBhcmFtcyA9IHsKCQkJCXRpbWVzdGFtcDogK25ldyBEYXRlKCkKCQkJfTsKCQkJJC5lYWNoKG9wdGlvbnMuZXh0cmFQYXJhbXMsIGZ1bmN0aW9uKGtleSwgcGFyYW0pIHsKCQkJCWV4dHJhUGFyYW1zW2tleV0gPSB0eXBlb2YgcGFyYW0gPT0gImZ1bmN0aW9uIiA/IHBhcmFtKCkgOiBwYXJhbTsKCQkJfSk7CgkJCQoJCQkkLmFqYXgoewoJCQkJLy8gdHJ5IHRvIGxldmVyYWdlIGFqYXhRdWV1ZSBwbHVnaW4gdG8gYWJvcnQgcHJldmlvdXMgcmVxdWVzdHMKCQkJCW1vZGU6ICJhYm9ydCIsCgkJCQkvLyBsaW1pdCBhYm9ydGlvbiB0byB0aGlzIGlucHV0CgkJCQlwb3J0OiAiYXV0b2NvbXBsZXRlIiArIGlucHV0Lm5hbWUsCgkJCQlkYXRhVHlwZTogb3B0aW9ucy5kYXRhVHlwZSwKCQkJCXVybDogb3B0aW9ucy51cmwsCgkJCQlkYXRhOiAkLmV4dGVuZCh7CgkJCQkJcTogbGFzdFdvcmQodGVybSksCgkJCQkJbGltaXQ6IG9wdGlvbnMubWF4CgkJCQl9LCBleHRyYVBhcmFtcyksCgkJCQlzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CgkJCQkJdmFyIHBhcnNlZCA9IG9wdGlvbnMucGFyc2UgJiYgb3B0aW9ucy5wYXJzZShkYXRhKSB8fCBwYXJzZShkYXRhKTsKCQkJCQljYWNoZS5hZGQodGVybSwgcGFyc2VkKTsKCQkJCQlzdWNjZXNzKHRlcm0sIHBhcnNlZCk7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSB7CgkJCS8vIGlmIHdlIGhhdmUgYSBmYWlsdXJlLCB3ZSBuZWVkIHRvIGVtcHR5IHRoZSBsaXN0IC0tIHRoaXMgcHJldmVudHMgdGhlIHRoZSBbVEFCXSBrZXkgZnJvbSBzZWxlY3RpbmcgdGhlIGxhc3Qgc3VjY2Vzc2Z1bCBtYXRjaAoJCQlzZWxlY3QuZW1wdHlMaXN0KCk7CgkJCWZhaWx1cmUodGVybSk7CgkJfQoJfTsKCQoJZnVuY3Rpb24gcGFyc2UoZGF0YSkgewoJCXZhciBwYXJzZWQgPSBbXTsKCQl2YXIgcm93cyA9IGRhdGEuc3BsaXQoIlxuIik7CgkJZm9yICh2YXIgaT0wOyBpIDwgcm93cy5sZW5ndGg7IGkrKykgewoJCQl2YXIgcm93ID0gJC50cmltKHJvd3NbaV0pOwoJCQlpZiAocm93KSB7CgkJCQlyb3cgPSByb3cuc3BsaXQoInwiKTsKCQkJCXBhcnNlZFtwYXJzZWQubGVuZ3RoXSA9IHsKCQkJCQlkYXRhOiByb3csCgkJCQkJdmFsdWU6IHJvd1swXSwKCQkJCQlyZXN1bHQ6IG9wdGlvbnMuZm9ybWF0UmVzdWx0ICYmIG9wdGlvbnMuZm9ybWF0UmVzdWx0KHJvdywgcm93WzBdKSB8fCByb3dbMF0KCQkJCX07CgkJCX0KCQl9CgkJcmV0dXJuIHBhcnNlZDsKCX07CgoJZnVuY3Rpb24gc3RvcExvYWRpbmcoKSB7CgkJJGlucHV0LnJlbW92ZUNsYXNzKG9wdGlvbnMubG9hZGluZ0NsYXNzKTsKCX07Cgp9OwoKJC5BdXRvY29tcGxldGVyLmRlZmF1bHRzID0gewoJaW5wdXRDbGFzczogImFjX2lucHV0IiwKCXJlc3VsdHNDbGFzczogImFjX3Jlc3VsdHMiLAoJbG9hZGluZ0NsYXNzOiAiYWNfbG9hZGluZyIsCgltaW5DaGFyczogMSwKCWRlbGF5OiA0MDAsCgltYXRjaENhc2U6IGZhbHNlLAoJbWF0Y2hTdWJzZXQ6IHRydWUsCgltYXRjaENvbnRhaW5zOiBmYWxzZSwKCWNhY2hlTGVuZ3RoOiAxMCwKCW1heDogMTAwLAoJbXVzdE1hdGNoOiBmYWxzZSwKCWV4dHJhUGFyYW1zOiB7fSwKCXNlbGVjdEZpcnN0OiB0cnVlLAoJZm9ybWF0SXRlbTogZnVuY3Rpb24ocm93KSB7IHJldHVybiByb3dbMF07IH0sCglmb3JtYXRNYXRjaDogbnVsbCwKCWF1dG9GaWxsOiBmYWxzZSwKCXdpZHRoOiAwLAoJbXVsdGlwbGU6IGZhbHNlLAoJbXVsdGlwbGVTZXBhcmF0b3I6ICIsICIsCgloaWdobGlnaHQ6IGZ1bmN0aW9uKHZhbHVlLCB0ZXJtKSB7CgkJcmV0dXJuIHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCgiKD8hW14mO10rOykoPyE8W148Pl0qKSgiICsgdGVybS5yZXBsYWNlKC8oW1xeXCRcKFwpXFtcXVx7XH1cKlwuXCtcP1x8XFxdKS9naSwgIlxcJDEiKSArICIpKD8hW148Pl0qPikoPyFbXiY7XSs7KSIsICJnaSIpLCAiPHN0cm9uZz4kMTwvc3Ryb25nPiIpOwoJfSwKICAgIHNjcm9sbDogdHJ1ZSwKICAgIHNjcm9sbEhlaWdodDogMTgwCn07CgokLkF1dG9jb21wbGV0ZXIuQ2FjaGUgPSBmdW5jdGlvbihvcHRpb25zKSB7CgoJdmFyIGRhdGEgPSB7fTsKCXZhciBsZW5ndGggPSAwOwoJCglmdW5jdGlvbiBtYXRjaFN1YnNldChzLCBzdWIpIHsKCQlpZiAoIW9wdGlvbnMubWF0Y2hDYXNlKSAKCQkJcyA9IHMudG9Mb3dlckNhc2UoKTsKCQl2YXIgaSA9IHMuaW5kZXhPZihzdWIpOwoJCWlmIChpID09IC0xKSByZXR1cm4gZmFsc2U7CgkJcmV0dXJuIGkgPT0gMCB8fCBvcHRpb25zLm1hdGNoQ29udGFpbnM7Cgl9OwoJCglmdW5jdGlvbiBhZGQocSwgdmFsdWUpIHsKCQlpZiAobGVuZ3RoID4gb3B0aW9ucy5jYWNoZUxlbmd0aCl7CgkJCWZsdXNoKCk7CgkJfQoJCWlmICghZGF0YVtxXSl7IAoJCQlsZW5ndGgrKzsKCQl9CgkJZGF0YVtxXSA9IHZhbHVlOwoJfQoJCglmdW5jdGlvbiBwb3B1bGF0ZSgpewoJCWlmKCAhb3B0aW9ucy5kYXRhICkgcmV0dXJuIGZhbHNlOwoJCS8vIHRyYWNrIHRoZSBtYXRjaGVzCgkJdmFyIHN0TWF0Y2hTZXRzID0ge30sCgkJCW51bGxEYXRhID0gMDsKCgkJLy8gbm8gdXJsIHdhcyBzcGVjaWZpZWQsIHdlIG5lZWQgdG8gYWRqdXN0IHRoZSBjYWNoZSBsZW5ndGggdG8gbWFrZSBzdXJlIGl0IGZpdHMgdGhlIGxvY2FsIGRhdGEgc3RvcmUKCQlpZiggIW9wdGlvbnMudXJsICkgb3B0aW9ucy5jYWNoZUxlbmd0aCA9IDE7CgkJCgkJLy8gdHJhY2sgYWxsIG9wdGlvbnMgZm9yIG1pbkNoYXJzID0gMAoJCXN0TWF0Y2hTZXRzWyIiXSA9IFtdOwoJCQoJCS8vIGxvb3AgdGhyb3VnaCB0aGUgYXJyYXkgYW5kIGNyZWF0ZSBhIGxvb2t1cCBzdHJ1Y3R1cmUKCQlmb3IgKCB2YXIgaSA9IDAsIG9sID0gb3B0aW9ucy5kYXRhLmxlbmd0aDsgaSA8IG9sOyBpKysgKSB7CgkJCXZhciByYXdWYWx1ZSA9IG9wdGlvbnMuZGF0YVtpXTsKCQkJLy8gaWYgcmF3VmFsdWUgaXMgYSBzdHJpbmcsIG1ha2UgYW4gYXJyYXkgb3RoZXJ3aXNlIGp1c3QgcmVmZXJlbmNlIHRoZSBhcnJheQoJCQlyYXdWYWx1ZSA9ICh0eXBlb2YgcmF3VmFsdWUgPT0gInN0cmluZyIpID8gW3Jhd1ZhbHVlXSA6IHJhd1ZhbHVlOwoJCQkKCQkJdmFyIHZhbHVlID0gb3B0aW9ucy5mb3JtYXRNYXRjaChyYXdWYWx1ZSwgaSsxLCBvcHRpb25zLmRhdGEubGVuZ3RoKTsKCQkJaWYgKCB2YWx1ZSA9PT0gZmFsc2UgKQoJCQkJY29udGludWU7CgkJCQkKCQkJdmFyIGZpcnN0Q2hhciA9IHZhbHVlLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpOwoJCQkvLyBpZiBubyBsb29rdXAgYXJyYXkgZm9yIHRoaXMgY2hhcmFjdGVyIGV4aXN0cywgbG9vayBpdCB1cCBub3cKCQkJaWYoICFzdE1hdGNoU2V0c1tmaXJzdENoYXJdICkgCgkJCQlzdE1hdGNoU2V0c1tmaXJzdENoYXJdID0gW107CgoJCQkvLyBpZiB0aGUgbWF0Y2ggaXMgYSBzdHJpbmcKCQkJdmFyIHJvdyA9IHsKCQkJCXZhbHVlOiB2YWx1ZSwKCQkJCWRhdGE6IHJhd1ZhbHVlLAoJCQkJcmVzdWx0OiBvcHRpb25zLmZvcm1hdFJlc3VsdCAmJiBvcHRpb25zLmZvcm1hdFJlc3VsdChyYXdWYWx1ZSkgfHwgdmFsdWUKCQkJfTsKCQkJCgkJCS8vIHB1c2ggdGhlIGN1cnJlbnQgbWF0Y2ggaW50byB0aGUgc2V0IGxpc3QKCQkJc3RNYXRjaFNldHNbZmlyc3RDaGFyXS5wdXNoKHJvdyk7CgoJCQkvLyBrZWVwIHRyYWNrIG9mIG1pbkNoYXJzIHplcm8gaXRlbXMKCQkJaWYgKCBudWxsRGF0YSsrIDwgb3B0aW9ucy5tYXggKSB7CgkJCQlzdE1hdGNoU2V0c1siIl0ucHVzaChyb3cpOwoJCQl9CgkJfTsKCgkJLy8gYWRkIHRoZSBkYXRhIGl0ZW1zIHRvIHRoZSBjYWNoZQoJCSQuZWFjaChzdE1hdGNoU2V0cywgZnVuY3Rpb24oaSwgdmFsdWUpIHsKCQkJLy8gaW5jcmVhc2UgdGhlIGNhY2hlIHNpemUKCQkJb3B0aW9ucy5jYWNoZUxlbmd0aCsrOwoJCQkvLyBhZGQgdG8gdGhlIGNhY2hlCgkJCWFkZChpLCB2YWx1ZSk7CgkJfSk7Cgl9CgkKCS8vIHBvcHVsYXRlIGFueSBleGlzdGluZyBkYXRhCglzZXRUaW1lb3V0KHBvcHVsYXRlLCAyNSk7CgkKCWZ1bmN0aW9uIGZsdXNoKCl7CgkJZGF0YSA9IHt9OwoJCWxlbmd0aCA9IDA7Cgl9CgkKCXJldHVybiB7CgkJZmx1c2g6IGZsdXNoLAoJCWFkZDogYWRkLAoJCXBvcHVsYXRlOiBwb3B1bGF0ZSwKCQlsb2FkOiBmdW5jdGlvbihxKSB7CgkJCWlmICghb3B0aW9ucy5jYWNoZUxlbmd0aCB8fCAhbGVuZ3RoKQoJCQkJcmV0dXJuIG51bGw7CgkJCS8qIAoJCQkgKiBpZiBkZWFsaW5nIHcvbG9jYWwgZGF0YSBhbmQgbWF0Y2hDb250YWlucyB0aGFuIHdlIG11c3QgbWFrZSBzdXJlCgkJCSAqIHRvIGxvb3AgdGhyb3VnaCBhbGwgdGhlIGRhdGEgY29sbGVjdGlvbnMgbG9va2luZyBmb3IgbWF0Y2hlcwoJCQkgKi8KCQkJaWYoICFvcHRpb25zLnVybCAmJiBvcHRpb25zLm1hdGNoQ29udGFpbnMgKXsKCQkJCS8vIHRyYWNrIGFsbCBtYXRjaGVzCgkJCQl2YXIgY3N1YiA9IFtdOwoJCQkJLy8gbG9vcCB0aHJvdWdoIGFsbCB0aGUgZGF0YSBncmlkcyBmb3IgbWF0Y2hlcwoJCQkJZm9yKCB2YXIgayBpbiBkYXRhICl7CgkJCQkJLy8gZG9uJ3Qgc2VhcmNoIHRocm91Z2ggdGhlIHN0TWF0Y2hTZXRzWyIiXSAobWluQ2hhcnM6IDApIGNhY2hlCgkJCQkJLy8gdGhpcyBwcmV2ZW50cyBkdXBsaWNhdGVzCgkJCQkJaWYoIGsubGVuZ3RoID4gMCApewoJCQkJCQl2YXIgYyA9IGRhdGFba107CgkJCQkJCSQuZWFjaChjLCBmdW5jdGlvbihpLCB4KSB7CgkJCQkJCQkvLyBpZiB3ZSd2ZSBnb3QgYSBtYXRjaCwgYWRkIGl0IHRvIHRoZSBhcnJheQoJCQkJCQkJaWYgKG1hdGNoU3Vic2V0KHgudmFsdWUsIHEpKSB7CgkJCQkJCQkJY3N1Yi5wdXNoKHgpOwoJCQkJCQkJfQoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CQkJCQoJCQkJcmV0dXJuIGNzdWI7CgkJCX0gZWxzZSAKCQkJLy8gaWYgdGhlIGV4YWN0IGl0ZW0gZXhpc3RzLCB1c2UgaXQKCQkJaWYgKGRhdGFbcV0pewoJCQkJcmV0dXJuIGRhdGFbcV07CgkJCX0gZWxzZQoJCQlpZiAob3B0aW9ucy5tYXRjaFN1YnNldCkgewoJCQkJZm9yICh2YXIgaSA9IHEubGVuZ3RoIC0gMTsgaSA+PSBvcHRpb25zLm1pbkNoYXJzOyBpLS0pIHsKCQkJCQl2YXIgYyA9IGRhdGFbcS5zdWJzdHIoMCwgaSldOwoJCQkJCWlmIChjKSB7CgkJCQkJCXZhciBjc3ViID0gW107CgkJCQkJCSQuZWFjaChjLCBmdW5jdGlvbihpLCB4KSB7CgkJCQkJCQlpZiAobWF0Y2hTdWJzZXQoeC52YWx1ZSwgcSkpIHsKCQkJCQkJCQljc3ViW2NzdWIubGVuZ3RoXSA9IHg7CgkJCQkJCQl9CgkJCQkJCX0pOwoJCQkJCQlyZXR1cm4gY3N1YjsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJcmV0dXJuIG51bGw7CgkJfQoJfTsKfTsKCiQuQXV0b2NvbXBsZXRlci5TZWxlY3QgPSBmdW5jdGlvbiAob3B0aW9ucywgaW5wdXQsIHNlbGVjdCwgY29uZmlnKSB7Cgl2YXIgQ0xBU1NFUyA9IHsKCQlBQ1RJVkU6ICJhY19vdmVyIgoJfTsKCQoJdmFyIGxpc3RJdGVtcywKCQlhY3RpdmUgPSAtMSwKCQlkYXRhLAoJCXRlcm0gPSAiIiwKCQluZWVkc0luaXQgPSB0cnVlLAoJCWVsZW1lbnQsCgkJbGlzdDsKCQoJLy8gQ3JlYXRlIHJlc3VsdHMKCWZ1bmN0aW9uIGluaXQoKSB7CgkJaWYgKCFuZWVkc0luaXQpCgkJCXJldHVybjsKCQllbGVtZW50ID0gJCgiPGRpdi8+IikKCQkuaGlkZSgpCgkJLmFkZENsYXNzKG9wdGlvbnMucmVzdWx0c0NsYXNzKQoJCS5jc3MoInBvc2l0aW9uIiwgImFic29sdXRlIikKCQkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSk7CgkKCQlsaXN0ID0gJCgiPHVsLz4iKS5hcHBlbmRUbyhlbGVtZW50KS5tb3VzZW92ZXIoIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCWlmKHRhcmdldChldmVudCkubm9kZU5hbWUgJiYgdGFyZ2V0KGV2ZW50KS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09ICdMSScpIHsKCSAgICAgICAgICAgIGFjdGl2ZSA9ICQoImxpIiwgbGlzdCkucmVtb3ZlQ2xhc3MoQ0xBU1NFUy5BQ1RJVkUpLmluZGV4KHRhcmdldChldmVudCkpOwoJCQkgICAgJCh0YXJnZXQoZXZlbnQpKS5hZGRDbGFzcyhDTEFTU0VTLkFDVElWRSk7ICAgICAgICAgICAgCgkgICAgICAgIH0KCQl9KS5jbGljayhmdW5jdGlvbihldmVudCkgewoJCQkkKHRhcmdldChldmVudCkpLmFkZENsYXNzKENMQVNTRVMuQUNUSVZFKTsKCQkJc2VsZWN0KCk7CgkJCS8vIFRPRE8gcHJvdmlkZSBvcHRpb24gdG8gYXZvaWQgc2V0dGluZyBmb2N1cyBhZ2FpbiBhZnRlciBzZWxlY3Rpb24/IHVzZWZ1bCBmb3IgY2xlYW51cC1vbi1mb2N1cwoJCQlpbnB1dC5mb2N1cygpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfSkubW91c2Vkb3duKGZ1bmN0aW9uKCkgewoJCQljb25maWcubW91c2VEb3duT25TZWxlY3QgPSB0cnVlOwoJCX0pLm1vdXNldXAoZnVuY3Rpb24oKSB7CgkJCWNvbmZpZy5tb3VzZURvd25PblNlbGVjdCA9IGZhbHNlOwoJCX0pOwoJCQoJCWlmKCBvcHRpb25zLndpZHRoID4gMCApCgkJCWVsZW1lbnQuY3NzKCJ3aWR0aCIsIG9wdGlvbnMud2lkdGgpOwoJCQkKCQluZWVkc0luaXQgPSBmYWxzZTsKCX0gCgkKCWZ1bmN0aW9uIHRhcmdldChldmVudCkgewoJCXZhciBlbGVtZW50ID0gZXZlbnQudGFyZ2V0OwoJCXdoaWxlKGVsZW1lbnQgJiYgZWxlbWVudC50YWdOYW1lICE9ICJMSSIpCgkJCWVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7CgkJLy8gbW9yZSBmdW4gd2l0aCBJRSwgc29tZXRpbWVzIGV2ZW50LnRhcmdldCBpcyBlbXB0eSwganVzdCBpZ25vcmUgaXQgdGhlbgoJCWlmKCFlbGVtZW50KQoJCQlyZXR1cm4gW107CgkJcmV0dXJuIGVsZW1lbnQ7Cgl9CgoJZnVuY3Rpb24gbW92ZVNlbGVjdChzdGVwKSB7CgkJbGlzdEl0ZW1zLnNsaWNlKGFjdGl2ZSwgYWN0aXZlICsgMSkucmVtb3ZlQ2xhc3MoQ0xBU1NFUy5BQ1RJVkUpOwoJCW1vdmVQb3NpdGlvbihzdGVwKTsKICAgICAgICB2YXIgYWN0aXZlSXRlbSA9IGxpc3RJdGVtcy5zbGljZShhY3RpdmUsIGFjdGl2ZSArIDEpLmFkZENsYXNzKENMQVNTRVMuQUNUSVZFKTsKICAgICAgICBpZihvcHRpb25zLnNjcm9sbCkgewogICAgICAgICAgICB2YXIgb2Zmc2V0ID0gMDsKICAgICAgICAgICAgbGlzdEl0ZW1zLnNsaWNlKDAsIGFjdGl2ZSkuZWFjaChmdW5jdGlvbigpIHsKCQkJCW9mZnNldCArPSB0aGlzLm9mZnNldEhlaWdodDsKCQkJfSk7CiAgICAgICAgICAgIGlmKChvZmZzZXQgKyBhY3RpdmVJdGVtWzBdLm9mZnNldEhlaWdodCAtIGxpc3Quc2Nyb2xsVG9wKCkpID4gbGlzdFswXS5jbGllbnRIZWlnaHQpIHsKICAgICAgICAgICAgICAgIGxpc3Quc2Nyb2xsVG9wKG9mZnNldCArIGFjdGl2ZUl0ZW1bMF0ub2Zmc2V0SGVpZ2h0IC0gbGlzdC5pbm5lckhlaWdodCgpKTsKICAgICAgICAgICAgfSBlbHNlIGlmKG9mZnNldCA8IGxpc3Quc2Nyb2xsVG9wKCkpIHsKICAgICAgICAgICAgICAgIGxpc3Quc2Nyb2xsVG9wKG9mZnNldCk7CiAgICAgICAgICAgIH0KICAgICAgICB9Cgl9OwoJCglmdW5jdGlvbiBtb3ZlUG9zaXRpb24oc3RlcCkgewoJCWFjdGl2ZSArPSBzdGVwOwoJCWlmIChhY3RpdmUgPCAwKSB7CgkJCWFjdGl2ZSA9IGxpc3RJdGVtcy5zaXplKCkgLSAxOwoJCX0gZWxzZSBpZiAoYWN0aXZlID49IGxpc3RJdGVtcy5zaXplKCkpIHsKCQkJYWN0aXZlID0gMDsKCQl9Cgl9CgkKCWZ1bmN0aW9uIGxpbWl0TnVtYmVyT2ZJdGVtcyhhdmFpbGFibGUpIHsKCQlyZXR1cm4gb3B0aW9ucy5tYXggJiYgb3B0aW9ucy5tYXggPCBhdmFpbGFibGUKCQkJPyBvcHRpb25zLm1heAoJCQk6IGF2YWlsYWJsZTsKCX0KCQoJZnVuY3Rpb24gZmlsbExpc3QoKSB7CgkJbGlzdC5lbXB0eSgpOwoJCXZhciBtYXggPSBsaW1pdE51bWJlck9mSXRlbXMoZGF0YS5sZW5ndGgpOwoJCWZvciAodmFyIGk9MDsgaSA8IG1heDsgaSsrKSB7CgkJCWlmICghZGF0YVtpXSkKCQkJCWNvbnRpbnVlOwoJCQl2YXIgZm9ybWF0dGVkID0gb3B0aW9ucy5mb3JtYXRJdGVtKGRhdGFbaV0uZGF0YSwgaSsxLCBtYXgsIGRhdGFbaV0udmFsdWUsIHRlcm0pOwoJCQlpZiAoIGZvcm1hdHRlZCA9PT0gZmFsc2UgKQoJCQkJY29udGludWU7CgkJCXZhciBsaSA9ICQoIjxsaS8+IikuaHRtbCggb3B0aW9ucy5oaWdobGlnaHQoZm9ybWF0dGVkLCB0ZXJtKSApLmFkZENsYXNzKGklMiA9PSAwID8gImFjX2V2ZW4iIDogImFjX29kZCIpLmFwcGVuZFRvKGxpc3QpWzBdOwoJCQkkLmRhdGEobGksICJhY19kYXRhIiwgZGF0YVtpXSk7CgkJfQoJCWxpc3RJdGVtcyA9IGxpc3QuZmluZCgibGkiKTsKCQlpZiAoIG9wdGlvbnMuc2VsZWN0Rmlyc3QgKSB7CgkJCWxpc3RJdGVtcy5zbGljZSgwLCAxKS5hZGRDbGFzcyhDTEFTU0VTLkFDVElWRSk7CgkJCWFjdGl2ZSA9IDA7CgkJfQoJCS8vIGFwcGx5IGJnaWZyYW1lIGlmIGF2YWlsYWJsZQoJCWlmICggJC5mbi5iZ2lmcmFtZSApCgkJCWxpc3QuYmdpZnJhbWUoKTsKCX0KCQoJcmV0dXJuIHsKCQlkaXNwbGF5OiBmdW5jdGlvbihkLCBxKSB7CgkJCWluaXQoKTsKCQkJZGF0YSA9IGQ7CgkJCXRlcm0gPSBxOwoJCQlmaWxsTGlzdCgpOwoJCX0sCgkJbmV4dDogZnVuY3Rpb24oKSB7CgkJCW1vdmVTZWxlY3QoMSk7CgkJfSwKCQlwcmV2OiBmdW5jdGlvbigpIHsKCQkJbW92ZVNlbGVjdCgtMSk7CgkJfSwKCQlwYWdlVXA6IGZ1bmN0aW9uKCkgewoJCQlpZiAoYWN0aXZlICE9IDAgJiYgYWN0aXZlIC0gOCA8IDApIHsKCQkJCW1vdmVTZWxlY3QoIC1hY3RpdmUgKTsKCQkJfSBlbHNlIHsKCQkJCW1vdmVTZWxlY3QoLTgpOwoJCQl9CgkJfSwKCQlwYWdlRG93bjogZnVuY3Rpb24oKSB7CgkJCWlmIChhY3RpdmUgIT0gbGlzdEl0ZW1zLnNpemUoKSAtIDEgJiYgYWN0aXZlICsgOCA+IGxpc3RJdGVtcy5zaXplKCkpIHsKCQkJCW1vdmVTZWxlY3QoIGxpc3RJdGVtcy5zaXplKCkgLSAxIC0gYWN0aXZlICk7CgkJCX0gZWxzZSB7CgkJCQltb3ZlU2VsZWN0KDgpOwoJCQl9CgkJfSwKCQloaWRlOiBmdW5jdGlvbigpIHsKCQkJZWxlbWVudCAmJiBlbGVtZW50LmhpZGUoKTsKCQkJbGlzdEl0ZW1zICYmIGxpc3RJdGVtcy5yZW1vdmVDbGFzcyhDTEFTU0VTLkFDVElWRSk7CgkJCWFjdGl2ZSA9IC0xOwoJCX0sCgkJdmlzaWJsZSA6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50LmlzKCI6dmlzaWJsZSIpOwoJCX0sCgkJY3VycmVudDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLnZpc2libGUoKSAmJiAobGlzdEl0ZW1zLmZpbHRlcigiLiIgKyBDTEFTU0VTLkFDVElWRSlbMF0gfHwgb3B0aW9ucy5zZWxlY3RGaXJzdCAmJiBsaXN0SXRlbXNbMF0pOwoJCX0sCgkJc2hvdzogZnVuY3Rpb24oKSB7CgkJCXZhciBvZmZzZXQgPSAkKGlucHV0KS5vZmZzZXQoKTsKCQkJZWxlbWVudC5jc3MoewoJCQkJd2lkdGg6IHR5cGVvZiBvcHRpb25zLndpZHRoID09ICJzdHJpbmciIHx8IG9wdGlvbnMud2lkdGggPiAwID8gb3B0aW9ucy53aWR0aCA6ICQoaW5wdXQpLndpZHRoKCksCgkJCQl0b3A6IG9mZnNldC50b3AgKyBpbnB1dC5vZmZzZXRIZWlnaHQsCgkJCQlsZWZ0OiBvZmZzZXQubGVmdAoJCQl9KS5zaG93KCk7CiAgICAgICAgICAgIGlmKG9wdGlvbnMuc2Nyb2xsKSB7CiAgICAgICAgICAgICAgICBsaXN0LnNjcm9sbFRvcCgwKTsKICAgICAgICAgICAgICAgIGxpc3QuY3NzKHsKCQkJCQltYXhIZWlnaHQ6IG9wdGlvbnMuc2Nyb2xsSGVpZ2h0LAoJCQkJCW92ZXJmbG93OiAnYXV0bycKCQkJCX0pOwoJCQkJCiAgICAgICAgICAgICAgICBpZigkLmJyb3dzZXIubXNpZSAmJiB0eXBlb2YgZG9jdW1lbnQuYm9keS5zdHlsZS5tYXhIZWlnaHQgPT09ICJ1bmRlZmluZWQiKSB7CgkJCQkJdmFyIGxpc3RIZWlnaHQgPSAwOwoJCQkJCWxpc3RJdGVtcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCQlsaXN0SGVpZ2h0ICs9IHRoaXMub2Zmc2V0SGVpZ2h0OwoJCQkJCX0pOwoJCQkJCXZhciBzY3JvbGxiYXJzVmlzaWJsZSA9IGxpc3RIZWlnaHQgPiBvcHRpb25zLnNjcm9sbEhlaWdodDsKICAgICAgICAgICAgICAgICAgICBsaXN0LmNzcygnaGVpZ2h0Jywgc2Nyb2xsYmFyc1Zpc2libGUgPyBvcHRpb25zLnNjcm9sbEhlaWdodCA6IGxpc3RIZWlnaHQgKTsKCQkJCQlpZiAoIXNjcm9sbGJhcnNWaXNpYmxlKSB7CgkJCQkJCS8vIElFIGRvZXNuJ3QgcmVjYWxjdWxhdGUgd2lkdGggd2hlbiBzY3JvbGxiYXIgZGlzYXBwZWFycwoJCQkJCQlsaXN0SXRlbXMud2lkdGgoIGxpc3Qud2lkdGgoKSAtIHBhcnNlSW50KGxpc3RJdGVtcy5jc3MoInBhZGRpbmctbGVmdCIpKSAtIHBhcnNlSW50KGxpc3RJdGVtcy5jc3MoInBhZGRpbmctcmlnaHQiKSkgKTsKCQkJCQl9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfQoJCX0sCgkJc2VsZWN0ZWQ6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZWN0ZWQgPSBsaXN0SXRlbXMgJiYgbGlzdEl0ZW1zLmZpbHRlcigiLiIgKyBDTEFTU0VTLkFDVElWRSkucmVtb3ZlQ2xhc3MoQ0xBU1NFUy5BQ1RJVkUpOwoJCQlyZXR1cm4gc2VsZWN0ZWQgJiYgc2VsZWN0ZWQubGVuZ3RoICYmICQuZGF0YShzZWxlY3RlZFswXSwgImFjX2RhdGEiKTsKCQl9LAoJCWVtcHR5TGlzdDogZnVuY3Rpb24gKCl7CgkJCWxpc3QgJiYgbGlzdC5lbXB0eSgpOwoJCX0sCgkJdW5iaW5kOiBmdW5jdGlvbigpIHsKCQkJZWxlbWVudCAmJiBlbGVtZW50LnJlbW92ZSgpOwoJCX0KCX07Cn07CgokLkF1dG9jb21wbGV0ZXIuU2VsZWN0aW9uID0gZnVuY3Rpb24oZmllbGQsIHN0YXJ0LCBlbmQpIHsKCWlmKCBmaWVsZC5jcmVhdGVUZXh0UmFuZ2UgKXsKCQl2YXIgc2VsUmFuZ2UgPSBmaWVsZC5jcmVhdGVUZXh0UmFuZ2UoKTsKCQlzZWxSYW5nZS5jb2xsYXBzZSh0cnVlKTsKCQlzZWxSYW5nZS5tb3ZlU3RhcnQoImNoYXJhY3RlciIsIHN0YXJ0KTsKCQlzZWxSYW5nZS5tb3ZlRW5kKCJjaGFyYWN0ZXIiLCBlbmQpOwoJCXNlbFJhbmdlLnNlbGVjdCgpOwoJfSBlbHNlIGlmKCBmaWVsZC5zZXRTZWxlY3Rpb25SYW5nZSApewoJCWZpZWxkLnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBlbmQpOwoJfSBlbHNlIHsKCQlpZiggZmllbGQuc2VsZWN0aW9uU3RhcnQgKXsKCQkJZmllbGQuc2VsZWN0aW9uU3RhcnQgPSBzdGFydDsKCQkJZmllbGQuc2VsZWN0aW9uRW5kID0gZW5kOwoJCX0KCX0KCWZpZWxkLmZvY3VzKCk7Cn07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/autocomplete/required.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/bgiframe/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/bgiframe/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/bgiframe/js/bgiframe.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA2IEJyYW5kb24gQWFyb24gKGh0dHA6Ly9icmFuZG9uYWFyb24ubmV0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKSAKICogYW5kIEdQTCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHApIGxpY2Vuc2VzLgogKgogKiAkTGFzdENoYW5nZWREYXRlOiAyMDA3LTA2LTIwIDAzOjIzOjM2ICswMjAwIChNaSwgMjAgSnVuIDIwMDcpICQKICogJFJldjogMjExMCAkCiAqCiAqIFZlcnNpb24gMi4xCiAqLwoKKGZ1bmN0aW9uKCQpewoKLyoqCiAqIFRoZSBiZ2lmcmFtZSBpcyBjaGFpbmFibGUgYW5kIGFwcGxpZXMgdGhlIGlmcmFtZSBoYWNrIHRvIGdldCAKICogYXJvdW5kIHpJbmRleCBpc3N1ZXMgaW4gSUU2LiBJdCB3aWxsIG9ubHkgYXBwbHkgaXRzZWxmIGluIElFIAogKiBhbmQgYWRkcyBhIGNsYXNzIHRvIHRoZSBpZnJhbWUgY2FsbGVkICdiZ2lmcmFtZScuIFRoZSBpZnJhbWUKICogaXMgYXBwZW5lZGVkIGFzIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgbWF0Y2hlZCBlbGVtZW50KHMpIAogKiB3aXRoIGEgdGFiSW5kZXggYW5kIHpJbmRleCBvZiAtMS4KICogCiAqIEJ5IGRlZmF1bHQgdGhlIHBsdWdpbiB3aWxsIHRha2UgYm9yZGVycywgc2l6ZWQgd2l0aCBwaXhlbCB1bml0cywKICogaW50byBhY2NvdW50LiBJZiBhIGRpZmZlcmVudCB1bml0IGlzIHVzZWQgZm9yIHRoZSBib3JkZXIncyB3aWR0aCwKICogdGhlbiB5b3Ugd2lsbCBuZWVkIHRvIHVzZSB0aGUgdG9wIGFuZCBsZWZ0IHNldHRpbmdzIGFzIGV4cGxhaW5lZCBiZWxvdy4KICoKICogTk9USUNFOiBUaGlzIHBsdWdpbiBoYXMgYmVlbiByZXBvcnRlZCB0byBjYXVzZSBwZXJmcm9tYW5jZSBwcm9ibGVtcwogKiB3aGVuIHVzZWQgb24gZWxlbWVudHMgdGhhdCBjaGFuZ2UgcHJvcGVydGllcyAobGlrZSB3aWR0aCwgaGVpZ2h0IGFuZAogKiBvcGFjaXR5KSBhIGxvdCBpbiBJRTYuIE1vc3Qgb2YgdGhlc2UgcHJvYmxlbXMgaGF2ZSBiZWVuIGNhdXNlZCBieSAKICogdGhlIGV4cHJlc3Npb25zIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSBlbGVtZW50cyB3aWR0aCwgaGVpZ2h0IGFuZCAKICogYm9yZGVycy4gU29tZSBoYXZlIHJlcG9ydGVkIGl0IGlzIGR1ZSB0byB0aGUgb3BhY2l0eSBmaWx0ZXIuIEFsbCAKICogdGhlc2Ugc2V0dGluZ3MgY2FuIGJlIGNoYW5nZWQgaWYgbmVlZGVkIGFzIGV4cGxhaW5lZCBiZWxvdy4KICoKICogQGV4YW1wbGUgJCgnZGl2JykuYmdpZnJhbWUoKTsKICogQGJlZm9yZSA8ZGl2PjxwPlBhcmFncmFwaDwvcD48L2Rpdj4KICogQHJlc3VsdCA8ZGl2PjxpZnJhbWUgY2xhc3M9ImJnaWZyYW1lIi4uLi8+PHA+UGFyYWdyYXBoPC9wPjwvZGl2PgogKgogKiBAcGFyYW0gTWFwIHNldHRpbmdzIE9wdGlvbmFsIHNldHRpbmdzIHRvIGNvbmZpZ3VyZSB0aGUgaWZyYW1lLgogKiBAb3B0aW9uIFN0cmluZ3xOdW1iZXIgdG9wIFRoZSBpZnJhbWUgbXVzdCBiZSBvZmZzZXQgdG8gdGhlIHRvcAogKiAJCWJ5IHRoZSB3aWR0aCBvZiB0aGUgdG9wIGJvcmRlci4gVGhpcyBzaG91bGQgYmUgYSBuZWdhdGl2ZSAKICogICAgICBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBib3JkZXItdG9wLXdpZHRoLiBJZiBhIG51bWJlciBpcyAKICogCQlpcyB1c2VkIGhlcmUsIHBpeGVscyB3aWxsIGJlIGFzc3VtZWQuIE90aGVyd2lzZSwgYmUgc3VyZQogKgkJdG8gc3BlY2lmeSBhIHVuaXQuIEFuIGV4cHJlc3Npb24gY291bGQgYWxzbyBiZSB1c2VkLiAKICogCQlCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyAiYXV0byIgd2hpY2ggd2lsbCB1c2UgYW4gZXhwcmVzc2lvbiAKICogCQl0byBnZXQgdGhlIGJvcmRlci10b3Atd2lkdGggaWYgaXQgaXMgaW4gcGl4ZWxzLgogKiBAb3B0aW9uIFN0cmluZ3xOdW1iZXIgbGVmdCBUaGUgaWZyYW1lIG11c3QgYmUgb2Zmc2V0IHRvIHRoZSBsZWZ0CiAqIAkJYnkgdGhlIHdpZHRoIG9mIHRoZSBsZWZ0IGJvcmRlci4gVGhpcyBzaG91bGQgYmUgYSBuZWdhdGl2ZSAKICogICAgICBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBib3JkZXItbGVmdC13aWR0aC4gSWYgYSBudW1iZXIgaXMgCiAqIAkJaXMgdXNlZCBoZXJlLCBwaXhlbHMgd2lsbCBiZSBhc3N1bWVkLiBPdGhlcndpc2UsIGJlIHN1cmUKICoJCXRvIHNwZWNpZnkgYSB1bml0LiBBbiBleHByZXNzaW9uIGNvdWxkIGFsc28gYmUgdXNlZC4gCiAqIAkJQnkgZGVmYXVsdCB0aGUgdmFsdWUgaXMgImF1dG8iIHdoaWNoIHdpbGwgdXNlIGFuIGV4cHJlc3Npb24gCiAqIAkJdG8gZ2V0IHRoZSBib3JkZXItbGVmdC13aWR0aCBpZiBpdCBpcyBpbiBwaXhlbHMuCiAqIEBvcHRpb24gU3RyaW5nfE51bWJlciB3aWR0aCBUaGlzIGlzIHRoZSB3aWR0aCBvZiB0aGUgaWZyYW1lLiBJZgogKgkJYSBudW1iZXIgaXMgdXNlZCBoZXJlLCBwaXhlbHMgd2lsbCBiZSBhc3N1bWUuIE90aGVyd2lzZSwgYmUgc3VyZQogKiAJCXRvIHNwZWNpZnkgYSB1bml0LiBBbiBleHBlcnNzaW9uIGNvdWxkIGFsc28gYmUgdXNlZC4KICoJCUJ5IGRlZmF1bHQgdGhlIHZhbHVlIGlzICJhdXRvIiB3aGljaCB3aWxsIHVzZSBhbiBleHBlcnNzaW9uCiAqIAkJdG8gZ2V0IHRoZSBvZmZzZXRXaWR0aC4KICogQG9wdGlvbiBTdHJpbmd8TnVtYmVyIGhlaWdodCBUaGlzIGlzIHRoZSBoZWlnaHQgb2YgdGhlIGlmcmFtZS4gSWYKICoJCWEgbnVtYmVyIGlzIHVzZWQgaGVyZSwgcGl4ZWxzIHdpbGwgYmUgYXNzdW1lLiBPdGhlcndpc2UsIGJlIHN1cmUKICogCQl0byBzcGVjaWZ5IGEgdW5pdC4gQW4gZXhwZXJzc2lvbiBjb3VsZCBhbHNvIGJlIHVzZWQuCiAqCQlCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyAiYXV0byIgd2hpY2ggd2lsbCB1c2UgYW4gZXhwZXJzc2lvbgogKiAJCXRvIGdldCB0aGUgb2Zmc2V0SGVpZ2h0LgogKiBAb3B0aW9uIEJvb2xlYW4gb3BhY2l0eSBUaGlzIGlzIGEgYm9vbGVhbiByZXByZXNlbnRpbmcgd2hldGhlciBvciBub3QKICogCQl0byB1c2Ugb3BhY2l0eS4gSWYgc2V0IHRvIHRydWUsIHRoZSBvcGFjaXR5IG9mIDAgaXMgYXBwbGllZC4gSWYKICoJCXNldCB0byBmYWxzZSwgdGhlIG9wYWNpdHkgZmlsdGVyIGlzIG5vdCBhcHBsaWVkLiBEZWZhdWx0OiB0cnVlLgogKiBAb3B0aW9uIFN0cmluZyBzcmMgVGhpcyBzZXR0aW5nIGlzIHByb3ZpZGVkIHNvIHRoYXQgb25lIGNvdWxkIGNoYW5nZSAKICoJCXRoZSBzcmMgb2YgdGhlIGlmcmFtZSB0byB3aGF0ZXZlciB0aGV5IG5lZWQuCiAqCQlEZWZhdWx0OiAiamF2YXNjcmlwdDpmYWxzZTsiCiAqCiAqIEBuYW1lIGJnaWZyYW1lCiAqIEB0eXBlIGpRdWVyeQogKiBAY2F0IFBsdWdpbnMvYmdpZnJhbWUKICogQGF1dGhvciBCcmFuZG9uIEFhcm9uIChicmFuZG9uLmFhcm9uQGdtYWlsLmNvbSB8fCBodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKICovCiQuZm4uYmdJZnJhbWUgPSAkLmZuLmJnaWZyYW1lID0gZnVuY3Rpb24ocykgewoJLy8gVGhpcyBpcyBvbmx5IGZvciBJRTYKCWlmICggJC5icm93c2VyLm1zaWUgJiYgcGFyc2VJbnQoJC5icm93c2VyLnZlcnNpb24pIDw9IDYgKSB7CgkJcyA9ICQuZXh0ZW5kKHsKCQkJdG9wICAgICA6ICdhdXRvJywgLy8gYXV0byA9PSAuY3VycmVudFN0eWxlLmJvcmRlclRvcFdpZHRoCgkJCWxlZnQgICAgOiAnYXV0bycsIC8vIGF1dG8gPT0gLmN1cnJlbnRTdHlsZS5ib3JkZXJMZWZ0V2lkdGgKCQkJd2lkdGggICA6ICdhdXRvJywgLy8gYXV0byA9PSBvZmZzZXRXaWR0aAoJCQloZWlnaHQgIDogJ2F1dG8nLCAvLyBhdXRvID09IG9mZnNldEhlaWdodAoJCQlvcGFjaXR5IDogdHJ1ZSwKCQkJc3JjICAgICA6ICdqYXZhc2NyaXB0OmZhbHNlOycKCQl9LCBzIHx8IHt9KTsKCQl2YXIgcHJvcCA9IGZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmNvbnN0cnVjdG9yPT1OdW1iZXI/bisncHgnOm47fSwKCQkgICAgaHRtbCA9ICc8aWZyYW1lIGNsYXNzPSJiZ2lmcmFtZSJmcmFtZWJvcmRlcj0iMCJ0YWJpbmRleD0iLTEic3JjPSInK3Muc3JjKyciJysKCQkgICAgICAgICAgICAgICAnc3R5bGU9ImRpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTsnKwoJCQkgICAgICAgICAgICAgICAocy5vcGFjaXR5ICE9PSBmYWxzZT8nZmlsdGVyOkFscGhhKE9wYWNpdHk9XCcwXCcpOyc6JycpKwoJCQkJCSAgICAgICAndG9wOicrKHMudG9wPT0nYXV0byc/J2V4cHJlc3Npb24oKChwYXJzZUludCh0aGlzLnBhcmVudE5vZGUuY3VycmVudFN0eWxlLmJvcmRlclRvcFdpZHRoKXx8MCkqLTEpK1wncHhcJyknOnByb3Aocy50b3ApKSsnOycrCgkJCQkJICAgICAgICdsZWZ0OicrKHMubGVmdD09J2F1dG8nPydleHByZXNzaW9uKCgocGFyc2VJbnQodGhpcy5wYXJlbnROb2RlLmN1cnJlbnRTdHlsZS5ib3JkZXJMZWZ0V2lkdGgpfHwwKSotMSkrXCdweFwnKSc6cHJvcChzLmxlZnQpKSsnOycrCgkJCQkJICAgICAgICd3aWR0aDonKyhzLndpZHRoPT0nYXV0byc/J2V4cHJlc3Npb24odGhpcy5wYXJlbnROb2RlLm9mZnNldFdpZHRoK1wncHhcJyknOnByb3Aocy53aWR0aCkpKyc7JysKCQkJCQkgICAgICAgJ2hlaWdodDonKyhzLmhlaWdodD09J2F1dG8nPydleHByZXNzaW9uKHRoaXMucGFyZW50Tm9kZS5vZmZzZXRIZWlnaHQrXCdweFwnKSc6cHJvcChzLmhlaWdodCkpKyc7JysKCQkJCQknIi8+JzsKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQlpZiAoICQoJz4gaWZyYW1lLmJnaWZyYW1lJywgdGhpcykubGVuZ3RoID09IDAgKQoJCQkJdGhpcy5pbnNlcnRCZWZvcmUoIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaHRtbCksIHRoaXMuZmlyc3RDaGlsZCApOwoJCX0pOwoJfQoJcmV0dXJuIHRoaXM7Cn07CgovLyBBZGQgYnJvd3Nlci52ZXJzaW9uIGlmIGl0IGRvZXNuJ3QgZXhpc3QKaWYgKCEkLmJyb3dzZXIudmVyc2lvbikKCSQuYnJvd3Nlci52ZXJzaW9uID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8uKyg/OnJ2fGl0fHJhfGllKVtcLzogXShbXGQuXSspLylbMV07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/chili/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/chili/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/chili/js/chili.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZXZhbChmdW5jdGlvbihwLGEsYyxrLGUsZCl7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPyIiOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKWRbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gZFtlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MTt9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwO30oJzg9ezNiOiIxLjYiLDJvOiIxQi4xWSwxQi4yMywxQi4yZSIsMmk6IiIsMkg6MWEsMTI6IiIsMkM6MWEsWjoiIiwyYTpcJzxIIFY9IiQwIj4kJDwvSD5cJyxSOiImI0Y7IiwxajoiJiNGOyYjRjsmI0Y7JiNGOyIsMWY6IiYjRjs8MVcvPiIsM2M6NSgpezkgJCh5KS4zOSgiMWsiKVswXX0sSTp7fSxOOnt9fTsoNSgkKXskKDUoKXs1IDFKKGwsYSl7NSAySShBLGgpezQgMz0oMXYgaC4zPT0iMWgiKT9oLjM6aC4zLjF3O2suMW0oe0E6QSwzOiIoIiszKyIpIix1OjErKDMuYygvXFxcXC4vZywiJSIpLmMoL1xcWy4qP1xcXS9nLCIlIikuM2EoL1xcKCg/IVxcPykvZyl8fFtdKS51LHo6KGgueik/aC56OjguMmF9KX01IDJ6KCl7NCAxRT0wOzQgMXg9eCAyQTtRKDQgaT0wO2k8ay51O2krKyl7NCAzPWtbaV0uMzszPTMuYygvXFxcXFxcXFx8XFxcXChcXGQrKS9nLDUobSwxRil7OSExRj9tOiJcXFxcIisoMUUrMSsxdCgxRikpfSk7MXguMW0oMyk7MUUrPWtbaV0udX00IDF3PTF4LjNkKCJ8Iik7OSB4IDF1KDF3LChhLjNnKT8iMmoiOiJnIil9NSAxUyhvKXs5IG8uYygvJi9nLCImM2g7IikuYygvPC9nLCImM2U7Iil9NSAxUihvKXs5IG8uYygvICsvZyw1KDFYKXs5IDFYLmMoLyAvZyxSKX0pfTUgRyhvKXtvPTFTKG8pOzcoUil7bz0xUihvKX05IG99NSAybSgyRSl7NCBpPTA7NCBqPTE7NCBoOzE5KGg9a1tpKytdKXs0IDFiPUQ7NygxYltqXSl7NCAxVT0vKFxcXFxcXCQpfCg/OlxcJFxcJCl8KD86XFwkKFxcZCspKS9nOzQgej1oLnouYygxVSw1KG0sMVYsSyl7NCAzZj1cJ1wnOzcoMVYpezkiJCJ9diA3KCFLKXs5IEcoMWJbal0pfXYgNyhLPT0iMCIpezkgaC5BfXZ7OSBHKDFiW2orMXQoSywxMCldKX19KTs0IDFBPURbRC51LTJdOzQgMmg9RFtELnUtMV07NCAyRz0yaC4ydigxMSwxQSk7MTE9MUErMkUudTsxNCs9RygyRykrejs5IHp9dntqKz1oLnV9fX00IFI9OC5SOzQgaz14IDJBO1EoNCBBIDJyIGEuayl7MkkoQSxhLmtbQV0pfTQgMTQ9IiI7NCAxMT0wO2wuYygyeigpLDJtKTs0IDJ5PWwuMnYoMTEsbC51KTsxNCs9RygyeSk7OSAxNH01IDJCKFgpezcoITguTltYXSl7NCBZPVwnPFkgMzI9IjFwIiAzMz0icC8ydSJcJytcJyAzMD0iXCcrWCtcJyI+XCc7OC5OW1hdPTFIOzcoJC4zMS4zNCl7NCBXPUouMUwoWSk7NCAkVz0kKFcpOyQoIjJkIikuMU8oJFcpfXZ7JCgiMmQiKS4xTyhZKX19fTUgMXEoZSxhKXs0IGw9ZSYmZS4xZyYmZS4xZ1swXSYmZS4xZ1swXS4zNzs3KCFsKWw9IiI7bD1sLmMoL1xcclxcbj8vZywiXFxuIik7NCBDPTFKKGwsYSk7Nyg4LjFqKXtDPUMuYygvXFx0L2csOC4xail9Nyg4LjFmKXtDPUMuYygvXFxuL2csOC4xZil9JChlKS4zOChDKX01IDFvKHEsMTMpezQgMWw9ezEyOjguMTIsMng6cSsiLjFkIixaOjguWiwydzpxKyIuMnUifTs0IEI7NygxMyYmMXYgMTM9PSIybCIpQj0kLjM1KDFsLDEzKTt2IEI9MWw7OXthOkIuMTIrQi4yeCwxcDpCLlorQi4yd319NygkLjJxKSQuMnEoezM2OiIybC4xNSJ9KTs0IDJuPXggMXUoIlxcXFxiIis4LjJpKyJcXFxcYiIsIjJqIik7NCAxZT1bXTskKDguMm8pLjJEKDUoKXs0IGU9eTs0IDFuPSQoZSkuM2koIlYiKTs3KCExbil7OX00IHE9JC4zdSgxbi5jKDJuLCIiKSk7NyhcJ1wnIT1xKXsxZS4xbShlKTs0IGY9MW8ocSxlLjE1KTs3KDguMkh8fGUuMTUpezcoITguTltmLmFdKXsxRHs4Lk5bZi5hXT0xSDskLjN2KGYuYSw1KE0pe00uZj1mLmE7OC5JW2YuYV09TTs3KDguMkMpezJCKGYuMXApfSQoIi4iK3EpLjJEKDUoKXs0IGY9MW8ocSx5LjE1KTs3KE0uZj09Zi5hKXsxcSh5LE0pfX0pfSl9MUkoM3MpezN0KCJhIDN3IFE6ICIrcStcJ0BcJyszeil9fX12ezQgYT04LklbZi5hXTs3KGEpezFxKGUsYSl9fX19KTs3KEouMWkmJkouMWkuMjkpezUgMjIocCl7NyhcJ1wnPT1wKXs5IiJ9MXp7NCAxNj0oeCAzQSgpKS4yaygpfTE5KHAuM3goMTYpPi0xKTtwPXAuYygvXFw8MVdbXj5dKj9cXD4vM3ksMTYpOzQgZT1KLjFMKFwnPDFrPlwnKTtlLjNsPXA7cD1lLjNtLmMoeCAxdSgxNiwiZyIpLFwnXFxyXFxuXCcpOzkgcH00IFQ9IiI7NCAxOD0xRzskKDFlKS4zaigpLkcoIjFrIikuVSgiMmMiLDUoKXsxOD15fSkuVSgiMU0iLDUoKXs3KDE4PT15KVQ9Si4xaS4yOSgpLjNrfSk7JCgiM24iKS5VKCIzcSIsNSgpezcoXCdcJyE9VCl7MnAuM3IuM28oXCczcFwnLDIyKFQpKTsyVi4yUj0xYX19KS5VKCIyYyIsNSgpe1Q9IiJ9KS5VKCIxTSIsNSgpezE4PTFHfSl9fSl9KSgxWik7OC5JWyIxWS4xZCJdPXtrOnsyTTp7MzovXFwvXFwqW14qXSpcXCorKD86W15cXC9dW14qXSpcXCorKSpcXC8vfSwyNTp7MzovXFw8IS0tKD86LnxcXG4pKj8tLVxcPi99LDJmOnszOi9cXC9cXC8uKi99LDJQOnszOi8yTHwyVHwySnwyT3wyTnwyWHwyS3wyWnwyVXwyU3wyV3wyWXwyUXw1MXxjLTUwL30sNTM6ezM6L1xcL1teXFwvXFxcXFxcbl0qKD86XFxcXC5bXlxcL1xcXFxcXG5dKikqXFwvWzUyXSovfSwxaDp7MzovKD86XFxcJ1teXFxcJ1xcXFxcXG5dKig/OlxcXFwuW15cXFwnXFxcXFxcbl0qKSpcXFwnKXwoPzpcXCJbXlxcIlxcXFxcXG5dKig/OlxcXFwuW15cXCJcXFxcXFxuXSopKlxcIikvfSwyNzp7MzovXFxiWystXT8oPzpcXGQqXFwuP1xcZCt8XFxkK1xcLj9cXGQqKSg/Olsxcl1bKy1dP1xcZCspP1xcYi99LDRYOnszOi9cXGIoRHwxTnwxS3wxSXwydHwyc3w0V3wxenx2fDFhfFF8NXw3fDJyfDRafHh8MUd8OXwxUXx5fDFIfDFEfDF2fDR8NFl8MTl8NTkpXFxiL30sMXk6ezM6L1xcYig1OHwya3wycHw1Ynw1YXw1NXxKfDU0fDU3fDF0fDU2fDRMfDRLfDROfDRNfDRIfDRHfDRKKVxcYi99LDFDOnszOi8oPzpcXDxcXHcrKXwoPzpcXD4pfCg/OlxcPFxcL1xcdytcXD4pfCg/OlxcL1xcPikvfSwyNjp7MzovXFxzK1xcdysoPz1cXHMqPSkvfSwyMDp7MzovKFtcXCJcXFwnXSkoPzooPzpbXlxcMVxcXFxcXHJcXG5dKj8oPzpcXDFcXDF8XFxcXC4pKSpbXlxcMVxcXFxcXHJcXG5dKj8pXFwxL30sMjE6ezM6LyZbXFx3I10rPzsvfSw0STp7MzovKFxcJHwxWikvfX19OzguSVsiMjMuMWQiXT17azp7MjU6ezM6L1xcPCEtLSg/Oi58XFxuKSo/LS1cXD4vfSwxaDp7MzovKD86XFxcJ1teXFxcJ1xcXFxcXG5dKig/OlxcXFwuW15cXFwnXFxcXFxcbl0qKSpcXFwnKXwoPzpcXCJbXlxcIlxcXFxcXG5dKig/OlxcXFwuW15cXCJcXFxcXFxuXSopKlxcIikvfSwyNzp7MzovXFxiWystXT8oPzpcXGQqXFwuP1xcZCt8XFxkK1xcLj9cXGQqKSg/Olsxcl1bKy1dP1xcZCspP1xcYi99LDFDOnszOi8oPzpcXDxcXHcrKXwoPzpcXD4pfCg/OlxcPFxcL1xcdytcXD4pfCg/OlxcL1xcPikvfSwyNjp7MzovXFxzK1xcdysoPz1cXHMqPSkvfSwyMDp7MzovKFtcXCJcXFwnXSkoPzooPzpbXlxcMVxcXFxcXHJcXG5dKj8oPzpcXDFcXDF8XFxcXC4pKSpbXlxcMVxcXFxcXHJcXG5dKj8pXFwxL30sMjE6ezM6LyZbXFx3I10rPzsvfX19OzguSVsiMmUuMWQiXT17azp7NFM6ezM6L1xcL1xcKlteKl0qXFwqKyhbXlxcL11bXipdKlxcKispKlxcLy99LDJmOnszOi8oPzpcXC9cXC8uKil8KD86W15cXFxcXVxcIy4qKS99LDRWOnszOi9cXFwnW15cXFwnXFxcXF0qKD86XFxcXC5bXlxcXCdcXFxcXSopKlxcXCcvfSw0VTp7MzovXFwiW15cXCJcXFxcXSooPzpcXFxcLlteXFwiXFxcXF0qKSpcXCIvfSw0UDp7MzovXFxiKD86WzRPXVsyYl1bMXNdWzFzXXxbNFJdWzRRXVsyYl1bMVBdfFs1Y11bNXZdWzFzXVs1dV1bMVBdKVxcYi99LDV4OnszOi9cXGJbKy1dPyhcXGQqXFwuP1xcZCt8XFxkK1xcLj9cXGQqKShbMXJdWystXT9cXGQrKT9cXGIvfSw1eTp7MzovXFxiKD86NXp8NXcoPzo1QXw1RSg/OjVGKD86MTd8MWMpfDVHKD86MTd8MWMpKXwxN3wxVHw1Qnw1Q3w1RCg/OjE3fDFUfDFjKXwxYyl8UCg/OjVoKD86NWt8NWopfDVlKD86NWR8NWcoPzo1Znw1bCl8NXJ8RSg/OjV0fDVzKXw1big/OjVtfDVwKXxMKD86M1h8M1cpfE8oPzpTfDNZKD86M1R8M1N8M1YpKXwzVXxTKD86NDR8NDd8NDYpfDQxKSl8NDApXFxiL30sMXk6ezM6Lyg/OlxcJDQzfFxcJDQyfFxcJDNSfFxcJDNHfFxcJDNGfFxcJDNJfFxcJDNIfFxcJDNDfFxcJDNCfFxcJDNEKVxcYi99LDI4OnszOi9cXGIoPzozT3wzTnwzUHwzS3wzSnwzTXwzTHw0OHw0dnwxTnwxS3wxSXw0dXxWfDR4fDR3fDJ0fDRyfDJzfDRxfDF6fDR0fHZ8NHN8NER8NEN8NEZ8NEV8NHp8NHl8NEJ8NEF8NHB8NGR8MkZ8MkZ8NGd8UXw0Znw1fDF5fDd8NGF8NG18NGx8NG98NGl8NGt8eHw0anw0aHw0bnw0Ynw0Y3w0OXw0ZXwzUXwzRXw5fDQ1fDFRfHl8M1p8MUR8NW98NXF8NHwxOXw1aSlcXGIvfSwyZzp7MzovXFwkKFxcdyspLyx6OlwnPEggVj0iMjgiPiQ8L0g+PEggVj0iMmciPiQxPC9IPlwnfSwxQzp7MzovKD86XFw8XFw/WzI0XVs0VF1bMjRdKXwoPzpcXDxcXD8pfCg/OlxcP1xcPikvfX19Jyw2MiwzNTMsJ3x8fGV4cHx2YXJ8ZnVuY3Rpb258fGlmfENoaWxpQm9va3xyZXR1cm58cmVjaXBlfHxyZXBsYWNlfHxlbHxwYXRofHxzdGVwfHx8c3RlcHN8aW5ncmVkaWVudHN8fHxzdHJ8dGV4dHxyZWNpcGVOYW1lfHx8fGxlbmd0aHxlbHNlfHxuZXd8dGhpc3xyZXBsYWNlbWVudHxzdGVwTmFtZXxzZXR0aW5nc3xkaXNofGFyZ3VtZW50c3x8MTYwfGZpbHRlcnxzcGFufHJlY2lwZXN8ZG9jdW1lbnR8fHxyZWNpcGVMb2FkZWR8cmVxdWlyZWR8fHxmb3J8cmVwbGFjZVNwYWNlfHxpbnNpZGVQUkV8YmluZHxjbGFzc3xkb21MaW5rfHN0eWxlc2hlZXRQYXRofGxpbmt8c3R5bGVzaGVldEZvbGRlcnx8bGFzdEluZGV4fHJlY2lwZUZvbGRlcnxvcHRpb25zfHBlcmZlY3R8Y2hpbGl8bmV3bGluZXxFUlJPUnxkb3duUFJFfHdoaWxlfGZhbHNlfGF1eHxXQVJOSU5HfGpzfGNvZGVzfHJlcGxhY2VOZXdMaW5lfGNoaWxkTm9kZXN8c3RyaW5nfHNlbGVjdGlvbnxyZXBsYWNlVGFifHByZXxzZXR0aW5nc0RlZnxwdXNofGVsQ2xhc3N8Z2V0UGF0aHxzdHlsZXNoZWV0fG1ha2VEaXNofGVFfExsfHBhcnNlSW50fFJlZ0V4cHx0eXBlb2Z8c291cmNlfGV4cHN8Z2xvYmFsfGRvfG9mZnNldHxjb2RlfHRhZ3x0cnl8cHJldkxlbmd0aHxhTnVtfG51bGx8dHJ1ZXxjYXRjaHxjb29rfGNhc2V8Y3JlYXRlRWxlbWVudHxtb3VzZXVwfGJyZWFrfGFwcGVuZHxFZXxzd2l0Y2h8cmVwbGFjZVNwYWNlc3xlc2NhcGVIVE1MfE5PVElDRXxwYXR0ZXJufGVzY2FwZWR8YnJ8c3BhY2VzfG1peHxqUXVlcnl8YXZhbHVlfGVudGl0eXxwcmVmb3JtYXR0ZWR8eG1sfFBwfGh0Y29tfGFuYW1lfG51bWJlcnN8a2V5d29yZHxjcmVhdGVSYW5nZXxkZWZhdWx0UmVwbGFjZW1lbnR8VXV8bW91c2Vkb3dufGhlYWR8cGhwfGNvbXx2YXJpYWJsZXxpbnB1dHxlbGVtZW50Q2xhc3N8Z2l8dmFsdWVPZnxvYmplY3R8Y2hlZnxzZWxlY3RDbGFzc3xlbGVtZW50UGF0aHx3aW5kb3d8bWV0YW9iamVjdHN8aW58ZGVmYXVsdHxjb250aW51ZXxjc3N8c3Vic3RyaW5nfHN0eWxlc2hlZXRGaWxlfHJlY2lwZUZpbGV8bGFzdFVubWF0Y2hlZHxrbm93SG93fEFycmF5fGNoZWNrQ1NTfHN0eWxlc2hlZXRMb2FkaW5nfGVhY2h8bWF0Y2hlZHxleHRlbmRzfHVubWF0Y2hlZHxyZWNpcGVMb2FkaW5nfHByZXBhcmVTdGVwfHVuYmxvY2tVSXxhamF4U3VibWl0fHNpbHZlcmxpZ2h0fGpzY29tfHVuYmxvY2t8YmxvY2t8cGx1Z2lufGNsZWFyRmllbGRzfHJldHVyblZhbHVlfGZpZWxkVmFsdWV8YmxvY2tVSXxmb3JtU2VyaWFsaXplfGV2ZW50fHJlc2V0Rm9ybXxhamF4Rm9ybXxjbGVhckZvcm18ZmllbGRTZXJpYWxpemV8aHJlZnxicm93c2VyfHJlbHx0eXBlfG1zaWV8ZXh0ZW5kfHNlbGVjdG9yfGRhdGF8aHRtbHxuZXh0fG1hdGNofHZlcnNpb258Z2V0UFJFfGpvaW58bHR8Yml0fGlnbm9yZUNhc2V8YW1wfGF0dHJ8cGFyZW50c3xodG1sVGV4dHxpbm5lckhUTUx8aW5uZXJUZXh0fGJvZHl8c2V0RGF0YXxUZXh0fGNvcHl8Y2xpcGJvYXJkRGF0YXxyZWNpcGVOb3RBdmFpbGFibGV8YWxlcnR8dHJpbXxnZXRKU09OfHVuYXZhaWxhYmxlfGluZGV4T2Z8aWd8cmVjaXBlUGF0aHxEYXRlfF9TRVNTSU9OfF9TRVJWRVJ8cGhwX2Vycm9ybXNnfHJlcXVpcmVfb25jZXxfR0VUfF9GSUxFU3xfUkVRVUVTVHxfUE9TVHxfX01FVEhPRF9ffF9fTElORV9ffGFuZHxhYnN0cmFjdHxfX0ZJTEVfX3xfX0NMQVNTX198X19GVU5DVElPTl9ffHJlcXVpcmV8X0VOVnxFTkR8Q09OVHxQUkVGSVh8U1RBUlR8T0NBTFNUQVRFRElSfElCRElSfFVUUFVUX0hBTkRMRVJffHRocm93fF9fQ09NUElMRVJfSEFMVF9PRkZTRVRfX3xWRVJTSU9OfF9DT09LSUV8R0xPQkFMU3xBUEl8c3RhdGljfFlTQ09ORkRJUnxITElCX1NVRkZJWHxhcnJheXxwcm90ZWN0ZWR8aW1wbGVtZW50c3xwcmludHxwcml2YXRlfGV4aXR8cHVibGljfGZvcmVhY2h8ZmluYWx8b3J8aXNzZXR8b2xkX2Z1bmN0aW9ufGxpc3R8aW5jbHVkZV9vbmNlfGluY2x1ZGV8cGhwX3VzZXJfZmlsdGVyfGludGVyZmFjZXxleGNlcHRpb258ZGllfGRlY2xhcmV8ZWxzZWlmfGVjaG98Y2Z1bmN0aW9ufGFzfGNvbnN0fGNsb25lfGVuZHN3aXRjaHxlbmRpZnxldmFsfGVuZHdoaWxlfGVuZGRlY2xhcmV8ZW1wdHl8ZW5kZm9yZWFjaHxlbmRmb3J8aXNOYU58TmFOfGpxdWVyeXxJbmZpbml0eXxjbGVhclRpbWVvdXR8c2V0VGltZW91dHxjbGVhckludGVydmFsfHNldEludGVydmFsfE5ufHZhbHVlfFJyfFR0fG1sY29tfEhofHN0cmluZzJ8c3RyaW5nMXxkZWxldGV8a2V5d29yZHN8dm9pZHxpbnN0YW5jZW9mfGNvbnRlbnR8dGFjb25pdGV8Z2ltfHJlZ2V4cHxlc2NhcGV8Y29uc3RydWN0b3J8cGFyc2VGbG9hdHx1bmVzY2FwZXx0b1N0cmluZ3x3aXRofHByb3RvdHlwZXxlbGVtZW50fEZmfEJJTkRJUnxIUF98UEFUSHxDT05GSUdfRklMRV98RUFSX3x4b3J8SU5TVEFMTF9ESVJ8RVhURU5TSU9OX0RJUnxTQ0FOX0RJUnxNQVh8SU5UX3x1bnNldHxTSVpFfHVzZXxEQVRBRElSfFhURU5TSU9OX0RJUnxPTHxTc3xBYXxFX3xudW1iZXJ8Y29uc3QxfERFRkFVTFRfSU5DTFVERV9QQVRIfEFMTHxQQVJTRXxTVFJJQ1R8VVNFUl98Q098TVBJTEVffFJFXycuc3BsaXQoJ3wnKSwwLHt9KSkNCg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/css/colorbox-custom-ie.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCglUaGUgZm9sbG93aW5nIGZpeGVzIHBuZy10cmFuc3BhcmVuY3kgZm9yIElFNi4gIA0KCUl0IGlzIGFsc28gbmVjZXNzYXJ5IGZvciBwbmctdHJhbnNwYXJlbmN5IHRvIGNvb3BlcmF0ZSB3aXRoIHRoZSBmYWRlIHRyYW5zaXRpb24gaW4gSUU3ICYgSUU4DQoJDQoJU2luY2UgdGhpcyBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtcG9zaXRpb25pbmcsIGl0IGlzIGluY29tcGF0aWJsZSB3aXRoIENTUyBzcHJpdGVzLiAgDQoJQ29sb3Jib3ggcHJlbG9hZHMgdGhlICdwcmV2aW91cycsICduZXh0JywgJ2Nsb3NlJyBob3Zlci1zdGF0ZXMgdG8gYWNjb3VudCBmb3IgdGhpcy4NCiovDQojYm9yZGVyVG9wTGVmdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz1pbWFnZXMvYm9yZGVyVG9wTGVmdC5wbmcsIHNpemluZ01ldGhvZD0nc2NhbGUnKTt9DQojYm9yZGVyVG9wQ2VudGVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPWltYWdlcy9ib3JkZXJUb3BDZW50ZXIucG5nLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7fQ0KI2JvcmRlclRvcFJpZ2h0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPWltYWdlcy9ib3JkZXJUb3BSaWdodC5wbmcsIHNpemluZ01ldGhvZD0nc2NhbGUnKTt9DQojYm9yZGVyQm90dG9tTGVmdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz1pbWFnZXMvYm9yZGVyQm90dG9tTGVmdC5wbmcsIHNpemluZ01ldGhvZD0nc2NhbGUnKTt9DQojYm9yZGVyQm90dG9tQ2VudGVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPWltYWdlcy9ib3JkZXJCb3R0b21DZW50ZXIucG5nLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7fQ0KI2JvcmRlckJvdHRvbVJpZ2h0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPWltYWdlcy9ib3JkZXJCb3R0b21SaWdodC5wbmcsIHNpemluZ01ldGhvZD0nc2NhbGUnKTt9DQojYm9yZGVyTWlkZGxlTGVmdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz1pbWFnZXMvYm9yZGVyTWlkZGxlTGVmdC5wbmcsIHNpemluZ01ldGhvZD0nc2NhbGUnKTt9DQojYm9yZGVyTWlkZGxlUmlnaHR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9aW1hZ2VzL2JvcmRlck1pZGRsZVJpZ2h0LnBuZywgc2l6aW5nTWV0aG9kPSdzY2FsZScpO30NCg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/css/colorbox-custom.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogDQoJQ29sb3JCb3ggZXhhbXBsZSB1c2VyIHN0eWxlDQoJVGhlc2UgcnVsZXMgYXJlIG9yZGVyZWQgYW5kIHRhYmJlZCBpbiBhIHdheSB0aGF0IHJlcHJlc2VudHMgdGhlIG9yZGVyL25lc3Rpbmcgb2YgdGhlIGdlbmVyYXRlZCBIVE1MLCANCglpbiBob3BlIHRoYXQgdGhpcyB3aWxsIG1ha2UgdGhlIHJlbGF0aW9uc2hpcCBlYXNpZXIgdG8gdW5kZXJzdGFuZC4gVGhhbmtzLCBqYWNrQGNvbG9ycG93ZXJlZC5jb20NCiovDQojbW9kYWxCYWNrZ3JvdW5kT3ZlcmxheXtiYWNrZ3JvdW5kOnVybChpbWFnZXMvc3RyaXBlLnBuZykgMCAwIHJlcGVhdDt9DQoNCiNjb2xvcmJveHt9DQoJI2JvcmRlclRvcExlZnR7d2lkdGg6MjFweDsgaGVpZ2h0OjIxcHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9ib3JkZXJUb3BMZWZ0LnBuZykgMCAwIG5vLXJlcGVhdDt9DQoJI2JvcmRlclRvcENlbnRlcntoZWlnaHQ6MjFweDsgYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2JvcmRlclRvcENlbnRlci5wbmcpIDAgMCByZXBlYXQteDt9DQoJI2JvcmRlclRvcFJpZ2h0e3dpZHRoOjIxcHg7IGhlaWdodDoyMXB4OyBiYWNrZ3JvdW5kOnVybChpbWFnZXMvYm9yZGVyVG9wUmlnaHQucG5nKSAwIDAgbm8tcmVwZWF0O30NCgkjYm9yZGVyQm90dG9tTGVmdHt3aWR0aDoyMXB4OyBoZWlnaHQ6MjFweDsgYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2JvcmRlckJvdHRvbUxlZnQucG5nKSAwIDAgbm8tcmVwZWF0O30NCgkjYm9yZGVyQm90dG9tQ2VudGVye2hlaWdodDoyMXB4OyBiYWNrZ3JvdW5kOnVybChpbWFnZXMvYm9yZGVyQm90dG9tQ2VudGVyLnBuZykgMCAwIHJlcGVhdC14O30NCgkjYm9yZGVyQm90dG9tUmlnaHR7d2lkdGg6MjFweDsgaGVpZ2h0OjIxcHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9ib3JkZXJCb3R0b21SaWdodC5wbmcpIDAgMCBuby1yZXBlYXQ7fQ0KCSNib3JkZXJNaWRkbGVMZWZ0e3dpZHRoOjIxcHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9ib3JkZXJNaWRkbGVMZWZ0LnBuZykgMCAwIHJlcGVhdC15O30NCgkjYm9yZGVyTWlkZGxlUmlnaHR7d2lkdGg6MjFweDsgYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2JvcmRlck1pZGRsZVJpZ2h0LnBuZykgMCAwIHJlcGVhdC15O30NCgkjbW9kYWxDb250ZW50e2JhY2tncm91bmQ6I2ZmZjt9DQoJCSNtb2RhbExvYWRlZENvbnRlbnR7bWFyZ2luLWJvdHRvbToyOHB4O30NCgkJCSNjb250ZW50VGl0bGV7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTozcHg7IGxlZnQ6MDsgdGV4dC1hbGlnbjpjZW50ZXI7IHdpZHRoOjEwMCU7IGJhY2tncm91bmQ6I2ZmZjsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6Izk0OTQ5NDt9DQoJCQkjY29udGVudEN1cnJlbnR7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTozcHg7IGxlZnQ6NThweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6Izk0OTQ5NDt9DQoJCQkjY29udGVudFByZXZpb3Vze3Bvc2l0aW9uOmFic29sdXRlOyBib3R0b206MDsgbGVmdDowcHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9jb250cm9scy5wbmcpIC0yNXB4IDBweCBuby1yZXBlYXQ7IHdpZHRoOjI1cHg7IGhlaWdodDoyNXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O30NCgkJCSNjb250ZW50UHJldmlvdXM6aG92ZXIsICNjb250ZW50UHJldmlvdXMuaG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMjVweCAtMjVweDt9DQoJCQkjY29udGVudE5leHR7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTowOyBsZWZ0OjI3cHg7IGJhY2tncm91bmQ6dXJsKGltYWdlcy9jb250cm9scy5wbmcpIDBweCAwcHggbm8tcmVwZWF0OyB3aWR0aDoyNXB4OyBoZWlnaHQ6MjVweDsgdGV4dC1pbmRlbnQ6LTk5OTlweDt9DQoJCQkjY29udGVudE5leHQ6aG92ZXIsICNjb250ZW50TmV4dC5ob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjBweCAtMjVweDt9DQoJCSNtb2RhbExvYWRpbmdPdmVybGF5e2JhY2tncm91bmQ6dXJsKGltYWdlcy9sb2FkaW5nLmdpZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgI2ZmZjt9DQoJCSNtb2RhbENsb3Nle3Bvc2l0aW9uOmFic29sdXRlOyBib3R0b206MDsgcmlnaHQ6MDsgYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2NvbnRyb2xzLnBuZykgLTUwcHggMHB4IG5vLXJlcGVhdDsgd2lkdGg6MjVweDsgaGVpZ2h0OjI1cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fQ0KCQkjbW9kYWxDbG9zZTpob3ZlciwgI21vZGFsQ2xvc2UuaG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotNTBweCAtMjVweDt9DQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/css/colorbox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I2NvbG9yYm94LCAjbW9kYWxCYWNrZ3JvdW5kT3ZlcmxheSwgI21vZGFsV3JhcHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDo5OTk5O30NCiNtb2RhbEJhY2tncm91bmRPdmVybGF5e3Bvc2l0aW9uOmZpeGVkOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTt9DQojY29sb3Jib3h7b3ZlcmZsb3c6aGlkZGVuOyBwYWRkaW5nOjFweDsgbWFyZ2luLXRvcDotMXB4OyBtYXJnaW4tbGVmdDotMXB4O30vKnBhZGRpbmcgZml4ZXMgYSBnaG9zdGluZyBpc3N1ZSBpbiBJRTcsIHRoZSBuZWdhdGl2ZSBtYXJnaW4gY29tcGVuc2F0ZXMgKi8NCgkjbW9kYWxXcmFwe3dpZHRoOjkwMDBweDsgaGVpZ2h0OjkwMDBweDt9DQoJCSNtb2RhbENvbnRlbnQsICNib3JkZXJUb3BMZWZ0LCAjYm9yZGVyVG9wQ2VudGVyLCAjYm9yZGVyVG9wUmlnaHQsICNib3JkZXJCb3R0b21MZWZ0LCAjYm9yZGVyQm90dG9tQ2VudGVyLCAjYm9yZGVyQm90dG9tUmlnaHQsICNib3JkZXJNaWRkbGVMZWZ0LCAjYm9yZGVyTWlkZGxlUmlnaHQge2Zsb2F0OmxlZnQ7IGhlaWdodDowOyB3aWR0aDowOyBvdmVyZmxvdzpoaWRkZW47fQ0KCQkjYm9yZGVyTWlkZGxlTGVmdCwgI2JvcmRlckJvdHRvbUxlZnR7Y2xlYXI6bGVmdDt9DQoJCSNtb2RhbENvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7IG92ZXJmbG93OnZpc2libGU7fQ0KCQkJI2NvbnRlbnRUaXRsZXttYXJnaW46MDt9DQoJCQkjbW9kYWxDbG9zZSwgI2NvbnRlbnRQcmV2aW91cywgI2NvbnRlbnROZXh0e291dGxpbmU6bm9uZTsgY3Vyc29yOnBvaW50ZXI7IGJvcmRlcjowOyBtYXJnaW46MDt9DQoJCQkjbW9kYWxMb2FkZWRDb250ZW50e292ZXJmbG93OmF1dG87IHdpZHRoOjA7IGhlaWdodDowO30NCgkJCSNtb2RhbExvYWRlZENvbnRlbnQgaWZyYW1le2Rpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBib3JkZXI6MDt9DQoJCQkjbW9kYWxMb2FkZWRDb250ZW50IGVtYmVke2Rpc3BsYXk6YmxvY2s7IGJvcmRlcjowO30vKiBEaXNwbGF5OmJsb2NrIHJlbW92ZXMgdGhlIGxpbmUtaGVpZ2h0IGdhcCBlbWJlZGRlZCBjb250ZW50ICovDQoJCQkjbW9kYWxMb2FkaW5nT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHRvcDowOyBsZWZ0OjA7fQ0KDQoNCg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/css/jquery.colorbox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LypSZWFkeSBtYWRlIENTUyBmb3IgQ01TIE1hZGUgU2ltcGxlKi8KI2NvbG9yYm94LCAjbW9kYWxCYWNrZ3JvdW5kT3ZlcmxheSwgI21vZGFsV3JhcHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDo5OTk5O30KI21vZGFsQmFja2dyb3VuZE92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO30KI2NvbG9yYm94e292ZXJmbG93OmhpZGRlbjsgcGFkZGluZzoxcHg7IG1hcmdpbi10b3A6LTFweDsgbWFyZ2luLWxlZnQ6LTFweDt9LypwYWRkaW5nIGZpeGVzIGEgZ2hvc3RpbmcgaXNzdWUgaW4gSUU3LCB0aGUgbmVnYXRpdmUgbWFyZ2luIGNvbXBlbnNhdGVzICovCgkjbW9kYWxXcmFwe3dpZHRoOjkwMDBweDsgaGVpZ2h0OjkwMDBweDt9CgkJI21vZGFsQ29udGVudCwgI2JvcmRlclRvcExlZnQsICNib3JkZXJUb3BDZW50ZXIsICNib3JkZXJUb3BSaWdodCwgI2JvcmRlckJvdHRvbUxlZnQsICNib3JkZXJCb3R0b21DZW50ZXIsICNib3JkZXJCb3R0b21SaWdodCwgI2JvcmRlck1pZGRsZUxlZnQsICNib3JkZXJNaWRkbGVSaWdodCB7ZmxvYXQ6bGVmdDsgaGVpZ2h0OjA7IHdpZHRoOjA7IG92ZXJmbG93OmhpZGRlbjt9CgkJI2JvcmRlck1pZGRsZUxlZnQsICNib3JkZXJCb3R0b21MZWZ0e2NsZWFyOmxlZnQ7fQoJCSNtb2RhbENvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7IG92ZXJmbG93OnZpc2libGU7fQoJCQkjY29udGVudFRpdGxle21hcmdpbjowO30KCQkJI21vZGFsQ2xvc2UsICNjb250ZW50UHJldmlvdXMsICNjb250ZW50TmV4dHtvdXRsaW5lOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBib3JkZXI6MDsgbWFyZ2luOjA7fQoJCQkjbW9kYWxMb2FkZWRDb250ZW50e292ZXJmbG93OmF1dG87IHdpZHRoOjA7IGhlaWdodDowO30KCQkJI21vZGFsTG9hZGVkQ29udGVudCBpZnJhbWV7ZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGJvcmRlcjowO30KCQkJI21vZGFsTG9hZGVkQ29udGVudCBlbWJlZHtkaXNwbGF5OmJsb2NrOyBib3JkZXI6MDt9LyogRGlzcGxheTpibG9jayByZW1vdmVzIHRoZSBsaW5lLWhlaWdodCBnYXAgZW1iZWRkZWQgY29udGVudCAqLwoJCQkjbW9kYWxMb2FkaW5nT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHRvcDowOyBsZWZ0OjA7fQoKCiNtb2RhbEJhY2tncm91bmRPdmVybGF5e2JhY2tncm91bmQ6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL2NvbG9yYm94L2ltYWdlcy9zdHJpcGUucG5nKSAwIDAgcmVwZWF0O30KCiNjb2xvcmJveHt9CgkjYm9yZGVyVG9wTGVmdHt3aWR0aDoyMXB4OyBoZWlnaHQ6MjFweDsgYmFja2dyb3VuZDp1cmwobW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvY29sb3Jib3gvaW1hZ2VzL2JvcmRlclRvcExlZnQucG5nKSAwIDAgbm8tcmVwZWF0O30KCSNib3JkZXJUb3BDZW50ZXJ7aGVpZ2h0OjIxcHg7IGJhY2tncm91bmQ6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL2NvbG9yYm94L2ltYWdlcy9ib3JkZXJUb3BDZW50ZXIucG5nKSAwIDAgcmVwZWF0LXg7fQoJI2JvcmRlclRvcFJpZ2h0e3dpZHRoOjIxcHg7IGhlaWdodDoyMXB4OyBiYWNrZ3JvdW5kOnVybChtb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2lucy9jb2xvcmJveC9pbWFnZXMvYm9yZGVyVG9wUmlnaHQucG5nKSAwIDAgbm8tcmVwZWF0O30KCSNib3JkZXJCb3R0b21MZWZ0e3dpZHRoOjIxcHg7IGhlaWdodDoyMXB4OyBiYWNrZ3JvdW5kOnVybChtb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2lucy9jb2xvcmJveC9pbWFnZXMvYm9yZGVyQm90dG9tTGVmdC5wbmcpIDAgMCBuby1yZXBlYXQ7fQoJI2JvcmRlckJvdHRvbUNlbnRlcntoZWlnaHQ6MjFweDsgYmFja2dyb3VuZDp1cmwobW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvY29sb3Jib3gvaW1hZ2VzL2JvcmRlckJvdHRvbUNlbnRlci5wbmcpIDAgMCByZXBlYXQteDt9CgkjYm9yZGVyQm90dG9tUmlnaHR7d2lkdGg6MjFweDsgaGVpZ2h0OjIxcHg7IGJhY2tncm91bmQ6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL2NvbG9yYm94L2ltYWdlcy9ib3JkZXJCb3R0b21SaWdodC5wbmcpIDAgMCBuby1yZXBlYXQ7fQoJI2JvcmRlck1pZGRsZUxlZnR7d2lkdGg6MjFweDsgYmFja2dyb3VuZDp1cmwobW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvY29sb3Jib3gvaW1hZ2VzL2JvcmRlck1pZGRsZUxlZnQucG5nKSAwIDAgcmVwZWF0LXk7fQoJI2JvcmRlck1pZGRsZVJpZ2h0e3dpZHRoOjIxcHg7IGJhY2tncm91bmQ6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL2NvbG9yYm94L2ltYWdlcy9ib3JkZXJNaWRkbGVSaWdodC5wbmcpIDAgMCByZXBlYXQteTt9CgkjbW9kYWxDb250ZW50e2JhY2tncm91bmQ6I2ZmZjt9CgkJI21vZGFsTG9hZGVkQ29udGVudHttYXJnaW4tYm90dG9tOjI4cHg7fQoJCQkjY29udGVudFRpdGxle3Bvc2l0aW9uOmFic29sdXRlOyBib3R0b206M3B4OyBsZWZ0OjA7IHRleHQtYWxpZ246Y2VudGVyOyB3aWR0aDoxMDAlOyBiYWNrZ3JvdW5kOiNmZmY7IGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiM5NDk0OTQ7fQoJCQkjY29udGVudEN1cnJlbnR7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTozcHg7IGxlZnQ6NThweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6Izk0OTQ5NDt9CgkJCSNjb250ZW50UHJldmlvdXN7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTowOyBsZWZ0OjBweDsgYmFja2dyb3VuZDp1cmwobW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvY29sb3Jib3gvaW1hZ2VzL2NvbnRyb2xzLnBuZykgLTI1cHggMHB4IG5vLXJlcGVhdDsgd2lkdGg6MjVweDsgaGVpZ2h0OjI1cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fQoJCQkjY29udGVudFByZXZpb3VzOmhvdmVyLCAjY29udGVudFByZXZpb3VzLmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246LTI1cHggLTI1cHg7fQoJCQkjY29udGVudE5leHR7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTowOyBsZWZ0OjI3cHg7IGJhY2tncm91bmQ6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL2NvbG9yYm94L2ltYWdlcy9jb250cm9scy5wbmcpIDBweCAwcHggbm8tcmVwZWF0OyB3aWR0aDoyNXB4OyBoZWlnaHQ6MjVweDsgdGV4dC1pbmRlbnQ6LTk5OTlweDt9CgkJCSNjb250ZW50TmV4dDpob3ZlciwgI2NvbnRlbnROZXh0LmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246MHB4IC0yNXB4O30KCQkjbW9kYWxMb2FkaW5nT3ZlcmxheXtiYWNrZ3JvdW5kOnVybChtb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2lucy9jb2xvcmJveC9pbWFnZXMvbG9hZGluZy5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICNmZmY7fQoJCSNtb2RhbENsb3Nle3Bvc2l0aW9uOmFic29sdXRlOyBib3R0b206MDsgcmlnaHQ6MDsgYmFja2dyb3VuZDp1cmwobW9kdWxlcy9qUXVlcnkvbGlicmFyaWVzL3BsdWdpbnMvY29sb3Jib3gvaW1hZ2VzL2NvbnRyb2xzLnBuZykgLTUwcHggMHB4IG5vLXJlcGVhdDsgd2lkdGg6MjVweDsgaGVpZ2h0OjI1cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fQoJCSNtb2RhbENsb3NlOmhvdmVyLCAjbW9kYWxDbG9zZS5ob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MHB4IC0yNXB4O30=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderBottomCenter.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpi/A8EDFQGTAw0AKOGjmRDGYG4YTRMRw0dNXTUUGoAgAADAHt9BKWXDEbGAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderBottomLeft.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMxJREFUeNpiZGBgaGAgEfz//78enzwTAxng/fv3H6hu6LVr1x5Q3dCenp6TVDd0w4YNL3bs2HGCqoaCgKen587bt28/oKqhIKCmprYQm4uZgdiBEoOXLl16d+fOnRdlZGRASe0PNzc3ByM56ZQQYGKgAQAZ+oMWhj6ghaE3aGHoBWoHATOU/gPEKtSOfVACfkFtl4LAHSA2AGIWahr6A2qwDqUGM6PxvwDxFSBWAGIeahkKc/EZKC1DjquZ8cg9AeIjQAyrOniItQAgwACIlDl6Oq2gIwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderBottomRight.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALZJREFUeNq0lbEKAyEMQKPct/iddfcj2u1GR8eO3tZJDkQQXNy80a1VKKWDCHfGB5kMD0MSJe8CdCCEcDgJ7R2mlA64QFdqjPHoUiHEhipVSmkpZbwiJa1GWWs9Y+wBF6GtG44IK0suhBCicy5yzjet9QGDkBI3QIbCBGZI8wypnyHdsaW5xAtb+sRuVF1pjSmtZa+YI1WF9xK/TVwQSl7/hSPS/G2Kbj4oJ0X1J9jr2PQSPwIMAKsfRTu2bGNAAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderMiddleLeft.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpiZGBgaGAgEfz//78enzwTAw3AqKGjho4aOmroqKGjhlIBAAQYAKPxBCbdeiQfAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderMiddleRight.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpi/A8EDHgAIyNjIwOJgImBBmDU0FFDRw0dNXTU0FFDqQAAAgwA3zcEqiHPl1sAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderTopCenter.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpiZGBgaGCgMmBioAEYNXTU0FFDB72hjP+BYDRMRw0d5IYCBBgAnXoEpQA1/gQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderTopLeft.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALVJREFUeNpiZCAMDIBYA4gVgJiDCPUMjHjkLIDYgViDCBkqAMQRQCzBQCZANxRkUAI5rkMGTGgupNhAdEMjqGEgsqEWlIQhLkMdGKgImKDpkIPahmowUBkwQXMK1Q3loIWhDIPSUAsLC4Ht27e737p1K/779+/lLJQaCDLMw8PDAlmMIkNBLlNVVVWgmvdBLsRmINmGBgQESKB7mWJDS0pKzKke+1paWgpUN1RQUFAAnzxAgAEAQ1IcB/fySToAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/borderTopRight.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANdJREFUeNpiZGBgaGAgDvwA4gdAfAOIL+BTyAzEDkQaygLEIkCsAcQWQPwHiJ9Qaii6BSpQC+5AfQEHTAyUAQkgzoDSVDMUBDiAOAGIBahpKMzgCGobCgsKC2obygCLdGobCgoGA2obCgIatDBUgRaGctDCUAam79+/l9+6dSt++/bt7hYWFgLUMJTxPxAgC+zYseOEp6fnTqoaCgK3b99+oKamtpBs72MTVFVVVQAFB1UNBQEPDw+LgIAACaoaCgIlJSXmVDdUS0tLgeqGCgoKkpXEAAIMAPARLaKpH0qPAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/controls.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/pixel.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/images/stripe.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGJJREFUeNrs0yEOwFAIRMGyWCT3PyUWKD+pqG6yoglINhn3xN0joruv14mImalqZn5etaoY7qwgubOC5M4KkjtPkNyHZriHJrmHJrmzguTOCpK7NW6NW+PWuDVujX+t8RZgAJLhKAsR1cJxAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/colorbox/js/colorbox.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCglDb2xvckJveCB2MS4xLjQgLSBhIGZ1bGwgZmVhdHVyZWQsIGxpZ2h0LXdlaWdodCwgY3VzdG9taXphYmxlIGxpZ2h0Ym94IGJhc2VkIG9uIGpRdWVyeSAxLjMNCgkoYykgMjAwOSBKYWNrIE1vb3JlIC0gd3d3LmNvbG9ycG93ZXJlZC5jb20gLSBqYWNrQGNvbG9ycG93ZXJlZC5jb20NCglMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6IGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQoqLw0KDQooZnVuY3Rpb24oJCl7DQp2YXIgY2xvbmUsIGxvYWRlZFdpZHRoLCBsb2FkZWRIZWlnaHQsIGludGVyZmFjZUhlaWdodCwgaW50ZXJmYWNlV2lkdGgsIGluZGV4LCByZWxhdGVkLCBjbG9zZU1vZGFsLCBsb2FkaW5nRWxlbWVudCwgbW9kYWwsIG1vZGFsV3JhcCwgbW9kYWxPdmVybGF5LCBtb2RhbExvYWRpbmdPdmVybGF5LCBtb2RhbENvbnRlbnQsIGxvYWRlZCwgbW9kYWxDbG9zZSwgYnRjLCBibWwsIGJtciwgYmJjOw0KZnVuY3Rpb24gc2V0TW9kYWxPdmVybGF5KCl7DQoJJChbbW9kYWxPdmVybGF5XSkuY3NzKHsicG9zaXRpb24iOiJhYnNvbHV0ZSIsIHdpZHRoOiQod2luZG93KS53aWR0aCgpLCBoZWlnaHQ6JCh3aW5kb3cpLmhlaWdodCgpLCB0b3A6JCh3aW5kb3cpLnNjcm9sbFRvcCgpLCBsZWZ0OiQod2luZG93KS5zY3JvbGxMZWZ0KCl9KTsNCn0NCmZ1bmN0aW9uIGtleXByZXNzRXZlbnRzKGUpew0KCWlmKGUua2V5Q29kZSA9PSAzNyl7DQoJCSQoZG9jdW1lbnQpLnVuYmluZCgna2V5ZG93bi5jb2xvcktleXMnKTsNCgkJJCgiYSNjb250ZW50UHJldmlvdXMiKS5jbGljaygpOw0KCX0gZWxzZSBpZihlLmtleUNvZGUgPT0gMzkpew0KCQkkKGRvY3VtZW50KS51bmJpbmQoJ2tleWRvd24uY29sb3JLZXlzJyk7DQoJCSQoImEjY29udGVudE5leHQiKS5jbGljaygpOw0KCX0NCn0NCmZ1bmN0aW9uIGNsZWFyTG9hZGluZygpew0KCWlmKCQoIiNjb2xvcmJveElubGluZVRlbXAiKS5sZW5ndGggPiAwKXsNCgkJJChsb2FkZWQpLmNoaWxkcmVuKCkuaW5zZXJ0QWZ0ZXIoIiNjb2xvcmJveElubGluZVRlbXAiKTsNCgl9DQoJaWYobG9hZGluZ0VsZW1lbnQpeyQobG9hZGluZ0VsZW1lbnQpLnJlbW92ZSgpO30NCn0NCg0KY2xvc2VNb2RhbCA9IGZ1bmN0aW9uKCl7DQoJY2xlYXJMb2FkaW5nKCk7DQoJJChtb2RhbE92ZXJsYXkpLmNzcyh7Y3Vyc29yOiJhdXRvIn0pLmZhZGVPdXQoImZhc3QiKTsNCgkkKG1vZGFsKS5yZW1vdmVEYXRhKCJvcGVuIikuZmFkZU91dCgiZmFzdCIsIGZ1bmN0aW9uKCl7DQoJCSQobG9hZGVkKS5yZW1vdmUoKTsNCgl9KTsNCgkkKGRvY3VtZW50KS51bmJpbmQoJ2tleWRvd24uY29sb3JLZXlzJyk7DQoJJCh3aW5kb3cpLnVuYmluZCgncmVzaXplIHNjcm9sbCcsIHNldE1vZGFsT3ZlcmxheSk7DQp9Ow0KDQovLyBDb252ZXJ0ICUgdmFsdWVzIHRvIHBpeGVscw0KZnVuY3Rpb24gc2V0U2l6ZShzaXplLCBkaW1lbnNpb24pew0KCXJldHVybiAodHlwZW9mIHNpemUgPT0gJ3N0cmluZycpID8gKHNpemUubWF0Y2goLyUvKSA/IChkaW1lbnNpb24vMTAwKSpwYXJzZUludChzaXplLCAxMCkgOiBwYXJzZUludChzaXplLCAxMCkpIDogc2l6ZTsNCn0NCg0KLy9Jbml0aWFsaXplIHRoZSBtb2RhbDogc3RvcmUgY29tbW9uIGNhbGN1bGF0aW9ucywgcHJlbG9hZCB0aGUgaW50ZXJmYWNlIGdyYXBoaWNzLCBhcHBlbmQgdGhlIGh0bWwuDQokKGZ1bmN0aW9uKCl7DQoJJCgiYm9keSIpLmFwcGVuZCgNCgkJJChbDQoJCQltb2RhbE92ZXJsYXkgPSAkKCc8ZGl2IGlkPSJtb2RhbEJhY2tncm91bmRPdmVybGF5IiAvPicpWzBdLCANCgkJCW1vZGFsID0gJCgnPGRpdiBpZD0iY29sb3Jib3giIC8+JylbMF0NCgkJXSkuaGlkZSgpDQoJKTsNCgkkKG1vZGFsKS5hcHBlbmQoDQoJCSQoWw0KCQkJbW9kYWxXcmFwID0gJCgnPGRpdiBpZD0ibW9kYWxXcmFwIiAvPicpWzBdDQoJCV0pDQoJKS5jc3MoIm9wYWNpdHkiLCAwKS5zaG93KCk7DQoJJChtb2RhbFdyYXApLmFwcGVuZCgNCgkJJChbDQoJCQkkKCc8ZGl2PjxkaXYgaWQ9ImJvcmRlclRvcExlZnQiPjwvZGl2PjxkaXYgaWQ9ImJvcmRlclRvcENlbnRlciI+PC9kaXY+PGRpdiBpZD0iYm9yZGVyVG9wUmlnaHQiPjwvZGl2PjwvZGl2PicpWzBdLA0KCQkJYm1sID0gJCgnPGRpdiBpZD0iYm9yZGVyTWlkZGxlTGVmdCIgLz4nKVswXSwNCgkJCW1vZGFsQ29udGVudCA9ICQoJzxkaXYgaWQ9Im1vZGFsQ29udGVudCIgLz4nKVswXSwNCgkJCWJtciA9ICQoJzxkaXYgaWQ9ImJvcmRlck1pZGRsZVJpZ2h0IiAvPicpWzBdLA0KCQkJJCgnPGRpdj48ZGl2IGlkPSJib3JkZXJCb3R0b21MZWZ0Ij48L2Rpdj48ZGl2IGlkPSJib3JkZXJCb3R0b21DZW50ZXIiPjwvZGl2PjxkaXYgaWQ9ImJvcmRlckJvdHRvbVJpZ2h0Ij48L2Rpdj48L2Rpdj4nKVswXQ0KCQldKQ0KCSk7DQoJJChtb2RhbENvbnRlbnQpLmFwcGVuZCgNCgkJJChbDQoJCQlsb2FkZWQgPSAkKCc8ZGl2IGlkPSJtb2RhbExvYWRlZENvbnRlbnQiPjxhIGlkPSJjb250ZW50UHJldmlvdXMiIGhyZWY9IiMiPjwvYT48YSBpZD0iY29udGVudE5leHQiIGhyZWY9IiMiPjwvYT48c3BhbiBpZD0iY29udGVudEN1cnJlbnQiPjwvc3Bhbj48YnIgaWQ9Im1vZGFsSW5mb0JyIi8+PHNwYW4gaWQ9ImNvbnRlbnRUaXRsZSI+PC9zcGFuPjxkaXYgaWQ9InByZWxvYWRQcmV2aW91cyI+PC9kaXY+PGRpdiBpZD0icHJlbG9hZE5leHQiPjwvZGl2PjxkaXYgaWQ9InByZWxvYWRDbG9zZSI+PC9kaXY+PC9kaXY+JylbMF0sIA0KCQkJbW9kYWxMb2FkaW5nT3ZlcmxheSA9ICQoJzxkaXYgaWQ9Im1vZGFsTG9hZGluZ092ZXJsYXkiIC8+JylbMF0sDQoJCQltb2RhbENsb3NlID0gJCgnPGEgaWQ9Im1vZGFsQ2xvc2UiIGhyZWY9IiMiPjwvYT4nKVswXQ0KCQldKQ0KCSk7DQoNCgkkKGRvY3VtZW50KS5iaW5kKCJrZXlkb3duLmNvbG9yQ2xvc2UiLCBmdW5jdGlvbihlKXsNCgkJaWYgKGUua2V5Q29kZSA9PSAyNykgeyBjbG9zZU1vZGFsKCk7IH0NCgl9KTsNCg0KCSQobW9kYWxDbG9zZSkuY2xpY2soZnVuY3Rpb24oKXsNCgkJY2xvc2VNb2RhbCgpOw0KCQlyZXR1cm4gZmFsc2U7DQoJfSk7DQoNCglidGMgPSAkKCIjYm9yZGVyVG9wQ2VudGVyIilbMF07DQoJYmJjID0gJCgiI2JvcmRlckJvdHRvbUNlbnRlciIpWzBdOw0KDQoJaW50ZXJmYWNlSGVpZ2h0ID0gJChidGMpLmhlaWdodCgpKyQoYmJjKS5oZWlnaHQoKSskKG1vZGFsQ29udGVudCkub3V0ZXJIZWlnaHQodHJ1ZSkgLSAkKG1vZGFsQ29udGVudCkuaGVpZ2h0KCk7Ly9TdWJ0cmFjdGlvbiBuZWVkZWQgZm9yIElFNg0KCWludGVyZmFjZVdpZHRoID0gJChibWwpLndpZHRoKCkrJChibXIpLndpZHRoKCkrJChtb2RhbENvbnRlbnQpLm91dGVyV2lkdGgodHJ1ZSkgLSAkKG1vZGFsQ29udGVudCkud2lkdGgoKTsNCg0KCWxvYWRlZEhlaWdodCA9ICQobG9hZGVkKS5vdXRlckhlaWdodCh0cnVlKTsNCglsb2FkZWRXaWR0aCA9ICQobG9hZGVkKS5vdXRlcldpZHRoKHRydWUpOw0KDQoJJChsb2FkZWQpLmVtcHR5KCk7DQoJJChtb2RhbCkuY3NzKHsicGFkZGluZy1ib3R0b20iOmludGVyZmFjZUhlaWdodCwicGFkZGluZy1yaWdodCI6aW50ZXJmYWNlV2lkdGh9KS5oaWRlKCk7Ly90aGUgcGFkZGluZyByZW1vdmVzIHRoZSBuZWVkIHRvIGRvIHNpemUgY29udmVyc2lvbnMgZHVyaW5nIHRoZSBhbmltYXRpb24gc3RlcC4NCg0KCS8vQXJjaGFpYyByb2xsb3ZlciBjb2RlIGJlY2F1c2UgSUU4IGlzIGEgcGllY2Ugb2Ygc2hpdC4gIEhvcGVmdWxseSB0aGV5J2xsIGZpeCB0aGVpciBjc3Mtcm9sbG92ZXIgYnVnIGFuZCBzbyB0aGF0IHRoaXMgY2FuIGJlIHJlbW92ZWQuDQoJJCgiI2NvbnRlbnRQcmV2aW91cywgI2NvbnRlbnROZXh0LCAjbW9kYWxDbG9zZSIpLmxpdmUoJ21vdXNlb3ZlcicsIGZ1bmN0aW9uKCl7JCh0aGlzKS5hZGRDbGFzcygiaG92ZXIiKTt9KTsNCgkkKCIjY29udGVudFByZXZpb3VzLCAjY29udGVudE5leHQsICNtb2RhbENsb3NlIikubGl2ZSgnbW91c2VvdXQnLCBmdW5jdGlvbigpeyQodGhpcykucmVtb3ZlQ2xhc3MoImhvdmVyIik7fSk7DQp9KTsNCg0KJC5mbi5jb2xvcmJveCA9IGZ1bmN0aW9uKHNldHRpbmdzLCBjYWxsYmFjaykgew0KDQoJZnVuY3Rpb24gbW9kYWxQb3NpdGlvbihtV2lkdGgsIG1IZWlnaHQsIHNwZWVkLCBsb2FkZWRDYWxsYmFjayl7DQoJDQoJCXZhciB3aW5IZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0Ow0KCQl2YXIgcG9zVG9wID0gd2luSGVpZ2h0LzIgLSBtSGVpZ2h0LzIgKyAkKHdpbmRvdykuc2Nyb2xsVG9wKCk7DQoJCXZhciBwb3NMZWZ0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLzIgLSBtV2lkdGgvMiArICQod2luZG93KS5zY3JvbGxMZWZ0KCk7DQoJCS8va2VlcHMgdGhlIGJveCBmcm9tIGV4cGFuZGluZyB0byBhbiBpbmFjY2Vzc2libGUgYXJlYSBvZmZzY3JlZW4uDQoJCWlmKG1IZWlnaHQgPiB3aW5IZWlnaHQpe3Bvc1RvcCAtPShtSGVpZ2h0IC0gd2luSGVpZ2h0KTt9DQoJCWlmKHBvc1RvcCA8IDApe3Bvc1RvcCA9IDA7fSANCgkJaWYocG9zTGVmdCA8IDApe3Bvc0xlZnQgPSAwO30NCgkNCgkJbVdpZHRoID0gbVdpZHRoIC0gaW50ZXJmYWNlV2lkdGg7DQoJCW1IZWlnaHQgPSBtSGVpZ2h0IC0gaW50ZXJmYWNlSGVpZ2h0Ow0KCQ0KCQlmdW5jdGlvbiBtb2RhbERpbWVuc2lvbnModGhhdCl7DQoJCQltb2RhbENvbnRlbnQuc3R5bGUud2lkdGggPSBidGMuc3R5bGUud2lkdGggPSBiYmMuc3R5bGUud2lkdGggPSB0aGF0LnN0eWxlLndpZHRoOw0KCQkJbW9kYWxDb250ZW50LnN0eWxlLmhlaWdodCA9IGJtbC5zdHlsZS5oZWlnaHQgPSBibXIuc3R5bGUuaGVpZ2h0ID0gdGhhdC5zdHlsZS5oZWlnaHQ7DQoJCX0NCgkNCgkJJChtb2RhbCkuYW5pbWF0ZSh7aGVpZ2h0Om1IZWlnaHQsIHdpZHRoOm1XaWR0aCwgdG9wOnBvc1RvcCwgbGVmdDpwb3NMZWZ0fSwge2R1cmF0aW9uOiBzcGVlZCwNCgkJCWNvbXBsZXRlOiBmdW5jdGlvbigpew0KCQkJCWlmIChsb2FkZWRDYWxsYmFjaykge2xvYWRlZENhbGxiYWNrKCk7fQ0KCQkJCW1vZGFsRGltZW5zaW9ucyh0aGlzKTsNCgkJCQlpZiAoJC5icm93c2VyLm1zaWUgJiYgJC5icm93c2VyLnZlcnNpb24gPCA3KSB7c2V0TW9kYWxPdmVybGF5KCk7fQ0KCQkJfSwNCgkJCXN0ZXA6IGZ1bmN0aW9uKCl7DQoJCQkJbW9kYWxEaW1lbnNpb25zKHRoaXMpOwkJDQoJCQl9DQoJCX0pOw0KCX0NCgl2YXIgcHJlbG9hZHMgPSBbXTsNCglmdW5jdGlvbiBwcmVsb2FkKCl7DQoJCWlmKHNldHRpbmdzLnByZWxvYWRpbmcgIT09IGZhbHNlICYmIHJlbGF0ZWQubGVuZ3RoPjEpew0KCQkJdmFyIHByZXZpb3VzLCBuZXh0Ow0KCQkJcHJldmlvdXMgPSBpbmRleCA+IDAgPyByZWxhdGVkW2luZGV4LTFdLmhyZWYgOiByZWxhdGVkW3JlbGF0ZWQubGVuZ3RoLTFdLmhyZWY7DQoJCQluZXh0ID0gaW5kZXggPCByZWxhdGVkLmxlbmd0aC0xID8gcmVsYXRlZFtpbmRleCsxXS5ocmVmIDogcmVsYXRlZFswXS5ocmVmOw0KCQkJcmV0dXJuIFskKCI8aW1nIC8+IikuYXR0cigic3JjIiwgbmV4dCksICQoIjxpbWcgLz4iKS5hdHRyKCJzcmMiLCBwcmV2aW91cyldOw0KCQl9DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJDQoJZnVuY3Rpb24gY29udGVudE5hdigpew0KCQkkKG1vZGFsTG9hZGluZ092ZXJsYXkpLnNob3coKTsNCgkJaWYoJCh0aGlzKS5hdHRyKCJpZCIpID09ICJjb250ZW50UHJldmlvdXMiKXsNCgkJCWluZGV4ID0gaW5kZXggPiAwID8gaW5kZXgtMSA6IHJlbGF0ZWQubGVuZ3RoLTE7DQoJCX0gZWxzZSB7DQoJCQlpbmRleCA9IGluZGV4IDwgcmVsYXRlZC5sZW5ndGgtMSA/IGluZGV4KzEgOiAwOw0KCQl9DQoJCWxvYWRNb2RhbChyZWxhdGVkW2luZGV4XS5ocmVmLCByZWxhdGVkW2luZGV4XS50aXRsZSk7DQoJCXJldHVybiBmYWxzZTsJDQoJfQ0KCQ0KCWZ1bmN0aW9uIGNlbnRlck1vZGFsIChvYmplY3QsIGNvbnRlbnRJbmZvKXsNCgkNCgkJdmFyIHNwZWVkID0gc2V0dGluZ3MudHJhbnNpdGlvbj09Im5vbmUiID8gMCA6IHNldHRpbmdzLnRyYW5zaXRpb25TcGVlZDsNCgkJJChsb2FkZWQpLnJlbW92ZSgpOw0KCQlsb2FkZWQgPSAkKG9iamVjdClbMF07DQoJDQoJCSQobG9hZGVkKS5oaWRlKCkNCgkJLmFwcGVuZFRvKCdib2R5JykNCgkJLmNzcyh7d2lkdGg6KHNldHRpbmdzLmZpeGVkV2lkdGgpP3NldHRpbmdzLmZpeGVkV2lkdGggLSBsb2FkZWRXaWR0aCAtIGludGVyZmFjZVdpZHRoOiQobG9hZGVkKS53aWR0aCgpfSkuY3NzKHtoZWlnaHQ6KHNldHRpbmdzLmZpeGVkSGVpZ2h0KT9zZXR0aW5ncy5maXhlZEhlaWdodCAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodDokKGxvYWRlZCkuaGVpZ2h0KCl9KQ0KCQkuYXR0cih7aWQ6Im1vZGFsTG9hZGVkQ29udGVudCJ9KQ0KCQkuYXBwZW5kKGNvbnRlbnRJbmZvKQ0KCQkucHJlcGVuZFRvKCQobW9kYWxDb250ZW50KSk7DQoNCgkJaWYoJCgiI21vZGFsUGhvdG8iKS5sZW5ndGggPiAwICYmIHNldHRpbmdzLmZpeGVkSGVpZ2h0KXsNCgkJCXZhciB0b3BNYXJnaW4gPSAocGFyc2VJbnQoJChsb2FkZWQpWzBdLnN0eWxlLmhlaWdodCwgMTApIC0gcGFyc2VJbnQoJCgiI21vZGFsUGhvdG8iKVswXS5zdHlsZS5oZWlnaHQsIDEwKSkvMjsNCgkJCSQoIiNtb2RhbFBob3RvIikuY3NzKHttYXJnaW5Ub3A6KHRvcE1hcmdpbiA+IDA/dG9wTWFyZ2luOjApfSk7DQoJCX0NCgkNCgkJZnVuY3Rpb24gc2V0UG9zaXRpb24ocyl7DQoJCQltb2RhbFBvc2l0aW9uKHBhcnNlSW50KGxvYWRlZC5zdHlsZS53aWR0aCwgMTApK2xvYWRlZFdpZHRoK2ludGVyZmFjZVdpZHRoLCBwYXJzZUludChsb2FkZWQuc3R5bGUuaGVpZ2h0LCAxMCkrbG9hZGVkSGVpZ2h0K2ludGVyZmFjZUhlaWdodCwgcywgZnVuY3Rpb24oKXsNCgkJCQkkKGxvYWRlZCkuc2hvdygpOw0KCQkJCSQobW9kYWxMb2FkaW5nT3ZlcmxheSkuaGlkZSgpOw0KCQkJCWlmIChjYWxsYmFjaykge2NhbGxiYWNrKCk7fQ0KCQkJCWlmICgkKG1vZGFsKS5kYXRhKCJvcGVuIikhPT10cnVlKXsNCgkJCQkJY2xvc2VNb2RhbCgpOw0KCQkJCX0NCgkJCQllbHNlIGlmIChzZXR0aW5ncy50cmFuc2l0aW9uID09PSAiZmFkZSIpew0KCQkJCQkkKG1vZGFsKS5hbmltYXRlKHsib3BhY2l0eSI6MX0sIHNwZWVkKTsNCgkJCQl9DQoJCQkJJChkb2N1bWVudCkuYmluZCgna2V5ZG93bi5jb2xvcktleXMnLCBrZXlwcmVzc0V2ZW50cyk7DQoJCQl9KTsNCgkJfQ0KCQlpZiAoc2V0dGluZ3MudHJhbnNpdGlvbiA9PSAiZmFkZSIpIHsNCgkJCSQobW9kYWwpLmFuaW1hdGUoeyJvcGFjaXR5IjowfSwgc3BlZWQsIGZ1bmN0aW9uKCl7c2V0UG9zaXRpb24oMCk7fSk7DQoJCX0gZWxzZSB7DQoJCQlzZXRQb3NpdGlvbihzcGVlZCk7DQoJCX0NCgkJdmFyIHByZWxvYWRzID0gcHJlbG9hZCgpOw0KCX0NCgkNCglmdW5jdGlvbiBsb2FkTW9kYWwoaHJlZiwgdGl0bGUpew0KCQljbGVhckxvYWRpbmcoKTsNCgkJdmFyIGNvbnRlbnRJbmZvID0gIjxwIGlkPSdjb250ZW50VGl0bGUnPiIrdGl0bGUrIjwvcD4iOw0KCQlpZihyZWxhdGVkLmxlbmd0aD4xKXsNCgkJCWNvbnRlbnRJbmZvICs9ICI8c3BhbiBpZD0nY29udGVudEN1cnJlbnQnPiAiICsgc2V0dGluZ3MuY29udGVudEN1cnJlbnQgKyAiPC9zcGFuPiI7DQoJCQljb250ZW50SW5mbyA9IGNvbnRlbnRJbmZvLnJlcGxhY2UoL1x7Y3VycmVudFx9LywgaW5kZXgrMSkucmVwbGFjZSgvXHt0b3RhbFx9LywgcmVsYXRlZC5sZW5ndGgpOw0KCQkJY29udGVudEluZm8gKz0gIjxhIGlkPSdjb250ZW50UHJldmlvdXMnIGhyZWY9JyMnPiIrc2V0dGluZ3MuY29udGVudFByZXZpb3VzKyI8L2E+PGEgaWQ9J2NvbnRlbnROZXh0JyBocmVmPScjJz4iK3NldHRpbmdzLmNvbnRlbnROZXh0KyI8L2E+ICI7DQoJCX0NCgkNCgkJaWYgKHNldHRpbmdzLmlubGluZSkgew0KCQkJbG9hZGluZ0VsZW1lbnQgPSAkKCc8ZGl2IGlkPSJjb2xvcmJveElubGluZVRlbXAiIC8+JykuaGlkZSgpLmluc2VydEJlZm9yZSgkKGhyZWYpWzBdKTsNCgkJCWNsb25lID0gJChocmVmKS5jbG9uZSh0cnVlKTsNCgkJCWNlbnRlck1vZGFsKCQoaHJlZikud3JhcEFsbCgiPGRpdiAvPiIpLnBhcmVudCgpLCBjb250ZW50SW5mbyk7DQoJCX0gZWxzZSBpZiAoc2V0dGluZ3MuaWZyYW1lKSB7DQoJCQljZW50ZXJNb2RhbCgkKCI8ZGl2PjxpZnJhbWUgbmFtZT0naWZyYW1lXyIrbmV3IERhdGUoKS5nZXRUaW1lKCkrIiAnZnJhbWVib3JkZXI9MCBzcmMgPSIgKyBocmVmICsgIj48L2lmcmFtZT48L2Rpdj4iKSwgY29udGVudEluZm8pOy8vdGltZXN0YW1wIHRvIHByZXZlbnQgY2FjaGluZy4NCgkJfSBlbHNlIGlmIChocmVmLm1hdGNoKC9cLihnaWZ8cG5nfGpwZ3xqcGVnfGJtcCkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8kL2kpKXsNCgkJCXZhciBtb2RhbFBob3RvID0gbmV3IEltYWdlKCk7DQoJCQltb2RhbFBob3RvLm9ubG9hZCA9IGZ1bmN0aW9uKCl7DQoJCQkJbW9kYWxQaG90by5vbmxvYWQgPSBudWxsOw0KCQkJCWNlbnRlck1vZGFsKCQoIjxkaXYgLz4iKS5jc3Moe3dpZHRoOnRoaXMud2lkdGgsIGhlaWdodDp0aGlzLmhlaWdodH0pLmFwcGVuZCgkKHRoaXMpLmNzcyh7d2lkdGg6dGhpcy53aWR0aCwgaGVpZ2h0OnRoaXMuaGVpZ2h0LCBkaXNwbGF5OiJibG9jayIsIG1hcmdpbjoiYXV0byJ9KS5hdHRyKCdpZCcsICdtb2RhbFBob3RvJykpLCBjb250ZW50SW5mbyk7DQoJCQkJaWYocmVsYXRlZC5sZW5ndGggPiAxKXsNCgkJCQkJJCh0aGlzKS5jc3Moe2N1cnNvcjoncG9pbnRlcid9KS5jbGljayhjb250ZW50TmF2KTsNCgkJCQl9DQoJCQl9Ow0KCQkJbW9kYWxQaG90by5zcmMgPSBocmVmOw0KCQl9ZWxzZSB7DQoJCQlsb2FkaW5nRWxlbWVudCA9ICQoJzxkaXYgLz4nKS5sb2FkKGhyZWYsIGZ1bmN0aW9uKGRhdGEsIHRleHRTdGF0dXMpew0KCQkJCWlmKHRleHRTdGF0dXMgPT0gInN1Y2Nlc3MiKXsNCgkJCQkJY2VudGVyTW9kYWwoJCh0aGlzKSwgY29udGVudEluZm8pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWNlbnRlck1vZGFsKCQoIjxwPlJlcXVlc3QgdW5zdWNjZXNzZnVsLjwvcD4iKSk7DQoJCQkJfQ0KCQkJfSk7DQoJCX0NCgl9DQoNCglzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmNvbG9yYm94LnNldHRpbmdzLCBzZXR0aW5ncyk7DQoJDQoJJCh0aGlzKS5iaW5kKCJjbGljay5jb2xvcmJveCIsIGZ1bmN0aW9uICgpIHsNCgkJaWYoc2V0dGluZ3MuZml4ZWRXaWR0aCl7IHNldHRpbmdzLmZpeGVkV2lkdGggPSBzZXRTaXplKHNldHRpbmdzLmZpeGVkV2lkdGgsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCk7fQ0KCQlpZihzZXR0aW5ncy5maXhlZEhlaWdodCl7IHNldHRpbmdzLmZpeGVkSGVpZ2h0ID0gc2V0U2l6ZShzZXR0aW5ncy5maXhlZEhlaWdodCwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7fQ0KCQlpZiAodGhpcy5yZWwgJiYgJ25vZm9sbG93JyAhPSB0aGlzLnJlbCkgew0KCQkJcmVsYXRlZCA9ICQoImFbcmVsPSciICsgdGhpcy5yZWwgKyAiJ10iKTsNCgkJCWluZGV4ID0gJChyZWxhdGVkKS5pbmRleCh0aGlzKTsNCgkJfQ0KCQllbHNlIHsNCgkJCXJlbGF0ZWQgPSAkKHRoaXMpOw0KCQkJaW5kZXggPSAwOw0KCQl9DQoNCgkJaWYgKCQobW9kYWwpLmRhdGEoIm9wZW4iKSAhPT0gdHJ1ZSkgew0KCQkJJChtb2RhbCkuZGF0YSgib3BlbiIsIHRydWUpOw0KCQkJJChtb2RhbENsb3NlKS5odG1sKHNldHRpbmdzLm1vZGFsQ2xvc2UpOw0KCQkJJChtb2RhbE92ZXJsYXkpLmNzcyh7Im9wYWNpdHkiOiBzZXR0aW5ncy5iZ09wYWNpdHl9KTsNCgkJCSQoW21vZGFsLCBtb2RhbExvYWRpbmdPdmVybGF5LCBtb2RhbE92ZXJsYXldKS5zaG93KCk7DQoJCQltb2RhbFBvc2l0aW9uKHNldFNpemUoc2V0dGluZ3MuaW5pdGlhbFdpZHRoLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpLCBzZXRTaXplKHNldHRpbmdzLmluaXRpYWxIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpLCAwKTsNCg0KCQkJJChtb2RhbCkuY3NzKHsib3BhY2l0eSI6MX0pOw0KDQoJCQkkKGRvY3VtZW50KS5iaW5kKCdrZXlkb3duLmNvbG9yS2V5cycsIGtleXByZXNzRXZlbnRzKTsNCgkJCWlmICgkLmJyb3dzZXIubXNpZSAmJiAkLmJyb3dzZXIudmVyc2lvbiA8IDcpIHsNCgkJCQkkKHdpbmRvdykuYmluZCgicmVzaXplIHNjcm9sbCIsIHNldE1vZGFsT3ZlcmxheSk7DQoJCQl9DQoJCX0NCg0KCQlsb2FkTW9kYWwoc2V0dGluZ3MuaHJlZiA/IHNldHRpbmdzLmhyZWYgOiByZWxhdGVkW2luZGV4XS5ocmVmLCBzZXR0aW5ncy50aXRsZSA/IHNldHRpbmdzLnRpdGxlIDogcmVsYXRlZFtpbmRleF0udGl0bGUpOw0KCQkkKCJhI2NvbnRlbnRQcmV2aW91cywgYSNjb250ZW50TmV4dCIpLmRpZSgpLmxpdmUoImNsaWNrIiwgY29udGVudE5hdik7DQoJCQ0KCQlpZihzZXR0aW5ncy5vdmVybGF5Q2xvc2UhPT1mYWxzZSl7DQoJCQkkKG1vZGFsT3ZlcmxheSkuY3NzKHsiY3Vyc29yIjoicG9pbnRlciJ9KS5jbGljayhmdW5jdGlvbigpe2Nsb3NlTW9kYWwoKTt9KTsNCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfSk7DQoNCglpZihzZXR0aW5ncy5vcGVuIT09ZmFsc2UgJiYgJChtb2RhbCkuZGF0YSgib3BlbiIpIT09dHJ1ZSl7DQoJCSQodGhpcykudHJpZ2dlckhhbmRsZXIoJ2NsaWNrLmNvbG9yYm94Jyk7DQoJfQ0KDQoJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgDQoJfSk7DQp9Ow0KDQovKg0KCUNvbG9yQm94IERlZmF1bHQgU2V0dGluZ3MuDQoJDQoJVGhlIGNvbG9yYm94KCkgZnVuY3Rpb24gdGFrZXMgb25lIGFyZ3VtZW50LCBhbiBvYmplY3Qgb2Yga2V5L3ZhbHVlIHBhaXJzLCB0aGF0IGFyZSB1c2VkIHRvIGluaXRpYWxpemUgdGhlIG1vZGFsLg0KCQ0KCVBsZWFzZSBkbyBub3QgY2hhbmdlIHRoZXNlIHNldHRpbmdzIGhlcmUsIGluc3RlYWQgb3ZlcndyaXRlIHRoZXNlIHNldHRpbmdzIHdoZW4gYXR0YWNoaW5nIHRoZSBjb2xvcmJveCgpIGV2ZW50IHRvIHlvdXIgYW5jaG9ycy4NCglFeGFtcGxlIChHbG9iYWwpCTogJC5mbi5jb2xvcmJveC5zZXR0aW5ncy50cmFuc2l0aW9uID0gImZhZGUiOyAvL2NoYW5nZXMgdGhlIHRyYW5zaXRpb24gdG8gZmFkZSBmb3IgYWxsIGNvbG9yQm94KCkgZXZlbnRzIHByb2NlZWRpbmcgaXQncyBkZWNsYXJhdGlvbi4NCglFeGFtcGxlIChTcGVjaWZpYykJOiAkKCJhW2hyZWY9J2h0dHA6Ly93d3cuZ29vZ2xlLmNvbSddIikuY29sb3Jib3goe2ZpeGVkV2lkdGg6IjkwJSIsIGZpeGVkSGVpZ2h0OiI0NTBweCIsIGlmcmFtZTp0cnVlfSk7DQoqLw0KJC5mbi5jb2xvcmJveC5zZXR0aW5ncyA9IHsNCgl0cmFuc2l0aW9uIDogImVsYXN0aWMiLCAvLyBUcmFuc2l0aW9uIHR5cGVzOiAiZWxhc3RpYyIsICJmYWRlIiwgb3IgIm5vbmUiLg0KCXRyYW5zaXRpb25TcGVlZCA6IDM1MCwgLy8gU2V0cyB0aGUgc3BlZWQgb2YgdGhlIGZhZGUgYW5kIGVsYXN0aWMgdHJhbnNpdGlvbnMsIGluIG1pbGxpc2Vjb25kcy4NCglpbml0aWFsV2lkdGggOiAiNDAwIiwgLy8gU2V0IHRoZSBpbml0aWFsIHdpZHRoIG9mIHRoZSBtb2RhbCwgcHJpb3IgdG8gYW55IGNvbnRlbnQgYmVpbmcgbG9hZGVkLg0KCWluaXRpYWxIZWlnaHQgOiAiNDAwIiwgLy8gU2V0IHRoZSBpbml0aWFsIGhlaWdodCBvZiB0aGUgbW9kYWwsIHByaW9yIHRvIGFueSBjb250ZW50IGJlaW5nIGxvYWRlZC4NCglmaXhlZFdpZHRoIDogZmFsc2UsIC8vIFNldCBhIGZpeGVkIHdpZHRoIGZvciBkaXYjbG9hZGVkLiAgRXhhbXBsZTogIjUwMHB4Ig0KCWZpeGVkSGVpZ2h0IDogZmFsc2UsIC8vIFNldCBhIGZpeGVkIGhlaWdodCBmb3IgZGl2I21vZGFsTG9hZGVkQ29udGVudC4gIEV4YW1wbGU6ICI1MDBweCINCglpbmxpbmUgOiBmYWxzZSwgLy8gU2V0IHRoaXMgdG8gdGhlIHNlbGVjdG9yIG9mIGlubGluZSBjb250ZW50IHRvIGJlIGRpc3BsYXllZC4gIEV4YW1wbGUgIiNteUhpZGRlbkRpdiIgb3IgImJvZHkgcCIuDQoJaWZyYW1lIDogZmFsc2UsIC8vIElmICd0cnVlJyBzcGVjaWZpZXMgdGhhdCBjb250ZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gYW4gaUZyYW1lLg0KCWhyZWYgOiBmYWxzZSwgLy8gVGhpcyBjYW4gYmUgdXNlZCBhcyBhbiBhbHRlcm5hdGUgYW5jaG9yIFVSTCBmb3IgQ29sb3JCb3ggdG8gdXNlLCBvciBjYW4gYmUgdXNlZCB0byBhc3NpZ24gYSBVUkwgZm9yIG5vbi1hbmNob3IgZWxtZW50cyBzdWNoIGFzIGltYWdlcyBvciBmb3JtIGJ1dHRvbnMuDQoJdGl0bGUgOiBmYWxzZSwgLy8gVGhpcyBjYW4gYmUgdXNlZCBhcyBhbiBhbHRlcm5hdGUgYW5jaG9yIHRpdGxlLg0KCWJnT3BhY2l0eSA6IDAuODUsIC8vIFRoZSBtb2RhbEJhY2tncm91bmRPdmVybGF5IG9wYWNpdHkgbGV2ZWwuIFJhbmdlOiAwIHRvIDEuDQoJcHJlbG9hZGluZyA6IHRydWUsIC8vIEFsbG93cyBmb3IgcHJlbG9hZGluZyBvZiAnTmV4dCcgYW5kICdQcmV2aW91cycgY29udGVudCBpbiBhIHNoYXJlZCByZWxhdGlvbiBncm91cCAoc2FtZSB2YWx1ZXMgZm9yIHRoZSAncmVsJyBhdHRyaWJ1dGUpLCBhZnRlciB0aGUgY3VycmVudCBjb250ZW50IGhhcyBmaW5pc2hlZCBsb2FkaW5nLiAgU2V0IHRvICdmYWxzZScgdG8gZGlzYWJsZS4NCgljb250ZW50Q3VycmVudCA6ICJ7Y3VycmVudH0gLyB7dG90YWx9IiwgLy8gdGhlIGZvcm1hdCBvZiB0aGUgY29udGVudEN1cnJlbnQgaW5mb3JtYXRpb24NCgljb250ZW50UHJldmlvdXMgOiAicHJldmlvdXMiLCAvLyB0aGUgYW5jaG9yIHRleHQgZm9yIHRoZSBwcmV2aW91cyBsaW5rIGluIGEgc2hhcmVkIHJlbGF0aW9uIGdyb3VwIChzYW1lIHZhbHVlcyBmb3IgJ3JlbCcpLg0KCWNvbnRlbnROZXh0IDogIm5leHQiLCAvLyB0aGUgYW5jaG9yIHRleHQgZm9yIHRoZSBuZXh0IGxpbmsgaW4gYSBzaGFyZWQgcmVsYXRpb24gZ3JvdXAgKHNhbWUgJ3JlbCcgYXR0cmlidXRlJykuDQoJbW9kYWxDbG9zZSA6ICJjbG9zZSIsIC8vIHRoZSBhbmNob3IgdGV4dCBmb3IgdGhlIGNsb3NlIGxpbmsuICBFc2Mgd2lsbCBhbHNvIGNsb3NlIHRoZSBtb2RhbC4NCglvcGVuIDogZmFsc2UsIC8vQXV0b21hdGljYWxseSBvcGVucyBDb2xvckJveC4gKGZpcmVzIHRoZSBjbGljay5jb2xvcmJveCBldmVudCB3aXRob3V0IHdhaXRpbmcgZm9yIHVzZXIgaW5wdXQpLg0KCW92ZXJsYXlDbG9zZSA6IHRydWUgIC8vSWYgdHJ1ZSwgZW5hYmxlcyBjbG9zaW5nIENvbG9yQm94IGJ5IGNsaWNraW5nIG9uIHRoZSBiYWNrZ3JvdW5kIG92ZXJsYXkuDQp9Ow0KDQp9KShqUXVlcnkpOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/delegate/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/delegate/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/delegate/js/delegate.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IGRlbGVnYXRlIHBsdWctaW4gdjEuMAogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDcgSsO2cm4gWmFlZmZlcmVyCiAqCiAqICRJZDoganF1ZXJ5LmRlbGVnYXRlLmpzIDQ3ODYgMjAwOC0wMi0xOSAyMDowMjozNFogam9lcm4uemFlZmZlcmVyICQKICoKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6CiAqICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKICogICBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICovCgovLyBwcm92aWRlcyBjcm9zcy1icm93c2VyIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50cwovLyBJRSBoYXMgbmF0aXZlIHN1cHBvcnQsIGluIG90aGVyIGJyb3dzZXJzLCB1c2UgZXZlbnQgY2FwdXR1cmluZyAobmVpdGhlciBidWJibGVzKQoKLy8gcHJvdmlkZXMgZGVsZWdhdGUodHlwZTogU3RyaW5nLCBkZWxlZ2F0ZTogU2VsZWN0b3IsIGhhbmRsZXI6IENhbGxiYWNrKSBwbHVnaW4gZm9yIGVhc2llciBldmVudCBkZWxlZ2F0aW9uCi8vIGhhbmRsZXIgaXMgb25seSBjYWxsZWQgd2hlbiAkKGV2ZW50LnRhcmdldCkuaXMoZGVsZWdhdGUpLCBpbiB0aGUgc2NvcGUgb2YgdGhlIGpRdWVyeS1vYmplY3QgZm9yIGV2ZW50LnRhcmdldCAKCi8vIHByb3ZpZGVzIHRyaWdnZXJFdmVudCh0eXBlOiBTdHJpbmcsIHRhcmdldDogRWxlbWVudCkgdG8gdHJpZ2dlciBkZWxlZ2F0ZWQgZXZlbnRzCjsoZnVuY3Rpb24oJCkgewoJJC5lYWNoKHsKCQlmb2N1czogJ2ZvY3VzaW4nLAoJCWJsdXI6ICdmb2N1c291dCcJCgl9LCBmdW5jdGlvbiggb3JpZ2luYWwsIGZpeCApewoJCSQuZXZlbnQuc3BlY2lhbFtmaXhdID0gewoJCQlzZXR1cDpmdW5jdGlvbigpIHsKCQkJCWlmICggJC5icm93c2VyLm1zaWUgKSByZXR1cm4gZmFsc2U7CgkJCQl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIG9yaWdpbmFsLCAkLmV2ZW50LnNwZWNpYWxbZml4XS5oYW5kbGVyLCB0cnVlICk7CgkJCX0sCgkJCXRlYXJkb3duOmZ1bmN0aW9uKCkgewoJCQkJaWYgKCAkLmJyb3dzZXIubXNpZSApIHJldHVybiBmYWxzZTsKCQkJCXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lciggb3JpZ2luYWwsCgkJCQkkLmV2ZW50LnNwZWNpYWxbZml4XS5oYW5kbGVyLCB0cnVlICk7CgkJCX0sCgkJCWhhbmRsZXI6IGZ1bmN0aW9uKGUpIHsKCQkJCWFyZ3VtZW50c1swXSA9ICQuZXZlbnQuZml4KGUpOwoJCQkJYXJndW1lbnRzWzBdLnR5cGUgPSBmaXg7CgkJCQlyZXR1cm4gJC5ldmVudC5oYW5kbGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCQkJfQoJCX07Cgl9KTsKCgkkLmV4dGVuZCgkLmZuLCB7CgkJZGVsZWdhdGU6IGZ1bmN0aW9uKHR5cGUsIGRlbGVnYXRlLCBoYW5kbGVyKSB7CgkJCXJldHVybiB0aGlzLmJpbmQodHlwZSwgZnVuY3Rpb24oZXZlbnQpIHsKCQkJCXZhciB0YXJnZXQgPSAkKGV2ZW50LnRhcmdldCk7CgkJCQlpZiAodGFyZ2V0LmlzKGRlbGVnYXRlKSkgewoJCQkJCXJldHVybiBoYW5kbGVyLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTsKCQkJCX0KCQkJfSk7CgkJfSwKCQl0cmlnZ2VyRXZlbnQ6IGZ1bmN0aW9uKHR5cGUsIHRhcmdldCkgewoJCQlyZXR1cm4gdGhpcy50cmlnZ2VySGFuZGxlcih0eXBlLCBbalF1ZXJ5LmV2ZW50LmZpeCh7IHR5cGU6IHR5cGUsIHRhcmdldDogdGFyZ2V0IH0pXSk7CgkJfQoJfSkKfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/dimensions/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/dimensions/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/dimensions/js/dimensions.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA3IFBhdWwgQmFrYXVzIChwYXVsLmJha2F1c0Bnb29nbGVtYWlsLmNvbSkgYW5kIEJyYW5kb24gQWFyb24gKGJyYW5kb24uYWFyb25AZ21haWwuY29tIHx8IGh0dHA6Ly9icmFuZG9uYWFyb24ubmV0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKQogKiBhbmQgR1BMIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocCkgbGljZW5zZXMuCiAqCiAqICRMYXN0Q2hhbmdlZERhdGU6IDIwMDctMTAtMDYgMjA6MTE6MTUgKzAyMDAgKFNhLCAwNiBPa3QgMjAwNykgJAogKiAkUmV2OiAzNTgxICQKICoKICogVmVyc2lvbjogQFZFUlNJT04KICoKICogUmVxdWlyZXM6IGpRdWVyeSAxLjIrCiAqLwoKKGZ1bmN0aW9uKCQpewoJCiQuZGltZW5zaW9ucyA9IHsKCXZlcnNpb246ICdAVkVSU0lPTicKfTsKCi8vIENyZWF0ZSBpbm5lckhlaWdodCwgaW5uZXJXaWR0aCwgb3V0ZXJIZWlnaHQgYW5kIG91dGVyV2lkdGggbWV0aG9kcwokLmVhY2goIFsgJ0hlaWdodCcsICdXaWR0aCcgXSwgZnVuY3Rpb24oaSwgbmFtZSl7CgkKCS8vIGlubmVySGVpZ2h0IGFuZCBpbm5lcldpZHRoCgkkLmZuWyAnaW5uZXInICsgbmFtZSBdID0gZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSByZXR1cm47CgkJCgkJdmFyIHRvcmwgPSBuYW1lID09ICdIZWlnaHQnID8gJ1RvcCcgICAgOiAnTGVmdCcsICAvLyB0b3Agb3IgbGVmdAoJCSAgICBib3JyID0gbmFtZSA9PSAnSGVpZ2h0JyA/ICdCb3R0b20nIDogJ1JpZ2h0JzsgLy8gYm90dG9tIG9yIHJpZ2h0CgkJCgkJcmV0dXJuIG51bSggdGhpcywgbmFtZS50b0xvd2VyQ2FzZSgpICkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgdG9ybCkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgYm9ycik7Cgl9OwoJCgkvLyBvdXRlckhlaWdodCBhbmQgb3V0ZXJXaWR0aAoJJC5mblsgJ291dGVyJyArIG5hbWUgXSA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQlpZiAoIXRoaXNbMF0pIHJldHVybjsKCQkKCQl2YXIgdG9ybCA9IG5hbWUgPT0gJ0hlaWdodCcgPyAnVG9wJyAgICA6ICdMZWZ0JywgIC8vIHRvcCBvciBsZWZ0CgkJICAgIGJvcnIgPSBuYW1lID09ICdIZWlnaHQnID8gJ0JvdHRvbScgOiAnUmlnaHQnOyAvLyBib3R0b20gb3IgcmlnaHQKCQkKCQlvcHRpb25zID0gJC5leHRlbmQoeyBtYXJnaW46IGZhbHNlIH0sIG9wdGlvbnMgfHwge30pOwoJCQoJCXJldHVybiBudW0oIHRoaXMsIG5hbWUudG9Mb3dlckNhc2UoKSApCgkJCQkrIG51bSh0aGlzLCAnYm9yZGVyJyArIHRvcmwgKyAnV2lkdGgnKSArIG51bSh0aGlzLCAnYm9yZGVyJyArIGJvcnIgKyAnV2lkdGgnKQoJCQkJKyBudW0odGhpcywgJ3BhZGRpbmcnICsgdG9ybCkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgYm9ycikKCQkJCSsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luJyArIHRvcmwpICsgbnVtKHRoaXMsICdtYXJnaW4nICsgYm9ycikpIDogMCk7Cgl9Owp9KTsKCi8vIENyZWF0ZSBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgbWV0aG9kcwokLmVhY2goIFsnTGVmdCcsICdUb3AnXSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJJC5mblsgJ3Njcm9sbCcgKyBuYW1lIF0gPSBmdW5jdGlvbih2YWwpIHsKCQlpZiAoIXRoaXNbMF0pIHJldHVybjsKCQkKCQlyZXR1cm4gdmFsICE9IHVuZGVmaW5lZCA/CgkJCgkJCS8vIFNldCB0aGUgc2Nyb2xsIG9mZnNldAoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl0aGlzID09IHdpbmRvdyB8fCB0aGlzID09IGRvY3VtZW50ID8KCQkJCQl3aW5kb3cuc2Nyb2xsVG8oIAoJCQkJCQluYW1lID09ICdMZWZ0JyA/IHZhbCA6ICQod2luZG93KVsgJ3Njcm9sbExlZnQnIF0oKSwKCQkJCQkJbmFtZSA9PSAnVG9wJyAgPyB2YWwgOiAkKHdpbmRvdylbICdzY3JvbGxUb3AnICBdKCkKCQkJCQkpIDoKCQkJCQl0aGlzWyAnc2Nyb2xsJyArIG5hbWUgXSA9IHZhbDsKCQkJfSkgOgoJCQkKCQkJLy8gUmV0dXJuIHRoZSBzY3JvbGwgb2Zmc2V0CgkJCXRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgPwoJCQkJc2VsZlsgKG5hbWUgPT0gJ0xlZnQnID8gJ3BhZ2VYT2Zmc2V0JyA6ICdwYWdlWU9mZnNldCcpIF0gfHwKCQkJCQkkLmJveE1vZGVsICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsgJ3Njcm9sbCcgKyBuYW1lIF0gfHwKCQkJCQlkb2N1bWVudC5ib2R5WyAnc2Nyb2xsJyArIG5hbWUgXSA6CgkJCQl0aGlzWzBdWyAnc2Nyb2xsJyArIG5hbWUgXTsKCX07Cn0pOwoKJC5mbi5leHRlbmQoewoJcG9zaXRpb246IGZ1bmN0aW9uKCkgewoJCXZhciBsZWZ0ID0gMCwgdG9wID0gMCwgZWxlbSA9IHRoaXNbMF0sIG9mZnNldCwgcGFyZW50T2Zmc2V0LCBvZmZzZXRQYXJlbnQsIHJlc3VsdHM7CgkJCgkJaWYgKGVsZW0pIHsKCQkJLy8gR2V0ICpyZWFsKiBvZmZzZXRQYXJlbnQKCQkJb2Zmc2V0UGFyZW50ID0gdGhpcy5vZmZzZXRQYXJlbnQoKTsKCQkJCgkJCS8vIEdldCBjb3JyZWN0IG9mZnNldHMKCQkJb2Zmc2V0ICAgICAgID0gdGhpcy5vZmZzZXQoKTsKCQkJcGFyZW50T2Zmc2V0ID0gb2Zmc2V0UGFyZW50Lm9mZnNldCgpOwoJCQkKCQkJLy8gU3VidHJhY3QgZWxlbWVudCBtYXJnaW5zCgkJCW9mZnNldC50b3AgIC09IG51bShlbGVtLCAnbWFyZ2luVG9wJyk7CgkJCW9mZnNldC5sZWZ0IC09IG51bShlbGVtLCAnbWFyZ2luTGVmdCcpOwoJCQkKCQkJLy8gQWRkIG9mZnNldFBhcmVudCBib3JkZXJzCgkJCXBhcmVudE9mZnNldC50b3AgICs9IG51bShvZmZzZXRQYXJlbnQsICdib3JkZXJUb3BXaWR0aCcpOwoJCQlwYXJlbnRPZmZzZXQubGVmdCArPSBudW0ob2Zmc2V0UGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQoJCQkvLyBTdWJ0cmFjdCB0aGUgdHdvIG9mZnNldHMKCQkJcmVzdWx0cyA9IHsKCQkJCXRvcDogIG9mZnNldC50b3AgIC0gcGFyZW50T2Zmc2V0LnRvcCwKCQkJCWxlZnQ6IG9mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQKCQkJfTsKCQl9CgkJCgkJcmV0dXJuIHJlc3VsdHM7Cgl9LAoJCglvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKCkgewoJCXZhciBvZmZzZXRQYXJlbnQgPSB0aGlzWzBdLm9mZnNldFBhcmVudDsKCQl3aGlsZSAoIG9mZnNldFBhcmVudCAmJiAoIS9eYm9keXxodG1sJC9pLnRlc3Qob2Zmc2V0UGFyZW50LnRhZ05hbWUpICYmICQuY3NzKG9mZnNldFBhcmVudCwgJ3Bvc2l0aW9uJykgPT0gJ3N0YXRpYycpICkKCQkJb2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudDsKCQlyZXR1cm4gJChvZmZzZXRQYXJlbnQpOwoJfQp9KTsKCmZ1bmN0aW9uIG51bShlbCwgcHJvcCkgewoJcmV0dXJuIHBhcnNlSW50KCQuY3NzKGVsLmpxdWVyeT9lbFswXTplbCxwcm9wKSl8fDA7Cn07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/easing/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/easing/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/easing/js/easing.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEVhc2luZyB2MS4zIC0gaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nLwogKgogKiBVc2VzIHRoZSBidWlsdCBpbiBlYXNpbmcgY2FwYWJpbGl0aWVzIGFkZGVkIEluIGpRdWVyeSAxLjEKICogdG8gb2ZmZXIgbXVsdGlwbGUgZWFzaW5nIG9wdGlvbnMKICoKICogVEVSTVMgT0YgVVNFIC0galF1ZXJ5IEVhc2luZwogKiAKICogT3BlbiBzb3VyY2UgdW5kZXIgdGhlIEJTRCBMaWNlbnNlLiAKICogCiAqIENvcHlyaWdodCDCqSAyMDA4IEdlb3JnZSBNY0dpbmxleSBTbWl0aAogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKKi8KCi8vIHQ6IGN1cnJlbnQgdGltZSwgYjogYmVnSW5uSW5nIHZhbHVlLCBjOiBjaGFuZ2UgSW4gdmFsdWUsIGQ6IGR1cmF0aW9uCmpRdWVyeS5lYXNpbmdbJ2pzd2luZyddID0galF1ZXJ5LmVhc2luZ1snc3dpbmcnXTsKCmpRdWVyeS5leHRlbmQoIGpRdWVyeS5lYXNpbmcsCnsKCWRlZjogJ2Vhc2VPdXRRdWFkJywKCXN3aW5nOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCS8vYWxlcnQoalF1ZXJ5LmVhc2luZy5kZWZhdWx0KTsKCQlyZXR1cm4galF1ZXJ5LmVhc2luZ1tqUXVlcnkuZWFzaW5nLmRlZl0oeCwgdCwgYiwgYywgZCk7Cgl9LAoJZWFzZUluUXVhZDogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyoodC89ZCkqdCArIGI7Cgl9LAoJZWFzZU91dFF1YWQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jICoodC89ZCkqKHQtMikgKyBiOwoJfSwKCWVhc2VJbk91dFF1YWQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQgKyBiOwoJCXJldHVybiAtYy8yICogKCgtLXQpKih0LTIpIC0gMSkgKyBiOwoJfSwKCWVhc2VJbkN1YmljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiBjKih0Lz1kKSp0KnQgKyBiOwoJfSwKCWVhc2VPdXRDdWJpYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyooKHQ9dC9kLTEpKnQqdCArIDEpICsgYjsKCX0sCgllYXNlSW5PdXRDdWJpYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlpZiAoKHQvPWQvMikgPCAxKSByZXR1cm4gYy8yKnQqdCp0ICsgYjsKCQlyZXR1cm4gYy8yKigodC09MikqdCp0ICsgMikgKyBiOwoJfSwKCWVhc2VJblF1YXJ0OiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiBjKih0Lz1kKSp0KnQqdCArIGI7Cgl9LAoJZWFzZU91dFF1YXJ0OiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiAtYyAqICgodD10L2QtMSkqdCp0KnQgLSAxKSArIGI7Cgl9LAoJZWFzZUluT3V0UXVhcnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQqdCp0ICsgYjsKCQlyZXR1cm4gLWMvMiAqICgodC09MikqdCp0KnQgLSAyKSArIGI7Cgl9LAoJZWFzZUluUXVpbnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMqKHQvPWQpKnQqdCp0KnQgKyBiOwoJfSwKCWVhc2VPdXRRdWludDogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyooKHQ9dC9kLTEpKnQqdCp0KnQgKyAxKSArIGI7Cgl9LAoJZWFzZUluT3V0UXVpbnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQqdCp0KnQgKyBiOwoJCXJldHVybiBjLzIqKCh0LT0yKSp0KnQqdCp0ICsgMikgKyBiOwoJfSwKCWVhc2VJblNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jICogTWF0aC5jb3ModC9kICogKE1hdGguUEkvMikpICsgYyArIGI7Cgl9LAoJZWFzZU91dFNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMgKiBNYXRoLnNpbih0L2QgKiAoTWF0aC5QSS8yKSkgKyBiOwoJfSwKCWVhc2VJbk91dFNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jLzIgKiAoTWF0aC5jb3MoTWF0aC5QSSp0L2QpIC0gMSkgKyBiOwoJfSwKCWVhc2VJbkV4cG86IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuICh0PT0wKSA/IGIgOiBjICogTWF0aC5wb3coMiwgMTAgKiAodC9kIC0gMSkpICsgYjsKCX0sCgllYXNlT3V0RXhwbzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gKHQ9PWQpID8gYitjIDogYyAqICgtTWF0aC5wb3coMiwgLTEwICogdC9kKSArIDEpICsgYjsKCX0sCgllYXNlSW5PdXRFeHBvOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICh0PT0wKSByZXR1cm4gYjsKCQlpZiAodD09ZCkgcmV0dXJuIGIrYzsKCQlpZiAoKHQvPWQvMikgPCAxKSByZXR1cm4gYy8yICogTWF0aC5wb3coMiwgMTAgKiAodCAtIDEpKSArIGI7CgkJcmV0dXJuIGMvMiAqICgtTWF0aC5wb3coMiwgLTEwICogLS10KSArIDIpICsgYjsKCX0sCgllYXNlSW5DaXJjOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiAtYyAqIChNYXRoLnNxcnQoMSAtICh0Lz1kKSp0KSAtIDEpICsgYjsKCX0sCgllYXNlT3V0Q2lyYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyAqIE1hdGguc3FydCgxIC0gKHQ9dC9kLTEpKnQpICsgYjsKCX0sCgllYXNlSW5PdXRDaXJjOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICgodC89ZC8yKSA8IDEpIHJldHVybiAtYy8yICogKE1hdGguc3FydCgxIC0gdCp0KSAtIDEpICsgYjsKCQlyZXR1cm4gYy8yICogKE1hdGguc3FydCgxIC0gKHQtPTIpKnQpICsgMSkgKyBiOwoJfSwKCWVhc2VJbkVsYXN0aWM6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJdmFyIHM9MS43MDE1ODt2YXIgcD0wO3ZhciBhPWM7CgkJaWYgKHQ9PTApIHJldHVybiBiOyAgaWYgKCh0Lz1kKT09MSkgcmV0dXJuIGIrYzsgIGlmICghcCkgcD1kKi4zOwoJCWlmIChhIDwgTWF0aC5hYnMoYykpIHsgYT1jOyB2YXIgcz1wLzQ7IH0KCQllbHNlIHZhciBzID0gcC8oMipNYXRoLlBJKSAqIE1hdGguYXNpbiAoYy9hKTsKCQlyZXR1cm4gLShhKk1hdGgucG93KDIsMTAqKHQtPTEpKSAqIE1hdGguc2luKCAodCpkLXMpKigyKk1hdGguUEkpL3AgKSkgKyBiOwoJfSwKCWVhc2VPdXRFbGFzdGljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXZhciBzPTEuNzAxNTg7dmFyIHA9MDt2YXIgYT1jOwoJCWlmICh0PT0wKSByZXR1cm4gYjsgIGlmICgodC89ZCk9PTEpIHJldHVybiBiK2M7ICBpZiAoIXApIHA9ZCouMzsKCQlpZiAoYSA8IE1hdGguYWJzKGMpKSB7IGE9YzsgdmFyIHM9cC80OyB9CgkJZWxzZSB2YXIgcyA9IHAvKDIqTWF0aC5QSSkgKiBNYXRoLmFzaW4gKGMvYSk7CgkJcmV0dXJuIGEqTWF0aC5wb3coMiwtMTAqdCkgKiBNYXRoLnNpbiggKHQqZC1zKSooMipNYXRoLlBJKS9wICkgKyBjICsgYjsKCX0sCgllYXNlSW5PdXRFbGFzdGljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXZhciBzPTEuNzAxNTg7dmFyIHA9MDt2YXIgYT1jOwoJCWlmICh0PT0wKSByZXR1cm4gYjsgIGlmICgodC89ZC8yKT09MikgcmV0dXJuIGIrYzsgIGlmICghcCkgcD1kKiguMyoxLjUpOwoJCWlmIChhIDwgTWF0aC5hYnMoYykpIHsgYT1jOyB2YXIgcz1wLzQ7IH0KCQllbHNlIHZhciBzID0gcC8oMipNYXRoLlBJKSAqIE1hdGguYXNpbiAoYy9hKTsKCQlpZiAodCA8IDEpIHJldHVybiAtLjUqKGEqTWF0aC5wb3coMiwxMCoodC09MSkpICogTWF0aC5zaW4oICh0KmQtcykqKDIqTWF0aC5QSSkvcCApKSArIGI7CgkJcmV0dXJuIGEqTWF0aC5wb3coMiwtMTAqKHQtPTEpKSAqIE1hdGguc2luKCAodCpkLXMpKigyKk1hdGguUEkpL3AgKSouNSArIGMgKyBiOwoJfSwKCWVhc2VJbkJhY2s6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkLCBzKSB7CgkJaWYgKHMgPT0gdW5kZWZpbmVkKSBzID0gMS43MDE1ODsKCQlyZXR1cm4gYyoodC89ZCkqdCooKHMrMSkqdCAtIHMpICsgYjsKCX0sCgllYXNlT3V0QmFjazogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQsIHMpIHsKCQlpZiAocyA9PSB1bmRlZmluZWQpIHMgPSAxLjcwMTU4OwoJCXJldHVybiBjKigodD10L2QtMSkqdCooKHMrMSkqdCArIHMpICsgMSkgKyBiOwoJfSwKCWVhc2VJbk91dEJhY2s6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkLCBzKSB7CgkJaWYgKHMgPT0gdW5kZWZpbmVkKSBzID0gMS43MDE1ODsgCgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMioodCp0KigoKHMqPSgxLjUyNSkpKzEpKnQgLSBzKSkgKyBiOwoJCXJldHVybiBjLzIqKCh0LT0yKSp0KigoKHMqPSgxLjUyNSkpKzEpKnQgKyBzKSArIDIpICsgYjsKCX0sCgllYXNlSW5Cb3VuY2U6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMgLSBqUXVlcnkuZWFzaW5nLmVhc2VPdXRCb3VuY2UgKHgsIGQtdCwgMCwgYywgZCkgKyBiOwoJfSwKCWVhc2VPdXRCb3VuY2U6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kKSA8ICgxLzIuNzUpKSB7CgkJCXJldHVybiBjKig3LjU2MjUqdCp0KSArIGI7CgkJfSBlbHNlIGlmICh0IDwgKDIvMi43NSkpIHsKCQkJcmV0dXJuIGMqKDcuNTYyNSoodC09KDEuNS8yLjc1KSkqdCArIC43NSkgKyBiOwoJCX0gZWxzZSBpZiAodCA8ICgyLjUvMi43NSkpIHsKCQkJcmV0dXJuIGMqKDcuNTYyNSoodC09KDIuMjUvMi43NSkpKnQgKyAuOTM3NSkgKyBiOwoJCX0gZWxzZSB7CgkJCXJldHVybiBjKig3LjU2MjUqKHQtPSgyLjYyNS8yLjc1KSkqdCArIC45ODQzNzUpICsgYjsKCQl9Cgl9LAoJZWFzZUluT3V0Qm91bmNlOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICh0IDwgZC8yKSByZXR1cm4galF1ZXJ5LmVhc2luZy5lYXNlSW5Cb3VuY2UgKHgsIHQqMiwgMCwgYywgZCkgKiAuNSArIGI7CgkJcmV0dXJuIGpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZSAoeCwgdCoyLWQsIDAsIGMsIGQpICogLjUgKyBjKi41ICsgYjsKCX0KfSk7CgovKgogKgogKiBURVJNUyBPRiBVU0UgLSBFQVNJTkcgRVFVQVRJT05TCiAqIAogKiBPcGVuIHNvdXJjZSB1bmRlciB0aGUgQlNEIExpY2Vuc2UuIAogKiAKICogQ29weXJpZ2h0IMKpIDIwMDEgUm9iZXJ0IFBlbm5lcgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKICov]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/js/easyslider.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIAlFYXN5IFNsaWRlciAtIGpRdWVyeSBwbHVnaW4NCiAqCXdyaXR0ZW4gYnkgQWxlbiBHcmFrYWxpYwkNCiAqCWh0dHA6Ly9jc3NnbG9iZS5jb20vcG9zdC8zNzgzL2pxdWVyeS1wbHVnaW4tZWFzeS1pbWFnZS1vci1jb250ZW50LXNsaWRlcg0KICoNCiAqCUNvcHlyaWdodCAoYykgMjAwOSBBbGVuIEdyYWthbGljIChodHRwOi8vY3NzZ2xvYmUuY29tKQ0KICoJRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpDQogKglhbmQgR1BMIChHUEwtTElDRU5TRS50eHQpIGxpY2Vuc2VzLg0KICoNCiAqCUJ1aWx0IGZvciBqUXVlcnkgbGlicmFyeQ0KICoJaHR0cDovL2pxdWVyeS5jb20NCiAqLw0KZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCcoNSgkKXskLksuVj01KGQpezMgZT17ODpcJ1VcJyx2OlwnTVwnLDQ6XCdKXCcsQTpcJ0VcJyxCOlwnXCcsajpUfTszIGQ9JC5SKGUsZCk7USBmLkwoNSgpezI9JChmKTszIHM9JCgibiIsMikuSTszIHc9Mi5rKCk7MyBoPTIuRCgpOzMgYj1zLTE7MyB0PTA7MyBjPShkLkI9PVwnU1wnKTskKCJpIiwyKS56KFwna1wnLHMqdyk7NighYykkKCJuIiwyKS56KFwnUFwnLFwnT1wnKTskKDIpLk4oXCc8OSB1PSJcJytkLjgrXCciPjxhIHI9XFwibTpxKDApO1xcIj5cJytkLnYrXCc8L2E+PC85PiA8OSB1PSJcJytkLjQrXCciPjxhIHI9XFwibTpxKDApO1xcIj5cJytkLkErXCc8L2E+PC85PlwnKTskKCJhIiwiIyIrZC44KS5vKCk7JCgiYSIsIiMiK2QuNCkubygpOyQoImEiLCIjIitkLjQpLnkoNSgpezcoImwiKTs2KHQ+PWIpJChmKS54KCk7JCgiYSIsIiMiK2QuOCkuZygpfSk7JCgiYSIsIiMiK2QuOCkueSg1KCl7NygiSCIpOzYodDw9MCkkKGYpLngoKTskKCJhIiwiIyIrZC40KS5nKCl9KTs1IDcoYSl7NihhPT0ibCIpe3Q9KHQ+PWIpP2I6dCsxfUN7dD0odDw9MCk/MDp0LTF9OzYoIWMpe3A9KHQqdyotMSk7JCgiaSIsMikuNyh7RzpwfSxkLmopfUN7cD0odCpoKi0xKTskKCJpIiwyKS43KHtGOnB9LGQuail9fTs2KHM+MSkkKCJhIiwiIyIrZC40KS5nKCl9KX19KShXKTsnLDU5LDU5LCd8fG9ianx2YXJ8bmV4dElkfGZ1bmN0aW9ufGlmfGFuaW1hdGV8cHJldklkfHNwYW58fHx8fHx0aGlzfGZhZGVJbnx8dWx8c3BlZWR8d2lkdGh8bmV4dHxqYXZhc2NyaXB0fGxpfGhpZGV8fHZvaWR8aHJlZnx8fGlkfHByZXZUZXh0fHxmYWRlT3V0fGNsaWNrfGNzc3xuZXh0VGV4dHxvcmllbnRhdGlvbnxlbHNlfGhlaWdodHxOZXh0fG1hcmdpblRvcHxtYXJnaW5MZWZ0fHByZXZ8bGVuZ3RofG5leHRCdG58Zm58ZWFjaHxQcmV2aW91c3xhZnRlcnxsZWZ0fGZsb2F0fHJldHVybnxleHRlbmR8dmVydGljYWx8ODAwfHByZXZCdG58ZWFzeVNsaWRlcnxqUXVlcnknLnNwbGl0KCd8JyksMCx7fSkp]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/sample/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/sample/01.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCjx0aXRsZT5FYXN5IFNsaWRlciBqUXVlcnkgUGx1Z2luIERlbW88L3RpdGxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Vhc3lTbGlkZXIucGFja2VkLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewkNCgkJJCgiI3NsaWRlciIpLmVhc3lTbGlkZXIoKTsNCgl9KTsNCjwvc2NyaXB0Pg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlNpbXBsZSBlYXN5LXRvLXVzZSBqUXVlcnkgcGx1Z2luIGZvciBzbGlkaW5nIGltYWdlcyBhbmQgY29udGVudCI+DQo8L21ldGE+DQoNCjxzdHlsZT4NCmJvZHkgew0KCW1hcmdpbjowOw0KCXBhZGRpbmc6NDBweDsNCgliYWNrZ3JvdW5kOiNmZmY7DQoJZm9udDo4MCUgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCgljb2xvcjojNTU1Ow0KCWxpbmUtaGVpZ2h0OjE4MCU7DQp9DQpoMXsNCglmb250LXNpemU6MTgwJTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJfQ0KaDJ7DQoJZm9udC1zaXplOjE2MCU7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCX0JDQpoM3sNCglmb250LXNpemU6MTQwJTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJfQkNCmltZ3tib3JkZXI6bm9uZTt9DQpwcmV7DQoJZGlzcGxheTpibG9jazsNCglmb250OjEycHggIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOw0KCXBhZGRpbmc6MTBweDsNCglib3JkZXI6MXB4IHNvbGlkICNiYWUyZjA7DQoJYmFja2dyb3VuZDojZTNmNGY5OwkNCgltYXJnaW46LjVlbSAwOw0KCXdpZHRoOjUwMHB4Ow0KCX0JCQ0KDQovKiBFYXN5IFNsaWRlciAqLw0KDQoJI3NsaWRlciB1bCwgI3NsaWRlciBsaXsNCgkJbWFyZ2luOjA7DQoJCXBhZGRpbmc6MDsNCgkJbGlzdC1zdHlsZTpub25lOw0KCQl9DQoJI3NsaWRlciwgI3NsaWRlciBsaXsgDQoJCS8qIA0KCQkJZGVmaW5lIHdpZHRoIGFuZCBoZWlnaHQgb2YgY29udGFpbmVyIGVsZW1lbnQgYW5kIGxpc3QgaXRlbSAoc2xpZGUpDQoJCQlsaXN0IGl0ZW1zIG11c3QgYmUgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgc2xpZGVyIGFyZWENCgkJKi8gDQoJCXdpZHRoOjY5NnB4Ow0KCQloZWlnaHQ6MjQxcHg7DQoJCW92ZXJmbG93OmhpZGRlbjsgDQoJCX0NCglzcGFuI3ByZXZCdG57fQ0KCXNwYW4jbmV4dEJ0bnt9CQkJCQkNCg0KLyogLy8gRWFzeSBTbGlkZXIgKi8NCg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQoJPGgxPkVhc3kgU2xpZGVyIGpRdWVyeSBQbHVnaW4gRGVtbzwvaDE+DQoJDQoJPGgyPkVhc3kgU2xpZGVyIGZvciBpbWFnZXMgLSBub24gc3R5bGVkIHZlcnNpb24gd2l0aCBkZWZhdWx0IHNldHRpbmdzPC9oMj4NCgkNCgk8ZGl2IGlkPSJzbGlkZXIiPg0KCQk8dWw+CQkJCQ0KCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbS9wcmV2aWV3LzMwIj48aW1nIHNyYz0iaW1hZ2VzLzAxLmpwZyIgYWx0PSJDc3MgVGVtcGxhdGUgUHJldmlldyIgLz48L2E+PC9saT4NCgkJCTxsaT48YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20vcHJldmlldy83Ij48aW1nIHNyYz0iaW1hZ2VzLzAyLmpwZyIgYWx0PSJDc3MgVGVtcGxhdGUgUHJldmlldyIgLz48L2E+PC9saT4NCgkJCTxsaT48YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20vcHJldmlldy8yNSI+PGltZyBzcmM9ImltYWdlcy8wMy5qcGciIGFsdD0iQ3NzIFRlbXBsYXRlIFByZXZpZXciIC8+PC9hPjwvbGk+DQoJCQk8bGk+PGEgaHJlZj0iaHR0cDovL3RlbXBsYXRpY2EuY29tL3ByZXZpZXcvMjYiPjxpbWcgc3JjPSJpbWFnZXMvMDQuanBnIiBhbHQ9IkNzcyBUZW1wbGF0ZSBQcmV2aWV3IiAvPjwvYT48L2xpPg0KCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbS9wcmV2aWV3LzI3Ij48aW1nIHNyYz0iaW1hZ2VzLzA1LmpwZyIgYWx0PSJDc3MgVGVtcGxhdGUgUHJldmlldyIgLz48L2E+PC9saT4JCQkNCgkJPC91bD4NCgk8L2Rpdj4NCgkNCgk8aDM+VXNhZ2U8L2gzPg0KCQ0KPHByZT4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewkNCgkkKCIjc2xpZGVyIikuZWFzeVNsaWRlcigpOw0KfSk7PC9wcmU+DQoJDQoJPHA+PGEgaHJlZj0iaHR0cDovL2Nzc2dsb2JlLmNvbS9wb3N0LzM3ODMvanF1ZXJ5LXBsdWdpbi1lYXN5LWltYWdlLW9yLWNvbnRlbnQtc2xpZGVyIiB0aXRsZT0icmVhZCBtb3JlIGFib3V0IHRoaXMganF1ZXJ5IHBsdWdpbiI+YmFjayB0byB0aGUgYXJ0aWNsZTwvYT48L3A+DQoJDQoJPHA+PHN0cm9uZz5FYXN5IFNsaWRlcjwvc3Ryb25nPiBqUXVlcnkgUGx1Z2luIGlzIGJyb3VnaHQgdG8geW91IGJ5IDxhIGhyZWY9Imh0dHA6Ly9jc3NnbG9iZS5jb20iIHRpdGxlPSJ3ZWIgc3RhbmRhcmRzIG1hZ2F6aW5lIGFuZCBjc3MgbmV3cyI+Q3NzIEdsb2JlPC9hPiBhbmQgc3VwcG9ydGVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbSI+Q3NzIFRlbXBsYXRlczwvYT4gYnkgVGVtcGxhdGljYTwvcD4NCg0KDQo8L2JvZHk+DQo8L2h0bWw+DQo8c2NyaXB0IHNyYz0iaHR0cDovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS91cmNoaW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCl91YWNjdCA9ICJVQS03ODM1NjctMSI7DQp1cmNoaW5UcmFja2VyKCk7DQo8L3NjcmlwdD4NCg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/sample/02.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCjx0aXRsZT5FYXN5IFNsaWRlciBqUXVlcnkgUGx1Z2luIERlbW88L3RpdGxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Vhc3lTbGlkZXIucGFja2VkLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewkNCgkJJCgiI3NsaWRlciIpLmVhc3lTbGlkZXIoew0KCQkJb3JpZW50YXRpb246J3ZlcnRpY2FsJw0KCQl9KTsNCgl9KTsNCjwvc2NyaXB0Pg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlNpbXBsZSBlYXN5LXRvLXVzZSBqUXVlcnkgcGx1Z2luIGZvciBzbGlkaW5nIGltYWdlcyBhbmQgY29udGVudCI+DQo8L21ldGE+DQoNCjxzdHlsZT4NCmJvZHkgew0KCW1hcmdpbjowOw0KCXBhZGRpbmc6NDBweDsNCgliYWNrZ3JvdW5kOiNmZmY7DQoJZm9udDo4MCUgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCgljb2xvcjojNTU1Ow0KCWxpbmUtaGVpZ2h0OjE4MCU7DQp9DQpoMXsNCglmb250LXNpemU6MTgwJTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJfQ0KaDJ7DQoJZm9udC1zaXplOjE2MCU7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCX0JDQpoM3sNCglmb250LXNpemU6MTQwJTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJfQkNCmltZ3tib3JkZXI6bm9uZTt9DQpwcmV7DQoJZGlzcGxheTpibG9jazsNCglmb250OjEycHggIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOw0KCXBhZGRpbmc6MTBweDsNCglib3JkZXI6MXB4IHNvbGlkICNiYWUyZjA7DQoJYmFja2dyb3VuZDojZTNmNGY5OwkNCgltYXJnaW46LjVlbSAwOw0KCXdpZHRoOjUwMHB4Ow0KCX0JCQ0KDQovKiBFYXN5IFNsaWRlciAqLw0KDQoJI3NsaWRlciB1bCwgI3NsaWRlciBsaXsNCgkJbWFyZ2luOjA7DQoJCXBhZGRpbmc6MDsNCgkJbGlzdC1zdHlsZTpub25lOw0KCQl9DQoJI3NsaWRlciwgI3NsaWRlciBsaXsgDQoJCS8qIA0KCQkJZGVmaW5lIHdpZHRoIGFuZCBoZWlnaHQgb2YgY29udGFpbmVyIGVsZW1lbnQgYW5kIGxpc3QgaXRlbSAoc2xpZGUpDQoJCQlsaXN0IGl0ZW1zIG11c3QgYmUgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgc2xpZGVyIGFyZWENCgkJKi8gDQoJCXdpZHRoOjY5NnB4Ow0KCQloZWlnaHQ6MjQxcHg7DQoJCW92ZXJmbG93OmhpZGRlbjsgDQoJCX0NCglzcGFuI3ByZXZCdG57fQ0KCXNwYW4jbmV4dEJ0bnt9CQkJCQkNCg0KLyogLy8gRWFzeSBTbGlkZXIgKi8NCg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQoJPGgxPkVhc3kgU2xpZGVyIGpRdWVyeSBQbHVnaW4gRGVtbzwvaDE+DQoJDQoJPGgyPkVhc3kgU2xpZGVyIGZvciBpbWFnZXMgLSBub24gc3R5bGVkIHZlcnNpb24gd2l0aCB2ZXJ0aWNhbCBzbGlkaW5nPC9oMj4NCgkNCgk8ZGl2IGlkPSJzbGlkZXIiPg0KCQk8dWw+CQkJCQ0KCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbS9wcmV2aWV3LzMwIj48aW1nIHNyYz0iaW1hZ2VzLzAxLmpwZyIgYWx0PSJDc3MgVGVtcGxhdGUgUHJldmlldyIgLz48L2E+PC9saT4NCgkJCTxsaT48YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20vcHJldmlldy83Ij48aW1nIHNyYz0iaW1hZ2VzLzAyLmpwZyIgYWx0PSJDc3MgVGVtcGxhdGUgUHJldmlldyIgLz48L2E+PC9saT4NCgkJCTxsaT48YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20vcHJldmlldy8yNSI+PGltZyBzcmM9ImltYWdlcy8wMy5qcGciIGFsdD0iQ3NzIFRlbXBsYXRlIFByZXZpZXciIC8+PC9hPjwvbGk+DQoJCQk8bGk+PGEgaHJlZj0iaHR0cDovL3RlbXBsYXRpY2EuY29tL3ByZXZpZXcvMjYiPjxpbWcgc3JjPSJpbWFnZXMvMDQuanBnIiBhbHQ9IkNzcyBUZW1wbGF0ZSBQcmV2aWV3IiAvPjwvYT48L2xpPg0KCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbS9wcmV2aWV3LzI3Ij48aW1nIHNyYz0iaW1hZ2VzLzA1LmpwZyIgYWx0PSJDc3MgVGVtcGxhdGUgUHJldmlldyIgLz48L2E+PC9saT4JCQkNCgkJPC91bD4NCgk8L2Rpdj4NCgkNCgk8aDM+VXNhZ2U8L2gzPg0KCQ0KPHByZT4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewkNCgkkKCIjc2xpZGVyIikuZWFzeVNsaWRlcih7DQoJCW9yaWVudGF0aW9uOid2ZXJ0aWNhbCcNCgl9KTsNCn0pOzwvcHJlPg0KCQ0KCTxwPjxhIGhyZWY9Imh0dHA6Ly9jc3NnbG9iZS5jb20vcG9zdC8zNzgzL2pxdWVyeS1wbHVnaW4tZWFzeS1pbWFnZS1vci1jb250ZW50LXNsaWRlciIgdGl0bGU9InJlYWQgbW9yZSBhYm91dCB0aGlzIGpxdWVyeSBwbHVnaW4iPmJhY2sgdG8gdGhlIGFydGljbGU8L2E+PC9wPg0KCQ0KCTxwPjxzdHJvbmc+RWFzeSBTbGlkZXI8L3N0cm9uZz4galF1ZXJ5IFBsdWdpbiBpcyBicm91Z2h0IHRvIHlvdSBieSA8YSBocmVmPSJodHRwOi8vY3NzZ2xvYmUuY29tIiB0aXRsZT0id2ViIHN0YW5kYXJkcyBtYWdhemluZSBhbmQgY3NzIG5ld3MiPkNzcyBHbG9iZTwvYT4gYW5kIHN1cHBvcnRlZCBieSA8YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20iPkNzcyBUZW1wbGF0ZXM8L2E+IGJ5IFRlbXBsYXRpY2E8L3A+DQoNCg0KPC9ib2R5Pg0KPC9odG1sPg0KPHNjcmlwdCBzcmM9Imh0dHA6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vdXJjaGluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpfdWFjY3QgPSAiVUEtNzgzNTY3LTEiOw0KdXJjaGluVHJhY2tlcigpOw0KPC9zY3JpcHQ+DQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/easyslider/sample/03.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCjx0aXRsZT5FYXN5IFNsaWRlciBqUXVlcnkgUGx1Z2luIERlbW88L3RpdGxlPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Vhc3lTbGlkZXIucGFja2VkLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewkNCgkJJCgiI3NsaWRlciIpLmVhc3lTbGlkZXIoew0KCQkJcHJldlRleHQ6J1VQJywNCgkJCW5leHRUZXh0OidET1dOJywNCgkJCW9yaWVudGF0aW9uOid2ZXJ0aWNhbCcNCgkJfSk7DQoJfSk7DQo8L3NjcmlwdD4NCjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJTaW1wbGUgZWFzeS10by11c2UgalF1ZXJ5IHBsdWdpbiBmb3Igc2xpZGluZyBpbWFnZXMgYW5kIGNvbnRlbnQiPg0KPC9tZXRhPg0KDQo8c3R5bGU+DQpib2R5IHsNCgltYXJnaW46MDsNCglwYWRkaW5nOjQwcHg7DQoJYmFja2dyb3VuZDojZmZmOw0KCWZvbnQ6ODAlIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJY29sb3I6IzU1NTsNCglsaW5lLWhlaWdodDoxODAlOw0KfQ0KaDF7DQoJZm9udC1zaXplOjE4MCU7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCX0NCmgyew0KCWZvbnQtc2l6ZToxNjAlOw0KCWZvbnQtd2VpZ2h0Om5vcm1hbDsNCgl9CQ0KaDN7DQoJZm9udC1zaXplOjE0MCU7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCX0JDQppbWd7Ym9yZGVyOm5vbmU7fQ0KcHJlew0KCWRpc3BsYXk6YmxvY2s7DQoJZm9udDoxMnB4ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsNCglwYWRkaW5nOjEwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjYmFlMmYwOw0KCWJhY2tncm91bmQ6I2UzZjRmOTsJDQoJbWFyZ2luOi41ZW0gMDsNCgl3aWR0aDo1MDBweDsNCgl9CQkNCg0KLyogRWFzeSBTbGlkZXIgKi8NCg0KCSNzbGlkZXIgdWwsICNzbGlkZXIgbGl7DQoJCW1hcmdpbjowOw0KCQlwYWRkaW5nOjA7DQoJCWxpc3Qtc3R5bGU6bm9uZTsNCgkJfQ0KCSNzbGlkZXIsICNzbGlkZXIgbGl7IA0KCQkvKiANCgkJCWRlZmluZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIGNvbnRhaW5lciBlbGVtZW50IGFuZCBsaXN0IGl0ZW0gKHNsaWRlKQ0KCQkJbGlzdCBpdGVtcyBtdXN0IGJlIHRoZSBzYW1lIHNpemUgYXMgdGhlIHNsaWRlciBhcmVhDQoJCSovIA0KCQl3aWR0aDo2OTZweDsNCgkJaGVpZ2h0OjI0MXB4Ow0KCQlvdmVyZmxvdzpoaWRkZW47IA0KCQl9DQoJI3NsaWRlciBsaXsgDQoJCWJhY2tncm91bmQ6I2YxZjFmMTsNCgkJfQkJDQoJI3NsaWRlciBsaSBoMnsgDQoJCW1hcmdpbjowIDIwcHg7DQoJCXBhZGRpbmctdG9wOjIwcHg7DQoJCX0JDQoJI3NsaWRlciBsaSBweyANCgkJbWFyZ2luOjIwcHg7DQoJCX0JCQkJDQoJc3BhbiNwcmV2QnRue30NCglzcGFuI25leHRCdG57fQkJCQkJDQoNCi8qIC8vIEVhc3kgU2xpZGVyICovDQoNCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCg0KCTxoMT5FYXN5IFNsaWRlciBqUXVlcnkgUGx1Z2luIERlbW88L2gxPg0KCQ0KCTxoMj5FYXN5IFNsaWRlciBmb3IgY29udGVudCAtIG5vbiBzdHlsZWQgdmVyc2lvbiB3aXRoIGN1c3RvbSBsaW5rIHRleHQgYW5kIHZlcnRpY2FsIHNsaWRpbmc8L2gyPg0KCQ0KCTxkaXYgaWQ9InNsaWRlciI+DQoJCTx1bD4JCQkJDQoJCQk8bGk+DQoJCQkJPGgyPldoYXQncyBUZW1wbGF0aWNhIGFueXdheT88L2gyPg0KCQkJCTxwPlRlbXBsYXRpY2EgaXMgYSBtZW1iZXJzaGlwIGJhc2VkIHRlbXBsYXRlIGNsdWIgd2hlcmUgeW91IGdldCANCgkJCQk8c3Ryb25nPmZ1bGwgYWNjZXNzIHRvIGFsbCB0ZW1wbGF0ZXM8L3N0cm9uZz4gaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbS90ZW1wbGF0ZXMiPmNzcyB0ZW1wbGF0ZSBnYWxsZXJ5PC9hPiBmb3IgYSBzaW5nbGUgYW5kIHZlcnkgYWZmb3JkYWJsZQ0KCQkJCTxzdHJvbmc+YW5udWFsIGZlZSBvZiAkMjQhPC9zdHJvbmc+PGJyIC8+DQoJCQkJWXVwLCB0aGF0J3MgcmlnaHQhIEFsbCBvZiA8YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20vdGVtcGxhdGVzIiB0aXRsZT0iQ1NTIHRlbXBsYXRlcyI+dGhpczwvYT4gcGx1cyA8c3Ryb25nPmFsbCBvZiB0aGUgDQoJCQkJdGVtcGxhdGVzIHJlbGVhc2VkIHdpdGhpbiBvbmUgeWVhciBmcm9tIHRoZSBkYXkgeW91IGpvaW48L3N0cm9uZz4uIE5vIGV4dHJhIGNvc3QsIG5vIGhpZGRlbiBmZWVzITxiciAvPgkJDQoJCQkJWW91IGFsc28gaGF2ZSBhIHBvc3NpYmlsaXR5IG9mIHB1cmNoYXNpbmcgYSA8c3Ryb25nPnNpbmdsZSB0ZW1wbGF0ZSBmb3IgYXMgbG93IGFzICQ1PC9zdHJvbmc+LjwvcD4NCgkJCTwvbGk+DQoJCQk8bGk+DQoJCQkJPGgyPldoeSBpcyB0aGUgZmVlIHNvIGxvdz88L2gyPg0KCQkJCTxwPkkgd2FudGVkIHRvIG1ha2UgcHJlbWl1bSB0ZW1wbGF0ZXMgPHN0cm9uZz5hdmFpbGFibGUgdG8gYXMgbWFueSBvZiB5b3UgYXMgcG9zc2libGU8L3N0cm9uZz4uIA0KCQkJCTxhIGhyZWY9Imh0dHA6Ly90ZW1wbGF0aWNhLmNvbS90ZW1wbGF0ZXMiPlRlbXBsYXRlczwvYT4gYXJlIG5vdCBvbmx5IG1lYW50IGZvciBjb21tZXJjaWFsIGJ1dCBmb3IgDQoJCQkJPHN0cm9uZz5lZHVjYXRpb25hbCBwdXJwb3NlIGFzIHdlbGw8L3N0cm9uZz4uIEkgd291bGQgbGlrZSB5b3UgdG8gPGEgaHJlZj0iaHR0cDovL3RlbXBsYXRpY2EuY29tL2pvaW4iPmpvaW48L2E+LCANCgkJCQlkb3dubG9hZCB0ZW1wbGF0ZXMsIGFuYWx5emUgdGhlIGNvZGUgYW5kIGhvcGVmdWxseSBsZWFybiBzb21ldGhpbmcgbmV3LiA8YnIvPg0KCQkJCUZvciB0aG9zZSB3aG8nZCBsaWtlIHRvIDxzdHJvbmc+dGVzdCB0aGUgcXVhbGl0eTwvc3Ryb25nPiBvZiB0aGUgdGVtcGxhdGVzIEkgc3VnZ2VzdCBteSA8c3Ryb25nPnNpbmdsZSB0ZW1wbGF0ZSBwdXJjaGFzZSBvcHRpb248L3N0cm9uZz4uPC9wPg0KCQkJPC9saT4JCQkNCgkJCTxsaT4NCgkJCQk8aDI+V2hhdCBUZW1wbGF0aWNhIG9mZmVyczwvaDI+CQ0KCQkJCTxwPlRlbXBsYXRpY2Egb2ZmZXJzIHN0YXRpYyBkZXNpZ24gdGVtcGxhdGVzIHdpdGggPHN0cm9uZz52YWxpZCBYSFRNTCBhbmQgQ1NTPC9zdHJvbmc+LiANCgkJCQlBbGwgdGVtcGxhdGVzIGFyZSB0ZXN0ZWQgaW48c3Ryb25nPiBGaXJlZm94IFdpbiwgSUU3LCBJRTYsIE9wZXJhPC9zdHJvbmc+IG9uIFdpbmRvd3MgDQoJCQkJYXMgd2VsbCBhcyA8c3Ryb25nPlNhZmFyaSBhbmQgRmlyZWZveDwvc3Ryb25nPiBvbiBNYWMuIDxiciAvPg0KCQkJCVRlbXBsYXRlcyBhcmUgPHN0cm9uZz5oaWdobHkgY3VzdG9taXphYmxlPC9zdHJvbmc+LiBUaGUgZG93bmxvYWQgcGFja2FnZSBmb3IgZWFjaCB0ZW1wbGF0ZSANCgkJCQlpbmNsdWRlcyBIVE1MLCBDU1MsIEphdmFTY3JpcHQgZmlsZXMgYW5kIHJlbGF0ZWQgaW1hZ2VzLjwvcD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9kaXY+DQoJDQoJPGgzPlVzYWdlPC9oMz4NCgkNCjxwcmU+JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsJDQoJJCgiI3NsaWRlciIpLmVhc3lTbGlkZXIoew0KCQlwcmV2VGV4dDonVVAnLA0KCQluZXh0VGV4dDonRE9XTicsDQoJCW9yaWVudGF0aW9uOid2ZXJ0aWNhbCcNCgl9KTsNCn0pOzwvcHJlPg0KCQ0KCTxwPjxhIGhyZWY9Imh0dHA6Ly9jc3NnbG9iZS5jb20vcG9zdC8zNzgzL2pxdWVyeS1wbHVnaW4tZWFzeS1pbWFnZS1vci1jb250ZW50LXNsaWRlciIgdGl0bGU9InJlYWQgbW9yZSBhYm91dCB0aGlzIGpxdWVyeSBwbHVnaW4iPmJhY2sgdG8gdGhlIGFydGljbGU8L2E+PC9wPg0KCQ0KCTxwPjxzdHJvbmc+RWFzeSBTbGlkZXI8L3N0cm9uZz4galF1ZXJ5IFBsdWdpbiBpcyBicm91Z2h0IHRvIHlvdSBieSA8YSBocmVmPSJodHRwOi8vY3NzZ2xvYmUuY29tIiB0aXRsZT0id2ViIHN0YW5kYXJkcyBtYWdhemluZSBhbmQgY3NzIG5ld3MiPkNzcyBHbG9iZTwvYT4gYW5kIHN1cHBvcnRlZCBieSA8YSBocmVmPSJodHRwOi8vdGVtcGxhdGljYS5jb20iPkNzcyBUZW1wbGF0ZXM8L2E+IGJ5IFRlbXBsYXRpY2E8L3A+DQoNCg0KPC9ib2R5Pg0KPC9odG1sPg0KPHNjcmlwdCBzcmM9Imh0dHA6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vdXJjaGluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpfdWFjY3QgPSAiVUEtNzgzNTY3LTEiOw0KdXJjaGluVHJhY2tlcigpOw0KPC9zY3JpcHQ+DQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/fontsizer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/fontsizer/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/fontsizer/css/default.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lyogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fiBTVFlMRVMgRk9SIERFTU8gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4gKi8KCmh0bWwgewogIGZvbnQtc2l6ZTogMTFweDsKICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICBsaW5lLWhlaWdodDogMTUwJTsKfQoKYm9keSB7CiAgd2lkdGg6IDcwMHB4OwogIG1hcmdpbjogMjBweCBhdXRvOwp9CgpoMSB7CiAgZm9udC1zaXplOiAyZW07Cn0KCmgyIHsKICBmb250LXNpemU6IDEuNWVtOwp9CgpwIHsKICBmb250LXNpemU6IDFlbTsKfQoKCi8qIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4gRk9OVCBTSVpFUiBDU1Mgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ICovCgouZm9udFJlc2l6ZXIgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgfQoKLmZvbnRSZXNpemVyIGEgeyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxN3B4OyBoZWlnaHQ6IDE3cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgbGluZS1oZWlnaHQ6IDE1cHg7IGNvbG9yOiAjNjY2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KCi5mb250UmVzaXplciBhOmhvdmVyIHsgY29sb3I6ICMwMDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoKLyogClRoZSBmb2xsb3dpbmcgY29udHJvbCB0aGUgd2F5IHRoZSBmb250LXJlc2l6ZXIgbGlua3MgYXBwZWFyIG9ubHkgClNldCB0aGUgYWN0dWFsIHNpemUtY2hhbmdlcyBpbiB0aGUgZnVuY3Rpb24gY2FsbAoqLwoKLnNtYWxsRm9udCB7IGZvbnQtc2l6ZTogOXB4OyB9CgoubWVkRm9udCB7IGZvbnQtc2l6ZTogMTNweDsgfQoKLmxhcmdlRm9udCB7IGZvbnQtc2l6ZTogMTVweDsgfQoKLmN1ckZvbnQgeyBiYWNrZ3JvdW5kOiAjRUVFRUY3OyB9]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/fontsizer/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/fontsizer/js/fontsizer.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gRk9OVCBTSVpFUiBWRVJTSU9OIDEuMAovLyBEZXZlbG9wZWQgYnkgZmx1aWRCeXRlIChodHRwOi8vd3d3LmZsdWlkYnl0ZS5uZXQpCgpmdW5jdGlvbiBmb250UmVzaXplcihzbWFsbEZvbnQsbWVkRm9udCxsYXJnZUZvbnQpCnsKZnVuY3Rpb24gY2xlYXJTZWxlY3RlZCgpIHsgJCgiLnNtYWxsRm9udCIpLnJlbW92ZUNsYXNzKCJjdXJGb250Iik7ICQoIi5tZWRGb250IikucmVtb3ZlQ2xhc3MoImN1ckZvbnQiKTsgJCgiLmxhcmdlRm9udCIpLnJlbW92ZUNsYXNzKCJjdXJGb250Iik7IH0KZnVuY3Rpb24gc2F2ZVN0YXRlKGN1clNpemUpIHsJdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkrKDcqMjQqNjAqNjAqMTAwMCkpOyB2YXIgZXhwaXJlcyA9ICI7IGV4cGlyZXM9IitkYXRlLnRvR01UU3RyaW5nKCk7IGRvY3VtZW50LmNvb2tpZSA9ICJmb250U2l6ZXIiKyI9IitjdXJTaXplK2V4cGlyZXMrIjsgcGF0aD0vIjsgfQoKJCgiLnNtYWxsRm9udCIpLmNsaWNrKGZ1bmN0aW9uKCl7ICQoJ2h0bWwnKS5jc3MoJ2ZvbnQtc2l6ZScsIHNtYWxsRm9udCk7IGNsZWFyU2VsZWN0ZWQoKTsgJCgiLnNtYWxsRm9udCIpLmFkZENsYXNzKCJjdXJGb250Iik7IHNhdmVTdGF0ZShzbWFsbEZvbnQpOyB9KTsKCiQoIi5tZWRGb250IikuY2xpY2soZnVuY3Rpb24oKXsgJCgnaHRtbCcpLmNzcygnZm9udC1zaXplJywgbWVkRm9udCk7IGNsZWFyU2VsZWN0ZWQoKTsgJCgiLm1lZEZvbnQiKS5hZGRDbGFzcygiY3VyRm9udCIpOyBzYXZlU3RhdGUobWVkRm9udCk7IH0pOwoKJCgiLmxhcmdlRm9udCIpLmNsaWNrKGZ1bmN0aW9uKCl7ICQoJ2h0bWwnKS5jc3MoJ2ZvbnQtc2l6ZScsIGxhcmdlRm9udCk7IGNsZWFyU2VsZWN0ZWQoKTsgJCgiLmxhcmdlRm9udCIpLmFkZENsYXNzKCJjdXJGb250Iik7IHNhdmVTdGF0ZShsYXJnZUZvbnQpOyB9KTsKCmZ1bmN0aW9uIGdldENvb2tpZShjX25hbWUpIHsgaWYgKGRvY3VtZW50LmNvb2tpZS5sZW5ndGg+MCkgeyBjX3N0YXJ0PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKGNfbmFtZSArICI9Iik7IGlmIChjX3N0YXJ0IT0tMSkgeyBjX3N0YXJ0PWNfc3RhcnQgKyBjX25hbWUubGVuZ3RoKzE7IGNfZW5kPWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCI7IixjX3N0YXJ0KTsgaWYgKGNfZW5kPT0tMSkgY19lbmQ9ZG9jdW1lbnQuY29va2llLmxlbmd0aDsgcmV0dXJuIHVuZXNjYXBlKGRvY3VtZW50LmNvb2tpZS5zdWJzdHJpbmcoY19zdGFydCxjX2VuZCkpOyB9IH0gcmV0dXJuICIiOyB9Cgp2YXIgc2F2ZWRTaXplID0gZ2V0Q29va2llKCdmb250U2l6ZXInKTsKCmlmIChzYXZlZFNpemUhPSIiKSB7ICQoJ2h0bWwnKS5jc3MoJ2ZvbnQtc2l6ZScsIHNhdmVkU2l6ZSk7IHN3aXRjaCAoc2F2ZWRTaXplKSB7IGNhc2Ugc21hbGxGb250OiAkKCIuc21hbGxGb250IikuYWRkQ2xhc3MoImN1ckZvbnQiKTsgYnJlYWs7IGNhc2UgbWVkRm9udDogJCgiLm1lZEZvbnQiKS5hZGRDbGFzcygiY3VyRm9udCIpOyBicmVhazsgY2FzZSBsYXJnZUZvbnQ6ICQoIi5sYXJnZUZvbnQiKS5hZGRDbGFzcygiY3VyRm9udCIpOyBicmVhazsgZGVmYXVsdDogJCgiLm1lZEZvbnQiKS5hZGRDbGFzcygiY3VyRm9udCIpOyB9IH0KZWxzZSB7ICQoJ2h0bWwnKS5jc3MoJ2ZvbnQtc2l6ZScsIG1lZEZvbnQpOyAkKCIubWVkRm9udCIpLmFkZENsYXNzKCJjdXJGb250Iik7IH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/fontsizer/sample.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPHRpdGxlPkZvbnRTaXplciBEZW1vPC90aXRsZT4KPCEtLSBJbmNsdWRlIHRoZSBGb250U2l6ZXIgY2xhc3NlcyBpbiB5b3Ugc3R5bGVzaGVldCAtLT4KPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2RlZmF1bHQuY3NzIiAvPgoKPCEtLSBJbmNsdWRlIHRoZSBKUXVlcnkgY29yZSBhbmQgRm9udFNpemVyIHNjcmlwdHMgLS0+CjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0iLi4vLi4vanF1ZXJ5LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSJqcy9mb250c2l6ZXIuanF1ZXJ5LmpzIj48L3NjcmlwdD4KCjwhLS0gT24gZG9jdW1lbnQgcmVhZHkgY2FsbCB0aGUgZnVuY3Rpb24gd2l0aCB2YXJzIChzbWFsbCwgbWVkaXVtLCBsYXJnZSkgLS0+CjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICBmb250UmVzaXplcignMTBweCcsJzExcHgnLCcxMnB4JywnMTNweCcpOwp9KTsKPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjwhLS0gRm9udFNpemVyIGJveCAtLT4KPGRpdiBjbGFzcz0iZm9udFJlc2l6ZXIiPgo8YSBocmVmPSIjIiBjbGFzcz0ic21hbGxGb250Ij5BPC9hPjxhIGhyZWY9IiMiIGNsYXNzPSJtZWRGb250Ij5BPC9hPjxhIGhyZWY9IiMiIGNsYXNzPSJsYXJnZUZvbnQiPkE8L2E+CjwvZGl2PgoKPGgxPkZvbnQgU2l6ZXIgRGVtbzwvaDE+CjxoMj5DbGljayB0aGUgIkEiIExpbmtzIHRvIHJlc2l6ZSB0aGUgZm9udHM8L2gyPgo8ZGl2PkZvbnQgU2l6ZXIgYWxsb3dzIHRoZSB1c2VyIHRvIGR5bmFtaWNhbGx5IGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBmb250IHNpemUgb2YgYW55IGRvY3VtZW50IHdpdGggImVtIiBzcGVjaWZpZWQgZm9udCBzaXplcy4gIEZvbnRzIHRoYXQgc2hvdWxkIHJlbWFpbiBjb25zdGFudCBzaG91bGQgYmUgc2l6ZSB3aXRoIHRoZSAicHgiIHVuaXQuPC9kaXY+CjxwPkZvbnQgU2l6ZXIgYWxsb3dzIHRoZSB1c2VyIHRvIGR5bmFtaWNhbGx5IGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBmb250IHNpemUgb2YgYW55IGRvY3VtZW50IHdpdGggImVtIiBzcGVjaWZpZWQgZm9udCBzaXplcy4gIEZvbnRzIHRoYXQgc2hvdWxkIHJlbWFpbiBjb25zdGFudCBzaG91bGQgYmUgc2l6ZSB3aXRoIHRoZSAicHgiIHVuaXQuPC9wPgo8cD4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQuIFBoYXNlbGx1cyBhdCBkdWkgaWQgZmVsaXMgbWFsZXN1YWRhIHRyaXN0aXF1ZS4gRG9uZWMgcXVhbSB1cm5hLCBtYXR0aXMgZWdldCwgZmF1Y2lidXMgaWQsIHNvbGxpY2l0dWRpbiBxdWlzLCBsYWN1cy4gTWF1cmlzIGVyb3MuIEN1bSBzb2NpaXMgbmF0b3F1ZSBwZW5hdGlidXMgZXQgbWFnbmlzIGRpcyBwYXJ0dXJpZW50IG1vbnRlcywgbmFzY2V0dXIgcmlkaWN1bHVzIG11cy4gU2VkIGJsYW5kaXQgbWFzc2EgaWQgbGlndWxhLiBQcm9pbiBldCBkdWkgc2VkIG1pIHNvbGxpY2l0dWRpbiBjb252YWxsaXMuIERvbmVjIGJpYmVuZHVtIHZpdmVycmEgbnVuYy4gRnVzY2UgbmliaCB0b3J0b3IsIG1hdHRpcyBldCwgY29uZ3VlIHZlbCwgdHJpc3RpcXVlIHNlZCwgbnVuYy4gQWVuZWFuIGxpYmVybyB1cm5hLCBibGFuZGl0IGV1LCB0ZW1wb3IgYXQsIGRpZ25pc3NpbSBpbiwgYW50ZS4gRG9uZWMgc2VtcGVyIHBvcnRhIGRpYW0uIFNlZCBsb3JlbSBuZXF1ZSwgY29uc2VxdWF0IGlkLCBhbGlxdWFtIGEsIHNvbGxpY2l0dWRpbiB0aW5jaWR1bnQsIGlwc3VtLiBBZW5lYW4gYWRpcGlzY2luZyBsb3JlbSBhdCBvcmNpLiBGdXNjZSBhY2N1bXNhbiwgb3JjaSBub24gcG9ydGEgbWF0dGlzLCBtZXR1cyBlcmF0IGNvbW1vZG8ganVzdG8sIGlkIHBsYWNlcmF0IGVuaW0gZW5pbSB1dCBmZWxpcy4gTWF1cmlzIHZlbGl0Lgo8L3A+CjxwPgpEdWlzIHBlZGUgdmVsaXQsIHRyaXN0aXF1ZSB2aXRhZSwgZnJpbmdpbGxhIGV1LCB0aW5jaWR1bnQgdml0YWUsIG1hdXJpcy4gTWF1cmlzIGxlbyByaXN1cywgbGFjaW5pYSBuZWMsIHNjZWxlcmlzcXVlIHBoYXJldHJhLCBsYWNpbmlhIGV1LCB0dXJwaXMuIERvbmVjIHVsbGFtY29ycGVyIG5pc2wgY29udmFsbGlzIGFudGUuIEN1cmFiaXR1ciBhY2N1bXNhbiBhZGlwaXNjaW5nIGxpZ3VsYS4gTWF1cmlzIGR1aSBlbmltLCBhZGlwaXNjaW5nIGV1LCBldWlzbW9kIHNlZCwgdHJpc3RpcXVlIGEsIG1pLiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdC4gVmVzdGlidWx1bSBwZWxsZW50ZXNxdWUuIE1vcmJpIGVnZXQgYW50ZS4gTnVsbGFtIGx1Y3R1cyBwcmV0aXVtIG1hc3NhLiBBZW5lYW4gc2VkIGxlby4gRHVpcyBub24gbWFzc2EgaWQgbnVsbGEgdGluY2lkdW50IGRpY3R1bS4gQWVuZWFuIGFyY3UuIEFsaXF1YW0gcHVsdmluYXIgaGVuZHJlcml0IGR1aS4gQWVuZWFuIGZhY2lsaXNpcyBjb25zZXF1YXQgcmlzdXMuIFBoYXNlbGx1cyB2aXRhZSBkaWFtLiBQcm9pbiBwdWx2aW5hciB2ZW5lbmF0aXMgZWxpdC4gRG9uZWMgZXN0IHNlbSwgcG9ydGEgc2l0IGFtZXQsIG9ybmFyZSBldSwgdWx0cmljaWVzIGF0LCBwdXJ1cy4gTmFtIHByZXRpdW0gZHVpIGluIG1hZ25hLiBEb25lYyBsZW8gdmVsaXQsIGludGVyZHVtIGV0LCBwdWx2aW5hciBlZ2V0LCB2b2x1dHBhdCBhdCwgZXN0Lgo8L3A+CjxwPgpNb3JiaSBwZWxsZW50ZXNxdWUgdG9ydG9yIHBvcnRhIHB1cnVzLiBEb25lYyB1bHRyaWNlcyBlbGl0IHZpdGFlIG1hdXJpcy4gQ3JhcyBtYXNzYS4gUHJhZXNlbnQgc2VtIG5pc2ksIG1vbGxpcyBzaXQgYW1ldCwgYmliZW5kdW0gbmVjLCBkaWN0dW0gYXQsIG9kaW8uIFF1aXNxdWUgYWNjdW1zYW4gbHVjdHVzIGlwc3VtLiBQcmFlc2VudCByaG9uY3VzIG1hdHRpcyB2ZWxpdC4gSW50ZWdlciBhdWN0b3Igc2FwaWVuIGlkIHRlbGx1cy4gTW9yYmkgc2NlbGVyaXNxdWUganVzdG8gYSB0dXJwaXMuIEZ1c2NlIHF1aXMgZmVsaXMgYWxpcXVldCB0ZWxsdXMgdWx0cmljaWVzIHRlbXB1cy4gU2VkIGVnZXQgcHVydXMuIFNlZCBvcm5hcmUgbGFjdXMgZXUganVzdG8uIERvbmVjIHV0IGFudGUgbmVjIGxlbyBkYXBpYnVzIHJ1dHJ1bS4gTWF1cmlzIHJ1dHJ1bSB2aXZlcnJhIGVyb3MuIE51bGxhbSBwb3J0YSBkaWFtIGEgdHVycGlzLiBVdCBjb25ndWUsIG1ldHVzIHZpdGFlIGRpY3R1bSBwb3J0dGl0b3IsIGVuaW0gbGliZXJvIGVsZW1lbnR1bSBwZWRlLCBlZ2V0IGFkaXBpc2NpbmcgcGVkZSBlcmF0IGV1IGRvbG9yLiBJbiBjb25kaW1lbnR1bSBjb25ndWUgbWF1cmlzLiBNb3JiaSBkYXBpYnVzIHJpc3VzIGVnZXQgbG9yZW0uIE1hZWNlbmFzIHNpdCBhbWV0IHNhcGllbi4gSW50ZWdlciBzYWdpdHRpcy4KPC9wPgo8L2JvZHk+CjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/css/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aHRtbCwgYm9keSB7CiAgICBtaW4taGVpZ2h0OiAxMDAlOwogICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCmJvZHkgewogICAgZm9udDogMTAwLjAxJSAiVHJlYnVjaGV0IE1TIiwgVHJlYnVjaGV0LCBUYWhvbWEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOwogICAgY29sb3I6ICMzMzM7CiAgICBwYWRkaW5nOiAwOwp9Cgpib2R5ICogewogICAgbGluZS1oZWlnaHQ6MS4yMmVtOwp9CgpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogICAgY29sb3I6IzQwODhiODsKICAgIGNsZWFyOiBib3RoOwp9CgpoMSB7Cn0KCmgyIHsKICAgIGNvbG9yOiAjYzhjOGM4OwoJCW1hcmdpbi10b3A6IC0yNXB4Owp9CgpoMyB7Cn0KCmg0IHsKICAgIGNvbG9yOiAjMzMzOwogICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7Cn0KCnAgewogICAgbWFyZ2luOiAxMHB4IDA7CiAgICBjbGVhcjogYm90aDsKfQoKdWwsIG9sIHsKICAgIG1hcmdpbi1sZWZ0IDA7Cn0KCnVsIHVsIHsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KCiN3cmFwIHsKICAgIGNvbG9yOiAjNDA0MDQwOwogICAgLyptYXJnaW46IDAgMTIlOyovCiAgICBtYXJnaW46IDIwcHggNDBweDsKfQoKYSB7CiAgICBjb2xvcjogIzQwODhiODsKfQoKdGFibGUgewogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODsKfQoKdGggewogICAgYmFja2dyb3VuZDogI2Q4ZDhkODsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBwYWRkaW5nOiA1cHg7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Cgp0ZCB7CiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIHBhZGRpbmc6IDVweDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KCnNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIHsKICAgIGZvbnQ6IDk5JSAiVHJlYnVjaGV0IE1TIiwgVHJlYnVjaGV0LCBUYWhvbWEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOwp9CgpwcmUsIGNvZGUsIHR0LCBkdCB7CiAgICBmb250OiAxMDAlIG1vbm9zcGFjZTsKICAgIG1hcmdpbjogMjBweCAwOwp9CgpwcmUsIGJsb2NrcXVvdGUgewogICAgcGFkZGluZzogMTVweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7CiAgICBtYXJnaW46IDIwcHggMDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDsKfQoKdGQgcHJlIHsKICAgIGZvbnQ6IDg1JSBtb25vc3BhY2U7CiAgICBwYWRkaW5nOiA1cHg7CiAgICBtYXJnaW46IDVweCAwOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/images/arrow-down.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCgAKAIABAP///////yH5BAEAAAEALAAAAAAKAAoAAAIOjI+pe+DvGgQJrsiyVgUAOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/images/arrow-up.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCgAKAPcAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAKAAoAAAgdAAEIHEiwoMGDBgMEOKhQYcGGDQdChIiwokWCAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/images/loading-small.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/images/loading-thickbox.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jcarousel/js/jcarousel.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIGpDYXJvdXNlbCAtIFJpZGluZyBjYXJvdXNlbHMgd2l0aCBqUXVlcnkKICogICBodHRwOi8vc29yZ2FsbGEuY29tL2pjYXJvdXNlbC8KICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEphbiBTb3JnYWxsYSAoaHR0cDovL3NvcmdhbGxhLmNvbSkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpCiAqIGFuZCBHUEwgKEdQTC1MSUNFTlNFLnR4dCkgbGljZW5zZXMuCiAqCiAqIEJ1aWx0IG9uIHRvcCBvZiB0aGUgalF1ZXJ5IGxpYnJhcnkKICogICBodHRwOi8vanF1ZXJ5LmNvbQogKgogKiBJbnNwaXJlZCBieSB0aGUgIkNhcm91c2VsIENvbXBvbmVudCIgYnkgQmlsbCBTY290dAogKiAgIGh0dHA6Ly9iaWxsd3Njb3R0LmNvbS9jYXJvdXNlbC8KICovCmV2YWwoZnVuY3Rpb24ocCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNlSW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkpOmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwfSgnKDkoJCl7JC4xdi5DPTkobyl7eiA0LjFiKDkoKXszcCByKDQsbyl9KX07OCBxPXtaOkYsMjU6MSwyMToxLHU6NywxYzozLDE1OjcsMUs6XCcyWFwnLDJjOlwnMlFcJywxcTowLEI6Nywxajo3LDFHOjcsMkY6NywyQjo3LDJ6OjcsMng6Nywydjo3LDJzOjcsMnA6NywxUzpcJzxQPjwvUD5cJywxUTpcJzxQPjwvUD5cJywybTpcJzJsXCcsMms6XCcybFwnLDFPOjcsMUw6N307JC5DPTkoZSxvKXs0LjU9JC4xNih7fSxxLG98fHt9KTs0LlE9Rjs0LkQ9Nzs0Lkg9Nzs0LnQ9Nzs0LlU9Nzs0LlI9Nzs0Lk49ITQuNS5aP1wnMUhcJzpcJzI2XCc7NC5FPSE0LjUuWj9cJzI0XCc6XCcyM1wnOzggYT1cJ1wnLDFlPWUuSy4xZShcJyBcJyk7MXIoOCBpPTA7aTwxZS5JO2krKyl7NigxZVtpXS4yeShcJ0MtMndcJykhPS0xKXskKGUpLjFFKDFlW2ldKTs4IGE9MWVbaV07MXB9fTYoZS4ydD09XCczb1wnfHxlLjJ0PT1cJzNuXCcpezQudD0kKGUpOzQuRD00LnQuMTkoKTs2KDQuRC4xbyhcJ0MtSFwnKSl7NighNC5ELjE5KCkuMW8oXCdDLURcJykpNC5EPTQuRC5CKFwnPFA+PC9QPlwnKTs0LkQ9NC5ELjE5KCl9MTAgNighNC5ELjFvKFwnQy1EXCcpKTQuRD00LnQuQihcJzxQPjwvUD5cJykuMTkoKX0xMHs0LkQ9JChlKTs0LnQ9JChlKS4zaChcJz4ybyw+Mm4sUD4ybyxQPjJuXCcpfTYoYSE9XCdcJyYmNC5ELjE5KClbMF0uSy4yeShcJ0MtMndcJyk9PS0xKTQuRC5CKFwnPFAgM2c9IiBcJythK1wnIj48L1A+XCcpOzQuSD00LnQuMTkoKTs2KCE0LkguSXx8ITQuSC4xbyhcJ0MtSFwnKSk0Lkg9NC50LkIoXCc8UD48L1A+XCcpLjE5KCk7NC5SPSQoXCcuQy0xMVwnLDQuRCk7Nig0LlIudSgpPT0wJiY0LjUuMVEhPTcpNC5SPTQuSC4xeig0LjUuMVEpLjExKCk7NC5SLlYoNC5LKFwnQy0xMVwnKSk7NC5VPSQoXCcuQy0xN1wnLDQuRCk7Nig0LlUudSgpPT0wJiY0LjUuMVMhPTcpNC5VPTQuSC4xeig0LjUuMVMpLjExKCk7NC5VLlYoNC5LKFwnQy0xN1wnKSk7NC5ILlYoNC5LKFwnQy1IXCcpKTs0LnQuVig0LksoXCdDLXRcJykpOzQuRC5WKDQuSyhcJ0MtRFwnKSk7OCBiPTQuNS4xNSE9Nz8xay4xUCg0LjFtKCkvNC41LjE1KTo3OzggYz00LnQuMzIoXCcxRlwnKTs4IGQ9NDs2KGMudSgpPjApezggZj0wLGk9NC41LjIxO2MuMWIoOSgpe2QuMUkoNCxpKyspO2YrPWQuUyg0LGIpfSk7NC50LnkoNC5OLGYrXCdUXCcpOzYoIW98fG8udT09PUopNC41LnU9Yy51KCl9NC5ELnkoXCcxeVwnLFwnMUFcJyk7NC5VLnkoXCcxeVwnLFwnMUFcJyk7NC5SLnkoXCcxeVwnLFwnMUFcJyk7NC4yRz05KCl7ZC4xNygpfTs0LjJiPTkoKXtkLjExKCl9OzQuMVU9OSgpe2QuMnEoKX07Nig0LjUuMWohPTcpNC41LjFqKDQsXCcyYVwnKTs2KCQuMkEuMjgpezQuMWYoRixGKTskKDI3KS4xdShcJzJJXCcsOSgpe2QuMXQoKX0pfTEwIDQuMXQoKX07OCByPSQuQztyLjF2PXIuMkg9e0M6XCcwLjIuM1wnfTtyLjF2LjE2PXIuMTY9JC4xNjtyLjF2LjE2KHsxdDo5KCl7NC5BPTc7NC5HPTc7NC5YPTc7NC4xMz03OzQuMTQ9Rjs0LjFkPTc7NC5PPTc7NC5XPUY7Nig0LlEpejs0LnQueSg0LkUsNC4xcyg0LjUuMjEpK1wnVFwnKTs4IHA9NC4xcyg0LjUuMjUpOzQuWD00LjEzPTc7NC4xaShwLEYpOyQoMjcpLjIyKFwnMkVcJyw0LjFVKS4xdShcJzJFXCcsNC4xVSl9LDJEOjkoKXs0LnQuMkMoKTs0LnQueSg0LkUsXCczdVwnKTs0LnQueSg0Lk4sXCczdFwnKTs2KDQuNS4xaiE9Nyk0LjUuMWooNCxcJzJEXCcpOzQuMXQoKX0sMnE6OSgpezYoNC5PIT03JiY0LlcpNC50LnkoNC5FLHIuTSg0LnQueSg0LkUpKSs0Lk8pOzQuTz03OzQuVz1GOzYoNC41LjFHIT03KTQuNS4xRyg0KTs2KDQuNS4xNSE9Nyl7OCBhPTQ7OCBiPTFrLjFQKDQuMW0oKS80LjUuMTUpLE49MCxFPTA7JChcJzFGXCcsNC50KS4xYig5KGkpe04rPWEuUyg0LGIpOzYoaSsxPGEuQSlFPU59KTs0LnQueSg0Lk4sTitcJ1RcJyk7NC50LnkoNC5FLC1FK1wnVFwnKX00LjFjKDQuQSxGKX0sM3M6OSgpezQuUT0xaDs0LjFmKCl9LDNyOjkoKXs0LlE9Rjs0LjFmKCl9LHU6OShzKXs2KHMhPUopezQuNS51PXM7NighNC5RKTQuMWYoKX16IDQuNS51fSwzcTo5KGksYSl7NihhPT1KfHwhYSlhPWk7Nig0LjUudSE9PTcmJmE+NC41LnUpYT00LjUudTsxcig4IGo9aTtqPD1hO2orKyl7OCBlPTQuTChqKTs2KCFlLkl8fGUuMW8oXCdDLTFhLTFEXCcpKXogRn16IDFofSxMOjkoaSl7eiAkKFwnLkMtMWEtXCcraSw0LnQpfSwydTo5KGkscyl7OCBlPTQuTChpKSwyMD0wLDJ1PTA7NihlLkk9PTApezggYyxlPTQuMUIoaSksaj1yLk0oaSk7MW4oYz00LkwoLS1qKSl7NihqPD0wfHxjLkkpe2o8PTA/NC50LjJyKGUpOmMuMVgoZSk7MXB9fX0xMCAyMD00LlMoZSk7ZS4xRSg0LksoXCdDLTFhLTFEXCcpKTsxUiBzPT1cJzNsXCc/ZS4zayhzKTplLjJDKCkuM2oocyk7OCBhPTQuNS4xNSE9Nz8xay4xUCg0LjFtKCkvNC41LjE1KTo3OzggYj00LlMoZSxhKS0yMDs2KGk+MCYmaTw0LkEpNC50LnkoNC5FLHIuTSg0LnQueSg0LkUpKS1iK1wnVFwnKTs0LnQueSg0Lk4sci5NKDQudC55KDQuTikpK2IrXCdUXCcpO3ogZX0sMVY6OShpKXs4IGU9NC5MKGkpOzYoIWUuSXx8KGk+PTQuQSYmaTw9NC5HKSl6OzggZD00LlMoZSk7NihpPDQuQSk0LnQueSg0LkUsci5NKDQudC55KDQuRSkpK2QrXCdUXCcpO2UuMVYoKTs0LnQueSg0Lk4sci5NKDQudC55KDQuTikpLWQrXCdUXCcpfSwxNzo5KCl7NC4xQygpOzYoNC5PIT03JiYhNC5XKTQuMVQoRik7MTAgNC4xYygoKDQuNS5CPT1cJzFaXCd8fDQuNS5CPT1cJ0dcJykmJjQuNS51IT03JiY0Lkc9PTQuNS51KT8xOjQuQSs0LjUuMWMpfSwxMTo5KCl7NC4xQygpOzYoNC5PIT03JiY0LlcpNC4xVCgxaCk7MTAgNC4xYygoKDQuNS5CPT1cJzFaXCd8fDQuNS5CPT1cJ0FcJykmJjQuNS51IT03JiY0LkE9PTEpPzQuNS51OjQuQS00LjUuMWMpfSwxVDo5KGIpezYoNC5RfHw0LjE0fHwhNC5PKXo7OCBhPXIuTSg0LnQueSg0LkUpKTshYj9hLT00Lk86YSs9NC5POzQuVz0hYjs0Llg9NC5BOzQuMTM9NC5HOzQuMWkoYSl9LDFjOjkoaSxhKXs2KDQuUXx8NC4xNCl6OzQuMWkoNC4xcyhpKSxhKX0sMXM6OShpKXs2KDQuUXx8NC4xNCl6OzYoNC41LkIhPVwnMThcJylpPWk8MT8xOig0LjUudSYmaT40LjUudT80LjUudTppKTs4IGE9NC5BPmk7OCBiPXIuTSg0LnQueSg0LkUpKTs4IGY9NC41LkIhPVwnMThcJyYmNC5BPD0xPzE6NC5BOzggYz1hPzQuTChmKTo0LkwoNC5HKTs4IGo9YT9mOmYtMTs4IGU9NyxsPTAscD1GLGQ9MDsxbihhPy0taj49aTorK2o8aSl7ZT00Lkwoaik7cD0hZS5JOzYoZS5JPT0wKXtlPTQuMUIoaikuVig0LksoXCdDLTFhLTFEXCcpKTtjW2E/XCcxelwnOlwnMVhcJ10oZSl9Yz1lO2Q9NC5TKGUpOzYocClsKz1kOzYoNC5BIT03JiYoNC41LkI9PVwnMThcJ3x8KGo+PTEmJig0LjUudT09N3x8ajw9NC41LnUpKSkpYj1hP2IrZDpiLWR9OCBnPTQuMW0oKTs4IGg9W107OCBrPTAsaj1pLHY9MDs4IGM9NC5MKGktMSk7MW4oKytrKXtlPTQuTChqKTtwPSFlLkk7NihlLkk9PTApe2U9NC4xQihqKS5WKDQuSyhcJ0MtMWEtMURcJykpO2MuST09MD80LnQuMnIoZSk6Y1thP1wnMXpcJzpcJzFYXCddKGUpfWM9ZTs4IGQ9NC5TKGUpOzYoZD09MCl7M2YoXCczZTogM2QgMUgvMjYgM2MgMXIgM2IuIDNhIDM5IDM4IDM3IDM2IDM1LiAzNC4uLlwnKTt6IDB9Nig0LjUuQiE9XCcxOFwnJiY0LjUudSE9PTcmJmo+NC41LnUpaC4zMyhlKTsxMCA2KHApbCs9ZDt2Kz1kOzYodj49ZykxcDtqKyt9MXIoOCB4PTA7eDxoLkk7eCsrKWhbeF0uMVYoKTs2KGw+MCl7NC50LnkoNC5OLDQuUyg0LnQpK2wrXCdUXCcpOzYoYSl7Yi09bDs0LnQueSg0LkUsci5NKDQudC55KDQuRSkpLWwrXCdUXCcpfX04IG49aStrLTE7Nig0LjUuQiE9XCcxOFwnJiY0LjUudSYmbj40LjUudSluPTQuNS51OzYoaj5uKXtrPTAsaj1uLHY9MDsxbigrK2spezggZT00Lkwoai0tKTs2KCFlLkkpMXA7dis9NC5TKGUpOzYodj49ZykxcH19OCBvPW4taysxOzYoNC41LkIhPVwnMThcJyYmbzwxKW89MTs2KDQuVyYmYSl7Yis9NC5POzQuVz1GfTQuTz03OzYoNC41LkIhPVwnMThcJyYmbj09NC41LnUmJihuLWsrMSk+PTEpezggbT1yLlkoNC5MKG4pLCE0LjUuWj9cJzFsXCc6XCcxTlwnKTs2KCh2LW0pPmcpNC5PPXYtZy1tfTFuKGktLT5vKWIrPTQuUyg0LkwoaSkpOzQuWD00LkE7NC4xMz00Lkc7NC5BPW87NC5HPW47eiBifSwxaTo5KHAsYSl7Nig0LlF8fDQuMTQpejs0LjE0PTFoOzggYj00OzggYz05KCl7Yi4xND1GOzYocD09MCliLnQueShiLkUsMCk7NihiLjUuQj09XCcxWlwnfHxiLjUuQj09XCdHXCd8fGIuNS51PT03fHxiLkc8Yi41LnUpYi4yaigpO2IuMWYoKTtiLjFNKFwnMmlcJyl9OzQuMU0oXCczMVwnKTs2KCE0LjUuMUt8fGE9PUYpezQudC55KDQuRSxwK1wnVFwnKTtjKCl9MTB7OCBvPSE0LjUuWj97XCcyNFwnOnB9OntcJzIzXCc6cH07NC50LjFpKG8sNC41LjFLLDQuNS4yYyxjKX19LDJqOjkocyl7NihzIT1KKTQuNS4xcT1zOzYoNC41LjFxPT0wKXogNC4xQygpOzYoNC4xZCE9Nyl6OzggYT00OzQuMWQ9MzAoOSgpe2EuMTcoKX0sNC41LjFxKjJaKX0sMUM6OSgpezYoNC4xZD09Nyl6OzJZKDQuMWQpOzQuMWQ9N30sMWY6OShuLHApezYobj09Snx8bj09Nyl7OCBuPSE0LlEmJjQuNS51IT09MCYmKCg0LjUuQiYmNC41LkIhPVwnQVwnKXx8NC41LnU9PTd8fDQuRzw0LjUudSk7NighNC5RJiYoITQuNS5CfHw0LjUuQj09XCdBXCcpJiY0LjUudSE9NyYmNC5HPj00LjUudSluPTQuTyE9NyYmITQuV302KHA9PUp8fHA9PTcpezggcD0hNC5RJiY0LjUudSE9PTAmJigoNC41LkImJjQuNS5CIT1cJ0dcJyl8fDQuQT4xKTs2KCE0LlEmJighNC41LkJ8fDQuNS5CPT1cJ0dcJykmJjQuNS51IT03JiY0LkE9PTEpcD00Lk8hPTcmJjQuV304IGE9NDs0LlVbbj9cJzF1XCc6XCcyMlwnXSg0LjUuMm0sNC4yRylbbj9cJzFFXCc6XCdWXCddKDQuSyhcJ0MtMTctMXdcJykpLjFKKFwnMXdcJyxuP0Y6MWgpOzQuUltwP1wnMXVcJzpcJzIyXCddKDQuNS4yayw0LjJiKVtwP1wnMUVcJzpcJ1ZcJ10oNC5LKFwnQy0xMS0xd1wnKSkuMUooXCcxd1wnLHA/RjoxaCk7Nig0LlUuST4wJiYoNC5VWzBdLjFnPT1KfHw0LlVbMF0uMWchPW4pJiY0LjUuMU8hPTcpezQuVS4xYig5KCl7YS41LjFPKGEsNCxuKX0pOzQuVVswXS4xZz1ufTYoNC5SLkk+MCYmKDQuUlswXS4xZz09Snx8NC5SWzBdLjFnIT1wKSYmNC41LjFMIT03KXs0LlIuMWIoOSgpe2EuNS4xTChhLDQscCl9KTs0LlJbMF0uMWc9cH19LDFNOjkoYSl7OCBiPTQuWD09Nz9cJzJhXCc6KDQuWDw0LkE/XCcxN1wnOlwnMTFcJyk7NC4xMihcJzJGXCcsYSxiKTs2KDQuWCE9PTQuQSl7NC4xMihcJzJCXCcsYSxiLDQuQSk7NC4xMihcJzJ6XCcsYSxiLDQuWCl9Nig0LjEzIT09NC5HKXs0LjEyKFwnMnhcJyxhLGIsNC5HKTs0LjEyKFwnMnZcJyxhLGIsNC4xMyl9NC4xMihcJzJzXCcsYSxiLDQuQSw0LkcsNC5YLDQuMTMpOzQuMTIoXCcycFwnLGEsYiw0LlgsNC4xMyw0LkEsNC5HKX0sMTI6OShhLGIsYyxkLGUsZixnKXs2KDQuNVthXT09Snx8KDFSIDQuNVthXSE9XCcyaFwnJiZiIT1cJzJpXCcpKXo7OCBoPTFSIDQuNVthXT09XCcyaFwnPzQuNVthXVtiXTo0LjVbYV07NighJC4yVyhoKSl6Ozggaj00OzYoZD09PUopaChqLGMsYik7MTAgNihlPT09Sik0LkwoZCkuMWIoOSgpe2goaiw0LGQsYyxiKX0pOzEwezFyKDggaT1kO2k8PWU7aSsrKTYoaSE9PTcmJiEoaT49ZiYmaTw9ZykpNC5MKGkpLjFiKDkoKXtoKGosNCxpLGMsYil9KX19LDFCOjkoaSl7eiA0LjFJKFwnPDFGPjwvMUY+XCcsaSl9LDFJOjkoZSxpKXs4IGE9JChlKS5WKDQuSyhcJ0MtMWFcJykpLlYoNC5LKFwnQy0xYS1cJytpKSk7YS4xSihcJzJWXCcsaSk7eiBhfSxLOjkoYyl7eiBjK1wnIFwnK2MrKCE0LjUuWj9cJy0yVVwnOlwnLVpcJyl9LFM6OShlLGQpezggYT1lLjJnIT1KP2VbMF06ZTs4IGI9ITQuNS5aP2EuMXgrci5ZKGEsXCcyZlwnKStyLlkoYSxcJzFsXCcpOmEuMmUrci5ZKGEsXCcyZFwnKStyLlkoYSxcJzFOXCcpOzYoZD09Snx8Yj09ZCl6IGI7OCB3PSE0LjUuWj9kLXIuWShhLFwnMmZcJyktci5ZKGEsXCcxbFwnKTpkLXIuWShhLFwnMmRcJyktci5ZKGEsXCcxTlwnKTskKGEpLnkoNC5OLHcrXCdUXCcpO3ogNC5TKGEpfSwxbTo5KCl7eiE0LjUuWj80LkhbMF0uMXgtci5NKDQuSC55KFwnMlRcJykpLXIuTSg0LkgueShcJzJTXCcpKTo0LkhbMF0uMmUtci5NKDQuSC55KFwnMlJcJykpLXIuTSg0LkgueShcJzNpXCcpKX0sMlA6OShpLHMpezYocz09SilzPTQuNS51O3ogMWsuMk8oKCgoaS0xKS9zKS0xay4yTigoaS0xKS9zKSkqcykrMX19KTtyLjE2KHszbTo5KGQpe3ogJC4xNihxLGR8fHt9KX0sWTo5KGUscCl7NighZSl6IDA7OCBhPWUuMmchPUo/ZVswXTplOzYocD09XCcxbFwnJiYkLjJBLjI4KXs4IGI9e1wnMXlcJzpcJzFBXCcsXCcyTVwnOlwnMkxcJyxcJzFIXCc6XCcxcVwnfSwxWSwxVzskLjI5KGEsYiw5KCl7MVk9YS4xeH0pO2JbXCcxbFwnXT0wOyQuMjkoYSxiLDkoKXsxVz1hLjF4fSk7eiAxVy0xWX16IHIuTSgkLnkoYSxwKSl9LE06OSh2KXt2PTJLKHYpO3ogMkoodik/MDp2fX0pfSkoM3YpOycsNjIsMjE4LCd8fHx8dGhpc3xvcHRpb25zfGlmfG51bGx8dmFyfGZ1bmN0aW9ufHx8fHx8fHx8fHx8fHx8fHx8fHxsaXN0fHNpemV8fHx8Y3NzfHJldHVybnxmaXJzdHx3cmFwfGpjYXJvdXNlbHxjb250YWluZXJ8bHR8ZmFsc2V8bGFzdHxjbGlwfGxlbmd0aHx1bmRlZmluZWR8Y2xhc3NOYW1lfGdldHxpbnR2YWx8d2h8dGFpbHxkaXZ8bG9ja2VkfGJ1dHRvblByZXZ8ZGltZW5zaW9ufHB4fGJ1dHRvbk5leHR8YWRkQ2xhc3N8aW5UYWlsfHByZXZGaXJzdHxtYXJnaW58dmVydGljYWx8ZWxzZXxwcmV2fGNhbGxiYWNrfHByZXZMYXN0fGFuaW1hdGluZ3x2aXNpYmxlfGV4dGVuZHxuZXh0fGNpcmN1bGFyfHBhcmVudHxpdGVtfGVhY2h8c2Nyb2xsfHRpbWVyfHNwbGl0fGJ1dHRvbnN8amNhcm91c2Vsc3RhdGV8dHJ1ZXxhbmltYXRlfGluaXRDYWxsYmFja3xNYXRofG1hcmdpblJpZ2h0fGNsaXBwaW5nfHdoaWxlfGhhc0NsYXNzfGJyZWFrfGF1dG98Zm9yfHBvc3xzZXR1cHxiaW5kfGZufGRpc2FibGVkfG9mZnNldFdpZHRofGRpc3BsYXl8YmVmb3JlfGJsb2NrfGNyZWF0ZXxzdG9wQXV0b3xwbGFjZWhvbGRlcnxyZW1vdmVDbGFzc3xsaXxyZWxvYWRDYWxsYmFja3x3aWR0aHxmb3JtYXR8YXR0cnxhbmltYXRpb258YnV0dG9uUHJldkNhbGxiYWNrfG5vdGlmeXxtYXJnaW5Cb3R0b218YnV0dG9uTmV4dENhbGxiYWNrfGNlaWx8YnV0dG9uUHJldkhUTUx8dHlwZW9mfGJ1dHRvbk5leHRIVE1MfHNjcm9sbFRhaWx8ZnVuY1Jlc2l6ZXxyZW1vdmV8b1dpZHRoMnxhZnRlcnxvV2lkdGh8Ym90aHxvbGR8b2Zmc2V0fHVuYmluZHx0b3B8bGVmdHxzdGFydHxoZWlnaHR8d2luZG93fHNhZmFyaXxzd2FwfGluaXR8ZnVuY1ByZXZ8ZWFzaW5nfG1hcmdpblRvcHxvZmZzZXRIZWlnaHR8bWFyZ2luTGVmdHxqcXVlcnl8b2JqZWN0fG9uQWZ0ZXJBbmltYXRpb258c3RhcnRBdXRvfGJ1dHRvblByZXZFdmVudHxjbGlja3xidXR0b25OZXh0RXZlbnR8b2x8dWx8aXRlbVZpc2libGVPdXRDYWxsYmFja3xyZWxvYWR8cHJlcGVuZHxpdGVtVmlzaWJsZUluQ2FsbGJhY2t8bm9kZU5hbWV8YWRkfGl0ZW1MYXN0T3V0Q2FsbGJhY2t8c2tpbnxpdGVtTGFzdEluQ2FsbGJhY2t8aW5kZXhPZnxpdGVtRmlyc3RPdXRDYWxsYmFja3xicm93c2VyfGl0ZW1GaXJzdEluQ2FsbGJhY2t8ZW1wdHl8cmVzZXR8cmVzaXplfGl0ZW1Mb2FkQ2FsbGJhY2t8ZnVuY05leHR8cHJvdG90eXBlfGxvYWR8aXNOYU58cGFyc2VJbnR8bm9uZXxmbG9hdHxmbG9vcnxyb3VuZHxpbmRleHxzd2luZ3xib3JkZXJUb3BXaWR0aHxib3JkZXJSaWdodFdpZHRofGJvcmRlckxlZnRXaWR0aHxob3Jpem9udGFsfGpjYXJvdXNlbGluZGV4fGlzRnVuY3Rpb258bm9ybWFsfGNsZWFyVGltZW91dHwxMDAwfHNldFRpbWVvdXR8b25CZWZvcmVBbmltYXRpb258Y2hpbGRyZW58cHVzaHxBYm9ydGluZ3xsb29wfGluZmluaXRlfGFufGNhdXNlfHdpbGx8VGhpc3xpdGVtc3xzZXR8Tm98akNhcm91c2VsfGFsZXJ0fGNsYXNzfGZpbmR8Ym9yZGVyQm90dG9tV2lkdGh8YXBwZW5kfGh0bWx8c3RyaW5nfGRlZmF1bHRzfE9MfFVMfG5ld3xoYXN8dW5sb2NrfGxvY2t8MTBweHwwcHh8alF1ZXJ5Jy5zcGxpdCgnfCcpLDAse30pKQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAGoAc2RzY2xib29sAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAQAGJvb2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAQAAB0AGgAbgBlAHMAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAcwBtAG8AbwB0AGgAbgBlAHMAc2J3c3BibG9iAAAAr2JwbGlzdDAw1gECAwQFBgcICAoIDFxXaW5kb3dCb3VuZHNbU2hvd1NpZGViYXJdU2hvd1N0YXR1c0JhcltTaG93UGF0aGJhcltTaG93VG9vbGJhclxTaWRlYmFyV2lkdGhfEBh7ezY3NywgOTF9LCB7MTAxMSwgNTkwfX0JCQgJEMAIFSIuPEhUYXx9fn+AAAAAAAAAAQEAAAAAAAAADQAAAAAAAAAAAAAAAAAAAIIAAAAKAHMAbQBvAG8AdABoAG4AZQBzAHNkc2NsYm9vbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAAAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAQAABlAHNid3NwYmxvYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAaQBtAGEAZwBlAHNid3NwYmxvYgAAAK9icGxpc3QwMNYBAgMEBQYHCAgKCAxcV2luZG93Qm91bmRzW1Nob3dTaWRlYmFyXVNob3dTdGF0dXNCYXJbU2hvd1BhdGhiYXJbU2hvd1Rvb2xiYXJcU2lkZWJhcldpZHRoXxAYe3s2NzcsIDkxfSwgezEwMTEsIDU5MH19CQkICRDACBUiLjxIVGF8fX5/gAAAAAAAAAEBAAAAAAAAAA0AAAAAAAAAAAAAAAAAAACCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAAAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAe0lEQVRoge3OMQHAIBAAMcC/kjdZJHTI0A4XBdkz86wfO18H3hRUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUF8O8A8WdY6opAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAeUlEQVRoge3OMQHAIBAAsVL/nh8JDDfAkCjImpn5HvbfDpwIVoKVYCVYCVaClWAlWAlWgpVgJVgJVoKVYCVYCVaClWAlWAlWgpVgJVgJVoKVYCVYCVaClWAlWAlWgpVgJVgJVoKVYCVYCVaClWAlWAlWgpVgJVgJVhtqiwTEKTLXTgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAP0lEQVQ4je3PMQrAMABC0a/3v2zX0mCXNkOgc6C4PARd5DqPGKCU8luS8SbAQhiCQRgJE56kZTfbbP9RSvnkBsWcEAZRWcgqAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAMElEQVQ4je3LIQ4AIBTD0O3f/8wrFgmKhMy8pKJKwkhSKeVbbGuAPU9f4PIopTxgAeS0DRtI4yK0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANklEQVQ4jWN48uTJfyYGBgaGUWKUGCWGLfHt2zcoi5GREYNgYmJCZiG42IiB98woMUqMEtgIAMdjCdyg+eEBAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANUlEQVQ4je3LMQoAIBADwb38/6t5wFXaWAiCtUiaYZvF9hBACOFbuntVVe11B0CSjjeE8BwThQIJ8dhEl0YAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAPklEQVQ4je3PMQqAMABD0Z/c/7aCIAXjJIhD10LJ8vgZw30eMUApZV/GhZNgSTjoLYElY/hNMJ/S6gullCkPiCIPCr4NiEwAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAALElEQVQYlWN49OjRfyYGBgaGIUT8//8fSqBx0Yh///4RL8vAwAAVQ2MNOwIAl6g6KkOJwk8AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-icons_2e83ff_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-icons_222222_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-icons_454545_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEVERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkQfbf86AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMM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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-icons_888888_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEWMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMioyMiozJxoFPAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMM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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/images/ui-icons_cd0a0a_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/css/smoothness/jquery-ui-1.8.4.custom.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCiAqLwoKLyogTGF5b3V0IGhlbHBlcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1oZWxwZXItaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfQoudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OTk5OTlweDsgfQoudWktaGVscGVyLXJlc2V0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IG91dGxpbmU6IDA7IGxpbmUtaGVpZ2h0OiAxLjM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxMDAlOyBsaXN0LXN0eWxlOiBub25lOyB9Ci51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OiAiLiI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQovKiByZXF1aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3JrIGluIE9wZXJhIFwqLwoqIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeCB7IGhlaWdodDoxJTsgfQoudWktaGVscGVyLWNsZWFyZml4IHsgZGlzcGxheTpibG9jazsgfQovKiBlbmQgY2xlYXJmaXggKi8KLnVpLWhlbHBlci16Zml4IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgdG9wOiAwOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyB9CgoKLyogSW50ZXJhY3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRpc2FibGVkIHsgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0KCgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgZGlzcGxheTogYmxvY2s7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQoKCi8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9CgoKLyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcvQVBJCiAqCiAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyLz9mZkRlZmF1bHQ9VmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmJmZ3RGVmYXVsdD1ub3JtYWwmZnNEZWZhdWx0PTEuMWVtJmNvcm5lclJhZGl1cz00cHgmYmdDb2xvckhlYWRlcj1jY2NjY2MmYmdUZXh0dXJlSGVhZGVyPTAzX2hpZ2hsaWdodF9zb2Z0LnBuZyZiZ0ltZ09wYWNpdHlIZWFkZXI9NzUmYm9yZGVyQ29sb3JIZWFkZXI9YWFhYWFhJmZjSGVhZGVyPTIyMjIyMiZpY29uQ29sb3JIZWFkZXI9MjIyMjIyJmJnQ29sb3JDb250ZW50PWZmZmZmZiZiZ1RleHR1cmVDb250ZW50PTAxX2ZsYXQucG5nJmJnSW1nT3BhY2l0eUNvbnRlbnQ9NzUmYm9yZGVyQ29sb3JDb250ZW50PWFhYWFhYSZmY0NvbnRlbnQ9MjIyMjIyJmljb25Db2xvckNvbnRlbnQ9MjIyMjIyJmJnQ29sb3JEZWZhdWx0PWU2ZTZlNiZiZ1RleHR1cmVEZWZhdWx0PTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlEZWZhdWx0PTc1JmJvcmRlckNvbG9yRGVmYXVsdD1kM2QzZDMmZmNEZWZhdWx0PTU1NTU1NSZpY29uQ29sb3JEZWZhdWx0PTg4ODg4OCZiZ0NvbG9ySG92ZXI9ZGFkYWRhJmJnVGV4dHVyZUhvdmVyPTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlIb3Zlcj03NSZib3JkZXJDb2xvckhvdmVyPTk5OTk5OSZmY0hvdmVyPTIxMjEyMSZpY29uQ29sb3JIb3Zlcj00NTQ1NDUmYmdDb2xvckFjdGl2ZT1mZmZmZmYmYmdUZXh0dXJlQWN0aXZlPTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlBY3RpdmU9NjUmYm9yZGVyQ29sb3JBY3RpdmU9YWFhYWFhJmZjQWN0aXZlPTIxMjEyMSZpY29uQ29sb3JBY3RpdmU9NDU0NTQ1JmJnQ29sb3JIaWdobGlnaHQ9ZmJmOWVlJmJnVGV4dHVyZUhpZ2hsaWdodD0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5SGlnaGxpZ2h0PTU1JmJvcmRlckNvbG9ySGlnaGxpZ2h0PWZjZWZhMSZmY0hpZ2hsaWdodD0zNjM2MzYmaWNvbkNvbG9ySGlnaGxpZ2h0PTJlODNmZiZiZ0NvbG9yRXJyb3I9ZmVmMWVjJmJnVGV4dHVyZUVycm9yPTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlFcnJvcj05NSZib3JkZXJDb2xvckVycm9yPWNkMGEwYSZmY0Vycm9yPWNkMGEwYSZpY29uQ29sb3JFcnJvcj1jZDBhMGEmYmdDb2xvck92ZXJsYXk9YWFhYWFhJmJnVGV4dHVyZU92ZXJsYXk9MDFfZmxhdC5wbmcmYmdJbWdPcGFjaXR5T3ZlcmxheT0wJm9wYWNpdHlPdmVybGF5PTMwJmJnQ29sb3JTaGFkb3c9YWFhYWFhJmJnVGV4dHVyZVNoYWRvdz0wMV9mbGF0LnBuZyZiZ0ltZ09wYWNpdHlTaGFkb3c9MCZvcGFjaXR5U2hhZG93PTMwJnRoaWNrbmVzc1NoYWRvdz04cHgmb2Zmc2V0VG9wU2hhZG93PS04cHgmb2Zmc2V0TGVmdFNoYWRvdz0tOHB4JmNvcm5lclJhZGl1c1NoYWRvdz04cHgKICovCgoKLyogQ29tcG9uZW50IGNvbnRhaW5lcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS13aWRnZXQgeyBmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEuMWVtOyB9Ci51aS13aWRnZXQgLnVpLXdpZGdldCB7IGZvbnQtc2l6ZTogMWVtOyB9Ci51aS13aWRnZXQgaW5wdXQsIC51aS13aWRnZXQgc2VsZWN0LCAudWktd2lkZ2V0IHRleHRhcmVhLCAudWktd2lkZ2V0IGJ1dHRvbiB7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMWVtOyB9Ci51aS13aWRnZXQtY29udGVudCB7IGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7IGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGltYWdlcy91aS1iZ19mbGF0Xzc1X2ZmZmZmZl80MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBjb2xvcjogIzIyMjIyMjsgfQoudWktd2lkZ2V0LWNvbnRlbnQgYSB7IGNvbG9yOiAjMjIyMjIyOyB9Ci51aS13aWRnZXQtaGVhZGVyIHsgYm9yZGVyOiAxcHggc29saWQgI2FhYWFhYTsgYmFja2dyb3VuZDogI2NjY2NjYyB1cmwoaW1hZ2VzL3VpLWJnX2hpZ2hsaWdodC1zb2Z0Xzc1X2NjY2NjY18xeDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGNvbG9yOiAjMjIyMjIyOyBmb250LXdlaWdodDogYm9sZDsgfQoudWktd2lkZ2V0LWhlYWRlciBhIHsgY29sb3I6ICMyMjIyMjI7IH0KCi8qIEludGVyYWN0aW9uIHN0YXRlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQgeyBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOyBiYWNrZ3JvdW5kOiAjZTZlNmU2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgY29sb3I6ICM1NTU1NTU7IH0KLnVpLXN0YXRlLWRlZmF1bHQgYSwgLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLCAudWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQgeyBjb2xvcjogIzU1NTU1NTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7IGJhY2tncm91bmQ6ICNkYWRhZGEgdXJsKGltYWdlcy91aS1iZ19nbGFzc183NV9kYWRhZGFfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogIzIxMjEyMTsgfQoudWktc3RhdGUtaG92ZXIgYSwgLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIgeyBjb2xvcjogIzIxMjEyMTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlIHsgYm9yZGVyOiAxcHggc29saWQgI2FhYWFhYTsgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzY1X2ZmZmZmZl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiAjMjEyMTIxOyB9Ci51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHsgY29sb3I6ICMyMTIxMjE7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktd2lkZ2V0IDphY3RpdmUgeyBvdXRsaW5lOiBub25lOyB9CgovKiBJbnRlcmFjdGlvbiBDdWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCAge2JvcmRlcjogMXB4IHNvbGlkICNmY2VmYTE7IGJhY2tncm91bmQ6ICNmYmY5ZWUgdXJsKGltYWdlcy91aS1iZ19nbGFzc181NV9mYmY5ZWVfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBjb2xvcjogIzM2MzYzNjsgfQoudWktc3RhdGUtaGlnaGxpZ2h0IGEsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHsgY29sb3I6ICMzNjM2MzY7IH0KLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige2JvcmRlcjogMXB4IHNvbGlkICNjZDBhMGE7IGJhY2tncm91bmQ6ICNmZWYxZWMgdXJsKGltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBjb2xvcjogI2NkMGEwYTsgfQoudWktc3RhdGUtZXJyb3IgYSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciBhLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7IGNvbG9yOiAjY2QwYTBhOyB9Ci51aS1zdGF0ZS1lcnJvci10ZXh0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHsgY29sb3I6ICNjZDBhMGE7IH0KLnVpLXByaW9yaXR5LXByaW1hcnksIC51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkgeyBmb250LXdlaWdodDogYm9sZDsgfQoudWktcHJpb3JpdHktc2Vjb25kYXJ5LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSwgIC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkgeyBvcGFjaXR5OiAuNzsgZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyBmb250LXdlaWdodDogbm9ybWFsOyB9Ci51aS1zdGF0ZS1kaXNhYmxlZCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVkIHsgb3BhY2l0eTogLjM1OyBmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0KCi8qIEljb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyogc3RhdGVzIGFuZCBpbWFnZXMgKi8KLnVpLWljb24geyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXdpZGdldC1jb250ZW50IC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtZGVmYXVsdCAudWktaWNvbiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfODg4ODg4XzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtaG92ZXIgLnVpLWljb24sIC51aS1zdGF0ZS1mb2N1cyAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc180NTQ1NDVfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzJlODNmZl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWVycm9yIC51aS1pY29uLCAudWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcpOyB9CgovKiBwb3NpdGlvbmluZyAqLwoudWktaWNvbi1jYXJhdC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0KLnVpLWljb24tY2FyYXQtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9Ci51aS1pY29uLWNhcmF0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2cHg7IH0KLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybi0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybi0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybi0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfQoudWktaWNvbi1hcnJvdy00IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfQoudWktaWNvbi1hcnJvdy00LWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtODBweDsgfQoudWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH0KLnVpLWljb24tbmV3d2luIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH0KLnVpLWljb24tcmVmcmVzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC04MHB4OyB9Ci51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfQoudWktaWNvbi10cmFuc2Zlci1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfQoudWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtODBweDsgfQoudWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfQoudWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9Ci51aS1pY29uLWRvY3VtZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTk2cHg7IH0KLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9Ci51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfQoudWktaWNvbi1tYWlsLWNsb3NlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05NnB4OyB9Ci51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9Ci51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9Ci51aS1pY29uLWNvbW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTk2cHg7IH0KLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9Ci51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9Ci51aS1pY29uLXRyYXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC05NnB4OyB9Ci51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfQoudWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfQoudWktaWNvbi1ib29rbWFyayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtOTZweDsgfQoudWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH0KLnVpLWljb24taG9tZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9Ci51aS1pY29uLWZsYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTEycHg7IH0KLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH0KLnVpLWljb24tY2FydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfQoudWktaWNvbi1wZW5jaWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTEycHg7IH0KLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH0KLnVpLWljb24tZGlzayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfQoudWktaWNvbi1jYWxjdWxhdG9yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMTJweDsgfQoudWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9Ci51aS1pY29uLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9Ci51aS1pY29uLXNlYXJjaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTEycHg7IH0KLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfQoudWktaWNvbi1nZWFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfQoudWktaWNvbi1oZWFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTEycHg7IH0KLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH0KLnVpLWljb24tbGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH0KLnVpLWljb24tY2FuY2VsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH0KLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfQoudWktaWNvbi1wbHVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH0KLnVpLWljb24tbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTI4cHg7IH0KLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfQoudWktaWNvbi1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfQoudWktaWNvbi1jbG9zZXRoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTEyOHB4OyB9Ci51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH0KLnVpLWljb24tbGlnaHRidWxiIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfQoudWktaWNvbi1zY2lzc29ycyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTI4cHg7IH0KLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfQoudWktaWNvbi1jb3B5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfQoudWktaWNvbi1jb250YWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMjhweDsgfQoudWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH0KLnVpLWljb24tdmlkZW8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9Ci51aS1pY29uLXNjcmlwdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTI4cHg7IH0KLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfQoudWktaWNvbi1pbmZvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9Ci51aS1pY29uLW5vdGljZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNDRweDsgfQoudWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9Ci51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9Ci51aS1pY29uLWJ1bGxldCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNDRweDsgfQoudWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTQ0cHg7IH0KLnVpLWljb24tcmFkaW8tb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9Ci51aS1pY29uLXBpbi13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNDRweDsgfQoudWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH0KLnVpLWljb24tcGxheSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4OyB9Ci51aS1pY29uLXBhdXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLXByZXYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1lbmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQovKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRlZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovCi51aS1pY29uLXNlZWstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH0KLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfQoudWktaWNvbi1lamVjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH0KLnVpLWljb24tdm9sdW1lLW9mZiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTYwcHg7IH0KLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfQoudWktaWNvbi1wb3dlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9Ci51aS1pY29uLXNpZ25hbC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE3NnB4OyB9Ci51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0xIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH0KLnVpLWljb24tY2lyY2xlLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtem9vbW91dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH0KLnVpLWljb24tY2lyY2xlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjA4cHg7IH0KLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMDhweDsgfQoudWktaWNvbi1zcXVhcmVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMDhweDsgfQoudWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfQoudWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH0KCgovKiBNaXNjIHZpc3VhbHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBDb3JuZXIgcmFkaXVzICovCi51aS1jb3JuZXItdGwgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItdHIgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYmwgeyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYnIgeyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItdG9wIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJvdHRvbSB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1yaWdodCB7ICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItbGVmdCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1hbGwgeyAtbW96LWJvcmRlci1yYWRpdXM6IDRweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgfQoKLyogT3ZlcmxheXMgKi8KLnVpLXdpZGdldC1vdmVybGF5IHsgYmFja2dyb3VuZDogI2FhYWFhYSB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgb3BhY2l0eTogLjMwO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTsgfQoudWktd2lkZ2V0LXNoYWRvdyB7IG1hcmdpbjogLThweCAwIDAgLThweDsgcGFkZGluZzogOHB4OyBiYWNrZ3JvdW5kOiAjYWFhYWFhIHVybChpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBvcGFjaXR5OiAuMzA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzApOyAtbW96LWJvcmRlci1yYWRpdXM6IDhweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgfS8qCiAqIGpRdWVyeSBVSSBSZXNpemFibGUgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1Jlc2l6YWJsZSN0aGVtaW5nCiAqLwoudWktcmVzaXphYmxlIHsgcG9zaXRpb246IHJlbGF0aXZlO30KLnVpLXJlc2l6YWJsZS1oYW5kbGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7Zm9udC1zaXplOiAwLjFweDt6LWluZGV4OiA5OTk5OTsgZGlzcGxheTogYmxvY2s7fQoudWktcmVzaXphYmxlLWRpc2FibGVkIC51aS1yZXNpemFibGUtaGFuZGxlLCAudWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHsgZGlzcGxheTogbm9uZTsgfQoudWktcmVzaXphYmxlLW4geyBjdXJzb3I6IG4tcmVzaXplOyBoZWlnaHQ6IDdweDsgd2lkdGg6IDEwMCU7IHRvcDogLTVweDsgbGVmdDogMDsgfQoudWktcmVzaXphYmxlLXMgeyBjdXJzb3I6IHMtcmVzaXplOyBoZWlnaHQ6IDdweDsgd2lkdGg6IDEwMCU7IGJvdHRvbTogLTVweDsgbGVmdDogMDsgfQoudWktcmVzaXphYmxlLWUgeyBjdXJzb3I6IGUtcmVzaXplOyB3aWR0aDogN3B4OyByaWdodDogLTVweDsgdG9wOiAwOyBoZWlnaHQ6IDEwMCU7IH0KLnVpLXJlc2l6YWJsZS13IHsgY3Vyc29yOiB3LXJlc2l6ZTsgd2lkdGg6IDdweDsgbGVmdDogLTVweDsgdG9wOiAwOyBoZWlnaHQ6IDEwMCU7IH0KLnVpLXJlc2l6YWJsZS1zZSB7IGN1cnNvcjogc2UtcmVzaXplOyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4OyByaWdodDogMXB4OyBib3R0b206IDFweDsgfQoudWktcmVzaXphYmxlLXN3IHsgY3Vyc29yOiBzdy1yZXNpemU7IHdpZHRoOiA5cHg7IGhlaWdodDogOXB4OyBsZWZ0OiAtNXB4OyBib3R0b206IC01cHg7IH0KLnVpLXJlc2l6YWJsZS1udyB7IGN1cnNvcjogbnctcmVzaXplOyB3aWR0aDogOXB4OyBoZWlnaHQ6IDlweDsgbGVmdDogLTVweDsgdG9wOiAtNXB4OyB9Ci51aS1yZXNpemFibGUtbmUgeyBjdXJzb3I6IG5lLXJlc2l6ZTsgd2lkdGg6IDlweDsgaGVpZ2h0OiA5cHg7IHJpZ2h0OiAtNXB4OyB0b3A6IC01cHg7fS8qCiAqIGpRdWVyeSBVSSBTZWxlY3RhYmxlIEBWRVJTSU9OCiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TZWxlY3RhYmxlI3RoZW1pbmcKICovCi51aS1zZWxlY3RhYmxlLWhlbHBlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwOyBib3JkZXI6MXB4IGRvdHRlZCBibGFjazsgfQovKgogKiBqUXVlcnkgVUkgQWNjb3JkaW9uIEBWRVJTSU9OCiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BY2NvcmRpb24jdGhlbWluZwogKi8KLyogSUUvV2luIC0gRml4IGFuaW1hdGlvbiBidWcgLSAjNDYxNSAqLwoudWktYWNjb3JkaW9uIHsgd2lkdGg6IDEwMCU7IH0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciB7IGN1cnNvcjogcG9pbnRlcjsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tdG9wOiAxcHg7IHpvb206IDE7IH0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWxpLWZpeCB7IGRpc3BsYXk6IGlubGluZTsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIGEgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxZW07IHBhZGRpbmc6IC41ZW0gLjVlbSAuNWVtIC43ZW07IH0KLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWhlYWRlciBhIHsgcGFkZGluZy1sZWZ0OiAyLjJlbTsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1pY29uIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAuNWVtOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLThweDsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudCB7IHBhZGRpbmc6IDFlbSAyLjJlbTsgYm9yZGVyLXRvcDogMDsgbWFyZ2luLXRvcDogLTJweDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDFweDsgbWFyZ2luLWJvdHRvbTogMnB4OyBvdmVyZmxvdzogYXV0bzsgZGlzcGxheTogbm9uZTsgem9vbTogMTsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfS8qCiAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0F1dG9jb21wbGV0ZSN0aGVtaW5nCiAqLwoudWktYXV0b2NvbXBsZXRlIHsgcG9zaXRpb246IGFic29sdXRlOyBjdXJzb3I6IGRlZmF1bHQ7IH0JCgovKiB3b3JrYXJvdW5kcyAqLwoqIGh0bWwgLnVpLWF1dG9jb21wbGV0ZSB7IHdpZHRoOjFweDsgfSAvKiB3aXRob3V0IHRoaXMsIHRoZSBtZW51IGV4cGFuZHMgdG8gMTAwJSBpbiBJRTYgKi8KCi8qCiAqIGpRdWVyeSBVSSBNZW51IEBWRVJTSU9OCiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9NZW51I3RoZW1pbmcKICovCi51aS1tZW51IHsKCWxpc3Qtc3R5bGU6bm9uZTsKCXBhZGRpbmc6IDJweDsKCW1hcmdpbjogMDsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDogbGVmdDsKfQoudWktbWVudSAudWktbWVudSB7CgltYXJnaW4tdG9wOiAtM3B4Owp9Ci51aS1tZW51IC51aS1tZW51LWl0ZW0gewoJbWFyZ2luOjA7CglwYWRkaW5nOiAwOwoJem9vbTogMTsKCWZsb2F0OiBsZWZ0OwoJY2xlYXI6IGxlZnQ7Cgl3aWR0aDogMTAwJTsKfQoudWktbWVudSAudWktbWVudS1pdGVtIGEgewoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZzouMmVtIC40ZW07CglsaW5lLWhlaWdodDoxLjU7Cgl6b29tOjE7Cn0KLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyLAoudWktbWVudSAudWktbWVudS1pdGVtIGEudWktc3RhdGUtYWN0aXZlIHsKCWZvbnQtd2VpZ2h0OiBub3JtYWw7CgltYXJnaW46IC0xcHg7Cn0KLyoKICogalF1ZXJ5IFVJIEJ1dHRvbiBAVkVSU0lPTgogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQnV0dG9uI3RoZW1pbmcKICovCi51aS1idXR0b24geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMDsgbWFyZ2luLXJpZ2h0OiAuMWVtOyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHpvb206IDE7IG92ZXJmbG93OiB2aXNpYmxlOyB9IC8qIHRoZSBvdmVyZmxvdyBwcm9wZXJ0eSByZW1vdmVzIGV4dHJhIHdpZHRoIGluIElFICovCi51aS1idXR0b24taWNvbi1vbmx5IHsgd2lkdGg6IDIuMmVtOyB9IC8qIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIGljb24sIGEgd2lkdGggbmVlZHMgdG8gYmUgc2V0IGhlcmUgKi8KYnV0dG9uLnVpLWJ1dHRvbi1pY29uLW9ubHkgeyB3aWR0aDogMi40ZW07IH0gLyogYnV0dG9uIGVsZW1lbnRzIHNlZW0gdG8gbmVlZCBhIGxpdHRsZSBtb3JlIHdpZHRoICovCi51aS1idXR0b24taWNvbnMtb25seSB7IHdpZHRoOiAzLjRlbTsgfSAKYnV0dG9uLnVpLWJ1dHRvbi1pY29ucy1vbmx5IHsgd2lkdGg6IDMuN2VtOyB9IAoKLypidXR0b24gdGV4dCBlbGVtZW50ICovCi51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0IHsgZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAxLjQ7ICB9Ci51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmc6IC40ZW0gMWVtOyB9Ci51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24tdGV4dCwgLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmc6IC40ZW07IHRleHQtaW5kZW50OiAtOTk5OTk5OXB4OyB9Ci51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi10ZXh0LCAudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHsgcGFkZGluZzogLjRlbSAxZW0gLjRlbSAyLjFlbTsgfQoudWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1dHRvbi10ZXh0LCAudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHsgcGFkZGluZzogLjRlbSAyLjFlbSAuNGVtIDFlbTsgfQoudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHsgcGFkZGluZy1sZWZ0OiAyLjFlbTsgcGFkZGluZy1yaWdodDogMi4xZW07IH0KLyogbm8gaWNvbiBzdXBwb3J0IGZvciBpbnB1dCBlbGVtZW50cywgcHJvdmlkZSBwYWRkaW5nIGJ5IGRlZmF1bHQgKi8KaW5wdXQudWktYnV0dG9uIHsgcGFkZGluZzogLjRlbSAxZW07IH0KCi8qYnV0dG9uIGljb24gZWxlbWVudChzKSAqLwoudWktYnV0dG9uLWljb24tb25seSAudWktaWNvbiwgLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbiwgLnVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1pY29uLCAudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWljb24sIC51aS1idXR0b24taWNvbnMtb25seSAudWktaWNvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC04cHg7IH0KLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24geyBsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAtOHB4OyB9Ci51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksIC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tcHJpbWFyeSwgLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5IHsgbGVmdDogLjVlbTsgfQoudWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwgLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksIC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHsgcmlnaHQ6IC41ZW07IH0KLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksIC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHsgcmlnaHQ6IC41ZW07IH0KCi8qYnV0dG9uIHNldHMqLwoudWktYnV0dG9uc2V0IHsgbWFyZ2luLXJpZ2h0OiA3cHg7IH0KLnVpLWJ1dHRvbnNldCAudWktYnV0dG9uIHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogLS4zZW07IH0KCi8qIHdvcmthcm91bmRzICovCmJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIgeyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IH0gLyogcmVzZXQgZXh0cmEgcGFkZGluZyBpbiBGaXJlZm94ICovCi8qCiAqIGpRdWVyeSBVSSBEaWFsb2cgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0RpYWxvZyN0aGVtaW5nCiAqLwoudWktZGlhbG9nIHsgcG9zaXRpb246IGFic29sdXRlOyBwYWRkaW5nOiAuMmVtOyB3aWR0aDogMzAwcHg7IG92ZXJmbG93OiBoaWRkZW47IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHsgcGFkZGluZzogLjVlbSAxZW0gLjNlbTsgcG9zaXRpb246IHJlbGF0aXZlOyAgfQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGUgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiAuMWVtIDE2cHggLjJlbSAwOyB9IAoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAuM2VtOyB0b3A6IDUwJTsgd2lkdGg6IDE5cHg7IG1hcmdpbjogLTEwcHggMCAwIDA7IHBhZGRpbmc6IDFweDsgaGVpZ2h0OiAxOHB4OyB9Ci51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMXB4OyB9Ci51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpob3ZlciwgLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmZvY3VzIHsgcGFkZGluZzogMDsgfQoudWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyOiAwOyBwYWRkaW5nOiAuNWVtIDFlbTsgYmFja2dyb3VuZDogbm9uZTsgb3ZlcmZsb3c6IGF1dG87IHpvb206IDE7IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgeyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXItd2lkdGg6IDFweCAwIDAgMDsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgbWFyZ2luOiAuNWVtIDAgMCAwOyBwYWRkaW5nOiAuM2VtIDFlbSAuNWVtIC40ZW07IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25zZXQgeyBmbG9hdDogcmlnaHQ7IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgYnV0dG9uIHsgbWFyZ2luOiAuNWVtIC40ZW0gLjVlbSAwOyBjdXJzb3I6IHBvaW50ZXI7IH0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlIHsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgcmlnaHQ6IDNweDsgYm90dG9tOiAzcHg7IH0KLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFyIHsgY3Vyc29yOiBtb3ZlOyB9Ci8qCiAqIGpRdWVyeSBVSSBTbGlkZXIgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NsaWRlciN0aGVtaW5nCiAqLwoudWktc2xpZGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWFsaWduOiBsZWZ0OyB9Ci51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDI7IHdpZHRoOiAxLjJlbTsgaGVpZ2h0OiAxLjJlbTsgY3Vyc29yOiBkZWZhdWx0OyB9Ci51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgZm9udC1zaXplOiAuN2VtOyBkaXNwbGF5OiBibG9jazsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0KCi51aS1zbGlkZXItaG9yaXpvbnRhbCB7IGhlaWdodDogLjhlbTsgfQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUgeyB0b3A6IC0uM2VtOyBtYXJnaW4tbGVmdDogLS42ZW07IH0KLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UgeyB0b3A6IDA7IGhlaWdodDogMTAwJTsgfQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW4geyBsZWZ0OiAwOyB9Ci51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1heCB7IHJpZ2h0OiAwOyB9CgoudWktc2xpZGVyLXZlcnRpY2FsIHsgd2lkdGg6IC44ZW07IGhlaWdodDogMTAwcHg7IH0KLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZSB7IGxlZnQ6IC0uM2VtOyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLWJvdHRvbTogLS42ZW07IH0KLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlIHsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IH0KLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7IGJvdHRvbTogMDsgfQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHsgdG9wOiAwOyB9LyoKICogalF1ZXJ5IFVJIFRhYnMgQFZFUlNJT04KICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RhYnMjdGhlbWluZwogKi8KLnVpLXRhYnMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IC4yZW07IHpvb206IDE7IH0gLyogcG9zaXRpb246IHJlbGF0aXZlIHByZXZlbnRzIElFIHNjcm9sbCBidWcgKGVsZW1lbnQgd2l0aCBwb3NpdGlvbjogcmVsYXRpdmUgaW5zaWRlIGNvbnRhaW5lciB3aXRoIG92ZXJmbG93OiBhdXRvIGFwcGVhciBhcyAiZml4ZWQiKSAqLwoudWktdGFicyAudWktdGFicy1uYXYgeyBtYXJnaW46IDA7IHBhZGRpbmc6IC4yZW0gLjJlbSAwOyB9Ci51aS10YWJzIC51aS10YWJzLW5hdiBsaSB7IGxpc3Qtc3R5bGU6IG5vbmU7IGZsb2F0OiBsZWZ0OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMXB4OyBtYXJnaW46IDAgLjJlbSAxcHggMDsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhIHsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmc6IC41ZW0gMWVtOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgeyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLWJvdHRvbTogMXB4OyB9Ci51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLXNlbGVjdGVkIGEsIC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCBhLCAudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtcHJvY2Vzc2luZyBhIHsgY3Vyc29yOiB0ZXh0OyB9Ci51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhLCAudWktdGFicy51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLXNlbGVjdGVkIGEgeyBjdXJzb3I6IHBvaW50ZXI7IH0gLyogZmlyc3Qgc2VsZWN0b3IgaW4gZ3JvdXAgc2VlbXMgb2Jzb2xldGUsIGJ1dCByZXF1aXJlZCB0byBvdmVyY29tZSBidWcgaW4gT3BlcmEgYXBwbHlpbmcgY3Vyc29yOiB0ZXh0IG92ZXJhbGwgaWYgZGVmaW5lZCBlbHNld2hlcmUuLi4gKi8KLnVpLXRhYnMgLnVpLXRhYnMtcGFuZWwgeyBkaXNwbGF5OiBibG9jazsgYm9yZGVyLXdpZHRoOiAwOyBwYWRkaW5nOiAxZW0gMS40ZW07IGJhY2tncm91bmQ6IG5vbmU7IH0KLnVpLXRhYnMgLnVpLXRhYnMtaGlkZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQovKgogKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciBAVkVSU0lPTgogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlciN0aGVtaW5nCiAqLwoudWktZGF0ZXBpY2tlciB7IHdpZHRoOiAxN2VtOyBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzouMmVtIDA7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDJweDsgd2lkdGg6IDEuOGVtOyBoZWlnaHQ6IDEuOGVtOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyB0b3A6IDFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHsgbGVmdDoycHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHsgbGVmdDoxcHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IHJpZ2h0OjFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgbWFyZ2luLWxlZnQ6IC04cHg7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4OyAgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7IG1hcmdpbjogMCAyLjNlbTsgbGluZS1oZWlnaHQ6IDEuOGVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHsgZm9udC1zaXplOjFlbTsgbWFyZ2luOjFweCAwOyB9Ci51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge3dpZHRoOiAxMDAlO30KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIAoudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHsgd2lkdGg6IDQ5JTt9Ci51aS1kYXRlcGlja2VyIHRhYmxlIHt3aWR0aDogMTAwJTsgZm9udC1zaXplOiAuOWVtOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW46MCAwIC40ZW07IH0KLnVpLWRhdGVwaWNrZXIgdGggeyBwYWRkaW5nOiAuN2VtIC4zZW07IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlcjogMDsgIH0KLnVpLWRhdGVwaWNrZXIgdGQgeyBib3JkZXI6IDA7IHBhZGRpbmc6IDFweDsgfQoudWktZGF0ZXBpY2tlciB0ZCBzcGFuLCAudWktZGF0ZXBpY2tlciB0ZCBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IC4yZW07IHRleHQtYWxpZ246IHJpZ2h0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IG1hcmdpbjogLjdlbSAwIDAgMDsgcGFkZGluZzowIC4yZW07IGJvcmRlci1sZWZ0OiAwOyBib3JkZXItcmlnaHQ6IDA7IGJvcmRlci1ib3R0b206IDA7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24geyBmbG9hdDogcmlnaHQ7IG1hcmdpbjogLjVlbSAuMmVtIC40ZW07IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTsgd2lkdGg6YXV0bzsgb3ZlcmZsb3c6dmlzaWJsZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpsZWZ0OyB9CgovKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqLwoudWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHsgd2lkdGg6YXV0bzsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7IGZsb2F0OmxlZnQ7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUgeyB3aWR0aDo5NSU7IG1hcmdpbjowIGF1dG8gLjRlbTsgfQoudWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6NTAlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDozMy4zJTsgfQoudWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6MjUlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgY2xlYXI6bGVmdDsgfQoudWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgeyBjbGVhcjpib3RoOyB3aWR0aDoxMDAlOyB9CgovKiBSVEwgc3VwcG9ydCAqLwoudWktZGF0ZXBpY2tlci1ydGwgeyBkaXJlY3Rpb246IHJ0bDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7IHJpZ2h0OiAycHg7IGxlZnQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQgeyBsZWZ0OiAycHg7IHJpZ2h0OiBhdXRvOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHsgcmlnaHQ6IDFweDsgbGVmdDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7IGxlZnQ6IDFweDsgcmlnaHQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24geyBmbG9hdDogbGVmdDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHsgZmxvYXQ6cmlnaHQ7IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6cmlnaHQ7IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IGJvcmRlci1yaWdodC13aWR0aDowOyBib3JkZXItbGVmdC13aWR0aDoxcHg7IH0KCi8qIElFNiBJRlJBTUUgRklYICh0YWtlbiBmcm9tIGRhdGVwaWNrZXIgMS41LjMgKi8KLnVpLWRhdGVwaWNrZXItY292ZXIgewogICAgZGlzcGxheTogbm9uZTsgLypzb3JyeSBmb3IgSUU1Ki8KICAgIGRpc3BsYXkvKiovOiBibG9jazsgLypzb3JyeSBmb3IgSUU1Ki8KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyptdXN0IGhhdmUqLwogICAgei1pbmRleDogLTE7IC8qbXVzdCBoYXZlKi8KICAgIGZpbHRlcjogbWFzaygpOyAvKm11c3QgaGF2ZSovCiAgICB0b3A6IC00cHg7IC8qbXVzdCBoYXZlKi8KICAgIGxlZnQ6IC00cHg7IC8qbXVzdCBoYXZlKi8KICAgIHdpZHRoOiAyMDBweDsgLyptdXN0IGhhdmUqLwogICAgaGVpZ2h0OiAyMDBweDsgLyptdXN0IGhhdmUqLwp9LyoKICogalF1ZXJ5IFVJIFByb2dyZXNzYmFyIEBWRVJTSU9OCiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Qcm9ncmVzc2JhciN0aGVtaW5nCiAqLwoudWktcHJvZ3Jlc3NiYXIgeyBoZWlnaHQ6MmVtOyB0ZXh0LWFsaWduOiBsZWZ0OyB9Ci51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWUge21hcmdpbjogLTFweDsgaGVpZ2h0OjEwMCU7IH0=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/jqueryui/js/jqueryui.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBVSSAxLjguNAogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkKICovCihmdW5jdGlvbihjLGope2Z1bmN0aW9uIGsoYSl7cmV0dXJuIWMoYSkucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gYy5jdXJDU1ModGhpcywidmlzaWJpbGl0eSIpPT09ImhpZGRlbiJ8fGMuZXhwci5maWx0ZXJzLmhpZGRlbih0aGlzKX0pLmxlbmd0aH1jLnVpPWMudWl8fHt9O2lmKCFjLnVpLnZlcnNpb24pe2MuZXh0ZW5kKGMudWkse3ZlcnNpb246IjEuOC40IixwbHVnaW46e2FkZDpmdW5jdGlvbihhLGIsZCl7YT1jLnVpW2FdLnByb3RvdHlwZTtmb3IodmFyIGUgaW4gZCl7YS5wbHVnaW5zW2VdPWEucGx1Z2luc1tlXXx8W107YS5wbHVnaW5zW2VdLnB1c2goW2IsZFtlXV0pfX0sY2FsbDpmdW5jdGlvbihhLGIsZCl7aWYoKGI9YS5wbHVnaW5zW2JdKSYmYS5lbGVtZW50WzBdLnBhcmVudE5vZGUpZm9yKHZhciBlPTA7ZTxiLmxlbmd0aDtlKyspYS5vcHRpb25zW2JbZV1bMF1dJiZiW2VdWzFdLmFwcGx5KGEuZWxlbWVudCxkKX19LGNvbnRhaW5zOmZ1bmN0aW9uKGEsCmIpe3JldHVybiBkb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2OmEhPT1iJiZhLmNvbnRhaW5zKGIpfSxoYXNTY3JvbGw6ZnVuY3Rpb24oYSxiKXtpZihjKGEpLmNzcygib3ZlcmZsb3ciKT09PSJoaWRkZW4iKXJldHVybiBmYWxzZTtiPWImJmI9PT0ibGVmdCI/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiO3ZhciBkPWZhbHNlO2lmKGFbYl0+MClyZXR1cm4gdHJ1ZTthW2JdPTE7ZD1hW2JdPjA7YVtiXT0wO3JldHVybiBkfSxpc092ZXJBeGlzOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYT5iJiZhPGIrZH0saXNPdmVyOmZ1bmN0aW9uKGEsYixkLGUsaCxpKXtyZXR1cm4gYy51aS5pc092ZXJBeGlzKGEsZCxoKSYmYy51aS5pc092ZXJBeGlzKGIsZSxpKX0sa2V5Q29kZTp7QUxUOjE4LEJBQ0tTUEFDRTo4LENBUFNfTE9DSzoyMCxDT01NQToxODgsQ09NTUFORDo5MSxDT01NQU5EX0xFRlQ6OTEsQ09NTUFORF9SSUdIVDo5MywKQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTUVOVTo5MyxOVU1QQURfQUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEsTlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LE5VTVBBRF9TVUJUUkFDVDoxMDksUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTSElGVDoxNixTUEFDRTozMixUQUI6OSxVUDozOCxXSU5ET1dTOjkxfX0pO2MuZm4uZXh0ZW5kKHtfZm9jdXM6Yy5mbi5mb2N1cyxmb2N1czpmdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2MoZCkuZm9jdXMoKTtiJiZiLmNhbGwoZCl9LGEpfSk6dGhpcy5fZm9jdXMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlbmFibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdHRyKCJ1bnNlbGVjdGFibGUiLAoib2ZmIikuY3NzKCJNb3pVc2VyU2VsZWN0IiwiIil9LGRpc2FibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdHRyKCJ1bnNlbGVjdGFibGUiLCJvbiIpLmNzcygiTW96VXNlclNlbGVjdCIsIm5vbmUiKX0sc2Nyb2xsUGFyZW50OmZ1bmN0aW9uKCl7dmFyIGE7YT1jLmJyb3dzZXIubXNpZSYmLyhzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKXx8L2Fic29sdXRlLy50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKT90aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4vKHJlbGF0aXZlfGFic29sdXRlfGZpeGVkKS8udGVzdChjLmN1ckNTUyh0aGlzLCJwb3NpdGlvbiIsMSkpJiYvKGF1dG98c2Nyb2xsKS8udGVzdChjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCk6dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3QoYy5jdXJDU1ModGhpcywKIm92ZXJmbG93IiwxKStjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy15IiwxKStjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdy14IiwxKSl9KS5lcSgwKTtyZXR1cm4vZml4ZWQvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpfHwhYS5sZW5ndGg/Yyhkb2N1bWVudCk6YX0sekluZGV4OmZ1bmN0aW9uKGEpe2lmKGEhPT1qKXJldHVybiB0aGlzLmNzcygiekluZGV4IixhKTtpZih0aGlzLmxlbmd0aCl7YT1jKHRoaXNbMF0pO2Zvcih2YXIgYjthLmxlbmd0aCYmYVswXSE9PWRvY3VtZW50Oyl7Yj1hLmNzcygicG9zaXRpb24iKTtpZihiPT09ImFic29sdXRlInx8Yj09PSJyZWxhdGl2ZSJ8fGI9PT0iZml4ZWQiKXtiPXBhcnNlSW50KGEuY3NzKCJ6SW5kZXgiKSk7aWYoIWlzTmFOKGIpJiZiIT0wKXJldHVybiBifWE9YS5wYXJlbnQoKX19cmV0dXJuIDB9fSk7Yy5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZixnLGwsbSl7Yy5lYWNoKGUsZnVuY3Rpb24oKXtnLT0KcGFyc2VGbG9hdChjLmN1ckNTUyhmLCJwYWRkaW5nIit0aGlzLHRydWUpKXx8MDtpZihsKWctPXBhcnNlRmxvYXQoYy5jdXJDU1MoZiwiYm9yZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwO2lmKG0pZy09cGFyc2VGbG9hdChjLmN1ckNTUyhmLCJtYXJnaW4iK3RoaXMsdHJ1ZSkpfHwwfSk7cmV0dXJuIGd9dmFyIGU9Yj09PSJXaWR0aCI/WyJMZWZ0IiwiUmlnaHQiXTpbIlRvcCIsIkJvdHRvbSJdLGg9Yi50b0xvd2VyQ2FzZSgpLGk9e2lubmVyV2lkdGg6Yy5mbi5pbm5lcldpZHRoLGlubmVySGVpZ2h0OmMuZm4uaW5uZXJIZWlnaHQsb3V0ZXJXaWR0aDpjLmZuLm91dGVyV2lkdGgsb3V0ZXJIZWlnaHQ6Yy5mbi5vdXRlckhlaWdodH07Yy5mblsiaW5uZXIiK2JdPWZ1bmN0aW9uKGYpe2lmKGY9PT1qKXJldHVybiBpWyJpbm5lciIrYl0uY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yy5zdHlsZSh0aGlzLGgsZCh0aGlzLGYpKyJweCIpfSl9O2MuZm5bIm91dGVyIisKYl09ZnVuY3Rpb24oZixnKXtpZih0eXBlb2YgZiE9PSJudW1iZXIiKXJldHVybiBpWyJvdXRlciIrYl0uY2FsbCh0aGlzLGYpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLnN0eWxlKHRoaXMsaCxkKHRoaXMsZix0cnVlLGcpKyJweCIpfSl9fSk7Yy5leHRlbmQoYy5leHByWyI6Il0se2RhdGE6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiEhYy5kYXRhKGEsZFszXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksZD1jLmF0dHIoYSwidGFiaW5kZXgiKTtpZigiYXJlYSI9PT1iKXtiPWEucGFyZW50Tm9kZTtkPWIubmFtZTtpZighYS5ocmVmfHwhZHx8Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09Im1hcCIpcmV0dXJuIGZhbHNlO2E9YygiaW1nW3VzZW1hcD0jIitkKyJdIilbMF07cmV0dXJuISFhJiZrKGEpfXJldHVybigvaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbnxvYmplY3QvLnRlc3QoYik/IWEuZGlzYWJsZWQ6ImEiPT0KYj9hLmhyZWZ8fCFpc05hTihkKTohaXNOYU4oZCkpJiZrKGEpfSx0YWJiYWJsZTpmdW5jdGlvbihhKXt2YXIgYj1jLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4oaXNOYU4oYil8fGI+PTApJiZjKGEpLmlzKCI6Zm9jdXNhYmxlIil9fSl9fSkoalF1ZXJ5KTsKOy8qIQogKiBqUXVlcnkgVUkgV2lkZ2V0IDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9XaWRnZXQKICovCihmdW5jdGlvbihiLGope3ZhciBrPWIuZm4ucmVtb3ZlO2IuZm4ucmVtb3ZlPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCFjKWlmKCFhfHxiLmZpbHRlcihhLFt0aGlzXSkubGVuZ3RoKWIoIioiLHRoaXMpLmFkZChbdGhpc10pLmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX0pO3JldHVybiBrLmNhbGwoYih0aGlzKSxhLGMpfSl9O2Iud2lkZ2V0PWZ1bmN0aW9uKGEsYyxkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF0sZjthPWEuc3BsaXQoIi4iKVsxXTtmPWUrIi0iK2E7aWYoIWQpe2Q9YztjPWIuV2lkZ2V0fWIuZXhwclsiOiJdW2ZdPWZ1bmN0aW9uKGgpe3JldHVybiEhYi5kYXRhKGgsYSl9O2JbZV09YltlXXx8e307YltlXVthXT1mdW5jdGlvbihoLGcpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChoLGcpfTtjPW5ldyBjO2Mub3B0aW9ucz1iLmV4dGVuZCh0cnVlLHt9LGMub3B0aW9ucyk7CmJbZV1bYV0ucHJvdG90eXBlPWIuZXh0ZW5kKHRydWUsYyx7bmFtZXNwYWNlOmUsd2lkZ2V0TmFtZTphLHdpZGdldEV2ZW50UHJlZml4OmJbZV1bYV0ucHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4fHxhLHdpZGdldEJhc2VDbGFzczpmfSxkKTtiLndpZGdldC5icmlkZ2UoYSxiW2VdW2FdKX07Yi53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGEsYyl7Yi5mblthXT1mdW5jdGlvbihkKXt2YXIgZT10eXBlb2YgZD09PSJzdHJpbmciLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGg9dGhpcztkPSFlJiZmLmxlbmd0aD9iLmV4dGVuZC5hcHBseShudWxsLFt0cnVlLGRdLmNvbmNhdChmKSk6ZDtpZihlJiZkLnN1YnN0cmluZygwLDEpPT09Il8iKXJldHVybiBoO2U/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGc9Yi5kYXRhKHRoaXMsYSksaT1nJiZiLmlzRnVuY3Rpb24oZ1tkXSk/Z1tkXS5hcHBseShnLGYpOmc7aWYoaSE9PWcmJmkhPT1qKXtoPWk7cmV0dXJuIGZhbHNlfX0pOgp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1iLmRhdGEodGhpcyxhKTtpZihnKXtkJiZnLm9wdGlvbihkKTtnLl9pbml0KCl9ZWxzZSBiLmRhdGEodGhpcyxhLG5ldyBjKGQsdGhpcykpfSk7cmV0dXJuIGh9fTtiLldpZGdldD1mdW5jdGlvbihhLGMpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChhLGMpfTtiLldpZGdldC5wcm90b3R5cGU9e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIsb3B0aW9uczp7ZGlzYWJsZWQ6ZmFsc2V9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oYSxjKXtiLmRhdGEoYyx0aGlzLndpZGdldE5hbWUsdGhpcyk7dGhpcy5lbGVtZW50PWIoYyk7dGhpcy5vcHRpb25zPWIuZXh0ZW5kKHRydWUse30sdGhpcy5vcHRpb25zLGIubWV0YWRhdGEmJmIubWV0YWRhdGEuZ2V0KGMpW3RoaXMud2lkZ2V0TmFtZV0sYSk7dmFyIGQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3ZlLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKCl7ZC5kZXN0cm95KCl9KTsKdGhpcy5fY3JlYXRlKCk7dGhpcy5faW5pdCgpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7fSxfaW5pdDpmdW5jdGlvbigpe30sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSkucmVtb3ZlRGF0YSh0aGlzLndpZGdldE5hbWUpO3RoaXMud2lkZ2V0KCkudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLnJlbW92ZUF0dHIoImFyaWEtZGlzYWJsZWQiKS5yZW1vdmVDbGFzcyh0aGlzLndpZGdldEJhc2VDbGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnR9LG9wdGlvbjpmdW5jdGlvbihhLGMpe3ZhciBkPWEsZT10aGlzO2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiBiLmV4dGVuZCh7fSxlLm9wdGlvbnMpO2lmKHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGM9PT1qKXJldHVybiB0aGlzLm9wdGlvbnNbYV07ZD17fTtkW2FdPWN9Yi5lYWNoKGQsZnVuY3Rpb24oZiwKaCl7ZS5fc2V0T3B0aW9uKGYsaCl9KTtyZXR1cm4gZX0sX3NldE9wdGlvbjpmdW5jdGlvbihhLGMpe3RoaXMub3B0aW9uc1thXT1jO2lmKGE9PT0iZGlzYWJsZWQiKXRoaXMud2lkZ2V0KClbYz8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKHRoaXMud2lkZ2V0QmFzZUNsYXNzKyItZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIixjKTtyZXR1cm4gdGhpc30sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPXRoaXMub3B0aW9uc1thXTtjPWIuRXZlbnQoYyk7Yy50eXBlPShhPT09dGhpcy53aWRnZXRFdmVudFByZWZpeD9hOnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrYSkudG9Mb3dlckNhc2UoKTtkPWR8fHt9O2lmKGMub3JpZ2luYWxFdmVudCl7YT0KYi5ldmVudC5wcm9wcy5sZW5ndGg7Zm9yKHZhciBmO2E7KXtmPWIuZXZlbnQucHJvcHNbLS1hXTtjW2ZdPWMub3JpZ2luYWxFdmVudFtmXX19dGhpcy5lbGVtZW50LnRyaWdnZXIoYyxkKTtyZXR1cm4hKGIuaXNGdW5jdGlvbihlKSYmZS5jYWxsKHRoaXMuZWxlbWVudFswXSxjLGQpPT09ZmFsc2V8fGMuaXNEZWZhdWx0UHJldmVudGVkKCkpfX19KShqUXVlcnkpOwo7LyohCiAqIGpRdWVyeSBVSSBNb3VzZSAxLjguNAogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvTW91c2UKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGMpe2Mud2lkZ2V0KCJ1aS5tb3VzZSIse29wdGlvbnM6e2NhbmNlbDoiOmlucHV0LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGIpe3JldHVybiBhLl9tb3VzZURvd24oYil9KS5iaW5kKCJjbGljay4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihiKXtpZihhLl9wcmV2ZW50Q2xpY2tFdmVudCl7YS5fcHJldmVudENsaWNrRXZlbnQ9ZmFsc2U7Yi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtyZXR1cm4gZmFsc2V9fSk7dGhpcy5zdGFydGVkPWZhbHNlfSxfbW91c2VEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKX0sX21vdXNlRG93bjpmdW5jdGlvbihhKXthLm9yaWdpbmFsRXZlbnQ9YS5vcmlnaW5hbEV2ZW50fHx7fTtpZighYS5vcmlnaW5hbEV2ZW50Lm1vdXNlSGFuZGxlZCl7dGhpcy5fbW91c2VTdGFydGVkJiYKdGhpcy5fbW91c2VVcChhKTt0aGlzLl9tb3VzZURvd25FdmVudD1hO3ZhciBiPXRoaXMsZT1hLndoaWNoPT0xLGY9dHlwZW9mIHRoaXMub3B0aW9ucy5jYW5jZWw9PSJzdHJpbmciP2MoYS50YXJnZXQpLnBhcmVudHMoKS5hZGQoYS50YXJnZXQpLmZpbHRlcih0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2U7aWYoIWV8fGZ8fCF0aGlzLl9tb3VzZUNhcHR1cmUoYSkpcmV0dXJuIHRydWU7dGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXk7aWYoIXRoaXMubW91c2VEZWxheU1ldCl0aGlzLl9tb3VzZURlbGF5VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2IubW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlvbnMuZGVsYXkpO2lmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYSkmJnRoaXMuX21vdXNlRGVsYXlNZXQoYSkpe3RoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KGEpIT09ZmFsc2U7aWYoIXRoaXMuX21vdXNlU3RhcnRlZCl7YS5wcmV2ZW50RGVmYXVsdCgpOwpyZXR1cm4gdHJ1ZX19dGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZCl7cmV0dXJuIGIuX21vdXNlTW92ZShkKX07dGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9uKGQpe3JldHVybiBiLl9tb3VzZVVwKGQpfTtjKGRvY3VtZW50KS5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKTtjLmJyb3dzZXIuc2FmYXJpfHxhLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGEub3JpZ2luYWxFdmVudC5tb3VzZUhhbmRsZWQ9dHJ1ZX19LF9tb3VzZU1vdmU6ZnVuY3Rpb24oYSl7aWYoYy5icm93c2VyLm1zaWUmJiFhLmJ1dHRvbilyZXR1cm4gdGhpcy5fbW91c2VVcChhKTtpZih0aGlzLl9tb3VzZVN0YXJ0ZWQpe3RoaXMuX21vdXNlRHJhZyhhKTtyZXR1cm4gYS5wcmV2ZW50RGVmYXVsdCgpfWlmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQoYSkmJgp0aGlzLl9tb3VzZURlbGF5TWV0KGEpKSh0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VTdGFydCh0aGlzLl9tb3VzZURvd25FdmVudCxhKSE9PWZhbHNlKT90aGlzLl9tb3VzZURyYWcoYSk6dGhpcy5fbW91c2VVcChhKTtyZXR1cm4hdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5jdGlvbihhKXtjKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9ZmFsc2U7dGhpcy5fcHJldmVudENsaWNrRXZlbnQ9YS50YXJnZXQ9PXRoaXMuX21vdXNlRG93bkV2ZW50LnRhcmdldDt0aGlzLl9tb3VzZVN0b3AoYSl9cmV0dXJuIGZhbHNlfSxfbW91c2VEaXN0YW5jZU1ldDpmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5hYnModGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVgtCmEucGFnZVgpLE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VZLWEucGFnZVkpKT49dGhpcy5vcHRpb25zLmRpc3RhbmNlfSxfbW91c2VEZWxheU1ldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7fSxfbW91c2VEcmFnOmZ1bmN0aW9uKCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKCl7fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9fSl9KShqUXVlcnkpOwo7LyoKICogalF1ZXJ5IFVJIFBvc2l0aW9uIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Qb3NpdGlvbgogKi8KKGZ1bmN0aW9uKGMpe2MudWk9Yy51aXx8e307dmFyIG09L2xlZnR8Y2VudGVyfHJpZ2h0LyxuPS90b3B8Y2VudGVyfGJvdHRvbS8scD1jLmZuLnBvc2l0aW9uLHE9Yy5mbi5vZmZzZXQ7Yy5mbi5wb3NpdGlvbj1mdW5jdGlvbihhKXtpZighYXx8IWEub2YpcmV0dXJuIHAuYXBwbHkodGhpcyxhcmd1bWVudHMpO2E9Yy5leHRlbmQoe30sYSk7dmFyIGI9YyhhLm9mKSxkPShhLmNvbGxpc2lvbnx8ImZsaXAiKS5zcGxpdCgiICIpLGU9YS5vZmZzZXQ/YS5vZmZzZXQuc3BsaXQoIiAiKTpbMCwwXSxnLGgsaTtpZihhLm9mLm5vZGVUeXBlPT09OSl7Zz1iLndpZHRoKCk7aD1iLmhlaWdodCgpO2k9e3RvcDowLGxlZnQ6MH19ZWxzZSBpZihhLm9mLnNjcm9sbFRvJiZhLm9mLmRvY3VtZW50KXtnPWIud2lkdGgoKTtoPWIuaGVpZ2h0KCk7aT17dG9wOmIuc2Nyb2xsVG9wKCksbGVmdDpiLnNjcm9sbExlZnQoKX19ZWxzZSBpZihhLm9mLnByZXZlbnREZWZhdWx0KXthLmF0PSJsZWZ0IHRvcCI7Zz1oPQowO2k9e3RvcDphLm9mLnBhZ2VZLGxlZnQ6YS5vZi5wYWdlWH19ZWxzZXtnPWIub3V0ZXJXaWR0aCgpO2g9Yi5vdXRlckhlaWdodCgpO2k9Yi5vZmZzZXQoKX1jLmVhY2goWyJteSIsImF0Il0sZnVuY3Rpb24oKXt2YXIgZj0oYVt0aGlzXXx8IiIpLnNwbGl0KCIgIik7aWYoZi5sZW5ndGg9PT0xKWY9bS50ZXN0KGZbMF0pP2YuY29uY2F0KFsiY2VudGVyIl0pOm4udGVzdChmWzBdKT9bImNlbnRlciJdLmNvbmNhdChmKTpbImNlbnRlciIsImNlbnRlciJdO2ZbMF09bS50ZXN0KGZbMF0pP2ZbMF06ImNlbnRlciI7ZlsxXT1uLnRlc3QoZlsxXSk/ZlsxXToiY2VudGVyIjthW3RoaXNdPWZ9KTtpZihkLmxlbmd0aD09PTEpZFsxXT1kWzBdO2VbMF09cGFyc2VJbnQoZVswXSwxMCl8fDA7aWYoZS5sZW5ndGg9PT0xKWVbMV09ZVswXTtlWzFdPXBhcnNlSW50KGVbMV0sMTApfHwwO2lmKGEuYXRbMF09PT0icmlnaHQiKWkubGVmdCs9ZztlbHNlIGlmKGEuYXRbMF09PT0iY2VudGVyIilpLmxlZnQrPQpnLzI7aWYoYS5hdFsxXT09PSJib3R0b20iKWkudG9wKz1oO2Vsc2UgaWYoYS5hdFsxXT09PSJjZW50ZXIiKWkudG9wKz1oLzI7aS5sZWZ0Kz1lWzBdO2kudG9wKz1lWzFdO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZj1jKHRoaXMpLGs9Zi5vdXRlcldpZHRoKCksbD1mLm91dGVySGVpZ2h0KCksaj1jLmV4dGVuZCh7fSxpKTtpZihhLm15WzBdPT09InJpZ2h0IilqLmxlZnQtPWs7ZWxzZSBpZihhLm15WzBdPT09ImNlbnRlciIpai5sZWZ0LT1rLzI7aWYoYS5teVsxXT09PSJib3R0b20iKWoudG9wLT1sO2Vsc2UgaWYoYS5teVsxXT09PSJjZW50ZXIiKWoudG9wLT1sLzI7ai5sZWZ0PXBhcnNlSW50KGoubGVmdCk7ai50b3A9cGFyc2VJbnQoai50b3ApO2MuZWFjaChbImxlZnQiLCJ0b3AiXSxmdW5jdGlvbihvLHIpe2MudWkucG9zaXRpb25bZFtvXV0mJmMudWkucG9zaXRpb25bZFtvXV1bcl0oaix7dGFyZ2V0V2lkdGg6Zyx0YXJnZXRIZWlnaHQ6aCxlbGVtV2lkdGg6aywKZWxlbUhlaWdodDpsLG9mZnNldDplLG15OmEubXksYXQ6YS5hdH0pfSk7Yy5mbi5iZ2lmcmFtZSYmZi5iZ2lmcmFtZSgpO2Yub2Zmc2V0KGMuZXh0ZW5kKGose3VzaW5nOmEudXNpbmd9KSl9KX07Yy51aS5wb3NpdGlvbj17Zml0OntsZWZ0OmZ1bmN0aW9uKGEsYil7dmFyIGQ9Yyh3aW5kb3cpO2I9YS5sZWZ0K2IuZWxlbVdpZHRoLWQud2lkdGgoKS1kLnNjcm9sbExlZnQoKTthLmxlZnQ9Yj4wP2EubGVmdC1iOk1hdGgubWF4KDAsYS5sZWZ0KX0sdG9wOmZ1bmN0aW9uKGEsYil7dmFyIGQ9Yyh3aW5kb3cpO2I9YS50b3ArYi5lbGVtSGVpZ2h0LWQuaGVpZ2h0KCktZC5zY3JvbGxUb3AoKTthLnRvcD1iPjA/YS50b3AtYjpNYXRoLm1heCgwLGEudG9wKX19LGZsaXA6e2xlZnQ6ZnVuY3Rpb24oYSxiKXtpZihiLmF0WzBdIT09ImNlbnRlciIpe3ZhciBkPWMod2luZG93KTtkPWEubGVmdCtiLmVsZW1XaWR0aC1kLndpZHRoKCktZC5zY3JvbGxMZWZ0KCk7dmFyIGU9Yi5teVswXT09PSJsZWZ0Ij8KLWIuZWxlbVdpZHRoOmIubXlbMF09PT0icmlnaHQiP2IuZWxlbVdpZHRoOjAsZz0tMipiLm9mZnNldFswXTthLmxlZnQrPWEubGVmdDwwP2UrYi50YXJnZXRXaWR0aCtnOmQ+MD9lLWIudGFyZ2V0V2lkdGgrZzowfX0sdG9wOmZ1bmN0aW9uKGEsYil7aWYoYi5hdFsxXSE9PSJjZW50ZXIiKXt2YXIgZD1jKHdpbmRvdyk7ZD1hLnRvcCtiLmVsZW1IZWlnaHQtZC5oZWlnaHQoKS1kLnNjcm9sbFRvcCgpO3ZhciBlPWIubXlbMV09PT0idG9wIj8tYi5lbGVtSGVpZ2h0OmIubXlbMV09PT0iYm90dG9tIj9iLmVsZW1IZWlnaHQ6MCxnPWIuYXRbMV09PT0idG9wIj9iLnRhcmdldEhlaWdodDotYi50YXJnZXRIZWlnaHQsaD0tMipiLm9mZnNldFsxXTthLnRvcCs9YS50b3A8MD9lK2IudGFyZ2V0SGVpZ2h0K2g6ZD4wP2UrZytoOjB9fX19O2lmKCFjLm9mZnNldC5zZXRPZmZzZXQpe2Mub2Zmc2V0LnNldE9mZnNldD1mdW5jdGlvbihhLGIpe2lmKC9zdGF0aWMvLnRlc3QoYy5jdXJDU1MoYSwicG9zaXRpb24iKSkpYS5zdHlsZS5wb3NpdGlvbj0KInJlbGF0aXZlIjt2YXIgZD1jKGEpLGU9ZC5vZmZzZXQoKSxnPXBhcnNlSW50KGMuY3VyQ1NTKGEsInRvcCIsdHJ1ZSksMTApfHwwLGg9cGFyc2VJbnQoYy5jdXJDU1MoYSwibGVmdCIsdHJ1ZSksMTApfHwwO2U9e3RvcDpiLnRvcC1lLnRvcCtnLGxlZnQ6Yi5sZWZ0LWUubGVmdCtofTsidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxlKTpkLmNzcyhlKX07Yy5mbi5vZmZzZXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXTtpZighYnx8IWIub3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihhKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhKX0pO3JldHVybiBxLmNhbGwodGhpcyl9fX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgRHJhZ2dhYmxlIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9EcmFnZ2FibGVzCiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS51aS5jb3JlLmpzCiAqCWpxdWVyeS51aS5tb3VzZS5qcwogKglqcXVlcnkudWkud2lkZ2V0LmpzCiAqLwooZnVuY3Rpb24oZCl7ZC53aWRnZXQoInVpLmRyYWdnYWJsZSIsZC51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6ImRyYWciLG9wdGlvbnM6e2FkZENsYXNzZXM6dHJ1ZSxhcHBlbmRUbzoicGFyZW50IixheGlzOmZhbHNlLGNvbm5lY3RUb1NvcnRhYmxlOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZ3JpZDpmYWxzZSxoYW5kbGU6ZmFsc2UsaGVscGVyOiJvcmlnaW5hbCIsaWZyYW1lRml4OmZhbHNlLG9wYWNpdHk6ZmFsc2UscmVmcmVzaFBvc2l0aW9uczpmYWxzZSxyZXZlcnQ6ZmFsc2UscmV2ZXJ0RHVyYXRpb246NTAwLHNjb3BlOiJkZWZhdWx0IixzY3JvbGw6dHJ1ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzbmFwOmZhbHNlLHNuYXBNb2RlOiJib3RoIixzbmFwVG9sZXJhbmNlOjIwLHN0YWNrOmZhbHNlLHpJbmRleDpmYWxzZX0sX2NyZWF0ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5oZWxwZXI9PQoib3JpZ2luYWwiJiYhL14oPzpyfGF8ZikvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSkpdGhpcy5lbGVtZW50WzBdLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7dGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlIik7dGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpO3RoaXMuX21vdXNlSW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7aWYodGhpcy5lbGVtZW50LmRhdGEoImRyYWdnYWJsZSIpKXt0aGlzLmVsZW1lbnQucmVtb3ZlRGF0YSgiZHJhZ2dhYmxlIikudW5iaW5kKCIuZHJhZ2dhYmxlIikucmVtb3ZlQ2xhc3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2FibGVkIik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzLm9wdGlvbnM7aWYodGhpcy5oZWxwZXJ8fGIuZGlzYWJsZWR8fGQoYS50YXJnZXQpLmlzKCIudWktcmVzaXphYmxlLWhhbmRsZSIpKXJldHVybiBmYWxzZTt0aGlzLmhhbmRsZT10aGlzLl9nZXRIYW5kbGUoYSk7aWYoIXRoaXMuaGFuZGxlKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zO3RoaXMuaGVscGVyPXRoaXMuX2NyZWF0ZUhlbHBlcihhKTt0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7aWYoZC51aS5kZG1hbmFnZXIpZC51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzO3RoaXMuX2NhY2hlTWFyZ2lucygpO3RoaXMuY3NzUG9zaXRpb249dGhpcy5oZWxwZXIuY3NzKCJwb3NpdGlvbiIpO3RoaXMuc2Nyb2xsUGFyZW50PXRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpO3RoaXMub2Zmc2V0PXRoaXMucG9zaXRpb25BYnM9dGhpcy5lbGVtZW50Lm9mZnNldCgpO3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLQp0aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhpcy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH07ZC5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0OmEucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6YS5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBhcmVudDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpfSk7dGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihhKTt0aGlzLm9yaWdpbmFsUGFnZVg9YS5wYWdlWDt0aGlzLm9yaWdpbmFsUGFnZVk9YS5wYWdlWTtiLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKGIuY3Vyc29yQXQpO2IuY29udGFpbm1lbnQmJnRoaXMuX3NldENvbnRhaW5tZW50KCk7aWYodGhpcy5fdHJpZ2dlcigic3RhcnQiLGEpPT09ZmFsc2Upe3RoaXMuX2NsZWFyKCk7cmV0dXJuIGZhbHNlfXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsKZC51aS5kZG1hbmFnZXImJiFiLmRyb3BCZWhhdmlvdXImJmQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsYSk7dGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpO3RoaXMuX21vdXNlRHJhZyhhLHRydWUpO3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGEsYil7dGhpcy5wb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGEpO3RoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIWIpe2I9dGhpcy5fdWlIYXNoKCk7aWYodGhpcy5fdHJpZ2dlcigiZHJhZyIsYSxiKT09PWZhbHNlKXt0aGlzLl9tb3VzZVVwKHt9KTtyZXR1cm4gZmFsc2V9dGhpcy5wb3NpdGlvbj1iLnBvc2l0aW9ufWlmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ5Iil0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRpb24ubGVmdCsicHgiO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8CnRoaXMub3B0aW9ucy5heGlzIT0ieCIpdGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCI7ZC51aS5kZG1hbmFnZXImJmQudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyxhKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYSl7dmFyIGI9ZmFsc2U7aWYoZC51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciliPWQudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxhKTtpZih0aGlzLmRyb3BwZWQpe2I9dGhpcy5kcm9wcGVkO3RoaXMuZHJvcHBlZD1mYWxzZX1pZighdGhpcy5lbGVtZW50WzBdfHwhdGhpcy5lbGVtZW50WzBdLnBhcmVudE5vZGUpcmV0dXJuIGZhbHNlO2lmKHRoaXMub3B0aW9ucy5yZXZlcnQ9PSJpbnZhbGlkIiYmIWJ8fHRoaXMub3B0aW9ucy5yZXZlcnQ9PSJ2YWxpZCImJmJ8fHRoaXMub3B0aW9ucy5yZXZlcnQ9PT10cnVlfHxkLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLnJldmVydCkmJnRoaXMub3B0aW9ucy5yZXZlcnQuY2FsbCh0aGlzLmVsZW1lbnQsCmIpKXt2YXIgYz10aGlzO2QodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5vcmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwxMCksZnVuY3Rpb24oKXtjLl90cmlnZ2VyKCJzdG9wIixhKSE9PWZhbHNlJiZjLl9jbGVhcigpfSl9ZWxzZSB0aGlzLl90cmlnZ2VyKCJzdG9wIixhKSE9PWZhbHNlJiZ0aGlzLl9jbGVhcigpO3JldHVybiBmYWxzZX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXIuaXMoIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciKT90aGlzLl9tb3VzZVVwKHt9KTp0aGlzLl9jbGVhcigpO3JldHVybiB0aGlzfSxfZ2V0SGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPSF0aGlzLm9wdGlvbnMuaGFuZGxlfHwhZCh0aGlzLm9wdGlvbnMuaGFuZGxlLHRoaXMuZWxlbWVudCkubGVuZ3RoP3RydWU6ZmFsc2U7ZCh0aGlzLm9wdGlvbnMuaGFuZGxlLHRoaXMuZWxlbWVudCkuZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09CmEudGFyZ2V0KWI9dHJ1ZX0pO3JldHVybiBifSxfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub3B0aW9uczthPWQuaXNGdW5jdGlvbihiLmhlbHBlcik/ZChiLmhlbHBlci5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW2FdKSk6Yi5oZWxwZXI9PSJjbG9uZSI/dGhpcy5lbGVtZW50LmNsb25lKCk6dGhpcy5lbGVtZW50O2EucGFyZW50cygiYm9keSIpLmxlbmd0aHx8YS5hcHBlbmRUbyhiLmFwcGVuZFRvPT0icGFyZW50Ij90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTpiLmFwcGVuZFRvKTthWzBdIT10aGlzLmVsZW1lbnRbMF0mJiEvKGZpeGVkfGFic29sdXRlKS8udGVzdChhLmNzcygicG9zaXRpb24iKSkmJmEuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7cmV0dXJuIGF9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIilhPWEuc3BsaXQoIiAiKTtpZihkLmlzQXJyYXkoYSkpYT17bGVmdDorYVswXSx0b3A6K2FbMV18fAowfTtpZigibGVmdCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9YS5sZWZ0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJyaWdodCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC1hLnJpZ2h0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJ0b3AiaW4gYSl0aGlzLm9mZnNldC5jbGljay50b3A9YS50b3ArdGhpcy5tYXJnaW5zLnRvcDtpZigiYm90dG9tImluIGEpdGhpcy5vZmZzZXQuY2xpY2sudG9wPXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LWEuYm90dG9tK3RoaXMubWFyZ2lucy50b3B9LF9nZXRQYXJlbnRPZmZzZXQ6ZnVuY3Rpb24oKXt0aGlzLm9mZnNldFBhcmVudD10aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKTt2YXIgYT10aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtpZih0aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sCnRoaXMub2Zmc2V0UGFyZW50WzBdKSl7YS5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7YS50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpfWlmKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5fHx0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lJiZ0aGlzLm9mZnNldFBhcmVudFswXS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PSJodG1sIiYmZC5icm93c2VyLm1zaWUpYT17dG9wOjAsbGVmdDowfTtyZXR1cm57dG9wOmEudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmEubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5jc3NQb3NpdGlvbj09InJlbGF0aXZlIil7dmFyIGE9dGhpcy5lbGVtZW50LnBvc2l0aW9uKCk7cmV0dXJue3RvcDphLnRvcC0KKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OmEubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3RvcDowLGxlZnQ6MH19LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luVG9wIiksMTApfHwwfX0sX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlclByb3BvcnRpb25zPXt3aWR0aDp0aGlzLmhlbHBlci5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuaGVscGVyLm91dGVySGVpZ2h0KCl9fSxfc2V0Q29udGFpbm1lbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7aWYoYS5jb250YWlubWVudD09CiJwYXJlbnQiKWEuY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZTtpZihhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQifHxhLmNvbnRhaW5tZW50PT0id2luZG93Iil0aGlzLmNvbnRhaW5tZW50PVswLXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsMC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCxkKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/ZG9jdW1lbnQ6d2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsKGQoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8d2luZG93fHBhcmVudCkkLy50ZXN0KGEuY29udGFpbm1lbnQpJiYKYS5jb250YWlubWVudC5jb25zdHJ1Y3RvciE9QXJyYXkpe3ZhciBiPWQoYS5jb250YWlubWVudClbMF07aWYoYil7YT1kKGEuY29udGFpbm1lbnQpLm9mZnNldCgpO3ZhciBjPWQoYikuY3NzKCJvdmVyZmxvdyIpIT0iaGlkZGVuIjt0aGlzLmNvbnRhaW5tZW50PVthLmxlZnQrKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChkKGIpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDApLXRoaXMubWFyZ2lucy5sZWZ0LGEudG9wKyhwYXJzZUludChkKGIpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChkKGIpLmNzcygicGFkZGluZ1RvcCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLnRvcCxhLmxlZnQrKGM/TWF0aC5tYXgoYi5zY3JvbGxXaWR0aCxiLm9mZnNldFdpZHRoKTpiLm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoZChiKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nUmlnaHQiKSwKMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLXRoaXMubWFyZ2lucy5sZWZ0LGEudG9wKyhjP01hdGgubWF4KGIuc2Nyb2xsSGVpZ2h0LGIub2Zmc2V0SGVpZ2h0KTpiLm9mZnNldEhlaWdodCktKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGQoYikuY3NzKCJwYWRkaW5nQm90dG9tIiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXX19ZWxzZSBpZihhLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yPT1BcnJheSl0aGlzLmNvbnRhaW5tZW50PWEuY29udGFpbm1lbnR9LF9jb252ZXJ0UG9zaXRpb25UbzpmdW5jdGlvbihhLGIpe2lmKCFiKWI9dGhpcy5wb3NpdGlvbjthPWE9PSJhYnNvbHV0ZSI/MTotMTt2YXIgYz10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmZC51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSwKdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxmPS8oaHRtbHxib2R5KS9pLnRlc3QoY1swXS50YWdOYW1lKTtyZXR1cm57dG9wOmIudG9wK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCphK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqYS0oZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmY/MDpjLnNjcm9sbFRvcCgpKSphKSxsZWZ0OmIubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmErdGhpcy5vZmZzZXQucGFyZW50LmxlZnQqYS0oZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKToKZj8wOmMuc2Nyb2xsTGVmdCgpKSphKX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub3B0aW9ucyxjPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZkLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsZj0vKGh0bWx8Ym9keSkvaS50ZXN0KGNbMF0udGFnTmFtZSksZT1hLnBhZ2VYLGc9YS5wYWdlWTtpZih0aGlzLm9yaWdpbmFsUG9zaXRpb24pe2lmKHRoaXMuY29udGFpbm1lbnQpe2lmKGEucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdKWU9dGhpcy5jb250YWlubWVudFswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0O2lmKGEucGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV0pZz10aGlzLmNvbnRhaW5tZW50WzFdKwp0aGlzLm9mZnNldC5jbGljay50b3A7aWYoYS5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pZT10aGlzLmNvbnRhaW5tZW50WzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSlnPXRoaXMuY29udGFpbm1lbnRbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wfWlmKGIuZ3JpZCl7Zz10aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgoZy10aGlzLm9yaWdpbmFsUGFnZVkpL2IuZ3JpZFsxXSkqYi5ncmlkWzFdO2c9dGhpcy5jb250YWlubWVudD8hKGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV18fGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10pP2c6IShnLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKT9nLWIuZ3JpZFsxXTpnK2IuZ3JpZFsxXTpnO2U9dGhpcy5vcmlnaW5hbFBhZ2VYKwpNYXRoLnJvdW5kKChlLXRoaXMub3JpZ2luYWxQYWdlWCkvYi5ncmlkWzBdKSpiLmdyaWRbMF07ZT10aGlzLmNvbnRhaW5tZW50PyEoZS10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF18fGUtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5tZW50WzJdKT9lOiEoZS10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pP2UtYi5ncmlkWzBdOmUrYi5ncmlkWzBdOmV9fXJldHVybnt0b3A6Zy10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGQuYnJvd3Nlci5zYWZhcmkmJmQuYnJvd3Nlci52ZXJzaW9uPDUyNiYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmY/MDpjLnNjcm9sbFRvcCgpKSxsZWZ0OmUtdGhpcy5vZmZzZXQuY2xpY2subGVmdC0KdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoZC5icm93c2VyLnNhZmFyaSYmZC5icm93c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmY/MDpjLnNjcm9sbExlZnQoKSl9fSxfY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlci5yZW1vdmVDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhpcy5oZWxwZXJbMF0hPXRoaXMuZWxlbWVudFswXSYmIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbCYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7dGhpcy5oZWxwZXI9bnVsbDt0aGlzLmNhbmNlbEhlbHBlclJlbW92YWw9ZmFsc2V9LF90cmlnZ2VyOmZ1bmN0aW9uKGEsYixjKXtjPWN8fHRoaXMuX3VpSGFzaCgpO2QudWkucGx1Z2luLmNhbGwodGhpcyxhLFtiLGNdKTtpZihhPT0iZHJhZyIpdGhpcy5wb3NpdGlvbkFicz0KdGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7cmV0dXJuIGQuV2lkZ2V0LnByb3RvdHlwZS5fdHJpZ2dlci5jYWxsKHRoaXMsYSxiLGMpfSxwbHVnaW5zOnt9LF91aUhhc2g6ZnVuY3Rpb24oKXtyZXR1cm57aGVscGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sb3JpZ2luYWxQb3NpdGlvbjp0aGlzLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OnRoaXMucG9zaXRpb25BYnN9fX0pO2QuZXh0ZW5kKGQudWkuZHJhZ2dhYmxlLHt2ZXJzaW9uOiIxLjguNCJ9KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImNvbm5lY3RUb1NvcnRhYmxlIix7c3RhcnQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGY9Yy5vcHRpb25zLGU9ZC5leHRlbmQoe30sYix7aXRlbTpjLmVsZW1lbnR9KTtjLnNvcnRhYmxlcz1bXTtkKGYuY29ubmVjdFRvU29ydGFibGUpLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1kLmRhdGEodGhpcywic29ydGFibGUiKTsKaWYoZyYmIWcub3B0aW9ucy5kaXNhYmxlZCl7Yy5zb3J0YWJsZXMucHVzaCh7aW5zdGFuY2U6ZyxzaG91bGRSZXZlcnQ6Zy5vcHRpb25zLnJldmVydH0pO2cuX3JlZnJlc2hJdGVtcygpO2cuX3RyaWdnZXIoImFjdGl2YXRlIixhLGUpfX0pfSxzdG9wOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxmPWQuZXh0ZW5kKHt9LGIse2l0ZW06Yy5lbGVtZW50fSk7ZC5lYWNoKGMuc29ydGFibGVzLGZ1bmN0aW9uKCl7aWYodGhpcy5pbnN0YW5jZS5pc092ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTA7Yy5jYW5jZWxIZWxwZXJSZW1vdmFsPXRydWU7dGhpcy5pbnN0YW5jZS5jYW5jZWxIZWxwZXJSZW1vdmFsPWZhbHNlO2lmKHRoaXMuc2hvdWxkUmV2ZXJ0KXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5yZXZlcnQ9dHJ1ZTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0b3AoYSk7dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj10aGlzLmluc3RhbmNlLm9wdGlvbnMuX2hlbHBlcjsKYy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIiYmdGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5jc3Moe3RvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1lbHNle3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD1mYWxzZTt0aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJkZWFjdGl2YXRlIixhLGYpfX0pfSxkcmFnOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxmPXRoaXM7ZC5lYWNoKGMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dGhpcy5pbnN0YW5jZS5wb3NpdGlvbkFicz1jLnBvc2l0aW9uQWJzO3RoaXMuaW5zdGFuY2UuaGVscGVyUHJvcG9ydGlvbnM9Yy5oZWxwZXJQcm9wb3J0aW9uczt0aGlzLmluc3RhbmNlLm9mZnNldC5jbGljaz1jLm9mZnNldC5jbGljaztpZih0aGlzLmluc3RhbmNlLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmluc3RhbmNlLmNvbnRhaW5lckNhY2hlKSl7aWYoIXRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlzLmluc3RhbmNlLmlzT3Zlcj0KMTt0aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtPWQoZikuY2xvbmUoKS5hcHBlbmRUbyh0aGlzLmluc3RhbmNlLmVsZW1lbnQpLmRhdGEoInNvcnRhYmxlLWl0ZW0iLHRydWUpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI7dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj1mdW5jdGlvbigpe3JldHVybiBiLmhlbHBlclswXX07YS50YXJnZXQ9dGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbVswXTt0aGlzLmluc3RhbmNlLl9tb3VzZUNhcHR1cmUoYSx0cnVlKTt0aGlzLmluc3RhbmNlLl9tb3VzZVN0YXJ0KGEsdHJ1ZSx0cnVlKTt0aGlzLmluc3RhbmNlLm9mZnNldC5jbGljay50b3A9Yy5vZmZzZXQuY2xpY2sudG9wO3RoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNrLmxlZnQ9Yy5vZmZzZXQuY2xpY2subGVmdDt0aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdC09Yy5vZmZzZXQucGFyZW50LmxlZnQtdGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LmxlZnQ7CnRoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC50b3AtPWMub2Zmc2V0LnBhcmVudC50b3AtdGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LnRvcDtjLl90cmlnZ2VyKCJ0b1NvcnRhYmxlIixhKTtjLmRyb3BwZWQ9dGhpcy5pbnN0YW5jZS5lbGVtZW50O2MuY3VycmVudEl0ZW09Yy5lbGVtZW50O3RoaXMuaW5zdGFuY2UuZnJvbU91dHNpZGU9Y310aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtJiZ0aGlzLmluc3RhbmNlLl9tb3VzZURyYWcoYSl9ZWxzZSBpZih0aGlzLmluc3RhbmNlLmlzT3Zlcil7dGhpcy5pbnN0YW5jZS5pc092ZXI9MDt0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9dHJ1ZTt0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PWZhbHNlO3RoaXMuaW5zdGFuY2UuX3RyaWdnZXIoIm91dCIsYSx0aGlzLmluc3RhbmNlLl91aUhhc2godGhpcy5pbnN0YW5jZSkpO3RoaXMuaW5zdGFuY2UuX21vdXNlU3RvcChhLHRydWUpO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5oZWxwZXI9CnRoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyO3RoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0ucmVtb3ZlKCk7dGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRlciYmdGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRlci5yZW1vdmUoKTtjLl90cmlnZ2VyKCJmcm9tU29ydGFibGUiLGEpO2MuZHJvcHBlZD1mYWxzZX19KX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImN1cnNvciIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCgiYm9keSIpLGI9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lmKGEuY3NzKCJjdXJzb3IiKSliLl9jdXJzb3I9YS5jc3MoImN1cnNvciIpO2EuY3NzKCJjdXJzb3IiLGIuY3Vyc29yKX0sc3RvcDpmdW5jdGlvbigpe3ZhciBhPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9uczthLl9jdXJzb3ImJmQoImJvZHkiKS5jc3MoImN1cnNvciIsYS5fY3Vyc29yKX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImlmcmFtZUZpeCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9CmQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIikub3B0aW9ucztkKGEuaWZyYW1lRml4PT09dHJ1ZT8iaWZyYW1lIjphLmlmcmFtZUZpeCkuZWFjaChmdW5jdGlvbigpe2QoJzxkaXYgY2xhc3M9InVpLWRyYWdnYWJsZS1pZnJhbWVGaXgiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjZmZmOyI+PC9kaXY+JykuY3NzKHt3aWR0aDp0aGlzLm9mZnNldFdpZHRoKyJweCIsaGVpZ2h0OnRoaXMub2Zmc2V0SGVpZ2h0KyJweCIscG9zaXRpb246ImFic29sdXRlIixvcGFjaXR5OiIwLjAwMSIsekluZGV4OjFFM30pLmNzcyhkKHRoaXMpLm9mZnNldCgpKS5hcHBlbmRUbygiYm9keSIpfSl9LHN0b3A6ZnVuY3Rpb24oKXtkKCJkaXYudWktZHJhZ2dhYmxlLWlmcmFtZUZpeCIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcyl9KX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsIm9wYWNpdHkiLHtzdGFydDpmdW5jdGlvbihhLGIpe2E9ZChiLmhlbHBlcik7Yj1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7CmlmKGEuY3NzKCJvcGFjaXR5IikpYi5fb3BhY2l0eT1hLmNzcygib3BhY2l0eSIpO2EuY3NzKCJvcGFjaXR5IixiLm9wYWNpdHkpfSxzdG9wOmZ1bmN0aW9uKGEsYil7YT1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7YS5fb3BhY2l0eSYmZChiLmhlbHBlcikuY3NzKCJvcGFjaXR5IixhLl9vcGFjaXR5KX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInNjcm9sbCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKTtpZihhLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIilhLm92ZXJmbG93T2Zmc2V0PWEuc2Nyb2xsUGFyZW50Lm9mZnNldCgpfSxkcmFnOmZ1bmN0aW9uKGEpe3ZhciBiPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksYz1iLm9wdGlvbnMsZj1mYWxzZTtpZihiLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmIuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPQoiSFRNTCIpe2lmKCFjLmF4aXN8fGMuYXhpcyE9IngiKWlmKGIub3ZlcmZsb3dPZmZzZXQudG9wK2Iuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC1hLnBhZ2VZPGMuc2Nyb2xsU2Vuc2l0aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2Muc2Nyb2xsU3BlZWQ7ZWxzZSBpZihhLnBhZ2VZLWIub3ZlcmZsb3dPZmZzZXQudG9wPGMuc2Nyb2xsU2Vuc2l0aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wLWMuc2Nyb2xsU3BlZWQ7aWYoIWMuYXhpc3x8Yy5heGlzIT0ieSIpaWYoYi5vdmVyZmxvd09mZnNldC5sZWZ0K2Iuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWEucGFnZVg8Yy5zY3JvbGxTZW5zaXRpdml0eSliLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWY9Yi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdCtjLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYS5wYWdlWC0KYi5vdmVyZmxvd09mZnNldC5sZWZ0PGMuc2Nyb2xsU2Vuc2l0aXZpdHkpYi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1mPWIuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQtYy5zY3JvbGxTcGVlZH1lbHNle2lmKCFjLmF4aXN8fGMuYXhpcyE9IngiKWlmKGEucGFnZVktZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk8Yy5zY3JvbGxTZW5zaXRpdml0eSlmPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRvY3VtZW50KS5zY3JvbGxUb3AoKS1jLnNjcm9sbFNwZWVkKTtlbHNlIGlmKGQod2luZG93KS5oZWlnaHQoKS0oYS5wYWdlWS1kKGRvY3VtZW50KS5zY3JvbGxUb3AoKSk8Yy5zY3JvbGxTZW5zaXRpdml0eSlmPWQoZG9jdW1lbnQpLnNjcm9sbFRvcChkKGRvY3VtZW50KS5zY3JvbGxUb3AoKStjLnNjcm9sbFNwZWVkKTtpZighYy5heGlzfHxjLmF4aXMhPSJ5IilpZihhLnBhZ2VYLWQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTxjLnNjcm9sbFNlbnNpdGl2aXR5KWY9ZChkb2N1bWVudCkuc2Nyb2xsTGVmdChkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCktCmMuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoZCh3aW5kb3cpLndpZHRoKCktKGEucGFnZVgtZChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpKTxjLnNjcm9sbFNlbnNpdGl2aXR5KWY9ZChkb2N1bWVudCkuc2Nyb2xsTGVmdChkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkrYy5zY3JvbGxTcGVlZCl9ZiE9PWZhbHNlJiZkLnVpLmRkbWFuYWdlciYmIWMuZHJvcEJlaGF2aW91ciYmZC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoYixhKX19KTtkLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInNuYXAiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBhPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksYj1hLm9wdGlvbnM7YS5zbmFwRWxlbWVudHM9W107ZChiLnNuYXAuY29uc3RydWN0b3IhPVN0cmluZz9iLnNuYXAuaXRlbXN8fCI6ZGF0YShkcmFnZ2FibGUpIjpiLnNuYXApLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1kKHRoaXMpLGY9Yy5vZmZzZXQoKTt0aGlzIT1hLmVsZW1lbnRbMF0mJmEuc25hcEVsZW1lbnRzLnB1c2goe2l0ZW06dGhpcywKd2lkdGg6Yy5vdXRlcldpZHRoKCksaGVpZ2h0OmMub3V0ZXJIZWlnaHQoKSx0b3A6Zi50b3AsbGVmdDpmLmxlZnR9KX0pfSxkcmFnOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWQodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksZj1jLm9wdGlvbnMsZT1mLnNuYXBUb2xlcmFuY2UsZz1iLm9mZnNldC5sZWZ0LG49ZytjLmhlbHBlclByb3BvcnRpb25zLndpZHRoLG09Yi5vZmZzZXQudG9wLG89bStjLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxoPWMuc25hcEVsZW1lbnRzLmxlbmd0aC0xO2g+PTA7aC0tKXt2YXIgaT1jLnNuYXBFbGVtZW50c1toXS5sZWZ0LGs9aStjLnNuYXBFbGVtZW50c1toXS53aWR0aCxqPWMuc25hcEVsZW1lbnRzW2hdLnRvcCxsPWorYy5zbmFwRWxlbWVudHNbaF0uaGVpZ2h0O2lmKGktZTxnJiZnPGsrZSYmai1lPG0mJm08bCtlfHxpLWU8ZyYmZzxrK2UmJmotZTxvJiZvPGwrZXx8aS1lPG4mJm48aytlJiZqLWU8bSYmbTxsK2V8fGktZTxuJiZuPGsrZSYmai1lPG8mJgpvPGwrZSl7aWYoZi5zbmFwTW9kZSE9ImlubmVyIil7dmFyIHA9TWF0aC5hYnMoai1vKTw9ZSxxPU1hdGguYWJzKGwtbSk8PWUscj1NYXRoLmFicyhpLW4pPD1lLHM9TWF0aC5hYnMoay1nKTw9ZTtpZihwKWIucG9zaXRpb24udG9wPWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDpqLWMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcC1jLm1hcmdpbnMudG9wO2lmKHEpYi5wb3NpdGlvbi50b3A9Yy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmwsbGVmdDowfSkudG9wLWMubWFyZ2lucy50b3A7aWYociliLnBvc2l0aW9uLmxlZnQ9Yy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDppLWMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5sZWZ0LWMubWFyZ2lucy5sZWZ0O2lmKHMpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6a30pLmxlZnQtYy5tYXJnaW5zLmxlZnR9dmFyIHQ9CnB8fHF8fHJ8fHM7aWYoZi5zbmFwTW9kZSE9Im91dGVyIil7cD1NYXRoLmFicyhqLW0pPD1lO3E9TWF0aC5hYnMobC1vKTw9ZTtyPU1hdGguYWJzKGktZyk8PWU7cz1NYXRoLmFicyhrLW4pPD1lO2lmKHApYi5wb3NpdGlvbi50b3A9Yy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmosbGVmdDowfSkudG9wLWMubWFyZ2lucy50b3A7aWYocSliLnBvc2l0aW9uLnRvcD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6bC1jLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9KS50b3AtYy5tYXJnaW5zLnRvcDtpZihyKWIucG9zaXRpb24ubGVmdD1jLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Oml9KS5sZWZ0LWMubWFyZ2lucy5sZWZ0O2lmKHMpYi5wb3NpdGlvbi5sZWZ0PWMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6ay1jLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1jLm1hcmdpbnMubGVmdH1pZighYy5zbmFwRWxlbWVudHNbaF0uc25hcHBpbmcmJgoocHx8cXx8cnx8c3x8dCkpYy5vcHRpb25zLnNuYXAuc25hcCYmYy5vcHRpb25zLnNuYXAuc25hcC5jYWxsKGMuZWxlbWVudCxhLGQuZXh0ZW5kKGMuX3VpSGFzaCgpLHtzbmFwSXRlbTpjLnNuYXBFbGVtZW50c1toXS5pdGVtfSkpO2Muc25hcEVsZW1lbnRzW2hdLnNuYXBwaW5nPXB8fHF8fHJ8fHN8fHR9ZWxzZXtjLnNuYXBFbGVtZW50c1toXS5zbmFwcGluZyYmYy5vcHRpb25zLnNuYXAucmVsZWFzZSYmYy5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKGMuZWxlbWVudCxhLGQuZXh0ZW5kKGMuX3VpSGFzaCgpLHtzbmFwSXRlbTpjLnNuYXBFbGVtZW50c1toXS5pdGVtfSkpO2Muc25hcEVsZW1lbnRzW2hdLnNuYXBwaW5nPWZhbHNlfX19fSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJzdGFjayIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGE9ZCh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2E9ZC5tYWtlQXJyYXkoZChhLnN0YWNrKSkuc29ydChmdW5jdGlvbihjLGYpe3JldHVybihwYXJzZUludChkKGMpLmNzcygiekluZGV4IiksCjEwKXx8MCktKHBhcnNlSW50KGQoZikuY3NzKCJ6SW5kZXgiKSwxMCl8fDApfSk7aWYoYS5sZW5ndGgpe3ZhciBiPXBhcnNlSW50KGFbMF0uc3R5bGUuekluZGV4KXx8MDtkKGEpLmVhY2goZnVuY3Rpb24oYyl7dGhpcy5zdHlsZS56SW5kZXg9YitjfSk7dGhpc1swXS5zdHlsZS56SW5kZXg9YithLmxlbmd0aH19fSk7ZC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJ6SW5kZXgiLHtzdGFydDpmdW5jdGlvbihhLGIpe2E9ZChiLmhlbHBlcik7Yj1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7aWYoYS5jc3MoInpJbmRleCIpKWIuX3pJbmRleD1hLmNzcygiekluZGV4Iik7YS5jc3MoInpJbmRleCIsYi56SW5kZXgpfSxzdG9wOmZ1bmN0aW9uKGEsYil7YT1kKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7YS5fekluZGV4JiZkKGIuaGVscGVyKS5jc3MoInpJbmRleCIsYS5fekluZGV4KX19KX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgRHJvcHBhYmxlIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Ecm9wcGFibGVzCiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS51aS5jb3JlLmpzCiAqCWpxdWVyeS51aS53aWRnZXQuanMKICoJanF1ZXJ5LnVpLm1vdXNlLmpzCiAqCWpxdWVyeS51aS5kcmFnZ2FibGUuanMKICovCihmdW5jdGlvbihkKXtkLndpZGdldCgidWkuZHJvcHBhYmxlIix7d2lkZ2V0RXZlbnRQcmVmaXg6ImRyb3AiLG9wdGlvbnM6e2FjY2VwdDoiKiIsYWN0aXZlQ2xhc3M6ZmFsc2UsYWRkQ2xhc3Nlczp0cnVlLGdyZWVkeTpmYWxzZSxob3ZlckNsYXNzOmZhbHNlLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj1hLmFjY2VwdDt0aGlzLmlzb3Zlcj0wO3RoaXMuaXNvdXQ9MTt0aGlzLmFjY2VwdD1kLmlzRnVuY3Rpb24oYik/YjpmdW5jdGlvbihjKXtyZXR1cm4gYy5pcyhiKX07dGhpcy5wcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDp0aGlzLmVsZW1lbnRbMF0ub2Zmc2V0SGVpZ2h0fTtkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Euc2NvcGVdPWQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5zY29wZV18fFtdO2QudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5zY29wZV0ucHVzaCh0aGlzKTsKYS5hZGRDbGFzc2VzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyb3BwYWJsZSIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7Zm9yKHZhciBhPWQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdGhpcy5vcHRpb25zLnNjb3BlXSxiPTA7YjxhLmxlbmd0aDtiKyspYVtiXT09dGhpcyYmYS5zcGxpY2UoYiwxKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJsZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJkcm9wcGFibGUiKS51bmJpbmQoIi5kcm9wcGFibGUiKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbihhLGIpe2lmKGE9PSJhY2NlcHQiKXRoaXMuYWNjZXB0PWQuaXNGdW5jdGlvbihiKT9iOmZ1bmN0aW9uKGMpe3JldHVybiBjLmlzKGIpfTtkLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9hY3RpdmF0ZTpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmRkbWFuYWdlci5jdXJyZW50O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmCnRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpO2ImJnRoaXMuX3RyaWdnZXIoImFjdGl2YXRlIixhLHRoaXMudWkoYikpfSxfZGVhY3RpdmF0ZTpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmRkbWFuYWdlci5jdXJyZW50O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7YiYmdGhpcy5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsYSx0aGlzLnVpKGIpKX0sX292ZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51aS5kZG1hbmFnZXIuY3VycmVudDtpZighKCFifHwoYi5jdXJyZW50SXRlbXx8Yi5lbGVtZW50KVswXT09dGhpcy5lbGVtZW50WzBdKSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxiLmN1cnJlbnRJdGVtfHxiLmVsZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTsKdGhpcy5fdHJpZ2dlcigib3ZlciIsYSx0aGlzLnVpKGIpKX19LF9vdXQ6ZnVuY3Rpb24oYSl7dmFyIGI9ZC51aS5kZG1hbmFnZXIuY3VycmVudDtpZighKCFifHwoYi5jdXJyZW50SXRlbXx8Yi5lbGVtZW50KVswXT09dGhpcy5lbGVtZW50WzBdKSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxiLmN1cnJlbnRJdGVtfHxiLmVsZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTt0aGlzLl90cmlnZ2VyKCJvdXQiLGEsdGhpcy51aShiKSl9fSxfZHJvcDpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fGQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7aWYoIWN8fChjLmN1cnJlbnRJdGVtfHxjLmVsZW1lbnQpWzBdPT10aGlzLmVsZW1lbnRbMF0pcmV0dXJuIGZhbHNlO3ZhciBlPWZhbHNlO3RoaXMuZWxlbWVudC5maW5kKCI6ZGF0YShkcm9wcGFibGUpIikubm90KCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIikuZWFjaChmdW5jdGlvbigpe3ZhciBnPQpkLmRhdGEodGhpcywiZHJvcHBhYmxlIik7aWYoZy5vcHRpb25zLmdyZWVkeSYmIWcub3B0aW9ucy5kaXNhYmxlZCYmZy5vcHRpb25zLnNjb3BlPT1jLm9wdGlvbnMuc2NvcGUmJmcuYWNjZXB0LmNhbGwoZy5lbGVtZW50WzBdLGMuY3VycmVudEl0ZW18fGMuZWxlbWVudCkmJmQudWkuaW50ZXJzZWN0KGMsZC5leHRlbmQoZyx7b2Zmc2V0OmcuZWxlbWVudC5vZmZzZXQoKX0pLGcub3B0aW9ucy50b2xlcmFuY2UpKXtlPXRydWU7cmV0dXJuIGZhbHNlfX0pO2lmKGUpcmV0dXJuIGZhbHNlO2lmKHRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGMuY3VycmVudEl0ZW18fGMuZWxlbWVudCkpe3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyk7dGhpcy5fdHJpZ2dlcigiZHJvcCIsCmEsdGhpcy51aShjKSk7cmV0dXJuIHRoaXMuZWxlbWVudH1yZXR1cm4gZmFsc2V9LHVpOmZ1bmN0aW9uKGEpe3JldHVybntkcmFnZ2FibGU6YS5jdXJyZW50SXRlbXx8YS5lbGVtZW50LGhlbHBlcjphLmhlbHBlcixwb3NpdGlvbjphLnBvc2l0aW9uLG9mZnNldDphLnBvc2l0aW9uQWJzfX19KTtkLmV4dGVuZChkLnVpLmRyb3BwYWJsZSx7dmVyc2lvbjoiMS44LjQifSk7ZC51aS5pbnRlcnNlY3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiLm9mZnNldClyZXR1cm4gZmFsc2U7dmFyIGU9KGEucG9zaXRpb25BYnN8fGEucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQsZz1lK2EuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsZj0oYS5wb3NpdGlvbkFic3x8YS5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wLGg9ZithLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxpPWIub2Zmc2V0LmxlZnQsaz1pK2IucHJvcG9ydGlvbnMud2lkdGgsaj1iLm9mZnNldC50b3AsbD1qK2IucHJvcG9ydGlvbnMuaGVpZ2h0Owpzd2l0Y2goYyl7Y2FzZSAiZml0IjpyZXR1cm4gaTw9ZSYmZzw9ayYmajw9ZiYmaDw9bDtjYXNlICJpbnRlcnNlY3QiOnJldHVybiBpPGUrYS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZnLWEuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMjxrJiZqPGYrYS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmaC1hLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yPGw7Y2FzZSAicG9pbnRlciI6cmV0dXJuIGQudWkuaXNPdmVyKChhLnBvc2l0aW9uQWJzfHxhLnBvc2l0aW9uLmFic29sdXRlKS50b3ArKGEuY2xpY2tPZmZzZXR8fGEub2Zmc2V0LmNsaWNrKS50b3AsKGEucG9zaXRpb25BYnN8fGEucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrKGEuY2xpY2tPZmZzZXR8fGEub2Zmc2V0LmNsaWNrKS5sZWZ0LGosaSxiLnByb3BvcnRpb25zLmhlaWdodCxiLnByb3BvcnRpb25zLndpZHRoKTtjYXNlICJ0b3VjaCI6cmV0dXJuKGY+PWomJmY8PWx8fGg+PWomJmg8PWx8fGY8aiYmaD5sKSYmKGU+PQppJiZlPD1rfHxnPj1pJiZnPD1rfHxlPGkmJmc+ayk7ZGVmYXVsdDpyZXR1cm4gZmFsc2V9fTtkLnVpLmRkbWFuYWdlcj17Y3VycmVudDpudWxsLGRyb3BwYWJsZXM6eyJkZWZhdWx0IjpbXX0scHJlcGFyZU9mZnNldHM6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Eub3B0aW9ucy5zY29wZV18fFtdLGU9Yj9iLnR5cGU6bnVsbCxnPShhLmN1cnJlbnRJdGVtfHxhLmVsZW1lbnQpLmZpbmQoIjpkYXRhKGRyb3BwYWJsZSkiKS5hbmRTZWxmKCksZj0wO2E6Zm9yKDtmPGMubGVuZ3RoO2YrKylpZighKGNbZl0ub3B0aW9ucy5kaXNhYmxlZHx8YSYmIWNbZl0uYWNjZXB0LmNhbGwoY1tmXS5lbGVtZW50WzBdLGEuY3VycmVudEl0ZW18fGEuZWxlbWVudCkpKXtmb3IodmFyIGg9MDtoPGcubGVuZ3RoO2grKylpZihnW2hdPT1jW2ZdLmVsZW1lbnRbMF0pe2NbZl0ucHJvcG9ydGlvbnMuaGVpZ2h0PTA7Y29udGludWUgYX1jW2ZdLnZpc2libGU9Y1tmXS5lbGVtZW50LmNzcygiZGlzcGxheSIpIT0KIm5vbmUiO2lmKGNbZl0udmlzaWJsZSl7Y1tmXS5vZmZzZXQ9Y1tmXS5lbGVtZW50Lm9mZnNldCgpO2NbZl0ucHJvcG9ydGlvbnM9e3dpZHRoOmNbZl0uZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6Y1tmXS5lbGVtZW50WzBdLm9mZnNldEhlaWdodH07ZT09Im1vdXNlZG93biImJmNbZl0uX2FjdGl2YXRlLmNhbGwoY1tmXSxiKX19fSxkcm9wOmZ1bmN0aW9uKGEsYil7dmFyIGM9ZmFsc2U7ZC5lYWNoKGQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmZC51aS5pbnRlcnNlY3QoYSx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UpKWM9Y3x8dGhpcy5fZHJvcC5jYWxsKHRoaXMsYik7aWYoIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy52aXNpYmxlJiZ0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxhLmN1cnJlbnRJdGVtfHwKYS5lbGVtZW50KSl7dGhpcy5pc291dD0xO3RoaXMuaXNvdmVyPTA7dGhpcy5fZGVhY3RpdmF0ZS5jYWxsKHRoaXMsYil9fX0pO3JldHVybiBjfSxkcmFnOmZ1bmN0aW9uKGEsYil7YS5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJmQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGEsYik7ZC5lYWNoKGQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbYS5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZighKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5ncmVlZHlDaGlsZHx8IXRoaXMudmlzaWJsZSkpe3ZhciBjPWQudWkuaW50ZXJzZWN0KGEsdGhpcyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlKTtpZihjPSFjJiZ0aGlzLmlzb3Zlcj09MT8iaXNvdXQiOmMmJnRoaXMuaXNvdmVyPT0wPyJpc292ZXIiOm51bGwpe3ZhciBlO2lmKHRoaXMub3B0aW9ucy5ncmVlZHkpe3ZhciBnPXRoaXMuZWxlbWVudC5wYXJlbnRzKCI6ZGF0YShkcm9wcGFibGUpOmVxKDApIik7aWYoZy5sZW5ndGgpe2U9CmQuZGF0YShnWzBdLCJkcm9wcGFibGUiKTtlLmdyZWVkeUNoaWxkPWM9PSJpc292ZXIiPzE6MH19aWYoZSYmYz09Imlzb3ZlciIpe2UuaXNvdmVyPTA7ZS5pc291dD0xO2UuX291dC5jYWxsKGUsYil9dGhpc1tjXT0xO3RoaXNbYz09Imlzb3V0Ij8iaXNvdmVyIjoiaXNvdXQiXT0wO3RoaXNbYz09Imlzb3ZlciI/Il9vdmVyIjoiX291dCJdLmNhbGwodGhpcyxiKTtpZihlJiZjPT0iaXNvdXQiKXtlLmlzb3V0PTA7ZS5pc292ZXI9MTtlLl9vdmVyLmNhbGwoZSxiKX19fX0pfX19KShqUXVlcnkpOwo7LyoKICogalF1ZXJ5IFVJIFJlc2l6YWJsZSAxLjguNAogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUmVzaXphYmxlcwogKgogKiBEZXBlbmRzOgogKglqcXVlcnkudWkuY29yZS5qcwogKglqcXVlcnkudWkubW91c2UuanMKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGUpe2Uud2lkZ2V0KCJ1aS5yZXNpemFibGUiLGUudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJyZXNpemUiLG9wdGlvbnM6e2Fsc29SZXNpemU6ZmFsc2UsYW5pbWF0ZTpmYWxzZSxhbmltYXRlRHVyYXRpb246InNsb3ciLGFuaW1hdGVFYXNpbmc6InN3aW5nIixhc3BlY3RSYXRpbzpmYWxzZSxhdXRvSGlkZTpmYWxzZSxjb250YWlubWVudDpmYWxzZSxnaG9zdDpmYWxzZSxncmlkOmZhbHNlLGhhbmRsZXM6ImUscyxzZSIsaGVscGVyOmZhbHNlLG1heEhlaWdodDpudWxsLG1heFdpZHRoOm51bGwsbWluSGVpZ2h0OjEwLG1pbldpZHRoOjEwLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLGE9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcmVzaXphYmxlIik7ZS5leHRlbmQodGhpcyx7X2FzcGVjdFJhdGlvOiEhYS5hc3BlY3RSYXRpbyxhc3BlY3RSYXRpbzphLmFzcGVjdFJhdGlvLG9yaWdpbmFsRWxlbWVudDp0aGlzLmVsZW1lbnQsCl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzOltdLF9oZWxwZXI6YS5oZWxwZXJ8fGEuZ2hvc3R8fGEuYW5pbWF0ZT9hLmhlbHBlcnx8InVpLXJlc2l6YWJsZS1oZWxwZXIiOm51bGx9KTtpZih0aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUubWF0Y2goL2NhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZy9pKSl7L3JlbGF0aXZlLy50ZXN0KHRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIikpJiZlLmJyb3dzZXIub3BlcmEmJnRoaXMuZWxlbWVudC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiJhdXRvIixsZWZ0OiJhdXRvIn0pO3RoaXMuZWxlbWVudC53cmFwKGUoJzxkaXYgY2xhc3M9InVpLXdyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyI+PC9kaXY+JykuY3NzKHtwb3NpdGlvbjp0aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLAp0b3A6dGhpcy5lbGVtZW50LmNzcygidG9wIiksbGVmdDp0aGlzLmVsZW1lbnQuY3NzKCJsZWZ0Iil9KSk7dGhpcy5lbGVtZW50PXRoaXMuZWxlbWVudC5wYXJlbnQoKS5kYXRhKCJyZXNpemFibGUiLHRoaXMuZWxlbWVudC5kYXRhKCJyZXNpemFibGUiKSk7dGhpcy5lbGVtZW50SXNXcmFwcGVyPXRydWU7dGhpcy5lbGVtZW50LmNzcyh7bWFyZ2luTGVmdDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxtYXJnaW5Ub3A6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdodDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luQm90dG9tIil9KTt0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6MCxtYXJnaW5Ub3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJvdHRvbTowfSk7dGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlPQp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIpO3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIiwibm9uZSIpO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMucHVzaCh0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOiJzdGF0aWMiLHpvb206MSxkaXNwbGF5OiJibG9jayJ9KSk7dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHttYXJnaW46dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW4iKX0pO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCl9dGhpcy5oYW5kbGVzPWEuaGFuZGxlc3x8KCFlKCIudWktcmVzaXphYmxlLWhhbmRsZSIsdGhpcy5lbGVtZW50KS5sZW5ndGg/ImUscyxzZSI6e246Ii51aS1yZXNpemFibGUtbiIsZToiLnVpLXJlc2l6YWJsZS1lIixzOiIudWktcmVzaXphYmxlLXMiLHc6Ii51aS1yZXNpemFibGUtdyIsc2U6Ii51aS1yZXNpemFibGUtc2UiLHN3OiIudWktcmVzaXphYmxlLXN3IixuZToiLnVpLXJlc2l6YWJsZS1uZSIsCm53OiIudWktcmVzaXphYmxlLW53In0pO2lmKHRoaXMuaGFuZGxlcy5jb25zdHJ1Y3Rvcj09U3RyaW5nKXtpZih0aGlzLmhhbmRsZXM9PSJhbGwiKXRoaXMuaGFuZGxlcz0ibixlLHMsdyxzZSxzdyxuZSxudyI7dmFyIGM9dGhpcy5oYW5kbGVzLnNwbGl0KCIsIik7dGhpcy5oYW5kbGVzPXt9O2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj1lLnRyaW0oY1tkXSksZz1lKCc8ZGl2IGNsYXNzPSJ1aS1yZXNpemFibGUtaGFuZGxlICcrKCJ1aS1yZXNpemFibGUtIitmKSsnIj48L2Rpdj4nKTsvc3d8c2V8bmV8bncvLnRlc3QoZikmJmcuY3NzKHt6SW5kZXg6KythLnpJbmRleH0pOyJzZSI9PWYmJmcuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiKTt0aGlzLmhhbmRsZXNbZl09Ii51aS1yZXNpemFibGUtIitmO3RoaXMuZWxlbWVudC5hcHBlbmQoZyl9fXRoaXMuX3JlbmRlckF4aXM9ZnVuY3Rpb24oaCl7aD1ofHx0aGlzLmVsZW1lbnQ7Zm9yKHZhciBpIGluIHRoaXMuaGFuZGxlcyl7aWYodGhpcy5oYW5kbGVzW2ldLmNvbnN0cnVjdG9yPT0KU3RyaW5nKXRoaXMuaGFuZGxlc1tpXT1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLnNob3coKTtpZih0aGlzLmVsZW1lbnRJc1dyYXBwZXImJnRoaXMub3JpZ2luYWxFbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC90ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9uL2kpKXt2YXIgaj1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLGs9MDtrPS9zd3xuZXxud3xzZXxufHMvLnRlc3QoaSk/ai5vdXRlckhlaWdodCgpOmoub3V0ZXJXaWR0aCgpO2o9WyJwYWRkaW5nIiwvbmV8bnd8bi8udGVzdChpKT8iVG9wIjovc2V8c3d8cy8udGVzdChpKT8iQm90dG9tIjovXmUkLy50ZXN0KGkpPyJSaWdodCI6IkxlZnQiXS5qb2luKCIiKTtoLmNzcyhqLGspO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCl9ZSh0aGlzLmhhbmRsZXNbaV0pfX07dGhpcy5fcmVuZGVyQXhpcyh0aGlzLmVsZW1lbnQpO3RoaXMuX2hhbmRsZXM9ZSgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiLHRoaXMuZWxlbWVudCkuZGlzYWJsZVNlbGVjdGlvbigpOwp0aGlzLl9oYW5kbGVzLm1vdXNlb3ZlcihmdW5jdGlvbigpe2lmKCFiLnJlc2l6aW5nKXtpZih0aGlzLmNsYXNzTmFtZSl2YXIgaD10aGlzLmNsYXNzTmFtZS5tYXRjaCgvdWktcmVzaXphYmxlLShzZXxzd3xuZXxud3xufGV8c3x3KS9pKTtiLmF4aXM9aCYmaFsxXT9oWzFdOiJzZSJ9fSk7aWYoYS5hdXRvSGlkZSl7dGhpcy5faGFuZGxlcy5oaWRlKCk7ZSh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKS5ob3ZlcihmdW5jdGlvbigpe2UodGhpcykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpO2IuX2hhbmRsZXMuc2hvdygpfSxmdW5jdGlvbigpe2lmKCFiLnJlc2l6aW5nKXtlKHRoaXMpLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKTtiLl9oYW5kbGVzLmhpZGUoKX19KX10aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX21vdXNlRGVzdHJveSgpO3ZhciBiPWZ1bmN0aW9uKGMpe2UoYykucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZSB1aS1yZXNpemFibGUtZGlzYWJsZWQgdWktcmVzaXphYmxlLXJlc2l6aW5nIikucmVtb3ZlRGF0YSgicmVzaXphYmxlIikudW5iaW5kKCIucmVzaXphYmxlIikuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKS5yZW1vdmUoKX07CmlmKHRoaXMuZWxlbWVudElzV3JhcHBlcil7Yih0aGlzLmVsZW1lbnQpO3ZhciBhPXRoaXMuZWxlbWVudDthLmFmdGVyKHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7cG9zaXRpb246YS5jc3MoInBvc2l0aW9uIiksd2lkdGg6YS5vdXRlcldpZHRoKCksaGVpZ2h0OmEub3V0ZXJIZWlnaHQoKSx0b3A6YS5jc3MoInRvcCIpLGxlZnQ6YS5jc3MoImxlZnQiKX0pKS5yZW1vdmUoKX10aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlKTtiKHRoaXMub3JpZ2luYWxFbGVtZW50KTtyZXR1cm4gdGhpc30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihiKXt2YXIgYT1mYWxzZTtmb3IodmFyIGMgaW4gdGhpcy5oYW5kbGVzKWlmKGUodGhpcy5oYW5kbGVzW2NdKVswXT09Yi50YXJnZXQpYT10cnVlO3JldHVybiF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmF9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGIpe3ZhciBhPXRoaXMub3B0aW9ucyxjPXRoaXMuZWxlbWVudC5wb3NpdGlvbigpLApkPXRoaXMuZWxlbWVudDt0aGlzLnJlc2l6aW5nPXRydWU7dGhpcy5kb2N1bWVudFNjcm9sbD17dG9wOmUoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLGxlZnQ6ZShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpfTtpZihkLmlzKCIudWktZHJhZ2dhYmxlIil8fC9hYnNvbHV0ZS8udGVzdChkLmNzcygicG9zaXRpb24iKSkpZC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmMudG9wLGxlZnQ6Yy5sZWZ0fSk7ZS5icm93c2VyLm9wZXJhJiYvcmVsYXRpdmUvLnRlc3QoZC5jc3MoInBvc2l0aW9uIikpJiZkLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6ImF1dG8iLGxlZnQ6ImF1dG8ifSk7dGhpcy5fcmVuZGVyUHJveHkoKTtjPW0odGhpcy5oZWxwZXIuY3NzKCJsZWZ0IikpO3ZhciBmPW0odGhpcy5oZWxwZXIuY3NzKCJ0b3AiKSk7aWYoYS5jb250YWlubWVudCl7Yys9ZShhLmNvbnRhaW5tZW50KS5zY3JvbGxMZWZ0KCl8fDA7Zis9ZShhLmNvbnRhaW5tZW50KS5zY3JvbGxUb3AoKXx8MH10aGlzLm9mZnNldD0KdGhpcy5oZWxwZXIub2Zmc2V0KCk7dGhpcy5wb3NpdGlvbj17bGVmdDpjLHRvcDpmfTt0aGlzLnNpemU9dGhpcy5faGVscGVyP3t3aWR0aDpkLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZC5vdXRlckhlaWdodCgpfTp7d2lkdGg6ZC53aWR0aCgpLGhlaWdodDpkLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsU2l6ZT10aGlzLl9oZWxwZXI/e3dpZHRoOmQub3V0ZXJXaWR0aCgpLGhlaWdodDpkLm91dGVySGVpZ2h0KCl9Ont3aWR0aDpkLndpZHRoKCksaGVpZ2h0OmQuaGVpZ2h0KCl9O3RoaXMub3JpZ2luYWxQb3NpdGlvbj17bGVmdDpjLHRvcDpmfTt0aGlzLnNpemVEaWZmPXt3aWR0aDpkLm91dGVyV2lkdGgoKS1kLndpZHRoKCksaGVpZ2h0OmQub3V0ZXJIZWlnaHQoKS1kLmhlaWdodCgpfTt0aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbj17bGVmdDpiLnBhZ2VYLHRvcDpiLnBhZ2VZfTt0aGlzLmFzcGVjdFJhdGlvPXR5cGVvZiBhLmFzcGVjdFJhdGlvPT0ibnVtYmVyIj9hLmFzcGVjdFJhdGlvOgp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC90aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHR8fDE7YT1lKCIudWktcmVzaXphYmxlLSIrdGhpcy5heGlzKS5jc3MoImN1cnNvciIpO2UoImJvZHkiKS5jc3MoImN1cnNvciIsYT09ImF1dG8iP3RoaXMuYXhpcysiLXJlc2l6ZSI6YSk7ZC5hZGRDbGFzcygidWktcmVzaXphYmxlLXJlc2l6aW5nIik7dGhpcy5fcHJvcGFnYXRlKCJzdGFydCIsYik7cmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5oZWxwZXIsYz10aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbixkPXRoaXMuX2NoYW5nZVt0aGlzLmF4aXNdO2lmKCFkKXJldHVybiBmYWxzZTtjPWQuYXBwbHkodGhpcyxbYixiLnBhZ2VYLWMubGVmdHx8MCxiLnBhZ2VZLWMudG9wfHwwXSk7aWYodGhpcy5fYXNwZWN0UmF0aW98fGIuc2hpZnRLZXkpYz10aGlzLl91cGRhdGVSYXRpbyhjLGIpO2M9dGhpcy5fcmVzcGVjdFNpemUoYyxiKTt0aGlzLl9wcm9wYWdhdGUoInJlc2l6ZSIsCmIpO2EuY3NzKHt0b3A6dGhpcy5wb3NpdGlvbi50b3ArInB4IixsZWZ0OnRoaXMucG9zaXRpb24ubGVmdCsicHgiLHdpZHRoOnRoaXMuc2l6ZS53aWR0aCsicHgiLGhlaWdodDp0aGlzLnNpemUuaGVpZ2h0KyJweCJ9KTshdGhpcy5faGVscGVyJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aCYmdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKTt0aGlzLl91cGRhdGVDYWNoZShjKTt0aGlzLl90cmlnZ2VyKCJyZXNpemUiLGIsdGhpcy51aSgpKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYil7dGhpcy5yZXNpemluZz1mYWxzZTt2YXIgYT10aGlzLm9wdGlvbnMsYz10aGlzO2lmKHRoaXMuX2hlbHBlcil7dmFyIGQ9dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cyxmPWQubGVuZ3RoJiYvdGV4dGFyZWEvaS50ZXN0KGRbMF0ubm9kZU5hbWUpO2Q9ZiYmZS51aS5oYXNTY3JvbGwoZFswXSwibGVmdCIpPzA6Yy5zaXplRGlmZi5oZWlnaHQ7CmY9e3dpZHRoOmMuc2l6ZS53aWR0aC0oZj8wOmMuc2l6ZURpZmYud2lkdGgpLGhlaWdodDpjLnNpemUuaGVpZ2h0LWR9O2Q9cGFyc2VJbnQoYy5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsoYy5wb3NpdGlvbi5sZWZ0LWMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVsbDt2YXIgZz1wYXJzZUludChjLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCkrKGMucG9zaXRpb24udG9wLWMub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxsO2EuYW5pbWF0ZXx8dGhpcy5lbGVtZW50LmNzcyhlLmV4dGVuZChmLHt0b3A6ZyxsZWZ0OmR9KSk7Yy5oZWxwZXIuaGVpZ2h0KGMuc2l6ZS5oZWlnaHQpO2MuaGVscGVyLndpZHRoKGMuc2l6ZS53aWR0aCk7dGhpcy5faGVscGVyJiYhYS5hbmltYXRlJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpfWUoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8iKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpO3RoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsCmIpO3RoaXMuX2hlbHBlciYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7cmV0dXJuIGZhbHNlfSxfdXBkYXRlQ2FjaGU6ZnVuY3Rpb24oYil7dGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCk7aWYobChiLmxlZnQpKXRoaXMucG9zaXRpb24ubGVmdD1iLmxlZnQ7aWYobChiLnRvcCkpdGhpcy5wb3NpdGlvbi50b3A9Yi50b3A7aWYobChiLmhlaWdodCkpdGhpcy5zaXplLmhlaWdodD1iLmhlaWdodDtpZihsKGIud2lkdGgpKXRoaXMuc2l6ZS53aWR0aD1iLndpZHRofSxfdXBkYXRlUmF0aW86ZnVuY3Rpb24oYil7dmFyIGE9dGhpcy5wb3NpdGlvbixjPXRoaXMuc2l6ZSxkPXRoaXMuYXhpcztpZihiLmhlaWdodCliLndpZHRoPWMuaGVpZ2h0KnRoaXMuYXNwZWN0UmF0aW87ZWxzZSBpZihiLndpZHRoKWIuaGVpZ2h0PWMud2lkdGgvdGhpcy5hc3BlY3RSYXRpbztpZihkPT0ic3ciKXtiLmxlZnQ9YS5sZWZ0KyhjLndpZHRoLWIud2lkdGgpO2IudG9wPW51bGx9aWYoZD09Im53Iil7Yi50b3A9CmEudG9wKyhjLmhlaWdodC1iLmhlaWdodCk7Yi5sZWZ0PWEubGVmdCsoYy53aWR0aC1iLndpZHRoKX1yZXR1cm4gYn0sX3Jlc3BlY3RTaXplOmZ1bmN0aW9uKGIpe3ZhciBhPXRoaXMub3B0aW9ucyxjPXRoaXMuYXhpcyxkPWwoYi53aWR0aCkmJmEubWF4V2lkdGgmJmEubWF4V2lkdGg8Yi53aWR0aCxmPWwoYi5oZWlnaHQpJiZhLm1heEhlaWdodCYmYS5tYXhIZWlnaHQ8Yi5oZWlnaHQsZz1sKGIud2lkdGgpJiZhLm1pbldpZHRoJiZhLm1pbldpZHRoPmIud2lkdGgsaD1sKGIuaGVpZ2h0KSYmYS5taW5IZWlnaHQmJmEubWluSGVpZ2h0PmIuaGVpZ2h0O2lmKGcpYi53aWR0aD1hLm1pbldpZHRoO2lmKGgpYi5oZWlnaHQ9YS5taW5IZWlnaHQ7aWYoZCliLndpZHRoPWEubWF4V2lkdGg7aWYoZiliLmhlaWdodD1hLm1heEhlaWdodDt2YXIgaT10aGlzLm9yaWdpbmFsUG9zaXRpb24ubGVmdCt0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCxqPXRoaXMucG9zaXRpb24udG9wK3RoaXMuc2l6ZS5oZWlnaHQsCms9L3N3fG53fHcvLnRlc3QoYyk7Yz0vbnd8bmV8bi8udGVzdChjKTtpZihnJiZrKWIubGVmdD1pLWEubWluV2lkdGg7aWYoZCYmayliLmxlZnQ9aS1hLm1heFdpZHRoO2lmKGgmJmMpYi50b3A9ai1hLm1pbkhlaWdodDtpZihmJiZjKWIudG9wPWotYS5tYXhIZWlnaHQ7aWYoKGE9IWIud2lkdGgmJiFiLmhlaWdodCkmJiFiLmxlZnQmJmIudG9wKWIudG9wPW51bGw7ZWxzZSBpZihhJiYhYi50b3AmJmIubGVmdCliLmxlZnQ9bnVsbDtyZXR1cm4gYn0sX3Byb3BvcnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGgpZm9yKHZhciBiPXRoaXMuaGVscGVyfHx0aGlzLmVsZW1lbnQsYT0wO2E8dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGg7YSsrKXt2YXIgYz10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzW2FdO2lmKCF0aGlzLmJvcmRlckRpZil7dmFyIGQ9W2MuY3NzKCJib3JkZXJUb3BXaWR0aCIpLApjLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLGMuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLGMuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKV0sZj1bYy5jc3MoInBhZGRpbmdUb3AiKSxjLmNzcygicGFkZGluZ1JpZ2h0IiksYy5jc3MoInBhZGRpbmdCb3R0b20iKSxjLmNzcygicGFkZGluZ0xlZnQiKV07dGhpcy5ib3JkZXJEaWY9ZS5tYXAoZCxmdW5jdGlvbihnLGgpe2c9cGFyc2VJbnQoZywxMCl8fDA7aD1wYXJzZUludChmW2hdLDEwKXx8MDtyZXR1cm4gZytofSl9ZS5icm93c2VyLm1zaWUmJihlKGIpLmlzKCI6aGlkZGVuIil8fGUoYikucGFyZW50cygiOmhpZGRlbiIpLmxlbmd0aCl8fGMuY3NzKHtoZWlnaHQ6Yi5oZWlnaHQoKS10aGlzLmJvcmRlckRpZlswXS10aGlzLmJvcmRlckRpZlsyXXx8MCx3aWR0aDpiLndpZHRoKCktdGhpcy5ib3JkZXJEaWZbMV0tdGhpcy5ib3JkZXJEaWZbM118fDB9KX19LF9yZW5kZXJQcm94eTpmdW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9uczt0aGlzLmVsZW1lbnRPZmZzZXQ9CnRoaXMuZWxlbWVudC5vZmZzZXQoKTtpZih0aGlzLl9oZWxwZXIpe3RoaXMuaGVscGVyPXRoaXMuaGVscGVyfHxlKCc8ZGl2IHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2YXIgYT1lLmJyb3dzZXIubXNpZSYmZS5icm93c2VyLnZlcnNpb248NyxjPWE/MTowO2E9YT8yOi0xO3RoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hlbHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpK2EsaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpK2EscG9zaXRpb246ImFic29sdXRlIixsZWZ0OnRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LWMrInB4Iix0b3A6dGhpcy5lbGVtZW50T2Zmc2V0LnRvcC1jKyJweCIsekluZGV4OisrYi56SW5kZXh9KTt0aGlzLmhlbHBlci5hcHBlbmRUbygiYm9keSIpLmRpc2FibGVTZWxlY3Rpb24oKX1lbHNlIHRoaXMuaGVscGVyPXRoaXMuZWxlbWVudH0sX2NoYW5nZTp7ZTpmdW5jdGlvbihiLGEpe3JldHVybnt3aWR0aDp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCsKYX19LHc6ZnVuY3Rpb24oYixhKXtyZXR1cm57bGVmdDp0aGlzLm9yaWdpbmFsUG9zaXRpb24ubGVmdCthLHdpZHRoOnRoaXMub3JpZ2luYWxTaXplLndpZHRoLWF9fSxuOmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm57dG9wOnRoaXMub3JpZ2luYWxQb3NpdGlvbi50b3ArYyxoZWlnaHQ6dGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0LWN9fSxzOmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm57aGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodCtjfX0sc2U6ZnVuY3Rpb24oYixhLGMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbYixhLGNdKSl9LHN3OmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm4gZS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2IsYSxjXSkpfSxuZTpmdW5jdGlvbihiLGEsYyl7cmV0dXJuIGUuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsCmFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbYixhLGNdKSl9LG53OmZ1bmN0aW9uKGIsYSxjKXtyZXR1cm4gZS5leHRlbmQodGhpcy5fY2hhbmdlLm4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2IsYSxjXSkpfX0sX3Byb3BhZ2F0ZTpmdW5jdGlvbihiLGEpe2UudWkucGx1Z2luLmNhbGwodGhpcyxiLFthLHRoaXMudWkoKV0pO2IhPSJyZXNpemUiJiZ0aGlzLl90cmlnZ2VyKGIsYSx0aGlzLnVpKCkpfSxwbHVnaW5zOnt9LHVpOmZ1bmN0aW9uKCl7cmV0dXJue29yaWdpbmFsRWxlbWVudDp0aGlzLm9yaWdpbmFsRWxlbWVudCxlbGVtZW50OnRoaXMuZWxlbWVudCxoZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixzaXplOnRoaXMuc2l6ZSxvcmlnaW5hbFNpemU6dGhpcy5vcmlnaW5hbFNpemUsb3JpZ2luYWxQb3NpdGlvbjp0aGlzLm9yaWdpbmFsUG9zaXRpb259fX0pO2UuZXh0ZW5kKGUudWkucmVzaXphYmxlLAp7dmVyc2lvbjoiMS44LjQifSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJhbHNvUmVzaXplIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLm9wdGlvbnMsYT1mdW5jdGlvbihjKXtlKGMpLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1lKHRoaXMpO2QuZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiLHt3aWR0aDpwYXJzZUludChkLndpZHRoKCksMTApLGhlaWdodDpwYXJzZUludChkLmhlaWdodCgpLDEwKSxsZWZ0OnBhcnNlSW50KGQuY3NzKCJsZWZ0IiksMTApLHRvcDpwYXJzZUludChkLmNzcygidG9wIiksMTApLHBvc2l0aW9uOmQuY3NzKCJwb3NpdGlvbiIpfSl9KX07aWYodHlwZW9mIGIuYWxzb1Jlc2l6ZT09Im9iamVjdCImJiFiLmFsc29SZXNpemUucGFyZW50Tm9kZSlpZihiLmFsc29SZXNpemUubGVuZ3RoKXtiLmFsc29SZXNpemU9Yi5hbHNvUmVzaXplWzBdO2EoYi5hbHNvUmVzaXplKX1lbHNlIGUuZWFjaChiLmFsc29SZXNpemUsCmZ1bmN0aW9uKGMpe2EoYyl9KTtlbHNlIGEoYi5hbHNvUmVzaXplKX0scmVzaXplOmZ1bmN0aW9uKGIsYSl7dmFyIGM9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKTtiPWMub3B0aW9uczt2YXIgZD1jLm9yaWdpbmFsU2l6ZSxmPWMub3JpZ2luYWxQb3NpdGlvbixnPXtoZWlnaHQ6Yy5zaXplLmhlaWdodC1kLmhlaWdodHx8MCx3aWR0aDpjLnNpemUud2lkdGgtZC53aWR0aHx8MCx0b3A6Yy5wb3NpdGlvbi50b3AtZi50b3B8fDAsbGVmdDpjLnBvc2l0aW9uLmxlZnQtZi5sZWZ0fHwwfSxoPWZ1bmN0aW9uKGksail7ZShpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9ZSh0aGlzKSxxPWUodGhpcykuZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiKSxwPXt9LHI9aiYmai5sZW5ndGg/ajprLnBhcmVudHMoYS5vcmlnaW5hbEVsZW1lbnRbMF0pLmxlbmd0aD9bIndpZHRoIiwiaGVpZ2h0Il06WyJ3aWR0aCIsImhlaWdodCIsInRvcCIsImxlZnQiXTtlLmVhY2gocixmdW5jdGlvbihuLG8pe2lmKChuPQoocVtvXXx8MCkrKGdbb118fDApKSYmbj49MClwW29dPW58fG51bGx9KTtpZihlLmJyb3dzZXIub3BlcmEmJi9yZWxhdGl2ZS8udGVzdChrLmNzcygicG9zaXRpb24iKSkpe2MuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbj10cnVlO2suY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KX1rLmNzcyhwKX0pfTt0eXBlb2YgYi5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWIuYWxzb1Jlc2l6ZS5ub2RlVHlwZT9lLmVhY2goYi5hbHNvUmVzaXplLGZ1bmN0aW9uKGksail7aChpLGopfSk6aChiLmFsc29SZXNpemUpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxhPWIub3B0aW9ucyxjPWZ1bmN0aW9uKGQpe2UoZCkuZWFjaChmdW5jdGlvbigpe3ZhciBmPWUodGhpcyk7Zi5jc3Moe3Bvc2l0aW9uOmYuZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUiKS5wb3NpdGlvbn0pfSl9O2lmKGIuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbil7Yi5fcmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0aW9uPQpmYWxzZTt0eXBlb2YgYS5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWEuYWxzb1Jlc2l6ZS5ub2RlVHlwZT9lLmVhY2goYS5hbHNvUmVzaXplLGZ1bmN0aW9uKGQpe2MoZCl9KTpjKGEuYWxzb1Jlc2l6ZSl9ZSh0aGlzKS5yZW1vdmVEYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpfX0pO2UudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYW5pbWF0ZSIse3N0b3A6ZnVuY3Rpb24oYil7dmFyIGE9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxjPWEub3B0aW9ucyxkPWEuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsZj1kLmxlbmd0aCYmL3RleHRhcmVhL2kudGVzdChkWzBdLm5vZGVOYW1lKSxnPWYmJmUudWkuaGFzU2Nyb2xsKGRbMF0sImxlZnQiKT8wOmEuc2l6ZURpZmYuaGVpZ2h0O2Y9e3dpZHRoOmEuc2l6ZS53aWR0aC0oZj8wOmEuc2l6ZURpZmYud2lkdGgpLGhlaWdodDphLnNpemUuaGVpZ2h0LWd9O2c9cGFyc2VJbnQoYS5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsoYS5wb3NpdGlvbi5sZWZ0LQphLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGw7dmFyIGg9cGFyc2VJbnQoYS5lbGVtZW50LmNzcygidG9wIiksMTApKyhhLnBvc2l0aW9uLnRvcC1hLm9yaWdpbmFsUG9zaXRpb24udG9wKXx8bnVsbDthLmVsZW1lbnQuYW5pbWF0ZShlLmV4dGVuZChmLGgmJmc/e3RvcDpoLGxlZnQ6Z306e30pLHtkdXJhdGlvbjpjLmFuaW1hdGVEdXJhdGlvbixlYXNpbmc6Yy5hbmltYXRlRWFzaW5nLHN0ZXA6ZnVuY3Rpb24oKXt2YXIgaT17d2lkdGg6cGFyc2VJbnQoYS5lbGVtZW50LmNzcygid2lkdGgiKSwxMCksaGVpZ2h0OnBhcnNlSW50KGEuZWxlbWVudC5jc3MoImhlaWdodCIpLDEwKSx0b3A6cGFyc2VJbnQoYS5lbGVtZW50LmNzcygidG9wIiksMTApLGxlZnQ6cGFyc2VJbnQoYS5lbGVtZW50LmNzcygibGVmdCIpLDEwKX07ZCYmZC5sZW5ndGgmJmUoZFswXSkuY3NzKHt3aWR0aDppLndpZHRoLGhlaWdodDppLmhlaWdodH0pO2EuX3VwZGF0ZUNhY2hlKGkpO2EuX3Byb3BhZ2F0ZSgicmVzaXplIiwKYil9fSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJjb250YWlubWVudCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxhPWIuZWxlbWVudCxjPWIub3B0aW9ucy5jb250YWlubWVudDtpZihhPWMgaW5zdGFuY2VvZiBlP2MuZ2V0KDApOi9wYXJlbnQvLnRlc3QoYyk/YS5wYXJlbnQoKS5nZXQoMCk6Yyl7Yi5jb250YWluZXJFbGVtZW50PWUoYSk7aWYoL2RvY3VtZW50Ly50ZXN0KGMpfHxjPT1kb2N1bWVudCl7Yi5jb250YWluZXJPZmZzZXQ9e2xlZnQ6MCx0b3A6MH07Yi5jb250YWluZXJQb3NpdGlvbj17bGVmdDowLHRvcDowfTtiLnBhcmVudERhdGE9e2VsZW1lbnQ6ZShkb2N1bWVudCksbGVmdDowLHRvcDowLHdpZHRoOmUoZG9jdW1lbnQpLndpZHRoKCksaGVpZ2h0OmUoZG9jdW1lbnQpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0fX1lbHNle3ZhciBkPWUoYSksZj1bXTtlKFsiVG9wIiwKIlJpZ2h0IiwiTGVmdCIsIkJvdHRvbSJdKS5lYWNoKGZ1bmN0aW9uKGksail7ZltpXT1tKGQuY3NzKCJwYWRkaW5nIitqKSl9KTtiLmNvbnRhaW5lck9mZnNldD1kLm9mZnNldCgpO2IuY29udGFpbmVyUG9zaXRpb249ZC5wb3NpdGlvbigpO2IuY29udGFpbmVyU2l6ZT17aGVpZ2h0OmQuaW5uZXJIZWlnaHQoKS1mWzNdLHdpZHRoOmQuaW5uZXJXaWR0aCgpLWZbMV19O2M9Yi5jb250YWluZXJPZmZzZXQ7dmFyIGc9Yi5jb250YWluZXJTaXplLmhlaWdodCxoPWIuY29udGFpbmVyU2l6ZS53aWR0aDtoPWUudWkuaGFzU2Nyb2xsKGEsImxlZnQiKT9hLnNjcm9sbFdpZHRoOmg7Zz1lLnVpLmhhc1Njcm9sbChhKT9hLnNjcm9sbEhlaWdodDpnO2IucGFyZW50RGF0YT17ZWxlbWVudDphLGxlZnQ6Yy5sZWZ0LHRvcDpjLnRvcCx3aWR0aDpoLGhlaWdodDpnfX19fSxyZXNpemU6ZnVuY3Rpb24oYil7dmFyIGE9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxjPWEub3B0aW9ucyxkPWEuY29udGFpbmVyT2Zmc2V0LApmPWEucG9zaXRpb247Yj1hLl9hc3BlY3RSYXRpb3x8Yi5zaGlmdEtleTt2YXIgZz17dG9wOjAsbGVmdDowfSxoPWEuY29udGFpbmVyRWxlbWVudDtpZihoWzBdIT1kb2N1bWVudCYmL3N0YXRpYy8udGVzdChoLmNzcygicG9zaXRpb24iKSkpZz1kO2lmKGYubGVmdDwoYS5faGVscGVyP2QubGVmdDowKSl7YS5zaXplLndpZHRoKz1hLl9oZWxwZXI/YS5wb3NpdGlvbi5sZWZ0LWQubGVmdDphLnBvc2l0aW9uLmxlZnQtZy5sZWZ0O2lmKGIpYS5zaXplLmhlaWdodD1hLnNpemUud2lkdGgvYy5hc3BlY3RSYXRpbzthLnBvc2l0aW9uLmxlZnQ9Yy5oZWxwZXI/ZC5sZWZ0OjB9aWYoZi50b3A8KGEuX2hlbHBlcj9kLnRvcDowKSl7YS5zaXplLmhlaWdodCs9YS5faGVscGVyP2EucG9zaXRpb24udG9wLWQudG9wOmEucG9zaXRpb24udG9wO2lmKGIpYS5zaXplLndpZHRoPWEuc2l6ZS5oZWlnaHQqYy5hc3BlY3RSYXRpbzthLnBvc2l0aW9uLnRvcD1hLl9oZWxwZXI/ZC50b3A6MH1hLm9mZnNldC5sZWZ0PQphLnBhcmVudERhdGEubGVmdCthLnBvc2l0aW9uLmxlZnQ7YS5vZmZzZXQudG9wPWEucGFyZW50RGF0YS50b3ArYS5wb3NpdGlvbi50b3A7Yz1NYXRoLmFicygoYS5faGVscGVyP2Eub2Zmc2V0LmxlZnQtZy5sZWZ0OmEub2Zmc2V0LmxlZnQtZy5sZWZ0KSthLnNpemVEaWZmLndpZHRoKTtkPU1hdGguYWJzKChhLl9oZWxwZXI/YS5vZmZzZXQudG9wLWcudG9wOmEub2Zmc2V0LnRvcC1kLnRvcCkrYS5zaXplRGlmZi5oZWlnaHQpO2Y9YS5jb250YWluZXJFbGVtZW50LmdldCgwKT09YS5lbGVtZW50LnBhcmVudCgpLmdldCgwKTtnPS9yZWxhdGl2ZXxhYnNvbHV0ZS8udGVzdChhLmNvbnRhaW5lckVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpKTtpZihmJiZnKWMtPWEucGFyZW50RGF0YS5sZWZ0O2lmKGMrYS5zaXplLndpZHRoPj1hLnBhcmVudERhdGEud2lkdGgpe2Euc2l6ZS53aWR0aD1hLnBhcmVudERhdGEud2lkdGgtYztpZihiKWEuc2l6ZS5oZWlnaHQ9YS5zaXplLndpZHRoL2EuYXNwZWN0UmF0aW99aWYoZCsKYS5zaXplLmhlaWdodD49YS5wYXJlbnREYXRhLmhlaWdodCl7YS5zaXplLmhlaWdodD1hLnBhcmVudERhdGEuaGVpZ2h0LWQ7aWYoYilhLnNpemUud2lkdGg9YS5zaXplLmhlaWdodCphLmFzcGVjdFJhdGlvfX0sc3RvcDpmdW5jdGlvbigpe3ZhciBiPWUodGhpcykuZGF0YSgicmVzaXphYmxlIiksYT1iLm9wdGlvbnMsYz1iLmNvbnRhaW5lck9mZnNldCxkPWIuY29udGFpbmVyUG9zaXRpb24sZj1iLmNvbnRhaW5lckVsZW1lbnQsZz1lKGIuaGVscGVyKSxoPWcub2Zmc2V0KCksaT1nLm91dGVyV2lkdGgoKS1iLnNpemVEaWZmLndpZHRoO2c9Zy5vdXRlckhlaWdodCgpLWIuc2l6ZURpZmYuaGVpZ2h0O2IuX2hlbHBlciYmIWEuYW5pbWF0ZSYmL3JlbGF0aXZlLy50ZXN0KGYuY3NzKCJwb3NpdGlvbiIpKSYmZSh0aGlzKS5jc3Moe2xlZnQ6aC5sZWZ0LWQubGVmdC1jLmxlZnQsd2lkdGg6aSxoZWlnaHQ6Z30pO2IuX2hlbHBlciYmIWEuYW5pbWF0ZSYmL3N0YXRpYy8udGVzdChmLmNzcygicG9zaXRpb24iKSkmJgplKHRoaXMpLmNzcyh7bGVmdDpoLmxlZnQtZC5sZWZ0LWMubGVmdCx3aWR0aDppLGhlaWdodDpnfSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJnaG9zdCIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxhPWIub3B0aW9ucyxjPWIuc2l6ZTtiLmdob3N0PWIub3JpZ2luYWxFbGVtZW50LmNsb25lKCk7Yi5naG9zdC5jc3Moe29wYWNpdHk6MC4yNSxkaXNwbGF5OiJibG9jayIscG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6Yy5oZWlnaHQsd2lkdGg6Yy53aWR0aCxtYXJnaW46MCxsZWZ0OjAsdG9wOjB9KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWdob3N0IikuYWRkQ2xhc3ModHlwZW9mIGEuZ2hvc3Q9PSJzdHJpbmciP2EuZ2hvc3Q6IiIpO2IuZ2hvc3QuYXBwZW5kVG8oYi5oZWxwZXIpfSxyZXNpemU6ZnVuY3Rpb24oKXt2YXIgYj1lKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpO2IuZ2hvc3QmJmIuZ2hvc3QuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLApoZWlnaHQ6Yi5zaXplLmhlaWdodCx3aWR0aDpiLnNpemUud2lkdGh9KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBiPWUodGhpcykuZGF0YSgicmVzaXphYmxlIik7Yi5naG9zdCYmYi5oZWxwZXImJmIuaGVscGVyLmdldCgwKS5yZW1vdmVDaGlsZChiLmdob3N0LmdldCgwKSl9fSk7ZS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJncmlkIix7cmVzaXplOmZ1bmN0aW9uKCl7dmFyIGI9ZSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKSxhPWIub3B0aW9ucyxjPWIuc2l6ZSxkPWIub3JpZ2luYWxTaXplLGY9Yi5vcmlnaW5hbFBvc2l0aW9uLGc9Yi5heGlzO2EuZ3JpZD10eXBlb2YgYS5ncmlkPT0ibnVtYmVyIj9bYS5ncmlkLGEuZ3JpZF06YS5ncmlkO3ZhciBoPU1hdGgucm91bmQoKGMud2lkdGgtZC53aWR0aCkvKGEuZ3JpZFswXXx8MSkpKihhLmdyaWRbMF18fDEpO2E9TWF0aC5yb3VuZCgoYy5oZWlnaHQtZC5oZWlnaHQpLyhhLmdyaWRbMV18fDEpKSooYS5ncmlkWzFdfHwxKTtpZigvXihzZXxzfGUpJC8udGVzdChnKSl7Yi5zaXplLndpZHRoPQpkLndpZHRoK2g7Yi5zaXplLmhlaWdodD1kLmhlaWdodCthfWVsc2UgaWYoL14obmUpJC8udGVzdChnKSl7Yi5zaXplLndpZHRoPWQud2lkdGgraDtiLnNpemUuaGVpZ2h0PWQuaGVpZ2h0K2E7Yi5wb3NpdGlvbi50b3A9Zi50b3AtYX1lbHNle2lmKC9eKHN3KSQvLnRlc3QoZykpe2Iuc2l6ZS53aWR0aD1kLndpZHRoK2g7Yi5zaXplLmhlaWdodD1kLmhlaWdodCthfWVsc2V7Yi5zaXplLndpZHRoPWQud2lkdGgraDtiLnNpemUuaGVpZ2h0PWQuaGVpZ2h0K2E7Yi5wb3NpdGlvbi50b3A9Zi50b3AtYX1iLnBvc2l0aW9uLmxlZnQ9Zi5sZWZ0LWh9fX0pO3ZhciBtPWZ1bmN0aW9uKGIpe3JldHVybiBwYXJzZUludChiLDEwKXx8MH0sbD1mdW5jdGlvbihiKXtyZXR1cm4haXNOYU4ocGFyc2VJbnQoYiwxMCkpfX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgU2VsZWN0YWJsZSAxLjguNAogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvU2VsZWN0YWJsZXMKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLmNvcmUuanMKICoJanF1ZXJ5LnVpLm1vdXNlLmpzCiAqCWpxdWVyeS51aS53aWRnZXQuanMKICovCihmdW5jdGlvbihlKXtlLndpZGdldCgidWkuc2VsZWN0YWJsZSIsZS51aS5tb3VzZSx7b3B0aW9uczp7YXBwZW5kVG86ImJvZHkiLGF1dG9SZWZyZXNoOnRydWUsZGlzdGFuY2U6MCxmaWx0ZXI6IioiLHRvbGVyYW5jZToidG91Y2gifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGFibGUiKTt0aGlzLmRyYWdnZWQ9ZmFsc2U7dmFyIGY7dGhpcy5yZWZyZXNoPWZ1bmN0aW9uKCl7Zj1lKGMub3B0aW9ucy5maWx0ZXIsYy5lbGVtZW50WzBdKTtmLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1lKHRoaXMpLGI9ZC5vZmZzZXQoKTtlLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIix7ZWxlbWVudDp0aGlzLCRlbGVtZW50OmQsbGVmdDpiLmxlZnQsdG9wOmIudG9wLHJpZ2h0OmIubGVmdCtkLm91dGVyV2lkdGgoKSxib3R0b206Yi50b3ArZC5vdXRlckhlaWdodCgpLHN0YXJ0c2VsZWN0ZWQ6ZmFsc2Usc2VsZWN0ZWQ6ZC5oYXNDbGFzcygidWktc2VsZWN0ZWQiKSwKc2VsZWN0aW5nOmQuaGFzQ2xhc3MoInVpLXNlbGVjdGluZyIpLHVuc2VsZWN0aW5nOmQuaGFzQ2xhc3MoInVpLXVuc2VsZWN0aW5nIil9KX0pfTt0aGlzLnJlZnJlc2goKTt0aGlzLnNlbGVjdGVlcz1mLmFkZENsYXNzKCJ1aS1zZWxlY3RlZSIpO3RoaXMuX21vdXNlSW5pdCgpO3RoaXMuaGVscGVyPWUoIjxkaXYgY2xhc3M9J3VpLXNlbGVjdGFibGUtaGVscGVyJz48L2Rpdj4iKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWVzLnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZSIpLnJlbW92ZURhdGEoInNlbGVjdGFibGUtaXRlbSIpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0YWJsZSB1aS1zZWxlY3RhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic2VsZWN0YWJsZSIpLnVuYmluZCgiLnNlbGVjdGFibGUiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtyZXR1cm4gdGhpc30sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYyl7dmFyIGY9dGhpczt0aGlzLm9wb3M9W2MucGFnZVgsCmMucGFnZVldO2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQpe3ZhciBkPXRoaXMub3B0aW9uczt0aGlzLnNlbGVjdGVlcz1lKGQuZmlsdGVyLHRoaXMuZWxlbWVudFswXSk7dGhpcy5fdHJpZ2dlcigic3RhcnQiLGMpO2UoZC5hcHBlbmRUbykuYXBwZW5kKHRoaXMuaGVscGVyKTt0aGlzLmhlbHBlci5jc3Moe2xlZnQ6Yy5jbGllbnRYLHRvcDpjLmNsaWVudFksd2lkdGg6MCxoZWlnaHQ6MH0pO2QuYXV0b1JlZnJlc2gmJnRoaXMucmVmcmVzaCgpO3RoaXMuc2VsZWN0ZWVzLmZpbHRlcigiLnVpLXNlbGVjdGVkIikuZWFjaChmdW5jdGlvbigpe3ZhciBiPWUuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtiLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtpZighYy5tZXRhS2V5KXtiLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2Iuc2VsZWN0ZWQ9ZmFsc2U7Yi4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTtiLnVuc2VsZWN0aW5nPXRydWU7Zi5fdHJpZ2dlcigidW5zZWxlY3RpbmciLApjLHt1bnNlbGVjdGluZzpiLmVsZW1lbnR9KX19KTtlKGMudGFyZ2V0KS5wYXJlbnRzKCkuYW5kU2VsZigpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1lLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7aWYoYil7dmFyIGc9IWMubWV0YUtleXx8IWIuJGVsZW1lbnQuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIik7Yi4kZWxlbWVudC5yZW1vdmVDbGFzcyhnPyJ1aS11bnNlbGVjdGluZyI6InVpLXNlbGVjdGVkIikuYWRkQ2xhc3MoZz8idWktc2VsZWN0aW5nIjoidWktdW5zZWxlY3RpbmciKTtiLnVuc2VsZWN0aW5nPSFnO2Iuc2VsZWN0aW5nPWc7KGIuc2VsZWN0ZWQ9Zyk/Zi5fdHJpZ2dlcigic2VsZWN0aW5nIixjLHtzZWxlY3Rpbmc6Yi5lbGVtZW50fSk6Zi5fdHJpZ2dlcigidW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5nOmIuZWxlbWVudH0pO3JldHVybiBmYWxzZX19KX19LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7dmFyIGY9dGhpczt0aGlzLmRyYWdnZWQ9dHJ1ZTtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgZD0KdGhpcy5vcHRpb25zLGI9dGhpcy5vcG9zWzBdLGc9dGhpcy5vcG9zWzFdLGg9Yy5wYWdlWCxpPWMucGFnZVk7aWYoYj5oKXt2YXIgaj1oO2g9YjtiPWp9aWYoZz5pKXtqPWk7aT1nO2c9an10aGlzLmhlbHBlci5jc3Moe2xlZnQ6Yix0b3A6Zyx3aWR0aDpoLWIsaGVpZ2h0OmktZ30pO3RoaXMuc2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1lLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7aWYoISghYXx8YS5lbGVtZW50PT1mLmVsZW1lbnRbMF0pKXt2YXIgaz1mYWxzZTtpZihkLnRvbGVyYW5jZT09InRvdWNoIilrPSEoYS5sZWZ0Pmh8fGEucmlnaHQ8Ynx8YS50b3A+aXx8YS5ib3R0b208Zyk7ZWxzZSBpZihkLnRvbGVyYW5jZT09ImZpdCIpaz1hLmxlZnQ+YiYmYS5yaWdodDxoJiZhLnRvcD5nJiZhLmJvdHRvbTxpO2lmKGspe2lmKGEuc2VsZWN0ZWQpe2EuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7YS5zZWxlY3RlZD1mYWxzZX1pZihhLnVuc2VsZWN0aW5nKXthLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpOwphLnVuc2VsZWN0aW5nPWZhbHNlfWlmKCFhLnNlbGVjdGluZyl7YS4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0aW5nIik7YS5zZWxlY3Rpbmc9dHJ1ZTtmLl90cmlnZ2VyKCJzZWxlY3RpbmciLGMse3NlbGVjdGluZzphLmVsZW1lbnR9KX19ZWxzZXtpZihhLnNlbGVjdGluZylpZihjLm1ldGFLZXkmJmEuc3RhcnRzZWxlY3RlZCl7YS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7YS5zZWxlY3Rpbmc9ZmFsc2U7YS4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0ZWQiKTthLnNlbGVjdGVkPXRydWV9ZWxzZXthLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKTthLnNlbGVjdGluZz1mYWxzZTtpZihhLnN0YXJ0c2VsZWN0ZWQpe2EuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIik7YS51bnNlbGVjdGluZz10cnVlfWYuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixjLHt1bnNlbGVjdGluZzphLmVsZW1lbnR9KX1pZihhLnNlbGVjdGVkKWlmKCFjLm1ldGFLZXkmJgohYS5zdGFydHNlbGVjdGVkKXthLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2Euc2VsZWN0ZWQ9ZmFsc2U7YS4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTthLnVuc2VsZWN0aW5nPXRydWU7Zi5fdHJpZ2dlcigidW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5nOmEuZWxlbWVudH0pfX19fSk7cmV0dXJuIGZhbHNlfX0sX21vdXNlU3RvcDpmdW5jdGlvbihjKXt2YXIgZj10aGlzO3RoaXMuZHJhZ2dlZD1mYWxzZTtlKCIudWktdW5zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBkPWUuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtkLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2QudW5zZWxlY3Rpbmc9ZmFsc2U7ZC5zdGFydHNlbGVjdGVkPWZhbHNlO2YuX3RyaWdnZXIoInVuc2VsZWN0ZWQiLGMse3Vuc2VsZWN0ZWQ6ZC5lbGVtZW50fSl9KTtlKCIudWktc2VsZWN0aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVuY3Rpb24oKXt2YXIgZD0KZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2QuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLmFkZENsYXNzKCJ1aS1zZWxlY3RlZCIpO2Quc2VsZWN0aW5nPWZhbHNlO2Quc2VsZWN0ZWQ9dHJ1ZTtkLnN0YXJ0c2VsZWN0ZWQ9dHJ1ZTtmLl90cmlnZ2VyKCJzZWxlY3RlZCIsYyx7c2VsZWN0ZWQ6ZC5lbGVtZW50fSl9KTt0aGlzLl90cmlnZ2VyKCJzdG9wIixjKTt0aGlzLmhlbHBlci5yZW1vdmUoKTtyZXR1cm4gZmFsc2V9fSk7ZS5leHRlbmQoZS51aS5zZWxlY3RhYmxlLHt2ZXJzaW9uOiIxLjguNCJ9KX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgU29ydGFibGUgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NvcnRhYmxlcwogKgogKiBEZXBlbmRzOgogKglqcXVlcnkudWkuY29yZS5qcwogKglqcXVlcnkudWkubW91c2UuanMKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGQpe2Qud2lkZ2V0KCJ1aS5zb3J0YWJsZSIsZC51aS5tb3VzZSx7d2lkZ2V0RXZlbnRQcmVmaXg6InNvcnQiLG9wdGlvbnM6e2FwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ZmFsc2UsY29ubmVjdFdpdGg6ZmFsc2UsY29udGFpbm1lbnQ6ZmFsc2UsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDpmYWxzZSxkcm9wT25FbXB0eTp0cnVlLGZvcmNlUGxhY2Vob2xkZXJTaXplOmZhbHNlLGZvcmNlSGVscGVyU2l6ZTpmYWxzZSxncmlkOmZhbHNlLGhhbmRsZTpmYWxzZSxoZWxwZXI6Im9yaWdpbmFsIixpdGVtczoiPiAqIixvcGFjaXR5OmZhbHNlLHBsYWNlaG9sZGVyOmZhbHNlLHJldmVydDpmYWxzZSxzY3JvbGw6dHJ1ZSxzY3JvbGxTZW5zaXRpdml0eToyMCxzY3JvbGxTcGVlZDoyMCxzY29wZToiZGVmYXVsdCIsdG9sZXJhbmNlOiJpbnRlcnNlY3QiLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmNvbnRhaW5lckNhY2hlPXt9O3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc29ydGFibGUiKTsKdGhpcy5yZWZyZXNoKCk7dGhpcy5mbG9hdGluZz10aGlzLml0ZW1zLmxlbmd0aD8vbGVmdHxyaWdodC8udGVzdCh0aGlzLml0ZW1zWzBdLml0ZW0uY3NzKCJmbG9hdCIpKTpmYWxzZTt0aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7dGhpcy5fbW91c2VJbml0KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlIHVpLXNvcnRhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic29ydGFibGUiKS51bmJpbmQoIi5zb3J0YWJsZSIpO3RoaXMuX21vdXNlRGVzdHJveSgpO2Zvcih2YXIgYT10aGlzLml0ZW1zLmxlbmd0aC0xO2E+PTA7YS0tKXRoaXMuaXRlbXNbYV0uaXRlbS5yZW1vdmVEYXRhKCJzb3J0YWJsZS1pdGVtIik7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtpZihhPT09ImRpc2FibGVkIil7dGhpcy5vcHRpb25zW2FdPWI7dGhpcy53aWRnZXQoKVtiPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXNvcnRhYmxlLWRpc2FibGVkIil9ZWxzZSBkLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLAphcmd1bWVudHMpfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGEsYil7aWYodGhpcy5yZXZlcnRpbmcpcmV0dXJuIGZhbHNlO2lmKHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5vcHRpb25zLnR5cGU9PSJzdGF0aWMiKXJldHVybiBmYWxzZTt0aGlzLl9yZWZyZXNoSXRlbXMoYSk7dmFyIGM9bnVsbCxlPXRoaXM7ZChhLnRhcmdldCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtpZihkLmRhdGEodGhpcywic29ydGFibGUtaXRlbSIpPT1lKXtjPWQodGhpcyk7cmV0dXJuIGZhbHNlfX0pO2lmKGQuZGF0YShhLnRhcmdldCwic29ydGFibGUtaXRlbSIpPT1lKWM9ZChhLnRhcmdldCk7aWYoIWMpcmV0dXJuIGZhbHNlO2lmKHRoaXMub3B0aW9ucy5oYW5kbGUmJiFiKXt2YXIgZj1mYWxzZTtkKHRoaXMub3B0aW9ucy5oYW5kbGUsYykuZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09YS50YXJnZXQpZj10cnVlfSk7aWYoIWYpcmV0dXJuIGZhbHNlfXRoaXMuY3VycmVudEl0ZW09CmM7dGhpcy5fcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXMoKTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oYSxiLGMpe2I9dGhpcy5vcHRpb25zO3ZhciBlPXRoaXM7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXM7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7dGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKGEpO3RoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTt0aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlzLm9mZnNldD10aGlzLmN1cnJlbnRJdGVtLm9mZnNldCgpO3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFyZ2lucy50b3AsbGVmdDp0aGlzLm9mZnNldC5sZWZ0LXRoaXMubWFyZ2lucy5sZWZ0fTt0aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTt0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKTtkLmV4dGVuZCh0aGlzLm9mZnNldCwKe2NsaWNrOntsZWZ0OmEucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6YS5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBhcmVudDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpfSk7dGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYSk7dGhpcy5vcmlnaW5hbFBhZ2VYPWEucGFnZVg7dGhpcy5vcmlnaW5hbFBhZ2VZPWEucGFnZVk7Yi5jdXJzb3JBdCYmdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcihiLmN1cnNvckF0KTt0aGlzLmRvbVBvc2l0aW9uPXtwcmV2OnRoaXMuY3VycmVudEl0ZW0ucHJldigpWzBdLHBhcmVudDp0aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBdfTt0aGlzLmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5jdXJyZW50SXRlbS5oaWRlKCk7dGhpcy5fY3JlYXRlUGxhY2Vob2xkZXIoKTtiLmNvbnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpOwppZihiLmN1cnNvcil7aWYoZCgiYm9keSIpLmNzcygiY3Vyc29yIikpdGhpcy5fc3RvcmVkQ3Vyc29yPWQoImJvZHkiKS5jc3MoImN1cnNvciIpO2QoImJvZHkiKS5jc3MoImN1cnNvciIsYi5jdXJzb3IpfWlmKGIub3BhY2l0eSl7aWYodGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IikpdGhpcy5fc3RvcmVkT3BhY2l0eT10aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKTt0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiLGIub3BhY2l0eSl9aWYoYi56SW5kZXgpe2lmKHRoaXMuaGVscGVyLmNzcygiekluZGV4IikpdGhpcy5fc3RvcmVkWkluZGV4PXRoaXMuaGVscGVyLmNzcygiekluZGV4Iik7dGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLGIuekluZGV4KX1pZih0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil0aGlzLm92ZXJmbG93T2Zmc2V0PXRoaXMuc2Nyb2xsUGFyZW50Lm9mZnNldCgpO3RoaXMuX3RyaWdnZXIoInN0YXJ0IiwKYSx0aGlzLl91aUhhc2goKSk7dGhpcy5fcHJlc2VydmVIZWxwZXJQcm9wb3J0aW9uc3x8dGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO2lmKCFjKWZvcihjPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtjPj0wO2MtLSl0aGlzLmNvbnRhaW5lcnNbY10uX3RyaWdnZXIoImFjdGl2YXRlIixhLGUuX3VpSGFzaCh0aGlzKSk7aWYoZC51aS5kZG1hbmFnZXIpZC51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzO2QudWkuZGRtYW5hZ2VyJiYhYi5kcm9wQmVoYXZpb3VyJiZkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGEpO3RoaXMuZHJhZ2dpbmc9dHJ1ZTt0aGlzLmhlbHBlci5hZGRDbGFzcygidWktc29ydGFibGUtaGVscGVyIik7dGhpcy5fbW91c2VEcmFnKGEpO3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGEpe3RoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihhKTt0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpOwppZighdGhpcy5sYXN0UG9zaXRpb25BYnMpdGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicztpZih0aGlzLm9wdGlvbnMuc2Nyb2xsKXt2YXIgYj10aGlzLm9wdGlvbnMsYz1mYWxzZTtpZih0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil7aWYodGhpcy5vdmVyZmxvd09mZnNldC50b3ArdGhpcy5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0LWEucGFnZVk8Yi5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9Yz10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3ArYi5zY3JvbGxTcGVlZDtlbHNlIGlmKGEucGFnZVktdGhpcy5vdmVyZmxvd09mZnNldC50b3A8Yi5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9Yz10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3AtYi5zY3JvbGxTcGVlZDtpZih0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQrCnRoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWEucGFnZVg8Yi5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWM9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdCtiLnNjcm9sbFNwZWVkO2Vsc2UgaWYoYS5wYWdlWC10aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQ8Yi5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWM9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1iLnNjcm9sbFNwZWVkfWVsc2V7aWYoYS5wYWdlWS1kKGRvY3VtZW50KS5zY3JvbGxUb3AoKTxiLnNjcm9sbFNlbnNpdGl2aXR5KWM9ZChkb2N1bWVudCkuc2Nyb2xsVG9wKGQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLWIuc2Nyb2xsU3BlZWQpO2Vsc2UgaWYoZCh3aW5kb3cpLmhlaWdodCgpLShhLnBhZ2VZLWQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxiLnNjcm9sbFNlbnNpdGl2aXR5KWM9ZChkb2N1bWVudCkuc2Nyb2xsVG9wKGQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKwpiLnNjcm9sbFNwZWVkKTtpZihhLnBhZ2VYLWQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTxiLnNjcm9sbFNlbnNpdGl2aXR5KWM9ZChkb2N1bWVudCkuc2Nyb2xsTGVmdChkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCktYi5zY3JvbGxTcGVlZCk7ZWxzZSBpZihkKHdpbmRvdykud2lkdGgoKS0oYS5wYWdlWC1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGIuc2Nyb2xsU2Vuc2l0aXZpdHkpYz1kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStiLnNjcm9sbFNwZWVkKX1jIT09ZmFsc2UmJmQudWkuZGRtYW5hZ2VyJiYhYi5kcm9wQmVoYXZpb3VyJiZkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGEpfXRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMuYXhpcyE9InkiKXRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KwoicHgiO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ4Iil0aGlzLmhlbHBlclswXS5zdHlsZS50b3A9dGhpcy5wb3NpdGlvbi50b3ArInB4Ijtmb3IoYj10aGlzLml0ZW1zLmxlbmd0aC0xO2I+PTA7Yi0tKXtjPXRoaXMuaXRlbXNbYl07dmFyIGU9Yy5pdGVtWzBdLGY9dGhpcy5faW50ZXJzZWN0c1dpdGhQb2ludGVyKGMpO2lmKGYpaWYoZSE9dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5wbGFjZWhvbGRlcltmPT0xPyJuZXh0IjoicHJldiJdKClbMF0hPWUmJiFkLnVpLmNvbnRhaW5zKHRoaXMucGxhY2Vob2xkZXJbMF0sZSkmJih0aGlzLm9wdGlvbnMudHlwZT09InNlbWktZHluYW1pYyI/IWQudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLGUpOnRydWUpKXt0aGlzLmRpcmVjdGlvbj1mPT0xPyJkb3duIjoidXAiO2lmKHRoaXMub3B0aW9ucy50b2xlcmFuY2U9PSJwb2ludGVyInx8dGhpcy5faW50ZXJzZWN0c1dpdGhTaWRlcyhjKSl0aGlzLl9yZWFycmFuZ2UoYSwKYyk7ZWxzZSBicmVhazt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGEsdGhpcy5fdWlIYXNoKCkpO2JyZWFrfX10aGlzLl9jb250YWN0Q29udGFpbmVycyhhKTtkLnVpLmRkbWFuYWdlciYmZC51aS5kZG1hbmFnZXIuZHJhZyh0aGlzLGEpO3RoaXMuX3RyaWdnZXIoInNvcnQiLGEsdGhpcy5fdWlIYXNoKCkpO3RoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnM7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGEsYil7aWYoYSl7ZC51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciYmZC51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGEpO2lmKHRoaXMub3B0aW9ucy5yZXZlcnQpe3ZhciBjPXRoaXM7Yj1jLnBsYWNlaG9sZGVyLm9mZnNldCgpO2MucmV2ZXJ0aW5nPXRydWU7ZCh0aGlzLmhlbHBlcikuYW5pbWF0ZSh7bGVmdDpiLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQtYy5tYXJnaW5zLmxlZnQrKHRoaXMub2Zmc2V0UGFyZW50WzBdPT0KZG9jdW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50WzBdLnNjcm9sbExlZnQpLHRvcDpiLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLWMubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKX0scGFyc2VJbnQodGhpcy5vcHRpb25zLnJldmVydCwxMCl8fDUwMCxmdW5jdGlvbigpe2MuX2NsZWFyKGEpfSl9ZWxzZSB0aGlzLl9jbGVhcihhLGIpO3JldHVybiBmYWxzZX19LGNhbmNlbDpmdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5kcmFnZ2luZyl7dGhpcy5fbW91c2VVcCgpO3RoaXMub3B0aW9ucy5oZWxwZXI9PSJvcmlnaW5hbCI/dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik6dGhpcy5jdXJyZW50SXRlbS5zaG93KCk7Zm9yKHZhciBiPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtiPj0wO2ItLSl7dGhpcy5jb250YWluZXJzW2JdLl90cmlnZ2VyKCJkZWFjdGl2YXRlIiwKbnVsbCxhLl91aUhhc2godGhpcykpO2lmKHRoaXMuY29udGFpbmVyc1tiXS5jb250YWluZXJDYWNoZS5vdmVyKXt0aGlzLmNvbnRhaW5lcnNbYl0uX3RyaWdnZXIoIm91dCIsbnVsbCxhLl91aUhhc2godGhpcykpO3RoaXMuY29udGFpbmVyc1tiXS5jb250YWluZXJDYWNoZS5vdmVyPTB9fX10aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUmJnRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTt0aGlzLm9wdGlvbnMuaGVscGVyIT0ib3JpZ2luYWwiJiZ0aGlzLmhlbHBlciYmdGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7ZC5leHRlbmQodGhpcyx7aGVscGVyOm51bGwsZHJhZ2dpbmc6ZmFsc2UscmV2ZXJ0aW5nOmZhbHNlLF9ub0ZpbmFsU29ydDpudWxsfSk7dGhpcy5kb21Qb3NpdGlvbi5wcmV2P2QodGhpcy5kb21Qb3NpdGlvbi5wcmV2KS5hZnRlcih0aGlzLmN1cnJlbnRJdGVtKToKZCh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKTtyZXR1cm4gdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldEl0ZW1zQXNqUXVlcnkoYSYmYS5jb25uZWN0ZWQpLGM9W107YT1hfHx7fTtkKGIpLmVhY2goZnVuY3Rpb24oKXt2YXIgZT0oZChhLml0ZW18fHRoaXMpLmF0dHIoYS5hdHRyaWJ1dGV8fCJpZCIpfHwiIikubWF0Y2goYS5leHByZXNzaW9ufHwvKC4rKVstPV9dKC4rKS8pO2lmKGUpYy5wdXNoKChhLmtleXx8ZVsxXSsiW10iKSsiPSIrKGEua2V5JiZhLmV4cHJlc3Npb24/ZVsxXTplWzJdKSl9KTshYy5sZW5ndGgmJmEua2V5JiZjLnB1c2goYS5rZXkrIj0iKTtyZXR1cm4gYy5qb2luKCImIil9LHRvQXJyYXk6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fZ2V0SXRlbXNBc2pRdWVyeShhJiZhLmNvbm5lY3RlZCksYz1bXTthPWF8fHt9O2IuZWFjaChmdW5jdGlvbigpe2MucHVzaChkKGEuaXRlbXx8dGhpcykuYXR0cihhLmF0dHJpYnV0ZXx8CiJpZCIpfHwiIil9KTtyZXR1cm4gY30sX2ludGVyc2VjdHNXaXRoOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucG9zaXRpb25BYnMubGVmdCxjPWIrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxlPXRoaXMucG9zaXRpb25BYnMudG9wLGY9ZSt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxnPWEubGVmdCxoPWcrYS53aWR0aCxpPWEudG9wLGs9aSthLmhlaWdodCxqPXRoaXMub2Zmc2V0LmNsaWNrLnRvcCxsPXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aj1lK2o+aSYmZStqPGsmJmIrbD5nJiZiK2w8aDtyZXR1cm4gdGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIifHx0aGlzLm9wdGlvbnMuZm9yY2VQb2ludGVyRm9yQ29udGFpbmVyc3x8dGhpcy5vcHRpb25zLnRvbGVyYW5jZSE9InBvaW50ZXIiJiZ0aGlzLmhlbHBlclByb3BvcnRpb25zW3RoaXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0+YVt0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdP2o6ZzxiKwp0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzImJmMtdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yPGgmJmk8ZSt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yJiZmLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI8a30sX2ludGVyc2VjdHNXaXRoUG9pbnRlcjpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGEudG9wLGEuaGVpZ2h0KTthPWQudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxhLmxlZnQsYS53aWR0aCk7Yj1iJiZhO2E9dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCk7dmFyIGM9dGhpcy5fZ2V0RHJhZ0hvcml6b250YWxEaXJlY3Rpb24oKTtpZighYilyZXR1cm4gZmFsc2U7cmV0dXJuIHRoaXMuZmxvYXRpbmc/YyYmYz09InJpZ2h0Inx8YT09ImRvd24iPzI6MTphJiYoYT09ImRvd24iPwoyOjEpfSxfaW50ZXJzZWN0c1dpdGhTaWRlczpmdW5jdGlvbihhKXt2YXIgYj1kLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGEudG9wK2EuaGVpZ2h0LzIsYS5oZWlnaHQpO2E9ZC51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMubGVmdCt0aGlzLm9mZnNldC5jbGljay5sZWZ0LGEubGVmdCthLndpZHRoLzIsYS53aWR0aCk7dmFyIGM9dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCksZT10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO3JldHVybiB0aGlzLmZsb2F0aW5nJiZlP2U9PSJyaWdodCImJmF8fGU9PSJsZWZ0IiYmIWE6YyYmKGM9PSJkb3duIiYmYnx8Yz09InVwIiYmIWIpfSxfZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5wb3NpdGlvbkFicy50b3AtdGhpcy5sYXN0UG9zaXRpb25BYnMudG9wO3JldHVybiBhIT0wJiYoYT4wPyJkb3duIjoidXAiKX0sCl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLmxhc3RQb3NpdGlvbkFicy5sZWZ0O3JldHVybiBhIT0wJiYoYT4wPyJyaWdodCI6ImxlZnQiKX0scmVmcmVzaDpmdW5jdGlvbihhKXt0aGlzLl9yZWZyZXNoSXRlbXMoYSk7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7cmV0dXJuIHRoaXN9LF9jb25uZWN0V2l0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucztyZXR1cm4gYS5jb25uZWN0V2l0aC5jb25zdHJ1Y3Rvcj09U3RyaW5nP1thLmNvbm5lY3RXaXRoXTphLmNvbm5lY3RXaXRofSxfZ2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGU9dGhpcy5fY29ubmVjdFdpdGgoKTtpZihlJiZhKWZvcihhPWUubGVuZ3RoLTE7YT49MDthLS0pZm9yKHZhciBmPWQoZVthXSksZz1mLmxlbmd0aC0xO2c+PTA7Zy0tKXt2YXIgaD1kLmRhdGEoZltnXSwic29ydGFibGUiKTtpZihoJiZoIT0KdGhpcyYmIWgub3B0aW9ucy5kaXNhYmxlZCljLnB1c2goW2QuaXNGdW5jdGlvbihoLm9wdGlvbnMuaXRlbXMpP2gub3B0aW9ucy5pdGVtcy5jYWxsKGguZWxlbWVudCk6ZChoLm9wdGlvbnMuaXRlbXMsaC5lbGVtZW50KS5ub3QoIi51aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3QoIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLGhdKX1jLnB1c2goW2QuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9ucy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudCxudWxsLHtvcHRpb25zOnRoaXMub3B0aW9ucyxpdGVtOnRoaXMuY3VycmVudEl0ZW19KTpkKHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIiksdGhpc10pO2ZvcihhPWMubGVuZ3RoLTE7YT49MDthLS0pY1thXVswXS5lYWNoKGZ1bmN0aW9uKCl7Yi5wdXNoKHRoaXMpfSk7cmV0dXJuIGQoYil9LF9yZW1vdmVDdXJyZW50c0Zyb21JdGVtczpmdW5jdGlvbigpe2Zvcih2YXIgYT0KdGhpcy5jdXJyZW50SXRlbS5maW5kKCI6ZGF0YShzb3J0YWJsZS1pdGVtKSIpLGI9MDtiPHRoaXMuaXRlbXMubGVuZ3RoO2IrKylmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPT10aGlzLml0ZW1zW2JdLml0ZW1bMF0mJnRoaXMuaXRlbXMuc3BsaWNlKGIsMSl9LF9yZWZyZXNoSXRlbXM6ZnVuY3Rpb24oYSl7dGhpcy5pdGVtcz1bXTt0aGlzLmNvbnRhaW5lcnM9W3RoaXNdO3ZhciBiPXRoaXMuaXRlbXMsYz1bW2QuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9ucy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudFswXSxhLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTpkKHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLHRoaXNdXSxlPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYoZSlmb3IodmFyIGY9ZS5sZW5ndGgtMTtmPj0wO2YtLSlmb3IodmFyIGc9ZChlW2ZdKSxoPWcubGVuZ3RoLTE7aD49MDtoLS0pe3ZhciBpPWQuZGF0YShnW2hdLCJzb3J0YWJsZSIpOwppZihpJiZpIT10aGlzJiYhaS5vcHRpb25zLmRpc2FibGVkKXtjLnB1c2goW2QuaXNGdW5jdGlvbihpLm9wdGlvbnMuaXRlbXMpP2kub3B0aW9ucy5pdGVtcy5jYWxsKGkuZWxlbWVudFswXSxhLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTpkKGkub3B0aW9ucy5pdGVtcyxpLmVsZW1lbnQpLGldKTt0aGlzLmNvbnRhaW5lcnMucHVzaChpKX19Zm9yKGY9Yy5sZW5ndGgtMTtmPj0wO2YtLSl7YT1jW2ZdWzFdO2U9Y1tmXVswXTtoPTA7Zm9yKGc9ZS5sZW5ndGg7aDxnO2grKyl7aT1kKGVbaF0pO2kuZGF0YSgic29ydGFibGUtaXRlbSIsYSk7Yi5wdXNoKHtpdGVtOmksaW5zdGFuY2U6YSx3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0b3A6MH0pfX19LHJlZnJlc2hQb3NpdGlvbnM6ZnVuY3Rpb24oYSl7aWYodGhpcy5vZmZzZXRQYXJlbnQmJnRoaXMuaGVscGVyKXRoaXMub2Zmc2V0LnBhcmVudD10aGlzLl9nZXRQYXJlbnRPZmZzZXQoKTtmb3IodmFyIGI9dGhpcy5pdGVtcy5sZW5ndGgtMTtiPj0KMDtiLS0pe3ZhciBjPXRoaXMuaXRlbXNbYl0sZT10aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudD9kKHRoaXMub3B0aW9ucy50b2xlcmFuY2VFbGVtZW50LGMuaXRlbSk6Yy5pdGVtO2lmKCFhKXtjLndpZHRoPWUub3V0ZXJXaWR0aCgpO2MuaGVpZ2h0PWUub3V0ZXJIZWlnaHQoKX1lPWUub2Zmc2V0KCk7Yy5sZWZ0PWUubGVmdDtjLnRvcD1lLnRvcH1pZih0aGlzLm9wdGlvbnMuY3VzdG9tJiZ0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzKXRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2FsbCh0aGlzKTtlbHNlIGZvcihiPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtiPj0wO2ItLSl7ZT10aGlzLmNvbnRhaW5lcnNbYl0uZWxlbWVudC5vZmZzZXQoKTt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUubGVmdD1lLmxlZnQ7dGhpcy5jb250YWluZXJzW2JdLmNvbnRhaW5lckNhY2hlLnRvcD1lLnRvcDt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUud2lkdGg9CnRoaXMuY29udGFpbmVyc1tiXS5lbGVtZW50Lm91dGVyV2lkdGgoKTt0aGlzLmNvbnRhaW5lcnNbYl0uY29udGFpbmVyQ2FjaGUuaGVpZ2h0PXRoaXMuY29udGFpbmVyc1tiXS5lbGVtZW50Lm91dGVySGVpZ2h0KCl9cmV0dXJuIHRoaXN9LF9jcmVhdGVQbGFjZWhvbGRlcjpmdW5jdGlvbihhKXt2YXIgYj1hfHx0aGlzLGM9Yi5vcHRpb25zO2lmKCFjLnBsYWNlaG9sZGVyfHxjLnBsYWNlaG9sZGVyLmNvbnN0cnVjdG9yPT1TdHJpbmcpe3ZhciBlPWMucGxhY2Vob2xkZXI7Yy5wbGFjZWhvbGRlcj17ZWxlbWVudDpmdW5jdGlvbigpe3ZhciBmPWQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLmN1cnJlbnRJdGVtWzBdLm5vZGVOYW1lKSkuYWRkQ2xhc3MoZXx8Yi5jdXJyZW50SXRlbVswXS5jbGFzc05hbWUrIiB1aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKVswXTtpZighZSlmLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJuIGZ9LAp1cGRhdGU6ZnVuY3Rpb24oZixnKXtpZighKGUmJiFjLmZvcmNlUGxhY2Vob2xkZXJTaXplKSl7Zy5oZWlnaHQoKXx8Zy5oZWlnaHQoYi5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpLXBhcnNlSW50KGIuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nVG9wIil8fDAsMTApLXBhcnNlSW50KGIuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nQm90dG9tIil8fDAsMTApKTtnLndpZHRoKCl8fGcud2lkdGgoYi5jdXJyZW50SXRlbS5pbm5lcldpZHRoKCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAsMTApLXBhcnNlSW50KGIuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8MCwxMCkpfX19fWIucGxhY2Vob2xkZXI9ZChjLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbChiLmVsZW1lbnQsYi5jdXJyZW50SXRlbSkpO2IuY3VycmVudEl0ZW0uYWZ0ZXIoYi5wbGFjZWhvbGRlcik7Yy5wbGFjZWhvbGRlci51cGRhdGUoYixiLnBsYWNlaG9sZGVyKX0sX2NvbnRhY3RDb250YWluZXJzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0KbnVsbCxjPW51bGwsZT10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZT49MDtlLS0paWYoIWQudWkuY29udGFpbnModGhpcy5jdXJyZW50SXRlbVswXSx0aGlzLmNvbnRhaW5lcnNbZV0uZWxlbWVudFswXSkpaWYodGhpcy5faW50ZXJzZWN0c1dpdGgodGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlKSl7aWYoIShiJiZkLnVpLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tlXS5lbGVtZW50WzBdLGIuZWxlbWVudFswXSkpKXtiPXRoaXMuY29udGFpbmVyc1tlXTtjPWV9fWVsc2UgaWYodGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMuY29udGFpbmVyc1tlXS5fdHJpZ2dlcigib3V0IixhLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5jb250YWluZXJzW2VdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH1pZihiKWlmKHRoaXMuY29udGFpbmVycy5sZW5ndGg9PT0xKXt0aGlzLmNvbnRhaW5lcnNbY10uX3RyaWdnZXIoIm92ZXIiLGEsdGhpcy5fdWlIYXNoKHRoaXMpKTsKdGhpcy5jb250YWluZXJzW2NdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX1lbHNlIGlmKHRoaXMuY3VycmVudENvbnRhaW5lciE9dGhpcy5jb250YWluZXJzW2NdKXtiPTFFNDtlPW51bGw7Zm9yKHZhciBmPXRoaXMucG9zaXRpb25BYnNbdGhpcy5jb250YWluZXJzW2NdLmZsb2F0aW5nPyJsZWZ0IjoidG9wIl0sZz10aGlzLml0ZW1zLmxlbmd0aC0xO2c+PTA7Zy0tKWlmKGQudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2NdLmVsZW1lbnRbMF0sdGhpcy5pdGVtc1tnXS5pdGVtWzBdKSl7dmFyIGg9dGhpcy5pdGVtc1tnXVt0aGlzLmNvbnRhaW5lcnNbY10uZmxvYXRpbmc/ImxlZnQiOiJ0b3AiXTtpZihNYXRoLmFicyhoLWYpPGIpe2I9TWF0aC5hYnMoaC1mKTtlPXRoaXMuaXRlbXNbZ119fWlmKGV8fHRoaXMub3B0aW9ucy5kcm9wT25FbXB0eSl7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXMuY29udGFpbmVyc1tjXTtlP3RoaXMuX3JlYXJyYW5nZShhLGUsbnVsbCx0cnVlKTp0aGlzLl9yZWFycmFuZ2UoYSwKbnVsbCx0aGlzLmNvbnRhaW5lcnNbY10uZWxlbWVudCx0cnVlKTt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGEsdGhpcy5fdWlIYXNoKCkpO3RoaXMuY29udGFpbmVyc1tjXS5fdHJpZ2dlcigiY2hhbmdlIixhLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlcik7dGhpcy5jb250YWluZXJzW2NdLl90cmlnZ2VyKCJvdmVyIixhLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5jb250YWluZXJzW2NdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19fSxfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub3B0aW9uczthPWQuaXNGdW5jdGlvbihiLmhlbHBlcik/ZChiLmhlbHBlci5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW2EsdGhpcy5jdXJyZW50SXRlbV0pKTpiLmhlbHBlcj09ImNsb25lIj90aGlzLmN1cnJlbnRJdGVtLmNsb25lKCk6dGhpcy5jdXJyZW50SXRlbTthLnBhcmVudHMoImJvZHkiKS5sZW5ndGh8fApkKGIuYXBwZW5kVG8hPSJwYXJlbnQiP2IuYXBwZW5kVG86dGhpcy5jdXJyZW50SXRlbVswXS5wYXJlbnROb2RlKVswXS5hcHBlbmRDaGlsZChhWzBdKTtpZihhWzBdPT10aGlzLmN1cnJlbnRJdGVtWzBdKXRoaXMuX3N0b3JlZENTUz17d2lkdGg6dGhpcy5jdXJyZW50SXRlbVswXS5zdHlsZS53aWR0aCxoZWlnaHQ6dGhpcy5jdXJyZW50SXRlbVswXS5zdHlsZS5oZWlnaHQscG9zaXRpb246dGhpcy5jdXJyZW50SXRlbS5jc3MoInBvc2l0aW9uIiksdG9wOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJ0b3AiKSxsZWZ0OnRoaXMuY3VycmVudEl0ZW0uY3NzKCJsZWZ0Iil9O2lmKGFbMF0uc3R5bGUud2lkdGg9PSIifHxiLmZvcmNlSGVscGVyU2l6ZSlhLndpZHRoKHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSk7aWYoYVswXS5zdHlsZS5oZWlnaHQ9PSIifHxiLmZvcmNlSGVscGVyU2l6ZSlhLmhlaWdodCh0aGlzLmN1cnJlbnRJdGVtLmhlaWdodCgpKTtyZXR1cm4gYX0sX2FkanVzdE9mZnNldEZyb21IZWxwZXI6ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PQoic3RyaW5nIilhPWEuc3BsaXQoIiAiKTtpZihkLmlzQXJyYXkoYSkpYT17bGVmdDorYVswXSx0b3A6K2FbMV18fDB9O2lmKCJsZWZ0ImluIGEpdGhpcy5vZmZzZXQuY2xpY2subGVmdD1hLmxlZnQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInJpZ2h0ImluIGEpdGhpcy5vZmZzZXQuY2xpY2subGVmdD10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLWEucmlnaHQrdGhpcy5tYXJnaW5zLmxlZnQ7aWYoInRvcCJpbiBhKXRoaXMub2Zmc2V0LmNsaWNrLnRvcD1hLnRvcCt0aGlzLm1hcmdpbnMudG9wO2lmKCJib3R0b20iaW4gYSl0aGlzLm9mZnNldC5jbGljay50b3A9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtYS5ib3R0b20rdGhpcy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO2lmKHRoaXMuY3NzUG9zaXRpb249PQoiYWJzb2x1dGUiJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKXthLmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTthLnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCl9aWYodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJnRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09Imh0bWwiJiZkLmJyb3dzZXIubXNpZSlhPXt0b3A6MCxsZWZ0OjB9O3JldHVybnt0b3A6YS50b3ArKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLGxlZnQ6YS5sZWZ0KyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCl9fSxfZ2V0UmVsYXRpdmVPZmZzZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmNzc1Bvc2l0aW9uPT0KInJlbGF0aXZlIil7dmFyIGE9dGhpcy5jdXJyZW50SXRlbS5wb3NpdGlvbigpO3JldHVybnt0b3A6YS50b3AtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OmEubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2UgcmV0dXJue3RvcDowLGxlZnQ6MH19LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpbkxlZnQiKSwxMCl8fDAsdG9wOnBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVyUHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKX19LApfc2V0Q29udGFpbm1lbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7aWYoYS5jb250YWlubWVudD09InBhcmVudCIpYS5jb250YWlubWVudD10aGlzLmhlbHBlclswXS5wYXJlbnROb2RlO2lmKGEuY29udGFpbm1lbnQ9PSJkb2N1bWVudCJ8fGEuY29udGFpbm1lbnQ9PSJ3aW5kb3ciKXRoaXMuY29udGFpbm1lbnQ9WzAtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCwwLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLGQoYS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwoZChhLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50OndpbmRvdykuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LQp0aGlzLm1hcmdpbnMudG9wXTtpZighL14oZG9jdW1lbnR8d2luZG93fHBhcmVudCkkLy50ZXN0KGEuY29udGFpbm1lbnQpKXt2YXIgYj1kKGEuY29udGFpbm1lbnQpWzBdO2E9ZChhLmNvbnRhaW5tZW50KS5vZmZzZXQoKTt2YXIgYz1kKGIpLmNzcygib3ZlcmZsb3ciKSE9ImhpZGRlbiI7dGhpcy5jb250YWlubWVudD1bYS5sZWZ0KyhwYXJzZUludChkKGIpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwKS10aGlzLm1hcmdpbnMubGVmdCxhLnRvcCsocGFyc2VJbnQoZChiKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLXRoaXMubWFyZ2lucy50b3AsYS5sZWZ0KyhjP01hdGgubWF4KGIuc2Nyb2xsV2lkdGgsYi5vZmZzZXRXaWR0aCk6Yi5vZmZzZXRXaWR0aCktKHBhcnNlSW50KGQoYikuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwKMTApfHwwKS0ocGFyc2VJbnQoZChiKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCxhLnRvcCsoYz9NYXRoLm1heChiLnNjcm9sbEhlaWdodCxiLm9mZnNldEhlaWdodCk6Yi5vZmZzZXRIZWlnaHQpLShwYXJzZUludChkKGIpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChkKGIpLmNzcygicGFkZGluZ0JvdHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF19fSxfY29udmVydFBvc2l0aW9uVG86ZnVuY3Rpb24oYSxiKXtpZighYiliPXRoaXMucG9zaXRpb247YT1hPT0iYWJzb2x1dGUiPzE6LTE7dmFyIGM9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmQudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT8KdGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsZT0vKGh0bWx8Ym9keSkvaS50ZXN0KGNbMF0udGFnTmFtZSk7cmV0dXJue3RvcDpiLnRvcCt0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AqYSt0aGlzLm9mZnNldC5wYXJlbnQudG9wKmEtKGQuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6ZT8wOmMuc2Nyb2xsVG9wKCkpKmEpLGxlZnQ6Yi5sZWZ0K3RoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQqYSt0aGlzLm9mZnNldC5wYXJlbnQubGVmdCphLShkLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTplPzA6Yy5zY3JvbGxMZWZ0KCkpKmEpfX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9CnRoaXMub3B0aW9ucyxjPXRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZkLnVpLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5vZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsZT0vKGh0bWx8Ym9keSkvaS50ZXN0KGNbMF0udGFnTmFtZSk7aWYodGhpcy5jc3NQb3NpdGlvbj09InJlbGF0aXZlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50WzBdIT10aGlzLm9mZnNldFBhcmVudFswXSkpdGhpcy5vZmZzZXQucmVsYXRpdmU9dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKTt2YXIgZj1hLnBhZ2VYLGc9YS5wYWdlWTtpZih0aGlzLm9yaWdpbmFsUG9zaXRpb24pe2lmKHRoaXMuY29udGFpbm1lbnQpe2lmKGEucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdKWY9dGhpcy5jb250YWlubWVudFswXSsKdGhpcy5vZmZzZXQuY2xpY2subGVmdDtpZihhLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKWc9dGhpcy5jb250YWlubWVudFsxXSt0aGlzLm9mZnNldC5jbGljay50b3A7aWYoYS5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0pZj10aGlzLmNvbnRhaW5tZW50WzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSlnPXRoaXMuY29udGFpbm1lbnRbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wfWlmKGIuZ3JpZCl7Zz10aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgoZy10aGlzLm9yaWdpbmFsUGFnZVkpL2IuZ3JpZFsxXSkqYi5ncmlkWzFdO2c9dGhpcy5jb250YWlubWVudD8hKGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV18fGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10pPwpnOiEoZy10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVudFsxXSk/Zy1iLmdyaWRbMV06ZytiLmdyaWRbMV06ZztmPXRoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChmLXRoaXMub3JpZ2luYWxQYWdlWCkvYi5ncmlkWzBdKSpiLmdyaWRbMF07Zj10aGlzLmNvbnRhaW5tZW50PyEoZi10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF18fGYtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5tZW50WzJdKT9mOiEoZi10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0pP2YtYi5ncmlkWzBdOmYrYi5ncmlkWzBdOmZ9fXJldHVybnt0b3A6Zy10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGQuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKToKZT8wOmMuc2Nyb2xsVG9wKCkpLGxlZnQ6Zi10aGlzLm9mZnNldC5jbGljay5sZWZ0LXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQrKGQuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6ZT8wOmMuc2Nyb2xsTGVmdCgpKX19LF9yZWFycmFuZ2U6ZnVuY3Rpb24oYSxiLGMsZSl7Yz9jWzBdLmFwcGVuZENoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pOmIuaXRlbVswXS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnBsYWNlaG9sZGVyWzBdLHRoaXMuZGlyZWN0aW9uPT0iZG93biI/Yi5pdGVtWzBdOmIuaXRlbVswXS5uZXh0U2libGluZyk7dGhpcy5jb3VudGVyPXRoaXMuY291bnRlcj8rK3RoaXMuY291bnRlcjoxO3ZhciBmPXRoaXMsZz10aGlzLmNvdW50ZXI7d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtnPT0KZi5jb3VudGVyJiZmLnJlZnJlc2hQb3NpdGlvbnMoIWUpfSwwKX0sX2NsZWFyOmZ1bmN0aW9uKGEsYil7dGhpcy5yZXZlcnRpbmc9ZmFsc2U7dmFyIGM9W107IXRoaXMuX25vRmluYWxTb3J0JiZ0aGlzLmN1cnJlbnRJdGVtWzBdLnBhcmVudE5vZGUmJnRoaXMucGxhY2Vob2xkZXIuYmVmb3JlKHRoaXMuY3VycmVudEl0ZW0pO3RoaXMuX25vRmluYWxTb3J0PW51bGw7aWYodGhpcy5oZWxwZXJbMF09PXRoaXMuY3VycmVudEl0ZW1bMF0pe2Zvcih2YXIgZSBpbiB0aGlzLl9zdG9yZWRDU1MpaWYodGhpcy5fc3RvcmVkQ1NTW2VdPT0iYXV0byJ8fHRoaXMuX3N0b3JlZENTU1tlXT09InN0YXRpYyIpdGhpcy5fc3RvcmVkQ1NTW2VdPSIiO3RoaXMuY3VycmVudEl0ZW0uY3NzKHRoaXMuX3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpfWVsc2UgdGhpcy5jdXJyZW50SXRlbS5zaG93KCk7dGhpcy5mcm9tT3V0c2lkZSYmIWImJmMucHVzaChmdW5jdGlvbihmKXt0aGlzLl90cmlnZ2VyKCJyZWNlaXZlIiwKZix0aGlzLl91aUhhc2godGhpcy5mcm9tT3V0c2lkZSkpfSk7aWYoKHRoaXMuZnJvbU91dHNpZGV8fHRoaXMuZG9tUG9zaXRpb24ucHJldiE9dGhpcy5jdXJyZW50SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF18fHRoaXMuZG9tUG9zaXRpb24ucGFyZW50IT10aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBdKSYmIWIpYy5wdXNoKGZ1bmN0aW9uKGYpe3RoaXMuX3RyaWdnZXIoInVwZGF0ZSIsZix0aGlzLl91aUhhc2goKSl9KTtpZighZC51aS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50SXRlbVswXSkpe2J8fGMucHVzaChmdW5jdGlvbihmKXt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLGYsdGhpcy5fdWlIYXNoKCkpfSk7Zm9yKGU9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKGQudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2VdLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50SXRlbVswXSkmJiFiKXtjLnB1c2goZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGcpe2YuX3RyaWdnZXIoInJlY2VpdmUiLApnLHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2VdKSk7Yy5wdXNoKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtmLl90cmlnZ2VyKCJ1cGRhdGUiLGcsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbZV0pKX19Zm9yKGU9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtifHxjLnB1c2goZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGcpe2YuX3RyaWdnZXIoImRlYWN0aXZhdGUiLGcsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbZV0pKTtpZih0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcil7Yy5wdXNoKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtmLl90cmlnZ2VyKCJvdXQiLGcsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbZV0pKTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcj0KMH19dGhpcy5fc3RvcmVkQ3Vyc29yJiZkKCJib2R5IikuY3NzKCJjdXJzb3IiLHRoaXMuX3N0b3JlZEN1cnNvcik7dGhpcy5fc3RvcmVkT3BhY2l0eSYmdGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iix0aGlzLl9zdG9yZWRPcGFjaXR5KTtpZih0aGlzLl9zdG9yZWRaSW5kZXgpdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLHRoaXMuX3N0b3JlZFpJbmRleD09ImF1dG8iPyIiOnRoaXMuX3N0b3JlZFpJbmRleCk7dGhpcy5kcmFnZ2luZz1mYWxzZTtpZih0aGlzLmNhbmNlbEhlbHBlclJlbW92YWwpe2lmKCFiKXt0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIixhLHRoaXMuX3VpSGFzaCgpKTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWNbZV0uY2FsbCh0aGlzLGEpO3RoaXMuX3RyaWdnZXIoInN0b3AiLGEsdGhpcy5fdWlIYXNoKCkpfXJldHVybiBmYWxzZX1ifHx0aGlzLl90cmlnZ2VyKCJiZWZvcmVTdG9wIixhLHRoaXMuX3VpSGFzaCgpKTt0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSk7CnRoaXMuaGVscGVyWzBdIT10aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0aGlzLmhlbHBlcj1udWxsO2lmKCFiKXtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWNbZV0uY2FsbCh0aGlzLGEpO3RoaXMuX3RyaWdnZXIoInN0b3AiLGEsdGhpcy5fdWlIYXNoKCkpfXRoaXMuZnJvbU91dHNpZGU9ZmFsc2U7cmV0dXJuIHRydWV9LF90cmlnZ2VyOmZ1bmN0aW9uKCl7ZC5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmFwcGx5KHRoaXMsYXJndW1lbnRzKT09PWZhbHNlJiZ0aGlzLmNhbmNlbCgpfSxfdWlIYXNoOmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHRoaXM7cmV0dXJue2hlbHBlcjpiLmhlbHBlcixwbGFjZWhvbGRlcjpiLnBsYWNlaG9sZGVyfHxkKFtdKSxwb3NpdGlvbjpiLnBvc2l0aW9uLG9yaWdpbmFsUG9zaXRpb246Yi5vcmlnaW5hbFBvc2l0aW9uLG9mZnNldDpiLnBvc2l0aW9uQWJzLGl0ZW06Yi5jdXJyZW50SXRlbSxzZW5kZXI6YT9hLmVsZW1lbnQ6bnVsbH19fSk7CmQuZXh0ZW5kKGQudWkuc29ydGFibGUse3ZlcnNpb246IjEuOC40In0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBBY2NvcmRpb24gMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0FjY29yZGlvbgogKgogKiBEZXBlbmRzOgogKglqcXVlcnkudWkuY29yZS5qcwogKglqcXVlcnkudWkud2lkZ2V0LmpzCiAqLwooZnVuY3Rpb24oYyl7Yy53aWRnZXQoInVpLmFjY29yZGlvbiIse29wdGlvbnM6e2FjdGl2ZTowLGFuaW1hdGVkOiJzbGlkZSIsYXV0b0hlaWdodDp0cnVlLGNsZWFyU3R5bGU6ZmFsc2UsY29sbGFwc2libGU6ZmFsc2UsZXZlbnQ6ImNsaWNrIixmaWxsU3BhY2U6ZmFsc2UsaGVhZGVyOiI+IGxpID4gOmZpcnN0LWNoaWxkLD4gOm5vdChsaSk6ZXZlbiIsaWNvbnM6e2hlYWRlcjoidWktaWNvbi10cmlhbmdsZS0xLWUiLGhlYWRlclNlbGVjdGVkOiJ1aS1pY29uLXRyaWFuZ2xlLTEtcyJ9LG5hdmlnYXRpb246ZmFsc2UsbmF2aWdhdGlvbkZpbHRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhyZWYudG9Mb3dlckNhc2UoKT09PWxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKX19LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5vcHRpb25zO2EucnVubmluZz0wO2EuZWxlbWVudC5hZGRDbGFzcygidWktYWNjb3JkaW9uIHVpLXdpZGdldCB1aS1oZWxwZXItcmVzZXQiKS5jaGlsZHJlbigibGkiKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWxpLWZpeCIpOwphLmhlYWRlcnM9YS5lbGVtZW50LmZpbmQoYi5oZWFkZXIpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWhlbHBlci1yZXNldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKS5iaW5kKCJtb3VzZWVudGVyLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtiLmRpc2FibGVkfHxjKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuYmluZCgibW91c2VsZWF2ZS5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8Yyh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmJpbmQoImZvY3VzLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtiLmRpc2FibGVkfHxjKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmluZCgiYmx1ci5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7Yi5kaXNhYmxlZHx8Yyh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pO2EuaGVhZGVycy5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIik7CmlmKGIubmF2aWdhdGlvbil7dmFyIGQ9YS5lbGVtZW50LmZpbmQoImEiKS5maWx0ZXIoYi5uYXZpZ2F0aW9uRmlsdGVyKS5lcSgwKTtpZihkLmxlbmd0aCl7dmFyIGY9ZC5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWhlYWRlciIpO2EuYWN0aXZlPWYubGVuZ3RoP2Y6ZC5jbG9zZXN0KCIudWktYWNjb3JkaW9uLWNvbnRlbnQiKS5wcmV2KCl9fWEuYWN0aXZlPWEuX2ZpbmRBY3RpdmUoYS5hY3RpdmV8fGIuYWN0aXZlKS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1zdGF0ZS1hY3RpdmUiKS50b2dnbGVDbGFzcygidWktY29ybmVyLWFsbCB1aS1jb3JuZXItdG9wIik7YS5hY3RpdmUubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKTthLl9jcmVhdGVJY29ucygpO2EucmVzaXplKCk7YS5lbGVtZW50LmF0dHIoInJvbGUiLCJ0YWJsaXN0Iik7YS5oZWFkZXJzLmF0dHIoInJvbGUiLCJ0YWIiKS5iaW5kKCJrZXlkb3duLmFjY29yZGlvbiIsZnVuY3Rpb24oZyl7cmV0dXJuIGEuX2tleWRvd24oZyl9KS5uZXh0KCkuYXR0cigicm9sZSIsCiJ0YWJwYW5lbCIpO2EuaGVhZGVycy5ub3QoYS5hY3RpdmV8fCIiKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLm5leHQoKS5oaWRlKCk7YS5hY3RpdmUubGVuZ3RoP2EuYWN0aXZlLmF0dHIoeyJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pOmEuaGVhZGVycy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCk7Yy5icm93c2VyLnNhZmFyaXx8YS5oZWFkZXJzLmZpbmQoImEiKS5hdHRyKCJ0YWJJbmRleCIsLTEpO2IuZXZlbnQmJmEuaGVhZGVycy5iaW5kKGIuZXZlbnQuc3BsaXQoIiAiKS5qb2luKCIuYWNjb3JkaW9uICIpKyIuYWNjb3JkaW9uIixmdW5jdGlvbihnKXthLl9jbGlja0hhbmRsZXIuY2FsbChhLGcsdGhpcyk7Zy5wcmV2ZW50RGVmYXVsdCgpfSl9LF9jcmVhdGVJY29uczpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucztpZihhLmljb25zKXtjKCI8c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVpLWljb24gIithLmljb25zLmhlYWRlcikucHJlcGVuZFRvKHRoaXMuaGVhZGVycyk7CnRoaXMuYWN0aXZlLmNoaWxkcmVuKCIudWktaWNvbiIpLnRvZ2dsZUNsYXNzKGEuaWNvbnMuaGVhZGVyKS50b2dnbGVDbGFzcyhhLmljb25zLmhlYWRlclNlbGVjdGVkKTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpfX0sX2Rlc3Ryb3lJY29uczpmdW5jdGlvbigpe3RoaXMuaGVhZGVycy5jaGlsZHJlbigiLnVpLWljb24iKS5yZW1vdmUoKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYWNjb3JkaW9uIHVpLXdpZGdldCB1aS1oZWxwZXItcmVzZXQiKS5yZW1vdmVBdHRyKCJyb2xlIik7dGhpcy5oZWFkZXJzLnVuYmluZCgiLmFjY29yZGlvbiIpLnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWFjY29yZGlvbi1kaXNhYmxlZCB1aS1oZWxwZXItcmVzZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCB1aS1jb3JuZXItdG9wIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZXhwYW5kZWQiKS5yZW1vdmVBdHRyKCJ0YWJJbmRleCIpOwp0aGlzLmhlYWRlcnMuZmluZCgiYSIpLnJlbW92ZUF0dHIoInRhYkluZGV4Iik7dGhpcy5fZGVzdHJveUljb25zKCk7dmFyIGI9dGhpcy5oZWFkZXJzLm5leHQoKS5jc3MoImRpc3BsYXkiLCIiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWFjY29yZGlvbi1jb250ZW50IHVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB1aS1hY2NvcmRpb24tZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKTtpZihhLmF1dG9IZWlnaHR8fGEuZmlsbEhlaWdodCliLmNzcygiaGVpZ2h0IiwiIik7cmV0dXJuIGMuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXtjLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YT09ImFjdGl2ZSImJnRoaXMuYWN0aXZhdGUoYik7aWYoYT09Imljb25zIil7dGhpcy5fZGVzdHJveUljb25zKCk7CmImJnRoaXMuX2NyZWF0ZUljb25zKCl9aWYoYT09ImRpc2FibGVkIil0aGlzLmhlYWRlcnMuYWRkKHRoaXMuaGVhZGVycy5uZXh0KCkpW2I/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgidWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIil9LF9rZXlkb3duOmZ1bmN0aW9uKGEpe2lmKCEodGhpcy5vcHRpb25zLmRpc2FibGVkfHxhLmFsdEtleXx8YS5jdHJsS2V5KSl7dmFyIGI9Yy51aS5rZXlDb2RlLGQ9dGhpcy5oZWFkZXJzLmxlbmd0aCxmPXRoaXMuaGVhZGVycy5pbmRleChhLnRhcmdldCksZz1mYWxzZTtzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIGIuUklHSFQ6Y2FzZSBiLkRPV046Zz10aGlzLmhlYWRlcnNbKGYrMSklZF07YnJlYWs7Y2FzZSBiLkxFRlQ6Y2FzZSBiLlVQOmc9dGhpcy5oZWFkZXJzWyhmLTErZCklZF07YnJlYWs7Y2FzZSBiLlNQQUNFOmNhc2UgYi5FTlRFUjp0aGlzLl9jbGlja0hhbmRsZXIoe3RhcmdldDphLnRhcmdldH0sYS50YXJnZXQpOwphLnByZXZlbnREZWZhdWx0KCl9aWYoZyl7YyhhLnRhcmdldCkuYXR0cigidGFiSW5kZXgiLC0xKTtjKGcpLmF0dHIoInRhYkluZGV4IiwwKTtnLmZvY3VzKCk7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zLGI7aWYoYS5maWxsU3BhY2Upe2lmKGMuYnJvd3Nlci5tc2llKXt2YXIgZD10aGlzLmVsZW1lbnQucGFyZW50KCkuY3NzKCJvdmVyZmxvdyIpO3RoaXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIil9Yj10aGlzLmVsZW1lbnQucGFyZW50KCkuaGVpZ2h0KCk7Yy5icm93c2VyLm1zaWUmJnRoaXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93IixkKTt0aGlzLmhlYWRlcnMuZWFjaChmdW5jdGlvbigpe2ItPWModGhpcykub3V0ZXJIZWlnaHQodHJ1ZSl9KTt0aGlzLmhlYWRlcnMubmV4dCgpLmVhY2goZnVuY3Rpb24oKXtjKHRoaXMpLmhlaWdodChNYXRoLm1heCgwLGItYyh0aGlzKS5pbm5lckhlaWdodCgpKwpjKHRoaXMpLmhlaWdodCgpKSl9KS5jc3MoIm92ZXJmbG93IiwiYXV0byIpfWVsc2UgaWYoYS5hdXRvSGVpZ2h0KXtiPTA7dGhpcy5oZWFkZXJzLm5leHQoKS5lYWNoKGZ1bmN0aW9uKCl7Yj1NYXRoLm1heChiLGModGhpcykuaGVpZ2h0KCIiKS5oZWlnaHQoKSl9KS5oZWlnaHQoYil9cmV0dXJuIHRoaXN9LGFjdGl2YXRlOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9ucy5hY3RpdmU9YTthPXRoaXMuX2ZpbmRBY3RpdmUoYSlbMF07dGhpcy5fY2xpY2tIYW5kbGVyKHt0YXJnZXQ6YX0sYSk7cmV0dXJuIHRoaXN9LF9maW5kQWN0aXZlOmZ1bmN0aW9uKGEpe3JldHVybiBhP3R5cGVvZiBhPT09Im51bWJlciI/dGhpcy5oZWFkZXJzLmZpbHRlcigiOmVxKCIrYSsiKSIpOnRoaXMuaGVhZGVycy5ub3QodGhpcy5oZWFkZXJzLm5vdChhKSk6YT09PWZhbHNlP2MoW10pOnRoaXMuaGVhZGVycy5maWx0ZXIoIjplcSgwKSIpfSxfY2xpY2tIYW5kbGVyOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcy5vcHRpb25zOwppZighZC5kaXNhYmxlZClpZihhLnRhcmdldCl7YT1jKGEuY3VycmVudFRhcmdldHx8Yik7Yj1hWzBdPT09dGhpcy5hY3RpdmVbMF07ZC5hY3RpdmU9ZC5jb2xsYXBzaWJsZSYmYj9mYWxzZTp0aGlzLmhlYWRlcnMuaW5kZXgoYSk7aWYoISh0aGlzLnJ1bm5pbmd8fCFkLmNvbGxhcHNpYmxlJiZiKSl7dGhpcy5hY3RpdmUucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZUNsYXNzKGQuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpLmFkZENsYXNzKGQuaWNvbnMuaGVhZGVyKTtpZighYil7YS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuY2hpbGRyZW4oIi51aS1pY29uIikucmVtb3ZlQ2xhc3MoZC5pY29ucy5oZWFkZXIpLmFkZENsYXNzKGQuaWNvbnMuaGVhZGVyU2VsZWN0ZWQpOwphLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIil9aD1hLm5leHQoKTtmPXRoaXMuYWN0aXZlLm5leHQoKTtnPXtvcHRpb25zOmQsbmV3SGVhZGVyOmImJmQuY29sbGFwc2libGU/YyhbXSk6YSxvbGRIZWFkZXI6dGhpcy5hY3RpdmUsbmV3Q29udGVudDpiJiZkLmNvbGxhcHNpYmxlP2MoW10pOmgsb2xkQ29udGVudDpmfTtkPXRoaXMuaGVhZGVycy5pbmRleCh0aGlzLmFjdGl2ZVswXSk+dGhpcy5oZWFkZXJzLmluZGV4KGFbMF0pO3RoaXMuYWN0aXZlPWI/YyhbXSk6YTt0aGlzLl90b2dnbGUoaCxmLGcsYixkKX19ZWxzZSBpZihkLmNvbGxhcHNpYmxlKXt0aGlzLmFjdGl2ZS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiKS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIikuY2hpbGRyZW4oIi51aS1pY29uIikucmVtb3ZlQ2xhc3MoZC5pY29ucy5oZWFkZXJTZWxlY3RlZCkuYWRkQ2xhc3MoZC5pY29ucy5oZWFkZXIpOwp0aGlzLmFjdGl2ZS5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO3ZhciBmPXRoaXMuYWN0aXZlLm5leHQoKSxnPXtvcHRpb25zOmQsbmV3SGVhZGVyOmMoW10pLG9sZEhlYWRlcjpkLmFjdGl2ZSxuZXdDb250ZW50OmMoW10pLG9sZENvbnRlbnQ6Zn0saD10aGlzLmFjdGl2ZT1jKFtdKTt0aGlzLl90b2dnbGUoaCxmLGcpfX0sX3RvZ2dsZTpmdW5jdGlvbihhLGIsZCxmLGcpe3ZhciBoPXRoaXMsZT1oLm9wdGlvbnM7aC50b1Nob3c9YTtoLnRvSGlkZT1iO2guZGF0YT1kO3ZhciBqPWZ1bmN0aW9uKCl7aWYoaClyZXR1cm4gaC5fY29tcGxldGVkLmFwcGx5KGgsYXJndW1lbnRzKX07aC5fdHJpZ2dlcigiY2hhbmdlc3RhcnQiLG51bGwsaC5kYXRhKTtoLnJ1bm5pbmc9Yi5zaXplKCk9PT0wP2Euc2l6ZSgpOmIuc2l6ZSgpO2lmKGUuYW5pbWF0ZWQpe2Q9e307ZD1lLmNvbGxhcHNpYmxlJiZmP3t0b1Nob3c6YyhbXSksdG9IaWRlOmIsY29tcGxldGU6aiwKZG93bjpnLGF1dG9IZWlnaHQ6ZS5hdXRvSGVpZ2h0fHxlLmZpbGxTcGFjZX06e3RvU2hvdzphLHRvSGlkZTpiLGNvbXBsZXRlOmosZG93bjpnLGF1dG9IZWlnaHQ6ZS5hdXRvSGVpZ2h0fHxlLmZpbGxTcGFjZX07aWYoIWUucHJveGllZCllLnByb3hpZWQ9ZS5hbmltYXRlZDtpZighZS5wcm94aWVkRHVyYXRpb24pZS5wcm94aWVkRHVyYXRpb249ZS5kdXJhdGlvbjtlLmFuaW1hdGVkPWMuaXNGdW5jdGlvbihlLnByb3hpZWQpP2UucHJveGllZChkKTplLnByb3hpZWQ7ZS5kdXJhdGlvbj1jLmlzRnVuY3Rpb24oZS5wcm94aWVkRHVyYXRpb24pP2UucHJveGllZER1cmF0aW9uKGQpOmUucHJveGllZER1cmF0aW9uO2Y9Yy51aS5hY2NvcmRpb24uYW5pbWF0aW9uczt2YXIgaT1lLmR1cmF0aW9uLGs9ZS5hbmltYXRlZDtpZihrJiYhZltrXSYmIWMuZWFzaW5nW2tdKWs9InNsaWRlIjtmW2tdfHwoZltrXT1mdW5jdGlvbihsKXt0aGlzLnNsaWRlKGwse2Vhc2luZzprLGR1cmF0aW9uOml8fDcwMH0pfSk7CmZba10oZCl9ZWxzZXtpZihlLmNvbGxhcHNpYmxlJiZmKWEudG9nZ2xlKCk7ZWxzZXtiLmhpZGUoKTthLnNob3coKX1qKHRydWUpfWIucHJldigpLmF0dHIoeyJhcmlhLWV4cGFuZGVkIjoiZmFsc2UiLHRhYkluZGV4Oi0xfSkuYmx1cigpO2EucHJldigpLmF0dHIoeyJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pLmZvY3VzKCl9LF9jb21wbGV0ZWQ6ZnVuY3Rpb24oYSl7dGhpcy5ydW5uaW5nPWE/MDotLXRoaXMucnVubmluZztpZighdGhpcy5ydW5uaW5nKXt0aGlzLm9wdGlvbnMuY2xlYXJTdHlsZSYmdGhpcy50b1Nob3cuYWRkKHRoaXMudG9IaWRlKS5jc3Moe2hlaWdodDoiIixvdmVyZmxvdzoiIn0pO3RoaXMudG9IaWRlLnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKTt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLG51bGwsdGhpcy5kYXRhKX19fSk7Yy5leHRlbmQoYy51aS5hY2NvcmRpb24se3ZlcnNpb246IjEuOC40IixhbmltYXRpb25zOntzbGlkZTpmdW5jdGlvbihhLApiKXthPWMuZXh0ZW5kKHtlYXNpbmc6InN3aW5nIixkdXJhdGlvbjozMDB9LGEsYik7aWYoYS50b0hpZGUuc2l6ZSgpKWlmKGEudG9TaG93LnNpemUoKSl7dmFyIGQ9YS50b1Nob3cuY3NzKCJvdmVyZmxvdyIpLGY9MCxnPXt9LGg9e30sZTtiPWEudG9TaG93O2U9YlswXS5zdHlsZS53aWR0aDtiLndpZHRoKHBhcnNlSW50KGIucGFyZW50KCkud2lkdGgoKSwxMCktcGFyc2VJbnQoYi5jc3MoInBhZGRpbmdMZWZ0IiksMTApLXBhcnNlSW50KGIuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCktKHBhcnNlSW50KGIuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludChiLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLDEwKXx8MCkpO2MuZWFjaChbImhlaWdodCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sZnVuY3Rpb24oaixpKXtoW2ldPSJoaWRlIjtqPSgiIitjLmNzcyhhLnRvU2hvd1swXSxpKSkubWF0Y2goL14oW1xkKy0uXSspKC4qKSQvKTtnW2ldPXt2YWx1ZTpqWzFdLAp1bml0OmpbMl18fCJweCJ9fSk7YS50b1Nob3cuY3NzKHtoZWlnaHQ6MCxvdmVyZmxvdzoiaGlkZGVuIn0pLnNob3coKTthLnRvSGlkZS5maWx0ZXIoIjpoaWRkZW4iKS5lYWNoKGEuY29tcGxldGUpLmVuZCgpLmZpbHRlcigiOnZpc2libGUiKS5hbmltYXRlKGgse3N0ZXA6ZnVuY3Rpb24oaixpKXtpZihpLnByb3A9PSJoZWlnaHQiKWY9aS5lbmQtaS5zdGFydD09PTA/MDooaS5ub3ctaS5zdGFydCkvKGkuZW5kLWkuc3RhcnQpO2EudG9TaG93WzBdLnN0eWxlW2kucHJvcF09ZipnW2kucHJvcF0udmFsdWUrZ1tpLnByb3BdLnVuaXR9LGR1cmF0aW9uOmEuZHVyYXRpb24sZWFzaW5nOmEuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7YS5hdXRvSGVpZ2h0fHxhLnRvU2hvdy5jc3MoImhlaWdodCIsIiIpO2EudG9TaG93LmNzcyh7d2lkdGg6ZSxvdmVyZmxvdzpkfSk7YS5jb21wbGV0ZSgpfX0pfWVsc2UgYS50b0hpZGUuYW5pbWF0ZSh7aGVpZ2h0OiJoaWRlIixwYWRkaW5nVG9wOiJoaWRlIiwKcGFkZGluZ0JvdHRvbToiaGlkZSJ9LGEpO2Vsc2UgYS50b1Nob3cuYW5pbWF0ZSh7aGVpZ2h0OiJzaG93IixwYWRkaW5nVG9wOiJzaG93IixwYWRkaW5nQm90dG9tOiJzaG93In0sYSl9LGJvdW5jZXNsaWRlOmZ1bmN0aW9uKGEpe3RoaXMuc2xpZGUoYSx7ZWFzaW5nOmEuZG93bj8iZWFzZU91dEJvdW5jZSI6InN3aW5nIixkdXJhdGlvbjphLmRvd24/MUUzOjIwMH0pfX19KX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgQXV0b2NvbXBsZXRlIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BdXRvY29tcGxldGUKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLmNvcmUuanMKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKglqcXVlcnkudWkucG9zaXRpb24uanMKICovCihmdW5jdGlvbihlKXtlLndpZGdldCgidWkuYXV0b2NvbXBsZXRlIix7b3B0aW9uczp7YXBwZW5kVG86ImJvZHkiLGRlbGF5OjMwMCxtaW5MZW5ndGg6MSxwb3NpdGlvbjp7bXk6ImxlZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHNvdXJjZTpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPXRoaXMuZWxlbWVudFswXS5vd25lckRvY3VtZW50O3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlLWlucHV0IikuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIikuYXR0cih7cm9sZToidGV4dGJveCIsImFyaWEtYXV0b2NvbXBsZXRlIjoibGlzdCIsImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pLmJpbmQoImtleWRvd24uYXV0b2NvbXBsZXRlIixmdW5jdGlvbihjKXtpZighYS5vcHRpb25zLmRpc2FibGVkKXt2YXIgZD1lLnVpLmtleUNvZGU7c3dpdGNoKGMua2V5Q29kZSl7Y2FzZSBkLlBBR0VfVVA6YS5fbW92ZSgicHJldmlvdXNQYWdlIiwKYyk7YnJlYWs7Y2FzZSBkLlBBR0VfRE9XTjphLl9tb3ZlKCJuZXh0UGFnZSIsYyk7YnJlYWs7Y2FzZSBkLlVQOmEuX21vdmUoInByZXZpb3VzIixjKTtjLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBkLkRPV046YS5fbW92ZSgibmV4dCIsYyk7Yy5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgZC5FTlRFUjpjYXNlIGQuTlVNUEFEX0VOVEVSOmEubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpJiZjLnByZXZlbnREZWZhdWx0KCk7Y2FzZSBkLlRBQjppZighYS5tZW51LmFjdGl2ZSlyZXR1cm47YS5tZW51LnNlbGVjdChjKTticmVhaztjYXNlIGQuRVNDQVBFOmEuZWxlbWVudC52YWwoYS50ZXJtKTthLmNsb3NlKGMpO2JyZWFrO2RlZmF1bHQ6Y2xlYXJUaW1lb3V0KGEuc2VhcmNoaW5nKTthLnNlYXJjaGluZz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoYS50ZXJtIT1hLmVsZW1lbnQudmFsKCkpe2Euc2VsZWN0ZWRJdGVtPW51bGw7YS5zZWFyY2gobnVsbCxjKX19LGEub3B0aW9ucy5kZWxheSk7CmJyZWFrfX19KS5iaW5kKCJmb2N1cy5hdXRvY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWEub3B0aW9ucy5kaXNhYmxlZCl7YS5zZWxlY3RlZEl0ZW09bnVsbDthLnByZXZpb3VzPWEuZWxlbWVudC52YWwoKX19KS5iaW5kKCJibHVyLmF1dG9jb21wbGV0ZSIsZnVuY3Rpb24oYyl7aWYoIWEub3B0aW9ucy5kaXNhYmxlZCl7Y2xlYXJUaW1lb3V0KGEuc2VhcmNoaW5nKTthLmNsb3Npbmc9c2V0VGltZW91dChmdW5jdGlvbigpe2EuY2xvc2UoYyk7YS5fY2hhbmdlKGMpfSwxNTApfX0pO3RoaXMuX2luaXRTb3VyY2UoKTt0aGlzLnJlc3BvbnNlPWZ1bmN0aW9uKCl7cmV0dXJuIGEuX3Jlc3BvbnNlLmFwcGx5KGEsYXJndW1lbnRzKX07dGhpcy5tZW51PWUoIjx1bD48L3VsPiIpLmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUiKS5hcHBlbmRUbyhlKHRoaXMub3B0aW9ucy5hcHBlbmRUb3x8ImJvZHkiLGIpWzBdKS5tb3VzZWRvd24oZnVuY3Rpb24oYyl7dmFyIGQ9YS5tZW51LmVsZW1lbnRbMF07CmMudGFyZ2V0PT09ZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2UoZG9jdW1lbnQpLm9uZSgibW91c2Vkb3duIixmdW5jdGlvbihmKXtmLnRhcmdldCE9PWEuZWxlbWVudFswXSYmZi50YXJnZXQhPT1kJiYhZS51aS5jb250YWlucyhkLGYudGFyZ2V0KSYmYS5jbG9zZSgpfSl9LDEpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoYS5jbG9zaW5nKX0sMTMpfSkubWVudSh7Zm9jdXM6ZnVuY3Rpb24oYyxkKXtkPWQuaXRlbS5kYXRhKCJpdGVtLmF1dG9jb21wbGV0ZSIpO2ZhbHNlIT09YS5fdHJpZ2dlcigiZm9jdXMiLG51bGwse2l0ZW06ZH0pJiYvXmtleS8udGVzdChjLm9yaWdpbmFsRXZlbnQudHlwZSkmJmEuZWxlbWVudC52YWwoZC52YWx1ZSl9LHNlbGVjdGVkOmZ1bmN0aW9uKGMsZCl7ZD1kLml0ZW0uZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiKTt2YXIgZj1hLnByZXZpb3VzO2lmKGEuZWxlbWVudFswXSE9PWIuYWN0aXZlRWxlbWVudCl7YS5lbGVtZW50LmZvY3VzKCk7CmEucHJldmlvdXM9Zn1mYWxzZSE9PWEuX3RyaWdnZXIoInNlbGVjdCIsYyx7aXRlbTpkfSkmJmEuZWxlbWVudC52YWwoZC52YWx1ZSk7YS5jbG9zZShjKTthLnNlbGVjdGVkSXRlbT1kfSxibHVyOmZ1bmN0aW9uKCl7YS5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikmJmEuZWxlbWVudC52YWwoKSE9PWEudGVybSYmYS5lbGVtZW50LnZhbChhLnRlcm0pfX0pLnpJbmRleCh0aGlzLmVsZW1lbnQuekluZGV4KCkrMSkuY3NzKHt0b3A6MCxsZWZ0OjB9KS5oaWRlKCkuZGF0YSgibWVudSIpO2UuZm4uYmdpZnJhbWUmJnRoaXMubWVudS5lbGVtZW50LmJnaWZyYW1lKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIpLnJlbW92ZUF0dHIoImF1dG9jb21wbGV0ZSIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLWF1dG9jb21wbGV0ZSIpLnJlbW92ZUF0dHIoImFyaWEtaGFzcG9wdXAiKTt0aGlzLm1lbnUuZWxlbWVudC5yZW1vdmUoKTsKZS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlvbjpmdW5jdGlvbihhLGIpe2UuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthPT09InNvdXJjZSImJnRoaXMuX2luaXRTb3VyY2UoKTtpZihhPT09ImFwcGVuZFRvIil0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyhlKGJ8fCJib2R5Iix0aGlzLmVsZW1lbnRbMF0ub3duZXJEb2N1bWVudClbMF0pfSxfaW5pdFNvdXJjZTpmdW5jdGlvbigpe3ZhciBhLGI7aWYoZS5pc0FycmF5KHRoaXMub3B0aW9ucy5zb3VyY2UpKXthPXRoaXMub3B0aW9ucy5zb3VyY2U7dGhpcy5zb3VyY2U9ZnVuY3Rpb24oYyxkKXtkKGUudWkuYXV0b2NvbXBsZXRlLmZpbHRlcihhLGMudGVybSkpfX1lbHNlIGlmKHR5cGVvZiB0aGlzLm9wdGlvbnMuc291cmNlPT09InN0cmluZyIpe2I9dGhpcy5vcHRpb25zLnNvdXJjZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihjLGQpe2UuZ2V0SlNPTihiLApjLGQpfX1lbHNlIHRoaXMuc291cmNlPXRoaXMub3B0aW9ucy5zb3VyY2V9LHNlYXJjaDpmdW5jdGlvbihhLGIpe2E9YSE9bnVsbD9hOnRoaXMuZWxlbWVudC52YWwoKTtpZihhLmxlbmd0aDx0aGlzLm9wdGlvbnMubWluTGVuZ3RoKXJldHVybiB0aGlzLmNsb3NlKGIpO2NsZWFyVGltZW91dCh0aGlzLmNsb3NpbmcpO2lmKHRoaXMuX3RyaWdnZXIoInNlYXJjaCIpIT09ZmFsc2UpcmV0dXJuIHRoaXMuX3NlYXJjaChhKX0sX3NlYXJjaDpmdW5jdGlvbihhKXt0aGlzLnRlcm09dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpLnZhbCgpO3RoaXMuc291cmNlKHt0ZXJtOmF9LHRoaXMucmVzcG9uc2UpfSxfcmVzcG9uc2U6ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGgpe2E9dGhpcy5fbm9ybWFsaXplKGEpO3RoaXMuX3N1Z2dlc3QoYSk7dGhpcy5fdHJpZ2dlcigib3BlbiIpfWVsc2UgdGhpcy5jbG9zZSgpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciKX0sCmNsb3NlOmZ1bmN0aW9uKGEpe2NsZWFyVGltZW91dCh0aGlzLmNsb3NpbmcpO2lmKHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKXt0aGlzLl90cmlnZ2VyKCJjbG9zZSIsYSk7dGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpO3RoaXMubWVudS5kZWFjdGl2YXRlKCl9fSxfY2hhbmdlOmZ1bmN0aW9uKGEpe3RoaXMucHJldmlvdXMhPT10aGlzLmVsZW1lbnQudmFsKCkmJnRoaXMuX3RyaWdnZXIoImNoYW5nZSIsYSx7aXRlbTp0aGlzLnNlbGVjdGVkSXRlbX0pfSxfbm9ybWFsaXplOmZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoJiZhWzBdLmxhYmVsJiZhWzBdLnZhbHVlKXJldHVybiBhO3JldHVybiBlLm1hcChhLGZ1bmN0aW9uKGIpe2lmKHR5cGVvZiBiPT09InN0cmluZyIpcmV0dXJue2xhYmVsOmIsdmFsdWU6Yn07cmV0dXJuIGUuZXh0ZW5kKHtsYWJlbDpiLmxhYmVsfHxiLnZhbHVlLHZhbHVlOmIudmFsdWV8fGIubGFiZWx9LGIpfSl9LF9zdWdnZXN0OmZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzLm1lbnUuZWxlbWVudC5lbXB0eSgpLnpJbmRleCh0aGlzLmVsZW1lbnQuekluZGV4KCkrMSksYzt0aGlzLl9yZW5kZXJNZW51KGIsYSk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLm1lbnUucmVmcmVzaCgpO3RoaXMubWVudS5lbGVtZW50LnNob3coKS5wb3NpdGlvbihlLmV4dGVuZCh7b2Y6dGhpcy5lbGVtZW50fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pKTthPWIud2lkdGgoIiIpLm91dGVyV2lkdGgoKTtjPXRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCk7Yi5vdXRlcldpZHRoKE1hdGgubWF4KGEsYykpfSxfcmVuZGVyTWVudTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7ZS5lYWNoKGIsZnVuY3Rpb24oZCxmKXtjLl9yZW5kZXJJdGVtKGEsZil9KX0sX3JlbmRlckl0ZW06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZSgiPGxpPjwvbGk+IikuZGF0YSgiaXRlbS5hdXRvY29tcGxldGUiLGIpLmFwcGVuZChlKCI8YT48L2E+IikudGV4dChiLmxhYmVsKSkuYXBwZW5kVG8oYSl9LF9tb3ZlOmZ1bmN0aW9uKGEsCmIpe2lmKHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKWlmKHRoaXMubWVudS5maXJzdCgpJiYvXnByZXZpb3VzLy50ZXN0KGEpfHx0aGlzLm1lbnUubGFzdCgpJiYvXm5leHQvLnRlc3QoYSkpe3RoaXMuZWxlbWVudC52YWwodGhpcy50ZXJtKTt0aGlzLm1lbnUuZGVhY3RpdmF0ZSgpfWVsc2UgdGhpcy5tZW51W2FdKGIpO2Vsc2UgdGhpcy5zZWFyY2gobnVsbCxiKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWVudS5lbGVtZW50fX0pO2UuZXh0ZW5kKGUudWkuYXV0b2NvbXBsZXRlLHtlc2NhcGVSZWdleDpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9bLVtcXXt9KCkqKz8uLFxcXiR8I1xzXS9nLCJcXCQmIil9LGZpbHRlcjpmdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBSZWdFeHAoZS51aS5hdXRvY29tcGxldGUuZXNjYXBlUmVnZXgoYiksImkiKTtyZXR1cm4gZS5ncmVwKGEsZnVuY3Rpb24oZCl7cmV0dXJuIGMudGVzdChkLmxhYmVsfHxkLnZhbHVlfHwKZCl9KX19KX0pKGpRdWVyeSk7CihmdW5jdGlvbihlKXtlLndpZGdldCgidWkubWVudSIse19jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktbWVudSB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLmF0dHIoe3JvbGU6Imxpc3Rib3giLCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOiJ1aS1hY3RpdmUtbWVudWl0ZW0ifSkuY2xpY2soZnVuY3Rpb24oYil7aWYoZShiLnRhcmdldCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSBhIikubGVuZ3RoKXtiLnByZXZlbnREZWZhdWx0KCk7YS5zZWxlY3QoYil9fSk7dGhpcy5yZWZyZXNoKCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZWxlbWVudC5jaGlsZHJlbigibGk6bm90KC51aS1tZW51LWl0ZW0pOmhhcyhhKSIpLmFkZENsYXNzKCJ1aS1tZW51LWl0ZW0iKS5hdHRyKCJyb2xlIiwibWVudWl0ZW0iKS5jaGlsZHJlbigiYSIpLmFkZENsYXNzKCJ1aS1jb3JuZXItYWxsIikuYXR0cigidGFiaW5kZXgiLC0xKS5tb3VzZWVudGVyKGZ1bmN0aW9uKGIpe2EuYWN0aXZhdGUoYiwKZSh0aGlzKS5wYXJlbnQoKSl9KS5tb3VzZWxlYXZlKGZ1bmN0aW9uKCl7YS5kZWFjdGl2YXRlKCl9KX0sYWN0aXZhdGU6ZnVuY3Rpb24oYSxiKXt0aGlzLmRlYWN0aXZhdGUoKTtpZih0aGlzLmhhc1Njcm9sbCgpKXt2YXIgYz1iLm9mZnNldCgpLnRvcC10aGlzLmVsZW1lbnQub2Zmc2V0KCkudG9wLGQ9dGhpcy5lbGVtZW50LmF0dHIoInNjcm9sbFRvcCIpLGY9dGhpcy5lbGVtZW50LmhlaWdodCgpO2lmKGM8MCl0aGlzLmVsZW1lbnQuYXR0cigic2Nyb2xsVG9wIixkK2MpO2Vsc2UgYz5mJiZ0aGlzLmVsZW1lbnQuYXR0cigic2Nyb2xsVG9wIixkK2MtZitiLmhlaWdodCgpKX10aGlzLmFjdGl2ZT1iLmVxKDApLmNoaWxkcmVuKCJhIikuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIikuYXR0cigiaWQiLCJ1aS1hY3RpdmUtbWVudWl0ZW0iKS5lbmQoKTt0aGlzLl90cmlnZ2VyKCJmb2N1cyIsYSx7aXRlbTpifSl9LGRlYWN0aXZhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLmFjdGl2ZSl7dGhpcy5hY3RpdmUuY2hpbGRyZW4oImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKS5yZW1vdmVBdHRyKCJpZCIpOwp0aGlzLl90cmlnZ2VyKCJibHVyIik7dGhpcy5hY3RpdmU9bnVsbH19LG5leHQ6ZnVuY3Rpb24oYSl7dGhpcy5tb3ZlKCJuZXh0IiwiLnVpLW1lbnUtaXRlbTpmaXJzdCIsYSl9LHByZXZpb3VzOmZ1bmN0aW9uKGEpe3RoaXMubW92ZSgicHJldiIsIi51aS1tZW51LWl0ZW06bGFzdCIsYSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUucHJldkFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFjdGl2ZSYmIXRoaXMuYWN0aXZlLm5leHRBbGwoIi51aS1tZW51LWl0ZW0iKS5sZW5ndGh9LG1vdmU6ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuYWN0aXZlKXthPXRoaXMuYWN0aXZlW2ErIkFsbCJdKCIudWktbWVudS1pdGVtIikuZXEoMCk7YS5sZW5ndGg/dGhpcy5hY3RpdmF0ZShjLGEpOnRoaXMuYWN0aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oYikpfWVsc2UgdGhpcy5hY3RpdmF0ZShjLAp0aGlzLmVsZW1lbnQuY2hpbGRyZW4oYikpfSxuZXh0UGFnZTpmdW5jdGlvbihhKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0aGlzLmFjdGl2ZXx8dGhpcy5sYXN0KCkpdGhpcy5hY3RpdmF0ZShhLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiOmZpcnN0IikpO2Vsc2V7dmFyIGI9dGhpcy5hY3RpdmUub2Zmc2V0KCkudG9wLGM9dGhpcy5lbGVtZW50LmhlaWdodCgpLGQ9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCJsaSIpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBmPWUodGhpcykub2Zmc2V0KCkudG9wLWItYytlKHRoaXMpLmhlaWdodCgpO3JldHVybiBmPDEwJiZmPi0xMH0pO2QubGVuZ3RofHwoZD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIjpsYXN0IikpO3RoaXMuYWN0aXZhdGUoYSxkKX1lbHNlIHRoaXMuYWN0aXZhdGUoYSx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIXRoaXMuYWN0aXZlfHx0aGlzLmxhc3QoKT8iOmZpcnN0IjoiOmxhc3QiKSl9LHByZXZpb3VzUGFnZTpmdW5jdGlvbihhKXtpZih0aGlzLmhhc1Njcm9sbCgpKWlmKCF0aGlzLmFjdGl2ZXx8CnRoaXMuZmlyc3QoKSl0aGlzLmFjdGl2YXRlKGEsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCI6bGFzdCIpKTtlbHNle3ZhciBiPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxjPXRoaXMuZWxlbWVudC5oZWlnaHQoKTtyZXN1bHQ9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCJsaSIpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBkPWUodGhpcykub2Zmc2V0KCkudG9wLWIrYy1lKHRoaXMpLmhlaWdodCgpO3JldHVybiBkPDEwJiZkPi0xMH0pO3Jlc3VsdC5sZW5ndGh8fChyZXN1bHQ9dGhpcy5lbGVtZW50LmNoaWxkcmVuKCI6Zmlyc3QiKSk7dGhpcy5hY3RpdmF0ZShhLHJlc3VsdCl9ZWxzZSB0aGlzLmFjdGl2YXRlKGEsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCF0aGlzLmFjdGl2ZXx8dGhpcy5maXJzdCgpPyI6bGFzdCI6IjpmaXJzdCIpKX0saGFzU2Nyb2xsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5oZWlnaHQoKTx0aGlzLmVsZW1lbnQuYXR0cigic2Nyb2xsSGVpZ2h0Iil9LHNlbGVjdDpmdW5jdGlvbihhKXt0aGlzLl90cmlnZ2VyKCJzZWxlY3RlZCIsCmEse2l0ZW06dGhpcy5hY3RpdmV9KX19KX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgQnV0dG9uIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9CdXR0b24KICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLmNvcmUuanMKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGEpe3ZhciBnLGk9ZnVuY3Rpb24oYil7YSgiOnVpLWJ1dHRvbiIsYi50YXJnZXQuZm9ybSkuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiYnV0dG9uIik7c2V0VGltZW91dChmdW5jdGlvbigpe2MucmVmcmVzaCgpfSwxKX0pfSxoPWZ1bmN0aW9uKGIpe3ZhciBjPWIubmFtZSxkPWIuZm9ybSxlPWEoW10pO2lmKGMpZT1kP2EoZCkuZmluZCgiW25hbWU9JyIrYysiJ10iKTphKCJbbmFtZT0nIitjKyInXSIsYi5vd25lckRvY3VtZW50KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5mb3JtfSk7cmV0dXJuIGV9O2Eud2lkZ2V0KCJ1aS5idXR0b24iLHtvcHRpb25zOnt0ZXh0OnRydWUsbGFiZWw6bnVsbCxpY29uczp7cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldC5idXR0b24iKS5iaW5kKCJyZXNldC5idXR0b24iLGkpO3RoaXMuX2RldGVybWluZUJ1dHRvblR5cGUoKTsKdGhpcy5oYXNUaXRsZT0hIXRoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCJ0aXRsZSIpO3ZhciBiPXRoaXMsYz10aGlzLm9wdGlvbnMsZD10aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0icmFkaW8iLGU9InVpLXN0YXRlLWhvdmVyIisoIWQ/IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKTtpZihjLmxhYmVsPT09bnVsbCljLmxhYmVsPXRoaXMuYnV0dG9uRWxlbWVudC5odG1sKCk7aWYodGhpcy5lbGVtZW50LmlzKCI6ZGlzYWJsZWQiKSljLmRpc2FibGVkPXRydWU7dGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJidXR0b24iKS5iaW5kKCJtb3VzZWVudGVyLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZighYy5kaXNhYmxlZCl7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKTt0aGlzPT09ZyYmYSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIil9fSkuYmluZCgibW91c2VsZWF2ZS5idXR0b24iLApmdW5jdGlvbigpe2MuZGlzYWJsZWR8fGEodGhpcykucmVtb3ZlQ2xhc3MoZSl9KS5iaW5kKCJmb2N1cy5idXR0b24iLGZ1bmN0aW9uKCl7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJpbmQoImJsdXIuYnV0dG9uIixmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KTtkJiZ0aGlzLmVsZW1lbnQuYmluZCgiY2hhbmdlLmJ1dHRvbiIsZnVuY3Rpb24oKXtiLnJlZnJlc2goKX0pO2lmKHRoaXMudHlwZT09PSJjaGVja2JveCIpdGhpcy5idXR0b25FbGVtZW50LmJpbmQoImNsaWNrLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihjLmRpc2FibGVkKXJldHVybiBmYWxzZTthKHRoaXMpLnRvZ2dsZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtiLmJ1dHRvbkVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIixiLmVsZW1lbnRbMF0uY2hlY2tlZCl9KTtlbHNlIGlmKHRoaXMudHlwZT09PSJyYWRpbyIpdGhpcy5idXR0b25FbGVtZW50LmJpbmQoImNsaWNrLmJ1dHRvbiIsCmZ1bmN0aW9uKCl7aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIik7Yi5idXR0b25FbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIsdHJ1ZSk7dmFyIGY9Yi5lbGVtZW50WzBdO2goZikubm90KGYpLm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIixmYWxzZSl9KTtlbHNle3RoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCJtb3VzZWRvd24uYnV0dG9uIixmdW5jdGlvbigpe2lmKGMuZGlzYWJsZWQpcmV0dXJuIGZhbHNlO2EodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2c9dGhpczthKGRvY3VtZW50KS5vbmUoIm1vdXNldXAiLGZ1bmN0aW9uKCl7Zz1udWxsfSl9KS5iaW5kKCJtb3VzZXVwLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihjLmRpc2FibGVkKXJldHVybiBmYWxzZTthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0pLmJpbmQoImtleWRvd24uYnV0dG9uIiwKZnVuY3Rpb24oZil7aWYoYy5kaXNhYmxlZClyZXR1cm4gZmFsc2U7aWYoZi5rZXlDb2RlPT1hLnVpLmtleUNvZGUuU1BBQ0V8fGYua2V5Q29kZT09YS51aS5rZXlDb2RlLkVOVEVSKWEodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSkuYmluZCgia2V5dXAuYnV0dG9uIixmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSk7dGhpcy5idXR0b25FbGVtZW50LmlzKCJhIikmJnRoaXMuYnV0dG9uRWxlbWVudC5rZXl1cChmdW5jdGlvbihmKXtmLmtleUNvZGU9PT1hLnVpLmtleUNvZGUuU1BBQ0UmJmEodGhpcykuY2xpY2soKX0pfXRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGMuZGlzYWJsZWQpfSxfZGV0ZXJtaW5lQnV0dG9uVHlwZTpmdW5jdGlvbigpe3RoaXMudHlwZT10aGlzLmVsZW1lbnQuaXMoIjpjaGVja2JveCIpPyJjaGVja2JveCI6dGhpcy5lbGVtZW50LmlzKCI6cmFkaW8iKT8icmFkaW8iOnRoaXMuZWxlbWVudC5pcygiaW5wdXQiKT8KImlucHV0IjoiYnV0dG9uIjtpZih0aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0icmFkaW8iKXt0aGlzLmJ1dHRvbkVsZW1lbnQ9dGhpcy5lbGVtZW50LnBhcmVudHMoKS5sYXN0KCkuZmluZCgibGFiZWxbZm9yPSIrdGhpcy5lbGVtZW50LmF0dHIoImlkIikrIl0iKTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpO3ZhciBiPXRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKTtiJiZ0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO3RoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLGIpfWVsc2UgdGhpcy5idXR0b25FbGVtZW50PXRoaXMuZWxlbWVudH0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYnV0dG9uRWxlbWVudH0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIik7dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1ob3ZlciB1aS1zdGF0ZS1hY3RpdmUgIHVpLWJ1dHRvbi1pY29ucy1vbmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRleHQtaWNvbnMgdWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IHVpLWJ1dHRvbi10ZXh0LW9ubHkiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1wcmVzc2VkIikuaHRtbCh0aGlzLmJ1dHRvbkVsZW1lbnQuZmluZCgiLnVpLWJ1dHRvbi10ZXh0IikuaHRtbCgpKTsKdGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0dHIoInRpdGxlIik7YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlvbjpmdW5jdGlvbihiLGMpe2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihiPT09ImRpc2FibGVkIiljP3RoaXMuZWxlbWVudC5hdHRyKCJkaXNhYmxlZCIsdHJ1ZSk6dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoImRpc2FibGVkIik7dGhpcy5fcmVzZXRCdXR0b24oKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZWxlbWVudC5pcygiOmRpc2FibGVkIik7YiE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsYik7aWYodGhpcy50eXBlPT09InJhZGlvIiloKHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe2EodGhpcykuaXMoIjpjaGVja2VkIik/YSh0aGlzKS5idXR0b24oIndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLAp0cnVlKTphKHRoaXMpLmJ1dHRvbigid2lkZ2V0IikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsZmFsc2UpfSk7ZWxzZSBpZih0aGlzLnR5cGU9PT0iY2hlY2tib3giKXRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKT90aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsdHJ1ZSk6dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLGZhbHNlKX0sX3Jlc2V0QnV0dG9uOmZ1bmN0aW9uKCl7aWYodGhpcy50eXBlPT09ImlucHV0Iil0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxlbWVudC52YWwodGhpcy5vcHRpb25zLmxhYmVsKTtlbHNle3ZhciBiPXRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uLWljb25zLW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1aS1idXR0b24tdGV4dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgdWktYnV0dG9uLXRleHQtb25seSIpLApjPWEoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygidWktYnV0dG9uLXRleHQiKS5odG1sKHRoaXMub3B0aW9ucy5sYWJlbCkuYXBwZW5kVG8oYi5lbXB0eSgpKS50ZXh0KCksZD10aGlzLm9wdGlvbnMuaWNvbnMsZT1kLnByaW1hcnkmJmQuc2Vjb25kYXJ5O2lmKGQucHJpbWFyeXx8ZC5zZWNvbmRhcnkpe2IuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0LWljb24iKyhlPyJzIjpkLnByaW1hcnk/Ii1wcmltYXJ5IjoiLXNlY29uZGFyeSIpKTtkLnByaW1hcnkmJmIucHJlcGVuZCgiPHNwYW4gY2xhc3M9J3VpLWJ1dHRvbi1pY29uLXByaW1hcnkgdWktaWNvbiAiK2QucHJpbWFyeSsiJz48L3NwYW4+Iik7ZC5zZWNvbmRhcnkmJmIuYXBwZW5kKCI8c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHVpLWljb24gIitkLnNlY29uZGFyeSsiJz48L3NwYW4+Iik7aWYoIXRoaXMub3B0aW9ucy50ZXh0KXtiLmFkZENsYXNzKGU/InVpLWJ1dHRvbi1pY29ucy1vbmx5IjoidWktYnV0dG9uLWljb24tb25seSIpLnJlbW92ZUNsYXNzKCJ1aS1idXR0b24tdGV4dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkiKTsKdGhpcy5oYXNUaXRsZXx8Yi5hdHRyKCJ0aXRsZSIsYyl9fWVsc2UgYi5hZGRDbGFzcygidWktYnV0dG9uLXRleHQtb25seSIpfX19KTthLndpZGdldCgidWkuYnV0dG9uc2V0Iix7X2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYnV0dG9uc2V0Iik7dGhpcy5faW5pdCgpfSxfaW5pdDpmdW5jdGlvbigpe3RoaXMucmVmcmVzaCgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGIsYyl7Yj09PSJkaXNhYmxlZCImJnRoaXMuYnV0dG9ucy5idXR0b24oIm9wdGlvbiIsYixjKTthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLmJ1dHRvbnM9dGhpcy5lbGVtZW50LmZpbmQoIjpidXR0b24sIDpzdWJtaXQsIDpyZXNldCwgOmNoZWNrYm94LCA6cmFkaW8sIGEsIDpkYXRhKGJ1dHRvbikiKS5maWx0ZXIoIjp1aS1idXR0b24iKS5idXR0b24oInJlZnJlc2giKS5lbmQoKS5ub3QoIjp1aS1idXR0b24iKS5idXR0b24oKS5lbmQoKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1hbGwgdWktY29ybmVyLWxlZnQgdWktY29ybmVyLXJpZ2h0IikuZmlsdGVyKCI6Zmlyc3QiKS5hZGRDbGFzcygidWktY29ybmVyLWxlZnQiKS5lbmQoKS5maWx0ZXIoIjpsYXN0IikuYWRkQ2xhc3MoInVpLWNvcm5lci1yaWdodCIpLmVuZCgpLmVuZCgpfSwKZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYnV0dG9uc2V0Iik7dGhpcy5idXR0b25zLm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWxlZnQgdWktY29ybmVyLXJpZ2h0IikuZW5kKCkuYnV0dG9uKCJkZXN0cm95Iik7YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX19KX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgRGlhbG9nIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9EaWFsb2cKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LnVpLmNvcmUuanMKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKiAganF1ZXJ5LnVpLmJ1dHRvbi5qcwogKglqcXVlcnkudWkuZHJhZ2dhYmxlLmpzCiAqCWpxdWVyeS51aS5tb3VzZS5qcwogKglqcXVlcnkudWkucG9zaXRpb24uanMKICoJanF1ZXJ5LnVpLnJlc2l6YWJsZS5qcwogKi8KKGZ1bmN0aW9uKGMsail7Yy53aWRnZXQoInVpLmRpYWxvZyIse29wdGlvbnM6e2F1dG9PcGVuOnRydWUsYnV0dG9uczp7fSxjbG9zZU9uRXNjYXBlOnRydWUsY2xvc2VUZXh0OiJjbG9zZSIsZGlhbG9nQ2xhc3M6IiIsZHJhZ2dhYmxlOnRydWUsaGlkZTpudWxsLGhlaWdodDoiYXV0byIsbWF4SGVpZ2h0OmZhbHNlLG1heFdpZHRoOmZhbHNlLG1pbkhlaWdodDoxNTAsbWluV2lkdGg6MTUwLG1vZGFsOmZhbHNlLHBvc2l0aW9uOntteToiY2VudGVyIixhdDoiY2VudGVyIixvZjp3aW5kb3csY29sbGlzaW9uOiJmaXQiLHVzaW5nOmZ1bmN0aW9uKGEpe3ZhciBiPWModGhpcykuY3NzKGEpLm9mZnNldCgpLnRvcDtiPDAmJmModGhpcykuY3NzKCJ0b3AiLGEudG9wLWIpfX0scmVzaXphYmxlOnRydWUsc2hvdzpudWxsLHN0YWNrOnRydWUsdGl0bGU6IiIsd2lkdGg6MzAwLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFsVGl0bGU9dGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIik7CmlmKHR5cGVvZiB0aGlzLm9yaWdpbmFsVGl0bGUhPT0ic3RyaW5nIil0aGlzLm9yaWdpbmFsVGl0bGU9IiI7dmFyIGE9dGhpcyxiPWEub3B0aW9ucyxkPWIudGl0bGV8fGEub3JpZ2luYWxUaXRsZXx8IiYjMTYwOyIsZj1jLnVpLmRpYWxvZy5nZXRUaXRsZUlkKGEuZWxlbWVudCksZz0oYS51aURpYWxvZz1jKCI8ZGl2PjwvZGl2PiIpKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KS5oaWRlKCkuYWRkQ2xhc3MoInVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCAiK2IuZGlhbG9nQ2xhc3MpLmNzcyh7ekluZGV4OmIuekluZGV4fSkuYXR0cigidGFiSW5kZXgiLC0xKS5jc3MoIm91dGxpbmUiLDApLmtleWRvd24oZnVuY3Rpb24oaSl7aWYoYi5jbG9zZU9uRXNjYXBlJiZpLmtleUNvZGUmJmkua2V5Q29kZT09PWMudWkua2V5Q29kZS5FU0NBUEUpe2EuY2xvc2UoaSk7aS5wcmV2ZW50RGVmYXVsdCgpfX0pLmF0dHIoe3JvbGU6ImRpYWxvZyIsImFyaWEtbGFiZWxsZWRieSI6Zn0pLm1vdXNlZG93bihmdW5jdGlvbihpKXthLm1vdmVUb1RvcChmYWxzZSwKaSl9KTthLmVsZW1lbnQuc2hvdygpLnJlbW92ZUF0dHIoInRpdGxlIikuYWRkQ2xhc3MoInVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IikuYXBwZW5kVG8oZyk7dmFyIGU9KGEudWlEaWFsb2dUaXRsZWJhcj1jKCI8ZGl2PjwvZGl2PiIpKS5hZGRDbGFzcygidWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItY2xlYXJmaXgiKS5wcmVwZW5kVG8oZyksaD1jKCc8YSBocmVmPSIjIj48L2E+JykuYWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIikuYXR0cigicm9sZSIsImJ1dHRvbiIpLmhvdmVyKGZ1bmN0aW9uKCl7aC5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtoLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuZm9jdXMoZnVuY3Rpb24oKXtoLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmx1cihmdW5jdGlvbigpe2gucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KS5jbGljayhmdW5jdGlvbihpKXthLmNsb3NlKGkpOwpyZXR1cm4gZmFsc2V9KS5hcHBlbmRUbyhlKTsoYS51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0PWMoIjxzcGFuPjwvc3Bhbj4iKSkuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIikudGV4dChiLmNsb3NlVGV4dCkuYXBwZW5kVG8oaCk7YygiPHNwYW4+PC9zcGFuPiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGUiKS5hdHRyKCJpZCIsZikuaHRtbChkKS5wcmVwZW5kVG8oZSk7aWYoYy5pc0Z1bmN0aW9uKGIuYmVmb3JlY2xvc2UpJiYhYy5pc0Z1bmN0aW9uKGIuYmVmb3JlQ2xvc2UpKWIuYmVmb3JlQ2xvc2U9Yi5iZWZvcmVjbG9zZTtlLmZpbmQoIioiKS5hZGQoZSkuZGlzYWJsZVNlbGVjdGlvbigpO2IuZHJhZ2dhYmxlJiZjLmZuLmRyYWdnYWJsZSYmYS5fbWFrZURyYWdnYWJsZSgpO2IucmVzaXphYmxlJiZjLmZuLnJlc2l6YWJsZSYmYS5fbWFrZVJlc2l6YWJsZSgpO2EuX2NyZWF0ZUJ1dHRvbnMoYi5idXR0b25zKTthLl9pc09wZW49ZmFsc2U7Yy5mbi5iZ2lmcmFtZSYmCmcuYmdpZnJhbWUoKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXV0b09wZW4mJnRoaXMub3BlbigpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpczthLm92ZXJsYXkmJmEub3ZlcmxheS5kZXN0cm95KCk7YS51aURpYWxvZy5oaWRlKCk7YS5lbGVtZW50LnVuYmluZCgiLmRpYWxvZyIpLnJlbW92ZURhdGEoImRpYWxvZyIpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmhpZGUoKS5hcHBlbmRUbygiYm9keSIpO2EudWlEaWFsb2cucmVtb3ZlKCk7YS5vcmlnaW5hbFRpdGxlJiZhLmVsZW1lbnQuYXR0cigidGl0bGUiLGEub3JpZ2luYWxUaXRsZSk7cmV0dXJuIGF9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVpRGlhbG9nfSxjbG9zZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGQ7aWYoZmFsc2UhPT1iLl90cmlnZ2VyKCJiZWZvcmVDbG9zZSIsYSkpe2Iub3ZlcmxheSYmYi5vdmVybGF5LmRlc3Ryb3koKTtiLnVpRGlhbG9nLnVuYmluZCgia2V5cHJlc3MudWktZGlhbG9nIik7CmIuX2lzT3Blbj1mYWxzZTtpZihiLm9wdGlvbnMuaGlkZSliLnVpRGlhbG9nLmhpZGUoYi5vcHRpb25zLmhpZGUsZnVuY3Rpb24oKXtiLl90cmlnZ2VyKCJjbG9zZSIsYSl9KTtlbHNle2IudWlEaWFsb2cuaGlkZSgpO2IuX3RyaWdnZXIoImNsb3NlIixhKX1jLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpO2lmKGIub3B0aW9ucy5tb2RhbCl7ZD0wO2MoIi51aS1kaWFsb2ciKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcyE9PWIudWlEaWFsb2dbMF0pZD1NYXRoLm1heChkLGModGhpcykuY3NzKCJ6LWluZGV4IikpfSk7Yy51aS5kaWFsb2cubWF4Wj1kfXJldHVybiBifX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcyxmPWQub3B0aW9ucztpZihmLm1vZGFsJiYhYXx8IWYuc3RhY2smJiFmLm1vZGFsKXJldHVybiBkLl90cmlnZ2VyKCJmb2N1cyIsYik7aWYoZi56SW5kZXg+Yy51aS5kaWFsb2cubWF4WiljLnVpLmRpYWxvZy5tYXhaPQpmLnpJbmRleDtpZihkLm92ZXJsYXkpe2MudWkuZGlhbG9nLm1heForPTE7ZC5vdmVybGF5LiRlbC5jc3MoInotaW5kZXgiLGMudWkuZGlhbG9nLm92ZXJsYXkubWF4Wj1jLnVpLmRpYWxvZy5tYXhaKX1hPXtzY3JvbGxUb3A6ZC5lbGVtZW50LmF0dHIoInNjcm9sbFRvcCIpLHNjcm9sbExlZnQ6ZC5lbGVtZW50LmF0dHIoInNjcm9sbExlZnQiKX07Yy51aS5kaWFsb2cubWF4Wis9MTtkLnVpRGlhbG9nLmNzcygiei1pbmRleCIsYy51aS5kaWFsb2cubWF4Wik7ZC5lbGVtZW50LmF0dHIoYSk7ZC5fdHJpZ2dlcigiZm9jdXMiLGIpO3JldHVybiBkfSxvcGVuOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2lzT3Blbil7dmFyIGE9dGhpcyxiPWEub3B0aW9ucyxkPWEudWlEaWFsb2c7YS5vdmVybGF5PWIubW9kYWw/bmV3IGMudWkuZGlhbG9nLm92ZXJsYXkoYSk6bnVsbDtkLm5leHQoKS5sZW5ndGgmJmQuYXBwZW5kVG8oImJvZHkiKTthLl9zaXplKCk7YS5fcG9zaXRpb24oYi5wb3NpdGlvbik7ZC5zaG93KGIuc2hvdyk7CmEubW92ZVRvVG9wKHRydWUpO2IubW9kYWwmJmQuYmluZCgia2V5cHJlc3MudWktZGlhbG9nIixmdW5jdGlvbihmKXtpZihmLmtleUNvZGU9PT1jLnVpLmtleUNvZGUuVEFCKXt2YXIgZz1jKCI6dGFiYmFibGUiLHRoaXMpLGU9Zy5maWx0ZXIoIjpmaXJzdCIpO2c9Zy5maWx0ZXIoIjpsYXN0Iik7aWYoZi50YXJnZXQ9PT1nWzBdJiYhZi5zaGlmdEtleSl7ZS5mb2N1cygxKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZihmLnRhcmdldD09PWVbMF0mJmYuc2hpZnRLZXkpe2cuZm9jdXMoMSk7cmV0dXJuIGZhbHNlfX19KTtjKGEuZWxlbWVudC5maW5kKCI6dGFiYmFibGUiKS5nZXQoKS5jb25jYXQoZC5maW5kKCIudWktZGlhbG9nLWJ1dHRvbnBhbmUgOnRhYmJhYmxlIikuZ2V0KCkuY29uY2F0KGQuZ2V0KCkpKSkuZXEoMCkuZm9jdXMoKTthLl90cmlnZ2VyKCJvcGVuIik7YS5faXNPcGVuPXRydWU7cmV0dXJuIGF9fSxfY3JlYXRlQnV0dG9uczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGQ9ZmFsc2UsCmY9YygiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiksZz1jKCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctYnV0dG9uc2V0IikuYXBwZW5kVG8oZik7Yi51aURpYWxvZy5maW5kKCIudWktZGlhbG9nLWJ1dHRvbnBhbmUiKS5yZW1vdmUoKTt0eXBlb2YgYT09PSJvYmplY3QiJiZhIT09bnVsbCYmYy5lYWNoKGEsZnVuY3Rpb24oKXtyZXR1cm4hKGQ9dHJ1ZSl9KTtpZihkKXtjLmVhY2goYSxmdW5jdGlvbihlLGgpe2U9YygnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLnRleHQoZSkuY2xpY2soZnVuY3Rpb24oKXtoLmFwcGx5KGIuZWxlbWVudFswXSxhcmd1bWVudHMpfSkuYXBwZW5kVG8oZyk7Yy5mbi5idXR0b24mJmUuYnV0dG9uKCl9KTtmLmFwcGVuZFRvKGIudWlEaWFsb2cpfX0sX21ha2VEcmFnZ2FibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGUpe3JldHVybntwb3NpdGlvbjplLnBvc2l0aW9uLApvZmZzZXQ6ZS5vZmZzZXR9fXZhciBiPXRoaXMsZD1iLm9wdGlvbnMsZj1jKGRvY3VtZW50KSxnO2IudWlEaWFsb2cuZHJhZ2dhYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29udGVudCwgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIsaGFuZGxlOiIudWktZGlhbG9nLXRpdGxlYmFyIixjb250YWlubWVudDoiZG9jdW1lbnQiLHN0YXJ0OmZ1bmN0aW9uKGUsaCl7Zz1kLmhlaWdodD09PSJhdXRvIj8iYXV0byI6Yyh0aGlzKS5oZWlnaHQoKTtjKHRoaXMpLmhlaWdodChjKHRoaXMpLmhlaWdodCgpKS5hZGRDbGFzcygidWktZGlhbG9nLWRyYWdnaW5nIik7Yi5fdHJpZ2dlcigiZHJhZ1N0YXJ0IixlLGEoaCkpfSxkcmFnOmZ1bmN0aW9uKGUsaCl7Yi5fdHJpZ2dlcigiZHJhZyIsZSxhKGgpKX0sc3RvcDpmdW5jdGlvbihlLGgpe2QucG9zaXRpb249W2gucG9zaXRpb24ubGVmdC1mLnNjcm9sbExlZnQoKSxoLnBvc2l0aW9uLnRvcC1mLnNjcm9sbFRvcCgpXTtjKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctZHJhZ2dpbmciKS5oZWlnaHQoZyk7CmIuX3RyaWdnZXIoImRyYWdTdG9wIixlLGEoaCkpO2MudWkuZGlhbG9nLm92ZXJsYXkucmVzaXplKCl9fSl9LF9tYWtlUmVzaXphYmxlOmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7cmV0dXJue29yaWdpbmFsUG9zaXRpb246ZS5vcmlnaW5hbFBvc2l0aW9uLG9yaWdpbmFsU2l6ZTplLm9yaWdpbmFsU2l6ZSxwb3NpdGlvbjplLnBvc2l0aW9uLHNpemU6ZS5zaXplfX1hPWE9PT1qP3RoaXMub3B0aW9ucy5yZXNpemFibGU6YTt2YXIgZD10aGlzLGY9ZC5vcHRpb25zLGc9ZC51aURpYWxvZy5jc3MoInBvc2l0aW9uIik7YT10eXBlb2YgYT09PSJzdHJpbmciP2E6Im4sZSxzLHcsc2Usc3csbmUsbnciO2QudWlEaWFsb2cucmVzaXphYmxlKHtjYW5jZWw6Ii51aS1kaWFsb2ctY29udGVudCIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixhbHNvUmVzaXplOmQuZWxlbWVudCxtYXhXaWR0aDpmLm1heFdpZHRoLG1heEhlaWdodDpmLm1heEhlaWdodCxtaW5XaWR0aDpmLm1pbldpZHRoLG1pbkhlaWdodDpkLl9taW5IZWlnaHQoKSwKaGFuZGxlczphLHN0YXJ0OmZ1bmN0aW9uKGUsaCl7Yyh0aGlzKS5hZGRDbGFzcygidWktZGlhbG9nLXJlc2l6aW5nIik7ZC5fdHJpZ2dlcigicmVzaXplU3RhcnQiLGUsYihoKSl9LHJlc2l6ZTpmdW5jdGlvbihlLGgpe2QuX3RyaWdnZXIoInJlc2l6ZSIsZSxiKGgpKX0sc3RvcDpmdW5jdGlvbihlLGgpe2ModGhpcykucmVtb3ZlQ2xhc3MoInVpLWRpYWxvZy1yZXNpemluZyIpO2YuaGVpZ2h0PWModGhpcykuaGVpZ2h0KCk7Zi53aWR0aD1jKHRoaXMpLndpZHRoKCk7ZC5fdHJpZ2dlcigicmVzaXplU3RvcCIsZSxiKGgpKTtjLnVpLmRpYWxvZy5vdmVybGF5LnJlc2l6ZSgpfX0pLmNzcygicG9zaXRpb24iLGcpLmZpbmQoIi51aS1yZXNpemFibGUtc2UiKS5hZGRDbGFzcygidWktaWNvbiB1aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UiKX0sX21pbkhlaWdodDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucztyZXR1cm4gYS5oZWlnaHQ9PT0iYXV0byI/YS5taW5IZWlnaHQ6TWF0aC5taW4oYS5taW5IZWlnaHQsCmEuaGVpZ2h0KX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBiPVtdLGQ9WzAsMF0sZjtpZihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBlb2YgYT09PSJvYmplY3QiJiYiMCJpbiBhKXtiPWEuc3BsaXQ/YS5zcGxpdCgiICIpOlthWzBdLGFbMV1dO2lmKGIubGVuZ3RoPT09MSliWzFdPWJbMF07Yy5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKGcsZSl7aWYoK2JbZ109PT1iW2ddKXtkW2ddPWJbZ107YltnXT1lfX0pO2E9e215OmIuam9pbigiICIpLGF0OmIuam9pbigiICIpLG9mZnNldDpkLmpvaW4oIiAiKX19YT1jLmV4dGVuZCh7fSxjLnVpLmRpYWxvZy5wcm90b3R5cGUub3B0aW9ucy5wb3NpdGlvbixhKX1lbHNlIGE9Yy51aS5kaWFsb2cucHJvdG90eXBlLm9wdGlvbnMucG9zaXRpb247KGY9dGhpcy51aURpYWxvZy5pcygiOnZpc2libGUiKSl8fHRoaXMudWlEaWFsb2cuc2hvdygpO3RoaXMudWlEaWFsb2cuY3NzKHt0b3A6MCxsZWZ0OjB9KS5wb3NpdGlvbihhKTsKZnx8dGhpcy51aURpYWxvZy5oaWRlKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD10aGlzLGY9ZC51aURpYWxvZyxnPWYuaXMoIjpkYXRhKHJlc2l6YWJsZSkiKSxlPWZhbHNlO3N3aXRjaChhKXtjYXNlICJiZWZvcmVjbG9zZSI6YT0iYmVmb3JlQ2xvc2UiO2JyZWFrO2Nhc2UgImJ1dHRvbnMiOmQuX2NyZWF0ZUJ1dHRvbnMoYik7ZT10cnVlO2JyZWFrO2Nhc2UgImNsb3NlVGV4dCI6ZC51aURpYWxvZ1RpdGxlYmFyQ2xvc2VUZXh0LnRleHQoIiIrYik7YnJlYWs7Y2FzZSAiZGlhbG9nQ2xhc3MiOmYucmVtb3ZlQ2xhc3MoZC5vcHRpb25zLmRpYWxvZ0NsYXNzKS5hZGRDbGFzcygidWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsICIrYik7YnJlYWs7Y2FzZSAiZGlzYWJsZWQiOmI/Zi5hZGRDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik6Zi5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRpc2FibGVkIik7YnJlYWs7Y2FzZSAiZHJhZ2dhYmxlIjpiPwpkLl9tYWtlRHJhZ2dhYmxlKCk6Zi5kcmFnZ2FibGUoImRlc3Ryb3kiKTticmVhaztjYXNlICJoZWlnaHQiOmU9dHJ1ZTticmVhaztjYXNlICJtYXhIZWlnaHQiOmcmJmYucmVzaXphYmxlKCJvcHRpb24iLCJtYXhIZWlnaHQiLGIpO2U9dHJ1ZTticmVhaztjYXNlICJtYXhXaWR0aCI6ZyYmZi5yZXNpemFibGUoIm9wdGlvbiIsIm1heFdpZHRoIixiKTtlPXRydWU7YnJlYWs7Y2FzZSAibWluSGVpZ2h0IjpnJiZmLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0IixiKTtlPXRydWU7YnJlYWs7Y2FzZSAibWluV2lkdGgiOmcmJmYucmVzaXphYmxlKCJvcHRpb24iLCJtaW5XaWR0aCIsYik7ZT10cnVlO2JyZWFrO2Nhc2UgInBvc2l0aW9uIjpkLl9wb3NpdGlvbihiKTticmVhaztjYXNlICJyZXNpemFibGUiOmcmJiFiJiZmLnJlc2l6YWJsZSgiZGVzdHJveSIpO2cmJnR5cGVvZiBiPT09InN0cmluZyImJmYucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIixiKTshZyYmYiE9PWZhbHNlJiYKZC5fbWFrZVJlc2l6YWJsZShiKTticmVhaztjYXNlICJ0aXRsZSI6YygiLnVpLWRpYWxvZy10aXRsZSIsZC51aURpYWxvZ1RpdGxlYmFyKS5odG1sKCIiKyhifHwiJiMxNjA7IikpO2JyZWFrO2Nhc2UgIndpZHRoIjplPXRydWU7YnJlYWt9Yy5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkoZCxhcmd1bWVudHMpO2UmJmQuX3NpemUoKX0sX3NpemU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYjt0aGlzLmVsZW1lbnQuY3NzKHt3aWR0aDoiYXV0byIsbWluSGVpZ2h0OjAsaGVpZ2h0OjB9KTtpZihhLm1pbldpZHRoPmEud2lkdGgpYS53aWR0aD1hLm1pbldpZHRoO2I9dGhpcy51aURpYWxvZy5jc3Moe2hlaWdodDoiYXV0byIsd2lkdGg6YS53aWR0aH0pLmhlaWdodCgpO3RoaXMuZWxlbWVudC5jc3MoYS5oZWlnaHQ9PT0iYXV0byI/e21pbkhlaWdodDpNYXRoLm1heChhLm1pbkhlaWdodC1iLDApLGhlaWdodDoiYXV0byJ9OnttaW5IZWlnaHQ6MCxoZWlnaHQ6TWF0aC5tYXgoYS5oZWlnaHQtCmIsMCl9KS5zaG93KCk7dGhpcy51aURpYWxvZy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9fSk7Yy5leHRlbmQoYy51aS5kaWFsb2cse3ZlcnNpb246IjEuOC40Iix1dWlkOjAsbWF4WjowLGdldFRpdGxlSWQ6ZnVuY3Rpb24oYSl7YT1hLmF0dHIoImlkIik7aWYoIWEpe3RoaXMudXVpZCs9MTthPXRoaXMudXVpZH1yZXR1cm4idWktZGlhbG9nLXRpdGxlLSIrYX0sb3ZlcmxheTpmdW5jdGlvbihhKXt0aGlzLiRlbD1jLnVpLmRpYWxvZy5vdmVybGF5LmNyZWF0ZShhKX19KTtjLmV4dGVuZChjLnVpLmRpYWxvZy5vdmVybGF5LHtpbnN0YW5jZXM6W10sb2xkSW5zdGFuY2VzOltdLG1heFo6MCxldmVudHM6Yy5tYXAoImZvY3VzLG1vdXNlZG93bixtb3VzZXVwLGtleWRvd24sa2V5cHJlc3MsY2xpY2siLnNwbGl0KCIsIiksZnVuY3Rpb24oYSl7cmV0dXJuIGErIi5kaWFsb2ctb3ZlcmxheSJ9KS5qb2luKCIgIiksCmNyZWF0ZTpmdW5jdGlvbihhKXtpZih0aGlzLmluc3RhbmNlcy5sZW5ndGg9PT0wKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy51aS5kaWFsb2cub3ZlcmxheS5pbnN0YW5jZXMubGVuZ3RoJiZjKGRvY3VtZW50KS5iaW5kKGMudWkuZGlhbG9nLm92ZXJsYXkuZXZlbnRzLGZ1bmN0aW9uKGQpe3JldHVybiBjKGQudGFyZ2V0KS56SW5kZXgoKT49Yy51aS5kaWFsb2cub3ZlcmxheS5tYXhafSl9LDEpO2MoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZGlhbG9nLW92ZXJsYXkiLGZ1bmN0aW9uKGQpe2lmKGEub3B0aW9ucy5jbG9zZU9uRXNjYXBlJiZkLmtleUNvZGUmJmQua2V5Q29kZT09PWMudWkua2V5Q29kZS5FU0NBUEUpe2EuY2xvc2UoZCk7ZC5wcmV2ZW50RGVmYXVsdCgpfX0pO2Mod2luZG93KS5iaW5kKCJyZXNpemUuZGlhbG9nLW92ZXJsYXkiLGMudWkuZGlhbG9nLm92ZXJsYXkucmVzaXplKX12YXIgYj0odGhpcy5vbGRJbnN0YW5jZXMucG9wKCl8fGMoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLXdpZGdldC1vdmVybGF5IikpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLmNzcyh7d2lkdGg6dGhpcy53aWR0aCgpLApoZWlnaHQ6dGhpcy5oZWlnaHQoKX0pO2MuZm4uYmdpZnJhbWUmJmIuYmdpZnJhbWUoKTt0aGlzLmluc3RhbmNlcy5wdXNoKGIpO3JldHVybiBifSxkZXN0cm95OmZ1bmN0aW9uKGEpe3RoaXMub2xkSW5zdGFuY2VzLnB1c2godGhpcy5pbnN0YW5jZXMuc3BsaWNlKGMuaW5BcnJheShhLHRoaXMuaW5zdGFuY2VzKSwxKVswXSk7dGhpcy5pbnN0YW5jZXMubGVuZ3RoPT09MCYmYyhbZG9jdW1lbnQsd2luZG93XSkudW5iaW5kKCIuZGlhbG9nLW92ZXJsYXkiKTthLnJlbW92ZSgpO3ZhciBiPTA7Yy5lYWNoKHRoaXMuaW5zdGFuY2VzLGZ1bmN0aW9uKCl7Yj1NYXRoLm1heChiLHRoaXMuY3NzKCJ6LWluZGV4IikpfSk7dGhpcy5tYXhaPWJ9LGhlaWdodDpmdW5jdGlvbigpe3ZhciBhLGI7aWYoYy5icm93c2VyLm1zaWUmJmMuYnJvd3Nlci52ZXJzaW9uPDcpe2E9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCxkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCk7CmI9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCk7cmV0dXJuIGE8Yj9jKHdpbmRvdykuaGVpZ2h0KCkrInB4IjphKyJweCJ9ZWxzZSByZXR1cm4gYyhkb2N1bWVudCkuaGVpZ2h0KCkrInB4In0sd2lkdGg6ZnVuY3Rpb24oKXt2YXIgYSxiO2lmKGMuYnJvd3Nlci5tc2llJiZjLmJyb3dzZXIudmVyc2lvbjw3KXthPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aCxkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKTtiPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCxkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKTtyZXR1cm4gYTxiP2Mod2luZG93KS53aWR0aCgpKyJweCI6YSsicHgifWVsc2UgcmV0dXJuIGMoZG9jdW1lbnQpLndpZHRoKCkrInB4In0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGE9YyhbXSk7Yy5lYWNoKGMudWkuZGlhbG9nLm92ZXJsYXkuaW5zdGFuY2VzLApmdW5jdGlvbigpe2E9YS5hZGQodGhpcyl9KTthLmNzcyh7d2lkdGg6MCxoZWlnaHQ6MH0pLmNzcyh7d2lkdGg6Yy51aS5kaWFsb2cub3ZlcmxheS53aWR0aCgpLGhlaWdodDpjLnVpLmRpYWxvZy5vdmVybGF5LmhlaWdodCgpfSl9fSk7Yy5leHRlbmQoYy51aS5kaWFsb2cub3ZlcmxheS5wcm90b3R5cGUse2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjLnVpLmRpYWxvZy5vdmVybGF5LmRlc3Ryb3kodGhpcy4kZWwpfX0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBTbGlkZXIgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NsaWRlcgogKgogKiBEZXBlbmRzOgogKglqcXVlcnkudWkuY29yZS5qcwogKglqcXVlcnkudWkubW91c2UuanMKICoJanF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGQpe2Qud2lkZ2V0KCJ1aS5zbGlkZXIiLGQudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJzbGlkZSIsb3B0aW9uczp7YW5pbWF0ZTpmYWxzZSxkaXN0YW5jZTowLG1heDoxMDAsbWluOjAsb3JpZW50YXRpb246Imhvcml6b250YWwiLHJhbmdlOmZhbHNlLHN0ZXA6MSx2YWx1ZTowLHZhbHVlczpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPXRoaXMub3B0aW9uczt0aGlzLl9tb3VzZVNsaWRpbmc9dGhpcy5fa2V5U2xpZGluZz1mYWxzZTt0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhpcy5faGFuZGxlSW5kZXg9bnVsbDt0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpO3RoaXMuX21vdXNlSW5pdCgpO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci0iK3RoaXMub3JpZW50YXRpb24rIiB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpO2IuZGlzYWJsZWQmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc2xpZGVyLWRpc2FibGVkIHVpLWRpc2FibGVkIik7CnRoaXMucmFuZ2U9ZChbXSk7aWYoYi5yYW5nZSl7aWYoYi5yYW5nZT09PXRydWUpe3RoaXMucmFuZ2U9ZCgiPGRpdj48L2Rpdj4iKTtpZighYi52YWx1ZXMpYi52YWx1ZXM9W3RoaXMuX3ZhbHVlTWluKCksdGhpcy5fdmFsdWVNaW4oKV07aWYoYi52YWx1ZXMubGVuZ3RoJiZiLnZhbHVlcy5sZW5ndGghPT0yKWIudmFsdWVzPVtiLnZhbHVlc1swXSxiLnZhbHVlc1swXV19ZWxzZSB0aGlzLnJhbmdlPWQoIjxkaXY+PC9kaXY+Iik7dGhpcy5yYW5nZS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1zbGlkZXItcmFuZ2UiKTtpZihiLnJhbmdlPT09Im1pbiJ8fGIucmFuZ2U9PT0ibWF4Iil0aGlzLnJhbmdlLmFkZENsYXNzKCJ1aS1zbGlkZXItcmFuZ2UtIitiLnJhbmdlKTt0aGlzLnJhbmdlLmFkZENsYXNzKCJ1aS13aWRnZXQtaGVhZGVyIil9ZCgiLnVpLXNsaWRlci1oYW5kbGUiLHRoaXMuZWxlbWVudCkubGVuZ3RoPT09MCYmZCgiPGEgaHJlZj0nIyc+PC9hPiIpLmFwcGVuZFRvKHRoaXMuZWxlbWVudCkuYWRkQ2xhc3MoInVpLXNsaWRlci1oYW5kbGUiKTsKaWYoYi52YWx1ZXMmJmIudmFsdWVzLmxlbmd0aClmb3IoO2QoIi51aS1zbGlkZXItaGFuZGxlIix0aGlzLmVsZW1lbnQpLmxlbmd0aDxiLnZhbHVlcy5sZW5ndGg7KWQoIjxhIGhyZWY9JyMnPjwvYT4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1zbGlkZXItaGFuZGxlIik7dGhpcy5oYW5kbGVzPWQoIi51aS1zbGlkZXItaGFuZGxlIix0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKTt0aGlzLmhhbmRsZT10aGlzLmhhbmRsZXMuZXEoMCk7dGhpcy5oYW5kbGVzLmFkZCh0aGlzLnJhbmdlKS5maWx0ZXIoImEiKS5jbGljayhmdW5jdGlvbihjKXtjLnByZXZlbnREZWZhdWx0KCl9KS5ob3ZlcihmdW5jdGlvbigpe2IuZGlzYWJsZWR8fGQodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9LGZ1bmN0aW9uKCl7ZCh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmZvY3VzKGZ1bmN0aW9uKCl7aWYoYi5kaXNhYmxlZClkKHRoaXMpLmJsdXIoKTsKZWxzZXtkKCIudWktc2xpZGVyIC51aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpO2QodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9fSkuYmx1cihmdW5jdGlvbigpe2QodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KTt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihjKXtkKHRoaXMpLmRhdGEoImluZGV4LnVpLXNsaWRlci1oYW5kbGUiLGMpfSk7dGhpcy5oYW5kbGVzLmtleWRvd24oZnVuY3Rpb24oYyl7dmFyIGU9dHJ1ZSxmPWQodGhpcykuZGF0YSgiaW5kZXgudWktc2xpZGVyLWhhbmRsZSIpLGgsZyxpO2lmKCFhLm9wdGlvbnMuZGlzYWJsZWQpe3N3aXRjaChjLmtleUNvZGUpe2Nhc2UgZC51aS5rZXlDb2RlLkhPTUU6Y2FzZSBkLnVpLmtleUNvZGUuRU5EOmNhc2UgZC51aS5rZXlDb2RlLlBBR0VfVVA6Y2FzZSBkLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgZC51aS5rZXlDb2RlLlVQOmNhc2UgZC51aS5rZXlDb2RlLlJJR0hUOmNhc2UgZC51aS5rZXlDb2RlLkRPV046Y2FzZSBkLnVpLmtleUNvZGUuTEVGVDplPQpmYWxzZTtpZighYS5fa2V5U2xpZGluZyl7YS5fa2V5U2xpZGluZz10cnVlO2QodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2g9YS5fc3RhcnQoYyxmKTtpZihoPT09ZmFsc2UpcmV0dXJufWJyZWFrfWk9YS5vcHRpb25zLnN0ZXA7aD1hLm9wdGlvbnMudmFsdWVzJiZhLm9wdGlvbnMudmFsdWVzLmxlbmd0aD8oZz1hLnZhbHVlcyhmKSk6KGc9YS52YWx1ZSgpKTtzd2l0Y2goYy5rZXlDb2RlKXtjYXNlIGQudWkua2V5Q29kZS5IT01FOmc9YS5fdmFsdWVNaW4oKTticmVhaztjYXNlIGQudWkua2V5Q29kZS5FTkQ6Zz1hLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLlBBR0VfVVA6Zz1hLl90cmltQWxpZ25WYWx1ZShoKyhhLl92YWx1ZU1heCgpLWEuX3ZhbHVlTWluKCkpLzUpO2JyZWFrO2Nhc2UgZC51aS5rZXlDb2RlLlBBR0VfRE9XTjpnPWEuX3RyaW1BbGlnblZhbHVlKGgtKGEuX3ZhbHVlTWF4KCktYS5fdmFsdWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuVVA6Y2FzZSBkLnVpLmtleUNvZGUuUklHSFQ6aWYoaD09PQphLl92YWx1ZU1heCgpKXJldHVybjtnPWEuX3RyaW1BbGlnblZhbHVlKGgraSk7YnJlYWs7Y2FzZSBkLnVpLmtleUNvZGUuRE9XTjpjYXNlIGQudWkua2V5Q29kZS5MRUZUOmlmKGg9PT1hLl92YWx1ZU1pbigpKXJldHVybjtnPWEuX3RyaW1BbGlnblZhbHVlKGgtaSk7YnJlYWt9YS5fc2xpZGUoYyxmLGcpO3JldHVybiBlfX0pLmtleXVwKGZ1bmN0aW9uKGMpe3ZhciBlPWQodGhpcykuZGF0YSgiaW5kZXgudWktc2xpZGVyLWhhbmRsZSIpO2lmKGEuX2tleVNsaWRpbmcpe2EuX2tleVNsaWRpbmc9ZmFsc2U7YS5fc3RvcChjLGUpO2EuX2NoYW5nZShjLGUpO2QodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfX0pO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2FuaW1hdGVPZmY9ZmFsc2V9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXMucmVtb3ZlKCk7dGhpcy5yYW5nZS5yZW1vdmUoKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwgdWktc2xpZGVyLWRpc2FibGVkIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIikucmVtb3ZlRGF0YSgic2xpZGVyIikudW5iaW5kKCIuc2xpZGVyIik7CnRoaXMuX21vdXNlRGVzdHJveSgpO3JldHVybiB0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub3B0aW9ucyxjLGUsZixoLGc7aWYoYi5kaXNhYmxlZClyZXR1cm4gZmFsc2U7dGhpcy5lbGVtZW50U2l6ZT17d2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCl9O3RoaXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7Yz10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uoe3g6YS5wYWdlWCx5OmEucGFnZVl9KTtlPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSsxO2g9dGhpczt0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihpKXt2YXIgaj1NYXRoLmFicyhjLWgudmFsdWVzKGkpKTtpZihlPmope2U9ajtmPWQodGhpcyk7Zz1pfX0pO2lmKGIucmFuZ2U9PT10cnVlJiZ0aGlzLnZhbHVlcygxKT09PWIubWluKXtnKz0xO2Y9ZCh0aGlzLmhhbmRsZXNbZ10pfWlmKHRoaXMuX3N0YXJ0KGEsCmcpPT09ZmFsc2UpcmV0dXJuIGZhbHNlO3RoaXMuX21vdXNlU2xpZGluZz10cnVlO2guX2hhbmRsZUluZGV4PWc7Zi5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuZm9jdXMoKTtiPWYub2Zmc2V0KCk7dGhpcy5fY2xpY2tPZmZzZXQ9IWQoYS50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCkuaXMoIi51aS1zbGlkZXItaGFuZGxlIik/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6YS5wYWdlWC1iLmxlZnQtZi53aWR0aCgpLzIsdG9wOmEucGFnZVktYi50b3AtZi5oZWlnaHQoKS8yLShwYXJzZUludChmLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChmLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChmLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX07dGhpcy5fc2xpZGUoYSxnLGMpO3JldHVybiB0aGlzLl9hbmltYXRlT2ZmPXRydWV9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oYSl7dmFyIGI9CnRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSh7eDphLnBhZ2VYLHk6YS5wYWdlWX0pO3RoaXMuX3NsaWRlKGEsdGhpcy5faGFuZGxlSW5kZXgsYik7cmV0dXJuIGZhbHNlfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGEpe3RoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIik7dGhpcy5fbW91c2VTbGlkaW5nPWZhbHNlO3RoaXMuX3N0b3AoYSx0aGlzLl9oYW5kbGVJbmRleCk7dGhpcy5fY2hhbmdlKGEsdGhpcy5faGFuZGxlSW5kZXgpO3RoaXMuX2NsaWNrT2Zmc2V0PXRoaXMuX2hhbmRsZUluZGV4PW51bGw7cmV0dXJuIHRoaXMuX2FuaW1hdGVPZmY9ZmFsc2V9LF9kZXRlY3RPcmllbnRhdGlvbjpmdW5jdGlvbigpe3RoaXMub3JpZW50YXRpb249dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPT09InZlcnRpY2FsIj8idmVydGljYWwiOiJob3Jpem9udGFsIn0sX25vcm1WYWx1ZUZyb21Nb3VzZTpmdW5jdGlvbihhKXt2YXIgYjtpZih0aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXtiPQp0aGlzLmVsZW1lbnRTaXplLndpZHRoO2E9YS54LXRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC5sZWZ0OjApfWVsc2V7Yj10aGlzLmVsZW1lbnRTaXplLmhlaWdodDthPWEueS10aGlzLmVsZW1lbnRPZmZzZXQudG9wLSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC50b3A6MCl9Yj1hL2I7aWYoYj4xKWI9MTtpZihiPDApYj0wO2lmKHRoaXMub3JpZW50YXRpb249PT0idmVydGljYWwiKWI9MS1iO2E9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpO3JldHVybiB0aGlzLl90cmltQWxpZ25WYWx1ZSh0aGlzLl92YWx1ZU1pbigpK2IqYSl9LF9zdGFydDpmdW5jdGlvbihhLGIpe3ZhciBjPXtoYW5kbGU6dGhpcy5oYW5kbGVzW2JdLHZhbHVlOnRoaXMudmFsdWUoKX07aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpe2MudmFsdWU9dGhpcy52YWx1ZXMoYik7CmMudmFsdWVzPXRoaXMudmFsdWVzKCl9cmV0dXJuIHRoaXMuX3RyaWdnZXIoInN0YXJ0IixhLGMpfSxfc2xpZGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBlO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtlPXRoaXMudmFsdWVzKGI/MDoxKTtpZih0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aD09PTImJnRoaXMub3B0aW9ucy5yYW5nZT09PXRydWUmJihiPT09MCYmYz5lfHxiPT09MSYmYzxlKSljPWU7aWYoYyE9PXRoaXMudmFsdWVzKGIpKXtlPXRoaXMudmFsdWVzKCk7ZVtiXT1jO2E9dGhpcy5fdHJpZ2dlcigic2xpZGUiLGEse2hhbmRsZTp0aGlzLmhhbmRsZXNbYl0sdmFsdWU6Yyx2YWx1ZXM6ZX0pO3RoaXMudmFsdWVzKGI/MDoxKTthIT09ZmFsc2UmJnRoaXMudmFsdWVzKGIsYyx0cnVlKX19ZWxzZSBpZihjIT09dGhpcy52YWx1ZSgpKXthPXRoaXMuX3RyaWdnZXIoInNsaWRlIixhLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2JdLHZhbHVlOmN9KTsKYSE9PWZhbHNlJiZ0aGlzLnZhbHVlKGMpfX0sX3N0b3A6ZnVuY3Rpb24oYSxiKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1tiXSx2YWx1ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtjLnZhbHVlPXRoaXMudmFsdWVzKGIpO2MudmFsdWVzPXRoaXMudmFsdWVzKCl9dGhpcy5fdHJpZ2dlcigic3RvcCIsYSxjKX0sX2NoYW5nZTpmdW5jdGlvbihhLGIpe2lmKCF0aGlzLl9rZXlTbGlkaW5nJiYhdGhpcy5fbW91c2VTbGlkaW5nKXt2YXIgYz17aGFuZGxlOnRoaXMuaGFuZGxlc1tiXSx2YWx1ZTp0aGlzLnZhbHVlKCl9O2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtjLnZhbHVlPXRoaXMudmFsdWVzKGIpO2MudmFsdWVzPXRoaXMudmFsdWVzKCl9dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixhLGMpfX0sdmFsdWU6ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aCl7dGhpcy5vcHRpb25zLnZhbHVlPQp0aGlzLl90cmltQWxpZ25WYWx1ZShhKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCwwKX1yZXR1cm4gdGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSl7dGhpcy5vcHRpb25zLnZhbHVlc1thXT10aGlzLl90cmltQWxpZ25WYWx1ZShiKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCxhKX1pZihhcmd1bWVudHMubGVuZ3RoKWlmKGQuaXNBcnJheShhcmd1bWVudHNbMF0pKXtjPXRoaXMub3B0aW9ucy52YWx1ZXM7ZT1hcmd1bWVudHNbMF07Zm9yKGY9MDtmPGMubGVuZ3RoO2YrPTEpe2NbZl09dGhpcy5fdHJpbUFsaWduVmFsdWUoZVtmXSk7dGhpcy5fY2hhbmdlKG51bGwsZil9dGhpcy5fcmVmcmVzaFZhbHVlKCl9ZWxzZSByZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKGEpOnRoaXMudmFsdWUoKTsKZWxzZSByZXR1cm4gdGhpcy5fdmFsdWVzKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPTA7aWYoZC5pc0FycmF5KHRoaXMub3B0aW9ucy52YWx1ZXMpKWU9dGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg7ZC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpO3N3aXRjaChhKXtjYXNlICJkaXNhYmxlZCI6aWYoYil7dGhpcy5oYW5kbGVzLmZpbHRlcigiLnVpLXN0YXRlLWZvY3VzIikuYmx1cigpO3RoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKTt0aGlzLmhhbmRsZXMuYXR0cigiZGlzYWJsZWQiLCJkaXNhYmxlZCIpO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZGlzYWJsZWQiKX1lbHNle3RoaXMuaGFuZGxlcy5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktZGlzYWJsZWQiKX1icmVhaztjYXNlICJvcmllbnRhdGlvbiI6dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTsKdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiKS5hZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbik7dGhpcy5fcmVmcmVzaFZhbHVlKCk7YnJlYWs7Y2FzZSAidmFsdWUiOnRoaXMuX2FuaW1hdGVPZmY9dHJ1ZTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCwwKTt0aGlzLl9hbmltYXRlT2ZmPWZhbHNlO2JyZWFrO2Nhc2UgInZhbHVlcyI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO2ZvcihjPTA7YzxlO2MrPTEpdGhpcy5fY2hhbmdlKG51bGwsYyk7dGhpcy5fYW5pbWF0ZU9mZj1mYWxzZTticmVha319LF92YWx1ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucy52YWx1ZTtyZXR1cm4gYT10aGlzLl90cmltQWxpZ25WYWx1ZShhKX0sX3ZhbHVlczpmdW5jdGlvbihhKXt2YXIgYixjO2lmKGFyZ3VtZW50cy5sZW5ndGgpe2I9dGhpcy5vcHRpb25zLnZhbHVlc1thXTsKcmV0dXJuIGI9dGhpcy5fdHJpbUFsaWduVmFsdWUoYil9ZWxzZXtiPXRoaXMub3B0aW9ucy52YWx1ZXMuc2xpY2UoKTtmb3IoYz0wO2M8Yi5sZW5ndGg7Yys9MSliW2NdPXRoaXMuX3RyaW1BbGlnblZhbHVlKGJbY10pO3JldHVybiBifX0sX3RyaW1BbGlnblZhbHVlOmZ1bmN0aW9uKGEpe2lmKGE8dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihhPnRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuIHRoaXMuX3ZhbHVlTWF4KCk7dmFyIGI9dGhpcy5vcHRpb25zLnN0ZXA+MD90aGlzLm9wdGlvbnMuc3RlcDoxLGM9YSViO2E9YS1jO2lmKE1hdGguYWJzKGMpKjI+PWIpYSs9Yz4wP2I6LWI7cmV0dXJuIHBhcnNlRmxvYXQoYS50b0ZpeGVkKDUpKX0sX3ZhbHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubWF4fSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGE9CnRoaXMub3B0aW9ucy5yYW5nZSxiPXRoaXMub3B0aW9ucyxjPXRoaXMsZT0hdGhpcy5fYW5pbWF0ZU9mZj9iLmFuaW1hdGU6ZmFsc2UsZixoPXt9LGcsaSxqLGw7aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpdGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oayl7Zj0oYy52YWx1ZXMoayktYy5fdmFsdWVNaW4oKSkvKGMuX3ZhbHVlTWF4KCktYy5fdmFsdWVNaW4oKSkqMTAwO2hbYy5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8ibGVmdCI6ImJvdHRvbSJdPWYrIiUiO2QodGhpcykuc3RvcCgxLDEpW2U/ImFuaW1hdGUiOiJjc3MiXShoLGIuYW5pbWF0ZSk7aWYoYy5vcHRpb25zLnJhbmdlPT09dHJ1ZSlpZihjLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXtpZihrPT09MCljLnJhbmdlLnN0b3AoMSwxKVtlPyJhbmltYXRlIjoiY3NzIl0oe2xlZnQ6ZisiJSJ9LGIuYW5pbWF0ZSk7aWYoaz09PTEpYy5yYW5nZVtlPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmYtCmcrIiUifSx7cXVldWU6ZmFsc2UsZHVyYXRpb246Yi5hbmltYXRlfSl9ZWxzZXtpZihrPT09MCljLnJhbmdlLnN0b3AoMSwxKVtlPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTpmKyIlIn0sYi5hbmltYXRlKTtpZihrPT09MSljLnJhbmdlW2U/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OmYtZysiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpiLmFuaW1hdGV9KX1nPWZ9KTtlbHNle2k9dGhpcy52YWx1ZSgpO2o9dGhpcy5fdmFsdWVNaW4oKTtsPXRoaXMuX3ZhbHVlTWF4KCk7Zj1sIT09aj8oaS1qKS8obC1qKSoxMDA6MDtoW2Mub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCI/ImxlZnQiOiJib3R0b20iXT1mKyIlIjt0aGlzLmhhbmRsZS5zdG9wKDEsMSlbZT8iYW5pbWF0ZSI6ImNzcyJdKGgsYi5hbmltYXRlKTtpZihhPT09Im1pbiImJnRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpdGhpcy5yYW5nZS5zdG9wKDEsMSlbZT8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDpmKyIlIn0sCmIuYW5pbWF0ZSk7aWYoYT09PSJtYXgiJiZ0aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwiKXRoaXMucmFuZ2VbZT8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDoxMDAtZisiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpiLmFuaW1hdGV9KTtpZihhPT09Im1pbiImJnRoaXMub3JpZW50YXRpb249PT0idmVydGljYWwiKXRoaXMucmFuZ2Uuc3RvcCgxLDEpW2U/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OmYrIiUifSxiLmFuaW1hdGUpO2lmKGE9PT0ibWF4IiYmdGhpcy5vcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZVtlPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDoxMDAtZisiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpiLmFuaW1hdGV9KX19fSk7ZC5leHRlbmQoZC51aS5zbGlkZXIse3ZlcnNpb246IjEuOC40In0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBUYWJzIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9UYWJzCiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS51aS5jb3JlLmpzCiAqCWpxdWVyeS51aS53aWRnZXQuanMKICovCihmdW5jdGlvbihkLHApe2Z1bmN0aW9uIHUoKXtyZXR1cm4rK3Z9ZnVuY3Rpb24gdygpe3JldHVybisreH12YXIgdj0wLHg9MDtkLndpZGdldCgidWkudGFicyIse29wdGlvbnM6e2FkZDpudWxsLGFqYXhPcHRpb25zOm51bGwsY2FjaGU6ZmFsc2UsY29va2llOm51bGwsY29sbGFwc2libGU6ZmFsc2UsZGlzYWJsZTpudWxsLGRpc2FibGVkOltdLGVuYWJsZTpudWxsLGV2ZW50OiJjbGljayIsZng6bnVsbCxpZFByZWZpeDoidWktdGFicy0iLGxvYWQ6bnVsbCxwYW5lbFRlbXBsYXRlOiI8ZGl2PjwvZGl2PiIscmVtb3ZlOm51bGwsc2VsZWN0Om51bGwsc2hvdzpudWxsLHNwaW5uZXI6IjxlbT5Mb2FkaW5nJiM4MjMwOzwvZW0+Iix0YWJUZW1wbGF0ZToiPGxpPjxhIGhyZWY9JyN7aHJlZn0nPjxzcGFuPiN7bGFiZWx9PC9zcGFuPjwvYT48L2xpPiJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl90YWJpZnkodHJ1ZSl9LF9zZXRPcHRpb246ZnVuY3Rpb24oYSxlKXtpZihhPT0ic2VsZWN0ZWQiKXRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSYmCmU9PXRoaXMub3B0aW9ucy5zZWxlY3RlZHx8dGhpcy5zZWxlY3QoZSk7ZWxzZXt0aGlzLm9wdGlvbnNbYV09ZTt0aGlzLl90YWJpZnkoKX19LF90YWJJZDpmdW5jdGlvbihhKXtyZXR1cm4gYS50aXRsZSYmYS50aXRsZS5yZXBsYWNlKC9ccy9nLCJfIikucmVwbGFjZSgvW15BLVphLXowLTlcLV86XC5dL2csIiIpfHx0aGlzLm9wdGlvbnMuaWRQcmVmaXgrdSgpfSxfc2FuaXRpemVTZWxlY3RvcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC86L2csIlxcOiIpfSxfY29va2llOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jb29raWV8fCh0aGlzLmNvb2tpZT10aGlzLm9wdGlvbnMuY29va2llLm5hbWV8fCJ1aS10YWJzLSIrdygpKTtyZXR1cm4gZC5jb29raWUuYXBwbHkobnVsbCxbYV0uY29uY2F0KGQubWFrZUFycmF5KGFyZ3VtZW50cykpKX0sX3VpOmZ1bmN0aW9uKGEsZSl7cmV0dXJue3RhYjphLHBhbmVsOmUsaW5kZXg6dGhpcy5hbmNob3JzLmluZGV4KGEpfX0sX2NsZWFudXA6ZnVuY3Rpb24oKXt0aGlzLmxpcy5maWx0ZXIoIi51aS1zdGF0ZS1wcm9jZXNzaW5nIikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLXByb2Nlc3NpbmciKS5maW5kKCJzcGFuOmRhdGEobGFiZWwudGFicykiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9CmQodGhpcyk7YS5odG1sKGEuZGF0YSgibGFiZWwudGFicyIpKS5yZW1vdmVEYXRhKCJsYWJlbC50YWJzIil9KX0sX3RhYmlmeTpmdW5jdGlvbihhKXtmdW5jdGlvbiBlKGcsZil7Zy5jc3MoImRpc3BsYXkiLCIiKTshZC5zdXBwb3J0Lm9wYWNpdHkmJmYub3BhY2l0eSYmZ1swXS5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpfXZhciBiPXRoaXMsYz10aGlzLm9wdGlvbnMsaD0vXiMuKy87dGhpcy5saXN0PXRoaXMuZWxlbWVudC5maW5kKCJvbCx1bCIpLmVxKDApO3RoaXMubGlzPWQoImxpOmhhcyhhW2hyZWZdKSIsdGhpcy5saXN0KTt0aGlzLmFuY2hvcnM9dGhpcy5saXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGQoImEiLHRoaXMpWzBdfSk7dGhpcy5wYW5lbHM9ZChbXSk7dGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24oZyxmKXt2YXIgaj1kKGYpLmF0dHIoImhyZWYiKSxsPWouc3BsaXQoIiMiKVswXSxxO2lmKGwmJihsPT09bG9jYXRpb24udG9TdHJpbmcoKS5zcGxpdCgiIyIpWzBdfHwKKHE9ZCgiYmFzZSIpWzBdKSYmbD09PXEuaHJlZikpe2o9Zi5oYXNoO2YuaHJlZj1qfWlmKGgudGVzdChqKSliLnBhbmVscz1iLnBhbmVscy5hZGQoYi5fc2FuaXRpemVTZWxlY3RvcihqKSk7ZWxzZSBpZihqIT09IiMiKXtkLmRhdGEoZiwiaHJlZi50YWJzIixqKTtkLmRhdGEoZiwibG9hZC50YWJzIixqLnJlcGxhY2UoLyMuKiQvLCIiKSk7aj1iLl90YWJJZChmKTtmLmhyZWY9IiMiK2o7Zj1kKCIjIitqKTtpZighZi5sZW5ndGgpe2Y9ZChjLnBhbmVsVGVtcGxhdGUpLmF0dHIoImlkIixqKS5hZGRDbGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIikuaW5zZXJ0QWZ0ZXIoYi5wYW5lbHNbZy0xXXx8Yi5saXN0KTtmLmRhdGEoImRlc3Ryb3kudGFicyIsdHJ1ZSl9Yi5wYW5lbHM9Yi5wYW5lbHMuYWRkKGYpfWVsc2UgYy5kaXNhYmxlZC5wdXNoKGcpfSk7aWYoYSl7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIik7CnRoaXMubGlzdC5hZGRDbGFzcygidWktdGFicy1uYXYgdWktaGVscGVyLXJlc2V0IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiKTt0aGlzLmxpcy5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIik7dGhpcy5wYW5lbHMuYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIpO2lmKGMuc2VsZWN0ZWQ9PT1wKXtsb2NhdGlvbi5oYXNoJiZ0aGlzLmFuY2hvcnMuZWFjaChmdW5jdGlvbihnLGYpe2lmKGYuaGFzaD09bG9jYXRpb24uaGFzaCl7Yy5zZWxlY3RlZD1nO3JldHVybiBmYWxzZX19KTtpZih0eXBlb2YgYy5zZWxlY3RlZCE9PSJudW1iZXIiJiZjLmNvb2tpZSljLnNlbGVjdGVkPXBhcnNlSW50KGIuX2Nvb2tpZSgpLDEwKTtpZih0eXBlb2YgYy5zZWxlY3RlZCE9PSJudW1iZXIiJiZ0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVjdGVkIikubGVuZ3RoKWMuc2VsZWN0ZWQ9CnRoaXMubGlzLmluZGV4KHRoaXMubGlzLmZpbHRlcigiLnVpLXRhYnMtc2VsZWN0ZWQiKSk7Yy5zZWxlY3RlZD1jLnNlbGVjdGVkfHwodGhpcy5saXMubGVuZ3RoPzA6LTEpfWVsc2UgaWYoYy5zZWxlY3RlZD09PW51bGwpYy5zZWxlY3RlZD0tMTtjLnNlbGVjdGVkPWMuc2VsZWN0ZWQ+PTAmJnRoaXMuYW5jaG9yc1tjLnNlbGVjdGVkXXx8Yy5zZWxlY3RlZDwwP2Muc2VsZWN0ZWQ6MDtjLmRpc2FibGVkPWQudW5pcXVlKGMuZGlzYWJsZWQuY29uY2F0KGQubWFwKHRoaXMubGlzLmZpbHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIiksZnVuY3Rpb24oZyl7cmV0dXJuIGIubGlzLmluZGV4KGcpfSkpKS5zb3J0KCk7ZC5pbkFycmF5KGMuc2VsZWN0ZWQsYy5kaXNhYmxlZCkhPS0xJiZjLmRpc2FibGVkLnNwbGljZShkLmluQXJyYXkoYy5zZWxlY3RlZCxjLmRpc2FibGVkKSwxKTt0aGlzLnBhbmVscy5hZGRDbGFzcygidWktdGFicy1oaWRlIik7dGhpcy5saXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7CmlmKGMuc2VsZWN0ZWQ+PTAmJnRoaXMuYW5jaG9ycy5sZW5ndGgpe3RoaXMucGFuZWxzLmVxKGMuc2VsZWN0ZWQpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmxpcy5lcShjLnNlbGVjdGVkKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtiLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7Yi5fdHJpZ2dlcigic2hvdyIsbnVsbCxiLl91aShiLmFuY2hvcnNbYy5zZWxlY3RlZF0sYi5wYW5lbHNbYy5zZWxlY3RlZF0pKX0pO3RoaXMubG9hZChjLnNlbGVjdGVkKX1kKHdpbmRvdykuYmluZCgidW5sb2FkIixmdW5jdGlvbigpe2IubGlzLmFkZChiLmFuY2hvcnMpLnVuYmluZCgiLnRhYnMiKTtiLmxpcz1iLmFuY2hvcnM9Yi5wYW5lbHM9bnVsbH0pfWVsc2UgYy5zZWxlY3RlZD10aGlzLmxpcy5pbmRleCh0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJzLXNlbGVjdGVkIikpO3RoaXMuZWxlbWVudFtjLmNvbGxhcHNpYmxlPyJhZGRDbGFzcyI6CiJyZW1vdmVDbGFzcyJdKCJ1aS10YWJzLWNvbGxhcHNpYmxlIik7Yy5jb29raWUmJnRoaXMuX2Nvb2tpZShjLnNlbGVjdGVkLGMuY29va2llKTthPTA7Zm9yKHZhciBpO2k9dGhpcy5saXNbYV07YSsrKWQoaSlbZC5pbkFycmF5KGEsYy5kaXNhYmxlZCkhPS0xJiYhZChpKS5oYXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oInVpLXN0YXRlLWRpc2FibGVkIik7Yy5jYWNoZT09PWZhbHNlJiZ0aGlzLmFuY2hvcnMucmVtb3ZlRGF0YSgiY2FjaGUudGFicyIpO3RoaXMubGlzLmFkZCh0aGlzLmFuY2hvcnMpLnVuYmluZCgiLnRhYnMiKTtpZihjLmV2ZW50IT09Im1vdXNlb3ZlciIpe3ZhciBrPWZ1bmN0aW9uKGcsZil7Zi5pcygiOm5vdCgudWktc3RhdGUtZGlzYWJsZWQpIikmJmYuYWRkQ2xhc3MoInVpLXN0YXRlLSIrZyl9LG49ZnVuY3Rpb24oZyxmKXtmLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS0iK2cpfTt0aGlzLmxpcy5iaW5kKCJtb3VzZW92ZXIudGFicyIsCmZ1bmN0aW9uKCl7aygiaG92ZXIiLGQodGhpcykpfSk7dGhpcy5saXMuYmluZCgibW91c2VvdXQudGFicyIsZnVuY3Rpb24oKXtuKCJob3ZlciIsZCh0aGlzKSl9KTt0aGlzLmFuY2hvcnMuYmluZCgiZm9jdXMudGFicyIsZnVuY3Rpb24oKXtrKCJmb2N1cyIsZCh0aGlzKS5jbG9zZXN0KCJsaSIpKX0pO3RoaXMuYW5jaG9ycy5iaW5kKCJibHVyLnRhYnMiLGZ1bmN0aW9uKCl7bigiZm9jdXMiLGQodGhpcykuY2xvc2VzdCgibGkiKSl9KX12YXIgbSxvO2lmKGMuZngpaWYoZC5pc0FycmF5KGMuZngpKXttPWMuZnhbMF07bz1jLmZ4WzFdfWVsc2UgbT1vPWMuZng7dmFyIHI9bz9mdW5jdGlvbihnLGYpe2QoZykuY2xvc2VzdCgibGkiKS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtmLmhpZGUoKS5yZW1vdmVDbGFzcygidWktdGFicy1oaWRlIikuYW5pbWF0ZShvLG8uZHVyYXRpb258fCJub3JtYWwiLGZ1bmN0aW9uKCl7ZShmLG8pO2IuX3RyaWdnZXIoInNob3ciLApudWxsLGIuX3VpKGcsZlswXSkpfSl9OmZ1bmN0aW9uKGcsZil7ZChnKS5jbG9zZXN0KCJsaSIpLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO2YucmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIpO2IuX3RyaWdnZXIoInNob3ciLG51bGwsYi5fdWkoZyxmWzBdKSl9LHM9bT9mdW5jdGlvbihnLGYpe2YuYW5pbWF0ZShtLG0uZHVyYXRpb258fCJub3JtYWwiLGZ1bmN0aW9uKCl7Yi5saXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7Zi5hZGRDbGFzcygidWktdGFicy1oaWRlIik7ZShmLG0pO2IuZWxlbWVudC5kZXF1ZXVlKCJ0YWJzIil9KX06ZnVuY3Rpb24oZyxmKXtiLmxpcy5yZW1vdmVDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtmLmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTtiLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpfTt0aGlzLmFuY2hvcnMuYmluZChjLmV2ZW50KyIudGFicyIsCmZ1bmN0aW9uKCl7dmFyIGc9dGhpcyxmPWQoZykuY2xvc2VzdCgibGkiKSxqPWIucGFuZWxzLmZpbHRlcigiOm5vdCgudWktdGFicy1oaWRlKSIpLGw9ZChiLl9zYW5pdGl6ZVNlbGVjdG9yKGcuaGFzaCkpO2lmKGYuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSYmIWMuY29sbGFwc2libGV8fGYuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fGYuaGFzQ2xhc3MoInVpLXN0YXRlLXByb2Nlc3NpbmciKXx8Yi5fdHJpZ2dlcigic2VsZWN0IixudWxsLGIuX3VpKHRoaXMsbFswXSkpPT09ZmFsc2Upe3RoaXMuYmx1cigpO3JldHVybiBmYWxzZX1jLnNlbGVjdGVkPWIuYW5jaG9ycy5pbmRleCh0aGlzKTtiLmFib3J0KCk7aWYoYy5jb2xsYXBzaWJsZSlpZihmLmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIikpe2Muc2VsZWN0ZWQ9LTE7Yy5jb29raWUmJmIuX2Nvb2tpZShjLnNlbGVjdGVkLGMuY29va2llKTtiLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cyhnLApqKX0pLmRlcXVldWUoInRhYnMiKTt0aGlzLmJsdXIoKTtyZXR1cm4gZmFsc2V9ZWxzZSBpZighai5sZW5ndGgpe2MuY29va2llJiZiLl9jb29raWUoYy5zZWxlY3RlZCxjLmNvb2tpZSk7Yi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3IoZyxsKX0pO2IubG9hZChiLmFuY2hvcnMuaW5kZXgodGhpcykpO3RoaXMuYmx1cigpO3JldHVybiBmYWxzZX1jLmNvb2tpZSYmYi5fY29va2llKGMuc2VsZWN0ZWQsYy5jb29raWUpO2lmKGwubGVuZ3RoKXtqLmxlbmd0aCYmYi5lbGVtZW50LnF1ZXVlKCJ0YWJzIixmdW5jdGlvbigpe3MoZyxqKX0pO2IuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtyKGcsbCl9KTtiLmxvYWQoYi5hbmNob3JzLmluZGV4KHRoaXMpKX1lbHNlIHRocm93ImpRdWVyeSBVSSBUYWJzOiBNaXNtYXRjaGluZyBmcmFnbWVudCBpZGVudGlmaWVyLiI7ZC5icm93c2VyLm1zaWUmJnRoaXMuYmx1cigpfSk7dGhpcy5hbmNob3JzLmJpbmQoImNsaWNrLnRhYnMiLApmdW5jdGlvbigpe3JldHVybiBmYWxzZX0pfSxfZ2V0SW5kZXg6ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKWE9dGhpcy5hbmNob3JzLmluZGV4KHRoaXMuYW5jaG9ycy5maWx0ZXIoIltocmVmJD0iK2ErIl0iKSk7cmV0dXJuIGF9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7dGhpcy5hYm9ydCgpO3RoaXMuZWxlbWVudC51bmJpbmQoIi50YWJzIikucmVtb3ZlQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktdGFicy1jb2xsYXBzaWJsZSIpLnJlbW92ZURhdGEoInRhYnMiKTt0aGlzLmxpc3QucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIik7dGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1kLmRhdGEodGhpcywiaHJlZi50YWJzIik7aWYoZSl0aGlzLmhyZWY9CmU7dmFyIGI9ZCh0aGlzKS51bmJpbmQoIi50YWJzIik7ZC5lYWNoKFsiaHJlZiIsImxvYWQiLCJjYWNoZSJdLGZ1bmN0aW9uKGMsaCl7Yi5yZW1vdmVEYXRhKGgrIi50YWJzIil9KX0pO3RoaXMubGlzLnVuYmluZCgiLnRhYnMiKS5hZGQodGhpcy5wYW5lbHMpLmVhY2goZnVuY3Rpb24oKXtkLmRhdGEodGhpcywiZGVzdHJveS50YWJzIik/ZCh0aGlzKS5yZW1vdmUoKTpkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AgdWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtZm9jdXMgdWktc3RhdGUtZGlzYWJsZWQgdWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLXRhYnMtaGlkZSIpfSk7YS5jb29raWUmJnRoaXMuX2Nvb2tpZShudWxsLGEuY29va2llKTtyZXR1cm4gdGhpc30sYWRkOmZ1bmN0aW9uKGEsZSxiKXtpZihiPT09cCliPXRoaXMuYW5jaG9ycy5sZW5ndGg7CnZhciBjPXRoaXMsaD10aGlzLm9wdGlvbnM7ZT1kKGgudGFiVGVtcGxhdGUucmVwbGFjZSgvI1x7aHJlZlx9L2csYSkucmVwbGFjZSgvI1x7bGFiZWxcfS9nLGUpKTthPSFhLmluZGV4T2YoIiMiKT9hLnJlcGxhY2UoIiMiLCIiKTp0aGlzLl90YWJJZChkKCJhIixlKVswXSk7ZS5hZGRDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIikuZGF0YSgiZGVzdHJveS50YWJzIix0cnVlKTt2YXIgaT1kKCIjIithKTtpLmxlbmd0aHx8KGk9ZChoLnBhbmVsVGVtcGxhdGUpLmF0dHIoImlkIixhKS5kYXRhKCJkZXN0cm95LnRhYnMiLHRydWUpKTtpLmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktdGFicy1oaWRlIik7aWYoYj49dGhpcy5saXMubGVuZ3RoKXtlLmFwcGVuZFRvKHRoaXMubGlzdCk7aS5hcHBlbmRUbyh0aGlzLmxpc3RbMF0ucGFyZW50Tm9kZSl9ZWxzZXtlLmluc2VydEJlZm9yZSh0aGlzLmxpc1tiXSk7CmkuaW5zZXJ0QmVmb3JlKHRoaXMucGFuZWxzW2JdKX1oLmRpc2FibGVkPWQubWFwKGguZGlzYWJsZWQsZnVuY3Rpb24oayl7cmV0dXJuIGs+PWI/KytrOmt9KTt0aGlzLl90YWJpZnkoKTtpZih0aGlzLmFuY2hvcnMubGVuZ3RoPT0xKXtoLnNlbGVjdGVkPTA7ZS5hZGRDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKTt0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7Yy5fdHJpZ2dlcigic2hvdyIsbnVsbCxjLl91aShjLmFuY2hvcnNbMF0sYy5wYW5lbHNbMF0pKX0pO3RoaXMubG9hZCgwKX10aGlzLl90cmlnZ2VyKCJhZGQiLG51bGwsdGhpcy5fdWkodGhpcy5hbmNob3JzW2JdLHRoaXMucGFuZWxzW2JdKSk7cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbihhKXthPXRoaXMuX2dldEluZGV4KGEpO3ZhciBlPXRoaXMub3B0aW9ucyxiPXRoaXMubGlzLmVxKGEpLnJlbW92ZSgpLGM9dGhpcy5wYW5lbHMuZXEoYSkucmVtb3ZlKCk7CmlmKGIuaGFzQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQiKSYmdGhpcy5hbmNob3JzLmxlbmd0aD4xKXRoaXMuc2VsZWN0KGErKGErMTx0aGlzLmFuY2hvcnMubGVuZ3RoPzE6LTEpKTtlLmRpc2FibGVkPWQubWFwKGQuZ3JlcChlLmRpc2FibGVkLGZ1bmN0aW9uKGgpe3JldHVybiBoIT1hfSksZnVuY3Rpb24oaCl7cmV0dXJuIGg+PWE/LS1oOmh9KTt0aGlzLl90YWJpZnkoKTt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLG51bGwsdGhpcy5fdWkoYi5maW5kKCJhIilbMF0sY1swXSkpO3JldHVybiB0aGlzfSxlbmFibGU6ZnVuY3Rpb24oYSl7YT10aGlzLl9nZXRJbmRleChhKTt2YXIgZT10aGlzLm9wdGlvbnM7aWYoZC5pbkFycmF5KGEsZS5kaXNhYmxlZCkhPS0xKXt0aGlzLmxpcy5lcShhKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtlLmRpc2FibGVkPWQuZ3JlcChlLmRpc2FibGVkLGZ1bmN0aW9uKGIpe3JldHVybiBiIT1hfSk7dGhpcy5fdHJpZ2dlcigiZW5hYmxlIixudWxsLAp0aGlzLl91aSh0aGlzLmFuY2hvcnNbYV0sdGhpcy5wYW5lbHNbYV0pKTtyZXR1cm4gdGhpc319LGRpc2FibGU6ZnVuY3Rpb24oYSl7YT10aGlzLl9nZXRJbmRleChhKTt2YXIgZT10aGlzLm9wdGlvbnM7aWYoYSE9ZS5zZWxlY3RlZCl7dGhpcy5saXMuZXEoYSkuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7ZS5kaXNhYmxlZC5wdXNoKGEpO2UuZGlzYWJsZWQuc29ydCgpO3RoaXMuX3RyaWdnZXIoImRpc2FibGUiLG51bGwsdGhpcy5fdWkodGhpcy5hbmNob3JzW2FdLHRoaXMucGFuZWxzW2FdKSl9cmV0dXJuIHRoaXN9LHNlbGVjdDpmdW5jdGlvbihhKXthPXRoaXMuX2dldEluZGV4KGEpO2lmKGE9PS0xKWlmKHRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSYmdGhpcy5vcHRpb25zLnNlbGVjdGVkIT0tMSlhPXRoaXMub3B0aW9ucy5zZWxlY3RlZDtlbHNlIHJldHVybiB0aGlzO3RoaXMuYW5jaG9ycy5lcShhKS50cmlnZ2VyKHRoaXMub3B0aW9ucy5ldmVudCsiLnRhYnMiKTtyZXR1cm4gdGhpc30sCmxvYWQ6ZnVuY3Rpb24oYSl7YT10aGlzLl9nZXRJbmRleChhKTt2YXIgZT10aGlzLGI9dGhpcy5vcHRpb25zLGM9dGhpcy5hbmNob3JzLmVxKGEpWzBdLGg9ZC5kYXRhKGMsImxvYWQudGFicyIpO3RoaXMuYWJvcnQoKTtpZighaHx8dGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIikubGVuZ3RoIT09MCYmZC5kYXRhKGMsImNhY2hlLnRhYnMiKSl0aGlzLmVsZW1lbnQuZGVxdWV1ZSgidGFicyIpO2Vsc2V7dGhpcy5saXMuZXEoYSkuYWRkQ2xhc3MoInVpLXN0YXRlLXByb2Nlc3NpbmciKTtpZihiLnNwaW5uZXIpe3ZhciBpPWQoInNwYW4iLGMpO2kuZGF0YSgibGFiZWwudGFicyIsaS5odG1sKCkpLmh0bWwoYi5zcGlubmVyKX10aGlzLnhocj1kLmFqYXgoZC5leHRlbmQoe30sYi5hamF4T3B0aW9ucyx7dXJsOmgsc3VjY2VzczpmdW5jdGlvbihrLG4pe2QoZS5fc2FuaXRpemVTZWxlY3RvcihjLmhhc2gpKS5odG1sKGspO2UuX2NsZWFudXAoKTtiLmNhY2hlJiZkLmRhdGEoYywiY2FjaGUudGFicyIsCnRydWUpO2UuX3RyaWdnZXIoImxvYWQiLG51bGwsZS5fdWkoZS5hbmNob3JzW2FdLGUucGFuZWxzW2FdKSk7dHJ5e2IuYWpheE9wdGlvbnMuc3VjY2VzcyhrLG4pfWNhdGNoKG0pe319LGVycm9yOmZ1bmN0aW9uKGssbil7ZS5fY2xlYW51cCgpO2UuX3RyaWdnZXIoImxvYWQiLG51bGwsZS5fdWkoZS5hbmNob3JzW2FdLGUucGFuZWxzW2FdKSk7dHJ5e2IuYWpheE9wdGlvbnMuZXJyb3IoayxuLGEsYyl9Y2F0Y2gobSl7fX19KSk7ZS5lbGVtZW50LmRlcXVldWUoInRhYnMiKTtyZXR1cm4gdGhpc319LGFib3J0OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnF1ZXVlKFtdKTt0aGlzLnBhbmVscy5zdG9wKGZhbHNlLHRydWUpO3RoaXMuZWxlbWVudC5xdWV1ZSgidGFicyIsdGhpcy5lbGVtZW50LnF1ZXVlKCJ0YWJzIikuc3BsaWNlKC0yLDIpKTtpZih0aGlzLnhocil7dGhpcy54aHIuYWJvcnQoKTtkZWxldGUgdGhpcy54aHJ9dGhpcy5fY2xlYW51cCgpO3JldHVybiB0aGlzfSx1cmw6ZnVuY3Rpb24oYSwKZSl7dGhpcy5hbmNob3JzLmVxKGEpLnJlbW92ZURhdGEoImNhY2hlLnRhYnMiKS5kYXRhKCJsb2FkLnRhYnMiLGUpO3JldHVybiB0aGlzfSxsZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmNob3JzLmxlbmd0aH19KTtkLmV4dGVuZChkLnVpLnRhYnMse3ZlcnNpb246IjEuOC40In0pO2QuZXh0ZW5kKGQudWkudGFicy5wcm90b3R5cGUse3JvdGF0aW9uOm51bGwscm90YXRlOmZ1bmN0aW9uKGEsZSl7dmFyIGI9dGhpcyxjPXRoaXMub3B0aW9ucyxoPWIuX3JvdGF0ZXx8KGIuX3JvdGF0ZT1mdW5jdGlvbihpKXtjbGVhclRpbWVvdXQoYi5yb3RhdGlvbik7Yi5yb3RhdGlvbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGs9Yy5zZWxlY3RlZDtiLnNlbGVjdCgrK2s8Yi5hbmNob3JzLmxlbmd0aD9rOjApfSxhKTtpJiZpLnN0b3BQcm9wYWdhdGlvbigpfSk7ZT1iLl91bnJvdGF0ZXx8KGIuX3Vucm90YXRlPSFlP2Z1bmN0aW9uKGkpe2kuY2xpZW50WCYmYi5yb3RhdGUobnVsbCl9OgpmdW5jdGlvbigpe3Q9Yy5zZWxlY3RlZDtoKCl9KTtpZihhKXt0aGlzLmVsZW1lbnQuYmluZCgidGFic3Nob3ciLGgpO3RoaXMuYW5jaG9ycy5iaW5kKGMuZXZlbnQrIi50YWJzIixlKTtoKCl9ZWxzZXtjbGVhclRpbWVvdXQoYi5yb3RhdGlvbik7dGhpcy5lbGVtZW50LnVuYmluZCgidGFic3Nob3ciLGgpO3RoaXMuYW5jaG9ycy51bmJpbmQoYy5ldmVudCsiLnRhYnMiLGUpO2RlbGV0ZSB0aGlzLl9yb3RhdGU7ZGVsZXRlIHRoaXMuX3Vucm90YXRlfXJldHVybiB0aGlzfX0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9EYXRlcGlja2VyCiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS51aS5jb3JlLmpzCiAqLwooZnVuY3Rpb24oZCxHKXtmdW5jdGlvbiBMKCl7dGhpcy5kZWJ1Zz1mYWxzZTt0aGlzLl9jdXJJbnN0PW51bGw7dGhpcy5fa2V5RXZlbnQ9ZmFsc2U7dGhpcy5fZGlzYWJsZWRJbnB1dHM9W107dGhpcy5faW5EaWFsb2c9dGhpcy5fZGF0ZXBpY2tlclNob3dpbmc9ZmFsc2U7dGhpcy5fbWFpbkRpdklkPSJ1aS1kYXRlcGlja2VyLWRpdiI7dGhpcy5faW5saW5lQ2xhc3M9InVpLWRhdGVwaWNrZXItaW5saW5lIjt0aGlzLl9hcHBlbmRDbGFzcz0idWktZGF0ZXBpY2tlci1hcHBlbmQiO3RoaXMuX3RyaWdnZXJDbGFzcz0idWktZGF0ZXBpY2tlci10cmlnZ2VyIjt0aGlzLl9kaWFsb2dDbGFzcz0idWktZGF0ZXBpY2tlci1kaWFsb2ciO3RoaXMuX2Rpc2FibGVDbGFzcz0idWktZGF0ZXBpY2tlci1kaXNhYmxlZCI7dGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIjt0aGlzLl9jdXJyZW50Q2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiO3RoaXMuX2RheU92ZXJDbGFzcz0KInVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIiO3RoaXMucmVnaW9uYWw9W107dGhpcy5yZWdpb25hbFsiIl09e2Nsb3NlVGV4dDoiRG9uZSIscHJldlRleHQ6IlByZXYiLG5leHRUZXh0OiJOZXh0IixjdXJyZW50VGV4dDoiVG9kYXkiLG1vbnRoTmFtZXM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLG1vbnRoTmFtZXNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLGRheU5hbWVzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxkYXlOYW1lc1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5TmFtZXNNaW46WyJTdSIsCiJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSx3ZWVrSGVhZGVyOiJXayIsZGF0ZUZvcm1hdDoibW0vZGQveXkiLGZpcnN0RGF5OjAsaXNSVEw6ZmFsc2Usc2hvd01vbnRoQWZ0ZXJZZWFyOmZhbHNlLHllYXJTdWZmaXg6IiJ9O3RoaXMuX2RlZmF1bHRzPXtzaG93T246ImZvY3VzIixzaG93QW5pbToiZmFkZUluIixzaG93T3B0aW9uczp7fSxkZWZhdWx0RGF0ZTpudWxsLGFwcGVuZFRleHQ6IiIsYnV0dG9uVGV4dDoiLi4uIixidXR0b25JbWFnZToiIixidXR0b25JbWFnZU9ubHk6ZmFsc2UsaGlkZUlmTm9QcmV2TmV4dDpmYWxzZSxuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0OmZhbHNlLGdvdG9DdXJyZW50OmZhbHNlLGNoYW5nZU1vbnRoOmZhbHNlLGNoYW5nZVllYXI6ZmFsc2UseWVhclJhbmdlOiJjLTEwOmMrMTAiLHNob3dPdGhlck1vbnRoczpmYWxzZSxzZWxlY3RPdGhlck1vbnRoczpmYWxzZSxzaG93V2VlazpmYWxzZSxjYWxjdWxhdGVXZWVrOnRoaXMuaXNvODYwMVdlZWssc2hvcnRZZWFyQ3V0b2ZmOiIrMTAiLAptaW5EYXRlOm51bGwsbWF4RGF0ZTpudWxsLGR1cmF0aW9uOiJmYXN0IixiZWZvcmVTaG93RGF5Om51bGwsYmVmb3JlU2hvdzpudWxsLG9uU2VsZWN0Om51bGwsb25DaGFuZ2VNb250aFllYXI6bnVsbCxvbkNsb3NlOm51bGwsbnVtYmVyT2ZNb250aHM6MSxzaG93Q3VycmVudEF0UG9zOjAsc3RlcE1vbnRoczoxLHN0ZXBCaWdNb250aHM6MTIsYWx0RmllbGQ6IiIsYWx0Rm9ybWF0OiIiLGNvbnN0cmFpbklucHV0OnRydWUsc2hvd0J1dHRvblBhbmVsOmZhbHNlLGF1dG9TaXplOmZhbHNlfTtkLmV4dGVuZCh0aGlzLl9kZWZhdWx0cyx0aGlzLnJlZ2lvbmFsWyIiXSk7dGhpcy5kcERpdj1kKCc8ZGl2IGlkPSInK3RoaXMuX21haW5EaXZJZCsnIiBjbGFzcz0idWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48L2Rpdj4nKX1mdW5jdGlvbiBFKGEsYil7ZC5leHRlbmQoYSwKYik7Zm9yKHZhciBjIGluIGIpaWYoYltjXT09bnVsbHx8YltjXT09RylhW2NdPWJbY107cmV0dXJuIGF9ZC5leHRlbmQoZC51aSx7ZGF0ZXBpY2tlcjp7dmVyc2lvbjoiMS44LjQifX0pO3ZhciB5PShuZXcgRGF0ZSkuZ2V0VGltZSgpO2QuZXh0ZW5kKEwucHJvdG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLGxvZzpmdW5jdGlvbigpe3RoaXMuZGVidWcmJmNvbnNvbGUubG9nLmFwcGx5KCIiLGFyZ3VtZW50cyl9LF93aWRnZXREYXRlcGlja2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZHBEaXZ9LHNldERlZmF1bHRzOmZ1bmN0aW9uKGEpe0UodGhpcy5fZGVmYXVsdHMsYXx8e30pO3JldHVybiB0aGlzfSxfYXR0YWNoRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7Zm9yKHZhciBlIGluIHRoaXMuX2RlZmF1bHRzKXt2YXIgZj1hLmdldEF0dHJpYnV0ZSgiZGF0ZToiK2UpO2lmKGYpe2M9Y3x8e307dHJ5e2NbZV09ZXZhbChmKX1jYXRjaChoKXtjW2VdPQpmfX19ZT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7Zj1lPT0iZGl2Inx8ZT09InNwYW4iO2lmKCFhLmlkKXt0aGlzLnV1aWQrPTE7YS5pZD0iZHAiK3RoaXMudXVpZH12YXIgaT10aGlzLl9uZXdJbnN0KGQoYSksZik7aS5zZXR0aW5ncz1kLmV4dGVuZCh7fSxifHx7fSxjfHx7fSk7aWYoZT09ImlucHV0Iil0aGlzLl9jb25uZWN0RGF0ZXBpY2tlcihhLGkpO2Vsc2UgZiYmdGhpcy5faW5saW5lRGF0ZXBpY2tlcihhLGkpfSxfbmV3SW5zdDpmdW5jdGlvbihhLGIpe3JldHVybntpZDphWzBdLmlkLnJlcGxhY2UoLyhbXkEtWmEtejAtOV9dKS9nLCJcXFxcJDEiKSxpbnB1dDphLHNlbGVjdGVkRGF5OjAsc2VsZWN0ZWRNb250aDowLHNlbGVjdGVkWWVhcjowLGRyYXdNb250aDowLGRyYXdZZWFyOjAsaW5saW5lOmIsZHBEaXY6IWI/dGhpcy5kcERpdjpkKCc8ZGl2IGNsYXNzPSInK3RoaXMuX2lubGluZUNsYXNzKycgdWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwiPjwvZGl2PicpfX0sCl9jb25uZWN0RGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWQoYSk7Yi5hcHBlbmQ9ZChbXSk7Yi50cmlnZ2VyPWQoW10pO2lmKCFjLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7dGhpcy5fYXR0YWNobWVudHMoYyxiKTtjLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5rZXlkb3duKHRoaXMuX2RvS2V5RG93bikua2V5cHJlc3ModGhpcy5fZG9LZXlQcmVzcykua2V5dXAodGhpcy5fZG9LZXlVcCkuYmluZCgic2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihlLGYsaCl7Yi5zZXR0aW5nc1tmXT1ofSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihlLGYpe3JldHVybiB0aGlzLl9nZXQoYixmKX0pO3RoaXMuX2F1dG9TaXplKGIpO2QuZGF0YShhLCJkYXRlcGlja2VyIixiKX19LF9hdHRhY2htZW50czpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2dldChiLCJhcHBlbmRUZXh0IiksZT10aGlzLl9nZXQoYiwiaXNSVEwiKTtiLmFwcGVuZCYmCmIuYXBwZW5kLnJlbW92ZSgpO2lmKGMpe2IuYXBwZW5kPWQoJzxzcGFuIGNsYXNzPSInK3RoaXMuX2FwcGVuZENsYXNzKyciPicrYysiPC9zcGFuPiIpO2FbZT8iYmVmb3JlIjoiYWZ0ZXIiXShiLmFwcGVuZCl9YS51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlcik7Yi50cmlnZ2VyJiZiLnRyaWdnZXIucmVtb3ZlKCk7Yz10aGlzLl9nZXQoYiwic2hvd09uIik7aWYoYz09ImZvY3VzInx8Yz09ImJvdGgiKWEuZm9jdXModGhpcy5fc2hvd0RhdGVwaWNrZXIpO2lmKGM9PSJidXR0b24ifHxjPT0iYm90aCIpe2M9dGhpcy5fZ2V0KGIsImJ1dHRvblRleHQiKTt2YXIgZj10aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2UiKTtiLnRyaWdnZXI9ZCh0aGlzLl9nZXQoYiwiYnV0dG9uSW1hZ2VPbmx5Iik/ZCgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5hdHRyKHtzcmM6ZixhbHQ6Yyx0aXRsZTpjfSk6ZCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuaHRtbChmPT0KIiI/YzpkKCI8aW1nLz4iKS5hdHRyKHtzcmM6ZixhbHQ6Yyx0aXRsZTpjfSkpKTthW2U/ImJlZm9yZSI6ImFmdGVyIl0oYi50cmlnZ2VyKTtiLnRyaWdnZXIuY2xpY2soZnVuY3Rpb24oKXtkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dD09YVswXT9kLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk6ZC5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcihhWzBdKTtyZXR1cm4gZmFsc2V9KX19LF9hdXRvU2l6ZTpmdW5jdGlvbihhKXtpZih0aGlzLl9nZXQoYSwiYXV0b1NpemUiKSYmIWEuaW5saW5lKXt2YXIgYj1uZXcgRGF0ZSgyMDA5LDExLDIwKSxjPXRoaXMuX2dldChhLCJkYXRlRm9ybWF0Iik7aWYoYy5tYXRjaCgvW0RNXS8pKXt2YXIgZT1mdW5jdGlvbihmKXtmb3IodmFyIGg9MCxpPTAsZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKGZbZ10ubGVuZ3RoPmgpe2g9ZltnXS5sZW5ndGg7aT1nfXJldHVybiBpfTtiLnNldE1vbnRoKGUodGhpcy5fZ2V0KGEsCmMubWF0Y2goL01NLyk/Im1vbnRoTmFtZXMiOiJtb250aE5hbWVzU2hvcnQiKSkpO2Iuc2V0RGF0ZShlKHRoaXMuX2dldChhLGMubWF0Y2goL0RELyk/ImRheU5hbWVzIjoiZGF5TmFtZXNTaG9ydCIpKSsyMC1iLmdldERheSgpKX1hLmlucHV0LmF0dHIoInNpemUiLHRoaXMuX2Zvcm1hdERhdGUoYSxiKS5sZW5ndGgpfX0sX2lubGluZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1kKGEpO2lmKCFjLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7Yy5hZGRDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuYXBwZW5kKGIuZHBEaXYpLmJpbmQoInNldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24oZSxmLGgpe2Iuc2V0dGluZ3NbZl09aH0pLmJpbmQoImdldERhdGEuZGF0ZXBpY2tlciIsZnVuY3Rpb24oZSxmKXtyZXR1cm4gdGhpcy5fZ2V0KGIsZil9KTtkLmRhdGEoYSwiZGF0ZXBpY2tlciIsYik7dGhpcy5fc2V0RGF0ZShiLHRoaXMuX2dldERlZmF1bHREYXRlKGIpLAp0cnVlKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGIpO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShiKX19LF9kaWFsb2dEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYixjLGUsZil7YT10aGlzLl9kaWFsb2dJbnN0O2lmKCFhKXt0aGlzLnV1aWQrPTE7dGhpcy5fZGlhbG9nSW5wdXQ9ZCgnPGlucHV0IHR5cGU9InRleHQiIGlkPSInKygiZHAiK3RoaXMudXVpZCkrJyIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtMTAwcHg7IHdpZHRoOiAwcHg7IHotaW5kZXg6IC0xMDsiLz4nKTt0aGlzLl9kaWFsb2dJbnB1dC5rZXlkb3duKHRoaXMuX2RvS2V5RG93bik7ZCgiYm9keSIpLmFwcGVuZCh0aGlzLl9kaWFsb2dJbnB1dCk7YT10aGlzLl9kaWFsb2dJbnN0PXRoaXMuX25ld0luc3QodGhpcy5fZGlhbG9nSW5wdXQsZmFsc2UpO2Euc2V0dGluZ3M9e307ZC5kYXRhKHRoaXMuX2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2VyIixhKX1FKGEuc2V0dGluZ3MsZXx8e30pO2I9YiYmYi5jb25zdHJ1Y3Rvcj09CkRhdGU/dGhpcy5fZm9ybWF0RGF0ZShhLGIpOmI7dGhpcy5fZGlhbG9nSW5wdXQudmFsKGIpO3RoaXMuX3Bvcz1mP2YubGVuZ3RoP2Y6W2YucGFnZVgsZi5wYWdlWV06bnVsbDtpZighdGhpcy5fcG9zKXRoaXMuX3Bvcz1bZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLzItMTAwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LzItMTUwKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCldO3RoaXMuX2RpYWxvZ0lucHV0LmNzcygibGVmdCIsdGhpcy5fcG9zWzBdKzIwKyJweCIpLmNzcygidG9wIix0aGlzLl9wb3NbMV0rInB4Iik7YS5zZXR0aW5ncy5vblNlbGVjdD1jO3RoaXMuX2luRGlhbG9nPXRydWU7dGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyk7dGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pOwpkLmJsb2NrVUkmJmQuYmxvY2tVSSh0aGlzLmRwRGl2KTtkLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGEpO3JldHVybiB0aGlzfSxfZGVzdHJveURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9ZChhKSxjPWQuZGF0YShhLCJkYXRlcGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBlPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtkLnJlbW92ZURhdGEoYSwiZGF0ZXBpY2tlciIpO2lmKGU9PSJpbnB1dCIpe2MuYXBwZW5kLnJlbW92ZSgpO2MudHJpZ2dlci5yZW1vdmUoKTtiLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlcikudW5iaW5kKCJrZXlkb3duIix0aGlzLl9kb0tleURvd24pLnVuYmluZCgia2V5cHJlc3MiLHRoaXMuX2RvS2V5UHJlc3MpLnVuYmluZCgia2V5dXAiLHRoaXMuX2RvS2V5VXApfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIiliLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5lbXB0eSgpfX0sCl9lbmFibGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe3ZhciBiPWQoYSksYz1kLmRhdGEoYSwiZGF0ZXBpY2tlciIpO2lmKGIuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgZT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoZT09ImlucHV0Iil7YS5kaXNhYmxlZD1mYWxzZTtjLnRyaWdnZXIuZmlsdGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD1mYWxzZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIxLjAiLGN1cnNvcjoiIn0pfWVsc2UgaWYoZT09ImRpdiJ8fGU9PSJzcGFuIiliLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcykuY2hpbGRyZW4oKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTt0aGlzLl9kaXNhYmxlZElucHV0cz1kLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihmKXtyZXR1cm4gZj09YT9udWxsOmZ9KX19LF9kaXNhYmxlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj0KZChhKSxjPWQuZGF0YShhLCJkYXRlcGlja2VyIik7aWYoYi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBlPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihlPT0iaW5wdXQiKXthLmRpc2FibGVkPXRydWU7Yy50cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9dHJ1ZX0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIwLjUiLGN1cnNvcjoiZGVmYXVsdCJ9KX1lbHNlIGlmKGU9PSJkaXYifHxlPT0ic3BhbiIpYi5jaGlsZHJlbigiLiIrdGhpcy5faW5saW5lQ2xhc3MpLmNoaWxkcmVuKCkuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7dGhpcy5fZGlzYWJsZWRJbnB1dHM9ZC5tYXAodGhpcy5fZGlzYWJsZWRJbnB1dHMsZnVuY3Rpb24oZil7cmV0dXJuIGY9PWE/bnVsbDpmfSk7dGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT1hfX0sX2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBmYWxzZTsKZm9yKHZhciBiPTA7Yjx0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGg7YisrKWlmKHRoaXMuX2Rpc2FibGVkSW5wdXRzW2JdPT1hKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX0sX2dldEluc3Q6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBkLmRhdGEoYSwiZGF0ZXBpY2tlciIpfWNhdGNoKGIpe3Rocm93Ik1pc3NpbmcgaW5zdGFuY2UgZGF0YSBmb3IgdGhpcyBkYXRlcGlja2VyIjt9fSxfb3B0aW9uRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dmFyIGU9dGhpcy5fZ2V0SW5zdChhKTtpZihhcmd1bWVudHMubGVuZ3RoPT0yJiZ0eXBlb2YgYj09InN0cmluZyIpcmV0dXJuIGI9PSJkZWZhdWx0cyI/ZC5leHRlbmQoe30sZC5kYXRlcGlja2VyLl9kZWZhdWx0cyk6ZT9iPT0iYWxsIj9kLmV4dGVuZCh7fSxlLnNldHRpbmdzKTp0aGlzLl9nZXQoZSxiKTpudWxsO3ZhciBmPWJ8fHt9O2lmKHR5cGVvZiBiPT0ic3RyaW5nIil7Zj17fTtmW2JdPWN9aWYoZSl7dGhpcy5fY3VySW5zdD09ZSYmCnRoaXMuX2hpZGVEYXRlcGlja2VyKCk7dmFyIGg9dGhpcy5fZ2V0RGF0ZURhdGVwaWNrZXIoYSx0cnVlKTtFKGUuc2V0dGluZ3MsZik7dGhpcy5fYXR0YWNobWVudHMoZChhKSxlKTt0aGlzLl9hdXRvU2l6ZShlKTt0aGlzLl9zZXREYXRlRGF0ZXBpY2tlcihhLGgpO3RoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZSl9fSxfY2hhbmdlRGF0ZXBpY2tlcjpmdW5jdGlvbihhLGIsYyl7dGhpcy5fb3B0aW9uRGF0ZXBpY2tlcihhLGIsYyl9LF9yZWZyZXNoRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXsoYT10aGlzLl9nZXRJbnN0KGEpKSYmdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKX0sX3NldERhdGVEYXRlcGlja2VyOmZ1bmN0aW9uKGEsYil7aWYoYT10aGlzLl9nZXRJbnN0KGEpKXt0aGlzLl9zZXREYXRlKGEsYik7dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKTt0aGlzLl91cGRhdGVBbHRlcm5hdGUoYSl9fSxfZ2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSxiKXsoYT10aGlzLl9nZXRJbnN0KGEpKSYmCiFhLmlubGluZSYmdGhpcy5fc2V0RGF0ZUZyb21GaWVsZChhLGIpO3JldHVybiBhP3RoaXMuX2dldERhdGUoYSk6bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbihhKXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEluc3QoYS50YXJnZXQpLGM9dHJ1ZSxlPWIuZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpO2IuX2tleUV2ZW50PXRydWU7aWYoZC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZylzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDk6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2M9ZmFsc2U7YnJlYWs7Y2FzZSAxMzpjPWQoInRkLiIrZC5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3MsYi5kcERpdikuYWRkKGQoInRkLiIrZC5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MsYi5kcERpdikpO2NbMF0/ZC5kYXRlcGlja2VyLl9zZWxlY3REYXkoYS50YXJnZXQsYi5zZWxlY3RlZE1vbnRoLGIuc2VsZWN0ZWRZZWFyLGNbMF0pOmQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsKcmV0dXJuIGZhbHNlO2Nhc2UgMjc6ZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6ZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGEuY3RybEtleT8tZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcEJpZ01vbnRocyIpOi1kLmRhdGVwaWNrZXIuX2dldChiLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM0OmQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShhLnRhcmdldCk7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTticmVhaztjYXNlIDM2OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fZ290b1RvZGF5KGEudGFyZ2V0KTtjPWEuY3RybEtleXx8CmEubWV0YUtleTticmVhaztjYXNlIDM3OmlmKGEuY3RybEtleXx8YS5tZXRhS2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxlPysxOi0xLCJEIik7Yz1hLmN0cmxLZXl8fGEubWV0YUtleTtpZihhLm9yaWdpbmFsRXZlbnQuYWx0S2V5KWQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShhLnRhcmdldCxhLmN0cmxLZXk/LWQuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTotZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzODppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsLTcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzk6aWYoYS5jdHJsS2V5fHxhLm1ldGFLZXkpZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LGU/LTE6KzEsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2lmKGEub3JpZ2luYWxFdmVudC5hbHRLZXkpZC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGEudGFyZ2V0LAphLmN0cmxLZXk/K2QuZGF0ZXBpY2tlci5fZ2V0KGIsInN0ZXBCaWdNb250aHMiKTorZC5kYXRlcGlja2VyLl9nZXQoYiwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSA0MDppZihhLmN0cmxLZXl8fGEubWV0YUtleSlkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYS50YXJnZXQsKzcsIkQiKTtjPWEuY3RybEtleXx8YS5tZXRhS2V5O2JyZWFrO2RlZmF1bHQ6Yz1mYWxzZX1lbHNlIGlmKGEua2V5Q29kZT09MzYmJmEuY3RybEtleSlkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKHRoaXMpO2Vsc2UgYz1mYWxzZTtpZihjKXthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24oKX19LF9kb0tleVByZXNzOmZ1bmN0aW9uKGEpe3ZhciBiPWQuZGF0ZXBpY2tlci5fZ2V0SW5zdChhLnRhcmdldCk7aWYoZC5kYXRlcGlja2VyLl9nZXQoYiwiY29uc3RyYWluSW5wdXQiKSl7Yj1kLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoZC5kYXRlcGlja2VyLl9nZXQoYiwiZGF0ZUZvcm1hdCIpKTsKdmFyIGM9U3RyaW5nLmZyb21DaGFyQ29kZShhLmNoYXJDb2RlPT1HP2Eua2V5Q29kZTphLmNoYXJDb2RlKTtyZXR1cm4gYS5jdHJsS2V5fHxjPCIgInx8IWJ8fGIuaW5kZXhPZihjKT4tMX19LF9kb0tleVVwOmZ1bmN0aW9uKGEpe2E9ZC5kYXRlcGlja2VyLl9nZXRJbnN0KGEudGFyZ2V0KTtpZihhLmlucHV0LnZhbCgpIT1hLmxhc3RWYWwpdHJ5e2lmKGQuZGF0ZXBpY2tlci5wYXJzZURhdGUoZC5kYXRlcGlja2VyLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGEuaW5wdXQ/YS5pbnB1dC52YWwoKTpudWxsLGQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKGEpKSl7ZC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGEpO2QuZGF0ZXBpY2tlci5fdXBkYXRlQWx0ZXJuYXRlKGEpO2QuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihhKX19Y2F0Y2goYil7ZC5kYXRlcGlja2VyLmxvZyhiKX1yZXR1cm4gdHJ1ZX0sX3Nob3dEYXRlcGlja2VyOmZ1bmN0aW9uKGEpe2E9YS50YXJnZXR8fAphO2lmKGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9ImlucHV0IilhPWQoImlucHV0IixhLnBhcmVudE5vZGUpWzBdO2lmKCEoZC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihhKXx8ZC5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9PWEpKXt2YXIgYj1kLmRhdGVwaWNrZXIuX2dldEluc3QoYSk7ZC5kYXRlcGlja2VyLl9jdXJJbnN0JiZkLmRhdGVwaWNrZXIuX2N1ckluc3QhPWImJmQuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRydWUsdHJ1ZSk7dmFyIGM9ZC5kYXRlcGlja2VyLl9nZXQoYiwiYmVmb3JlU2hvdyIpO0UoYi5zZXR0aW5ncyxjP2MuYXBwbHkoYSxbYSxiXSk6e30pO2IubGFzdFZhbD1udWxsO2QuZGF0ZXBpY2tlci5fbGFzdElucHV0PWE7ZC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGIpO2lmKGQuZGF0ZXBpY2tlci5faW5EaWFsb2cpYS52YWx1ZT0iIjtpZighZC5kYXRlcGlja2VyLl9wb3Mpe2QuZGF0ZXBpY2tlci5fcG9zPWQuZGF0ZXBpY2tlci5fZmluZFBvcyhhKTsKZC5kYXRlcGlja2VyLl9wb3NbMV0rPWEub2Zmc2V0SGVpZ2h0fXZhciBlPWZhbHNlO2QoYSkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtlfD1kKHRoaXMpLmNzcygicG9zaXRpb24iKT09ImZpeGVkIjtyZXR1cm4hZX0pO2lmKGUmJmQuYnJvd3Nlci5vcGVyYSl7ZC5kYXRlcGlja2VyLl9wb3NbMF0tPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2QuZGF0ZXBpY2tlci5fcG9zWzFdLT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfWM9e2xlZnQ6ZC5kYXRlcGlja2VyLl9wb3NbMF0sdG9wOmQuZGF0ZXBpY2tlci5fcG9zWzFdfTtkLmRhdGVwaWNrZXIuX3Bvcz1udWxsO2IuZHBEaXYuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6ImJsb2NrIix0b3A6Ii0xMDAwcHgifSk7ZC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGIpO2M9ZC5kYXRlcGlja2VyLl9jaGVja09mZnNldChiLGMsZSk7Yi5kcERpdi5jc3Moe3Bvc2l0aW9uOmQuZGF0ZXBpY2tlci5faW5EaWFsb2cmJgpkLmJsb2NrVUk/InN0YXRpYyI6ZT8iZml4ZWQiOiJhYnNvbHV0ZSIsZGlzcGxheToibm9uZSIsbGVmdDpjLmxlZnQrInB4Iix0b3A6Yy50b3ArInB4In0pO2lmKCFiLmlubGluZSl7Yz1kLmRhdGVwaWNrZXIuX2dldChiLCJzaG93QW5pbSIpO3ZhciBmPWQuZGF0ZXBpY2tlci5fZ2V0KGIsImR1cmF0aW9uIiksaD1mdW5jdGlvbigpe2QuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmc9dHJ1ZTt2YXIgaT1kLmRhdGVwaWNrZXIuX2dldEJvcmRlcnMoYi5kcERpdik7Yi5kcERpdi5maW5kKCJpZnJhbWUudWktZGF0ZXBpY2tlci1jb3ZlciIpLmNzcyh7bGVmdDotaVswXSx0b3A6LWlbMV0sd2lkdGg6Yi5kcERpdi5vdXRlcldpZHRoKCksaGVpZ2h0OmIuZHBEaXYub3V0ZXJIZWlnaHQoKX0pfTtiLmRwRGl2LnpJbmRleChkKGEpLnpJbmRleCgpKzEpO2QuZWZmZWN0cyYmZC5lZmZlY3RzW2NdP2IuZHBEaXYuc2hvdyhjLGQuZGF0ZXBpY2tlci5fZ2V0KGIsInNob3dPcHRpb25zIiksZiwKaCk6Yi5kcERpdltjfHwic2hvdyJdKGM/ZjpudWxsLGgpO2lmKCFjfHwhZiloKCk7Yi5pbnB1dC5pcygiOnZpc2libGUiKSYmIWIuaW5wdXQuaXMoIjpkaXNhYmxlZCIpJiZiLmlucHV0LmZvY3VzKCk7ZC5kYXRlcGlja2VyLl9jdXJJbnN0PWJ9fX0sX3VwZGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWQuZGF0ZXBpY2tlci5fZ2V0Qm9yZGVycyhhLmRwRGl2KTthLmRwRGl2LmVtcHR5KCkuYXBwZW5kKHRoaXMuX2dlbmVyYXRlSFRNTChhKSkuZmluZCgiaWZyYW1lLnVpLWRhdGVwaWNrZXItY292ZXIiKS5jc3Moe2xlZnQ6LWNbMF0sdG9wOi1jWzFdLHdpZHRoOmEuZHBEaXYub3V0ZXJXaWR0aCgpLGhlaWdodDphLmRwRGl2Lm91dGVySGVpZ2h0KCl9KS5lbmQoKS5maW5kKCJidXR0b24sIC51aS1kYXRlcGlja2VyLXByZXYsIC51aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEiKS5iaW5kKCJtb3VzZW91dCIsZnVuY3Rpb24oKXtkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpOwp0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCJ1aS1kYXRlcGlja2VyLXByZXYiKSE9LTEmJmQodGhpcykucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpO3RoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItbmV4dCIpIT0tMSYmZCh0aGlzKS5yZW1vdmVDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIil9KS5iaW5kKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7aWYoIWIuX2lzRGlzYWJsZWREYXRlcGlja2VyKGEuaW5saW5lP2EuZHBEaXYucGFyZW50KClbMF06YS5pbnB1dFswXSkpe2QodGhpcykucGFyZW50cygiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKS5maW5kKCJhIikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7ZCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKTt0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCJ1aS1kYXRlcGlja2VyLXByZXYiKSE9LTEmJmQodGhpcykuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpOwp0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCJ1aS1kYXRlcGlja2VyLW5leHQiKSE9LTEmJmQodGhpcykuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfX0pLmVuZCgpLmZpbmQoIi4iK3RoaXMuX2RheU92ZXJDbGFzcysiIGEiKS50cmlnZ2VyKCJtb3VzZW92ZXIiKS5lbmQoKTtjPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGEpO3ZhciBlPWNbMV07ZT4xP2EuZHBEaXYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIitlKS5jc3MoIndpZHRoIiwxNyplKyJlbSIpOmEuZHBEaXYucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktMiB1aS1kYXRlcGlja2VyLW11bHRpLTMgdWktZGF0ZXBpY2tlci1tdWx0aS00Iikud2lkdGgoIiIpO2EuZHBEaXZbKGNbMF0hPTF8fGNbMV0hPTE/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLW11bHRpIik7YS5kcERpdlsodGhpcy5fZ2V0KGEsImlzUlRMIik/ImFkZCI6InJlbW92ZSIpKyJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpOwphPT1kLmRhdGVwaWNrZXIuX2N1ckluc3QmJmQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmEuaW5wdXQmJmEuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFhLmlucHV0LmlzKCI6ZGlzYWJsZWQiKSYmYS5pbnB1dC5mb2N1cygpfSxfZ2V0Qm9yZGVyczpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm57dGhpbjoxLG1lZGl1bToyLHRoaWNrOjN9W2NdfHxjfTtyZXR1cm5bcGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpKSkscGFyc2VGbG9hdChiKGEuY3NzKCJib3JkZXItdG9wLXdpZHRoIikpKV19LF9jaGVja09mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGU9YS5kcERpdi5vdXRlcldpZHRoKCksZj1hLmRwRGl2Lm91dGVySGVpZ2h0KCksaD1hLmlucHV0P2EuaW5wdXQub3V0ZXJXaWR0aCgpOjAsaT1hLmlucHV0P2EuaW5wdXQub3V0ZXJIZWlnaHQoKTowLGc9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoK2QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSwKaz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0K2QoZG9jdW1lbnQpLnNjcm9sbFRvcCgpO2IubGVmdC09dGhpcy5fZ2V0KGEsImlzUlRMIik/ZS1oOjA7Yi5sZWZ0LT1jJiZiLmxlZnQ9PWEuaW5wdXQub2Zmc2V0KCkubGVmdD9kKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk6MDtiLnRvcC09YyYmYi50b3A9PWEuaW5wdXQub2Zmc2V0KCkudG9wK2k/ZChkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MDtiLmxlZnQtPU1hdGgubWluKGIubGVmdCxiLmxlZnQrZT5nJiZnPmU/TWF0aC5hYnMoYi5sZWZ0K2UtZyk6MCk7Yi50b3AtPU1hdGgubWluKGIudG9wLGIudG9wK2Y+ayYmaz5mP01hdGguYWJzKGYraSk6MCk7cmV0dXJuIGJ9LF9maW5kUG9zOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj10aGlzLl9nZXQodGhpcy5fZ2V0SW5zdChhKSwiaXNSVEwiKTthJiYoYS50eXBlPT0iaGlkZGVuInx8YS5ub2RlVHlwZSE9MSk7KWE9YVtiPyJwcmV2aW91c1NpYmxpbmciOiJuZXh0U2libGluZyJdOwphPWQoYSkub2Zmc2V0KCk7cmV0dXJuW2EubGVmdCxhLnRvcF19LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9jdXJJbnN0O2lmKCEoIWJ8fGEmJmIhPWQuZGF0YShhLCJkYXRlcGlja2VyIikpKWlmKHRoaXMuX2RhdGVwaWNrZXJTaG93aW5nKXthPXRoaXMuX2dldChiLCJzaG93QW5pbSIpO3ZhciBjPXRoaXMuX2dldChiLCJkdXJhdGlvbiIpLGU9ZnVuY3Rpb24oKXtkLmRhdGVwaWNrZXIuX3RpZHlEaWFsb2coYik7dGhpcy5fY3VySW5zdD1udWxsfTtkLmVmZmVjdHMmJmQuZWZmZWN0c1thXT9iLmRwRGl2LmhpZGUoYSxkLmRhdGVwaWNrZXIuX2dldChiLCJzaG93T3B0aW9ucyIpLGMsZSk6Yi5kcERpdlthPT0ic2xpZGVEb3duIj8ic2xpZGVVcCI6YT09ImZhZGVJbiI/ImZhZGVPdXQiOiJoaWRlIl0oYT9jOm51bGwsZSk7YXx8ZSgpO2lmKGE9dGhpcy5fZ2V0KGIsIm9uQ2xvc2UiKSlhLmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtiLmlucHV0P2IuaW5wdXQudmFsKCk6CiIiLGJdKTt0aGlzLl9kYXRlcGlja2VyU2hvd2luZz1mYWxzZTt0aGlzLl9sYXN0SW5wdXQ9bnVsbDtpZih0aGlzLl9pbkRpYWxvZyl7dGhpcy5fZGlhbG9nSW5wdXQuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjAiLHRvcDoiLTEwMHB4In0pO2lmKGQuYmxvY2tVSSl7ZC51bmJsb2NrVUkoKTtkKCJib2R5IikuYXBwZW5kKHRoaXMuZHBEaXYpfX10aGlzLl9pbkRpYWxvZz1mYWxzZX19LF90aWR5RGlhbG9nOmZ1bmN0aW9uKGEpe2EuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLnVuYmluZCgiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihhKXtpZihkLmRhdGVwaWNrZXIuX2N1ckluc3Qpe2E9ZChhLnRhcmdldCk7YVswXS5pZCE9ZC5kYXRlcGlja2VyLl9tYWluRGl2SWQmJmEucGFyZW50cygiIyIrZC5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aD09MCYmIWEuaGFzQ2xhc3MoZC5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSkmJgohYS5oYXNDbGFzcyhkLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykmJmQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJiEoZC5kYXRlcGlja2VyLl9pbkRpYWxvZyYmZC5ibG9ja1VJKSYmZC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2E9ZChhKTt2YXIgZT10aGlzLl9nZXRJbnN0KGFbMF0pO2lmKCF0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihhWzBdKSl7dGhpcy5fYWRqdXN0SW5zdERhdGUoZSxiKyhjPT0iTSI/dGhpcy5fZ2V0KGUsInNob3dDdXJyZW50QXRQb3MiKTowKSxjKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGUpfX0sX2dvdG9Ub2RheTpmdW5jdGlvbihhKXthPWQoYSk7dmFyIGI9dGhpcy5fZ2V0SW5zdChhWzBdKTtpZih0aGlzLl9nZXQoYiwiZ290b0N1cnJlbnQiKSYmYi5jdXJyZW50RGF5KXtiLnNlbGVjdGVkRGF5PWIuY3VycmVudERheTtiLmRyYXdNb250aD1iLnNlbGVjdGVkTW9udGg9Yi5jdXJyZW50TW9udGg7CmIuZHJhd1llYXI9Yi5zZWxlY3RlZFllYXI9Yi5jdXJyZW50WWVhcn1lbHNle3ZhciBjPW5ldyBEYXRlO2Iuc2VsZWN0ZWREYXk9Yy5nZXREYXRlKCk7Yi5kcmF3TW9udGg9Yi5zZWxlY3RlZE1vbnRoPWMuZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIuc2VsZWN0ZWRZZWFyPWMuZ2V0RnVsbFllYXIoKX10aGlzLl9ub3RpZnlDaGFuZ2UoYik7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX3NlbGVjdE1vbnRoWWVhcjpmdW5jdGlvbihhLGIsYyl7YT1kKGEpO3ZhciBlPXRoaXMuX2dldEluc3QoYVswXSk7ZS5fc2VsZWN0aW5nTW9udGhZZWFyPWZhbHNlO2VbInNlbGVjdGVkIisoYz09Ik0iPyJNb250aCI6IlllYXIiKV09ZVsiZHJhdyIrKGM9PSJNIj8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGIub3B0aW9uc1tiLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKTt0aGlzLl9ub3RpZnlDaGFuZ2UoZSk7dGhpcy5fYWRqdXN0RGF0ZShhKX0sX2NsaWNrTW9udGhZZWFyOmZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzLl9nZXRJbnN0KGQoYSlbMF0pO2IuaW5wdXQmJmIuX3NlbGVjdGluZ01vbnRoWWVhciYmc2V0VGltZW91dChmdW5jdGlvbigpe2IuaW5wdXQuZm9jdXMoKX0sMCk7Yi5fc2VsZWN0aW5nTW9udGhZZWFyPSFiLl9zZWxlY3RpbmdNb250aFllYXJ9LF9zZWxlY3REYXk6ZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGY9ZChhKTtpZighKGQoZSkuaGFzQ2xhc3ModGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MpfHx0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihmWzBdKSkpe2Y9dGhpcy5fZ2V0SW5zdChmWzBdKTtmLnNlbGVjdGVkRGF5PWYuY3VycmVudERheT1kKCJhIixlKS5odG1sKCk7Zi5zZWxlY3RlZE1vbnRoPWYuY3VycmVudE1vbnRoPWI7Zi5zZWxlY3RlZFllYXI9Zi5jdXJyZW50WWVhcj1jO3RoaXMuX3NlbGVjdERhdGUoYSx0aGlzLl9mb3JtYXREYXRlKGYsZi5jdXJyZW50RGF5LGYuY3VycmVudE1vbnRoLGYuY3VycmVudFllYXIpKX19LF9jbGVhckRhdGU6ZnVuY3Rpb24oYSl7YT0KZChhKTt0aGlzLl9nZXRJbnN0KGFbMF0pO3RoaXMuX3NlbGVjdERhdGUoYSwiIil9LF9zZWxlY3REYXRlOmZ1bmN0aW9uKGEsYil7YT10aGlzLl9nZXRJbnN0KGQoYSlbMF0pO2I9YiE9bnVsbD9iOnRoaXMuX2Zvcm1hdERhdGUoYSk7YS5pbnB1dCYmYS5pbnB1dC52YWwoYik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGEpO3ZhciBjPXRoaXMuX2dldChhLCJvblNlbGVjdCIpO2lmKGMpYy5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbYixhXSk7ZWxzZSBhLmlucHV0JiZhLmlucHV0LnRyaWdnZXIoImNoYW5nZSIpO2lmKGEuaW5saW5lKXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYSk7ZWxzZXt0aGlzLl9oaWRlRGF0ZXBpY2tlcigpO3RoaXMuX2xhc3RJbnB1dD1hLmlucHV0WzBdO3R5cGVvZiBhLmlucHV0WzBdIT0ib2JqZWN0IiYmYS5pbnB1dC5mb2N1cygpO3RoaXMuX2xhc3RJbnB1dD1udWxsfX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwKImFsdEZpZWxkIik7aWYoYil7dmFyIGM9dGhpcy5fZ2V0KGEsImFsdEZvcm1hdCIpfHx0aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGU9dGhpcy5fZ2V0RGF0ZShhKSxmPXRoaXMuZm9ybWF0RGF0ZShjLGUsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKTtkKGIpLmVhY2goZnVuY3Rpb24oKXtkKHRoaXMpLnZhbChmKX0pfX0sbm9XZWVrZW5kczpmdW5jdGlvbihhKXthPWEuZ2V0RGF5KCk7cmV0dXJuW2E+MCYmYTw2LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oYSl7YT1uZXcgRGF0ZShhLmdldFRpbWUoKSk7YS5zZXREYXRlKGEuZ2V0RGF0ZSgpKzQtKGEuZ2V0RGF5KCl8fDcpKTt2YXIgYj1hLmdldFRpbWUoKTthLnNldE1vbnRoKDApO2Euc2V0RGF0ZSgxKTtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJvdW5kKChiLWEpLzg2NEU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PW51bGx8fGI9PW51bGwpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2I9dHlwZW9mIGI9PQoib2JqZWN0Ij9iLnRvU3RyaW5nKCk6YisiIjtpZihiPT0iIilyZXR1cm4gbnVsbDtmb3IodmFyIGU9KGM/Yy5zaG9ydFllYXJDdXRvZmY6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1dG9mZixmPShjP2MuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxoPShjP2MuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLGk9KGM/Yy5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCxnPShjP2MubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcyxrPWM9LTEsbD0tMSx1PS0xLGo9ZmFsc2Usbz1mdW5jdGlvbihwKXsocD16KzE8YS5sZW5ndGgmJmEuY2hhckF0KHorMSk9PXApJiZ6Kys7cmV0dXJuIHB9LG09ZnVuY3Rpb24ocCl7byhwKTtwPW5ldyBSZWdFeHAoIl5cXGR7MSwiKyhwPT0iQCI/MTQ6cD09IiEiPzIwOnA9PSJ5Ij80OnA9PSJvIj8KMzoyKSsifSIpO3A9Yi5zdWJzdHJpbmcocykubWF0Y2gocCk7aWYoIXApdGhyb3ciTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIitzO3MrPXBbMF0ubGVuZ3RoO3JldHVybiBwYXJzZUludChwWzBdLDEwKX0sbj1mdW5jdGlvbihwLHcsSCl7cD1vKHApP0g6dztmb3Iodz0wO3c8cC5sZW5ndGg7dysrKWlmKGIuc3Vic3RyKHMscFt3XS5sZW5ndGgpPT1wW3ddKXtzKz1wW3ddLmxlbmd0aDtyZXR1cm4gdysxfXRocm93IlVua25vd24gbmFtZSBhdCBwb3NpdGlvbiAiK3M7fSxyPWZ1bmN0aW9uKCl7aWYoYi5jaGFyQXQocykhPWEuY2hhckF0KHopKXRocm93IlVuZXhwZWN0ZWQgbGl0ZXJhbCBhdCBwb3NpdGlvbiAiK3M7cysrfSxzPTAsej0wO3o8YS5sZW5ndGg7eisrKWlmKGopaWYoYS5jaGFyQXQoeik9PSInIiYmIW8oIiciKSlqPWZhbHNlO2Vsc2UgcigpO2Vsc2Ugc3dpdGNoKGEuY2hhckF0KHopKXtjYXNlICJkIjpsPW0oImQiKTticmVhaztjYXNlICJEIjpuKCJEIixmLGgpO2JyZWFrOwpjYXNlICJvIjp1PW0oIm8iKTticmVhaztjYXNlICJtIjprPW0oIm0iKTticmVhaztjYXNlICJNIjprPW4oIk0iLGksZyk7YnJlYWs7Y2FzZSAieSI6Yz1tKCJ5Iik7YnJlYWs7Y2FzZSAiQCI6dmFyIHY9bmV3IERhdGUobSgiQCIpKTtjPXYuZ2V0RnVsbFllYXIoKTtrPXYuZ2V0TW9udGgoKSsxO2w9di5nZXREYXRlKCk7YnJlYWs7Y2FzZSAiISI6dj1uZXcgRGF0ZSgobSgiISIpLXRoaXMuX3RpY2tzVG8xOTcwKS8xRTQpO2M9di5nZXRGdWxsWWVhcigpO2s9di5nZXRNb250aCgpKzE7bD12LmdldERhdGUoKTticmVhaztjYXNlICInIjppZihvKCInIikpcigpO2Vsc2Ugaj10cnVlO2JyZWFrO2RlZmF1bHQ6cigpfWlmKGM9PS0xKWM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2Vsc2UgaWYoYzwxMDApYys9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKGM8PWU/MDotMTAwKTtpZih1Pi0xKXtrPTE7bD11O2Rve2U9dGhpcy5fZ2V0RGF5c0luTW9udGgoYywKay0xKTtpZihsPD1lKWJyZWFrO2srKztsLT1lfXdoaWxlKDEpfXY9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYyxrLTEsbCkpO2lmKHYuZ2V0RnVsbFllYXIoKSE9Y3x8di5nZXRNb250aCgpKzEhPWt8fHYuZ2V0RGF0ZSgpIT1sKXRocm93IkludmFsaWQgZGF0ZSI7cmV0dXJuIHZ9LEFUT006Inl5LW1tLWRkIixDT09LSUU6IkQsIGRkIE0geXkiLElTT184NjAxOiJ5eS1tbS1kZCIsUkZDXzgyMjoiRCwgZCBNIHkiLFJGQ184NTA6IkRELCBkZC1NLXkiLFJGQ18xMDM2OiJELCBkIE0geSIsUkZDXzExMjM6IkQsIGQgTSB5eSIsUkZDXzI4MjI6IkQsIGQgTSB5eSIsUlNTOiJELCBkIE0geSIsVElDS1M6IiEiLFRJTUVTVEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOig3MTg2ODUrTWF0aC5mbG9vcig0OTIuNSktTWF0aC5mbG9vcigxOS43KStNYXRoLmZsb29yKDQuOTI1KSkqMjQqNjAqNjAqMUU3LGZvcm1hdERhdGU6ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiIiOwp2YXIgZT0oYz9jLmRheU5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQsZj0oYz9jLmRheU5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcyxoPShjP2MubW9udGhOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzU2hvcnQ7Yz0oYz9jLm1vbnRoTmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXM7dmFyIGk9ZnVuY3Rpb24obyl7KG89aisxPGEubGVuZ3RoJiZhLmNoYXJBdChqKzEpPT1vKSYmaisrO3JldHVybiBvfSxnPWZ1bmN0aW9uKG8sbSxuKXttPSIiK207aWYoaShvKSlmb3IoO20ubGVuZ3RoPG47KW09IjAiK207cmV0dXJuIG19LGs9ZnVuY3Rpb24obyxtLG4scil7cmV0dXJuIGkobyk/clttXTpuW21dfSxsPSIiLHU9ZmFsc2U7aWYoYilmb3IodmFyIGo9MDtqPGEubGVuZ3RoO2orKylpZih1KWlmKGEuY2hhckF0KGopPT0iJyImJiFpKCInIikpdT1mYWxzZTtlbHNlIGwrPWEuY2hhckF0KGopOwplbHNlIHN3aXRjaChhLmNoYXJBdChqKSl7Y2FzZSAiZCI6bCs9ZygiZCIsYi5nZXREYXRlKCksMik7YnJlYWs7Y2FzZSAiRCI6bCs9aygiRCIsYi5nZXREYXkoKSxlLGYpO2JyZWFrO2Nhc2UgIm8iOmwrPWcoIm8iLChiLmdldFRpbWUoKS0obmV3IERhdGUoYi5nZXRGdWxsWWVhcigpLDAsMCkpLmdldFRpbWUoKSkvODY0RTUsMyk7YnJlYWs7Y2FzZSAibSI6bCs9ZygibSIsYi5nZXRNb250aCgpKzEsMik7YnJlYWs7Y2FzZSAiTSI6bCs9aygiTSIsYi5nZXRNb250aCgpLGgsYyk7YnJlYWs7Y2FzZSAieSI6bCs9aSgieSIpP2IuZ2V0RnVsbFllYXIoKTooYi5nZXRZZWFyKCklMTAwPDEwPyIwIjoiIikrYi5nZXRZZWFyKCklMTAwO2JyZWFrO2Nhc2UgIkAiOmwrPWIuZ2V0VGltZSgpO2JyZWFrO2Nhc2UgIiEiOmwrPWIuZ2V0VGltZSgpKjFFNCt0aGlzLl90aWNrc1RvMTk3MDticmVhaztjYXNlICInIjppZihpKCInIikpbCs9IiciO2Vsc2UgdT10cnVlO2JyZWFrO2RlZmF1bHQ6bCs9YS5jaGFyQXQoail9cmV0dXJuIGx9LApfcG9zc2libGVDaGFyczpmdW5jdGlvbihhKXtmb3IodmFyIGI9IiIsYz1mYWxzZSxlPWZ1bmN0aW9uKGgpeyhoPWYrMTxhLmxlbmd0aCYmYS5jaGFyQXQoZisxKT09aCkmJmYrKztyZXR1cm4gaH0sZj0wO2Y8YS5sZW5ndGg7ZisrKWlmKGMpaWYoYS5jaGFyQXQoZik9PSInIiYmIWUoIiciKSljPWZhbHNlO2Vsc2UgYis9YS5jaGFyQXQoZik7ZWxzZSBzd2l0Y2goYS5jaGFyQXQoZikpe2Nhc2UgImQiOmNhc2UgIm0iOmNhc2UgInkiOmNhc2UgIkAiOmIrPSIwMTIzNDU2Nzg5IjticmVhaztjYXNlICJEIjpjYXNlICJNIjpyZXR1cm4gbnVsbDtjYXNlICInIjppZihlKCInIikpYis9IiciO2Vsc2UgYz10cnVlO2JyZWFrO2RlZmF1bHQ6Yis9YS5jaGFyQXQoZil9cmV0dXJuIGJ9LF9nZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zZXR0aW5nc1tiXSE9PUc/YS5zZXR0aW5nc1tiXTp0aGlzLl9kZWZhdWx0c1tiXX0sX3NldERhdGVGcm9tRmllbGQ6ZnVuY3Rpb24oYSxiKXtpZihhLmlucHV0LnZhbCgpIT0KYS5sYXN0VmFsKXt2YXIgYz10aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGU9YS5sYXN0VmFsPWEuaW5wdXQ/YS5pbnB1dC52YWwoKTpudWxsLGYsaDtmPWg9dGhpcy5fZ2V0RGVmYXVsdERhdGUoYSk7dmFyIGk9dGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpO3RyeXtmPXRoaXMucGFyc2VEYXRlKGMsZSxpKXx8aH1jYXRjaChnKXt0aGlzLmxvZyhnKTtlPWI/IiI6ZX1hLnNlbGVjdGVkRGF5PWYuZ2V0RGF0ZSgpO2EuZHJhd01vbnRoPWEuc2VsZWN0ZWRNb250aD1mLmdldE1vbnRoKCk7YS5kcmF3WWVhcj1hLnNlbGVjdGVkWWVhcj1mLmdldEZ1bGxZZWFyKCk7YS5jdXJyZW50RGF5PWU/Zi5nZXREYXRlKCk6MDthLmN1cnJlbnRNb250aD1lP2YuZ2V0TW9udGgoKTowO2EuY3VycmVudFllYXI9ZT9mLmdldEZ1bGxZZWFyKCk6MDt0aGlzLl9hZGp1c3RJbnN0RGF0ZShhKX19LF9nZXREZWZhdWx0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcmVzdHJpY3RNaW5NYXgoYSx0aGlzLl9kZXRlcm1pbmVEYXRlKGEsCnRoaXMuX2dldChhLCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1pbmVEYXRlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1mdW5jdGlvbihoKXt2YXIgaT1uZXcgRGF0ZTtpLnNldERhdGUoaS5nZXREYXRlKCkraCk7cmV0dXJuIGl9LGY9ZnVuY3Rpb24oaCl7dHJ5e3JldHVybiBkLmRhdGVwaWNrZXIucGFyc2VEYXRlKGQuZGF0ZXBpY2tlci5fZ2V0KGEsImRhdGVGb3JtYXQiKSxoLGQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKGEpKX1jYXRjaChpKXt9dmFyIGc9KGgudG9Mb3dlckNhc2UoKS5tYXRjaCgvXmMvKT9kLmRhdGVwaWNrZXIuX2dldERhdGUoYSk6bnVsbCl8fG5ldyBEYXRlLGs9Zy5nZXRGdWxsWWVhcigpLGw9Zy5nZXRNb250aCgpO2c9Zy5nZXREYXRlKCk7Zm9yKHZhciB1PS8oWystXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csaj11LmV4ZWMoaCk7ajspe3N3aXRjaChqWzJdfHwiZCIpe2Nhc2UgImQiOmNhc2UgIkQiOmcrPXBhcnNlSW50KGpbMV0sCjEwKTticmVhaztjYXNlICJ3IjpjYXNlICJXIjpnKz1wYXJzZUludChqWzFdLDEwKSo3O2JyZWFrO2Nhc2UgIm0iOmNhc2UgIk0iOmwrPXBhcnNlSW50KGpbMV0sMTApO2c9TWF0aC5taW4oZyxkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKGssbCkpO2JyZWFrO2Nhc2UgInkiOmNhc2UgIlkiOmsrPXBhcnNlSW50KGpbMV0sMTApO2c9TWF0aC5taW4oZyxkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKGssbCkpO2JyZWFrfWo9dS5leGVjKGgpfXJldHVybiBuZXcgRGF0ZShrLGwsZyl9O2lmKGI9KGI9Yj09bnVsbD9jOnR5cGVvZiBiPT0ic3RyaW5nIj9mKGIpOnR5cGVvZiBiPT0ibnVtYmVyIj9pc05hTihiKT9jOmUoYik6YikmJmIudG9TdHJpbmcoKT09IkludmFsaWQgRGF0ZSI/YzpiKXtiLnNldEhvdXJzKDApO2Iuc2V0TWludXRlcygwKTtiLnNldFNlY29uZHMoMCk7Yi5zZXRNaWxsaXNlY29uZHMoMCl9cmV0dXJuIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KGIpfSxfZGF5bGlnaHRTYXZpbmdBZGp1c3Q6ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7CmEuc2V0SG91cnMoYS5nZXRIb3VycygpPjEyP2EuZ2V0SG91cnMoKSsyOjApO3JldHVybiBhfSxfc2V0RGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9IWIsZj1hLnNlbGVjdGVkTW9udGgsaD1hLnNlbGVjdGVkWWVhcjtiPXRoaXMuX3Jlc3RyaWN0TWluTWF4KGEsdGhpcy5fZGV0ZXJtaW5lRGF0ZShhLGIsbmV3IERhdGUpKTthLnNlbGVjdGVkRGF5PWEuY3VycmVudERheT1iLmdldERhdGUoKTthLmRyYXdNb250aD1hLnNlbGVjdGVkTW9udGg9YS5jdXJyZW50TW9udGg9Yi5nZXRNb250aCgpO2EuZHJhd1llYXI9YS5zZWxlY3RlZFllYXI9YS5jdXJyZW50WWVhcj1iLmdldEZ1bGxZZWFyKCk7aWYoKGYhPWEuc2VsZWN0ZWRNb250aHx8aCE9YS5zZWxlY3RlZFllYXIpJiYhYyl0aGlzLl9ub3RpZnlDaGFuZ2UoYSk7dGhpcy5fYWRqdXN0SW5zdERhdGUoYSk7aWYoYS5pbnB1dClhLmlucHV0LnZhbChlPyIiOnRoaXMuX2Zvcm1hdERhdGUoYSkpfSxfZ2V0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4hYS5jdXJyZW50WWVhcnx8CmEuaW5wdXQmJmEuaW5wdXQudmFsKCk9PSIiP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnREYXkpKX0sX2dlbmVyYXRlSFRNTDpmdW5jdGlvbihhKXt2YXIgYj1uZXcgRGF0ZTtiPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuZ2V0RnVsbFllYXIoKSxiLmdldE1vbnRoKCksYi5nZXREYXRlKCkpKTt2YXIgYz10aGlzLl9nZXQoYSwiaXNSVEwiKSxlPXRoaXMuX2dldChhLCJzaG93QnV0dG9uUGFuZWwiKSxmPXRoaXMuX2dldChhLCJoaWRlSWZOb1ByZXZOZXh0IiksaD10aGlzLl9nZXQoYSwibmF2aWdhdGlvbkFzRGF0ZUZvcm1hdCIpLGk9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoYSksZz10aGlzLl9nZXQoYSwic2hvd0N1cnJlbnRBdFBvcyIpLGs9dGhpcy5fZ2V0KGEsInN0ZXBNb250aHMiKSxsPWlbMF0hPTF8fGlbMV0hPTEsdT10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCghYS5jdXJyZW50RGF5PwpuZXcgRGF0ZSg5OTk5LDksOSk6bmV3IERhdGUoYS5jdXJyZW50WWVhcixhLmN1cnJlbnRNb250aCxhLmN1cnJlbnREYXkpKSxqPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWluIiksbz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1heCIpO2c9YS5kcmF3TW9udGgtZzt2YXIgbT1hLmRyYXdZZWFyO2lmKGc8MCl7Zys9MTI7bS0tfWlmKG8pe3ZhciBuPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG8uZ2V0RnVsbFllYXIoKSxvLmdldE1vbnRoKCktaVswXSppWzFdKzEsby5nZXREYXRlKCkpKTtmb3Iobj1qJiZuPGo/ajpuO3RoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZywxKSk+bjspe2ctLTtpZihnPDApe2c9MTE7bS0tfX19YS5kcmF3TW9udGg9ZzthLmRyYXdZZWFyPW07bj10aGlzLl9nZXQoYSwicHJldlRleHQiKTtuPSFoP246dGhpcy5mb3JtYXREYXRlKG4sdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLWssMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhhKSk7Cm49dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwtMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK3krIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCAtIitrKyIsICdNJyk7XCIgdGl0bGU9XCIiK24rJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8iZSI6InciKSsnIj4nK24rIjwvc3Bhbj48L2E+IjpmPyIiOic8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK24rJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8iZSI6InciKSsnIj4nK24rIjwvc3Bhbj48L2E+Ijt2YXIgcj10aGlzLl9nZXQoYSwibmV4dFRleHQiKTtyPSFoP3I6dGhpcy5mb3JtYXREYXRlKHIsdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSwKZytrLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYSkpO2Y9dGhpcy5fY2FuQWRqdXN0TW9udGgoYSwrMSxtLGcpPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK3krIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIithLmlkKyInLCArIitrKyIsICdNJyk7XCIgdGl0bGU9XCIiK3IrJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8idyI6ImUiKSsnIj4nK3IrIjwvc3Bhbj48L2E+IjpmPyIiOic8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK3IrJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoYz8idyI6ImUiKSsnIj4nK3IrIjwvc3Bhbj48L2E+IjtrPXRoaXMuX2dldChhLCJjdXJyZW50VGV4dCIpO3I9dGhpcy5fZ2V0KGEsImdvdG9DdXJyZW50IikmJgphLmN1cnJlbnREYXk/dTpiO2s9IWg/azp0aGlzLmZvcm1hdERhdGUoayxyLHRoaXMuX2dldEZvcm1hdENvbmZpZyhhKSk7aD0hYS5pbmxpbmU/JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycreSsnLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7Ij4nK3RoaXMuX2dldChhLCJjbG9zZVRleHQiKSsiPC9idXR0b24+IjoiIjtlPWU/JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB1aS13aWRnZXQtY29udGVudCI+JysoYz9oOiIiKSsodGhpcy5faXNJblJhbmdlKGEscik/JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50IHVpLXN0YXRlLWRlZmF1bHQgdWktcHJpb3JpdHktc2Vjb25kYXJ5IHVpLWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nKwp5KyIuZGF0ZXBpY2tlci5fZ290b1RvZGF5KCcjIithLmlkKyInKTtcIj4iK2srIjwvYnV0dG9uPiI6IiIpKyhjPyIiOmgpKyI8L2Rpdj4iOiIiO2g9cGFyc2VJbnQodGhpcy5fZ2V0KGEsImZpcnN0RGF5IiksMTApO2g9aXNOYU4oaCk/MDpoO2s9dGhpcy5fZ2V0KGEsInNob3dXZWVrIik7cj10aGlzLl9nZXQoYSwiZGF5TmFtZXMiKTt0aGlzLl9nZXQoYSwiZGF5TmFtZXNTaG9ydCIpO3ZhciBzPXRoaXMuX2dldChhLCJkYXlOYW1lc01pbiIpLHo9dGhpcy5fZ2V0KGEsIm1vbnRoTmFtZXMiKSx2PXRoaXMuX2dldChhLCJtb250aE5hbWVzU2hvcnQiKSxwPXRoaXMuX2dldChhLCJiZWZvcmVTaG93RGF5Iiksdz10aGlzLl9nZXQoYSwic2hvd090aGVyTW9udGhzIiksSD10aGlzLl9nZXQoYSwic2VsZWN0T3RoZXJNb250aHMiKTt0aGlzLl9nZXQoYSwiY2FsY3VsYXRlV2VlayIpO2Zvcih2YXIgTT10aGlzLl9nZXREZWZhdWx0RGF0ZShhKSxJPSIiLEM9MDtDPGlbMF07QysrKXtmb3IodmFyIE49CiIiLEQ9MDtEPGlbMV07RCsrKXt2YXIgSj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShtLGcsYS5zZWxlY3RlZERheSkpLHQ9IiB1aS1jb3JuZXItYWxsIix4PSIiO2lmKGwpe3grPSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWdyb3VwJztpZihpWzFdPjEpc3dpdGNoKEQpe2Nhc2UgMDp4Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtZmlyc3QiO3Q9IiB1aS1jb3JuZXItIisoYz8icmlnaHQiOiJsZWZ0Iik7YnJlYWs7Y2FzZSBpWzFdLTE6eCs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QiO3Q9IiB1aS1jb3JuZXItIisoYz8ibGVmdCI6InJpZ2h0Iik7YnJlYWs7ZGVmYXVsdDp4Kz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIjt0PSIiO2JyZWFrfXgrPSciPid9eCs9JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItaGVhZGVyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4Jyt0KyciPicrKC9hbGx8bGVmdC8udGVzdCh0KSYmQz09MD9jPwpmOm46IiIpKygvYWxsfHJpZ2h0Ly50ZXN0KHQpJiZDPT0wP2M/bjpmOiIiKSt0aGlzLl9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcihhLGcsbSxqLG8sQz4wfHxEPjAseix2KSsnPC9kaXY+PHRhYmxlIGNsYXNzPSJ1aS1kYXRlcGlja2VyLWNhbGVuZGFyIj48dGhlYWQ+PHRyPic7dmFyIEE9az8nPHRoIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXdlZWstY29sIj4nK3RoaXMuX2dldChhLCJ3ZWVrSGVhZGVyIikrIjwvdGg+IjoiIjtmb3IodD0wO3Q8Nzt0Kyspe3ZhciBxPSh0K2gpJTc7QSs9Ijx0aCIrKCh0K2grNiklNz49NT8nIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXdlZWstZW5kIic6IiIpKyc+PHNwYW4gdGl0bGU9IicrcltxXSsnIj4nK3NbcV0rIjwvc3Bhbj48L3RoPiJ9eCs9QSsiPC90cj48L3RoZWFkPjx0Ym9keT4iO0E9dGhpcy5fZ2V0RGF5c0luTW9udGgobSxnKTtpZihtPT1hLnNlbGVjdGVkWWVhciYmZz09YS5zZWxlY3RlZE1vbnRoKWEuc2VsZWN0ZWREYXk9TWF0aC5taW4oYS5zZWxlY3RlZERheSwKQSk7dD0odGhpcy5fZ2V0Rmlyc3REYXlPZk1vbnRoKG0sZyktaCs3KSU3O0E9bD82Ok1hdGguY2VpbCgodCtBKS83KTtxPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKG0sZywxLXQpKTtmb3IodmFyIE89MDtPPEE7TysrKXt4Kz0iPHRyPiI7dmFyIFA9IWs/IiI6Jzx0ZCBjbGFzcz0idWktZGF0ZXBpY2tlci13ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYSwiY2FsY3VsYXRlV2VlayIpKHEpKyI8L3RkPiI7Zm9yKHQ9MDt0PDc7dCsrKXt2YXIgRj1wP3AuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51bGwsW3FdKTpbdHJ1ZSwiIl0sQj1xLmdldE1vbnRoKCkhPWcsSz1CJiYhSHx8IUZbMF18fGomJnE8anx8byYmcT5vO1ArPSc8dGQgY2xhc3M9IicrKCh0K2grNiklNz49NT8iIHVpLWRhdGVwaWNrZXItd2Vlay1lbmQiOiIiKSsoQj8iIHVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgiOiIiKSsocS5nZXRUaW1lKCk9PUouZ2V0VGltZSgpJiZnPT1hLnNlbGVjdGVkTW9udGgmJgphLl9rZXlFdmVudHx8TS5nZXRUaW1lKCk9PXEuZ2V0VGltZSgpJiZNLmdldFRpbWUoKT09Si5nZXRUaW1lKCk/IiAiK3RoaXMuX2RheU92ZXJDbGFzczoiIikrKEs/IiAiK3RoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzKyIgdWktc3RhdGUtZGlzYWJsZWQiOiIiKSsoQiYmIXc/IiI6IiAiK0ZbMV0rKHEuZ2V0VGltZSgpPT11LmdldFRpbWUoKT8iICIrdGhpcy5fY3VycmVudENsYXNzOiIiKSsocS5nZXRUaW1lKCk9PWIuZ2V0VGltZSgpPyIgdWktZGF0ZXBpY2tlci10b2RheSI6IiIpKSsnIicrKCghQnx8dykmJkZbMl0/JyB0aXRsZT0iJytGWzJdKyciJzoiIikrKEs/IiI6JyBvbmNsaWNrPSJEUF9qUXVlcnlfJyt5KyIuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KCcjIithLmlkKyInLCIrcS5nZXRNb250aCgpKyIsIitxLmdldEZ1bGxZZWFyKCkrJywgdGhpcyk7cmV0dXJuIGZhbHNlOyInKSsiPiIrKEImJiF3PyImI3hhMDsiOks/JzxzcGFuIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0Ij4nK3EuZ2V0RGF0ZSgpKwoiPC9zcGFuPiI6JzxhIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0JysocS5nZXRUaW1lKCk9PWIuZ2V0VGltZSgpPyIgdWktc3RhdGUtaGlnaGxpZ2h0IjoiIikrKHEuZ2V0VGltZSgpPT1KLmdldFRpbWUoKT8iIHVpLXN0YXRlLWFjdGl2ZSI6IiIpKyhCPyIgdWktcHJpb3JpdHktc2Vjb25kYXJ5IjoiIikrJyIgaHJlZj0iIyI+JytxLmdldERhdGUoKSsiPC9hPiIpKyI8L3RkPiI7cS5zZXREYXRlKHEuZ2V0RGF0ZSgpKzEpO3E9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QocSl9eCs9UCsiPC90cj4ifWcrKztpZihnPjExKXtnPTA7bSsrfXgrPSI8L3Rib2R5PjwvdGFibGU+IisobD8iPC9kaXY+IisoaVswXT4wJiZEPT1pWzFdLTE/JzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItcm93LWJyZWFrIj48L2Rpdj4nOiIiKToiIik7Tis9eH1JKz1OfUkrPWUrKGQuYnJvd3Nlci5tc2llJiZwYXJzZUludChkLmJyb3dzZXIudmVyc2lvbiwxMCk8NyYmIWEuaW5saW5lPyc8aWZyYW1lIHNyYz0iamF2YXNjcmlwdDpmYWxzZTsiIGNsYXNzPSJ1aS1kYXRlcGlja2VyLWNvdmVyIiBmcmFtZWJvcmRlcj0iMCI+PC9pZnJhbWU+JzoKIiIpO2EuX2tleUV2ZW50PWZhbHNlO3JldHVybiBJfSxfZ2VuZXJhdGVNb250aFllYXJIZWFkZXI6ZnVuY3Rpb24oYSxiLGMsZSxmLGgsaSxnKXt2YXIgaz10aGlzLl9nZXQoYSwiY2hhbmdlTW9udGgiKSxsPXRoaXMuX2dldChhLCJjaGFuZ2VZZWFyIiksdT10aGlzLl9nZXQoYSwic2hvd01vbnRoQWZ0ZXJZZWFyIiksaj0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci10aXRsZSI+JyxvPSIiO2lmKGh8fCFrKW8rPSc8c3BhbiBjbGFzcz0idWktZGF0ZXBpY2tlci1tb250aCI+JytpW2JdKyI8L3NwYW4+IjtlbHNle2k9ZSYmZS5nZXRGdWxsWWVhcigpPT1jO3ZhciBtPWYmJmYuZ2V0RnVsbFllYXIoKT09YztvKz0nPHNlbGVjdCBjbGFzcz0idWktZGF0ZXBpY2tlci1tb250aCIgb25jaGFuZ2U9IkRQX2pRdWVyeV8nK3krIi5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoJyMiK2EuaWQrIicsIHRoaXMsICdNJyk7XCIgb25jbGljaz1cIkRQX2pRdWVyeV8iK3krIi5kYXRlcGlja2VyLl9jbGlja01vbnRoWWVhcignIyIrCmEuaWQrIicpO1wiPiI7Zm9yKHZhciBuPTA7bjwxMjtuKyspaWYoKCFpfHxuPj1lLmdldE1vbnRoKCkpJiYoIW18fG48PWYuZ2V0TW9udGgoKSkpbys9JzxvcHRpb24gdmFsdWU9IicrbisnIicrKG49PWI/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzoiIikrIj4iK2dbbl0rIjwvb3B0aW9uPiI7bys9Ijwvc2VsZWN0PiJ9dXx8KGorPW8rKGh8fCEoayYmbCk/IiYjeGEwOyI6IiIpKTtpZihofHwhbClqKz0nPHNwYW4gY2xhc3M9InVpLWRhdGVwaWNrZXIteWVhciI+JytjKyI8L3NwYW4+IjtlbHNle2c9dGhpcy5fZ2V0KGEsInllYXJSYW5nZSIpLnNwbGl0KCI6Iik7dmFyIHI9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpO2k9ZnVuY3Rpb24ocyl7cz1zLm1hdGNoKC9jWystXS4qLyk/YytwYXJzZUludChzLnN1YnN0cmluZygxKSwxMCk6cy5tYXRjaCgvWystXS4qLyk/citwYXJzZUludChzLDEwKTpwYXJzZUludChzLDEwKTtyZXR1cm4gaXNOYU4ocyk/cjpzfTtiPWkoZ1swXSk7Zz1NYXRoLm1heChiLAppKGdbMV18fCIiKSk7Yj1lP01hdGgubWF4KGIsZS5nZXRGdWxsWWVhcigpKTpiO2c9Zj9NYXRoLm1pbihnLGYuZ2V0RnVsbFllYXIoKSk6Zztmb3Ioais9JzxzZWxlY3QgY2xhc3M9InVpLWRhdGVwaWNrZXIteWVhciIgb25jaGFuZ2U9IkRQX2pRdWVyeV8nK3krIi5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoJyMiK2EuaWQrIicsIHRoaXMsICdZJyk7XCIgb25jbGljaz1cIkRQX2pRdWVyeV8iK3krIi5kYXRlcGlja2VyLl9jbGlja01vbnRoWWVhcignIyIrYS5pZCsiJyk7XCI+IjtiPD1nO2IrKylqKz0nPG9wdGlvbiB2YWx1ZT0iJytiKyciJysoYj09Yz8nIHNlbGVjdGVkPSJzZWxlY3RlZCInOiIiKSsiPiIrYisiPC9vcHRpb24+IjtqKz0iPC9zZWxlY3Q+In1qKz10aGlzLl9nZXQoYSwieWVhclN1ZmZpeCIpO2lmKHUpais9KGh8fCEoayYmbCk/IiYjeGEwOyI6IiIpK287ais9IjwvZGl2PiI7cmV0dXJuIGp9LF9hZGp1c3RJbnN0RGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGU9CmEuZHJhd1llYXIrKGM9PSJZIj9iOjApLGY9YS5kcmF3TW9udGgrKGM9PSJNIj9iOjApO2I9TWF0aC5taW4oYS5zZWxlY3RlZERheSx0aGlzLl9nZXREYXlzSW5Nb250aChlLGYpKSsoYz09IkQiP2I6MCk7ZT10aGlzLl9yZXN0cmljdE1pbk1heChhLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGUsZixiKSkpO2Euc2VsZWN0ZWREYXk9ZS5nZXREYXRlKCk7YS5kcmF3TW9udGg9YS5zZWxlY3RlZE1vbnRoPWUuZ2V0TW9udGgoKTthLmRyYXdZZWFyPWEuc2VsZWN0ZWRZZWFyPWUuZ2V0RnVsbFllYXIoKTtpZihjPT0iTSJ8fGM9PSJZIil0aGlzLl9ub3RpZnlDaGFuZ2UoYSl9LF9yZXN0cmljdE1pbk1heDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2dldE1pbk1heERhdGUoYSwibWluIik7YT10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1heCIpO2I9YyYmYjxjP2M6YjtyZXR1cm4gYj1hJiZiPmE/YTpifSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2dldChhLAoib25DaGFuZ2VNb250aFllYXIiKTtpZihiKWIuYXBwbHkoYS5pbnB1dD9hLmlucHV0WzBdOm51bGwsW2Euc2VsZWN0ZWRZZWFyLGEuc2VsZWN0ZWRNb250aCsxLGFdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1bmN0aW9uKGEpe2E9dGhpcy5fZ2V0KGEsIm51bWJlck9mTW9udGhzIik7cmV0dXJuIGE9PW51bGw/WzEsMV06dHlwZW9mIGE9PSJudW1iZXIiP1sxLGFdOmF9LF9nZXRNaW5NYXhEYXRlOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuX2RldGVybWluZURhdGUoYSx0aGlzLl9nZXQoYSxiKyJEYXRlIiksbnVsbCl9LF9nZXREYXlzSW5Nb250aDpmdW5jdGlvbihhLGIpe3JldHVybiAzMi0obmV3IERhdGUoYSxiLDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGEsYil7cmV0dXJuKG5ldyBEYXRlKGEsYiwxKSkuZ2V0RGF5KCl9LF9jYW5BZGp1c3RNb250aDpmdW5jdGlvbihhLGIsYyxlKXt2YXIgZj10aGlzLl9nZXROdW1iZXJPZk1vbnRocyhhKTsKYz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShjLGUrKGI8MD9iOmZbMF0qZlsxXSksMSkpO2I8MCYmYy5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGMuZ2V0RnVsbFllYXIoKSxjLmdldE1vbnRoKCkpKTtyZXR1cm4gdGhpcy5faXNJblJhbmdlKGEsYyl9LF9pc0luUmFuZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9nZXRNaW5NYXhEYXRlKGEsIm1pbiIpO2E9dGhpcy5fZ2V0TWluTWF4RGF0ZShhLCJtYXgiKTtyZXR1cm4oIWN8fGIuZ2V0VGltZSgpPj1jLmdldFRpbWUoKSkmJighYXx8Yi5nZXRUaW1lKCk8PWEuZ2V0VGltZSgpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLl9nZXQoYSwic2hvcnRZZWFyQ3V0b2ZmIik7Yj10eXBlb2YgYiE9InN0cmluZyI/YjoobmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwK3BhcnNlSW50KGIsMTApO3JldHVybntzaG9ydFllYXJDdXRvZmY6YixkYXlOYW1lc1Nob3J0OnRoaXMuX2dldChhLAoiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChhLCJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoYSwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQoYSwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24oYSxiLGMsZSl7aWYoIWIpe2EuY3VycmVudERheT1hLnNlbGVjdGVkRGF5O2EuY3VycmVudE1vbnRoPWEuc2VsZWN0ZWRNb250aDthLmN1cnJlbnRZZWFyPWEuc2VsZWN0ZWRZZWFyfWI9Yj90eXBlb2YgYj09Im9iamVjdCI/Yjp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShlLGMsYikpOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGEuY3VycmVudFllYXIsYS5jdXJyZW50TW9udGgsYS5jdXJyZW50RGF5KSk7cmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLl9nZXQoYSwiZGF0ZUZvcm1hdCIpLGIsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGEpKX19KTtkLmZuLmRhdGVwaWNrZXI9CmZ1bmN0aW9uKGEpe2lmKCFkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQpe2QoZG9jdW1lbnQpLm1vdXNlZG93bihkLmRhdGVwaWNrZXIuX2NoZWNrRXh0ZXJuYWxDbGljaykuZmluZCgiYm9keSIpLmFwcGVuZChkLmRhdGVwaWNrZXIuZHBEaXYpO2QuZGF0ZXBpY2tlci5pbml0aWFsaXplZD10cnVlfXZhciBiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtpZih0eXBlb2YgYT09InN0cmluZyImJihhPT0iaXNEaXNhYmxlZCJ8fGE9PSJnZXREYXRlInx8YT09IndpZGdldCIpKXJldHVybiBkLmRhdGVwaWNrZXJbIl8iK2ErIkRhdGVwaWNrZXIiXS5hcHBseShkLmRhdGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNhdChiKSk7aWYoYT09Im9wdGlvbiImJmFyZ3VtZW50cy5sZW5ndGg9PTImJnR5cGVvZiBhcmd1bWVudHNbMV09PSJzdHJpbmciKXJldHVybiBkLmRhdGVwaWNrZXJbIl8iK2ErIkRhdGVwaWNrZXIiXS5hcHBseShkLmRhdGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNhdChiKSk7CnJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt0eXBlb2YgYT09InN0cmluZyI/ZC5kYXRlcGlja2VyWyJfIithKyJEYXRlcGlja2VyIl0uYXBwbHkoZC5kYXRlcGlja2VyLFt0aGlzXS5jb25jYXQoYikpOmQuZGF0ZXBpY2tlci5fYXR0YWNoRGF0ZXBpY2tlcih0aGlzLGEpfSl9O2QuZGF0ZXBpY2tlcj1uZXcgTDtkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9ZmFsc2U7ZC5kYXRlcGlja2VyLnV1aWQ9KG5ldyBEYXRlKS5nZXRUaW1lKCk7ZC5kYXRlcGlja2VyLnZlcnNpb249IjEuOC40Ijt3aW5kb3dbIkRQX2pRdWVyeV8iK3ldPWR9KShqUXVlcnkpOwo7LyoKICogalF1ZXJ5IFVJIFByb2dyZXNzYmFyIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9Qcm9ncmVzc2JhcgogKgogKiBEZXBlbmRzOgogKiAgIGpxdWVyeS51aS5jb3JlLmpzCiAqICAganF1ZXJ5LnVpLndpZGdldC5qcwogKi8KKGZ1bmN0aW9uKGIsYyl7Yi53aWRnZXQoInVpLnByb2dyZXNzYmFyIix7b3B0aW9uczp7dmFsdWU6MH0sbWluOjAsbWF4OjEwMCxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1wcm9ncmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLmF0dHIoe3JvbGU6InByb2dyZXNzYmFyIiwiYXJpYS12YWx1ZW1pbiI6dGhpcy5taW4sImFyaWEtdmFsdWVtYXgiOnRoaXMubWF4LCJhcmlhLXZhbHVlbm93Ijp0aGlzLl92YWx1ZSgpfSk7dGhpcy52YWx1ZURpdj1iKCI8ZGl2IGNsYXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1wcm9ncmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbWluIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1heCIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVub3ciKTsKdGhpcy52YWx1ZURpdi5yZW1vdmUoKTtiLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHZhbHVlOmZ1bmN0aW9uKGEpe2lmKGE9PT1jKXJldHVybiB0aGlzLl92YWx1ZSgpO3RoaXMuX3NldE9wdGlvbigidmFsdWUiLGEpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGEsZCl7aWYoYT09PSJ2YWx1ZSIpe3RoaXMub3B0aW9ucy52YWx1ZT1kO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX3RyaWdnZXIoImNoYW5nZSIpfWIuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zLnZhbHVlO2lmKHR5cGVvZiBhIT09Im51bWJlciIpYT0wO3JldHVybiBNYXRoLm1pbih0aGlzLm1heCxNYXRoLm1heCh0aGlzLm1pbixhKSl9LF9yZWZyZXNoVmFsdWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZhbHVlKCk7dGhpcy52YWx1ZURpdi50b2dnbGVDbGFzcygidWktY29ybmVyLXJpZ2h0IiwKYT09PXRoaXMubWF4KS53aWR0aChhKyIlIik7dGhpcy5lbGVtZW50LmF0dHIoImFyaWEtdmFsdWVub3ciLGEpfX0pO2IuZXh0ZW5kKGIudWkucHJvZ3Jlc3NiYXIse3ZlcnNpb246IjEuOC40In0pfSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzLwogKi8KalF1ZXJ5LmVmZmVjdHN8fGZ1bmN0aW9uKGYsail7ZnVuY3Rpb24gbChjKXt2YXIgYTtpZihjJiZjLmNvbnN0cnVjdG9yPT1BcnJheSYmYy5sZW5ndGg9PTMpcmV0dXJuIGM7aWYoYT0vcmdiXChccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKlwpLy5leGVjKGMpKXJldHVybltwYXJzZUludChhWzFdLDEwKSxwYXJzZUludChhWzJdLDEwKSxwYXJzZUludChhWzNdLDEwKV07aWYoYT0vcmdiXChccyooWzAtOV0rKD86XC5bMC05XSspPylcJVxzKixccyooWzAtOV0rKD86XC5bMC05XSspPylcJVxzKixccyooWzAtOV0rKD86XC5bMC05XSspPylcJVxzKlwpLy5leGVjKGMpKXJldHVybltwYXJzZUZsb2F0KGFbMV0pKjIuNTUscGFyc2VGbG9hdChhWzJdKSoyLjU1LHBhcnNlRmxvYXQoYVszXSkqMi41NV07aWYoYT0vIyhbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KS8uZXhlYyhjKSlyZXR1cm5bcGFyc2VJbnQoYVsxXSwKMTYpLHBhcnNlSW50KGFbMl0sMTYpLHBhcnNlSW50KGFbM10sMTYpXTtpZihhPS8jKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSkoW2EtZkEtRjAtOV0pLy5leGVjKGMpKXJldHVybltwYXJzZUludChhWzFdK2FbMV0sMTYpLHBhcnNlSW50KGFbMl0rYVsyXSwxNikscGFyc2VJbnQoYVszXSthWzNdLDE2KV07aWYoL3JnYmFcKDAsIDAsIDAsIDBcKS8uZXhlYyhjKSlyZXR1cm4gbS50cmFuc3BhcmVudDtyZXR1cm4gbVtmLnRyaW0oYykudG9Mb3dlckNhc2UoKV19ZnVuY3Rpb24gcihjLGEpe3ZhciBiO2Rve2I9Zi5jdXJDU1MoYyxhKTtpZihiIT0iIiYmYiE9InRyYW5zcGFyZW50Inx8Zi5ub2RlTmFtZShjLCJib2R5IikpYnJlYWs7YT0iYmFja2dyb3VuZENvbG9yIn13aGlsZShjPWMucGFyZW50Tm9kZSk7cmV0dXJuIGwoYil9ZnVuY3Rpb24gbigpe3ZhciBjPWRvY3VtZW50LmRlZmF1bHRWaWV3P2RvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodGhpcyxudWxsKTp0aGlzLmN1cnJlbnRTdHlsZSwKYT17fSxiLGQ7aWYoYyYmYy5sZW5ndGgmJmNbMF0mJmNbY1swXV0pZm9yKHZhciBlPWMubGVuZ3RoO2UtLTspe2I9Y1tlXTtpZih0eXBlb2YgY1tiXT09InN0cmluZyIpe2Q9Yi5yZXBsYWNlKC9cLShcdykvZyxmdW5jdGlvbihnLGgpe3JldHVybiBoLnRvVXBwZXJDYXNlKCl9KTthW2RdPWNbYl19fWVsc2UgZm9yKGIgaW4gYylpZih0eXBlb2YgY1tiXT09PSJzdHJpbmciKWFbYl09Y1tiXTtyZXR1cm4gYX1mdW5jdGlvbiBvKGMpe3ZhciBhLGI7Zm9yKGEgaW4gYyl7Yj1jW2FdO2lmKGI9PW51bGx8fGYuaXNGdW5jdGlvbihiKXx8YSBpbiBzfHwvc2Nyb2xsYmFyLy50ZXN0KGEpfHwhL2NvbG9yL2kudGVzdChhKSYmaXNOYU4ocGFyc2VGbG9hdChiKSkpZGVsZXRlIGNbYV19cmV0dXJuIGN9ZnVuY3Rpb24gdChjLGEpe3ZhciBiPXtfOjB9LGQ7Zm9yKGQgaW4gYSlpZihjW2RdIT1hW2RdKWJbZF09YVtkXTtyZXR1cm4gYn1mdW5jdGlvbiBrKGMsYSxiLGQpe2lmKHR5cGVvZiBjPT0ib2JqZWN0Iil7ZD0KYTtiPW51bGw7YT1jO2M9YS5lZmZlY3R9aWYoZi5pc0Z1bmN0aW9uKGEpKXtkPWE7Yj1udWxsO2E9e319aWYodHlwZW9mIGE9PSJudW1iZXIifHxmLmZ4LnNwZWVkc1thXSl7ZD1iO2I9YTthPXt9fWlmKGYuaXNGdW5jdGlvbihiKSl7ZD1iO2I9bnVsbH1hPWF8fHt9O2I9Ynx8YS5kdXJhdGlvbjtiPWYuZngub2ZmPzA6dHlwZW9mIGI9PSJudW1iZXIiP2I6Zi5meC5zcGVlZHNbYl18fGYuZnguc3BlZWRzLl9kZWZhdWx0O2Q9ZHx8YS5jb21wbGV0ZTtyZXR1cm5bYyxhLGIsZF19Zi5lZmZlY3RzPXt9O2YuZWFjaChbImJhY2tncm91bmRDb2xvciIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyTGVmdENvbG9yIiwiYm9yZGVyUmlnaHRDb2xvciIsImJvcmRlclRvcENvbG9yIiwiY29sb3IiLCJvdXRsaW5lQ29sb3IiXSxmdW5jdGlvbihjLGEpe2YuZnguc3RlcFthXT1mdW5jdGlvbihiKXtpZighYi5jb2xvckluaXQpe2Iuc3RhcnQ9cihiLmVsZW0sYSk7Yi5lbmQ9bChiLmVuZCk7Yi5jb2xvckluaXQ9CnRydWV9Yi5lbGVtLnN0eWxlW2FdPSJyZ2IoIitNYXRoLm1heChNYXRoLm1pbihwYXJzZUludChiLnBvcyooYi5lbmRbMF0tYi5zdGFydFswXSkrYi5zdGFydFswXSwxMCksMjU1KSwwKSsiLCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQoYi5wb3MqKGIuZW5kWzFdLWIuc3RhcnRbMV0pK2Iuc3RhcnRbMV0sMTApLDI1NSksMCkrIiwiK01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KGIucG9zKihiLmVuZFsyXS1iLnN0YXJ0WzJdKStiLnN0YXJ0WzJdLDEwKSwyNTUpLDApKyIpIn19KTt2YXIgbT17YXF1YTpbMCwyNTUsMjU1XSxhenVyZTpbMjQwLDI1NSwyNTVdLGJlaWdlOlsyNDUsMjQ1LDIyMF0sYmxhY2s6WzAsMCwwXSxibHVlOlswLDAsMjU1XSxicm93bjpbMTY1LDQyLDQyXSxjeWFuOlswLDI1NSwyNTVdLGRhcmtibHVlOlswLDAsMTM5XSxkYXJrY3lhbjpbMCwxMzksMTM5XSxkYXJrZ3JleTpbMTY5LDE2OSwxNjldLGRhcmtncmVlbjpbMCwxMDAsMF0sZGFya2toYWtpOlsxODksCjE4MywxMDddLGRhcmttYWdlbnRhOlsxMzksMCwxMzldLGRhcmtvbGl2ZWdyZWVuOls4NSwxMDcsNDddLGRhcmtvcmFuZ2U6WzI1NSwxNDAsMF0sZGFya29yY2hpZDpbMTUzLDUwLDIwNF0sZGFya3JlZDpbMTM5LDAsMF0sZGFya3NhbG1vbjpbMjMzLDE1MCwxMjJdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMV0sZnVjaHNpYTpbMjU1LDAsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdyZWVuOlswLDEyOCwwXSxpbmRpZ286Wzc1LDAsMTMwXSxraGFraTpbMjQwLDIzMCwxNDBdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y3lhbjpbMjI0LDI1NSwyNTVdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHllbGxvdzpbMjU1LDI1NSwyMjRdLGxpbWU6WzAsMjU1LDBdLG1hZ2VudGE6WzI1NSwwLDI1NV0sbWFyb29uOlsxMjgsMCwwXSxuYXZ5OlswLDAsMTI4XSxvbGl2ZTpbMTI4LDEyOCwwXSxvcmFuZ2U6WzI1NSwKMTY1LDBdLHBpbms6WzI1NSwxOTIsMjAzXSxwdXJwbGU6WzEyOCwwLDEyOF0sdmlvbGV0OlsxMjgsMCwxMjhdLHJlZDpbMjU1LDAsMF0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sd2hpdGU6WzI1NSwyNTUsMjU1XSx5ZWxsb3c6WzI1NSwyNTUsMF0sdHJhbnNwYXJlbnQ6WzI1NSwyNTUsMjU1XX0scD1bImFkZCIsInJlbW92ZSIsInRvZ2dsZSJdLHM9e2JvcmRlcjoxLGJvcmRlckJvdHRvbToxLGJvcmRlckNvbG9yOjEsYm9yZGVyTGVmdDoxLGJvcmRlclJpZ2h0OjEsYm9yZGVyVG9wOjEsYm9yZGVyV2lkdGg6MSxtYXJnaW46MSxwYWRkaW5nOjF9O2YuZWZmZWN0cy5hbmltYXRlQ2xhc3M9ZnVuY3Rpb24oYyxhLGIsZCl7aWYoZi5pc0Z1bmN0aW9uKGIpKXtkPWI7Yj1udWxsfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1mKHRoaXMpLGc9ZS5hdHRyKCJzdHlsZSIpfHwiICIsaD1vKG4uY2FsbCh0aGlzKSkscSx1PWUuYXR0cigiY2xhc3NOYW1lIik7Zi5lYWNoKHAsZnVuY3Rpb24odiwKaSl7Y1tpXSYmZVtpKyJDbGFzcyJdKGNbaV0pfSk7cT1vKG4uY2FsbCh0aGlzKSk7ZS5hdHRyKCJjbGFzc05hbWUiLHUpO2UuYW5pbWF0ZSh0KGgscSksYSxiLGZ1bmN0aW9uKCl7Zi5lYWNoKHAsZnVuY3Rpb24odixpKXtjW2ldJiZlW2krIkNsYXNzIl0oY1tpXSl9KTtpZih0eXBlb2YgZS5hdHRyKCJzdHlsZSIpPT0ib2JqZWN0Iil7ZS5hdHRyKCJzdHlsZSIpLmNzc1RleHQ9IiI7ZS5hdHRyKCJzdHlsZSIpLmNzc1RleHQ9Z31lbHNlIGUuYXR0cigic3R5bGUiLGcpO2QmJmQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9KX07Zi5mbi5leHRlbmQoe19hZGRDbGFzczpmLmZuLmFkZENsYXNzLGFkZENsYXNzOmZ1bmN0aW9uKGMsYSxiLGQpe3JldHVybiBhP2YuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbe2FkZDpjfSxhLGIsZF0pOnRoaXMuX2FkZENsYXNzKGMpfSxfcmVtb3ZlQ2xhc3M6Zi5mbi5yZW1vdmVDbGFzcyxyZW1vdmVDbGFzczpmdW5jdGlvbihjLGEsYixkKXtyZXR1cm4gYT8KZi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7cmVtb3ZlOmN9LGEsYixkXSk6dGhpcy5fcmVtb3ZlQ2xhc3MoYyl9LF90b2dnbGVDbGFzczpmLmZuLnRvZ2dsZUNsYXNzLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIHR5cGVvZiBhPT0iYm9vbGVhbiJ8fGE9PT1qP2I/Zi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFthP3thZGQ6Y306e3JlbW92ZTpjfSxiLGQsZV0pOnRoaXMuX3RvZ2dsZUNsYXNzKGMsYSk6Zi5lZmZlY3RzLmFuaW1hdGVDbGFzcy5hcHBseSh0aGlzLFt7dG9nZ2xlOmN9LGEsYixkXSl9LHN3aXRjaENsYXNzOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGYuZWZmZWN0cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbe2FkZDphLHJlbW92ZTpjfSxiLGQsZV0pfX0pO2YuZXh0ZW5kKGYuZWZmZWN0cyx7dmVyc2lvbjoiMS44LjQiLHNhdmU6ZnVuY3Rpb24oYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdIT09Cm51bGwmJmMuZGF0YSgiZWMuc3RvcmFnZS4iK2FbYl0sY1swXS5zdHlsZVthW2JdXSl9LHJlc3RvcmU6ZnVuY3Rpb24oYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylhW2JdIT09bnVsbCYmYy5jc3MoYVtiXSxjLmRhdGEoImVjLnN0b3JhZ2UuIithW2JdKSl9LHNldE1vZGU6ZnVuY3Rpb24oYyxhKXtpZihhPT0idG9nZ2xlIilhPWMuaXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiO3JldHVybiBhfSxnZXRCYXNlbGluZTpmdW5jdGlvbihjLGEpe3ZhciBiO3N3aXRjaChjWzBdKXtjYXNlICJ0b3AiOmI9MDticmVhaztjYXNlICJtaWRkbGUiOmI9MC41O2JyZWFrO2Nhc2UgImJvdHRvbSI6Yj0xO2JyZWFrO2RlZmF1bHQ6Yj1jWzBdL2EuaGVpZ2h0fXN3aXRjaChjWzFdKXtjYXNlICJsZWZ0IjpjPTA7YnJlYWs7Y2FzZSAiY2VudGVyIjpjPTAuNTticmVhaztjYXNlICJyaWdodCI6Yz0xO2JyZWFrO2RlZmF1bHQ6Yz1jWzFdL2Eud2lkdGh9cmV0dXJue3g6Yyx5OmJ9fSxjcmVhdGVXcmFwcGVyOmZ1bmN0aW9uKGMpe2lmKGMucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSlyZXR1cm4gYy5wYXJlbnQoKTsKdmFyIGE9e3dpZHRoOmMub3V0ZXJXaWR0aCh0cnVlKSxoZWlnaHQ6Yy5vdXRlckhlaWdodCh0cnVlKSwiZmxvYXQiOmMuY3NzKCJmbG9hdCIpfSxiPWYoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBhZGRpbmc6MH0pO2Mud3JhcChiKTtiPWMucGFyZW50KCk7aWYoYy5jc3MoInBvc2l0aW9uIik9PSJzdGF0aWMiKXtiLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pO2MuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSl9ZWxzZXtmLmV4dGVuZChhLHtwb3NpdGlvbjpjLmNzcygicG9zaXRpb24iKSx6SW5kZXg6Yy5jc3MoInotaW5kZXgiKX0pO2YuZWFjaChbInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCJdLGZ1bmN0aW9uKGQsZSl7YVtlXT1jLmNzcyhlKTtpZihpc05hTihwYXJzZUludChhW2VdLDEwKSkpYVtlXT0iYXV0byJ9KTsKYy5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOjAsbGVmdDowfSl9cmV0dXJuIGIuY3NzKGEpLnNob3coKX0scmVtb3ZlV3JhcHBlcjpmdW5jdGlvbihjKXtpZihjLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikpcmV0dXJuIGMucGFyZW50KCkucmVwbGFjZVdpdGgoYyk7cmV0dXJuIGN9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oYyxhLGIsZCl7ZD1kfHx7fTtmLmVhY2goYSxmdW5jdGlvbihlLGcpe3VuaXQ9Yy5jc3NVbml0KGcpO2lmKHVuaXRbMF0+MClkW2ddPXVuaXRbMF0qYit1bml0WzFdfSk7cmV0dXJuIGR9fSk7Zi5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbihjKXt2YXIgYT1rLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthPXtvcHRpb25zOmFbMV0sZHVyYXRpb246YVsyXSxjYWxsYmFjazphWzNdfTt2YXIgYj1mLmVmZmVjdHNbY107cmV0dXJuIGImJiFmLmZ4Lm9mZj9iLmNhbGwodGhpcyxhKTp0aGlzfSxfc2hvdzpmLmZuLnNob3csc2hvdzpmdW5jdGlvbihjKXtpZighY3x8CnR5cGVvZiBjPT0ibnVtYmVyInx8Zi5meC5zcGVlZHNbY10pcmV0dXJuIHRoaXMuX3Nob3cuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7dmFyIGE9ay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YVsxXS5tb2RlPSJzaG93IjtyZXR1cm4gdGhpcy5lZmZlY3QuYXBwbHkodGhpcyxhKX19LF9oaWRlOmYuZm4uaGlkZSxoaWRlOmZ1bmN0aW9uKGMpe2lmKCFjfHx0eXBlb2YgYz09Im51bWJlciJ8fGYuZnguc3BlZWRzW2NdKXJldHVybiB0aGlzLl9oaWRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBhPWsuYXBwbHkodGhpcyxhcmd1bWVudHMpO2FbMV0ubW9kZT0iaGlkZSI7cmV0dXJuIHRoaXMuZWZmZWN0LmFwcGx5KHRoaXMsYSl9fSxfX3RvZ2dsZTpmLmZuLnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYyl7aWYoIWN8fHR5cGVvZiBjPT0ibnVtYmVyInx8Zi5meC5zcGVlZHNbY118fHR5cGVvZiBjPT0iYm9vbGVhbiJ8fGYuaXNGdW5jdGlvbihjKSlyZXR1cm4gdGhpcy5fX3RvZ2dsZS5hcHBseSh0aGlzLAphcmd1bWVudHMpO2Vsc2V7dmFyIGE9ay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YVsxXS5tb2RlPSJ0b2dnbGUiO3JldHVybiB0aGlzLmVmZmVjdC5hcHBseSh0aGlzLGEpfX0sY3NzVW5pdDpmdW5jdGlvbihjKXt2YXIgYT10aGlzLmNzcyhjKSxiPVtdO2YuZWFjaChbImVtIiwicHgiLCIlIiwicHQiXSxmdW5jdGlvbihkLGUpe2lmKGEuaW5kZXhPZihlKT4wKWI9W3BhcnNlRmxvYXQoYSksZV19KTtyZXR1cm4gYn19KTtmLmVhc2luZy5qc3dpbmc9Zi5lYXNpbmcuc3dpbmc7Zi5leHRlbmQoZi5lYXNpbmcse2RlZjoiZWFzZU91dFF1YWQiLHN3aW5nOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGYuZWFzaW5nW2YuZWFzaW5nLmRlZl0oYyxhLGIsZCxlKX0sZWFzZUluUXVhZDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKihhLz1lKSphK2J9LGVhc2VPdXRRdWFkOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuLWQqKGEvPWUpKihhLTIpK2J9LGVhc2VJbk91dFF1YWQ6ZnVuY3Rpb24oYywKYSxiLGQsZSl7aWYoKGEvPWUvMik8MSlyZXR1cm4gZC8yKmEqYStiO3JldHVybi1kLzIqKC0tYSooYS0yKS0xKStifSxlYXNlSW5DdWJpYzpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKihhLz1lKSphKmErYn0sZWFzZU91dEN1YmljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqKChhPWEvZS0xKSphKmErMSkrYn0sZWFzZUluT3V0Q3ViaWM6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIqYSphKmErYjtyZXR1cm4gZC8yKigoYS09MikqYSphKzIpK2J9LGVhc2VJblF1YXJ0OmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGQqKGEvPWUpKmEqYSphK2J9LGVhc2VPdXRRdWFydDpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKigoYT1hL2UtMSkqYSphKmEtMSkrYn0sZWFzZUluT3V0UXVhcnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIqYSphKmEqYStiO3JldHVybi1kLzIqKChhLT0yKSphKmEqYS0yKSsKYn0sZWFzZUluUXVpbnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCooYS89ZSkqYSphKmEqYStifSxlYXNlT3V0UXVpbnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZCooKGE9YS9lLTEpKmEqYSphKmErMSkrYn0sZWFzZUluT3V0UXVpbnQ6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIqYSphKmEqYSphK2I7cmV0dXJuIGQvMiooKGEtPTIpKmEqYSphKmErMikrYn0sZWFzZUluU2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kKk1hdGguY29zKGEvZSooTWF0aC5QSS8yKSkrZCtifSxlYXNlT3V0U2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKk1hdGguc2luKGEvZSooTWF0aC5QSS8yKSkrYn0sZWFzZUluT3V0U2luZTpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybi1kLzIqKE1hdGguY29zKE1hdGguUEkqYS9lKS0xKStifSxlYXNlSW5FeHBvOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGE9PTA/YjpkKk1hdGgucG93KDIsCjEwKihhL2UtMSkpK2J9LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuIGE9PWU/YitkOmQqKC1NYXRoLnBvdygyLC0xMCphL2UpKzEpK2J9LGVhc2VJbk91dEV4cG86ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZihhPT0wKXJldHVybiBiO2lmKGE9PWUpcmV0dXJuIGIrZDtpZigoYS89ZS8yKTwxKXJldHVybiBkLzIqTWF0aC5wb3coMiwxMCooYS0xKSkrYjtyZXR1cm4gZC8yKigtTWF0aC5wb3coMiwtMTAqLS1hKSsyKStifSxlYXNlSW5DaXJjOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuLWQqKE1hdGguc3FydCgxLShhLz1lKSphKS0xKStifSxlYXNlT3V0Q2lyYzpmdW5jdGlvbihjLGEsYixkLGUpe3JldHVybiBkKk1hdGguc3FydCgxLShhPWEvZS0xKSphKStifSxlYXNlSW5PdXRDaXJjOmZ1bmN0aW9uKGMsYSxiLGQsZSl7aWYoKGEvPWUvMik8MSlyZXR1cm4tZC8yKihNYXRoLnNxcnQoMS1hKmEpLTEpK2I7cmV0dXJuIGQvMiooTWF0aC5zcXJ0KDEtKGEtPTIpKgphKSsxKStifSxlYXNlSW5FbGFzdGljOmZ1bmN0aW9uKGMsYSxiLGQsZSl7Yz0xLjcwMTU4O3ZhciBnPTAsaD1kO2lmKGE9PTApcmV0dXJuIGI7aWYoKGEvPWUpPT0xKXJldHVybiBiK2Q7Z3x8KGc9ZSowLjMpO2lmKGg8TWF0aC5hYnMoZCkpe2g9ZDtjPWcvNH1lbHNlIGM9Zy8oMipNYXRoLlBJKSpNYXRoLmFzaW4oZC9oKTtyZXR1cm4tKGgqTWF0aC5wb3coMiwxMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipNYXRoLlBJL2cpKStifSxlYXNlT3V0RWxhc3RpYzpmdW5jdGlvbihjLGEsYixkLGUpe2M9MS43MDE1ODt2YXIgZz0wLGg9ZDtpZihhPT0wKXJldHVybiBiO2lmKChhLz1lKT09MSlyZXR1cm4gYitkO2d8fChnPWUqMC4zKTtpZihoPE1hdGguYWJzKGQpKXtoPWQ7Yz1nLzR9ZWxzZSBjPWcvKDIqTWF0aC5QSSkqTWF0aC5hc2luKGQvaCk7cmV0dXJuIGgqTWF0aC5wb3coMiwtMTAqYSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkvZykrZCtifSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0aW9uKGMsCmEsYixkLGUpe2M9MS43MDE1ODt2YXIgZz0wLGg9ZDtpZihhPT0wKXJldHVybiBiO2lmKChhLz1lLzIpPT0yKXJldHVybiBiK2Q7Z3x8KGc9ZSowLjMqMS41KTtpZihoPE1hdGguYWJzKGQpKXtoPWQ7Yz1nLzR9ZWxzZSBjPWcvKDIqTWF0aC5QSSkqTWF0aC5hc2luKGQvaCk7aWYoYTwxKXJldHVybi0wLjUqaCpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEqZS1jKSoyKk1hdGguUEkvZykrYjtyZXR1cm4gaCpNYXRoLnBvdygyLC0xMCooYS09MSkpKk1hdGguc2luKChhKmUtYykqMipNYXRoLlBJL2cpKjAuNStkK2J9LGVhc2VJbkJhY2s6ZnVuY3Rpb24oYyxhLGIsZCxlLGcpe2lmKGc9PWopZz0xLjcwMTU4O3JldHVybiBkKihhLz1lKSphKigoZysxKSphLWcpK2J9LGVhc2VPdXRCYWNrOmZ1bmN0aW9uKGMsYSxiLGQsZSxnKXtpZihnPT1qKWc9MS43MDE1ODtyZXR1cm4gZCooKGE9YS9lLTEpKmEqKChnKzEpKmErZykrMSkrYn0sZWFzZUluT3V0QmFjazpmdW5jdGlvbihjLAphLGIsZCxlLGcpe2lmKGc9PWopZz0xLjcwMTU4O2lmKChhLz1lLzIpPDEpcmV0dXJuIGQvMiphKmEqKCgoZyo9MS41MjUpKzEpKmEtZykrYjtyZXR1cm4gZC8yKigoYS09MikqYSooKChnKj0xLjUyNSkrMSkqYStnKSsyKStifSxlYXNlSW5Cb3VuY2U6ZnVuY3Rpb24oYyxhLGIsZCxlKXtyZXR1cm4gZC1mLmVhc2luZy5lYXNlT3V0Qm91bmNlKGMsZS1hLDAsZCxlKStifSxlYXNlT3V0Qm91bmNlOmZ1bmN0aW9uKGMsYSxiLGQsZSl7cmV0dXJuKGEvPWUpPDEvMi43NT9kKjcuNTYyNSphKmErYjphPDIvMi43NT9kKig3LjU2MjUqKGEtPTEuNS8yLjc1KSphKzAuNzUpK2I6YTwyLjUvMi43NT9kKig3LjU2MjUqKGEtPTIuMjUvMi43NSkqYSswLjkzNzUpK2I6ZCooNy41NjI1KihhLT0yLjYyNS8yLjc1KSphKzAuOTg0Mzc1KStifSxlYXNlSW5PdXRCb3VuY2U6ZnVuY3Rpb24oYyxhLGIsZCxlKXtpZihhPGUvMilyZXR1cm4gZi5lYXNpbmcuZWFzZUluQm91bmNlKGMsYSoyLDAsZCxlKSowLjUrCmI7cmV0dXJuIGYuZWFzaW5nLmVhc2VPdXRCb3VuY2UoYyxhKjItZSwwLGQsZSkqMC41K2QqMC41K2J9fSl9KGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgRWZmZWN0cyBCbGluZCAxLjguNAogKgogKiBDb3B5cmlnaHQgMjAxMCwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRWZmZWN0cy9CbGluZAogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oYil7Yi5lZmZlY3RzLmJsaW5kPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGE9Yih0aGlzKSxnPVsicG9zaXRpb24iLCJ0b3AiLCJsZWZ0Il0sZj1iLmVmZmVjdHMuc2V0TW9kZShhLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGQ9Yy5vcHRpb25zLmRpcmVjdGlvbnx8InZlcnRpY2FsIjtiLmVmZmVjdHMuc2F2ZShhLGcpO2Euc2hvdygpO3ZhciBlPWIuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxoPWQ9PSJ2ZXJ0aWNhbCI/ImhlaWdodCI6IndpZHRoIjtkPWQ9PSJ2ZXJ0aWNhbCI/ZS5oZWlnaHQoKTplLndpZHRoKCk7Zj09InNob3ciJiZlLmNzcyhoLDApO3ZhciBpPXt9O2lbaF09Zj09InNob3ciP2Q6MDtlLmFuaW1hdGUoaSxjLmR1cmF0aW9uLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtmPT0iaGlkZSImJmEuaGlkZSgpO2IuZWZmZWN0cy5yZXN0b3JlKGEsZyk7Yi5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7CmMuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoYVswXSxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOwo7LyoKICogalF1ZXJ5IFVJIEVmZmVjdHMgQm91bmNlIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL0JvdW5jZQogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oZSl7ZS5lZmZlY3RzLmJvdW5jZT1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksbD1bInBvc2l0aW9uIiwidG9wIiwibGVmdCJdLGg9ZS5lZmZlY3RzLnNldE1vZGUoYSxiLm9wdGlvbnMubW9kZXx8ImVmZmVjdCIpLGQ9Yi5vcHRpb25zLmRpcmVjdGlvbnx8InVwIixjPWIub3B0aW9ucy5kaXN0YW5jZXx8MjAsbT1iLm9wdGlvbnMudGltZXN8fDUsaT1iLmR1cmF0aW9ufHwyNTA7L3Nob3d8aGlkZS8udGVzdChoKSYmbC5wdXNoKCJvcGFjaXR5Iik7ZS5lZmZlY3RzLnNhdmUoYSxsKTthLnNob3coKTtlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihhKTt2YXIgZj1kPT0idXAifHxkPT0iZG93biI/InRvcCI6ImxlZnQiO2Q9ZD09InVwInx8ZD09ImxlZnQiPyJwb3MiOiJuZWciO2M9Yi5vcHRpb25zLmRpc3RhbmNlfHwoZj09InRvcCI/YS5vdXRlckhlaWdodCh7bWFyZ2luOnRydWV9KS8zOmEub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9KS8KMyk7aWYoaD09InNob3ciKWEuY3NzKCJvcGFjaXR5IiwwKS5jc3MoZixkPT0icG9zIj8tYzpjKTtpZihoPT0iaGlkZSIpYy89bSoyO2ghPSJoaWRlIiYmbS0tO2lmKGg9PSJzaG93Iil7dmFyIGc9e29wYWNpdHk6MX07Z1tmXT0oZD09InBvcyI/Iis9IjoiLT0iKStjO2EuYW5pbWF0ZShnLGkvMixiLm9wdGlvbnMuZWFzaW5nKTtjLz0yO20tLX1mb3IoZz0wO2c8bTtnKyspe3ZhciBqPXt9LGs9e307altmXT0oZD09InBvcyI/Ii09IjoiKz0iKStjO2tbZl09KGQ9PSJwb3MiPyIrPSI6Ii09IikrYzthLmFuaW1hdGUoaixpLzIsYi5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShrLGkvMixiLm9wdGlvbnMuZWFzaW5nKTtjPWg9PSJoaWRlIj9jKjI6Yy8yfWlmKGg9PSJoaWRlIil7Zz17b3BhY2l0eTowfTtnW2ZdPShkPT0icG9zIj8iLT0iOiIrPSIpK2M7YS5hbmltYXRlKGcsaS8yLGIub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthLmhpZGUoKTtlLmVmZmVjdHMucmVzdG9yZShhLGwpO2UuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEpOwpiLmNhbGxiYWNrJiZiLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfWVsc2V7aj17fTtrPXt9O2pbZl09KGQ9PSJwb3MiPyItPSI6Iis9IikrYztrW2ZdPShkPT0icG9zIj8iKz0iOiItPSIpK2M7YS5hbmltYXRlKGosaS8yLGIub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoayxpLzIsYi5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2UuZWZmZWN0cy5yZXN0b3JlKGEsbCk7ZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYmYi5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1hLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXthLmRlcXVldWUoKX0pO2EuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIENsaXAgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvQ2xpcAogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oYil7Yi5lZmZlY3RzLmNsaXA9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1iKHRoaXMpLGk9WyJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJoZWlnaHQiLCJ3aWR0aCJdLGY9Yi5lZmZlY3RzLnNldE1vZGUoYSxlLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxjPWUub3B0aW9ucy5kaXJlY3Rpb258fCJ2ZXJ0aWNhbCI7Yi5lZmZlY3RzLnNhdmUoYSxpKTthLnNob3coKTt2YXIgZD1iLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihhKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSk7ZD1hWzBdLnRhZ05hbWU9PSJJTUciP2Q6YTt2YXIgZz17c2l6ZTpjPT0idmVydGljYWwiPyJoZWlnaHQiOiJ3aWR0aCIscG9zaXRpb246Yz09InZlcnRpY2FsIj8idG9wIjoibGVmdCJ9O2M9Yz09InZlcnRpY2FsIj9kLmhlaWdodCgpOmQud2lkdGgoKTtpZihmPT0ic2hvdyIpe2QuY3NzKGcuc2l6ZSwwKTtkLmNzcyhnLnBvc2l0aW9uLGMvMil9dmFyIGg9e307aFtnLnNpemVdPQpmPT0ic2hvdyI/YzowO2hbZy5wb3NpdGlvbl09Zj09InNob3ciPzA6Yy8yO2QuYW5pbWF0ZShoLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjplLmR1cmF0aW9uLGVhc2luZzplLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Zj09ImhpZGUiJiZhLmhpZGUoKTtiLmVmZmVjdHMucmVzdG9yZShhLGkpO2IuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEpO2UuY2FsbGJhY2smJmUuY2FsbGJhY2suYXBwbHkoYVswXSxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIERyb3AgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRHJvcAogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oYyl7Yy5lZmZlY3RzLmRyb3A9ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1jKHRoaXMpLGg9WyJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJvcGFjaXR5Il0sZT1jLmVmZmVjdHMuc2V0TW9kZShhLGQub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGI9ZC5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiO2MuZWZmZWN0cy5zYXZlKGEsaCk7YS5zaG93KCk7Yy5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYSk7dmFyIGY9Yj09InVwInx8Yj09ImRvd24iPyJ0b3AiOiJsZWZ0IjtiPWI9PSJ1cCJ8fGI9PSJsZWZ0Ij8icG9zIjoibmVnIjt2YXIgZz1kLm9wdGlvbnMuZGlzdGFuY2V8fChmPT0idG9wIj9hLm91dGVySGVpZ2h0KHttYXJnaW46dHJ1ZX0pLzI6YS5vdXRlcldpZHRoKHttYXJnaW46dHJ1ZX0pLzIpO2lmKGU9PSJzaG93IilhLmNzcygib3BhY2l0eSIsMCkuY3NzKGYsYj09InBvcyI/LWc6Zyk7dmFyIGk9e29wYWNpdHk6ZT09InNob3ciPzE6CjB9O2lbZl09KGU9PSJzaG93Ij9iPT0icG9zIj8iKz0iOiItPSI6Yj09InBvcyI/Ii09IjoiKz0iKStnO2EuYW5pbWF0ZShpLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpkLmR1cmF0aW9uLGVhc2luZzpkLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZT09ImhpZGUiJiZhLmhpZGUoKTtjLmVmZmVjdHMucmVzdG9yZShhLGgpO2MuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEpO2QuY2FsbGJhY2smJmQuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEV4cGxvZGUgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRXhwbG9kZQogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oail7ai5lZmZlY3RzLmV4cGxvZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYz1hLm9wdGlvbnMucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KGEub3B0aW9ucy5waWVjZXMpKTozLGQ9YS5vcHRpb25zLnBpZWNlcz9NYXRoLnJvdW5kKE1hdGguc3FydChhLm9wdGlvbnMucGllY2VzKSk6MzthLm9wdGlvbnMubW9kZT1hLm9wdGlvbnMubW9kZT09InRvZ2dsZSI/aih0aGlzKS5pcygiOnZpc2libGUiKT8iaGlkZSI6InNob3ciOmEub3B0aW9ucy5tb2RlO3ZhciBiPWoodGhpcykuc2hvdygpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLGc9Yi5vZmZzZXQoKTtnLnRvcC09cGFyc2VJbnQoYi5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MDtnLmxlZnQtPXBhcnNlSW50KGIuY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwO2Zvcih2YXIgaD1iLm91dGVyV2lkdGgodHJ1ZSksaT1iLm91dGVySGVpZ2h0KHRydWUpLGU9MDtlPGM7ZSsrKWZvcih2YXIgZj0KMDtmPGQ7ZisrKWIuY2xvbmUoKS5hcHBlbmRUbygiYm9keSIpLndyYXAoIjxkaXY+PC9kaXY+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6InZpc2libGUiLGxlZnQ6LWYqKGgvZCksdG9wOi1lKihpL2MpfSkucGFyZW50KCkuYWRkQ2xhc3MoInVpLWVmZmVjdHMtZXhwbG9kZSIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDpoL2QsaGVpZ2h0OmkvYyxsZWZ0OmcubGVmdCtmKihoL2QpKyhhLm9wdGlvbnMubW9kZT09InNob3ciPyhmLU1hdGguZmxvb3IoZC8yKSkqKGgvZCk6MCksdG9wOmcudG9wK2UqKGkvYykrKGEub3B0aW9ucy5tb2RlPT0ic2hvdyI/KGUtTWF0aC5mbG9vcihjLzIpKSooaS9jKTowKSxvcGFjaXR5OmEub3B0aW9ucy5tb2RlPT0ic2hvdyI/MDoxfSkuYW5pbWF0ZSh7bGVmdDpnLmxlZnQrZiooaC9kKSsoYS5vcHRpb25zLm1vZGU9PSJzaG93Ij8wOihmLU1hdGguZmxvb3IoZC8yKSkqKGgvZCkpLHRvcDpnLnRvcCsKZSooaS9jKSsoYS5vcHRpb25zLm1vZGU9PSJzaG93Ij8wOihlLU1hdGguZmxvb3IoYy8yKSkqKGkvYykpLG9wYWNpdHk6YS5vcHRpb25zLm1vZGU9PSJzaG93Ij8xOjB9LGEuZHVyYXRpb258fDUwMCk7c2V0VGltZW91dChmdW5jdGlvbigpe2Eub3B0aW9ucy5tb2RlPT0ic2hvdyI/Yi5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSk6Yi5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSkuaGlkZSgpO2EuY2FsbGJhY2smJmEuY2FsbGJhY2suYXBwbHkoYlswXSk7Yi5kZXF1ZXVlKCk7aigiZGl2LnVpLWVmZmVjdHMtZXhwbG9kZSIpLnJlbW92ZSgpfSxhLmR1cmF0aW9ufHw1MDApfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEZvbGQgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvRm9sZAogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oYyl7Yy5lZmZlY3RzLmZvbGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYj1jKHRoaXMpLGo9WyJwb3NpdGlvbiIsInRvcCIsImxlZnQiXSxkPWMuZWZmZWN0cy5zZXRNb2RlKGIsYS5vcHRpb25zLm1vZGV8fCJoaWRlIiksZz1hLm9wdGlvbnMuc2l6ZXx8MTUsaD0hIWEub3B0aW9ucy5ob3JpekZpcnN0LGs9YS5kdXJhdGlvbj9hLmR1cmF0aW9uLzI6Yy5meC5zcGVlZHMuX2RlZmF1bHQvMjtjLmVmZmVjdHMuc2F2ZShiLGopO2Iuc2hvdygpO3ZhciBlPWMuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGIpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxmPWQ9PSJzaG93IiE9aCxsPWY/WyJ3aWR0aCIsImhlaWdodCJdOlsiaGVpZ2h0Iiwid2lkdGgiXTtmPWY/W2Uud2lkdGgoKSxlLmhlaWdodCgpXTpbZS5oZWlnaHQoKSxlLndpZHRoKCldO3ZhciBpPS8oWzAtOV0rKSUvLmV4ZWMoZyk7aWYoaSlnPXBhcnNlSW50KGlbMV0sMTApLzEwMCoKZltkPT0iaGlkZSI/MDoxXTtpZihkPT0ic2hvdyIpZS5jc3MoaD97aGVpZ2h0OjAsd2lkdGg6Z306e2hlaWdodDpnLHdpZHRoOjB9KTtoPXt9O2k9e307aFtsWzBdXT1kPT0ic2hvdyI/ZlswXTpnO2lbbFsxXV09ZD09InNob3ciP2ZbMV06MDtlLmFuaW1hdGUoaCxrLGEub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoaSxrLGEub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtkPT0iaGlkZSImJmIuaGlkZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGIsaik7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYik7YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseShiWzBdLGFyZ3VtZW50cyk7Yi5kZXF1ZXVlKCl9KX0pfX0pKGpRdWVyeSk7CjsvKgogKiBqUXVlcnkgVUkgRWZmZWN0cyBIaWdobGlnaHQgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvSGlnaGxpZ2h0CiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS5lZmZlY3RzLmNvcmUuanMKICovCihmdW5jdGlvbihiKXtiLmVmZmVjdHMuaGlnaGxpZ2h0PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGE9Yih0aGlzKSxlPVsiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZENvbG9yIiwib3BhY2l0eSJdLGQ9Yi5lZmZlY3RzLnNldE1vZGUoYSxjLm9wdGlvbnMubW9kZXx8InNob3ciKSxmPXtiYWNrZ3JvdW5kQ29sb3I6YS5jc3MoImJhY2tncm91bmRDb2xvciIpfTtpZihkPT0iaGlkZSIpZi5vcGFjaXR5PTA7Yi5lZmZlY3RzLnNhdmUoYSxlKTthLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFja2dyb3VuZENvbG9yOmMub3B0aW9ucy5jb2xvcnx8IiNmZmZmOTkifSkuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZD09ImhpZGUiJiZhLmhpZGUoKTtiLmVmZmVjdHMucmVzdG9yZShhLGUpO2Q9PSJzaG93IiYmIWIuc3VwcG9ydC5vcGFjaXR5JiYKdGhpcy5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIFB1bHNhdGUgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvUHVsc2F0ZQogKgogKiBEZXBlbmRzOgogKglqcXVlcnkuZWZmZWN0cy5jb3JlLmpzCiAqLwooZnVuY3Rpb24oZCl7ZC5lZmZlY3RzLnB1bHNhdGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYj1kKHRoaXMpLGM9ZC5lZmZlY3RzLnNldE1vZGUoYixhLm9wdGlvbnMubW9kZXx8InNob3ciKTt0aW1lcz0oYS5vcHRpb25zLnRpbWVzfHw1KSoyLTE7ZHVyYXRpb249YS5kdXJhdGlvbj9hLmR1cmF0aW9uLzI6ZC5meC5zcGVlZHMuX2RlZmF1bHQvMjtpc1Zpc2libGU9Yi5pcygiOnZpc2libGUiKTthbmltYXRlVG89MDtpZighaXNWaXNpYmxlKXtiLmNzcygib3BhY2l0eSIsMCkuc2hvdygpO2FuaW1hdGVUbz0xfWlmKGM9PSJoaWRlIiYmaXNWaXNpYmxlfHxjPT0ic2hvdyImJiFpc1Zpc2libGUpdGltZXMtLTtmb3IoYz0wO2M8dGltZXM7YysrKXtiLmFuaW1hdGUoe29wYWNpdHk6YW5pbWF0ZVRvfSxkdXJhdGlvbixhLm9wdGlvbnMuZWFzaW5nKTthbmltYXRlVG89KGFuaW1hdGVUbysxKSUyfWIuYW5pbWF0ZSh7b3BhY2l0eTphbmltYXRlVG99LGR1cmF0aW9uLAphLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7YW5pbWF0ZVRvPT0wJiZiLmhpZGUoKTthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO2IucXVldWUoImZ4IixmdW5jdGlvbigpe2IuZGVxdWV1ZSgpfSkuZGVxdWV1ZSgpfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIFNjYWxlIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL1NjYWxlCiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS5lZmZlY3RzLmNvcmUuanMKICovCihmdW5jdGlvbihjKXtjLmVmZmVjdHMucHVmZj1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksZT1jLmVmZmVjdHMuc2V0TW9kZShhLGIub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9cGFyc2VJbnQoYi5vcHRpb25zLnBlcmNlbnQsMTApfHwxNTAsaD1nLzEwMCxpPXtoZWlnaHQ6YS5oZWlnaHQoKSx3aWR0aDphLndpZHRoKCl9O2MuZXh0ZW5kKGIub3B0aW9ucyx7ZmFkZTp0cnVlLG1vZGU6ZSxwZXJjZW50OmU9PSJoaWRlIj9nOjEwMCxmcm9tOmU9PSJoaWRlIj9pOntoZWlnaHQ6aS5oZWlnaHQqaCx3aWR0aDppLndpZHRoKmh9fSk7YS5lZmZlY3QoInNjYWxlIixiLm9wdGlvbnMsYi5kdXJhdGlvbixiLmNhbGxiYWNrKTthLmRlcXVldWUoKX0pfTtjLmVmZmVjdHMuc2NhbGU9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1jKHRoaXMpLGU9Yy5leHRlbmQodHJ1ZSx7fSxiLm9wdGlvbnMpLGc9Yy5lZmZlY3RzLnNldE1vZGUoYSwKYi5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKSxoPXBhcnNlSW50KGIub3B0aW9ucy5wZXJjZW50LDEwKXx8KHBhcnNlSW50KGIub3B0aW9ucy5wZXJjZW50LDEwKT09MD8wOmc9PSJoaWRlIj8wOjEwMCksaT1iLm9wdGlvbnMuZGlyZWN0aW9ufHwiYm90aCIsZj1iLm9wdGlvbnMub3JpZ2luO2lmKGchPSJlZmZlY3QiKXtlLm9yaWdpbj1mfHxbIm1pZGRsZSIsImNlbnRlciJdO2UucmVzdG9yZT10cnVlfWY9e2hlaWdodDphLmhlaWdodCgpLHdpZHRoOmEud2lkdGgoKX07YS5mcm9tPWIub3B0aW9ucy5mcm9tfHwoZz09InNob3ciP3toZWlnaHQ6MCx3aWR0aDowfTpmKTtoPXt5OmkhPSJob3Jpem9udGFsIj9oLzEwMDoxLHg6aSE9InZlcnRpY2FsIj9oLzEwMDoxfTthLnRvPXtoZWlnaHQ6Zi5oZWlnaHQqaC55LHdpZHRoOmYud2lkdGgqaC54fTtpZihiLm9wdGlvbnMuZmFkZSl7aWYoZz09InNob3ciKXthLmZyb20ub3BhY2l0eT0wO2EudG8ub3BhY2l0eT0xfWlmKGc9PSJoaWRlIil7YS5mcm9tLm9wYWNpdHk9CjE7YS50by5vcGFjaXR5PTB9fWUuZnJvbT1hLmZyb207ZS50bz1hLnRvO2UubW9kZT1nO2EuZWZmZWN0KCJzaXplIixlLGIuZHVyYXRpb24sYi5jYWxsYmFjayk7YS5kZXF1ZXVlKCl9KX07Yy5lZmZlY3RzLnNpemU9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYT1jKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGc9WyJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJvdmVyZmxvdyIsIm9wYWNpdHkiXSxoPVsid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyJdLGk9WyJmb250U2l6ZSJdLGY9WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxrPVsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0scD1jLmVmZmVjdHMuc2V0TW9kZShhLApiLm9wdGlvbnMubW9kZXx8ImVmZmVjdCIpLG49Yi5vcHRpb25zLnJlc3RvcmV8fGZhbHNlLG09Yi5vcHRpb25zLnNjYWxlfHwiYm90aCIsbD1iLm9wdGlvbnMub3JpZ2luLGo9e2hlaWdodDphLmhlaWdodCgpLHdpZHRoOmEud2lkdGgoKX07YS5mcm9tPWIub3B0aW9ucy5mcm9tfHxqO2EudG89Yi5vcHRpb25zLnRvfHxqO2lmKGwpe2w9Yy5lZmZlY3RzLmdldEJhc2VsaW5lKGwsaik7YS5mcm9tLnRvcD0oai5oZWlnaHQtYS5mcm9tLmhlaWdodCkqbC55O2EuZnJvbS5sZWZ0PShqLndpZHRoLWEuZnJvbS53aWR0aCkqbC54O2EudG8udG9wPShqLmhlaWdodC1hLnRvLmhlaWdodCkqbC55O2EudG8ubGVmdD0oai53aWR0aC1hLnRvLndpZHRoKSpsLnh9dmFyIGQ9e2Zyb206e3k6YS5mcm9tLmhlaWdodC9qLmhlaWdodCx4OmEuZnJvbS53aWR0aC9qLndpZHRofSx0bzp7eTphLnRvLmhlaWdodC9qLmhlaWdodCx4OmEudG8ud2lkdGgvai53aWR0aH19O2lmKG09PSJib3gifHxtPT0iYm90aCIpe2lmKGQuZnJvbS55IT0KZC50by55KXtlPWUuY29uY2F0KGYpO2EuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihhLGYsZC5mcm9tLnksYS5mcm9tKTthLnRvPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsZixkLnRvLnksYS50byl9aWYoZC5mcm9tLnghPWQudG8ueCl7ZT1lLmNvbmNhdChrKTthLmZyb209Yy5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxrLGQuZnJvbS54LGEuZnJvbSk7YS50bz1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihhLGssZC50by54LGEudG8pfX1pZihtPT0iY29udGVudCJ8fG09PSJib3RoIilpZihkLmZyb20ueSE9ZC50by55KXtlPWUuY29uY2F0KGkpO2EuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihhLGksZC5mcm9tLnksYS5mcm9tKTthLnRvPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsaSxkLnRvLnksYS50byl9Yy5lZmZlY3RzLnNhdmUoYSxuP2U6Zyk7YS5zaG93KCk7Yy5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYSk7YS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIikuY3NzKGEuZnJvbSk7CmlmKG09PSJjb250ZW50Inx8bT09ImJvdGgiKXtmPWYuY29uY2F0KFsibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIl0pLmNvbmNhdChpKTtrPWsuY29uY2F0KFsibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Il0pO2g9ZS5jb25jYXQoZikuY29uY2F0KGspO2EuZmluZCgiKlt3aWR0aF0iKS5lYWNoKGZ1bmN0aW9uKCl7Y2hpbGQ9Yyh0aGlzKTtuJiZjLmVmZmVjdHMuc2F2ZShjaGlsZCxoKTt2YXIgbz17aGVpZ2h0OmNoaWxkLmhlaWdodCgpLHdpZHRoOmNoaWxkLndpZHRoKCl9O2NoaWxkLmZyb209e2hlaWdodDpvLmhlaWdodCpkLmZyb20ueSx3aWR0aDpvLndpZHRoKmQuZnJvbS54fTtjaGlsZC50bz17aGVpZ2h0Om8uaGVpZ2h0KmQudG8ueSx3aWR0aDpvLndpZHRoKmQudG8ueH07aWYoZC5mcm9tLnkhPWQudG8ueSl7Y2hpbGQuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxmLGQuZnJvbS55LGNoaWxkLmZyb20pO2NoaWxkLnRvPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGNoaWxkLApmLGQudG8ueSxjaGlsZC50byl9aWYoZC5mcm9tLnghPWQudG8ueCl7Y2hpbGQuZnJvbT1jLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihjaGlsZCxrLGQuZnJvbS54LGNoaWxkLmZyb20pO2NoaWxkLnRvPWMuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGNoaWxkLGssZC50by54LGNoaWxkLnRvKX1jaGlsZC5jc3MoY2hpbGQuZnJvbSk7Y2hpbGQuYW5pbWF0ZShjaGlsZC50byxiLmR1cmF0aW9uLGIub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtuJiZjLmVmZmVjdHMucmVzdG9yZShjaGlsZCxoKX0pfSl9YS5hbmltYXRlKGEudG8se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmIuZHVyYXRpb24sZWFzaW5nOmIub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXthLnRvLm9wYWNpdHk9PT0wJiZhLmNzcygib3BhY2l0eSIsYS5mcm9tLm9wYWNpdHkpO3A9PSJoaWRlIiYmYS5oaWRlKCk7Yy5lZmZlY3RzLnJlc3RvcmUoYSxuP2U6Zyk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7Yi5jYWxsYmFjayYmCmIuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2EuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKOy8qCiAqIGpRdWVyeSBVSSBFZmZlY3RzIFNoYWtlIDEuOC40CiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9FZmZlY3RzL1NoYWtlCiAqCiAqIERlcGVuZHM6CiAqCWpxdWVyeS5lZmZlY3RzLmNvcmUuanMKICovCihmdW5jdGlvbihkKXtkLmVmZmVjdHMuc2hha2U9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgYj1kKHRoaXMpLGo9WyJwb3NpdGlvbiIsInRvcCIsImxlZnQiXTtkLmVmZmVjdHMuc2V0TW9kZShiLGEub3B0aW9ucy5tb2RlfHwiZWZmZWN0Iik7dmFyIGM9YS5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiLGU9YS5vcHRpb25zLmRpc3RhbmNlfHwyMCxsPWEub3B0aW9ucy50aW1lc3x8MyxmPWEuZHVyYXRpb258fGEub3B0aW9ucy5kdXJhdGlvbnx8MTQwO2QuZWZmZWN0cy5zYXZlKGIsaik7Yi5zaG93KCk7ZC5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoYik7dmFyIGc9Yz09InVwInx8Yz09ImRvd24iPyJ0b3AiOiJsZWZ0IixoPWM9PSJ1cCJ8fGM9PSJsZWZ0Ij8icG9zIjoibmVnIjtjPXt9O3ZhciBpPXt9LGs9e307Y1tnXT0oaD09InBvcyI/Ii09IjoiKz0iKStlO2lbZ109KGg9PSJwb3MiPyIrPSI6Ii09IikrZSoyO2tbZ109KGg9PSJwb3MiPyItPSI6Iis9IikrCmUqMjtiLmFuaW1hdGUoYyxmLGEub3B0aW9ucy5lYXNpbmcpO2ZvcihlPTE7ZTxsO2UrKyliLmFuaW1hdGUoaSxmLGEub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUoayxmLGEub3B0aW9ucy5lYXNpbmcpO2IuYW5pbWF0ZShpLGYsYS5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShjLGYvMixhLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7ZC5lZmZlY3RzLnJlc3RvcmUoYixqKTtkLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihiKTthLmNhbGxiYWNrJiZhLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO2IucXVldWUoImZ4IixmdW5jdGlvbigpe2IuZGVxdWV1ZSgpfSk7Yi5kZXF1ZXVlKCl9KX19KShqUXVlcnkpOwo7LyoKICogalF1ZXJ5IFVJIEVmZmVjdHMgU2xpZGUgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvU2xpZGUKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcwogKi8KKGZ1bmN0aW9uKGMpe2MuZWZmZWN0cy5zbGlkZT1mdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBhPWModGhpcyksaD1bInBvc2l0aW9uIiwidG9wIiwibGVmdCJdLGU9Yy5lZmZlY3RzLnNldE1vZGUoYSxkLm9wdGlvbnMubW9kZXx8InNob3ciKSxiPWQub3B0aW9ucy5kaXJlY3Rpb258fCJsZWZ0IjtjLmVmZmVjdHMuc2F2ZShhLGgpO2Euc2hvdygpO2MuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KTt2YXIgZj1iPT0idXAifHxiPT0iZG93biI/InRvcCI6ImxlZnQiO2I9Yj09InVwInx8Yj09ImxlZnQiPyJwb3MiOiJuZWciO3ZhciBnPWQub3B0aW9ucy5kaXN0YW5jZXx8KGY9PSJ0b3AiP2Eub3V0ZXJIZWlnaHQoe21hcmdpbjp0cnVlfSk6YS5vdXRlcldpZHRoKHttYXJnaW46dHJ1ZX0pKTtpZihlPT0ic2hvdyIpYS5jc3MoZixiPT0icG9zIj8tZzpnKTt2YXIgaT17fTtpW2ZdPShlPT0ic2hvdyI/Yj09InBvcyI/CiIrPSI6Ii09IjpiPT0icG9zIj8iLT0iOiIrPSIpK2c7YS5hbmltYXRlKGkse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzaW5nOmQub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtlPT0iaGlkZSImJmEuaGlkZSgpO2MuZWZmZWN0cy5yZXN0b3JlKGEsaCk7Yy5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoYSk7ZC5jYWxsYmFjayYmZC5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwo7LyoKICogalF1ZXJ5IFVJIEVmZmVjdHMgVHJhbnNmZXIgMS44LjQKICoKICogQ29weXJpZ2h0IDIwMTAsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0VmZmVjdHMvVHJhbnNmZXIKICoKICogRGVwZW5kczoKICoJanF1ZXJ5LmVmZmVjdHMuY29yZS5qcwogKi8KKGZ1bmN0aW9uKGUpe2UuZWZmZWN0cy50cmFuc2Zlcj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBiPWUodGhpcyksYz1lKGEub3B0aW9ucy50byksZD1jLm9mZnNldCgpO2M9e3RvcDpkLnRvcCxsZWZ0OmQubGVmdCxoZWlnaHQ6Yy5pbm5lckhlaWdodCgpLHdpZHRoOmMuaW5uZXJXaWR0aCgpfTtkPWIub2Zmc2V0KCk7dmFyIGY9ZSgnPGRpdiBjbGFzcz0idWktZWZmZWN0cy10cmFuc2ZlciI+PC9kaXY+JykuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoYS5vcHRpb25zLmNsYXNzTmFtZSkuY3NzKHt0b3A6ZC50b3AsbGVmdDpkLmxlZnQsaGVpZ2h0OmIuaW5uZXJIZWlnaHQoKSx3aWR0aDpiLmlubmVyV2lkdGgoKSxwb3NpdGlvbjoiYWJzb2x1dGUifSkuYW5pbWF0ZShjLGEuZHVyYXRpb24sYS5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2YucmVtb3ZlKCk7YS5jYWxsYmFjayYmYS5jYWxsYmFjay5hcHBseShiWzBdLGFyZ3VtZW50cyk7CmIuZGVxdWV1ZSgpfSl9KX19KShqUXVlcnkpOwo7]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/content_2.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkFqYXggY29udGVudCAyPC9oMz4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3JhcyB0b3J0b3IgZXN0LCBkaWduaXNzaW0gbm9uLCBlbGVpZmVuZCBzZWQsIHNjZWxlcmlzcXVlIGluLCBvZGlvLiBOdW5jIGZhdWNpYnVzLiBQZWxsZW50ZXNxdWUgc3VzY2lwaXQgY29uc2VxdWF0IGF1Z3VlLiBRdWlzcXVlIHF1YW0uIFNlZCBydXRydW0gc2FnaXR0aXMgcXVhbS4gTW9yYmkgZW5pbSBhcmN1LCBmcmluZ2lsbGEgYWMsIGNvbmd1ZSBldSwgc2FnaXR0aXMgdml0YWUsIGFudGUuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIER1aXMgZXUgcGVkZSBhIHNlbSBjb25zZXF1YXQgY29uZ3VlLiBVdCBiaWJlbmR1bSwgbG9yZW0gaW4gbGFvcmVldCByaG9uY3VzLCBsZWN0dXMgbmVxdWUgdnVscHV0YXRlIGxlY3R1cywgaW4gcmhvbmN1cyBsZW8gdHVycGlzIHZpdGFlIHNhcGllbi4gRG9uZWMgZnJpbmdpbGxhLCB0dXJwaXMgc2VkIGx1Y3R1cyBydXRydW0sIGlwc3VtIGxpYmVybyB1bHRyaWNlcyB0b3J0b3IsIGV0IHRyaXN0aXF1ZSByaXN1cyBudW5jIHBoYXJldHJhIGVsaXQuIE1vcmJpIG1vbGxpcyBtYXR0aXMgbWV0dXMuIE51bGxhIGZhY2lsaXNpLiBOdW5jIG5pc2kuIEludGVnZXIgaW4gbWF1cmlzLiBJbnRlZ2VyIG1hc3NhIHF1YW0sIHVsdHJpY2llcyBldSwgdWxsYW1jb3JwZXIgbm9uLCBhZGlwaXNjaW5nIGFjLCBkb2xvci4KRG9uZWMgcHJldGl1bSBldWlzbW9kIG5pYmguIFByYWVzZW50IGVnZXQgbGliZXJvIHF1aXMgZXJvcyBmYWNpbGlzaXMgYmliZW5kdW0uIFByb2luIGV1IHNlbS4gTW9yYmkgdmVsaXQuIEN1cmFiaXR1ciBwb3J0YSBqdXN0byBpbXBlcmRpZXQgbWV0dXMuIEludGVnZXIgdGluY2lkdW50IHZ1bHB1dGF0ZSBtYXNzYS4gQ3JhcyBuaXNpLiBNYWVjZW5hcyBibGFuZGl0IHNhZ2l0dGlzIGxpYmVyby4gUGhhc2VsbHVzIGp1c3RvIG1hc3NhLCB1bGxhbWNvcnBlciBpZCwgbWFsZXN1YWRhIGVnZXQsIGJpYmVuZHVtIGF0LCBtYWduYS4gQ3VyYWJpdHVyIG9kaW8uIE1hdXJpcyBtYXVyaXMuIFF1aXNxdWUgbW9sZXN0aWUgZW5pbSB1dCBxdWFtLiBBZW5lYW4gZW5pbSBxdWFtLCB2aXZlcnJhIHZlbCwgdGluY2lkdW50IHRyaXN0aXF1ZSwgY29uZGltZW50dW0gaW4sIHB1cnVzLiBWaXZhbXVzIGRpZ25pc3NpbSwgZmVsaXMgZXUgY29uZ3VlIHRpbmNpZHVudCwgc2FwaWVuIGxpZ3VsYSBzb2RhbGVzIG5pc2ksIGFjIGx1Y3R1cyBlbGl0IG5pYmggc2VkIGxlY3R1cy4gSW4gdGVsbHVzIGVzdCwgYmliZW5kdW0gYWMsIGF1Y3RvciBuZWMsIGNvbmRpbWVudHVtIGFjLCBxdWFtLgpQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy4gTW9yYmkgZ3JhdmlkYSwgbmliaCBlZ2V0IHRpbmNpZHVudCBjb25zZXF1YXQsIGVyb3MgdG9ydG9yIHRpbmNpZHVudCBkaWFtLCBuZWMgZmV1Z2lhdCBuZXF1ZSBtZXR1cyBhIHR1cnBpcy4gUXVpc3F1ZSBhYyBwdXJ1cy4gTW9yYmkgc2FnaXR0aXMgZmV1Z2lhdCBkaWFtLiBNYXVyaXMgbGliZXJvLiBWaXZhbXVzIGNvbmRpbWVudHVtIG9ybmFyZSBmZWxpcy4gU3VzcGVuZGlzc2UgcG90ZW50aS4gTW9yYmkgZXQgZXN0LiBQcmFlc2VudCBlc3QgaXBzdW0sIHRpbmNpZHVudCBpbiwgc3VzY2lwaXQgdXQsIHNlbXBlciBub24sIHB1cnVzLiBOdWxsYSBhYyBmZWxpcy4gUXVpc3F1ZSB2ZWhpY3VsYS4gRnVzY2UgZXVpc21vZCBzYXBpZW4gYWMgdGVsbHVzLiBWaXZhbXVzIGNvbnNlcXVhdCBsaWd1bGEgZXQgbmliaCBsdWN0dXMgcGVsbGVudGVzcXVlLiBEdWlzIGF0IHNhcGllbiBhYyByaXN1cyBzdXNjaXBpdCBwdWx2aW5hci4gTW9yYmkgdmVzdGlidWx1bSByaXN1cyB2aXRhZSBuaWJoLiBQcm9pbiBjb252YWxsaXMgY29uZGltZW50dW0gdGVsbHVzLiBDcmFzIG5lYyBhcmN1IHZpdGFlIGZlbGlzIG1hbGVzdWFkYSB0ZW1wb3IuIE51bGxhbSBzdXNjaXBpdCBhdWd1ZSBhIHR1cnBpcy4gRXRpYW0gY3Vyc3VzIGNvbnNlY3RldHVyIG1ldHVzLgpJbiB2ZW5lbmF0aXMuIEFlbmVhbiB0cmlzdGlxdWUgZnJpbmdpbGxhIGVuaW0uIENyYXMgZXQgYXVndWUuIFByYWVzZW50IGEgdXJuYS4gQ3JhcyBjb252YWxsaXMgcG9ydGEgb2Rpby4gRG9uZWMgbGFjaW5pYSBuaXNpIGV1IG9yY2kuIEFsaXF1YW0gdmVzdGlidWx1bSBjb252YWxsaXMgb2Rpby4gU2VkIGR1aSBsZWN0dXMsIHRpbmNpZHVudCBxdWlzLCBhdWN0b3IgYXQsIGF1Y3RvciB1dCwgbGFjdXMuIFN1c3BlbmRpc3NlIHBvdGVudGkuIFNlZCBxdWlzIGVuaW0uIEFlbmVhbiBpbiBlcmF0LiBWZXN0aWJ1bHVtIGFkaXBpc2NpbmcuIE51bGxhbSBhbGlxdWFtLiBBbGlxdWFtIGN1cnN1cyBmZXJtZW50dW0gZXJhdC4gTnVuYyBibGFuZGl0IGxhY2luaWEgdHVycGlzLiBRdWlzcXVlIHF1YW0gZmVsaXMsIHZhcml1cyBxdWlzLCBpYWN1bGlzIGlkLCB2dWxwdXRhdGUgdmVsLCB2ZWxpdC4gQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLgpFdGlhbSBpbnRlcmR1bSBpbXBlcmRpZXQgcGVkZS4gTWFlY2VuYXMgcnV0cnVtIHZpdmVycmEgYXJjdS4gTnVsbGEgcGVsbGVudGVzcXVlLiBOdW5jIHF1aXMgbGFjdXMgbmVjIG5pc2kgZWxlbWVudHVtIGxhb3JlZXQuIFNlZCByaG9uY3VzIGZldWdpYXQgZHVpLiBDcmFzIGRpZ25pc3NpbS4gUGhhc2VsbHVzIHBvc3VlcmUgdnVscHV0YXRlIGxvcmVtLiBJbnRlZ2VyIGFjY3Vtc2FuIHB1bHZpbmFyIHNlbS4gTWF1cmlzIGV1aXNtb2QgZWdlc3RhcyBtYXNzYS4gTWFlY2VuYXMgdmFyaXVzIHNhZ2l0dGlzIGF1Z3VlLiBVdCBsYWNpbmlhIHNvbGxpY2l0dWRpbiBlcmF0LiBQcmFlc2VudCBlc3QgZWxpdCwgaW1wZXJkaWV0IGV0LCBhZGlwaXNjaW5nIG5lYywgc3VzY2lwaXQgYSwgbmVxdWUuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBDdXJhYml0dXIgc29sbGljaXR1ZGluLiBTZWQgb3JuYXJlIHBlbGxlbnRlc3F1ZSBlcmF0LiBGdXNjZSB0dXJwaXMgZGlhbSwgdGVtcHVzIHNlZCwgY29tbW9kbyBkaWduaXNzaW0sIGJsYW5kaXQgdmVsLCBtYXNzYS4gVml2YW11cyBldCBhdWd1ZS4gU2VkIGxhb3JlZXQganVzdG8gaW4gYXVndWUuCg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/css/mbTabset.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ym9keXtiYWNrZ3JvdW5kOnVybCguLi8uLi8uLi9pbWFnZXMvYmduZHMvc2NyZWVuQmduZC5naWYpfQoud3JhcHBlcnsKCXdpZHRoOjc1MHB4OwoJbWFyZ2luOmF1dG87Cn0KCi5tYlRhYnNldCAuaGFuZGxlcntwYWRkaW5nLXJpZ2h0OjVweDsgcG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWxlZnQ6LTVweH0KLm1iVGFic2V0e3doaXRlLXNwYWNlOm5vd3JhcDsgZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4O21hcmdpbi1ib3R0b206LTFweDsgZmxvYXQ6bGVmdH0KLm1iVGFic2V0IC5tYlRhYiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IGN1cnNvcjpwb2ludGVyOyBtaW4td2lkdGg6MTAwcHh9Ci5tYlRhYnNldCAubWJUYWIuZGlzYWJsZWQge2N1cnNvcjpkZWZhdWx0fQoubWJUYWJzZXQucmlnaHQge2Zsb2F0OnJpZ2h0fQoubWJUYWJzZXQgLm1iVGFiIGl7d2lkdGg6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDotN3B4OyBwYWRkaW5nLXJpZ2h0OjVweDsgbWFyZ2luLXJpZ2h0OjhweDsgY3Vyc29yOm1vdmV9Ci5tYlRhYnNldCAuZmxvYXRFbHtmbG9hdDpsZWZ0O30KLm1iVGFic2V0IGEubWJUYWIgewoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsKCWJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltYWdlcy9kZWZhdWx0L3RhYl9yaWdodC5wbmcnICk7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQgOwoJYmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgcmlnaHQ7Cgljb2xvcjogIzY2NjsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJZm9udDogbm9ybWFsIDEzcHggYXJpYWwsIHNhbnMtc2VyaWY7CgloZWlnaHQ6IDI4cHg7CgltYXJnaW4tcmlnaHQ6IDA7CglwYWRkaW5nLXJpZ2h0OiAxMnB4OwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgoubWJUYWJzZXQgYS5tYlRhYiBzcGFuIHsKCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7CgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWFnZXMvZGVmYXVsdC90YWIucG5nJyApOwoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0IDsKCWRpc3BsYXk6IGJsb2NrOwoJbGluZS1oZWlnaHQ6IDIxcHg7CglwYWRkaW5nOiAzcHggMCA0cHggMTBweDsKfQoKLm1iVGFic2V0IGEubWJUYWIgc3Bhbi5zb3J0YWJsZSB7CgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OwoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1hZ2VzL2RlZmF1bHQvdGFiX2dyZXAucG5nJyApOwoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0IDsKCWRpc3BsYXk6IGJsb2NrOwoJbGluZS1oZWlnaHQ6IDIxcHg7CglwYWRkaW5nOiAzcHggMCA0cHggMTBweDsKfQoKLm1iVGFic2V0IGEubWJUYWIgc3BhbiBpbWd7CgltYXJnaW4tbGVmdDotNXB4OwoJbWFyZ2luLXRvcDotMnB4OwoJcGFkZGluZy1yaWdodDo1cHg7Cn0KCi8qSE9WRVIqLwoubWJUYWJzZXQgYS5tYlRhYjpob3ZlciB7CgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWFnZXMvZGVmYXVsdC90YWJfcmlnaHRfaG92ZXIucG5nJyApOwoJY29sb3I6ICMwMDA7CglvdXRsaW5lOiBub25lOwp9CgoubWJUYWJzZXQgYS5tYlRhYjpob3ZlciBzcGFuIHsKCWJhY2tncm91bmQtaW1hZ2U6dXJsKCAnLi4vaW1hZ2VzL2RlZmF1bHQvdGFiX2hvdmVyLnBuZycpOwp9Ci5tYlRhYnNldCBhLm1iVGFiOmhvdmVyIHNwYW4uc29ydGFibGUgewoJYmFja2dyb3VuZC1pbWFnZTp1cmwoICcuLi9pbWFnZXMvZGVmYXVsdC90YWJfaG92ZXJfZ3JlcC5wbmcnKTsKfQoKLypTRUxFQ1RFRCovCi5tYlRhYnNldCBhLm1iVGFiLnNlbCB7CgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWFnZXMvZGVmYXVsdC90YWJfcmlnaHRfc2VsLnBuZycgKTsKCWNvbG9yOiAjMDAwOwoJb3V0bGluZTogbm9uZTsKfQoKLm1iVGFic2V0IGEubWJUYWIuc2VsIHNwYW4gewoJYmFja2dyb3VuZC1pbWFnZTp1cmwoICcuLi9pbWFnZXMvZGVmYXVsdC90YWJfc2VsLnBuZycpOwp9Ci5tYlRhYnNldCBhLm1iVGFiLnNlbCBzcGFuLnNvcnRhYmxlIHsKCWJhY2tncm91bmQtaW1hZ2U6dXJsKCAnLi4vaW1hZ2VzL2RlZmF1bHQvdGFiX3NlbF9ncmVwLnBuZycpOwp9CgovKkRJU0FCTEVEKi8KLm1iVGFic2V0IGEubWJUYWIuZGlzYWJsZWQgewoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1hZ2VzL2RlZmF1bHQvdGFiX3JpZ2h0LnBuZycgKTsKCWNvbG9yOiAjOTk5OwoJb3V0bGluZTogbm9uZTsKfQoKLm1iVGFic2V0IGEubWJUYWIuZGlzYWJsZWQgc3BhbiB7CgliYWNrZ3JvdW5kLWltYWdlOnVybCggJy4uL2ltYWdlcy9kZWZhdWx0L3RhYi5wbmcnKTsKfQoubWJUYWJzZXQgYS5tYlRhYi5kaXNhYmxlZCBzcGFuLnNvcnRhYmxlIHsKCWJhY2tncm91bmQtaW1hZ2U6dXJsKCAnLi4vaW1hZ2VzL2RlZmF1bHQvdGFiX2dyZXAucG5nJyk7Cn0KCi8qQ09OVEFJTkVSKi8KCi5tYlRhYnNldENvbnRhaW5lcnsKCXBhZGRpbmctdG9wOjEwcHg7Cgl3aWR0aDoxMDAlOwoJYmFja2dyb3VuZDojZmZmOwoJZm9udC1zaXplOjEzcHg7Cgktd2Via2l0LWJvcmRlci1yYWRpdXM6MTBweDsKCS1tb3otYm9yZGVyLXJhZGl1czoxMHB4OwoJYm9yZGVyLXJhZGl1czoxMHB4OwoJbWluLWhlaWdodDozNTBweDsKCWJvcmRlcjoxcHggc29saWQgZ3JheTsKCWNsZWFyOmJvdGg7Cn0KCi50YWJDb250ZW50ewoJcGFkZGluZzoxMHB4Owp9]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/demo.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCgk8dGl0bGU+c29ydCBURDwvdGl0bGU+DQoJPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIgLz4NCg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LWxhdGVzdC5qcyI+PC9zY3JpcHQ+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaW5jL3VpLmNvcmUubWluLmpzIj48L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJpbmMvdWkuc29ydGFibGUubWluLmpzIj48L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJpbmMvanF1ZXJ5Lm1ldGFkYXRhLmpzIj48L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJpbmMvbWJUYWJzZXQuanMiPjwvc2NyaXB0Pg0KDQoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iY3NzL21iVGFic2V0LmNzcyIgdGl0bGU9InN0eWxlIiAgbWVkaWE9InNjcmVlbiIvPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJJChmdW5jdGlvbigpew0KCQkJJCgiI3RhYnNldDEiKS5idWlsZE1iVGFic2V0KHsNCgkJCQljb250YWluZXI6InRhYnNldENvbnRhaW5lcl8xIiwNCgkJCQlzdG9wOmZ1bmN0aW9uKCl7aWYgKCQoIiNhcnJheSIpLmlzKCI6Y2hlY2tlZCIpKSBhbGVydCgkLm1iVGFic2V0Lm1iVGFic2V0QXJyYXkpfSwNCgkJCQlzb3J0YWJsZTp0cnVlDQoJCQl9KTsNCgkJCSQoIiN0YWJzZXQyIikuYnVpbGRNYlRhYnNldCh7DQoJCQkJY29udGFpbmVyOiJ0YWJzZXRDb250YWluZXJfMiIsDQoJCQkJc3RvcDpmdW5jdGlvbigpe2lmICgkKCIjYXJyYXkiKS5pcygiOmNoZWNrZWQiKSkgYWxlcnQoJC5tYlRhYnNldC5tYlRhYnNldEFycmF5KX0sDQoJCQkJc29ydGFibGU6ZmFsc2UsDQoJCQkJcG9zaXRpb246ImxlZnQiDQoJCQl9KTsNCgkJfSkNCgk8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojRkY2NjAwIHVybCguLi9jb21tb25zL2ltYWdlcy9oZWFkZXJfYmduZC5qcGcpOyBwYWRkaW5nOjEwcHgiPjxmb250IGNvbG9yPSIjZmZmZmZmIiBzaXplPSIrMyIgZmFjZT0iQ291cmllciBOZXcsIENvdXJpZXIsIG1vbm8iPiBtYlRhYnNldDwvZm9udD48L2Rpdj4NCjxwIHN0eWxlPSJiYWNrZ3JvdW5kOndoaXRlOyI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iYWxlcnQgc2VxLiIgaWQ9ImFycmF5Ii8+IGFsZXJ0IHRhYnMgc2VxdWVuY2U8L3A+DQo8YnIvPjxici8+DQo8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4NCgk8ZGl2IGNsYXNzPSJ0YWJzZXQiIGlkPSJ0YWJzZXQxIj4NCgkJPGEgaWQ9ImEiIGNsYXNzPSJ0YWIge2NvbnRlbnQ6J2NvbnRfMSd9Ij50YWIgMTwvYT48YSBpZD0iYiIgY2xhc3M9InRhYiB7Y29udGVudDonY29udF8yJywgYWpheENvbnRlbnQ6J2NvbnRlbnRfMi5odG1sJ30iICA+dGFiIDIgY29uIGNvbnRlbnV0byB2aWEgYWpheDwvYT48YSBpZD0iYyIgY2xhc3M9InRhYiBkaXNhYmxlZCB7Y29udGVudDonY29udF8zJ30iPnRhYiAzPC9hPjxhIGlkPSJkIiBjbGFzcz0idGFiIHtjb250ZW50Oidjb250XzQnfSIgPnRhYiA0PC9hPg0KCTwvZGl2Pg0KDQoJPCEtLWNvbnRlbnQgb2YgdGFic2V0ICJ0YWJzZXQxIi0tPg0KDQoJPGRpdiBpZD0iY29udF8zIj4NCgkJPGgzPmNvbnRlbnQgMzwvaDM+DQoJPC9kaXY+DQoJPGRpdiBpZD0iY29udF80Ij4NCgkJPGgzPmNvbnRlbnQgNDwvaDM+DQoJPC9kaXY+DQoNCg0KCTxkaXYgaWQ9ImNvbnRfMSI+DQoJCTxoMz5jb250ZW50IDE8L2gzPg0KCQk8cD48aW5wdXQgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJhbGVydCBzZXEuIiBpZD0ic2V0U29ydCIgb25jbGljaz0iaWYgKCQodGhpcykuaXMoJzpjaGVja2VkJykpICQoJyN0YWJzZXQyJykuc2V0U29ydGFibGVNYlRhYnNldCgpOyBlbHNlICQoJyN0YWJzZXQyJykuY2xlYXJTb3J0YWJsZU1iVGFic2V0KCk7Ii8+IHNldCBzb3J0YWJsZTwvcD4NCgkJPGRpdiBjbGFzcz0idGFic2V0IiBpZD0idGFic2V0MiI+DQoJCQk8YSBpZD0iYTEiIGNsYXNzPSJ0YWIge2NvbnRlbnQ6J2NvbnRfMV8xJ30iICA+dGFiIDE8L2E+PGEgaWQ9ImEyIiBjbGFzcz0idGFiIHtjb250ZW50Oidjb250XzFfMid9IiA+dGFiIDIgY29uIHRlc3RvIGx1bmdvPC9hPjxhIGlkPSJhMyIgY2xhc3M9InRhYiBkaXNhYmxlZCAge2NvbnRlbnQ6J2NvbnRfMV8zJ30iID50YWIgMzwvYT48YSBpZD0iYTQiIGNsYXNzPSJ0YWIgIHtjb250ZW50Oidjb250XzFfNCd9IiA+dGFiIDQ8L2E+DQoJCTwvZGl2Pg0KDQoJCTwhLS1jb250ZW50IG9mIHRhYnNldCAidGFic2V0MiItLT4NCg0KCQk8ZGl2IGlkPSJjb250XzFfMSI+DQoJCQk8aDM+Y29udGVudCAxLjE8L2gzPg0KCQkJTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3JhcyB0b3J0b3IgZXN0LCBkaWduaXNzaW0gbm9uLCBlbGVpZmVuZCBzZWQsIHNjZWxlcmlzcXVlIGluLCBvZGlvLiBOdW5jIGZhdWNpYnVzLiBQZWxsZW50ZXNxdWUgc3VzY2lwaXQgY29uc2VxdWF0IGF1Z3VlLiBRdWlzcXVlIHF1YW0uIFNlZCBydXRydW0gc2FnaXR0aXMgcXVhbS4gTW9yYmkgZW5pbSBhcmN1LCBmcmluZ2lsbGEgYWMsIGNvbmd1ZSBldSwgc2FnaXR0aXMgdml0YWUsIGFudGUuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIER1aXMgZXUgcGVkZSBhIHNlbSBjb25zZXF1YXQgY29uZ3VlLiBVdCBiaWJlbmR1bSwgbG9yZW0gaW4gbGFvcmVldCByaG9uY3VzLCBsZWN0dXMgbmVxdWUgdnVscHV0YXRlIGxlY3R1cywgaW4gcmhvbmN1cyBsZW8gdHVycGlzIHZpdGFlIHNhcGllbi4gRG9uZWMgZnJpbmdpbGxhLCB0dXJwaXMgc2VkIGx1Y3R1cyBydXRydW0sIGlwc3VtIGxpYmVybyB1bHRyaWNlcyB0b3J0b3IsIGV0IHRyaXN0aXF1ZSByaXN1cyBudW5jIHBoYXJldHJhIGVsaXQuIE1vcmJpIG1vbGxpcyBtYXR0aXMgbWV0dXMuIE51bGxhIGZhY2lsaXNpLiBOdW5jIG5pc2kuIEludGVnZXIgaW4gbWF1cmlzLiBJbnRlZ2VyIG1hc3NhIHF1YW0sIHVsdHJpY2llcyBldSwgdWxsYW1jb3JwZXIgbm9uLCBhZGlwaXNjaW5nIGFjLCBkb2xvci4NCgkJCURvbmVjIHByZXRpdW0gZXVpc21vZCBuaWJoLiBQcmFlc2VudCBlZ2V0IGxpYmVybyBxdWlzIGVyb3MgZmFjaWxpc2lzIGJpYmVuZHVtLiBQcm9pbiBldSBzZW0uIE1vcmJpIHZlbGl0LiBDdXJhYml0dXIgcG9ydGEganVzdG8gaW1wZXJkaWV0IG1ldHVzLiBJbnRlZ2VyIHRpbmNpZHVudCB2dWxwdXRhdGUgbWFzc2EuIENyYXMgbmlzaS4gTWFlY2VuYXMgYmxhbmRpdCBzYWdpdHRpcyBsaWJlcm8uIFBoYXNlbGx1cyBqdXN0byBtYXNzYSwgdWxsYW1jb3JwZXIgaWQsIG1hbGVzdWFkYSBlZ2V0LCBiaWJlbmR1bSBhdCwgbWFnbmEuIEN1cmFiaXR1ciBvZGlvLiBNYXVyaXMgbWF1cmlzLiBRdWlzcXVlIG1vbGVzdGllIGVuaW0gdXQgcXVhbS4gQWVuZWFuIGVuaW0gcXVhbSwgdml2ZXJyYSB2ZWwsIHRpbmNpZHVudCB0cmlzdGlxdWUsIGNvbmRpbWVudHVtIGluLCBwdXJ1cy4gVml2YW11cyBkaWduaXNzaW0sIGZlbGlzIGV1IGNvbmd1ZSB0aW5jaWR1bnQsIHNhcGllbiBsaWd1bGEgc29kYWxlcyBuaXNpLCBhYyBsdWN0dXMgZWxpdCBuaWJoIHNlZCBsZWN0dXMuIEluIHRlbGx1cyBlc3QsIGJpYmVuZHVtIGFjLCBhdWN0b3IgbmVjLCBjb25kaW1lbnR1bSBhYywgcXVhbS4NCgkJCVBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBNb3JiaSBncmF2aWRhLCBuaWJoIGVnZXQgdGluY2lkdW50IGNvbnNlcXVhdCwgZXJvcyB0b3J0b3IgdGluY2lkdW50IGRpYW0sIG5lYyBmZXVnaWF0IG5lcXVlIG1ldHVzIGEgdHVycGlzLiBRdWlzcXVlIGFjIHB1cnVzLiBNb3JiaSBzYWdpdHRpcyBmZXVnaWF0IGRpYW0uIE1hdXJpcyBsaWJlcm8uIFZpdmFtdXMgY29uZGltZW50dW0gb3JuYXJlIGZlbGlzLiBTdXNwZW5kaXNzZSBwb3RlbnRpLiBNb3JiaSBldCBlc3QuIFByYWVzZW50IGVzdCBpcHN1bSwgdGluY2lkdW50IGluLCBzdXNjaXBpdCB1dCwgc2VtcGVyIG5vbiwgcHVydXMuIE51bGxhIGFjIGZlbGlzLiBRdWlzcXVlIHZlaGljdWxhLiBGdXNjZSBldWlzbW9kIHNhcGllbiBhYyB0ZWxsdXMuIFZpdmFtdXMgY29uc2VxdWF0IGxpZ3VsYSBldCBuaWJoIGx1Y3R1cyBwZWxsZW50ZXNxdWUuIER1aXMgYXQgc2FwaWVuIGFjIHJpc3VzIHN1c2NpcGl0IHB1bHZpbmFyLiBNb3JiaSB2ZXN0aWJ1bHVtIHJpc3VzIHZpdGFlIG5pYmguIFByb2luIGNvbnZhbGxpcyBjb25kaW1lbnR1bSB0ZWxsdXMuIENyYXMgbmVjIGFyY3Ugdml0YWUgZmVsaXMgbWFsZXN1YWRhIHRlbXBvci4gTnVsbGFtIHN1c2NpcGl0IGF1Z3VlIGEgdHVycGlzLiBFdGlhbSBjdXJzdXMgY29uc2VjdGV0dXIgbWV0dXMuDQoJCQlJbiB2ZW5lbmF0aXMuIEFlbmVhbiB0cmlzdGlxdWUgZnJpbmdpbGxhIGVuaW0uIENyYXMgZXQgYXVndWUuIFByYWVzZW50IGEgdXJuYS4gQ3JhcyBjb252YWxsaXMgcG9ydGEgb2Rpby4gRG9uZWMgbGFjaW5pYSBuaXNpIGV1IG9yY2kuIEFsaXF1YW0gdmVzdGlidWx1bSBjb252YWxsaXMgb2Rpby4gU2VkIGR1aSBsZWN0dXMsIHRpbmNpZHVudCBxdWlzLCBhdWN0b3IgYXQsIGF1Y3RvciB1dCwgbGFjdXMuIFN1c3BlbmRpc3NlIHBvdGVudGkuIFNlZCBxdWlzIGVuaW0uIEFlbmVhbiBpbiBlcmF0LiBWZXN0aWJ1bHVtIGFkaXBpc2NpbmcuIE51bGxhbSBhbGlxdWFtLiBBbGlxdWFtIGN1cnN1cyBmZXJtZW50dW0gZXJhdC4gTnVuYyBibGFuZGl0IGxhY2luaWEgdHVycGlzLiBRdWlzcXVlIHF1YW0gZmVsaXMsIHZhcml1cyBxdWlzLCBpYWN1bGlzIGlkLCB2dWxwdXRhdGUgdmVsLCB2ZWxpdC4gQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLg0KCQkJRXRpYW0gaW50ZXJkdW0gaW1wZXJkaWV0IHBlZGUuIE1hZWNlbmFzIHJ1dHJ1bSB2aXZlcnJhIGFyY3UuIE51bGxhIHBlbGxlbnRlc3F1ZS4gTnVuYyBxdWlzIGxhY3VzIG5lYyBuaXNpIGVsZW1lbnR1bSBsYW9yZWV0LiBTZWQgcmhvbmN1cyBmZXVnaWF0IGR1aS4gQ3JhcyBkaWduaXNzaW0uIFBoYXNlbGx1cyBwb3N1ZXJlIHZ1bHB1dGF0ZSBsb3JlbS4gSW50ZWdlciBhY2N1bXNhbiBwdWx2aW5hciBzZW0uIE1hdXJpcyBldWlzbW9kIGVnZXN0YXMgbWFzc2EuIE1hZWNlbmFzIHZhcml1cyBzYWdpdHRpcyBhdWd1ZS4gVXQgbGFjaW5pYSBzb2xsaWNpdHVkaW4gZXJhdC4gUHJhZXNlbnQgZXN0IGVsaXQsIGltcGVyZGlldCBldCwgYWRpcGlzY2luZyBuZWMsIHN1c2NpcGl0IGEsIG5lcXVlLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy4gQ3VyYWJpdHVyIHNvbGxpY2l0dWRpbi4gU2VkIG9ybmFyZSBwZWxsZW50ZXNxdWUgZXJhdC4gRnVzY2UgdHVycGlzIGRpYW0sIHRlbXB1cyBzZWQsIGNvbW1vZG8gZGlnbmlzc2ltLCBibGFuZGl0IHZlbCwgbWFzc2EuIFZpdmFtdXMgZXQgYXVndWUuIFNlZCBsYW9yZWV0IGp1c3RvIGluIGF1Z3VlLg0KCQk8L2Rpdj4NCgkJPGRpdiBpZD0iY29udF8xXzIiPg0KCQkJPGgzPmNvbnRlbnQgMS4yPC9oMz4NCgkJCTxwPjxpbWcgc3JjPSJpbWFnZXMvbWJUYWJzZXQuanBnIiBhbHQ9Im1iVGFic2V0Ii8+PC9wPg0KCQkJTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3JhcyB0b3J0b3IgZXN0LCBkaWduaXNzaW0gbm9uLCBlbGVpZmVuZCBzZWQsIHNjZWxlcmlzcXVlIGluLCBvZGlvLiBOdW5jIGZhdWNpYnVzLiBQZWxsZW50ZXNxdWUgc3VzY2lwaXQgY29uc2VxdWF0IGF1Z3VlLiBRdWlzcXVlIHF1YW0uIFNlZCBydXRydW0gc2FnaXR0aXMgcXVhbS4gTW9yYmkgZW5pbSBhcmN1LCBmcmluZ2lsbGEgYWMsIGNvbmd1ZSBldSwgc2FnaXR0aXMgdml0YWUsIGFudGUuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLg0KCQk8L2Rpdj4NCgkJPGRpdiBpZD0iY29udF8xXzMiPg0KCQkJPGgzPmNvbnRlbnQgMS4zPC9oMz4NCgkJCUxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIENyYXMgdG9ydG9yIGVzdCwgZGlnbmlzc2ltIG5vbiwgZWxlaWZlbmQgc2VkLCBzY2VsZXJpc3F1ZSBpbiwgb2Rpby4gTnVuYyBmYXVjaWJ1cy4gUGVsbGVudGVzcXVlIHN1c2NpcGl0IGNvbnNlcXVhdCBhdWd1ZS4gUXVpc3F1ZSBxdWFtLiBTZWQgcnV0cnVtIHNhZ2l0dGlzIHF1YW0uIE1vcmJpIGVuaW0gYXJjdSwgZnJpbmdpbGxhIGFjLCBjb25ndWUgZXUsIHNhZ2l0dGlzIHZpdGFlLCBhbnRlLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy4gQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBEdWlzIGV1IHBlZGUgYSBzZW0gY29uc2VxdWF0IGNvbmd1ZS4gVXQgYmliZW5kdW0sIGxvcmVtIGluIGxhb3JlZXQgcmhvbmN1cywgbGVjdHVzIG5lcXVlIHZ1bHB1dGF0ZSBsZWN0dXMsIGluIHJob25jdXMgbGVvIHR1cnBpcyB2aXRhZSBzYXBpZW4uIERvbmVjIGZyaW5naWxsYSwgdHVycGlzIHNlZCBsdWN0dXMgcnV0cnVtLCBpcHN1bSBsaWJlcm8gdWx0cmljZXMgdG9ydG9yLCBldCB0cmlzdGlxdWUgcmlzdXMgbnVuYyBwaGFyZXRyYSBlbGl0LiBNb3JiaSBtb2xsaXMgbWF0dGlzIG1ldHVzLiBOdWxsYSBmYWNpbGlzaS4gTnVuYyBuaXNpLiBJbnRlZ2VyIGluIG1hdXJpcy4gSW50ZWdlciBtYXNzYSBxdWFtLCB1bHRyaWNpZXMgZXUsIHVsbGFtY29ycGVyIG5vbiwgYWRpcGlzY2luZyBhYywgZG9sb3IuIERvbmVjIHByZXRpdW0gZXVpc21vZCBuaWJoLiBQcmFlc2VudCBlZ2V0IGxpYmVybyBxdWlzIGVyb3MgZmFjaWxpc2lzIGJpYmVuZHVtLiBQcm9pbiBldSBzZW0uIE1vcmJpIHZlbGl0LiBDdXJhYml0dXIgcG9ydGEganVzdG8gaW1wZXJkaWV0IG1ldHVzLiBJbnRlZ2VyIHRpbmNpZHVudCB2dWxwdXRhdGUgbWFzc2EuIENyYXMgbmlzaS4gTWFlY2VuYXMgYmxhbmRpdCBzYWdpdHRpcyBsaWJlcm8uIFBoYXNlbGx1cyBqdXN0byBtYXNzYSwgdWxsYW1jb3JwZXIgaWQsIG1hbGVzdWFkYSBlZ2V0LCBiaWJlbmR1bSBhdCwgbWFnbmEuIEN1cmFiaXR1ciBvZGlvLiBNYXVyaXMgbWF1cmlzLiBRdWlzcXVlIG1vbGVzdGllIGVuaW0gdXQgcXVhbS4gQWVuZWFuIGVuaW0gcXVhbSwgdml2ZXJyYSB2ZWwsIHRpbmNpZHVudCB0cmlzdGlxdWUsIGNvbmRpbWVudHVtIGluLCBwdXJ1cy4gVml2YW11cyBkaWduaXNzaW0sIGZlbGlzIGV1IGNvbmd1ZSB0aW5jaWR1bnQsIHNhcGllbiBsaWd1bGEgc29kYWxlcyBuaXNpLCBhYyBsdWN0dXMgZWxpdCBuaWJoIHNlZCBsZWN0dXMuIEluIHRlbGx1cyBlc3QsIGJpYmVuZHVtIGFjLCBhdWN0b3IgbmVjLCBjb25kaW1lbnR1bSBhYywgcXVhbS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuIE1vcmJpIGdyYXZpZGEsIG5pYmggZWdldCB0aW5jaWR1bnQgY29uc2VxdWF0LCBlcm9zIHRvcnRvciB0aW5jaWR1bnQgZGlhbSwgbmVjIGZldWdpYXQgbmVxdWUgbWV0dXMgYSB0dXJwaXMuIFF1aXNxdWUgYWMgcHVydXMuIE1vcmJpIHNhZ2l0dGlzIGZldWdpYXQgZGlhbS4gTWF1cmlzIGxpYmVyby4gVml2YW11cyBjb25kaW1lbnR1bSBvcm5hcmUgZmVsaXMuIFN1c3BlbmRpc3NlIHBvdGVudGkuIE1vcmJpIGV0IGVzdC4gUHJhZXNlbnQgZXN0IGlwc3VtLCB0aW5jaWR1bnQgaW4sIHN1c2NpcGl0IHV0LCBzZW1wZXIgbm9uLCBwdXJ1cy4gTnVsbGEgYWMgZmVsaXMuIFF1aXNxdWUgdmVoaWN1bGEuIEZ1c2NlIGV1aXNtb2Qgc2FwaWVuIGFjIHRlbGx1cy4gVml2YW11cyBjb25zZXF1YXQgbGlndWxhIGV0IG5pYmggbHVjdHVzIHBlbGxlbnRlc3F1ZS4gRHVpcyBhdCBzYXBpZW4gYWMgcmlzdXMgc3VzY2lwaXQgcHVsdmluYXIuIE1vcmJpIHZlc3RpYnVsdW0gcmlzdXMgdml0YWUgbmliaC4gUHJvaW4gY29udmFsbGlzIGNvbmRpbWVudHVtIHRlbGx1cy4gQ3JhcyBuZWMgYXJjdSB2aXRhZSBmZWxpcyBtYWxlc3VhZGEgdGVtcG9yLiBOdWxsYW0gc3VzY2lwaXQgYXVndWUgYSB0dXJwaXMuIEV0aWFtIGN1cnN1cyBjb25zZWN0ZXR1ciBtZXR1cy4gSW4gdmVuZW5hdGlzLiBBZW5lYW4gdHJpc3RpcXVlIGZyaW5naWxsYSBlbmltLiBDcmFzIGV0IGF1Z3VlLiBQcmFlc2VudCBhIHVybmEuIENyYXMgY29udmFsbGlzIHBvcnRhIG9kaW8uIERvbmVjIGxhY2luaWEgbmlzaSBldSBvcmNpLiBBbGlxdWFtIHZlc3RpYnVsdW0gY29udmFsbGlzIG9kaW8uIFNlZCBkdWkgbGVjdHVzLCB0aW5jaWR1bnQgcXVpcywgYXVjdG9yIGF0LCBhdWN0b3IgdXQsIGxhY3VzLiBTdXNwZW5kaXNzZSBwb3RlbnRpLiBTZWQgcXVpcyBlbmltLiBBZW5lYW4gaW4gZXJhdC4gVmVzdGlidWx1bSBhZGlwaXNjaW5nLiBOdWxsYW0gYWxpcXVhbS4gQWxpcXVhbSBjdXJzdXMgZmVybWVudHVtIGVyYXQuIE51bmMgYmxhbmRpdCBsYWNpbmlhIHR1cnBpcy4gUXVpc3F1ZSBxdWFtIGZlbGlzLCB2YXJpdXMgcXVpcywNCgkJPC9kaXY+DQoJCTxkaXYgaWQ9ImNvbnRfMV80Ij4NCgkJCTxoMz5jb250ZW50IDEuNDwvaDM+DQoJCQlMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBDcmFzIHRvcnRvciBlc3QsIGRpZ25pc3NpbSBub24sIGVsZWlmZW5kIHNlZCwgc2NlbGVyaXNxdWUgaW4sIG9kaW8uIE51bmMgZmF1Y2lidXMuIFBlbGxlbnRlc3F1ZSBzdXNjaXBpdCBjb25zZXF1YXQgYXVndWUuIFF1aXNxdWUgcXVhbS4gU2VkIHJ1dHJ1bSBzYWdpdHRpcyBxdWFtLiBNb3JiaSBlbmltIGFyY3UsIGZyaW5naWxsYSBhYywgY29uZ3VlIGV1LCBzYWdpdHRpcyB2aXRhZSwgYW50ZS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuIENsYXNzIGFwdGVudCB0YWNpdGkgc29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgcGVyIGluY2VwdG9zIGhpbWVuYWVvcy4gRHVpcyBldSBwZWRlIGEgc2VtIGNvbnNlcXVhdCBjb25ndWUuIFV0IGJpYmVuZHVtLCBsb3JlbSBpbiBsYW9yZWV0IHJob25jdXMsIGxlY3R1cyBuZXF1ZSB2dWxwdXRhdGUgbGVjdHVzLCBpbiByaG9uY3VzIGxlbyB0dXJwaXMgdml0YWUgc2FwaWVuLiBEb25lYyBmcmluZ2lsbGEsIHR1cnBpcyBzZWQgbHVjdHVzIHJ1dHJ1bSwgaXBzdW0gbGliZXJvIHVsdHJpY2VzIHRvcnRvciwgZXQgdHJpc3RpcXVlIHJpc3VzIG51bmMgcGhhcmV0cmEgZWxpdC4gTW9yYmkgbW9sbGlzIG1hdHRpcyBtZXR1cy4gTnVsbGEgZmFjaWxpc2kuIE51bmMgbmlzaS4gSW50ZWdlciBpbiBtYXVyaXMuIEludGVnZXIgbWFzc2EgcXVhbSwgdWx0cmljaWVzIGV1LCB1bGxhbWNvcnBlciBub24sIGFkaXBpc2NpbmcgYWMsIGRvbG9yLiBEb25lYyBwcmV0aXVtIGV1aXNtb2QgbmliaC4gUHJhZXNlbnQgZWdldCBsaWJlcm8gcXVpcyBlcm9zIGZhY2lsaXNpcyBiaWJlbmR1bS4gUHJvaW4gZXUgc2VtLiBNb3JiaSB2ZWxpdC4gQ3VyYWJpdHVyIHBvcnRhIGp1c3RvIGltcGVyZGlldCBtZXR1cy4gSW50ZWdlciB0aW5jaWR1bnQgdnVscHV0YXRlIG1hc3NhLiBDcmFzIG5pc2kuIE1hZWNlbmFzIGJsYW5kaXQgc2FnaXR0aXMgbGliZXJvLiBQaGFzZWxsdXMganVzdG8gbWFzc2EsIHVsbGFtY29ycGVyIGlkLCBtYWxlc3VhZGEgZWdldCwgYmliZW5kdW0gYXQsIG1hZ25hLiBDdXJhYml0dXIgb2Rpby4gTWF1cmlzIG1hdXJpcy4gUXVpc3F1ZSBtb2xlc3RpZSBlbmltIHV0IHF1YW0uIEFlbmVhbiBlbmltIHF1YW0sIHZpdmVycmEgdmVsLCB0aW5jaWR1bnQgdHJpc3RpcXVlLCBjb25kaW1lbnR1bSBpbiwgcHVydXMuIFZpdmFtdXMgZGlnbmlzc2ltLCBmZWxpcyBldSBjb25ndWUgdGluY2lkdW50LCBzYXBpZW4gbGlndWxhIHNvZGFsZXMgbmlzaSwgYWMgbHVjdHVzIGVsaXQgbmliaCBzZWQgbGVjdHVzLiBJbiB0ZWxsdXMgZXN0LCBiaWJlbmR1bSBhYywgYXVjdG9yIG5lYywgY29uZGltZW50dW0gYWMsIHF1YW0uIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBNb3JiaSBncmF2aWRhLCBuaWJoIGVnZXQgdGluY2lkdW50IGNvbnNlcXVhdCwgZXJvcyB0b3J0b3IgdGluY2lkdW50IGRpYW0sIG5lYyBmZXVnaWF0IG5lcXVlIG1ldHVzIGEgdHVycGlzLiBRdWlzcXVlIGFjIHB1cnVzLiBNb3JiaSBzYWdpdHRpcyBmZXVnaWF0IGRpYW0uIE1hdXJpcyBsaWJlcm8uIFZpdmFtdXMgY29uZGltZW50dW0gb3JuYXJlIGZlbGlzLiBTdXNwZW5kaXNzZSBwb3RlbnRpLiBNb3JiaSBldCBlc3QuIFByYWVzZW50IGVzdCBpcHN1bSwgdGluY2lkdW50IGluLCBzdXNjaXBpdCB1dCwgc2VtcGVyIG5vbiwgcHVydXMuIE51bGxhIGFjIGZlbGlzLiBRdWlzcXVlIHZlaGljdWxhLiBGdXNjZSBldWlzbW9kIHNhcGllbiBhYyB0ZWxsdXMuIFZpdmFtdXMgY29uc2VxdWF0IGxpZ3VsYSBldCBuaWJoIGx1Y3R1cyBwZWxsZW50ZXNxdWUuIER1aXMgYXQgc2FwaWVuIGFjIHJpc3VzIHN1c2NpcGl0IHB1bHZpbmFyLiBNb3JiaSB2ZXN0aWJ1bHVtIHJpc3VzIHZpdGFlIG5pYmguIFByb2luIGNvbnZhbGxpcyBjb25kaW1lbnR1bSB0ZWxsdXMuIENyYXMgbmVjIGFyY3Ugdml0YWUgZmVsaXMgbWFsZXN1YWRhIHRlbXBvci4gTnVsbGFtIHN1c2NpcGl0IGF1Z3VlIGEgdHVycGlzLiBFdGlhbSBjdXJzdXMgY29uc2VjdGV0dXIgbWV0dXMuIEluIHZlbmVuYXRpcy4gQWVuZWFuIHRyaXN0aXF1ZSBmcmluZ2lsbGEgZW5pbS4gQ3JhcyBldCBhdWd1ZS4gUHJhZXNlbnQgYSB1cm5hLiBDcmFzIGNvbnZhbGxpcyBwb3J0YSBvZGlvLiBEb25lYyBsYWNpbmlhIG5pc2kgZXUgb3JjaS4gQWxpcXVhbSB2ZXN0aWJ1bHVtIGNvbnZhbGxpcyBvZGlvLiBTZWQgZHVpIGxlY3R1cywgdGluY2lkdW50IHF1aXMsIGF1Y3RvciBhdCwgYXVjdG9yIHV0LCBsYWN1cy4gU3VzcGVuZGlzc2UgcG90ZW50aS4gU2VkIHF1aXMgZW5pbS4gQWVuZWFuIGluIGVyYXQuIFZlc3RpYnVsdW0gYWRpcGlzY2luZy4gTnVsbGFtIGFsaXF1YW0uIEFsaXF1YW0gY3Vyc3VzIGZlcm1lbnR1bSBlcmF0LiBOdW5jIGJsYW5kaXQgbGFjaW5pYSB0dXJwaXMuIFF1aXNxdWUgcXVhbSBmZWxpcywgdmFyaXVzIHF1aXMsDQoJCTwvZGl2Pg0KDQoJPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/grip.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5Ojf/2wBDAQoKCg0MDRoPDxo3JR8lNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzf/wAARCAAbABADASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgMEBf/EACsQAAIBAwIEBAcBAAAAAAAAAAECAwQFEQASBiEiMRMVMkEUJDRRUlRzgf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AfPU4r5garCitrBg8QbVCiAZGMZVQe694j1DpOrbDVNmAGsfcZrSMHiRSxY53DaBhmI5snplXqXDDSZY63zGUrFc/rqkgrb6b9cBCHJ/xXPf0PqywQ1ojhHgXMJutII8pplXaGJORnIUHmQOqJsMuVzorFnjozc5gYraWNwrQQbfUsxY0w3ZAOCxHqUdMi816tVWCOgxTsI7TkSWVgwoas+5CEP7fZJD/ADk76CRpje5Ifi6wRm7zw7RVSAbGot5UdXIBuY/E9sadw5UVT0cEzV1cX8KwzH5uTBaScxyZG7BDL3HYnmRnnoP/2Q==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAX8AAAAmCAYAAAFbtat6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArlJREFUeNpi/P//P8PEiRP/MwxRwAjywL17914MVQ8wMQxxwAIinj17xjKkPSAlJfVnqHoAIIAY+/v7NzIyMvoNRccXFBQwsvj5+ZkD2S+HaAT8H/qZeChnYLAHhnIGPnv2LANAAA35imwog82bN4sxjQbDwNZi4PLnx48fjKNhMYANIQ4Ojv+jQTHaFxiRACCAwEXPhAkTRnPAAPQCQA0gxrt37462gAYIKCkpSYwWQaN1wGgEjIKBbIaO9gEGOALevXvHPBoMAxgBQ3kwa7QOGAWjETDUAUAA9uzYBmAQBqKo6OkzgOehYREP50ncsAUNUZoUKBLKFvffCJZOBl/5i+G7tfYwDijIzNp7r+cSQR8DRRFxuXthBYM3KKDq9MF7byYB3QCstTiGQjcAc04CAN0AmNnLKKBkjMEnGPgEYN+ObRCGgQCKygMwi0umsJjFi7lgK2hBtpUCE5BgiNx7Tfro6+Qkl/8mirVQIlhrXWutl8/3r+/xp7X2zDnf3BoCOKeUHvv1lPaJ/yql3N0TIvn9B2AJl5A89CJ+ED+IH8QPh2TTk9jxb9vmdScx459zOv4QM/7eu8lPzPjHGCY/MeO3109EJj7iB/GD+OHY3gK0d8c2FQJxAIfVWBhvAEuYgHkYQHs2gd4F7G8HBmACGMG8GEJIjHe+8BonkPu+hAQor/hx/Au4/l3h/jrpHIbhq6qq76ZpfNsT4ASmaQrLsjx0XRfydW5+9jvt7Pv+va7rNkX/YqkAziNv5tNxlzb2l3meP9Ktt9trb9r5v9rtA5z7IZBbf1ybeQIUSPwBxB8A8QdA/AEQfwD+qcfjZN9337QCKC3+27aJP0Bp8V/XVfwBCoy/+T9AafEfx/HZcgCcVwjhb/zbtv20NADnFWN8Os6NegAKJP4A4g9ACW4z/xjji+UAKMMPEoC86m1O2fMAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_grep.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAX8AAAAmCAYAAAAsspvsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAeZJREFUeNrs3DFuGkEYgNEdO4XxClGmgxvg3gWyRJ+07nMB+yRLn1MkW9O4dccN4AAWKLHiyIbNDgoRJIVxl915T4LhR1RTfBpGglBVVRZCyHaKovhSzx8yABqvbvzX29vbj3vzdg378Z9MJo+DwWAzHA4fbRlA881ms3w+n5/c3Nzk+/E/2X2gDv+3fr9fCT9Ae8Smx7bHxu+/v41/URSf6xN/dnFx8d1WAbRLbHtsfGz9QfxDCJ+c+AHa/Q0gtv4g/rH/8Wm1WoXFYnEa12NmABol/B3/7HfcT6bTaSeux8wANNNBxHu93mY8Hv+I6zEzAC2IPwAJxt+1D0CC8XftA5Bg/AFIMP6ufQASjL9rH4AE4w9AgvF37QOQYPxd+wAkGH8A0vBu92Kz2WTL5XJ7rRNP991ud/3abPsAGh7/9Xod8jyvrq6unuJ6zGz7AJof/+3p/y0rAA2P/8vLS3h4eDi9u7s7G41GT+fn5+vXZtsH0IL410GvLi8vf8b1mNn2ATQ8/s/Pz1mn06nqx/rYGYDmx99JHiC1+LvGAXDyByCF+N/f33dsB0B75Xn+b/yvr69XtgagvcqyPNu99t8+AAkSfwDxB0D8ARB/AMQfAPEHQPwB+G/9+ZFXWZbvbQdAGn4JMAAnRI/ajsk30wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_hover.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAX8AAAAmCAYAAAFbtat6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2xJREFUeNpi/P//P8PEiRP/MwxRwAjywJcvX/4zMjKC+D+HmgeYGIY4YAERT548gcfIkExCX79+/TFUYwAggBj7+/s3AtO/31B0fEFBASPj58+fwSXQUMzEc+bMYR/6mRgpAw/JTMwiKyv7cyjHAEAADflSaCgDYB5mA9djf//+ZYcJMjMzw5g/R4OI9hkAHAE/fyLCGlobjAJ6tuS4uLhGU/toX2BkAoAAApc3EyZM+D8aFPTvBYAaQIzArvxoC2iAADc3NwcLlM2OJjdaJ4zWAaMRMAro0Qz9/v37aCgMXB3AwPLmzRtGXK2jUUBbICIiMtoKGuhW0GgdMFoJj2wAEIA9u8cBEITBMCwYz8JRuAg7hySchoXE0YQo/sX4kziX91m6ODU2tn5qD4ZH59xAO9CCGGNvrR3WPxFHHlMjgRoFLLW7Vg5kSFTzbO+9Oj/BWuvXCrCDAkKtWUAp5bH6fKxAgLwByDlv0aRS3b3ej2ZaBnEDkFKqL/b043kGAPIGwBhTaAVaEkLgCAZmAdi5gxSEYSAKwwQEVzlRDuDSS+QCuZq7nEuSRQQ1U1EQuuhCF533f5uuWmiYTibTtJ+Shm2hUDDXtpdSytnWuEv5U2u9pZR4wQUFpxDCdR5jmBn/nnMejAmUvL8DsLbncbUm+m59MjPAlcNKkAMS6PhAO/PbyndD2QNQ9gCUPcDeM7/t6qTsgWTwj0GbH1pijK/g3/jDDaYB+Mv8rbWfXdCekMdfT9gDlzflbqiW4O+9s68fmpmfff1QRKsTBD9A8AMEP+DbU4D27hgnQiAKA3CMRgtPAuEGXMZCe24CvRQehxPASYBEYiKzYchaKK3LfF8yWd6WFD+zj52Zu+stS5qmGbMseyzL8sutAbh9Yf/aYRg+q6p6DnX8I/Ol21nX9Xue5y9b6At+gJMIub6O+3Viv/R9/7F+9bb/7F1n/q9b8D9tq3r3cVT/MgD4Zw+BkPWx1vMESNCP8A+9oLCXf+wJHdUAnCD8w4vfcGxXfAF8VANwgvAHIMHw1/YBSDD8tX0A0vAQL5Zl2Wf31+F+VANww+E/z/NltW8M9zCO6j94OgDcSPi7GwCphf80TeHDSRYAKYX/OI5aNQCphX9RFI6yADixruv2a4u8ABIk/AGEPwAp2Hv+bdvahx8gEd9oX1LBJVcRswAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_hover_grep.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAX8AAAAmCAYAAAAsspvsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAexJREFUeNrs3E9qWkEcwPE3SWij1YXHELyBq4YGwUV7iNK9nkT39RLtwk26FbyBWw8gipRu/PfqCIrtRpc+5/MBM++XBBJewtdhQEOe51kIITvq9Xo/9vPnDIDC2zf+Z7fb/XI2H9ZwHv9+v/+nXq+/azabW7cMoPhGo9HjZDJZdTqdD+fxfzh+wz78v4Uf4L7Epse2x8aff/4pfuj1et/3X3wWfoD7fALYL8+x9fv122nnH0L4KvwA9/0EEFt/nI/HPodD/+VymU2n0xDXa2YACiX8H/+DxWIRhsPhY1yvmQEopn/iX6vV8na7vY3rNTMAdxB/ABKMv2MfgATj79gHIMH4A5Bg/B37ACQYf8c+AAnGH4AE4+/YByDB+Dv2AUgw/gCk4el4sdvtsvl8fjjWibv7arWaX5rdPoCCx3+73WYx6K1W6xD2a2YACh7/zWZzeMSoH68vzQAUPP7r9TrMZrPw6+3t4dPr665cLueXZrcP4A52/pVKJf/48rKL6zUzAMXf+WelUik+8mtnAAoe/9VqdbO/ZHxFWV7oH4A/FP6tbjT+jnEA0tz5e8sGgNTi7wwfIMH4NxqNndsBcL/G4/Hp2nv7ACRI/AHEHwDxB0D8ARB/AMQfAPEH4GadXuQ1GAzeux0AafgrwACZfJC6dfco5gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAmCAYAAADwQnq3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALJJREFUeNpinDBhwn8GLOD///+bCgsL/ZH4YJrx7t27L7BpuHTpEvfDhw+ZCgoKuJE1MDHgAHp6el/l5OT+A13wGVkcpwYQ0NfX/yIvL8/Q398/mygNMJsYGRmTidYABYykamAY1TCqgQBg+ffvH2ka/v79y0iqBtJs+PPnDyNtNfz+/ZuBVA20dxJpGk6fPs1JSBE3NzdCQ0RExEdCGjZv3swxmoEGWRYFRoo4KRoAAgwA5b5HVpIYPqQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_right_hover.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAmCAYAAADwQnq3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKtJREFUeNpinDBhwn8GLOD///+bCgsL/ZH4YJrxy5cvP7BpOHr0KPP169d/FRQUcCNrYGLAAaytrf9qamqyAV3wGVmchQEPAGkCUhz9/f2zgXQqXhuQNTEyMibD+AQ1QAEjqRoYRjWMaiAAWP79+0eahr9//5Km4c+fP6Rp+P37NyPNbSBNw69fv2jsaaANjLT1g46ODsGoPnHixGgGGmxZdM6cOeykaAAIMABOYUfcaplFoAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_right_sel.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAmCAYAAADwQnq3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAF1JREFUeNpinDBhwn8G7GBdfn5+MIbofxxg3759/4GGfQEyGZAxTg1Imj4SrQFJ03SYBiYGAsDR0RFEpcP4BDVAASOpGhhGNYxqGNUwqmFUw1DWwDJx4kSSNAAEGAC7Vofr8ZEPSAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_sel.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAX8AAAAmCAYAAAFbtat6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAfRJREFUeNpi/P//P8PEiRP/MwxRwAjyABAMWQ8wMQxxMOqBgQYAAcQ4YcKEtUA6aCg6Pj8/nxGUiYdsBgaWnqN5YNQDlAKAABryFdlQBqAWENNoMAxsBhiNgNEydDQCRsEAAoAAYhzq3eGhCkC9AFgEjAb+aCU8WgeMgtEIGI2AUTAaAaMRMApGI2A0AkYBHQFAAPbs2AYAEAQCoBO4E5MzkxsohQ4hd429yUd57iS8zmQ2XQcdZOaIiNdE1KmNoJXaZ1cd5wnGHxQEAAQABAAEAAQAPrcFYN8OigAEgQCKHghgJjIYhGZWoJP3VeGAHZh9L8LO11kHXOcAroWSxdVaO//4e+9vrdVYSGG86O/xABzzt9pnXUyHTFvP3PuFj49eED+IH8QP4gfxg/hh4/gjwiTIGX8pxSSw9oD4QfwgfhA/iB829gnQ3h3jIAgDABRNiZuepefCqWfppOfqWXRtqEYSjAujpe9NsDAwfKCUErb/Vcg5P2KMZ191ARzDa/3aUsozpXT5iX+L/q1FfxZ9gENfBO7tInDdPva+w19r3XUQf2ED6Mvn5n5e97/GPKdp3xBoCFZ+AOiZF14A4g+A+AMg/gCIPwDiD0CX8Td/H2DA+Ju/DzBg/AEQfwDEHwDxB0D8ARB/AP7Yad3IOTsbAINYALfBeXqiJdqjAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/default/tab_sel_grep.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/master.psd</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[OEJQUwABAAAAAAAAAAQAAAAmAAABfwAIAAMAAAAAAAB0EDhCSU0EBAAAAAAABxwCAAACAAAAOEJJTQQlAAAAAAAQ6PFc8y/BGKGie2etxWTVujhCSU0EJAAAAAA5lzw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1jMDM2IDQ2LjI3NjcyMCwgTW9uIEZlYiAxOSAyMDA3IDIyOjEzOjQzICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3A8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENTMyBNYWNpbnRvc2g8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhhcDpDcmVhdGVEYXRlPjIwMDgtMTItMDZUMDA6MzM6NDYrMDE6MDA8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOC0xMi0wN1QxOTo1NzozNCswMTowMDwveGFwOk1vZGlmeURhdGU+CiAgICAgICAgIDx4YXA6TWV0YWRhdGFEYXRlPjIwMDgtMTItMDdUMTk6NTc6MzQrMDE6MDA8L3hhcDpNZXRhZGF0YURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyI+CiAgICAgICAgIDx4YXBNTTpEb2N1bWVudElEPnV1aWQ6MTZFNTQzRDRCRkM0REQxMUFERjFBNTFFNDI2RDkwREY8L3hhcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4YXBNTTpJbnN0YW5jZUlEPnV1aWQ6QkM1NzFENTMzNkM1REQxMUFERjFBNTFFNDI2RDkwREY8L3hhcE1NOkluc3RhbmNlSUQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8cGhvdG9zaG9wOkhpc3RvcnkvPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6TmF0aXZlRGlnZXN0PjI1NiwyNTcsMjU4LDI1OSwyNjIsMjc0LDI3NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4LDMxOSw1MjksNTMyLDMwNiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyO0UwNjk2MEMyQjA5Q0M4MDY3OUNFMUNERTZCNUY0MzA1PC90aWZmOk5hdGl2ZURpZ2VzdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjM4MzwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpOYXRpdmVEaWdlc3Q+MzY4NjQsNDA5NjAsNDA5NjEsMzcxMjEsMzcxMjIsNDA5NjIsNDA5NjMsMzc1MTAsNDA5NjQsMzY4NjcsMzY4NjgsMzM0MzQsMzM0MzcsMzQ4NTAsMzQ4NTIsMzQ4NTUsMzQ4NTYsMzczNzcsMzczNzgsMzczNzksMzczODAsMzczODEsMzczODIsMzczODMsMzczODQsMzczODUsMzczODYsMzczOTYsNDE0ODMsNDE0ODQsNDE0ODYsNDE0ODcsNDE0ODgsNDE0OTIsNDE0OTMsNDE0OTUsNDE3MjgsNDE3MjksNDE3MzAsNDE5ODUsNDE5ODYsNDE5ODcsNDE5ODgsNDE5ODksNDE5OTAsNDE5OTEsNDE5OTIsNDE5OTMsNDE5OTQsNDE5OTUsNDE5OTYsNDIwMTYsMCwyLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDIwLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDMwO0MwQjdGQ0U2QTE2MkNEMUIxMkQyQTU1QjQ5OTBCQjIxPC9leGlmOk5hdGl2ZURpZ2VzdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4AOEJJTQPqAAAAABf/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1Ib3Jpem9udGFsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLmpvYnRpY2tldDwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCQkJCTxyZWFsPjcyPC9yZWFsPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNT3JpZW50YXRpb248L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUuam9idGlja2V0PC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNT3JpZW50YXRpb248L2tleT4KCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLmpvYnRpY2tldDwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1WZXJ0aWNhbFJlczwva2V5PgoJPGRpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQk8c3RyaW5nPmNvbS5hcHBsZS5qb2J0aWNrZXQ8L3N0cmluZz4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJPGFycmF5PgoJCQk8ZGljdD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1WZXJ0aWNhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1WZXJ0aWNhbFNjYWxpbmc8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUuam9idGlja2V0PC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+CgkJCQk8cmVhbD4xPC9yZWFsPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+UE1QUERQYXBlckNvZGVOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLmpvYnRpY2tldDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+UE1QUERQYXBlckNvZGVOYW1lPC9rZXk+CgkJCQkJPHN0cmluZz5BNDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PlBNVGlvZ2FQYXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUuam9idGlja2V0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5QTVRpb2dhUGFwZXJOYW1lPC9rZXk+CgkJCQkJPHN0cmluZz5pc28tYTQ8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFnZVJlY3Q8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUuam9idGlja2V0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFnZVJlY3Q8L2tleT4KCQkJCQk8YXJyYXk+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVhbD43ODM8L3JlYWw+CgkJCQkJCTxyZWFsPjU1OTwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNQWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUuam9idGlja2V0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPi0xODwvcmVhbD4KCQkJCQkJPHJlYWw+ODI0PC9yZWFsPgoJCQkJCQk8cmVhbD41Nzc8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLmpvYnRpY2tldDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+aXNvLWE0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5qb2J0aWNrZXQ8L3N0cmluZz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFkanVzdGVkUGFnZVJlY3Q8L2tleT4KCQkJCQk8YXJyYXk+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVhbD43ODM8L3JlYWw+CgkJCQkJCTxyZWFsPjU1OTwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLmpvYnRpY2tldDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4KCQkJCQk8YXJyYXk+CgkJCQkJCTxyZWFsPi0xODwvcmVhbD4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD44MjQ8L3JlYWw+CgkJCQkJCTxyZWFsPjU3NzwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8ucHBkLlBNUGFwZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLmpvYnRpY2tldDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3RyaW5nPkE0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+CgkJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvVGlja2V0PC9zdHJpbmc+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVyc2lvbjwva2V5PgoJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8L2tleT4KCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXRUaWNrZXQ8L3N0cmluZz4KPC9kaWN0Pgo8L3BsaXN0PgoAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQPuAAAAAAANDFRyYW5zcGFyZW5jeQA4QklNBBUAAAAAAB4AAAANAFQAcgBhAG4AcwBwAGEAcgBlAG4AYwB5AAA4QklNA+8AAAAAAA4AAP//AAAAAAAAAGQBADhCSU0ENQAAAAAAEQAAAAEAAP//AAAAAAAAAGQBADhCSU0EHQAAAAAABAAAAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQAAAAAAAACAAM4QklNBAIAAAAAAA4AAAAAAAAAAAAAAAAAADhCSU0EMAAAAAAABwEBAQEBAQEAOEJJTQQtAAAAAAAGAAEAAAAHOEJJTQQIAAAAAAAaAAAAAQAAAkAAAAJAAAAAAgAALl8AAAAD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AAAAAAAA//////////8AAAAB/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAE/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/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gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/AAEABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGgf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/gf+B/4L/AAEAEgAQAA4ADAAKAAoABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAG/gACEHDPh/+B/4v/As9wEP4A/wABMN+F/4H/if8D3zAAAAIAMO+E/4H/iP8C7zAAARDfg/+B/4f/Ad8QAHCC/4H/hv8AcADPgv+B/4b/AM+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf+B/4H/hf8AAQAKAAoACgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAb+AIRqgWqIav4A/wCDaoFqh2r/AAAAgmqBaoZqAACBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWoAAQAKAAoACgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAb+AIRqgWqIav4A/wCDaoFqh2r/AAAAgmqBaoZqAACBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWoAAQAKAAoACgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAb+AIRqgWqIav4A/wCDaoFqh2r/AAAAgmqBaoZqAACBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWqBaoFqhWoAAAAAAAAAAAAAAAEADgAOAAwACgAKAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAG/gAArYX/gf+J/wCt/gD/AAD0hP+B/4j/AvQAAAEA8YP/gf+H/wHxAACXgv+B/4b/AJcA/oL/gf+G/wD+gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/AAEADgAOAAwACgAKAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAG/v8A+oX/gf+J/wD6/v///wD9hP+B/4j/Av3//wH//IP/gf+H/wH9/wD6gv+B/4b/APoA/oL/gf+G/wD+gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/AAEADgAOAAwACgAKAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAG/v8A+oX/gf+J/wD6/v///wD9hP+B/4j/Av3//wH//IP/gf+H/wH8/wD6gv+B/4b/APoA/oL/gf+G/wD+gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/AAEADgAOAAwACgAKAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAG/v8A+oX/gf+J/wD6/v///wD9hP+B/4j/Av3//wH//YP/gf+H/wH9/wD6gv+B/4b/APoA/oL/gf+G/wD+gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/gf+B/4X/AAEABgAGAAYABgAGAAYABgAGAAYABoEIgQiHCIERgRGHEYEdgR2HHYEpgSmHKYE3gTeHN4FGgUaHRoFWgVaHVoFmgWaHZoF3gXeHd4GIgYiHiAABABYACgAOAAYADgAKAAoACgASAAr5WQBa9lkAWpZZ+VkAWopZsVkAWthZy1kAWrhZgVmHWYFZ71kAWu1ZAFqpWYdZgVmBWYdZyVkAWrpZgVnVWQBatFmBWblZAFrKWYdZ2lkAWqlZgVmHWYFZgVnCWQBax1nxWQBa8VkAWqNZ6FkAWptZh1mBWZBZAFrzWYdZAAEACAAKAA4ABgAWAAYADgASAA4AEIFZgVkAWohZh1kAWvxZgVmHWetZAFqYWZJZAFrxWYdZgVmBWYdZgVn0WQBat1kAWvFZAFrrWaBZAFrpWYFZgVmHWcJZAFrBWYFZwlkAWsdZgVmsWQBa11nSWQBaz1kAWupZ41kAWqBZgVm6WQBaz1kAWvhZAFqTWQBa+1mBWYdZAAEABgAGAAoACgAKAAwACgAGABIACoFZgVmHWYFZgVmHWYFZx1kAWrxZh1mBWfdZ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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/images/mbTabset.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAAOBAAAF7sAACaZAAA6O//bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8IAEQgBAwGgAwERAAIRAQMRAf/EANYAAQADAQEBAQAAAAAAAAAAAAADBAUCAQYHAQEBAQEBAQAAAAAAAAAAAAAAAQIDBAUQAAEEAgAFBAEEAgMAAAAAAAABEQIDEgQQUBMUBSAwNBUyQCExQWAjIjNDEQABAwEDCQUGBQIFBQAAAAABABECAyExEkFRkdFCkhMzBGFxIjKCEDBQgcFyIPCxwiOhFGDxUrIF4WJDUzQSAQAAAAAAAAAAAAAAAAAAAKATAAIBAgQFBAMBAQEAAAAAAAERACExQVFhcRBQ8JHRMKHB8SCBseFAYP/aAAwDAQACEQMRAAABrev5YAAAAAAAAAAAAAAAAAAAAAAAAA7P0nz+74jt5IUuTUZ2eEixJS1mzL6dy1bmwvolq3NLWQAAAAAAAAAAAAAAAPTd5d8npy1M6tTUhj652pq9N17mpc3pqaa8SCyxNUbiRa9mNrmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALs1JAAAAAAoazZlkUAAAAAAAClc2ZZFAAAAAFK5syyLQuRKfp/m+jNm+r4drGkigAAfG9/FrZ3JL0o9IrmWaA8PTw9PD0AHzXTz72O0kva+HpynSgAAfNdPPvY7SS/nXfyCaP07z/QlmvmOnnqJ9FjvGmxnqAAB8h28elNSLQ3xjsu46w3Hqx3PUvS1tY6iRZZqKzxOUv47Ye+W1jrIsVzwk83Hc2c7AAA+d6cNrHWRfzvt5BNH6h5voyS9tAAAAAfIdvHfO17mgAAAAAIrnqXtcDfDZz07XuaAAAAAwN8NnPTtfmdcvr+Xq6l0s9QAAAAAKtx5YAAAAAAAAOE7UAAAAADhO1GZrnvc/QAAAAAAAAAAAAAAAAAAAAAAAABg9PPvc/QAAAAAAAAAAAAAAAAAAAAAAAABg9PPvc/QAAAAAAAAAAAAAAAAAAAAAAAABg9PPvc/QAAAAAAAAAAAAAAAAAAAAAAAABg9PPfx2ztc/CoLmuaEsCk+gz1xNcvpsdwAAAAAAAAAAAAAAAAAABg9PPo47ZNx2eENnKac3m3Ns3cds+40JsAAAAAAAAAAAAAAAAAAAYPTz73P0AAAAAAAAAAAAAAAAAAAAAAAAAYPTz73P0AAAAAAAAAAAAAAAAAAAAAAAAAYPTz73P0Z++OVc/S8/QAAB4nqgAAAAAAAAAAAAAAAAAADB6efe5+j5Tt4+12+Xowd8+7ixnpHcwXMmdxb515ftOXqAAAAAAAAAAAAAAAAAAAwenn3ufo8QeECdHijojs9BZmgAAAAAAAAAAAAAAAAAAMHp597n6AAAAAAAAAAAAAAAAAAAAAAAAAMHp597n6AILj1QAAAABykdzxYAAAAAAAO5ea8QAAAAAdy814lC53ufoAhuaFzma57OOsGs62OoAAAhua9xV1zraxdz0rXFmdIrnlJZqC44snm+pfLOUFjO5JryyG55SebhubWdgAADk8sqa5xzW9z9AENzWStc3JqZZpoAAAQ3NbXOvcx3M01FZLLDcyTXaw3PierNNV7jpYrm3npLLyR3PhJLxU0oAAAHJX1iKXe5+iC4HSyzQAAAAAjuaWuXNAAAAAAADqOaAAAAAA6jmhUTXx1nmwAAAAAAAAAAAAAAAAAAAAAAABg9PPr46zzYAAAAAAAAAAAAAAAAAAAAAAAAwenn18dZ5sAAAAAAAAAAAAAAAAAAAAAAAAYPTz6+Os82AAAAAAAAAAAAAAAAAAAAAAAAMHp59fHWebpXPoKtzZmobmxNcnZl3GznpmaxsZ6AAAAAAAAAAAAAAAAAAYPTz6+Os838H180ZpS5tzXubs1Zms/XP6jn6I7nTz0zdc93HYAAAAAAAAAAAAAAAAADB6efXx1nmwAAAAAAAAAAAAAAAAAAAAAAABg9PPr46zzYAAAAAAAAAAAAAAAAAAAAAAAA//2gAIAQEAAQUC5pBHmlOu3koRht0ak7YfXy6f1tyyu0I1alXj+rq0+O/3fWXZX68qRfH2pXLx18Yr4y5E7O0l425CfjL0PrL3v1Z0pyFFVF+73i++y+zS26aavtKUtXylSL16l0dTb1oUr5Oh693UpN/arvE8jQmvZ5aCpG/WWuW7qRJ+VqKPIQqlVt6WvZvbkbof4xXp7Vkfrt0+u3T67dPrt0+u3T67dPrt0+u3T67dPrt0+u3T67dJRWKw1dicex2zsds7HbOx2zsds7HbOx2zsds7HbOx2zsds7HbOx2zsds7HbOx2zsdslFYrDV2Jx7HbOx2zsds7HbOx2zsds7HbOx2zsds7HbOx2zsdslFYrDV2Jx7Hb41o9mWKRk6pKKrKcY8EsrWfr8xCHd5MIrq6CqicI21yXi6OOicHR/R5KEe5yYRXUfhlF/X5KEe5yYRXXhV/wBquR/nYnCm+N6LX4+eUNamure9fmPlq5H+ZqkZ5ulS/wDCqcJztl/zzV68i79rUnJnchJcrVaUrMpO0ozdKVktfkvkK5H+Z/tJyA6ZevyXyFcj/PCr/tWsjFl9vzHyxFZcjIyMjIyMjIyMjIyMiaJIi0UyPIK+wIrLkZGRkZGRkZGRkZHkFfYEVl8dodzJPGaKJ9dpJ71urRbLtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaDtaBdLVkva0Ha0Ha0Ha0Ha0Ha0Ha0Ha0Ha0Ha0Ha0Ha0Ha0C6WrJe1oO1oPC/D5n4X4XM/C/C5n4X4XM/C/C3ttNXWXyOzTVV5LY69Hmdiaa29vlnllu1Z+Q2Y3y86nR+7nKnLZXW8RLa6/KPC/C3dSG1rp4myyGv4u2N0PE4613hp2H0tipHQbb+kxoj4xUU19To38o8L8Lmfhfhcz8L8Inttam/fd5L1ujco8L8I8jrRuloa8apblk4a67uzhTO+3Y39m+qyzavF7m1I7mx3VNlsKI7u4keT+F+EMgyEoRnHtdbpdChrNei2S69C2rTTKCauqk4autBV1tZZcn8L8Lmfhfhcf3nLpROlE6UTpROlE6UTpROlE6UTpROlE6URUwJqsp4mJiYmJiYmJiYmJiYmJiYkFWM1VZriYmJiYmJiYmJiYmJBVjNVWa4nhfhcYflsX3w3J+UWymjYsnZKW0nkfYt/H/0ssnG2W0soV2Ksp5pZOxUl15ncqpdOcVTciqrsylUuxJC2axnLYaPcSQ7iT1zyP/SIs5JLqqpGTiZJZ7H/AKRFtnG3wvwuMPy2tOvYPrYKlGslUpVRlb7Fv4qv+y2uNh0IkIJFUpRJzikl6EDpQacUmJTFDoQOjElGMl7eDXV5JClSuKQRF/2IpKMZLghFkEiiLkZGRkZGRkZCL/sRSymE18L8I6k5D3laS92xFWMqr1l0bzo3nRvOjedG86N50bzo3nRvOjedG86N50bzo3nRvOjeRqvSXRvfo3nRvOjedG86N50bzo3nRvOjedG86N50byNV6S6N79G88L8K39+Z+F+FZ+fMvC/Cs/PmXhfhWfnzLwvwrPzJbupG2zd1K7Ld3Upld5PVqsXe00thuxerb1bivd1LSnb1rl2PLVV7tttdVfjvI96nJfC/Cs/MjCyqd9NsFp0ppv1UWVa19e3OzZ1r5a21pWy29PWukviNaNOj5Gqcr4253eNrsjfyXwvwrPz5l4X4Vn58y//aAAgBAgABBQLmycHHHHHH4uPwccfkmPFhuLcEGG4sN/jjjjjjjjjjjjj81j+jT3k9pfZj7SeynvJ+jj+jT3k4qo4/vOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOS5pLmkuaS5pLgww3BhhhuC8plwcccccccflcuaS5pLgw3MZcEFE9DcG5VLmkuaS5pL1N7zehhuDDDcGGG/Ry9T+8/of0OPwf9LLmkuaS5pLmkuaS9TepuCpyaXtqJwXk0uaS5p//9oACAEDAAEFAuashIRDExGGMTEVBjExGMTExFTkfUFURTIyP6RTIcVTIz4OZCKIrCr/AIyxipipipipipipipipipipipivFhhhhhhhhhhhhhhhhuLDDDDDDDDDDDcW/Qz/AJ9L+7L3pex/ZET2LP54LwQQXggvFBR+KEvel6m92z+f0UvelxjFzBDBPeWJihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihXzSvmlfNK+aViqZGRkIpkOZGXCPKaxUMTExMTAYxMeCJymvmlfNK+GRl+/MK+C/wAp/Kjn9qpkKOf0/KK/Sw3oYYblFfNK/Swwwwwwwwwww3JK/SqiyEU/v2F4KpkIooqjmQpmZGQpkZGQi+h/dcr9KoYjDeyvBUMRBuDDCjDDcMRUEQT9CqFfBz9xPdUZRlGUZRlGUZRlGUZRlGUZRlGUZRlGUZRlGUZRlGUZRlGUZRlGUZRlGUZSsXmdYvM6xeZ1i8zrF4OOOZDjjjjiy4IvJqxeLDDcWGIkuEeTVi8zrF5n/9oACAECAgY/Alaf/9oACAEDAgY/Alaf/9oACAEBAQY/AvigGcofwx3QpYRhBtYIzxRhAFnmWtRg38/FwdjM6iIzhMSJGKJsBFtq4vFjKeJvCXHy7VGpCQ4kp4cLqljlGpSnIxeBysgIShMEkYgbA2dR8UZiV0olwseKD4cfDfxMjbGU4+amD4g6PjgTEgSiDaCc6qMxNKQiR2ktYrJQkXEZCJ8pOdeEwmcWAiJuPahhlCYdjKJsDZ1GWKM4SunAuPgTi8XK6nunWjUqNiOa5GJxQm744gEkZrUZxjK2pj+WHCo+KpUAJJJAGRmsXAk+MTxRzKMK0TLBPGGYi5lSczngniJIiLGaxkIU+JgMscpXEWMGUMLylHzVCACdCw+KXhYU5MQJZ3vRkDMyldTLYR8711FelixEwnKMm/1ZFUlSEzOpOMziZrC7J3qSeQOEgeEAv81VlhJx1MY7rdaxUozJk+KZvAOQZFCEZSnhtMpMP6D/AAzihTJjnXJkuTJcmS5MlyZLkyXJkuTJcmS5MlyZLkyTSDEZFijAkLllcsrllcsrllcsrllcsrllcsrllcsrllcsrllcsrllMbCFijAkLllcsrllcsrllcsrllcsrllcsrllcspjYQsUYEhcs+2I7QmDARLBS7EYg2xvCDnzFh7JQEnnHzDM/uKNnm82lMGsLI9ibMu/2NEufwNl/A2X8NGzzX6Uwawsj2fgZ/cUbPNfpTBrCyPZ7Yd4Ur7xmUu9dX45RnLh2Y8PhNj5WHajxazU4dRFpiZm0TDJMsW7VUaRqUhNqMza8Wz5bV1AphgYwke8mXuOn/OVHvUlUtLlsqtlYJi13yZ1K14PYTmQYgCNkI5UcUjGzwN+bUfEeLish2dypyxHxEgoEebCcPei07GttJ/yUXJYTvdxdnUPETUJ8cf+ikf+0fqjhlY8RYsMpEUxI2v2Z1HHMiFviuyoGV6ofnKj3qSPcr7HCOUZFFt33FD85Ue9S9sO8I3Wl1Lt950/5yo3Wl0e3315BGUJhd7KHf8AVG60uj2+8od/1RutLo9qeVlON65QK5Q98JVIYiLirjpKuOkq46SrjpKuOkq46SrjpKuOkq46SrjpKuOkq46SrjpKuOkq46SrjpKuOkq46SgTByLnJVx0lXHSVcdJVx0lXHSVcdJVx0lXHSVcdJVx0lXHSVcdJVx0lAmDkXOSrjpKuOkr1H4p6j8U9R+Keo/FPUVKsRia6Ocm5VanVdNwxTiJAxliBfIoUepocI1omVIiWK7IV09SfTCFHqJ8OMsbl+5l1s50sfCm0RjAa6y3JlddXGQY0Yg46NR780mUemoUOLLgiqZSm30XTSjTAn1Dn+SeGMcN/iVCVGhxKtWcqeDFcY9qxYBHqMPkJcYszrrI9TUxzjMXeW7J8J9RUqEywllGQhVY9X1U6/EjgFmADta51Gr1HUmvKnExpeERZ/1XS0eL/wDNU4mJr77L7L11Mf7hqXUSx4MIsl9blXx9Q5rwED4AGw5gCv7jH/4hRwtmyrp4wrNW6d8NQwBBEr/CV0xlWxSoSM5FvM4/p7Ooq4n48hJmuYN8J9R+Keo/FPUfYaYZxZ4pN22WFQ6eHgpw5xHics4jaPcO9mf4T6j7KgxinUBEqUrmIFhVKImJycynLOSLSpGmQJ2AE9p7bHzKNIGZqGrw5WUxUHhxNfwyV00qk2MTVjsWtnZw+dkcE2p04YpYcEiO2cZMcP2qtWFUAUZiAosPE7X7Tl7FSqTrsP7hhERjYImQGRUvFI0qtSULRAQYA+W3G9mVURxccasZx4bDw4Ym7L3uv43EaEaYA/jwl4g+LERLLk+Eeo/gMZgSibwblweFDhf+vCMOhQjw44adsAws7kJVKcZyj5TIAshVNOJqi6bB9KwShEwvwtY96xijDGS+LCHdGUKUImXmIiA6jI0oGUPIWFnd8I9R+Keo/gIdoxsszra3pa1tb0ta2t6WtbW9LWtrelrW1vS1ra3pa1tb0ta2t6WtbW9LWtrelrW1vS1oEEtcQbb0Q7RjmV8t4q+W8VfLeKvlvFXy3ir5bxV8t4q+W8VfLeKvlvFXy3ir5bxV8t4q+W8VfLeKvlvFAO8ZZ0bSALABZcr5bxV8t4q+W8VfLeKvlvFXy3ir5bxV8t4q+W8VfLeKvlvFXy3igHeMs6NpAFgAsuV8t4r1H8FT7v2hUoxjipGE5SttsZV4ww8WEMceHMTy3E5CpUqtPh1IgSYHEGPbZmVOJIHTkSaIvJDWn3Pqj/uCqd/0CiAHixJUwLJAOMJdGMo4ZC3Oh43mTZAXYe1CMY4pH5Kyn5Q87U4h4AQMT5+xU8OWVqusLsxt0KRiA4bK96JweGNki6hmtcfJA4djGmlBpWYQ+dGODxuwD/NFwxiWIVPv+hR+6X6qWYBWXvkKzEIAk235vl7mn3/Qo/dL9VUseMQGtXqP4Kn3ftCGMyFkonDljK8KWOrUnihw3LXdjAKUzOVScrDKbXC4WMoVMsHb5+59Uf8AcFPv+gVpOaztReUi4w5ES5kTlKMxOTm03akC5jIZQrJEWNLtRGQl9H+SFrMXDLzSw5IvnReRJIZ15ixtkM6BOT6q2UjZh+SceazsuRMyRIlwXtWd7SSod/0KP3S/VOry+dfqr7rh7mHf9Cj90v1RJJt+i9R9ngi4zktrXljvHUpGV8i9nc3Z72y9wdBdGXht7TqWzpOpbOk6ls6TqWzpOpbOk6ls6TqWzpOpbOk6ls6TqWzpOpbOk6ls6TqWzpOpbOk6ls6TqWzpOpCXhs7TqR8tpe85fktnSdS2dJ1LZ0nUtnSdS2dJ1LZ0nUtnSdS2dJ1LZ0nUtnSdS2dJ1LZ0nUhLw2dp1I+W0vecvyWzpOpeoqMckjb+v0+J+oql937T8T9RVL7v2n4n6iqX3ftPxP1FUvu/afZwZVoCrdgcOuHUrQjP/SSHWGrWhCV7SIBVCOMEV7pOGbOuCa0OLdgcO6r8bBThRlhxYx/XMpcKrGeHzYSCpcOtCeC2TEWBEUasahF+EuqXSQGOcpYZm4RdSq1C0IB5FVSIYBTlhD3n4N6iqX3ftPsrUKnQS6irUrY4VG8BD2PPIy62hLo51qvUyejWiMUbbnlkZR41PGIdIIYyHGLvX/GzqdNOfClLiREHkHdrFJ6E44eoE8NOkMGF/NivkV/yEeFI468TEMbQ4uXURo08MZ9LgiQGjie57k/DrCVKhKBxQjCNo8oa2Spfx8OoYjiWNJ+1dGYQJw1nmQLrLyqlI05AQbxkeGT5l1plExEqzxfKGyfBvUVS+79p+J+oql937T8T/9oACAEBAwE/IeaaFg7mCCwYiMIAQQ7fqJTxTBLAIGYqCAo6l8wOek0iKKHYZSlDPqoVqP2lhlhIEP1fHaXBgFmgirDKEpSZbKDIoyjwRMm1FDlHdQMx4pL3h4AwC/FmC1zlbEOSVAAo1jSKAYllJZnCSDnZJKFueUR0UYyTUAoUB4TyUGXICQhiMN4BcYV5EBGRGWogAALceH0EKADK8P6TaccdsJFCUIAxWJrKlgNQBMACA3qYCCL2AGYVcYVZFCBDuM4Xl+HMoRoBCzgIUiaIooIarFyxZGvLamSXBgAYMwm1yEDagJCXGioQAlsICZEL1gUEZAAY4C4TQKvUACAXY47gCGmNnW6h8i0QBrDYg1rGdIQbHYCh/wCZCTdYBPpJ9JPpJ9JPpJ9JPpJ9JPpJ9JPpJ9JCUyiJQMLNjOiE6ITohOiE6ITohOiE6ITohOiE6ITohOiE6ITohOiE6IQlHiAYGFmxnRCdEJ0QnRCdEJ0QnRCdEJ0QnRCdEJ0QhKPEAwMLNjOiHERaoIiP3ABxiAngfmEApWqfMDZKlGodnCAqO5lNdhwG2RI74D3XoWVt3RTKAEAefzFmlSp8wEJA1uESMpkN+BEKDD8MQqqBwKDKdBvwxuxrT8bEYNdEplACAPP5izSpU+Yw1jlCAvjTgDIqy9CxGDXRKZQAgDz+Ys0qVPnj1LOe0XTCPXeRrLBQwuZWAQTFHBEAxBcQYqdVGUiTowMI8kJshjqAYAzHy3SS5JJqT6H806m3KNjXpaU3iZVDjihrABQcUoSA4CRj2kIr5pnjDeADkWZgAMeAIEmcaYtIWykDC+jGEzEhhLCDVP1DJmbM77JkdSVGXiUIUDonVqYKMYdUgBzQDHQsIcYUikjK/wBojnvxZtqEyAwFzsIBuxMqBoViRIoZ2wlwwLm+ntPd/Cam3KNjXpaECmQSCrrKgQaFQFr9w3QUmqAmFD2a+h7v4TU25Rsa9LcepZwh0mzLPWEIpW6fPqfzSQToFmXzHGlTp8+t/wD0LsAiMW2n74egsEIJ0CzL5jjSp0+fU/8A9BYIQToFmXzHGlTp8wpyYhnpAAUGJbgOBAiKg18+sDJdzpjhOq/mdV/M6r+Z1X8zqv5nVfzOq/mdV/M6r+Z1X8zqv5nVfzOq/mdV/M6r+Z1X8zqv5nVfzMcHRC2rOq/mdV/M6r+Z1X8zqv5nVfzOq/mdV/M6r+Z1X8zqv5nVfzOq/mY4OiFtWdV/M6r+YN/NDqtuadVtzTqtuadVtCfTUDowgeFTC2wrxNFaCLMGHxqLKzSCKiURBiCNClIMoEqaIYqAADAO2i7F8CgjYwaEFAEWRqZpFLUoA1DEK1tSLhJCwMkpBGLlBFWCilwYPKUnOlijZCbDlPVbQjhQi8QwR+xF0hQAYLCSSYXMBG0yAIokollLplaHgfIlRAAWlkFkujJCDhP0CsYIAJUXvMae8Dqfso1C7KIMCQj3h4h+RDKSBCD98NteLCGy+U9VtzTqtuadVtwGNPC4kkChUoYYAN4t1ECQFV6AOkDdkgIIBBYNjyjqtuBREFSwXwQeZARZKN3MdlRKBYCBuHdRwMhIUiNJiwzywctqrWtIU5aAUNRBC9QNQKgozvB7GmwMUXkYjYx4xTGArKJEkoQylYNxChlFCaNLRZJ8tBDIYEqn6hGAoQFbjrFA/u0FuT9VtwJLhwAsFBRTQ7IZEGAKHam4XwKKrEs4xYjh+pflypsJFJSzycw7I8YcGosYGpUrN1hQIciwGLTcF7ZEgMihWDfGAUxEWZUXKOq25p1W34EExEUEQSgLYqqzXga8DXga8DXga8DXga8DXga8DXga8AhlhkFjcQIJaRMfFQIiCSQDcVVZ0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Y+KgREkEAm5qqQ1EiJA3ESSFlOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLOl5Z0vLHxUCIkggE3NVSGokRIG4iSQsp0vLOq2/D2yAcwGoCNJAjXMX0g4QZAmBAD3BrBiqoEeAaKgagpXFz9ATTkyAB9ehbgfwydYBjVlBAACYONJhIxOYBAUIOtJThB8IxJtjFbiSiUAGZrnDWYSARAEPAXdoCiwYXLcmsEQUVWqI6GDIQoKGnPC1BxlwBuJGjB/UxCYuwOKCqA4YQcXMTS7JkjyVPeFrAgZugzhKppjaixU1ZQ44jE63of3P6ZdJrjDDEVZQrQITAWM4YSwwiLwykIWOL0X9Muk1x8MoEF3nOq2/D2yBdFAogEURg5C0I4cYIKcEIMCFdQADwSaohAQZwhQkrERa1vt6NuAjbyLhRA6guBvHjsxA3RAQyVIG6hYUUAJFQ02xKDS4pbRuKsSkhZojZqwfaAI7AWyhKK1InGb9uUageCH6V944LYemAC8APeE5LbBkIhiaY4qZ2lDYjAwAjiyKFlTSMK6AA8RsHAw4DCrCKCul7QkAJIsWJjN/JfUvhQRIatpaXzWEGzD9QAkNupHGDhYi6sIkSJEiRIkSM38l9S+AKkAICVTBqDOq2hIAZoBBUZKtO1C9uFkNACgE8FxGT1U9UAdBQurlEuB2tID+f+HTTTTTTTTTTTTTTTRLidrSI/uVhVG6P+vV000000000000S4na0iP7lYVRuj/rhp1W0veD2AFP3zN1W09x5m9VtPceZvVbT3Hmb1W09x4NTlBgmNgszAY1qnVWoZSiVlBxRrDxKStVWxyJoIgk1SsYLOPhJsyguxzWbGHAv+hBmVhLUhVyMTprAYJBEaA7QpUPVIGKqpraPcZWFAaCsETctQmyFTbk3VbT3HglWLMqrFUoYQ4oQCABcY9YCGZ0rJBAIJqEqAJwC8KqZdYMixAQQXwBMGRgLFV3q6aKiXTZgtgZRgV8niihFSovKH6uOXa8cYIQhMijChbcw4fMxnhXisYVXIoEBCrXHJuq2nuPM3qtp7jzN//9oACAECAwE/IeasyyE8QVQ1cQGPiP8AAA8kAKEcTGEcCMBcAlRHhMEEwBf+ZcSJEiRIkSJEiRInBxxxxxxxxxxxxxxxxx8HHHHHHHHHHHHHwcfor0LPyXIwWi4CaehZxEUMIgihlkXAiCLgofwDgfXP1bPyXFRfguA4L8S4qKKKKKL8CI8f1gQjx48ePHjx48ePHjx48ePHjx48ePHjx48ePHjx48ePLuaXc0u5pdzS6AP8ARBy4V0B9ILJ5TdzS7ml3ARZzG7hZLOBTCAcA4FWEV5Rd+Ljjjjjjj5RdzS78XHHHHHHHHHHHwH/AAn1jxu/AwCCCIBT0RwApwEQQDiAfhAPwBHFReqpd+BgK4SY/RHAFcBMcHA4I/xAMJh/B+qDLuClIfVEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEYjEug5ndBzO6Dmd0HM7oOCiighQiKKKDgRya6Dg4444I4DHwFyhdBzO6Dmf/2gAIAQMDAT8h5roQKxk9z4CocDiCqNES1wlCXEJRojkbRhi5f+5+8dkEL5xYAGcdLFDDCJEXCHfEmAsj/wDzIIzQmhNCaE0JoTQmhNCaE0JocEY0aNGjRo0aNGjRo0aNGjcEY0aNGjRo0aNGjRuCMb8GoDHCeD9AYcB/AAfVGscB/B+gNY4D+IhKKEvvwCj6QJQTH/YfaGCYVY+8wS/9R6x/2F34C3tP5AczSWy/gIeA9G/gPxAesCOOOOOOOOOOOOOGsFI5dwEcccccccccccu4CMf8EAN+SVVVVVVVVVVVVZzSzmlnNLOaWREbEQFwFho/D1WsuPKbIwfkIcMcKTymzmlnNLOBrUYpzGzgNUGiHSPGSEM4SqYxW8Eg+wwEu3KLPxSJCBFEIkSJyizmln4X9UAC0NTFFFFFFFFFFFFFFFFBQy8UUUUUUUUUUUUFDLxSz8BjCAyhlwCSnpMTCOGngM9eA+U9kM0giocBIw/xNk2VjJiII+AGY+jiIITBMs/AYxsWBIanl6TExnACl7hDixID4V4SHE4WbAUxEEIiggEccccccccxEECZZw0Tp0vWBD/wlVVVVUPWKqqqocSrOaLJcOsOZ2S4dYczslw6w5nZLh1hwSEIQhCJBKRIAlRQlR/JrJcOsOC0myD+JgpCDlEa9Zw1UjQKQKiOBU8mslw6w5nZLh1hzP8A/9oADAMBAAIRAxEAABCSSSSSSSSSSSSSSSSSSSSSSSSSSANJYaCrW5SSSSSSSSSSSSSSSSSOPl8wkMjSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSST/8A/wD/AP8AkAAAAAAAAEgAAAAAEgkEa0UkkkG+VttVVVtv3frtttv3kRNYckkkyhAYPU5IvdUKlttttUkXckkkkkzIAAAAAAiHZAAAAAHZV0kkkkkk0kkkkkkkknkkkkkknkEkkkkkkkkkkkkkkkkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkkkkkkMJg3jjkkkkkkkkkkkkkkkkkkkkIz80KikkkkkkkkkkkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkkkkkkMNkkkjEkkkkkkkkkkkkkkkkkkkMoUN30wkkkkkkkkkkkkkkkkkkkMtLe2hskkkkkkkkkkkkkkkkkkkMkkkkkkkkkkkkkkkkkkkkkkkkkMkckkkkkmZJJJJJJJLBJJJJJLBMki2Ekkkk3x8FTowpeNdTbbbeJMki3EkkkkORh+E8mghVXltttpUIfEkkkkkhckkkkkkkjkkkkkkjkLkkkkkkkkkkkkkkkkkkkkkkkkkPkkkkkkkkkkkkkkkkkkkkkkkkkPkkkkkkkkkkkkkkkkkkkkkkkkkPkkkkkkkkkkkkkkkkkkkkkkkkkPlBANhaEkkkkkkkkkkkkkkkkkkPkhtJNkMkkkkkkkkkkkkkkkkkkPkkkkkkkkkkkkkkkkkkkkkkkkkPkkkkkkkkkkkkkkkkkkkkkkkkk//2gAIAQEDAT8Q5oEkGD40APmPAIA8gbQcakIIkIoKCFI5TxZ1ySqxak8Ls+pUV2UBjKkJSNSLCIJDQhtCpIEuqgjDpwEARYVS31kqg+eQ+ySjZC+JpmYyhBAGwMb9ZojoqCBB0j7T0DyV8vhFERTaiphRGihxXgSNgprVXAwVzISMrgYTFQKNDZSjIhZdEZqnWuMpQ8oXzgZgDxiZniByppBANuRLtIo0Rgo6wXTgAGWFbTRBAYWgAJPuYMQcxMANxqxALd3oU9ilNRgYGSSRoFIwFyGCoJjYoMGSiDsJh8bKjAqulMoQY9SRQqxRvrCGU4T4AoqXEdQYiIK34CBooc4HCBfO8I+gRoYKKvEs0gmuyoD9UPA2GCZglmqcFD5c6E6xzVRhhsEZ3IYJFJkBFMaARErLRMOBuG5tIMkFgjxC/ZAqBADH/wAzkw9g959A8z6B5n0DzPoHmfQPM+geZ9A8z6B5n0DzPoHmfQPM+geYX4iREGW0o6APcifc+U+58p9z5T7nyn3PlPufKfc+U+58p9z5T7nyn3PlPufKfc+U+58p9z5T7nyn3PlCTykMiDLaUdAHuRPufKfc+U+58p9z5T7nyn3PlPufKfc+U+58p9z5T7nyn3PlCTykMiDLaUdAHuRPufLiKUFgsQQBEpiCzARelKqDGEbSkzNgaMDWUWHMKbQKhiocBEUJxSR+w8ApJMmByrCp6AhwAhQGWK/qBGUpgAJelKqCHI0KMzYHYYEwVKNQ6hwgLm5kCV7cBkQJTEAokZjb8CMTAALNSAgSv3wPCIjSSmjQ7cAUrED1CQD7fi4ViFCxCPcwIylMABL0pVQQ5GhRmbA7DMZCBnEorZMA3PAyGI32X9BwrEKFiEe5gRlKYACXpSqghyNCjM2B2Hj1/LMFomCjT7nXLCZUJgEmot4VIzwMIMjdy+WqoOK6WKsHjWsJoAGGo84xZWKiTJLAubwR02GRI8JFLn0Pa/wmFyqw0aeGbrLxRjUJCyqt4YaHQDECAJE3FEDEADMD9lkgl1gjBmmEgg8wAsODTPstiBy6CghbI4miaAxEGjgCGhIIyExoQXJgE41HpDAFQJawVEY2kBEAWE4qHXgEuohkM4YIFrwD2UTWAiiRFldoeAUYCG6rKQbGEuV0GAPBuhXRinAADVaylnMgyWg8TSDbAXRgEKOcQdwmsAiDLEZlJ7LLC5VYaNPDN1l4oxqEhZVW8WqAiYgdoXLZAlRbIMOFSVCcthVqb1jCVAKI0lkvQ9llhcqsNGnhm6y8UY1CQsqrfj1/LNCbb0TNWihwhG0pIjYCrE0iBiCWHpe1/hNMkehetaKGOE2REbLcYkSJnFziRIucTOJEiRM4kZWI6A6EfuJ2mGpJEkskk3JMXOOWgR0yR6F61ooY4TZERstxiZxM4mcSLnFzi5xc4ucXOLnHLQI6ZI9C9a0UMcJsiI2W4w3w4KuRwQ4SAT2boiGLWACJBFQR6wRo0QBAGxhj/wAYcOHDhw4cOHDhw4cOHDhw4wRDORMGokresHDhw4cOHDhw4cOHGCIZyJg1ElbiHDiVKkZOgR+eaWeaKzzRWeaKzE7ePWHOgUNQooQ+4xBAA6HAzUX0YzbKgk6CgyOLumOM0LfiWOGzpBgugAUeJisiYsLlQIQjr9yAYSvElKWTHRQFhk4Qhy+jh16UBd7RWwlEoEkZuDgUgdzbg7BKwuP6Q1k2VL0stgW5TZiscMOIPsoEiogIMINIKVqSoWYw82HBMnd4A03BrFdbj2Qbj0vWq9pSAtYfgJcw0QhmY5IA1xad2/3fyQDHHKDDE+IGT78Dz6ATCcH2VkUDdocps80Vnmis8ETXSCI0BQBcLG9kAKgX2TB4MHiwCA6m3EkC5XBhBCAQUzdlB9ggQFgg2II5RZ4IPYmYEgeDDeYHUXuk+O4q6CG6cKN4KoTJHSChVCwkRhECgypQiUuB1IkFWlxgpWle/wAeL8IEhxohg3SziyQmRMFMRi29fqMGAAk/qtSnlJolACK1LVA4TdwggJiwxi8DNIcRWQ8gH4IiiBTE4IkCQiQ1yezwVpksw5aZroKG8oFDVwBBG8KQBEAk1RvXW0A0ECEjiECMO8EkIzDMFmjUAaQepQDGGgVKaxj4JZ0q0xqSvWDfYCLggxoGauEceNo3KAhoZYSofpGYcCtyizzRWfwQGFiMU6MEAUAbt+qUKFChQoUKFChQo9ifPWYSKowI1gNkoNhakwAAKA/cWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDJslIsLUGJEDYP6l26X8DCRJNGAGsWDWDWDWDWDWDWDWDWDWDWDWDJslIsLUGJEDYP6l26X8DCRJNGAGsWDs/iqInonPHGMikUizIRo86+qFzeUR+xBBF4JsAbYCwwJEGBGeKJgAbcImq9IUMDQWUwInCYwdK46QB64pUSIFxrAdhqCxh0VAhGkMQeJZUgEjVde0XgxoRsoxABSPDWCMrAaiOAhRZigFAgRkK6wFooRBml+h/qC4YAFREkIDwFTHYmhIASAQ0B/aECOCgMrRgqxtCYGAgoAcAYJwwQLY98KsEGFBwCBQRW8AlIABJisUgDJwLtxQIACgAYIDCCB2wYeCSggqSakkBawnAElAARDgGVaQKtZ5GnQ0YrGW0AorgNnoiB2wYpHc8BgyQCeLNFLP4qiXRjNBTUouaFi8IIua9eg5YY4uiLZJoF4IeQ2Ik1JgpU5AcCCCHhSPpFBimMWWPAgEgGBkEI4VqCQSAIECCIDg5UCFsQFXKB4bCIStUSBROB0ABgYkAEBQwhCs0jYiTWQ6mqQjZBgEVAIUWogxDxoAoCMAIgwwArWgOwKICl0dEQgKC00ItFi7R6NIRfYawVADDkmgQFAipUyjREJtdRBqMRgAU3wQBQCBu0dIJQlSWuIXa0oUJr+QZ9GUALBUEGKIwiHKGcTCBBBM2VQbQkJD1CYESArMYDhGZJMkc0pX01gFmSAPf0QAAGKIwiHKGRhmjUpaoB/UsxEBAAyTQACAFyYEMwCGpDgVIisgaIA8IPqrmQkMkphAEHogbLROJXqPFNKTpSdKTpSdKTpSdKTpSdKTpSdKTpSdKTpSdKTpSS2egUbvWWKFYCEVhq7Y0pOlJ0pOlJ0pOlJ0pOlJ0pOlJ0pOlJLZ6BRu9ZYoVgIRWGrtjSk2YgyQjzLy0oHmdnmihWeaKFZ5ooVnioQ6RQKc9cXUCFzKdDmpQQEPBykr4GgxAAwIEg2hl2AwEYOVCpXMpZ6pYStdleLtSKIAoSHIvw2DC4FmDgvaX+znKFGz9Ib6oDsCXMs9XcJUEDgCmGMpM4FCZKCWwEVmvGaQB4PXEeTWeKhC8A0FDGI2WHLGC1h9iASdw9hWFoMItlwmRoKqK8RkaLgAZB+1AKYSsKiWZoXJEDr/RwjBBhgFkUhwIGpSgKFDATtpBA4goiK0CxlneCE2sSHcAMglSyD3E4AuIFLCC0vAlShKEuyK7CXUOAbgpyazzRQrPNFC//9oACAECAwE/EOanOMJhE0ifpRcYxFEJgoaTnFjIrUAGAYtNYBgE6QDGcjSKKHJjpaTHaI1aQ5NMo9bQmqVKqM3EZRmAeqRyatAmVowAaQJVf+axEXM1JqTUmpNSak1JqTUmpNSanAgIucXOLnFzi5xc4ucXOLnFzi5xc4ucXOLnFzi58CAi5xc4ucXOLnFzi5xc4ucXOLnFz4EBFz/BOERG8AJ4Ek/QIwnCIoBwJi/4LguC/E6ROEfgj6B0icI/AQ4QGH7gTDCBbaGIP0L0EMBgTQMINRnDAQaUE2UUSolX7QhlFfaUDSkFgdYQIKjOJhgVUNyFYIdJbBDLIuDD0LYIfwEE+pe4ERRRcCi4iii4FKIWS+AKcCIuBRegACnAiKaw581/WoA/4wAAAAANT1gAAADU4h/Lmn8uafy5p/Lmn8o4ohsYQwMXOBoIAFiEHXOe2bog9IIQXVuU/wAoouUWEOQS6DTNsLd+As+DQBlyn+XNP5c0/lwaGYRBH0Fyn+XAqIVVIAJrFvEAS0giKwAwM4oYAwhAOkIE6YiBuFyeUfy4OOAxo0BCNGj5xs42fKP5c0/l+FhH6Aj9AR+gI/QEfoCP0BH6Aj9AR+gI/QEfoCP0BAXAQj6UfSj6UfSj6UfSj6UfSj6UfSj6UfSj6UfSj6UfSgMQBR9KPpR9KPpR9KPpR9KPpR9KPpR9KPpQGIAo+lP5fhYOsYIiV3eJDFYBzj6N/f8AkwEASgUiBAYiEWp8xgZiZzfWCILhOAQawBnUxwMDn9qIbGLd0iJgYfEAISmEKFEejgYfEAkDOfy/CwdY8MCEbAQBGfo39/5AKCHhsoyGlIQlGjwlCeUaNlASI2UVeZMJwihhEBI4DWEuKKKKKKKKEUMIhQJ/LgguYsx7f7CFF6pIwCCr1+5vTem9N6b03pvTem9N6b03pvTem9N6EwVev3N6b03pvTem9N6b03pvTem9N6EwVev3N6b0/lMZ5n/KWHb5HM/5Sw7fI5n/AClh2+RzP+UsO3yODQGYCMIY8SlCUeEhGhwB8nH8pYdvkcNBUwVhynGYq5QgMYlOsoFVi54wmZQL6vEg3DBA6wHJv5Sw7fI5n/KWHb5HM//aAAgBAwMBPxDmoVZ2EADVoUGwBrCSWh7RyQAQXB1QNcJXQatddWlNUEE4SsEQXlMwDtCYqCzWKgAweWMCFx9x66FQkMQarbeBWRqqZw4RB+N4XUDlyMZAhnGAFVBdwBb9whUBm9lCDFyOKyUA6jcDIHd7KWGyjp8RMBQ3rZQa550r2gDGNNE88/1HO7yovMvg2D7whZZkg13cGf2GW/7jQ5kH++YWoO+mmEVFT+/8/wDMhmATNR2mo7TUdpqO01HaajtNR2mo7TUdpqO01HaajtwBrCaRmkZpGaRmkZpGaRmkZpGaRmkZpGaRmkZpGaRmkeANYTSM0jNIzSM0jNIzSM0jNIzSM0jNI8AawmkfwCEFSkYTABJDqIAJ48AJJGI9AQDUSiypGExiEgcCiB/BhrgSBwYa/EEUWVIwmOE8ABK9AEUWVIwniIXXeXmYwquurWg6Hh+YTBqw4EoGnoWNoXXeXGEKjLGVippq0zjAatvaBRGFhKxkilOsYTdzXbTaMyZqT8ylxdlAaKwZk/FJUmbZtM4VipqqOrQ0SdB/YwUaOCUUSavgYxoDLq/uESBMsQuu8uMNEx64w75QEML0LELrvLjxEN1rxBPqWNoRfeEifWEgCIUEOEmEIvvCRPqB/JhCL7wkTDaQvAHD3M0/c+sTYTQ9z5mh7nzND3PmaHufM0Pc+Zoe58zQ9z5mh7nzND3PmaHufM0Pc+Zoe58zQ9z5mh7nzND3PmaHufM0Pc+Zoe58wmw9zND3PmaHufM0Pc+Zoe58zQ9z5mh7nzND3PmaHufM0Pc+Zoe58zQ9z5mh7nzND3PmE2HuZoe58zQ9z5l/fxzS/v45pf38c0v7+OaX9/EELiAYMVHXX1AdKUgLJHvatuvmGJAjL+jfOAwAAHT4hJBCscqlfrzHgQZQeqnlN/fxKVGNzBUybCWAOxhIuuLg1e23iJN8FDReBCrY+PHBgXf/AHzym/v45pf38c0v7+OCiACmZXwYBFm1fj9egwnAXyi/v44ABCQPoQRQX+9IYGReGw8etIHDAn+D+/WcAoNFEAYG2fXxFCJ8YUkF0JhwIdDQ/UHpNhk6ryi/v44EQCEA3mApoQq4hElqFSVJXaEALATQHKL+/jml/fx+CYjARde58xde58xde58xde58xde58xde58xde58xde58xde58xde58xde58xde58wi8WhkgwE3HuZuPczce5m49zNx7mbj3M3HuZuPczce5m49zNx7mbj3M3HuZuPczce5m49zDIBgYSSvSbj3M3HuZuPczce5m49zNx7mbj3M3HuZuPczce5m49zNx7mGQDAwklek3HuZf38fhfu+BBDJQ5IXJu+MKSiEYMLAv+ejb+x/RP6fAgAgWRhCQF06FwhKIRiLqjbSEBAAZMOFYKwGagYPeBFMTAE2969oTKRemMJB0oLw4P3/IgNZoSFDVRVzjNYivKhhET+nwZi3P9hME5RzbOMgJCE+j/AE+DMW5/soFQAS/v4/C/d8CCxkQmuTZYeIMmyTAEMXy9G39j+iE9z4EHfENybLDxAk2SdYABATXbxBkC0RMokfMAgRn18QCaQAMSspeZJooROJWOsEQeEzCTRfqMDF4Qss29YAID3Pgwr7n+wJMXMwAIEeiAA9z4MK+5/sINn6l/fxwY2U1pHkHeAIZOJ+PVIRTT+wok0rr/AJNjv/k2O/8Ak2O/+TY7/wCTY7/5Njv/AJNjv/k2O/8Ak2O/+TY7/wCTY7/5Njv/AJNjv/k2O/8Ak2O/+TY7/wCQIg0pr/k2O/8Ak2O/+TY7/wCTY7/5Njv/AJNjv/k2O/8Ak2O/+TY7/wCTY7/5Njv/AJNjv/k2O/8AkCINKa/5Njv/AJNjv/kv7+JWhmf9+OZ39/E9x8uZ39/E9x8uZ39/E9x8uZ39/E9x8uBAU4EUTALmCEdLrzKyccS6L/YCYwGxhBQMSAdVgAZlfya/v4nuPlwpYLF9dd4SDdTp36+YVoiGDFrumsMfw66xlKg3+YPYw8QmsMDhoe994moV/wBhSgY/IgYkEUhgwY/J5Nf38T3Hy5nf38T3Hy5n/9k=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/js/jquery.metadata.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogTWV0YWRhdGEgLSBqUXVlcnkgcGx1Z2luIGZvciBwYXJzaW5nIG1ldGFkYXRhIGZyb20gZWxlbWVudHMKICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEpvaG4gUmVzaWcsIFllaHVkYSBLYXR6LCBK77+9w7ZybiBaYWVmZmVyZXIsIFBhdWwgTWNMYW5haGFuCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqCiAqIFJldmlzaW9uOiAkSWQkCiAqCiAqLwoKLyoqCiAqIFNldHMgdGhlIHR5cGUgb2YgbWV0YWRhdGEgdG8gdXNlLiBNZXRhZGF0YSBpcyBlbmNvZGVkIGluIEpTT04sIGFuZCBlYWNoIHByb3BlcnR5CiAqIGluIHRoZSBKU09OIHdpbGwgYmVjb21lIGEgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgaXRzZWxmLgogKgogKiBUaGVyZSBhcmUgdGhyZWUgc3VwcG9ydGVkIHR5cGVzIG9mIG1ldGFkYXRhIHN0b3JhZ2U6CiAqCiAqICAgYXR0cjogIEluc2lkZSBhbiBhdHRyaWJ1dGUuIFRoZSBuYW1lIHBhcmFtZXRlciBpbmRpY2F0ZXMgKndoaWNoKiBhdHRyaWJ1dGUuCiAqICAgICAgICAgIAogKiAgIGNsYXNzOiBJbnNpZGUgdGhlIGNsYXNzIGF0dHJpYnV0ZSwgd3JhcHBlZCBpbiBjdXJseSBicmFjZXM6IHsgfQogKiAgIAogKiAgIGVsZW06ICBJbnNpZGUgYSBjaGlsZCBlbGVtZW50IChlLmcuIGEgc2NyaXB0IHRhZykuIFRoZQogKiAgICAgICAgICBuYW1lIHBhcmFtZXRlciBpbmRpY2F0ZXMgKndoaWNoKiBlbGVtZW50LgogKiAgICAgICAgICAKICogVGhlIG1ldGFkYXRhIGZvciBhbiBlbGVtZW50IGlzIGxvYWRlZCB0aGUgZmlyc3QgdGltZSB0aGUgZWxlbWVudCBpcyBhY2Nlc3NlZCB2aWEgalF1ZXJ5LgogKgogKiBBcyBhIHJlc3VsdCwgeW91IGNhbiBkZWZpbmUgdGhlIG1ldGFkYXRhIHR5cGUsIHVzZSAkKGV4cHIpIHRvIGxvYWQgdGhlIG1ldGFkYXRhIGludG8gdGhlIGVsZW1lbnRzCiAqIG1hdGNoZWQgYnkgZXhwciwgdGhlbiByZWRlZmluZSB0aGUgbWV0YWRhdGEgdHlwZSBhbmQgcnVuIGFub3RoZXIgJChleHByKSBmb3Igb3RoZXIgZWxlbWVudHMuCiAqIAogKiBAbmFtZSAkLm1ldGFkYXRhLnNldFR5cGUKICoKICogQGV4YW1wbGUgPHAgaWQ9Im9uZSIgY2xhc3M9InNvbWVfY2xhc3Mge2l0ZW1faWQ6IDEsIGl0ZW1fbGFiZWw6ICdMYWJlbCd9Ij5UaGlzIGlzIGEgcDwvcD4KICogQGJlZm9yZSAkLm1ldGFkYXRhLnNldFR5cGUoImNsYXNzIikKICogQGFmdGVyICQoIiNvbmUiKS5tZXRhZGF0YSgpLml0ZW1faWQgPT0gMTsgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9sYWJlbCA9PSAiTGFiZWwiCiAqIEBkZXNjIFJlYWRzIG1ldGFkYXRhIGZyb20gdGhlIGNsYXNzIGF0dHJpYnV0ZQogKiAKICogQGV4YW1wbGUgPHAgaWQ9Im9uZSIgY2xhc3M9InNvbWVfY2xhc3MiIGRhdGE9IntpdGVtX2lkOiAxLCBpdGVtX2xhYmVsOiAnTGFiZWwnfSI+VGhpcyBpcyBhIHA8L3A+CiAqIEBiZWZvcmUgJC5tZXRhZGF0YS5zZXRUeXBlKCJhdHRyIiwgImRhdGEiKQogKiBAYWZ0ZXIgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9pZCA9PSAxOyAkKCIjb25lIikubWV0YWRhdGEoKS5pdGVtX2xhYmVsID09ICJMYWJlbCIKICogQGRlc2MgUmVhZHMgbWV0YWRhdGEgZnJvbSBhICJkYXRhIiBhdHRyaWJ1dGUKICogCiAqIEBleGFtcGxlIDxwIGlkPSJvbmUiIGNsYXNzPSJzb21lX2NsYXNzIj48c2NyaXB0PntpdGVtX2lkOiAxLCBpdGVtX2xhYmVsOiAnTGFiZWwnfTwvc2NyaXB0PlRoaXMgaXMgYSBwPC9wPgogKiBAYmVmb3JlICQubWV0YWRhdGEuc2V0VHlwZSgiZWxlbSIsICJzY3JpcHQiKQogKiBAYWZ0ZXIgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9pZCA9PSAxOyAkKCIjb25lIikubWV0YWRhdGEoKS5pdGVtX2xhYmVsID09ICJMYWJlbCIKICogQGRlc2MgUmVhZHMgbWV0YWRhdGEgZnJvbSBhIG5lc3RlZCBzY3JpcHQgZWxlbWVudAogKiAKICogQHBhcmFtIFN0cmluZyB0eXBlIFRoZSBlbmNvZGluZyB0eXBlCiAqIEBwYXJhbSBTdHJpbmcgbmFtZSBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIGJlIHVzZWQgdG8gZ2V0IG1ldGFkYXRhIChvcHRpb25hbCkKICogQGNhdCBQbHVnaW5zL01ldGFkYXRhCiAqIEBkZXNjciBTZXRzIHRoZSB0eXBlIG9mIGVuY29kaW5nIHRvIGJlIHVzZWQgd2hlbiBsb2FkaW5nIG1ldGFkYXRhIGZvciB0aGUgZmlyc3QgdGltZQogKiBAdHlwZSB1bmRlZmluZWQKICogQHNlZSBtZXRhZGF0YSgpCiAqLwoKKGZ1bmN0aW9uKCQpIHsKCiQuZXh0ZW5kKHsKCW1ldGFkYXRhIDogewoJCWRlZmF1bHRzIDogewoJCQl0eXBlOiAnY2xhc3MnLAoJCQluYW1lOiAnbWV0YWRhdGEnLAoJCQljcmU6IC8oey4qfSkvLAoJCQlzaW5nbGU6ICdtZXRhZGF0YScKCQl9LAoJCXNldFR5cGU6IGZ1bmN0aW9uKCB0eXBlLCBuYW1lICl7CgkJCXRoaXMuZGVmYXVsdHMudHlwZSA9IHR5cGU7CgkJCXRoaXMuZGVmYXVsdHMubmFtZSA9IG5hbWU7CgkJfSwKCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBvcHRzICl7CgkJCXZhciBzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdHMsb3B0cyk7CgkJCS8vIGNoZWNrIGZvciBlbXB0eSBzdHJpbmcgaW4gc2luZ2xlIHByb3BlcnR5CgkJCWlmICggIXNldHRpbmdzLnNpbmdsZS5sZW5ndGggKSBzZXR0aW5ncy5zaW5nbGUgPSAnbWV0YWRhdGEnOwoJCQkKCQkJdmFyIGRhdGEgPSAkLmRhdGEoZWxlbSwgc2V0dGluZ3Muc2luZ2xlKTsKCQkJLy8gcmV0dXJuZWQgY2FjaGVkIGRhdGEgaWYgaXQgYWxyZWFkeSBleGlzdHMKCQkJaWYgKCBkYXRhICkgcmV0dXJuIGRhdGE7CgkJCQoJCQlkYXRhID0gInt9IjsKCQkJCgkJCWlmICggc2V0dGluZ3MudHlwZSA9PSAiY2xhc3MiICkgewoJCQkJdmFyIG0gPSBzZXR0aW5ncy5jcmUuZXhlYyggZWxlbS5jbGFzc05hbWUgKTsKCQkJCWlmICggbSApCgkJCQkJZGF0YSA9IG1bMV07CgkJCX0gZWxzZSBpZiAoIHNldHRpbmdzLnR5cGUgPT0gImVsZW0iICkgewoJCQkJaWYoICFlbGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lICkKCQkJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCQkJdmFyIGUgPSBlbGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lKHNldHRpbmdzLm5hbWUpOwoJCQkJaWYgKCBlLmxlbmd0aCApCgkJCQkJZGF0YSA9ICQudHJpbShlWzBdLmlubmVySFRNTCk7CgkJCX0gZWxzZSBpZiAoIGVsZW0uZ2V0QXR0cmlidXRlICE9IHVuZGVmaW5lZCApIHsKCQkJCXZhciBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoIHNldHRpbmdzLm5hbWUgKTsKCQkJCWlmICggYXR0ciApCgkJCQkJZGF0YSA9IGF0dHI7CgkJCX0KCQkJCgkJCWlmICggZGF0YS5pbmRleE9mKCAneycgKSA8MCApCgkJCWRhdGEgPSAieyIgKyBkYXRhICsgIn0iOwoJCQkKCQkJZGF0YSA9IGV2YWwoIigiICsgZGF0YSArICIpIik7CgkJCQoJCQkkLmRhdGEoIGVsZW0sIHNldHRpbmdzLnNpbmdsZSwgZGF0YSApOwoJCQlyZXR1cm4gZGF0YTsKCQl9Cgl9Cn0pOwoKLyoqCiAqIFJldHVybnMgdGhlIG1ldGFkYXRhIG9iamVjdCBmb3IgdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgalF1ZXJ5IG9iamVjdC4KICoKICogQG5hbWUgbWV0YWRhdGEKICogQGRlc2NyIFJldHVybnMgZWxlbWVudCdzIG1ldGFkYXRhIG9iamVjdAogKiBAcGFyYW0gT2JqZWN0IG9wdHMgQW4gb2JqZWN0IGNvbnRpYW5pbmcgc2V0dGluZ3MgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzCiAqIEB0eXBlIGpRdWVyeQogKiBAY2F0IFBsdWdpbnMvTWV0YWRhdGEKICovCiQuZm4ubWV0YWRhdGEgPSBmdW5jdGlvbiggb3B0cyApewoJcmV0dXJuICQubWV0YWRhdGEuZ2V0KCB0aGlzWzBdLCBvcHRzICk7Cn07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/js/mbtabset.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGEpe2EubWJUYWJzZXQ9e21iVGFic2V0QXJyYXk6W10sb3B0aW9uczp7Y29udGFpbmVyOiIiLGl0ZW06ImEiLHNvcnRhYmxlOnRydWUscG9zaXRpb246ImxlZnQiLHN0YXJ0OmZ1bmN0aW9uKCl7fSxzdG9wOmZ1bmN0aW9uKCl7fX0sYnVpbGQ6ZnVuY3Rpb24oYil7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS5hZGRDbGFzcygibWJUYWJzZXQiKTt2YXIgZz17fTthLmV4dGVuZChnLGEubWJUYWJzZXQub3B0aW9ucyk7dmFyIGY9e2VsOmEodGhpcyl9O2EuZXh0ZW5kKGcsZik7YS5leHRlbmQoZyxiKTthKHRoaXMpLmFkZENsYXNzKGcucG9zaXRpb24pO3ZhciBjPWEodGhpcykuYXR0cigiaWQiKSsiX2NvbnRhaW5lciI7YSh0aGlzKS5hZnRlcigiPGRpdiBjbGFzcz0nbWJUYWJzZXRDb250YWluZXInIGlkPSciK2MrIic+PC9kaXY+Iik7dmFyIGQ9YSgiIyIrYyk7dGhpcy5vcHQ9ZzthKHRoaXMpLmZpbmQoZy5pdGVtKyI6Zmlyc3QiKS5hZGRDbGFzcygic2VsIik7dmFyIGU9YSh0aGlzKS5maW5kKGcuaXRlbSk7aWYoYS5tZXRhZGF0YSl7YS5tZXRhZGF0YS5zZXRUeXBlKCJjbGFzcyIpO2EoZSkuZWFjaChmdW5jdGlvbigpe2lmKGEodGhpcykubWV0YWRhdGEoKS5jb250ZW50KXthKHRoaXMpLmF0dHIoImNvbnRlbnQiLGEodGhpcykubWV0YWRhdGEoKS5jb250ZW50KX1pZihhKHRoaXMpLm1ldGFkYXRhKCkuYWpheENvbnRlbnQpe2EodGhpcykuYXR0cigiYWpheENvbnRlbnQiLGEodGhpcykubWV0YWRhdGEoKS5hamF4Q29udGVudCl9aWYoYSh0aGlzKS5tZXRhZGF0YSgpLmFqYXhkYXRhKXthKHRoaXMpLmF0dHIoImFqYXhkYXRhIixhKHRoaXMpLm1ldGFkYXRhKCkuYWpheGRhdGEpfX0pfWEoZSkuZWFjaChmdW5jdGlvbihsKXtpZihhKHRoaXMpLmF0dHIoImFqYXhDb250ZW50Iikpe2lmKGEoIiMiK2EodGhpcykuYXR0cigiY29udGVudCIpKS5odG1sKCk9PW51bGwpe2QuYXBwZW5kKCI8ZGl2IGlkPSciK2EodGhpcykuYXR0cigiY29udGVudCIpKyInPiBhYWE8L2Rpdj4iKX12YXIgaz0oIWEodGhpcykuYXR0cigiZGF0YSIpKT8iIjphKHRoaXMpLmF0dHIoImRhdGEiKTt2YXIgaj1hKCIjIithKHRoaXMpLmF0dHIoImNvbnRlbnQiKSk7YS5hamF4KHt0eXBlOiJQT1NUIix1cmw6YSh0aGlzKS5hdHRyKCJhamF4Q29udGVudCIpLGFzeW5jOnRydWUsZGF0YTprLHN1Y2Nlc3M6ZnVuY3Rpb24oaSl7ai5odG1sKGkpfX0pfWEodGhpcykuYWRkQ2xhc3MoIm1iVGFiIik7YSh0aGlzKS53cmFwSW5uZXIoIjxzcGFuPjwvc3Bhbj4iKTt2YXIgaD1hKCIjIithKHRoaXMpLmF0dHIoImNvbnRlbnQiKSk7aC5hZGRDbGFzcygidGFiQ29udGVudCIpO2QuYXBwZW5kKGgpO2guaGlkZSgpO2lmKGEodGhpcykuaGFzQ2xhc3MoInNlbCIpKXtoLmZhZGVJbigpfWEodGhpcykuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7aWYoYSh0aGlzKS5pcygiLmRpc2FibGVkICwgLnNlbCIpKXtyZXR1cm59dmFyIG09YSh0aGlzKTt2YXIgaT0iIjthKGUpLmVhY2goZnVuY3Rpb24oKXtpZihhKHRoaXMpLmlzKCIuc2VsIikpe2k9YSh0aGlzKS5hdHRyKCJjb250ZW50Iik7YSh0aGlzKS5yZW1vdmVDbGFzcygic2VsIil9fSk7YSgiIyIraSkuZmFkZU91dCgiZmFzdCIsZnVuY3Rpb24oKXttLmFkZENsYXNzKCJzZWwiKTthKCIjIittLmF0dHIoImNvbnRlbnQiKSkuc2xpZGVEb3duKCJmYXN0Iil9KX0pfSk7aWYoZy5zb3J0YWJsZSl7YSh0aGlzKS5zZXRTb3J0YWJsZU1iVGFic2V0KGcpfX0pfSx0b0FycmF5OmZ1bmN0aW9uKGIpe3JldHVybiBhKGIpLnNvcnRhYmxlKCJ0b0FycmF5Iil9LGFjdHVhbDpmYWxzZSxzZWxlY3Q6ZnVuY3Rpb24oKXt9LHNldFNvcnRhYmxlOmZ1bmN0aW9uKGMpe2lmKCFjKXtjPWEodGhpcylbMF0ub3B0fXZhciBiPWEodGhpcykuZmluZChjLml0ZW0pO2EoYikuZWFjaChmdW5jdGlvbigpe2EodGhpcykuZmluZCgic3BhbiIpLnByZXBlbmQoIjxpPiZuYnNwOzwvaT4iKS5hZGRDbGFzcygic29ydGFibGUiKTthKHRoaXMpLmZpbmQoImkiKS5iaW5kKCJjbGljayIsZnVuY3Rpb24oZCl7ZC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBmYWxzZX0pfSk7YSh0aGlzKS5zb3J0YWJsZSh7aXRlbToiLnRhYiIsaGFuZGxlOiJpIixjdXJzb3I6Im1vdmUiLHJldmVydDpmYWxzZSxheGlzOiJ4IixvcGFjaXR5OjAuNyxmb3JjZVBsYWNlaG9sZGVyU2l6ZTp0cnVlLHN0YXJ0OmZ1bmN0aW9uKCl7YSh0aGlzKS5maW5kKCIudGFiIikuYWRkQ2xhc3MoImZsb2F0RWwiKTtpZihjLnN0YXJ0KXtjLnN0YXJ0KCl9fSxzdG9wOmZ1bmN0aW9uKGQpe2EodGhpcykuZmluZCgiLnRhYiIpLnJlbW92ZUNsYXNzKCJmbG9hdEVsIik7YS5tYlRhYnNldC5tYlRhYnNldEFycmF5PWEubWJUYWJzZXQudG9BcnJheShhKHRoaXMpKTtpZihjLnN0b3Ape2Muc3RvcCgpfX19KX0sY2xlYXJTb3J0YWJsZTpmdW5jdGlvbihjKXtpZighYyl7Yz1hKHRoaXMpWzBdLm9wdH12YXIgYj1hKHRoaXMpLmZpbmQoYy5pdGVtKTthKGIpLmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmZpbmQoInNwYW4iKS5yZW1vdmVDbGFzcygic29ydGFibGUiKTthKHRoaXMpLmZpbmQoImkiKS5yZW1vdmUoKX0pO2EodGhpcykuc29ydGFibGUoImRlc3Ryb3kiKX19O2EuZm4uc2V0U29ydGFibGVNYlRhYnNldD1hLm1iVGFic2V0LnNldFNvcnRhYmxlO2EuZm4uY2xlYXJTb3J0YWJsZU1iVGFic2V0PWEubWJUYWJzZXQuY2xlYXJTb3J0YWJsZTthLmZuLmJ1aWxkTWJUYWJzZXQ9YS5tYlRhYnNldC5idWlsZDthLmZuLnNlcmlhbGl6ZU1iVGFic2V0PWEubWJUYWJzZXQuc2VyaWFsaXplfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/js/mbTabset.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogICAgICAgIG1iVGFic2V0IHBsdWcgaW4KICogCQkJCWRldmVsb3BlZCBieSBNYXR0ZW8gQmljb2NjaGkgb24gSlF1ZXJ5CiAqICAgICAgICCpIDIwMDItMjAwOSBPcGVuIExhYiBzcmwsIE1hdHRlbyBCaWNvY2NoaQogKgkJCSAgICB3d3cub3Blbi1sYWIuY29tIC0gaW5mb0BvcGVuLWxhYi5jb20KICogICAgICAgCXZlcnNpb24gMS41CiAqICAgICAgIAl0ZXN0ZWQgb246IAlFeHBsb3JlciwgRmlyZUZveCBhbmQgQ2hyb21lIGZvciBQQwogKiAgICAgICAgICAgICAgICAgIAlGaXJlRm94IGFuZCBTYWZhcmkgZm9yIE1hYyBPcyBYCiAqICAgICAgICAgICAgICAgICAgCUZpcmVGb3ggZm9yIExpbnV4CiAqICAgICAgICAgTUlUIChNSVQtTElDRU5TRS50eHQpIGxpY2Vuc2VzLgogKi8KCgoKKGZ1bmN0aW9uKCQpIHsKCgkkLm1iVGFic2V0PXsKCQltYlRhYnNldEFycmF5OltdLAoJCW9wdGlvbnM6ewoJCQljb250YWluZXI6IiIsCgkJCWl0ZW06ImEiLAoJCQlzb3J0YWJsZTp0cnVlLAoJCQlwb3NpdGlvbjoibGVmdCIsCgkJCXN0YXJ0OmZ1bmN0aW9uKCl7fSwKCQkJc3RvcDpmdW5jdGlvbigpe30KCQl9LAoJCWJ1aWxkOiBmdW5jdGlvbihvcHQpewoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKXsKCQkJCSQodGhpcykuYWRkQ2xhc3MoIm1iVGFic2V0Iik7CgkJCQl2YXIgbWJUYWJzZXRPcHRpb25zID0ge307CgkJCQkkLmV4dGVuZCAobWJUYWJzZXRPcHRpb25zLCAkLm1iVGFic2V0Lm9wdGlvbnMpOwoJCQkJdmFyIGVsPXtlbDogJCh0aGlzKX07CgkJCQkkLmV4dGVuZCAobWJUYWJzZXRPcHRpb25zLCBlbCk7CgkJCQkkLmV4dGVuZCAobWJUYWJzZXRPcHRpb25zLCBvcHQpOwoJCQkJJCh0aGlzKS5hZGRDbGFzcyhtYlRhYnNldE9wdGlvbnMucG9zaXRpb24pOwoJCQkJdmFyIHRhYnNldENvbnRhaW5lcklEPSQodGhpcykuYXR0cigiaWQiKSsiX2NvbnRhaW5lciI7CgkJCQkkKHRoaXMpLmFmdGVyKCI8ZGl2IGNsYXNzPSdtYlRhYnNldENvbnRhaW5lcicgaWQ9JyIrdGFic2V0Q29udGFpbmVySUQrIic+PC9kaXY+Iik7CgkJCQl2YXIgdGFic2V0Q29udGFpbmVyPSQoIiMiK3RhYnNldENvbnRhaW5lcklEKTsKCgkJCQl0aGlzLm9wdD1tYlRhYnNldE9wdGlvbnM7CgkJCQkkKHRoaXMpLmZpbmQobWJUYWJzZXRPcHRpb25zLml0ZW0rIjpmaXJzdCIpLmFkZENsYXNzKCJzZWwiKTsKCQkJCXZhciB0YWJzPSAkKHRoaXMpLmZpbmQobWJUYWJzZXRPcHRpb25zLml0ZW0pOwoJCQkJaWYgKCQubWV0YWRhdGEpewoJCQkJCSQubWV0YWRhdGEuc2V0VHlwZSgiY2xhc3MiKTsKCQkJCQkkKHRhYnMpLmVhY2goZnVuY3Rpb24oKXsKCQkJCQkJaWYgKCQodGhpcykubWV0YWRhdGEoKS5jb250ZW50KSAkKHRoaXMpLmF0dHIoImNvbnRlbnQiLCQodGhpcykubWV0YWRhdGEoKS5jb250ZW50KTsKCQkJCQkJaWYgKCQodGhpcykubWV0YWRhdGEoKS5hamF4Q29udGVudCkgJCh0aGlzKS5hdHRyKCJhamF4Q29udGVudCIsJCh0aGlzKS5tZXRhZGF0YSgpLmFqYXhDb250ZW50KTsKCQkJCQkJaWYgKCQodGhpcykubWV0YWRhdGEoKS5hamF4ZGF0YSkgJCh0aGlzKS5hdHRyKCJhamF4ZGF0YSIsJCh0aGlzKS5tZXRhZGF0YSgpLmFqYXhkYXRhKTsKCQkJCQl9KQoJCQkJfQoKCQkJCSQodGFicykuZWFjaChmdW5jdGlvbihpKXsKCQkJCQlpZiAoJCh0aGlzKS5hdHRyKCJhamF4Q29udGVudCIpKXsKCQkJCQkJCWlmICgkKCIjIiskKHRoaXMpLmF0dHIoImNvbnRlbnQiKSkuaHRtbCgpPT1udWxsKSB7CgkJCQkJCQkJdGFic2V0Q29udGFpbmVyLmFwcGVuZCgiPGRpdiBpZD0nIiskKHRoaXMpLmF0dHIoImNvbnRlbnQiKSsiJz4gYWFhPC9kaXY+Iik7CgkJCQkJCQl9CgkJCQkJCQl2YXIgYWpheGRhdGE9KCEkKHRoaXMpLmF0dHIoImRhdGEiKSk/IiI6JCh0aGlzKS5hdHRyKCJkYXRhIik7CgkJCQkJCQl2YXIgd2hlcmU9JCgiIyIrJCh0aGlzKS5hdHRyKCJjb250ZW50IikpOwoJCQkJCQkJJC5hamF4KHsKCQkJCQkJCQl0eXBlOiAiUE9TVCIsCgkJCQkJCQkJdXJsOiAkKHRoaXMpLmF0dHIoImFqYXhDb250ZW50IiksCgkJCQkJCQkJYXN5bmM6IHRydWUsCgkJCQkJCQkJZGF0YTogYWpheGRhdGEsCgkJCQkJCQkJc3VjY2VzczogZnVuY3Rpb24oaHRtbCl7CgkJCQkJCQkJCXdoZXJlLmh0bWwoaHRtbCk7CgkJCQkJCQkJfQoJCQkJCQkJfSk7CgkJCQkJCX0KCQkJCQkkKHRoaXMpLmFkZENsYXNzKCJtYlRhYiIpOwoJCQkJCSQodGhpcykud3JhcElubmVyKCI8c3Bhbj48L3NwYW4+Iik7CgkJCQkJdmFyIG15Q29udGFpbmVyPSQoIiMiKyQodGhpcykuYXR0cigiY29udGVudCIpKTsKCQkJCQlteUNvbnRhaW5lci5hZGRDbGFzcygidGFiQ29udGVudCIpOwoJCQkJCXRhYnNldENvbnRhaW5lci5hcHBlbmQobXlDb250YWluZXIpOwoJCQkJCW15Q29udGFpbmVyLmhpZGUoKTsKCQkJCQlpZiAoJCh0aGlzKS5oYXNDbGFzcygic2VsIikpIG15Q29udGFpbmVyLmZhZGVJbigpOwoKCQkJCQkkKHRoaXMpLmJpbmQoImNsaWNrIixmdW5jdGlvbigpewoKCQkJCQkJaWYgKCQodGhpcykuaXMoIi5kaXNhYmxlZCAsIC5zZWwiKSkgcmV0dXJuOwoJCQkJCQl2YXIgY2hvb3NlblRhYj0kKHRoaXMpOwoJCQkJCQl2YXIgYWN0dWFsQ29udD0iIjsKCQkJCQkJJCh0YWJzKS5lYWNoKGZ1bmN0aW9uKCl7CgkJCQkJCQlpZiAoJCh0aGlzKS5pcygiLnNlbCIpKXsKCQkJCQkJCQlhY3R1YWxDb250PSQodGhpcykuYXR0cigiY29udGVudCIpOwoJCQkJCQkJCSQodGhpcykucmVtb3ZlQ2xhc3MoInNlbCIpOwoJCQkJCQkJfQoJCQkJCQl9KQoJCQkJCQkkKCIjIithY3R1YWxDb250KS5mYWRlT3V0KCJmYXN0IixmdW5jdGlvbigpewoJCQkJCQkJY2hvb3NlblRhYi5hZGRDbGFzcygic2VsIik7CgkJCQkJCQkkKCIjIitjaG9vc2VuVGFiLmF0dHIoImNvbnRlbnQiKSkuc2xpZGVEb3duKCJmYXN0Iik7CgkJCQkJCX0pCgkJCQkJfSkKCQkJCX0pCgkJCQlpZiAobWJUYWJzZXRPcHRpb25zLnNvcnRhYmxlKXsKCQkJCQkkKHRoaXMpLnNldFNvcnRhYmxlTWJUYWJzZXQobWJUYWJzZXRPcHRpb25zKTsKCQkJCX0KCgkJCX0pCgkJfSwKCQl0b0FycmF5OmZ1bmN0aW9uKGVsKXsKCQkJcmV0dXJuICQoZWwpLnNvcnRhYmxlKCJ0b0FycmF5Iik7CgkJfSwKCQlhY3R1YWw6ZmFsc2UsCgkJc2VsZWN0OiBmdW5jdGlvbigpewoKCgkJfSwKCQlzZXRTb3J0YWJsZTpmdW5jdGlvbihvcHQpewoJCQlpZiAoIW9wdCkgb3B0ID0gJCh0aGlzKVswXS5vcHQ7CgkJCXZhciB0YWJzPSAkKHRoaXMpLmZpbmQob3B0Lml0ZW0pOwoJCQkkKHRhYnMpLmVhY2goZnVuY3Rpb24oKXsKCQkJCSQodGhpcykuZmluZCgic3BhbiIpLnByZXBlbmQoIjxpPiZuYnNwOzwvaT4iKS5hZGRDbGFzcygic29ydGFibGUiKTsKCQkJCSQodGhpcykuZmluZCgiaSIpLmJpbmQoImNsaWNrIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlfSkKCQkJfSkKCQkJJCh0aGlzKS5zb3J0YWJsZSh7CgkJCQlpdGVtOiIudGFiIiwKCQkJCWhhbmRsZToiaSIsCgkJCQljdXJzb3I6Im1vdmUiLAoJCQkJcmV2ZXJ0OmZhbHNlLAoJCQkJYXhpczoieCIsCgkJCQlvcGFjaXR5Oi43LAoJCQkJZm9yY2VQbGFjZWhvbGRlclNpemU6dHJ1ZSwKCQkJCXN0YXJ0OiBmdW5jdGlvbigpewoJCQkJCSQodGhpcykuZmluZCgiLnRhYiIpLmFkZENsYXNzKCJmbG9hdEVsIik7CgkJCQkJaWYgKG9wdC5zdGFydCkgb3B0LnN0YXJ0KCk7CgkJCQl9LAoJCQkJc3RvcDogZnVuY3Rpb24oZSl7CgkJCQkJJCh0aGlzKS5maW5kKCIudGFiIikucmVtb3ZlQ2xhc3MoImZsb2F0RWwiKTsKCQkJCQkkLm1iVGFic2V0Lm1iVGFic2V0QXJyYXk9ICQubWJUYWJzZXQudG9BcnJheSgkKHRoaXMpKTsKCQkJCQlpZiAob3B0LnN0b3ApIG9wdC5zdG9wKCk7CgkJCQl9CgkJCX0pOwoJCX0sCgkJY2xlYXJTb3J0YWJsZTpmdW5jdGlvbihvcHQpewoJCQlpZiAoIW9wdCkgb3B0ID0gJCh0aGlzKVswXS5vcHQ7CgkJCXZhciB0YWJzPSAkKHRoaXMpLmZpbmQob3B0Lml0ZW0pOwoJCQkkKHRhYnMpLmVhY2goZnVuY3Rpb24oKXsKCQkJCSQodGhpcykuZmluZCgic3BhbiIpLnJlbW92ZUNsYXNzKCJzb3J0YWJsZSIpOwoJCQkJJCh0aGlzKS5maW5kKCJpIikucmVtb3ZlKCk7CgkJCX0pCgkJCSQodGhpcykuc29ydGFibGUoImRlc3Ryb3kiKTsKCQl9Cgl9CgkkLmZuLnNldFNvcnRhYmxlTWJUYWJzZXQgPSAkLm1iVGFic2V0LnNldFNvcnRhYmxlOwoJJC5mbi5jbGVhclNvcnRhYmxlTWJUYWJzZXQgPSAkLm1iVGFic2V0LmNsZWFyU29ydGFibGU7CgkkLmZuLmJ1aWxkTWJUYWJzZXQgPSAkLm1iVGFic2V0LmJ1aWxkOwoJJC5mbi5zZXJpYWxpemVNYlRhYnNldCA9ICQubWJUYWJzZXQuc2VyaWFsaXplOwp9KShqUXVlcnkp]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/js/ui.core.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpRdWVyeSBVSSAxLjcuMQ0KICoNCiAqIENvcHlyaWdodCAoYykgMjAwOSBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkNCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCAoTUlULUxJQ0VOU0UudHh0KQ0KICogYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4NCiAqDQogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJDQogKi8NalF1ZXJ5LnVpfHwoZnVuY3Rpb24oYyl7dmFyIGk9Yy5mbi5yZW1vdmUsZD1jLmJyb3dzZXIubW96aWxsYSYmKHBhcnNlRmxvYXQoYy5icm93c2VyLnZlcnNpb24pPDEuOSk7Yy51aT17dmVyc2lvbjoiMS43LjEiLHBsdWdpbjp7YWRkOmZ1bmN0aW9uKGssbCxuKXt2YXIgbT1jLnVpW2tdLnByb3RvdHlwZTtmb3IodmFyIGogaW4gbil7bS5wbHVnaW5zW2pdPW0ucGx1Z2luc1tqXXx8W107bS5wbHVnaW5zW2pdLnB1c2goW2wsbltqXV0pfX0sY2FsbDpmdW5jdGlvbihqLGwsayl7dmFyIG49ai5wbHVnaW5zW2xdO2lmKCFufHwhai5lbGVtZW50WzBdLnBhcmVudE5vZGUpe3JldHVybn1mb3IodmFyIG09MDttPG4ubGVuZ3RoO20rKyl7aWYoai5vcHRpb25zW25bbV1bMF1dKXtuW21dWzFdLmFwcGx5KGouZWxlbWVudCxrKX19fX0sY29udGFpbnM6ZnVuY3Rpb24oayxqKXtyZXR1cm4gZG9jdW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/ay5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihqKSYxNjprIT09aiYmay5jb250YWlucyhqKX0saGFzU2Nyb2xsOmZ1bmN0aW9uKG0sayl7aWYoYyhtKS5jc3MoIm92ZXJmbG93Iik9PSJoaWRkZW4iKXtyZXR1cm4gZmFsc2V9dmFyIGo9KGsmJms9PSJsZWZ0Iik/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiLGw9ZmFsc2U7aWYobVtqXT4wKXtyZXR1cm4gdHJ1ZX1tW2pdPTE7bD0obVtqXT4wKTttW2pdPTA7cmV0dXJuIGx9LGlzT3ZlckF4aXM6ZnVuY3Rpb24oayxqLGwpe3JldHVybihrPmopJiYoazwoaitsKSl9LGlzT3ZlcjpmdW5jdGlvbihvLGssbixtLGosbCl7cmV0dXJuIGMudWkuaXNPdmVyQXhpcyhvLG4saikmJmMudWkuaXNPdmVyQXhpcyhrLG0sbCl9LGtleUNvZGU6e0JBQ0tTUEFDRTo4LENBUFNfTE9DSzoyMCxDT01NQToxODgsQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTlVNUEFEX0FERDoxMDcsTlVNUEFEX0RFQ0lNQUw6MTEwLE5VTVBBRF9ESVZJREU6MTExLE5VTVBBRF9FTlRFUjoxMDgsTlVNUEFEX01VTFRJUExZOjEwNixOVU1QQURfU1VCVFJBQ1Q6MTA5LFBBR0VfRE9XTjozNCxQQUdFX1VQOjMzLFBFUklPRDoxOTAsUklHSFQ6MzksU0hJRlQ6MTYsU1BBQ0U6MzIsVEFCOjksVVA6Mzh9fTtpZihkKXt2YXIgZj1jLmF0dHIsZT1jLmZuLnJlbW92ZUF0dHIsaD0iaHR0cDovL3d3dy53My5vcmcvMjAwNS8wNy9hYWEiLGE9L15hcmlhLS8sYj0vXndhaXJvbGU6LztjLmF0dHI9ZnVuY3Rpb24oayxqLGwpe3ZhciBtPWwhPT11bmRlZmluZWQ7cmV0dXJuKGo9PSJyb2xlIj8obT9mLmNhbGwodGhpcyxrLGosIndhaXJvbGU6IitsKTooZi5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fCIiKS5yZXBsYWNlKGIsIiIpKTooYS50ZXN0KGopPyhtP2suc2V0QXR0cmlidXRlTlMoaCxqLnJlcGxhY2UoYSwiYWFhOiIpLGwpOmYuY2FsbCh0aGlzLGssai5yZXBsYWNlKGEsImFhYToiKSkpOmYuYXBwbHkodGhpcyxhcmd1bWVudHMpKSl9O2MuZm4ucmVtb3ZlQXR0cj1mdW5jdGlvbihqKXtyZXR1cm4oYS50ZXN0KGopP3RoaXMuZWFjaChmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlMoaCxqLnJlcGxhY2UoYSwiIikpfSk6ZS5jYWxsKHRoaXMsaikpfX1jLmZuLmV4dGVuZCh7cmVtb3ZlOmZ1bmN0aW9uKCl7YygiKiIsdGhpcykuYWRkKHRoaXMpLmVhY2goZnVuY3Rpb24oKXtjKHRoaXMpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKX0pO3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZW5hYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXR0cigidW5zZWxlY3RhYmxlIiwib2ZmIikuY3NzKCJNb3pVc2VyU2VsZWN0IiwiIikudW5iaW5kKCJzZWxlY3RzdGFydC51aSIpfSxkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXR0cigidW5zZWxlY3RhYmxlIiwib24iKS5jc3MoIk1velVzZXJTZWxlY3QiLCJub25lIikuYmluZCgic2VsZWN0c3RhcnQudWkiLGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfSl9LHNjcm9sbFBhcmVudDpmdW5jdGlvbigpe3ZhciBqO2lmKChjLmJyb3dzZXIubXNpZSYmKC8oc3RhdGljfHJlbGF0aXZlKS8pLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpKXx8KC9hYnNvbHV0ZS8pLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpKXtqPXRoaXMucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybigvKHJlbGF0aXZlfGFic29sdXRlfGZpeGVkKS8pLnRlc3QoYy5jdXJDU1ModGhpcywicG9zaXRpb24iLDEpKSYmKC8oYXV0b3xzY3JvbGwpLykudGVzdChjLmN1ckNTUyh0aGlzLCJvdmVyZmxvdyIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteSIsMSkrYy5jdXJDU1ModGhpcywib3ZlcmZsb3cteCIsMSkpfSkuZXEoMCl9ZWxzZXtqPXRoaXMucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybigvKGF1dG98c2Nyb2xsKS8pLnRlc3QoYy5jdXJDU1ModGhpcywib3ZlcmZsb3ciLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2MuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXgiLDEpKX0pLmVxKDApfXJldHVybigvZml4ZWQvKS50ZXN0KHRoaXMuY3NzKCJwb3NpdGlvbiIpKXx8IWoubGVuZ3RoP2MoZG9jdW1lbnQpOmp9fSk7Yy5leHRlbmQoYy5leHByWyI6Il0se2RhdGE6ZnVuY3Rpb24obCxrLGope3JldHVybiAhIWMuZGF0YShsLGpbM10pfSxmb2N1c2FibGU6ZnVuY3Rpb24oayl7dmFyIGw9ay5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGo9Yy5hdHRyKGssInRhYmluZGV4Iik7cmV0dXJuKC9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdC8udGVzdChsKT8hay5kaXNhYmxlZDoiYSI9PWx8fCJhcmVhIj09bD9rLmhyZWZ8fCFpc05hTihqKTohaXNOYU4oaikpJiYhYyhrKVsiYXJlYSI9PWw/InBhcmVudHMiOiJjbG9zZXN0Il0oIjpoaWRkZW4iKS5sZW5ndGh9LHRhYmJhYmxlOmZ1bmN0aW9uKGspe3ZhciBqPWMuYXR0cihrLCJ0YWJpbmRleCIpO3JldHVybihpc05hTihqKXx8aj49MCkmJmMoaykuaXMoIjpmb2N1c2FibGUiKX19KTtmdW5jdGlvbiBnKG0sbixvLGwpe2Z1bmN0aW9uIGsocSl7dmFyIHA9Y1ttXVtuXVtxXXx8W107cmV0dXJuKHR5cGVvZiBwPT0ic3RyaW5nIj9wLnNwbGl0KC8sP1xzKy8pOnApfXZhciBqPWsoImdldHRlciIpO2lmKGwubGVuZ3RoPT0xJiZ0eXBlb2YgbFswXT09InN0cmluZyIpe2o9ai5jb25jYXQoaygiZ2V0dGVyU2V0dGVyIikpfXJldHVybihjLmluQXJyYXkobyxqKSE9LTEpfWMud2lkZ2V0PWZ1bmN0aW9uKGssail7dmFyIGw9ay5zcGxpdCgiLiIpWzBdO2s9ay5zcGxpdCgiLiIpWzFdO2MuZm5ba109ZnVuY3Rpb24ocCl7dmFyIG49KHR5cGVvZiBwPT0ic3RyaW5nIiksbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7aWYobiYmcC5zdWJzdHJpbmcoMCwxKT09Il8iKXtyZXR1cm4gdGhpc31pZihuJiZnKGwsayxwLG8pKXt2YXIgbT1jLmRhdGEodGhpc1swXSxrKTtyZXR1cm4obT9tW3BdLmFwcGx5KG0sbyk6dW5kZWZpbmVkKX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHE9Yy5kYXRhKHRoaXMsayk7KCFxJiYhbiYmYy5kYXRhKHRoaXMsayxuZXcgY1tsXVtrXSh0aGlzLHApKS5faW5pdCgpKTsocSYmbiYmYy5pc0Z1bmN0aW9uKHFbcF0pJiZxW3BdLmFwcGx5KHEsbykpfSl9O2NbbF09Y1tsXXx8e307Y1tsXVtrXT1mdW5jdGlvbihvLG4pe3ZhciBtPXRoaXM7dGhpcy5uYW1lc3BhY2U9bDt0aGlzLndpZGdldE5hbWU9azt0aGlzLndpZGdldEV2ZW50UHJlZml4PWNbbF1ba10uZXZlbnRQcmVmaXh8fGs7dGhpcy53aWRnZXRCYXNlQ2xhc3M9bCsiLSIrazt0aGlzLm9wdGlvbnM9Yy5leHRlbmQoe30sYy53aWRnZXQuZGVmYXVsdHMsY1tsXVtrXS5kZWZhdWx0cyxjLm1ldGFkYXRhJiZjLm1ldGFkYXRhLmdldChvKVtrXSxuKTt0aGlzLmVsZW1lbnQ9YyhvKS5iaW5kKCJzZXREYXRhLiIrayxmdW5jdGlvbihxLHAscil7aWYocS50YXJnZXQ9PW8pe3JldHVybiBtLl9zZXREYXRhKHAscil9fSkuYmluZCgiZ2V0RGF0YS4iK2ssZnVuY3Rpb24ocSxwKXtpZihxLnRhcmdldD09byl7cmV0dXJuIG0uX2dldERhdGEocCl9fSkuYmluZCgicmVtb3ZlIixmdW5jdGlvbigpe3JldHVybiBtLmRlc3Ryb3koKX0pfTtjW2xdW2tdLnByb3RvdHlwZT1jLmV4dGVuZCh7fSxjLndpZGdldC5wcm90b3R5cGUsaik7Y1tsXVtrXS5nZXR0ZXJTZXR0ZXI9Im9wdGlvbiJ9O2Mud2lkZ2V0LnByb3RvdHlwZT17X2luaXQ6ZnVuY3Rpb24oKXt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlRGF0YSh0aGlzLndpZGdldE5hbWUpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0QmFzZUNsYXNzKyItZGlzYWJsZWQgIit0aGlzLm5hbWVzcGFjZSsiLXN0YXRlLWRpc2FibGVkIikucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpfSxvcHRpb246ZnVuY3Rpb24obCxtKXt2YXIgaz1sLGo9dGhpcztpZih0eXBlb2YgbD09InN0cmluZyIpe2lmKG09PT11bmRlZmluZWQpe3JldHVybiB0aGlzLl9nZXREYXRhKGwpfWs9e307a1tsXT1tfWMuZWFjaChrLGZ1bmN0aW9uKG4sbyl7ai5fc2V0RGF0YShuLG8pfSl9LF9nZXREYXRhOmZ1bmN0aW9uKGope3JldHVybiB0aGlzLm9wdGlvbnNbal19LF9zZXREYXRhOmZ1bmN0aW9uKGosayl7dGhpcy5vcHRpb25zW2pdPWs7aWYoaj09ImRpc2FibGVkIil7dGhpcy5lbGVtZW50W2s/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSh0aGlzLndpZGdldEJhc2VDbGFzcysiLWRpc2FibGVkICIrdGhpcy5uYW1lc3BhY2UrIi1zdGF0ZS1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLGspfX0sZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0RGF0YSgiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5jdGlvbigpe3RoaXMuX3NldERhdGEoImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6ZnVuY3Rpb24obCxtLG4pe3ZhciBwPXRoaXMub3B0aW9uc1tsXSxqPShsPT10aGlzLndpZGdldEV2ZW50UHJlZml4P2w6dGhpcy53aWRnZXRFdmVudFByZWZpeCtsKTttPWMuRXZlbnQobSk7bS50eXBlPWo7aWYobS5vcmlnaW5hbEV2ZW50KXtmb3IodmFyIGs9Yy5ldmVudC5wcm9wcy5sZW5ndGgsbztrOyl7bz1jLmV2ZW50LnByb3BzWy0ta107bVtvXT1tLm9yaWdpbmFsRXZlbnRbb119fXRoaXMuZWxlbWVudC50cmlnZ2VyKG0sbik7cmV0dXJuICEoYy5pc0Z1bmN0aW9uKHApJiZwLmNhbGwodGhpcy5lbGVtZW50WzBdLG0sbik9PT1mYWxzZXx8bS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fTtjLndpZGdldC5kZWZhdWx0cz17ZGlzYWJsZWQ6ZmFsc2V9O2MudWkubW91c2U9e19tb3VzZUluaXQ6ZnVuY3Rpb24oKXt2YXIgaj10aGlzO3RoaXMuZWxlbWVudC5iaW5kKCJtb3VzZWRvd24uIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oayl7cmV0dXJuIGouX21vdXNlRG93bihrKX0pLmJpbmQoImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGspe2lmKGouX3ByZXZlbnRDbGlja0V2ZW50KXtqLl9wcmV2ZW50Q2xpY2tFdmVudD1mYWxzZTtrLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO3JldHVybiBmYWxzZX19KTtpZihjLmJyb3dzZXIubXNpZSl7dGhpcy5fbW91c2VVbnNlbGVjdGFibGU9dGhpcy5lbGVtZW50LmF0dHIoInVuc2VsZWN0YWJsZSIpO3RoaXMuZWxlbWVudC5hdHRyKCJ1bnNlbGVjdGFibGUiLCJvbiIpfXRoaXMuc3RhcnRlZD1mYWxzZX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFtZSk7KGMuYnJvd3Nlci5tc2llJiZ0aGlzLmVsZW1lbnQuYXR0cigidW5zZWxlY3RhYmxlIix0aGlzLl9tb3VzZVVuc2VsZWN0YWJsZSkpfSxfbW91c2VEb3duOmZ1bmN0aW9uKGwpe2wub3JpZ2luYWxFdmVudD1sLm9yaWdpbmFsRXZlbnR8fHt9O2lmKGwub3JpZ2luYWxFdmVudC5tb3VzZUhhbmRsZWQpe3JldHVybn0odGhpcy5fbW91c2VTdGFydGVkJiZ0aGlzLl9tb3VzZVVwKGwpKTt0aGlzLl9tb3VzZURvd25FdmVudD1sO3ZhciBrPXRoaXMsbT0obC53aGljaD09MSksaj0odHlwZW9mIHRoaXMub3B0aW9ucy5jYW5jZWw9PSJzdHJpbmciP2MobC50YXJnZXQpLnBhcmVudHMoKS5hZGQobC50YXJnZXQpLmZpbHRlcih0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ZmFsc2UpO2lmKCFtfHxqfHwhdGhpcy5fbW91c2VDYXB0dXJlKGwpKXtyZXR1cm4gdHJ1ZX10aGlzLm1vdXNlRGVsYXlNZXQ9IXRoaXMub3B0aW9ucy5kZWxheTtpZighdGhpcy5tb3VzZURlbGF5TWV0KXt0aGlzLl9tb3VzZURlbGF5VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2subW91c2VEZWxheU1ldD10cnVlfSx0aGlzLm9wdGlvbnMuZGVsYXkpfWlmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQobCkmJnRoaXMuX21vdXNlRGVsYXlNZXQobCkpe3RoaXMuX21vdXNlU3RhcnRlZD0odGhpcy5fbW91c2VTdGFydChsKSE9PWZhbHNlKTtpZighdGhpcy5fbW91c2VTdGFydGVkKXtsLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIHRydWV9fXRoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0aW9uKG4pe3JldHVybiBrLl9tb3VzZU1vdmUobil9O3RoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5jdGlvbihuKXtyZXR1cm4gay5fbW91c2VVcChuKX07Yyhkb2N1bWVudCkuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7KGMuYnJvd3Nlci5zYWZhcml8fGwucHJldmVudERlZmF1bHQoKSk7bC5vcmlnaW5hbEV2ZW50Lm1vdXNlSGFuZGxlZD10cnVlO3JldHVybiB0cnVlfSxfbW91c2VNb3ZlOmZ1bmN0aW9uKGope2lmKGMuYnJvd3Nlci5tc2llJiYhai5idXR0b24pe3JldHVybiB0aGlzLl9tb3VzZVVwKGopfWlmKHRoaXMuX21vdXNlU3RhcnRlZCl7dGhpcy5fbW91c2VEcmFnKGopO3JldHVybiBqLnByZXZlbnREZWZhdWx0KCl9aWYodGhpcy5fbW91c2VEaXN0YW5jZU1ldChqKSYmdGhpcy5fbW91c2VEZWxheU1ldChqKSl7dGhpcy5fbW91c2VTdGFydGVkPSh0aGlzLl9tb3VzZVN0YXJ0KHRoaXMuX21vdXNlRG93bkV2ZW50LGopIT09ZmFsc2UpOyh0aGlzLl9tb3VzZVN0YXJ0ZWQ/dGhpcy5fbW91c2VEcmFnKGopOnRoaXMuX21vdXNlVXAoaikpfXJldHVybiAhdGhpcy5fbW91c2VTdGFydGVkfSxfbW91c2VVcDpmdW5jdGlvbihqKXtjKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7aWYodGhpcy5fbW91c2VTdGFydGVkKXt0aGlzLl9tb3VzZVN0YXJ0ZWQ9ZmFsc2U7dGhpcy5fcHJldmVudENsaWNrRXZlbnQ9KGoudGFyZ2V0PT10aGlzLl9tb3VzZURvd25FdmVudC50YXJnZXQpO3RoaXMuX21vdXNlU3RvcChqKX1yZXR1cm4gZmFsc2V9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGope3JldHVybihNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1qLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1qLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZSl9LF9tb3VzZURlbGF5TWV0OmZ1bmN0aW9uKGope3JldHVybiB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGope30sX21vdXNlRHJhZzpmdW5jdGlvbihqKXt9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oail7fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGope3JldHVybiB0cnVlfX07Yy51aS5tb3VzZS5kZWZhdWx0cz17Y2FuY2VsOm51bGwsZGlzdGFuY2U6MSxkZWxheTowfX0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/js/ui.sortable.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpRdWVyeSBVSSBTb3J0YWJsZSAxLjcuMQ0KICoNCiAqIENvcHlyaWdodCAoYykgMjAwOSBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkNCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCAoTUlULUxJQ0VOU0UudHh0KQ0KICogYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4NCiAqDQogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NvcnRhYmxlcw0KICoNCiAqIERlcGVuZHM6DQogKgl1aS5jb3JlLmpzDQogKi8NKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5zb3J0YWJsZSIsYS5leHRlbmQoe30sYS51aS5tb3VzZSx7X2luaXQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLm9wdGlvbnM7dGhpcy5jb250YWluZXJDYWNoZT17fTt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNvcnRhYmxlIik7dGhpcy5yZWZyZXNoKCk7dGhpcy5mbG9hdGluZz10aGlzLml0ZW1zLmxlbmd0aD8oL2xlZnR8cmlnaHQvKS50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3MoImZsb2F0IikpOmZhbHNlO3RoaXMub2Zmc2V0PXRoaXMuZWxlbWVudC5vZmZzZXQoKTt0aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktc29ydGFibGUgdWktc29ydGFibGUtZGlzYWJsZWQiKS5yZW1vdmVEYXRhKCJzb3J0YWJsZSIpLnVuYmluZCgiLnNvcnRhYmxlIik7dGhpcy5fbW91c2VEZXN0cm95KCk7Zm9yKHZhciBiPXRoaXMuaXRlbXMubGVuZ3RoLTE7Yj49MDtiLS0pe3RoaXMuaXRlbXNbYl0uaXRlbS5yZW1vdmVEYXRhKCJzb3J0YWJsZS1pdGVtIil9fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKGUsZil7aWYodGhpcy5yZXZlcnRpbmcpe3JldHVybiBmYWxzZX1pZih0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fHRoaXMub3B0aW9ucy50eXBlPT0ic3RhdGljIil7cmV0dXJuIGZhbHNlfXRoaXMuX3JlZnJlc2hJdGVtcyhlKTt2YXIgZD1udWxsLGM9dGhpcyxiPWEoZS50YXJnZXQpLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9uKCl7aWYoYS5kYXRhKHRoaXMsInNvcnRhYmxlLWl0ZW0iKT09Yyl7ZD1hKHRoaXMpO3JldHVybiBmYWxzZX19KTtpZihhLmRhdGEoZS50YXJnZXQsInNvcnRhYmxlLWl0ZW0iKT09Yyl7ZD1hKGUudGFyZ2V0KX1pZighZCl7cmV0dXJuIGZhbHNlfWlmKHRoaXMub3B0aW9ucy5oYW5kbGUmJiFmKXt2YXIgZz1mYWxzZTthKHRoaXMub3B0aW9ucy5oYW5kbGUsZCkuZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09ZS50YXJnZXQpe2c9dHJ1ZX19KTtpZighZyl7cmV0dXJuIGZhbHNlfX10aGlzLmN1cnJlbnRJdGVtPWQ7dGhpcy5fcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXMoKTtyZXR1cm4gdHJ1ZX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oZSxmLGIpe3ZhciBnPXRoaXMub3B0aW9ucyxjPXRoaXM7dGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXM7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7dGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKGUpO3RoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTt0aGlzLl9jYWNoZU1hcmdpbnMoKTt0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKTt0aGlzLm9mZnNldD10aGlzLmN1cnJlbnRJdGVtLm9mZnNldCgpO3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFyZ2lucy50b3AsbGVmdDp0aGlzLm9mZnNldC5sZWZ0LXRoaXMubWFyZ2lucy5sZWZ0fTt0aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTt0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKTthLmV4dGVuZCh0aGlzLm9mZnNldCx7Y2xpY2s6e2xlZnQ6ZS5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDplLnBhZ2VZLXRoaXMub2Zmc2V0LnRvcH0scGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCl9KTt0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihlKTt0aGlzLm9yaWdpbmFsUGFnZVg9ZS5wYWdlWDt0aGlzLm9yaWdpbmFsUGFnZVk9ZS5wYWdlWTtpZihnLmN1cnNvckF0KXt0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKGcuY3Vyc29yQXQpfXRoaXMuZG9tUG9zaXRpb249e3ByZXY6dGhpcy5jdXJyZW50SXRlbS5wcmV2KClbMF0scGFyZW50OnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF19O2lmKHRoaXMuaGVscGVyWzBdIT10aGlzLmN1cnJlbnRJdGVtWzBdKXt0aGlzLmN1cnJlbnRJdGVtLmhpZGUoKX10aGlzLl9jcmVhdGVQbGFjZWhvbGRlcigpO2lmKGcuY29udGFpbm1lbnQpe3RoaXMuX3NldENvbnRhaW5tZW50KCl9aWYoZy5jdXJzb3Ipe2lmKGEoImJvZHkiKS5jc3MoImN1cnNvciIpKXt0aGlzLl9zdG9yZWRDdXJzb3I9YSgiYm9keSIpLmNzcygiY3Vyc29yIil9YSgiYm9keSIpLmNzcygiY3Vyc29yIixnLmN1cnNvcil9aWYoZy5vcGFjaXR5KXtpZih0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKSl7dGhpcy5fc3RvcmVkT3BhY2l0eT10aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKX10aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiLGcub3BhY2l0eSl9aWYoZy56SW5kZXgpe2lmKHRoaXMuaGVscGVyLmNzcygiekluZGV4Iikpe3RoaXMuX3N0b3JlZFpJbmRleD10aGlzLmhlbHBlci5jc3MoInpJbmRleCIpfXRoaXMuaGVscGVyLmNzcygiekluZGV4IixnLnpJbmRleCl9aWYodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIpe3RoaXMub3ZlcmZsb3dPZmZzZXQ9dGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCl9dGhpcy5fdHJpZ2dlcigic3RhcnQiLGUsdGhpcy5fdWlIYXNoKCkpO2lmKCF0aGlzLl9wcmVzZXJ2ZUhlbHBlclByb3BvcnRpb25zKXt0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCl9aWYoIWIpe2Zvcih2YXIgZD10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZD49MDtkLS0pe3RoaXMuY29udGFpbmVyc1tkXS5fdHJpZ2dlcigiYWN0aXZhdGUiLGUsYy5fdWlIYXNoKHRoaXMpKX19aWYoYS51aS5kZG1hbmFnZXIpe2EudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpc31pZihhLnVpLmRkbWFuYWdlciYmIWcuZHJvcEJlaGF2aW91cil7YS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcyxlKX10aGlzLmRyYWdnaW5nPXRydWU7dGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpO3RoaXMuX21vdXNlRHJhZyhlKTtyZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihmKXt0aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oZik7dGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighdGhpcy5sYXN0UG9zaXRpb25BYnMpe3RoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnN9aWYodGhpcy5vcHRpb25zLnNjcm9sbCl7dmFyIGc9dGhpcy5vcHRpb25zLGI9ZmFsc2U7aWYodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIpe2lmKCh0aGlzLm92ZXJmbG93T2Zmc2V0LnRvcCt0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRIZWlnaHQpLWYucGFnZVk8Zy5zY3JvbGxTZW5zaXRpdml0eSl7dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPWI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2cuc2Nyb2xsU3BlZWR9ZWxzZXtpZihmLnBhZ2VZLXRoaXMub3ZlcmZsb3dPZmZzZXQudG9wPGcuc2Nyb2xsU2Vuc2l0aXZpdHkpe3RoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcD1iPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcC1nLnNjcm9sbFNwZWVkfX1pZigodGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0K3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoKS1mLnBhZ2VYPGcuc2Nyb2xsU2Vuc2l0aXZpdHkpe3RoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQ9Yj10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0K2cuc2Nyb2xsU3BlZWR9ZWxzZXtpZihmLnBhZ2VYLXRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdDxnLnNjcm9sbFNlbnNpdGl2aXR5KXt0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PWI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1nLnNjcm9sbFNwZWVkfX19ZWxzZXtpZihmLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpPGcuc2Nyb2xsU2Vuc2l0aXZpdHkpe2I9YShkb2N1bWVudCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLWcuc2Nyb2xsU3BlZWQpfWVsc2V7aWYoYSh3aW5kb3cpLmhlaWdodCgpLShmLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxnLnNjcm9sbFNlbnNpdGl2aXR5KXtiPWEoZG9jdW1lbnQpLnNjcm9sbFRvcChhKGRvY3VtZW50KS5zY3JvbGxUb3AoKStnLnNjcm9sbFNwZWVkKX19aWYoZi5wYWdlWC1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk8Zy5zY3JvbGxTZW5zaXRpdml0eSl7Yj1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKS1nLnNjcm9sbFNwZWVkKX1lbHNle2lmKGEod2luZG93KS53aWR0aCgpLShmLnBhZ2VYLWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSk8Zy5zY3JvbGxTZW5zaXRpdml0eSl7Yj1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKStnLnNjcm9sbFNwZWVkKX19fWlmKGIhPT1mYWxzZSYmYS51aS5kZG1hbmFnZXImJiFnLmRyb3BCZWhhdmlvdXIpe2EudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsZil9fXRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7aWYoIXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLm9wdGlvbnMuYXhpcyE9InkiKXt0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRpb24ubGVmdCsicHgifWlmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ4Iil7dGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCJ9Zm9yKHZhciBkPXRoaXMuaXRlbXMubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBlPXRoaXMuaXRlbXNbZF0sYz1lLml0ZW1bMF0saD10aGlzLl9pbnRlcnNlY3RzV2l0aFBvaW50ZXIoZSk7aWYoIWgpe2NvbnRpbnVlfWlmKGMhPXRoaXMuY3VycmVudEl0ZW1bMF0mJnRoaXMucGxhY2Vob2xkZXJbaD09MT8ibmV4dCI6InByZXYiXSgpWzBdIT1jJiYhYS51aS5jb250YWlucyh0aGlzLnBsYWNlaG9sZGVyWzBdLGMpJiYodGhpcy5vcHRpb25zLnR5cGU9PSJzZW1pLWR5bmFtaWMiPyFhLnVpLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSxjKTp0cnVlKSl7dGhpcy5kaXJlY3Rpb249aD09MT8iZG93biI6InVwIjtpZih0aGlzLm9wdGlvbnMudG9sZXJhbmNlPT0icG9pbnRlciJ8fHRoaXMuX2ludGVyc2VjdHNXaXRoU2lkZXMoZSkpe3RoaXMuX3JlYXJyYW5nZShmLGUpfWVsc2V7YnJlYWt9dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixmLHRoaXMuX3VpSGFzaCgpKTticmVha319dGhpcy5fY29udGFjdENvbnRhaW5lcnMoZik7aWYoYS51aS5kZG1hbmFnZXIpe2EudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyxmKX10aGlzLl90cmlnZ2VyKCJzb3J0IixmLHRoaXMuX3VpSGFzaCgpKTt0aGlzLmxhc3RQb3NpdGlvbkFicz10aGlzLnBvc2l0aW9uQWJzO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihjLGQpe2lmKCFjKXtyZXR1cm59aWYoYS51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91cil7YS51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGMpfWlmKHRoaXMub3B0aW9ucy5yZXZlcnQpe3ZhciBiPXRoaXM7dmFyIGU9Yi5wbGFjZWhvbGRlci5vZmZzZXQoKTtiLnJldmVydGluZz10cnVlO2EodGhpcy5oZWxwZXIpLmFuaW1hdGUoe2xlZnQ6ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LWIubWFyZ2lucy5sZWZ0Kyh0aGlzLm9mZnNldFBhcmVudFswXT09ZG9jdW1lbnQuYm9keT8wOnRoaXMub2Zmc2V0UGFyZW50WzBdLnNjcm9sbExlZnQpLHRvcDplLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLWIubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1kb2N1bWVudC5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKX0scGFyc2VJbnQodGhpcy5vcHRpb25zLnJldmVydCwxMCl8fDUwMCxmdW5jdGlvbigpe2IuX2NsZWFyKGMpfSl9ZWxzZXt0aGlzLl9jbGVhcihjLGQpfXJldHVybiBmYWxzZX0sY2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcztpZih0aGlzLmRyYWdnaW5nKXt0aGlzLl9tb3VzZVVwKCk7aWYodGhpcy5vcHRpb25zLmhlbHBlcj09Im9yaWdpbmFsIil7dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIil9ZWxzZXt0aGlzLmN1cnJlbnRJdGVtLnNob3coKX1mb3IodmFyIGM9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2M+PTA7Yy0tKXt0aGlzLmNvbnRhaW5lcnNbY10uX3RyaWdnZXIoImRlYWN0aXZhdGUiLG51bGwsYi5fdWlIYXNoKHRoaXMpKTtpZih0aGlzLmNvbnRhaW5lcnNbY10uY29udGFpbmVyQ2FjaGUub3Zlcil7dGhpcy5jb250YWluZXJzW2NdLl90cmlnZ2VyKCJvdXQiLG51bGwsYi5fdWlIYXNoKHRoaXMpKTt0aGlzLmNvbnRhaW5lcnNbY10uY29udGFpbmVyQ2FjaGUub3Zlcj0wfX19aWYodGhpcy5wbGFjZWhvbGRlclswXS5wYXJlbnROb2RlKXt0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSl9aWYodGhpcy5vcHRpb25zLmhlbHBlciE9Im9yaWdpbmFsIiYmdGhpcy5oZWxwZXImJnRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUpe3RoaXMuaGVscGVyLnJlbW92ZSgpfWEuZXh0ZW5kKHRoaXMse2hlbHBlcjpudWxsLGRyYWdnaW5nOmZhbHNlLHJldmVydGluZzpmYWxzZSxfbm9GaW5hbFNvcnQ6bnVsbH0pO2lmKHRoaXMuZG9tUG9zaXRpb24ucHJldil7YSh0aGlzLmRvbVBvc2l0aW9uLnByZXYpLmFmdGVyKHRoaXMuY3VycmVudEl0ZW0pfWVsc2V7YSh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKX1yZXR1cm4gdHJ1ZX0sc2VyaWFsaXplOmZ1bmN0aW9uKGQpe3ZhciBiPXRoaXMuX2dldEl0ZW1zQXNqUXVlcnkoZCYmZC5jb25uZWN0ZWQpO3ZhciBjPVtdO2Q9ZHx8e307YShiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9KGEoZC5pdGVtfHx0aGlzKS5hdHRyKGQuYXR0cmlidXRlfHwiaWQiKXx8IiIpLm1hdGNoKGQuZXhwcmVzc2lvbnx8KC8oLispWy09X10oLispLykpO2lmKGUpe2MucHVzaCgoZC5rZXl8fGVbMV0rIltdIikrIj0iKyhkLmtleSYmZC5leHByZXNzaW9uP2VbMV06ZVsyXSkpfX0pO3JldHVybiBjLmpvaW4oIiYiKX0sdG9BcnJheTpmdW5jdGlvbihkKXt2YXIgYj10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KGQmJmQuY29ubmVjdGVkKTt2YXIgYz1bXTtkPWR8fHt9O2IuZWFjaChmdW5jdGlvbigpe2MucHVzaChhKGQuaXRlbXx8dGhpcykuYXR0cihkLmF0dHJpYnV0ZXx8ImlkIil8fCIiKX0pO3JldHVybiBjfSxfaW50ZXJzZWN0c1dpdGg6ZnVuY3Rpb24obSl7dmFyIGU9dGhpcy5wb3NpdGlvbkFicy5sZWZ0LGQ9ZSt0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLGs9dGhpcy5wb3NpdGlvbkFicy50b3Asaj1rK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0O3ZhciBmPW0ubGVmdCxjPWYrbS53aWR0aCxuPW0udG9wLGk9bittLmhlaWdodDt2YXIgbz10aGlzLm9mZnNldC5jbGljay50b3AsaD10aGlzLm9mZnNldC5jbGljay5sZWZ0O3ZhciBnPShrK28pPm4mJihrK28pPGkmJihlK2gpPmYmJihlK2gpPGM7aWYodGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIifHx0aGlzLm9wdGlvbnMuZm9yY2VQb2ludGVyRm9yQ29udGFpbmVyc3x8KHRoaXMub3B0aW9ucy50b2xlcmFuY2UhPSJwb2ludGVyIiYmdGhpcy5oZWxwZXJQcm9wb3J0aW9uc1t0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdPm1bdGhpcy5mbG9hdGluZz8id2lkdGgiOiJoZWlnaHQiXSkpe3JldHVybiBnfWVsc2V7cmV0dXJuKGY8ZSsodGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yKSYmZC0odGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yKTxjJiZuPGsrKHRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzIpJiZqLSh0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yKTxpKX19LF9pbnRlcnNlY3RzV2l0aFBvaW50ZXI6ZnVuY3Rpb24oZCl7dmFyIGU9YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCxkLnRvcCxkLmhlaWdodCksYz1hLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0K3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQsZC5sZWZ0LGQud2lkdGgpLGc9ZSYmYyxiPXRoaXMuX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbigpLGY9dGhpcy5fZ2V0RHJhZ0hvcml6b250YWxEaXJlY3Rpb24oKTtpZighZyl7cmV0dXJuIGZhbHNlfXJldHVybiB0aGlzLmZsb2F0aW5nPygoKGYmJmY9PSJyaWdodCIpfHxiPT0iZG93biIpPzI6MSk6KGImJihiPT0iZG93biI/MjoxKSl9LF9pbnRlcnNlY3RzV2l0aFNpZGVzOmZ1bmN0aW9uKGUpe3ZhciBjPWEudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCt0aGlzLm9mZnNldC5jbGljay50b3AsZS50b3ArKGUuaGVpZ2h0LzIpLGUuaGVpZ2h0KSxkPWEudWkuaXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxlLmxlZnQrKGUud2lkdGgvMiksZS53aWR0aCksYj10aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKSxmPXRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uKCk7aWYodGhpcy5mbG9hdGluZyYmZil7cmV0dXJuKChmPT0icmlnaHQiJiZkKXx8KGY9PSJsZWZ0IiYmIWQpKX1lbHNle3JldHVybiBiJiYoKGI9PSJkb3duIiYmYyl8fChiPT0idXAiJiYhYykpfX0sX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBiPXRoaXMucG9zaXRpb25BYnMudG9wLXRoaXMubGFzdFBvc2l0aW9uQWJzLnRvcDtyZXR1cm4gYiE9MCYmKGI+MD8iZG93biI6InVwIil9LF9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBiPXRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLmxhc3RQb3NpdGlvbkFicy5sZWZ0O3JldHVybiBiIT0wJiYoYj4wPyJyaWdodCI6ImxlZnQiKX0scmVmcmVzaDpmdW5jdGlvbihiKXt0aGlzLl9yZWZyZXNoSXRlbXMoYik7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCl9LF9jb25uZWN0V2l0aDpmdW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9ucztyZXR1cm4gYi5jb25uZWN0V2l0aC5jb25zdHJ1Y3Rvcj09U3RyaW5nP1tiLmNvbm5lY3RXaXRoXTpiLmNvbm5lY3RXaXRofSxfZ2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbihiKXt2YXIgbD10aGlzO3ZhciBnPVtdO3ZhciBlPVtdO3ZhciBoPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYoaCYmYil7Zm9yKHZhciBkPWgubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBrPWEoaFtkXSk7Zm9yKHZhciBjPWsubGVuZ3RoLTE7Yz49MDtjLS0pe3ZhciBmPWEuZGF0YShrW2NdLCJzb3J0YWJsZSIpO2lmKGYmJmYhPXRoaXMmJiFmLm9wdGlvbnMuZGlzYWJsZWQpe2UucHVzaChbYS5pc0Z1bmN0aW9uKGYub3B0aW9ucy5pdGVtcyk/Zi5vcHRpb25zLml0ZW1zLmNhbGwoZi5lbGVtZW50KTphKGYub3B0aW9ucy5pdGVtcyxmLmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpLGZdKX19fX1lLnB1c2goW2EuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9ucy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudCxudWxsLHtvcHRpb25zOnRoaXMub3B0aW9ucyxpdGVtOnRoaXMuY3VycmVudEl0ZW19KTphKHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpLHRoaXNdKTtmb3IodmFyIGQ9ZS5sZW5ndGgtMTtkPj0wO2QtLSl7ZVtkXVswXS5lYWNoKGZ1bmN0aW9uKCl7Zy5wdXNoKHRoaXMpfSl9cmV0dXJuIGEoZyl9LF9yZW1vdmVDdXJyZW50c0Zyb21JdGVtczpmdW5jdGlvbigpe3ZhciBkPXRoaXMuY3VycmVudEl0ZW0uZmluZCgiOmRhdGEoc29ydGFibGUtaXRlbSkiKTtmb3IodmFyIGM9MDtjPHRoaXMuaXRlbXMubGVuZ3RoO2MrKyl7Zm9yKHZhciBiPTA7YjxkLmxlbmd0aDtiKyspe2lmKGRbYl09PXRoaXMuaXRlbXNbY10uaXRlbVswXSl7dGhpcy5pdGVtcy5zcGxpY2UoYywxKX19fX0sX3JlZnJlc2hJdGVtczpmdW5jdGlvbihiKXt0aGlzLml0ZW1zPVtdO3RoaXMuY29udGFpbmVycz1bdGhpc107dmFyIGg9dGhpcy5pdGVtczt2YXIgcD10aGlzO3ZhciBmPVtbYS5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhpcy5lbGVtZW50WzBdLGIse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmEodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCksdGhpc11dO3ZhciBsPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYobCl7Zm9yKHZhciBlPWwubGVuZ3RoLTE7ZT49MDtlLS0pe3ZhciBtPWEobFtlXSk7Zm9yKHZhciBkPW0ubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBnPWEuZGF0YShtW2RdLCJzb3J0YWJsZSIpO2lmKGcmJmchPXRoaXMmJiFnLm9wdGlvbnMuZGlzYWJsZWQpe2YucHVzaChbYS5pc0Z1bmN0aW9uKGcub3B0aW9ucy5pdGVtcyk/Zy5vcHRpb25zLml0ZW1zLmNhbGwoZy5lbGVtZW50WzBdLGIse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmEoZy5vcHRpb25zLml0ZW1zLGcuZWxlbWVudCksZ10pO3RoaXMuY29udGFpbmVycy5wdXNoKGcpfX19fWZvcih2YXIgZT1mLmxlbmd0aC0xO2U+PTA7ZS0tKXt2YXIgaz1mW2VdWzFdO3ZhciBjPWZbZV1bMF07Zm9yKHZhciBkPTAsbj1jLmxlbmd0aDtkPG47ZCsrKXt2YXIgbz1hKGNbZF0pO28uZGF0YSgic29ydGFibGUtaXRlbSIsayk7aC5wdXNoKHtpdGVtOm8saW5zdGFuY2U6ayx3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0b3A6MH0pfX19LHJlZnJlc2hQb3NpdGlvbnM6ZnVuY3Rpb24oYil7aWYodGhpcy5vZmZzZXRQYXJlbnQmJnRoaXMuaGVscGVyKXt0aGlzLm9mZnNldC5wYXJlbnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCl9Zm9yKHZhciBkPXRoaXMuaXRlbXMubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBlPXRoaXMuaXRlbXNbZF07aWYoZS5pbnN0YW5jZSE9dGhpcy5jdXJyZW50Q29udGFpbmVyJiZ0aGlzLmN1cnJlbnRDb250YWluZXImJmUuaXRlbVswXSE9dGhpcy5jdXJyZW50SXRlbVswXSl7Y29udGludWV9dmFyIGM9dGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQ/YSh0aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudCxlLml0ZW0pOmUuaXRlbTtpZighYil7ZS53aWR0aD1jLm91dGVyV2lkdGgoKTtlLmhlaWdodD1jLm91dGVySGVpZ2h0KCl9dmFyIGY9Yy5vZmZzZXQoKTtlLmxlZnQ9Zi5sZWZ0O2UudG9wPWYudG9wfWlmKHRoaXMub3B0aW9ucy5jdXN0b20mJnRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMpe3RoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2FsbCh0aGlzKX1lbHNle2Zvcih2YXIgZD10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBmPXRoaXMuY29udGFpbmVyc1tkXS5lbGVtZW50Lm9mZnNldCgpO3RoaXMuY29udGFpbmVyc1tkXS5jb250YWluZXJDYWNoZS5sZWZ0PWYubGVmdDt0aGlzLmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2FjaGUudG9wPWYudG9wO3RoaXMuY29udGFpbmVyc1tkXS5jb250YWluZXJDYWNoZS53aWR0aD10aGlzLmNvbnRhaW5lcnNbZF0uZWxlbWVudC5vdXRlcldpZHRoKCk7dGhpcy5jb250YWluZXJzW2RdLmNvbnRhaW5lckNhY2hlLmhlaWdodD10aGlzLmNvbnRhaW5lcnNbZF0uZWxlbWVudC5vdXRlckhlaWdodCgpfX19LF9jcmVhdGVQbGFjZWhvbGRlcjpmdW5jdGlvbihkKXt2YXIgYj1kfHx0aGlzLGU9Yi5vcHRpb25zO2lmKCFlLnBsYWNlaG9sZGVyfHxlLnBsYWNlaG9sZGVyLmNvbnN0cnVjdG9yPT1TdHJpbmcpe3ZhciBjPWUucGxhY2Vob2xkZXI7ZS5wbGFjZWhvbGRlcj17ZWxlbWVudDpmdW5jdGlvbigpe3ZhciBmPWEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLmN1cnJlbnRJdGVtWzBdLm5vZGVOYW1lKSkuYWRkQ2xhc3MoY3x8Yi5jdXJyZW50SXRlbVswXS5jbGFzc05hbWUrIiB1aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKVswXTtpZighYyl7Zi5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4ifXJldHVybiBmfSx1cGRhdGU6ZnVuY3Rpb24oZixnKXtpZihjJiYhZS5mb3JjZVBsYWNlaG9sZGVyU2l6ZSl7cmV0dXJufWlmKCFnLmhlaWdodCgpKXtnLmhlaWdodChiLmN1cnJlbnRJdGVtLmlubmVySGVpZ2h0KCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdUb3AiKXx8MCwxMCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdCb3R0b20iKXx8MCwxMCkpfWlmKCFnLndpZHRoKCkpe2cud2lkdGgoYi5jdXJyZW50SXRlbS5pbm5lcldpZHRoKCktcGFyc2VJbnQoYi5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAsMTApLXBhcnNlSW50KGIuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8MCwxMCkpfX19fWIucGxhY2Vob2xkZXI9YShlLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbChiLmVsZW1lbnQsYi5jdXJyZW50SXRlbSkpO2IuY3VycmVudEl0ZW0uYWZ0ZXIoYi5wbGFjZWhvbGRlcik7ZS5wbGFjZWhvbGRlci51cGRhdGUoYixiLnBsYWNlaG9sZGVyKX0sX2NvbnRhY3RDb250YWluZXJzOmZ1bmN0aW9uKGQpe2Zvcih2YXIgYz10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7Yz49MDtjLS0pe2lmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVyc1tjXS5jb250YWluZXJDYWNoZSkpe2lmKCF0aGlzLmNvbnRhaW5lcnNbY10uY29udGFpbmVyQ2FjaGUub3Zlcil7aWYodGhpcy5jdXJyZW50Q29udGFpbmVyIT10aGlzLmNvbnRhaW5lcnNbY10pe3ZhciBoPTEwMDAwO3ZhciBnPW51bGw7dmFyIGU9dGhpcy5wb3NpdGlvbkFic1t0aGlzLmNvbnRhaW5lcnNbY10uZmxvYXRpbmc/ImxlZnQiOiJ0b3AiXTtmb3IodmFyIGI9dGhpcy5pdGVtcy5sZW5ndGgtMTtiPj0wO2ItLSl7aWYoIWEudWkuY29udGFpbnModGhpcy5jb250YWluZXJzW2NdLmVsZW1lbnRbMF0sdGhpcy5pdGVtc1tiXS5pdGVtWzBdKSl7Y29udGludWV9dmFyIGY9dGhpcy5pdGVtc1tiXVt0aGlzLmNvbnRhaW5lcnNbY10uZmxvYXRpbmc/ImxlZnQiOiJ0b3AiXTtpZihNYXRoLmFicyhmLWUpPGgpe2g9TWF0aC5hYnMoZi1lKTtnPXRoaXMuaXRlbXNbYl19fWlmKCFnJiYhdGhpcy5vcHRpb25zLmRyb3BPbkVtcHR5KXtjb250aW51ZX10aGlzLmN1cnJlbnRDb250YWluZXI9dGhpcy5jb250YWluZXJzW2NdO2c/dGhpcy5fcmVhcnJhbmdlKGQsZyxudWxsLHRydWUpOnRoaXMuX3JlYXJyYW5nZShkLG51bGwsdGhpcy5jb250YWluZXJzW2NdLmVsZW1lbnQsdHJ1ZSk7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixkLHRoaXMuX3VpSGFzaCgpKTt0aGlzLmNvbnRhaW5lcnNbY10uX3RyaWdnZXIoImNoYW5nZSIsZCx0aGlzLl91aUhhc2godGhpcykpO3RoaXMub3B0aW9ucy5wbGFjZWhvbGRlci51cGRhdGUodGhpcy5jdXJyZW50Q29udGFpbmVyLHRoaXMucGxhY2Vob2xkZXIpfXRoaXMuY29udGFpbmVyc1tjXS5fdHJpZ2dlcigib3ZlciIsZCx0aGlzLl91aUhhc2godGhpcykpO3RoaXMuY29udGFpbmVyc1tjXS5jb250YWluZXJDYWNoZS5vdmVyPTF9fWVsc2V7aWYodGhpcy5jb250YWluZXJzW2NdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMuY29udGFpbmVyc1tjXS5fdHJpZ2dlcigib3V0IixkLHRoaXMuX3VpSGFzaCh0aGlzKSk7dGhpcy5jb250YWluZXJzW2NdLmNvbnRhaW5lckNhY2hlLm92ZXI9MH19fX0sX2NyZWF0ZUhlbHBlcjpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnM7dmFyIGI9YS5pc0Z1bmN0aW9uKGQuaGVscGVyKT9hKGQuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbYyx0aGlzLmN1cnJlbnRJdGVtXSkpOihkLmhlbHBlcj09ImNsb25lIj90aGlzLmN1cnJlbnRJdGVtLmNsb25lKCk6dGhpcy5jdXJyZW50SXRlbSk7aWYoIWIucGFyZW50cygiYm9keSIpLmxlbmd0aCl7YShkLmFwcGVuZFRvIT0icGFyZW50Ij9kLmFwcGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoYlswXSl9aWYoYlswXT09dGhpcy5jdXJyZW50SXRlbVswXSl7dGhpcy5fc3RvcmVkQ1NTPXt3aWR0aDp0aGlzLmN1cnJlbnRJdGVtWzBdLnN0eWxlLndpZHRoLGhlaWdodDp0aGlzLmN1cnJlbnRJdGVtWzBdLnN0eWxlLmhlaWdodCxwb3NpdGlvbjp0aGlzLmN1cnJlbnRJdGVtLmNzcygicG9zaXRpb24iKSx0b3A6dGhpcy5jdXJyZW50SXRlbS5jc3MoInRvcCIpLGxlZnQ6dGhpcy5jdXJyZW50SXRlbS5jc3MoImxlZnQiKX19aWYoYlswXS5zdHlsZS53aWR0aD09IiJ8fGQuZm9yY2VIZWxwZXJTaXplKXtiLndpZHRoKHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSl9aWYoYlswXS5zdHlsZS5oZWlnaHQ9PSIifHxkLmZvcmNlSGVscGVyU2l6ZSl7Yi5oZWlnaHQodGhpcy5jdXJyZW50SXRlbS5oZWlnaHQoKSl9cmV0dXJuIGJ9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGIpe2lmKGIubGVmdCE9dW5kZWZpbmVkKXt0aGlzLm9mZnNldC5jbGljay5sZWZ0PWIubGVmdCt0aGlzLm1hcmdpbnMubGVmdH1pZihiLnJpZ2h0IT11bmRlZmluZWQpe3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC1iLnJpZ2h0K3RoaXMubWFyZ2lucy5sZWZ0fWlmKGIudG9wIT11bmRlZmluZWQpe3RoaXMub2Zmc2V0LmNsaWNrLnRvcD1iLnRvcCt0aGlzLm1hcmdpbnMudG9wfWlmKGIuYm90dG9tIT11bmRlZmluZWQpe3RoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1iLmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wfX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBiPXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO2lmKHRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJnRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpe2IubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpO2IudG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKX1pZigodGhpcy5vZmZzZXRQYXJlbnRbMF09PWRvY3VtZW50LmJvZHkpfHwodGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZSYmdGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0iaHRtbCImJmEuYnJvd3Nlci5tc2llKSl7Yj17dG9wOjAsbGVmdDowfX1yZXR1cm57dG9wOmIudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmIubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5jc3NQb3NpdGlvbj09InJlbGF0aXZlIil7dmFyIGI9dGhpcy5jdXJyZW50SXRlbS5wb3NpdGlvbigpO3JldHVybnt0b3A6Yi50b3AtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OmIubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fWVsc2V7cmV0dXJue3RvcDowLGxlZnQ6MH19fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhpcy5tYXJnaW5zPXtsZWZ0OihwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCksdG9wOihwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO2lmKGUuY29udGFpbm1lbnQ9PSJwYXJlbnQiKXtlLmNvbnRhaW5tZW50PXRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGV9aWYoZS5jb250YWlubWVudD09ImRvY3VtZW50Inx8ZS5jb250YWlubWVudD09IndpbmRvdyIpe3RoaXMuY29udGFpbm1lbnQ9WzAtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCwwLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLGEoZS5jb250YWlubWVudD09ImRvY3VtZW50Ij9kb2N1bWVudDp3aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwoYShlLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50OndpbmRvdykuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdfWlmKCEoL14oZG9jdW1lbnR8d2luZG93fHBhcmVudCkkLykudGVzdChlLmNvbnRhaW5tZW50KSl7dmFyIGM9YShlLmNvbnRhaW5tZW50KVswXTt2YXIgZD1hKGUuY29udGFpbm1lbnQpLm9mZnNldCgpO3ZhciBiPShhKGMpLmNzcygib3ZlcmZsb3ciKSE9ImhpZGRlbiIpO3RoaXMuY29udGFpbm1lbnQ9W2QubGVmdCsocGFyc2VJbnQoYShjKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoYykuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLmxlZnQsZC50b3ArKHBhcnNlSW50KGEoYykuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGEoYykuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKS10aGlzLm1hcmdpbnMudG9wLGQubGVmdCsoYj9NYXRoLm1heChjLnNjcm9sbFdpZHRoLGMub2Zmc2V0V2lkdGgpOmMub2Zmc2V0V2lkdGgpLShwYXJzZUludChhKGMpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoYShjKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCxkLnRvcCsoYj9NYXRoLm1heChjLnNjcm9sbEhlaWdodCxjLm9mZnNldEhlaWdodCk6Yy5vZmZzZXRIZWlnaHQpLShwYXJzZUludChhKGMpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChhKGMpLmNzcygicGFkZGluZ0JvdHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF19fSxfY29udmVydFBvc2l0aW9uVG86ZnVuY3Rpb24oZixoKXtpZighaCl7aD10aGlzLnBvc2l0aW9ufXZhciBjPWY9PSJhYnNvbHV0ZSI/MTotMTt2YXIgZT10aGlzLm9wdGlvbnMsYj10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpP3RoaXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGc9KC8oaHRtbHxib2R5KS9pKS50ZXN0KGJbMF0udGFnTmFtZSk7cmV0dXJue3RvcDooaC50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKmMrdGhpcy5vZmZzZXQucGFyZW50LnRvcCpjLShhLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOihnPzA6Yi5zY3JvbGxUb3AoKSkpKmMpKSxsZWZ0OihoLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpjK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KmMtKGEuYnJvd3Nlci5zYWZhcmkmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmc/MDpiLnNjcm9sbExlZnQoKSkqYykpfX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5vcHRpb25zLGI9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxpPSgvKGh0bWx8Ym9keSkvaSkudGVzdChiWzBdLnRhZ05hbWUpO2lmKHRoaXMuY3NzUG9zaXRpb249PSJyZWxhdGl2ZSImJiEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9dGhpcy5vZmZzZXRQYXJlbnRbMF0pKXt0aGlzLm9mZnNldC5yZWxhdGl2ZT10aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpfXZhciBkPWUucGFnZVg7dmFyIGM9ZS5wYWdlWTtpZih0aGlzLm9yaWdpbmFsUG9zaXRpb24pe2lmKHRoaXMuY29udGFpbm1lbnQpe2lmKGUucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdKXtkPXRoaXMuY29udGFpbm1lbnRbMF0rdGhpcy5vZmZzZXQuY2xpY2subGVmdH1pZihlLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKXtjPXRoaXMuY29udGFpbm1lbnRbMV0rdGhpcy5vZmZzZXQuY2xpY2sudG9wfWlmKGUucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5tZW50WzJdKXtkPXRoaXMuY29udGFpbm1lbnRbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdH1pZihlLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD50aGlzLmNvbnRhaW5tZW50WzNdKXtjPXRoaXMuY29udGFpbm1lbnRbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wfX1pZihoLmdyaWQpe3ZhciBnPXRoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChjLXRoaXMub3JpZ2luYWxQYWdlWSkvaC5ncmlkWzFdKSpoLmdyaWRbMV07Yz10aGlzLmNvbnRhaW5tZW50PyghKGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV18fGctdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10pP2c6KCEoZy10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVudFsxXSk/Zy1oLmdyaWRbMV06ZytoLmdyaWRbMV0pKTpnO3ZhciBmPXRoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChkLXRoaXMub3JpZ2luYWxQYWdlWCkvaC5ncmlkWzBdKSpoLmdyaWRbMF07ZD10aGlzLmNvbnRhaW5tZW50PyghKGYtdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdfHxmLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+dGhpcy5jb250YWlubWVudFsyXSk/ZjooIShmLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSk/Zi1oLmdyaWRbMF06ZitoLmdyaWRbMF0pKTpmfX1yZXR1cm57dG9wOihjLXRoaXMub2Zmc2V0LmNsaWNrLnRvcC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCsoYS5icm93c2VyLnNhZmFyaSYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8wOih0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTooaT8wOmIuc2Nyb2xsVG9wKCkpKSkpLGxlZnQ6KGQtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KyhhLmJyb3dzZXIuc2FmYXJpJiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTppPzA6Yi5zY3JvbGxMZWZ0KCkpKSl9fSxfcmVhcnJhbmdlOmZ1bmN0aW9uKGcsZixjLGUpe2M/Y1swXS5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTpmLml0ZW1bMF0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5wbGFjZWhvbGRlclswXSwodGhpcy5kaXJlY3Rpb249PSJkb3duIj9mLml0ZW1bMF06Zi5pdGVtWzBdLm5leHRTaWJsaW5nKSk7dGhpcy5jb3VudGVyPXRoaXMuY291bnRlcj8rK3RoaXMuY291bnRlcjoxO3ZhciBkPXRoaXMsYj10aGlzLmNvdW50ZXI7d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihiPT1kLmNvdW50ZXIpe2QucmVmcmVzaFBvc2l0aW9ucyghZSl9fSwwKX0sX2NsZWFyOmZ1bmN0aW9uKGQsZSl7dGhpcy5yZXZlcnRpbmc9ZmFsc2U7dmFyIGY9W10sYj10aGlzO2lmKCF0aGlzLl9ub0ZpbmFsU29ydCYmdGhpcy5jdXJyZW50SXRlbVswXS5wYXJlbnROb2RlKXt0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSh0aGlzLmN1cnJlbnRJdGVtKX10aGlzLl9ub0ZpbmFsU29ydD1udWxsO2lmKHRoaXMuaGVscGVyWzBdPT10aGlzLmN1cnJlbnRJdGVtWzBdKXtmb3IodmFyIGMgaW4gdGhpcy5fc3RvcmVkQ1NTKXtpZih0aGlzLl9zdG9yZWRDU1NbY109PSJhdXRvInx8dGhpcy5fc3RvcmVkQ1NTW2NdPT0ic3RhdGljIil7dGhpcy5fc3RvcmVkQ1NTW2NdPSIifX10aGlzLmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9yZWRDU1MpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKX1lbHNle3RoaXMuY3VycmVudEl0ZW0uc2hvdygpfWlmKHRoaXMuZnJvbU91dHNpZGUmJiFlKXtmLnB1c2goZnVuY3Rpb24oZyl7dGhpcy5fdHJpZ2dlcigicmVjZWl2ZSIsZyx0aGlzLl91aUhhc2godGhpcy5mcm9tT3V0c2lkZSkpfSl9aWYoKHRoaXMuZnJvbU91dHNpZGV8fHRoaXMuZG9tUG9zaXRpb24ucHJldiE9dGhpcy5jdXJyZW50SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF18fHRoaXMuZG9tUG9zaXRpb24ucGFyZW50IT10aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBdKSYmIWUpe2YucHVzaChmdW5jdGlvbihnKXt0aGlzLl90cmlnZ2VyKCJ1cGRhdGUiLGcsdGhpcy5fdWlIYXNoKCkpfSl9aWYoIWEudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuY3VycmVudEl0ZW1bMF0pKXtpZighZSl7Zi5wdXNoKGZ1bmN0aW9uKGcpe3RoaXMuX3RyaWdnZXIoInJlbW92ZSIsZyx0aGlzLl91aUhhc2goKSl9KX1mb3IodmFyIGM9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2M+PTA7Yy0tKXtpZihhLnVpLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tjXS5lbGVtZW50WzBdLHRoaXMuY3VycmVudEl0ZW1bMF0pJiYhZSl7Zi5wdXNoKChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaCl7Zy5fdHJpZ2dlcigicmVjZWl2ZSIsaCx0aGlzLl91aUhhc2godGhpcykpfX0pLmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbY10pKTtmLnB1c2goKGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlvbihoKXtnLl90cmlnZ2VyKCJ1cGRhdGUiLGgsdGhpcy5fdWlIYXNoKHRoaXMpKX19KS5jYWxsKHRoaXMsdGhpcy5jb250YWluZXJzW2NdKSl9fX1mb3IodmFyIGM9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2M+PTA7Yy0tKXtpZighZSl7Zi5wdXNoKChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaCl7Zy5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsaCx0aGlzLl91aUhhc2godGhpcykpfX0pLmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbY10pKX1pZih0aGlzLmNvbnRhaW5lcnNbY10uY29udGFpbmVyQ2FjaGUub3Zlcil7Zi5wdXNoKChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaCl7Zy5fdHJpZ2dlcigib3V0IixoLHRoaXMuX3VpSGFzaCh0aGlzKSl9fSkuY2FsbCh0aGlzLHRoaXMuY29udGFpbmVyc1tjXSkpO3RoaXMuY29udGFpbmVyc1tjXS5jb250YWluZXJDYWNoZS5vdmVyPTB9fWlmKHRoaXMuX3N0b3JlZEN1cnNvcil7YSgiYm9keSIpLmNzcygiY3Vyc29yIix0aGlzLl9zdG9yZWRDdXJzb3IpfWlmKHRoaXMuX3N0b3JlZE9wYWNpdHkpe3RoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsdGhpcy5fc3RvcmVkT3BhY2l0eSl9aWYodGhpcy5fc3RvcmVkWkluZGV4KXt0aGlzLmhlbHBlci5jc3MoInpJbmRleCIsdGhpcy5fc3RvcmVkWkluZGV4PT0iYXV0byI/IiI6dGhpcy5fc3RvcmVkWkluZGV4KX10aGlzLmRyYWdnaW5nPWZhbHNlO2lmKHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbCl7aWYoIWUpe3RoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLGQsdGhpcy5fdWlIYXNoKCkpO2Zvcih2YXIgYz0wO2M8Zi5sZW5ndGg7YysrKXtmW2NdLmNhbGwodGhpcyxkKX10aGlzLl90cmlnZ2VyKCJzdG9wIixkLHRoaXMuX3VpSGFzaCgpKX1yZXR1cm4gZmFsc2V9aWYoIWUpe3RoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLGQsdGhpcy5fdWlIYXNoKCkpfXRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTtpZih0aGlzLmhlbHBlclswXSE9dGhpcy5jdXJyZW50SXRlbVswXSl7dGhpcy5oZWxwZXIucmVtb3ZlKCl9dGhpcy5oZWxwZXI9bnVsbDtpZighZSl7Zm9yKHZhciBjPTA7YzxmLmxlbmd0aDtjKyspe2ZbY10uY2FsbCh0aGlzLGQpfXRoaXMuX3RyaWdnZXIoInN0b3AiLGQsdGhpcy5fdWlIYXNoKCkpfXRoaXMuZnJvbU91dHNpZGU9ZmFsc2U7cmV0dXJuIHRydWV9LF90cmlnZ2VyOmZ1bmN0aW9uKCl7aWYoYS53aWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmFwcGx5KHRoaXMsYXJndW1lbnRzKT09PWZhbHNlKXt0aGlzLmNhbmNlbCgpfX0sX3VpSGFzaDpmdW5jdGlvbihjKXt2YXIgYj1jfHx0aGlzO3JldHVybntoZWxwZXI6Yi5oZWxwZXIscGxhY2Vob2xkZXI6Yi5wbGFjZWhvbGRlcnx8YShbXSkscG9zaXRpb246Yi5wb3NpdGlvbixhYnNvbHV0ZVBvc2l0aW9uOmIucG9zaXRpb25BYnMsb2Zmc2V0OmIucG9zaXRpb25BYnMsaXRlbTpiLmN1cnJlbnRJdGVtLHNlbmRlcjpjP2MuZWxlbWVudDpudWxsfX19KSk7YS5leHRlbmQoYS51aS5zb3J0YWJsZSx7Z2V0dGVyOiJzZXJpYWxpemUgdG9BcnJheSIsdmVyc2lvbjoiMS43LjEiLGV2ZW50UHJlZml4OiJzb3J0IixkZWZhdWx0czp7YXBwZW5kVG86InBhcmVudCIsYXhpczpmYWxzZSxjYW5jZWw6IjppbnB1dCxvcHRpb24iLGNvbm5lY3RXaXRoOmZhbHNlLGNvbnRhaW5tZW50OmZhbHNlLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZGVsYXk6MCxkaXN0YW5jZToxLGRyb3BPbkVtcHR5OnRydWUsZm9yY2VQbGFjZWhvbGRlclNpemU6ZmFsc2UsZm9yY2VIZWxwZXJTaXplOmZhbHNlLGdyaWQ6ZmFsc2UsaGFuZGxlOmZhbHNlLGhlbHBlcjoib3JpZ2luYWwiLGl0ZW1zOiI+ICoiLG9wYWNpdHk6ZmFsc2UscGxhY2Vob2xkZXI6ZmFsc2UscmV2ZXJ0OmZhbHNlLHNjcm9sbDp0cnVlLHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCIsekluZGV4OjEwMDB9fSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/mbtabset/MIT-LICENSE.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29weXJpZ2h0IChjKSAyMDA5IE1hdHRlbyBCaWNvY2NoaSwgT3BlbiBMYWIgc3JsCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbgpvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgpmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0CnJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLApjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbApjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcKY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCmluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCkVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUwpPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORApOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVApIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwKV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCkZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/css/orbit.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ09OVEFJTkVSICovCmRpdi5vcmJpdCB7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IC1tb3otYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLDAsMCwuMjUpOyAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsLjI1KTsgYmFja2dyb3VuZDogdXJsKCdvcmJpdC9sb2FkaW5nLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9CmRpdi5vcmJpdCBpbWcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgfQoKLyogVElNRVIgKi8KZGl2LnRpbWVyIHsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7IHJpZ2h0OjEwcHg7IG9wYWNpdHk6IC42OyBjdXJzb3I6IHBvaW50ZXI7IHotaW5kZXg6IDEwMDA7IH0Kc3Bhbi5yb3RhdG9yIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAtMjBweDsgYmFja2dyb3VuZDogdXJsKCdvcmJpdC9yb3RhdG9yLWJsYWNrLnBuZycpIG5vLXJlcGVhdDsgei1pbmRleDogMzsgfQpzcGFuLm1hc2sgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDIwcHg7IGhlaWdodDogNDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAyOyBvdmVyZmxvdzogaGlkZGVuOyB9CnNwYW4ucm90YXRvci5tb3ZlIHsgbGVmdDogMDsgfQpzcGFuLm1hc2subW92ZSB7IHdpZHRoOiA0MHB4OyBsZWZ0OiAwOyBiYWNrZ3JvdW5kOiB1cmwoJ29yYml0L3RpbWVyLWJsYWNrLnBuZycpIHJlcGVhdCAwcHggMHB4OyAgfQpzcGFuLnBhdXNlIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwcHg7IGJhY2tncm91bmQ6IHVybCgnb3JiaXQvcGF1c2UtYmxhY2sucG5nJykgbm8tcmVwZWF0OyB6LWluZGV4OiA0OyBvcGFjaXR5OiAwOyB9CmRpdi50aW1lcjpob3ZlciBzcGFuLnBhdXNlLApzcGFuLnBhdXNlLmFjdGl2ZSwgCmRpdi50aW1lcjpob3ZlciBzcGFuLnBhdXNlLmFjdGl2ZSB7IG9wYWNpdHk6IDE7IH0KCi8qIENBUFRJT05TICovCmRpdi5jYXB0aW9uIHsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNik7IHdpZHRoOiAxMDAlOyB6LWluZGV4OiAxMDAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTotNTBweDsgY29sb3I6ICNmZmY7IH0KZGl2LmNhcHRpb24gcCB7IHBhZGRpbmc6IDhweCAxMHB4IDhweDsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgwLDAsMCwuOCk7IG1hcmdpbjogMDsgfQoKLyogRElSRUNUSU9OQUwgTkFWICovCmRpdi5vcmJpdDpob3ZlciBkaXYuc2xpZGVyLW5hdiB7IGRpc3BsYXk6IGJsb2NrOyB9CmRpdi5zbGlkZXItbmF2IHsgZGlzcGxheTogbm9uZTsgfQpkaXYuc2xpZGVyLW5hdiBzcGFuIHsgd2lkdGg6IDMzcHg7IGhlaWdodDogMzNweDsgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwMDsgdG9wOiAxOTBweDsgY3Vyc29yOiBwb2ludGVyOyB9CmRpdi5zbGlkZXItbmF2IHNwYW4ucmlnaHQgeyBiYWNrZ3JvdW5kOiB1cmwoJ29yYml0L3JpZ2h0LWFycm93LnBuZycpOyByaWdodDogMTBweDsgfQpkaXYuc2xpZGVyLW5hdiBzcGFuLmxlZnQgeyBiYWNrZ3JvdW5kOiB1cmwoJ29yYml0L2xlZnQtYXJyb3cucG5nJyk7IGxlZnQ6IDEwcHg7IH0gICA=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAIJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAcAAAABAAAQAAAtAGEAcgByAG8AdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAOAGwAZQBmAHQALQBhAHIAcgBvAHcALgBwAG4AZ0lsb2NibG9iAAAAEAAAAFwAAAAf////////AAAAAAALAGwAbwBhAGQAaQBuAGcALgBnAGkAZklsb2NibG9iAAAAEAAAAQ4AAAAf////////AAAAAAAOAG0AYQBzAGsALQBiAGwAYQBjAGsALgBwAG4AZ0lsb2NibG9iAAAAEAAAAcAAAAAf////////AAAAAAAPAHAAYQB1AHMAZQAtAGIAbABhAGMAawAuAHAAbgBnSWxvY2Jsb2IAAAAQAAAAXAAAAHz///////8AAAAAAA8AcgBpAGcAaAB0AC0AYQByAHIAbwB3AC4AcABuAGdJbG9jYmxvYgAAABAAAAEOAAAAfP///////wAAAAAAEQByAG8AdABhAHQAbwByAC0AYgBsAGEAYwBrAC4AcABuAGdJbG9jYmxvYgAAABAAAAHAAAAAfP///////wAAAAAADwB0AGkAbQBlAHIALQBiAGwAYQBjAGsALgBwAG4AZ0lsb2NibG9iAAAAEAAAAFwAAADZ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAACCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAABAAABAAAAAAAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/left-arrow.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAAEg4/L5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuFJREFUeNpiZIAAWwYEOMwCJKKA2B6I/wExExB/YILKngfiJTClLFDaEIi5YYKM2MwECCBGNAGw1hgQ4////+mMjIwzmZA5DFBrGaCcDJjBKGYABBAjkkNxgSlMaALvQHYA6TpkQXRFy4D2sgJpL3QnI4McKP0XWRAggEBukgRiFRzuuQxSMBOPgzHcwgB1MHYF6JIoCmCSsCDFUACSAGKQm7LxuWEG0KQ/6N7E6wuQAjUgFschfx0ggBih6SaDgXxQBHKnJpGKJ+MQV2IhoPEn0PN5SCGGVREuQx4ANbdDNYJ0qgNxIdFRDwVzkSL0P5CKxudcXC5phjp9B9CM9UC6HmrhVFIMgQEPoGEeQPoT0LBSXGECMv0OETHDh54+kcBjgADCVpwQC74D8RmCSZVQ9DMxUAbYiTXgKBB/JCVdIIOFwJhYBKS/kBOdvUDNt8hJVAzQkvQVEl+AFAOKgDZ/RcofE0EBRqwB2WjF0jR8YYVNoh4pW4NsbyCpYAYCMaC+Kci1CxDnk5q9WUHp/z8E/AbyQV56RnI6gJbl3NAa6T+5CakPiGXwFevEZiaQV1jJcQE8XLCI/aGkPAA3RQACDGZAIhBbMNAXgGJ2IRCfYgYSYUBsx0B/AIoCI1DRzEREyUAq+AFtNBIdx9R0wBog3gNNpbVALEWsRkodAUrqs4G59yJyywyYGf+TYgi5jvgMatwALX9IjSAk1RHPgXgC0PIPyCUpqCCDlqiK0IYyNy0ccQNU5gPt+omjPAS1L1PIDVliSqp7QDwLmwOgvlcF4lhK0hcxXRwY+ARqzAEd8wDNEYzQ2oAHiNOhjiIFTCGlzOYD4kqgvdOB2BGpyfofGqI/oDVMJhC/pHZ0YNMTAa0XU4FsZqBb/kIrWSYo/kuPLAoDJiAMdMxTULACHfIOGk3/6ekIGJAG4nag5T+hdTojqY74x0A9AGrz5ZGo5x+oFr0GxBKklPVUrMpBAyFnAZ46z0MuavpPAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/mask-black.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmNJREFUeNpi/P//PwMMMDIygmkWBlQAVsGEJsiITZABmyBYO0AAMYAsglpmjJBCCP6HqWRBtwQkgdUiFgxLgDoAAogR2UdIPvuPbiwLA3YAs/MJzFRcJhIMIgasAYHHagw3AgQQMVYz4LMaFqpv4ZqJCB6wEBOe4GEkxmoYmA6lr8JjGxkjAR6YewmZ+ARKL8NnohmuNIUrwDtQUiSaiTCTpGGqAQIIq0ICmmERIYc1XLFFDFaFmJGFLfkSjBdskSoAxN+xhNFSUl1IKLBBIJqUMMQGpNHC9j8pXsYGjNH4fylxoTG664BYiFQDvaFJ5j8WLE1JOkTGXajRRJqBf4B4PhCz4QpUgAAiJdmADPlFSB0psfwTyZtzcBfMlIWhPbUNBOFeahsIwn7kGAgD7TgMJdtABmhZiG7gIkoMxOVSqhdfjJSWNhhBQW0DeajtZXZKXMiPRewXJQY+R+N/J7VwQAYPgZgTTcyW1HRoAMSTceSSD4OioidoGKUGrkE3jJzi6wxKUYUFAAQY0WFItP9Rw/osEB8H4q1AvIMsA4n1MZUKdhD+Bq01+AerA5ExqGLOGcwORMYt9EqDzNBCBNS08wDicHCbkTjwDoi1gfgFLUMQFzCDlsfEhKbWQDgQ2aE/ichI/APlQAZolH8g4MhFA+lABmgBjc+BoI4BGy0yCbFK2aBRjQ9oU7vNRQpQJELNl4F0YD4B+ftA/Gig0mA7EUVNwkBkEmmkwUN8eAU9y0F+aDX2jchCeulgrYv/Q6vFQdlYmD8YWzOfgThkMLUHP0MTvzEpZRELDco3QyC+QC3DAHcHYRJTKM1+AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/pause-black.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAORJREFUeNpi/P//PwM6YGLAAuCCjIyM/4GYH6dKRmxmAgQQI1kWEakS2WyAAMJqEV7dJCuEhgADLBRoZzVAANHBMxQrZEELGnCEQGOFkbZWD2DwAAQQ0VZT3ebBaSA0P/xHyhv/0fPH0PMyCzEpAQebdAPJSVKDPwwBAmg0p4waSIPShh+tpPmP3FwYDcPhUDjgilF8ekZgATsCDQQIMKrXKYPex6MOHHXgcHMgC9nZn5GRJPXklhaUhiA/tCsMw3D3IGH+0TQ46sBRB9IQkN1YoFcxQ3Y5SK9W0GgaHHXgqAMJAABmbEvrsPuX4gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/right-arrow.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAAEg4/L5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtBJREFUeNpiZIAAWwYEOMwCJHSBOAaI/wExExDLsiCpWAJVAJaBAQsgNgQxGLGZCRBAjGgCDCDzYv7//5/OyMg4E24WiAMSRDY8A6YCwwyAAGKEuiOHATc4yIQmUAc1/x2yILoiL6CdrEB6GbqTkYEp1NcoACCAQG4SgIUPFnAHpGAmHgejugUWGPgci6EIRQEs9JAVofskG6gI5K4ZuNzwB1kS5k28vgApEAFiTRzyLwECCKSAG4j7GMgHM0DuVMIhOZlIQzSZcMkAPX4FFGzQoPtJdKyhhz8Qa4CCGGhQHtSwByQZAgXRQM3/kfhzsSliwWNANjRLg1wVCKQ8cClkwRMmf4Cau4GYj1DIggx5jCtMiIydOwABBCtOTICYk4w0chhkwCQgZic3lTFRohlftH4E4qOUGPAFGBuLgPRCcg2ARekxINVLjgECSOzboNKVVAO4gWlhEjRvgMBLoFgRqV4Axc40JO98hSZ1kjJXA7QQhIF6UjJWPhD/RUreU4AUK7EGPAPiP9BSFm/ewOUFUJnwF6iRm1DGwhcGMsQUxrjK/d/Y/IvLBX+wiLMSm5mwNS9IKg8AAgxmgBkQxxOIVlqAE0A8nxlIaABxFhEJkxYAFNlcTKSEO7Tm+EFlh7CQGvwvgLgZmuZdgDiEGq4gNQpAJdU/aIm1G1qjT4NmA7o5ApurLgIxqDncBsSf6eEIaWCR0wfESrDSE0YDHfIQiEuAzHIgfk6KocQ07HEBUOEyB4gvoLWVYCUzOzTXaRAw5yAl0QFK1LFArIpWp8CiCdSUnAXE94gxiBxwG1pOf0EqMZFDQQFaQ/IR6xtSAKgOb4CymaFp6h8sOoCWOwKpMFLTGqmO+AuzAGjvb6jFLECcCG1Lkh2vpJYTsFpdCJqgpSkuMklUD0qD2kA6ndJ2LLoj/pGgXgqI86hcd/wDJa7XQPweiLUHoCY9AxoMAQBfAtEIzJ/X+wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/rotator-black.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNpiZEAC////B9NMMD4UowiCACM2QQZsgnDtAAHEiG4JTGU4siqYSpAAI7pKrBYxomsHCCBkFALzBMgodMyA5ks5mOuwKdRCDw5iTHyISyELWqDANDCiewAggLAhRXwmMqAFByOuyPlPyBqQiSvwmYQeXzhjGW8cEkpA/IQU6xITM4zYfA2UwBk8IIk+fNYCBBA+tBTJSViTHr7EAwNzkA2h1EBsBrXjCzBikjeGQeQYKIfFQAZyDQTFGhsQ/8SSRBmwlXTEpMRfQPwdTfwnuUkDlr64gPgdkjgbkvcnA7EBsQZiy5a4wpCR1MyHbAkMewLxWVK8DBBAxCJjcnMKDKgA8WdycgoLFsNABvGQ6xUWYiKEnGRDFcOQDVyKRQ6U2AWQYpykdIjuuqdALENu1ovFIi5Dibdvo5U0SykpbbCVheqUGIgt672gNJb/oonZU5p0FqF5+QOlYciPJRyNKTEQV41nRomBEjgMfQvE3uQYyACtOv9Ts6IHgRZKDcSW6YWA+Dm0oqJKnQKq/dihZeUUUtMgQIAxkpl2Qa53BWI/ILaBNutJ8gm1AShYpwHxH3wJgZS4o7QSJSplDqQDSXYYrRyIXslLA/FVYnosSBlgJRDvgNaSF2iZznSJDKXn6MUkOUUmqVEMygTfCDjsJz6H0cqBsCgGtcg58dj7EYiV0Fr0dANsRBQffsQaRu0QZIK2y5kJ2HuQYYAAEzT6CAGJgXQgqHi4RkBdNcMAgygiipf2gUiD+Bqv2PATaGE+IA7EGD/Cg79BG3v89HYgA7RI+c8wSOpifGDaYHcgcoh+GMwORAagcbv5+BxMbQcyUrnK1AUaStVxLACC7lYpLEQ6SgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/images/timer-black.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmNJREFUeNpi/P//PwMMMDIygmkWBlQAVsGEJsiITZABmyBYO0AAMYAsglpmjJBCCP6HqWRBtwQkgdUiFgxLgDoAAogR2UdIPvuPbiwLA3YAs/MJzFRcJhIMIgasAYHHagw3AgQQMVYz4LMaFqpv4ZqJCB6wEBOe4GEkxmoYmA6lr8JjGxkjAR6YewmZ+ARKL8NnohmuNIUrwDtQUiSaiTCTpGGqAQIIq0ICmmERIYc1XLFFDFaFmJGFLfkSjBdskSoAxN+xhNFSUl1IKLBBIJqUMMQGpNHC9j8pXsYGjNH4fylxoTG664BYiFQDvaFJ5j8WLE1JOkTGXajRRJqBf4B4PhCz4QpUgAAiJdmADPlFSB0psfwTyZtzcBfMlIWhPbUNBOFeahsIwn7kGAgD7TgMJdtABmhZiG7gIkoMxOVSqhdfjJSWNhhBQW0DeajtZXZKXMiPRewXJQY+R+N/J7VwQAYPgZgTTcyW1HRoAMSTceSSD4OioidoGKUGrkE3jJzi6wxKUYUFAAQY0WFItP9Rw/osEB8H4q1AvIMsA4n1MZUKdhD+Bq01+AerA5ExqGLOGcwORMYt9EqDzNBCBNS08wDicHCbkTjwDoi1gfgFLUMQFzCDlsfEhKbWQDgQ2aE/ichI/APlQAZolH8g4MhFA+lABmgBjc+BoI4BGy0yCbFK2aBRjQ9oU7vNRQpQJELNl4F0YD4B+ftA/Gig0mA7EUVNwkBkEmmkwUN8eAU9y0F+aDX2jchCeulgrYv/Q6vFQdlYmD8YWzOfgThkMLUHP0MTvzEpZRELDco3QyC+QC3DAHcHYRJTKM1+AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/js/jquery.orbit.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKalF1ZXJ5IE9yYml0IFBsdWdpbiAxLjAKd3d3LlpVUkIuY29tL3BsYXlncm91bmQKQ29weXJpZ2h0IDIwMTAKKi8KCi8qQ29taW5nIEZlYXR1cmVzIExpc3QKCjEuIEJ1bGxldCBOYXZpZ2F0aW9uICh3aXRoIHRoaXMgYWxzbyBhdXRvYWR2YW5jZSB3aXRob3V0IHRpbWVyKQoyLiBUaGVtZSBDbGFzc2VzICh3aGl0ZSwgYmxhY2ssIGV0Yy4pCjMuIENhcHRpb24gcGFyYW1ldGVyIGZvciBub3QganVzdCB0aXRsZSwgYnV0IHdoYXRldmVyIHlvdSB3YW50CjQuIENvbnRpbnVvdXMgcGFyYW1ldGVyCjUuIEFsbG93IGZvciBpbWFnZSBsaW5raW5nCgoqLwoKKGZ1bmN0aW9uKCQpIHsKCiAgICAkLmZuLm9yYml0ID0gZnVuY3Rpb24ob3B0aW9ucykgewoKICAgICAgICAvL1lvJyBkZWZhdWx0cwogICAgICAgIHZhciBkZWZhdWx0cyA9IHsgIAogICAgICAgICAgICBhbmltYXRpb246ICdmYWRlJywgLy9mYWRlLCBob3Jpem9udGFsLXNsaWRlLCB2ZXJ0aWNhbC1zbGlkZQogICAgICAgICAgICBhbmltYXRpb25TcGVlZDogODAwLCAvL2hvdyBmYXN0IGFuaW10aW9ucyBhcmUKICAgICAgICAgICAgYWR2YW5jZVNwZWVkOiA0MDAwLCAvL2lmIGF1dG8gYWR2YW5jZSBpcyBlbmFibGVkLCB0aW1lIGJldHdlZW4gdHJhbnNpdGlvbnMgCiAgICAgICAgICAgIHN0YXJ0Q2xvY2tPbk1vdXNlT3V0OiB0cnVlLCAvL2lmIGNsb2NrIHNob3VsZCBzdGFydCBvbiBNb3VzZU91dAogICAgICAgICAgICBzdGFydENsb2NrT25Nb3VzZU91dEFmdGVyOiAzMDAwLCAvL2hvdyBsb25nIGFmdGVyIG1vdXNlb3V0IHRpbWVyIHNob3VsZCBzdGFydCBhZ2FpbgogICAgICAgICAgICBkaXJlY3Rpb25hbE5hdjogdHJ1ZSwgLy9tYW51YWwgYWR2YW5jaW5nIGRpcmVjdGlvbmFsIG5hdnMKICAgICAgICAgICAgY2FwdGlvbnM6IHRydWUsCiAgICAgICAgICAgIGNhcHRpb25BbmltYXRpb25TcGVlZDogODAwLAogICAgICAgICAgICB0aW1lcjogZmFsc2UKICAgICAgICAgICAgfTsgIAogICAgICAgIAogICAgICAgIC8vRXh0ZW5kIHRob3NlIG9wdGlvbnMKICAgICAgICB2YXIgb3B0aW9ucyA9ICQuZXh0ZW5kKGRlZmF1bHRzLCBvcHRpb25zKTsgCgogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgIC8vaW1wb3J0YW50IGdsb2JhbCBnb29kaWVzCiAgICAgICAgICAgIHZhciBhY3RpdmVJbWFnZSA9IDA7CiAgICAgICAgICAgIHZhciBudW1iZXJJbWFnZXMgPSAwOwogICAgICAgICAgICB2YXIgb3JiaXRXaWR0aDsKICAgICAgICAgICAgdmFyIG9yYml0SGVpZ2h0OwogICAgICAgICAgICB2YXIgbG9ja2VkOwogICAgICAgICAgICAKICAgICAgICAgICAgLy9HcmFiIGVhY2ggU2hpZnRlciBhbmQgYWRkIHRoZSBjbGFzcwogICAgICAgICAgICB2YXIgb3JiaXQgPSAkKHRoaXMpLmFkZENsYXNzKCdvcmJpdCcpCiAgICAgICAgICAgIAogICAgICAgICAgICAvL0NvbGxlY3QgYWxsIGltYWdlcyBhbmQgc2V0IHNsaWRlciBzaXplIHRvIGJpZ2dlc3QgbycgZGEgaW1hZ2VzCiAgICAgICAgICAgIHZhciBpbWFnZXMgPSBvcmJpdC5jaGlsZHJlbignaW1nJyk7CiAgICAgICAgICAgIGltYWdlcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIF9pbWcgPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgdmFyIF9pbWdXaWR0aCA9IF9pbWcud2lkdGgoKTsKICAgICAgICAgICAgICAgIHZhciBfaW1nSGVpZ2h0ID0gX2ltZy5oZWlnaHQoKTsKICAgICAgICAgICAgICAgIGlmKF9pbWdXaWR0aCA+IG9yYml0LndpZHRoKCkpIHsKICAgICAgICAgICAgICAgICAgICBvcmJpdC53aWR0aChfaW1nV2lkdGgpOwogICAgICAgICAgICAgICAgICAgIG9yYml0V2lkdGggPSBvcmJpdC53aWR0aCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihfaW1nSGVpZ2h0ID4gb3JiaXQuaGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICAgICBvcmJpdC5oZWlnaHQoX2ltZ0hlaWdodCkKICAgICAgICAgICAgICAgICAgICBvcmJpdEhlaWdodCA9IG9yYml0LmhlaWdodCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbnVtYmVySW1hZ2VzKys7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAKICAgICAgICAgICAgLy9zZXQgaW5pdGlhbCBmcm9udCBwaG90byB6LWluZGV4CiAgICAgICAgICAgIGltYWdlcy5lcShhY3RpdmVJbWFnZSkuY3NzKHsiei1pbmRleCIgOiAzfSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAvL1RpbWVyIGluZm8KICAgICAgICAgICAgaWYob3B0aW9ucy50aW1lcikgewogICAgICAgICAgICAgICAgdmFyIHRpbWVySFRNTCA9ICc8ZGl2IGNsYXNzPSJ0aW1lciI+PHNwYW4gY2xhc3M9Im1hc2siPjxzcGFuIGNsYXNzPSJyb3RhdG9yIj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwYXVzZSI+PC9zcGFuPjwvZGl2PicKICAgICAgICAgICAgICAgIG9yYml0LmFwcGVuZCh0aW1lckhUTUwpOwogICAgICAgICAgICAgICAgdmFyIHRpbWVyID0gJCgnZGl2LnRpbWVyJykKICAgICAgICAgICAgICAgIHZhciB0aW1lclJ1bm5pbmc7CiAgICAgICAgICAgICAgICBpZih0aW1lci5sZW5ndGggIT0gMCkgewogICAgICAgICAgICAgICAgICAgIHZhciBzcGVlZCA9IChvcHRpb25zLmFkdmFuY2VTcGVlZCkvMTgwOwogICAgICAgICAgICAgICAgICAgIHZhciByb3RhdG9yID0gJCgnZGl2LnRpbWVyIHNwYW4ucm90YXRvcicpCiAgICAgICAgICAgICAgICAgICAgdmFyIG1hc2sgPSAkKCdkaXYudGltZXIgc3Bhbi5tYXNrJykKICAgICAgICAgICAgICAgICAgICB2YXIgcGF1c2UgPSAkKCdkaXYudGltZXIgc3Bhbi5wYXVzZScpCiAgICAgICAgICAgICAgICAgICAgdmFyIGRlZ3JlZXMgPSAwOwogICAgICAgICAgICAgICAgICAgIHZhciBjbG9jazsKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzdGFydENsb2NrKCkgewogICAgICAgICAgICAgICAgICAgICAgICB0aW1lclJ1bm5pbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBwYXVzZS5yZW1vdmVDbGFzcygnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgPSBzZXRJbnRlcnZhbChmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWdyZWVDU1MgPSAicm90YXRlKCIrZGVncmVlcysiZGVnKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgKz0gMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRvci5jc3MoeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0iOiBkZWdyZWVDU1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1tb3otdHJhbnNmb3JtIjogZGVncmVlQ1NTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZGVncmVlcyA+IDE4MCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0b3IuYWRkQ2xhc3MoJ21vdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2suYWRkQ2xhc3MoJ21vdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZGVncmVlcyA+IDM2MCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0b3IucmVtb3ZlQ2xhc3MoJ21vdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2sucmVtb3ZlQ2xhc3MoJ21vdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZ3JlZXMgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0KCJuZXh0IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgc3BlZWQpOwogICAgICAgICAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzdG9wQ2xvY2soKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyUnVubmluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGNsb2NrKQogICAgICAgICAgICAgICAgICAgICAgICBwYXVzZS5hZGRDbGFzcygnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICB9ICAgCiAgICAgICAgICAgICAgICAgICAgc3RhcnRDbG9jaygpOwogICAgICAgICAgICAgICAgICAgIHRpbWVyLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZighdGltZXJSdW5uaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydENsb2NrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcENsb2NrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbnMuc3RhcnRDbG9ja09uTW91c2VPdXQpewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3V0VGltZXI7CiAgICAgICAgICAgICAgICAgICAgICAgIG9yYml0Lm1vdXNlbGVhdmUoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIXRpbWVyUnVubmluZyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0Q2xvY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBvcHRpb25zLnN0YXJ0Q2xvY2tPbk1vdXNlT3V0QWZ0ZXIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIG9yYml0Lm1vdXNlZW50ZXIoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQob3V0VGltZXIpOwogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSAgICAgICAgICAgCiAgICAgICAgICAgIC8vYW5pbWF0aW9uIGxvY2tpbmcgZnVuY3Rpb25zCiAgICAgICAgICAgIGZ1bmN0aW9uIHVubG9jaygpIHsKICAgICAgICAgICAgICAgIGxvY2tlZCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZ1bmN0aW9uIGxvY2soKSB7IAogICAgICAgICAgICAgICAgbG9ja2VkID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy9EaXJlY3Rpb25hbE5hdiB7IHJpZ2h0QnV0dG9uIC0tPiBzaGlmdCgibmV4dCIpLCBsZWZ0QnV0dG9uIC0tPiBzaGlmdCgicHJldiIpOwogICAgICAgICAgICBpZihvcHRpb25zLmRpcmVjdGlvbmFsTmF2KSB7CiAgICAgICAgICAgICAgICB2YXIgZGlyZWN0aW9uYWxOYXZIVE1MID0gJzxkaXYgY2xhc3M9InNsaWRlci1uYXYiPjxzcGFuIGNsYXNzPSJyaWdodCI+UmlnaHQ8L3NwYW4+PHNwYW4gY2xhc3M9ImxlZnQiPkxlZnQ8L3NwYW4+PC9kaXY+JzsKICAgICAgICAgICAgICAgIG9yYml0LmFwcGVuZChkaXJlY3Rpb25hbE5hdkhUTUwpOwogICAgICAgICAgICAgICAgdmFyIGxlZnRCdG4gPSBvcmJpdC5jaGlsZHJlbignZGl2LnNsaWRlci1uYXYnKS5jaGlsZHJlbignc3Bhbi5sZWZ0Jyk7CiAgICAgICAgICAgICAgICB2YXIgcmlnaHRCdG4gPSBvcmJpdC5jaGlsZHJlbignZGl2LnNsaWRlci1uYXYnKS5jaGlsZHJlbignc3Bhbi5yaWdodCcpOwogICAgICAgICAgICAgICAgbGVmdEJ0bi5jbGljayhmdW5jdGlvbigpIHsgCiAgICAgICAgICAgICAgICAgICAgaWYob3B0aW9ucy50aW1lcikgeyBzdG9wQ2xvY2soKTsgfQogICAgICAgICAgICAgICAgICAgIHNoaWZ0KCJwcmV2Iik7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHJpZ2h0QnRuLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbnMudGltZXIpIHsgc3RvcENsb2NrKCk7IH0KICAgICAgICAgICAgICAgICAgICBzaGlmdCgibmV4dCIpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy9DYXB0aW9uQ29tcHV0aW5nCiAgICAgICAgICAgIGlmKG9wdGlvbnMuY2FwdGlvbnMpIHsKICAgICAgICAgICAgICAgIHZhciBjYXB0aW9uSFRNTCA9ICc8ZGl2IGNsYXNzPSJjYXB0aW9uIj48cD48L3A+PC9kaXY+JzsKICAgICAgICAgICAgICAgIG9yYml0LmFwcGVuZChjYXB0aW9uSFRNTCk7CiAgICAgICAgICAgICAgICB2YXIgY2FwdGlvbiA9IG9yYml0LmNoaWxkcmVuKCdkaXYuY2FwdGlvbicpLmNoaWxkcmVuKCdwJyk7CiAgICAgICAgICAgICAgICBmdW5jdGlvbiBzZXRDYXB0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBfY2FwdGlvbiA9IGltYWdlcy5lcShhY3RpdmVJbWFnZSkuYXR0cigndGl0bGUnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgX2NhcHRpb25IZWlnaHQgPSBjYXB0aW9uLmhlaWdodCgpICsgMjA7CiAgICAgICAgICAgICAgICAgICAgaWYoX2NhcHRpb24gIT0gIiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbi50ZXh0KF9jYXB0aW9uKTsKICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbi5wYXJlbnQoKS5zdG9wKCkuYW5pbWF0ZSh7ImJvdHRvbSIgOiAwfSwgb3B0aW9ucy5jYXB0aW9uQW5pbWF0aW9uU3BlZWQpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7IAogICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uLnBhcmVudCgpLnN0b3AoKS5hbmltYXRlKHsiYm90dG9tIiA6IC1fY2FwdGlvbkhlaWdodH0sIG9wdGlvbnMuY2FwdGlvbkFuaW1hdGlvblNwZWVkKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihjYXB0aW9uLmxlbmd0aCAhPSAwKXsKICAgICAgICAgICAgICAgICAgICBzZXRDYXB0aW9uKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC8vQnVsbGV0Q29udHJvbHMKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAvL0FuaW1hdGluZyB0aGUgc2hpZnQhCiAgICAgICAgICAgIGZ1bmN0aW9uIHNoaWZ0KGRpcmVjdGlvbikgewogICAgICAgICAgICAgICAgLy9yZXNldCBaICYgVW5sb2NrCiAgICAgICAgICAgICAgICBmdW5jdGlvbiByZXNldEFuZFVubG9jaygpIHsKICAgICAgICAgICAgICAgICAgICBpbWFnZXMuZXEocHJldkFjdGl2ZUltYWdlKS5jc3MoeyJ6LWluZGV4IiA6IDF9KTsKICAgICAgICAgICAgICAgICAgICB1bmxvY2soKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoIWxvY2tlZCkgewogICAgICAgICAgICAgICAgICAgIGxvY2soKTsKICAgICAgICAgICAgICAgICAgICAvL3JlbWVtYmVyIHByZXZpb3VzIGFjdGl2ZUltZwogICAgICAgICAgICAgICAgICAgIHZhciBwcmV2QWN0aXZlSW1hZ2UgPSBhY3RpdmVJbWFnZTsKICAgICAgICAgICAgICAgICAgICB2YXIgc2xpZGVEaXJlY3Rpb24gPSBkaXJlY3Rpb247CiAgICAgICAgICAgICAgICAgICAgLy9kZWR1Y2UgdGhlIHByb3BlciBhY3RpdmVJbWFnZQogICAgICAgICAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSAibmV4dCIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW1hZ2UrKwogICAgICAgICAgICAgICAgICAgICAgICBpZihhY3RpdmVJbWFnZSA9PSBudW1iZXJJbWFnZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltYWdlID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZihkaXJlY3Rpb24gPT0gInByZXYiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltYWdlLS0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoYWN0aXZlSW1hZ2UgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJbWFnZSA9IG51bWJlckltYWdlcy0xOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW1hZ2UgPSBkaXJlY3Rpb247CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2QWN0aXZlSW1hZ2UgPCBhY3RpdmVJbWFnZSkgeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlRGlyZWN0aW9uID0gInByZXYiOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHByZXZBY3RpdmVJbWFnZSA+IGFjdGl2ZUltYWdlKSB7IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVEaXJlY3Rpb24gPSAibmV4dCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvL2ZhZGUKICAgICAgICAgICAgICAgICAgICBpZihvcHRpb25zLmFuaW1hdGlvbiA9PSAiZmFkZSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VzLmVxKHByZXZBY3RpdmVJbWFnZSkuY3NzKHsiei1pbmRleCIgOiAyfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlcy5lcShhY3RpdmVJbWFnZSkuY3NzKHsib3BhY2l0eSIgOiAwLCAiei1pbmRleCIgOiAzfSkKICAgICAgICAgICAgICAgICAgICAgICAgLmFuaW1hdGUoeyJvcGFjaXR5IiA6IDF9LCBvcHRpb25zLmFuaW1hdGlvblNwZWVkLCByZXNldEFuZFVubG9jayk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbnMuY2FwdGlvbnMpIHsgc2V0Q2FwdGlvbigpOyB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vaG9yaXpvbnRhbC1zbGlkZQogICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbnMuYW5pbWF0aW9uID09ICJob3Jpem9udGFsLXNsaWRlIikgewogICAgICAgICAgICAgICAgICAgICAgICBpbWFnZXMuZXEocHJldkFjdGl2ZUltYWdlKS5jc3MoeyJ6LWluZGV4IiA6IDJ9KTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoc2xpZGVEaXJlY3Rpb24gPT0gIm5leHQiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZXMuZXEoYWN0aXZlSW1hZ2UpLmNzcyh7ImxlZnQiOiBvcmJpdFdpZHRoLCAiei1pbmRleCIgOiAzfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hbmltYXRlKHsibGVmdCIgOiAwfSwgb3B0aW9ucy5hbmltYXRpb25TcGVlZCwgcmVzZXRBbmRVbmxvY2spOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHNsaWRlRGlyZWN0aW9uID09ICJwcmV2IikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VzLmVxKGFjdGl2ZUltYWdlKS5jc3MoeyJsZWZ0IjogLW9yYml0V2lkdGgsICJ6LWluZGV4IiA6IDN9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFuaW1hdGUoeyJsZWZ0IiA6IDB9LCBvcHRpb25zLmFuaW1hdGlvblNwZWVkLCByZXNldEFuZFVubG9jayk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYob3B0aW9ucy5jYXB0aW9ucykgeyBzZXRDYXB0aW9uKCk7IH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy92ZXJ0aWNhbC1zbGlkZQogICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbnMuYW5pbWF0aW9uID09ICJ2ZXJ0aWNhbC1zbGlkZSIpIHsgCiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlcy5lcShwcmV2QWN0aXZlSW1hZ2UpLmNzcyh7InotaW5kZXgiIDogMn0pOwogICAgICAgICAgICAgICAgICAgICAgICBpZihzbGlkZURpcmVjdGlvbiA9PSAicHJldiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlcy5lcShhY3RpdmVJbWFnZSkuY3NzKHsidG9wIjogb3JiaXRIZWlnaHQsICJ6LWluZGV4IiA6IDN9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFuaW1hdGUoeyJ0b3AiIDogMH0sIG9wdGlvbnMuYW5pbWF0aW9uU3BlZWQsIHJlc2V0QW5kVW5sb2NrKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZihzbGlkZURpcmVjdGlvbiA9PSAibmV4dCIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlcy5lcShhY3RpdmVJbWFnZSkuY3NzKHsidG9wIjogLW9yYml0SGVpZ2h0LCAiei1pbmRleCIgOiAzfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hbmltYXRlKHsidG9wIiA6IDB9LCBvcHRpb25zLmFuaW1hdGlvblNwZWVkLCByZXNldEFuZFVubG9jayk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYob3B0aW9ucy5jYXB0aW9ucykgeyBzZXRDYXB0aW9uKCk7IH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vbG9jawogICAgICAgICAgICB9Ly9vcmJpdCBmdW5jdGlvbgogICAgICAgIH0pOy8vZWFjaCBjYWxsCiAgICB9Ly9vcmJpdCBwbHVnaW4gY2FsbAp9KShqUXVlcnkpOwogICAgICAgIA==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/orbit/js/jquery.orbit.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGcpe2cuZm4ub3JiaXQ9ZnVuY3Rpb24oYSl7YT1nLmV4dGVuZCh7YW5pbWF0aW9uOiJmYWRlIixhbmltYXRpb25TcGVlZDo4MDAsYWR2YW5jZVNwZWVkOjRFMyxzdGFydENsb2NrT25Nb3VzZU91dDp0cnVlLHN0YXJ0Q2xvY2tPbk1vdXNlT3V0QWZ0ZXI6M0UzLGRpcmVjdGlvbmFsTmF2OnRydWUsY2FwdGlvbnM6dHJ1ZSxjYXB0aW9uQW5pbWF0aW9uU3BlZWQ6ODAwLHRpbWVyOmZhbHNlfSxhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhjKXtmdW5jdGlvbiBmKCl7ZS5lcShoKS5jc3MoeyJ6LWluZGV4IjoxfSk7cD1mYWxzZX1pZighcCl7cD10cnVlO3ZhciBoPWIsaT1jO2lmKGM9PSJuZXh0Iil7YisrO2lmKGI9PXEpYj0wfWVsc2UgaWYoYz09InByZXYiKXtiLS07aWYoYjwwKWI9cS0xfWVsc2V7Yj1jO2lmKGg8YilpPSJwcmV2IjtlbHNlIGlmKGg+YilpPSJuZXh0In1pZihhLmFuaW1hdGlvbj09ImZhZGUiKXtlLmVxKGgpLmNzcyh7InotaW5kZXgiOjJ9KTsKZS5lcShiKS5jc3Moe29wYWNpdHk6MCwiei1pbmRleCI6M30pLmFuaW1hdGUoe29wYWNpdHk6MX0sYS5hbmltYXRpb25TcGVlZCxmKTthLmNhcHRpb25zJiZsKCl9aWYoYS5hbmltYXRpb249PSJob3Jpem9udGFsLXNsaWRlIil7ZS5lcShoKS5jc3MoeyJ6LWluZGV4IjoyfSk7aT09Im5leHQiJiZlLmVxKGIpLmNzcyh7bGVmdDpyLCJ6LWluZGV4IjozfSkuYW5pbWF0ZSh7bGVmdDowfSxhLmFuaW1hdGlvblNwZWVkLGYpO2k9PSJwcmV2IiYmZS5lcShiKS5jc3Moe2xlZnQ6LXIsInotaW5kZXgiOjN9KS5hbmltYXRlKHtsZWZ0OjB9LGEuYW5pbWF0aW9uU3BlZWQsZik7YS5jYXB0aW9ucyYmbCgpfWlmKGEuYW5pbWF0aW9uPT0idmVydGljYWwtc2xpZGUiKXtlLmVxKGgpLmNzcyh7InotaW5kZXgiOjJ9KTtpPT0icHJldiImJmUuZXEoYikuY3NzKHt0b3A6cywiei1pbmRleCI6M30pLmFuaW1hdGUoe3RvcDowfSxhLmFuaW1hdGlvblNwZWVkLGYpO2k9PSJuZXh0IiYmZS5lcShiKS5jc3Moe3RvcDotcywKInotaW5kZXgiOjN9KS5hbmltYXRlKHt0b3A6MH0sYS5hbmltYXRpb25TcGVlZCxmKTthLmNhcHRpb25zJiZsKCl9fX12YXIgYj0wLHE9MCxyLHMscCxkPWcodGhpcykuYWRkQ2xhc3MoIm9yYml0IiksZT1kLmNoaWxkcmVuKCJpbWciKTtlLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1nKHRoaXMpLGY9Yy53aWR0aCgpO2M9Yy5oZWlnaHQoKTtpZihmPmQud2lkdGgoKSl7ZC53aWR0aChmKTtyPWQud2lkdGgoKX1pZihjPmQuaGVpZ2h0KCkpe2QuaGVpZ2h0KGMpO3M9ZC5oZWlnaHQoKX1xKyt9KTtlLmVxKGIpLmNzcyh7InotaW5kZXgiOjN9KTtpZihhLnRpbWVyKXtkLmFwcGVuZCgnPGRpdiBjbGFzcz0idGltZXIiPjxzcGFuIGNsYXNzPSJtYXNrIj48c3BhbiBjbGFzcz0icm90YXRvciI+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icGF1c2UiPjwvc3Bhbj48L2Rpdj4nKTt2YXIgbT1nKCJkaXYudGltZXIiKSxuO2lmKG0ubGVuZ3RoIT0wKXt2YXIgQT1hLmFkdmFuY2VTcGVlZC8xODAsCnQ9ZygiZGl2LnRpbWVyIHNwYW4ucm90YXRvciIpLHc9ZygiZGl2LnRpbWVyIHNwYW4ubWFzayIpLHg9ZygiZGl2LnRpbWVyIHNwYW4ucGF1c2UiKSxqPTAseSx1PWZ1bmN0aW9uKCl7bj10cnVlO3gucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO3k9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgYz0icm90YXRlKCIraisiZGVnKSI7ais9Mjt0LmNzcyh7Ii13ZWJraXQtdHJhbnNmb3JtIjpjLCItbW96LXRyYW5zZm9ybSI6Y30pO2lmKGo+MTgwKXt0LmFkZENsYXNzKCJtb3ZlIik7dy5hZGRDbGFzcygibW92ZSIpfWlmKGo+MzYwKXt0LnJlbW92ZUNsYXNzKCJtb3ZlIik7dy5yZW1vdmVDbGFzcygibW92ZSIpO2o9MDtvKCJuZXh0Iil9fSxBKX0sdj1mdW5jdGlvbigpe249ZmFsc2U7Y2xlYXJJbnRlcnZhbCh5KTt4LmFkZENsYXNzKCJhY3RpdmUiKX07dSgpO20uY2xpY2soZnVuY3Rpb24oKXtuP3YoKTp1KCl9KTtpZihhLnN0YXJ0Q2xvY2tPbk1vdXNlT3V0KXt2YXIgejtkLm1vdXNlbGVhdmUoZnVuY3Rpb24oKXt6PQpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bnx8dSgpfSxhLnN0YXJ0Q2xvY2tPbk1vdXNlT3V0QWZ0ZXIpfSk7ZC5tb3VzZWVudGVyKGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHopfSl9fX1pZihhLmRpcmVjdGlvbmFsTmF2KXtkLmFwcGVuZCgnPGRpdiBjbGFzcz0ic2xpZGVyLW5hdiI+PHNwYW4gY2xhc3M9InJpZ2h0Ij5SaWdodDwvc3Bhbj48c3BhbiBjbGFzcz0ibGVmdCI+TGVmdDwvc3Bhbj48L2Rpdj4nKTttPWQuY2hpbGRyZW4oImRpdi5zbGlkZXItbmF2IikuY2hpbGRyZW4oInNwYW4ubGVmdCIpO3ZhciBCPWQuY2hpbGRyZW4oImRpdi5zbGlkZXItbmF2IikuY2hpbGRyZW4oInNwYW4ucmlnaHQiKTttLmNsaWNrKGZ1bmN0aW9uKCl7YS50aW1lciYmdigpO28oInByZXYiKX0pO0IuY2xpY2soZnVuY3Rpb24oKXthLnRpbWVyJiZ2KCk7bygibmV4dCIpfSl9aWYoYS5jYXB0aW9ucyl7ZC5hcHBlbmQoJzxkaXYgY2xhc3M9ImNhcHRpb24iPjxwPjwvcD48L2Rpdj4nKTt2YXIgaz1kLmNoaWxkcmVuKCJkaXYuY2FwdGlvbiIpLmNoaWxkcmVuKCJwIiksCmw9ZnVuY3Rpb24oKXt2YXIgYz1lLmVxKGIpLmF0dHIoInRpdGxlIiksZj1rLmhlaWdodCgpKzIwO2lmKGMhPSIiKXtrLnRleHQoYyk7ay5wYXJlbnQoKS5zdG9wKCkuYW5pbWF0ZSh7Ym90dG9tOjB9LGEuY2FwdGlvbkFuaW1hdGlvblNwZWVkKX1lbHNlIGsucGFyZW50KCkuc3RvcCgpLmFuaW1hdGUoe2JvdHRvbTotZn0sYS5jYXB0aW9uQW5pbWF0aW9uU3BlZWQpfTtrLmxlbmd0aCE9MCYmbCgpfX0pfX0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/css/cmsms.popeye.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICoganF1ZXJ5LnBvcGV5ZS5jc3MgMS4wCiAqCiAqIE1hbmRhdG9yeSBDU1MgY2xhc3NlcyBmb3IgalF1ZXJ5LnBvcGV5ZQogKgogKiBDb3B5cmlnaHQgKEMpIDIwMDkgQ2hyaXN0b3BoIFNjaHVlc3NsZXIgKHNjaHJlaWJAaGVyci1zY2h1ZXNzbGVyLmRlKQogKiAKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICovCgoucHB5IHVsIHsgICAgICAgICAgIC8qIGhpZGUgZXZlcnl0aGluZyBpZiBqcyBkZWFjaXR2YXRlZCAqLwogICAgaGVpZ2h0OiAgICAgICAgIDBweDsKICAgIHdpZHRoOiAgICAgICAgICAwcHg7CiAgICBwYWRkaW5nOiAgICAgICAgMHB4OwogICAgbWFyZ2luOiAgICAgICAgIDBweDsKICAgIG92ZXJmbG93OiAgICAgICBoaWRkZW47Cn0KCi5wcHktc3RhZ2UgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7Cn0KCi8qCiAqIGpxdWVyeS5wb3BleWUuc3R5bGUuY3NzIDEuMAogKgogKiBFeGFtcGxlIHN0eWxlcyBmb3IgalF1ZXJ5LnBvcGV5ZQogKgogKiBDb3B5cmlnaHQgKEMpIDIwMDkgQ2hyaXN0b3BoIFNjaHVlc3NsZXIgKHNjaHJlaWJAaGVyci1zY2h1ZXNzbGVyLmRlKQogKiAKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICovCgoucG9wZXllIC5wcHktY291bnQgewogICAgcG9zaXRpb246ICAgICAgIGFic29sdXRlOwogICAgcGFkZGluZzogICAgICAgIDNweCA3cHggMCA1cHg7CiAgICBib3R0b206ICAgICAgICAgMHB4OwogICAgcmlnaHQ6ICAgICAgICAgIDBweDsKICAgIGZvbnQtc3R5bGU6ICAgICBpdGFsaWM7CiAgICBmb250LXNpemU6ICAgICAgMC45ZW07CiAgICBiYWNrZ3JvdW5kOiAgICAgIzAwMDsKICAgIGNvbG9yOiAgICAgICAgICAjZjdmN2Y3OwogICAgb3BhY2l0eTogICAgICAgIDAuNzsKICAgIC1tcy1maWx0ZXI6ICAgICAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApIjsgLyogSUU4ICovCiAgICBmaWx0ZXI6ICAgICAgICAgcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApOyAvKiBJRTcgbHRlICovCiAgICB6LWluZGV4OiAgICAgICAgMTAwOwogICAgdGV4dC1hbGlnbjogICAgIHJpZ2h0OwogICAgZGlzcGxheTogICAgICAgIGlubGluZTsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogNnB4IDAgMCAwOwogICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDZweCAwIDAgMDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4IDAgMCAwOwogICAgYm9yZGVyLXJhZGl1czogIDZweCAwIDAgMDsKCn0KCi5wcHkgewogICAgZm9udC1zaXplOiAgICAgIDAuOGVtOwp9Ci5wcHktc3RhZ2V3cmFwIHsKICAgIGJhY2tncm91bmQtY29sb3I6IzMzMzsKICAgIGJvcmRlcjogICAgICAgICAxcHggc29saWQgI2NjYzsKICAgIGJvcmRlci1yaWdodDogICAxcHggc29saWQgI2FhYTsKICAgIGJvcmRlci1ib3R0b206ICAxcHggc29saWQgI2FhYTsKfQoucHB5LXN0YWdlIHsKICAgIHBvc2l0aW9uOiAgICAgICByZWxhdGl2ZTsKICAgIGJvcmRlcjogICAgICAgICAxMHB4IHNvbGlkICNlZWU7Cn0KLnBweS10b29scyB7CiAgICBvdmVyZmxvdzogICAgICAgaGlkZGVuOwogICAgem9vbTogICAgICAgICAgIDE7ICAgICAgLyogSUUgZmxvYXQgY29udGFpbmVyIGhhc0xheW91dCBmaXggKi8KICAgIHBvc2l0aW9uOiAgICAgICBhYnNvbHV0ZTsKICAgIHBhZGRpbmc6ICAgICAgICAxMHB4OwogICAgdG9wOiAgICAgICAgICAgIDBweDsKICAgIGJhY2tncm91bmQ6ICAgICAjMDAwOwogICAgei1pbmRleDogICAgICAgIDEwMDsKICAgIGRpc3BsYXk6ICAgICAgICBpbmxpbmU7Cn0KLnBweS10b29scy5wcHktbGVmdCB7CiAgICBsZWZ0OiAgICAgICAgICAgMHB4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAwIDAgNnB4IDA7CiAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMCAwIDZweCAwOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDAgNnB4IDA7CiAgICBib3JkZXItcmFkaXVzOiAgMCAwIDZweCAwOwp9CgoucHB5LXRvb2xzLnBweS1yaWdodCB7CiAgICByaWdodDogICAgICAgICAgIDBweDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMCAwIDAgNnB4OwogICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDAgMCAwIDZweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDAgNnB4OwogICAgYm9yZGVyLXJhZGl1czogIDAgMCAwIDZweDsKfQoKLnBweS10b29scyBkaXYgewogICAgd2lkdGg6ICAgICAgICAgIDI1cHg7CiAgICBoZWlnaHQ6ICAgICAgICAgMHB4ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLXRvcDogICAgMzVweDsKICAgIGZsb2F0OiAgICAgICAgICBsZWZ0OwogICAgYmFja2dyb3VuZDogICAgIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgdG9wOwogICAgY3Vyc29yOiAgICAgICAgIHBvaW50ZXI7Cn0KCi5wcHktcHJldiB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChtb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2lucy9wb3BleWUvaW1hZ2VzL3ByZXYucG5nKSAhaW1wb3J0YW50Owp9CgoucHB5LWVubGFyZ2Uge2dpCiAgICB3aWR0aDogICAgICAgICAgNDlweCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAgICAgICAgIDAgMTBweDsKICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL3BvcGV5ZS9pbWFnZXMvZW5sYXJnZS5wbmcpICFpbXBvcnRhbnQ7Cn0KCi5wcHktY29tcGFjdCB7CiAgICB3aWR0aDogICAgICAgICAgNDlweCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAgICAgICAgIDAgMTBweDsKICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKG1vZHVsZXMvalF1ZXJ5L2xpYnJhcmllcy9wbHVnaW5zL3BvcGV5ZS9pbWFnZXMvY29tcGFjdC5wbmcpICFpbXBvcnRhbnQ7Cn0KCi5wcHktbmV4dCB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChtb2R1bGVzL2pRdWVyeS9saWJyYXJpZXMvcGx1Z2lucy9wb3BleWUvaW1hZ2VzL25leHQucG5nKSAhaW1wb3J0YW50Owp9CgoucHB5LXRvb2xzIGRpdjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTM1cHg7Cn0KCi5wcHktY2FwIHsKICAgIGJhY2tncm91bmQ6ICAgICAjZjZmOWUwOwogICAgY29sb3I6ICAgICAgICAgICM2NjY7CiAgICBsaW5lLWhlaWdodDogICAgMS4yZW07CiAgICBib3JkZXI6ICAgICAgICAgMXB4IHNvbGlkICNkZGQ7CiAgICBib3JkZXItdG9wOiAgICAgMHB4OwogICAgZm9udC1zaXplOiAgICAgIDAuOWVtOwogICAgcG9zaXRpb246ICAgICAgIHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6ICAgICAgIGhpZGRlbjsKfQoKLnBweS10ZXh0d3JhcCB7CiAgICBwYWRkaW5nOiAgICAgICAgMTBweDsKfQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/css/jquery.popeye.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpxdWVyeS5wb3BleWUuY3NzIDEuMA0KICoNCiAqIE1hbmRhdG9yeSBDU1MgY2xhc3NlcyBmb3IgalF1ZXJ5LnBvcGV5ZQ0KICoNCiAqIENvcHlyaWdodCAoQykgMjAwOSBDaHJpc3RvcGggU2NodWVzc2xlciAoc2NocmVpYkBoZXJyLXNjaHVlc3NsZXIuZGUpDQogKiANCiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQogKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQogKg0KICovDQoucHB5IHVsIHsgICAgICAgICAgIC8qIGhpZGUgZXZlcnl0aGluZyBpZiBqcyBkZWFjaXR2YXRlZCAqLw0KICAgIGhlaWdodDogICAgICAgICAwcHg7DQogICAgd2lkdGg6ICAgICAgICAgIDBweDsNCiAgICBwYWRkaW5nOiAgICAgICAgMHB4Ow0KICAgIG1hcmdpbjogICAgICAgICAwcHg7DQogICAgb3ZlcmZsb3c6ICAgICAgIGhpZGRlbjsNCn0NCi5wcHktc3RhZ2Ugew0KICAgIGJhY2tncm91bmQ6ICAgICB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgIA0KfQ==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/css/jquery.popeye.style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpxdWVyeS5wb3BleWUuc3R5bGUuY3NzIDEuMA0KICoNCiAqIEV4YW1wbGUgc3R5bGVzIGZvciBqUXVlcnkucG9wZXllDQogKg0KICogQ29weXJpZ2h0IChDKSAyMDA5IENocmlzdG9waCBTY2h1ZXNzbGVyIChzY2hyZWliQGhlcnItc2NodWVzc2xlci5kZSkNCiAqIA0KICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQogKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiAqDQogKi8NCiNwb3BleWUxLnBweS1qcyB7DQogICAgZmxvYXQ6ICAgICAgICAgIGxlZnQ7DQogICAgbWFyZ2luOiAgICAgICAgIDAgMzBweCAxMHB4IDA7DQp9DQojcG9wZXllMS1uby1qcyB7DQogICAgbWFyZ2luOiAgICAgICAgIDBweCAzMHB4IDEwcHggMHB4Ow0KICAgIGhlaWdodDogICAgICAgICAyMDJweDsNCiAgICB3aWR0aDogICAgICAgICAgMjYycHg7DQogICAgZmxvYXQ6ICAgICAgICAgIGxlZnQ7DQogICAgYmFja2dyb3VuZDogICAgICNlZWU7DQogICAgdGV4dC1hbGlnbjogICAgIGNlbnRlcjsNCiAgICBsaW5lLWhlaWdodDogICAgMjAycHg7DQp9DQojcG9wZXllMi5wcHktanMgew0KICAgIGZsb2F0OiAgICAgICAgICByaWdodDsNCiAgICBtYXJnaW46ICAgICAgICAgMjBweCAwIDIwcHggMzBweDsNCn0NCi5wcHkgew0KICAgIGZvbnQtc2l6ZTogICAgICAwLjhlbTsNCn0NCi5wcHktc3RhZ2V3cmFwIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7DQogICAgYm9yZGVyOiAgICAgICAgIDFweCBzb2xpZCAjY2NjOw0KICAgIGJvcmRlci1yaWdodDogICAxcHggc29saWQgI2FhYTsNCiAgICBib3JkZXItYm90dG9tOiAgMXB4IHNvbGlkICNhYWE7DQp9DQoucHB5LXN0YWdlIHsNCiAgICBwb3NpdGlvbjogICAgICAgcmVsYXRpdmU7DQogICAgYm9yZGVyOiAgICAgICAgIDEwcHggc29saWQgI2VlZTsNCn0NCi5wcHktdG9vbHMgew0KICAgIG92ZXJmbG93OiAgICAgICBoaWRkZW47DQogICAgem9vbTogICAgICAgICAgIDE7ICAgICAgLyogSUUgZmxvYXQgY29udGFpbmVyIGhhc0xheW91dCBmaXggKi8NCiAgICBwb3NpdGlvbjogICAgICAgYWJzb2x1dGU7DQogICAgcGFkZGluZzogICAgICAgIDEwcHg7DQogICAgdG9wOiAgICAgICAgICAgIDBweDsNCiAgICBiYWNrZ3JvdW5kOiAgICAgIzAwMDsNCiAgICB6LWluZGV4OiAgICAgICAgMTAwOw0KICAgIGRpc3BsYXk6ICAgICAgICBpbmxpbmU7DQp9DQoucHB5LXRvb2xzLnBweS1sZWZ0IHsNCiAgICBsZWZ0OiAgICAgICAgICAgMHB4Ow0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogMCAwIDZweCAwOw0KICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAwIDAgNnB4IDA7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDAgNnB4IDA7DQogICAgYm9yZGVyLXJhZGl1czogIDAgMCA2cHggMDsNCn0NCi5wcHktdG9vbHMucHB5LXJpZ2h0IHsNCiAgICByaWdodDogICAgICAgICAgIDBweDsNCiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDAgMCAwIDZweDsNCiAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMCAwIDAgNnB4Ow0KICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDAgNnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6ICAwIDAgMCA2cHg7DQp9DQoucHB5LXRvb2xzIGRpdiB7DQogICAgd2lkdGg6ICAgICAgICAgIDI1cHg7DQogICAgaGVpZ2h0OiAgICAgICAgIDBweCAhaW1wb3J0YW50Ow0KICAgIHBhZGRpbmctdG9wOiAgICAzNXB4Ow0KICAgIG92ZXJmbG93OiAgICAgICBoaWRkZW47DQogICAgZmxvYXQ6ICAgICAgICAgIGxlZnQ7DQogICAgYmFja2dyb3VuZDogICAgIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgdG9wOw0KICAgIGN1cnNvcjogICAgICAgICBwb2ludGVyOw0KfQ0KLnBweS1wcmV2IHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9nZngvcHJldi5wbmcpICFpbXBvcnRhbnQ7DQp9DQoucHB5LWVubGFyZ2Ugew0KICAgIHdpZHRoOiAgICAgICAgICA0OXB4ICFpbXBvcnRhbnQ7DQogICAgbWFyZ2luOiAgICAgICAgIDAgMTBweDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9nZngvZW5sYXJnZS5wbmcpICFpbXBvcnRhbnQ7DQp9DQoucHB5LWNvbXBhY3Qgew0KICAgIHdpZHRoOiAgICAgICAgICA0OXB4ICFpbXBvcnRhbnQ7DQogICAgbWFyZ2luOiAgICAgICAgIDAgMTBweDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9nZngvY29tcGFjdC5wbmcpICFpbXBvcnRhbnQ7DQp9DQoucHB5LW5leHQgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2dmeC9uZXh0LnBuZykgIWltcG9ydGFudDsNCn0NCi5wcHktdG9vbHMgZGl2OmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTM1cHg7DQp9DQoucHB5LWNhcCB7DQogICAgYmFja2dyb3VuZDogICAgICNmNmY5ZTA7DQogICAgY29sb3I6ICAgICAgICAgICM2NjY7DQogICAgbGluZS1oZWlnaHQ6ICAgIDEuMmVtOw0KICAgIGJvcmRlcjogICAgICAgICAxcHggc29saWQgI2RkZDsNCiAgICBib3JkZXItdG9wOiAgICAgMHB4Ow0KICAgIGZvbnQtc2l6ZTogICAgICAwLjllbTsNCiAgICBwb3NpdGlvbjogICAgICAgcmVsYXRpdmU7DQogICAgb3ZlcmZsb3c6ICAgICAgIGhpZGRlbjsNCn0NCi5wcHktdGV4dHdyYXAgew0KICAgIHBhZGRpbmc6ICAgICAgICAxMHB4Ow0KfQ0KI3BvcGV5ZTEgLnBweS1jb3VudCB7DQogICAgcG9zaXRpb246ICAgICAgIGFic29sdXRlOw0KICAgIHBhZGRpbmc6ICAgICAgICAzcHggN3B4IDAgNXB4Ow0KICAgIGJvdHRvbTogICAgICAgICAwcHg7DQogICAgcmlnaHQ6ICAgICAgICAgIDBweDsNCiAgICBmb250LXN0eWxlOiAgICAgaXRhbGljOw0KICAgIGZvbnQtc2l6ZTogICAgICAwLjllbTsNCiAgICBiYWNrZ3JvdW5kOiAgICAgIzAwMDsNCiAgICBjb2xvcjogICAgICAgICAgI2Y3ZjdmNzsNCiAgICBvcGFjaXR5OiAgICAgICAgMC43Ow0KICAgIC1tcy1maWx0ZXI6ICAgICAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApIjsgLyogSUU4ICovDQogICAgZmlsdGVyOiAgICAgICAgIHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKTsgLyogSUU3IGx0ZSAqLw0KICAgIHotaW5kZXg6ICAgICAgICAxMDA7DQogICAgdGV4dC1hbGlnbjogICAgIHJpZ2h0Ow0KICAgIGRpc3BsYXk6ICAgICAgICBpbmxpbmU7DQogICAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHggMCAwIDA7DQogICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDZweCAwIDAgMDsNCiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDZweCAwIDAgMDsNCiAgICBib3JkZXItcmFkaXVzOiAgNnB4IDAgMCAwOw0KfQ0KI3BvcGV5ZTIgLnBweS1jb3VudCB7DQogICAgZGlzcGxheTogICAgICAgIGlubGluZTsNCiAgICBwYWRkaW5nOiAgICAgICAgMCA1cHggMCAwOw0KICAgIGZvbnQtc3R5bGU6ICAgICBpdGFsaWM7DQp9DQoucHB5LWxvYWRpbmcgew0KICAgIGJhY2tncm91bmQ6ICAgICAjMzMzIHVybCguLi9nZngvbG9hZGluZy5naWYpIG5vLXJlcGVhdCBjZW50ZXIgIWltcG9ydGFudDsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/compact.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADEAAABGCAMAAABSZYxXAAAAA3NCSVQICAjb4U/gAAAAOVBMVEX////////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMB6kAX8AAAAE3RSTlMAERFmZnd3iIiZmaqq3d3u7v//q86fwAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAAOdJREFUSInt1UESgyAMBVBbaKHV1sL9D1sHNWYIJHGh44K//PJ0GI103RzXCXG3rPi8BBCICCxxoSBIhTOWRajmdGGgFsQch4mwcwAbUTwjf8+MyJPK+nq43EQTx4q93+5jqRXz0Sfg1lozgz0Gujnv4SYX+18hwe+cCvYEMQUhHDmGCMODaUEuvCT8PSu+bwFEIiJLfCwIUuH8yiJWc7qwUAtijsdE2DmAjSiekb9nRuRJZX09XG6iiWPF3m/3udSK+RgS8GutmcEBA92cD3CTi/2vkOB3TgV7gtiCEI4cS4TlwbRgFX9F/oSPT2W0NAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/enlarge-1.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAEIAAAAUCAMAAAAOXRswAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJQTFRF2NjYJm6A2tra5ubm5+fn3Nzc8t0O8QAAAEVJREFUeNrslLkRADAIw2ye/VcOdxlBFCmiAXTCBaoWokshCBa8h7nB5gbs4IfcCtOGUZgq2B4bFXyLz8rHCCV0RB4BBgDWOABJy6pVLQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/enlarge.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADEAAABGCAMAAABSZYxXAAAAA3NCSVQICAjb4U/gAAAAOVBMVEX////////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMB6kAX8AAAAE3RSTlMAERFmZnd3iIiZmaqq3d3u7v//q86fwAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAANhJREFUSInt1EsOwyAMBFAItNB/4f6HLfIUkygShiyiRGIWiIUf4IVRn0B5KCEX1AWt/kIiLqxEnTCA0NKLOK8sQmP2E6ZPuNSNgZCahnC0NxDC8bSYhW8Raoghzi1c+3xgoFzPDN4IdM15Isf8rzb9u4irlRq+p4gqmBEWAihEq2+kPCVxRV2cspCIjytRJwwgJulFnHcWsTH7CdsnfOrGQkhNQ3jaWwjheFrswrcINcQQ5xa+fT4wUL5nBu8EuuY8kWP+V5v+XcTXSi3fU0QVzAgLARQy/QCc9Jyfu5YG1AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/next-1.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADwAAAAUCAMAAADm3a4bAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJQTFRF2NjYJm6A2tra5ubm5+fn3Nzc8t0O8QAAADRJREFUeNpiYGFlIBOwsjAwMZANKNA6CugDGCnSzEiRZsaBsnk02gcgRzMxMJOtm4kZIMAAgEEALoEDyTUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/next.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABkAAABGCAMAAAAO789zAAAAA3NCSVQICAjb4U/gAAAAOVBMVEX////////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMB6kAX8AAAAE3RSTlMAIiIzM0REVVVmZoiImZmqqv//LSGiNgAAAAlwSFlzAAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAAE1JREFUOI3tyUkKwCAQBMDO6pZEk/8/Nrce9OBBEEGmrgWM58gUY166tdoqSh1ZBAmnUQ9stGBunmwx9qNHq62S1JnFJeE16oGdVvTzA2yeJ199mFl4AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/prev-1.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADwAAAAUCAMAAADm3a4bAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABVQTFRF2NjYJm6A2tra6enp29vb6urq3d3dKMJ0uwAAADZJREFUeNpiYGVjIBOwsTIwMZANKNA6CigAjJToZaRE70DZTJmfRwGxgIUSrcxklwdMzAABBgCV0gA2BJd29gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/images/prev.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABkAAABGCAMAAAAO789zAAAAA3NCSVQICAjb4U/gAAAAOVBMVEX////////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMD////AwMB6kAX8AAAAE3RSTlMAIiIzM0REVVVmZoiImZmqqv//LSGiNgAAAAlwSFlzAAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAAEtJREFUOI3tyTkOwCAMBMBNSMKZ8/+PpVvLDQWiQJGnHWAuPpKO8yVv0Y5d4oYWpbJVXy2O8G8hkY7ro2DRjkPigZakilVfrRthrAp2cidfPQgaVwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/popeye/js/popeye.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpRdWVyeSBQb3BleWUgMS4wIC0gaHR0cDovL2Rldi5oZXJyLXNjaHVlc3NsZXIuZGUvanF1ZXJ5L3BvcGV5ZS8NCiAqDQogKiBjb252ZXJ0cyBhIEhUTUwgaW1hZ2UgbGlzdCBpbiBpbWFnZSBnYWxsZXJ5IHdpdGggaW5saW5lIGVubGFyZ2VtZW50DQogKg0KICogQ29weXJpZ2h0IChDKSAyMDA4LDIwMDkgQ2hyaXN0b3BoIFNjaHVlc3NsZXIgKHNjaHJlaWJAaGVyci1zY2h1ZXNzbGVyLmRlKQ0KICogDQogKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQogKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KICoNCiAqLw0KKGZ1bmN0aW9uKCQpeyQuZm4ucG9wZXllPWZ1bmN0aW9uKG9wdGlvbnMpe3ZhciBvYmo9JCh0aGlzKTt2YXIgb3B0cz0kLmV4dGVuZCh7fSwkLmZuLnBvcGV5ZS5kZWZhdWx0cyxvcHRpb25zKTtmdW5jdGlvbiBkZWJ1Zyhtc2cpe2lmKHdpbmRvdy5jb25zb2xlJiZ3aW5kb3cuY29uc29sZS5sb2cmJm9wdHMuZGVidWcpe3dpbmRvdy5jb25zb2xlLmxvZyhtc2cpfX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZGlzcGxheShpLHRyYW5zaXRpb24pe3RyYW5zaXRpb249dHJhbnNpdGlvbnx8ZmFsc2U7dmFyIHN0YWdlSW09e2JhY2tncm91bmRJbWFnZTondXJsKCcraW0uc21hbGxbaV0rJyknLGJhY2tncm91bmRQb3NpdGlvbjonY2VudGVyJ307aWYodHJhbnNpdGlvbil7cHB5U3RhZ2VXcmFwLmFkZENsYXNzKG9wdHMubGNsYXNzKTtwcHlTdGFnZS5mYWRlVG8oMTAwLDAsZnVuY3Rpb24oKXt1cGRhdGVDb3VudGVyKGkpO3BweVN0YWdlLmNzcyhzdGFnZUltKX0pfWVsc2V7cHB5U3RhZ2UuY3NzKHN0YWdlSW0pO3VwZGF0ZUNvdW50ZXIoaSl9cHJlbG9hZGVyLm9ubG9hZD1mdW5jdGlvbigpe3BweVN0YWdlV3JhcC5yZW1vdmVDbGFzcyhvcHRzLmxjbGFzcyk7aWYodHJhbnNpdGlvbil7cHB5U3RhZ2UuZmFkZVRvKDEwMCwxKTtkaXNwbGF5Q2FwdGlvbihpbS50aXRsZVtpXSl9fTtpZihlbmxhcmdlZCl7ZW5sYXJnZShpKX1lbHNle3ByZWxvYWRlci5zcmM9aW0uc21hbGxbaV07ZGVidWcoJyQuZm4ucG9wZXllLmRpc3BsYXk6IFRodW1ibmFpbCAnK2krJyBsb2FkZWQnKTtwcmVsb2FkZXIyLm9ubG9hZD1mdW5jdGlvbigpe2RlYnVnKCckLmZuLnBvcGV5ZS5kaXNwbGF5OiBJbWFnZSAnK2krJyBsb2FkZWQnKX07cHJlbG9hZGVyMi5zcmM9aW0ubGFyZ2VbaV19fWZ1bmN0aW9uIHVwZGF0ZUNvdW50ZXIoaSl7cHB5VG90YWwudGV4dCgnICcrdG90KTtwcHlDdXIudGV4dCgoaSsxKSsnICcpO2RlYnVnKCckLmZuLnBvcGV5ZS51cGRhdGVDb3VudGVyOiBEaXNwbGF5aW5nIGltYWdlICcrKGkrMSkrJyBvZiAnK3RvdCl9ZnVuY3Rpb24gcHJlbG9hZEFkamFjZW50KGkpe3ZhciBuZXh0PWk7aWYobmV4dDwodG90LTEpKXtuZXh0Kyt9ZWxzZXtuZXh0PTB9cHJlbG9hZGVyTmV4dC5vbmxvYWQ9ZnVuY3Rpb24oKXtkZWJ1ZygnJC5mbi5wb3BleWUucHJlbG9hZEFkamFjZW50OiBOZXh0IGltYWdlICgnK25leHQrJykgbG9hZGVkJyl9O3ByZWxvYWRlck5leHQuc3JjPWltLmxhcmdlW25leHRdO3ZhciBwcmV2PWk7aWYocHJldjw9MCl7cHJldj10b3QtMX1lbHNle3ByZXYtLX1wcmVsb2FkZXJQcmV2Lm9ubG9hZD1mdW5jdGlvbigpe2RlYnVnKCckLmZuLnBvcGV5ZS5wcmVsb2FkQWRqYWNlbnQ6IFByZXZpb3VzIGltYWdlICgnK3ByZXYrJykgbG9hZGVkJyl9O3ByZWxvYWRlclByZXYuc3JjPWltLmxhcmdlW3ByZXZdfWZ1bmN0aW9uIGVubGFyZ2UoaSl7ZW5sYXJnZWQ9dHJ1ZTtkZWJ1ZygnJC5mbi5wb3BleWUuZW5sYXJnZTogRW50ZXJpbmcgRU5MQVJHRUQgTU9ERScpO3BweVN0YWdlV3JhcC5hZGRDbGFzcyhvcHRzLmxjbGFzcyk7cHB5U3RhZ2UuZmFkZVRvKChvcHRzLmR1cmF0aW9uLzIpLDApO29iai5hZGRDbGFzcyhvcHRzLmVjbGFzcyk7cHJlbG9hZGVyLm9ubG9hZD1mdW5jdGlvbigpe3BweVN0YWdlV3JhcC5yZW1vdmVDbGFzcyhvcHRzLmxjbGFzcyk7dmFyIGltV2lkdGg9cHJlbG9hZGVyLndpZHRoO3ZhciBpbUhlaWdodD1wcmVsb2FkZXIuaGVpZ2h0O3ZhciBjc3NTdGFnZVRvPXt3aWR0aDppbVdpZHRoLGhlaWdodDppbUhlaWdodH07dmFyIGNzc1N0YWdlSW09e2JhY2tncm91bmRJbWFnZTondXJsKCcraW0ubGFyZ2VbaV0rJyknLGJhY2tncm91bmRQb3NpdGlvbjonbGVmdCB0b3AnfTtoaWRlQ2FwdGlvbih0cnVlKTtwcHlTdGFnZS5hbmltYXRlKGNzc1N0YWdlVG8se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOm9wdHMuZHVyYXRpb24sZWFzaW5nOm9wdHMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7cHB5U3dpdGNoLnJlbW92ZUNsYXNzKCdwcHktZW5sYXJnZScpO3BweVN3aXRjaC5hZGRDbGFzcygncHB5LWNvbXBhY3QnKTtwcHlTd2l0Y2gudW5iaW5kKCdjbGljaycpO3BweVN3aXRjaC5jbGljayhmdW5jdGlvbigpe2NvbXBhY3QoY3VyKTtyZXR1cm4gZmFsc2V9KTtwcHlTdGFnZVdyYXAuY2xpY2soZnVuY3Rpb24oKXtjb21wYWN0KGN1cik7cmV0dXJuIGZhbHNlfSk7cHB5U3RhZ2VXcmFwLmF0dHIoJ3RpdGxlJyxvcHRzLmNsYWJlbCk7dXBkYXRlQ291bnRlcihpKTskKHRoaXMpLmNzcyhjc3NTdGFnZUltKS5mYWRlVG8oKG9wdHMuZHVyYXRpb24vMiksMSk7ZGlzcGxheUNhcHRpb24oaW0udGl0bGVbaV0pO3ByZWxvYWRBZGphY2VudChpKX19KX07cHJlbG9hZGVyLnNyYz1pbS5sYXJnZVtpXX1mdW5jdGlvbiBjb21wYWN0KGkpe2VubGFyZ2VkPWZhbHNlO2RlYnVnKCckLmZuLnBvcGV5ZS5jb21wYWN0OiBFbnRlcmluZyBDT01QQUNUIE1PREUnKTtoaWRlQ2FwdGlvbih0cnVlKTtwcHlTdGFnZS5mYWRlVG8oKG9wdHMuZHVyYXRpb24vMiksMCkuYW5pbWF0ZShjc3NDb21wYWN0U3RhZ2Use3F1ZXVlOmZhbHNlLGR1cmF0aW9uOm9wdHMuZHVyYXRpb24sZWFzaW5nOm9wdHMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7b2JqLnJlbW92ZUNsYXNzKG9wdHMuZWNsYXNzKTtwcHlTd2l0Y2guYWRkQ2xhc3MoJ3BweS1lbmxhcmdlJyk7cHB5U3dpdGNoLnJlbW92ZUNsYXNzKCdwcHktY29tcGFjdCcpO3BweVN3aXRjaC51bmJpbmQoJ2NsaWNrJyk7cHB5U3dpdGNoLmNsaWNrKGZ1bmN0aW9uKCl7ZW5sYXJnZShjdXIpO3JldHVybiBmYWxzZX0pO3BweVN0YWdlV3JhcC5yZW1vdmVBdHRyKCd0aXRsZScpO3BweVN0YWdlV3JhcC51bmJpbmQoJ2NsaWNrJyk7ZGlzcGxheShjdXIpOyQodGhpcykuZmFkZVRvKChvcHRzLmR1cmF0aW9uLzIpLDEsZnVuY3Rpb24oKXtkaXNwbGF5Q2FwdGlvbihpbS50aXRsZVtpXSl9KX19KX1mdW5jdGlvbiBkaXNwbGF5Q2FwdGlvbihjYXApe3BweVRleHQudGV4dChjYXApO2lmKG9wdHMuY291bnRwb3M9PSdjYXB0aW9uJyl7dXBkYXRlQ291bnRlcihjdXIpfWlmKGNhcCl7dmFyIGNzc1BweUNhcHRpb249e3Zpc2liaWxpdHk6J3Zpc2libGUnLHdpZHRoOnBweVN0YWdlLm91dGVyV2lkdGgoKX07cHB5Q2FwLmNzcyhjc3NQcHlDYXB0aW9uKTtwcHlDYXAuYW5pbWF0ZSh7ImhlaWdodCI6cHB5VGV4dFdyYXAub3V0ZXJIZWlnaHQoKX0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOjkwLGVhc2luZzpvcHRzLmVhc2luZ30pfWVsc2V7aGlkZUNhcHRpb24odHJ1ZSl9fWZ1bmN0aW9uIGhpZGVDYXB0aW9uKHRyYW5zaXRpb24pe3RyYW5zaXRpb249dHJhbnNpdGlvbnx8ZmFsc2U7dmFyIGNzc1BweUNhcHRpb249e3Zpc2liaWxpdHk6J2hpZGRlbicsb3ZlcmZsb3c6J2hpZGRlbicsd2lkdGg6bWF4V2lkdGh9O3ZhciBkdXJhdGlvbj1mYWxzZTtpZih0cmFuc2l0aW9uKXtkdXJhdGlvbj03MH1lbHNle2R1cmF0aW9uPTB9cHB5Q2FwLmFuaW1hdGUoeyJoZWlnaHQiOicwcHgnfSx7cXVldWU6ZmFsc2UsZHVyYXRpb246ZHVyYXRpb24sZWFzaW5nOm9wdHMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7cHB5Q2FwLmNzcyhjc3NQcHlDYXB0aW9uKX19KX1mdW5jdGlvbiBpbml0KCl7b2JqLmZpbmQoJ2xpJykuZWFjaChmdW5jdGlvbihpKXtpbS53aWR0aFtpXT0kKHRoaXMpLmZpbmQoJ2ltZycpLndpZHRoKCk7aW0uaGVpZ2h0W2ldPSQodGhpcykuZmluZCgnaW1nJykuaGVpZ2h0KCk7ZGVidWcoJyQuZm4ucG9wZXllLmluaXQgLT4gaW0ud2lkdGhbJytpKyddOiAnK2ltLndpZHRoW2ldKycsIGltLmhlaWdodFsnK2krJ106ICcraW0uaGVpZ2h0W2ldKTtpZihtYXhXaWR0aD5pbS53aWR0aFtpXSl7bWF4V2lkdGg9aW0ud2lkdGhbaV19aWYobWF4SGVpZ2h0PmltLmhlaWdodFtpXSl7bWF4SGVpZ2h0PWltLmhlaWdodFtpXX19KTtkZWJ1ZygnJC5mbi5wb3BleWUuaW5pdCAtPiBtYXhXaWR0aDogJyttYXhXaWR0aCsnLCBtYXhIZWlnaHQ6ICcrbWF4SGVpZ2h0KTtjc3NDb21wYWN0U3RhZ2U9e3dpZHRoOm1heFdpZHRoLGhlaWdodDptYXhIZWlnaHR9O2Nzc1BweVRvb2xzPXtvcGFjaXR5OjB9O2RlYnVnKCckLmZuLnBvcGV5ZS5pbml0IC0+IFN0YXJ0aW5nIGluIENPTVBBQ1QgTU9ERScpO29iai5maW5kKCd1bCcpLnJlbW92ZSgpO2lmKG9wdHMubm9qc2NsYXNzKXtvYmouZmluZCgnLicrb3B0cy5ub2pzY2xhc3MpLnJlbW92ZSgpfW9iai5hcHBlbmQocHB5U3RhZ2VXcmFwKTtwcHlTdGFnZVdyYXAuYXBwZW5kKHBweVN0YWdlKTtwcHlTdGFnZS5hcHBlbmQocHB5VG9vbHMpO2lmKG9wdHMuY291bnRwb3M9PSdvdmVybGF5Jyl7cHB5U3RhZ2UuYXBwZW5kKHBweUNvdW50KX1wcHlUb29scy5hcHBlbmQocHB5UHJldik7cHB5VG9vbHMuYXBwZW5kKHBweVN3aXRjaCk7cHB5VG9vbHMuYXBwZW5kKHBweU5leHQpO2lmKG9wdHMuY2FwdGlvbil7cHB5U3RhZ2VXcmFwLmFmdGVyKHBweUNhcCl9cHB5Q291bnQuYXBwZW5kKHBweUN1cik7cHB5Q291bnQuYXBwZW5kKHBweVRvdGFsKTtwcHlDdXIuYWZ0ZXIob3B0cy5vZmxhYmVsKTtwcHlDYXAuYXBwZW5kKHBweVRleHRXcmFwKTtpZihvcHRzLmNvdW50cG9zPT0nY2FwdGlvbicpe3BweVRleHRXcmFwLnByZXBlbmQocHB5Q291bnQpfXBweVRleHRXcmFwLmFwcGVuZChwcHlUZXh0KTtpZihvcHRzLmpzY2xhc3Mpe29iai5hZGRDbGFzcyhvcHRzLmpzY2xhc3MpfWlmKG9wdHMuZGlyZWN0aW9uPT0nbGVmdCcpe3BweVRvb2xzLmFkZENsYXNzKG9wdHMuZGxjbGFzcyl9ZWxzZSBpZihvcHRzLmRpcmVjdGlvbj09J3JpZ2h0Jyl7cHB5VG9vbHMuYWRkQ2xhc3Mob3B0cy5kcmNsYXNzKX1wcHlTdGFnZS5jc3MoY3NzQ29tcGFjdFN0YWdlKTtwcHlUb29scy5jc3MoY3NzUHB5VG9vbHMpO2Rpc3BsYXkoY3VyKTtoaWRlQ2FwdGlvbigpO3ZhciBpbUhlaWdodD1wcHlTdGFnZVdyYXAub3V0ZXJIZWlnaHQoKTt2YXIgaW1XaWR0aD1wcHlTdGFnZVdyYXAub3V0ZXJXaWR0aCgpO3ZhciBpbVRvcD1vYmoub2Zmc2V0KCkudG9wLXBhcnNlSW50KG9iai5jc3MoJ21hcmdpblRvcCcpLDEwKTt2YXIgaW1MZWZ0PW9iai5vZmZzZXQoKS5sZWZ0LXBhcnNlSW50KG9iai5jc3MoJ21hcmdpbkxlZnQnKSwxMCk7dmFyIGltUmlnaHQ9JCh3aW5kb3cpLndpZHRoKCktKG9iai5vZmZzZXQoKS5sZWZ0K2ltV2lkdGgpLXBhcnNlSW50KG9iai5jc3MoJ21hcmdpblJpZ2h0JyksMTApO3ZhciBpbUZsb2F0PW9iai5jc3MoJ2Zsb2F0Jyk7dmFyIGltTWFyZ2luVG9wPW9iai5jc3MoJ21hcmdpbi10b3AnKTt2YXIgaW1NYXJnaW5SaWdodD1vYmouY3NzKCdtYXJnaW4tcmlnaHQnKTt2YXIgaW1NYXJnaW5Cb3R0b209b2JqLmNzcygnbWFyZ2luLWJvdHRvbScpO3ZhciBpbU1hcmdpbkxlZnQ9b2JqLmNzcygnbWFyZ2luLWxlZnQnKTt2YXIgY3NzUGxhY2Vob2xkZXI9e2hlaWdodDppbUhlaWdodCx3aWR0aDppbVdpZHRoLGZsb2F0OmltRmxvYXQsbWFyZ2luVG9wOmltTWFyZ2luVG9wLG1hcmdpblJpZ2h0OmltTWFyZ2luUmlnaHQsbWFyZ2luQm90dG9tOmltTWFyZ2luQm90dG9tLG1hcmdpbkxlZnQ6aW1NYXJnaW5MZWZ0fTt2YXIgY3NzQWJzb2x1dGVQcHk9e3Bvc2l0aW9uOidhYnNvbHV0ZScsdG9wOmltVG9wLHpJbmRleDonMTAwJ307aWYob3B0cy5kaXJlY3Rpb249PSdsZWZ0Jyl7Y3NzQWJzb2x1dGVQcHkubGVmdD1pbUxlZnR9ZWxzZSBpZihvcHRzLmRpcmVjdGlvbj09J3JpZ2h0Jyl7Y3NzQWJzb2x1dGVQcHkucmlnaHQ9aW1SaWdodH1wcHlQbGFjZWhvbGRlci5jc3MoY3NzUGxhY2Vob2xkZXIpO29iai5hZnRlcihwcHlQbGFjZWhvbGRlcik7b2JqLmFwcGVuZFRvKCQoJ2JvZHknKSk7b2JqLmNzcyhjc3NBYnNvbHV0ZVBweSk7cHB5U3RhZ2UuaG92ZXIoZnVuY3Rpb24oZSl7cHB5VG9vbHMuc3RvcCgpLmZhZGVUbygxMDAsb3B0cy5vcGFjaXR5KX0sZnVuY3Rpb24oZSl7cHB5VG9vbHMuc3RvcCgpLmZhZGVUbyg1MDAsMCl9KTtwcHlUb29scy5tb3VzZWxlYXZlKGZ1bmN0aW9uKGUpe3BweVRvb2xzLnN0b3AoKS5mYWRlVG8oNTAwLDApfSk7cHB5VG9vbHMubW91c2VlbnRlcihmdW5jdGlvbihlKXtwcHlUb29scy5zdG9wKCkuZmFkZVRvKDEwMCxvcHRzLm9wYWNpdHkpfSk7b2JqLmhvdmVyKGZ1bmN0aW9uKGUpe2Rpc3BsYXlDYXB0aW9uKGltLnRpdGxlW2N1cl0pfSxmdW5jdGlvbihlKXtoaWRlQ2FwdGlvbih0cnVlKX0pO3BweVByZXYuY2xpY2soZnVuY3Rpb24oKXtpZihjdXI8PTApe2N1cj10b3QtMX1lbHNle2N1ci0tfWRpc3BsYXkoY3VyLHRydWUpO3JldHVybiBmYWxzZX0pO3BweU5leHQuY2xpY2soZnVuY3Rpb24oKXtpZihjdXI8KHRvdC0xKSl7Y3VyKyt9ZWxzZXtjdXI9MH1kaXNwbGF5KGN1cix0cnVlKTtyZXR1cm4gZmFsc2V9KTtwcHlTd2l0Y2guY2xpY2soZnVuY3Rpb24oKXtlbmxhcmdlKGN1cik7cmV0dXJuIGZhbHNlfSl9dmFyIHByZWxvYWRlcj1uZXcgSW1hZ2UoKTt2YXIgcHJlbG9hZGVyMj1uZXcgSW1hZ2UoKTt2YXIgcHJlbG9hZGVyTmV4dD1uZXcgSW1hZ2UoKTt2YXIgcHJlbG9hZGVyUHJldj1uZXcgSW1hZ2UoKTt2YXIgcHJlbG9hZGVycz1bXTt2YXIgcHB5UGxhY2Vob2xkZXI9JCgnPGRpdiBjbGFzcz0icHB5LXBsYWNlaG9sZGVyIiAvPicpO3ZhciBwcHlTdGFnZVdyYXA9JCgnPGRpdiBjbGFzcz0icHB5LXN0YWdld3JhcCIgLz4nKTt2YXIgcHB5U3RhZ2U9JCgnPGRpdiBjbGFzcz0icHB5LXN0YWdlIiAvPicpO3ZhciBwcHlUb29scz0kKCc8ZGl2IGNsYXNzPSJwcHktdG9vbHMiIC8+Jyk7dmFyIHBweVByZXY9JCgnPGRpdiBjbGFzcz0icHB5LXByZXYiPicrb3B0cy5wbGFiZWwrJzwvZGl2PicpO3ZhciBwcHlOZXh0PSQoJzxkaXYgY2xhc3M9InBweS1uZXh0Ij4nK29wdHMubmxhYmVsKyc8L2Rpdj4nKTt2YXIgcHB5U3dpdGNoPSQoJzxkaXYgY2xhc3M9InBweS1lbmxhcmdlIj4nK29wdHMuYmxhYmVsKyc8L2Rpdj4nKTt2YXIgcHB5Q2FwPSQoJzxkaXYgY2xhc3M9InBweS1jYXAiIC8+Jyk7dmFyIHBweUNvdW50PSQoJzxkaXYgY2xhc3M9InBweS1jb3VudCIgLz4nKTt2YXIgcHB5Q3VyPSQoJzxlbSBjbGFzcz0icHB5LWN1ciIgLz4nKTt2YXIgcHB5VG90YWw9JCgnPGVtIGNsYXNzPSJwcHktdG90YWwiIC8+Jyk7dmFyIHBweVRleHRXcmFwPSQoJzxkaXYgY2xhc3M9InBweS10ZXh0d3JhcCIgLz4nKTt2YXIgcHB5VGV4dD0kKCc8c3BhbiBjbGFzcz0icHB5LXRleHQiIC8+Jyk7dmFyIGltPXtzbWFsbDpbXSx0aXRsZTpbXSxsYXJnZTpbXSx3aWR0aDpbXSxoZWlnaHQ6W119O3ZhciBtYXhXaWR0aD0xMDAwMDt2YXIgbWF4SGVpZ2h0PTEwMDAwO3ZhciBjdXI9MDt2YXIgdG90PW9iai5maW5kKCdpbWcnKS5sZW5ndGg7dmFyIHRvZ289dG90O2RlYnVnKCckLmZuLnBvcGV5ZSAtPiAnK3RvdCsnIHRodW1ibmFpbHMgZm91bmQuJyk7dmFyIGNzc0NvbXBhY3RTdGFnZT17fTt2YXIgY3NzUHB5VG9vbHM9e307dmFyIGVubGFyZ2VkPWZhbHNlO29iai5maW5kKCdsaScpLmVhY2goZnVuY3Rpb24oaSl7aW0uc21hbGxbaV09JCh0aGlzKS5maW5kKCdpbWcnKS5hdHRyKCdzcmMnKTtpbS50aXRsZVtpXT0kKHRoaXMpLmZpbmQoJ2ltZycpLmF0dHIoJ2FsdCcpO2ltLmxhcmdlW2ldPSQodGhpcykuZmluZCgnYScpLmF0dHIoJ2hyZWYnKTtkZWJ1ZygnJC5mbi5wb3BleWUgLT4gTG9hZGluZyAiJytpbS5zbWFsbFtpXSsnIicpOyQodGhpcykuZmluZCgnaW1nJykubG9hZChmdW5jdGlvbigpe2lmKC0tdG9nbzwxKXtkZWJ1ZygnJC5mbi5wb3BleWUgLT4gQWxsIHRodW1ibmFpbHMgbG9hZGVkIScpO2luaXQoKX19KS5hdHRyKCdzcmMnLGltLnNtYWxsW2ldKX0pfSl9OyQuZm4ucG9wZXllLmRlZmF1bHRzPXtqc2NsYXNzOidwcHktanMnLG5vanNjbGFzczoncHB5LW5vLWpzJyxlY2xhc3M6J3BweS1leHBhbmRlZCcsbGNsYXNzOidwcHktbG9hZGluZycsZGxjbGFzczoncHB5LWxlZnQnLGRyY2xhc3M6J3BweS1yaWdodCcsZGlyZWN0aW9uOidsZWZ0JyxkdXJhdGlvbjoyNTAsb3BhY2l0eTowLjcsY291bnRwb3M6J292ZXJsYXknLGNhcHRpb246dHJ1ZSxlYXNpbmc6J3N3aW5nJyxubGFiZWw6JycscGxhYmVsOicnLG9mbGFiZWw6J29mJyxibGFiZWw6JycsY2xhYmVsOidDbGljayB0byBjbG9zZScsZGVidWc6ZmFsc2V9fSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/scrollpane/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/scrollpane/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/scrollpane/js/scrollpane.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA2IEtlbHZpbiBMdWNrIChrZWx2aW4gQVQga2VsdmlubHVjayBET1QgY29tIHx8IGh0dHA6Ly93d3cua2VsdmlubHVjay5jb20pCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHApIAogKiBhbmQgR1BMIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocCkgbGljZW5zZXMuCiAqIAogKiBTZWUgaHR0cDovL2tlbHZpbmx1Y2suY29tL2Fzc2V0cy9qcXVlcnkvalNjcm9sbFBhbmUvCiAqICRJZDogalNjcm9sbFBhbmUuanMgNjYgMjAwOS0wMy0xNSAwMToxODowN1oga2VsdmluLmx1Y2sgJAogKi8KCi8qKgogKiBSZXBsYWNlIHRoZSB2ZXJ0aWNhbCBzY3JvbGwgYmFycyBvbiBhbnkgbWF0Y2hlZCBlbGVtZW50cyB3aXRoIGEgZmFuY3kKICogc3R5bGVhYmxlICh2aWEgQ1NTKSB2ZXJzaW9uLiBXaXRoIEpTIGRpc2FibGVkIHRoZSBlbGVtZW50cyB3aWxsCiAqIGdyYWNlZnVsbHkgZGVncmFkZSB0byB0aGUgYnJvd3NlcnMgb3duIGltcGxlbWVudGF0aW9uIG9mIG92ZXJmbG93OmF1dG8uCiAqIElmIHRoZSBtb3VzZXdoZWVsIHBsdWdpbiBoYXMgYmVlbiBpbmNsdWRlZCBvbiB0aGUgcGFnZSB0aGVuIHRoZSBzY3JvbGxhYmxlIGFyZWFzIHdpbGwgYWxzbwogKiByZXNwb25kIHRvIHRoZSBtb3VzZSB3aGVlbC4KICoKICogQGV4YW1wbGUgalF1ZXJ5KCIuc2Nyb2xsLXBhbmUiKS5qU2Nyb2xsUGFuZSgpOwogKgogKiBAbmFtZSBqU2Nyb2xsUGFuZQogKiBAdHlwZSBqUXVlcnkKICogQHBhcmFtIE9iamVjdAlzZXR0aW5ncwloYXNoIHdpdGggb3B0aW9ucywgZGVzY3JpYmVkIGJlbG93LgogKgkJCQkJCQkJc2Nyb2xsYmFyV2lkdGgJLQlUaGUgd2lkdGggb2YgdGhlIGdlbmVyYXRlZCBzY3JvbGxiYXIgaW4gcGl4ZWxzCiAqCQkJCQkJCQlzY3JvbGxiYXJNYXJnaW4JLQlUaGUgYW1vdW50IG9mIHNwYWNlIHRvIGxlYXZlIG9uIHRoZSBzaWRlIG9mIHRoZSBzY3JvbGxiYXIgaW4gcGl4ZWxzCiAqCQkJCQkJCQl3aGVlbFNwZWVkCQktCVRoZSBzcGVlZCB0aGUgcGFuZSB3aWxsIHNjcm9sbCBpbiByZXNwb25zZSB0byB0aGUgbW91c2Ugd2hlZWwgaW4gcGl4ZWxzCiAqCQkJCQkJCQlzaG93QXJyb3dzCQktCVdoZXRoZXIgdG8gZGlzcGxheSBhcnJvd3MgZm9yIHRoZSB1c2VyIHRvIHNjcm9sbCB3aXRoCiAqCQkJCQkJCQlhcnJvd1NpemUJCS0JVGhlIGhlaWdodCBvZiB0aGUgYXJyb3cgYnV0dG9ucyBpZiBzaG93QXJyb3dzPXRydWUKICoJCQkJCQkJCWFuaW1hdGVUbwkJLQlXaGV0aGVyIHRvIGFuaW1hdGUgd2hlbiBjYWxsaW5nIHNjcm9sbFRvIGFuZCBzY3JvbGxCeQogKgkJCQkJCQkJZHJhZ01pbkhlaWdodAktCVRoZSBtaW5pbXVtIGhlaWdodCB0byBhbGxvdyB0aGUgZHJhZyBiYXIgdG8gYmUKICoJCQkJCQkJCWRyYWdNYXhIZWlnaHQJLQlUaGUgbWF4aW11bSBoZWlnaHQgdG8gYWxsb3cgdGhlIGRyYWcgYmFyIHRvIGJlCiAqCQkJCQkJCQlhbmltYXRlSW50ZXJ2YWwJLQlUaGUgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIHRvIHVwZGF0ZSBhbiBhbmltYXRpbmcgc2Nyb2xsUGFuZSAoZGVmYXVsdCAxMDApCiAqCQkJCQkJCQlhbmltYXRlU3RlcAkJLQlUaGUgYW1vdW50IHRvIGRpdmlkZSB0aGUgcmVtYWluaW5nIHNjcm9sbCBkaXN0YW5jZSBieSB3aGVuIGFuaW1hdGluZyAoZGVmYXVsdCAzKQogKgkJCQkJCQkJbWFpbnRhaW5Qb3NpdGlvbi0JV2hldGhlciB5b3Ugd2FudCB0aGUgY29udGVudHMgb2YgdGhlIHNjcm9sbCBwYW5lIHRvIG1haW50YWluIGl0J3MgcG9zaXRpb24gd2hlbiB5b3UgcmUtaW5pdGlhbGlzZSBpdCAtIHNvIGl0IGRvZXNuJ3Qgc2Nyb2xsIGFzIHlvdSBhZGQgbW9yZSBjb250ZW50IChkZWZhdWx0IHRydWUpCiAqCQkJCQkJCQlzY3JvbGxiYXJPbkxlZnQJLQlEaXNwbGF5IHRoZSBzY3JvbGxiYXIgb24gdGhlIGxlZnQgc2lkZT8gIChuZWVkcyBzdHlsZXNoZWV0IGNoYW5nZXMsIHNlZSBleGFtcGxlcy5odG1sKQogKgkJCQkJCQkJcmVpbml0aWFsaXNlT25JbWFnZUxvYWQgLSBXaGV0aGVyIHRoZSBqU2Nyb2xsUGFuZSBzaG91bGQgYXV0b21hdGljYWxseSByZS1pbml0aWFsaXNlIGl0c2VsZiB3aGVuIGFueSBjb250YWluZWQgaW1hZ2VzIGFyZSBsb2FkZWQKICogQHJldHVybiBqUXVlcnkKICogQGNhdCBQbHVnaW5zL2pTY3JvbGxQYW5lCiAqIEBhdXRob3IgS2VsdmluIEx1Y2sgKGtlbHZpbiBBVCBrZWx2aW5sdWNrIERPVCBjb20gfHwgaHR0cDovL3d3dy5rZWx2aW5sdWNrLmNvbSkKICovCgooZnVuY3Rpb24oJCkgewoKJC5qU2Nyb2xsUGFuZSA9IHsKCWFjdGl2ZSA6IFtdCn07CiQuZm4ualNjcm9sbFBhbmUgPSBmdW5jdGlvbihzZXR0aW5ncykKewoJc2V0dGluZ3MgPSAkLmV4dGVuZCh7fSwgJC5mbi5qU2Nyb2xsUGFuZS5kZWZhdWx0cywgc2V0dGluZ3MpOwoKCXZhciByZiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH07CgkKCXJldHVybiB0aGlzLmVhY2goCgkJZnVuY3Rpb24oKQoJCXsKCQkJdmFyICR0aGlzID0gJCh0aGlzKTsKCQkJLy8gU3dpdGNoIHRoZSBlbGVtZW50J3Mgb3ZlcmZsb3cgdG8gaGlkZGVuIHRvIGVuc3VyZSB3ZSBnZXQgdGhlIHNpemUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0aGUgc2Nyb2xsYmFycyBbaHR0cDovL3BsdWdpbnMuanF1ZXJ5LmNvbS9ub2RlLzEyMDhdCgkJCSR0aGlzLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7CgkJCXZhciBwYW5lRWxlID0gdGhpczsKCQkJCgkJCWlmICgkKHRoaXMpLnBhcmVudCgpLmlzKCcualNjcm9sbFBhbmVDb250YWluZXInKSkgewoJCQkJdmFyIGN1cnJlbnRTY3JvbGxQb3NpdGlvbiA9IHNldHRpbmdzLm1haW50YWluUG9zaXRpb24gPyAkdGhpcy5wb3NpdGlvbigpLnRvcCA6IDA7CgkJCQl2YXIgJGMgPSAkKHRoaXMpLnBhcmVudCgpOwoJCQkJdmFyIHBhbmVXaWR0aCA9ICRjLmlubmVyV2lkdGgoKTsKCQkJCXZhciBwYW5lSGVpZ2h0ID0gJGMub3V0ZXJIZWlnaHQoKTsKCQkJCXZhciB0cmFja0hlaWdodCA9IHBhbmVIZWlnaHQ7CgkJCQkkKCc+LmpTY3JvbGxQYW5lVHJhY2ssID4ualNjcm9sbEFycm93VXAsID4ualNjcm9sbEFycm93RG93bicsICRjKS5yZW1vdmUoKTsKCQkJCSR0aGlzLmNzcyh7J3RvcCc6MH0pOwoJCQl9IGVsc2UgewoJCQkJdmFyIGN1cnJlbnRTY3JvbGxQb3NpdGlvbiA9IDA7CgkJCQl0aGlzLm9yaWdpbmFsUGFkZGluZyA9ICR0aGlzLmNzcygncGFkZGluZ1RvcCcpICsgJyAnICsgJHRoaXMuY3NzKCdwYWRkaW5nUmlnaHQnKSArICcgJyArICR0aGlzLmNzcygncGFkZGluZ0JvdHRvbScpICsgJyAnICsgJHRoaXMuY3NzKCdwYWRkaW5nTGVmdCcpOwoJCQkJdGhpcy5vcmlnaW5hbFNpZGVQYWRkaW5nVG90YWwgPSAocGFyc2VJbnQoJHRoaXMuY3NzKCdwYWRkaW5nTGVmdCcpKSB8fCAwKSArIChwYXJzZUludCgkdGhpcy5jc3MoJ3BhZGRpbmdSaWdodCcpKSB8fCAwKTsKCQkJCXZhciBwYW5lV2lkdGggPSAkdGhpcy5pbm5lcldpZHRoKCk7CgkJCQl2YXIgcGFuZUhlaWdodCA9ICR0aGlzLmlubmVySGVpZ2h0KCk7CgkJCQl2YXIgdHJhY2tIZWlnaHQgPSBwYW5lSGVpZ2h0OwoJCQkJJHRoaXMud3JhcCgKCQkJCQkkKCc8ZGl2PjwvZGl2PicpLmF0dHIoCgkJCQkJCXsnY2xhc3NOYW1lJzonalNjcm9sbFBhbmVDb250YWluZXInfQoJCQkJCSkuY3NzKAoJCQkJCQl7CgkJCQkJCQknaGVpZ2h0JzpwYW5lSGVpZ2h0KydweCcsIAoJCQkJCQkJJ3dpZHRoJzpwYW5lV2lkdGgrJ3B4JwoJCQkJCQl9CgkJCQkJKS5hdHRyKAoJCQkJCQkndGFiaW5kZXgnLCAKCQkJCQkJc2V0dGluZ3MudGFiSW5kZXgKCQkJCQkpCgkJCQkpOwoJCQkJLy8gZGVhbCB3aXRoIHRleHQgc2l6ZSBjaGFuZ2VzIChpZiB0aGUganF1ZXJ5LmVtIHBsdWdpbiBpcyBpbmNsdWRlZCkKCQkJCS8vIGFuZCByZS1pbml0aWFsaXNlIHRoZSBzY3JvbGxQYW5lIHNvIHRoZSB0cmFjayBtYWludGFpbnMgdGhlCgkJCQkvLyBjb3JyZWN0IHNpemUKCQkJCSQoZG9jdW1lbnQpLmJpbmQoCgkJCQkJJ2VtY2hhbmdlJywgCgkJCQkJZnVuY3Rpb24oZSwgY3VyLCBwcmV2KQoJCQkJCXsKCQkJCQkJJHRoaXMualNjcm9sbFBhbmUoc2V0dGluZ3MpOwoJCQkJCX0KCQkJCSk7CgkJCQkKCQkJfQoJCQkKCQkJaWYgKHNldHRpbmdzLnJlaW5pdGlhbGlzZU9uSW1hZ2VMb2FkKSB7CgkJCQkvLyBjb2RlIGluc3BpcmVkIGJ5IGpxdWVyeS5vbkltYWdlc0xvYWQ6IGh0dHA6Ly9wbHVnaW5zLmpxdWVyeS5jb20vcHJvamVjdC9vbkltYWdlc0xvYWQKCQkJCS8vIGV4Y2VwdCB3ZSByZS1pbml0aWFsaXNlIHRoZSBzY3JvbGwgcGFuZSB3aGVuIGVhY2ggaW1hZ2UgbG9hZHMgc28gdGhhdCB0aGUgc2Nyb2xsIHBhbmUgaXMgYWx3YXlzIHVwIHRvIHNpemUuLi4KCQkJCS8vIFRPRE86IERvIEkgZXZlbiBuZWVkIHRvIHN0b3JlIGl0IGluICQuZGF0YT8gSXMgYSBsb2NhbCB2YXJpYWJsZSBoZXJlIHRoZSBzYW1lIHNpbmNlIEkgZG9uJ3QgcGFzcyB0aGUgcmVpbml0aWFsaXNlT25JbWFnZUxvYWQgd2hlbiBJIHJlLWluaXRpYWxpc2U/CgkJCQl2YXIgJGltYWdlc1RvTG9hZCA9ICQuZGF0YShwYW5lRWxlLCAnalNjcm9sbFBhbmVJbWFnZXNUb0xvYWQnKSB8fCAkKCdpbWcnLCAkdGhpcyk7CgkJCQl2YXIgbG9hZGVkSW1hZ2VzID0gW107CgkJCQkKCQkJCWlmICgkaW1hZ2VzVG9Mb2FkLmxlbmd0aCkgewoJCQkJCSRpbWFnZXNUb0xvYWQuZWFjaChmdW5jdGlvbihpLCB2YWwpCXsKCQkJCQkJJCh0aGlzKS5iaW5kKCdsb2FkIHJlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jdGlvbigpIHsKCQkJCQkJCWlmKCQuaW5BcnJheShpLCBsb2FkZWRJbWFnZXMpID09IC0xKXsgLy9kb24ndCBkb3VibGUgY291bnQgaW1hZ2VzCgkJCQkJCQkJbG9hZGVkSW1hZ2VzLnB1c2godmFsKTsgLy9rZWVwIGEgcmVjb3JkIG9mIGltYWdlcyB3ZSd2ZSBzZWVuCgkJCQkJCQkJJGltYWdlc1RvTG9hZCA9ICQuZ3JlcCgkaW1hZ2VzVG9Mb2FkLCBmdW5jdGlvbihuLCBpKSB7CgkJCQkJCQkJCXJldHVybiBuICE9IHZhbDsKCQkJCQkJCQl9KTsKCQkJCQkJCQkkLmRhdGEocGFuZUVsZSwgJ2pTY3JvbGxQYW5lSW1hZ2VzVG9Mb2FkJywgJGltYWdlc1RvTG9hZCk7CgkJCQkJCQkJdmFyIHMyID0gJC5leHRlbmQoc2V0dGluZ3MsIHtyZWluaXRpYWxpc2VPbkltYWdlTG9hZDpmYWxzZX0pOwoJCQkJCQkJCSR0aGlzLmpTY3JvbGxQYW5lKHMyKTsgLy8gcmUtaW5pdGlhbGlzZQoJCQkJCQkJfQoJCQkJCQl9KS5lYWNoKGZ1bmN0aW9uKGksIHZhbCkgewoJCQkJCQkJaWYodGhpcy5jb21wbGV0ZSB8fCB0aGlzLmNvbXBsZXRlPT09dW5kZWZpbmVkKSB7IAoJCQkJCQkJCS8vbmVlZGVkIGZvciBwb3RlbnRpYWwgY2FjaGVkIGltYWdlcwoJCQkJCQkJCXRoaXMuc3JjID0gdGhpcy5zcmM7IAoJCQkJCQkJfSAKCQkJCQkJfSk7CgkJCQkJfSk7CgkJCQl9OwoJCQl9CgoJCQl2YXIgcCA9IHRoaXMub3JpZ2luYWxTaWRlUGFkZGluZ1RvdGFsOwoJCQl2YXIgcmVhbFBhbmVXaWR0aCA9IHBhbmVXaWR0aCAtIHNldHRpbmdzLnNjcm9sbGJhcldpZHRoIC0gc2V0dGluZ3Muc2Nyb2xsYmFyTWFyZ2luIC0gcDsKCgkJCXZhciBjc3NUb0FwcGx5ID0gewoJCQkJJ2hlaWdodCc6J2F1dG8nLAoJCQkJJ3dpZHRoJzogcmVhbFBhbmVXaWR0aCArICdweCcKCQkJfQoKCQkJaWYoc2V0dGluZ3Muc2Nyb2xsYmFyT25MZWZ0KSB7CgkJCQljc3NUb0FwcGx5LnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3Muc2Nyb2xsYmFyTWFyZ2luICsgc2V0dGluZ3Muc2Nyb2xsYmFyV2lkdGggKyAncHgnOwoJCQl9IGVsc2UgewoJCQkJY3NzVG9BcHBseS5wYWRkaW5nUmlnaHQgPSBzZXR0aW5ncy5zY3JvbGxiYXJNYXJnaW4gKyAncHgnOwoJCQl9CgoJCQkkdGhpcy5jc3MoY3NzVG9BcHBseSk7CgoJCQl2YXIgY29udGVudEhlaWdodCA9ICR0aGlzLm91dGVySGVpZ2h0KCk7CgkJCXZhciBwZXJjZW50SW5WaWV3ID0gcGFuZUhlaWdodCAvIGNvbnRlbnRIZWlnaHQ7CgoJCQlpZiAocGVyY2VudEluVmlldyA8IC45OSkgewoJCQkJdmFyICRjb250YWluZXIgPSAkdGhpcy5wYXJlbnQoKTsKCQkJCSRjb250YWluZXIuYXBwZW5kKAoJCQkJCSQoJzxkaXY+PC9kaXY+JykuYXR0cih7J2NsYXNzTmFtZSc6J2pTY3JvbGxQYW5lVHJhY2snfSkuY3NzKHsnd2lkdGgnOnNldHRpbmdzLnNjcm9sbGJhcldpZHRoKydweCd9KS5hcHBlbmQoCgkJCQkJCSQoJzxkaXY+PC9kaXY+JykuYXR0cih7J2NsYXNzTmFtZSc6J2pTY3JvbGxQYW5lRHJhZyd9KS5jc3Moeyd3aWR0aCc6c2V0dGluZ3Muc2Nyb2xsYmFyV2lkdGgrJ3B4J30pLmFwcGVuZCgKCQkJCQkJCSQoJzxkaXY+PC9kaXY+JykuYXR0cih7J2NsYXNzTmFtZSc6J2pTY3JvbGxQYW5lRHJhZ1RvcCd9KS5jc3Moeyd3aWR0aCc6c2V0dGluZ3Muc2Nyb2xsYmFyV2lkdGgrJ3B4J30pLAoJCQkJCQkJJCgnPGRpdj48L2Rpdj4nKS5hdHRyKHsnY2xhc3NOYW1lJzonalNjcm9sbFBhbmVEcmFnQm90dG9tJ30pLmNzcyh7J3dpZHRoJzpzZXR0aW5ncy5zY3JvbGxiYXJXaWR0aCsncHgnfSkKCQkJCQkJKQoJCQkJCSkKCQkJCSk7CgkJCQkKCQkJCXZhciAkdHJhY2sgPSAkKCc+LmpTY3JvbGxQYW5lVHJhY2snLCAkY29udGFpbmVyKTsKCQkJCXZhciAkZHJhZyA9ICQoJz4ualNjcm9sbFBhbmVUcmFjayAualNjcm9sbFBhbmVEcmFnJywgJGNvbnRhaW5lcik7CgkJCQkKCQkJCQoJCQkJdmFyIGN1cnJlbnRBcnJvd0RpcmVjdGlvbjsKCQkJCXZhciBjdXJyZW50QXJyb3dUaW1lckFyciA9IFtdOy8vIEFycmF5IGlzIHVzZWQgdG8gc3RvcmUgdGltZXJzIHNpbmNlIHRoZXkgY2FuIHN0YWNrIHVwIHdoZW4gZGVhbGluZyB3aXRoIGtleWJvYXJkIGV2ZW50cy4gVGhpcyBlbnN1cmVzIGFsbCB0aW1lcnMgYXJlIGNsZWFuZWQgdXAgaW4gdGhlIGVuZCwgcHJldmVudGluZyBhbiBhY2NlbGVyYXRpb24gYnVnLgoJCQkJdmFyIGN1cnJlbnRBcnJvd0luYzsKCQkJCXZhciB3aGlsZUFycm93QnV0dG9uRG93biA9IGZ1bmN0aW9uKCkgCgkJCQl7CgkJCQkJaWYgKGN1cnJlbnRBcnJvd0luYyA+IDQgfHwgY3VycmVudEFycm93SW5jICUgNCA9PSAwKSB7CgkJCQkJCXBvc2l0aW9uRHJhZyhkcmFnUG9zaXRpb24gKyBjdXJyZW50QXJyb3dEaXJlY3Rpb24gKiBtb3VzZVdoZWVsTXVsdGlwbGllcik7CgkJCQkJfQoJCQkJCWN1cnJlbnRBcnJvd0luYysrOwoJCQkJfTsKCgkJCQlpZiAoc2V0dGluZ3MuZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uKSB7CgkJCQkJJGNvbnRhaW5lci5iaW5kKAoJCQkJCQkna2V5ZG93bi5qc2Nyb2xscGFuZScsCgkJCQkJCWZ1bmN0aW9uKGUpIAoJCQkJCQl7CgkJCQkJCQlzd2l0Y2ggKGUua2V5Q29kZSkgewoJCQkJCQkJCWNhc2UgMzg6IC8vdXAKCQkJCQkJCQkJY3VycmVudEFycm93RGlyZWN0aW9uID0gLTE7CgkJCQkJCQkJCWN1cnJlbnRBcnJvd0luYyA9IDA7CgkJCQkJCQkJCXdoaWxlQXJyb3dCdXR0b25Eb3duKCk7CgkJCQkJCQkJCWN1cnJlbnRBcnJvd1RpbWVyQXJyW2N1cnJlbnRBcnJvd1RpbWVyQXJyLmxlbmd0aF0gPSBzZXRJbnRlcnZhbCh3aGlsZUFycm93QnV0dG9uRG93biwgMTAwKTsKCQkJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQkJCWNhc2UgNDA6IC8vZG93bgoJCQkJCQkJCQljdXJyZW50QXJyb3dEaXJlY3Rpb24gPSAxOwoJCQkJCQkJCQljdXJyZW50QXJyb3dJbmMgPSAwOwoJCQkJCQkJCQl3aGlsZUFycm93QnV0dG9uRG93bigpOwoJCQkJCQkJCQljdXJyZW50QXJyb3dUaW1lckFycltjdXJyZW50QXJyb3dUaW1lckFyci5sZW5ndGhdID0gc2V0SW50ZXJ2YWwod2hpbGVBcnJvd0J1dHRvbkRvd24sIDEwMCk7CgkJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCQljYXNlIDMzOiAvLyBwYWdlIHVwCgkJCQkJCQkJY2FzZSAzNDogLy8gcGFnZSBkb3duCgkJCQkJCQkJCS8vIFRPRE8KCQkJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQkJCWRlZmF1bHQ6CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkpLmJpbmQoCgkJCQkJCSdrZXl1cC5qc2Nyb2xscGFuZScsCgkJCQkJCWZ1bmN0aW9uKGUpIAoJCQkJCQl7CgkJCQkJCQlpZiAoZS5rZXlDb2RlID09IDM4IHx8IGUua2V5Q29kZSA9PSA0MCkgewoJCQkJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgY3VycmVudEFycm93VGltZXJBcnIubGVuZ3RoOyBpKyspIHsKCQkJCQkJCQkJY2xlYXJJbnRlcnZhbChjdXJyZW50QXJyb3dUaW1lckFycltpXSk7CgkJCQkJCQkJfQoJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCSk7CgkJCQl9CgoJCQkJaWYgKHNldHRpbmdzLnNob3dBcnJvd3MpIHsKCQkJCQkKCQkJCQl2YXIgY3VycmVudEFycm93QnV0dG9uOwoJCQkJCXZhciBjdXJyZW50QXJyb3dJbnRlcnZhbDsKCgkJCQkJdmFyIG9uQXJyb3dNb3VzZVVwID0gZnVuY3Rpb24oZXZlbnQpCgkJCQkJewoJCQkJCQkkKCdodG1sJykudW5iaW5kKCdtb3VzZXVwJywgb25BcnJvd01vdXNlVXApOwoJCQkJCQljdXJyZW50QXJyb3dCdXR0b24ucmVtb3ZlQ2xhc3MoJ2pTY3JvbGxBY3RpdmVBcnJvd0J1dHRvbicpOwoJCQkJCQljbGVhckludGVydmFsKGN1cnJlbnRBcnJvd0ludGVydmFsKTsKCQkJCQl9OwoJCQkJCXZhciBvbkFycm93TW91c2VEb3duID0gZnVuY3Rpb24oKSB7CgkJCQkJCSQoJ2h0bWwnKS5iaW5kKCdtb3VzZXVwJywgb25BcnJvd01vdXNlVXApOwoJCQkJCQljdXJyZW50QXJyb3dCdXR0b24uYWRkQ2xhc3MoJ2pTY3JvbGxBY3RpdmVBcnJvd0J1dHRvbicpOwoJCQkJCQljdXJyZW50QXJyb3dJbmMgPSAwOwoJCQkJCQl3aGlsZUFycm93QnV0dG9uRG93bigpOwoJCQkJCQljdXJyZW50QXJyb3dJbnRlcnZhbCA9IHNldEludGVydmFsKHdoaWxlQXJyb3dCdXR0b25Eb3duLCAxMDApOwoJCQkJCX07CgkJCQkJJGNvbnRhaW5lcgoJCQkJCQkuYXBwZW5kKAoJCQkJCQkJJCgnPGE+PC9hPicpCgkJCQkJCQkJLmF0dHIoeydocmVmJzonamF2YXNjcmlwdDo7JywgJ2NsYXNzTmFtZSc6J2pTY3JvbGxBcnJvd1VwJywgJ3RhYmluZGV4JzotMX0pCgkJCQkJCQkJLmNzcyh7J3dpZHRoJzpzZXR0aW5ncy5zY3JvbGxiYXJXaWR0aCsncHgnfSkKCQkJCQkJCQkuaHRtbCgnU2Nyb2xsIHVwJykKCQkJCQkJCQkuYmluZCgnbW91c2Vkb3duJywgZnVuY3Rpb24oKQoJCQkJCQkJCXsKCQkJCQkJCQkJY3VycmVudEFycm93QnV0dG9uID0gJCh0aGlzKTsKCQkJCQkJCQkJY3VycmVudEFycm93RGlyZWN0aW9uID0gLTE7CgkJCQkJCQkJCW9uQXJyb3dNb3VzZURvd24oKTsKCQkJCQkJCQkJdGhpcy5ibHVyKCk7CgkJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCQl9KQoJCQkJCQkJCS5iaW5kKCdjbGljaycsIHJmKSwKCQkJCQkJCSQoJzxhPjwvYT4nKQoJCQkJCQkJCS5hdHRyKHsnaHJlZic6J2phdmFzY3JpcHQ6OycsICdjbGFzc05hbWUnOidqU2Nyb2xsQXJyb3dEb3duJywgJ3RhYmluZGV4JzotMX0pCgkJCQkJCQkJLmNzcyh7J3dpZHRoJzpzZXR0aW5ncy5zY3JvbGxiYXJXaWR0aCsncHgnfSkKCQkJCQkJCQkuaHRtbCgnU2Nyb2xsIGRvd24nKQoJCQkJCQkJCS5iaW5kKCdtb3VzZWRvd24nLCBmdW5jdGlvbigpCgkJCQkJCQkJewoJCQkJCQkJCQljdXJyZW50QXJyb3dCdXR0b24gPSAkKHRoaXMpOwoJCQkJCQkJCQljdXJyZW50QXJyb3dEaXJlY3Rpb24gPSAxOwoJCQkJCQkJCQlvbkFycm93TW91c2VEb3duKCk7CgkJCQkJCQkJCXRoaXMuYmx1cigpOwoJCQkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCQkJfSkKCQkJCQkJCQkuYmluZCgnY2xpY2snLCByZikKCQkJCQkJKTsKCQkJCQl2YXIgJHVwQXJyb3cgPSAkKCc+LmpTY3JvbGxBcnJvd1VwJywgJGNvbnRhaW5lcik7CgkJCQkJdmFyICRkb3duQXJyb3cgPSAkKCc+LmpTY3JvbGxBcnJvd0Rvd24nLCAkY29udGFpbmVyKTsKCQkJCQlpZiAoc2V0dGluZ3MuYXJyb3dTaXplKSB7CgkJCQkJCXRyYWNrSGVpZ2h0ID0gcGFuZUhlaWdodCAtIHNldHRpbmdzLmFycm93U2l6ZSAtIHNldHRpbmdzLmFycm93U2l6ZTsKCQkJCQkJJHRyYWNrCgkJCQkJCQkuY3NzKHsnaGVpZ2h0JzogdHJhY2tIZWlnaHQrJ3B4JywgdG9wOnNldHRpbmdzLmFycm93U2l6ZSsncHgnfSkKCQkJCQl9IGVsc2UgewoJCQkJCQl2YXIgdG9wQXJyb3dIZWlnaHQgPSAkdXBBcnJvdy5oZWlnaHQoKTsKCQkJCQkJc2V0dGluZ3MuYXJyb3dTaXplID0gdG9wQXJyb3dIZWlnaHQ7CgkJCQkJCXRyYWNrSGVpZ2h0ID0gcGFuZUhlaWdodCAtIHRvcEFycm93SGVpZ2h0IC0gJGRvd25BcnJvdy5oZWlnaHQoKTsKCQkJCQkJJHRyYWNrCgkJCQkJCQkuY3NzKHsnaGVpZ2h0JzogdHJhY2tIZWlnaHQrJ3B4JywgdG9wOnRvcEFycm93SGVpZ2h0KydweCd9KQoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJdmFyICRwYW5lID0gJCh0aGlzKS5jc3Moeydwb3NpdGlvbic6J2Fic29sdXRlJywgJ292ZXJmbG93JzondmlzaWJsZSd9KTsKCQkJCQoJCQkJdmFyIGN1cnJlbnRPZmZzZXQ7CgkJCQl2YXIgbWF4WTsKCQkJCXZhciBtb3VzZVdoZWVsTXVsdGlwbGllcjsKCQkJCS8vIHN0b3JlIHRoaXMgaW4gYSBzZXBlcmF0ZSB2YXJpYWJsZSBzbyB3ZSBjYW4ga2VlcCB0cmFjayBtb3JlIGFjY3VyYXRlbHkgdGhhbiBqdXN0IHVwZGF0aW5nIHRoZSBjc3MgcHJvcGVydHkuLgoJCQkJdmFyIGRyYWdQb3NpdGlvbiA9IDA7CgkJCQl2YXIgZHJhZ01pZGRsZSA9IHBlcmNlbnRJblZpZXcqcGFuZUhlaWdodC8yOwoJCQkJCgkJCQkvLyBwb3MgZnVuY3Rpb24gYm9ycm93ZWQgZnJvbSB0b29sdGlwIHBsdWdpbiBhbmQgYWRhcHRlZC4uLgoJCQkJdmFyIGdldFBvcyA9IGZ1bmN0aW9uIChldmVudCwgYykgewoJCQkJCXZhciBwID0gYyA9PSAnWCcgPyAnTGVmdCcgOiAnVG9wJzsKCQkJCQlyZXR1cm4gZXZlbnRbJ3BhZ2UnICsgY10gfHwgKGV2ZW50WydjbGllbnQnICsgY10gKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WydzY3JvbGwnICsgcF0gfHwgZG9jdW1lbnQuYm9keVsnc2Nyb2xsJyArIHBdKSkgfHwgMDsKCQkJCX07CgkJCQkKCQkJCXZhciBpZ25vcmVOYXRpdmVEcmFnID0gZnVuY3Rpb24oKSB7CXJldHVybiBmYWxzZTsgfTsKCQkJCQoJCQkJdmFyIGluaXREcmFnID0gZnVuY3Rpb24oKQoJCQkJewoJCQkJCWNlYXNlQW5pbWF0aW9uKCk7CgkJCQkJY3VycmVudE9mZnNldCA9ICRkcmFnLm9mZnNldChmYWxzZSk7CgkJCQkJY3VycmVudE9mZnNldC50b3AgLT0gZHJhZ1Bvc2l0aW9uOwoJCQkJCW1heFkgPSB0cmFja0hlaWdodCAtICRkcmFnWzBdLm9mZnNldEhlaWdodDsKCQkJCQltb3VzZVdoZWVsTXVsdGlwbGllciA9IDIgKiBzZXR0aW5ncy53aGVlbFNwZWVkICogbWF4WSAvIGNvbnRlbnRIZWlnaHQ7CgkJCQl9OwoJCQkJCgkJCQl2YXIgb25TdGFydERyYWcgPSBmdW5jdGlvbihldmVudCkKCQkJCXsKCQkJCQlpbml0RHJhZygpOwoJCQkJCWRyYWdNaWRkbGUgPSBnZXRQb3MoZXZlbnQsICdZJykgLSBkcmFnUG9zaXRpb24gLSBjdXJyZW50T2Zmc2V0LnRvcDsKCQkJCQkkKCdodG1sJykuYmluZCgnbW91c2V1cCcsIG9uU3RvcERyYWcpLmJpbmQoJ21vdXNlbW92ZScsIHVwZGF0ZVNjcm9sbCk7CgkJCQkJaWYgKCQuYnJvd3Nlci5tc2llKSB7CgkJCQkJCSQoJ2h0bWwnKS5iaW5kKCdkcmFnc3RhcnQnLCBpZ25vcmVOYXRpdmVEcmFnKS5iaW5kKCdzZWxlY3RzdGFydCcsIGlnbm9yZU5hdGl2ZURyYWcpOwoJCQkJCX0KCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9OwoJCQkJdmFyIG9uU3RvcERyYWcgPSBmdW5jdGlvbigpCgkJCQl7CgkJCQkJJCgnaHRtbCcpLnVuYmluZCgnbW91c2V1cCcsIG9uU3RvcERyYWcpLnVuYmluZCgnbW91c2Vtb3ZlJywgdXBkYXRlU2Nyb2xsKTsKCQkJCQlkcmFnTWlkZGxlID0gcGVyY2VudEluVmlldypwYW5lSGVpZ2h0LzI7CgkJCQkJaWYgKCQuYnJvd3Nlci5tc2llKSB7CgkJCQkJCSQoJ2h0bWwnKS51bmJpbmQoJ2RyYWdzdGFydCcsIGlnbm9yZU5hdGl2ZURyYWcpLnVuYmluZCgnc2VsZWN0c3RhcnQnLCBpZ25vcmVOYXRpdmVEcmFnKTsKCQkJCQl9CgkJCQl9OwoJCQkJdmFyIHBvc2l0aW9uRHJhZyA9IGZ1bmN0aW9uKGRlc3RZKQoJCQkJewoJCQkJCWRlc3RZID0gZGVzdFkgPCAwID8gMCA6IChkZXN0WSA+IG1heFkgPyBtYXhZIDogZGVzdFkpOwoJCQkJCWRyYWdQb3NpdGlvbiA9IGRlc3RZOwoJCQkJCSRkcmFnLmNzcyh7J3RvcCc6ZGVzdFkrJ3B4J30pOwoJCQkJCXZhciBwID0gZGVzdFkgLyBtYXhZOwoJCQkJCSR0aGlzLmRhdGEoJ2pTY3JvbGxQYW5lUG9zaXRpb24nLCAocGFuZUhlaWdodC1jb250ZW50SGVpZ2h0KSotcCk7CgkJCQkJJHBhbmUuY3NzKHsndG9wJzooKHBhbmVIZWlnaHQtY29udGVudEhlaWdodCkqcCkgKyAncHgnfSk7CgkJCQkJJHRoaXMudHJpZ2dlcignc2Nyb2xsJyk7CgkJCQkJaWYgKHNldHRpbmdzLnNob3dBcnJvd3MpIHsKCQkJCQkJJHVwQXJyb3dbZGVzdFkgPT0gMCA/ICdhZGRDbGFzcycgOiAncmVtb3ZlQ2xhc3MnXSgnZGlzYWJsZWQnKTsKCQkJCQkJJGRvd25BcnJvd1tkZXN0WSA9PSBtYXhZID8gJ2FkZENsYXNzJyA6ICdyZW1vdmVDbGFzcyddKCdkaXNhYmxlZCcpOwoJCQkJCX0KCQkJCX07CgkJCQl2YXIgdXBkYXRlU2Nyb2xsID0gZnVuY3Rpb24oZSkKCQkJCXsKCQkJCQlwb3NpdGlvbkRyYWcoZ2V0UG9zKGUsICdZJykgLSBjdXJyZW50T2Zmc2V0LnRvcCAtIGRyYWdNaWRkbGUpOwoJCQkJfTsKCQkJCQoJCQkJdmFyIGRyYWdIID0gTWF0aC5tYXgoTWF0aC5taW4ocGVyY2VudEluVmlldyoocGFuZUhlaWdodC1zZXR0aW5ncy5hcnJvd1NpemUqMiksIHNldHRpbmdzLmRyYWdNYXhIZWlnaHQpLCBzZXR0aW5ncy5kcmFnTWluSGVpZ2h0KTsKCQkJCQoJCQkJJGRyYWcuY3NzKAoJCQkJCXsnaGVpZ2h0JzpkcmFnSCsncHgnfQoJCQkJKS5iaW5kKCdtb3VzZWRvd24nLCBvblN0YXJ0RHJhZyk7CgkJCQkKCQkJCXZhciB0cmFja1Njcm9sbEludGVydmFsOwoJCQkJdmFyIHRyYWNrU2Nyb2xsSW5jOwoJCQkJdmFyIHRyYWNrU2Nyb2xsTW91c2VQb3M7CgkJCQl2YXIgZG9UcmFja1Njcm9sbCA9IGZ1bmN0aW9uKCkKCQkJCXsKCQkJCQlpZiAodHJhY2tTY3JvbGxJbmMgPiA4IHx8IHRyYWNrU2Nyb2xsSW5jJTQ9PTApIHsKCQkJCQkJcG9zaXRpb25EcmFnKChkcmFnUG9zaXRpb24gLSAoKGRyYWdQb3NpdGlvbiAtIHRyYWNrU2Nyb2xsTW91c2VQb3MpIC8gMikpKTsKCQkJCQl9CgkJCQkJdHJhY2tTY3JvbGxJbmMgKys7CgkJCQl9OwoJCQkJdmFyIG9uU3RvcFRyYWNrQ2xpY2sgPSBmdW5jdGlvbigpCgkJCQl7CgkJCQkJY2xlYXJJbnRlcnZhbCh0cmFja1Njcm9sbEludGVydmFsKTsKCQkJCQkkKCdodG1sJykudW5iaW5kKCdtb3VzZXVwJywgb25TdG9wVHJhY2tDbGljaykudW5iaW5kKCdtb3VzZW1vdmUnLCBvblRyYWNrTW91c2VNb3ZlKTsKCQkJCX07CgkJCQl2YXIgb25UcmFja01vdXNlTW92ZSA9IGZ1bmN0aW9uKGV2ZW50KQoJCQkJewoJCQkJCXRyYWNrU2Nyb2xsTW91c2VQb3MgPSBnZXRQb3MoZXZlbnQsICdZJykgLSBjdXJyZW50T2Zmc2V0LnRvcCAtIGRyYWdNaWRkbGU7CgkJCQl9OwoJCQkJdmFyIG9uVHJhY2tDbGljayA9IGZ1bmN0aW9uKGV2ZW50KQoJCQkJewoJCQkJCWluaXREcmFnKCk7CgkJCQkJb25UcmFja01vdXNlTW92ZShldmVudCk7CgkJCQkJdHJhY2tTY3JvbGxJbmMgPSAwOwoJCQkJCSQoJ2h0bWwnKS5iaW5kKCdtb3VzZXVwJywgb25TdG9wVHJhY2tDbGljaykuYmluZCgnbW91c2Vtb3ZlJywgb25UcmFja01vdXNlTW92ZSk7CgkJCQkJdHJhY2tTY3JvbGxJbnRlcnZhbCA9IHNldEludGVydmFsKGRvVHJhY2tTY3JvbGwsIDEwMCk7CgkJCQkJZG9UcmFja1Njcm9sbCgpOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX07CgkJCQkKCQkJCSR0cmFjay5iaW5kKCdtb3VzZWRvd24nLCBvblRyYWNrQ2xpY2spOwoJCQkJCgkJCQkkY29udGFpbmVyLmJpbmQoCgkJCQkJJ21vdXNld2hlZWwnLAoJCQkJCWZ1bmN0aW9uIChldmVudCwgZGVsdGEpIHsKCQkJCQkJaW5pdERyYWcoKTsKCQkJCQkJY2Vhc2VBbmltYXRpb24oKTsKCQkJCQkJdmFyIGQgPSBkcmFnUG9zaXRpb247CgkJCQkJCXBvc2l0aW9uRHJhZyhkcmFnUG9zaXRpb24gLSBkZWx0YSAqIG1vdXNlV2hlZWxNdWx0aXBsaWVyKTsKCQkJCQkJdmFyIGRyYWdPY2N1cmVkID0gZCAhPSBkcmFnUG9zaXRpb247CgkJCQkJCXJldHVybiAhZHJhZ09jY3VyZWQ7CgkJCQkJfQoJCQkJKTsKCgkJCQl2YXIgX2FuaW1hdGVUb1Bvc2l0aW9uOwoJCQkJdmFyIF9hbmltYXRlVG9JbnRlcnZhbDsKCQkJCWZ1bmN0aW9uIGFuaW1hdGVUb1Bvc2l0aW9uKCkKCQkJCXsKCQkJCQl2YXIgZGlmZiA9IChfYW5pbWF0ZVRvUG9zaXRpb24gLSBkcmFnUG9zaXRpb24pIC8gc2V0dGluZ3MuYW5pbWF0ZVN0ZXA7CgkJCQkJaWYgKGRpZmYgPiAxIHx8IGRpZmYgPCAtMSkgewoJCQkJCQlwb3NpdGlvbkRyYWcoZHJhZ1Bvc2l0aW9uICsgZGlmZik7CgkJCQkJfSBlbHNlIHsKCQkJCQkJcG9zaXRpb25EcmFnKF9hbmltYXRlVG9Qb3NpdGlvbik7CgkJCQkJCWNlYXNlQW5pbWF0aW9uKCk7CgkJCQkJfQoJCQkJfQoJCQkJdmFyIGNlYXNlQW5pbWF0aW9uID0gZnVuY3Rpb24oKQoJCQkJewoJCQkJCWlmIChfYW5pbWF0ZVRvSW50ZXJ2YWwpIHsKCQkJCQkJY2xlYXJJbnRlcnZhbChfYW5pbWF0ZVRvSW50ZXJ2YWwpOwoJCQkJCQlkZWxldGUgX2FuaW1hdGVUb1Bvc2l0aW9uOwoJCQkJCX0KCQkJCX07CgkJCQl2YXIgc2Nyb2xsVG8gPSBmdW5jdGlvbihwb3MsIHByZXZlbnRBbmkpCgkJCQl7CgkJCQkJaWYgKHR5cGVvZiBwb3MgPT0gInN0cmluZyIpIHsKCQkJCQkJJGUgPSAkKHBvcywgJHRoaXMpOwoJCQkJCQlpZiAoISRlLmxlbmd0aCkgcmV0dXJuOwoJCQkJCQlwb3MgPSAkZS5vZmZzZXQoKS50b3AgLSAkdGhpcy5vZmZzZXQoKS50b3A7CgkJCQkJfQoJCQkJCSRjb250YWluZXIuc2Nyb2xsVG9wKDApOwoJCQkJCWNlYXNlQW5pbWF0aW9uKCk7CgkJCQkJdmFyIG1heFNjcm9sbCA9IGNvbnRlbnRIZWlnaHQgLSBwYW5lSGVpZ2h0OwoJCQkJCXBvcyA9IHBvcyA+IG1heFNjcm9sbCA/IG1heFNjcm9sbCA6IHBvczsKCQkJCQkkdGhpcy5kYXRhKCdqU2Nyb2xsUGFuZU1heFNjcm9sbCcsIG1heFNjcm9sbCk7CgkJCQkJdmFyIGRlc3REcmFnUG9zaXRpb24gPSBwb3MvbWF4U2Nyb2xsICogbWF4WTsKCQkJCQlpZiAocHJldmVudEFuaSB8fCAhc2V0dGluZ3MuYW5pbWF0ZVRvKSB7CgkJCQkJCXBvc2l0aW9uRHJhZyhkZXN0RHJhZ1Bvc2l0aW9uKTsKCQkJCQl9IGVsc2UgewoJCQkJCQlfYW5pbWF0ZVRvUG9zaXRpb24gPSBkZXN0RHJhZ1Bvc2l0aW9uOwoJCQkJCQlfYW5pbWF0ZVRvSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhbmltYXRlVG9Qb3NpdGlvbiwgc2V0dGluZ3MuYW5pbWF0ZUludGVydmFsKTsKCQkJCQl9CgkJCQl9OwoJCQkJJHRoaXNbMF0uc2Nyb2xsVG8gPSBzY3JvbGxUbzsKCQkJCQoJCQkJJHRoaXNbMF0uc2Nyb2xsQnkgPSBmdW5jdGlvbihkZWx0YSkKCQkJCXsKCQkJCQl2YXIgY3VycmVudFBvcyA9IC1wYXJzZUludCgkcGFuZS5jc3MoJ3RvcCcpKSB8fCAwOwoJCQkJCXNjcm9sbFRvKGN1cnJlbnRQb3MgKyBkZWx0YSk7CgkJCQl9OwoJCQkJCgkJCQlpbml0RHJhZygpOwoJCQkJCgkJCQlzY3JvbGxUbygtY3VycmVudFNjcm9sbFBvc2l0aW9uLCB0cnVlKTsKCQkJCgkJCQkvLyBEZWFsIHdpdGggaXQgd2hlbiB0aGUgdXNlciB0YWJzIHRvIGEgbGluayBvciBmb3JtIGVsZW1lbnQgd2l0aGluIHRoaXMgc2Nyb2xscGFuZQoJCQkJJCgnKicsIHRoaXMpLmJpbmQoCgkJCQkJJ2ZvY3VzJywKCQkJCQlmdW5jdGlvbihldmVudCkKCQkJCQl7CgkJCQkJCXZhciAkZSA9ICQodGhpcyk7CgkJCQkJCQoJCQkJCQkvLyBsb29wIHRocm91Z2ggcGFyZW50cyBhZGRpbmcgdGhlIG9mZnNldCB0b3Agb2YgYW55IGVsZW1lbnRzIHRoYXQgYXJlIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBiZXR3ZWVuCgkJCQkJCS8vIHRoZSBmb2N1c2VkIGVsZW1lbnQgYW5kIHRoZSBqU2Nyb2xsUGFuZUNvbnRhaW5lciBzbyB3ZSBjYW4gZ2V0IHRoZSB0cnVlIGRpc3RhbmNlIGZyb20gdGhlIHRvcAoJCQkJCQkvLyBvZiB0aGUgZm9jdXNlZCBlbGVtZW50IHRvIHRoZSB0b3Agb2YgdGhlIHNjcm9sbHBhbmUuLi4KCQkJCQkJdmFyIGVsZVRvcCA9IDA7CgkJCQkJCQoJCQkJCQl3aGlsZSAoJGVbMF0gIT0gJHRoaXNbMF0pIHsKCQkJCQkJCWVsZVRvcCArPSAkZS5wb3NpdGlvbigpLnRvcDsKCQkJCQkJCSRlID0gJGUub2Zmc2V0UGFyZW50KCk7CgkJCQkJCX0KCQkJCQkJCgkJCQkJCXZhciB2aWV3cG9ydFRvcCA9IC1wYXJzZUludCgkcGFuZS5jc3MoJ3RvcCcpKSB8fCAwOwoJCQkJCQl2YXIgbWF4VmlzaWJsZUVsZVRvcCA9IHZpZXdwb3J0VG9wICsgcGFuZUhlaWdodDsKCQkJCQkJdmFyIGVsZUluVmlldyA9IGVsZVRvcCA+IHZpZXdwb3J0VG9wICYmIGVsZVRvcCA8IG1heFZpc2libGVFbGVUb3A7CgkJCQkJCWlmICghZWxlSW5WaWV3KSB7CgkJCQkJCQl2YXIgZGVzdFBvcyA9IGVsZVRvcCAtIHNldHRpbmdzLnNjcm9sbGJhck1hcmdpbjsKCQkJCQkJCWlmIChlbGVUb3AgPiB2aWV3cG9ydFRvcCkgeyAvLyBlbGVtZW50IGlzIGJlbG93IHZpZXdwb3J0IC0gc2Nyb2xsIHNvIGl0IGlzIGF0IGJvdHRvbS4KCQkJCQkJCQlkZXN0UG9zICs9ICQodGhpcykuaGVpZ2h0KCkgKyAxNSArIHNldHRpbmdzLnNjcm9sbGJhck1hcmdpbiAtIHBhbmVIZWlnaHQ7CgkJCQkJCQl9CgkJCQkJCQlzY3JvbGxUbyhkZXN0UG9zKTsKCQkJCQkJfQoJCQkJCX0KCQkJCSkKCQkJCQoJCQkJCgkJCQlpZiAobG9jYXRpb24uaGFzaCkgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2Nyb2xsVG8obG9jYXRpb24uaGFzaCk7fSwgJC5icm93c2VyLnNhZmFyaSA/IDEwMCA6IDApOwoJCQkJfQoJCQkJCgkJCQkvLyB1c2UgZXZlbnQgZGVsZWdhdGlvbiB0byBsaXN0ZW4gZm9yIGFsbCBjbGlja3Mgb24gbGlua3MgYW5kIGhpamFjayB0aGVtIGlmIHRoZXkgYXJlIGxpbmtzIHRvCgkJCQkvLyBhbmNob3JzIHdpdGhpbiBvdXIgY29udGVudC4uLgoJCQkJJChkb2N1bWVudCkuYmluZCgKCQkJCQknY2xpY2snLAoJCQkJCWZ1bmN0aW9uKGUpCgkJCQkJewoJCQkJCQkkdGFyZ2V0ID0gJChlLnRhcmdldCk7CgkJCQkJCWlmICgkdGFyZ2V0LmlzKCdhJykpIHsKCQkJCQkJCXZhciBoID0gJHRhcmdldC5hdHRyKCdocmVmJyk7CgkJCQkJCQlpZiAoaCAmJiBoLnN1YnN0cigwLCAxKSA9PSAnIycpIHsKCQkJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3Njcm9sbFRvKGgsICFzZXR0aW5ncy5hbmltYXRlVG9JbnRlcm5hbExpbmtzKTt9LCAkLmJyb3dzZXIuc2FmYXJpID8gMTAwIDogMCk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQkpOyAKCQkJCQoJCQkJLy8gRGVhbCB3aXRoIGRyYWdnaW5nIGFuZCBzZWxlY3RpbmcgdGV4dCB0byBtYWtlIHRoZSBzY3JvbGxwYW5lIHNjcm9sbC4uLgoJCQkJZnVuY3Rpb24gb25TZWxlY3RTY3JvbGxNb3VzZURvd24oZSkKCQkJCXsKCQkJCSAgICQoZG9jdW1lbnQpLmJpbmQoJ21vdXNlbW92ZS5qU2Nyb2xsUGFuZURyYWdnaW5nJywgb25UZXh0U2VsZWN0aW9uU2Nyb2xsTW91c2VNb3ZlKTsKCQkJCSAgICQoZG9jdW1lbnQpLmJpbmQoJ21vdXNldXAualNjcm9sbFBhbmVEcmFnZ2luZycsICAgb25TZWxlY3RTY3JvbGxNb3VzZVVwKTsKCQkJCSAgCgkJCQl9CgkJCQkKCQkJCXZhciB0ZXh0RHJhZ0Rpc3RhbmNlQXdheTsKCQkJCXZhciB0ZXh0U2VsZWN0aW9uSW50ZXJ2YWw7CgkJCQkKCQkJCWZ1bmN0aW9uIG9uVGV4dFNlbGVjdGlvbkludGVydmFsKCkKCQkJCXsKCQkJCQlkaXJlY3Rpb24gPSB0ZXh0RHJhZ0Rpc3RhbmNlQXdheSA8IDAgPyAtMSA6IDE7CgkJCQkJJHRoaXNbMF0uc2Nyb2xsQnkodGV4dERyYWdEaXN0YW5jZUF3YXkgLyAyKTsKCQkJCX0KCgkJCQlmdW5jdGlvbiBjbGVhclRleHRTZWxlY3Rpb25JbnRlcnZhbCgpCgkJCQl7CgkJCQkJaWYgKHRleHRTZWxlY3Rpb25JbnRlcnZhbCkgewoJCQkJCQljbGVhckludGVydmFsKHRleHRTZWxlY3Rpb25JbnRlcnZhbCk7CgkJCQkJCXRleHRTZWxlY3Rpb25JbnRlcnZhbCA9IHVuZGVmaW5lZDsKCQkJCQl9CgkJCQl9CgkJCQkKCQkJCWZ1bmN0aW9uIG9uVGV4dFNlbGVjdGlvblNjcm9sbE1vdXNlTW92ZShlKQoJCQkJewoJCQkJCXZhciBvZmZzZXQgPSAkdGhpcy5wYXJlbnQoKS5vZmZzZXQoKS50b3A7CgkJCQkJdmFyIG1heE9mZnNldCA9IG9mZnNldCArIHBhbmVIZWlnaHQ7CgkJCQkJdmFyIG1vdXNlT2Zmc2V0ID0gZ2V0UG9zKGUsICdZJyk7CgkJCQkJdGV4dERyYWdEaXN0YW5jZUF3YXkgPSBtb3VzZU9mZnNldCA8IG9mZnNldCA/IG1vdXNlT2Zmc2V0IC0gb2Zmc2V0IDogKG1vdXNlT2Zmc2V0ID4gbWF4T2Zmc2V0ID8gbW91c2VPZmZzZXQgLSBtYXhPZmZzZXQgOiAwKTsKCQkJCQlpZiAodGV4dERyYWdEaXN0YW5jZUF3YXkgPT0gMCkgewoJCQkJCQljbGVhclRleHRTZWxlY3Rpb25JbnRlcnZhbCgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmICghdGV4dFNlbGVjdGlvbkludGVydmFsKSB7CgkJCQkJCQl0ZXh0U2VsZWN0aW9uSW50ZXJ2YWwgID0gc2V0SW50ZXJ2YWwob25UZXh0U2VsZWN0aW9uSW50ZXJ2YWwsIDEwMCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgoJCQkJZnVuY3Rpb24gb25TZWxlY3RTY3JvbGxNb3VzZVVwKGUpCgkJCQl7CgkJCQkgICAkKGRvY3VtZW50KQoJCQkJCSAgLnVuYmluZCgnbW91c2Vtb3ZlLmpTY3JvbGxQYW5lRHJhZ2dpbmcnKQoJCQkJCSAgLnVuYmluZCgnbW91c2V1cC5qU2Nyb2xsUGFuZURyYWdnaW5nJyk7CgkJCQkgICBjbGVhclRleHRTZWxlY3Rpb25JbnRlcnZhbCgpOwoJCQkJfQoKCQkJCSRjb250YWluZXIuYmluZCgnbW91c2Vkb3duLmpTY3JvbGxQYW5lJywgb25TZWxlY3RTY3JvbGxNb3VzZURvd24pOwoKCQkJCQoJCQkJJC5qU2Nyb2xsUGFuZS5hY3RpdmUucHVzaCgkdGhpc1swXSk7CgkJCQkKCQkJfSBlbHNlIHsKCQkJCSR0aGlzLmNzcygKCQkJCQl7CgkJCQkJCSdoZWlnaHQnOnBhbmVIZWlnaHQrJ3B4JywKCQkJCQkJJ3dpZHRoJzpwYW5lV2lkdGgtdGhpcy5vcmlnaW5hbFNpZGVQYWRkaW5nVG90YWwrJ3B4JywKCQkJCQkJJ3BhZGRpbmcnOnRoaXMub3JpZ2luYWxQYWRkaW5nCgkJCQkJfQoJCQkJKTsKCQkJCS8vIGNsZWFuIHVwIGxpc3RlbmVycwoJCQkJJHRoaXMucGFyZW50KCkudW5iaW5kKCdtb3VzZXdoZWVsJykudW5iaW5kKCdtb3VzZWRvd24ualNjcm9sbFBhbmUnKS51bmJpbmQoJ2tleWRvd24uanNjcm9sbHBhbmUnKS51bmJpbmQoJ2tleXVwLmpzY3JvbGxwYW5lJyk7CgkJCX0KCQkJCgkJfQoJKQp9OwoKJC5mbi5qU2Nyb2xsUGFuZVJlbW92ZSA9IGZ1bmN0aW9uKCkKewoJJCh0aGlzKS5lYWNoKGZ1bmN0aW9uKCkKCXsKCQkkdGhpcyA9ICQodGhpcyk7CgkJdmFyICRjID0gJHRoaXMucGFyZW50KCk7CgkJaWYgKCRjLmlzKCcualNjcm9sbFBhbmVDb250YWluZXInKSkgewoJCQkkdGhpcy5jc3MoCgkJCQl7CgkJCQkJJ3RvcCc6JycsCgkJCQkJJ2hlaWdodCc6JycsCgkJCQkJJ3dpZHRoJzonJywKCQkJCQkncGFkZGluZyc6JycsCgkJCQkJJ292ZXJmbG93JzonJywKCQkJCQkncG9zaXRpb24nOicnCgkJCQl9CgkJCSk7CgkJCSRjLmFmdGVyKCR0aGlzKS5yZW1vdmUoKTsKCQl9Cgl9KTsKfQoKJC5mbi5qU2Nyb2xsUGFuZS5kZWZhdWx0cyA9IHsKCXNjcm9sbGJhcldpZHRoIDogMTAsCglzY3JvbGxiYXJNYXJnaW4gOiA1LAoJd2hlZWxTcGVlZCA6IDE4LAoJc2hvd0Fycm93cyA6IGZhbHNlLAoJYXJyb3dTaXplIDogMCwKCWFuaW1hdGVUbyA6IGZhbHNlLAoJZHJhZ01pbkhlaWdodCA6IDEsCglkcmFnTWF4SGVpZ2h0IDogOTk5OTksCglhbmltYXRlSW50ZXJ2YWwgOiAxMDAsCglhbmltYXRlU3RlcDogMywKCW1haW50YWluUG9zaXRpb246IHRydWUsCglzY3JvbGxiYXJPbkxlZnQ6IGZhbHNlLAoJcmVpbml0aWFsaXNlT25JbWFnZUxvYWQ6IGZhbHNlLAoJdGFiSW5kZXggOiAwLAoJZW5hYmxlS2V5Ym9hcmROYXZpZ2F0aW9uOiB0cnVlLAoJYW5pbWF0ZVRvSW50ZXJuYWxMaW5rczogZmFsc2UKfTsKCi8vIGNsZWFuIHVwIHRoZSBzY3JvbGxUbyBleHBhbmRvcwokKHdpbmRvdykKCS5iaW5kKCd1bmxvYWQnLCBmdW5jdGlvbigpIHsKCQl2YXIgZWxzID0gJC5qU2Nyb2xsUGFuZS5hY3RpdmU7IAoJCWZvciAodmFyIGk9MDsgaTxlbHMubGVuZ3RoOyBpKyspIHsKCQkJZWxzW2ldLnNjcm9sbFRvID0gZWxzW2ldLnNjcm9sbEJ5ID0gbnVsbDsKCQl9Cgl9Cik7Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/css/jquery.tabs-ie.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKVGFicyAtIGFkZGl0aW9uYWwgSUUgc3BlY2lmaWMgYnVnIGZpeGVzCgpSZWNvbW1lbmRlZCB1c2FnZSAoQ29uZGl0aW9uYWwgQ29tbWVudHMpOgo8IS0tW2lmIGx0ZSBJRSA3XT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ0YWJzX2llLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJwcm9qZWN0aW9uLCBzY3JlZW4iIC8+CjwhW2VuZGlmXS0tPgoKKi8KLnRhYnMtbmF2IHsgLyogYXV0byBjbGVhciAqLwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci50YWJzLW5hdiAudGFicy1kaXNhYmxlZCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZpeGVzIG9wYWNpdHkgKi8KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT00MCk7Cn0KLnRhYnMtbmF2IC50YWJzLWRpc2FibGVkIGEgc3BhbiB7CiAgICBfaGVpZ2h0OiAxOXB4OyAvKiBmb3Igc29tZSByZWFzb24gdGhlIGhlaWdodCBpcyAxcHggdG8gbGVzcyB3aXRoIG9wYWNpdHkuLi4gKi8KICAgIG1pbi1oZWlnaHQ6IDE5cHg7IC8qIC4uLmluIGJvdGggSUUgNiBhbmQgNyAqLwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/css/jquery.tabs.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2F1dGlvbiEgRW5zdXJlIGFjY2Vzc2liaWxpdHkgaW4gcHJpbnQgYW5kIG90aGVyIG1lZGlhIHR5cGVzLi4uICovCkBtZWRpYSBwcm9qZWN0aW9uLCBzY3JlZW4geyAvKiBVc2UgY2xhc3MgZm9yIHNob3dpbmcvaGlkaW5nIHRhYiBjb250ZW50LCBzbyB0aGF0IHZpc2liaWxpdHkgY2FuIGJlIGJldHRlciBjb250cm9sbGVkIGluIGRpZmZlcmVudCBtZWRpYSB0eXBlcy4uLiAqLwogICAgLnRhYnMtaGlkZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KfQoKLyogSGlkZSB1c2VsZXNzIGVsZW1lbnRzIGluIHByaW50IGxheW91dHMuLi4gKi8KQG1lZGlhIHByaW50IHsKICAgIC50YWJzLW5hdiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KfQoKLyogU2tpbiAqLwoudGFicy1uYXYgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDAgMCAwIDRweDsKfQoudGFicy1uYXY6YWZ0ZXIgeyAvKiBjbGVhcmluZyB3aXRob3V0IHByZXNlbnRhdGlvbmFsIG1hcmt1cCwgSUUgZ2V0cyBleHRyYSB0cmVhdG1lbnQgKi8KICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY2xlYXI6IGJvdGg7CiAgICBjb250ZW50OiAiICI7Cn0KLnRhYnMtbmF2IGxpIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luOiAwIDAgMCAxcHg7CiAgICBtaW4td2lkdGg6IDg0cHg7IC8qIGJlIG5pY2UgdG8gT3BlcmEgKi8KfQoudGFicy1uYXYgYSwgLnRhYnMtbmF2IGEgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmc6IDAgMTBweDsKICAgIGJhY2tncm91bmQ6IHVybCh0YWIucG5nKSBuby1yZXBlYXQ7Cn0KLnRhYnMtbmF2IGEgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiAxcHg7CiAgICB6LWluZGV4OiAyOwogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgY29sb3I6ICMyNzUzN2E7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiByZXF1aXJlZCBpbiBJRSA2ICovICAgIAp9Ci50YWJzLW5hdiAudGFicy1zZWxlY3RlZCBhIHsKICAgIGNvbG9yOiAjMDAwOwp9Ci50YWJzLW5hdiAudGFicy1zZWxlY3RlZCBhLCAudGFicy1uYXYgYTpob3ZlciwgLnRhYnMtbmF2IGE6Zm9jdXMsIC50YWJzLW5hdiBhOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0xNTBweDsKICAgIG91dGxpbmU6IDA7IC8qIHByZXZlbnQgZG90dGVkIGJvcmRlciBpbiBGaXJlZm94ICovCn0KLnRhYnMtbmF2IGEsIC50YWJzLW5hdiAudGFicy1kaXNhYmxlZCBhOmhvdmVyLCAudGFicy1uYXYgLnRhYnMtZGlzYWJsZWQgYTpmb2N1cywgLnRhYnMtbmF2IC50YWJzLWRpc2FibGVkIGE6YWN0aXZlIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTEwMHB4Owp9Ci50YWJzLW5hdiBhIHNwYW4gewogICAgd2lkdGg6IDY0cHg7IC8qIElFIDYgdHJlYXRzIHdpZHRoIGFzIG1pbi13aWR0aCAqLwogICAgbWluLXdpZHRoOiA2NHB4OwogICAgaGVpZ2h0OiAxOHB4OyAvKiBJRSA2IHRyZWF0cyBoZWlnaHQgYXMgbWluLWhlaWdodCAqLwogICAgbWluLWhlaWdodDogMThweDsKICAgIHBhZGRpbmctdG9wOiA2cHg7CiAgICBwYWRkaW5nLXJpZ2h0OiAwOwp9Cio+LnRhYnMtbmF2IGEgc3BhbiB7IC8qIGhpZGUgZnJvbSBJRSA2ICovCiAgICB3aWR0aDogYXV0bzsKICAgIGhlaWdodDogYXV0bzsKfQoudGFicy1uYXYgLnRhYnMtc2VsZWN0ZWQgYSBzcGFuIHsKICAgIHBhZGRpbmctdG9wOiA3cHg7Cn0KLnRhYnMtbmF2IC50YWJzLXNlbGVjdGVkIGEgc3BhbiwgLnRhYnMtbmF2IGE6aG92ZXIgc3BhbiwgLnRhYnMtbmF2IGE6Zm9jdXMgc3BhbiwgLnRhYnMtbmF2IGE6YWN0aXZlIHNwYW4gewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTBweDsKfQoudGFicy1uYXYgYSBzcGFuLCAudGFicy1uYXYgLnRhYnMtZGlzYWJsZWQgYTpob3ZlciBzcGFuLCAudGFicy1uYXYgLnRhYnMtZGlzYWJsZWQgYTpmb2N1cyBzcGFuLCAudGFicy1uYXYgLnRhYnMtZGlzYWJsZWQgYTphY3RpdmUgc3BhbiB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7Cn0KLnRhYnMtbmF2IC50YWJzLXNlbGVjdGVkIGE6bGluaywgLnRhYnMtbmF2IC50YWJzLXNlbGVjdGVkIGE6dmlzaXRlZCwgLnRhYnMtbmF2IC50YWJzLWRpc2FibGVkIGE6bGluaywgLnRhYnMtbmF2IC50YWJzLWRpc2FibGVkIGE6dmlzaXRlZCB7IC8qIEAgT3BlcmEsIHVzZSBwc2V1ZG8gY2xhc3NlcyBvdGhlcndpc2UgaXQgY29uZnVzZXMgY3Vyc29yLi4uICovCiAgICBjdXJzb3I6IHRleHQ7Cn0KLnRhYnMtbmF2IGE6aG92ZXIsIC50YWJzLW5hdiBhOmZvY3VzLCAudGFicy1uYXYgYTphY3RpdmUgeyAvKiBAIE9wZXJhLCB3ZSBuZWVkIHRvIGJlIGV4cGxpY2l0IGFnYWluIGhlcmUgbm93Li4uICovCiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnRhYnMtbmF2IC50YWJzLWRpc2FibGVkIHsKICAgIG9wYWNpdHk6IC40Owp9Ci50YWJzLWNvbnRhaW5lciB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk3YTViMDsKICAgIHBhZGRpbmc6IDFlbSA4cHg7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOyAvKiBkZWNsYXJlIGJhY2tncm91bmQgY29sb3IgZm9yIGNvbnRhaW5lciB0byBhdm9pZCBkaXN0b3J0ZWQgZm9udHMgaW4gSUUgd2hpbGUgZmFkaW5nICovCn0KLnRhYnMtbG9hZGluZyBlbSB7CiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OwogICAgYmFja2dyb3VuZDogdXJsKGxvYWRpbmcuZ2lmKSBuby1yZXBlYXQgMCA1MCU7Cn0K]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/example/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/example/ahah_1.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+TG9hZCB0YWIgY29udGVudCBkeW5hbWljYWxseSB2aWEgQWpheDwvcD4KPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLnRhYnMoeyByZW1vdGU6IHRydWUgfSk7PC9jb2RlPjwvcHJlPgo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/example/ahah_2.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+PHN0cm9uZz5Db250ZW50IDI8L3N0cm9uZz4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/example/ahah_3.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+PHN0cm9uZz5Db250ZW50IDM8L3N0cm9uZz4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/example/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cgo8aHRtbCBsYW5nPSJlbiI+CiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CiAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2NzcyI+CiAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TY3JpcHQtVHlwZSIgY29udGVudD0idGV4dC9qYXZhc2NyaXB0Ij4KCiAgICAgICAgPHRpdGxlPlRhYnMgLSBqUXVlcnkgcGx1Z2luIGZvciBhY2Nlc3NpYmxlLCB1bm9idHJ1c2l2ZSB0YWJzPC90aXRsZT4KCiAgICAgICAgPHNjcmlwdCBzcmM9ImpxdWVyeS0xLjEuMy4xLnBhY2suanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBzcmM9ImpxdWVyeS5oaXN0b3J5X3JlbW90ZS5wYWNrLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJqcXVlcnkudGFicy5wYWNrLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgICAgJChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgICAkKCcjY29udGFpbmVyLTEnKS50YWJzKCk7CiAgICAgICAgICAgICAgICAkKCcjY29udGFpbmVyLTInKS50YWJzKDIpOwogICAgICAgICAgICAgICAgJCgnI2NvbnRhaW5lci0zJykudGFicyh7IGZ4U2xpZGU6IHRydWUgfSk7CiAgICAgICAgICAgICAgICAkKCcjY29udGFpbmVyLTQnKS50YWJzKHsgZnhGYWRlOiB0cnVlLCBmeFNwZWVkOiAnZmFzdCcgfSk7CiAgICAgICAgICAgICAgICAkKCcjY29udGFpbmVyLTUnKS50YWJzKHsgZnhTbGlkZTogdHJ1ZSwgZnhGYWRlOiB0cnVlLCBmeFNwZWVkOiAnbm9ybWFsJyB9KTsKICAgICAgICAgICAgICAgICQoJyNjb250YWluZXItNicpLnRhYnMoewogICAgICAgICAgICAgICAgICAgIGZ4RmFkZTogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBmeFNwZWVkOiAnZmFzdCcsCiAgICAgICAgICAgICAgICAgICAgb25DbGljazogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCdvbkNsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBvbkhpZGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBhbGVydCgnb25IaWRlJyk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBvblNob3c6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBhbGVydCgnb25TaG93Jyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkKCcjY29udGFpbmVyLTcnKS50YWJzKHsgZnhBdXRvSGVpZ2h0OiB0cnVlIH0pOwogICAgICAgICAgICAgICAgJCgnI2NvbnRhaW5lci04JykudGFicyh7IGZ4U2hvdzogeyBoZWlnaHQ6ICdzaG93Jywgb3BhY2l0eTogJ3Nob3cnIH0sIGZ4U3BlZWQ6ICdub3JtYWwnIH0pOwogICAgICAgICAgICAgICAgJCgnI2NvbnRhaW5lci05JykudGFicyh7IHJlbW90ZTogdHJ1ZSB9KTsKICAgICAgICAgICAgICAgICQoJyNjb250YWluZXItMTAnKS50YWJzKCk7CiAgICAgICAgICAgICAgICAkKCcjY29udGFpbmVyLTExJykudGFicyh7IGRpc2FibGVkOiBbM10gfSk7CgogICAgICAgICAgICAgICAgJCgnPHA+PGEgaHJlZj0iIyI+RGlzYWJsZSB0aGlyZCB0YWI8XC9hPjxcL3A+JykucHJlcGVuZFRvKCcjZnJhZ21lbnQtMjgnKS5maW5kKCdhJykuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnRzKCdkaXYnKS5lcSgxKS5kaXNhYmxlVGFiKDMpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgJCgnPHA+PGEgaHJlZj0iIyI+QWN0aXZhdGUgdGhpcmQgdGFiPFwvYT48XC9wPicpLnByZXBlbmRUbygnI2ZyYWdtZW50LTI4JykuZmluZCgnYScpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50cygnZGl2JykuZXEoMSkudHJpZ2dlclRhYigzKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQoJzxwPjxhIGhyZWY9IiMiPkVuYWJsZSB0aGlyZCB0YWI8XC9hPjxcL3A+JykucHJlcGVuZFRvKCcjZnJhZ21lbnQtMjgnKS5maW5kKCdhJykuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnRzKCdkaXYnKS5lcSgxKS5lbmFibGVUYWIoMyk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB9KTsKICAgICAgICA8L3NjcmlwdD4KCiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJqcXVlcnkudGFicy5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0icHJpbnQsIHByb2plY3Rpb24sIHNjcmVlbiI+CiAgICAgICAgPCEtLSBBZGRpdGlvbmFsIElFL1dpbiBzcGVjaWZpYyBzdHlsZSBzaGVldCAoQ29uZGl0aW9uYWwgQ29tbWVudHMpIC0tPgogICAgICAgIDwhLS1baWYgbHRlIElFIDddPgogICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ianF1ZXJ5LnRhYnMtaWUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InByb2plY3Rpb24sIHNjcmVlbiI+CiAgICAgICAgPCFbZW5kaWZdLS0+CiAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuLCBwcm9qZWN0aW9uIj4KCiAgICAgICAgICAgIC8qIE5vdCByZXF1aXJlZCBmb3IgVGFicywganVzdCB0byBtYWtlIHRoaXMgZGVtbyBsb29rIGJldHRlci4uLiAqLwoKICAgICAgICAgICAgYm9keSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IC8qIEAgRU9NQiAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgICogaHRtbCBib2R5IHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogQCBJRSAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJvZHkgKiB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDg3LjUlOwogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCBUcmVidWNoZXQsIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYm9keSAqICogewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGgxIHsKICAgICAgICAgICAgICAgIG1hcmdpbjogMWVtIDAgMS41ZW07CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaDIgewogICAgICAgICAgICAgICAgbWFyZ2luOiAyZW0gMCAxLjVlbTsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgfQogICAgICAgICAgICBwIHsKICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcmUsIHByZStwLCBwK3AgewogICAgICAgICAgICAgICAgbWFyZ2luOiAxZW0gMCAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvZGUgewogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICA8L2hlYWQ+CiAgICA8Ym9keT4KICAgICAgICA8aDE+VGFicyAtIDxhIGhyZWY9Imh0dHA6Ly9qcXVlcnkuY29tIj5qUXVlcnk8L2E+IHBsdWdpbiBmb3IgYWNjZXNzaWJsZSwgdW5vYnRydXNpdmUgdGFiczwvaDE+CiAgICAgICAgCiAgICAgICAgPHA+CiAgICAgICAgICAgIDxzdHJvbmc+PGEgaHJlZj0iaHR0cDovL3N0aWxidWVyby5kZS90YWJzLyI+UmVhZCBtb3JlIGFib3V0IGl0LjwvYT48L3N0cm9uZz4KICAgICAgICAgICAgVG8gZW5hYmxlIGhpc3Rvcnkgc3VwcG9ydCBmb3IgVGFicyBJIHVzZSBteSA8YSBocmVmPSJodHRwOi8vc3RpbGJ1ZXJvLmRlL2pxdWVyeS9oaXN0b3J5L2luZGV4Lmh0bWwiPkhpc3RvcnkvUmVtb3RlPC9hPiBwbHVnaW4uCiAgICAgICAgPC9wPgogICAgICAgIDxwPgogICAgICAgICAgICA8c3Ryb25nPjxhIGhyZWY9ImpxdWVyeS50YWJzLnppcCI+RG93bmxvYWQgcGFja2FnZTwvYT48L3N0cm9uZz4KICAgICAgICA8L3A+CgogICAgICAgIDxoMj5TaW1wbGUgVGFiczwvaDI+CgogICAgICAgIDxkaXYgaWQ9ImNvbnRhaW5lci0xIj4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0xIj48c3Bhbj5PbmU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTIiPjxzcGFuPlR3bzwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtMyI+PHNwYW4+VGFicyBhcmUgZmxleGlibGUgYWdhaW48L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTEiPgogICAgICAgICAgICAgICAgPHA+Rmlyc3QgdGFiIGlzIGFjdGl2ZSBieSBkZWZhdWx0OjwvcD4KICAgICAgICAgICAgICAgIDxwcmU+PGNvZGU+JCgmIzAzOTsjY29udGFpbmVyJiMwMzk7KS50YWJzKCk7PC9jb2RlPjwvcHJlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMiI+CiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMyI+CiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8aDI+U3RhcnQgV2l0aCBDdXN0b20gVGFiPC9oMj4KCiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyLTIiPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTQiPjxzcGFuPk9uZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtNSI+PHNwYW4+VHdvPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC02Ij48c3Bhbj5UaHJlZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtNCI+CiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTUiPgogICAgICAgICAgICAgICAgPHA+U2Vjb25kIHRhYiBpcyBhY3RpdmU6PC9wPgogICAgICAgICAgICAgICAgPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLnRhYnMoMik7PC9jb2RlPjwvcHJlPgogICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgVHdvIGFsdGVybmF0aXZlIHdheXMgdG8gc3BlY2lmeSB0aGUgYWN0aXZlIHRhYiB3aWxsIG92ZXJydWxlIHRoaXMgYXJndW1lbnQuIEZpcnN0IGEgbGkgZWxlbWVudAogICAgICAgICAgICAgICAgICAgIChyZXByZXNlbnRpbmcgb25lIHNpbmdsZSB0YWIpIGJlbG9uZ2luZyB0byB0aGUgc2VsZWN0ZWQgdGFiIGNsYXNzLCBlLmcuIHNldCB0aGUgc2VsZWN0ZWQgdGFiCiAgICAgICAgICAgICAgICAgICAgY2xhc3MgKGRlZmF1bHQ6ICJ0YWJzLXNlbGVjdGVkIiwgc2VlIG9wdGlvbiBzZWxlY3RlZENsYXNzKSBmb3Igb25lIG9mIHRoZSB1bm9yZGVyZWQgbGkgZWxlbWVudHMKICAgICAgICAgICAgICAgICAgICBpbiB0aGUgSFRNTCBzb3VyY2UuIEluIGFkZGl0aW9uIGlmIGEgZnJhZ21lbnQgaWRlbnRpZmllci9oYXNoIGluIHRoZSBVUkwgb2YgdGhlIHBhZ2UgcmVmZXJzCiAgICAgICAgICAgICAgICAgICAgdG8gdGhlIGlkIG9mIGEgdGFiIGNvbnRhaW5lciBvZiBhIHRhYiBpbnRlcmZhY2UgdGhlIGNvcnJlc3BvbmRpbmcgdGFiIHdpbGwgIGJlIGFjdGl2YXRlZCBhbmQgYm90aAogICAgICAgICAgICAgICAgICAgIHRoZSBpbml0aWFsIGFyZ3VtZW50IGFzIHdlbGwgYXMgYW4gZXZlbnR1YWxseSBkZWNsYXJlZCBjbGFzcyBhdHRyaWJ1dGUgd2lsbCBiZSBvdmVycnVsZWQuCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC02Ij4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMj5TbGlkZSBFZmZlY3Q8L2gyPgoKICAgICAgICA8ZGl2IGlkPSJjb250YWluZXItMyI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtNyI+PHNwYW4+T25lPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC04Ij48c3Bhbj5Ud288L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTkiPjxzcGFuPlRocmVlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC03Ij4KICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgIFVzZSBhIHNsaWRlIGVmZmVjdCB0byBzd2l0Y2ggdGFicy4KICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSB0aGUgc3BlZWQgZm9yIHRoZSBhbmltYXRpb24gd2l0aCB0aGUgb3B0aW9uIDxjb2RlPmZ4U3BlZWQ6IHZhbHVlPC9jb2RlPi4KICAgICAgICAgICAgICAgICAgICBUaGUgdmFsdWUgaXMgZWl0aGVyIGEgc3RyaW5nIG9mIG9uZSBvZiB0aGUgcHJlZGVmaW5lZCBzcGVlZHMgaW4galF1ZXJ5ICg8Y29kZT5zbG93PC9jb2RlPiwKICAgICAgICAgICAgICAgICAgICA8Y29kZT5ub3JtYWw8L2NvZGU+LCA8Y29kZT5mYXN0PC9jb2RlPikgb3IgYW4gaW50ZWdlciB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSBkdXJhdGlvbiBmb3IgdGhlIGFuaW1hdGlvbgogICAgICAgICAgICAgICAgICAgIGluIG1pbGxpc2Vjb25kcy4gSWYgb21pdHRlZCBpdCBkZWZhdWx0cyB0byA8Y29kZT5ub3JtYWw8L2NvZGU+LgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLnRhYnMoeyBmeFNsaWRlOiB0cnVlIH0pOzwvY29kZT48L3ByZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTgiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTkiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGgyPkZhZGUgRWZmZWN0PC9oMj4KCiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyLTQiPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTEwIj48c3Bhbj5PbmU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTExIj48c3Bhbj5Ud288L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTEyIj48c3Bhbj5UaHJlZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMTAiPgogICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgVXNlIGEgZmFkZSBlZmZlY3QgdG8gc3dpdGNoIHRhYnMuCiAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBvcHRpb25hbGx5IHNwZWNpZnkgdGhlIHNwZWVkIGZvciB0aGUgYW5pbWF0aW9uIHdpdGggdGhlIG9wdGlvbiA8Y29kZT5meFNwZWVkOiB2YWx1ZTwvY29kZT4uCiAgICAgICAgICAgICAgICAgICAgVGhlIHZhbHVlIGlzIGVpdGhlciBhIHN0cmluZyBvZiBvbmUgb2YgdGhlIHByZWRlZmluZWQgc3BlZWRzIGluIGpRdWVyeSAoPGNvZGU+c2xvdzwvY29kZT4sCiAgICAgICAgICAgICAgICAgICAgPGNvZGU+bm9ybWFsPC9jb2RlPiwgPGNvZGU+ZmFzdDwvY29kZT4pIG9yIGFuIGludGVnZXIgdmFsdWUgc3BlY2lmeWluZyB0aGUgZHVyYXRpb24gZm9yIHRoZSBhbmltYXRpb24KICAgICAgICAgICAgICAgICAgICBpbiBtaWxsaXNlY29uZHMuIElmIG9taXR0ZWQgaXQgZGVmYXVsdHMgdG8gPGNvZGU+bm9ybWFsPC9jb2RlPi4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwcmU+PGNvZGU+JCgmIzAzOTsjY29udGFpbmVyJiMwMzk7KS50YWJzKHsgZnhGYWRlOiB0cnVlLCBmeFNwZWVkOiAnZmFzdCcgfSk7PC9jb2RlPjwvcHJlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMTEiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTEyIj4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMj5TbGlkZSBhbmQgRmFkZSBFZmZlY3QgQ29tYmluZWQ8L2gyPgoKICAgICAgICA8ZGl2IGlkPSJjb250YWluZXItNSI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtMTMiPjxzcGFuPk9uZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtMTQiPjxzcGFuPlR3bzwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtMTUiPjxzcGFuPlRocmVlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC0xMyI+CiAgICAgICAgICAgICAgICA8cD5Vc2UgYSBjb21iaW5lZCBzbGlkZSBhbmQgZmFkZSBlZmZlY3QgdG8gc3dpdGNoIHRhYnM6PC9wPgogICAgICAgICAgICAgICAgPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLnRhYnMoeyBmeFNsaWRlOiB0cnVlLCBmeEZhZGU6IHRydWUsIGZ4U3BlZWQ6ICdmYXN0JyB9KTs8L2NvZGU+PC9wcmU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC0xNCI+CiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMTUiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGgyPkNhbGxiYWNrczwvaDI+CgogICAgICAgIDxkaXYgaWQ9ImNvbnRhaW5lci02Ij4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0xNiI+PHNwYW4+T25lPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0xNyI+PHNwYW4+VHdvPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0xOCI+PHNwYW4+VGhyZWU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTE2Ij4KICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgIERlZmluZSBjYWxsYmFjayBmdW5jdGlvbnMgdGhhdCBhcmUgaW52b2tlZCBhdCBkaWZmZXJlbnQgcG9pbnRzIGluIHRpbWUgZHVyaW5nIHRoZSB0YWIgc3dpdGNoIHByb2Nlc3MuCiAgICAgICAgICAgICAgICAgICAgVGhlc2UgZnVuY3Rpb25zIGFyZSBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiB0aGUgZmlyc3Qgb25lIGJlaW5nIHRoZSBjbGlja2VkIHRhYiAodGhlCiAgICAgICAgICAgICAgICAgICAgPGNvZGU+YTwvY29kZT4gZWxlbWVudCksIHRoZSBzZWNvbmQgb25lIGJlaW5nIHRoZSA8Y29kZT5kaXY8L2NvZGU+IGVsZW1lbnQgdGhhdCBob2xkcyB0aGUgY29udGVudCBvZgogICAgICAgICAgICAgICAgICAgIHRoZSBjbGlja2VkIHRhYiBhbmQgdGhlIHRoaXJkIG9uZSBiZWluZyB0aGUgPGNvZGU+ZGl2PC9jb2RlPiBlbGVtZW50IGJlbG9uZ2luZyB0byB0aGUgdGFiIHRoYXQgZ2V0cyBoaWRkZW4uCiAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgIElmIHRoZSBvbkNsaWNrIGNhbGxiYWNrIHJldHVybnMgZmFsc2UsIHRoZSB0YWIgc3dpdGNoIGlzIGNhbmNlbGVkLiBUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIGlmIHN3aXRjaGluZwogICAgICAgICAgICAgICAgICAgIHRhYnMgcmVxdWlyZXMgZm9ybSB2YWxpZGF0aW9uIGJlZm9yZSBmb3IgZXhhbXBsZS4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwcmU+PGNvZGU+JCgmIzAzOTsjY29udGFpbmVyJiMwMzk7KS50YWJzKHsKICAgIGZ4RmFkZTogdHJ1ZSwKICAgIGZ4U3BlZWQ6ICdmYXN0JywKICAgIG9uQ2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgIGFsZXJ0KCdvbkNsaWNrJyk7CiAgICB9LAogICAgb25IaWRlOiBmdW5jdGlvbigpIHsKICAgICAgICBhbGVydCgnb25IaWRlJyk7CiAgICB9LAogICAgb25TaG93OiBmdW5jdGlvbigpIHsKICAgICAgICBhbGVydCgnb25TaG93Jyk7CiAgICB9Cn0pOzwvY29kZT48L3ByZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTE3Ij4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC0xOCI+CiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8aDI+QXV0b21hdGljIGhlaWdodDwvaDI+CgogICAgICAgIDxkaXYgaWQ9ImNvbnRhaW5lci03Ij4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0xOSI+PHNwYW4+T25lPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0yMCI+PHNwYW4+VHdvPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0yMSI+PHNwYW4+VGhyZWU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTE5Ij4KICAgICAgICAgICAgICAgIDxwPkFkanVzdCBoZWlnaHQgb2YgYWxsIHRhYnMgdG8gdGhlIGxhcmdlc3Q6PC9wPgogICAgICAgICAgICAgICAgPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLnRhYnMoeyBmeEF1dG9IZWlnaHQ6IHRydWUgfSk7PC9jb2RlPjwvcHJlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMjAiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTIxIj4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMj5DdXN0b20gYW5pbWF0aW9uPC9oMj4KCiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyLTgiPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTIyIj48c3Bhbj5PbmU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTIzIj48c3Bhbj5Ud288L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTI0Ij48c3Bhbj5UaHJlZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMjIiPgogICAgICAgICAgICAgICAgPHA+RGVmaW5lIHlvdXIgb3duIGN1c3RvbSBhbmltYXRpb246PC9wPgogICAgICAgICAgICAgICAgPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLnRhYnMoeyBmeFNob3c6IHsgaGVpZ2h0OiAmIzAzOTtzaG93JiMwMzk7LCBvcGFjaXR5OiAmIzAzOTtzaG93JiMwMzk7IH0gfSk7PC9jb2RlPjwvcHJlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMjMiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTI0Ij4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMj5BamF4IHRhYnM8L2gyPgoKICAgICAgICA8ZGl2IGlkPSJjb250YWluZXItOSI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJhaGFoXzEuaHRtbCI+PHNwYW4+T25lPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImFoYWhfMi5odG1sIj48c3Bhbj5Ud288L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWhhaF8zLmh0bWwiPjxzcGFuPlRocmVlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8aDI+Q3VzdG9tIDxhYmJyPkhUTUw8L2FiYnI+IHN0cnVjdHVyZTwvaDI+CgogICAgICAgIDxkaXYgaWQ9ImNvbnRhaW5lci0xMCI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRhYnMtbmF2Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTI1Ij48c3Bhbj5PbmU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0yNiI+PHNwYW4+VHdvPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtMjciPjxzcGFuPlRocmVlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC0yNSIgY2xhc3M9InRhYnMtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgSWYgc29tZSA8YWJicj5IVE1MPC9hYmJyPiBzdHJ1Y3R1cmUgaXMgcmVxdWlyZWQgdGhhdCBkaWZmZXJzIGZyb20gdGhlIGRlZmF1bHQgb25lLCBhdHRhY2ggdGhlIGNsYXNzZXMKICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+dGFicy1uYXY8L2NvZGU+IHRvIHRoZSB1bm9yZGVyZWQgbGlzdCwgcmVzcGVjdGl2ZWx5IDxjb2RlPnRhYnMtY29udGFpbmVyPC9jb2RlPiB0byBlYWNoIGNvbnRhaW5lcgogICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IHRoZSBwbHVnaW4gYXV0b21hdGljYWxseSBmaW5kIHRoZSByZXF1aXJlZCBlbGVtZW50cyBieSBjbGFzcy4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTI2IiBjbGFzcz0idGFicy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmcmFnbWVudC0yNyIgY2xhc3M9InRhYnMtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGgyPlRyaWdnZXJpbmcsIGRpc2FibGluZywgZW5hYmxpbmcgVGFiczwvaDI+CiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyLTExIj4KICAgICAgICAgICAgPHVsIGNsYXNzPSJ0YWJzLW5hdiI+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTI4Ij48c3Bhbj5PbmU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTI5Ij48c3Bhbj5Ud288L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTMwIj48c3Bhbj5UaHJlZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMjgiPgogICAgICAgICAgICAgICAgPHByZT48Y29kZT4kKCYjMDM5OyNjb250YWluZXImIzAzOTspLmVuYWJsZVRhYigzKTsgLy8gZW5hYmxlcyB0aGlyZCB0YWIKJCgmIzAzOTsjY29udGFpbmVyJiMwMzk7KS50cmlnZ2VyVGFiKDMpOyAvLyB0cmlnZ2VycyB0aGlyZCB0YWIKJCgmIzAzOTsjY29udGFpbmVyJiMwMzk7KS5kaXNhYmxlVGFiKDMpOyAvLyBkaXNhYmxlcyB0aGlyZCB0YWI8L2NvZGU+PC9wcmU+CiAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICBPbmUgb3IgbW9yZSB0YWJzIGNhbiBhbHNvIGJlIGRpc2FibGVkIGltbWVkaWF0bHkgYnkgc2ltcGx5IHNldHRpbmcgdGhlIGRpc2FibGluZyBjbGFzcyBmb3IgdGhlIGxpIGVsZW1lbnQKICAgICAgICAgICAgICAgICAgICByZXByZXNlbnRpbmcgdGhhdCBwYXJ0aWN1bGFyIHRhYiBvciBieSB1c2luZyB0aGUgPGNvZGU+ZGlzYWJsZWQ8L2NvZGU+IG9wdGlvbi4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwcmU+PGNvZGU+Jmx0O2xpIGNsYXNzPSZxdW90O3RhYnMtZGlzYWJsZWQmcXVvdDsmZ3QmIzgyMzA7Jmx0Oy9saSZndDsKCiQoJiMwMzk7I2NvbnRhaW5lciYjMDM5OykudGFicyh7IGRpc2FibGVkOiBbMiwgM10gfSk7PC9jb2RlPjwvcHJlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMjkiPgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImZyYWdtZW50LTMwIj4KICAgICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LgogICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuCiAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMj5DaGFuZ2Vsb2cgKHNpbmNlIHJlbGVhc2Ugb2YgVmVyc2lvbiAyKTwvaDI+CgogICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgMi43LjQgLSBNYWludGVuYW5jZSByZWxlYXNlOiBDb21wYXRpYmlsaXR5IHdpdGggalF1ZXJ5IDEuMS4zOyBmaXhlZCBvY2Nhc2lvbmFsbHkgb2NjdXJpbmcgZmxpY2tlciBpbiBGaXJlZm94IGZvciB0YWJzIHRoYXQgZG9uJ3QgdXNlIGFuaW1hdGlvbiBmb3Igc3dpdGNoaW5nOyBmaXhlZCBDbGVhclR5cGUgaXNzdWUgaW4gSUUgNyBmb3IgdGFicyB0aGF0IGRvbid0IHVzZSBhbmltYXRpb24gZm9yIHN3aXRjaGluZy4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgMi43LjMgLSBDaGFuZ2VkIENTUyBzbyB0aGF0IHRhYnMgYmVjb21lIGZsZXhpYmxlIGluIHdpZHRoL2hlaWdodCBhZ2Fpbi4gPHN0cm9uZz5UaGlzIHJlcXVpcmVzIGFuIGV4dHJhIDxjb2RlPnNwYW48L2NvZGU+IGVsZW1lbnQgaW5zaWRlIGEgdGFiJ3MgYW5jaG9yIGVsZW1lbnQuPC9zdHJvbmc+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIAogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAyLjcuMiAtIE5ldyBtZXRob2QgPGNvZGU+YWN0aXZlVGFiPC9jb2RlPiB0byByZXRyaWV2ZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGFiLiBVc2FnZTogPGNvZGU+dmFyIGluZGV4ID0gJCgnI2NvbnRhaW5lcicpLmFjdGl2ZVRhYigpOyAvLyA9PiAxPC9jb2RlPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAyLjcuMSAtIEFkZGVkIG9wdGlvbiA8Y29kZT5zcGlubmVyPC9jb2RlPiwgd2hpY2ggbGV0cyB5b3Ugc3BlY2lmeSB0aGUgdGV4dC9pbWFnZSB0byBiZSBzaG93biBpbiBhIHRhYiB3aGlsZSBsb2FkaW5nIHJlbW90ZSBjb250ZW50LiBQYXNzIGFuIGVtcHR5IHN0cmluZyB0byBlbnRpcmVseSBkaXNhYmxlIHRoaXMgYmVoYXZpb3IuIEZpeGVkIGJ1ZywgdGhhdCBhbGxvd2VkIHRoZSBvbkNsaWNrIGhhbmRsZXIgdG8gYmUgZmlyZWQgZXZlbiBmb3IgZGlzYWJsZWQgYW5kIGFscmVhZHkgc2VsZWN0ZWQgdGFicy4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgMi43IC0gQSBmZXcgZnJlcXVlbnRseSByZXF1ZXN0ZWQgZW5oYW5jZW1lbnRzIGFuZCBidWdmaXhlcy4gPGEgaHJlZj0iLzIwMDcvMDQvMDcvdGFicy0yNy1mbGV4aWJpbGl0eS8iPlNlZSBoZXJlIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgMi42IC0gQWRkZWQgb3B0aW9uIGZvciBsb2FkaW5nIHRhYiBjb250ZW50IHZpYSBBamF4OiA8Y29kZT5yZW1vdGU6IHRydWU8L2NvZGU+PC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgMi41LjIgLSBBdm9pZCBmbGlja2VyIChpbiBGaXJlZm94KSBmb3Igc2ltcGxlIHRhYiBzd2l0Y2hpbmcgd2l0aG91dCBhbmltYXRpb24uCiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDIuNS4xIC0gQWRkZWQgc3VwcG9ydCBmb3IgaGlkaW5nIHRhYiBjb250ZW50IGJlZm9yZSB0YWJzIGluaXRpYWxpemF0aW9uIHRvIGF2b2lkIGZsYXNoIG9mIGNvbnRlbnQsIGZpeGVkIGxpdHRsZSBmbGF3IGluIGhpc3Rvcnkgc3VwcG9ydCwgalF1ZXJ5IDEuMSByZWFkeS48L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAyLjUgLSBBZGRlZCBzdXBwb3J0IGZvciBkaXNhYmxpbmcvZW5hYmxpbmcgdGFicy4gRGlzYWJsaW5nIHRhYihzKTogdmlhIG9wdGlvbiBsaWtlIDxjb2RlPmRpc2FibGVkOiBbMiwgM108L2NvZGU+CiAgICAgICAgICAgICAgICBpbW1lZGlhdGx5LCBlbHNlIHZpYSA8Y29kZT4kKCYjODIzMDspLmRpc2FibGVUYWIoMyk7PC9jb2RlPi4gRW5hYmxpbmc6IDxjb2RlPiQoJiM4MjMwOyllbmFibGVUYWIoMyk7PC9jb2RlPi4KICAgICAgICAgICAgICAgIEEgZGlzYWJsZWQgdGFiIGlzIGdyZXllZCBvdXQgKHVzaW5nIGEgY29uZmlndXJhYmxlIDxhYmJyIHRpdGxlPSJDYXNjYWRpbmcgU3R5bGUgU2hlZXRzIj5DU1M8L2FiYnI+IGNsYXNzLAogICAgICAgICAgICAgICAgb3B0aW9uIDxjb2RlPmRpc2FibGVkQ2xhc3M8L2NvZGU+KSBhbmQgaXNuJ3QgY2xpY2thYmxlLgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAyLjQgLSBOZXcgb3B0aW9uOiA8Y29kZT5ib29rbWFya2FibGU8L2NvZGU+LCBleHRlbmRlZCBjYWxsYmFjayBzeXN0ZW06IDxjb2RlPm9uQ2xpY2s8L2NvZGU+LCA8Y29kZT5vbkhpZGU8L2NvZGU+LAogICAgICAgICAgICAgICAgPGNvZGU+b25TaG93PC9jb2RlPiAoPGNvZGU+b25TaG93PC9jb2RlPiByZXBsYWNlcyBmb3JtZXIgPGNvZGU+Y2FsbGJhY2s8L2NvZGU+IG9wdGlvbikKICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgMi4yIC0gSW1wcm92ZWQgPGNvZGU+ZnhBdXRvSGVpZ2h0PC9jb2RlPiBvcHRpb24gdG8gdGFrZSB3aW5kb3cgYW5kIHRleHQgcmVzaXppbmcgaW50byBhY2NvdW50ICh3YXMKICAgICAgICAgICAgICAgIDxjb2RlPmZ4QXV0b2hlaWdodDwvY29kZT4pCiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4yLjEgLSA8YSBocmVmPSJodHRwOi8vd3d3LnN0aWxidWVyby5kZS8yMDA2LzExLzA1L3RhYnMtdmVyc2lvbi0yLyI+VGFicyB2ZXJzaW9uIDIgcmVsZWFzZWQ8L2E+PC9saT4KICAgICAgICA8L3VsPgoKICAgICAgICA8aDI+VGVzdGVkIHdpdGg8L2gyPgoKICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT5GaXJlZm94IDIuMDwvbGk+CiAgICAgICAgICAgIDxsaT5GaXJlZm94IDEuNTwvbGk+CiAgICAgICAgICAgIDxsaT5GaXJlZm94IDEuMDwvbGk+CiAgICAgICAgICAgIDxsaT5PcGVyYSA5LjAxPC9saT4KICAgICAgICAgICAgPGxpPk9wZXJhIDguNTI8L2xpPgogICAgICAgICAgICA8bGk+U2FmYXJpIDIuMC40PC9saT4KICAgICAgICAgICAgPGxpPjxhYmJyIHRpdGxlPSJJbnRlcm5ldCBFeHBsb3JlciI+SUU8L2FiYnI+IDc8L2xpPgogICAgICAgICAgICA8bGk+PGFiYnIgdGl0bGU9IkludGVybmV0IEV4cGxvcmVyIj5JRTwvYWJicj4gNjwvbGk+CiAgICAgICAgPC91bD4KCiAgICA8L2JvZHk+CjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/images/tab.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAASwAAADICAMAAABlASxnAAAAA3NCSVQICAjb4U/gAAAAflBMVEX////5/f/2+f7w9/3u9vnp8/3o8/nr8Pbm7/bg7vfe7vvk6e/c6vPZ6vTX3ODU2+PL0NbEzte+y9S8xc61xtCuxNGuu8Gtu8aisL2krreUpa+VpbKJmaZ+jptyhZNoeohjeoxccoBPaHxRZnlIX3FFXnJEX3Q8V2w/VWo8VWt2EWPpAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABh0RVh0Q3JlYXRpb24gVGltZQAxNy4wMy4yMDA3K0UWXgAAArhJREFUeJzt3cFSE0EURuFWRo3KwAACmghpwKDz/i9ozaxcyT2VwTtdnm8Nyc9Jpyqb0KV096NiSvdw1xXFbGv2goYczt8oqDxlL2hIqdkLGmIsoNS3ijIWYCyg1BNFGQsoteu67BGtmGMpxlhAqe8UVep7RR0R68MSz3/Ugxy7gPz+9LOlbjabI5/zvzHHUkypHxW1bKy+X/LR/rm+//sfYKw/vBzr0+npgs+22ENleDlWryhjAcYCjAUYCzAWYCzAWICxAGMBxgKMBRgLMBZgLMBYgLEAYwHGAowFGAswFmAswFiAsYDsL6U1Zngcx/GnAsrFr6/ZL1c7Hr9lL2jIU/aAlnzPHtCSbfaAluyyB7TEWICxAGMBxgKMBRgLMBZgLMBP8IAnC/BkAZ4swFjAbfaAlgzZA1piLMBYgLEAYwHGAowFGAswFmAswFiAsQBjAcYCjAUYCzAWYCzAWICxAGMBxgKMBRgLMBZgLMBYgLGk1xK5j/Vwk72yIcOzteLOxs/ZE1YhdhXknV+QnsRi3dxn71yFWKyLmr1zFYwFxO7NNNbMWICxgNi9mZc1e+cqGAswFhC7ZPRyn71zFYKxavbOVYjdyHrlyZrE7s001iwW64uxJsFYNXvnKsRuZDXWLHZVpLFmxgJisa5r9s5VMBYQ+8/K1350mBgLMBZgLMBYgLEAYwHGAowFGAswFmAswFiAsQBjAcYCjAUYCzAWYCzAWICxAGMBxgKMpdcRuY91f569siG7H2fZExqyq9kLGtId/Npv3P4qe0FDdl4kE2cswFiAsQBjAcYCjAUYCzAWsPXezDhPFuDJAjxZgLEA34bArbHiBt+GccYCBt+GccYCjAUYCzAWYCzAWICxAGMBxgKMBRgLMBZgLMBYgLEAYwHGAowFGAswFmAswFiAsQBjAcZCfgNwpq4UNOmzUAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/js/jquery-1.1.3.1.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IDEuMS4zLjEgLSBOZXcgV2F2ZSBKYXZhc2NyaXB0CiAqCiAqIENvcHlyaWdodCAoYykgMjAwNyBKb2huIFJlc2lnIChqcXVlcnkuY29tKQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKE1JVC1MSUNFTlNFLnR4dCkKICogYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4KICoKICogJERhdGU6IDIwMDctMDctMDUgMDA6NDM6MjQgLTA0MDAgKFRodSwgMDUgSnVsIDIwMDcpICQKICogJFJldjogMjI0MyAkCiAqLwpldmFsKGZ1bmN0aW9uKHAsYSxjLGssZSxyKXtlPWZ1bmN0aW9uKGMpe3JldHVybihjPGE/Jyc6ZShwYXJzZUludChjL2EpKSkrKChjPWMlYSk+MzU/U3RyaW5nLmZyb21DaGFyQ29kZShjKzI5KTpjLnRvU3RyaW5nKDM2KSl9O2lmKCEnJy5yZXBsYWNlKC9eLyxTdHJpbmcpKXt3aGlsZShjLS0pcltlKGMpXT1rW2NdfHxlKGMpO2s9W2Z1bmN0aW9uKGUpe3JldHVybiByW2VdfV07ZT1mdW5jdGlvbigpe3JldHVybidcXHcrJ307Yz0xfTt3aGlsZShjLS0paWYoa1tjXSlwPXAucmVwbGFjZShuZXcgUmVnRXhwKCdcXGInK2UoYykrJ1xcYicsJ2cnKSxrW2NdKTtyZXR1cm4gcH0oJzcoMWcgMTguNj09IkkiKXsxOC5JPTE4Lkk7dSA2PXEoYSxjKXs3KDE4PT05fHwhOS4zWCl2IDE0IDYoYSxjKTt2IDkuM1goYSxjKX07NygxZyAkIT0iSSIpNi4xSSQ9JDt1ICQ9Njs2LjExPTYuOHI9ezNYOnEoYSxjKXthPWF8fFA7Nyg2LjE2KGEpKXYgMTQgNihQKVs2LjExLjFHPyIxRyI6IjFXIl0oYSk7NygxZyBhPT0iMXMiKXt1IG09L15bXjxdKig8KC58XFxzKSs+KVtePl0qJC8uMVYoYSk7NyhtKWE9Ni4zMShbbVsxXV0pO0IgdiAxNCA2KGMpLjFMKGEpfXYgOS40RShhLjE1PT0yYiYmYXx8KGEuM0N8fGEuQyYmYSE9MTgmJiFhLjFxJiZhWzBdIT1JJiZhWzBdLjFxKSYmNi4yTChhKXx8W2FdKX0sM0M6IjEuMS4zLjEiLDdXOnEoKXt2IDkuQ30sQzowLDFNOnEoYSl7diBhPT1JPzYuMkwoOSk6OVthXX0sMVo6cShhKXt1IGI9NihhKTtiLjVxPTk7diBifSw0RTpxKGEpezkuQz0wO1tdLlIuTyg5LGEpO3YgOX0sRjpxKGEsYil7diA2LkYoOSxhLGIpfSwycDpxKGEpe3UgYj0tMTs5LkYocShpKXs3KDk9PWEpYj1pfSk7diBifSwxYjpxKGYsZCxlKXt1IGM9Zjs3KGYuMTU9PTMzKTcoZD09SSl2IDkuQyYmNltlfHwiMWIiXSg5WzBdLGYpfHxJO0J7Yz17fTtjW2ZdPWR9diA5LkYocShhKXtFKHUgYiBWIGMpNi4xYihlPzkuVDo5LGIsNi40SCg5LGNbYl0sZSxhLGIpKX0pfSwxZjpxKGIsYSl7diA5LjFiKGIsYSwiMnoiKX0sMkE6cShlKXs3KDFnIGU9PSIxcyIpdiA5LjJZKCkuM2UoUC42NihlKSk7dSB0PSIiOzYuRihlfHw5LHEoKXs2LkYoOS4yUyxxKCl7Nyg5LjFxIT04KXQrPTkuMXEhPTE/OS41Ujo2LjExLjJBKFs5XSl9KX0pO3YgdH0sOGI6cSgpe3UgYSwxUz0xOTt2IDkuRihxKCl7NyghYSlhPTYuMzEoMVMsOS4yTyk7dSBiPWFbMF0uM3MoSyk7OS5MLjJLKGIsOSk7MXYoYi4xZCliPWIuMWQ7Yi40Zyg5KX0pfSwzZTpxKCl7diA5LjJGKDE5LEssMSxxKGEpezkuNGcoYSl9KX0sNXc6cSgpe3YgOS4yRigxOSxLLC0xLHEoYSl7OS4ySyhhLDkuMWQpfSl9LDV0OnEoKXt2IDkuMkYoMTksTiwxLHEoYSl7OS5MLjJLKGEsOSl9KX0sNXM6cSgpe3YgOS4yRigxOSxOLC0xLHEoYSl7OS5MLjJLKGEsOS4xWCl9KX0sMlU6cSgpe3YgOS41cXx8NihbXSl9LDFMOnEodCl7dSBiPTYuM2soOSxxKGEpe3YgNi4xTCh0LGEpfSk7diA5LjFaKC9bXis+XSBbXis+XS8uMTcodCl8fHQuSigiLi4iKT4tMT82LjVnKGIpOmIpfSw3eDpxKGUpe3UgZD05LjFBKDkuMUwoIioiKSk7ZC5GKHEoKXs5LjFJJDFhPXt9O0UodSBhIFYgOS4kMWEpOS4xSSQxYVthXT02LjFjKHt9LDkuJDFhW2FdKX0pLjNVKCk7dSByPTkuMVooNi4zayg5LHEoYSl7diBhLjNzKGUhPUk/ZTpLKX0pKTtkLkYocSgpe3UgYj05LjFJJDFhO0UodSBhIFYgYilFKHUgYyBWIGJbYV0pNi5TLjFBKDksYSxiW2FdW2NdLGJbYV1bY10uVyk7OS4xSSQxYT1IfSk7diByfSwxaTpxKHQpe3YgOS4xWig2LjE2KHQpJiY2LjJzKDkscShiLGEpe3YgdC5PKGIsW2FdKX0pfHw2LjJ4KHQsOSkpfSw0WTpxKHQpe3YgOS4xWih0LjE1PT0zMyYmNi4yeCh0LDksSyl8fDYuMnMoOSxxKGEpe3YodC4xNT09MmJ8fHQuM0MpPzYuMncoYSx0KTwwOmEhPXR9KSl9LDFBOnEodCl7diA5LjFaKDYuMVQoOS4xTSgpLHQuMTU9PTMzPzYodCkuMU0oKTp0LkMhPUkmJighdC5RfHx0LlE9PSI2WiIpP3Q6W3RdKSl9LDM3OnEoYSl7diBhPzYuMngoYSw5KS5DPjA6Tn0sNlI6cShhKXt2IGE9PUk/KDkuQz85WzBdLjJ2OkgpOjkuMWIoIjJ2IixhKX0sM0Y6cShhKXt2IGE9PUk/KDkuQz85WzBdLjI3OkgpOjkuMlkoKS4zZShhKX0sMkY6cShmLGQsZyxlKXt1IGM9OS5DPjEsYTt2IDkuRihxKCl7NyghYSl7YT02LjMxKGYsOS4yTyk7NyhnPDApYS42RSgpfXUgYj05OzcoZCYmNi5RKDksIjFyIikmJjYuUShhWzBdLCIyViIpKWI9OS4zUigiMXoiKVswXXx8OS40ZyhQLjVoKCIxeiIpKTs2LkYoYSxxKCl7ZS5PKGIsW2M/OS4zcyhLKTo5XSl9KX0pfX07Ni4xYz02LjExLjFjPXEoKXt1IGM9MTlbMF0sYT0xOzcoMTkuQz09MSl7Yz05O2E9MH11IGI7MXYoKGI9MTlbYSsrXSkhPUgpRSh1IGkgViBiKWNbaV09YltpXTt2IGN9OzYuMWMoezZuOnEoKXs3KDYuMUkkKSQ9Ni4xSSQ7diA2fSwxNjpxKGEpe3YhIWEmJjFnIGEhPSIxcyImJiFhLlEmJmEuMTUhPTJiJiYvcS9pLjE3KGErIiIpfSw0MDpxKGEpe3YgYS40eiYmYS4yTyYmIWEuMk8uNHl9LFE6cShiLGEpe3YgYi5RJiZiLlEuMUQoKT09YS4xRCgpfSxGOnEoYSxiLGMpezcoYS5DPT1JKUUodSBpIFYgYSliLk8oYVtpXSxjfHxbaSxhW2ldXSk7QiBFKHUgaT0wLDR4PWEuQztpPDR4O2krKyk3KGIuTyhhW2ldLGN8fFtpLGFbaV1dKT09PU4pMUY7diBhfSw0SDpxKGMsYixkLGUsYSl7Nyg2LjE2KGIpKWI9Yi4zRChjLFtlXSk7dSBmPS96LT8ycHw1WS0/OHB8MWV8NVV8OGktPzF1L2k7diBiJiZiLjE1PT0zeSYmZD09IjJ6IiYmIWYuMTcoYSk/YisiNG8iOmJ9LDEyOnsxQTpxKGIsYyl7Ni5GKGMuMlIoL1xccysvKSxxKGksYSl7NyghNi4xMi4zdyhiLjEyLGEpKWIuMTIrPShiLjEyPyIgIjoiIikrYX0pfSwxRTpxKGIsYyl7Yi4xMj1jIT1JPzYuMnMoYi4xMi4yUigvXFxzKy8pLHEoYSl7diE2LjEyLjN3KGMsYSl9KS41TSgiICIpOiIifSwzdzpxKHQsYyl7diA2LjJ3KGMsKHQuMTJ8fHQpLjN2KCkuMlIoL1xccysvKSk+LTF9fSw0bTpxKGUsbyxmKXtFKHUgaSBWIG8pe2UuVFsiMk4iK2ldPWUuVFtpXTtlLlRbaV09b1tpXX1mLk8oZSxbXSk7RSh1IGkgViBvKWUuVFtpXT1lLlRbIjJOIitpXX0sMWY6cShlLHApezcocD09IjF1Inx8cD09IjI5Iil7dSBiPXt9LDNyLDNwLGQ9WyI4MyIsIjgxIiwiODAiLCI3WSJdOzYuRihkLHEoKXtiWyI3ViIrOV09MDtiWyI3VCIrOSsiN1MiXT0wfSk7Ni40bShlLGIscSgpezcoNihlKS4zNyhcJzo0ZlwnKSl7M3I9ZS43UTszcD1lLjdPfUJ7ZT02KGUuM3MoSykpLjFMKCI6NGIiKS41digiMkIiKS4yVSgpLjFmKHs0ODoiMXkiLDNpOiI3TCIsVToiMmgiLDdLOiIwIiw3SToiMCJ9KS41byhlLkwpWzBdO3UgYT02LjFmKGUuTCwiM2kiKXx8IjNuIjs3KGE9PSIzbiIpZS5MLlQuM2k9IjdHIjszcj1lLjdFOzNwPWUuN0Q7NyhhPT0iM24iKWUuTC5ULjNpPSIzbiI7ZS5MLjNxKGUpfX0pO3YgcD09IjF1Ij8zcjozcH12IDYuMnooZSxwKX0sMno6cShlLGEsZCl7dSBnOzcoYT09IjFlIiYmNi5NLjFoKXtnPTYuMWIoZS5ULCIxZSIpO3YgZz09IiI/IjEiOmd9NyhhLjN0KC8zeC9pKSlhPTYuMVU7NyghZCYmZS5UW2FdKWc9ZS5UW2FdO0IgNyhQLjNmJiZQLjNmLjNZKXs3KGEuM3QoLzN4L2kpKWE9IjN4IjthPWEuMW8oLyhbQS1aXSkvZywiLSQxIikuMkgoKTt1IGI9UC4zZi4zWShlLEgpOzcoYilnPWIuNTcoYSk7QiA3KGE9PSJVIilnPSIxUCI7QiA2LjRtKGUse1U6IjJoIn0scSgpe3UgYz1QLjNmLjNZKDksIiIpO2c9YyYmYy41NyhhKXx8IiJ9KX1CIDcoZS4zUyl7dSBmPWEuMW8oL1xcLShcXHcpL2cscShtLGMpe3YgYy4xRCgpfSk7Zz1lLjNTW2FdfHxlLjNTW2ZdfXYgZ30sMzE6cShhLGMpe3Ugcj1bXTtjPWN8fFA7Ni5GKGEscShpLGIpezcoIWIpdjs3KGIuMTU9PTN5KWI9Yi4zdigpOzcoMWcgYj09IjFzIil7dSBzPTYuMkMoYikuMkgoKSwxeD1jLjVoKCIxeCIpLDFOPVtdO3UgYT0hcy5KKCI8MUgiKSYmWzEsIjwyeT4iLCI8LzJ5PiJdfHwhcy5KKCI8N2ciKSYmWzEsIjw1Mj4iLCI8LzUyPiJdfHwoIXMuSigiPDdjIil8fCFzLkooIjwxeiIpfHwhcy5KKCI8N2EiKXx8IXMuSigiPDc4IikpJiZbMSwiPDFyPiIsIjwvMXI+Il18fCFzLkooIjwyViIpJiZbMiwiPDFyPjwxej4iLCI8LzF6PjwvMXI+Il18fCghcy5KKCI8NzUiKXx8IXMuSigiPDc0IikpJiZbMywiPDFyPjwxej48MlY+IiwiPC8yVj48LzF6PjwvMXI+Il18fCFzLkooIjw3MyIpJiZbMiwiPDFyPjw0Vz4iLCI8LzRXPjwvMXI+Il18fFswLCIiLCIiXTsxeC4yNz1hWzFdK2IrYVsyXTsxdihhWzBdLS0pMXg9MXguMWQ7Nyg2Lk0uMWgpezcoIXMuSigiPDFyIikmJnMuSigiPDF6Iik8MCkxTj0xeC4xZCYmMXguMWQuMlM7QiA3KGFbMV09PSI8MXI+IiYmcy5KKCI8MXoiKTwwKTFOPTF4LjJTO0UodSBuPTFOLkMtMTtuPj0wOy0tbik3KDYuUSgxTltuXSwiMXoiKSYmITFOW25dLjJTLkMpMU5bbl0uTC4zcSgxTltuXSl9Yj02LjJMKDF4LjJTKX03KDA9PT1iLkMmJighNi5RKGIsIjM0IikmJiE2LlEoYiwiMnkiKSkpdjs3KGJbMF09PUl8fDYuUShiLCIzNCIpfHxiLjcxKXIuUihiKTtCIHI9Ni4xVChyLGIpfSk7diByfSwxYjpxKGMsZCxhKXt1IGU9Ni40MChjKT97fTo2LjNIOzcoZVtkXSl7NyhhIT1JKWNbZVtkXV09YTt2IGNbZVtkXV19QiA3KGE9PUkmJjYuTS4xaCYmNi5RKGMsIjM0IikmJihkPT0iNzAifHxkPT0iNlkiKSl2IGMuNlcoZCkuNVI7QiA3KGMuNHopezcoYSE9SSljLjZVKGQsYSk7Nyg2Lk0uMWgmJi80TXwydS8uMTcoZCkmJiE2LjQwKGMpKXYgYy4zNShkLDIpO3YgYy4zNShkKX1CezcoZD09IjFlIiYmNi5NLjFoKXs3KGEhPUkpe2MuNVU9MTtjLjFpPShjLjFpfHwiIikuMW8oLzRMXFwoW14pXSpcXCkvLCIiKSsoMzkoYSkuM3YoKT09IjZNIj8iIjoiNEwoMWU9IithKjRYKyIpIil9diBjLjFpPygzOShjLjFpLjN0KC8xZT0oW14pXSopLylbMV0pLzRYKS4zdigpOiIifWQ9ZC4xbygvLShbYS16XSkvNksscSh6LGIpe3YgYi4xRCgpfSk7NyhhIT1JKWNbZF09YTt2IGNbZF19fSwyQzpxKHQpe3YgdC4xbygvXlxccyt8XFxzKyQvZywiIil9LDJMOnEoYSl7dSByPVtdOzcoMWcgYSE9IjZJIilFKHUgaT0wLDI2PWEuQztpPDI2O2krKylyLlIoYVtpXSk7QiByPWEuNTEoMCk7diByfSwydzpxKGIsYSl7RSh1IGk9MCwyNj1hLkM7aTwyNjtpKyspNyhhW2ldPT1iKXYgaTt2LTF9LDFUOnEoYSxiKXtFKHUgaT0wO2JbaV07aSsrKWEuUihiW2ldKTt2IGF9LDVnOnEoYSl7dSByPVtdLDNQPTYuMWsrKztFKHUgaT0wLDRHPWEuQztpPDRHO2krKyk3KDNQIT1hW2ldLjFrKXthW2ldLjFrPTNQO3IuUihhW2ldKX12IHJ9LDFrOjAsMnM6cShjLGIsZCl7NygxZyBiPT0iMXMiKWI9MTQgNDUoImEiLCJpIiwidiAiK2IpO3UgYT1bXTtFKHUgaT0wLDMwPWMuQztpPDMwO2krKyk3KCFkJiZiKGNbaV0saSl8fGQmJiFiKGNbaV0saSkpYS5SKGNbaV0pO3YgYX0sM2s6cShjLGIpezcoMWcgYj09IjFzIiliPTE0IDQ1KCJhIiwidiAiK2IpO3UgZD1bXTtFKHUgaT0wLDMwPWMuQztpPDMwO2krKyl7dSBhPWIoY1tpXSxpKTs3KGEhPT1IJiZhIT1JKXs3KGEuMTUhPTJiKWE9W2FdO2Q9ZC42dihhKX19diBkfX0pOzE0IHEoKXt1IGI9NnUuNnQuMkgoKTs2Lk09ezREOihiLjN0KC8uKyg/OjZzfDZxfDZvfDZtKVtcXC86IF0oW1xcZC5dKykvKXx8W10pWzFdLDIwOi81bC8uMTcoYiksMmE6LzJhLy4xNyhiKSwxaDovMWgvLjE3KGIpJiYhLzJhLy4xNyhiKSwzajovM2ovLjE3KGIpJiYhLyg2aHw1bCkvLjE3KGIpfTs2LjZnPSE2Lk0uMWh8fFAuNmY9PSI2YyI7Ni4xVT02Lk0uMWg/IjFVIjoiNXgiLDYuM0g9eyJFIjoiNjgiLCI2NyI6IjEyIiwiM3giOjYuMVUsNXg6Ni4xVSwxVTo2LjFVLDI3OiIyNyIsMTI6IjEyIiwydjoiMnYiLDJyOiIyciIsMkI6IjJCIiw2NToiNjMiLDJUOiIyVCIsNjI6IjVaIn19OzYuRih7NHY6ImEuTCIsNHA6IjYuNHAoYSkiLDhvOiI2LjIyKGEsMixcJzFYXCcpIiw4bjoiNi4yMihhLDIsXCc0dFwnKSIsOGs6IjYuNHEoYS5MLjFkLGEpIiw4aDoiNi40cShhLjFkKSJ9LHEoaSxuKXs2LjExW2ldPXEoYSl7dSBiPTYuM2soOSxuKTs3KGEmJjFnIGE9PSIxcyIpYj02LjJ4KGEsYik7diA5LjFaKGIpfX0pOzYuRih7NW86IjNlIiw4ZzoiNXciLDJLOiI1dCIsOGY6IjVzIn0scShpLG4pezYuMTFbaV09cSgpe3UgYT0xOTt2IDkuRihxKCl7RSh1IGo9MCwyNj1hLkM7ajwyNjtqKyspNihhW2pdKVtuXSg5KX0pfX0pOzYuRih7NXY6cShhKXs2LjFiKDksYSwiIik7OS44ZChhKX0sOGM6cShjKXs2LjEyLjFBKDksYyl9LDg4OnEoYyl7Ni4xMi4xRSg5LGMpfSw4NzpxKGMpezYuMTJbNi4xMi4zdyg5LGMpPyIxRSI6IjFBIl0oOSxjKX0sMUU6cShhKXs3KCFhfHw2LjFpKGEsWzldKS5yLkMpOS5MLjNxKDkpfSwyWTpxKCl7MXYoOS4xZCk5LjNxKDkuMWQpfX0scShpLG4pezYuMTFbaV09cSgpe3YgOS5GKG4sMTkpfX0pOzYuRihbIjVRIiwiNVAiLCI1TyIsIjVOIl0scShpLG4pezYuMTFbbl09cShhLGIpe3YgOS4xaSgiOiIrbisiKCIrYSsiKSIsYil9fSk7Ni5GKFsiMXUiLCIyOSJdLHEoaSxuKXs2LjExW25dPXEoaCl7diBoPT1JPyg5LkM/Ni4xZig5WzBdLG4pOkgpOjkuMWYobixoLjE1PT0zMz9oOmgrIjRvIil9fSk7Ni4xYyh7NG46eyIiOiJtWzJdPT1cJypcJ3x8Ni5RKGEsbVsyXSkiLCIjIjoiYS4zNShcJzJtXCcpPT1tWzJdIiwiOiI6ezVQOiJpPG1bM10tMCIsNU86Imk+bVszXS0wIiwyMjoibVszXS0wPT1pIiw1UToibVszXS0wPT1pIiwyUToiaT09MCIsMlA6Imk9PXIuQy0xIiw1TDoiaSUyPT0wIiw1SzoiaSUyIiwiMlEtM3UiOiJhLkwuM1IoXCcqXCcpWzBdPT1hIiwiMlAtM3UiOiI2LjIyKGEuTC41SiwxLFwnNHRcJyk9PWEiLCI4Ni0zdSI6IiE2LjIyKGEuTC41SiwyLFwnNHRcJykiLDR2OiJhLjFkIiwyWToiIWEuMWQiLDVOOiIoYS41SHx8YS44NXx8XCdcJykuSihtWzNdKT49MCIsNGY6XCciMXkiIT1hLkcmJjYuMWYoYSwiVSIpIT0iMVAiJiY2LjFmKGEsIjQ4IikhPSIxeSJcJywxeTpcJyIxeSI9PWEuR3x8Ni4xZihhLCJVIik9PSIxUCJ8fDYuMWYoYSwiNDgiKT09IjF5IlwnLDg0OiIhYS4yciIsMnI6ImEuMnIiLDJCOiJhLjJCIiwyVDoiYS4yVHx8Ni4xYihhLFwnMlRcJykiLDJBOiJcJzJBXCc9PWEuRyIsNGI6IlwnNGJcJz09YS5HIiw1RjoiXCc1RlwnPT1hLkciLDRsOiJcJzRsXCc9PWEuRyIsNUU6IlwnNUVcJz09YS5HIiw0azoiXCc0a1wnPT1hLkciLDVEOiJcJzVEXCc9PWEuRyIsNUM6IlwnNUNcJz09YS5HIiwxSjpcJyIxSiI9PWEuR3x8Ni5RKGEsIjFKIilcJyw1QjoiLzVCfDJ5fDgyfDFKL2kuMTcoYS5RKSJ9LCJbIjoiNi4xTChtWzJdLGEpLkMifSw1QTpbL15cXFsgKihAKShbXFx3LV0rKSAqKFshKiRefj1dKikgKihcJz8iPykoLio/KVxcNCAqXFxdLywvXihcXFspXFxzKiguKj8oXFxbLio/XFxdKT9bXltdKj8pXFxzKlxcXS8sL14oOikoW1xcdy1dKylcXCgiP1wnPyguKj8oXFwoLio/XFwpKT9bXihdKj8pIj9cJz9cXCkvLDE0IDNvKCJeKFs6LiNdKikoIisoNi4ySj02Lk0uMjAmJjYuTS40RDwiMy4wLjAiPyJcXFxcdyI6Iig/OltcXFxcd1xcN1otXFw3WCoxSS1dfFxcXFxcXFxcLikiKSsiKykiKV0sMng6cShhLGMsYil7dSBkLDFLPVtdOzF2KGEmJmEhPWQpe2Q9YTt1IGY9Ni4xaShhLGMsYik7YT1mLnQuMW8oL15cXHMqLFxccyovLCIiKTsxSz1iP2M9Zi5yOjYuMVQoMUssZi5yKX12IDFLfSwxTDpxKHQsbCl7NygxZyB0IT0iMXMiKXZbdF07NyhsJiYhbC4xcSlsPUg7bD1sfHxQOzcoIXQuSigiLy8iKSl7bD1sLjRoO3Q9dC4yRygyLHQuQyl9QiA3KCF0LkooIi8iKSYmIWwuMk8pe2w9bC40aDt0PXQuMkcoMSx0LkMpOzcodC5KKCIvIik+PTEpdD10LjJHKHQuSigiLyIpLHQuQyl9dSBiPVtsXSwyaj1bXSwyUDsxdih0JiYyUCE9dCl7dSByPVtdOzJQPXQ7dD02LjJDKHQpLjFvKC9eXFwvXFwvLywiIik7dSBrPU47dSBnPTE0IDNvKCJeWy8+XVxcXFxzKigiKzYuMkorIispIik7dSBtPWcuMVYodCk7NyhtKXt1IG89bVsxXS4xRCgpO0UodSBpPTA7YltpXTtpKyspRSh1IGM9YltpXS4xZDtjO2M9Yy4xWCk3KGMuMXE9PTEmJihvPT0iKiJ8fGMuUS4xRCgpPT1vLjFEKCkpKXIuUihjKTtiPXI7dD10LjFvKGcsIiIpOzcodC5KKCIgIik9PTApN1I7az1LfUJ7Zz0vXigoXFwvP1xcLlxcLil8KFs+XFwvK35dKSlcXHMqKFthLXpdKikvaTs3KChtPWcuMVYodCkpIT1IKXtyPVtdO3Ugbz1tWzRdLDFrPTYuMWsrKzttPW1bMV07RSh1IGo9MCwyZT1iLkM7ajwyZTtqKyspNyhtLkooIi4uIik8MCl7dSBuPW09PSJ+Inx8bT09IisiP2Jbal0uMVg6YltqXS4xZDtFKDtuO249bi4xWCk3KG4uMXE9PTEpezcobT09In4iJiZuLjFrPT0xaykxRjs3KCFvfHxuLlEuMUQoKT09by4xRCgpKXs3KG09PSJ+IiluLjFrPTFrO3IuUihuKX03KG09PSIrIikxRn19QiByLlIoYltqXS5MKTtiPXI7dD02LjJDKHQuMW8oZywiIikpO2s9S319Nyh0JiYhayl7NyghdC5KKCIsIikpezcobD09YlswXSliLjRlKCk7Mmo9Ni4xVCgyaixiKTtyPWI9W2xdO3Q9IiAiK3QuMkcoMSx0LkMpfUJ7dSBoPTE0IDNvKCJeKCIrNi4ySisiKykoIykoIis2LjJKKyIrKSIpO3UgbT1oLjFWKHQpOzcobSl7bT1bMCxtWzJdLG1bM10sbVsxXV19QntoPTE0IDNvKCJeKFsjLl0/KSgiKzYuMkorIiopIik7bT1oLjFWKHQpfW1bMl09bVsyXS4xbygvXFxcXC9nLCIiKTt1IGY9YltiLkMtMV07NyhtWzFdPT0iIyImJmYmJmYuNGQpe3UgcD1mLjRkKG1bMl0pOzcoKDYuTS4xaHx8Ni5NLjJhKSYmcCYmMWcgcC4ybT09IjFzIiYmcC4ybSE9bVsyXSlwPTYoXCdbQDJtPSJcJyttWzJdK1wnIl1cJyxmKVswXTtiPXI9cCYmKCFtWzNdfHw2LlEocCxtWzNdKSk/W3BdOltdfUJ7RSh1IGk9MDtiW2ldO2krKyl7dSBhPW1bMV0hPSIifHxtWzBdPT0iIj8iKiI6bVsyXTs3KGE9PSIqIiYmYltpXS5RLjJIKCk9PSI3UCIpYT0iMkUiO3I9Ni4xVChyLGJbaV0uM1IoYSkpfTcobVsxXT09Ii4iKXI9Ni40YyhyLG1bMl0pOzcobVsxXT09IiMiKXt1IGU9W107RSh1IGk9MDtyW2ldO2krKyk3KHJbaV0uMzUoIjJtIik9PW1bMl0pe2U9W3JbaV1dOzFGfXI9ZX1iPXJ9dD10LjFvKGgsIiIpfX03KHQpe3UgZD02LjFpKHQscik7Yj1yPWQucjt0PTYuMkMoZC50KX19Nyh0KWI9W107NyhiJiZsPT1iWzBdKWIuNGUoKTsyaj02LjFUKDJqLGIpO3YgMmp9LDRjOnEocixtLGEpe209IiAiK20rIiAiO3UgYj1bXTtFKHUgaT0wO3JbaV07aSsrKXt1IGM9KCIgIityW2ldLjEyKyIgIikuSihtKT49MDs3KCFhJiZjfHxhJiYhYyliLlIocltpXSl9diBifSwxaTpxKHQscixoKXt1IGQ7MXYodCYmdCE9ZCl7ZD10O3UgcD02LjVBLG07RSh1IGk9MDtwW2ldO2krKyl7bT1wW2ldLjFWKHQpOzcobSl7dD10LjdOKG1bMF0uQyk7bVsyXT1tWzJdLjFvKC9cXFxcL2csIiIpOzFGfX03KCFtKTFGOzcobVsxXT09IjoiJiZtWzJdPT0iNFkiKXI9Ni4xaShtWzNdLHIsSykucjtCIDcobVsxXT09Ii4iKXI9Ni40YyhyLG1bMl0saCk7QiA3KG1bMV09PSJAIil7dSBnPVtdLEc9bVszXTtFKHUgaT0wLDJlPXIuQztpPDJlO2krKyl7dSBhPXJbaV0sej1hWzYuM0hbbVsyXV18fG1bMl1dOzcoej09SHx8LzRNfDJ1Ly4xNyhtWzJdKSl6PTYuMWIoYSxtWzJdKXx8XCdcJzs3KChHPT0iIiYmISF6fHxHPT0iPSImJno9PW1bNV18fEc9PSIhPSImJnohPW1bNV18fEc9PSJePSImJnomJiF6LkoobVs1XSl8fEc9PSIkPSImJnouMkcoei5DLW1bNV0uQyk9PW1bNV18fChHPT0iKj0ifHxHPT0ifj0iKSYmei5KKG1bNV0pPj0wKV5oKWcuUihhKX1yPWd9QiA3KG1bMV09PSI6IiYmbVsyXT09IjIyLTN1Iil7dSBlPTYuMWsrKyxnPVtdLDE3PS8oXFxkKiluXFwrPyhcXGQqKS8uMVYobVszXT09IjVMIiYmIjJuInx8bVszXT09IjVLIiYmIjJuKzEifHwhL1xcRC8uMTcobVszXSkmJiJuKyIrbVszXXx8bVszXSksMlE9KDE3WzFdfHwxKS0wLGQ9MTdbMl0tMDtFKHUgaT0wLDJlPXIuQztpPDJlO2krKyl7dSBqPXJbaV0sTD1qLkw7NyhlIT1MLjFrKXt1IGM9MTtFKHUgbj1MLjFkO247bj1uLjFYKTcobi4xcT09MSluLjRhPWMrKztMLjFrPWV9dSBiPU47NygyUT09MSl7NyhkPT0wfHxqLjRhPT1kKWI9S31CIDcoKGouNGErZCklMlE9PTApYj1LOzcoYl5oKWcuUihqKX1yPWd9Qnt1IGY9Ni40blttWzFdXTs3KDFnIGYhPSIxcyIpZj02LjRuW21bMV1dW21bMl1dOzQ5KCJmID0gcShhLGkpe3YgIitmKyJ9Iik7cj02LjJzKHIsZixoKX19dntyOnIsdDp0fX0sNHA6cShjKXt1IGI9W107dSBhPWMuTDsxdihhJiZhIT1QKXtiLlIoYSk7YT1hLkx9diBifSwyMjpxKGEsZSxjLGIpe2U9ZXx8MTt1IGQ9MDtFKDthO2E9YVtjXSk3KGEuMXE9PTEmJisrZD09ZSkxRjt2IGF9LDRxOnEobixhKXt1IHI9W107RSg7bjtuPW4uMVgpezcobi4xcT09MSYmKCFhfHxuIT1hKSlyLlIobil9diByfX0pOzYuUz17MUE6cShkLGUsYyxiKXs3KDYuTS4xaCYmZC4zbSE9SSlkPTE4OzcoIWMuMVEpYy4xUT05LjFRKys7NyhiIT1JKXt1IGY9YztjPXEoKXt2IGYuTyg5LDE5KX07Yy5XPWI7Yy4xUT1mLjFRfTcoIWQuJDFhKWQuJDFhPXt9OzcoIWQuJDFwKWQuJDFwPXEoKXt1IGE7NygxZyA2PT0iSSJ8fDYuUy40Nyl2IGE7YT02LlMuMXAuTyhkLDE5KTt2IGF9O3UgZz1kLiQxYVtlXTs3KCFnKXtnPWQuJDFhW2VdPXt9OzcoZC40NilkLjQ2KGUsZC4kMXAsTik7QiBkLjdNKCI1ciIrZSxkLiQxcCl9Z1tjLjFRXT1jOzcoITkuWVtlXSk5LllbZV09W107Nyg2LjJ3KGQsOS5ZW2VdKT09LTEpOS5ZW2VdLlIoZCl9LDFROjEsWTp7fSwxRTpxKGIsYyxhKXt1IGQ9Yi4kMWEsMVksMnA7NyhkKXs3KGMmJmMuRyl7YT1jLjQ0O2M9Yy5HfTcoIWMpe0UoYyBWIGQpOS4xRShiLGMpfUIgNyhkW2NdKXs3KGEpM2wgZFtjXVthLjFRXTtCIEUoYSBWIGIuJDFhW2NdKTNsIGRbY11bYV07RSgxWSBWIGRbY10pMUY7NyghMVkpezcoYi40MyliLjQzKGMsYi4kMXAsTik7QiBiLjdKKCI1ciIrYyxiLiQxcCk7MVk9SDszbCBkW2NdOzF2KDkuWVtjXSYmKCgycD02LjJ3KGIsOS5ZW2NdKSk+PTApKTNsIDkuWVtjXVsycF19fUUoMVkgViBkKTFGOzcoITFZKWIuJDFwPWIuJDFhPUh9fSwxdDpxKGMsYixkKXtiPTYuMkwoYnx8W10pOzcoIWQpNi5GKDkuWVtjXXx8W10scSgpezYuUy4xdChjLGIsOSl9KTtCe3UgYSwxWSwxMT02LjE2KGRbY118fEgpO2IuNXAoOS40Mih7RzpjLDFPOmR9KSk7Nyg2LjE2KGQuJDFwKSYmKGE9ZC4kMXAuTyhkLGIpKSE9PU4pOS40Nz1LOzcoMTEmJmEhPT1OJiYhNi5RKGQsXCdhXCcpKWRbY10oKTs5LjQ3PU59fSwxcDpxKGIpe3UgYTtiPTYuUy40MihifHwxOC5TfHx7fSk7dSBjPTkuJDFhJiY5LiQxYVtiLkddLDFTPVtdLjUxLjNEKDE5LDEpOzFTLjVwKGIpO0UodSBqIFYgYyl7MVNbMF0uNDQ9Y1tqXTsxU1swXS5XPWNbal0uVzs3KGNbal0uTyg5LDFTKT09PU4pe2IuMmQoKTtiLjJEKCk7YT1OfX03KDYuTS4xaCliLjFPPWIuMmQ9Yi4yRD1iLjQ0PWIuVz1IO3YgYX0sNDI6cShjKXt1IGE9YztjPTYuMWMoe30sYSk7Yy4yZD1xKCl7NyhhLjJkKXYgYS4yZCgpO2EuN0g9Tn07Yy4yRD1xKCl7NyhhLjJEKXYgYS4yRCgpO2EuN0Y9S307NyghYy4xTyYmYy41biljLjFPPWMuNW47Nyg2Lk0uMjAmJmMuMU8uMXE9PTMpYy4xTz1hLjFPLkw7NyghYy40MSYmYy40ailjLjQxPWMuNGo9PWMuMU8/Yy43QzpjLjRqOzcoYy41az09SCYmYy41aiE9SCl7dSBlPVAuNGgsYj1QLjR5O2MuNWs9Yy41aisoZSYmZS41aXx8Yi41aSk7Yy43ej1jLjd5KyhlJiZlLjVmfHxiLjVmKX03KCFjLjNoJiYoYy41ZXx8Yy41ZCkpYy4zaD1jLjVlfHxjLjVkOzcoIWMuNWMmJmMuNWIpYy41Yz1jLjViOzcoIWMuM2gmJmMuMUopYy4zaD0oYy4xSiYxPzE6KGMuMUomMj8zOihjLjFKJjQ/MjowKSkpO3YgY319OzYuMTEuMWMoezNnOnEoYyxhLGIpe3YgYz09IjN6Ij85LjNaKGMsYSxiKTo5LkYocSgpezYuUy4xQSg5LGMsYnx8YSxiJiZhKX0pfSwzWjpxKGQsYixjKXt2IDkuRihxKCl7Ni5TLjFBKDksZCxxKGEpezYoOSkuM1UoYSk7dihjfHxiKS5PKDksMTkpfSxjJiZiKX0pfSwzVTpxKGEsYil7diA5LkYocSgpezYuUy4xRSg5LGEsYil9KX0sMXQ6cShhLGIpe3YgOS5GKHEoKXs2LlMuMXQoYSxiLDkpfSl9LDFSOnEoKXt1IGE9MTk7diA5LjVhKHEoZSl7OS40dT0wPT05LjR1PzE6MDtlLjJkKCk7diBhWzkuNHVdLk8oOSxbZV0pfHxOfSl9LDd3OnEoZixnKXtxIDNXKGUpe3UgcD1lLjQxOzF2KHAmJnAhPTkpMmd7cD1wLkx9MjUoZSl7cD05fTs3KHA9PTkpdiBOO3YoZS5HPT0iM1YiP2Y6ZykuTyg5LFtlXSl9diA5LjNWKDNXKS41OSgzVyl9LDFHOnEoZil7Nyg2LjNkKWYuTyhQLFs2XSk7QiA2LjJxLlIocSgpe3YgZi5PKDksWzZdKX0pO3YgOX19KTs2LjFjKHszZDpOLDJxOltdLDFHOnEoKXs3KCE2LjNkKXs2LjNkPUs7Nyg2LjJxKXs2LkYoNi4ycSxxKCl7OS5PKFApfSk7Ni4ycT1IfTcoNi5NLjNqfHw2Lk0uMmEpUC40MygiNTgiLDYuMUcsTik7NyghMTguN3YuQyk2KDE4KS4xVyhxKCl7NigiIzNUIikuMUUoKX0pfX19KTsxNCBxKCl7Ni5GKCgiN3UsN3QsMVcsN3MsN3IsM3osNWEsN3EsIisiN3AsN28sN24sM1YsNTksN20sMnksIisiNGssN2wsN2ssN2osMmMiKS4yUigiLCIpLHEoaSxvKXs2LjExW29dPXEoZil7diBmPzkuM2cobyxmKTo5LjF0KG8pfX0pOzcoNi5NLjNqfHw2Lk0uMmEpUC40NigiNTgiLDYuMUcsTik7QiA3KDYuTS4xaCl7UC43aSgiPDdoIisiN2YgMm09M1QgN2U9SyAiKyIydT0vLzo+PFxcLzNiPiIpO3UgYT1QLjRkKCIzVCIpOzcoYSlhLjdkPXEoKXs3KDkuM2EhPSIxbiIpdjs2LjFHKCl9O2E9SH1CIDcoNi5NLjIwKTYuM049M20ocSgpezcoUC4zYT09Ijc5Inx8UC4zYT09IjFuIil7M00oNi4zTik7Ni4zTj1IOzYuMUcoKX19LDEwKTs2LlMuMUEoMTgsIjFXIiw2LjFHKX07Nyg2Lk0uMWgpNigxOCkuM1ooIjN6IixxKCl7dSBhPTYuUy5ZO0UodSBiIFYgYSl7dSBjPWFbYl0saT1jLkM7NyhpJiZiIT1cJzN6XCcpNzcgY1tpLTFdJiY2LlMuMUUoY1tpLTFdLGIpOzF2KC0taSl9fSk7Ni4xMS4xYyh7NzY6cShjLGIsYSl7OS4xVyhjLGIsYSwxKX0sMVc6cShnLGQsYyxlKXs3KDYuMTYoZykpdiA5LjNnKCIxVyIsZyk7Yz1jfHxxKCl7fTt1IGY9IjNLIjs3KGQpNyg2LjE2KGQpKXtjPWQ7ZD1IfUJ7ZD02LjJFKGQpO2Y9IjUwIn11IGg9OTs2LjJaKHsxQzpnLEc6ZixXOmQsMnQ6ZSwxbjpxKGEsYil7NyhiPT0iMjgifHwhZSYmYj09IjRWIiloLjFiKCIyNyIsYS4zYykuM0ooKS5GKGMsW2EuM2MsYixhXSk7QiBjLk8oaCxbYS4zYyxiLGFdKX19KTt2IDl9LDcyOnEoKXt2IDYuMkUoOSl9LDNKOnEoKXt2IDkuMUwoIjNiIikuRihxKCl7Nyg5LjJ1KTYuNFUoOS4ydSk7QiA2LjNJKDkuMkF8fDkuNUh8fDkuMjd8fCIiKX0pLjJVKCl9fSk7Ni5GKCI0VCw0SSw0Uyw0Uiw0USw0UCIuMlIoIiwiKSxxKGksbyl7Ni4xMVtvXT1xKGYpe3YgOS4zZyhvLGYpfX0pOzYuMWMoezFNOnEoZSxjLGEsZCxiKXs3KDYuMTYoYykpe2E9YztjPUh9diA2LjJaKHtHOiIzSyIsMUM6ZSxXOmMsMjg6YSwzRzpkLDJ0OmJ9KX0sNlg6cShkLGIsYSxjKXt2IDYuMU0oZCxiLGEsYywxKX0sNFU6cShiLGEpe3YgNi4xTShiLEgsYSwiM2IiKX0sNlY6cShjLGIsYSl7diA2LjFNKGMsYixhLCI0TiIpfSw2VDpxKGQsYixhLGMpezcoNi4xNihiKSl7YT1iO2I9e319diA2LjJaKHtHOiI1MCIsMUM6ZCxXOmIsMjg6YSwzRzpjfSl9LDZTOnEoYSl7Ni4zNi4yMT1hfSw2UTpxKGEpezYuMWMoNi4zNixhKX0sMzY6e1k6SyxHOiIzSyIsMjE6MCw0TzoiNlAveC02Ty0zNC02TiIsNEs6SywzODpLLFc6SH0sMzI6e30sMlo6cShzKXtzPTYuMWMoe30sNi4zNixzKTs3KHMuVyl7NyhzLjRLJiYxZyBzLlchPSIxcyIpcy5XPTYuMkUocy5XKTs3KHMuRy4ySCgpPT0iMU0iKXtzLjFDKz0oKHMuMUMuSigiPyIpPi0xKT8iJiI6Ij8iKStzLlc7cy5XPUh9fTcocy5ZJiYhNi4zTCsrKTYuUy4xdCgiNFQiKTt1IGY9Tjt1IGg9MTguNFo/MTQgNFooIjZMLjZKIik6MTQgNEooKTtoLjdiKHMuRyxzLjFDLHMuMzgpOzcocy5XKWguM1EoIjZILTZHIixzLjRPKTs3KHMuMnQpaC4zUSgiNkYtM08tNkQiLDYuMzJbcy4xQ118fCI2QywgNkIgNkEgNnogNHI6NHI6NHIgNnkiKTtoLjNRKCJYLTZ4LTZ3IiwiNEoiKTs3KHMuNTYpcy41NihoKTs3KHMuWSk2LlMuMXQoIjRQIixbaCxzXSk7dSBnPXEoZCl7NyhoJiYoaC4zYT09NHx8ZD09IjIxIikpe2Y9Szs3KGkpezNNKGkpO2k9SH11IGM7Mmd7Yz02LjU0KGgpJiZkIT0iMjEiP3MuMnQmJjYuNEYoaCxzLjFDKT8iNFYiOiIyOCI6IjJjIjs3KGMhPSIyYyIpe3UgYjsyZ3tiPWguM0UoIjUzLTNPIil9MjUoZSl7fTcocy4ydCYmYik2LjMyW3MuMUNdPWI7dSBhPTYuNTUoaCxzLjNHKTs3KHMuMjgpcy4yOChhLGMpOzcocy5ZKTYuUy4xdCgiNFEiLFtoLHNdKX1CIDYuMlgocyxoLGMpfTI1KGUpe2M9IjJjIjs2LjJYKHMsaCxjLGUpfTcocy5ZKTYuUy4xdCgiNFMiLFtoLHNdKTs3KHMuWSYmIS0tNi4zTCk2LlMuMXQoIjRJIik7NyhzLjFuKXMuMW4oaCxjKTs3KHMuMzgpaD1IfX07dSBpPTNtKGcsMTMpOzcocy4yMT4wKTRDKHEoKXs3KGgpe2guNnIoKTs3KCFmKWcoIjIxIil9fSxzLjIxKTsyZ3toLjZwKHMuVyl9MjUoZSl7Ni4yWChzLGgsSCxlKX03KCFzLjM4KWcoKTt2IGh9LDJYOnEocyxhLGIsZSl7NyhzLjJjKXMuMmMoYSxiLGUpOzcocy5ZKTYuUy4xdCgiNFIiLFthLHMsZV0pfSwzTDowLDU0OnEocil7Mmd7diFyLjIzJiY3QS43Qj09IjRsOiJ8fChyLjIzPj01dSYmci4yMzw2bCl8fHIuMjM9PTVtfHw2Lk0uMjAmJnIuMjM9PUl9MjUoZSl7fXYgTn0sNEY6cShhLGMpezJne3UgYj1hLjNFKCI1My0zTyIpO3YgYS4yMz09NW18fGI9PTYuMzJbY118fDYuTS4yMCYmYS4yMz09SX0yNShlKXt9diBOfSw1NTpxKHIsYil7dSBjPXIuM0UoIjZrLUciKTt1IGE9IWImJmMmJmMuSigiNEIiKT49MDthPWI9PSI0QiJ8fGE/ci42ajpyLjNjOzcoYj09IjNiIik2LjNJKGEpOzcoYj09IjROIilhPTQ5KCIoIithKyIpIik7NyhiPT0iM0YiKTYoIjwxeD4iKS4zRihhKS4zSigpO3YgYX0sMkU6cShhKXt1IHM9W107NyhhLjE1PT0yYnx8YS4zQyk2LkYoYSxxKCl7cy5SKDJsKDkuNmkpKyI9IisybCg5LjJ2KSl9KTtCIEUodSBqIFYgYSk3KGFbal0mJmFbal0uMTU9PTJiKTYuRihhW2pdLHEoKXtzLlIoMmwoaikrIj0iKzJsKDkpKX0pO0Igcy5SKDJsKGopKyI9IisybChhW2pdKSk7diBzLjVNKCImIil9LDNJOnEoYSl7NygxOC40QSkxOC40QShhKTtCIDcoNi5NLjIwKTE4LjRDKGEsMCk7QiA0OS4zRCgxOCxhKX19KTs2LjExLjFjKHsxbTpxKGIsYSl7diBiPzkuMXcoezF1OiIxbSIsMjk6IjFtIiwxZToiMW0ifSxiLGEpOjkuMWkoIjoxeSIpLkYocSgpezkuVC5VPTkuMmk/OS4yaToiIjs3KDYuMWYoOSwiVSIpPT0iMVAiKTkuVC5VPSIyaCJ9KS4yVSgpfSwxajpxKGIsYSl7diBiPzkuMXcoezF1OiIxaiIsMjk6IjFqIiwxZToiMWoifSxiLGEpOjkuMWkoIjo0ZiIpLkYocSgpezkuMmk9OS4yaXx8Ni4xZig5LCJVIik7Nyg5LjJpPT0iMVAiKTkuMmk9IjJoIjs5LlQuVT0iMVAifSkuMlUoKX0sNUc6Ni4xMS4xUiwxUjpxKGEsYil7diA2LjE2KGEpJiY2LjE2KGIpPzkuNUcoYSxiKTphPzkuMXcoezF1OiIxUiIsMjk6IjFSIiwxZToiMVIifSxhLGIpOjkuRihxKCl7Nig5KVs2KDkpLjM3KCI6MXkiKT8iMW0iOiIxaiJdKCl9KX0sNmU6cShiLGEpe3YgOS4xdyh7MXU6IjFtIn0sYixhKX0sNmQ6cShiLGEpe3YgOS4xdyh7MXU6IjFqIn0sYixhKX0sNmI6cShiLGEpe3YgOS4xdyh7MXU6IjFSIn0sYixhKX0sNmE6cShiLGEpe3YgOS4xdyh7MWU6IjFtIn0sYixhKX0sNjk6cShiLGEpe3YgOS4xdyh7MWU6IjFqIn0sYixhKX0sN1U6cShjLGEsYil7diA5LjF3KHsxZTphfSxjLGIpfSwxdzpxKGQsaCxmLGcpe3YgOS4xbChxKCl7dSBjPTYoOSkuMzcoIjoxeSIpLDFIPTYuNXooaCxmLGcpLDV5PTk7RSh1IHAgViBkKXs3KGRbcF09PSIxaiImJmN8fGRbcF09PSIxbSImJiFjKXYgNi4xNigxSC4xbikmJjFILjFuLk8oOSk7NyhwPT0iMXUifHxwPT0iMjkiKXsxSC5VPTYuMWYoOSwiVSIpOzFILjJmPTkuVC4yZn19NygxSC4yZiE9SCk5LlQuMmY9IjF5Ijs5LjJrPTYuMWMoe30sZCk7Ni5GKGQscShhLGIpe3UgZT0xNCA2LjJNKDV5LDFILGEpOzcoYi4xNT09M3kpZS4yVyhlLjFLKCksYik7QiBlW2I9PSIxUiI/Yz8iMW0iOiIxaiI6Yl0oZCl9KX0pfSwxbDpxKGEsYil7NyghYil7Yj1hO2E9IjJNIn12IDkuRihxKCl7NyghOS4xbCk5LjFsPXt9OzcoITkuMWxbYV0pOS4xbFthXT1bXTs5LjFsW2FdLlIoYik7Nyg5LjFsW2FdLkM9PTEpYi5PKDkpfSl9fSk7Ni4xYyh7NXo6cShiLGEsYyl7dSBkPWImJmIuMTU9PTY0P2I6ezFuOmN8fCFjJiZhfHw2LjE2KGIpJiZiLDFCOmIsMkk6YyYmYXx8YSYmYS4xNSE9NDUmJmF8fCg2LjJJLjRpPyI0aSI6IjR3Iil9O2QuMUI9KGQuMUImJmQuMUIuMTU9PTN5P2QuMUI6ezYxOjYwLDg5OjV1fVtkLjFCXSl8fDhhO2QuMk49ZC4xbjtkLjFuPXEoKXs2LjVJKDksIjJNIik7Nyg2LjE2KGQuMk4pKWQuMk4uTyg5KX07diBkfSwySTp7NHc6cShwLG4sYixhKXt2IGIrYSpwfSw0aTpxKHAsbixiLGEpe3YoKC01Vy41WChwKjVXLjhlKS8yKSswLjUpKmErYn19LDFsOnt9LDVJOnEoYixhKXthPWF8fCIyTSI7NyhiLjFsJiZiLjFsW2FdKXtiLjFsW2FdLjRlKCk7dSBmPWIuMWxbYV1bMF07NyhmKWYuTyhiKX19LDNCOltdLDJNOnEoZixlLGcpe3Ugej05O3UgeT1mLlQ7ei5hPXEoKXs3KGUuM0EpZS4zQS5PKGYsW3ouMm9dKTs3KGc9PSIxZSIpNi4xYih5LCIxZSIsei4ybyk7Qnt5W2ddPThtKHouMm8pKyI0byI7eS5VPSIyaCJ9fTt6LjVWPXEoKXt2IDM5KDYuMWYoZixnKSl9O3ouMUs9cSgpe3Ugcj0zOSg2LjJ6KGYsZykpO3YgciYmcj4tOGw/cjp6LjVWKCl9O3ouMlc9cShjLGIpe3ouNHM9KDE0IDVUKCkpLjVTKCk7ei4ybz1jO3ouYSgpOzYuM0IuUihxKCl7diB6LjNBKGMsYil9KTs3KDYuM0IuQz09MSl7dSBkPTNtKHEoKXt1IGE9Ni4zQjtFKHUgaT0wO2k8YS5DO2krKyk3KCFhW2ldKCkpYS44aihpLS0sMSk7NyghYS5DKTNNKGQpfSwxMyl9fTt6LjFtPXEoKXs3KCFmLjI0KWYuMjQ9e307Zi4yNFtnXT02LjFiKGYuVCxnKTtlLjFtPUs7ei4yVygwLDkuMUsoKSk7NyhnIT0iMWUiKXlbZ109IjhxIjs2KGYpLjFtKCl9O3ouMWo9cSgpezcoIWYuMjQpZi4yND17fTtmLjI0W2ddPTYuMWIoZi5ULGcpO2UuMWo9Szt6LjJXKDkuMUsoKSwwKX07ei4zQT1xKGEsYyl7dSB0PSgxNCA1VCgpKS41UygpOzcodD5lLjFCK3ouNHMpe3ouMm89Yzt6LmEoKTs3KGYuMmspZi4ya1tnXT1LO3UgYj1LO0UodSBpIFYgZi4yayk3KGYuMmtbaV0hPT1LKWI9Tjs3KGIpezcoZS5VIT1IKXt5LjJmPWUuMmY7eS5VPWUuVTs3KDYuMWYoZiwiVSIpPT0iMVAiKXkuVT0iMmgifTcoZS4xail5LlU9IjFQIjs3KGUuMWp8fGUuMW0pRSh1IHAgViBmLjJrKTYuMWIoeSxwLGYuMjRbcF0pfTcoYiYmNi4xNihlLjFuKSllLjFuLk8oZik7diBOfUJ7dSBuPXQtOS40czt1IHA9bi9lLjFCO3ouMm89Ni4ySVtlLjJJXShwLG4sYSwoYy1hKSxlLjFCKTt6LmEoKX12IEt9fX0pfScsNjIsNTI0LCd8fHx8fHxqUXVlcnl8aWZ8fHRoaXN8fHx8fHx8fHx8fHx8fHx8fGZ1bmN0aW9ufHx8fHZhcnxyZXR1cm58fHx8fHxlbHNlfGxlbmd0aHx8Zm9yfGVhY2h8dHlwZXxudWxsfHVuZGVmaW5lZHxpbmRleE9mfHRydWV8cGFyZW50Tm9kZXxicm93c2VyfGZhbHNlfGFwcGx5fGRvY3VtZW50fG5vZGVOYW1lfHB1c2h8ZXZlbnR8c3R5bGV8ZGlzcGxheXxpbnxkYXRhfHxnbG9iYWx8fHxmbnxjbGFzc05hbWV8fG5ld3xjb25zdHJ1Y3Rvcnxpc0Z1bmN0aW9ufHRlc3R8d2luZG93fGFyZ3VtZW50c3xldmVudHN8YXR0cnxleHRlbmR8Zmlyc3RDaGlsZHxvcGFjaXR5fGNzc3x0eXBlb2Z8bXNpZXxmaWx0ZXJ8aGlkZXxtZXJnZU51bXxxdWV1ZXxzaG93fGNvbXBsZXRlfHJlcGxhY2V8aGFuZGxlfG5vZGVUeXBlfHRhYmxlfHN0cmluZ3x0cmlnZ2VyfGhlaWdodHx3aGlsZXxhbmltYXRlfGRpdnxoaWRkZW58dGJvZHl8YWRkfGR1cmF0aW9ufHVybHx0b1VwcGVyQ2FzZXxyZW1vdmV8YnJlYWt8cmVhZHl8b3B0fF98YnV0dG9ufGN1cnxmaW5kfGdldHx0Ynx0YXJnZXR8bm9uZXxndWlkfHRvZ2dsZXxhcmdzfG1lcmdlfHN0eWxlRmxvYXR8ZXhlY3xsb2FkfG5leHRTaWJsaW5nfHJldHxwdXNoU3RhY2t8c2FmYXJpfHRpbWVvdXR8bnRofHN0YXR1c3xvcmlnfGNhdGNofGFsfGlubmVySFRNTHxzdWNjZXNzfHdpZHRofG9wZXJhfEFycmF5fGVycm9yfHByZXZlbnREZWZhdWx0fHJsfG92ZXJmbG93fHRyeXxibG9ja3xvbGRibG9ja3xkb25lfGN1ckFuaW18ZW5jb2RlVVJJQ29tcG9uZW50fGlkfHxub3d8aW5kZXh8cmVhZHlMaXN0fGRpc2FibGVkfGdyZXB8aWZNb2RpZmllZHxzcmN8dmFsdWV8aW5BcnJheXxtdWx0aUZpbHRlcnxzZWxlY3R8Y3VyQ1NTfHRleHR8Y2hlY2tlZHx0cmltfHN0b3BQcm9wYWdhdGlvbnxwYXJhbXxkb21NYW5pcHxzdWJzdHJ8dG9Mb3dlckNhc2V8ZWFzaW5nfGNoYXJzfGluc2VydEJlZm9yZXxtYWtlQXJyYXl8Znh8b2xkfG93bmVyRG9jdW1lbnR8bGFzdHxmaXJzdHxzcGxpdHxjaGlsZE5vZGVzfHNlbGVjdGVkfGVuZHx0cnxjdXN0b218aGFuZGxlRXJyb3J8ZW1wdHl8YWpheHxlbHxjbGVhbnxsYXN0TW9kaWZpZWR8U3RyaW5nfGZvcm18Z2V0QXR0cmlidXRlfGFqYXhTZXR0aW5nc3xpc3xhc3luY3xwYXJzZUZsb2F0fHJlYWR5U3RhdGV8c2NyaXB0fHJlc3BvbnNlVGV4dHxpc1JlYWR5fGFwcGVuZHxkZWZhdWx0Vmlld3xiaW5kfHdoaWNofHBvc2l0aW9ufG1vemlsbGF8bWFwfGRlbGV0ZXxzZXRJbnRlcnZhbHxzdGF0aWN8UmVnRXhwfG9XaWR0aHxyZW1vdmVDaGlsZHxvSGVpZ2h0fGNsb25lTm9kZXxtYXRjaHxjaGlsZHx0b1N0cmluZ3xoYXN8ZmxvYXR8TnVtYmVyfHVubG9hZHxzdGVwfHRpbWVyc3xqcXVlcnl8Y2FsbHxnZXRSZXNwb25zZUhlYWRlcnxodG1sfGRhdGFUeXBlfHByb3BzfGdsb2JhbEV2YWx8ZXZhbFNjcmlwdHN8R0VUfGFjdGl2ZXxjbGVhckludGVydmFsfHNhZmFyaVRpbWVyfE1vZGlmaWVkfG51bXxzZXRSZXF1ZXN0SGVhZGVyfGdldEVsZW1lbnRzQnlUYWdOYW1lfGN1cnJlbnRTdHlsZXxfX2llX2luaXR8dW5iaW5kfG1vdXNlb3ZlcnxoYW5kbGVIb3Zlcnxpbml0fGdldENvbXB1dGVkU3R5bGV8b25lfGlzWE1MRG9jfHJlbGF0ZWRUYXJnZXR8Zml4fHJlbW92ZUV2ZW50TGlzdGVuZXJ8aGFuZGxlcnxGdW5jdGlvbnxhZGRFdmVudExpc3RlbmVyfHRyaWdnZXJlZHx2aXNpYmlsaXR5fGV2YWx8bm9kZUluZGV4fHJhZGlvfGNsYXNzRmlsdGVyfGdldEVsZW1lbnRCeUlkfHNoaWZ0fHZpc2libGV8YXBwZW5kQ2hpbGR8ZG9jdW1lbnRFbGVtZW50fHN3aW5nfGZyb21FbGVtZW50fHN1Ym1pdHxmaWxlfHN3YXB8ZXhwcnxweHxwYXJlbnRzfHNpYmxpbmd8MDB8c3RhcnRUaW1lfHByZXZpb3VzU2libGluZ3xsYXN0VG9nZ2xlfHBhcmVudHxsaW5lYXJ8b2x8Ym9keXx0YWdOYW1lfGV4ZWNTY3JpcHR8eG1sfHNldFRpbWVvdXR8dmVyc2lvbnxzZXRBcnJheXxodHRwTm90TW9kaWZpZWR8Zmx8cHJvcHxhamF4U3RvcHxYTUxIdHRwUmVxdWVzdHxwcm9jZXNzRGF0YXxhbHBoYXxocmVmfGpzb258Y29udGVudFR5cGV8YWpheFNlbmR8YWpheFN1Y2Nlc3N8YWpheEVycm9yfGFqYXhDb21wbGV0ZXxhamF4U3RhcnR8Z2V0U2NyaXB0fG5vdG1vZGlmaWVkfGNvbGdyb3VwfDEwMHxub3R8QWN0aXZlWE9iamVjdHxQT1NUfHNsaWNlfGZpZWxkc2V0fExhc3R8aHR0cFN1Y2Nlc3N8aHR0cERhdGF8YmVmb3JlU2VuZHxnZXRQcm9wZXJ0eVZhbHVlfERPTUNvbnRlbnRMb2FkZWR8bW91c2VvdXR8Y2xpY2t8Y3RybEtleXxtZXRhS2V5fGtleUNvZGV8Y2hhckNvZGV8c2Nyb2xsVG9wfHVuaXF1ZXxjcmVhdGVFbGVtZW50fHNjcm9sbExlZnR8Y2xpZW50WHxwYWdlWHx3ZWJraXR8MzA0fHNyY0VsZW1lbnR8YXBwZW5kVG98dW5zaGlmdHxwcmV2T2JqZWN0fG9ufGFmdGVyfGJlZm9yZXwyMDB8cmVtb3ZlQXR0cnxwcmVwZW5kfGNzc0Zsb2F0fHNlbGZ8c3BlZWR8cGFyc2V8aW5wdXR8cmVzZXR8aW1hZ2V8cGFzc3dvcmR8Y2hlY2tib3h8X3RvZ2dsZXx0ZXh0Q29udGVudHxkZXF1ZXVlfGxhc3RDaGlsZHxvZGR8ZXZlbnxqb2lufGNvbnRhaW5zfGd0fGx0fGVxfG5vZGVWYWx1ZXxnZXRUaW1lfERhdGV8em9vbXxtYXh8TWF0aHxjb3N8Zm9udHxtYXhMZW5ndGh8NjAwfHNsb3d8bWF4bGVuZ3RofHJlYWRPbmx5fE9iamVjdHxyZWFkb25seXxjcmVhdGVUZXh0Tm9kZXxjbGFzc3xodG1sRm9yfGZhZGVPdXR8ZmFkZUlufHNsaWRlVG9nZ2xlfENTUzFDb21wYXR8c2xpZGVVcHxzbGlkZURvd258Y29tcGF0TW9kZXxib3hNb2RlbHxjb21wYXRpYmxlfG5hbWV8cmVzcG9uc2VYTUx8Y29udGVudHwzMDB8aWV8bm9Db25mbGljdHxyYXxzZW5kfGl0fGFib3J0fHJ2fHVzZXJBZ2VudHxuYXZpZ2F0b3J8Y29uY2F0fFdpdGh8UmVxdWVzdGVkfEdNVHwxOTcwfEphbnwwMXxUaHV8U2luY2V8cmV2ZXJzZXxJZnxUeXBlfENvbnRlbnR8YXJyYXl8WE1MSFRUUHxpZ3xNaWNyb3NvZnR8TmFOfHVybGVuY29kZWR8d3d3fGFwcGxpY2F0aW9ufGFqYXhTZXR1cHx2YWx8YWpheFRpbWVvdXR8cG9zdHxzZXRBdHRyaWJ1dGV8Z2V0SlNPTnxnZXRBdHRyaWJ1dGVOb2RlfGdldElmTW9kaWZpZWR8bWV0aG9kfEZPUk18YWN0aW9ufG9wdGlvbnN8c2VyaWFsaXplfGNvbHx0aHx0ZHxsb2FkSWZNb2RpZmllZHxkb3xjb2xnfGxvYWRlZHx0Zm9vdHxvcGVufHRoZWFkfG9ucmVhZHlzdGF0ZWNoYW5nZXxkZWZlcnxpcHR8bGVnfHNjcnx3cml0ZXxrZXl1cHxrZXlwcmVzc3xrZXlkb3dufGNoYW5nZXxtb3VzZW1vdmV8bW91c2V1cHxtb3VzZWRvd258ZGJsY2xpY2t8c2Nyb2xsfHJlc2l6ZXxmb2N1c3xibHVyfGZyYW1lc3xob3ZlcnxjbG9uZXxjbGllbnRZfHBhZ2VZfGxvY2F0aW9ufHByb3RvY29sfHRvRWxlbWVudHxjbGllbnRXaWR0aHxjbGllbnRIZWlnaHR8Y2FuY2VsQnViYmxlfHJlbGF0aXZlfHJldHVyblZhbHVlfGxlZnR8ZGV0YWNoRXZlbnR8cmlnaHR8YWJzb2x1dGV8YXR0YWNoRXZlbnR8c3Vic3RyaW5nfG9mZnNldFdpZHRofG9iamVjdHxvZmZzZXRIZWlnaHR8Y29udGludWV8V2lkdGh8Ym9yZGVyfGZhZGVUb3xwYWRkaW5nfHNpemV8dUZGRkZ8TGVmdHx1MDEyOHxSaWdodHxCb3R0b218dGV4dGFyZWF8VG9wfGVuYWJsZWR8aW5uZXJUZXh0fG9ubHl8dG9nZ2xlQ2xhc3N8cmVtb3ZlQ2xhc3N8ZmFzdHw0MDB8d3JhcHxhZGRDbGFzc3xyZW1vdmVBdHRyaWJ1dGV8UEl8aW5zZXJ0QWZ0ZXJ8cHJlcGVuZFRvfGNoaWxkcmVufGxpbmV8c3BsaWNlfHNpYmxpbmdzfDEwMDAwfHBhcnNlSW50fHByZXZ8bmV4dHx3ZWlnaHR8MXB4fHByb3RvdHlwZScuc3BsaXQoJ3wnKSwwLHt9KSk=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/js/jquery.history_remote.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIEhpc3RvcnkvUmVtb3RlIC0galF1ZXJ5IHBsdWdpbiBmb3IgZW5hYmxpbmcgaGlzdG9yeSBzdXBwb3J0IGFuZCBib29rbWFya2luZwogKiBAcmVxdWlyZXMgalF1ZXJ5IHYxLjAuMwogKgogKiBodHRwOi8vc3RpbGJ1ZXJvLmRlL2pxdWVyeS9oaXN0b3J5LwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDYgS2xhdXMgSGFydGwgKHN0aWxidWVyby5kZSkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6CiAqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAogKgogKiBWZXJzaW9uOiAwLjIuMwogKi8KZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCcoMigkKXskLkQ9MTYgMigpezQgYz1cJzE1XCc7NCBrPTcuNjs0IGQ9ejs0IGc7NS5vPTIoKXt9OzQgaD0yKCl7JChcJy54LVJcJykuMWkoKX07JCg4KS5LKGMsaCk7MygkLnYuMTkpezQgZSxwPXE7JCgyKCl7ZT0kKFwnPEggMTM9IjEyOiBaOyI+PC9IPlwnKS5FKDguVSkuMW8oMCk7NCBhPWUuQy44O2EuUCgpO2EuTSgpOzMoayYmayE9XCcjXCcpe2EuNy42PWsuQihcJyNcJyxcJ1wnKX19KTs1Lm89MihhKXtrPWE7NCBiPWUuQy44O2IuUCgpO2IuTSgpO2IuNy42PWEuQihcJyNcJyxcJ1wnKX07Zz0yKCl7NCBhPWUuQy44OzQgYj1hLjcuNjszKGIhPWspe2s9YjszKGImJmIhPVwnI1wnKXskKFwnYVtAbCQ9IlwnK2IrXCciXVwnKS5tKCk7Ny42PWJ9biAzKHApezcuNj1cJ1wnOyQoOCkudShjKX19cD1BfX1uIDMoJC52LjE4fHwkLnYuMTcpezUubz0yKGEpe2s9YX07Zz0yKCl7Myg3LjYpezMoayE9Ny42KXtrPTcuNjskKFwnYVtAbCQ9IlwnK2srXCciXVwnKS5tKCl9fW4gMyhrKXtrPVwnXCc7JCg4KS51KGMpfX19biAzKCQudi4xNCl7NCBmLHIsdDskKDIoKXtmPVtdO2YuOT15Ljk7cj1bXX0pOzQgaj1xLHA9cTt0PTIoYSl7Zi5HKGEpO3IuOT0wO2o9cX07NS5vPTIoYSl7az1hO3Qoayl9O2c9MigpezQgYj15LjktZi45OzMoYil7aj1xOzMoYjwwKXtGKDQgaT0wO2k8MTEuMTAoYik7aSsrKXIuWShmLlgoKSl9bntGKDQgaT0wO2k8YjtpKyspZi5HKHIuVygpKX00IGE9ZltmLjktMV07JChcJ2FbQGwkPSJcJythK1wnIl1cJykubSgpO2s9Ny42fW4gMyhmW2YuOS0xXT09VCYmIWopezMoOC5TLjFuKFwnI1wnKT49MCl7JChcJ2FbQGwkPSJcJytcJyNcJys4LlMuMW0oXCcjXCcpWzFdK1wnIl1cJykubSgpfW4gMyhwKXskKDgpLnUoYyl9aj1BfXA9QX19NS4xbD0yKGEpezModyBhPT1cJzJcJyl7JCg4KS4xayhjLGgpLksoYyxhKX0zKDcuNiYmdyB0PT1cJ1RcJyl7JChcJ2FbQGwkPSJcJys3LjYrXCciXVwnKS51KFwnbVwnKX0zKGcmJmQ9PXope2Q9MWooZywxaCl9fX07JC5RLng9MihnLGYsYyl7Yz1jfHwyKCl7fTszKHcgZj09XCcyXCcpe2M9Zn1mPSQuMWcoe086XCd4LVwnfSxmfHx7fSk7NCBkPSQoZykuMWYoKSYmJChnKXx8JChcJzxJPjwvST5cJykuRShcJ1VcJyk7ZC4xZShcJ3gtUlwnKTtMIDUuMWQoMihpKXs0IGE9NS5sOzQgYj1cJyNcJysoNS5OJiY1Lk4uQigvXFxzL2csXCcxY1wnKXx8Zi5PKyhpKzEpKTs1Lmw9YjskKDUpLm0oMihlKXszKCFkW1wnSlwnXSl7MyhlLlYpeyQuRC5vKGIpfWQuMWIoYSwyKCl7ZFtcJ0pcJ109ejtjKCl9KX19KX0pfTskLlEueT0yKGEpe0wgNS5tKDIoZSl7MyhlLlYpeyQuRC5vKDUuNil9dyBhPT1cJzJcJyYmYSgpfSl9fSkoMWEpOycsNjIsODcsJ3x8ZnVuY3Rpb258aWZ8dmFyfHRoaXN8aGFzaHxsb2NhdGlvbnxkb2N1bWVudHxsZW5ndGh8fHx8fHx8fHx8fHxocmVmfGNsaWNrfGVsc2V8dXBkYXRlfGluaXRpYWxpemVkfGZhbHNlfF9mb3J3YXJkU3RhY2t8fF9hZGRIaXN0b3J5fHRyaWdnZXJ8YnJvd3Nlcnx0eXBlb2Z8cmVtb3RlfGhpc3Rvcnl8bnVsbHx0cnVlfHJlcGxhY2V8Y29udGVudFdpbmRvd3xhamF4SGlzdG9yeXxhcHBlbmRUb3xmb3J8cHVzaHxpZnJhbWV8ZGl2fGxvY2tlZHxiaW5kfHJldHVybnxjbG9zZXx0aXRsZXxoYXNoUHJlZml4fG9wZW58Zm58b3V0cHV0fFVSTHx1bmRlZmluZWR8Ym9keXxjbGllbnRYfHNoaWZ0fHBvcHx1bnNoaWZ0fG5vbmV8YWJzfE1hdGh8ZGlzcGxheXxzdHlsZXxzYWZhcml8aGlzdG9yeVJlc2V0fG5ld3xvcGVyYXxtb3ppbGxhfG1zaWV8alF1ZXJ5fGxvYWR8X3xlYWNofGFkZENsYXNzfHNpemV8ZXh0ZW5kfDIwMHxlbXB0eXxzZXRJbnRlcnZhbHx1bmJpbmR8aW5pdGlhbGl6ZXxzcGxpdHxpbmRleE9mfGdldCcuc3BsaXQoJ3wnKSwwLHt9KSk=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/js/jquery.tabs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFRhYnMgLSBqUXVlcnkgcGx1Z2luIGZvciBhY2Nlc3NpYmxlLCB1bm9idHJ1c2l2ZSB0YWJzCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuMS4xCiAqCiAqIGh0dHA6Ly9zdGlsYnVlcm8uZGUvdGFicy8KICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEtsYXVzIEhhcnRsIChzdGlsYnVlcm8uZGUpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICoKICogVmVyc2lvbjogMi43LjQKICovCgooZnVuY3Rpb24oJCkgeyAvLyBibG9jayBzY29wZQoKJC5leHRlbmQoewogICAgdGFiczogewogICAgICAgIHJlbW90ZUNvdW50OiAwIC8vIFRPRE8gaW4gVGFicyAzIHRoaXMgaXMgZ29pbmcgdG8gYmUgbW9yZSBjbGVhbmx5IGluIG9uZSBzaW5nbGUgbmFtZXNwYWNlCiAgICB9Cn0pOwoKLyoqCiAqIENyZWF0ZSBhbiBhY2Nlc3NpYmxlLCB1bm9idHJ1c2l2ZSB0YWIgaW50ZXJmYWNlIGJhc2VkIG9uIGEgcGFydGljdWxhciBIVE1MIHN0cnVjdHVyZS4KICoKICogVGhlIHVuZGVybHlpbmcgSFRNTCBoYXMgdG8gbG9vayBsaWtlIHRoaXM6CiAqCiAqIDxkaXYgaWQ9ImNvbnRhaW5lciI+CiAqICAgICA8dWw+CiAqICAgICAgICAgPGxpPjxhIGhyZWY9IiNmcmFnbWVudC0xIj5TZWN0aW9uIDE8L2E+PC9saT4KICogICAgICAgICA8bGk+PGEgaHJlZj0iI2ZyYWdtZW50LTIiPlNlY3Rpb24gMjwvYT48L2xpPgogKiAgICAgICAgIDxsaT48YSBocmVmPSIjZnJhZ21lbnQtMyI+U2VjdGlvbiAzPC9hPjwvbGk+CiAqICAgICA8L3VsPgogKiAgICAgPGRpdiBpZD0iZnJhZ21lbnQtMSI+CiAqCiAqICAgICA8L2Rpdj4KICogICAgIDxkaXYgaWQ9ImZyYWdtZW50LTIiPgogKgogKiAgICAgPC9kaXY+CiAqICAgICA8ZGl2IGlkPSJmcmFnbWVudC0zIj4KICoKICogICAgIDwvZGl2PgogKiA8L2Rpdj4KICoKICogRWFjaCBhbmNob3IgaW4gdGhlIHVub3JkZXJlZCBsaXN0IHBvaW50cyBkaXJlY3RseSB0byBhIHNlY3Rpb24gYmVsb3cgcmVwcmVzZW50ZWQgYnkgb25lIG9mIHRoZQogKiBkaXZzICh0aGUgVVJJIGluIHRoZSBhbmNob3IncyBocmVmIGF0dHJpYnV0ZSByZWZlcnMgdG8gdGhlIGZyYWdtZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgaWQpLgogKiBCZWNhdXNlIHN1Y2ggSFRNTCBzdHJ1Y3R1cmUgaXMgZnVsbHkgZnVuY3Rpb25hbCBvbiBpdHMgb3duLCBlLmcuIHdpdGhvdXQgSmF2YVNjcmlwdCwgdGhlIHRhYgogKiBpbnRlcmZhY2UgaXMgYWNjZXNzaWJsZSBhbmQgdW5vYnRydXNpdmUuCiAqCiAqIEEgdGFiIGlzIGFsc28gYm9va21hcmthYmxlIHZpYSBoYXNoIGluIHRoZSBVUkwuIFVzZSB0aGUgSGlzdG9yeS9SZW1vdGUgcGx1Z2luIChUYWJzIHdpbGwKICogYXV0by1kZXRlY3QgaXRzIHByZXNlbmNlKSB0byBmaXggdGhlIGJhY2sgKGFuZCBmb3J3YXJkKSBidXR0b24uCiAqCiAqIEBleGFtcGxlICQoJyNjb250YWluZXInKS50YWJzKCk7CiAqIEBkZXNjIENyZWF0ZSBhIGJhc2ljIHRhYiBpbnRlcmZhY2UuCiAqIEBleGFtcGxlICQoJyNjb250YWluZXInKS50YWJzKDIpOwogKiBAZGVzYyBDcmVhdGUgYSBiYXNpYyB0YWIgaW50ZXJmYWNlIHdpdGggdGhlIHNlY29uZCB0YWIgaW5pdGlhbGx5IGFjdGl2YXRlZC4KICogQGV4YW1wbGUgJCgnI2NvbnRhaW5lcicpLnRhYnMoe2Rpc2FibGVkOiBbMywgNF19KTsKICogQGRlc2MgQ3JlYXRlIGEgdGFiIGludGVyZmFjZSB3aXRoIHRoZSB0aGlyZCBhbmQgZm91cnRoIHRhYiBiZWluZyBkaXNhYmxlZC4KICogQGV4YW1wbGUgJCgnI2NvbnRhaW5lcicpLnRhYnMoe2Z4U2xpZGU6IHRydWV9KTsKICogQGRlc2MgQ3JlYXRlIGEgdGFiIGludGVyZmFjZSB0aGF0IHVzZXMgc2xpZGUgZG93bi91cCBhbmltYXRpb25zIGZvciBzaG93aW5nL2hpZGluZyB0YWIKICogICAgICAgY29udGVudCB1cG9uIHRhYiBzd2l0Y2hpbmcuCiAqCiAqIEBwYXJhbSBOdW1iZXIgaW5pdGlhbCBBbiBpbnRlZ2VyIHNwZWNpZnlpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YWIgKG5vIHplcm8tYmFzZWQgaW5kZXgpIHRoYXQKICogICAgICAgICAgICAgICAgICAgICAgIGdldHMgYWN0aXZhdGVkIGF0IGZpcnN0IChvbiBwYWdlIGxvYWQpLiBUd28gYWx0ZXJuYXRpdmUgd2F5cyB0byBzcGVjaWZ5CiAqICAgICAgICAgICAgICAgICAgICAgICB0aGUgYWN0aXZlIHRhYiB3aWxsIG92ZXJydWxlIHRoaXMgYXJndW1lbnQuIEZpcnN0IGEgbGkgZWxlbWVudAogKiAgICAgICAgICAgICAgICAgICAgICAgKHJlcHJlc2VudGluZyBvbmUgc2luZ2xlIHRhYikgYmVsb25naW5nIHRvIHRoZSBzZWxlY3RlZCB0YWIgY2xhc3MsIGUuZy4KICogICAgICAgICAgICAgICAgICAgICAgIHNldCB0aGUgc2VsZWN0ZWQgdGFiIGNsYXNzIChkZWZhdWx0OiAidGFicy1zZWxlY3RlZCIsIHNlZSBvcHRpb24KICogICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2xhc3MpIGZvciBvbmUgb2YgdGhlIHVub3JkZXJlZCBsaSBlbGVtZW50cyBpbiB0aGUgSFRNTCBzb3VyY2UuCiAqICAgICAgICAgICAgICAgICAgICAgICBJbiBhZGRpdGlvbiBpZiBhIGZyYWdtZW50IGlkZW50aWZpZXIvaGFzaCBpbiB0aGUgVVJMIG9mIHRoZSBwYWdlIHJlZmVycwogKiAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIGlkIG9mIGEgdGFiIGNvbnRhaW5lciBvZiBhIHRhYiBpbnRlcmZhY2UgdGhlIGNvcnJlc3BvbmRpbmcgdGFiIHdpbGwKICogICAgICAgICAgICAgICAgICAgICAgIGJlIGFjdGl2YXRlZCBhbmQgYm90aCB0aGUgaW5pdGlhbCBhcmd1bWVudCBhcyB3ZWxsIGFzIGFuIGV2ZW50dWFsbHkKICogICAgICAgICAgICAgICAgICAgICAgIGRlY2xhcmVkIGNsYXNzIGF0dHJpYnV0ZSB3aWxsIGJlIG92ZXJydWxlZC4gRGVmYXVsdHMgdG8gMSBpZiBvbWl0dGVkLgogKiBAcGFyYW0gT2JqZWN0IHNldHRpbmdzIEFuIG9iamVjdCBsaXRlcmFsIGNvbnRhaW5pbmcga2V5L3ZhbHVlIHBhaXJzIHRvIHByb3ZpZGUgb3B0aW9uYWwgc2V0dGluZ3MuCiAqIEBvcHRpb24gQXJyYXk8TnVtYmVyPiBkaXNhYmxlZCBBbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFicyAobm8gemVyby1iYXNlZCBpbmRleCkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgc2hvdWxkIGJlIGRpc2FibGVkIG9uIGluaXRpYWxpemF0aW9uLiBEZWZhdWx0IHZhbHVlOiBudWxsLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQSB0YWIgY2FuIGFsc28gYmUgZGlzYWJsZWQgYnkgc2ltcGx5IGFkZGluZyB0aGUgZGlzYWJsaW5nIGNsYXNzCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogInRhYnMtZGlzYWJsZWQiLCBzZWUgb3B0aW9uIGRpc2FibGVkQ2xhc3MpIHRvIHRoZSBsaQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCByZXByZXNlbnRpbmcgdGhhdCBwYXJ0aWN1bGFyIHRhYi4KICogQG9wdGlvbiBCb29sZWFuIGJvb2ttYXJrYWJsZSBCb29sZWFuIGZsYWcgaW5kaWNhdGluZyBpZiBzdXBwb3J0IGZvciBib29rbWFya2luZyBhbmQgaGlzdG9yeSAodmlhCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdpbmcgaGFzaCBpbiB0aGUgVVJMIG9mIHRoZSBicm93c2VyKSBpcyBlbmFibGVkLiBEZWZhdWx0IHZhbHVlOgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCB1bmxlc3MgdGhlIEhpc3RvcnkvUmVtb3RlIHBsdWdpbiBpcyBpbmNsdWRlZC4gSW4gdGhhdCBjYXNlIHRoZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgdmFsdWUgYmVjb21lcyB0cnVlLiBAc2VlICQuYWpheEhpc3RvcnkuaW5pdGlhbGl6ZQogKiBAb3B0aW9uIEJvb2xlYW4gcmVtb3RlIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGFiIGNvbnRlbnQgaGFzIHRvIGJlIGxvYWRlZCByZW1vdGVseSBmcm9tCiAqICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHVybCBnaXZlbiBpbiB0aGUgaHJlZiBhdHRyaWJ1dGUgb2YgdGhlIHRhYiBtZW51IGFuY2hvciBlbGVtZW50cy4KICogQG9wdGlvbiBTdHJpbmcgc3Bpbm5lciBUaGUgY29udGVudCBvZiB0aGlzIHN0cmluZyBpcyBzaG93biBpbiBhIHRhYiB3aGlsZSByZW1vdGUgY29udGVudCBpcyBsb2FkaW5nLgogKiAgICAgICAgICAgICAgICAgICAgICAgIEluc2VydCBwbGFpbiB0ZXh0IGFzIHdlbGwgYXMgYW4gaW1nIGhlcmUuIFRvIHR1cm4gb2ZmIHRoaXMgbm90aWZpY2F0aW9uCiAqICAgICAgICAgICAgICAgICAgICAgICAgcGFzcyBhbiBlbXB0eSBzdHJpbmcgb3IgbnVsbC4gRGVmYXVsdDogIkxvYWRpbmcmIzgyMzA7Ii4KICogQG9wdGlvbiBTdHJpbmcgaGFzaFByZWZpeCBBIFN0cmluZyB0aGF0IGlzIHVzZWQgZm9yIGNvbnN0cnVjdGluZyB0aGUgaGFzaCB0aGUgbGluaydzIGhyZWYgYXR0cmlidXRlCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgYSByZW1vdGUgdGFiIGdldHMgYWx0ZXJlZCB0bywgc3VjaCBhcyAiI3JlbW90ZS0xIi4KICogICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IHZhbHVlOiAicmVtb3RlLXRhYi0iLgogKiBAb3B0aW9uIEJvb2xlYW4gZnhGYWRlIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgZmFkZSBpbi9vdXQgYW5pbWF0aW9ucyBhcmUgdXNlZCBmb3IgdGFiCiAqICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoaW5nLiBDYW4gYmUgY29tYmluZWQgd2l0aCBmeFNsaWRlLiBXaWxsIG92ZXJydWxlIGZ4U2hvdy9meEhpZGUuCiAqICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCB2YWx1ZTogZmFsc2UuCiAqIEBvcHRpb24gQm9vbGVhbiBmeFNsaWRlIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgc2xpZGUgZG93bi91cCBhbmltYXRpb25zIGFyZSB1c2VkIGZvciB0YWIKICogICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoaW5nLiBDYW4gYmUgY29tYmluZWQgd2l0aCBmeEZhZGUuIFdpbGwgb3ZlcnJ1bGUgZnhTaG93L2Z4SGlkZS4KICogICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCB2YWx1ZTogZmFsc2UuCiAqIEBvcHRpb24gU3RyaW5nfE51bWJlciBmeFNwZWVkIEEgc3RyaW5nIHJlcHJlc2VudGluZyBvbmUgb2YgdGhlIHRocmVlIHByZWRlZmluZWQgc3BlZWRzICgic2xvdyIsCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3JtYWwiLCBvciAiZmFzdCIpIG9yIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIChlLmcuIDEwMDApIHRvCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1biBhbiBhbmltYXRpb24uIERlZmF1bHQgdmFsdWU6ICJub3JtYWwiLgogKiBAb3B0aW9uIE9iamVjdCBmeFNob3cgQW4gb2JqZWN0IGxpdGVyYWwgb2YgdGhlIGZvcm0galF1ZXJ5J3MgYW5pbWF0ZSBmdW5jdGlvbiBleHBlY3RzIGZvciBtYWtpbmcKICogICAgICAgICAgICAgICAgICAgICAgIHlvdXIgb3duLCBjdXN0b20gYW5pbWF0aW9uIHRvIHJldmVhbCBhIHRhYiB1cG9uIHRhYiBzd2l0Y2guIFVubGlrZSBmeEZhZGUKICogICAgICAgICAgICAgICAgICAgICAgIG9yIGZ4U2xpZGUgdGhpcyBhbmltYXRpb24gaXMgaW5kZXBlbmRlbnQgZnJvbSBhbiBvcHRpb25hbCBoaWRlIGFuaW1hdGlvbi4KICogICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgdmFsdWU6IG51bGwuIEBzZWUgYW5pbWF0ZQogKiBAb3B0aW9uIE9iamVjdCBmeEhpZGUgQW4gb2JqZWN0IGxpdGVyYWwgb2YgdGhlIGZvcm0galF1ZXJ5J3MgYW5pbWF0ZSBmdW5jdGlvbiBleHBlY3RzIGZvciBtYWtpbmcKICogICAgICAgICAgICAgICAgICAgICAgIHlvdXIgb3duLCBjdXN0b20gYW5pbWF0aW9uIHRvIGhpZGUgYSB0YWIgdXBvbiB0YWIgc3dpdGNoLiBVbmxpa2UgZnhGYWRlCiAqICAgICAgICAgICAgICAgICAgICAgICBvciBmeFNsaWRlIHRoaXMgYW5pbWF0aW9uIGlzIGluZGVwZW5kZW50IGZyb20gYW4gb3B0aW9uYWwgc2hvdyBhbmltYXRpb24uCiAqICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IHZhbHVlOiBudWxsLiBAc2VlIGFuaW1hdGUKICogQG9wdGlvbiBTdHJpbmd8TnVtYmVyIGZ4U2hvd1NwZWVkIEEgc3RyaW5nIHJlcHJlc2VudGluZyBvbmUgb2YgdGhlIHRocmVlIHByZWRlZmluZWQgc3BlZWRzCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInNsb3ciLCAibm9ybWFsIiwgb3IgImZhc3QiKSBvciB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcwogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGUuZy4gMTAwMCkgdG8gcnVuIHRoZSBhbmltYXRpb24gc3BlY2lmaWVkIGluIGZ4U2hvdy4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgdmFsdWU6IGZ4U3BlZWQuCiAqIEBvcHRpb24gU3RyaW5nfE51bWJlciBmeEhpZGVTcGVlZCBBIHN0cmluZyByZXByZXNlbnRpbmcgb25lIG9mIHRoZSB0aHJlZSBwcmVkZWZpbmVkIHNwZWVkcwogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJzbG93IiwgIm5vcm1hbCIsIG9yICJmYXN0Iikgb3IgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlLmcuIDEwMDApIHRvIHJ1biB0aGUgYW5pbWF0aW9uIHNwZWNpZmllZCBpbiBmeEhpZGUuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IHZhbHVlOiBmeFNwZWVkLgogKiBAb3B0aW9uIEJvb2xlYW4gZnhBdXRvSGVpZ2h0IEJvb2xlYW4gZmxhZyB0aGF0IGlmIHNldCB0byB0cnVlIGNhdXNlcyBhbGwgdGFiIGhlaWdodHMKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBjb25zdGFudCAoYmVpbmcgdGhlIGhlaWdodCBvZiB0aGUgdGFsbGVzdCB0YWIpLgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgdmFsdWU6IGZhbHNlLgogKiBAb3B0aW9uIEZ1bmN0aW9uIG9uQ2xpY2sgQSBmdW5jdGlvbiB0byBiZSBpbnZva2VkIHVwb24gdGFiIHN3aXRjaCwgaW1tZWRpYXRseSBhZnRlciBhIHRhYiBoYXMKICogICAgICAgICAgICAgICAgICAgICAgICAgIGJlZW4gY2xpY2tlZCwgZS5nLiBiZWZvcmUgdGhlIG90aGVyJ3MgdGFiIGNvbnRlbnQgZ2V0cyBoaWRkZW4uIFRoZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZ2V0cyBwYXNzZWQgdGhyZWUgYXJndW1lbnRzOiB0aGUgZmlyc3Qgb25lIGlzIHRoZSBjbGlja2VkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICB0YWIgKGUuZy4gYW4gYW5jaG9yIGVsZW1lbnQpLCB0aGUgc2Vjb25kIG9uZSBpcyB0aGUgRE9NIGVsZW1lbnQKICogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5pbmcgdGhlIGNvbnRlbnQgb2YgdGhlIGNsaWNrZWQgdGFiIChlLmcuIHRoZSBkaXYpLCB0aGUgdGhpcmQKICogICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50IGlzIHRoZSBvbmUgb2YgdGhlIHRhYiB0aGF0IGdldHMgaGlkZGVuLiBJZiB0aGlzIGNhbGxiYWNrCiAqICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zIGZhbHNlLCB0aGUgdGFiIHN3aXRjaCBpcyBjYW5jZWxlZCAodXNlIHRvIGRpc2FsbG93IHRhYgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoaW5nIGZvciB0aGUgcmVhc29uIG9mIGEgZmFpbGVkIGZvcm0gdmFsaWRhdGlvbiBmb3IgZXhhbXBsZSkuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IHZhbHVlOiBudWxsLgogKiBAb3B0aW9uIEZ1bmN0aW9uIG9uSGlkZSBBIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgdXBvbiB0YWIgc3dpdGNoLCBpbW1lZGlhdGx5IGFmdGVyIG9uZSB0YWIncwogKiAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50IGdvdCBoaWRkZW4gKHdpdGggb3Igd2l0aG91dCBhbiBhbmltYXRpb24pIGFuZCByaWdodCBiZWZvcmUgdGhlCiAqICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgdGFiIGlzIHJldmVhbGVkLiBUaGUgZnVuY3Rpb24gZ2V0cyBwYXNzZWQgdGhyZWUgYXJndW1lbnRzOiB0aGUKICogICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3Qgb25lIGlzIHRoZSBjbGlja2VkIHRhYiAoZS5nLiBhbiBhbmNob3IgZWxlbWVudCksIHRoZSBzZWNvbmQgb25lCiAqICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHRoZSBET00gZWxlbWVudCBjb250YWluaW5nIHRoZSBjb250ZW50IG9mIHRoZSBjbGlja2VkIHRhYiwgKGUuZy4gdGhlCiAqICAgICAgICAgICAgICAgICAgICAgICAgIGRpdiksIHRoZSB0aGlyZCBhcmd1bWVudCBpcyB0aGUgb25lIG9mIHRoZSB0YWIgdGhhdCBnZXRzIGhpZGRlbi4KICogICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCB2YWx1ZTogbnVsbC4KICogQG9wdGlvbiBGdW5jdGlvbiBvblNob3cgQSBmdW5jdGlvbiB0byBiZSBpbnZva2VkIHVwb24gdGFiIHN3aXRjaC4gVGhpcyBmdW5jdGlvbiBpcyBpbnZva2VkCiAqICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIHRoZSBuZXcgdGFiIGhhcyBiZWVuIHJldmVhbGVkLCBlLmcuIGFmdGVyIHRoZSBzd2l0Y2ggaXMgY29tcGxldGVkLgogKiAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gZ2V0cyBwYXNzZWQgdGhyZWUgYXJndW1lbnRzOiB0aGUgZmlyc3Qgb25lIGlzIHRoZSBjbGlja2VkCiAqICAgICAgICAgICAgICAgICAgICAgICAgIHRhYiAoZS5nLiBhbiBhbmNob3IgZWxlbWVudCksIHRoZSBzZWNvbmQgb25lIGlzIHRoZSBET00gZWxlbWVudAogKiAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluaW5nIHRoZSBjb250ZW50IG9mIHRoZSBjbGlja2VkIHRhYiwgKGUuZy4gdGhlIGRpdiksIHRoZSB0aGlyZAogKiAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCBpcyB0aGUgb25lIG9mIHRoZSB0YWIgdGhhdCBnZXRzIGhpZGRlbi4gRGVmYXVsdCB2YWx1ZTogbnVsbC4KICogQG9wdGlvbiBTdHJpbmcgbmF2Q2xhc3MgQSBDU1MgY2xhc3MgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSB0YWJzIHVub3JkZXJlZCBsaXN0IGJ5IGNsYXNzIGlmCiAqICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSByZXF1aXJlZCBIVE1MIHN0cnVjdHVyZSBkaWZmZXJzIGZyb20gdGhlIGRlZmF1bHQgb25lLgogKiAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IHZhbHVlOiAidGFicy1uYXYiLgogKiBAb3B0aW9uIFN0cmluZyBzZWxlY3RlZENsYXNzIFRoZSBDU1MgY2xhc3MgYXR0YWNoZWQgdG8gdGhlIGxpIGVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRseSBzZWxlY3RlZCAoYWN0aXZlKSB0YWIuIERlZmF1bHQgdmFsdWU6ICJ0YWJzLXNlbGVjdGVkIi4KICogQG9wdGlvbiBTdHJpbmcgZGlzYWJsZWRDbGFzcyBUaGUgQ1NTIGNsYXNzIGF0dGFjaGVkIHRvIHRoZSBsaSBlbGVtZW50IHJlcHJlc2VudGluZyBhIGRpc2FibGVkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLiBEZWZhdWx0IHZhbHVlOiAidGFicy1kaXNhYmxlZCIuCiAqIEBvcHRpb24gU3RyaW5nIGNvbnRhaW5lckNsYXNzIEEgQ1NTIGNsYXNzIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0YWIgY29udGFpbmVycyBieSBjbGFzcyBpZgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmVxdWlyZWQgSFRNTCBzdHJ1Y3R1cmUgZGlmZmVycyBmcm9tIHRoZSBkZWZhdWx0IG9uZS4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCB2YWx1ZTogInRhYnMtY29udGFpbmVyIi4KICogQG9wdGlvbiBTdHJpbmcgaGlkZUNsYXNzIFRoZSBDU1MgY2xhc3MgdXNlZCBmb3IgaGlkaW5nIGluYWN0aXZlIHRhYnMuIEEgY2xhc3MgaXMgdXNlZCBpbnN0ZWFkCiAqICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAiZGlzcGxheTogbm9uZSIgaW4gdGhlIHN0eWxlIGF0dHJpYnV0ZSB0byBtYWludGFpbiBjb250cm9sIG92ZXIKICogICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgaW4gb3RoZXIgbWVkaWEgdHlwZXMgdGhhbiBzY3JlZW4sIG1vc3Qgbm90YWJseSBwcmludC4KICogICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgdmFsdWU6ICJ0YWJzLWhpZGUiLgogKiBAb3B0aW9uIFN0cmluZyBsb2FkaW5nQ2xhc3MgVGhlIENTUyBjbGFzcyB1c2VkIGZvciBpbmRpY2F0aW5nIHRoYXQgYW4gQWpheCB0YWIgaXMgY3VycmVudGx5CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nLCBmb3IgZXhhbXBsZSBieSBzaG93aW5nIGEgc3Bpbm5lci4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgdmFsdWU6ICJ0YWJzLWxvYWRpbmciLgogKiBAb3B0aW9uIFN0cmluZyB0YWJTdHJ1Y3QgQGRlcHJlY2F0ZWQgQSBDU1Mgc2VsZWN0b3Igb3IgYmFzaWMgWFBhdGggZXhwcmVzc2lvbiByZWZsZWN0aW5nIGEKICogICAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RlZCBIVE1MIHN0cnVjdHVyZSB0aGF0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0IHNpbmdsZSBkaXYKICogICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSAob25lIGRpdiB3aXRoIGFuIGlkIGluc2lkZSB0aGUgb3ZlcmFsbCBjb250YWluZXIgaG9sZHMgb25lCiAqICAgICAgICAgICAgICAgICAgICAgICAgICB0YWIncyBjb250ZW50KS4gSWYgZm9yIGluc3RhbmNlIGFuIGFkZGl0aW9uYWwgZGl2IGlzIHJlcXVpcmVkIHRvIHdyYXAKICogICAgICAgICAgICAgICAgICAgICAgICAgIHVwIHRoZSBzZXZlcmFsIHRhYiBjb250YWluZXJzIHN1Y2ggYSBzdHJ1Y3R1cmUgaXMgZXhwcmVzc2VkIGJ5ICJkaXY+ZGl2Ii4KICogICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgdmFsdWU6ICJkaXYiLgogKiBAdHlwZSBqUXVlcnkKICoKICogQG5hbWUgdGFicwogKiBAY2F0IFBsdWdpbnMvVGFicwogKiBAYXV0aG9yIEtsYXVzIEhhcnRsL2tsYXVzLmhhcnRsQHN0aWxidWVyby5kZQogKi8KJC5mbi50YWJzID0gZnVuY3Rpb24oaW5pdGlhbCwgc2V0dGluZ3MpIHsKCiAgICAvLyBzZXR0aW5ncwogICAgaWYgKHR5cGVvZiBpbml0aWFsID09ICdvYmplY3QnKSBzZXR0aW5ncyA9IGluaXRpYWw7IC8vIG5vIGluaXRpYWwgdGFiIGdpdmVuIGJ1dCBhIHNldHRpbmdzIG9iamVjdAogICAgc2V0dGluZ3MgPSAkLmV4dGVuZCh7CiAgICAgICAgaW5pdGlhbDogKGluaXRpYWwgJiYgdHlwZW9mIGluaXRpYWwgPT0gJ251bWJlcicgJiYgaW5pdGlhbCA+IDApID8gLS1pbml0aWFsIDogMCwKICAgICAgICBkaXNhYmxlZDogbnVsbCwKICAgICAgICBib29rbWFya2FibGU6ICQuYWpheEhpc3RvcnkgPyB0cnVlIDogZmFsc2UsCiAgICAgICAgcmVtb3RlOiBmYWxzZSwKICAgICAgICBzcGlubmVyOiAnTG9hZGluZyYjODIzMDsnLAogICAgICAgIGhhc2hQcmVmaXg6ICdyZW1vdGUtdGFiLScsCiAgICAgICAgZnhGYWRlOiBudWxsLAogICAgICAgIGZ4U2xpZGU6IG51bGwsCiAgICAgICAgZnhTaG93OiBudWxsLAogICAgICAgIGZ4SGlkZTogbnVsbCwKICAgICAgICBmeFNwZWVkOiAnbm9ybWFsJywKICAgICAgICBmeFNob3dTcGVlZDogbnVsbCwKICAgICAgICBmeEhpZGVTcGVlZDogbnVsbCwKICAgICAgICBmeEF1dG9IZWlnaHQ6IGZhbHNlLAogICAgICAgIG9uQ2xpY2s6IG51bGwsCiAgICAgICAgb25IaWRlOiBudWxsLAogICAgICAgIG9uU2hvdzogbnVsbCwKICAgICAgICBuYXZDbGFzczogJ3RhYnMtbmF2JywKICAgICAgICBzZWxlY3RlZENsYXNzOiAndGFicy1zZWxlY3RlZCcsCiAgICAgICAgZGlzYWJsZWRDbGFzczogJ3RhYnMtZGlzYWJsZWQnLAogICAgICAgIGNvbnRhaW5lckNsYXNzOiAndGFicy1jb250YWluZXInLAogICAgICAgIGhpZGVDbGFzczogJ3RhYnMtaGlkZScsCiAgICAgICAgbG9hZGluZ0NsYXNzOiAndGFicy1sb2FkaW5nJywKICAgICAgICB0YWJTdHJ1Y3Q6ICdkaXYnCiAgICB9LCBzZXR0aW5ncyB8fCB7fSk7CgogICAgJC5icm93c2VyLm1zaWU2ID0gJC5icm93c2VyLm1zaWUgJiYgKCQuYnJvd3Nlci52ZXJzaW9uICYmICQuYnJvd3Nlci52ZXJzaW9uIDwgNyB8fCAvTVNJRSA2LjAvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpOyAvLyBkbyBub3QgY2hlY2sgZm9yIDYuMCBhbG9uZSwgdXNlckFnZW50IGluIFdpbmRvd3MgVmlzdGEgaGFzICJXaW5kb3dzIE5UIDYuMCIKCiAgICAvLyBoZWxwZXIgdG8gcHJldmVudCBzY3JvbGwgdG8gZnJhZ21lbnQKICAgIGZ1bmN0aW9uIHVuRm9jdXMoKSB7CiAgICAgICAgc2Nyb2xsVG8oMCwgMCk7CiAgICB9CgogICAgLy8gaW5pdGlhbGl6ZSB0YWJzCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoKICAgICAgICAvLyByZW1lbWJlciB3cmFwcGVyIGZvciBsYXRlcgogICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzOwoKICAgICAgICAvLyBzZXR1cCBuYXYKICAgICAgICB2YXIgbmF2ID0gJCgndWwuJyArIHNldHRpbmdzLm5hdkNsYXNzLCBjb250YWluZXIpOwogICAgICAgIG5hdiA9IG5hdi5zaXplKCkgJiYgbmF2IHx8ICQoJz51bDplcSgwKScsIGNvbnRhaW5lcik7IC8vIGZhbGxiYWNrIHRvIGRlZmF1bHQgc3RydWN0dXJlCiAgICAgICAgdmFyIHRhYnMgPSAkKCdhJywgbmF2KTsKCiAgICAgICAgLy8gcHJlcGFyZSByZW1vdGUgdGFicwogICAgICAgIGlmIChzZXR0aW5ncy5yZW1vdGUpIHsKICAgICAgICAgICAgdGFicy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGlkID0gc2V0dGluZ3MuaGFzaFByZWZpeCArICgrKyQudGFicy5yZW1vdGVDb3VudCksIGhhc2ggPSAnIycgKyBpZCwgdXJsID0gdGhpcy5ocmVmOwogICAgICAgICAgICAgICAgdGhpcy5ocmVmID0gaGFzaDsKICAgICAgICAgICAgICAgICQoJzxkaXYgaWQ9IicgKyBpZCArICciIGNsYXNzPSInICsgc2V0dGluZ3MuY29udGFpbmVyQ2xhc3MgKyAnIj48L2Rpdj4nKS5hcHBlbmRUbyhjb250YWluZXIpOwoKICAgICAgICAgICAgICAgICQodGhpcykuYmluZCgnbG9hZFJlbW90ZVRhYicsIGZ1bmN0aW9uKGUsIGNhbGxiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyICQkID0gJCh0aGlzKS5hZGRDbGFzcyhzZXR0aW5ncy5sb2FkaW5nQ2xhc3MpLCBzcGFuID0gJCgnc3BhbicsIHRoaXMpWzBdLCB0YWJUaXRsZSA9IHNwYW4uaW5uZXJIVE1MOwogICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5zcGlubmVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gaWYgc3Bpbm5lciBpcyBpbWFnZQogICAgICAgICAgICAgICAgICAgICAgICBzcGFuLmlubmVySFRNTCA9ICc8ZW0+JyArIHNldHRpbmdzLnNwaW5uZXIgKyAnPC9lbT4nOyAvLyBXQVJOSU5HOiBodG1sKC4uLikgY3Jhc2hlcyBTYWZhcmkgd2l0aCBqUXVlcnkgMS4xLjIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgLy8gVGltZW91dCBpcyBhZ2FpbiByZXF1aXJlZCBpbiBJRSwgIndhaXQiIGZvciBpZCBiZWluZyByZXN0b3JlZAogICAgICAgICAgICAgICAgICAgICAgICAkKGhhc2gpLmxvYWQodXJsLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5zcGlubmVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi5pbm5lckhUTUwgPSB0YWJUaXRsZTsgLy8gV0FSTklORzogaHRtbCguLi4pIGNyYXNoZXMgU2FmYXJpIHdpdGggalF1ZXJ5IDEuMS4yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJC5yZW1vdmVDbGFzcyhzZXR0aW5ncy5sb2FkaW5nQ2xhc3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgLy8gc2V0IHVwIGNvbnRhaW5lcnMKICAgICAgICB2YXIgY29udGFpbmVycyA9ICQoJ2Rpdi4nICsgc2V0dGluZ3MuY29udGFpbmVyQ2xhc3MsIGNvbnRhaW5lcik7CiAgICAgICAgY29udGFpbmVycyA9IGNvbnRhaW5lcnMuc2l6ZSgpICYmIGNvbnRhaW5lcnMgfHwgJCgnPicgKyBzZXR0aW5ncy50YWJTdHJ1Y3QsIGNvbnRhaW5lcik7IC8vIGZhbGxiYWNrIHRvIGRlZmF1bHQgc3RydWN0dXJlCgogICAgICAgIC8vIGF0dGFjaCBjbGFzc2VzIGZvciBzdHlsaW5nIGlmIG5vdCBwcmVzZW50CiAgICAgICAgbmF2LmlzKCcuJyArIHNldHRpbmdzLm5hdkNsYXNzKSB8fCBuYXYuYWRkQ2xhc3Moc2V0dGluZ3MubmF2Q2xhc3MpOwogICAgICAgIGNvbnRhaW5lcnMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyICQkID0gJCh0aGlzKTsKICAgICAgICAgICAgJCQuaXMoJy4nICsgc2V0dGluZ3MuY29udGFpbmVyQ2xhc3MpIHx8ICQkLmFkZENsYXNzKHNldHRpbmdzLmNvbnRhaW5lckNsYXNzKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gdHJ5IHRvIHJldHJpZXZlIGFjdGl2ZSB0YWIgZnJvbSBjbGFzcyBpbiBIVE1MCiAgICAgICAgdmFyIGhhc1NlbGVjdGVkQ2xhc3MgPSAkKCdsaScsIG5hdikuaW5kZXgoICQoJ2xpLicgKyBzZXR0aW5ncy5zZWxlY3RlZENsYXNzLCBuYXYpWzBdICk7CiAgICAgICAgaWYgKGhhc1NlbGVjdGVkQ2xhc3MgPj0gMCkgewogICAgICAgICAgIHNldHRpbmdzLmluaXRpYWwgPSBoYXNTZWxlY3RlZENsYXNzOwogICAgICAgIH0KCiAgICAgICAgLy8gdHJ5IHRvIHJldHJpZXZlIGFjdGl2ZSB0YWIgZnJvbSBoYXNoIGluIHVybCwgd2lsbCBvdmVycmlkZSBjbGFzcyBpbiBIVE1MCiAgICAgICAgaWYgKGxvY2F0aW9uLmhhc2gpIHsKICAgICAgICAgICAgdGFicy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc2ggPT0gbG9jYXRpb24uaGFzaCkgewogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmluaXRpYWwgPSBpOwogICAgICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgcGFnZSBzY3JvbGwgdG8gZnJhZ21lbnQKICAgICAgICAgICAgICAgICAgICBpZiAoKCQuYnJvd3Nlci5tc2llIHx8ICQuYnJvd3Nlci5vcGVyYSkgJiYgIXNldHRpbmdzLnJlbW90ZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdG9TaG93ID0gJChsb2NhdGlvbi5oYXNoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvU2hvd0lkID0gdG9TaG93LmF0dHIoJ2lkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvU2hvdy5hdHRyKCdpZCcsICcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvU2hvdy5hdHRyKCdpZCcsIHRvU2hvd0lkKTsgLy8gcmVzdG9yZSBpZAogICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB1bkZvY3VzKCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBicmVhawogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgaWYgKCQuYnJvd3Nlci5tc2llKSB7CiAgICAgICAgICAgIHVuRm9jdXMoKTsgLy8gZml4IElFIGZvY3Vzc2luZyBib3R0b20gb2YgdGhlIHBhZ2UgZm9yIHNvbWUgdW5rbm93biByZWFzb24KICAgICAgICB9CgogICAgICAgIC8vIGhpZ2hsaWdodCB0YWIgYWNjb3JkaW5nbHkKICAgICAgICBjb250YWluZXJzLmZpbHRlcignOmVxKCcgKyBzZXR0aW5ncy5pbml0aWFsICsgJyknKS5zaG93KCkuZW5kKCkubm90KCc6ZXEoJyArIHNldHRpbmdzLmluaXRpYWwgKyAnKScpLmFkZENsYXNzKHNldHRpbmdzLmhpZGVDbGFzcyk7CiAgICAgICAgJCgnbGknLCBuYXYpLnJlbW92ZUNsYXNzKHNldHRpbmdzLnNlbGVjdGVkQ2xhc3MpLmVxKHNldHRpbmdzLmluaXRpYWwpLmFkZENsYXNzKHNldHRpbmdzLnNlbGVjdGVkQ2xhc3MpOyAvLyB3ZSBuZWVkIHRvIHJlbW92ZSBjbGFzc2VzIGV2ZW50dWFsbHkgaWYgaGFzaCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgY2xhc3MKICAgICAgICAvLyB0cmlnZ2VyIGxvYWQgb2YgaW5pdGlhbCB0YWIKICAgICAgICB0YWJzLmVxKHNldHRpbmdzLmluaXRpYWwpLnRyaWdnZXIoJ2xvYWRSZW1vdGVUYWInKS5lbmQoKTsKCiAgICAgICAgLy8gc2V0dXAgYXV0byBoZWlnaHQKICAgICAgICBpZiAoc2V0dGluZ3MuZnhBdXRvSGVpZ2h0KSB7CiAgICAgICAgICAgIC8vIGhlbHBlcgogICAgICAgICAgICB2YXIgX3NldEF1dG9IZWlnaHQgPSBmdW5jdGlvbihyZXNldCkgewogICAgICAgICAgICAgICAgLy8gZ2V0IHRhYiBoZWlnaHRzIGluIHRvcCB0byBib3R0b20gb3JkZXJlZCBhcnJheQogICAgICAgICAgICAgICAgdmFyIGhlaWdodHMgPSAkLm1hcChjb250YWluZXJzLmdldCgpLCBmdW5jdGlvbihlbCkgewogICAgICAgICAgICAgICAgICAgIHZhciBoLCBqcSA9ICQoZWwpOwogICAgICAgICAgICAgICAgICAgIGlmIChyZXNldCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJC5icm93c2VyLm1zaWU2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5yZW1vdmVFeHByZXNzaW9uKCdiZWhhdmlvdXInKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9ICcnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwubWluSGVpZ2h0ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBoID0ganEuY3NzKHsnbWluLWhlaWdodCc6ICcnfSkuaGVpZ2h0KCk7IC8vIHVzZSBqUXVlcnkncyBoZWlnaHQoKSB0byBnZXQgaGlkZGVuIGVsZW1lbnQgdmFsdWVzCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaCA9IGpxLmhlaWdodCgpOyAvLyB1c2UgalF1ZXJ5J3MgaGVpZ2h0KCkgdG8gZ2V0IGhpZGRlbiBlbGVtZW50IHZhbHVlcwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gaDsKICAgICAgICAgICAgICAgIH0pLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBiIC0gYTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgaWYgKCQuYnJvd3Nlci5tc2llNikgewogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5IZWlnaHQgPSBoZWlnaHRzWzBdICsgJ3B4JzsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdHlsZS5zZXRFeHByZXNzaW9uKCdiZWhhdmlvdXInLCAndGhpcy5zdHlsZS5oZWlnaHQgPSB0aGlzLm1pbkhlaWdodCA/IHRoaXMubWluSGVpZ2h0IDogIjFweCInKTsgLy8gdXNpbmcgYW4gZXhwcmVzc2lvbiB0byBub3QgbWFrZSBwcmludCBzdHlsZXMgdXNlbGVzcwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJzLmNzcyh7J21pbi1oZWlnaHQnOiBoZWlnaHRzWzBdICsgJ3B4J30pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgICAgICAvLyBjYWxsIG9uY2UgZm9yIGluaXRpYWxpemF0aW9uCiAgICAgICAgICAgIF9zZXRBdXRvSGVpZ2h0KCk7CiAgICAgICAgICAgIC8vIHRyaWdnZXIgYXV0byBoZWlnaHQgYWRqdXN0bWVudCBpZiBuZWVkZWQKICAgICAgICAgICAgdmFyIGNhY2hlZFdpZHRoID0gY29udGFpbmVyLm9mZnNldFdpZHRoOwogICAgICAgICAgICB2YXIgY2FjaGVkSGVpZ2h0ID0gY29udGFpbmVyLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgdmFyIHdhdGNoRm9udFNpemUgPSAkKCcjdGFicy13YXRjaC1mb250LXNpemUnKS5nZXQoMCkgfHwgJCgnPHNwYW4gaWQ9InRhYnMtd2F0Y2gtZm9udC1zaXplIj5NPC9zcGFuPicpLmNzcyh7ZGlzcGxheTogJ2Jsb2NrJywgcG9zaXRpb246ICdhYnNvbHV0ZScsIHZpc2liaWxpdHk6ICdoaWRkZW4nfSkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuZ2V0KDApOwogICAgICAgICAgICB2YXIgY2FjaGVkRm9udFNpemUgPSB3YXRjaEZvbnRTaXplLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgY3VycmVudFdpZHRoID0gY29udGFpbmVyLm9mZnNldFdpZHRoOwogICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRIZWlnaHQgPSBjb250YWluZXIub2Zmc2V0SGVpZ2h0OwogICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRGb250U2l6ZSA9IHdhdGNoRm9udFNpemUub2Zmc2V0SGVpZ2h0OwogICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRIZWlnaHQgPiBjYWNoZWRIZWlnaHQgfHwgY3VycmVudFdpZHRoICE9IGNhY2hlZFdpZHRoIHx8IGN1cnJlbnRGb250U2l6ZSAhPSBjYWNoZWRGb250U2l6ZSkgewogICAgICAgICAgICAgICAgICAgIF9zZXRBdXRvSGVpZ2h0KChjdXJyZW50V2lkdGggPiBjYWNoZWRXaWR0aCB8fCBjdXJyZW50Rm9udFNpemUgPCBjYWNoZWRGb250U2l6ZSkpOyAvLyBpZiBoZWlnaHRzIGdldHMgc21hbGxlciByZXNldCBtaW4taGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgY2FjaGVkV2lkdGggPSBjdXJyZW50V2lkdGg7CiAgICAgICAgICAgICAgICAgICAgY2FjaGVkSGVpZ2h0ID0gY3VycmVudEhlaWdodDsKICAgICAgICAgICAgICAgICAgICBjYWNoZWRGb250U2l6ZSA9IGN1cnJlbnRGb250U2l6ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgNTApOwogICAgICAgIH0KCiAgICAgICAgLy8gc2V0dXAgYW5pbWF0aW9ucwogICAgICAgIHZhciBzaG93QW5pbSA9IHt9LCBoaWRlQW5pbSA9IHt9LCBzaG93U3BlZWQgPSBzZXR0aW5ncy5meFNob3dTcGVlZCB8fCBzZXR0aW5ncy5meFNwZWVkLCBoaWRlU3BlZWQgPSBzZXR0aW5ncy5meEhpZGVTcGVlZCB8fCBzZXR0aW5ncy5meFNwZWVkOwogICAgICAgIGlmIChzZXR0aW5ncy5meFNsaWRlIHx8IHNldHRpbmdzLmZ4RmFkZSkgewogICAgICAgICAgICBpZiAoc2V0dGluZ3MuZnhTbGlkZSkgewogICAgICAgICAgICAgICAgc2hvd0FuaW1bJ2hlaWdodCddID0gJ3Nob3cnOwogICAgICAgICAgICAgICAgaGlkZUFuaW1bJ2hlaWdodCddID0gJ2hpZGUnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5meEZhZGUpIHsKICAgICAgICAgICAgICAgIHNob3dBbmltWydvcGFjaXR5J10gPSAnc2hvdyc7CiAgICAgICAgICAgICAgICBoaWRlQW5pbVsnb3BhY2l0eSddID0gJ2hpZGUnOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZ4U2hvdykgewogICAgICAgICAgICAgICAgc2hvd0FuaW0gPSBzZXR0aW5ncy5meFNob3c7CiAgICAgICAgICAgIH0gZWxzZSB7IC8vIHVzZSBzb21lIGtpbmQgb2YgYW5pbWF0aW9uIHRvIHByZXZlbnQgYnJvd3NlciBzY3JvbGxpbmcgdG8gdGhlIHRhYgogICAgICAgICAgICAgICAgc2hvd0FuaW1bJ21pbi13aWR0aCddID0gMDsgLy8gYXZvaWQgb3BhY2l0eSwgY2F1c2VzIGZsaWNrZXIgaW4gRmlyZWZveAogICAgICAgICAgICAgICAgc2hvd1NwZWVkID0gMTsgLy8gYXMgbGl0dGxlIGFzIDEgaXMgc3VmZmljaWVudAogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5meEhpZGUpIHsKICAgICAgICAgICAgICAgIGhpZGVBbmltID0gc2V0dGluZ3MuZnhIaWRlOwogICAgICAgICAgICB9IGVsc2UgeyAvLyB1c2Ugc29tZSBraW5kIG9mIGFuaW1hdGlvbiB0byBwcmV2ZW50IGJyb3dzZXIgc2Nyb2xsaW5nIHRvIHRoZSB0YWIKICAgICAgICAgICAgICAgIGhpZGVBbmltWydtaW4td2lkdGgnXSA9IDA7IC8vIGF2b2lkIG9wYWNpdHksIGNhdXNlcyBmbGlja2VyIGluIEZpcmVmb3gKICAgICAgICAgICAgICAgIGhpZGVTcGVlZCA9IDE7IC8vIGFzIGxpdHRsZSBhcyAxIGlzIHN1ZmZpY2llbnQKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gY2FsbGJhY2tzCiAgICAgICAgdmFyIG9uQ2xpY2sgPSBzZXR0aW5ncy5vbkNsaWNrLCBvbkhpZGUgPSBzZXR0aW5ncy5vbkhpZGUsIG9uU2hvdyA9IHNldHRpbmdzLm9uU2hvdzsKCiAgICAgICAgLy8gYXR0YWNoIGFjdGl2YXRlVGFiIGV2ZW50LCByZXF1aXJlZCBmb3IgYWN0aXZhdGluZyBhIHRhYiBwcm9ncmFtbWF0aWNhbGx5CiAgICAgICAgdGFicy5iaW5kKCd0cmlnZ2VyVGFiJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAvLyBpZiB0aGUgdGFiIGlzIGFscmVhZHkgc2VsZWN0ZWQgb3IgZGlzYWJsZWQgb3IgYW5pbWF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcgc3RvcCBoZXJlCiAgICAgICAgICAgIHZhciBsaSA9ICQodGhpcykucGFyZW50cygnbGk6ZXEoMCknKTsKICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5sb2NrZWQgfHwgbGkuaXMoJy4nICsgc2V0dGluZ3Muc2VsZWN0ZWRDbGFzcykgfHwgbGkuaXMoJy4nICsgc2V0dGluZ3MuZGlzYWJsZWRDbGFzcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGhhc2ggPSB0aGlzLmhhc2g7CgogICAgICAgICAgICBpZiAoJC5icm93c2VyLm1zaWUpIHsKCiAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3MuYm9va21hcmthYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgJC5hamF4SGlzdG9yeS51cGRhdGUoaGFzaCk7CiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uaGFzaCA9IGhhc2gucmVwbGFjZSgnIycsICcnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0gZWxzZSBpZiAoJC5icm93c2VyLnNhZmFyaSkgewoKICAgICAgICAgICAgICAgIC8vIFNpbXBseSBzZXR0aW5nIGxvY2F0aW9uLmhhc2ggcHV0cyBTYWZhcmkgaW50byB0aGUgZXRlcm5hbCBsb2FkIHN0YXRlLi4uIHVnaCEgU3VibWl0IGEgZm9ybSBpbnN0ZWFkLgogICAgICAgICAgICAgICAgdmFyIHRlbXBGb3JtID0gJCgnPGZvcm0gYWN0aW9uPSInICsgaGFzaCArICciPjxkaXY+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9ImgiIC8+PC9kaXY+PC9mb3JtPicpLmdldCgwKTsgLy8gbm8gbmVlZCB0byBhcHBlbmQgaXQgdG8gdGhlIGJvZHkKICAgICAgICAgICAgICAgIHRlbXBGb3JtLnN1Ym1pdCgpOyAvLyBkb2VzIG5vdCB0cmlnZ2VyIHRoZSBmb3JtJ3Mgc3VibWl0IGV2ZW50Li4uCiAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2NsaWNrJyk7IC8vIC4uLnRodXMgZG8gc3R1ZmYgaGVyZQogICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLmJvb2ttYXJrYWJsZSkgewogICAgICAgICAgICAgICAgICAgICQuYWpheEhpc3RvcnkudXBkYXRlKGhhc2gpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3MuYm9va21hcmthYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24uaGFzaCA9IGhhc2gucmVwbGFjZSgnIycsICcnKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICB9KTsKCiAgICAgICAgLy8gYXR0YWNoIGRpc2FibGUgZXZlbnQsIHJlcXVpcmVkIGZvciBkaXNhYmxpbmcgYSB0YWIKICAgICAgICB0YWJzLmJpbmQoJ2Rpc2FibGVUYWInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGxpID0gJCh0aGlzKS5wYXJlbnRzKCdsaTplcSgwKScpOwogICAgICAgICAgICBpZiAoJC5icm93c2VyLnNhZmFyaSkgeyAvKiBmaXggb3BhY2l0eSBvZiB0YWIgYWZ0ZXIgZGlzYWJsaW5nIGluIFNhZmFyaS4uLiAqLwogICAgICAgICAgICAgICAgbGkuYW5pbWF0ZSh7IG9wYWNpdHk6IDAgfSwgMSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICBsaS5jc3Moe29wYWNpdHk6ICcnfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBsaS5hZGRDbGFzcyhzZXR0aW5ncy5kaXNhYmxlZENsYXNzKTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIGRpc2FibGVkIGZyb20gc2V0dGluZ3MKICAgICAgICBpZiAoc2V0dGluZ3MuZGlzYWJsZWQgJiYgc2V0dGluZ3MuZGlzYWJsZWQubGVuZ3RoKSB7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBrID0gc2V0dGluZ3MuZGlzYWJsZWQubGVuZ3RoOyBpIDwgazsgaSsrKSB7CiAgICAgICAgICAgICAgICB0YWJzLmVxKC0tc2V0dGluZ3MuZGlzYWJsZWRbaV0pLnRyaWdnZXIoJ2Rpc2FibGVUYWInKS5lbmQoKTsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIC8vIGF0dGFjaCBlbmFibGUgZXZlbnQsIHJlcXVpcmVkIGZvciByZWVuYWJsaW5nIGEgdGFiCiAgICAgICAgdGFicy5iaW5kKCdlbmFibGVUYWInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGxpID0gJCh0aGlzKS5wYXJlbnRzKCdsaTplcSgwKScpOwogICAgICAgICAgICBsaS5yZW1vdmVDbGFzcyhzZXR0aW5ncy5kaXNhYmxlZENsYXNzKTsKICAgICAgICAgICAgaWYgKCQuYnJvd3Nlci5zYWZhcmkpIHsgLyogZml4IGRpc2FwcGVhcmluZyB0YWIgYWZ0ZXIgZW5hYmxpbmcgaW4gU2FmYXJpLi4uICovCiAgICAgICAgICAgICAgICBsaS5hbmltYXRlKHsgb3BhY2l0eTogMSB9LCAxLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBsaS5jc3Moe29wYWNpdHk6ICcnfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICAvLyBhdHRhY2ggY2xpY2sgZXZlbnQKICAgICAgICB0YWJzLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgdmFyIHRydWVDbGljayA9IGUuY2xpZW50WDsgLy8gYWRkIHRvIGhpc3Rvcnkgb25seSBpZiB0cnVlIGNsaWNrIG9jY3VyZWQsIG5vdCBhIHRyaWdnZXJlZCBjbGljawogICAgICAgICAgICB2YXIgY2xpY2tlZCA9IHRoaXMsIGxpID0gJCh0aGlzKS5wYXJlbnRzKCdsaTplcSgwKScpLCB0b1Nob3cgPSAkKHRoaXMuaGFzaCksIHRvSGlkZSA9IGNvbnRhaW5lcnMuZmlsdGVyKCc6dmlzaWJsZScpOwoKICAgICAgICAgICAgLy8gaWYgYW5pbWF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcsIHRhYiBpcyBzZWxlY3RlZCBvciBkaXNhYmxlZCBvciBvbkNsaWNrIGNhbGxiYWNrIHJldHVybnMgZmFsc2Ugc3RvcCBoZXJlCiAgICAgICAgICAgIC8vIGNoZWNrIGlmIG9uQ2xpY2sgcmV0dXJucyBmYWxzZSBsYXN0IHNvIHRoYXQgaXQgaXMgbm90IGV4ZWN1dGVkIGZvciBhIGRpc2FibGVkIHRhYgogICAgICAgICAgICBpZiAoY29udGFpbmVyWydsb2NrZWQnXSB8fCBsaS5pcygnLicgKyBzZXR0aW5ncy5zZWxlY3RlZENsYXNzKSB8fCBsaS5pcygnLicgKyBzZXR0aW5ncy5kaXNhYmxlZENsYXNzKSB8fCB0eXBlb2Ygb25DbGljayA9PSAnZnVuY3Rpb24nICYmIG9uQ2xpY2sodGhpcywgdG9TaG93WzBdLCB0b0hpZGVbMF0pID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgdGhpcy5ibHVyKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNvbnRhaW5lclsnbG9ja2VkJ10gPSB0cnVlOwoKICAgICAgICAgICAgLy8gc2hvdyBuZXcgdGFiCiAgICAgICAgICAgIGlmICh0b1Nob3cuc2l6ZSgpKSB7CgogICAgICAgICAgICAgICAgLy8gcHJldmVudCBzY3JvbGxiYXIgc2Nyb2xsaW5nIHRvIDAgYW5kIHRoYW4gYmFjayBpbiBJRTcsIGhhcHBlbnMgb25seSBpZiBib29rbWFya2luZy9oaXN0b3J5IGlzIGVuYWJsZWQKICAgICAgICAgICAgICAgIGlmICgkLmJyb3dzZXIubXNpZSAmJiBzZXR0aW5ncy5ib29rbWFya2FibGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdG9TaG93SWQgPSB0aGlzLmhhc2gucmVwbGFjZSgnIycsICcnKTsKICAgICAgICAgICAgICAgICAgICB0b1Nob3cuYXR0cignaWQnLCAnJyk7CiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdG9TaG93LmF0dHIoJ2lkJywgdG9TaG93SWQpOyAvLyByZXN0b3JlIGlkCiAgICAgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmFyIHJlc2V0Q1NTID0geyBkaXNwbGF5OiAnJywgb3ZlcmZsb3c6ICcnLCBoZWlnaHQ6ICcnIH07CiAgICAgICAgICAgICAgICBpZiAoISQuYnJvd3Nlci5tc2llKSB7IC8vIG5vdCBpbiBJRSB0byBwcmV2ZW50IENsZWFyVHlwZSBmb250IGlzc3VlCiAgICAgICAgICAgICAgICAgICAgcmVzZXRDU1NbJ29wYWNpdHknXSA9ICcnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyBzd2l0Y2ggdGFiLCBhbmltYXRpb24gcHJldmVudHMgYnJvd3NlciBzY3JvbGxpbmcgdG8gdGhlIGZyYWdtZW50CiAgICAgICAgICAgICAgICBmdW5jdGlvbiBzd2l0Y2hUYWIoKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLmJvb2ttYXJrYWJsZSAmJiB0cnVlQ2xpY2spIHsgLy8gYWRkIHRvIGhpc3Rvcnkgb25seSBpZiB0cnVlIGNsaWNrIG9jY3VyZWQsIG5vdCBhIHRyaWdnZXJlZCBjbGljawogICAgICAgICAgICAgICAgICAgICAgICAkLmFqYXhIaXN0b3J5LnVwZGF0ZShjbGlja2VkLmhhc2gpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB0b0hpZGUuYW5pbWF0ZShoaWRlQW5pbSwgaGlkZVNwZWVkLCBmdW5jdGlvbigpIHsgLy8KICAgICAgICAgICAgICAgICAgICAgICAgJChjbGlja2VkKS5wYXJlbnRzKCdsaTplcSgwKScpLmFkZENsYXNzKHNldHRpbmdzLnNlbGVjdGVkQ2xhc3MpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3Moc2V0dGluZ3Muc2VsZWN0ZWRDbGFzcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvSGlkZS5hZGRDbGFzcyhzZXR0aW5ncy5oaWRlQ2xhc3MpLmNzcyhyZXNldENTUyk7IC8vIG1haW50YWluIGZsZXhpYmxlIGhlaWdodCBhbmQgYWNjZXNzaWJpbGl0eSBpbiBwcmludCBldGMuICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb25IaWRlID09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSGlkZShjbGlja2VkLCB0b1Nob3dbMF0sIHRvSGlkZVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoc2V0dGluZ3MuZnhTbGlkZSB8fCBzZXR0aW5ncy5meEZhZGUgfHwgc2V0dGluZ3MuZnhTaG93KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9TaG93LmNzcygnZGlzcGxheScsICdibG9jaycpOyAvLyBwcmV2ZW50IG9jY2FzaW9uYWxseSBvY2N1cmluZyBmbGlja2VyIGluIEZpcmVmb3ggY2F1c2UgYnkgZ2FwIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIHRoZSB0YWIgY29udGFpbmVycwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHRvU2hvdy5hbmltYXRlKHNob3dBbmltLCBzaG93U3BlZWQsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9TaG93LnJlbW92ZUNsYXNzKHNldHRpbmdzLmhpZGVDbGFzcykuY3NzKHJlc2V0Q1NTKTsgLy8gbWFpbnRhaW4gZmxleGlibGUgaGVpZ2h0IGFuZCBhY2Nlc3NpYmlsaXR5IGluIHByaW50IGV0Yy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkLmJyb3dzZXIubXNpZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvSGlkZVswXS5zdHlsZS5maWx0ZXIgPSAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b1Nob3dbMF0uc3R5bGUuZmlsdGVyID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9uU2hvdyA9PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TaG93KGNsaWNrZWQsIHRvU2hvd1swXSwgdG9IaWRlWzBdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclsnbG9ja2VkJ10gPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXNldHRpbmdzLnJlbW90ZSkgewogICAgICAgICAgICAgICAgICAgIHN3aXRjaFRhYigpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkKGNsaWNrZWQpLnRyaWdnZXIoJ2xvYWRSZW1vdGVUYWInLCBbc3dpdGNoVGFiXSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYWxlcnQoJ1RoZXJlIGlzIG5vIHN1Y2ggY29udGFpbmVyLicpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTZXQgc2Nyb2xsYmFyIHRvIHNhdmVkIHBvc2l0aW9uIC0gbmVlZCB0byB1c2UgdGltZW91dCB3aXRoIDAgdG8gcHJldmVudCBicm93c2VyIHNjcm9sbCB0byB0YXJnZXQgb2YgaGFzaAogICAgICAgICAgICB2YXIgc2Nyb2xsWCA9IHdpbmRvdy5wYWdlWE9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IHx8IDA7CiAgICAgICAgICAgIHZhciBzY3JvbGxZID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oc2Nyb2xsWCwgc2Nyb2xsWSk7CiAgICAgICAgICAgIH0sIDApOwoKICAgICAgICAgICAgdGhpcy5ibHVyKCk7IC8vIHByZXZlbnQgSUUgZnJvbSBrZWVwaW5nIG90aGVyIGxpbmsgZm9jdXNzZWQgd2hlbiB1c2luZyB0aGUgYmFjayBidXR0b24KCiAgICAgICAgICAgIHJldHVybiBzZXR0aW5ncy5ib29rbWFya2FibGUgJiYgISF0cnVlQ2xpY2s7IC8vIGNvbnZlcnQgdW5kZWZpbmVkIHRvIEJvb2xlYW4gZm9yIElFCgogICAgICAgIH0pOwoKICAgICAgICAvLyBlbmFibGUgaGlzdG9yeSBzdXBwb3J0IGlmIGJvb2ttYXJraW5nIGFuZCBoaXN0b3J5IGlzIHR1cm5lZCBvbgogICAgICAgIGlmIChzZXR0aW5ncy5ib29rbWFya2FibGUpIHsKICAgICAgICAgICAgJC5hamF4SGlzdG9yeS5pbml0aWFsaXplKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGFicy5lcShzZXR0aW5ncy5pbml0aWFsKS50cmlnZ2VyKCdjbGljaycpLmVuZCgpOwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgfSk7Cgp9OwoKLyoqCiAqIEFjdGl2YXRlIGEgdGFiIHByb2dyYW1tYXRpY2FsbHkgd2l0aCB0aGUgZ2l2ZW4gcG9zaXRpb24gKG5vIHplcm8tYmFzZWQgaW5kZXgpCiAqIG9yIGl0cyBpZCwgZS5nLiB0aGUgVVJMJ3MgZnJhZ21lbnQgaWRlbnRpZmllci9oYXNoIHJlcHJlc2VudGluZyBhIHRhYiwgYXMgaWYgdGhlIHRhYgogKiBpdHNlbGYgd2VyZSBjbGlja2VkLgogKgogKiBAZXhhbXBsZSAkKCcjY29udGFpbmVyJykudHJpZ2dlclRhYigyKTsKICogQGRlc2MgQWN0aXZhdGUgdGhlIHNlY29uZCB0YWIgb2YgdGhlIHRhYiBpbnRlcmZhY2UgY29udGFpbmVkIGluIDxkaXYgaWQ9ImNvbnRhaW5lciI+LgogKiBAZXhhbXBsZSAkKCcjY29udGFpbmVyJykudHJpZ2dlclRhYigxKTsKICogQGRlc2MgQWN0aXZhdGUgdGhlIGZpcnN0IHRhYiBvZiB0aGUgdGFiIGludGVyZmFjZSBjb250YWluZWQgaW4gPGRpdiBpZD0iY29udGFpbmVyIj4uCiAqIEBleGFtcGxlICQoJyNjb250YWluZXInKS50cmlnZ2VyVGFiKCk7CiAqIEBkZXNjIEFjdGl2YXRlIHRoZSBmaXJzdCB0YWIgb2YgdGhlIHRhYiBpbnRlcmZhY2UgY29udGFpbmVkIGluIDxkaXYgaWQ9ImNvbnRhaW5lciI+LgogKiBAZXhhbXBsZSAkKCcjY29udGFpbmVyJykudHJpZ2dlclRhYignZnJhZ21lbnQtMicpOwogKiBAZGVzYyBBY3RpdmF0ZSBhIHRhYiB2aWEgaXRzIFVSTCBmcmFnbWVudCBpZGVudGlmaWVyIHJlcHJlc2VudGF0aW9uLgogKgogKiBAcGFyYW0gU3RyaW5nfE51bWJlciB0YWIgRWl0aGVyIGEgc3RyaW5nIHRoYXQgbWF0Y2hlcyB0aGUgaWQgb2YgdGhlIHRhYiAodGhlIFVSTCdzCiAqICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudCBpZGVudGlmaWVyL2hhc2ggcmVwcmVzZW50aW5nIGEgdGFiKSBvciBhbiBpbnRlZ2VyCiAqICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFiIChubyB6ZXJvLWJhc2VkIGluZGV4KSB0bwogKiAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgYWN0aXZhdGVkLiBJZiB0aGlzIHBhcmFtZXRlciBpcyBvbWl0dGVkLCB0aGUgZmlyc3QgdGFiCiAqICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGJlIGFjdGl2YXRlZC4KICogQHR5cGUgalF1ZXJ5CiAqCiAqIEBuYW1lIHRyaWdnZXJUYWIKICogQGNhdCBQbHVnaW5zL1RhYnMKICogQGF1dGhvciBLbGF1cyBIYXJ0bC9rbGF1cy5oYXJ0bEBzdGlsYnVlcm8uZGUKICovCgovKioKICogRGlzYWJsZSBhIHRhYiwgc28gdGhhdCBjbGlja2luZyBpdCBoYXMgbm8gZWZmZWN0LgogKgogKiBAZXhhbXBsZSAkKCcjY29udGFpbmVyJykuZGlzYWJsZVRhYigyKTsKICogQGRlc2MgRGlzYWJsZSB0aGUgc2Vjb25kIHRhYiBvZiB0aGUgdGFiIGludGVyZmFjZSBjb250YWluZWQgaW4gPGRpdiBpZD0iY29udGFpbmVyIj4uCiAqCiAqIEBwYXJhbSBTdHJpbmd8TnVtYmVyIHRhYiBFaXRoZXIgYSBzdHJpbmcgdGhhdCBtYXRjaGVzIHRoZSBpZCBvZiB0aGUgdGFiICh0aGUgVVJMJ3MKICogICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50IGlkZW50aWZpZXIvaGFzaCByZXByZXNlbnRpbmcgYSB0YWIpIG9yIGFuIGludGVnZXIKICogICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YWIgKG5vIHplcm8tYmFzZWQgaW5kZXgpIHRvCiAqICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBkaXNhYmxlZC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgb21pdHRlZCwgdGhlIGZpcnN0IHRhYgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBiZSBkaXNhYmxlZC4KICogQHR5cGUgalF1ZXJ5CiAqCiAqIEBuYW1lIGRpc2FibGVUYWIKICogQGNhdCBQbHVnaW5zL1RhYnMKICogQGF1dGhvciBLbGF1cyBIYXJ0bC9rbGF1cy5oYXJ0bEBzdGlsYnVlcm8uZGUKICovCgovKioKICogRW5hYmxlIGEgdGFiIHRoYXQgaGFzIGJlZW4gZGlzYWJsZWQuCiAqCiAqIEBleGFtcGxlICQoJyNjb250YWluZXInKS5lbmFibGVUYWIoMik7CiAqIEBkZXNjIEVuYWJsZSB0aGUgc2Vjb25kIHRhYiBvZiB0aGUgdGFiIGludGVyZmFjZSBjb250YWluZWQgaW4gPGRpdiBpZD0iY29udGFpbmVyIj4uCiAqCiAqIEBwYXJhbSBTdHJpbmd8TnVtYmVyIHRhYiBFaXRoZXIgYSBzdHJpbmcgdGhhdCBtYXRjaGVzIHRoZSBpZCBvZiB0aGUgdGFiICh0aGUgVVJMJ3MKICogICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50IGlkZW50aWZpZXIvaGFzaCByZXByZXNlbnRpbmcgYSB0YWIpIG9yIGFuIGludGVnZXIKICogICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YWIgKG5vIHplcm8tYmFzZWQgaW5kZXgpIHRvCiAqICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBlbmFibGVkLiBJZiB0aGlzIHBhcmFtZXRlciBpcyBvbWl0dGVkLCB0aGUgZmlyc3QgdGFiCiAqICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGJlIGVuYWJsZWQuCiAqIEB0eXBlIGpRdWVyeQogKgogKiBAbmFtZSBlbmFibGVUYWIKICogQGNhdCBQbHVnaW5zL1RhYnMKICogQGF1dGhvciBLbGF1cyBIYXJ0bC9rbGF1cy5oYXJ0bEBzdGlsYnVlcm8uZGUKICovCgp2YXIgdGFiRXZlbnRzID0gWyd0cmlnZ2VyVGFiJywgJ2Rpc2FibGVUYWInLCAnZW5hYmxlVGFiJ107CmZvciAodmFyIGkgPSAwOyBpIDwgdGFiRXZlbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAkLmZuW3RhYkV2ZW50c1tpXV0gPSAoZnVuY3Rpb24odGFiRXZlbnQpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24odGFiKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgbmF2ID0gJCgndWwudGFicy1uYXYnICwgdGhpcyk7CiAgICAgICAgICAgICAgICBuYXYgPSBuYXYuc2l6ZSgpICYmIG5hdiB8fCAkKCc+dWw6ZXEoMCknLCB0aGlzKTsgLy8gZmFsbGJhY2sgdG8gZGVmYXVsdCBzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHZhciBhOwogICAgICAgICAgICAgICAgaWYgKCF0YWIgfHwgdHlwZW9mIHRhYiA9PSAnbnVtYmVyJykgewogICAgICAgICAgICAgICAgICAgIGEgPSAkKCdsaSBhJywgbmF2KS5lcSgodGFiICYmIHRhYiA+IDAgJiYgdGFiIC0gMSB8fCAwKSk7IC8vIGZhbGwgYmFjayB0byAwCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0YWIgPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICBhID0gJCgnbGkgYVtAaHJlZiQ9IiMnICsgdGFiICsgJyJdJywgbmF2KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGEudHJpZ2dlcih0YWJFdmVudCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH07CiAgICB9KSh0YWJFdmVudHNbaV0pOwp9CgovKioKICogR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYiAobm8gemVyby1iYXNlZCBpbmRleCkuCiAqCiAqIEBleGFtcGxlICQoJyNjb250YWluZXInKS5hY3RpdmVUYWIoKTsKICogQGRlc2MgR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYiBvZiBhbiBpbnRlcmZhY2UKICogY29udGFpbmVkIGluIDxkaXYgaWQ9ImNvbnRhaW5lciI+LgogKgogKiBAdHlwZSBOdW1iZXIKICoKICogQG5hbWUgYWN0aXZlVGFiCiAqIEBjYXQgUGx1Z2lucy9UYWJzCiAqIEBhdXRob3IgS2xhdXMgSGFydGwva2xhdXMuaGFydGxAc3RpbGJ1ZXJvLmRlCiAqLwoKJC5mbi5hY3RpdmVUYWIgPSBmdW5jdGlvbigpIHsKICAgIHZhciBzZWxlY3RlZFRhYnMgPSBbXTsKICAgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgbmF2ID0gJCgndWwudGFicy1uYXYnICwgdGhpcyk7CiAgICAgICAgbmF2ID0gbmF2LnNpemUoKSAmJiBuYXYgfHwgJCgnPnVsOmVxKDApJywgdGhpcyk7IC8vZmFsbGJhY2sgdG8gZGVmYXVsdCBzdHJ1Y3R1cmUKICAgICAgICB2YXIgbGlzID0gJCgnbGknLCBuYXYpOwogICAgICAgIHNlbGVjdGVkVGFicy5wdXNoKGxpcy5pbmRleCggbGlzLmZpbHRlcignLnRhYnMtc2VsZWN0ZWQnKVswXSApICsgMSk7CiAgICB9KTsKICAgIHJldHVybiBzZWxlY3RlZFRhYnNbMF07Cn07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/js/jquery.tabs.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFRhYnMgLSBqUXVlcnkgcGx1Z2luIGZvciBhY2Nlc3NpYmxlLCB1bm9idHJ1c2l2ZSB0YWJzCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuMS4xCiAqCiAqIGh0dHA6Ly9zdGlsYnVlcm8uZGUvdGFicy8KICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEtsYXVzIEhhcnRsIChzdGlsYnVlcm8uZGUpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICoKICogVmVyc2lvbjogMi43LjQKICovCmV2YWwoZnVuY3Rpb24ocCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNlSW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkpOmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwfSgnKDQoJCl7JC4ybCh7ejp7Mms6MH19KTskLjFQLno9NCh4LHcpezMoTyB4PT1cJzJZXCcpdz14O3c9JC4ybCh7SzooeCYmTyB4PT1cJzFaXCcmJng+MCk/LS14OjAsMTI6QyxKOiQuMWY/Mmg6VCwxODpULDFyOlwnMlgmIzJRO1wnLDIxOlwnMTgtMkYtXCcsMW06QywxdTpDLDFsOkMsMUY6QywxeDpcJzJ1XCcsMnI6QywycDpDLDJtOlQsMmk6QywxZDpDLDFjOkMsMWo6XCd6LTFNXCcsSDpcJ3otMmJcJywxNDpcJ3otMTJcJywxNjpcJ3otMjZcJywxcTpcJ3otMUhcJywxTDpcJ3otMkxcJywyajpcJzEwXCd9LHd8fHt9KTskLjguMUQ9JC44LlUmJigkLjguMVkmJiQuOC4xWTw3fHwvMkEgNi4wLy4yeSgyeC4ydykpOzQgMXcoKXsxVigwLDApfUYgNS5ZKDQoKXsyIHA9NTsyIHI9JChcJzEzLlwnK3cuMWoscCk7cj1yLlYoKSYmcnx8JChcJz4xMzo5KDApXCcscCk7MiBqPSQoXCdhXCcscik7Myh3LjE4KXtqLlkoNCgpezIgYz13LjIxKygrKyQuei4yayksQj1cJyNcJytjLDJmPTUuMU87NS4xTz1COyQoXCc8MTAgUz0iXCcrYytcJyIgMzQ9IlwnK3cuMTYrXCciPjwvMTA+XCcpLjJjKHApOyQoNSkuMTkoXCcxQlwnLDQoZSxhKXsyIGI9JCg1KS5JKHcuMUwpLFg9JChcJ1hcJyw1KVswXSwyNz1YLjFKOzMody4xcil7WC4xSj1cJzwyND5cJyt3LjFyK1wnPC8yND5cJ30xcCg0KCl7JChCKS4yVCgyZiw0KCl7Myh3LjFyKXtYLjFKPTI3fWIuMTcody4xTCk7YSYmYSgpfSl9LDApfSl9KX0yIG49JChcJzEwLlwnK3cuMTYscCk7bj1uLlYoKSYmbnx8JChcJz5cJyt3LjJqLHApO3IuUChcJy5cJyt3LjFqKXx8ci5JKHcuMWopO24uWSg0KCl7MiBhPSQoNSk7YS5QKFwnLlwnK3cuMTYpfHxhLkkody4xNil9KTsyIHM9JChcJ0FcJyxyKS4yMCgkKFwnQS5cJyt3LkgscilbMF0pOzMocz49MCl7dy5LPXN9MygxZS5CKXtqLlkoNChpKXszKDUuQj09MWUuQil7dy5LPWk7MygoJC44LlV8fCQuOC4yRSkmJiF3LjE4KXsyIGE9JCgxZS5CKTsyIGI9YS4xNShcJ1NcJyk7YS4xNShcJ1NcJyxcJ1wnKTsxcCg0KCl7YS4xNShcJ1NcJyxiKX0sMkQpfTF3KCk7RiBUfX0pfTMoJC44LlUpezF3KCl9bi4xYShcJzo5KFwnK3cuSytcJylcJykuMUMoKS4xbigpLjJDKFwnOjkoXCcrdy5LK1wnKVwnKS5JKHcuMXEpOyQoXCdBXCcscikuMTcody5IKS45KHcuSykuSSh3LkgpO2ouOSh3LkspLk4oXCcxQlwnKS4xbigpOzMody4ybSl7MiBsPTQoZCl7MiBjPSQuMkIobi4xdCgpLDQoYSl7MiBoLDFBPSQoYSk7MyhkKXszKCQuOC4xRCl7YS5aLjJ6KFwnMVhcJyk7YS5aLkc9XCdcJzthLjFrPUN9aD0xQS5MKHtcJzFoLUdcJzpcJ1wnfSkuRygpfUV7aD0xQS5HKCl9RiBofSkuMnYoNChhLGIpe0YgYi1hfSk7MygkLjguMUQpe24uWSg0KCl7NS4xaz1jWzBdK1wnMVdcJzs1LlouMnQoXCcxWFwnLFwnNS5aLkcgPSA1LjFrID8gNS4xayA6ICIycyJcJyl9KX1Fe24uTCh7XCcxaC1HXCc6Y1swXStcJzFXXCd9KX19O2woKTsyIHE9cC4xVTsyIG09cC4xdjsyIHY9JChcJyN6LTJxLTJvLVZcJykuMXQoMCl8fCQoXCc8WCBTPSJ6LTJxLTJvLVYiPk08L1g+XCcpLkwoezFUOlwnMm5cJywzYTpcJzM5XCcsMzg6XCczN1wnfSkuMmMoUS4xUykuMXQoMCk7MiBvPXYuMXY7MzYoNCgpezIgYj1wLjFVOzIgYT1wLjF2OzIgYz12LjF2OzMoYT5tfHxiIT1xfHxjIT1vKXtsKChiPnF8fGM8bykpO3E9YjttPWE7bz1jfX0sMzUpfTIgdT17fSwxMT17fSwxUj13LjJyfHx3LjF4LDFRPXcuMnB8fHcuMXg7Myh3LjF1fHx3LjFtKXszKHcuMXUpe3VbXCdHXCddPVwnMUNcJzsxMVtcJ0dcJ109XCcxSFwnfTMody4xbSl7dVtcJ1dcJ109XCcxQ1wnOzExW1wnV1wnXT1cJzFIXCd9fUV7Myh3LjFsKXt1PXcuMWx9RXt1W1wnMWgtMmdcJ109MDsxUj0xfTMody4xRil7MTE9dy4xRn1FezExW1wnMWgtMmdcJ109MDsxUT0xfX0yIHQ9dy4yaSwxZD13LjFkLDFjPXcuMWM7ai4xOShcJzJlXCcsNCgpezIgYz0kKDUpLjFnKFwnQTo5KDApXCcpOzMocC4xaXx8Yy5QKFwnLlwnK3cuSCl8fGMuUChcJy5cJyt3LjE0KSl7RiBUfTIgYT01LkI7MygkLjguVSl7JCg1KS5OKFwnMWJcJyk7Myh3LkopeyQuMWYuMU4oYSk7MWUuQj1hLjF6KFwnI1wnLFwnXCcpfX1FIDMoJC44LjF5KXsyIGI9JChcJzwyZCAzMz0iXCcrYStcJyI+PDEwPjwzMiAzMT0iMmEiIDMwPSJoIiAvPjwvMTA+PC8yZD5cJykuMXQoMCk7Yi4yYSgpOyQoNSkuTihcJzFiXCcpOzMody5KKXskLjFmLjFOKGEpfX1FezMody5KKXsxZS5CPWEuMXooXCcjXCcsXCdcJyl9RXskKDUpLk4oXCcxYlwnKX19fSk7ai4xOShcJzFFXCcsNCgpezIgYT0kKDUpLjFnKFwnQTo5KDApXCcpOzMoJC44LjF5KXthLjFvKHtXOjB9LDEsNCgpe2EuTCh7VzpcJ1wnfSl9KX1hLkkody4xNCl9KTszKHcuMTImJncuMTIuMUspezI5KDIgaT0wLGs9dy4xMi4xSztpPGs7aSsrKXtqLjkoLS13LjEyW2ldKS5OKFwnMUVcJykuMW4oKX19O2ouMTkoXCcyOFwnLDQoKXsyIGE9JCg1KS4xZyhcJ0E6OSgwKVwnKTthLjE3KHcuMTQpOzMoJC44LjF5KXthLjFvKHtXOjF9LDEsNCgpe2EuTCh7VzpcJ1wnfSl9KX19KTtqLjE5KFwnMWJcJyw0KGUpezIgZz1lLjJaOzIgZD01LEE9JCg1KS4xZyhcJ0E6OSgwKVwnKSxEPSQoNS5CKSxSPW4uMWEoXCc6MldcJyk7MyhwW1wnMWlcJ118fEEuUChcJy5cJyt3LkgpfHxBLlAoXCcuXCcrdy4xNCl8fE8gdD09XCc0XCcmJnQoNSxEWzBdLFJbMF0pPT09VCl7NS4yNSgpO0YgVH1wW1wnMWlcJ109Mmg7MyhELlYoKSl7MygkLjguVSYmdy5KKXsyIGM9NS5CLjF6KFwnI1wnLFwnXCcpO0QuMTUoXCdTXCcsXCdcJyk7MXAoNCgpe0QuMTUoXCdTXCcsYyl9LDApfTIgZj17MVQ6XCdcJywyVjpcJ1wnLEc6XCdcJ307MyghJC44LlUpe2ZbXCdXXCddPVwnXCd9NCAxSSgpezMody5KJiZnKXskLjFmLjFOKGQuQil9Ui4xbygxMSwxUSw0KCl7JChkKS4xZyhcJ0E6OSgwKVwnKS5JKHcuSCkuMlUoKS4xNyh3LkgpO1IuSSh3LjFxKS5MKGYpOzMoTyAxZD09XCc0XCcpezFkKGQsRFswXSxSWzBdKX0zKCEody4xdXx8dy4xbXx8dy4xbCkpe0QuTChcJzFUXCcsXCcyblwnKX1ELjFvKHUsMVIsNCgpe0QuMTcody4xcSkuTChmKTszKCQuOC5VKXtSWzBdLlouMWE9XCdcJztEWzBdLlouMWE9XCdcJ30zKE8gMWM9PVwnNFwnKXsxYyhkLERbMF0sUlswXSl9cFtcJzFpXCddPUN9KX0pfTMoIXcuMTgpezFJKCl9RXskKGQpLk4oXCcxQlwnLFsxSV0pfX1FezJTKFwnMlIgUCAyUCAyTyAyNi5cJyl9MiBhPTFHLjJOfHxRLjFzJiZRLjFzLjIzfHxRLjFTLjIzfHwwOzIgYj0xRy4yTXx8US4xcyYmUS4xcy4yMnx8US4xUy4yMnx8MDsxcCg0KCl7MUcuMVYoYSxiKX0sMCk7NS4yNSgpO0Ygdy5KJiYhIWd9KTszKHcuSil7JC4xZi4ySyg0KCl7ai45KHcuSykuTihcJzFiXCcpLjFuKCl9KX19KX07MiB5PVtcJzJlXCcsXCcxRVwnLFwnMjhcJ107MjkoMiBpPTA7aTx5LjFLO2krKyl7JC4xUFt5W2ldXT0oNChkKXtGIDQoYyl7RiA1LlkoNCgpezIgYj0kKFwnMTMuei0xTVwnLDUpO2I9Yi5WKCkmJmJ8fCQoXCc+MTM6OSgwKVwnLDUpOzIgYTszKCFjfHxPIGM9PVwnMVpcJyl7YT0kKFwnQSBhXCcsYikuOSgoYyYmYz4wJiZjLTF8fDApKX1FIDMoTyBjPT1cJzJKXCcpe2E9JChcJ0EgYVtAMU8kPSIjXCcrYytcJyJdXCcsYil9YS5OKGQpfSl9fSkoeVtpXSl9JC4xUC4yST00KCl7MiBjPVtdOzUuWSg0KCl7MiBhPSQoXCcxMy56LTFNXCcsNSk7YT1hLlYoKSYmYXx8JChcJz4xMzo5KDApXCcsNSk7MiBiPSQoXCdBXCcsYSk7Yy4ySChiLjIwKGIuMWEoXCcuei0yYlwnKVswXSkrMSl9KTtGIGNbMF19fSkoMkcpOycsNjIsMTk3LCd8fHZhcnxpZnxmdW5jdGlvbnx0aGlzfHx8YnJvd3NlcnxlcXx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8dGFic3xsaXxoYXNofG51bGx8dG9TaG93fGVsc2V8cmV0dXJufGhlaWdodHxzZWxlY3RlZENsYXNzfGFkZENsYXNzfGJvb2ttYXJrYWJsZXxpbml0aWFsfGNzc3x8dHJpZ2dlcnx0eXBlb2Z8aXN8ZG9jdW1lbnR8dG9IaWRlfGlkfGZhbHNlfG1zaWV8c2l6ZXxvcGFjaXR5fHNwYW58ZWFjaHxzdHlsZXxkaXZ8aGlkZUFuaW18ZGlzYWJsZWR8dWx8ZGlzYWJsZWRDbGFzc3xhdHRyfGNvbnRhaW5lckNsYXNzfHJlbW92ZUNsYXNzfHJlbW90ZXxiaW5kfGZpbHRlcnxjbGlja3xvblNob3d8b25IaWRlfGxvY2F0aW9ufGFqYXhIaXN0b3J5fHBhcmVudHN8bWlufGxvY2tlZHxuYXZDbGFzc3xtaW5IZWlnaHR8ZnhTaG93fGZ4RmFkZXxlbmR8YW5pbWF0ZXxzZXRUaW1lb3V0fGhpZGVDbGFzc3xzcGlubmVyfGRvY3VtZW50RWxlbWVudHxnZXR8ZnhTbGlkZXxvZmZzZXRIZWlnaHR8dW5Gb2N1c3xmeFNwZWVkfHNhZmFyaXxyZXBsYWNlfGpxfGxvYWRSZW1vdGVUYWJ8c2hvd3xtc2llNnxkaXNhYmxlVGFifGZ4SGlkZXx3aW5kb3d8aGlkZXxzd2l0Y2hUYWJ8aW5uZXJIVE1MfGxlbmd0aHxsb2FkaW5nQ2xhc3N8bmF2fHVwZGF0ZXxocmVmfGZufGhpZGVTcGVlZHxzaG93U3BlZWR8Ym9keXxkaXNwbGF5fG9mZnNldFdpZHRofHNjcm9sbFRvfHB4fGJlaGF2aW91cnx2ZXJzaW9ufG51bWJlcnxpbmRleHxoYXNoUHJlZml4fHNjcm9sbFRvcHxzY3JvbGxMZWZ0fGVtfGJsdXJ8Y29udGFpbmVyfHRhYlRpdGxlfGVuYWJsZVRhYnxmb3J8c3VibWl0fHNlbGVjdGVkfGFwcGVuZFRvfGZvcm18dHJpZ2dlclRhYnx1cmx8d2lkdGh8dHJ1ZXxvbkNsaWNrfHRhYlN0cnVjdHxyZW1vdGVDb3VudHxleHRlbmR8ZnhBdXRvSGVpZ2h0fGJsb2NrfGZvbnR8ZnhIaWRlU3BlZWR8d2F0Y2h8ZnhTaG93U3BlZWR8MXB4fHNldEV4cHJlc3Npb258bm9ybWFsfHNvcnR8dXNlckFnZW50fG5hdmlnYXRvcnx0ZXN0fHJlbW92ZUV4cHJlc3Npb258TVNJRXxtYXB8bm90fDUwMHxvcGVyYXx0YWJ8alF1ZXJ5fHB1c2h8YWN0aXZlVGFifHN0cmluZ3xpbml0aWFsaXplfGxvYWRpbmd8cGFnZVlPZmZzZXR8cGFnZVhPZmZzZXR8c3VjaHxub3w4MjMwfFRoZXJlfGFsZXJ0fGxvYWR8c2libGluZ3N8b3ZlcmZsb3d8dmlzaWJsZXxMb2FkaW5nfG9iamVjdHxjbGllbnRYfHZhbHVlfHR5cGV8aW5wdXR8YWN0aW9ufGNsYXNzfDUwfHNldEludGVydmFsfGhpZGRlbnx2aXNpYmlsaXR5fGFic29sdXRlfHBvc2l0aW9uJy5zcGxpdCgnfCcpLDAse30pKQ==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/js/tabs.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFRhYnMgLSBqUXVlcnkgcGx1Z2luIGZvciBhY2Nlc3NpYmxlLCB1bm9idHJ1c2l2ZSB0YWJzCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuMS4xCiAqCiAqIGh0dHA6Ly9zdGlsYnVlcm8uZGUvdGFicy8KICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEtsYXVzIEhhcnRsIChzdGlsYnVlcm8uZGUpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICoKICogVmVyc2lvbjogMi43LjQKICovCihmdW5jdGlvbigkKXskLmV4dGVuZCh7dGFiczp7cmVtb3RlQ291bnQ6MH19KTskLmZuLnRhYnM9ZnVuY3Rpb24oaW5pdGlhbCxzZXR0aW5ncyl7aWYodHlwZW9mIGluaXRpYWw9PSdvYmplY3QnKXNldHRpbmdzPWluaXRpYWw7c2V0dGluZ3M9JC5leHRlbmQoe2luaXRpYWw6KGluaXRpYWwmJnR5cGVvZiBpbml0aWFsPT0nbnVtYmVyJyYmaW5pdGlhbD4wKT8tLWluaXRpYWw6MCxkaXNhYmxlZDpudWxsLGJvb2ttYXJrYWJsZTokLmFqYXhIaXN0b3J5P3RydWU6ZmFsc2UscmVtb3RlOmZhbHNlLHNwaW5uZXI6J0xvYWRpbmcmIzgyMzA7JyxoYXNoUHJlZml4OidyZW1vdGUtdGFiLScsZnhGYWRlOm51bGwsZnhTbGlkZTpudWxsLGZ4U2hvdzpudWxsLGZ4SGlkZTpudWxsLGZ4U3BlZWQ6J25vcm1hbCcsZnhTaG93U3BlZWQ6bnVsbCxmeEhpZGVTcGVlZDpudWxsLGZ4QXV0b0hlaWdodDpmYWxzZSxvbkNsaWNrOm51bGwsb25IaWRlOm51bGwsb25TaG93Om51bGwsbmF2Q2xhc3M6J3RhYnMtbmF2JyxzZWxlY3RlZENsYXNzOid0YWJzLXNlbGVjdGVkJyxkaXNhYmxlZENsYXNzOid0YWJzLWRpc2FibGVkJyxjb250YWluZXJDbGFzczondGFicy1jb250YWluZXInLGhpZGVDbGFzczondGFicy1oaWRlJyxsb2FkaW5nQ2xhc3M6J3RhYnMtbG9hZGluZycsdGFiU3RydWN0OidkaXYnfSxzZXR0aW5nc3x8e30pOyQuYnJvd3Nlci5tc2llNj0kLmJyb3dzZXIubXNpZSYmKCQuYnJvd3Nlci52ZXJzaW9uJiYkLmJyb3dzZXIudmVyc2lvbjw3fHwvTVNJRSA2LjAvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpO2Z1bmN0aW9uIHVuRm9jdXMoKXtzY3JvbGxUbygwLDApO31yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGNvbnRhaW5lcj10aGlzO3ZhciBuYXY9JCgndWwuJytzZXR0aW5ncy5uYXZDbGFzcyxjb250YWluZXIpO25hdj1uYXYuc2l6ZSgpJiZuYXZ8fCQoJz51bDplcSgwKScsY29udGFpbmVyKTt2YXIgdGFicz0kKCdhJyxuYXYpO2lmKHNldHRpbmdzLnJlbW90ZSl7dGFicy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGlkPXNldHRpbmdzLmhhc2hQcmVmaXgrKCsrJC50YWJzLnJlbW90ZUNvdW50KSxoYXNoPScjJytpZCx1cmw9dGhpcy5ocmVmO3RoaXMuaHJlZj1oYXNoOyQoJzxkaXYgaWQ9IicraWQrJyIgY2xhc3M9Iicrc2V0dGluZ3MuY29udGFpbmVyQ2xhc3MrJyI+PC9kaXY+JykuYXBwZW5kVG8oY29udGFpbmVyKTskKHRoaXMpLmJpbmQoJ2xvYWRSZW1vdGVUYWInLGZ1bmN0aW9uKGUsY2FsbGJhY2spe3ZhciAkJD0kKHRoaXMpLmFkZENsYXNzKHNldHRpbmdzLmxvYWRpbmdDbGFzcyksc3Bhbj0kKCdzcGFuJyx0aGlzKVswXSx0YWJUaXRsZT1zcGFuLmlubmVySFRNTDtpZihzZXR0aW5ncy5zcGlubmVyKXtzcGFuLmlubmVySFRNTD0nPGVtPicrc2V0dGluZ3Muc3Bpbm5lcisnPC9lbT4nO31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JChoYXNoKS5sb2FkKHVybCxmdW5jdGlvbigpe2lmKHNldHRpbmdzLnNwaW5uZXIpe3NwYW4uaW5uZXJIVE1MPXRhYlRpdGxlO30kJC5yZW1vdmVDbGFzcyhzZXR0aW5ncy5sb2FkaW5nQ2xhc3MpO2NhbGxiYWNrJiZjYWxsYmFjaygpO30pO30sMCk7fSk7fSk7fXZhciBjb250YWluZXJzPSQoJ2Rpdi4nK3NldHRpbmdzLmNvbnRhaW5lckNsYXNzLGNvbnRhaW5lcik7Y29udGFpbmVycz1jb250YWluZXJzLnNpemUoKSYmY29udGFpbmVyc3x8JCgnPicrc2V0dGluZ3MudGFiU3RydWN0LGNvbnRhaW5lcik7bmF2LmlzKCcuJytzZXR0aW5ncy5uYXZDbGFzcyl8fG5hdi5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDbGFzcyk7Y29udGFpbmVycy5lYWNoKGZ1bmN0aW9uKCl7dmFyICQkPSQodGhpcyk7JCQuaXMoJy4nK3NldHRpbmdzLmNvbnRhaW5lckNsYXNzKXx8JCQuYWRkQ2xhc3Moc2V0dGluZ3MuY29udGFpbmVyQ2xhc3MpO30pO3ZhciBoYXNTZWxlY3RlZENsYXNzPSQoJ2xpJyxuYXYpLmluZGV4KCQoJ2xpLicrc2V0dGluZ3Muc2VsZWN0ZWRDbGFzcyxuYXYpWzBdKTtpZihoYXNTZWxlY3RlZENsYXNzPj0wKXtzZXR0aW5ncy5pbml0aWFsPWhhc1NlbGVjdGVkQ2xhc3M7fWlmKGxvY2F0aW9uLmhhc2gpe3RhYnMuZWFjaChmdW5jdGlvbihpKXtpZih0aGlzLmhhc2g9PWxvY2F0aW9uLmhhc2gpe3NldHRpbmdzLmluaXRpYWw9aTtpZigoJC5icm93c2VyLm1zaWV8fCQuYnJvd3Nlci5vcGVyYSkmJiFzZXR0aW5ncy5yZW1vdGUpe3ZhciB0b1Nob3c9JChsb2NhdGlvbi5oYXNoKTt2YXIgdG9TaG93SWQ9dG9TaG93LmF0dHIoJ2lkJyk7dG9TaG93LmF0dHIoJ2lkJywnJyk7c2V0VGltZW91dChmdW5jdGlvbigpe3RvU2hvdy5hdHRyKCdpZCcsdG9TaG93SWQpO30sNTAwKTt9dW5Gb2N1cygpO3JldHVybiBmYWxzZTt9fSk7fWlmKCQuYnJvd3Nlci5tc2llKXt1bkZvY3VzKCk7fWNvbnRhaW5lcnMuZmlsdGVyKCc6ZXEoJytzZXR0aW5ncy5pbml0aWFsKycpJykuc2hvdygpLmVuZCgpLm5vdCgnOmVxKCcrc2V0dGluZ3MuaW5pdGlhbCsnKScpLmFkZENsYXNzKHNldHRpbmdzLmhpZGVDbGFzcyk7JCgnbGknLG5hdikucmVtb3ZlQ2xhc3Moc2V0dGluZ3Muc2VsZWN0ZWRDbGFzcykuZXEoc2V0dGluZ3MuaW5pdGlhbCkuYWRkQ2xhc3Moc2V0dGluZ3Muc2VsZWN0ZWRDbGFzcyk7dGFicy5lcShzZXR0aW5ncy5pbml0aWFsKS50cmlnZ2VyKCdsb2FkUmVtb3RlVGFiJykuZW5kKCk7aWYoc2V0dGluZ3MuZnhBdXRvSGVpZ2h0KXt2YXIgX3NldEF1dG9IZWlnaHQ9ZnVuY3Rpb24ocmVzZXQpe3ZhciBoZWlnaHRzPSQubWFwKGNvbnRhaW5lcnMuZ2V0KCksZnVuY3Rpb24oZWwpe3ZhciBoLGpxPSQoZWwpO2lmKHJlc2V0KXtpZigkLmJyb3dzZXIubXNpZTYpe2VsLnN0eWxlLnJlbW92ZUV4cHJlc3Npb24oJ2JlaGF2aW91cicpO2VsLnN0eWxlLmhlaWdodD0nJztlbC5taW5IZWlnaHQ9bnVsbDt9aD1qcS5jc3MoeydtaW4taGVpZ2h0JzonJ30pLmhlaWdodCgpO31lbHNle2g9anEuaGVpZ2h0KCk7fXJldHVybiBoO30pLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi1hO30pO2lmKCQuYnJvd3Nlci5tc2llNil7Y29udGFpbmVycy5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5taW5IZWlnaHQ9aGVpZ2h0c1swXSsncHgnO3RoaXMuc3R5bGUuc2V0RXhwcmVzc2lvbignYmVoYXZpb3VyJywndGhpcy5zdHlsZS5oZWlnaHQgPSB0aGlzLm1pbkhlaWdodCA/IHRoaXMubWluSGVpZ2h0IDogIjFweCInKTt9KTt9ZWxzZXtjb250YWluZXJzLmNzcyh7J21pbi1oZWlnaHQnOmhlaWdodHNbMF0rJ3B4J30pO319O19zZXRBdXRvSGVpZ2h0KCk7dmFyIGNhY2hlZFdpZHRoPWNvbnRhaW5lci5vZmZzZXRXaWR0aDt2YXIgY2FjaGVkSGVpZ2h0PWNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7dmFyIHdhdGNoRm9udFNpemU9JCgnI3RhYnMtd2F0Y2gtZm9udC1zaXplJykuZ2V0KDApfHwkKCc8c3BhbiBpZD0idGFicy13YXRjaC1mb250LXNpemUiPk08L3NwYW4+JykuY3NzKHtkaXNwbGF5OidibG9jaycscG9zaXRpb246J2Fic29sdXRlJyx2aXNpYmlsaXR5OidoaWRkZW4nfSkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuZ2V0KDApO3ZhciBjYWNoZWRGb250U2l6ZT13YXRjaEZvbnRTaXplLm9mZnNldEhlaWdodDtzZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBjdXJyZW50V2lkdGg9Y29udGFpbmVyLm9mZnNldFdpZHRoO3ZhciBjdXJyZW50SGVpZ2h0PWNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7dmFyIGN1cnJlbnRGb250U2l6ZT13YXRjaEZvbnRTaXplLm9mZnNldEhlaWdodDtpZihjdXJyZW50SGVpZ2h0PmNhY2hlZEhlaWdodHx8Y3VycmVudFdpZHRoIT1jYWNoZWRXaWR0aHx8Y3VycmVudEZvbnRTaXplIT1jYWNoZWRGb250U2l6ZSl7X3NldEF1dG9IZWlnaHQoKGN1cnJlbnRXaWR0aD5jYWNoZWRXaWR0aHx8Y3VycmVudEZvbnRTaXplPGNhY2hlZEZvbnRTaXplKSk7Y2FjaGVkV2lkdGg9Y3VycmVudFdpZHRoO2NhY2hlZEhlaWdodD1jdXJyZW50SGVpZ2h0O2NhY2hlZEZvbnRTaXplPWN1cnJlbnRGb250U2l6ZTt9fSw1MCk7fXZhciBzaG93QW5pbT17fSxoaWRlQW5pbT17fSxzaG93U3BlZWQ9c2V0dGluZ3MuZnhTaG93U3BlZWR8fHNldHRpbmdzLmZ4U3BlZWQsaGlkZVNwZWVkPXNldHRpbmdzLmZ4SGlkZVNwZWVkfHxzZXR0aW5ncy5meFNwZWVkO2lmKHNldHRpbmdzLmZ4U2xpZGV8fHNldHRpbmdzLmZ4RmFkZSl7aWYoc2V0dGluZ3MuZnhTbGlkZSl7c2hvd0FuaW1bJ2hlaWdodCddPSdzaG93JztoaWRlQW5pbVsnaGVpZ2h0J109J2hpZGUnO31pZihzZXR0aW5ncy5meEZhZGUpe3Nob3dBbmltWydvcGFjaXR5J109J3Nob3cnO2hpZGVBbmltWydvcGFjaXR5J109J2hpZGUnO319ZWxzZXtpZihzZXR0aW5ncy5meFNob3cpe3Nob3dBbmltPXNldHRpbmdzLmZ4U2hvdzt9ZWxzZXtzaG93QW5pbVsnbWluLXdpZHRoJ109MDtzaG93U3BlZWQ9MTt9aWYoc2V0dGluZ3MuZnhIaWRlKXtoaWRlQW5pbT1zZXR0aW5ncy5meEhpZGU7fWVsc2V7aGlkZUFuaW1bJ21pbi13aWR0aCddPTA7aGlkZVNwZWVkPTE7fX12YXIgb25DbGljaz1zZXR0aW5ncy5vbkNsaWNrLG9uSGlkZT1zZXR0aW5ncy5vbkhpZGUsb25TaG93PXNldHRpbmdzLm9uU2hvdzt0YWJzLmJpbmQoJ3RyaWdnZXJUYWInLGZ1bmN0aW9uKCl7dmFyIGxpPSQodGhpcykucGFyZW50cygnbGk6ZXEoMCknKTtpZihjb250YWluZXIubG9ja2VkfHxsaS5pcygnLicrc2V0dGluZ3Muc2VsZWN0ZWRDbGFzcyl8fGxpLmlzKCcuJytzZXR0aW5ncy5kaXNhYmxlZENsYXNzKSl7cmV0dXJuIGZhbHNlO312YXIgaGFzaD10aGlzLmhhc2g7aWYoJC5icm93c2VyLm1zaWUpeyQodGhpcykudHJpZ2dlcignY2xpY2snKTtpZihzZXR0aW5ncy5ib29rbWFya2FibGUpeyQuYWpheEhpc3RvcnkudXBkYXRlKGhhc2gpO2xvY2F0aW9uLmhhc2g9aGFzaC5yZXBsYWNlKCcjJywnJyk7fX1lbHNlIGlmKCQuYnJvd3Nlci5zYWZhcmkpe3ZhciB0ZW1wRm9ybT0kKCc8Zm9ybSBhY3Rpb249IicraGFzaCsnIj48ZGl2PjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJoIiAvPjwvZGl2PjwvZm9ybT4nKS5nZXQoMCk7dGVtcEZvcm0uc3VibWl0KCk7JCh0aGlzKS50cmlnZ2VyKCdjbGljaycpO2lmKHNldHRpbmdzLmJvb2ttYXJrYWJsZSl7JC5hamF4SGlzdG9yeS51cGRhdGUoaGFzaCk7fX1lbHNle2lmKHNldHRpbmdzLmJvb2ttYXJrYWJsZSl7bG9jYXRpb24uaGFzaD1oYXNoLnJlcGxhY2UoJyMnLCcnKTt9ZWxzZXskKHRoaXMpLnRyaWdnZXIoJ2NsaWNrJyk7fX19KTt0YWJzLmJpbmQoJ2Rpc2FibGVUYWInLGZ1bmN0aW9uKCl7dmFyIGxpPSQodGhpcykucGFyZW50cygnbGk6ZXEoMCknKTtpZigkLmJyb3dzZXIuc2FmYXJpKXtsaS5hbmltYXRlKHtvcGFjaXR5OjB9LDEsZnVuY3Rpb24oKXtsaS5jc3Moe29wYWNpdHk6Jyd9KTt9KTt9bGkuYWRkQ2xhc3Moc2V0dGluZ3MuZGlzYWJsZWRDbGFzcyk7fSk7aWYoc2V0dGluZ3MuZGlzYWJsZWQmJnNldHRpbmdzLmRpc2FibGVkLmxlbmd0aCl7Zm9yKHZhciBpPTAsaz1zZXR0aW5ncy5kaXNhYmxlZC5sZW5ndGg7aTxrO2krKyl7dGFicy5lcSgtLXNldHRpbmdzLmRpc2FibGVkW2ldKS50cmlnZ2VyKCdkaXNhYmxlVGFiJykuZW5kKCk7fX07dGFicy5iaW5kKCdlbmFibGVUYWInLGZ1bmN0aW9uKCl7dmFyIGxpPSQodGhpcykucGFyZW50cygnbGk6ZXEoMCknKTtsaS5yZW1vdmVDbGFzcyhzZXR0aW5ncy5kaXNhYmxlZENsYXNzKTtpZigkLmJyb3dzZXIuc2FmYXJpKXtsaS5hbmltYXRlKHtvcGFjaXR5OjF9LDEsZnVuY3Rpb24oKXtsaS5jc3Moe29wYWNpdHk6Jyd9KTt9KTt9fSk7dGFicy5iaW5kKCdjbGljaycsZnVuY3Rpb24oZSl7dmFyIHRydWVDbGljaz1lLmNsaWVudFg7dmFyIGNsaWNrZWQ9dGhpcyxsaT0kKHRoaXMpLnBhcmVudHMoJ2xpOmVxKDApJyksdG9TaG93PSQodGhpcy5oYXNoKSx0b0hpZGU9Y29udGFpbmVycy5maWx0ZXIoJzp2aXNpYmxlJyk7aWYoY29udGFpbmVyWydsb2NrZWQnXXx8bGkuaXMoJy4nK3NldHRpbmdzLnNlbGVjdGVkQ2xhc3MpfHxsaS5pcygnLicrc2V0dGluZ3MuZGlzYWJsZWRDbGFzcyl8fHR5cGVvZiBvbkNsaWNrPT0nZnVuY3Rpb24nJiZvbkNsaWNrKHRoaXMsdG9TaG93WzBdLHRvSGlkZVswXSk9PT1mYWxzZSl7dGhpcy5ibHVyKCk7cmV0dXJuIGZhbHNlO31jb250YWluZXJbJ2xvY2tlZCddPXRydWU7aWYodG9TaG93LnNpemUoKSl7aWYoJC5icm93c2VyLm1zaWUmJnNldHRpbmdzLmJvb2ttYXJrYWJsZSl7dmFyIHRvU2hvd0lkPXRoaXMuaGFzaC5yZXBsYWNlKCcjJywnJyk7dG9TaG93LmF0dHIoJ2lkJywnJyk7c2V0VGltZW91dChmdW5jdGlvbigpe3RvU2hvdy5hdHRyKCdpZCcsdG9TaG93SWQpO30sMCk7fXZhciByZXNldENTUz17ZGlzcGxheTonJyxvdmVyZmxvdzonJyxoZWlnaHQ6Jyd9O2lmKCEkLmJyb3dzZXIubXNpZSl7cmVzZXRDU1NbJ29wYWNpdHknXT0nJzt9ZnVuY3Rpb24gc3dpdGNoVGFiKCl7aWYoc2V0dGluZ3MuYm9va21hcmthYmxlJiZ0cnVlQ2xpY2speyQuYWpheEhpc3RvcnkudXBkYXRlKGNsaWNrZWQuaGFzaCk7fXRvSGlkZS5hbmltYXRlKGhpZGVBbmltLGhpZGVTcGVlZCxmdW5jdGlvbigpeyQoY2xpY2tlZCkucGFyZW50cygnbGk6ZXEoMCknKS5hZGRDbGFzcyhzZXR0aW5ncy5zZWxlY3RlZENsYXNzKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKHNldHRpbmdzLnNlbGVjdGVkQ2xhc3MpO3RvSGlkZS5hZGRDbGFzcyhzZXR0aW5ncy5oaWRlQ2xhc3MpLmNzcyhyZXNldENTUyk7aWYodHlwZW9mIG9uSGlkZT09J2Z1bmN0aW9uJyl7b25IaWRlKGNsaWNrZWQsdG9TaG93WzBdLHRvSGlkZVswXSk7fWlmKCEoc2V0dGluZ3MuZnhTbGlkZXx8c2V0dGluZ3MuZnhGYWRlfHxzZXR0aW5ncy5meFNob3cpKXt0b1Nob3cuY3NzKCdkaXNwbGF5JywnYmxvY2snKTt9dG9TaG93LmFuaW1hdGUoc2hvd0FuaW0sc2hvd1NwZWVkLGZ1bmN0aW9uKCl7dG9TaG93LnJlbW92ZUNsYXNzKHNldHRpbmdzLmhpZGVDbGFzcykuY3NzKHJlc2V0Q1NTKTtpZigkLmJyb3dzZXIubXNpZSl7dG9IaWRlWzBdLnN0eWxlLmZpbHRlcj0nJzt0b1Nob3dbMF0uc3R5bGUuZmlsdGVyPScnO31pZih0eXBlb2Ygb25TaG93PT0nZnVuY3Rpb24nKXtvblNob3coY2xpY2tlZCx0b1Nob3dbMF0sdG9IaWRlWzBdKTt9Y29udGFpbmVyWydsb2NrZWQnXT1udWxsO30pO30pO31pZighc2V0dGluZ3MucmVtb3RlKXtzd2l0Y2hUYWIoKTt9ZWxzZXskKGNsaWNrZWQpLnRyaWdnZXIoJ2xvYWRSZW1vdGVUYWInLFtzd2l0Y2hUYWJdKTt9fWVsc2V7YWxlcnQoJ1RoZXJlIGlzIG5vIHN1Y2ggY29udGFpbmVyLicpO312YXIgc2Nyb2xsWD13aW5kb3cucGFnZVhPZmZzZXR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdHx8MDt2YXIgc2Nyb2xsWT13aW5kb3cucGFnZVlPZmZzZXR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3B8fDA7c2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5zY3JvbGxUbyhzY3JvbGxYLHNjcm9sbFkpO30sMCk7dGhpcy5ibHVyKCk7cmV0dXJuIHNldHRpbmdzLmJvb2ttYXJrYWJsZSYmISF0cnVlQ2xpY2s7fSk7aWYoc2V0dGluZ3MuYm9va21hcmthYmxlKXskLmFqYXhIaXN0b3J5LmluaXRpYWxpemUoZnVuY3Rpb24oKXt0YWJzLmVxKHNldHRpbmdzLmluaXRpYWwpLnRyaWdnZXIoJ2NsaWNrJykuZW5kKCk7fSk7fX0pO307dmFyIHRhYkV2ZW50cz1bJ3RyaWdnZXJUYWInLCdkaXNhYmxlVGFiJywnZW5hYmxlVGFiJ107Zm9yKHZhciBpPTA7aTx0YWJFdmVudHMubGVuZ3RoO2krKyl7JC5mblt0YWJFdmVudHNbaV1dPShmdW5jdGlvbih0YWJFdmVudCl7cmV0dXJuIGZ1bmN0aW9uKHRhYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuYXY9JCgndWwudGFicy1uYXYnLHRoaXMpO25hdj1uYXYuc2l6ZSgpJiZuYXZ8fCQoJz51bDplcSgwKScsdGhpcyk7dmFyIGE7aWYoIXRhYnx8dHlwZW9mIHRhYj09J251bWJlcicpe2E9JCgnbGkgYScsbmF2KS5lcSgodGFiJiZ0YWI+MCYmdGFiLTF8fDApKTt9ZWxzZSBpZih0eXBlb2YgdGFiPT0nc3RyaW5nJyl7YT0kKCdsaSBhW0BocmVmJD0iIycrdGFiKyciXScsbmF2KTt9YS50cmlnZ2VyKHRhYkV2ZW50KTt9KTt9O30pKHRhYkV2ZW50c1tpXSk7fSQuZm4uYWN0aXZlVGFiPWZ1bmN0aW9uKCl7dmFyIHNlbGVjdGVkVGFicz1bXTt0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbmF2PSQoJ3VsLnRhYnMtbmF2Jyx0aGlzKTtuYXY9bmF2LnNpemUoKSYmbmF2fHwkKCc+dWw6ZXEoMCknLHRoaXMpO3ZhciBsaXM9JCgnbGknLG5hdik7c2VsZWN0ZWRUYWJzLnB1c2gobGlzLmluZGV4KGxpcy5maWx0ZXIoJy50YWJzLXNlbGVjdGVkJylbMF0pKzEpO30pO3JldHVybiBzZWxlY3RlZFRhYnNbMF07fTt9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tabs/META.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewoJIm5hbWUiOiAialF1ZXJ5LVRhYnMiLAoJInZlcnNpb24iOiAyLjcsCgkiYXV0aG9yIjogWwoJCSJLbGF1cyBIYXJ0bCA8a2xhdXMuaGFydGxAc3RpbGJ1ZXJvLmRlPiIKCV0sCgkiYWJzdHJhY3QiOiAialF1ZXJ5IHBsdWdpbiBmb3IgYWNjZXNzaWJsZSwgdW5vYnRydXNpdmUgdGFicy4iLAoJImxpY2Vuc2UiOiAibWl0LCBncGwiLAoJImRpc3RyaWJ1dGlvbl90eXBlIjogInBsdWdpbiIsCgkicmVxdWlyZXMiOiB7CgkJImpRdWVyeSI6ICI+PSAxLjAuMywgPCAxLjIiCgl9LAoJInByb3ZpZGVzIjogewoJCSJqUXVlcnkuVGFicyI6IHsKCQkJInZlcnNpb24iOiAyLjcsCgkJCSJmaWxlIjogImpxdWVyeS50YWJzLmpzIgoJCX0KCX0sCgkia2V5d29yZHMiOiBbCgkJInRhYnMiLAoJCSJ3aWRnZXQiCgldLAoJInN0YWJpbGl0eSI6ICJPZmZpY2lhbCIsCgkibWV0YS1zcGVjIjogewoJCSJ2ZXJzaW9uIjogMS4zLAoJCSJ1cmwiOiAiaHR0cDovL21vZHVsZS1idWlsZC5zb3VyY2Vmb3JnZS5uZXQvTUVUQS1zcGVjLXYxLjMuaHRtbCIKCX0sCgkiZ2VuZXJhdGVkX2J5IjogIlllaHVkYSBLYXR6Igp9]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tooltip/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tooltip/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tooltip/css/jquery.tooltip.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I3Rvb2x0aXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAzMDAwOw0KCWJvcmRlcjogMXB4IHNvbGlkICMxMTE7DQoJYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCglwYWRkaW5nOiA1cHg7CglvcGFjaXR5OiAwLjg1Owp9DQojdG9vbHRpcCBoMywgI3Rvb2x0aXAgZGl2IHsgbWFyZ2luOiAwOyB9DQo=]]></data>
	</file>
	<file>
	  <filename>/libraries/plugins/tooltip/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/libraries/plugins/tooltip/js/tooltip.jquery.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFRvb2x0aXAgcGx1Z2luIDEuMwogKgogKiBodHRwOi8vYmFzc2lzdGFuY2UuZGUvanF1ZXJ5LXBsdWdpbnMvanF1ZXJ5LXBsdWdpbi10b29sdGlwLwogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1BsdWdpbnMvVG9vbHRpcAogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDA4IErDtnJuIFphZWZmZXJlcgogKgogKiAkSWQ6IGpxdWVyeS50b29sdGlwLmpzIDU3NDEgMjAwOC0wNi0yMSAxNToyMjoxNlogam9lcm4uemFlZmZlcmVyICQKICogCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqLwpldmFsKGZ1bmN0aW9uKHAsYSxjLGssZSxyKXtlPWZ1bmN0aW9uKGMpe3JldHVybihjPGE/Jyc6ZShwYXJzZUludChjL2EpKSkrKChjPWMlYSk+MzU/U3RyaW5nLmZyb21DaGFyQ29kZShjKzI5KTpjLnRvU3RyaW5nKDM2KSl9O2lmKCEnJy5yZXBsYWNlKC9eLyxTdHJpbmcpKXt3aGlsZShjLS0pcltlKGMpXT1rW2NdfHxlKGMpO2s9W2Z1bmN0aW9uKGUpe3JldHVybiByW2VdfV07ZT1mdW5jdGlvbigpe3JldHVybidcXHcrJ307Yz0xfTt3aGlsZShjLS0paWYoa1tjXSlwPXAucmVwbGFjZShuZXcgUmVnRXhwKCdcXGInK2UoYykrJ1xcYicsJ2cnKSxrW2NdKTtyZXR1cm4gcH0oJzsoOCgkKXtqIGU9e30sOSxtLEIsQT0kLjJ1LjJnJiYvMjlcXHMoNVxcLjV8NlxcLikvLjFNKDFILjJ0KSxNPTEyOyQuaz17dzoxMiwxaDp7WjoyNSxyOjEyLDFkOjE5LFg6IiIsRzoxNSxFOjE1LDE2OiJrIn0sMnM6OCgpeyQuay53PSEkLmsud319OyQuTi4xdih7azo4KGEpe2E9JC4xdih7fSwkLmsuMWgsYSk7MXEoYSk7ZyAyLkYoOCgpeyQuMWooMiwiayIsYSk7Mi4xMT1lLjMubigiMWciKTsyLjEzPTIubTskKDIpLjI0KCJtIik7Mi4yMj0iIn0pLjIxKDFlKS4xVShxKS4xUyhxKX0sSDpBPzgoKXtnIDIuRig4KCl7aiBiPSQoMikubihcJ1lcJyk7NChiLjFKKC9eb1xcKFsiXCddPyguKlxcLjFJKVsiXCddP1xcKSQvaSkpe2I9MUYuJDE7JCgyKS5uKHtcJ1lcJzpcJzFEXCcsXCcxQlwnOiIycjoycS4ybS4ybCgyaj0xOSwgMmk9MmgsIDFwPVwnIitiKyJcJykifSkuRig4KCl7aiBhPSQoMikubihcJzFvXCcpOzQoYSE9XCcyZlwnJiZhIT1cJzF1XCcpJCgyKS5uKFwnMW9cJyxcJzF1XCcpfSl9fSl9OjgoKXtnIDJ9LDFsOkE/OCgpe2cgMi5GKDgoKXskKDIpLm4oe1wnMUJcJzpcJ1wnLFk6XCdcJ30pfSl9OjgoKXtnIDJ9LDF4OjgoKXtnIDIuRig4KCl7JCgyKVskKDIpLkQoKT8ibCI6InEiXSgpfSl9LG86OCgpe2cgMi4xayhcJzI4XCcpfHwyLjFrKFwnMXBcJyl9fSk7OCAxcShhKXs0KGUuMylnO2UuMz0kKFwnPHQgMTY9IlwnK2EuMTYrXCciPjwxMD48LzEwPjx0IDFpPSJmIj48L3Q+PHQgMWk9Im8iPjwvdD48L3Q+XCcpLjI3KEsuZikucSgpOzQoJC5OLkwpZS4zLkwoKTtlLm09JChcJzEwXCcsZS4zKTtlLmY9JChcJ3QuZlwnLGUuMyk7ZS5vPSQoXCd0Lm9cJyxlLjMpfTggNyhhKXtnICQuMWooYSwiayIpfTggMWYoYSl7NCg3KDIpLlopQj0yNihsLDcoMikuWik7cCBsKCk7TT0hITcoMikuTTskKEsuZikuMjMoXCdXXCcsdSk7dShhKX04IDFlKCl7NCgkLmsud3x8Mj09OXx8KCEyLjEzJiYhNygyKS5VKSlnOzk9MjttPTIuMTM7NCg3KDIpLlUpe2UubS5xKCk7aiBhPTcoMikuVS4xWigyKTs0KGEuMVl8fGEuMVYpe2UuZi4xYygpLlQoYSl9cHtlLmYuRChhKX1lLmYubCgpfXAgNCg3KDIpLjE4KXtqIGI9bS4xVCg3KDIpLjE4KTtlLm0uRChiLjFSKCkpLmwoKTtlLmYuMWMoKTsxUShqIGk9MCxSOyhSPWJbaV0pO2krKyl7NChpPjApZS5mLlQoIjwxUC8+Iik7ZS5mLlQoUil9ZS5mLjF4KCl9cHtlLm0uRChtKS5sKCk7ZS5mLnEoKX00KDcoMikuMWQmJiQoMikubygpKWUuby5EKCQoMikubygpLjFPKFwnMU46Ly9cJyxcJ1wnKSkubCgpO3AgZS5vLnEoKTtlLjMuUCg3KDIpLlgpOzQoNygyKS5IKWUuMy5IKCk7MWYuMUwoMiwxSyl9OCBsKCl7Qj1TOzQoKCFBfHwhJC5OLkwpJiY3KDkpLnIpezQoZS4zLkkoIjoxNyIpKWUuMy5RKCkubCgpLk8oNyg5KS5yLDkuMTEpO3AgZS4zLkkoXCc6MWFcJyk/ZS4zLk8oNyg5KS5yLDkuMTEpOmUuMy4xRyg3KDkpLnIpfXB7ZS4zLmwoKX11KCl9OCB1KGMpezQoJC5rLncpZzs0KGMmJmMuMVcuMVg9PSIxRSIpe2d9NCghTSYmZS4zLkkoIjoxYSIpKXskKEsuZikuMWIoXCdXXCcsdSl9NCg5PT1TKXskKEsuZikuMWIoXCdXXCcsdSk7Z31lLjMuVigiei0xNCIpLlYoInotMUEiKTtqIGI9ZS4zWzBdLjF6O2ogYT1lLjNbMF0uMXk7NChjKXtiPWMuMm8rNyg5KS5FO2E9Yy4ybis3KDkpLkc7aiBkPVwnMXdcJzs0KDcoOSkuMmspe2Q9JChDKS4xcigpLWI7Yj1cJzF3XCd9ZS4zLm4oe0U6YiwxNDpkLEc6YX0pfWogdj16KCksaD1lLjNbMF07NCh2Lngrdi4xczxoLjF6K2guMW4pe2ItPWguMW4rMjArNyg5KS5FO2UuMy5uKHtFOmIrXCcxQ1wnfSkuUCgiei0xNCIpfTQodi55K3YuMXQ8aC4xeStoLjFtKXthLT1oLjFtKzIwKzcoOSkuRztlLjMubih7RzphK1wnMUNcJ30pLlAoInotMUEiKX19OCB6KCl7Z3t4OiQoQykuMmUoKSx5OiQoQykuMmQoKSwxczokKEMpLjFyKCksMXQ6JChDKS4ycCgpfX04IHEoYSl7NCgkLmsudylnOzQoQikyYyhCKTs5PVM7aiBiPTcoMik7OCBKKCl7ZS4zLlYoYi5YKS5xKCkubigiMWciLCIiKX00KCghQXx8ISQuTi5MKSYmYi5yKXs0KGUuMy5JKFwnOjE3XCcpKWUuMy5RKCkuTyhiLnIsMCxKKTtwIGUuMy5RKCkuMmIoYi5yLEopfXAgSigpOzQoNygyKS5IKWUuMy4xbCgpfX0pKDJhKTsnLDYyLDE1NSwnfHx0aGlzfHBhcmVudHxpZnx8fHNldHRpbmdzfGZ1bmN0aW9ufGN1cnJlbnR8fHx8fHxib2R5fHJldHVybnx8fHZhcnx0b29sdGlwfHNob3d8dGl0bGV8Y3NzfHVybHxlbHNlfGhpZGV8ZmFkZXx8ZGl2fHVwZGF0ZXx8YmxvY2tlZHx8fHZpZXdwb3J0fElFfHRJRHx3aW5kb3d8aHRtbHxsZWZ0fGVhY2h8dG9wfGZpeFBOR3xpc3xjb21wbGV0ZXxkb2N1bWVudHxiZ2lmcmFtZXx0cmFja3xmbnxmYWRlVG98YWRkQ2xhc3N8c3RvcHxwYXJ0fG51bGx8YXBwZW5kfGJvZHlIYW5kbGVyfHJlbW92ZUNsYXNzfG1vdXNlbW92ZXxleHRyYUNsYXNzfGJhY2tncm91bmRJbWFnZXxkZWxheXxoM3x0T3BhY2l0eXxmYWxzZXx0b29sdGlwVGV4dHxyaWdodHx8aWR8YW5pbWF0ZWR8c2hvd0JvZHl8dHJ1ZXx2aXNpYmxlfHVuYmluZHxlbXB0eXxzaG93VVJMfHNhdmV8aGFuZGxlfG9wYWNpdHl8ZGVmYXVsdHN8Y2xhc3N8ZGF0YXxhdHRyfHVuZml4UE5HfG9mZnNldEhlaWdodHxvZmZzZXRXaWR0aHxwb3NpdGlvbnxzcmN8Y3JlYXRlSGVscGVyfHdpZHRofGN4fGN5fHJlbGF0aXZlfGV4dGVuZHxhdXRvfGhpZGVXaGVuRW1wdHl8b2Zmc2V0VG9wfG9mZnNldExlZnR8Ym90dG9tfGZpbHRlcnxweHxub25lfE9QVElPTnxSZWdFeHB8ZmFkZUlufG5hdmlnYXRvcnxwbmd8bWF0Y2h8YXJndW1lbnRzfGFwcGx5fHRlc3R8aHR0cHxyZXBsYWNlfGJyfGZvcnxzaGlmdHxjbGlja3xzcGxpdHxtb3VzZW91dHxqcXVlcnl8dGFyZ2V0fHRhZ05hbWV8bm9kZVR5cGV8Y2FsbHx8bW91c2VvdmVyfGFsdHxiaW5kfHJlbW92ZUF0dHJ8MjAwfHNldFRpbWVvdXR8YXBwZW5kVG98aHJlZnxNU0lFfGpRdWVyeXxmYWRlT3V0fGNsZWFyVGltZW91dHxzY3JvbGxUb3B8c2Nyb2xsTGVmdHxhYnNvbHV0ZXxtc2llfGNyb3B8c2l6aW5nTWV0aG9kfGVuYWJsZWR8cG9zaXRpb25MZWZ0fEFscGhhSW1hZ2VMb2FkZXJ8TWljcm9zb2Z0fHBhZ2VZfHBhZ2VYfGhlaWdodHxEWEltYWdlVHJhbnNmb3JtfHByb2dpZHxibG9ja3x1c2VyQWdlbnR8YnJvd3Nlcicuc3BsaXQoJ3wnKSwwLHt9KSk=]]></data>
	</file>
	<file>
	  <filename>/load.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKcmVxdWlyZV9vbmNlKGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdpbmNsdWRlLnBocCcpOwpnbG9iYWwgJGdDbXM7CiRkYiAgPSYgJGdDbXMtPkdldERiKCk7CgppZiAoaXNzZXQoJF9SRVFVRVNUWydpZCddKSkKewovLwkkbW9kdWxlID0gJGdDbXMtPm1vZHVsZXNbJ2pRdWVyeSddWydvYmplY3QnXTsKCSRzY3JpcHQgPSBqUXVlcnlTY3JpcHQ6OnJldHJpZXZlQnlQaygkX1JFUVVFU1RbJ2lkJ10pOwoJZWNobyAkc2NyaXB0LT5nZXRDb2RlKCk7Cn0KCi8vIFRPRE86IExvYWQgcmVxdWlyZWQgcGx1Z2lucyBmaXJzdCAhIAovLyBOT1RFOiBUaGlzIGhhdmUgdG8gYmUgZG9uZSBwcmlvciB0byB0aGlzIGNhbGwsIGxpa2UgaW4gdGhlIGhlYWRlcnMgd2hlbiB3ZSBidWlsZCB0aGUgY2FsbCB0byB0aGlzIHNjcmlwdCEg]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cn0KCQkJCQpmb3JlYWNoICgkdGhpcy0+R2V0UGx1Z2lucygpIGFzICRwbHVnaW4pCnsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRwbHVnaW4sIGZhbHNlKTsKfQoKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdDb250ZW50UG9zdFJlbmRlcicsIGZhbHNlKTsKCgovLyBUeXBpY2FsIERhdGFiYXNlIEluaXRpYWxpemF0aW9uCiRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCi8vIFRBQkxFUyBDUkVBVElPTgoKLy8gdGFibGUgc2NoZW1hIGRlc2NyaXB0aW9uCiRmbGRzID0gIgoJaWQJSSBBVVRPIEtFWSwKCW5hbWUJQygyNTUpLAoJcG9zaXRpb24gSSwKCWNvZGUgWEwsCglsb2FkX2RlZmF1bHQgSSwKCWluX2hlYWRlciBJLAoJcmVxdWlyZWRfcGx1Z2lucyBDKDI1NSkKCSI7CgovLyBjcmVhdGUgaXQuIFRoaXMgc2hvdWxkIGRvIGVycm9yIGNoZWNraW5nLCBidXQgSSdtIGEgbGF6eSBzb2QuCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9qcXVlcnlfc2NyaXB0cyIsCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTs=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoJCQlmb3JlYWNoICgkdGhpcy0+R2V0UGx1Z2lucygpIGFzICRwbHVnaW4pCiAgICAJCXsKICAgIAkJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCRwbHVnaW4pOwogICAgCQl9]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVwZ3JhZGUoKQoJICAgSWYgeW91ciBtb2R1bGUgdmVyc2lvbiBudW1iZXIgZG9lcyBub3QgbWF0Y2ggdGhlIHZlcnNpb24KCSAgIG51bWJlciBvZiB0aGUgaW5zdGFsbGVkIG1vZHVsZSwgdGhlIENNUyBBZG1pbiB3aWxsIGdpdmUKCSAgIHlvdSBhIGNoYW5jZSB0byB1cGdyYWRlIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIGZ1bmN0aW9uCgkgICB0aGF0IGFjdHVhbGx5IGhhbmRsZXMgdGhlIHVwZ3JhZGUuCgkgICBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBoYW5kbGUgdXBncmFkZXMgaW5jcmVtZW50YWxseSwKCSAgIHNvIHlvdSBjb3VsZCB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjAuMSB0byAxMC41Ljcgd2l0aAoJICAgYSBzaW5nbGUgY2FsbC4gRm9yIGEgZ3JlYXQgZXhhbXBsZSBvZiB0aGlzLCBzZWUgdGhlIE5ld3MKCSAgIG1vZHVsZSBpbiB0aGUgc3RhbmRhcmQgQ01TIGluc3RhbGwuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwoJCQoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKCQlzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikKCQl7CgkJICAgIGNhc2UgJzAuMC4xJzoKCQkJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4wLjknOwoJCSAgICBjYXNlICcwLjAuMic6CgkJCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMC45JzsKCQkgICAgY2FzZSAnMC4wLjMnOgoJCQkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjAuOSc7CgkJICAgIGNhc2UgJzAuMC40JzoKCQkJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4wLjknOwoJCSAgICBjYXNlICcwLjAuNSc6CgkJCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMC45JzsKCQkgICAgY2FzZSAnMC4wLjYnOgoJCQkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjAuOSc7CgkJICAgIGNhc2UgJzAuMC43JzoKCQkJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4wLjknOwoJCSAgICBjYXNlICcwLjAuOCc6CgkJCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMC45JzsKCQkJCS8vIHRhYmxlIHNjaGVtYSBkZXNjcmlwdGlvbgoJCQkJJGZsZHMgPSAiCgkJCQkJaWQJSSBBVVRPIEtFWSwKCQkJCQluYW1lCUMoMjU1KSwKCQkJCQlwb3NpdGlvbiBJLAoJCQkJCWNvZGUgWEwsCgkJCQkJbG9hZF9kZWZhdWx0IEksCgkJCQkJaW5faGVhZGVyIEksCgkJCQkJcmVxdWlyZWRfcGx1Z2lucyBDKDI1NSkKCQkJCQkiOwoKCQkJCS8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KCQkJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9qcXVlcnlfc2NyaXB0cyIsCgkJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQkJLy8gCQkgICAgY2FzZSAnMC4wLjknOgoJCQkJLy8gJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjAuOSc7CgkJCQkKCQkKCQkJLy8gIGNhc2UgJzEuMC41JzoKCQkJLy8gCS8vIFBSRVBBUkUgVEhFIEZVVFVSRQoJCQkvLyAJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9tb2R1bGV4dGVuZGVyX3JlbGF0aW9uc19saW5rIiwgInR5cGUgQygyNTUpIik7CgkJCS8vIAkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCS8vIAlNWF9SZWxhdGlvbkxpbms6OnVwZ3JhZGUoJzEuMC41Jyk7ICAgIAkgCgkJCS8vIAkkY3VycmVudF92ZXJzaW9uPScxLjAuNic7CgkJCS8vIAljYXNlICcxLjAuNic6CgkJCS8vIC8vIEZpeCBidWcgaW4gMS4wLjYKCQkJLy8gCS8vIHRhYmxlIHNjaGVtYSBkZXNjcmlwdGlvbgoJCQkvLyAJJGZsZHMgPSAiCgkJCS8vIAlpZCBJIEtFWSwKCQkJLy8gCXR5cGUgQygyNTUpLAoJCQkvLyAJbW9kdWxlbmFtZSBDKDI1NSksCgkJCS8vIAlyZWxfY29kZSBDKDI1NSksCgkJCS8vIAlyZWxfaWQgSSwKCQkJLy8gCW1vZHVsZV9pZCBDKDI1NSkKCQkJLy8gCSI7CgkJCS8vIAoJCQkvLyAJLy8gY3JlYXRlIGl0LgoJCQkvLyAJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX21vZHVsZXh0ZW5kZXJfcmVsYXRpb25zX2xpbmsiLAoJCQkvLyAJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkJLy8gCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJLy8gCSRjdXJyZW50X3ZlcnNpb249JzEuNS42JzsKCQkJLy8gY2FzZSAnMS41LjYnOgkJCQoJCQkvLyAJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBNb2R1bGVYdGVuZGVyJywgJ01hbmFnZSBNb2R1bGVYdGVuZGVyJyk7CgkJCS8vIAkkY3VycmVudF92ZXJzaW9uPScxLjUuNyc7CgkKCQkgIAoJCX0KCQkKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0YWJfaGVhZGVyc30KCnskc3RhcnRfc2NyaXB0c190YWJ9CntpZiAkc2NyaXB0c3xAY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICA8dGhlYWQ+CiAgICAgIDx0cj4KICAgICAgICAgPHRoPnskdGl0bGVfc2NyaXB0fTwvdGg+CiAgICAgICAgIDx0aD48L3RoPgoJCTx0aD5Mb2FkIGJ5IGRlZmF1bHQ8L3RoPgoJCTx0aD5Mb2FkIGluIGhlYWRlcnM8L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICA8L3RyPgogICA8L3RoZWFkPgogICA8dGJvZHk+Cntmb3JlYWNoIGZyb209JHNjcmlwdHMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9JzsiPgoJCSAgIDx0ZD57JGVudHJ5LT50aXRsZX08L3RkPgoJCQk8dGQ+e2xpdGVyYWx9e2pRdWVyeSBhY3Rpb249ImxvYWQiIHNjcmlwdD0iey9saXRlcmFsfXskZW50cnktPmdldElkKCl9e2xpdGVyYWx9In17L2xpdGVyYWx9PC90ZD4KCQkJPHRkPnskZW50cnktPmxvYWRfZGVmYXVsdF9zdGF0ZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+aW5faGVhZGVyX3N0YXRlfTwvdGQ+CgkJICAgPHRkPnskZW50cnktPmVkaXR9PC90ZD4KCQkgICA8dGQ+eyRlbnRyeS0+ZGVsZXRlfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KPHA+eyRhZGRfc2NyaXB0fTwvcD4KCnskZW5kX3RhYn0KCnskc3RhcnRfcGx1Z2luc190YWJ9Cgp7aWYgJHBsdWdpbnN8QGNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgIDx0aD57JHRpdGxlX3BsdWdpbn08L3RoPgoJCSAJCSA8dGg+eyR0aXRsZV9wYXRofTwvdGg+CiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iIHN0eWxlPSJ3aWR0aDoyMHB4Ij57JGlzX2FjdGl2ZX08L3RoPgogICAgICA8L3RyPgogICA8L3RoZWFkPgogICA8dGJvZHk+Cntmb3JlYWNoIGZyb209JHBsdWdpbnMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9JzsiPgoJCSAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJICAgPHRkPnskZW50cnktPnBhdGh9PC90ZD4KCQkgICA8dGQ+eyRlbnRyeS0+YWN0aXZlfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCgp7KiRwbHVnaW5zX3N0YXJ0Zm9ybX0KeyRzdWJtaXRfYnV0dG9ufQp7JGlzX3N1Ym1pdHRlZH0KeyRwbHVnaW5zX2VuZGZvcm0qfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X29wdGlvbnNfdGFifQp7aWYgaXNzZXQoJGZvcm0pfQoJeyRmb3JtLT5nZXRIZWFkZXJzKCl9Cgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJTwvcD4KCTwvZGl2PicpfQkKCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPgoJCXskZm9ybS0+Z2V0QnV0dG9ucygpfQoJPC9wPgoJeyRmb3JtLT5nZXRGb290ZXJzKCl9CnsvaWZ9CnskZW5kX3RhYn0KCnskdGFiX2Zvb3RlcnN9]]></data>
	</file>
	<file>
	  <filename>/templates/manageScript.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJeyRmb3JtLT5zaG93V2lkZ2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiVMQUJFTCU6PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCU8L3A+Cgk8L2Rpdj4nKX0JCgk8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+Z2V0Rm9vdGVycygpfQp7L2lmfQ==]]></data>
	</file>
</module>