/** * 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 ); } } }ْH!IIv$x&Q֎ԥT][* %04_ؗO}Zۇ5u<2Y=ֲ*D{xx[2lǧs79xeD̙5a$^JZ8\:ba\aƒz ǎgt,aC9;5"EP\ǻ`p*AWT44ٜ̂I'ͫlFX`D<=){Al6Z׾?{/EORΞ}5hZ'ϱ|{ӦXA8:H;y0W3a!:vy8y`w܃!a?f4B'cnXc-=2nE-"`ӅYi_~8ה%u=)ܡw%YXE:dR^)]7c4n,B@1N (ױx^3f.B) {_ { +JM?kR±O/ 1ڍK~ b6'o׫ƀ Z5BkX5 {rLI&"3QıM"ʈGЭ+>7?7&)3p<skaYWU 7rr7xА$@.# SX^#0A4Yob6L26s>+ݤ}6ԣ䌬+5*ήiSh,gO,0!.H)98 nۯ._o(F Q W 4f VŒ_YZqFZ?ȥZ 2.sՊ?jr 8T8YY#5?sov `V@7tVKeE/ՌS{S%bDB"@Z0Q+g𗒾v*,-ZJG;`4pZz܈dr+PS G\S_|ǫB[ X@d9 _# /:$ No(YQ-K5կ18얳 l^ fOg [UL( "@7܂jCUը>w׍x*ܤ]QβeL虀9&Yigu9薵&o9}vh5P)˳'-x pGܺ^ѼYak拔"-'/¸V|Cs=˞kǢ"g@-,*SO()iHWxn&<֢(^m:aF˰Gl(hN𑪳ǏN@,~d#ę!gC$h䇶痼2):K_KĬ̲3Nl+abK]fc$AqRB8r/n<=4> $|ua(8,ԃqZ5~7s`$fBb~vx t'qab\0x"4B #el5:Ǭl1ǬnJ퍕ڈ]ojGP5[B5wЀQ19f_T;Ԙ8C*/N ,jLF6?,w\:6D _YhzdƟG9D?Z׭B6FLA\#6QQ9(ʈΔH@ح ^uĚ1yXhkbahm l# p0mQmuzɈWVn[5f>j׫ZPحi>E]p[gzV x )z6V܊D$5ⵉ ^h͌ XثLUx+R$ʌ4%6P)>zmC@:|hWAhwu&#`H:mCo8<l#.k2ת8G59,&e@h+ţac?HAwP?>`pIoj}A_< *'|~t2n^deԞG;tSoYP)>mIWآ opgxmRO햆ǻ*kub ѱ(6c7$16 ZV{ۓ&uj(߅ Y=\1"W )!:Jxkjx6Mjvy1|i)+uq/2":Eo"O^p ]pLpxn(ftJpC.Timxކ}n7U9*Fgf #A<000O3_]-D==gk AZ+MBE T:e \haE5(si>GO'J59Xߞ*e1Gexp7`VP%/ ߥPf)"roFFhc'bE5p2!u&P2{eMcϏj3 s׭ծZau<܉ԜF :]ŧkX8nޟE%+6B6;Qwuf;\P<r`3k2 0PBR8g298XrsrC͡";HY>h5J:kd8u,ןWvcUd͓5.j<V'>IÇ]w*}\6ZeFINV:k0TSEQI0ƲZ^FqdGpf%i}uGpTF#~ tAjGXiX^-m\ jZ#B5bu-B,Fk-Bpڭ&%/jUvMp$; ٮ5}7]r 0v/G;k{ἃPFs[4oߵQm}7S;]:Pwmw|v,eG ;խt]EV]]GZݴ,B]k*ޝ9"%E.v.܏`YWI^ 2~~r~ -;q/:J! B n-%6 [؏!uz) MG@½AJ$ K>I \kG w(a@jW¤eV*C},2cY~x^oht"=\)?v>IWJm,"/x쏢 #̕˻H,/<? /ZB}]2e媶%sWC^u&fk4]xC~8cx}mf5RfN׉Q+Nn28'{(xd>L~0mr %D u=?N]_{{9:~5SRMdm s1e#z!UAPpwS&G ؇ׄ~^ṚcQN'J$!u^܊ꇁ 4i,*jiC}(D_$|j@av,rM_l4 Ύȭ]Zj66\ ׾Z;ˇl5&gi5Wl E{@ڔ;?{r&V:)3\isK@?f&ךzu`./ݺ8ZSWJs+6&@,87|!ҏwdS9l~J"%&aNX` 3'a*e=b /Лiܮ|׮ā~ܙ2`ghc@z%$\SXAD %Qv1*˕% D&٣X%=wkV+,%.$z?'szq}^5&j@='ζInXfo[:f7 Y.lV3g-ӾS OEg*)Z$uԾsDgcnM%i`^EEf|r\A+Ь復iWFMS~X.ȚLtmbr uU!E]9.jR.ix6*C:ɔZH=Q{s)J**!6Tb]! VLsCjx#뮀Z1Nuqz%ԛ8ҼY]\W'8? H9 mCaSǶwVùHG LM cvs7~+v2P篼Kgaq}c9w+pO<6&݁eEq2YeԊkfktUtO~X43շ8i)8^ydvGݣQGQ,D4|B~C)*tmO~`/*a#QKuòs5 3\4q&ݏzbv4{r-v^_Oپ]S|[xn=.n&3&Fuֆ-Zy+K<=(:la6 WM\9́"^VTW2T(&L~Uu!e5xhVv-[ PhܚҸ[CwKGto>?P{d;ۚX0|rNDf4OD4~j[H1N87sΊ3m9Yg纒V [>1 Ǝ~<_0L+\ht\NѲ5axq|:єM\di. PQ*=$}&k웶R#DT?O8?D6Z?1{7OC;< ig,zJhNi3_(8_9rlw&EPZ,@Mo;Uq"&R`RsOXpZ>\LޫY E 24喅,@_ҎRE8L#RMLCЌ&?Ȁ& F]Ael5Ƹxn~bf"/0ʕ}4rN YFܓ`C1s^4)绗44dwR%0,^@G#<Ť"oi$ DR[D`iP NsDSr&=,(8C5 -tt>yQEND` %ِ])ݔ҅'} 6-X\>pNJDIu:8Ǘ a JRI4 FdcّDLPSv:B\O)r 85O5O牑"Gڰ$*_HWQfD-Et @'04xl {>8B7TawR?Y4?#ѓ"+,tF̭>YtQ4WCXhd>t"cPE)a\yilSpP 5PW̤:J4Z[uDGRˇ" 3LK -@JfVo guZa}@qjUy&夳T IlB>.8`Z@ǷC&%ͻ /MeY/k6 }R&䈥cpܢϲTC$yVwt#驳o/!$1d$yrƔ GУ3=hqh.ڈF*7hX_Vn]Jy \)8(>B?!m)-HX {zDZ^3wЖ&[+( ȔwȎʈ,Klsrჴ[/ L-/j_6'Mq>>(GiW^*.,EIEKEsD,? k"ۈuX9bQ TE?x 2*#NYm|Oԥ #m Fyu6q.iĕ{/j |$N}o{_ g`21袾ꦤZ|.d>޾{8fL@рVö-.a^wrkjUJwbf6#ޫ4ĽFgq95h^`] 5ơ#%uah`%ܲtOnqIhAV.C9y!E&Fr!wh *šP}Ṙ(8Mrܥ My*Ri \#} e!X *`}7P/:q<]&nbaѝF_ z.)7B"CH6Ox%z}bfK gQ=O$^"rJJ2:.sj tFB4)h)i&}Cgz5xlMK7IƾkK.F^i$>כQҍh[rHvشnZ?{wjeL#SVt=Kf[p<-WiW)Y%izNpC)aD\Qt8Um`q˔.pQf胄@W8) qulӠX%JtaNJRg %[`Aھ(Ler1|$(Etc;j c(:+*Kh.d""c?W8}qm0aIPs!+,^ D*3ד6vN`3b1Y߲U> 廤^a(?q.ܥzPR08X>+tF,3}vc\G1 e7S~n)ITj>fzC):Z(TC 낎)&tY0̖.2w22!YdAM S !N-'c*TI9zT|^^$ʢ09&@8P  ƁLVj`§RUp&r\t(1y!8M<룝)M$Ϸ.IRo[^Y50$ilvD߾M$7LsҝnsXZxۧ#qȻK_V-o#xߛ ZWSb FQ} p\MVq܅txY/-~aĩLk EmN U2ֳ fL.F?&q~s} U-&-T4u))D5&cz7PO$QRs>ܗ>kb_~ Ri&ʟ]𖗦yWA,U[쐫9eSq6 yeߨ2SgcJDDNVFSƅ2d"LOzov˸)̽&ebٺgwh~6:NxwXbw?ud[*wOR5)ŇIEMpF>6CxLԏ@xɡpq^LDWaR?k ^>\]Z@͑)jQh'Qߘ:]jq&@ېWO+H £AgHiҊB>&QȨ!wlWz еyEՒ)dXLyyC5aTzf4.2yW󪧶oO␼~o'l('xxzٸ^fZQI81!Krb&!%{5UhȌqU6ׯI.%Gwd/k+)h2Mʕ, wP%(R-E϶-V%w΃E!Dk| &$*G((4yfVځ{"=.6S[\`G"w!-ff7w.=._xD!LgLn!` 8D\V}/;@u rHzK;*$:5h *[[ó AtUYoo*Q_s)SX>3s_d;q̪@itC(dhS¼y\t,Fc/9~xX$f7o?̽ey |oCp>f`G:5]ic+'V;ٌC GwL^UY3~H'*lyŭiRo'/N!X*=o$dɖRAʪo ~_]e:Rf=J>7\%aLc[MRtSg,Tucv6v( <и2 ɯMI:x;5eJVEd$MVUY•s%SqDC*KZBG4Ƈx@U%D,} [&%%V/pKT+|mYN~$k"8|SCS}4Z4Bq^XEΆE5(^+vWѨE x?vWO> QvIkK|3|UM 1s<$NktVT{u# 3N!^G/Y QEj-u>AHj:LJYƧ/:u5L{"0#"xQFVҪek{AW /DB !^ TgՁIw](Q:cAAqa Zc:GiAЀRw[f>4{^ WY`~rLgtʱ~FrI؊.c ڗl(]çSV1z7ݕQ"s҂Dimcx7gCL<5 K X{^Ա٫=K@$Dx[+Y rYaڪ  ?aVg)#LNb)g[VǢ3͎{^sP#'DigtОDRv9340+a .֎/^ua|yV;dzܹ-g~Е"4Ѳq Mr91л06BŘo-AICh^*k;*ҖH[ܕ:]l;S߿oZuf϶[0qGA%NJi r:'zS}~dZѡ觨&-08UE t%L*l'码n`?ȵW^ӡ2G믒jCؙ^{A{l ![hAC!)lہ+qstwo%6+7h991.GiO,J}Vc~"^") VA`" ^r縒P} E/T:OxkIOQ(0nj,)~qM5 =[|E<<3d <\LD{ANv#'恟cGY1C?k8FᣓX.Kʑ\QUӛ?|j(UkFAL~bRLzM,UXDDPD0&7t]{K# [3C_}( u/'St!D,"ʥ?>L n j-_`H?]#S_ﳏB|S!;<^SߩB%,B?хXTZ5fW-TL*̾Z-,iyURȊ8kO Jg4 c7f}hmpwcuZo hv&yIBXS*sJ+O%~%ACa=Ѽ\YCPOh˯ŌUto yOmėu r'U՞+T.}V6W; w˃td-߭ S_$ w„uaKW-*9^)r^̣؟}jBJ TKP{SHtIMtOF -B1Mκv\Yap {9rar>*yzPeЪx#_&ʬzDyRm&00%v\\l'a2Hȕ"2,lBNR6#0x#OVι'¿(2A;Gocaq )SP1i>Dr6=Um@ƿ-!3KsRTɹCU:?kpTy*PJ"!Oe~0|50iS^Ey:/ǧ𖂢!I{)QPUE+Q 1u-Vuy67M p ?2(-${,s9M>BАӁ)gKY *,蛡(uZE*չXd8dC~I#yvMJu$450#{<+OPtb;Q;gE)5%kui{{>< M