From 1885a1086172a61afbf97b0db01ec70927401d49 Mon Sep 17 00:00:00 2001 From: Cinna Davis <1337isnot1337@users.noreply.github.com> Date: Wed, 14 Oct 2026 11:27:32 -0500 Subject: [PATCH] Research: bound selected-word coordinate frame rails --- .../BEST-WORD.json.gz | Bin 0 -> 57226 bytes .../CLAIM.md | 64 + .../NATIVE-AUDIT.json | 32 + .../PROOF.md | 27 + .../README.md | 36 + .../SEARCH.json | 2581 +++++++++++++++++ .../SOURCES.json | 48 + .../TASK.json | 66 + .../TASK.md | 82 + .../VERIFY.json | 26 + .../search.py | 423 +++ .../verify.py | 106 + 12 files changed, 3491 insertions(+) create mode 100644 research/complex-frame-plane-rail-seedca04cc/BEST-WORD.json.gz create mode 100644 research/complex-frame-plane-rail-seedca04cc/CLAIM.md create mode 100644 research/complex-frame-plane-rail-seedca04cc/NATIVE-AUDIT.json create mode 100644 research/complex-frame-plane-rail-seedca04cc/PROOF.md create mode 100644 research/complex-frame-plane-rail-seedca04cc/README.md create mode 100644 research/complex-frame-plane-rail-seedca04cc/SEARCH.json create mode 100644 research/complex-frame-plane-rail-seedca04cc/SOURCES.json create mode 100644 research/complex-frame-plane-rail-seedca04cc/TASK.json create mode 100644 research/complex-frame-plane-rail-seedca04cc/TASK.md create mode 100644 research/complex-frame-plane-rail-seedca04cc/VERIFY.json create mode 100644 research/complex-frame-plane-rail-seedca04cc/search.py create mode 100644 research/complex-frame-plane-rail-seedca04cc/verify.py diff --git a/research/complex-frame-plane-rail-seedca04cc/BEST-WORD.json.gz b/research/complex-frame-plane-rail-seedca04cc/BEST-WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..38ecba18ed05c37b730d28f2b17ddfab58cdea36 GIT binary patch literal 57226 zcmZ6x1yoyI8#Ef+-QA13LvaWciaW(A!QI{6TRgZFcXzh}#Wgs^wYc}v_xrD`n|0Ps zPI6ANvgUbaX3yRfF^GVF59q(0U6ASzZSf!O*q(*(^RDwRPM4M~3FC6kD(-sI>uO%E z(77a$$wcM#bkijZ5>u$@)No}OAJl*Uy-)aiM)CJvccCX-W7P?&(!bPad+nZ*`LwdIv6t*4VtW@(h`A*q&X5 zW(7<(uFl75;Wa7fN$uQTUz%$Ms;7$$|_d4|m^=IkI0yL$bWo$AEe%eiF{K26?61%m%*_S%>zNrrB2@2;2` zXMeT!F=OU;s5^6`O}>FdJ?HNJ=;RN+9+zVh67*L%qMJahkQrWJf`p}qIV$SI%6dX2F7_dtJp(@Z}_>Rdvq%m^; z5oRa`Z(Xk956m7f#SjZyoCldezAl_f$IuyzA=>Y-wx}=?ZUr(P;WgVo%b?zB$%r`k z%FyAMT-4P3Q1X@Im)>IWvmD5_y~c7ULnS^kSdgwVA=tYj(3m;_)&dqH(o#s24~hY! z*~YW8b05UM6wVy~1(aF(hEsmS5&H0GheV4@O!vdf5h~jpT@H!Jy!FX}Y zYz0V)hm-x2Aqv)5gzl9x8RmiU`tzi1UZVLS)Aqx6LUbs<6!xDHSQ2rXhkOgcGif2< zp)L5Fw?oM3n_9E=o3(Z(*uoVKg7%1M?1Q@sLv2$(GMNgdN15j5BmI?z1;Qk?`rRsV zs4C7c+0lPyMcVCLZSjk@0ZAG?GsBdeD3O@4@}LIKGT(tiCD4coT%e}pj<6Ix z!O7eBHFC&J!#**J!hPilB%d1HC3-}0KBqdk{FT&~9a4g%7TESs8}IszL+UzFcY!Krvn9K zbzaY63kp04Jq@W9P=GboQID`xZd5j<&peiup*6OSn8?;Kn-a(xsfuDcuMN68V?0wYs0U<;uEUA_q7+3sb^wSWtGh9ZOW^r>UR9%!PKfbbrA*Z5%~ zxugbNi)P-wZGA#4r2s@1TfH+U%6SCm%ipYBCtM_R%~~8uz})^_YZu|C&0DF3lWylp z?|PUfpvfoSAjO^1Xv>sgEnW9GPjCyAFyap5jwfX6YD~vs=zCU+N_R7%g+L-cPu@m$ z4h)%$>9aPe&EW2TA}nozM+C;>_nl#d^?u}@^#l@6$(f;4Q5_uq`opq@kr<8l3o|Y( z@|+ZA45VO57-hyA>6|ppJ>|CH^vN<|EuN3Z`mS|l8zeki$ySBhEtH4OXr-P0uhk~B zV9Tj(Th`Fa`c*`%fhEwyS*W+|`sq*J#smIID5fqUc6~xdFv>IV*z-MJ9+;O;S*Spj$)} z6_*?a!ZpMR!XP3ug^mokkW1bcDKD$W*{u(K(CQ6PUxR|&b1E`v&7ke^fd?5(CO|}^ zxHC7UW7h)t>A;AhZuA+EaljG5zY?orI3loJYRw+B;acPnU&OVapmm$Kb!-?mtAOel z{#^(}sV1mFmf#LXlt0W-q+C0$U3V6)A1>A11;K&G_Ng=X_ppv!_&?*B_J6?*TmM4e z_~qv3PKM?H9>B z(pf5GTNGiEn4fuh!a1mg0hrSrn}|+i(lAZdzcmiMCY2M1q9sGm!iadN+$!kIEyS|5 z1+-jJ7G85jXTrWJByu$QIzYTth$BD+l|5t$$Eha~iyt#%%BklmT?nF?o>vx5rgqgJ zL}3Lu$`XI!Auc6LpAOw%S^L;pgdcA*qKB&se@P2JnFBrufgqj1V-x~!gw*2_T*A zWFdudj)A#MO7?3Wli&MLyxGwVR2H%y3Z{8yPH4e$N19glPNvYw$Po}NBJ*}=)p=-@ zsFAEEBWbf6dPP_WAHl4zSLoAe;wP7W{HA{CDh|~cdh0*ZtU0A&C6Nt|H2pF0Fa%`y zsUruZ)PnhD-zJqLBF}4 z0yVU*<6PqOoYsqLA0cpI5Z&Wz4i^3NH5e+3a{xZ{<2ZE7fZ|t}k9%0&t&joVJ=C0c z;d?LJd;^p-k2MP$>h`&mWIogL0lfS_>3+Ma23!ms;ay;sW zs5HbTANvSsz~nwwf1b-nRaZmg3C|#+i~oVi`VMA(i#(J*nvSuH+!YPSe07`O6PJ9e zE@8HXbtn;)FL(2jV8&b&u>=hHw3Cj>U%r3j%I=^;Ov;T=fA~#8j zjiFPf3IDrLCJa!j^|DN^s$S56p8m(8yBnYTCPuAwJ( z0-reR6yLT*S$Nfz9Qfk-oBevLUoLzhgoN_lz_=6s{|rom<^OG95JfP^yBd7la4Rhb z_puc%B^~hX$@SG@dTY&Cf3m>1Vi&#}#_K+^Q1^%kP8#p*vapdh{w>Tuqeh@sG6!lH zWv|ejbN573b}Rdw89e(0UCRVXpTMt$|BTB4YxX{~h>L)cP`ZR8a42-9Fwj2KJq$AN zZZv)0M2>S};jFAYql`QD-Dv^SpK<8k`%(72A7z6w7&vg;toXkhWBQM-#s9{efniL% zJHR4DtTXw?t0$!XWMu#G>IV}bAh#rx3*kmu8^>=6{k&bUCn@sRRptdeOEsb*VAT8O zkigOcq|(8BCf?1xqVqo_gD0s5>bw}mzX9^G)(8yof7^q$x1I&$%JT#2wBD^)+cF5WoZg{$e*`1s z{&O_yfhwNK|6eHI9gUwTf5U`?OaG)(kuF>yHnKQbbU!FxSb8uGt~G*%grG7Ss5ARW zJ*0tVc(h_P3>x2hhPJjCFb`F<$fKqTAR0ZtA=Gk&`O3?+j4mt@tA|;LKUi8v$ctY% zEX!l5mHt6N6-6yHCjyb;US`WZw%w9PMVKQWsY|!j%Ta>WlM}?A5_zr*e@F}bhf4?q z@eCPVsvqqVkD{Qg4JHx!Dvi!Q0?a_``xD0X=Q!MzvZ^6lvPINYRG&Nhdt0s>*Aw%V zOiW&<{<==d5zJyIo1hdZtRFbUFI3OrTqX~_b9(ss_~L_GtR&Uu=ozKr^V^*PFn#)e z81|sJ_cM0-r@BV4E(hYKi*Pc5cM6;{ng}!u6(0-7yV>!x)~XdmD!l%j%|R1-@h;)? z9zv@0mc3GHMiGY@=78IAQyhRju+pe>9p$XN5#|w^USWH9LJeUOir?pBGf8d5w8{TX zuS1|gBxaM)D*OLKuc*y#@D*Wwd`pNYX0U!hbiqW_!;Dh=59MJ|)*n^l=*#~|^NPwC zuZZ~N5JaL4+V}GiFbNUR6FLZ zJcKXZ3YET@Xy`YM4JM?)HybpKy^MsPWEo*u7@W)*a2OaN zZJwI*R3k3jZxM5Nc zUc62qPV@KD^eS$OGu=n~gp@j(mlLPWOTD1gB_4p$5mGl$EzR{t6-z=J?h;+6ehlwe z&mq&VUzc(Al0{aed#Ov9ls4|MLaR;+YESO>8h1(%1>2t-v7Wm@zBrh$S10b{!LN`M z{R#A_dD>{TcoS9j^LtxY&S1)fLx7W!*|naxVmB<$BP4@gpN(uKz&mWHxkF0?OPo-J z@+{)YwNMw;<4c^2?3QywYN8s?@Dn+= zKyy0GQ`;8dd2Dp5){5bC_tPJxtX9Qv0IsFDAN%=Pus?dM@-i=(R4<1ib&VAe!;(X+|=0Uye!{$%J{oSSB} zVgKQLi$nPI%o9*J)5c~^24SR7c#j%cP$s|k(J}@xp`q|yuhNkBP~M1i^TX4Jyub5* z7b~YP(mfI~h<?BjvN2@3hifs0<&9&%d1U2O+HN4STxjvNMBw0#0LRzK>CROi$eXfQH`UgD z+1jc)o2APb@)I(1-R|7Hk+)Oo)wdel?-krKX~4Gbl6if?e%&xh zyYoTYT$@GP`^I2?ruj^C!2^T!oBTH~^P;<%EFCgi91dJiQ(wBU@8NqMOn_1!HU-_m)hKcaRsNr5tp-LDqVI_Dc zZpXVZyFSw!E)??w>z5d6A83EDYBwbTG3*^Y%pV<-4$&578d(Hqf}~b9bg`(Tl17Q-C z);-$+miPKAvAS|_&MoJqq`%pOq*G6aAGJH<4@B@{liMMhjN{6u<>OXDd??g@~g5%c}hWrjzf>kDC?_>w& zgXzH%o-h@+lHYw#60!pLR7A`c+|jIqYf>V!yPL-i8hTz=#8W7`w69o&--bBH&ooYl zt*P7v-uiT75|dtX4jMG?zhFJRmOtM;U=KE|V;#eekyGxyu07fpp-=oGAER**bLkq= z#i<}@;iumKiX+@vb+En|spa;lV?0kb@cnrkY(6xywP?V)V9Az(S7 zj!9cZ?Tz~SuDoJz{<0Ms%Wor7-7V#vc`fFaVD>jx;z>Egp9f`aAS>5reB zj>Q1b?HbfrcN{DPs(SxBA-bz&kyq{gcY;gJyV`al;Zu05-{Ml*1}|M^rLM`^E>Xzg z2dTM#87}_}J69OmJza$*FI;ci9j~}isa(=0`2Bdl)lTX-}gei33m&y-4q(Qh81m#dDAsl1Su&Bd?@XDpE6A@>u0)=-2TYs`Bff`*s>$(9StWN4P<`H^F4>< zWqp?ozZ-NGWA-ERK8<3=*Eve11*hC_-t#*(u}1qRQSKAzLSk_Emg&7IKJNK?V4Q$J z22@jl62wnRyasW(BKf>;;9&AJpWUF!;KK81IEHz&dXjo$|f=0_( zdAkz93fwTUEwS=IEK();bhNl5ZySCxWvOA({YgnXc$p}nDeH!!d|)$AwQFNsXvl~C zBK6w#o=7*@=EDsLK!>5iI_;nON2t~b#5>knV8Tz6MJR~sP<496V?Yk{hS8Rljnh3D zJLl1-z>T4DFEI(|;YWcUr!gSYM_dHTIEI%6b)bMZtb6xgmS>F=jH;SPT}SS$KJ|;2zRYr$+O>^Jd2!M1y{#d6rv&`=1mUN@WkX2 z1-H*ryzriy$RiF#@X_aLOuJr!^I8l<$9qnuRl9ii`B-5%O$U ziY=-+MmPs_8kFbF^Nw=hw+sRbv$c2`^g~E(uqViqA=z^x$?XsqziPgZbvuZu?K02C zc(cViJGmbi>@EtLU~LU(Xjc!xIoX@PH(oo%P-?uETR(({uXo${Hme>94MxEYKRltM zmRO__)P?)sgO^+Tfiz}n>oZcaBbP0^i1WG8Z9E^9iso6${D(fPK~=t(UOP#C(D6EnKo%%d60(oamm}H3lUhbv zE@YBwIA=rZun7wX$x7&%N%)~-I#S}+8AAr^X0Bk8&kVOa=AD~;l~*$3Smm?Mt|m_4 z&18NUW^b^}Dg@b9jRO~UDJn)b3(a2LbuxBaThQ-3%`#I|(qb(;NKARtm=Z$9R!;`8 zGxzk*oS8Z}%j@)iX^LB()#=*QtyulpZ+3PS$cWpq#h9_YU%fAhu>6~EtksgUN1kW1 z@+MlxCk(bpS~oyf^tgYyeOGMU|5vd=T{8S>hxh0mjho(u4>r(I6iD3|SM3;&6XJk; z+_*jFj)1Q}h$1O90-s(}FDNW^ki-{i<^6N+LSmddOaYo;->8y!&tyQdLwBf?+aNc* zj?4<9(N4S1$PYRIT@rhZ=c=sLPvpSff3*0o3ggOSYGr?aidO#%<$_?ql!WR-n;OGV zMFD^^kY6sEt(66-Mnk{-BT($R+6XJRY8SxTS@XFQw>O>;9EqWrOn92-FqE~xwiTW< zg^W~`k9GeJ(UTqHVRoFD0|}aO3No$u}1hb1Yc58NNAJozw9I*8_nky4Z%?c%46J zQY5dSk%Y_~} zgvR+y?hlfP=6g{R>J+{P{%o_I5u+&G$Js>x4u6YJs~8zzSNi0X(>!jXw#q7MP@&e{ z9OF>Gan(g$ewBQm*<-;7AsAz6A>v{%R&gqM5JbSwqgLPCJp zbMCoCu8rUuDE!Skcj~QmF#5!76wjF>Q)FeyNzF`!q;i@d)_fEcWPJ8b#_b8r+pwt) z9_YDJ9llsdW>gGZ4<2**%8-NlEq#IOLg%_ummQ1d>=;$=glG7gj4b%KD9@M zgxtQat*o~xC46pJXe#{f?=yWCE+lyL>_FSl)@PTn;pj=UO5AeB%DxvO?3iA&+SB8r zWc0Hh{%oq3+yAZt&mHpC=6DhUem+NCDIoQ&ovuj3e!~+gNwJ^|4z1{PR#;a_G65u3 zW52GIIQ?ujsHo_6L|MmCV1=5{+(dAr(anF&aYKq|SQj^he!t$w+3%`=0cuv0ocvMC zS7^YU$*inOAR-qDAT;07kH2k^lOu5Sk2y7n$#3(Bv-bp_;SN~nA zflRcuDZDesy+A)6uU)#W1ry6ZS0du~6=zIsA%`Zp`AZ?N>m-=A$hv3|vFm=PCC1y( zt59?u9@AmxN^-`a(6G#O2%hllPeCWYWpZ7#QH#Ba#*T-){;imv< zInIF12zjYzT7b>WfxF9lWdbo4JGXll4pWcAF@X)FBFp|i_uN4dq&h3X*lRR_@6cz-|btpKwTNBr1dDCJQ>vUtUdO6K3t2~r0y7S<6PM% zE_ow{XtZTbtQg7O%~qD2rX_p+vT^YQanQvsI)me^JF2WZCjAah1-OM3S980-A(kQ& zZ>MKHf)mjb`&?MFGj3na(%n6nd%CQYv{yDaE>|5Uio;KpN^wN_DzIlk&rg#JFI{*w zcCY*HJsodfyrp$rRa&U5QpqEbF|U$SvZAv~qBiD`F{4Wv&zqMeIuY~Pr?5lJh0zNT z+e#{aCYupBB-0@lBe9nx*PV^v(dFP!wxIsB;hpnKR3*&?w3(~qY_723M^oohh6*(E zQgCNZO`!&7M~jpRZillyW>hhReqA^lm5J3fl%BgKC!h zR@F((SYHGrqW08MLd`j^&B>dpPQ*^kJ@MO3KRY`mTxn6WO^)k+HEbnp>X<9Ef)%zt zV)0*EzD3;cn|6x*c%Cw^2Sl&IdfPwff?2UlE%?nJ?7xgYLe#F>A(?1< zQ}E?4hh0A}9{;e%>z=b4E9@69Z!aTQuu223e11$Vt~-Ps-k)rc4;1(|LnN~)S43uA zAdrc-Hp#LsEFtl$Nx|AJpO}UZS{EL4ZFhRo^zPO@f-gq1`911H&t#2!_iuxPheoGX z4OmU~;+oR34et{lKVIgBto$yHp25V*H9IXNjG!0+7EC0BC7?km;#K}i2rs>v?C^^qt}3f&iyQDe^bo?#EI;)e z%Kim*?=021#Y@BczY2|vb&XrGYw`KynS~}Ske7Qw=Bq`-3^|9FS`fZBImSu5^eox2 zW(z{GI-D2S!fWmGU zW_c?0p=Abl{06;t;+_~IwCr+)yT^6Bz}_7!_m9_-2#&5gr29OCTe)_ynGvW5hBVE-xv+lpsx-k9Orv3r247c1%~P`$**Ur zLJ2TQe^MpqgKoLau3?$85}r7*w%e$DwNC%3ux5D~kHb~KSM53&G$}UjAF@N9T)eh? zdd%8FU%`T|eu3iM@^f;9O3u9Gj*oQfH*5T+lHhrmDTbrrw*3m)Qm%UWELz%1jJb_F zpXpqHg!&s_*a`pWPn~PS$>%W9^=c5+8XCJlf9Mx9)vBej&|SB$bd%oQPM;Xh;s4NU zsYzPK-Ck90kUINEY@sKxH>l^m>UIcvE)JYdt)7GXD@!XM9TE5w;;62K(O<%00$#&V z^sl>G)uPuW8V^hw(Cxd_9}CJoJl2avJeDX7hBhw%E-AI_jYK0B(=YZUBsnh9r-7EqY;n%&`UwqmZqset>5@nd(A0>qG89IH%ZC9il2leZd-~OVDuH{^o`o~ zp@uu2ARk~F;ZEFJ`84FUxKiQ*6gGBS%!Y z1%Yan|Ff2iB*T`eB_&xaguW+p>hAAqu7a_c4ShF`X}Zz~FJadq0q=&=Z7TzlH|WgR zIQVfA+o|$fuJnGGQfE3Eyq>bd7bZ)^0XcIO2mY&-gi9-HI?n1&k~Y%24Sw-#nI27j z3k1$z&gna&&Q}a*(YjcsQagNWwPOO5`}~9UD;>^GIG-N7Tpw%`NEk=zW&Zl+an+o0 zbQVt*dwgr|dl||<#-IRokj6IX`fl1Ydi^otekKSn|G3h%Pf?3&MBA_i8qJ%qsh2^< zm<6WB;$aYq%?GunnSY!PS|;cDmVWm1&>K$HM_pG)CtOTG{x|OD;8i|NnbQ)&}8DRJ%CHTdD=dd9Qu9_20K& zf_{wS#EoJwQx7XOsStagj@MXEhw~2ZuQBz1jq7e$T9b9JvuS8i0P^P7dR1(gOxF49 z`o*0f%XLA1uJ;*v8O^RK!X-APex0XC`yE5$rVASuW;Iw3A8?f8GFGq{CPm8%b*|gf zgB+$sJl20lm~LQ&{$D2k>4~~O;iHJttQa?}TNw}6X_5|gL6$!V@%TNROcC!O&nRYy zy0b_Zc*NC5X zC%Elwuh60-7VnHuV8N$rB)utb{eVE|@JGKRjw}A@1Roy77)8)o1I=eiD@jRwoTSY4 zRQugkx}P!%ZR~C8x#m!QJJjZMh4d4E*KRHY_S2J1@>-oms-g46$BGsD81uqsDza0IuAyzn zlJ{&U&fH?HvlBRbW&`aLA>M_hos6f4)E^QWpGu8+x@!I*b#-XxfbEH<{A&XE z9sSqFq(mb*DB$jHlN99TvPv4YeJE7V`5D}yISK)T2y5zly0)7((-qKGvQ_APPqpYO zTP|Gk7a(8$tS&lWx-SKQ*EGj}Ki+8?T)mfGF+`XBf96FO zjfW2_ieNuWnu>7- z&H3f)v?!|+MKjbCTcS5z>3>FYvL|oQL=U$i?`9dh33O0LgfMuMNyr|^^e9ZL=fqB- z)oRbn$@!cz{ZtrqJa`HsTwTbHHv9Cx)p1t*mH@Bi3kpz|-Pg7`x%0fn?{znbNzA|I z%E$jI#w_(2W%-*Iqr1RkpDs#L(pAn;gWJ>>s{PmYgFA+l-wo^d=dg_DNjYC~AXF&xNzN|lEDswyl~D^m>);JvngSf*rcKgE_M_>|ve;L2J@B)ysp$**UE@lm&^ceE zD4`rHLOHciW>?Rz(~6bP8y6oy7?mZWjkVNDHkXrH7wbVA9cN+3m*PBM$b<#@JrGtv z@8P-c!zCx!Cu5yR+s%83^Nartl-N@!h2QH?$JcwTPSxBqU60Wz|E_uap64?J$+o1E zGZ{UDfNhc;zmFx=dSZMJ_<8Ta(7ybF)lBzYhZi>B{3map_r2?sLZIV<^+cUtb7=vr zoc8N{%esm#z|u{VU7O@|t1%U@&$I*&fu9q!`={up>vqq>>OQEW;s4fixTRFmuoYG` zNGyGHa*70Q|7kZawIWhrbA(x2U*qSiy)X|Q!W?KgwE;b z$5uox4KC3V#0a67h0mxa zUUgur#%QXvO6YTKj_TB9jm6(+6~T=<^Mi!xLBit0e%QOtI_raY#xuh06G#K8=O)23 zr|2)uSXFt#*e%FitD1gto`}H!qS0oKy?x3r_p7DuQ+1fY_I2#`h?V;L2~=8;%`0K% zPg>+Tq6Ztpjb4R^xIpc?6(UbMVXp+jHqJzLoPkW=Ro!&LrH*ybE{}uGnIXN`EmKa< z=W$Fk&OsXi(Sc5J4lX1KnX_ z7=ywXXZ&WpPvb9tdcht8i%s%w9TwqrZ3F@Lm;wI!+oJ0reYulnf$q8;t^wg>x?*p* z3ZgOX;1zK0I{amTguxqM)rrU0tm8AxZvNDLrEavxB{ zTW?7p7s~|HAE7gP_6@3bO`3L1Z5LT&7NC+(&kY_fm{k!gxm~Z?k-8gMe9iNu2C{tN zRvs<05b%$qi~63P?Kq?Cg8xm$-78G_AleSq`xjN7b|?IZ9Vb0=+e|fy?UiamT&RFq zO$tmmf6i>Uz&5e&agwQD7Uqqx9NJ#%^XBl}T9zK#P6EPnNq6rdy89$}vsv~%D7s}v z+l>3})X{aIZ+O&%<$f>5@xBP2awTMm{!hjkwF(!vk9<6H@_Ekw7Xx8!Bj88Tmi%`D zO|&hGpU<#NL8&`kJY8BW^GtrM-tddespZE`OSJo{Z1)|JdFjAX1p3$JNIeq6{=%I#6AnJwDMMw?!NSkM$eM@Z?h0fXIIE&kA)b9zy5i z`&=g)=&j65qc%#ycu7R6?Hp^K@H&QRj_)KQ4zL#bIh%1g5;C7~Qk%+0Q<=)c|Gox3 zyF~al^B$(Rs;;AveC2o3w}gj0cj7z}4}2tK4ywyo5LUv_(jqQ0#J>TV_qa%6zpsM3 zEf@YKL*6V&ZPYl0V~}fZco<6RX@-5I_GvtKeaR`*s;EF+Q!F zlai%2z~#W-U0%IX8Z>SkE1uapk_}ll`bu=?EZJh5VbGE`327sjPcPnLP^m2`g#%-@ zxE4N<)flOJln|-LzZx7BU#6ZsUFh$lnpRfyV|LD+54$@Ka`h)xr}|QWw&+}Hhb@<0QF4Afr$QV3g$oV193VeGq&SevYV zu!YC8s|3ch=gDIKs8UsgN#rvu{A@rhhMia?p$K!i;p4_#Z2x_8^4y0-;50zH1tCa? z4=tp}Uj*E3&Cw^sClb;V@242r+tGCTL}gNB8rpJ#SZvKud;BRGi(O+F!NHo>BobwXWs`ygoGv7Oj_+OWSsK$V&$qAQda3Pt;pwv% zOP~6QL>NOQZ$&{9H%&>H0ZW3|@H<$sFE!TSTN|7~{e!&pixRP~(sQx2--=HFpIkEx6>%wSI*TL5_Rw&SZ+>u%7W+Jpc3%wfnGB4&F!ml)vxZZXNHqjaU6HEXCW%SRV;Nig9duf^&}TA=1gEvG9opzYwv(p~jVJyb>Uu0pp%X zZ%Mf+3in;Kx&)tlKdbykc}Kib{G)r*lW8-6gYQv}`&HvzME zpNwLKiTsH8hs-oCFjO5{KXIXSjh2>|IQNL>p!eW8KMjrEmdw$7wOJhf>;JkN@OPx= zwc#swo{sRFOl&p3T_y~&&>-L{1O)rO&39d7Ich2;OfL{0kW`*w4I2p^=pSY;PuG;l zAX)18Eew-c!v59i)+5J1RX0?nj{$?qFnF!Nqtjg0#F>*NW-tIor)oNQp_8jxMDdUy znFD1mk;6qA#T`PLavAKE0=2a$=`f8wM<0x(HTxw5;F{4AxlXdxJ25#~?m=$#8|}SE zMx!W_Fdc|>+9jaZQjwwzzzl#J#g9R^dB7UUGQd*3jUz@m#wm`z1T*09ASOBRr+UQ_ zqNxr8q9h}!pW@er`#NapISfkO{7FX$B9x?9Bna)<63X=4Wg|^*-XQIH=kQVKxH_O& zkgag%E|?j?_f zj9VT3fjMtL_V6MM$z|dj)@wJ_o%`_msbY~PJ;9x^&O zjP!O;pwd}s6v?5|!;>rtozBrKU!;bDWK5VajX48FTcyy1PO0LlE`?Q(zZJ7d)5U0T z&_*V*NZJb-esYDC!=%cff+nK*#u+@#L5TuTmYyCiVISUtdD~BG|5}Ek8bytVibPEt zgIVxhTIf^Jzad>o1v?`THs3@XAAp-lLfU>-)Qfp|kJ+wbqP`YZ>Y0QbPK(t4)sdnA zM_Ndt=--g3ggr+4$r73Ype}kG2M+iT0rgV%MhAu6kfJ@o?>3t7F z5wroX~k0k{Bf1A#DwoJ zL4Xe?wAk<{$jugOO52Z3@mdHRsOgaGc`9VGNXcXd@xbo@RcOrrQ!F!bj>M{rpQ)MP z-nZw|*p_^!8hoN<*rUhuBEXSkGoXWLLE{8>a*u$hpXH0R*R$f%lZHN~?y?i4l$^XCXKn8E^J`Iw zFYiZFNi)&tOw9}jbg;jNabyNn6csn6fK}}!>JQa4%wrr_z58CTnHutO3KO{DRZ6Tr zU$W`(FWyIpG4Zr+XSxZ;p<7V+et1VXCJTuDbbV(kr?yrorn1OMM}}(OY%CJK6Iw(` zDpb~x73VD_Go*V(3=~Z?nF*xBsDaqCjPLuA?pD98qDu8Jb>K%-i{V}@cXZqfggd1& zNdM&D8=_Nt(<^ATNM|jpr7|b9P+%fOq&NH`?=%qS5_1&m2Z1MK`ET^p*>$#>SN*5*13JGJAdZH#eyjH^x;+OwrzTiaTV;nOzWX zTEF10gjR7<^Dj;G`yPX9NZ6_Qly-s9x8~uSpcS({ z92RGbC0WEB73pb1gqzdU9Kk-*;Bz74buuhh+5W5dV+pEnT?M!N=wt*<%zqT*>+cb; zeC9;D%c2^o(b=556RsxEOQm+S%9VvKR}8cL`~9#{uogjmt)_U<25jRO`>ol(MYHOO zN?u3LxQAdV`eY|I`h43*jI(M#2@UW7&SfJ_<|0iR(evDgsESKY8dx2AoIju6wW@Z+ zkxorx7oOD~#$PYM>dx>ytr{m`3?7PDNY9;GeE7H~KH$bDvZ`5rz-rZ#!^mBC(P&RMHH zG6oP|ze&D1KPnqsd{<4${WzS%-(|}DEVveNoYresnWkVELR|C}-aFoKMRO{t{l^Gd zZi#)Mj^_1rhD|ISZyP8a4ByowcU%*sz6ohw`G#wkHCkoWoO3?#k%362%3T_-HNuio zJ0$2d&$`8+IUltGNJ)p+NZ@N^7UQEflC;4(Z)|fjBe2ifq2ihStVR{=A@ajZ1;05h z!-@DtU1vpU#z6hla*|Nq3ObxY^~?2RrlaCidbdLfl&Ov6ZqSCGa?4Xi6i2KVbI*c| zkowZ|JW~@H5cAbkr`!znyPUq<)@w@3)CmwvmbW&794}r%wmG$B#tQ)4c-vZ`OsQsP z=KR*NM`VM%XEpl8whlOqW-vB>&-7Oy3L>7m88IR_&D_zRUrKpLxS$?zUn0L^_7cz9 zVq&(#D>_$y+kg1V8~$fme|Pjpb<56vJJgTvdwTJwV~+$?@iu%2c^e(%0gvf)A-ezT zt+v6^4;$2!Cf$Y^Ukx!MYzgvg(^Y32Dk#R!re9 zS3|9++%r@Lyp7+;5ff?#tk+7~!s!*7^w7GTE{wO!S6ZK;#{4u2N9O?w+N{2k2{jOQ zBq4!lJ2~wsWRWn$p=h|b;lqt$gW^h5EYkg@#NYP|Est_@`a*x!8tI!)zD9}WeWR%C zr!x6C;L6YXt+dJzPbLL!(Rk9Ql1R~I!)NF_M8pIRQ12aJL{qKis7kJrD@WAx@vAN z*u@$uS%f!e2_oDcHS_Zf6vqlqBDZ?gaj3e77DiFT-Y+kx(@WR|jDB3mz9r*07iN7U z;3=JUD5s?O>BdZ^ehBB`$qh85B-oB*`9%$y!8z{}u-X{5PlK!ZP?ljx;6?7G0 zvJpRqpM=h>#L7*L$6*)}u&-u`$;A4v7L{n-**7{-7J-Xdb7 zkdz_J^9B1v?BFp_>ZPUO126HXM|%H4gA_{(Jo@cpVguP%hq~C%zk8)B(V?Pn;Lyj}@W8Zj#C|DPG?j`3{ z;7Ntde&BFwK7NG%n6Ow>wkomu{Y)CjiLV#;sZyv!l%B@wZWIUZO=pSYjnJIG9w>vN zQL`MH3L4VNCFJ)o*7J7p%#h3V1WT}HB_cgect$vg0Cmy-F92phnZFmbdlOVA;&ch8 zi%$7K@WbteH2X(|11iExqPgodMgS;G{7cumAam)PF%XrTc^)sQp$Ml-R zm+*Sx&^{O#iydwM3^4xm%yX*}vvmDd10y_%@3|e{EC4mbh@;~9QJ2Va){-pr)eNr- znssYPOh;L>M)qUJ+oy4~o^Hf7%^I&S<*W~0A6;!&g#Cqy90}sQJ{{Z~D7IDR^=6Kg zcj@z03`uoN$3#g?W-z|{%(FVS(zb5{ZLdqeIf4s1Vu;(YMmK{pn-hYKsbsSxO zPbH2958*9^LYPONMxZ%WIq?lWvEzB*zMnP?GrA%Z<9&ABWc1NU@-@{LoSs`5{0Mc- z{HGH(!mnCF`k32U)znCH=_F)5(00B|Aa6^kGTtcqJ%I7{?3(WDvaIhiWFAfZ{-YoG z(opK>z8{$0LEXVU8GhBkdmlVyz%<1}%;TE@PDhpL==bn@o0yJ#558q$Lr1=6?-qpZ z$@g&j;k4LTdYD8Ova6x)$un#kUks^uk3lp;GX`U{Lgt@tTr&n!X)(xiP^$fXR5}cO z6*+&5b_jGuG$WCgQTli*fjS?f9mXxrPy;dp@2yr`d>c%kOMt$bS}<7y^L3{H;0}Jv zvN)R_kAfM-r%y8156~l!I`#v!1n3$PQpbM>CZ~()*l$OtNCcCbXBI<10(}KF@djO7 zf%-xt2s-rS00`a2K(w9dT5ggR=`y@Vl_WM$Pgrgj&_cOZv&0|)>qaJUc=s|zkF;oa zL(Kg|S}lv@lc_c94Tq9+WNsCxk7D2W{;vP60fR`9O*{2S&(S1tN^s|fsJ8H$-F~3EV+}yn56`_l zyX9%>$w>c0E7xOC^o;ALbz6iMg9L9HDk%&Y6myfqK&8jfS2;l{qdfwhNopX{F`6kl z#SD!081BgeGOJd0HOvRCy}N~oBaa-1gIQTEDDcGU#_S9cCV{=0->a$t8v0cwzW=R5+H~}LxV^rEE6u~-)2fjI5Ba`3t#nVm>u=SQ z=5EfYtU`@40;}v*6r!F8@(aF;K~mflA|2Q6#Q)jZK*Xa<68i50SOziw&lrudyqI0GI1Eof3U# z%06#hlqnN}sZ}pasDWj_wQgh8{aY~zGwC_`Y&**1W+xr)N1^H1emZ@z>|2lO=N0Kc zsYOSLPA}742m1kT%1-t0u0KUayN`pZf4ss+e(Fun*HSOfzWXg-->&A!|NBNySWYs1 zUsU(JpcL9_>$`2b!VNL3j(?A@VX9*o>n*u1;C6&lTx}cXIu1|832c2mtuTW7>g2vp zA0Gch|N4Q-8B~utV3pxtp|moRd&6bAk?zJCr$qLdT=1qFi-P4{%XS_yZoMcUqGe*; zt<2kd7yHms$s@+C9YGCLdW_p>hk?-!f$H|uJ5nLiF?!3)hA=SNW0)GojMkW}SdE`X zi%cQ3Ha1pch?Tw3W3vN?a9KLg+o;|FOtHIdH0>}p)v~ZLi?j(&{+Zs?*yq!=-DkJG zjaFomz@|Qu{z9zgVQ#gk>{4b?dW+M-Z>6aBC?|v^p>dE*0-SvH&Pislvt~C}LEGEAnDd}Z66nO|% zzAw}DQ;9b45Oqv<==zmQE-y2VpRYDbdhAbSPHg=q1oR2PeYsg^|6BDQfmHLX#f(?W z%1kOg)oe_Q@f?HWNHnW*aU7d^t0prm7>N4Ui_uHL{UE&ss8fD!s|^l^Pi-IpsI=*QK1xz!xo)pL1UTs6d8 zb_n!?Q@!}n2=voWXOknHsjeBqjaHj~2~9m01IEpk>$w;Z=;s>Kv(fWOzakD?^a!^u zo9691y&v%{{MJyN8aPFNv~YU;Vm@0E^8lw`IU7?KZ9hK!#A{qfzw1wtxS=E8cc)V; zb>w?E#g+Bs`{8c^)-XZZ^z*soYlhD1NeXj1g8Rzq?DunQjoO;d269c+&y8A_v_I;6 z@*_#QBn%|U)#t1mDy=>=ee3w6f=A8{aW{RzA{r_5Vi-Rde5&CDq?F-xizhC3+Iw7F z&3j*NV5EoBU5;WLoNB3#Y|+=a$G#?#&Oj9P_tjVOp$b< zXLvkX{1?Tmo`V4qq_|Hv|AIJD3`(Usy}^hmMaXYYH&--N)y+n%_)#-;%Ogxr>ip;C^9;8aDjZhEc_P&KG#fJql{a|r1?O>958vmsV%m4Cn~`;{ zBk*ya9?sqLOv=~a1?hJyy0_a46&?G2hqaEKJ`?BVUDbEVcWNH(DM$8Fe13k0qw$O3 z?p5XUp@Yva_>R5~{g*-h#b~cT{M$A5WA@uM%x~4Lr^~ny~{7_ zd3vU*hcz5Iry_ARo{v04%1^BO)(*ZBeXo-vTb><9@A}xsX_Tior{498jR&KbjoA;9 zxAR-f?x`YQQ1kR8)79?*PS?mH9o}EM)MmMi7}I0?N3#t^!-n)g$WrauqKOO8~gi{;^u^)c~^^<(ByJAJ)`k(l9U#m$ex@rlqHpG2_T znlc&|+IXEEivi>iqU9KT&jI0)*RXzwTT124L7{qxlOf;X_dTvSER?Qj<7o7S z^?idGKHU*jjvoolwZl6&3wp>s`^SOoLhB~4DS0O0x$noH8bN6&LV6IM`F;c{cpPju zPNVTcRI-Xf*9N@sc_Zrk0=^;-i(%T&&*!U|Ulombs`(22raLYN1{x1K_x&P%a@b~6~M?15> zT~kn)u>&T3gpFSZg0H2SKEL4;t=u9~N!##6v3?ew zLP%Rgek+lN#|clStN!!Xu`8~BA^qTW4i1WY@iC1)2lGaice6I^lNvDj6J(e+mD~2I zn+>P*aAv}E?0szoq%bC>=>96Oab+bAnHmLT*vH?XMK(^Oz$yJ(>|b6-NZ2NJNVb9u zm_rKbs5OP`lZoY#O}8=>zvjQRD9OK18ON2OkPBb!Y{_Ar<9j8IePpTsPPPU!4ZjCd zc&7h6Obur2#YkbA-bR2JdO=dmi?3Ih@>s^P%c^t3lZMxqI^`|Cf3Ffhh|?P50gmzBYs6IR>}8RnSaWk zu=)^Ix&zzpT(&6spCb0W?Q-24ghxSF-nV%hVzmjOkG=9*@xD9wzr|kAxkt zoh$#o2KSyyHxE?8;o5;F7l7|QhoN{5hoL5qAbl%OoWF6Svq!hb@`6uy%)(lu&_%xs zB~Z<4$BXChVZU*_Q2N=hbG%TV)fy2cJ6=kj+LhKg6F^+H*qn;?0~ z^+M^LzgT(6^+NfbYb5l-^+JiVzj$cb^+LIzo1iVp^+Ktzo6s%E^+GwUYp~A3^+MUF zt#@133#DkT?*kUD7s{+$-wDXB7fP-Cg@DVh7s^##1Hl)r7s|q12+`u1nxdI=oF=w`gh z^FmRGGu`p?p0dZ*7^{`vg;KuOP^*>OC2&T}uy?yqYW?rs*23*V>Ge%pGzGg|s9HgN z|Fm$sP#*ponYQw}P&tBcBC^wkst9y}kb=)8a6IG8;It+jHW;=pm%u@Raqn`WIukC0 zy~~9PdAKiM!NTQ2B`NG@L1dQ;Rq6OFlI(K{{F6`E`&_6HhMoMQz~@5sTU^~z3!e*B zUvWO~eJ)gk#Ra$Xxljok7yQQOLd9CXpreJ)h3eEa!AG*sg{sVS0d9iNg-XQqfo|C8 zLaE2UXOjz`3*`&{ykN4+g%XCFkj6-@$pJu_*y~Heg~NqXi<|FrRP?uS&UQD3Jxw3= zlo`D~HClOFD4qHD;%MP)p>j{(tI>t8g^D#9@A}UcjM%*4lszrMe=j*@M+?<<`krSk z{461Sue4Tf7OF}0JrNYWEL2abc_}D4S*XaF3krTy>7J}-Kg)zTx>%?_nG4`6ZSb&A z!8bS7a{~?*DrIK%frEuAx<$2jumt{P-|QVMR6y-}-m!471U8M`3v1|Kp*pB8bkz?N z#&hgq8Jr1e#PaN6>98i}O5k4r)7H7d^=7r&I#&XxkPbWNO5opi)6Tg+exexhb}&J`-;>XqF&SEv-L@4fmOQ;pBlq>Xch zYFoOrcdk%XN|*M|6)H^W>QT9Hu26|jm+juULS-zy4twVc)$#N??wu=Cg43%5=L%KN z^y9dIFtu~ z!xm?L1>A5&H>A}Oxa~r0H{3Rv<2M4M-;`_O`X}~E2}u$-l+t#;mAxz=T*rA68X*`d zaRNnOQhtS&2P5K!HavET>QxhRzh*WLA+R#9zR6d=5f^!(RRSxP<_Khp3#I3>bEqbG zxlLsl{FmeDMSh;d&LdMayw@Pe(4di}h(v^(%w?Jgz!k%}4aMFtob2~9a3eO#j_-08 z;rj9mxS#-5V^ybTPDJL+WN| zS)Y%5=AeCivq5c=$ET1MX_0;a@n2s$4t4XO=9eIYRfwPTCIFNrfqYHFO!5n??Bcm zh%0s1QWwWGY0S|t=HAzgy)M2}sq2BdFs6CR4jd%(Cp2qzxtc3|KNuciRP(sLPV%l3 zn#sF5MU??HTRvFP$UhYtPn-gQ(Kqgn!hi`Q1EOO@8;c}>yb^l2x&qwFfQ1s6M|Dpf z$^-uep_#37s4@_T3aHYkn%y`!7vJRV(cc|g!mSL9#bJd}DHD=cN6rgEYqFaQxP<|) z+8hu||BddVB^K_Rr&7(v)l)5Sw*-q(6FXZ@94&;_JN*!Dl|Xj^S$MlVdz(%?O@!9p zRuOKMK(`I$QOS9p4jn9n*VN^bkP8dxQ^T#NNypstAUc{dPE{~6)${AZO1kFQJfxPjem zN3J&h)hlehnU#l6CpY6-_B)>XC$+X)|77LCjXVhB64<9hPg`RAxl$q42cJ3~mL5m# z{h>LIeT*kD%s%{4zdCoiT$HGMO2n*c8^9z-*_kMu^qv-M58A5Wghr387-xqi?~Vv zII*BJ**__*&%C~R{(X1Etr7^pKpX6G)rW3O$LOfY%*=q%NDHwe*Jyp_9Mz1z@%dH; zG}wx0RKsr91D7kI8EtmH?8*SLM;5!MwK{cA8-?q~A_f#N%E&+No60ZCIw@R}=1V*z z;T8r|fD%AeagDMk1w*+ut5UlPx|IP7B`}ZbxW4I8ans1?n^H@afe3fOJgVlxHb+Hm z45M$#4Oa#X+y$t7(^tiCUB8J_8AWIb8{BFM6SRb=i1Ak-bX`(2KgFYwC7dNd*vJyX z8eTb{)w;@zj!r|wK!&FwtYMwqS&>G^=;$;=OW@#XI2UyEi;|afLC4_nwJ1ysgn(~F zpvLc1O;#?Js)O*8c$}6XSj<2KwXH%tD+3i79bS+D0}M4&>^Sk%~t!MuyQa)KyvAxiO&&> zBc6qyC`ZRzv{$skFRueGXUcN(9d~-O$$7A}pBbGnNuVv}PN24BV9o9OZlz~+3Ix?n z2EP?rNEfQ?iACxzeYoiKnAU%mx;`WYuWmCV4~gCYCjIK#V!qjrgY<*0ZyD&25xbTj z$c{f0&(imt+SATI6wj#idoo1D!ZjZU)34eS6Ry7b?Mh?LkA5Q~4=h-u2pM5Y%=(Z1 zfp9%PWFDV716>G=JfzHYk}mjTT`(;JYuR#MIX?u4;s?%zW?~+Gv%t9YqxpU%8yh$2Y2`pDCqyGxIV%OW0d7a}$T4=a_RC;CCf{n;XVwTQ-*EB!(PCavm<R$iB`VAIL*2^O0v058jg)Z$qy;tEj1ohrEZiAY z60U1F*k}Uf`3U20YV|Stl=~t~PfRc_lZ4Mv3`X}e7xjhVY#%Zw>;ODZX-6DmBbF!q z%>cD>JjvM1EYuJ$ko+WQE6i@nS3>A0#tOxb0bG$|zhFXxJS;&EZ!4bsB{R#0(T4~G zh|6j*;V#s|04@Y68_xYah8x$MD{f2@`=n=aJ5&lIGcJlhB&#_{ZswxOIbBoYT^j-n z6`XkvZ>AWxL*;V0&PZZTBen-jRD&_jkdn|)-k2V}CXR7qdfz8$joYEJoP#}=vj<$r zOmkwOndM0s;mw`nHh3&zpN>Twu5hRmlsYIhp&>(l95bfU3HaaE@_OWJV8OnfoF(Hp^iaE9PT)CL7|y57Z20(6e*z+r8erZ zGoBwal6syos(w+Ad5(aKg`hJhZkm_|^D~OkN1oAQ8^%0U4F_0|q)hpnD5KF3WF(}L z<}@)?otL;2+G$*XfuMkCuUa11d{8m{Um;%i)}5b$t=4z3j$pTa-wQbGW!IDvSC1 zMQ1B!-*T~24oXWFtRCYBr3_q}JA5aKj7tufU>uI@MO^EN4<$;Pa-@a+Q9$Jcv7uJ74xBsba1>LJf0=z)oqpd%-SgX)1Y$ORLj zddx~4823~?NYVoz3rRaJ>KKNajn%v6rmXh9N_vG#f!D5yc}t_S(~XhkGZU?&XsQ%o zznFmL{^O?1b(~<|$N8!>qf%VC^ASArc)n8196CR9K}@4$ZInHa(%lUa@tp5&Orpot z2ts=vil{8-a4u)vF|lKr6YmWimyOjcDJOi41IHMZ#T|82a~r@8^;M z*$*@0PhVCBsB>b}`TN`;E-2)G=A!PwG-qK9b_&pEXXc!UF)@D6Geo850b$O4Q0&Ht zofKf=Q4O#vln{~jY@cYN?6q=_WN zCw->d;&RFqpU2bCVGZGOf&&|>bAP$9BnoBJ?9p+KPOf+ox*MK^%90N5T+$kFv0(bi z?%6L4%oxhWS3-Bc6EIoK!5@p+02Uc^gBZ8-gFKS?R;tY`f1dMBbj zJezZ#E#P7yYRk!O`zeY!aD%hW^-jWkl*1k?hXO1}Ql=cYU*6YZ(Vv8hehZ$jrA1g?9puJoX{KoYNZpS~ZHnF)sSCY7&@f(;Dxj zn=b7RwSh78Sy-EK`;G+cbMmChLpfMj5)@NW)8WeEo1i_LsaJ1t5be6k9{a( z@_~3W^9yEX7<=XyEVE8uHj&nb9H3lOlV@J>!_99P+W0BNy;M9D_O^ zAw{n`| zz2azC^3(+ju0tB83~=a~DAEebSYU^2HO(hTn#;$2HA!A%SmT7STpS;uLR6M;RHqWQ zJoYKSx~YxQFfs2Aa@0i)_?<;Y@{RgbzK+K}(+H|Z6Jnk}m^7@@5~2YgOd94z2+_a< z0)S)BgA17n(p(uQ#58}DDp-IfL<>Gj6-@dNqLlI=%_%BEOqgRJWB1g|X_19GJ(00{ zhOrJazwVS@&tsoT*mEtQiCF%Pwn&J zJ*+bAvH~Cd9%c@4S)EGQ^Wdi(>#xvK>nL%s;5DJoP8A2!qI~6`wlWSp_?b>nb*qpf zI_Di`Hohp7& z`K`%G;b4_6LZ6)!4yK6-$((W=dGJ#STdpfMIVn6WKNgY&P6`jR)r4eEb;9xBXENp@ z?h3r;(Nn20LUU8rPmD|XV%+#sRpSU6kP{CsX1JNl$ty2#Jd{NDj4p88XRe@VhNMM~ z2js|uiyY5|?RAj8pVe5h-en_xKdUi^&sWrKE9JE2>-! z73dtJ3mgw(vy3ZoJRk=iT;zDFBN(!koSJGZ{1>w9)Kp{QrjXSs&zVO*lrs4=vYCG- z^|-2G$Qt}i>X9xxMn2Sxz@wkZ*`=|x-z&N?(FP&8)TL(;Fe!hNL+4)g?ASgxmCH`f zI5pVhuEgMzuOF0AbbKsy30E*8WugT-jNKhxNEJj#p-=uM zB^9C{%yJNuc@46SJhYf4Y~VI>3C(ZlC-u&h`iib!xl7}V5h;^c$Wi2VKz2N`$m>*q zl!}5jlEsO42#Jte$qFfY!h?CpZRDX(C7Zd>=_pxP4V925(E_bCjCrUBj)z{$_TR66 z{O7;^`~UN=|M7qPpa0`O{;z-i&wu>eKkX1?|f^)ePf_Xxq;CB>tFxz-~ZqLo2FhOWVtMw{JOW#b49O6 zC?XKXW6fDLC=QrwlO2t2-fC*c%y=$QcFGKS5uS&XXZVh*nw_Fkz1O#n>lr>piabGv zNBC6BkV+JqQ+8}A|9Z$yEw*{c4!spS=7t`;3c{H)eo;+eiFbfa&r&5p&dJZHYO6R= zgl<^u$LL(|@fiErPNx%n^!*T9vQYH0hmWiv@o?>SuS~`^KP>W_1B=4hY z#;M5LrYBb2^@-mNf2I5Ygg363g7x%f4F2(EF$R^%5Qca$?3I=XnWD|BrqQ=+cwT`R z*KxvktRIZ?jzmfH;=xFEI})Y&lLva&AYY#a6Ob(bNL_fc`FZDhx2cvR%Rk}#AdL5n zrMMWo8-)zQauoWBO&a7yp^)q~3I+UsHtkJbc`xh03cN9vv=(nTj^(eQ+v(gwZM!eJ-gY!95 zPUy3Te&yvy7#%O6+KCzGO;JI)k@S8fAGafseU=A$k=P%%L86>_pZOw(+RbDf_PUL! zk#mRfjzT%6<8~Cg8AV^wOM|?N!9g!e6v|ZBoQqG2U^bW?Gr1Ux8RZQ=zI7+t?Kmm# z#<`E_EDrPH_$!AUDesSu!5b445*Bc83zCj+SNEpR=@^+Z1Dszvs0emCzed~_d8f{A zVssdtU&Ze2WkWnh=NO-HdA_)dexh_7Xmg5uZ*_e0V5-E(^LF$ zb(&C^fe`|vV@_^MHGL$BW7Df@H!+d1Cy%&SKJI<7o@hE8cU>^bu^wB*CUt|0Xr zpCEmh{=z{?Ba25C#LvI-@|Efcr<(8SMQR$zFRr(>IOgPoL#wfp1D) z%0v8`6Ve?{)~NHz=3k+|3F(e`e^bGo&o!6SYR7Xu{;i_qRy&?+F4>w6=bB2Uq(l6g zrRa37=RXpaG)1TAZ+?_x-rvk5=lH&4`Z%4dJ2y>lqK{MbH}Sx!sd?Z0AETF7^rx1| zpIfH)8U3+kdSCXQvi?4+Jx15>JJr*fhI2dfK2$xP>HA{tl=b(q+VM>D`}pg4rsr1X zef@Pl)BHX#Ih<*FUw0g$$MJ9MANP_daF)4Yxi<_iq66=}gnPg?S^G zk7xP@Ql7H@Mll|vm!QDYndWng^hO1q&a{Lq9kO16hK|uoFwWsjDZJ%)rcX4^@tV?O zbpMOMh&LH6ghxhOMyfbgj z`#|QHn^fM@oN@EMW;q@{m&Y%M0blM74?jGbLy0>-9NxbX-G{@+5-EOoZ>f(M4~1#o zhm40F-0;4%IpkiIS3HMS$BoHGx1WuSe|Q5ZX;06sPM4wj=#$-rc+Ah6Ec=+9klNHH zC*LIw=CF|NUhnAU^jpBeJS2kb-<$!*!-p|%z*>*(`@GehUhnzk?D6M-YhTZv+^Jo* z$HSMGW5?SHy&YRJ@0IzL4e?V((1k@)zZ$;0&^Vs#`=H}ki>GHDYwn*%iRT}B3Or(5 zF4b>_ryQ@|o%?%!hfYahz5B(j%Tc^!JRjaL`tc=D{bqE^^5@<8=LtEs{JE2mG7kO* zoi^1kK9(qHr1!sYS%%-BQ!-i~e&PJ}5B{-i(y!2&o1u!@iW&2w|ALwHE47L0m>GH% z7S*q`<`?LOUK1Rj;Dl;S{Kaq1>R0&TML+)ah0%{ML%$lFBALzkH;f~%Wja5>Y3SeJ z(+{7&!RNZZ>G*~~-^#yYpM0JE_{gWPwJ*H<%pUv(pE6aaU)(y#D|m0yidl|6rf|I|4?zT!{-?vUhk?ba*d{AU}HLhaQr{9-=+ z3ZGK;{$}{_J9eUa9+)40zo*~fvwtAF^ZR1_)$mb0FV4@|{~i9r{{K(e+wID>+gO_K z;_Fy|B#Qc}S7{UqiEKBz03$1roq17c^t<;YHRtxRPeknTUHBM?H755EMNxkgN$~UU zFW?nAC+&*9HCca7)AIf72Z`Su;h!8Vj6T8dKj(P)ehEdyKgq{*I^~ba%9LY9CVn9N zlZ%YeC;0luTxZHfbNNoZJY$tdyts$BrOUC9uE$xn8!m=U8iV(Q>oKK+iEkMw`h(a{#(qNf zld)frJ;C?HBle52-;n)gy5CUuiuhkqwEE#|r0OX8;cG0u3A`m--@$h#zGR5;4`T0( zy+iiS*bm5_;9KGm`@z^x$bK^2PpJC|#z+NG?CXY$R5pUgvy}?AgprY#uvrs@CyxS3;t~7K*gItJO!p3T?_`XC_YdQSi&Q3quY~I_Aj*T+*|(~{QJ4vr zPhW#R5FhLta3CX}a3Jykz7qa}$Tvpb7P<5BLrL^M4q;$Pk_xCd?Z{SA?v{d z_FGq^CtSCh!NjkG%Z=^%@Q08m@R9HzLjGed(GTP+BVU>3iTIUpeT10)sv(Qq>(gJ> zmk03vlryhtwA7pO=f7b;_4iPpioAcL55$jzgW&LCi;)NLp70+;elhZ!k>61Bn`xfx z*1Nu2&l2PM>N#tB19*E%Nz3t#e<(dIvUmLzUHymZ+8TWzz9(F6?5R(V$OCx$WA$^9 z{9xoKBR`?$C(}IHt9vCOWPhl^tAvCRc$PUPx5JIGS*PYQV&73*#2+e4YwSB??~uJS z-8$>mas?o_0M&4f6E@g?>fSay&>Hb@yVX- z7zcRI+}{*T{Q9H|!N*g&v8v(vNPIsfClUM2*l);wBlh4$)Ki$0Jm~s!A=B^d3H+3H zW$Y``Jrch}@xR`1>wCtmny61AS+Wqo`%_h~s?R)-_;!i`BKDK9pOF1z>=$HD@cobF zB{lYovEPvWX1d={_hi=yUfpFyJ0pQk2;QEOXY%_UB)*(dZHT=y_72%QV?QAKfgU&g zQ}MswvmcE8gzP8N{e-$F`$qDFZvC<7lM>2E;8|Y_%$Rq*DiDY{wxK}G0bbnQ)xj8h zW9&O*-_aYlL1LC0g5Txo7<*^Bcc^=^>)o3?4j+1$Qv^>V_VNs6sTXA_;JcgA@&5n{#Z0iW8WBigY1pz-k|PHPsAE20QE<1J-<*N*TfS#+vtrO zxQnO=-53=k!ad(P>Td|50Ek<)Xf8k@6cmkvU# z7sF@fVS?`nA6D7)dm1C?qe{INS&Y^;bm@ahp9r4sT?fm_+y=0NcsmT9s!alq_v!lU z_lWfXH^Qf%Hc-uY@J&}G2pB7f&Zv<6y5CjnPm_Uf8ZXzgkcSZf^m>65ZNVDAeInse z8q*3eft}y{po#v%cVLo8KE+Rl4{u|pyS|!mS$YI`zL4%G)IE5@ob&O7y3`LcDq@ps zI1>4T;8B>%s{B?iUW3OcO@EtiB;Nb7;>4@+qev9M$76FqKNLg6+bBwg5BJW3Eo#5=-AiU@|cOo@h`)mJ^5DpPm?@j<^% zmhy{;hpmmr&g5ywKBeo`VNxa(zY|a1URQExSrI;xW;qB2YTgqsr?wi8_^t-i0P&H4 z%=N&ecn414x#QF$-6OG;>roCl%%`3?CepOHo)I#212RH}Za|1eBv(U!v)wHHf z&*2*7F^KqaMtR`|(IR&%_UipNR*- z*GxR4Z*eD33kkb5{njDEXboIyMDVrgw-gcW%)}3b55*9Cln5aBNYF>{>C`}djAr?X zo+-8XHZ4XisOu2(+W>i!TEa=DavXv&j!olK26F@>@T6 zki#eNvg$XY(;}!r7axh1SZf!;N3lg)L%+)2`H5_pF|PCivN=EK@E}gu#SB!&*k04TjHiYhsITP+oi>RFup9;Ik^bmrK^985U*Y@kiYx1KkG@#Qb zfv0`xPY+Y^1Rj-xfohzNJ?2vs}4Zt6_q%Vxm zfF=0w9`d$2ov?mQct*GZTNn&~)6ww_;%DO3`P+zc8bZ4>bVRX&IV1v(GsRTbLw4o6 z?u>q(dVal#W+w1oZEbq(U6Ae12>b*D>jjyT3~#VU z?+AW3mAv-`;``lEC`~V*lSfL699YE{`lgnk`^(#l9Lh9uRB;|w%kc~jB9v{v$TRP2 z2ZP`hk?BZ{{Z^xV>8i{2PIPV&1K(sS0gX@elj45xRnNIW@cA&aE%Y`Jh|h&hl?99ugZPT) zaJ{caW4cf0r%1mGR5cKaeOlUCt)5P+x}XI9AbUz$8NjEj)ae*wZv(1+B7DSN>c>-Y z+yu~Z1PY?4fanO)1O;6hLC4B%pd6D3J`k6M&>NvA(jn70GL&$2#IDB6QK>FR6{A22 zcOyj7ur>*wB*MeSHwxxM@WS8=wRCIfXC@kYRgJvqE-0e}5Ff|y1U?v>Ob!9?4YoF~ zDs}pKR}92wl2(%9r;VGA2%irfIXwsItOnu86!NZ>#IOz|{=`TO7O^q(Maj4WNaVYf z#qfjCf$Y=lJByLf#h z$EN@~nOPCwGc86LC>s-KZAE?6_s&n`SD-CFAqiAFC*gtFOMh$Uy#j4_7yqNipN^u!BZ6HQZL#vDoDNv>!(W{#01ILp&1gS-?80~%=Cbx)S-GM=Z$c2Bes&I z+;oi(kmKk)b{ie2C*pP1^NX2OX(yYZkVdBZM>r3@i> zhkOQ7XP>u+l?N?h?@T$~Z!-F>SV7+ttX@SiCfL4E@{+}p%q(V*;K5Es%#FxySMN7H z0Z2d_a5F8+OA!1za5=Yq!sQzoB)t1V+@pX6!N)5D!oIXed{^JN67hW@@p*dR$yw%R zc-FVgDuXu$HwJguR;bH3?po+HzUe1q=@Q)0m<7@|L0dso!U(`o;HXS`j6gjXQw~6) z$GAUp2P0|_IyqqVlh0;MIXOfK`*<~g@RPN6Be*RFFN}PQK$6(k60VCM55CGpkcs@P z_}pH^J?ZeM+(+1Vr}%~NXC4RDe)=!@TKV!Z5Izlu6s`)iY&kovhZ*wL@1cS_DVvy< ztQYY~L)K$i9kNM7-q6xO4a!d7$IiCiwVt`2e;V5f{E$lO1fR+$_JpTN8ISa??*u?;yaiFC)bmWEvNH$3CJ!BecxVR(m17Ihaf{xP7p*nFKpGbTtG=AC!t*Z|&-7%W{(04t>H* zd9vp zOP4d}1zv_v0#Ch@wnkxZgn!sK^`Rbs=h;8dWuBA)_I)~%Z;txPav}u5Gv-8mEid_a z*tfmFN%%zqoP$pyyRW9xPRX)umFyt-ATtIkD4BBJQ|c)Z%BjfGz_`}oIWkDSmlzp~ z6zy;%KSzd6KS#zQ`63*N&+6GIX}W<*3LbwVWh_dP3h6f$%Yf+<19PAoyVo zsmEY*ZJ^GwMc}apHNAw07i2lHL?mqun`d~Wn`8IjVNX2t-9zu$cEopL2|)Zn?2jdY zS5Jj$=Qt?|e=k~X=tarHE{3^=7j{6P40 zutfQ*BmAg0AGs9HBDOOcvmH06&eo9pIHUl^=AF^ESSP4rb0GLM zeS{y3&p7hQNO5)?M(}BxfPPMJ4ie2bv9*uGU*wv)Fnn;=Ph@PjN4z#nt_>%_*TU%6 z$bNzF#?%w(CYGMry)n4`YOP!pfZ+|{b0N6&`kQ+ac;@2Jm6Hpj)zQs1Q_d!I_G?dI zW;eRYCntJ|+LNV4|=V1GnwKKL?4z}q+KpFG);xrCJf;T9R!3VRV7 z-*n)D^`vg;fpvH~V4Y0*UjjD*Pwz_-z%_=qJfqmC1Ow1zx@!VA*0F;%HoWx)C25Vy zhss$Dz8Ra#1%u3rxs$C0UCkqWELkf&Jp=e$g4TkTpjAJBD&t|JC(Q)-%$kYtgV4{- zSCvoaPEyW7l5!IAc|cS_hU!7s45<1s8^kmAb1?Wq9h+u6pi_Wnc>sTu0MS4$zo{QZ zPAYyt{9?_G6NhFmaQ_kTA5f?D#*1|@2EzCD&~K_S5c;7>AU@7gk#%1@oeqjjZpLOaHj%-5l9vfJKVi|r zi^cygc1HokJ7beEx(hw4VE9Jp#Qi>i=X?m*!5j_gj~8 zAtwOOlSKj_4|zGS5@~ECIyrRodm}=}Iuq{<4wYjQ;*oML7)YwxUi#z7%fz~#Bh``Y zaM)cBZM^(7p%Oa;0-ppPeM8`5hHpZ*De;N!Qvuo$dJ?o{bkvkDBhmqnNutmZyfXOF zqu!}UlRw}MIKvM@KmG5}i{ym+1+7j03)onP;vM3da%?iVteoc+&IY5~0!|)`gB!2N z!LZr$a*(xXA>nRBxOddhcvuRAJ7PXa4Z~;?Yw6mGIcNmEWTa9SyR^f~E zQOt}%X6q>xLweT-M!+L=xH>W}{B}KD?t*vIQ?*?1sc(`(?_iTO^b|REMpEngFwI`= zuJ5UGJWVx8_s9*~=;~l?IatNW^nmLH!DDbwy&(8#XwnGjU{!iyyFO`z5vJ2t&GB!U*r1uM9-xWaQ*pfzr~C2P1xjPTpga*&N}=&K3eec zk^b)MJU#-?-1a2&&toFJwF~uBW2!$7zZOb+$?yj81>&LUECw%VRGqg$i@b=**9yg_0F^tua`jQmd5DBopAvRM`$~7sHp4SCeppzMve8TSx4CS1@W7W zlnA>m3yv&3$T$a<9@Se0k$#31c%yFvHTDdYMIO-*@n@juG0bWBdN60&Jy@wtrkrER zdWOp#!J-9TOm>zWeuK^Pc*Ki4rp54)dw!$6e85#h&dW?NK_K|>PT-dJ)8II*Ax*|P z1k!w2NR@?YzMg(1$8SJ<9KVsqw!3G+@f#7Jb$$qb6f|hVArL!`s~EktA>Bxw$~BOS z$^*Cy-@yS~0a+9qVw2}}0H4RyI{Q4P2Jn1l0S>(4m|7Q~$JAst*^P$g2$a#4AFFS|J{G({{N>J!B)2h8wl>~Go8Ha?7Lz0_!aLIJ=u9Hb4rpd1 z&H>CLcZY%3V!1W|IWcoxsXs&yTMzLd9~=_z1fC9f4?RizMGko2W7vVr^@*?Mbp zWRv`&&5-yAguec!Z#7GPqvPAbljpc?kW!@p9xVm%T;zhXgbv#pk9`4taGWln)4Mhefg9Yw05+?;ERwM@j433$~PG@=@ao@2;A#H9TjoGi2Y)8 zA|!#>Sq>|`R7@)gCksFz{&W=!xDR|Iy4Tq(+Ss0RKe(F6PgJunHykXz3HkNl!O|Px zb7R%n(z~N{xq!_%<1cYg9iBD12#E%71_oK%B&L-^xG^izx7kamt2@fRB9&O!zOKFkKt zIpYePD|ALD&UBg=bWM5cYXf! z3dP@j;WX845NdbO6UVIx>}=!raAVerb}mT);qojuYu!@0Ig2tNy=vmA-~PfBd=Et6hIG>g(oLonO!0Ddwg&U9Av#u>B^Y8KxdjP)LGncu zf5*a9Ig&qeLxE8BQ5d`;c=!&mv>C^1H{A;pcxCW=4gpSk%9&l#X_E;moHoIS-vb-{ z^aTj-w{n{73kd!21%!^lzB0rE?0t((H|g~$&_0K*eAN~2uS$9q zp?f1tdPitSt$c`!CkT}YpMfC6;|sYr+kvYGF^1rIkupJ38-uT>t>Q6mLAq(HLcAmT zaoeH8^ZEj?={I|M^RkfmTnGX2H+ysz!=`#-35Lk$+)d!Dt;U9I1lln?RnB7cH-Ya+ zQ1Jt@JOFt3kE)-TMT%}Bd?0u@;sqYB_kUpue?mHo>3$6)e!oa| zbOMf$1{LcsJ+0`~I6Z-SuZOZ+T5##_pB;&wK(rGcmsejXtO$0 z0UEiG{uWZniXYV~Zfok`^{RScO!Y)JeSiVsF~q7KPS79W`W_hwpGbIAh$e7G{Ti2m zx}%21I+27T?IT>C&j6KcWCGa>DPy-S_eN(V1kT8(^VsZ+gy0vH zpKF9oGKe$rNIPfB2W8~1^)t9c@tt3Y!t-&a9=tJU!kccCfJ;8{o*RX;9`SPQ#w}hR zu?Qd81PJ|@1p)nhlMKdSVbYN<-3_*NL;QmHf$-;9F9?e24dOfEGx~)5X?rK>UR%tR zZB-=xLUcWkM(CbI&O~VsXBnPJNLN2_xx55|N1%;?K$}R#Ljq@zYO*Y&qboHa-MkU$ z=IiMv4L=I%R~r@L9kn)6RyevcNASVMNOPk5oH~*CiTcWWWvzuC!8#J(He)j(8zw&7 z-_W}%yx#y9$>IJ6i0oTOd;<<@kVrsAKV1~ylRgT_&q7WES~5|8RMD#XQ}&TxI0$JS zu>&SCtwVozl#%W;vJ~i#^8#<+1@;AB-~~2m?KmIEU3HXi;PD@jo)5P5mpgT`#%2WX z^}zrUydi&p2wq(|3;d2cR@&j4Xyml>uHETK6XRqfcBp7d@qyj4Uej>(bu z&crk2*kWwb1?mT|!Nf_8v0r#SLr36EO#m_;`J&+$#wT)5A^b|b2zNW;)ffaHNc+*T zL_6*8+VA=s3{oYl-r4~#Q)TUBO)bDai(~=i&vuhvYHTU6gi$6UldoiTP0o$XIOF8? zwvNU|Vcxm|I(h4=>(aav<=7~y&w0{T$nQX-7KFaU@kFB}7n3Eqn50n6SnM8e=zcGb zM+XSzvxkiw{D;I(CO!^k5FXOM?3d7Y*4jt)a`C>Kdy@}>hdlQ399ZW*?w%6i^X^ym z@@6BO&+8bSOr$g?n#?13U6Xm@4UEhl<(P_Rh7c*)3H^l}NFKlgn{R`V$>TWyw}MoY z*M10Z5Z@u5X~#B!@7FXE!w%3~8+&J!a5q$4u(pwW<>jV%s!HaWs4 z8{rd<@X1E_gd=>y5kBDvpKydvIKn3z;b0KPM5Tws#+s(1sbT7+hGs#+Ct_~PUMDD~ z%V!4Usb!o3fTxym2!O;-Bt8xS2%M3RBLG6)Sz~ibmft&{^@kz50gcVAA`!nT#4|dR z={^Q5crUXOuI@sdfcHzEU1K2+o=03`6~Rd(W27SClL)`YDM2IR&Xnk=oi-tSAow-t z2t4K)LZ&k~=_GrGkiJg@Xk_TY+d(oDBk&l{pcqUHQ72(g(@`!HB77p@-WZ%wk3p(a zchb-_bAU#&W5hYBA_dT^zF46ipm4jbyy>$)VctaH_bnF4jb2}<#M*x8>8*#qK)JN> zBDL6(hZ^3uk?g)F;NACrp)zdtBFWar3#D?O2yTeWwZA0jg3uMAH)|$RqVEQ}-?t%j zCu7q$89`PCP@+}RK~@%$?PS1NMIB^yGU*FR?~}N=(UIF40|`gocA&u@rB)^3_mq;w z%18~mDn~*_2|AC|As{j$J^+CcDPIjUiV}BTQ642kXFcNOr${&bCKsUto#nUoU61Ry z@$z=@7=yfB4EP2`;)pT_>MCc3uy5f_EfVLIWj-Wi7HjHm1fB^{2;30)d<_lonYYnl zZ7>JbxC#^ROqm<`vvCg*QgF{nVY7wA52zbx3gOPIqVx6mq>{OZq&MwMydQt8pHDD0 zli{5y#~Z69>jv>mneGTapl*=xjf7hv!tL~ud;~V`0Rl?k>NTgbKJd_Ab7g&CAl?(+ z!2szX5qp*gX73&mJ`4U1d8O+Wwbr5To$20hWeza@Kw}5%Dra_65PTyphJ@ScRPjAx z-0Finf{xIhe-Xj^fW=cTB066uH!x?9BfQIRlXY|~9{?H>pGdeP;kyyxyEEZV3@b7W z5<4t~kcsSw2%d^jL%53(bmS1wr}dra2F4J%eM&AUVF|dEEewvhxFhBhQ3+=O;JYz+ zC)D@d&?*li{m!Qpz$Ax|ll-Eg6jR|Q!k@Fk2`U^ny?kN3RtLon`;8XU$02lkh23OrHq zy9sU}pVojHU&)igTYZdvoCe(qabtz=zh&sz3TV(rROJdltNhy ze^DX$xWm8kT0N7-;77WO?l)R{m*zxv(i`WJEhmo z#LtcJ`);ioi&gz*FJ}WIY;vjvg=Mh#jl^3;;yoNJP)?u7(sJ^waPma>#k9ke*&9>l zFeVN?#pGU*i@oDSk~P-0NhT$;n}}$zj9EVYA6$!^r_vAwld7w$>JF zEmBV8DnQB^1)0Ke-y6DPz-L1Fo%PmeXB^6zq6eZg8tU9(g~075FS~o|NPI`+U^oI#z0?At)mD_c)!!WuGH1-0fh#VM=C-HaH@M*XNMx z(lG%9yz94rL?w|LhQM1+V89sxjYk?P!sT?nI+H#z%OH$5HXSN@-2u^htrPvR+VdQt z=*|df##yhro%mCbVdrAAL4utiZ@M=E25PlR5CcP&SW>LG~vORtaVeG%q<4Qc{+2w#NyXrMpCtrPSnT@>C6!4VgC z#C#wseG>S1v?wQC)R{->{7tsq9Z<1_#cvAo7%;SH01iGfp(PX$G?U<+*|IYiB^v1EHseeySc7 z`7KN29Y^qm;E}AS$iemfT1OtZn51zMcx+Jt8Ly|Q`VM#_d@cRKYZ3p&A$~AE5#mww zdW3#?NFu-8cp1K+_zCf>yD}95P=9!M(p-0@oeo<&82bgazX!xK{_(I7;aefD!CFJ= zi92Y+1x(w(X zqX*(^gZPQ)T)XnIWi#IS0W#yFzfX@<3xQ7r4=XF+C4QJ0!W+bQh-ca{r28~Wz$TqB z!Y@Y0Rq^*3;E)sR)Pq$E9_ZkxNiZBFj&BTZ4Bi6{lGp>`={1Op91Ok){BlaCr0^1F z;_Cx3WNwz@9OViY13Znooa2yVrNY?}G?HzF5D&+Q;ElnJ!5y`fXfcP-27_WDcs&gT z9x>pimuo=M3s6j~NeFr(=6z~|?z#Lib@j4e71jH$a)Ic$X)!$!`mBI;j}l=ZpTOLN zOB^m5dgFM(T~9RwsDz6Pxa)6m^t2D*v_iP)k822ZV`{X?;49!Vb*7gNY%#p8j*bNm zY33lqqMczOCj={~Kj%WsCsKJ7{4~8($m+yzwN;t)fv7uCV^na^ooEzr07G;*F_)q;3mSK=X7%7&6t!yz)2@)L$b51yq+BF7Twiy zlDbM_wQ71q)2@U{EI)POc|J(81#cqUDiR)tcN4An2p7hjsl_Mg{&tK-uYXm6-NwR+ zpgTf4LZklK9cg?cE8j=s2D1K>xTVRYlhL2~&?hL^H9;3eg{;F|6i&Qc)YBs9s-d3= z2)q@yK&$%hDO#?rOwc(?Eb!X09^y^*K?}qHY#=)Hl4dEGqGQV5_Uifrm@il_-LqbK4$`w`v5qqQkVj$fJvJhDLbM0qO_e1K+VJ?n{z zNP~v<$5Q0G2Et__G&0&qOG|WasEe}x^&}S=K#RTygD=!a%ZS!jN9c;s4$$M+mO3*J z>%a|-U)?Xl2eFo6lfdIVi@+yQqahz^lQEy0sL>{IbhgllwpAGQhGwD_^UIHZP%-s2 zOU%w-cMM~ zl}FwTwS?>Lx!mGamwQWBry&B5BufNeqlATC9KrLIpy}!V4_r@%)Crpme*lfm_y>Zw zLJX(nGdLr!Y8aah@s-i(1n$02*Ph3^y7*C$C3L78FA$H|pSQR6LT_mezDzc7cjaW% znlI!4ZFGjeT_D(U5cnz#UKyPEW7`!ClSnp2=xk%E|NHbHXR{)fv(c!Hd{)Uuz5Li4 zv2WK*-hAsRbH~hYex~X&6F&5py(!()b;uF_v(;;4PrRx33FC+#`Z5R6pAPZsrY}cV z5b==(3*qh1->SzSPiM&&E}*qpwDN+>xu0+4kh+zC&10GJxax_Q*$gxcN2$c{M`^69 z#$w_-GMsU`N?qv8c9RjqEIaAgQ6}Pky97Bniw)U$s|(sX>Ll)X)b+3t@f(>zWA1Xa z3h~T+N5B}8?~PbafGme}T;3u6tHH@J3YcWP~*Rwdk4dfojGt zRaSkL0(3T`vz&;JAYvl^taBZteBMYqXI^kU=!?-m(}<&3VrC2-nP!{F7L2tvD+VDv zY^@<%%VJ8TwNN=lCI8G-AW?04Ky_zYf#@7ig~Z+vHy=7dsgnu1A>x}6XVaM(Vm|R) zsS6*eM0xAl5S3v!94!hO*yw_W-fEE-l0qi&4Q7c$?$Bov(vuIyBqX2t#~cLiD=I=l3la z7QJoZX8@;n;U{ooMEn!vA=ehYjgwqnhx`uC0GwP9jT^6eky6=U$qVl@8g*wM?AgRl^$^OjSQ|KZ<|-& z1kQYa9{B+A&Vt7B=9}QXGi~POH<(QGGjU{>V(r@p6)ewvj9A_4Kkp!mh`;i)Fu zOixnEx#`*1%H64YHxc+gRP;_V6ahhmcZ7C?UIcxQqXs%3rON}t`{g3Lky44C-^gdF z*N>f?>t6PCB?0M+XReJ>Rerd9!bE(GIUj|R`y)DRRF!@nJm7Ll+Ywj#iJ&Vyn zof}DiJGw+bY*t5xznsD6%|#ovg-Oq<$6!>offT=>6*ttc&7hT8WpvD-{EqPPc!5~G zL62$7W7-zk+$)bIpISxzRB+gOEmRO(mHzP7(^;)?qva_L!FRyHl8FevJSq{6s9fHi zP??aq0WMMX5TLCSD)B}b2w#l|?{y=1tAIIDch&0w>ES#G{BnDw zt>O59_|=gaFK6(9xJ=a2@E$i__VLJSniKZ9Vm1_WN#Nnm2>IKF$z06jQ#>={4wY{c z(pgOW(^=xmGhB#%UgL=;6PpgtK~=$8CAJu<60r9J;;-3SR0SfA!P8Bogrf6X91a2Kr z$&-MAY+V=L%f5xnwhn~1iG;`2p1==vHRXn(KI-NSK8RwBsL?A@W1dO?<~a>7w)3t_ zKMiV+_^Pj$7CM_cbY#~~;JGHy;c=z{bh9c_eQb^ELR(`1_s-blZdBLJS-vf_8wK#Y zqtI><;XA}vWX9e%!sqr9@mWNj-Ul({vz*jZ)Usg`+4PWZZu0Wtb}S~}nXUO`{C!S{ zXZ%Myw%qiHH6|XJ+F&l$I+AYAY{7==rJe<-eplZPSX^kWK%)zt%C0#pyZ<49Vaq|y zu5rWF&C_y{XM3US3V=!M&=I^K=7!K6p*JC(I|M!3O70LGnYlAFceIuSTv}(sC(=t} zEp4o&$GXU!YX^_v!Up1-rgu}of5;vIh|hpI(61G;=}i1&UKiV_*|>GSSBogfGG+)~6kf zX(D_e;hn+bfLw=%(dyK5$=T%rnyW%xc&iBA5S3VQcCaYy2{#ZbN8pojUx>RM3m}1b z0Pabq>$4+3k3#eklNW(c1Ruu)mOd9D;bhp2)1xZd zW>La?BXk4(8An2-nU0$2>sEPJORoXu`66zJ9t_CQHI1ud&>|JT8!9eyCz^_S%!@zZyyJq` zuFr~7URSJNGqgC%%@>)qrk>y==dG!y`-o{P#CI@pv7o~-Q9i;k^(|UK+;cJ_WIQ!F zz-k1*Z8I_rnL$o>NH>$P&l!x+@f;!GHOrXjwF!bdgEQ)egwG0u=PWkmR5Ce@&6iCT zo?16q`rT6bY4%Zjljo(oS5^9DA(PB`Z_1|uIq^-sT3J1QQq8fJQ=dF3c+98;1f5;O zFTRlvCn94G!CynltDXY)ngLV1oV9(PCaZB_;}I|7C&K&XR0;j)DWIKNHi5?!OW4Fb zb(AS5o=4)XGx5&gu(39o_|3$3*4Vxf+zW#*M&6kr++$py+B($bKy)VTs>O7_8Jmp^ z!3yeGYXvzdYmNBJ2)`$)v^E%fWM>8)j$JEVhG(rE6LsyF1JbGK@#V9lOSXace<3^Y zU7t;e_}En={MB2gKX#1S1i=e~R|bc=v5oLC%o%&SS|v14p@+bI#!o}d@MnT_*jD=ycZ~cF#LjiHk7}aeqw4y_%=v) zSz8Ex{SM$UR}u0tSpo4Lk=&C@|30%8B(HXl*R#2>e>j-E8FL z9K#oguMp3)W1GO^gcNkG-IgZ92ZK)pZv{2=QM~D!JYvRn8xC0NB0Bdd(dW%Z=)|;) z{N+TJ5VJTFKUMrQH&i|GP)-iDApfev)4dY-K;%>F03U}B1fPae^?X}tIeK%`a1for z#7_e6<=U|o@>I(68~HU;Nx1&BdXV-G>d>bprC+nedL98bxV9 z$L7NqAUH`mUv$y!J-%bp4H-6}J^==%|vChOhgG1%mgm|W$UK!jNo6eNe2eX6@l@rJ0 zM7~4Qai|_=rshnWaeYJBjE2OI!QhPifaGU|jWt5YdPkOH-64Jv7aJAL0KEGnU5rj{ zM7lS`JsyJv9AxGplhuH1tf0B=1(=BTqzt7S~3`TZ9 zdJjT6^`WCXK-+ygBSs7j0$u=YL?Pz&r59o8iSP0{QwL81&Q+%C;jFpL^hz#G0uCPB zCmZn2jj*u}#XH0^<=A9!sGL}3BD^6w9V(|Y<#eW;SY#47GaP5CacF1GRB5-J$pQMk z6Z&@dEJz!I*!PWGPOhT}emBG?S5g3 z9a?_BEm>UvMzs<^9@_D_ADAvzAl4@Q5K)4A#t zQ7RPAoX#jlY-f~?Y+)2<_=-Afw1U|8hNRyPRz8nFPGJl-%5yrY`o&V_yVl`Zc1OPZ zPG?_1jngt2J{+>nKBEXK3k#?$7#*-l2N>cT@PL4QW_j1)z8D)v;&V&^@j0lF);@db8>CgR`XQ1fLU%J{{(S;%rk+*mNR(-_k|hZ$t2i zp(cU0XFhRMdWgW$x+O~w0nMN3$I**pCci`cg!skO^Jr7_$gH(?Ye$9e$=0N7%$BN> zzoXuE(UT(gKof5X;AxeYDXIZz-Hg@t~=sN zGSVW|pPFtRm0$pHD@Zk`<{HVTZcu)Q_zCfgspn|3fz=rqRTYk^@WX>WtuY-w5{?e7 z4j!z{3_is%_!P(V#hf9yPXr%Fx_rYjP*=@@$V_MOg%p2oG)%t%nFSeI1cnkmZJ?fQ zV<7S8&cWcFgQ>}L&owZi(~@spXJr|EWMyR;oz3vV;LMWE zJ2JI%iLHB`B75Yg%*`ez&1<8n4Z%BuJAq%T^o7o_w{DMTB@Ld(u7v-PIUnJT;dA9( z*a}C7=S@<9tI zQWLX5Jfxp?FVo+ru^pVJ>%#N00dUXrafEM-jv=@+c&Fq$w9Crua9lj5mOl@Vbsg2+b%D2LF(;0lj zQH9v_{o49NqyoTe1(?v*Wv6GV=xm6dRPN9H0y?GN4K2<$$R6NE;@2Cb310-*DANuv|@Tj}xsEiw8pg398nphoiQsSF0A_(LL=F|5-X1t{zln#fba-b0+u*7 zF&1aUCqTy)J?VV!NagMfPJCiS3+ToY@lTs%)FFdEb{HGv$H_P1UA!XRjso~L+VUdd zj)YGn+*w1NQ4h0q5{b7R^}VyT77*@C_(Z}NLT`eu4WW@zYWAiaJ9r-nHa+f_xGV$X)Gj|TCE@S`8g(ccjnQqSle z;@K#Vn`vMTcDq0sz7c#eGOIE;Q)Rp@1eR$FIZWHEt()1gZRP=O4=8^@JG&M{atWX~ zV%HaO?M7>}Y@D#`5my10>u63yJD=akOx7mC&n*RbDN4AwO~$1#cw=xw@Vo*+LA!c3 zd}fK~?SZ~Ogu)#OC;i_txax%x5yPy@FO(G-m8sN)k8;MGIa3Nht&ix)?h57trn`X8|ILfEw1D#dY?FGIjM^vTHoT{la9NrLdOwZ_EHO2m)$ zYlt`bWreQH(bxnu9v3L$4NmA*7a6sY+Y`}Qkj_SQ&h)Qe;fDLJdOrB@uXV8fP8}pg zEr6%$D~Ytc@$yB~X82gU==5_bQuVmf)^F)eUbzr5lfj|t+h%wxsImFp1L(#P+?n0@ zZS{I0oI(sCXIcQC2tIBzBe{E#cxE``HUvFY@oN=uSrlm1_Zb0i!XqA*fg|KXnB*Hb zfbIz02s(ZQ2h_a~;k_dCKpO8;g#S8mXne*-JN6cP-lp%^0X}!^dMs7$*g?c_yW2a- zp1R3*H|?}`t20MAY+M!Zw{n_1tse3EL>BlBrY2oExmlNcc1?mlTj|DTNuB!Hk2aQI zxapzh?bf869H60f_Ss3}`W&IJ$tmD+4DdwK*WFT8?blY3h>wR~I(csmvB^?Dy7(-P)*CC1)*Fd`N%5wK z`UD=lrAF|hOVcBRkaUM_ov3HCI2yuth-Y2vLXBpY_Oe`lB%qZUxOJgSpsYNP0vhp|08l zo|WtX8E>eg%%SFeA@;u}ei2?7+!^@+8yi7vuEzuR{6apCLFlL}W_rL@-*&^rMaw4e zvj{2V)s>N;&8X0dLVOwfTvZhGatVod28YVA3Gqxhy)*IYpLG23#d<{UZ94MhRVC8R zko2dE zSy$PH_zv-?YtNC4F8&`rDaFzcH7bKUytf(no(EL9oAH5OTOFZy zpetA+fUDBzqoE&g#`)}!cQ0cQ<^yRZS0A9EYY{Ht!~oh4TEEHCZ<~$iFdjD_rF8jJ z0;Hww3vt=NR`MDJpjkWJnOY{`lBM zn&>bmmMsUPY&L{SA@FfjE=M;wQj0f)CLNUi7N8qaVn?Gn{jCnKFK`b20@pY%`A%lO z86Fd`|^#u}Y%@@0i(eE;rz1U5Lp4h3(S0TwELFTPSbnRANmpq0Cg@fWm4>{3x1)3Q=*d#)Q|(bptyj~l#Kq81Qvh1}mmixd z{vJzPrE|v8R$F_|U~0mGGlTt9b@P4Zu%9Z+?_g~Ad(LwipH6Sf@a(Jkd-${N3ayB# z0$ZZx6V5>EMF%)5)4 zyoBj;98#=cx}F!JA}ZrFbb%!dfjfhzUg}i2BgMoL1}J8pA?kWMj+E|TCD6f(_l@AK z0RNIp0Ud4k(CA<(aN(z%&!$i0I zawXtDB)lxecl9=gv~^C#W-cN=?qrboH4*!W@wFuf)OfQ8-_*+)Lf<1aA84mdVmTSf z58zf1`HbX8_y+L?@y?pdlsO6+RI}w!Z0pU9uSfe<^ z8yZ-%Gx$K-%!dvJo^{N9Pbl&o6rxiLvix5zT)v4yrnU+bkJvQm@kc9czFKJ5X1J)n zRLBTTB7QO5=Zi(1&TzD}7=!6Pbp8Wge(H%H(ovGM4Gl$D5ZQUCs=mpLf!*cnz+5Rt zL}$|jagvYoZ8 zG?0C%F!qbV4;uqfp`@`D+WlgUT}*t=2OXppoVl%5(>z>ol(?bK7fHm>Cx}QJ44)%* z!hCEKWnv)k1=&<0{-ie1;gMN^z?mvfCX~rCB@jA>#7A_Pik&YIywK|l#jcR(5+|bP zi-ndDG@>16v3eW|Xk!{UGH({Vrp$~NA1Vncv8Y#q|nse+%@Dk_$T2T+3f4GV}8*~F*edOF=ObWH!_i3Uwi3U2|T|b zFLH0Zw%?cuSJ8{0d%lv_xp;LVelH}w=Ck@LKbkHTDZXYdgZd(wq={~NM|AQACh6$s zvw%(>xPsQU$&|y4IFEC6@lpMb=rWIUQD03c9}O!Xg>4lE;^gh(Xbl5AvU8M zY3#U%iA)}O95d!}>?SYc=Y;sp@T)+4h4_U!*LFeb-;KeI!I8(bJ(zU4YwzbVw)7&| zF=Q9Xpx6&yUEtJy(-Gq+JmGRN(#6=sVK~A2LUbI8AB`v{9iYx89hxpZ^Opik2$N)Z z)YuqPvF;)P%o`m$1Nd10x_*V1OEhqR4-70erKbvW4u})_~$!V|QWVcV)WYlR1T!jzK=&yj)a#LkwS`V}a14=BHqakAIFnqKPBF*s0PvneZ*+Af{FnDEfG^S%( z2a4H+3GYZa@)xlL&}XAq0POVw(?5|-e9?VvEDX{6{CLa9$H7BC0^IwER#z;V=$mu~ z`fImfuM_3p!~iB8+*7n%j5%e?*|i&yJq~YBzyQ2_=(7XnF^TJ)6V(m?bFZ6pP=s>m zFGAe1o$@?u19VZmLZNT-lJK^poMOB0AQf_|C*L<=8@O?8bL;QV-xx>@wU^l5hIxM)-SB z>G;j?d2>MU72-Qm=NeG_QU4%U0R;tCCw{TultIq+b<^C(78be4(8pEmB#Cn3G61me zvk*%-x8l0=jqEJ01V~%Gb)-wb=LgkroO#%DjSlGaK`iIoEbDM*4*Xo@7IaQc=nO-B z8z)$b(^_YA8nhkjgwA+YF6t_63??3p!!gxW z+Oq_V=~>Kl5zt!EI;4_Et_$IFw$kb3w9 z2yQnU`3Z$XyfHdz&pv?(dL|Yp;6cD~O{!-zdqitnN1upET$8w*4mu+l9K26NWb&Sz zBrz%s?u^VNofH?JPHJ8d=25y0WJzk}aFHK*W+F;$OxQw0DB=e|0=2eL7g+^LcQooU z2*XhjhNB=1XF(VMKJM<9i((+*9SJ8&jDi@t-Da4Co_j6!ScFOkgCZ)pf!?2usBm_~ zdlKFYS;|CaI9exD#b|>`Uu51I4f&zb(7ZLgFgP)nj5Ki+Y2ql-#8IS)jy|oFSFPT` z;Lk7?Km`#${!=wA`{h9OKogJzayT(u8|o-}f{Q!2jSI9o**XA6n7CdRa!rDcDDlo- zesq*QNpEJppV84)5EbhTZVZkZdM#K0dbFF0ykOa#tU!?Ph2Zm{zSOxKN#CTUs}L@c zJ5leW@Xo+o!i7f8IFZV#fJzjTPuU{+^uOtK?Sb%GnD9-M*lT0(XGDwTZ2M8VhA#7N zsmP@=E@Zaots^v&eVne0MuyvwLytG!xN|)Du$aZrbDp$A5B{4uB1CUqH8!@j(>8?tjHyM4^Dwo;I zWhfEuV36iA6rhpp;}~UhC1{^u4E15e$_H_Zxs=nHOh;(swsLKzj|rb>;u>u5k7w}f zi!B3HxF>?6=|2}+av$Yl3!v3W@m_32Fi-qdD_{bGiV%1w+U25Q1YHviUc-$=7IGnc z>Y>3y&&QNiPu6Sc3%LtDL6H;|MU0pi#APz!sEcePbS1=lC9-=%Xd@#is$>%36ZL*a zI`oEwyD@l2T##CP-Bh|7LO__0)QhXa*#I4PL*?^+LdB45ro`JngS!OKp{o$|X8pOH z!6)Eir30N?8H9?J1-zWqqZU)Idg~eg5sxF6$d3!yha$JS|(cXNZmQ+n5vL=E!D4y|z`?-PO}HSR$gx{qybacfo@ zVIHN8bvw`6V|wn!-4U8-WgOdT`ojiIDfiwfo`H+EH`kcB(CQL5#sq?=^rer95Z?7M z0pLftUgvUFQs@$(V{npYuH*uSTP$4E;nN6}*j7xr#8hl62-+AGN5YSlH+@?HgnL86 z9Wi%9!Uxj%wPgY5Q5coZ;Dd0PsGX}2^k(hc&fpVpiPbg`9?NY6UkF}_8e_GMgd2ko z#04q6LbYrHAIH$UKJ^2)c;QVzb# zd3`KDFumOSkw5f>SKe^y3$G(zUwVSH7I&%)p};Y(i#BIy(Aey&HEO-*rvjBPE{ z+_hQXZl?U*5S#5}+KQ6#m1H2PLR~+4LG>BL3n%I+61Nj z*awY%VDtlrZH7AS4Rvvg%8+2R$8+;z67tps!I3YCoeq)ig~6dJ-5Gu~l2YIC$^~k`X$lDa)U~^eKmbrF_?e7l?Bn<(}!R>j|lIGID)mmng~TJvMinZ0Muo@bw5XU{VN%Z2-gubu%|gh}-)xz!7dH%t!^ z4NoH#s05(ZBixAdhuHkvt7^led#Y{Mn^eRFK8SM1M$=QB@mq%WTgRCM{glen5|>#=j(RJnokKdCzko!^!aYLH56 zr&z{P;Pc1Zi@@b1dgZS}vii&1ja9`Mn%zje##E}@oT6SQ@SRmnLPm$|5RIW?raoS4 znYznW=%R&;X-k)7O&9MtHIpUd0b&J!_*El`Z}Ae-gM$~29F;*Hjc6J62+UgQi74sL zYk0NzRs`MA$rk-of6j8~PJ#zi-uq5dSMg3q=|maw=rX}agH&<3)lIV3*}Y_R@zeQ! zj}~I_ixk2-jfGmhWJm(21OQO+c_ zS^*K4buwe;>@`&mo0dT73)Y35q=PLwhTD{dE0?kQ?|};P90k?=iNm4VI-aCnNBGN3 zx!tb?+Ldlfs%brXj{udqfA?sXH|ZJz}LQ+SjuO0br8L$=fz@v)`9{ht(o zf+_&!=~5aC%gtL?uR8Sy{tAuOZ}$(+y< z8X~JpEM89gmgy&3_ao64w=nsPrg^uiVmp&ZvO*OZM!)7Rag0SbaRxXX;~wF8kDa~B z{u)W%&)gfm+l`>f*U47Cp0iV2XC$jFU7T}dtm-64`o`kjz%3KuaA`4FJyqdm8m*cr zyzUp?ES02%btHWLy3w~K|A$Is7nH`FNEnYCK5W1L zMS@HCv*dQ6?BM`lt2TaJcAKfbiM~fVQsDhI0QI~rEkz-Tw%p0E@0~gWI2_%1MTbKd zTidzfgN99O_mc zp3bah8mao^t<7iZN=c5I^cd*#?lPBNo^ML%OXb-{KNW3rsF`IT_h{nFSIp!T+RsCD zoqx3u1BI0)wmC0h0v7bfyT7Yx61Ve>#KEAhf{aK1Z6QeP?m%6u{ zS?qakPSwYnWboB}2}{2X5s3oZdD_2XVXQbyR=9slcr*g{%14XVuS22eBu0bHN)Z4$-N6U4tCLKUx)o{01W)^WUUrXLZVX%bn_P7v#2J2Y`(>Z4QYX}{mwpwl_jzxx=*Ft_aSc;t^0Sc zXLqdnh!Li>9PPp~AV2Kw-J9^Q&jN7cgZxL;-muGoPM%I~t1R0nr!p1_dz=@ZVOe84 zP#l}~5PPTiJXOBF=Hv{i7`Q8;Bkwu6xIVOgMPSQmi~4!SZo=P!Jhn5vbh^9puYr?~ zPHHQEhOx_WZbY<{GYsmEQ$OV@CO3U4$m{IocxO~ZxKhtdYLX#Gy`iT0Y~^2;^@4fP z6)U42DIq&$Wi4oAitzAw3JjbWw=5RJe>OJR^b)JVP3XH@0Qh3mxda|yEAH3K$sM^# zaY>REd0oPgwL$Ji*0KJqd-G$zYPMim!GZ&OGb{bv%#^Txu0yJ+N42!|s1aMVEGWVW zvQqpsvpWOzsz+ZXl0abS2gVnTVda!k;k8}VMUn~pF}}S=B29x71rh`AVU*IenZi&C>idqwYq-6mKO5q1tn2)MY8tbZ>6pa7S^jU$Jajr_aoA@v(FYOkxh*C zvZjb{mlh{vzoC*H25b)=*;!<1G7Z3;_NJz$04F1y{NCc;CW%Zn19!KK@y*&dmw6SI zd+zBx8*dC#jX9SswIVl%eT>Vzo0aQYlU90@)Dz(B8PcU}GW#Oc1m*JfaxCs7uyn7u z81t<*&t=SKsfhHxeQ>(Ser|Z^b(IuCn`Cb>21p_7NI|<7qPy97DVDtU_}Gs~!9Rd| zo1q4RI^z)&-m{y*5WX)K_xZSGMjzS0hJ&i2+_!BV?CH>q{C~BqzVh1VbBoFr)Tc1) z*S-=TKG9PwD%jt%1Ow#bz9!g<8H=tw_6fQ1;N+mgj#WGPAYQh@L(nDJS6zZkWbDBS ztpuqx*h}v_4Yw!+eq-ZdeU3}}jNl&?zTdp!YAUz?%u%7u|DZU`GM>OLQ7aVA%z0Cc zNk#1Wy2J^cx1`lqsFa-bM0G*HM5#pM1{KwwId$B^nw*CB^g=bNFK|&#~`}sKv8>2*}+*5znF}!&FKzQy- z)Aa-4Wv0&DU1!4VUoD4uv6zy$i4l~fs#6p!70S@m1WykQnqURt$W8KX3*qo&f0ArV zUo{MQKizc>TV~We#pNNK-d^eF#PWG&iKC^gjbtvp<(DZOJUci&|Dix(`6&-S%VThZ zIrs)^Z9j1?6~+$zu?fLq9*~JBX$rxbg3qL!!juc7rk{9DoE%Y3tzpD@q^8YkK*(7u zv~!*wl3Za8h5?d*VDhR!#{qF<4Fuy9xScqCXZWBLI0O(F0tr+AK2G)N>;bIz0EtcP z$wBY%=(B*}cJ^ei>krCB%azmQ*+3BgkPu`bca~o1O{J`tP@|Z+~t#%7m1Kzu&gr4N& zle-R9&l=sg1th8(&pDQ$hg~0oVc>aE#7#fSJAu48dDZV&^Shxq`_OF^x$D!#+^OJa zWfn(0BUEkA%i)%Jo3SX2IBV*J-9QCIh1ZAu0}*BP8eYx4gWir5HpXVFDHYwQ|_051hgjCQO5xF%u$I96?-Em~iZB3!B*2t>g7IK2Qn zA8NeN4r=CG0f(**bZ(@%gy1+N z(ql*db7(->suDo+#k`I{__?z{L+OQSF?8mlV{2ZAvw$9S?rX#8+icSKEi4>PKAMK% zli?%`<**7yM8VJJVWg03SV9o~i?q|-X(SO$_OJ$dN~sYO-x0FlnHU(HmwX1VLSC~Z zD|MdpYe7ML*1=^6hiC2pDv2dpDno{ z<)%7ZD~79vrl#SclbO&90g5+VRMMPI{@N>#nk|-YrJGG^#!ViT9&Y7r=E2NiIB^U~dbmV-h$J;FkpdeXoeB?KcG?HBkh@vPxh&+~Fqkw9wzVtX zWR@o^|KwWRuR7kZLhV-(7prR9NLUY}m!RxMwxQEag$uW^<19Gdy$vs^GB83t$xDM@ z3qD&5Jzl$u39Z0{x?w^SrYy%z@5TA`x~^AQtNbFg6ya1kDyzuH3O@L}Oe)I37O+Z` ze2754-WHga2{|8U+7K{Rhmq|lr+vV?uJ+Il9Pv0g2}r^UJS3@GWJ;bM0p{jV<=dqF zdGmp3SaSxU*igo$<9xh+<_vgd=evTFGGD{M4lvml`A1-2R!GYEYwLOl#fMZmG8cLr zKpg%Tm}qNq=>AnQ22S2bQV0T+H3}h*aw-iY4#J2q%HNXL#0a24TNO$Hc07N63@&fS zyIaFa$pM*dyB1}@J1)K(OUL8a)IKKK;^cj=`h6Z=M#Sa6Ak`FI%`4=dZ zgDSF5rX{TL2rV9Bj&%)A5ID;c2!Woh1s;EOGNr6VasY|Mysh~>-4M#L=Kl0Yf6_x# ztHAzZGHN(k9E%6Y8lNj7$t_4y3o*+U7j0?UT1B8aHG_VXPCY!89PD!{;Sd@E@a zLsC+q5Vo)+)P=NnBnnDzAWFzMBF=|I-on51r;q&dgGgUjDPDKu;d71fxibSl zS2&({W`HGU!C@F*%F+&c?c$B5fyo%_3qhRLkC#FzK9ni(aX873)XQ%|8b;2W+F75H z5Xg`{qS~=s$9(sf3m@R#zl344xef95*FXxM5<=QQQl>9jgi(Bigg=nY2VN=D&!_0$ zS^M%P$`2o|w|wIdc6Haue$+a0OY4(`*2(L^zv-V7gyo=*q^Fc~HG94jX=9!vV*U(u zqxJ~t)1O{tKM?-jJ>TdpgW4k81xE!--LAZIykM@ik8A?RF#f(h5G={-V-ioSZnA!| zgcbEq=sx|F?P4;Li0ipx9N#!*itO7UVC~ion;QNY=KsjcgdAR5CBWI&WoIy~9Dq|t z10R)Knd!C_R&oZ4jK@N?GhlS7LB zZ%QBDKpOxPFBn<7SstgjjiVR6n|C_fAd2#9i(`Fnwu*07+``)Ts5}<_AgY-zX=556 zt5-(Lo2|e5l-1aiwd{!lCxd#~ zHA%zpn`TUC@h++)F+ayxHi>G@PRSL>3nx*H?B}Y+$_7_nyve>TWU#u`)->)ZCpMO*D8f?qN%gd-EpBnF`3+lXvs!AhMK-&q{C8Pa zp}n_HT?V?B_-e)9x3lv;&04*WHVdy?xD>TI`Y3}-npyp`8LuQwmVsrZy{P{Sr;IDc z37kKE+x^U)$P_j4lyJANS*WIYHCEmH0kr*cAbab2xVKE6nb6F3&YPg0EcU-`2BRPv zPT?EMdDlKZ#f!3q4?{UOy5u2m(jgjo0bC5wqi3H$3tKxy|K9olR+5t!v^&HqZuVwT z*Mn{=jqtacioupa%xjc^RY>JUp2W&dO1_qUa=0DC(11hp6yn! zF{&1bM9Q5psGFa}vO`vxGdEPdbSL6e$HGC*tLi>^*NU|BoV&!(S6`#A2e4Lcr)l(8 zKS*~BO1k;&nok9rw}kupPvt&V``^44R~}{1UC!7t3;#!^&s?bQZ&%#ElnNFen_CY$ zhY~MwR^0N_NxdQ(%abHwYaaShR5+Ghug+qpd)fB_u4*;bR&D*E)Hg4zQ+pPwJqnB~ z9>wNPaK(P$f9uS4e4@uV_(n#h_X3OY3^Rk&XS)enfexcXUPIPg4{!;;r=5k?(|)x? z1za5w^V1Ptzpn6c9Uqy0QRf@=0TlNu(Ur^XBKpO1MTX+#{}^w$_c_b6qdie%U0zier;1Q)$BH zL*s?R4?*nf;i^o=@s`V=#e=LBkI~F4%HMh3A9@!L7R*Z6R~#$^zFI6W_;_H+0oQ1D zhB%6bq;B*FWbhOnF<<_jSDsP(Ppz`x_Liod!^1>u!g};V;@@Uc6wh}9T&v&2q|;;x zxHXu^WQ)Y&KDXGgP@gwYTiH@E7!3c7>dsXBqVv?}%URbAeb?=`D$QA08uQhbcc$VC zAIYD@#=W(LtZp{n@Q-KPcj+!DF8pC@X8L3dys`%2dr_Pi`KMxU zJ-T4;%;8T?BOT`ESw~0(M;Xi%#4rrq98>)A5A5l?#9T9J<#v7*ZN?|SHIYGRtMr)Z zmY=nJw7;pLUq)7Z@NvPC4(Mk%%FlPoKd;Qg!UO|w57>B+n=u?Z@8%Lbq4bzqx(Bsg z_z12xoa}6rs9w|l{h;K?(|84z34b{qt%*l8%$tNrOwikFoi->eXSwC&E-(pmci zUVKDF54!k^otc^GM55p?CEAjgtWtWz*OGtdNsp84p9jSrzIS}FubVk`J;50g)L{DZ z4&wIPAKS*}e&vqw#m3)aRqrU|Xd?q(qfK_E^=y-r} z0QEeb1>fZJc3{(Ub0f{-vIt~#< zH>}o#<76T-HP`YvMcx%|6H+~RxqAYUG0X!uo^1!~E0g5z>PVB1PiC`@W~-!gJ0z@0 zr#0v8ki!#f6+9DR)do3U^~2AXPa_61tCl{3@+c?)@KRe~(#B4!qv1bwlr_Ec@3W_x z7ISumO%oHfwiZtkt!!tggY$r^?W4V>=7OL9|<)k-SD{xBIR;g#UM=y$GN z8cYwluDA(~cBO(_z~>f%o>wnVhevUH-oG}ZmQOvRz`6U+PXo@2OA$@%fpW|Cf!hRN(}Sog_m%;5mN}^^X?0yX|ESqehcRbBIzDt` zsKRdk?^I7!0e-s}UXh=X?_4h%Q5(=v@m%r!!25e%qEhAGvF`mh7E&S*I*D*~qq{s! zRYI42l}7&BwxBKEJHwsh3a@5o{k!j%#i+xWXcWzk`0DB2ce4I(aM2F?jMUA2o6G;R z*yc~b$<&*FueB-oABXI=j5Hb7JSEM({lCLc$A(+3M%bA~U)Sqz_DG^Y2QpHI_>~2> zSicGDYf+=%{py>iJZaI6T<7=3se z0c-dtFBkW{Jds-@F8)Bl5nhi(vC?C3Es{k8Yj=9`M(_>aqgqTS|ETtB)t6i zs0mM+e-^UUG3pC_1w*$EK()9Um>q4iY&IKdTA&}g(Qrfkh;QMaqUP&3qF=wb80xh= z-bMR_dz+6tYl7z_)s3BPG%0K#0KUY+@-4XsZo zjeHXvv9xupycaf4;~~2?;vs07a86MHQ@6T7%^YnXWf38G>D**|8 zM%>lU#-q&JJhUEg7^0fv9zSV&*6kQzzLV}yr{LXo=a7z>$EsQ5R=4?k=)@;cKp|7% zU}{|vsCZ50GP-xdw3MrH#wY!Rrt+e(P5y-XRrZqc++e$D58`~F^-p<8Ev80o>vz|= zPVe+b-mtg)hg;i;Pg1;?7V5!B3M^$%#NXiy+12n`)!00){*x+5Coapz%$Uz9&}joM zDMsl~`7qRl{b_W%zVz8~Mh3&q#Ev#-AK~NI=av7>cz2e;GOsft+K<1-rr?xbciXQd zx|=D1q2Y^GOYW2W)Xr;PZ}m9$w>$Q?*Xb>N^E`@@5z=`k}QlfunK>_faD>PH=Jv=z&ru#W}^ZEvCGHJVGleR4N63+q+inh#5JGjH%7HUA}8 zz6w<8?S6dZ_1jT-VGSwis9bCxq;lO*var`@!|F)Bd76;~(<%9yIc11ON;QYHN>r6l fm9Wob`aP&Lnx7OvXKLN literal 0 HcmV?d00001 diff --git a/research/complex-frame-plane-rail-seedca04cc/CLAIM.md b/research/complex-frame-plane-rail-seedca04cc/CLAIM.md new file mode 100644 index 0000000000..d880b3141c --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/CLAIM.md @@ -0,0 +1,64 @@ +# Cycle 15 claim + +Track `complex-mechanisms`; seed `ca04ccbf3c8c214a13d9c2452e780d32`; +`complex-rank-shape-decoder`; priority revision 3; base +`0b1cccf86e2f5132ed286a26ef0a681a495740ea`; selected-record SHA-256 +`10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32`. + +Question: can a single canonical two-coordinate plane be introduced at one +helper-to-helper addition of the selected PR1094 native local word and propagated +forward by the inclusion-minimal common-frame closure, with every scalar gate, +start frame, exact A/B target-level and centre-frame boundary, target endpoint, +and dirty-helper endpoint fixed? Search all 36 +coordinate two-planes and every helper-to-helper A/B addition. Price every +induced child rank and reject endpoint changes. The deliverable is the exact +best profile and fixed-template ceiling over this finite domain, with closure +and endpoint controls. The 10%-mass-to-rank-9 favorable screen is only 1.04318x; +this search must cover the whole word to have a chance at the required 5%. + +Pinned word is member +`candidate/strict/global/base/providers/gauge44/FULL-WORD.json.gz` of +`research/community-frontier1094-audit/selected-replay.tar.gz` (archive SHA-256 +`f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6`, member +SHA-256 `49596aa4ed4fd36cd4582fd0e8ddeb09fd80370a7d8aea1ede52a135b536d289`); +its selected profile is `{1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}`. + +Relevant predecessors: selected provider PR #1094; PR #699 and +`complex-sw4-frame8` for isolated B-frame coalescences; PR #1429 for the +fixed late-block interface optimum; PR #1517 for cross-block communication +under that interface. Adjacent open PR #1186 provides an exact frame solver +and delivery-rewrite search for an older PR #1148 joint-entrance k8 word; +this claim tests a one-plane forced closure on the selected PR1094 word. +The 2026-10-14 16:23:08 UTC overlap refresh covered all 433 open PRs and 618 +discussions. The later 16:29:05 UTC refresh covered 438 open PRs and 619 +discussions; five text matches were our two claim comments, one +plane-port discussion thread, and two local background documents. Manual review +found open PR #1186 (frame solver and delivery rewrites for an older word), +PR #1825 (paired plane-port decoder on selected labels), and PR #1900 (five +plane queries for the P111 bit decoder). PRs #1825 and #1900 change the +coverage contract/decoder; this claim keeps coverage and helper inventory fixed +and changes only internal frame timing. Discussion claim #18924772 poses the +plane-port question behind those decoder routes. Nearby #18924220, #1909, and +#1622 concern a Cartesian input-output grid, tetrad-local masks, and a ten-term +decoder, respectively. + +No scalar operation or helper is added. A surviving schedule is a new paid +rank distribution only if the exact closure retains all pinned internal and +terminal interfaces. +Correction: the initial version of this claim used the older PR699 word and +was released in comment #18926956 before any package or submission. This +replacement claim uses the current selected PR1094 word above. It expires +2026-10-14 17:18:00 UTC. + +Interim correction: the first selected-word sweep preserved terminal endpoints +but did not enforce the exact A/B target-level and centre-frame barrier; the +independent native audit rejected its best candidate. Those provisional counts +and profiles are discarded. The search now includes both exact interface +barriers before any candidate can enter the result. + +Final finding: complete coverage of all 90,900 pairs yields 569 no-ops, 89,737 +interface/endpoint conflicts, and 594 valid closures over 13 exact rank +profiles. The exact maximum ceiling equals the selected baseline bracket and +does not clear the 5% gate; the best candidate passes the pinned independent +native audit. Reproduction and the bounded conclusion are packaged at +`research/complex-frame-plane-rail-seedca04cc/`. No new κ is claimed. diff --git a/research/complex-frame-plane-rail-seedca04cc/NATIVE-AUDIT.json b/research/complex-frame-plane-rail-seedca04cc/NATIVE-AUDIT.json new file mode 100644 index 0000000000..a15b96a22a --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/NATIVE-AUDIT.json @@ -0,0 +1,32 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "BEST-WORD.json.gz", + "content_sha256": "35dba4d11d0bafe1a2f3a19290a850a681f8c2de1b29ec4fe6516ece5791c428", + "compressed_sha256": "13a8e666069311175608b83768bb0b377f43805c7677c33ccc9b944f2e3cdae0", + "parent_center_interface": null, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.9026521999985562, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/complex-frame-plane-rail-seedca04cc/PROOF.md b/research/complex-frame-plane-rail-seedca04cc/PROOF.md new file mode 100644 index 0000000000..ce0a53ac13 --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/PROOF.md @@ -0,0 +1,27 @@ +# Finite closure and ceiling argument + +## Claim + +For the pinned selected PR1094 local word, the 36 coordinate subspaces `P = span(e_i,e_j)` and each eligible helper-helper A/B gate have been exhaustively considered as a one-time plane injection followed by least common-frame propagation. Among closures preserving the original exact A/B target-level and centre-frame interfaces and all final endpoints, the best paid profile has exactly the selected baseline profile. Thus this mechanism, in this finite domain and under the fixed-template model, gives no ceiling improvement, in particular not the catalogue's required 5% improvement. + +The claim is about this word and this family of frame schedules only. + +## Least closure and cost + +The replay constructs an ordered list of events from the selected word. It includes scalar gates in A and B, then inserts the exact target-level and centre-frame constraints at their A/B boundary, followed by cleanup events and every final target or helper endpoint. Each event records its original output frame `F` and the incoming frames of its participating registers. + +After injecting `P` at a selected helper-helper gate, any later gate reached by an active register must place both gate operands in a common output frame that contains the original `F` and `P`. The least such frame is `span(F,P)`. The enumerator assigns exactly that frame, updates both participants, and keeps propagation active precisely when the augmented output still has a new dimension beyond `F`. If a target-level, centre-frame, or final endpoint does not already contain `P`, the schedule is rejected. This is a direct monotone event replay: it neither skips an induced climb nor adds a frame dimension not forced by the seeded plane and gate. + +At each changed event, the script replaces the original per-register climb ranks by the exact new ranks `dim(span(F,P)) - dim(incoming_frame)`, including both gate operands. The original chain profile is decomposed into these gate/interface/endpoint climbs and a checked fixed remainder of eight rank-8 units. The new chain profile is added back to that fixed remainder. It verifies that total paid rank mass is conserved when the same exact endpoints are retained. + +## Exhaustion and controls + +There are `binom(9,2)=36` coordinate planes and 2,525 eligible helper-helper additions in A/B, so the enumerated domain has 90,900 plane/gate pairs. There are 90,331 non-noop pairs. Of these, 89,737 violate an exact internal interface or final endpoint; 56,830 of the rejections occur at an internal target-level or centre-frame barrier. The remaining 594 closures are priced. They realize 13 distinct profiles. A saved negative-control witness injects `[1,2]` at event 0 and reaches register 60's exact centre frame at event 3563, which does not contain `[1,2]`; this pair must be rejected. + +The profile search uses the exact interval arithmetic in pinned `complex-local-word-ceiling/ceiling.py` for the 5%-above-baseline gate and for each surviving profile's ceiling. The floating bisection in `search.py` only chooses which closure to serialize; the exact ceiling intervals over all 13 profiles independently certify that the selected profile is the maximum and strictly separate it from the other 12. The best profile is the original profile, and its exact ceiling bracket equals the exact baseline bracket. Its lower endpoint is `1690054109/10^12`; the largest other-profile upper endpoint is `1690012017/10^12`, leaving a strict gap of `42092/10^12`. + +## Independent native check + +`BEST-WORD.json.gz` serializes the best closure while retaining the selected scalar program. The pinned `gauge44-slots/independent/audit_local.py` independently checks the exact scalar map in both orientations, all literal frame chains, centre levels, dyadic units, entrance-zero response, wrapper exclusion, and final helper row/column cones. Its receipt records the same paid profile and selected dimensions. The verifier also changes the candidate's claimed rank-1 paid count by one and requires the native auditor to reject it with `paid profile mismatch`. + +This native audit is local evidence for the candidate. It is not global owner admission, full supplier reproving, or an exponent reprice. The no-improvement conclusion follows only from the bounded exact profile enumeration and the pinned fixed-template ceiling model. diff --git a/research/complex-frame-plane-rail-seedca04cc/README.md b/research/complex-frame-plane-rail-seedca04cc/README.md new file mode 100644 index 0000000000..c408ad2f8c --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/README.md @@ -0,0 +1,36 @@ +# Coordinate-plane temporal frame rail (seed `ca04ccbf`) + +**Outcome: scoped negative result. No new conditional bound or supplier admission is claimed.** + +## Question and result + +The selected PR1094 word has local paid profile `{1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}`. This experiment changed frame timing: inject one coordinate two-plane at one helper-to-helper addition, then propagate the least common-frame closure through later gates. It held the scalar program, helper inventory, start frames, exact A/B target-level and centre-frame interfaces, and all final target and dirty-helper endpoints fixed. Every induced climb was priced at its actual rank. + +The complete domain is 36 coordinate two-planes by 2,525 eligible seed gates (90,900 pairs). The exact result is 569 no-ops, 89,737 endpoint or internal-interface conflicts, and 594 valid schedules over 13 distinct rank profiles. None reaches the task's 5% ceiling improvement. The highest profile is exactly the baseline profile, with ceiling bracket `[1690054109/10^12, 169005411/10^11]`. Its lower endpoint exceeds the largest other profile's upper endpoint, `1690012017/10^12`, by `42092/10^12`. The best candidate word passes the pinned independent exact native audit. + +This closes only the coordinate-plane, single-injection subfamily on this exact word. The first exploratory sweep omitted internal A/B interface barriers and its candidate failed the native audit; that sweep was discarded. The packaged rerun includes both exact target-level and centre-frame barriers, and the counterexample control exercises a centre-frame conflict. No global κ, asymptotic improvement, or general impossibility statement follows. + +The selected result is resolved from `certificates/selected-result.json`; source identity and base commit `0b1cccf86e2f5132ed286a26ef0a681a495740ea` are pinned in [SOURCES.json](SOURCES.json). The actual word is member `candidate/strict/global/base/providers/gauge44/FULL-WORD.json.gz` of the pinned selected replay archive, not the historical PR699 word. + +## Reproduce + +From the repository root: + +```sh +python3 scripts/research_package.py --package research/complex-frame-plane-rail-seedca04cc --check-only +python3.12 scripts/research_package.py --package research/complex-frame-plane-rail-seedca04cc +``` + +The registered replay reruns all 90,900 cases, compares the exact evidence, audits the committed candidate, and verifies that corrupting its claimed paid histogram is rejected. It needs no third-party packages. On systems without Python 3.12, run `python3 -B research/complex-frame-plane-rail-seedca04cc/verify.py` directly; the package metadata check still requires 3.12 for the repository's generic replay. + +## Proof and cost accounting + +See [PROOF.md](PROOF.md) for the closure invariant, completeness of the finite enumerator, exact interval comparison, and limits. All state and arithmetic needed for the claim are in `SEARCH.json`, `BEST-WORD.json.gz`, and `NATIVE-AUDIT.json`. + +## Open next questions + +Can a non-coordinate two-dimensional subspace of `F2^9` beat the selected ceiling under the same one-gate closure and exact interface constraints? There are 43,435 such subspaces in total. The first useful step is to compute the automorphism group preserving the pinned gate supports and interfaces, then quotient this Grassmannian before screening representatives. This run does not cover that domain. + +## Predecessors and credit + +The source is the selected complex provider associated with PR #1094. PR #699 and `research/complex-sw4-frame8` provide historical frame-coalescence context; PR #1429 studies a fixed late-block rank optimum; PR #1517 studies a cross-block floor under that interface. Adjacent open PR #1186 supplies an exact frame solver and delivery-rewrite search for an older PR #1148 word. Open PR #1825 investigates a paired plane-port decoder on selected E8 labels, while PR #1900 studies five plane queries for the P111 bit decoder. Those constructions change the coverage contract or decoder. This package instead tests forced coordinate-plane propagation on the selected PR1094 word with its coverage, helper inventory, and exact interfaces fixed. Source-specific notices remain with their pinned files. New research artifacts are Apache-2.0. OpenAI Codex autonomously designed, implemented, and packaged this experiment; see [TASK.json](TASK.json) for disclosure. diff --git a/research/complex-frame-plane-rail-seedca04cc/SEARCH.json b/research/complex-frame-plane-rail-seedca04cc/SEARCH.json new file mode 100644 index 0000000000..ca8ccc9989 --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/SEARCH.json @@ -0,0 +1,2581 @@ +{ + "status": "PASS_TWO_PLANE_FRAME_RAIL_SEARCH", + "seed": "ca04ccbf3c8c214a13d9c2452e780d32", + "base_commit": "0b1cccf86e2f5132ed286a26ef0a681a495740ea", + "selected_record_sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32", + "selected_source_archive_sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6", + "word_member": "candidate/strict/global/base/providers/gauge44/FULL-WORD.json.gz", + "word_sha256": "49596aa4ed4fd36cd4582fd0e8ddeb09fd80370a7d8aea1ede52a135b536d289", + "search_domain": { + "planes": 36, + "helper_helper_seed_gates": 2525, + "seed_plane_pairs": 90900 + }, + "totals": { + "tested": 90331, + "no_op": 569, + "endpoint_reject": 89737, + "interface_reject": 56830, + "below_5pct": 594, + "above_5pct": 0, + "ambiguous": 0 + }, + "best": { + "approx_a": 0.001690054108621553, + "seed_event": 4989, + "plane": [ + 1, + 2 + ], + "profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_mass": 5586, + "ceiling_bracket": [ + "1690054109/1000000000000", + "169005411/100000000000" + ], + "target_a_5pct": "3549113631/2000000000000", + "target_relax_interval": [ + "115820506126293703594754082272648467472399011160437955794779799738836836540073/115792089237316195423570985008687907853269984665640564039457584007913129639936", + "115820506126293703594754082272648467472399011160437955794779799738836836540109/115792089237316195423570985008687907853269984665640564039457584007913129639936" + ], + "profile_sha256": "196087de779f1f7f812b938982305bfafbd7fd4447800543e9b46edad7adebad", + "word_output_sha256": "35dba4d11d0bafe1a2f3a19290a850a681f8c2de1b29ec4fe6516ece5791c428" + }, + "base_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "base_ceiling_bracket": [ + "1690054109/1000000000000", + "169005411/100000000000" + ], + "distinct_valid_profiles": 13, + "exact_profile_ceilings": [ + { + "profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "bracket": [ + "1690054109/1000000000000", + "169005411/100000000000" + ] + }, + { + "profile": { + "1": 2411, + "2": 420, + "3": 431, + "4": 142, + "5": 82, + "8": 8 + }, + "bracket": [ + "105625751/62500000000", + "1690012017/1000000000000" + ] + }, + { + "profile": { + "1": 2414, + "2": 417, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "bracket": [ + "105621397/62500000000", + "1689942353/1000000000000" + ] + }, + { + "profile": { + "1": 2413, + "2": 419, + "3": 431, + "4": 142, + "5": 82, + "8": 8 + }, + "bracket": [ + "337980053/200000000000", + "844950133/500000000000" + ] + }, + { + "profile": { + "1": 2416, + "2": 416, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "bracket": [ + "168983061/100000000000", + "1689830611/1000000000000" + ] + }, + { + "profile": { + "1": 2418, + "2": 418, + "3": 436, + "4": 140, + "5": 80, + "8": 8 + }, + "bracket": [ + "1688927223/1000000000000", + "211115903/125000000000" + ] + }, + { + "profile": { + "1": 2419, + "2": 418, + "3": 436, + "4": 141, + "5": 79, + "8": 8 + }, + "bracket": [ + "844363021/500000000000", + "1688726043/1000000000000" + ] + }, + { + "profile": { + "1": 2418, + "2": 419, + "3": 436, + "4": 142, + "5": 78, + "8": 8 + }, + "bracket": [ + "844318239/500000000000", + "1688636479/1000000000000" + ] + }, + { + "profile": { + "1": 2412, + "2": 428, + "3": 434, + "4": 138, + "5": 80, + "8": 8 + }, + "bracket": [ + "1688620497/1000000000000", + "844310249/500000000000" + ] + }, + { + "profile": { + "1": 2420, + "2": 418, + "3": 436, + "4": 142, + "5": 78, + "8": 8 + }, + "bracket": [ + "1688524909/1000000000000", + "168852491/100000000000" + ] + }, + { + "profile": { + "1": 2412, + "2": 429, + "3": 435, + "4": 138, + "5": 79, + "8": 8 + }, + "bracket": [ + "844175059/500000000000", + "1688350119/1000000000000" + ] + }, + { + "profile": { + "1": 2411, + "2": 429, + "3": 437, + "4": 138, + "5": 78, + "8": 8 + }, + "bracket": [ + "1688233337/1000000000000", + "844116669/500000000000" + ] + }, + { + "profile": { + "1": 2412, + "2": 430, + "3": 436, + "4": 138, + "5": 78, + "8": 8 + }, + "bracket": [ + "67523193/40000000000", + "844039913/500000000000" + ] + } + ], + "plane_rows": [ + { + "tested": 2494, + "no_op": 31, + "endpoint_reject": 2490, + "interface_reject": 1663, + "below_5pct": 4, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 3, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2413, + 419, + 431, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 2 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2494, + "no_op": 31, + "endpoint_reject": 2492, + "interface_reject": 1663, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 4 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2497, + "no_op": 28, + "endpoint_reject": 2495, + "interface_reject": 1663, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 1, + "profiles": [ + [ + 0, + 2413, + 419, + 431, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 8 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2497, + "no_op": 28, + "endpoint_reject": 2497, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 16 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2521, + "no_op": 4, + "endpoint_reject": 2511, + "interface_reject": 1663, + "below_5pct": 10, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 3, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2413, + 419, + 431, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 32 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2521, + "no_op": 4, + "endpoint_reject": 2517, + "interface_reject": 1663, + "below_5pct": 4, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 64 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2481, + "no_op": 44, + "endpoint_reject": 2477, + "interface_reject": 1663, + "below_5pct": 4, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 128 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2481, + "no_op": 44, + "endpoint_reject": 2477, + "interface_reject": 1663, + "below_5pct": 4, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 1, + 256 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2493, + "no_op": 32, + "endpoint_reject": 2493, + "interface_reject": 1499, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 4 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2515, + "no_op": 10, + "endpoint_reject": 2515, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 8 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2515, + "no_op": 10, + "endpoint_reject": 2515, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 16 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2524, + "no_op": 1, + "endpoint_reject": 2522, + "interface_reject": 1663, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 32 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2519, + "interface_reject": 1663, + "below_5pct": 6, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2411, + 420, + 431, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2414, + 417, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 64 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2511, + "no_op": 14, + "endpoint_reject": 2509, + "interface_reject": 1499, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 128 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2513, + "no_op": 12, + "endpoint_reject": 2511, + "interface_reject": 1499, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 2, + 256 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2515, + "no_op": 10, + "endpoint_reject": 2515, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 4, + 8 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2503, + "no_op": 22, + "endpoint_reject": 2503, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 4, + 16 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2524, + "no_op": 1, + "endpoint_reject": 2522, + "interface_reject": 1663, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 4, + 32 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2523, + "no_op": 2, + "endpoint_reject": 2517, + "interface_reject": 1663, + "below_5pct": 6, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2411, + 420, + 431, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2414, + 417, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 4, + 64 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2495, + "no_op": 30, + "endpoint_reject": 2493, + "interface_reject": 1499, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 4, + 128 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2497, + "no_op": 28, + "endpoint_reject": 2495, + "interface_reject": 1499, + "below_5pct": 2, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 2, + "profiles": [ + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 4, + 256 + ], + "endpoint_event": 3564, + "registers": [ + 61 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2499, + "no_op": 26, + "endpoint_reject": 2467, + "interface_reject": 1597, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 8, + 16 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2525, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 8, + 32 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2525, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 8, + 64 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2507, + "no_op": 18, + "endpoint_reject": 2475, + "interface_reject": 1597, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 8, + 128 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2507, + "no_op": 18, + "endpoint_reject": 2475, + "interface_reject": 1597, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 8, + 256 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2525, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 16, + 32 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2525, + "interface_reject": 1663, + "below_5pct": 0, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 0, + "profiles": [], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 16, + 64 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2491, + "no_op": 34, + "endpoint_reject": 2459, + "interface_reject": 1597, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2411, + 429, + 437, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 428, + 434, + 138, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 429, + 435, + 138, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 430, + 436, + 138, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 16, + 128 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2491, + "no_op": 34, + "endpoint_reject": 2459, + "interface_reject": 1597, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2411, + 429, + 437, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 428, + 434, + 138, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 429, + 435, + 138, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 430, + 436, + 138, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 16, + 256 + ], + "endpoint_event": 3566, + "registers": [ + 224 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 17, + 9, + 5, + 3 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2521, + "no_op": 4, + "endpoint_reject": 2489, + "interface_reject": 1618, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 32, + 64 + ], + "endpoint_event": 3567, + "registers": [ + 31 + ], + "endpoint_frame": [ + 256, + 128, + 65, + 33, + 17, + 9, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2493, + "interface_reject": 1618, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 32, + 128 + ], + "endpoint_event": 3567, + "registers": [ + 31 + ], + "endpoint_frame": [ + 256, + 128, + 65, + 33, + 17, + 9, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2493, + "interface_reject": 1618, + "below_5pct": 32, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 4, + "profiles": [ + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 32, + 256 + ], + "endpoint_event": 3567, + "registers": [ + 31 + ], + "endpoint_frame": [ + 256, + 128, + 65, + 33, + 17, + 9, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2481, + "interface_reject": 1618, + "below_5pct": 44, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 6, + "profiles": [ + [ + 0, + 2411, + 429, + 437, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 428, + 434, + 138, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 429, + 435, + 138, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 430, + 436, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 64, + 128 + ], + "endpoint_event": 3567, + "registers": [ + 31 + ], + "endpoint_frame": [ + 256, + 128, + 65, + 33, + 17, + 9, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2525, + "no_op": 0, + "endpoint_reject": 2481, + "interface_reject": 1618, + "below_5pct": 44, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 6, + "profiles": [ + [ + 0, + 2411, + 429, + 437, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 428, + 434, + 138, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 429, + 435, + 138, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 430, + 436, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 64, + 256 + ], + "endpoint_event": 3567, + "registers": [ + 31 + ], + "endpoint_frame": [ + 256, + 128, + 65, + 33, + 17, + 9, + 4, + 2 + ], + "boundary_kind": "center_frame" + } + }, + { + "tested": 2476, + "no_op": 49, + "endpoint_reject": 2280, + "interface_reject": 0, + "below_5pct": 196, + "above_5pct": 0, + "ambiguous": 0, + "unique_profiles": 10, + "profiles": [ + [ + 0, + 2411, + 429, + 437, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 418, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 428, + 434, + 138, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 429, + 435, + 138, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2412, + 430, + 436, + 138, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2416, + 416, + 432, + 142, + 82, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 418, + 436, + 140, + 80, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2418, + 419, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2419, + 418, + 436, + 141, + 79, + 0, + 0, + 8, + 0 + ], + [ + 0, + 2420, + 418, + 436, + 142, + 78, + 0, + 0, + 8, + 0 + ] + ], + "first_endpoint_control": { + "seed_event": 0, + "plane": [ + 128, + 256 + ], + "endpoint_event": 5646, + "registers": [ + 113 + ], + "endpoint_frame": [ + 257, + 129, + 64, + 32, + 17, + 8, + 5, + 2 + ], + "boundary_kind": "final" + } + } + ], + "exact_best_separation": { + "best_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "best_lower": "1690054109/1000000000000", + "max_other_upper": "1690012017/1000000000000", + "strictly_separated": true + }, + "negative_control": { + "kind": "exact internal interface barrier conflict", + "example": { + "seed_event": 0, + "plane": [ + 1, + 2 + ], + "endpoint_event": 3563, + "registers": [ + 60 + ], + "endpoint_frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2 + ], + "boundary_kind": "center_frame" + }, + "rejected_seed_plane_pairs": 89737, + "interface_rejections": 56830 + }, + "construction_effect": { + "scalar_program_unchanged": true, + "start_frames_unchanged": true, + "A_B_target_levels_and_centres_exact": true, + "terminal_endpoints_unchanged": true, + "additional_arrays": 0, + "additional_scalar_gates": 0, + "all_induced_rank_climbs_charged": true + } +} diff --git a/research/complex-frame-plane-rail-seedca04cc/SOURCES.json b/research/complex-frame-plane-rail-seedca04cc/SOURCES.json new file mode 100644 index 0000000000..d69804f25b --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/SOURCES.json @@ -0,0 +1,48 @@ +{ + "schema_version": 1, + "base_commit": "0b1cccf86e2f5132ed286a26ef0a681a495740ea", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "input", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "input", + "git_blob": "06c96f5579bb67ed1b86d334e78fbed7da6945f1", + "sha256": "6686ad58f1fbdbc87134a78901b60fd53a20d3984355e91defbbebc9e9fa8075" + }, + { + "path": "research/community-frontier1094-audit/SELECTED-SOURCE.json", + "usage": "input", + "git_blob": "6a75493790b4eff9c4a98051ef8b01d6aad0d5a8", + "sha256": "79b3de5db3dbcb9829789ba58e9e45758926031e2a7d80667a08429d369be53b" + }, + { + "path": "research/community-frontier1094-audit/selected-replay.tar.gz", + "usage": "input", + "git_blob": "c24daf067f9c543421d89ca2eeaa4eb78a57fb6f", + "sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6" + }, + { + "path": "research/complex-local-word-ceiling/ceiling.py", + "usage": "input", + "git_blob": "6c0f54527d879396f689523bfde19928a9b6157c", + "sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" + }, + { + "path": "research/complex-sw4-frame8/construction/promo/build_promotion.py", + "usage": "input", + "git_blob": "f1daad34c22efdd97a11b1e16384962b8af1d704", + "sha256": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf" + }, + { + "path": "research/gauge44-slots/independent/audit_local.py", + "usage": "input", + "git_blob": "4744d8783c25bf7bf5076886169077ca3808309a", + "sha256": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd" + } + ] +} diff --git a/research/complex-frame-plane-rail-seedca04cc/TASK.json b/research/complex-frame-plane-rail-seedca04cc/TASK.json new file mode 100644 index 0000000000..08f89e1556 --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/TASK.json @@ -0,0 +1,66 @@ +{ + "schema_version": 1, + "task_id": "complex-rank-shape-decoder", + "priority_revision": 3, + "base_commit": "0b1cccf86e2f5132ed286a26ef0a681a495740ea", + "original_card": { + "id": "complex-rank-shape-decoder", + "question": "Can a decoder deliver the local paid mass in fewer, larger-rank children (block frame climbs instead of rank-1 to rank-3 steps)?", + "starting_points": [ + "research/complex-local-word-ceiling/README.md", + "research/complex-decoder-field-extension-seed44/README.md", + "research/complex-frame-pair-decoders/README.md" + ], + "methods": [ + "Find one exact small decoding identity whose frame path climbs in blocks, and price its complete per-call profile.", + "Bound the best effective child rank achievable for one fixed support alphabet, including copies, frames and restoration." + ], + "acceptance_gate": "A per-call local profile, with all copied information, frames and restoration counted, whose ceiling exceeds the selected word's by at least 5%; masked or overcomplete supports must change an assumption of the eight-term all-pairs bound.", + "first_step": { + "command": [ + "python3", + "-B", + "research/complex-local-word-ceiling/verify.py" + ], + "expected": "PASS_COMPLEX_LOCAL_WORD_CEILING", + "inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.", + "scope": "Positive control and planning budget only; this is not a new construction or full cold replay." + }, + "first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin. Ideal budget: rank-16 delivery is 2.31x (levers.py).", + "bottleneck_link": "Rank-1 children are about half of recursive cost; the selected word's effective child rank is about 3.9. Larger-rank delivery lowers recursive cost per unit of paid mass.", + "allowed_variations": [ + "One masked, overcomplete or block decoder family with exact labels and supports.", + "A scoped lower bound on effective rank for one alphabet.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Repacking idle remainders of an unchanged word (covered by the packing ceiling).", + "Repeating the eight-term all-pairs search inside its proved scope." + ], + "overlap_terms": [ + "rank shape", + "block climb", + "masked decoder", + "overcomplete", + "effective rank" + ] + }, + "scope_status": "refined", + "actual_scope": "For the exact selected PR1094 local word, enumerate each coordinate 2-plane in F2^9 at every helper-helper A/B addition; propagate it by least common-frame closure while preserving exact target-level, centre-frame, target, and dirty-helper endpoints; price every induced rank climb and test the exact fixed-template ceiling.", + "scope_change_reason": "The catalogue card is broad across decoder identities. This run isolates a distinct temporal frame-schedule mechanism on the selected native word, changing frame timing while holding the scalar program, helpers, start frames, and all required interfaces fixed.", + "bottleneck_link": "Each propagated frame changes the exact local child-rank histogram that enters the paid recursive moment and its fixed-template ceiling. A beneficial schedule could lower the charged moment without changing the scalar supplier; a boundary conflict or unchanged profile cannot.", + "budget_minutes": 60, + "stop_rule": "Exhaust the 36 coordinate 2-planes and all 2,525 helper-helper A/B addition seed gates in the pinned word, discarding closures that alter any exact internal or terminal endpoint; stop after exact ceiling intervals are computed for every surviving distinct profile.", + "outcome": "negative-result", + "evidence": "Exact finite search covered 90,900 plane/gate pairs: 569 no-ops, 89,737 endpoint or exact-interface conflicts, and 594 valid schedules spanning 13 rank profiles. Exact interval ceilings show the best surviving profile equals the selected baseline bracket [1690054109/10^12, 169005411/10^11]; its lower endpoint exceeds every other profile's upper endpoint, and no profile clears the task's 5% gate. The serialized best-profile word passes the pinned independent exact native audit. No new kappa or supplier admission is claimed.", + "author": "OpenAI Codex autonomous research agent", + "ai_assistance": "OpenAI Codex autonomously selected the task, designed and implemented the finite enumerator, generated the candidate and proof artifacts, and ran the declared exact and native checks. Repository scripts and pinned predecessor code are identified in SOURCES.json. No external human contribution is claimed for this package.", + "open_questions": [ + { + "question": "Can a non-coordinate 2-dimensional subspace of F2^9, injected at one helper-helper gate in the same pinned word, produce a strictly higher exact ceiling while respecting the same interfaces?", + "why_it_matters": "The 36 coordinate planes cover only a small subset of the Grassmannian; a different plane orientation may encounter fewer fixed-frame conflicts or induce a different rank profile.", + "first_step": "Compute the stabilizer of the pinned gate supports and exact interface frames, quotient the 43,435 two-dimensional subspaces of F2^9 by that action, then screen one representative per orbit before exact pricing.", + "blocked_by": "This cycle did not enumerate non-coordinate planes; the current finite negative result is limited to coordinate planes and single-gate injection." + } + ] +} diff --git a/research/complex-frame-plane-rail-seedca04cc/TASK.md b/research/complex-frame-plane-rail-seedca04cc/TASK.md new file mode 100644 index 0000000000..9cbc6e6ccb --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/TASK.md @@ -0,0 +1,82 @@ +# Cycle 15 task card: two-coordinate frame rail + +- Seed: `ca04ccbf3c8c214a13d9c2452e780d32` (OS-random selector seed) +- Track: `complex-mechanisms` +- Catalogue task: `complex-rank-shape-decoder` +- Priority revision: 3 +- Catalogue SHA-256: `6686ad58f1fbdbc87134a78901b60fd53a20d3984355e91defbbebc9e9fa8075` +- Base commit: `0b1cccf86e2f5132ed286a26ef0a681a495740ea` +- Selected-record SHA-256: `10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32` + +## Question and changed hypothesis + +In the selected PR1094 native local word, can one canonical two-coordinate plane +`span(e_i,e_j)` be introduced at a helper-to-helper addition and propagated by +inclusion-minimal common-frame closure through later additions, keeping every +scalar gate, start frame, exact A/B target-level and centre-frame boundary, +required target endpoint, and dirty-helper endpoint fixed? Does any such +schedule move enough paid rank mass into larger children to raise the exact +fixed-template packing ceiling by at least 5%? + +The change is a global temporal frame schedule for one shared plane. It is not +an added scalar operation or a new endpoint/helper inventory. Every induced +frame climb is charged at its exact rank; candidates changing the exact A/B +boundary, target endpoint, or helper endpoint are rejected. + +## Bounded domain and stopping rule + +Search the 36 coordinate two-planes of the pinned nine-dimensional F2 frame +space and every A/B addition in the selected word whose two operands are +helpers. For each (plane, seed gate), propagate the plane forward through the +word by the least frame enlargement that preserves monotonicity. Reject any +schedule that changes one of the exact target-level or centre-frame barriers +at the A/B boundary, or any final target/helper endpoint. Compute the complete +exact rank histogram and fixed-template moment ceiling for every surviving +schedule. Stop after this finite domain is covered; report the best profile and +ceiling, including the exact rejection counts by interface and endpoint. + +The optimistic screen is favorable: the baseline selected ceiling is +`0.001690054109089`; moving 10% of local rank mass to rank 9 reaches only +`1.04318x`, so at least about 12% must be redistributed to cross the card's +5% threshold. A single local gate change is not a sufficient experiment. + +## Source and overlap + +Pinned word: member +`candidate/strict/global/base/providers/gauge44/FULL-WORD.json.gz` of +`research/community-frontier1094-audit/selected-replay.tar.gz` (archive SHA-256 +`f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6`, member +SHA-256 `49596aa4ed4fd36cd4582fd0e8ddeb09fd80370a7d8aea1ede52a135b536d289`). +The current selected local profile is `{1:2412, 2:418, 3:432, 4:142, 5:82, +8:8}`. The base word and selected record remain untouched. + +Relevant predecessors: selected complex provider PR #1094; exact fixed late +block optimum PR #1429 / package `complex-block-rank-optimum`; frame coalescence +PR #699 and SW4 eight-B-frame package `complex-sw4-frame8`; cross-block fixed +late-interface floor PR #1517. Adjacent open PR #1186 supplies an exact frame +solver and delivery-rewrite search for an older PR #1148 joint-entrance k8 word; +this task instead exhausts forced coordinate-plane closures on the selected +PR1094 word, preserving its exact interfaces. The refreshed overlap search at +2026-10-14 16:29:05 UTC covered all 438 open PRs and 619 discussions. Its five +text matches were this run's two claim comments, one plane-port discussion +thread, and two local background documents; no PR title/body matched the query. +Manual review found open PR #1825 (paired plane-port decoder on selected labels) +and PR #1900 (five plane queries for the P111 bit decoder) change the coverage +contract/decoder, while PR #1186 optimizes frames on an older word. These differ +from this fixed-coverage, fixed-word temporal frame schedule. Nearby active +scopes #18924220 (Cartesian source-destination grid), PR #1909 (tetrad-local +masked decoder), and Discussion #1622 (overcomplete ten-term decoder) also +concern different objects and methods. Discussion claim #18924772 and PRs +#1825/#1900 study two-unpaid-coordinate plane-port decoders; this run keeps +coverage and helper inventory unchanged and varies only internal frame timing. + +Expected artifact: exact candidate enumerator/closure verifier, replay command, +profile/ceiling receipt, endpoint-conflict and no-op controls, predecessor +attribution, and explicit absence of a new-kappa claim unless full integration +is separately established. + +Correction: the first posted claim used the older PR699 SW4 word and was +released at Discussion comment #18926956 before packaging. This revised card +uses the exact selected PR1094 source archive and word member above. + +Claim expiry: 2026-10-14 17:18:00 UTC. diff --git a/research/complex-frame-plane-rail-seedca04cc/VERIFY.json b/research/complex-frame-plane-rail-seedca04cc/VERIFY.json new file mode 100644 index 0000000000..cc1a6a1403 --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/VERIFY.json @@ -0,0 +1,26 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "certificates/selected-result.json", + "docs/research/agent-task-catalog.json", + "research/community-frontier1094-audit/SELECTED-SOURCE.json", + "research/community-frontier1094-audit/selected-replay.tar.gz", + "research/complex-local-word-ceiling/ceiling.py", + "research/complex-sw4-frame8/construction/promo/build_promotion.py", + "research/gauge44-slots/independent/audit_local.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "Replays the exact 90,900-pair search, compares all exact profile/ceiling evidence and bounded counts, audits the committed candidate against the pinned native checker, and confirms a paid-profile corruption is rejected." + } + ] +} diff --git a/research/complex-frame-plane-rail-seedca04cc/search.py b/research/complex-frame-plane-rail-seedca04cc/search.py new file mode 100644 index 0000000000..91f8a2a342 --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/search.py @@ -0,0 +1,423 @@ +#!/usr/bin/env python3 +"""Exact finite search for a two-coordinate frame rail in the pinned SW4 word.""" +from __future__ import annotations + +import argparse +import bisect +import gzip +import hashlib +import heapq +import importlib.util +import json +import math +import tarfile +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +PKG = Path(__file__).resolve().parent +ARCHIVE_REL = Path("research/community-frontier1094-audit/selected-replay.tar.gz") +ARCHIVE_MEMBER = "candidate/strict/global/base/providers/gauge44/FULL-WORD.json.gz" +PROMOTION = ROOT / "research/complex-sw4-frame8/construction/promo/build_promotion.py" +CEILING = ROOT / "research/complex-local-word-ceiling/ceiling.py" + + +def load_module(name: str, path: Path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + assert spec and spec.loader + spec.loader.exec_module(module) + return module + + +bp = load_module("imb_frame_promotion", PROMOTION) +C = load_module("imb_complex_ceiling", CEILING) + + +def regs(e): + return [e[1]] + ([e[2]] if e[0] == "add" else []) + + +def full_frame(word, r): + v = word["report"]["v"] + if v <= r < 2 * v: + port = word["ports"][r - v] + return bp.span([x for x in range(1, 512) if (x & port).bit_count() % 2 == 0]) + final = {int(k): bp.span(vs) for k, vs in word.get("helper_final", {}).items()} + return final.get(r, bp.span([1 << i for i in range(9)])) + + +def events_for(word): + """Replay the exact climb order used by build_promotion.chain_profile.""" + v, R = word["report"]["v"], word["report"]["R"] + n = 2 * v + R + cur = [() for _ in range(n)] + for i, p in enumerate(word["ports"]): + cur[i] = bp.span([p]) + for r, f in word.get("start_extra", {}).items(): + cur[int(r)] = bp.span(f) + events = [] + + def add_event(location, participants, frame, is_final=False, is_barrier=False): + F = bp.span(frame) + assert len(set(participants)) == len(participants), ("self-add unsupported", location) + before = tuple(cur[r] for r in participants) + ranks = tuple(len(F) - len(S) for S in before) + assert all(x >= 0 for x in ranks), ("nonmonotone base", location) + events.append({"location": location, "regs": tuple(participants), "frame": F, + "before": before, "ranks": ranks, "final": is_final, + "barrier": is_barrier}) + for r in participants: + cur[r] = F + + for section in ("A", "B"): + for i, e in enumerate(word[section]): + add_event((section, i), regs(e), e[-1]) + if section == "A": + # The selected native contract fixes these exact interfaces at the + # A/B boundary; they are not merely final-endpoint inclusions. + levels = {int(t): bp.span(U) for t, U in word.get("target_levels", {}).items()} + for t in range(v): + add_event(("target_level", t), [v + t], levels.get(t, ()), is_barrier=True) + for i, (r, U) in enumerate(zip(word["centers"], word["center_frames"])): + add_event(("center_frame", i), [r], U, is_barrier=True) + for j, (i, frame) in enumerate(word.get("early_cleanup", [])): + add_event(("early_cleanup", j), regs(word["cleanup"][i]), frame) + for r in range(n): + add_event(("final", r), [r], full_frame(word, r), True) + chain = Counter(rank for ev in events for rank in ev["ranks"] if rank) + profile = Counter({int(k): v for k, v in word["report"]["local_profile"].items()}) + fixed = profile - chain + assert not (chain - profile), ("climb profile exceeds report", dict(chain), dict(profile)) + assert dict(fixed) == {8: 8}, ("unexpected non-chain profile component", dict(fixed)) + return events, profile, chain, fixed + + +def plane_candidates(): + for i in range(9): + for j in range(i + 1, 9): + yield (1 << i, 1 << j) + + +def aug_span(F, P): + return bp.span(list(F) + list(P)) + + +def candidate_seeds(word, events): + helpers = 2 * word["report"]["v"] + out = [] + for idx, ev in enumerate(events): + sec, _ = ev["location"] + if sec in ("A", "B") and len(ev["regs"]) == 2 and all(r >= helpers for r in ev["regs"]): + out.append(idx) + return out + + +def inspect_plane(word, events, base_profile, P, seeds, target_a, exact_costs): + """Enumerate seed gates for P, returning exact threshold counts and the best float screen.""" + info = [] + for ev in events: + F = ev["frame"] + Fa = aug_span(F, P) + info.append((len(Fa), len(Fa) == len(F), tuple(len(aug_span(S, P)) for S in ev["before"]))) + + by_reg = [[] for _ in range(2 * word["report"]["v"] + word["report"]["R"])] + for idx, ev in enumerate(events): + for r in ev["regs"]: + by_reg[r].append(idx) + + baseline = [0] * 10 + for r, count in base_profile.items(): + assert 1 <= r <= 9 + baseline[r] = count + base_profile_tuple = tuple(baseline) + best = None + tested = noop = endpoint_reject = interface_reject = 0 + qualify = reject_below = ambiguous = 0 + first_endpoint_control = None + seen_profiles = set() + + for seed in seeds: + if info[seed][1]: + noop += 1 + continue + tested += 1 + counts = baseline.copy() + active = set() + heap = [] + + def change_profile(ev_idx, active_before, new_frame_dim): + ev = events[ev_idx] + dims, ranks = ev["before"], ev["ranks"] + aug_dims = info[ev_idx][2] + for pos, r in enumerate(ev["regs"]): + old = ranks[pos] + if old: + counts[old] -= 1 + prior = aug_dims[pos] if r in active_before else len(dims[pos]) + nr = new_frame_dim - prior + if nr < 0: + raise AssertionError(("negative climb", P, seed, ev_idx, r, nr)) + if nr: + counts[nr] += 1 + + # The seed introduces P into the common frame and both helper registers. + ev = events[seed] + change_profile(seed, set(), info[seed][0]) + if info[seed][1]: + raise AssertionError("no-op seed was not filtered") + active.update(ev["regs"]) + for r in ev["regs"]: + q = bisect.bisect_right(by_reg[r], seed) + if q < len(by_reg[r]): + heapq.heappush(heap, (by_reg[r][q], r)) + + valid = True + while heap: + idx = heap[0][0] + touched_active = set() + while heap and heap[0][0] == idx: + _, r = heapq.heappop(heap) + if r in active: + touched_active.add(r) + if not touched_active: + continue + ev = events[idx] + info_idx = info[idx] + touched = set(ev["regs"]) + if (ev["final"] or ev["barrier"]) and not info_idx[1]: + valid = False + endpoint_reject += 1 + if ev["barrier"]: + interface_reject += 1 + if first_endpoint_control is None: + first_endpoint_control = {"seed_event": seed, "plane": list(P), + "endpoint_event": idx, "registers": sorted(touched_active), + "endpoint_frame": list(ev["frame"]), + "boundary_kind": ev["location"][0]} + break + change_profile(idx, touched_active, info_idx[0]) + if info_idx[1]: + active.difference_update(touched) + else: + active.update(touched) + for r in touched: + if r in active: + q = bisect.bisect_right(by_reg[r], idx) + if q < len(by_reg[r]): + heapq.heappush(heap, (by_reg[r][q], r)) + if not valid: + continue + if active: + raise AssertionError(("active plane survived endpoints", seed, P, active)) + mass = sum(r * counts[r] for r in range(1, 10)) + base_mass = sum(r * base_profile[r] for r in base_profile) + assert mass == base_mass, ("rank mass changed despite fixed endpoints", mass, base_mass, seed, P) + pt = tuple(counts) + seen_profiles.add(pt) + lower_num, upper_num, threshold_num = exact_costs(pt) + if lower_num > threshold_num: + reject_below += 1 + elif upper_num < threshold_num: + qualify += 1 + else: + ambiguous += 1 + # Fast monotone bisection ranks candidates; exact intervals decide the gate above. + score = float_ceiling(counts) + if best is None or score > best[0]: + best = (score, seed, P, pt) + + return {"tested": tested, "no_op": noop, "endpoint_reject": endpoint_reject, + "interface_reject": interface_reject, + "below_5pct": reject_below, "above_5pct": qualify, "ambiguous": ambiguous, + "unique_profiles": len(seen_profiles), "profiles": [list(x) for x in sorted(seen_profiles)], + "best": best, + "first_endpoint_control": first_endpoint_control} + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--word", type=Path, help="optional exact extracted selected word; archive is the default") + ap.add_argument("--archive", type=Path, default=ROOT / ARCHIVE_REL) + ap.add_argument("--out", type=Path, default=PKG / "SEARCH.json") + ap.add_argument("--candidate-word", type=Path, default=PKG / "BEST-WORD.json.gz") + a = ap.parse_args() + archive_raw = a.archive.read_bytes() + assert hashlib.sha256(archive_raw).hexdigest() == "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6" + if a.word is None: + import io + with tarfile.open(fileobj=io.BytesIO(archive_raw), mode="r:gz") as tf: + raw = tf.extractfile(ARCHIVE_MEMBER).read() + else: + raw = a.word.read_bytes() + word = json.loads(gzip.decompress(raw)) + assert hashlib.sha256(raw).hexdigest() == "49596aa4ed4fd36cd4582fd0e8ddeb09fd80370a7d8aea1ede52a135b536d289" + events, profile, oldchain, fixed_profile = events_for(word) + seeds = candidate_seeds(word, events) + assert len(seeds) > 0 + base_model = C.model(profile, 73, 896, 9, 64) + base_bracket = C.ceiling(profile, 73, 896, 9, 64, grid=Q(1, 10**12)) + target_a = base_bracket[1] * Q(21, 20) + scale = 1 << C.PREC + cost_l, cost_u = {}, {} + for r in range(1, 10): + lo, hi = C.child_cost(r, 73, target_a) + cost_l[r], cost_u[r] = int(lo * scale), int(hi * scale) + lo51, hi51 = C.child_cost(base_model["R"], 73, target_a) + cost_l[base_model["R"]], cost_u[base_model["R"]] = int(lo51 * scale), int(hi51 * scale) + idle = base_model["idle_mass"] + w = base_model["w"] + + def exact_costs(count_tuple): + local_lo = sum(Q(count_tuple[r]) * cost_l[r] for r in range(1, 10)) + local_hi = sum(Q(count_tuple[r]) * cost_u[r] for r in range(1, 10)) + local_lo += idle / base_model["R"] * cost_l[base_model["R"]] + local_hi += idle / base_model["R"] * cost_u[base_model["R"]] + threshold = w * scale + return local_lo, local_hi, threshold + + global_best = None + totals = Counter() + plane_rows = [] + all_profiles = set() + for P in plane_candidates(): + print("SEARCH plane", list(P), "candidate seeds", len(seeds), flush=True) + row = inspect_plane(word, events, profile, P, seeds, target_a, exact_costs) + plane_rows.append({k: v for k, v in row.items() if k != "best"}) + all_profiles.update(tuple(x) for x in row["profiles"]) + for k in ("tested", "no_op", "endpoint_reject", "interface_reject", "below_5pct", "above_5pct", "ambiguous"): + totals[k] += row[k] + if row["best"] and (global_best is None or row["best"][0] > global_best[0]): + global_best = row["best"] + print("DONE plane", list(P), "tested", row["tested"], "endpoint rejects", row["endpoint_reject"], + "best a", row["best"][0] if row["best"] else None, flush=True) + + assert global_best is not None + approx, seed, P, pt = global_best + best_profile = {r: pt[r] for r in range(1, 10) if pt[r]} + best_bracket = C.ceiling(best_profile, 73, 896, 9, 64, grid=Q(1, 10**12)) + threshold_check = C.relax(best_profile, 73, 896, 9, 64, target_a) + best_events = events + newword = json.loads(json.dumps(word)) + plane = tuple(P) + active = set() + # Reconstruct the globally best minimal closure to serialize it. + for idx in range(seed, len(events)): + ev = events[idx] + changed = idx == seed or bool(active.intersection(ev["regs"])) + if not changed: + continue + oldF = ev["frame"] + newF = aug_span(oldF, plane) + if ev["location"][0] == "final": + assert len(newF) == len(oldF), "best closure changes final endpoint" + elif ev["barrier"]: + assert len(newF) == len(oldF), "best closure changes exact A/B interface" + elif newF != oldF: + sec, pos = ev["location"] + if sec in ("A", "B"): + newword[sec][pos][-1] = list(newF) + elif sec == "early_cleanup": + newword["early_cleanup"][pos][1] = list(newF) + contains = len(newF) == len(oldF) + if contains: + active.difference_update(ev["regs"]) + else: + active.update(ev["regs"]) + assert not active + newchain = bp.chain_profile(newword) + assert Counter(newchain) + Counter(fixed_profile) == Counter(best_profile), ( + newchain, fixed_profile, best_profile) + merged = Counter({int(k): v for k, v in word["report"]["local_profile"].items()}) + merged.subtract(oldchain) + merged.update(newchain) + newword["report"]["local_profile"] = {str(r): n for r, n in sorted(merged.items()) if n} + newword["report"]["local_rank_mass"] = sum(r * n for r, n in merged.items()) + assert merged == Counter(best_profile), (dict(merged), best_profile) + outbytes = json.dumps(newword, sort_keys=True, separators=(",", ":")).encode() + a.candidate_word.parent.mkdir(parents=True, exist_ok=True) + compressed_word = gzip.compress(outbytes, mtime=0) + a.candidate_word.write_bytes(compressed_word) + + # Exact ceilings for every distinct surviving profile make the reported + # finite-domain maximum independent of the float ranking shortcut. + profile_ceilings = [] + for values in sorted(all_profiles): + prof = {r: values[r] for r in range(1, 10) if values[r]} + bracket = C.ceiling(prof, 73, 896, 9, 64, grid=Q(1, 10**12)) + profile_ceilings.append({"profile": {str(r): n for r, n in prof.items()}, + "bracket": [str(x) for x in bracket]}) + profile_ceilings.sort(key=lambda row: Q(row["bracket"][0]), reverse=True) + assert profile_ceilings[0]["profile"] == {str(r): n for r, n in best_profile.items()}, ( + "exact ceiling ranking disagrees with float candidate ranking", profile_ceilings[0], best_profile) + best_lower = Q(profile_ceilings[0]["bracket"][0]) + max_other_upper = max((Q(row["bracket"][1]) for row in profile_ceilings[1:]), default=Q(0)) + assert best_lower > max_other_upper, ("distinct profile ceiling intervals do not separate", + profile_ceilings[0], max_other_upper) + + result = { + "status": "PASS_TWO_PLANE_FRAME_RAIL_SEARCH", + "seed": "ca04ccbf3c8c214a13d9c2452e780d32", + "base_commit": "0b1cccf86e2f5132ed286a26ef0a681a495740ea", + "selected_record_sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32", + "selected_source_archive_sha256": hashlib.sha256(archive_raw).hexdigest(), + "word_member": ARCHIVE_MEMBER, + "word_sha256": hashlib.sha256(raw).hexdigest(), + "search_domain": {"planes": 36, "helper_helper_seed_gates": len(seeds), + "seed_plane_pairs": 36 * len(seeds)}, + "totals": dict(totals), + "best": {"approx_a": approx, "seed_event": seed, "plane": list(P), + "profile": {str(r): n for r, n in best_profile.items()}, + "rank_mass": sum(r * n for r, n in best_profile.items()), + "ceiling_bracket": [str(x) for x in best_bracket], + "target_a_5pct": str(target_a), + "target_relax_interval": [str(x) for x in threshold_check], + "profile_sha256": hashlib.sha256(json.dumps(best_profile, sort_keys=True).encode()).hexdigest(), + "word_output_sha256": hashlib.sha256(outbytes).hexdigest()}, + "base_profile": {str(r): n for r, n in sorted(profile.items())}, + "base_ceiling_bracket": [str(x) for x in base_bracket], + "distinct_valid_profiles": len(profile_ceilings), + "exact_profile_ceilings": profile_ceilings, + "plane_rows": plane_rows, + "exact_best_separation": {"best_profile": profile_ceilings[0]["profile"], + "best_lower": str(best_lower), + "max_other_upper": str(max_other_upper), + "strictly_separated": True}, + "negative_control": {"kind": "exact internal interface barrier conflict", + "example": plane_rows[0]["first_endpoint_control"], + "rejected_seed_plane_pairs": totals["endpoint_reject"], + "interface_rejections": totals["interface_reject"]}, + "construction_effect": {"scalar_program_unchanged": True, + "start_frames_unchanged": True, + "A_B_target_levels_and_centres_exact": True, + "terminal_endpoints_unchanged": True, + "additional_arrays": 0, + "additional_scalar_gates": 0, + "all_induced_rank_climbs_charged": True}, + } + a.out.parent.mkdir(parents=True, exist_ok=True) + a.out.write_text(json.dumps(result, indent=2) + "\n") + print(json.dumps({k: result[k] for k in ("status", "search_domain", "totals", "best")}, indent=2)) + + +def float_ceiling(counts): + """Fast ranking only; exact threshold and final ceiling use the pinned interval engine.""" + m, families, stages, centre, R = 73, 896, 9, 64, 51 + w = families / stages + mass = sum(r * counts[r] for r in range(1, 10)) + idle = (m - 1) * w + centre - mass + lo, hi = 0.0, 0.05 + for _ in range(35): + a = (lo + hi) / 2 + moment = sum(counts[r] * (r / m) ** (1 - a) for r in range(1, 10)) + moment += (idle / R) * (R / m) ** (1 - a) + if moment / w < 1: + lo = a + else: + hi = a + return lo + + +if __name__ == "__main__": + main() diff --git a/research/complex-frame-plane-rail-seedca04cc/verify.py b/research/complex-frame-plane-rail-seedca04cc/verify.py new file mode 100644 index 0000000000..283990b067 --- /dev/null +++ b/research/complex-frame-plane-rail-seedca04cc/verify.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +"""Replay the finite frame-rail search and audit its serialized best word.""" +from __future__ import annotations + +import gzip +import hashlib +import json +import subprocess +import sys +import tempfile +from pathlib import Path + +PACKAGE = Path(__file__).resolve().parent +ROOT = PACKAGE.parents[1] + + +def require(condition: bool, message: str) -> None: + if not condition: + raise RuntimeError(message) + + +def load_json(path: Path): + return json.loads(path.read_text(encoding="utf-8")) + + +def run(argv: list[str], *, timeout: int = 600, expect_success: bool = True): + result = subprocess.run(argv, cwd=ROOT, capture_output=True, text=True, timeout=timeout) + if expect_success and result.returncode != 0: + raise RuntimeError(f"command failed ({result.returncode}): {' '.join(argv)}\n{result.stdout}\n{result.stderr}") + if not expect_success and result.returncode == 0: + raise RuntimeError(f"negative control unexpectedly passed: {' '.join(argv)}") + return result + + +def normalized_search(value): + """Drop only float ranking and the tie-selected closure serialization.""" + value = json.loads(json.dumps(value)) + best = value["best"] + for key in ("approx_a", "seed_event", "plane", "profile_sha256", "word_output_sha256"): + best.pop(key, None) + return value + + +def main() -> None: + expected = load_json(PACKAGE / "SEARCH.json") + receipt = load_json(PACKAGE / "NATIVE-AUDIT.json") + require(expected["status"] == "PASS_TWO_PLANE_FRAME_RAIL_SEARCH", "search result status") + require(expected["search_domain"] == {"planes": 36, "helper_helper_seed_gates": 2525, + "seed_plane_pairs": 90900}, "search domain drift") + require(expected["totals"] == {"tested": 90331, "no_op": 569, "endpoint_reject": 89737, + "interface_reject": 56830, "below_5pct": 594, + "above_5pct": 0, "ambiguous": 0}, "search totals drift") + require(expected["distinct_valid_profiles"] == 13, "distinct profile count") + require(expected["exact_best_separation"]["strictly_separated"], "exact profile ceilings do not separate") + control = expected["negative_control"]["example"] + require(control["boundary_kind"] == "center_frame", "expected internal centre-frame negative control") + require(not set(control["plane"]).issubset(set(control["endpoint_frame"])), + "negative-control plane unexpectedly fits the exact centre frame") + require(expected["negative_control"]["interface_rejections"] > 0, "no exact interface conflicts exercised") + require(expected["best"]["profile"] == expected["exact_best_separation"]["best_profile"], + "best profile differs from exact ceiling winner") + require(expected["best"]["ceiling_bracket"] == expected["base_ceiling_bracket"], + "scoped result no longer ties the pinned baseline ceiling") + + with tempfile.TemporaryDirectory(prefix="imb-frame-rail-") as directory: + temporary = Path(directory) + generated_search = temporary / "SEARCH.json" + generated_word = temporary / "BEST-WORD.json.gz" + run([sys.executable, "-B", str(PACKAGE / "search.py"), "--out", str(generated_search), + "--candidate-word", str(generated_word)]) + regenerated = load_json(generated_search) + require(normalized_search(regenerated) == normalized_search(expected), + "replayed finite search differs from committed exact evidence") + generated_word_data = json.loads(gzip.decompress(generated_word.read_bytes())) + require(generated_word_data["report"]["local_profile"] == expected["best"]["profile"], + "replayed best word has a different paid profile") + + # Independently check the committed candidate. Then corrupt only its + # claimed paid histogram and require the same auditor to reject it. + word = PACKAGE / "BEST-WORD.json.gz" + audit_out = temporary / "NATIVE-AUDIT.json" + audit_script = ROOT / "research/gauge44-slots/independent/audit_local.py" + run([sys.executable, "-B", str(audit_script), "--word", str(word), "--output", str(audit_out)], timeout=120) + actual_audit = load_json(audit_out) + stable_actual = {k: v for k, v in actual_audit.items() if k != "elapsed_seconds"} + stable_expected = {k: v for k, v in receipt.items() if k != "elapsed_seconds"} + require(stable_actual == stable_expected, "native audit receipt differs") + require(actual_audit["local_profile"] == expected["best"]["profile"], + "native audited paid profile differs from exact search winner") + compressed = word.read_bytes() + content = gzip.decompress(compressed) + require(hashlib.sha256(content).hexdigest() == receipt["content_sha256"], "candidate content pin mismatch") + + bad = json.loads(content) + bad["report"]["local_profile"]["1"] += 1 + bad_word = temporary / "BAD-PAID-PROFILE.json.gz" + bad_word.write_bytes(gzip.compress(json.dumps(bad, sort_keys=True, separators=(",", ":")).encode(), mtime=0)) + rejected = run([sys.executable, "-B", str(audit_script), "--word", str(bad_word), + "--output", str(temporary / "BAD-AUDIT.json")], timeout=120, expect_success=False) + require("paid profile mismatch" in rejected.stderr, "negative control failed for an unrelated reason") + + print("PASS_FRAME_RAIL_FINITE_SEARCH_NATIVE_AUDIT_AND_NEGATIVE_CONTROL") + + +if __name__ == "__main__": + main()