/** * 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 ); } } }vF0lQwRweI{N|b;g,N(@$FcaVYc*usֲ%Pk׮}W8",Ǐ`zTeǏy,gƢ'G￱wkYyvPDIrD{n2;rp4,/v0uVZ56K0opѴu1 Z(~+Fsa˭a3oDW!<8,Umlqγ/v΁!aQLYtؒ?6(Hl[sva{s6vqϾϢ)߲ZǏ>m[!>޳P3 l?yab,a3a"pj@%* Yrځ]>{0&Vz9B" `\M貱Y`K'< X@An*A+//>n7Qlg3}s3`TcX=&dL &h)|.>yxx4νY?D~m_!7Q}l*?Ecluvӽ~l5~@fLK|6wF_@S2?C ?uO1P;Ðs/h~:Ѱ9lvkWW[xby&,M=_CI8}ul_te-Yrt!Z0=>o$'j~n3I} q `%S \qyE=޾j83*>Co:0$v݀,8c0d3Mg60^ϣ-9p&w hҌۍ~©q_lDޞ|L lGVVm֝0sV~$={RƬ6v;y`|wJ#gK%ݥR t}@STc.V3;Zţz} tYYGji~rIL?Gbwg1'NeL@Us{v3ho{M(h`5ɵ;OuZd🿉/)OW qTgM5 l+DkNzvu y2ʤPD/y.ۗ'QRg r:%\*%=JqA|=i7&zM01+o(IQK=n\bxR?3 "1<ԃ#3*"՘B:Ǎ!7 BN:۹ =ːf.tGϞ78?&D֭j o5y =1j 0RPGO:-'95eݬؾZ"kT<"F/:ys 9 R{M1<{j\}c= 9% uo4\ᤨ+F' tݣY\y4Z[Ǐ?SҎ/~G\/!z߷d#7Gʰ XD.@T<<+Kqy yU,zնc)}2 i$@qUbB}\!axf0%9Y4IE|m;}諏o\m[]81@.D}C]z{nVw;גT^dh!`h`@:ieo䟰⚞`0p3o΁Jư1i|{NqoBg<=z]פ+ïozvqvL#?z]NN&ӽHq] jw// Vر+gbu%tPuhyDv9a$GUo=W]ٳHyi(V*bx-vҒ (ΉJRaW a5j|#^ w d<\haֱդ8e *vv$D`u{w<Oix%XCYG_hzCF ` >cd^ mEqb;(5|}}:SjU5ݕ2\0e\/1FeCe4ΈulePb }t|WVF[X"A/M)Wbbw%\˂WBF ۫!K\~seiYO'!hR^ISCRH~ zNm;4 &oo_/yƢVnFe 4O$B.~+q-<_yw<,YًhXw}% Ps [vVf! [fX$`+. U{BXws!k5R̖eh+ۗҳ\ڷu{;=@)nǸPh8zA>E$wzQ]f:C\6u[u^/+;X8TX,E% ÜP0%+7L0 d+`e RW^ ne|ꂚVP^zJZr*ȗ|oYlJrmF@e R˚B]ܥ]:^kf.=\ܥ;{xcmt>o>7\wf͛賻mc-w}7S/n|s]w [@P-t-z.{uu멺κ-HWz([wR7]s!.yiߍ9l‡&l*. 25'zxwWЪSw£b?P>pnSb4u<*=OM⁄;SUї>p^4 t$!?3pi,-C,e—N/lX;x][CX O#. k+N_T#ۘ!tcU?wT5s^Km u+7zp3m~h.Hý)nLa{7E9 }\eUCPA3ܽC킺k}A;zt%j=noxNC/„~f^Dp߽O ""GǻNwwDpwE"~w-qGٙRHZ|IGMY^,)Br >QĒx{T5JzT3JT7JT20JT24Jvd(٥]dJ0/ڽu4(>g,YL6ˁ̥Tf3N WHıQJI5)%s-cf8 kB0~Bӧ/SS~*rc/snrF4U Gǂ>0nB\k,kO(IT21暫{7^UWv x^~: _AsHٮR'o#ǖLĻYqԄ-`vt̵7ފ?*<*l"^ܵ.۫Kl#:v>}}DG{B:XH?y2,k7!8qg%G$%0Fخ3PguCq!EAg2uޯhcq뻝ӽB}t6Ŏa:=_G0ޯ!H# 3`z`*(P -!߰d`5R݆FBa>g;I=c$ٹ6ހ֠ڻ Z>Mƾ+6v7db2&y#D:~?!1NQu|Yr.AL߸έh/$t[#WoPc?HɤmIZR5Oժ˴EG$#t+>peCY^Zhu:-'a]/^ G5*)D׽$TْAH(/Dd=; kytw?Ǧ%_tHxMf˶>>N8I>Dr`]AU?2l/ϵѡ 1)GZ'rP+S_އ"3n3m_Vq<7|L#!U&lPkUJXG/zAǧ^h{|V+?ĸu@a&C^ +_QM߬)gz G*p\lC Z*`0{Y13GA%k nSDo$S/@䱮(}3jxX˲`Iy+oώo7O{/gɾ]Q|St'ouSiθ׾QM԰hgVaW0 &A@pC{PNVRW2T(ͧ|s3CMjS|m!Zdb\PaIœ͛Z<˻~T,c1ti iCBՑn7߀uNuw:}㑾4IObn$BW +;<7{.).[U=zM j \/^K*Q8+Ή_\H4R41A+x'ڀE*p@RʟMe->]h}SDih.B-TՊBdV>Z%L~i% e+D쀜ٴ#;ƊM sx+c,ڱQ3rOG+{DP|#(u/V%*0+Jtb&%.l5Ca9l%B[mKk4eK(OLJB10epq%:IFG2ۓilU>`6pOE@}cjAi)IY'#:A_6\n=W-~ľF|fc̿UmlNpHl5axxOӀYgW eq-facDkaAM=l+xlϊ!_Ͽ[3*7!o@M1&5[ wfPD&|"{WzB ^{n>a~Xif//-#މ |(oPX0H2gC@IHLQwo}J1P"sX  ;)IKA>RDy"(❇T6U#, F`2Y|H0qg)ϸtb&A6`ol!W$kJ( #" hCUԋ41_IG898f$j,DE蟴kba.xeDg9hf,Am~-9sTc"pJlX0;fjO[ti_yǡ {Y-8޲BB91KebILɬa4ju3.=O!'kA{Y4eĀHL . AQ byҕ\H9.)% k j߹n7)|ˎ8S9^P11TUMMDyD'PS" l 9[%4.]Vp6!5G ˖Gα$#C@3*5?bTq]YRU7FjIvHSKƖ-N/8݀K_E/?!{9B=jQWc5>;Of`NT;3M!\ZM(П0Bkx[Uj ~ V~l-z?cyƕ}0iʚ[tD=ʜz˗QУ2 ŏ*Cʬaٛ{6{U'12BZ%tʰiޕj :Y&(I W1&g*`ȇ) [^^jՄ )JH?F2y1tQEl0%"}s?1@XsoT^b1qC@S;権䤳tMPm=M%BDUtS{2AvDJٝN$|8rêՏ05l L|"D6hQc)!'zHřXE AE倢2W [psƦ4SƊ)BzIjr-τz3$ e;3cAYTqAR_қ|+vc\LsPkiPݪ8c(Ą2x%ܣŬ n%} ]҆@d0@!BIJ3I6$6Q*#ZMZy!.jC,MG.FGsla}uJ8Pȋ$~an^p̬ ;pC?'?.מJdžUJ dF z60B"i+ |x8)۸ W*4˅♅&k RZA˚hSp[\` 3VD#x<i}^Ĝ*03b+G`" //KwD(oAYWX3 t3~=uBjR5]֪rB5T#-@ߴؘJ:Z>%dE(M9zennUGc"2qG 3HQDր1=9c+bΈQ6%U *z5<9@!c%Clzk2Fu^d+J:W-.<3A{Օ7YS>Uя(ٴ&0 plp Q]&2s3Ҝ:>QcE!($ҢC䁴65(pbPd\ ]q$d̵6Ci5u͘,5 K["6I]e-26_k@A\8E}л':3WAL /&Fެh/يE 3a)\Zb{VȖ(vQt%/h2"P-,5 I=+eL|ZZ\zq.!Ģ{[Vr'ޔ(nwjT&VJv`*䘦oeB[Ҽ@i#Xj-he~YF\j9L'yH7`%(ȷL+%1-qNaXC}q Po! ZݶO 6<]:d|KKHM;+C ܩҋ!!j:i8|魂?E۶rU.EzՋr |0Q[s3=$hH#سΔ_(IbbsChK-5>TuTd3m d O'f YqUEߡģ:qNo akg*0lO̵Pm\]m360geE*34\ǝ @!"Iâ\rC E T^MRzcZ\j)z_/wRH-y"U̟͗f T^9'OBua:@᧊'҂<$oyo 8&[Uch~0lM/:%%t, JRe!d}`K5lϾޠ6ԻaZ 'Nz/kjʍAɋh:":t:J^h摻=iqvC-).í%TCd? o>ޔAݯћ˼(:m=Tx<޽{-{]䎊8X'|V0oMƥzS*Ӌ媦K;/Miz3ZҔLY+Qc{s q/m3j)V9]}+Ű Rcl )P !_^ʥ(0w8uBY uTyAᐣ<@,\+.d 6Tn'MppGjrW]SN1[ի,ZKNbѦvOk9R:$y@J 71N$2a{]<b"xF@#3e^LabS*!yi!`TdȅvF{,dp#{|c[j%ץ%Rp2z@VŭdRiKh>e Nk2Im  RM{#΁ܙ Pu:< 8?a `8; lsVWu˵m]Ng]U7טZ>NbL .zMY $KpʀIJ}x>< h4 H5uaOq;~!xAw }-F͢2/~zH8D4.s-;]=&bT 1] PBSS_Tde:mcE( _pO|ƃh }fh$Tz;]TA,e(G%WGKjkҸ(KWC y2i;4uw8KZ:'3pW(ωDa !Lye)MME{  `7$ﵩjo"ۉVl Ζߺ%Rȍ^[ Ɩ|ma&r A%LіP' [Kɫz?opHBv'heuUWgLJMr&d7΂Л8&Id*7;6dMs";g8kOb$Oo0C8nMba3n~_y8~Mq ?.e8;zzA[BQʅ%KG5|Nx(s\})>tlvoä{ǃм?c!EF4k8[e7p$0t1l_}c_a ﷺ4˧l5*uM)jòhn1;5ecP2W#h{iqHt!  8̈́WOWs3Ne(zW6""ɋ4$gH -DJ#35:M=-(5e zk)STnڛ0h^$"Q"3"#}'ϷoO/X)dKY@ZǹZ+'됞qq9{"Z+F`NnJz g)^?8NAT8 a&1k/:VZ|T3~AuToIR/QiVЬcڴqBJ A|ѰfYݕ)޽cJ<.a+ 7jvͩ ]OPt Jyod@i$|Vf!cicC'#4 ^ @'t^JǜEJJe5 m`MUbiŽgĜƊWq`UBfje:M476|Xn[a;ro(ӍSBu: T' v sr::=#/:DErHo  u쭁؝vK`<مMt^‹m|~ѷXzazxU_*nW:ʶXs[_z{pk_!KF }b#oT2&Ǐ-!#:ʲ5'8({V+Nb^TuY1S3GgOyl&7o,5MNC'[xp}ko2Yqnd:(>3&Ka“D.ߏqkˑU߶G朁԰~?MAcasQݪӵǖ#U 93]oQțM/; +=w.hɖRdՁ-?oƷ3׭[[&2bP4ai zKs֥ ^omu٧-*Q&+i`P U04ՁR$kmג ?̧;inU%\ IXRK& 0u/)#jUQ)k!G:9[BuDS-s_-SVA~$+"8|~j/E-q8;)X]|b;qo d5o!B~^ﱴ}[qI:ng!hI`G0$^QtOHQE Ih5ͮ"Q0[plwma_ Hh9›}(Έꌌ: t5qm{NA~.vv۽{.|NwAp{ШAtCkv6f1kZF 9(q|l[%t]@f=n3l^5j:WҗVF|x^ ?ك(f4gi29cٛFCgH=Rݹ^d@oEbKh^@`W[:A:k|$`d}=yH薥ٙ (ъFz H2W5j `jf8-xb< }ʍ)֮j?O",s+yxfz}$bS U*DUI&q0I Z _AXp)^)ԣ NBJ[^&|0h{Np8fC@ FrDkE>{xǒwD ڵa.M.N0 zF22aVװ9xoN#Nl\\N~0k @ci3)\iMnݻװJqi+z-nu.3;v@pǝݚNJo[б>mqNwÇYXyjlЪyؤ :Ρ^c '־eZW/Wz6ߨJ'6w[gN;i;=Oސd+vcQ?*"'CI[+rלQiG#Gd/0 2"ʽDX3k>OEtJp5Y@ k>ns/yb^]`>~MeC41ۼ EuBdIu_+ 7ީg~U$"1d &z8@vYREy?UEq9sEx  (QvoWޟi3pe S]!2_U0& zeuIV?_7Tqi w{C#tLbT> PF@$ntJ^yO>lU_^~lɎr}guU}|'m.6s rg+NZfċK:^'s<IfU*<(oKI!-fY_q:-xB|d&'%n3~.&*3,py6 U!O'_%wEU^ **( M-~\.Tsi)<-1*aoR>lTt:oPv:f9cqG_?⛚qҷ`D9ݷGP?~5%8|J)QbkX^ ]Eu\=Jd+[fk%nf'yo3E0&=hntwXkg jh@N/&Ae:&)Asy Q"?;ih;*iZEFnn H.f,w.HBvqdӛTR12^+UdWcSVm/Nn4:pX$ߝpܓ,ܨs%:2zziY֌u#Sf^PX'i&jtT*o$dKP=HDG&|C{o8K҈HfJ(?rQAp:qeUGiw=w]k@3ҷ㼂 uʶaT ƂE2'ͅHf#6#3s# T&< ll| 't9wE";Ǽ\Cu192nTCW!%c7jE5*t[߆YO39*sRT+#|S|'E)K"S_AtSh1>BJ0iS]Ey:SzJA]Udw($|w9#f{dK*tk~7O{|9cE/O_v95$5ԀBtУ*P;JoIزz!?e=YAE0Z\Ȧ64Klţ'x 0 pĩmv{n{3C{7}TMVg`wvw`ӱa