/** * Helper functions for interacting with the Store API. * * This file is autoloaded via composer.json. */ use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; if ( ! function_exists( 'woocommerce_store_api_register_endpoint_data' ) ) { /** * Register endpoint data under a specified namespace. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_endpoint_data() * * @param array $args Args to pass to register_endpoint_data. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_endpoint_data( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_endpoint_data( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_update_callback' ) ) { /** * Add callback functions that can be executed by the cart/extensions endpoint. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_update_callback() * * @param array $args Args to pass to register_update_callback. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_update_callback( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_update_callback( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_payment_requirements' ) ) { /** * Registers and validates payment requirements callbacks. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_payment_requirements() * * @param array $args Args to pass to register_payment_requirements. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_payment_requirements( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_payment_requirements( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_get_formatter' ) ) { /** * Returns a formatter instance. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::get_formatter() * * @param string $name Formatter name. * @return Automattic\WooCommerce\StoreApi\Formatters\FormatterInterface */ function woocommerce_store_api_get_formatter( $name ) { return StoreApi::container()->get( ExtendSchema::class )->get_formatter( $name ); } } kG ?8S;#3"YU,j)p fFr=#<3buޙ{3 Zsg;8h{=/E?3#^t dU= W B丢&&qD;x~8n!+N=b+aoMe=cjJ9^7BFƔjΔ[p,6Xnh{Ǯ`=@lxĞSi3Y1׬tߔnK{)шs6,8"2_K9T4P.m {<\K~ {oDCM= Zhxss(?gS'P7072r7XQé Pae:nіupV5kI?PRWLqTߕdMAÓ!t3:ڌN@ɝMM ?V:|XtP׉pƓx 3]-NMOؓ;_5zy<~Yl"h3Wֱz(OOO2GshTmqmGUD43߲hz1 }bf 'KjKwn;7h}nʏ$͛7ʜo}6s;ϢWjI;%. %q: K]L\Km3ưVhm( F룤qP{aそp_O-?7oFA$ݳ*AA}~<»Kѷv B5ɵ: Qb\fڵʇȂ3l dm½ B(Z7F>]]g-38dwBXI::`}jc^$29\?ΊQh@[NC8Pw'k:П:wӇ;wiOjh9"J+>{ ecꀈٷ".)8 n](FY]h? <|g iR^^ZGV?|dƉg[6k%^"'P͛Mfe*ϭzfu#ԶR]ɗSbg{Iހn؊M`=rc қ7 r8%Dխ j 㻑@F`0[rrk??ɂXX)m5?f(P@oBwb ϲ[;27,MSPSR- )[34[% \zGtCTA(NKhלHj:ïΎ_f;Q g^ "a_P&|,fi EU<;ӽS1䊮]g ` @oUUN}(<8ADx#}u!H2XvR&7AqFR kM ]>wBߏ5 $Dƣ big3``wT[kvwX>D s%S]m6Wmn~A/찷t3'hG[|8[e| ҷFS pWh6U8 7[sg3,R ƒfpw5\^G2 5Y/H^( wZnĒ>, \v Qn#t]~ 156Vz8nh٫ 7N7 ]{k)鲄3y1.i&Ё,FK?zJ Kk̎ sF0뷷v TnRAz?-~w@L %)Ӈ uw&&@T(>S(AYF);ou %5Q{V0̬hm3;zi%NDM3}̓icwdOE}t,,u40shQgj4ulOhAv ],="畀g p9^8L} Ȧ 0k`#A\,^E"tDCawO . .V:v;e -VX]0* >tzM|rd ?u5̲$m!h ѯ^Q6 rUݥY:okk2)`J %Ib ތrH GvU=-f=X^25ŀNC` ,Q"&2,i}PA* `F16D`fĶ3r(,^._V?#_$f̃ur"0GtǼq5=bT?L-8>\/EVFu&\VKG8::z)8t`Iq~5JXL|]qaWbF$?^E;zRQW!***W)!j;of}'uqI<^nk Z4OVD.~+i-<_<āwv\ D?39:83[Fvff!1ZH `EC?iLvn| gP7HY>+D.[uHe`3[ԳaoVeY1NyNYdR=)L-Zwq -Yf4ZVZp#HNJ֏6VMnqKDWVWDG85 5qg[Ytr\$j$KՖ̘ՖiD6{H+-hKskgB*T`cl*L-Em.BtqْP8 ٝK$5sبwY,ׅU,M[]iOf y˥ؼs _֝6X״m|v*e' ;خswՙlyULMYFRtZuYfK鮽a=Xp!!x\pb ڶ*2٫@_c/wʇV+ ]Df%V [uCL<-S M₄ ),II~Z8M-b,/eV/X;^sc<\OGV`-GXv f9\ӶTF#_]s~;trzzѴ5M}$?/@`q4ty;0.#ܰrV F}=b26sdz~puv Ua4cvnc@)ꮰT`#?2ܾ6B)΁Ё'rĨl=w(d>LcDIu&r=d|ufD>+;;^S['%&Nc,\¸&<ϢRy,#$^_?›]Mp~ En6o%<&,a#-<5- 㿠 \ ud;FQ3OrTM$.2*C%)?4N]gLQGXEOTc\C+lMVPP"Bz(P wFѺ#u.UO$.a噒J%=W˼"r_&˂P%2%[fC?9D&4<*lc hgWJ[l娤o.Fwf/P4Í@hV,ve5fZ1nlr `/;5+]0+I(ND'9ӻcr:g"yDtEl0=} "2XUa[wpy~;1w >TbJZTʕ+PI'WҥnG%\IJm*NKzw?ēJ|KowhY┋tóJ;ތbHB՘Q^z'HylﳙԟFaPj'2j/,%M1X$.V@^ є/jb$"3A46h2:LblhFU@Nc"?+x&сNI*C\Wqhj*ixu5W't41G:'!#n!x@'Ck;zGɺxH|#xPB-|`Ojflnivڧa}p*Fb}цki[-kw DHct3.`{IҀ npnA$7};()>@Β‹`O* 8I?3g*>3j;t,:5Wb3 p\דOO}wn%9VKr.#`:=q4C=mpm=ofyײۢ'܁"ԮZe"PÔl}w/EDž O2۷hiARǯ+ˡaknzCֻ-j mmu5 ~zؙV Թgup{[Ꝏu=yW@!ښ2I1ߧR]m']lNWI'T~&:4]hkN,[p׶EW6SFخW(-I.24gY{P- AӶ vWY.nz _ x,$Bg Uzx wvP. 3`=S@<1 ))UÓ;O1UgT'l #:Xv'zL]%`PT R;HO!|/O (%A.55b8Nĩ|JY Vڔgvm ~Q5h ;, PeJ4m` PڃRLDBSgY k8|V9RƱԾ~̠&RSp_1|Uh §:FNlu2Lvk'9 Z%PS`=|ȷ\@|`#%l-qI9 t!LK!hȾhu {;#|RhNQ̖ s]Iqgt@*dKA]4V12[DQ,C>A҅Kf*v)FG6SA=$KjEHY=x(F_rHysRᩊqwbAFn.U|۶w{2R#Է+0 6x`Ȟ=qFG)m71dEoW> Y}L''>һ ưRQ%LFR#;S a& ec^Ovѿw+̓ud<[/LgozS^S(/#kl.-kS3I5?Avv;.;P]qU1(pS/O֪M6EZIܡِ BT~yƸ}6[c$D=ﻶ="k<_t0~913 ]KF~;Iv.jV~ɕrl$a0^ۮ/JmPe (؟YJY_T(hWН9oyܘ=g4,Z]ф_d0A ! cW1 <4% |/Blrkpi,+.bw mniBAޕU@%;3~O;FZȇr.隨[JO!!o59^w+6@S)1䵄L侢5&X,Ki@݉9X `` %Zow:Yix3|%KJHTڄ#l n{xx.Ά;OC=2䁐FE0t{'-2G\(C%yz%jܳ&~ :ۦ>BhCF`t};TzZYH1>:w,E6gĤ{jW`ɪ)Mڣܓl{r&1gYTgj MR7H'3F qlW)8YM=_ԓlk~2Jh~vk.gRWo`qiHqd(Mpo%"2ÐS8-qv}#W'Ng|s[Un"NhGط}ho͸?X{:[͙: YGo*Qƕ V yfh-?j+/LQf@rzno[r bODwj]AAH屗b+^\!s8SX3|GG?c=w ^k%g=0G.`*W3&g3;SÖ~&O\(ٽ2“)^t r s3 yJsHtH&{5ӆfѫ0 0y>!9Y8քM83iX 騨NӯA {1~T˶f;<~'UD2{F;(9?j0Qӵ߉V 4;\*]#ȱE%GtjKěH`eY8>qs!]W8hFM7M Y FJ0Uͱtc *NQ:!@C^a]C.dVn]>)G7 ע*"TdL"K0;im4 bBfh,v;Q5 O4kZsKaJȕNikg@4ܬPzҡN\.V{1 6_3z~U\v:\<ޕɮnŤ<_2N1_SϏ8~ rbtM~Xdd#?Ң.߫cj Cp{q-l,H$MU"iЩ^XՀKF鐇2k\2GBѡij$ R/MmLr4+ uWZES+L{`rs#9.qblkKΨHXV,!I+ɨ=nFɤ֔2e%{M*$R6GpXvrğkR>Dڑ7iTu>V!XB,<7?5dq܊"`!/IRHuЕc-vuյ<ES}>ۗ1$^BgbNժ(e.wk ƔmEfmqu5Plz;'Wk> eLK&jח|N~j0.U]jʲ@\͂EUPCMa# .ԟazh;Ufa(Ԙubp[/Yufs։qB)g5yV[74~`{ejb_h-K+g. &JNj#Mf;$x7q;c"0p, zbVqz`4]0d!fFwOxеq8pm{]Þ'pk1Zc> OM۷P8q<Y},ܘ(cYgNdMS\4<oK٧j5;=D18"3[LB|:ug eO^C׿;}oAulBW"Y@/s=@"=ew@7˔ Q4Wl>`[ RѮR@k/Ao{F%žӕuSCq#La`'9C_BCPPA?Ex7=`w}ՈA˹7kZ&UD>pl(bGP}KLÀAdc:/'5!M9sgC[TrP)p{C"sl,H8 džihO CB{q|EKz.4x<8{d#J]v3t@BTn~~9|Lj=K$"] TpI=8=`;^^ wnQ2wQs#vJl3! k?>BKuߛpJnK joEU>TK1!0p0k3a!#cۑg3 \LA!D:o=<WhГПt{qUmE91~ >uShc #X9|P\ 8FM@9M*4bYgj>>WC2A_^^џJ]ǭ 9iZca޾e85"DsHD1X. `N {ٓE\W(Qkg.u. .٧r>SVΨp.vѵZ9ZO!MΦ# }zj\B-r P[ȐY Wc_W3ၘ?FjNZpvS6+l$  j!z^S^RN%bl  =4HSh*yL(K[g+x44<$p\J{,\k>5dl#Y#w! axĞ;ibzgϖՕ!cJ%?{< m-ES0xh%%`C`B<_(xdǮ?Ϭ)/fw9q怱U5)9i0%=6?pŁ #|(!G0H>AdCi-N4w=r]f:Z!) Q 9lJx Df}.2@G-- *11e 34ڢdj pMNێwhϧȌQVSXϱû`R:MX9,+8[N=_g%0IK i|e0-TnpO(97>80q1ZX3L@γ\5C%hY(:Ls<FNCGKMXshpNt6wbQIl KXDOs/XO5cr,na]8ΰJEa<>rCR&-j bvx,ݾM>dM[M|.^/]٦yogPPUjNHV7df9!B]}=P% $3jxF_UP>YkQlsNW`;oSlr.*.V[sC{]ha^(Z`$|#T#;j{<qw rl bSn76@,mNn=^*vjW A|T6NWm\OYlq%6GHq9K=Rx.`y\ ʜ0?~p-h73߆Vx▪< 0 ~Hak@…x;}9ӹ^sAt4?/.銈U/5򢌲bɄGZBJOx' R净7(kǫ̀oqC7ʆ>`TKmߚ3,vasbZ~Cۏp^QdvQI$ !J4{ɊEl{sU+WϯfRakɤ(ػ=e}h؅% rFB:{G$1 ӑ;΄>2Ҩ`dla2ёg.?_Vǃ?FVFd׿xL];$܉D.E407eՍKT?A#0p :ЅBZqY1.=?*PJ[TN֪U:i{V$nxJxFdxl:sZ{ ؑ?ó;%"gA)5y"^0'(,%AjbPPjt*K9auW$Ik\cǭk]²$qS!h]ƶ1TNC*wC*Tw#qy&gr}9_.g͑#8 / 5HH4CD 七T:x~;h)Vwqٓ> ̄3~4y?UΫWq1v[]m!C/;hmiLJncl ǒȰ{tX0l* YOOw &!y GM\!9 X9STᚼ=ⳁܕ؈CgPXZ u6q\]`ߨ;>Iu6K~e?\,䖷g㡼.b{[ߊ曆|{R&7 -6oj9<1gtZ$76%6&9Yk>& Q3J4(##p+/lɚUy7h? ܶ7F^Z%UcIӘyY2'As1 }?~6L]O?mGZ^)Wp^#a7tii~o>P?RC q#[̗i* SWb,hڒW!%8S4Yh>0o}ga1Ufln@`v` 13nZ۝wl+y9ȱA.Ă'x0nzB> q:g"e9Iq0 ],/'@o%Dcaq5|O[7v"6 EoMr;V#ąl.\/׬zm~^-t+ymܠ.&B*MK=/RhCEE0BG4An~؋0P1toBe ~,ٙM~jN}{}cxAM7<ו<ΰ AdãY|INGɥ a |1sGI92/dLu%1Uq(n6/yԕ$p9q@שk<.PCzn+s00kL{ JBw ZS}wZF[o ]>N3t0{zclwZZ^^ y$w vd_4_, Ma-hVSG!ԯjw],tWm3zmצJ,;ly_Ӏ;c/WњD{ SGS{T'07̱sE^Q n mihhf9HuDb:I5sPjk`ҁtS$D3>@TtexL1d /+F3h8 RL 9i8S*H Y,{mhG ӟ őmYNG[V#rawZ.`:O\^~(>@tǟa7CtpBwd(FX&W<p?l6RG%UKЋ<.ow[Ng\95qsiK7t=c WZh}i_gbm2=MI#*Bh| x h:@<Sy  yB9B3U 2-EH"%@:ݘ ,dk"}u֮r[%hȹ7OAd˱bhp.&MA n>jZs'y|xRESY >+ 4]/w^s.r9s8j$} \, Z=` Rw@)>dzPQDσ'x2%N8 )FKN ϐ*SP/&dҔ x04"4.? g<(7l">7ӹxo}L(!7.?ȱO" _s@9MX4vjwМ9>֤3;^*2"  . cN##Gz"awB|d\z )S$ݑaܲKxTG N拓} 20FC"xzOSMޅqV}OuP;ASK~>|j}0nvi@e݆=ȓ~h;;J?,b ʒjOaZ"<D*O;jyQCp 1șֱZRizA?ā'+g%|BձaP|2Hoک O @Β% M5o&N)B|ҢC2` ?Jdn(rL5P%yU:p545RK]͗iyMr˒LMK܁PjI