@tomtom-org/maps-sdk 0.33.0 → 0.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{mergeFromGlobal as e,generateTomTomHeaders as t,getPosition as n,toPointFeature as r,views as o,bboxFromGeoJSON as i,bboxOnlyIfWithArea as s,bboxFromCoordsArray as a,plugTypes as c,currentTypes as u,avoidableTypes as p,getPositionStrict as A,generateId as l,getRoutePlanningLocationType as d,inputSectionTypesWithGuidance as R,inputSectionTypes as E,indexedMagnitudes as T}from"@tomtom-org/maps-sdk/core";var _=/* @__PURE__ */(e=>(e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.FORBIDDEN=403]="FORBIDDEN",e))(_||{});class S extends Error{constructor(e,t,n){super(e),this.service=t,this.issues=n,Error.captureStackTrace&&Error.captureStackTrace(this,S)}}const h={[_.TOO_MANY_REQUESTS]:"Too Many Requests: The API Key is over QPS (Queries per second)",[_.FORBIDDEN]:"Request failed with status code 403"};class I extends S{constructor(e,t,n){super(e,t),this.status=n,this.status&&h[this.status]&&(this.message=h[this.status])}}const g=(e,t)=>{const{data:n,message:r,status:o}=e;return new I(n?.error||n?.errorText||r,t,o)},f=(e,t,n)=>{if(e.status){const r=e;return n?n(r,t):g(r,t)}return new S(e.message,t)},m=(e,t)=>new S(e.message,t,e.issues);function N(e,t,n){function r(n,r){var o;Object.defineProperty(n,"_zod",{value:n._zod??{},enumerable:!1}),(o=n._zod).traits??(o.traits=/* @__PURE__ */new Set),n._zod.traits.add(e),t(n,r);for(const e in s.prototype)e in n||Object.defineProperty(n,e,{value:s.prototype[e].bind(n)});n._zod.constr=s,n._zod.def=r}const o=n?.Parent??Object;class i extends o{}function s(e){var t;const o=n?.Parent?new i:this;r(o,e),(t=o._zod).deferred??(t.deferred=[]);for(const n of o._zod.deferred)n();return o}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class O extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const y={};function C(e){return y}function v(e,t){return"bigint"==typeof t?t.toString():t}function P(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function L(e){return null==e}function U(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const b=Symbol("evaluating");function M(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==b)return void 0===r&&(r=b,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function H(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function w(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}const D="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function G(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const j=/* @__PURE__ */new Set(["string","number","symbol"]);function z(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function B(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function F(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function x(e,t){if(!function(e){if(!1===G(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!1!==G(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const r=w(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return H(this,"shape",n),n},checks:[]});return B(e,r)}function k(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function V(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function W(e){return"string"==typeof e?e:e?.message}function Y(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=W(e.inst?._zod.def?.error?.(e))??W(t?.error?.(e))??W(n.customError?.(e))??W(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function K(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}const $=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,v,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Z=N("$ZodError",$),q=N("$ZodError",$,{Parent:Error});function J(e){const t=[],n=e.map(e=>"object"==typeof e?e.key:e);for(const r of n)"number"==typeof r?t.push(`[${r}]`):"symbol"==typeof r?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}const Q=/* @__PURE__ */(e=>(t,n,r,o)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new O;if(s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>Y(e,i,C())));throw D(t,o?.callee),t}return s.value})(q),X=e=>async(t,n,r,o)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>Y(e,i,C())));throw D(t,o?.callee),t}return s.value},ee=/* @__PURE__ */X(q),te=/* @__PURE__ */(e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new O;return i.issues.length?{success:!1,error:new(e??Z)(i.issues.map(e=>Y(e,o,C())))}:{success:!0,data:i.value}})(q),ne=/* @__PURE__ */(e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Y(e,o,C())))}:{success:!0,data:i.value}})(q),re=/^-?\d+(?:\.\d+)?/,oe=/^(?:true|false)$/i,ie=/^undefined$/i,se=/* @__PURE__ */N("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ae={number:"number",bigint:"bigint",object:"date"},ce=/* @__PURE__ */N("$ZodCheckLessThan",(e,t)=>{se.init(e,t);const n=ae[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ue=/* @__PURE__ */N("$ZodCheckGreaterThan",(e,t)=>{se.init(e,t);const n=ae[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pe=/* @__PURE__ */N("$ZodCheckMaxLength",(e,t)=>{var n;se.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!L(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const o=K(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ae=/* @__PURE__ */N("$ZodCheckMinLength",(e,t)=>{var n;se.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!L(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const o=K(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),le=/* @__PURE__ */N("$ZodCheckLengthEquals",(e,t)=>{var n;se.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!L(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,o=r.length;if(o===t.length)return;const i=K(r),s=o>t.length;n.issues.push({origin:i,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),de={major:4,minor:1,patch:12},Re=/* @__PURE__ */N("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=de;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const t of o._zod.onattach)t(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,o=k(e);for(const i of t){if(i._zod.def.when){if(!i._zod.def.when(e))continue}else if(o)continue;const t=e.issues.length,s=i._zod.check(e);if(s instanceof Promise&&!1===n?.async)throw new O;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(o||(o=k(e,t)))});else{if(e.issues.length===t)continue;o||(o=k(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(k(n))return n.aborted=!0,n;const s=t(o,r,i);if(s instanceof Promise){if(!1===i.async)throw new O;return s.then(t=>e._zod.parse(t,i))}return e._zod.parse(s,i)};e._zod.run=(o,i)=>{if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,o,i)):n(t,o,i)}const s=e._zod.parse(o,i);if(s instanceof Promise){if(!1===i.async)throw new O;return s.then(e=>t(e,r,i))}return t(s,r,i)}}e["~standard"]={validate:t=>{try{const n=te(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return ne(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),Ee=/* @__PURE__ */N("$ZodString",(e,t)=>{var n;Re.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),Te=/* @__PURE__ */N("$ZodNumber",(e,t)=>{Re.init(e,t),e._zod.pattern=e._zod.bag.pattern??re,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}const o=n.value;if("number"==typeof o&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i="number"==typeof o?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),_e=/* @__PURE__ */N("$ZodBoolean",(e,t)=>{Re.init(e,t),e._zod.pattern=oe,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Se=/* @__PURE__ */N("$ZodUndefined",(e,t)=>{Re.init(e,t),e._zod.pattern=ie,e._zod.values=/* @__PURE__ */new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(t,n)=>{const r=t.value;return void 0===r||t.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),t}}),he=/* @__PURE__ */N("$ZodAny",(e,t)=>{Re.init(e,t),e._zod.parse=e=>e}),Ie=/* @__PURE__ */N("$ZodDate",(e,t)=>{Re.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(s){}const o=n.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),n}});function ge(e,t,n){e.issues.length&&t.issues.push(...V(n,e.issues)),t.value[n]=e.value}const fe=/* @__PURE__ */N("$ZodArray",(e,t)=>{Re.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let e=0;e<o.length;e++){const s=o[e],a=t.element._zod.run({value:s,issues:[]},r);a instanceof Promise?i.push(a.then(t=>ge(t,n,e))):ge(a,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function me(e,t,n,r){e.issues.length&&t.issues.push(...V(n,e.issues)),void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Ne(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}const Oe=/* @__PURE__ */N("$ZodObject",(e,t)=>{Re.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!n?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const r=P(()=>Ne(t));M(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of r.values)n[t].add(e)}}return n});const o=G,i=t.catchall;let s;e._zod.parse=(t,n)=>{s??(s=r.value);const a=t.value;if(!o(a))return t.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),t;t.value={};const c=[],u=s.shape;for(const e of s.keys){const r=u[e]._zod.run({value:a[e],issues:[]},n);r instanceof Promise?c.push(r.then(n=>me(n,t,e,a))):me(r,t,e,a)}return i?function(e,t,n,r,o,i){const s=[],a=o.keySet,c=o.catchall._zod,u=c.def.type;for(const p of Object.keys(t)){if(a.has(p))continue;if("never"===u){s.push(p);continue}const o=c.run({value:t[p],issues:[]},r);o instanceof Promise?e.push(o.then(e=>me(e,n,p,t))):me(o,n,p,t)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}(c,a,t,n,r.value,e):c.length?Promise.all(c).then(()=>t):t}});function ye(e,t,n,r){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const o=e.filter(e=>!k(e));return 1===o.length?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Y(e,r,C())))}),t)}const Ce=/* @__PURE__ */N("$ZodUnion",(e,t)=>{Re.init(e,t),M(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),M(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),M(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),M(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>U(e.source)).join("|")})$`)}});const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},i);if(t instanceof Promise)a.push(t),s=!0;else{if(0===t.issues.length)return t;a.push(t)}}return s?Promise.all(a).then(t=>ye(t,o,e,i)):ye(a,o,e,i)}}),ve=/* @__PURE__ */N("$ZodDiscriminatedUnion",(e,t)=>{Ce.init(e,t);const n=e._zod.parse;M(e._zod,"propValues",()=>{const e={};for(const n of t.options){const r=n._zod.propValues;if(!r||0===Object.keys(r).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(r)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const r of n)e[t].add(r)}}return e});const r=P(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const r of e){const e=r._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(o,i)=>{const s=o.value;if(!G(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;const a=r.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?n(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o)}}),Pe=/* @__PURE__ */N("$ZodTuple",(e,t)=>{Re.init(e,t);const n=t.items,r=n.length-[...n].reverse().findIndex(e=>"optional"!==e._zod.optin);e._zod.parse=(o,i)=>{const s=o.value;if(!Array.isArray(s))return o.issues.push({input:s,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=[];const a=[];if(!t.rest){const t=s.length>n.length,i=s.length<r-1;if(t||i)return o.issues.push({...t?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},input:s,inst:e,origin:"array"}),o}let c=-1;for(const e of n){if(c++,c>=s.length&&c>=r)continue;const t=e._zod.run({value:s[c],issues:[]},i);t instanceof Promise?a.push(t.then(e=>Le(e,o,c))):Le(t,o,c)}if(t.rest){const e=s.slice(n.length);for(const n of e){c++;const e=t.rest._zod.run({value:n,issues:[]},i);e instanceof Promise?a.push(e.then(e=>Le(e,o,c))):Le(e,o,c)}}return a.length?Promise.all(a).then(()=>o):o}});function Le(e,t,n){e.issues.length&&t.issues.push(...V(n,e.issues)),t.value[n]=e.value}const Ue=/* @__PURE__ */N("$ZodEnum",(e,t)=>{Re.init(e,t);const n=function(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>j.has(typeof e)).map(e=>"string"==typeof e?z(e):e.toString()).join("|")})$`),e._zod.parse=(t,o)=>{const i=t.value;return r.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),be=/* @__PURE__ */N("$ZodLiteral",(e,t)=>{if(Re.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?z(e):e?z(e.toString()):String(e)).join("|")})$`),e._zod.parse=(n,r)=>{const o=n.value;return e._zod.values.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}});function Me(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const He=/* @__PURE__ */N("$ZodOptional",(e,t)=>{Re.init(e,t),e._zod.optin="optional",e._zod.optout="optional",M(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,void 0]):void 0),M(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${U(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Me(t,e.value)):Me(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),we=/* @__PURE__ */N("$ZodCustom",(e,t)=>{se.init(e,t),Re.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(t=>De(t,n,r,e));De(o,n,r,e)}});function De(e,t,n,r){if(!e){const e={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(function(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}(e))}}function Ge(e,t){return new ce({check:"less_than",...F(t),value:e,inclusive:!0})}function je(e,t){return new ue({check:"greater_than",...F(t),value:e,inclusive:!0})}function ze(e,t){return new pe({check:"max_length",...F(t),maximum:e})}function Be(e,t){return new Ae({check:"min_length",...F(t),minimum:e})}function Fe(e,t){return new le({check:"length_equals",...F(t),length:e})}const xe=/* @__PURE__ */N("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Re.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>Q(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>te(e,t,n),e.parseAsync=async(t,n)=>ee(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ne(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),e.clone=(t,n)=>B(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e)}),ke=/* @__PURE__ */N("ZodMiniString",(e,t)=>{Ee.init(e,t),xe.init(e,t)});function Ve(e){return function(e,t){return new e({type:"string",...F(t)})}(ke,e)}const We=/* @__PURE__ */N("ZodMiniNumber",(e,t)=>{Te.init(e,t),xe.init(e,t)});function Ye(e){return function(e,t){return new e({type:"number",checks:[],...F(t)})}(We,e)}const Ke=/* @__PURE__ */N("ZodMiniBoolean",(e,t)=>{_e.init(e,t),xe.init(e,t)});function $e(e){return function(e,t){return new e({type:"boolean",...F(t)})}(Ke,e)}const Ze=/* @__PURE__ */N("ZodMiniUndefined",(e,t)=>{Se.init(e,t),xe.init(e,t)});const qe=/* @__PURE__ */N("ZodMiniAny",(e,t)=>{he.init(e,t),xe.init(e,t)});function Je(){return new qe({type:"any"})}const Qe=/* @__PURE__ */N("ZodMiniDate",(e,t)=>{Ie.init(e,t),xe.init(e,t)});const Xe=/* @__PURE__ */N("ZodMiniArray",(e,t)=>{fe.init(e,t),xe.init(e,t)});function et(e,t){return new Xe({type:"array",element:e,...F(t)})}const tt=/* @__PURE__ */N("ZodMiniObject",(e,t)=>{Oe.init(e,t),xe.init(e,t),M(e,"shape",()=>t.shape)});function nt(e,t){const n={type:"object",shape:e??{},...F(t)};return new tt(n)}function rt(e,t){return x(e,t)}function ot(e,t){return function(e,t){const n=w(t._zod.def,{get shape(){const n=t._zod.def.shape,r={...n};for(const t in n)r[t]=e?new e({type:"optional",innerType:n[t]}):n[t];return H(this,"shape",r),r},checks:[]});return B(t,n)}(Rt,e)}const it=/* @__PURE__ */N("ZodMiniUnion",(e,t)=>{Ce.init(e,t),xe.init(e,t)});function st(e,t){return new it({type:"union",options:e,...F(t)})}const at=/* @__PURE__ */N("ZodMiniDiscriminatedUnion",(e,t)=>{ve.init(e,t),xe.init(e,t)});const ct=/* @__PURE__ */N("ZodMiniTuple",(e,t)=>{Pe.init(e,t),xe.init(e,t)});function ut(e,t,n){const r=t instanceof Re;return new ct({type:"tuple",items:e,rest:r?t:null,...F(r?n:t)})}const pt=/* @__PURE__ */N("ZodMiniEnum",(e,t)=>{Ue.init(e,t),xe.init(e,t),e.options=Object.values(t.entries)});function At(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new pt({type:"enum",entries:n,...F(t)})}const lt=/* @__PURE__ */N("ZodMiniLiteral",(e,t)=>{be.init(e,t),xe.init(e,t)});function dt(e,t){return new lt({type:"literal",values:Array.isArray(e)?e:[e],...F(t)})}const Rt=/* @__PURE__ */N("ZodMiniOptional",(e,t)=>{He.init(e,t),xe.init(e,t)});function Et(e){return new Rt({type:"optional",innerType:e})}const Tt=/* @__PURE__ */N("ZodMiniCustom",(e,t)=>{we.init(e,t),xe.init(e,t)});function _t(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...F(n)})}(Tt,e,t)}const St=ot(nt({apiKey:Ve(),commonBaseURL:Ve(),customServiceBaseURL:Ve(),language:Ve()}));class ht extends Error{constructor(e){super(function(e){const t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(const r of n)t.push(`✖ ${r.message}`),r.path?.length&&t.push(` → at ${J(r.path)}`);return t.join("\n")}(e)),this.issues=e.issues}}const It=async(n,r,o)=>{const i=r.getAPIVersion?.(n),s=e({...n,...i&&{apiVersion:i}});if(void 0===n.validateRequest||n.validateRequest)try{((e,t)=>{const n=(t?.schema?rt(St,t.schema.shape):St).check(_t(e=>"commonBaseURL"in e||"customServiceBaseURL"in e,"commonBaseURL or customServiceBaseURL is required"));let r;if(t?.refinements?.length){r=n;for(const e of t.refinements)r=r.check(_t(e.check,e.message))}const o=(r??n).safeParse(e);if(!o.success)throw new ht(o.error)})(s,r.requestValidation)}catch(u){return Promise.reject(m(u,o))}const a=r.buildRequest(s),c=t(s);n.onAPIRequest?.(a);try{const e=await r.sendRequest(a,c);return n.onAPIResponse?.(a,e),r.parseResponse(await e.data,s)}catch(u){return n.onAPIResponse?.(a,u),Promise.reject(f(u,o,r.parseResponseError))}},gt=async e=>{if(e.ok)return{data:await e.json(),status:e.status};let t,n;const r=e.headers.get("content-type");throw e.bodyUsed?t=e.statusText:r?.includes("application/json")?(n=await e.json(),t=n?.errorText??n?.message??n?.detailedError?.message):r?.includes("text/xml")&&(n=await e.text(),t=e.statusText),{status:e.status,message:t,data:n}},ft=async(e,t)=>gt(await fetch(e,{headers:t})),mt=async(e,t)=>gt(await fetch(e.url,{method:"POST",body:JSON.stringify(e.data),headers:{...t,"Content-Type":"application/json"}})),Nt=et(et(Ye())),Ot=nt({type:At(["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","Circle"]),coordinates:st([et(Ye()),Nt,et(et(et(Ye()))),et(et(et(et(Ye()))))]),radius:Et(Ye()),radiusMeters:Et(Ye()),bbox:Et(et(Ye()))}).check(_t(e=>"Circle"!==e.type||Boolean(e.radius),'type: "Circle" must have radius property')),yt=nt({type:dt("Feature"),geometry:Ot,id:Et(st([Ve(),Ye()])),properties:Je(),bbox:Et(et(Ye()))}),Ct=nt({type:dt("FeatureCollection"),features:et(yt),id:Et(st([Ve(),Ye()])),properties:Je(),bbox:Et(et(Ye()))}),vt=st([ut([Ye().check(je(-180),Ge(180)),Ye().check(je(-90),Ge(90))]),ut([Ye().check(je(-180),Ge(180)),Ye().check(je(-90),Ge(90)),Ye()]),nt({type:dt("Point"),coordinates:et(Ye())}),yt]),Pt=st([et(Ye()).check(Fe(4)),et(Ye()).check(Fe(6))]),Lt=st([Ot,yt,Ct]),Ut=st([Pt,Lt,et(Lt)]),bt=rt(nt({query:Ve()}),ot(nt({position:vt,limit:Ye().check(Ge(100)),radiusMeters:Ye(),countries:et(Ve()),resultType:et(Ve())})).shape);var Mt="object"==typeof global&&global&&global.Object===Object&&global,Ht="object"==typeof self&&self&&self.Object===Object&&self,wt=Mt||Ht||Function("return this")(),Dt=wt.Symbol,Gt=Object.prototype,jt=Gt.hasOwnProperty,zt=Gt.toString,Bt=Dt?Dt.toStringTag:void 0;var Ft=Object.prototype.toString;var xt=Dt?Dt.toStringTag:void 0;function kt(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":xt&&xt in Object(e)?function(e){var t=jt.call(e,Bt),n=e[Bt];try{e[Bt]=void 0;var r=!0}catch(i){}var o=zt.call(e);return r&&(t?e[Bt]=n:delete e[Bt]),o}(e):function(e){return Ft.call(e)}(e)}function Vt(e){return null!=e&&"object"==typeof e}function Wt(e){return"symbol"==typeof e||Vt(e)&&"[object Symbol]"==kt(e)}function Yt(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}var Kt=Array.isArray,$t=Dt?Dt.prototype:void 0,Zt=$t?$t.toString:void 0;function qt(e){if("string"==typeof e)return e;if(Kt(e))return Yt(e,qt)+"";if(Wt(e))return Zt?Zt.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Jt(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Qt(e){if(!Jt(e))return!1;var t=kt(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var Xt,en=wt["__core-js_shared__"],tn=(Xt=/[^.]+$/.exec(en&&en.keys&&en.keys.IE_PROTO||""))?"Symbol(src)_1."+Xt:"";var nn=Function.prototype.toString;function rn(e){if(null!=e){try{return nn.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var on=/^\[object .+?Constructor\]$/,sn=Function.prototype,an=Object.prototype,cn=sn.toString,un=an.hasOwnProperty,pn=RegExp("^"+cn.call(un).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function An(e){return!(!Jt(e)||(t=e,tn&&tn in t))&&(Qt(e)?pn:on).test(rn(e));var t}function ln(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return An(n)?n:void 0}var dn=ln(wt,"WeakMap");var Rn=Date.now;var En,Tn,_n,Sn=function(){try{var e=ln(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),hn=Sn?function(e,t){return Sn(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:function(e){return e},In=(En=hn,Tn=0,_n=0,function(){var e=Rn(),t=16-(e-_n);if(_n=e,t>0){if(++Tn>=800)return arguments[0]}else Tn=0;return En.apply(void 0,arguments)});var gn=/^(?:0|[1-9]\d*)$/;function fn(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&gn.test(e))&&e>-1&&e%1==0&&e<t}function mn(e,t,n){"__proto__"==t&&Sn?Sn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Nn(e,t){return e===t||e!=e&&t!=t}var On=Object.prototype.hasOwnProperty;function yn(e,t,n){var r=e[t];On.call(e,t)&&Nn(r,n)&&(void 0!==n||t in e)||mn(e,t,n)}var Cn=Math.max;function vn(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var Pn=Object.prototype;function Ln(e){return Vt(e)&&"[object Arguments]"==kt(e)}var Un=Object.prototype,bn=Un.hasOwnProperty,Mn=Un.propertyIsEnumerable,Hn=Ln(/* @__PURE__ */function(){return arguments}())?Ln:function(e){return Vt(e)&&bn.call(e,"callee")&&!Mn.call(e,"callee")};var wn="object"==typeof exports&&exports&&!exports.nodeType&&exports,Dn=wn&&"object"==typeof module&&module&&!module.nodeType&&module,Gn=Dn&&Dn.exports===wn?wt.Buffer:void 0,jn=(Gn?Gn.isBuffer:void 0)||function(){return!1},zn={};function Bn(e){return function(t){return e(t)}}zn["[object Float32Array]"]=zn["[object Float64Array]"]=zn["[object Int8Array]"]=zn["[object Int16Array]"]=zn["[object Int32Array]"]=zn["[object Uint8Array]"]=zn["[object Uint8ClampedArray]"]=zn["[object Uint16Array]"]=zn["[object Uint32Array]"]=!0,zn["[object Arguments]"]=zn["[object Array]"]=zn["[object ArrayBuffer]"]=zn["[object Boolean]"]=zn["[object DataView]"]=zn["[object Date]"]=zn["[object Error]"]=zn["[object Function]"]=zn["[object Map]"]=zn["[object Number]"]=zn["[object Object]"]=zn["[object RegExp]"]=zn["[object Set]"]=zn["[object String]"]=zn["[object WeakMap]"]=!1;var Fn="object"==typeof exports&&exports&&!exports.nodeType&&exports,xn=Fn&&"object"==typeof module&&module&&!module.nodeType&&module,kn=xn&&xn.exports===Fn&&Mt.process,Vn=function(){try{var e=xn&&xn.require&&xn.require("util").types;return e||kn&&kn.binding&&kn.binding("util")}catch(t){}}(),Wn=Vn&&Vn.isTypedArray,Yn=Wn?Bn(Wn):function(e){return Vt(e)&&vn(e.length)&&!!zn[kt(e)]};function Kn(e,t){var n=Kt(e),r=!n&&Hn(e),o=!n&&!r&&jn(e),i=!n&&!r&&!o&&Yn(e),s=n||r||o||i,a=s?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],c=a.length;for(var u in e)s&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||fn(u,c))||a.push(u);return a}var $n=Object.prototype.hasOwnProperty;function Zn(e){if(!Jt(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t,n,r=(n=(t=e)&&t.constructor,t===("function"==typeof n&&n.prototype||Pn)),o=[];for(var i in e)("constructor"!=i||!r&&$n.call(e,i))&&o.push(i);return o}function qn(e){return null!=(t=e)&&vn(t.length)&&!Qt(t)?Kn(e):Zn(e);var t}var Jn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qn=/^\w*$/;var Xn=ln(Object,"create");var er=Object.prototype.hasOwnProperty;var tr=Object.prototype.hasOwnProperty;function nr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function rr(e,t){for(var n=e.length;n--;)if(Nn(e[n][0],t))return n;return-1}nr.prototype.clear=function(){this.__data__=Xn?Xn(null):{},this.size=0},nr.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},nr.prototype.get=function(e){var t=this.__data__;if(Xn){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return er.call(t,e)?t[e]:void 0},nr.prototype.has=function(e){var t=this.__data__;return Xn?void 0!==t[e]:tr.call(t,e)},nr.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Xn&&void 0===t?"__lodash_hash_undefined__":t,this};var or=Array.prototype.splice;function ir(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ir.prototype.clear=function(){this.__data__=[],this.size=0},ir.prototype.delete=function(e){var t=this.__data__,n=rr(t,e);return!(n<0)&&(n==t.length-1?t.pop():or.call(t,n,1),--this.size,!0)},ir.prototype.get=function(e){var t=this.__data__,n=rr(t,e);return n<0?void 0:t[n][1]},ir.prototype.has=function(e){return rr(this.__data__,e)>-1},ir.prototype.set=function(e,t){var n=this.__data__,r=rr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var sr=ln(wt,"Map");function ar(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function cr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}cr.prototype.clear=function(){this.size=0,this.__data__={hash:new nr,map:new(sr||ir),string:new nr}},cr.prototype.delete=function(e){var t=ar(this,e).delete(e);return this.size-=t?1:0,t},cr.prototype.get=function(e){return ar(this,e).get(e)},cr.prototype.has=function(e){return ar(this,e).has(e)},cr.prototype.set=function(e,t){var n=ar(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function ur(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var s=e.apply(this,r);return n.cache=i.set(o,s)||i,s};return n.cache=new(ur.Cache||cr),n}ur.Cache=cr;var pr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ar=/\\(\\)?/g,lr=function(e){var t=ur(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(pr,function(e,n,r,o){t.push(r?o.replace(Ar,"$1"):n||e)}),t});function dr(e,t){return Kt(e)?e:function(e,t){if(Kt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Wt(e))||Qn.test(e)||!Jn.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:lr(function(e){return null==e?"":qt(e)}(e))}function Rr(e){if("string"==typeof e||Wt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Er(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}var Tr=Dt?Dt.isConcatSpreadable:void 0;function _r(e){return Kt(e)||Hn(e)||!!(Tr&&e&&e[Tr])}function Sr(e){return(null==e?0:e.length)?function(e,t,n,r,o){var i=-1,s=e.length;for(n||(n=_r),o||(o=[]);++i<s;){var a=e[i];n(a)?Er(o,a):o[o.length]=a}return o}(e):[]}var hr=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),Ir=Function.prototype,gr=Object.prototype,fr=Ir.toString,mr=gr.hasOwnProperty,Nr=fr.call(Object);function Or(e){var t=this.__data__=new ir(e);this.size=t.size}Or.prototype.clear=function(){this.__data__=new ir,this.size=0},Or.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Or.prototype.get=function(e){return this.__data__.get(e)},Or.prototype.has=function(e){return this.__data__.has(e)},Or.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ir){var r=n.__data__;if(!sr||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new cr(r)}return n.set(e,t),this.size=n.size,this};var yr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Cr=yr&&"object"==typeof module&&module&&!module.nodeType&&module,vr=Cr&&Cr.exports===yr?wt.Buffer:void 0;function Pr(){return[]}vr&&vr.allocUnsafe;var Lr=Object.prototype.propertyIsEnumerable,Ur=Object.getOwnPropertySymbols,br=Ur?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var s=e[n];t(s,n,e)&&(i[o++]=s)}return i}(Ur(e),function(t){return Lr.call(e,t)}))}:Pr,Mr=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Er(t,br(e)),e=hr(e);return t}:Pr;function Hr(e){return function(e,t,n){var r=t(e);return Kt(e)?r:Er(r,n(e))}(e,qn,Mr)}var wr=ln(wt,"DataView"),Dr=ln(wt,"Promise"),Gr=ln(wt,"Set"),jr="[object Map]",zr="[object Promise]",Br="[object Set]",Fr="[object WeakMap]",xr="[object DataView]",kr=rn(wr),Vr=rn(sr),Wr=rn(Dr),Yr=rn(Gr),Kr=rn(dn),$r=kt;(wr&&$r(new wr(new ArrayBuffer(1)))!=xr||sr&&$r(new sr)!=jr||Dr&&$r(Dr.resolve())!=zr||Gr&&$r(new Gr)!=Br||dn&&$r(new dn)!=Fr)&&($r=function(e){var t=kt(e),n="[object Object]"==t?e.constructor:void 0,r=n?rn(n):"";if(r)switch(r){case kr:return xr;case Vr:return jr;case Wr:return zr;case Yr:return Br;case Kr:return Fr}return t});var Zr=Object.prototype.hasOwnProperty;var qr=wt.Uint8Array;function Jr(e){var t=new e.constructor(e.byteLength);return new qr(t).set(new qr(e)),t}var Qr=/\w*$/;var Xr=Dt?Dt.prototype:void 0,eo=Xr?Xr.valueOf:void 0;function to(e,t,n){var r,o,i,s,a,c=e.constructor;switch(t){case"[object ArrayBuffer]":return Jr(e);case"[object Boolean]":case"[object Date]":return new c(+e);case"[object DataView]":return a=Jr((s=e).buffer),new s.constructor(a,s.byteOffset,s.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e){var t=Jr(e.buffer);return new e.constructor(t,e.byteOffset,e.length)}(e);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(e);case"[object RegExp]":return(i=new(o=e).constructor(o.source,Qr.exec(o))).lastIndex=o.lastIndex,i;case"[object Symbol]":return r=e,eo?Object(eo.call(r)):{}}}var no=Vn&&Vn.isMap,ro=no?Bn(no):function(e){return Vt(e)&&"[object Map]"==$r(e)};var oo=Vn&&Vn.isSet,io=oo?Bn(oo):function(e){return Vt(e)&&"[object Set]"==$r(e)},so="[object Arguments]",ao="[object Function]",co="[object Object]",uo={};function po(e,t,n,r,o,i){var s;if(n&&(s=o?n(e,r,o,i):n(e)),void 0!==s)return s;if(!Jt(e))return e;var a=Kt(e);if(a)s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Zr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e);else{var c=$r(e),u=c==ao||"[object GeneratorFunction]"==c;if(jn(e))return e.slice();if(c==co||c==so||u&&!o)s={};else{if(!uo[c])return o?e:{};s=to(e,c)}}i||(i=new Or);var p=i.get(e);if(p)return p;i.set(e,s),io(e)?e.forEach(function(r){s.add(po(r,t,n,r,e,i))}):ro(e)&&e.forEach(function(r,o){s.set(o,po(r,t,n,o,e,i))});var A=a?void 0:Hr(e);return function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););}(A||e,function(r,o){A&&(r=e[o=r]),yn(s,o,po(r,t,n,o,e,i))}),s}function Ao(e,t){return t.length<2?e:function(e,t){for(var n=0,r=(t=dr(t,e)).length;null!=e&&n<r;)e=e[Rr(t[n++])];return n&&n==r?e:void 0}(e,function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r<o;)i[r]=e[r+t];return i}(t,0,-1))}function lo(e){return null==e}function Ro(e,t){return null==(e=Ao(e,t=dr(t,e)))||delete e[Rr((n=t,r=null==n?0:n.length,r?n[r-1]:void 0))];var n,r}function Eo(e){return function(e){if(!Vt(e)||"[object Object]"!=kt(e))return!1;var t=hr(e);if(null===t)return!0;var n=mr.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&fr.call(n)==Nr}(e)?void 0:e}uo[so]=uo["[object Array]"]=uo["[object ArrayBuffer]"]=uo["[object DataView]"]=uo["[object Boolean]"]=uo["[object Date]"]=uo["[object Float32Array]"]=uo["[object Float64Array]"]=uo["[object Int8Array]"]=uo["[object Int16Array]"]=uo["[object Int32Array]"]=uo["[object Map]"]=uo["[object Number]"]=uo[co]=uo["[object RegExp]"]=uo["[object Set]"]=uo["[object String]"]=uo["[object Symbol]"]=uo["[object Uint8Array]"]=uo["[object Uint8ClampedArray]"]=uo["[object Uint16Array]"]=uo["[object Uint32Array]"]=!0,uo["[object Error]"]=uo[ao]=uo["[object WeakMap]"]=!1;var To=function(e){return In(function(e,t,n){return t=Cn(void 0===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=Cn(r.length-t,0),s=Array(i);++o<i;)s[o]=r[t+o];o=-1;for(var a=Array(t+1);++o<t;)a[o]=r[o];return a[t]=n(s),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}(e,void 0,Sr),e+"")}(function(e,t){var n={};if(null==e)return n;var r=!1;t=Yt(t,function(t){return t=dr(t,e),r||(r=t.length>1),t}),function(e,t,n){var r=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var s=t[o],a=void 0;void 0===a&&(a=e[s]),r?mn(n,s,a):yn(n,s,a)}}(e,Hr(e),n),r&&(n=po(n,7,Eo));for(var o=t.length;o--;)Ro(n,t[o]);return n});const _o={SPORTS_CENTER:7320,STADIUM:7374,RESTAURANT:7315,CAFE_PUB:9376,HEALTH_CARE_SERVICE:9663,HOSPITAL:7321,HOSPITAL_POLYCLINIC:7321,DOCTOR:9373,SHOP:9361,MARIJUANA_DISPENSARY:9364,MARKET:7332,PUBLIC_AMENITY:9932,ROAD_TRAFFIC_CONTROL_CENTER:7301,POST_OFFICE:7324,COLLEGE_UNIVERSITY:7377,OPEN_PARKING_AREA:7369,CLUB_ASSOCIATION:9937,CAMPING_GROUND:7360,HOLIDAY_RENTAL:7304,VACATION_RENTAL:7304,AMUSEMENT_PARK:9902,RESIDENTIAL_ACCOMMODATION:7303,AGRICULTURAL_BUSINESS:7335,AGRICULTURE:7335,AIRPORT:7383,COMPANY:9352,NIGHTLIFE:9379,REPAIR_SHOP:7310,REPAIR_FACILITY:7310,HOTEL_MOTEL:7314,SCHOOL:7372,AUTOMOTIVE_DEALER:9910,MOVIE_THEATER:7342,CINEMA:7342,THEATER:7318,PARK_RECREATION_AREA:9362,PLACE_OF_WORSHIP:7339,IMPORTANT_TOURIST_ATTRACTION:7376,TOURIST_ATTRACTION:7376,TRAIL_SYSTEM:7302,TRAILS:7302,RAILWAY_STATION:7380,PUBLIC_TRANSPORT_STOP:9942,EXCHANGE:9160,MARINA:7347,WEIGH_STATION:7359,CAR_WASH:9155,LEISURE_CENTER:9378,ACCESS_GATEWAY:7389,GEOGRAPHIC_FEATURE:8099,URBAN_STATION:7380004,ADVENTURE_VEHICLE_TRAIL:7302003,ADVERTISING_COMPANY:9352003,AFGHAN_RESTAURANT:7315081,AFRICAN_RESTAURANT:7315002,AGRICULTURAL_SUPPLIES:9361073,AGRICULTURAL_TECHNOLOGY:9352012,AIRFIELD:7383005,AIRLINE_COMPANY:9352034,AIRLINE_ACCESS:7389002,ALGERIAN_RESTAURANT:7315082,AMBULANCE_UNIT:9663005,AMERICAN_RESTAURANT:7315003,AMPHITHEATER:7318007,AMUSEMENT_ARCADE:9902002,AMUSEMENT_PLACE:9902004,ANIMAL_SERVICES:9361048,ANIMAL_SHELTER:9352045,ANTIQUE_ART_SHOP:9361049,APARTMENT_RENTAL:7304006,AQUATIC_ZOO:9927004,ARABIAN_RESTAURANT:7315083,ARCH:7376012,ARGENTINIAN_RESTAURANT:7315084,ARMENIAN_RESTAURANT:7315085,ART_SCHOOL:7372012,ASHRAM:7339007,ASIAN_RESTAURANT:7315062,ATHLETICS_TRACK:7374002,ATV_DEALER:9910009,AUSTRALIAN_RESTAURANT:7315086,AUSTRIAN_RESTAURANT:7315004,AUTOMOBILE_COMPANY:9352013,AUTOMOBILE_MANUFACTURING:9352041,BAGS_LEATHERWEAR:9361058,BANQUET_ROOMS:7315146,BAR:9379004,BARBECUE_RESTAURANT:7315005,BASEBALL_PARK:7374009,BASKETBALL_ARENA:7374012,BASQUE_RESTAURANT:7315087,BATTLEFIELD:9362002,BAY:8099016,BEACH_CLUB:9937002,BEAUTY_SALON:9361067,BEAUTY_SUPPLIES:9361050,B_B_GUEST_HOUSE:7314002,BELGIAN_RESTAURANT:7315006,BETTING_STATION:9361072,BISTRO:7315007,BLOOD_BANK:9663004,BOAT_DEALER:9910004,BOAT_LAUNCHING_RAMP:9362032,BOATING_EQUIPMENT_ACCESSORIES:9361083,BODYSHOP:7310002,BOLIVIAN_RESTAURANT:7315088,BOOK_SHOP:9361002,BOSNIAN_RESTAURANT:7315089,BOWLING_CENTER:9378002,BRAZILIAN_RESTAURANT:7315072,BRIDGE:7376010,BRIDGE_TUNNEL_OPERATIONS:9352035,BRITISH_RESTAURANT:7315008,BUFFET_RESTAURANT:7315142,BUILDING:7376002,BULGARIAN_RESTAURANT:7315090,BUNGALOW_RENTAL:7304004,BURMESE_RESTAURANT:7315091,BUS_DEALER:9910008,BUS_CHARTER_COMPANY:9352025,BUS_LINES:9352027,BUS_STOP:9942002,BUSINESS_SERVICES:9352039,CABARET_THEATER:7318006,CABINS_LODGES:7314007,CABLE_TELEPHONE_COMPANY:9352040,CAFE:9376002,CAFETERIA:7315147,CALIFORNIAN_RESTAURANT:7315009,CAMBODIAN_RESTAURANT:7315092,CANADIAN_RESTAURANT:7315010,CAPE:8099020,CAR_DEALER:9910002,CAR_GLASS_REPLACEMENT_SHOP:7310003,CARAVAN_SITE:7360003,CARIBBEAN_RESTAURANT:7315011,CATERING_SERVICES:9352043,CAVE:8099003,C_DS_DVD_VIDEOS:9361003,VIDEO_RENTAL_SHOP:9361044,CEMETERY:9362003,CHALET_RENTAL:7304005,CHEMICAL_COMPANY:9352014,CHICKEN_RESTAURANT:7315070,CHILD_CARE_FACILITY:7372003,CHILEAN_RESTAURANT:7315093,CHINESE_RESTAURANT:7315012,CHRISTMAS_HOLIDAY_SHOP:9361082,CHURCH:7339002,CLEANING_SERVICES:9352029,CHILDRENS_CLOTHES:9361004,FOOTWEAR_SHOE_REPAIRS:9361005,CLOTHING_SHOP:9361006,MENS_CLOTHING:9361007,SPECIALTY_CLOTHING_SHOP:9361079,WOMENS_CLOTHING:9361008,COACH_STOP:9942005,COCKTAIL_BAR:9379006,COFFEE_SHOP:9376006,COLOMBIAN_RESTAURANT:7315094,COMEDY_CLUB:9379009,COMPUTER_DATA_SERVICES:9352004,SOFTWARE_COMPANY:9352005,CONCERT_HALL:7318002,CONDOMINIUM_COMPLEX:7303006,CONSTRUCTION_COMPANY:9352032,CONSTRUCTION_MATERIAL_EQUIPMENT:9361042,CONVENIENCE_STORE:9361009,CORSICAN_RESTAURANT:7315095,COTTAGE_RENTAL:7304002,COVE:8099017,CREOLE_RESTAURANT:7315063,CREPERIE:7315013,CRICKET_GROUND:7374003,CUBAN_RESTAURANT:7315096,CULINARY_SCHOOL:7372015,CYPRIOT_RESTAURANT:7315097,CZECH_RESTAURANT:7315068,DAM:7376007,DANCE_STUDIO_SCHOOL:9378003,DANISH_RESTAURANT:7315098,DELICATESSEN:9361060,DINNER_THEATER:7318008,DISCO_CLUB:9379002,DIVERSIFIED_FINANCIALS:9352006,DOMINICAN_RESTAURANT:7315099,DONGBEI_RESTAURANT:7315057,DOUGHNUT_RESTAURANT:7315079,DRIVE_THROUGH_BOTTLE_SHOP:9361076,DRIVE_IN_MOVIES:7342003,DRIVING_SCHOOL:7372016,DRUG_STORE:9361051,DRY_CLEANER:9361010,DUNE:8099005,DUTCH_RESTAURANT:7315014,EGYPTIAN_RESTAURANT:7315100,ELECTRICAL_APPLIANCES_SHOP:9361052,CAMERAS_PHOTOGRAPHY:9361011,COMPUTER_COMPUTER_SUPPLIES:9361012,CONSUMER_ELECTRONICS:9361013,OFFICE_EQUIPMENT:9361014,ENGLISH_RESTAURANT:7315101,EQUIPMENT_RENTAL:9352038,EROTIC_RESTAURANT:7315132,ETHIOPIAN_RESTAURANT:7315102,EXOTIC_RESTAURANT:7315133,FACTORY_OUTLET:9361016,FAIRGROUND:9362017,FARM:7335004,FARMERS_MARKET:7332004,FAST_FOOD:7315015,PHILIPPINE_RESTAURANT:7315016,FINNISH_RESTAURANT:7315104,FISHING_HUNTING_AREA:9362016,FITNESS_CLUB_CENTER:7320002,FLATS_APARTMENT_COMPLEX:7303003,FLORISTS:9361017,FLYING_CLUB:9378004,FONDUE_RESTAURANT:7315134,BAKERY:9361018,BUTCHER:9361019,FISHMONGER:9361020,FOOD_MARKET:9361021,GREENGROCER:9361022,GROCERY_STORE:9361023,OTHER_FOOD_SHOPS:9361024,WINE_SPIRITS:9361025,FOOTBALL_STADIUM:7374010,FOREST_AREA:9362015,FRENCH_RESTAURANT:7315017,FUNERAL_SERVICE_MORTUARIES:9352036,FURNITURE_HOME_FURNISHINGS:9361054,FUSION_RESTAURANT:7315071,CAR_REPAIR_AND_SERVICE:7310004,GENERAL_PRACTITIONER:9373002,GERMAN_RESTAURANT:7315018,GIFTS_CARDS_NOVELTIES_SOUVENIRS:9361026,GLASSWARE_CERAMIC_SHOP:9361055,GOLD_EXCHANGE:9160003,GREEK_RESTAURANT:7315019,GRILL_RESTAURANT:7315020,GUANGDONG_RESTAURANT:7315054,GURUDWARA:7339006,HAIRDRESSER:9361027,HAMBURGER_RESTAURANT:7315069,HARBOR:8099018,HARDWARE_STORE:9361069,HAWAIIAN_RESTAURANT:7315021,HIGH_SCHOOL:7372006,HIKING_TRAIL:7302004,HILL:8099025,HISTORIC_SITE:9362004,HISTORICAL_PARK:9362005,HOBBY_SHOP:9361053,HOCKEY_CLUB:9937003,HOME_APPLIANCE_REPAIR:9352044,HORSE_RACING_TRACK:7374005,HORSE_RIDING_CENTER:7320003,HORTICULTURE:7335002,HOSPITAL_FOR_WOMEN_AND_CHILDREN:7321005,HOSPITAL_OF_CHINESE_MEDICINE:7321004,HOSTEL:7314004,HOT_POT_RESTAURANT:7315058,HOTEL:7314003,CARPET_FLOOR_COVERINGS:9361028,CURTAINS_TEXTILES:9361029,DO_IT_YOURSELF_CENTERS:9361030,HOUSE_GARDEN_FURNITURE_FITTINGS:9361031,GARDEN_CENTERS_SERVICES:9361032,GLASS_WINDOWS_STORE:9361080,KITCHENS_BATHROOMS:9361033,LIGHTING_SHOPS:9361034,PAINTING_DECORATING:9361035,HUNAN_RESTAURANT:7315052,HUNGARIAN_RESTAURANT:7315022,ICE_CREAM_PARLOR:7315078,ICE_HOCKEY_ARENA:7374008,IMPORT_EXPORT_AND_DISTRIBUTION:9352042,INDIAN_RESTAURANT:7315023,INDONESIAN_RESTAURANT:7315024,INFORMAL_MARKET:7332002,INSURANCE_COMPANY:9352007,INTERNATIONAL_RESTAURANT:7315073,INTERNATIONAL_RAILROAD_STATION:7380002,INTERNET_CAFE:9376004,INVESTMENT_ADVISOR:9352037,IRANIAN_RESTAURANT:7315105,IRISH_RESTAURANT:7315065,ISLAND:8099022,ISRAELI_RESTAURANT:7315106,ITALIAN_RESTAURANT:7315025,JAMAICAN_RESTAURANT:7315066,JAPANESE_RESTAURANT:7315026,JAZZ_CLUB:9379008,JEWELRY_CLOCKS_WATCHES:9361036,JEWISH_RESTAURANT:7315027,JUNIOR_COLLEGE_COMMUNITY_COLLEGE:7377003,KARAOKE_CLUB:9379010,KOREAN_RESTAURANT:7315028,KOSHER_RESTAURANT:7315067,LAGOON:8099019,LAKESHORE:9362006,LANGUAGE_SCHOOL:7372010,LATIN_AMERICAN_RESTAURANT:7315029,LAUNDRY:9361045,LEBANESE_RESTAURANT:7315030,LEGAL_SERVICES:9352023,LOCAL_POST_OFFICE:7324003,LOCAL_SPECIALITIES_SHOP:9361056,LOCALE:8099027,LOTTERY_SHOP:9361071,LUXEMBOURGIAN_RESTAURANT:7315107,MACROBIOTIC_RESTAURANT:7315135,MAGHRIB_RESTAURANT:7315108,DELIVERY_SERVICE:9352008,MALTESE_RESTAURANT:7315031,MANUFACTURING_COMPANY:9352011,MARINE_ELECTRONIC_EQUIPMENT:9361065,MARSH:8099023,MAURITIAN_RESTAURANT:7315109,MAUSOLEUM_GRAVE:7376011,MECHANICAL_ENGINEERING:9352016,MEDICAL_SUPPLIES_EQUIPMENT:9361043,MEDITERRANEAN_RESTAURANT:7315032,MEMORIAL:9362007,SUBWAY_STATION:7380005,MEXICAN_RESTAURANT:7315033,MICROBREWERY:9376007,MIDDLE_EASTERN_RESTAURANT:7315034,MIDDLE_SCHOOL:7372014,MILITARY_AIRPORT:7383004,MINERAL_HOT_SPRINGS:8099021,MINING_COMPANY:9352031,MOBILE_PHONE_SHOP:9361075,MONGOLIAN_RESTAURANT:7315110,MONUMENT:7376003,MOROCCAN_RESTAURANT:7315074,MOSQUE:7339003,MOTEL:7314006,MOTOR_RACING_STADIUM:7374011,MOTORCYCLE_DEALER:9910003,MOTORCYCLE_REPAIR:7310008,MOUNTAIN_BIKE_TRAIL:7302002,MOUNTAIN_PEAK:8099002,MOVING_STORAGE_COMPANY:9352033,MULTI_PURPOSE_STADIUM:7374006,MUSIC_CENTER:7318003,MUSIC_INSTRUMENTS_STORE:9361059,MUSSELS_RESTAURANT:7315136,NAIL_SALON:9361068,NATIONAL_RAILROAD_STATION:7380003,NATURAL_RECREATION_ATTRACTION:9362030,NEPALESE_RESTAURANT:7315111,NETBALL_STADIUM:7374014,NEWSAGENTS_TOBACCONISTS:9361037,NORWEGIAN_RESTAURANT:7315112,OASIS:8099011,OBSERVATORY:7376005,OEM:9352021,OIL_NATURAL_GAS:9352030,OPERA_HOUSE:7318004,OPTICIAN:9361038,ORGANIC_FOOD_RESTAURANT:7315075,ORIENTAL_RESTAURANT:7315035,OTHER_REPAIR_SHOPS:7310005,OTHER_WINTER_SPORT:9362025,PAGODA:7339008,PAKISTANI_RESTAURANT:7315127,PAN:8099009,PARK:9362008,PARKWAY:9362009,PASSENGER_TRANSPORT_TICKET_OFFICE:9932002,PAWN_SHOP:9361070,PEDESTRIAN_SUBWAY:9932003,PERSONAL_CARE_FACILITY:9663003,PERSONAL_SERVICE:9663002,PERUVIAN_RESTAURANT:7315061,PET_SUPPLIES:9361064,PHARMACEUTICAL_COMPANY:9352018,PHOTO_LAB_DEVELOPMENT:9361046,PHOTOCOPY_SHOP:9361047,PICNIC_AREA:9362033,PIZZERIA:7315036,PLAIN_FLAT:8099007,PLANETARIUM:7376006,PLATEAU:8099008,POLISH_RESTAURANT:7315037,POLYNESIAN_RESTAURANT:7315129,PORTUGUESE_RESTAURANT:7315038,PRE_SCHOOL:7372004,PRESERVE:9362010,PRIMARY_PRODUCER:7335003,PRIMARY_SCHOOL:7372005,PRIVATE_AIRPORT:7383003,PRIVATE_CLUB:9379003,PROVENCAL_RESTAURANT:7315130,PUB:9376003,PUB_FOOD:7315039,PUBLIC_MARKET:7332003,PUBLIC_AIRPORT:7383002,PUBLIC_CALL_BOX:9932004,PUBLIC_HEALTH_TECHNOLOGY_COMPANY:9352017,PUBLISHING_TECHNOLOGIES:9352019,QUARRY:8099026,RACE_TRACK:7374013,RAILROAD_SIDING:7380006,RAPIDS:8099015,REAL_ESTATE_COMPANY:9352009,REAL_ESTATE_AGENT:9361015,RECREATION_AREA:9362011,RECREATIONAL_CAMPING_GROUND:7360002,RECREATIONAL_VEHICLE_DEALER:9910005,RECYCLING_SHOP:9361057,REEF:8099014,RESERVOIR:8099013,RESIDENTIAL_ESTATE:7303004,RESORT:7314005,REST_CAMP:7314008,RETAIL_OUTLET:9361063,RETIREMENT_COMMUNITY:7303002,RIDGE:8099004,RIVER_CROSSING:8099024,ROAD_RESCUE:9932006,ROADSIDE_RESTAURANT:7315041,ROCK_CLIMBING_TRAIL:7302006,ROCKS:8099012,RUGBY_GROUND:7374007,ROMANIAN_RESTAURANT:7315131,RUSSIAN_RESTAURANT:7315040,SALAD_BAR:7315143,CAR_ACCESSORIES:7310006,SANDWICH_RESTAURANT:7315042,SAUNA_SOLARIUM_MASSAGE:9378005,SAVINGS_INSTITUTION:9352010,SAVOY_RESTAURANT:7315113,SCANDINAVIAN_RESTAURANT:7315114,SCOTTISH_RESTAURANT:7315115,SEAFOOD:7315043,SEASHORE:9362013,SECURED_ENTRANCE:7389004,SECURITY_PRODUCTS:9361078,SENIOR_HIGH_SCHOOL:7372007,SERVICE_COMPANY:9352002,SHANDONG_RESTAURANT:7315053,SHANGHAI_RESTAURANT:7315055,SHOPPING_SERVICE:9361062,SICHUAN_RESTAURANT:7315056,SICILIAN_RESTAURANT:7315116,SKI_RESORT:9362026,SLAVIC_RESTAURANT:7315117,SLOVAK_RESTAURANT:7315080,SNACKS_RESTAURANT:7315139,SNOOKER_POOL_BILLIARD:9378006,SOCCER_STADIUM:7374004,SOUL_FOOD:7315064,SOUP_RESTAURANT:7315140,SPANISH_RESTAURANT:7315044,SPECIAL_HOSPITAL:7321003,SPECIAL_SCHOOL:7372013,SPECIALIST:9373003,SPECIALTY_FOODS:9361061,SPORT_SCHOOL:7372011,SPORTS_EQUIPMENT_CLOTHING:9361039,STAMP_SHOP:9361074,STATION_ACCESS:7389003,STATUE:7376013,STEAK_HOUSE:7315045,STOCK_EXCHANGE:9160002,SUDANESE_RESTAURANT:7315118,SUPERMARKETS_HYPERMARKETS:7332005,SURINAMESE_RESTAURANT:7315046,SUSHI_RESTAURANT:7315148,SWEDISH_RESTAURANT:7315119,SWISS_RESTAURANT:7315047,SYNAGOG:7339004,SYRIAN_RESTAURANT:7315120,TAILOR_SHOP:9361077,TAIWANESE_RESTAURANT:7315059,TAKEOUT_FOOD:7315145,TAPAS_RESTAURANT:7315076,TAX_SERVICES:9352022,TAXI_STAND:9942003,TAXI_LIMOUSINE_SHUTTLE_SERVICE:9352026,TEA_HOUSE:9376005,TECHNICAL_SCHOOL:7372009,TELECOMMUNICATIONS:9352020,TEMPLE:7339005,TEPPANYAKI_RESTAURANT:7315121,THAI_RESTAURANT:7315048,THEMATIC_SPORT_CENTER:7320005,TIBETAN_RESTAURANT:7315122,PUBLIC_TOILET:9932005,TOWER:7376009,TOWNHOUSE_COMPLEX:7303005,TOYS_GAMES_SHOP:9361040,TRAFFIC_SERVICE_CENTER:7301002,TRAFFIC_CONTROL_DEPARTMENT:7301002,STREETCAR_STOP:9942004,TRANSPORT_COMPANY:9352024,TRAVEL_AGENT:9361041,TRUCK_DEALER:9910006,TRUCK_REPAIR_AND_SERVICE:7310009,TRUCK_WASH:9155003,TUNISIAN_RESTAURANT:7315123,TUNNEL:7376008,TURKISH_RESTAURANT:7315049,TIRE_SERVICE:7310007,URUGUAYAN_RESTAURANT:7315124,VALLEY:8099006,VAN_DEALER:9910007,VARIETY_STORE:9361081,VEGETARIAN_RESTAURANT:7315050,VENEZUELAN_RESTAURANT:7315125,VIETNAMESE_RESTAURANT:7315051,VILLA_RENTAL:7304003,VOCATIONAL_SCHOOL:7372008,WATER_HOLE:7376014,WEDDING_SERVICES:9352046,WEIGH_SCALES:7359003,WELL:8099010,WELSH_RESTAURANT:7315126,WESTERN_RESTAURANT:7315060,WHOLESALE_CLUB:9361066,WILDERNESS_AREA:9362014,WILDLIFE_PARK:9927005,WINE_BAR:9379007,YACHT_BASIN:7347003,YOGURT_JUICE_BAR:7315149,ZOO:9927003,ZOOS_ARBORETA_BOTANICAL_GARDEN:9927,ELECTRONICS_COMPANY:9352015,RIVER_SCENIC_AREA:9362036,HORSE_RIDING_TRAIL:7302005,NATURAL_TOURIST_ATTRACTION:7376004,OPEN_CAR_PARKING_AREA:7369002,MEDICINAL_MARIJUANA_DISPENSARY:9364002,RECREATIONAL_MARIJUANA_DISPENSARY:9364003,ICE_SKATING_RINK:9360,TENNIS_COURT:9369,GOLF_COURSE:9911,WATER_SPORT:9371,SWIMMING_POOL:7338,RESTAURANT_AREA:9359,DENTIST:9374,VETERINARIAN:9375,PHARMACY:7326,EMERGENCY_ROOM:9956,DEPARTMENT_STORE:7327,SHOPPING_CENTER:7373,FIRE_STATION_BRIGADE:7392,NON_GOVERNMENTAL_ORGANIZATION:9152,PRISON_CORRECTIONAL_FACILITY:9154,EMBASSY:7365,LIBRARY:9913,TRANSPORT_AUTHORITY_VEHICLE_REGISTRATION:9151,WELFARE_ORGANIZATION:9153,NATIVE_RESERVATION:9389,COURTHOUSE:9363,POLICE_STATION:7322,PRIMARY_RESOURCE_UTILITY:9150,GOVERNMENT_OFFICE:7367,MILITARY_INSTALLATION:9388,RENT_A_CAR_PARKING:9930,MUSEUM:7317,INDUSTRIAL_BUILDING:9383,PARKING_GARAGE:7313,TOURIST_INFORMATION_OFFICE:7316,MEDIA_FACILITY:9158,WINERY:7349,EMERGENCY_MEDICAL_SERVICE:7391,CASINO:7341,MANUFACTURING_FACILITY:9156,COMMERCIAL_BUILDING:9382,CULTURAL_CENTER:7319,EXHIBITION_CONVENTION_CENTER:9377,RENT_A_CAR_FACILITY:7312,TRUCK_STOP:7358,ADVENTURE_SPORTS_FACILITY:7305,ADVENTURE_SPORTS_VENUE:7305,REST_AREA:7395,RESEARCH_FACILITY:9157,COURIER_DROP_BOX:7388,GAS_STATION:7311,PETROL_STATION:7311,FUEL_FACILITIES:7311,MOTORING_ORGANIZATION_OFFICE:7368,CASH_DISPENSER:7397,ATM:7397,COMMUNITY_CENTER:7363,BEACH:9357,PORT_WAREHOUSE_FACILITY:9159,ELECTRIC_VEHICLE_STATION:7309,SCENIC_PANORAMIC_VIEW:7337,ENTERTAINMENT:9900,BUSINESS_PARK:7378,BANK:7328,HELIPAD_HELICOPTER_LANDING:7308,CHECKPOINT:9955,FRONTIER_CROSSING:7366,MOUNTAIN_PASS:9935,TOLL_GATE:7375,FERRY_TERMINAL:7352},So=(e,t)=>{e.append("apiVersion",String(t.apiVersion)),e.append("key",t.apiKey),t.language&&e.append("language",t.language)},ho=(e,t,n)=>{for(const r of n||[])e.append(t,r)},Io=(e,t,n)=>{Array.isArray(n)&&n.length>0&&e.append(t,n.join(","))},go=(e,t,n)=>{!lo(n)&&e.append(t,String(n))},fo=(e,t)=>{const r=n(t);r&&(e.append("lat",String(r[1])),e.append("lon",String(r[0])))},mo="/maps/orbis/places",No=(e,t)=>{const n=e.searchParams;So(n,t),go(n,"limit",t.limit),fo(n,t.position),Io(n,"fuelSet",t.fuelTypes),Io(n,"idxSet",t.indexes),Io(n,"brandSet",t.poiBrands),t.poiCategories&&Io(n,"categorySet",t.poiCategories.map(e=>"number"!=typeof e?_o[e]:e)),Io(n,"connectorSet",t.connectors),Io(n,"mapcodes",t.mapcodes),Io(n,"extendedPostalCodesFor",t.extendedPostalCodesFor),go(n,"minPowerKW",t.minPowerKW),go(n,"maxPowerKW",t.maxPowerKW),go(n,"view",t.view),go(n,"openingHours",t.openingHours),go(n,"timeZone",t.timeZone),go(n,"relatedPois",t.relatedPois),Io(n,"entityTypeSet",t.geographyTypes)},Oo=e=>{const t=new URL(`${n=e,n.customServiceBaseURL||`${n.commonBaseURL}${mo}/autocomplete/${n.query}.json`}`);var n;const r=t.searchParams;return e.language=e.language??"en-GB",So(r,e),go(r,"limit",e.limit),fo(r,e.position),Io(r,"countrySet",e.countries),go(r,"radius",e.radiusMeters),Io(r,"resultSet",e.resultType),t},yo=e=>{const t=e.split(",");return[Number(t[1]),Number(t[0])]},Co=e=>`${e[1]},${e[0]}`,vo=e=>{let t,n;return void 0!==e.topLeftPoint?(t=[e.topLeftPoint.lon,e.btmRightPoint.lat],n=[e.btmRightPoint.lon,e.topLeftPoint.lat]):(t=yo(e.southWest),n=yo(e.northEast)),[t[0],t[1],n[0],n[1]]},Po=e=>[e.lon,e.lat],Lo=e=>{const{position:t,...n}=e.context.geoBias||{};return{...e,context:{...e.context,geoBias:{...t&&{position:Po(t)},radiusMeters:n.radius}}}},Uo={requestValidation:{schema:bt},buildRequest:Oo,sendRequest:ft,parseResponse:Lo},bo=async(e,t)=>It(e,{...Uo,...t},"Autocomplete"),Mo={autocompleteSearch:bo,buildAutocompleteSearchRequest:Oo,parseAutocompleteSearchResponse:Lo,autocompleteSearchTemplate:Uo},Ho=nt({id:Ve()}),wo=e=>{const t=new URL((e=>e.customServiceBaseURL??`${e.commonBaseURL}${mo}/ev/id`)(e)),n=t.searchParams;return So(n,e),n.append("id",e.id),t},Do=e=>{const t={count:0,statusCounts:{}};for(const n of e)for(const e of n.chargingPoints)t.count++,t.statusCounts[e.status]=(t.statusCounts[e.status]||0)+1;return t},Go=(e,t,n)=>{if(e)for(const r of e){const e=n.find(e=>{return t=r,n=e.connector,t.type===n.type&&t.ratedPowerKW===n.ratedPowerKW;var t,n});if(e){if(e.count++,t){const n=e.statusCounts;n[t]=(n[t]||0)+1}}else n.push({connector:r,count:1,statusCounts:t?{[t]:1}:{}})}},jo=e=>{const t=[];return Go(e,void 0,t),t},zo=e=>{const t=[];for(const n of e)for(const e of n.chargingPoints)Go(e.connectors,e.status,t);return t},Bo=e=>{const{year:t,month:n,day:r}=(e=>{const t=e.split("-");return{year:Number.parseInt(t[0]),month:Number.parseInt(t[1]),day:Number.parseInt(t[2])}})(e.date);return{dateYYYYMMDD:e.date,year:t,month:n,day:r,hour:e.hour,minute:e.minute,date:new Date(t,n-1,r,e.hour,e.minute)}},Fo=e=>1===e.length&&0===e[0].start.hour&&0===e[0].end.hour,xo=e=>{const t=e.timeRanges.map(e=>({start:Bo(e.startTime),end:Bo(e.endTime)}));return{mode:e.mode,timeRanges:t,alwaysOpenThisPeriod:Fo(t)}},ko=e=>{const{position:t,entryPoints:n,poi:o,id:i,dist:s,boundingBox:a,chargingPark:c,...u}=e,p=c?.connectors?.map(e=>({...To(e,"connectorType"),type:e.connectorType}));return{...r(Po(t)),...a&&{bbox:vo(a)},id:i,properties:{...To(u,"viewport"),...s&&{distance:s},...n&&{entryPoints:n.map(e=>({...e,position:Po(e.position)}))},...p&&{chargingPark:{...c,connectors:p,connectorCounts:jo(p)}},poi:{...To(o,"categorySet","openingHours"),brands:o?.brands?.map(e=>e.name)??[],categoryIds:o?.categorySet?.map(e=>e.id)??[],...o?.openingHours&&{openingHours:xo(o?.openingHours)}}}}},Vo=e=>{const{geoBias:t,...n}=e;return{...t&&{geoBias:Po(t)},...n}},Wo=e=>{const t=e.results?.[0];return t?{id:t.id,accessType:t.accessType,chargingStations:t.chargingStations,chargingPointAvailability:Do(t.chargingStations),connectorAvailabilities:zo(t.chargingStations),...t.openingHours&&{openingHours:xo(t.openingHours)}}:void 0},Yo={requestValidation:{schema:Ho},buildRequest:wo,sendRequest:ft,parseResponse:Wo,parseResponseError:(e,t)=>{const n=e.data?.detailedError?.message??e.message;return new I(n,t,e.status)}},Ko={buildEVChargingStationsAvailabilityRequest:wo,parseEVChargingStationsAvailabilityResponse:Wo,evChargingStationsAvailabilityTemplate:Yo},$o=ot(nt({typeahead:$e(),offset:Ye().check(Ge(1900)),radiusMeters:Ye(),boundingBox:Ut,countries:et(Ve())})),Zo=rt(nt({query:Ve()}),ot(nt({position:vt,limit:Ye().check(Ge(100)),extendedPostalCodesFor:et(Ve()),mapcodes:et(Ve()),view:At(o),geographyTypes:et(Ve())})).shape),qo=rt(Zo,$o.shape),Jo=e=>e?Array.isArray(e)?e.join(","):"string"==typeof e?e:String(e):"",Qo=(e,t)=>{const n=e.length;if(n<=t)return e;const r=[];let o;const i=Math.ceil(n/t);for(o=0;o<n;o+=i)r.push(e[o]);return o>=n-i&&(r.length<t?r.push(e[n-1]):r[r.length-1]=e[n-1]),r},Xo=e=>{const t=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${mo}/geocode`)(e)}/${e.query}.json`),n=t.searchParams;So(n,e),e.typeahead&&n.append("typeahead",String(e.typeahead)),!lo(e.limit)&&n.append("limit",String(e.limit)),!lo(e.offset)&&n.append("ofs",String(e.offset)),fo(n,e.position),e.countries&&n.append("countrySet",Jo(e.countries)),!lo(e.radiusMeters)&&n.append("radius",String(e.radiusMeters));const r=e.boundingBox&&i(e.boundingBox);return r&&(n.append("topLeft",Jo([r[3],r[0]])),n.append("btmRight",Jo([r[1],r[2]]))),e.extendedPostalCodesFor&&n.append("extendedPostalCodesFor",Jo(e.extendedPostalCodesFor)),e.mapcodes&&n.append("mapcodes",Jo(e.mapcodes)),e.view&&n.append("view",e.view),e.geographyTypes&&n.append("entityTypeSet",Jo(e.geographyTypes)),t},ei=e=>{const{position:t,boundingBox:n,dist:o,entryPoints:i,addressRanges:s,entityType:a,id:c,...u}=e;return{...r(Po(t)),...n&&{bbox:vo(n)},id:c,properties:{...To(u,"viewport"),...o&&{distance:o},...a&&{geographyType:a.split(",")},...i&&{entryPoints:i.map(e=>({...e,position:Po(e.position)}))},...s&&{addressRanges:{...s,from:Po(s.from),to:Po(s.to)}}}}},ti=e=>{const t=e.results.map(ei),n=s(i(t));return{type:"FeatureCollection",features:t,...n&&{bbox:n}}},ni={requestValidation:{schema:qo},buildRequest:Xo,sendRequest:ft,parseResponse:ti},ri={buildGeocodingRequest:Xo,parseGeocodingResponse:ti,geocodingTemplate:ni},oi=rt(nt({geometries:st([Ct,et(st([Ve(),yt])).check(Be(1),ze(20))])}),ot(nt({zoom:Ye().check(je(0),Ge(22))})).shape),ii=e=>e.map(e=>e.properties.dataSources?.geometry?.id).filter(e=>e),si=e=>{const t=new URL((e=>e.customServiceBaseURL||`${e.commonBaseURL}${mo}/additionalData.json`)(e)),n=t.searchParams;return n.append("apiVersion",String(e.apiVersion)),n.append("key",e.apiKey),((e,t)=>{let n;n=Array.isArray(t)?"string"==typeof t[0]?t:ii(t):ii(t.features),e.append("geometries",Jo(n))})(n,e.geometries),go(n,"geometriesZoom",e.zoom),t},ai=e=>{const t=e.additionalData.flatMap(e=>e.geometryData?.features.map(e=>({...e,bbox:i(e.geometry)}))).filter(e=>e);return{type:"FeatureCollection",bbox:i(t),features:t}},ci={requestValidation:{schema:oi},buildRequest:si,sendRequest:ft,parseResponse:ai},ui={buildGeometryDataRequest:si,parseGeometryDataResponse:ai,geometryDataTemplate:ci},pi=nt(_o),Ai=rt(Zo,ot(nt({indexes:et(Ve()),poiCategories:et(st([Ye(),function(e){const t=e._zod.def.shape;return At(Object.keys(t))}(pi)])),poiBrands:et(Ve()),connectors:et(Ve()),fuelTypes:et(Ve()),openingHours:Ve(),timeZone:Ve(),relatedPois:Ve(),minPowerKW:Ye(),maxPowerKW:Ye(),minFuzzyLevel:Ye(),mixFuzzyLevel:Ye()})).shape),li=rt(Ai,nt({geometries:et(st([Ct,Ot]))}).shape),di=e=>{switch(e.type){case"Circle":return[{type:"CIRCLE",radius:e.radius,position:Co(e.coordinates)}];case"Polygon":return[{type:"POLYGON",vertices:Qo(e.coordinates[0],50).map(e=>Co(e))}];case"MultiPolygon":return e.coordinates.length>50?(e=>{let t=/* @__PURE__ */new Map;return e.coordinates.forEach(e=>{const n=a(e[0]);if(n){const r=Math.abs((n[2]-n[0])*(n[3]-n[1]));t.set(e,r)}}),t=new Map([...t.entries()].sort((e,t)=>t[1]-e[1]).splice(0,50)),[...t.keys()]})(e).flatMap(e=>di({type:"Polygon",coordinates:e})):e.coordinates.flatMap(e=>di({type:"Polygon",coordinates:e}));case"FeatureCollection":return e.features.flatMap(e=>di(e.geometry));default:throw new Error(`Type ${e.type} is not supported`)}},Ri=e=>{const t=new URL(`${n=e,n.customServiceBaseURL??`${n.commonBaseURL}${mo}/geometrySearch/${n.query}.json`}`);var n;return No(t,e),{url:t,data:{geometryList:e.geometries.flatMap(di)}}},Ei=e=>{const t=e.results.map(ko),n=s(i(t));return{type:"FeatureCollection",properties:{...Vo(e.summary)},features:t,...n&&{bbox:n}}},Ti={requestValidation:{schema:li},buildRequest:Ri,sendRequest:mt,parseResponse:Ei},_i=async(e,t)=>It(e,{...Ti,...t},"GeometrySearch"),Si={geometrySearch:_i,buildGeometrySearchRequest:Ri,parseGeometrySearchResponse:Ei,geometrySearchTemplate:Ti},hi=rt(nt({entityId:Ve()}),ot(nt({mapcodes:et(Ve()),view:At(o),openingHours:Ve(),timeZone:Ve(),relatedPois:Ve()})).shape),Ii=e=>{const t=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${mo}/place.json`)(e)}`),n=t.searchParams;return So(n,e),go(n,"entityId",e.entityId),Io(n,"mapcodes",e.mapcodes),go(n,"view",e.view),go(n,"openingHours",e.openingHours),go(n,"timeZone",e.timeZone),go(n,"relatedPois",e.relatedPois),t},gi=e=>e.results?.length?ko(e.results[0]):void 0,fi={requestValidation:{schema:hi},buildRequest:Ii,sendRequest:ft,parseResponse:gi},mi={buildPlaceByIdRequest:Ii,parsePlaceByIdResponse:gi,placeByIdTemplate:fi},Ni=Ye().check(function(e,t){return new ue({check:"greater_than",...F(t),value:e,inclusive:!1})}(0,Oi));var Oi;const yi=Ye().check(je(0)),Ci=Ye().check(je(0),Ge(100)),vi=Et(Ni),Pi=Et(yi),Li=Et(Ye().check(je(0),Ge(1))),Ui=nt({speedKMH:Ye(),consumptionUnitsPer100KM:Ye()}),bi={efficiency:Et(nt({acceleration:Li,deceleration:Li,uphill:Li,downhill:Li}))},Mi=et(Ui).check(Be(1),ze(25)),Hi=nt({...bi,speedsToConsumptionsLiters:Mi,auxiliaryPowerInLitersPerHour:Pi,fuelEnergyDensityInMJoulesPerLiter:Et(Ye().check(je(1)))}),wi=nt({...bi,speedsToConsumptionsKWH:Mi,auxiliaryPowerInkW:Pi,consumptionInKWHPerKMAltitudeGain:Et(Ye().check(Ge(500))),recuperationInKWHPerKMAltitudeLoss:Pi}),Di=nt({currentType:At(u),plugTypes:et(At(c)).check(Be(1)),efficiency:Li,baseLoadInkW:Pi,maxPowerInkW:Pi,maxVoltageInV:Pi,maxCurrentInA:Pi,voltageRange:Et(nt({minVoltageInV:Pi,maxVoltageInV:Et(Ye())}))}),Gi=nt({stateOfChargeInkWh:yi,maxPowerInkW:Ni}),ji=nt({maxChargeKWH:Ni,batteryCurve:Et(et(Gi).check(ze(20))),chargingConnectors:Et(et(Di).check(Be(1))),chargingTimeOffsetInSec:Pi}),zi=nt({consumption:Hi}),Bi=nt({consumption:wi,charging:Et(ji)}),Fi=Et(nt({lengthMeters:vi,widthMeters:vi,heightMeters:vi,weightKG:vi,axleWeightKG:vi})),xi=nt({variantId:Ve()}),ki=nt({dimensions:Fi,engine:Et(st([zi,Bi]))}),Vi=Et(st([xi,ki])),Wi=nt({heading:Et(Ye().check(je(0),Ge(360)))}),Yi=rt(Wi,nt({currentFuelInLiters:yi}).shape),Ki=st([rt(Wi,nt({currentChargePCT:Ci}).shape),rt(Wi,nt({currentChargeInkWh:yi}).shape)]),$i=nt({minChargeAtDestinationPCT:Ci,minChargeAtChargingStopsPCT:Ye().check(je(0),Ge(50))}),Zi=nt({minChargeAtDestinationInkWh:yi,minChargeAtChargingStopsInkWh:yi}),qi=nt({chargingPreferences:Et(st([$i,Zi]))}),Ji={model:Vi,restrictions:Et(nt({loadTypes:Et(et(At(["USHazmatClass1","USHazmatClass2","USHazmatClass3","USHazmatClass4","USHazmatClass5","USHazmatClass6","USHazmatClass7","USHazmatClass8","USHazmatClass9","otherHazmatExplosive","otherHazmatGeneral","otherHazmatHarmfulToWater"]))),maxSpeedKMH:Et(Ye().check(je(0),Ge(250))),adrCode:Et(At(["B","C","D","E"])),commercial:Et($e())}))},Qi=nt({...Ji,engineType:function(e){return function(e,t){return new e({type:"undefined",...F(t)})}(Ze,e)}(),state:Et(Wi),preferences:Et(nt({}))}),Xi=st([function(e,t,n){return new at({type:"union",options:t,discriminator:e,...F(n)})}("engineType",[nt({...Ji,engineType:dt("combustion"),state:Et(Yi),preferences:Et(nt({}))}),nt({...Ji,engineType:dt("electric"),state:Et(Ki),preferences:Et(qi)})]),Qi]),es=ot(nt({costModel:ot(nt({avoid:et(At(p)),traffic:Et(At(["live","historical"])),routeType:Et(At(["fast","short","efficient","thrilling"])),thrillingParams:Et(nt({hilliness:Et(At(["low","normal","high"])),windingness:Et(At(["low","normal","high"]))}))})),travelMode:Ve(),vehicle:Xi,when:nt({option:At(["departAt","arriveBy"]),date:function(e){return function(e,t){return new e({type:"date",...F(t)})}(Qe,e)}()})})),ts=rt(es,rt(nt({origin:vt,budget:nt({type:At(["timeMinutes","remainingChargeCPT","spentChargePCT","spentFuelLiters","distanceKM"]),value:Ye().check(je(0))})}),nt({maxFerryLengthMeters:Et(Ye().check(je(0)))}).shape).shape),ns=e=>e.map(e=>`${e.speedKMH},${e.consumptionUnitsPer100KM}`).join(":"),rs=(e,t,n)=>{((e,t)=>{t&&(!lo(t.acceleration)&&e.append("accelerationEfficiency",String(t.acceleration)),!lo(t.deceleration)&&e.append("decelerationEfficiency",String(t.deceleration)),!lo(t.uphill)&&e.append("uphillEfficiency",String(t.uphill)),!lo(t.downhill)&&e.append("downhillEfficiency",String(t.downhill)))})(e,n.consumption.efficiency),"electric"===t?(((e,t)=>{t.speedsToConsumptionsKWH&&e.append("constantSpeedConsumptionInkWhPerHundredkm",ns(t.speedsToConsumptionsKWH)),!lo(t.auxiliaryPowerInkW)&&e.append("auxiliaryPowerInkW",String(t.auxiliaryPowerInkW)),!lo(t.consumptionInKWHPerKMAltitudeGain)&&e.append("consumptionInkWhPerkmAltitudeGain",String(t.consumptionInKWHPerKMAltitudeGain)),!lo(t.recuperationInKWHPerKMAltitudeLoss)&&e.append("recuperationInkWhPerkmAltitudeLoss",String(t.recuperationInKWHPerKMAltitudeLoss))})(e,n.consumption),((e,t)=>{const n=t.charging;n?.maxChargeKWH&&e.append("maxChargeInkWh",String(n.maxChargeKWH))})(e,n)):((e,t)=>{const n=t.consumption;n.speedsToConsumptionsLiters&&e.append("constantSpeedConsumptionInLitersPerHundredkm",ns(n.speedsToConsumptionsLiters)),!lo(n.auxiliaryPowerInLitersPerHour)&&e.append("auxiliaryPowerInLitersPerHour",String(n.auxiliaryPowerInLitersPerHour)),!lo(n.fuelEnergyDensityInMJoulesPerLiter)&&e.append("fuelEnergyDensityInMJoulesPerLiter",String(n.fuelEnergyDensityInMJoulesPerLiter))})(e,n)},os=(e,t)=>{t.model&&("variantId"in t.model?e.append("vehicleModelId",t.model.variantId):(((e,t)=>{t&&(t.lengthMeters&&e.append("vehicleLength",String(t.lengthMeters)),t.heightMeters&&e.append("vehicleHeight",String(t.heightMeters)),t.widthMeters&&e.append("vehicleWidth",String(t.widthMeters)),t.weightKG&&e.append("vehicleWeight",String(t.weightKG)),t.axleWeightKG&&e.append("vehicleAxleWeight",String(t.axleWeightKG)))})(e,t.model.dimensions),t.model.engine&&rs(e,"engineType"in t?t.engineType:void 0,t.model.engine)))},is=(e,t)=>{t&&("electric"===t.engineType&&e.append("vehicleEngineType","electric"),os(e,t),((e,t)=>{if(t.state&&(t.state.heading&&e.append("vehicleHeading",String(t.state.heading)),"engineType"in t))if("combustion"===t.engineType){const n=t.state;n.currentFuelInLiters&&e.append("currentFuelInLiters",String(n.currentFuelInLiters))}else if("electric"===t.engineType){const n=t.state,r=n,o=n;if(r.currentChargeInkWh)e.append("currentChargeInkWh",String(r.currentChargeInkWh));else if(o.currentChargePCT&&t.model&&"engine"in t.model&&t.model.engine){const n=t.model.engine,r=n.charging?.maxChargeKWH;r&&e.append("currentChargeInkWh",String(r*o.currentChargePCT/100))}}})(e,t),((e,t)=>{if(t.preferences&&"engineType"in t&&"electric"===t.engineType){const n=t.preferences;if(n.chargingPreferences){const r=n.chargingPreferences,o=r,i=r;if(o.minChargeAtChargingStopsInkWh||o.minChargeAtDestinationInkWh)e.append("minChargeAtDestinationInkWh",String(o.minChargeAtDestinationInkWh)),e.append("minChargeAtChargingStopsInkWh",String(o.minChargeAtChargingStopsInkWh));else if((i.minChargeAtChargingStopsPCT||i.minChargeAtDestinationPCT)&&t.model&&"engine"in t.model&&t.model.engine){const n=t.model.engine,r=n.charging?.maxChargeKWH;r&&(e.append("minChargeAtDestinationInkWh",String(r*i.minChargeAtDestinationPCT/100)),e.append("minChargeAtChargingStopsInkWh",String(r*i.minChargeAtChargingStopsPCT/100)))}}}})(e,t),((e,t)=>{const n=t.restrictions;n&&(ho(e,"vehicleLoadType",n.loadTypes),n.adrCode&&e.append("vehicleAdrTunnelRestrictionCode",n.adrCode),n.commercial&&e.append("vehicleCommercial",String(n.commercial)),n.maxSpeedKMH&&e.append("vehicleMaxSpeed",String(n.maxSpeedKMH)))})(e,t))},ss=(e,t)=>{const n=t.costModel;ho(e,"avoid",n?.avoid),go(e,"traffic",n?.traffic),((e,t)=>{if(t?.date){const n=t.date.toISOString();"departAt"===t.option?e.append("departAt",n):"arriveBy"===t.option&&e.append("arriveAt",n)}})(e,t.when),go(e,"routeType",n?.routeType),go(e,"travelMode",t.travelMode),is(e,t.vehicle)},as=e=>{const t=new URL((e=>e.customServiceBaseURL||`${e.commonBaseURL}/routing/1/calculateReachableRange/${Co(A(e.origin))}/json`)(e)),n=t.searchParams;return So(n,e),ss(n,e),go(n,"maxFerryLengthInMeters",e.maxFerryLengthMeters),t},cs=(e,t)=>{const n={type:"Polygon",coordinates:[e.reachableRange.boundary.map(e=>[e.longitude,e.latitude])]};return{type:"Feature",geometry:n,bbox:i(n),properties:t}},us={buildReachableRangeRequest:as,parseReachableRangeResponse:cs,reachableRangeTemplate:{requestValidation:{schema:ts},buildRequest:as,sendRequest:ft,parseResponse:cs}},ps=e=>{const t=A(e.position),n=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${mo}/reverseGeocode`)(e)}/${t[1]},${t[0]}.json`),r=n.searchParams;return So(r,e),e.allowFreeformNewline&&r.append("allowFreeformNewline",String(e.allowFreeformNewline)),e.geographyType&&r.append("entityType",Jo(e.geographyType)),!lo(e.heading)&&r.append("heading",String(e.heading)),e.mapcodes&&r.append("mapcodes",Jo(e.mapcodes)),e.number&&r.append("number",e.number),!lo(e.radiusMeters)&&r.append("radius",String(e.radiusMeters)),e.returnSpeedLimit&&r.append("returnSpeedLimit",String(e.returnSpeedLimit)),e.returnRoadUse&&r.append("returnRoadUse",String(e.returnRoadUse)),e.roadUses&&r.append("roadUse",JSON.stringify(e.roadUses)),n},As=(e,t)=>{const n=r(A(t.position)),o=e.addresses[0],{boundingBox:i,sideOfStreet:s,offsetPosition:a,...c}=o?.address||{};return{...n,...i&&{bbox:vo(i)},id:l(),...o&&{properties:{type:o?.entityType?"Geography":c.streetNumber?"Point Address":"Street",address:c,...o.dataSources&&{dataSources:o.dataSources},...o.mapcodes&&{mapcodes:o.mapcodes},...s&&{sideOfStreet:s},...a&&{offsetPosition:yo(a)},originalPosition:yo(o.position)}}}},ls={requestValidation:{schema:rt(nt({position:vt}),ot(nt({allowFreeformNewline:$e(),geographyType:et(Ve()),heading:Ye().check(je(-360),Ge(360)),mapcodes:et(Ve()),number:Ve(),radiusMeters:Ye(),returnMatchType:$e(),returnRoadUse:$e(),returnSpeedLimit:$e(),roadUses:et(Ve()),view:At(o)})).shape)},buildRequest:ps,sendRequest:ft,parseResponse:As},ds={buildRevGeoRequest:ps,parseRevGeoResponse:As,reverseGeocodingTemplate:ls},Rs=st([vt,Ot]),Es=st([Nt,yt]),Ts=rt(es,rt(nt({locations:et(st([Rs,Es])).check(Be(1))}),ot(nt({computeAdditionalTravelTimeFor:At(["none","all"]),vehicleHeading:Ye().check(je(0),Ge(359.5)),maxAlternatives:Ye().check(je(0),Ge(5)),sectionTypes:et(At(R))})).shape).shape),_s=e=>e.vehicle?.preferences?.chargingPreferences,Ss=e=>Array.isArray(e)?e:e.geometry.coordinates,hs=(e,t,n)=>((e,t)=>e.map(e=>{const n=Co(A(e,{useEntryPoint:t})),r=(e=>e.properties||null)(e)?.radiusMeters;return r?`circle(${n},${r})`:n}).join(":"))(t.includes("path")?((e,t,n)=>{let r;const o=e[0];r="path"===t[0]?Ss(o)[0]:A(o,{useEntryPoint:n});const i=e[e.length-1];let s;if("path"===t[t.length-1]){const e=Ss(i);s=e[e.length-1]}else s=A(i,{useEntryPoint:n});return[r,s]})(e,t,n):e,n),Is=e=>({latitude:e[1],longitude:e[0]}),gs=(e,t,n)=>{const r=[],o=[];return e.forEach((i,s)=>{"path"===t[s]?((e,t,n,r,o)=>{const i=r.length;for(const s of Ss(e))r.push(Is(s));Array.isArray(e)||(e.properties.sections.leg.forEach((e,n)=>{(t>0||n>0)&&o.push({supportingPointIndex:i+e.startPointIndex,waypointSourceType:"USER_DEFINED"})}),t<n.length-1&&o.push({supportingPointIndex:i+e.geometry.coordinates.length-1,waypointSourceType:"USER_DEFINED"}))})(i,s,e,r,o):((e,t,n,r,o,i)=>{r.push(Is(A(e,{useEntryPoint:i}))),t>0&&t<n.length-1&&o.push({supportingPointIndex:r.length-1,waypointSourceType:"USER_DEFINED"})})(i,s,e,r,o,n)}),{supportingPoints:r,...o.length&&{pointWaypoints:o}}},fs=e=>{const t=e.locations.map(d),n=e.useEntryPoints??"main-when-available",r=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}/maps/orbis/routing/${_s(e)?"calculateLongDistanceEVRoute":"calculateRoute"}`)(e)}/${hs(e.locations,t,n)}/json`),o=r.searchParams;So(o,e),"language"in e||o.append("language","en-GB"),ss(o,e),go(o,"computeTravelTimeFor",e.computeAdditionalTravelTimeFor),((e,t)=>{if(t?.guidance){const n=t.guidance;e.append("instructionsType",n.type),e.append("guidanceVersion",String(n.version??2)),e.append("instructionPhonetics",n.phonetics??"IPA"),e.append("instructionRoadShieldReferences",n.roadShieldReferences??"all"),e.append("language",t.language??"en-US")}})(o,e),!lo(e.maxAlternatives)&&o.append("maxAlternatives",String(e.maxAlternatives)),((e,t,n)=>{const r=(t??(n?R:E)).map(e=>"vehicleRestricted"===e?"travelMode":e);ho(e,"sectionType",r)})(o,e.sectionTypes,!!e.guidance?.type);for(const s of e.extendedRouteRepresentations??["distance","travelTime"])o.append("extendedRouteRepresentation",s);const i=((e,t,n)=>{const r=t.includes("path"),o=!!_s(e);if(!r&&!o)return null;const i=e.vehicle?.model,s=i?.engine?.charging;return{...r&&gs(e.locations,t,n),...o&&s&&{chargingParameters:To(s,"maxChargeKWH")}}})(e,t,n);return i?{method:"POST",url:r,data:i}:{method:"GET",url:r}},ms=e=>{switch(e){case"Direct_Current":return"DC";case"Alternating_Current_1_Phase":return"AC1";case"Alternating_Current_3_Phase":return"AC3";default:return}},Ns=e=>e<12?"slow":e<50?"regular":e<150?"fast":"ultra-fast",Os=(e,t)=>{const n=e.chargingConnectionInfo,r=e.chargingParkLocation,o=[r.coordinate.longitude,r.coordinate.latitude],i=[r.street,r.houseNumber].filter(Boolean),s=i.length>0?i.join(", "):"";return{type:"Feature",id:e.chargingParkId,geometry:{type:"Point",coordinates:o},properties:{...To(e,["chargingConnectionInfo","chargingParkLocation"]),type:"POI",address:{freeformAddress:s,...r.street&&{streetName:r.street},...r.houseNumber&&{streetNumber:r.houseNumber},...r.city&&{municipality:r.city},...r.region&&{countrySubdivision:r.region},...r.postalCode&&{postalCode:r.postalCode},...r.country&&{country:r.country}},...n&&{chargingConnectionInfo:{plugType:n.chargingPlugType,currentInA:n.chargingCurrentInA,voltageInV:n.chargingVoltageInV,chargingPowerInkW:n.chargingPowerInkW,currentType:ms(n.chargingCurrentType),chargingSpeed:Ns(n.chargingPowerInkW)}},...t&&{targetChargeInPCT:100*e.targetChargeInkWh/t},...e.chargingParkPowerInkW&&{chargingParkSpeed:Ns(e.chargingParkPowerInkW)}}}},ys=(e,t)=>{const n=t?.vehicle?.model?.engine?.charging?.maxChargeKWH;return{...e,departureTime:new Date(e.departureTime),arrivalTime:new Date(e.arrivalTime),...n&&e.batteryConsumptionInkWh&&{batteryConsumptionInPCT:100*e.batteryConsumptionInkWh/n},...n&&e.remainingChargeAtArrivalInkWh&&{remainingChargeAtArrivalInPCT:100*e.remainingChargeAtArrivalInkWh/n},...e.chargingInformationAtEndOfLeg&&{chargingInformationAtEndOfLeg:Os(e.chargingInformationAtEndOfLeg,n)}}},Cs=(e,t)=>e.reduce((e,n,r)=>{const o=0===r?0:e[r-1]?.endPointIndex;let i;return lo(o)||(i=0===o?n.points?.length>0?n.points.length-1:0:o+n.points?.length),e.push({...!lo(o)&&{startPointIndex:o},...i&&{endPointIndex:i},summary:ys(n.summary,t),id:l()}),e},[]),vs=e=>({id:l(),startPointIndex:e.startPointIndex,endPointIndex:e.endPointIndex}),Ps=e=>({...vs(e),index:e.importantRoadStretchIndex,streetName:e.streetName?.text,roadNumbers:e.roadNumbers}),Ls=e=>({...vs(e),countryCodeISO3:e.countryCode}),Us=e=>"other"===e.travelMode?vs(e):null,bs=e=>{if(e.tec?.causes?.length)return e.tec.causes.map(e=>(e=>{switch(e){case 1:return"jam";case 2:return"accident";case 3:return"roadworks";case 4:return"narrow-lanes";case 5:return"road-closed";case 9:return"danger";case 11:return"animals-on-road";case 13:return"broken-down-vehicle";case 16:return"lane-closed";case 17:return"wind";case 18:return"fog";case 19:return"rain";case 22:return"frost";case 23:return"flooding";default:return"other"}})(e.mainCauseCode));switch(e.simpleCategory){case"JAM":return["jam"];case"ROAD_WORK":return["roadworks"];case"ROAD_CLOSURE":return["road-closed"];default:return["other"]}},Ms=e=>({...vs(e),delayInSeconds:e.delayInSeconds,effectiveSpeedInKmh:e.effectiveSpeedInKmh,categories:bs(e),magnitudeOfDelay:T[e.magnitudeOfDelay],tec:e.tec}),Hs=e=>({...vs(e),lanes:e.lanes,laneSeparators:e.laneSeparators,properties:e.properties}),ws=e=>({...vs(e),maxSpeedLimitInKmh:e.maxSpeedLimitInKmh}),Ds=e=>({...vs(e),roadShieldReferences:e.roadShieldReferences}),Gs=(e,t)=>(t[e]||(t[e]=[]),t[e]),js=e=>{switch(e.sectionType){case"CAR_TRAIN":return{sectionType:"carTrain",mappingFunction:vs};case"COUNTRY":return{sectionType:"country",mappingFunction:Ls};case"FERRY":return{sectionType:"ferry",mappingFunction:vs};case"MOTORWAY":return{sectionType:"motorway",mappingFunction:vs};case"PEDESTRIAN":return{sectionType:"pedestrian",mappingFunction:vs};case"TOLL_VIGNETTE":return{sectionType:"tollVignette",mappingFunction:Ls};case"TOLL":return{sectionType:"toll",mappingFunction:vs};case"TRAFFIC":return{sectionType:"traffic",mappingFunction:Ms};case"TRAVEL_MODE":return{sectionType:"vehicleRestricted",mappingFunction:Us};case"TUNNEL":return{sectionType:"tunnel",mappingFunction:vs};case"UNPAVED":return{sectionType:"unpaved",mappingFunction:vs};case"URBAN":return{sectionType:"urban",mappingFunction:vs};case"CARPOOL":return{sectionType:"carpool",mappingFunction:vs};case"LOW_EMISSION_ZONE":return{sectionType:"lowEmissionZone",mappingFunction:vs};case"LANES":return{sectionType:"lanes",mappingFunction:Hs};case"SPEED_LIMIT":return{sectionType:"speedLimit",mappingFunction:ws};case"ROAD_SHIELDS":return{sectionType:"roadShields",mappingFunction:Ds};case"IMPORTANT_ROAD_STRETCH":return{sectionType:"importantRoadStretch",mappingFunction:Ps}}},zs=(e,t)=>{const n={leg:Cs(e.legs,t)};return((e,t)=>{if(Array.isArray(e))for(const n of e){const e=js(n),r=e?.mappingFunction(n);r&&Gs(e.sectionType,t).push(r)}})(e.sections,n),n},Bs=1e-4,Fs=(e,t)=>Math.abs(e[0]-t[0])<Bs&&Math.abs(e[1]-t[1])<Bs,xs=(e,t)=>{const n=[];let r=0;for(const o of e.instructions){const e=[o.maneuverPoint.longitude,o.maneuverPoint.latitude];for(let n=r;n<t.length;n++){if(Fs(t[n],e)){r=n;break}if(n===t.length-1)break}n.push({...o,maneuverPoint:e,pathPointIndex:r,routePath:o.routePath.map(e=>({...e,point:[e.point.longitude,e.point.latitude]}))})}return{instructions:n}},ks=(e,t)=>{const n=e.routes.map((e,n)=>((e,t,n)=>{const r={type:"LineString",coordinates:e.legs.flatMap(e=>e.points?.map(e=>[e.longitude,e.latitude]))},o=i(r),s=l();return{type:"Feature",geometry:r,id:s,...o&&{bbox:o},properties:{id:s,index:t,summary:ys(e.summary,n),sections:zs(e,n),...e.guidance&&{guidance:xs(e.guidance,r.coordinates)},...e.progress&&{progress:e.progress}}}})(e,n,t)),r=i(n);return{type:"FeatureCollection",...r&&{bbox:r},features:n}},Vs={requestValidation:{schema:Ts,refinements:[{check:e=>!!e.locations.map(d).includes("path")||e.locations.length>=2,message:"When passing waypoints only: at least 2 must be defined. If passing also paths, at least one path must be defined"}]},buildRequest:fs,sendRequest:async(e,t)=>{const n=e.method;if("GET"===n)return ft(e.url,t);if("POST"===n)return mt(e,t);throw Error(`Unsupported HTTP method received: ${n}`)},parseResponse:ks,parseResponseError:(e,t)=>{const{data:n,message:r,status:o}=e;return new I(n?.error?.description??n?.detailedError?.message??r,t,o)},getAPIVersion:()=>2},Ws={reverseGeocode:ds,geocode:ri,geometryData:ui,geometrySearch:Si,calculateRoute:{buildCalculateRouteRequest:fs,parseCalculateRouteResponse:ks,calculateRouteTemplate:Vs},reachableRange:us,evChargingStationsAvailability:Ko,placeByID:mi,autocompleteSearch:Mo},Ys=async(e,t)=>It(e,{...Yo,...t},"EVChargingStationsAvailability"),Ks=async e=>{const t=e.properties.dataSources?.chargingAvailability?.id;if(!t)return e;try{const n=await Ys({id:t}),r=e.properties.poi;return n?{...e,properties:{...e.properties,...r&&{poi:{...r,openingHours:n.openingHours}},chargingPark:{...e.properties.chargingPark,availability:n}}}:e}catch(n){return console.error(n),e}},$s=async(e,t={includeIfAvailabilityUnknown:!0})=>{const n=[];for(const r of e.features){const e=await Ks(r);(e.properties.chargingPark?.availability||t.includeIfAvailabilityUnknown)&&n.push(e)}return{...e,features:n,bbox:i(n)}},Zs=async(e,t)=>It(e,{...ni,...t},"Geocode"),qs=async e=>(await Zs({query:e,limit:1})).features[0];async function Js(e,t){const n=await It(e,{...ci,...t},"GeometryData");return Array.isArray(e.geometries)||"FeatureCollection"!==e.geometries.type?n:((e,t)=>{const n=e.features.reduce((e,t)=>{const n=t.properties.dataSources?.geometry?.id;return n&&(e[n]={...t.properties,placeCoordinates:t.geometry.coordinates}),e},{}),r=t.features.map(e=>e.id&&n[e.id]?{...e,properties:n[e.id]}:e);return{type:"FeatureCollection",bbox:t.bbox,features:r}})(e.geometries,n)}const Qs=async(e,t)=>It(e,{...fi,...t},"PlaceById"),Xs=async(e,t)=>It(e,{...ls,...t},"ReverseGeocode"),ea=async(e,t)=>It(e,{...Vs,...t},"Routing"),ta=rt(Ai,rt($o,ot(nt({minFuzzyLevel:Ye().check(je(1),Ge(4)),maxFuzzyLevel:Ye().check(je(1),Ge(4))})).shape).shape),na=e=>{let t;switch(e.type){case"COORDINATE":t={...e,details:{position:Po(e.details)}};break;case"NEARBY":t={...e,details:{position:Po({lon:e.details.lon,lat:e.details.lat}),text:e.details.text,query:e.details.query}};break;case"BOOKMARK":case"W3W":t=e}return t},ra={requestValidation:{schema:ta},buildRequest:e=>{const t=new URL(`${n=e,n.customServiceBaseURL??`${n.commonBaseURL}${mo}/search/${n.query}.json`}`);var n;No(t,e);const r=t.searchParams;go(r,"typeahead",e.typeahead),go(r,"ofs",e.offset),Io(r,"countrySet",e.countries),go(r,"radius",e.radiusMeters);const o=e.boundingBox&&i(e.boundingBox);return o&&(r.append("topLeft",Jo([o[3],o[0]])),r.append("btmRight",Jo([o[1],o[2]]))),go(r,"minFuzzyLevel",e.minFuzzyLevel),go(r,"maxFuzzyLevel",e.maxFuzzyLevel),t},sendRequest:ft,parseResponse:e=>{const t=e.results.map(ko),n=s(i(t));return{type:"FeatureCollection",properties:{...Vo(e.summary),queryIntent:e.summary.queryIntent.map(na)},features:t,...n&&{bbox:n}}}},oa=async(e,t)=>It(e,{...ra,...t},"FuzzySearch"),ia=async(e,t)=>"geometries"in e?_i(e,t):oa(e,t);export{h as APIErrorCode,S as SDKError,I as SDKServiceError,bo as autocompleteSearch,Ks as buildPlaceWithEVAvailability,$s as buildPlacesWithEVAvailability,f as buildResponseError,m as buildValidationError,ea as calculateRoute,Ws as customizeService,Ys as evChargingStationsAvailability,oa as fuzzySearch,Zs as geocode,qs as geocodeOne,Js as geometryData,g as parseDefaultResponseError,Qs as placeById,Xs as reverseGeocode,ia as search};
1
+ import{mergeFromGlobal as e,generateTomTomHeaders as t,getPosition as n,toPointFeature as r,views as o,bboxFromGeoJSON as i,bboxOnlyIfWithArea as s,bboxFromCoordsArray as a,plugTypes as c,currentTypes as u,avoidableTypes as p,getPositionStrict as l,generateId as A,getRoutePlanningLocationType as d,inputSectionTypesWithGuidance as R,inputSectionTypes as E,indexedMagnitudes as T}from"@tomtom-org/maps-sdk/core";var _=/* @__PURE__ */(e=>(e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.FORBIDDEN=403]="FORBIDDEN",e))(_||{});class h extends Error{constructor(e,t,n){super(e),this.service=t,this.issues=n,Error.captureStackTrace&&Error.captureStackTrace(this,h)}}const S={[_.TOO_MANY_REQUESTS]:"Too Many Requests: The API Key is over QPS (Queries per second)",[_.FORBIDDEN]:"Request failed with status code 403"};class I extends h{constructor(e,t,n){super(e,t),this.status=n,this.status&&S[this.status]&&(this.message=S[this.status])}}const g=(e,t)=>{const{data:n,message:r,status:o}=e;return new I(n?.error||n?.errorText||r,t,o)},f=(e,t,n)=>{if(e.status){const r=e;return n?n(r,t):g(r,t)}return new h(e.message,t)},m=(e,t)=>new h(e.message,t,e.issues);function N(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:s,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);const o=s.prototype,i=Object.keys(o);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=o[t].bind(n))}}const o=n?.Parent??Object;class i extends o{}function s(e){var t;const o=n?.Parent?new i:this;r(o,e),(t=o._zod).deferred??(t.deferred=[]);for(const n of o._zod.deferred)n();return o}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class O extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const y={};function C(e){return y}function v(e,t){return"bigint"==typeof t?t.toString():t}function P(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function L(e){return null==e}function U(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const b=Symbol("evaluating");function M(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==b)return void 0===r&&(r=b,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function H(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function w(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}const D="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function G(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const j=/* @__PURE__ */new Set(["string","number","symbol"]);function z(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function x(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function B(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function F(e,t){if(!function(e){if(!1===G(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==G(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const r=w(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return H(this,"shape",n),n},checks:[]});return x(e,r)}function k(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function W(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function V(e){return"string"==typeof e?e:e?.message}function Y(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=V(e.inst?._zod.def?.error?.(e))??V(t?.error?.(e))??V(n.customError?.(e))??V(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function K(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}const $=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,v,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Z=N("$ZodError",$),q=N("$ZodError",$,{Parent:Error});function J(e){const t=[],n=e.map(e=>"object"==typeof e?e.key:e);for(const r of n)"number"==typeof r?t.push(`[${r}]`):"symbol"==typeof r?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}const Q=/* @__PURE__ */(e=>(t,n,r,o)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new O;if(s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>Y(e,i,C())));throw D(t,o?.callee),t}return s.value})(q),X=e=>async(t,n,r,o)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>Y(e,i,C())));throw D(t,o?.callee),t}return s.value},ee=/* @__PURE__ */X(q),te=/* @__PURE__ */(e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new O;return i.issues.length?{success:!1,error:new(e??Z)(i.issues.map(e=>Y(e,o,C())))}:{success:!0,data:i.value}})(q),ne=/* @__PURE__ */(e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Y(e,o,C())))}:{success:!0,data:i.value}})(q),re=/^-?\d+(?:\.\d+)?/,oe=/^(?:true|false)$/i,ie=/^undefined$/i,se=/* @__PURE__ */N("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ae={number:"number",bigint:"bigint",object:"date"},ce=/* @__PURE__ */N("$ZodCheckLessThan",(e,t)=>{se.init(e,t);const n=ae[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ue=/* @__PURE__ */N("$ZodCheckGreaterThan",(e,t)=>{se.init(e,t);const n=ae[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pe=/* @__PURE__ */N("$ZodCheckMaxLength",(e,t)=>{var n;se.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!L(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const o=K(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),le=/* @__PURE__ */N("$ZodCheckMinLength",(e,t)=>{var n;se.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!L(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const o=K(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ae=/* @__PURE__ */N("$ZodCheckLengthEquals",(e,t)=>{var n;se.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!L(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,o=r.length;if(o===t.length)return;const i=K(r),s=o>t.length;n.issues.push({origin:i,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),de={major:4,minor:1,patch:13},Re=/* @__PURE__ */N("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=de;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const t of o._zod.onattach)t(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,o=k(e);for(const i of t){if(i._zod.def.when){if(!i._zod.def.when(e))continue}else if(o)continue;const t=e.issues.length,s=i._zod.check(e);if(s instanceof Promise&&!1===n?.async)throw new O;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(o||(o=k(e,t)))});else{if(e.issues.length===t)continue;o||(o=k(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(k(n))return n.aborted=!0,n;const s=t(o,r,i);if(s instanceof Promise){if(!1===i.async)throw new O;return s.then(t=>e._zod.parse(t,i))}return e._zod.parse(s,i)};e._zod.run=(o,i)=>{if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,o,i)):n(t,o,i)}const s=e._zod.parse(o,i);if(s instanceof Promise){if(!1===i.async)throw new O;return s.then(e=>t(e,r,i))}return t(s,r,i)}}e["~standard"]={validate:t=>{try{const n=te(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return ne(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),Ee=/* @__PURE__ */N("$ZodString",(e,t)=>{var n;Re.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),Te=/* @__PURE__ */N("$ZodNumber",(e,t)=>{Re.init(e,t),e._zod.pattern=e._zod.bag.pattern??re,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}const o=n.value;if("number"==typeof o&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i="number"==typeof o?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),_e=/* @__PURE__ */N("$ZodBoolean",(e,t)=>{Re.init(e,t),e._zod.pattern=oe,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),he=/* @__PURE__ */N("$ZodUndefined",(e,t)=>{Re.init(e,t),e._zod.pattern=ie,e._zod.values=/* @__PURE__ */new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(t,n)=>{const r=t.value;return void 0===r||t.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),t}}),Se=/* @__PURE__ */N("$ZodAny",(e,t)=>{Re.init(e,t),e._zod.parse=e=>e}),Ie=/* @__PURE__ */N("$ZodDate",(e,t)=>{Re.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(s){}const o=n.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),n}});function ge(e,t,n){e.issues.length&&t.issues.push(...W(n,e.issues)),t.value[n]=e.value}const fe=/* @__PURE__ */N("$ZodArray",(e,t)=>{Re.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let e=0;e<o.length;e++){const s=o[e],a=t.element._zod.run({value:s,issues:[]},r);a instanceof Promise?i.push(a.then(t=>ge(t,n,e))):ge(a,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function me(e,t,n,r){e.issues.length&&t.issues.push(...W(n,e.issues)),void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Ne(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}const Oe=/* @__PURE__ */N("$ZodObject",(e,t)=>{Re.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!n?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const r=P(()=>Ne(t));M(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of r.values)n[t].add(e)}}return n});const o=G,i=t.catchall;let s;e._zod.parse=(t,n)=>{s??(s=r.value);const a=t.value;if(!o(a))return t.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),t;t.value={};const c=[],u=s.shape;for(const e of s.keys){const r=u[e]._zod.run({value:a[e],issues:[]},n);r instanceof Promise?c.push(r.then(n=>me(n,t,e,a))):me(r,t,e,a)}return i?function(e,t,n,r,o,i){const s=[],a=o.keySet,c=o.catchall._zod,u=c.def.type;for(const p in t){if(a.has(p))continue;if("never"===u){s.push(p);continue}const o=c.run({value:t[p],issues:[]},r);o instanceof Promise?e.push(o.then(e=>me(e,n,p,t))):me(o,n,p,t)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}(c,a,t,n,r.value,e):c.length?Promise.all(c).then(()=>t):t}});function ye(e,t,n,r){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const o=e.filter(e=>!k(e));return 1===o.length?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Y(e,r,C())))}),t)}const Ce=/* @__PURE__ */N("$ZodUnion",(e,t)=>{Re.init(e,t),M(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),M(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),M(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),M(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>U(e.source)).join("|")})$`)}});const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},i);if(t instanceof Promise)a.push(t),s=!0;else{if(0===t.issues.length)return t;a.push(t)}}return s?Promise.all(a).then(t=>ye(t,o,e,i)):ye(a,o,e,i)}}),ve=/* @__PURE__ */N("$ZodDiscriminatedUnion",(e,t)=>{Ce.init(e,t);const n=e._zod.parse;M(e._zod,"propValues",()=>{const e={};for(const n of t.options){const r=n._zod.propValues;if(!r||0===Object.keys(r).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(r)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const r of n)e[t].add(r)}}return e});const r=P(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const r of e){const e=r._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(o,i)=>{const s=o.value;if(!G(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;const a=r.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?n(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o)}}),Pe=/* @__PURE__ */N("$ZodTuple",(e,t)=>{Re.init(e,t);const n=t.items;e._zod.parse=(r,o)=>{const i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];const s=[],a=[...n].reverse().findIndex(e=>"optional"!==e._zod.optin),c=-1===a?0:n.length-a;if(!t.rest){const t=i.length>n.length,o=i.length<c-1;if(t||o)return r.issues.push({...t?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let u=-1;for(const e of n){if(u++,u>=i.length&&u>=c)continue;const t=e._zod.run({value:i[u],issues:[]},o);t instanceof Promise?s.push(t.then(e=>Le(e,r,u))):Le(t,r,u)}if(t.rest){const e=i.slice(n.length);for(const n of e){u++;const e=t.rest._zod.run({value:n,issues:[]},o);e instanceof Promise?s.push(e.then(e=>Le(e,r,u))):Le(e,r,u)}}return s.length?Promise.all(s).then(()=>r):r}});function Le(e,t,n){e.issues.length&&t.issues.push(...W(n,e.issues)),t.value[n]=e.value}const Ue=/* @__PURE__ */N("$ZodEnum",(e,t)=>{Re.init(e,t);const n=function(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>j.has(typeof e)).map(e=>"string"==typeof e?z(e):e.toString()).join("|")})$`),e._zod.parse=(t,o)=>{const i=t.value;return r.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),be=/* @__PURE__ */N("$ZodLiteral",(e,t)=>{if(Re.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?z(e):e?z(e.toString()):String(e)).join("|")})$`),e._zod.parse=(r,o)=>{const i=r.value;return n.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}});function Me(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const He=/* @__PURE__ */N("$ZodOptional",(e,t)=>{Re.init(e,t),e._zod.optin="optional",e._zod.optout="optional",M(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,void 0]):void 0),M(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${U(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Me(t,e.value)):Me(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),we=/* @__PURE__ */N("$ZodCustom",(e,t)=>{se.init(e,t),Re.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(t=>De(t,n,r,e));De(o,n,r,e)}});function De(e,t,n,r){if(!e){const e={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(function(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}(e))}}var Ge;class je{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];if(this._map.set(e,n),n&&"object"==typeof n&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function ze(e,t){return new ce({check:"less_than",...B(t),value:e,inclusive:!0})}function xe(e,t){return new ue({check:"greater_than",...B(t),value:e,inclusive:!0})}function Be(e,t){return new pe({check:"max_length",...B(t),maximum:e})}function Fe(e,t){return new le({check:"min_length",...B(t),minimum:e})}function ke(e,t){return new Ae({check:"length_equals",...B(t),length:e})}(Ge=globalThis).__zod_globalRegistry??(Ge.__zod_globalRegistry=new je);const We=/* @__PURE__ */N("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Re.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>Q(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>te(e,t,n),e.parseAsync=async(t,n)=>ee(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ne(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),e.clone=(t,n)=>x(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e)}),Ve=/* @__PURE__ */N("ZodMiniString",(e,t)=>{Ee.init(e,t),We.init(e,t)});function Ye(e){return function(e,t){return new e({type:"string",...B(t)})}(Ve,e)}const Ke=/* @__PURE__ */N("ZodMiniNumber",(e,t)=>{Te.init(e,t),We.init(e,t)});function $e(e){return function(e,t){return new e({type:"number",checks:[],...B(t)})}(Ke,e)}const Ze=/* @__PURE__ */N("ZodMiniBoolean",(e,t)=>{_e.init(e,t),We.init(e,t)});function qe(e){return function(e,t){return new e({type:"boolean",...B(t)})}(Ze,e)}const Je=/* @__PURE__ */N("ZodMiniUndefined",(e,t)=>{he.init(e,t),We.init(e,t)});const Qe=/* @__PURE__ */N("ZodMiniAny",(e,t)=>{Se.init(e,t),We.init(e,t)});function Xe(){return new Qe({type:"any"})}const et=/* @__PURE__ */N("ZodMiniDate",(e,t)=>{Ie.init(e,t),We.init(e,t)});const tt=/* @__PURE__ */N("ZodMiniArray",(e,t)=>{fe.init(e,t),We.init(e,t)});function nt(e,t){return new tt({type:"array",element:e,...B(t)})}const rt=/* @__PURE__ */N("ZodMiniObject",(e,t)=>{Oe.init(e,t),We.init(e,t),M(e,"shape",()=>t.shape)});function ot(e,t){const n={type:"object",shape:e??{},...B(t)};return new rt(n)}function it(e,t){return F(e,t)}function st(e,t){return function(e,t){const n=w(t._zod.def,{get shape(){const n=t._zod.def.shape,r={...n};for(const t in n)r[t]=e?new e({type:"optional",innerType:n[t]}):n[t];return H(this,"shape",r),r},checks:[]});return x(t,n)}(Tt,e)}const at=/* @__PURE__ */N("ZodMiniUnion",(e,t)=>{Ce.init(e,t),We.init(e,t)});function ct(e,t){return new at({type:"union",options:e,...B(t)})}const ut=/* @__PURE__ */N("ZodMiniDiscriminatedUnion",(e,t)=>{ve.init(e,t),We.init(e,t)});const pt=/* @__PURE__ */N("ZodMiniTuple",(e,t)=>{Pe.init(e,t),We.init(e,t)});function lt(e,t,n){const r=t instanceof Re;return new pt({type:"tuple",items:e,rest:r?t:null,...B(r?n:t)})}const At=/* @__PURE__ */N("ZodMiniEnum",(e,t)=>{Ue.init(e,t),We.init(e,t),e.options=Object.values(t.entries)});function dt(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new At({type:"enum",entries:n,...B(t)})}const Rt=/* @__PURE__ */N("ZodMiniLiteral",(e,t)=>{be.init(e,t),We.init(e,t)});function Et(e,t){return new Rt({type:"literal",values:Array.isArray(e)?e:[e],...B(t)})}const Tt=/* @__PURE__ */N("ZodMiniOptional",(e,t)=>{He.init(e,t),We.init(e,t)});function _t(e){return new Tt({type:"optional",innerType:e})}const ht=/* @__PURE__ */N("ZodMiniCustom",(e,t)=>{we.init(e,t),We.init(e,t)});function St(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...B(n)})}(ht,e,t)}const It=st(ot({apiKey:Ye(),commonBaseURL:Ye(),customServiceBaseURL:Ye(),language:Ye()}));class gt extends Error{constructor(e){super(function(e){const t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(const r of n)t.push(`✖ ${r.message}`),r.path?.length&&t.push(` → at ${J(r.path)}`);return t.join("\n")}(e)),this.issues=e.issues}}const ft=async(n,r,o)=>{const i=r.getAPIVersion?.(n),s=e({...n,...i&&{apiVersion:i}});if(void 0===n.validateRequest||n.validateRequest)try{((e,t)=>{const n=(t?.schema?it(It,t.schema.shape):It).check(St(e=>"commonBaseURL"in e||"customServiceBaseURL"in e,"commonBaseURL or customServiceBaseURL is required"));let r;if(t?.refinements?.length){r=n;for(const e of t.refinements)r=r.check(St(e.check,e.message))}const o=(r??n).safeParse(e);if(!o.success)throw new gt(o.error)})(s,r.requestValidation)}catch(u){return Promise.reject(m(u,o))}const a=r.buildRequest(s),c=t(s);n.onAPIRequest?.(a);try{const e=await r.sendRequest(a,c);return n.onAPIResponse?.(a,e),r.parseResponse(await e.data,s)}catch(u){return n.onAPIResponse?.(a,u),Promise.reject(f(u,o,r.parseResponseError))}};class mt extends Error{constructor(e,t,n){super(t??`HTTP Error ${e}`),this.name="FetchError",this.status=e,this.data=n,Error.captureStackTrace&&Error.captureStackTrace(this,mt)}}const Nt=async e=>{if(e.ok)return{data:await e.json(),status:e.status};let t,n;const r=e.headers.get("content-type");throw e.bodyUsed?t=e.statusText:r?.includes("application/json")?(n=await e.json(),t=n?.errorText??n?.message??n?.detailedError?.message):r?.includes("text/xml")&&(n=await e.text(),t=e.statusText),new mt(e.status,t,n)},Ot=async(e,t)=>Nt(await fetch(e,{headers:t})),yt=async(e,t)=>Nt(await fetch(e.url,{method:"POST",body:JSON.stringify(e.data),headers:{...t,"Content-Type":"application/json"}})),Ct=nt(nt($e())),vt=ot({type:dt(["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","Circle"]),coordinates:ct([nt($e()),Ct,nt(nt(nt($e()))),nt(nt(nt(nt($e()))))]),radius:_t($e()),radiusMeters:_t($e()),bbox:_t(nt($e()))}).check(St(e=>"Circle"!==e.type||Boolean(e.radius),'type: "Circle" must have radius property')),Pt=ot({type:Et("Feature"),geometry:vt,id:_t(ct([Ye(),$e()])),properties:Xe(),bbox:_t(nt($e()))}),Lt=ot({type:Et("FeatureCollection"),features:nt(Pt),id:_t(ct([Ye(),$e()])),properties:Xe(),bbox:_t(nt($e()))}),Ut=ct([lt([$e().check(xe(-180),ze(180)),$e().check(xe(-90),ze(90))]),lt([$e().check(xe(-180),ze(180)),$e().check(xe(-90),ze(90)),$e()]),ot({type:Et("Point"),coordinates:nt($e())}),Pt]),bt=ct([nt($e()).check(ke(4)),nt($e()).check(ke(6))]),Mt=ct([vt,Pt,Lt]),Ht=ct([bt,Mt,nt(Mt)]),wt=it(ot({query:Ye()}),st(ot({position:Ut,limit:$e().check(ze(100)),radiusMeters:$e(),countries:nt(Ye()),resultType:nt(Ye())})).shape);var Dt="object"==typeof global&&global&&global.Object===Object&&global,Gt="object"==typeof self&&self&&self.Object===Object&&self,jt=Dt||Gt||Function("return this")(),zt=jt.Symbol,xt=Object.prototype,Bt=xt.hasOwnProperty,Ft=xt.toString,kt=zt?zt.toStringTag:void 0;var Wt=Object.prototype.toString;var Vt=zt?zt.toStringTag:void 0;function Yt(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Vt&&Vt in Object(e)?function(e){var t=Bt.call(e,kt),n=e[kt];try{e[kt]=void 0;var r=!0}catch(i){}var o=Ft.call(e);return r&&(t?e[kt]=n:delete e[kt]),o}(e):function(e){return Wt.call(e)}(e)}function Kt(e){return null!=e&&"object"==typeof e}function $t(e){return"symbol"==typeof e||Kt(e)&&"[object Symbol]"==Yt(e)}function Zt(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}var qt=Array.isArray,Jt=zt?zt.prototype:void 0,Qt=Jt?Jt.toString:void 0;function Xt(e){if("string"==typeof e)return e;if(qt(e))return Zt(e,Xt)+"";if($t(e))return Qt?Qt.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function en(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function tn(e){if(!en(e))return!1;var t=Yt(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var nn,rn=jt["__core-js_shared__"],on=(nn=/[^.]+$/.exec(rn&&rn.keys&&rn.keys.IE_PROTO||""))?"Symbol(src)_1."+nn:"";var sn=Function.prototype.toString;function an(e){if(null!=e){try{return sn.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var cn=/^\[object .+?Constructor\]$/,un=Function.prototype,pn=Object.prototype,ln=un.toString,An=pn.hasOwnProperty,dn=RegExp("^"+ln.call(An).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Rn(e){return!(!en(e)||(t=e,on&&on in t))&&(tn(e)?dn:cn).test(an(e));var t}function En(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Rn(n)?n:void 0}var Tn=En(jt,"WeakMap");var _n=Date.now;var hn,Sn,In,gn=function(){try{var e=En(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),fn=gn?function(e,t){return gn(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:function(e){return e},mn=(hn=fn,Sn=0,In=0,function(){var e=_n(),t=16-(e-In);if(In=e,t>0){if(++Sn>=800)return arguments[0]}else Sn=0;return hn.apply(void 0,arguments)});var Nn=/^(?:0|[1-9]\d*)$/;function On(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Nn.test(e))&&e>-1&&e%1==0&&e<t}function yn(e,t,n){"__proto__"==t&&gn?gn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Cn(e,t){return e===t||e!=e&&t!=t}var vn=Object.prototype.hasOwnProperty;function Pn(e,t,n){var r=e[t];vn.call(e,t)&&Cn(r,n)&&(void 0!==n||t in e)||yn(e,t,n)}var Ln=Math.max;function Un(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var bn=Object.prototype;function Mn(e){return Kt(e)&&"[object Arguments]"==Yt(e)}var Hn=Object.prototype,wn=Hn.hasOwnProperty,Dn=Hn.propertyIsEnumerable,Gn=Mn(/* @__PURE__ */function(){return arguments}())?Mn:function(e){return Kt(e)&&wn.call(e,"callee")&&!Dn.call(e,"callee")};var jn="object"==typeof exports&&exports&&!exports.nodeType&&exports,zn=jn&&"object"==typeof module&&module&&!module.nodeType&&module,xn=zn&&zn.exports===jn?jt.Buffer:void 0,Bn=(xn?xn.isBuffer:void 0)||function(){return!1},Fn={};function kn(e){return function(t){return e(t)}}Fn["[object Float32Array]"]=Fn["[object Float64Array]"]=Fn["[object Int8Array]"]=Fn["[object Int16Array]"]=Fn["[object Int32Array]"]=Fn["[object Uint8Array]"]=Fn["[object Uint8ClampedArray]"]=Fn["[object Uint16Array]"]=Fn["[object Uint32Array]"]=!0,Fn["[object Arguments]"]=Fn["[object Array]"]=Fn["[object ArrayBuffer]"]=Fn["[object Boolean]"]=Fn["[object DataView]"]=Fn["[object Date]"]=Fn["[object Error]"]=Fn["[object Function]"]=Fn["[object Map]"]=Fn["[object Number]"]=Fn["[object Object]"]=Fn["[object RegExp]"]=Fn["[object Set]"]=Fn["[object String]"]=Fn["[object WeakMap]"]=!1;var Wn="object"==typeof exports&&exports&&!exports.nodeType&&exports,Vn=Wn&&"object"==typeof module&&module&&!module.nodeType&&module,Yn=Vn&&Vn.exports===Wn&&Dt.process,Kn=function(){try{var e=Vn&&Vn.require&&Vn.require("util").types;return e||Yn&&Yn.binding&&Yn.binding("util")}catch(t){}}(),$n=Kn&&Kn.isTypedArray,Zn=$n?kn($n):function(e){return Kt(e)&&Un(e.length)&&!!Fn[Yt(e)]};function qn(e,t){var n=qt(e),r=!n&&Gn(e),o=!n&&!r&&Bn(e),i=!n&&!r&&!o&&Zn(e),s=n||r||o||i,a=s?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],c=a.length;for(var u in e)s&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||On(u,c))||a.push(u);return a}var Jn=Object.prototype.hasOwnProperty;function Qn(e){if(!en(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t,n,r=(n=(t=e)&&t.constructor,t===("function"==typeof n&&n.prototype||bn)),o=[];for(var i in e)("constructor"!=i||!r&&Jn.call(e,i))&&o.push(i);return o}function Xn(e){return null!=(t=e)&&Un(t.length)&&!tn(t)?qn(e):Qn(e);var t}var er=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tr=/^\w*$/;var nr=En(Object,"create");var rr=Object.prototype.hasOwnProperty;var or=Object.prototype.hasOwnProperty;function ir(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function sr(e,t){for(var n=e.length;n--;)if(Cn(e[n][0],t))return n;return-1}ir.prototype.clear=function(){this.__data__=nr?nr(null):{},this.size=0},ir.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ir.prototype.get=function(e){var t=this.__data__;if(nr){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return rr.call(t,e)?t[e]:void 0},ir.prototype.has=function(e){var t=this.__data__;return nr?void 0!==t[e]:or.call(t,e)},ir.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=nr&&void 0===t?"__lodash_hash_undefined__":t,this};var ar=Array.prototype.splice;function cr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}cr.prototype.clear=function(){this.__data__=[],this.size=0},cr.prototype.delete=function(e){var t=this.__data__,n=sr(t,e);return!(n<0)&&(n==t.length-1?t.pop():ar.call(t,n,1),--this.size,!0)},cr.prototype.get=function(e){var t=this.__data__,n=sr(t,e);return n<0?void 0:t[n][1]},cr.prototype.has=function(e){return sr(this.__data__,e)>-1},cr.prototype.set=function(e,t){var n=this.__data__,r=sr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var ur=En(jt,"Map");function pr(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function lr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}lr.prototype.clear=function(){this.size=0,this.__data__={hash:new ir,map:new(ur||cr),string:new ir}},lr.prototype.delete=function(e){var t=pr(this,e).delete(e);return this.size-=t?1:0,t},lr.prototype.get=function(e){return pr(this,e).get(e)},lr.prototype.has=function(e){return pr(this,e).has(e)},lr.prototype.set=function(e,t){var n=pr(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Ar(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var s=e.apply(this,r);return n.cache=i.set(o,s)||i,s};return n.cache=new(Ar.Cache||lr),n}Ar.Cache=lr;var dr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rr=/\\(\\)?/g,Er=function(e){var t=Ar(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(dr,function(e,n,r,o){t.push(r?o.replace(Rr,"$1"):n||e)}),t});function Tr(e,t){return qt(e)?e:function(e,t){if(qt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!$t(e))||tr.test(e)||!er.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:Er(function(e){return null==e?"":Xt(e)}(e))}function _r(e){if("string"==typeof e||$t(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function hr(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}var Sr=zt?zt.isConcatSpreadable:void 0;function Ir(e){return qt(e)||Gn(e)||!!(Sr&&e&&e[Sr])}function gr(e){return(null==e?0:e.length)?function(e,t,n,r,o){var i=-1,s=e.length;for(n||(n=Ir),o||(o=[]);++i<s;){var a=e[i];n(a)?hr(o,a):o[o.length]=a}return o}(e):[]}var fr=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),mr=Function.prototype,Nr=Object.prototype,Or=mr.toString,yr=Nr.hasOwnProperty,Cr=Or.call(Object);function vr(e){var t=this.__data__=new cr(e);this.size=t.size}vr.prototype.clear=function(){this.__data__=new cr,this.size=0},vr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},vr.prototype.get=function(e){return this.__data__.get(e)},vr.prototype.has=function(e){return this.__data__.has(e)},vr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof cr){var r=n.__data__;if(!ur||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new lr(r)}return n.set(e,t),this.size=n.size,this};var Pr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Lr=Pr&&"object"==typeof module&&module&&!module.nodeType&&module,Ur=Lr&&Lr.exports===Pr?jt.Buffer:void 0;function br(){return[]}Ur&&Ur.allocUnsafe;var Mr=Object.prototype.propertyIsEnumerable,Hr=Object.getOwnPropertySymbols,wr=Hr?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var s=e[n];t(s,n,e)&&(i[o++]=s)}return i}(Hr(e),function(t){return Mr.call(e,t)}))}:br,Dr=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)hr(t,wr(e)),e=fr(e);return t}:br;function Gr(e){return function(e,t,n){var r=t(e);return qt(e)?r:hr(r,n(e))}(e,Xn,Dr)}var jr=En(jt,"DataView"),zr=En(jt,"Promise"),xr=En(jt,"Set"),Br="[object Map]",Fr="[object Promise]",kr="[object Set]",Wr="[object WeakMap]",Vr="[object DataView]",Yr=an(jr),Kr=an(ur),$r=an(zr),Zr=an(xr),qr=an(Tn),Jr=Yt;(jr&&Jr(new jr(new ArrayBuffer(1)))!=Vr||ur&&Jr(new ur)!=Br||zr&&Jr(zr.resolve())!=Fr||xr&&Jr(new xr)!=kr||Tn&&Jr(new Tn)!=Wr)&&(Jr=function(e){var t=Yt(e),n="[object Object]"==t?e.constructor:void 0,r=n?an(n):"";if(r)switch(r){case Yr:return Vr;case Kr:return Br;case $r:return Fr;case Zr:return kr;case qr:return Wr}return t});var Qr=Object.prototype.hasOwnProperty;var Xr=jt.Uint8Array;function eo(e){var t=new e.constructor(e.byteLength);return new Xr(t).set(new Xr(e)),t}var to=/\w*$/;var no=zt?zt.prototype:void 0,ro=no?no.valueOf:void 0;function oo(e,t,n){var r,o,i,s,a,c=e.constructor;switch(t){case"[object ArrayBuffer]":return eo(e);case"[object Boolean]":case"[object Date]":return new c(+e);case"[object DataView]":return a=eo((s=e).buffer),new s.constructor(a,s.byteOffset,s.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e){var t=eo(e.buffer);return new e.constructor(t,e.byteOffset,e.length)}(e);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(e);case"[object RegExp]":return(i=new(o=e).constructor(o.source,to.exec(o))).lastIndex=o.lastIndex,i;case"[object Symbol]":return r=e,ro?Object(ro.call(r)):{}}}var io=Kn&&Kn.isMap,so=io?kn(io):function(e){return Kt(e)&&"[object Map]"==Jr(e)};var ao=Kn&&Kn.isSet,co=ao?kn(ao):function(e){return Kt(e)&&"[object Set]"==Jr(e)},uo="[object Arguments]",po="[object Function]",lo="[object Object]",Ao={};function Ro(e,t,n,r,o,i){var s;if(n&&(s=o?n(e,r,o,i):n(e)),void 0!==s)return s;if(!en(e))return e;var a=qt(e);if(a)s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Qr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e);else{var c=Jr(e),u=c==po||"[object GeneratorFunction]"==c;if(Bn(e))return e.slice();if(c==lo||c==uo||u&&!o)s={};else{if(!Ao[c])return o?e:{};s=oo(e,c)}}i||(i=new vr);var p=i.get(e);if(p)return p;i.set(e,s),co(e)?e.forEach(function(r){s.add(Ro(r,t,n,r,e,i))}):so(e)&&e.forEach(function(r,o){s.set(o,Ro(r,t,n,o,e,i))});var l=a?void 0:Gr(e);return function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););}(l||e,function(r,o){l&&(r=e[o=r]),Pn(s,o,Ro(r,t,n,o,e,i))}),s}function Eo(e,t){return t.length<2?e:function(e,t){for(var n=0,r=(t=Tr(t,e)).length;null!=e&&n<r;)e=e[_r(t[n++])];return n&&n==r?e:void 0}(e,function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r<o;)i[r]=e[r+t];return i}(t,0,-1))}function To(e){return null==e}function _o(e,t){return null==(e=Eo(e,t=Tr(t,e)))||delete e[_r((n=t,r=null==n?0:n.length,r?n[r-1]:void 0))];var n,r}function ho(e){return function(e){if(!Kt(e)||"[object Object]"!=Yt(e))return!1;var t=fr(e);if(null===t)return!0;var n=yr.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Or.call(n)==Cr}(e)?void 0:e}Ao[uo]=Ao["[object Array]"]=Ao["[object ArrayBuffer]"]=Ao["[object DataView]"]=Ao["[object Boolean]"]=Ao["[object Date]"]=Ao["[object Float32Array]"]=Ao["[object Float64Array]"]=Ao["[object Int8Array]"]=Ao["[object Int16Array]"]=Ao["[object Int32Array]"]=Ao["[object Map]"]=Ao["[object Number]"]=Ao[lo]=Ao["[object RegExp]"]=Ao["[object Set]"]=Ao["[object String]"]=Ao["[object Symbol]"]=Ao["[object Uint8Array]"]=Ao["[object Uint8ClampedArray]"]=Ao["[object Uint16Array]"]=Ao["[object Uint32Array]"]=!0,Ao["[object Error]"]=Ao[po]=Ao["[object WeakMap]"]=!1;var So=function(e){return mn(function(e,t,n){return t=Ln(void 0===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=Ln(r.length-t,0),s=Array(i);++o<i;)s[o]=r[t+o];o=-1;for(var a=Array(t+1);++o<t;)a[o]=r[o];return a[t]=n(s),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}(e,void 0,gr),e+"")}(function(e,t){var n={};if(null==e)return n;var r=!1;t=Zt(t,function(t){return t=Tr(t,e),r||(r=t.length>1),t}),function(e,t,n){var r=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var s=t[o],a=void 0;void 0===a&&(a=e[s]),r?yn(n,s,a):Pn(n,s,a)}}(e,Gr(e),n),r&&(n=Ro(n,7,ho));for(var o=t.length;o--;)_o(n,t[o]);return n});const Io={SPORTS_CENTER:7320,STADIUM:7374,RESTAURANT:7315,CAFE_PUB:9376,HEALTH_CARE_SERVICE:9663,HOSPITAL:7321,HOSPITAL_POLYCLINIC:7321,DOCTOR:9373,SHOP:9361,MARIJUANA_DISPENSARY:9364,MARKET:7332,PUBLIC_AMENITY:9932,ROAD_TRAFFIC_CONTROL_CENTER:7301,POST_OFFICE:7324,COLLEGE_UNIVERSITY:7377,OPEN_PARKING_AREA:7369,CLUB_ASSOCIATION:9937,CAMPING_GROUND:7360,HOLIDAY_RENTAL:7304,VACATION_RENTAL:7304,AMUSEMENT_PARK:9902,RESIDENTIAL_ACCOMMODATION:7303,AGRICULTURAL_BUSINESS:7335,AGRICULTURE:7335,AIRPORT:7383,COMPANY:9352,NIGHTLIFE:9379,REPAIR_SHOP:7310,REPAIR_FACILITY:7310,HOTEL_MOTEL:7314,SCHOOL:7372,AUTOMOTIVE_DEALER:9910,MOVIE_THEATER:7342,CINEMA:7342,THEATER:7318,PARK_RECREATION_AREA:9362,PLACE_OF_WORSHIP:7339,IMPORTANT_TOURIST_ATTRACTION:7376,TOURIST_ATTRACTION:7376,TRAIL_SYSTEM:7302,TRAILS:7302,RAILWAY_STATION:7380,PUBLIC_TRANSPORT_STOP:9942,EXCHANGE:9160,MARINA:7347,WEIGH_STATION:7359,CAR_WASH:9155,LEISURE_CENTER:9378,ACCESS_GATEWAY:7389,GEOGRAPHIC_FEATURE:8099,URBAN_STATION:7380004,ADVENTURE_VEHICLE_TRAIL:7302003,ADVERTISING_COMPANY:9352003,AFGHAN_RESTAURANT:7315081,AFRICAN_RESTAURANT:7315002,AGRICULTURAL_SUPPLIES:9361073,AGRICULTURAL_TECHNOLOGY:9352012,AIRFIELD:7383005,AIRLINE_COMPANY:9352034,AIRLINE_ACCESS:7389002,ALGERIAN_RESTAURANT:7315082,AMBULANCE_UNIT:9663005,AMERICAN_RESTAURANT:7315003,AMPHITHEATER:7318007,AMUSEMENT_ARCADE:9902002,AMUSEMENT_PLACE:9902004,ANIMAL_SERVICES:9361048,ANIMAL_SHELTER:9352045,ANTIQUE_ART_SHOP:9361049,APARTMENT_RENTAL:7304006,AQUATIC_ZOO:9927004,ARABIAN_RESTAURANT:7315083,ARCH:7376012,ARGENTINIAN_RESTAURANT:7315084,ARMENIAN_RESTAURANT:7315085,ART_SCHOOL:7372012,ASHRAM:7339007,ASIAN_RESTAURANT:7315062,ATHLETICS_TRACK:7374002,ATV_DEALER:9910009,AUSTRALIAN_RESTAURANT:7315086,AUSTRIAN_RESTAURANT:7315004,AUTOMOBILE_COMPANY:9352013,AUTOMOBILE_MANUFACTURING:9352041,BAGS_LEATHERWEAR:9361058,BANQUET_ROOMS:7315146,BAR:9379004,BARBECUE_RESTAURANT:7315005,BASEBALL_PARK:7374009,BASKETBALL_ARENA:7374012,BASQUE_RESTAURANT:7315087,BATTLEFIELD:9362002,BAY:8099016,BEACH_CLUB:9937002,BEAUTY_SALON:9361067,BEAUTY_SUPPLIES:9361050,B_B_GUEST_HOUSE:7314002,BELGIAN_RESTAURANT:7315006,BETTING_STATION:9361072,BISTRO:7315007,BLOOD_BANK:9663004,BOAT_DEALER:9910004,BOAT_LAUNCHING_RAMP:9362032,BOATING_EQUIPMENT_ACCESSORIES:9361083,BODYSHOP:7310002,BOLIVIAN_RESTAURANT:7315088,BOOK_SHOP:9361002,BOSNIAN_RESTAURANT:7315089,BOWLING_CENTER:9378002,BRAZILIAN_RESTAURANT:7315072,BRIDGE:7376010,BRIDGE_TUNNEL_OPERATIONS:9352035,BRITISH_RESTAURANT:7315008,BUFFET_RESTAURANT:7315142,BUILDING:7376002,BULGARIAN_RESTAURANT:7315090,BUNGALOW_RENTAL:7304004,BURMESE_RESTAURANT:7315091,BUS_DEALER:9910008,BUS_CHARTER_COMPANY:9352025,BUS_LINES:9352027,BUS_STOP:9942002,BUSINESS_SERVICES:9352039,CABARET_THEATER:7318006,CABINS_LODGES:7314007,CABLE_TELEPHONE_COMPANY:9352040,CAFE:9376002,CAFETERIA:7315147,CALIFORNIAN_RESTAURANT:7315009,CAMBODIAN_RESTAURANT:7315092,CANADIAN_RESTAURANT:7315010,CAPE:8099020,CAR_DEALER:9910002,CAR_GLASS_REPLACEMENT_SHOP:7310003,CARAVAN_SITE:7360003,CARIBBEAN_RESTAURANT:7315011,CATERING_SERVICES:9352043,CAVE:8099003,C_DS_DVD_VIDEOS:9361003,VIDEO_RENTAL_SHOP:9361044,CEMETERY:9362003,CHALET_RENTAL:7304005,CHEMICAL_COMPANY:9352014,CHICKEN_RESTAURANT:7315070,CHILD_CARE_FACILITY:7372003,CHILEAN_RESTAURANT:7315093,CHINESE_RESTAURANT:7315012,CHRISTMAS_HOLIDAY_SHOP:9361082,CHURCH:7339002,CLEANING_SERVICES:9352029,CHILDRENS_CLOTHES:9361004,FOOTWEAR_SHOE_REPAIRS:9361005,CLOTHING_SHOP:9361006,MENS_CLOTHING:9361007,SPECIALTY_CLOTHING_SHOP:9361079,WOMENS_CLOTHING:9361008,COACH_STOP:9942005,COCKTAIL_BAR:9379006,COFFEE_SHOP:9376006,COLOMBIAN_RESTAURANT:7315094,COMEDY_CLUB:9379009,COMPUTER_DATA_SERVICES:9352004,SOFTWARE_COMPANY:9352005,CONCERT_HALL:7318002,CONDOMINIUM_COMPLEX:7303006,CONSTRUCTION_COMPANY:9352032,CONSTRUCTION_MATERIAL_EQUIPMENT:9361042,CONVENIENCE_STORE:9361009,CORSICAN_RESTAURANT:7315095,COTTAGE_RENTAL:7304002,COVE:8099017,CREOLE_RESTAURANT:7315063,CREPERIE:7315013,CRICKET_GROUND:7374003,CUBAN_RESTAURANT:7315096,CULINARY_SCHOOL:7372015,CYPRIOT_RESTAURANT:7315097,CZECH_RESTAURANT:7315068,DAM:7376007,DANCE_STUDIO_SCHOOL:9378003,DANISH_RESTAURANT:7315098,DELICATESSEN:9361060,DINNER_THEATER:7318008,DISCO_CLUB:9379002,DIVERSIFIED_FINANCIALS:9352006,DOMINICAN_RESTAURANT:7315099,DONGBEI_RESTAURANT:7315057,DOUGHNUT_RESTAURANT:7315079,DRIVE_THROUGH_BOTTLE_SHOP:9361076,DRIVE_IN_MOVIES:7342003,DRIVING_SCHOOL:7372016,DRUG_STORE:9361051,DRY_CLEANER:9361010,DUNE:8099005,DUTCH_RESTAURANT:7315014,EGYPTIAN_RESTAURANT:7315100,ELECTRICAL_APPLIANCES_SHOP:9361052,CAMERAS_PHOTOGRAPHY:9361011,COMPUTER_COMPUTER_SUPPLIES:9361012,CONSUMER_ELECTRONICS:9361013,OFFICE_EQUIPMENT:9361014,ENGLISH_RESTAURANT:7315101,EQUIPMENT_RENTAL:9352038,EROTIC_RESTAURANT:7315132,ETHIOPIAN_RESTAURANT:7315102,EXOTIC_RESTAURANT:7315133,FACTORY_OUTLET:9361016,FAIRGROUND:9362017,FARM:7335004,FARMERS_MARKET:7332004,FAST_FOOD:7315015,PHILIPPINE_RESTAURANT:7315016,FINNISH_RESTAURANT:7315104,FISHING_HUNTING_AREA:9362016,FITNESS_CLUB_CENTER:7320002,FLATS_APARTMENT_COMPLEX:7303003,FLORISTS:9361017,FLYING_CLUB:9378004,FONDUE_RESTAURANT:7315134,BAKERY:9361018,BUTCHER:9361019,FISHMONGER:9361020,FOOD_MARKET:9361021,GREENGROCER:9361022,GROCERY_STORE:9361023,OTHER_FOOD_SHOPS:9361024,WINE_SPIRITS:9361025,FOOTBALL_STADIUM:7374010,FOREST_AREA:9362015,FRENCH_RESTAURANT:7315017,FUNERAL_SERVICE_MORTUARIES:9352036,FURNITURE_HOME_FURNISHINGS:9361054,FUSION_RESTAURANT:7315071,CAR_REPAIR_AND_SERVICE:7310004,GENERAL_PRACTITIONER:9373002,GERMAN_RESTAURANT:7315018,GIFTS_CARDS_NOVELTIES_SOUVENIRS:9361026,GLASSWARE_CERAMIC_SHOP:9361055,GOLD_EXCHANGE:9160003,GREEK_RESTAURANT:7315019,GRILL_RESTAURANT:7315020,GUANGDONG_RESTAURANT:7315054,GURUDWARA:7339006,HAIRDRESSER:9361027,HAMBURGER_RESTAURANT:7315069,HARBOR:8099018,HARDWARE_STORE:9361069,HAWAIIAN_RESTAURANT:7315021,HIGH_SCHOOL:7372006,HIKING_TRAIL:7302004,HILL:8099025,HISTORIC_SITE:9362004,HISTORICAL_PARK:9362005,HOBBY_SHOP:9361053,HOCKEY_CLUB:9937003,HOME_APPLIANCE_REPAIR:9352044,HORSE_RACING_TRACK:7374005,HORSE_RIDING_CENTER:7320003,HORTICULTURE:7335002,HOSPITAL_FOR_WOMEN_AND_CHILDREN:7321005,HOSPITAL_OF_CHINESE_MEDICINE:7321004,HOSTEL:7314004,HOT_POT_RESTAURANT:7315058,HOTEL:7314003,CARPET_FLOOR_COVERINGS:9361028,CURTAINS_TEXTILES:9361029,DO_IT_YOURSELF_CENTERS:9361030,HOUSE_GARDEN_FURNITURE_FITTINGS:9361031,GARDEN_CENTERS_SERVICES:9361032,GLASS_WINDOWS_STORE:9361080,KITCHENS_BATHROOMS:9361033,LIGHTING_SHOPS:9361034,PAINTING_DECORATING:9361035,HUNAN_RESTAURANT:7315052,HUNGARIAN_RESTAURANT:7315022,ICE_CREAM_PARLOR:7315078,ICE_HOCKEY_ARENA:7374008,IMPORT_EXPORT_AND_DISTRIBUTION:9352042,INDIAN_RESTAURANT:7315023,INDONESIAN_RESTAURANT:7315024,INFORMAL_MARKET:7332002,INSURANCE_COMPANY:9352007,INTERNATIONAL_RESTAURANT:7315073,INTERNATIONAL_RAILROAD_STATION:7380002,INTERNET_CAFE:9376004,INVESTMENT_ADVISOR:9352037,IRANIAN_RESTAURANT:7315105,IRISH_RESTAURANT:7315065,ISLAND:8099022,ISRAELI_RESTAURANT:7315106,ITALIAN_RESTAURANT:7315025,JAMAICAN_RESTAURANT:7315066,JAPANESE_RESTAURANT:7315026,JAZZ_CLUB:9379008,JEWELRY_CLOCKS_WATCHES:9361036,JEWISH_RESTAURANT:7315027,JUNIOR_COLLEGE_COMMUNITY_COLLEGE:7377003,KARAOKE_CLUB:9379010,KOREAN_RESTAURANT:7315028,KOSHER_RESTAURANT:7315067,LAGOON:8099019,LAKESHORE:9362006,LANGUAGE_SCHOOL:7372010,LATIN_AMERICAN_RESTAURANT:7315029,LAUNDRY:9361045,LEBANESE_RESTAURANT:7315030,LEGAL_SERVICES:9352023,LOCAL_POST_OFFICE:7324003,LOCAL_SPECIALITIES_SHOP:9361056,LOCALE:8099027,LOTTERY_SHOP:9361071,LUXEMBOURGIAN_RESTAURANT:7315107,MACROBIOTIC_RESTAURANT:7315135,MAGHRIB_RESTAURANT:7315108,DELIVERY_SERVICE:9352008,MALTESE_RESTAURANT:7315031,MANUFACTURING_COMPANY:9352011,MARINE_ELECTRONIC_EQUIPMENT:9361065,MARSH:8099023,MAURITIAN_RESTAURANT:7315109,MAUSOLEUM_GRAVE:7376011,MECHANICAL_ENGINEERING:9352016,MEDICAL_SUPPLIES_EQUIPMENT:9361043,MEDITERRANEAN_RESTAURANT:7315032,MEMORIAL:9362007,SUBWAY_STATION:7380005,MEXICAN_RESTAURANT:7315033,MICROBREWERY:9376007,MIDDLE_EASTERN_RESTAURANT:7315034,MIDDLE_SCHOOL:7372014,MILITARY_AIRPORT:7383004,MINERAL_HOT_SPRINGS:8099021,MINING_COMPANY:9352031,MOBILE_PHONE_SHOP:9361075,MONGOLIAN_RESTAURANT:7315110,MONUMENT:7376003,MOROCCAN_RESTAURANT:7315074,MOSQUE:7339003,MOTEL:7314006,MOTOR_RACING_STADIUM:7374011,MOTORCYCLE_DEALER:9910003,MOTORCYCLE_REPAIR:7310008,MOUNTAIN_BIKE_TRAIL:7302002,MOUNTAIN_PEAK:8099002,MOVING_STORAGE_COMPANY:9352033,MULTI_PURPOSE_STADIUM:7374006,MUSIC_CENTER:7318003,MUSIC_INSTRUMENTS_STORE:9361059,MUSSELS_RESTAURANT:7315136,NAIL_SALON:9361068,NATIONAL_RAILROAD_STATION:7380003,NATURAL_RECREATION_ATTRACTION:9362030,NEPALESE_RESTAURANT:7315111,NETBALL_STADIUM:7374014,NEWSAGENTS_TOBACCONISTS:9361037,NORWEGIAN_RESTAURANT:7315112,OASIS:8099011,OBSERVATORY:7376005,OEM:9352021,OIL_NATURAL_GAS:9352030,OPERA_HOUSE:7318004,OPTICIAN:9361038,ORGANIC_FOOD_RESTAURANT:7315075,ORIENTAL_RESTAURANT:7315035,OTHER_REPAIR_SHOPS:7310005,OTHER_WINTER_SPORT:9362025,PAGODA:7339008,PAKISTANI_RESTAURANT:7315127,PAN:8099009,PARK:9362008,PARKWAY:9362009,PASSENGER_TRANSPORT_TICKET_OFFICE:9932002,PAWN_SHOP:9361070,PEDESTRIAN_SUBWAY:9932003,PERSONAL_CARE_FACILITY:9663003,PERSONAL_SERVICE:9663002,PERUVIAN_RESTAURANT:7315061,PET_SUPPLIES:9361064,PHARMACEUTICAL_COMPANY:9352018,PHOTO_LAB_DEVELOPMENT:9361046,PHOTOCOPY_SHOP:9361047,PICNIC_AREA:9362033,PIZZERIA:7315036,PLAIN_FLAT:8099007,PLANETARIUM:7376006,PLATEAU:8099008,POLISH_RESTAURANT:7315037,POLYNESIAN_RESTAURANT:7315129,PORTUGUESE_RESTAURANT:7315038,PRE_SCHOOL:7372004,PRESERVE:9362010,PRIMARY_PRODUCER:7335003,PRIMARY_SCHOOL:7372005,PRIVATE_AIRPORT:7383003,PRIVATE_CLUB:9379003,PROVENCAL_RESTAURANT:7315130,PUB:9376003,PUB_FOOD:7315039,PUBLIC_MARKET:7332003,PUBLIC_AIRPORT:7383002,PUBLIC_CALL_BOX:9932004,PUBLIC_HEALTH_TECHNOLOGY_COMPANY:9352017,PUBLISHING_TECHNOLOGIES:9352019,QUARRY:8099026,RACE_TRACK:7374013,RAILROAD_SIDING:7380006,RAPIDS:8099015,REAL_ESTATE_COMPANY:9352009,REAL_ESTATE_AGENT:9361015,RECREATION_AREA:9362011,RECREATIONAL_CAMPING_GROUND:7360002,RECREATIONAL_VEHICLE_DEALER:9910005,RECYCLING_SHOP:9361057,REEF:8099014,RESERVOIR:8099013,RESIDENTIAL_ESTATE:7303004,RESORT:7314005,REST_CAMP:7314008,RETAIL_OUTLET:9361063,RETIREMENT_COMMUNITY:7303002,RIDGE:8099004,RIVER_CROSSING:8099024,ROAD_RESCUE:9932006,ROADSIDE_RESTAURANT:7315041,ROCK_CLIMBING_TRAIL:7302006,ROCKS:8099012,RUGBY_GROUND:7374007,ROMANIAN_RESTAURANT:7315131,RUSSIAN_RESTAURANT:7315040,SALAD_BAR:7315143,CAR_ACCESSORIES:7310006,SANDWICH_RESTAURANT:7315042,SAUNA_SOLARIUM_MASSAGE:9378005,SAVINGS_INSTITUTION:9352010,SAVOY_RESTAURANT:7315113,SCANDINAVIAN_RESTAURANT:7315114,SCOTTISH_RESTAURANT:7315115,SEAFOOD:7315043,SEASHORE:9362013,SECURED_ENTRANCE:7389004,SECURITY_PRODUCTS:9361078,SENIOR_HIGH_SCHOOL:7372007,SERVICE_COMPANY:9352002,SHANDONG_RESTAURANT:7315053,SHANGHAI_RESTAURANT:7315055,SHOPPING_SERVICE:9361062,SICHUAN_RESTAURANT:7315056,SICILIAN_RESTAURANT:7315116,SKI_RESORT:9362026,SLAVIC_RESTAURANT:7315117,SLOVAK_RESTAURANT:7315080,SNACKS_RESTAURANT:7315139,SNOOKER_POOL_BILLIARD:9378006,SOCCER_STADIUM:7374004,SOUL_FOOD:7315064,SOUP_RESTAURANT:7315140,SPANISH_RESTAURANT:7315044,SPECIAL_HOSPITAL:7321003,SPECIAL_SCHOOL:7372013,SPECIALIST:9373003,SPECIALTY_FOODS:9361061,SPORT_SCHOOL:7372011,SPORTS_EQUIPMENT_CLOTHING:9361039,STAMP_SHOP:9361074,STATION_ACCESS:7389003,STATUE:7376013,STEAK_HOUSE:7315045,STOCK_EXCHANGE:9160002,SUDANESE_RESTAURANT:7315118,SUPERMARKETS_HYPERMARKETS:7332005,SURINAMESE_RESTAURANT:7315046,SUSHI_RESTAURANT:7315148,SWEDISH_RESTAURANT:7315119,SWISS_RESTAURANT:7315047,SYNAGOG:7339004,SYRIAN_RESTAURANT:7315120,TAILOR_SHOP:9361077,TAIWANESE_RESTAURANT:7315059,TAKEOUT_FOOD:7315145,TAPAS_RESTAURANT:7315076,TAX_SERVICES:9352022,TAXI_STAND:9942003,TAXI_LIMOUSINE_SHUTTLE_SERVICE:9352026,TEA_HOUSE:9376005,TECHNICAL_SCHOOL:7372009,TELECOMMUNICATIONS:9352020,TEMPLE:7339005,TEPPANYAKI_RESTAURANT:7315121,THAI_RESTAURANT:7315048,THEMATIC_SPORT_CENTER:7320005,TIBETAN_RESTAURANT:7315122,PUBLIC_TOILET:9932005,TOWER:7376009,TOWNHOUSE_COMPLEX:7303005,TOYS_GAMES_SHOP:9361040,TRAFFIC_SERVICE_CENTER:7301002,TRAFFIC_CONTROL_DEPARTMENT:7301002,STREETCAR_STOP:9942004,TRANSPORT_COMPANY:9352024,TRAVEL_AGENT:9361041,TRUCK_DEALER:9910006,TRUCK_REPAIR_AND_SERVICE:7310009,TRUCK_WASH:9155003,TUNISIAN_RESTAURANT:7315123,TUNNEL:7376008,TURKISH_RESTAURANT:7315049,TIRE_SERVICE:7310007,URUGUAYAN_RESTAURANT:7315124,VALLEY:8099006,VAN_DEALER:9910007,VARIETY_STORE:9361081,VEGETARIAN_RESTAURANT:7315050,VENEZUELAN_RESTAURANT:7315125,VIETNAMESE_RESTAURANT:7315051,VILLA_RENTAL:7304003,VOCATIONAL_SCHOOL:7372008,WATER_HOLE:7376014,WEDDING_SERVICES:9352046,WEIGH_SCALES:7359003,WELL:8099010,WELSH_RESTAURANT:7315126,WESTERN_RESTAURANT:7315060,WHOLESALE_CLUB:9361066,WILDERNESS_AREA:9362014,WILDLIFE_PARK:9927005,WINE_BAR:9379007,YACHT_BASIN:7347003,YOGURT_JUICE_BAR:7315149,ZOO:9927003,ZOOS_ARBORETA_BOTANICAL_GARDEN:9927,ELECTRONICS_COMPANY:9352015,RIVER_SCENIC_AREA:9362036,HORSE_RIDING_TRAIL:7302005,NATURAL_TOURIST_ATTRACTION:7376004,OPEN_CAR_PARKING_AREA:7369002,MEDICINAL_MARIJUANA_DISPENSARY:9364002,RECREATIONAL_MARIJUANA_DISPENSARY:9364003,ICE_SKATING_RINK:9360,TENNIS_COURT:9369,GOLF_COURSE:9911,WATER_SPORT:9371,SWIMMING_POOL:7338,RESTAURANT_AREA:9359,DENTIST:9374,VETERINARIAN:9375,PHARMACY:7326,EMERGENCY_ROOM:9956,DEPARTMENT_STORE:7327,SHOPPING_CENTER:7373,FIRE_STATION_BRIGADE:7392,NON_GOVERNMENTAL_ORGANIZATION:9152,PRISON_CORRECTIONAL_FACILITY:9154,EMBASSY:7365,LIBRARY:9913,TRANSPORT_AUTHORITY_VEHICLE_REGISTRATION:9151,WELFARE_ORGANIZATION:9153,NATIVE_RESERVATION:9389,COURTHOUSE:9363,POLICE_STATION:7322,PRIMARY_RESOURCE_UTILITY:9150,GOVERNMENT_OFFICE:7367,MILITARY_INSTALLATION:9388,RENT_A_CAR_PARKING:9930,MUSEUM:7317,INDUSTRIAL_BUILDING:9383,PARKING_GARAGE:7313,TOURIST_INFORMATION_OFFICE:7316,MEDIA_FACILITY:9158,WINERY:7349,EMERGENCY_MEDICAL_SERVICE:7391,CASINO:7341,MANUFACTURING_FACILITY:9156,COMMERCIAL_BUILDING:9382,CULTURAL_CENTER:7319,EXHIBITION_CONVENTION_CENTER:9377,RENT_A_CAR_FACILITY:7312,TRUCK_STOP:7358,ADVENTURE_SPORTS_FACILITY:7305,ADVENTURE_SPORTS_VENUE:7305,REST_AREA:7395,RESEARCH_FACILITY:9157,COURIER_DROP_BOX:7388,GAS_STATION:7311,PETROL_STATION:7311,FUEL_FACILITIES:7311,MOTORING_ORGANIZATION_OFFICE:7368,CASH_DISPENSER:7397,ATM:7397,COMMUNITY_CENTER:7363,BEACH:9357,PORT_WAREHOUSE_FACILITY:9159,ELECTRIC_VEHICLE_STATION:7309,SCENIC_PANORAMIC_VIEW:7337,ENTERTAINMENT:9900,BUSINESS_PARK:7378,BANK:7328,HELIPAD_HELICOPTER_LANDING:7308,CHECKPOINT:9955,FRONTIER_CROSSING:7366,MOUNTAIN_PASS:9935,TOLL_GATE:7375,FERRY_TERMINAL:7352},go=(e,t)=>{e.append("apiVersion",String(t.apiVersion)),e.append("key",t.apiKey),t.language&&e.append("language",t.language)},fo=(e,t,n)=>{for(const r of n||[])e.append(t,r)},mo=(e,t,n)=>{Array.isArray(n)&&n.length>0&&e.append(t,n.join(","))},No=(e,t,n)=>{!To(n)&&e.append(t,String(n))},Oo=(e,t)=>{const r=n(t);r&&(e.append("lat",String(r[1])),e.append("lon",String(r[0])))},yo="/maps/orbis/places",Co=(e,t)=>{const n=e.searchParams;go(n,t),No(n,"limit",t.limit),Oo(n,t.position),mo(n,"fuelSet",t.fuelTypes),mo(n,"idxSet",t.indexes),mo(n,"brandSet",t.poiBrands),t.poiCategories&&mo(n,"categorySet",t.poiCategories.map(e=>"number"!=typeof e?Io[e]:e)),mo(n,"connectorSet",t.connectors),mo(n,"mapcodes",t.mapcodes),mo(n,"extendedPostalCodesFor",t.extendedPostalCodesFor),No(n,"minPowerKW",t.minPowerKW),No(n,"maxPowerKW",t.maxPowerKW),No(n,"view",t.view),No(n,"openingHours",t.openingHours),No(n,"timeZone",t.timeZone),No(n,"relatedPois",t.relatedPois),mo(n,"entityTypeSet",t.geographyTypes)},vo=e=>{const t=new URL(`${n=e,n.customServiceBaseURL||`${n.commonBaseURL}${yo}/autocomplete/${n.query}.json`}`);var n;const r=t.searchParams;return e.language=e.language??"en-GB",go(r,e),No(r,"limit",e.limit),Oo(r,e.position),mo(r,"countrySet",e.countries),No(r,"radius",e.radiusMeters),mo(r,"resultSet",e.resultType),t},Po=e=>{const t=e.split(",");return[Number(t[1]),Number(t[0])]},Lo=e=>`${e[1]},${e[0]}`,Uo=e=>{let t,n;return void 0!==e.topLeftPoint?(t=[e.topLeftPoint.lon,e.btmRightPoint.lat],n=[e.btmRightPoint.lon,e.topLeftPoint.lat]):(t=Po(e.southWest),n=Po(e.northEast)),[t[0],t[1],n[0],n[1]]},bo=e=>[e.lon,e.lat],Mo=e=>{const{position:t,...n}=e.context.geoBias||{};return{...e,context:{...e.context,geoBias:{...t&&{position:bo(t)},radiusMeters:n.radius}}}},Ho={requestValidation:{schema:wt},buildRequest:vo,sendRequest:Ot,parseResponse:Mo},wo=async(e,t)=>ft(e,{...Ho,...t},"Autocomplete"),Do={autocompleteSearch:wo,buildAutocompleteSearchRequest:vo,parseAutocompleteSearchResponse:Mo,autocompleteSearchTemplate:Ho},Go=ot({id:Ye()}),jo=e=>{const t=new URL((e=>e.customServiceBaseURL??`${e.commonBaseURL}${yo}/ev/id`)(e)),n=t.searchParams;return go(n,e),n.append("id",e.id),t},zo=e=>e<12?"slow":e<50?"regular":e<150?"fast":"ultra-fast",xo=e=>{const t={count:0,statusCounts:{}};for(const n of e)for(const e of n.chargingPoints)t.count++,t.statusCounts[e.status]=(t.statusCounts[e.status]||0)+1;return t},Bo=(e,t)=>e.type===t.type&&e.ratedPowerKW===t.ratedPowerKW,Fo=(e,t,n)=>{if(e)for(const r of e){const e=n.find(e=>Bo(r,e.connector));if(e){if(e.count++,t){const n=e.statusCounts;e.statusCounts[t]=(n[t]||0)+1}}else n.push({connector:r,count:1,statusCounts:t?{[t]:1}:{}})}},ko=e=>{const t=[];return((e,t)=>{if(e)for(const n of e){const e=t.find(e=>Bo(n,e.connector));e?e.count++:t.push({connector:n,count:1})}})(e,t),t},Wo=e=>{const t=[];for(const n of e)for(const e of n.chargingPoints)Fo(e.connectors,e.status,t);return t},Vo=e=>{const{year:t,month:n,day:r}=(e=>{const t=e.split("-");return{year:Number.parseInt(t[0]),month:Number.parseInt(t[1]),day:Number.parseInt(t[2])}})(e.date);return{dateYYYYMMDD:e.date,year:t,month:n,day:r,hour:e.hour,minute:e.minute,date:new Date(t,n-1,r,e.hour,e.minute)}},Yo=e=>1===e.length&&0===e[0].start.hour&&0===e[0].end.hour,Ko=e=>{const t=e.timeRanges.map(e=>({start:Vo(e.startTime),end:Vo(e.endTime)}));return{mode:e.mode,timeRanges:t,alwaysOpenThisPeriod:Yo(t)}},$o=e=>{const{position:t,entryPoints:n,poi:o,id:i,dist:s,boundingBox:a,chargingPark:c,...u}=e,p=c?.connectors?.map(e=>({...So(e,"connectorType"),type:e.connectorType,chargingSpeed:zo(e.ratedPowerKW)}));return{...r(bo(t)),...a&&{bbox:Uo(a)},id:i,properties:{...So(u,"viewport"),...s&&{distance:s},...n?.length&&{entryPoints:n.map(e=>({...e,position:bo(e.position)}))},...p?.length&&{chargingPark:{...c,connectors:p.map(e=>({...e,chargingSpeed:zo(e.ratedPowerKW)})),connectorCounts:ko(p)}},...o&&{poi:{...So(o,"categorySet","openingHours"),brands:o?.brands?.map(e=>e.name)??[],categoryIds:o?.categorySet?.map(e=>e.id)??[],...o?.openingHours&&{openingHours:Ko(o?.openingHours)}}}}}},Zo=e=>{const{geoBias:t,...n}=e;return{...t&&{geoBias:bo(t)},...n}},qo=e=>{const t=e.results?.[0];return t?{id:t.id,accessType:t.accessType,chargingStations:(n=t.chargingStations,n.map(e=>({...e,chargingPoints:e.chargingPoints.map(e=>({...e,connectors:e.connectors?.map(e=>({...e,chargingSpeed:zo(e.ratedPowerKW)}))}))}))),chargingPointAvailability:xo(t.chargingStations),connectorAvailabilities:Wo(t.chargingStations),...t.openingHours&&{openingHours:Ko(t.openingHours)}}:void 0;var n},Jo={requestValidation:{schema:Go},buildRequest:jo,sendRequest:Ot,parseResponse:qo,parseResponseError:(e,t)=>{const n=e.data?.detailedError?.message??e.message;return new I(n,t,e.status)}},Qo={buildEVChargingStationsAvailabilityRequest:jo,parseEVChargingStationsAvailabilityResponse:qo,evChargingStationsAvailabilityTemplate:Jo},Xo=st(ot({typeahead:qe(),offset:$e().check(ze(1900)),radiusMeters:$e(),boundingBox:Ht,countries:nt(Ye())})),ei=it(ot({query:Ye()}),st(ot({position:Ut,limit:$e().check(ze(100)),extendedPostalCodesFor:nt(Ye()),mapcodes:nt(Ye()),view:dt(o),geographyTypes:nt(Ye())})).shape),ti=it(ei,Xo.shape),ni=e=>e?Array.isArray(e)?e.join(","):"string"==typeof e?e:String(e):"",ri=(e,t)=>{const n=e.length;if(n<=t)return e;const r=[];let o;const i=Math.ceil(n/t);for(o=0;o<n;o+=i)r.push(e[o]);return o>=n-i&&(r.length<t?r.push(e[n-1]):r[r.length-1]=e[n-1]),r},oi=e=>{const t=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${yo}/geocode`)(e)}/${e.query}.json`),n=t.searchParams;go(n,e),e.typeahead&&n.append("typeahead",String(e.typeahead)),!To(e.limit)&&n.append("limit",String(e.limit)),!To(e.offset)&&n.append("ofs",String(e.offset)),Oo(n,e.position),e.countries&&n.append("countrySet",ni(e.countries)),!To(e.radiusMeters)&&n.append("radius",String(e.radiusMeters));const r=e.boundingBox&&i(e.boundingBox);return r&&(n.append("topLeft",ni([r[3],r[0]])),n.append("btmRight",ni([r[1],r[2]]))),e.extendedPostalCodesFor&&n.append("extendedPostalCodesFor",ni(e.extendedPostalCodesFor)),e.mapcodes&&n.append("mapcodes",ni(e.mapcodes)),e.view&&n.append("view",e.view),e.geographyTypes&&n.append("entityTypeSet",ni(e.geographyTypes)),t},ii=e=>{const{position:t,boundingBox:n,dist:o,entryPoints:i,addressRanges:s,entityType:a,id:c,...u}=e;return{...r(bo(t)),...n&&{bbox:Uo(n)},id:c,properties:{...So(u,"viewport"),...o&&{distance:o},...a&&{geographyType:a.split(",")},...i&&{entryPoints:i.map(e=>({...e,position:bo(e.position)}))},...s&&{addressRanges:{...s,from:bo(s.from),to:bo(s.to)}}}}},si=e=>{const t=e.results.map(ii),n=s(i(t));return{type:"FeatureCollection",features:t,...n&&{bbox:n}}},ai={requestValidation:{schema:ti},buildRequest:oi,sendRequest:Ot,parseResponse:si},ci={buildGeocodingRequest:oi,parseGeocodingResponse:si,geocodingTemplate:ai},ui=it(ot({geometries:ct([Lt,nt(ct([Ye(),Pt])).check(Fe(1),Be(20))])}),st(ot({zoom:$e().check(xe(0),ze(22))})).shape),pi=e=>e.map(e=>e.properties.dataSources?.geometry?.id).filter(e=>e),li=e=>{const t=new URL((e=>e.customServiceBaseURL||`${e.commonBaseURL}${yo}/additionalData.json`)(e)),n=t.searchParams;return n.append("apiVersion",String(e.apiVersion)),n.append("key",e.apiKey),((e,t)=>{let n;n=Array.isArray(t)?"string"==typeof t[0]?t:pi(t):pi(t.features),e.append("geometries",ni(n))})(n,e.geometries),No(n,"geometriesZoom",e.zoom),t},Ai=e=>{const t=e.additionalData.flatMap(e=>e.geometryData?.features.map(e=>({...e,bbox:i(e.geometry)}))).filter(e=>e);return{type:"FeatureCollection",bbox:i(t),features:t}},di={requestValidation:{schema:ui},buildRequest:li,sendRequest:Ot,parseResponse:Ai},Ri={buildGeometryDataRequest:li,parseGeometryDataResponse:Ai,geometryDataTemplate:di},Ei=ot(Io),Ti=it(ei,st(ot({indexes:nt(Ye()),poiCategories:nt(ct([$e(),function(e){const t=e._zod.def.shape;return dt(Object.keys(t))}(Ei)])),poiBrands:nt(Ye()),connectors:nt(Ye()),fuelTypes:nt(Ye()),openingHours:Ye(),timeZone:Ye(),relatedPois:Ye(),minPowerKW:$e(),maxPowerKW:$e(),minFuzzyLevel:$e(),mixFuzzyLevel:$e()})).shape),_i=it(Ti,ot({geometries:nt(ct([Lt,vt]))}).shape),hi=e=>{switch(e.type){case"Circle":return[{type:"CIRCLE",radius:e.radius,position:Lo(e.coordinates)}];case"Polygon":return[{type:"POLYGON",vertices:ri(e.coordinates[0],50).map(e=>Lo(e))}];case"MultiPolygon":return e.coordinates.length>50?(e=>{let t=/* @__PURE__ */new Map;return e.coordinates.forEach(e=>{const n=a(e[0]);if(n){const r=Math.abs((n[2]-n[0])*(n[3]-n[1]));t.set(e,r)}}),t=new Map([...t.entries()].sort((e,t)=>t[1]-e[1]).splice(0,50)),[...t.keys()]})(e).flatMap(e=>hi({type:"Polygon",coordinates:e})):e.coordinates.flatMap(e=>hi({type:"Polygon",coordinates:e}));case"FeatureCollection":return e.features.flatMap(e=>hi(e.geometry));default:throw new Error(`Type ${e.type} is not supported`)}},Si=e=>{const t=new URL(`${n=e,n.customServiceBaseURL??`${n.commonBaseURL}${yo}/geometrySearch/${n.query}.json`}`);var n;return Co(t,e),{url:t,data:{geometryList:e.geometries.flatMap(hi)}}},Ii=e=>{const t=e.results.map($o),n=s(i(t));return{type:"FeatureCollection",properties:{...Zo(e.summary)},features:t,...n&&{bbox:n}}},gi={requestValidation:{schema:_i},buildRequest:Si,sendRequest:yt,parseResponse:Ii},fi=async(e,t)=>ft(e,{...gi,...t},"GeometrySearch"),mi={geometrySearch:fi,buildGeometrySearchRequest:Si,parseGeometrySearchResponse:Ii,geometrySearchTemplate:gi},Ni=it(ot({entityId:Ye()}),st(ot({mapcodes:nt(Ye()),view:dt(o),openingHours:Ye(),timeZone:Ye(),relatedPois:Ye()})).shape),Oi=e=>{const t=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${yo}/place.json`)(e)}`),n=t.searchParams;return go(n,e),No(n,"entityId",e.entityId),mo(n,"mapcodes",e.mapcodes),No(n,"view",e.view),No(n,"openingHours",e.openingHours),No(n,"timeZone",e.timeZone),No(n,"relatedPois",e.relatedPois),t},yi=e=>e.results?.length?$o(e.results[0]):void 0,Ci={requestValidation:{schema:Ni},buildRequest:Oi,sendRequest:Ot,parseResponse:yi},vi={buildPlaceByIdRequest:Oi,parsePlaceByIdResponse:yi,placeByIdTemplate:Ci},Pi=$e().check(function(e,t){return new ue({check:"greater_than",...B(t),value:e,inclusive:!1})}(0,Li));var Li;const Ui=$e().check(xe(0)),bi=$e().check(xe(0),ze(100)),Mi=_t(Pi),Hi=_t(Ui),wi=_t($e().check(xe(0),ze(1))),Di=ot({speedKMH:$e(),consumptionUnitsPer100KM:$e()}),Gi={efficiency:_t(ot({acceleration:wi,deceleration:wi,uphill:wi,downhill:wi}))},ji=nt(Di).check(Fe(1),Be(25)),zi=ot({...Gi,speedsToConsumptionsLiters:ji,auxiliaryPowerInLitersPerHour:Hi,fuelEnergyDensityInMJoulesPerLiter:_t($e().check(xe(1)))}),xi=ot({...Gi,speedsToConsumptionsKWH:ji,auxiliaryPowerInkW:Hi,consumptionInKWHPerKMAltitudeGain:_t($e().check(ze(500))),recuperationInKWHPerKMAltitudeLoss:Hi}),Bi=ot({currentType:dt(u),plugTypes:nt(dt(c)).check(Fe(1)),efficiency:wi,baseLoadInkW:Hi,maxPowerInkW:Hi,maxVoltageInV:Hi,maxCurrentInA:Hi,voltageRange:_t(ot({minVoltageInV:Hi,maxVoltageInV:_t($e())}))}),Fi=ot({stateOfChargeInkWh:Ui,maxPowerInkW:Pi}),ki=ot({maxChargeKWH:Pi,batteryCurve:_t(nt(Fi).check(Be(20))),chargingConnectors:_t(nt(Bi).check(Fe(1))),chargingTimeOffsetInSec:Hi}),Wi=ot({consumption:zi}),Vi=ot({consumption:xi,charging:_t(ki)}),Yi=_t(ot({lengthMeters:Mi,widthMeters:Mi,heightMeters:Mi,weightKG:Mi,axleWeightKG:Mi})),Ki=ot({variantId:Ye()}),$i=ot({dimensions:Yi,engine:_t(ct([Wi,Vi]))}),Zi=_t(ct([Ki,$i])),qi=ot({heading:_t($e().check(xe(0),ze(360)))}),Ji=it(qi,ot({currentFuelInLiters:Ui}).shape),Qi=ct([it(qi,ot({currentChargePCT:bi}).shape),it(qi,ot({currentChargeInkWh:Ui}).shape)]),Xi=ot({minChargeAtDestinationPCT:bi,minChargeAtChargingStopsPCT:$e().check(xe(0),ze(50))}),es=ot({minChargeAtDestinationInkWh:Ui,minChargeAtChargingStopsInkWh:Ui}),ts=ot({chargingPreferences:_t(ct([Xi,es]))}),ns={model:Zi,restrictions:_t(ot({loadTypes:_t(nt(dt(["USHazmatClass1","USHazmatClass2","USHazmatClass3","USHazmatClass4","USHazmatClass5","USHazmatClass6","USHazmatClass7","USHazmatClass8","USHazmatClass9","otherHazmatExplosive","otherHazmatGeneral","otherHazmatHarmfulToWater"]))),maxSpeedKMH:_t($e().check(xe(0),ze(250))),adrCode:_t(dt(["B","C","D","E"])),commercial:_t(qe())}))},rs=ot({...ns,engineType:function(e){return function(e,t){return new e({type:"undefined",...B(t)})}(Je,e)}(),state:_t(qi),preferences:_t(ot({}))}),os=ct([function(e,t,n){return new ut({type:"union",options:t,discriminator:e,...B(n)})}("engineType",[ot({...ns,engineType:Et("combustion"),state:_t(Ji),preferences:_t(ot({}))}),ot({...ns,engineType:Et("electric"),state:_t(Qi),preferences:_t(ts)})]),rs]),is=st(ot({costModel:st(ot({avoid:nt(dt(p)),traffic:_t(dt(["live","historical"])),routeType:_t(dt(["fast","short","efficient","thrilling"])),thrillingParams:_t(ot({hilliness:_t(dt(["low","normal","high"])),windingness:_t(dt(["low","normal","high"]))}))})),travelMode:Ye(),vehicle:os,when:ot({option:dt(["departAt","arriveBy"]),date:function(e){return function(e,t){return new e({type:"date",...B(t)})}(et,e)}()})})),ss=it(is,it(ot({origin:Ut,budget:ot({type:dt(["timeMinutes","remainingChargeCPT","spentChargePCT","spentFuelLiters","distanceKM"]),value:$e().check(xe(0))})}),ot({maxFerryLengthMeters:_t($e().check(xe(0)))}).shape).shape),as=e=>e.map(e=>`${e.speedKMH},${e.consumptionUnitsPer100KM}`).join(":"),cs=(e,t,n)=>{((e,t)=>{t&&(!To(t.acceleration)&&e.append("accelerationEfficiency",String(t.acceleration)),!To(t.deceleration)&&e.append("decelerationEfficiency",String(t.deceleration)),!To(t.uphill)&&e.append("uphillEfficiency",String(t.uphill)),!To(t.downhill)&&e.append("downhillEfficiency",String(t.downhill)))})(e,n.consumption.efficiency),"electric"===t?(((e,t)=>{t.speedsToConsumptionsKWH&&e.append("constantSpeedConsumptionInkWhPerHundredkm",as(t.speedsToConsumptionsKWH)),!To(t.auxiliaryPowerInkW)&&e.append("auxiliaryPowerInkW",String(t.auxiliaryPowerInkW)),!To(t.consumptionInKWHPerKMAltitudeGain)&&e.append("consumptionInkWhPerkmAltitudeGain",String(t.consumptionInKWHPerKMAltitudeGain)),!To(t.recuperationInKWHPerKMAltitudeLoss)&&e.append("recuperationInkWhPerkmAltitudeLoss",String(t.recuperationInKWHPerKMAltitudeLoss))})(e,n.consumption),((e,t)=>{const n=t.charging;n?.maxChargeKWH&&e.append("maxChargeInkWh",String(n.maxChargeKWH))})(e,n)):((e,t)=>{const n=t.consumption;n.speedsToConsumptionsLiters&&e.append("constantSpeedConsumptionInLitersPerHundredkm",as(n.speedsToConsumptionsLiters)),!To(n.auxiliaryPowerInLitersPerHour)&&e.append("auxiliaryPowerInLitersPerHour",String(n.auxiliaryPowerInLitersPerHour)),!To(n.fuelEnergyDensityInMJoulesPerLiter)&&e.append("fuelEnergyDensityInMJoulesPerLiter",String(n.fuelEnergyDensityInMJoulesPerLiter))})(e,n)},us=(e,t)=>{t.model&&("variantId"in t.model?e.append("vehicleModelId",t.model.variantId):(((e,t)=>{t&&(t.lengthMeters&&e.append("vehicleLength",String(t.lengthMeters)),t.heightMeters&&e.append("vehicleHeight",String(t.heightMeters)),t.widthMeters&&e.append("vehicleWidth",String(t.widthMeters)),t.weightKG&&e.append("vehicleWeight",String(t.weightKG)),t.axleWeightKG&&e.append("vehicleAxleWeight",String(t.axleWeightKG)))})(e,t.model.dimensions),t.model.engine&&cs(e,"engineType"in t?t.engineType:void 0,t.model.engine)))},ps=(e,t)=>{t&&("electric"===t.engineType&&e.append("vehicleEngineType","electric"),us(e,t),((e,t)=>{if(t.state&&(t.state.heading&&e.append("vehicleHeading",String(t.state.heading)),"engineType"in t))if("combustion"===t.engineType){const n=t.state;n.currentFuelInLiters&&e.append("currentFuelInLiters",String(n.currentFuelInLiters))}else if("electric"===t.engineType){const n=t.state,r=n,o=n;if(r.currentChargeInkWh)e.append("currentChargeInkWh",String(r.currentChargeInkWh));else if(o.currentChargePCT&&t.model&&"engine"in t.model&&t.model.engine){const n=t.model.engine,r=n.charging?.maxChargeKWH;r&&e.append("currentChargeInkWh",String(r*o.currentChargePCT/100))}}})(e,t),((e,t)=>{if(t.preferences&&"engineType"in t&&"electric"===t.engineType){const n=t.preferences;if(n.chargingPreferences){const r=n.chargingPreferences,o=r,i=r;if(o.minChargeAtChargingStopsInkWh||o.minChargeAtDestinationInkWh)e.append("minChargeAtDestinationInkWh",String(o.minChargeAtDestinationInkWh)),e.append("minChargeAtChargingStopsInkWh",String(o.minChargeAtChargingStopsInkWh));else if((i.minChargeAtChargingStopsPCT||i.minChargeAtDestinationPCT)&&t.model&&"engine"in t.model&&t.model.engine){const n=t.model.engine,r=n.charging?.maxChargeKWH;r&&(e.append("minChargeAtDestinationInkWh",String(r*i.minChargeAtDestinationPCT/100)),e.append("minChargeAtChargingStopsInkWh",String(r*i.minChargeAtChargingStopsPCT/100)))}}}})(e,t),((e,t)=>{const n=t.restrictions;n&&(fo(e,"vehicleLoadType",n.loadTypes),n.adrCode&&e.append("vehicleAdrTunnelRestrictionCode",n.adrCode),n.commercial&&e.append("vehicleCommercial",String(n.commercial)),n.maxSpeedKMH&&e.append("vehicleMaxSpeed",String(n.maxSpeedKMH)))})(e,t))},ls=(e,t)=>{const n=t.costModel;fo(e,"avoid",n?.avoid),No(e,"traffic",n?.traffic),((e,t)=>{if(t?.date){const n=t.date.toISOString();"departAt"===t.option?e.append("departAt",n):"arriveBy"===t.option&&e.append("arriveAt",n)}})(e,t.when),No(e,"routeType",n?.routeType),No(e,"travelMode",t.travelMode),ps(e,t.vehicle)},As=e=>{const t=new URL((e=>e.customServiceBaseURL||`${e.commonBaseURL}/routing/1/calculateReachableRange/${Lo(l(e.origin))}/json`)(e)),n=t.searchParams;return go(n,e),ls(n,e),No(n,"maxFerryLengthInMeters",e.maxFerryLengthMeters),t},ds=(e,t)=>{const n={type:"Polygon",coordinates:[e.reachableRange.boundary.map(e=>[e.longitude,e.latitude])]};return{type:"Feature",geometry:n,bbox:i(n),properties:t}},Rs={buildReachableRangeRequest:As,parseReachableRangeResponse:ds,reachableRangeTemplate:{requestValidation:{schema:ss},buildRequest:As,sendRequest:Ot,parseResponse:ds}},Es=e=>{const t=l(e.position),n=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${yo}/reverseGeocode`)(e)}/${t[1]},${t[0]}.json`),r=n.searchParams;return go(r,e),e.allowFreeformNewline&&r.append("allowFreeformNewline",String(e.allowFreeformNewline)),e.geographyType&&r.append("entityType",ni(e.geographyType)),!To(e.heading)&&r.append("heading",String(e.heading)),e.mapcodes&&r.append("mapcodes",ni(e.mapcodes)),e.number&&r.append("number",e.number),!To(e.radiusMeters)&&r.append("radius",String(e.radiusMeters)),e.returnSpeedLimit&&r.append("returnSpeedLimit",String(e.returnSpeedLimit)),e.returnRoadUse&&r.append("returnRoadUse",String(e.returnRoadUse)),e.roadUses&&r.append("roadUse",JSON.stringify(e.roadUses)),n},Ts=(e,t)=>{const n=r(l(t.position)),o=e.addresses[0],{boundingBox:i,sideOfStreet:s,offsetPosition:a,...c}=o?.address||{};return{...n,...i&&{bbox:Uo(i)},id:A(),...o&&{properties:{type:o?.entityType?"Geography":c.streetNumber?"Point Address":"Street",address:c,...o.dataSources&&{dataSources:o.dataSources},...o.mapcodes&&{mapcodes:o.mapcodes},...s&&{sideOfStreet:s},...a&&{offsetPosition:Po(a)},originalPosition:Po(o.position)}}}},_s={requestValidation:{schema:it(ot({position:Ut}),st(ot({allowFreeformNewline:qe(),geographyType:nt(Ye()),heading:$e().check(xe(-360),ze(360)),mapcodes:nt(Ye()),number:Ye(),radiusMeters:$e(),returnMatchType:qe(),returnRoadUse:qe(),returnSpeedLimit:qe(),roadUses:nt(Ye()),view:dt(o)})).shape)},buildRequest:Es,sendRequest:Ot,parseResponse:Ts},hs={buildRevGeoRequest:Es,parseRevGeoResponse:Ts,reverseGeocodingTemplate:_s},Ss=ct([Ut,vt]),Is=ct([Ct,Pt]),gs=it(is,it(ot({locations:nt(ct([Ss,Is])).check(Fe(1))}),st(ot({computeAdditionalTravelTimeFor:dt(["none","all"]),vehicleHeading:$e().check(xe(0),ze(359.5)),maxAlternatives:$e().check(xe(0),ze(5)),sectionTypes:nt(dt(R))})).shape).shape),fs=e=>e.vehicle?.preferences?.chargingPreferences,ms=e=>Array.isArray(e)?e:e.geometry.coordinates,Ns=(e,t,n)=>((e,t)=>e.map(e=>{const n=Lo(l(e,{useEntryPoint:t})),r=(e=>e.properties||null)(e)?.radiusMeters;return r?`circle(${n},${r})`:n}).join(":"))(t.includes("path")?((e,t,n)=>{let r;const o=e[0];r="path"===t[0]?ms(o)[0]:l(o,{useEntryPoint:n});const i=e[e.length-1];let s;if("path"===t[t.length-1]){const e=ms(i);s=e[e.length-1]}else s=l(i,{useEntryPoint:n});return[r,s]})(e,t,n):e,n),Os=e=>({latitude:e[1],longitude:e[0]}),ys=(e,t,n)=>{const r=[],o=[];return e.forEach((i,s)=>{"path"===t[s]?((e,t,n,r,o)=>{const i=r.length;for(const s of ms(e))r.push(Os(s));Array.isArray(e)||(e.properties.sections.leg.forEach((e,n)=>{(t>0||n>0)&&o.push({supportingPointIndex:i+e.startPointIndex,waypointSourceType:"USER_DEFINED"})}),t<n.length-1&&o.push({supportingPointIndex:i+e.geometry.coordinates.length-1,waypointSourceType:"USER_DEFINED"}))})(i,s,e,r,o):((e,t,n,r,o,i)=>{r.push(Os(l(e,{useEntryPoint:i}))),t>0&&t<n.length-1&&o.push({supportingPointIndex:r.length-1,waypointSourceType:"USER_DEFINED"})})(i,s,e,r,o,n)}),{supportingPoints:r,...o.length&&{pointWaypoints:o}}},Cs=e=>{const t=e.locations.map(d),n=e.useEntryPoints??"main-when-available",r=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}/maps/orbis/routing/${fs(e)?"calculateLongDistanceEVRoute":"calculateRoute"}`)(e)}/${Ns(e.locations,t,n)}/json`),o=r.searchParams;go(o,e),"language"in e||o.append("language","en-GB"),ls(o,e),No(o,"computeTravelTimeFor",e.computeAdditionalTravelTimeFor),((e,t)=>{if(t?.guidance){const n=t.guidance;e.append("instructionsType",n.type),e.append("guidanceVersion",String(n.version??2)),e.append("instructionPhonetics",n.phonetics??"IPA"),e.append("instructionRoadShieldReferences",n.roadShieldReferences??"all"),e.append("language",t.language??"en-US")}})(o,e),!To(e.maxAlternatives)&&o.append("maxAlternatives",String(e.maxAlternatives)),((e,t,n)=>{const r=(t??(n?R:E)).map(e=>"vehicleRestricted"===e?"travelMode":e);fo(e,"sectionType",r)})(o,e.sectionTypes,!!e.guidance?.type);for(const s of e.extendedRouteRepresentations??["distance","travelTime"])o.append("extendedRouteRepresentation",s);const i=((e,t,n)=>{const r=t.includes("path"),o=!!fs(e);if(!r&&!o)return null;const i=e.vehicle?.model,s=i?.engine?.charging;return{...r&&ys(e.locations,t,n),...o&&s&&{chargingParameters:So(s,"maxChargeKWH")}}})(e,t,n);return i?{method:"POST",url:r,data:i}:{method:"GET",url:r}},vs=e=>{switch(e){case"Direct_Current":return"DC";case"Alternating_Current_1_Phase":return"AC1";case"Alternating_Current_3_Phase":return"AC3";default:return}},Ps=(e,t)=>{const n=e.chargingConnectionInfo,r=e.chargingParkLocation,o=[r.coordinate.longitude,r.coordinate.latitude],i=[r.street,r.houseNumber].filter(Boolean),s=i.length>0?i.join(", "):"";return{type:"Feature",id:e.chargingParkId,geometry:{type:"Point",coordinates:o},properties:{...So(e,["chargingConnectionInfo","chargingParkLocation"]),type:"POI",address:{freeformAddress:s,...r.street&&{streetName:r.street},...r.houseNumber&&{streetNumber:r.houseNumber},...r.city&&{municipality:r.city},...r.region&&{countrySubdivision:r.region},...r.postalCode&&{postalCode:r.postalCode},...r.country&&{country:r.country}},...n&&{chargingConnectionInfo:{plugType:n.chargingPlugType,currentInA:n.chargingCurrentInA,voltageInV:n.chargingVoltageInV,chargingPowerInkW:n.chargingPowerInkW,currentType:vs(n.chargingCurrentType),chargingSpeed:zo(n.chargingPowerInkW)}},...t&&{targetChargeInPCT:100*e.targetChargeInkWh/t},...e.chargingParkPowerInkW&&{chargingParkSpeed:zo(e.chargingParkPowerInkW)}}}},Ls=(e,t)=>{const n=t?.vehicle?.model?.engine?.charging?.maxChargeKWH;return{lengthInMeters:e.lengthInMeters,historicTrafficTravelTimeInSeconds:e.historicTrafficTravelTimeInSeconds,liveTrafficIncidentsTravelTimeInSeconds:e.liveTrafficIncidentsTravelTimeInSeconds,noTrafficTravelTimeInSeconds:e.noTrafficTravelTimeInSeconds,trafficDelayInSeconds:e.trafficDelayInSeconds,trafficLengthInMeters:e.trafficLengthInMeters,travelTimeInSeconds:e.travelTimeInSeconds,departureTime:new Date(e.departureTime),arrivalTime:new Date(e.arrivalTime),deviationDistanceInMeters:e.deviationDistance,fuelConsumptionInLiters:e.fuelConsumptionInLiters,...e.deviationPoint&&{deviationPoint:[e.deviationPoint.longitude,e.deviationPoint.latitude]},totalChargingTimeInSeconds:e.totalChargingTimeInSeconds,batteryConsumptionInkWh:e.batteryConsumptionInkWh,...n&&e.batteryConsumptionInkWh&&{batteryConsumptionInPCT:100*e.batteryConsumptionInkWh/n},remainingChargeAtArrivalInkWh:e.remainingChargeAtArrivalInkWh,...n&&e.remainingChargeAtArrivalInkWh&&{remainingChargeAtArrivalInPCT:100*e.remainingChargeAtArrivalInkWh/n},...e.chargingInformationAtEndOfLeg&&{chargingInformationAtEndOfLeg:Ps(e.chargingInformationAtEndOfLeg,n)}}},Us=(e,t)=>e.reduce((e,n,r)=>{const o=0===r?0:e[r-1]?.endPointIndex;let i;return To(o)||(i=0===o?n.points?.length>0?n.points.length-1:0:o+n.points?.length),e.push({...!To(o)&&{startPointIndex:o},...i&&{endPointIndex:i},summary:Ls(n.summary,t),id:A()}),e},[]),bs=e=>({id:A(),startPointIndex:e.startPointIndex,endPointIndex:e.endPointIndex}),Ms=e=>({...bs(e),index:e.importantRoadStretchIndex,streetName:e.streetName?.text,roadNumbers:e.roadNumbers?.map(e=>e.text)}),Hs=e=>({...bs(e),countryCodeISO3:e.countryCode}),ws=e=>"other"===e.travelMode?bs(e):null,Ds=e=>{if(e.tec?.causes?.length)return e.tec.causes.map(e=>(e=>{switch(e){case 1:return"jam";case 2:return"accident";case 3:return"roadworks";case 4:return"narrow-lanes";case 5:return"road-closed";case 9:return"danger";case 11:return"animals-on-road";case 13:return"broken-down-vehicle";case 16:return"lane-closed";case 17:return"wind";case 18:return"fog";case 19:return"rain";case 22:return"frost";case 23:return"flooding";default:return"other"}})(e.mainCauseCode));switch(e.simpleCategory){case"JAM":return["jam"];case"ROAD_WORK":return["roadworks"];case"ROAD_CLOSURE":return["road-closed"];default:return["other"]}},Gs=e=>({...bs(e),delayInSeconds:e.delayInSeconds,effectiveSpeedInKmh:e.effectiveSpeedInKmh,categories:Ds(e),magnitudeOfDelay:T[e.magnitudeOfDelay],tec:e.tec}),js=e=>({...bs(e),lanes:e.lanes,laneSeparators:e.laneSeparators,properties:e.properties}),zs=e=>({...bs(e),maxSpeedLimitInKmh:e.maxSpeedLimitInKmh}),xs=e=>({...bs(e),roadShieldReferences:e.roadShieldReferences}),Bs=(e,t)=>(t[e]||(t[e]=[]),t[e]),Fs=e=>{switch(e.sectionType){case"CAR_TRAIN":return{sectionType:"carTrain",mappingFunction:bs};case"COUNTRY":return{sectionType:"country",mappingFunction:Hs};case"FERRY":return{sectionType:"ferry",mappingFunction:bs};case"MOTORWAY":return{sectionType:"motorway",mappingFunction:bs};case"PEDESTRIAN":return{sectionType:"pedestrian",mappingFunction:bs};case"TOLL_VIGNETTE":return{sectionType:"tollVignette",mappingFunction:Hs};case"TOLL":return{sectionType:"toll",mappingFunction:bs};case"TRAFFIC":return{sectionType:"traffic",mappingFunction:Gs};case"TRAVEL_MODE":return{sectionType:"vehicleRestricted",mappingFunction:ws};case"TUNNEL":return{sectionType:"tunnel",mappingFunction:bs};case"UNPAVED":return{sectionType:"unpaved",mappingFunction:bs};case"URBAN":return{sectionType:"urban",mappingFunction:bs};case"CARPOOL":return{sectionType:"carpool",mappingFunction:bs};case"LOW_EMISSION_ZONE":return{sectionType:"lowEmissionZone",mappingFunction:bs};case"LANES":return{sectionType:"lanes",mappingFunction:js};case"SPEED_LIMIT":return{sectionType:"speedLimit",mappingFunction:zs};case"ROAD_SHIELDS":return{sectionType:"roadShields",mappingFunction:xs};case"IMPORTANT_ROAD_STRETCH":return{sectionType:"importantRoadStretch",mappingFunction:Ms}}},ks=(e,t)=>{const n={leg:Us(e.legs,t)};return((e,t)=>{if(Array.isArray(e))for(const n of e){const e=Fs(n),r=e?.mappingFunction(n);r&&Bs(e.sectionType,t).push(r)}})(e.sections,n),n},Ws=1e-4,Vs=(e,t)=>Math.abs(e[0]-t[0])<Ws&&Math.abs(e[1]-t[1])<Ws,Ys=(e,t)=>{const n=[];let r=0;for(const o of e.instructions){const e=[o.maneuverPoint.longitude,o.maneuverPoint.latitude];for(let n=r;n<t.length;n++){if(Vs(t[n],e)){r=n;break}if(n===t.length-1)break}n.push({...o,maneuverPoint:e,pathPointIndex:r,routePath:o.routePath.map(e=>({...e,point:[e.point.longitude,e.point.latitude]}))})}return{instructions:n}},Ks=(e,t)=>{const n=e.routes.map((e,n)=>((e,t,n)=>{const r={type:"LineString",coordinates:e.legs.flatMap(e=>e.points?.map(e=>[e.longitude,e.latitude]))},o=i(r),s=A();return{type:"Feature",geometry:r,id:s,...o&&{bbox:o},properties:{id:s,index:t,summary:Ls(e.summary,n),sections:ks(e,n),...e.guidance&&{guidance:Ys(e.guidance,r.coordinates)},...e.progress&&{progress:e.progress}}}})(e,n,t)),r=i(n);return{type:"FeatureCollection",...r&&{bbox:r},features:n}},$s={requestValidation:{schema:gs,refinements:[{check:e=>!!e.locations.map(d).includes("path")||e.locations.length>=2,message:"When passing waypoints only: at least 2 must be defined. If passing also paths, at least one path must be defined"}]},buildRequest:Cs,sendRequest:async(e,t)=>{const n=e.method;if("GET"===n)return Ot(e.url,t);if("POST"===n)return yt(e,t);throw new Error(`Unsupported HTTP method received: ${n}`)},parseResponse:Ks,parseResponseError:(e,t)=>{const{data:n,message:r,status:o}=e;return new I(n?.error?.description??n?.detailedError?.message??r,t,o)},getAPIVersion:()=>2},Zs={reverseGeocode:hs,geocode:ci,geometryData:Ri,geometrySearch:mi,calculateRoute:{buildCalculateRouteRequest:Cs,parseCalculateRouteResponse:Ks,calculateRouteTemplate:$s},reachableRange:Rs,evChargingStationsAvailability:Qo,placeByID:vi,autocompleteSearch:Do},qs=async(e,t)=>ft(e,{...Jo,...t},"EVChargingStationsAvailability"),Js=async e=>{const t=e.properties.dataSources?.chargingAvailability?.id;if(!t)return e;try{const n=await qs({id:t}),r=e.properties.poi;return n?{...e,properties:{...e.properties,...r&&{poi:{...r,openingHours:n.openingHours}},chargingPark:{...e.properties.chargingPark,availability:n}}}:e}catch(n){return console.error(n),e}},Qs=async(e,t={includeIfAvailabilityUnknown:!0})=>{const n=[];for(const r of e.features){const e=await Js(r);(e.properties.chargingPark?.availability||t.includeIfAvailabilityUnknown)&&n.push(e)}return{...e,features:n,bbox:i(n)}},Xs=async(e,t)=>ft(e,{...ai,...t},"Geocode"),ea=async e=>(await Xs({query:e,limit:1})).features[0];async function ta(e,t){const n=await ft(e,{...di,...t},"GeometryData");return Array.isArray(e.geometries)||"FeatureCollection"!==e.geometries.type?n:((e,t)=>{const n=e.features.reduce((e,t)=>{const n=t.properties.dataSources?.geometry?.id;return n&&(e[n]={...t.properties,placeCoordinates:t.geometry.coordinates}),e},{}),r=t.features.map(e=>e.id&&n[e.id]?{...e,properties:n[e.id]}:e);return{type:"FeatureCollection",bbox:t.bbox,features:r}})(e.geometries,n)}const na=async(e,t)=>ft(e,{...Ci,...t},"PlaceById"),ra=async(e,t)=>ft(e,{..._s,...t},"ReverseGeocode"),oa=async(e,t)=>ft(e,{...$s,...t},"Routing"),ia=it(Ti,it(Xo,st(ot({minFuzzyLevel:$e().check(xe(1),ze(4)),maxFuzzyLevel:$e().check(xe(1),ze(4))})).shape).shape),sa=e=>{let t;switch(e.type){case"COORDINATE":t={...e,details:{position:bo(e.details)}};break;case"NEARBY":t={...e,details:{position:bo({lon:e.details.lon,lat:e.details.lat}),text:e.details.text,query:e.details.query}};break;case"BOOKMARK":case"W3W":t=e}return t},aa={requestValidation:{schema:ia},buildRequest:e=>{const t=new URL(`${n=e,n.customServiceBaseURL??`${n.commonBaseURL}${yo}/search/${n.query}.json`}`);var n;Co(t,e);const r=t.searchParams;No(r,"typeahead",e.typeahead),No(r,"ofs",e.offset),mo(r,"countrySet",e.countries),No(r,"radius",e.radiusMeters);const o=e.boundingBox&&i(e.boundingBox);return o&&(r.append("topLeft",ni([o[3],o[0]])),r.append("btmRight",ni([o[1],o[2]]))),No(r,"minFuzzyLevel",e.minFuzzyLevel),No(r,"maxFuzzyLevel",e.maxFuzzyLevel),t},sendRequest:Ot,parseResponse:e=>{const t=e.results.map($o),n=s(i(t));return{type:"FeatureCollection",properties:{...Zo(e.summary),queryIntent:e.summary.queryIntent.map(sa)},features:t,...n&&{bbox:n}}}},ca=async(e,t)=>"geometries"in e?fi(e,t):(async(e,t)=>ft(e,{...aa,...t},"FuzzySearch"))(e,t);export{S as APIErrorCode,h as SDKError,I as SDKServiceError,wo as autocompleteSearch,Js as buildPlaceWithEVAvailability,Qs as buildPlacesWithEVAvailability,f as buildResponseError,m as buildValidationError,oa as calculateRoute,Zs as customizeService,qs as evChargingStationsAvailability,Xs as geocode,ea as geocodeOne,ta as geometryData,g as parseDefaultResponseError,na as placeById,ra as reverseGeocode,ca as search};
2
2
  //# sourceMappingURL=services.es.js.map