/** * 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 ); } } }˒HYˤ$)fJ%UkZҖT][* %04Ӟ4=afd~`a=O|tLI"=<<'o@yp??lTe ?z1g֜G>ֆ 1]8ba\cƒz+ǎ#[\8K9;"bdY(Q-b:8N"p־zmC6gn!`w^~p,¾`+'/gx{*س/a<%ǹďkG ~9 >Z Ù8bǏ?4\>R5C6Y41#+t<5ڳF)w#`, 5l1!W-E`G SW[b;Խ=Љ[v,XGc"cd2_K)TtP.;s9n,B@1N(ױx^;//.wCM?^Kou>Ԯ5k2bv;xАW |2D ƌ9 4dzܥ>GT@4]n-9B~2kקۿ{>Νf/c_ Ofk?~2]zMiz+~3jӤYuѸ5=GW2@QDqt"O|=bF낻Kݴ޸>DZ`@~?|V0tt]k5Gt)84ѲŠzSow]p 2V׹pfk# f=zTv" .Z3 Gh燀&hh}Q8 %-B k\b4??_72/G0 PM]>ii;N;SO?-M]wdImkIZ'ɓ"X{s;# $Wٓ2e]=r^?(U.%n( ScRx4Q 4uᨶ;'#)"'`x,BUY+SPBx/IP]o=qⴠ+Wפ$M> Q_fڵ Ծ/KO׍?V\&oM}te:fp^`Au:;`+b͏ƕyySGAƧKűAG0Xq+ 0EntZ获0 ~9w\&u߇‰uUޤ}65OrF6TZJG+ٷWY Wh:Q^w/6 %hK~y$3bDZ?ؤ^ 2.s? j6Jyά_ye_ulnZ#|i8%:qu" L$y,J߿} ~)hª_\ld~F/@&?ph.suAϭϾA- R , Qa5g7VW6WX @vYH6/|dž{ ٧Q^78), 0 !Īz\6;V<^aRD#p`BG~`+tg r:?!DѭjMj=@BPGO Ǘu':|Ez/R񈄶^B ZrPKUYq"Z*bx J}c= %%ɀ7o-Q7[\ktQSQ<-͊Ǐ9 &rź+UgW=(F쉳@p/m0ϯxtEstV> 3Ģ̪ ucbPW3jڄ6 }P\T`Іƒkd,2/Iv΅>O\:\gpM4Z~ `$fBb>:y<j:3r*$J1GA@i< @j!F`NwjmwvVhiwT2=茾v t;Cv6jbr¾_uk=t6 q|'U&PU_͝XŔU + 6T׻p."o/)LQ]]H57ǛIۺUj&d{#+P}0IoEò䙒0 ۘZ`k2&v Oz(v@nbuӳŬ&oA4MXX7zЀnu< x )ziæb `xb3^S؀"Qfܠ)⃩>߇]t(n*`vM@mǽ}-w犇 Y\D8.|N挦a7 ݮ~R{@0-as}&)CCe}A?G< +'|yte{P@Y .;y.vaf]<>F`>!}IWأ opgx&'!Eyt,,u$0s`^1Z8']]8U8߅ o,hgr{%tpZMWˤZ׬65pb4ŵ7d"-S& , {JpK:4SbJ;tyz;j2wU@N3QeUz-_QM|rd9z-,#Ik[z{Wnk  \v+fZ'eF3Xalc:hyMb0AeMo)U0OZ`>YE(^7A#PVX>/ؙ0 wʲ%D *b"e]d[V dQY(.>C_%$Ό Zʉ@A5U֫jJȽ"v/UbHF]Vu.WOl\e,tB *?=ji#X.M쯄@*`!1+Kz z'U5UCJN%EZr#ddsѸ83 [vVf! [H cE?EL\lP&KhyO@nt(eMѺZ2,qŸq-=E :֩\EOX?MBaΙ5xħiѼKՓt9U_2p[hu:tFC5\_) 3iZ@maKWnVWGu+`IWJ֯UuʶqE[UʋB/5C.7&ْ "mޛ- WlRQPewwAr~ Z.%wps slw;`mt'Qwʛh;Mݻv;}Of x˽[?\:Pm| v ,wewGx [ՍtmEF]9\GVݴ,B]ëѧMs8D+'܉C:\7tʟkO*Wwlh);Q (_Mp[q&_j ⹅7M1;T(H" \ɑ;aIT# ٙ&Q*z-ʆUGnU5˭0DpUamu *}+n Z>X`uY1] HyazbQ\5Z+> -A'kgG\Z~ި EQۜrqяW$q<\8|$CZAxn,*=w$f=s[20lܤ}x绘#Jmr -_^su`W‰:1J<~v);Lud<'0jTﴺU''0]!HGJG]w?d`ލ܌iHH˙E<%xu"Z"쵎oB%hj ,2{<~h8d)+HMoR۽y(%a oa!$r"4L#";;렒6wv6H>R 5^{AN5__iM@}/kV.O9L׹?WI?'!8J*I8P̖>, =S$ IĖД-Vr"*0'C*_"\?֠ePjQ,(3ĉEjU˓47)%&NÛ<}&FVV H(e2 ,7FU@8+i1.|4q -kg1q8!_3/)&e6M4| AYC_!B(=}*<;/~9c^_U}/K9<7slb5JD 1Dԋ|=v]Ls#,s,ln<7y_rI'ZSQV,I;b^0{p"A69(&TzB0`嶽7/%ݒXf"\sUXVA$*jwWv!1ًꇁ4isyU*]?%R"&-ZZ{ٵ8r// F8eaS WYM:X*d+#j.S5/; ]?{#`mQMf-o#]')f$brM [|r!al-_'&c?/1ƀS܀' bqB12m4S(-nɨgLKWM117)b?*c1 +Ơ jaz'?ɿc4+qhO`? qϚxz4 75@@%Arájg8X "ޱ٩-lu{m"Xj˒ԛR3{{LN|YqeRSxLDZ5$+&!5Fu7@mN1Nuqz$'فOyw6!7/o)]OL7' + 0{;auܱmjq^ᩨc\ tT6"ˣߋ +ٷ&bžC+km?mI>o/]5Hmo:=CKwًdU-d`bMo3Ye-h}'ZZ} @?qsܑpo_ȯ{(0AW܋Jl|J7YB gY4UO,ンwoS~{zTLÜJN<Ϙ ;7640&FF5yS{Q[m_|'HorE A ϝB:(dPY̘|3ru!e5b jBa-taL b,NrCu14nnQϬ^7A҆JWGc[Cӟ@&"F{JW$<{[+h erh,׏ChK6M0D 9AUEʺV krs# D߀:.Qd){TX& !Inɤ֔c2e%}M*R6"GdRvru }do xXBL-NUf/(^"[X):hJYiXz* t-qu+Tgzv'80W[-/5۬*\r>0lDz.J6k@Ԩ`O(,C!mY=9T к85v ]Ⱚ*6s -vy|B,C~(@kb-Pxz1ٳ/:SvM]& */Zy I! gzay"=L3 ]>=Rɞ?4iځ>`6pg>^_H#R~_)F jgrp?~5CEr~%8J?C}rx`e\yIC^<??._3L-c]@"<7ĥ.jzԌ/ *9!\?7%޴ǹ1Z̊b<H\3DM@R,2_F∹x/I8 @_Ky>'Zrpًsx'kV0z1܋Pv)e ;hEIda@.E }5 `KX2 TIՅ E)Qrx̖^K͍W(V0" !ANvIIr>"`LGM pE(!(sp A DrzϾ0i.^XFCOA6u ' pEԑlLn=9,OeCny A<'4rb"jбDH44I^S-x܁KU!g|6qg$q4Y8tk6Wa)X](O&Pg!58ZG٠Ͼ$W=gۤp3hHǩS"*Ό菤y89#<064EfPC4HG(m|L2lM-)1 0aUcKp*/yJ.lD}%mY'K`&eOӮQD@N #dݓu2i&n'Y-@ NÇ&hgI ̹$iFq@#ؑLN_7>Xz@,RGx>`NN)d#QjGmn!F@J$BP#3~8=h|EH.t_@@> ˬm %n8?]Ĥ^ 8?e8srYœ>͙:* ~v.AҖQpH.#\~@RI+%+"?tS,I@ !0•3&~4A~CoB*kx3XTxb<0QmtHMVNb#nВdrn(|[`Da*DOp bWɝB/DCx нlIOT+WpphuiЉe@Yuj'4@S5 .-blV2 w 2fhi7di"PHvRJ#'0 42u0&jwבn[E{P"A!u #~ q`R!d"e$!P+_Q9#GE1c0r,5E擲:0lt ࣀ楰$p,H0\.E0Ci_ڤH4:R\kPv XPl(ȓg0TPH'UrH&I/$f^z&*"\+0"e T e҈ CiOT 7mI$\dѱ8-yDJ-gVE^vCrh!i7?xA:Aɯ2ZEstfo\!YVևz9TK=Gݛ(!hP^eaDȂ-yDC!d9i=<JV, VSEnVjBlހD+ndX:*\Ԑ6uK橇k`컶C׮Ȫ@u! $ MySKВ (VH+vvqM=x%:sPbF>NM qi$vbZbvi!;[G!#(w4[I>͇xV]%07UM"6g @i@!{NiPϟ8k MdyH;HlTKa`ZSBZT)$}qɊR1Gf/nO؜rP~"J6.iu=)3N*El҅*s_nW Xa{/y6uk' jg'r.xv}w NF6B/3R_`D͔Ca?j m]zO? nWGg'RndLLEredhpW u|l.s:2_#GOv9\YDؔzIEIe,5%h=n@KBo% /q8wRPu&I>'{t^&ʢ09~$#Eܘ+H81F Lps@YR]¢™r0Eb L$0x!w2)|ض0}IazUIa0Sk}&9aT0 ɍOvpl0&b_U-oޅvכ﹫ڋͯzĴr1ڸuxj/]`n]Ɠ榸H%RD ڭ-䓣fK.>bUyU-& N2uSs NhFm«rο-F^vq KcĘ|z,UYDXų4D1bZ k1 o3{j3T=Nv)F+Cc`:jB ht+uƝ&U1z:n~&:Nx7Sk*1Myd*䍈OQ5y<Z:cDg4[o1[I8N<+{?&R+E0yZ׌/(5cJYAo Zn@+fZE Qߙ0 NO [h7*Vv*$D je7iRU !lWyԵ2Lc%si擶R7(j'P6-\<>&yS۷ !hqH^7lH#u$&NQIի81!K`/冸-ת6~ oh'U]ف?eIrI;'Eƾkb%4{QWTKrC>D c`M\.nLev?y(4h끄Islme&jCox0(gi;کoiMzJ0/"{ -ܳ)ݹ$ײl 01=@ Wpa+[mj>*+E)*C# .ԪoGV-o|P)ަf^lhoN 7m&q [Y'j9p3oqBw3}4ٚ!mOk+7'!c-`P˧B4 ۂR#&C>3K!_ *Ew*-k`MU2;CʌmKoe;Ճ!ngowR[wWK.lo>yw];c9pX~BzGcF\$ӧ86)$ir6B9iGrF'їrўzq[Z'AVf%H`J_XDo##> |<l6e/Zh) vTd_xP>X=u\nBwfa{/JΚHT[LR'le*oOX@U磯/Sx_5kFZi3gϪ ~~c׉R+)=j7YR|3#s_qlš7N7 OrM?G!CKZ$Gxpho˾ry K_pYz$`jwZ2b%,V:= @@?o|t]qhBwLY/憎XGIu#g|ޢߎmΎ:J(yj51ˏ98 ɮX;x'O]0*"J丿* ɧӜLKcuwԔ}+Y^{KZUg WB,HNW ܬk C6eԧKO^+!Bd eRP]8|n DvHұ( T{yj󯖧s!略mHV(30EU; Fm.U{̗ h[FxL|'@/LQvB?! `ɖ|kxHW0#zyhJ^w:beLJE%AFl }Zv(?uęOlJi0Q<K(%Oq2rU-ѽ KC|+0/N$=+kLuƹ:0j/Uu {cw 1}>^30t0g:ZY2tf J٬;UNg??m2Oma+$TSWl t;a;AOYѰ2 PdN<cPp ϖblEkh-P=RT^$ UD&9vR<8\':΅08WgH}=y)L (J x8K*ԚڹZI& fQ)K [QDj`lOC?-sr|<5Vޥeƴ* Z.||Sa+s0 %hG''v2rUthΤ*At9uffaehEEo05Ђ.yCRW)OIII6(s,m׮]srF!cL9=(0TH }-G(j |8'V *p&^91}Z|TE?T0ĜQ(l)^TW(ORͷ=p9w-"^.&nl ~8'';{ /0,X5x_8F'/)#-]T#!Oo햪x:H^@s^K @F@4|+uxE!qRS["YaS[n꺯`cq͕k'f(K:FՑe-m9m^l*OxwM H!U>X%N#&YfS;/U'>Da세3 fKbob|0T"4+Kg <$(/9"Lg-P@  cc4(w_[XO=ba^: =)E {N[C}kJ@q4?`Jw**FI-T@t>U}Q|g7- ]{LFkYgͿ)%Aa2<~N8)Kpwa5A-n^Ǿ _)AYN{%AC٠hq,_֨'OUؙіoMrφ {Y'vK|rG͞T!}6V0Ωƒz <2o#"71ƒ0ʖD(-KyVL9^%kr^R󢚐+|.R#kU";:9DžWVbH'Ş}ck܆ iͱ:1V6rU/ feV=c6GVq| ~IKg0 'G>o>O_O|,"& )Z,cjC~N#m _S-(Phr:`-̆63s/LMsoư763KY1f;OTfe