PageSourceSearch

https://static.varus.ua/azgwc-blob-static-varus-prod-01/vsf/dist/0928-vb859d25f/app-fc6b2922.js

js varus.ua collected 2026-10-02 07:28:31 UTC 37,427 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkvue_storefront=self.webpackChunkvue_storefront||[]).push([[6123],{282:function(H,I,c){var C=c(95353);I.A={name:"ShippingLocationMixin",methods:{...(0,C.i0)({loadShipping:"shipping-module/loadShipping",setDeliveryByLocation:"shipping-module/setDeliveryByLocation"}),async currentLocationCallback(g){if(!g?.coords)return;const a={lat:g?.coords?.latitude,lng:g?.coords?.longitude};await this.setDeliveryByLocation(a)},requestCurrentLocation(){try{navigator.geolocation.getCurrentPosition(this.currentLocationCallback.bind(this))}catch{}}},mounted(){this.loadedShipping||this.loadShipping({onlyLocalStorage:!0})},computed:{...(0,C.aH)({loadedShipping:g=>g["shipping-module"].loaded.shipping})}}},12736:function(H,I,c){c.d(I,{b:function(){return a},e:function(){return k}});var C=c(38589),g=c(37539);const a=(w,P)=>{const v=(0,C.e5)(w?.method),D=g.Ts.includes(v),M=g.XF.includes(v),h=g.D1.includes(v);return(P||[]).find(l=>{const p=[l.extension_attributes.delivery_type?.toLowerCase()===v?.toLowerCase()];return D?p.push(l.extension_attributes.np_city_ref===w?.npCity?.ref,l.extension_attributes.np_ref===w?.npShop?.ref):p.push(+l.extension_attributes.tms_city_id==+w?.city?.tms_id),h&&p.push(+l.extension_attributes.tms_shop_id==+w?.shop?.tms_id),M&&p.push(l.street.join(",")===w?.address?.label),!p.includes(!1)})},k=(w,P)=>{const v=(0,C.e5)(w?.extension_attributes?.delivery_type),D=g.Ts.includes(v),M=g.XF.includes(v),h=g.D1.includes(v);return(P||[]).find(l=>{const p=[l.extension_attributes.delivery_type?.toLowerCase()===v?.toLowerCase()];return D?p.push(l.extension_attributes.np_city_ref===w?.extension_attributes.np_city_ref,l.extension_attributes.np_ref===w?.extension_attributes.np_ref):p.push(+l.extension_attributes.tms_city_id==+w?.extension_attributes?.tms_city_id),h&&p.push(+l.extension_attributes.tms_shop_id==+w?.extension_attributes?.tms_shop_id),M&&p.push(l.street.join(",")===w?.street.join(",")),!p.includes(!1)})}},28447:function(H,I,c){var C=c(27058);I.A={name:"ShippingControlsMixin",methods:{openShippingModal(g=null){this.$store.dispatch("ui/hideBottomNavigation",!0),this.$store.dispatch("ui/openModal",{name:C.av.ShippingModal,payload:g})}}}},41199:function(H,I,c){c.d(I,{T:function(){return He}});var C=c(74170),g=c(38589),a=c(37539),w={getCityList:t=>t.cityList||[],getDefaultCity:t=>t.defaultCity,getDefaultShop:t=>t.defaultShop,getCurrentRegion:t=>t.currentRegion,getSuggestRegion:t=>t.suggestRegion,getShopList:t=>t.shopList||[],getShippingLoaded:t=>t.loaded.shipping,getCurrent:t=>t.current,getRegionList:t=>t.regionList,getDraft:t=>t.draft,getCartMethod:t=>t.cartMethod,isCurrentNewPost:t=>a.Ts.includes(t.current.method),isDraftValidAddress:t=>t.draft.address?.label&&t.draft.address?.category==="adr_address",isCartHasAlcohol:(t,e,o)=>!!o.cart?.cartItems?.find(s=>s.is_18_plus&&!s.is_tobacco),isDraftValidNova:(t,e)=>{const o=t.draft?.npType==="address"?e.isDraftValidAddress:!1;return e.isCartHasAlcohol&&t.draft?.npShop?.alcohol?!1:!!(t.draft?.npCity&&(o||t.draft?.npShop))},isDraftValidVarus:(t,e)=>{const o=!!(t.draft.city&&t.draft.method);return t.draft.method!==a.F4.delivery?!!(o&&t.draft.shop&&t.draft.type):!!(o&&e.isDraftValidAddress)},isDraftValid:(t,e)=>t.draft.method===a.F4.newPost?e.isDraftValidNova:e.isDraftValidVarus,fallbackShippingDetails:(t,e,o,s)=>(0,g.$B)(t.current,t.loaded.shipping,s["shipping/getShippingMethods"]),fallbackShippingDetailsDraft:t=>(0,g.$B)(t.draft,!0,[])},P=c(40046),v=c(3361);const D="sm-set-city-list",M="sm-set-shop-list",h="sm-set-regional-shop-list",l="sm-set-region-list",p="sm-set-default-city",S="sm-set-default-shop",m="sm-set-current-region",T="sm-set-suggest-region",A="sm-set-show-mbs",E="sm-set-loading-shop-list",G="sm-set-loaded-shop-list",Q="sm-set-loading-geocode",pe="sm-set-loaded-geocode",X="sm-set-loading-shipping",J="sm-set-loaded-shipping",he="sm-set-draft-city",ye="sm-set-draft-method",ge="sm-set-draft-shop",fe="sm-set-draft-type",Se="sm-set-draft-type-group",ee="sm-set-type-group",te="sm-set-draft-address",se="sm-set-current-shipping",oe="sm-set-draft-shipping",ne="sm-set-delivery-polygon",me="sm-set-city-list-for-geocode",_e="sm-set-np-type",Ce="sm-set-np-center",re="sm-set-np-city",ve="sm-set-np-city-list",ie="sm-set-np-shop",W="sm-set-np-shop-list",ae="sm-set-shop-delivery-polygon",le="sm-set-delivery-cache",Te="sm-set-coordinates-region",Pe="sm-set-cart_method",de="sm-set-adresses";var we=c(3312),q=c(79665),Ee=c(3037),Le=c(29709),$=c(50526),N=c(20112),R=c(91061),Oe=c(2405),De=c(74959),Re=c(34496),Ie=c(80077),Fe=c(97919),b=c(27638),Z=c(60662),O=c(67492),V=c(60083),xe=c(51476),be=c.n(xe),Be=c(46393),Me=c(95283);const z=t=>{if(!t.city_description)return t;const e={alcohol:t.alcohol_restriction,number:t.number,ref:t.ref,c_ref:t.city_ref,postbox:t.is_post_machine,lat:+t.latitude,long:+t.longitude,wgh:t.max_weight,address:t.short_address};return t.label&&(e.label=t.label),e};var U=c(49707),Ge=c(12736),We=c(26598),Ue=c(27058),F=c(3996),Ae=c(65606),Ye={async loadCity(t,{query:e,storeCode:o=null}){if(!e)throw new Error("Load city requires query");return((await v._.getCitiesList({query:e,storeCode:o,size:1,excludeFields:b.A.cityList.excludeFields}))?.items||[]).map(Ee.R)?.[0]||null}
1,async initCurrentRegion({dispatch:t,rootGetters:e,state:o},{items:s=[]}){const r=(e["url/getCurrentRoute"]?.path||"").split("/").find(d=>!!d),i=s.find(d=>d.url_key===r);if(!(o.currentRegion?.id||!i?.id))return t("setCurrentRegion",{name:"initCurrentRegion",region:i}),i},async loadRegionList({commit:t}){const e="region-list",o=await(0,U.t)(e);if(o)return t(l,o),o;const s=new P.SearchQuery,r=(await(0,Be.l)({query:s,entityType:"tms_region"}))?.items||[];return t(l,r),r.length&&await(0,U.l)({name:e,payload:r,ttl:120}),r},async loadDefaultCity({dispatch:t,commit:e},{storeCode:o=null}){const s=`load-default-city:${o||"default"}`,n=await(0,U.t)(s);if(n){e(p,n);return}const r=new P.SearchQuery;r.applyFilter({key:"is_default",value:{eq:!0},scope:"default"});const i=await t("loadCity",{query:r,storeCode:o});return i&&await(0,U.l)({name:s,payload:i}),e(p,i),i},async loadShop(t,{query:e}){return(await v._.getShopsList({query:e,size:1,excludeFields:["phone","is_darkhub","fax","emails","work_time","format_id","format_group_id","region","name"]}).then(g.HY))?.items?.[0]||null},async loadShopRegionList({commit:t,state:e}){try{const o=e.currentRegion?.id||null,s=e.currentRegion?.is_top||!1;if(!o||!s){t(h,null);return}if(!o||e.regionShops?.regionId===o)return;const n=e.currentRegion?.shop_ids||[];if(n.length===0)return;const r=new P.SearchQuery;r.applyFilter({key:"upload_to_web",value:{eq:"1"}}),r.applyFilter({key:"is_enabled",value:{eq:"1"}}),r.applyFilter({key:"id",value:{in:n},scope:"default"});const{items:i}=await v._.getShopsList({query:r,size:40,includeFields:["city_id","address","work_time","phone","has_cafe"]});if(i.length===0)return;const d=[...new Set(i?.map(L=>L.city_id)||[])],u=(0,V.m1)().storeCode,y=new P.SearchQuery;y.applyFilter({key:"id",value:{in:d},scope:"default"});const{items:_}=await v._.getCitiesList({query:y,storeCode:u,includeFields:["id","name"]}),f=(_||[]).reduce((L,K)=>(L[+K.id]=K.name,L),{}),x=i.map(L=>({cityName:f[+L.city_id]||null,address:L.address,workTime:L.work_time,phone:L.phone,hasCafe:!!+L.has_cafe}));t(h,{regionId:o,list:x})}catch{}},async loadDefaultShop({dispatch:t,commit:e},{city:o}){const s=`load-default-shop:${o?.id||"default"}`,n=await(0,U.t)(s);if(n){e(S,n);return}const r=new P.SearchQuery;r.applyFilter({key:"city_id",value:o?.id}),r.applyFilter({key:"is_default",value:{eq:!0}});const i=await t("loadShop",{query:r});return e(S,i),i&&await(0,U.l)({name:s,payload:i,ttl:300}),i},async requestDefaultCityAndShipping({dispatch:t,state:e},{storeCode:o=null}){const s={defaultCity:e.defaultCity?.id?e.defaultCity:null,defaultShop:e.defaultShop?.id?e.defaultShop:null,regions:e.regionList.length?e.regionList:[]};try{return s.regions.length||await t("loadRegionList"),s.defaultCity?.id||(s.defaultCity=e.defaultCity?.id?e.defaultCity:await t("loadDefaultCity",{storeCode:o})),s.defaultCity?.id&&!s.defaultShop?.id&&(s.defaultShop=e.defaultShop?.id?e.defaultShop:await t("loadDefaultShop",{city:s.defaultCity})),s}catch(n){return(0,R.TL)(R.TN.Shipping,"default:cityAndShipping:error",{storeCode:o,error:n?.message}),s}},async loadDefaultCityAndShipping({dispatch:t,state:e,commit:o},{storeCode:s=null}){const n={defaultCity:e.defaultCity?.id?e.defaultCity:null,defaultShop:e.defaultShop?.id?e.defaultShop:null,regions:[]};try{if((!n.defaultCity||!n.defaultShop)&&Ae?.getDefaultShopCity){const d=await Ae.getDefaultShopCity();n.defaultCity=d?.city||null,n.defaultShop=d?.shop||null,n.defaultCity&&o(p,n.defaultCity),n.defaultShop&&o(S,n.defaultShop),n.regions&&o(l,n.regions)}const i=await(0,Oe.z)(t,s);return n.defaultCity=i?.defaultCity,n.defaultShop=i?.defaultShop,n}catch(r){return(0,R.TL)(R.TN.Shipping,"default:cityAndShipping:error",{storeCode:s,error:r?.message}),n}},async loadCityListPure(t,{storeCode:e=null,cityId:o=null,includeFields:s=null,excludeFields:n=b.A.cityList.excludeFields}){try{const r=new P.SearchQuery;r.applyFilter({key:"active_shops",value:{gt:0},scope:"default"}),o&&r.applyFilter({key:"id",value:{eq:o}});const{items:i}=await v._.getCitiesList({query:r,storeCode:e,includeFields:s,excludeFields:n});return i?.map(Ee.R).sort((d,u)=>d.id-u.id)||[]}catch{return[]}},async loadCityList({commit:t,dispatch:e},{storeCode:o=null,cityId:s=null,includeFields:n=null,excludeFields:r=b.A.cityList.excludeFields}){try{const i=await e("loadCityListPure",{storeCode:o,cityId:s,includeFields:n,excludeFields:r});return o||t(D,i),i}catch{return q.V.error("Can not load cities list","checkout")(),null}},async checkShipping({dispatch:t,getters:e},o){try{const s={...e.fallbackShippingDetails};if(!s.shop)return!0;const n=o.find(y=>+s.shop.id==+y.id),r=o.find(y=>+s.shop.tms_id==+y.tms_id);if(!r||!r?.delivery_methods||!n)throw new Error(`Shop may be disabled for "${s.shop.tms_id}"`);if(n.id!==r.id)throw new Error(`Shop may be disabled for "${s.shop.tms_id}"`);const i=(r?.delivery_methods||[]).sort((y,_)=>y.key<_.key?-1:1),d=s?.shippingMethod;if(!(0,a.cX)()&&a.F4.newPost.toUpperCase()===d?.toUpperCase())throw new Error(`Method disabled "${d}" by config`);const u=i.find(y=>y.key.includes(s?.deliveryMethod?.key?.toUpperCase()));if(!u)throw new Error(`Method disabled "${d}" for "${s?.shop?.tms_id}"`);if(s?.deliveryMethod?.last_modified!==u?.last_modified)throw new Error(`Date different for "${s?.shop?.tms_id}", before: "${s?.deliveryMethod?.last_modified}", after "${u?.last_modified}"`);if(s?.shippingMethodType?.includes(a.F4.delivery)&&!s?.streetAddress?.includes(","))throw new Error(`Comma missed for address "${s?.streetAddress}" on "${s?.shippingMethodType}" method.`);
1if(!s?.streetAddress.replace(/[\s]/g,""))throw new Error(`Address don't have house number "${s?.streetAddress}" on "${s?.shippingMethodType}" method.`);return!0}catch(s){(0,F.cY)("WEB-397","[checkShipping] FAILED - calling clearShipping",{error:s?.message,shopId:e.fallbackShippingDetails?.shopId,shopTmsId:e.fallbackShippingDetails?.shop?.tms_id}),t("clearShipping");try{window.errb.push({message:s.message+": "+JSON.stringify(e.fallbackShippingDetails),level:"info",context:{type:"shipping",group:"shipping/reset"}})}catch{}return!1}},async loadShopListById(t,{ids:e=[],includeFields:o=b.A.shopList.includeFields,excludeFields:s=b.A.shopList.excludeFields}){if(!e.length)return;const n=new P.SearchQuery;return n.applyFilter({key:"id",value:{in:e}}),n.applyFilter({key:"upload_to_web",value:{eq:"1"}}),n.applyFilter({key:"is_enabled",value:{eq:"1"}}),v._.getShopsList({query:n,includeFields:o,excludeFields:s}).then(g.HY)},async loadShopListPure(t,{cityId:e=null,shopId:o=null,deliveryMethods:s=!0,isEnabled:n=!1,uploadToWeb:r=!1,status:i=!1,includeFields:d=b.A.shopList.includeFields,excludeFields:u=b.A.shopList.excludeFields}){try{const y=new P.SearchQuery;return s&&y.applyFilter({key:"delivery_methods",value:{in:null}}),e&&y.applyFilter({key:"city_id",value:e}),o&&y.applyFilter({key:"id",value:{eq:o}}),r&&y.applyFilter({key:"upload_to_web",value:{eq:"1"}}),i&&y.applyFilter({key:"status",value:{eq:"1"}}),n&&y.applyFilter({key:"is_enabled",value:{eq:"1"}}),v._.getShopsList({query:y,includeFields:d,excludeFields:u}).then(g.HY)}catch{return[]}},async loadShopList({commit:t,dispatch:e,state:o},{cityId:s=null,shopId:n=null,notImportant:r=!1,checkShop:i=!1}){if(!n)throw new Error("shopId field is required");if(r&&o.loading.shopList)return{items:[],check:!0};try{t(E,!0);const{items:d,cache:u}=await e("loadShopListPure",{cityId:s,shopId:n});t(M,d);const y=!u&&i?await e("checkShipping",d):!0;return d.length&&y&&e("updateShipping",{shop:d[0]}),{check:y,items:d}}catch{q.V.error("Can not load shops list","shipping-module")()}finally{t(E,!1),t(G,!0)}},setDraftCity({commit:t},{city:e=null}){t(he,e)},setCartMethod({commit:t},{method:e=null}){t(Pe,e||null)},setDraftMethod({commit:t},{method:e=null}){e&&(t(ye,e),t(te,null))},setDraftShop({commit:t},{shop:e=null}){t(ge,e)},setDraftType({commit:t},{type:e=null}){t(fe,e)},setDraftTypeGroup({commit:t},{group:e=null}){t(Se,e)},setDraftAddress({commit:t},{address:e=null}){t(te,e)},clearDraft({commit:t}){t(oe,a.$3)},restoreCurrentShippingFromStorage({commit:t,getters:e}){if(e.getCurrent?.shop)return;let o=null;try{const s=typeof localStorage<"u"?localStorage.getItem(a.Z2):null;o=s?JSON.parse(s):null}catch{return}o&&(t(se,{city:o.city||null,method:o.method||null,shop:o.shop||null,type:o.type||null,address:o.address||null,npType:o.npShop&&o.npType||null,npCity:o.npCity||null,npShop:o.npShop?z(o.npShop):null}),t(J,!0))},async loadShipping({commit:t,dispatch:e,getters:o,state:s},{onlyLocalStorage:n,addressInformation:r}){try{t(X,!0);const i=localStorage.getItem(a.Z2),d=+localStorage.getItem(a.LY),u=i?JSON.parse(i):null;if(await e("loadSavedAddressList"),n&&await e("restoreCurrentPolygon"),!o.getCurrent?.shop&&u){const j={city:u.city||null,method:u.method||null,shop:u.shop||null,type:u.type||null,address:u.address||null,npType:u.npShop&&u.npType||null,npCity:u.npCity||null,npShop:u.npShop?z(u.npShop):null};await e("setCurrentShipping",j),t(J,!0)}if(await e("loadDefaultCityAndShipping",{}),n&&await e("restoreCurrentRegion",{shouldSuggest:!0}),n||(0,Z.Rb)("forceShippingSave"))return;const y=o.getCurrent,_=s.addressList||[];if(!r?.shipping_method_code&&!_.length){N.A.$emit("shipping-details-loaded");const j=y?.method?.toUpperCase();let B=!!y?.address;return a.Ts.includes(j)?B=!!y?.npShop:a.D1.includes(j)&&(B=!!y?.shop),!B}const f=!r?.shipping_method_code&&_.length&&!localStorage.getItem(a.Y4)?await(0,$.xQ)(_):await(0,$.PS)(r);if(!f?.shopId||(0,Z.Rb)("forceShippingSave"))return!1;const x=a.F4.newPost.toUpperCase()===u?.method?.toUpperCase()||a.F4.newPost.toUpperCase()===f?.shippingMethodCode?.toUpperCase();if((x?(0,$.ip)(u,f):(0,$.rL)(u,f))&&d===f.lastModified)return N.A.$emit("shipping-details-loaded"),!0;if(d>f.lastModified)return;const L={npCity:null,npShop:null,npType:null},K=[e("loadCityList",{cityId:f.cityId}),e("loadShopList",{shopId:f.shopId,checkShop:!1})];x&&f?.newPost?.city_ref&&f?.newPost?.ref&&K.push(e("singleNewPost
1City",{ref:f?.newPost?.city_ref}),e("singleNewPostShop",{ref:f?.newPost?.ref}));const[,,qe,ce]=await Promise.allSettled(K).then(j=>{const B=[];for(const ke of j)ke.status==="fulfilled"?B.push(ke.value):B.push(null);return B});if(L.npCity=qe||null,L.npShop=ce||null,L.npType=ce?ce.postbox?"poshtomat":"department":null,(0,Z.Rb)("forceShippingSave"))return;const Y=(0,$.k)(f,o.getCityList,o.getShopList,L);if(!Y)return N.A.$emit("shipping-details-loaded"),!0;const Ve=Y?.shop?.id!==u?.shop?.id;return await e("setCurrentShipping",Y),localStorage.setItem(a.Z2,JSON.stringify(Y)),localStorage.setItem(a.LY,f.lastModified),(Y?.shop?.id||Y?.address)&&localStorage.removeItem(a.Y4),await e("restoreCurrentRegion",{shouldSuggest:!1}),Ve&&N.A.$emit("shipping-details-changed"),e("checkout/clearCheckoutSession",!0,{root:!0}),N.A.$emit("shipping-details-loaded"),!0}catch(i){return(0,F.cY)("WEB-397","[loadShipping] CATCH - removing sm/shipping",{error:i?.message}),localStorage.removeItem(a.Z2),localStorage.removeItem(a.LY),localStorage.removeItem(a.PN),(0,R.TL)(R.TN.Shipping,"shipping:load:catch:error",{message:i?.message}),!1}finally{t(X,!1),t(J,!0),N.A.$emit("shipping-details-finished")}},async updateShipping({getters:t,dispatch:e},{shop:o}){if(!t.getCurrent?.shop||!o||t.getCurrent?.shop?.id!==o?.id)return;const s={...t.getCurrent,shop:o};await e("setCurrentShipping",s),localStorage.setItem(a.Z2,JSON.stringify(s))},async saveShipping({state:t,dispatch:e},o){const s={...t.draft};a.Ts.includes(s.method)?e("setCurrentRegion",{init:"saveShipping:empty",region:null}):(s.npShop=null,s.npCity=null,s.npType=null),localStorage.setItem(a.Z2,JSON.stringify(s)),localStorage.removeItem(a.Y4),await e("setCurrentShipping",s);
1const n=t.regionList?.find(i=>i.shop_ids.includes(s?.shop?.id));e("setCurrentRegion",{name:"saveShipping",region:n||null}),N.A.$emit("shipping-details-changed"),await e("clearDraft"),await e("checkout/clearCheckoutSession",!0,{root:!0}),await e("cart/sync",{forceServerSync:!0,forceShippingSave:!0,skipPull:!0},{root:!0}),!(!o?.productToAdd||await e("ui/adultConfirmation",{product:o.productToAdd},{root:!0}))&&e("cart/addProductToCart",o.productToAdd,{root:!0})},initDraft({commit:t},e){!e?.city||!e?.shop||t(oe,{...e})},async loadCityPolygons({commit:t,state:e},{tms_id:o}){const s=new P.SearchQuery;if(!o)return[];s.applyFilter({key:"tms_id",value:{eq:o}});try{if(+o==+e.deliveryPolygon.tms_id&&e.deliveryPolygon.list.length)return[];const n=await v._.getCitiesList({query:s,includeFields:["tms_id","district_polygon"]}),r=(n.items?.[0]?.district_polygon?.[0]||[]).map(d=>[d.lng,d.lat]),i=n.items?.[0]?.tms_id||[];return t(ne,{list:r,tms_id:i}),r}catch{return t(ne,{list:[],tms_id:o}),q.V.error("Can not load cities list","checkout")(),[]}},async loadDeliveryTypes({commit:t},{lat:e=0,lng:o=0,cityId:s=null}){if(!e||!o)return null;const n=await v._.deliveryTypesByLocation(+e,+o,s||null),r=Object.keys(n.result)||[];if(n.code!==200||!r.length)return null;const i={coordinates:{lat:+e,lng:+o},ttl:Date.now()+300*1e3,shopDeliveryPolygon:n?.result?.delivery?.id||!1};return localStorage.setItem(a.PN,JSON.stringify(i)),t(le,{...i,loaded:!0}),n.result},async loadGeoLocateShop({dispatch:t},{lat:e=0,lng:o=0,cityId:s=null,typeDelivery:n=null}){const r=await t("loadDeliveryTypes",{lat:e,lng:o,cityId:s});if(n===a.F4.newPost.toLowerCase()){const d=r?.delivery_nova;return d?{key:d?.default_delivery_type,group:(0,$.nn)(d?.available_delivery_types,d?.delivery_methods||[]),shop:d}:null}const i=r?.delivery;return i?{key:i?.default_delivery_type,group:(0,$.nn)(i?.available_delivery_types,i?.delivery_methods||[]),shop:i}:null},async loadGeocodeByCoordinate(t,{lat:e=0,lng:o=0}){if(!e||!o)throw new Error("Coordinates not set");const s="https://api.visicom.ua/data-api/5.0/uk/geocode.json",n=[];n.push(`near=${o},${e}`),n.push("c=ua"),n.push("ci=adr_address,adr_street"),n.push("order=distance"),n.push(`key=${we.$W.visicom.apiKey}`),n.push("l=1"),n.push("r=150");const r=`${s}?${n.join("&")}`;return(0,Le.A)(r).then(i=>i.json()).then(i=>(0,g.V5)(i,!0))},async loadGeocodeByText(t,{lat:e=null,lng:o=null,categories:s=["adr_address","adr_street"],limit:n=100,sortByAddress:r=!0,text:i}){const d="https://api.visicom.ua/data-api/5.0/uk/geocode.json",u=[],y=(i||"").trim();if(!y.length)return[];u.push(`t=${encodeURIComponent(y)}`),e&&o&&u.push(`n=${o},${e}`),u.push("c=ua"),u.push(`ci=${s.join(",")}`),u.push("order=distance"),u.push(`key=${we.$W.visicom.apiKey}`),u.push(`l=${n}`);const _=`${d}?${u.join("&")}`,f=await(0,Le.A)(_).then(x=>x.json()).then(g.V5);return r?(0,$.fq)(f,y):f},async loadLocalizedCities({commit:t,getters:e,dispatch:o}){let s=e.getCityListForGeocode||[];return s.length||(s=await o("loadCityList",{storeCode:"ua",includeFields:["id","tms_id","name"],excludeFields:null}),t(me,s)),s},async findCityByName({dispatch:t},{name:e}){const o=await t("loadLocalizedCities");return(0,$.J7)(o,e)},async setDeliveryByLocation({dispatch:t,commit:e,getters:o},{lat:s,lng:n}){try{if(localStorage.getItem(a.Z2)||o.getGeocodeLoading)return;e(Q,!0);const i=await t("loadGeocodeByCoordinate",{lat:s,lng:n}),d=await t("findCityByName",{name:i?.settlement});if(!d)return;const u=new P.SearchQuery;u.applyFilter({key:"id",value:{eq:d.id},scope:"default"});const[y,_]=await Promise.all([t("loadGeoLocateShop",{lat:s,lng:n,cityId:d.id}),t("loadCity",{query:u})]);if(!y||!_||i?.category!=="adr_address")return;const f={...a.$3,city:_,method:a.F4.delivery,shop:y.shop,type:y.type,address:i};localStorage.setItem(a.Z2,JSON.stringify(f)),(f?.shop?.id||f?.address)&&localStorage.removeItem(a.Y4),await t("setCurrentShipping",f)}catch{}finally{e(Q,!1),e(pe,!0)}},async syncShipping({getters:t,dispatch:e},{addressInformation:o,clientStateSave:s=!1}){return(0,Z.Rb)("forceShippingSave")||(!s||s&&!t.getCurrent?.shop)&&await e("loadShipping",{addressInformation:o})?null:await e("saveShippingSync")||null}
1,async saveShippingSync({getters:t,rootGetters:e,dispatch:o,commit:s}){try{const n=t.getCurrent;if(!n?.group?.length&&a.XF.includes(n.method)){const[i,d]=n?.address?.coordinates||[],u=await o("loadGeoLocateShop",{lat:d,lng:i,cityId:n.city.id,typeDelivery:a.F4.delivery});n.group=u.group,s(ee,u.group)}if(!n?.group?.length&&a.Ts.includes(n.method)){const i=n.npShop,d=await o("loadGeoLocateShop",{lng:+i.long,lat:+i.lat,typeDelivery:a.F4.newPost});n.group=d.group,s(ee,d.group)}localStorage.setItem(a.Z2,JSON.stringify(n)),(n?.shop?.id||n?.address)&&localStorage.removeItem(a.Y4),N.A.$emit("shipping-details-changed");const r=e["cart/getCartToken"]&&e["checkout/getCurrentTimeSlot"];return(0,$.hi)(n,r)||null}catch(n){(0,R.TL)(R.TN.Shipping,"shipping:saveShippingDetails:catch:error",{message:n?.message}),q.V.error(`Error on save delivery: ${n}`)()}},async clearShipping({rootGetters:t,dispatch:e,commit:o}){(0,F.cY)("WEB-397","[clearShipping] CALLED - sm/shipping WILL BE REMOVED",{stack:new Error().stack?.split(`
2`).slice(1,5).join(" <- ")});try{await Fe.h.get(De.ID).removeItem(De.He).catch(r=>{q.V.error(r)}),localStorage.removeItem(a.Z2),localStorage.removeItem(a.LY),localStorage.removeItem(a.PN),await e("setCurrentShipping",a.$3),e("delivery-promise/clearSelection",null,{root:!0}),e("ui/setUserLocate",!0,{root:!0}),e("checkout/clearCheckoutSession",!0,{root:!0});const n=t["cart/getCartToken"];n&&(await Re.j.cartExt(n,{remove_address_information:!0}),o(`cart/${Ie.hk}`,null,{root:!0}),await e("shipping-module/setCartMethod",{method:null},{root:!0}))}catch{}finally{(0,R.TL)(R.TN.Shipping,"shipping:clear","done")}},async singleNewPostCity({commit:t},e){try{const o={storeCode:(0,V.m1)().storeCode,ref:e.ref,type:"city"},{result:s}=await O.Q.getNewPostSingle(o);return s?(t(W,s||[]),s?.[0]):void 0}catch{return null}},async loadDeliveryType({dispatch:t,state:e},{lat:o=0,lng:s=0}){return e.deliveryCache?.coordinates?.lat===+o&&e.deliveryCache?.coordinates?.lng===+s&&e.deliveryCache?.ttl>Date.now()&&e.deliveryCache?.loaded?e.deliveryCache?.shopDeliveryPolygon:(await t("loadDeliveryTypes",{lat:o,lng:s,cityId:null}))?.delivery?.id||!1},async checkDeliveryByCoordinates({dispatch:t},e){try{if(e?.npShop?.lat&&e?.npShop?.long)return t("loadDeliveryType",{lat:e?.npShop?.lat,lng:e?.npShop?.long});const[o,s]=e?.address?.coordinates||[];return s&&o?t("loadDeliveryType",{lat:s,lng:o}):e?.shop?.lat&&e?.shop?.long?t("loadDeliveryType",{lat:e?.shop?.lat,lng:e?.shop?.long}):!1}catch{return!1}},async setCurrentShipping({commit:t,dispatch:e},o){try{a.D1.includes(o?.type)&&(o.address=null);const s=await e("checkDeliveryByCoordinates",o);return t(se,o),t(ae,s||!1),!0}catch{return!1}},closeMbs({rootGetters:t,commit:e}){const s={quoteId:t["cart/getCartToken"],manualClosed:!0,shouldShow:!1};e(A,s)},shouldShowMbs({rootState:t,state:e,rootGetters:o,commit:s}){const n=o["cart/getCartToken"];if(n===e.mbsState?.quoteId&&e.mbsState?.manualClosed)return;const i=!!e.mbsState?.shouldShow,d=!!t.cart.cartStates?.minBucketSize?.valid;if(i===!d)return;s(A,{quoteId:n,manualClosed:!1,shouldShow:!d})},async singleNewPostShop({commit:t},e){try{const o={storeCode:(0,V.m1)().storeCode,ref:e.ref,type:"warehouse"},{result:s}=await O.Q.getNewPostSingle(o);if(!s||!Array.isArray(s))return;const n=(s||[]).map(r=>{const i=z(r);return(0,g.Ww)(i)});return t(W,n||[]),n?.[0]}catch{return null}},async shopsByDistance(t,e){const{result:o}=await O.Q.shopsByDistance(e.lat,e.lng,e?.region||!1);return(o||[]).filter(s=>s?._source&&s._source.delivery_methods?.length&&+s._source.is_enabled&&+s._source.upload_to_web).map(s=>({distance:+((+s?.sort?.[0]||0)/1e3).toFixed(1),shop:s?._source,region:s?.region?._source||null}))},async coordinatesByRegion({state:t,dispatch:e,commit:o}){try{const s=t.currentRegion;if(t.coordinatesRegion?.id===s.id)return t.coordinatesRegion;const r=(await e("loadGeocodeByText",{text:s.name,categories:["adm_settlement"],sortByAddress:!1}))?.[0]?.coordinates,i={id:s.id,coordinates:r||null};return o(Te,i),i}catch{}},async loadNewPostCity({commit:t},e){const o={storeCode:(0,V.m1)().storeCode};console.log(o),e.q&&(o.q=e.q),e.ref&&(o.ref=e.ref);const{result:s}=await O.Q.getNewPostCity(o),n=(s||[]).map(r=>{const i=[r.settlement_region,r.settlement_area].filter(u=>!!u),d=i.length?` (${i.join(", ")})`:"";return{...r,description:r.settlement_description+d}});return t(ve,n),n}
2,async loadNewPostWarehouseRequest({commit:t},e){const o={storeCode:(0,V.m1)().storeCode,isPostMachine:e.isPostMachine,cityRef:e.cityRef};e.q&&(o.q=e.q);const s=await O.Q.getNewPostWarehouse(o),{result:n}=s,r={north:44,south:52.5,east:40.5,west:22},i=[[r.east,r.south],[r.west,r.south],[r.west,r.north],[r.east,r.north]],d=n.filter(f=>+f.long&&+f.lat&&be()([+f.long,+f.lat],i)),u=d.map(f=>{const x=z(f);return(0,g.Ww)(x)}),y=d.map(f=>[+f.long,+f.lat]),_=(0,g.IU)(y);t(Ce,_),t(W,u||[])},async setNewPostCity({commit:t,dispatch:e},o){if(!o){t(re,null),t(W,[]);return}t(ie,null),await e("loadNewPostWarehouse",{ref:o?.ref}),t(re,o)},async loadNewPostWarehouse({commit:t,dispatch:e,state:o},s){t(W,[]),await e("loadNewPostWarehouseRequest",{cityRef:s?.ref,isPostMachine:s.npType===a.IX.poshtomat||o.draft?.npType===a.IX.poshtomat})},setNewPostShop({commit:t},e){t(ie,e)},async setNewPostType({commit:t,dispatch:e,state:o},s){t(_e,s||a.IX.department),o.draft?.npCity?.ref&&await e("loadNewPostWarehouseRequest",{cityRef:o.draft?.npCity?.ref,isPostMachine:o.draft?.npType===a.IX.poshtomat})},async setCurrentRegion({commit:t,state:e,getters:o,dispatch:s},{name:n=null,region:r=null,shouldSuggest:i=!1}){const d=e?.currentRegion?{...e?.currentRegion}:{},u=o.isCurrentNewPost?null:{...r};!d?.id&&!u?.id||(t(m,u||{}),!Me.S$&&(localStorage.setItem(a.NC,JSON.stringify(u)),N.A.$emit("region-changed",{name:n,region:u,oldRegion:d,shouldSuggest:i}),await s("loadShopRegionList")))},async restoreCurrentPolygon({commit:t,dispatch:e,state:o}){if(o?.deliveryCache?.loaded)return;const s=localStorage.getItem(a.PN);if(!s)return;const n=JSON.parse(s);n&&(t(le,n),t(ae,n?.shopDeliveryPolygon),await e("loadShopRegionList"))},setSuggestRegion({commit:t},e){t(T,e||{})},regionFromList({rootGetters:t,state:e}){const o=/^\/(?:ru\/)?([^\/\?]+)/g,s=t["url/getCurrentRoute"]?.fullPath||"",n=o.exec(s)?.[1];return(e?.regionList||[]).find(r=>r?.url_key===n)||{}},async restoreRegionCustomPage({dispatch:t,commit:e}){await(0,We.Bi)();const o=await t("regionFromList");return e(m,o),console.log(o),o},async restoreCurrentRegion({commit:t,state:e,dispatch:o},{shouldSuggest:s=!0}){try{const n=e?.current?{...e?.current||{}}:null,r=localStorage.getItem(a.NC),i=e?.currentRegion?{...e?.currentRegion||{}}:{},d=a.Ts.includes(n?.method),u=n?.method&&n?.shop;let y=null;if(i?.id&&!d&&(!u||i?.city_ids?.includes(n?.city?.id))){localStorage.setItem(a.NC,JSON.stringify(i));return}if(i?.id||(y=await o("regionFromList")),!u&&i?.id)return;if(!u&&!i?.id&&y?.id){t(m,y);return}let _=r&&!d?JSON.parse(r):null;if(!u&&!i?.id&&_?.id===y?.id){t(m,_);return}if(!_?.city_ids?.includes(n?.city?.id)&&!d&&(_=(e?.regionList||[]).find(f=>f?.city_ids?.includes(n?.city?.id))||null),_&&_?.id===i?.id||(t(m,_),_&&_?.id===y?.id))return;N.A.$emit("region-changed",{name:"restoreCurrentRegion",region:_,oldRegion:i?.id?i:y,shouldSuggest:s})}catch(n){(0,R.TL)(R.TN.Region,"default:cityAndShipping:error",{error:n?.message})}},setRegionList({commit:t},e){t(l,e||[])},async loadSavedAddressList({commit:t,rootGetters:e}){try{if(!e["user/isLoggedIn"])return;const{result:s,resultCode:n}=await O.Q.getCustomerAddressList();if(n!==200)return;t(de,s)}catch{}},async addAddress({state:t,rootGetters:e,dispatch:o},s){if(!e["user/isLoggedIn"])return;const r=t.addressList||[],i=(0,g.Vo)(s?.extension_attributes?.delivery_type,s?.extension_attributes?.tms_city_id,s?.extension_attributes?.tms_shop_id,s?.street),d=(0,Ge.e)(s,r),u=[];d&&u.push(O.Q.removeCustomerAddress(d.id)),s.extension_attributes.address_name=i,u.push(O.Q.addCustomerAddress(s)),await Promise.all(u),await o("loadSavedAddressList")},async removeAddress({state:t,rootGetters:e,commit:o},s){if(!e["user/isLoggedIn"])return;const i=(t.addressList||[]).filter(d=>d?.id!==s);o(de,i),await O.Q.removeCustomerAddress(s)},async handleDeletedShop({dispatch:t,rootGetters:e,commit:o}){if(Me.S$)return;(0,F.cY)("WEB-397","[handleDeletedShop] invalid_shop_id detected, clearing address and opening popup");const s=e["shipping-module/getCurrent"],n=!!(s?.shop?.id||s?.address);try{localStorage.removeItem(a.Z2),(0,F.cY)("WEB-397","[handleDeletedShop] localStorage cleared (sm/shipping)");const r=e["cart/getCartToken"];r&&(await Re.j.cartExt(r,{remove_address_information:!0}),o(`cart/${Ie.hk}`,null,{root:!0}),(0,F.cY)("WEB-397","[handleDeletedShop] remove_address_information sent to BE")),n&&t("openShippingFallback")}catch(r){(0,F.cY)("WEB-397","[handleDeletedShop] error",r),n&&t("openShippingFallback")}}
2,async openShippingFallback({dispatch:t}){(0,F.cY)("WEB-397","[openShippingFallback] Opening shipping modal as fallback"),t("ui/hideBottomNavigation",!0,{root:!0}),t("ui/openModal",{name:Ue.av.ShippingModal,payload:null},{root:!0})}},$e=c(85471),je={[D](t,e){t.cityList=(e||[]).sort((o,s)=>o.name>s.name?1:-1)},[M](t,e){t.shopList=e},[h](t,e){t.regionShops=e},[l](t,e){t.regionList=e},[p](t,e){t.defaultCity=e},[S](t,e){t.defaultShop=e},[m](t,e){t.currentRegion=e},[T](t,e){t.suggestRegion=e},[A](t,e){t.mbsState=e},[E](t,e){t.loading.shopList=e===!0},[G](t,e){t.loaded.shopList=e===!0},[Q](t,e){t.loading.geocode=e===!0},[pe](t,e){t.loaded.geocode=e===!0},[X](t,e){t.loading.shipping=e===!0},[J](t,e){t.loaded.shipping=e===!0},[he](t,e){t.draft.city=e},[ye](t,e){t.draft.method=e},[ge](t,e){t.draft.shop=e},[fe](t,e){t.draft.type=e},[Se](t,e){t.draft.group=e||[]},[ee](t,e){t.current.group=e||[]},[te](t,e){t.draft.address=e},[oe](t,e){const o=Object.keys(e);for(const s of o)$e.Ay.set(t.draft,s,e[s])},[se](t,e){const o=Object.keys(e);for(const s of o)$e.Ay.set(t.current,s,e[s])},[ne](t,{tms_id:e,list:o}){t.deliveryPolygon={tms_id:e,list:o}},[me](t,e){t.cityListForGeocode=e},[Ce](t,e){t.npCenter=e},[_e](t,e){t.draft.npType=e},[re](t,e){t.draft.npCity=e},[ve](t,e){t.npCityList=e},[ie](t,e){t.draft.npShop=e},[W](t,e){t.npShopList=e},[ae](t,e){t.shopDeliveryPolygon=e},[le](t,e){t.deliveryCache=e},[Te](t,e){t.coordinatesRegion=e},[Pe](t,e){t.cartMethod=e},[de](t,e){t.addressList=e}};const Ne={namespaced:!0,state:{current:{city:null,method:null,shop:null,type:null,group:[],address:null,npType:null,npCity:null,npShop:null},draft:{city:null,method:"DELIVERY",shop:null,type:null,group:[],address:null,npType:null,npCity:null,npShop:null},cartMethod:null,loading:{shipping:!0,shopList:!1,geocode:!1},loaded:{shipping:!1,shopList:!1,geocode:!1},shopDeliveryPolygon:!1,deliveryCache:{coordinates:{lat:0,lng:0},ttl:0,shopDeliveryPolygon:!1},coordinatesRegion:null,defaultCity:{},defaultShop:{},currentRegion:{},suggestRegion:{},regionShops:null,shopList:[],cityList:[],addressList:[],regionList:[],npCenter:[],npCityList:[],npShopList:[],mbsState:null,cityListForGeocode:[],deliveryPolygon:{tms_id:null,list:[]}},getters:w,actions:Ye,mutations:je},ue="shipping-module",He=function({store:t},e){e?.[ue]&&(Ne.state=e[ue]),t.registerModule(ue,Ne),(0,C.I)().then(o=>{o.registerEntityType("np_warehouse",{queryProcessor:s=>s,resultProcessor:(s,n,r)=>o.handleResult(s,"np_warehouse",n,r)})})}},67492:function(H,I,c){c.d(I,{Q:function(){return M}});var C=c(47301),g=c(30397),a=c(3312),k=c(95283),w=c(86866),P=c(40046),v=c.n(P);const D={Accept:"application/json, text/plain, */*","Content-Type":"application/json"},M={addCustomerAddress:async h=>{const l=[(0,k.GG)((0,g.A)(a.$W.addresses,"create_address_endpoint"))].join("/");return C.P.execute({url:l,payload:{method:"POST",headers:{"Content-Type":"application/json"},mode:"cors",body:JSON.stringify({address:h})}})},updateCutomerAddress:async(h,l)=>{const p=[(0,k.GG)((0,g.A)(a.$W.addresses,"single_address_endpoint"))].join("/").replace("{{address}}",h.toString());return C.P.execute({url:p,payload:{method:"POST",headers:{"Content-Type":"application/json"},mode:"cors",body:JSON.stringify({address:l})}})},removeCustomerAddress:async h=>{const l=[(0,k.GG)((0,g.A)(a.$W.addresses,"single_address_endpoint"))].join("/").replace("{{address}}",h.toString());return C.P.execute({url:l,payload:{method:"DELETE",headers:{"Content-Type":"application/json"},mode:"cors"}})},getCustomerAddressList:async()=>{const h=[(0,k.GG)((0,g.A)(a.$W.addresses,"list_address_endpoint"))].join("/");return C.P.execute({url:h,payload:{method:"POST",headers:{"Content-Type":"application/json"},mode:"cors",body:JSON.stringify({})}})},getNewPostCity:async h=>{const l=[];h.q&&l.push(`q=${h.q}`),h.ref&&l.push(`ref=${h.ref}`),h.storeCode&&l.push(`storeCode=${h.storeCode}`);const p=[(0,g.A)(a.$W.newPost,"np_city_endpoint")];return l.length&&p.push(l.join("&")),C.P.execute({url:p.join("?"),payload:{method:"GET",mode:"cors",headers:D}})},getNewPostWarehouse:async h=>{const l=[];h.q&&l.push(`q=${h.q}`),h.cityRef&&l.push(`cityRef=${h.cityRef}`),h.isPostMachine!==null&&l.push(`isPostMachine=${+h.isPostMachine}
2`),h.storeCode&&l.push(`storeCode=${h.storeCode}`);const p=[(0,g.A)(a.$W.newPost,"np_warehouse_endpoint")];return l.length&&p.push(l.join("&")),C.P.execute({url:p.join("?"),payload:{method:"GET",mode:"cors",headers:D}})},getNewPostSchedule:async h=>{const l=new P.SearchQuery().applyFilter({key:"ref",value:{eq:h}}),{items:p}=await(0,w.l)({query:l,size:1,entityType:"np_warehouse",includeFields:["schedule"]});return p?.[0]?.schedule||null},getNewPostWarehousesByRefs:async h=>{if(!h.length)return[];const l=new P.SearchQuery().applyFilter({key:"ref",value:{in:h}}),{items:p}=await(0,w.l)({query:l,size:h.length,entityType:"np_warehouse",includeFields:["ref","number","is_post_machine","short_address","city_description"]});return p||[]},getNewPostSingle:async h=>{const l=[(0,g.A)(a.$W.newPost,"np_single_endpoint"),h.type,h.ref].join("/");return C.P.execute({url:`${l}?storeCode=${h.storeCode}`,payload:{method:"GET",mode:"cors",headers:D}})},shopsByDistance:async(h,l,p=!1,S=null)=>{const m=[(0,g.A)(a.$W.user_checkout.endpoint,"shopsByDistance"),encodeURIComponent(h),encodeURIComponent(l)].join("/"),T=[];S&&T.push(`radius=${S}`),p&&T.push("add_region=1");const A=T.join("&"),E=A.length?[m,A].join("?"):m;return C.P.execute({url:E,payload:{method:"GET",mode:"cors",headers:D}})}}},93859:function(H,I,c){c.d(I,{Bv:function(){return w},MI:function(){return k},X6:function(){return D},Xt:function(){return v},iu:function(){return h},tF:function(){return M}});var C=c(26598),g=c(60083);const a=["CategoryPage","Home","SpecialOffers","Promotion","PromotionPage","PromoOnly","Brand","Brands"],k=(l,p,S)=>{const m=(0,g.m1)().storeCode==="ua"?"":"ru",T=m?`/${m}`:"",A=(l.matched?.[0]?.components?.default||l.matched?.[0]?.instances?.default?.$options)?.name;if(!a.includes(A))return null;if(p?.url_key!==S?.url_key){if(p?.url_key&&!S?.url_key){const E=new RegExp(`^(${T}/${p.url_key})`,"g");return l.fullPath.replace(E,T)||"/"}if(p?.url_key&&l.fullPath.startsWith(`${T}/${p.url_key}`)){const E=new RegExp(`^(${T}/${p.url_key})`,"g");return l.fullPath.replace(E,`${T}/${S.url_key}`)}if(T){const E=new RegExp(`^(${T})`,"g");return`${T}/${S.url_key}${l.fullPath.replace(E,"")}`}return`/${S.url_key}${l.fullPath}`}},w=(l,p=null)=>{const S=p||(0,C.kh)();if(!S?.url_key)return!1;const m=(0,g.m1)().storeCode==="ua"?"":"/ru";return new RegExp(`^(${m}/${S.url_key})`,"g").test(l)},P=/^(?!\/ru$)\/(?:ru\/)?([^/]+)/,v=(l,p=null)=>{const S=(0,C.kh)(),m=(p||"").match(P)?.[1],T=(l||"").match(P)?.[1];return m===T||S?.slug===m?!1:((0,C.zk)()||[]).find(E=>E.slug===m)},D=(l,p=null)=>{const S=p||(0,C.kh)();if(!S?.url_key)return l;const m=(0,g.m1)().storeCode==="ua"?"":"/ru",T=new RegExp(`^(${m}/${S.url_key})`,"g");return l?.replace(T,"")},M=l=>{try{const p=l||"",S=(0,C.kh)(),m=(0,g.m1)().storeCode==="ua"?"":"ru";if(!S?.url_key)return p;const T=new RegExp(`^(/${S.url_key})`,"g"),E=(p?.replace(T,"")?.split("/")||[])?.filter(Q=>!!Q)||[],G=[];return m&&E?.[1]===S?.url_key||!m&&E?.[0]===S?.url_key?p:(m&&E?.[0]===m&&G.push(E.shift()),G.push(S?.url_key,...E),`/${G.join("/")}`)}catch{return l}},h=(l,p)=>l&&p?.includes("://varus.ua")||l&&p?.includes("://magento-uat.varus.ua")||p?.startsWith("/")}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.