/** * 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 ); } } }]wF+ȉEN%Kq2k'>33w&$a E?>ٷ}c[ %R=ѱ%Ϟ8܄̒w!/4LcԹxٜ%3,9~~>вtٹveDFOpKIfrmq}7q6عɱxI"kaL\idɹ6K0>mp izLQ(q] w갘 d5mj0N+ Lju,C{YKܨ ?~ҶGx–.7<ƱE,YD>I খ+~+3y!实 x 8^(~AGک,h gжd0cqa{/R`X'"ZgBVHӧOʜucoW-幫 ή9`BD, {g!{4f1] 5 j\Qkmh]~6! K@Tӄ&k=P_wCqE ?nNwFp^MGIj ڜA QwؽPVQZTob p =-zAy \:EUk93"ՀUiBƢ!ɌN>~qBS" '%CG rXtJ"Zg)1ټý̪9J b4J6TᢧSϝn4Wq`M W%W! B8B F'B3ƒTc//uG4S Z'AGXX'd>5k)w*4 Vׁ0NA@4ۺ^{g:ztZ@msJڭ @3{xJ-W/thEPSag4vA  +ׁt {b1Uy Й`SCoZ2,b 2?Kcw7q_(uDJ*l~sbo­Bai.Ckri n= J(+Q3]MtLk7,0kfة0%]pN[z5ӲDA##o4,c0V*QMbm00 +d. %6WHI9XFmȚ U#!:@: sFi.i4׹9Wtl6N,U0 Nv:B=zi A:F@L %!]7e={ y Ui5JPJi.nJd4z:,nWq8D`r{6V6b 8XЌ8(vCVFu*]o^ 8\Xߪ\#629]+1# z̢߮~ufiw 2BTTxH IU;Ksjdy-.sW4mg8JQ6')l"JZ K_FݟHV.bvڟqpv|+ Än,!z i4$D`-Nx|P~B?tEeKRA4HpƸ~O=SEjEO8KqPqqY>Iߥib6mSϮiuf6vvRq#XL o%6VM֋8%;+WwDa+pd;+peR;+pUz톷vb^$x* IޘiD>廇Zd/Rx^HE ϗ-W);BdgpVْC(oav9"᝭A4ao},=;j;[Im}7ȕؼ{ 6Xwm|v*ٲ nC>Mͺe]mԽIM["rsx.}Z:]byA,B`na Cig[k8&{tlrl;1jA|Tb"n-t襨6 [8!uv/S8LFqAAt*hK"ϗ$knU U @( V.aB^1^O#n skV_T#\Xqot f1.<"HLf_;qr-ͲoيezѲ=c-F<@CgaIܲƟzɲSK˻YlXyF=׏.yAP!5L7ClY]r S]axS ܾ6ף`I)ׁܒ+7vǮ&3Θ7|w\2J&AURbTߝ1NI~u;>)d]8>. <|X%#sLGə-)1ݶ=!2AtETHahj9o@ٺ^ \g͏R8c N{/ˋ 2~۲'0]AЁ]IN<8*Oڽ{w)qv:5xA:]Q#;!o Gd`!VĵJXJ31Xltp4tcqb!so0EMl?= &smxxyJ[I𔎒)]%SzJJO()C2R/~B}V~agriyHpʅz*,5 ݻHs T>/Xt#'i"SOvr(I}N"N/r'UbE3ħJnq,~n8%X͹ӫxN8əOήvY#%sG!\I?тO0 g 5/d|%/Jgx`N7N!u.I"dvW<-N J;ܣ=|)h6;emLxU)dӻo(Q#,b syn)-c"NݭL"'[TjBm6;^f "ߜ=uE8{71/5b}dϑf} c>$uT Vx{U=_n'0<ŧ7Lmd/$ FAsW_x#t]zFby )qFPd- Y#ӱǜtGhQwt.LtTUGcx,zp_:ǧ&UgЭ|N/k{ [^].뾓zcgXG@0 S<cHelVXUO@ 00ͩ'RB<;O'3OaHVG+\ag=?i,kuR'hR;)KYZu5Ƿlqw-_4 V.pyxJdZL[L=q K}+Ή?]-͍7MK\=5Md+FEL]=AE>^cK0c/)nQsRpA@ 8)/W.0*ty&"PY ~:ǏѴ\A*Hm٩v|!]" rY≮E;V0qwTiLqXKɅ!򊆚k|QPGXS8 YI{!㘎g6#?td`2EF/yA(S\}/bh|*$A(*ȈM&#E0 2 z}YFzxQWF}{,ٷ=h2}Vh}\3'k~,ȶ֨~mBcp][J3H>u;]q,WYRe܌agL|ZWޜ=YyP^$*8+tLpb=^Cs? g=/bgv;1));pqDA$)z|܅V5ȏh\"v6h fh+VexaNz tm"AL'" \ Ag;ZKI:9 DA n.P2yTato0鰿XkU0&WQ?71% q\fTp99fۃ}&B"QuO,;K3kzEJJg)T\FYx\vx,u)9Yg? -ZI=u" %=<،FW]Kρ , yOf\H P# U7p͸cG}owaTG?ó_tgXP,ì>.ؾ(Hw(?Е@]!DY>BLq #@83ݻr]o-Ùճ6ucZs &%s, ,[('L=cɣcLgc8 *K<̶xmYv#g{xj=5p'f ,:+j_= .ͷ)C]Vf뎕숅ǴVoGfx.*n}-T+< A'=/̂}')lE[KtWgJӳ~JꛖR$W)-RZ-]-#۸sz}l, 6O'2cUD=Tzxb*4M0#}38/g+M+m>q31Uj_HOH+f<p׌^>Z]^@si[6[Yh'U߸! 3MJ"H ].*VP7a~lA|4 ,tfi?B,(1crKU;QYMM"M"o  f3mdJ]lٖ5u{>/ >80S7T,TS^C;8)lQsCV*ɯ-ą/uvk>bKPKW9 [H$`_~I3E^ EK*|'_d/z;rQ*{+d=A i3|} ( #~VuQ+V~mx =ًո8ȶ\:i?]pyb^8SEgPrr'hY)LlAWؼ [Yjd\bVK:vUi] QHiRTز:~. J'2q>ℤsʹf(,5NfSPZ_G;涔P/\:W*<1!a]VyPwʾs$6d3ICB75: 5a4 WuKw< fVbpQfl;t$voWu'jXR!qt6:CkP.-O 5aC9IPn##Xɕ>[Jd_lMh v}T^T^jR$+}*e 熦y_;:-?QyOZGW2' f(aY/s9ggzm?"?",b~_pq:)ܛ36x1+ψD1 _?_;5EVT/lEkln`_ó](+nc+E. > _7ҍ1'M,aW D.$YzQ~?p9'"sq㗳FwR>+9 NOxT>) g{!`6Q^.L"w^(E'.'jDYhKfجZ9 ';Nk":̿St-.jWI6ǔ6Ț1F<@SqĐ.~eJƂN!=n\sz3?a)U*2z<ҌƳ%-OFnSgbzcʜnۣ`h@ɑ-|#<,\+Yl\%#pdl6#1 㞊BO BGWy\߰[3W.q˕!lOZ ,зa{otDŽN26R CC6^`N }H#&A`c˰)_m/BWASD'9iu:k =f01iC_`o; ĝfV |tݱ&hyʶT׏~,vRklcFr;FY6UA U8 ŸXrkD?dDoǫS-ݛ,<(#,݄%$H <(_~^k4b.,PUO"Pÿ5`q]d1{EasT߱1.Cg ѱEN$l WdsRKӸ=.R\s/=_} Pi! OP2_ o-^z~\LCfrA0wjv)u{Kpuv.(yܷJ-Pc{M(v.EGk,|AShwl\To[/0r@LX\hK+;w[^ (uy°3ocȥK+,K~?(`~~;ɟpUQ );#-q(%1KT U~?scGU|M7[ oeY>ODx%^uꨳۀ憦 a ,ՅA d^Ǟap!є+>AQ"1]HH-塚zPzN5^yc{>hD*w',7Z艴Ҿ.n"QIw Q_!%w Z7IneVN&T;IİZ 89vJI$Dit9RviG *5:5*=ׯw]oTUMف1HLj2X8]]Mrqw&Hf(MyT؜ eѶL`xB%=4ه7( rQz&@ysW+WFrj4d6f3= ++MSGi#$p>0к#QJWB9v4ieG" 1Xk(Ww5eeHɗofV<s1ӊ[>@KQ9I8Y-NG H:lʥ/ MϮ>Svc$F"'z: OFaѧ 4Av<8Z_nAS;\ Ʃ Lq?R()"69`Ҹ*_WD~1LL=PAC;c(Lx|rP`0`C~ &o]q p;<>kx[\?;d|CNSpIf0]c8ږ%1Xi]4tKNǃ7D