From ab0ca043768be6dd6473f8f806fed455f7796402 Mon Sep 17 00:00:00 2001 From: joshuakrueger-dfx Date: Fri, 7 Aug 2026 15:31:00 +0200 Subject: [PATCH 1/2] test(support): type the message into the filled ticket golden MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Handbook block 251 describes the screenshot as "the filled form with the issue type selected and the message entered", but the baseline showed the grey `Nachricht eingeben` placeholder: the message TextField is uncontrolled (it drives the cubit via `onChanged` only), so the mocked state's `message` never reached the render tree. For anyone using a screen reader the description *is* the image, and it listed a form field that was visibly empty. `pumpBeforeTest` types the same text the state carries, drops focus and lets the InputDecorator border animation drain, so the capture matches what a user sees after typing — text in the field, no cursor, `enabledBorder`. Two assertions keep that honest, each verified to fail on a plausible-wrong variant rather than on its absence: typing a different string turns the first red (`Found 0 widgets with text …`), and dropping the unfocus turns the second red (`Expected: false / Actual: `). Without the settle the border freezes on `focusedBorder` — pixel (20, 310) reads (25, 136, 198) instead of (226, 232, 240). The handbook HTML is unchanged — the description was already correct, only the image was not. Closes #896 --- .../support_create_ticket_golden_test.dart | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/test/goldens/screens/support/support_create_ticket_golden_test.dart b/test/goldens/screens/support/support_create_ticket_golden_test.dart index 0a1f7f55..5f2b88c2 100644 --- a/test/goldens/screens/support/support_create_ticket_golden_test.dart +++ b/test/goldens/screens/support/support_create_ticket_golden_test.dart @@ -26,6 +26,10 @@ class _MockSupportCreateTicketCubit extends MockCubit /// Stable name shown in the filled-attachment golden (no random/timestamp). const _attachedFileName = 'beleg.png'; +/// Message for the filled golden — state and enterText must share one value so +/// the snapshot does not show different text than the state this golden claims. +const _filledMessage = 'Ich habe eine Frage zu meinem Konto.'; + void main() { late _MockSupportCreateTicketCubit cubit; late Directory tempDir; @@ -109,19 +113,44 @@ void main() { // `selectType` sets `selectedReason` to `other` alongside `selectedType`, // and a non-empty `message` flips `canSubmit` to true, so the Send button - // renders enabled. The message TextField renders empty because the field is - // not bound to state (it drives the cubit via `onChanged` only); the - // enabled button is what proves the filled state. + // renders enabled. The message TextField is uncontrolled (onChanged only), + // so it does not render `state.message` — pumpBeforeTest types the same + // text into the field. State still drives canSubmit / the enabled button. goldenTest( 'filled form — type tag selected, send button enabled', fileName: 'support_create_ticket_page_filled', constraints: phoneConstraints, + pumpBeforeTest: (tester) async { + await tester.enterText(find.byType(TextField), _filledMessage); + FocusManager.instance.primaryFocus?.unfocus(); + // InputDecorator animates focusedBorder → enabledBorder + // (_kTransitionDuration = 167 ms). A single pump() advances one frame + // with no elapsed time, so the border freezes blue. unfocus keeps + // cursor and focus ring out of the capture; pumpAndSettle drains the + // border animation before snapshot. + await tester.pumpAndSettle(); + expect( + find.text(_filledMessage), + findsOneWidget, + reason: 'Message TextField should show the typed filled-message text', + ); + // Field focus only — not the border animation. primaryFocus stays non-null + // (FocusScope), so check the EditableText node. + expect( + tester + .widget(find.byType(EditableText)) + .focusNode + .hasFocus, + isFalse, + reason: 'Message field must not hold focus (cursor / focusedBorder)', + ); + }, builder: () { when(() => cubit.state).thenReturn( const SupportCreateTicketState( selectedType: SupportIssueType.genericIssue, selectedReason: SupportIssueReason.other, - message: 'Ich habe eine Frage zu meinem Konto.', + message: _filledMessage, ), ); return wrapForGolden(buildSubject()); From c9841399d0ec67493854acd246a4f69448981cbf Mon Sep 17 00:00:00 2001 From: joshuakrueger-dfx Date: Fri, 7 Aug 2026 15:31:00 +0200 Subject: [PATCH 2/2] test(goldens): regenerate the filled ticket baseline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rendered by `golden-regenerate.yaml` on the self-hosted runner (run 31171522710); these are that run's bytes, re-committed signed rather than left on the bot's unsigned commit. SHA256 verified identical to the runner's output, and identical to the image produced locally — the two toolchains rendered the same file byte for byte. The message field now shows the typed text, the border is `enabledBorder` and no cursor is captured, which is what handbook block 251 has been describing all along. --- .../support_create_ticket_page_filled.png | Bin 30886 -> 32648 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/goldens/screens/support/goldens/macos/support_create_ticket_page_filled.png b/test/goldens/screens/support/goldens/macos/support_create_ticket_page_filled.png index 945e988c393714958bbf27558142d95e35cd0b06..6b311c66bcd237a30f4faa4715ae292233363422 100644 GIT binary patch delta 15623 zcmdtJcT`hb_bwbn<%pDXjv|VJ4U~>b6$qeM2uSZ;K?pSm0)?90@S)TdKP3}6=D>~E1 z!>UkprrDSr4dv5!;`TBAraxnK4hylWo%rkSop7#}@jtl&R?$>{{40~v%x8iYx@$JZ ze~LfLH+jnwzV&y`3za_(tGSH^L;R*U9S;v_h6E~iH>>*iY^MwlKORr@>`EDKq=$^5 zut`#mfnQnX7L_CqI!QhvaJc2ITeqBkraztAfp#h-8VJqNN*T#+b+@_|_dZ>^bjiTN zqWD9l{SqyVuV)yKUR;t;D$z9!!4k~oJT-@0jJn-hHq>WHj(S-hV6@kkEh6fHx2Aa5 z2_BxzpFf+iZG&F;EN{`(jJj?%sM16<-fA~7&ftcsb7B_~ElxQ8#~(k_wqhpB<1OnU zV?!|UIb$T7N|5BvzCTZJ00Ltky+S<6$G5WJ%X<8Hzl3tvWk21eKaQqHQEMJ%H0&;l zxJsmU zl~{corgc;+adh_($w%WBlT2vnVS+kUiSuY;M@eLH;E|zXr_(D`Tr`tPko&bf6`wGT zckHUub1kF4jK1YH{erw|tB_FXrOUTZo_4n&igLiTkFBcyqDH`5Q6kM$vS8a?Q9$E4oe74^7LvB7m_61RVnStY1H`_Zdyd4!KkeAH*eFFUM}+`PeuTHSV@($tN*=4&#ABS&BXmiHCK}kSoBW zmK;?*CRl@Axru?r@)o+*it{M0SqMt*A8k1VYhTBj+WDrynsi)zg+F5+!eG|NKbjf_ zUOLQ-WP|A_98gOtMzup8y4Q_8@MMBje_lkcw*`9sC}o9R`;!d@V{U@|zb={)&eO6mh%JFkSqN6U>ALln@In8d1HWWdQ~$e+xMIHn!0JL4brKwW_3t+F!`xjTxx2G zwDaHq+5XpIUyGy7zXde7`Yzon8YCQWD@sc0TSJnnEF64_zbQ0|b5R2YP5G;_R5&70 zwEs(JM7_~?Pu+X zzJT3}T&GSAIHlS_kLmt&OWWEOoAm|WJe}Va8sbJ-_t^Wh5mR;JahHF4K=dH@8ijK_ z{yRYgMVkbFA6NR{@>W3^Z1 zivqs?x>ck|UZrvtc;h%0 zN8Lik&nVvt*dZ0^?iJBYN|sRdcdv{6?L{KXF7$Ob>O3j;zZ_|Y=V?%yp{YCl^N*-Ji_#8i2Y`oJN|uKwcCo~ZZ2xJEae z{>;O3lLJ?>x3`C0m@y{c+?1yi(lyDeBtPK{Lu&lkIfi>r)b@g~wL4 z^}5G{xFBFSEF5uCOaqVUr?|PD3G>$(%V`m)(QWNQ`X}+G1<;OkqwiO`SqINZlS#7a zUm7c1O%kdsfOMVquGDW!xsZZBxOtnEbgZ*|o1WWg?$zOnE%LX>MDLLDfS{P>Nic00 zLoeZu@6sO)j;EK5)))&;xntU(!HFL~k1!uSgB)c(YMnW8N|c}>(fC`4{=4I)u;X4h z>kJ*lJjS*dnhR-4oX5Y8t*7x7O73M9P#hLpljI)N*ZC~CD9(A*ZcWA&)II!sK{{H4 zkRBn?r!aNZz#%hmWsiG{mQA1UC~N2eGvqT?w!KoMtxW$?33ZLF&Mgf5CD2)HY!#GB z**=>NJYrK3lbBcr9ZV?0Ta%JeyczV)G|xM$Gk1Kx99E@_<9Xzl&4QFyS%~lrExhD5 zdukspF*8Y8a^P(6zFO#um-E%eRs*#`Xy>i>#^kjuZ9;yOb7`Y4Jix1O7dv5K;`fQq ze;E<9HhB`VO`V=r2JvQVSzp`fhep=cptZSoCt23%zIu51c(iioAZ}HYASO%9f8vH0 zQZ6!NEOUTwLu}?()AKsoH}fj@9vfo7jv71u;09yHH}!K3PMp`o6E!&Dlut@Yl=7pT z^=i>d2k8k{1QwE(+-}@<2f@TA_aF!+A_|ET5~d%spO(6l@hAgLicj<=^*2i)S9Z|T z>sQ~%UxB0ywUzhlf17<>BpX{9X=z2F_>^vIB#0OFG!%D@R4;9fZA#1&cg6?fRV4=V zxvh18dpp-ddB7;9uGW_+xSh{%YdCnoOxYP6C>fPXhoCo~Tz9XNMwz&`2QPC%%D?so z^L15S5n4u%AD=+zp-`nY{8x)UeLwi}_QQt)v9>l3ToI~Fe3U-7)2L=@I*caIB%U11 z47EBZZ3Y6B2_~2pimF{W3P1QorPz|4;9K)k-C2`><3>`N{|cRe+Zkq#>1}Z?GpPNi*(t$g)HyQD|+lb*!g+9fc$6+6A4s8uTkF>WyzSW~~AFp<~9w zSFW;XKM7hw75kVcifMSsweX@1;fp@mQzP zhTfp}2??`|#VAw0>VMk+dE1?#Qd!iMb4mPkwy}JU$Jse|gZg|P@N|$dxOd+nC zVUiCH3CXrHHcz7@FMQi@cKb9u#NB$_?VM+a!XwIQBWk(X_3J%O{e^bbOJpTn;`(mN zIC2RXqMp5d?wq-`A=+zoc5m3G+(Cs-Gi$K13nc^OSbbUGZoqc-(nI@Pej%`blR3gC zxvUade*QbpS=b4^Ifyhn2r9P9(x3WW<+y1Nj?7e;P@^KX*c6l$!s>K|* z%5(x$GF97O#Hk#!aC#iZ;4?b2lb} z#d!FXRV+0?5UZY~dFap~ct@1aM1qj8a4&I3DLsl;VgBjP+DsR5AX}-;5@G1 z8pRuzn27WW@mcaoU<98Jrlw8}*W3B7 zRAhctar^E3N6jzq#eT0NFU7wrx4yhu+ifBtDhe6+?-^o46M5&`F}Y!(q3tNF@m}2x zq}QT@qIhF82!$FsgSK(pCk-kC{OPrh`1K*96+T{9ZH1EF!T!f|s~e9$-i!7(q#q1A zcrOIz+IOajA?jRrJJY-w+V-cuDIbYRDL$f17lcM9=?@B>(}c^Y3#7+aqsY!Yyf#~Q6OtIveUV(mV zOk=X^Xw3<>)(D2hm0OHD+CfqLf3%CxTlL1r{FUctjIH|czR`pe(eTWW5Eu!eZ9G?r zHZt*TX*cwcPpvScD_tnH!rueVkkI{$9lw0S_S2sQ-?wPUZsxeI=+zikut3A_th`H--dDiOLQi7;K5;_o@lTb` zRJgvFjV*lX9H}8bTR$;z+CZPUbIovVgXG z7BwmN_Wj%Ru`xwE$ljg@vTkb=c&^Y+Y1Xp8`e4p;PO|&w%QwkY5dEqA=u57gPW7EJ z>0VFwRC42Lp#`*5Y6*N_2(hRK&gOPFR=sfhBW_0=rt?y)_t5?rKg8iHs^@DZrKIzrsO}z%%10Gpa_V@2sKtT~Hj}I196nzjoezq(!l8WAX zod+M)^O0$Myr5@Gwd+t%vez#9%~mDPlrx#|;RCRVp^WVQi;lI!k@fEDHi$xxKS*uU zFOI#0ipuKrV!Q_NJI+1718}w2x)vgyZ|x7Z6Ds>rnNhsVkb4U#fUG zDlmRYd2@{J2u#8Zi^B5-Y&ar%c`u_j73rVxJ8Cg2wX3%nup80WvU;3cmS|<<V=6X!hl41vjbCtBUvnKfUXx0b*c>t?migQ(Nn5Xsgp542~!J0}QWcMtF7m(Cg+ zn2{>~2pQM$%pbiCQ3E;1KUcNh=htoq|D>>=m3G>CuO7CK)^`oO(yhE73HA1F&-b)q zdc)(3s-E=OcT$7XtRUNB*KdludsyFyJ~0@2sEOTFF5XyLw~06^pDP^K{K*ECWDG zc@DV1{pfh7pHTW!gAw7Mb(Sn;T}kfsa^lG`?c!H%Ze_+W0(7#3avvQpr_R8f$i2ui zjc-@X4fc)*#>X4BsY{QPqLAMGowCGq--!V0vIg4AOP7=9<9o6g3w(3wKr|RVoxu{< z;9Dl%;F51JqP0KUXe})+?+i*b$vg-+4|EF}w4m=``${e4jd7YFyeHB6=g`}G+>D~e zF9E~DjjZaRm>xX7IqfucdHB9W<5p&p%o{>}kFAu`*6Hp5zsWtw02l3qzNllj1mdB5 zs+M-Z{`n$fk)Ty8yT_0HIDRbAOfs%$@|-6(h@D*uZtiS;Gm~|ns^9EZYs!8Wk|DI7 z4@&1$O39qOyb`CbpfYi0|K$oa|88-@lWX5PMsx-h7C^utxK>LJXr;vmMWyw(#jzS$ z_oA_wez1ihH%W6H4@}2?6Ake__hdw}7m<=W$Bk)+C^E`Gm#eJaIvWQWM z0%9dTK0arD-hsS0tZK}TukUJTVfGFM%+Kk-CqLkiUKSmKIkEf?w9fxX^!zVBf&OQ- z(EoDu|Nn!b{|PJgzfn94`u`^E`QY=WMdZ7_nQfnPScpf8IJP+WR9WH@`QaLaqm#p1 zio(**;fO*IR5aK@MqfL;Yi{Ur^)&4BU^uVVks+;+hrc43U`}BWaWann`cF0{CZpN~ z8yF1ZiOcyMa^k{im*8Ml){hGhwVq-lj>6*P-&>}qt0Wf(kDs?#jGZiebdjk-!9rNr z=O0RPkTrtWL(Y=*IL8`dPYD-wvEtFI8#gwC3>9Gn^D`gz!d*`PuG|nqVOP-zA z6Q=JIrZ0{?dCpcEA{8&K-L&cJ_NfehM9<-e9oEYKpOFe)Yaq+ zIme-i>+#-u@y5;z75trPH!UsYF$>kMhhYbuvmIYHH#W$CW$@#(_9aP!YM?-(=rHWu zWsHmfBU|zdiHaJ;NCAd#uRnZZuL;$GU+uC$d zD66*3(k&!YHB_mt_G8WLwR2TIHqs0cb3kj9v6rJgE7hGU~8d@jQX@|e`? zKi=Qei1DIU4}S0N)^08ZkWMP-8#cZalboD)lfG}%*oDc0G2;?1a_4RbNKlvX#mO# z5=PWL{{9fr`|B1rA|^NRzd<)C_|QsGOZE&|kT)Sj0PH$z{M>SnczoIn-t_#sQVd7G(Pkh{f9)^H5n zme(Jw^#SU~*fcmViWjaN78YjgH;%$CW!&c*lnqNsy>m~dprRh2x*Hq-P~JP;&8Wd& zzdkln=bgL~@as{v%ZGfRL0w zwcJE%0q^VG6mpAV{|(D%Pt7D+7Dlje>Ma?SIMowj?w8ik*G`@~wHQ&>kibv%Z4XPk zauK0ET&oZ7QZi;B@Ao})y*qdANDJ`dNu!WPmr?1bgBxJcf(S}YRrizw{-E7i&oRvF zpx{Z`tN=`I*bjc1QOqN~dNMN7dmEmEt?TLadQew!wRMwq&h?gfe!v4Tq1}G-2T_LS zSdX*!e|wWG1&F&=gItU?;!g{7OT4<8;6jR0mMsfApOg+By}j1%!~A*uGqjZ2Z5^cF z8|l^AZ)`|8_?Tg=7SkXKFB06JwWJ;Y)L-^H*R;fFO4@M2$HQGADCRvp4Z>_*cJh9&YrJ`^A4ZW zFD{OkBs0h$dy?7A>}-K;D@WaQ%tdefYuGR8tKN`)3|8)(R_BL({A{qYb{j;^dHd_( z>sKBxV6gKXhoQhV!byOhhyUb6A!|N8Z-Zu|~xjprE??4ex2{%IKOeiQ=@{c#i) z^7OxOkzs^1_O2xg3sx1Se;3C!3qT-EvwwB*stC6l*W2&qpW}Q*kC(9 zS}W0f*gsTQ)I(74XKp$y*~LhCxHx!B;S8+(362PIF8CD|_3?{JWxxIWF?o}Ey>G5b zN9XZiQ_5}WKaLrgsD(%r9SVsx0_{MLjfj3ZMUz`k8(f#y9j{GKa|>OC%1kuRhJK&0 zCmTw`bR>p&wMYu@^NwcRQle&(D!bLZ^T9%fyJFT>7XCnbL>yH7LLRNS1&o{kTTGBtr$(U zk{DdN?~WZ6Q$7wrYQyXt@}2ormGjT}d+^{ES#B~7MQFtBIazZ~&&@dl^35B62B!7r zVO99r3U1YDYraQaORIEAlga(ih0}{qBO}@V33s3|2up!Ek%QUt;hLaH#0lwFp~;XF##Ka1i6P}B``KK;(IH~e(2GL6iherHVVuT& zxti6Ub6TA#H#a}podX}b;mHZ*qT=FO(eUl}hnS;X#EZR`20$tDq;92d$!pwyj&~Bb zXO2eKC5W14nuFo_9dds~o>#Vdb5?eMgqIR z9wl^oF``2p_W-bYT){`3m^Be(mBCU=EHFw=Mt$mf=o>lEqy*1m0A?!Xe0{D$PAdwRdy@sKYpD3<;$0? zK5bk-o4{d^!te3S+UIcK^nz64-}i4H3s8Hs-5#tM5wOdel%ajFpU;Z+w4}B zhG>DV#5zMDc5$q>61_E_;X@kXeS+r*Qa!0rg~WhkgBLsn*HTue-6s)8>%LCmz`&ceciSwmngau_U_ zF%zhg3#0^rBlb5!5YcL5KumxTU+W(CJG39}#kvgE;F5izL+?-3vnx1|P7CQZYaj4ca4=l`k z)D??}L2oY?gdXR10tdfHD1c(iQI8&F@CB~j61Z|jJx5cJzT2u?<-cj)U2#M8C0kDj z6Ei;onEfEImQoOL{1Om)7^NUWp7#0fsqf#_@RY@(k#gIxOP4Q4=Z}Mynd$oaI**)t zx&cq&ac=Rr=1HAO`%dAYRlsQ`@C#hMx-Zh16!PLwdDfE)zO@!3ST~G}+judEnZh@2 z=z%1|wJ1lb>JtvKAi7UiJRGZbPGl$$gx&W>Bq1PF_jFgQbBIk#i2rhYksg z;qFG93bS|A$s_Fq z{ZnipHHEnyVy0K2-Q>qP+1Y|uuilTnqIn~M<;W33hfC^eYS;LTxnIcnuL%w6gX9>K z4S<+B20QFhF&a(k(pefTGX_Qs5}3Ud@i7wVJW}OoR&En|-HWWoAs=S$OJ3|}>_xn8 z{*onnA*W*41soJ1R$Iv*`f7*hy~}Nx%_U+qA9g-i$G{*?-gl)K3F)ncm4pcKTGGemlFi=D9hV$Qt zXF$JO-1_`t^lVj1S9KyJv%NO znQQv-;nP#%7W0+PJRnqoG7C7OA`8~`jAONZCl654d_i7X;hI>TJn%PGR@Pol<%0_d zh5^mdZ+gx;G(9^K9v;4N_y@2=0R(k_XXnLjb@gzN`|&c5rInPdBDf`t?%ji4{xzg> zh63yaM2iwD{6A5aU3To3W6b=|4Db%m+ARS8gVtNP?^_1@_|zDcS(P*d?HkFTu?A59 z1Vp_oXP&5grmfp$jkH1n!GH=JCJCe}-9%#85D;(#=Xf7aj6Wmg@Rompk&r-? zi%&=ZUM;h*RMuEpb)K2biDV-WO}E8LdrYgP2CUS|?~HkZCN^ME<1m;q5NQPk1ZMI( ztbn2O8=k(apUW^~8P}u)3G33KA;`p3G(q@&&$&*~GLWPQwR34j{+qLovp+tta&is= zO{9a{Gc*0!R*4-sAb%8WQC=4pi!w4KcmYLk;YDcJc6{7mLr_48N%?JLs&@kN0|tYs z^C1<21LYYsJbd)%;>)wBpS}}8dEj`31O?TAr|aW({TWWo3)kC0EnN-dk4l2_}ma2!qr!0Dwv^NG7D=%2v<6j16CMo-a*< z2T&ZG@f{0Z!ph2xBg{LK#pYP8)%wk-mD)KzTj941(1M{K}g zQ&ZFMSJ11qg+1i;p5;ApbxcdJ1EcxL_is`f$c>2p3)Ko@|fZ{xGH5!I^wcNOm!vtGb z+=V|+ERsFIOOW6#POejXw6sq!oe8d!H&34aMeXPb{F`kr)TeeH2{_UxwPT=y6PdsB z$I;|YZ6=!0%ruuj&H<)Uuv~xX$ga6vB^q)s(0*AYv1g!s195GrI2dvwTrfHF!QX@O@Y!`(ep!lEB7+J2bn9cWlAQTl2?_V(>>I{@ z4(Yv|)7RCH!RkMQg;G^YK?NnmKmXlr$xPo0BT`WR>=KT{o?BQ^N@w!oj~x!!{mWMy z)o%I=blwN$Uh3)5xuy#Ujyw$(Pu9o2p8y%EuM?svQ-pDWjFeXnAA!w$8bjSo6~CDx z&UH$`KxbMfq_gneS)LZNdP>D_o;6<6bxIRr^7S8P;BIB3fZ4R>< z!%gt%hq>Q&IB}*}$hfAzfc?1>e#MOQ<&n`!ul>l*cA?**Ot8W}xuM)P)zQKL7r&AL z^P;9}-iCE))JMrFt@j~W*twm9l2dr4k2x>B9n74)2h6TLu#7Lwn}u9U-W0-qWlP$t zWTIBi8H#xKx5Gw&-l$WpuGP9+u#`C3`jm{AMrT2MT_7JDt}?=VbgQ!h=b&^bB+JgX zR@#PQPwEoi_P11Gf0=SA54DGm-JTl_GG&Jmj_+@h>d48O!dvS{K7+@v5xDALw={_& zSP0tA5}o!lFp{#?E~c62J7ZRQAX<(FbiC zZ6wzEU>5A2Ij4v95kF1L?jLY(REo{n!|h^@Zm4p5xA8K1@sPfAU$t_;cmX&qr~Rfw zImJX{5${9Nk9_OM`%$8)n4zCVGidnf_v&ZIJ*;l426=cZ*qT=AK;Exd``tz>tAxd{ zT{Y}-R>ja*s^tH}2PHr{%XsG1(-R|X-3MfaGmrvk?r~B z_<+Eg37y8>-|v^mU2}N<9}$OFhf?)#+}o#9T8e@yf2t4quRrsH`=e6694c-Xb^qRN z12HC|_<#Mdu~VrQllkR<%VD$cYsYB5VeG@37UFyRrd|U=la%QsAJ(e)gEJ|;7j!Td zM6EZ^T|Mf?DojM>mCG}Dj((WHJfl*p{2n8#op~-rWdAr6cAL2vUFBQM2hR)TFVOv{ z2|SkAkFTX*UHFwX+G?s?&J`z$KhS|zKmCDOQ6QXekedYuwmq{KJgZFLr0?|k)Cx$m zRV;)}rb^LkBndaK{MZZ(>DR`3zj?Z`9rNmITYHs$A1u$1>4^AKogFgOt_thICldgp~kuS7R)pz z7E(tMJjU|Aop55ZasK9J^*&+ojh&N%&j;kgZ$G!+Sxs2yW58=CCGq>$VfUx@r@X1x*pw?4Nfg;E0W56WZ(q}exV z_cCe6s`eHVx^(YVMs_;sI-W1(I5ku)4%fD0ektxaddHmeB$`HQ7gzf2Hm6XjkyKnK z!@2X~7H0PqtEMUfr`{zfe`Z7M|F|op0G72hCD`MLw<3KZkpHO9roaL07`^ zeLnLMpPMPDyP+)K_0SQ`-GlKdVu9s8Wu+v-17B~q(j|H6zB;^r__5;#x2GhRm{qSgp++!n#s(%W6LaetJ`0N+nhduBI{8W2Qshz~IuZFz3Wo32 zJ=}nt%2tl2%QLK>8kyl-%c11Ba_&2$C7ir<*?4es@HkS0gdn6&=cFOmZ z#;u-0xbR2Z$-f@!1Md-#;m||9(`R8-Z@}X^%sktx7yV8p(mvW4M}0d;xRhvKv1fXc z>s0zQ^@v%$ER@u|m~efI%0K)hPrM>)>~v+-u#CYRBUf&31E1pkc#mBXPMKhgGc z)QNNtF6$fB`=06b2G(O129us~tDYx674vq)U8y$88=O;@Pnp4acy$aWJ4v-L!3ap* zM@*D%E>}XeKLd9xfjV2EGF%Fvf)Wj6)EQX*kA=?L(yk_>>UqIC)$+%VA}SP!l!ted z#?9)N-XozeheKlT-g&FJv!i&|H-$?dsk!QXip{Qql^5-)Tc~7F8&*)qL@>Vv!uJ!S z$d!d2i@$DJVRk962;k+X;Z)0F`u_vZ)*0}u5W{jFrsc(eXDTFr=343%fcn&+EWe#KZv_pcS>(R HeD>b}{#ies delta 13848 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 SvJ?XTKvgs!6)Qb|``-YgO6!jR