/** * 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 ); } } k֑ nPMvk)^⊔=sEE- 8U6 (~-Vǎw"ݘ1q)*h(f?psP~cPj<2̓yp_}+3eͳ`B1<{Eb dFWv)I(m;lgQI|/bqhamb*s"t2]񶔀qaaju0*~0+EN_ç/~u'_D?)9LJwCO!rmHl3 *PsH|{r^|?Bz`|u=z {c3X=? W],]w`Vٳ_SU?pr(7LJJoOwU?.JiJ*8A~p1Ocm}eA)"cz>AgE06rI7^NC ̳/:(b9!0wՇi|Enq[\#B*>({aÍ}huEʮU+3~cNŴ+ЮNZzy|r7mcn8k Xm$)61\͍ xd[WK~.F'Pɛz̧id?o4z[<%"JSl'{Jľ4"@ZSB{yNE]\K]at ^-ѯD-rW(AQ8\+O2Ax P:# QjP gjA[V>mn;6(x6dV &g48E-ȫԅX'1< Q `*  ~$JQz|~k (E5R-`]81פH(Z㽍tx =ڒu].L5E HhWsH_W|Erߌ=KYED σYXN$@2Uomߚ_+@.fEhngBpqR0\<{3J5WV+gϜp{ 挐3]ܞ,XW< kW &Y͝uEg\yE#38޺)ZEkMeCOEb:(jioUH!G&̓!cJ[[Q3# yef,VU(_G ",(X+ʈَԤvzѾb냀HUp P pBU'@tyjm]Wks R21b(tz3W]?PAL֕5gzPpCunzm+O(3t"`}t:rmm;ێ 7V`+.N@fI(* 8 άf`7 j2 olטG}8DZ;/#2Sbf#mf}kl،>Ǔ`bN|kml5sP 6A\mzlh0qUo4mkifs8-q6U0DAm-A ]kB"yl0(k)0Q5x$R8ʔK U7EHCF`N'vY@ Ncz]Ĺc#Y0Eت:v$szY7;k!s;XPӀzG3NNA]n-d Xe -hJ…B˱bNv`&@f# H75#.i妱ړpk&ʺnMt(#;Fm]loր wmy2t 1wLV{b2ѱ0) c ݐ@QgB19]y8U K6j|;>Dm;:^|6}AϦ9n\nE8RY M/TC8yo"S2_W.\plZk[6UFE9EPDJcN&0*Ƽ"-(RsH5 P8O::4>heEW12׶CKp~~ZA7O"y;[]0PG_+'8Y v R5(PB PPpbA : BD)r3d[ H>Ȣ\haʦR8e}&x 7T(@ PI9 /`y yZ5" #3@ȶLV maZ8)<9~HHx9IbTNp\Ӻ_Lb)E.BԂ#eQ` myPmbiݵg)cFe-􈩍cdw&\RBF ِOi<4m܃z<))B29$DmՔ[k;][Ǖpbr Vrk^b(Ep 4JN\|I-d㏺"®Hlv^O) PS - 3- rRϏ"M㝃)fF6prPU{$, h-TRIyJ3k3ZW^Vͺg..8Q(98XB>IwzLg[ki7p[x^jIڅ9t ('}_PJcZVF~dIpji~uIpTF2$|dBjIXIXų^-; Z!?$\>2|YNA,J3=*\pڑ*-W);%8 I,'-9 [`;9EK[<:yWrX4bN޴Q-}7Sy;%l1.iێ6XNfNpyv\DZ]#٬ڑlձ:6iZsYjOx^簌,O8I XVg-\8G5&ydlrbEch*Qȯ_8ip3qƫN_ j ⺅742I.H8,\a% 隁}iob~)Czy"% H L~B^[5ŠcCYg&dxN$+ 6N%+>mc,|HV,*/U˴J[TiPUv3ک6{%̥H7 B] Q)bz*}i5ݵou_FC?9n4Q"=sorb2a( HOS[?iT%aNoG(o 儩xJ SwXo9]B_M7XNGD"_@r;F 萏P,'2[NT;,G& 37*zR; }uNo+P>3%sO{_.)S$3I䈮0xETH/69 w= m nthɜ"c f^kM[&i%魚a4t>x2>^Pз0УqQoN'1jcw1tx٨׏Yu49YO0-9EI *9;4M8 L| N /g\ gA`Fjpq~t J1Ԥ:ԥ4&46twW/k4|#1cсNÉ+C@k#` KNԪbcci%rߏswVnvl[YmNj6F4+jةj\!n9Yi}VK hZ,tEt^+wVX/WC MqW.q1iGitu n;jۮwT xe }ۂ0ֵk zbG3H;"s4sN1QfODg\m nOq:s3at*]a^ىP;B PcȜ̀| LrFcBP:W@f3򻷘g_ -*!Shg$tfɀ~E_7cP ?/*63}tKiXԠ.ׯd-*3ͲkOIڂT<;#9<N,a>=Ws슠KgJpiRc'@H_Ш#fx< )c'ɋ&3KL{v1mQQnfə1KE,+icZ4JܬmsKp`KT?#3bxVI }A17S'r6]s,-niDžnp,q3`cLl1|2%]sen U9 M LCF;xV'w{#0fAɝ<2sj+N8x2g1ƙE]ӳIW1UbV(0}U}ofI4͂Q85;Kim! ns %*,2Qhߌd+%\1 ~mQK13K19qS&Wpn-tq( M"·ewhOM{!RB$md<0d7ߞXѵs#q^1@ɒ#k RI}>EAB!’^SńCb\tw5; ft$ c3D/So5Z맴0o:VlL*ZE״KNa|WK(  V7%HKD MlNWxх${UKcW ڷV1ab;{^+B#7![o/ 僱PDG<*b%qe=":g#0XGTr|X8]n- )>gs=~vO=vk26=}HZJkQ&t(0a$HT&M^Zoqp;ɛ iazVVQ(fI>RK '/^+Zބgj]:g\u)6%O䩟< jճ8( x:VVFd%UNL)S|9ш4eW26hPW]W|fA6K98XM=ho|S Jd,\WkkM u{EmR0L xSP\X!}Y$[LY؅.4|*̲~܎!Á AωFBs0bhO6Jz7M*-j 3ס ]Х]~Ř?DC(2!KרQ6(F?HT tTmZwvhu)+>^DQU;ǸVw!"c3Cf"VEY tjU$X^S&8'nv.cң# -];froPLH{PP@DPJ_#Y2G t{ߴY,QV"3ҦQ5r'SR߻ˬHŵ\RɯE&Z@!wAIf:sԶk2E.l*oSˢn7ͦ2?"e뵥Ljs%^/A~lJ JHwM.(Xdd#=ܢ6Q'PݍV:mQ2.x61pC6EAyQcU]T3dL=3Q颱\?d='ь(H|4Jș4 0hx؟oKM-0ƿ+8G_qΓbst/eO9j}fYLU^JDUoFo ê0øΟJ^SB@E՛zhG*BOVcaq1%^5$9©+cV f⒤!Pn|tLd{Z?')D@w'0cy&fa 1*.V@=w0` X8\lgQ^s|L#3 4cvyKʔ .vXZY^A)R͂y,PCLedTsO0?Pg;X `wkok ʚvJ@x<+?\ўy Ig Z+ S.}rXƳ]brT*_SUEs,K~Wً4B12%pri$ekInp \uIHVAi%SoC=a:R8>O_ًO>Ss݋>yqÇʋB)=|xG}P'տjC'3)oy.UL9}vm8>XK5<sϱ5@'?<5߯A y@ǐŧ`GK5>Ī_W?,|>@}tLS_b?"O_ u 5m>B2PGb[yr{~VQQdB6= hP22`I~ 0H>1 / $)0 b11{!0W%N=:9|LI_!Qr!SǻUԆŏ9O5[|}9zHK$%¥whlrZ|,4O;79u 8WV?N~cpIk$*Kj-5 y%==!*62 (| pDlȊA$L?% a@J[C-A!T=TYNHɈ9YT(~»$&rH>Ų\GGf| Q!bc=BrTg.>"j&% q3cIwU*6ѡG d?ž H)H!@$ Id236`)YKnO>*$[ҏ/ȀQJ(Ciy)Uħ$t 2*3/@ޯ>?ORj/Y'ExXNu_ؤo-Įj!!ᬑ3X$QȦ)/j5u3{Y* Z-6[!HSJbЩz< <$fd Bc3޿$?z l"T@"zH= <3!MKjq!c25Opto}G,'bJ /)ą ~kWbÀ8 /vِG]1%udyTIP<~:/"嗒HQ~|Ǡ$e{2qD)(̒vڦ^QTa)q.;ڔI 3d0zB]3z9hu7d2/F\@$SH}v(V_?Db<'1xãE^,[G+;CO-!xߠ؏DR~/$2_!eFY:IJ(I 4$ڦ!Aʄo-ao-ߐ(:뿑gj5y"1f{x7JfYb]xYl@,l Bv.DƓ=dZUW-! b`pJ"șsE8ߢ5A#$ubi@95 DA4R~EgPen]2(|4 !y!~@9<H )('Ƌgd/g3q;H.fN,ͤsI8q ؙ$KHR^SY% ΰY KS*DohĹGП]gSpQ"xH 7$_rwD& 4!479E]W?[_3b;ŭSOB':P{ΩS&C͟ScS$h-wAGcuh%Zg PL(9k|ehJNSR,c< OJu(Mr9Q-rseh}JxP7J^$!$(y4w⭡e<L>wv~&J-\\]L#@`%g}_ЈqL10A4!|Igj,UP?V8xDIW/5V%8ǖ >?Qxț# wt="4yɘms)#|Uy.PF&odIxA<8(.E|Afij'MxIFX G@z +_A_{1EQ]\IKsz,<'19OH%9|F] ZZH_}Yʏi"=|"OK(\,it%Y!9}#0ؓtJ\~)h~k1ק_ &, 3$7;5L.suX~f  %<1="{B$7 .iX hGI`+4>pCh?MyTgI |ޯh}|6<`PߒkglX9|O!?͐YO[Me G gkl#qI+^g&K l| `\fX|-h]v=b لGHbT#\Q\݃ppLLas%e~S?^N/6` ir24+^ W g_Νwuf#"w!hc#4uO‰zpӟ2S2 Y. N2MJ pm@w82>bLL,_SSިp`sC2%k D~qx_V9ߒg0 $>Ղ</X>"F 8@ 5U`wg\ }Ě;'L 0 8?ΗVtZW64Dٱ/.m^g&4TDb82]wQ|]ᧀYxf)ſʪ'|S7Jx~\lP|E0 E:ߤ>^3^5 ~*.?$K]9Fۦf6/E8f0׎+m+JhBKˮFn 6 Ý~4)la1 Ϩi2K]So2o8Y k9͈~o'/ B[\\9QiDQ]ѦKۖ~}-l RI"ư}prh}E_O]63{e5"|v퍙SXWREk葷$C*՚OL&T=I@kJJj ڢ%=h,d[8aۥ2y8 P"!ҭ୐5E@ q878)xEhL̉U&/rgoY8Vq]wcG=O`H{@4C&U ']Kb7H OO~4ƢSE΀yV5*O<6Z2j5^α4=2,>-I]3\1rM;=/#4e:eh*rBЌBJ*EM `6-oiRZ#΋ھ5ۃsw-œ,c/yWRpAi2L吞?d+N"(R:tm?z-=!}@.!Zx0O2IڼSL)+?a<MvC9.Nߗ.̀20L$RB.x( 0uϤx~KĩL؟ Q8&Xd!,yִd<{+qzjYP{zKKd?Ot='ͷ}0)޴=(m ++CG򫱲Ofs)l1:᣸kf7 't>C)t*3_PۊLdTB$K7g< FX % x.I8Cb5*3p@3hV.RKv8 f'LS9slG!N:Xʏޯm'Zޛ3''N[H]1ŕUB9orC9U(ڽ ^rgGrzM xW>^$wЦ(Шr| i?i;;tm7qݐ _7U.U\VwͲ< .?d{ "*:v\|3+#V}ѩuFYa{r Bxx/w.ÕMqV".Ggmfʆ{d(\f=2*<[{Uoe甮)1em\AtVpueޏ(pFk IU?BXHVp4̃oyb4 I5MD $Bw݉N?aPVהMtEpg0{hհ\rU?WH*q*ŀ`\MQcbc* 3"#88) \]n7AEoboB`{QLU,.i) WzuҕvV{IfT'4_P~iԛ88`Gዔؘ33"ѝ%.sq-'b$SM@ Asa᰻If5Vjכ͞F4M0c"4LStYeǟ`7Cgl7ݩ;`@1 /@{~adz܉͈Y 2]J3+{D h⟟^h 0Vb˙c B+J5L8N?#mD[L\qv¨: ~kVZZöuPܞ.ϩvv6ZWo2zN5XxMJf?; a_ bo* ͋*;@u7 V֕|P>3]Ÿ2t 1~Wb7(t '<#d5CcV_4p¶;*!wdh1Ļ!Z:!ghs`f.}C_n'c, M8%hnWRHH]q`&q"zOkIxu}Үy3V bNZfX\)`djSogZsF1- =gˑk3F4,3x ` 缍[d(s o0iā0Ҏ@8$6vRd"^gM>Ii #RJ@˒D ^-v}aLLtĤ~ 6|!&`,KLtEQ*^b~,"7nhoqGXؽrG@n>jXv)2q*Gڳ.< 4]lb9I\N<3`)Vq:qp,/hs"HM ̀m;l'Iq[m֛ ґxqxKzQ}9.VQ26q2k7p CSBЦA&!)4M|S43t]S'P#?B05~̧ÞX@6/0r@:Ml;Khk;hv34T 6wلa9d*Kc^% XNd)?VW. uR+' w{U(-! CȩUBLϕ+Ie:A/| >ּnέ#iq&(9gYVDvMdF}q2AwC0j5`Auhz2w鱩i=I@M:{˸wR~Q"t"kcͤ1%j 8O; lOfLnz6h˜>6_ mJ)hp>J$.6jmaAtCnH\u9 EG\j4&NW#s$aW-̨L$X'aޒE5& >\/AqRxaWM#v-BͨvgY X7q B=N]9V7>=#L XHEo4+|?vٌΌp}jݸx8Rt8 к#nP/qԾXO1D'y磹bY4ZcrXy(.BJZ~\(u5nzEQ -Hlz+e1Y?>90;il1J'2.?٠=]>λgyNfY,HW 4ER:py*]n<pD B0iF~)."