async function _waitFor(e,t=50,i){let r=Date.now();for(;;){if("number"==typeof i&&Date.now()>r+i)throw"Condition not met before timeout";let a=await e();if(a)return a;await new Promise(e=>setTimeout(e,t))}}async function initYaDelivery(e,t=".ya.masterapi.ru"){let i=document.querySelector(".t706");if(!i){console.log("[YaDelivery]","❌ На странице нет корзины");return}if(await _waitFor(()=>void 0!==window.tcart_initted,50,5e3),"string"!=typeof window.tcart__ymapApiKey||!window.tcart__ymapApiKey){let r=i.getAttribute("data-yandexmap-apikey");null!==r?(window.tcart__ymapApiKey=r,console.log("[YaDelivery]","\uD83D\uDD11 Установил tcart__ymapApiKey = "+r)):console.log("[YaDelivery]","❌ В корзине нет apikey Яндекс карт")}t_onFuncLoad("tcart__mapDeliveryService",function(){console.log("[YaDelivery]","♻️ Подменил функцию tcart__mapDeliveryService");let t=tcart__mapDeliveryService;tcart__mapDeliveryService=function(i){i.id==e&&(i.type="pickup");let r=t(i);return r}}),await _waitFor(()=>void 0!==window.tcart_newDelivery&&"function"==typeof window.tcart_newDelivery.getPickupList,50,6e4);let a=window.tcart_newDelivery.endpointDelivery;window.tcart_newDelivery.updateTimeValueInRadio=(e,t)=>{let i=document.querySelector('.t706 input.t-radio_delivery[data-service-id="'+t+'"] ~ span.delivery-minimum-time');i&&(i.innerHTML=e)},console.log("[YaDelivery]","♻️ Подменил функцию getDeliveryPrice"),window.tcart_newDelivery.getDeliveryPrice_orig=window.tcart_newDelivery.getDeliveryPrice,window.tcart_newDelivery.getDeliveryPrice=function(i){let{serviceId:r}=i;r==e&&(this.endpointDelivery=t);try{console.log("Запрос стоимости доставки на",this.endpointDelivery),window.tcart_newDelivery.getDeliveryPrice_orig(i)}catch(n){}this.endpointDelivery=a},console.log("[YaDelivery]","♻️ Подменил функцию getCityCoordinates"),window.tcart_newDelivery.getCityCoordinates_orig=window.tcart_newDelivery.getCityCoordinates,window.tcart_newDelivery.getCityCoordinates=function(e,t,i){window.tcart_newDelivery.deliveryState.geoCoordinates="loading",window.tcart_newDelivery.getCityCoordinates_orig(e,t,function(e){window.tcart_newDelivery.deliveryState.geoCoordinates=e.response.GeoObjectCollection.featureMember[0].GeoObject.boundedBy.Envelope,i(e)})},console.log("[YaDelivery]","♻️ Подменил функцию getPickupList"),window.tcart_newDelivery.getPickupList_orig=window.tcart_newDelivery.getPickupList,window.tcart_newDelivery.getPickupList=function(i){let{deliveryId:r,onDone:n}=i;if(r!=e){console.log("Использую getPickupList ORIGINAL"),window.tcart_newDelivery.getPickupList_orig(i);return}let l=Date.now()+5e3,o=setInterval(()=>{if(Date.now()>l)clearInterval(o),console.log("[YaDelivery]","Похоже не удалось загрузить информацию о Городе из геокодера Яндекс");else if("loading"===this.deliveryState.geoCoordinates)return;clearInterval(o),i.onDone=i=>{if(console.log("[YaDelivery]","getPickupList onDone: Рассчитать срок доставки"),window.tcart_newDelivery.updateTimeValueInRadio("...",e),i.length>0){let r=document.querySelector(`.t706 input[data-service-id="${e}"]`).getAttribute("data-static-price");(null===r||Number(r)>0)&&window.tcart_newDelivery.updateDeliveryPrice("",e,i[0].id),fetch(`https://delivery${t}/delivery-date/${i[0].id}`).then(e=>e.ok?e.json():Promise.reject(e)).then(t=>{let{status:i}=t;i&&"ok"===i&&window.tcart_newDelivery.updateTimeValueInRadio(`от ${t.minDays} дней`,e)}).catch(e=>{console.log("[YaDelivery] Не удалось рассчитать срок доставки",e)})}let a=i.map(e=>(e.workTime="",e));n(a)},i.pattern=this.deliveryState.geoCoordinates||null,this.endpointDelivery=t;try{console.log("[YaDelivery]","Запрос точек ПВЗ на "+this.endpointDelivery),this.getPickupList_orig(i)}catch(r){}this.endpointDelivery=a},25)}}console.log("[YaDelivery]","v 0.2");