@antv/aimapui 0.1.0 → 0.2.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.
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var On=Object.create;var or=Object.defineProperty;var Fn=Object.getOwnPropertyDescriptor;var $n=Object.getOwnPropertyNames;var Dn=Object.getPrototypeOf,Bn=Object.prototype.hasOwnProperty;var Zn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $n(t))!Bn.call(e,o)&&o!==r&&or(e,o,{get:()=>t[o],enumerable:!(n=Fn(t,o))||n.enumerable});return e};var je=(e,t,r)=>(r=e!=null?On(Dn(e)):{},Zn(t||!e||!e.__esModule?or(r,"default",{value:e,enumerable:!0}):r,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),Vn=require("@antv/l7"),wt=require("react-dom");var Ge={exports:{}},Be={};/**
1
+ "use strict";var $5=Object.create;var ae=Object.defineProperty;var D5=Object.getOwnPropertyDescriptor;var B5=Object.getOwnPropertyNames;var U5=Object.getPrototypeOf,W5=Object.prototype.hasOwnProperty;var q5=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of B5(t))!W5.call(e,o)&&o!==r&&ae(e,o,{get:()=>t[o],enumerable:!(n=D5(t,o))||n.enumerable});return e};var z1=(e,t,r)=>(r=e!=null?$5(U5(e)):{},q5(t||!e||!e.__esModule?ae(r,"default",{value:e,enumerable:!0}):r,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),Y5=require("@antv/l7"),S0=require("react-dom");var X1={exports:{}},U1={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var sr;function Hn(){if(sr)return Be;sr=1;var e=d,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function l(c,a,u){var f,m={},h=null,g=null;u!==void 0&&(h=""+u),a.key!==void 0&&(h=""+a.key),a.ref!==void 0&&(g=a.ref);for(f in a)n.call(a,f)&&!i.hasOwnProperty(f)&&(m[f]=a[f]);if(c&&c.defaultProps)for(f in a=c.defaultProps,a)m[f]===void 0&&(m[f]=a[f]);return{$$typeof:t,type:c,key:h,ref:g,props:m,_owner:o.current}}return Be.Fragment=r,Be.jsx=l,Be.jsxs=l,Be}var Ze={};/**
9
+ */var ie;function G5(){if(ie)return U1;ie=1;var e=d,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(l,i,u){var f,h={},p=null,g=null;u!==void 0&&(p=""+u),i.key!==void 0&&(p=""+i.key),i.ref!==void 0&&(g=i.ref);for(f in i)n.call(i,f)&&!s.hasOwnProperty(f)&&(h[f]=i[f]);if(l&&l.defaultProps)for(f in i=l.defaultProps,i)h[f]===void 0&&(h[f]=i[f]);return{$$typeof:t,type:l,key:p,ref:g,props:h,_owner:o.current}}return U1.Fragment=r,U1.jsx=c,U1.jsxs=c,U1}var W1={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,17 +14,17 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var ir;function Un(){return ir||(ir=1,process.env.NODE_ENV!=="production"&&(function(){var e=d,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),y=Symbol.iterator,x="@@iterator";function b(p){if(p===null||typeof p!="object")return null;var N=y&&p[y]||p[x];return typeof N=="function"?N:null}var v=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(p){{for(var N=arguments.length,$=new Array(N>1?N-1:0),Y=1;Y<N;Y++)$[Y-1]=arguments[Y];j("error",p,$)}}function j(p,N,$){{var Y=v.ReactDebugCurrentFrame,te=Y.getStackAddendum();te!==""&&(N+="%s",$=$.concat([te]));var oe=$.map(function(Q){return String(Q)});oe.unshift("Warning: "+N),Function.prototype.apply.call(console[p],console,oe)}}var _=!1,L=!1,z=!1,w=!1,k=!1,O;O=Symbol.for("react.module.reference");function M(p){return!!(typeof p=="string"||typeof p=="function"||p===n||p===i||k||p===o||p===u||p===f||w||p===g||_||L||z||typeof p=="object"&&p!==null&&(p.$$typeof===h||p.$$typeof===m||p.$$typeof===l||p.$$typeof===c||p.$$typeof===a||p.$$typeof===O||p.getModuleId!==void 0))}function A(p,N,$){var Y=p.displayName;if(Y)return Y;var te=N.displayName||N.name||"";return te!==""?$+"("+te+")":$}function T(p){return p.displayName||"Context"}function S(p){if(p==null)return null;if(typeof p.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case n:return"Fragment";case r:return"Portal";case i:return"Profiler";case o:return"StrictMode";case u:return"Suspense";case f:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case c:var N=p;return T(N)+".Consumer";case l:var $=p;return T($._context)+".Provider";case a:return A(p,p.render,"ForwardRef");case m:var Y=p.displayName||null;return Y!==null?Y:S(p.type)||"Memo";case h:{var te=p,oe=te._payload,Q=te._init;try{return S(Q(oe))}catch{return null}}}return null}var E=Object.assign,R=0,P,B,D,F,G,H,V;function U(){}U.__reactDisabledLog=!0;function W(){{if(R===0){P=console.log,B=console.info,D=console.warn,F=console.error,G=console.group,H=console.groupCollapsed,V=console.groupEnd;var p={configurable:!0,enumerable:!0,value:U,writable:!0};Object.defineProperties(console,{info:p,log:p,warn:p,error:p,group:p,groupCollapsed:p,groupEnd:p})}R++}}function I(){{if(R--,R===0){var p={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},p,{value:P}),info:E({},p,{value:B}),warn:E({},p,{value:D}),error:E({},p,{value:F}),group:E({},p,{value:G}),groupCollapsed:E({},p,{value:H}),groupEnd:E({},p,{value:V})})}R<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var q=v.ReactCurrentDispatcher,J;function Z(p,N,$){{if(J===void 0)try{throw Error()}catch(te){var Y=te.stack.trim().match(/\n( *(at )?)/);J=Y&&Y[1]||""}return`
18
- `+J+p}}var ue=!1,ne;{var de=typeof WeakMap=="function"?WeakMap:Map;ne=new de}function ie(p,N){if(!p||ue)return"";{var $=ne.get(p);if($!==void 0)return $}var Y;ue=!0;var te=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var oe;oe=q.current,q.current=null,W();try{if(N){var Q=function(){throw Error()};if(Object.defineProperty(Q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Q,[])}catch(ge){Y=ge}Reflect.construct(p,[],Q)}else{try{Q.call()}catch(ge){Y=ge}p.call(Q.prototype)}}else{try{throw Error()}catch(ge){Y=ge}p()}}catch(ge){if(ge&&Y&&typeof ge.stack=="string"){for(var K=ge.stack.split(`
19
- `),he=Y.stack.split(`
20
- `),pe=K.length-1,me=he.length-1;pe>=1&&me>=0&&K[pe]!==he[me];)me--;for(;pe>=1&&me>=0;pe--,me--)if(K[pe]!==he[me]){if(pe!==1||me!==1)do if(pe--,me--,me<0||K[pe]!==he[me]){var be=`
21
- `+K[pe].replace(" at new "," at ");return p.displayName&&be.includes("<anonymous>")&&(be=be.replace("<anonymous>",p.displayName)),typeof p=="function"&&ne.set(p,be),be}while(pe>=1&&me>=0);break}}}finally{ue=!1,q.current=oe,I(),Error.prepareStackTrace=te}var Pe=p?p.displayName||p.name:"",Ne=Pe?Z(Pe):"";return typeof p=="function"&&ne.set(p,Ne),Ne}function X(p,N,$){return ie(p,!1)}function le(p){var N=p.prototype;return!!(N&&N.isReactComponent)}function ae(p,N,$){if(p==null)return"";if(typeof p=="function")return ie(p,le(p));if(typeof p=="string")return Z(p);switch(p){case u:return Z("Suspense");case f:return Z("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case a:return X(p.render);case m:return ae(p.type,N,$);case h:{var Y=p,te=Y._payload,oe=Y._init;try{return ae(oe(te),N,$)}catch{}}}return""}var se=Object.prototype.hasOwnProperty,Le={},ke=v.ReactDebugCurrentFrame;function xe(p){if(p){var N=p._owner,$=ae(p.type,p._source,N?N.type:null);ke.setExtraStackFrame($)}else ke.setExtraStackFrame(null)}function $e(p,N,$,Y,te){{var oe=Function.call.bind(se);for(var Q in p)if(oe(p,Q)){var K=void 0;try{if(typeof p[Q]!="function"){var he=Error((Y||"React class")+": "+$+" type `"+Q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[Q]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw he.name="Invariant Violation",he}K=p[Q](N,Q,Y,$,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(pe){K=pe}K&&!(K instanceof Error)&&(xe(te),C("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",Y||"React class",$,Q,typeof K),xe(null)),K instanceof Error&&!(K.message in Le)&&(Le[K.message]=!0,xe(te),C("Failed %s type: %s",$,K.message),xe(null))}}}var ee=Array.isArray;function Se(p){return ee(p)}function Ye(p){{var N=typeof Symbol=="function"&&Symbol.toStringTag,$=N&&p[Symbol.toStringTag]||p.constructor.name||"Object";return $}}function De(p){try{return qe(p),!1}catch{return!0}}function qe(p){return""+p}function Yt(p){if(De(p))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ye(p)),qe(p)}var qt=v.ReactCurrentOwner,bn={key:!0,ref:!0,__self:!0,__source:!0},Gt,Jt;function vn(p){if(se.call(p,"ref")){var N=Object.getOwnPropertyDescriptor(p,"ref").get;if(N&&N.isReactWarning)return!1}return p.ref!==void 0}function wn(p){if(se.call(p,"key")){var N=Object.getOwnPropertyDescriptor(p,"key").get;if(N&&N.isReactWarning)return!1}return p.key!==void 0}function jn(p,N){typeof p.ref=="string"&&qt.current}function Cn(p,N){{var $=function(){Gt||(Gt=!0,C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",N))};$.isReactWarning=!0,Object.defineProperty(p,"key",{get:$,configurable:!0})}}function Sn(p,N){{var $=function(){Jt||(Jt=!0,C("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",N))};$.isReactWarning=!0,Object.defineProperty(p,"ref",{get:$,configurable:!0})}}var _n=function(p,N,$,Y,te,oe,Q){var K={$$typeof:t,type:p,key:N,ref:$,props:Q,_owner:oe};return K._store={},Object.defineProperty(K._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(K,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Y}),Object.defineProperty(K,"_source",{configurable:!1,enumerable:!1,writable:!1,value:te}),Object.freeze&&(Object.freeze(K.props),Object.freeze(K)),K};function En(p,N,$,Y,te){{var oe,Q={},K=null,he=null;$!==void 0&&(Yt($),K=""+$),wn(N)&&(Yt(N.key),K=""+N.key),vn(N)&&(he=N.ref,jn(N,te));for(oe in N)se.call(N,oe)&&!bn.hasOwnProperty(oe)&&(Q[oe]=N[oe]);if(p&&p.defaultProps){var pe=p.defaultProps;for(oe in pe)Q[oe]===void 0&&(Q[oe]=pe[oe])}if(K||he){var me=typeof p=="function"?p.displayName||p.name||"Unknown":p;K&&Cn(Q,me),he&&Sn(Q,me)}return _n(p,K,he,te,Y,qt.current,Q)}}var it=v.ReactCurrentOwner,Kt=v.ReactDebugCurrentFrame;function Ae(p){if(p){var N=p._owner,$=ae(p.type,p._source,N?N.type:null);Kt.setExtraStackFrame($)}else Kt.setExtraStackFrame(null)}var at;at=!1;function lt(p){return typeof p=="object"&&p!==null&&p.$$typeof===t}function Xt(){{if(it.current){var p=S(it.current.type);if(p)return`
17
+ */var ce;function J5(){return ce||(ce=1,process.env.NODE_ENV!=="production"&&(function(){var e=d,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),l=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),C=Symbol.iterator,v="@@iterator";function y(m){if(m===null||typeof m!="object")return null;var k=C&&m[C]||m[v];return typeof k=="function"?k:null}var x=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function M(m){{for(var k=arguments.length,I=new Array(k>1?k-1:0),Y=1;Y<k;Y++)I[Y-1]=arguments[Y];L("error",m,I)}}function L(m,k,I){{var Y=x.ReactDebugCurrentFrame,i1=Y.getStackAddendum();i1!==""&&(k+="%s",I=I.concat([i1]));var l1=I.map(function(n1){return String(n1)});l1.unshift("Warning: "+k),Function.prototype.apply.call(console[m],console,l1)}}var S=!1,z=!1,Z=!1,b=!1,j=!1,T;T=Symbol.for("react.module.reference");function A(m){return!!(typeof m=="string"||typeof m=="function"||m===n||m===s||j||m===o||m===u||m===f||b||m===g||S||z||Z||typeof m=="object"&&m!==null&&(m.$$typeof===p||m.$$typeof===h||m.$$typeof===c||m.$$typeof===l||m.$$typeof===i||m.$$typeof===T||m.getModuleId!==void 0))}function _(m,k,I){var Y=m.displayName;if(Y)return Y;var i1=k.displayName||k.name||"";return i1!==""?I+"("+i1+")":I}function H(m){return m.displayName||"Context"}function w(m){if(m==null)return null;if(typeof m.tag=="number"&&M("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof m=="function")return m.displayName||m.name||null;if(typeof m=="string")return m;switch(m){case n:return"Fragment";case r:return"Portal";case s:return"Profiler";case o:return"StrictMode";case u:return"Suspense";case f:return"SuspenseList"}if(typeof m=="object")switch(m.$$typeof){case l:var k=m;return H(k)+".Consumer";case c:var I=m;return H(I._context)+".Provider";case i:return _(m,m.render,"ForwardRef");case h:var Y=m.displayName||null;return Y!==null?Y:w(m.type)||"Memo";case p:{var i1=m,l1=i1._payload,n1=i1._init;try{return w(n1(l1))}catch{return null}}}return null}var V=Object.assign,E=0,R,F,G,J,Q,q,N;function P(){}P.__reactDisabledLog=!0;function W(){{if(E===0){R=console.log,F=console.info,G=console.warn,J=console.error,Q=console.group,q=console.groupCollapsed,N=console.groupEnd;var m={configurable:!0,enumerable:!0,value:P,writable:!0};Object.defineProperties(console,{info:m,log:m,warn:m,error:m,group:m,groupCollapsed:m,groupEnd:m})}E++}}function $(){{if(E--,E===0){var m={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:V({},m,{value:R}),info:V({},m,{value:F}),warn:V({},m,{value:G}),error:V({},m,{value:J}),group:V({},m,{value:Q}),groupCollapsed:V({},m,{value:q}),groupEnd:V({},m,{value:N})})}E<0&&M("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var D=x.ReactCurrentDispatcher,a1;function U(m,k,I){{if(a1===void 0)try{throw Error()}catch(i1){var Y=i1.stack.trim().match(/\n( *(at )?)/);a1=Y&&Y[1]||""}return`
18
+ `+a1+m}}var s1=!1,f1;{var p1=typeof WeakMap=="function"?WeakMap:Map;f1=new p1}function B(m,k){if(!m||s1)return"";{var I=f1.get(m);if(I!==void 0)return I}var Y;s1=!0;var i1=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var l1;l1=D.current,D.current=null,W();try{if(k){var n1=function(){throw Error()};if(Object.defineProperty(n1.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(n1,[])}catch(x1){Y=x1}Reflect.construct(m,[],n1)}else{try{n1.call()}catch(x1){Y=x1}m.call(n1.prototype)}}else{try{throw Error()}catch(x1){Y=x1}m()}}catch(x1){if(x1&&Y&&typeof x1.stack=="string"){for(var t1=x1.stack.split(`
19
+ `),y1=Y.stack.split(`
20
+ `),C1=t1.length-1,v1=y1.length-1;C1>=1&&v1>=0&&t1[C1]!==y1[v1];)v1--;for(;C1>=1&&v1>=0;C1--,v1--)if(t1[C1]!==y1[v1]){if(C1!==1||v1!==1)do if(C1--,v1--,v1<0||t1[C1]!==y1[v1]){var L1=`
21
+ `+t1[C1].replace(" at new "," at ");return m.displayName&&L1.includes("<anonymous>")&&(L1=L1.replace("<anonymous>",m.displayName)),typeof m=="function"&&f1.set(m,L1),L1}while(C1>=1&&v1>=0);break}}}finally{s1=!1,D.current=l1,$(),Error.prepareStackTrace=i1}var O1=m?m.displayName||m.name:"",N1=O1?U(O1):"";return typeof m=="function"&&f1.set(m,N1),N1}function r1(m,k,I){return B(m,!1)}function o1(m){var k=m.prototype;return!!(k&&k.isReactComponent)}function K(m,k,I){if(m==null)return"";if(typeof m=="function")return B(m,o1(m));if(typeof m=="string")return U(m);switch(m){case u:return U("Suspense");case f:return U("SuspenseList")}if(typeof m=="object")switch(m.$$typeof){case i:return r1(m.render);case h:return K(m.type,k,I);case p:{var Y=m,i1=Y._payload,l1=Y._init;try{return K(l1(i1),k,I)}catch{}}}return""}var h1=Object.prototype.hasOwnProperty,w1={},X=x.ReactDebugCurrentFrame;function u1(m){if(m){var k=m._owner,I=K(m.type,m._source,k?k.type:null);X.setExtraStackFrame(I)}else X.setExtraStackFrame(null)}function e1(m,k,I,Y,i1){{var l1=Function.call.bind(h1);for(var n1 in m)if(l1(m,n1)){var t1=void 0;try{if(typeof m[n1]!="function"){var y1=Error((Y||"React class")+": "+I+" type `"+n1+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof m[n1]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw y1.name="Invariant Violation",y1}t1=m[n1](k,n1,Y,I,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(C1){t1=C1}t1&&!(t1 instanceof Error)&&(u1(i1),M("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",Y||"React class",I,n1,typeof t1),u1(null)),t1 instanceof Error&&!(t1.message in w1)&&(w1[t1.message]=!0,u1(i1),M("Failed %s type: %s",I,t1.message),u1(null))}}}var O=Array.isArray;function d1(m){return O(m)}function V1(m){{var k=typeof Symbol=="function"&&Symbol.toStringTag,I=k&&m[Symbol.toStringTag]||m.constructor.name||"Object";return I}}function j1(m){try{return E1(m),!1}catch{return!0}}function E1(m){return""+m}function Z1(m){if(j1(m))return M("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",V1(m)),E1(m)}var K1=x.ReactCurrentOwner,w5={key:!0,ref:!0,__self:!0,__source:!0},K0,X0;function S5(m){if(h1.call(m,"ref")){var k=Object.getOwnPropertyDescriptor(m,"ref").get;if(k&&k.isReactWarning)return!1}return m.ref!==void 0}function z5(m){if(h1.call(m,"key")){var k=Object.getOwnPropertyDescriptor(m,"key").get;if(k&&k.isReactWarning)return!1}return m.key!==void 0}function H5(m,k){typeof m.ref=="string"&&K1.current}function V5(m,k){{var I=function(){K0||(K0=!0,M("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",k))};I.isReactWarning=!0,Object.defineProperty(m,"key",{get:I,configurable:!0})}}function j5(m,k){{var I=function(){X0||(X0=!0,M("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",k))};I.isReactWarning=!0,Object.defineProperty(m,"ref",{get:I,configurable:!0})}}var k5=function(m,k,I,Y,i1,l1,n1){var t1={$$typeof:t,type:m,key:k,ref:I,props:n1,_owner:l1};return t1._store={},Object.defineProperty(t1._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(t1,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Y}),Object.defineProperty(t1,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i1}),Object.freeze&&(Object.freeze(t1.props),Object.freeze(t1)),t1};function A5(m,k,I,Y,i1){{var l1,n1={},t1=null,y1=null;I!==void 0&&(Z1(I),t1=""+I),z5(k)&&(Z1(k.key),t1=""+k.key),S5(k)&&(y1=k.ref,H5(k,i1));for(l1 in k)h1.call(k,l1)&&!w5.hasOwnProperty(l1)&&(n1[l1]=k[l1]);if(m&&m.defaultProps){var C1=m.defaultProps;for(l1 in C1)n1[l1]===void 0&&(n1[l1]=C1[l1])}if(t1||y1){var v1=typeof m=="function"?m.displayName||m.name||"Unknown":m;t1&&V5(n1,v1),y1&&j5(n1,v1)}return k5(m,t1,y1,i1,Y,K1.current,n1)}}var l0=x.ReactCurrentOwner,Q0=x.ReactDebugCurrentFrame;function F1(m){if(m){var k=m._owner,I=K(m.type,m._source,k?k.type:null);Q0.setExtraStackFrame(I)}else Q0.setExtraStackFrame(null)}var u0;u0=!1;function d0(m){return typeof m=="object"&&m!==null&&m.$$typeof===t}function ee(){{if(l0.current){var m=w(l0.current.type);if(m)return`
22
22
 
23
- Check the render method of \``+p+"`."}return""}}function Ln(p){return""}var Qt={};function kn(p){{var N=Xt();if(!N){var $=typeof p=="string"?p:p.displayName||p.name;$&&(N=`
23
+ Check the render method of \``+m+"`."}return""}}function E5(m){return""}var te={};function Z5(m){{var k=ee();if(!k){var I=typeof m=="string"?m:m.displayName||m.name;I&&(k=`
24
24
 
25
- Check the top-level render call using <`+$+">.")}return N}}function er(p,N){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var $=kn(N);if(Qt[$])return;Qt[$]=!0;var Y="";p&&p._owner&&p._owner!==it.current&&(Y=" It was passed a child from "+S(p._owner.type)+"."),Ae(p),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',$,Y),Ae(null)}}function tr(p,N){{if(typeof p!="object")return;if(Se(p))for(var $=0;$<p.length;$++){var Y=p[$];lt(Y)&&er(Y,N)}else if(lt(p))p._store&&(p._store.validated=!0);else if(p){var te=b(p);if(typeof te=="function"&&te!==p.entries)for(var oe=te.call(p),Q;!(Q=oe.next()).done;)lt(Q.value)&&er(Q.value,N)}}}function Mn(p){{var N=p.type;if(N==null||typeof N=="string")return;var $;if(typeof N=="function")$=N.propTypes;else if(typeof N=="object"&&(N.$$typeof===a||N.$$typeof===m))$=N.propTypes;else return;if($){var Y=S(N);$e($,p.props,"prop",Y,p)}else if(N.PropTypes!==void 0&&!at){at=!0;var te=S(N);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",te||"Unknown")}typeof N.getDefaultProps=="function"&&!N.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Tn(p){{for(var N=Object.keys(p.props),$=0;$<N.length;$++){var Y=N[$];if(Y!=="children"&&Y!=="key"){Ae(p),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",Y),Ae(null);break}}p.ref!==null&&(Ae(p),C("Invalid attribute `ref` supplied to `React.Fragment`."),Ae(null))}}var rr={};function nr(p,N,$,Y,te,oe){{var Q=M(p);if(!Q){var K="";(p===void 0||typeof p=="object"&&p!==null&&Object.keys(p).length===0)&&(K+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var he=Ln();he?K+=he:K+=Xt();var pe;p===null?pe="null":Se(p)?pe="array":p!==void 0&&p.$$typeof===t?(pe="<"+(S(p.type)||"Unknown")+" />",K=" Did you accidentally export a JSX literal instead of a component?"):pe=typeof p,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",pe,K)}var me=En(p,N,$,te,oe);if(me==null)return me;if(Q){var be=N.children;if(be!==void 0)if(Y)if(Se(be)){for(var Pe=0;Pe<be.length;Pe++)tr(be[Pe],p);Object.freeze&&Object.freeze(be)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else tr(be,p)}if(se.call(N,"key")){var Ne=S(p),ge=Object.keys(N).filter(function(zn){return zn!=="key"}),ct=ge.length>0?"{key: someKey, "+ge.join(": ..., ")+": ...}":"{key: someKey}";if(!rr[Ne+ct]){var Pn=ge.length>0?"{"+ge.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
25
+ Check the top-level render call using <`+I+">.")}return k}}function re(m,k){{if(!m._store||m._store.validated||m.key!=null)return;m._store.validated=!0;var I=Z5(k);if(te[I])return;te[I]=!0;var Y="";m&&m._owner&&m._owner!==l0.current&&(Y=" It was passed a child from "+w(m._owner.type)+"."),F1(m),M('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',I,Y),F1(null)}}function ne(m,k){{if(typeof m!="object")return;if(d1(m))for(var I=0;I<m.length;I++){var Y=m[I];d0(Y)&&re(Y,k)}else if(d0(m))m._store&&(m._store.validated=!0);else if(m){var i1=y(m);if(typeof i1=="function"&&i1!==m.entries)for(var l1=i1.call(m),n1;!(n1=l1.next()).done;)d0(n1.value)&&re(n1.value,k)}}}function _5(m){{var k=m.type;if(k==null||typeof k=="string")return;var I;if(typeof k=="function")I=k.propTypes;else if(typeof k=="object"&&(k.$$typeof===i||k.$$typeof===h))I=k.propTypes;else return;if(I){var Y=w(k);e1(I,m.props,"prop",Y,m)}else if(k.PropTypes!==void 0&&!u0){u0=!0;var i1=w(k);M("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",i1||"Unknown")}typeof k.getDefaultProps=="function"&&!k.getDefaultProps.isReactClassApproved&&M("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function R5(m){{for(var k=Object.keys(m.props),I=0;I<k.length;I++){var Y=k[I];if(Y!=="children"&&Y!=="key"){F1(m),M("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",Y),F1(null);break}}m.ref!==null&&(F1(m),M("Invalid attribute `ref` supplied to `React.Fragment`."),F1(null))}}var oe={};function se(m,k,I,Y,i1,l1){{var n1=A(m);if(!n1){var t1="";(m===void 0||typeof m=="object"&&m!==null&&Object.keys(m).length===0)&&(t1+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var y1=E5();y1?t1+=y1:t1+=ee();var C1;m===null?C1="null":d1(m)?C1="array":m!==void 0&&m.$$typeof===t?(C1="<"+(w(m.type)||"Unknown")+" />",t1=" Did you accidentally export a JSX literal instead of a component?"):C1=typeof m,M("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",C1,t1)}var v1=A5(m,k,I,i1,l1);if(v1==null)return v1;if(n1){var L1=k.children;if(L1!==void 0)if(Y)if(d1(L1)){for(var O1=0;O1<L1.length;O1++)ne(L1[O1],m);Object.freeze&&Object.freeze(L1)}else M("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ne(L1,m)}if(h1.call(k,"key")){var N1=w(m),x1=Object.keys(k).filter(function(O5){return O5!=="key"}),f0=x1.length>0?"{key: someKey, "+x1.join(": ..., ")+": ...}":"{key: someKey}";if(!oe[N1+f0]){var F5=x1.length>0?"{"+x1.join(": ..., ")+": ...}":"{}";M(`A props object containing a "key" prop is being spread into JSX:
26
26
  let props = %s;
27
27
  <%s {...props} />
28
28
  React keys must be passed directly to JSX without using spread:
29
29
  let props = %s;
30
- <%s key={someKey} {...props} />`,ct,Ne,Pn,Ne),rr[Ne+ct]=!0}}return p===n?Tn(me):Mn(me),me}}function Nn(p,N,$){return nr(p,N,$,!0)}function Rn(p,N,$){return nr(p,N,$,!1)}var In=Rn,An=Nn;Ze.Fragment=n,Ze.jsx=In,Ze.jsxs=An})()),Ze}var ar;function Wn(){return ar||(ar=1,process.env.NODE_ENV==="production"?Ge.exports=Hn():Ge.exports=Un()),Ge.exports}var s=Wn();const ve={basemap:"map",center:[105,35],zoom:4,pitch:0,rotation:0};function nt(e){return{basemap:e.basemap??ve.basemap,token:e.token,style:e.style,center:e.center??[...ve.center],zoom:e.zoom??ve.zoom,pitch:e.pitch??ve.pitch,rotation:e.rotation??ve.rotation,minZoom:e.minZoom,maxZoom:e.maxZoom,bounds:e.bounds,gestureConfig:e.gestureConfig}}let Yn=0;function qn(){return`aimap-layer-${++Yn}`}function _r(e){return{id:e.id??qn(),type:e.type,name:e.name??e.type,visible:e.visible??!0,zIndex:e.zIndex??0,minZoom:e.minZoom,maxZoom:e.maxZoom,autoFit:e.autoFit??!1,source:e.source,sourceType:e.sourceType,sourceConfig:e.sourceConfig,color:e.color,colorField:e.colorField,colorValues:e.colorValues,size:e.size,sizeField:e.sizeField,sizeValues:e.sizeValues,shape:e.shape,shapeField:e.shapeField,shapeValues:e.shapeValues,style:e.style,filterField:e.filterField,filterValues:e.filterValues,animate:e.animate,active:e.active,select:e.select,events:e.events}}const Gn={zoom:"topright",scale:"bottomleft",fullscreen:"topright",geoLocate:"topright",mapTheme:"topright",mouseLocation:"bottomright",exportImage:"topright",layerSwitch:"topright"};function Er(e){return{type:e.type,position:e.position??Gn[e.type]??"topright",options:e.options}}const Jn={breakpoint:768};function Kn(e){return{breakpoint:(e==null?void 0:e.breakpoint)??Jn.breakpoint,mobile:e==null?void 0:e.mobile}}function jt(e){return{map:nt(e.map),layers:(e.layers??[]).map(_r),controls:(e.controls??[]).map(Er),interactions:e.interactions??[],legends:e.legends??[],responsive:e.responsive?Kn(e.responsive):void 0,events:e.events}}function Lr(e){return jt(e)}function Xn(e){const t=[];if(e.basemap||t.push("map.basemap is required"),e.center){const[r,n]=e.center;(r<-180||r>180)&&t.push("map.center[0] (longitude) must be between -180 and 180"),(n<-90||n>90)&&t.push("map.center[1] (latitude) must be between -90 and 90")}return t}function Qn(e,t){const r=[];return e.type||r.push(`layers[${t}].type is required`),e.source===void 0&&e.source,e.colorField&&!e.colorValues&&e.color,r}function eo(e){const t=[];return t.push(...Xn(e.map)),(e.layers??[]).forEach((r,n)=>{t.push(...Qn(r,n))}),{valid:t.length===0,errors:t}}const kr=d.createContext(null);function Mr({schema:e,children:t}){return s.jsx(kr.Provider,{value:e,children:t})}function to(){return d.useContext(kr)}class Tr{constructor(){this.listeners=new Map}on(t,r){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(r),()=>{var n;(n=this.listeners.get(t))==null||n.delete(r)}}once(t,r){const n=(...i)=>{r(...i),o()},o=this.on(t,n);return o}emit(t,...r){const n=this.listeners.get(t);n&&n.forEach(o=>{try{o(...r)}catch(i){console.error(`[aimapui EventBus] Error in event "${t}":`,i)}})}off(t){this.listeners.delete(t)}clear(){this.listeners.clear()}}function Nr(){return new Tr}const Rr=d.createContext(null);function Ir({events:e,children:t}){const r=d.useRef(null);return r.current||(r.current=Nr()),d.useEffect(()=>{if(!e||!r.current)return;const n=r.current,o=[];for(const[i,l]of Object.entries(e))l&&o.push(n.on(i,l));return()=>{o.forEach(i=>i())}},[e]),s.jsx(Rr.Provider,{value:r.current,children:t})}function Ct(){const e=d.useContext(Rr);if(!e)throw new Error("[aimapui] useEventBus must be used within an EventBusProvider");return e}const Ar=d.createContext({resolvedTheme:"light",theme:"light",setTheme:()=>{},toggleTheme:()=>{}});function Pr({defaultTheme:e="light",target:t="container",children:r}){const[n,o]=d.useState(e),[i,l]=d.useState("light");d.useEffect(()=>{const f=window.matchMedia("(prefers-color-scheme: dark)");l(f.matches?"dark":"light");const m=h=>{l(h.matches?"dark":"light")};return f.addEventListener("change",m),()=>f.removeEventListener("change",m)},[]);const c=n==="system"?i:n,a=d.useCallback(()=>{o(f=>f==="system"?i==="light"?"dark":"light":f==="light"?"dark":"light")},[i]);d.useEffect(()=>{t==="root"&&document.documentElement.setAttribute("data-theme",c)},[c,t]);const u=d.useMemo(()=>({resolvedTheme:c,theme:n,setTheme:o,toggleTheme:a}),[c,n,a]);return s.jsx(Ar.Provider,{value:u,children:t==="container"?s.jsx("div",{"data-theme":c,style:{display:"contents"},children:r}):r})}function zr(){return d.useContext(Ar)}const ro=d.createContext({isMobile:!1,breakpoint:768,width:typeof window<"u"?window.innerWidth:1024,schema:void 0});function no({responsive:e,children:t}){const[r,n]=d.useState(typeof window<"u"?window.innerWidth:1024);d.useEffect(()=>{let c;const a=()=>{cancelAnimationFrame(c),c=requestAnimationFrame(()=>n(window.innerWidth))};return window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a),cancelAnimationFrame(c)}},[]);const o=(e==null?void 0:e.breakpoint)??768,i=r<o,l=d.useMemo(()=>({isMobile:i,breakpoint:o,width:r,schema:e}),[i,o,r,e]);return s.jsx(ro.Provider,{value:l,children:t})}const Or=d.createContext(null);function Fr({scene:e,children:t}){const r=d.useRef(e);return r.current=e,s.jsx(Or.Provider,{value:r.current,children:t})}function fe(){return d.useContext(Or)}async function $r(e){var i,l,c;const t=e.basemap??ve.basemap,r=e.token??"",n=e.style??"normal",o={center:e.center??ve.center,zoom:e.zoom??ve.zoom,pitch:e.pitch??ve.pitch,rotation:e.rotation??ve.rotation,minZoom:e.minZoom,maxZoom:e.maxZoom,dragEnable:((i=e.gestureConfig)==null?void 0:i.dragPan)??!0,zoomEnable:((l=e.gestureConfig)==null?void 0:l.pinchZoom)??!0,rotateEnable:((c=e.gestureConfig)==null?void 0:c.dragRotate)??!0};switch(t){case"gaode":{const{GaodeMap:a}=await import("@antv/l7-maps");return new a({...o,style:oo(n),token:r})}case"mapbox":{const{Mapbox:a}=await import("@antv/l7-maps");return new a({...o,style:so(n),token:r})}case"tianditu":{const{TMap:a}=await import("@antv/l7-maps");return new a({...o,token:r})}case"tencent":{const{TencentMap:a}=await import("@antv/l7-maps");return new a({...o,token:r})}case"baidu":{const{BaiduMap:a}=await import("@antv/l7-maps");return new a({...o,style:io(n),token:r})}case"maplibre":{const{MapLibre:a}=await import("@antv/l7-maps");return new a({...o,style:lo(n),token:r})}case"google":{const{GoogleMap:a}=await import("@antv/l7-maps"),u=new a({...o,style:ao(n),token:r});return co(u),u}case"map":default:{const{Map:a}=await import("@antv/l7-maps");return new a({center:e.center??ve.center,zoom:e.zoom??ve.zoom})}}}function oo(e){return{light:"light",dark:"dark",normal:"normal",darkblue:"dark",satellite:"satellite"}[e]??e}function so(e){return{light:"https://tiles.openfreemap.org/styles/positron",dark:"https://tiles.openfreemap.org/styles/dark",normal:"https://tiles.openfreemap.org/styles/bright",liberty:"https://tiles.openfreemap.org/styles/liberty",fiord:"https://tiles.openfreemap.org/styles/fiord"}[e]??e}function io(e){return{light:"light",dark:"dark",normal:"normal",darkblue:"dark",satellite:"satellite"}[e]??e}function ao(e){return{light:"roadmap",dark:"roadmap",normal:"roadmap",darkblue:"roadmap",satellite:"satellite",hybrid:"hybrid",terrain:"terrain"}[e]??"roadmap"}function lo(e){return{light:"https://tiles.openfreemap.org/styles/positron",dark:"https://tiles.openfreemap.org/styles/dark",normal:"https://tiles.openfreemap.org/styles/bright",liberty:"https://tiles.openfreemap.org/styles/liberty",fiord:"https://tiles.openfreemap.org/styles/fiord"}[e]??e}function co(e){const t=["zoomControl","mapTypeControl","streetViewControl","fullscreenControl","scaleControl","rotateControl","panControl"],r={};for(const l of t)r[l]=!1;const n=()=>{const l=e.map;if(!l||typeof l.setOptions!="function")return!1;l.setOptions(r);const c=l.setOptions.bind(l);return l.setOptions=a=>{const u={...a};for(const f of t)f in u&&delete u[f];c(u)},!0};if(n())return;let o=0;const i=setInterval(()=>{o+=1,(n()||o>40)&&clearInterval(i)},100)}function Dr({mapSchema:e,children:t,onSceneReady:r,mapEventHandlers:n,events:o,className:i,style:l}){const c=d.useRef(null),a=d.useRef(null),[u,f]=d.useState(null),m=d.useRef(r);m.current=r;const h=d.useRef(n);h.current=n;const g=Ct(),y=d.useCallback((C,j)=>{var w,k,O;if(j.basemap==="map")return;const _=((w=j.gestureConfig)==null?void 0:w.dragPan)??!0,L=((k=j.gestureConfig)==null?void 0:k.pinchZoom)??!0,z=((O=j.gestureConfig)==null?void 0:O.dragRotate)??!0;try{const M=C.mapService;M&&typeof M.setMapStatus=="function"&&M.setMapStatus({dragEnable:_,zoomEnable:L,rotateEnable:z,doubleClickZoom:L})}catch{}},[]);d.useEffect(()=>{if(!c.current)return;let C=!1;const j=nt(e);$r(j).then(L=>{if(C||!c.current)return;const z=new Vn.Scene({id:c.current,map:L});a.current=z,z.on("loaded",()=>{var w;C||(y(z,j),f(z),(w=m.current)==null||w.call(m,z),_(z))}),j.bounds&&z.on("loaded",()=>{try{const[w,k]=j.bounds;z.fitBounds([w[0],w[1],k[0],k[1]])}catch{}})});function _(L){L.on("mapmove",()=>{var w,k;const z={originalEvent:null,center:[L.getCenter().lng,L.getCenter().lat],zoom:L.getZoom(),pitch:L.getPitch(),rotation:L.getRotation()};(k=(w=h.current)==null?void 0:w.onMove)==null||k.call(w,z),o!=null&&o.mapMove&&g.emit(o.mapMove,z)}),L.on("zoomchange",()=>{var w,k;const z={originalEvent:null,center:[L.getCenter().lng,L.getCenter().lat],zoom:L.getZoom(),pitch:L.getPitch(),rotation:L.getRotation()};(k=(w=h.current)==null?void 0:w.onZoom)==null||k.call(w,z),o!=null&&o.mapZoom&&g.emit(o.mapZoom,z)})}return()=>{if(C=!0,a.current){try{a.current.destroy()}catch{}a.current=null}f(null)}},[e.basemap,y]);const x=JSON.stringify(e.center),b=JSON.stringify(e.gestureConfig);d.useEffect(()=>{if(!u)return;const C=nt(e);try{u.setCenter(C.center)}catch{}try{u.setZoom(C.zoom)}catch{}try{u.setPitch(C.pitch)}catch{}try{u.setRotation(C.rotation)}catch{}y(u,C)},[u,x,e.zoom,e.pitch,e.rotation,b,y]);const v=d.useCallback(()=>{if(a.current)try{const C=a.current.map;C&&typeof C.resize=="function"&&C.resize()}catch{}},[]);return d.useEffect(()=>(window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)),[v]),s.jsx("div",{ref:c,className:i??"aimapui-container",style:l??{width:"100%",height:"100%"},children:u&&s.jsx(Fr,{scene:u,children:t})})}function Br(e){if(e.colorField)return{field:e.colorField,values:e.colorValues};if(e.color)return{values:e.color}}function uo(e){if(e.sizeField)return{field:e.sizeField,values:e.sizeValues};if(e.size!==void 0)return{values:e.size}}function Zr(e){if(e.shapeField)return{field:e.shapeField,values:e.shapeValues};if(e.shape)return{values:e.shape}}function St(e){return{color:Br(e),size:uo(e),shape:Zr(e),style:e.style?{...e.style}:void 0}}function fo(e){var t,r;return{data:e.source,options:{parser:{type:"json",x:((t=e.sourceConfig)==null?void 0:t.x)??"lng",y:((r=e.sourceConfig)==null?void 0:r.y)??"lat"}}}}function po(e){var t,r;return{data:e.source,options:{parser:{type:"csv",x:(t=e.sourceConfig)==null?void 0:t.x,y:(r=e.sourceConfig)==null?void 0:r.y}}}}function _t(e){return{data:e.source,options:void 0}}function mo(e){var t;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser}}:e.sourceType==="geojson"?_t(e):e.sourceType==="csv"?po(e):fo(e)}function Vr(e){return{type:"PointLayer",sourceConfig:mo(e),visual:St(e),schema:e}}function Hr(e){return{type:"LineLayer",sourceConfig:ho(e),visual:St(e),schema:e}}function ho(e){var t,r,n,o,i,l,c,a,u,f;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser}}:e.sourceType==="geojson"?_t(e):e.sourceType==="csv"?{data:e.source,options:{parser:{type:"csv",x:(r=e.sourceConfig)==null?void 0:r.x,y:(n=e.sourceConfig)==null?void 0:n.y,x1:(o=e.sourceConfig)==null?void 0:o.x1,y1:(i=e.sourceConfig)==null?void 0:i.y1}}}:{data:e.source,options:{parser:{type:"json",x:((l=e.sourceConfig)==null?void 0:l.x)??"lng",y:((c=e.sourceConfig)==null?void 0:c.y)??"lat",x1:(a=e.sourceConfig)==null?void 0:a.x1,y1:(u=e.sourceConfig)==null?void 0:u.y1,coordinates:(f=e.sourceConfig)==null?void 0:f.coordinates}}}}function Ur(e){return{type:"PolygonLayer",sourceConfig:go(e),visual:St(e),schema:e}}function go(e){var t;return e.sourceType==="geojson"?_t(e):{data:e.source,options:{parser:{type:"json",coordinates:((t=e.sourceConfig)==null?void 0:t.coordinates)??"coordinates"}}}}function Wr(e){return{type:"HeatmapLayer",sourceConfig:yo(e),visual:xo(e),schema:e}}function yo(e){var t,r,n,o,i,l,c,a;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser,...e.sourceConfig.transforms?{transforms:e.sourceConfig.transforms}:{}}}:e.sourceType==="geojson"?{data:e.source,options:(r=e.sourceConfig)!=null&&r.transforms?{transforms:e.sourceConfig.transforms}:void 0}:e.sourceType==="csv"?{data:e.source,options:{parser:{type:"csv",x:(n=e.sourceConfig)==null?void 0:n.x,y:(o=e.sourceConfig)==null?void 0:o.y},...(i=e.sourceConfig)!=null&&i.transforms?{transforms:e.sourceConfig.transforms}:{}}}:{data:e.source,options:{parser:{type:"json",x:((l=e.sourceConfig)==null?void 0:l.x)??"lng",y:((c=e.sourceConfig)==null?void 0:c.y)??"lat"},...(a=e.sourceConfig)!=null&&a.transforms?{transforms:e.sourceConfig.transforms}:{}}}}function xo(e){const t=e.sizeField?{field:e.sizeField,values:e.sizeValues}:void 0,r=Br(e),n=Zr(e),o=e.style?{...e.style}:void 0;return{color:r,size:t,shape:n,style:o}}function Yr(e){return{type:"RasterLayer",sourceConfig:bo(e),visual:vo(e),schema:e}}function bo(e){var t;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser}}:{data:e.source,options:e.sourceType==="raster"?{parser:{type:"raster",extent:[73.482190241,3.82501784112,135.106618732,53.557926206]}}:e.sourceType==="rasterTile"?{parser:{type:"rasterTile",tileSize:256,zoomOffset:1}}:void 0}}function vo(e){return{color:void 0,size:void 0,shape:void 0,style:e.style?{...e.style}:void 0}}function qr(e){var t;return{type:"ImageLayer",sourceConfig:{data:e.source,options:{parser:((t=e.sourceConfig)==null?void 0:t.parser)??(e.sourceType==="image"?{type:"image"}:void 0)}},visual:{color:void 0,size:void 0,shape:void 0,style:e.style?{...e.style}:void 0},schema:e}}function Et(e,t,r,n){const o=d.useRef(t),i=d.useRef(r);o.current=t,i.current=r;const l=d.useRef(n);l.current=n;const c=d.useRef(null),a=d.useRef(e);a.current=e;const u=d.useCallback(()=>{const m=a.current;if(m)try{const h=m.mapService;if(h){const g=h.lngLatToContainer([o.current,i.current]);g&&l.current(g.x,g.y)}else{const g=m.lngLatToContainer([o.current,i.current]);g&&l.current(g.x,g.y)}}catch{}},[]),f=d.useCallback(()=>{u()},[u]);d.useEffect(()=>{if(!e)return;const m=()=>{setTimeout(()=>u(),0)};return e.loaded?m():e.on("loaded",m),()=>{e.off("loaded",m)}},[e,u]),d.useEffect(()=>{u()},[t,r,u]),d.useEffect(()=>{if(e){try{const m=e.mapService;if(m)return m.on("camerachange",f),m.on("viewchange",f),()=>{m.off("camerachange",f),m.off("viewchange",f)}}catch{}return e.on("camerachange",f),e.on("resize",f),()=>{e.off("camerachange",f),e.off("resize",f)}}},[e,f]),d.useEffect(()=>()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)},[])}function Gr(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=Gr(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function wo(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=Gr(e))&&(n&&(n+=" "),n+=t);return n}function re(...e){return wo(e)}function jo(e,t=1){const r=e.replace("#","").match(/.{2}/g);if(!r||r.length<3)return e;const[n,o,i]=r.map(l=>parseInt(l,16));return`rgba(${n}, ${o}, ${i}, ${t})`}function Je(e){return typeof e=="string"&&/<[a-zA-Z][^>]*>/.test(e)}let We=null;const gt=new Set;function Co(e,t){We&&We!==e&&gt.forEach(r=>r(e)),We=e}function So(e){We===e&&(We=null)}function lr(e,t,r,n,o,i,l,c){if(l!=="auto")return ze(l,c);const a=t,u=i-t,f=e,m=o-e,h=8;if(a>=n+c+h)return ze("top",c);if(u>=n+c+h)return ze("bottom",c);if(m>=r+c+h)return ze("right",c);if(f>=r+c+h)return ze("left",c);const y=Object.entries({top:a,bottom:u,right:m,left:f}).sort((x,b)=>b[1]-x[1])[0][0];return ze(y,c)}function ze(e,t){switch(e){case"top":return{placement:"top",transform:`translate(-50%, -100%) translateY(-${t}px)`};case"bottom":return{placement:"bottom",transform:`translate(-50%, 0) translateY(${t}px)`};case"left":return{placement:"left",transform:`translate(-100%, -50%) translateX(-${t}px)`};case"right":return{placement:"right",transform:`translate(0, -50%) translateX(${t}px)`}}}function rt({onClick:e}){return s.jsx("button",{onClick:t=>{t.stopPropagation(),e()},className:"aimapui-popup-close-btn absolute top-2 right-2 size-8 flex items-center justify-center text-on-surface-variant rounded-lg transition-[color,background] duration-200 cursor-pointer bg-transparent border-none p-0 hover:text-on-surface hover:bg-surface-container-high [&_.material-symbols-outlined]:text-xl","aria-label":"关闭",children:s.jsx("span",{className:"material-symbols-outlined",children:"close"})})}const _o={top:"M0 0L8 8L16 0",bottom:"M0 8L8 0L16 8",left:"M0 0L8 8L0 16",right:"M8 0L0 8L8 16"};function Ke({placement:e}){const t=e==="top"||e==="bottom",r=t?16:8,n=t?8:16,o=t?"0 0 16 8":"0 0 8 16",i=_o[e];return s.jsx("div",{className:`aimapui-popup-tip-arrow aimapui-popup-tip-arrow--${e==="top"?"bottom":e==="bottom"?"top":e}`,children:s.jsxs("svg",{width:r,height:n,viewBox:o,fill:"none",children:[s.jsx("path",{d:i,fill:"rgba(248, 249, 255, 0.95)"}),s.jsx("path",{d:i,stroke:"rgba(195, 198, 215, 0.3)",strokeWidth:"0.5",fill:"none"})]})})}function Eo({header:e,onClose:t}){return e.coverUrl?s.jsxs("div",{className:"aimapui-popup-cover relative aspect-video overflow-hidden",children:[s.jsx("img",{src:e.coverUrl,alt:e.title,className:"w-full h-full object-cover"}),s.jsx("button",{className:"absolute top-2 right-2 size-8 bg-black/30 backdrop-blur-sm text-white flex items-center justify-center rounded-full border-none cursor-pointer transition-colors duration-200 z-10 hover:bg-black/50 [&_.material-symbols-outlined]:text-lg","aria-label":"关闭",onClick:r=>{r.stopPropagation(),t()},children:s.jsx("span",{className:"material-symbols-outlined",children:"close"})}),e.statusLabel&&s.jsxs("div",{className:"absolute bottom-2 left-2 flex items-center gap-1.5 px-2 py-0.5 bg-surface/90 backdrop-blur-sm rounded-md shadow-sm text-[10px] font-semibold uppercase tracking-wide text-on-surface",children:[s.jsx("div",{className:"size-2 rounded-full",style:{background:e.statusColor||"#10b981"}}),s.jsx("span",{children:e.statusLabel})]})]}):null}function Lo({header:e,onClose:t,hasCover:r,showStatusDot:n}){return s.jsxs("div",{className:re("relative flex items-center p-4",!r&&"pr-10"),children:[n&&e.statusDot&&s.jsx("div",{className:"size-2 rounded-full shrink-0 mr-2 animate-pulse",style:{background:e.statusDot}}),s.jsx("h3",{className:"text-xl leading-7 font-semibold text-on-surface m-0 flex-1 min-w-0 truncate",children:e.title}),!r&&s.jsx(rt,{onClick:t})]})}function ko({attributes:e,size:t}){const r=t==="compact",n=t==="detailed",o=r?1:2;return s.jsx("div",{className:re(r?"flex flex-col":"grid gap-2"),style:r?void 0:{gridTemplateColumns:`repeat(${o}, 1fr)`},children:e.map((i,l)=>n&&i.icon?s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:"size-12 rounded-lg bg-surface-container-highest flex items-center justify-center text-primary shrink-0 [&_.material-symbols-outlined]:text-[28px]",children:s.jsx("span",{className:"material-symbols-outlined",children:i.icon})}),s.jsxs("div",{children:[s.jsx("p",{className:"text-sm leading-5 text-on-surface-variant m-0",children:i.label}),s.jsx("p",{className:"text-sm leading-5 font-medium text-on-surface m-0",style:i.valueColor?{color:i.valueColor}:void 0,children:i.value})]})]},l):s.jsxs("div",{className:re("flex justify-between items-baseline gap-2",r&&"py-2 border-b border-outline-variant/30 last:border-b-0 last:pb-0 first:pt-0"),children:[s.jsx("p",{className:"text-sm leading-5 text-on-surface-variant m-0",children:i.label}),s.jsx("p",{className:"text-sm leading-5 font-medium text-on-surface m-0 text-right",style:i.valueColor?{color:i.valueColor}:void 0,children:i.value})]},l))})}function Mo({actions:e}){return s.jsx("div",{className:"flex gap-3 px-4 pb-4",children:e.map((t,r)=>s.jsx("button",{className:re("flex-1 py-2.5 text-sm leading-5 font-semibold rounded-lg border-none cursor-pointer transition-all duration-150 active:scale-[0.98]",t.variant==="secondary"?"bg-transparent text-on-surface border-2 border-solid border-outline-variant hover:bg-surface-container-low":"bg-primary text-on-primary shadow-sm hover:shadow-[0_4px_12px_rgba(0,74,198,0.3)]"),onClick:t.onClick,children:t.label},r))})}function Lt({longitude:e,latitude:t,content:r,closeButton:n=!0,size:o="standard",placement:i="auto",offset:l=8,header:c,attributes:a,actions:u,visible:f,singleton:m=!1,overlayContainer:h,onClose:g,className:y}){const x=fe(),b=f!==void 0,[v,C]=d.useState(!0),j=b?f:v,[_,L]=d.useState(!1),[z,w]=d.useState("top"),k=d.useRef(null),O=d.useRef(!0);d.useRef(!1);const M=d.useRef(Symbol("popup")),[A,T]=d.useState(null);d.useEffect(()=>{if(h||!x)return;const H=()=>{try{const U=x.mapService;if(U&&typeof U.getMarkerContainer=="function"){const W=U.getMarkerContainer();if(W)return T(W),!0}}catch{}return!1};if(H())return;const V=()=>{H()};return x.loaded?V():x.on("loaded",V),()=>{x.off("loaded",V)}},[x,h]);const S=h??A,E=d.useCallback(()=>{_||(L(!0),setTimeout(()=>{b||C(!1),g==null||g(),L(!1)},150))},[b,g,_]);d.useEffect(()=>{if(!m||!j)return;const H=M.current;return Co(H),()=>So(H)},[m,j,E]),d.useEffect(()=>{if(!m)return;const H=M.current,V=U=>{U!==H&&j&&E()};return gt.add(V),()=>{gt.delete(V)}},[m,j,E]);const R=d.useCallback(()=>{var V;const H=k.current;if(!(!H||!x))try{const U=x.mapService,W=U?U.lngLatToContainer([e,t]):x.lngLatToContainer([e,t]);if(W){const I=Math.round(W.x),q=Math.round(W.y);H.style.left="0",H.style.top="0";let J=0,Z=0;try{if(U){const ae=(V=U.getContainer)==null?void 0:V.call(U);ae&&(J=ae.scrollWidth||ae.clientWidth,Z=ae.scrollHeight||ae.clientHeight)}}catch{}const ue=H.querySelector(".aimapui-popup-content"),ne=(ue==null?void 0:ue.offsetWidth)||320,de=(ue==null?void 0:ue.offsetHeight)||200,{placement:ie,transform:X}=lr(I,q,ne,de,J,Z,i,l);w(ie),H.style.transform=`translate3d(${I}px, ${q}px, 0) ${X}`;let le=!0;J>0&&Z>0&&(le=I>=0&&I<=J&&q>=0&&q<=Z),O.current=le,H.style.visibility=le?"visible":"hidden"}}catch{}},[x,e,t,i,l]);if(d.useEffect(()=>{if(!S||!j)return;const H=requestAnimationFrame(()=>{R()});return()=>cancelAnimationFrame(H)},[S,j,R]),d.useEffect(()=>{if(!j)return;const H=V=>{V.key==="Escape"&&E()};return document.addEventListener("keydown",H),()=>document.removeEventListener("keydown",H)},[j,E]),d.useEffect(()=>{var W;if(!j||!S)return;const H=I=>{const q=k.current;if(!q||q.contains(I.target))return;const J=I.target;J.closest(".aimapui-marker")||J.closest("[data-marker]")||E()};let V=null;try{const I=x==null?void 0:x.mapService;I&&(V=(W=I.getContainer)==null?void 0:W.call(I))}catch{}const U=V||S.parentElement||S;return U.addEventListener("click",H,!0),()=>U.removeEventListener("click",H,!0)},[j,S,x,E]),Et(x,e,t,(H,V)=>{var le;const U=k.current;if(!U)return;const W=Math.round(H),I=Math.round(V);let q=0,J=0;try{const ae=x==null?void 0:x.mapService;if(ae){const se=(le=ae.getContainer)==null?void 0:le.call(ae);se&&(q=se.scrollWidth||se.clientWidth,J=se.scrollHeight||se.clientHeight)}}catch{}const Z=U.querySelector(".aimapui-popup-content"),ue=(Z==null?void 0:Z.offsetWidth)||320,ne=(Z==null?void 0:Z.offsetHeight)||200,{placement:de,transform:ie}=lr(W,I,ue,ne,q,J,i,l);w(de);let X=!0;q>0&&J>0&&(X=W>=0&&W<=q&&I>=0&&I<=J),O.current=X,U.style.left="0",U.style.top="0",U.style.transform=`translate3d(${W}px, ${I}px, 0) ${ie}`,U.style.visibility=X?"visible":"hidden"}),!j||!S)return null;const P=c||a||u,B=!!(c!=null&&c.coverUrl),D=z==="left"||z==="right",F=()=>P?s.jsxs(s.Fragment,{children:[c&&B&&s.jsx(Eo,{header:c,onClose:E}),c&&s.jsx(Lo,{header:c,onClose:E,hasCover:B,showStatusDot:o==="compact"}),s.jsxs("div",{className:re("aimapui-popup-body relative p-4 text-sm leading-5 text-on-surface break-words whitespace-normal",!c&&n&&"pr-10"),children:[!c&&n&&s.jsx(rt,{onClick:E}),r&&!Je(r)&&typeof r!="string"&&s.jsx("div",{children:r}),r&&Je(r)&&s.jsx("div",{dangerouslySetInnerHTML:{__html:r}}),r&&!Je(r)&&typeof r=="string"&&s.jsx("div",{children:r}),!r&&!(a!=null&&a.length)&&!(u!=null&&u.length)&&!c&&s.jsx("div",{style:{color:"var(--color-on-surface-variant)"},children:"无内容"}),a&&a.length>0&&s.jsx(ko,{attributes:a,size:o})]}),u&&u.length>0&&s.jsx(Mo,{actions:u})]}):Je(r)?s.jsxs("div",{className:"aimapui-popup-body relative p-4 pt-2 pr-10 text-sm leading-5 text-on-surface break-words whitespace-normal",children:[n&&s.jsx(rt,{onClick:E}),s.jsx("div",{dangerouslySetInnerHTML:{__html:r}})]}):s.jsxs("div",{className:"aimapui-popup-body relative p-4 pt-2 pr-10 text-sm leading-5 text-on-surface break-words whitespace-normal",children:[n&&s.jsx(rt,{onClick:E}),s.jsx("div",{children:r??""})]}),G=D?{display:"flex",alignItems:"center"}:{display:"flex",flexDirection:"column",alignItems:"center"};return wt.createPortal(s.jsxs("div",{ref:k,className:re("aimapui-popup",`aimapui-popup--${o}`),style:{position:"absolute",left:0,top:0,transform:"translate(-9999px, -9999px)",visibility:"hidden",zIndex:30,pointerEvents:"auto",...G},children:[z==="bottom"&&s.jsx(Ke,{placement:z}),z==="right"&&s.jsx(Ke,{placement:z}),s.jsx("div",{className:re("aimapui-popup-content overflow-hidden rounded-xl",_&&"aimapui-popup-content--exit",y),children:F()}),z==="top"&&s.jsx(Ke,{placement:z}),z==="left"&&s.jsx(Ke,{placement:z})]}),S)}const To={top:"bottom",bottom:"top",left:"right",right:"left"},cr={top:"translate(-50%, -100%)",bottom:"translate(-50%, 0)",left:"translate(-100%, -50%)",right:"translate(0, -50%)"};function Jr({content:e,variant:t="dark",longitude:r,latitude:n,targetElement:o,placement:i="top",offset:l=8,trigger:c="hover",visible:a,title:u,items:f,overlayContainer:m,className:h}){const{resolvedTheme:g}=zr(),y=fe(),x=a!==void 0,[b,v]=d.useState(!1),C=x?a:b,j=d.useRef(null),_=d.useRef(null),L=r!==void 0&&n!==void 0;d.useEffect(()=>{if(L||!o||x)return;const S=()=>{_.current=setTimeout(()=>v(!0),100)},E=()=>{_.current&&(clearTimeout(_.current),_.current=null),v(!1)},R=()=>{_.current&&clearTimeout(_.current),v(P=>!P)};return c==="hover"?(o.addEventListener("mouseenter",S),o.addEventListener("mouseleave",E)):o.addEventListener("click",R),()=>{_.current&&clearTimeout(_.current),o.removeEventListener("mouseenter",S),o.removeEventListener("mouseleave",E),o.removeEventListener("click",R)}},[o,c,L,x]);const z=d.useCallback(()=>{if(!o||!j.current)return;const S=o.getBoundingClientRect(),E=j.current.getBoundingClientRect();let R=0,P=0;switch(i){case"right":R=S.right+l,P=S.top+S.height/2-E.height/2;break;case"bottom":R=S.left+S.width/2-E.width/2,P=S.bottom+l;break;case"left":R=S.left-E.width-l,P=S.top+S.height/2-E.height/2;break;case"top":default:R=S.left+S.width/2-E.width/2,P=S.top-E.height-l;break}const B=8;R=Math.max(B,Math.min(R,window.innerWidth-E.width-B)),P=Math.max(B,Math.min(P,window.innerHeight-E.height-B)),j.current.style.left=`${R}px`,j.current.style.top=`${P}px`},[o,i,l]);d.useEffect(()=>{if(L||!C||!o)return;z();const S=()=>z();return window.addEventListener("resize",S),window.addEventListener("scroll",S,!0),()=>{window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0)}},[C,o,L,z]);const w=d.useCallback(()=>{var S,E,R;if(!y)return{left:0,top:0};try{const P=y.mapService,B=((S=P==null?void 0:P.getMarkerContainer)==null?void 0:S.call(P))??((E=y.getMapContainer)==null?void 0:E.call(y))??y.container??((R=y.getContainer)==null?void 0:R.call(y));if(B instanceof HTMLElement){const D=B.getBoundingClientRect();return{left:D.left,top:D.top}}}catch{}return{left:0,top:0}},[y]),k=d.useCallback(()=>{const S=j.current;if(!(!S||!y||!L))try{const E=y.mapService,R=E?E.lngLatToContainer([r,n]):y.lngLatToContainer([r,n]);if(!R||isNaN(R.x)||isNaN(R.y))return;let P=0,B=0;switch(i){case"top":B=-l;break;case"bottom":B=l;break;case"left":P=-l;break;case"right":P=l;break}const D=w(),F=Math.round(R.x+P+D.left),G=Math.round(R.y+B+D.top),H=cr[i];S.style.transform=`translate3d(${F}px, ${G}px, 0) ${H}`,S.style.visibility="visible"}catch{}},[y,r,n,i,l,L,w]);if(d.useEffect(()=>{if(!L||!C)return;const S=requestAnimationFrame(()=>k());return()=>cancelAnimationFrame(S)},[C,L,k]),Et(L?y:null,r??0,n??0,(S,E)=>{const R=j.current;if(!R||!L)return;let P=0,B=0;switch(i){case"top":B=-l;break;case"bottom":B=l;break;case"left":P=-l;break;case"right":P=l;break}const D=w(),F=Math.round(S+P+D.left),G=Math.round(E+B+D.top),H=cr[i];R.style.transform=`translate3d(${F}px, ${G}px, 0) ${H}`,R.style.visibility="visible"}),!C)return null;const O=To[i],M=u||f&&f.length>0,A=()=>e?typeof e=="string"?s.jsx("span",{dangerouslySetInnerHTML:{__html:e}}):e:M?s.jsxs(s.Fragment,{children:[u&&s.jsx("p",{className:"font-sans text-xs leading-4 font-semibold m-0 mb-0.5",children:u}),f&&f.length>0&&s.jsx("div",{className:"flex flex-col gap-0.5",children:f.map((S,E)=>s.jsxs("div",{className:"flex justify-between items-center gap-3",children:[s.jsx("span",{className:"text-xs leading-4 font-normal opacity-70 m-0",children:S.label}),s.jsx("span",{className:"font-mono text-xs leading-4 font-[450] text-right m-0",children:S.value})]},E))})]}):null,T=s.jsxs("div",{ref:j,"data-theme":g,className:re("aimapui-tooltip",t!=="dark"&&`aimapui-tooltip--${t}`),style:{position:"fixed",left:0,top:0,transform:"translate(-9999px, -9999px)",visibility:"hidden",zIndex:9999,pointerEvents:"none"},children:[s.jsx("div",{className:re("aimapui-tooltip-content",h),children:A()}),s.jsx("div",{className:`aimapui-tooltip-arrow aimapui-tooltip-arrow--${O}`})]});return wt.createPortal(T,document.body)}function No(e,t){let r;switch(e.type){case"point":r=Vr(e);break;case"line":r=Hr(e);break;case"polygon":r=Ur(e);break;case"heatmap":r=Wr(e);break;case"raster":r=Yr(e);break;case"image":r=qr(e);break;default:return console.warn(`[aimapui] Unknown layer type: ${e.type}`),null}return Ro(r)}async function Ro(e,t){var m;const n=(await import("@antv/l7"))[e.type];if(!n)throw new Error(`[aimapui] L7 layer class "${e.type}" not found`);const o=new n({...e.schema.zIndex!==void 0?{zIndex:e.schema.zIndex}:{},...e.schema.name?{name:e.schema.name}:{}}),{data:i,options:l}=e.sourceConfig;l?o.source(i,l):o.source(i);const{color:c,size:a,shape:u,style:f}=e.visual;if(c&&(c.field&&c.values?o.color(c.field,c.values):c.values&&o.color(c.values)),a&&(a.field&&a.values?o.size(a.field,a.values):a.values!==void 0&&o.size(a.values)),u&&(u.field&&u.values?o.shape(u.field,u.values):u.values&&o.shape(u.values)),f&&Object.keys(f).length>0&&o.style(f),e.type==="PointLayer"&&!u&&o.shape("circle"),e.type==="LineLayer"&&!u&&o.shape("line"),e.schema.filterField&&e.schema.filterValues){const h=e.schema.filterField,g=e.schema.filterValues;o.filter(h,y=>g.includes(y))}return(m=e.schema.animate)!=null&&m.enable&&o.animate(!0,e.schema.animate),e.schema.active&&o.active(e.schema.active),e.schema.select&&o.select(e.schema.select),e.schema.opacity!==void 0&&o.style({opacity:e.schema.opacity}),e.schema.blend&&o.blend(e.schema.blend),e.schema.visible===!1&&o.hide(),e.schema.minZoom!==void 0&&o.minZoom(e.schema.minZoom),e.schema.maxZoom!==void 0&&o.maxZoom(e.schema.maxZoom),o}function Xe(e,t,r){var c,a,u,f,m,h,g,y;const n=r,o=Number.isFinite((c=n==null?void 0:n.lnglat)==null?void 0:c.lng)?n.lnglat.lng:Number.isFinite((a=n==null?void 0:n.lngLat)==null?void 0:a.lng)?n.lngLat.lng:Number.isFinite((u=n==null?void 0:n.coordinate)==null?void 0:u.lng)?n.coordinate.lng:0,i=Number.isFinite((f=n==null?void 0:n.lnglat)==null?void 0:f.lat)?n.lnglat.lat:Number.isFinite((m=n==null?void 0:n.lngLat)==null?void 0:m.lat)?n.lngLat.lat:Number.isFinite((h=n==null?void 0:n.coordinate)==null?void 0:h.lat)?n.coordinate.lat:0,l=((g=n==null?void 0:n.feature)==null?void 0:g.properties)??(n==null?void 0:n.feature)??((y=n==null?void 0:n.data)==null?void 0:y.properties)??(n==null?void 0:n.data)??void 0;return{layerId:e,layerType:t,originalEvent:r,lng:o,lat:i,feature:l}}function Ie({schema:e,scene:t,eventHandlers:r}){const n=d.useRef(null),o=Ct(),i=d.useRef(r);i.current=r;const l=d.useMemo(()=>{const{source:u,...f}=e;let m;if(ArrayBuffer.isView(u))m=`TypedArray:${u.length}`;else if(u&&typeof u=="object"&&"width"in u){const h=u;m=`Rasters:${h.width}x${h.height}:${h.length}`}else if(typeof u=="string")m=u;else try{m=JSON.stringify(u)}catch{m=String(u)}return m+"|"+Io(f)},[e]),[c,a]=d.useState({visible:!1,lng:0,lat:0,content:"",trigger:"click"});return d.useEffect(()=>{var f;let u=!1;return(f=No(e))==null||f.then(m=>{var z,w,k,O;if(u)return;n.current=m;const h=e.id??e.name??`layer-${e.type}`,g=e.events,y=!!(g!=null&&g.enablePopup),x=(g==null?void 0:g.popupTrigger)??"click",b=M=>{if(!y)return;const A=M.feature;if(!A)return;const T=Ao(A,g==null?void 0:g.popupFields,g==null?void 0:g.popupTemplate);a({visible:!0,lng:M.lng,lat:M.lat,content:T,trigger:x})},v=()=>{a(M=>({...M,visible:!1}))},C=!!((z=i.current)!=null&&z.onClick||g!=null&&g.click||y&&x==="click"),j=!!((w=i.current)!=null&&w.onMouseMove||g!=null&&g.mousemove||y&&x==="hover"),_=!!((k=i.current)!=null&&k.onMouseEnter||g!=null&&g.mouseenter),L=!!((O=i.current)!=null&&O.onMouseLeave||g!=null&&g.mouseleave||y&&x==="hover");C&&m.on("click",M=>{var T,S;const A=Xe(h,e.type,M);(S=(T=i.current)==null?void 0:T.onClick)==null||S.call(T,A),g!=null&&g.click&&o.emit(g.click,A),x==="click"&&b(A)}),j&&m.on("mousemove",M=>{var T,S;const A=Xe(h,e.type,M);(S=(T=i.current)==null?void 0:T.onMouseMove)==null||S.call(T,A),x==="hover"&&b(A),g!=null&&g.mousemove&&o.emit(g.mousemove,A)}),_&&m.on("mouseenter",M=>{var T,S;const A=Xe(h,e.type,M);(S=(T=i.current)==null?void 0:T.onMouseEnter)==null||S.call(T,A),g!=null&&g.mouseenter&&o.emit(g.mouseenter,A)}),L&&m.on("mouseleave",M=>{var T,S;const A=Xe(h,e.type,M);(S=(T=i.current)==null?void 0:T.onMouseLeave)==null||S.call(T,A),x==="hover"&&v(),g!=null&&g.mouseleave&&o.emit(g.mouseleave,A)}),t.addLayer(m),m.on("inited",()=>{u||(e.autoFit&&t.fitBounds(m.getBounds()),t.render())})}).catch(m=>{u||console.error(`[aimapui] Failed to create layer "${e.id??e.name??e.type}":`,m)}),()=>{if(u=!0,n.current){try{t.removeLayer(n.current)}catch{}n.current=null}a(m=>({...m,visible:!1}))}},[l,t,o]),d.useEffect(()=>{n.current&&(e.visible===!1?n.current.hide():n.current.show(),e.zIndex!==void 0&&n.current.zIndex(e.zIndex))},[e.visible,e.zIndex]),c.visible?c.trigger==="hover"?s.jsx(Jr,{longitude:c.lng,latitude:c.lat,content:c.content,variant:"dark",placement:"top",visible:!0}):s.jsx(Lt,{longitude:c.lng,latitude:c.lat,content:c.content,closeButton:!0,size:"compact",onClose:()=>a(u=>({...u,visible:!1}))}):null}function Io(e){return JSON.stringify(yt(e))}function yt(e){if(ArrayBuffer.isView(e))return`[TypedArray:${e.length}]`;if(e instanceof ArrayBuffer)return`[ArrayBuffer:${e.byteLength}]`;if(Array.isArray(e))return e.length>1e3?`[Array:${e.length}]`:e.map(yt);if(e&&typeof e=="object"){const t=e,r=Object.keys(t).sort(),n={};return r.forEach(o=>{n[o]=yt(t[o])}),n}return e}function Ao(e,t,r){return r?r.replace(/\{\{(\w+)\}\}/g,(i,l)=>String(e[l]??"")):`<table style="font-size:12px">${(t??Object.keys(e).filter(i=>!["_id","id","geometry","coordinates"].includes(i))).map(i=>`<tr><td style="font-weight:600;padding-right:8px">${i}</td><td>${e[i]??""}</td></tr>`).join("")}</table>`}function Kr({layers:e,eventHandlers:t}){const r=fe();return r?s.jsx(s.Fragment,{children:e.map((n,o)=>s.jsx(Ie,{schema:n,scene:r,eventHandlers:t},n.id??`layer-${o}`))}):null}const Xr=d.createContext(!1);function _e(){return d.useContext(Xr)}const ut=new Set,we={mark(e){e&&typeof e=="object"&&"$$typeof"in e&&ut.add(e),e&&typeof e=="function"&&ut.add(e)},check(e){if("position"in e.props)return!0;const t=e.type;if(ut.has(t))return!0;const r=t==null?void 0:t.displayName;return!!(typeof r=="string"&&r.endsWith("Control"))}};function kt({children:e,className:t,style:r}){const{controlGroups:n,otherChildren:o}=Po(e);return s.jsx(Xr.Provider,{value:!0,children:s.jsxs("div",{className:`l7-control-container${t?` ${t}`:""}`,style:r,children:[Object.entries(n).map(([i,l])=>{const c=Oo(i);return s.jsx("div",{className:`l7-control-anchor ${c}`,children:l},i)}),o]})})}function Po(e){const t={},r=[];return d.Children.forEach(e,(n,o)=>{var i;if(!d.isValidElement(n)){r.push(n);return}if(we.check(n)){const l=((i=n.props)==null?void 0:i.position)??"topright";t[l]||(t[l]=[]),t[l].push(n)}else r.push(d.isValidElement(n)?d.cloneElement(n,{key:n.key??`non-ctrl-${o}`}):n)}),{controlGroups:t,otherChildren:r}}function zo(e){switch(e){case"topleft":return{vSide:"top",hSide:"left",direction:"column"};case"topright":return{vSide:"top",hSide:"right",direction:"column"};case"bottomleft":return{vSide:"bottom",hSide:"left",direction:"column"};case"bottomright":return{vSide:"bottom",hSide:"right",direction:"column"};case"topcenter":return{vSide:"top",hSide:"left",direction:"row"};case"bottomcenter":return{vSide:"bottom",hSide:"left",direction:"row"};case"lefttop":return{vSide:"top",hSide:"left",direction:"row"};case"leftbottom":return{vSide:"bottom",hSide:"left",direction:"row"};case"righttop":return{vSide:"top",hSide:"right",direction:"row"};case"rightbottom":return{vSide:"bottom",hSide:"right",direction:"row"};default:return{vSide:"top",hSide:"right",direction:"column"}}}function Oo(e){if(e==="rightcenter")return"l7-rightcenter l7-column";if(e==="leftcenter")return"l7-leftcenter l7-column";const{vSide:t,hSide:r,direction:n}=zo(e);return`l7-${t} l7-${r} l7-${n}`}function Ee(e){const t=fe(),r=d.useMemo(()=>{if(!t)return null;try{return t.mapService??null}catch{return null}},[t]),n=d.useCallback(()=>{var i;if(!t)return null;try{return r&&typeof r.getContainer=="function"?r.getContainer():((i=t.getContainer)==null?void 0:i.call(t))??null}catch{return null}},[t,r]),o=d.useMemo(()=>{if(e==="rightcenter")return"l7-rightcenter l7-column";if(e==="leftcenter")return"l7-leftcenter l7-column";const{vSide:i,hSide:l,direction:c}=Fo(e??"topright");return`l7-${i} l7-${l} l7-${c}`},[e]);return{scene:t,mapsService:r,getMapContainer:n,positionClassName:o}}function Fo(e){switch(e){case"topleft":return{vSide:"top",hSide:"left",direction:"column"};case"topright":return{vSide:"top",hSide:"right",direction:"column"};case"bottomleft":return{vSide:"bottom",hSide:"left",direction:"column"};case"bottomright":return{vSide:"bottom",hSide:"right",direction:"column"};case"topcenter":return{vSide:"top",hSide:"left",direction:"row"};case"bottomcenter":return{vSide:"bottom",hSide:"left",direction:"row"};case"lefttop":return{vSide:"top",hSide:"left",direction:"row"};case"leftbottom":return{vSide:"bottom",hSide:"left",direction:"row"};case"righttop":return{vSide:"top",hSide:"right",direction:"row"};case"rightbottom":return{vSide:"bottom",hSide:"right",direction:"row"};case"rightcenter":return{vSide:"top",hSide:"right",direction:"column"};case"leftcenter":return{vSide:"top",hSide:"left",direction:"column"};default:return{vSide:"top",hSide:"right",direction:"column"}}}function Mt({position:e="bottomright",zoomInText:t,zoomInTitle:r="Zoom in",zoomOutText:n,zoomOutTitle:o="Zoom out",showZoom:i=!1,className:l,style:c}){const{mapsService:a,positionClassName:u}=Ee(e),f=_e(),[m,h]=d.useState(0),[g,y]=d.useState(!0),[x,b]=d.useState(!0),v=d.useRef(()=>{if(!a)return;const L=Math.floor(a.getZoom());h(L),y(a.getZoom()<a.getMaxZoom()),b(a.getZoom()>a.getMinZoom())});d.useEffect(()=>{if(!a)return;v.current();const L=()=>v.current();return a.on("zoomend",L),a.on("zoomchange",L),()=>{a.off("zoomend",L),a.off("zoomchange",L)}},[a]);const C=()=>{a&&a.getZoom()<a.getMaxZoom()&&a.zoomIn()},j=()=>{a&&a.getZoom()>a.getMinZoom()&&a.zoomOut()},_=s.jsxs("div",{className:`l7-control l7-control-zoom l7-control--glass${l?` ${l}`:""}`,style:c,children:[s.jsx("button",{className:"l7-button-control",onClick:C,disabled:!g,title:r,"aria-label":r,children:t??s.jsx("span",{className:"material-symbols-outlined",children:"add"})}),i&&s.jsx("button",{className:"l7-button-control l7-control-zoom__number",disabled:!0,children:m}),s.jsx("button",{className:"l7-button-control",onClick:j,disabled:!x,title:o,"aria-label":o,children:n??s.jsx("span",{className:"material-symbols-outlined",children:"remove"})})]});return f?_:s.jsx("div",{className:`l7-control-anchor ${u}`,children:_})}we.mark(Mt);function $o(e,t){const[r,n]=e,[o,i]=t,l=63710088e-1,c=(i-n)*Math.PI/180,a=(o-r)*Math.PI/180,u=Math.sin(c/2)*Math.sin(c/2)+Math.cos(n*Math.PI/180)*Math.cos(i*Math.PI/180)*Math.sin(a/2)*Math.sin(a/2),f=2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u));return l*f}function dt(e){const t=Math.pow(10,Math.floor(Math.abs(e)).toString().length-1);let r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1,t*r}function Tt({position:e="bottomleft",maxWidth:t=100,metric:r=!0,imperial:n=!1,updateWhenIdle:o=!1,className:i,style:l}){const{mapsService:c,positionClassName:a}=Ee(e),u=_e(),[f,m]=d.useState([]),h=d.useRef(()=>{if(c)try{const x=c.getSize()[1]/2,b=c.containerToLngLat([0,x]),v=c.containerToLngLat([t,x]);if(!b||!v)return;const C=$o([b.lng,b.lat],[v.lng,v.lat]),j=[];if(r&&C){const _=dt(C),L=_<1e3?`${_} m`:`${_/1e3} km`;j.push({text:L,width:Math.round(t*(_/C))})}if(n&&C){const _=C*3.2808399;if(_>5280){const L=_/5280,z=dt(L);j.push({text:`${z} mi`,width:Math.round(t*(z/L))})}else{const L=dt(_);j.push({text:`${L} ft`,width:Math.round(t*(L/_))})}}m(j)}catch{}});d.useEffect(()=>{if(!c)return;h.current();const y=()=>h.current(),x=o?"moveend":"mapmove",b=o?"zoomend":"zoomchange";return c.on(x,y),c.on(b,y),()=>{c.off(x,y),c.off(b,y)}},[c,t,r,n,o]);const g=s.jsx("div",{className:`l7-control l7-control-scale l7-control--glass${i?` ${i}`:""}`,style:l,children:f.map((y,x)=>s.jsx("div",{className:"l7-control-scale-line",style:{width:y.width},children:y.text},x))});return u?g:s.jsx("div",{className:`l7-control-anchor ${a}`,children:g})}we.mark(Tt);function Nt({position:e="topright",container:t,className:r,style:n}){const{getMapContainer:o,positionClassName:i}=Ee(e),l=_e(),[c,a]=d.useState(!1),u=d.useCallback(()=>t??o()??document.documentElement,[t,o]),f=d.useCallback(()=>{const h=u();c?document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():h.requestFullscreen?h.requestFullscreen():h.webkitRequestFullscreen&&h.webkitRequestFullscreen()},[c,u]);d.useEffect(()=>{const h=()=>{a(!!document.fullscreenElement)};return document.addEventListener("fullscreenchange",h),()=>document.removeEventListener("fullscreenchange",h)},[]);const m=s.jsx("div",{className:`l7-control l7-control--glass${r?` ${r}`:""}`,style:n,children:s.jsx("button",{className:"l7-button-control",onClick:f,title:c?"退出全屏":"全屏","aria-label":c?"退出全屏":"全屏",children:s.jsx("span",{className:"material-symbols-outlined",children:c?"fullscreen_exit":"fullscreen"})})});return l?m:s.jsx("div",{className:`l7-control-anchor ${i}`,children:m})}we.mark(Nt);function Rt({position:e="topright",transform:t,className:r,style:n}){const{mapsService:o,positionClassName:i}=Ee(e),l=_e(),c=d.useCallback(async()=>{if(!window.navigator.geolocation){console.warn("[aimapui] Geolocation is not supported by this browser");return}if(o)try{const u=await new Promise((x,b)=>{window.navigator.geolocation.getCurrentPosition(({coords:v})=>x(v),v=>b(v))}),{longitude:f,latitude:m}=u;if(isNaN(f)||isNaN(m))return;const h=[f,m],g=t?await t(h):h,y=o.getZoom();o.setZoomAndCenter(y>15?y:15,g)}catch(u){console.warn("[aimapui] Geolocation error:",u)}},[o,t]),a=s.jsx("div",{className:`l7-control l7-control--glass${r?` ${r}`:""}`,style:n,children:s.jsx("button",{className:"l7-button-control",onClick:c,title:"定位","aria-label":"定位",children:s.jsx("span",{className:"material-symbols-outlined",children:"my_location"})})});return l?a:s.jsx("div",{className:`l7-control-anchor ${i}`,children:a})}we.mark(Rt);const xt=[{text:"Standard",value:"normal",preview:"linear-gradient(135deg, #e8e8e8 0%, #c8d8e8 40%, #a8c8d8 100%)"},{text:"Light",value:"light",preview:"linear-gradient(135deg, #f0f4f8 0%, #d6e4f0 40%, #e8eff5 100%)"},{text:"Dark",value:"dark",preview:"linear-gradient(135deg, #0d1b2a 0%, #1b2838 40%, #162032 100%)"},{text:"Dark Blue",value:"darkblue",preview:"linear-gradient(135deg, #0a1628 0%, #0f2040 40%, #091a30 100%)"},{text:"Satellite",value:"satellite",preview:"linear-gradient(135deg, #1a3a1a 0%, #2d5a2d 40%, #1d4a2d 100%)"},{text:"Fresh",value:"fresh",preview:"linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 40%, #d4edda 100%)"}],Do=[{text:"Positron",value:"https://tiles.openfreemap.org/styles/positron",preview:"linear-gradient(135deg, #f2f3f0 0%, #d8dcd6 40%, #e8ebe5 100%)"},{text:"Bright",value:"https://tiles.openfreemap.org/styles/bright",preview:"linear-gradient(135deg, #e8e8e8 0%, #c8d8e8 40%, #a8c8d8 100%)"},{text:"Dark",value:"https://tiles.openfreemap.org/styles/dark",preview:"linear-gradient(135deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%)"},{text:"Liberty",value:"https://tiles.openfreemap.org/styles/liberty",preview:"linear-gradient(135deg, #f0ece2 0%, #dfd7c8 40%, #c8bfad 100%)"},{text:"Fiord",value:"https://tiles.openfreemap.org/styles/fiord",preview:"linear-gradient(135deg, #2c3e50 0%, #34495e 40%, #415b76 100%)"}],Bo=[{text:"Light",value:"light",preview:"linear-gradient(135deg, #f0f4f8 0%, #d6e4f0 40%, #e8eff5 100%)"},{text:"Dark",value:"dark",preview:"linear-gradient(135deg, #0d1b2a 0%, #1b2838 40%, #162032 100%)"},{text:"Normal",value:"normal",preview:"linear-gradient(135deg, #e8e8e8 0%, #c8d8e8 40%, #a8c8d8 100%)"}];function It({position:e="topright",options:t,defaultValue:r,onThemeChange:n,className:o,style:i}){const{mapsService:l,positionClassName:c}=Ee(e),a=_e(),[u,f]=d.useState(!1),[m,h]=d.useState(r??""),[g,y]=d.useState(t??[]),x=d.useRef(null);d.useEffect(()=>{var j;if(t&&t.length>0){y(t);return}if(l){try{const _=(j=l.getMapStyleConfig)==null?void 0:j.call(l);if(_&&typeof _=="object"){const L=Object.entries(_).filter(([,z])=>typeof z=="string").map(([z,w])=>{const k=xt.find(O=>O.value===w);return{text:z,value:w,preview:k==null?void 0:k.preview}});if(L.length>0){y(L);return}}}catch{}y(xt)}},[l,t]),d.useEffect(()=>{var j;if(r){h(r);return}if(l)try{const _=(j=l.getMapStyle)==null?void 0:j.call(l);_&&h(_)}catch{}},[l,r]),d.useEffect(()=>{if(!u)return;const j=_=>{x.current&&!x.current.contains(_.target)&&f(!1)};return document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[u]);const b=d.useCallback(j=>{if(h(j),l)try{l.setMapStyle(j)}catch{}n==null||n(j)},[l,n]),v=Zo(e),C=s.jsxs("div",{ref:x,className:`l7-control l7-control--glass${o?` ${o}`:""}`,style:i,children:[s.jsx("button",{className:"l7-button-control",onClick:()=>f(!u),title:"地图样式","aria-label":"地图样式",children:s.jsx("span",{className:"material-symbols-outlined",children:"palette"})}),u&&g.length>0&&s.jsx("div",{className:`l7-popper ${v}`,children:s.jsxs("div",{className:"l7-popper-content l7-theme-panel",children:[s.jsxs("div",{className:"l7-theme-panel__title",children:[s.jsx("span",{className:"material-symbols-outlined",style:{fontSize:16},children:"palette"}),"Map Themes"]}),s.jsx("div",{className:"l7-theme-panel__grid",children:g.map(j=>{const _=m===j.value,L=j.preview??"linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%)";return s.jsxs("button",{className:`l7-theme-card${_?" l7-theme-card--active":""}`,onClick:()=>b(j.value),title:j.text,children:[s.jsx("div",{className:"l7-theme-card__preview",style:{background:L}}),_&&s.jsx("span",{className:"material-symbols-outlined l7-theme-card__check",style:{fontVariationSettings:"'FILL' 1"},children:"check_circle"}),s.jsx("span",{className:"l7-theme-card__label",children:j.text})]},j.value)})})]})})]});return a?C:s.jsx("div",{className:`l7-control-anchor ${c}`,children:C})}function Zo(e){switch(e){case"topleft":return"l7-popper-right l7-popper-start";case"topright":return"l7-popper-left l7-popper-start";case"bottomleft":return"l7-popper-right l7-popper-end";case"bottomright":return"l7-popper-left l7-popper-end";case"lefttop":return"l7-popper-bottom l7-popper-start";case"leftbottom":return"l7-popper-top l7-popper-start";case"righttop":return"l7-popper-bottom l7-popper-end";case"rightbottom":return"l7-popper-top l7-popper-end";default:return"l7-popper-bottom"}}we.mark(It);function At({position:e="bottomleft",precision:t=6,transform:r,className:n,style:o}){const l=r??(([h,g])=>[+h.toFixed(t),+g.toFixed(t)]),{mapsService:c,positionClassName:a}=Ee(e),u=_e(),f=d.useRef(null);d.useEffect(()=>{if(!c)return;const h=g=>{const y=g.lngLat??g.lnglat;if(!y)return;const x=[y.lng,y.lat],b=l(x);f.current&&(f.current.innerText=b.join(", "))};return c.on("mousemove",h),()=>{c.off("mousemove",h)}},[c,l]);const m=s.jsx("div",{ref:f,className:`l7-control l7-control-mouse-location l7-control--glass${n?` ${n}`:""}`,style:o,children:" "});return u?m:s.jsx("div",{className:`l7-control-anchor ${a}`,children:m})}we.mark(At);function Pt({position:e="topright",format:t="png",onExport:r,className:n,style:o}){const{scene:i,mapsService:l,positionClassName:c}=Ee(e),a=_e(),u=t==="jpg"?"jpeg":"png",f=d.useCallback(async()=>{var g,y;try{const x=l?await((g=l.exportMap)==null?void 0:g.call(l,u)):void 0,b=i?await((y=i.exportPng)==null?void 0:y.call(i,u)):void 0,v=[x,b].filter(C=>!!C);return v.length===0?void 0:v.length===1?v[0]:Vo(v,u)}catch{return}},[i,l,u]),m=d.useCallback(async()=>{var y;const g=await f();if(r&&g){r(g);return}if(g){const x=document.createElement("a");x.download=`aimap-export.${u==="jpeg"?"jpg":"png"}`,x.href=g,x.click()}else try{if(l){const x=(y=l.getContainer)==null?void 0:y.call(l),b=x==null?void 0:x.querySelector("canvas");if(b&&typeof b.toDataURL=="function"){const v=b.toDataURL(`image/${u}`),C=document.createElement("a");C.download=`aimap-export.${u==="jpeg"?"jpg":"png"}`,C.href=v,C.click()}}}catch(x){console.warn("[aimapui] Export image failed:",x)}},[f,r,u,l]),h=s.jsx("div",{className:`l7-control l7-control--glass${n?` ${n}`:""}`,style:o,children:s.jsx("button",{className:"l7-button-control",onClick:m,title:"导出图片","aria-label":"导出图片",children:s.jsx("span",{className:"material-symbols-outlined",children:"photo_camera"})})});return a?h:s.jsx("div",{className:`l7-control-anchor ${c}`,children:h})}async function Vo(e,t){const r=document.querySelector(".l7-map")||document.documentElement,{width:n=0,height:o=0}=r.getBoundingClientRect(),i=document.createElement("canvas");i.width=n,i.height=o;const l=i.getContext("2d");return(await Promise.all(e.map(a=>new Promise(u=>{const f=new Image;f.onload=()=>u(f),f.src=a})))).forEach(a=>{l==null||l.drawImage(a,0,0,n,o)}),i.toDataURL(`image/${t}`)}we.mark(Pt);function zt({position:e="topright",layers:t,onToggle:r,onOpacityChange:n,className:o,style:i}){const[l,c]=d.useState(!1),a=d.useRef(null),[u,f]=d.useState(()=>{const b={};return t.forEach(v=>{b[v.id]=v.opacity??1}),b});d.useEffect(()=>{f(b=>{const v={...b};return t.forEach(C=>{C.opacity!==void 0&&(v[C.id]=C.opacity)}),v})},[t]);const{positionClassName:m}=Ee(e),h=_e();if(d.useEffect(()=>{if(!l)return;const b=v=>{a.current&&!a.current.contains(v.target)&&c(!1)};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[l]),!t.length)return null;const g=Ho(e),y=(b,v)=>{f(C=>({...C,[b]:v})),n==null||n(b,v)},x=s.jsxs("div",{ref:a,className:`l7-control l7-control--glass${o?` ${o}`:""}`,style:i,children:[s.jsx("button",{className:"l7-button-control",onClick:()=>c(!l),title:"图层控制","aria-label":"图层控制",children:s.jsx("span",{className:"material-symbols-outlined",children:"layers"})}),l&&s.jsx("div",{className:`l7-popper ${g}`,children:s.jsxs("div",{className:"l7-popper-content l7-layer-panel",children:[s.jsxs("div",{className:"l7-layer-panel__title",children:[s.jsx("span",{className:"material-symbols-outlined",style:{fontSize:16},children:"layers"}),"Layers"]}),s.jsx("div",{className:"l7-layer-panel__list",children:t.map(b=>{const v=b.visible!==!1,C=u[b.id]??b.opacity??1,j=b.icon??"layers";return s.jsxs("div",{className:`l7-layer-item${v?"":" l7-layer-item--disabled"}`,children:[s.jsxs("div",{className:"l7-layer-item__header",children:[s.jsx("span",{className:"material-symbols-outlined l7-layer-item__icon",children:j}),s.jsx("span",{className:"l7-layer-item__name",children:b.name??b.id}),s.jsxs("label",{className:"l7-layer-toggle",children:[s.jsx("input",{type:"checkbox",checked:v,onChange:()=>r(b.id,!v)}),s.jsx("span",{className:"l7-layer-toggle__track"})]})]}),n&&s.jsxs("div",{className:"l7-layer-item__slider",children:[s.jsx("span",{className:"material-symbols-outlined",style:{fontSize:14},children:"opacity"}),s.jsx("input",{type:"range",min:0,max:100,value:Math.round(C*100),onChange:_=>y(b.id,+_.target.value/100),className:"l7-layer-slider"})]})]},b.id)})})]})})]});return h?x:s.jsx("div",{className:`l7-control-anchor ${m}`,children:x})}function Ho(e){switch(e){case"topleft":return"l7-popper-right l7-popper-start";case"topright":return"l7-popper-left l7-popper-start";case"bottomleft":return"l7-popper-right l7-popper-end";case"bottomright":return"l7-popper-left l7-popper-end";case"lefttop":return"l7-popper-bottom l7-popper-start";case"leftbottom":return"l7-popper-top l7-popper-start";case"righttop":return"l7-popper-bottom l7-popper-end";case"rightbottom":return"l7-popper-top l7-popper-end";default:return"l7-popper-bottom"}}we.mark(zt);function Qr({controls:e,layers:t,onLayerToggle:r,containerRef:n}){const o=fe();return s.jsx(kt,{children:e.map((i,l)=>s.jsx(Uo,{control:i,layers:t,onLayerToggle:r,scene:o,containerRef:n},`${i.type}-${l}`))})}function Uo({control:e,layers:t,onLayerToggle:r,scene:n,containerRef:o}){var l,c,a,u,f;const i=e.position??void 0;switch(e.type){case"zoom":return s.jsx(Mt,{position:i??"bottomright"});case"scale":return s.jsx(Tt,{position:i??"bottomleft",maxWidth:(l=e.options)==null?void 0:l.maxWidth,metric:((c=e.options)==null?void 0:c.unit)!=="imperial",imperial:((a=e.options)==null?void 0:a.unit)==="imperial"});case"fullscreen":return s.jsx(Nt,{position:i??"topright",container:o==null?void 0:o.current});case"geoLocate":return s.jsx(Rt,{position:i??"topright"});case"mapTheme":return s.jsx(It,{position:i??"topright"});case"mouseLocation":return s.jsx(At,{position:i??"bottomleft",precision:(u=e.options)==null?void 0:u.precision});case"exportImage":return s.jsx(Pt,{position:i??"topright",format:(f=e.options)==null?void 0:f.format});case"layerSwitch":return s.jsx(zt,{position:i??"topright",layers:t.map((m,h)=>({id:m.id??`layer-${h}`,name:m.name,visible:m.visible})),onToggle:r??(()=>{})});default:return null}}var Oe={},ur;function Wo(){if(ur)return Oe;ur=1;var e=wt;if(process.env.NODE_ENV==="production")Oe.createRoot=e.createRoot,Oe.hydrateRoot=e.hydrateRoot;else{var t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Oe.createRoot=function(r,n){t.usingClientEntryPoint=!0;try{return e.createRoot(r,n)}finally{t.usingClientEntryPoint=!1}},Oe.hydrateRoot=function(r,n,o){t.usingClientEntryPoint=!0;try{return e.hydrateRoot(r,n,o)}finally{t.usingClientEntryPoint=!1}}}return Oe}var Yo=Wo();const st={primary:{fill:"#2563eb",bg:"rgba(37, 99, 235, 0.2)",ring:"rgba(37, 99, 235, 0.2)"},success:{fill:"#00854d",bg:"rgba(0, 133, 77, 0.2)",ring:"rgba(0, 133, 77, 0.2)"},warning:{fill:"#943700",bg:"rgba(148, 55, 0, 0.2)",ring:"rgba(148, 55, 0, 0.2)"},error:{fill:"#ba1a1a",bg:"rgba(186, 26, 26, 0.2)",ring:"rgba(186, 26, 26, 0.2)"}};function qo(e){return typeof e=="string"&&/<[a-zA-Z][^>]*>/.test(e)}function dr({color:e="primary"}){const{fill:t}=st[e];return s.jsxs("svg",{viewBox:"0 0 32 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{width:32,height:40,display:"block"},className:"aimapui-marker-pin block drop-shadow-md",children:[s.jsx("path",{d:"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 16 40 16 40C16 40 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z",fill:t,stroke:"white",strokeWidth:1.5}),s.jsx("circle",{cx:"16",cy:"16",r:"4",fill:"white"})]})}function Go({icon:e,color:t="primary"}){const{fill:r}=st[t];return s.jsxs("div",{className:"aimapui-marker-pin aimapui-marker-pin--icon relative inline-flex items-start justify-center drop-shadow-md",style:{width:32,height:40},children:[s.jsx("svg",{viewBox:"0 0 32 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",inset:0,width:"100%",height:"100%"},children:s.jsx("path",{d:"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 16 40 16 40C16 40 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z",fill:r,stroke:"white",strokeWidth:1.5})}),s.jsx("span",{className:"material-symbols-outlined",style:{position:"relative",zIndex:1,fontSize:14,color:"white",fontVariationSettings:"'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24",lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",width:32,height:28},children:e})]})}function Jo({color:e="primary"}){const{fill:t,bg:r}=st[e];return s.jsx("div",{className:"aimapui-marker-circle size-6 rounded-full border-[1.5px] border-white shadow-md flex items-center justify-center relative",style:{background:r,borderColor:t},children:s.jsx("div",{className:"aimapui-marker-circle__inner size-1.5 rounded-full",style:{background:t}})})}function Ko({color:e="primary"}){const{fill:t}=st[e];return s.jsx("div",{className:"aimapui-marker-dot size-2 rounded-full border-[1.5px] border-white shadow-[0_1px_3px_rgba(0,0,0,0.3)]",style:{background:t}})}function Xo({text:e}){return s.jsx("div",{className:"aimapui-marker-label absolute top-[calc(100%+4px)] left-1/2 -translate-x-1/2 font-mono text-xs leading-4 font-[450] text-on-surface whitespace-nowrap pointer-events-none [text-shadow:-1px_-1px_0_white,1px_-1px_0_white,-1px_1px_0_white,1px_1px_0_white,0_0_2px_white,0_0_4px_rgba(255,255,255,0.5)]",children:e})}const fr={center:"translate(-50%, -50%)",top:"translate(-50%, 0)",bottom:"translate(-50%, -100%)",left:"translate(0, -50%)",right:"translate(-100%, -50%)","top-left":"translate(0, 0)","top-right":"translate(-100%, 0)","bottom-left":"translate(0, -100%)","bottom-right":"translate(-100%, -100%)"},Qo=[0,0];function es(e,t,r,n){let o;switch(e){case"pin":o=s.jsx(dr,{color:t});break;case"circle":o=s.jsx(Jo,{color:t});break;case"icon":o=s.jsx(Go,{icon:r||"location_on",color:t});break;case"dot":o=s.jsx(Ko,{color:t});break;default:o=s.jsx(dr,{color:t})}return n?s.jsxs("div",{style:{position:"relative",display:"inline-flex",flexDirection:"column",alignItems:"center"},children:[o,s.jsx(Xo,{text:n})]}):o}function Fe({longitude:e,latitude:t,variant:r="pin",color:n="primary",icon:o,label:i,content:l,children:c,draggable:a=!1,className:u,overlayContainer:f,onClick:m,onMouseEnter:h,onMouseLeave:g,onDoubleClick:y,onDragEnd:x,onDragging:b,onDragStart:v,selected:C=!1,inactive:j=!1,anchor:_="bottom",offsets:L=Qo,overflowHide:z=!0}){const w=fe(),k=d.useRef(null),O=d.useRef(null),M=d.useRef({lng:e,lat:t}),A=d.useRef({width:0,height:0}),T=L[0]??0,S=L[1]??0,E=d.useRef(null),R=d.useMemo(()=>{const D=["aimapui-marker"];return C&&D.push("aimapui-marker--selected"),j&&D.push("aimapui-marker--inactive"),D.push(`aimapui-marker--${n}`),u&&D.push(u),D.join(" ")},[C,j,n,u]),P=d.useMemo(()=>l||c||es(r,n,o,i),[l,c,r,n,o,i]),B=D=>{const F=k.current;if(!F||!D)return;const{lng:G,lat:H}=M.current;if(isNaN(G)||isNaN(H))return;let V;try{V=D.lngLatToContainer([G,H])}catch{return}if(!V||isNaN(V.x)||isNaN(V.y))return;const U=V.x+T,W=V.y-S,I=fr[_]||fr.bottom,q=Math.round(U),J=Math.round(W);if(F.style.left="0",F.style.top="0",F.style.transform=`translate3d(${q}px, ${J}px, 0) ${I}`,z){const{width:Z,height:ue}=A.current;F.style.visibility=U<0||U>Z||W<0||W>ue?"hidden":"visible"}};return d.useEffect(()=>{if(!w)return;let D=!1;const F=w.mapService;if(!F){console.error("[Marker] mapService not available");return}const G=()=>{var q;const I=(q=F.getContainer)==null?void 0:q.call(F);I&&(A.current={width:I.scrollWidth||I.clientWidth||0,height:I.scrollHeight||I.clientHeight||0})},H=()=>{k.current&&B(F)},V=(I,q,J)=>{var Z;try{(Z=I==null?void 0:I.on)==null||Z.call(I,q,J)}catch{}},U=(I,q,J)=>{var Z;try{(Z=I==null?void 0:I.off)==null||Z.call(I,q,J)}catch{}};return G(),V(F,"camerachange",H),V(F,"viewchange",H),V(w,"resize",G),(async()=>{var ie;if(w.loaded||await new Promise(X=>{w.once("loaded",()=>X())}),D)return;const I=document.createElement("div");I.className=R,I.style.position="absolute",I.style.left="0",I.style.top="0",I.style.whiteSpace="nowrap",I.style.pointerEvents="auto",k.current=I;const q=f??((ie=F.getMarkerContainer)==null?void 0:ie.call(F));if(q)q.appendChild(I);else{console.error("[Marker] getMarkerContainer not available");return}B(F);let J=!1,Z={lng:0,lat:0};const ue=X=>{var se;if(!a)return;J=!0,F.setMapStatus({dragEnable:!1,zoomEnable:!1});const le=F.getContainer(),ae=(se=le==null?void 0:le.getClientRects())==null?void 0:se[0];if(ae){const Le=ae.left,ke=ae.top,xe=X.x||X.clientX,$e=X.y||X.clientY;Z=F.containerToLngLat([xe-Le,$e-ke])}F.on("mousemove",ne),document.addEventListener("mouseup",de),v&&v(M.current.lng,M.current.lat)},ne=X=>{if(!J)return;const le=X.lngLat||X.lnglat,{lng:ae,lat:se}=Z,{lng:Le,lat:ke}=le,xe={lng:M.current.lng+Le-ae,lat:M.current.lat+ke-se};M.current=xe,Z=le,B(F),b&&b(xe.lng,xe.lat)},de=()=>{J&&(J=!1,F.setMapStatus({dragEnable:!0,zoomEnable:!0}),F.off("mousemove",ne),document.removeEventListener("mouseup",de),x&&x(M.current.lng,M.current.lat))};m&&I.addEventListener("click",X=>m(X)),h&&I.addEventListener("mouseenter",X=>h(X)),g&&I.addEventListener("mouseleave",X=>g(X)),y&&I.addEventListener("dblclick",X=>y(X)),a&&I.addEventListener("mousedown",ue),E.current={updatePosition:H,handleDragStart:ue,handleDragMove:ne,handleDragEnd:de}})(),()=>{if(D=!0,U(F,"camerachange",H),U(F,"viewchange",H),U(w,"resize",G),E.current&&a&&F.setMapStatus({dragEnable:!0,zoomEnable:!0}),k.current){const q=O.current,J=k.current;O.current=null,k.current=null,queueMicrotask(()=>{q&&q.unmount(),J.parentNode&&J.parentNode.removeChild(J)})}E.current=null}},[w,R,_,T,S,z,a,f]),d.useEffect(()=>{if(!k.current)return;const D=k.current;qo(P)?D.innerHTML=P:(O.current||(O.current=Yo.createRoot(D)),O.current.render(s.jsx(s.Fragment,{children:P})))},[P]),d.useEffect(()=>{k.current&&(k.current.className=R)},[R]),d.useEffect(()=>{if(M.current={lng:e,lat:t},w&&k.current){const D=w.mapService;D&&B(D)}},[e,t,w]),null}function en({interactions:e}){const t=fe(),[r,n]=d.useState(null);d.useEffect(()=>{if(!t)return;const l=()=>{try{const a=t.mapService;if(a&&typeof a.getMarkerContainer=="function"){const u=a.getMarkerContainer();if(u){n(u);return}}}catch{}const c=setTimeout(()=>{try{const a=t.mapService;if(a&&typeof a.getMarkerContainer=="function"){const u=a.getMarkerContainer();u&&n(u)}}catch{}},100);return()=>clearTimeout(c)};return t.loaded?l():(t.on("loaded",l),()=>{t.off("loaded",l)})},[t]);const o=e.filter(l=>l.type==="marker"),i=e.filter(l=>l.type==="popup");return s.jsxs(s.Fragment,{children:[r&&o.map((l,c)=>s.jsx(Fe,{...l,overlayContainer:r},`marker-${c}`)),r&&i.map((l,c)=>s.jsx(Lt,{...l,overlayContainer:r},`popup-${c}`))]})}function Ot({title:e,labels:t,colors:r,swatchShape:n="square",grid:o=!1,className:i,interaction:l}){const[c,a]=d.useState(-1),[u,f]=d.useState(new Set),m=y=>{var x;a(y),(x=l==null?void 0:l.onHover)==null||x.call(l,y)},h=()=>{var y;a(-1),(y=l==null?void 0:l.onHover)==null||y.call(l,-1)},g=y=>{var x;f(b=>{const v=new Set(b);return v.has(y)?v.delete(y):v.add(y),v}),(x=l==null?void 0:l.onToggle)==null||x.call(l,y)};return s.jsxs("div",{className:re(i),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsx("div",{className:re("flex flex-col gap-1",o&&"grid grid-cols-2 gap-x-3 gap-y-1"),children:t.map((y,x)=>{const b=c>=0?c!==x:u.has(x);return s.jsxs("div",{className:re("flex items-center gap-2 rounded px-1 py-0.5 cursor-pointer select-none transition-[background,opacity] duration-150 hover:bg-primary/[0.06]",b&&"opacity-35"),onMouseEnter:()=>m(x),onMouseLeave:h,onClick:()=>g(x),children:[s.jsx("span",{className:re("size-3 shrink-0 rounded-sm shadow-[inset_0_0_0_1px_rgba(0,0,0,0.08)] transition-opacity duration-150",n==="circle"&&"rounded-full"),style:{backgroundColor:r[x]??"#ccc"}}),s.jsx("span",{className:"text-xs leading-4 text-on-surface truncate",children:y})]},x)})})]})}function Ft({title:e,labels:t,colors:r,isContinuous:n=!1,showTicks:o=!1,brushable:i=!1,className:l,interaction:c}){const[a,u]=d.useState([0,100]),f=d.useRef(null),m=r.join(", "),h=d.useCallback(g=>y=>{y.stopPropagation(),y.preventDefault();const x=f.current;if(!x)return;const b=x.getBoundingClientRect().width,v=j=>{const _=x.getBoundingClientRect(),L=j.clientX-_.left,z=Math.max(0,Math.min(100,L/b*100));u(w=>{var O;let k;return g==="left"?k=[Math.min(z,w[1]-5),w[1]]:k=[w[0],Math.max(z,w[0]+5)],(O=c==null?void 0:c.onBrush)==null||O.call(c,k),k})},C=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",C)};document.addEventListener("mousemove",v),document.addEventListener("mouseup",C)},[c,f]);return s.jsxs("div",{className:re(l),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsxs("div",{className:"flex flex-col gap-1",ref:f,children:[s.jsx("div",{className:re("flex h-3 rounded overflow-hidden shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",n&&"bg-[length:100%_100%]"),style:n?{background:`linear-gradient(to right, ${m})`}:void 0,children:!n&&r.map((g,y)=>s.jsx("div",{className:"flex-1 relative",style:{backgroundColor:g}},y))}),o&&s.jsx("div",{className:"flex justify-between h-1.5 mt-0.5",children:r.map((g,y)=>y===0?null:s.jsx("div",{className:"w-px h-full bg-outline-variant",style:{position:"absolute",left:`${y/(r.length-1)*100}%`}},y))}),s.jsxs("div",{className:"flex justify-between font-mono text-[11px] leading-3.5 font-[450] text-on-surface-variant",children:[s.jsx("span",{children:t[0]}),t.length>2&&s.jsx("span",{children:t[Math.floor(t.length/2)]}),s.jsx("span",{children:t[t.length-1]})]}),i&&s.jsxs("div",{className:"relative h-3 mt-1 cursor-ew-resize",children:[s.jsx("div",{className:"absolute top-0 h-full border-2 border-primary rounded-sm bg-primary/10 pointer-events-none",style:{left:`${a[0]}%`,width:`${a[1]-a[0]}%`}}),s.jsx("div",{className:"absolute top-1/2 w-2 h-4 bg-primary rounded-sm -translate-x-1/2 -translate-y-1/2 cursor-ew-resize shadow-sm hover:shadow-md hover:shadow-primary/30 transition-shadow duration-150",style:{left:`${a[0]}%`},onMouseDown:h("left")}),s.jsx("div",{className:"absolute top-1/2 w-2 h-4 bg-primary rounded-sm -translate-x-1/2 -translate-y-1/2 cursor-ew-resize shadow-sm hover:shadow-md hover:shadow-primary/30 transition-shadow duration-150",style:{left:`${a[1]}%`},onMouseDown:h("right")})]})]})]})}function $t({title:e,colors:t,labels:r,middleLabel:n,className:o}){const i=t.join(", ");return s.jsxs("div",{className:re(o),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs("div",{style:{position:"relative"},children:[s.jsx("div",{className:"flex h-3 rounded overflow-hidden shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{background:`linear-gradient(to right, ${i})`}}),s.jsx("div",{style:{position:"absolute",top:-4,left:"50%",transform:"translateX(-50%)",width:1,height:20,background:"var(--color-outline-variant, #c3c6d7)"}}),n&&s.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 -bottom-[18px] font-mono text-[11px] text-on-surface-variant whitespace-nowrap",children:n})]}),s.jsxs("div",{className:"flex justify-between font-mono text-[11px] leading-3.5 font-[450] text-on-surface-variant",style:n?{marginBottom:12}:void 0,children:[s.jsx("span",{children:r[0]}),s.jsx("span",{children:r[1]})]})]})]})}function Dt({title:e,ranges:t,colors:r,className:n,interaction:o}){const[i,l]=d.useState(-1),[c,a]=d.useState(new Set),u=h=>{var g;l(h),(g=o==null?void 0:o.onHover)==null||g.call(o,h)},f=()=>{var h;l(-1),(h=o==null?void 0:o.onHover)==null||h.call(o,-1)},m=h=>{var g;a(y=>{const x=new Set(y);return x.has(h)?x.delete(h):x.add(h),x}),(g=o==null?void 0:o.onToggle)==null||g.call(o,h)};return s.jsxs("div",{className:re(n),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsx("div",{className:"flex flex-col gap-1.5",children:t.map(([h,g],y)=>{const x=i>=0?i!==y:c.has(y);return s.jsxs("div",{className:re("flex items-center gap-2 cursor-pointer select-none transition-opacity duration-150 hover:opacity-80",x&&"opacity-35"),onMouseEnter:()=>u(y),onMouseLeave:f,onClick:()=>m(y),children:[s.jsx("span",{className:"w-6 h-3 shrink-0 rounded-sm shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{backgroundColor:r[y]??"#ccc"}}),s.jsxs("span",{className:"font-mono text-[11px] leading-3.5 text-on-surface-variant",children:["[",h,", ",g,")"]})]},y)})})]})}function Bt({title:e,fillColor:t="#4A90D9",items:r,className:n}){const o=Math.max(...r.map(i=>i.size),1);return s.jsxs("div",{className:re(n),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("div",{className:"flex items-end gap-2 px-1",children:r.map((i,l)=>s.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-end",height:o},children:s.jsx("div",{className:"rounded-full shrink-0 shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{width:i.size,height:i.size,backgroundColor:t,opacity:.85}})},l))}),s.jsx("div",{className:"flex items-end gap-2 mt-1",children:r.map((i,l)=>s.jsx("span",{className:"font-mono text-[11px] leading-3.5 text-on-surface-variant whitespace-nowrap",children:i.label},l))})]})]})}function Zt({title:e,color:t="#4A90D9",items:r,className:n,interaction:o}){const[i,l]=d.useState(-1),[c,a]=d.useState(new Set),u=h=>{var g;l(h),(g=o==null?void 0:o.onHover)==null||g.call(o,h)},f=()=>{var h;l(-1),(h=o==null?void 0:o.onHover)==null||h.call(o,-1)},m=h=>{var g;a(y=>{const x=new Set(y);return x.has(h)?x.delete(h):x.add(h),x}),(g=o==null?void 0:o.onToggle)==null||g.call(o,h)};return s.jsxs("div",{className:re(n),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsx("div",{className:"flex flex-col gap-1.5",children:r.map((h,g)=>{const y=i>=0?i!==g:c.has(g);return s.jsxs("div",{className:re("flex items-center gap-2.5 py-0.5 cursor-pointer select-none transition-opacity duration-150 hover:opacity-80",y&&"opacity-35"),onMouseEnter:()=>u(g),onMouseLeave:f,onClick:()=>m(g),children:[s.jsx("div",{className:"w-7 shrink-0 rounded-full shadow-[0_0_0_1px_rgba(0,0,0,0.06)]",style:{height:h.width,backgroundColor:t,opacity:.85}}),s.jsx("span",{className:"text-xs leading-4 text-on-surface whitespace-nowrap",children:h.label})]},g)})})]})}function Vt({title:e,labels:t,fillColor:r="#4A90D9",className:n}){return s.jsxs("div",{className:re(n),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsx("div",{className:"flex items-end gap-2 px-1",children:t.map(([l,c],a)=>{const f=6+a/Math.max(t.length-1,1)*18;return s.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-end",height:24},children:s.jsx("div",{className:"rounded-full shrink-0 shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{width:f,height:f,backgroundColor:r,opacity:.85}})},a)})}),s.jsx("div",{className:"flex items-end gap-2 mt-1",children:t.map(([l,c],a)=>s.jsxs("span",{className:"font-mono text-[11px] leading-3.5 text-on-surface-variant whitespace-nowrap",children:[l,"–",c]},a))})]})]})}function Ht({title:e,items:t,className:r,interaction:n}){const[o,i]=d.useState(-1),[l,c]=d.useState(new Set),a=m=>{var h;i(m),(h=n==null?void 0:n.onHover)==null||h.call(n,m)},u=()=>{var m;i(-1),(m=n==null?void 0:n.onHover)==null||m.call(n,-1)},f=m=>{var h;c(g=>{const y=new Set(g);return y.has(m)?y.delete(m):y.add(m),y}),(h=n==null?void 0:n.onToggle)==null||h.call(n,m)};return s.jsxs("div",{className:re(r),children:[e&&s.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),s.jsx("div",{className:"flex flex-col gap-1",children:t.map((m,h)=>{const g=o>=0?o!==h:l.has(h);return s.jsxs("div",{className:re("flex items-center gap-2 px-1 py-0.5 rounded cursor-pointer select-none transition-[background,opacity] duration-150 hover:bg-primary/[0.06]",g&&"opacity-35"),onMouseEnter:()=>a(h),onMouseLeave:u,onClick:()=>f(h),children:[s.jsx("img",{src:m.icon,alt:m.label,className:"size-5 object-contain shrink-0",onError:y=>{const x=y.target;x.style.display="none";const b=x.nextElementSibling;b&&(b.style.display="flex")}}),s.jsx("span",{className:"size-5 hidden items-center justify-center shrink-0 text-base leading-none text-on-surface-variant",children:"□"}),s.jsx("span",{className:"text-xs leading-4 text-on-surface",children:m.label})]},h)})})]})}function tn({legends:e,className:t,style:r,interaction:n}){return e.length?s.jsx("div",{className:re("absolute z-20 bottom-6 left-6 max-h-[40%] overflow-y-auto rounded-xl border border-outline-variant/30 bg-surface/80 backdrop-blur-md p-3 px-3.5 text-on-surface shadow-lg scrollbar-thin scrollbar-track-transparent scrollbar-thumb-outline-variant",t),style:r,children:s.jsx("div",{className:"flex flex-col gap-4 [&>*+*]:border-t [&>*+*]:border-outline-variant/20 [&>*+*]:pt-4",children:e.map((o,i)=>s.jsx(ts,{legend:o,interaction:n},`legend-${i}`))})}):null}function ts({legend:e,interaction:t}){switch(e.type){case"categories":return s.jsx(Ot,{...e,interaction:t});case"ramp":return s.jsx(Ft,{...e,interaction:t});case"diverging":return s.jsx($t,{...e,interaction:t});case"threshold":return s.jsx(Dt,{...e,interaction:t});case"size":return s.jsx(Bt,{...e,interaction:t});case"lineWidth":return s.jsx(Zt,{...e,interaction:t});case"proportion":return s.jsx(Vt,{...e,interaction:t});case"icon":return s.jsx(Ht,{...e,interaction:t});default:return null}}const rn=d.createContext({isMobile:!1,breakpoint:768,width:typeof window<"u"?window.innerWidth:1024,schema:void 0});function rs({responsive:e,children:t}){const[r,n]=d.useState(typeof window<"u"?window.innerWidth:1024);d.useEffect(()=>{const c=()=>n(window.innerWidth);return window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[]);const o=(e==null?void 0:e.breakpoint)??768,i=r<o,l=d.useMemo(()=>({isMobile:i,breakpoint:o,width:r,schema:e}),[i,o,r,e]);return s.jsx(rn.Provider,{value:l,children:t})}function nn(){return d.useContext(rn)}function on({config:e,className:t}){const r=fe(),{items:n,position:o="bottom"}=e,i=o==="top"?"top-0 left-0 right-0":"bottom-0 left-0 right-0",l=a=>{switch(a){case"zoomIn":r==null||r.zoomIn();break;case"zoomOut":r==null||r.zoomOut();break;case"locate":navigator.geolocation&&navigator.geolocation.getCurrentPosition(u=>{r==null||r.setCenter([u.coords.longitude,u.coords.latitude]),r==null||r.setZoom(14)});break;case"reset":r==null||r.setCenter([105,35]),r==null||r.setZoom(4);break}},c={zoomIn:s.jsx("svg",{viewBox:"0 0 24 24",className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:2,children:s.jsx("path",{d:"M12 5v14m-7-7h14"})}),zoomOut:s.jsx("svg",{viewBox:"0 0 24 24",className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:2,children:s.jsx("path",{d:"M5 12h14"})}),locate:s.jsxs("svg",{viewBox:"0 0 24 24",className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:2,children:[s.jsx("circle",{cx:"12",cy:"12",r:"3"}),s.jsx("path",{d:"M12 2v4m0 12v4m10-10h-4M6 12H2"})]}),reset:s.jsxs("svg",{viewBox:"0 0 24 24",className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:2,children:[s.jsx("path",{d:"M3 12a9 9 0 1 1 3.3 6.9"}),s.jsx("path",{d:"M3 22v-7h7"})]}),layers:s.jsx("svg",{viewBox:"0 0 24 24",className:"w-5 h-5",fill:"none",stroke:"currentColor",strokeWidth:2,children:s.jsx("path",{d:"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"})})};return s.jsx("div",{className:re("absolute z-40 bg-surface/80 backdrop-blur-md border-t border-outline-variant/30 safe-area-inset shadow-lg",i,t),children:s.jsx("div",{className:"flex items-center justify-around py-3 px-4",children:n.map((a,u)=>s.jsxs("button",{onClick:()=>l(a),className:"flex flex-col items-center gap-1 p-2 text-on-surface hover:bg-surface-variant transition-colors rounded-lg","aria-label":a,children:[c[a]??s.jsx("span",{className:"text-label-caps font-label-caps",children:a}),s.jsx("span",{className:"text-label-caps font-label-caps",children:a})]},`${a}-${u}`))})})}function sn({legends:e,className:t,interaction:r}){const[n,o]=d.useState(!1);return e.length?s.jsx("div",{className:re("absolute bottom-3 left-3 right-3 z-30 transition-all duration-300",n?"max-h-[65vh]":"max-h-14",t),children:s.jsxs("div",{className:"rounded-xl border border-outline-variant/30 bg-surface/80 backdrop-blur-md p-3 px-3.5 text-on-surface shadow-lg",children:[s.jsxs("button",{onClick:()=>o(!n),className:"w-full flex items-center justify-between px-0 py-3 text-label-caps font-label-caps uppercase",style:{background:"none",border:"none",cursor:"pointer",color:"var(--color-primary, #004ac6)"},children:[s.jsx("span",{children:"图例"}),s.jsx("svg",{viewBox:"0 0 24 24",className:re("w-5 h-5 transition-transform",n?"rotate-180":""),fill:"none",stroke:"currentColor",strokeWidth:2,children:s.jsx("path",{d:"M6 9l6 6 6-6"})})]}),n&&s.jsx("div",{className:"flex flex-col gap-4 [&>*+*]:border-t [&>*+*]:border-outline-variant/20 [&>*+*]:pt-4 custom-scrollbar",style:{maxHeight:"55vh",overflowY:"auto"},children:e.map((i,l)=>s.jsx(ns,{legend:i,interaction:r},`mobile-legend-${l}`))})]})}):null}function ns({legend:e,interaction:t}){switch(e.type){case"categories":return s.jsx(Ot,{...e,interaction:t});case"ramp":return s.jsx(Ft,{...e,interaction:t});case"diverging":return s.jsx($t,{...e,interaction:t});case"threshold":return s.jsx(Dt,{...e,interaction:t});case"size":return s.jsx(Bt,{...e,interaction:t});case"lineWidth":return s.jsx(Zt,{...e,interaction:t});case"proportion":return s.jsx(Vt,{...e,interaction:t});case"icon":return s.jsx(Ht,{...e,interaction:t});default:return null}}function os({map:e,schema:t,theme:r="light",onSceneReady:n,onLayerClick:o,onLayerMouseMove:i,onLayerMouseEnter:l,onLayerMouseLeave:c,onMapMove:a,onMapZoom:u,autoFit:f,events:m,children:h,className:g,style:y}){const x=d.useRef(null),b=d.useMemo(()=>t?jt(Lr(t)):{map:is(e??{basemap:"gaode"}),layers:[],controls:[],interactions:[],legends:[]},[t,e]),v=!t&&!!e,C=d.useMemo(()=>({onClick:o,onMouseMove:i,onMouseEnter:l,onMouseLeave:c}),[o,i,l,c]),j=d.useMemo(()=>({onMove:a,onZoom:u}),[a,u]),_=d.useCallback(L=>{n==null||n(L),f&&ss(L)},[n,f]);return s.jsx(Pr,{defaultTheme:r,target:"container",children:s.jsx(Mr,{schema:b,children:s.jsx(Ir,{events:m,children:s.jsx(no,{responsive:b.responsive,children:s.jsx(as,{schema:b,isComposableMode:v,onSceneReady:_,layerEventHandlers:C,mapEventHandlers:j,containerRef:x,className:g,style:y,children:h})})})})})}function ss(e){let t=!1,r=0;const n=30,o=()=>{var i;if(!t){r+=1;try{const l=((i=e.getLayers)==null?void 0:i.call(e))??[];if(l.length===0){r<n&&window.setTimeout(o,100);return}let c=1/0,a=1/0,u=-1/0,f=-1/0,m=!1;for(const h of l){const g=h.getBounds;if(typeof g=="function")try{const y=g.call(h);if(!y||!Array.isArray(y)||y.length!==2)continue;const[x,b]=y;if(!x||!b||!isFinite(x[0])||!isFinite(x[1])||!isFinite(b[0])||!isFinite(b[1]))continue;c=Math.min(c,x[0]),a=Math.min(a,x[1]),u=Math.max(u,b[0]),f=Math.max(f,b[1]),m=!0}catch{}}if(!m){r<n&&window.setTimeout(o,100);return}e.fitBounds([[c,a],[u,f]]),t=!0}catch{r<n&&window.setTimeout(o,100)}}};window.setTimeout(o,200)}function is(e){return{basemap:e.basemap??"gaode",token:e.token,style:e.style,center:e.center??[105,35],zoom:e.zoom??4,pitch:e.pitch??0,rotation:e.rotation??0,minZoom:e.minZoom,maxZoom:e.maxZoom,bounds:e.bounds,gestureConfig:e.gestureConfig}}function as({schema:e,isComposableMode:t,onSceneReady:r,layerEventHandlers:n,mapEventHandlers:o,containerRef:i,className:l,style:c,children:a}){var x,b;const{isMobile:u}=nn(),[f,m]=d.useState(e.layers??[]),h=d.useMemo(()=>{var C,j;if(t||!u||!((j=(C=e.responsive)==null?void 0:C.mobile)!=null&&j.layers))return e.layers;const v=e.responsive.mobile.layers;if("*"in v){const _=v["*"];return e.layers.map(L=>({...L,..._,id:L.id}))}return e.layers.map(_=>_.id&&v[_.id]?{..._,...v[_.id],id:_.id}:_)},[e.layers,e.responsive,u,t]),g=d.useMemo(()=>{var j,_;const v=e.controls??[];if(!u||!((_=(j=e.responsive)==null?void 0:j.mobile)!=null&&_.controls))return v;const C=e.responsive.mobile.controls;return C.hide?v.filter(L=>!C.hide.includes(L.type)):v},[e.controls,e.responsive,u]),y=d.useCallback((v,C)=>{m(j=>j.map(_=>_.id===v?{..._,visible:C}:_))},[]);return s.jsx("div",{ref:i,className:l??"aimapui-container",style:c??{width:"100%",height:"100%"},children:s.jsxs(Dr,{mapSchema:e.map,onSceneReady:r,mapEventHandlers:o,events:e.events,style:{width:"100%",height:"100%"},children:[!t&&h.length>0&&s.jsx(Kr,{layers:h,eventHandlers:n}),!t&&s.jsx(Qr,{controls:g,layers:h,onLayerToggle:y,containerRef:i}),!t&&e.interactions&&e.interactions.length>0&&s.jsx(en,{interactions:e.interactions}),!t&&(u?e.legends&&e.legends.length>0&&s.jsx(sn,{legends:e.legends}):s.jsx(tn,{legends:e.legends??[]})),!t&&u&&((b=(x=e.responsive)==null?void 0:x.mobile)==null?void 0:b.toolbar)&&s.jsx(on,{config:e.responsive.mobile.toolbar}),t?s.jsx(ls,{children:a}):null]})})}function ls({children:e}){const{controls:t,others:r}=d.useMemo(()=>{const n=[],o=[];return d.Children.forEach(e,(i,l)=>{d.isValidElement(i)&&we.check(i)?n.push(i):o.push(i)}),{controls:n,others:o}},[e]);return s.jsxs(s.Fragment,{children:[t.length>0&&s.jsx(kt,{children:t}),r]})}function Ve(e,t){if(e===t)return!1;if(e==null||t==null||typeof e!=typeof t||typeof e!="object")return!0;try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return!0}}function cs(e,t){const r=Ve(e.map,t.map),n=new Map;(e.layers??[]).forEach(b=>{b.id&&n.set(b.id,b)});const o=new Map;(t.layers??[]).forEach(b=>{b.id&&o.set(b.id,b)});const i=[],l=[],c=[];(t.layers??[]).forEach((b,v)=>{const C=b.id??`__index_${v}`;if(!n.has(C))i.push(b);else{const j=n.get(C);Ve(j,b)&&c.push({id:C,prev:j,next:b})}}),(e.layers??[]).forEach((b,v)=>{const C=b.id??`__index_${v}`;o.has(C)||l.push(C)});const a=e.controls??[],u=t.controls??[],f=[],m=[],h=[],g=Math.max(a.length,u.length);for(let b=0;b<g;b++)b>=a.length?f.push(u[b]):b>=u.length?m.push(a[b]):Ve(a[b],u[b])&&h.push({index:b,prev:a[b],next:u[b]});const y=Ve(e.interactions,t.interactions),x=Ve(e.legends,t.legends);return{mapChanged:r,layersAdded:i,layersRemoved:l,layersUpdated:c,controlsAdded:f,controlsRemoved:m,controlsUpdated:h,interactionsChanged:y,legendsChanged:x}}function us(e){const t=[];return e.map?t.push(...ds(e.map)):t.push({path:"map",message:"map is required",severity:"error"}),!e.layers||!Array.isArray(e.layers)?t.push({path:"layers",message:"layers must be an array",severity:"error"}):e.layers.forEach((r,n)=>{t.push(...fs(r,n))}),e.controls&&(Array.isArray(e.controls)?e.controls.forEach((r,n)=>{r.type||t.push({path:`controls[${n}].type`,message:"control type is required",severity:"error"})}):t.push({path:"controls",message:"controls must be an array",severity:"error"})),e.interactions&&(Array.isArray(e.interactions)?e.interactions.forEach((r,n)=>{(r.type==="marker"||r.type==="popup")&&(typeof r.longitude!="number"||typeof r.latitude!="number")&&t.push({path:`interactions[${n}]`,message:"marker/popup requires longitude and latitude as numbers",severity:"error"})}):t.push({path:"interactions",message:"interactions must be an array",severity:"error"})),e.legends&&(Array.isArray(e.legends)?e.legends.forEach((r,n)=>{r.type||t.push({path:`legends[${n}].type`,message:"legend type is required",severity:"error"})}):t.push({path:"legends",message:"legends must be an array",severity:"error"})),t}function ds(e){const t=[],r=["gaode","mapbox","maplibre","tianditu","tencent","baidu","google","map"];if(r.includes(e.basemap)||t.push({path:"map.basemap",message:`Invalid basemap "${e.basemap}". Valid values: ${r.join(", ")}`,severity:"error"}),e.center){const[n,o]=e.center;(n<-180||n>180)&&t.push({path:"map.center[0]",message:"Longitude must be between -180 and 180",severity:"error"}),(o<-90||o>90)&&t.push({path:"map.center[1]",message:"Latitude must be between -90 and 90",severity:"error"})}return e.zoom!==void 0&&(e.zoom<0||e.zoom>22)&&t.push({path:"map.zoom",message:"Zoom must be between 0 and 22",severity:"warning"}),["gaode","mapbox","tianditu","tencent","baidu","google"].includes(e.basemap)&&!e.token&&t.push({path:"map.token",message:`basemap "${e.basemap}" requires a token`,severity:"warning"}),t}function fs(e,t){const r=[],n=`layers[${t}]`,o=["point","line","polygon","heatmap","raster","image"];return e.type?o.includes(e.type)||r.push({path:`${n}.type`,message:`Invalid layer type "${e.type}". Valid values: ${o.join(", ")}`,severity:"error"}):r.push({path:`${n}.type`,message:"layer type is required",severity:"error"}),e.source===void 0&&e.source,e.colorField&&!e.colorValues&&!e.color&&r.push({path:`${n}.colorValues`,message:"colorField is set but colorValues is not. L7 will use default scale.",severity:"warning"}),e.sizeField&&!e.sizeValues&&e.size===void 0&&r.push({path:`${n}.sizeValues`,message:"sizeField is set but sizeValues is not. L7 will use default scale.",severity:"warning"}),r}const ps={$schema:"http://json-schema.org/draft-07/schema#",title:"AiMapSchema",description:"Schema-driven React map visualization component configuration",type:"object",required:["map","layers"],properties:{map:{type:"object",required:["basemap"],properties:{basemap:{type:"string",enum:["gaode","mapbox","maplibre","tianditu","tencent","baidu","google","map"],description:"Map base tile provider"},token:{type:"string",description:"API token for the map service"},style:{type:"string",description:"Map style preset (light/dark/normal/darkblue/satellite) or custom URL"},center:{type:"array",items:{type:"number"},minItems:2,maxItems:2,description:"Map center [longitude, latitude], default [105, 35]"},zoom:{type:"number",description:"Map zoom level, default 4"},pitch:{type:"number",description:"Map pitch in degrees, default 0"},rotation:{type:"number",description:"Map rotation in degrees, default 0"},minZoom:{type:"number",description:"Minimum zoom level"},maxZoom:{type:"number",description:"Maximum zoom level"},bounds:{type:"array",items:{type:"array",items:{type:"number"},minItems:2,maxItems:2},minItems:2,maxItems:2,description:"Initial bounds [[swLng, swLat], [neLng, neLat]]"},gestureConfig:{type:"object",properties:{dragPan:{type:"boolean"},pinchZoom:{type:"boolean"},dragRotate:{type:"boolean"}}}}},layers:{type:"array",description:"Array of map layers",items:{type:"object",required:["type","source"],properties:{id:{type:"string",description:"Unique layer ID (auto-generated if omitted)"},type:{type:"string",enum:["point","line","polygon","heatmap","raster","image"],description:"Layer visualization type"},name:{type:"string",description:"Human-readable layer name"},visible:{type:"boolean",default:!0},zIndex:{type:"number",default:0},minZoom:{type:"number"},maxZoom:{type:"number"},autoFit:{type:"boolean",default:!1},source:{description:"GeoJSON, JSON array, or URL string"},sourceType:{type:"string",enum:["geojson","json","csv"]},sourceConfig:{type:"object",properties:{x:{type:"string",description:"Longitude field name"},y:{type:"string",description:"Latitude field name"},x1:{type:"string",description:"End longitude field (for arc lines)"},y1:{type:"string",description:"End latitude field (for arc lines)"},coordinates:{type:"string",description:"Coordinates field"}}},color:{type:"string",description:"Fixed color"},colorField:{type:"string",description:"Field to map color to"},colorValues:{oneOf:[{type:"string",description:"Color palette name"},{type:"array",items:{type:"string"},description:"Array of color values"}]},size:{type:"number",description:"Fixed size"},sizeField:{type:"string",description:"Field to map size to"},sizeValues:{type:"array",items:{type:"number"},description:"Size range [min, max]"},shape:{type:"string",description:"Fixed shape"},shapeField:{type:"string",description:"Field to map shape to"},shapeValues:{type:"array",items:{type:"string"}},style:{type:"object",description:"Additional style properties"},filterField:{type:"string"},filterValues:{type:"array"},animate:{type:"object",properties:{enable:{type:"boolean"},speed:{type:"number"},duration:{type:"number"},trailLength:{type:"number"},repeat:{type:"number"}}},active:{oneOf:[{type:"boolean"},{type:"object",properties:{color:{type:"string"}}}]},select:{oneOf:[{type:"boolean"},{type:"object",properties:{color:{type:"string"}}}]},events:{type:"object",description:"Layer event configuration",properties:{click:{type:"string",description:"Event identifier emitted on click (via EventBus)"},mousemove:{type:"string",description:"Event identifier emitted on mousemove"},mouseenter:{type:"string",description:"Event identifier emitted on mouseenter"},mouseleave:{type:"string",description:"Event identifier emitted on mouseleave"},enablePopup:{type:"boolean",description:"Auto-show popup on click"},popupFields:{type:"array",items:{type:"string"},description:"Fields to show in popup"},popupTemplate:{type:"string",description:"HTML template with {{field}} interpolation"}}}}}},controls:{type:"array",description:"Map control widgets",items:{type:"object",required:["type"],properties:{type:{type:"string",enum:["zoom","scale","fullscreen","geoLocate","mapTheme","mouseLocation","exportImage","layerSwitch"]},position:{type:"string",enum:["topleft","topright","bottomleft","bottomright","topcenter","bottomcenter"]},options:{type:"object"}}}},interactions:{type:"array",description:"Interactive elements (markers, popups, tooltips)",items:{oneOf:[{type:"object",required:["type","longitude","latitude"],properties:{type:{type:"string",const:"marker"},longitude:{type:"number"},latitude:{type:"number"},content:{type:"string"},draggable:{type:"boolean"}}},{type:"object",required:["type","longitude","latitude","content"],properties:{type:{type:"string",const:"popup"},longitude:{type:"number"},latitude:{type:"number"},content:{type:"string"},closeButton:{type:"boolean"}}},{type:"object",required:["type","content"],properties:{type:{type:"string",const:"tooltip"},content:{type:"string"},trigger:{type:"string",enum:["hover","click"]}}}]}},legends:{type:"array",description:"Legend configurations",items:{oneOf:[{type:"object",required:["type","labels","colors"],properties:{type:{type:"string",const:"categories"},title:{type:"string"},labels:{type:"array",items:{type:"string"}},colors:{type:"array",items:{type:"string"}}}},{type:"object",required:["type","labels","colors"],properties:{type:{type:"string",const:"ramp"},title:{type:"string"},labels:{type:"array",items:{type:"string"}},colors:{type:"array",items:{type:"string"}},isContinuous:{type:"boolean"}}},{type:"object",required:["type","labels"],properties:{type:{type:"string",const:"proportion"},title:{type:"string"},labels:{type:"array",items:{type:"array",items:{type:"number"}}},fillColor:{type:"string"}}},{type:"object",required:["type","items"],properties:{type:{type:"string",const:"icon"},title:{type:"string"},items:{type:"array",items:{type:"object",properties:{icon:{type:"string"},label:{type:"string"}}}}}}]}},responsive:{type:"object",properties:{breakpoint:{type:"number",default:768},mobile:{type:"object",properties:{controls:{type:"object",properties:{position:{type:"string"},scale:{type:"number"},hide:{type:"array",items:{type:"string"}}}},legends:{type:"object",properties:{compact:{type:"boolean"},position:{type:"string"}}},toolbar:{type:"object",required:["items","position"],properties:{items:{type:"array",items:{type:"string"}},position:{type:"string",enum:["bottom","top"]}}}}}}},events:{type:"object",description:"Global event identifier mappings for map and interactions",properties:{mapMove:{type:"string",description:"Event identifier for map move"},mapZoom:{type:"string",description:"Event identifier for map zoom"},markerDragEnd:{type:"string",description:"Event identifier for marker drag end"}}}}};function ye({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l,...c}){const a=fe();if(!a)return null;const u={...c,type:"point",source:e,sourceType:t??"json",sourceConfig:r},f=n||o||i||l?{onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l}:void 0;return s.jsx(Ie,{schema:u,scene:a,eventHandlers:f})}function Ce({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l,...c}){const a=fe();if(!a)return null;const u={...c,type:"line",source:e,sourceType:t??"json",sourceConfig:r},f=n||o||i||l?{onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l}:void 0;return s.jsx(Ie,{schema:u,scene:a,eventHandlers:f})}function ot({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l,...c}){const a=fe();if(!a)return null;const u={...c,type:"polygon",source:e,sourceType:t??"geojson",sourceConfig:r},f=n||o||i||l?{onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l}:void 0;return s.jsx(Ie,{schema:u,scene:a,eventHandlers:f})}function an({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l,...c}){const a=fe();if(!a)return null;const u={...c,type:"heatmap",source:e,sourceType:t??"json",sourceConfig:r},f=n||o||i||l?{onClick:n,onMouseMove:o,onMouseEnter:i,onMouseLeave:l}:void 0;return s.jsx(Ie,{schema:u,scene:a,eventHandlers:f})}function ln({source:e,sourceType:t="json",sourceConfig:r,hexSize:n=100,weightField:o="h12",weightMethod:i="sum",onClick:l,onMouseMove:c,style:a,...u}){const f=[{type:"hexagon",size:n,field:o,method:i}];return s.jsx(an,{...u,source:e,sourceType:t,sourceConfig:{...r,transforms:f},shape:"hexagonColumn",style:{coverage:.8,angle:0,...a??{}},onClick:l,onMouseMove:c})}function cn({source:e,sourceType:t,sourceConfig:r,onClick:n,...o}){const i=fe();if(!i)return null;const l={...o,type:"raster",source:e,sourceType:t??"raster",sourceConfig:r},c=n?{onClick:n}:void 0;return s.jsx(Ie,{schema:l,scene:i,eventHandlers:c})}function ms({source:e,sourceType:t,sourceConfig:r,onClick:n,...o}){const i=fe();if(!i)return null;const l={...o,type:"image",source:e,sourceType:t??"image",sourceConfig:r},c=n?{onClick:n}:void 0;return s.jsx(Ie,{schema:l,scene:i,eventHandlers:c})}const hs=[8,16,32,48,64],Qe={primary:"#2563eb",warning:"#f59e0b",error:"#ef4444",success:"#10b981"};function gs({source:e,sourceType:t="geojson",sourceConfig:r,labelField:n="name",labelColor:o="#0b3b8c",labelSize:i=12,showLabel:l=!0,labelTrigger:c="always",labelOffset:a,sizeDomain:u,bubbleAnchor:f="bottom",labelAnchor:m="top",hoverEffect:h=!0,clickEffect:g=!0,tooltipEffect:y=!0,tooltipFields:x,tooltipTemplate:b,semanticColorField:v,color:C="#2563eb",size:j=16,sizeField:_,sizeValues:L,style:z,active:w,select:k,onClick:O,onMouseMove:M,onMouseEnter:A,onMouseLeave:T,...S}){const E=v??S.colorField,R=S.colorValues??(v?[Qe.primary,Qe.warning,Qe.error,Qe.success]:void 0),P=_?L??[...hs]:L,[B,D]=d.useState(c==="always"),F=d.useCallback(Z=>{c==="hover"&&D(!0),A==null||A(Z)},[c,A]),G=d.useCallback(Z=>{c==="hover"&&D(!1),T==null||T(Z)},[c,T]),H={color:"#60a5fa"},V={color:"#1d4ed8"},U=(()=>{const Z=S.events;return y?{...Z,enablePopup:(Z==null?void 0:Z.enablePopup)??!0,popupFields:(Z==null?void 0:Z.popupFields)??x,popupTemplate:(Z==null?void 0:Z.popupTemplate)??b}:Z})(),[W,I]=d.useState(!1);d.useEffect(()=>{const Z=requestAnimationFrame(()=>I(!0));return()=>cancelAnimationFrame(Z)},[]);const q=l&&B&&W,J=_?{sizeField:_,sizeValues:P}:{size:j};return s.jsxs(s.Fragment,{children:[s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shape:"circle",color:C,colorField:E,colorValues:R,...J,opacity:.75,active:h?w??H:w,select:g?k??V:k,events:U,zIndex:S.zIndex??0,autoFit:S.autoFit,visible:S.visible,name:S.name??"bubble-circle",onClick:O,onMouseMove:M,onMouseEnter:F,onMouseLeave:G,style:{stroke:C??"#004ac6",strokeWidth:2,strokeOpacity:1,...z??{}}}),q&&s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shapeField:n,shapeValues:"text",color:o,size:i,zIndex:(S.zIndex??0)+1,style:{textAnchor:m,textOffset:a??[0,0],stroke:"#fff",strokeWidth:2,textAllowOverlap:!0}})]})}const pr=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],ft=1,He=8,ce=new Uint32Array(96);class Ut{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");const[r,n]=new Uint8Array(t,0,2);if(r!==219)throw new Error("Data does not appear to be in a KDBush format.");const o=n>>4;if(o!==ft)throw new Error(`Got v${o} data when expected v${ft}.`);const i=pr[n&15];if(!i)throw new Error("Unrecognized array type.");const[l]=new Uint16Array(t,2,1),[c]=new Uint32Array(t,4,1);return new Ut(c,l,i,void 0,t)}constructor(t,r=64,n=Float64Array,o=ArrayBuffer,i){if(isNaN(t)||t<0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=n,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const l=pr.indexOf(this.ArrayType),c=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-a%8)%8;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this.ids=new this.IndexArrayType(i,He,t),this.coords=new n(i,He+a+u,t*2),this._pos=t*2,this._finished=!0;else{const f=this.data=new o(He+c+a+u);this.ids=new this.IndexArrayType(f,He,t),this.coords=new n(f,He+a+u,t*2),this._pos=0,this._finished=!1,new Uint8Array(f,0,2).set([219,(ft<<4)+l]),new Uint16Array(f,2,1)[0]=r,new Uint32Array(f,4,1)[0]=t}}add(t,r){const n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=t,this.coords[this._pos++]=r,n}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return bt(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,r,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:l,nodeSize:c}=this;ce[0]=0,ce[1]=i.length-1,ce[2]=0;let a=3;const u=[];for(;a>0;){const f=ce[--a],m=ce[--a],h=ce[--a];if(m-h<=c){for(let b=h;b<=m;b++){const v=l[2*b],C=l[2*b+1];v>=t&&v<=n&&C>=r&&C<=o&&u.push(i[b])}continue}const g=h+m>>1,y=l[2*g],x=l[2*g+1];y>=t&&y<=n&&x>=r&&x<=o&&u.push(i[g]),(f===0?t<=y:r<=x)&&(ce[a++]=h,ce[a++]=g-1,ce[a++]=1-f),(f===0?n>=y:o>=x)&&(ce[a++]=g+1,ce[a++]=m,ce[a++]=1-f)}return u}within(t,r,n){const o=[];return this.withinInto(t,r,n,o),o}withinInto(t,r,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:l,nodeSize:c}=this;ce[0]=0,ce[1]=i.length-1,ce[2]=0;let a=3,u=0;const f=n*n;for(;a>0;){const m=ce[--a],h=ce[--a],g=ce[--a];if(h-g<=c){for(let v=g;v<=h;v++)mr(l[2*v],l[2*v+1],t,r)<=f&&(o[u++]=i[v]);continue}const y=g+h>>1,x=l[2*y],b=l[2*y+1];mr(x,b,t,r)<=f&&(o[u++]=i[y]),(m===0?t-n<=x:r-n<=b)&&(ce[a++]=g,ce[a++]=y-1,ce[a++]=1-m),(m===0?t+n>=x:r+n>=b)&&(ce[a++]=y+1,ce[a++]=h,ce[a++]=1-m)}return u}}function bt(e,t,r,n,o,i){if(o-n<=r)return;const l=n+o>>1;un(e,t,l,n,o,i),bt(e,t,r,n,l-1,1-i),bt(e,t,r,l+1,o,1-i)}function un(e,t,r,n,o,i){for(;o>n;){if(o-n>600){const u=o-n+1,f=r-n+1,m=Math.log(u),h=.5*Math.exp(2*m/3),g=.5*Math.sqrt(m*h*(u-h)/u)*(f-u/2<0?-1:1),y=Math.max(n,Math.floor(r-f*h/u+g)),x=Math.min(o,Math.floor(r+(u-f)*h/u+g));un(e,t,r,y,x,i)}const l=t[2*r+i];let c=n,a=o;for(Ue(e,t,n,r),t[2*o+i]>l&&Ue(e,t,n,o);c<a;){for(Ue(e,t,c,a),c++,a--;t[2*c+i]<l;)c++;for(;t[2*a+i]>l;)a--}t[2*n+i]===l?Ue(e,t,n,a):(a++,Ue(e,t,a,o)),a<=r&&(n=a+1),r<=a&&(o=a-1)}}function Ue(e,t,r,n){pt(e,r,n),pt(t,2*r,2*n),pt(t,2*r+1,2*n+1)}function pt(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function mr(e,t,r,n){const o=e-r,i=t-n;return o*o+i*i}const ys={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},hr=Math.fround||(e=>(t=>(e[0]=+t,e[0])))(new Float32Array(1)),Re=2,Te=3,mt=4,Me=5,dn=6;class xs{constructor(t){this.options=Object.assign(Object.create(ys),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:r,minZoom:n,maxZoom:o}=this.options;r&&console.time("total time");const i=`prepare ${t.length} points`;r&&console.time(i),this.points=t;const l=[];for(let a=0;a<t.length;a++){const u=t[a];if(!u.geometry)continue;const[f,m]=u.geometry.coordinates,h=hr(et(f)),g=hr(tt(m));l.push(h,g,1/0,a,-1,1),this.options.reduce&&l.push(0)}let c=this.trees[o+1]=this._createTree(l);r&&console.timeEnd(i);for(let a=o;a>=n;a--){const u=+Date.now();c=this.trees[a]=this._createTree(this._cluster(c,a)),r&&console.log("z%d: %d clusters in %dms",a,c.numItems,+Date.now()-u)}return r&&console.timeEnd("total time"),this}getClusters(t,r){let n=((t[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,t[1]));let i=t[2]===180?180:((t[2]+180)%360+360)%360-180;const l=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)n=-180,i=180;else if(n>i){const m=this.getClusters([n,o,180,l],r),h=this.getClusters([-180,o,i,l],r);return m.concat(h)}const c=this.trees[this._limitZoom(r)],a=c.range(et(n),tt(l),et(i),tt(o)),u=c.data,f=[];for(const m of a){const h=this.stride*m;f.push(u[h+Me]>1?gr(u,h,this.clusterProps):this.points[u[h+Te]])}return f}getChildren(t){const r=this._getOriginId(t),n=this._getOriginZoom(t),o="No cluster with the specified id.",i=this.trees[n];if(!i)throw new Error(o);const l=i.data;if(r*this.stride>=l.length)throw new Error(o);const c=this.options.radius/(this.options.extent*Math.pow(2,n-1)),a=l[r*this.stride],u=l[r*this.stride+1],f=i.within(a,u,c),m=[];for(const h of f){const g=h*this.stride;l[g+mt]===t&&m.push(l[g+Me]>1?gr(l,g,this.clusterProps):this.points[l[g+Te]])}if(m.length===0)throw new Error(o);return m}getLeaves(t,r,n){r=r||10,n=n||0;const o=[];return this._appendLeaves(o,t,r,n,0),o}getTile(t,r,n){const o=this.trees[this._limitZoom(t)],i=Math.pow(2,t),{extent:l,radius:c}=this.options,a=c/l,u=(n-a)/i,f=(n+1+a)/i,m={features:[]};return this._addTileFeatures(o.range((r-a)/i,u,(r+1+a)/i,f),o.data,r,n,i,m),r===0&&this._addTileFeatures(o.range(1-a/i,u,1,f),o.data,i,n,i,m),r===i-1&&this._addTileFeatures(o.range(0,u,a/i,f),o.data,-1,n,i,m),m.features.length?m:null}getClusterExpansionZoom(t){let r=this._getOriginZoom(t)-1;for(;r<=this.options.maxZoom;){const n=this.getChildren(t);if(r++,n.length!==1)break;t=n[0].properties.cluster_id}return r}_appendLeaves(t,r,n,o,i){const l=this.getChildren(r);for(const c of l){const a=c.properties;if(a&&a.cluster?i+a.point_count<=o?i+=a.point_count:i=this._appendLeaves(t,a.cluster_id,n,o,i):i<o?i++:t.push(c),t.length===n)break}return i}_createTree(t){const r=new Ut(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<t.length;n+=this.stride)r.add(t[n],t[n+1]);return r.finish(),r.data=t,r}_addTileFeatures(t,r,n,o,i,l){for(const c of t){const a=c*this.stride,u=r[a+Me]>1;let f,m,h;if(u)f=fn(r,a,this.clusterProps),m=r[a],h=r[a+1];else{const x=this.points[r[a+Te]];f=x.properties;const[b,v]=x.geometry.coordinates;m=et(b),h=tt(v)}const g={type:1,geometry:[[Math.round(this.options.extent*(m*i-n)),Math.round(this.options.extent*(h*i-o))]],tags:f};let y;u||this.options.generateId?y=r[a+Te]:y=this.points[r[a+Te]].id,y!==void 0&&(g.id=y),l.features.push(g)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,r){const{radius:n,extent:o,reduce:i,minPoints:l}=this.options,c=n/(o*Math.pow(2,r)),a=t.data,u=[],f=this.stride;for(let m=0;m<a.length;m+=f){if(a[m+Re]<=r)continue;a[m+Re]=r;const h=a[m],g=a[m+1],y=t.within(a[m],a[m+1],c),x=a[m+Me];let b=x;for(const v of y){const C=v*f;a[C+Re]>r&&(b+=a[C+Me])}if(b>x&&b>=l){let v=h*x,C=g*x,j,_=-1;const L=((m/f|0)<<5)+(r+1)+this.points.length;for(const z of y){const w=z*f;if(a[w+Re]<=r)continue;a[w+Re]=r;const k=a[w+Me];v+=a[w]*k,C+=a[w+1]*k,a[w+mt]=L,i&&(j||(j=this._map(a,m,!0),_=this.clusterProps.length,this.clusterProps.push(j)),i(j,this._map(a,w)))}a[m+mt]=L,u.push(v/b,C/b,1/0,L,-1,b),i&&u.push(_)}else{for(let v=0;v<f;v++)u.push(a[m+v]);if(b>1)for(const v of y){const C=v*f;if(!(a[C+Re]<=r)){a[C+Re]=r;for(let j=0;j<f;j++)u.push(a[C+j])}}}}return u}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,r,n){if(t[r+Me]>1){const l=this.clusterProps[t[r+dn]];return n?Object.assign({},l):l}const o=this.points[t[r+Te]].properties,i=this.options.map(o);return n&&i===o?Object.assign({},i):i}}function gr(e,t,r){return{type:"Feature",id:e[t+Te],properties:fn(e,t,r),geometry:{type:"Point",coordinates:[bs(e[t]),vs(e[t+1])]}}}function fn(e,t,r){const n=e[t+Me],o=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?`${Math.round(n/100)/10}k`:n,i=e[t+dn],l=i===-1?{}:Object.assign({},r[i]);return Object.assign(l,{cluster:!0,cluster_id:e[t+Te],point_count:n,point_count_abbreviated:o})}function et(e){return e/360+.5}function tt(e){const t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function bs(e){return(e-.5)*360}function vs(e){const t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function ws({source:e,sourceType:t="geojson",sourceConfig:r,gridSize:n=60,minClusterSize:o=2,animationDuration:i=300,easing:l="cubic-bezier(0.4, 0, 0.2, 1)",onPointClick:c,onClusterClick:a}){const u=fe(),[f,m]=d.useState([]),[h,g]=d.useState(null),[y,x]=d.useState(null),b=d.useRef(null),v=d.useRef(-1),C=d.useMemo(()=>Ss(e,t,r),[e,t,r]);d.useEffect(()=>{if(C.length===0){b.current=null,m([]),v.current=-1;return}const w=new xs({radius:n,minPoints:o,maxZoom:20,minZoom:0}),k=C.map(O=>({type:"Feature",properties:{id:O.id,...O.properties},geometry:{type:"Point",coordinates:[O.lng,O.lat]}}));w.load(k),b.current=w,v.current=-1},[C,n,o]);const j=d.useCallback((w,k)=>{try{const O=Math.floor(k.getZoom());if(O===v.current)return;v.current=O;let M=[-180,-90,180,90];try{const S=k.getBounds();S&&(M=[S[0][0],S[0][1],S[1][0],S[1][1]])}catch{}const T=w.getClusters(M,O).map(S=>{const E=S.geometry.coordinates,R=E[0],P=E[1];return S.properties.cluster?{id:`cluster-${S.properties.cluster_id}`,clusterId:S.properties.cluster_id,lng:R,lat:P,pointCount:S.properties.point_count,isCluster:!0,properties:{}}:{id:`point-${S.properties.id}`,clusterId:-1,lng:R,lat:P,pointCount:1,isCluster:!1,properties:S.properties}});m(T),g(null)}catch{}},[]);d.useEffect(()=>{var M,A;if(!u)return;const w=u.mapService,k=()=>{requestAnimationFrame(()=>{const T=b.current;T&&u.loaded&&j(T,u)})};u.loaded?k():u.once("loaded",k);const O=()=>{const T=b.current;T&&j(T,u)};return(M=w==null?void 0:w.on)==null||M.call(w,"camerachange",O),(A=w==null?void 0:w.on)==null||A.call(w,"viewchange",O),()=>{var T,S;u.off("loaded",k),(T=w==null?void 0:w.off)==null||T.call(w,"camerachange",O),(S=w==null?void 0:w.off)==null||S.call(w,"viewchange",O)}},[u,j]);const _=d.useCallback(w=>{if(!u||!w.isCluster)return;let k=[];const O=b.current;O&&(k=O.getLeaves(w.clusterId,1/0)),a==null||a(w,k);try{if(u.getZoom()>=20-.5){g(T=>T===w.id?null:w.id);return}if(k.length>0){const T=k.map(B=>B.geometry.coordinates),S=T.map(B=>B[0]),E=T.map(B=>B[1]),R=[Math.min(...S),Math.min(...E)],P=[Math.max(...S),Math.max(...E)];u.fitBounds([R,P],{padding:[40,40,40,40],duration:i})}}catch{}},[u,a,i]),L=d.useMemo(()=>{if(!u||!h||!b.current)return[];const w=f.find(k=>k.id===h&&k.isCluster);if(!w)return[];try{const k=b.current.getLeaves(w.clusterId,1/0),O=u.mapService;if(!O)return[];const M=O.lngLatToContainer([w.lng,w.lat]);if(!M)return[];const A=k.length,T=Math.max(24,Math.min(72,18+A*2));return k.map((S,E)=>{var F,G;const R=Math.PI*2*E/A-Math.PI/2,P=M.x+Math.cos(R)*T,B=M.y+Math.sin(R)*T,D=O.containerToLngLat([P,B]);return{id:`spider-${w.id}-${((F=S.properties)==null?void 0:F.id)??E}`,lng:D.lng,lat:D.lat,point:{id:String(((G=S.properties)==null?void 0:G.id)??E),lng:S.geometry.coordinates[0],lat:S.geometry.coordinates[1],properties:S.properties??{}}}})}catch{return[]}},[u,h,f]),z=d.useMemo(()=>h?f.find(w=>w.id===h&&w.isCluster)??null:null,[h,f]);return s.jsxs(s.Fragment,{children:[h&&z&&L.map(w=>s.jsx(Fe,{longitude:w.lng,latitude:w.lat,anchor:"center",content:s.jsx(js,{centerLng:z.lng,centerLat:z.lat,lineLng:w.lng,lineLat:w.lat})},`line-${w.id}`)),f.map(w=>{var A;if(!w.isCluster)return s.jsx(Fe,{longitude:w.lng,latitude:w.lat,anchor:"center",content:s.jsx("div",{title:String(((A=w.properties)==null?void 0:A.name)??"单点"),onClick:()=>{var T;return c==null?void 0:c({id:String(((T=w.properties)==null?void 0:T.id)??""),lng:w.lng,lat:w.lat,properties:w.properties})},style:{width:14,height:14,borderRadius:9999,background:"#2563eb",border:"2px solid #fff",boxShadow:"0 2px 10px rgba(37,99,235,.5), 0 0 0 3px rgba(37,99,235,.15)",transition:"transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1)",cursor:"pointer"}})},w.id);const k=w.pointCount,O=Cs(k),M=y===w.id;return s.jsx(Fe,{longitude:w.lng,latitude:w.lat,anchor:"center",content:s.jsxs("div",{title:`包含 ${k} 个要素`,onClick:()=>_(w),onMouseEnter:()=>x(w.id),onMouseLeave:()=>x(T=>T===w.id?null:T),style:{width:O.size,height:O.size,borderRadius:9999,display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",fontWeight:O.fontWeight,fontSize:O.fontSize,background:O.background,border:O.border,boxShadow:O.shadow,position:"relative",cursor:"pointer",transition:"transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1)",transform:M?"scale(1.1)":"scale(1)"},children:[O.pulse&&s.jsx("span",{style:{position:"absolute",inset:-6,borderRadius:9999,background:"rgba(37,99,235,0.25)",animation:"aimapui-cluster-pulse 1.6s ease-out infinite"}}),s.jsx("span",{style:{position:"relative",zIndex:1},children:k})]})},w.id)}),L.map(w=>{var k;return s.jsx(Fe,{longitude:w.lng,latitude:w.lat,anchor:"center",content:s.jsx("div",{title:String(((k=w.point.properties)==null?void 0:k.name)??w.point.id),onClick:()=>c==null?void 0:c(w.point),style:{width:10,height:10,borderRadius:9999,background:"#fff",border:"2px solid #2563eb",boxShadow:"0 2px 8px rgba(0,0,0,.2)",cursor:"pointer"}})},w.id)})]})}function js({centerLng:e,centerLat:t,lineLng:r,lineLat:n}){const o=fe(),i=d.useRef(null);return d.useEffect(()=>{if(!o)return;const l=o.mapService;if(!l)return;const c=()=>{const f=i.current;if(f)try{const m=l.lngLatToContainer([e,t]),h=l.lngLatToContainer([r,n]);if(!m||!h)return;const g=h.x-m.x,y=h.y-m.y,x=Math.sqrt(g*g+y*y),b=Math.atan2(y,g)*180/Math.PI;f.style.width=`${x}px`,f.style.transform=`rotate(${b}deg)`}catch{}};c();const a=(f,m,h)=>{var g;try{(g=f==null?void 0:f.on)==null||g.call(f,m,h)}catch{}},u=(f,m,h)=>{var g;try{(g=f==null?void 0:f.off)==null||g.call(f,m,h)}catch{}};return a(l,"camerachange",c),a(l,"viewchange",c),()=>{u(l,"camerachange",c),u(l,"viewchange",c)}},[o,e,t,r,n]),s.jsx("div",{ref:i,style:{position:"absolute",left:0,top:0,height:1,background:"rgba(195, 198, 215, 0.5)",transformOrigin:"0 50%",pointerEvents:"none"}})}function Cs(e){return e>=1e3?{size:48,fontSize:14,fontWeight:700,background:"linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%)",border:"2px solid rgba(255,255,255,0.55)",shadow:"0 10px 24px rgba(37,99,235,.45)",pulse:!0}:e>=100?{size:40,fontSize:13,fontWeight:700,background:"rgba(37,99,235,0.30)",border:"2px solid rgba(255,255,255,0.5)",shadow:"0 6px 16px rgba(37,99,235,.25)",pulse:!1}:{size:32,fontSize:12,fontWeight:600,background:"radial-gradient(circle, #2563eb 60%, rgba(37,99,235,0.20) 61%)",border:"1px solid rgba(255,255,255,0.55)",shadow:"0 4px 12px rgba(37,99,235,.2)",pulse:!1}}function Ss(e,t,r){if(!e)return[];if(t==="geojson"&&typeof e=="object"&&e!==null){const n=e;return(Array.isArray(n.features)?n.features:[]).map((i,l)=>{var u,f,m;const c=i,a=(u=c==null?void 0:c.geometry)==null?void 0:u.coordinates;return!Array.isArray(a)||a.length<2?null:{id:String(((f=c==null?void 0:c.properties)==null?void 0:f.id)??((m=c==null?void 0:c.properties)==null?void 0:m.Id)??l),lng:Number(a[0]),lat:Number(a[1]),properties:(c==null?void 0:c.properties)??{}}}).filter(Boolean)}if(Array.isArray(e)){const n=(r==null?void 0:r.x)??"lng",o=(r==null?void 0:r.y)??"lat";return e.map((i,l)=>{const c=i,a=Number(c[n]),u=Number(c[o]);return Number.isNaN(a)||Number.isNaN(u)?null:{id:String(c.id??l),lng:a,lat:u,properties:c}}).filter(Boolean)}return[]}const _s=["#dbeafe","#93c5fd","#60a5fa","#3b82f6","#2563eb"],Es=["#dc2626","#fca5a5","#e5e7eb","#86efac","#16a34a"],Ls=["#2563eb","#f59e0b","#ef4444","#10b981","#8b5cf6","#14b8a6","#f97316","#64748b"];function ks({source:e,sourceType:t="geojson",colorMapping:r="sequential",showStroke:n=!0,strokeColor:o="rgba(255,255,255,0.30)",strokeWidth:i=.5,hoverEffect:l=!0,clickEffect:c=!0,stickySelection:a=!0,tooltipEffect:u=!0,tooltipFields:f,tooltipTemplate:m,regionIdField:h="name",highlightStrokeColor:g="#2563eb",highlightStrokeWidth:y=2,zoomToRegionOnClick:x=!0,clickZoomPadding:b=40,clickZoomDelta:v=1.2,onRegionClick:C,onDrilldown:j,showLabel:_=!1,labelField:L="name",labelColor:z="#0f172a",labelSize:w=11,labelAreaThreshold:k=5e-5,labelHaloWidth:O=2,minLabelZoom:M,valueField:A,percentageField:T,nameField:S,color:E,colorField:R,colorValues:P,active:B,select:D,events:F,style:G,...H}){const V=fe(),[U,W]=d.useState(null),[I,q]=d.useState(null),[J,Z]=d.useState(()=>{if(!V)return 0;try{return V.getZoom()}catch{return 0}});d.useEffect(()=>{if(!V)return;const ee=()=>{try{Z(V.getZoom())}catch{}};return ee(),V.on("zoomchange",ee),()=>{V.off("zoomchange",ee)}},[V]);const ue=M===void 0||J>=M,ne=d.useMemo(()=>{if(P)return P;switch(r){case"diverging":return[...Es];case"categorical":return[...Ls];case"sequential":default:return[..._s]}},[P,r]),de=A??R??"value",ie=S??L,X=d.useMemo(()=>m??Ms(ie,de,T),[m,ie,de,T]),le={color:"#ffffff"},ae={color:"#0f172a"},se=d.useMemo(()=>Ts(e,t,L,h,k),[e,t,L,h,k]),Le=d.useCallback(ee=>{C==null||C(ee);const Se=xr(ee.feature,h);if(Se!==null&&c&&q(De=>!a&&De===Se?null:Se),ee.feature&&(j==null||j(ee.feature)),!V||!x)return;const Ye=Number.isFinite(ee.lng)&&Number.isFinite(ee.lat)?[ee.lng,ee.lat]:Rs(ee.originalEvent);if(Ye)try{const De=V.getZoom(),qe=Math.abs(v);V.setCenter(Ye),V.setZoom(De+qe)}catch{}},[C,h,c,a,j,V,x,v]),ke=d.useCallback(ee=>{if(!l)return;const Se=xr(ee.feature,h);W(Se)},[l,h]),xe=d.useCallback(()=>{l&&W(null)},[l]),$e=d.useMemo(()=>{const ee=F;return u?{...ee,enablePopup:(ee==null?void 0:ee.enablePopup)??!0,popupTrigger:(ee==null?void 0:ee.popupTrigger)??"hover",popupFields:(ee==null?void 0:ee.popupFields)??f,popupTemplate:(ee==null?void 0:ee.popupTemplate)??X}:ee},[F,u,f,X]);return s.jsxs(s.Fragment,{children:[s.jsx(ot,{...H,source:e,sourceType:t,shape:H.shape??"fill",color:E??"#2563eb",colorField:R,colorValues:ne,active:l?B??le:B,select:c?D??ae:D,events:$e,onClick:Le,onMouseEnter:ke,onMouseLeave:xe,style:{opacity:.8,...G??{}}}),n&&s.jsx(Ce,{source:e,sourceType:t,color:o,size:i,zIndex:2}),l&&U!==null&&s.jsxs(s.Fragment,{children:[s.jsx(Ce,{source:e,sourceType:t,color:yr(g,.35),size:y+2,filterField:h,filterValues:[U],zIndex:3}),s.jsx(Ce,{source:e,sourceType:t,color:g,size:y,filterField:h,filterValues:[U],zIndex:4})]}),c&&I!==null&&s.jsx(Ce,{source:e,sourceType:t,color:yr(g,.9),size:Math.max(1.5,y),filterField:h,filterValues:[I],zIndex:5}),_&&ue&&s.jsx(ye,{source:se.data,sourceType:se.sourceType,sourceConfig:se.sourceConfig,shapeField:L,shapeValues:"text",color:z,size:w,style:{textAllowOverlap:!1,stroke:"#ffffff",strokeWidth:O,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}})]})}function Ms(e,t,r){const n=r?`<tr><td style="padding-right:8px;color:#64748b">占比</td><td style="font-weight:600">{{${r}}}%</td></tr>`:"";return['<div style="min-width:160px">',`<div style="font-weight:700;margin-bottom:6px">{{${e}}}</div>`,'<table style="font-size:12px;line-height:1.4">',`<tr><td style="padding-right:8px;color:#64748b">指标</td><td style="font-weight:600">{{${t}}}</td></tr>`,n,"</table>","</div>"].join("")}function yr(e,t){if(e.startsWith("#")){const r=e.replace("#",""),n=r.length===3?`${r[0]}${r[0]}${r[1]}${r[1]}${r[2]}${r[2]}`:r;if(n.length===6){const o=parseInt(n.slice(0,2),16),i=parseInt(n.slice(2,4),16),l=parseInt(n.slice(4,6),16);return`rgba(${o},${i},${l},${t})`}}return e}function xr(e,t){if(!e)return null;const r=e[t]??e.id??e.name;return typeof r=="string"||typeof r=="number"?r:null}function Ts(e,t,r,n,o){return t!=="geojson"||!Ns(e)?{data:e,sourceType:t}:{data:e.features.map(l=>{if(!l||!l.geometry||!l.properties)return null;const c=pn(l.geometry),a=As(l.geometry);if(!c||a<o)return null;const u=l.properties;return{lng:c[0],lat:c[1],[r]:u[r],[n]:u[n]}}).filter(l=>l!==null),sourceType:"json",sourceConfig:{x:"lng",y:"lat"}}}function Ns(e){if(!e||typeof e!="object")return!1;const t=e;return t.type==="FeatureCollection"&&Array.isArray(t.features)}function Rs(e){const t=Is(e);return t?pn(t):null}function Is(e){var r,n;const t=e;return((r=t==null?void 0:t.feature)==null?void 0:r.geometry)??((n=t==null?void 0:t.data)==null?void 0:n.geometry)??null}function pn(e){if(e.type==="Polygon")return br(e.coordinates[0]);if(e.type==="MultiPolygon"){let t=0,r=null;return e.coordinates.forEach(n=>{const o=n[0],i=Math.abs(vt(o));i>t&&(t=i,r=br(o))}),r}return null}function As(e){return e.type==="Polygon"?Math.abs(vt(e.coordinates[0])):e.type==="MultiPolygon"?e.coordinates.reduce((t,r)=>t+Math.abs(vt(r[0])),0):0}function br(e){if(!e||e.length<3)return null;let t=0,r=0,n=0;for(let i=0;i<e.length-1;i+=1){const[l,c]=e[i],[a,u]=e[i+1],f=l*u-a*c;t+=f,r+=(l+a)*f,n+=(c+u)*f}const o=t/2;if(Math.abs(o)<1e-12){const i=e[0];return i?[i[0],i[1]]:null}return[r/(6*o),n/(6*o)]}function vt(e){if(!e||e.length<3)return 0;let t=0;for(let r=0;r<e.length-1;r+=1){const[n,o]=e[r],[i,l]=e[r+1];t+=n*l-i*o}return t/2}const mn=["#eff6ff","#bfdbfe","#60a5fa","#2563eb","#1d4ed8","#1e3a8a"],hn="https://mdn.alipayobjects.com/antforest/afts/file/A*T2OJQ7XZzeEAAAAAgCAAAAgAerd2AQ/original_中国_省.json",gn="https://mdn.alipayobjects.com/antforest/afts/file/A*Xd8TQoduwj8AAAAAgEAAAAgAerd2AQ/original_中国_市.json",yn="https://mdn.alipayobjects.com/portal_moelhz/afts/file/A*Rb96Tac1p8EAAAAAgKAAAAgAegAAAQ";function Ps({provinceSource:e=hn,citySource:t=gn,districtSource:r=yn,level:n="province",drillEnabled:o=!1,drillPath:i,onDrill:l,data:c,joinField:a="name",dataJoinField:u="name",valueField:f="value",colors:m=[...mn],fillOpacity:h=.8,strokeColor:g="rgba(255,255,255,0.5)",strokeWidth:y=1.5,dimOpacity:x=.12,showLabel:b=!0,labelField:v="name",labelSize:C=12,hoverHighlight:j=!0,clickSelect:_=!0,showTooltip:L=!0,tooltipFields:z,onRegionClick:w,zIndex:k=0}){const O=fe(),[M,A]=d.useState(null),[T,S]=d.useState(null),[E,R]=d.useState(null),[P,B]=d.useState([{level:"province",name:"中国"}]),D=i??P,F=o?Os(D):n,[G,H]=d.useState(null),[V,U]=d.useState(null);d.useEffect(()=>{ht(e,A)},[e]),d.useEffect(()=>{t&&ht(t,S)},[t]),d.useEffect(()=>{r&&ht(r,R)},[r]);const W=d.useMemo(()=>{switch(F){case"city":return T;case"district":return E;default:return M}},[F,M,T,E]),I=d.useMemo(()=>!W||!c||c.length===0?W:Zs(W,c,a,u,f),[W,c,a,u,f]),q=d.useMemo(()=>{if(!o||D.length<=1)return I;if(!I)return null;const ie=D[D.length-1];return!ie.adcode&&!ie.name?I:Vs(I,ie)},[o,D,I,a]),J=d.useMemo(()=>!o||D.length<=1?null:(D.length===2?M:T)??null,[o,D,M,T]);d.useMemo(()=>`<div style="min-width:140px"><table style="font-size:12px;line-height:1.6">${(z??[v,f]).map(le=>`<tr><td style="padding-right:8px;color:#64748b">${le}</td><td style="font-weight:600">{{${le}}}</td></tr>`).join("")}</table></div>`,[z,v,f]);const Z=d.useCallback(ie=>{const X=ie.feature;if(!X)return;const le=String(X[v]??X.name??""),ae=X.adcode;if(w==null||w(X,F),_&&U(se=>se===le?null:le),o&&Fs(F)){const se=[...D,{level:$s(F),name:le,adcode:ae}];i||B(se),l==null||l(se),U(null)}},[v,F,_,o,D,i,l,w]);if(!O||!I)return null;const ue=!!(c&&c.length>0),ne=q??I,de=F==="province"?y:y*.6;return s.jsxs(s.Fragment,{children:[o&&J&&D.length>1&&s.jsxs(s.Fragment,{children:[s.jsx(ot,{source:J,sourceType:"geojson",shape:"fill",color:"#94a3b8",style:{opacity:x},zIndex:k}),s.jsx(Ce,{source:J,sourceType:"geojson",color:"rgba(148,163,184,0.2)",size:.5,zIndex:k+1})]}),s.jsx(ot,{source:ne,sourceType:"geojson",shape:"fill",...ue?{colorField:f,colorValues:m}:{color:m[2]??"#3b82f6"},active:j?{color:"#ffffff"}:void 0,select:_?{color:"#0f172a"}:void 0,style:{opacity:h},onClick:Z,zIndex:k+2}),s.jsx(Ce,{source:ne,sourceType:"geojson",color:g,size:de,zIndex:k+3}),b&&ne&&s.jsx(zs,{geoData:ne,labelField:v,labelSize:C,zIndex:k+4})]})}function zs({geoData:e,labelField:t,labelSize:r,zIndex:n}){const o=d.useMemo(()=>Hs(e,t),[e,t]);return!o||o.data.length===0?null:s.jsx(ye,{source:o.data,sourceType:o.sourceType,sourceConfig:o.sourceConfig,shapeField:t,shapeValues:"text",color:"#0f172a",size:r,style:{textAllowOverlap:!1,stroke:"#ffffff",strokeWidth:2,fontFamily:"PingFang SC, Microsoft YaHei, sans-serif"},zIndex:n})}function Os(e){return e.length<=1?"province":e.length===2?"city":"district"}function Fs(e){return e!=="district"}function $s(e){return e==="province"?"city":"district"}const Ds=new Set(["境界线","边界线","九段线","十段线"]);function Bs(e){var n,o;const t=(n=e.properties)==null?void 0:n.name;if(!t||typeof t!="string"||Ds.has(t))return!1;const r=(o=e.geometry)==null?void 0:o.type;return!(r==="LineString"||r==="MultiLineString")}function vr(e){return{type:"FeatureCollection",features:e.features.filter(Bs)}}function ht(e,t){typeof e=="string"?fetch(e).then(r=>r.json()).then(r=>{r&&r.type==="FeatureCollection"&&t(vr(r))}).catch(()=>{}):e&&e.type==="FeatureCollection"&&t(vr(e))}function Zs(e,t,r,n,o){const i=new Map;for(const c of t){const a=String(c[n]??"");a&&i.set(a,c)}return{type:"FeatureCollection",features:e.features.map(c=>{const a=String(c.properties[r]??""),u=i.get(a),f=u?u[o]??u.value??0:0;return{...c,properties:{...c.properties,...u??{},[o]:f}}})}}function Vs(e,t,r){const n=t.name,o=t.adcode;return{type:"FeatureCollection",features:e.features.filter(l=>{const c=l.properties;if(c.parent&&String(c.parent)===n||c.parentName&&String(c.parentName)===n)return!0;if(o&&c.adcode){const a=String(o),u=String(c.adcode);if(u.startsWith(a.slice(0,2))&&u!==a)return!0}return!!(c.province&&String(c.province)===n||c.city&&String(c.city)===n)})}}function Hs(e,t){const r=[];for(const n of e.features){if(!n.geometry||!n.properties)continue;const o=Us(n.geometry);o&&r.push({lng:o[0],lat:o[1],[t]:n.properties[t]??n.properties.name??""})}return r.length===0?null:{data:r,sourceType:"json",sourceConfig:{x:"lng",y:"lat"}}}function Us(e){const t=e.type,r=e.coordinates;if(!r)return null;if(t==="Point")return r;if(t==="Polygon")return wr(r);if(t==="MultiPolygon"){const n=r;let o=0,i=null;for(const l of n){const c=Math.abs(Ws(l[0]));c>o&&(o=c,i=wr(l))}return i}return null}function wr(e){const t=e[0];if(!t||t.length===0)return null;let r=0,n=0;const o=t.length;for(const i of t)r+=i[0],n+=i[1];return[r/o,n/o]}function Ws(e){let t=0;const r=e.length;for(let n=0;n<r;n++){const o=(n+1)%r;t+=e[n][0]*e[o][1],t-=e[o][0]*e[n][1]}return t/2}const Ys=[["sunny","&#xe81a;"],["cloud","&#xf15c;"],["cloudy","&#xf15c;"],["partly_cloudy_day","&#xf172;"],["partly_cloudy_night","&#xf174;"],["rainy","&#xf176;"],["rainy_heavy","&#xf61f;"],["rainy_light","&#xf61e;"],["rainy_snow","&#xf61d;"],["thunderstorm","&#xebdb;"],["foggy","&#xe818;"],["air","&#xefd8;"],["water_drop","&#xe798;"],["ac_unit","&#xeb3b;"],["filter_drama","&#xe3dd;"],["cloudy_snowing","&#xe810;"],["snowing","&#xe80f;"],["snowflake","&#xed5b;"],["severe_cold","&#xebd3;"],["umbrella","&#xf1ad;"],["storm","&#xf070;"],["tornado","&#xe199;"],["thermostat","&#xf076;"],["heat","&#xf537;"],["hot","&#xef23;"],["flight","&#xe539;"],["flight_takeoff","&#xe905;"],["flight_land","&#xe904;"],["train","&#xe570;"],["directions_transit","&#xeffa;"],["directions_railway","&#xeff8;"],["directions_bus","&#xeff6;"],["directions_car","&#xeff7;"],["directions_boat","&#xeff5;"],["directions_bike","&#xe52f;"],["directions_walk","&#xe536;"],["directions_run","&#xe566;"],["taxi","&#xe559;"],["local_taxi","&#xe559;"],["local_airport","&#xe53d;"],["connecting_airports","&#xe7c9;"],["two_wheeler","&#xe9f9;"],["tram","&#xe571;"],["subway","&#xe56f;"],["ferry","&#xe572;"],["cable_car","&#xf479;"],["ev_station","&#xe56d;"],["local_gas_station","&#xe546;"],["location_on","&#xf1db;"],["place","&#xf1db;"],["room","&#xf1db;"],["pin","&#xf045;"],["pin_drop","&#xe55e;"],["near_me","&#xe569;"],["my_location","&#xe55c;"],["gps_fixed","&#xe55c;"],["navigation","&#xe55d;"],["explore","&#xe87a;"],["map","&#xe55b;"],["restaurant","&#xe56c;"],["local_cafe","&#xeb44;"],["coffee","&#xefef;"],["local_bar","&#xe540;"],["hotel","&#xe549;"],["local_hospital","&#xe548;"],["local_pharmacy","&#xe550;"],["local_atm","&#xe53e;"],["local_police","&#xef56;"],["local_fire_department","&#xef55;"],["local_post_office","&#xe554;"],["local_library","&#xe54b;"],["local_mall","&#xe54c;"],["local_grocery_store","&#xe8cc;"],["store","&#xe8d1;"],["school","&#xe80c;"],["church","&#xeaae;"],["mosque","&#xeab2;"],["synagogue","&#xeab0;"],["temple_buddhist","&#xeab3;"],["temple_hindu","&#xeaaf;"],["museum","&#xea36;"],["castle","&#xeab1;"],["stadium","&#xeb90;"],["theater_comedy","&#xea66;"],["pool","&#xeb48;"],["fitness_center","&#xeb43;"],["spa","&#xeb4c;"],["park","&#xea63;"],["forest","&#xea99;"],["attractions","&#xea52;"],["celebration","&#xea65;"],["festival","&#xea68;"],["nightlife","&#xea62;"],["sports","&#xea30;"],["sports_soccer","&#xea2f;"],["sports_basketball","&#xea26;"],["sports_football","&#xea29;"],["sports_tennis","&#xea32;"],["sports_golf","&#xea2a;"],["layers","&#xe53b;"],["layers_clear","&#xe53c;"],["terrain","&#xe564;"],["landscape","&#xe564;"],["share","&#xe80d;"],["favorite","&#xe87e;"],["star","&#xf09a;"],["home","&#xe9b2;"],["work","&#xe943;"],["person","&#xf0d3;"],["people","&#xea21;"],["trip","&#xe6fb;"],["warning","&#xf083;"],["emergency","&#xe1eb;"],["photo_camera","&#xe412;"],["shopping_bag","&#xf1cc;"],["search","&#xe8b6;"],["settings","&#xe8b8;"],["info","&#xe88e;"],["help","&#xe8fd;"],["close","&#xe5cd;"],["check","&#xe876;"],["add","&#xe145;"],["remove","&#xe15b;"],["edit","&#xe254;"],["delete","&#xe872;"],["refresh","&#xe5d5;"],["download","&#xe2c4;"],["upload","&#xe2c3;"],["visibility","&#xe8f4;"],["visibility_off","&#xe8f6;"]],xn=[["smallRain","&#xe6f7;"],["middleRain","&#xe61c;"],["hugeRain","&#xe6a6;"],["sun","&#xe6da;"],["cloud","&#xe8da;"]],jr="Material Symbols Outlined",qs="https://fonts.gstatic.com/s/materialsymbolsoutlined/v261/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2",Gs="iconfont",Js="//at.alicdn.com/t/font_2534097_ao9soua2obv.woff2?t=1622021146076";function Ks({source:e,sourceType:t="json",sourceConfig:r,iconField:n,iconFontFamily:o="material-symbols",iconFontPath:i,iconFontMap:l,iconColor:c="#3b82f6",iconSize:a=20,iconHaloColor:u="#fff",iconHaloWidth:f=1,iconStyle:m,showLabel:h=!0,labelField:g,labelColor:y="#333",labelSize:x=11,labelAnchor:b="top",labelOffset:v=[0,0],labelHaloColor:C="#fff",labelHaloWidth:j=2,labelStyle:_,textAllowOverlap:L=!1,iconAllowOverlap:z=!0,zoomAdaption:w=!0,zoomShowLabel:k=14,zoomDegradeToPoint:O=10,onClick:M,onMouseEnter:A,onMouseLeave:T,...S}){const E=fe(),[R,P]=d.useState(!1),[B,D]=d.useState(!1),[F,G]=d.useState(14),H=d.useRef(!1),{fontFamily:V,fontPath:U,iconMappings:W}=d.useMemo(()=>{switch(o){case"material-symbols":return{fontFamily:jr,fontPath:qs,iconMappings:Ys};case"iconfont":return{fontFamily:Gs,fontPath:Js,iconMappings:xn};default:return{fontFamily:o,fontPath:i??null,iconMappings:l??[]}}},[o,i,l]);if(d.useEffect(()=>{if(!E||H.current)return;H.current=!0;let Z=!1;return(async()=>{U&&E.addFontFace(V,U),W.length>0&&E.addIconFonts(W);try{if(V===jr){const ne=W.slice(0,10).map(([,de])=>String.fromCharCode(parseInt(de.replace("&#x","").replace(";",""),16))).join("");await document.fonts.load(`${a}px "${V}"`,ne)}else U&&await new Promise(ne=>{const de=setTimeout(()=>{ne()},3e3),ie=()=>{clearTimeout(de),E.off("fontloaded",ie),ne()};E.on("fontloaded",ie),document.fonts.load(`${a}px "${V}"`).then(()=>{clearTimeout(de),E.off("fontloaded",ie),ne()}).catch(()=>{clearTimeout(de),E.off("fontloaded",ie),ne()})})}catch{console.warn(`[GlyphLayer] 字体 "${V}" 加载超时,尝试继续渲染`)}try{const de=`${a}px "${V}"`;document.fonts.check(de,"X")||await document.fonts.ready}catch{}Z||P(!0)})(),()=>{Z=!0}},[E,V,U,W,a]),d.useEffect(()=>{if(!E)return;const Z=()=>D(!0);return E.loaded?Z():E.on("loaded",Z),()=>{E.off("loaded",Z)}},[E]),d.useEffect(()=>{if(!E||!w)return;const Z=()=>{G(E.getZoom())};return Z(),E.on("zoomchange",Z),()=>{E.off("zoomchange",Z)}},[E,w]),!R||!B)return null;const I=g??n,q=!w||F>=k;return w&&F<O?s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shape:"circle",color:typeof c=="string"?c:"#3b82f6",size:4,style:{opacity:.7}}):s.jsxs(s.Fragment,{children:[s.jsx(ye,{...S,source:e,sourceType:t,sourceConfig:r,shapeField:n,shapeValues:"text",color:c,size:a,style:{fontFamily:V,iconfont:!0,textAllowOverlap:z,stroke:u,strokeWidth:f,...m??{}},onClick:M,onMouseEnter:A,onMouseLeave:T}),h&&q&&s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shapeField:I,shapeValues:"text",color:y,size:x,style:{textAnchor:b,textOffset:v,stroke:C,strokeWidth:j,fontWeight:"500",textAllowOverlap:L,..._??{}}})]})}function Xs({source:e,sourceType:t="json",sourceConfig:r,iconField:n,iconMap:o,iconSize:i=24,iconAnchor:l="bottom",size:c,showLabel:a=!0,labelField:u,labelColor:f="#333",labelSize:m=12,labelAnchor:h="top",labelOffset:g=[0,0],labelHaloColor:y="#fff",labelHaloWidth:x=2,labelStyle:b,textAllowOverlap:v=!1,iconAllowOverlap:C=!0,zoomAdaption:j=!0,zoomShowLabel:_=15,zoomDegradeToPoint:L=10,onClick:z,onMouseEnter:w,onMouseLeave:k,...O}){const M=fe(),[A,T]=d.useState(!1),[S,E]=d.useState(15),R=d.useMemo(()=>Object.keys(o),[o]),P=c??i,B=u??n;if(d.useEffect(()=>{M&&(R.forEach(G=>{M.addImage(G,o[G])}),T(!0))},[M,R,o]),d.useEffect(()=>{if(!M||!j)return;const G=()=>{E(M.getZoom())};return G(),M.on("zoomchange",G),()=>{M.off("zoomchange",G)}},[M,j]),!A)return null;const D=!j||S>=_;return j&&S<L?s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shape:"circle",color:O.color??"#3b82f6",size:6,style:{opacity:.8}}):s.jsxs(s.Fragment,{children:[s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shapeField:n,shapeValues:R,size:P,style:{...O.style??{},anchor:l,allowOverlap:C},onClick:z,onMouseEnter:w,onMouseLeave:k}),a&&D&&s.jsx(ye,{source:e,sourceType:t,sourceConfig:r,shapeField:B,shapeValues:"text",color:f,size:m,style:{textAnchor:h,textOffset:g,stroke:y,strokeWidth:x,fontWeight:"500",textAllowOverlap:v,...b??{}}})]})}const Qs={gaode:()=>"https://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",google:()=>"https://gwxc.shipxy.com/tile.g?z={z}&x={x}&y={y}",tianditu:(e="4043dde46add842282bacc412299311d")=>`https://t{0-7}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=${e}`},ei={gaode:"高德卫星",tianditu:"天地图卫星",google:"谷歌卫星"};function ti({provider:e="gaode",zIndex:t=0,opacity:r=1,tiandituToken:n,visible:o=!0}){if(!o)return null;const i=Qs[e](n);return s.jsx(cn,{source:i,sourceType:"rasterTile",sourceConfig:{parser:{type:"rasterTile",tileSize:256,zoomOffset:1}},zIndex:t,opacity:r})}function ri({source:e,sourceType:t="json",sourceConfig:r,shape:n="arc",color:o="#2563EB",gradientColors:i,colorMode:l="single",colorField:c,colorValues:a,lineWidth:u=1.5,lineWidthRange:f,weightField:m="weight",opacity:h=.8,blur:g=.6,animate:y=!1,animateSpeed:x=1,animateTrailLength:b=.3,animateDuration:v=2e3,showNodes:C=!0,nodeColor:j,nodeSize:_=4,nodeSizeRange:L,nodePulse:z=!1,activeColor:w="#FFD93D",onArcHover:k,onArcClick:O,onNodeClick:M,style:A}){const T=d.useMemo(()=>r??{x:"fromLng",y:"fromLat",x1:"toLng",y1:"toLat"},[r]),S=d.useMemo(()=>l==="gradient"&&i?i:o,[l,i,o]),E=d.useMemo(()=>u,[u,f]),R=d.useMemo(()=>{if(y)return{enable:!0,speed:x,duration:v,trailLength:b}},[y,x,v,b]),P=d.useMemo(()=>({opacity:h,blur:g,...A}),[h,g,A]),B=d.useMemo(()=>{if(!C||typeof e=="string")return[];const F=new Map,G=T.x??"fromLng",H=T.y??"fromLat",V=T.x1??"toLng",U=T.y1??"toLat";return e.forEach(W=>{const I=`${W[G]}_${W[H]}`,q=`${W[V]}_${W[U]}`;F.has(I)||F.set(I,{lng:Number(W[G]),lat:Number(W[H]),degree:0,name:W.fromName}),F.has(q)||F.set(q,{lng:Number(W[V]),lat:Number(W[U]),degree:0,name:W.toName}),F.get(I).degree++,F.get(q).degree++}),Array.from(F.values())},[e,C,T]),D=j??o;return s.jsxs(s.Fragment,{children:[s.jsx(Ce,{source:e,sourceType:t,sourceConfig:T,shape:n,color:S,colorField:l==="field"?c:void 0,colorValues:l==="field"?a:void 0,size:E,sizeField:f?m:void 0,sizeValues:f||void 0,animate:R,active:w?{color:w}:!1,style:P,onMouseMove:k,onClick:O}),C&&B.length>0&&s.jsx(ye,{source:B,sourceConfig:{x:"lng",y:"lat"},color:D,size:_,sizeField:L?"degree":void 0,sizeValues:L,shape:"circle",style:{opacity:.9,strokeWidth:1,stroke:"#fff"},animate:z?{enable:!0,speed:.6}:void 0,active:w?{color:w}:!1,onClick:M})]})}function ni({path:e,segments:t,stops:r=[],color:n="#2563eb",lineWidth:o=4,opacity:i=.9,glow:l=!0,animate:c=!1,animateSpeed:a=1,stopSize:u=14,stopColor:f,endColor:m="#10b981",showStopIndex:h=!0,activeColor:g="#fbbf24",onPathClick:y,onStopClick:x}){const b=d.useMemo(()=>t&&t.length>0?{type:"FeatureCollection",features:t.map((j,_)=>({type:"Feature",properties:{color:j.color||n,width:j.width||o,index:_},geometry:{type:"LineString",coordinates:j.coordinates}}))}:e&&e.length>1?{type:"FeatureCollection",features:[{type:"Feature",properties:{color:n,width:o},geometry:{type:"LineString",coordinates:e}}]}:null,[e,t,n,o]),v=t&&t.some(j=>j.color),C=d.useMemo(()=>r.map((j,_)=>({...j,index:j.index??_+1,type:j.type??(_===0?"start":_===r.length-1?"end":"waypoint"),stopColor:j.type==="end"||!j.type&&_===r.length-1?m:f??n})),[r,n,f,m]);return b?s.jsxs(s.Fragment,{children:[l&&s.jsx(Ce,{source:b,sourceType:"geojson",shape:"line",color:v?void 0:n,colorField:v?"color":void 0,colorValues:v?t.map(j=>j.color||n):void 0,size:o*2.5,style:{opacity:.15}}),s.jsx(Ce,{source:b,sourceType:"geojson",shape:"line",color:v?void 0:n,colorField:v?"color":void 0,colorValues:v?t.map(j=>j.color||n):void 0,size:v?void 0:o,sizeField:v?"width":void 0,sizeValues:v?t.map(j=>j.width||o):void 0,style:{opacity:i},animate:c?{enable:!0,speed:a,trailLength:.3,duration:2e3}:void 0,active:g?{color:g}:!1,onClick:y}),C.length>0&&s.jsx(ye,{source:C,sourceConfig:{x:"lng",y:"lat"},colorField:"stopColor",colorValues:[...new Set(C.map(j=>j.stopColor))],size:u,shape:"circle",style:{opacity:1,strokeWidth:2,stroke:"#ffffff"},active:g?{color:g}:!1,onClick:x})]}):null}const Cr=[73.482190241,3.8150178409999995,135.106618732,57.630045996],oi={type:"linear",colors:["rgba(92,58,16,0)","rgba(92,58,16,0)","#fabd08","#f1e93f","#f1ff8f","#fcfff7"],positions:[0,3,9,22.5,45,90]};function Sr(e){const t=e[0]/2003750834e-2*180;let r=e[1]/2003750834e-2*180;return r=180/Math.PI*(2*Math.atan(Math.exp(r*Math.PI/180))-Math.PI/2),[t,r]}function si({url:e,extent:t=Cr,renderMode:r="raster",bandIndex:n=0,domain:o=[0,90],noDataValue:i=0,rampColors:l=oi,clampLow:c=!1,clampHigh:a=!1,bands:u=[0,1,2],countCut:f,rMinMax:m,gMinMax:h,bMinMax:g,opacity:y=.8,mask:x=!1,maskData:b}){const[v,C]=d.useState(null),[j,_]=d.useState(null),[L,z]=d.useState(null);d.useEffect(()=>{let E=!1;async function R(){try{const P=await Promise.resolve().then(()=>require("./geotiff-DgvKp-KZ.cjs")).then(I=>I.geotiff),B=await fetch(e);if(!B.ok)throw new Error(`Fetch failed: ${B.status}`);const D=await B.arrayBuffer(),G=await(await P.fromArrayBuffer(D)).getImage(),H=G.getWidth(),V=G.getHeight(),U=await G.readRasters();let W;try{const I=G.getBoundingBox();I&&I.length===4&&(W=I)}catch{}E||(C({rasters:U,width:H,height:V,tiffExtent:W}),z(null))}catch(P){E||(z(P instanceof Error?P.message:"Failed to load TIFF"),console.error("[TiffRasterLayer] Load error:",P))}}return R(),()=>{E=!0}},[e]),d.useEffect(()=>{if(!x||!b)return;let E=!1;return typeof b=="string"?fetch(b).then(R=>R.json()).then(R=>{E||_(R)}).catch(R=>console.error("[TiffRasterLayer] Mask load error:",R)):_(b),()=>{E=!0}},[x,b]);const w=d.useMemo(()=>{if(t!==Cr)return t;if(v!=null&&v.tiffExtent){const[E,R,P,B]=v.tiffExtent;if(Math.abs(E)>180||Math.abs(P)>180){const D=Sr([E,R]),F=Sr([P,B]);return[D[0],D[1],F[0],F[1]]}return v.tiffExtent}return t},[t,v==null?void 0:v.tiffExtent]),k=d.useMemo(()=>{if(!v)return null;if(r==="rgb"){const E={type:"rgb",width:v.width,height:v.height,bands:u,extent:w};return m&&(E.RMinMax=m),h&&(E.GMinMax=h),g&&(E.BMinMax=g),f&&(E.countCut=f),{parser:E}}return r==="ndi"?{parser:{type:"ndi",width:v.width,height:v.height,bands:u,extent:w}}:{parser:{type:"raster",width:v.width,height:v.height,extent:w}}},[v,r,u,w]),O=d.useMemo(()=>r==="rgb"?{opacity:y}:r==="ndi"?{domain:o,rampColors:l,opacity:y}:{clampLow:c,clampHigh:a,domain:o,noDataValue:i,rampColors:l,opacity:y},[r,c,a,o,i,l,y]),M=d.useMemo(()=>v?r==="rgb"||r==="ndi"?v.rasters:v.rasters[n]:null,[v,r,n]),A=fe(),T=d.useRef(null);d.useRef(!1);const S=!x||!!j;return d.useEffect(()=>{if(!A||!k||!M||!S)return;let E=!1;return(async()=>{const R=await import("@antv/l7");if(E)return;T.current&&(A.removeLayer(T.current),T.current=null);const P={zIndex:10};x&&j&&(P.mask=!0,P.maskfence=j);const B=new R.RasterLayer(P);B.source(M,{parser:k.parser}),B.style(O),A.addLayer(B),T.current=B})(),()=>{E=!0,T.current&&A&&(A.removeLayer(T.current),T.current=null)}},[A,k,M,S,j]),null}function ii({children:e,defaultSnap:t="collapsed",collapsedHeight:r=80,halfRatio:n=.45,expandedRatio:o=.85,onSnapChange:i,className:l,showHandle:c=!0,borderRadius:a=32}){const u=d.useRef(null),f=d.useRef(0),m=d.useRef(0),h=d.useRef(!1),[g,y]=d.useState(0),[x,b]=d.useState(t),[v,C]=d.useState(!1),j=d.useCallback(()=>{var A;const M=(A=u.current)==null?void 0:A.offsetParent;return M?M.clientHeight:window.innerHeight},[]),_=d.useCallback(M=>{const A=j();switch(M){case"collapsed":return r;case"half":return A*n;case"expanded":return A*o}},[r,n,o,j]);d.useEffect(()=>{y(_(t))},[t,_]);const L=d.useCallback((M,A)=>{const T=_("collapsed"),S=_("half"),E=_("expanded");let R;if(Math.abs(A)>.5)A>0?R=M>S?"expanded":"half":R=M<S?"collapsed":"half";else{const P=Math.abs(M-T),B=Math.abs(M-S),D=Math.abs(M-E),F=Math.min(P,B,D);F===P?R="collapsed":F===B?R="half":R="expanded"}C(!0),b(R),y(_(R)),i==null||i(R),setTimeout(()=>C(!1),300)},[_,i]),z=d.useCallback(M=>{h.current=!0,f.current=M.touches[0].clientY,m.current=g,C(!1)},[g]),w=d.useCallback(M=>{if(!h.current)return;const A=f.current-M.touches[0].clientY,T=j()*o,S=Math.max(r,Math.min(T,m.current+A));y(S)},[r,o,j]),k=d.useCallback(M=>{if(!h.current)return;h.current=!1;const T=(f.current-M.changedTouches[0].clientY)/100;L(g,T)},[g,L]),O=d.useCallback(M=>{h.current=!0,f.current=M.clientY,m.current=g,C(!1);const A=S=>{if(!h.current)return;const E=f.current-S.clientY,R=j()*o,P=Math.max(r,Math.min(R,m.current+E));y(P)},T=S=>{h.current=!1;const R=(f.current-S.clientY)/100,P=j()*o;L(Math.max(r,Math.min(P,m.current+(f.current-S.clientY))),R),document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",T)};document.addEventListener("mousemove",A),document.addEventListener("mouseup",T)},[g,r,o,L,j]);return d.useCallback(M=>{C(!0),b(M),y(_(M)),i==null||i(M),setTimeout(()=>C(!1),300)},[_,i]),s.jsx("div",{ref:u,className:l,style:{position:"absolute",bottom:0,left:0,width:"100%",height:g,zIndex:50,pointerEvents:"auto",transition:v?"height 0.3s cubic-bezier(0.4, 0, 0.2, 1)":"none",willChange:"height",touchAction:"none"},children:s.jsxs("div",{style:{width:"100%",height:"100%",background:"var(--color-surface, #f8f9ff)",borderTopLeftRadius:a,borderTopRightRadius:a,boxShadow:"0 -10px 40px rgba(0, 0, 0, 0.15)",borderTop:"1px solid rgba(195, 198, 215, 0.2)",display:"flex",flexDirection:"column",overflow:"hidden"},children:[s.jsx("div",{onTouchStart:z,onTouchMove:w,onTouchEnd:k,onMouseDown:O,style:{padding:"12px 0 16px",cursor:"grab",userSelect:"none",flexShrink:0},children:c&&s.jsx("div",{style:{width:48,height:6,borderRadius:3,background:"rgba(195, 198, 215, 0.5)",margin:"0 auto"}})}),s.jsx("div",{style:{flex:1,overflowY:x==="collapsed"?"hidden":"auto",overflowX:"hidden",padding:"0 16px",WebkitOverflowScrolling:"touch",msOverflowStyle:"none",scrollbarWidth:"none"},children:e})]})})}function ai({placeholder:e="搜索地点...",onSearch:t,onFilter:r,className:n,trailing:o}){const[i,l]=d.useState(""),c=d.useCallback(u=>{const f=u.target.value;l(f),t==null||t(f)},[t]),a=d.useCallback(()=>{l(""),t==null||t("")},[t]);return s.jsxs("div",{className:`glass-panel ${n??""}`,style:{display:"flex",alignItems:"center",padding:"12px 16px",borderRadius:16,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.08)",border:"1px solid rgba(195, 198, 215, 0.3)"},children:[s.jsx("span",{className:"material-symbols-outlined",style:{color:"var(--color-primary, #004ac6)",marginRight:12,fontSize:22},children:"search"}),s.jsx("input",{type:"text",value:i,onChange:c,placeholder:e,style:{flex:1,border:"none",background:"transparent",outline:"none",fontSize:14,lineHeight:"20px",color:"var(--color-on-surface, #121c2a)"}}),i&&s.jsx("button",{onClick:a,style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center"},children:s.jsx("span",{className:"material-symbols-outlined",style:{fontSize:18,color:"var(--color-on-surface-variant, #434655)"},children:"close"})}),r&&s.jsx("button",{onClick:r,style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center",marginLeft:4},children:s.jsx("span",{className:"material-symbols-outlined",style:{fontSize:22,color:"var(--color-on-surface-variant, #434655)"},children:"tune"})}),o]})}function Wt(e,t){if(!t)return e;const r={...e};for(const n of Object.keys(t)){const o=t[n],i=r[n];o!==null&&typeof o=="object"&&!Array.isArray(o)&&i!==null&&typeof i=="object"&&!Array.isArray(i)?r[n]=Wt(i,o):o!==void 0&&(r[n]=o)}return r}function li(e,t){return t?Wt(e,t):e}class ci extends d.Component{constructor(){super(...arguments),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){var n,o;(o=(n=this.props).onError)==null||o.call(n,t,r)}render(){if(this.state.hasError){const{fallback:t}=this.props,{error:r}=this.state;return typeof t=="function"?t(r):t||s.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",width:"100%",height:"100%",padding:32,color:"#666",fontFamily:"system-ui, sans-serif"},children:[s.jsx("span",{className:"material-symbols-outlined",style:{fontSize:48,marginBottom:16,color:"#e53e3e"},children:"error"}),s.jsx("p",{style:{fontSize:16,fontWeight:600,marginBottom:8},children:"地图加载失败"}),s.jsx("p",{style:{fontSize:13,color:"#999"},children:(r==null?void 0:r.message)??"未知错误"})]})}return this.props.children}}exports.ADMIN_SEQUENTIAL_COLORS=mn;exports.AiMap=os;exports.AiMapJSONSchema=ps;exports.ArcFlowLayer=ri;exports.BUILTIN_ICON_FONTS=xn;exports.BottomSheet=ii;exports.BubbleLayer=gs;exports.ChinaDistrict=Ps;exports.ControlContainer=kt;exports.ControlRegistry=we;exports.ControlRenderer=Qr;exports.DEFAULT_CITY_SOURCE=gn;exports.DEFAULT_DISTRICT_SOURCE=yn;exports.DEFAULT_PROVINCE_SOURCE=hn;exports.ErrorBoundary=ci;exports.EventBus=Tr;exports.EventBusProvider=Ir;exports.ExportImageControl=Pt;exports.FillLayer=ks;exports.FullscreenControl=Nt;exports.GAODE_THEME_PRESETS=xt;exports.GeoLocateControl=Rt;exports.GlyphLayer=Ks;exports.HeatmapHexagonLayer=ln;exports.HeatmapLayer=an;exports.HexagonLayer=ln;exports.INDEPENDENT_MAP_THEME_PRESETS=Bo;exports.IconLayer=Xs;exports.ImageLayer=ms;exports.InteractionRenderer=en;exports.LayerRenderer=Kr;exports.LayerSwitchControl=zt;exports.LegendCategories=Ot;exports.LegendDiverging=$t;exports.LegendIcon=Ht;exports.LegendLineWidth=Zt;exports.LegendProportion=Vt;exports.LegendRamp=Ft;exports.LegendRenderer=tn;exports.LegendSize=Bt;exports.LegendThreshold=Dt;exports.LineLayer=Ce;exports.MapSceneRenderer=Dr;exports.MapThemeControl=It;exports.Marker=Fe;exports.MarkerClusterLayer=ws;exports.MobileSheetLegend=sn;exports.MobileToolbar=on;exports.MouseLocationControl=At;exports.OPENFREEMAP_THEME_PRESETS=Do;exports.PointLayer=ye;exports.PolygonLayer=ot;exports.Popup=Lt;exports.RasterLayer=cn;exports.ResponsiveProvider=rs;exports.RouteLayer=ni;exports.SATELLITE_PROVIDER_NAMES=ei;exports.SatelliteLayer=ti;exports.ScaleControl=Tt;exports.SceneProvider=Fr;exports.SchemaProvider=Mr;exports.SearchBar=ai;exports.ThemeProvider=Pr;exports.TiffRasterLayer=si;exports.Tooltip=Jr;exports.ZoomControl=Mt;exports.adaptHeatmapLayer=Wr;exports.adaptImageLayer=qr;exports.adaptLineLayer=Hr;exports.adaptPointLayer=Vr;exports.adaptPolygonLayer=Ur;exports.adaptRasterLayer=Yr;exports.applyControlDefaults=Er;exports.applyLayerDefaults=_r;exports.applyMapDefaults=nt;exports.applyResponsiveOverrides=li;exports.applySchemaDefaults=jt;exports.createBasemap=$r;exports.createEventBus=Nr;exports.cx=re;exports.deepMerge=Wt;exports.diffSchema=cs;exports.hexToRgba=jo;exports.parseSchema=Lr;exports.useControlContainer=_e;exports.useEventBus=Ct;exports.useMapControl=Ee;exports.useMapPosition=Et;exports.useResponsive=nn;exports.useScene=fe;exports.useSchema=to;exports.useTheme=zr;exports.validateAiMapSchema=us;exports.validateSchema=eo;
30
+ <%s key={someKey} {...props} />`,f0,N1,F5,N1),oe[N1+f0]=!0}}return m===n?R5(v1):_5(v1),v1}}function T5(m,k,I){return se(m,k,I,!0)}function N5(m,k,I){return se(m,k,I,!1)}var I5=N5,P5=T5;W1.Fragment=n,W1.jsx=I5,W1.jsxs=P5})()),W1}var le;function K5(){return le||(le=1,process.env.NODE_ENV==="production"?X1.exports=G5():X1.exports=J5()),X1.exports}var a=K5();const M1={basemap:"map",center:[105,35],zoom:4,pitch:0,rotation:0};function a0(e){return{basemap:e.basemap??M1.basemap,token:e.token,style:e.style,center:e.center??[...M1.center],zoom:e.zoom??M1.zoom,pitch:e.pitch??M1.pitch,rotation:e.rotation??M1.rotation,minZoom:e.minZoom,maxZoom:e.maxZoom,bounds:e.bounds,gestureConfig:e.gestureConfig}}let X5=0;function Q5(){return`aimap-layer-${++X5}`}function je(e){return{id:e.id??Q5(),type:e.type,name:e.name??e.type,visible:e.visible??!0,zIndex:e.zIndex??0,minZoom:e.minZoom,maxZoom:e.maxZoom,autoFit:e.autoFit??!1,source:e.source,sourceType:e.sourceType,sourceConfig:e.sourceConfig,color:e.color,colorField:e.colorField,colorValues:e.colorValues,size:e.size,sizeField:e.sizeField,sizeValues:e.sizeValues,shape:e.shape,shapeField:e.shapeField,shapeValues:e.shapeValues,style:e.style,filterField:e.filterField,filterValues:e.filterValues,animate:e.animate,active:e.active,select:e.select,events:e.events}}const e2={zoom:"topright",scale:"bottomleft",fullscreen:"topright",geoLocate:"topright",mapTheme:"topright",mouseLocation:"bottomright",exportImage:"topright",layerSwitch:"topright"};function ke(e){return{type:e.type,position:e.position??e2[e.type]??"topright",options:e.options}}const t2={breakpoint:768};function r2(e){return{breakpoint:(e==null?void 0:e.breakpoint)??t2.breakpoint,mobile:e==null?void 0:e.mobile}}function z0(e){return{map:a0(e.map),layers:(e.layers??[]).map(je),controls:(e.controls??[]).map(ke),interactions:e.interactions??[],legends:e.legends??[],responsive:e.responsive?r2(e.responsive):void 0,events:e.events}}function Ae(e){return z0(e)}function n2(e){const t=[];if(e.basemap||t.push("map.basemap is required"),e.center){const[r,n]=e.center;(r<-180||r>180)&&t.push("map.center[0] (longitude) must be between -180 and 180"),(n<-90||n>90)&&t.push("map.center[1] (latitude) must be between -90 and 90")}return t}function o2(e,t){const r=[];return e.type||r.push(`layers[${t}].type is required`),e.source===void 0&&e.source,e.colorField&&!e.colorValues&&e.color,r}function s2(e){const t=[];return t.push(...n2(e.map)),(e.layers??[]).forEach((r,n)=>{t.push(...o2(r,n))}),{valid:t.length===0,errors:t}}const Ee=d.createContext(null);function Ze({schema:e,children:t}){return a.jsx(Ee.Provider,{value:e,children:t})}function a2(){return d.useContext(Ee)}class _e{constructor(){this.listeners=new Map}on(t,r){return this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(r),()=>{var n;(n=this.listeners.get(t))==null||n.delete(r)}}once(t,r){const n=(...s)=>{r(...s),o()},o=this.on(t,n);return o}emit(t,...r){const n=this.listeners.get(t);n&&n.forEach(o=>{try{o(...r)}catch(s){console.error(`[aimapui EventBus] Error in event "${t}":`,s)}})}off(t){this.listeners.delete(t)}clear(){this.listeners.clear()}}function Re(){return new _e}const Te=d.createContext(null);function Ne({events:e,children:t}){const r=d.useRef(null);return r.current||(r.current=Re()),d.useEffect(()=>{if(!e||!r.current)return;const n=r.current,o=[];for(const[s,c]of Object.entries(e))c&&o.push(n.on(s,c));return()=>{o.forEach(s=>s())}},[e]),a.jsx(Te.Provider,{value:r.current,children:t})}function H0(){const e=d.useContext(Te);if(!e)throw new Error("[aimapui] useEventBus must be used within an EventBusProvider");return e}const Ie=d.createContext({resolvedTheme:"light",theme:"light",setTheme:()=>{},toggleTheme:()=>{}});function Pe({defaultTheme:e="light",target:t="container",children:r}){const[n,o]=d.useState(e),[s,c]=d.useState("light");d.useEffect(()=>{const f=window.matchMedia("(prefers-color-scheme: dark)");c(f.matches?"dark":"light");const h=p=>{c(p.matches?"dark":"light")};return f.addEventListener("change",h),()=>f.removeEventListener("change",h)},[]);const l=n==="system"?s:n,i=d.useCallback(()=>{o(f=>f==="system"?s==="light"?"dark":"light":f==="light"?"dark":"light")},[s]);d.useEffect(()=>{t==="root"&&document.documentElement.setAttribute("data-theme",l)},[l,t]);const u=d.useMemo(()=>({resolvedTheme:l,theme:n,setTheme:o,toggleTheme:i}),[l,n,i]);return a.jsx(Ie.Provider,{value:u,children:t==="container"?a.jsx("div",{"data-theme":l,style:{display:"contents"},children:r}):r})}function Fe(){return d.useContext(Ie)}const i2=d.createContext({isMobile:!1,breakpoint:768,width:typeof window<"u"?window.innerWidth:1024,schema:void 0});function c2({responsive:e,children:t}){const[r,n]=d.useState(typeof window<"u"?window.innerWidth:1024);d.useEffect(()=>{let l;const i=()=>{cancelAnimationFrame(l),l=requestAnimationFrame(()=>n(window.innerWidth))};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),cancelAnimationFrame(l)}},[]);const o=(e==null?void 0:e.breakpoint)??768,s=r<o,c=d.useMemo(()=>({isMobile:s,breakpoint:o,width:r,schema:e}),[s,o,r,e]);return a.jsx(i2.Provider,{value:c,children:t})}const Oe=d.createContext(null);function $e({scene:e,children:t}){const r=d.useRef(e);return r.current=e,a.jsx(Oe.Provider,{value:r.current,children:t})}function g1(){return d.useContext(Oe)}async function De(e){var s,c,l;const t=e.basemap??M1.basemap,r=e.token??"",n=e.style??"normal",o={center:e.center??M1.center,zoom:e.zoom??M1.zoom,pitch:e.pitch??M1.pitch,rotation:e.rotation??M1.rotation,minZoom:e.minZoom,maxZoom:e.maxZoom,dragEnable:((s=e.gestureConfig)==null?void 0:s.dragPan)??!0,zoomEnable:((c=e.gestureConfig)==null?void 0:c.pinchZoom)??!0,rotateEnable:((l=e.gestureConfig)==null?void 0:l.dragRotate)??!0};switch(t){case"gaode":{const{GaodeMap:i}=await import("@antv/l7-maps/gaode");return new i({...o,style:l2(n),token:r})}case"mapbox":{const{Mapbox:i}=await import("@antv/l7-maps/mapbox");return new i({...o,style:u2(n),token:r})}case"tianditu":{const{TMap:i}=await import("@antv/l7-maps/tianditu");return new i({...o,token:r})}case"tencent":{const{TencentMap:i}=await import("@antv/l7-maps/tencent");return new i({...o,token:r})}case"baidu":{const{BaiduMap:i}=await import("@antv/l7-maps/baidu");return new i({...o,style:d2(n),token:r})}case"maplibre":{const{MapLibre:i}=await import("@antv/l7-maps/maplibre");return new i({...o,style:p2(n),token:r})}case"google":{const{GoogleMap:i}=await import("@antv/l7-maps/google"),u=new i({...o,style:f2(n),token:r});return h2(u),u}case"map":default:{const{Map:i}=await import("@antv/l7-maps/simple");return new i({center:e.center??M1.center,zoom:e.zoom??M1.zoom})}}}function l2(e){return{light:"light",dark:"dark",normal:"normal",darkblue:"dark",satellite:"satellite"}[e]??e}function u2(e){return{light:"https://tiles.openfreemap.org/styles/positron",dark:"https://tiles.openfreemap.org/styles/dark",normal:"https://tiles.openfreemap.org/styles/bright",liberty:"https://tiles.openfreemap.org/styles/liberty",fiord:"https://tiles.openfreemap.org/styles/fiord"}[e]??e}function d2(e){return{light:"light",dark:"dark",normal:"normal",darkblue:"dark",satellite:"satellite"}[e]??e}function f2(e){return{light:"roadmap",dark:"roadmap",normal:"roadmap",darkblue:"roadmap",satellite:"satellite",hybrid:"hybrid",terrain:"terrain"}[e]??"roadmap"}function p2(e){return{light:"https://tiles.openfreemap.org/styles/positron",dark:"https://tiles.openfreemap.org/styles/dark",normal:"https://tiles.openfreemap.org/styles/bright",liberty:"https://tiles.openfreemap.org/styles/liberty",fiord:"https://tiles.openfreemap.org/styles/fiord"}[e]??e}function h2(e){const t=["zoomControl","mapTypeControl","streetViewControl","fullscreenControl","scaleControl","rotateControl","panControl"],r={};for(const c of t)r[c]=!1;const n=()=>{const c=e.map;if(!c||typeof c.setOptions!="function")return!1;c.setOptions(r);const l=c.setOptions.bind(c);return c.setOptions=i=>{const u={...i};for(const f of t)f in u&&delete u[f];l(u)},!0};if(n())return;let o=0;const s=setInterval(()=>{o+=1,(n()||o>40)&&clearInterval(s)},100)}function Be({mapSchema:e,children:t,onSceneReady:r,mapEventHandlers:n,events:o,className:s,style:c}){const l=d.useRef(null),i=d.useRef(null),[u,f]=d.useState(null),h=d.useRef(r);h.current=r;const p=d.useRef(n);p.current=n;const g=H0(),C=d.useCallback((M,L)=>{var b,j,T;if(L.basemap==="map")return;const S=((b=L.gestureConfig)==null?void 0:b.dragPan)??!0,z=((j=L.gestureConfig)==null?void 0:j.pinchZoom)??!0,Z=((T=L.gestureConfig)==null?void 0:T.dragRotate)??!0;try{const A=M.mapService;A&&typeof A.setMapStatus=="function"&&A.setMapStatus({dragEnable:S,zoomEnable:z,rotateEnable:Z,doubleClickZoom:z})}catch{}},[]);d.useEffect(()=>{if(!l.current)return;let M=!1;const L=a0(e);De(L).then(z=>{if(M||!l.current)return;const Z=new Y5.Scene({id:l.current,map:z});i.current=Z,Z.on("loaded",()=>{var b;M||(C(Z,L),f(Z),(b=h.current)==null||b.call(h,Z),S(Z))}),L.bounds&&Z.on("loaded",()=>{try{const[b,j]=L.bounds;Z.fitBounds([b[0],b[1],j[0],j[1]])}catch{}})});function S(z){z.on("mapmove",()=>{var b,j;const Z={originalEvent:null,center:[z.getCenter().lng,z.getCenter().lat],zoom:z.getZoom(),pitch:z.getPitch(),rotation:z.getRotation()};(j=(b=p.current)==null?void 0:b.onMove)==null||j.call(b,Z),o!=null&&o.mapMove&&g.emit(o.mapMove,Z)}),z.on("zoomchange",()=>{var b,j;const Z={originalEvent:null,center:[z.getCenter().lng,z.getCenter().lat],zoom:z.getZoom(),pitch:z.getPitch(),rotation:z.getRotation()};(j=(b=p.current)==null?void 0:b.onZoom)==null||j.call(b,Z),o!=null&&o.mapZoom&&g.emit(o.mapZoom,Z)})}return()=>{if(M=!0,i.current){try{i.current.destroy()}catch{}i.current=null}f(null)}},[e.basemap,C]);const v=JSON.stringify(e.center),y=JSON.stringify(e.gestureConfig);d.useEffect(()=>{if(!u)return;const M=a0(e);try{u.setCenter(M.center)}catch{}try{u.setZoom(M.zoom)}catch{}try{u.setPitch(M.pitch)}catch{}try{u.setRotation(M.rotation)}catch{}C(u,M)},[u,v,e.zoom,e.pitch,e.rotation,y,C]);const x=d.useCallback(()=>{if(i.current)try{const M=i.current.map;M&&typeof M.resize=="function"&&M.resize()}catch{}},[]);return d.useEffect(()=>(window.addEventListener("resize",x),()=>window.removeEventListener("resize",x)),[x]),a.jsx("div",{ref:l,className:s??"aimapui-container",style:c??{width:"100%",height:"100%"},children:u&&a.jsx($e,{scene:u,children:t})})}function Ue(e){if(e.colorField)return{field:e.colorField,values:e.colorValues};if(e.color)return{values:e.color}}function m2(e){if(e.sizeField)return{field:e.sizeField,values:e.sizeValues};if(e.size!==void 0)return{values:e.size}}function We(e){if(e.shapeField)return{field:e.shapeField,values:e.shapeValues};if(e.shape)return{values:e.shape}}function V0(e){return{color:Ue(e),size:m2(e),shape:We(e),style:e.style?{...e.style}:void 0}}function g2(e){var t,r;return{data:e.source,options:{parser:{type:"json",x:((t=e.sourceConfig)==null?void 0:t.x)??"lng",y:((r=e.sourceConfig)==null?void 0:r.y)??"lat"}}}}function C2(e){var t,r;return{data:e.source,options:{parser:{type:"csv",x:(t=e.sourceConfig)==null?void 0:t.x,y:(r=e.sourceConfig)==null?void 0:r.y}}}}function j0(e){return{data:e.source,options:void 0}}function v2(e){var t;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser}}:e.sourceType==="geojson"?j0(e):e.sourceType==="csv"?C2(e):g2(e)}function qe(e){return{type:"PointLayer",sourceConfig:v2(e),visual:V0(e),schema:e}}function Ye(e){return{type:"LineLayer",sourceConfig:y2(e),visual:V0(e),schema:e}}function y2(e){var t,r,n,o,s,c,l,i,u,f;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser}}:e.sourceType==="geojson"?j0(e):e.sourceType==="csv"?{data:e.source,options:{parser:{type:"csv",x:(r=e.sourceConfig)==null?void 0:r.x,y:(n=e.sourceConfig)==null?void 0:n.y,x1:(o=e.sourceConfig)==null?void 0:o.x1,y1:(s=e.sourceConfig)==null?void 0:s.y1}}}:{data:e.source,options:{parser:{type:"json",x:((c=e.sourceConfig)==null?void 0:c.x)??"lng",y:((l=e.sourceConfig)==null?void 0:l.y)??"lat",x1:(i=e.sourceConfig)==null?void 0:i.x1,y1:(u=e.sourceConfig)==null?void 0:u.y1,coordinates:(f=e.sourceConfig)==null?void 0:f.coordinates}}}}function Ge(e){return{type:"PolygonLayer",sourceConfig:x2(e),visual:V0(e),schema:e}}function x2(e){var t;return e.sourceType==="geojson"?j0(e):{data:e.source,options:{parser:{type:"json",coordinates:((t=e.sourceConfig)==null?void 0:t.coordinates)??"coordinates"}}}}function Je(e){return{type:"HeatmapLayer",sourceConfig:b2(e),visual:L2(e),schema:e}}function b2(e){var t,r,n,o,s,c,l,i;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser,...e.sourceConfig.transforms?{transforms:e.sourceConfig.transforms}:{}}}:e.sourceType==="geojson"?{data:e.source,options:(r=e.sourceConfig)!=null&&r.transforms?{transforms:e.sourceConfig.transforms}:void 0}:e.sourceType==="csv"?{data:e.source,options:{parser:{type:"csv",x:(n=e.sourceConfig)==null?void 0:n.x,y:(o=e.sourceConfig)==null?void 0:o.y},...(s=e.sourceConfig)!=null&&s.transforms?{transforms:e.sourceConfig.transforms}:{}}}:{data:e.source,options:{parser:{type:"json",x:((c=e.sourceConfig)==null?void 0:c.x)??"lng",y:((l=e.sourceConfig)==null?void 0:l.y)??"lat"},...(i=e.sourceConfig)!=null&&i.transforms?{transforms:e.sourceConfig.transforms}:{}}}}function L2(e){const t=e.sizeField?{field:e.sizeField,values:e.sizeValues}:void 0,r=Ue(e),n=We(e),o=e.style?{...e.style}:void 0;return{color:r,size:t,shape:n,style:o}}function Ke(e){return{type:"RasterLayer",sourceConfig:M2(e),visual:w2(e),schema:e}}function M2(e){var t;return(t=e.sourceConfig)!=null&&t.parser?{data:e.source,options:{parser:e.sourceConfig.parser}}:{data:e.source,options:e.sourceType==="raster"?{parser:{type:"raster",extent:[73.482190241,3.82501784112,135.106618732,53.557926206]}}:e.sourceType==="rasterTile"?{parser:{type:"rasterTile",tileSize:256,zoomOffset:1}}:void 0}}function w2(e){return{color:void 0,size:void 0,shape:void 0,style:e.style?{...e.style}:void 0}}function Xe(e){var t;return{type:"ImageLayer",sourceConfig:{data:e.source,options:{parser:((t=e.sourceConfig)==null?void 0:t.parser)??(e.sourceType==="image"?{type:"image"}:void 0)}},visual:{color:void 0,size:void 0,shape:void 0,style:e.style?{...e.style}:void 0},schema:e}}function k0(e,t,r,n){const o=d.useRef(t),s=d.useRef(r);o.current=t,s.current=r;const c=d.useRef(n);c.current=n;const l=d.useRef(null),i=d.useRef(e);i.current=e;const u=d.useCallback(()=>{const h=i.current;if(h)try{const p=h.mapService;if(p){const g=p.lngLatToContainer([o.current,s.current]);g&&c.current(g.x,g.y)}else{const g=h.lngLatToContainer([o.current,s.current]);g&&c.current(g.x,g.y)}}catch{}},[]),f=d.useCallback(()=>{u()},[u]);d.useEffect(()=>{if(!e)return;const h=()=>{setTimeout(()=>u(),0)};return e.loaded?h():e.on("loaded",h),()=>{e.off("loaded",h)}},[e,u]),d.useEffect(()=>{u()},[t,r,u]),d.useEffect(()=>{if(e){try{const h=e.mapService;if(h)return h.on("camerachange",f),h.on("viewchange",f),()=>{h.off("camerachange",f),h.off("viewchange",f)}}catch{}return e.on("camerachange",f),e.on("resize",f),()=>{e.off("camerachange",f),e.off("resize",f)}}},[e,f]),d.useEffect(()=>()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},[])}function Qe(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=Qe(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function S2(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=Qe(e))&&(n&&(n+=" "),n+=t);return n}function c1(...e){return S2(e)}function z2(e,t=1){const r=e.replace("#","").match(/.{2}/g);if(!r||r.length<3)return e;const[n,o,s]=r.map(c=>parseInt(c,16));return`rgba(${n}, ${o}, ${s}, ${t})`}function Q1(e){return typeof e=="string"&&/<[a-zA-Z][^>]*>/.test(e)}let J1=null;const x0=new Set;function H2(e,t){J1&&J1!==e&&x0.forEach(r=>r(e)),J1=e}function V2(e){J1===e&&(J1=null)}function ue(e,t,r,n,o,s,c,l){if(c!=="auto")return $1(c,l);const i=t,u=s-t,f=e,h=o-e,p=8;if(i>=n+l+p)return $1("top",l);if(u>=n+l+p)return $1("bottom",l);if(h>=r+l+p)return $1("right",l);if(f>=r+l+p)return $1("left",l);const C=Object.entries({top:i,bottom:u,right:h,left:f}).sort((v,y)=>y[1]-v[1])[0][0];return $1(C,l)}function $1(e,t){switch(e){case"top":return{placement:"top",transform:`translate(-50%, -100%) translateY(-${t}px)`};case"bottom":return{placement:"bottom",transform:`translate(-50%, 0) translateY(${t}px)`};case"left":return{placement:"left",transform:`translate(-100%, -50%) translateX(-${t}px)`};case"right":return{placement:"right",transform:`translate(0, -50%) translateX(${t}px)`}}}function s0({onClick:e}){return a.jsx("button",{onClick:t=>{t.stopPropagation(),e()},className:"aimapui-popup-close-btn absolute top-2 right-2 size-8 flex items-center justify-center text-on-surface-variant rounded-lg transition-[color,background] duration-200 cursor-pointer bg-transparent border-none p-0 hover:text-on-surface hover:bg-surface-container-high [&_.material-symbols-outlined]:text-xl","aria-label":"关闭",children:a.jsx("span",{className:"material-symbols-outlined",children:"close"})})}const j2={top:"M0 0L8 8L16 0",bottom:"M0 8L8 0L16 8",left:"M0 0L8 8L0 16",right:"M8 0L0 8L8 16"};function e0({placement:e}){const t=e==="top"||e==="bottom",r=t?16:8,n=t?8:16,o=t?"0 0 16 8":"0 0 8 16",s=j2[e];return a.jsx("div",{className:`aimapui-popup-tip-arrow aimapui-popup-tip-arrow--${e==="top"?"bottom":e==="bottom"?"top":e}`,children:a.jsxs("svg",{width:r,height:n,viewBox:o,fill:"none",children:[a.jsx("path",{d:s,fill:"rgba(248, 249, 255, 0.95)"}),a.jsx("path",{d:s,stroke:"rgba(195, 198, 215, 0.3)",strokeWidth:"0.5",fill:"none"})]})})}function k2({header:e,onClose:t}){return e.coverUrl?a.jsxs("div",{className:"aimapui-popup-cover relative aspect-video overflow-hidden",children:[a.jsx("img",{src:e.coverUrl,alt:e.title,className:"w-full h-full object-cover"}),a.jsx("button",{className:"absolute top-2 right-2 size-8 bg-black/30 backdrop-blur-sm text-white flex items-center justify-center rounded-full border-none cursor-pointer transition-colors duration-200 z-10 hover:bg-black/50 [&_.material-symbols-outlined]:text-lg","aria-label":"关闭",onClick:r=>{r.stopPropagation(),t()},children:a.jsx("span",{className:"material-symbols-outlined",children:"close"})}),e.statusLabel&&a.jsxs("div",{className:"absolute bottom-2 left-2 flex items-center gap-1.5 px-2 py-0.5 bg-surface/90 backdrop-blur-sm rounded-md shadow-sm text-[10px] font-semibold uppercase tracking-wide text-on-surface",children:[a.jsx("div",{className:"size-2 rounded-full",style:{background:e.statusColor||"#10b981"}}),a.jsx("span",{children:e.statusLabel})]})]}):null}function A2({header:e,onClose:t,hasCover:r,showStatusDot:n}){return a.jsxs("div",{className:c1("relative flex items-center p-4",!r&&"pr-10"),children:[n&&e.statusDot&&a.jsx("div",{className:"size-2 rounded-full shrink-0 mr-2 animate-pulse",style:{background:e.statusDot}}),a.jsx("h3",{className:"text-xl leading-7 font-semibold text-on-surface m-0 flex-1 min-w-0 truncate",children:e.title}),!r&&a.jsx(s0,{onClick:t})]})}function E2({attributes:e,size:t}){const r=t==="compact",n=t==="detailed",o=r?1:2;return a.jsx("div",{className:c1(r?"flex flex-col":"grid gap-2"),style:r?void 0:{gridTemplateColumns:`repeat(${o}, 1fr)`},children:e.map((s,c)=>n&&s.icon?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"size-12 rounded-lg bg-surface-container-highest flex items-center justify-center text-primary shrink-0 [&_.material-symbols-outlined]:text-[28px]",children:a.jsx("span",{className:"material-symbols-outlined",children:s.icon})}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm leading-5 text-on-surface-variant m-0",children:s.label}),a.jsx("p",{className:"text-sm leading-5 font-medium text-on-surface m-0",style:s.valueColor?{color:s.valueColor}:void 0,children:s.value})]})]},c):a.jsxs("div",{className:c1("flex justify-between items-baseline gap-2",r&&"py-2 border-b border-outline-variant/30 last:border-b-0 last:pb-0 first:pt-0"),children:[a.jsx("p",{className:"text-sm leading-5 text-on-surface-variant m-0",children:s.label}),a.jsx("p",{className:"text-sm leading-5 font-medium text-on-surface m-0 text-right",style:s.valueColor?{color:s.valueColor}:void 0,children:s.value})]},c))})}function Z2({actions:e}){return a.jsx("div",{className:"flex gap-3 px-4 pb-4",children:e.map((t,r)=>a.jsx("button",{className:c1("flex-1 py-2.5 text-sm leading-5 font-semibold rounded-lg border-none cursor-pointer transition-all duration-150 active:scale-[0.98]",t.variant==="secondary"?"bg-transparent text-on-surface border-2 border-solid border-outline-variant hover:bg-surface-container-low":"bg-primary text-on-primary shadow-sm hover:shadow-[0_4px_12px_rgba(0,74,198,0.3)]"),onClick:t.onClick,children:t.label},r))})}function A0({longitude:e,latitude:t,content:r,closeButton:n=!0,size:o="standard",placement:s="auto",offset:c=8,header:l,attributes:i,actions:u,visible:f,singleton:h=!1,overlayContainer:p,onClose:g,className:C}){const v=g1(),y=f!==void 0,[x,M]=d.useState(!0),L=y?f:x,[S,z]=d.useState(!1),[Z,b]=d.useState("top"),j=d.useRef(null),T=d.useRef(!0);d.useRef(!1);const A=d.useRef(Symbol("popup")),[_,H]=d.useState(null);d.useEffect(()=>{if(p||!v)return;const q=()=>{try{const P=v.mapService;if(P&&typeof P.getMarkerContainer=="function"){const W=P.getMarkerContainer();if(W)return H(W),!0}}catch{}return!1};if(q())return;const N=()=>{q()};return v.loaded?N():v.on("loaded",N),()=>{v.off("loaded",N)}},[v,p]);const w=p??_,V=d.useCallback(()=>{S||(z(!0),setTimeout(()=>{y||M(!1),g==null||g(),z(!1)},150))},[y,g,S]);d.useEffect(()=>{if(!h||!L)return;const q=A.current;return H2(q),()=>V2(q)},[h,L,V]),d.useEffect(()=>{if(!h)return;const q=A.current,N=P=>{P!==q&&L&&V()};return x0.add(N),()=>{x0.delete(N)}},[h,L,V]);const E=d.useCallback(()=>{var N;const q=j.current;if(!(!q||!v))try{const P=v.mapService,W=P?P.lngLatToContainer([e,t]):v.lngLatToContainer([e,t]);if(W){const $=Math.round(W.x),D=Math.round(W.y);q.style.left="0",q.style.top="0";let a1=0,U=0;try{if(P){const K=(N=P.getContainer)==null?void 0:N.call(P);K&&(a1=K.scrollWidth||K.clientWidth,U=K.scrollHeight||K.clientHeight)}}catch{}const s1=q.querySelector(".aimapui-popup-content"),f1=(s1==null?void 0:s1.offsetWidth)||320,p1=(s1==null?void 0:s1.offsetHeight)||200,{placement:B,transform:r1}=ue($,D,f1,p1,a1,U,s,c);b(B),q.style.transform=`translate3d(${$}px, ${D}px, 0) ${r1}`;let o1=!0;a1>0&&U>0&&(o1=$>=0&&$<=a1&&D>=0&&D<=U),T.current=o1,q.style.visibility=o1?"visible":"hidden"}}catch{}},[v,e,t,s,c]);if(d.useEffect(()=>{if(!w||!L)return;const q=requestAnimationFrame(()=>{E()});return()=>cancelAnimationFrame(q)},[w,L,E]),d.useEffect(()=>{if(!L)return;const q=N=>{N.key==="Escape"&&V()};return document.addEventListener("keydown",q),()=>document.removeEventListener("keydown",q)},[L,V]),d.useEffect(()=>{var W;if(!L||!w)return;const q=$=>{const D=j.current;if(!D||D.contains($.target))return;const a1=$.target;a1.closest(".aimapui-marker")||a1.closest("[data-marker]")||V()};let N=null;try{const $=v==null?void 0:v.mapService;$&&(N=(W=$.getContainer)==null?void 0:W.call($))}catch{}const P=N||w.parentElement||w;return P.addEventListener("click",q,!0),()=>P.removeEventListener("click",q,!0)},[L,w,v,V]),k0(v,e,t,(q,N)=>{var o1;const P=j.current;if(!P)return;const W=Math.round(q),$=Math.round(N);let D=0,a1=0;try{const K=v==null?void 0:v.mapService;if(K){const h1=(o1=K.getContainer)==null?void 0:o1.call(K);h1&&(D=h1.scrollWidth||h1.clientWidth,a1=h1.scrollHeight||h1.clientHeight)}}catch{}const U=P.querySelector(".aimapui-popup-content"),s1=(U==null?void 0:U.offsetWidth)||320,f1=(U==null?void 0:U.offsetHeight)||200,{placement:p1,transform:B}=ue(W,$,s1,f1,D,a1,s,c);b(p1);let r1=!0;D>0&&a1>0&&(r1=W>=0&&W<=D&&$>=0&&$<=a1),T.current=r1,P.style.left="0",P.style.top="0",P.style.transform=`translate3d(${W}px, ${$}px, 0) ${B}`,P.style.visibility=r1?"visible":"hidden"}),!L||!w)return null;const R=l||i||u,F=!!(l!=null&&l.coverUrl),G=Z==="left"||Z==="right",J=()=>R?a.jsxs(a.Fragment,{children:[l&&F&&a.jsx(k2,{header:l,onClose:V}),l&&a.jsx(A2,{header:l,onClose:V,hasCover:F,showStatusDot:o==="compact"}),a.jsxs("div",{className:c1("aimapui-popup-body relative p-4 text-sm leading-5 text-on-surface break-words whitespace-normal",!l&&n&&"pr-10"),children:[!l&&n&&a.jsx(s0,{onClick:V}),r&&!Q1(r)&&typeof r!="string"&&a.jsx("div",{children:r}),r&&Q1(r)&&a.jsx("div",{dangerouslySetInnerHTML:{__html:r}}),r&&!Q1(r)&&typeof r=="string"&&a.jsx("div",{children:r}),!r&&!(i!=null&&i.length)&&!(u!=null&&u.length)&&!l&&a.jsx("div",{style:{color:"var(--color-on-surface-variant)"},children:"无内容"}),i&&i.length>0&&a.jsx(E2,{attributes:i,size:o})]}),u&&u.length>0&&a.jsx(Z2,{actions:u})]}):Q1(r)?a.jsxs("div",{className:"aimapui-popup-body relative p-4 pt-2 pr-10 text-sm leading-5 text-on-surface break-words whitespace-normal",children:[n&&a.jsx(s0,{onClick:V}),a.jsx("div",{dangerouslySetInnerHTML:{__html:r}})]}):a.jsxs("div",{className:"aimapui-popup-body relative p-4 pt-2 pr-10 text-sm leading-5 text-on-surface break-words whitespace-normal",children:[n&&a.jsx(s0,{onClick:V}),a.jsx("div",{children:r??""})]}),Q=G?{display:"flex",alignItems:"center"}:{display:"flex",flexDirection:"column",alignItems:"center"};return S0.createPortal(a.jsxs("div",{ref:j,className:c1("aimapui-popup",`aimapui-popup--${o}`),style:{position:"absolute",left:0,top:0,transform:"translate(-9999px, -9999px)",visibility:"hidden",zIndex:30,pointerEvents:"auto",...Q},children:[Z==="bottom"&&a.jsx(e0,{placement:Z}),Z==="right"&&a.jsx(e0,{placement:Z}),a.jsx("div",{className:c1("aimapui-popup-content overflow-hidden rounded-xl",S&&"aimapui-popup-content--exit",C),children:J()}),Z==="top"&&a.jsx(e0,{placement:Z}),Z==="left"&&a.jsx(e0,{placement:Z})]}),w)}const _2={top:"bottom",bottom:"top",left:"right",right:"left"},de={top:"translate(-50%, -100%)",bottom:"translate(-50%, 0)",left:"translate(-100%, -50%)",right:"translate(0, -50%)"};function e5({content:e,variant:t="dark",longitude:r,latitude:n,targetElement:o,placement:s="top",offset:c=8,trigger:l="hover",visible:i,title:u,items:f,overlayContainer:h,className:p}){const{resolvedTheme:g}=Fe(),C=g1(),v=i!==void 0,[y,x]=d.useState(!1),M=v?i:y,L=d.useRef(null),S=d.useRef(null),z=r!==void 0&&n!==void 0;d.useEffect(()=>{if(z||!o||v)return;const w=()=>{S.current=setTimeout(()=>x(!0),100)},V=()=>{S.current&&(clearTimeout(S.current),S.current=null),x(!1)},E=()=>{S.current&&clearTimeout(S.current),x(R=>!R)};return l==="hover"?(o.addEventListener("mouseenter",w),o.addEventListener("mouseleave",V)):o.addEventListener("click",E),()=>{S.current&&clearTimeout(S.current),o.removeEventListener("mouseenter",w),o.removeEventListener("mouseleave",V),o.removeEventListener("click",E)}},[o,l,z,v]);const Z=d.useCallback(()=>{if(!o||!L.current)return;const w=o.getBoundingClientRect(),V=L.current.getBoundingClientRect();let E=0,R=0;switch(s){case"right":E=w.right+c,R=w.top+w.height/2-V.height/2;break;case"bottom":E=w.left+w.width/2-V.width/2,R=w.bottom+c;break;case"left":E=w.left-V.width-c,R=w.top+w.height/2-V.height/2;break;case"top":default:E=w.left+w.width/2-V.width/2,R=w.top-V.height-c;break}const F=8;E=Math.max(F,Math.min(E,window.innerWidth-V.width-F)),R=Math.max(F,Math.min(R,window.innerHeight-V.height-F)),L.current.style.left=`${E}px`,L.current.style.top=`${R}px`},[o,s,c]);d.useEffect(()=>{if(z||!M||!o)return;Z();const w=()=>Z();return window.addEventListener("resize",w),window.addEventListener("scroll",w,!0),()=>{window.removeEventListener("resize",w),window.removeEventListener("scroll",w,!0)}},[M,o,z,Z]);const b=d.useCallback(()=>{var w,V,E;if(!C)return{left:0,top:0};try{const R=C.mapService,F=((w=R==null?void 0:R.getMarkerContainer)==null?void 0:w.call(R))??((V=C.getMapContainer)==null?void 0:V.call(C))??C.container??((E=C.getContainer)==null?void 0:E.call(C));if(F instanceof HTMLElement){const G=F.getBoundingClientRect();return{left:G.left,top:G.top}}}catch{}return{left:0,top:0}},[C]),j=d.useCallback(()=>{const w=L.current;if(!(!w||!C||!z))try{const V=C.mapService,E=V?V.lngLatToContainer([r,n]):C.lngLatToContainer([r,n]);if(!E||isNaN(E.x)||isNaN(E.y))return;let R=0,F=0;switch(s){case"top":F=-c;break;case"bottom":F=c;break;case"left":R=-c;break;case"right":R=c;break}const G=b(),J=Math.round(E.x+R+G.left),Q=Math.round(E.y+F+G.top),q=de[s];w.style.transform=`translate3d(${J}px, ${Q}px, 0) ${q}`,w.style.visibility="visible"}catch{}},[C,r,n,s,c,z,b]);if(d.useEffect(()=>{if(!z||!M)return;const w=requestAnimationFrame(()=>j());return()=>cancelAnimationFrame(w)},[M,z,j]),k0(z?C:null,r??0,n??0,(w,V)=>{const E=L.current;if(!E||!z)return;let R=0,F=0;switch(s){case"top":F=-c;break;case"bottom":F=c;break;case"left":R=-c;break;case"right":R=c;break}const G=b(),J=Math.round(w+R+G.left),Q=Math.round(V+F+G.top),q=de[s];E.style.transform=`translate3d(${J}px, ${Q}px, 0) ${q}`,E.style.visibility="visible"}),!M)return null;const T=_2[s],A=u||f&&f.length>0,_=()=>e?typeof e=="string"?a.jsx("span",{dangerouslySetInnerHTML:{__html:e}}):e:A?a.jsxs(a.Fragment,{children:[u&&a.jsx("p",{className:"font-sans text-xs leading-4 font-semibold m-0 mb-0.5",children:u}),f&&f.length>0&&a.jsx("div",{className:"flex flex-col gap-0.5",children:f.map((w,V)=>a.jsxs("div",{className:"flex justify-between items-center gap-3",children:[a.jsx("span",{className:"text-xs leading-4 font-normal opacity-70 m-0",children:w.label}),a.jsx("span",{className:"font-mono text-xs leading-4 font-[450] text-right m-0",children:w.value})]},V))})]}):null,H=a.jsxs("div",{ref:L,"data-theme":g,className:c1("aimapui-tooltip",t!=="dark"&&`aimapui-tooltip--${t}`),style:{position:"fixed",left:0,top:0,transform:"translate(-9999px, -9999px)",visibility:"hidden",zIndex:9999,pointerEvents:"none"},children:[a.jsx("div",{className:c1("aimapui-tooltip-content",p),children:_()}),a.jsx("div",{className:`aimapui-tooltip-arrow aimapui-tooltip-arrow--${T}`})]});return S0.createPortal(H,document.body)}function R2(e,t){let r;switch(e.type){case"point":r=qe(e);break;case"line":r=Ye(e);break;case"polygon":r=Ge(e);break;case"heatmap":r=Je(e);break;case"raster":r=Ke(e);break;case"image":r=Xe(e);break;default:return console.warn(`[aimapui] Unknown layer type: ${e.type}`),null}return T2(r)}async function T2(e,t){var h;const n=(await import("@antv/l7"))[e.type];if(!n)throw new Error(`[aimapui] L7 layer class "${e.type}" not found`);const o=new n({...e.schema.zIndex!==void 0?{zIndex:e.schema.zIndex}:{},...e.schema.name?{name:e.schema.name}:{}}),{data:s,options:c}=e.sourceConfig;c?o.source(s,c):o.source(s);const{color:l,size:i,shape:u,style:f}=e.visual;if(l&&(l.field&&l.values?o.color(l.field,l.values):l.values&&o.color(l.values)),i&&(i.field&&i.values?o.size(i.field,i.values):i.values!==void 0&&o.size(i.values)),u&&(u.field&&u.values?o.shape(u.field,u.values):u.values&&o.shape(u.values)),f&&Object.keys(f).length>0&&o.style(f),e.type==="PointLayer"&&!u&&o.shape("circle"),e.type==="LineLayer"&&!u&&o.shape("line"),e.schema.filterField&&e.schema.filterValues){const p=e.schema.filterField,g=e.schema.filterValues;o.filter(p,C=>g.includes(C))}return(h=e.schema.animate)!=null&&h.enable&&o.animate(!0,e.schema.animate),e.schema.active&&o.active(e.schema.active),e.schema.select&&o.select(e.schema.select),e.schema.opacity!==void 0&&o.style({opacity:e.schema.opacity}),e.schema.blend&&o.blend(e.schema.blend),e.schema.visible===!1&&o.hide(),e.schema.minZoom!==void 0&&o.minZoom(e.schema.minZoom),e.schema.maxZoom!==void 0&&o.maxZoom(e.schema.maxZoom),o}function t0(e,t,r){var l,i,u,f,h,p,g,C;const n=r,o=Number.isFinite((l=n==null?void 0:n.lnglat)==null?void 0:l.lng)?n.lnglat.lng:Number.isFinite((i=n==null?void 0:n.lngLat)==null?void 0:i.lng)?n.lngLat.lng:Number.isFinite((u=n==null?void 0:n.coordinate)==null?void 0:u.lng)?n.coordinate.lng:0,s=Number.isFinite((f=n==null?void 0:n.lnglat)==null?void 0:f.lat)?n.lnglat.lat:Number.isFinite((h=n==null?void 0:n.lngLat)==null?void 0:h.lat)?n.lngLat.lat:Number.isFinite((p=n==null?void 0:n.coordinate)==null?void 0:p.lat)?n.coordinate.lat:0,c=((g=n==null?void 0:n.feature)==null?void 0:g.properties)??(n==null?void 0:n.feature)??((C=n==null?void 0:n.data)==null?void 0:C.properties)??(n==null?void 0:n.data)??void 0;return{layerId:e,layerType:t,originalEvent:r,lng:o,lat:s,feature:c}}function P1({schema:e,scene:t,eventHandlers:r}){const n=d.useRef(null),o=H0(),s=d.useRef(r);s.current=r;const c=d.useMemo(()=>{const{source:u,...f}=e;let h;if(ArrayBuffer.isView(u))h=`TypedArray:${u.length}`;else if(u&&typeof u=="object"&&"width"in u){const p=u;h=`Rasters:${p.width}x${p.height}:${p.length}`}else if(typeof u=="string")h=u;else try{h=JSON.stringify(u)}catch{h=String(u)}return h+"|"+N2(f)},[e]),[l,i]=d.useState({visible:!1,lng:0,lat:0,content:"",trigger:"click"});return d.useEffect(()=>{var f;let u=!1;return(f=R2(e))==null||f.then(h=>{var Z,b,j,T;if(u)return;n.current=h;const p=e.id??e.name??`layer-${e.type}`,g=e.events,C=!!(g!=null&&g.enablePopup),v=(g==null?void 0:g.popupTrigger)??"click",y=A=>{if(!C)return;const _=A.feature;if(!_)return;const H=I2(_,g==null?void 0:g.popupFields,g==null?void 0:g.popupTemplate);i({visible:!0,lng:A.lng,lat:A.lat,content:H,trigger:v})},x=()=>{i(A=>({...A,visible:!1}))},M=!!((Z=s.current)!=null&&Z.onClick||g!=null&&g.click||C&&v==="click"),L=!!((b=s.current)!=null&&b.onMouseMove||g!=null&&g.mousemove||C&&v==="hover"),S=!!((j=s.current)!=null&&j.onMouseEnter||g!=null&&g.mouseenter),z=!!((T=s.current)!=null&&T.onMouseLeave||g!=null&&g.mouseleave||C&&v==="hover");M&&h.on("click",A=>{var H,w;const _=t0(p,e.type,A);(w=(H=s.current)==null?void 0:H.onClick)==null||w.call(H,_),g!=null&&g.click&&o.emit(g.click,_),v==="click"&&y(_)}),L&&h.on("mousemove",A=>{var H,w;const _=t0(p,e.type,A);(w=(H=s.current)==null?void 0:H.onMouseMove)==null||w.call(H,_),v==="hover"&&y(_),g!=null&&g.mousemove&&o.emit(g.mousemove,_)}),S&&h.on("mouseenter",A=>{var H,w;const _=t0(p,e.type,A);(w=(H=s.current)==null?void 0:H.onMouseEnter)==null||w.call(H,_),g!=null&&g.mouseenter&&o.emit(g.mouseenter,_)}),z&&h.on("mouseleave",A=>{var H,w;const _=t0(p,e.type,A);(w=(H=s.current)==null?void 0:H.onMouseLeave)==null||w.call(H,_),v==="hover"&&x(),g!=null&&g.mouseleave&&o.emit(g.mouseleave,_)}),t.addLayer(h),h.on("inited",()=>{u||(e.autoFit&&t.fitBounds(h.getBounds()),t.render())})}).catch(h=>{u||console.error(`[aimapui] Failed to create layer "${e.id??e.name??e.type}":`,h)}),()=>{if(u=!0,n.current){try{t.removeLayer(n.current)}catch{}n.current=null}i(h=>({...h,visible:!1}))}},[c,t,o]),d.useEffect(()=>{n.current&&(e.visible===!1?n.current.hide():n.current.show(),e.zIndex!==void 0&&n.current.zIndex(e.zIndex))},[e.visible,e.zIndex]),l.visible?l.trigger==="hover"?a.jsx(e5,{longitude:l.lng,latitude:l.lat,content:l.content,variant:"dark",placement:"top",visible:!0}):a.jsx(A0,{longitude:l.lng,latitude:l.lat,content:l.content,closeButton:!0,size:"compact",onClose:()=>i(u=>({...u,visible:!1}))}):null}function N2(e){return JSON.stringify(b0(e))}function b0(e){if(ArrayBuffer.isView(e))return`[TypedArray:${e.length}]`;if(e instanceof ArrayBuffer)return`[ArrayBuffer:${e.byteLength}]`;if(Array.isArray(e))return e.length>1e3?`[Array:${e.length}]`:e.map(b0);if(e&&typeof e=="object"){const t=e,r=Object.keys(t).sort(),n={};return r.forEach(o=>{n[o]=b0(t[o])}),n}return e}function I2(e,t,r){return r?r.replace(/\{\{(\w+)\}\}/g,(s,c)=>String(e[c]??"")):`<table style="font-size:12px">${(t??Object.keys(e).filter(s=>!["_id","id","geometry","coordinates"].includes(s))).map(s=>`<tr><td style="font-weight:600;padding-right:8px">${s}</td><td>${e[s]??""}</td></tr>`).join("")}</table>`}function t5({layers:e,eventHandlers:t}){const r=g1();return r?a.jsx(a.Fragment,{children:e.map((n,o)=>a.jsx(P1,{schema:n,scene:r,eventHandlers:t},n.id??`layer-${o}`))}):null}const r5=d.createContext(!1);function k1(){return d.useContext(r5)}const p0=new Set,S1={mark(e){e&&typeof e=="object"&&"$$typeof"in e&&p0.add(e),e&&typeof e=="function"&&p0.add(e)},check(e){if("position"in e.props)return!0;const t=e.type;if(p0.has(t))return!0;const r=t==null?void 0:t.displayName;return!!(typeof r=="string"&&r.endsWith("Control"))}};function E0({children:e,className:t,style:r}){const{controlGroups:n,otherChildren:o}=P2(e);return a.jsx(r5.Provider,{value:!0,children:a.jsxs("div",{className:`l7-control-container${t?` ${t}`:""}`,style:r,children:[Object.entries(n).map(([s,c])=>{const l=O2(s);return a.jsx("div",{className:`l7-control-anchor ${l}`,children:c},s)}),o]})})}function P2(e){const t={},r=[];return d.Children.forEach(e,(n,o)=>{var s;if(!d.isValidElement(n)){r.push(n);return}if(S1.check(n)){const c=((s=n.props)==null?void 0:s.position)??"topright";t[c]||(t[c]=[]),t[c].push(n)}else r.push(d.isValidElement(n)?d.cloneElement(n,{key:n.key??`non-ctrl-${o}`}):n)}),{controlGroups:t,otherChildren:r}}function F2(e){switch(e){case"topleft":return{vSide:"top",hSide:"left",direction:"column"};case"topright":return{vSide:"top",hSide:"right",direction:"column"};case"bottomleft":return{vSide:"bottom",hSide:"left",direction:"column"};case"bottomright":return{vSide:"bottom",hSide:"right",direction:"column"};case"topcenter":return{vSide:"top",hSide:"left",direction:"row"};case"bottomcenter":return{vSide:"bottom",hSide:"left",direction:"row"};case"lefttop":return{vSide:"top",hSide:"left",direction:"row"};case"leftbottom":return{vSide:"bottom",hSide:"left",direction:"row"};case"righttop":return{vSide:"top",hSide:"right",direction:"row"};case"rightbottom":return{vSide:"bottom",hSide:"right",direction:"row"};default:return{vSide:"top",hSide:"right",direction:"column"}}}function O2(e){if(e==="rightcenter")return"l7-rightcenter l7-column";if(e==="leftcenter")return"l7-leftcenter l7-column";const{vSide:t,hSide:r,direction:n}=F2(e);return`l7-${t} l7-${r} l7-${n}`}function A1(e){const t=g1(),r=d.useMemo(()=>{if(!t)return null;try{return t.mapService??null}catch{return null}},[t]),n=d.useCallback(()=>{var s;if(!t)return null;try{return r&&typeof r.getContainer=="function"?r.getContainer():((s=t.getContainer)==null?void 0:s.call(t))??null}catch{return null}},[t,r]),o=d.useMemo(()=>{if(e==="rightcenter")return"l7-rightcenter l7-column";if(e==="leftcenter")return"l7-leftcenter l7-column";const{vSide:s,hSide:c,direction:l}=$2(e??"topright");return`l7-${s} l7-${c} l7-${l}`},[e]);return{scene:t,mapsService:r,getMapContainer:n,positionClassName:o}}function $2(e){switch(e){case"topleft":return{vSide:"top",hSide:"left",direction:"column"};case"topright":return{vSide:"top",hSide:"right",direction:"column"};case"bottomleft":return{vSide:"bottom",hSide:"left",direction:"column"};case"bottomright":return{vSide:"bottom",hSide:"right",direction:"column"};case"topcenter":return{vSide:"top",hSide:"left",direction:"row"};case"bottomcenter":return{vSide:"bottom",hSide:"left",direction:"row"};case"lefttop":return{vSide:"top",hSide:"left",direction:"row"};case"leftbottom":return{vSide:"bottom",hSide:"left",direction:"row"};case"righttop":return{vSide:"top",hSide:"right",direction:"row"};case"rightbottom":return{vSide:"bottom",hSide:"right",direction:"row"};case"rightcenter":return{vSide:"top",hSide:"right",direction:"column"};case"leftcenter":return{vSide:"top",hSide:"left",direction:"column"};default:return{vSide:"top",hSide:"right",direction:"column"}}}function Z0({position:e="bottomright",zoomInText:t,zoomInTitle:r="Zoom in",zoomOutText:n,zoomOutTitle:o="Zoom out",showZoom:s=!1,className:c,style:l}){const{mapsService:i,positionClassName:u}=A1(e),f=k1(),[h,p]=d.useState(0),[g,C]=d.useState(!0),[v,y]=d.useState(!0),x=d.useRef(()=>{if(!i)return;const z=Math.floor(i.getZoom());p(z),C(i.getZoom()<i.getMaxZoom()),y(i.getZoom()>i.getMinZoom())});d.useEffect(()=>{if(!i)return;x.current();const z=()=>x.current();return i.on("zoomend",z),i.on("zoomchange",z),()=>{i.off("zoomend",z),i.off("zoomchange",z)}},[i]);const M=()=>{i&&i.getZoom()<i.getMaxZoom()&&i.zoomIn()},L=()=>{i&&i.getZoom()>i.getMinZoom()&&i.zoomOut()},S=a.jsxs("div",{className:`l7-control l7-control-zoom l7-control--glass${c?` ${c}`:""}`,style:l,children:[a.jsx("button",{className:"l7-button-control",onClick:M,disabled:!g,title:r,"aria-label":r,children:t??a.jsx("span",{className:"material-symbols-outlined",children:"add"})}),s&&a.jsx("button",{className:"l7-button-control l7-control-zoom__number",disabled:!0,children:h}),a.jsx("button",{className:"l7-button-control",onClick:L,disabled:!v,title:o,"aria-label":o,children:n??a.jsx("span",{className:"material-symbols-outlined",children:"remove"})})]});return f?S:a.jsx("div",{className:`l7-control-anchor ${u}`,children:S})}S1.mark(Z0);function D2(e,t){const[r,n]=e,[o,s]=t,c=63710088e-1,l=(s-n)*Math.PI/180,i=(o-r)*Math.PI/180,u=Math.sin(l/2)*Math.sin(l/2)+Math.cos(n*Math.PI/180)*Math.cos(s*Math.PI/180)*Math.sin(i/2)*Math.sin(i/2),f=2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u));return c*f}function h0(e){const t=Math.pow(10,Math.floor(Math.abs(e)).toString().length-1);let r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1,t*r}function _0({position:e="bottomleft",maxWidth:t=100,metric:r=!0,imperial:n=!1,updateWhenIdle:o=!1,className:s,style:c}){const{mapsService:l,positionClassName:i}=A1(e),u=k1(),[f,h]=d.useState([]),p=d.useRef(()=>{if(l)try{const v=l.getSize()[1]/2,y=l.containerToLngLat([0,v]),x=l.containerToLngLat([t,v]);if(!y||!x)return;const M=D2([y.lng,y.lat],[x.lng,x.lat]),L=[];if(r&&M){const S=h0(M),z=S<1e3?`${S} m`:`${S/1e3} km`;L.push({text:z,width:Math.round(t*(S/M))})}if(n&&M){const S=M*3.2808399;if(S>5280){const z=S/5280,Z=h0(z);L.push({text:`${Z} mi`,width:Math.round(t*(Z/z))})}else{const z=h0(S);L.push({text:`${z} ft`,width:Math.round(t*(z/S))})}}h(L)}catch{}});d.useEffect(()=>{if(!l)return;p.current();const C=()=>p.current(),v=o?"moveend":"mapmove",y=o?"zoomend":"zoomchange";return l.on(v,C),l.on(y,C),()=>{l.off(v,C),l.off(y,C)}},[l,t,r,n,o]);const g=a.jsx("div",{className:`l7-control l7-control-scale l7-control--glass${s?` ${s}`:""}`,style:c,children:f.map((C,v)=>a.jsx("div",{className:"l7-control-scale-line",style:{width:C.width},children:C.text},v))});return u?g:a.jsx("div",{className:`l7-control-anchor ${i}`,children:g})}S1.mark(_0);function R0({position:e="topright",container:t,className:r,style:n}){const{getMapContainer:o,positionClassName:s}=A1(e),c=k1(),[l,i]=d.useState(!1),u=d.useCallback(()=>t??o()??document.documentElement,[t,o]),f=d.useCallback(()=>{const p=u();l?document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():p.requestFullscreen?p.requestFullscreen():p.webkitRequestFullscreen&&p.webkitRequestFullscreen()},[l,u]);d.useEffect(()=>{const p=()=>{i(!!document.fullscreenElement)};return document.addEventListener("fullscreenchange",p),()=>document.removeEventListener("fullscreenchange",p)},[]);const h=a.jsx("div",{className:`l7-control l7-control--glass${r?` ${r}`:""}`,style:n,children:a.jsx("button",{className:"l7-button-control",onClick:f,title:l?"退出全屏":"全屏","aria-label":l?"退出全屏":"全屏",children:a.jsx("span",{className:"material-symbols-outlined",children:l?"fullscreen_exit":"fullscreen"})})});return c?h:a.jsx("div",{className:`l7-control-anchor ${s}`,children:h})}S1.mark(R0);function T0({position:e="topright",transform:t,className:r,style:n}){const{mapsService:o,positionClassName:s}=A1(e),c=k1(),l=d.useCallback(async()=>{if(!window.navigator.geolocation){console.warn("[aimapui] Geolocation is not supported by this browser");return}if(o)try{const u=await new Promise((v,y)=>{window.navigator.geolocation.getCurrentPosition(({coords:x})=>v(x),x=>y(x))}),{longitude:f,latitude:h}=u;if(isNaN(f)||isNaN(h))return;const p=[f,h],g=t?await t(p):p,C=o.getZoom();o.setZoomAndCenter(C>15?C:15,g)}catch(u){console.warn("[aimapui] Geolocation error:",u)}},[o,t]),i=a.jsx("div",{className:`l7-control l7-control--glass${r?` ${r}`:""}`,style:n,children:a.jsx("button",{className:"l7-button-control",onClick:l,title:"定位","aria-label":"定位",children:a.jsx("span",{className:"material-symbols-outlined",children:"my_location"})})});return c?i:a.jsx("div",{className:`l7-control-anchor ${s}`,children:i})}S1.mark(T0);const L0=[{text:"Standard",value:"normal",preview:"linear-gradient(135deg, #e8e8e8 0%, #c8d8e8 40%, #a8c8d8 100%)"},{text:"Light",value:"light",preview:"linear-gradient(135deg, #f0f4f8 0%, #d6e4f0 40%, #e8eff5 100%)"},{text:"Dark",value:"dark",preview:"linear-gradient(135deg, #0d1b2a 0%, #1b2838 40%, #162032 100%)"},{text:"Dark Blue",value:"darkblue",preview:"linear-gradient(135deg, #0a1628 0%, #0f2040 40%, #091a30 100%)"},{text:"Satellite",value:"satellite",preview:"linear-gradient(135deg, #1a3a1a 0%, #2d5a2d 40%, #1d4a2d 100%)"},{text:"Fresh",value:"fresh",preview:"linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 40%, #d4edda 100%)"}],B2=[{text:"Positron",value:"https://tiles.openfreemap.org/styles/positron",preview:"linear-gradient(135deg, #f2f3f0 0%, #d8dcd6 40%, #e8ebe5 100%)"},{text:"Bright",value:"https://tiles.openfreemap.org/styles/bright",preview:"linear-gradient(135deg, #e8e8e8 0%, #c8d8e8 40%, #a8c8d8 100%)"},{text:"Dark",value:"https://tiles.openfreemap.org/styles/dark",preview:"linear-gradient(135deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%)"},{text:"Liberty",value:"https://tiles.openfreemap.org/styles/liberty",preview:"linear-gradient(135deg, #f0ece2 0%, #dfd7c8 40%, #c8bfad 100%)"},{text:"Fiord",value:"https://tiles.openfreemap.org/styles/fiord",preview:"linear-gradient(135deg, #2c3e50 0%, #34495e 40%, #415b76 100%)"}],U2=[{text:"Light",value:"light",preview:"linear-gradient(135deg, #f0f4f8 0%, #d6e4f0 40%, #e8eff5 100%)"},{text:"Dark",value:"dark",preview:"linear-gradient(135deg, #0d1b2a 0%, #1b2838 40%, #162032 100%)"},{text:"Normal",value:"normal",preview:"linear-gradient(135deg, #e8e8e8 0%, #c8d8e8 40%, #a8c8d8 100%)"}];function N0({position:e="topright",options:t,defaultValue:r,onThemeChange:n,className:o,style:s}){const{mapsService:c,positionClassName:l}=A1(e),i=k1(),[u,f]=d.useState(!1),[h,p]=d.useState(r??""),[g,C]=d.useState(t??[]),v=d.useRef(null);d.useEffect(()=>{var L;if(t&&t.length>0){C(t);return}if(c){try{const S=(L=c.getMapStyleConfig)==null?void 0:L.call(c);if(S&&typeof S=="object"){const z=Object.entries(S).filter(([,Z])=>typeof Z=="string").map(([Z,b])=>{const j=L0.find(T=>T.value===b);return{text:Z,value:b,preview:j==null?void 0:j.preview}});if(z.length>0){C(z);return}}}catch{}C(L0)}},[c,t]),d.useEffect(()=>{var L;if(r){p(r);return}if(c)try{const S=(L=c.getMapStyle)==null?void 0:L.call(c);S&&p(S)}catch{}},[c,r]),d.useEffect(()=>{if(!u)return;const L=S=>{v.current&&!v.current.contains(S.target)&&f(!1)};return document.addEventListener("mousedown",L),()=>document.removeEventListener("mousedown",L)},[u]);const y=d.useCallback(L=>{if(p(L),c)try{c.setMapStyle(L)}catch{}n==null||n(L)},[c,n]),x=W2(e),M=a.jsxs("div",{ref:v,className:`l7-control l7-control--glass${o?` ${o}`:""}`,style:s,children:[a.jsx("button",{className:"l7-button-control",onClick:()=>f(!u),title:"地图样式","aria-label":"地图样式",children:a.jsx("span",{className:"material-symbols-outlined",children:"palette"})}),u&&g.length>0&&a.jsx("div",{className:`l7-popper ${x}`,children:a.jsxs("div",{className:"l7-popper-content l7-theme-panel",children:[a.jsxs("div",{className:"l7-theme-panel__title",children:[a.jsx("span",{className:"material-symbols-outlined",style:{fontSize:16},children:"palette"}),"Map Themes"]}),a.jsx("div",{className:"l7-theme-panel__grid",children:g.map(L=>{const S=h===L.value,z=L.preview??"linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%)";return a.jsxs("button",{className:`l7-theme-card${S?" l7-theme-card--active":""}`,onClick:()=>y(L.value),title:L.text,children:[a.jsx("div",{className:"l7-theme-card__preview",style:{background:z}}),S&&a.jsx("span",{className:"material-symbols-outlined l7-theme-card__check",style:{fontVariationSettings:"'FILL' 1"},children:"check_circle"}),a.jsx("span",{className:"l7-theme-card__label",children:L.text})]},L.value)})})]})})]});return i?M:a.jsx("div",{className:`l7-control-anchor ${l}`,children:M})}function W2(e){switch(e){case"topleft":return"l7-popper-right l7-popper-start";case"topright":return"l7-popper-left l7-popper-start";case"bottomleft":return"l7-popper-right l7-popper-end";case"bottomright":return"l7-popper-left l7-popper-end";case"lefttop":return"l7-popper-bottom l7-popper-start";case"leftbottom":return"l7-popper-top l7-popper-start";case"righttop":return"l7-popper-bottom l7-popper-end";case"rightbottom":return"l7-popper-top l7-popper-end";default:return"l7-popper-bottom"}}S1.mark(N0);function I0({position:e="bottomleft",precision:t=6,transform:r,className:n,style:o}){const c=r??(([p,g])=>[+p.toFixed(t),+g.toFixed(t)]),{mapsService:l,positionClassName:i}=A1(e),u=k1(),f=d.useRef(null);d.useEffect(()=>{if(!l)return;const p=g=>{const C=g.lngLat??g.lnglat;if(!C)return;const v=[C.lng,C.lat],y=c(v);f.current&&(f.current.innerText=y.join(", "))};return l.on("mousemove",p),()=>{l.off("mousemove",p)}},[l,c]);const h=a.jsx("div",{ref:f,className:`l7-control l7-control-mouse-location l7-control--glass${n?` ${n}`:""}`,style:o,children:" "});return u?h:a.jsx("div",{className:`l7-control-anchor ${i}`,children:h})}S1.mark(I0);function P0({position:e="topright",format:t="png",onExport:r,className:n,style:o}){const{scene:s,mapsService:c,positionClassName:l}=A1(e),i=k1(),u=t==="jpg"?"jpeg":"png",f=d.useCallback(async()=>{var g,C;try{const v=c?await((g=c.exportMap)==null?void 0:g.call(c,u)):void 0,y=s?await((C=s.exportPng)==null?void 0:C.call(s,u)):void 0,x=[v,y].filter(M=>!!M);return x.length===0?void 0:x.length===1?x[0]:q2(x,u)}catch{return}},[s,c,u]),h=d.useCallback(async()=>{var C;const g=await f();if(r&&g){r(g);return}if(g){const v=document.createElement("a");v.download=`aimap-export.${u==="jpeg"?"jpg":"png"}`,v.href=g,v.click()}else try{if(c){const v=(C=c.getContainer)==null?void 0:C.call(c),y=v==null?void 0:v.querySelector("canvas");if(y&&typeof y.toDataURL=="function"){const x=y.toDataURL(`image/${u}`),M=document.createElement("a");M.download=`aimap-export.${u==="jpeg"?"jpg":"png"}`,M.href=x,M.click()}}}catch(v){console.warn("[aimapui] Export image failed:",v)}},[f,r,u,c]),p=a.jsx("div",{className:`l7-control l7-control--glass${n?` ${n}`:""}`,style:o,children:a.jsx("button",{className:"l7-button-control",onClick:h,title:"导出图片","aria-label":"导出图片",children:a.jsx("span",{className:"material-symbols-outlined",children:"photo_camera"})})});return i?p:a.jsx("div",{className:`l7-control-anchor ${l}`,children:p})}async function q2(e,t){const r=document.querySelector(".l7-map")||document.documentElement,{width:n=0,height:o=0}=r.getBoundingClientRect(),s=document.createElement("canvas");s.width=n,s.height=o;const c=s.getContext("2d");return(await Promise.all(e.map(i=>new Promise(u=>{const f=new Image;f.onload=()=>u(f),f.src=i})))).forEach(i=>{c==null||c.drawImage(i,0,0,n,o)}),s.toDataURL(`image/${t}`)}S1.mark(P0);function F0({position:e="topright",layers:t,onToggle:r,onOpacityChange:n,className:o,style:s}){const[c,l]=d.useState(!1),i=d.useRef(null),[u,f]=d.useState(()=>{const y={};return t.forEach(x=>{y[x.id]=x.opacity??1}),y});d.useEffect(()=>{f(y=>{const x={...y};return t.forEach(M=>{M.opacity!==void 0&&(x[M.id]=M.opacity)}),x})},[t]);const{positionClassName:h}=A1(e),p=k1();if(d.useEffect(()=>{if(!c)return;const y=x=>{i.current&&!i.current.contains(x.target)&&l(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[c]),!t.length)return null;const g=Y2(e),C=(y,x)=>{f(M=>({...M,[y]:x})),n==null||n(y,x)},v=a.jsxs("div",{ref:i,className:`l7-control l7-control--glass${o?` ${o}`:""}`,style:s,children:[a.jsx("button",{className:"l7-button-control",onClick:()=>l(!c),title:"图层控制","aria-label":"图层控制",children:a.jsx("span",{className:"material-symbols-outlined",children:"layers"})}),c&&a.jsx("div",{className:`l7-popper ${g}`,children:a.jsxs("div",{className:"l7-popper-content l7-layer-panel",children:[a.jsxs("div",{className:"l7-layer-panel__title",children:[a.jsx("span",{className:"material-symbols-outlined",style:{fontSize:16},children:"layers"}),"Layers"]}),a.jsx("div",{className:"l7-layer-panel__list",children:t.map(y=>{const x=y.visible!==!1,M=u[y.id]??y.opacity??1,L=y.icon??"layers";return a.jsxs("div",{className:`l7-layer-item${x?"":" l7-layer-item--disabled"}`,children:[a.jsxs("div",{className:"l7-layer-item__header",children:[a.jsx("span",{className:"material-symbols-outlined l7-layer-item__icon",children:L}),a.jsx("span",{className:"l7-layer-item__name",children:y.name??y.id}),a.jsxs("label",{className:"l7-layer-toggle",children:[a.jsx("input",{type:"checkbox",checked:x,onChange:()=>r(y.id,!x)}),a.jsx("span",{className:"l7-layer-toggle__track"})]})]}),n&&a.jsxs("div",{className:"l7-layer-item__slider",children:[a.jsx("span",{className:"material-symbols-outlined",style:{fontSize:14},children:"opacity"}),a.jsx("input",{type:"range",min:0,max:100,value:Math.round(M*100),onChange:S=>C(y.id,+S.target.value/100),className:"l7-layer-slider"})]})]},y.id)})})]})})]});return p?v:a.jsx("div",{className:`l7-control-anchor ${h}`,children:v})}function Y2(e){switch(e){case"topleft":return"l7-popper-right l7-popper-start";case"topright":return"l7-popper-left l7-popper-start";case"bottomleft":return"l7-popper-right l7-popper-end";case"bottomright":return"l7-popper-left l7-popper-end";case"lefttop":return"l7-popper-bottom l7-popper-start";case"leftbottom":return"l7-popper-top l7-popper-start";case"righttop":return"l7-popper-bottom l7-popper-end";case"rightbottom":return"l7-popper-top l7-popper-end";default:return"l7-popper-bottom"}}S1.mark(F0);function n5({controls:e,layers:t,onLayerToggle:r,containerRef:n}){const o=g1();return a.jsx(E0,{children:e.map((s,c)=>a.jsx(G2,{control:s,layers:t,onLayerToggle:r,scene:o,containerRef:n},`${s.type}-${c}`))})}function G2({control:e,layers:t,onLayerToggle:r,scene:n,containerRef:o}){var c,l,i,u,f;const s=e.position??void 0;switch(e.type){case"zoom":return a.jsx(Z0,{position:s??"bottomright"});case"scale":return a.jsx(_0,{position:s??"bottomleft",maxWidth:(c=e.options)==null?void 0:c.maxWidth,metric:((l=e.options)==null?void 0:l.unit)!=="imperial",imperial:((i=e.options)==null?void 0:i.unit)==="imperial"});case"fullscreen":return a.jsx(R0,{position:s??"topright",container:o==null?void 0:o.current});case"geoLocate":return a.jsx(T0,{position:s??"topright"});case"mapTheme":return a.jsx(N0,{position:s??"topright"});case"mouseLocation":return a.jsx(I0,{position:s??"bottomleft",precision:(u=e.options)==null?void 0:u.precision});case"exportImage":return a.jsx(P0,{position:s??"topright",format:(f=e.options)==null?void 0:f.format});case"layerSwitch":return a.jsx(F0,{position:s??"topright",layers:t.map((h,p)=>({id:h.id??`layer-${p}`,name:h.name,visible:h.visible})),onToggle:r??(()=>{})});default:return null}}var D1={},fe;function J2(){if(fe)return D1;fe=1;var e=S0;if(process.env.NODE_ENV==="production")D1.createRoot=e.createRoot,D1.hydrateRoot=e.hydrateRoot;else{var t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;D1.createRoot=function(r,n){t.usingClientEntryPoint=!0;try{return e.createRoot(r,n)}finally{t.usingClientEntryPoint=!1}},D1.hydrateRoot=function(r,n,o){t.usingClientEntryPoint=!0;try{return e.hydrateRoot(r,n,o)}finally{t.usingClientEntryPoint=!1}}}return D1}var K2=J2();const T1={aerialway:"M13,5H8V2.6c0.1854-0.1047,0.3325-0.2659,0.42-0.46L13.5,1.5C13.7761,1.5,14,1.2761,14,1s-0.2239-0.5-0.5-0.5L8.28,1.15 C8.0954,0.9037,7.8077,0.7562,7.5,0.75C7.0963,0.752,6.7334,0.9966,6.58,1.37L1.5,2C1.2239,2,1,2.2239,1,2.5S1.2239,3,1.5,3 l5.22-0.65C6.7967,2.4503,6.8917,2.5351,7,2.6V5H2C1.4477,5,1,5.4477,1,6v7c0,0.5523,0.4477,1,1,1h11c0.5523,0,1-0.4477,1-1V6 C14,5.4477,13.5523,5,13,5z M7,11H3V7h4V11z M12,11H8V7h4V11z",airfield:"M6.8182,0.6818H4.7727 C4.0909,0.6818,4.0909,0,4.7727,0h5.4545c0.6818,0,0.6818,0.6818,0,0.6818H8.1818c0,0,0.8182,0.5909,0.8182,1.9545V4h6v2L9,8l-0.5,5 l2.5,1.3182V15H4v-0.6818L6.5,13L6,8L0,6V4h6V2.6364C6,1.2727,6.8182,0.6818,6.8182,0.6818z",airport:"M15,6.8182L15,8.5l-6.5-1 l-0.3182,4.7727L11,14v1l-3.5-0.6818L4,15v-1l2.8182-1.7273L6.5,7.5L0,8.5V6.8182L6.5,4.5v-3c0,0,0-1.5,1-1.5s1,1.5,1,1.5v2.8182 L15,6.8182z","alcohol-shop":"M14,4h-4v3.44l0,0c0,0,0,0,0,0.06c0.003,0.9096,0.6193,1.7026,1.5,1.93V13H11c-0.2761,0-0.5,0.2239-0.5,0.5 S10.7239,14,11,14h2c0.2761,0,0.5-0.2239,0.5-0.5S13.2761,13,13,13h-0.5V9.43c0.8807-0.2274,1.497-1.0204,1.5-1.93c0,0,0,0,0-0.06 l0,0V4z M13,7.5c0,0.5523-0.4477,1-1,1s-1-0.4477-1-1V5h2V7.5z M5.5,2.5V2C5.7761,2,6,1.7761,6,1.5S5.7761,1,5.5,1V0.5 C5.5,0.2239,5.2761,0,5,0H4C3.7239,0,3.5,0.2239,3.5,0.5V1C3.2239,1,3,1.2239,3,1.5S3.2239,2,3.5,2v0.5C3.5,3.93,1,5.57,1,7v6 c0,0.5523,0.4477,1,1,1h5c0.5318-0.0465,0.9535-0.4682,1-1V7C8,5.65,5.5,3.85,5.5,2.5z M4.5,12C3.1193,12,2,10.8807,2,9.5 S3.1193,7,4.5,7S7,8.1193,7,9.5S5.8807,12,4.5,12z","american-football":"M7.53,3C3.09,3,1,7.5,1,7.5S3.09,12,7.53,12S14,7.5,14,7.5S12,3,7.53,3z M11,7v1.5C11,8.7761,10.7761,9,10.5,9 S10,8.7761,10,8.5V8H8v0.5C8,8.7761,7.7761,9,7.5,9S7,8.7761,7,8.5V8H5v0.5C5,8.7761,4.7761,9,4.5,9S4,8.7761,4,8.5v-2 C4,6.2239,4.2239,6,4.5,6S5,6.2239,5,6.5V7h2V6.5C7,6.2239,7.2239,6,7.5,6S8,6.2239,8,6.5V7h2V6.5C10,6.2239,10.2239,6,10.5,6 S11,6.2239,11,6.5V7z","amusement-park":"M13.5 7C13.5 9.02798 12.4939 10.821 10.9535 11.907L12 13.9999H3L4.04645 11.907C2.50613 10.821 1.5 9.02798 1.5 7C1.5 3.68629 4.18629 1 7.5 1C10.8137 1 13.5 3.68629 13.5 7ZM12.2984 7.125H8.99487C8.96844 7.4453 8.84138 7.73706 8.64538 7.96861L10.9814 10.3046C11.7719 9.47202 12.2669 8.35614 12.2984 7.125ZM10.8046 10.4814L8.46861 8.14538C8.33136 8.26156 8.17296 8.35351 8 8.41465V11.7743C9.08206 11.6623 10.0574 11.1908 10.8046 10.4814ZM6.00513 7.125H2.7016C2.73307 8.35614 3.2281 9.47202 4.01864 10.3046L6.35462 7.96861C6.15862 7.73706 6.03156 7.4453 6.00513 7.125ZM4.19542 10.4814C4.94259 11.1908 5.91794 11.6623 7 11.7743V8.41465C6.82704 8.35351 6.66864 8.26156 6.53139 8.14538L4.19542 10.4814ZM12.2984 6.875C12.2669 5.64386 11.7719 4.52798 10.9814 3.69542L8.64538 6.03139C8.84138 6.26294 8.96844 6.5547 8.99487 6.875H12.2984ZM10.8046 3.51864C9.97202 2.7281 8.85614 2.23307 7.625 2.2016V5.50513C7.9453 5.53156 8.23706 5.65862 8.46861 5.85462L10.8046 3.51864ZM7.375 5.50513V2.2016C6.14386 2.23307 5.02798 2.7281 4.19542 3.51864L6.53139 5.85462C6.76294 5.65862 7.0547 5.53156 7.375 5.50513ZM6.35462 6.03139L4.01864 3.69542C3.2281 4.52798 2.73307 5.64386 2.7016 6.875H6.00513C6.03156 6.5547 6.15862 6.26294 6.35462 6.03139Z","animal-shelter":"M 7.528,0.895 9,2 h 1 L 11.473,0.896 C 11.689502,0.73373378 12,0.8884387 12,1.159 V 4.5 c 0,0.722 -0.522,1.184 -1,1.573 V 10 l 0.8,2.4 0.706,0.353 c 0.302922,0.151551 0.494181,0.461283 0.494,0.8 C 13,13.8 12.8,14 12.553,14 H 4.25 C 3.017,14 2,13 2,11.713 2,9.5424588 2.4530836,7.9300225 2.745,6.845 2.8910836,6.3020225 3.0352907,5.8946079 3.138,5.614 3.1956028,5.4566256 3.253276,5.3110749 3.33,5.165 3.7788405,4.3104525 5.0743666,4.9556117 4.672,5.833 4.6232251,5.9393571 4.5778358,6.0512046 4.539,6.15 4.4477518,6.3821288 4.325004,6.7430011 4.193,7.234 3.947004,8.1490011 3.674,9.521 3.558,11.367 3.926,9.307 5.98,7.239 7.635,5.758 7.29,5.432 7.001,5.038 7.001,4.5 l 0,-3.342 c 0,-0.2705613 0.3106215,-0.42543084 0.527,-0.263 z",aquarium:"M1.13505 8.57743C1.98919 6.14741 4.72075 2 10 2C12.6518 2 14 3 14 3C14 3 11.6865 3 10.6203 3.44512C10.54 3.47864 10.4747 3.53744 10.4329 3.61375C10.2432 3.95995 9.75252 5.04744 10.3231 6.19506C10.4172 6.38427 10.6364 6.46548 10.8383 6.40312C11.3474 6.24589 12.3301 5.89727 13.0761 5.35729C13.2973 5.1972 13.615 5.25773 13.6797 5.52298C13.9401 6.59045 13.9401 8.40955 13.6797 9.47702C13.615 9.74227 13.2973 9.8028 13.0761 9.64271C12.3301 9.10273 11.3474 8.75411 10.8383 8.59688C10.6364 8.53452 10.4172 8.61573 10.3231 8.80494C9.75252 9.95256 10.2432 11.04 10.4329 11.3863C10.4747 11.4626 10.54 11.5214 10.6203 11.5549C11.6865 12 14 12 14 12C13.5 12.3333 11.8 13 9.00001 13C4.51722 13 2.02736 10.3427 1.25972 9.35985C1.08546 9.13673 1.04117 8.84452 1.13505 8.57743ZM5.00001 9C5.69037 9 6.25001 8.44036 6.25001 7.75C6.25001 7.05964 5.69037 6.5 5.00001 6.5C4.30966 6.5 3.75001 7.05964 3.75001 7.75C3.75001 8.44036 4.30966 9 5.00001 9Z",arrow:"M8.29289 2.29289C8.68342 1.90237 9.31658 1.90237 9.70711 2.29289L14.2071 6.79289C14.5976 7.18342 14.5976 7.81658 14.2071 8.20711L9.70711 12.7071C9.31658 13.0976 8.68342 13.0976 8.29289 12.7071C7.90237 12.3166 7.90237 11.6834 8.29289 11.2929L11 8.5H1.5C0.947715 8.5 0.5 8.05228 0.5 7.5C0.5 6.94772 0.947715 6.5 1.5 6.5H11L8.29289 3.70711C7.90237 3.31658 7.90237 2.68342 8.29289 2.29289Z","art-gallery":"m10.71 3-2.86-2.849996c-.1945-.1960996-.511-.1973996-.7071-.0029-.001.001-.0019.0019-.0029.0029l-2.85 2.849996h-2.79c-.2761 0-.5.2239-.5.5v9c0 .2761.2239.5.5.5h12c.2761 0 .5-.2239.5-.5v-9c0-.2761-.2239-.5-.5-.5zm-3.21-1.79 1.79 1.79h-3.58zm5.5 10.79h-11v-8h11zm-8-5c-.5523 0-1-.4477-1-1s.4477-1 1-1 1 .4477 1 1-.4477 1-1 1zm7 4h-7.5l1.5-3 1.25 2.5 2.25-4.5z",attraction:"M6,2C5.446,2,5.2478,2.5045,5,3L4.5,4h-2C1.669,4,1,4.669,1,5.5v5C1,11.331,1.669,12,2.5,12h10 c0.831,0,1.5-0.669,1.5-1.5v-5C14,4.669,13.331,4,12.5,4h-2L10,3C9.75,2.5,9.554,2,9,2H6z M2.5,5C2.7761,5,3,5.2239,3,5.5 S2.7761,6,2.5,6S2,5.7761,2,5.5S2.2239,5,2.5,5z M7.5,5c1.6569,0,3,1.3431,3,3s-1.3431,3-3,3s-3-1.3431-3-3S5.8431,5,7.5,5z M7.5,6.5C6.6716,6.5,6,7.1716,6,8l0,0c0,0.8284,0.6716,1.5,1.5,1.5l0,0C8.3284,9.5,9,8.8284,9,8l0,0C9,7.1716,8.3284,6.5,7.5,6.5 L7.5,6.5z",bakery:"M5.294,4.382,6,9.5a.979.979,0,0,0,1,1H8a.979.979,0,0,0,1-1l.706-5.118C9.706,3,7.5,3,7.5,3S5.291,3,5.294,4.382ZM3.5,5C2,5,2,6,2,6l1,4H4.5a.793.793,0,0,0,.794-.765L4.5,5Zm-2,2.5a1.533,1.533,0,0,0-1.059.412A1.366,1.366,0,0,0,0,8.794V11H.882A1.02,1.02,0,0,0,2,10ZM11.5,5C13,5,13,6,13,6l-1,4H10.5a.793.793,0,0,1-.794-.765L10.5,5Zm2,2.5a1.533,1.533,0,0,1,1.059.412A1.366,1.366,0,0,1,15,8.794V11h-.882A1.02,1.02,0,0,1,13,10Z",bank:"M1,3C0.446,3,0,3.446,0,4v7c0,0.554,0.446,1,1,1h13c0.554,0,1-0.446,1-1V4c0-0.554-0.446-1-1-1H1z M1,4h1.5 C2.7761,4,3,4.2239,3,4.5S2.7761,5,2.5,5S2,4.7761,2,4.5L1.5,5C1.7761,5,2,5.2239,2,5.5S1.7761,6,1.5,6S1,5.7761,1,5.5V4z M7.5,4 C8.8807,4,10,5.567,10,7.5l0,0C10,9.433,8.8807,11,7.5,11S5,9.433,5,7.5S6.1193,4,7.5,4z M12.5,4H14v1.5C14,5.7761,13.7761,6,13.5,6 S13,5.7761,13,5.5S13.2239,5,13.5,5L13,4.5C13,4.7761,12.7761,5,12.5,5S12,4.7761,12,4.5S12.2239,4,12.5,4z M7.5,5.5 c-0.323,0-0.5336,0.1088-0.6816,0.25h1.3633C8.0336,5.6088,7.823,5.5,7.5,5.5z M6.625,6C6.5795,6.091,6.5633,6.1711,6.5449,6.25 h1.9102C8.4367,6.1711,8.4205,6.091,8.375,6H6.625z M6.5,6.5v0.25h2V6.5H6.5z M6.5,7v0.25h2V7H6.5z M6.5,7.5v0.25h2V7.5H6.5z M6.5,8 L6.25,8.25h2L8.5,8H6.5z M6,8.5c0,0,0.0353,0.1024,0.1016,0.25H8.375L8,8.5H6z M1.5,9C1.7761,9,2,9.2239,2,9.5S1.7761,10,1.5,10 L2,10.5C2,10.2239,2.2239,10,2.5,10S3,10.2239,3,10.5S2.7761,11,2.5,11H1V9.5C1,9.2239,1.2239,9,1.5,9z M6.2383,9 C6.2842,9.0856,6.3144,9.159,6.375,9.25h2.2676C8.7092,9.1121,8.75,9,8.75,9H6.2383z M13.5,9C13.7761,9,14,9.2239,14,9.5V11h-1.5 c-0.2761,0-0.5-0.2239-0.5-0.5s0.2239-0.5,0.5-0.5s0.5,0.2239,0.5,0.5l0.5-0.5C13.2239,10,13,9.7761,13,9.5S13.2239,9,13.5,9z M6.5664,9.5c0.0786,0.0912,0.1647,0.1763,0.2598,0.25h1.4199C8.3462,9.6727,8.4338,9.5883,8.5,9.5H6.5664z","bank-JP":"M12.2808,3.3763l-2.9,3.625H11.25a.75.75,0,0,1,0,1.5H8.5v1h2.75a.75.75,0,0,1,0,1.5H8.5v1.25a1,1,0,0,1-2,0v-1.25H3.75a.75.75,0,1,1,0-1.5H6.5v-1H3.75a.75.75,0,0,1,0-1.5H5.6193l-2.9-3.625A1,1,0,0,1,4.2771,2.1216l.0037.0047L7.5,6.15l3.2192-4.024a1,1,0,0,1,1.5653,1.2453Z",bar:"M7.5,1c-2,0-7,0.25-6.5,0.75L7,8v4 c0,1-3,0.5-3,2h7c0-1.5-3-1-3-2V8l6-6.25C14.5,1.25,9.5,1,7.5,1z M7.5,2c2.5,0,4.75,0.25,4.75,0.25L11.5,3h-8L2.75,2.25 C2.75,2.25,5,2,7.5,2z",barrier:"m13 2h-11c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711v6c0 .26522.10536.51957.29289.70711.18754.18753.44189.29289.70711.29289h1v2.5c0 .1326.05268.2598.14645.3536.09376.0937.22094.1464.35355.1464s.25979-.0527.35355-.1464c.09377-.0938.14645-.221.14645-.3536v-.5h7v.5c0 .1326.0527.2598.1464.3536.0938.0937.221.1464.3536.1464s.2598-.0527.3536-.1464c.0937-.0938.1464-.221.1464-.3536v-2.5h1c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711v-6c0-.26522-.1054-.51957-.2929-.70711-.1875-.18753-.4419-.29289-.7071-.29289zm0 1v2l-2-2zm-3.5 0 3.5 3.5v2.5l-6-6zm-4 6-3.5-3.5v-2.5l6 6zm-3.5 0v-2l2 2zm9 2h-7v-1h7zm-.207-2h-1.293l-6-6h2l6 6z",baseball:"m9.00003 3.5c0 .8284-.6716 1.5-1.5 1.5s-1.5-.6716-1.5-1.5.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5zm-3-3.22c0-.1546-.1254-.28-.28-.28-.0979.0262-.1852.0821-.25.16l-2.47 4.43c-.0059.0431-.0059.0869 0 .13 0 .1546.1254.28.28.28.1015-.0243.1926-.0803.26-.16l2.46-4.43c.006-.0431.006-.0869 0-.13zm5.89997 13.92-2.89997-7.81c-.0474-.2273-.2478-.3901-.48-.39h-5c-.2761 0-.5.2239-.5.5s.2239.5.5.5h2.48l1.45 2.51-4.27 4.61c-.1141.0932-.1802.2327-.18.38 0 .2761.2239.5.5.5.1224-.0006.2401-.047.33-.13l4.45-4.15 2.75997 4c.0895.1592.2574.2584.44.26.2796.0002.5092-.2207.52-.5-.0042-.1013-.039-.199-.1-.28z",basketball:"M3.66001 7H2.03C2.11012 6.02077 2.45969 5.05281 3.04001 4.26C3.39039 5.12432 3.59972 6.0693 3.66001 7ZM4.73501 7H7V2C5.78985 2.1061 4.72468 2.61284 3.83501 3.44C4.36491 4.54578 4.67079 5.77549 4.73501 7ZM8 2V7H10.265C10.3292 5.77549 10.6351 4.54578 11.165 3.44C10.2753 2.61284 9.21014 2.1061 8 2ZM11.96 4.26C11.6096 5.12432 11.4003 6.0693 11.34 7H12.97C12.8899 6.02077 12.5403 5.05281 11.96 4.26ZM14 8.49919C14 8.77489 13.7765 8.99838 13.5008 8.99838H11.72L10.96 10.5184V12.8984C10.9578 12.9736 10.934 13.0466 10.8915 13.1087C10.8489 13.1707 10.7894 13.2192 10.72 13.2484C10.6743 13.2607 10.6273 13.2674 10.58 13.2684C10.5312 13.2706 10.4825 13.2619 10.4375 13.2428C10.3925 13.2238 10.3524 13.195 10.32 13.1584L9.3 12.1484L7.71 13.2084C7.64698 13.2476 7.57423 13.2684 7.5 13.2684C7.42577 13.2684 7.35303 13.2476 7.29 13.2084L5.7 12.1484L4.68 13.1584C4.62956 13.211 4.56471 13.2477 4.49357 13.2637C4.42243 13.2797 4.34814 13.2744 4.28 13.2484C4.21063 13.2192 4.1511 13.1707 4.10854 13.1087C4.06599 13.0466 4.04219 12.9736 4.04 12.8984V10.5184L3.28 8.99838H1.49919C1.2235 8.99838 1 8.77489 1 8.4992C0.999998 8.2235 1.22349 8 1.49919 8H13.5008C13.7765 8 14 8.2235 14 8.49919ZM6.86 8.99838H4.12L4.75 10.2684C4.7772 10.3173 4.791 10.3725 4.79 10.4284V11.9884L5.35 11.4384L6.86 8.99838ZM8.84 11.5484L7.5 9.38838L6.16 11.5484L7.5 12.4484L8.84 11.5484ZM10.89 8.99838H8.14L9.65 11.4384L10.21 11.9884V10.4284C10.209 10.3725 10.2228 10.3173 10.25 10.2684L10.89 8.99838Z",bbq:"M9.32,7.655C10.8782,7.108,11.9471,5.6506,12,4H3c0.053,1.6299,1.0978,3.0728,2.63,3.631L4.923,9.044 c-1.3571-0.2355-2.6482,0.6737-2.8837,2.0308s0.6737,2.6482,2.0308,2.8837C4.9927,14.1187,5.9273,13.7485,6.49,13h4.223l0.335,0.717 c0.0836,0.1735,0.2594,0.2836,0.452,0.283c0.0733,0.0003,0.1457-0.0158,0.212-0.047c0.2497-0.117,0.3575-0.4141,0.241-0.664 L9.32,7.655z M4.5,12.75c-0.6904,0-1.25-0.5596-1.25-1.25s0.5596-1.25,1.25-1.25s1.25,0.5596,1.25,1.25 C5.7484,12.1897,5.1897,12.7484,4.5,12.75z M6.95,12c0.2066-1.007-0.2268-2.0374-1.091-2.594L6.6,7.923 c0.577,0.1042,1.168,0.1042,1.745,0l1.9,4.07L6.95,12z M4.75,1C4.6119,1,4.5,1.1119,4.5,1.25c0,0.5-0.5,0.5-0.5,0.5c-1,0-1,1-1,1 C3,2.8881,3.1119,3,3.25,3S3.5,2.8881,3.5,2.75c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C5,1.1119,4.8881,1,4.75,1z M6.75,1 C6.6119,1,6.5,1.1119,6.5,1.25c0,0.5-0.5,0.5-0.5,0.5c-1,0-1,1-1,1C5,2.8881,5.1119,3,5.25,3S5.5,2.8881,5.5,2.75 c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C7,1.1119,6.8881,1,6.75,1z M8.75,1C8.6119,1,8.5,1.1119,8.5,1.25c0,0.5-0.5,0.5-0.5,0.5 c-1,0-1,1-1,1C7,2.8881,7.1119,3,7.25,3S7.5,2.8881,7.5,2.75c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C9,1.1119,8.8881,1,8.75,1z M10.75,1 c-0.1381,0-0.25,0.1119-0.25,0.25c0,0.5-0.5,0.5-0.5,0.5c-1,0-1,1-1,1C9,2.8881,9.1119,3,9.25,3S9.5,2.8881,9.5,2.75 c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C11,1.1119,10.8881,1,10.75,1z M12.75,1c-0.1381,0-0.25,0.1119-0.25,0.25c0,0.5-0.5,0.5-0.5,0.5 c-1,0-1,1-1,1C11,2.8881,11.1119,3,11.25,3s0.25-0.1119,0.25-0.25c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C13,1.1119,12.8881,1,12.75,1z",beach:"M5.3608,1.67l-.01,4.02a4.4523,4.4523,0,0,0-1.1-.11c-.37.1-.74.63-1.1.76A4.2019,4.2019,0,0,1,5.3608,1.67Zm2.41-.64,2.03,3.45a3.1832,3.1832,0,0,1,.84-.61c.36-.1.94.17,1.34.11A4.2018,4.2018,0,0,0,7.7708,1.03ZM1.0008,13h13c-.66-.66-2.64-1.11-4.34-1.33l-1.87-7c.52-.05,1.15.03,1.53,0l-2.11-3.6h-.01a6.1743,6.1743,0,0,0-.7.14,4.3792,4.3792,0,0,0-.64.22l-.01,4.15c.35-.17.84-.54,1.3-.74l1.8,6.74c-.58-.05-1.09-.08-1.45-.08C6.0308,11.5,2.0008,12,1.0008,13Z",beer:"M12,5V2c0,0-1-1-4.5-1S3,2,3,2v3c0.0288,1.3915,0.3706,2.7586,1,4c0.6255,1.4348,0.6255,3.0652,0,4.5c0,0,0,1,3.5,1 s3.5-1,3.5-1c-0.6255-1.4348-0.6255-3.0652,0-4.5C11.6294,7.7586,11.9712,6.3915,12,5z M7.5,13.5 c-0.7966,0.035-1.5937-0.0596-2.36-0.28c0.203-0.7224,0.304-1.4696,0.3-2.22h4.12c-0.004,0.7504,0.097,1.4976,0.3,2.22 C9.0937,13.4404,8.2966,13.535,7.5,13.5z M7.5,5C6.3136,5.0299,5.1306,4.8609,4,4.5v-2C5.131,2.1411,6.3137,1.9722,7.5,2 C8.6863,1.9722,9.869,2.1411,11,2.5v2C9.8694,4.8609,8.6864,5.0299,7.5,5z",bicycle:"M7.5,2c-0.6761-0.01-0.6761,1.0096,0,1H9v1.2656l-2.8027,2.334L5.2226,4H5.5c0.6761,0.01,0.6761-1.0096,0-1h-2 c-0.6761-0.01-0.6761,1.0096,0,1h0.6523L5.043,6.375C4.5752,6.1424,4.0559,6,3.5,6C1.5729,6,0,7.5729,0,9.5S1.5729,13,3.5,13 S7,11.4271,7,9.5c0-0.6699-0.2003-1.2911-0.5293-1.8242L9.291,5.3262l0.4629,1.1602C8.7114,7.0937,8,8.2112,8,9.5 c0,1.9271,1.5729,3.5,3.5,3.5S15,11.4271,15,9.5S13.4271,6,11.5,6c-0.2831,0-0.5544,0.0434-0.8184,0.1074L10,4.4023V2.5 c0-0.2761-0.2239-0.5-0.5-0.5H7.5z M3.5,7c0.5923,0,1.1276,0.2119,1.5547,0.5527l-1.875,1.5625 c-0.5109,0.4273,0.1278,1.1945,0.6406,0.7695l1.875-1.5625C5.8835,8.674,6,9.0711,6,9.5C6,10.8866,4.8866,12,3.5,12S1,10.8866,1,9.5 S2.1133,7,3.5,7L3.5,7z M11.5,7C12.8866,7,14,8.1134,14,9.5S12.8866,12,11.5,12S9,10.8866,9,9.5c0-0.877,0.4468-1.6421,1.125-2.0879 l0.9102,2.2734c0.246,0.6231,1.1804,0.2501,0.9297-0.3711l-0.9082-2.2695C11.2009,7.0193,11.3481,7,11.5,7L11.5,7z","bicycle-share":"M10,1C9.4477,1,9,1.4477,9,2c0,0.5523,0.4477,1,1,1s1-0.4477,1-1C11,1.4477,10.5523,1,10,1z M8.1445,2.9941 c-0.13,0.0005-0.2547,0.0517-0.3477,0.1426l-2.6406,2.5c-0.2256,0.2128-0.2051,0.5775,0.043,0.7637L7,7.75v2.75 c-0.01,0.6762,1.0096,0.6762,1,0v-3c0.0003-0.1574-0.0735-0.3057-0.1992-0.4004L7.0332,6.5234l1.818-1.7212l0.7484,0.9985 C9.6943,5.9265,9.8426,6.0003,10,6h1.5c0.6761,0.01,0.6761-1.0096,0-1h-1.25L9.5,4L8.9004,3.1992 C8.8103,3.0756,8.6685,3,8.5156,2.9941H8.1445z M3,7c-1.6569,0-3,1.3432-3,3s1.3431,3,3,3s3-1.3432,3-3S4.6569,7,3,7z M12,7 c-1.6569,0-3,1.3432-3,3s1.3431,3,3,3s3-1.3432,3-3S13.6569,7,12,7z M3,8c1.1046,0,2,0.8954,2,2s-0.8954,2-2,2s-2-0.8954-2-2 S1.8954,8,3,8z M12,8c1.1046,0,2,0.8954,2,2s-0.8954,2-2,2s-2-0.8954-2-2S10.8954,8,12,8z","blood-bank":"m11.2 6.1-3.7-5.1-3.7 5.1c-.5.7-.8 1.6-.8 2.5 0 2.4 2 4.4 4.5 4.4s4.5-2 4.5-4.4c0-.9-.3-1.8-.8-2.5zm-1.2 2.9h-2v2h-1v-2h-2v-1h2v-2h1v2h2z","bowling-alley":"M10.922 3.166c0 1.006-.335 1.857-.693 2.77-.414 1.052-.86 2.185-.86 3.73 0 2.166.687 4.333 1.409 4.333h1.444c.723 0 1.409-2.166 1.409-4.333 0-1.545-.446-2.678-.86-3.73-.358-.912-.693-1.764-.693-2.77 0-.722.144-.723.144-1.445A.743.743 0 0 0 11.5.999a.743.743 0 0 0-.722.722c0 .723.144.723.144 1.445Zm-2.552 6.5c0-1.234.254-2.236.55-3.091a4.5 4.5 0 1 0-.17 6.038c-.237-.865-.38-1.91-.38-2.947ZM5.24 7.12a.62.62 0 1 1-1.24 0 .62.62 0 0 1 1.24 0Zm-1 2a.62.62 0 1 1-1.24 0 .62.62 0 0 1 1.24 0Zm2 0a.62.62 0 1 1-1.24 0 .62.62 0 0 1 1.24 0Z",bridge:"m0 6.84201v4.15799h2v-1c.036-1.08899.911-1.96399 2-1.99999 1.089.036 1.964.911 2 1.99999v1h3v-1c.036-1.08899.911-1.96399 2-1.99999 1.089.036 1.964.911 2 1.99999v1h2v-4.15799c-4.4-5.76-11.929-4.442-15 0zm9.5-3.108c.514.121 1.016.289 1.5.5v2.766h-1.5zm-.5-.1v3.366h-1.5v-3.494c.503 0 1.005.043 1.5.128zm-5.5.843c.48-.248.982-.451 1.5-.606v3.129h-1.5zm2 2.523v-3.27c.493-.115.995-.187 1.5-.215v3.485zm-2.5-2.256v2.256h-2.5c.676-.906 1.532-1.672 2.5-2.256zm8.5 2.256v-2.5l-.053-.053c1.202.603 2.247 1.477 3.053 2.553z",building:"M3,2v11h5v-3h3v3h1V2H3z M7,12H4v-2h3V12z M7,9H4V7h3V9z M7,6H4V4h3V6z M11,9H8V7h3V9z M11,6H8V4h3V6z","building-alt1":"M11,13.5v-9C11,4.2,10.8,4,10.5,4H9V1L5,2.1v11.4H2V14h11v-0.5H11z M7,13.5V3h1v10.5H7z",bus:"M2 3C2 1.9 2.9 1 4 1H11C12.1 1 13 1.9 13 3V11C13 12 12 12 12 12V13C12 13.55 11.55 14 11 14C10.45 14 10 13.55 10 13V12H5V13C5 13.55 4.55 14 4 14C3.45 14 3 13.55 3 13V12C2 12 2 11 2 11V3ZM3.5 4C3.22 4 3 4.22 3 4.5V7.5C3 7.78 3.22 8 3.5 8H11.5C11.78 8 12 7.78 12 7.5V4.5C12 4.22 11.78 4 11.5 4H3.5ZM4 9C3.45 9 3 9.45 3 10C3 10.55 3.45 11 4 11C4.55 11 5 10.55 5 10C5 9.45 4.55 9 4 9ZM11 9C10.45 9 10 9.45 10 10C10 10.55 10.45 11 11 11C11.55 11 12 10.55 12 10C12 9.45 11.55 9 11 9ZM4 2.5C4 2.78 4.22 3 4.5 3H10.5C10.78 3 11 2.78 11 2.5C11 2.22 10.78 2 10.5 2H4.5C4.22 2 4 2.22 4 2.5Z",cafe:"M12,5h-2V3H2v4c0.0133,2.2091,1.8149,3.9891,4.024,3.9758C7.4345,10.9673,8.7362,10.2166,9.45,9H12c1.1046,0,2-0.8954,2-2 S13.1046,5,12,5z M12,8H9.86C9.9487,7.6739,9.9958,7.3379,10,7V6h2c0.5523,0,1,0.4477,1,1S12.5523,8,12,8z M10,12.5 c0,0.2761-0.2239,0.5-0.5,0.5h-7C2.2239,13,2,12.7761,2,12.5S2.2239,12,2.5,12h7C9.7761,12,10,12.2239,10,12.5z",campsite:"M14 10V11C14 11.5523 13.5523 12 13 12H2C1.44772 12 1 11.5523 1 11V10C1 9.44772 1.44772 9.00001 2 9.00001H2.25L7.03206 1.25762C7.24699 0.90965 7.75302 0.909651 7.96794 1.25762L12.75 9.00001H13C13.5523 9.00001 14 9.44772 14 10ZM10.5 9.00001L7.5 4.00001L4.5 9.00001H10.5Z",car:"M13.84,6.852,12.6,5.7,11.5,3.5a1.05,1.05,0,0,0-.9-.5H4.4a1.05,1.05,0,0,0-.9.5L2.4,5.7,1.16,6.852A.5.5,0,0,0,1,7.219V11.5a.5.5,0,0,0,.5.5h2c.2,0,.5-.2.5-.4V11h7v.5c0,.2.2.5.4.5h2.1a.5.5,0,0,0,.5-.5V7.219A.5.5,0,0,0,13.84,6.852ZM4.5,4h6l1,2h-8ZM5,8.6c0,.2-.3.4-.5.4H2.4C2.2,9,2,8.7,2,8.5V7.4c.1-.3.3-.5.6-.4l2,.4c.2,0,.4.3.4.5Zm8-.1c0,.2-.2.5-.4.5H10.5c-.2,0-.5-.2-.5-.4V7.9c0-.2.2-.5.4-.5l2-.4c.3-.1.5.1.6.4Z","car-rental":"M10.5 1C9.94772 1 9.5 1.44772 9.5 2H2V3L3 4 4 3 5 4 6 3 7 4H9.5C9.5 4.55228 9.94772 5 10.5 5H12.5C12.7761 5 13 4.77614 13 4.5V1.5C13 1.22386 12.7761 1 12.5 1H10.5ZM11 2.5C11 2.22386 11.2239 2 11.5 2 11.7761 2 12 2.22386 12 2.5V3.5C12 3.77614 11.7761 4 11.5 4 11.2239 4 11 3.77614 11 3.5V2.5ZM2.14645 9.35355C2.05268 9.44732 2 9.5745 2 9.70711V13.5C2 13.7761 2.22386 14 2.5 14H4C4.27614 14 4.5 13.7761 4.5 13.5V13H10.5V13.5C10.5 13.7761 10.7239 14 11 14H12.5C12.7761 14 13 13.7761 13 13.5V9.70711C13 9.5745 12.9473 9.44732 12.8536 9.35355L12 8.5 10.6457 6.24275C10.5553 6.09215 10.3925 6 10.2169 6H4.7831C4.60746 6 4.44471 6.09215 4.35435 6.24275L3 8.5 2.14645 9.35355ZM11.1338 9H3.86623L5.06619 7H9.93381L11.1338 9ZM5.5 10.8279V11.2C5.5 11.3657 5.36569 11.5 5.2 11.5H3.3C3.13431 11.5 3 11.3657 3 11.2V10.3659C3 10.1766 3.1732 10.0346 3.35884 10.0718L5.17845 10.4357C5.36542 10.4731 5.5 10.6372 5.5 10.8279ZM12 10.4879V11.2C12 11.3657 11.8657 11.5 11.7 11.5H9.8C9.63431 11.5 9.5 11.3657 9.5 11.2V10.7459C9.5 10.6029 9.60094 10.4798 9.74117 10.4518L11.5216 10.0957C11.7691 10.0462 12 10.2355 12 10.4879Z","car-repair":"M3 5C3.74028 5 4.38662 4.5978 4.73243 4H12C12.5523 4 13 3.55228 13 3 13 2.44772 12.5523 2 12 2H4.73243C4.38662 1.4022 3.74028 1 3 1 2.25972 1 1.61337 1.4022 1.26756 2H3V4H1.26756C1.61337 4.5978 2.25972 5 3 5ZM2.14645 9.35355C2.05268 9.44732 2 9.5745 2 9.70711V13.5C2 13.7761 2.22386 14 2.5 14H4C4.27614 14 4.5 13.7761 4.5 13.5V13H10.5V13.5C10.5 13.7761 10.7239 14 11 14H12.5C12.7761 14 13 13.7761 13 13.5V9.70711C13 9.5745 12.9473 9.44732 12.8536 9.35355L12 8.5 10.6456 6.24275C10.5553 6.09215 10.3925 6 10.2169 6H4.78309C4.60746 6 4.44471 6.09215 4.35435 6.24275L3 8.5 2.14645 9.35355ZM11.1338 9H3.86622L5.06619 7H9.93381L11.1338 9ZM5.5 10.8279V11.2C5.5 11.3657 5.36568 11.5 5.2 11.5H3.3C3.13431 11.5 3 11.3657 3 11.2V10.3659C3 10.1766 3.1732 10.0346 3.35883 10.0718L5.17844 10.4357C5.36541 10.4731 5.5 10.6372 5.5 10.8279ZM12 10.4879V11.2C12 11.3657 11.8657 11.5 11.7 11.5H9.8C9.63431 11.5 9.5 11.3657 9.5 11.2V10.7459C9.5 10.6029 9.60094 10.4798 9.74116 10.4518L11.5216 10.0957C11.7691 10.0462 12 10.2355 12 10.4879Z",casino:"M8.5,10c0.4561,0.6072,1.1821,1,2,1c1.3807,0,2.5-1.1193,2.5-2.5c0-0.5642-0.1938-1.0789-0.509-1.4973L12.5,7l-5-6l-5,6 l0.009,0.0027C2.1938,7.4211,2,7.9358,2,8.5C2,9.8807,3.1193,11,4.5,11c0.8179,0,1.5439-0.3928,2-1 C6.5997,9.8672,6.7902,9.6135,7,9.3337V11.5C7,13,4.5,13,4.5,13C4.2239,13,4,13.2238,4,13.5C4,13.7761,4.2239,14,4.5,14H7h1h2.5 c0.2761,0,0.5-0.2239,0.5-0.5c0-0.2762-0.2239-0.5-0.5-0.5c0,0-2.5,0-2.5-1.5V9.3337C8.2098,9.6135,8.4003,9.8672,8.5,10z",castle:"M11,4H4C3.4477,4,3,3.5523,3,3V0.5C3,0.2239,3.2239,0,3.5,0S4,0.2239,4,0.5V2h1V1c0-0.5523,0.4477-1,1-1s1,0.4477,1,1v1h1V1 c0-0.5523,0.4477-1,1-1s1,0.4477,1,1v1h1V0.5C11,0.2239,11.2239,0,11.5,0S12,0.2239,12,0.5V3C12,3.5523,11.5523,4,11,4z M14,14.5 c0,0.2761-0.2239,0.5-0.5,0.5h-12C1.2239,15,1,14.7761,1,14.5S1.2239,14,1.5,14H2c0.5523,0,1-0.4477,1-1c0,0,1-6,1-7 c0-0.5523,0.4477-1,1-1h5c0.5523,0,1,0.4477,1,1c0,1,1,7,1,7c0,0.5523,0.4477,1,1,1h0.5c0.2723-0.0001,0.4946,0.2178,0.5,0.49V14.5z M9,10.5C9,9.6716,8.3284,9,7.5,9S6,9.6716,6,10.5V14h3V10.5z","castle-JP":"M12.5,12.75a1,1,0,0,1-1-.9995V7.25H10a1,1,0,0,1-1-1v-2H6v2a1,1,0,0,1-1,1H3.5v4.5a1,1,0,0,1-2,0V6.25a1,1,0,0,1,1-1H4v-2a1,1,0,0,1,1-1h5a1,1,0,0,1,1,1v2h1.5a1,1,0,0,1,1,1v5.5a1,1,0,0,1-.9995,1Z",caution:"M1.09302 11.8924L6.84044 1.3905C7.12539 0.869834 7.87461 0.869834 8.15956 1.3905L13.907 11.8924C14.1805 12.3922 13.818 13.0019 13.2474 13.0019H1.75258C1.18195 13.0019 0.819505 12.3922 1.09302 11.8924ZM8.29999 8L8.70296 5.5822C8.75375 5.27743 8.51873 5 8.20976 5H6.79022C6.48125 5 6.24623 5.27743 6.29703 5.5822L6.69999 8H8.29999ZM8.59999 9.9C8.59999 9.29249 8.10751 8.8 7.49999 8.8C6.89248 8.8 6.39999 9.29249 6.39999 9.9C6.39999 10.5075 6.89248 11 7.49999 11C8.10751 11 8.59999 10.5075 8.59999 9.9Z",cemetery:"M11.46,12h-0.68L12,3.55c0.0175-0.2867-0.2008-0.5332-0.4874-0.5507C11.4884,2.9979,11.4641,2.9981,11.44,3h-1.18 c0-0.92-1.23-2-2.75-2S4.77,2.08,4.77,3H3.54C3.253,2.9885,3.0111,3.2117,2.9995,3.4987C2.9988,3.5158,2.999,3.5329,3,3.55L4.2,12 H3.55C3.2609,11.9886,3.0162,12.2112,3,12.5V14h9v-1.51C11.9839,12.2067,11.7435,11.9886,11.46,12z M4.5,5h6v1h-6V5z","cemetery-JP":"M11.5,11h-3V2.5a.9448.9448,0,0,0-1-1,.9448.9448,0,0,0-1,1V11h-3a1,1,0,0,0,0,2h8a.9448.9448,0,0,0,1-1A1.0022,1.0022,0,0,0,11.5,11Z","charging-station":"m14 4v-1.51c-.0054-.2722-.2277-.4901-.5-.49-.2816.0047-.5062.2367-.5015.5184.0002.0105.0007.0211.0015.0316v2.45c0 .5523.4477 1 1 1v5.5c0 .2761-.2239.5-.5.5s-.5-.2239-.5-.5v-2c0-.8284-.6716-1.5-1.5-1.5h-1.5v-6c0-.5523-.4477-1-1-1h-6c-.5523 0-1 .4477-1 1v11c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-4h1.5c.2761 0 .5.2239.5.5v2c0 .8284.6716 1.5 1.5 1.5s1.5-.6716 1.5-1.5v-6.5c0-.5523-.4477-1-1-1zm-5.7996 3.3995-2.6006 3.4674-.0164-.0072c-.0465.0787-.1167.1403-.2146.1403-.1476 0-.2672-.1196-.2672-.2672 0-.028.0217-.0463.0297-.0717l-.0177-.0078.7766-2.3245c.054-.1617-.0664-.3288-.2369-.3288h-1.6539c-.2058 0-.3232-.2349-.1998-.3995l2.6006-3.4674.0164.0072c.0465-.0787.1167-.1403.2146-.1403.1476 0 .2672.1196.2672.2672 0 .028-.0217.0463-.0297.0717l.0176.0078-.7764 2.3244c-.0541.1618.0663.3289.2368.3289h1.6539c.2058 0 .3232.2349.1998.3995z",cinema:"M14,7.5v2c0,0.2761-0.2239,0.5-0.5,0.5S13,9.7761,13,9.5c0,0,0.06-0.5-1-0.5h-1v2.5c0,0.2761-0.2239,0.5-0.5,0.5h-8 C2.2239,12,2,11.7761,2,11.5v-4C2,7.2239,2.2239,7,2.5,7h8C10.7761,7,11,7.2239,11,7.5V8h1c1.06,0,1-0.5,1-0.5 C13,7.2239,13.2239,7,13.5,7S14,7.2239,14,7.5z M4,3C2.8954,3,2,3.8954,2,5s0.8954,2,2,2s2-0.8954,2-2S5.1046,3,4,3z M4,6 C3.4477,6,3,5.5523,3,5s0.4477-1,1-1s1,0.4477,1,1S4.5523,6,4,6z M8.5,2C7.1193,2,6,3.1193,6,4.5S7.1193,7,8.5,7S11,5.8807,11,4.5 S9.8807,2,8.5,2z M8.5,6C7.6716,6,7,5.3284,7,4.5S7.6716,3,8.5,3S10,3.6716,10,4.5S9.3284,6,8.5,6z",circle:"M14,7.5c0,3.5899-2.9101,6.5-6.5,6.5S1,11.0899,1,7.5S3.9101,1,7.5,1S14,3.9101,14,7.5z","circle-stroked":"M7.5 12.3C4.84898 12.3 2.7 10.151 2.7 7.5C2.7 4.84898 4.84898 2.7 7.5 2.7C10.151 2.7 12.3 4.84898 12.3 7.5C12.3 10.151 10.151 12.3 7.5 12.3ZM7.5 14C11.0899 14 14 11.0899 14 7.5C14 3.9101 11.0899 1 7.5 1C3.9101 1 1 3.9101 1 7.5C1 11.0899 3.9101 14 7.5 14Z",city:"M12.6368 3.9994H10.9981V2.3608C10.998 2.16148 10.8364 1.99994 10.6371 2H10.3591C10.1598 2 9.9982 2.16158 9.9982 2.3609V3.9994H8.36C8.16068 3.9994 7.9991 4.16098 7.9991 4.3603V9.9984H4.3621C4.16168 9.9984 3.9992 10.1609 3.9992 10.3613V12.6358C3.99975 12.8358 4.16207 12.9977 4.3621 12.9977H12.6368C12.8361 12.9977 12.9977 12.8361 12.9977 12.6368V4.36C12.9977 4.16068 12.8361 3.9994 12.6368 3.9994ZM5.9989 11.9981H4.9989V10.9981H5.9989V11.9981ZM7.9989 11.9981H6.9989V10.9981H7.9989V11.9981ZM9.9989 11.9981H8.9989V10.9981H9.9989V11.9981ZM9.9989 9.9981H8.9989V8.9981H9.9989V9.9981ZM9.9989 7.9981H8.9989V6.9981H9.9989V7.9981ZM9.9989 5.9981H8.9989V4.9981H9.9989V5.9981ZM11.9989 11.9971H10.9989V10.9971H11.9989V11.9971ZM11.9989 9.9971H10.9989V8.9971H11.9989V9.9971ZM11.9989 7.9971H10.9989V6.9971H11.9989V7.9971ZM11.9989 5.9971H10.9989V4.9971H11.9989V5.9971ZM6.9987 2.3608C6.99864 2.16152 6.83708 2 6.6378 2H4.36C4.16068 2 3.9991 2.16158 3.9991 2.3609V4H2.36C2.16138 4.00049 2.00049 4.16138 2 4.36V12.6474C2 12.8407 2.1567 12.9974 2.35 12.9974H2.9994V8.9986H6.9987V2.3608ZM4 7.9981H3V6.9981H4V7.9981ZM4 5.9981H3V4.9981H4V5.9981ZM6 7.9981H5V6.9981H6V7.9981ZM6 5.9981H5V4.9981H6V5.9981ZM6 3.9981H5V3H6V4V3.9981Z","clothing-store":"M4 2L1 4.5L1 7H4V13H11V7H14V4.5L11 2H9.5L7.5 6L5.5 2L4 2Z",college:"M7.5,1L0,4.5l2,0.9v1.7C1.4,7.3,1,7.9,1,8.5s0.4,1.2,1,1.4V10l-0.9,2.1 C0.8,13,1,14,2.5,14s1.7-1,1.4-1.9L3,10c0.6-0.3,1-0.8,1-1.5S3.6,7.3,3,7.1V5.9L7.5,8L15,4.5L7.5,1z M11.9,7.5l-4.5,2L5,8.4v0.1 c0,0.7-0.3,1.3-0.8,1.8l0.6,1.4v0.1C4.9,12.2,5,12.6,4.9,13c0.7,0.3,1.5,0.5,2.5,0.5c3.3,0,4.5-2,4.5-3L11.9,7.5L11.9,7.5z","college-JP":"M12.5,2.9992h-4v-1a1,1,0,0,0-2,0v1h-4a1,1,0,0,0,0,2h.67A10.8169,10.8169,0,0,0,5.15,8.8105c.3331.4313.6594.8248.9785,1.1936a14.3825,14.3825,0,0,1-2.6074,2.117,1,1,0,1,0,.955,1.7581h0A15.65,15.65,0,0,0,7.5,11.4613a15.65,15.65,0,0,0,3.0239,2.4179,1,1,0,1,0,.9551-1.7578,14.3789,14.3789,0,0,1-2.6073-2.1171c.3191-.3688.6453-.7622.9784-1.1935a10.818,10.818,0,0,0,1.98-3.8116h.67a1,1,0,0,0,0-2ZM8.2671,7.5879c-.2614.3385-.5154.6413-.767.937-.2517-.2957-.5057-.5985-.7672-.937A9.5885,9.5885,0,0,1,5.2676,4.9992H9.7319A9.5789,9.5789,0,0,1,8.2671,7.5879Z",commercial:"m14 6h-13c.0881-1.3829.427-2.7383 1-4h11c.5731 1.2617.9119 2.6171 1 4zm-11 1h9v6h-1v-5h-3v5h-5zm1 3h3v-2h-3z","communications-tower":"M11.8545,6.4336l-.4131-.2813a4.7623,4.7623,0,0,0,.2813-4.8779l-.0835-.1533L12.0747.875l.0908.167a5.2619,5.2619,0,0,1-.311,5.3916Zm1.1521,7.1316V14h-11v-.4348H4.4952L6.0439,6.4a.5.5,0,0,1,.4888-.3945h.7255V4.6014A1.14,1.14,0,0,1,6.3756,3.5a1.1568,1.1568,0,1,1,2.3136,0,1.14,1.14,0,0,1-.931,1.1112V6.0059h.7223A.5.5,0,0,1,8.9692,6.4l1.5478,7.1648ZM8.4543,8.751H6.5588L6.236,10.2441H8.777ZM6.1279,10.7441l-.3233,1.4952H9.2082l-.3231-1.4952ZM6.936,7.0059,6.6669,8.251H8.3463L8.0771,7.0059ZM5.5179,13.5652H9.4948l-.1786-.8259h-3.62ZM5.21,5.0137a2.7523,2.7523,0,0,1,.0161-3.0518L4.812,1.6826a3.25,3.25,0,0,0-.019,3.6065ZM10.7568,3.5a3.2433,3.2433,0,0,0-.5341-1.7861l-.418.2754a2.7517,2.7517,0,0,1-.0176,3.0488l.4141.2793A3.2341,3.2341,0,0,0,10.7568,3.5ZM3.5342,6.1182A4.7637,4.7637,0,0,1,3.3813,1.13L2.9478.88a5.2643,5.2643,0,0,0,.1694,5.5137Z",confectionery:"M13,4a1,1,0,0,0-1-1,1,1,0,0,0-2,0V5.0673A3.4808,3.4808,0,0,0,4.3583,9H2a1,1,0,0,0,0,2,1,1,0,0,0,1,1,1,1,0,0,0,2,0V9.9326A3.4807,3.4807,0,0,0,10.6417,6H13a1,1,0,0,0,0-2ZM7.5,9.9925A2.484,2.484,0,0,1,6.3184,5.319a1.0809,1.0809,0,0,1,.5459.307A2.1243,2.1243,0,0,1,7.25,7.0117l.001.9561A2.5821,2.5821,0,0,0,7.76,9.7031a1.5462,1.5462,0,0,0,.2591.2333A2.4861,2.4861,0,0,1,7.5,9.9925ZM8.6815,9.681a1.0813,1.0813,0,0,1-.5458-.307A2.1243,2.1243,0,0,1,7.75,7.9883l-.001-.9561A2.5821,2.5821,0,0,0,7.24,5.2969a1.5557,1.5557,0,0,0-.2592-.2334A2.4843,2.4843,0,0,1,8.6815,9.681Z",construction:"M13.5 11h-1.8L8.2.5C8-.2 7-.2 6.8.5L3.3 11H1.5c-.3 0-.5.2-.5.5v1c0 .3.2.5.5.5h12c.3 0 .5-.2.5-.5v-1c0-.3-.2-.5-.5-.5ZM7 3h1l.7 2H6.4L7 3ZM5.7 7h3.6l.7 2H5l.7-2Z",convenience:"M2.9982,3.0687s.1875-1.062,1-1.062H5.0043V1.7276a.5.5,0,0,1,.5-.5H9.4882a.5.5,0,0,1,.5.5v.2791h1.01a.8324.8324,0,0,1,.6373.2937,1.7589,1.7589,0,0,1,.3627.7683s.3108,1.5719.5921,2.9181h-.938L11,3,3.982,2.9956,3.3336,5.9868H2.382Zm11,4.9144a1,1,0,0,1-.9992,1l-1.0008,3.973s-.1875,1.0417-1,1.0417h-7c-.8125,0-1-1.0417-1-1.0417L1.9822,8.98a.9985.9985,0,0,1,.016-1.9968h11A1,1,0,0,1,13.9982,7.9831ZM5.0327,12.13,5.03,11.0051,4.6392,9.4686a.5373.5373,0,1,0-1.0649.1445L3.78,11.0075l.1874,1.2672A.5373.5373,0,1,0,5.0327,12.13Zm2-2.5967A.5332.5332,0,0,0,6.4994,9l-.0039.0008L6.4886,9a.4992.4992,0,0,0-.3575.1509.529.529,0,0,0-.1648.3828v2.68a.5332.5332,0,1,0,1.0663,0Zm1.998,0A.5314.5314,0,0,0,8.694,9.04a.4992.4992,0,0,0-.393,0,.5312.5312,0,0,0-.3366.4934v2.68a.5331.5331,0,1,0,1.0662,0Zm2.3857.08a.5373.5373,0,1,0-1.0649-.1445L9.96,10.9938,9.9579,12.13a.5373.5373,0,1,0,1.0649.1446Z",cricket:"M8,1.5C8,2.3284,7.3284,3,6.5,3S5,2.3284,5,1.5S5.6716,0,6.5,0S8,0.6716,8,1.5z M10.88,7.18L10.88,7.18l-2-2l0,0l0,0 C8.7815,5.0616,8.6339,4.9952,8.48,5H3.75C3.3736,4.9915,3.0508,5.2669,3,5.64l0,0l-1,7.7l0,0c-0.0068,0.0464-0.0068,0.0936,0,0.14 c0,0.2761,0.2239,0.5,0.5,0.5c0.2251,0.0153,0.4315-0.1251,0.5-0.34l0,0l1.2-3.89l0,0l0.26-0.83l0.4,0.44l0,0L6,10.6v2.9 C6,13.7761,6.2239,14,6.5,14S7,13.7761,7,13.5v-3l0,0l0,0c-0.0081-0.0788-0.0356-0.1544-0.08-0.22l0,0L5.48,8.5l1-2.5h1.71l2,1.84 l0,0c0.0928,0.1077,0.2278,0.1697,0.37,0.17C10.8163,7.9791,11.007,7.7581,11,7.5C10.9997,7.3824,10.9571,7.2688,10.88,7.18z M14,11.27c-0.4142,0-0.75,0.3358-0.75,0.75s0.3358,0.75,0.75,0.75s0.75-0.3358,0.75-0.75S14.4142,11.27,14,11.27z M10.76,9.74V9 c0-0.1381-0.1119-0.25-0.25-0.25S10.26,8.8619,10.26,9v0.74c-0.1522,0.0855-0.2474,0.2455-0.25,0.42v3.34 c0,0.2761,0.2239,0.5,0.5,0.5s0.5-0.2239,0.5-0.5v-3.34C11.0074,9.9855,10.9122,9.8255,10.76,9.74z",cross:"M3.64 2.27L7.5 6.13L11.34 2.29C11.5114 2.1076 11.7497 2.0029 12 2C12.5523 2 13 2.4477 13 3C13.0047 3.2478 12.907 3.4866 12.73 3.66L8.84 7.5L12.73 11.39C12.8948 11.5512 12.9915 11.7696 13 12C13 12.5523 12.5523 13 12 13C11.7423 13.0107 11.492 12.9127 11.31 12.73L7.5 8.87L3.65 12.72C3.4793 12.8963 3.2453 12.9971 3 13C2.4477 13 2 12.5523 2 12C1.9953 11.7522 2.093 11.5134 2.27 11.34L6.16 7.5L2.27 3.61C2.1052 3.4488 2.0085 3.2304 2 3C2 2.4477 2.4477 2 3 2C3.2404 2.0029 3.4701 2.0998 3.64 2.27Z",dam:"M13.94,9.5c0,0.2761-0.2239,0.5-0.5,0.5l0,0c-0.259,0.0219-0.4994,0.1439-0.67,0.34c-0.2714,0.2887-0.6175,0.4964-1,0.6 c-0.6115,0.1816-1.2734,0.0424-1.76-0.37l-0.39-0.35c-0.2976-0.3038-0.7851-0.3087-1.0889-0.0111 C8.5274,10.2126,8.5237,10.2163,8.52,10.22c-0.14,0.12-0.27,0.25-0.42,0.37c-0.7278,0.5784-1.7663,0.5489-2.46-0.07L5.3,10.19 l-0.1-0.06l0.3,1.22l0.49,2c0.0829,0.2634-0.0634,0.5441-0.3267,0.6271C5.6105,13.9937,5.5553,14.0014,5.5,14h-4 C1.2239,14,1,13.7761,1,13.5v-12C1,1.2239,1.2239,1,1.5,1h1.1c0.2346-0.0011,0.4384,0.1611,0.49,0.39L4,5.06V5.2 c0.6569-0.314,1.4361-0.2205,2,0.24c0.16,0.13,0.31,0.28,0.47,0.41c0.2847,0.2546,0.7153,0.2546,1,0c0.16-0.13,0.31-0.28,0.47-0.41 c0.7076-0.5968,1.7424-0.5968,2.45,0c0.15,0.13,0.29,0.27,0.44,0.39c0.2847,0.2546,0.7153,0.2546,1,0l0.47-0.41 c0.3163-0.2672,0.7159-0.4157,1.13-0.42l0,0c0.2761,0,0.5,0.2239,0.5,0.5S13.7061,6,13.43,6l0,0 c-0.259,0.0219-0.4994,0.1439-0.67,0.34c-0.2714,0.2887-0.6175,0.4964-1,0.6C11.1485,7.1216,10.4866,6.9824,10,6.57L9.67,6.23 C9.3724,5.9262,8.8849,5.9213,8.5811,6.2189C8.5774,6.2226,8.5737,6.2263,8.57,6.23C8.43,6.35,8.3,6.48,8.15,6.6 C7.4222,7.1784,6.3837,7.1489,5.69,6.53L5.3,6.19c-0.2847-0.2546-0.7153-0.2546-1,0L4.24,6.24L4.93,9 C5.3226,9.029,5.6965,9.1793,6,9.43c0.16,0.13,0.31,0.28,0.47,0.41c0.2847,0.2546,0.7153,0.2546,1,0c0.16-0.13,0.31-0.28,0.47-0.41 c0.7076-0.5968,1.7424-0.5968,2.45,0c0.15,0.13,0.29,0.27,0.44,0.39c0.2847,0.2546,0.7153,0.2546,1,0l0.47-0.41 c0.3177-0.2636,0.7172-0.4085,1.13-0.41l0,0c0.2761-0.0055,0.5044,0.2138,0.5099,0.4899C13.94,9.4933,13.94,9.4966,13.94,9.5z",danger:"M13.94,14.68c-0.0749,0.194-0.262,0.3215-0.47,0.32c-0.0595,0.0107-0.1205,0.0107-0.18,0L7.5,12.56L1.7,15 c-0.2572,0.1005-0.5472-0.0266-0.6476-0.2838C1.0516,14.7141,1.0508,14.7121,1.05,14.71c-0.1291-0.2441-0.0358-0.5467,0.2084-0.6757 C1.2845,14.0205,1.3118,14.009,1.34,14l4.85-2l-4.85-2C1.0758,9.9197,0.9267,9.6404,1.007,9.3762s0.3596-0.4133,0.6238-0.333 C1.6545,9.0504,1.6776,9.0594,1.7,9.07l5.8,2.41l5.8-2.41c0.2494-0.1185,0.5477-0.0124,0.6662,0.237 c0.1185,0.2494,0.0124,0.5477-0.237,0.6662C13.7068,9.9839,13.6837,9.9928,13.66,10L8.8,12l4.85,2 c0.2607,0.091,0.3983,0.3761,0.3074,0.6368C13.9523,14.6515,13.9465,14.6659,13.94,14.68z M12,4.23v0.45 c-0.0021,0.2129-0.0722,0.4196-0.2,0.59C11.2414,5.8883,10.6399,6.4664,10,7v1.16c0.0015,0.208-0.126,0.3951-0.32,0.47L7.52,9.5 H7.45L5.28,8.63C5.1016,8.5428,4.9917,8.3584,5,8.16V7C4.3528,6.4675,3.7446,5.8893,3.18,5.27C3.0593,5.0972,2.9963,4.8907,3,4.68 V4.23C3.1669,2.0117,4.8974,0.2307,7.11,0h0.36l0,0h0.39C10.0862,0.2131,11.8348,1.9997,12,4.23z M6,4c0-0.5523-0.4477-1-1-1 S4,3.4477,4,4s0.4477,1,1,1S6,4.5523,6,4z M7,7c0-0.2761-0.2239-0.5-0.5-0.5S6,6.7239,6,7v0.5C6,7.7761,6.2239,8,6.5,8 S7,7.7761,7,7.5V7z M9,7c0-0.2761-0.2239-0.5-0.5-0.5S8,6.7239,8,7v0.5C8,7.7761,8.2239,8,8.5,8S9,7.7761,9,7.5V7z M11,4 c0-0.5523-0.4477-1-1-1S9,3.4477,9,4s0.4477,1,1,1S11,4.5523,11,4z",defibrillator:"m1.54995 7.33811c-2.386799-4.5965 3.63-7.660899 5.952-3.0644 2.3215-4.596499 8.33875-1.5322 5.95235 3.0644-.0869.1671-.2028.3456-.3114.5212h-1.8079l-1.81455-2.7216c-.06321-.09473-.1511-.1704-.25417-.21884-.10308-.04843-.21743-.06779-.3307-.05599-.11327.01181-.22117.05433-.31205.12298-.09087.06865-.16126.16082-.20358.26655l-1.6484 4.12-1.33-1.33c-.11716-.11707-.27597-.18288-.4416-.183h-3.1389c-.1086-.1757-.2245-.3542-.3111-.5213zm9.45005 1.7713c-.103-.00003-.2044-.02545-.2951-.07399-.0908-.04854-.1682-.11871-.2254-.20431l-1.34085-2.0111-1.5587 3.89679c-.03839.096-.10002.181-.17936.2474-.07935.0663-.17393.1119-.27524.1326-.04125.0086-.08327.0128-.1254.0126-.16568.0001-.32462-.0656-.4419-.1826l-1.8169-1.81739h-2.0054c1.36645 1.66819 2.85739 3.23039 4.46 4.67319.08531.077.19616.1197.3111.1197s.22579-.0427.3111-.1197c1.59778-1.4447 3.08545-3.0068 4.45055-4.67319z",dentist:"M4.36,14c-1,0-0.56-2.67-0.86-5c-0.1-0.76-1-1.49-1.12-2.06C2,5,1.39,1.44,3.66,1S6,3,7.54,3s1.57-2.36,3.85-2 s1.59,3.9,1.29,5.9c-0.1,0.45-1.1,1.48-1.18,2.06c-0.33,2.4,0.32,5-0.8,5c-0.93,0-1.32-2.72-2-4.5C8.43,8.63,8.06,8,7.54,8 C6,8,5.75,14,4.36,14z",diamond:"M7.03715 1.20147L2.12542 6.7C2.04962 6.78393 2.00568 6.89005 2.00051 7C1.99535 7.10994 2.02925 7.21013 2.09689 7.3L7.0065 13.7601C7.06233 13.8343 7.13629 13.8947 7.22216 13.9365C7.30803 13.9782 7.40331 14 7.5 14C7.59669 14 7.69197 13.9782 7.77784 13.9365C7.86371 13.8947 7.93766 13.8343 7.9935 13.7601L12.9031 7.3C12.9707 7.21013 13.0047 7.10994 12.9995 7C12.9943 6.89005 12.9504 6.78393 12.8746 6.7L7.96285 1.20147C7.90591 1.13833 7.83501 1.08761 7.75508 1.05282C7.67514 1.01802 7.5881 1 7.5 1C7.4119 1 7.32486 1.01802 7.24492 1.05282C7.16499 1.08761 7.09409 1.13833 7.03715 1.20147Z",doctor:"M5.5,7C4.1193,7,3,5.8807,3,4.5l0,0v-2C3,2.2239,3.2239,2,3.5,2H4c0.2761,0,0.5-0.2239,0.5-0.5S4.2761,1,4,1H3.5 C2.6716,1,2,1.6716,2,2.5v2c0.0013,1.1466,0.5658,2.2195,1.51,2.87l0,0C4.4131,8.1662,4.9514,9.297,5,10.5C5,12.433,6.567,14,8.5,14 s3.5-1.567,3.5-3.5V9.93c1.0695-0.2761,1.7126-1.367,1.4365-2.4365C13.1603,6.424,12.0695,5.7809,11,6.057 C9.9305,6.3332,9.2874,7.424,9.5635,8.4935C9.7454,9.198,10.2955,9.7481,11,9.93v0.57c0,1.3807-1.1193,2.5-2.5,2.5S6,11.8807,6,10.5 c0.0511-1.2045,0.5932-2.3356,1.5-3.13l0,0C8.4404,6.7172,9.001,5.6448,9,4.5v-2C9,1.6716,8.3284,1,7.5,1H7 C6.7239,1,6.5,1.2239,6.5,1.5S6.7239,2,7,2h0.5C7.7761,2,8,2.2239,8,2.5v2l0,0C8,5.8807,6.8807,7,5.5,7 M11.5,9 c-0.5523,0-1-0.4477-1-1s0.4477-1,1-1s1,0.4477,1,1S12.0523,9,11.5,9z","dog-park":"M 10.300781 1.2207031 C 9.9144812 1.2207031 9.6 1.2 9.5 2 L 9.0996094 4.5214844 L 11.5 6.5 L 13.5 6.5 C 14.9 6.5 15 5.5410156 15 5.5410156 L 13.099609 3.3222656 C 12.399609 2.6222656 11.7 2.5 11 2.5 L 11 2 C 11 2 11.067481 1.2206031 10.300781 1.2207031 z M 4.75 1.5 C 4.75 1.5 3.7992187 1.5206031 3.1992188 1.7207031 C 2.5992187 1.9207031 2 2.6210938 2 3.6210938 L 2 7.5214844 C 2 9.2214844 1.3 9.5 1 9.5 C 1 9.5 0 9.5214844 0 10.521484 L 0 12.720703 C 0 12.720703 0.00078125 13.521484 0.80078125 13.521484 L 1 13.521484 L 1.5 13.521484 L 2 13.521484 L 2 13.021484 L 2 12.822266 C 2 12.422266 1.8 12.221094 1.5 12.121094 L 1.5 11.021484 C 2.5 11.021484 2.6 10.820703 3 10.720703 L 3.5507812 12.917969 C 3.6507813 13.217969 3.7507813 13.417578 4.0507812 13.517578 L 5.0507812 13.517578 L 6 13.5 L 6 12.699219 C 6 12.022819 5 12 5 12 L 5 9.5 L 8.5 9.5 L 9.1992188 12.121094 C 9.5992188 13.521094 10.5 13.5 10.5 13.5 L 11 13.5 L 12 13.5 L 12 12.699219 C 12 11.987419 11 12 11 12 L 11.099609 7.921875 L 8 5.5 L 3.5 5.5 L 3.5 3.5 C 3.5 3.1 3.7765 3.0053 4 3 C 4.4941 2.9882 4.75 3 4.75 3 C 5.1642 3 5.5 2.6642 5.5 2.25 C 5.5 1.8358 5.1642 1.5 4.75 1.5 z M 11.75 4 C 11.8881 4 12 4.1119 12 4.25 C 12 4.3881 11.8881 4.5 11.75 4.5 C 11.6119 4.5 11.5 4.3881 11.5 4.25 C 11.5 4.1119 11.6119 4 11.75 4 z","drinking-water":"M6,1A2,2,0,0,0,4,3V6.5a.5.5,0,0,0,.5.5h2A.5.5,0,0,0,7,6.5v-2A.5.5,0,0,1,7.5,4H14V1ZM7,15H4a.5.5,0,0,1-.48-.38L2,8.62a.5.5,0,0,1,.365-.606A.558.558,0,0,1,2.5,8h6a.5.5,0,0,1,.514.485A.47.47,0,0,1,9,8.62l-1.5,6A.5.5,0,0,1,7,15ZM3.65,11H7.36l.5-2H3.14Z",elevator:"M11,1H4A1,1,0,0,0,3,2V13a1,1,0,0,0,1,1h7a1,1,0,0,0,1-1V2A1,1,0,0,0,11,1ZM7.5,12.5l-2-4h4Zm-2-6,2-4,2,4Z",embassy:"M6.65,2C5.43,2,4.48,3.38,4.11,3.82C4.0365,3.9102,3.9975,4.0237,4,4.14v4.4C3.9884,8.7827,4.1758,8.9889,4.4185,9.0005 C4.528,9.0057,4.6355,8.9699,4.72,8.9c0.4665-0.6264,1.1589-1.0461,1.93-1.17C8.06,7.73,8.6,9,10.07,9 c0.9948-0.0976,1.9415-0.4756,2.73-1.09c0.1272-0.0934,0.2016-0.2422,0.2-0.4V2.45c0.0275-0.2414-0.1459-0.4595-0.3874-0.487 C12.5332,1.954,12.4527,1.9668,12.38,2c-0.6813,0.5212-1.4706,0.8834-2.31,1.06C8.6,3.08,8.12,2,6.65,2z M2.5,3 c-0.5523,0-1-0.4477-1-1s0.4477-1,1-1s1,0.4477,1,1S3.0523,3,2.5,3z M3,4v9.48c0,0.2761-0.2239,0.5-0.5,0.5S2,13.7561,2,13.48V4 c0-0.2761,0.2239-0.5,0.5-0.5S3,3.7239,3,4z","emergency-phone":"M7.875,11.49a.51.51,0,0,0,.72,0l.72-.72,2.18,2.16-.37.37a2.24,2.24,0,0,1-1.44.7H8.24a2.24,2.24,0,0,1-1.45-.7L1.72,8.23A2.24,2.24,0,0,1,1,6.78V5.33a2.24,2.24,0,0,1,.72-1.45l.36-.36L4.26,5.69l-.73.73a.51.51,0,0,0,0,.72Zm4.72.38a1,1,0,0,0,.036-1.414h0l-.036-.036-.72-.72a1,1,0,0,0-1.414-.036h0l-.036.036ZM5.315,4.62a1,1,0,0,0,.036-1.414h0L4.595,2.45a1,1,0,0,0-1.414-.036h0L3.14,2.45ZM10,2V4H8V5h2V7h1V5h2V4H11V2Z",entrance:"m8 6.5v-1c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v3zm-2-3.5c0-.19778.05865-.39112.16853-.55557s.26606-.29262.44879-.36831c.18272-.07569.38379-.09549.57777-.0569.19398.03858.37216.13382.51202.27367.13985.13986.23509.31804.27368.51202.03858.19398.01878.39505-.05691.57777-.07569.18273-.20386.33891-.36831.44879s-.35779.16853-.55557.16853c-.26522 0-.51957-.10536-.70711-.29289-.18753-.18754-.29289-.44189-.29289-.70711zm9 3c0 .26522-.1054.51957-.2929.70711-.1875.18753-.4419.29289-.7071.29289h-1.58c-.1316-.00076-.2621.02446-.3839.07423-.1218.04976-.2327.12309-.3261.21577l-5.42 5.42c-.18626.1847-.43766.2889-.7.29h-2.59c-.26522 0-.51957-.1054-.70711-.2929-.18753-.1875-.29289-.4419-.29289-.7071s.10536-.5196.29289-.7071c.18754-.1875.44189-.2929.70711-.2929h1.59c.26234-.0011.51374-.1053.7-.29l5.42-5.42c.0934-.09268.2043-.16601.3261-.21577.1218-.04977.2523-.07499.3839-.07423h2.58c.2652 0 .5196.10536.7071.29289.1875.18754.2929.44189.2929.70711z","entrance-alt1":"M6.554,9.639a.5.5,0,0,0,.707.707L9.928,7.669a.25.25,0,0,0,0-.354h0L7.261,4.639a.5.5,0,0,0-.707.707L8.2,7H1.5a.5.5,0,0,0,0,1H8.2ZM12,1H5.5a.5.5,0,0,0,0,1h6a.5.5,0,0,1,.5.5v10a.5.5,0,0,1-.5.5H5.25a.5.5,0,0,0,0,1H12a1,1,0,0,0,1-1V2A1,1,0,0,0,12,1Z",farm:"m8 6-3-2-3 2-1 2v4h2v-2h4v2h2v-4zm-2 2h-2v-2h2zm8 4h-3v-9.5c0-.39782.158-.77936.4393-1.06066s.6629-.43934 1.0607-.43934.7794.15804 1.0607.43934.4393.66284.4393 1.06066z","fast-food":"M14,8c0,0.5523-0.4477,1-1,1H2C1.4477,9,1,8.5523,1,8s0.4477-1,1-1h11C13.5523,7,14,7.4477,14,8z M3.5,10H2 c0,1.6569,1.3431,3,3,3h5c1.6569,0,3-1.3431,3-3H3.5z M3,6H2V4c0-1.1046,0.8954-2,2-2h7c1.1046,0,2,0.8954,2,2v2H3z M11,4.5 C11,4.7761,11.2239,5,11.5,5S12,4.7761,12,4.5S11.7761,4,11.5,4S11,4.2239,11,4.5z M9,3.5C9,3.7761,9.2239,4,9.5,4S10,3.7761,10,3.5 S9.7761,3,9.5,3S9,3.2239,9,3.5z M7,4.5C7,4.7761,7.2239,5,7.5,5S8,4.7761,8,4.5S7.7761,4,7.5,4S7,4.2239,7,4.5z M5,3.5 C5,3.7761,5.2239,4,5.5,4S6,3.7761,6,3.5S5.7761,3,5.5,3S5,3.2239,5,3.5z M3,4.5C3,4.7761,3.2239,5,3.5,5S4,4.7761,4,4.5 S3.7761,4,3.5,4S3,4.2239,3,4.5z",fence:"m13.5 9h-.5v-3h.5c.1326 0 .2598-.05268.3536-.14644.0937-.09377.1464-.22095.1464-.35356s-.0527-.25978-.1464-.35355c-.0938-.09377-.221-.14645-.3536-.14645h-.5v-2l-.286-.573c-.0218-.03651-.0525-.06683-.0894-.08809-.0368-.02125-.0784-.03273-.1209-.03333s-.0845.00969-.1219.0299c-.0374.0202-.069.04964-.0918.08552l-.29.579v2h-1v-2l-.286-.573c-.0218-.03651-.0525-.06683-.0894-.08809-.0368-.02125-.0784-.03273-.1209-.03333s-.0845.00969-.1219.0299c-.0374.0202-.069.04964-.0918.08552l-.29.579v2h-1v-2l-.286-.573c-.02178-.03651-.05254-.06683-.08936-.08809-.03681-.02125-.07846-.03273-.12096-.03333-.04251-.0006-.08446.00969-.12187.0299-.0374.0202-.06901.04964-.09181.08552l-.29.579v2h-1v-2l-.286-.573c-.02178-.03651-.05254-.06683-.08936-.08809-.03681-.02125-.07846-.03273-.12096-.03333-.04251-.0006-.08446.00969-.12187.0299-.0374.0202-.06901.04964-.09181.08552l-.29.579v2h-1v-2l-.286-.573c-.02178-.03651-.05254-.06683-.08936-.08809-.03681-.02125-.07846-.03273-.12096-.03333-.04251-.0006-.08446.00969-.12187.0299-.0374.0202-.06901.04964-.09181.08552l-.29.579v2h-1v-2l-.286-.573c-.02178-.03651-.05254-.06683-.08936-.08809-.03681-.02125-.07846-.03273-.12096-.03333-.04251-.0006-.08446.00969-.12187.0299-.0374.0202-.06901.04964-.09181.08552l-.29.579v2h-.5c-.13261 0-.25979.05268-.35355.14645-.09377.09377-.14645.22094-.14645.35355s.05268.25979.14645.35356c.09376.09376.22094.14644.35355.14644h.5v3h-.5c-.13261 0-.25979.05268-.35355.14645-.09377.09377-.14645.22094-.14645.35355s.05268.25979.14645.35356c.09376.09376.22094.14644.35355.14644h.5v1.5c0 .1326.05268.2598.14645.3536.09376.0937.22094.1464.35355.1464s.25979-.0527.35355-.1464c.09377-.0938.14645-.221.14645-.3536v-1.5h1v1.5c0 .1326.05268.2598.14645.3536.09376.0937.22094.1464.35355.1464s.25979-.0527.35355-.1464c.09377-.0938.14645-.221.14645-.3536v-1.5h1v1.5c0 .1326.05268.2598.14645.3536.09376.0937.22094.1464.35355.1464s.25979-.0527.35355-.1464c.09377-.0938.14645-.221.14645-.3536v-1.5h1v1.5c0 .1326.05268.2598.14645.3536.09376.0937.22094.1464.35355.1464s.25979-.0527.35355-.1464c.09377-.0938.14645-.221.14645-.3536v-1.5h1v1.5c0 .1326.0527.2598.1464.3536.0938.0937.221.1464.3536.1464s.2598-.0527.3536-.1464c.0937-.0938.1464-.221.1464-.3536v-1.5h1v1.5c0 .1326.0527.2598.1464.3536.0938.0937.221.1464.3536.1464s.2598-.0527.3536-.1464c.0937-.0938.1464-.221.1464-.3536v-1.5h.5c.1326 0 .2598-.05268.3536-.14644.0937-.09377.1464-.22095.1464-.35356s-.0527-.25978-.1464-.35355c-.0938-.09377-.221-.14645-.3536-.14645zm-10.5 0v-3h1v3zm2 0v-3h1v3zm2 0v-3h1v3zm2 0v-3h1v3zm2 0v-3h1v3z",ferry:"M5.33,11c0.6745,0.009,1.3262,0.245,1.85,0.67l0.26,0.23h0.05l0.31-0.28c0.9817-0.8115,2.379-0.8846,3.44-0.18L13.5,7L12,6 V2.45c-0.0466-0.8-0.6989-1.4305-1.5-1.45H10c0.0343-0.518-0.3579-0.9657-0.8759-1C9.0828-0.0027,9.0413-0.0027,9,0H6 C5.482-0.0343,5.0343,0.3579,5,0.8759C4.9973,0.9172,4.9973,0.9587,5,1H4.5C3.6989,1.0195,3.0466,1.65,3,2.45V6L1.5,7l2.25,4.53 C4.2143,11.2041,4.7631,11.02,5.33,11z M4,2.45c0.0105-0.2594,0.2293-0.4611,0.4886-0.4506C4.4924,1.9996,4.4962,1.9998,4.5,2h6 c0.259-0.0171,0.4829,0.1789,0.5,0.4379c0.0014,0.0207,0.0014,0.0414,0,0.0621v3l-3.5-2L4,5.45C4,5.45,4,2.45,4,2.45z M14,13v1 c-0.2626,0.0194-0.5069,0.1416-0.68,0.34c-0.2717,0.2883-0.6178,0.4959-1,0.6c-0.6147,0.1815-1.2795,0.0425-1.77-0.37l-0.39-0.35 c-0.3043-0.3026-0.7957-0.3026-1.1,0c-0.14,0.12-0.27,0.25-0.42,0.37c-0.7328,0.5856-1.7814,0.556-2.48-0.07l-0.39-0.35 c-0.2864-0.2502-0.7136-0.2502-1,0c-0.19,0.15-0.36,0.32-0.55,0.47c-0.7043,0.5215-1.6732,0.4968-2.35-0.06l-0.31-0.27 C1.4153,14.1443,1.2172,14.0346,1,14v-1c0.2585-0.032,0.5205,0.0169,0.75,0.14c0.2782,0.1722,0.5424,0.3661,0.79,0.58 c0.2051,0.2235,0.5147,0.319,0.81,0.25c0.1125-0.0333,0.2177-0.0876,0.31-0.16c0.16-0.12,0.29-0.26,0.45-0.39 c0.7106-0.5888,1.7394-0.5888,2.45,0c0.16,0.13,0.31,0.28,0.47,0.41c0.2864,0.2502,0.7136,0.2502,1,0c0.16-0.13,0.31-0.28,0.47-0.41 c0.7123-0.5943,1.7477-0.5943,2.46,0c0.15,0.13,0.29,0.27,0.44,0.39c0.2864,0.2502,0.7136,0.2502,1,0l0.47-0.41 C13.1895,13.1408,13.5886,12.9995,14,13z","ferry-JP":"M9.5 12.5H5.5L5.5 8C5.5 6.91153 6.07979 5.44812 6.85389 4.13809C7.07346 3.76652 7.29495 3.43049 7.5 3.1451C7.70505 3.43049 7.92654 3.76652 8.14611 4.13809C8.92021 5.44812 9.5 6.91153 9.5 8V12.5ZM7.5 1C7 1 4 5 4 8V12.5C4 13.3284 4.67157 14 5.5 14H9.5C10.3284 14 11 13.329 11 12.5006V8C11 5 8 1 7.5 1Z","fire-station":"M7.5 14C11.0899 14 14 11 14 7.50003C14 4.5 11.5 2 11.5 2L10.5 5.5L7.5 1L4.5 5.5L3.5 2C3.5 2 1 4.5 1 7.50003C1 11 3.91015 14 7.5 14ZM7.5 12.5C6.11929 12.5 5 11.3807 5 10C5 8.61929 7.5 5.5 7.5 5.5C7.5 5.5 10 8.61929 10 10C10 11.3807 8.88071 12.5 7.5 12.5Z","fire-station-JP":"M8.5,8.1489V11.75a1,1,0,0,1-2,0V8.1489A5.0084,5.0084,0,0,1,2.5,3.25a1,1,0,0,1,2,0,3,3,0,0,0,6,0,1,1,0,0,1,2,0A5.0082,5.0082,0,0,1,8.5,8.1489Z","fitness-centre":"M14.5,7V8h-1v2h-1v1H11V8H4v3H2.5V10h-1V8H.5V7h1V5h1V4H4V7h7V4h1.5V5h1V7Z",florist:"M1.5,1A2.7,2.7,0,0,1,4,3l.5-3L5,3A2.7,2.7,0,0,1,7.5,1c-.2.03-1,.26-1,2v.083A1.959,1.959,0,0,1,4.5,5H4.417A1.959,1.959,0,0,1,2.5,3C2.5,1.261,1.7,1.03,1.5,1ZM12.012,11l3-.5-3-.5A2.686,2.686,0,0,0,14,7.5c-.03.2-.248,1-1.988,1a2,2,0,0,0,0,4c1.739,0,1.958.8,1.988,1A2.686,2.686,0,0,0,12.012,11ZM9.688,5.548a1,1,0,0,1,0-2,1,1,0,0,1,0-2,.986.986,0,0,1,.852.507l.023-.012a.978.978,0,0,1-.116-.444,1,1,0,1,1,2,0,.978.978,0,0,1-.116.444l.019.01a.986.986,0,0,1,.85-.5,1,1,0,0,1,.025,2,1,1,0,0,1-.025,2,.986.986,0,0,1-.85-.5l-.016.009a.978.978,0,0,1,.113.44,1,1,0,0,1-2,0,.978.978,0,0,1,.113-.44l-.02-.011a.986.986,0,0,1-.852.507Zm.71-1.995A1.051,1.051,0,1,0,11.449,2.5,1.051,1.051,0,0,0,10.4,3.553v0ZM4.946,11.444l-.516-.515L8.892,6.475A1.746,1.746,0,0,1,8.44,6.22L4.076,10.575l-.519-.518A16.051,16.051,0,0,0,4.912,6a3.373,3.373,0,0,1-.412.035c-.041,0-.073-.008-.112-.01A16.953,16.953,0,0,1,3.131,9.631L2.76,9.26a.246.246,0,0,0-.4.079L.231,14.445a.287.287,0,0,0-.016.089.25.25,0,0,0,.25.25.289.289,0,0,0,.1-.019l5.1-2.124a.246.246,0,0,0,.079-.4l-.372-.372a16.874,16.874,0,0,1,3.612-1.256c0-.059-.015-.106-.015-.166A3.349,3.349,0,0,1,9,10.089,16.076,16.076,0,0,0,4.946,11.444Z",fuel:"m14 6v5.5c0 .2761-.2239.5-.5.5s-.5-.2239-.5-.5v-2c0-.8284-.6716-1.5-1.5-1.5h-1.5v-6c0-.5523-.4477-1-1-1h-6c-.5523 0-1 .4477-1 1v11c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-4h1.5c.2761 0 .5.2239.5.5v2c0 .8284.6716 1.5 1.5 1.5s1.5-.6716 1.5-1.5v-6.5c0-.5523-.4477-1-1-1v-1.51c-.0054-.2722-.2277-.4901-.5-.49-.2816.0047-.5062.2367-.5015.5184.0002.0105.0007.0211.0015.0316v2.45c0 .5523.4477 1 1 1s1-.4477 1-1-.4477-1-1-1zm-5 .5c0 .2761-.2239.5-.5.5h-5c-.2761 0-.5-.2239-.5-.5v-3c0-.2761.2239-.5.5-.5h5c.2761 0 .5.2239.5.5z",furniture:"m8.69099 10.142v-1.642c0-.13261-.05268-.25979-.14645-.35355-.09377-.09377-.22094-.14645-.35355-.14645h-1c-.13261 0-.25979.05268-.35356.14645-.09376.09376-.14644.22094-.14644.35355v1.641c-.75987.1945-1.4456.6085-1.9715 1.1905-.52591.5819-.86868 1.3059-.9855 2.0815-.01141.0723-.00702.1462.01285.2167.01987.0704.05476.1357.10227.1914s.10651.1004.17295.1311c.06643.0307.13873.0467.21193.0468h6.92201c.0732-.0001.1455-.0161.2119-.0468.0665-.0307.1255-.0754.173-.1311s.0824-.121.1022-.1914c.0199-.0705.0243-.1444.0129-.2167-.1176-.7765-.4616-1.501-.989-2.0828-.5275-.5819-1.2148-.9952-1.97601-1.1882zm4.63901-3.863-2.5-5c-.0412-.08351-.1048-.15387-.1838-.20316s-.1701-.07556-.2632-.07584h-5.38401c-.09261.00019-.18335.02609-.2621.07483-.07875.04873-.14241.11837-.1839.20117l-2.5 5c-.03809.076-.05617.16046-.05253.24539.00363.08494.02886.16754.07331.24001.04444.07247.10663.13241.18068.17416s.15753.06393.24254.06444h8.19401v1.5c0 .13261.0527.25979.1464.35355.0938.09377.221.14645.3536.14645s.2598-.05268.3535-.14645c.0938-.09376.1465-.22094.1465-.35355v-1.5h1.194c.0847-.00059.1678-.02269.2416-.06421s.1359-.1011.1804-.17317c.0444-.07207.0699-.15425.0739-.23884s-.0135-.16882-.0509-.24478z",gaming:"m13.1 11.5c-.6.3-1.4.1-1.8-.5l-1.1-1.4h-5.40002l-1.1 1.4c-.5.7-1.4.8-2.1.3-.5-.4-.700004-1-.600004-1.5l.700004-3.7c.2-1.2 1.3-2.1 2.5-2.1h2.8v-1.5c0-.8.6-1.5 1.4-1.5h3.10002c.3 0 .5.2.5.5s-.2.5-.5.5h-3.00002c-.3 0-.5.2-.5.4v.1 1.5h2.80002c1.2 0 2.3.9 2.5 2.1l.7 3.7c.1.7-.2 1.4-.9 1.7zm-7.10002-5c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5.7 1.5 1.5 1.5 1.5-.7 1.5-1.5zm6.00002 0c0-.3-.2-.5-.5-.5h-.5v-.5c0-.3-.2-.5-.5-.5s-.50002.2-.50002.5v.5h-.5c-.3 0-.5.2-.5.5s.2.5.5.5h.5v.5c0 .3.20002.5.50002.5s.5-.2.5-.5v-.5h.5c.3 0 .5-.2.5-.5z",garden:"M13,8c0,3.31-2.19,6-5.5,6S2,11.31,2,8c2.2643,0.0191,4.2694,1.4667,5,3.61V7H4.5C3.6716,7,3,6.3284,3,5.5v-3 C3,2.2239,3.2239,2,3.5,2c0.1574,0,0.3056,0.0741,0.4,0.2l1.53,2l1.65-3c0.1498-0.232,0.4593-0.2985,0.6913-0.1487 C7.8308,1.0898,7.8815,1.1404,7.92,1.2l1.65,3l1.53-2c0.1657-0.2209,0.4791-0.2657,0.7-0.1C11.9259,2.1944,12,2.3426,12,2.5v3 C12,6.3284,11.3284,7,10.5,7H8v4.61C8.7306,9.4667,10.7357,8.0191,13,8z","garden-centre":"M4,5L4,4.5C4,3.12 5.12,2 6.5,2C7.88,2 9,3.12 9,4.5L9,10.293L11.365,7.928L11.018,6.633C11.018,6.631 11.017,6.629 11.017,6.627L11.016,6.627L11.016,6.627C10.973,6.461 11.016,6.276 11.147,6.146C11.342,5.951 11.659,5.951 11.854,6.146L13.854,8.146C14.049,8.341 14.049,8.658 13.854,8.853C13.724,8.983 13.541,9.027 13.375,8.984C13.375,8.984 13.375,8.984 13.375,8.984C13.372,8.983 13.369,8.982 13.365,8.981L12.072,8.635L9,11.707L9,12C9,12.552 8.552,13 8,13L5,13C4.448,13 4,12.552 4,12L4,11.536L1.732,9.268C0.757,8.292 0.757,6.708 1.732,5.732C2.22,5.244 2.86,5 3.5,5L3.5,5L4,5ZM4,6L3.5,6L3.5,6C3.116,6 2.732,6.147 2.439,6.439C1.854,7.025 1.854,7.975 2.439,8.561L4,10.121L4,6ZM8,5L8,4.5C8,3.672 7.328,3 6.5,3C5.672,3 5,3.672 5,4.5L5,5L8,5Z",gate:"M1 2.75A.75.75 0 0 1 1.75 2h1.114c.09 0 .18.016.263.048l3.386 1.27A.75.75 0 0 1 7 4.02v5.96a.75.75 0 0 1-.487.702L3 12v.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1-.75-.75v-9.5Zm3 5.736v-4.87a.25.25 0 0 0-.162-.234l-.5-.187A.25.25 0 0 0 3 3.429v5.224c0 .17.167.291.33.237l.5-.166A.25.25 0 0 0 4 8.486ZM5 4.18v3.807a.25.25 0 0 0 .33.238l.5-.167A.25.25 0 0 0 6 7.82V4.366a.25.25 0 0 0-.162-.234l-.5-.187A.25.25 0 0 0 5 4.179Zm9-1.43a.75.75 0 0 0-.75-.75h-1.114a.75.75 0 0 0-.263.048l-3.386 1.27A.75.75 0 0 0 8 4.02v5.96a.75.75 0 0 0 .487.702L12 12v.25c0 .414.336.75.75.75h.5a.75.75 0 0 0 .75-.75v-9.5Zm-2.83 5.974a.25.25 0 0 1-.17-.238v-4.87a.25.25 0 0 1 .162-.234l.5-.187a.25.25 0 0 1 .338.234v5.224a.25.25 0 0 1-.33.237l-.5-.166ZM10 4.179v3.807a.25.25 0 0 1-.33.238l-.5-.167A.25.25 0 0 1 9 7.82V4.366a.25.25 0 0 1 .162-.234l.5-.187a.25.25 0 0 1 .338.234Z",gift:"M10.5 1.00152C9.0967.957116 7.8503 1.89192 7.5 3.25152 7.1497 1.89192 5.9033.957116 4.5 1.00152 2.7678.947006 2.23515 2.79746 2.81831 4H1.5C1.22386 4 1 4.22386 1 4.5V5.5C1 5.77614 1.22386 6 1.5 6H13.5C13.7761 6 14 5.77614 14 5.5V4.5C14 4.22386 13.7761 4 13.5 4H12.1938C12.8 2.81516 12.2922 1.00143 10.5404 1.00112 10.5269 1.00112 10.5135 1.00122 10.5 1.00152ZM10.6831 4H8.5C8.50082 2.8961 9.3959 2.00152 10.5 2.00152 11.675 2.00152 11.8827 3.87414 10.6831 4ZM6.5 4H4.29187C3.25675 3.88256 3.19576 2.10553 4.3323 2.00152 4.3881 1.99642 4.4442 1.99642 4.5 2.00152 5.60409 2.00152 6.49918 2.8961 6.5 4ZM2 7.00146V11.5015C2 12.3299 2.6716 13.0015 3.5 13.0015H6.5V7.00146H2ZM8.5 7.00146V13.0015H11.5C12.3284 13.0015 13 12.3299 13 11.5015V7.00146H8.5Z",globe:"M11.981,9.481,11.26,8.76A4.979,4.979,0,1,1,4.24,1.74l-.721-.721A5.991,5.991,0,0,0,7,11.475V13H6.5a.5.5,0,0,0,0,1h2a.5.5,0,0,0,0-1H8V11.473A5.983,5.983,0,0,0,11.981,9.481ZM7.5,9A3.5,3.5,0,1,0,4,5.5,3.5,3.5,0,0,0,7.5,9Zm1-5,.364-.592a2.5,2.5,0,0,1,.823.9L9.5,5h-1ZM6.656,3.156,7.5,4V5L8,6H9.94a2.494,2.494,0,0,1-1.5,1.814L8,7H6.5L5.05,5A2.5,2.5,0,0,1,6.656,3.156Z",golf:"M3.3999,1.1c0,0.1,0,0.2,0,0.2c0,0.4,0.3,0.7,0.7,0.7c0.3,0,0.5-0.2,0.6-0.5l0,0L4.9,1l5.6,2.3L6.6,6C6.2,6.3,6.2,6.7,6.3,7.1 l0.9,2.1l-1.3,3.9C5.7,13.6,6.1,14,6.5,14c0.3,0,0.5-0.1,0.6-0.5l1.4-4l0.1,0.3v3.5c0,0,0,0.7,0.7,0.7s0.7-0.7,0.7-0.7V10 c0-0.2,0-0.3-0.1-0.5L8.5,6.1l2.7-1.9c0.2-0.2,0.4-0.3,0.4-0.6s-0.2-0.5-0.4-0.6L4,0.1c-0.0878,0-0.118,0.0179-0.2001,0.1 L3.3999,1.1z M5.5,3C4.7,3,4,3.7,4,4.5S4.7,6,5.5,6S7,5.3,7,4.5S6.2999,3,5.5,3z",grocery:"M 13.199219 1.5 C 13.199219 1.5 11.808806 1.4588 11.253906 2 C 10.720406 2.5202 10.5 2.9177 10.5 4 L 1.1992188 4 L 2.59375 8.8144531 C 2.59725 8.8217531 2.6036219 8.8287375 2.6074219 8.8359375 C 2.8418219 9.4932375 3.4545469 9.9666406 4.1855469 9.9941406 C 4.1885469 9.9954406 4.1992187 10 4.1992188 10 L 10.699219 10 L 10.699219 10.199219 C 10.699219 10.199219 10.7 10.500391 10.5 10.900391 C 10.3 11.300391 10.200391 11.5 9.4003906 11.5 L 2.9003906 11.5 C 1.9003906 11.5 1.9003906 13 2.9003906 13 L 4.0996094 13 L 4.1992188 13 L 9.0996094 13 L 9.1992188 13 L 9.3007812 13 C 10.500781 13 11.399219 12.299609 11.699219 11.599609 C 11.999219 10.899609 12 10.300781 12 10.300781 L 12 10 L 12 4 C 12 3.4764 12.228619 3 12.699219 3 L 13.25 3 C 13.6642 3 14 2.6642 14 2.25 C 14 1.8358 13.6642 1.5 13.25 1.5 L 13.199219 1.5 z M 9.1992188 13 C 8.5992188 13 8.1992188 13.4 8.1992188 14 C 8.1992188 14.6 8.5992187 15 9.1992188 15 C 9.7992187 15 10.199219 14.6 10.199219 14 C 10.199219 13.4 9.7992188 13 9.1992188 13 z M 4.1992188 13 C 3.5992188 13 3.1992188 13.4 3.1992188 14 C 3.1992188 14.6 3.5992187 15 4.1992188 15 C 4.7992188 15 5.1992188 14.6 5.1992188 14 C 5.1992188 13.4 4.7992187 13 4.1992188 13 z",hairdresser:"M15,3c0,0-2-0.6-3.5,0.5l-4.3,3C6.4,5.9,5.2,5.2,4,4.8V4c0-1.1-0.9-2-2-2C0.9,2,0,2.9,0,4v1.5 C0,6,0.5,6,0.5,6H2h0.5C4.5,6,6,7.5,6,7.5S4.5,9,2.5,9H2H0.5C0.5,9,0,9,0,9.5V11c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2v-0.8 c1.2-0.4,2.4-1.1,3.2-1.7l4.3,3C13,12.6,15,12,15,12L8.5,7.5L15,3z M3,5H2H1V4c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1V5z M3,11 c0,0.6-0.4,1-1,1c-0.6,0-1-0.4-1-1v-1h1h1V11z M7.25,8c-0.2761,0-0.5-0.2239-0.5-0.5S6.9739,7,7.25,7s0.5,0.2239,0.5,0.5 S7.5261,8,7.25,8z",harbor:"M7.5,0C5.5,0,4,1.567,4,3.5c0.0024,1.5629,1.0397,2.902,2.5,3.3379v6.0391 c-0.9305-0.1647-1.8755-0.5496-2.6484-1.2695C2.7992,10.6273,2.002,9.0676,2.002,6.498c0.0077-0.5646-0.4531-1.0236-1.0176-1.0137 C0.4329,5.493-0.0076,5.9465,0,6.498c0,3.0029,1.0119,5.1955,2.4902,6.5723C3.9685,14.4471,5.8379,15,7.5,15 c1.6656,0,3.535-0.5596,5.0117-1.9395S14.998,9.4868,14.998,6.498c0.0648-1.3953-2.0628-1.3953-1.998,0 c0,2.553-0.7997,4.1149-1.8535,5.0996C10.3731,12.3203,9.4288,12.7084,8.5,12.875V6.8418C9.9607,6.4058,10.9986,5.0642,11,3.5 C11,1.567,9.5,0,7.5,0z M7.5,2C8.3284,2,9,2.6716,9,3.5S8.3284,5,7.5,5S6,4.3284,6,3.5S6.6716,2,7.5,2z",hardware:"M13.7919,3.2619c0,0-1.676,1.675-2.1163,2.1208c-0.085,0.0861-0.1688,0.1135-0.282,0.0961 c-0.1481-0.0226-0.2974-0.038-0.4462-0.0558c-0.4072-0.0485-0.8145-0.0966-1.2292-0.1458C9.649,4.6852,9.5787,4.1049,9.5177,3.5236 C9.512,3.4689,9.5509,3.3943,9.5925,3.3522c0.5071-0.5134,1.9261-1.9287,2.134-2.136c-0.4508-0.2129-1.2243-0.2968-1.8007-0.2031 c-2.1801,0.3543-3.5112,2.534-2.8206,4.625C7.1432,5.753,7.1194,5.8201,7.0374,5.902C5.1891,7.7454,3.3436,9.5914,1.498,11.4374 c-0.0616,0.0616-0.1231,0.124-0.1779,0.1913c-0.5264,0.6473-0.3873,1.6264,0.2974,2.102c0.6044,0.4197,1.3658,0.3442,1.9053-0.1948 c1.8534-1.8519,3.7059-3.7047,5.556-5.5598C9.1707,7.884,9.2437,7.8526,9.3779,7.8983c0.6189,0.2109,1.2524,0.2354,1.8884,0.0884 c1.9386-0.4478,3.1251-2.3732,2.6549-4.3034C13.8895,3.5532,13.843,3.4244,13.7919,3.2619z",heart:"m13.91 7.75001c-1.17 2.24999-4.30002 5.30999-6.07002 6.93999-.1903.1718-.4797.1718-.67 0-1.78-1.63-4.91-4.69-6.08-6.93999-2.57-4.95 3.91-8.250002 6.41-3.3 2.5-4.950002 8.98002-1.65 6.41002 3.3z",heliport:"M4,2C3,2,3,3,4,3h4v1C7.723,4,7.5,4.223,7.5,4.5V5H5H3.9707H3.9316 C3.7041,4.1201,2.9122,3.5011,2,3.5c-1.1046,0-2,0.8954-2,2s0.8954,2,2,2c0.3722-0.001,0.7368-0.1058,1.0527-0.3027L5.5,10.5 C6.5074,11.9505,8.3182,12,9,12h5c0,0,1,0,1-1v-0.9941C15,9.2734,14.874,8.874,14.5,8.5l-3-3c0,0-0.5916-0.5-1.2734-0.5H9.5V4.5 C9.5,4.223,9.277,4,9,4V3h4c1,0,1-1,0-1C13,2,4,2,4,2z M2,4.5c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1s-1-0.4477-1-1 C1,4.9477,1.4477,4.5,2,4.5z M10,6c0.5,0,0.7896,0.3231,1,0.5L13.5,9H10c0,0-1,0-1-1V7C9,7,9,6,10,6z","highway-rest-area":"M13.5,13h-3V9h3a.5.5,0,0,0,.4092-.7871L11.66,5h.84a.5.5,0,0,0,.3838-.82l-2.5-3a.5155.5155,0,0,0-.7676,0l-2.5,3A.5.5,0,0,0,7.5,5h.84L6.0908,8.2129A.5.5,0,0,0,6.5,9h3v4H4V11H5.5a.5.5,0,0,0,0-1h-4a.5.5,0,0,0,0,1H3v2H1.5a.5.5,0,0,0,0,1h12a.5.5,0,0,0,0-1Z",historic:"m7.5 1c-1 0-1 1-2 1h-3.5c-.54467 0-1 .45533-1 1v7c0 .5447.45533 1 1 1h5v2.5s0 .5.5.5.5-.5.5-.5v-2.5h5c.5447 0 1-.4553 1-1v-7c0-.54467-.4553-1-1-1h-3.5c-1 0-1-1-2-1zm-4.5 4v-1h9v1zm0 1h4v1h-4zm0 2h7v1h-7z",home:"M2,13.7478c0,0.13807,0.11193,0.25,0.25,0.25h3.749v-3h3v3h3.749c0.13807,0,0.25-0.11193,0.25-0.25V7.9987H2 C2,7.9987,2,13.7478,2,13.7478z M13.93,6.5778l-0.9319-0.8189V2c0-0.55228-0.44771-1-1-1s-1,0.44772-1,1v2L7.6808,1.09 C7.5863,0.9897,7.42846,0.98478,7.3279,1.079L7.3169,1.09L1.0678,6.553C0.9734,6.65376,0.97856,6.81197,1.07932,6.90637 C1.12478,6.94896,1.18451,6.97304,1.2468,6.9739L3,6.9989h10.7468c0.13807,0.00046,0.25037-0.1111,0.25083-0.24917 C13.99784,6.68592,13.97365,6.62445,13.93,6.5779V6.5778z","horse-riding":"M6,1A1,1,0,1,1,7,2,1,1,0,0,1,6,1ZM8,3.5a.484.484,0,0,0,0-.058A.472.472,0,0,0,7.5,3h-1a.484.484,0,0,0-.058,0A.472.472,0,0,0,6,3.5V7H8Zm6.85,3.644L12.8,4.8l.085-.509a.478.478,0,0,0,.008-.063.25.25,0,0,0-.25-.25.346.346,0,0,0-.158.056L9,7H8L9,8V9.5a.5.5,0,0,1-1,0v-1L6,7H4a1.5,1.5,0,0,0-1.243.661A1.466,1.466,0,0,0,1.563,7H1.5A1.449,1.449,0,0,0,0,8.4v.086A3.781,3.781,0,0,0,.559,10.4a.278.278,0,0,0,.191.1A.25.25,0,0,0,1,10.25V9s-.02-.924.753-1c.5-.048.747.253.747.5V11L2,13v1.75a.25.25,0,0,0,.25.25.254.254,0,0,0,.25-.234V13L4,11v1l.5,2.8a.255.255,0,0,0,.246.2A.25.25,0,0,0,5,14.754H5L4.855,12.3,5.5,11H8v1l.508,2.813A.257.257,0,0,0,8.75,15,.25.25,0,0,0,9,14.75V12l.367-1a1.155,1.155,0,0,0,.543-.6l2.161-3.767a.863.863,0,0,0,1.023.4l1.066.818a.591.591,0,0,0,.35.135.487.487,0,0,0,.475-.4A.552.552,0,0,0,14.85,7.144Z",hospital:"M7,1C6.4,1,6,1.4,6,2v4H2C1.4,6,1,6.4,1,7v1 c0,0.6,0.4,1,1,1h4v4c0,0.6,0.4,1,1,1h1c0.6,0,1-0.4,1-1V9h4c0.6,0,1-0.4,1-1V7c0-0.6-0.4-1-1-1H9V2c0-0.6-0.4-1-1-1H7z","hospital-JP":"m12.5038 3h-10.00777c-.26639.00235-.52096.11039-.70772.30036-.18677.18998-.29046.44634-.28828.71274v5.5807c-.00063.18713.05047.37079.14765.5307.09718.1599.23667.2899.40305.3755l4.78 2.8394c.20725.1056.43653.1606.6691.1606.23258 0 .46186-.055.6691-.1606l4.78037-2.8394c.1664-.0856.3059-.2155.4031-.3755.0972-.15989.1483-.34357.1476-.5307v-5.5807c.0012-.13194-.0237-.2628-.0732-.38512-.0494-.12232-.1225-.2337-.215-.32777-.0925-.09408-.2027-.16901-.3241-.22052-.1215-.05151-.2519-.07859-.3839-.07969zm-2.0038 5.5h-1.99997v2h-2v-2h-2v-2h2v-2h2v2h1.99997z","hot-spring":"M6.682,5.759c-.505-.725-.781-1.121-.63-2.376,.139-1.156,.678-1.616,1.198-2.059,.404-.345,.797-.68,.981-1.324,.301,.722-.036,1.47-.349,2.164-.311,.691-.599,1.329-.211,1.836,.971,1.271,1.963,2.88,.971,4.586-.214,.393-.539,.681-.861,.968-.422,.375-.841,.747-1.004,1.348-.269-.677,.008-1.366,.285-2.052,.306-.759,.61-1.516,.172-2.251-.203-.34-.389-.607-.551-.84Zm3.371-1.174c-.098-.632,.034-1.281,.368-1.809,.367-.45,.701-.642,.991-.81,.345-.199,.627-.362,.83-.877,.289,.684,0,1.188-.304,1.718-.119,.207-.24,.418-.329,.645-.191,.61,.101,.893,.467,1.247,.358,.346,.786,.76,.899,1.617,.083,.635-.036,1.156-.372,1.684-.356,.436-.681,.655-.965,.846-.356,.24-.648,.437-.856,.965-.292-.688,.031-1.259,.353-1.828,.123-.217,.246-.434,.334-.658,.073-.558-.234-.867-.581-1.217-.357-.36-.757-.763-.834-1.523Zm-8.018,0c-.098-.632,.005-1.3,.368-1.809,.376-.528,.729-.717,1.035-.881,.323-.173,.594-.318,.786-.806,.289,.683-.014,1.208-.325,1.749-.122,.212-.246,.427-.336,.655-.152,.385,.131,1.014,.501,1.242,1.002,.801,1.227,2.286,.547,3.353-.366,.448-.704,.648-.999,.823-.353,.209-.645,.382-.849,.898-.278-.656,.008-1.18,.3-1.714,.131-.24,.263-.481,.345-.737,.179-.557-.134-.884-.51-1.277-.349-.365-.752-.785-.863-1.498Zm10.965,4.414c.7,2.616-3.474,3-5.5,3s-6.2-.484-5.5-3c-.633,.316-1,.961-1,1.5,0,1.519,2.91,2.9,6.5,2.9s6.5-1.381,6.5-2.9c0-.539-.367-1.184-1-1.5Z","ice-cream":"M5.44,8.17a3.473,3.473,0,0,0,2-.63A3.5,3.5,0,0,0,9,8.14h.44L8,13.7a.5.5,0,0,1-.92,0Zm6-3.473a2,2,0,0,1-4,0h0a2,2,0,1,1-2-2h.12a2,2,0,1,1,3.75,0h.13A2,2,0,0,1,11.439,4.7Z",industry:"M14,1v12H1V8.72c0.0016-0.1419,0.0634-0.2764,0.17-0.37l3-3.22c0.2074-0.1823,0.5234-0.1618,0.7056,0.0456 C4.9568,5.268,5.0011,5.387,5,5.51v3l3.16-3.37c0.2025-0.1878,0.5188-0.1759,0.7066,0.0266C8.9532,5.2599,9.0009,5.3827,9,5.51V11h3 V1H14z",information:"M7.5,1 C6.7,1,6,1.7,6,2.5S6.7,4,7.5,4S9,3.3,9,2.5S8.3,1,7.5,1z M4,5v1c0,0,2,0,2,2v2c0,2-2,2-2,2v1h7v-1c0,0-2,0-2-2V6c0-0.5-0.5-1-1-1H4 z","jewelry-store":"M12,8.5c0,2.4853-2.0147,4.5-4.5,4.5S3,10.9853,3,8.5c0-1.8483,1.1164-3.4329,2.7099-4.1255l0.1761,0.137l0.7739,0.6019 C5.1366,5.4922,4,6.8611,4,8.5C4,10.4299,5.5701,12,7.5,12S11,10.4299,11,8.5c0-1.6389-1.1366-3.0078-2.6599-3.3866l0.95-0.7388 C10.8836,5.0672,12,6.6517,12,8.5z M7.5,4.5L10,2.5555L9,1H6L5,2.5555l1.5,1.1667L7.5,4.5z",karaoke:"M12.1,2.952A2.988,2.988,0,0,0,6.99,4.917l3.142,3.142A2.988,2.988,0,0,0,12.1,2.952Zm-7.428,5.3L2.55,10.377a1,1,0,0,0,0,1.414l.707.707a1,1,0,0,0,1.414,0l2.121-2.121L8.914,8.255,6.793,6.134Zm.741,2.087-.707-.707L6.793,7.548l.707.707Z",landmark:"M12.5,12H12v-0.5c0-0.3-0.2-0.5-0.5-0.5H11V6h1l1-2c-1,0.1-2,0.1-3,0C9.2,3.4,8.6,2.8,8,2V1.5C8,1.2,7.8,1,7.5,1 S7,1.2,7,1.5V2C6.4,2.8,5.8,3.4,5,4C4,4.1,3,4.1,2,4l1,2h1v5c0,0-0.5,0-0.5,0C3.2,11,3,11.2,3,11.5V12H2.5C2.2,12,2,12.2,2,12.5V13 h11v-0.5C13,12.2,12.8,12,12.5,12z M7,11H5V6h2V11z M10,11H8V6h2V11z","landmark-JP":"m9.5 4c0 .39556-.1173.78224-.33706 1.11114s-.53212.58524-.89757.73662c-.36545.15137-.76759.19098-1.15555.11381s-.74433-.26765-1.02403-.54736c-.27971-.2797-.47019-.63607-.54736-1.02403s-.03756-.79009.11381-1.15555c.15138-.36545.40772-.67781.73662-.89757s.71558-.33706 1.11114-.33706c.53043 0 1.03914.21071 1.41421.58579.37508.37507.58579.88378.58579 1.41421zm-6 4c-.39556 0-.78224.1173-1.11114.33706s-.58524.53212-.73662.89757c-.15137.36546-.19098.76757-.11381 1.15557.07717.3879.26765.7443.54736 1.024.2797.2797.63607.4702 1.02403.5474.38796.0771.7901.0375 1.15555-.1138.36545-.1514.67781-.4078.89757-.7367s.33706-.7155.33706-1.1111c0-.53043-.21071-1.03914-.58579-1.41421-.37507-.37508-.88378-.58579-1.41421-.58579zm8 0c-.3956 0-.7822.1173-1.1111.33706s-.58528.53212-.73666.89757c-.15137.36546-.19098.76757-.11381 1.15557.07717.3879.26765.7443.54737 1.024.2797.2797.6361.4702 1.024.5474.388.0771.7901.0375 1.1556-.1138.3654-.1514.6778-.4078.8975-.7367.2198-.3289.3371-.7155.3371-1.1111 0-.53043-.2107-1.03914-.5858-1.41421-.3751-.37508-.8838-.58579-1.4142-.58579z",landuse:"m8.911 2.85401c.02782.02324.05021.0523.06558.08512.01538.03283.02337.06863.02342.10488v3.706c0 .0663-.02634.12989-.07322.17678-.04689.04688-.11048.07322-.17678.07322h-2.5c-.0663 0-.12989-.02634-.17678-.07322-.04688-.04689-.07322-.11048-.07322-.17678v-1.75h-1v1.75c0 .0663-.02634.12989-.07322.17678-.04689.04688-.11048.07322-.17678.07322h-2.5c-.0663 0-.12989-.02634-.17678-.07322-.04688-.04689-.07322-.11048-.07322-.17678v-3.7c.00005-.03625.00804-.07205.02342-.10488.01537-.03282.03776-.06188.06558-.08512l3.254-2.728c.04413-.0370337.09989-.0573335.1575-.0573335s.11337.0202998.1575.0573335zm-1.159 5.646c-.04915.00002-.09718.01464-.138.042l-2.614 1.95799h-1v-1.99999c0-.13261-.05268-.25979-.14645-.35355-.09376-.09377-.22094-.14645-.35355-.14645s-.25979.05268-.35355.14645c-.09377.09376-.14645.22094-.14645.35355v1.99999h-1v-1.99999c0-.13261-.05268-.25979-.14645-.35355-.09376-.09377-.22094-.14645-.35355-.14645s-.25979.05268-.35355.14645c-.09377.09376-.14645.22094-.14645.35355v4.24999c0 .0663.02634.1299.07322.1768.04689.0469.11048.0732.17678.0732h6.5c.0663 0 .12989-.0263.17678-.0732.04688-.0469.07322-.1105.07322-.1768v-3.99999c.00026-.03274-.00596-.0652-.0183-.09552-.01235-.03032-.03057-.0579-.05363-.08114-.02305-.02324-.05048-.04168-.0807-.05427s-.06263-.01907-.09537-.01907zm6.248-3.255v6.49999c0 .0671-.0267.1315-.0741.1789-.0474.0475-.1118.0741-.1789.0741h-3.494c-.0668 0-.1308-.0264-.1782-.0734s-.0743-.1108-.0748-.1776v-6.49699c-.00013-.03287.0062-.06544.0188-.09583.0125-.03039.0309-.058.0541-.08124.0233-.02324.0509-.04165.0813-.05417s.0629-.01889.0958-.01876h.75v-.751c0-.06604.0262-.12937.0729-.17607s.1101-.07293.1761-.07293h1.5c.0668.00053.1306.02742.1776.07481.047.04738.0734.11144.0734.17819v.747h.755c.065 0 .1273.02581.1732.07176.046.04595.0718.10826.0718.17324zm-1 4.75499h-2v1h2zm0-1.99999h-2v1h2zm0-2h-2v1h2z",laundry:"M8,1L6,3H3c0,0-1,0-1,1v9c0,1,1,1,1,1h9c0,0,1,0,1-1V2c0-1-1-1-1-1 S8,1,8,1z M8.5,2h2C10.777,2,11,2.223,11,2.5S10.777,3,10.5,3h-2C8.223,3,8,2.777,8,2.5S8.223,2,8.5,2z M7.5,6 c1.6569,0,3,1.3431,3,3s-1.3431,3-3,3s-3-1.3431-3-3S5.8431,6,7.5,6z",library:"M1.0819,9.9388C0.9871,9.867,1.0007,9.7479,1.0007,9.7479L1.5259,3.5c0,0,0.0082-0.0688,0.0388-0.104 C1.584,3.374,1.6084,3.342,1.6544,3.3232C2.1826,3.1072,5.0537,1.5519,6.5,3c0.2397,0.2777,0.4999,0.6876,0.4999,1v5.2879 c0,0,0.0062,0.1122-0.0953,0.1801c-0.0239,0.016-0.124,0.0616-0.242,0.0026c-2.2253-1.1134-4.711,0.1546-5.3381,0.4871 C1.1987,10.0244,1.1006,9.9531,1.0819,9.9388z M13.6754,9.9577c-0.6271-0.3325-3.1128-1.6005-5.3381-0.4871 c-0.118,0.059-0.2181,0.0134-0.242-0.0026C7.9939,9.4001,8.0001,9.2879,8.0001,9.2879V4c0-0.3124,0.2602-0.7223,0.4999-1 c1.4463-1.4481,4.2991,0.1071,4.8273,0.3232c0.046,0.0188,0.0704,0.0508,0.0897,0.0728C13.4476,3.4312,13.4558,3.5,13.4558,3.5 l0.5435,6.2479c0,0,0.0136,0.1191-0.0812,0.1909C13.8994,9.9531,13.8013,10.0244,13.6754,9.9577z M8.8647,12.6863 c0.0352-0.0085,0.0964-0.0443,0.1179-0.0775c0.0236-0.0364,0.0378-0.0617,0.0423-0.1088c0.0495-0.9379,1.6245-1.8119,4.6477-0.0298 c0.0775,0.0441,0.1666,0.0396,0.2425-0.0155C14.0014,12.392,14,12.2859,14,12.2859v-0.5542c0,0,0.0003-0.0764-0.0272-0.1184 c-0.0205-0.0312-0.0476-0.0643-0.0926-0.0858c-2.0254-1.3145-4.5858-1.8972-5.8854-0.1592 c-0.0181,0.0423-0.0353,0.0613-0.0728,0.0905C7.8654,11.5028,7.7964,11.5,7.7964,11.5H7.2109c0,0-0.069,0.0028-0.1256-0.0412 c-0.0375-0.0292-0.0547-0.0482-0.0728-0.0905c-1.2996-1.738-3.86-1.1828-5.8854,0.1317c-0.045,0.0215-0.0721,0.0546-0.0926,0.0858 c-0.0275,0.042-0.0272,0.1184-0.0272,0.1184v0.5542c0,0-0.0014,0.1061,0.0849,0.1688c0.0759,0.0551,0.165,0.0596,0.2425,0.0155 c3.0232-1.7821,4.5982-0.8806,4.6477,0.0573c0.0045,0.0471,0.0187,0.0724,0.0423,0.1088c0.0215,0.0332,0.0827,0.069,0.1179,0.0775 C6.8645,12.8656,7.9112,12.9363,8.8647,12.6863z","lift-gate":"M1 4a2 2 0 1 1 4 0v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4Zm3 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm4.5 2L7 3H6v3h2.5ZM10 6h1.5L10 3H8.5L10 6Zm3.25 0H13l-1.5-3h1.75a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75Z",lighthouse:"M4.5,6L0,7V6.5l4.5-1V6z M4.5,3.5L0,2.5V3l4.5,1V3.5z M10.5,3.5V4L15,3V2.5L10.5,3.5z M10.5,6L15,7V6.5l-4.5-1V6z M8,7V2 h2.5c0.2761,0.0552,0.5448-0.1239,0.6-0.4c0.0552-0.2761-0.1239-0.5448-0.4-0.6l-3-1C7.5696-0.0586,7.4204-0.0586,7.29,0l-3,1 c-0.2761,0.0552-0.4552,0.3239-0.4,0.6S4.2139,2.0552,4.49,2H7v5H5l-2,7h9l-2-7H8z","lighthouse-JP":"M9.5,7.4c0,1.1-0.9,2-2,2s-2-0.9-2-2s0.9-2,2-2C8.6,5.4,9.5,6.3,9.5,7.4z M14,7.5C14,7.8,13.8,8,13.5,8h-1.6 c-0.1,0.9-0.311,1.582-0.911,2.282l1.064,1.064c0.2,0.2,0.196,0.504-0.004,0.704c-0.209,0.209-0.5,0.207-0.704,0.004L10.3,11 c-0.6,0.5-1.4,0.8-2.3,0.9v1.6C8,13.8,7.8,14,7.5,14S7,13.8,7,13.5v-1.6c-0.9-0.1-1.7-0.4-2.3-0.9l-1.1,1.1 c-0.207,0.207-0.48,0.213-0.696-0.004c-0.2-0.2-0.207-0.5-0.007-0.7L4,10.3C3.5,9.7,3.1,8.9,3,8H1.5C1.2,8,1,7.8,1,7.5S1.2,7,1.5,7 H3c0.1-0.9,0.4-1.7,1-2.4l-1-1C2.8,3.4,2.8,3.1,3,2.9s0.5-0.2,0.7,0l1,1l0,0C5.3,3.4,6.1,3.1,7,3V1.5C7,1.2,7.2,1,7.5,1S8,1.2,8,1.5 V3c0.9,0.1,1.7,0.5,2.3,1l0,0l1.1-1.1c0.2-0.2,0.5-0.2,0.7,0s0.2,0.5,0,0.7L11,4.7l0,0c0.5,0.7,0.8,1.4,0.9,2.3h1.6 C13.8,7,14,7.2,14,7.5z M11.1,7.4c0-2-1.6-3.6-3.6-3.6S3.8,5.5,3.8,7.4S5.4,11,7.4,11S11.1,9.4,11.1,7.4z",lodging:"M0.5,2.5C0.2,2.5,0,2.7,0,3v7.5v2C0,12.8,0.2,13,0.5,13S1,12.8,1,12.5V11h13v1.5 c0,0.3,0.2,0.5,0.5,0.5s0.5-0.2,0.5-0.5v-2c0-0.3-0.2-0.5-0.5-0.5H1V3C1,2.7,0.8,2.5,0.5,2.5z M3.5,3C2.7,3,2,3.7,2,4.5l0,0 C2,5.3,2.7,6,3.5,6l0,0C4.3,6,5,5.3,5,4.5l0,0C5,3.7,4.3,3,3.5,3L3.5,3z M7,4C5.5,4,5.5,5.5,5.5,5.5V7h-3C2.2,7,2,7.2,2,7.5v1 C2,8.8,2.2,9,2.5,9H6h9V6.5C15,4,12.5,4,12.5,4H7z",logging:"M13.91,3.41,13.5,3l.2-.28c.02-.03.04-.05.06-.08A.969.969,0,0,0,14,1.99a1,1,0,0,0-1.62-.77c-.03.02-.06.05-.09.07L12,1.5l-.386-.386a.354.354,0,0,0-.525.475l.417.417-.5.5-.392-.392a.354.354,0,0,0-.525.475L10.5,3l-.5.5-.381-.381a.354.354,0,1,0-.528.472h0l.028.028L9.5,4,9,4.5l-.395-.395a.354.354,0,0,0-.517.483L8.5,5,8,5.5l-.365-.365a.354.354,0,0,0-.556.439h0C7.1,5.6,7.508,6,7.508,6L7,6.5l-.394-.392a.392.392,0,0,0-.5-.028.384.384,0,0,0-.028.5L6.1,6.6l.4.4L6,7.5l-.4-.4a.37.37,0,0,0-.5,0L6.248,8.244,12.09,2.41,12.5,2H13v.5l-.41.41L6.751,8.749,7.9,9.9a.355.355,0,0,0,0-.5l-.008-.009L7.5,9,8,8.5l.384.384a.354.354,0,0,0,.528-.472L8.5,8,9,7.5l.38.38a.354.354,0,0,0,.528-.472l-.02-.02L9.5,7l.5-.5.377.377A.35.35,0,0,0,10.64,7a.347.347,0,0,0,.252-.6L10.5,6l.5-.5.38.38a.354.354,0,0,0,.528-.472L11.88,5.38,11.5,5l.5-.5.381.381a.354.354,0,0,0,.528-.472l-.025-.025L12.5,4l.5-.5.382.382a.354.354,0,0,0,.528-.472ZM4.39,7.916C3.893,7.419,3.641,7,3,7H1.5a.5.5,0,0,0-.5.5v3A2.19,2.19,0,0,0,1.5,12l.815.811A2.251,2.251,0,0,0,5.493,13h0L7.5,11ZM3.5,10,2.262,11.238A1.3,1.3,0,0,1,2,10.5V8H3a.545.545,0,0,1,.335.194.455.455,0,0,1,.165.418Z",marker:"M7.5 1C5.42312 1 3 2.2883 3 5.56759C3 7.79276 6.46156 12.7117 7.5 14C8.42309 12.7117 12 7.90993 12 5.56759C12 2.2883 9.57688 1 7.5 1Z","marker-stroked":"M5.11697 2.81756C5.76952 2.26561 6.65195 2 7.5 2C8.34805 2 9.23048 2.26561 9.88303 2.81756C10.5075 3.34579 11 4.20017 11 5.56759C11 5.94031 10.8461 6.52407 10.5105 7.29145C10.1859 8.03354 9.73523 8.85087 9.24257 9.65811C8.64175 10.6426 7.999 11.5793 7.48195 12.3097C6.96023 11.5798 6.31599 10.6233 5.71947 9.62296C5.2343 8.80934 4.79303 7.98717 4.47608 7.24844C4.14708 6.48162 4 5.91216 4 5.56759C4 4.20017 4.49248 3.34579 5.11697 2.81756ZM8.10767 13.1554C9.45904 11.2632 12 7.54181 12 5.56759C12 2.2883 9.57688 1 7.5 1C5.42312 1 3 2.2883 3 5.56759C3 7.44926 5.47533 11.2572 6.86751 13.1671C7.12165 13.5157 7.3397 13.8011 7.5 14C7.55627 13.9215 7.62241 13.8299 7.697 13.7266C7.81469 13.5636 7.95343 13.3714 8.10767 13.1554Z","mobile-phone":"M10,2h0V1.5a.5.5,0,0,0-1,0V2H5A1,1,0,0,0,4,3V13a1,1,0,0,0,1,1h5a1,1,0,0,0,1-1V3A1,1,0,0,0,10,2ZM6,13H5V12H6Zm0-2H5V10H6ZM6,9H5V8H6Zm2,4H7V12H8Zm0-2H7V10H8ZM8,9H7V8H8Zm2,4H9V12h1Zm0-2H9V10h1Zm0-2H9V8h1Zm0-2.5a.5.5,0,0,1-.5.5h-4A.5.5,0,0,1,5,6.5v-3A.5.5,0,0,1,5.5,3h4a.5.5,0,0,1,.5.5Z",monument:"M7.5,0L6,2.5v7h3v-7L7.5,0z M3,11.5 L3,15h9v-3.5L10.5,10h-6L3,11.5z","monument-JP":"M12,13H4c-0.5,0-1-0.5-1-1V5c0-2,0.8-4,4-4c3.1,0,4,2,4,4v6h1c0.5,0,1,0.5,1,1S12.5,13,12,13z M5,11h4V5c0-1,0-2-2-2 S5,4,5,5V11z",mountain:"m7.5 1c-.3 0-.4.2-.6.4l-5.8 9.5c-.1.1-.1.3-.1.4 0 .5.4.7.7.7h11.6c.4 0 .7-.2.7-.7 0-.2 0-.2-.1-.4l-5.7-9.5c-.2-.2-.4-.4-.7-.4zm0 1.5 3.3 5.5h-.8l-1.5-1.5-1 1.5-1-1.5-1.5 1.5h-.9z",museum:"M7.5,0L1,3.5V4h13V3.5L7.5,0z M2,5v5l-1,1.6V13h13v-1.4L13,10V5H2z M4,6h1v5.5H4V6z M7,6h1v5.5H7V6z M10,6h1 v5.5h-1V6z",music:"m12.5 0c-.0804.0008-.1594.0213999-.23.0599999l-8.77 2.4400001c-.2761 0-.5.2239-.5.5v6.28c-.3029-.1798-.6478-.2763-1-.28-1.1046 0-2 .8954-2 2s.8954 2 2 2 2-.8954 2-2v-4.64l8-2.22v3.64c-.3029-.1798-.6478-.2763-1-.28-1.1046 0-2 .8954-2 2s.8954 2 2 2 2-.8954 2-2v-9c0-.2761-.2239-.5-.5-.5zm-.5 3.14-8 2.22v-2l8-2.22z",natural:"M8.753,6.278a.5.5,0,0,1-.51,0A4.109,4.109,0,0,1,6.5,3.5a2.779,2.779,0,0,0-.59-1.506l-.019-.027a.257.257,0,0,1-.056-.144.237.237,0,0,1,.25-.25.264.264,0,0,1,.057.011A3.523,3.523,0,0,1,7.5,2.5L8.28.94a.246.246,0,0,1,.44,0L9.5,2.5a3.4,3.4,0,0,1,1.339-.907.283.283,0,0,1,.1-.021c.175.009.212.119.221.249a.35.35,0,0,1-.043.141A5.2,5.2,0,0,0,10.5,3.5,4.113,4.113,0,0,1,8.753,6.278ZM5,8H6.289a.25.25,0,0,0,.25-.25.241.241,0,0,0-.061-.15L4.7,5.235a.255.255,0,0,0-.391,0L2.518,7.589a.274.274,0,0,0-.062.161.25.25,0,0,0,.25.25H4L1.335,10.6a.273.273,0,0,0-.058.152A.25.25,0,0,0,1.529,11H3L1.435,12.565a.255.255,0,0,0,.18.435H4v1H5V13H7.385a.255.255,0,0,0,.18-.435L6,11H7.471a.25.25,0,0,0,.25-.25.233.233,0,0,0-.058-.149Zm9.345,3.748a.252.252,0,0,1-.252.252H8.908a.252.252,0,0,1-.226-.365L11.27,6.451a.252.252,0,0,1,.451,0l2.6,5.184h0A.251.251,0,0,1,14.345,11.748ZM12.75,10,11.5,7.5,10.25,10Z","observation-tower":"M12 12.5H11.5L10 9V7C10.9951 7 10.9951 6.25 10.9951 6.25L11.5 3C11.5 3 11.5 2.5 11 2.5H10C10 2.5 10 2 9.5 2H8.5V1.5C8.5 1.5 8.5 0.5 7.5 0.5C6.5 0.5 6.5 1.5 6.5 1.5V2H5.5C5 2 5 2.5 5 2.5H4C3.5 2.5 3.5 3 3.5 3L4.0049 6.25C4.0049 6.25 4.0049 7 5 7V9L3.5 12.5H3C3 12.5 2 12.5 2 13.25C2 14 3 14 3 14H12C12 14 13 14 13 13.25C13 12.5 12 12.5 12 12.5ZM10.25 3.5L10 5H5L4.75 3.4971L10.25 3.5ZM8.5 7V8H6.5V7H8.5ZM6.5006 9.4971H8.4994L9.5 12.5H5.5L6.5006 9.4971Z",optician:"M1.78483 3.81169C2.03375 3.31421 2.54231 3 3.09859 3C3.48821 3 3.86186 3.15477 4.13736 3.43027L4.85354 4.14645C5.0488 4.34171 5.0488 4.65829 4.85354 4.85355C4.65827 5.04882 4.34169 5.04882 4.14643 4.85355L3.43017 4.1373C3.34226 4.04939 3.22303 4 3.09871 4C2.92116 4 2.75884 4.10032 2.67944 4.25912L1.309 7H5.2476C6.0654 7 6.7487 7.5656 6.941 8.3245C7.1146 8.2834 7.3009 8.25 7.5 8.25C7.6991 8.25 7.8854 8.2835 8.059 8.3246C8.2513 7.5656 8.9344 7 9.752 7H13.691L12.3206 4.25912C12.2412 4.10032 12.0788 4 11.9013 4C11.777 4 11.6577 4.04939 11.5698 4.1373L10.8536 4.85355C10.6583 5.04882 10.3417 5.04882 10.1465 4.85355C9.9512 4.65829 9.9512 4.34171 10.1465 4.14645L10.8626 3.43027C11.1381 3.15477 11.5118 3 11.9014 3C12.4577 3 12.9663 3.31421 13.2152 3.81169L14.9414 7.26172L14.9404 7.26308C14.9784 7.33359 15 7.41428 15 7.5V8.5C15 8.7761 14.7761 9 14.5 9H14V9.5C14 11.0889 12.998 12 11.25 12H10.75C9.002 12 8 11.0889 8 9.5V9.3413C7.8499 9.2933 7.6693 9.25 7.5 9.25C7.3307 9.25 7.1503 9.2933 7 9.3413V9.5C7 11.0889 5.9976 12 4.25 12H3.75C2.0024 12 1 11.0889 1 9.5V9H0.4992C0.2235 9 0 8.7765 0 8.5007V7.5C0 7.41428 0.0215731 7.33359 0.0595866 7.26308L0.0585938 7.26172L1.78483 3.81169ZM9.752 8C9.3369 8 9 8.3374 9 8.7524V9.5C9 10.1982 9.1992 11 10.75 11H11.25C12.8008 11 13 10.1982 13 9.5V8.7529C13 8.3379 12.6621 8 12.2471 8H9.752ZM2.7529 8C2.3379 8 2 8.3374 2 8.7524V9.5C2 10.1982 2.1987 11 3.75 11H4.25C5.8013 11 6 10.1982 6 9.5V8.7524C6 8.3374 5.6626 8 5.2475 8H2.7529Z",paint:"m13.5 3.5h-1v-.9973c0-.2777-.2251-.5027-.5027-.5027h-10.4946c-.2776 0-.5027.225-.5027.5027v2.9946c0 .2776.2251.5027.5027.5027h10.4946c.2776 0 .5027-.2251.5027-.5027v-.9973h.5v3.1021l-6.1123 1.4106c-.2271.0527-.3877.2549-.3877.4873v1.5074c-.2783.02-.5.246-.5.5295v2.9261c0 .2966.2404.537.5369.537h.9261c.2966 0 .537-.2404.537-.5369v-2.9261c0-.2834-.2217-.5095-.5-.5295v-1.11l6.1123-1.4102c.2266-.0522.3877-.2544.3877-.4873v-4c0-.2764-.2236-.5-.5-.5z",park:"M14,5.75c0.0113-0.6863-0.3798-1.3159-1-1.61C12.9475,3.4906,12.4014,2.9926,11.75,3 c-0.0988,0.0079-0.1962,0.0281-0.29,0.06c-0.0607-0.66-0.6449-1.1458-1.3048-1.0851C9.8965,1.9987,9.6526,2.1058,9.46,2.28l0,0 c0-0.6904-0.5596-1.25-1.25-1.25S6.96,1.5896,6.96,2.28C6.96,2.28,7,2.3,7,2.33C6.4886,1.8913,5.7184,1.9503,5.2797,2.4618 C5.1316,2.6345,5.0347,2.8451,5,3.07C4.8417,3.0195,4.6761,2.9959,4.51,3C3.6816,2.9931,3.0044,3.659,2.9975,4.4874 C2.9958,4.6872,3.0341,4.8852,3.11,5.07C2.3175,5.2915,1.8546,6.1136,2.0761,6.9061C2.2163,7.4078,2.6083,7.7998,3.11,7.94 c0.2533,0.7829,1.0934,1.2123,1.8763,0.959C5.5216,8.7258,5.9137,8.2659,6,7.71C6.183,7.8691,6.4093,7.9701,6.65,8v5L5,14h5l-1.6-1 v-2c0.7381-0.8915,1.6915-1.5799,2.77-2c0.8012,0.1879,1.603-0.3092,1.7909-1.1103C12.9893,7.7686,13.0025,7.6444,13,7.52 c0.0029-0.0533,0.0029-0.1067,0-0.16C13.6202,7.0659,14.0113,6.4363,14,5.75z M8.4,10.26V6.82C8.6703,7.3007,9.1785,7.5987,9.73,7.6 h0.28c0.0156,0.4391,0.2242,0.849,0.57,1.12C9.7643,9.094,9.0251,9.6162,8.4,10.26z","park-alt1":"M9.428,10.429a.269.269,0,0,1-.074-.18A.25.25,0,0,1,9.6,10h1.447a.25.25,0,0,0,.25-.25.258.258,0,0,0-.079-.179L9.07,7.419a.3.3,0,0,1-.063-.17A.249.249,0,0,1,9.257,7H10.4a.251.251,0,0,0,.25-.251.247.247,0,0,0-.077-.178L8.432,4.434,8.418,4.42a.262.262,0,0,1-.066-.17A.25.25,0,0,1,8.6,4h.866a.25.25,0,0,0,.25-.25.246.246,0,0,0-.068-.164h.006L7.7,1.238a.253.253,0,0,0-.042-.044A.249.249,0,0,0,7.5,1.139h0a.249.249,0,0,0-.158.055.253.253,0,0,0-.042.044L5.352,3.586a.246.246,0,0,0-.068.164.25.25,0,0,0,.25.25H6.4a.241.241,0,0,1,.184.42l-.014.014L4.431,6.571a.247.247,0,0,0-.077.178A.251.251,0,0,0,4.6,7H5.745a.249.249,0,0,1,.25.249.3.3,0,0,1-.063.17L3.782,9.571A.258.258,0,0,0,3.7,9.75a.25.25,0,0,0,.25.25H5.4a.25.25,0,0,1,.248.249.269.269,0,0,1-.074.18l-2.14,2.132-.009.009a.248.248,0,0,0,0,.351A.256.256,0,0,0,3.605,13H7v1l1-.008V13h3.391a.263.263,0,0,0,.26-.254.248.248,0,0,0-.071-.177Z",parking:"M4 2V13H6V9H8.5C10.433 9 12 7.433 12 5.5C12 3.567 10.433 2 8.5 2H4ZM6 7V4H8.5C9.32843 4 10 4.67157 10 5.5C10 6.32843 9.32843 7 8.5 7H6Z","parking-garage":"M10.5,10.14c-0.6637,0.4788-1.4732,0.7121-2.29,0.66h-1.9V14h-1.9V5h3.92 c0.7801-0.0414,1.5484,0.2041,2.16,0.69c0.5779,0.5595,0.875,1.3483,0.81,2.15C11.4042,8.6892,11.1088,9.5388,10.5,10.14z M9,6.9 C8.711,6.6881,8.3579,6.5822,8,6.6H6.31v2.65H8c0.3612,0.0191,0.717-0.0947,1-0.32c0.2559-0.2675,0.3867-0.6308,0.36-1 C9.4072,7.5493,9.274,7.1684,9,6.9z M14.41,4.21c0.114-0.2486,0.007-0.5427-0.24-0.66L7.5,0.45l-6.71,3.1 C0.5387,3.666,0.429,3.9637,0.545,4.215C0.661,4.4663,0.9587,4.576,1.21,4.46l0,0L7.5,1.55l6.29,2.9 c0.2486,0.114,0.5427,0.007,0.66-0.24H14.41z","parking-paid":"M1 13V2h4.5a3.5 3.5 0 0 1 3.21 2.103 3.36 3.36 0 0 0-.504.676c-.23.41-.232.837-.174 1.154l.3 1.625A3.495 3.495 0 0 1 5.5 9H3v4H1Zm4.5-6a1.5 1.5 0 1 0 0-3H3v3h2.5Zm3.516-1.248a.716.716 0 0 1 .062-.484C9.315 4.848 9.978 4 11.5 4c1.521 0 2.185.847 2.421 1.268a.716.716 0 0 1 .064.484L13.019 11H12v2h-1v-2H9.981l-.965-5.248ZM12.75 7 13 5.655C12.83 5.409 12.42 5 11.5 5s-1.33.41-1.5.655L10.25 7h2.5Z",pharmacy:"M9.5,4l1.07-1.54c0.0599,0.0046,0.1201,0.0046,0.18,0c0.6904-0.0004,1.2497-0.5603,1.2494-1.2506 C11.999,0.519,11.4391-0.0404,10.7487-0.04C10.0584-0.0396,9.499,0.5203,9.4994,1.2106c0,0.0131,0.0002,0.0262,0.0006,0.0394 c0,0,0,0.07,0,0.1L7,4H9.5z M12,6V5H3v1l1.5,3.5L3,13v1h9v-1l-1-3.5L12,6z M10,10H8v2H7v-2H5V9h2V7h1v2h2V10z","picnic-site":"M4,3C3.446,3,3,3.446,3,4s0.446,1,1,1h1.2969 L4.6523,7H2.5c-0.554,0-1,0.446-1,1s0.446,1,1,1h1.5098L3.041,12.0098c-0.1284,0.3939,0.0868,0.8173,0.4807,0.9457 s0.8173-0.0868,0.9457-0.4807c0.0005-0.0013,0.0009-0.0027,0.0013-0.004L5.5859,9h3.8281l1.1172,3.4707 c0.1273,0.3943,0.5501,0.6107,0.9443,0.4834s0.6107-0.5501,0.4834-0.9443l0,0L10.9902,9H12.5c0.554,0,1-0.446,1-1s-0.446-1-1-1 h-2.1523L9.7031,5H11c0.554,0,1-0.446,1-1s-0.446-1-1-1H4z M6.873,5H8.127l0.6445,2h-2.543L6.873,5z",pitch:"M5,3C4.4477,3,4,2.5523,4,2s0.4477-1,1-1s1,0.4477,1,1S5.5523,3,5,3z M12.5,10H10L9,7L8,5.25L9,5l2.3,1l0,0 c0.2761,0.1105,0.5895-0.0239,0.7-0.3S11.9761,5.1105,11.7,5l0,0L9,4H7L5,5L4,6H2.5C2.2239,6,2,6.2239,2,6.5S2.2239,7,2.5,7H5l1-1 l1,2l-2,2v3.5C5,13.7761,5.2239,14,5.5,14S6,13.7761,6,13.5v-3.11L8,9l1,2h3.5c0.2761,0,0.5-0.2239,0.5-0.5S12.7761,10,12.5,10z","place-of-worship":"M7.5,0l-2,2v2h4V2 L7.5,0z M5.5,4.5L4,6h7L9.5,4.5H5.5z M2,6.5c-0.5523,0-1,0.4477-1,1V13h2V7.5C3,6.9477,2.5523,6.5,2,6.5z M4,6.5V13h7V6.5H4z M13,6.5c-0.5523,0-1,0.4477-1,1V13h2V7.5C14,6.9477,13.5523,6.5,13,6.5z",playground:"m3.00002 1.15c.2091-.8016 1.0284-1.2819 1.83-1.0729s1.2819 1.0284 1.0729 1.83c-.2003.7681-.9643 1.2471-1.7429 1.0929-.8126-.161-1.3409-.9502-1.18-1.7629.0058-.0292.0125-.0583.02-.0871zm10.99998 11.17c.1032.5426-.2531 1.066-.7956 1.1692-.0015.0003-.0029.0006-.0044.0008-.4252.086-.8574-.1119-1.07-.49l-1.68-3.37-1.44998.29-.22.08h-.06v2.15l.62-.15h.14c.2871.0054.5155.2425.5101.5297-.0039.2064-.1295.391-.3201.4703l-5 1c-.0563.0095-.1137.0095-.17 0-.2872 0-.52-.2328-.52-.52 0-.2099.1262-.3993.32-.48l4.15-.83v-2.17l-3.22.58c-.164.0423-.336.0423-.5 0-.3394-.0867-.6088-.3446-.71-.68h-.02l-1-4.07c-.0312-.1416-.0312-.2884 0-.43.0936-.387.4078-.6815.8-.75l4.7-.52v-4.13h.22v4.1h.06l.22-.02.4-.08h.21c.2673.0643.43258.3323.37.6-.0439.235-.251.4041-.49.4l-.49.08h-.22-.06v2.86h.06l.22-.06 1.80998-.36c.4275-.0352.8299.2062 1 .6l2 3.94c.077.0758.1411.1636.19.26zm-5.49998-7.19-2.5.27.74 2.94 1.76-.34z",police:"M5.5,1L6,2h5l0.5-1H5.5z M6,2.5v1.25c0,0,0,2.75,2.5,2.75S11,3.75,11,3.75V2.5H6z M1.9844,3.9863 C1.4329,3.9949,0.9924,4.4485,1,5v4c-0.0001,0.6398,0.5922,1.1152,1.2168,0.9766L5,9.3574V14l5.8789-6.9297 C10.7391,7.0294,10.5947,7,10.4414,7H6.5L3,7.7539V5C3.0077,4.4362,2.5481,3.9775,1.9844,3.9863z M11.748,7.7109L6.4121,14H12 V8.5586C12,8.2451,11.9061,7.9548,11.748,7.7109z","police-JP":"M7.5,1A6.5,6.5,0,1,0,14,7.5,6.5,6.5,0,0,0,7.5,1Zm2.6,2.84L7.5,6.44,4.9,3.84A4.4428,4.4428,0,0,1,10.1,3.84ZM3.84,4.9007,6.4394,7.5l-2.6,2.5993A4.4429,4.4429,0,0,1,3.84,4.9007ZM4.9,11.16l2.6-2.6,2.6,2.6A4.4428,4.4428,0,0,1,4.9,11.16Zm6.26-1.0606L8.5606,7.5l2.6-2.5993a4.4429,4.4429,0,0,1-.0006,5.1986Z",post:"M13.5 3.65139C13.5 3.86918 13.3912 4.07257 13.2099 4.19338L7.5 8L1.79006 4.19338C1.60885 4.07257 1.5 3.86918 1.5 3.65139C1.5 3.29164 1.79164 3 2.15139 3L12.8486 3C13.2084 3 13.5 3.29164 13.5 3.65139Z M13.5 5.96713V11C13.5 11.5523 13.0523 12 12.5 12H2.5C1.94772 12 1.5 11.5523 1.5 11L1.5 5.96713C1.5 5.76746 1.72254 5.64836 1.88868 5.75912L7.5 9.5L13.1113 5.75912C13.2775 5.64836 13.5 5.76746 13.5 5.96713Z","post-JP":"m1.5 4c0-.26522.10536-.51957.29289-.70711.18754-.18753.44189-.29289.70711-.29289h10c.2652 0 .5196.10536.7071.29289.1875.18754.2929.44189.2929.70711s-.1054.51957-.2929.70711c-.1875.18753-.4419.29289-.7071.29289h-10c-.26513 0-.51941-.10529-.70693-.29272-.18752-.18742-.29294-.44165-.29307-.70678zm11 2.5h-10c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4.5c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4.5h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z",prison:"M3.5,1v13H12V1H3.5z M9.5,2H11v3.5H9.5V2z M4.5,2.0547H6V7H4.5V2.0547z M7,2.0547h1.5V7H7V2.0547z M10.25,6.5 C10.6642,6.5,11,6.8358,11,7.25S10.6642,8,10.25,8l0,0C9.8358,8,9.5,7.6642,9.5,7.25l0,0C9.5,6.8358,9.8358,6.5,10.25,6.5z M7,8 h1.4727L8.5,13H7.0273L7,8z M4.5,8.166H6V13H4.5V8.166z M9.5,9H11v4H9.5V9z",racetrack:"M4.99321 1.58228C5.03861 1.30989 4.8546 1.05228 4.58222 1.00688C4.30983 0.961484 4.05222 1.14549 4.00682 1.41788L2.00682 13.4179C1.96142 13.6903 2.14543 13.9479 2.41782 13.9933C2.6902 14.0387 2.94782 13.8547 2.99321 13.5823L3.6632 9.56238C4.46947 9.67976 5.3398 9.7187 6.026 10.2C6.45057 10.505 6.94151 10.7047 7.45839 10.7828C8.424 10.9286 9.28807 10.3976 10.242 10.549L11.531 10.743C11.7908 10.7822 12.0609 10.5828 12.1 10.323L12.984 4.38899L12.988 4.38499C13.0241 4.12469 12.8213 3.85686 12.561 3.82099L11.272 3.62699C10.3092 3.48421 9.44342 3.9997 8.48942 3.85618C8.06155 3.79181 7.65443 3.62915 7.3 3.38099C6.56128 2.86385 5.68119 2.77814 4.81426 2.656L4.99321 1.58228ZM4.40351 5.12049L4.73218 3.14849C5.33161 3.22962 5.96556 3.27693 6.521 3.51699L6.22626 5.48223C5.65576 5.24949 5.01279 5.2037 4.40351 5.12049ZM3.74549 9.0686L4.07436 7.09542C4.69451 7.18147 5.35159 7.22405 5.933 7.46299L6.23273 5.48673C6.89067 5.75614 7.3918 6.21952 8.126 6.32799L8.426 4.34799C9.16402 4.45947 9.77459 4.17131 10.484 4.11399L10.184 6.07999C9.47389 6.1406 8.85956 6.44062 8.124 6.32999L7.83802 8.30784C7.10186 8.19874 6.59996 7.73286 5.939 7.46399L5.639 9.43999C5.04421 9.20148 4.3764 9.15882 3.74549 9.0686ZM7.83898 8.30813C8.57282 8.41936 9.19002 8.11708 9.9 8.05799L10.184 6.07999C10.8385 6.01968 11.5087 6.19133 12.152 6.28899L11.872 8.26499C11.2277 8.16793 10.5563 7.99624 9.901 8.05799L9.601 10.034C8.89229 10.0817 8.26589 10.3943 7.539 10.284L7.83898 8.30813Z","racetrack-boat":"m10.0643 11.2159c.4691-.5125.9358-1.0224 1.5938-1.2417.9212-.3071 1.5902.0778 1.8665.2805.7241.531 1.3904-.2204.5914-.8064-.4269-.3131-1.4451-.86577-2.7741-.4228-.7202.2401-1.2127.7667-1.70487 1.2931-.40012.4279-.80009.8556-1.32212 1.1291-.61911.3243-1.06486-.0266-1.06486-.6352v-.0121c.00021-.7982-.40819-1.3004-1.25-1.3004-.49071 0-.99216.2582-1.50001.5-1.17511.5596-2.31799 1.2859-3.31714 2.1134-.210639.1751-.243189.4951-.06696.7066.2505.3006.58076.1621.82938-.0379.41361-.3329 1.78116-1.3913 2.93376-1.94.47652-.227.86169-.3421 1.12097-.3421.24997 0 .24997.1016.24997.3396-.00202 1.3264 1.29025 2.1428 2.52893 1.4939.50415-.2641.89557-.6917 1.28535-1.1176zm-7.56426-2.2159c1.5-1 3.25492-2 5-2 .75 0 .75.375.75.75s0 .75.75.75c2.52746 0 5.36316-3.21377 5.49996-5.5l-2.5 1-2.34195-.97445c-.61176-.20392-.92799.74476-.31623.94868l1.15818.52577-1.49996.5-4-1.25c-.23606-.07869-.38872.02744-.5.25l-1.5 3-2.00004 1zm2.5-7c0-.5523.4477-1 1-1s1 .4477 1 1-.4477 1-1 1-1-.4477-1-1z","racetrack-cycling":"M8 1L11 4H12C14 4 14 1 12 1H8ZM8.463 3C8.34323 3.00901 8.2307 3.06084 8.146 3.146L5.646 5.646C5.59615 5.69579 5.55739 5.75555 5.53225 5.82136C5.50711 5.88718 5.49617 5.95757 5.50014 6.02791C5.5041 6.09825 5.52289 6.16696 5.55526 6.22953C5.58764 6.2921 5.63287 6.34713 5.688 6.391L7.846 8.117L6.57 10.242C6.50157 10.356 6.48125 10.4926 6.51351 10.6216C6.54577 10.7506 6.62796 10.8616 6.742 10.93C6.85604 10.9984 6.9926 11.0187 7.12162 10.9865C7.25065 10.9542 7.36157 10.872 7.43 10.758L8.93 8.258C8.99256 8.15404 9.01519 8.03088 8.99366 7.91148C8.97214 7.79207 8.90793 7.68457 8.813 7.609L7.304 6.402L9 4.707L10.146 5.854C10.1925 5.9004 10.2477 5.93718 10.3085 5.96223C10.3692 5.98728 10.4343 6.00012 10.5 6H13C13.1326 6 13.2598 5.94732 13.3536 5.85355C13.4473 5.75979 13.5 5.63261 13.5 5.5C13.5 5.36739 13.4473 5.24021 13.3536 5.14645C13.2598 5.05268 13.1326 5 13 5H10.707L8.854 3.146C8.80319 3.09493 8.74195 3.05545 8.67446 3.03025C8.60698 3.00505 8.53484 2.99473 8.463 3ZM2.949 7C2.16222 7.01338 1.4122 7.33534 0.860573 7.89651C0.308947 8.45767 -0.000113683 9.21311 3.13683e-08 10C3.13683e-08 10.7956 0.316071 11.5587 0.87868 12.1213C1.44129 12.6839 2.20435 13 3 13C3.79565 13 4.55871 12.6839 5.12132 12.1213C5.68393 11.5587 6 10.7956 6 10C6.00006 9.60179 5.92083 9.20756 5.76695 8.84028C5.61307 8.47301 5.38761 8.14004 5.10372 7.8608C4.81982 7.58157 4.48318 7.36164 4.11341 7.21385C3.74364 7.06606 3.34815 6.99336 2.95 7H2.949ZM11.949 7C11.1622 7.01338 10.4122 7.33534 9.86057 7.89651C9.30895 8.45767 8.99989 9.21311 9 10C9 10.7956 9.31607 11.5587 9.87868 12.1213C10.4413 12.6839 11.2044 13 12 13C12.7956 13 13.5587 12.6839 14.1213 12.1213C14.6839 11.5587 15 10.7956 15 10C15.0001 9.60179 14.9208 9.20756 14.767 8.84028C14.6131 8.47301 14.3876 8.14004 14.1037 7.8608C13.8198 7.58157 13.4832 7.36164 13.1134 7.21385C12.7436 7.06606 12.3482 6.99336 11.95 7H11.949ZM12.049 8C12.5709 8.01279 13.0671 8.22914 13.4316 8.60283C13.7962 8.97653 14.0002 9.47795 14 10C14 10.5304 13.7893 11.0391 13.4142 11.4142C13.0391 11.7893 12.5304 12 12 12C11.4696 12 10.9609 11.7893 10.5858 11.4142C10.2107 11.0391 10 10.5304 10 10C9.99992 9.73318 10.0532 9.46904 10.1568 9.22314C10.2603 8.97724 10.4121 8.75455 10.603 8.56818C10.7939 8.3818 11.0202 8.23552 11.2686 8.13794C11.5169 8.04036 11.7823 7.99346 12.049 8V8Z","racetrack-horse":"M10 1C9.73478 1 9.48043 1.10536 9.29289 1.29289C9.10536 1.48043 9 1.73478 9 2C9 2.26522 9.10536 2.51957 9.29289 2.70711C9.48043 2.89464 9.73478 3 10 3C10.2652 3 10.5196 2.89464 10.7071 2.70711C10.8946 2.51957 11 2.26522 11 2C11 1.73478 10.8946 1.48043 10.7071 1.29289C10.5196 1.10536 10.2652 1 10 1ZM5.5 3C5.25 3 4.5 3 5 3.75L6.25 6H4.5C4.223 6.003 3.983 6.1 3.75 6.25C2.944 5.121 2.242 5.552 1.51 6C1.107 6.247 0.694 6.499 0.25 6.5C0.184332 6.50201 0.121902 6.52899 0.0754461 6.57545C0.0289898 6.6219 0.00200653 6.68433 0 6.75C0.00200653 6.81567 0.0289898 6.8781 0.0754461 6.92455C0.121902 6.97101 0.184332 6.99799 0.25 7C0.626 7.02 1.057 6.907 1.488 6.793C2.144 6.62 2.798 6.448 3.254 6.75C3.16 6.937 3 7.5 3 8L2.998 9.51C2.792 9.714 2.619 9.633 2.443 9.55C2.303 9.485 2.16 9.42 2 9.5L1 12.45C1 12.7 1.393 12.752 1.5 12.5L2.25 10.744C2.998 10.744 4.5 10 5 9L9 10L11.5 12.5C11.697 12.697 12.12 12.362 11.96 12.115L10 9L12 6.5C12.248 7 12.495 7 12.986 7H13L13.6 7.75C13.988 8.235 14.82 7.743 14.5 7.25L12.834 4.79L13 4.5C13.062 4.313 12.637 3.924 12.5 4L10.5 5.5L8.89 3.187C8.84314 3.12862 8.78377 3.08151 8.71627 3.04915C8.64877 3.01678 8.57486 2.99999 8.5 3H5.5ZM9 5.25L9.5 6L6.777 7.916C6.72243 7.95469 6.66065 7.98204 6.59532 7.99643C6.52999 8.01081 6.46244 8.01194 6.39666 7.99975C6.33089 7.98756 6.26823 7.96229 6.2124 7.92545C6.15656 7.8886 6.10869 7.84093 6.07162 7.78525C6.03454 7.72957 6.00901 7.66701 5.99655 7.60129C5.98409 7.53556 5.98494 7.46801 5.99905 7.40262C6.01317 7.33723 6.04026 7.27534 6.07873 7.22061C6.1172 7.16588 6.16626 7.11943 6.223 7.084L9 5.25Z",rail:"M 3 1 C 2.4477 1 2 1.4477 2 2 L 2 10 C 2 10.5523 2.4477 11 3 11 L 12 11 C 12.5523 11 13 10.5523 13 10 L 13 2 C 13 1.4477 12.5523 1 12 1 L 3 1 z M 5.75 1.5 L 5.7597656 1.5 L 9.2597656 1.5 C 9.3978656 1.5 9.5097656 1.6119 9.5097656 1.75 C 9.5097656 1.8881 9.3978656 2 9.2597656 2 L 5.75 2 C 5.6119 2 5.5 1.8881 5.5 1.75 C 5.5 1.6119 5.6119 1.5 5.75 1.5 z M 3.5 3 L 7 3 L 7 7 L 3.5 7 C 3.2239 7 3 6.7761 3 6.5 L 3 3.5 C 3 3.2239 3.2239 3 3.5 3 z M 8 3 L 11.5 3 C 11.7761 3 12 3.2239 12 3.5 L 12 6.5 C 12 6.7761 11.7761 7 11.5 7 L 8 7 L 8 3 z M 5 8 C 5.5523 8 6 8.4477 6 9 C 6 9.5523 5.5523 10 5 10 C 4.4477 10 4 9.5523 4 9 C 4 8.4477 4.4477 8 5 8 z M 10 8 C 10.5523 8 11 8.4477 11 9 C 11 9.5523 10.5523 10 10 10 C 9.4477 10 9 9.5523 9 9 C 9 8.4477 9.4477 8 10 8 z M 10.445312 11.994141 C 10.380597 11.999652 10.314981 12.018581 10.253906 12.050781 C 10.030606 12.168381 9.9302313 12.433922 10.019531 12.669922 L 10.189453 13 L 4.8105469 13 L 4.9394531 12.730469 C 5.0371531 12.472169 4.9067375 12.183637 4.6484375 12.085938 C 4.4124375 11.996738 4.1468969 12.097113 4.0292969 12.320312 L 3.0292969 14.320312 C 3.0080969 14.377912 2.9986 14.4387 3 14.5 C 3 14.7761 3.2239 15 3.5 15 C 3.6802 14.999 3.8450875 14.899434 3.9296875 14.740234 L 3.9296875 14.689453 L 4 14.689453 L 4.3105469 14 L 10.689453 14 L 11 14.689453 L 11 14.740234 C 11.0846 14.899434 11.249488 14.999 11.429688 15 C 11.705787 15 11.929688 14.7761 11.929688 14.5 C 11.949587 14.4212 11.949587 14.338566 11.929688 14.259766 L 10.929688 12.259766 C 10.833163 12.076541 10.639459 11.977608 10.445312 11.994141 z","rail-light":"M5.5,0C5,0,5,0.5,5,0.5v1C5,1.777,5.223,2,5.5,2S6,1.777,6,1.5V1h1v2H6c0,0-2,0-2,2v3c0,3,3,3,3,3h1 c0,0,3,0,3-3V5c0-2-2-2-2-2H8V1h1v0.5C9,1.777,9.223,2,9.5,2S10,1.777,10,1.5v-1C10,0,9.5,0,9.5,0H5.5z M7.5,4l2.0449,0.7734L10,6.5 C10.1316,7,9.5,7,9.5,7h-4c0,0-0.6316,0-0.5-0.5l0.4551-1.7266L7.5,4z M7.5,8C7.7761,8,8,8.2239,8,8.5S7.7761,9,7.5,9 S7,8.7761,7,8.5S7.2239,8,7.5,8z M4.125,12L3,15h1.5l0.375-1h5.25l0.375,1H12l-1.125-3h-1.5l0.375,1h-4.5l0.375-1H4.125z","rail-metro":"M5.5,0c0,0-0.75,0-1,1L3,6.5V10c0,1,1,1,1,1h7c0,0,1,0,1-1V6.5L10.5,1c-0.2727-1-1-1-1-1H5.5z M6.5,1.5h2 c0,0,0.5357,0,0.75,1L10,6c0.2146,1.0017-1,1-1,1H6c0,0-1.2146,0.0017-1-1l0.75-3.5C5.9643,1.5,6.5,1.5,6.5,1.5z M5,8 c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1S4,9.5523,4,9S4.4477,8,5,8z M6.75,8h1.5C8.3885,8,8.5,8.1115,8.5,8.25S8.3885,8.5,8.25,8.5 h-1.5C6.6115,8.5,6.5,8.3885,6.5,8.25S6.6115,8,6.75,8z M10,8c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1S9,9.5523,9,9S9.4477,8,10,8z M4.125,12L3,15h1.5l0.375-1h5.25l0.375,1H12l-1.125-3h-1.5l0.375,1h-4.5l0.375-1H4.125z","ranger-station":"M9,0.5l-2,1v3.7734L2,8v6h4v-4h3 v4h4V8L8,5.2734V4l1-0.5l2,1l2-1v-3l-2,1L9,0.5z",recycling:"M2.4556,8.6134C2.118,9.2112,1.501,10.3021,2.593,11.0312c0.3432,0.2268,0.7275,0.3836,1.131,0.4614 C4.0314,11.5382,4.0466,12.0111,3.6855,12c-0.3849-0.0193-2.2596-0.1934-2.5606-1.5995c-0.1556-0.8213,0.0204-1.5571,0.504-2.3556 L2.3263,6.812L1.0196,6.0688L4.5,4v4L3.1941,7.3057L2.4556,8.6134z M6.7,2.034c1.155-0.628,1.823,0.43,2.191,1.007l0.8059,1.2631 L8.431,5.112L12,6.986L11.803,2.96l-1.2639,0.8066L9.779,2.578C9.2572,1.8321,8.875,1.2812,7.944,1.033 C6.307,0.7203,5.3007,2.6194,5.311,2.607c-0.1639,0.2871,0.2156,0.5399,0.451,0.21C6.0202,2.4969,6.339,2.2309,6.7,2.034z M13.294,8.221c-0.0877-0.1897-0.5487-0.1413-0.419,0.267c0.1312,0.3892,0.1845,0.8003,0.157,1.21C12.939,11.01,11.684,11,11,11H9.5 V9.5l-3.5,2l3.488,2.025L9.4926,12H11c0.8906,0.0153,1.5999-0.1759,2.2-0.713C14.4,10.226,13.294,8.221,13.294,8.221z","religious-buddhist":"M13.4978,6.9989h-0.5329c-0.09997-1.10708-0.53528-2.15731-1.2478-3.0105l0.378-0.3784 c0.19605-0.19447,0.19733-0.51105,0.00286-0.7071C11.90698,2.71037,11.59733,2.70518,11.4,2.8912l0,0l-0.0123,0.0123L11.01,3.2815 c-0.85331-0.71298-1.90385-1.14864-3.0113-1.2488V1.5c0-0.27614-0.22386-0.5-0.5-0.5s-0.5,0.22386-0.5,0.5v0.5327 C5.8916,2.13306,4.84144,2.56871,3.9884,3.2815L3.61,2.9C3.41007,2.70952,3.09358,2.71717,2.9031,2.9171 c-0.184,0.19312-0.184,0.49668,0,0.6898l0.3784,0.3775C2.56787,4.83856,2.13216,5.89031,2.0327,6.9989H1.5 c-0.27614,0-0.5,0.22386-0.5,0.5s0.22386,0.5,0.5,0.5h0.5327c0.09987,1.10695,0.535,2.15711,1.2473,3.0103l-0.3779,0.3779 c-0.19538,0.19514-0.19557,0.51173-0.00043,0.70711c0.19053,0.19076,0.49798,0.19611,0.69503,0.01209L3.609,12.094l0.3779-0.3779 c0.8533,0.71312,1.90395,1.1488,3.0115,1.2488v0.5329c0,0.27614,0.22386,0.5,0.5,0.5s0.5-0.22386,0.5-0.5v-0.5329 c1.10719-0.10026,2.15744-0.53592,3.0105-1.2488l0.3779,0.3779c0.19514,0.19538,0.51173,0.19557,0.70711,0.00043 c0.19076-0.19053,0.19611-0.49798,0.01209-0.69503l-0.0123-0.0123l0,0l-0.3779-0.3779c0.71283-0.8531,1.14848-1.90333,1.2488-3.0105 h0.5329c0.27609-0.00544,0.49549-0.23366,0.49006-0.50975C13.98227,7.22064,13.76611,7.00435,13.4978,6.9989z M7.9987,3.0505 c0.83871,0.09248,1.63383,0.42154,2.2926,0.9488l-2.15,2.15c-0.04663-0.0218-0.09436-0.04116-0.143-0.058V3.0505H7.9987z M6.9987,3.0505V6.091c-0.04864,0.01684-0.09637,0.0362-0.143,0.058l-2.15-2.15c0.65897-0.52726,1.45431-0.85622,2.2932-0.9485 H6.9987z M3.9987,4.7062l2.15,2.15c-0.0218,0.04663-0.04116,0.09436-0.058,0.143H3.0505 c0.09243-0.83886,0.42154-1.63413,0.9489-2.293L3.9987,4.7062z M3.0505,7.9987H6.091c0.01687,0.04863,0.03623,0.09636,0.058,0.143 l-2.15,2.15C3.47173,9.63281,3.14276,8.83753,3.0505,7.9987z M6.9989,11.9471c-0.83871-0.09248-1.63383-0.42154-2.2926-0.9488 l2.15-2.15c0.04663,0.0218,0.09436,0.04116,0.143,0.058v3.0405L6.9989,11.9471z M7.9989,11.9471V8.9066 c0.04864-0.01683,0.09638-0.03619,0.143-0.058l2.15,2.15c-0.65895,0.5273-1.4543,0.85627-2.2932,0.9485H7.9989z M10.9989,10.2914 l-2.15-2.15c0.02177-0.04664,0.04113-0.09437,0.058-0.143h3.0415c-0.09276,0.83901-0.42232,1.6343-0.9502,2.293H10.9989z M8.9066,6.9989c-0.01684-0.04864-0.0362-0.09637-0.058-0.143l2.15-2.15c0.52726,0.65877,0.85632,1.45389,0.9488,2.2926H8.9066 V6.9989z","religious-christian":"M6,0.9552V4H3v3h3v8h3V7h3V4H9V1 c0-1-0.9776-1-0.9776-1H6.9887C6.9887,0,6,0,6,0.9552z","religious-jewish":"M7.50049 0.5L5.49949 4H1L3.49949 7.5L1 11H5.49949L7.50049 14.5L9.50049 11H14L11.5005 7.5L14 4H9.50049L7.50049 0.5Z","religious-muslim":"M12.0962 12.0962C9.55779 14.6346 5.44221 14.6346 2.90381 12.0962C0.365398 9.55779 0.365398 5.44221 2.90381 2.90381C5.44221 0.365398 9.55779 0.365398 12.0962 2.90381C12.2675 3.07512 12.4273 3.25362 12.5754 3.43832C10.5566 1.86336 7.63341 2.00437 5.77643 3.86135C3.76685 5.87092 3.76685 9.12908 5.77643 11.1387C7.63341 12.9956 10.5566 13.1366 12.5754 11.5617C12.4273 11.7464 12.2675 11.9249 12.0962 12.0962Z M10.1 6.5H8L9.7 8L9 10.5L11 9L13 10.5L12.3 8L14 6.5H11.9L11 4.5L10.1 6.5Z","religious-shinto":"M12.5,2.5H2.5a.9448.9448,0,0,0-1,1,.9448.9448,0,0,0,1,1H3V12a.9448.9448,0,0,0,1,1,.9448.9448,0,0,0,1-1V8h5v4a.9448.9448,0,0,0,1,1,.9448.9448,0,0,0,1-1V4.5h.5a.9448.9448,0,0,0,1-1,.9448.9448,0,0,0-1-1ZM10,6H8V4.5h2ZM7,6H5V4.5H7Z","residential-community":"m11.8 12.5v-2.5c.7-.1 1.2-.7 1.2-1.5s-.7-1.5-1.5-1.5-1.5.7-1.5 1.5c0 .7.5 1.4 1.2 1.5v2.5h-4.2v-11.5h-5v11.5h-1v.5h13v-.5zm-5.8-2.5h-3v-1h3zm0-2h-3v-1h3zm0-2h-3v-1h3zm0-2h-3v-1h3z",restaurant:"M3.5,0l-1,5.5c-0.1464,0.805,1.7815,1.181,1.75,2L4,14c-0.0384,0.9993,1,1,1,1s1.0384-0.0007,1-1L5.75,7.5 c-0.0314-0.8176,1.7334-1.1808,1.75-2L6.5,0H6l0.25,4L5.5,4.5L5.25,0h-0.5L4.5,4.5L3.75,4L4,0H3.5z M12,0 c-0.7364,0-1.9642,0.6549-2.4551,1.6367C9.1358,2.3731,9,4.0182,9,5v2.5c0,0.8182,1.0909,1,1.5,1L10,14c-0.0905,0.9959,1,1,1,1 s1,0,1-1V0z","restaurant-bbq":"M12.0166,12.5H14.5L12,15V12.5165a1.6189,1.6189,0,0,1-1.1367.4806,1.6,1.6,0,0,1-.9931-.3448A6.7838,6.7838,0,0,1,9.8783,2.3418,1.6179,1.6179,0,0,1,12,2.462V0l2.5,2.5H12.036a1.5927,1.5927,0,0,1,.1225.1289,1.6239,1.6239,0,0,1-.2871,2.2793A3.5148,3.5148,0,0,0,10.75,7.4951a3.5578,3.5578,0,0,0,1.1465,2.6162,1.6352,1.6352,0,0,1,.2325,2.2783C12.0949,12.4315,12.0535,12.4624,12.0166,12.5ZM2.504,0l-1,5.5c-.1464.805,1.7815,1.181,1.75,2L3.004,14a.9625.9625,0,0,0,1,1,.9625.9625,0,0,0,1-1l-.25-6.5c-.0314-.8176,1.7334-1.1808,1.75-2l-1-5.5h-.5l.25,4-.75.5L4.254,0h-.5l-.25,4.5L2.754,4l.25-4Z","restaurant-noodle":"M4.457,11.9892,1,8V7H14V8l-3.4961,3.9891ZM3.9882,2.5a.5.5,0,0,0-1,0v.5671l-1.7969.3675a.25.25,0,1,0,.094.4911l1.7029-.2776v.5662l-1.75.0357a.25.25,0,0,0,0,.5l1.75.0357V5.998h1Zm9.5,1.5-7.5.2625V2.9951l7.594-1.0737a.5.5,0,0,0-.1881-.9822L5.9792,2.4555a.4963.4963,0,0,0-.991.0445v.2276l-.493.1009V3.18l.493-.08V4.2974l-.493.01v.4608L13.4882,5a.5.5,0,0,0,0-1ZM10,13H5v.5757h5Z","restaurant-pizza":"M1.393 7.931.025 7.315A14.05 14.05 0 0 1 7.764-.001l.027.07.511 1.331-.003.001a12.613 12.613 0 0 0-6.906 6.53Zm10.963 4.96L2.42 8.414a11.604 11.604 0 0 1 6.354-6.009l.003-.001.817 2.122c-.028-.002-.052-.016-.081-.016a1.062 1.062 0 1 0 .764 1.793l2.413 6.273a.249.249 0 0 1-.334.316ZM7.426 7.52a.925.925 0 1 0-1.849 0 .925.925 0 0 0 1.849 0Zm3.017 2.03a.925.925 0 1 0-.07.353.924.924 0 0 0 .07-.354Z","restaurant-seafood":"M11.433,10.0889h2.49v.75H11.8525A4.81,4.81,0,0,1,13.4751,13.14l-.71.2422a4.01,4.01,0,0,0-1.74-2.1971,1.7775,1.7775,0,0,1-1.0352.4538L8.4374,12.9852H6.5188L4.9839,11.623a2.0222,2.0222,0,0,1-1.0929-.44,4.0093,4.0093,0,0,0-1.7426,2.1988l-.71-.2422a4.8146,4.8146,0,0,1,1.622-2.3007H.99v-.75H3.4839l.8633-.6764L3.3329,7.7567a2.2738,2.2738,0,0,1-.269.0293,2.0192,2.0192,0,0,1-2.0532-2.08c0-2.08,1.979-4.16,1.979-4.16L2.2531,5.9931l1.7255-.0012L4.9913,2.9852l0,2.9956a2.0936,2.0936,0,0,1-.6993,1.4121l.8536,1.3936L5.23,8.7208a3.8669,3.8669,0,0,1,4.4784,0l.0605.0474.869-1.4152a2.1177,2.1177,0,0,1-.6433-1.3722l0-2.9956.9836,3.0067,1.7547.0012-.7367-4.4466s1.982,2.08,1.982,4.16a2.0211,2.0211,0,0,1-2.0562,2.08,2.3125,2.3125,0,0,1-.3441-.0376L10.5676,9.3945l.8407.6593C11.4212,10.0638,11.4218,10.0782,11.433,10.0889Z","restaurant-sushi":"M5.5,3C5.2239,3,5,3.2239,5,3.5H2.75C1.2265,3.5,0,4.7265,0,6.25c0,0.8274,0.3687,1.5592,0.9434,2.0625 C0.3803,8.6675,0,9.2893,0,10c0,1.0994,0.9006,2,2,2h3.5h2H10c1.0994,0,2-0.9006,2-2c0-0.4883-0.1863-0.9294-0.4805-1.2773 l2.1777,0.9629c0.3716,0.1831,0.8213,0.0303,1.0044-0.3413c0.1831-0.3716,0.0303-0.8213-0.3413-1.0044 c-0.0188-0.0093-0.038-0.0178-0.0576-0.0254l-1.8105-0.8027l1.6309-0.2715c0.4099-0.0599,0.6936-0.4408,0.6337-0.8507 c-0.0544-0.3724-0.3765-0.6469-0.7528-0.6415c-0.0426,0.0003-0.085,0.0042-0.127,0.0117l-2.1309,0.3555 C11.2595,4.9521,10.0387,3.7837,8,3.5488V3.5C8,3.2239,7.7761,3,7.5,3H5.5z M6,4h1v5v2H6V9V4z M9.5,8 c0.259,0,0.4638,0.1974,0.4902,0.4492l0.0762-0.1328c0.1385-0.2399,0.4437-0.3201,0.6836-0.1816s0.3201,0.4418,0.1816,0.6816 l-0.2578,0.4473C10.8727,9.445,11,9.7021,11,10c0,0.5626-0.4374,1-1,1H8V9h1V8.5C9,8.223,9.223,8,9.5,8z M2.4395,8.0703 c0.1934-0.0242,0.3903,0.0662,0.4941,0.2461l0.2012,0.3477C3.226,8.5647,3.3538,8.5,3.5,8.5C3.777,8.5,4,8.723,4,9h1v2H2 c-0.5626,0-1-0.4374-1-1s0.4374-1,1-1h0.1738L2.0684,8.8164C1.9299,8.5765,2.0101,8.2733,2.25,8.1348 C2.31,8.1001,2.375,8.0784,2.4395,8.0703z","road-accident":"M12.6,8.7,11.5,6.5a1.05,1.05,0,0,0-.9-.5H4.4a1.05,1.05,0,0,0-.9.5L2.4,8.7,1.16,9.852a.5.5,0,0,0-.16.366V14.5a.5.5,0,0,0,.5.5h2c.2,0,.5-.2.5-.4V14h7v.5c0,.2.2.5.4.5h2.1a.5.5,0,0,0,.5-.5V10.218a.5.5,0,0,0-.16-.366ZM4.5,7h6l1,2h-8ZM5,11.6c0,.2-.3.4-.5.4H2.4c-.2,0-.4-.3-.4-.5V10.4c.1-.3.3-.5.6-.4l2,.4c.2,0,.4.3.4.5Zm8-.1c0,.2-.2.5-.4.5H10.5c-.2,0-.5-.2-.5-.4v-.7c0-.2.2-.5.4-.5l2-.4c.3-.1.5.1.6.4ZM8,4H7L6,0H9ZM1.1,1.8,3.7.3l1.1,4L4,4.7ZM11.3.3l2.6,1.5L11,4.8l-.9-.5Z",roadblock:"M7.5 14C11.0899 14 14 11.0899 14 7.5C14 3.91015 11.0899 1 7.5 1C3.91015 1 1 3.91015 1 7.5C1 11.0899 3.91015 14 7.5 14ZM12 6V9H3V6H12Z",rocket:"m11.5547 2c-2.14407 0-5.02107 1.471-6.95307 4h-1.6016c-1.1573 0-1.8206.8638-2.277302 1.7773l-.6114 1.2227h1.443402 1.4453l1.5 1.5 1.5 1.5v1.4453 1.4434l1.2227-.6113c.9135-.4568 1.7773-1.1201 1.7773-2.2774v-1.6016c2.52897-1.932 3.99997-4.809 3.99997-6.9531v-1.4453zm-2.55467 3c.5523 0 .99997.4477.99997 1s-.44767 1-.99997 1-1-.4477-1-1 .4477-1 1-1zm-6.5 6-.5.5c-.7222.7222-1 2.5-1 2.5s1.698-.198 2.5-1l.5-.5z",school:"M5.542 3.647 3.106 3l.443-1.63a.505.505 0 0 1 .618-.352l1.46.392a.5.5 0 0 1 .355.613l-.44 1.624Zm-4.52 7.356a.496.496 0 0 1-.005-.276l1.819-6.726 2.435.647-1.819 6.726a.499.499 0 0 1-.143.237l-1.457 1.347a.152.152 0 0 1-.247-.066l-.583-1.889ZM10 5c-2.25 0-3-.75-3-3 2.25 0 3 .75 3 3Zm-1.4 7.984c-1.37.21-3.126-1.706-3.52-3.8L5.969 5.9c.399-.35.903-.533 1.419-.533a2.71 2.71 0 0 1 1.564.489.964.964 0 0 0 1.089-.01 2.438 2.438 0 0 1 1.46-.479c.77 0 1.643.489 2.05 1.201 1.536 2.696-1.194 6.709-3.144 6.417a.867.867 0 0 1-.255-.093 1.427 1.427 0 0 0-1.302 0 .866.866 0 0 1-.25.092Z","school-JP":"M12.5,2.9992h-4v-1a1,1,0,0,0-2,0v1h-4a1,1,0,0,0,0,2h.67A10.8169,10.8169,0,0,0,5.15,8.8105c.3331.4313.6594.8248.9785,1.1936a14.3825,14.3825,0,0,1-2.6074,2.117,1,1,0,1,0,.955,1.7581h0A15.65,15.65,0,0,0,7.5,11.4613a15.65,15.65,0,0,0,3.0239,2.4179,1,1,0,1,0,.9551-1.7578,14.3789,14.3789,0,0,1-2.6073-2.1171c.3191-.3688.6453-.7622.9784-1.1935a10.818,10.818,0,0,0,1.98-3.8116h.67a1,1,0,0,0,0-2ZM8.2671,7.5879c-.2614.3385-.5154.6413-.767.937-.2517-.2957-.5057-.5985-.7672-.937A9.5885,9.5885,0,0,1,5.2676,4.9992H9.7319A9.5789,9.5789,0,0,1,8.2671,7.5879Z",scooter:"M4.908,12a1.5,1.5,0,1,1-2.816,0Zm8.65-6C13.539,6,13,6,13,6V3h.351a.282.282,0,0,0,.223-.148l.268-.536a.334.334,0,0,0,.009-.066A.25.25,0,0,0,13.6,2H13V1.7a.215.215,0,0,0-.2-.2H9.25a.25.25,0,0,0,0,.5H12V6.6L7.6,10H6V7.5A.5.5,0,0,0,5.5,7H5V5H6.75a.25.25,0,0,0,0-.5L2.266,4.034c-.006,0-.01-.007-.016-.007a.25.25,0,0,0-.25.25V4.75A.25.25,0,0,0,2.25,5H3V7H2.5A1.538,1.538,0,0,0,1,8.5v2a.472.472,0,0,0,.442.5C1.461,11,7.5,11,7.5,11L10,10h3.5a.472.472,0,0,0,.5-.442C14,9.539,14,6.5,14,6.5A.472.472,0,0,0,13.558,6ZM12.5,11A1.5,1.5,0,1,0,14,12.5,1.538,1.538,0,0,0,12.5,11Z",shelter:"M13 2L1 6V8L2 7.66667V13H12V11H4V7L13 4V2Z",shoe:"M9.5,7a9.97,9.97,0,0,1-1.315-.948L6.01,3.221a.558.558,0,0,0-1,.279H5V5H3.209a.5.5,0,0,1-.357-.148S2.5,4,2,4H1.5a.5.5,0,0,0-.5.5V9H6.5c1.5,0,2,1,3.5,1h4V9.5C14,8,10.547,7.594,9.5,7Zm0,4a3.131,3.131,0,0,1-1.526-.447A4.1,4.1,0,0,0,6,10H1v1.5a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,.5-.5V11a3.134,3.134,0,0,1,1.526.447A4.1,4.1,0,0,0,9.5,12h4a.5.5,0,0,0,.5-.5V11Z",shop:"m13.33 5h-1.83l-.39-2.33c-.1601-.7182-.7017-1.2905-1.41-1.49-.3493-.1124-.7131-.173-1.08-.18h-2.24c-.3669.007-.7307.0676-1.08.18-.7083.1995-1.2499.7718-1.41 1.49l-.39 2.33h-1.83c-.2761-.0017-.5013.2208-.503.497-.0003.0519.0074.1035.023.153l1.88 6.3c.1964.6246.7753 1.0496 1.43 1.05h6c.651-.0047 1.2247-.4289 1.42-1.05l1.88-6.3c.0829-.2634-.0635-.5441-.3269-.627-.0463-.0146-.0945-.0223-.1431-.023zm-8.81 0 .36-2.17c.0807-.3625.3736-.6395.74-.7.2463-.0776.5019-.1213.76-.13h2.24c.2614.0078.5205.0515.77.13.3664.0605.6593.3375.74.7l.35 2.17h-6z",skateboard:"M1.25 5.25V5H2.75V5.25C2.75 5.94036 3.30964 6.5 4 6.5H11C11.6904 6.5 12.25 5.94036 12.25 5.25V5H13.75V5.25C13.75 6.76878 12.5188 8 11 8H4C2.48122 8 1.25 6.76878 1.25 5.25ZM5 10C5 10.5523 4.55228 11 4 11 3.44772 11 3 10.5523 3 10 3 9.44772 3.44772 9 4 9 4.55228 9 5 9.44772 5 10ZM12 10C12 10.5523 11.5523 11 11 11 10.4477 11 10 10.5523 10 10 10 9.44772 10.4477 9 11 9 11.5523 9 12 9.44772 12 10Z",skiing:"M15,4.5C15,5.3284,14.3284,6,13.5,6S12,5.3284,12,4.5S12.6716,3,13.5,3S15,3.6716,15,4.5z M13.72,11.89 c-0.0623-0.1197-0.2083-0.1684-0.33-0.11c-0.6846,0.4194-1.5208,0.5111-2.28,0.25L4.78,8.86L7.5,7.5v-3L9,5.25v3L10.5,9L12,8.25 L10.5,7.5V3l-3-1.5L6,2.25v4.5L3.28,8.11L0.61,6.78C0.4857,6.7192,0.3358,6.7707,0.275,6.895C0.2142,7.0193,0.2657,7.1692,0.39,7.23 l10.5,5.25c0.3156,0.135,0.6568,0.1998,1,0.19c0.5998-0.0103,1.1889-0.161,1.72-0.44c0.1236-0.0615,0.174-0.2116,0.1125-0.3352 C13.7217,11.8932,13.7208,11.8916,13.72,11.89z",slaughterhouse:"M15 6.1c0 1.376-1.363.694-1.363.694L12.5 7H11a5.31 5.31 0 0 1-1.5 2 3.272 3.272 0 0 1-.523 1.125c-.077.091-.06.2-.068.33l.091 2.3a.264.264 0 0 1-.266.25.242.242 0 0 1-.234-.205L8 9.5H4v3.253a.247.247 0 0 1-.247.247.25.25 0 0 1-.24-.2L3 10v-.5a8.2 8.2 0 0 1-1.426-.1A1.886 1.886 0 0 1 .9 10.826c-.128.083-.148.211-.133.386l.19 1.538a.25.25 0 0 1-.25.25.238.238 0 0 1-.23-.174l-.427-1.7a.35.35 0 0 1 .055-.3c.437-.68-.049-2.55-.049-2.55A1.354 1.354 0 0 1 0 7.922V5.5a2.027 2.027 0 0 1 2.736-1.914s.1.03.142.049a15.15 15.15 0 0 0 3.814.038l.18-.062a1.842 1.842 0 0 1 1.26 0c.078.02.154.05.226.089.1.049.196.106.287.171A1.8 1.8 0 0 0 9.5 4h1V3l.5.5c.5-1.5 2.5-1 2.5-1a1.687 1.687 0 0 0-1.5 1l2.5 2a.612.612 0 0 1 .186-.069.318.318 0 0 1 .314.321V6.1Z",slipway:"m2 10 12 1.495V12H2v-2Zm12-4-1 1v.583L5.196 4.332l.063-.125L6.61 2.845h.831a.35.35 0 0 0 0-.7h-.976a.352.352 0 0 0-.248.103L4.723 3.753a.371.371 0 0 0-.066.09l-.109.219L2 3c0 2-.03 3.958 2.86 4.5C6.28 7.765 13 9 13 9l2-2-1-1Z",snowmobile:"M15 10a1 1 0 0 1-1 1H9.414a1 1 0 0 1-.707-.293L7.146 9.146A.499.499 0 0 0 6.793 9H3.334a1 1 0 0 1-.601-.2L1.386 7.788A1.013 1.013 0 0 1 1 7a.995.995 0 0 1 .472-.844L5 4l1.038-1.692A.5.5 0 0 1 7 2.5V6l1 1h1l5.412-.992a.5.5 0 0 1 .355.915L13 8l1.631 1.224A.99.99 0 0 1 15 10Zm-9.5 0H3.225c-.504 0-.999-.127-1.44-.368L.74 9.062a.5.5 0 0 0-.48.877l1.269.693c.441.242.937.368 1.44.368H5.5a.5.5 0 0 0 0-1Z",soccer:"M11,1.5C11,2.3284,10.3284,3,9.5,3S8,2.3284,8,1.5S8.6716,0,9.5,0S11,0.6716,11,1.5z M11,11c-0.5523,0-1,0.4477-1,1 s0.4477,1,1,1s1-0.4477,1-1S11.5523,11,11,11z M12.84,6.09l-1.91-1.91l0,0C10.8399,4.0675,10.7041,4.0014,10.56,4H3.5 C3.2239,4,3,4.2239,3,4.5S3.2239,5,3.5,5h2.7L3,11.3l0,0c-0.0138,0.066-0.0138,0.134,0,0.2c-0.058,0.2761,0.1189,0.547,0.395,0.605 C3.6711,12.163,3.942,11.9861,4,11.71l0,0L5,10h2l-1.93,4.24l0,0C5.0228,14.3184,4.9986,14.4085,5,14.5 c-0.0552,0.2761,0.1239,0.5448,0.4,0.6c0.2761,0.0552,0.5448-0.1239,0.6-0.4l0,0l4.7-9.38l1.44,1.48 c0.211,0.1782,0.5264,0.1516,0.7046-0.0593C13.0037,6.5523,13.0018,6.2761,12.84,6.09z",square:"M12 13H3C2.4477 13 2 12.5523 2 12V3C2 2.4477 2.4477 2 3 2H12C12.5523 2 13 2.4477 13 3V12C13 12.5523 12.5523 13 12 13Z","square-stroked":"M11.7 3.3V11.7H3.3V3.3H11.7ZM12 2H3C2.4477 2 2 2.4477 2 3V12C2 12.5523 2.4477 13 3 13H12C12.5523 13 13 12.5523 13 12V3C13 2.4477 12.5523 2 12 2Z",stadium:"M7,1v2v1.5v0.5098C4.1695,5.1037,2.0021,5.9665,2,7v4.5c0,1.1046,2.4624,2,5.5,2s5.5-0.8954,5.5-2V7 c-0.0021-1.0335-2.1695-1.8963-5-1.9902V4.0625L11,2.75L7,1z M3,8.1465c0.5148,0.2671,1.2014,0.4843,2,0.6328v2.9668 C3.7948,11.477,3,11.0199,3,10.5V8.1465z M12,8.1484V10.5c0,0.5199-0.7948,0.977-2,1.2461V8.7812 C10.7986,8.6328,11.4852,8.4155,12,8.1484z M6,8.9219C6.4877,8.973,6.9925,8.9992,7.5,9C8.0073,8.9999,8.5121,8.9743,9,8.9238 v2.9844C8.5287,11.964,8.0288,12,7.5,12S6.4713,11.964,6,11.9082V8.9219z",star:"M7.5,0l-2,5h-5l4,3.5l-2,6l5-3.5 l5,3.5l-2-6l4-3.5h-5L7.5,0z","star-stroked":"m7.5 2.69 1.07 2.68.25.63h3l-2 1.75-.5.44.23.63 1 3.13-2.48-1.77-.57-.4-.57.4-2.52 1.77 1-3.13.21-.63-.5-.44-2-1.75h3l.25-.63zm0-2.69-2 5h-5l4 3.5-2 6 5-3.5 5 3.5-2-6 4-3.5h-5z",suitcase:"M4.5 4V2C4.5 1.44772 4.94772 1 5.5 1H9.5C10.0523 1 10.5 1.44772 10.5 2V4H12C12.5523 4 13 4.44772 13 5V11C13 11.5523 12.5523 12 12 12H3C2.44771 12 2 11.5523 2 11V5C2 4.44772 2.44772 4 3 4H4.5ZM5.5 2V4H9.5V2H5.5Z",swimming:"M10.1113,2C9.9989,2,9.6758,2.1465,9.6758,2.1465L6.3535,3.8262 C5.9111,4.0024,5.7358,4.7081,6.002,5.0605l0.9707,1.4082L3.002,8.498L5,9.998l2.502-1.5l2.5,1.5l1.002-1.002l-3-4l2.5566-1.5293 c0.5286-0.2662,0.4434-0.7045,0.4434-0.9707C10.9999,2.2861,10.6437,2,10.1113,2z M12.252,5C11.2847,5,10.5,5.7827,10.5,6.75 s0.7847,1.752,1.752,1.752s1.75-0.7847,1.75-1.752S13.2192,5,12.252,5z M2.5,10L0,11.5V13l2.5-1.5L5,13l2.502-1.5l2.5,1.5L12,11.5 l3,1.5v-1.5L12,10l-1.998,1.5l-2.5-1.5L5,11.5L2.5,10z","table-tennis":"M11.9676,10.2275a3.8116,3.8116,0,0,1-1.9122.9831L3.7678,4.9338A4.0283,4.0283,0,0,1,4.7725,3.0324C7.03.7745,9.98.2235,12.3781,2.6219S14.2255,7.97,11.9676,10.2275Zm-6.987,1.6093A3.8422,3.8422,0,0,1,6.149,11.278,4.5328,4.5328,0,0,1,8,11.4452L3.5456,7a4.4126,4.4126,0,0,1,.1572,1.9223,3.6639,3.6639,0,0,1-.5208,1.1159c-1.072,1.263-2.132,1.727-2.132,2.1879A1.8378,1.8378,0,0,0,2.7739,13.95C3.2348,13.95,3.6917,12.9368,4.9806,11.8368Z",teahouse:"M8.00002 5C8.00002 5 10 4.9 10 3.4 10 2.46598 9.17751 2.20864 8.47606 1.98917 7.95458 1.82601 7.5 1.68378 7.5 1.3 7.5.386843 8 0 8 0 8 0 7 .531581 7 1.5 7 2.21063 7.54045 2.46176 8.05947 2.70292 8.53888 2.92568 9 3.13994 9 3.7 9 4.7 8.00002 5 8.00002 5ZM11.8372 6.67447C11.3755 8.62063 10.7854 11.1073 9 12V14H6V12C4.21455 11.1073 3.62454 8.62063 3.16276 6.67447 3.10728 6.44061 3.05364 6.21455 3 6H12C11.9464 6.21453 11.8927 6.44063 11.8372 6.67447ZM6.99998 4C6.99998 5 5.49998 5 5.49998 5 5.49998 5 6.29295 4.9 6.29295 4.3 6.29295 4.02526 6.01604 3.85489 5.71852 3.67184 5.37315 3.45935 5 3.22977 5 2.8 5 1.9661 5.99998 1.5 5.99998 1.5 5.99998 1.5 5.49998 1.77344 5.49998 2.5 5.49998 2.88823 5.85322 3.04095 6.21687 3.19818 6.60257 3.36494 6.99998 3.53675 6.99998 4Z",telephone:"M4.51,8.88a0.51,0.51,0,0,0,0,.72l0.72,0.72L3.07,12.5,2.7,12.13A2.24,2.24,0,0,1,2,10.69V9.24a2.24,2.24,0,0,1,.7-1.45L7.77,2.72A2.24,2.24,0,0,1,9.22,2h1.45a2.24,2.24,0,0,1,1.45.72l0.36,0.36L10.31,5.26,9.58,4.53a0.51,0.51,0,0,0-.72,0ZM4.13,13.6a1,1,0,0,0,1.4137.0363Q5.5623,13.6186,5.58,13.6l0.72-.72a1,1,0,0,0,.0363-1.4137Q6.3186,11.4477,6.3,11.43Zm7.25-7.28a1,1,0,0,0,1.4137.0363C12.8061,6.3445,13.55,5.6,13.55,5.6a1,1,0,0,0,.0363-1.4137Q13.5686,4.1677,13.55,4.15Z",tennis:"M13.1284,1.87c-1.5418-1.5406-4.5535-.7759-6.28,1.05a6.8282,6.8282,0,0,0-1.88,4.4,5.7275,5.7275,0,0,1-.57,2.72.6814.6814,0,0,0-.67.17l-2.49,2.5a.6941.6941,0,0,0,0,.98l.07.07a.7051.7051,0,0,0,.98,0l2.5-2.49a.683.683,0,0,0,.18-.66,8.5694,8.5694,0,0,1,3.12-.58,6.5487,6.5487,0,0,0,3.99-1.87C14.1084,6.13,14.579,3.3194,13.1284,1.87Zm-2.2-.04a2.3071,2.3071,0,0,1,1.64.61,2.548,2.548,0,0,1,.5,2.44l-2.95-2.96A3.8648,3.8648,0,0,1,10.9284,1.83Zm-4.57,6.81a2.6485,2.6485,0,0,1-.48-2.55l3.04,3.04A2.8522,2.8522,0,0,1,6.3584,8.64Zm2.88.39-3.26-3.27a5.1623,5.1623,0,0,1,.49-1.08l3.85,3.85A5.5093,5.5093,0,0,1,9.2384,9.03Zm1.34-.66-3.94-3.95a5.2032,5.2032,0,0,1,.74-.9l4.1,4.1A5.6869,5.6869,0,0,1,10.5784,8.37Zm1.11-.96-4.1-4.1a5.5714,5.5714,0,0,1,.84-.65l3.92,3.92A5.7187,5.7187,0,0,1,11.6884,7.41Zm.82-1.09L8.6984,2.5a4.1707,4.1707,0,0,1,1.09-.48l3.2,3.2A5.5656,5.5656,0,0,1,12.5084,6.32Z",theatre:"M2,1c0,0-1,0-1,1v5.1582C1,8.8885,1.354,11,4.5,11H5V8L2.5,9c0,0,0-2.5,2.5-2.5V5 c0-0.7078,0.0868-1.3209,0.5-1.7754C5.8815,2.805,6.5046,1.9674,8.1562,2.7539L9,3.3027V2c0,0,0-1-1-1C7.2922,1,6.0224,2,5,2 S2.7865,1,2,1z M3,3c0.5523,0,1,0.4477,1,1S3.5523,5,3,5S2,4.5523,2,4S2.4477,3,3,3z M7,4c0,0-1,0-1,1v5c0,2,1,4,4,4s4-2,4-4V5 c0-1-1-1-1-1c-0.7078,0-1.9776,1-3,1S7.7865,4,7,4z M8,6c0.5523,0,1,0.4477,1,1S8.5523,8,8,8S7,7.5523,7,7S7.4477,6,8,6z M12,6 c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1s-1-0.4477-1-1S11.4477,6,12,6z M7.5,10H10h2.5c0,0,0,2.5-2.5,2.5S7.5,10,7.5,10z",toilet:"M3 1.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0ZM11.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM3.29 4a1 1 0 0 0-.868.504L.566 7.752a.5.5 0 1 0 .868.496l1.412-2.472A345.048 345.048 0 0 0 1 11h2v2.5a.5.5 0 0 0 1 0V11h1v2.5a.5.5 0 0 0 1 0V11h2L6.103 5.687l1.463 2.561a.5.5 0 1 0 .868-.496L6.578 4.504A1 1 0 0 0 5.71 4H3.29ZM9 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v4a.5.5 0 0 1-1 0v-4h-1v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1-1 0v-5Z",toll:"M2.5 1C2.22386 1 2 1.22386 2 1.5V2V13H1.5C1.22386 13 1 13.2239 1 13.5C1 13.7761 1.22386 14 1.5 14H8.5C8.77614 14 9 13.7761 9 13.5C9 13.2239 8.77614 13 8.5 13H7V10.0987L13.7761 5.54576C14.0053 5.39175 14.0663 5.08109 13.9123 4.85189L13.6334 4.43687C13.4794 4.20766 13.1688 4.1467 12.9396 4.3007L7 8.29152V2H7.5C7.77614 2 8 1.77614 8 1.5C8 1.22386 7.77614 1 7.5 1H2.5ZM3 3.5C3 3.22386 3.22386 3 3.5 3H5.5C5.77614 3 6 3.22386 6 3.5V7.5C6 7.77614 5.77614 8 5.5 8H3.5C3.22386 8 3 7.77614 3 7.5V3.5Z",town:"m10.651 6.121c-.0445-.0357-.0999-.05516-.157-.05516s-.1125.01946-.157.05516l-2.245 1.808c-.02881.02323-.05204.05263-.06796.08603-.01593.03341-.02414.06997-.02404.10697v4.625c0 .0671.02666.1315.0741.1789.04745.0474.1118.0741.1789.0741h1.494c.0671 0 .13145-.0267.1789-.0741s.0741-.1118.0741-.1789v-1.747h1v1.747c0 .0671.0267.1315.0741.1789.0475.0474.1118.0741.1789.0741h1.494c.0671 0 .1315-.0267.1789-.0741s.0741-.1118.0741-.1789v-4.627c.0007-.03831-.0074-.07627-.0237-.11095s-.0404-.06514-.0703-.08905zm-.651 3.879h-1v-1h1zm2 0h-1v-1h1zm-6.29-9.184997c-.02299-.034654-.05419-.063081-.09083-.082746s-.07758-.029956-.11917-.029956c-.04158 0-.08252.010291-.11916.029956-.03665.019665-.06785.048092-.09084.082746l-3.248 4.120997c-.02752.0415-.04214.09021-.042.14v7.671c-.00013.0331.00626.0659.0188.0965s.031.0585.0543.082c.02331.0235.05102.0422.08154.0549.03053.0128.06327.0195.09636.0196h2.5c.06632-.0008.12964-.0277.17626-.0749.04661-.0471.07275-.1108.07274-.1771v-1.748h1v1.748c0 .0668.02655.1309.07381.1782s.11136.0738.17819.0738h.748v-6c-.00004-.07511.01684-.14926.04938-.21695.03255-.06769.07993-.12718.13862-.17405l1.812-1.609c0-.05-3.29-4.184997-3.29-4.184997zm-1.71 8.184997h-1v-1h1zm0-3h-1v-1h1zm2 3h-1v-1h1zm0-3h-1v-1h1z","town-hall":"M13,4H9l0-3L7.5,0L6,1v3H2L1,5v1h13V5L13,4z M7.5,1.5c0.4,0,0.7,0.3,0.7,0.8S7.9,3,7.5,3S6.7,2.7,6.7,2.2 C6.7,1.8,7.1,1.5,7.5,1.5z M13,7H2v4l-1,1.5V14h13v-1.5L13,11V7z M5,12.5H4V8h1V12.5z M8,12.5H7V8h1V12.5z M11,12.5h-1V8h1V12.5z",triangle:"m7.5385 1c-.2948 0-.4883.1772-.6154.3846l-5.8462 9.5385c-.0769.0769-.0769.2307-.0769.3846 0 .5385.3846.6923.6923.6923h11.6154c.3846 0 .6923-.1538.6923-.6923 0-.1538 0-.2308-.0769-.3846l-5.7693-9.5385c-.1258-.2081-.3656-.3846-.6153-.3846z","triangle-stroked":"m7.52427.500405c-.2814-.0091-.5456.1419-.6907.3948l-5.5 9.869195c-.3118.5434.0614 1.2355.6664 1.2356h11.00003c.605-.0001.9782-.6922.6664-1.2355l-5.50003-9.869195c-.1362-.2374-.378-.3861-.6421-.3949zm-.0243 2.398895 4.12673 7.4704h-8.25343z",tunnel:"M4 2C2.34315 2 1 3.32706 1 4.96406V12.012C1 12.5576 1.44772 13 2 13H3V8.55391C3 6.09839 5.01472 4.10781 7.5 4.10781C9.98528 4.10781 12 6.09842 12 8.55393V13H13C13.5523 13 14 12.5576 14 12.012V4.96406C14 3.32706 12.6569 2 11 2H4ZM11 10V9.04794C11 6.86526 9.43299 5.09583 7.5 5.09583C5.56701 5.09583 4.00001 6.86526 4 9.04794V13L11 10Z",veterinary:"M7.5,6c-2.5,0-3,2.28-3,3.47h0a6.149,6.149,0,0,0-1.7.89,2,2,0,0,0-.4,2.78,2.06,2.06,0,0,0,2.8.4,4,4,0,0,1,2.3-.69,4,4,0,0,1,2.3.69,2,2,0,0,0,2.8-.3,1.929,1.929,0,0,0-.226-2.72c-.024-.021-.049-.041-.074-.06l-.1-.1a8.992,8.992,0,0,0-1.7-.89h0C10.5,8.29,10,6,7.5,6ZM2.08,4.3a1.58,1.58,0,0,0-.76,2A1.52,1.52,0,0,0,2.93,7.7a1.58,1.58,0,0,0,.76-2A1.52,1.52,0,0,0,2.08,4.3Zm10.85,0a1.58,1.58,0,0,1,.76,2,1.52,1.52,0,0,1-1.61,1.4,1.58,1.58,0,0,1-.76-2A1.52,1.52,0,0,1,12.93,4.3Zm-7.85-3c-.68.09-1,.94-.76,1.87A1.77,1.77,0,0,0,5.93,4.7c.68-.09,1-.94.76-1.87A1.77,1.77,0,0,0,5.08,1.3Zm4.85,0c.68.09,1,.94.76,1.87A1.77,1.77,0,0,1,9.07,4.7c-.68-.08-1-.94-.76-1.87A1.769,1.769,0,0,1,9.93,1.3Z",viewpoint:"M6.02,8.425a2.3859,2.3859,0,0,0-.46.44l-4.55-3.5a7.9976,7.9976,0,0,1,1.51-1.51Zm6.46-4.56-3.5,4.55a2.3971,2.3971,0,0,1,.45.45l4.56-3.5A7.945,7.945,0,0,0,12.48,3.865ZM7.3042,10.0129a1.5,1.5,0,1,0,1.6829,1.2914h0A1.5,1.5,0,0,0,7.3042,10.0129ZM6.43,2.235a7.9329,7.9329,0,0,0-2.06.55l2.2,5.32a2.0438,2.0438,0,0,1,.61-.17Zm2.14.01-.75,5.69a2.49,2.49,0,0,1,.61.16l2.2-5.3A7.2129,7.2129,0,0,0,8.57,2.245Z",village:"M6.176 1.176a.249.249 0 0 0-.352 0l-4.4 4.4A.25.25 0 0 0 1.6 6H3v6.751a.25.25 0 0 0 .249.249h3.5A.248.248 0 0 0 7 12.753v-7.43c0-.066.026-.13.073-.176L8.5 3.5 6.176 1.176ZM6 11H5v-1h1v1Zm0-2H5V8h1v1Zm0-3v1H5V6h1Z M12.75 3h-.5a.25.25 0 0 0-.25.25V5l-1.324-1.824a.249.249 0 0 0-.352 0L8.056 5.932A.246.246 0 0 0 8 6.088v6.66a.249.249 0 0 0 .246.252h1.5a.253.253 0 0 0 .254-.252V11h1v1.747a.253.253 0 0 0 .253.253h1.5a.25.25 0 0 0 .247-.249V3.25a.25.25 0 0 0-.25-.25ZM10 8H9V7h1v1Zm2 0h-1V7h1v1Zm-2 2H9V9h1v1Zm2 0h-1V9h1v1Z",volcano:"M8.4844,1.0002 c-0.1464,0.005-0.2835,0.0731-0.375,0.1875L6.4492,3.2619L4.8438,1.7385C4.4079,1.3374,3.7599,1.893,4.0899,2.385l1.666,2.4004 C5.9472,5.061,6.3503,5.0737,6.5586,4.8108C6.7249,4.6009,7,4.133,7.5,4.133s0.7929,0.4907,0.9414,0.6777 c0.175,0.2204,0.4973,0.2531,0.7129,0.0723l1.668-1.4004c0.4408-0.3741,0.0006-1.0735-0.5273-0.8379L9,3.2268V1.5002 C9.0002,1.2179,8.7666,0.9915,8.4844,1.0002L8.4844,1.0002z M5,6.0002L2.0762,11.924C1.9993,12.0009,2,12.155,2,12.3088 c0,0.5385,0.3837,0.6914,0.6914,0.6914h9.6172c0.3846,0,0.6914-0.153,0.6914-0.6914c0-0.1538,0.0008-0.2309-0.0762-0.3848L10,6.0002 c-0.5,0-1,0.5-1,1v0.5c0,0.277-0.223,0.5-0.5,0.5S8,7.7772,8,7.5002v-0.5c0-0.2761-0.2238-0.5-0.5-0.5S7,6.7241,7,7.0002v2 c0,0.277-0.223,0.5-0.5,0.5S6,9.2772,6,9.0002v-2C6,6.5002,5.5,6.0002,5,6.0002z",volleyball:"M13.91,7.94a5.9086,5.9086,0,0,1-.13.94,8.8218,8.8218,0,0,0-2.17-1.49,8.89,8.89,0,0,0-1.4-.56,8.6142,8.6142,0,0,0-1.82-.35.221.221,0,0,0-.08-.01A7.32,7.32,0,0,1,7.5,4.59c-.01-.01-.01-.01,0-.02a7.7573,7.7573,0,0,1,1.52.15,7.0987,7.0987,0,0,1,1.56.5,6.8585,6.8585,0,0,1,1.4.78A7.4165,7.4165,0,0,1,13.91,7.94Zm-1.87-5a6.2232,6.2232,0,0,0-1.85-1.27,4.2725,4.2725,0,0,0-.98-.36,5.6412,5.6412,0,0,0-1.55-.23,1.2882,1.2882,0,0,0-.32,0A7.4263,7.4263,0,0,0,7.21,2.5c0,.2.01.39.02.58a2.28,2.28,0,0,1,.26-.01,2.6438,2.6438,0,0,1,.28.01,8.2865,8.2865,0,0,1,1.49.16,8.9879,8.9879,0,0,1,1.35.37,8.7922,8.7922,0,0,1,1.53.7,10.18,10.18,0,0,1,1.39.97A6.4588,6.4588,0,0,0,12.04,2.94ZM4.01,8.76a9.4084,9.4084,0,0,1-.62-1.37,9.1038,9.1038,0,0,1-.37-1.41,9.1748,9.1748,0,0,1-.16-1.67V4.28a8.455,8.455,0,0,1,.1-1.34A6.28,6.28,0,0,0,1.47,5.3a6.2222,6.2222,0,0,0-.4,2.2c0,.15.01.3.02.44a5.9086,5.9086,0,0,0,.13.94,5.7343,5.7343,0,0,0,.41,1.23c.22-.05.44-.11.65-.17a8.0188,8.0188,0,0,0,1.9-.88C4.12,8.96,4.06,8.86,4.01,8.76Zm2.6-2.28a9,9,0,0,1-.63-1.76,9.135,9.135,0,0,1-.24-1.48c-.02-.25-.03-.49-.03-.74a9.3777,9.3777,0,0,1,.08-1.19,4.2725,4.2725,0,0,0-.98.36,7.7038,7.7038,0,0,0-.42,1.94c-.02.22-.03.44-.03.67a7.2659,7.2659,0,0,0,.06.93,7.4258,7.4258,0,0,0,.37,1.63,6.4705,6.4705,0,0,0,.59,1.28A8.0174,8.0174,0,0,0,6.65,6.55.2522.2522,0,0,1,6.61,6.48ZM12.7,9.93s0-.01-.01,0a7.0128,7.0128,0,0,0-1.7-1.16c-.06.1-.11.19-.17.29a8.783,8.783,0,0,1-.88,1.22,8.9125,8.9125,0,0,1-1.06,1.07,10.4181,10.4181,0,0,1-1.38.98,8.9933,8.9933,0,0,1-2.64,1.02,6.2985,6.2985,0,0,0,5.28,0,5.9674,5.9674,0,0,0,2.42-1.89,4.8258,4.8258,0,0,0,.65-1.03A6.0315,6.0315,0,0,0,12.7,9.93Zm-5.17-2c-.01.01-.02.03-.03.04a9.26,9.26,0,0,1-1.25,1.4,9.5925,9.5925,0,0,1-1.19.91,9.2683,9.2683,0,0,1-2.62,1.18,6.0989,6.0989,0,0,0,.53.61,7.7353,7.7353,0,0,0,3.15-.72,7.3839,7.3839,0,0,0,1.38-.82A7.6429,7.6429,0,0,0,8.75,9.37a7.7441,7.7441,0,0,0,.82-1.15A7.3414,7.3414,0,0,0,7.53,7.93Z",warehouse:"M13.5,5c-0.0762,0.0003-0.1514-0.0168-0.22-0.05L7.5,2L1.72,4.93C1.4632,5.0515,1.1565,4.9418,1.035,4.685 S1.0232,4.1215,1.28,4L7.5,0.92L13.72,4c0.2761,0.0608,0.4508,0.3339,0.39,0.61C14.0492,4.8861,13.7761,5.0608,13.5,5z M5,10H2v3h3 V10z M9,10H6v3h3V10z M13,10h-3v3h3V10z M11,6H8v3h3V6z M7,6H4v3h3V6z","waste-basket":"M12.41,5.58l-1.34,8c-0.0433,0.2368-0.2493,0.4091-0.49,0.41H4.42c-0.2407-0.0009-0.4467-0.1732-0.49-0.41l-1.34-8 C2.5458,5.3074,2.731,5.0506,3.0035,5.0064C3.0288,5.0023,3.0544,5.0002,3.08,5h8.83c0.2761-0.0036,0.5028,0.2174,0.5064,0.4935 C12.4168,5.5225,12.4146,5.5514,12.41,5.58z M13,3.5C13,3.7761,12.7761,4,12.5,4h-10C2.2239,4,2,3.7761,2,3.5S2.2239,3,2.5,3H5V1.5 C5,1.2239,5.2239,1,5.5,1h4C9.7761,1,10,1.2239,10,1.5V3h2.5C12.7761,3,13,3.2239,13,3.5z M9,3V2H6v1H9z",watch:"M12.5,7H12a.426.426,0,0,0-.049.01A4.484,4.484,0,0,0,10,3.76V1.5A.5.5,0,0,0,9.5,1h-4a.5.5,0,0,0-.5.5V3.76a4.5,4.5,0,0,0,0,7.48V13.5a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,.5-.5V11.24a4.486,4.486,0,0,0,1.951-3.25A.426.426,0,0,0,12,8h.5a.5.5,0,0,0,0-1Zm-5,4A3.5,3.5,0,1,1,11,7.5,3.5,3.5,0,0,1,7.5,11ZM9,7H8V5.5a.5.5,0,0,0-1,0v2a.5.5,0,0,0,.5.5H9A.5.5,0,0,0,9,7Z",water:"M7.5 14C9.57688 14 12 12.7117 12 9.43241C12 7.20724 8.53844 2.2883 7.5 1C6.57691 2.2883 3 7.09007 3 9.43241C3 12.7117 5.42312 14 7.5 14Z",waterfall:"M14 1H5C3.34315 1 2 2.34314 2 4V8.87918C1.39704 9.28261 1 9.96937 1 10.75C1 11.9927 2.00736 13 3.25 13C3.7127 13 4.14279 12.8599 4.5 12.6209C4.85721 12.8599 5.2873 13 5.75 13C6.28601 13 6.77826 12.812 7.16413 12.5H7.51743C8.01909 12.8165 8.61403 13 9.25 13C11.0449 13 12.5 11.5449 12.5 9.75002C12.5 8.39777 11.6747 7.23919 10.5 6.74934V5C10.5 3.89543 11.3954 3 12.5 3H14V1ZM11.5 9.75C11.5 10.9926 10.4926 12 9.25 12C8.71418 12 8.2221 11.8127 7.83567 11.5H6.75009C6.52204 11.8036 6.15895 12 5.75 12C5.34105 12 4.97796 11.8036 4.74991 11.5H4.25009C4.02204 11.8036 3.65895 12 3.25 12C2.55964 12 2 11.4404 2 10.75C2 10.1453 2.42944 9.64082 3 9.525V5.75C3 5.33579 3.33579 5 3.75 5C4.16421 5 4.5 5.33579 4.5 5.75V9C4.5 9.27614 4.72386 9.5 5 9.5C5.27614 9.5 5.5 9.27614 5.5 9V6.75C5.5 6.33579 5.83579 6 6.25 6C6.66421 6 7 6.33579 7 6.75V9C7 9.27614 7.22386 9.5 7.5 9.5C7.77614 9.5 8 9.27614 8 9V5.75C8 5.33579 8.33579 5 8.75 5C9.16421 5 9.5 5.33579 9.5 5.75V7.51373C10.625 7.63809 11.5 8.59186 11.5 9.75Z",watermill:"M2,10.2L4,9l2.5,1.5l1.4659-0.8788C7.6592,9.4698,7.3716,9.285,7.1231,9.0536l1.4131-1.4131 C8.7672,7.836,9.0557,7.9606,9.375,7.9874V9.224l0.25,0.1501V7.9874c0.3193-0.0268,0.6078-0.1514,0.8388-0.3469l1.4131,1.4131 c-0.4059,0.3781-0.9044,0.6492-1.4528,0.8003L11.5,10.5l0.6984-0.4191C13.2863,9.2595,14,7.9682,14,6.5C14,4.0147,11.9853,2,9.5,2 C8.1917,2,7.0241,2.5674,6.2018,3.4587L4.5,2L1,5h1V10.2z M12.0536,8.8769l-1.4131-1.4131c0.1954-0.231,0.3201-0.5196,0.3469-0.8388 h1.9999C12.956,7.4946,12.6089,8.2806,12.0536,8.8769z M12.9874,6.375h-1.9999c-0.0268-0.3193-0.1514-0.6078-0.3469-0.8388 l1.4131-1.4131C12.6089,4.7193,12.956,5.5054,12.9874,6.375z M9.625,3.0126c0.8696,0.0314,1.6557,0.3784,2.2519,0.9337 l-1.4131,1.4131c-0.231-0.1954-0.5196-0.32-0.8388-0.3468C9.625,5.0126,9.625,3.0126,9.625,3.0126z M9.375,3.0126v1.9999 C9.0558,5.0394,8.7672,5.164,8.5362,5.3594L7.1231,3.9463C7.7193,3.3911,8.5054,3.044,9.375,3.0126z M6.9464,4.1231l1.4131,1.4131 C8.164,5.7672,8.0394,6.0557,8.0126,6.375h-2C6.044,5.5054,6.3911,4.7193,6.9464,4.1231z M8.0126,6.625 c0.0268,0.3192,0.1515,0.6078,0.3469,0.8388L6.9464,8.8769C6.3911,8.2807,6.044,7.4946,6.0126,6.625H8.0126z M9.002,10L6.5,11.5 L4,10l-2.5,1.5V13L4,11.5L6.5,13l2.502-1.5L11.5,13l2.5-1.5V10l-2.5,1.5L9.002,10z",wetland:"M1.48,4.5C1.905,4.1467,2.4483,3.968,3,4c1.2273-0.0869,2.3154,0.7836,2.5,2l0.78,4.68c-0.6394-0.2893-1.3759-0.2709-2,0.05 L3.48,6C3.1874,5.1347,2.3926,4.5387,1.48,4.5z M7.48,11.24c0.3816-0.3076,0.825-0.5293,1.3-0.65L10,3 c0.2926-0.8653,1.0874-1.4613,2-1.5c-0.4198-0.3485-0.955-0.5269-1.5-0.5C9.2727,0.9131,8.1846,1.7836,8,3l-1.3,7.79 C6.9786,10.9052,7.2408,11.0565,7.48,11.24z M11.8,10.74L11.8,10.74c0.1565-0.1277,0.3238-0.2414,0.5-0.34L13,6 c0.2926-0.8653,1.0874-1.4613,2-1.5c-0.4198-0.3485-0.955-0.5269-1.5-0.5c-1.2273-0.0869-2.3154,0.7836-2.5,2l-0.67,4 C10.8731,10.123,11.3778,10.377,11.8,10.74z M14,12L14,12c-0.4346-0.01-0.8579,0.1394-1.19,0.42l-0.47,0.41 c-0.2847,0.2546-0.7153,0.2546-1,0c-0.15-0.12-0.29-0.26-0.44-0.39c-0.7076-0.5968-1.7424-0.5968-2.45,0 c-0.16,0.13-0.31,0.28-0.47,0.41c-0.2847,0.2546-0.7153,0.2546-1,0c-0.16-0.13-0.31-0.28-0.47-0.41 c-0.7059-0.5912-1.7341-0.5912-2.44,0c-0.15,0.13-0.29,0.27-0.44,0.39c-0.0892,0.0715-0.1909,0.1258-0.3,0.16 c-0.2922,0.0652-0.5969-0.0301-0.8-0.25c-0.2475-0.214-0.5117-0.4079-0.79-0.58C1.5336,12.0421,1.2974,11.9865,1.06,12H1 c-0.2761,0-0.5,0.2239-0.5,0.5S0.7239,13,1,13l0,0c0.246,0.0145,0.4762,0.126,0.64,0.31L2,13.57 c0.6717,0.55,1.6308,0.5747,2.33,0.06c0.19-0.14,0.36-0.32,0.55-0.47c0.2847-0.2546,0.7153-0.2546,1,0l0.39,0.35 c0.6937,0.6189,1.7322,0.6484,2.46,0.07c0.15-0.11,0.27-0.25,0.42-0.37c0.2976-0.3038,0.7851-0.3087,1.0889-0.0111 c0.0037,0.0037,0.0074,0.0074,0.0111,0.0111l0.39,0.35c0.4866,0.4124,1.1485,0.5516,1.76,0.37c0.3825-0.1036,0.7286-0.3113,1-0.6 c0.1549-0.1772,0.3674-0.294,0.6-0.33l0,0c0.2761,0,0.5-0.2239,0.5-0.5S14.2761,12,14,12z",wheelchair:"M12,1.5C12,2.3284,11.3284,3,10.5,3S9,2.3284,9,1.5S9.6716,0,10.5,0S12,0.6716,12,1.5z M2.82,4.87l1.74-1.71l1.85,1.29 L5.67,5.7c1.0747,0.3341,2.0207,0.9904,2.71,1.88l0.88-1.5c0.2295-0.4158,0.0785-0.939-0.3373-1.1685 C8.9218,4.911,8.9209,4.9105,8.92,4.91L8.3,4.54L4.79,2.1C4.5927,1.9594,4.3231,1.9805,4.15,2.15l-2,2 C1.9852,4.3716,2.0312,4.6848,2.2528,4.8496C2.4193,4.9735,2.645,4.9816,2.82,4.87z M8.13,10.94 c-0.0143,1.2308-0.5794,2.3904-1.54,3.16c-0.7118,0.5804-1.6016,0.8982-2.52,0.9C1.8261,15,0.0055,13.1839,0,10.94 c0.0023-0.9231,0.3238-1.8169,0.91-2.53c0.1868-0.232,0.398-0.4432,0.63-0.63c0.7131-0.5862,1.6069-0.9077,2.53-0.91 C6.3139,6.8755,8.13,8.6961,8.13,10.94z M6,12.21C6.7679,11.2051,6.5758,9.7679,5.5709,9C4.7501,8.3727,3.6109,8.3727,2.79,9 C2.5283,9.151,2.311,9.3683,2.16,9.63c-0.6923,1.0584-0.3956,2.4777,0.6628,3.17c0.7615,0.4981,1.7457,0.4981,2.5072,0 C5.5805,12.6365,5.8061,12.4378,6,12.21z M14.2,13.21l-2.49-5C11.5906,7.9251,11.3088,7.7425,11,7.75H8.51 c0.3293,0.4578,0.5856,0.9638,0.76,1.5h1.26l2.29,4.58c0.185,0.3728,0.6372,0.525,1.01,0.34c0.3728-0.185,0.525-0.6372,0.34-1.01 L14.2,13.21z",windmill:"M6,5L3.5,7.5l1,1L7,6V5.5L7.5,5L8,5.5V6l2.5,2.5l1-1L9,5H8.5L8,4.5L8.5,4H9l2.5-2.5l-1-1L8,3v0.5L7.5,4L7,3.5V3L4.5,0.5 l-1,1L6,4h0.5L7,4.5L6.5,5H6z M11.5,13h-1l-1-4l-2-2l-2,2l-1,4h-1C3.2239,13,3,13.2238,3,13.5C3,13.7761,3.2239,14,3.5,14h8 c0.2761,0,0.5-0.2239,0.5-0.5C12,13.2238,11.7761,13,11.5,13z M8,13H7v-1.5024C7,11.2228,7.2228,11,7.4976,11 C7.7751,11,8,11.2249,8,11.5024V13z",zoo:"M8.3879,3.8928C8.3879,3.8928,7.6818,5,7,5H4.5C3.8182,5,3.2016,5.4086,2.7273,5.8636L0.5,8C0.231,8.258,0.0072,8.7681,0,9 c-0.0156,0.5,0,1,0,1s1,0,1-1V8.5l1-1h0.5l0.158,0.2892c0,0-0.9535,1.8244-0.9535,3.5289C1.7046,12,2.3864,12,2.3864,12h0.6818 c0,0,0.3409,0,0-0.3409l-0.3409-0.3409C2.7273,10.6364,3.5002,9.6667,4,9c0,0,0.0168,1.1579,0,2c-0.008,0.4096,0.2721,1,0.6818,1 h0.6818c0,0,0.3409,0,0-0.3409l-0.3409-0.3409C4.7105,10.7495,5.5,8.5,5.5,8.5C6.7716,8.5,7,9,8.5,9l0.3636,2.3182 C8.975,12.0282,9.5,12,9.5,12H11c0.3409,0,0.9611-0.3115,0.3409-0.7736L11,11V9c1.2142-0.1722,2-1,2-2h1c0.3214,0,1,0,1-0.5v-1 l-1.7045-1.6818C12.5444,3.0772,12,2.5,11,2.5C9.5469,2.5,8.8636,3.0688,8.3879,3.8928z"},X2=Object.keys(T1);function o5(e,t){const r=T1[e];r||console.warn(`[MakiIcon] Unknown icon: "${e}", falling back to "marker"`);const n=r??T1.marker??"",o=(t==null?void 0:t.size)??32,s=(t==null?void 0:t.fill)??"#333",c=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="${o}" height="${o}"><path fill="${s}" d="${n}"/></svg>`;return`data:image/svg+xml,${encodeURIComponent(c)}`}function Q2(e,t){const r={};for(const n of e)r[n]=o5(n,t);return r}const et="M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 16 40 16 40C16 40 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z";function s5(e,t){const r=T1[e];r||console.warn(`[MakiIcon] Unknown icon: "${e}", falling back to "marker"`);const n=r??T1.marker??"",o=(t==null?void 0:t.size)??40,s=(t==null?void 0:t.fill)??"#2563eb",c=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" width="${o}" height="${Math.round(o*1.25)}"><path d="${et}" fill="${s}" stroke="white" stroke-width="1.5"/>`+(n?`<svg x="8" y="8" viewBox="0 0 15 15" width="16" height="16"><path fill="white" d="${n}"/></svg>`:"")+"</svg>";return`data:image/svg+xml,${encodeURIComponent(c)}`}function tt(e,t){const r={};for(const n of e)r[n]=s5(n,t);return r}const c0={primary:{fill:"#2563eb",bg:"rgba(37, 99, 235, 0.2)",ring:"rgba(37, 99, 235, 0.2)"},success:{fill:"#00854d",bg:"rgba(0, 133, 77, 0.2)",ring:"rgba(0, 133, 77, 0.2)"},warning:{fill:"#943700",bg:"rgba(148, 55, 0, 0.2)",ring:"rgba(148, 55, 0, 0.2)"},error:{fill:"#ba1a1a",bg:"rgba(186, 26, 26, 0.2)",ring:"rgba(186, 26, 26, 0.2)"}};function rt(e){return typeof e=="string"&&/<[a-zA-Z][^>]*>/.test(e)}function pe({color:e="primary"}){const{fill:t}=c0[e];return a.jsxs("svg",{viewBox:"0 0 32 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"aimapui-marker-pin",style:{width:32,height:40,display:"block",filter:"drop-shadow(0 4px 3px rgba(0,0,0,0.07)) drop-shadow(0 2px 2px rgba(0,0,0,0.06))"},children:[a.jsx("path",{d:"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 16 40 16 40C16 40 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z",fill:t,stroke:"white",strokeWidth:1.5}),a.jsx("circle",{cx:"16",cy:"16",r:"4",fill:"white"})]})}function nt({icon:e,color:t="primary"}){const{fill:r}=c0[t],n=T1[e]??T1.marker??"";return a.jsxs("div",{className:"aimapui-marker-pin aimapui-marker-pin--icon",style:{position:"relative",display:"inline-flex",alignItems:"flex-start",justifyContent:"center",width:32,height:40,filter:"drop-shadow(0 4px 3px rgba(0,0,0,0.07)) drop-shadow(0 2px 2px rgba(0,0,0,0.06))"},children:[a.jsx("svg",{viewBox:"0 0 32 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",inset:0,width:"100%",height:"100%"},children:a.jsx("path",{d:"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 16 40 16 40C16 40 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z",fill:r,stroke:"white",strokeWidth:1.5})}),n&&a.jsx("svg",{viewBox:"0 0 15 15",xmlns:"http://www.w3.org/2000/svg",style:{position:"relative",zIndex:1,width:16,height:16,marginTop:8,fill:"white"},children:a.jsx("path",{d:n,style:{fill:"white"}})})]})}function ot({color:e="primary"}){const{fill:t,bg:r}=c0[e];return a.jsx("div",{className:"aimapui-marker-circle",style:{position:"relative",width:24,height:24,borderRadius:"50%",border:"1.5px solid white",boxShadow:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",display:"flex",alignItems:"center",justifyContent:"center",background:r,borderColor:t},children:a.jsx("div",{className:"aimapui-marker-circle__inner",style:{width:6,height:6,borderRadius:"50%",background:t}})})}function st({color:e="primary"}){const{fill:t}=c0[e];return a.jsx("div",{className:"aimapui-marker-dot",style:{width:8,height:8,borderRadius:"50%",border:"1.5px solid white",boxShadow:"0 1px 3px rgba(0,0,0,0.3)",background:t}})}function at({text:e}){return a.jsx("div",{className:"aimapui-marker-label",style:{position:"absolute",top:"calc(100% + 4px)",left:"50%",transform:"translateX(-50%)",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:12,lineHeight:"16px",fontWeight:450,color:"#1d1d1f",whiteSpace:"nowrap",pointerEvents:"none",textShadow:"-1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, 0 0 2px #fff, 0 0 4px rgba(255,255,255,0.5)"},children:e})}const he={center:"translate(-50%, -50%)",top:"translate(-50%, 0)",bottom:"translate(-50%, -100%)",left:"translate(0, -50%)",right:"translate(-100%, -50%)","top-left":"translate(0, 0)","top-right":"translate(-100%, 0)","bottom-left":"translate(0, -100%)","bottom-right":"translate(-100%, -100%)"},it=[0,0];function ct(e,t,r,n){let o;switch(e){case"pin":o=a.jsx(pe,{color:t});break;case"circle":o=a.jsx(ot,{color:t});break;case"icon":o=a.jsx(nt,{icon:r||"marker",color:t});break;case"dot":o=a.jsx(st,{color:t});break;default:o=a.jsx(pe,{color:t})}return n?a.jsxs("div",{style:{position:"relative",display:"inline-flex",flexDirection:"column",alignItems:"center"},children:[o,a.jsx(at,{text:n})]}):o}function B1({longitude:e,latitude:t,variant:r="pin",color:n="primary",icon:o,label:s,content:c,children:l,draggable:i=!1,className:u,overlayContainer:f,onClick:h,onMouseEnter:p,onMouseLeave:g,onDoubleClick:C,onDragEnd:v,onDragging:y,onDragStart:x,selected:M=!1,inactive:L=!1,anchor:S="bottom",offsets:z=it,overflowHide:Z=!0}){const b=g1(),j=d.useRef(null),T=d.useRef(null),A=d.useRef({lng:e,lat:t}),_=d.useRef({width:0,height:0}),H=z[0]??0,w=z[1]??0,V=d.useRef(null),E=d.useRef(h);E.current=h;const R=d.useRef(p);R.current=p;const F=d.useRef(g);F.current=g;const G=d.useRef(C);G.current=C;const J=d.useRef(x);J.current=x;const Q=d.useRef(y);Q.current=y;const q=d.useRef(v);q.current=v;const N=d.useMemo(()=>{const $=["aimapui-marker"];return M&&$.push("aimapui-marker--selected"),L&&$.push("aimapui-marker--inactive"),$.push(`aimapui-marker--${n}`),u&&$.push(u),$.join(" ")},[M,L,n,u]),P=d.useMemo(()=>c||l||ct(r,n,o,s),[c,l,r,n,o,s]),W=$=>{const D=j.current;if(!D||!$)return;const{lng:a1,lat:U}=A.current;if(isNaN(a1)||isNaN(U))return;let s1;try{s1=$.lngLatToContainer([a1,U])}catch{return}if(!s1||isNaN(s1.x)||isNaN(s1.y))return;const f1=s1.x+H,p1=s1.y-w,B=he[S]||he.bottom,r1=Math.round(f1),o1=Math.round(p1);if(D.style.left="0",D.style.top="0",D.style.transform=`translate3d(${r1}px, ${o1}px, 0) ${B}`,Z){const{width:K,height:h1}=_.current;D.style.visibility=f1<0||f1>K||p1<0||p1>h1?"hidden":"visible"}};return d.useEffect(()=>{if(!b)return;let $=!1;const D=b.mapService;if(!D){console.error("[Marker] mapService not available");return}const a1=()=>{var r1;const B=(r1=D.getContainer)==null?void 0:r1.call(D);B&&(_.current={width:B.scrollWidth||B.clientWidth||0,height:B.scrollHeight||B.clientHeight||0})},U=()=>{j.current&&W(D)},s1=(B,r1,o1)=>{var K;try{(K=B==null?void 0:B.on)==null||K.call(B,r1,o1)}catch{}},f1=(B,r1,o1)=>{var K;try{(K=B==null?void 0:B.off)==null||K.call(B,r1,o1)}catch{}};return a1(),s1(D,"camerachange",U),s1(D,"viewchange",U),s1(b,"resize",a1),(async()=>{var u1;if(b.loaded||await new Promise(e1=>{b.once("loaded",()=>e1())}),$)return;const B=document.createElement("div");B.className=N,B.style.position="absolute",B.style.left="0",B.style.top="0",B.style.whiteSpace="nowrap",B.style.pointerEvents="auto",j.current=B;const r1=f??((u1=D.getMarkerContainer)==null?void 0:u1.call(D));if(r1)r1.appendChild(B);else{console.error("[Marker] getMarkerContainer not available");return}W(D);let o1=!1,K={lng:0,lat:0};const h1=e1=>{var V1;if(!i)return;o1=!0,D.setMapStatus({dragEnable:!1,zoomEnable:!1});const O=D.getContainer(),d1=(V1=O==null?void 0:O.getClientRects())==null?void 0:V1[0];if(d1){const j1=d1.left,E1=d1.top,Z1=e1.x||e1.clientX,K1=e1.y||e1.clientY;K=D.containerToLngLat([Z1-j1,K1-E1])}D.on("mousemove",w1),document.addEventListener("mouseup",X),J.current&&J.current(A.current.lng,A.current.lat)},w1=e1=>{if(!o1)return;const O=e1.lngLat||e1.lnglat,{lng:d1,lat:V1}=K,{lng:j1,lat:E1}=O,Z1={lng:A.current.lng+j1-d1,lat:A.current.lat+E1-V1};A.current=Z1,K=O,W(D),Q.current&&Q.current(Z1.lng,Z1.lat)},X=()=>{o1&&(o1=!1,D.setMapStatus({dragEnable:!0,zoomEnable:!0}),D.off("mousemove",w1),document.removeEventListener("mouseup",X),q.current&&q.current(A.current.lng,A.current.lat))};B.addEventListener("click",(e1=>{var O;return(O=E.current)==null?void 0:O.call(E,e1)})),B.addEventListener("mouseenter",(e1=>{var O;return(O=R.current)==null?void 0:O.call(R,e1)})),B.addEventListener("mouseleave",(e1=>{var O;return(O=F.current)==null?void 0:O.call(F,e1)})),B.addEventListener("dblclick",(e1=>{var O;return(O=G.current)==null?void 0:O.call(G,e1)})),i&&B.addEventListener("mousedown",h1),V.current={updatePosition:U,handleDragStart:h1,handleDragMove:w1,handleDragEnd:X}})(),()=>{if($=!0,f1(D,"camerachange",U),f1(D,"viewchange",U),f1(b,"resize",a1),V.current&&i&&D.setMapStatus({dragEnable:!0,zoomEnable:!0}),j.current){const r1=T.current,o1=j.current;T.current=null,j.current=null,queueMicrotask(()=>{r1&&r1.unmount(),o1.parentNode&&o1.parentNode.removeChild(o1)})}V.current=null}},[b,S,H,w,Z,i,f]),d.useEffect(()=>{if(!j.current)return;const $=j.current;rt(P)?$.innerHTML=P:(T.current||(T.current=K2.createRoot($)),T.current.render(a.jsx(a.Fragment,{children:P})))},[P]),d.useEffect(()=>{j.current&&(j.current.className=N)},[N]),d.useEffect(()=>{if(A.current={lng:e,lat:t},b&&j.current){const $=b.mapService;$&&W($)}},[e,t,b]),null}function a5({interactions:e}){const t=g1(),[r,n]=d.useState(null);d.useEffect(()=>{if(!t)return;const c=()=>{try{const i=t.mapService;if(i&&typeof i.getMarkerContainer=="function"){const u=i.getMarkerContainer();if(u){n(u);return}}}catch{}const l=setTimeout(()=>{try{const i=t.mapService;if(i&&typeof i.getMarkerContainer=="function"){const u=i.getMarkerContainer();u&&n(u)}}catch{}},100);return()=>clearTimeout(l)};return t.loaded?c():(t.on("loaded",c),()=>{t.off("loaded",c)})},[t]);const o=e.filter(c=>c.type==="marker"),s=e.filter(c=>c.type==="popup");return a.jsxs(a.Fragment,{children:[r&&o.map((c,l)=>a.jsx(B1,{...c,overlayContainer:r},`marker-${l}`)),r&&s.map((c,l)=>a.jsx(A0,{...c,overlayContainer:r},`popup-${l}`))]})}function O0({title:e,labels:t,colors:r,swatchShape:n="square",grid:o=!1,className:s,interaction:c}){const[l,i]=d.useState(-1),[u,f]=d.useState(new Set),h=C=>{var v;i(C),(v=c==null?void 0:c.onHover)==null||v.call(c,C)},p=()=>{var C;i(-1),(C=c==null?void 0:c.onHover)==null||C.call(c,-1)},g=C=>{var v;f(y=>{const x=new Set(y);return x.has(C)?x.delete(C):x.add(C),x}),(v=c==null?void 0:c.onToggle)==null||v.call(c,C)};return a.jsxs("div",{className:c1(s),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsx("div",{className:c1("flex flex-col gap-1",o&&"grid grid-cols-2 gap-x-3 gap-y-1"),children:t.map((C,v)=>{const y=l>=0?l!==v:u.has(v);return a.jsxs("div",{className:c1("flex items-center gap-2 rounded px-1 py-0.5 cursor-pointer select-none transition-[background,opacity] duration-150 hover:bg-primary/[0.06]",y&&"opacity-35"),onMouseEnter:()=>h(v),onMouseLeave:p,onClick:()=>g(v),children:[a.jsx("span",{className:c1("size-3 shrink-0 rounded-sm shadow-[inset_0_0_0_1px_rgba(0,0,0,0.08)] transition-opacity duration-150",n==="circle"&&"rounded-full"),style:{backgroundColor:r[v]??"#ccc"}}),a.jsx("span",{className:"text-xs leading-4 text-on-surface truncate",children:C})]},v)})})]})}function $0({title:e,labels:t,colors:r,isContinuous:n=!1,showTicks:o=!1,brushable:s=!1,className:c,interaction:l}){const[i,u]=d.useState([0,100]),f=d.useRef(null),h=r.join(", "),p=d.useCallback(g=>C=>{C.stopPropagation(),C.preventDefault();const v=f.current;if(!v)return;const y=v.getBoundingClientRect().width,x=L=>{const S=v.getBoundingClientRect(),z=L.clientX-S.left,Z=Math.max(0,Math.min(100,z/y*100));u(b=>{var T;let j;return g==="left"?j=[Math.min(Z,b[1]-5),b[1]]:j=[b[0],Math.max(Z,b[0]+5)],(T=l==null?void 0:l.onBrush)==null||T.call(l,j),j})},M=()=>{document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",M)};document.addEventListener("mousemove",x),document.addEventListener("mouseup",M)},[l,f]);return a.jsxs("div",{className:c1(c),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsxs("div",{className:"flex flex-col gap-1",ref:f,children:[a.jsx("div",{className:c1("flex h-3 rounded overflow-hidden shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",n&&"bg-[length:100%_100%]"),style:n?{background:`linear-gradient(to right, ${h})`}:void 0,children:!n&&r.map((g,C)=>a.jsx("div",{className:"flex-1 relative",style:{backgroundColor:g}},C))}),o&&a.jsx("div",{className:"flex justify-between h-1.5 mt-0.5",children:r.map((g,C)=>C===0?null:a.jsx("div",{className:"w-px h-full bg-outline-variant",style:{position:"absolute",left:`${C/(r.length-1)*100}%`}},C))}),a.jsxs("div",{className:"flex justify-between font-mono text-[11px] leading-3.5 font-[450] text-on-surface-variant",children:[a.jsx("span",{children:t[0]}),t.length>2&&a.jsx("span",{children:t[Math.floor(t.length/2)]}),a.jsx("span",{children:t[t.length-1]})]}),s&&a.jsxs("div",{className:"relative h-3 mt-1 cursor-ew-resize",children:[a.jsx("div",{className:"absolute top-0 h-full border-2 border-primary rounded-sm bg-primary/10 pointer-events-none",style:{left:`${i[0]}%`,width:`${i[1]-i[0]}%`}}),a.jsx("div",{className:"absolute top-1/2 w-2 h-4 bg-primary rounded-sm -translate-x-1/2 -translate-y-1/2 cursor-ew-resize shadow-sm hover:shadow-md hover:shadow-primary/30 transition-shadow duration-150",style:{left:`${i[0]}%`},onMouseDown:p("left")}),a.jsx("div",{className:"absolute top-1/2 w-2 h-4 bg-primary rounded-sm -translate-x-1/2 -translate-y-1/2 cursor-ew-resize shadow-sm hover:shadow-md hover:shadow-primary/30 transition-shadow duration-150",style:{left:`${i[1]}%`},onMouseDown:p("right")})]})]})]})}function D0({title:e,colors:t,labels:r,middleLabel:n,className:o}){const s=t.join(", ");return a.jsxs("div",{className:c1(o),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsxs("div",{style:{position:"relative"},children:[a.jsx("div",{className:"flex h-3 rounded overflow-hidden shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{background:`linear-gradient(to right, ${s})`}}),a.jsx("div",{style:{position:"absolute",top:-4,left:"50%",transform:"translateX(-50%)",width:1,height:20,background:"var(--color-outline-variant, #c3c6d7)"}}),n&&a.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 -bottom-[18px] font-mono text-[11px] text-on-surface-variant whitespace-nowrap",children:n})]}),a.jsxs("div",{className:"flex justify-between font-mono text-[11px] leading-3.5 font-[450] text-on-surface-variant",style:n?{marginBottom:12}:void 0,children:[a.jsx("span",{children:r[0]}),a.jsx("span",{children:r[1]})]})]})]})}function B0({title:e,ranges:t,colors:r,className:n,interaction:o}){const[s,c]=d.useState(-1),[l,i]=d.useState(new Set),u=p=>{var g;c(p),(g=o==null?void 0:o.onHover)==null||g.call(o,p)},f=()=>{var p;c(-1),(p=o==null?void 0:o.onHover)==null||p.call(o,-1)},h=p=>{var g;i(C=>{const v=new Set(C);return v.has(p)?v.delete(p):v.add(p),v}),(g=o==null?void 0:o.onToggle)==null||g.call(o,p)};return a.jsxs("div",{className:c1(n),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsx("div",{className:"flex flex-col gap-1.5",children:t.map(([p,g],C)=>{const v=s>=0?s!==C:l.has(C);return a.jsxs("div",{className:c1("flex items-center gap-2 cursor-pointer select-none transition-opacity duration-150 hover:opacity-80",v&&"opacity-35"),onMouseEnter:()=>u(C),onMouseLeave:f,onClick:()=>h(C),children:[a.jsx("span",{className:"w-6 h-3 shrink-0 rounded-sm shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{backgroundColor:r[C]??"#ccc"}}),a.jsxs("span",{className:"font-mono text-[11px] leading-3.5 text-on-surface-variant",children:["[",p,", ",g,")"]})]},C)})})]})}function U0({title:e,fillColor:t="#4A90D9",items:r,className:n}){const o=Math.max(...r.map(s=>s.size),1);return a.jsxs("div",{className:c1(n),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx("div",{className:"flex items-end gap-2 px-1",children:r.map((s,c)=>a.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-end",height:o},children:a.jsx("div",{className:"rounded-full shrink-0 shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{width:s.size,height:s.size,backgroundColor:t,opacity:.85}})},c))}),a.jsx("div",{className:"flex items-end gap-2 mt-1",children:r.map((s,c)=>a.jsx("span",{className:"font-mono text-[11px] leading-3.5 text-on-surface-variant whitespace-nowrap",children:s.label},c))})]})]})}function W0({title:e,color:t="#4A90D9",items:r,className:n,interaction:o}){const[s,c]=d.useState(-1),[l,i]=d.useState(new Set),u=p=>{var g;c(p),(g=o==null?void 0:o.onHover)==null||g.call(o,p)},f=()=>{var p;c(-1),(p=o==null?void 0:o.onHover)==null||p.call(o,-1)},h=p=>{var g;i(C=>{const v=new Set(C);return v.has(p)?v.delete(p):v.add(p),v}),(g=o==null?void 0:o.onToggle)==null||g.call(o,p)};return a.jsxs("div",{className:c1(n),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsx("div",{className:"flex flex-col gap-1.5",children:r.map((p,g)=>{const C=s>=0?s!==g:l.has(g);return a.jsxs("div",{className:c1("flex items-center gap-2.5 py-0.5 cursor-pointer select-none transition-opacity duration-150 hover:opacity-80",C&&"opacity-35"),onMouseEnter:()=>u(g),onMouseLeave:f,onClick:()=>h(g),children:[a.jsx("div",{className:"w-7 shrink-0 rounded-full shadow-[0_0_0_1px_rgba(0,0,0,0.06)]",style:{height:p.width,backgroundColor:t,opacity:.85}}),a.jsx("span",{className:"text-xs leading-4 text-on-surface whitespace-nowrap",children:p.label})]},g)})})]})}function q0({title:e,labels:t,fillColor:r="#4A90D9",className:n}){return a.jsxs("div",{className:c1(n),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx("div",{className:"flex items-end gap-2 px-1",children:t.map(([c,l],i)=>{const f=6+i/Math.max(t.length-1,1)*18;return a.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-end",height:24},children:a.jsx("div",{className:"rounded-full shrink-0 shadow-[inset_0_0_0_1px_rgba(0,0,0,0.06)]",style:{width:f,height:f,backgroundColor:r,opacity:.85}})},i)})}),a.jsx("div",{className:"flex items-end gap-2 mt-1",children:t.map(([c,l],i)=>a.jsxs("span",{className:"font-mono text-[11px] leading-3.5 text-on-surface-variant whitespace-nowrap",children:[c,"–",l]},i))})]})]})}function me(e){return/^(https?:|\/\/|data:)/i.test(e)}function Y0({title:e,items:t,className:r,interaction:n}){const[o,s]=d.useState(-1),[c,l]=d.useState(new Set),i=h=>{var p;s(h),(p=n==null?void 0:n.onHover)==null||p.call(n,h)},u=()=>{var h;s(-1),(h=n==null?void 0:n.onHover)==null||h.call(n,-1)},f=h=>{var p;l(g=>{const C=new Set(g);return C.has(h)?C.delete(h):C.add(h),C}),(p=n==null?void 0:n.onToggle)==null||p.call(n,h)};return a.jsxs("div",{className:c1(r),children:[e&&a.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-on-surface-variant",children:e}),a.jsx("div",{className:"flex flex-col gap-1",children:t.map((h,p)=>{const g=o>=0?o!==p:c.has(p);return a.jsxs("div",{className:c1("flex items-center gap-2 px-1 py-0.5 rounded cursor-pointer select-none transition-[background,opacity] duration-150 hover:bg-primary/[0.06]",g&&"opacity-35"),onMouseEnter:()=>i(p),onMouseLeave:u,onClick:()=>f(p),children:[me(h.icon)?a.jsx("img",{src:h.icon,alt:h.label,className:"size-5 object-contain shrink-0",onError:C=>{const v=C.target;v.style.display="none";const y=v.nextElementSibling;y&&(y.style.display="flex")}}):a.jsx("span",{className:"size-5 flex items-center justify-center shrink-0 text-base leading-none",children:h.icon}),me(h.icon)&&a.jsx("span",{className:"size-5 hidden items-center justify-center shrink-0 text-base leading-none text-on-surface-variant",children:"□"}),a.jsx("span",{className:"text-xs leading-4 text-on-surface",children:h.label})]},p)})})]})}function i5({legends:e,className:t,style:r,interaction:n}){return e.length?a.jsx("div",{className:c1("absolute z-20 bottom-6 left-6 max-h-[40%] overflow-y-auto rounded-xl border border-outline-variant/30 bg-surface/80 backdrop-blur-md p-3 px-3.5 text-on-surface shadow-lg scrollbar-thin scrollbar-track-transparent scrollbar-thumb-outline-variant",t),style:r,children:a.jsx("div",{className:"flex flex-col gap-4 [&>*+*]:border-t [&>*+*]:border-outline-variant/20 [&>*+*]:pt-4",children:e.map((o,s)=>a.jsx(lt,{legend:o,interaction:n},`legend-${s}`))})}):null}function lt({legend:e,interaction:t}){switch(e.type){case"categories":return a.jsx(O0,{...e,interaction:t});case"ramp":return a.jsx($0,{...e,interaction:t});case"diverging":return a.jsx(D0,{...e,interaction:t});case"threshold":return a.jsx(B0,{...e,interaction:t});case"size":return a.jsx(U0,{...e,interaction:t});case"lineWidth":return a.jsx(W0,{...e,interaction:t});case"proportion":return a.jsx(q0,{...e,interaction:t});case"icon":return a.jsx(Y0,{...e,interaction:t});default:return null}}const c5=d.createContext({isMobile:!1,breakpoint:768,width:typeof window<"u"?window.innerWidth:1024,schema:void 0});function ut({responsive:e,children:t}){const[r,n]=d.useState(typeof window<"u"?window.innerWidth:1024);d.useEffect(()=>{const l=()=>n(window.innerWidth);return window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[]);const o=(e==null?void 0:e.breakpoint)??768,s=r<o,c=d.useMemo(()=>({isMobile:s,breakpoint:o,width:r,schema:e}),[s,o,r,e]);return a.jsx(c5.Provider,{value:c,children:t})}function l5(){return d.useContext(c5)}function u5({config:e,className:t}){const r=g1(),{items:n,position:o="bottom"}=e,s=u=>{switch(u){case"zoomIn":r==null||r.zoomIn();break;case"zoomOut":r==null||r.zoomOut();break;case"locate":navigator.geolocation&&navigator.geolocation.getCurrentPosition(f=>{r==null||r.setCenter([f.coords.longitude,f.coords.latitude]),r==null||r.setZoom(14)});break;case"reset":r==null||r.setCenter([105,35]),r==null||r.setZoom(4);break}},c={zoomIn:a.jsx("svg",{viewBox:"0 0 24 24",className:"w-6 h-6",fill:"none",stroke:"currentColor",strokeWidth:2,children:a.jsx("path",{d:"M12 5v14m-7-7h14"})}),zoomOut:a.jsx("svg",{viewBox:"0 0 24 24",className:"w-6 h-6",fill:"none",stroke:"currentColor",strokeWidth:2,children:a.jsx("path",{d:"M5 12h14"})}),locate:a.jsxs("svg",{viewBox:"0 0 24 24",className:"w-6 h-6",fill:"none",stroke:"currentColor",strokeWidth:2,children:[a.jsx("circle",{cx:"12",cy:"12",r:"3"}),a.jsx("path",{d:"M12 2v4m0 12v4m10-10h-4M6 12H2"})]}),reset:a.jsxs("svg",{viewBox:"0 0 24 24",className:"w-6 h-6",fill:"none",stroke:"currentColor",strokeWidth:2,children:[a.jsx("path",{d:"M3 12a9 9 0 1 1 3.3 6.9"}),a.jsx("path",{d:"M3 22v-7h7"})]}),layers:a.jsx("svg",{viewBox:"0 0 24 24",className:"w-6 h-6",fill:"none",stroke:"currentColor",strokeWidth:2,children:a.jsx("path",{d:"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"})})},l={zoomIn:"放大",zoomOut:"缩小",locate:"定位",reset:"复位",layers:"图层"},i=o==="bottom"?"bottom-0 left-0 right-0 flex justify-center pb-[calc(env(safe-area-inset-bottom,0px)+12px)] pt-2":"top-0 left-0 right-0 flex justify-center pt-[calc(env(safe-area-inset-top,0px)+12px)] pb-2";return a.jsx("div",{className:c1("absolute z-[1000] px-3 pointer-events-none",i),children:a.jsx("div",{className:"pointer-events-auto flex items-center gap-1 rounded-[20px] border border-outline-variant/40 bg-surface/85 px-1.5 py-1.5 shadow-[0_8px_32px_rgba(0,0,0,0.16)] backdrop-blur-xl",children:n.map((u,f)=>a.jsxs("button",{onClick:()=>s(u),className:"group flex flex-col items-center gap-1 rounded-2xl px-2.5 py-1.5 text-on-surface-variant transition-colors hover:bg-primary/10 hover:text-primary active:bg-primary/15",style:{background:"none",border:"none",cursor:"pointer"},"aria-label":l[u]??u,title:l[u]??u,children:[a.jsx("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center",children:c[u]}),a.jsx("span",{className:"text-[11px] font-medium leading-none whitespace-nowrap",children:l[u]??u})]},`${u}-${f}`))})})}function d5({legends:e,className:t,interaction:r}){const[n,o]=d.useState(!1);return e.length?a.jsx("div",{className:c1("absolute bottom-3 left-3 right-3 z-[1000]",t),children:a.jsxs("div",{className:"flex flex-col rounded-xl border border-outline-variant/30 bg-surface/80 backdrop-blur-md px-3.5 text-on-surface shadow-lg",children:[a.jsxs("button",{onClick:()=>o(!n),className:"w-full flex items-center justify-between py-3 text-label-caps font-label-caps uppercase",style:{background:"none",border:"none",cursor:"pointer",color:"var(--color-primary, #004ac6)"},children:[a.jsx("span",{children:"图例"}),a.jsx("svg",{viewBox:"0 0 24 24",className:c1("w-5 h-5 transition-transform",n?"rotate-180":""),fill:"none",stroke:"currentColor",strokeWidth:2,children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]}),a.jsx("div",{className:c1("flex flex-col gap-4 [&>*+*]:border-t [&>*+*]:border-outline-variant/20 [&>*+*]:pt-4 custom-scrollbar transition-all duration-300 overflow-y-auto",n?"max-h-[60vh] pb-3":"max-h-0"),children:e.map((s,c)=>a.jsx(dt,{legend:s,interaction:r},`mobile-legend-${c}`))})]})}):null}function dt({legend:e,interaction:t}){switch(e.type){case"categories":return a.jsx(O0,{...e,interaction:t});case"ramp":return a.jsx($0,{...e,interaction:t});case"diverging":return a.jsx(D0,{...e,interaction:t});case"threshold":return a.jsx(B0,{...e,interaction:t});case"size":return a.jsx(U0,{...e,interaction:t});case"lineWidth":return a.jsx(W0,{...e,interaction:t});case"proportion":return a.jsx(q0,{...e,interaction:t});case"icon":return a.jsx(Y0,{...e,interaction:t});default:return null}}function ft({map:e,schema:t,theme:r="light",onSceneReady:n,onLayerClick:o,onLayerMouseMove:s,onLayerMouseEnter:c,onLayerMouseLeave:l,onMapMove:i,onMapZoom:u,autoFit:f,events:h,children:p,className:g,style:C}){const v=d.useRef(null),y=d.useMemo(()=>t?z0(Ae(t)):{map:ht(e??{basemap:"gaode"}),layers:[],controls:[],interactions:[],legends:[]},[t,e]),x=!t&&!!e,M=d.useMemo(()=>({onClick:o,onMouseMove:s,onMouseEnter:c,onMouseLeave:l}),[o,s,c,l]),L=d.useMemo(()=>({onMove:i,onZoom:u}),[i,u]),S=d.useCallback(z=>{n==null||n(z),f&&pt(z)},[n,f]);return a.jsx(Pe,{defaultTheme:r,target:"container",children:a.jsx(Ze,{schema:y,children:a.jsx(Ne,{events:h,children:a.jsx(c2,{responsive:y.responsive,children:a.jsx(mt,{schema:y,isComposableMode:x,onSceneReady:S,layerEventHandlers:M,mapEventHandlers:L,containerRef:v,className:g,style:C,children:p})})})})})}function pt(e){let t=!1,r=0;const n=30,o=()=>{var s;if(!t){r+=1;try{const c=((s=e.getLayers)==null?void 0:s.call(e))??[];if(c.length===0){r<n&&window.setTimeout(o,100);return}let l=1/0,i=1/0,u=-1/0,f=-1/0,h=!1;for(const p of c){const g=p.getBounds;if(typeof g=="function")try{const C=g.call(p);if(!C||!Array.isArray(C)||C.length!==2)continue;const[v,y]=C;if(!v||!y||!isFinite(v[0])||!isFinite(v[1])||!isFinite(y[0])||!isFinite(y[1]))continue;l=Math.min(l,v[0]),i=Math.min(i,v[1]),u=Math.max(u,y[0]),f=Math.max(f,y[1]),h=!0}catch{}}if(!h){r<n&&window.setTimeout(o,100);return}e.fitBounds([[l,i],[u,f]]),t=!0}catch{r<n&&window.setTimeout(o,100)}}};window.setTimeout(o,200)}function ht(e){return{basemap:e.basemap??"gaode",token:e.token,style:e.style,center:e.center??[105,35],zoom:e.zoom??4,pitch:e.pitch??0,rotation:e.rotation??0,minZoom:e.minZoom,maxZoom:e.maxZoom,bounds:e.bounds,gestureConfig:e.gestureConfig}}function mt({schema:e,isComposableMode:t,onSceneReady:r,layerEventHandlers:n,mapEventHandlers:o,containerRef:s,className:c,style:l,children:i}){var v,y;const{isMobile:u}=l5(),[f,h]=d.useState(e.layers??[]),p=d.useMemo(()=>{var M,L;if(t||!u||!((L=(M=e.responsive)==null?void 0:M.mobile)!=null&&L.layers))return e.layers;const x=e.responsive.mobile.layers;if("*"in x){const S=x["*"];return e.layers.map(z=>({...z,...S,id:z.id}))}return e.layers.map(S=>S.id&&x[S.id]?{...S,...x[S.id],id:S.id}:S)},[e.layers,e.responsive,u,t]),g=d.useMemo(()=>{var L,S;const x=e.controls??[];if(!u||!((S=(L=e.responsive)==null?void 0:L.mobile)!=null&&S.controls))return x;const M=e.responsive.mobile.controls;return M.hide?x.filter(z=>!M.hide.includes(z.type)):x},[e.controls,e.responsive,u]),C=d.useCallback((x,M)=>{h(L=>L.map(S=>S.id===x?{...S,visible:M}:S))},[]);return a.jsx("div",{ref:s,className:c??"aimapui-container",style:l??{width:"100%",height:"100%"},children:a.jsxs(Be,{mapSchema:e.map,onSceneReady:r,mapEventHandlers:o,events:e.events,style:{width:"100%",height:"100%"},children:[!t&&p.length>0&&a.jsx(t5,{layers:p,eventHandlers:n}),!t&&a.jsx(n5,{controls:g,layers:p,onLayerToggle:C,containerRef:s}),!t&&e.interactions&&e.interactions.length>0&&a.jsx(a5,{interactions:e.interactions}),!t&&(u?e.legends&&e.legends.length>0&&a.jsx(d5,{legends:e.legends}):a.jsx(i5,{legends:e.legends??[]})),!t&&u&&((y=(v=e.responsive)==null?void 0:v.mobile)==null?void 0:y.toolbar)&&a.jsx(u5,{config:e.responsive.mobile.toolbar}),t?a.jsx(gt,{children:i}):null]})})}function gt({children:e}){const{controls:t,others:r}=d.useMemo(()=>{const n=[],o=[];return d.Children.forEach(e,(s,c)=>{d.isValidElement(s)&&S1.check(s)?n.push(s):o.push(s)}),{controls:n,others:o}},[e]);return a.jsxs(a.Fragment,{children:[t.length>0&&a.jsx(E0,{children:t}),r]})}function q1(e,t){if(e===t)return!1;if(e==null||t==null||typeof e!=typeof t||typeof e!="object")return!0;try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return!0}}function Ct(e,t){const r=q1(e.map,t.map),n=new Map;(e.layers??[]).forEach(y=>{y.id&&n.set(y.id,y)});const o=new Map;(t.layers??[]).forEach(y=>{y.id&&o.set(y.id,y)});const s=[],c=[],l=[];(t.layers??[]).forEach((y,x)=>{const M=y.id??`__index_${x}`;if(!n.has(M))s.push(y);else{const L=n.get(M);q1(L,y)&&l.push({id:M,prev:L,next:y})}}),(e.layers??[]).forEach((y,x)=>{const M=y.id??`__index_${x}`;o.has(M)||c.push(M)});const i=e.controls??[],u=t.controls??[],f=[],h=[],p=[],g=Math.max(i.length,u.length);for(let y=0;y<g;y++)y>=i.length?f.push(u[y]):y>=u.length?h.push(i[y]):q1(i[y],u[y])&&p.push({index:y,prev:i[y],next:u[y]});const C=q1(e.interactions,t.interactions),v=q1(e.legends,t.legends);return{mapChanged:r,layersAdded:s,layersRemoved:c,layersUpdated:l,controlsAdded:f,controlsRemoved:h,controlsUpdated:p,interactionsChanged:C,legendsChanged:v}}function vt(e){const t=[];return e.map?t.push(...yt(e.map)):t.push({path:"map",message:"map is required",severity:"error"}),!e.layers||!Array.isArray(e.layers)?t.push({path:"layers",message:"layers must be an array",severity:"error"}):e.layers.forEach((r,n)=>{t.push(...xt(r,n))}),e.controls&&(Array.isArray(e.controls)?e.controls.forEach((r,n)=>{r.type||t.push({path:`controls[${n}].type`,message:"control type is required",severity:"error"})}):t.push({path:"controls",message:"controls must be an array",severity:"error"})),e.interactions&&(Array.isArray(e.interactions)?e.interactions.forEach((r,n)=>{(r.type==="marker"||r.type==="popup")&&(typeof r.longitude!="number"||typeof r.latitude!="number")&&t.push({path:`interactions[${n}]`,message:"marker/popup requires longitude and latitude as numbers",severity:"error"})}):t.push({path:"interactions",message:"interactions must be an array",severity:"error"})),e.legends&&(Array.isArray(e.legends)?e.legends.forEach((r,n)=>{r.type||t.push({path:`legends[${n}].type`,message:"legend type is required",severity:"error"})}):t.push({path:"legends",message:"legends must be an array",severity:"error"})),t}function yt(e){const t=[],r=["gaode","mapbox","maplibre","tianditu","tencent","baidu","google","map"];if(r.includes(e.basemap)||t.push({path:"map.basemap",message:`Invalid basemap "${e.basemap}". Valid values: ${r.join(", ")}`,severity:"error"}),e.center){const[n,o]=e.center;(n<-180||n>180)&&t.push({path:"map.center[0]",message:"Longitude must be between -180 and 180",severity:"error"}),(o<-90||o>90)&&t.push({path:"map.center[1]",message:"Latitude must be between -90 and 90",severity:"error"})}return e.zoom!==void 0&&(e.zoom<0||e.zoom>22)&&t.push({path:"map.zoom",message:"Zoom must be between 0 and 22",severity:"warning"}),["gaode","mapbox","tianditu","tencent","baidu","google"].includes(e.basemap)&&!e.token&&t.push({path:"map.token",message:`basemap "${e.basemap}" requires a token`,severity:"warning"}),t}function xt(e,t){const r=[],n=`layers[${t}]`,o=["point","line","polygon","heatmap","raster","image"];return e.type?o.includes(e.type)||r.push({path:`${n}.type`,message:`Invalid layer type "${e.type}". Valid values: ${o.join(", ")}`,severity:"error"}):r.push({path:`${n}.type`,message:"layer type is required",severity:"error"}),e.source===void 0&&e.source,e.colorField&&!e.colorValues&&!e.color&&r.push({path:`${n}.colorValues`,message:"colorField is set but colorValues is not. L7 will use default scale.",severity:"warning"}),e.sizeField&&!e.sizeValues&&e.size===void 0&&r.push({path:`${n}.sizeValues`,message:"sizeField is set but sizeValues is not. L7 will use default scale.",severity:"warning"}),r}const bt={$schema:"http://json-schema.org/draft-07/schema#",title:"AiMapSchema",description:"Schema-driven React map visualization component configuration",type:"object",required:["map","layers"],properties:{map:{type:"object",required:["basemap"],properties:{basemap:{type:"string",enum:["gaode","mapbox","maplibre","tianditu","tencent","baidu","google","map"],description:"Map base tile provider"},token:{type:"string",description:"API token for the map service"},style:{type:"string",description:"Map style preset (light/dark/normal/darkblue/satellite) or custom URL"},center:{type:"array",items:{type:"number"},minItems:2,maxItems:2,description:"Map center [longitude, latitude], default [105, 35]"},zoom:{type:"number",description:"Map zoom level, default 4"},pitch:{type:"number",description:"Map pitch in degrees, default 0"},rotation:{type:"number",description:"Map rotation in degrees, default 0"},minZoom:{type:"number",description:"Minimum zoom level"},maxZoom:{type:"number",description:"Maximum zoom level"},bounds:{type:"array",items:{type:"array",items:{type:"number"},minItems:2,maxItems:2},minItems:2,maxItems:2,description:"Initial bounds [[swLng, swLat], [neLng, neLat]]"},gestureConfig:{type:"object",properties:{dragPan:{type:"boolean"},pinchZoom:{type:"boolean"},dragRotate:{type:"boolean"}}}}},layers:{type:"array",description:"Array of map layers",items:{type:"object",required:["type","source"],properties:{id:{type:"string",description:"Unique layer ID (auto-generated if omitted)"},type:{type:"string",enum:["point","line","polygon","heatmap","raster","image"],description:"Layer visualization type"},name:{type:"string",description:"Human-readable layer name"},visible:{type:"boolean",default:!0},zIndex:{type:"number",default:0},minZoom:{type:"number"},maxZoom:{type:"number"},autoFit:{type:"boolean",default:!1},source:{description:"GeoJSON, JSON array, or URL string"},sourceType:{type:"string",enum:["geojson","json","csv"]},sourceConfig:{type:"object",properties:{x:{type:"string",description:"Longitude field name"},y:{type:"string",description:"Latitude field name"},x1:{type:"string",description:"End longitude field (for arc lines)"},y1:{type:"string",description:"End latitude field (for arc lines)"},coordinates:{type:"string",description:"Coordinates field"}}},color:{type:"string",description:"Fixed color"},colorField:{type:"string",description:"Field to map color to"},colorValues:{oneOf:[{type:"string",description:"Color palette name"},{type:"array",items:{type:"string"},description:"Array of color values"}]},size:{type:"number",description:"Fixed size"},sizeField:{type:"string",description:"Field to map size to"},sizeValues:{type:"array",items:{type:"number"},description:"Size range [min, max]"},shape:{type:"string",description:"Fixed shape"},shapeField:{type:"string",description:"Field to map shape to"},shapeValues:{type:"array",items:{type:"string"}},style:{type:"object",description:"Additional style properties"},filterField:{type:"string"},filterValues:{type:"array"},animate:{type:"object",properties:{enable:{type:"boolean"},speed:{type:"number"},duration:{type:"number"},trailLength:{type:"number"},repeat:{type:"number"}}},active:{oneOf:[{type:"boolean"},{type:"object",properties:{color:{type:"string"}}}]},select:{oneOf:[{type:"boolean"},{type:"object",properties:{color:{type:"string"}}}]},events:{type:"object",description:"Layer event configuration",properties:{click:{type:"string",description:"Event identifier emitted on click (via EventBus)"},mousemove:{type:"string",description:"Event identifier emitted on mousemove"},mouseenter:{type:"string",description:"Event identifier emitted on mouseenter"},mouseleave:{type:"string",description:"Event identifier emitted on mouseleave"},enablePopup:{type:"boolean",description:"Auto-show popup on click"},popupFields:{type:"array",items:{type:"string"},description:"Fields to show in popup"},popupTemplate:{type:"string",description:"HTML template with {{field}} interpolation"}}}}}},controls:{type:"array",description:"Map control widgets",items:{type:"object",required:["type"],properties:{type:{type:"string",enum:["zoom","scale","fullscreen","geoLocate","mapTheme","mouseLocation","exportImage","layerSwitch"]},position:{type:"string",enum:["topleft","topright","bottomleft","bottomright","topcenter","bottomcenter"]},options:{type:"object"}}}},interactions:{type:"array",description:"Interactive elements (markers, popups, tooltips)",items:{oneOf:[{type:"object",required:["type","longitude","latitude"],properties:{type:{type:"string",const:"marker"},longitude:{type:"number"},latitude:{type:"number"},content:{type:"string"},draggable:{type:"boolean"}}},{type:"object",required:["type","longitude","latitude","content"],properties:{type:{type:"string",const:"popup"},longitude:{type:"number"},latitude:{type:"number"},content:{type:"string"},closeButton:{type:"boolean"}}},{type:"object",required:["type","content"],properties:{type:{type:"string",const:"tooltip"},content:{type:"string"},trigger:{type:"string",enum:["hover","click"]}}}]}},legends:{type:"array",description:"Legend configurations",items:{oneOf:[{type:"object",required:["type","labels","colors"],properties:{type:{type:"string",const:"categories"},title:{type:"string"},labels:{type:"array",items:{type:"string"}},colors:{type:"array",items:{type:"string"}}}},{type:"object",required:["type","labels","colors"],properties:{type:{type:"string",const:"ramp"},title:{type:"string"},labels:{type:"array",items:{type:"string"}},colors:{type:"array",items:{type:"string"}},isContinuous:{type:"boolean"}}},{type:"object",required:["type","labels"],properties:{type:{type:"string",const:"proportion"},title:{type:"string"},labels:{type:"array",items:{type:"array",items:{type:"number"}}},fillColor:{type:"string"}}},{type:"object",required:["type","items"],properties:{type:{type:"string",const:"icon"},title:{type:"string"},items:{type:"array",items:{type:"object",properties:{icon:{type:"string"},label:{type:"string"}}}}}}]}},responsive:{type:"object",properties:{breakpoint:{type:"number",default:768},mobile:{type:"object",properties:{controls:{type:"object",properties:{position:{type:"string"},scale:{type:"number"},hide:{type:"array",items:{type:"string"}}}},legends:{type:"object",properties:{compact:{type:"boolean"},position:{type:"string"}}},toolbar:{type:"object",required:["items","position"],properties:{items:{type:"array",items:{type:"string"}},position:{type:"string",enum:["bottom","top"]}}}}}}},events:{type:"object",description:"Global event identifier mappings for map and interactions",properties:{mapMove:{type:"string",description:"Event identifier for map move"},mapZoom:{type:"string",description:"Event identifier for map zoom"},markerDragEnd:{type:"string",description:"Event identifier for marker drag end"}}}}};function b1({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c,...l}){const i=g1();if(!i)return null;const u={...l,type:"point",source:e,sourceType:t??"json",sourceConfig:r},f=n||o||s||c?{onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c}:void 0;return a.jsx(P1,{schema:u,scene:i,eventHandlers:f})}function H1({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c,...l}){const i=g1();if(!i)return null;const u={...l,type:"line",source:e,sourceType:t??"json",sourceConfig:r},f=n||o||s||c?{onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c}:void 0;return a.jsx(P1,{schema:u,scene:i,eventHandlers:f})}function i0({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c,...l}){const i=g1();if(!i)return null;const u={...l,type:"polygon",source:e,sourceType:t??"geojson",sourceConfig:r},f=n||o||s||c?{onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c}:void 0;return a.jsx(P1,{schema:u,scene:i,eventHandlers:f})}function f5({source:e,sourceType:t,sourceConfig:r,onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c,...l}){const i=g1();if(!i)return null;const u={...l,type:"heatmap",source:e,sourceType:t??"json",sourceConfig:r},f=n||o||s||c?{onClick:n,onMouseMove:o,onMouseEnter:s,onMouseLeave:c}:void 0;return a.jsx(P1,{schema:u,scene:i,eventHandlers:f})}function p5({source:e,sourceType:t="json",sourceConfig:r,hexSize:n=100,weightField:o="h12",weightMethod:s="sum",onClick:c,onMouseMove:l,style:i,...u}){const f=[{type:"hexagon",size:n,field:o,method:s}];return a.jsx(f5,{...u,source:e,sourceType:t,sourceConfig:{...r,transforms:f},shape:"hexagonColumn",style:{coverage:.8,angle:0,...i??{}},onClick:c,onMouseMove:l})}function h5({source:e,sourceType:t,sourceConfig:r,onClick:n,...o}){const s=g1();if(!s)return null;const c={...o,type:"raster",source:e,sourceType:t??"raster",sourceConfig:r},l=n?{onClick:n}:void 0;return a.jsx(P1,{schema:c,scene:s,eventHandlers:l})}function Lt({source:e,sourceType:t,sourceConfig:r,onClick:n,...o}){const s=g1();if(!s)return null;const c={...o,type:"image",source:e,sourceType:t??"image",sourceConfig:r},l=n?{onClick:n}:void 0;return a.jsx(P1,{schema:c,scene:s,eventHandlers:l})}const Mt=[8,16,32,48,64],r0={primary:"#2563eb",warning:"#f59e0b",error:"#ef4444",success:"#10b981"};function wt({source:e,sourceType:t="geojson",sourceConfig:r,labelField:n="name",labelColor:o="#0b3b8c",labelSize:s=12,showLabel:c=!0,labelTrigger:l="always",labelOffset:i,sizeDomain:u,bubbleAnchor:f="bottom",labelAnchor:h="top",hoverEffect:p=!0,clickEffect:g=!0,tooltipEffect:C=!0,tooltipFields:v,tooltipTemplate:y,semanticColorField:x,color:M="#2563eb",size:L=16,sizeField:S,sizeValues:z,style:Z,active:b,select:j,onClick:T,onMouseMove:A,onMouseEnter:_,onMouseLeave:H,...w}){const V=x??w.colorField,E=w.colorValues??(x?[r0.primary,r0.warning,r0.error,r0.success]:void 0),R=S?z??[...Mt]:z,[F,G]=d.useState(l==="always"),J=d.useCallback(U=>{l==="hover"&&G(!0),_==null||_(U)},[l,_]),Q=d.useCallback(U=>{l==="hover"&&G(!1),H==null||H(U)},[l,H]),q={color:"#60a5fa"},N={color:"#1d4ed8"},P=(()=>{const U=w.events;return C?{...U,enablePopup:(U==null?void 0:U.enablePopup)??!0,popupFields:(U==null?void 0:U.popupFields)??v,popupTemplate:(U==null?void 0:U.popupTemplate)??y}:U})(),[W,$]=d.useState(!1);d.useEffect(()=>{const U=requestAnimationFrame(()=>$(!0));return()=>cancelAnimationFrame(U)},[]);const D=c&&F&&W,a1=S?{sizeField:S,sizeValues:R}:{size:L};return a.jsxs(a.Fragment,{children:[a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shape:"circle",color:M,colorField:V,colorValues:E,...a1,opacity:.75,active:p?b??q:b,select:g?j??N:j,events:P,zIndex:w.zIndex??0,autoFit:w.autoFit,visible:w.visible,name:w.name??"bubble-circle",onClick:T,onMouseMove:A,onMouseEnter:J,onMouseLeave:Q,style:{stroke:M??"#004ac6",strokeWidth:2,strokeOpacity:1,...Z??{}}}),D&&a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shapeField:n,shapeValues:"text",color:o,size:s,zIndex:(w.zIndex??0)+1,style:{textAnchor:h,textOffset:i??[0,0],stroke:"#fff",strokeWidth:2,textAllowOverlap:!0}})]})}const ge=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],m0=1,Y1=8,m1=new Uint32Array(96);class G0{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");const[r,n]=new Uint8Array(t,0,2);if(r!==219)throw new Error("Data does not appear to be in a KDBush format.");const o=n>>4;if(o!==m0)throw new Error(`Got v${o} data when expected v${m0}.`);const s=ge[n&15];if(!s)throw new Error("Unrecognized array type.");const[c]=new Uint16Array(t,2,1),[l]=new Uint32Array(t,4,1);return new G0(l,c,s,void 0,t)}constructor(t,r=64,n=Float64Array,o=ArrayBuffer,s){if(isNaN(t)||t<0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=n,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const c=ge.indexOf(this.ArrayType),l=t*2*this.ArrayType.BYTES_PER_ELEMENT,i=t*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-i%8)%8;if(c<0)throw new Error(`Unexpected typed array class: ${n}.`);if(s)this.data=s,this.ids=new this.IndexArrayType(s,Y1,t),this.coords=new n(s,Y1+i+u,t*2),this._pos=t*2,this._finished=!0;else{const f=this.data=new o(Y1+l+i+u);this.ids=new this.IndexArrayType(f,Y1,t),this.coords=new n(f,Y1+i+u,t*2),this._pos=0,this._finished=!1,new Uint8Array(f,0,2).set([219,(m0<<4)+c]),new Uint16Array(f,2,1)[0]=r,new Uint32Array(f,4,1)[0]=t}}add(t,r){const n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=t,this.coords[this._pos++]=r,n}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return M0(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,r,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:c,nodeSize:l}=this;m1[0]=0,m1[1]=s.length-1,m1[2]=0;let i=3;const u=[];for(;i>0;){const f=m1[--i],h=m1[--i],p=m1[--i];if(h-p<=l){for(let y=p;y<=h;y++){const x=c[2*y],M=c[2*y+1];x>=t&&x<=n&&M>=r&&M<=o&&u.push(s[y])}continue}const g=p+h>>1,C=c[2*g],v=c[2*g+1];C>=t&&C<=n&&v>=r&&v<=o&&u.push(s[g]),(f===0?t<=C:r<=v)&&(m1[i++]=p,m1[i++]=g-1,m1[i++]=1-f),(f===0?n>=C:o>=v)&&(m1[i++]=g+1,m1[i++]=h,m1[i++]=1-f)}return u}within(t,r,n){const o=[];return this.withinInto(t,r,n,o),o}withinInto(t,r,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:c,nodeSize:l}=this;m1[0]=0,m1[1]=s.length-1,m1[2]=0;let i=3,u=0;const f=n*n;for(;i>0;){const h=m1[--i],p=m1[--i],g=m1[--i];if(p-g<=l){for(let x=g;x<=p;x++)Ce(c[2*x],c[2*x+1],t,r)<=f&&(o[u++]=s[x]);continue}const C=g+p>>1,v=c[2*C],y=c[2*C+1];Ce(v,y,t,r)<=f&&(o[u++]=s[C]),(h===0?t-n<=v:r-n<=y)&&(m1[i++]=g,m1[i++]=C-1,m1[i++]=1-h),(h===0?t+n>=v:r+n>=y)&&(m1[i++]=C+1,m1[i++]=p,m1[i++]=1-h)}return u}}function M0(e,t,r,n,o,s){if(o-n<=r)return;const c=n+o>>1;m5(e,t,c,n,o,s),M0(e,t,r,n,c-1,1-s),M0(e,t,r,c+1,o,1-s)}function m5(e,t,r,n,o,s){for(;o>n;){if(o-n>600){const u=o-n+1,f=r-n+1,h=Math.log(u),p=.5*Math.exp(2*h/3),g=.5*Math.sqrt(h*p*(u-p)/u)*(f-u/2<0?-1:1),C=Math.max(n,Math.floor(r-f*p/u+g)),v=Math.min(o,Math.floor(r+(u-f)*p/u+g));m5(e,t,r,C,v,s)}const c=t[2*r+s];let l=n,i=o;for(G1(e,t,n,r),t[2*o+s]>c&&G1(e,t,n,o);l<i;){for(G1(e,t,l,i),l++,i--;t[2*l+s]<c;)l++;for(;t[2*i+s]>c;)i--}t[2*n+s]===c?G1(e,t,n,i):(i++,G1(e,t,i,o)),i<=r&&(n=i+1),r<=i&&(o=i-1)}}function G1(e,t,r,n){g0(e,r,n),g0(t,2*r,2*n),g0(t,2*r+1,2*n+1)}function g0(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function Ce(e,t,r,n){const o=e-r,s=t-n;return o*o+s*s}const St={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},ve=Math.fround||(e=>(t=>(e[0]=+t,e[0])))(new Float32Array(1)),I1=2,R1=3,C0=4,_1=5,g5=6;class zt{constructor(t){this.options=Object.assign(Object.create(St),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:r,minZoom:n,maxZoom:o}=this.options;r&&console.time("total time");const s=`prepare ${t.length} points`;r&&console.time(s),this.points=t;const c=[];for(let i=0;i<t.length;i++){const u=t[i];if(!u.geometry)continue;const[f,h]=u.geometry.coordinates,p=ve(n0(f)),g=ve(o0(h));c.push(p,g,1/0,i,-1,1),this.options.reduce&&c.push(0)}let l=this.trees[o+1]=this._createTree(c);r&&console.timeEnd(s);for(let i=o;i>=n;i--){const u=+Date.now();l=this.trees[i]=this._createTree(this._cluster(l,i)),r&&console.log("z%d: %d clusters in %dms",i,l.numItems,+Date.now()-u)}return r&&console.timeEnd("total time"),this}getClusters(t,r){let n=((t[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,t[1]));let s=t[2]===180?180:((t[2]+180)%360+360)%360-180;const c=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)n=-180,s=180;else if(n>s){const h=this.getClusters([n,o,180,c],r),p=this.getClusters([-180,o,s,c],r);return h.concat(p)}const l=this.trees[this._limitZoom(r)],i=l.range(n0(n),o0(c),n0(s),o0(o)),u=l.data,f=[];for(const h of i){const p=this.stride*h;f.push(u[p+_1]>1?ye(u,p,this.clusterProps):this.points[u[p+R1]])}return f}getChildren(t){const r=this._getOriginId(t),n=this._getOriginZoom(t),o="No cluster with the specified id.",s=this.trees[n];if(!s)throw new Error(o);const c=s.data;if(r*this.stride>=c.length)throw new Error(o);const l=this.options.radius/(this.options.extent*Math.pow(2,n-1)),i=c[r*this.stride],u=c[r*this.stride+1],f=s.within(i,u,l),h=[];for(const p of f){const g=p*this.stride;c[g+C0]===t&&h.push(c[g+_1]>1?ye(c,g,this.clusterProps):this.points[c[g+R1]])}if(h.length===0)throw new Error(o);return h}getLeaves(t,r,n){r=r||10,n=n||0;const o=[];return this._appendLeaves(o,t,r,n,0),o}getTile(t,r,n){const o=this.trees[this._limitZoom(t)],s=Math.pow(2,t),{extent:c,radius:l}=this.options,i=l/c,u=(n-i)/s,f=(n+1+i)/s,h={features:[]};return this._addTileFeatures(o.range((r-i)/s,u,(r+1+i)/s,f),o.data,r,n,s,h),r===0&&this._addTileFeatures(o.range(1-i/s,u,1,f),o.data,s,n,s,h),r===s-1&&this._addTileFeatures(o.range(0,u,i/s,f),o.data,-1,n,s,h),h.features.length?h:null}getClusterExpansionZoom(t){let r=this._getOriginZoom(t)-1;for(;r<=this.options.maxZoom;){const n=this.getChildren(t);if(r++,n.length!==1)break;t=n[0].properties.cluster_id}return r}_appendLeaves(t,r,n,o,s){const c=this.getChildren(r);for(const l of c){const i=l.properties;if(i&&i.cluster?s+i.point_count<=o?s+=i.point_count:s=this._appendLeaves(t,i.cluster_id,n,o,s):s<o?s++:t.push(l),t.length===n)break}return s}_createTree(t){const r=new G0(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<t.length;n+=this.stride)r.add(t[n],t[n+1]);return r.finish(),r.data=t,r}_addTileFeatures(t,r,n,o,s,c){for(const l of t){const i=l*this.stride,u=r[i+_1]>1;let f,h,p;if(u)f=C5(r,i,this.clusterProps),h=r[i],p=r[i+1];else{const v=this.points[r[i+R1]];f=v.properties;const[y,x]=v.geometry.coordinates;h=n0(y),p=o0(x)}const g={type:1,geometry:[[Math.round(this.options.extent*(h*s-n)),Math.round(this.options.extent*(p*s-o))]],tags:f};let C;u||this.options.generateId?C=r[i+R1]:C=this.points[r[i+R1]].id,C!==void 0&&(g.id=C),c.features.push(g)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,r){const{radius:n,extent:o,reduce:s,minPoints:c}=this.options,l=n/(o*Math.pow(2,r)),i=t.data,u=[],f=this.stride;for(let h=0;h<i.length;h+=f){if(i[h+I1]<=r)continue;i[h+I1]=r;const p=i[h],g=i[h+1],C=t.within(i[h],i[h+1],l),v=i[h+_1];let y=v;for(const x of C){const M=x*f;i[M+I1]>r&&(y+=i[M+_1])}if(y>v&&y>=c){let x=p*v,M=g*v,L,S=-1;const z=((h/f|0)<<5)+(r+1)+this.points.length;for(const Z of C){const b=Z*f;if(i[b+I1]<=r)continue;i[b+I1]=r;const j=i[b+_1];x+=i[b]*j,M+=i[b+1]*j,i[b+C0]=z,s&&(L||(L=this._map(i,h,!0),S=this.clusterProps.length,this.clusterProps.push(L)),s(L,this._map(i,b)))}i[h+C0]=z,u.push(x/y,M/y,1/0,z,-1,y),s&&u.push(S)}else{for(let x=0;x<f;x++)u.push(i[h+x]);if(y>1)for(const x of C){const M=x*f;if(!(i[M+I1]<=r)){i[M+I1]=r;for(let L=0;L<f;L++)u.push(i[M+L])}}}}return u}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,r,n){if(t[r+_1]>1){const c=this.clusterProps[t[r+g5]];return n?Object.assign({},c):c}const o=this.points[t[r+R1]].properties,s=this.options.map(o);return n&&s===o?Object.assign({},s):s}}function ye(e,t,r){return{type:"Feature",id:e[t+R1],properties:C5(e,t,r),geometry:{type:"Point",coordinates:[Ht(e[t]),Vt(e[t+1])]}}}function C5(e,t,r){const n=e[t+_1],o=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?`${Math.round(n/100)/10}k`:n,s=e[t+g5],c=s===-1?{}:Object.assign({},r[s]);return Object.assign(c,{cluster:!0,cluster_id:e[t+R1],point_count:n,point_count_abbreviated:o})}function n0(e){return e/360+.5}function o0(e){const t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function Ht(e){return(e-.5)*360}function Vt(e){const t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function jt({source:e,sourceType:t="geojson",sourceConfig:r,gridSize:n=60,minClusterSize:o=2,animationDuration:s=300,easing:c="cubic-bezier(0.4, 0, 0.2, 1)",onPointClick:l,onClusterClick:i}){const u=g1(),[f,h]=d.useState([]),[p,g]=d.useState(null),[C,v]=d.useState(null),y=d.useRef(null),x=d.useRef(-1),M=d.useMemo(()=>Et(e,t,r),[e,t,r]);d.useEffect(()=>{if(M.length===0){y.current=null,h([]),x.current=-1;return}const b=new zt({radius:n,minPoints:o,maxZoom:20,minZoom:0}),j=M.map(T=>({type:"Feature",properties:{id:T.id,...T.properties},geometry:{type:"Point",coordinates:[T.lng,T.lat]}}));b.load(j),y.current=b,x.current=-1},[M,n,o]);const L=d.useCallback((b,j)=>{try{const T=Math.floor(j.getZoom());if(T===x.current)return;x.current=T;let A=[-180,-90,180,90];try{const w=j.getBounds();w&&(A=[w[0][0],w[0][1],w[1][0],w[1][1]])}catch{}const H=b.getClusters(A,T).map(w=>{const V=w.geometry.coordinates,E=V[0],R=V[1];return w.properties.cluster?{id:`cluster-${w.properties.cluster_id}`,clusterId:w.properties.cluster_id,lng:E,lat:R,pointCount:w.properties.point_count,isCluster:!0,properties:{}}:{id:`point-${w.properties.id}`,clusterId:-1,lng:E,lat:R,pointCount:1,isCluster:!1,properties:w.properties}});h(H),g(null)}catch{}},[]);d.useEffect(()=>{var A,_;if(!u)return;const b=u.mapService,j=()=>{requestAnimationFrame(()=>{const H=y.current;H&&u.loaded&&L(H,u)})};u.loaded?j():u.once("loaded",j);const T=()=>{const H=y.current;H&&L(H,u)};return(A=b==null?void 0:b.on)==null||A.call(b,"camerachange",T),(_=b==null?void 0:b.on)==null||_.call(b,"viewchange",T),()=>{var H,w;u.off("loaded",j),(H=b==null?void 0:b.off)==null||H.call(b,"camerachange",T),(w=b==null?void 0:b.off)==null||w.call(b,"viewchange",T)}},[u,L]);const S=d.useCallback(b=>{if(!u||!b.isCluster)return;let j=[];const T=y.current;T&&(j=T.getLeaves(b.clusterId,1/0)),i==null||i(b,j);try{if(u.getZoom()>=20-.5){g(H=>H===b.id?null:b.id);return}if(j.length>0){const H=j.map(F=>F.geometry.coordinates),w=H.map(F=>F[0]),V=H.map(F=>F[1]),E=[Math.min(...w),Math.min(...V)],R=[Math.max(...w),Math.max(...V)];u.fitBounds([E,R],{padding:[40,40,40,40],duration:s})}}catch{}},[u,i,s]),z=d.useMemo(()=>{if(!u||!p||!y.current)return[];const b=f.find(j=>j.id===p&&j.isCluster);if(!b)return[];try{const j=y.current.getLeaves(b.clusterId,1/0),T=u.mapService;if(!T)return[];const A=T.lngLatToContainer([b.lng,b.lat]);if(!A)return[];const _=j.length,H=Math.max(24,Math.min(72,18+_*2));return j.map((w,V)=>{var J,Q;const E=Math.PI*2*V/_-Math.PI/2,R=A.x+Math.cos(E)*H,F=A.y+Math.sin(E)*H,G=T.containerToLngLat([R,F]);return{id:`spider-${b.id}-${((J=w.properties)==null?void 0:J.id)??V}`,lng:G.lng,lat:G.lat,point:{id:String(((Q=w.properties)==null?void 0:Q.id)??V),lng:w.geometry.coordinates[0],lat:w.geometry.coordinates[1],properties:w.properties??{}}}})}catch{return[]}},[u,p,f]),Z=d.useMemo(()=>p?f.find(b=>b.id===p&&b.isCluster)??null:null,[p,f]);return a.jsxs(a.Fragment,{children:[p&&Z&&z.map(b=>a.jsx(B1,{longitude:b.lng,latitude:b.lat,anchor:"center",content:a.jsx(kt,{centerLng:Z.lng,centerLat:Z.lat,lineLng:b.lng,lineLat:b.lat})},`line-${b.id}`)),f.map(b=>{var _;if(!b.isCluster)return a.jsx(B1,{longitude:b.lng,latitude:b.lat,anchor:"center",content:a.jsx("div",{title:String(((_=b.properties)==null?void 0:_.name)??"单点"),onClick:()=>{var H;return l==null?void 0:l({id:String(((H=b.properties)==null?void 0:H.id)??""),lng:b.lng,lat:b.lat,properties:b.properties})},style:{width:14,height:14,borderRadius:9999,background:"#2563eb",border:"2px solid #fff",boxShadow:"0 2px 10px rgba(37,99,235,.5), 0 0 0 3px rgba(37,99,235,.15)",transition:"transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1)",cursor:"pointer"}})},b.id);const j=b.pointCount,T=At(j),A=C===b.id;return a.jsx(B1,{longitude:b.lng,latitude:b.lat,anchor:"center",content:a.jsxs("div",{title:`包含 ${j} 个要素`,onClick:()=>S(b),onMouseEnter:()=>v(b.id),onMouseLeave:()=>v(H=>H===b.id?null:H),style:{width:T.size,height:T.size,borderRadius:9999,display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",fontWeight:T.fontWeight,fontSize:T.fontSize,background:T.background,border:T.border,boxShadow:T.shadow,position:"relative",cursor:"pointer",transition:"transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1)",transform:A?"scale(1.1)":"scale(1)"},children:[T.pulse&&a.jsx("span",{style:{position:"absolute",inset:-6,borderRadius:9999,background:"rgba(37,99,235,0.25)",animation:"aimapui-cluster-pulse 1.6s ease-out infinite"}}),a.jsx("span",{style:{position:"relative",zIndex:1},children:j})]})},b.id)}),z.map(b=>{var j;return a.jsx(B1,{longitude:b.lng,latitude:b.lat,anchor:"center",content:a.jsx("div",{title:String(((j=b.point.properties)==null?void 0:j.name)??b.point.id),onClick:()=>l==null?void 0:l(b.point),style:{width:10,height:10,borderRadius:9999,background:"#fff",border:"2px solid #2563eb",boxShadow:"0 2px 8px rgba(0,0,0,.2)",cursor:"pointer"}})},b.id)})]})}function kt({centerLng:e,centerLat:t,lineLng:r,lineLat:n}){const o=g1(),s=d.useRef(null);return d.useEffect(()=>{if(!o)return;const c=o.mapService;if(!c)return;const l=()=>{const f=s.current;if(f)try{const h=c.lngLatToContainer([e,t]),p=c.lngLatToContainer([r,n]);if(!h||!p)return;const g=p.x-h.x,C=p.y-h.y,v=Math.sqrt(g*g+C*C),y=Math.atan2(C,g)*180/Math.PI;f.style.width=`${v}px`,f.style.transform=`rotate(${y}deg)`}catch{}};l();const i=(f,h,p)=>{var g;try{(g=f==null?void 0:f.on)==null||g.call(f,h,p)}catch{}},u=(f,h,p)=>{var g;try{(g=f==null?void 0:f.off)==null||g.call(f,h,p)}catch{}};return i(c,"camerachange",l),i(c,"viewchange",l),()=>{u(c,"camerachange",l),u(c,"viewchange",l)}},[o,e,t,r,n]),a.jsx("div",{ref:s,style:{position:"absolute",left:0,top:0,height:1,background:"rgba(195, 198, 215, 0.5)",transformOrigin:"0 50%",pointerEvents:"none"}})}function At(e){return e>=1e3?{size:48,fontSize:14,fontWeight:700,background:"linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%)",border:"2px solid rgba(255,255,255,0.55)",shadow:"0 10px 24px rgba(37,99,235,.45)",pulse:!0}:e>=100?{size:40,fontSize:13,fontWeight:700,background:"rgba(37,99,235,0.30)",border:"2px solid rgba(255,255,255,0.5)",shadow:"0 6px 16px rgba(37,99,235,.25)",pulse:!1}:{size:32,fontSize:12,fontWeight:600,background:"radial-gradient(circle, #2563eb 60%, rgba(37,99,235,0.20) 61%)",border:"1px solid rgba(255,255,255,0.55)",shadow:"0 4px 12px rgba(37,99,235,.2)",pulse:!1}}function Et(e,t,r){if(!e)return[];if(t==="geojson"&&typeof e=="object"&&e!==null){const n=e;return(Array.isArray(n.features)?n.features:[]).map((s,c)=>{var u,f,h;const l=s,i=(u=l==null?void 0:l.geometry)==null?void 0:u.coordinates;return!Array.isArray(i)||i.length<2?null:{id:String(((f=l==null?void 0:l.properties)==null?void 0:f.id)??((h=l==null?void 0:l.properties)==null?void 0:h.Id)??c),lng:Number(i[0]),lat:Number(i[1]),properties:(l==null?void 0:l.properties)??{}}}).filter(Boolean)}if(Array.isArray(e)){const n=(r==null?void 0:r.x)??"lng",o=(r==null?void 0:r.y)??"lat";return e.map((s,c)=>{const l=s,i=Number(l[n]),u=Number(l[o]);return Number.isNaN(i)||Number.isNaN(u)?null:{id:String(l.id??c),lng:i,lat:u,properties:l}}).filter(Boolean)}return[]}const Zt=["#dbeafe","#93c5fd","#60a5fa","#3b82f6","#2563eb"],_t=["#dc2626","#fca5a5","#e5e7eb","#86efac","#16a34a"],Rt=["#2563eb","#f59e0b","#ef4444","#10b981","#8b5cf6","#14b8a6","#f97316","#64748b"];function Tt({source:e,sourceType:t="geojson",colorMapping:r="sequential",showStroke:n=!0,strokeColor:o="rgba(255,255,255,0.30)",strokeWidth:s=.5,hoverEffect:c=!0,clickEffect:l=!0,stickySelection:i=!0,tooltipEffect:u=!0,tooltipFields:f,tooltipTemplate:h,regionIdField:p="name",highlightStrokeColor:g="#2563eb",highlightStrokeWidth:C=2,zoomToRegionOnClick:v=!0,clickZoomPadding:y=40,clickZoomDelta:x=1.2,onRegionClick:M,onDrilldown:L,showLabel:S=!1,labelField:z="name",labelColor:Z="#0f172a",labelSize:b=11,labelAreaThreshold:j=5e-5,labelHaloWidth:T=2,minLabelZoom:A,valueField:_,percentageField:H,nameField:w,color:V,colorField:E,colorValues:R,active:F,select:G,events:J,style:Q,...q}){const N=g1(),[P,W]=d.useState(null),[$,D]=d.useState(null),[a1,U]=d.useState(()=>{if(!N)return 0;try{return N.getZoom()}catch{return 0}});d.useEffect(()=>{if(!N)return;const O=()=>{try{U(N.getZoom())}catch{}};return O(),N.on("zoomchange",O),()=>{N.off("zoomchange",O)}},[N]);const s1=A===void 0||a1>=A,f1=d.useMemo(()=>{if(R)return R;switch(r){case"diverging":return[..._t];case"categorical":return[...Rt];case"sequential":default:return[...Zt]}},[R,r]),p1=_??E??"value",B=w??z,r1=d.useMemo(()=>h??Nt(B,p1,H),[h,B,p1,H]),o1={color:"#ffffff"},K={color:"#0f172a"},h1=d.useMemo(()=>It(e,t,z,p,j),[e,t,z,p,j]),w1=d.useCallback(O=>{M==null||M(O);const d1=be(O.feature,p);if(d1!==null&&l&&D(j1=>!i&&j1===d1?null:d1),O.feature&&(L==null||L(O.feature)),!N||!v)return;const V1=Number.isFinite(O.lng)&&Number.isFinite(O.lat)?[O.lng,O.lat]:Ft(O.originalEvent);if(V1)try{const j1=N.getZoom(),E1=Math.abs(x);N.setCenter(V1),N.setZoom(j1+E1)}catch{}},[M,p,l,i,L,N,v,x]),X=d.useCallback(O=>{if(!c)return;const d1=be(O.feature,p);W(d1)},[c,p]),u1=d.useCallback(()=>{c&&W(null)},[c]),e1=d.useMemo(()=>{const O=J;return u?{...O,enablePopup:(O==null?void 0:O.enablePopup)??!0,popupTrigger:(O==null?void 0:O.popupTrigger)??"hover",popupFields:(O==null?void 0:O.popupFields)??f,popupTemplate:(O==null?void 0:O.popupTemplate)??r1}:O},[J,u,f,r1]);return a.jsxs(a.Fragment,{children:[a.jsx(i0,{...q,source:e,sourceType:t,shape:q.shape??"fill",color:V??"#2563eb",colorField:E,colorValues:f1,active:c?F??o1:F,select:l?G??K:G,events:e1,onClick:w1,onMouseEnter:X,onMouseLeave:u1,style:{opacity:.8,...Q??{}}}),n&&a.jsx(H1,{source:e,sourceType:t,color:o,size:s,zIndex:2}),c&&P!==null&&a.jsxs(a.Fragment,{children:[a.jsx(H1,{source:e,sourceType:t,color:xe(g,.35),size:C+2,filterField:p,filterValues:[P],zIndex:3}),a.jsx(H1,{source:e,sourceType:t,color:g,size:C,filterField:p,filterValues:[P],zIndex:4})]}),l&&$!==null&&a.jsx(H1,{source:e,sourceType:t,color:xe(g,.9),size:Math.max(1.5,C),filterField:p,filterValues:[$],zIndex:5}),S&&s1&&a.jsx(b1,{source:h1.data,sourceType:h1.sourceType,sourceConfig:h1.sourceConfig,shapeField:z,shapeValues:"text",color:Z,size:b,style:{textAllowOverlap:!1,stroke:"#ffffff",strokeWidth:T,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}})]})}function Nt(e,t,r){const n=r?`<tr><td style="padding-right:8px;color:#64748b">占比</td><td style="font-weight:600">{{${r}}}%</td></tr>`:"";return['<div style="min-width:160px">',`<div style="font-weight:700;margin-bottom:6px">{{${e}}}</div>`,'<table style="font-size:12px;line-height:1.4">',`<tr><td style="padding-right:8px;color:#64748b">指标</td><td style="font-weight:600">{{${t}}}</td></tr>`,n,"</table>","</div>"].join("")}function xe(e,t){if(e.startsWith("#")){const r=e.replace("#",""),n=r.length===3?`${r[0]}${r[0]}${r[1]}${r[1]}${r[2]}${r[2]}`:r;if(n.length===6){const o=parseInt(n.slice(0,2),16),s=parseInt(n.slice(2,4),16),c=parseInt(n.slice(4,6),16);return`rgba(${o},${s},${c},${t})`}}return e}function be(e,t){if(!e)return null;const r=e[t]??e.id??e.name;return typeof r=="string"||typeof r=="number"?r:null}function It(e,t,r,n,o){return t!=="geojson"||!Pt(e)?{data:e,sourceType:t}:{data:e.features.map(c=>{if(!c||!c.geometry||!c.properties)return null;const l=v5(c.geometry),i=$t(c.geometry);if(!l||i<o)return null;const u=c.properties;return{lng:l[0],lat:l[1],[r]:u[r],[n]:u[n]}}).filter(c=>c!==null),sourceType:"json",sourceConfig:{x:"lng",y:"lat"}}}function Pt(e){if(!e||typeof e!="object")return!1;const t=e;return t.type==="FeatureCollection"&&Array.isArray(t.features)}function Ft(e){const t=Ot(e);return t?v5(t):null}function Ot(e){var r,n;const t=e;return((r=t==null?void 0:t.feature)==null?void 0:r.geometry)??((n=t==null?void 0:t.data)==null?void 0:n.geometry)??null}function v5(e){if(e.type==="Polygon")return Le(e.coordinates[0]);if(e.type==="MultiPolygon"){let t=0,r=null;return e.coordinates.forEach(n=>{const o=n[0],s=Math.abs(w0(o));s>t&&(t=s,r=Le(o))}),r}return null}function $t(e){return e.type==="Polygon"?Math.abs(w0(e.coordinates[0])):e.type==="MultiPolygon"?e.coordinates.reduce((t,r)=>t+Math.abs(w0(r[0])),0):0}function Le(e){if(!e||e.length<3)return null;let t=0,r=0,n=0;for(let s=0;s<e.length-1;s+=1){const[c,l]=e[s],[i,u]=e[s+1],f=c*u-i*l;t+=f,r+=(c+i)*f,n+=(l+u)*f}const o=t/2;if(Math.abs(o)<1e-12){const s=e[0];return s?[s[0],s[1]]:null}return[r/(6*o),n/(6*o)]}function w0(e){if(!e||e.length<3)return 0;let t=0;for(let r=0;r<e.length-1;r+=1){const[n,o]=e[r],[s,c]=e[r+1];t+=n*c-s*o}return t/2}const y5=["#eff6ff","#bfdbfe","#60a5fa","#2563eb","#1d4ed8","#1e3a8a"],x5="https://mdn.alipayobjects.com/antforest/afts/file/A*T2OJQ7XZzeEAAAAAgCAAAAgAerd2AQ/original_中国_省.json",b5="https://mdn.alipayobjects.com/antforest/afts/file/A*Xd8TQoduwj8AAAAAgEAAAAgAerd2AQ/original_中国_市.json",L5="https://mdn.alipayobjects.com/portal_moelhz/afts/file/A*Rb96Tac1p8EAAAAAgKAAAAgAegAAAQ",Dt=d.forwardRef(function(t,r){const{provinceSource:n=x5,citySource:o=b5,districtSource:s=L5,level:c="province",drillEnabled:l=!0,drillPath:i,onDrill:u,onDrillUp:f,autoFitOnDrill:h=!0,data:p,joinField:g="name",dataJoinField:C="name",valueField:v="value",colors:y=[...y5],fillOpacity:x=.8,strokeColor:M="rgba(255,255,255,0.5)",strokeWidth:L=1.5,dimOpacity:S=.12,showLabel:z=!0,labelField:Z="name",labelSize:b=12,hoverHighlight:j=!0,clickSelect:T=!0,showTooltip:A=!0,tooltipFields:_,onRegionClick:H,zIndex:w=0}=t,V=g1(),[E,R]=d.useState(null),[F,G]=d.useState(null),[J,Q]=d.useState(null),[q,N]=d.useState([{level:"province",name:"中国"}]),P=i??q,W=l?Ut(P):c,$=d.useCallback(()=>{if(P.length<=1)return;const X=P.slice(0,-1);i?f==null||f(X):(N(X),f==null||f(X),u==null||u(X)),U(null)},[P,i,f,u]),D=d.useCallback(X=>{if(X<0||X>=P.length-1)return;const u1=P.slice(0,X+1);i?f==null||f(u1):(N(u1),f==null||f(u1),u==null||u(u1)),U(null)},[P,i,f,u]),[a1,U]=d.useState(null);d.useImperativeHandle(r,()=>({drillUp:$,drillUpTo:D,getDrillPath:()=>P}),[$,D,P]);const s1=d.useRef(P.length);d.useEffect(()=>{v0(n,R)},[n]),d.useEffect(()=>{o&&v0(o,G)},[o]),d.useEffect(()=>{s&&v0(s,Q)},[s]);const f1=d.useMemo(()=>{switch(W){case"city":return F;case"district":return J;default:return E}},[W,E,F,J]),p1=d.useMemo(()=>!f1||!p||p.length===0?f1:Gt(f1,p,g,C,v),[f1,p,g,C,v]),B=d.useMemo(()=>{if(!l||P.length<=1)return p1;if(!p1)return null;const X=P[P.length-1];return!X.adcode&&!X.name?p1:Kt(p1,X)},[l,P,p1,g]),r1=d.useMemo(()=>!l||P.length<=1?null:(P.length===2?E:F)??null,[l,P,E,F]);d.useMemo(()=>`<div style="min-width:140px"><table style="font-size:12px;line-height:1.6">${(_??[Z,v]).map(e1=>`<tr><td style="padding-right:8px;color:#64748b">${e1}</td><td style="font-weight:600">{{${e1}}}</td></tr>`).join("")}</table></div>`,[_,Z,v]);const o1=!!(p&&p.length>0),K=d.useMemo(()=>p1?B??p1:null,[B,p1]),h1=W==="province"?L:L*.6;d.useEffect(()=>{if(!(!h||!V||!K||s1.current===P.length)){s1.current=P.length;try{const u1=t3(K);u1&&V.fitBounds(u1,{padding:[40,40,40,40]})}catch{}}},[h,V,K,P.length]);const w1=d.useCallback(X=>{const u1=X.feature;if(!u1)return;const e1=String(u1[Z]??u1.name??""),O=u1.adcode??u1.gb;if(H==null||H(u1,W),T&&U(d1=>d1===e1?null:e1),l&&Wt(W)){const d1=[...P,{level:W,name:e1,adcode:O}];i||N(d1),u==null||u(d1),U(null)}},[Z,W,T,l,P,i,u,H]);return!V||!K?null:a.jsxs(a.Fragment,{children:[l&&r1&&P.length>1&&a.jsxs(a.Fragment,{children:[a.jsx(i0,{source:r1,sourceType:"geojson",shape:"fill",color:"#94a3b8",style:{opacity:S},zIndex:w}),a.jsx(H1,{source:r1,sourceType:"geojson",color:"rgba(148,163,184,0.2)",size:.5,zIndex:w+1})]}),a.jsx(i0,{source:K,sourceType:"geojson",shape:"fill",...o1?{colorField:v,colorValues:y}:{color:y[2]??"#3b82f6"},active:j?{color:"#ffffff"}:void 0,select:T?{color:"#0f172a"}:void 0,style:{opacity:x},onClick:w1,zIndex:w+2}),a.jsx(H1,{source:K,sourceType:"geojson",color:M,size:h1,zIndex:w+3}),z&&K&&a.jsx(Bt,{geoData:K,labelField:Z,labelSize:b,zIndex:w+4})]})});function Bt({geoData:e,labelField:t,labelSize:r,zIndex:n}){const o=d.useMemo(()=>Xt(e,t),[e,t]);return!o||o.data.length===0?null:a.jsx(b1,{source:o.data,sourceType:o.sourceType,sourceConfig:o.sourceConfig,shapeField:t,shapeValues:"text",color:"#0f172a",size:r,style:{textAllowOverlap:!1,stroke:"#ffffff",strokeWidth:2,fontFamily:"PingFang SC, Microsoft YaHei, sans-serif"},zIndex:n})}function Ut(e){return e.length<=1?"province":e.length===2?"city":"district"}function Wt(e){return e!=="district"}const qt=new Set(["境界线","边界线","九段线","十段线"]);function Yt(e){var n,o;const t=(n=e.properties)==null?void 0:n.name;if(!t||typeof t!="string"||qt.has(t))return!1;const r=(o=e.geometry)==null?void 0:o.type;return!(r==="LineString"||r==="MultiLineString")}function Me(e){return{type:"FeatureCollection",features:e.features.filter(Yt)}}function v0(e,t){typeof e=="string"?fetch(e).then(r=>r.json()).then(r=>{r&&r.type==="FeatureCollection"&&t(Me(r))}).catch(()=>{}):e&&e.type==="FeatureCollection"&&t(Me(e))}function Gt(e,t,r,n,o){const s=new Map;for(const l of t){const i=String(l[n]??"");i&&s.set(i,l)}return{type:"FeatureCollection",features:e.features.map(l=>{const i=String(l.properties[r]??""),u=s.get(i),f=u?u[o]??u.value??0:0;return{...l,properties:{...l.properties,...u??{},[o]:f}}})}}function we(e){const t=String(e);return t.startsWith("156")&&t.length>=9?t.slice(3):t}const Jt=["省","市","自治区","特别行政区","壮族","回族","维吾尔","藏族","彝族","苗","侗","瑶","白","哈尼","傣","傈僳","佤","畲","拉祜","水","景颇","土家","羌","毛南","仫佬","布朗","撒拉","裕固","塔吉克","柯尔克孜","锡伯","达斡尔","鄂温克","鄂伦春","赫哲","德昂","门巴","珞巴","基诺","怒","保安","京","独龙","仡佬","阿昌","普米"];function y0(e){let t=e;for(const r of Jt)if(t.endsWith(r)){t=t.slice(0,-r.length);break}return t}function Kt(e,t,r){const n=t.name,o=t.adcode,c=t.level==="province"?2:4;return{type:"FeatureCollection",features:e.features.filter(i=>{const u=i.properties;if(u.parent&&String(u.parent)===n||u.parentName&&String(u.parentName)===n)return!0;const f=u.adcode??u.gb;if(o&&f){const p=we(String(o)),g=we(String(f));if(g.length>=c&&g.slice(0,c)===p.slice(0,c)&&g!==p)return!0}const h=y0(n);return!!(u.province&&(String(u.province)===n||y0(String(u.province))===h)||u.city&&(String(u.city)===n||y0(String(u.city))===h))})}}function Xt(e,t){const r=[];for(const n of e.features){if(!n.geometry||!n.properties)continue;const o=Qt(n.geometry);o&&r.push({lng:o[0],lat:o[1],[t]:n.properties[t]??n.properties.name??""})}return r.length===0?null:{data:r,sourceType:"json",sourceConfig:{x:"lng",y:"lat"}}}function Qt(e){const t=e.type,r=e.coordinates;if(!r)return null;if(t==="Point")return r;if(t==="Polygon")return Se(r);if(t==="MultiPolygon"){const n=r;let o=0,s=null;for(const c of n){const l=Math.abs(e3(c[0]));l>o&&(o=l,s=Se(c))}return s}return null}function Se(e){const t=e[0];if(!t||t.length===0)return null;let r=0,n=0;const o=t.length;for(const s of t)r+=s[0],n+=s[1];return[r/o,n/o]}function e3(e){let t=0;const r=e.length;for(let n=0;n<r;n++){const o=(n+1)%r;t+=e[n][0]*e[o][1],t-=e[o][0]*e[n][1]}return t/2}function t3(e){let t=1/0,r=1/0,n=-1/0,o=-1/0;for(const s of e.features)r3(s.geometry,(c,l)=>{c<t&&(t=c),l<r&&(r=l),c>n&&(n=c),l>o&&(o=l)});return!isFinite(t)||!isFinite(r)?null:[[t,r],[n,o]]}function r3(e,t){const r=e.type,n=e.coordinates;if(n){if(r==="Point"){const[o,s]=n;t(o,s)}else if(r==="LineString"||r==="MultiPoint")for(const[o,s]of n)t(o,s);else if(r==="Polygon"||r==="MultiLineString")for(const o of n)for(const[s,c]of o)t(s,c);else if(r==="MultiPolygon")for(const o of n)for(const s of o)for(const[c,l]of s)t(c,l)}}const n3=[["sunny","&#xe81a;"],["cloud","&#xf15c;"],["cloudy","&#xf15c;"],["partly_cloudy_day","&#xf172;"],["partly_cloudy_night","&#xf174;"],["rainy","&#xf176;"],["rainy_heavy","&#xf61f;"],["rainy_light","&#xf61e;"],["rainy_snow","&#xf61d;"],["thunderstorm","&#xebdb;"],["foggy","&#xe818;"],["air","&#xefd8;"],["water_drop","&#xe798;"],["ac_unit","&#xeb3b;"],["filter_drama","&#xe3dd;"],["cloudy_snowing","&#xe810;"],["snowing","&#xe80f;"],["snowflake","&#xed5b;"],["severe_cold","&#xebd3;"],["umbrella","&#xf1ad;"],["storm","&#xf070;"],["tornado","&#xe199;"],["thermostat","&#xf076;"],["heat","&#xf537;"],["hot","&#xef23;"],["flight","&#xe539;"],["flight_takeoff","&#xe905;"],["flight_land","&#xe904;"],["train","&#xe570;"],["directions_transit","&#xeffa;"],["directions_railway","&#xeff8;"],["directions_bus","&#xeff6;"],["directions_car","&#xeff7;"],["directions_boat","&#xeff5;"],["directions_bike","&#xe52f;"],["directions_walk","&#xe536;"],["directions_run","&#xe566;"],["taxi","&#xe559;"],["local_taxi","&#xe559;"],["local_airport","&#xe53d;"],["connecting_airports","&#xe7c9;"],["two_wheeler","&#xe9f9;"],["tram","&#xe571;"],["subway","&#xe56f;"],["ferry","&#xe572;"],["cable_car","&#xf479;"],["ev_station","&#xe56d;"],["local_gas_station","&#xe546;"],["location_on","&#xf1db;"],["place","&#xf1db;"],["room","&#xf1db;"],["pin","&#xf045;"],["pin_drop","&#xe55e;"],["near_me","&#xe569;"],["my_location","&#xe55c;"],["gps_fixed","&#xe55c;"],["navigation","&#xe55d;"],["explore","&#xe87a;"],["map","&#xe55b;"],["restaurant","&#xe56c;"],["local_cafe","&#xeb44;"],["coffee","&#xefef;"],["local_bar","&#xe540;"],["hotel","&#xe549;"],["local_hospital","&#xe548;"],["local_pharmacy","&#xe550;"],["local_atm","&#xe53e;"],["local_police","&#xef56;"],["local_fire_department","&#xef55;"],["local_post_office","&#xe554;"],["local_library","&#xe54b;"],["local_mall","&#xe54c;"],["local_grocery_store","&#xe8cc;"],["store","&#xe8d1;"],["school","&#xe80c;"],["church","&#xeaae;"],["mosque","&#xeab2;"],["synagogue","&#xeab0;"],["temple_buddhist","&#xeab3;"],["temple_hindu","&#xeaaf;"],["museum","&#xea36;"],["castle","&#xeab1;"],["stadium","&#xeb90;"],["theater_comedy","&#xea66;"],["pool","&#xeb48;"],["fitness_center","&#xeb43;"],["spa","&#xeb4c;"],["park","&#xea63;"],["forest","&#xea99;"],["attractions","&#xea52;"],["celebration","&#xea65;"],["festival","&#xea68;"],["nightlife","&#xea62;"],["sports","&#xea30;"],["sports_soccer","&#xea2f;"],["sports_basketball","&#xea26;"],["sports_football","&#xea29;"],["sports_tennis","&#xea32;"],["sports_golf","&#xea2a;"],["layers","&#xe53b;"],["layers_clear","&#xe53c;"],["terrain","&#xe564;"],["landscape","&#xe564;"],["share","&#xe80d;"],["favorite","&#xe87e;"],["star","&#xf09a;"],["home","&#xe9b2;"],["work","&#xe943;"],["person","&#xf0d3;"],["people","&#xea21;"],["trip","&#xe6fb;"],["warning","&#xf083;"],["emergency","&#xe1eb;"],["photo_camera","&#xe412;"],["shopping_bag","&#xf1cc;"],["search","&#xe8b6;"],["settings","&#xe8b8;"],["info","&#xe88e;"],["help","&#xe8fd;"],["close","&#xe5cd;"],["check","&#xe876;"],["add","&#xe145;"],["remove","&#xe15b;"],["edit","&#xe254;"],["delete","&#xe872;"],["refresh","&#xe5d5;"],["download","&#xe2c4;"],["upload","&#xe2c3;"],["visibility","&#xe8f4;"],["visibility_off","&#xe8f6;"]],M5=[["smallRain","&#xe6f7;"],["middleRain","&#xe61c;"],["hugeRain","&#xe6a6;"],["sun","&#xe6da;"],["cloud","&#xe8da;"]],ze="Material Symbols Outlined",o3="https://fonts.gstatic.com/s/materialsymbolsoutlined/v261/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2",s3="iconfont",a3="//at.alicdn.com/t/font_2534097_ao9soua2obv.woff2?t=1622021146076",i3="M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 16 40 16 40C16 40 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z";function c3(e){const t=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40"><path d="${i3}" fill="${e}" stroke="white" stroke-width="1.5"/></svg>`;return`data:image/svg+xml,${encodeURIComponent(t)}`}function l3({source:e,sourceType:t="json",sourceConfig:r,iconField:n,iconFontFamily:o="material-symbols",iconFontPath:s,iconFontMap:c,iconColor:l="#3b82f6",iconSize:i=20,iconHaloColor:u="#fff",iconHaloWidth:f=1,iconStyle:h,iconAnchor:p="center",iconBgShape:g="pin",iconBgShapeColor:C,iconBgShapeSize:v=24,iconBgStrokeColor:y,iconBgStrokeWidth:x=0,iconBgPadding:M=0,iconBgCornerRadius:L=0,showLabel:S=!0,labelField:z,labelColor:Z="#333",labelSize:b=11,labelAnchor:j="top",labelOffset:T=[0,0],labelHaloColor:A="#fff",labelHaloWidth:_=2,labelStyle:H,textAllowOverlap:w=!1,iconAllowOverlap:V=!0,zoomAdaption:E=!0,zoomShowLabel:R=14,zoomDegradeToPoint:F=10,onClick:G,onMouseEnter:J,onMouseLeave:Q,...q}){const N=g1(),[P,W]=d.useState(!1),[$,D]=d.useState(!1),[a1,U]=d.useState(!1),[s1,f1]=d.useState(14),p1=d.useRef(!1);d.useEffect(()=>{if(!N||g!=="pin"||!C)return;const X=c3(C);N.addImage("glyph-pin-bg",X),U(!0)},[N,g,C]);const{fontFamily:B,fontPath:r1,iconMappings:o1}=d.useMemo(()=>{switch(o){case"material-symbols":return{fontFamily:ze,fontPath:o3,iconMappings:n3};case"iconfont":return{fontFamily:s3,fontPath:a3,iconMappings:M5};default:return{fontFamily:o,fontPath:s??null,iconMappings:c??[]}}},[o,s,c]);if(d.useEffect(()=>{if(!N||p1.current)return;p1.current=!0;let X=!1;return(async()=>{r1&&N.addFontFace(B,r1),o1.length>0&&N.addIconFonts(o1);try{if(B===ze){const e1=o1.slice(0,10).map(([,O])=>String.fromCharCode(parseInt(O.replace("&#x","").replace(";",""),16))).join("");await document.fonts.load(`${i}px "${B}"`,e1)}else r1&&await new Promise(e1=>{const O=setTimeout(()=>{e1()},3e3),d1=()=>{clearTimeout(O),N.off("fontloaded",d1),e1()};N.on("fontloaded",d1),document.fonts.load(`${i}px "${B}"`).then(()=>{clearTimeout(O),N.off("fontloaded",d1),e1()}).catch(()=>{clearTimeout(O),N.off("fontloaded",d1),e1()})})}catch{console.warn(`[GlyphLayer] 字体 "${B}" 加载超时,尝试继续渲染`)}try{const O=`${i}px "${B}"`;document.fonts.check(O,"X")||await document.fonts.ready}catch{}X||W(!0)})(),()=>{X=!0}},[N,B,r1,o1,i]),d.useEffect(()=>{if(!N)return;const X=()=>D(!0);return N.loaded?X():N.on("loaded",X),()=>{N.off("loaded",X)}},[N]),d.useEffect(()=>{if(!N||!E)return;const X=()=>{f1(N.getZoom())};return X(),N.on("zoomchange",X),()=>{N.off("zoomchange",X)}},[N,E]),!P||!$||g==="pin"&&C&&!a1)return null;const K=z??n,h1=!E||s1>=R;return E&&s1<F?a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shape:"circle",color:typeof l=="string"?l:"#3b82f6",size:4,style:{opacity:.7}}):a.jsxs(a.Fragment,{children:[a.jsx(b1,{...q,source:e,sourceType:t,sourceConfig:r,shapeField:n,shapeValues:"text",color:l,size:i,style:{fontFamily:B,iconfont:!0,textAllowOverlap:V,textAnchor:p,backgroundColor:C,backgroundPadding:M,backgroundRadius:L,backgroundShape:g==="pin"?void 0:"circle",stroke:y,strokeWidth:x,...h??{}},onClick:G,onMouseEnter:J,onMouseLeave:Q}),S&&h1&&a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shapeField:K,shapeValues:"text",color:Z,size:b,style:{textAnchor:j,textOffset:T,stroke:A,strokeWidth:_,fontWeight:"500",textAllowOverlap:w,...H??{}}})]})}function u3({source:e,sourceType:t="json",sourceConfig:r,iconField:n,iconMap:o,iconSize:s=24,iconAnchor:c="bottom",size:l,showLabel:i=!0,labelField:u,labelColor:f="#333",labelSize:h=12,labelAnchor:p="top",labelOffset:g=[0,0],labelHaloColor:C="#fff",labelHaloWidth:v=2,labelStyle:y,textAllowOverlap:x=!1,iconAllowOverlap:M=!0,zoomAdaption:L=!0,zoomShowLabel:S=15,zoomDegradeToPoint:z=10,onClick:Z,onMouseEnter:b,onMouseLeave:j,...T}){const A=g1(),[_,H]=d.useState(!1),[w,V]=d.useState(15),E=d.useMemo(()=>Object.keys(o),[o]),R=l??s,F=u??n;if(d.useEffect(()=>{A&&(E.forEach(Q=>{A.addImage(Q,o[Q])}),H(!0))},[A,E,o]),d.useEffect(()=>{if(!A||!L)return;const Q=()=>{V(A.getZoom())};return Q(),A.on("zoomchange",Q),()=>{A.off("zoomchange",Q)}},[A,L]),!_)return null;const G=!L||w>=S;return L&&w<z?a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shape:"circle",color:T.color??"#3b82f6",size:6,style:{opacity:.8}}):a.jsxs(a.Fragment,{children:[a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shapeField:n,shapeValues:E,size:R,style:{...T.style??{},anchor:c,allowOverlap:M},onClick:Z,onMouseEnter:b,onMouseLeave:j}),i&&G&&a.jsx(b1,{source:e,sourceType:t,sourceConfig:r,shapeField:F,shapeValues:"text",color:f,size:h,style:{textAnchor:p,textOffset:g,stroke:C,strokeWidth:v,fontWeight:"500",textAllowOverlap:x,...y??{}}})]})}const d3={gaode:()=>"https://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",google:()=>"https://gwxc.shipxy.com/tile.g?z={z}&x={x}&y={y}",tianditu:(e="4043dde46add842282bacc412299311d")=>`https://t{0-7}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=${e}`},f3={gaode:"高德卫星",tianditu:"天地图卫星",google:"谷歌卫星"};function p3({provider:e="gaode",zIndex:t=0,opacity:r=1,tiandituToken:n,visible:o=!0}){if(!o)return null;const s=d3[e](n);return a.jsx(h5,{source:s,sourceType:"rasterTile",sourceConfig:{parser:{type:"rasterTile",tileSize:256,zoomOffset:1}},zIndex:t,opacity:r})}function h3({source:e,sourceType:t="json",sourceConfig:r,shape:n="arc",color:o="#2563EB",gradientColors:s,colorMode:c="single",colorField:l,colorValues:i,lineWidth:u=1.5,lineWidthRange:f,weightField:h="weight",opacity:p=.8,blur:g=.6,animate:C=!1,animateSpeed:v=1,animateTrailLength:y=.3,animateDuration:x=2e3,showNodes:M=!0,nodeColor:L,nodeSize:S=4,nodeSizeRange:z,nodePulse:Z=!1,activeColor:b="#FFD93D",onArcHover:j,onArcClick:T,onNodeClick:A,style:_}){const H=d.useMemo(()=>r??{x:"fromLng",y:"fromLat",x1:"toLng",y1:"toLat"},[r]),w=d.useMemo(()=>c==="gradient"&&s?s:o,[c,s,o]),V=d.useMemo(()=>u,[u,f]),E=d.useMemo(()=>{if(C)return{enable:!0,speed:v,duration:x,trailLength:y}},[C,v,x,y]),R=d.useMemo(()=>({opacity:p,blur:g,..._}),[p,g,_]),F=d.useMemo(()=>{if(!M||typeof e=="string")return[];const J=new Map,Q=H.x??"fromLng",q=H.y??"fromLat",N=H.x1??"toLng",P=H.y1??"toLat";return e.forEach(W=>{const $=`${W[Q]}_${W[q]}`,D=`${W[N]}_${W[P]}`;J.has($)||J.set($,{lng:Number(W[Q]),lat:Number(W[q]),degree:0,name:W.fromName}),J.has(D)||J.set(D,{lng:Number(W[N]),lat:Number(W[P]),degree:0,name:W.toName}),J.get($).degree++,J.get(D).degree++}),Array.from(J.values())},[e,M,H]),G=L??o;return a.jsxs(a.Fragment,{children:[a.jsx(H1,{source:e,sourceType:t,sourceConfig:H,shape:n,color:w,colorField:c==="field"?l:void 0,colorValues:c==="field"?i:void 0,size:V,sizeField:f?h:void 0,sizeValues:f||void 0,animate:E,active:b?{color:b}:!1,style:R,onMouseMove:j,onClick:T}),M&&F.length>0&&a.jsx(b1,{source:F,sourceConfig:{x:"lng",y:"lat"},color:G,size:S,sizeField:z?"degree":void 0,sizeValues:z,shape:"circle",style:{opacity:.9,strokeWidth:1,stroke:"#fff"},animate:Z?{enable:!0,speed:.6}:void 0,active:b?{color:b}:!1,onClick:A})]})}function m3({path:e,segments:t,stops:r=[],color:n="#2563eb",lineWidth:o=4,opacity:s=.9,glow:c=!0,animate:l=!1,animateSpeed:i=1,stopSize:u=14,stopColor:f,endColor:h="#10b981",showStopIndex:p=!0,activeColor:g="#fbbf24",onPathClick:C,onStopClick:v}){const y=d.useMemo(()=>t&&t.length>0?{type:"FeatureCollection",features:t.map((L,S)=>({type:"Feature",properties:{color:L.color||n,width:L.width||o,index:S},geometry:{type:"LineString",coordinates:L.coordinates}}))}:e&&e.length>1?{type:"FeatureCollection",features:[{type:"Feature",properties:{color:n,width:o},geometry:{type:"LineString",coordinates:e}}]}:null,[e,t,n,o]),x=t&&t.some(L=>L.color),M=d.useMemo(()=>r.map((L,S)=>({...L,index:L.index??S+1,type:L.type??(S===0?"start":S===r.length-1?"end":"waypoint"),stopColor:L.type==="end"||!L.type&&S===r.length-1?h:f??n})),[r,n,f,h]);return y?a.jsxs(a.Fragment,{children:[c&&a.jsx(H1,{source:y,sourceType:"geojson",shape:"line",color:x?void 0:n,colorField:x?"color":void 0,colorValues:x?t.map(L=>L.color||n):void 0,size:o*2.5,style:{opacity:.15}}),a.jsx(H1,{source:y,sourceType:"geojson",shape:"line",color:x?void 0:n,colorField:x?"color":void 0,colorValues:x?t.map(L=>L.color||n):void 0,size:x?void 0:o,sizeField:x?"width":void 0,sizeValues:x?t.map(L=>L.width||o):void 0,style:{opacity:s},animate:l?{enable:!0,speed:i,trailLength:.3,duration:2e3}:void 0,active:g?{color:g}:!1,onClick:C}),M.length>0&&a.jsx(b1,{source:M,sourceConfig:{x:"lng",y:"lat"},colorField:"stopColor",colorValues:[...new Set(M.map(L=>L.stopColor))],size:u,shape:"circle",style:{opacity:1,strokeWidth:2,stroke:"#ffffff"},active:g?{color:g}:!1,onClick:v})]}):null}const He=[73.482190241,3.8150178409999995,135.106618732,57.630045996],g3={type:"linear",colors:["rgba(92,58,16,0)","rgba(92,58,16,0)","#fabd08","#f1e93f","#f1ff8f","#fcfff7"],positions:[0,3,9,22.5,45,90]};function Ve(e){const t=e[0]/2003750834e-2*180;let r=e[1]/2003750834e-2*180;return r=180/Math.PI*(2*Math.atan(Math.exp(r*Math.PI/180))-Math.PI/2),[t,r]}function C3({url:e,extent:t=He,renderMode:r="raster",bandIndex:n=0,domain:o=[0,90],noDataValue:s=0,rampColors:c=g3,clampLow:l=!1,clampHigh:i=!1,bands:u=[0,1,2],countCut:f,rMinMax:h,gMinMax:p,bMinMax:g,opacity:C=.8,mask:v=!1,maskData:y}){const[x,M]=d.useState(null),[L,S]=d.useState(null),[z,Z]=d.useState(null);d.useEffect(()=>{let V=!1;async function E(){try{const R=await Promise.resolve().then(()=>require("./geotiff-DgvKp-KZ.cjs")).then($=>$.geotiff),F=await fetch(e);if(!F.ok)throw new Error(`Fetch failed: ${F.status}`);const G=await F.arrayBuffer(),Q=await(await R.fromArrayBuffer(G)).getImage(),q=Q.getWidth(),N=Q.getHeight(),P=await Q.readRasters();let W;try{const $=Q.getBoundingBox();$&&$.length===4&&(W=$)}catch{}V||(M({rasters:P,width:q,height:N,tiffExtent:W}),Z(null))}catch(R){V||(Z(R instanceof Error?R.message:"Failed to load TIFF"),console.error("[TiffRasterLayer] Load error:",R))}}return E(),()=>{V=!0}},[e]),d.useEffect(()=>{if(!v||!y)return;let V=!1;return typeof y=="string"?fetch(y).then(E=>E.json()).then(E=>{V||S(E)}).catch(E=>console.error("[TiffRasterLayer] Mask load error:",E)):S(y),()=>{V=!0}},[v,y]);const b=d.useMemo(()=>{if(t!==He)return t;if(x!=null&&x.tiffExtent){const[V,E,R,F]=x.tiffExtent;if(Math.abs(V)>180||Math.abs(R)>180){const G=Ve([V,E]),J=Ve([R,F]);return[G[0],G[1],J[0],J[1]]}return x.tiffExtent}return t},[t,x==null?void 0:x.tiffExtent]),j=d.useMemo(()=>{if(!x)return null;if(r==="rgb"){const V={type:"rgb",width:x.width,height:x.height,bands:u,extent:b};return h&&(V.RMinMax=h),p&&(V.GMinMax=p),g&&(V.BMinMax=g),f&&(V.countCut=f),{parser:V}}return r==="ndi"?{parser:{type:"ndi",width:x.width,height:x.height,bands:u,extent:b}}:{parser:{type:"raster",width:x.width,height:x.height,extent:b}}},[x,r,u,b]),T=d.useMemo(()=>r==="rgb"?{opacity:C}:r==="ndi"?{domain:o,rampColors:c,opacity:C}:{clampLow:l,clampHigh:i,domain:o,noDataValue:s,rampColors:c,opacity:C},[r,l,i,o,s,c,C]),A=d.useMemo(()=>x?r==="rgb"||r==="ndi"?x.rasters:x.rasters[n]:null,[x,r,n]),_=g1(),H=d.useRef(null);d.useRef(!1);const w=!v||!!L;return d.useEffect(()=>{if(!_||!j||!A||!w)return;let V=!1;return(async()=>{const E=await import("@antv/l7");if(V)return;H.current&&(_.removeLayer(H.current),H.current=null);const R={zIndex:10};v&&L&&(R.mask=!0,R.maskfence=L);const F=new E.RasterLayer(R);F.source(A,{parser:j.parser}),F.style(T),_.addLayer(F),H.current=F})(),()=>{V=!0,H.current&&_&&(_.removeLayer(H.current),H.current=null)}},[_,j,A,w,L]),null}function v3({children:e,defaultSnap:t="collapsed",collapsedHeight:r=80,halfRatio:n=.45,expandedRatio:o=.85,onSnapChange:s,className:c,showHandle:l=!0,borderRadius:i=32}){const u=d.useRef(null),f=d.useRef(0),h=d.useRef(0),p=d.useRef(!1),[g,C]=d.useState(0),[v,y]=d.useState(t),[x,M]=d.useState(!1),L=d.useCallback(()=>{var _;const A=(_=u.current)==null?void 0:_.offsetParent;return A?A.clientHeight:window.innerHeight},[]),S=d.useCallback(A=>{const _=L();switch(A){case"collapsed":return r;case"half":return _*n;case"expanded":return _*o}},[r,n,o,L]);d.useEffect(()=>{C(S(t))},[t,S]);const z=d.useCallback((A,_)=>{const H=S("collapsed"),w=S("half"),V=S("expanded");let E;if(Math.abs(_)>.5)_>0?E=A>w?"expanded":"half":E=A<w?"collapsed":"half";else{const R=Math.abs(A-H),F=Math.abs(A-w),G=Math.abs(A-V),J=Math.min(R,F,G);J===R?E="collapsed":J===F?E="half":E="expanded"}M(!0),y(E),C(S(E)),s==null||s(E),setTimeout(()=>M(!1),300)},[S,s]),Z=d.useCallback(A=>{p.current=!0,f.current=A.touches[0].clientY,h.current=g,M(!1)},[g]),b=d.useCallback(A=>{if(!p.current)return;const _=f.current-A.touches[0].clientY,H=L()*o,w=Math.max(r,Math.min(H,h.current+_));C(w)},[r,o,L]),j=d.useCallback(A=>{if(!p.current)return;p.current=!1;const H=(f.current-A.changedTouches[0].clientY)/100;z(g,H)},[g,z]),T=d.useCallback(A=>{p.current=!0,f.current=A.clientY,h.current=g,M(!1);const _=w=>{if(!p.current)return;const V=f.current-w.clientY,E=L()*o,R=Math.max(r,Math.min(E,h.current+V));C(R)},H=w=>{p.current=!1;const E=(f.current-w.clientY)/100,R=L()*o;z(Math.max(r,Math.min(R,h.current+(f.current-w.clientY))),E),document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",H)};document.addEventListener("mousemove",_),document.addEventListener("mouseup",H)},[g,r,o,z,L]);return d.useCallback(A=>{M(!0),y(A),C(S(A)),s==null||s(A),setTimeout(()=>M(!1),300)},[S,s]),a.jsx("div",{ref:u,className:c,style:{position:"absolute",bottom:0,left:0,width:"100%",height:g,zIndex:1e3,pointerEvents:"auto",transition:x?"height 0.3s cubic-bezier(0.4, 0, 0.2, 1)":"none",willChange:"height",touchAction:"none"},children:a.jsxs("div",{style:{width:"100%",height:"100%",background:"var(--color-surface, #f8f9ff)",borderTopLeftRadius:i,borderTopRightRadius:i,boxShadow:"0 -10px 40px rgba(0, 0, 0, 0.15)",borderTop:"1px solid rgba(195, 198, 215, 0.2)",display:"flex",flexDirection:"column",overflow:"hidden"},children:[a.jsx("div",{onTouchStart:Z,onTouchMove:b,onTouchEnd:j,onMouseDown:T,style:{padding:"12px 0 16px",cursor:"grab",userSelect:"none",flexShrink:0},children:l&&a.jsx("div",{style:{width:48,height:6,borderRadius:3,background:"rgba(195, 198, 215, 0.5)",margin:"0 auto"}})}),a.jsx("div",{style:{flex:1,overflowY:v==="collapsed"?"hidden":"auto",overflowX:"hidden",padding:"0 16px",WebkitOverflowScrolling:"touch",msOverflowStyle:"none",scrollbarWidth:"none"},children:e})]})})}function y3({placeholder:e="搜索地点...",onSearch:t,onFilter:r,className:n,trailing:o}){const[s,c]=d.useState(""),l=d.useCallback(u=>{const f=u.target.value;c(f),t==null||t(f)},[t]),i=d.useCallback(()=>{c(""),t==null||t("")},[t]);return a.jsxs("div",{className:`glass-panel ${n??""}`,style:{display:"flex",alignItems:"center",padding:"12px 16px",borderRadius:16,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.08)",border:"1px solid rgba(195, 198, 215, 0.3)"},children:[a.jsx("span",{className:"material-symbols-outlined",style:{color:"var(--color-primary, #004ac6)",marginRight:12,fontSize:22},children:"search"}),a.jsx("input",{type:"text",value:s,onChange:l,placeholder:e,style:{flex:1,border:"none",background:"transparent",outline:"none",fontSize:14,lineHeight:"20px",color:"var(--color-on-surface, #121c2a)"}}),s&&a.jsx("button",{onClick:i,style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center"},children:a.jsx("span",{className:"material-symbols-outlined",style:{fontSize:18,color:"var(--color-on-surface-variant, #434655)"},children:"close"})}),r&&a.jsx("button",{onClick:r,style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center",marginLeft:4},children:a.jsx("span",{className:"material-symbols-outlined",style:{fontSize:22,color:"var(--color-on-surface-variant, #434655)"},children:"tune"})}),o]})}function J0(e,t){if(!t)return e;const r={...e};for(const n of Object.keys(t)){const o=t[n],s=r[n];o!==null&&typeof o=="object"&&!Array.isArray(o)&&s!==null&&typeof s=="object"&&!Array.isArray(s)?r[n]=J0(s,o):o!==void 0&&(r[n]=o)}return r}function x3(e,t){return t?J0(e,t):e}class b3 extends d.Component{constructor(){super(...arguments),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){var n,o;(o=(n=this.props).onError)==null||o.call(n,t,r)}render(){if(this.state.hasError){const{fallback:t}=this.props,{error:r}=this.state;return typeof t=="function"?t(r):t||a.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",width:"100%",height:"100%",padding:32,color:"#666",fontFamily:"system-ui, sans-serif"},children:[a.jsx("span",{className:"material-symbols-outlined",style:{fontSize:48,marginBottom:16,color:"#e53e3e"},children:"error"}),a.jsx("p",{style:{fontSize:16,fontWeight:600,marginBottom:8},children:"地图加载失败"}),a.jsx("p",{style:{fontSize:13,color:"#999"},children:(r==null?void 0:r.message)??"未知错误"})]})}return this.props.children}}exports.ADMIN_SEQUENTIAL_COLORS=y5;exports.AiMap=ft;exports.AiMapJSONSchema=bt;exports.ArcFlowLayer=h3;exports.BUILTIN_ICON_FONTS=M5;exports.BottomSheet=v3;exports.BubbleLayer=wt;exports.ChinaDistrict=Dt;exports.ControlContainer=E0;exports.ControlRegistry=S1;exports.ControlRenderer=n5;exports.DEFAULT_CITY_SOURCE=b5;exports.DEFAULT_DISTRICT_SOURCE=L5;exports.DEFAULT_PROVINCE_SOURCE=x5;exports.ErrorBoundary=b3;exports.EventBus=_e;exports.EventBusProvider=Ne;exports.ExportImageControl=P0;exports.FillLayer=Tt;exports.FullscreenControl=R0;exports.GAODE_THEME_PRESETS=L0;exports.GeoLocateControl=T0;exports.GlyphLayer=l3;exports.HeatmapHexagonLayer=p5;exports.HeatmapLayer=f5;exports.HexagonLayer=p5;exports.INDEPENDENT_MAP_THEME_PRESETS=U2;exports.IconLayer=u3;exports.ImageLayer=Lt;exports.InteractionRenderer=a5;exports.LayerRenderer=t5;exports.LayerSwitchControl=F0;exports.LegendCategories=O0;exports.LegendDiverging=D0;exports.LegendIcon=Y0;exports.LegendLineWidth=W0;exports.LegendProportion=q0;exports.LegendRamp=$0;exports.LegendRenderer=i5;exports.LegendSize=U0;exports.LegendThreshold=B0;exports.LineLayer=H1;exports.MAKI_ICONS=T1;exports.MAKI_ICON_NAMES=X2;exports.MapSceneRenderer=Be;exports.MapThemeControl=N0;exports.Marker=B1;exports.MarkerClusterLayer=jt;exports.MobileSheetLegend=d5;exports.MobileToolbar=u5;exports.MouseLocationControl=I0;exports.OPENFREEMAP_THEME_PRESETS=B2;exports.PointLayer=b1;exports.PolygonLayer=i0;exports.Popup=A0;exports.RasterLayer=h5;exports.ResponsiveProvider=ut;exports.RouteLayer=m3;exports.SATELLITE_PROVIDER_NAMES=f3;exports.SatelliteLayer=p3;exports.ScaleControl=_0;exports.SceneProvider=$e;exports.SchemaProvider=Ze;exports.SearchBar=y3;exports.ThemeProvider=Pe;exports.TiffRasterLayer=C3;exports.Tooltip=e5;exports.ZoomControl=Z0;exports.adaptHeatmapLayer=Je;exports.adaptImageLayer=Xe;exports.adaptLineLayer=Ye;exports.adaptPointLayer=qe;exports.adaptPolygonLayer=Ge;exports.adaptRasterLayer=Ke;exports.applyControlDefaults=ke;exports.applyLayerDefaults=je;exports.applyMapDefaults=a0;exports.applyResponsiveOverrides=x3;exports.applySchemaDefaults=z0;exports.createBasemap=De;exports.createEventBus=Re;exports.createMakiIconMap=Q2;exports.createMakiPinMap=tt;exports.cx=c1;exports.deepMerge=J0;exports.diffSchema=Ct;exports.hexToRgba=z2;exports.makiIconUrl=o5;exports.makiPinUrl=s5;exports.parseSchema=Ae;exports.useControlContainer=k1;exports.useEventBus=H0;exports.useMapControl=A1;exports.useMapPosition=k0;exports.useResponsive=l5;exports.useScene=g1;exports.useSchema=a2;exports.useTheme=Fe;exports.validateAiMapSchema=vt;exports.validateSchema=s2;