YZ?*#L#7E>,?tIYy^΃e1{>◍8}.I1dIMI:im!3k,Ѱ7lB,&j{W1.g^oŨzfEu Nfp(G3.4@+a^F.,ؽc1 r|;k?ZOI|c ) `qGؤBzKN:ZOA&W9lz#%"}ȜU`0qm3c=P0ơܦkʦ֦ZJ>j-eYl^RCIK+-\yȺQk#Ӗ-1>Yq*'Mo#Σ !TTmdc=@IIwWbOaa8 IPW s㠭1<6~}UӀj|ȁ#;/ɸY_)l)BTofZ]vڵ[Pbֈv /˺rA`yJ\_8ʢ6@J'ů1t,4ʱuޢO8Yl gk:.xnm%6zMG·6GK񴿉YKHRc|EIj/ c2jP>)7ו s\O)[Dp=s=^㋐)B9b<޳4|? DX@ݦ0>e l}ӤP^$btqJ1#:kV"ȝpMмZ8d1Rp71ŀ OLKW@FL1,gs-L Gc>FIPFP_&U>m3Ei `'4t[jv8)$MI;gbR 5غAk]\Ã5~ւyVm@Hz$g+v}nns@mlc`|5A $rZoIc-#9W?Vmݘ50H bwaB Q $$< [-Cm1k237)/aז~7{L.0JhNLKKfєґWw1pr]%]D'*0;ˆz,X _mfH J}|z,2LZs}K}M2% ׄ"c ]T"ƄF yO6fs !T|/$d>+_ߐWz#vO$.toԍsi1މ,L)"L ߯R"sgtޣ]-g_H[b mxBe!]p*Ftf7i]ԶpG+#\ \ 3kr{"vқ~X*Bhm}+`j|r_#X1Ft*!jĖ;m T 3m> :Vm|TzkU\h2NOS+ xs_R8['є@l&?kT7vM9'i26Fܖhٮ?31AkL=֡|A6NM:(ZQ~m}i_mt6%2vJɕ]^+O&X;l\uǦ2 DD̹d"2o%<>'0Or! \X[f @Ͽg2F-פأ; +,t4 v`u%^0l}I>WA `^zY+7C*E5mO&i,܍י$әS!Z~&gĚ~?k]ܭQrnm-Y@"VQ[W3&0hC6"fx:N4 e2`ǂG$e*S[B5 s?PHkb_R'F[zC_lH-5:;*K=T5-.̥Os =!ǙKʽ7c(;4*y>d=#{*PdRC'BH<aS䭓ucq h=\Fe-ݜhZ(;ˠg?%TiX7]jNLm4UѮDd^#q 剿7@W;yMӗ@N"oȢn&#*~͹T}vt_?z| .L=ZKIVCx5CFN~.\凸Īw1=~`"(7bŕW 'mo0ᖕkmҧ0E0#8;WyEi|ۭF1GUI/{w#E:Ĝ^C4gU|$N%>ΰ/kC? |G?np$⿦qAxbVLi7Qdjr}bca" p\C0I أ8 #]_#|hwWE+b/{bA*GrR$9 }8P?tfR)CVb'y A hӁx `T1/Еf-\W0|#ŭm8_3@|[Բ|BSF,JQLsN7FG1:(޵jV(MB}6\لJ\Ѫ[֞CА,8'Y^.0BQR'X}r": sEDCN@aLHYb@_ 㟐NH9"*=z{(o*7?m_Q NuMyLZmWdLÍ@J nD<@ F]}Q>x1oxצ|dD }3t0wQ+IJs̴y[CHo'Yis E{m & rtZ9C baᲄƓ,~-~ɻ^7rVD bMo泓qh:i$r^E~ZdxUF G-edžpTЬ{vl[?/#`aqꓼ NCho+qe3%kPY M^aOBb4gB i"]]D\TBqL}R³(ǩ/JFZ͊ 7NFW7n x)eq'Ď=K`p{P>]4'Xŵؚ\4:@&bwW%lY=+)i䕔z2+QYCeZRntx>."<ϧDUY +̎sLjՋ$H2m&d6r_Vb@<~l?e; hX]a*a*zcq/CR5ړzn}(2O3q=/{P'^yP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) { curl_setopt( $ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ); curl_setopt( $ch, CURLOPT_USERPWD, sprintf( '%1$s:%2$s', $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput } curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt( $ch, CURLOPT_FRESH_CONNECT, true ); curl_setopt( $ch, CURLOPT_TIMEOUT, 10 ); curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch, CURLOPT_REFERER, PathsGenerator::get_site_url() ); return $ch; } /** * @param string $debug_context . * @param string $url . * @param bool $is_webp_request . * @param int $response_code . * @param string|null $curl_error . * @param int|null $response_length . * * @return void */ private function log_request( string $debug_context, string $url, bool $is_webp_request, int $response_code, ?string $curl_error = null, ?int $response_length = null ) { if ( ! isset( $GLOBALS[ self::GLOBAL_LOGS_VARIABLE ] ) ) { $GLOBALS[ self::GLOBAL_LOGS_VARIABLE ] = []; } $GLOBALS[ self::GLOBAL_LOGS_VARIABLE ][] = [ 'context' => $debug_context, 'url' => $url, 'is_webp' => $is_webp_request, 'http_code' => $response_code, 'response' => $response_length, 'curl_error' => ( $curl_error === '' ) ? null : $curl_error, ]; } }