@tomtom-org/maps-sdk 0.30.2 → 0.31.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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tomtom-org/maps-sdk/core");var t=(e=>(e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.FORBIDDEN=403]="FORBIDDEN",e))(t||{});class n extends Error{constructor(e,t,r){super(e),this.service=t,this.issues=r,Error.captureStackTrace&&Error.captureStackTrace(this,n)}}const r={[t.TOO_MANY_REQUESTS]:"Too Many Requests: The API Key is over QPS (Queries per second)",[t.FORBIDDEN]:"Request failed with status code 403"};class o extends n{constructor(e,t,n){super(e,t),this.status=n,this.status&&r[this.status]&&(this.message=r[this.status])}}const i=(e,t)=>{const{data:n,message:r,status:i}=e;return new o(n?.error||n?.errorText||r,t,i)},s=(e,t,r)=>{if(e.status){const n=e;return r?r(n,t):i(n,t)}return new n(e.message,t)},a=(e,t)=>new n(e.message,t,e.issues);function c(e,t,n){function r(n,r){var o;Object.defineProperty(n,"_zod",{value:n._zod??{},enumerable:!1}),(o=n._zod).traits??(o.traits=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 e of o._zod.deferred)e();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 u extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const p={};function l(e){return p}function A(e,t){return"bigint"==typeof t?t.toString():t}function d(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function R(e){return null==e}function E(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const T=Symbol("evaluating");function _(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==T)return void 0===r&&(r=T,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function S(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function h(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}const I="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function g(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const m=new Set(["string","number","symbol"]);function N(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function f(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function O(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 y(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=h(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return S(this,"shape",n),n},checks:[]});return f(e,r)}function C(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 P(e){return"string"==typeof e?e:e?.message}function L(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=P(e.inst?._zod.def?.error?.(e))??P(t?.error?.(e))??P(n.customError?.(e))??P(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function U(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}const b=(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,A,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},M=c("$ZodError",b),H=c("$ZodError",b,{Parent:Error});function w(e){const t=[],n=e.map(e=>"object"==typeof e?e.key:e);for(const e of n)"number"==typeof e?t.push(`[${e}]`):"symbol"==typeof e?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push("."),t.push(e));return t.join("")}const D=(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 u;if(s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>L(e,i,l())));throw I(t,o?.callee),t}return s.value})(H),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=>L(e,i,l())));throw I(t,o?.callee),t}return s.value},G=x(H),F=(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 u;return i.issues.length?{success:!1,error:new(e??M)(i.issues.map(e=>L(e,o,l())))}:{success:!0,data:i.value}})(H),z=(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=>L(e,o,l())))}:{success:!0,data:i.value}})(H),j=/^-?\d+(?:\.\d+)?/,B=/^(?:true|false)$/i,k=/^undefined$/i,W=c("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),V={number:"number",bigint:"bigint",object:"date"},Y=c("$ZodCheckLessThan",(e,t)=>{W.init(e,t);const n=V[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})}}),K=c("$ZodCheckGreaterThan",(e,t)=>{W.init(e,t);const n=V[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})}}),$=c("$ZodCheckMaxLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!R(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=U(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Z=c("$ZodCheckMinLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!R(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=U(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),q=c("$ZodCheckLengthEquals",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!R(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=U(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})}}),J={major:4,minor:1,patch:12},Q=c("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=J;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const t of r)for(const n of t._zod.onattach)n(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=C(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 u;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(o||(o=C(e,t)))});else{if(e.issues.length===t)continue;o||(o=C(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(C(n))return n.aborted=!0,n;const s=t(o,r,i);if(s instanceof Promise){if(!1===i.async)throw new u;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 u;return s.then(e=>t(e,r,i))}return t(s,r,i)}}e["~standard"]={validate:t=>{try{const n=F(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return z(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),X=c("$ZodString",(e,t)=>{var n;Q.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(e){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ee=c("$ZodNumber",(e,t)=>{Q.init(e,t),e._zod.pattern=e._zod.bag.pattern??j,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}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}}),te=c("$ZodBoolean",(e,t)=>{Q.init(e,t),e._zod.pattern=B,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(e){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),ne=c("$ZodUndefined",(e,t)=>{Q.init(e,t),e._zod.pattern=k,e._zod.values=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}}),re=c("$ZodAny",(e,t)=>{Q.init(e,t),e._zod.parse=e=>e}),oe=c("$ZodDate",(e,t)=>{Q.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(e){}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 ie(e,t,n){e.issues.length&&t.issues.push(...v(n,e.issues)),t.value[n]=e.value}const se=c("$ZodArray",(e,t)=>{Q.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=>ie(t,n,e))):ie(a,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function ae(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 ce(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": 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 ue=c("$ZodObject",(e,t)=>{Q.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=d(()=>ce(t));_(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]=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=>ae(n,t,e,a))):ae(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 o of Object.keys(t)){if(a.has(o))continue;if("never"===u){s.push(o);continue}const i=c.run({value:t[o],issues:[]},r);i instanceof Promise?e.push(i.then(e=>ae(e,n,o,t))):ae(i,n,o,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 pe(e,t,n,r){for(const n of e)if(0===n.issues.length)return t.value=n.value,t;const o=e.filter(e=>!C(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=>L(e,r,l())))}),t)}const le=c("$ZodUnion",(e,t)=>{Q.init(e,t),_(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),_(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),_(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),_(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=>E(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=>pe(t,o,e,i)):pe(a,o,e,i)}}),Ae=c("$ZodDiscriminatedUnion",(e,t)=>{le.init(e,t);const n=e._zod.parse;_(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]=new Set);for(const r of n)e[t].add(r)}}return e});const r=d(()=>{const e=t.options,n=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)}}),de=c("$ZodTuple",(e,t)=>{Q.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=>Re(e,o,c))):Re(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=>Re(e,o,c))):Re(e,o,c)}}return a.length?Promise.all(a).then(()=>o):o}});function Re(e,t,n){e.issues.length&&t.issues.push(...v(n,e.issues)),t.value[n]=e.value}const Ee=c("$ZodEnum",(e,t)=>{Q.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=>m.has(typeof e)).map(e=>"string"==typeof e?N(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}}),Te=c("$ZodLiteral",(e,t)=>{if(Q.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?N(e):e?N(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 _e(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const Se=c("$ZodOptional",(e,t)=>{Q.init(e,t),e._zod.optin="optional",e._zod.optout="optional",_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),_(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${E(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=>_e(t,e.value)):_e(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),he=c("$ZodCustom",(e,t)=>{W.init(e,t),Q.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=>Ie(t,n,r,e));Ie(o,n,r,e)}});function Ie(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 Y({check:"less_than",...O(t),value:e,inclusive:!0})}function me(e,t){return new K({check:"greater_than",...O(t),value:e,inclusive:!0})}function Ne(e,t){return new $({check:"max_length",...O(t),maximum:e})}function fe(e,t){return new Z({check:"min_length",...O(t),minimum:e})}function Oe(e,t){return new q({check:"length_equals",...O(t),length:e})}const ye=c("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Q.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>D(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>F(e,t,n),e.parseAsync=async(t,n)=>G(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>z(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)=>f(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e)}),Ce=c("ZodMiniString",(e,t)=>{X.init(e,t),ye.init(e,t)});function ve(e){return function(e,t){return new e({type:"string",...O(t)})}(Ce,e)}const Pe=c("ZodMiniNumber",(e,t)=>{ee.init(e,t),ye.init(e,t)});function Le(e){return function(e,t){return new e({type:"number",checks:[],...O(t)})}(Pe,e)}const Ue=c("ZodMiniBoolean",(e,t)=>{te.init(e,t),ye.init(e,t)});function be(e){return function(e,t){return new e({type:"boolean",...O(t)})}(Ue,e)}const Me=c("ZodMiniUndefined",(e,t)=>{ne.init(e,t),ye.init(e,t)});const He=c("ZodMiniAny",(e,t)=>{re.init(e,t),ye.init(e,t)});function we(){return new He({type:"any"})}const De=c("ZodMiniDate",(e,t)=>{oe.init(e,t),ye.init(e,t)});const xe=c("ZodMiniArray",(e,t)=>{se.init(e,t),ye.init(e,t)});function Ge(e,t){return new xe({type:"array",element:e,...O(t)})}const Fe=c("ZodMiniObject",(e,t)=>{ue.init(e,t),ye.init(e,t),_(e,"shape",()=>t.shape)});function ze(e,t){const n={type:"object",shape:e??{},...O(t)};return new Fe(n)}function je(e,t){return y(e,t)}function Be(e,t){return function(e,t){const n=h(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 S(this,"shape",r),r},checks:[]});return f(t,n)}(Qe,e)}const ke=c("ZodMiniUnion",(e,t)=>{le.init(e,t),ye.init(e,t)});function We(e,t){return new ke({type:"union",options:e,...O(t)})}const Ve=c("ZodMiniDiscriminatedUnion",(e,t)=>{Ae.init(e,t),ye.init(e,t)});const Ye=c("ZodMiniTuple",(e,t)=>{de.init(e,t),ye.init(e,t)});function Ke(e,t,n){const r=t instanceof Q;return new Ye({type:"tuple",items:e,rest:r?t:null,...O(r?n:t)})}const $e=c("ZodMiniEnum",(e,t)=>{Ee.init(e,t),ye.init(e,t),e.options=Object.values(t.entries)});function Ze(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new $e({type:"enum",entries:n,...O(t)})}const qe=c("ZodMiniLiteral",(e,t)=>{Te.init(e,t),ye.init(e,t)});function Je(e,t){return new qe({type:"literal",values:Array.isArray(e)?e:[e],...O(t)})}const Qe=c("ZodMiniOptional",(e,t)=>{Se.init(e,t),ye.init(e,t)});function Xe(e){return new Qe({type:"optional",innerType:e})}const et=c("ZodMiniCustom",(e,t)=>{he.init(e,t),ye.init(e,t)});function tt(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...O(n)})}(et,e,t)}const nt=Be(ze({apiKey:ve(),commonBaseURL:ve(),customServiceBaseURL:ve(),language:ve()}));class rt extends Error{constructor(e){super(function(e){const t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(const e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${w(e.path)}`);return t.join("\n")}(e)),this.issues=e.issues}}const ot=async(t,n,r)=>{const o=n.getAPIVersion?.(t),i=e.mergeFromGlobal({...t,...o&&{apiVersion:o}});if(void 0===t.validateRequest||t.validateRequest)try{((e,t)=>{const n=(t?.schema?je(nt,t.schema.shape):nt).check(tt(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(tt(e.check,e.message))}const o=(r??n).safeParse(e);if(!o.success)throw new rt(o.error)})(i,n.requestValidation)}catch(e){return Promise.reject(a(e,r))}const c=n.buildRequest(i),u=e.generateTomTomHeaders(i);t.onAPIRequest?.(c);try{const e=await n.sendRequest(c,u);return t.onAPIResponse?.(c,e),n.parseResponse(await e.data,i)}catch(e){return t.onAPIResponse?.(c,e),Promise.reject(s(e,r,n.parseResponseError))}},it=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}},st=async(e,t)=>it(await fetch(e,{headers:t})),at=async(e,t)=>it(await fetch(e.url,{method:"POST",body:JSON.stringify(e.data),headers:{...t,"Content-Type":"application/json"}})),ct=Ge(Ge(Le())),ut=ze({type:Ze(["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","Circle"]),coordinates:We([Ge(Le()),ct,Ge(Ge(Ge(Le()))),Ge(Ge(Ge(Ge(Le()))))]),radius:Xe(Le()),radiusMeters:Xe(Le()),bbox:Xe(Ge(Le()))}).check(tt(e=>"Circle"!==e.type||Boolean(e.radius),'type: "Circle" must have radius property')),pt=ze({type:Je("Feature"),geometry:ut,id:Xe(We([ve(),Le()])),properties:we(),bbox:Xe(Ge(Le()))}),lt=ze({type:Je("FeatureCollection"),features:Ge(pt),id:Xe(We([ve(),Le()])),properties:we(),bbox:Xe(Ge(Le()))}),At=We([Ke([Le().check(me(-180),ge(180)),Le().check(me(-90),ge(90))]),Ke([Le().check(me(-180),ge(180)),Le().check(me(-90),ge(90)),Le()]),ze({type:Je("Point"),coordinates:Ge(Le())}),pt]),dt=We([Ge(Le()).check(Oe(4)),Ge(Le()).check(Oe(6))]),Rt=We([ut,pt,lt]),Et=We([dt,Rt,Ge(Rt)]),Tt=je(ze({query:ve()}),Be(ze({position:At,limit:Le().check(ge(100)),radiusMeters:Le(),countries:Ge(ve()),resultType:Ge(ve())})).shape);var _t="object"==typeof global&&global&&global.Object===Object&&global,St="object"==typeof self&&self&&self.Object===Object&&self,ht=_t||St||Function("return this")(),It=ht.Symbol,gt=Object.prototype,mt=gt.hasOwnProperty,Nt=gt.toString,ft=It?It.toStringTag:void 0;var Ot=Object.prototype.toString;var yt=It?It.toStringTag:void 0;function Ct(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":yt&&yt in Object(e)?function(e){var t=mt.call(e,ft),n=e[ft];try{e[ft]=void 0;var r=!0}catch(e){}var o=Nt.call(e);return r&&(t?e[ft]=n:delete e[ft]),o}(e):function(e){return Ot.call(e)}(e)}function vt(e){return null!=e&&"object"==typeof e}function Pt(e){return"symbol"==typeof e||vt(e)&&"[object Symbol]"==Ct(e)}function Lt(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 Ut=Array.isArray,bt=It?It.prototype:void 0,Mt=bt?bt.toString:void 0;function Ht(e){if("string"==typeof e)return e;if(Ut(e))return Lt(e,Ht)+"";if(Pt(e))return Mt?Mt.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function wt(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Dt(e){if(!wt(e))return!1;var t=Ct(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var xt,Gt=ht["__core-js_shared__"],Ft=(xt=/[^.]+$/.exec(Gt&&Gt.keys&&Gt.keys.IE_PROTO||""))?"Symbol(src)_1."+xt:"";var zt=Function.prototype.toString;function jt(e){if(null!=e){try{return zt.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Bt=/^\[object .+?Constructor\]$/,kt=Function.prototype,Wt=Object.prototype,Vt=kt.toString,Yt=Wt.hasOwnProperty,Kt=RegExp("^"+Vt.call(Yt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $t(e){return!(!wt(e)||(t=e,Ft&&Ft in t))&&(Dt(e)?Kt:Bt).test(jt(e));var t}function Zt(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return $t(n)?n:void 0}var qt=Zt(ht,"WeakMap");var Jt=Date.now;var Qt,Xt,en,tn=function(){try{var e=Zt(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),nn=tn?function(e,t){return tn(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:function(e){return e},rn=(Qt=nn,Xt=0,en=0,function(){var e=Jt(),t=16-(e-en);if(en=e,t>0){if(++Xt>=800)return arguments[0]}else Xt=0;return Qt.apply(void 0,arguments)});var on=/^(?:0|[1-9]\d*)$/;function sn(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&on.test(e))&&e>-1&&e%1==0&&e<t}function an(e,t,n){"__proto__"==t&&tn?tn(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 un=Object.prototype.hasOwnProperty;function pn(e,t,n){var r=e[t];un.call(e,t)&&cn(r,n)&&(void 0!==n||t in e)||an(e,t,n)}var ln=Math.max;function An(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var dn=Object.prototype;function Rn(e){return vt(e)&&"[object Arguments]"==Ct(e)}var En=Object.prototype,Tn=En.hasOwnProperty,_n=En.propertyIsEnumerable,Sn=Rn(function(){return arguments}())?Rn:function(e){return vt(e)&&Tn.call(e,"callee")&&!_n.call(e,"callee")};var hn="object"==typeof exports&&exports&&!exports.nodeType&&exports,In=hn&&"object"==typeof module&&module&&!module.nodeType&&module,gn=In&&In.exports===hn?ht.Buffer:void 0,mn=(gn?gn.isBuffer:void 0)||function(){return!1},Nn={};function fn(e){return function(t){return e(t)}}Nn["[object Float32Array]"]=Nn["[object Float64Array]"]=Nn["[object Int8Array]"]=Nn["[object Int16Array]"]=Nn["[object Int32Array]"]=Nn["[object Uint8Array]"]=Nn["[object Uint8ClampedArray]"]=Nn["[object Uint16Array]"]=Nn["[object Uint32Array]"]=!0,Nn["[object Arguments]"]=Nn["[object Array]"]=Nn["[object ArrayBuffer]"]=Nn["[object Boolean]"]=Nn["[object DataView]"]=Nn["[object Date]"]=Nn["[object Error]"]=Nn["[object Function]"]=Nn["[object Map]"]=Nn["[object Number]"]=Nn["[object Object]"]=Nn["[object RegExp]"]=Nn["[object Set]"]=Nn["[object String]"]=Nn["[object WeakMap]"]=!1;var On="object"==typeof exports&&exports&&!exports.nodeType&&exports,yn=On&&"object"==typeof module&&module&&!module.nodeType&&module,Cn=yn&&yn.exports===On&&_t.process,vn=function(){try{var e=yn&&yn.require&&yn.require("util").types;return e||Cn&&Cn.binding&&Cn.binding("util")}catch(e){}}(),Pn=vn&&vn.isTypedArray,Ln=Pn?fn(Pn):function(e){return vt(e)&&An(e.length)&&!!Nn[Ct(e)]};function Un(e,t){var n=Ut(e),r=!n&&Sn(e),o=!n&&!r&&mn(e),i=!n&&!r&&!o&&Ln(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)||sn(u,c))||a.push(u);return a}var bn=Object.prototype.hasOwnProperty;function Mn(e){if(!wt(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||dn)),o=[];for(var i in e)("constructor"!=i||!r&&bn.call(e,i))&&o.push(i);return o}function Hn(e){return null!=(t=e)&&An(t.length)&&!Dt(t)?Un(e):Mn(e);var t}var wn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dn=/^\w*$/;var xn=Zt(Object,"create");var Gn=Object.prototype.hasOwnProperty;var Fn=Object.prototype.hasOwnProperty;function zn(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 jn(e,t){for(var n=e.length;n--;)if(cn(e[n][0],t))return n;return-1}zn.prototype.clear=function(){this.__data__=xn?xn(null):{},this.size=0},zn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},zn.prototype.get=function(e){var t=this.__data__;if(xn){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Gn.call(t,e)?t[e]:void 0},zn.prototype.has=function(e){var t=this.__data__;return xn?void 0!==t[e]:Fn.call(t,e)},zn.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 Bn=Array.prototype.splice;function kn(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])}}kn.prototype.clear=function(){this.__data__=[],this.size=0},kn.prototype.delete=function(e){var t=this.__data__,n=jn(t,e);return!(n<0)&&(n==t.length-1?t.pop():Bn.call(t,n,1),--this.size,!0)},kn.prototype.get=function(e){var t=this.__data__,n=jn(t,e);return n<0?void 0:t[n][1]},kn.prototype.has=function(e){return jn(this.__data__,e)>-1},kn.prototype.set=function(e,t){var n=this.__data__,r=jn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var Wn=Zt(ht,"Map");function Vn(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 Yn(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])}}Yn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(Wn||kn),string:new zn}},Yn.prototype.delete=function(e){var t=Vn(this,e).delete(e);return this.size-=t?1:0,t},Yn.prototype.get=function(e){return Vn(this,e).get(e)},Yn.prototype.has=function(e){return Vn(this,e).has(e)},Yn.prototype.set=function(e,t){var n=Vn(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Kn(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(Kn.Cache||Yn),n}Kn.Cache=Yn;var $n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Zn=/\\(\\)?/g,qn=function(e){var t=Kn(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($n,function(e,n,r,o){t.push(r?o.replace(Zn,"$1"):n||e)}),t});function Jn(e,t){return Ut(e)?e:function(e,t){if(Ut(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Pt(e))||Dn.test(e)||!wn.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:qn(function(e){return null==e?"":Ht(e)}(e))}function Qn(e){if("string"==typeof e||Pt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Xn(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}var er=It?It.isConcatSpreadable:void 0;function tr(e){return Ut(e)||Sn(e)||!!(er&&e&&e[er])}function nr(e){return(null==e?0:e.length)?function(e,t,n,r,o){var i=-1,s=e.length;for(n||(n=tr),o||(o=[]);++i<s;){var a=e[i];n(a)?Xn(o,a):o[o.length]=a}return o}(e):[]}var rr=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),or=Function.prototype,ir=Object.prototype,sr=or.toString,ar=ir.hasOwnProperty,cr=sr.call(Object);function ur(e){var t=this.__data__=new kn(e);this.size=t.size}ur.prototype.clear=function(){this.__data__=new kn,this.size=0},ur.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ur.prototype.get=function(e){return this.__data__.get(e)},ur.prototype.has=function(e){return this.__data__.has(e)},ur.prototype.set=function(e,t){var n=this.__data__;if(n instanceof kn){var r=n.__data__;if(!Wn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Yn(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,Ar=lr&&lr.exports===pr?ht.Buffer:void 0;function dr(){return[]}Ar&&Ar.allocUnsafe;var Rr=Object.prototype.propertyIsEnumerable,Er=Object.getOwnPropertySymbols,Tr=Er?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}(Er(e),function(t){return Rr.call(e,t)}))}:dr,_r=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Xn(t,Tr(e)),e=rr(e);return t}:dr;function Sr(e){return function(e,t,n){var r=t(e);return Ut(e)?r:Xn(r,n(e))}(e,Hn,_r)}var hr=Zt(ht,"DataView"),Ir=Zt(ht,"Promise"),gr=Zt(ht,"Set"),mr="[object Map]",Nr="[object Promise]",fr="[object Set]",Or="[object WeakMap]",yr="[object DataView]",Cr=jt(hr),vr=jt(Wn),Pr=jt(Ir),Lr=jt(gr),Ur=jt(qt),br=Ct;(hr&&br(new hr(new ArrayBuffer(1)))!=yr||Wn&&br(new Wn)!=mr||Ir&&br(Ir.resolve())!=Nr||gr&&br(new gr)!=fr||qt&&br(new qt)!=Or)&&(br=function(e){var t=Ct(e),n="[object Object]"==t?e.constructor:void 0,r=n?jt(n):"";if(r)switch(r){case Cr:return yr;case vr:return mr;case Pr:return Nr;case Lr:return fr;case Ur:return Or}return t});var Mr=Object.prototype.hasOwnProperty;var Hr=ht.Uint8Array;function wr(e){var t=new e.constructor(e.byteLength);return new Hr(t).set(new Hr(e)),t}var Dr=/\w*$/;var xr=It?It.prototype:void 0,Gr=xr?xr.valueOf:void 0;function Fr(e,t,n){var r,o,i,s,a,c=e.constructor;switch(t){case"[object ArrayBuffer]":return wr(e);case"[object Boolean]":case"[object Date]":return new c(+e);case"[object DataView]":return a=wr((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=wr(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,Dr.exec(o))).lastIndex=o.lastIndex,i;case"[object Symbol]":return r=e,Gr?Object(Gr.call(r)):{}}}var zr=vn&&vn.isMap,jr=zr?fn(zr):function(e){return vt(e)&&"[object Map]"==br(e)};var Br=vn&&vn.isSet,kr=Br?fn(Br):function(e){return vt(e)&&"[object Set]"==br(e)},Wr="[object Arguments]",Vr="[object Function]",Yr="[object Object]",Kr={};function $r(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(!wt(e))return e;var a=Ut(e);if(a)s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Mr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e);else{var c=br(e),u=c==Vr||"[object GeneratorFunction]"==c;if(mn(e))return e.slice();if(c==Yr||c==Wr||u&&!o)s={};else{if(!Kr[c])return o?e:{};s=Fr(e,c)}}i||(i=new ur);var p=i.get(e);if(p)return p;i.set(e,s),kr(e)?e.forEach(function(r){s.add($r(r,t,n,r,e,i))}):jr(e)&&e.forEach(function(r,o){s.set(o,$r(r,t,n,o,e,i))});var l=a?void 0:Sr(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,$r(r,t,n,o,e,i))}),s}function Zr(e,t){return t.length<2?e:function(e,t){for(var n=0,r=(t=Jn(t,e)).length;null!=e&&n<r;)e=e[Qn(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 qr(e){return null==e}function Jr(e,t){return null==(e=Zr(e,t=Jn(t,e)))||delete e[Qn((n=t,r=null==n?0:n.length,r?n[r-1]:void 0))];var n,r}function Qr(e){return function(e){if(!vt(e)||"[object Object]"!=Ct(e))return!1;var t=rr(e);if(null===t)return!0;var n=ar.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&sr.call(n)==cr}(e)?void 0:e}Kr[Wr]=Kr["[object Array]"]=Kr["[object ArrayBuffer]"]=Kr["[object DataView]"]=Kr["[object Boolean]"]=Kr["[object Date]"]=Kr["[object Float32Array]"]=Kr["[object Float64Array]"]=Kr["[object Int8Array]"]=Kr["[object Int16Array]"]=Kr["[object Int32Array]"]=Kr["[object Map]"]=Kr["[object Number]"]=Kr[Yr]=Kr["[object RegExp]"]=Kr["[object Set]"]=Kr["[object String]"]=Kr["[object Symbol]"]=Kr["[object Uint8Array]"]=Kr["[object Uint8ClampedArray]"]=Kr["[object Uint16Array]"]=Kr["[object Uint32Array]"]=!0,Kr["[object Error]"]=Kr[Vr]=Kr["[object WeakMap]"]=!1;var Xr=function(e){return rn(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,nr),e+"")}(function(e,t){var n={};if(null==e)return n;var r=!1;t=Lt(t,function(t){return t=Jn(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?an(n,s,a):pn(n,s,a)}}(e,Sr(e),n),r&&(n=$r(n,7,Qr));for(var o=t.length;o--;)Jr(n,t[o]);return n});const eo={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},to=(e,t)=>{e.append("apiVersion",String(t.apiVersion)),e.append("key",t.apiKey),t.language&&e.append("language",t.language)},no=(e,t,n)=>{for(const r of n||[])e.append(t,r)},ro=(e,t,n)=>{Array.isArray(n)&&n.length>0&&e.append(t,n.join(","))},oo=(e,t,n)=>{!qr(n)&&e.append(t,String(n))},io=(t,n)=>{const r=e.getPosition(n);r&&(t.append("lat",String(r[1])),t.append("lon",String(r[0])))},so="/maps/orbis/places",ao=(e,t)=>{const n=e.searchParams;to(n,t),oo(n,"limit",t.limit),io(n,t.position),ro(n,"fuelSet",t.fuelTypes),ro(n,"idxSet",t.indexes),ro(n,"brandSet",t.poiBrands),t.poiCategories&&ro(n,"categorySet",t.poiCategories.map(e=>"number"!=typeof e?eo[e]:e)),ro(n,"connectorSet",t.connectors),ro(n,"mapcodes",t.mapcodes),ro(n,"extendedPostalCodesFor",t.extendedPostalCodesFor),oo(n,"minPowerKW",t.minPowerKW),oo(n,"maxPowerKW",t.maxPowerKW),oo(n,"view",t.view),oo(n,"openingHours",t.openingHours),oo(n,"timeZone",t.timeZone),oo(n,"relatedPois",t.relatedPois),ro(n,"entityTypeSet",t.geographyTypes)},co=e=>{const t=new URL(`${n=e,n.customServiceBaseURL||`${n.commonBaseURL}${so}/autocomplete/${n.query}.json`}`);var n;const r=t.searchParams;return e.language=e.language??"en-GB",to(r,e),oo(r,"limit",e.limit),io(r,e.position),ro(r,"countrySet",e.countries),oo(r,"radius",e.radiusMeters),ro(r,"resultSet",e.resultType),t},uo=e=>{const t=e.split(",");return[Number(t[1]),Number(t[0])]},po=e=>`${e[1]},${e[0]}`,lo=e=>{let t,n;return void 0!==e.topLeftPoint?(t=[e.topLeftPoint.lon,e.btmRightPoint.lat],n=[e.btmRightPoint.lon,e.topLeftPoint.lat]):(t=uo(e.southWest),n=uo(e.northEast)),[t[0],t[1],n[0],n[1]]},Ao=e=>[e.lon,e.lat],Ro=e=>{const{position:t,...n}=e.context.geoBias||{};return{...e,context:{...e.context,geoBias:{...t&&{position:Ao(t)},radiusMeters:n.radius}}}},Eo={requestValidation:{schema:Tt},buildRequest:co,sendRequest:st,parseResponse:Ro},To=async(e,t)=>ot(e,{...Eo,...t},"Autocomplete"),_o={autocompleteSearch:To,buildAutocompleteSearchRequest:co,parseAutocompleteSearchResponse:Ro,autocompleteSearchTemplate:Eo},So=ze({id:ve()}),ho=e=>{const t=new URL((e=>e.customServiceBaseURL??`${e.commonBaseURL}${so}/ev/id`)(e)),n=t.searchParams;return to(n,e),n.append("id",e.id),t},Io=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}:{}})}},mo=e=>{const t=[];return go(e,void 0,t),t},No=e=>{const t=[];for(const n of e)for(const e of n.chargingPoints)go(e.connectors,e.status,t);return t},fo=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)}},Oo=e=>1===e.length&&0===e[0].start.hour&&0===e[0].end.hour,yo=e=>{const t=e.timeRanges.map(e=>({start:fo(e.startTime),end:fo(e.endTime)}));return{mode:e.mode,timeRanges:t,alwaysOpenThisPeriod:Oo(t)}},Co=t=>{const{position:n,entryPoints:r,poi:o,id:i,dist:s,boundingBox:a,chargingPark:c,...u}=t,p=c?.connectors?.map(e=>({...Xr(e,"connectorType"),type:e.connectorType}));return{...e.toPointFeature(Ao(n)),...a&&{bbox:lo(a)},id:i,properties:{...Xr(u,"viewport"),...s&&{distance:s},...r&&{entryPoints:r.map(e=>({...e,position:Ao(e.position)}))},...p&&{chargingPark:{...c,connectors:p,connectorCounts:mo(p)}},poi:{...Xr(o,"categorySet","openingHours"),brands:o?.brands?.map(e=>e.name)??[],categoryIds:o?.categorySet?.map(e=>e.id)??[],...o?.openingHours&&{openingHours:yo(o?.openingHours)}}}}},vo=e=>{const{geoBias:t,...n}=e;return{...t&&{geoBias:Ao(t)},...n}},Po=e=>{const t=e.results?.[0];return t?{id:t.id,accessType:t.accessType,chargingStations:t.chargingStations,chargingPointAvailability:Io(t.chargingStations),connectorAvailabilities:No(t.chargingStations),...t.openingHours&&{openingHours:yo(t.openingHours)}}:void 0},Lo={requestValidation:{schema:So},buildRequest:ho,sendRequest:st,parseResponse:Po,parseResponseError:(e,t)=>{const n=e.data?.detailedError?.message??e.message;return new o(n,t,e.status)}},Uo={buildEVChargingStationsAvailabilityRequest:ho,parseEVChargingStationsAvailabilityResponse:Po,evChargingStationsAvailabilityTemplate:Lo},bo=Be(ze({typeahead:be(),offset:Le().check(ge(1900)),radiusMeters:Le(),boundingBox:Et,countries:Ge(ve())})),Mo=je(ze({query:ve()}),Be(ze({position:At,limit:Le().check(ge(100)),extendedPostalCodesFor:Ge(ve()),mapcodes:Ge(ve()),view:Ze(e.views),geographyTypes:Ge(ve())})).shape),Ho=je(Mo,bo.shape),wo=e=>e?Array.isArray(e)?e.join(","):"string"==typeof e?e:String(e):"",Do=(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=t=>{const n=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/geocode`)(t)}/${t.query}.json`),r=n.searchParams;to(r,t),t.typeahead&&r.append("typeahead",String(t.typeahead)),!qr(t.limit)&&r.append("limit",String(t.limit)),!qr(t.offset)&&r.append("ofs",String(t.offset)),io(r,t.position),t.countries&&r.append("countrySet",wo(t.countries)),!qr(t.radiusMeters)&&r.append("radius",String(t.radiusMeters));const o=t.boundingBox&&e.bboxFromGeoJSON(t.boundingBox);return o&&(r.append("topLeft",wo([o[3],o[0]])),r.append("btmRight",wo([o[1],o[2]]))),t.extendedPostalCodesFor&&r.append("extendedPostalCodesFor",wo(t.extendedPostalCodesFor)),t.mapcodes&&r.append("mapcodes",wo(t.mapcodes)),t.view&&r.append("view",t.view),t.geographyTypes&&r.append("entityTypeSet",wo(t.geographyTypes)),n},Go=t=>{const{position:n,boundingBox:r,dist:o,entryPoints:i,addressRanges:s,entityType:a,id:c,...u}=t;return{...e.toPointFeature(Ao(n)),...r&&{bbox:lo(r)},id:c,properties:{...Xr(u,"viewport"),...o&&{distance:o},...a&&{geographyType:a.split(",")},...i&&{entryPoints:i.map(e=>({...e,position:Ao(e.position)}))},...s&&{addressRanges:{...s,from:Ao(s.from),to:Ao(s.to)}}}}},Fo=t=>{const n=t.results.map(Go),r=e.bboxOnlyIfWithArea(e.bboxFromGeoJSON(n));return{type:"FeatureCollection",features:n,...r&&{bbox:r}}},zo={requestValidation:{schema:Ho},buildRequest:xo,sendRequest:st,parseResponse:Fo},jo={buildGeocodingRequest:xo,parseGeocodingResponse:Fo,geocodingTemplate:zo},Bo=je(ze({geometries:We([lt,Ge(We([ve(),pt])).check(fe(1),Ne(20))])}),Be(ze({zoom:Le().check(me(0),ge(22))})).shape),ko=e=>e.map(e=>e.properties.dataSources?.geometry?.id).filter(e=>e),Wo=e=>{const t=new URL((e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/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:ko(t):ko(t.features),e.append("geometries",wo(n))})(n,e.geometries),oo(n,"geometriesZoom",e.zoom),t},Vo=t=>{const n=t.additionalData.flatMap(t=>t.geometryData?.features.map(t=>({...t,bbox:e.bboxFromGeoJSON(t.geometry)}))).filter(e=>e);return{type:"FeatureCollection",bbox:e.bboxFromGeoJSON(n),features:n}},Yo={requestValidation:{schema:Bo},buildRequest:Wo,sendRequest:st,parseResponse:Vo},Ko={buildGeometryDataRequest:Wo,parseGeometryDataResponse:Vo,geometryDataTemplate:Yo},$o=ze(eo),Zo=je(Mo,Be(ze({indexes:Ge(ve()),poiCategories:Ge(We([Le(),function(e){const t=e._zod.def.shape;return Ze(Object.keys(t))}($o)])),poiBrands:Ge(ve()),connectors:Ge(ve()),fuelTypes:Ge(ve()),openingHours:ve(),timeZone:ve(),relatedPois:ve(),minPowerKW:Le(),maxPowerKW:Le(),minFuzzyLevel:Le(),mixFuzzyLevel:Le()})).shape),qo=je(Zo,ze({geometries:Ge(We([lt,ut]))}).shape),Jo=t=>{switch(t.type){case"Circle":return[{type:"CIRCLE",radius:t.radius,position:po(t.coordinates)}];case"Polygon":return[{type:"POLYGON",vertices:Do(t.coordinates[0],50).map(e=>po(e))}];case"MultiPolygon":return t.coordinates.length>50?(t=>{let n=new Map;return t.coordinates.forEach(t=>{const r=e.bboxFromCoordsArray(t[0]);if(r){const e=Math.abs((r[2]-r[0])*(r[3]-r[1]));n.set(t,e)}}),n=new Map([...n.entries()].sort((e,t)=>t[1]-e[1]).splice(0,50)),[...n.keys()]})(t).flatMap(e=>Jo({type:"Polygon",coordinates:e})):t.coordinates.flatMap(e=>Jo({type:"Polygon",coordinates:e}));case"FeatureCollection":return t.features.flatMap(e=>Jo(e.geometry));default:throw new Error(`Type ${t.type} is not supported`)}},Qo=e=>{const t=new URL(`${n=e,n.customServiceBaseURL??`${n.commonBaseURL}${so}/geometrySearch/${n.query}.json`}`);var n;return ao(t,e),{url:t,data:{geometryList:e.geometries.flatMap(Jo)}}},Xo=t=>{const n=t.results.map(Co),r=e.bboxOnlyIfWithArea(e.bboxFromGeoJSON(n));return{type:"FeatureCollection",properties:{...vo(t.summary)},features:n,...r&&{bbox:r}}},ei={requestValidation:{schema:qo},buildRequest:Qo,sendRequest:at,parseResponse:Xo},ti=async(e,t)=>ot(e,{...ei,...t},"GeometrySearch"),ni={geometrySearch:ti,buildGeometrySearchRequest:Qo,parseGeometrySearchResponse:Xo,geometrySearchTemplate:ei},ri=je(ze({entityId:ve()}),Be(ze({mapcodes:Ge(ve()),view:Ze(e.views),openingHours:ve(),timeZone:ve(),relatedPois:ve()})).shape),oi=e=>{const t=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/place.json`)(e)}`),n=t.searchParams;return to(n,e),oo(n,"entityId",e.entityId),ro(n,"mapcodes",e.mapcodes),oo(n,"view",e.view),oo(n,"openingHours",e.openingHours),oo(n,"timeZone",e.timeZone),oo(n,"relatedPois",e.relatedPois),t},ii=e=>e.results?.length?Co(e.results[0]):void 0,si={requestValidation:{schema:ri},buildRequest:oi,sendRequest:st,parseResponse:ii},ai={buildPlaceByIdRequest:oi,parsePlaceByIdResponse:ii,placeByIdTemplate:si},ci=Le().check(function(e,t){return new K({check:"greater_than",...O(t),value:e,inclusive:!1})}(0,ui));var ui;const pi=Le().check(me(0)),li=Le().check(me(0),ge(100)),Ai=Xe(ci),di=Xe(pi),Ri=Xe(Le().check(me(0),ge(1))),Ei=ze({speedKMH:Le(),consumptionUnitsPer100KM:Le()}),Ti={efficiency:Xe(ze({acceleration:Ri,deceleration:Ri,uphill:Ri,downhill:Ri}))},_i=Ge(Ei).check(fe(1),Ne(25)),Si=ze({...Ti,speedsToConsumptionsLiters:_i,auxiliaryPowerInLitersPerHour:di,fuelEnergyDensityInMJoulesPerLiter:Xe(Le().check(me(1)))}),hi=ze({...Ti,speedsToConsumptionsKWH:_i,auxiliaryPowerInkW:di,consumptionInKWHPerKMAltitudeGain:Xe(Le().check(ge(500))),recuperationInKWHPerKMAltitudeLoss:di}),Ii=ze({currentType:Ze(e.currentTypes),plugTypes:Ge(Ze(e.plugTypes)).check(fe(1)),efficiency:Ri,baseLoadInkW:di,maxPowerInkW:di,maxVoltageInV:di,maxCurrentInA:di,voltageRange:Xe(ze({minVoltageInV:di,maxVoltageInV:Xe(Le())}))}),gi=ze({stateOfChargeInkWh:pi,maxPowerInkW:ci}),mi=ze({maxChargeKWH:ci,batteryCurve:Xe(Ge(gi).check(Ne(20))),chargingConnectors:Xe(Ge(Ii).check(fe(1))),chargingTimeOffsetInSec:di}),Ni=ze({consumption:Si}),fi=ze({consumption:hi,charging:Xe(mi)}),Oi=Xe(ze({lengthMeters:Ai,widthMeters:Ai,heightMeters:Ai,weightKG:Ai,axleWeightKG:Ai})),yi=ze({variantId:ve()}),Ci=ze({dimensions:Oi,engine:Xe(We([Ni,fi]))}),vi=Xe(We([yi,Ci])),Pi=ze({heading:Xe(Le().check(me(0),ge(360)))}),Li=je(Pi,ze({currentFuelInLiters:pi}).shape),Ui=We([je(Pi,ze({currentChargePCT:li}).shape),je(Pi,ze({currentChargeInkWh:pi}).shape)]),bi=ze({minChargeAtDestinationPCT:li,minChargeAtChargingStopsPCT:Le().check(me(0),ge(50))}),Mi=ze({minChargeAtDestinationInkWh:pi,minChargeAtChargingStopsInkWh:pi}),Hi=ze({chargingPreferences:Xe(We([bi,Mi]))}),wi={model:vi,restrictions:Xe(ze({loadTypes:Xe(Ge(Ze(["USHazmatClass1","USHazmatClass2","USHazmatClass3","USHazmatClass4","USHazmatClass5","USHazmatClass6","USHazmatClass7","USHazmatClass8","USHazmatClass9","otherHazmatExplosive","otherHazmatGeneral","otherHazmatHarmfulToWater"]))),maxSpeedKMH:Xe(Le().check(me(0),ge(250))),adrCode:Xe(Ze(["B","C","D","E"])),commercial:Xe(be())}))},Di=ze({...wi,engineType:function(e){return function(e,t){return new e({type:"undefined",...O(t)})}(Me,e)}(),state:Xe(Pi),preferences:Xe(ze({}))}),xi=We([function(e,t,n){return new Ve({type:"union",options:t,discriminator:e,...O(n)})}("engineType",[ze({...wi,engineType:Je("combustion"),state:Xe(Li),preferences:Xe(ze({}))}),ze({...wi,engineType:Je("electric"),state:Xe(Ui),preferences:Xe(Hi)})]),Di]),Gi=Be(ze({costModel:Be(ze({avoid:Ge(Ze(e.avoidableTypes)),traffic:Xe(Ze(["live","historical"])),routeType:Xe(Ze(["fast","short","efficient","thrilling"])),thrillingParams:Xe(ze({hilliness:Xe(Ze(["low","normal","high"])),windingness:Xe(Ze(["low","normal","high"]))}))})),travelMode:ve(),vehicle:xi,when:ze({option:Ze(["departAt","arriveBy"]),date:function(e){return function(e,t){return new e({type:"date",...O(t)})}(De,e)}()})})),Fi=je(Gi,je(ze({origin:At,budget:ze({type:Ze(["timeMinutes","remainingChargeCPT","spentChargePCT","spentFuelLiters","distanceKM"]),value:Le().check(me(0))})}),ze({maxFerryLengthMeters:Xe(Le().check(me(0)))}).shape).shape),zi=e=>e.map(e=>`${e.speedKMH},${e.consumptionUnitsPer100KM}`).join(":"),ji=(e,t,n)=>{((e,t)=>{t&&(!qr(t.acceleration)&&e.append("accelerationEfficiency",String(t.acceleration)),!qr(t.deceleration)&&e.append("decelerationEfficiency",String(t.deceleration)),!qr(t.uphill)&&e.append("uphillEfficiency",String(t.uphill)),!qr(t.downhill)&&e.append("downhillEfficiency",String(t.downhill)))})(e,n.consumption.efficiency),"electric"===t?(((e,t)=>{t.speedsToConsumptionsKWH&&e.append("constantSpeedConsumptionInkWhPerHundredkm",zi(t.speedsToConsumptionsKWH)),!qr(t.auxiliaryPowerInkW)&&e.append("auxiliaryPowerInkW",String(t.auxiliaryPowerInkW)),!qr(t.consumptionInKWHPerKMAltitudeGain)&&e.append("consumptionInkWhPerkmAltitudeGain",String(t.consumptionInKWHPerKMAltitudeGain)),!qr(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",zi(n.speedsToConsumptionsLiters)),!qr(n.auxiliaryPowerInLitersPerHour)&&e.append("auxiliaryPowerInLitersPerHour",String(n.auxiliaryPowerInLitersPerHour)),!qr(n.fuelEnergyDensityInMJoulesPerLiter)&&e.append("fuelEnergyDensityInMJoulesPerLiter",String(n.fuelEnergyDensityInMJoulesPerLiter))})(e,n)},Bi=(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&&ji(e,"engineType"in t?t.engineType:void 0,t.model.engine)))},ki=(e,t)=>{t&&("electric"===t.engineType&&e.append("vehicleEngineType","electric"),Bi(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&&(no(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))},Wi=(e,t)=>{const n=t.costModel;no(e,"avoid",n?.avoid),oo(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),oo(e,"routeType",n?.routeType),oo(e,"travelMode",t.travelMode),ki(e,t.vehicle)},Vi=t=>{const n=new URL((t=>t.customServiceBaseURL||`${t.commonBaseURL}/routing/1/calculateReachableRange/${po(e.getPositionStrict(t.origin))}/json`)(t)),r=n.searchParams;return to(r,t),Wi(r,t),oo(r,"maxFerryLengthInMeters",t.maxFerryLengthMeters),n},Yi=(t,n)=>{const r={type:"Polygon",coordinates:[t.reachableRange.boundary.map(e=>[e.longitude,e.latitude])]};return{type:"Feature",geometry:r,bbox:e.bboxFromGeoJSON(r),properties:n}},Ki={buildReachableRangeRequest:Vi,parseReachableRangeResponse:Yi,reachableRangeTemplate:{requestValidation:{schema:Fi},buildRequest:Vi,sendRequest:st,parseResponse:Yi}},$i=t=>{const n=e.getPositionStrict(t.position),r=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/reverseGeocode`)(t)}/${n[1]},${n[0]}.json`),o=r.searchParams;return to(o,t),t.allowFreeformNewline&&o.append("allowFreeformNewline",String(t.allowFreeformNewline)),t.geographyType&&o.append("entityType",wo(t.geographyType)),!qr(t.heading)&&o.append("heading",String(t.heading)),t.mapcodes&&o.append("mapcodes",wo(t.mapcodes)),t.number&&o.append("number",t.number),!qr(t.radiusMeters)&&o.append("radius",String(t.radiusMeters)),t.returnSpeedLimit&&o.append("returnSpeedLimit",String(t.returnSpeedLimit)),t.returnRoadUse&&o.append("returnRoadUse",String(t.returnRoadUse)),t.roadUses&&o.append("roadUse",JSON.stringify(t.roadUses)),r},Zi=(t,n)=>{const r=e.toPointFeature(e.getPositionStrict(n.position)),o=t.addresses[0],{boundingBox:i,sideOfStreet:s,offsetPosition:a,...c}=o?.address||{};return{...r,...i&&{bbox:lo(i)},id:e.generateId(),...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:uo(a)},originalPosition:uo(o.position)}}}},qi={requestValidation:{schema:je(ze({position:At}),Be(ze({allowFreeformNewline:be(),geographyType:Ge(ve()),heading:Le().check(me(-360),ge(360)),mapcodes:Ge(ve()),number:ve(),radiusMeters:Le(),returnMatchType:be(),returnRoadUse:be(),returnSpeedLimit:be(),roadUses:Ge(ve()),view:Ze(e.views)})).shape)},buildRequest:$i,sendRequest:st,parseResponse:Zi},Ji={buildRevGeoRequest:$i,parseRevGeoResponse:Zi,reverseGeocodingTemplate:qi},Qi=We([At,ut]),Xi=We([ct,pt]),es=je(Gi,je(ze({locations:Ge(We([Qi,Xi])).check(fe(1))}),Be(ze({computeAdditionalTravelTimeFor:Ze(["none","all"]),vehicleHeading:Le().check(me(0),ge(359.5)),maxAlternatives:Le().check(me(0),ge(5)),sectionTypes:Ge(Ze(e.inputSectionTypesWithGuidance))})).shape).shape),ts=e=>e.vehicle?.preferences?.chargingPreferences,ns=e=>Array.isArray(e)?e:e.geometry.coordinates,rs=(t,n,r)=>((t,n)=>t.map(t=>{const r=po(e.getPositionStrict(t,{useEntryPoint:n})),o=(e=>e.properties||null)(t)?.radiusMeters;return o?`circle(${r},${o})`:r}).join(":"))(n.includes("path")?((t,n,r)=>{let o;const i=t[0];o="path"===n[0]?ns(i)[0]:e.getPositionStrict(i,{useEntryPoint:r});const s=t[t.length-1];let a;if("path"===n[n.length-1]){const e=ns(s);a=e[e.length-1]}else a=e.getPositionStrict(s,{useEntryPoint:r});return[o,a]})(t,n,r):t,r),os=e=>({latitude:e[1],longitude:e[0]}),is=(t,n,r)=>{const o=[],i=[];return t.forEach((s,a)=>{"path"===n[a]?((e,t,n,r,o)=>{const i=r.length;for(const t of ns(e))r.push(os(t));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"}))})(s,a,t,o,i):((t,n,r,o,i,s)=>{o.push(os(e.getPositionStrict(t,{useEntryPoint:s}))),n>0&&n<r.length-1&&i.push({supportingPointIndex:o.length-1,waypointSourceType:"USER_DEFINED"})})(s,a,t,o,i,r)}),{supportingPoints:o,...i.length&&{pointWaypoints:i}}},ss=t=>{const n=t.locations.map(e.getRoutePlanningLocationType),r=t.useEntryPoints??"main-when-available",o=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}/maps/orbis/routing/${ts(e)?"calculateLongDistanceEVRoute":"calculateRoute"}`)(t)}/${rs(t.locations,n,r)}/json`),i=o.searchParams;to(i,t),"language"in t||i.append("language","en-GB"),Wi(i,t),oo(i,"computeTravelTimeFor",t.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")}})(i,t),!qr(t.maxAlternatives)&&i.append("maxAlternatives",String(t.maxAlternatives)),((t,n,r)=>{const o=(n??(r?e.inputSectionTypesWithGuidance:e.inputSectionTypes)).map(e=>"vehicleRestricted"===e?"travelMode":e);no(t,"sectionType",o)})(i,t.sectionTypes,!!t.guidance?.type);for(const e of t.extendedRouteRepresentations??["distance","travelTime"])i.append("extendedRouteRepresentation",e);const s=((e,t,n)=>{const r=t.includes("path"),o=!!ts(e);if(!r&&!o)return null;const i=e.vehicle?.model,s=i?.engine?.charging;return{...r&&is(e.locations,t,n),...o&&s&&{chargingParameters:Xr(s,"maxChargeKWH")}}})(t,n,r);return s?{method:"POST",url:o,data:s}:{method:"GET",url:o}},as=e=>{switch(e){case"Direct_Current":return"DC";case"Alternating_Current_1_Phase":return"AC1";case"Alternating_Current_3_Phase":return"AC3";default:return}},cs=e=>e<12?"slow":e<50?"regular":e<150?"fast":"ultra-fast",us=(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:{...Xr(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:as(n.chargingCurrentType),chargingSpeed:cs(n.chargingPowerInkW)}},...t&&{targetChargeInPCT:100*e.targetChargeInkWh/t},...e.chargingParkPowerInkW&&{chargingParkSpeed:cs(e.chargingParkPowerInkW)}}}},ps=(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:us(e.chargingInformationAtEndOfLeg,n)}}},ls=(t,n)=>t.reduce((t,r,o)=>{const i=0===o?0:t[o-1]?.endPointIndex;let s;return qr(i)||(s=0===i?r.points?.length>0?r.points.length-1:0:i+r.points?.length),t.push({...!qr(i)&&{startPointIndex:i},...s&&{endPointIndex:s},summary:ps(r.summary,n),id:e.generateId()}),t},[]),As=t=>({id:e.generateId(),startPointIndex:t.startPointIndex,endPointIndex:t.endPointIndex}),ds=e=>({...As(e),index:e.importantRoadStretchIndex,streetName:e.streetName?.text,roadNumbers:e.roadNumbers}),Rs=e=>({...As(e),countryCodeISO3:e.countryCode}),Es=e=>"other"===e.travelMode?As(e):null,Ts=t=>({...As(t),delayInSeconds:t.delayInSeconds,effectiveSpeedInKmh:t.effectiveSpeedInKmh,simpleCategory:t.simpleCategory.toLowerCase(),magnitudeOfDelay:e.indexedMagnitudes[t.magnitudeOfDelay],tec:t.tec}),_s=e=>({...As(e),lanes:e.lanes,laneSeparators:e.laneSeparators,properties:e.properties}),Ss=e=>({...As(e),maxSpeedLimitInKmh:e.maxSpeedLimitInKmh}),hs=e=>({...As(e),roadShieldReferences:e.roadShieldReferences}),Is=(e,t)=>(t[e]||(t[e]=[]),t[e]),gs=e=>{switch(e.sectionType){case"CAR_TRAIN":return{sectionType:"carTrain",mappingFunction:As};case"COUNTRY":return{sectionType:"country",mappingFunction:Rs};case"FERRY":return{sectionType:"ferry",mappingFunction:As};case"MOTORWAY":return{sectionType:"motorway",mappingFunction:As};case"PEDESTRIAN":return{sectionType:"pedestrian",mappingFunction:As};case"TOLL_VIGNETTE":return{sectionType:"tollVignette",mappingFunction:Rs};case"TOLL":return{sectionType:"toll",mappingFunction:As};case"TRAFFIC":return{sectionType:"traffic",mappingFunction:Ts};case"TRAVEL_MODE":return{sectionType:"vehicleRestricted",mappingFunction:Es};case"TUNNEL":return{sectionType:"tunnel",mappingFunction:As};case"UNPAVED":return{sectionType:"unpaved",mappingFunction:As};case"URBAN":return{sectionType:"urban",mappingFunction:As};case"CARPOOL":return{sectionType:"carpool",mappingFunction:As};case"LOW_EMISSION_ZONE":return{sectionType:"lowEmissionZone",mappingFunction:As};case"LANES":return{sectionType:"lanes",mappingFunction:_s};case"SPEED_LIMIT":return{sectionType:"speedLimit",mappingFunction:Ss};case"ROAD_SHIELDS":return{sectionType:"roadShields",mappingFunction:hs};case"IMPORTANT_ROAD_STRETCH":return{sectionType:"importantRoadStretch",mappingFunction:ds}}},ms=(e,t)=>{const n={leg:ls(e.legs,t)};return((e,t)=>{if(Array.isArray(e))for(const n of e){const e=gs(n),r=e?.mappingFunction(n);r&&Is(e.sectionType,t).push(r)}})(e.sections,n),n},Ns=1e-4,fs=(e,t)=>Math.abs(e[0]-t[0])<Ns&&Math.abs(e[1]-t[1])<Ns,Os=(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}},ys=(t,n)=>{const r=t.routes.map((t,r)=>((t,n,r)=>{const o={type:"LineString",coordinates:t.legs.flatMap(e=>e.points?.map(e=>[e.longitude,e.latitude]))},i=e.bboxFromGeoJSON(o),s=e.generateId();return{type:"Feature",geometry:o,id:s,...i&&{bbox:i},properties:{id:s,index:n,summary:ps(t.summary,r),sections:ms(t,r),...t.guidance&&{guidance:Os(t.guidance,o.coordinates)},...t.progress&&{progress:t.progress}}}})(t,r,n)),o=e.bboxFromGeoJSON(r);return{type:"FeatureCollection",...o&&{bbox:o},features:r}},Cs={requestValidation:{schema:es,refinements:[{check:t=>!!t.locations.map(e.getRoutePlanningLocationType).includes("path")||t.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:ss,sendRequest:async(e,t)=>{const n=e.method;if("GET"===n)return st(e.url,t);if("POST"===n)return at(e,t);throw Error(`Unsupported HTTP method received: ${n}`)},parseResponse:ys,parseResponseError:(e,t)=>{const{data:n,message:r,status:i}=e;return new o(n?.error?.description??n?.detailedError?.message??r,t,i)},getAPIVersion:()=>2},vs={reverseGeocode:Ji,geocode:jo,geometryData:Ko,geometrySearch:ni,calculateRoute:{buildCalculateRouteRequest:ss,parseCalculateRouteResponse:ys,calculateRouteTemplate:Cs},reachableRange:Ki,evChargingStationsAvailability:Uo,placeByID:ai,autocompleteSearch:_o},Ps=async(e,t)=>ot(e,{...Lo,...t},"EVChargingStationsAvailability"),Ls=async e=>{const t=e.properties.dataSources?.chargingAvailability?.id;if(!t)return e;try{const n=await Ps({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(t){return console.error(t),e}},Us=async(e,t)=>ot(e,{...zo,...t},"Geocode");const bs=je(Zo,je(bo,Be(ze({minFuzzyLevel:Le().check(me(1),ge(4)),maxFuzzyLevel:Le().check(me(1),ge(4))})).shape).shape),Ms=e=>{let t;switch(e.type){case"COORDINATE":t={...e,details:{position:Ao(e.details)}};break;case"NEARBY":t={...e,details:{position:Ao({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},Hs={requestValidation:{schema:bs},buildRequest:t=>{const n=new URL(`${r=t,r.customServiceBaseURL??`${r.commonBaseURL}${so}/search/${r.query}.json`}`);var r;ao(n,t);const o=n.searchParams;oo(o,"typeahead",t.typeahead),oo(o,"ofs",t.offset),ro(o,"countrySet",t.countries),oo(o,"radius",t.radiusMeters);const i=t.boundingBox&&e.bboxFromGeoJSON(t.boundingBox);return i&&(o.append("topLeft",wo([i[3],i[0]])),o.append("btmRight",wo([i[1],i[2]]))),oo(o,"minFuzzyLevel",t.minFuzzyLevel),oo(o,"maxFuzzyLevel",t.maxFuzzyLevel),n},sendRequest:st,parseResponse:t=>{const n=t.results.map(Co),r=e.bboxOnlyIfWithArea(e.bboxFromGeoJSON(n));return{type:"FeatureCollection",properties:{...vo(t.summary),queryIntent:t.summary.queryIntent.map(Ms)},features:n,...r&&{bbox:r}}}};exports.APIErrorCode=r,exports.SDKError=n,exports.SDKServiceError=o,exports.autocompleteSearch=To,exports.buildPlaceWithEVAvailability=Ls,exports.buildPlacesWithEVAvailability=async(t,n={includeIfAvailabilityUnknown:!0})=>{const r=[];for(const e of t.features){const t=await Ls(e);(t.properties.chargingPark?.availability||n.includeIfAvailabilityUnknown)&&r.push(t)}return{...t,features:r,bbox:e.bboxFromGeoJSON(r)}},exports.buildResponseError=s,exports.buildValidationError=a,exports.calculateRoute=async(e,t)=>ot(e,{...Cs,...t},"Routing"),exports.customizeService=vs,exports.evChargingStationsAvailability=Ps,exports.geocode=Us,exports.geocodeOne=async e=>(await Us({query:e,limit:1})).features[0],exports.geometryData=async function(e,t){const n=await ot(e,{...Yo,...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)},exports.parseDefaultResponseError=i,exports.placeById=async(e,t)=>ot(e,{...si,...t},"PlaceById"),exports.reverseGeocode=async(e,t)=>ot(e,{...qi,...t},"ReverseGeocode"),exports.search=async(e,t)=>"geometries"in e?ti(e,t):(async(e,t)=>ot(e,{...Hs,...t},"FuzzySearch"))(e,t);
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tomtom-org/maps-sdk/core");var t=(e=>(e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.FORBIDDEN=403]="FORBIDDEN",e))(t||{});class n extends Error{constructor(e,t,r){super(e),this.service=t,this.issues=r,Error.captureStackTrace&&Error.captureStackTrace(this,n)}}const r={[t.TOO_MANY_REQUESTS]:"Too Many Requests: The API Key is over QPS (Queries per second)",[t.FORBIDDEN]:"Request failed with status code 403"};class o extends n{constructor(e,t,n){super(e,t),this.status=n,this.status&&r[this.status]&&(this.message=r[this.status])}}const i=(e,t)=>{const{data:n,message:r,status:i}=e;return new o(n?.error||n?.errorText||r,t,i)},s=(e,t,r)=>{if(e.status){const n=e;return r?r(n,t):i(n,t)}return new n(e.message,t)},a=(e,t)=>new n(e.message,t,e.issues);function c(e,t,n){function r(n,r){var o;Object.defineProperty(n,"_zod",{value:n._zod??{},enumerable:!1}),(o=n._zod).traits??(o.traits=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 e of o._zod.deferred)e();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 u extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const p={};function l(e){return p}function A(e,t){return"bigint"==typeof t?t.toString():t}function d(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function R(e){return null==e}function E(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const T=Symbol("evaluating");function _(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==T)return void 0===r&&(r=T,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function S(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function h(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}const I="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function g(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const m=new Set(["string","number","symbol"]);function f(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function O(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 y(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=h(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return S(this,"shape",n),n},checks:[]});return N(e,r)}function C(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 P(e){return"string"==typeof e?e:e?.message}function L(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=P(e.inst?._zod.def?.error?.(e))??P(t?.error?.(e))??P(n.customError?.(e))??P(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function U(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}const b=(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,A,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},M=c("$ZodError",b),H=c("$ZodError",b,{Parent:Error});function w(e){const t=[],n=e.map(e=>"object"==typeof e?e.key:e);for(const e of n)"number"==typeof e?t.push(`[${e}]`):"symbol"==typeof e?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push("."),t.push(e));return t.join("")}const D=(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 u;if(s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>L(e,i,l())));throw I(t,o?.callee),t}return s.value})(H),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=>L(e,i,l())));throw I(t,o?.callee),t}return s.value},G=x(H),F=(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 u;return i.issues.length?{success:!1,error:new(e??M)(i.issues.map(e=>L(e,o,l())))}:{success:!0,data:i.value}})(H),z=(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=>L(e,o,l())))}:{success:!0,data:i.value}})(H),j=/^-?\d+(?:\.\d+)?/,B=/^(?:true|false)$/i,k=/^undefined$/i,W=c("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),V={number:"number",bigint:"bigint",object:"date"},Y=c("$ZodCheckLessThan",(e,t)=>{W.init(e,t);const n=V[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})}}),K=c("$ZodCheckGreaterThan",(e,t)=>{W.init(e,t);const n=V[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})}}),$=c("$ZodCheckMaxLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!R(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=U(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Z=c("$ZodCheckMinLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!R(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=U(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),q=c("$ZodCheckLengthEquals",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!R(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=U(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})}}),J={major:4,minor:1,patch:12},Q=c("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=J;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const t of r)for(const n of t._zod.onattach)n(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=C(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 u;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(o||(o=C(e,t)))});else{if(e.issues.length===t)continue;o||(o=C(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(C(n))return n.aborted=!0,n;const s=t(o,r,i);if(s instanceof Promise){if(!1===i.async)throw new u;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 u;return s.then(e=>t(e,r,i))}return t(s,r,i)}}e["~standard"]={validate:t=>{try{const n=F(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return z(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),X=c("$ZodString",(e,t)=>{var n;Q.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(e){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ee=c("$ZodNumber",(e,t)=>{Q.init(e,t),e._zod.pattern=e._zod.bag.pattern??j,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}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}}),te=c("$ZodBoolean",(e,t)=>{Q.init(e,t),e._zod.pattern=B,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(e){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),ne=c("$ZodUndefined",(e,t)=>{Q.init(e,t),e._zod.pattern=k,e._zod.values=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}}),re=c("$ZodAny",(e,t)=>{Q.init(e,t),e._zod.parse=e=>e}),oe=c("$ZodDate",(e,t)=>{Q.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(e){}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 ie(e,t,n){e.issues.length&&t.issues.push(...v(n,e.issues)),t.value[n]=e.value}const se=c("$ZodArray",(e,t)=>{Q.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=>ie(t,n,e))):ie(a,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function ae(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 ce(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": 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 ue=c("$ZodObject",(e,t)=>{Q.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=d(()=>ce(t));_(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]=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=>ae(n,t,e,a))):ae(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 o of Object.keys(t)){if(a.has(o))continue;if("never"===u){s.push(o);continue}const i=c.run({value:t[o],issues:[]},r);i instanceof Promise?e.push(i.then(e=>ae(e,n,o,t))):ae(i,n,o,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 pe(e,t,n,r){for(const n of e)if(0===n.issues.length)return t.value=n.value,t;const o=e.filter(e=>!C(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=>L(e,r,l())))}),t)}const le=c("$ZodUnion",(e,t)=>{Q.init(e,t),_(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),_(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),_(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),_(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=>E(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=>pe(t,o,e,i)):pe(a,o,e,i)}}),Ae=c("$ZodDiscriminatedUnion",(e,t)=>{le.init(e,t);const n=e._zod.parse;_(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]=new Set);for(const r of n)e[t].add(r)}}return e});const r=d(()=>{const e=t.options,n=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)}}),de=c("$ZodTuple",(e,t)=>{Q.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=>Re(e,o,c))):Re(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=>Re(e,o,c))):Re(e,o,c)}}return a.length?Promise.all(a).then(()=>o):o}});function Re(e,t,n){e.issues.length&&t.issues.push(...v(n,e.issues)),t.value[n]=e.value}const Ee=c("$ZodEnum",(e,t)=>{Q.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=>m.has(typeof e)).map(e=>"string"==typeof e?f(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}}),Te=c("$ZodLiteral",(e,t)=>{if(Q.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?f(e):e?f(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 _e(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const Se=c("$ZodOptional",(e,t)=>{Q.init(e,t),e._zod.optin="optional",e._zod.optout="optional",_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),_(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${E(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=>_e(t,e.value)):_e(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),he=c("$ZodCustom",(e,t)=>{W.init(e,t),Q.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=>Ie(t,n,r,e));Ie(o,n,r,e)}});function Ie(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 Y({check:"less_than",...O(t),value:e,inclusive:!0})}function me(e,t){return new K({check:"greater_than",...O(t),value:e,inclusive:!0})}function fe(e,t){return new $({check:"max_length",...O(t),maximum:e})}function Ne(e,t){return new Z({check:"min_length",...O(t),minimum:e})}function Oe(e,t){return new q({check:"length_equals",...O(t),length:e})}const ye=c("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Q.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>D(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>F(e,t,n),e.parseAsync=async(t,n)=>G(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>z(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)=>N(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e)}),Ce=c("ZodMiniString",(e,t)=>{X.init(e,t),ye.init(e,t)});function ve(e){return function(e,t){return new e({type:"string",...O(t)})}(Ce,e)}const Pe=c("ZodMiniNumber",(e,t)=>{ee.init(e,t),ye.init(e,t)});function Le(e){return function(e,t){return new e({type:"number",checks:[],...O(t)})}(Pe,e)}const Ue=c("ZodMiniBoolean",(e,t)=>{te.init(e,t),ye.init(e,t)});function be(e){return function(e,t){return new e({type:"boolean",...O(t)})}(Ue,e)}const Me=c("ZodMiniUndefined",(e,t)=>{ne.init(e,t),ye.init(e,t)});const He=c("ZodMiniAny",(e,t)=>{re.init(e,t),ye.init(e,t)});function we(){return new He({type:"any"})}const De=c("ZodMiniDate",(e,t)=>{oe.init(e,t),ye.init(e,t)});const xe=c("ZodMiniArray",(e,t)=>{se.init(e,t),ye.init(e,t)});function Ge(e,t){return new xe({type:"array",element:e,...O(t)})}const Fe=c("ZodMiniObject",(e,t)=>{ue.init(e,t),ye.init(e,t),_(e,"shape",()=>t.shape)});function ze(e,t){const n={type:"object",shape:e??{},...O(t)};return new Fe(n)}function je(e,t){return y(e,t)}function Be(e,t){return function(e,t){const n=h(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 S(this,"shape",r),r},checks:[]});return N(t,n)}(Qe,e)}const ke=c("ZodMiniUnion",(e,t)=>{le.init(e,t),ye.init(e,t)});function We(e,t){return new ke({type:"union",options:e,...O(t)})}const Ve=c("ZodMiniDiscriminatedUnion",(e,t)=>{Ae.init(e,t),ye.init(e,t)});const Ye=c("ZodMiniTuple",(e,t)=>{de.init(e,t),ye.init(e,t)});function Ke(e,t,n){const r=t instanceof Q;return new Ye({type:"tuple",items:e,rest:r?t:null,...O(r?n:t)})}const $e=c("ZodMiniEnum",(e,t)=>{Ee.init(e,t),ye.init(e,t),e.options=Object.values(t.entries)});function Ze(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new $e({type:"enum",entries:n,...O(t)})}const qe=c("ZodMiniLiteral",(e,t)=>{Te.init(e,t),ye.init(e,t)});function Je(e,t){return new qe({type:"literal",values:Array.isArray(e)?e:[e],...O(t)})}const Qe=c("ZodMiniOptional",(e,t)=>{Se.init(e,t),ye.init(e,t)});function Xe(e){return new Qe({type:"optional",innerType:e})}const et=c("ZodMiniCustom",(e,t)=>{he.init(e,t),ye.init(e,t)});function tt(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...O(n)})}(et,e,t)}const nt=Be(ze({apiKey:ve(),commonBaseURL:ve(),customServiceBaseURL:ve(),language:ve()}));class rt extends Error{constructor(e){super(function(e){const t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(const e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${w(e.path)}`);return t.join("\n")}(e)),this.issues=e.issues}}const ot=async(t,n,r)=>{const o=n.getAPIVersion?.(t),i=e.mergeFromGlobal({...t,...o&&{apiVersion:o}});if(void 0===t.validateRequest||t.validateRequest)try{((e,t)=>{const n=(t?.schema?je(nt,t.schema.shape):nt).check(tt(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(tt(e.check,e.message))}const o=(r??n).safeParse(e);if(!o.success)throw new rt(o.error)})(i,n.requestValidation)}catch(e){return Promise.reject(a(e,r))}const c=n.buildRequest(i),u=e.generateTomTomHeaders(i);t.onAPIRequest?.(c);try{const e=await n.sendRequest(c,u);return t.onAPIResponse?.(c,e),n.parseResponse(await e.data,i)}catch(e){return t.onAPIResponse?.(c,e),Promise.reject(s(e,r,n.parseResponseError))}},it=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}},st=async(e,t)=>it(await fetch(e,{headers:t})),at=async(e,t)=>it(await fetch(e.url,{method:"POST",body:JSON.stringify(e.data),headers:{...t,"Content-Type":"application/json"}})),ct=Ge(Ge(Le())),ut=ze({type:Ze(["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","Circle"]),coordinates:We([Ge(Le()),ct,Ge(Ge(Ge(Le()))),Ge(Ge(Ge(Ge(Le()))))]),radius:Xe(Le()),radiusMeters:Xe(Le()),bbox:Xe(Ge(Le()))}).check(tt(e=>"Circle"!==e.type||Boolean(e.radius),'type: "Circle" must have radius property')),pt=ze({type:Je("Feature"),geometry:ut,id:Xe(We([ve(),Le()])),properties:we(),bbox:Xe(Ge(Le()))}),lt=ze({type:Je("FeatureCollection"),features:Ge(pt),id:Xe(We([ve(),Le()])),properties:we(),bbox:Xe(Ge(Le()))}),At=We([Ke([Le().check(me(-180),ge(180)),Le().check(me(-90),ge(90))]),Ke([Le().check(me(-180),ge(180)),Le().check(me(-90),ge(90)),Le()]),ze({type:Je("Point"),coordinates:Ge(Le())}),pt]),dt=We([Ge(Le()).check(Oe(4)),Ge(Le()).check(Oe(6))]),Rt=We([ut,pt,lt]),Et=We([dt,Rt,Ge(Rt)]),Tt=je(ze({query:ve()}),Be(ze({position:At,limit:Le().check(ge(100)),radiusMeters:Le(),countries:Ge(ve()),resultType:Ge(ve())})).shape);var _t="object"==typeof global&&global&&global.Object===Object&&global,St="object"==typeof self&&self&&self.Object===Object&&self,ht=_t||St||Function("return this")(),It=ht.Symbol,gt=Object.prototype,mt=gt.hasOwnProperty,ft=gt.toString,Nt=It?It.toStringTag:void 0;var Ot=Object.prototype.toString;var yt=It?It.toStringTag:void 0;function Ct(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":yt&&yt in Object(e)?function(e){var t=mt.call(e,Nt),n=e[Nt];try{e[Nt]=void 0;var r=!0}catch(e){}var o=ft.call(e);return r&&(t?e[Nt]=n:delete e[Nt]),o}(e):function(e){return Ot.call(e)}(e)}function vt(e){return null!=e&&"object"==typeof e}function Pt(e){return"symbol"==typeof e||vt(e)&&"[object Symbol]"==Ct(e)}function Lt(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 Ut=Array.isArray,bt=It?It.prototype:void 0,Mt=bt?bt.toString:void 0;function Ht(e){if("string"==typeof e)return e;if(Ut(e))return Lt(e,Ht)+"";if(Pt(e))return Mt?Mt.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function wt(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Dt(e){if(!wt(e))return!1;var t=Ct(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var xt,Gt=ht["__core-js_shared__"],Ft=(xt=/[^.]+$/.exec(Gt&&Gt.keys&&Gt.keys.IE_PROTO||""))?"Symbol(src)_1."+xt:"";var zt=Function.prototype.toString;function jt(e){if(null!=e){try{return zt.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Bt=/^\[object .+?Constructor\]$/,kt=Function.prototype,Wt=Object.prototype,Vt=kt.toString,Yt=Wt.hasOwnProperty,Kt=RegExp("^"+Vt.call(Yt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $t(e){return!(!wt(e)||(t=e,Ft&&Ft in t))&&(Dt(e)?Kt:Bt).test(jt(e));var t}function Zt(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return $t(n)?n:void 0}var qt=Zt(ht,"WeakMap");var Jt=Date.now;var Qt,Xt,en,tn=function(){try{var e=Zt(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),nn=tn?function(e,t){return tn(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:function(e){return e},rn=(Qt=nn,Xt=0,en=0,function(){var e=Jt(),t=16-(e-en);if(en=e,t>0){if(++Xt>=800)return arguments[0]}else Xt=0;return Qt.apply(void 0,arguments)});var on=/^(?:0|[1-9]\d*)$/;function sn(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&on.test(e))&&e>-1&&e%1==0&&e<t}function an(e,t,n){"__proto__"==t&&tn?tn(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 un=Object.prototype.hasOwnProperty;function pn(e,t,n){var r=e[t];un.call(e,t)&&cn(r,n)&&(void 0!==n||t in e)||an(e,t,n)}var ln=Math.max;function An(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var dn=Object.prototype;function Rn(e){return vt(e)&&"[object Arguments]"==Ct(e)}var En=Object.prototype,Tn=En.hasOwnProperty,_n=En.propertyIsEnumerable,Sn=Rn(function(){return arguments}())?Rn:function(e){return vt(e)&&Tn.call(e,"callee")&&!_n.call(e,"callee")};var hn="object"==typeof exports&&exports&&!exports.nodeType&&exports,In=hn&&"object"==typeof module&&module&&!module.nodeType&&module,gn=In&&In.exports===hn?ht.Buffer:void 0,mn=(gn?gn.isBuffer:void 0)||function(){return!1},fn={};function Nn(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 On="object"==typeof exports&&exports&&!exports.nodeType&&exports,yn=On&&"object"==typeof module&&module&&!module.nodeType&&module,Cn=yn&&yn.exports===On&&_t.process,vn=function(){try{var e=yn&&yn.require&&yn.require("util").types;return e||Cn&&Cn.binding&&Cn.binding("util")}catch(e){}}(),Pn=vn&&vn.isTypedArray,Ln=Pn?Nn(Pn):function(e){return vt(e)&&An(e.length)&&!!fn[Ct(e)]};function Un(e,t){var n=Ut(e),r=!n&&Sn(e),o=!n&&!r&&mn(e),i=!n&&!r&&!o&&Ln(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)||sn(u,c))||a.push(u);return a}var bn=Object.prototype.hasOwnProperty;function Mn(e){if(!wt(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||dn)),o=[];for(var i in e)("constructor"!=i||!r&&bn.call(e,i))&&o.push(i);return o}function Hn(e){return null!=(t=e)&&An(t.length)&&!Dt(t)?Un(e):Mn(e);var t}var wn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dn=/^\w*$/;var xn=Zt(Object,"create");var Gn=Object.prototype.hasOwnProperty;var Fn=Object.prototype.hasOwnProperty;function zn(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 jn(e,t){for(var n=e.length;n--;)if(cn(e[n][0],t))return n;return-1}zn.prototype.clear=function(){this.__data__=xn?xn(null):{},this.size=0},zn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},zn.prototype.get=function(e){var t=this.__data__;if(xn){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Gn.call(t,e)?t[e]:void 0},zn.prototype.has=function(e){var t=this.__data__;return xn?void 0!==t[e]:Fn.call(t,e)},zn.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 Bn=Array.prototype.splice;function kn(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])}}kn.prototype.clear=function(){this.__data__=[],this.size=0},kn.prototype.delete=function(e){var t=this.__data__,n=jn(t,e);return!(n<0)&&(n==t.length-1?t.pop():Bn.call(t,n,1),--this.size,!0)},kn.prototype.get=function(e){var t=this.__data__,n=jn(t,e);return n<0?void 0:t[n][1]},kn.prototype.has=function(e){return jn(this.__data__,e)>-1},kn.prototype.set=function(e,t){var n=this.__data__,r=jn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var Wn=Zt(ht,"Map");function Vn(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 Yn(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])}}Yn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(Wn||kn),string:new zn}},Yn.prototype.delete=function(e){var t=Vn(this,e).delete(e);return this.size-=t?1:0,t},Yn.prototype.get=function(e){return Vn(this,e).get(e)},Yn.prototype.has=function(e){return Vn(this,e).has(e)},Yn.prototype.set=function(e,t){var n=Vn(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Kn(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(Kn.Cache||Yn),n}Kn.Cache=Yn;var $n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Zn=/\\(\\)?/g,qn=function(e){var t=Kn(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($n,function(e,n,r,o){t.push(r?o.replace(Zn,"$1"):n||e)}),t});function Jn(e,t){return Ut(e)?e:function(e,t){if(Ut(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Pt(e))||Dn.test(e)||!wn.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:qn(function(e){return null==e?"":Ht(e)}(e))}function Qn(e){if("string"==typeof e||Pt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Xn(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}var er=It?It.isConcatSpreadable:void 0;function tr(e){return Ut(e)||Sn(e)||!!(er&&e&&e[er])}function nr(e){return(null==e?0:e.length)?function(e,t,n,r,o){var i=-1,s=e.length;for(n||(n=tr),o||(o=[]);++i<s;){var a=e[i];n(a)?Xn(o,a):o[o.length]=a}return o}(e):[]}var rr=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),or=Function.prototype,ir=Object.prototype,sr=or.toString,ar=ir.hasOwnProperty,cr=sr.call(Object);function ur(e){var t=this.__data__=new kn(e);this.size=t.size}ur.prototype.clear=function(){this.__data__=new kn,this.size=0},ur.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ur.prototype.get=function(e){return this.__data__.get(e)},ur.prototype.has=function(e){return this.__data__.has(e)},ur.prototype.set=function(e,t){var n=this.__data__;if(n instanceof kn){var r=n.__data__;if(!Wn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Yn(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,Ar=lr&&lr.exports===pr?ht.Buffer:void 0;function dr(){return[]}Ar&&Ar.allocUnsafe;var Rr=Object.prototype.propertyIsEnumerable,Er=Object.getOwnPropertySymbols,Tr=Er?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}(Er(e),function(t){return Rr.call(e,t)}))}:dr,_r=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Xn(t,Tr(e)),e=rr(e);return t}:dr;function Sr(e){return function(e,t,n){var r=t(e);return Ut(e)?r:Xn(r,n(e))}(e,Hn,_r)}var hr=Zt(ht,"DataView"),Ir=Zt(ht,"Promise"),gr=Zt(ht,"Set"),mr="[object Map]",fr="[object Promise]",Nr="[object Set]",Or="[object WeakMap]",yr="[object DataView]",Cr=jt(hr),vr=jt(Wn),Pr=jt(Ir),Lr=jt(gr),Ur=jt(qt),br=Ct;(hr&&br(new hr(new ArrayBuffer(1)))!=yr||Wn&&br(new Wn)!=mr||Ir&&br(Ir.resolve())!=fr||gr&&br(new gr)!=Nr||qt&&br(new qt)!=Or)&&(br=function(e){var t=Ct(e),n="[object Object]"==t?e.constructor:void 0,r=n?jt(n):"";if(r)switch(r){case Cr:return yr;case vr:return mr;case Pr:return fr;case Lr:return Nr;case Ur:return Or}return t});var Mr=Object.prototype.hasOwnProperty;var Hr=ht.Uint8Array;function wr(e){var t=new e.constructor(e.byteLength);return new Hr(t).set(new Hr(e)),t}var Dr=/\w*$/;var xr=It?It.prototype:void 0,Gr=xr?xr.valueOf:void 0;function Fr(e,t,n){var r,o,i,s,a,c=e.constructor;switch(t){case"[object ArrayBuffer]":return wr(e);case"[object Boolean]":case"[object Date]":return new c(+e);case"[object DataView]":return a=wr((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=wr(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,Dr.exec(o))).lastIndex=o.lastIndex,i;case"[object Symbol]":return r=e,Gr?Object(Gr.call(r)):{}}}var zr=vn&&vn.isMap,jr=zr?Nn(zr):function(e){return vt(e)&&"[object Map]"==br(e)};var Br=vn&&vn.isSet,kr=Br?Nn(Br):function(e){return vt(e)&&"[object Set]"==br(e)},Wr="[object Arguments]",Vr="[object Function]",Yr="[object Object]",Kr={};function $r(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(!wt(e))return e;var a=Ut(e);if(a)s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Mr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e);else{var c=br(e),u=c==Vr||"[object GeneratorFunction]"==c;if(mn(e))return e.slice();if(c==Yr||c==Wr||u&&!o)s={};else{if(!Kr[c])return o?e:{};s=Fr(e,c)}}i||(i=new ur);var p=i.get(e);if(p)return p;i.set(e,s),kr(e)?e.forEach(function(r){s.add($r(r,t,n,r,e,i))}):jr(e)&&e.forEach(function(r,o){s.set(o,$r(r,t,n,o,e,i))});var l=a?void 0:Sr(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,$r(r,t,n,o,e,i))}),s}function Zr(e,t){return t.length<2?e:function(e,t){for(var n=0,r=(t=Jn(t,e)).length;null!=e&&n<r;)e=e[Qn(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 qr(e){return null==e}function Jr(e,t){return null==(e=Zr(e,t=Jn(t,e)))||delete e[Qn((n=t,r=null==n?0:n.length,r?n[r-1]:void 0))];var n,r}function Qr(e){return function(e){if(!vt(e)||"[object Object]"!=Ct(e))return!1;var t=rr(e);if(null===t)return!0;var n=ar.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&sr.call(n)==cr}(e)?void 0:e}Kr[Wr]=Kr["[object Array]"]=Kr["[object ArrayBuffer]"]=Kr["[object DataView]"]=Kr["[object Boolean]"]=Kr["[object Date]"]=Kr["[object Float32Array]"]=Kr["[object Float64Array]"]=Kr["[object Int8Array]"]=Kr["[object Int16Array]"]=Kr["[object Int32Array]"]=Kr["[object Map]"]=Kr["[object Number]"]=Kr[Yr]=Kr["[object RegExp]"]=Kr["[object Set]"]=Kr["[object String]"]=Kr["[object Symbol]"]=Kr["[object Uint8Array]"]=Kr["[object Uint8ClampedArray]"]=Kr["[object Uint16Array]"]=Kr["[object Uint32Array]"]=!0,Kr["[object Error]"]=Kr[Vr]=Kr["[object WeakMap]"]=!1;var Xr=function(e){return rn(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,nr),e+"")}(function(e,t){var n={};if(null==e)return n;var r=!1;t=Lt(t,function(t){return t=Jn(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?an(n,s,a):pn(n,s,a)}}(e,Sr(e),n),r&&(n=$r(n,7,Qr));for(var o=t.length;o--;)Jr(n,t[o]);return n});const eo={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},to=(e,t)=>{e.append("apiVersion",String(t.apiVersion)),e.append("key",t.apiKey),t.language&&e.append("language",t.language)},no=(e,t,n)=>{for(const r of n||[])e.append(t,r)},ro=(e,t,n)=>{Array.isArray(n)&&n.length>0&&e.append(t,n.join(","))},oo=(e,t,n)=>{!qr(n)&&e.append(t,String(n))},io=(t,n)=>{const r=e.getPosition(n);r&&(t.append("lat",String(r[1])),t.append("lon",String(r[0])))},so="/maps/orbis/places",ao=(e,t)=>{const n=e.searchParams;to(n,t),oo(n,"limit",t.limit),io(n,t.position),ro(n,"fuelSet",t.fuelTypes),ro(n,"idxSet",t.indexes),ro(n,"brandSet",t.poiBrands),t.poiCategories&&ro(n,"categorySet",t.poiCategories.map(e=>"number"!=typeof e?eo[e]:e)),ro(n,"connectorSet",t.connectors),ro(n,"mapcodes",t.mapcodes),ro(n,"extendedPostalCodesFor",t.extendedPostalCodesFor),oo(n,"minPowerKW",t.minPowerKW),oo(n,"maxPowerKW",t.maxPowerKW),oo(n,"view",t.view),oo(n,"openingHours",t.openingHours),oo(n,"timeZone",t.timeZone),oo(n,"relatedPois",t.relatedPois),ro(n,"entityTypeSet",t.geographyTypes)},co=e=>{const t=new URL(`${n=e,n.customServiceBaseURL||`${n.commonBaseURL}${so}/autocomplete/${n.query}.json`}`);var n;const r=t.searchParams;return e.language=e.language??"en-GB",to(r,e),oo(r,"limit",e.limit),io(r,e.position),ro(r,"countrySet",e.countries),oo(r,"radius",e.radiusMeters),ro(r,"resultSet",e.resultType),t},uo=e=>{const t=e.split(",");return[Number(t[1]),Number(t[0])]},po=e=>`${e[1]},${e[0]}`,lo=e=>{let t,n;return void 0!==e.topLeftPoint?(t=[e.topLeftPoint.lon,e.btmRightPoint.lat],n=[e.btmRightPoint.lon,e.topLeftPoint.lat]):(t=uo(e.southWest),n=uo(e.northEast)),[t[0],t[1],n[0],n[1]]},Ao=e=>[e.lon,e.lat],Ro=e=>{const{position:t,...n}=e.context.geoBias||{};return{...e,context:{...e.context,geoBias:{...t&&{position:Ao(t)},radiusMeters:n.radius}}}},Eo={requestValidation:{schema:Tt},buildRequest:co,sendRequest:st,parseResponse:Ro},To=async(e,t)=>ot(e,{...Eo,...t},"Autocomplete"),_o={autocompleteSearch:To,buildAutocompleteSearchRequest:co,parseAutocompleteSearchResponse:Ro,autocompleteSearchTemplate:Eo},So=ze({id:ve()}),ho=e=>{const t=new URL((e=>e.customServiceBaseURL??`${e.commonBaseURL}${so}/ev/id`)(e)),n=t.searchParams;return to(n,e),n.append("id",e.id),t},Io=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}:{}})}},mo=e=>{const t=[];return go(e,void 0,t),t},fo=e=>{const t=[];for(const n of e)for(const e of n.chargingPoints)go(e.connectors,e.status,t);return t},No=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)}},Oo=e=>1===e.length&&0===e[0].start.hour&&0===e[0].end.hour,yo=e=>{const t=e.timeRanges.map(e=>({start:No(e.startTime),end:No(e.endTime)}));return{mode:e.mode,timeRanges:t,alwaysOpenThisPeriod:Oo(t)}},Co=t=>{const{position:n,entryPoints:r,poi:o,id:i,dist:s,boundingBox:a,chargingPark:c,...u}=t,p=c?.connectors?.map(e=>({...Xr(e,"connectorType"),type:e.connectorType}));return{...e.toPointFeature(Ao(n)),...a&&{bbox:lo(a)},id:i,properties:{...Xr(u,"viewport"),...s&&{distance:s},...r&&{entryPoints:r.map(e=>({...e,position:Ao(e.position)}))},...p&&{chargingPark:{...c,connectors:p,connectorCounts:mo(p)}},poi:{...Xr(o,"categorySet","openingHours"),brands:o?.brands?.map(e=>e.name)??[],categoryIds:o?.categorySet?.map(e=>e.id)??[],...o?.openingHours&&{openingHours:yo(o?.openingHours)}}}}},vo=e=>{const{geoBias:t,...n}=e;return{...t&&{geoBias:Ao(t)},...n}},Po=e=>{const t=e.results?.[0];return t?{id:t.id,accessType:t.accessType,chargingStations:t.chargingStations,chargingPointAvailability:Io(t.chargingStations),connectorAvailabilities:fo(t.chargingStations),...t.openingHours&&{openingHours:yo(t.openingHours)}}:void 0},Lo={requestValidation:{schema:So},buildRequest:ho,sendRequest:st,parseResponse:Po,parseResponseError:(e,t)=>{const n=e.data?.detailedError?.message??e.message;return new o(n,t,e.status)}},Uo={buildEVChargingStationsAvailabilityRequest:ho,parseEVChargingStationsAvailabilityResponse:Po,evChargingStationsAvailabilityTemplate:Lo},bo=Be(ze({typeahead:be(),offset:Le().check(ge(1900)),radiusMeters:Le(),boundingBox:Et,countries:Ge(ve())})),Mo=je(ze({query:ve()}),Be(ze({position:At,limit:Le().check(ge(100)),extendedPostalCodesFor:Ge(ve()),mapcodes:Ge(ve()),view:Ze(e.views),geographyTypes:Ge(ve())})).shape),Ho=je(Mo,bo.shape),wo=e=>e?Array.isArray(e)?e.join(","):"string"==typeof e?e:String(e):"",Do=(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=t=>{const n=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/geocode`)(t)}/${t.query}.json`),r=n.searchParams;to(r,t),t.typeahead&&r.append("typeahead",String(t.typeahead)),!qr(t.limit)&&r.append("limit",String(t.limit)),!qr(t.offset)&&r.append("ofs",String(t.offset)),io(r,t.position),t.countries&&r.append("countrySet",wo(t.countries)),!qr(t.radiusMeters)&&r.append("radius",String(t.radiusMeters));const o=t.boundingBox&&e.bboxFromGeoJSON(t.boundingBox);return o&&(r.append("topLeft",wo([o[3],o[0]])),r.append("btmRight",wo([o[1],o[2]]))),t.extendedPostalCodesFor&&r.append("extendedPostalCodesFor",wo(t.extendedPostalCodesFor)),t.mapcodes&&r.append("mapcodes",wo(t.mapcodes)),t.view&&r.append("view",t.view),t.geographyTypes&&r.append("entityTypeSet",wo(t.geographyTypes)),n},Go=t=>{const{position:n,boundingBox:r,dist:o,entryPoints:i,addressRanges:s,entityType:a,id:c,...u}=t;return{...e.toPointFeature(Ao(n)),...r&&{bbox:lo(r)},id:c,properties:{...Xr(u,"viewport"),...o&&{distance:o},...a&&{geographyType:a.split(",")},...i&&{entryPoints:i.map(e=>({...e,position:Ao(e.position)}))},...s&&{addressRanges:{...s,from:Ao(s.from),to:Ao(s.to)}}}}},Fo=t=>{const n=t.results.map(Go),r=e.bboxOnlyIfWithArea(e.bboxFromGeoJSON(n));return{type:"FeatureCollection",features:n,...r&&{bbox:r}}},zo={requestValidation:{schema:Ho},buildRequest:xo,sendRequest:st,parseResponse:Fo},jo={buildGeocodingRequest:xo,parseGeocodingResponse:Fo,geocodingTemplate:zo},Bo=je(ze({geometries:We([lt,Ge(We([ve(),pt])).check(Ne(1),fe(20))])}),Be(ze({zoom:Le().check(me(0),ge(22))})).shape),ko=e=>e.map(e=>e.properties.dataSources?.geometry?.id).filter(e=>e),Wo=e=>{const t=new URL((e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/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:ko(t):ko(t.features),e.append("geometries",wo(n))})(n,e.geometries),oo(n,"geometriesZoom",e.zoom),t},Vo=t=>{const n=t.additionalData.flatMap(t=>t.geometryData?.features.map(t=>({...t,bbox:e.bboxFromGeoJSON(t.geometry)}))).filter(e=>e);return{type:"FeatureCollection",bbox:e.bboxFromGeoJSON(n),features:n}},Yo={requestValidation:{schema:Bo},buildRequest:Wo,sendRequest:st,parseResponse:Vo},Ko={buildGeometryDataRequest:Wo,parseGeometryDataResponse:Vo,geometryDataTemplate:Yo},$o=ze(eo),Zo=je(Mo,Be(ze({indexes:Ge(ve()),poiCategories:Ge(We([Le(),function(e){const t=e._zod.def.shape;return Ze(Object.keys(t))}($o)])),poiBrands:Ge(ve()),connectors:Ge(ve()),fuelTypes:Ge(ve()),openingHours:ve(),timeZone:ve(),relatedPois:ve(),minPowerKW:Le(),maxPowerKW:Le(),minFuzzyLevel:Le(),mixFuzzyLevel:Le()})).shape),qo=je(Zo,ze({geometries:Ge(We([lt,ut]))}).shape),Jo=t=>{switch(t.type){case"Circle":return[{type:"CIRCLE",radius:t.radius,position:po(t.coordinates)}];case"Polygon":return[{type:"POLYGON",vertices:Do(t.coordinates[0],50).map(e=>po(e))}];case"MultiPolygon":return t.coordinates.length>50?(t=>{let n=new Map;return t.coordinates.forEach(t=>{const r=e.bboxFromCoordsArray(t[0]);if(r){const e=Math.abs((r[2]-r[0])*(r[3]-r[1]));n.set(t,e)}}),n=new Map([...n.entries()].sort((e,t)=>t[1]-e[1]).splice(0,50)),[...n.keys()]})(t).flatMap(e=>Jo({type:"Polygon",coordinates:e})):t.coordinates.flatMap(e=>Jo({type:"Polygon",coordinates:e}));case"FeatureCollection":return t.features.flatMap(e=>Jo(e.geometry));default:throw new Error(`Type ${t.type} is not supported`)}},Qo=e=>{const t=new URL(`${n=e,n.customServiceBaseURL??`${n.commonBaseURL}${so}/geometrySearch/${n.query}.json`}`);var n;return ao(t,e),{url:t,data:{geometryList:e.geometries.flatMap(Jo)}}},Xo=t=>{const n=t.results.map(Co),r=e.bboxOnlyIfWithArea(e.bboxFromGeoJSON(n));return{type:"FeatureCollection",properties:{...vo(t.summary)},features:n,...r&&{bbox:r}}},ei={requestValidation:{schema:qo},buildRequest:Qo,sendRequest:at,parseResponse:Xo},ti=async(e,t)=>ot(e,{...ei,...t},"GeometrySearch"),ni={geometrySearch:ti,buildGeometrySearchRequest:Qo,parseGeometrySearchResponse:Xo,geometrySearchTemplate:ei},ri=je(ze({entityId:ve()}),Be(ze({mapcodes:Ge(ve()),view:Ze(e.views),openingHours:ve(),timeZone:ve(),relatedPois:ve()})).shape),oi=e=>{const t=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/place.json`)(e)}`),n=t.searchParams;return to(n,e),oo(n,"entityId",e.entityId),ro(n,"mapcodes",e.mapcodes),oo(n,"view",e.view),oo(n,"openingHours",e.openingHours),oo(n,"timeZone",e.timeZone),oo(n,"relatedPois",e.relatedPois),t},ii=e=>e.results?.length?Co(e.results[0]):void 0,si={requestValidation:{schema:ri},buildRequest:oi,sendRequest:st,parseResponse:ii},ai={buildPlaceByIdRequest:oi,parsePlaceByIdResponse:ii,placeByIdTemplate:si},ci=Le().check(function(e,t){return new K({check:"greater_than",...O(t),value:e,inclusive:!1})}(0,ui));var ui;const pi=Le().check(me(0)),li=Le().check(me(0),ge(100)),Ai=Xe(ci),di=Xe(pi),Ri=Xe(Le().check(me(0),ge(1))),Ei=ze({speedKMH:Le(),consumptionUnitsPer100KM:Le()}),Ti={efficiency:Xe(ze({acceleration:Ri,deceleration:Ri,uphill:Ri,downhill:Ri}))},_i=Ge(Ei).check(Ne(1),fe(25)),Si=ze({...Ti,speedsToConsumptionsLiters:_i,auxiliaryPowerInLitersPerHour:di,fuelEnergyDensityInMJoulesPerLiter:Xe(Le().check(me(1)))}),hi=ze({...Ti,speedsToConsumptionsKWH:_i,auxiliaryPowerInkW:di,consumptionInKWHPerKMAltitudeGain:Xe(Le().check(ge(500))),recuperationInKWHPerKMAltitudeLoss:di}),Ii=ze({currentType:Ze(e.currentTypes),plugTypes:Ge(Ze(e.plugTypes)).check(Ne(1)),efficiency:Ri,baseLoadInkW:di,maxPowerInkW:di,maxVoltageInV:di,maxCurrentInA:di,voltageRange:Xe(ze({minVoltageInV:di,maxVoltageInV:Xe(Le())}))}),gi=ze({stateOfChargeInkWh:pi,maxPowerInkW:ci}),mi=ze({maxChargeKWH:ci,batteryCurve:Xe(Ge(gi).check(fe(20))),chargingConnectors:Xe(Ge(Ii).check(Ne(1))),chargingTimeOffsetInSec:di}),fi=ze({consumption:Si}),Ni=ze({consumption:hi,charging:Xe(mi)}),Oi=Xe(ze({lengthMeters:Ai,widthMeters:Ai,heightMeters:Ai,weightKG:Ai,axleWeightKG:Ai})),yi=ze({variantId:ve()}),Ci=ze({dimensions:Oi,engine:Xe(We([fi,Ni]))}),vi=Xe(We([yi,Ci])),Pi=ze({heading:Xe(Le().check(me(0),ge(360)))}),Li=je(Pi,ze({currentFuelInLiters:pi}).shape),Ui=We([je(Pi,ze({currentChargePCT:li}).shape),je(Pi,ze({currentChargeInkWh:pi}).shape)]),bi=ze({minChargeAtDestinationPCT:li,minChargeAtChargingStopsPCT:Le().check(me(0),ge(50))}),Mi=ze({minChargeAtDestinationInkWh:pi,minChargeAtChargingStopsInkWh:pi}),Hi=ze({chargingPreferences:Xe(We([bi,Mi]))}),wi={model:vi,restrictions:Xe(ze({loadTypes:Xe(Ge(Ze(["USHazmatClass1","USHazmatClass2","USHazmatClass3","USHazmatClass4","USHazmatClass5","USHazmatClass6","USHazmatClass7","USHazmatClass8","USHazmatClass9","otherHazmatExplosive","otherHazmatGeneral","otherHazmatHarmfulToWater"]))),maxSpeedKMH:Xe(Le().check(me(0),ge(250))),adrCode:Xe(Ze(["B","C","D","E"])),commercial:Xe(be())}))},Di=ze({...wi,engineType:function(e){return function(e,t){return new e({type:"undefined",...O(t)})}(Me,e)}(),state:Xe(Pi),preferences:Xe(ze({}))}),xi=We([function(e,t,n){return new Ve({type:"union",options:t,discriminator:e,...O(n)})}("engineType",[ze({...wi,engineType:Je("combustion"),state:Xe(Li),preferences:Xe(ze({}))}),ze({...wi,engineType:Je("electric"),state:Xe(Ui),preferences:Xe(Hi)})]),Di]),Gi=Be(ze({costModel:Be(ze({avoid:Ge(Ze(e.avoidableTypes)),traffic:Xe(Ze(["live","historical"])),routeType:Xe(Ze(["fast","short","efficient","thrilling"])),thrillingParams:Xe(ze({hilliness:Xe(Ze(["low","normal","high"])),windingness:Xe(Ze(["low","normal","high"]))}))})),travelMode:ve(),vehicle:xi,when:ze({option:Ze(["departAt","arriveBy"]),date:function(e){return function(e,t){return new e({type:"date",...O(t)})}(De,e)}()})})),Fi=je(Gi,je(ze({origin:At,budget:ze({type:Ze(["timeMinutes","remainingChargeCPT","spentChargePCT","spentFuelLiters","distanceKM"]),value:Le().check(me(0))})}),ze({maxFerryLengthMeters:Xe(Le().check(me(0)))}).shape).shape),zi=e=>e.map(e=>`${e.speedKMH},${e.consumptionUnitsPer100KM}`).join(":"),ji=(e,t,n)=>{((e,t)=>{t&&(!qr(t.acceleration)&&e.append("accelerationEfficiency",String(t.acceleration)),!qr(t.deceleration)&&e.append("decelerationEfficiency",String(t.deceleration)),!qr(t.uphill)&&e.append("uphillEfficiency",String(t.uphill)),!qr(t.downhill)&&e.append("downhillEfficiency",String(t.downhill)))})(e,n.consumption.efficiency),"electric"===t?(((e,t)=>{t.speedsToConsumptionsKWH&&e.append("constantSpeedConsumptionInkWhPerHundredkm",zi(t.speedsToConsumptionsKWH)),!qr(t.auxiliaryPowerInkW)&&e.append("auxiliaryPowerInkW",String(t.auxiliaryPowerInkW)),!qr(t.consumptionInKWHPerKMAltitudeGain)&&e.append("consumptionInkWhPerkmAltitudeGain",String(t.consumptionInKWHPerKMAltitudeGain)),!qr(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",zi(n.speedsToConsumptionsLiters)),!qr(n.auxiliaryPowerInLitersPerHour)&&e.append("auxiliaryPowerInLitersPerHour",String(n.auxiliaryPowerInLitersPerHour)),!qr(n.fuelEnergyDensityInMJoulesPerLiter)&&e.append("fuelEnergyDensityInMJoulesPerLiter",String(n.fuelEnergyDensityInMJoulesPerLiter))})(e,n)},Bi=(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&&ji(e,"engineType"in t?t.engineType:void 0,t.model.engine)))},ki=(e,t)=>{t&&("electric"===t.engineType&&e.append("vehicleEngineType","electric"),Bi(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&&(no(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))},Wi=(e,t)=>{const n=t.costModel;no(e,"avoid",n?.avoid),oo(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),oo(e,"routeType",n?.routeType),oo(e,"travelMode",t.travelMode),ki(e,t.vehicle)},Vi=t=>{const n=new URL((t=>t.customServiceBaseURL||`${t.commonBaseURL}/routing/1/calculateReachableRange/${po(e.getPositionStrict(t.origin))}/json`)(t)),r=n.searchParams;return to(r,t),Wi(r,t),oo(r,"maxFerryLengthInMeters",t.maxFerryLengthMeters),n},Yi=(t,n)=>{const r={type:"Polygon",coordinates:[t.reachableRange.boundary.map(e=>[e.longitude,e.latitude])]};return{type:"Feature",geometry:r,bbox:e.bboxFromGeoJSON(r),properties:n}},Ki={buildReachableRangeRequest:Vi,parseReachableRangeResponse:Yi,reachableRangeTemplate:{requestValidation:{schema:Fi},buildRequest:Vi,sendRequest:st,parseResponse:Yi}},$i=t=>{const n=e.getPositionStrict(t.position),r=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}${so}/reverseGeocode`)(t)}/${n[1]},${n[0]}.json`),o=r.searchParams;return to(o,t),t.allowFreeformNewline&&o.append("allowFreeformNewline",String(t.allowFreeformNewline)),t.geographyType&&o.append("entityType",wo(t.geographyType)),!qr(t.heading)&&o.append("heading",String(t.heading)),t.mapcodes&&o.append("mapcodes",wo(t.mapcodes)),t.number&&o.append("number",t.number),!qr(t.radiusMeters)&&o.append("radius",String(t.radiusMeters)),t.returnSpeedLimit&&o.append("returnSpeedLimit",String(t.returnSpeedLimit)),t.returnRoadUse&&o.append("returnRoadUse",String(t.returnRoadUse)),t.roadUses&&o.append("roadUse",JSON.stringify(t.roadUses)),r},Zi=(t,n)=>{const r=e.toPointFeature(e.getPositionStrict(n.position)),o=t.addresses[0],{boundingBox:i,sideOfStreet:s,offsetPosition:a,...c}=o?.address||{};return{...r,...i&&{bbox:lo(i)},id:e.generateId(),...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:uo(a)},originalPosition:uo(o.position)}}}},qi={requestValidation:{schema:je(ze({position:At}),Be(ze({allowFreeformNewline:be(),geographyType:Ge(ve()),heading:Le().check(me(-360),ge(360)),mapcodes:Ge(ve()),number:ve(),radiusMeters:Le(),returnMatchType:be(),returnRoadUse:be(),returnSpeedLimit:be(),roadUses:Ge(ve()),view:Ze(e.views)})).shape)},buildRequest:$i,sendRequest:st,parseResponse:Zi},Ji={buildRevGeoRequest:$i,parseRevGeoResponse:Zi,reverseGeocodingTemplate:qi},Qi=We([At,ut]),Xi=We([ct,pt]),es=je(Gi,je(ze({locations:Ge(We([Qi,Xi])).check(Ne(1))}),Be(ze({computeAdditionalTravelTimeFor:Ze(["none","all"]),vehicleHeading:Le().check(me(0),ge(359.5)),maxAlternatives:Le().check(me(0),ge(5)),sectionTypes:Ge(Ze(e.inputSectionTypesWithGuidance))})).shape).shape),ts=e=>e.vehicle?.preferences?.chargingPreferences,ns=e=>Array.isArray(e)?e:e.geometry.coordinates,rs=(t,n,r)=>((t,n)=>t.map(t=>{const r=po(e.getPositionStrict(t,{useEntryPoint:n})),o=(e=>e.properties||null)(t)?.radiusMeters;return o?`circle(${r},${o})`:r}).join(":"))(n.includes("path")?((t,n,r)=>{let o;const i=t[0];o="path"===n[0]?ns(i)[0]:e.getPositionStrict(i,{useEntryPoint:r});const s=t[t.length-1];let a;if("path"===n[n.length-1]){const e=ns(s);a=e[e.length-1]}else a=e.getPositionStrict(s,{useEntryPoint:r});return[o,a]})(t,n,r):t,r),os=e=>({latitude:e[1],longitude:e[0]}),is=(t,n,r)=>{const o=[],i=[];return t.forEach((s,a)=>{"path"===n[a]?((e,t,n,r,o)=>{const i=r.length;for(const t of ns(e))r.push(os(t));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"}))})(s,a,t,o,i):((t,n,r,o,i,s)=>{o.push(os(e.getPositionStrict(t,{useEntryPoint:s}))),n>0&&n<r.length-1&&i.push({supportingPointIndex:o.length-1,waypointSourceType:"USER_DEFINED"})})(s,a,t,o,i,r)}),{supportingPoints:o,...i.length&&{pointWaypoints:i}}},ss=t=>{const n=t.locations.map(e.getRoutePlanningLocationType),r=t.useEntryPoints??"main-when-available",o=new URL(`${(e=>e.customServiceBaseURL||`${e.commonBaseURL}/maps/orbis/routing/${ts(e)?"calculateLongDistanceEVRoute":"calculateRoute"}`)(t)}/${rs(t.locations,n,r)}/json`),i=o.searchParams;to(i,t),"language"in t||i.append("language","en-GB"),Wi(i,t),oo(i,"computeTravelTimeFor",t.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")}})(i,t),!qr(t.maxAlternatives)&&i.append("maxAlternatives",String(t.maxAlternatives)),((t,n,r)=>{const o=(n??(r?e.inputSectionTypesWithGuidance:e.inputSectionTypes)).map(e=>"vehicleRestricted"===e?"travelMode":e);no(t,"sectionType",o)})(i,t.sectionTypes,!!t.guidance?.type);for(const e of t.extendedRouteRepresentations??["distance","travelTime"])i.append("extendedRouteRepresentation",e);const s=((e,t,n)=>{const r=t.includes("path"),o=!!ts(e);if(!r&&!o)return null;const i=e.vehicle?.model,s=i?.engine?.charging;return{...r&&is(e.locations,t,n),...o&&s&&{chargingParameters:Xr(s,"maxChargeKWH")}}})(t,n,r);return s?{method:"POST",url:o,data:s}:{method:"GET",url:o}},as=e=>{switch(e){case"Direct_Current":return"DC";case"Alternating_Current_1_Phase":return"AC1";case"Alternating_Current_3_Phase":return"AC3";default:return}},cs=e=>e<12?"slow":e<50?"regular":e<150?"fast":"ultra-fast",us=(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:{...Xr(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:as(n.chargingCurrentType),chargingSpeed:cs(n.chargingPowerInkW)}},...t&&{targetChargeInPCT:100*e.targetChargeInkWh/t},...e.chargingParkPowerInkW&&{chargingParkSpeed:cs(e.chargingParkPowerInkW)}}}},ps=(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:us(e.chargingInformationAtEndOfLeg,n)}}},ls=(t,n)=>t.reduce((t,r,o)=>{const i=0===o?0:t[o-1]?.endPointIndex;let s;return qr(i)||(s=0===i?r.points?.length>0?r.points.length-1:0:i+r.points?.length),t.push({...!qr(i)&&{startPointIndex:i},...s&&{endPointIndex:s},summary:ps(r.summary,n),id:e.generateId()}),t},[]),As=t=>({id:e.generateId(),startPointIndex:t.startPointIndex,endPointIndex:t.endPointIndex}),ds=e=>({...As(e),index:e.importantRoadStretchIndex,streetName:e.streetName?.text,roadNumbers:e.roadNumbers}),Rs=e=>({...As(e),countryCodeISO3:e.countryCode}),Es=e=>"other"===e.travelMode?As(e):null,Ts=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"]}},_s=t=>({...As(t),delayInSeconds:t.delayInSeconds,effectiveSpeedInKmh:t.effectiveSpeedInKmh,categories:Ts(t),magnitudeOfDelay:e.indexedMagnitudes[t.magnitudeOfDelay],tec:t.tec}),Ss=e=>({...As(e),lanes:e.lanes,laneSeparators:e.laneSeparators,properties:e.properties}),hs=e=>({...As(e),maxSpeedLimitInKmh:e.maxSpeedLimitInKmh}),Is=e=>({...As(e),roadShieldReferences:e.roadShieldReferences}),gs=(e,t)=>(t[e]||(t[e]=[]),t[e]),ms=e=>{switch(e.sectionType){case"CAR_TRAIN":return{sectionType:"carTrain",mappingFunction:As};case"COUNTRY":return{sectionType:"country",mappingFunction:Rs};case"FERRY":return{sectionType:"ferry",mappingFunction:As};case"MOTORWAY":return{sectionType:"motorway",mappingFunction:As};case"PEDESTRIAN":return{sectionType:"pedestrian",mappingFunction:As};case"TOLL_VIGNETTE":return{sectionType:"tollVignette",mappingFunction:Rs};case"TOLL":return{sectionType:"toll",mappingFunction:As};case"TRAFFIC":return{sectionType:"traffic",mappingFunction:_s};case"TRAVEL_MODE":return{sectionType:"vehicleRestricted",mappingFunction:Es};case"TUNNEL":return{sectionType:"tunnel",mappingFunction:As};case"UNPAVED":return{sectionType:"unpaved",mappingFunction:As};case"URBAN":return{sectionType:"urban",mappingFunction:As};case"CARPOOL":return{sectionType:"carpool",mappingFunction:As};case"LOW_EMISSION_ZONE":return{sectionType:"lowEmissionZone",mappingFunction:As};case"LANES":return{sectionType:"lanes",mappingFunction:Ss};case"SPEED_LIMIT":return{sectionType:"speedLimit",mappingFunction:hs};case"ROAD_SHIELDS":return{sectionType:"roadShields",mappingFunction:Is};case"IMPORTANT_ROAD_STRETCH":return{sectionType:"importantRoadStretch",mappingFunction:ds}}},fs=(e,t)=>{const n={leg:ls(e.legs,t)};return((e,t)=>{if(Array.isArray(e))for(const n of e){const e=ms(n),r=e?.mappingFunction(n);r&&gs(e.sectionType,t).push(r)}})(e.sections,n),n},Ns=1e-4,Os=(e,t)=>Math.abs(e[0]-t[0])<Ns&&Math.abs(e[1]-t[1])<Ns,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(Os(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}},Cs=(t,n)=>{const r=t.routes.map((t,r)=>((t,n,r)=>{const o={type:"LineString",coordinates:t.legs.flatMap(e=>e.points?.map(e=>[e.longitude,e.latitude]))},i=e.bboxFromGeoJSON(o),s=e.generateId();return{type:"Feature",geometry:o,id:s,...i&&{bbox:i},properties:{id:s,index:n,summary:ps(t.summary,r),sections:fs(t,r),...t.guidance&&{guidance:ys(t.guidance,o.coordinates)},...t.progress&&{progress:t.progress}}}})(t,r,n)),o=e.bboxFromGeoJSON(r);return{type:"FeatureCollection",...o&&{bbox:o},features:r}},vs={requestValidation:{schema:es,refinements:[{check:t=>!!t.locations.map(e.getRoutePlanningLocationType).includes("path")||t.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:ss,sendRequest:async(e,t)=>{const n=e.method;if("GET"===n)return st(e.url,t);if("POST"===n)return at(e,t);throw Error(`Unsupported HTTP method received: ${n}`)},parseResponse:Cs,parseResponseError:(e,t)=>{const{data:n,message:r,status:i}=e;return new o(n?.error?.description??n?.detailedError?.message??r,t,i)},getAPIVersion:()=>2},Ps={reverseGeocode:Ji,geocode:jo,geometryData:Ko,geometrySearch:ni,calculateRoute:{buildCalculateRouteRequest:ss,parseCalculateRouteResponse:Cs,calculateRouteTemplate:vs},reachableRange:Ki,evChargingStationsAvailability:Uo,placeByID:ai,autocompleteSearch:_o},Ls=async(e,t)=>ot(e,{...Lo,...t},"EVChargingStationsAvailability"),Us=async e=>{const t=e.properties.dataSources?.chargingAvailability?.id;if(!t)return e;try{const n=await Ls({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(t){return console.error(t),e}},bs=async(e,t)=>ot(e,{...zo,...t},"Geocode");const Ms=je(Zo,je(bo,Be(ze({minFuzzyLevel:Le().check(me(1),ge(4)),maxFuzzyLevel:Le().check(me(1),ge(4))})).shape).shape),Hs=e=>{let t;switch(e.type){case"COORDINATE":t={...e,details:{position:Ao(e.details)}};break;case"NEARBY":t={...e,details:{position:Ao({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},ws={requestValidation:{schema:Ms},buildRequest:t=>{const n=new URL(`${r=t,r.customServiceBaseURL??`${r.commonBaseURL}${so}/search/${r.query}.json`}`);var r;ao(n,t);const o=n.searchParams;oo(o,"typeahead",t.typeahead),oo(o,"ofs",t.offset),ro(o,"countrySet",t.countries),oo(o,"radius",t.radiusMeters);const i=t.boundingBox&&e.bboxFromGeoJSON(t.boundingBox);return i&&(o.append("topLeft",wo([i[3],i[0]])),o.append("btmRight",wo([i[1],i[2]]))),oo(o,"minFuzzyLevel",t.minFuzzyLevel),oo(o,"maxFuzzyLevel",t.maxFuzzyLevel),n},sendRequest:st,parseResponse:t=>{const n=t.results.map(Co),r=e.bboxOnlyIfWithArea(e.bboxFromGeoJSON(n));return{type:"FeatureCollection",properties:{...vo(t.summary),queryIntent:t.summary.queryIntent.map(Hs)},features:n,...r&&{bbox:r}}}},Ds=async(e,t)=>ot(e,{...ws,...t},"FuzzySearch");exports.APIErrorCode=r,exports.SDKError=n,exports.SDKServiceError=o,exports.autocompleteSearch=To,exports.buildPlaceWithEVAvailability=Us,exports.buildPlacesWithEVAvailability=async(t,n={includeIfAvailabilityUnknown:!0})=>{const r=[];for(const e of t.features){const t=await Us(e);(t.properties.chargingPark?.availability||n.includeIfAvailabilityUnknown)&&r.push(t)}return{...t,features:r,bbox:e.bboxFromGeoJSON(r)}},exports.buildResponseError=s,exports.buildValidationError=a,exports.calculateRoute=async(e,t)=>ot(e,{...vs,...t},"Routing"),exports.customizeService=Ps,exports.evChargingStationsAvailability=Ls,exports.fuzzySearch=Ds,exports.geocode=bs,exports.geocodeOne=async e=>(await bs({query:e,limit:1})).features[0],exports.geometryData=async function(e,t){const n=await ot(e,{...Yo,...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)},exports.parseDefaultResponseError=i,exports.placeById=async(e,t)=>ot(e,{...si,...t},"PlaceById"),exports.reverseGeocode=async(e,t)=>ot(e,{...qi,...t},"ReverseGeocode"),exports.search=async(e,t)=>"geometries"in e?ti(e,t):Ds(e,t);
2
2
  //# sourceMappingURL=services.cjs.min.js.map