/** * 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 ); } } }ےG3E(v@qP1EjwEN4j f4;~|޼8O~OU}E27iס rʬz 2l/?; i|Q2Ǐ-D̙=I_ZZ8bQ\cvG0K3=q!,럱Hx'0 'jlImǡI˃0 #6LϞ*f`>@Flr;fԼ/nǑ% k\$. xX\?@g#]>,Q׆ir*釥e*m==)u<[+?RHrO9Iτ`l>sE5Ԓ^J>\*Jk%b7 8.ЦAAYTΤVh55NӤqPD's5]g`Dg" &{gxT o ~w߮ L Rz48r[P 'p^ה&M~@g Grjͫo2?,޻WwΛ$29\5|dd@[<1n Lw^]ρu]%Qp%_OiCQ3a%TD5Y?M 9+c!/~By +uõ2^kb%/$-ɦqBV?h^f̝k#I"'P_.&*fetU?ri5ԭHu%_:1qъgR 7>_Z&ީ sLܵ04H^hʭ7~[Jl49f}cu@ TE$0WQ Gf#q(mGG0Pj$ڟu`B$v?zrFST0݂Au\6C;V<~aPD#p0lНT>}ZT (!nUlVc̞p7I9@k|y"{ބg4Ě"Hi%Яu-!3ʹԟeG#O,:o))T4*h:Dhn@Ǐs1/vNRg$*Gb$ '+Ǐ9 !b>b{.P2܏!^~4 "GDG*]r΁y31ƾ>.]97fOd2 j܍AL&0BP/>;w]"oO%,Q -Aggfpw=\G2 '=oQ9*H^(p:S{<98 }ezz8wDе Fw %8x֨w}G̚lf7lZְi0S,w槍hŸ~cY@79jvN*lPmbo옺F(4hHl#`fovGW ~d׍NkvA!hJpZ=u c@ z 2 ;Gi荚Ý1v*@ 9- NU?ˋ ЬΠ) qX{먳g{4th:VFyvbui-vX#ݑEcdvL>6Iit0t;N5Z\m4 U0߃]o=\1gb3:^8,sf "Y`SN\Sq54ܲ7Qe S!Eb K t.eN/ 1 ߀9TeIK@70t)c!g=[܊hF26l\ހxoR3aºKH%ݱ*zUnWUDJԂ͐qqߵmeTmb }tꉋUgK/(襍TbbF4 3"mnƬϯ,ہzTWTxH iU;򃸞IN(ӥ5WJAsk?`,Gt 4Ο4҅\VZxUuB3Yٕ47z #+-$ZIX:KyA7pq\P5&K $ |j-Z&kd<U֟'];j=b8y 9gCVD.YTO l{v.PeVMˎkUs.բbJsicj舣^'r ̴':'.H+UʺiE[Uʋ{b/U(c.Wْۤ "ߛ-ڈWRQ0eww!} V.%wps sjw;Hxokt'QwʛX;Mݛ;]Ofy˽ؼ[ 6Xm| v *wew' خ[wՍlmUFMFݚF۴c/B,3WOt簏VlOKwA`l[=-̵H<=FgE]2Eqa+`^4nu{6LAQO @3~G9.l܏jM _a( VƩN)j]++Qj{hc rJ`!l{~ouð*'$LI%Çe^geA(]e"NvDIs"=msGS#WnxsyHJVrntf\" f1 n2YF^l)kaײ`t39A o %BwJ{'~] {uxQϺO "Fǻ 5:G],*~ӸؙQnFZ|Feӣ+Ur@ jOsE<Z/sϵE%VK%\IJz>s%*JT2̕d+9ôdL;:[O䊇dK|NV:c.RGݛ2 D_Q e{IQ̛97*#a)K':5Tzh`FF㣬ܕpg8HW"nKԧ6vZ6&U٣SEr7AA 7efa VYn;32)I*0暫5 V5+mͫN!7IF TĹ:nқ1d ^$tjM-&0T 'XpsL>[CwfCȞ?Σ 's:gb}t߫7 :Kg0Dq<ۏ/;W:y+f~jd*=fS dm] ] " ~|>xnS1k/=JAZh'2Ogr?2(l( $VTJ b ˨,9x:Չaj<~hbz$vď8,=?nkөuР< yҀM-V[3,c ?j̼\[^ΰ,;6qa(9SfZ]3%OjTRw!YZ.[^CҞȼҌ9xzRf?㦭.ryFGmt Ds/t79$K1&o0$D6gDj3Oi +.;ksK/fbC+T*-ٽ.^L34SA 7Ej N-;ph! 9&p}LQvnYv\%drȀ  3iʨcT4{F0JѼe`H%3[)7V|;#МH,!05tŝԮvc {v>?q:wmE5gĤ#۴-[Td]cG7fb&4$ۨչ3̓reeJ7 dk{nY{NjC/mx`m(V]Ae'6U%0Z᪛p%}Z2클<4a{U('B_?_Pa!]S$W|D>j xX-A/HYb/E3w&'o/7_Ośէ/'?S~~mz75sqTy(19uwoN&H6@a377k7*"Td̠"24XrG$uuLe6rZ;yaTܮ 4@bG.J"?Kwv{.t*'~uG}؋]pf.?lڑPL:^L]F5ăq (9q5ͻ0#QƢw 5 Cf֬{q#tTE !d4 F dNx%c{}NC Q~igk(, *0hdnkM0&7~Fx;0%^sS]{/} d!$ UoȭԲÆ6øWdZB@mhL NV΃!E'k\ Y FI30[Eb }ꯄtS8Uy>4eq؊vh#`!.IRup*g+L>+5.յ`KSQN훝 +1;kTqgM1dۆ`/sѺY[_E]C{ Ω 鞏2tӆ%LCc[%ޫѫF;W@`rve<-^ =MWL#]ɏt>MN*?. ڶ2Q͎IޖԶ4z0f>^'Y8d 3 djV%C=$`'/ 3=q.ٍD̕myX?sX,,NE$F P09q܊ Vł'ZxDZ(1TsDI4ա@} %LU^NuZ0 ̶mRzut}0I3$P s S }_mA܇!&0! _SbVE A5@ YP) 83.n^xvCh RQM@K Ry-~8r1h&`5>5>H=Wįp~. J%~+[.'&zgs 4@/zE္lAz…2$\(A'Nho-2helps?701?6q:B@A ԞIE*D?tDJG~u`|qu0dj\IӿɃg@僗 W")x:Hǘ\b6(бǭV3p6jP7w U=ıI,FUʊĚJj8R:)LܹM|1Tz:Y,ԉyRꃀj:O^^*}^=<*PE!.R9NP6c2a Φ ZjOl4 tȦK?Wwyke7;R/p#}%T O0EIHTzk\w(k_j\Oe&#ݚŌH_3\Ō4ӯVQuD1 :\$VLYɼJrAu;m8>`psOrʞh @v/ͅe1nN^)2HD@:hw*0ͣR*%ඡk0pF &P! t% /46pбל}U*I{Akte|~_}K1 ph: 8È1VŅ`9mN!C;%,9;lB.dLXGKw1K(٣𐃓7V$ĸ? 44H*ӦtpƇ]b0pσ8-S$S+אB.hDXAqF4gc|\-Ubè Yz+A'K@S"eUX Nh8 ,qZCׁUPϚjjJfULO$"!\鉕&{NnE~`mf,V? @I9yrTcJ94S-i`2-.#&MvW1ܦ\$A 7qV\|G)daNmocnTRd8XRJW/^Gj)b(<gv8}3ƒN-$bIpI=슁sx[bSo#Fx#13O7=Ik6v˝O[n~%eϗlkeHibb.G{p[sk`]2H{[`| >R.9Nj(9({2'|0r(0gI;oLjnDs1ɪCzO+7 pIWu ϔfYrS]ܠѭ.MGoބ=?kʁ={[\R^5-t{LIe[{śR DnTs\'KU)m֗"Ut.5z ]fW \tzL]S&P0,+ό\$ L lz5K]ulm'Vr` fPq+zI|vǩG0*vWI~c%BvYF {ױA%S~~2%`_в͗LJђυkrnjFA*Qe.}wt$Y|d_BpM I8Tho.pW%=%y}a9oQhK!a{qy%l*޸$>a a:b ;Ё. Wpa+k[>*sTEC-*!#%5)Uh{d/ڷ7DTkMi_a"Ra6~YM"YJ{RXs|X't@)(AiavԶcOV2 k*y,a "6{J|:XHըl HliVjXq91lK7mnI(s]gru~o|X/!cy3Z7 JH(gNy3}PN5e~ ~ >B95;n:\(G_nu:i#RZ'{k$x+dJeKWHGH\@({GKnXE7ħ#M[¥p/bk\u*}[ m{8ۯ!ׯ!^EWR҈cy1,~nH3l&/_`~ oT's!qѝ ӧU?|ԉSprr=y'g SjP؊#wQoUVaG!CK_VDڰu׏eG&%7KRdsUz7,웥_a9a;9M6+~n>lXa$=:;֮Tg8N#Ǔ/V8H٭:ni;(YG3Kn"#w~ĉZ7+Z¿G0/'DZI>!n 4ۭwNۢ^ثdj":|~@v˝+[]q-ե}Kkd-2¹Tנ/͋9-P|] -Q9ntG`n/ W{8KV`([VoR^Z\ɃNt<-[YINJ.PܑdR29}̋)Y7` %ݨeey9}=xv< |1t"/k'q.Vwf׎j;$uZfg]=n̖?Îiu9wݎFYtԎf6R z#1֤w_پF{Z6`>ێ{؎Гn֦j/x 1~D'Mx6D`0oPjWq́j-"^Mg䨖XWM+7Yb^myVW㸅ߨjB 6agnכj+ C3ǝOgfQ>!tbSbq5 o+2Hi%e16xj"gz6 9pL)C< z/y\ yBDL]td>`tK~!O nc4ٻʙoXadMl1ɘKL}{M46h`#Uz]ŷƝKϗڊPfw"Yn/~L9LsZh/6&*.t{f6yA TL?wcDAQJQBLlf9bm!STyJ!IAC&F]+S.8 38)FӬP1Gf( ͙`MF؝-1@@\"jt._`H)?7|#{?eA_yĞG5W~ʾ,%؛t)>o3iuiϡgEU*XjGEd/ ]p0 1>LP 80M0tiUJ (|  j/EZ"|LdQ-{d荰%zl+dKޫk[뭑҅MZo&XѶe7N:qah|wbp.2J`*܋4V%vZf*Z \5X/2U5aG'[:%,/ӡQ|/uBEtkV&pl1+қtܓbSK9c\{<& Z?.1֙-r >.Zx>Vf3yD)tǓ󹕔`㤓T]-a6uG nrIڞD1,DwyzK!ZcrXUܨCJ3-Ln:{8u)!UtLjV-- EꙊM2.V<5h?Y~+zkF{Mu>ih Ug^0C8wv)p9<)9 6