From 23820bc54a134d8e7517903af103368a238e1198 Mon Sep 17 00:00:00 2001 From: Phil Wang Date: Mon, 24 Jul 2023 13:54:02 -0700 Subject: [PATCH] begin work on NaViT (#273) finish core idea of NaViT --- README.md | 47 +++++++ images/navit.png | Bin 0 -> 135918 bytes vit_pytorch/na_vit.py | 305 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 352 insertions(+) create mode 100644 images/navit.png create mode 100644 vit_pytorch/na_vit.py diff --git a/README.md b/README.md index 2832e522..33d95f14 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ - [Usage](#usage) - [Parameters](#parameters) - [Simple ViT](#simple-vit) +- [NaViT](#na-vit) - [Distillation](#distillation) - [Deep ViT](#deep-vit) - [CaiT](#cait) @@ -139,6 +140,44 @@ img = torch.randn(1, 3, 256, 256) preds = v(img) # (1, 1000) ``` +## NaViT + + + +This paper proposes to leverage the flexibility of attention and masking for variable lengthed sequences to train images of multiple resolution, packed into a single batch. They demonstrate much faster training and improved accuracies, with the only cost being extra complexity in the architecture and dataloading. They use factorized 2d positional encodings, token dropping, as well as query-key normalization. + +You can use it as follows + +```python +import torch +from vit_pytorch.na_vit import NaViT + +v = NaViT( + image_size = 256, + patch_size = 32, + num_classes = 1000, + dim = 1024, + depth = 6, + heads = 16, + mlp_dim = 2048, + dropout = 0.1, + emb_dropout = 0.1 +) + +# 5 images of different resolutions - List[List[Tensor]] + +# for now, you'll have to correctly place images in same batch element as to not exceed maximum allowed sequence length for self-attention w/ masking + +images = [ + [torch.randn(3, 256, 256), torch.randn(3, 128, 128)], + [torch.randn(3, 128, 256), torch.randn(3, 256, 128)], + [torch.randn(3, 64, 256)] +] + +preds = v(images) # (5, 1000) - 5, because 5 images of different resolution above + +``` + ## Distillation @@ -1934,6 +1973,14 @@ Coming from computer vision and new to transformers? Here are some resources tha } ``` +```bibtex +@inproceedings{Dehghani2023PatchNP, + title = {Patch n' Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution}, + author = {Mostafa Dehghani and Basil Mustafa and Josip Djolonga and Jonathan Heek and Matthias Minderer and Mathilde Caron and Andreas Steiner and Joan Puigcerver and Robert Geirhos and Ibrahim M. Alabdulmohsin and Avital Oliver and Piotr Padlewski and Alexey A. Gritsenko and Mario Luvci'c and Neil Houlsby}, + year = {2023} +} +``` + ```bibtex @misc{vaswani2017attention, title = {Attention Is All You Need}, diff --git a/images/navit.png b/images/navit.png new file mode 100644 index 0000000000000000000000000000000000000000..de13c81cf5a1ea2e43db412175b2b083fe6281c9 GIT binary patch literal 135918 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 yV8u@!*Y%^bgqDaDLm<2W*xf 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�G^@2QV^f;_yHnn1jN zFE=wlb(#7mzYq63LMSm~L8yAL_QBr@wxWMPatIGya8BJ%6ACn>kr8wrrBQGmi8V>F zz&j8~LuSx&9b*l1K)UR&H9H~T0H(jC=S?p3!7WpesttnGilvw|3cE^za2rivc>-ho zPI%exJ%vHBo8GX+;SN>M{)vK#w6+?I{B4muJ=Jb*`3fq6%w z3?6RmU)V>BXT^VU8s>n`Ro@}Ig`HBciu-`0mVmi9qM}reRD?sPQWAto!mdlBS_lTgi`! z4;7PoJQieLiIE!0UOeQqz>RVJRvx9mcGr>j#A0N9Jar>hrAvT;YVt{lLO4wT`Y+YAh{~Du*cy?#6{sW*aTl72n3p2=S`Uw}bC31CA&?bHr|iX1{+1`SM7@ZU-uq6v zh5MGTF`57b8`;p(GQ~_J37=DKzL4TdJXH-JgHhm@1{A9Zq1}AID}RK~7pB4o=0%q( zaQJp`JO+?W*f_|2zTL61g^h11qun>O*h z9kDV#`hZXDeC9@X#?5)|Z?K;(daY?b7pz*Xhv4wd< z4n`Q15x;B~`;sQYu+bqt`84h4EbX8Wp-yMM1dub(20iHhP)Sf1CA|FxQ817@JZv7M za?m@(I7fj%(^Zgk`8fZ{dfx;?S=Y#HDxH;Cj=@T=K2Bw!2Qq4|vVE!sEri8~tKlh0 ziqdHH0@e#OZp>FO zMfmT3*a%D`=dT@0f0At0C;^dO{ruZm4{*5(JqXrZs8knacnDP*>Bg1LAc?<4{RM%M z$yZMuqAxsEGAl-WLp^=kIBZWqRQe&zxfe%Ghk_7k;dE#cAX(vJkIDE*t7AjgIDn)x zKs&4?hhv%X`IQ}3+}`>tZ^xMlDN;UaUN5#^KGxUXQ2cLff|HpGPUIfTVW~x7eJfPr z>2#Y6IqGCJgB5QZJP7o0jZ|qe0NID2X#1Br&cnT9kcOk#>P%<($;GJcm90=BFP65q z4k;QNN~AdbnlG#;G1L%#%+J-+nSdhGMYf__jCf{d8{h zU4ecCASvy}8toBr>vCaPd%710s>lU(&Mz5GmLVFz>D1l^k(= z_4Z;=Gv~SoV^X5|xX>>S|6B~43IF&VvQz|lV{uq|_qndY0;P+`!_eCXeE~~04FadrE)+_bvIY9 z7rI_8xH=7fjRvO)fBAyu@!yzmC09~Pt?AshT-S0BC+pdPa_Ub}WsMZT9#`V;L23*Y zhvMUT-oJ<<$O-&GK0NA>MMj5yW~dyScBcaFWUkw1^6pr8^izcX;N>6w$O&@dtC?dr zV?^Izicm~?#kojusx_`0tgwLY9~^&p^8M-`4R=`%4E=*iV8Ft{!GN)E`D2{BM*!x; zSME>57h(EI`ieaREZ3#Ri%vS!$T}rm5==R#Iu}tARcFR~?mKH1?v1vcf(n>J6`uC6 zHLvw|V$8@yxx8#vCH%XBl{HpxL2$}g8jcOs$uQgBzYc6Y_SJi#zN*j3R0VScg>IC} z)ywH8SsEMu&W#|7IPR|Zxl(gjkV|d<&0i{LS>AN+bB4d|YcAz#x7H>%j20B@rox;Wm=X@7@_likb7MNCk;8w=|rb|Pbd&QR;$%)zRgD@Tr|Sk?LC)Lj2}p$`>> zbg=M5P7XPGux-^QVWQa0UJFsm)^$6#8St1bs%OtJO1?jGZ9<6|dHOzOajw}ovh+Mu zIsh1sMvEx}ugKs~aJc4PODFMn{so*$keQX0ir_Y6f86HzE)^or)TU^OK z77Pel$c|u97ge@9TZ1xja2h7I2)s1XReo#6;J(pa$DM&fRLB>D-MxfLb?GCQ^Jklo zux><`Fns?2k~vFJp6)$I2oYi~1~fFvP22Z*A1_BW3mdzw?AfD3w#u9D-#mdw8Mgz0 z=%*u&{-oibySWcwEXOpiW~5{|uAg*x#hm~O#<#|+=sl5!1~ zO3^6YWX-KVthKY*v3cE1KN46ME_2gX`N(W16?DB;u%vk;@F+@wr{Nj96zEMch=nFe zm)FW#OTJJml9+nt*6u{X#fxce6tak-0+h1z@#Gl#_RQRR=N&9ptbwomq(noZ5`DG3 z2iw+uVkr7fk9x(K8u)e$*5}X!fha zMRTF@w0#qOa7@s2Ad@NI*Uj`P(zE5{G1uE5Iop5R%gIY?`KE_w-ko1v=yT51#YigG zS(IqZCO0tpiwmYIo3^mLa*fF?F4VU38Z!C|BenQu7*N=@d z28*#Qz}zvGl9%D|A4?RUki-`(!u--sfksKsnkMJO>@#oP%zu0b zM@Esol?>Z)8tR)5C(te#$rb@McK-^6tlPt?c+e#Wr`*2y(PiyymdpbhROm)W7c{he znQr|^9$rm)GV4Ry_#*DWDmtm|10!tij=FAely`9Vh6OGBI3i4OQn>5WwDxuy2-g9f zJg9(oBlB}qk^~$Af5+jnZ+=>4N)_D?u&v+e--Ke@8B=SbIH{b+*kmEEZ6QR0{(%RD zHJ295rKkh|ZIduZkU?C(OfE_8&a8pCHH`Fw2Bpz2pl`H=A>sA$i@)g~*`5et6T=XV zC0Cw?clyXM^+u4qs37C6o>&<&1LIAiwChyeT9ZTDhgY*ZU6|7QZv41#!rj1!2((@8 zv>PdUFB@klML1v-nJ6uP@~_*u@qwK64(_Ceh>C$PEV-%}nr;Sb;CBttY|)tT@%1ZV zb&p%op>qAd5FEX2SNz(4FBX370hG!4H)$pZCNpw*J&|f8fhdEY^7+(|HNN_Rm;Cy5 z4{kKFL3n9{ePLOn6XPUI0`P3Ma=dXk;%Rra$Sp7A3z^*_#tMX7wcg63}0 zHaKWn-sOij$K9><@?v{>gRo!ibs+@=+s6le3kkAcw$K?86;c;!wg~CJ6{9IQd4eee z>?0MUhgRC5RK~g|#OYCslIf(UWJnp0cm=1`4Xqfs7yt{lFU+r1@kTr2tAaMX~sxF)Q{Q270hojN-w1SL+)U zt0Q@%)v6}Kr#Tp9BFqc#lCmH;3p6mqOl*8s>C6-WZdD8QUeK)&$t_QcQYW+mh?CPc z7XS8*Blya3VEzewIhIftBS&TH@l?*d3`sNj{d3HGCk%U9it^rgXE;T{z0=Q-8ZyiW zs`;^U{JQ5a+Yea5A`N7{%?BQ)7`a5!O?A&+ihGN^x|>VDRYn5fXKEM$XA;&<(?(!mhWAp3p0BHK>b%r&Zp{X5SBEe&iGi%!rEfZA-!!p`3~Bks!Jkjfrij_ z{AJWAAH2fdYL5=sh+)nwLv4It#Ewa|NzVPd!Fqd1rrF@cD2Ac+kcG(+j_XZ4KXCsxPXIw^{6-N*E|K+`UUE)33?)>^C8KULV{Bfa@<`f=+1wby#HGXTV&0x31 zf(=d_1n*^bc$AXQeHD^?JQKbM%4_6l$oHFozwW_*0A*vaz1?LX38#SW}Qj`TeE0lWS}uvMvD zK-iJ_7!fDa9?|rA>T&r>H2MjQXjgE%NIHGSiK?rkDJ;&DOx zvE>GPtrK$TqG#Y=Z`nd?3q0nr$E*8$3<0c!05e3_$iE#QQ%#bquC99w5xnNS9m+0| z?>NL;r^n(mXgtF8KP&-!L>^WWc|X2)RVer&^L!ForQ7-p(InZfLer0l{6^xLR!AT6 zwB@zYqQh9jsLh#5f7%Z$$(W{l{S|+y=zVa17hUe+%Qf5wd$sv`d35nrLLf@h88uTe zQ7x37QaEmzQ4C_td(1|6D3$~zrJs!Y$YIhG0;Z*aFc~P8ZamyXVoI8bo-Dd#fnQXM ztZ{fN;2XRQ+`P|-9ohQJLq3TW zP`9*-f$`kAMb!5zEQ8}+ti{;WLD4-;M=MkPBjKlEIT_<2Zo75H<>!%NCen3`rGQWk zAx{LO;Y3AjpsBT^m~aFohj%l+t~Pp+_A8u3AY`YWlp!LUGEW`VOfQkAl+`tb+L)mz70Ed5elLA|D67x4%}Y8I7sQlst8d{rvP zs#6}nbEzv$?Gym9@g6gT>zfr&%P`q|% znd)aWmvbTGrpX5ItaJl|%$X&q36~lP;QlwfrMXzCtjtuvQPgz7>u7`+xPF$Umf2U7 z;ks0$XI^`3PL3WOok4SR94xuq$tx;SQB(g`EmJ61N@WTVV@y-+4ecoq^O_QqAG zqN=*q;ZA2coh?#Ex3iuwal~%3_!}rQVru#Fc!431m7wDKcO(XBZKUC6>#~IbYDF+y zvviQ$7N=XeX|!hu$hzhAei?>N3?)cV7T!+D)eEi$ex?Xp3d~l;7`wv@oT?4PgX#jg z1_IvXxX;5Xwb^P|h-HM$Xk4IJYhv2#>1rN= zd-5;AsFDy~<~k`_5vt>bfsQ7`7W(DDdqGQ|T(b>4k6)=ph6XFb$oY-0&6Y?s2Af~V_E#HmV|5c;d*;7KbY zg)KoN{+XVAAs_S`vDdwCQtqo1O3%pjjSXYeOUH~s@P=Rl^GcVgbc?ac>3lD+ltEe6 z&fHpj4?bn}uiR<+XB@T65$3)YK+J&L!6Vmmok86~{t(kF5s>#Y53_c*#CWISh9zUw z--Asz{yQ=(gW^~=ny(pJHe|c}00@^N`e(6pJ@}TVm|F(0X2{zKHOF01aT%FA#Ac`r zP>91&f+n7}R9lFW_V7I$*JClm`6RKTTBEIo{qRwgtftm|ojTAE|*+{|xgb$T7)MCPo!xPhK;pMC(5v(Y6E?}Etx;{uG| z-_gz{VWvqNy`;L~11)o_E~V6%vDbR7(12>p{liNr8M4ZhOn|Y_9$`5jKh!4!8?kqk z&j}2C$3?tVu0U`sPr{+)tqMKat}!#wG(%}gQ8>hZEk##Z{wO1m1@D!A3#mtrSB3@elp$Aq5s_cxx( zSX9TEHOCU=hNQ_+k8e7hA|%_?Uy%T?Axcfo&K!a{zeCvt2{sEi;odq13h38eLFJmk zY#;8cf8_LyHix~F` zMJV>6Ec7PiF`IUija^HQ05^*&p@zMKSyCCg-&y|!5kjAP?jj#eG7nh$W4k z2f@QyGsmXkJ9cN8FL^yR8ho@S+90{c#YI{m6 z^gynhD}sWZRlOX;S~xdp1dwmXB5D_5QTAMKO|?VLG{=>-p!`MEU!0 z@4&gmb5Mh%=y-Mpd#PizuKDtf2A&dsFmN8Xh3aMC{-oj1seh;swWtesp!bXDb4sF1 znf>-~la2BScd}E32YS9C1O6V=k)`kBc}o8kXl#xg!pT5T(#q8WyV736F}Jz-ADynw z{T$)`;yM2t1got*MsR0%{z;fP zS~HOe-<=tgb|_6~I*1J$1fnGkqa`XT`Akw z5+(|Z)J8CiV-#jqk3w72WdluyEQ_^M;08SCIc98d)9S*ulvfEnbXO38=?9+g1uJ{^7;%NINk8X6~BM z!hLTQ)eG8{0b;6Nr=S5^FOYc%UoC26WWCI3H(wvvKYSf~h}uD1)rW#(OaZlx#8yx| zkZTB5993%Th*GJ}_v0dh*xax`-fb}U0lEoO;UR&yKzRApZWKW+YTi>w^Skj^^vVpg z@h$r1B|qID9iLG2(>J|w|2|hbj|&d1_gNRGV)n$7DG5T(7if#a4~s}zL~oq64}m}d zTcOWbk_91Z^*i8NX7_E)Lz8&dCFlya%!uI{G4XT8WahHD>igakO3}AgZD_}g73J~M zq`{$-<)c-x&gIXlgNcF-RA+$h!0?zW&g;{v3PvD+xb7_r65ZnH?)WB8z3o~GxI+B* z3Bw)w;vG##GFk~7ECfkTh0N%DuG{6!nYmT<%VJtKmJ|XuO;mP&*lr;_pT`8%XhOePPH27 z(pv*J#`^EJ>S+f?wVL?S^Hujgms$RszAP9bc zxOTXm1-E(*>Hpc>+Nv<<=2b0~H@@C%Z);1gLN6^YW_I2e_jx=GDzhBg?gjxGFTTFM z{`VdxgHC97w}05it7ATXP4kcpf^w)7MuM%@Un!!iK6#y{xm{)-QX)4Oa*uBc2d$;S zy<7@gpQcIC|HyV@{e|sI0#TV=3gG9NIIxk?(6TJdgK=HF?r>5&pK*8kfhEE~3~56% zgV&OhNfYbtmc{FqD^WVU>y=LOTwWN_cQ6vJc%M&v^qM4T7j-uxgdMenrWD_W8{@8} zZpc8{-C@QggM#qur8^>2Ep9S*@`eh+?|iAOCIbqdB&5p^bdu;}`8-(BRl!!m^SyIr zu%)@eRyQVI+RyWF@Hjmqa`plNhMycsgd8mKcc%=@kkzDG{)(~JDWW=c-Xkg1jJff` z!X6`DJx7pxv_DqN*ku-5L?w>9b)uHAX4*K_jCYi^jYRn;-+XHZWCT|2?tC?xrN0BA z_qP74(Y~hN)6z;6KcIhzW-1{v=Zvq3=VZlke|#GwlpRmvIeebRD&x9do2rw5W=Nsqn#BtSoDx9S^UThZi9ql}NVHX#*K2BedL0COGp7B4R- za)ZEdqs7etYXEl5BfW3ue?~U4uW!2^Zfkqds%YY31RB{;#{6HegQ-m3jAZ`Q z6xHM33Ki?3nXp7;+@X9LQ##;jfsC{>p*wq*r1^G_N56_D6e`9fOn+d)TT=5+c|I`8 z0A@@mIcRf7Rnufkx_u7$dB)Bj-(A$gfWq^1RD4hh-Vvb_E0H{bC2H#v?}`Oebon!u zWdHpjtxj%ct8uLw0&cO#_Bz%xG`9QnmOb{~o`vRqpyq=lg{9xlu$pJH@zK{r$vkE8 zNuAxdM1XIZ?teqWHwVLlXYQL+?#+Z0l*|v4TQ+>1VgwLuRR8zgl8mHpyiHU(R|>qi zR6)x?+J9wi|ObFaEu zW-@VF3R!*h0?pirre*U{DwRStn9ztY<-&uK!N|VomOHs3X~8RjguI#KWN~fE+{_?j z)(qycDyz34Fv>re59?`x0N8X$2ql4i_A*uq38?|D8CSucQO)^+mkBo{-RZWqu}AO5 zZLxU6{(VtkN~Og3>E7Iz26oD(nT&@mabX1sB?n)`=@53_RfXICin(G^)Vk1NMxJfA5$P({(4<@s{>fRqm^)8o zg^Z*y$waywe9IRrna|nr_zlI>ETSCg6|#{aO~H;coA{tRalBOL$Y*AL`J6f~M_J46vt| zRWlPW{%&CfFOm%eJ94K!lpzt)(>oa)H4w4KNx=c z)4R+Or%Y88)iyv!JXATR-IB~F?ltBvN5I+H1wvd)#|C*spOkzF2F5H~uRjxj(>lD* zDE<$kCTt7I97}qWCnqJwcpYykiY7sFe?aU8q6i~H*if=OGP zk(2KChk-FSh^XLyWr44dwzbK%{C%n{%%Q~q2!c3@YiZ<&g-x7S4d3|y|CAoXE8^xm z?jB#BoH2Xdg-S<5sDNew{ZO@oj=P1`iC&F2f_dG>07g99UIefJ-uLiQ6ty0L&ee8W zPhj|ZA#2sg4)Jbmj(&$NA~ab`<0?y0(t+2(!ytYT`tR6s4qZK#jC^}vL$@nTeCOox z0NrYUiGVV!CXau!pFy^H-_mw8uA#2UW4bfRfxoVXy;`Pu<3STgF|<1cv)LYib)pX|BYHBMQ8&96uU1lOnfcr_yf~#<-KQCZ?~DWrVcsxNr`YK9LW7ed z%rG1^0Y%@&TIOpEe@jjbF(*%SNhec6LgrNXfH8g-_QcUCP*Js4hazLyPp_&yBT>ps zly^f>qV7Zw9R(KWqrObK^eE7f{M79*r!7J%X<{gIaFX8yz^2{t4t7WLGTvmfW8RV* zCth9ErR<-Uh9R?7VtF`s=BCaXjv864H*TSRhZ>5tv`!crG=XP%JFq;F;Fa#Z!*nz| zH#PYhK&JULhM)aS5REi~=4phokV-&ONgT?dYT3Y`BJw`g_*$qyp4aRk9M83L5aLYc z?f)nrcbJi|h(EQtvolC}%5VvzEj4p_~TpGR=t4B7gobs7?YEKd2dz$jA+ZBvP>7Oxg4grT%J=FlivZxPscy$ z^8|yu!yH*pLZE&@%n*W~^(#m&S4$jdY`yI!{LshKCPp%tNPdI9UW7rp5X)HW2A%Rj zv>2V;lkZ$kS<)3M+7rlgATt)~7XLgJz~MKe9_Z~9zfl+Qn-@luuF(C1U)t&F@<8m` z^A-fOf)fI~#E*r|+m@XTtaAIa3f*)dMMA%RPMi&`)7sQp+ypf#=*#E%RG+?2yTF0l znpSoWry8!Hs2G7|FimChp?=tFo_qR5xSv(OdaRl0genxc4@`FnUJFP*UQC>boUA@= zv{v;diyhAirMFya)uZ8(X>xx3z4V`Z$wrpA%ADfD3nn?@jxPJ`i+t?Vq$miy`^@eh zO!YW@8ojSLd%Y6vu|^(Bv&WnFUe(&ho68e4ged54%OJ9VLMezgA8{0_6YLM+(!Ab{ zuc47Y+fKX-lqiT_or$85Tk{hvYSN}&&ME_`H?{5IOBwfU4LoiA<+T;ex8nQlmq4hx zFv_fLQcJTf0b0+RFjv&6k|d^LUn}XwtF{??8jvmzd}=@<+}tvLIRtqI+{{@qg9zXu zmaZIz7n@V7Tz8$$bWZbS*nv=3K0xks*u6J1zRaTd$32WoWZ~ zl|;ULY(J#RcjNxp>wNmwtPy@{NXP|5rD&gB6ZKSI2x13m!G{L~=-ax|$T>?XK;laD; zHVChx6^(}MWB;yVR+ve?KZjAL0DJG9}KxWXG z8IZkla0+CjUVi%%)C36v3w}xC!e%Y^VbF0oAlER~q}W!;$p zvE4AdXfh0*ntJw=ckauxl|g(ApE-42p*b%b(&M8;qBKSR_Les7I;i_b3VD(S^wX0C zxoPmIk?EKL3gzR8$@%o;r6+~TB^t=P7V6}xri!T+M=E8R1gw$i>x9b)?5~2Xd87v3ZCYtPcg$9^#D#^0w@?1; zxrvF15D>|^B&D7=+k?Zyf=SVf_69%(aX>NWS5CtI&V{~34|~u~3FTuLueb_qEbg;e zzoUx04*^snK2GheL^Ri{4rPD-f=QALirhMzc_0MQh{5q@GyNqP9?Gs4-?FUeU)=}p z_i--0c=`O^fSwK^a-`kS0|fq%t=kSn+Cc4bOxNB$$~O}u|33}s7PrE!m^mIQ&kYw ztt4g5(;p>^O=dwQ-KmcCvZVmY^2rVXUOEEu_Q?z09?Y&;rGN^zp_zq$2EfXaIyIi_ z4740fz@r1g#=vl~Sw`i;!xqyS#~z-U$zD(k2zo44ozOoF(tU)s*UloAvs2bv%VJ7! zYVltLA*nfK>R$9=&r1~+WRUUkYdC^Qqwsxt6UlozMU2f`OQ#REbHN{_0h02>DfRkBN-pV@C`jlzvBTse z^K8eM&KzR@H41q_*SdLi&ilFfFi0_7n-2dLk}W=4vm(y>y5ro+LJ(%G?lN&9_JZER z`$3&jYFQK{ug@1Wjp$33qGrIt;}pOL?4VC6{ah8X`|?9V^l6dQJ6BcbowgSeZ!{LL zVsC;6-O3_Ml}^Z_u@-V5PF3)DZK{%!zg2(!Zb{|M$r4KFEAL{?kk8%<_?=4jZ#H03 z7#HC(w4{;YivX8Il?J%EL^nG|b={+dKCvs-=#(sh`k6LHcS_74`AAtO$C9z#PN7=K zOU*FleEV{^SqlEzT%~!IqX-xqY|kHP!sA2ED-F`(-B3A5l}D`z{fNP*&%PR!S2)>x z9`NEqD(7bs*#*9IdpE-d&B-F+Qk{301fkEly0g~CDky1;e&umLCQSn@5-x%(+qbL+E_DUYjjSjh8dVoP4|$v?^@FaT#R zH?3!@zi!%HX`JpGZrkmU*3koD_h?z-roA?t9eOup+mj9BlevpS%<|gI>iw4#ul}mv zBP|)<%JAB7cB1~ZL)&KRS#;k|9#o%@){{$9r41d7KW+g+oCKZyqtne5*Czf_r7yl* zZLZzw3|wD5$O9vR_@$n%y;A$lZ(7&`>r1pLrH(s2F}NI2xEwaShlgr3f)y1NdTmZY zKppT@*_B#Dp>6*ceW1KFUGj1ZcM<^5?skT1Ivi86`1$Q2jd9Kw1!NsR*76yuhutr8 zJP`~j)zCZqlAZNhEU=g10ZsPsg5HeXL){tY)JT+4ywb|~v7btJdC1Bxdm({#MW?zZMUAl&Y7e@7rF(Sz@~LS0vd1;ioyy23`WDvIx&xu@ zvpO98LqKjAU-s}?P|j}gUxmeyN&LD>NJu;%92>^-wgZr~jpXV}*Ye!}=Fek`gdQkVHE#w0N=gNTutR9E8711 zC6PrvNtgddwV`?iAz2ZZfE`OQRN*L0!--X~K;CoUdhAeUrltY*>HaU#yOT>k4 zLvbbfqnMZ~9z2@MbWyXbuF#;;bft=8bSjzMx8%K>wIapStih?SV4zLpduCf(Qp(*O z@fGJMt1}5Ki7X6kC~~&ZkWN<{CIdPhBcu*B64N~9x(P=1Jf^3Wvu7GI7z_EJ{_yo@ z0J-oixnB^bPhN9_hQ;xA_srVKfS;;-kP;q6m_c7f|p1`ccY6F5O_P+~3@nBnTHg5qcY=%WU@T7S0 z+lRN!FySrbuj96ruiR*d2a}-~(9$zLu>njlAI_(|mJVA752dw8XF8Sgupe8O8BPC` zf?VzSD{Ysy={A4I_>V_=qacE9Iybi({aYt9!(d*KG(eCHD)D7R#R16Agx4CVJGr=+ zT&~vJtu=%#lqmv|lf^A8EP}p(w;Ye}Gd<8H*=#mn$<@{L^>)v0y(yB-aylV9 zTaQ{Fn3y(RDE)~*B#6(|+Uo74vENPpqW8Db^Z6)Ol_uCe5A_C%wH}!&;dnYnuHEIx zYQ5M%eL{Ri3&Tj3M>d75MDjlc^k>8sBZ z@qD8S%>|CuU+uue#YwfA@SKx@C?dA5qeDNmYaC$V=>~5ic$%m3b|q>mE*%`I&5Y5a ztH1}U2Ci=Di`MUG{Vy4aCny3}PXD2~i+7mEKQUp$4Z4LVID{q;$^>+GIzO`sL)7k7(rB*el2K%2)1%DLc$T6>E~9n^)4f8PE5P~A_k zTsrNoNC}Hr6XFnIvsceO1_RnrXlAjo(>rJ>Ek$pvO}Jy^M+ggcELc%0 z!QP80$s(;P7#@5h*x5WzOg6m#uV%?1N3yIveg5yBaxQF~uM1<&T(}YqZOtl#J3o})I{0AY;;w3zsrb7_E=?LYK9Yi@c0C1pl#B8|s_^fUoTS?BMQ2(!p zt44PyDEjpo!!*(g)oDa{Rreq_^9#gmgq~Wsm$81<;t3cF=fXym4>vY1>RF z-d;Mk6;#Lcm*qZ?+4Dvo!mhm6FGUyUDQu^eF+v*6z z!2$@A@(dMcnnci*{b81|a{i-ZSrMb-j9RD6C8Du;w%+3%SOM@qp`{t>KBqmBQ1jEaUs;#=(C7dr?la( z{HI!Ix3^M$(0}cEu`2NhsaK$!QBH${F6?YLBYF|l?VmP_mIhxlu?Ufu8N{7R`yp@X zCJkX+R)hIk6*;~LvBR66tWp+>wy zDc>u(RRWzEHx@fqa}LKEoH&$Y{mgy&)kjFX4PibsVgg9CH3AeVA_A1SdCG zv_O7oyM6rBF>Ja$s;6AYj*N^IIsx zrNDcjB@G|pf3H9Cg-BJ-5AVg|HK7lI@PkMHPdjmDTB*#p2m&F0dZH;W>fx^J*smn? z_iw6_K)K(827;r{pIDJ7pa|Jn>mWDJLe5ftYaHLCq1-i>TSGk)KXwA4#R3zpIl!%& z=^vf-hgK^uH|o>mSiVC;?kwz?>=Tm`{-=3;vwWw^9H6&nbedDAz$F}waHiV-6!-kkEkXG-vjA^re7EZWHb#CY?|wbV-X%g(3fG3RfIDFP!I{7EAr{}te&*n4yq|9@pZ-W8CTK1G zWU;_g&E;f&rTJ*32N~}JXfuJh`gFzbO#HRq#}bgsk|8q@=VWn}rl|j5<1b0-@ex0x zvph)UM11iwRhrTZuYrk_?C=kxv&fKj!Qr>j$f07nzTmGv_TkKyy3A0*Fy9%=c^{%N zATU3;>zvr_|7ac;1qrzdoinCrT zz+WDPldLOcO}!F7#QefHN7Vf__AL!`Ga&ZJdREQ%|Q zDokf2#6crZz3di|pX_G(+@!Au+QVy|Y)ljy$fIjEKVxou=4QWJH?$dFiaYmeAS13t z?)Q)!Nzf`HGo3x{U-?%K%1jA}dzS?4&p+V}{-h!kx8Jr!FzNZ%w61n{{^(OEtEzMP zctFCU!xVM45`d!1lNGgX8h5<>28n$W1ux`=e&y?kx*(y9E>Z1uJn^S+v!UkIKV9%7 z^U`$xHvDr)z&e;Z3W|kqFQ0pHM1@}HsH+@Hf+fJ*a<2V=mgPxVwTg&IVKYygIxE_G zWT+m)Z^%G*pKwWmU#Pjq%2-qC<2bX%$o`(zf8CD7`NpcgX%CQ!P zY@>O94=oAqp8~WCU!!{N*=N>!h#TOg3N)C5gM+!9c7HWR0hiSOnld#K0k3$8Y>HBa z+P9nXy_ADQ&Na}4qY5mV_3?5c-Q-0KW(=Jr{A2iI3QF*`PX5}1j?QN3cEstJxvW_+ zKK@YF6+h=P!It*^EN!b|-!5pl0&J@%OYFx9^_P|>E~+Q#Y%9nsH6NtsxPZ&Hk4_L4RUp+FTVJd9FEB<92A*?hLjqwkpj_> zq${(=(?$8e=eiBoa2;g`e<-Mur}yHs=0{BA*$TDJMzJsLLLEM@JY zrIP89U3|%8^0`0N-CJ3acC!cn5d+@C=O5!&YT>Np-_~PE+?%~q1l=%ylGsl-K^$E< zJc6dIHfj(#_@`VC`5C=gb&r|Iifvp48>Z|TqJ^Pit%8p347Gf8BG&&v#BthGox2q| z+G8cBAM9MHW@-r?N=j40Xfs{WDLzzP9lcF3l85nzDA$`vK!_Lt?YjOSs=hKRj%MpR zxC9Tb!QI`1I|PT|?(XjH?hxD|xI=ITW^i|Rcjx1|&%N(jU;P;A)l1as41O$BNm`jk42M(4Kl~1m5}wI4xI(A0*r~)w z1FPu1QK%JfJ3+MJ8%wiSbapfVN4GC*hV&>b5n6)UQcQ#hvO2Lel!_x6>(?Gy8QUj) zo)_@(_@dqsO$%A6L;V^iGFsfh5edNH9ZB8*>`%w6;mIk09~3(gaJw3rS;Rw!lMpzi zzDCbgHe_(z^>RVtiX9#<*_mt|LOptBJkg@ela7OEao?$Y6L@s>NnrWaLT z&&v#nFslbCSwW6q?l*y5Kb~*+;JB>29fQ%MbY&pK)izY=OfmA@id!&+o|uh$*OaZQvX#dA0Ht@cBn`y37gdv zK~qz+(R>QL>6eaqG1|ZF1F^5aKZDze;-72`pNUgGoE_dbMr^GA{E&M(Z+I-3q7{#= z6(*9}6@kfYDhmW2(_speBq)~qYo0@qKzD&@Iv}s6fIr^rpM?k&h2`vR=H3DGSh5_( zmYrO)_3~B6s_1T}(t7$0*X>EXCS<+eAs)op7&sHySLO|{>=YLABDb(6Q$iak8VqIV zWtAiz^-dP~1DKiL_%1#^aiBguFBGtK3Q;n8-cwLDfw_hz z^A!jALOc;VosXfNFsPnO_k0w~(znL=bD_RNG0LF+Jfu?kT6^&nOL|oM@Lg%#o$CLNbTb6o@08qipDo zg$}7hl>;wfwz;zu?uZ+b0E30g=E4w*QRpeG*cOQDS(BWxAiZS35j~k0OT2%ecz3P` zP^VA@QeBs|!iOMen&Os|aPiZ4Vc?6}0d7fgWn6oHRgd(+g#E8SzX-ol%ky8B>cv@>0UVfg=O~V&)m!SM(NR%7 z91VYb=V8khZ5ZWBAM3>i1;~Z9QI?@ZD~y(WVVPD!b?`8pkZ?@aWwTI`T;&D)(kZB`1DCT~ny>(EJ3Dl=T|5=7Irs=;L3r8w#+3CEiTMM$W#0uvkL zWNJ8U8YKPo$z?_r>Ip8;?lZ=cQXyImE-N1%lFW8$$Yy4lI9Qw(_Xa1b}(f+}i4*K4a?MYQ* zv+XD2jWhQlqOFG=FC&#YF7vqt)l8HO5J;MEN z@4KUytobKW@m;}nt+QT^4zF8fqw3k=_4SRR&pF{Vos;0?UI%BnFO7wMMcM3X!5Ow) zzWP}1P_-5xslD1dw@Ew7@yYUJ5&~-%&yix1@mVlvRH#PMEgHo7h!o~ zb^oqLC$)1NQAE-JkUXy$){MsnOR1(2O8`#g|fqw-rgPSGIp7Z`RTT#s`ElaB+9+Wp`; zIqwjw??vd2B#spWXn>Ic!fIl=Rijg%K_hFVS|$y4qPd^*4_z*Y0wiwYx&3>e+&02| zYZ|=*Hz)0`zfe|$kZIsA1JP29pO&(UB=PT?9E!hSq`j7Uzt(!R2^4aC>jFYHDT(G) zigmOC>rAgW1S^5zd>M)aQWKp=;F;H7T{y<3B%b?c1c)AtmXhVzGG6J z#sV~_nd~P|BTu%L3tamvmwqMS5v%mn7YYh)4yVu|R~ z;P^4^$dSI@7CsX`8z5EtMPxwqqp*{kzZmbfAaa+0x(m4Ke8D-s!al-d7}TuJ;pIJY@d0yON#MjuR}B z4Q(GJMI0VG=sZa+|9acO!J@vfWV$QEc`(A0#gGklYXY`p2Ut*&+aQuAz>4rP3Hg67 zp|}fMB&tnLHtzom$}VNIXKd+xr1D;*_ zf4jLN68pZt%QJs2Fcd-CjG)b#0&PiMG1-9Kk6h=yrYoO^)Nj}4D6Z zr#F_nL)mt?7fcxXiTpU9J?EV}*+9<6D$n6L_lA*%cJ?PgLq!Ts0HD#~5gqB6O zR6O4$Xl)XxKs@dBEP7Es=@BrG4h+VzWU>NJ*HfDLP3_5U$cyE8M`jfSwvrTjwi0b{ zq`5mbwbqjkRY{K)eUPxMM>qBQt}}YOz+v*PTg9vQZW#D8yx0&!QV8a+xnjqUq(9kT z(d*ydK1J&vl+*CysAxD|S!1XN>*1%#w~$q!vma`=thCfea2i^RSZ&(=$HyR3!2lQLs`g~=jGvzf&kk)Ie?ov#=%Ibmr)jRr4C%_K?7$;b{J1wy6( zXzOviD30K$&8_JYXd`{QN%>^Huk=GK;XSSo6dNl6+YfCJFTXPrVDUzgq|t_xz?Ey- z6|K7M%>1Oq;95fOvSw`~9IJv6W5D{(%#11{Gsc-{u?z%8f9{jI65c7V+Ob<%O1WLq zJR0^!g^w#t%<;RZF3uk15yBDD4sHzkLm;g?`{G$!$s&7{+A2DWmJM{)7HATAm1 z?Q~k)1E=S6{)Wz7IymgV=QIJI&b|s9o;*btekRx1BSAU@^;WRWoumwdM4{*B%9Yn~ zVB3BwW1DB%+m8GvSFCq6KSdR5R=dxJ1aP}haXdEkLY}Hy6-MD zJc?*HE%L-96v;|8CXw3rN1KJMyq=1y>vu6D3@5sTGEOHXDOu&9UCTv}inMa&B1bT^ zexpB6V!y3}D#RFG&QpF)ZzpYppRSbF7L1MflGfW1cKIXVbi2@Cww>a^j2jwSgu2Z+ z+KD!&BoWlSuYdlgQpHKTGwI5iVYwUe&xCc((VHE#43J6VP5W7g<;A{VeEW#xqARxxT%f*FFOG_)AOm!u0oJOS>_?a~e ztIaxMK|)f7d~g(ucaWF;*SL@*Dfw8U;r&w#Bvg?c%>}Nb3Wg`sq!sl{_ea1Ce|NF? zI+?#_sm32r>iXI0lVewOXO}ufQo!laLoODh-@8+kBcywlkXnN3HgjT-VldS%JP-S! zh)G`N=U;iPR(Ae4bdttoe1@6(9J^Z!j?b`n$LEk`=Z+laJx|s?9g?JcwLjT58Mj&K z9X9gBXgf_hdEXvCva%Dsuko;&v~sZ%b@dd6mlv>Qd#tia81u!(6${ySDO+y$O&CKG zB$Dm-J)_d86iyh+<**>tYpfO0j58Et@OpT%A95=X5<#tn7Uh$rFy6AIaH-b%oFERO zuLds}@thG#IJ<@Q*;72`g(QRsWENwzF@`Wb+*i8FiwSw?)CO=47<_$iED~q=nIMO zVvGmBFnvmSvN_}p)-PVTEv@^{yYzM#y++nAN*at$z~ozF_U@N+(+?Wy9*}E|dq=yp zI~{YQrf>z)TSM>OoVpj_nS-1JZ{5p5Uq#ipc(LdWcczl?1$|RA!k%T{ZRq=HEWSW& zX_;Mt-s$k^Si;+#V<+qN{_JF_p_`71skBboI7_HC>kMYQ6fQ1yiPmIM+54R-tXlF# zB3=2w6JO22PQh^5tI8Kjol%ujW%BR|JKB-|C${~r2)yEG>kVW@x+R*#T_`LxXEL<| zJ6GOO?Tu(Xd6>eqhiK|+VqpL*w7%5yuV1i3pF?j@5a1L<@aOuzL#96T@wkx{N%D@B zeA5N;5Q=$UT4qw%Zr()ne53S7>5B116i1!$h29v?7z^CkM{{wue z6R}Z6P#kWy@3W&BJ|9Nyd^J*1^Xq*SBqF)AdjLj{2J#GFX!qU zugh3l3%TB0j=WMdddo3*lD`E)|MaBQ%@iP#b}aORST4L9!>``;qE7@;(raXvy1juP zV{QKE^Km#sZ57`#m`x~d)UAze36zyE_Ek=KVi|HZS3x8EP9$zc?*}`NBP6+DOL5PC zVy(WmPupf>c1JDL9cWW=s&j~88o6uho@G=sHhBmE1nSdM4Bb+#xy2N>=Xi-`Mm0i z?6cwqyUW{X57rY=TvYinoDhTHdb-$nSQC{uWVAZ zW(7`n!3FU^{qAxJf-Ov##JJIA@#lVjbEBOW5s?!&L-q3H54UIn7$q1S=n0kzshVQ*>f~}R5l(@Sbp=BO) z_Ju+tale&L_6mQ7^>DEy#`v_ncB$BrxRwN$GHLjZ;fBYM1$! zU1_~SKwo1mb~Im^>-j7Z$S7gmpScnUU87#aQRV?ovE76;2J}{cR6@-JkV%jid z|3$I3H-w%=Y_nH}8EF}mi;aww6l{00m3c#vZ}$e0p|Yo}xH;+s{TAI!%`Y<3DT?^J zRb|^iM<`HtJhQ{^hv?52&IJqc@~~fFu0`y5Bq$K{b7m+J-a4VWX^y5ogpD0{F5Vgu;*@+=L6`$#YBrWsKOow)jTF-k?ut@YT-VC=%Y!#1+oWgP>K z9ZYr9DCf<;3}$G!`HvITy|;$C5&UqP??kB4L907su{jAcAm@Vp!`OV{=$kaQsL;J_g765xMDx9;?9 zY8qTqjUoelB+AYBxXRS{jX9elz;+Syrtm1;CAhnU(Qd(!>uuDm;k+ZSHNhuH&v$0J z!S1Pmd*OSM!Pd5j1t;G1ISTDDkEGdup~81WV{%7EAt_LX7WS@fi1wjW!`jM|%NluN z(~~{b8G&r*qnlsbhiMnKC`BHCfJjO|) zRRBw+mMR`|qPVmM&ka2;cQksNo_Tw|hQgSFV2n#As}$~+3_TiiCAHHmmO@ zE1{r@T^+5W7KHnU|E7^@!RUA@tW4D7`7DCbETI*n#C>-o$#eJEjDiUkjP3hzuWpOC zr{S)W?~%ud^PB*~FfQ+pU}Yt<>sISPz77jZmZLj#QJUnq0xet7{JY$X#c%v6bcTB3 zLfxwg^fmm7nAk0mxv61T7)iK~d;X0e@H>3C|D`^JQ(B0Aveu?tXXZQKT@a&9*HlZILxAjw$N4yC`brhrj z-A3WT*v$UyUc{CXr_RBxI5jM^U;^^$!ff+zz=t!cKZ5YMHs!r34GfWUVVlgjo&P8T zi7Wk9mM8`@&S(6?NFl5n%$e|+8ZN+faUNIHuAiKwUp4sAyPv7F!ue>YZ>UzV(78wG zHku|Zr7tNq31;T`8*)3sNmz{{cfrg>f-eWSblS675)Bm^tyk)q$8w|fy zLkedJu1S?w6|QfH4p5W~=Ay|Leb>{T8MyT%2jBYXa+^{aLwyDnjDntS$J$k%E6EXk zfB;$G-{LnmiWa&b*w!LsUYPXz4>IM4b5`kBN&Ge8u;(0JY450H zR7poX7&cmJ2J$`gZe}7Us7t?un0?EH9v7Xf<4kev85td2J5)4*%ffT>c_plHjMn7| zqdgm*X>Uk~$b-&@TLO9Zf8m(03dvzkkJ+FzJgIixR!U{^vE?HOb1ed%(R(-8v$ota z7rnBD&6S88KKILWtT-2m96Se4=ng-3XH?~OCu`-M(P}4Qe+yr4hzG-=d7g6`wmA7sZqDHohSPSNJ8~FVfC3qAnA}RGT0OG zel_^67O@2z6E?+Qq}RQ3vf>_(CDmzsl!$2DvZ1FvYY z<<#k$?|03L_gN=)N2?1CmN4&$%fEsAvdZJ{y@7i@j<3!%-%2eG=X#KdxYP|N!%eMu zZ{P^DF}{;I8V){qx7=`$4c57@A}H}7{;r%O+_ysvnC05{Sh zY@KNBzQUV-?GCXwq5#MYF_RXuzI7}N5l=Wtg!_pR)GMI3+n5;UYjZ`YGkaPvRwS3- ziTBOk=Pl&c<(LUzl+0tlP|m!!%D)LDm07(v!xZyu_qo>Z>~hG{{$goR#yic`1o@zs z+%G6*MQOiON2PIdy23!H%hNh8#r4g)zPPG-@<1BZAhvJo= z3-}{vziQJ~jGnIdWHVTx1OOk znA&gIAY(pdn9$-W+!P;OR84V!XgG2{P^MBbzM>`TRH1k^c$Yj3ja;k^!mmauMeJLB z%Sbe)lC_=XkgOuin^McAZFIh`v8XmBgtL|^hX6$*;aFUHDvaGSK*oblaV}89Hl);0 zxdJ`b14+u5f=|@!C|WL;xtim%7K;<*X)eEPz6{Chv5Bw}kQxK!2f(nT%?J43_^Q%u z;Y=hINKO&A(HPe_y(}gC*&2aGS$59xdr~kL*oq;h@fn^_u_Cxk?0BiKknqEPZ#?=? zNL25DIlTkDa_kp{j#9I~tVV4Fx#1C3)T>n~*o{lD(ijEn;nONPGsB30V7;yZP#6pT z7$nM}MNAzE#{^Np?cs{3Mby@bMU-q>jBbsvDO&+YLXz_f36=<9L6h?!I+)r9D1Ri?mHXPix_p7eJ&m`%!!{5Wh zM-u0&R+YC~&%q6oh0bOkLmQ8Rh z892?ZvFT%w^~xlzS^3__%lOO=17ox^#8jD^Hy@&B8)@a;N@=5u(1*m!0DJWQsP3IT6 zGey)$>b9tqWeUgqg9^F&Ppo5W*7#6z^%P>8am zJ7q^^=_UO}fe)h&R3@LYcPte(=&=At^!U4$jymu%?l7Y%ZqC^L9f|t%02P$q8LfRJ1~Cq6tw)sQmd0@Vdp71OZxL<__We&>2JB6)qoj4wnZ!m zgsm!V`7WH2bd^kj=8GAhNwCsk-o?E#c7D^1Wtv5r%f$^ z8_&PZ^d}>9Iz$IBSsFAK14ZJhfX;Ua!4R*h)rFCOYQKE=Q?ZrfW-{&UiRNhO+2$@l zpV8pqat*|JTsDFj+^Bn?09_t10WCz7>}FPNo`AJf$wi{RHfJl=LkzrA#oSKs`#=RZ zzl4gg&kiF;jZA+_J}a`X9#q%RWTPX;!hQ`|m8{69d0fLDBM!!MbCLA2rfaQSkxJqA zYF0Nv)&vZi$~EAJ(%xormN89I_{|g-H2YI2%|{-^(=xZXHb=gQrqwjbxqaV2(Eeab z(Hio>?-G)+j#kvG2jY3-womK`oc0|Bo2h_fj&%Kb>A^j{;3Bf{*a3%O> z$(dZCt12GD8DE^%3i8tc`2(e1$!`tjufeCXH9DPr%rlO+@ZK>&;TPbJR=4wx(MW_v zFv%1RXHu(bI-)a!X$aFyT~5eNQV!F6){X>7U}Cadm~bRCLOdl@#EMKRv!4l-x_#9? zoQ23DvlpzijuviwdW#?loA=YXIX8EfyUe$$DRdPhFq=H5=O<#ln5VEY&S#&@xz5HG z^5yk0WOw?dFmG4kyCSOd*?@( zf%bqlpPscmQ>6$cV0RdrPFK1wfpNGoi+6Ged5*W|u3kH?4)U@12}=8QjNYddbJ$nF zWws+PvIVy{h6xuD>TF-z>2Es$d8P&ThGR&)6LICg+Lc}*Nv6KbQ za^tDX&QT4@ih>y%Lc6sPZP)i9h?qkQ{|+ys38*~L{S>qs7_~};>RDv(9j!)l>dV5C zZYP3wo+$Uv-E*fbsk=5@bn+4*Rz^1620xm`2lR=Ch$FEy!N)|P#UL14l9v=<3MC8u z!q18gE?{Cs$tG8lf^>nC;EP*57}2ppXkmq=+WVB?pykm0mWkMUrRPq*EDhUXJ^F)= zYspq7ji@;MuB!F)uHlf%@g5c^*6Dztf&WVafOnK$0%>ogPmhpk9N5z+Y(-9aH?I5I z_l@|HAy)>=t}L z|E$X-+dclKTY5)KlM)Z^oJRX8P}fWfBc_ODV(OmPl^W?elb zTfIn$0x9XsQ9wz$dqz-JqY91=o|h`e15()LFV0K3ITaG*ZPv5ghr1oy_?Hr3`rphu z&bq_(bcL!NNj|J3r~K(;mf|zTfl`AzA&8Q8i})yLe0m{U<-n3T`uLLusoA}yG%Mid zX$o5>c#cCn^&e*Sg5;hFr#tEC6Bn{7S3*4FBEtp~-hD@>-38VJRkZKqn96L}j*Q<_ zrb(4P376Y0@xJ^Un$ZJd+LYpMX;}~7%C@urg3`$h5!AyUoDS5S`Ra~o2UPsE9tx#c zv`O2o9U@JvP2PHCrPGTG>U1w2VA{`1hB&u2{9et;5mOW?= zVoy&kmO6|3^OGMp*ccV3GwRy{Ln6Lc6o_(emTn=PMNKJZ>0pj5pRgP>e4AX?03 z)i4<|#L`Q98RdAVPX5=%DeR1ClCBW zGe>p`Jw{soB-8(j;e}P^QmBhTg$+XI)YX^!iW7scV_V0EM46@}Ar_kUuHnTLcu6&b z6vuMr&Pv_;EvV3YUKW2Fbp4tnd^E%p9I`*ms-A?4M` z5=?kkv0i%qw@}LupeR8dp1PB>9(TLjQ+({#llT+{LqnTqU@t9s%^L+%{RUob@c=6o zL01O%5da$h#T3LfOZOo5CjNRyMe;}4$8~n(tw%!U*fc6VlRAMD5mNE{wmZlAT;+6W zHgy3*grIK^kiiej)8qMOt!%o;G+;>h?l!J#IyN`xSHT33M5m-ADPy~fKb|tG+kZ`t z0CRX;U#$>H6aEVhG^fNYt@?J>ek_A(jK!`A-7@?43J}t(#DuW&%2%Iu_=YGfCcCNR z=)hr85YZWb>}y*}1M*CK$Gp)1rH~kv_Vz|dLPyxb<$)e0H>zS{ty*lpG%BPOYbcT7 zQ+ro74}nx0U<_MVS6cVhHpx%WV_{j_k?Gxvid`YB?whhldUj}&Y*0*b;$nxVwRG~J zfLlkfwoL^3x9yDxr5op2B4+N`B4^fJT-vJLh}Ai*ZM7j{v&}N5-l{KczscVBM$q}z zPDvu_%8N7sOf4J|ghWx}qX}PDR^h-x;49UQJ5MP2!2H>{mUo=`WwZ_7}~|D-n9wTWw%#h8o{eOhZ&H@`y98&TR~ci zklJvuJToN4v>x=#Q_9L$Vdz%L}Kgb{qxAOxn58$_{E>m@2PbBF)3*j)2Xj z52!QYLnoR{n-_S`U;OC47=@4U$DTpVKTTw+2JIKu&dx2y)@srri$7fqvsmzc;U5yPp|K?b_787N|ukr3W3nLKNDbG+?`W zR_;F-iv~_e8HXs9!{YhxLR!{QSJ#nC7+wv>6S6W(z4+DV}kJKRZ2>Nz*9PC2c7cfrS}SrBcvVQ z*-<(lVBst{HJZ#>rF73nlAu&**cnnzHZQcH{S-*c%Xw_i_#-Qn5UtVW8?oo&{!T*R zM=Bf~R}5Oq(FBB%991uGof&N|FJIkS|H7ECEL>``qmbjXnRM2a;n8pP3-{1NFxkZ_ z#97_?9N)n|Uq;&cQxmhSrW0*1>AAQNkC4bQQHo*LyK zXr9&cZ|Z6J)@Kua6HG`urpf|25xd(0P*Kj$OyoaYXRq#x#@cVQPwM-Yp4PBETPkAg zn60eGnzx2!G(*a2V_(Ajw#L>8EVKvlC>Or)ynB-$kQyPtd{!m#pGtc26eapKS1a=( zg$Fki$ZW{T`rKTcT8o@lBQO-FQ?X-d6dPlPD4^woNbspp0T$?;EI&Tp8-uRIyp@&+ z@SL<(t?mp||8T?s3YP@!=tRVQdk=ea%qPnjWf;i?skgcc>2Mx!2yj&kiJSlVHq3HMjA*w6F;d>+J%4AvXQ-@;)voYNWEQtI2YROh_ z+#;d!rd#!jBeHT#Qqp8Xki`5!vZy~owHZW8LE`B3Bh&kxX8%9Bpt*B|quZv96rQe? zo`_DA$Lo(8pJ6qrkyZ>k5W(iTlTbsby-AI^YF1P#S;M;h>i=TkcXL9>$`f}y6h>YZ zFJV`#7c@oYoDKLC#2fTxE~)Segx=4@{+3w=rVEvp@tE)^n~s|emT=E17UhqSGP3C8 zb*zm`E>;N4;^7Gw0tD;5Z@|Wh^u$^cJ(dRw_;h-XBh4J?EQYc>b{Xz)ZcRvm1>1m6 zyvCGBvyY~ZSI~}Md?ZICx{-fqVZ)ZP_=n4!e|TO5!!?amD|Var1?9oew!YJVVoXBb z*eDVIL0kk|c_n*f#K@X&Yp`lZabR6Ts_;<|hslCK>WeT!)-%U`)WAIO-Iig4P6Jdm zns)R6FpfPDZB$R4?4D83xYzsp+%sYSGK4FjM6MqWzb~JOs%RV7RZ8^!sYIxmj&*pW zDd@-x6>xja^YG>Y3G&LHQ8#4p*$|G+e@MHXSuQtW12%BT&DpFGnpBxZ30C^xddl%T zi27rSL6X0iBjNCN0{*21SpJt5U~B9u$8G^N0(E!YtcVWefI6at+BDgdbgCIEYs=gA zYZfeoSv=R_U3vI{4qgTwPqRwuIy(}OOz z^R5G|u0D~EsFIhoLL6>Od?!JhfmC%uvqkY2`X0($I@yj7%sM#YU=%l6b#UHpf`Nw) zFGWftUTU2@NFQp?9*uxf-Q)g@(ExK97o$_!oKMsHt@FJzXufznK@#eR#8f+b_}itN zfTYC_>tmehmYkit;k?4tBnbCsXN>D3>B*b^VZfqKv@)QBD=mKLoRo5@<%X@F@I+!y z*X|lveEbN*z6p9D+$m19AanV$!Kj9WC8D*>b1~l`lCBJSWAse^kRGfPx2$ae$io1nmfLN11bCw8WS8o09E(s z`&vyJk}{8r0j>?m#6;0{$cAAG+6^%;dnfz(ZddT7Gru%KvU>#diU||@;uulj7tII9 z2AjC7YV5;73$mvUDN|mK#n0c;V~hVDj{=YDk*+k<{j4)bFquPhgK2*mOkg8N1Rn|& zXlIk_U5q#g{Bh-qaHyD3K8Ebj2lrI4&vYE7g8Qb+Z*|m^a2eV(@^R<+&f^$6f-FE$ ze+2HC49r%s3c_R2*T;TlNjZGFq!D=E=1ckITI_WMEU#$z0sEfDC@8s`#=KEiyI<-I zJBEv(Or1;kN>-Q^V{*z!G{*9Vz&X#!my>Ip`mDXpQ{T=>z9+ z@|c?J^_DqcO97Mlt;k3A;+kSkcE{|u^W=}?-(I9ihEh!3Vft+;tWbu+6-6>>NR?p z>6#s*mF>MLFfJX*v=h&#N({+kA!8XYZc0BHKHoWA4lH_7+E*Vs%X#gdV@99Xcg1=X zTa){aMzeTrxpdm}T4boRBl(URzGBtz9kLn=ATv!IcfYo<+X)PJR%orAQWrg6cQzRk z%omZ-?WeiVC3E-FUJV$}yC@JZ9m)B-?FS$26=%8gsBWcjWZhLVe%V~`L|?%z-MYRC zNXrw+@SZ%9W0oX*^JKJT40 z;@t2(|E^~{VvVNOyDyk^X`nhNUpwuHk6X@P(2aMPftl77jO((Mi#VC)C_#A1>^T#I ztJRGu@bxuknU-=gy0P|Zsq07kF;iJ%@K-z25~H{7jS02f^!QP4&4YB#GHi$Q{7b1( z_D{4)^ZIdL6PJYr7^2g~Q}u3I+?Z5aF}BC&=ig0Be>(p9o>EZ~NG(z#8g9bt-L~47 z|Hvh}hprYzx_OHw3(O30G-+W~Ecr#w*^KljZ&P0s?FkoBn>B%5tyYSi5hkH@0>alH zI!4XQ#GGB=@%ix2@@Z?M!7ZUc@?EX>cx81@Zvk@Asffb$RgvN?RmvL_`?)vAQcR4* z3!vvbjL0VULMkNefYoZHBf6?RrLENR%G<~8Pu}-qQRwnmY6Se&M4*l?>iss#x~1l$ zG{nMxmlOOQFU^kU3oo*7POKnbldXqBdfz+CeKt?9z9d6&r)#)OJhZ5(HQq-?ERp;UmW@}C^ zJxuQ{eB~|iGXwM0TAzgzta4|2oR6mY%CY`#e3(9j%^O}L4>-S7QV4?AcnpTe)kfV| zJ=kx{@_8BNB-0j&TqL<9udN&$>%Z0@c5~<8`1PDTZ>w#-$%_2=O(btb?&-svD8IfS zSC$=-?BhwZqK7w8es=Qcbc8M*?U^J{hB4L~RM$#KlfYi5N=9C) z>o&}Si2L`*Ue{yIb~v-i7=A%)zh^S&;f|Dxs|OjXkzw4I6%VvwYnuRwPJ2TSBW3xW zywP;=^t4@>$mKzUgteYVxxo-d(BXzEjXs)FIoAXhusd^DzIeha{#i*JS%Z^l_;lNS zz<@4!@L*qcHFF3{P>=qqR37ajP&kdVFJjH2KqI1WDb&odU{qinNWjSav@8Gq>_q)d zkPwt*#51|GlG=jw5|@YQUY}>&ALEOCA|SVs`Kd2^LxygA#FJU+O`ZZn@&kW!DWi$I zdMdN!#QFH})z?6a*1nZrn804#+u{_xbo?JC@ zIWWo7VOU_7065MZz>gGO$gRgpt@~`G1a=-aj}=dvk2Ek(wSF|5By_HRu;C)|toiZN z|0b_mTR64*ihCC197%jZRs5s8@}7!RRg1HDx5X)g=?%pOT4h}N-FjeH6OeZGjnvQj zFQuJ&iF?=mZSDTx{ZkO!*SWQydCmGx%d^Zk=Zgk(M~?(Lk%tbsZ#fr!+<{6dwTPO9Y5kQ@rR!>%1k%kcI?_PZJ+`_R3Qmc1?(yn#sq+8zF}hYX@iZq1=4@);~)fylVB ztfuX?_2F2Gi&=RA+|>|5xIO1H_A9>;?KiZ9PE&psIvyX-%K)ZVOtyPC4AJERZ^Q39 zm55K4k+r}b)cgY9Z14H6qHPZ+^F=;Ps#;?|wRM$qdjP>42D{@qOP9mzvUR>%tx}Q7 znSDS{XO)(h!hBAcQT4>wgkqF@mc+;PAKN$nMLQqDxE7AMcawJ;P{*^=UdvwI^Lfn5 z#>QaP>BkXmcScvVP6C!>3;7Owx!4{P#86^Wx$#DyTfd;eeJX6MwccPsTND@iWI9Fr zUFXA)2GU8i#`u{5;E`Ljg=qXT7AoSkw7X13BRNBOE_0?_6HK0ga5#KwMx)!C_$!I@ zREr|GAOr7@Ocv!bY1PPQXq5EskSC)agT7bt*LFiJUxF;dk1I~s(xpp=^?1{Fuk^b+ z(fwN8iP)$?^IzWsLn`C)1IMPOTcZ>=fX0Kdqyw55x*-)m-;TAC@MI>-nmN5n{6;4) z-t|AW)~d4E1B!8)JQ_{Kj%UAak3>&Adivmk31Aka${WkS7Df}zWsw}b8^4xaXm(yP zG2_U~Lec(g5ETet0p2={Mbz`uectyAgEEWgsB)n*qP>yqR9i4tc&4llg9a=r-%TRTTVr`E&@L|GeV6jO9!h0lKySLS&?iQOjGB?EN z(P!1X9Y@t2^K_FCA zYrVE`?kHrm%bz|~J$^nj7ZH?f$0bpsAt=JI#OI7iRy;^CaD}=CEt-m+L_l>AK@PPU z_aEB8-O16}a+P@CPCF7>?78Vf0(OL~b_Lnek+RO%w1CFO?sGS~8ap9YT zN`TGT)Y(ftS)|lLD&@){;0vo%0P(&nh*NGyFr5I$;IK53%RHnKz3V%UmK0D!d7MA1%UB#WI+dgCNN{b|NPdUFP7()l{ zOQcrt>oM8ht&po21uB|u)~JE5t&hSgFX zrG#M}GP*UyXdqYnhc^j^A4^+rg?pkiimrNX?%2)G;{qMi~@+CVPQeapdgzC3xXGm+KQCY5V*jGGlCKZ*=DE zWG29y zypIAEwXapB^az}beNcNjyjI#qeF$5@{+7&OK}TfU*Vgz?m$1n0_K2a-NdWh=q%*k? z_eVcgoE1`{lhB^tRuPVeih3f0yTA<%A1(&0Tns8c%+*{*bviTImOe++*#8XHi0X%r zZ#iOtPM#}z-T8hR#&CmfqrK;vY-sl*q|Pt)0`Zuz!?!0IhSo1KWKrvQBeNpZ+S=C) z1izXJOkS|kT~@(x%rrP{xET4@L(~wheimvn3TQdKmyEfiaYpZzr^=Nr97D|Kt_-v= zI{)^K`Nej2C5TDX0KU1%n{==uDEd}Xdt-G=Xxcp&^1P+${+J|ZTq0b4`r&}>)8SGm zQL5JH@d|+{VcM!Acn=}#Q$s3;$F?7%H&O4k&+A;Fo+3>jRtG|gAIcBuKU^vPw$|Rf zmw@#4=sf69BiBD2p?%Fg;d&wcFiu~lR|~}-`X(Js`|=JJkJ;Nt{C2op%)7SCS!gih z+R4Jm^73#Blm2{K$X31)4i?3z!zpj~hs_h2b>mz<=~t8av=?NhQLQwX4xIJdxeejT zV#<0~$7Hh!?XMo^VYt>>PyxQ-APHz zeh`-Dq|+`1PSVL5{Z8TPzRIvflM0U$Df@Hl+p^oZtP1Fk2jlv+R+_q)CAF&z{%Q8- z#jB4Zw`wTQt*Y0a9bGB3&G^sJjH+=7235wCE5(qP|3}(e2DcR~ZNhf!*m2AZF~rQw z?3kIEnPO(k95ctvmYJEEnVFfH8CSXY-TG>`>ie}-`f=*$NSYaS_jLEu)6b+D@?cc4 z(col>Td4@GPeI+xqPJFgxGO~he)d4!Hzj3&ly$>;8NW;Y`MRbgfw~6o&EBfzNou*} zXr*2WLZFPK(j!FutbP6@)TP~g#U{1o-dc*KelLTHTNlAd4lb30pjkraSe)fHcB|q9 zM}3_hX@2=l;)=O_vqq=lgprX7YI{=2$_4iQ$PlOHK$q!A<=m}h{d{%~nX}3>Y@-?~ z@l1lEDmrU@64joHByZ>29|x-Zc!#3hS&w4Dz|~?HbcLzBAF(f{{bcn98^23h zl71z)IhNO$CUCOeGos_(RpI=wP?F3qu_j@}#TWpmphAozTbS3?#+D(KaA_SV* zx}|%CVeQpqryxp*0GZ8FL@_$GLcGuRuVy_G&O0+I=>4`TalxL&-rUxm&Qo{^ITK=U z#ZaoZN`X*s*)*;#+#|&(vgz{nuH!62{@3T$cuAg4qMy?R4wH@X*y9!6EKep?nDvs&hyE5-BqQ_gE%)8d`0 zgtNFJ?QSqT%6nSSqCKsMk^C%4kDIL~p9zP$#I@0cB0pa8rK6MyXQcF3+AQ<$dXkbS zv{prIpJMQSFO_{lt$F@wY@fE0Ff7R;wZ;5aoleQr{FT$llC!P*l+~TOqP{1z{UP;S zU8)1;^Wfjh1yBi(3M&n}Ds@VfCd*m6^ylT@;h%I&-fHJz$mchN4&zA+KRAu%1H}HI zId7_Q&(sVIrskk1oiBr!i6;+AQ6k3dnUZ_vgIjApJUL}c6e8cztp|$L3qd{5iC_F3GsqBNGNEKzHCi2&i>%1q(qMw2?)pCGmXfZvWlnMU#7EuNmVQ6Ga9q``eeZz zZfBfv9p+dC-lSAQBvT>lcK=xPgTS??xB)KpEX2umGE;`GX+d29RNbYxj<>uZw)-K;_(<$#u5>oa?Pi;|m?zYT$J=?2o zY8SnAZ%Im!QR;pB)#7oU?MbH?I|K7=IE`CoU-FLuuTu!czR37V0<#|INQkRH6w|&P z-wCU&z`lIAR-=&2GH-^Tt=yix9UiEZB1Jy!kX>OuwViC;}9R7>wI1hgP9iS6O@Wq$gmea;CWXS#m}!HE_l1>R$QEv z=KLKrW!I2hmeG!<_~Ow|L%l%P6b&zUThHqF-s9(Qmk)$W9V6D-X=1&WUo=eTRFA)4U-9s90&5S{&Mja&jZ&IE$wK#E@jb@j9&t)5i*`vv3 z9IwycFwVpKwc8Ol$MAk#liJ?g44DY43tI5mp)hY+$o|FX>Z#t3OMaT&wAyI$^Sbuq zVKQdB)hi8u9*ErPYKz8V^*}$RV>MhTU}RzB;Hchn6fK|l*~cC^>*0c=Vu3U&>P+;r zwZ)pzN~;kV{@~Uy{*rE>`!VN55%0`=Xlk>17a3t`IAOpeiCSw#0`%^Ts1KI9ovs6v zxt%+z3g`W;)HDn7VvjMSO6&FxBLzkn*Yjd+)-j*0=psKQ3XKP+y38P9`w?GknQ4`mr8!gwr{Ybm>}ncMp*w_4hsDfH9;kv797OEaYi4X1DIv()%5=ZB|?So!jY?U(t5dIbW6Ke8W6W0ILC>ixp z&SlLqRQb=`c**%)(-_h!!o3Zt zUczVpz8WpTO5O(5Y2gUMn^e9@y{osjNB+GE%%9_Y<7KpOK%fHlQ z%whVZ%VUpJ$iDLks4zek$<|JoeUKH{C|oYmlmo`NlkR_5sEHNw6?{*XD#ldRRvs}> zfce3%JP!w6B3Z~jr#3rSoW$K;>@8JW6yAv-PYSv}5WZQ;d+lPvf1P`xvQ+jq+Nk7@ zi7P)m0q1Nd4UN8~q7=#T_Z}j(TC;uQ*3r4EAYPHu@-Rd!Uhd=KWH6wtdC*xZ4>u9A z-olPoWEuR#HcgSr+wVlTsXY}RsKRFy4)|QxpyCW}Ial~SR~Fq`np03yGTB5h-y`x{ z*;sL*Aw{xy@na(OaE}3B_IF7b&ax!7biVQ-y;_kHw&b!Lt;%H5qsl?W?A+Hv#cM~P z@-w%L!nFo4z@%6Heqv4dk&o>ahPBicZ~i1aBPnTv{4%WqfX1p<4@n_o?OB;kwemYL zY&f-cDSARN1JMHGoec0N|j%So~gWxL8Bc05hh=}*tj?FL}3=8 zImfQ8^0^sQ##yCe{i>&vU;fmxqVHUC1k{x`u|!l(t3AkFC?_Z`(cPcZ`Z2SP3p`zl zDxPQNSIG!>E3T3A$;F`2&RY;20B{5?-)_+%qSG2mtQ%8s#D7l#y8bwN zQf3c3_Wg_DWQ8Hn*H%r#W${&;IeGi+Sr||ZB!25C%q1nwNSejCz@pEQW@TSpj&XE zRR7KT6EI{xc}R_d|KsS}C38IcD}w$Tz25Y|s<1%z+tabs)bV~{5k`@iUJh|PJ_2#E zxs>j)DmH(4ilkS|Y?pJakb=f(=Q!f+eA_Q&HeX^!e3cxQK*cCjZ0pWr)g$R=iuldX z8*2fbMB~`qM&|e3;<6Q=C>A5UAh^>=Jp|{|QI?zm|sGp84Xu)n@iqI%wfj?Ru$@Co!7#{IYaD6INg7I+A+a^N~~AyIZ@a z32XOWmasX4?F12=V@Ag#3Vcm06j{7*@+#utTWmBQv+(S~<_uQg&zos-mSJif5qIlN z4aiWR)I$zV;j{!_2(m8PPI&IdDrL)Z>8LGxrygm)ZqCd`LwvN6aOWrfK-Ze8_fSjy z`nkW2Wjg6k?k;!up2Drr;4clxL8sMZDYSoAZL7^@AShcKsvDFvE#JP$xetFYc6|AP zPpK5hMXRgte4kl|I8$Y@^GXxq;9K#HSNG)CGKAiZeDQY{Hxo87R$4cE0c%6ih61Yu zE*_pO_7dLtD27wj4zEw>9Ghw#oI~sa{@JKPT@MghPW^6s(SUTyJ-9Rc7EgV=K^)so z&6(ki$7U`0ZpodvR)F^|`3+#YybVb=S+GA$aVKWGufZ$vA)Bl5WY9iH4}|@P&kjUg zZW^s*)|H;n_sybq?D_<%PG81k!nw5*oZ|z3ZE-uM%oGYAbe)Dx`>e6^5VS;@QDNkm zU!%;q8^Nk@vy(Fveprk>S-Rf*T5Y)Vc!$qCT>%3ByfUB61C~1vImUMgm6mqus=ZDa zFoZenGPQfe;@G!9;~c3X2yx)zd>^$Vvyu+TV173L0LML|#Mh0=qs*W@GU_pAGGM@B zJggL6ocgpffPRt2S&4LP!7I!}I-|4xER#M|xEoc+D9Ms$M4;>Bd z3HDSMmm0N6c}jp2(7Iv_^4W-rAlS%~sn3B7Qq4N&h7ECeTWzVVSogo4GHog5)Y&r04++8vt zQXGfWos}Tot}orO4LxwWD<>QLwAKrG&?o&YAA~*|jB=QX=}VOG$KrU>*}!{45c)va zYR;~lX4+#>AZHR^X9@I!fWEzG^>;TLvb^cMBDCc}IaqjV+TD!a9&h%74{AQBeRJB= zV3)LnvAJhl&Dq=;`%2y&D0IE>W&MTuy+lz2AhT`vy4|+|L5UWB|MlGg;&6kv_p2F0 zpiuktm-Wndy43~Tk8-S5cP<%vovt13Keqnu^m=7E)E^YPk9~|E7}YPa8Q8TI#K8Ux zVzTkHFa3XP)i0BE-jBj(+cX%;{lIH21==|7QlmOlg zXDK)xz2TKdEURR7FAl=$j2S!(Hn|n4tG-sCDb7?#yRmwAJe82hW`^|!KJEu}TQnLy z(n*FAeI76!q&K#QU__Z|1$)$i|N1Yar6lS+;(DI8P);*eD5T;ZF)8ZY`RmMBFo%rc@$+nSl|o*RkMvmq%!lZRVJLX ziGtK7R(ntOUH?0c^mPt98K&CNH9WQG^i5sA-`sKn=-cPiI>0HkW=6YJ8OpD zbn~|+LdR<5uy=OSnN%H?A`mtK-4T6}zfw=FvgJC&!4w2dp?1e&wDtY+@IZuy9Zlf!~peC<#xgo8A)S;2HgIB#3EL2Y3=?7nJd1Tzx7JZ_p zahR8QeQ-Map_J+sk-yxj8a~kN-exOFc%Lcp9m~HI!2JD}vsJT8-+8ppO?kQH$}ya= z!@gCj7NvX>H@uAqrHPad@{OJI%7ci6h-NsAtJJW)9wgtTkQyA{Ff&zWM>77YXdWY>kf5SAk5T>klN|WU}Zcz~zgJnBSKx2B5>( z;~RD-@z)Ud2hkPLSeKkGF}(jEo6sA7fVf7pRrdA2Rde{GKcaSTIG9&GrrD8F)C9*6 zi~_JC)SJ{CnJ5Ye;Y@>15Zi24c~v`eaOXwp)#8*QMK`;I=3E?H_z> z*5=M97!muAFvL%uD=3Nd>O+1^a#s4J*r!`MA;=u&ry z$gR55P+Gxw35sqbQN=wo*7Y(Ao2YP=*Sz7uhbP!3*?5t9iRi?xQaK0TB9LOnJ+9+7 zxKamj{LiLKR_P}VJulA52iAc=ZjGF+%?YSo)Y(RRT3uZoZcT36ZrDaI&?DELVk#L{ zsa1nj(DB++T6fWh-XUMK)@M;SYLFz>20B;oTYu?Xo@w#cTJvT#D7EjADw^9pI2a6K zpg}@GaVTtc#3NsD;>L=^sxqqe>s}2&uv0J3THLPkUrv7xHc}^tbX=BMg zD3kE*m2466A1)GGwpLHTC#c28#hAgJC4L+L9kK{+*l33Csz$e zZ3jO?z%z|QP_u+nD5MQYp#SAN5Cl3{n`OTGZ@H15Ka zzTk9*#fa0D$yt=l1dUD&a6;fdV&BM+G$zJ^25H4}rS>WDb zMOK|Ch0Bi-Nt#81{{3}(YOC*~9arKeTiT5yUvRupy*ozgRWR{x zi9$B-2}H8&UBQogzVMVho^nfJ_TB8^@<3b?N##U2yNgxKCL=GMZ>VC3M6l<#66aZq z7-SPOAGr#ntR}rV*TS1dAU12Td5BRrPQ}CFQY|?PcQ!Ab1}_z zB$Sk)8QiXlwWczlE}&vDL?RbXjeYAQ_J3g3f#eVCB5JER!U6P)g5MhJZPrt7_D5?$t>w7a(Fyyk_f-FY$X1xRTrbiW zy^#NXtyckv)}BVI;Y`+5=$rkI<^=t8Zr3Q#hYp?f{sUD3i{-Pwm`!H3&#og0u8G>L z>&)3S8nNKi(lVP5Fk5lAfz#ifw?1*N$ByKI^D7jq->)td`~!H_%$QQDmaRB3$BZhH zt=|}IIZxRM@`lnJ-8v2M`Pzr=!{%o(t_~N*`xagUE;B3Lg6Rw!P@Y$%y*1lYWU$AR zZ_a1Y0A04t^fuAj9-iI9w_@(qyFVq-+q}%U$msEgkEI4lyOCTYdXIg7WKO2G`&^W6 zJ=12g9y#CiArl5XvDbl<7VC+PvVX2dwEN)m_ev2+=MU^ZTg-g}HAdYk(Ssq!l*{Z_ zFXQ-VG|8zXFS8^Lo4^~ssYS2eND)g4g_f@vR|R!K{MFG7`Mll%efsnYwbsxO(4?uo z^3`x>@_METzp;K@qVhvnU7zre*UjdFOTWLtM+>F&i#1w@DSz}%4=ru8+cgoO{gt26 z!omX7C;5+Aru)FG&G+leWFbm)-LR?EndA3j$zQg)Advp4g$~~m)~5A)Z4f+e(+r=tOd{N z5pwdzRCNjB_rq*ggw(!Ts8v$S^k})GvD*wif~Xpnau10`L`7@7-vM&16n(s7fyAVN z%AbE%a^;)@8r>Vg~eUqqKN=l-KmHlCW-;WIk1!|;z zb${>7O$O?v=ij|$ff+c2zOrZSx&Ep%@Yaz8xf$k!^#s4GYc2g3qbk$1pMCSjqYTPO z5{-K@>7d@0FI$Ro7XChuKxZQ0n!nm+7r-W(r`UFwM3XuftjPX+Ys1^<4M=U{7i-8pSrc_7TdFP)V*7q|`yE>Uj(Yj^Rg(mMr@i zVK=VG7it=GY`1QWD5pR|Umotmk;oBSft zCeA7RK17%9e#|b+z=t!yydo{(O(rf1`ad1^7uuD1_r9E|)%0$AmzuSBVgO*a^pzxV zOYk!#Rr)zzVr%kwBcexTtcOPzNb-;1(181s6P*o6R%2!my`R#p?tgOHj?c4p}zE1FA zFhbU4mc^J)BhFxL=&-m>{~^J<$h`NYBI9ZIaZ43forOG>Mgpk~Ij8?WyA%Q)EE?Ty zH}ABno#;T?_9Rr;Yk!7Scm~7ZjRfKI@GBY?6W#4HmurqmmtVxy-oBS4C}K6Fz)8hY z<(3=>3_7ZF(tc{Shg|Hg&NZ9r%V)kg_j@}l2Nh11boLAZoEgD!1itQ*t5@1ni@I7; zzV3LL<2s$+$qujQ_F0qt7t_brj=B}ryUITnnrDQ5i=r1T;k*ButLbj`;~?xk2D8;O zXmSs4>d~4VQQyqF-4Bg^X# z4C1Nv%D?W@05&!9YWu z2{4=<#o~XYP)n5}<|C|S%}1kfR&n_2711!%TUSzSw$Bc%x)C(}W61diF{?JHtr8vX z*y%I;qu2YOZ`=Wk(7}%c>p$cB*%Yfdoj}z$p;n?$E`kZTzv#teY*%M_)EGGd>%@Rd zdtysq@09TeWVm14v%58KDz$MQZmGmQOTUES9ci#fhGzVpY8r(dt5waj%nBmz^zM~g zZM>aL(yKmGrz%v9*bNW#0OK_|UCbVOpm)ntb=1{$`*O)fz;s>^C{>VwmNv@bS=`x#j&=Gi|}G=~4QPGq`(`~!>X`XGLqr&ve$v1FUYawh(Q zS=#AX{kvBmlW5dO%D3Q*BK`wLlLID%4LhAsq-LQ+@qfh@JAPTT3rWq~di`qs4mZlU zEq_cXkj>j#Aiu6gZ(TA&a5j6e58{3;Rw(89HISxkTG8G5oA}uA4sJqlpYo)zs{Ul4 z5fBK0r~Hu`k9gl~9ItjE+syV*+6fV`CQaljN7pt&g z5pPv>j5OjwGig*-t(Fz};2Rgix0=BDy4HJ-t*nPDkVm1Oe#^Fc{(@zdA@SPdTf;SV zETfE7>%SKR;BjLsK*EpF`H$m(2-QyT0q|vzR2w;Prw8~*&RK|trk~6{D;9b7kAD7U zG20kah1Sk&KONIr{{563 zWP06upY(DeZANmJ`tLe{q`@Kbzd`}hP;FxJA^e|=Fc#Y4(v!_wczcJ|dB(|~85coX z@rvo~PO0v{$vn_pA7-#oly)T=3jk=Cc&-nrtufzXR?k$)p%L+W^oKtl(if#%^RE^w z5|YOk`P-isCek^DN?36SVlBYcR^!8@MlRkx$9CF7+$x+k5@SvN9K9>RFQ+ z7m`s{4`Zv}21xa8C?+f?ySD4xaiR4c*Un(7cL1y#>7#*tEKXdHax-KF8VpCyPswoj z_2@~KzY3?3wv28lWOJvhE>Fp?9~tQ6GVaL^QIdSn2G3#Y3HqAQoU!|($ zJYlGUYe152H{WDtlY zoTNvJia|5}xMb6I5WxKfyx;t)Pl&~8X)3qrBG-HWeXz3+gz>L32FqQVJRbmg&UYXz zUZ=5WTrejaE4LNab}kncn@wp!Yz*sB)#^0TnLH^SUax?;g$kY4rTX7V|Nd|R6gZF@ zC|)`(&(Viyi#Q<)`Rb0mb1Acp^hiDorYi~&=>N_W1=|*m0&D+BtwxfZYVzF;t+vNF z2SnQ!Ppvj_o(zhG#vXV=z{Mpb3_uhd`2C<ChB|%s_Ypnji zTmQGT{qI7n|DQ+4A+B-Zl4ghVQKwy7el&`7RQ(+DcKuYU`cDO2-}|wjIKzV6Yl0qs zs&q$H7WaArPXg`_x$BdCck6z3*B0vkjAIA=`84O}&bfg9Z|#U9qtj_GP2T!lkqBXt~;SpdD{_IZP^PG*tCeLkrB5-*${o7wicG z?tw%1-(1{JLBAd_1dE}?Wk#QIa31Q#8zv(sOls%gD>QhuH zX3t-iA^BI2q1@8LMfCg?-G~8eExn7f|8_PQMV(>p`~|UWV`L$)^oai$BKn2(@O&Dr zR5!Cg&iRVMMtN}2{id{$QobO0l`-^?o)Pq}O@dC-$6v9ykD_GZbh`c?_~5lDaPjIT z4WB1m%s3u?qdmJ8o~U6dY;er01aB7{W$V?cTs~_)&@o&Ie#?cjV}-Tp=}}760<`Y_8sMGY`AqSxFag)LJwYzp`F>Az zEr|VApkdz-L_CM$o*5!R&0Es>XT3j`RO;z=k{_f;D;YG73nsnEoxGORjO&uSIeu-I z3h_ug-lQNg{)`pP%?7DHj}4E&{KLTEYRa+{EMRcCJY@dFa* zPF%*W@t~h~R|$A7jO1e&tfJBdeeQU=TApLXe z8jfr0_v$sRt@io+z#Tol2O!|{41K)6!XP3Rf=E=Jo}br)@Ie6=E}v&|L_`GcC?_t0 z_uI8t7$&{!`^!D37{1H;C}e$!`n-fF_a8K1^3lL3DJk;`3qMaGg(#hy>0F!R zVUtEd>g>?0$Hz+;h@N}6l`uJYp4?Q+*awU z7K)yj@7D#ntVFdv7=FKi>CUbL2X7R_R2m$9Kj%3D%St-=7+t>G^D6q0^F`$sUN6QJ z@_)baa3wXQJNZMwD9Fig;Hfcf0`C zP|i8F!6?NOM!Y<5#x9o4j^jB&X`IUSvcKt)J(7q1e!wMv_9T)i zL30JIpSaVPuMl3mQQUT92-b8NI-tx)UVi>`yT_wXg8CaV$xr_N?}>R5Zq(5`WN;Z1 zU49VP*Y=+g8pg&XKiI5>s?(=OBNno9XFp%u=L*sFCP}OGDc}Ks23pt+0=eA66{Rd? zXa_D4c+}2! z)WulIo4E~6m_}3F>)c>O0ZpGEwZ*6S`1p8weLd9l0+b{8Z@f#;_{!!ARWiHb7A~If zP<{TKwPd-o&_K6EM1c#Q70J@0k!!r8d497VRN!JS5@;kt=LyrQ`asfTpBQNBHD^)G z5f1&-j@C8%=_5ec!^4AO&4Bd{9^UyhqK_X16_qhX+9m;>4n=fWGlAzssbfkYOqKT3 zJ{>e+}bYBMxZt8P>`BuX#dh76th=|G5^f_@7W8l+F7M z+Pwbb3<&PwNHF}rJvx1;DuR&~sK@>(UR^cQtYQ-NfV=+d6i3IArjQ+HsYM_C5CN|f zzP-hfE`v)>e!5Dl187+7xF?PK>$%OwsFKH#avqfV-HLHcny8|-j1yx_ilwtV+QSdq zr$1KEc3RVD99>~5qj|IY(&6{K78S~kDFyKSehU?OU8Hx2fPc8wy_>#{xv!8ud!T<^ zH4KUN&7PZ#mJqwO|3rbi#|z{IC{-(@hg@52)~%kWb2>s15DI_P+ndYryX9-zxG12-%-UTO*j#kYESJ)3n!?_s9=!w^j$?Uo8@SpVnAx&sBOSS zfcAR1%a%!FTTV=?e)&l+t1FZ-)5z!R#Jn2azhlNGpKbSdl~J}Z1H~*!sliGkdWFmD zg#|*$z zhqHosmP^42-D?aj!)KwS8rzTLdnh5w`8?Z;s(0)Om9|)JwZqg`@P`Jk)XF3 zh_#%4f3p3s3f+7RHJZJk%gbRBZ26J*Fd|xie1?D7aYIslc7tcS3dz;bwTTwE&f9po zSmnAG-I`j_vdTM^Zv}x(yB!G@m?5J zDi0srVeWU}!T#46j++wfO~vF#S)=@X>CAV(fgASTO$}MU4cjZH?s=a39_5MFo1${7 zXZaPU5c}UV6luYzFrz1O?j9!J+BZFe1V?rEmQ&1{iPO@cjW-|T6IgqpZ#}Z{+n${m zRe5f4nJ2h!ORBBbqb4slRv&FAHz5@tZg&qaXD*8upSO$58UYV|*3aG>v_6vrRhN}W zI~NJz!Riso(xPL!bQ2$(F~h;((^Pjqr4XT}n|*{PCenI0{))NZE)N9c0rkh}eX3rM zu+yDiZdG3u%_qvu7It_)Z7(|@aw#6bqI@cYwE==S*#Rg-DyerUB+AD~d7)^qSLTRF zA_Br_UW&?)lvJ!gi+q2IgMG~tXRebMgdxo)@k0}DUu}2yLE`#u&UO1toz&W%vHW~~ zCbLS)NSS!5iki^UCi3Wzq~7^tCc6pw+3;?mw~<+64R!0+>&{j_+!4HGt zD-qhK+h|y_7RpEu?O^|ovH+A7-Q5fVKle|*c0>Y8@$OhE{VwMY-E%fZBN~V2vJ|q+ z#H}?_k^8QSQOQ3HZ!NL%a4G(L@M$FE2nOrj@jxM&xz7eYwB*yW-5yx1%?&52?gRr9)OUC`t2`_|=qdPdHG`jq?5nptCl(%R2*EuT#vt zZX}X_!J(^^xfeRo?D18vX3`;J%3zm63&f(qT7%-U08~|hT;0SQo9y>s%nOgwu$=&_ zOU64JZWnv@TWI|9((b5kSA+Y$LgBgW3J3i~FS{0Jq{##miT$CPYc0~I7h1t((YRwR zsk=Tu*X_}hb^~`VKAyIaVzGwmq~X!ss2#Hs;W)^8L7;;pWgfab-E4Vn*9mtOc9TaB zIZnnz&4&LHK|6A@^fSA(#uuFVl5bBwQnP!Fc^rGQw-SjCEVlYnxjI@>`N&h&*)15q z!=1OAh^zdCvBu+?c$H! zhh%L0=H3vALix0BcOy27p4Xf{AB)l;X&0W(&F( z#fLV`%mjHZ7i)oDDZ_$S`yb+AY~#FdR)T+1GNW=%sw|w2>c5k-eNNn`P0(a|WeR_y zB%`ALOgJZy-jYA0Pu88}w7q%sJ)_{hf2y=jg4=A*d>MUdY0;1Y>$-e8B&@?*`RcK! z-NvNtorp5UCEa*ie73`S>FJi;)8~#0I}t5FMt@YCTt}sPndRtSGk&*|w?%g7d~NUO zIVFAaB3g&VnPb-Sx_wqImZQHE;K^CzFbov&8;fx{Q$%5%&iBXGMUW9~IX7eG(Bebs~mHUQASQvmPL)pR|Z7w$? zqj^iWL+8px-VclAW|Fb4jpi?S(C~x;g;^AUs{X38^{;Mi%;6IqYMgHJQuCG_Ukk_| zfq$z%)v7B8UF=DXk~kP2N|8M2@piJRndWb%M-HuMTLn>HH81cn;Bny1%eJKf&pz?V zjUgSf(9ZzoE!8BpdvCMbvgW4FE0|gC<{VCwPrHo2B74)uIcL25*4l6xf1^)teKcKc zNHVG14l79{-05F0h@5Z01`Tr=&f0szQ-VWVoDzB&tF`&u62ljJLYouEx|uOKG4W+q ziR`?4aSO<>LS%Tyw}-HH8mx9B8c@R4Dd~&>Td$iKPCm?kHz4!~TXLvZW-^`)-B2se zv?m(F8y(q*GLOU8-RjMVYrLG;_R(I6DjWuyf|m+#5JdX_Ivo+&GX`_~aP;$MTx@c= zg2T+|4Rs$z$YEphSb?vrrcCF-m5@HOwcvsx!i6Utl{0(`BBMl5su$xK9 zSsfBcjQWi6+JH94NfnKliAZR@+4&PMxz}OTmswrI-T|G^Q=5Gj6v#03iN0~>m?AmB z_0}q@FK~i3P`T{CxQ(fi=#mhj8osPFj%j3L#{OTkiUuDY7{5l*ia7eN-evfi$+c}MRTi8R(%~MGy!0EF=ZBEhlSsuN-k!7*$@VlJrD5w( zP-Q_(R~>>BdaWApwH(&M** z`A$zbJqC(KGu{%tx)5~bgl{XRV2K1vfPo@mr!PgVJ^dQ@H)n`5tonwrDQN@j-;OY7CZiR(2x1B&gll^l#12f`+GGFE)_SlAh78L3!XqGVW>&a-we!AtpPPf+v9+|jcIvOlGCQdLuC~12(c}DPd?r;?OwzY0yt@TMx#Kxk>S(a%izx+z&+fXX9*Au);gw&cS%4*js5O7H;T*cp5g><&T=F(;r9BvYdul% zq}p6%z%{EXva{e#gu3#=o5LAwtgvpC_Fp@j`m(ko#GG!W2WHxn4hl(SIkq()5)t~Tk`sw>(IFaFU`^-%kZ#hT+U zK}E4odvyn7`O1r(@iTxZ){!z3ZgQG%XsD995hVe35wyB_Z{lpAVOI+};v}-}z6!!x zx*s@Qs(t5wDE(DvOUHLGm`3t0B|AA?W55}p#o7`L2o9Z1s3o>}trIsIsMHym!Vv|VaV;~9ED}FgH2v}_ZJ_K=B$q;2Y&Wwt zx9ycE>yfmbkvTZ69&749z;K+l3gdcKo^(!@t&XY-@{C^{J8$kw{EZ>&4D43HVi7$@XEt}6$JnLE?FNc1$#s8U z^goYNt2e)sgtB??l-8NfjneO(6UKc1Iu60_oBjpj3e`Y6R0TYtZ&ypB)gCkETArv0 z@jW$B(3Lj*S;~i;l`QgENhLjS5lJ4qXCbEa5#maKbS5q{<>T@^-uMdDMH4voV~0V>#A>N&uG`wlQ#Gk@6`K?5 zE1iaY>DnKBozq>9(({pX`NsZpQWhs@HT0?1&Y=*x`L4viX`mpew*$%w3jFbOE4s

M;F1N90%E7*-S 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 b h n d', h = self.heads), qkv) + + q = self.q_norm(q) + k = self.k_norm(k) + + dots = torch.matmul(q, k.transpose(-1, -2)) + + if exists(mask): + mask = rearrange(mask, 'b j -> b 1 1 j') + dots = dots.masked_fill(~mask, -torch.finfo(dots.dtype).max) + + if exists(attn_mask): + dots = dots.masked_fill(~attn_mask, -torch.finfo(dots.dtype).max) + + attn = self.attend(dots) + attn = self.dropout(attn) + + out = torch.matmul(attn, v) + out = rearrange(out, 'b h n d -> b n (h d)') + return self.to_out(out) + +class Transformer(nn.Module): + def __init__(self, dim, depth, heads, dim_head, mlp_dim, dropout = 0.): + super().__init__() + self.layers = nn.ModuleList([]) + for _ in range(depth): + self.layers.append(nn.ModuleList([ + Attention(dim, heads = heads, dim_head = dim_head, dropout = dropout), + FeedForward(dim, mlp_dim, dropout = dropout) + ])) + + self.norm = LayerNorm(dim) + + def forward( + self, + x, + mask = None, + attn_mask = None + ): + for attn, ff in self.layers: + x = attn(x, mask = mask, attn_mask = attn_mask) + x + x = ff(x) + x + + return self.norm(x) + +class NaViT(nn.Module): + def __init__(self, *, image_size, patch_size, num_classes, dim, depth, heads, mlp_dim, channels = 3, dim_head = 64, dropout = 0., emb_dropout = 0.): + super().__init__() + image_height, image_width = pair(image_size) + + assert divisible_by(image_height, patch_size) and divisible_by(image_width, patch_size), 'Image dimensions must be divisible by the patch size.' + + patch_height_dim, patch_width_dim = (image_height // patch_size), (image_width // patch_size) + patch_dim = channels * (patch_size ** 2) + + self.channels = channels + self.patch_size = patch_size + + self.to_patch_embedding = nn.Sequential( + LayerNorm(patch_dim), + nn.Linear(patch_dim, dim), + LayerNorm(dim), + ) + + self.pos_embed_height = nn.Parameter(torch.randn(patch_height_dim, dim)) + self.pos_embed_width = nn.Parameter(torch.randn(patch_width_dim, dim)) + + self.dropout = nn.Dropout(emb_dropout) + + self.transformer = Transformer(dim, depth, heads, dim_head, mlp_dim, dropout) + + # final attention pooling queries + + self.attn_pool_queries = nn.Parameter(torch.randn(dim)) + self.attn_pool = Attention(dim = dim, dim_head = dim_head, heads = heads) + + # output to logits + + self.to_latent = nn.Identity() + + self.mlp_head = nn.Sequential( + LayerNorm(dim), + nn.Linear(dim, num_classes, bias = False) + ) + + @property + def device(self): + return next(self.parameters()).device + + def forward( + self, + batched_images: List[List[Tensor]] # assume different resolution images already grouped correctly + ): + p, c, device = self.patch_size, self.channels, self.device + + arange = partial(torch.arange, device = device) + pad_sequence = partial(orig_pad_sequence, batch_first = True) + + # process images into variable lengthed sequences with attention mask + + num_images = [] + batched_sequences = [] + batched_positions = [] + batched_image_ids = [] + + for images in batched_images: + num_images.append(len(images)) + + sequences = [] + positions = [] + image_ids = torch.empty((0,), device = device, dtype = torch.long) + + for image_id, image in enumerate(images): + assert image.ndim ==3 and image.shape[0] == c + image_dims = image.shape[-2:] + assert all([divisible_by(dim, p) for dim in image_dims]), f'height and width {image_dims} of images must be divisible by patch size {p}' + + ph, pw = map(lambda dim: dim // p, image_dims) + + pos = torch.stack(torch.meshgrid(( + arange(ph), + arange(pw) + ), indexing = 'ij'), dim = -1) + + pos = rearrange(pos, 'h w c -> (h w) c') + seq = rearrange(image, 'c (h p1) (w p2) -> (h w) (c p1 p2)', p1 = p, p2 = p) + + image_ids = F.pad(image_ids, (0, seq.shape[-2]), value = image_id) + sequences.append(seq) + positions.append(pos) + + batched_image_ids.append(image_ids) + batched_sequences.append(torch.cat(sequences, dim = 0)) + batched_positions.append(torch.cat(positions, dim = 0)) + + # derive key padding mask + + lengths = torch.tensor([seq.shape[-2] for seq in batched_sequences], device = device, dtype = torch.long) + max_length = arange(lengths.amax().item()) + key_pad_mask = rearrange(lengths, 'b -> b 1') <= rearrange(max_length, 'n -> 1 n') + + # derive attention mask, and combine with key padding mask from above + + batched_image_ids = pad_sequence(batched_image_ids) + attn_mask = rearrange(batched_image_ids, 'b i -> b 1 i 1') == rearrange(batched_image_ids, 'b j -> b 1 1 j') + attn_mask = attn_mask & rearrange(key_pad_mask, 'b j -> b 1 1 j') + + # combine patched images as well as the patched width / height positions for 2d positional embedding + + patches = pad_sequence(batched_sequences) + patch_positions = pad_sequence(batched_positions) + + # need to know how many images for final attention pooling + + num_images = torch.tensor(num_images, device = device, dtype = torch.long) + + # to patches + + x = self.to_patch_embedding(patches) + + # factorized 2d absolute positional embedding + + h_indices, w_indices = patch_positions.unbind(dim = -1) + + h_pos = self.pos_embed_height[h_indices] + w_pos = self.pos_embed_width[w_indices] + + x = x + h_pos + w_pos + + # embed dropout + + x = self.dropout(x) + + # attention + + x = self.transformer(x, attn_mask = attn_mask) + + # do attention pooling at the end + + max_queries = num_images.amax().item() + + queries = repeat(self.attn_pool_queries, 'd -> b n d', n = max_queries, b = x.shape[0]) + + # attention pool mask + + image_id_arange = arange(max_queries) + + attn_pool_mask = rearrange(image_id_arange, 'i -> i 1') == rearrange(batched_image_ids, 'b j -> b 1 j') + + attn_pool_mask = attn_pool_mask & rearrange(key_pad_mask, 'b j -> b 1 j') + + attn_pool_mask = rearrange(attn_pool_mask, 'b i j -> b 1 i j') + + # attention pool + + x = self.attn_pool(queries, context = x, attn_mask = attn_pool_mask) + queries + + x = rearrange(x, 'b n d -> (b n) d') + + # each batch element may not have same amount of images + + is_images = image_id_arange < rearrange(num_images, 'b -> b 1') + is_images = rearrange(is_images, 'b n -> (b n)') + + x = x[is_images] + + # project out to logits + + x = self.to_latent(x) + + return self.mlp_head(x)