@ethersphere/bee-dashboard 0.36.2 → 0.37.0

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.
Files changed (30) hide show
  1. package/README.md +0 -3
  2. package/build/assets/__vite-browser-external-Gr5Ld13q.js +2 -0
  3. package/build/assets/{download.browser-CWBk9Xo5.js → download.browser-D7dY7Xjf.js} +1 -1
  4. package/build/assets/download.node-C_caoQb2.js +1 -0
  5. package/build/assets/{fs.node-ci1iNMw2.js → fs.node-BJ_fdVQd.js} +2 -2
  6. package/build/assets/index-BufCo-Bs.js +133 -0
  7. package/build/assets/upload.browser-OebZUAtX.js +1 -0
  8. package/build/assets/vendor-ethers-Dh545u0a.js +87 -0
  9. package/build/index.html +2 -2
  10. package/lib/{App-CwQdMHYW.mjs → App-B7H4Gpf0.mjs} +16139 -13010
  11. package/lib/{App-B3D1R6YS.js → App-DePYYc5z.js} +16139 -13010
  12. package/lib/App.cjs.js +1 -1
  13. package/lib/App.js +1 -1
  14. package/lib/assets/data/nodes-db.json.d.ts +2842 -3578
  15. package/lib/{download.browser-DVvlVttp.js → download.browser-Digctgve.js} +1 -1
  16. package/lib/{download.browser-1J0WA0ZY.mjs → download.browser-xiVKZT8G.mjs} +1 -1
  17. package/lib/{download.node-BvTcf4pA.mjs → download.node-By9OGw0L.mjs} +2 -2
  18. package/lib/{download.node-DNc4t8KE.js → download.node-FjFXjy_9.js} +2 -2
  19. package/lib/{fs.node-DnKAgPam.js → fs.node-Dirm_VZ-.js} +1 -1
  20. package/lib/{fs.node-C0eGUtLy.mjs → fs.node-OKThdsyd.mjs} +1 -1
  21. package/lib/{upload.browser-CN2aC0Ci.mjs → upload.browser-CDVEFDvf.mjs} +3 -3
  22. package/lib/{upload.browser-LvUP5AqY.js → upload.browser-DBraCRf7.js} +3 -3
  23. package/lib/{upload.node-BHNhyWDJ.mjs → upload.node-e8znhzCz.mjs} +6 -6
  24. package/lib/{upload.node-FJ4naJB8.js → upload.node-jidrJtgp.js} +6 -6
  25. package/package.json +9 -13
  26. package/build/assets/__vite-browser-external-DHc9oIIQ.js +0 -2
  27. package/build/assets/download.node-u9UJImpJ.js +0 -1
  28. package/build/assets/index-QjfIOSmO.js +0 -133
  29. package/build/assets/upload.browser-g14Y5rh3.js +0 -1
  30. package/build/assets/vendor-ethers-DdwEM-gK.js +0 -87
@@ -1,133 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/download.node-u9UJImpJ.js","assets/vendor-react-mui-tUcmOwCz.js","assets/vendor-ethers-DdwEM-gK.js","assets/download.browser-CWBk9Xo5.js","assets/__vite-browser-external-DHc9oIIQ.js"])))=>i.map(i=>d[i]);
2
- import{r as x,j as c,p as O7,a as U4,m as Ke,L as cn,b as yr,T as Me,E as pf,d as yf,C as b1,B as oe,e as Wt,I as Sn,f as E1,G as Ve,u as xa,X as jt,h as db,M as xf,i as fb,k as F7,l as it,n as Qt,A as ob,D as ls,o as xr,q as wr,s as wf,t as vf,F as $4,v as vr,w as Jn,U as Sr,Z as lb,x as _r,y as Ht,z as da,H as Er,J as hn,R as bs,K as bb,N as Sf,c as gn,O as ub,P as _f,Q as hb,S as gb,V as mb,W as ft,Y as B7,$ as Ef,a0 as uc,a1 as Cf,a2 as L7,a3 as pb,a4 as jf,a5 as yb,a6 as xb,a7 as wb,a8 as Id,a9 as vb,aa as n1,ab as z4,ac as Af,ad as Sb,ae as _b,af as Eb,ag as Cb,ah as jb,ai as Ab,aj as Ib,ak as Mb,al as us,am as If,g as Cr,_ as U7,an as ot,ao as Nb,ap as C1,aq as G4,ar as kb,as as hs,at as Mf,au as Md,av as Nf,aw as Pb,ax as hc,ay as kf,az as Pf,aA as Tb,aB as Tf,aC as Db,aD as s4,aE as r4,aF as Df,aG as Rb,aH as Ob,aI as Rf,aJ as j1,aK as Fb,aL as jr,aM as Bb,aN as Of,aO as Lb,aP as Ff,aQ as Bf,aR as Ub,aS as i4,aT as $b,aU as Nd,aV as zb,aW as Gb,aX as Wb,aY as qb,aZ as Hb,a_ as Vb,a$ as Kb,b0 as Zb,b1 as Yb,b2 as kd,b3 as Pd,b4 as Td,b5 as Jb,b6 as s7,b7 as Zc,b8 as Wc,b9 as Xb,ba as Qb,bb as eu,bc as au,bd as Lf,be as tu,bf as nu,bg as ra,bh as Uf,bi as $7,bj as cu,bk as su,bl as ru,bm as iu,bn as du,bo as fu,bp as r7,bq as ou,br as lu,bs as bu,bt as uu,bu as hu,bv as gu,bw as mu,bx as pu,by as yu,bz as xu}from"./vendor-react-mui-tUcmOwCz.js";import{D as Na,J as wu,g as Dd,B as W4,a as Sa,b as vu,c as _a,R as za,d as z7,r as Su,W as yn,N as u1,e as nn,f as Pt,h as Ar,i as Xa,S as Ut,j as $f,F as ja,k as zf,E as gs,I as q4,T as Ka,P as _u,l as H4,M as v7,m as Ir,n as Eu,o as Gf,p as G7,C as Wf,q as Rd,s as Od}from"./vendor-ethers-DdwEM-gK.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const d of i.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function t(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=t(s);fetch(s.href,i)}})();class qf extends x.Component{errorReporting;constructor(a){super(a),this.errorReporting=a.errorReporting,this.state={error:null}}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a,t){this.errorReporting&&this.errorReporting(a),console.error({error:a,errorInfo:t})}render(){return this.state.error?c.jsxs("h1",{children:["Something went wrong. Error: ",this.state.error.message]}):this.props.children}}function Hf({children:e}){return c.jsx("div",{style:{display:"flex"},children:e})}const Cu="/assets/dashboard-logo-CKCn_Nwp.svg",ju="/assets/desktop-logo-C4vqQ5pT.svg",V4="metadata",Fd={maxWidth:250,maxHeight:175},Au="bzz.link",Vf="https://docs.ethswarm.org/docs/",Iu="https://discord.gg/eKr9XPv7",Mu="https://api.github.com/repos/ethersphere/bee",Nu="https://github.com/ethersphere/bee-dashboard.git",ku="https://github.com/ethersphere/bee-desktop.git",Kf="https://github.com/ethersphere/bee-desktop/releases/latest",Pu="https://api.github.com/repos/ethersphere/bee-desktop/releases/latest",Tu="http://localhost:1633",i7="https://xdai.fairdatasociety.org",Du={dai:"0.1",bzz:"5"},W7=17,q7=255;function Zf(e,a){return function(){return e.apply(a,arguments)}}const{toString:Ru}=Object.prototype,{getPrototypeOf:xc}=Object,{iterator:A1,toStringTag:Yf}=Symbol,H7=(({hasOwnProperty:e})=>(a,t)=>e.call(a,t))(Object.prototype),h1=(e,a)=>{let t=e;const n=[];for(;t!=null&&t!==Object.prototype;){if(n.indexOf(t)!==-1)return!1;if(n.push(t),H7(t,a))return!0;t=xc(t)}return!1},Ou=(e,a)=>e!=null&&h1(e,a)?e[a]:void 0,Mr=(e=>a=>{const t=Ru.call(a);return e[t]||(e[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Rt=e=>(e=e.toLowerCase(),a=>Mr(a)===e),ms=e=>a=>typeof a===e,{isArray:zn}=Array,wc=ms("undefined");function _c(e){return e!==null&&!wc(e)&&e.constructor!==null&&!wc(e.constructor)&&dt(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Jf=Rt("ArrayBuffer");function Fu(e){let a;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?a=ArrayBuffer.isView(e):a=e&&e.buffer&&Jf(e.buffer),a}const Bu=ms("string"),dt=ms("function"),Xf=ms("number"),Ec=e=>e!==null&&typeof e=="object",Lu=e=>e===!0||e===!1,S7=e=>{if(!Ec(e))return!1;const a=xc(e);return(a===null||a===Object.prototype||xc(a)===null)&&!h1(e,Yf)&&!h1(e,A1)},Uu=e=>{if(!Ec(e)||_c(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},$u=Rt("Date"),zu=Rt("File"),Gu=e=>!!(e&&typeof e.uri<"u"),Wu=e=>e&&typeof e.getParts<"u",qu=Rt("Blob"),Hu=Rt("FileList"),Vu=e=>Ec(e)&&dt(e.pipe);function Ku(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof U4<"u"?U4:{}}const Bd=Ku(),Ld=typeof Bd.FormData<"u"?Bd.FormData:void 0,Zu=e=>{if(!e)return!1;if(Ld&&e instanceof Ld)return!0;const a=xc(e);if(!a||a===Object.prototype||!dt(e.append))return!1;const t=Mr(e);return t==="formdata"||t==="object"&&dt(e.toString)&&e.toString()==="[object FormData]"},Yu=Rt("URLSearchParams"),[Ju,Xu,Qu,eh]=["ReadableStream","Request","Response","Headers"].map(Rt),ah=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function I1(e,a,{allOwnKeys:t=!1}={}){if(e===null||typeof e>"u")return;let n,s;if(typeof e!="object"&&(e=[e]),zn(e))for(n=0,s=e.length;n<s;n++)a.call(null,e[n],n,e);else{if(_c(e))return;const i=t?Object.getOwnPropertyNames(e):Object.keys(e),d=i.length;let f;for(n=0;n<d;n++)f=i[n],a.call(null,e[f],f,e)}}function Qf(e,a){if(_c(e))return null;a=a.toLowerCase();const t=Object.keys(e);let n=t.length,s;for(;n-- >0;)if(s=t[n],a===s.toLowerCase())return s;return null}const Fn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:U4,eo=e=>!wc(e)&&e!==Fn;function K4(...e){const{caseless:a,skipUndefined:t}=eo(this)&&this||{},n={},s=(i,d)=>{if(d==="__proto__"||d==="constructor"||d==="prototype")return;const f=a&&typeof d=="string"&&Qf(n,d)||d,l=H7(n,f)?n[f]:void 0;S7(l)&&S7(i)?n[f]=K4(l,i):S7(i)?n[f]=K4({},i):zn(i)?n[f]=i.slice():(!t||!wc(i))&&(n[f]=i)};for(let i=0,d=e.length;i<d;i++){const f=e[i];if(!f||_c(f)||(I1(f,s),typeof f!="object"||zn(f)))continue;const l=Object.getOwnPropertySymbols(f);for(let b=0;b<l.length;b++){const u=l[b];uh.call(f,u)&&s(f[u],u)}}return n}const th=(e,a,t,{allOwnKeys:n}={})=>(I1(a,(s,i)=>{t&&dt(s)?Object.defineProperty(e,i,{__proto__:null,value:Zf(s,t),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),e),nh=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),ch=(e,a,t,n)=>{e.prototype=Object.create(a.prototype,n),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:a.prototype}),t&&Object.assign(e.prototype,t)},sh=(e,a,t,n)=>{let s,i,d;const f={};if(a=a||{},e==null)return a;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)d=s[i],(!n||n(d,e,a))&&!f[d]&&(a[d]=e[d],f[d]=!0);e=t!==!1&&xc(e)}while(e&&(!t||t(e,a))&&e!==Object.prototype);return a},rh=(e,a,t)=>{e=String(e),(t===void 0||t>e.length)&&(t=e.length),t-=a.length;const n=e.indexOf(a,t);return n!==-1&&n===t},ih=e=>{if(!e)return null;if(zn(e))return e;let a=e.length;if(!Xf(a))return null;const t=new Array(a);for(;a-- >0;)t[a]=e[a];return t},dh=(e=>a=>e&&a instanceof e)(typeof Uint8Array<"u"&&xc(Uint8Array)),fh=(e,a)=>{const n=(e&&e[A1]).call(e);let s;for(;(s=n.next())&&!s.done;){const i=s.value;a.call(e,i[0],i[1])}},oh=(e,a)=>{let t;const n=[];for(;(t=e.exec(a))!==null;)n.push(t);return n},lh=Rt("HTMLFormElement"),bh=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,s){return n.toUpperCase()+s}),{propertyIsEnumerable:uh}=Object.prototype,hh=Rt("RegExp"),ao=(e,a)=>{const t=Object.getOwnPropertyDescriptors(e),n={};I1(t,(s,i)=>{let d;(d=a(s,i,e))!==!1&&(n[i]=d||s)}),Object.defineProperties(e,n)},gh=e=>{ao(e,(a,t)=>{if(dt(e)&&["arguments","caller","callee"].includes(t))return!1;const n=e[t];if(dt(n)){if(a.enumerable=!1,"writable"in a){a.writable=!1;return}a.set||(a.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},mh=(e,a)=>{const t={},n=s=>{s.forEach(i=>{t[i]=!0})};return zn(e)?n(e):n(String(e).split(a)),t},ph=()=>{},yh=(e,a)=>e!=null&&Number.isFinite(e=+e)?e:a;function xh(e){return!!(e&&dt(e.append)&&e[Yf]==="FormData"&&e[A1])}const wh=e=>{const a=new WeakSet,t=n=>{if(Ec(n)){if(a.has(n))return;if(_c(n))return n;if(!("toJSON"in n)){a.add(n);const s=zn(n)?[]:{};return I1(n,(i,d)=>{const f=t(i);!wc(f)&&(s[d]=f)}),a.delete(n),s}}return n};return t(e)},vh=Rt("AsyncFunction"),Sh=e=>e&&(Ec(e)||dt(e))&&dt(e.then)&&dt(e.catch),to=((e,a)=>e?setImmediate:a?((t,n)=>(Fn.addEventListener("message",({source:s,data:i})=>{s===Fn&&i===t&&n.length&&n.shift()()},!1),s=>{n.push(s),Fn.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",dt(Fn.postMessage)),_h=typeof queueMicrotask<"u"?queueMicrotask.bind(Fn):typeof O7<"u"&&O7.nextTick||to,no=e=>e!=null&&dt(e[A1]),Eh=e=>e!=null&&h1(e,A1)&&no(e),re={isArray:zn,isArrayBuffer:Jf,isBuffer:_c,isFormData:Zu,isArrayBufferView:Fu,isString:Bu,isNumber:Xf,isBoolean:Lu,isObject:Ec,isPlainObject:S7,isEmptyObject:Uu,isReadableStream:Ju,isRequest:Xu,isResponse:Qu,isHeaders:eh,isUndefined:wc,isDate:$u,isFile:zu,isReactNativeBlob:Gu,isReactNative:Wu,isBlob:qu,isRegExp:hh,isFunction:dt,isStream:Vu,isURLSearchParams:Yu,isTypedArray:dh,isFileList:Hu,forEach:I1,merge:K4,extend:th,trim:ah,stripBOM:nh,inherits:ch,toFlatObject:sh,kindOf:Mr,kindOfTest:Rt,endsWith:rh,toArray:ih,forEachEntry:fh,matchAll:oh,isHTMLForm:lh,hasOwnProperty:H7,hasOwnProp:H7,hasOwnInPrototypeChain:h1,getSafeProp:Ou,reduceDescriptors:ao,freezeMethods:gh,toObjectSet:mh,toCamelCase:bh,noop:ph,toFiniteNumber:yh,findKey:Qf,global:Fn,isContextDefined:eo,isSpecCompliantForm:xh,toJSONObject:wh,isAsyncFn:vh,isThenable:Sh,setImmediate:to,asap:_h,isIterable:no,isSafeIterable:Eh};var co={},ps={};ps.byteLength=Ah;ps.toByteArray=Mh;ps.fromByteArray=Ph;var Lt=[],Et=[],Ch=typeof Uint8Array<"u"?Uint8Array:Array,d4="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var sc=0,jh=d4.length;sc<jh;++sc)Lt[sc]=d4[sc],Et[d4.charCodeAt(sc)]=sc;Et[45]=62;Et[95]=63;function so(e){var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");t===-1&&(t=a);var n=t===a?0:4-t%4;return[t,n]}function Ah(e){var a=so(e),t=a[0],n=a[1];return(t+n)*3/4-n}function Ih(e,a,t){return(a+t)*3/4-t}function Mh(e){var a,t=so(e),n=t[0],s=t[1],i=new Ch(Ih(e,n,s)),d=0,f=s>0?n-4:n,l;for(l=0;l<f;l+=4)a=Et[e.charCodeAt(l)]<<18|Et[e.charCodeAt(l+1)]<<12|Et[e.charCodeAt(l+2)]<<6|Et[e.charCodeAt(l+3)],i[d++]=a>>16&255,i[d++]=a>>8&255,i[d++]=a&255;return s===2&&(a=Et[e.charCodeAt(l)]<<2|Et[e.charCodeAt(l+1)]>>4,i[d++]=a&255),s===1&&(a=Et[e.charCodeAt(l)]<<10|Et[e.charCodeAt(l+1)]<<4|Et[e.charCodeAt(l+2)]>>2,i[d++]=a>>8&255,i[d++]=a&255),i}function Nh(e){return Lt[e>>18&63]+Lt[e>>12&63]+Lt[e>>6&63]+Lt[e&63]}function kh(e,a,t){for(var n,s=[],i=a;i<t;i+=3)n=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(e[i+2]&255),s.push(Nh(n));return s.join("")}function Ph(e){for(var a,t=e.length,n=t%3,s=[],i=16383,d=0,f=t-n;d<f;d+=i)s.push(kh(e,d,d+i>f?f:d+i));return n===1?(a=e[t-1],s.push(Lt[a>>2]+Lt[a<<4&63]+"==")):n===2&&(a=(e[t-2]<<8)+e[t-1],s.push(Lt[a>>10]+Lt[a>>4&63]+Lt[a<<2&63]+"=")),s.join("")}var Nr={};Nr.read=function(e,a,t,n,s){var i,d,f=s*8-n-1,l=(1<<f)-1,b=l>>1,u=-7,g=t?s-1:0,m=t?-1:1,p=e[a+g];for(g+=m,i=p&(1<<-u)-1,p>>=-u,u+=f;u>0;i=i*256+e[a+g],g+=m,u-=8);for(d=i&(1<<-u)-1,i>>=-u,u+=n;u>0;d=d*256+e[a+g],g+=m,u-=8);if(i===0)i=1-b;else{if(i===l)return d?NaN:(p?-1:1)*(1/0);d=d+Math.pow(2,n),i=i-b}return(p?-1:1)*d*Math.pow(2,i-n)};Nr.write=function(e,a,t,n,s,i){var d,f,l,b=i*8-s-1,u=(1<<b)-1,g=u>>1,m=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,S=n?1:-1,w=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(f=isNaN(a)?1:0,d=u):(d=Math.floor(Math.log(a)/Math.LN2),a*(l=Math.pow(2,-d))<1&&(d--,l*=2),d+g>=1?a+=m/l:a+=m*Math.pow(2,1-g),a*l>=2&&(d++,l/=2),d+g>=u?(f=0,d=u):d+g>=1?(f=(a*l-1)*Math.pow(2,s),d=d+g):(f=a*Math.pow(2,g-1)*Math.pow(2,s),d=0));s>=8;e[t+p]=f&255,p+=S,f/=256,s-=8);for(d=d<<s|f,b+=s;b>0;e[t+p]=d&255,p+=S,d/=256,b-=8);e[t+p-S]|=w*128};(function(e){const a=ps,t=Nr,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=u,e.SlowBuffer=$,e.INSPECT_MAX_BYTES=50;const s=2147483647;e.kMaxLength=s;const{Uint8Array:i,ArrayBuffer:d,SharedArrayBuffer:f}=globalThis;u.TYPED_ARRAY_SUPPORT=l(),!u.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function l(){try{const z=new i(1),j={foo:function(){return 42}};return Object.setPrototypeOf(j,i.prototype),Object.setPrototypeOf(z,j),z.foo()===42}catch{return!1}}Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}});function b(z){if(z>s)throw new RangeError('The value "'+z+'" is invalid for option "size"');const j=new i(z);return Object.setPrototypeOf(j,u.prototype),j}function u(z,j,I){if(typeof z=="number"){if(typeof j=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return S(z)}return g(z,j,I)}u.poolSize=8192;function g(z,j,I){if(typeof z=="string")return w(z,j);if(d.isView(z))return C(z);if(z==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof z);if(le(z,d)||z&&le(z.buffer,d)||typeof f<"u"&&(le(z,f)||z&&le(z.buffer,f)))return _(z,j,I);if(typeof z=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const V=z.valueOf&&z.valueOf();if(V!=null&&V!==z)return u.from(V,j,I);const ae=D(z);if(ae)return ae;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof z[Symbol.toPrimitive]=="function")return u.from(z[Symbol.toPrimitive]("string"),j,I);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof z)}u.from=function(z,j,I){return g(z,j,I)},Object.setPrototypeOf(u.prototype,i.prototype),Object.setPrototypeOf(u,i);function m(z){if(typeof z!="number")throw new TypeError('"size" argument must be of type number');if(z<0)throw new RangeError('The value "'+z+'" is invalid for option "size"')}function p(z,j,I){return m(z),z<=0?b(z):j!==void 0?typeof I=="string"?b(z).fill(j,I):b(z).fill(j):b(z)}u.alloc=function(z,j,I){return p(z,j,I)};function S(z){return m(z),b(z<0?0:O(z)|0)}u.allocUnsafe=function(z){return S(z)},u.allocUnsafeSlow=function(z){return S(z)};function w(z,j){if((typeof j!="string"||j==="")&&(j="utf8"),!u.isEncoding(j))throw new TypeError("Unknown encoding: "+j);const I=W(z,j)|0;let V=b(I);const ae=V.write(z,j);return ae!==I&&(V=V.slice(0,ae)),V}function E(z){const j=z.length<0?0:O(z.length)|0,I=b(j);for(let V=0;V<j;V+=1)I[V]=z[V]&255;return I}function C(z){if(le(z,i)){const j=new i(z);return _(j.buffer,j.byteOffset,j.byteLength)}return E(z)}function _(z,j,I){if(j<0||z.byteLength<j)throw new RangeError('"offset" is outside of buffer bounds');if(z.byteLength<j+(I||0))throw new RangeError('"length" is outside of buffer bounds');let V;return j===void 0&&I===void 0?V=new i(z):I===void 0?V=new i(z,j):V=new i(z,j,I),Object.setPrototypeOf(V,u.prototype),V}function D(z){if(u.isBuffer(z)){const j=O(z.length)|0,I=b(j);return I.length===0||z.copy(I,0,0,j),I}if(z.length!==void 0)return typeof z.length!="number"||_e(z.length)?b(0):E(z);if(z.type==="Buffer"&&Array.isArray(z.data))return E(z.data)}function O(z){if(z>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return z|0}function $(z){return+z!=z&&(z=0),u.alloc(+z)}u.isBuffer=function(j){return j!=null&&j._isBuffer===!0&&j!==u.prototype},u.compare=function(j,I){if(le(j,i)&&(j=u.from(j,j.offset,j.byteLength)),le(I,i)&&(I=u.from(I,I.offset,I.byteLength)),!u.isBuffer(j)||!u.isBuffer(I))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(j===I)return 0;let V=j.length,ae=I.length;for(let be=0,ye=Math.min(V,ae);be<ye;++be)if(j[be]!==I[be]){V=j[be],ae=I[be];break}return V<ae?-1:ae<V?1:0},u.isEncoding=function(j){switch(String(j).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(j,I){if(!Array.isArray(j))throw new TypeError('"list" argument must be an Array of Buffers');if(j.length===0)return u.alloc(0);let V;if(I===void 0)for(I=0,V=0;V<j.length;++V)I+=j[V].length;const ae=u.allocUnsafe(I);let be=0;for(V=0;V<j.length;++V){let ye=j[V];if(le(ye,i))be+ye.length>ae.length?(u.isBuffer(ye)||(ye=u.from(ye)),ye.copy(ae,be)):i.prototype.set.call(ae,ye,be);else if(u.isBuffer(ye))ye.copy(ae,be);else throw new TypeError('"list" argument must be an Array of Buffers');be+=ye.length}return ae};function W(z,j){if(u.isBuffer(z))return z.length;if(d.isView(z)||le(z,d))return z.byteLength;if(typeof z!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof z);const I=z.length,V=arguments.length>2&&arguments[2]===!0;if(!V&&I===0)return 0;let ae=!1;for(;;)switch(j){case"ascii":case"latin1":case"binary":return I;case"utf8":case"utf-8":return me(z).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I*2;case"hex":return I>>>1;case"base64":return je(z).length;default:if(ae)return V?-1:me(z).length;j=(""+j).toLowerCase(),ae=!0}}u.byteLength=W;function J(z,j,I){let V=!1;if((j===void 0||j<0)&&(j=0),j>this.length||((I===void 0||I>this.length)&&(I=this.length),I<=0)||(I>>>=0,j>>>=0,I<=j))return"";for(z||(z="utf8");;)switch(z){case"hex":return X(this,j,I);case"utf8":case"utf-8":return U(this,j,I);case"ascii":return ee(this,j,I);case"latin1":case"binary":return Y(this,j,I);case"base64":return B(this,j,I);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pe(this,j,I);default:if(V)throw new TypeError("Unknown encoding: "+z);z=(z+"").toLowerCase(),V=!0}}u.prototype._isBuffer=!0;function k(z,j,I){const V=z[j];z[j]=z[I],z[I]=V}u.prototype.swap16=function(){const j=this.length;if(j%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let I=0;I<j;I+=2)k(this,I,I+1);return this},u.prototype.swap32=function(){const j=this.length;if(j%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let I=0;I<j;I+=4)k(this,I,I+3),k(this,I+1,I+2);return this},u.prototype.swap64=function(){const j=this.length;if(j%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let I=0;I<j;I+=8)k(this,I,I+7),k(this,I+1,I+6),k(this,I+2,I+5),k(this,I+3,I+4);return this},u.prototype.toString=function(){const j=this.length;return j===0?"":arguments.length===0?U(this,0,j):J.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(j){if(!u.isBuffer(j))throw new TypeError("Argument must be a Buffer");return this===j?!0:u.compare(this,j)===0},u.prototype.inspect=function(){let j="";const I=e.INSPECT_MAX_BYTES;return j=this.toString("hex",0,I).replace(/(.{2})/g,"$1 ").trim(),this.length>I&&(j+=" ... "),"<Buffer "+j+">"},n&&(u.prototype[n]=u.prototype.inspect),u.prototype.compare=function(j,I,V,ae,be){if(le(j,i)&&(j=u.from(j,j.offset,j.byteLength)),!u.isBuffer(j))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof j);if(I===void 0&&(I=0),V===void 0&&(V=j?j.length:0),ae===void 0&&(ae=0),be===void 0&&(be=this.length),I<0||V>j.length||ae<0||be>this.length)throw new RangeError("out of range index");if(ae>=be&&I>=V)return 0;if(ae>=be)return-1;if(I>=V)return 1;if(I>>>=0,V>>>=0,ae>>>=0,be>>>=0,this===j)return 0;let ye=be-ae,ze=V-I;const sa=Math.min(ye,ze),Xe=this.slice(ae,be),ta=j.slice(I,V);for(let Ye=0;Ye<sa;++Ye)if(Xe[Ye]!==ta[Ye]){ye=Xe[Ye],ze=ta[Ye];break}return ye<ze?-1:ze<ye?1:0};function P(z,j,I,V,ae){if(z.length===0)return-1;if(typeof I=="string"?(V=I,I=0):I>2147483647?I=2147483647:I<-2147483648&&(I=-2147483648),I=+I,_e(I)&&(I=ae?0:z.length-1),I<0&&(I=z.length+I),I>=z.length){if(ae)return-1;I=z.length-1}else if(I<0)if(ae)I=0;else return-1;if(typeof j=="string"&&(j=u.from(j,V)),u.isBuffer(j))return j.length===0?-1:R(z,j,I,V,ae);if(typeof j=="number")return j=j&255,typeof i.prototype.indexOf=="function"?ae?i.prototype.indexOf.call(z,j,I):i.prototype.lastIndexOf.call(z,j,I):R(z,[j],I,V,ae);throw new TypeError("val must be string, number or Buffer")}function R(z,j,I,V,ae){let be=1,ye=z.length,ze=j.length;if(V!==void 0&&(V=String(V).toLowerCase(),V==="ucs2"||V==="ucs-2"||V==="utf16le"||V==="utf-16le")){if(z.length<2||j.length<2)return-1;be=2,ye/=2,ze/=2,I/=2}function sa(ta,Ye){return be===1?ta[Ye]:ta.readUInt16BE(Ye*be)}let Xe;if(ae){let ta=-1;for(Xe=I;Xe<ye;Xe++)if(sa(z,Xe)===sa(j,ta===-1?0:Xe-ta)){if(ta===-1&&(ta=Xe),Xe-ta+1===ze)return ta*be}else ta!==-1&&(Xe-=Xe-ta),ta=-1}else for(I+ze>ye&&(I=ye-ze),Xe=I;Xe>=0;Xe--){let ta=!0;for(let Ye=0;Ye<ze;Ye++)if(sa(z,Xe+Ye)!==sa(j,Ye)){ta=!1;break}if(ta)return Xe}return-1}u.prototype.includes=function(j,I,V){return this.indexOf(j,I,V)!==-1},u.prototype.indexOf=function(j,I,V){return P(this,j,I,V,!0)},u.prototype.lastIndexOf=function(j,I,V){return P(this,j,I,V,!1)};function F(z,j,I,V){I=Number(I)||0;const ae=z.length-I;V?(V=Number(V),V>ae&&(V=ae)):V=ae;const be=j.length;V>be/2&&(V=be/2);let ye;for(ye=0;ye<V;++ye){const ze=parseInt(j.substr(ye*2,2),16);if(_e(ze))return ye;z[I+ye]=ze}return ye}function A(z,j,I,V){return Ie(me(j,z.length-I),z,I,V)}function T(z,j,I,V){return Ie(we(j),z,I,V)}function v(z,j,I,V){return Ie(je(j),z,I,V)}function L(z,j,I,V){return Ie(fe(j,z.length-I),z,I,V)}u.prototype.write=function(j,I,V,ae){if(I===void 0)ae="utf8",V=this.length,I=0;else if(V===void 0&&typeof I=="string")ae=I,V=this.length,I=0;else if(isFinite(I))I=I>>>0,isFinite(V)?(V=V>>>0,ae===void 0&&(ae="utf8")):(ae=V,V=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const be=this.length-I;if((V===void 0||V>be)&&(V=be),j.length>0&&(V<0||I<0)||I>this.length)throw new RangeError("Attempt to write outside buffer bounds");ae||(ae="utf8");let ye=!1;for(;;)switch(ae){case"hex":return F(this,j,I,V);case"utf8":case"utf-8":return A(this,j,I,V);case"ascii":case"latin1":case"binary":return T(this,j,I,V);case"base64":return v(this,j,I,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,j,I,V);default:if(ye)throw new TypeError("Unknown encoding: "+ae);ae=(""+ae).toLowerCase(),ye=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function B(z,j,I){return j===0&&I===z.length?a.fromByteArray(z):a.fromByteArray(z.slice(j,I))}function U(z,j,I){I=Math.min(z.length,I);const V=[];let ae=j;for(;ae<I;){const be=z[ae];let ye=null,ze=be>239?4:be>223?3:be>191?2:1;if(ae+ze<=I){let sa,Xe,ta,Ye;switch(ze){case 1:be<128&&(ye=be);break;case 2:sa=z[ae+1],(sa&192)===128&&(Ye=(be&31)<<6|sa&63,Ye>127&&(ye=Ye));break;case 3:sa=z[ae+1],Xe=z[ae+2],(sa&192)===128&&(Xe&192)===128&&(Ye=(be&15)<<12|(sa&63)<<6|Xe&63,Ye>2047&&(Ye<55296||Ye>57343)&&(ye=Ye));break;case 4:sa=z[ae+1],Xe=z[ae+2],ta=z[ae+3],(sa&192)===128&&(Xe&192)===128&&(ta&192)===128&&(Ye=(be&15)<<18|(sa&63)<<12|(Xe&63)<<6|ta&63,Ye>65535&&Ye<1114112&&(ye=Ye))}}ye===null?(ye=65533,ze=1):ye>65535&&(ye-=65536,V.push(ye>>>10&1023|55296),ye=56320|ye&1023),V.push(ye),ae+=ze}return Z(V)}const H=4096;function Z(z){const j=z.length;if(j<=H)return String.fromCharCode.apply(String,z);let I="",V=0;for(;V<j;)I+=String.fromCharCode.apply(String,z.slice(V,V+=H));return I}function ee(z,j,I){let V="";I=Math.min(z.length,I);for(let ae=j;ae<I;++ae)V+=String.fromCharCode(z[ae]&127);return V}function Y(z,j,I){let V="";I=Math.min(z.length,I);for(let ae=j;ae<I;++ae)V+=String.fromCharCode(z[ae]);return V}function X(z,j,I){const V=z.length;(!j||j<0)&&(j=0),(!I||I<0||I>V)&&(I=V);let ae="";for(let be=j;be<I;++be)ae+=Te[z[be]];return ae}function pe(z,j,I){const V=z.slice(j,I);let ae="";for(let be=0;be<V.length-1;be+=2)ae+=String.fromCharCode(V[be]+V[be+1]*256);return ae}u.prototype.slice=function(j,I){const V=this.length;j=~~j,I=I===void 0?V:~~I,j<0?(j+=V,j<0&&(j=0)):j>V&&(j=V),I<0?(I+=V,I<0&&(I=0)):I>V&&(I=V),I<j&&(I=j);const ae=this.subarray(j,I);return Object.setPrototypeOf(ae,u.prototype),ae};function ie(z,j,I){if(z%1!==0||z<0)throw new RangeError("offset is not uint");if(z+j>I)throw new RangeError("Trying to access beyond buffer length")}u.prototype.readUintLE=u.prototype.readUIntLE=function(j,I,V){j=j>>>0,I=I>>>0,V||ie(j,I,this.length);let ae=this[j],be=1,ye=0;for(;++ye<I&&(be*=256);)ae+=this[j+ye]*be;return ae},u.prototype.readUintBE=u.prototype.readUIntBE=function(j,I,V){j=j>>>0,I=I>>>0,V||ie(j,I,this.length);let ae=this[j+--I],be=1;for(;I>0&&(be*=256);)ae+=this[j+--I]*be;return ae},u.prototype.readUint8=u.prototype.readUInt8=function(j,I){return j=j>>>0,I||ie(j,1,this.length),this[j]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(j,I){return j=j>>>0,I||ie(j,2,this.length),this[j]|this[j+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(j,I){return j=j>>>0,I||ie(j,2,this.length),this[j]<<8|this[j+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(j,I){return j=j>>>0,I||ie(j,4,this.length),(this[j]|this[j+1]<<8|this[j+2]<<16)+this[j+3]*16777216},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(j,I){return j=j>>>0,I||ie(j,4,this.length),this[j]*16777216+(this[j+1]<<16|this[j+2]<<8|this[j+3])},u.prototype.readBigUInt64LE=Re(function(j){j=j>>>0,Q(j,"offset");const I=this[j],V=this[j+7];(I===void 0||V===void 0)&&q(j,this.length-8);const ae=I+this[++j]*2**8+this[++j]*2**16+this[++j]*2**24,be=this[++j]+this[++j]*2**8+this[++j]*2**16+V*2**24;return BigInt(ae)+(BigInt(be)<<BigInt(32))}),u.prototype.readBigUInt64BE=Re(function(j){j=j>>>0,Q(j,"offset");const I=this[j],V=this[j+7];(I===void 0||V===void 0)&&q(j,this.length-8);const ae=I*2**24+this[++j]*2**16+this[++j]*2**8+this[++j],be=this[++j]*2**24+this[++j]*2**16+this[++j]*2**8+V;return(BigInt(ae)<<BigInt(32))+BigInt(be)}),u.prototype.readIntLE=function(j,I,V){j=j>>>0,I=I>>>0,V||ie(j,I,this.length);let ae=this[j],be=1,ye=0;for(;++ye<I&&(be*=256);)ae+=this[j+ye]*be;return be*=128,ae>=be&&(ae-=Math.pow(2,8*I)),ae},u.prototype.readIntBE=function(j,I,V){j=j>>>0,I=I>>>0,V||ie(j,I,this.length);let ae=I,be=1,ye=this[j+--ae];for(;ae>0&&(be*=256);)ye+=this[j+--ae]*be;return be*=128,ye>=be&&(ye-=Math.pow(2,8*I)),ye},u.prototype.readInt8=function(j,I){return j=j>>>0,I||ie(j,1,this.length),this[j]&128?(255-this[j]+1)*-1:this[j]},u.prototype.readInt16LE=function(j,I){j=j>>>0,I||ie(j,2,this.length);const V=this[j]|this[j+1]<<8;return V&32768?V|4294901760:V},u.prototype.readInt16BE=function(j,I){j=j>>>0,I||ie(j,2,this.length);const V=this[j+1]|this[j]<<8;return V&32768?V|4294901760:V},u.prototype.readInt32LE=function(j,I){return j=j>>>0,I||ie(j,4,this.length),this[j]|this[j+1]<<8|this[j+2]<<16|this[j+3]<<24},u.prototype.readInt32BE=function(j,I){return j=j>>>0,I||ie(j,4,this.length),this[j]<<24|this[j+1]<<16|this[j+2]<<8|this[j+3]},u.prototype.readBigInt64LE=Re(function(j){j=j>>>0,Q(j,"offset");const I=this[j],V=this[j+7];(I===void 0||V===void 0)&&q(j,this.length-8);const ae=this[j+4]+this[j+5]*2**8+this[j+6]*2**16+(V<<24);return(BigInt(ae)<<BigInt(32))+BigInt(I+this[++j]*2**8+this[++j]*2**16+this[++j]*2**24)}),u.prototype.readBigInt64BE=Re(function(j){j=j>>>0,Q(j,"offset");const I=this[j],V=this[j+7];(I===void 0||V===void 0)&&q(j,this.length-8);const ae=(I<<24)+this[++j]*2**16+this[++j]*2**8+this[++j];return(BigInt(ae)<<BigInt(32))+BigInt(this[++j]*2**24+this[++j]*2**16+this[++j]*2**8+V)}),u.prototype.readFloatLE=function(j,I){return j=j>>>0,I||ie(j,4,this.length),t.read(this,j,!0,23,4)},u.prototype.readFloatBE=function(j,I){return j=j>>>0,I||ie(j,4,this.length),t.read(this,j,!1,23,4)},u.prototype.readDoubleLE=function(j,I){return j=j>>>0,I||ie(j,8,this.length),t.read(this,j,!0,52,8)},u.prototype.readDoubleBE=function(j,I){return j=j>>>0,I||ie(j,8,this.length),t.read(this,j,!1,52,8)};function te(z,j,I,V,ae,be){if(!u.isBuffer(z))throw new TypeError('"buffer" argument must be a Buffer instance');if(j>ae||j<be)throw new RangeError('"value" argument is out of bounds');if(I+V>z.length)throw new RangeError("Index out of range")}u.prototype.writeUintLE=u.prototype.writeUIntLE=function(j,I,V,ae){if(j=+j,I=I>>>0,V=V>>>0,!ae){const ze=Math.pow(2,8*V)-1;te(this,j,I,V,ze,0)}let be=1,ye=0;for(this[I]=j&255;++ye<V&&(be*=256);)this[I+ye]=j/be&255;return I+V},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(j,I,V,ae){if(j=+j,I=I>>>0,V=V>>>0,!ae){const ze=Math.pow(2,8*V)-1;te(this,j,I,V,ze,0)}let be=V-1,ye=1;for(this[I+be]=j&255;--be>=0&&(ye*=256);)this[I+be]=j/ye&255;return I+V},u.prototype.writeUint8=u.prototype.writeUInt8=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,1,255,0),this[I]=j&255,I+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,2,65535,0),this[I]=j&255,this[I+1]=j>>>8,I+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,2,65535,0),this[I]=j>>>8,this[I+1]=j&255,I+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,4,4294967295,0),this[I+3]=j>>>24,this[I+2]=j>>>16,this[I+1]=j>>>8,this[I]=j&255,I+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,4,4294967295,0),this[I]=j>>>24,this[I+1]=j>>>16,this[I+2]=j>>>8,this[I+3]=j&255,I+4};function ge(z,j,I,V,ae){se(j,V,ae,z,I,7);let be=Number(j&BigInt(4294967295));z[I++]=be,be=be>>8,z[I++]=be,be=be>>8,z[I++]=be,be=be>>8,z[I++]=be;let ye=Number(j>>BigInt(32)&BigInt(4294967295));return z[I++]=ye,ye=ye>>8,z[I++]=ye,ye=ye>>8,z[I++]=ye,ye=ye>>8,z[I++]=ye,I}function ce(z,j,I,V,ae){se(j,V,ae,z,I,7);let be=Number(j&BigInt(4294967295));z[I+7]=be,be=be>>8,z[I+6]=be,be=be>>8,z[I+5]=be,be=be>>8,z[I+4]=be;let ye=Number(j>>BigInt(32)&BigInt(4294967295));return z[I+3]=ye,ye=ye>>8,z[I+2]=ye,ye=ye>>8,z[I+1]=ye,ye=ye>>8,z[I]=ye,I+8}u.prototype.writeBigUInt64LE=Re(function(j,I=0){return ge(this,j,I,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=Re(function(j,I=0){return ce(this,j,I,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(j,I,V,ae){if(j=+j,I=I>>>0,!ae){const sa=Math.pow(2,8*V-1);te(this,j,I,V,sa-1,-sa)}let be=0,ye=1,ze=0;for(this[I]=j&255;++be<V&&(ye*=256);)j<0&&ze===0&&this[I+be-1]!==0&&(ze=1),this[I+be]=(j/ye>>0)-ze&255;return I+V},u.prototype.writeIntBE=function(j,I,V,ae){if(j=+j,I=I>>>0,!ae){const sa=Math.pow(2,8*V-1);te(this,j,I,V,sa-1,-sa)}let be=V-1,ye=1,ze=0;for(this[I+be]=j&255;--be>=0&&(ye*=256);)j<0&&ze===0&&this[I+be+1]!==0&&(ze=1),this[I+be]=(j/ye>>0)-ze&255;return I+V},u.prototype.writeInt8=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,1,127,-128),j<0&&(j=255+j+1),this[I]=j&255,I+1},u.prototype.writeInt16LE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,2,32767,-32768),this[I]=j&255,this[I+1]=j>>>8,I+2},u.prototype.writeInt16BE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,2,32767,-32768),this[I]=j>>>8,this[I+1]=j&255,I+2},u.prototype.writeInt32LE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,4,2147483647,-2147483648),this[I]=j&255,this[I+1]=j>>>8,this[I+2]=j>>>16,this[I+3]=j>>>24,I+4},u.prototype.writeInt32BE=function(j,I,V){return j=+j,I=I>>>0,V||te(this,j,I,4,2147483647,-2147483648),j<0&&(j=4294967295+j+1),this[I]=j>>>24,this[I+1]=j>>>16,this[I+2]=j>>>8,this[I+3]=j&255,I+4},u.prototype.writeBigInt64LE=Re(function(j,I=0){return ge(this,j,I,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=Re(function(j,I=0){return ce(this,j,I,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function he(z,j,I,V,ae,be){if(I+V>z.length)throw new RangeError("Index out of range");if(I<0)throw new RangeError("Index out of range")}function ve(z,j,I,V,ae){return j=+j,I=I>>>0,ae||he(z,j,I,4),t.write(z,j,I,V,23,4),I+4}u.prototype.writeFloatLE=function(j,I,V){return ve(this,j,I,!0,V)},u.prototype.writeFloatBE=function(j,I,V){return ve(this,j,I,!1,V)};function xe(z,j,I,V,ae){return j=+j,I=I>>>0,ae||he(z,j,I,8),t.write(z,j,I,V,52,8),I+8}u.prototype.writeDoubleLE=function(j,I,V){return xe(this,j,I,!0,V)},u.prototype.writeDoubleBE=function(j,I,V){return xe(this,j,I,!1,V)},u.prototype.copy=function(j,I,V,ae){if(!u.isBuffer(j))throw new TypeError("argument should be a Buffer");if(V||(V=0),!ae&&ae!==0&&(ae=this.length),I>=j.length&&(I=j.length),I||(I=0),ae>0&&ae<V&&(ae=V),ae===V||j.length===0||this.length===0)return 0;if(I<0)throw new RangeError("targetStart out of bounds");if(V<0||V>=this.length)throw new RangeError("Index out of range");if(ae<0)throw new RangeError("sourceEnd out of bounds");ae>this.length&&(ae=this.length),j.length-I<ae-V&&(ae=j.length-I+V);const be=ae-V;return this===j&&typeof i.prototype.copyWithin=="function"?this.copyWithin(I,V,ae):i.prototype.set.call(j,this.subarray(V,ae),I),be},u.prototype.fill=function(j,I,V,ae){if(typeof j=="string"){if(typeof I=="string"?(ae=I,I=0,V=this.length):typeof V=="string"&&(ae=V,V=this.length),ae!==void 0&&typeof ae!="string")throw new TypeError("encoding must be a string");if(typeof ae=="string"&&!u.isEncoding(ae))throw new TypeError("Unknown encoding: "+ae);if(j.length===1){const ye=j.charCodeAt(0);(ae==="utf8"&&ye<128||ae==="latin1")&&(j=ye)}}else typeof j=="number"?j=j&255:typeof j=="boolean"&&(j=Number(j));if(I<0||this.length<I||this.length<V)throw new RangeError("Out of range index");if(V<=I)return this;I=I>>>0,V=V===void 0?this.length:V>>>0,j||(j=0);let be;if(typeof j=="number")for(be=I;be<V;++be)this[be]=j;else{const ye=u.isBuffer(j)?j:u.from(j,ae),ze=ye.length;if(ze===0)throw new TypeError('The value "'+j+'" is invalid for argument "value"');for(be=0;be<V-I;++be)this[be+I]=ye[be%ze]}return this};const ue={};function Ee(z,j,I){ue[z]=class extends I{constructor(){super(),Object.defineProperty(this,"message",{value:j.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${z}]`,this.stack,delete this.name}get code(){return z}set code(ae){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:ae,writable:!0})}toString(){return`${this.name} [${z}]: ${this.message}`}}}Ee("ERR_BUFFER_OUT_OF_BOUNDS",function(z){return z?`${z} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Ee("ERR_INVALID_ARG_TYPE",function(z,j){return`The "${z}" argument must be of type number. Received type ${typeof j}`},TypeError),Ee("ERR_OUT_OF_RANGE",function(z,j,I){let V=`The value of "${z}" is out of range.`,ae=I;return Number.isInteger(I)&&Math.abs(I)>2**32?ae=Ne(String(I)):typeof I=="bigint"&&(ae=String(I),(I>BigInt(2)**BigInt(32)||I<-(BigInt(2)**BigInt(32)))&&(ae=Ne(ae)),ae+="n"),V+=` It must be ${j}. Received ${ae}`,V},RangeError);function Ne(z){let j="",I=z.length;const V=z[0]==="-"?1:0;for(;I>=V+4;I-=3)j=`_${z.slice(I-3,I)}${j}`;return`${z.slice(0,I)}${j}`}function N(z,j,I){Q(j,"offset"),(z[j]===void 0||z[j+I]===void 0)&&q(j,z.length-(I+1))}function se(z,j,I,V,ae,be){if(z>I||z<j){const ye=typeof j=="bigint"?"n":"";let ze;throw j===0||j===BigInt(0)?ze=`>= 0${ye} and < 2${ye} ** ${(be+1)*8}${ye}`:ze=`>= -(2${ye} ** ${(be+1)*8-1}${ye}) and < 2 ** ${(be+1)*8-1}${ye}`,new ue.ERR_OUT_OF_RANGE("value",ze,z)}N(V,ae,be)}function Q(z,j){if(typeof z!="number")throw new ue.ERR_INVALID_ARG_TYPE(j,"number",z)}function q(z,j,I){throw Math.floor(z)!==z?(Q(z,I),new ue.ERR_OUT_OF_RANGE("offset","an integer",z)):j<0?new ue.ERR_BUFFER_OUT_OF_BOUNDS:new ue.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${j}`,z)}const K=/[^+/0-9A-Za-z-_]/g;function ne(z){if(z=z.split("=")[0],z=z.trim().replace(K,""),z.length<2)return"";for(;z.length%4!==0;)z=z+"=";return z}function me(z,j){j=j||1/0;let I;const V=z.length;let ae=null;const be=[];for(let ye=0;ye<V;++ye){if(I=z.charCodeAt(ye),I>55295&&I<57344){if(!ae){if(I>56319){(j-=3)>-1&&be.push(239,191,189);continue}else if(ye+1===V){(j-=3)>-1&&be.push(239,191,189);continue}ae=I;continue}if(I<56320){(j-=3)>-1&&be.push(239,191,189),ae=I;continue}I=(ae-55296<<10|I-56320)+65536}else ae&&(j-=3)>-1&&be.push(239,191,189);if(ae=null,I<128){if((j-=1)<0)break;be.push(I)}else if(I<2048){if((j-=2)<0)break;be.push(I>>6|192,I&63|128)}else if(I<65536){if((j-=3)<0)break;be.push(I>>12|224,I>>6&63|128,I&63|128)}else if(I<1114112){if((j-=4)<0)break;be.push(I>>18|240,I>>12&63|128,I>>6&63|128,I&63|128)}else throw new Error("Invalid code point")}return be}function we(z){const j=[];for(let I=0;I<z.length;++I)j.push(z.charCodeAt(I)&255);return j}function fe(z,j){let I,V,ae;const be=[];for(let ye=0;ye<z.length&&!((j-=2)<0);++ye)I=z.charCodeAt(ye),V=I>>8,ae=I%256,be.push(ae),be.push(V);return be}function je(z){return a.toByteArray(ne(z))}function Ie(z,j,I,V){let ae;for(ae=0;ae<V&&!(ae+I>=j.length||ae>=z.length);++ae)j[ae+I]=z[ae];return ae}function le(z,j){return z instanceof j||z!=null&&z.constructor!=null&&z.constructor.name!=null&&z.constructor.name===j.name}function _e(z){return z!==z}const Te=(function(){const z="0123456789abcdef",j=new Array(256);for(let I=0;I<16;++I){const V=I*16;for(let ae=0;ae<16;++ae)j[V+ae]=z[I]+z[ae]}return j})();function Re(z){return typeof BigInt>"u"?Ze:z}function Ze(){throw new Error("BigInt not supported")}})(co);const ht=co.Buffer,Th=re.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Dh=e=>{const a={};let t,n,s;return e&&e.split(`
3
- `).forEach(function(d){s=d.indexOf(":"),t=d.substring(0,s).trim().toLowerCase(),n=d.substring(s+1).trim(),!(!t||a[t]&&Th[t])&&(t==="set-cookie"?a[t]?a[t].push(n):a[t]=[n]:a[t]=a[t]?a[t]+", "+n:n)}),a};function Rh(e){let a=0,t=e.length;for(;a<t;){const n=e.charCodeAt(a);if(n!==9&&n!==32)break;a+=1}for(;t>a;){const n=e.charCodeAt(t-1);if(n!==9&&n!==32)break;t-=1}return a===0&&t===e.length?e:e.slice(a,t)}const Oh=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Fh=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function kr(e,a){return re.isArray(e)?e.map(t=>kr(t,a)):Rh(String(e).replace(a,""))}const Bh=e=>kr(e,Oh),Lh=e=>kr(e,Fh);function ro(e){const a=Object.create(null);return re.forEach(e.toJSON(),(t,n)=>{a[n]=Lh(t)}),a}const Ud=Symbol("internals");function qc(e){return e&&String(e).trim().toLowerCase()}function _7(e){return e===!1||e==null?e:re.isArray(e)?e.map(_7):Bh(String(e))}function Uh(e){const a=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(e);)a[n[1]]=n[2];return a}const $h=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function f4(e,a,t,n,s){if(re.isFunction(n))return n.call(this,a,t);if(s&&(a=t),!!re.isString(a)){if(re.isString(n))return a.indexOf(n)!==-1;if(re.isRegExp(n))return n.test(a)}}function zh(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(a,t,n)=>t.toUpperCase()+n)}function Gh(e,a){const t=re.toCamelCase(" "+a);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+t,{__proto__:null,value:function(s,i,d){return this[n].call(this,a,s,i,d)},configurable:!0})})}let Ga=class{constructor(a){a&&this.set(a)}set(a,t,n){const s=this;function i(f,l,b){const u=qc(l);if(!u)return;const g=re.findKey(s,u);(!g||s[g]===void 0||b===!0||b===void 0&&s[g]!==!1)&&(s[g||l]=_7(f))}const d=(f,l)=>re.forEach(f,(b,u)=>i(b,u,l));if(re.isPlainObject(a)||a instanceof this.constructor)d(a,t);else if(re.isString(a)&&(a=a.trim())&&!$h(a))d(Dh(a),t);else if(re.isObject(a)&&re.isSafeIterable(a)){let f=Object.create(null),l,b;for(const u of a){if(!re.isArray(u))throw new TypeError("Object iterator must return a key-value pair");b=u[0],re.hasOwnProp(f,b)?(l=f[b],f[b]=re.isArray(l)?[...l,u[1]]:[l,u[1]]):f[b]=u[1]}d(f,t)}else a!=null&&i(t,a,n);return this}get(a,t){if(a=qc(a),a){const n=re.findKey(this,a);if(n){const s=this[n];if(!t)return s;if(t===!0)return Uh(s);if(re.isFunction(t))return t.call(this,s,n);if(re.isRegExp(t))return t.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(a,t){if(a=qc(a),a){const n=re.findKey(this,a);return!!(n&&this[n]!==void 0&&(!t||f4(this,this[n],n,t)))}return!1}delete(a,t){const n=this;let s=!1;function i(d){if(d=qc(d),d){const f=re.findKey(n,d);f&&(!t||f4(n,n[f],f,t))&&(delete n[f],s=!0)}}return re.isArray(a)?a.forEach(i):i(a),s}clear(a){const t=Object.keys(this);let n=t.length,s=!1;for(;n--;){const i=t[n];(!a||f4(this,this[i],i,a,!0))&&(delete this[i],s=!0)}return s}normalize(a){const t=this,n={};return re.forEach(this,(s,i)=>{const d=re.findKey(n,i);if(d){t[d]=_7(s),delete t[i];return}const f=a?zh(i):String(i).trim();f!==i&&delete t[i],t[f]=_7(s),n[f]=!0}),this}concat(...a){return this.constructor.concat(this,...a)}toJSON(a){const t=Object.create(null);return re.forEach(this,(n,s)=>{n!=null&&n!==!1&&(t[s]=a&&re.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([a,t])=>a+": "+t).join(`
4
- `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(a){return a instanceof this?a:new this(a)}static concat(a,...t){const n=new this(a);return t.forEach(s=>n.set(s)),n}static accessor(a){const n=(this[Ud]=this[Ud]={accessors:{}}).accessors,s=this.prototype;function i(d){const f=qc(d);n[f]||(Gh(s,d),n[f]=!0)}return re.isArray(a)?a.forEach(i):i(a),this}};Ga.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);re.reduceDescriptors(Ga.prototype,({value:e},a)=>{let t=a[0].toUpperCase()+a.slice(1);return{get:()=>e,set(n){this[t]=n}}});re.freezeMethods(Ga);const Wh="[REDACTED ****]";function qh(e){if(re.hasOwnProp(e,"toJSON"))return!0;let a=Object.getPrototypeOf(e);for(;a&&a!==Object.prototype;){if(re.hasOwnProp(a,"toJSON"))return!0;a=Object.getPrototypeOf(a)}return!1}function Hh(e,a){const t=new Set(a.map(i=>String(i).toLowerCase())),n=[],s=i=>{if(i===null||typeof i!="object"||re.isBuffer(i))return i;if(n.indexOf(i)!==-1)return;i instanceof Ga&&(i=i.toJSON()),n.push(i);let d;if(re.isArray(i))d=[],i.forEach((f,l)=>{const b=s(f);re.isUndefined(b)||(d[l]=b)});else{if(!re.isPlainObject(i)&&qh(i))return n.pop(),i;d=Object.create(null);for(const[f,l]of Object.entries(i)){const b=t.has(f.toLowerCase())?Wh:s(l);re.isUndefined(b)||(d[f]=b)}}return n.pop(),d};return s(e)}let De=class io extends Error{static from(a,t,n,s,i,d){const f=new io(a.message,t||a.code,n,s,i);return Object.defineProperty(f,"cause",{__proto__:null,value:a,writable:!0,enumerable:!1,configurable:!0}),f.name=a.name,a.status!=null&&f.status==null&&(f.status=a.status),d&&Object.assign(f,d),f}constructor(a,t,n,s,i){super(a),Object.defineProperty(this,"message",{__proto__:null,value:a,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),i&&(this.response=i,this.status=i.status)}toJSON(){const a=this.config,t=a&&re.hasOwnProp(a,"redact")?a.redact:void 0,n=re.isArray(t)&&t.length>0?Hh(a,t):re.toJSONObject(a);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:n,code:this.code,status:this.status}}};De.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";De.ERR_BAD_OPTION="ERR_BAD_OPTION";De.ECONNABORTED="ECONNABORTED";De.ETIMEDOUT="ETIMEDOUT";De.ECONNREFUSED="ECONNREFUSED";De.ERR_NETWORK="ERR_NETWORK";De.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";De.ERR_DEPRECATED="ERR_DEPRECATED";De.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";De.ERR_BAD_REQUEST="ERR_BAD_REQUEST";De.ERR_CANCELED="ERR_CANCELED";De.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";De.ERR_INVALID_URL="ERR_INVALID_URL";De.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Vh=null,fo=100;function Z4(e){return re.isPlainObject(e)||re.isArray(e)}function oo(e){return re.endsWith(e,"[]")?e.slice(0,-2):e}function o4(e,a,t){return e?e.concat(a).map(function(s,i){return s=oo(s),!t&&i?"["+s+"]":s}).join(t?".":""):a}function Kh(e){return re.isArray(e)&&!e.some(Z4)}const Zh=re.toFlatObject(re,{},null,function(a){return/^is[A-Z]/.test(a)});function ys(e,a,t){if(!re.isObject(e))throw new TypeError("target must be an object");a=a||new FormData,t=re.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(_,D){return!re.isUndefined(D[_])});const n=t.metaTokens,s=t.visitor||S,i=t.dots,d=t.indexes,f=t.Blob||typeof Blob<"u"&&Blob,l=t.maxDepth===void 0?fo:t.maxDepth,b=f&&re.isSpecCompliantForm(a),u=[];if(!re.isFunction(s))throw new TypeError("visitor must be a function");function g(C){if(C===null)return"";if(re.isDate(C))return C.toISOString();if(re.isBoolean(C))return C.toString();if(!b&&re.isBlob(C))throw new De("Blob is not supported. Use a Buffer instead.");if(re.isArrayBuffer(C)||re.isTypedArray(C)){if(b&&typeof f=="function")return new f([C]);if(typeof ht<"u")return ht.from(C);throw new De("Blob is not supported. Use a Buffer instead.",De.ERR_NOT_SUPPORT)}return C}function m(C){if(C>l)throw new De("Object is too deeply nested ("+C+" levels). Max depth: "+l,De.ERR_FORM_DATA_DEPTH_EXCEEDED)}function p(C,_){if(l===1/0)return JSON.stringify(C);const D=[];return JSON.stringify(C,function($,W){if(!re.isObject(W))return W;for(;D.length&&D[D.length-1]!==this;)D.pop();return D.push(W),m(_+D.length-1),W})}function S(C,_,D){let O=C;if(re.isReactNative(a)&&re.isReactNativeBlob(C))return a.append(o4(D,_,i),g(C)),!1;if(C&&!D&&typeof C=="object"){if(re.endsWith(_,"{}"))_=n?_:_.slice(0,-2),C=p(C,1);else if(re.isArray(C)&&Kh(C)||(re.isFileList(C)||re.endsWith(_,"[]"))&&(O=re.toArray(C)))return _=oo(_),O.forEach(function(W,J){!(re.isUndefined(W)||W===null)&&a.append(d===!0?o4([_],J,i):d===null?_:_+"[]",g(W))}),!1}return Z4(C)?!0:(a.append(o4(D,_,i),g(C)),!1)}const w=Object.assign(Zh,{defaultVisitor:S,convertValue:g,isVisitable:Z4});function E(C,_,D=0){if(!re.isUndefined(C)){if(m(D),u.indexOf(C)!==-1)throw new Error("Circular reference detected in "+_.join("."));u.push(C),re.forEach(C,function($,W){(!(re.isUndefined($)||$===null)&&s.call(a,$,re.isString(W)?W.trim():W,_,w))===!0&&E($,_?_.concat(W):[W],D+1)}),u.pop()}}if(!re.isObject(e))throw new TypeError("data must be an object");return E(e),a}function $d(e){const a={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(n){return a[n]})}function Pr(e,a){this._pairs=[],e&&ys(e,this,a)}const lo=Pr.prototype;lo.append=function(a,t){this._pairs.push([a,t])};lo.toString=function(a){const t=a?n=>a.call(this,n,$d):$d;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function Yh(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function bo(e,a,t){if(!a)return e;e=e||"";const n=re.isFunction(t)?{serialize:t}:t,s=re.getSafeProp(n,"encode")||Yh,i=re.getSafeProp(n,"serialize");let d;if(i?d=i(a,n):d=re.isURLSearchParams(a)?a.toString():new Pr(a,n).toString(s),d){const f=e.indexOf("#");f!==-1&&(e=e.slice(0,f)),e+=(e.indexOf("?")===-1?"?":"&")+d}return e}class zd{constructor(){this.handlers=[]}use(a,t,n){return this.handlers.push({fulfilled:a,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(a){this.handlers[a]&&(this.handlers[a]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(a){re.forEach(this.handlers,function(n){n!==null&&a(n)})}}const Tr={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Jh=typeof URLSearchParams<"u"?URLSearchParams:Pr,Xh=typeof FormData<"u"?FormData:null,Qh=typeof Blob<"u"?Blob:null,eg={isBrowser:!0,classes:{URLSearchParams:Jh,FormData:Xh,Blob:Qh},protocols:["http","https","file","blob","url","data"]},Dr=typeof window<"u"&&typeof document<"u",Y4=typeof navigator=="object"&&navigator||void 0,ag=Dr&&(!Y4||["ReactNative","NativeScript","NS"].indexOf(Y4.product)<0),tg=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ng=Dr&&window.location.href||"http://localhost",cg=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Dr,hasStandardBrowserEnv:ag,hasStandardBrowserWebWorkerEnv:tg,navigator:Y4,origin:ng},Symbol.toStringTag,{value:"Module"})),Oa={...cg,...eg};function sg(e,a){return ys(e,new Oa.classes.URLSearchParams,{visitor:function(t,n,s,i){return Oa.isNode&&re.isBuffer(t)?(this.append(n,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...a})}const Gd=fo;function uo(e){if(e>Gd)throw new De("FormData field is too deeply nested ("+e+" levels). Max depth: "+Gd,De.ERR_FORM_DATA_DEPTH_EXCEEDED)}function rg(e){const a=[],t=/\w+|\[(\w*)]/g;let n;for(;(n=t.exec(e))!==null;)uo(a.length),a.push(n[0]==="[]"?"":n[1]||n[0]);return a}function ig(e){const a={},t=Object.keys(e);let n;const s=t.length;let i;for(n=0;n<s;n++)i=t[n],a[i]=e[i];return a}function ho(e){function a(t,n,s,i){uo(i);let d=t[i++];if(d==="__proto__")return!0;const f=Number.isFinite(+d),l=i>=t.length;return d=!d&&re.isArray(s)?s.length:d,l?(re.hasOwnProp(s,d)?s[d]=re.isArray(s[d])?s[d].concat(n):[s[d],n]:s[d]=n,!f):((!re.hasOwnProp(s,d)||!re.isObject(s[d]))&&(s[d]=[]),a(t,n,s[d],i)&&re.isArray(s[d])&&(s[d]=ig(s[d])),!f)}if(re.isFormData(e)&&re.isFunction(e.entries)){const t={};return re.forEachEntry(e,(n,s)=>{a(rg(n),s,t,0)}),t}return null}const rc=(e,a)=>e!=null&&re.hasOwnProp(e,a)?e[a]:void 0;function dg(e,a,t){if(re.isString(e))try{return(a||JSON.parse)(e),re.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(t||JSON.stringify)(e)}const M1={transitional:Tr,adapter:["xhr","http","fetch"],transformRequest:[function(a,t){const n=t.getContentType()||"",s=n.indexOf("application/json")>-1,i=re.isObject(a);if(i&&re.isHTMLForm(a)&&(a=new FormData(a)),re.isFormData(a))return s?JSON.stringify(ho(a)):a;if(re.isArrayBuffer(a)||re.isBuffer(a)||re.isStream(a)||re.isFile(a)||re.isBlob(a)||re.isReadableStream(a))return a;if(re.isArrayBufferView(a))return a.buffer;if(re.isURLSearchParams(a))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),a.toString();let f;if(i){const l=rc(this,"formSerializer");if(n.indexOf("application/x-www-form-urlencoded")>-1)return sg(a,l).toString();if((f=re.isFileList(a))||n.indexOf("multipart/form-data")>-1){const b=rc(this,"env"),u=b&&b.FormData;return ys(f?{"files[]":a}:a,u&&new u,l)}}return i||s?(t.setContentType("application/json",!1),dg(a)):a}],transformResponse:[function(a){const t=rc(this,"transitional")||M1.transitional,n=t&&t.forcedJSONParsing,s=rc(this,"responseType"),i=s==="json";if(re.isResponse(a)||re.isReadableStream(a))return a;if(a&&re.isString(a)&&(n&&!s||i)){const f=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(a,rc(this,"parseReviver"))}catch(l){if(f)throw l.name==="SyntaxError"?De.from(l,De.ERR_BAD_RESPONSE,this,null,rc(this,"response")):l}}return a}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Oa.classes.FormData,Blob:Oa.classes.Blob},validateStatus:function(a){return a>=200&&a<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};re.forEach(["delete","get","head","post","put","patch","query"],e=>{M1.headers[e]={}});function l4(e,a){const t=this||M1,n=a||t,s=Ga.from(n.headers);let i=n.data;return re.forEach(e,function(f){i=f.call(t,i,s.normalize(),a?a.status:void 0)}),s.normalize(),i}function go(e){return!!(e&&e.__CANCEL__)}let N1=class extends De{constructor(a,t,n){super(a??"canceled",De.ERR_CANCELED,t,n),this.name="CanceledError",this.__CANCEL__=!0}};function mo(e,a,t){const n=t.config.validateStatus;!t.status||!n||n(t.status)?e(t):a(new De("Request failed with status code "+t.status,t.status>=400&&t.status<500?De.ERR_BAD_REQUEST:De.ERR_BAD_RESPONSE,t.config,t.request,t))}function fg(e){const a=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return a&&a[1]||""}function og(e,a){e=e||10;const t=new Array(e),n=new Array(e);let s=0,i=0,d;return a=a!==void 0?a:1e3,function(l){const b=Date.now(),u=n[i];d||(d=b),t[s]=l,n[s]=b;let g=i,m=0;for(;g!==s;)m+=t[g++],g=g%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),b-d<a)return;const p=u&&b-u;return p?Math.round(m*1e3/p):void 0}}function lg(e,a){let t=0,n=1e3/a,s,i;const d=(b,u=Date.now())=>{t=u,s=null,i&&(clearTimeout(i),i=null),e(...b)};return[(...b)=>{const u=Date.now(),g=u-t;g>=n?d(b,u):(s=b,i||(i=setTimeout(()=>{i=null,d(s)},n-g)))},()=>s&&d(s)]}const V7=(e,a,t=3)=>{let n=0;const s=og(50,250);return lg(i=>{if(!i||typeof i.loaded!="number")return;const d=i.loaded,f=i.lengthComputable?i.total:void 0,l=f!=null?Math.min(d,f):d,b=Math.max(0,l-n),u=s(b);n=Math.max(n,l);const g={loaded:l,total:f,progress:f?l/f:void 0,bytes:b,rate:u||void 0,estimated:u&&f?(f-l)/u:void 0,event:i,lengthComputable:f!=null,[a?"download":"upload"]:!0};e(g)},t)},Wd=(e,a)=>{const t=e!=null;return[n=>a[0]({lengthComputable:t,total:e,loaded:n}),a[1]]},qd=e=>(...a)=>re.asap(()=>e(...a)),bg=Oa.hasStandardBrowserEnv?((e,a)=>t=>(t=new URL(t,Oa.origin),e.protocol===t.protocol&&e.host===t.host&&(a||e.port===t.port)))(new URL(Oa.origin),Oa.navigator&&/(msie|trident)/i.test(Oa.navigator.userAgent)):()=>!0,ug=Oa.hasStandardBrowserEnv?{write(e,a,t,n,s,i,d){if(typeof document>"u")return;const f=[`${e}=${encodeURIComponent(a)}`];re.isNumber(t)&&f.push(`expires=${new Date(t).toUTCString()}`),re.isString(n)&&f.push(`path=${n}`),re.isString(s)&&f.push(`domain=${s}`),i===!0&&f.push("secure"),re.isString(d)&&f.push(`SameSite=${d}`),document.cookie=f.join("; ")},read(e){if(typeof document>"u")return null;const a=document.cookie.split(";");for(let t=0;t<a.length;t++){const n=a[t].replace(/^\s+/,""),s=n.indexOf("=");if(s!==-1&&n.slice(0,s)===e)try{return decodeURIComponent(n.slice(s+1))}catch{return n.slice(s+1)}}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function hg(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function gg(e,a){return a?e.replace(/\/?\/$/,"")+"/"+a.replace(/^\/+/,""):e}const mg=/^https?:(?!\/\/)/i,pg=/[\t\n\r]/g;function yg(e){let a=0;for(;a<e.length&&e.charCodeAt(a)<=32;)a++;return e.slice(a)}function xg(e){return yg(e).replace(pg,"")}function Hd(e,a){if(typeof e=="string"&&mg.test(xg(e)))throw new De('Invalid URL: missing "//" after protocol',De.ERR_INVALID_URL,a)}function po(e,a,t,n){Hd(a,n);let s=!hg(a);return e&&(s||t===!1)?(Hd(e,n),gg(e,a)):a}const Vd=e=>e instanceof Ga?{...e}:e;function Gn(e,a){e=e||{},a=a||{};const t=Object.create(null);Object.defineProperty(t,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function n(u,g,m,p){return re.isPlainObject(u)&&re.isPlainObject(g)?re.merge.call({caseless:p},u,g):re.isPlainObject(g)?re.merge({},g):re.isArray(g)?g.slice():g}function s(u,g,m,p){if(re.isUndefined(g)){if(!re.isUndefined(u))return n(void 0,u,m,p)}else return n(u,g,m,p)}function i(u,g){if(!re.isUndefined(g))return n(void 0,g)}function d(u,g){if(re.isUndefined(g)){if(!re.isUndefined(u))return n(void 0,u)}else return n(void 0,g)}function f(u){const g=re.hasOwnProp(a,"transitional")?a.transitional:void 0;if(!re.isUndefined(g))if(re.isPlainObject(g)){if(re.hasOwnProp(g,u))return g[u]}else return;const m=re.hasOwnProp(e,"transitional")?e.transitional:void 0;if(re.isPlainObject(m)&&re.hasOwnProp(m,u))return m[u]}function l(u,g,m){if(re.hasOwnProp(a,m))return n(u,g);if(re.hasOwnProp(e,m))return n(void 0,u)}const b={url:i,method:i,data:i,baseURL:d,transformRequest:d,transformResponse:d,paramsSerializer:d,timeout:d,timeoutMessage:d,withCredentials:d,withXSRFToken:d,adapter:d,responseType:d,xsrfCookieName:d,xsrfHeaderName:d,onUploadProgress:d,onDownloadProgress:d,decompress:d,maxContentLength:d,maxBodyLength:d,beforeRedirect:d,transport:d,httpAgent:d,httpsAgent:d,cancelToken:d,socketPath:d,allowedSocketPaths:d,responseEncoding:d,validateStatus:l,headers:(u,g,m)=>s(Vd(u),Vd(g),m,!0)};return re.forEach(Object.keys({...e,...a}),function(g){if(g==="__proto__"||g==="constructor"||g==="prototype")return;const m=re.hasOwnProp(b,g)?b[g]:s,p=re.hasOwnProp(e,g)?e[g]:void 0,S=re.hasOwnProp(a,g)?a[g]:void 0,w=m(p,S,g);re.isUndefined(w)&&m!==l||(t[g]=w)}),re.hasOwnProp(a,"validateStatus")&&re.isUndefined(a.validateStatus)&&f("validateStatusUndefinedResolves")===!1&&(re.hasOwnProp(e,"validateStatus")?t.validateStatus=n(void 0,e.validateStatus):delete t.validateStatus),t}const wg=["content-type","content-length"];function vg(e,a,t){if(t!=="content-only"){e.set(a);return}Object.entries(a||{}).forEach(([n,s])=>{wg.includes(n.toLowerCase())&&e.set(n,s)})}const Sg=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(a,t)=>String.fromCharCode(parseInt(t,16)));function yo(e){const a=Gn({},e),t=m=>re.hasOwnProp(a,m)?a[m]:void 0,n=t("data");let s=t("withXSRFToken");const i=t("xsrfHeaderName"),d=t("xsrfCookieName");let f=t("headers");const l=t("auth"),b=t("baseURL"),u=t("allowAbsoluteUrls"),g=t("url");if(a.headers=f=Ga.from(f),a.url=bo(po(b,g,u,a),t("params"),t("paramsSerializer")),l){const m=re.getSafeProp(l,"username")||"",p=re.getSafeProp(l,"password")||"";try{f.set("Authorization","Basic "+btoa(m+":"+(p?Sg(p):"")))}catch(S){throw De.from(S,De.ERR_BAD_OPTION_VALUE,e)}}if(re.isFormData(n)&&(Oa.hasStandardBrowserEnv||Oa.hasStandardBrowserWebWorkerEnv||re.isReactNative(n)?f.setContentType(void 0):re.isFunction(n.getHeaders)&&vg(f,n.getHeaders(),t("formDataHeaderPolicy"))),Oa.hasStandardBrowserEnv&&(re.isFunction(s)&&(s=s(a)),s===!0||s==null&&bg(a.url))){const p=i&&d&&ug.read(d);p&&f.set(i,p)}return a}const _g=typeof XMLHttpRequest<"u",Eg=_g&&function(e){return new Promise(function(t,n){const s=yo(e);let i=s.data;const d=Ga.from(s.headers).normalize();let{responseType:f,onUploadProgress:l,onDownloadProgress:b}=s,u,g,m,p,S;function w(){p&&p(),S&&S(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let E=new XMLHttpRequest;E.open(s.method.toUpperCase(),s.url,!0),E.timeout=s.timeout;function C(){if(!E)return;const D=Ga.from("getAllResponseHeaders"in E&&E.getAllResponseHeaders()),$={data:!f||f==="text"||f==="json"?E.responseText:E.response,status:E.status,statusText:E.statusText,headers:D,config:e,request:E};mo(function(J){t(J),w()},function(J){n(J),w()},$),E=null}"onloadend"in E?E.onloadend=C:E.onreadystatechange=function(){!E||E.readyState!==4||E.status===0&&!(E.responseURL&&E.responseURL.startsWith("file:"))||setTimeout(C)},E.onabort=function(){E&&(n(new De("Request aborted",De.ECONNABORTED,e,E)),w(),E=null)},E.onerror=function(O){const $=O&&O.message?O.message:"Network Error",W=new De($,De.ERR_NETWORK,e,E);W.event=O||null,n(W),w(),E=null},E.ontimeout=function(){let O=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const $=s.transitional||Tr;s.timeoutErrorMessage&&(O=s.timeoutErrorMessage),n(new De(O,$.clarifyTimeoutError?De.ETIMEDOUT:De.ECONNABORTED,e,E)),w(),E=null},i===void 0&&d.setContentType(null),"setRequestHeader"in E&&re.forEach(ro(d),function(O,$){E.setRequestHeader($,O)}),re.isUndefined(s.withCredentials)||(E.withCredentials=!!s.withCredentials),f&&f!=="json"&&(E.responseType=s.responseType),b&&([m,S]=V7(b,!0),E.addEventListener("progress",m)),l&&E.upload&&([g,p]=V7(l),E.upload.addEventListener("progress",g),E.upload.addEventListener("loadend",p)),(s.cancelToken||s.signal)&&(u=D=>{E&&(n(!D||D.type?new N1(null,e,E):D),E.abort(),w(),E=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const _=fg(s.url);if(_&&!Oa.protocols.includes(_)){n(new De("Unsupported protocol "+_+":",De.ERR_BAD_REQUEST,e)),w();return}E.send(i||null)})},Cg=(e,a)=>{if(e=e?e.filter(Boolean):[],!a&&!e.length)return;const t=new AbortController;let n=!1;const s=function(l){if(!n){n=!0,d();const b=l instanceof Error?l:this.reason;t.abort(b instanceof De?b:new N1(b instanceof Error?b.message:b))}};let i=a&&setTimeout(()=>{i=null,s(new De(`timeout of ${a}ms exceeded`,De.ETIMEDOUT))},a);const d=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),e=null)};e.forEach(l=>l.addEventListener("abort",s,{once:!0}));const{signal:f}=t;return f.unsubscribe=()=>re.asap(d),f},jg=function*(e,a){let t=e.byteLength;if(t<a){yield e;return}let n=0,s;for(;n<t;)s=n+a,yield e.slice(n,s),n=s},Ag=async function*(e,a){for await(const t of Ig(e))yield*jg(t,a)},Ig=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const a=e.getReader();try{for(;;){const{done:t,value:n}=await a.read();if(t)break;yield n}}finally{await a.cancel()}},Kd=(e,a,t,n)=>{const s=Ag(e,a);let i=0,d,f=l=>{d||(d=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:b,value:u}=await s.next();if(b){f(),l.close();return}let g=u.byteLength;if(t){let m=i+=g;t(m)}l.enqueue(new Uint8Array(u))}catch(b){throw f(b),b}},cancel(l){return f(l),s.return()}},{highWaterMark:2})},K7=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,Mg=(e,a,t)=>a+2<t&&K7(e.charCodeAt(a+1))&&K7(e.charCodeAt(a+2));function Ng(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const a=e.indexOf(",");if(a<0)return 0;const t=e.slice(5,a),n=e.slice(a+1);if(/;base64/i.test(t)){let d=n.length;const f=n.length;for(let p=0;p<f;p++)if(n.charCodeAt(p)===37&&p+2<f){const S=n.charCodeAt(p+1),w=n.charCodeAt(p+2);K7(S)&&K7(w)&&(d-=2,p+=2)}let l=0,b=f-1;const u=p=>p>=2&&n.charCodeAt(p-2)===37&&n.charCodeAt(p-1)===51&&(n.charCodeAt(p)===68||n.charCodeAt(p)===100);b>=0&&(n.charCodeAt(b)===61?(l++,b--):u(b)&&(l++,b-=3)),l===1&&b>=0&&(n.charCodeAt(b)===61||u(b))&&l++;const m=Math.floor(d/4)*3-(l||0);return m>0?m:0}let i=0;for(let d=0,f=n.length;d<f;d++){const l=n.charCodeAt(d);if(l===37&&Mg(n,d,f))i+=1,d+=2;else if(l<128)i+=1;else if(l<2048)i+=2;else if(l>=55296&&l<=56319&&d+1<f){const b=n.charCodeAt(d+1);b>=56320&&b<=57343?(i+=4,d++):i+=3}else i+=3}return i}const Rr="1.18.1",Zd=64*1024,{isFunction:d7}=re,kg=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(a,t)=>String.fromCharCode(parseInt(t,16))),Yd=e=>{if(!re.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Jd=(e,...a)=>{try{return!!e(...a)}catch{return!1}},Pg=e=>{const a=e.indexOf("://");let t=e;return a!==-1&&(t=t.slice(a+3)),t.includes("@")||t.includes(":")},Tg=e=>{const a=re.global!==void 0&&re.global!==null?re.global:globalThis,{ReadableStream:t,TextEncoder:n}=a;e=re.merge.call({skipUndefined:!0},{Request:a.Request,Response:a.Response},e);const{fetch:s,Request:i,Response:d}=e,f=s?d7(s):typeof fetch=="function",l=d7(i),b=d7(d);if(!f)return!1;const u=f&&d7(t),g=f&&(typeof n=="function"?(C=>_=>C.encode(_))(new n):async C=>new Uint8Array(await new i(C).arrayBuffer())),m=l&&u&&Jd(()=>{let C=!1;const _=new i(Oa.origin,{body:new t,method:"POST",get duplex(){return C=!0,"half"}}),D=_.headers.has("Content-Type");return _.body!=null&&_.body.cancel(),C&&!D}),p=b&&u&&Jd(()=>re.isReadableStream(new d("").body)),S={stream:p&&(C=>C.body)};f&&["text","arrayBuffer","blob","formData","stream"].forEach(C=>{!S[C]&&(S[C]=(_,D)=>{let O=_&&_[C];if(O)return O.call(_);throw new De(`Response type '${C}' is not supported`,De.ERR_NOT_SUPPORT,D)})});const w=async C=>{if(C==null)return 0;if(re.isBlob(C))return C.size;if(re.isSpecCompliantForm(C))return(await new i(Oa.origin,{method:"POST",body:C}).arrayBuffer()).byteLength;if(re.isArrayBufferView(C)||re.isArrayBuffer(C))return C.byteLength;if(re.isURLSearchParams(C)&&(C=C+""),re.isString(C))return(await g(C)).byteLength},E=async(C,_)=>{const D=re.toFiniteNumber(C.getContentLength());return D??w(_)};return async C=>{let{url:_,method:D,data:O,signal:$,cancelToken:W,timeout:J,onDownloadProgress:k,onUploadProgress:P,responseType:R,headers:F,withCredentials:A="same-origin",fetchOptions:T,maxContentLength:v,maxBodyLength:L}=yo(C);const B=re.isNumber(v)&&v>-1,U=re.isNumber(L)&&L>-1,H=ge=>re.hasOwnProp(C,ge)?C[ge]:void 0;let Z=s||fetch;R=R?(R+"").toLowerCase():"text";let ee=Cg([$,W&&W.toAbortSignal()],J),Y=null;const X=ee&&ee.unsubscribe&&(()=>{ee.unsubscribe()});let pe,ie=null;const te=()=>new De("Request body larger than maxBodyLength limit",De.ERR_BAD_REQUEST,C,Y);try{let ge;const ce=H("auth");if(ce){const Q=re.getSafeProp(ce,"username")||"",q=re.getSafeProp(ce,"password")||"";ge={username:Q,password:q}}if(Pg(_)){const Q=new URL(_,Oa.origin);if(!ge&&(Q.username||Q.password)){const q=Yd(Q.username),K=Yd(Q.password);ge={username:q,password:K}}(Q.username||Q.password)&&(Q.username="",Q.password="",_=Q.href)}if(ge&&(F.delete("authorization"),F.set("Authorization","Basic "+btoa(kg((ge.username||"")+":"+(ge.password||""))))),B&&typeof _=="string"&&_.startsWith("data:")&&Ng(_)>v)throw new De("maxContentLength size of "+v+" exceeded",De.ERR_BAD_RESPONSE,C,Y);if(U&&D!=="get"&&D!=="head"){const Q=await w(O);if(typeof Q=="number"&&isFinite(Q)&&(pe=Q,Q>L))throw te()}const he=U&&(re.isReadableStream(O)||re.isStream(O)),ve=(Q,q,K)=>Kd(Q,Zd,ne=>{if(U&&ne>L)throw ie=te();q&&q(ne)},K);if(m&&D!=="get"&&D!=="head"&&(P||he)){if(pe=pe??await E(F,O),pe!==0||he){let Q=new i(_,{method:"POST",body:O,duplex:"half"}),q;if(re.isFormData(O)&&(q=Q.headers.get("content-type"))&&F.setContentType(q),Q.body){const[K,ne]=P&&Wd(pe,V7(qd(P)))||[];O=ve(Q.body,K,ne)}}}else if(he&&!l&&u&&D!=="get"&&D!=="head")O=ve(O);else if(he&&l&&!m&&D!=="get"&&D!=="head")throw new De("Stream request bodies are not supported by the current fetch implementation",De.ERR_NOT_SUPPORT,C,Y);re.isString(A)||(A=A?"include":"omit");const xe=l&&"credentials"in i.prototype;if(re.isFormData(O)){const Q=F.getContentType();Q&&/^multipart\/form-data/i.test(Q)&&!/boundary=/i.test(Q)&&F.delete("content-type")}F.set("User-Agent","axios/"+Rr,!1);const ue={...T,signal:ee,method:D.toUpperCase(),headers:ro(F.normalize()),body:O,duplex:"half",credentials:xe?A:void 0};Y=l&&new i(_,ue);let Ee=await(l?Z(Y,T):Z(_,ue));const Ne=Ga.from(Ee.headers);if(B){const Q=re.toFiniteNumber(Ne.getContentLength());if(Q!=null&&Q>v)throw new De("maxContentLength size of "+v+" exceeded",De.ERR_BAD_RESPONSE,C,Y)}const N=p&&(R==="stream"||R==="response");if(p&&Ee.body&&(k||B||N&&X)){const Q={};["status","statusText","headers"].forEach(fe=>{Q[fe]=Ee[fe]});const q=re.toFiniteNumber(Ne.getContentLength()),[K,ne]=k&&Wd(q,V7(qd(k),!0))||[];let me=0;const we=fe=>{if(B&&(me=fe,me>v))throw new De("maxContentLength size of "+v+" exceeded",De.ERR_BAD_RESPONSE,C,Y);K&&K(fe)};Ee=new d(Kd(Ee.body,Zd,we,()=>{ne&&ne(),X&&X()}),Q)}R=R||"text";let se=await S[re.findKey(S,R)||"text"](Ee,C);if(B&&!p&&!N){let Q;if(se!=null&&(typeof se.byteLength=="number"?Q=se.byteLength:typeof se.size=="number"?Q=se.size:typeof se=="string"&&(Q=typeof n=="function"?new n().encode(se).byteLength:se.length)),typeof Q=="number"&&Q>v)throw new De("maxContentLength size of "+v+" exceeded",De.ERR_BAD_RESPONSE,C,Y)}return!N&&X&&X(),await new Promise((Q,q)=>{mo(Q,q,{data:se,headers:Ga.from(Ee.headers),status:Ee.status,statusText:Ee.statusText,config:C,request:Y})})}catch(ge){if(X&&X(),ee&&ee.aborted&&ee.reason instanceof De){const ce=ee.reason;throw ce.config=C,Y&&(ce.request=Y),ge!==ce&&Object.defineProperty(ce,"cause",{__proto__:null,value:ge,writable:!0,enumerable:!1,configurable:!0}),ce}if(ie)throw Y&&!ie.request&&(ie.request=Y),ie;if(ge instanceof De)throw Y&&!ge.request&&(ge.request=Y),ge;if(ge&&ge.name==="TypeError"&&/Load failed|fetch/i.test(ge.message)){const ce=new De("Network Error",De.ERR_NETWORK,C,Y,ge&&ge.response);throw Object.defineProperty(ce,"cause",{__proto__:null,value:ge.cause||ge,writable:!0,enumerable:!1,configurable:!0}),ce}throw De.from(ge,ge&&ge.code,C,Y,ge&&ge.response)}}},Dg=new Map,xo=e=>{let a=e&&e.env||{};const{fetch:t,Request:n,Response:s}=a,i=[n,s,t];let d=i.length,f=d,l,b,u=Dg;for(;f--;)l=i[f],b=u.get(l),b===void 0&&u.set(l,b=f?new Map:Tg(a)),u=b;return b};xo();const Or={http:Vh,xhr:Eg,fetch:{get:xo}};re.forEach(Or,(e,a)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:a})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:a})}});const Xd=e=>`- ${e}`,Rg=e=>re.isFunction(e)||e===null||e===!1;function Og(e,a){e=re.isArray(e)?e:[e];const{length:t}=e;let n,s;const i={};for(let d=0;d<t;d++){n=e[d];let f;if(s=n,!Rg(n)&&(s=Or[(f=String(n)).toLowerCase()],s===void 0))throw new De(`Unknown adapter '${f}'`);if(s&&(re.isFunction(s)||(s=s.get(a))))break;i[f||"#"+d]=s}if(!s){const d=Object.entries(i).map(([l,b])=>`adapter ${l} `+(b===!1?"is not supported by the environment":"is not available in the build"));let f=t?d.length>1?`since :
5
- `+d.map(Xd).join(`
6
- `):" "+Xd(d[0]):"as no adapter specified";throw new De("There is no suitable adapter to dispatch the request "+f,De.ERR_NOT_SUPPORT)}return s}const wo={getAdapter:Og,adapters:Or};function b4(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new N1(null,e)}function Qd(e){return b4(e),e.headers=Ga.from(e.headers),e.data=l4.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),wo.getAdapter(e.adapter||M1.adapter,e)(e).then(function(n){b4(e),e.response=n;try{n.data=l4.call(e,e.transformResponse,n)}finally{delete e.response}return n.headers=Ga.from(n.headers),n},function(n){if(!go(n)&&(b4(e),n&&n.response)){e.response=n.response;try{n.response.data=l4.call(e,e.transformResponse,n.response)}finally{delete e.response}n.response.headers=Ga.from(n.response.headers)}return Promise.reject(n)})}const xs={};["object","boolean","number","function","string","symbol"].forEach((e,a)=>{xs[e]=function(n){return typeof n===e||"a"+(a<1?"n ":" ")+e}});const e2={};xs.transitional=function(a,t,n){function s(i,d){return"[Axios v"+Rr+"] Transitional option '"+i+"'"+d+(n?". "+n:"")}return(i,d,f)=>{if(a===!1)throw new De(s(d," has been removed"+(t?" in "+t:"")),De.ERR_DEPRECATED);return t&&!e2[d]&&(e2[d]=!0,console.warn(s(d," has been deprecated since v"+t+" and will be removed in the near future"))),a?a(i,d,f):!0}};xs.spelling=function(a){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${a}`),!0)};function Fg(e,a,t){if(typeof e!="object"||e===null)throw new De("options must be an object",De.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let s=n.length;for(;s-- >0;){const i=n[s],d=Object.prototype.hasOwnProperty.call(a,i)?a[i]:void 0;if(d){const f=e[i],l=f===void 0||d(f,i,e);if(l!==!0)throw new De("option "+i+" must be "+l,De.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new De("Unknown option "+i,De.ERR_BAD_OPTION)}}const E7={assertOptions:Fg,validators:xs},Ba=E7.validators;let Un=class{constructor(a){this.defaults=a||{},this.interceptors={request:new zd,response:new zd}}async request(a,t){try{return await this._request(a,t)}catch(n){if(n instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=(()=>{if(!s.stack)return"";const d=s.stack.indexOf(`
7
- `);return d===-1?"":s.stack.slice(d+1)})();try{if(!n.stack)n.stack=i;else if(i){const d=i.indexOf(`
8
- `),f=d===-1?-1:i.indexOf(`
9
- `,d+1),l=f===-1?"":i.slice(f+1);String(n.stack).endsWith(l)||(n.stack+=`
10
- `+i)}}catch{}}throw n}}_request(a,t){typeof a=="string"?(t=t||{},t.url=a):t=a||{},t=Gn(this.defaults,t);const{transitional:n,paramsSerializer:s,headers:i}=t;n!==void 0&&E7.assertOptions(n,{silentJSONParsing:Ba.transitional(Ba.boolean),forcedJSONParsing:Ba.transitional(Ba.boolean),clarifyTimeoutError:Ba.transitional(Ba.boolean),legacyInterceptorReqResOrdering:Ba.transitional(Ba.boolean),advertiseZstdAcceptEncoding:Ba.transitional(Ba.boolean),validateStatusUndefinedResolves:Ba.transitional(Ba.boolean)},!1),s!=null&&(re.isFunction(s)?t.paramsSerializer={serialize:s}:E7.assertOptions(s,{encode:Ba.function,serialize:Ba.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),E7.assertOptions(t,{baseUrl:Ba.spelling("baseURL"),withXsrfToken:Ba.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let d=i&&re.merge(i.common,i[t.method]);i&&re.forEach(["delete","get","head","post","put","patch","query","common"],S=>{delete i[S]}),t.headers=Ga.concat(d,i);const f=[];let l=!0;this.interceptors.request.forEach(function(w){if(typeof w.runWhen=="function"&&w.runWhen(t)===!1)return;l=l&&w.synchronous;const E=t.transitional||Tr;E&&E.legacyInterceptorReqResOrdering?f.unshift(w.fulfilled,w.rejected):f.push(w.fulfilled,w.rejected)});const b=[];this.interceptors.response.forEach(function(w){b.push(w.fulfilled,w.rejected)});let u,g=0,m;if(!l){const S=[Qd.bind(this),void 0];for(S.unshift(...f),S.push(...b),m=S.length,u=Promise.resolve(t);g<m;)u=u.then(S[g++],S[g++]);return u}m=f.length;let p=t;for(;g<m;){const S=f[g++],w=f[g++];try{p=S(p)}catch(E){w.call(this,E);break}}try{u=Qd.call(this,p)}catch(S){return Promise.reject(S)}for(g=0,m=b.length;g<m;)u=u.then(b[g++],b[g++]);return u}getUri(a){a=Gn(this.defaults,a);const t=po(a.baseURL,a.url,a.allowAbsoluteUrls,a);return bo(t,a.params,a.paramsSerializer)}};re.forEach(["delete","get","head","options"],function(a){Un.prototype[a]=function(t,n){return this.request(Gn(n||{},{method:a,url:t,data:n&&re.hasOwnProp(n,"data")?n.data:void 0}))}});re.forEach(["post","put","patch","query"],function(a){function t(n){return function(i,d,f){return this.request(Gn(f||{},{method:a,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:d}))}}Un.prototype[a]=t(),a!=="query"&&(Un.prototype[a+"Form"]=t(!0))});let Bg=class vo{constructor(a){if(typeof a!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i});const n=this;this.promise.then(s=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](s);n._listeners=null}),this.promise.then=s=>{let i;const d=new Promise(f=>{n.subscribe(f),i=f}).then(s);return d.cancel=function(){n.unsubscribe(i)},d},a(function(i,d,f){n.reason||(n.reason=new N1(i,d,f),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(a){if(this.reason){a(this.reason);return}this._listeners?this._listeners.push(a):this._listeners=[a]}unsubscribe(a){if(!this._listeners)return;const t=this._listeners.indexOf(a);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const a=new AbortController,t=n=>{a.abort(n)};return this.subscribe(t),a.signal.unsubscribe=()=>this.unsubscribe(t),a.signal}static source(){let a;return{token:new vo(function(s){a=s}),cancel:a}}};function Lg(e){return function(t){return e.apply(null,t)}}function Ug(e){return re.isObject(e)&&e.isAxiosError===!0}const J4={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(J4).forEach(([e,a])=>{J4[a]=e});function So(e){const a=new Un(e),t=Zf(Un.prototype.request,a);return re.extend(t,Un.prototype,a,{allOwnKeys:!0}),re.extend(t,a,null,{allOwnKeys:!0}),t.create=function(s){return So(Gn(e,s))},t}const ua=So(M1);ua.Axios=Un;ua.CanceledError=N1;ua.CancelToken=Bg;ua.isCancel=go;ua.VERSION=Rr;ua.toFormData=ys;ua.AxiosError=De;ua.Cancel=ua.CanceledError;ua.all=function(a){return Promise.all(a)};ua.spread=Lg;ua.isAxiosError=Ug;ua.mergeConfig=Gn;ua.AxiosHeaders=Ga;ua.formToJSON=e=>ho(re.isHTMLForm(e)?new FormData(e):e);ua.getAdapter=wo.getAdapter;ua.HttpStatusCode=J4;ua.default=ua;const{Axios:Dae,AxiosError:Rae,CanceledError:Oae,isCancel:Fae,CancelToken:Bae,VERSION:Lae,all:Uae,Cancel:$ae,isAxiosError:zae,spread:Gae,toFormData:Wae,AxiosHeaders:qae,HttpStatusCode:Hae,formToJSON:Vae,getAdapter:Kae,mergeConfig:Zae,create:Yae}=ua;class $g extends Error{constructor(){super("Bad API key"),this.name="AuthError"}}function zg(e){return e instanceof Error&&e.name==="AuthError"}class Z7 extends Error{snackbarMessage;originalError;constructor(a,t){super(t?.message||a),this.name="SwapError",this.originalError=t,this.snackbarMessage=a}}function Gg(e){return e instanceof Error&&e.name==="SwapError"}function f7(e,a){return e.catch(t=>{throw zg(t)?new Z7("Bad API key, reopen dashboard through Swarm Desktop",t):new Z7(a,t)})}function X4(e,a=8){return`${e.slice(0,a)}[…]${e.slice(-a)}`}const Qe={providerUrl:"json-rpc-provider",apiHost:"api_host",apiKey:"apiKey",fmClickStorage:"fm_click_count_v1",fmSurveyTriggered:"fm_survey_triggered_v1",fmSortKey:"fm.sort.v1",fmPrivateKey:"privateKey",feeds:"feeds",depositWallet:"deposit-wallet",giftWallets:"gift-wallets",invitation:"invitation",uploadHistory:"UPLOAD_HISTORY",downloadHistory:"DOWNLOAD_HISTORY"};function Y7(e,a,t){const n=_o(e),s=n.findIndex(i=>i.hash===a);s!==-1&&n.splice(s,1),n.unshift({createdAt:Date.now(),hash:a,name:t}),n.length>10&&(n.length=10),localStorage.setItem(e,JSON.stringify(n))}function _o(e){const a=localStorage.getItem(e);if(!a)return[];try{const t=JSON.parse(a);return!Array.isArray(t)||!t.every(Wg)?[]:t}catch{return[]}}function Wg(e){return typeof e!="object"||e===null?!1:"createdAt"in e&&"hash"in e}function Eo(e,a){return a==="index.html"?`Website ${X4(e,4)}`:a||`Folder ${X4(e,4)}`}function qg(e){return Co(e,"GET")}function ws(e,a){return Co(e,"POST",a)}async function Co(e,a,t){const n=localStorage.getItem(Qe.apiKey);if(!n)throw Error("API key not found in local storage. Please reopen via Swarm Desktop > Open Web UI.");return(await ua(e,{method:a,headers:{authorization:n},data:t}).catch(d=>{throw d?.response?.status===401?new $g:d?.response?.data?Error(`Request ${a} ${e} failed: ${JSON.stringify(d.response.data)}`):d})).data}function jo(e){return e["blockchain-rpc-endpoint"]??e["swap-endpoint"]}async function Hg(e){const a=await ua.get(`${e}/price`);return Na.fromDecimalString(a.data)}function Fr(e,a){return Lr(e,{"swap-enable":!0,"blockchain-rpc-endpoint":a})}async function Vg(e,a){await Lr(e,{"blockchain-rpc-endpoint":a})}async function Kg(e,a){await Lr(e,{"resolver-options":a})}const Zg=/^(?:[a-z0-9-]+:)?(?:0x[0-9a-fA-F]{40}@)?(https?:\/\/.+)$/i;function Yg(e){const a=Zg.exec(e.trim())?.[1];try{return a&&new URL(a).hostname?a:null}catch{return null}}function Br(e){return qg(`${e}/config`)}function Lr(e,a){return ws(`${e}/config`,a)}async function g1(e){await ws(`${e}/restart`)}async function Jg(e,a){await ws(`${e}/gift-wallet/${a}`)}async function Xg(e,a){await ws(`${e}/swap`,{dai:a.toWeiString()})}async function Qg(){return(await(await fetch(Pu)).json()).tag_name.replace("v","")}const em=1e4,Ur=(e=!1,a)=>{const[t,n]=x.useState(!1),[s,i]=x.useState(!0),[d,f]=x.useState(""),[l,b]=x.useState(!0),[u,g]=x.useState(null);return x.useEffect(()=>{if(!e){b(!1),g(null);return}function m(){ua.get(`${a}/info`).then(()=>{n(!0)}).catch(()=>{n(!1)})}m();const p=setInterval(m,em);return ua.get(`${a}/info`).then(S=>{f(S.data?.version),i(S.data?.autoUpdateEnabled),g(null)}).catch(S=>{g(S)}).finally(()=>{b(!1)}),()=>clearInterval(p)},[a,e]),{error:u,isLoading:l,beeDesktopVersion:d,desktopAutoUpdateEnabled:s,reachable:t}};async function am(e){const t=(await(await fetch(`${e}/info`)).json()).version,n=await Qg();return t!==n?n:""}function Ao(e,a,t){const[n,s]=x.useState("");return x.useEffect(()=>{!e||t||am(a).then(i=>{i!==""&&s(i)})},[e,a,t]),{newBeeDesktopVersion:n}}const tm=e=>{const[a,t]=x.useState(null),[n,s]=x.useState(!0),[i,d]=x.useState(null);return x.useEffect(()=>{Br(e).then(f=>{t(f),d(null)}).catch(f=>{d(f),t(null)}).finally(()=>{s(!1)})},[e]),{config:a,isLoading:n,error:i}},nm=()=>{const[e,a]=x.useState(null),[t,n]=x.useState(!1),[s,i]=x.useState(null);return x.useEffect(()=>{ua.get(`${Mu}/releases/latest`).then(d=>{a(d.data)}).catch(d=>{i(d)}).finally(()=>{n(!1)})},[]),{latestBeeRelease:e,isLoadingLatestBeeRelease:t,error:s}},Io=100,cm={chainId:Io,name:"gnosis",ensAddress:void 0},sm=[{name:"Ethereum Mainnet",chainId:1},{name:"Ropsten Testnet",chainId:3},{name:"Rinkeby Testnet",chainId:4},{name:"Görli Testnet",chainId:5},{name:"Kovan Testnet",chainId:42},{name:"Gnosis Chain",chainId:Io}];function rm(e){return sm.find(a=>a.chainId===e)?.name||"Unknown"}function Mo(e){return typeof e=="string"?Dd(e):Dd(e.toHex())}class No extends wu{async _send(a){const t=await super._send(a),n=Array.isArray(a)?a:[a];return t.map((s,i)=>({...s,id:n[i]?.id??s.id}))}}function Yc(e){return new No(e,cm,{staticNetwork:!0,batchMaxCount:1})}function J7(e){return new No(e,void 0,{batchMaxCount:1})}const Jc={beeApi:null,apiUrl:Tu,setApiUrl:()=>{},lockedApiSettings:!1,isDesktop:!1,desktopApiKey:"",desktopUrl:window.location.origin,setAndPersistJsonRpcProvider:async()=>{},rpcProviderUrl:"",rpcProvider:null,cors:null,dataDir:null,configFile:null,ensResolver:null,setEnsResolver:()=>{},isLoading:!0,error:null},Le=x.createContext(Jc);Le.Consumer;function im({children:e,...a}){const t=a.desktopUrl??Jc.desktopUrl,n=!!a.isDesktop,s=localStorage.getItem(Qe.providerUrl)||a.defaultRpcUrl||i7,[i,d]=x.useState(localStorage.getItem(Qe.apiHost)??a.beeApiUrl??Jc.apiUrl),[f,l]=x.useState(null),[b,u]=x.useState(Jc.desktopApiKey),[g,m]=x.useState(s),[p,S]=x.useState(Yc(s)),[w,E]=x.useState(Jc.ensResolver),C=x.useRef(g);x.useEffect(()=>{C.current=g},[g]);const{config:_,isLoading:D,error:O}=tm(t);x.useEffect(()=>{const R=new URLSearchParams(window.location.search).get("v");R&&(localStorage.setItem(Qe.apiKey,R),window.location.search="",u(R))},[]),x.useEffect(()=>{const P=a2(localStorage.getItem(Qe.apiHost)??_?.["api-addr"]??i);(()=>{try{l(new W4(P))}catch{l(null)}})()},[_,i]),x.useEffect(()=>{const P=_?jo(_):void 0;!n||!P||(localStorage.setItem(Qe.providerUrl,P),m(P),S(Yc(P)))},[n,_]),x.useEffect(()=>{J7(s).getNetwork().catch(()=>{s!==i7&&C.current===s&&(m(i7),S(Yc(i7)))})},[]),x.useEffect(()=>{!n||!_?.["resolver-options"]||E(_["resolver-options"])},[n,_]);const $=x.useCallback(P=>{const R=a2(P);try{l(new W4(R)),localStorage.setItem(Qe.apiHost,R),d(R)}catch{l(null)}},[]),W=x.useCallback(P=>{localStorage.setItem(Qe.providerUrl,P),m(P),S(Yc(P))},[]),J=x.useCallback(P=>{E(P)},[]),k=x.useMemo(()=>({apiUrl:i,beeApi:f,setApiUrl:$,lockedApiSettings:!!a.lockedApiSettings,desktopApiKey:b,isDesktop:n,desktopUrl:t,giftWalletFees:a.giftWalletFees??Du,rpcProvider:p,rpcProviderUrl:g,cors:_?.["cors-allowed-origins"]??null,dataDir:_?.["data-dir"]??null,configFile:_?.["config-file-path"]??null,ensResolver:w,setAndPersistJsonRpcProvider:W,setEnsResolver:J,isLoading:D,error:O}),[i,f,$,a.lockedApiSettings,b,n,t,a.giftWalletFees,p,g,_,w,W,J,D,O]);return c.jsx(Le.Provider,{value:k,children:e})}function a2(e){return e.startsWith("http")?e:`http://${e}`}const ko=35e3,u4=3e4,dm=5e3,ut=3e3;var Ge=(e=>(e.CONNECTING="Connecting",e.OK="OK",e.WARNING="Warning",e.ERROR="Error",e.STARTING="Starting",e))(Ge||{});function Po(){return{all:"Error",apiConnection:{isEnabled:!1,checkState:"Error"},topology:{isEnabled:!1,checkState:"Error"},chequebook:{isEnabled:!1,checkState:"Error"}}}const C7={beeVersion:null,status:Po(),error:null,apiHealth:!1,nodeAddresses:null,nodeInfo:null,topology:null,chequebookAddress:null,stake:null,peers:null,chequebookBalance:null,peerBalances:null,peerCheques:null,settlements:null,chainState:null,walletBalance:null,latestBeeRelease:null,isLoading:!0,lastUpdate:null,start:()=>{},stop:()=>{},refresh:()=>Promise.reject()},We=x.createContext(C7);We.Consumer;function fm(e){const{nodeInfo:a,apiHealth:t,topology:n,isWarmingUp:s,chequebookAddress:i,chequebookBalance:d,error:f,startedAt:l}={...e},b=Po();return b.apiConnection.isEnabled=!0,b.apiConnection.checkState=t?"OK":"Error",a&&[Sa.FULL,Sa.LIGHT,Sa.ULTRA_LIGHT].includes(a.beeMode)&&(b.topology.isEnabled=!0,b.topology.checkState=n?.connected&&n?.connected>0?"OK":"Warning"),(f||a&&[Sa.FULL,Sa.LIGHT].includes(a.beeMode))&&(b.chequebook.isEnabled=!0,i?.chequebookAddress&&d!==null?b.chequebook.checkState="OK":b.chequebook.checkState="Warning"),b.all=om(b,s,l),b}function om(e,a,t){const n=Object.values(e).some(({isEnabled:d,checkState:f})=>d&&f==="Error"),s=Object.values(e).some(({isEnabled:d,checkState:f})=>d&&f==="Warning"),i=Date.now()-t<ko;return a||i?"Connecting":n?"Error":s?"Warning":"OK"}function et(e){return e.status==="fulfilled"?e.value:null}let h4=!1;function lm({children:e}){const{beeApi:a}=x.useContext(Le),[t,n]=x.useState(null),[s,i]=x.useState(!1),[d,f]=x.useState(!0),[l,b]=x.useState(null),[u,g]=x.useState(null),[m,p]=x.useState(null),[S,w]=x.useState(null),[E,C]=x.useState(null),[_,D]=x.useState(null),[O,$]=x.useState(null),[W,J]=x.useState(null),[k,P]=x.useState(null),[R,F]=x.useState(null),[A,T]=x.useState(null),[v,L]=x.useState(null),[B,U]=x.useState(()=>Date.now()),{latestBeeRelease:H}=nm(),[Z,ee]=x.useState(C7.error),[Y,X]=x.useState(C7.isLoading),[pe,ie]=x.useState(C7.lastUpdate),[te,ge]=x.useState(u4),ce=x.useRef(te);x.useEffect(()=>{if(d)return;U(Date.now());const Ne=setTimeout(()=>U(0),ko);return()=>clearTimeout(Ne)},[d]);const he=x.useCallback(async()=>{if(h4)return;if(!a){X(!1);return}h4=!0;const[Ne,N,se,Q,q,K,ne,me,we,fe,je,Ie,le,_e]=await Promise.allSettled([a.getHealth({timeout:ut}),a.getStatus({timeout:ut}),a.getNodeAddresses({timeout:ut}),a.getNodeInfo({timeout:ut}),a.getTopology({timeout:ut}),a.getPeers({timeout:ut}),a.getChequebookAddress({timeout:ut}),a.getLastCheques({timeout:ut}),a.getChainState({timeout:ut}),a.getWalletBalance({timeout:ut}),a.getChequebookBalance({timeout:ut}),a.getStake({timeout:ut}),a.getAllBalances({timeout:ut}),a.getAllSettlements()]),Te=et(Ne);n(Te?.version??null),i(!!Te),f(et(N)?.isWarmingUp??!1),b(et(se)),g(et(Q)),p(et(q)),C(et(K)),w(et(ne)),P(et(me)),T(et(we)),L(et(fe)),D(et(je)),$(et(Ie)),J(et(le)?.balances??null),F(et(_e)),ee(null),X(!1),ie(Date.now()),h4=!1},[a]),ve=x.useCallback((Ne=u4)=>{he(),ge(Ne)},[he]),xe=x.useCallback(()=>ge(null),[]),ue=x.useMemo(()=>fm({nodeInfo:u,apiHealth:s,topology:m,isWarmingUp:d,chequebookAddress:S,chequebookBalance:_,error:Z,startedAt:B}),[u,s,m,S,_,Z,B,d]);x.useEffect(()=>{X(!0),i(!1),b(null),p(null),g(null),C(null),w(null),D(null),J(null),P(null),F(null),T(null),a!==null&&he()},[a,he]),x.useEffect(()=>{ce.current=te},[te]),x.useEffect(()=>{const Ne=ue.all!=="OK"?dm:u4;Ne!==ce.current&&ge(Ne)},[ue.all]),x.useEffect(()=>{if(te){const Ne=setInterval(he,te);return()=>clearInterval(Ne)}},[te,a,he]);const Ee=x.useMemo(()=>({beeVersion:t,status:ue,error:Z,apiHealth:s,nodeAddresses:l,nodeInfo:u,topology:m,chequebookAddress:S,peers:E,chequebookBalance:_,stake:O,peerBalances:W,peerCheques:k,settlements:R,chainState:A,walletBalance:v,latestBeeRelease:H,isLoading:Y,lastUpdate:pe,start:ve,stop:xe,refresh:he}),[t,ue,Z,s,l,u,m,S,E,_,O,W,k,R,A,v,H,Y,pe,ve,xe,he]);return c.jsx(We.Provider,{value:Ee,children:e})}const bm=Ke()(e=>({root:{width:"100%",padding:0,margin:0,marginTop:e.spacing(4),"&:first-of-type":{marginTop:0}},rootLevel1:{marginTop:e.spacing(1)},rootLevel2:{marginTop:e.spacing(.5)},header:{backgroundColor:e.palette.background.paper},contentLevel0:{marginTop:e.spacing(1)},contentLevel12:{marginTop:e.spacing(.25)},infoText:{color:"#c9c9c9"}}));function Wa({children:e,label:a,level:t,defaultOpen:n,info:s}){const{classes:i}=bm(),[d,f]=x.useState(!!n),l=()=>{f(!d)};let b="",u="h1",g=i.contentLevel0;return t===1?(b=i.rootLevel1,u="h2",g=i.contentLevel12):t===2&&(b=i.rootLevel2,u="h3",g=i.contentLevel12),c.jsxs("div",{className:`${i.root} ${b}`,children:[c.jsxs(cn,{onClick:l,className:i.header,children:[c.jsx(yr,{primary:c.jsx(Me,{variant:u,children:a})}),c.jsxs(Hf,{children:[!d&&c.jsx(Me,{variant:"body2",className:i.infoText,children:s}),d?c.jsx(pf,{}):c.jsx(yf,{})]})]}),c.jsx(b1,{in:d,timeout:"auto",unmountOnExit:!0,children:c.jsx("div",{className:g,children:e})})]})}const um=Ke()(e=>({header:{backgroundColor:e.palette.background.paper,marginBottom:e.spacing(.25),wordBreak:"break-word"},copyValue:{cursor:"pointer",padding:e.spacing(1),borderRadius:0,"&:hover":{backgroundColor:"#fcf2e8",color:e.palette.primary.main}}}));function Ue({label:e,value:a,tooltip:t}){const{classes:n}=um();return c.jsx(cn,{className:n.header,children:c.jsxs(oe,{display:"flex",flexDirection:"row",alignItems:"center",width:"100%",children:[e&&c.jsx(oe,{flex:2,children:c.jsx(Me,{variant:"body1",children:e})}),a&&c.jsx(oe,{flex:1,textAlign:"right",children:c.jsxs(Me,{variant:"body2",component:"div",children:[a,t&&c.jsx(Wt,{title:t,placement:"top",arrow:!0,children:c.jsx(Sn,{size:"small",className:n.copyValue,children:c.jsx(E1,{strokeWidth:1})})})]})})]})})}const hm=Ke()(e=>({wrapper:{display:"flex",flexDirection:"row",flexWrap:"wrap"},action:{marginBottom:e.spacing(1),marginRight:e.spacing(1)}}));function ba({children:e}){const{classes:a}=hm();return Array.isArray(e)?c.jsx("div",{className:a.wrapper,children:e.filter(t=>t).map((t,n)=>c.jsx("div",{className:a.action,children:t},n))}):c.jsx(Ve,{container:!0,direction:"row",children:c.jsx(Ve,{className:a.action,children:e})})}function To(e){const{enqueueSnackbar:a}=xa(),[t,n]=x.useState(!1);return{copied:t,handleCopy:async()=>{try{await navigator.clipboard.writeText(e),n(!0)}catch{a("Failed to copy text",{variant:"error",action:d=>c.jsx(Sn,{onClick:()=>db(d),size:"small",color:"inherit",children:c.jsx(jt,{fontSize:"small"})})})}},tooltipCloseHandler:()=>n(!1)}}const gm=Ke()(e=>({header:{backgroundColor:e.palette.background.paper,marginBottom:e.spacing(.25),borderLeft:`${e.spacing(.25)} solid rgba(0,0,0,0)`,wordBreak:"break-word","&:hover":{backgroundColor:e.palette.background.paper},"&:focus-within":{backgroundColor:e.palette.background.paper}},headerOpen:{borderLeft:`${e.spacing(.25)} solid ${e.palette.primary.main}`},copyValue:{cursor:"pointer",padding:e.spacing(1),borderRadius:0,"&:hover":{backgroundColor:"#fcf2e8",color:e.palette.primary.main}},content:{marginTop:e.spacing(2),marginBottom:e.spacing(2)},keyMargin:{marginRight:e.spacing(1)}})),mm=e=>e.replace(/^0x/i,"").length;function pm(e){return typeof e=="string"&&/^0x[0-9a-f]+$/i.test(e)}const ym=e=>mm(e)%6===0?e.match(/(0x|.{6})/gi)||[]:e.match(/(0x|.{1,8})/gi)||[];function Pa({label:e,value:a,expanded:t}){const{classes:n}=gm(),[s,i]=x.useState(t||!1),{copied:d,handleCopy:f,tooltipCloseHandler:l}=To(a),b=()=>i(!s),u=ym(a),m=`${pm(a)?`${u[0]} ${u[1]}`:u[0]}[…]${u[u.length-1]}`;return c.jsx(cn,{className:`${n.header} ${s?n.headerOpen:""}`,children:c.jsxs(Ve,{container:!0,direction:"column",justifyContent:"space-between",alignItems:"stretch",style:{width:"100%"},children:[c.jsxs(Ve,{container:!0,direction:"row",justifyContent:"space-between",alignItems:"center",children:[e&&c.jsx(Me,{variant:"body1",component:"span",children:e}),c.jsxs(Me,{variant:"body2",component:"span",children:[!s&&c.jsx("span",{className:n.copyValue,children:c.jsx(Wt,{title:d?"Copied":"Copy",placement:"top",arrow:!0,onClose:l,children:c.jsx("span",{onClick:f,children:a?m:""})})}),c.jsx(Sn,{size:"small",className:n.copyValue,onClick:b,children:s?c.jsx(xf,{strokeWidth:1}):c.jsx(fb,{strokeWidth:1})})]})]}),c.jsx(b1,{in:s,timeout:"auto",unmountOnExit:!0,children:c.jsx("div",{className:n.content,children:c.jsx(Wt,{title:d?"Copied":"Copy",placement:"top",arrow:!0,onClose:l,children:c.jsx("span",{onClick:f,children:c.jsx("span",{className:n.copyValue,children:u.map((p,S)=>c.jsx(Me,{variant:"body2",className:n.keyMargin,component:"span",children:p},S))})})})})})]})})}const xm=Ke()(e=>({root:{height:"100%"},content:{maxWidth:500,marginBottom:e.spacing(4),"&:last-child":{marginBottom:0}},icon:{height:"1rem"},statusButton:{color:e.palette.secondary.main}}));function Vt(){const{classes:e}=xm();return c.jsxs(Ve,{container:!0,direction:"column",justifyContent:"center",alignItems:"center",className:e.root,children:[c.jsx(Ve,{className:e.content,children:c.jsx(Me,{variant:"h1",align:"center",children:"Uh oh, it looks like your node is not connected."})}),c.jsx(Ve,{className:e.content,children:c.jsxs(Me,{align:"center",children:["Please check your node status to fix the problem. You can also check out the"," ",c.jsx(F7,{href:Vf,target:"_blank",rel:"noreferrer",children:"Swarm Bee Docs"})," ","or ask for support on the"," ",c.jsx(F7,{href:Iu,target:"_blank",rel:"noreferrer",children:"Ethereum Swarm Discord"}),"."]})}),c.jsx(Ve,{className:e.content,children:c.jsx(Me,{align:"center",children:c.jsx(it,{className:e.statusButton,component:Qt,variant:"contained",startIcon:c.jsx(ob,{className:e.icon}),to:Fe.STATUS,children:"Check node status"})})})]})}function st(e){if(e instanceof vu){const a=e.responseBody;if(typeof a=="string"&&a)return a;if(a&&typeof a=="object"&&typeof a.message=="string"&&a.message)return a.message}return e instanceof Error&&"shortMessage"in e&&typeof e.shortMessage=="string"&&e.shortMessage?e.shortMessage:e instanceof Error?e.message:String(e)}function wm(e,a){return a?e.gt(a.bzzBalance)?`Not enough xBZZ: need ${e.toSignificantDigits(4)}, have ${a.bzzBalance.toSignificantDigits(4)}. Add funds under Account > Wallet.`:Na.fromDecimalString("0").eq(a.nativeTokenBalance)?"No xDAI to pay for gas fees. Add funds under Account > Wallet.":null:null}function Do(e,a,t){const n=wm(e,a);return n?(t(n,{variant:"error"}),!0):!1}const vm=Ke()(e=>({link:{color:"#dd7700",textDecoration:"underline","&:hover":{textDecoration:"none","@media (hover: none)":{textDecoration:"none"}}},buttonSelected:{color:e.palette.secondary.main,backgroundColor:"white","&:hover":{color:"white",backgroundColor:e.palette.primary.main,"@media (hover: none)":{color:e.palette.secondary.main,backgroundColor:"white"}}},buttonUnselected:{color:e.palette.secondary.main,backgroundColor:"white"}}));function $r({successMessage:e,errorMessage:a,dialogMessage:t,min:n,max:s,label:i,action:d,icon:f}){const{classes:l}=vm(),[b,u]=x.useState(!1),[g,m]=x.useState(!1),p=x.useRef(!1),[S,w]=x.useState(""),[E,C]=x.useState(null),[_,D]=x.useState(null),{enqueueSnackbar:O}=xa(),$=P=>{u(!0),P.stopPropagation()},W=()=>{u(!1)},J=async()=>{if(!(E===null||p.current)){p.current=!0,m(!0);try{const P=await d(E);u(!1),O(`${e} Transaction ${P}`,{variant:"success"})}catch(P){console.error(P),O(`${a} ${st(P)}`,{variant:"error"})}finally{p.current=!1,m(!1)}}},k=P=>{const R=P.target.value;w(R),D(null);try{const F=_a.fromDecimalString(R);C(F),n&&F.lt(n)&&D(new Error(`Needs to be more than ${n.toSignificantDigits(4)}`)),s&&F.gt(s)&&D(new Error(`Needs to be less than ${s.toSignificantDigits(4)}`))}catch(F){D(F)}};return c.jsxs("div",{children:[c.jsx(it,{variant:"contained",onClick:$,startIcon:f,className:l.buttonSelected,children:i}),c.jsxs(ls,{open:b,onClose:W,"aria-labelledby":"form-dialog-title",children:[c.jsx(xr,{id:"form-dialog-title",children:i}),c.jsxs(wr,{children:[c.jsx(wf,{children:t}),c.jsx(vf,{autoFocus:!0,margin:"dense",id:"name",type:"text",placeholder:"Amount",fullWidth:!0,value:S,onChange:k}),_&&c.jsxs($4,{error:!0,children:["Please provide valid xBZZ amount (max 16 decimals). Error: ",_.message]})]}),c.jsxs(vr,{children:[c.jsx(it,{onClick:W,color:"primary",children:"Cancel"}),c.jsx(it,{onClick:J,color:"primary",disabled:g,children:i})]})]})]})}function Ro(){const{beeApi:e}=x.useContext(Le),{refresh:a}=x.useContext(We);return c.jsx($r,{successMessage:"Successful deposit.",errorMessage:"Error with depositing",dialogMessage:"Amount of xBZZ to deposit to the checkbook, from your node.",label:"Deposit",icon:c.jsx(Jn,{size:"1rem"}),min:_a.fromPLUR("1"),action:async t=>{if(!e)throw new Error("Bee URL is not valid");const n=await e.depositBZZToChequebook(t);return a(),n}})}function Sm(){const{beeApi:e}=x.useContext(Le),{refresh:a}=x.useContext(We);return c.jsx($r,{successMessage:"Successful withdrawal.",errorMessage:"Error with withdrawing.",dialogMessage:"Amount of xBZZ to withdraw from the checkbook to your node.",label:"Withdraw",icon:c.jsx(Sr,{size:"1rem"}),min:_a.fromPLUR("1"),action:async t=>{if(!e)throw new Error("Bee URL is not valid");const n=await e.withdrawBZZFromChequebook(t);return a(),n}})}var _m=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,g4=Math.ceil,wt=Math.floor,at="[BigNumber Error] ",t2=at+"Number primitive has more than 15 significant digits: ",At=1e14,qe=14,m4=9007199254740991,p4=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],bn=1e7,Ma=1e9;function Oo(e){var a,t,n,s=_.prototype={constructor:_,toString:null,valueOf:null},i=new _(1),d=20,f=4,l=-7,b=21,u=-1e7,g=1e7,m=!1,p=1,S=0,w={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},E="0123456789abcdefghijklmnopqrstuvwxyz",C=!0;function _(k,P){var R,F,A,T,v,L,B,U,H=this;if(!(H instanceof _))return new _(k,P);if(P==null){if(k&&k._isBigNumber===!0){H.s=k.s,!k.c||k.e>g?H.c=H.e=null:k.e<u?H.c=[H.e=0]:(H.e=k.e,H.c=k.c.slice());return}if((L=typeof k=="number")&&k*0==0){if(H.s=1/k<0?(k=-k,-1):1,k===~~k){for(T=0,v=k;v>=10;v/=10,T++);T>g?H.c=H.e=null:(H.e=T,H.c=[k]);return}U=String(k)}else{if(!_m.test(U=String(k)))return n(H,U,L);H.s=U.charCodeAt(0)==45?(U=U.slice(1),-1):1}(T=U.indexOf("."))>-1&&(U=U.replace(".","")),(v=U.search(/e/i))>0?(T<0&&(T=v),T+=+U.slice(v+1),U=U.substring(0,v)):T<0&&(T=U.length)}else{if(ma(P,2,E.length,"Base"),P==10&&C)return H=new _(k),W(H,d+H.e+1,f);if(U=String(k),L=typeof k=="number"){if(k*0!=0)return n(H,U,L,P);if(H.s=1/k<0?(U=U.slice(1),-1):1,_.DEBUG&&U.replace(/^0\.0*|\./,"").length>15)throw Error(t2+k)}else H.s=U.charCodeAt(0)===45?(U=U.slice(1),-1):1;for(R=E.slice(0,P),T=v=0,B=U.length;v<B;v++)if(R.indexOf(F=U.charAt(v))<0){if(F=="."){if(v>T){T=B;continue}}else if(!A&&(U==U.toUpperCase()&&(U=U.toLowerCase())||U==U.toLowerCase()&&(U=U.toUpperCase()))){A=!0,v=-1,T=0;continue}return n(H,String(k),L,P)}L=!1,U=t(U,P,10,H.s),(T=U.indexOf("."))>-1?U=U.replace(".",""):T=U.length}for(v=0;U.charCodeAt(v)===48;v++);for(B=U.length;U.charCodeAt(--B)===48;);if(U=U.slice(v,++B)){if(B-=v,L&&_.DEBUG&&B>15&&(k>m4||k!==wt(k)))throw Error(t2+H.s*k);if((T=T-v-1)>g)H.c=H.e=null;else if(T<u)H.c=[H.e=0];else{if(H.e=T,H.c=[],v=(T+1)%qe,T<0&&(v+=qe),v<B){for(v&&H.c.push(+U.slice(0,v)),B-=qe;v<B;)H.c.push(+U.slice(v,v+=qe));v=qe-(U=U.slice(v)).length}else v-=B;for(;v--;U+="0");H.c.push(+U)}}else H.c=[H.e=0]}_.clone=Oo,_.ROUND_UP=0,_.ROUND_DOWN=1,_.ROUND_CEIL=2,_.ROUND_FLOOR=3,_.ROUND_HALF_UP=4,_.ROUND_HALF_DOWN=5,_.ROUND_HALF_EVEN=6,_.ROUND_HALF_CEIL=7,_.ROUND_HALF_FLOOR=8,_.EUCLID=9,_.config=_.set=function(k){var P,R;if(k!=null)if(typeof k=="object"){if(k.hasOwnProperty(P="DECIMAL_PLACES")&&(R=k[P],ma(R,0,Ma,P),d=R),k.hasOwnProperty(P="ROUNDING_MODE")&&(R=k[P],ma(R,0,8,P),f=R),k.hasOwnProperty(P="EXPONENTIAL_AT")&&(R=k[P],R&&R.pop?(ma(R[0],-Ma,0,P),ma(R[1],0,Ma,P),l=R[0],b=R[1]):(ma(R,-Ma,Ma,P),l=-(b=R<0?-R:R))),k.hasOwnProperty(P="RANGE"))if(R=k[P],R&&R.pop)ma(R[0],-Ma,-1,P),ma(R[1],1,Ma,P),u=R[0],g=R[1];else if(ma(R,-Ma,Ma,P),R)u=-(g=R<0?-R:R);else throw Error(at+P+" cannot be zero: "+R);if(k.hasOwnProperty(P="CRYPTO"))if(R=k[P],R===!!R)if(R)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))m=R;else throw m=!R,Error(at+"crypto unavailable");else m=R;else throw Error(at+P+" not true or false: "+R);if(k.hasOwnProperty(P="MODULO_MODE")&&(R=k[P],ma(R,0,9,P),p=R),k.hasOwnProperty(P="POW_PRECISION")&&(R=k[P],ma(R,0,Ma,P),S=R),k.hasOwnProperty(P="FORMAT"))if(R=k[P],typeof R=="object")w=R;else throw Error(at+P+" not an object: "+R);if(k.hasOwnProperty(P="ALPHABET"))if(R=k[P],typeof R=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(R))C=R.slice(0,10)=="0123456789",E=R;else throw Error(at+P+" invalid: "+R)}else throw Error(at+"Object expected: "+k);return{DECIMAL_PLACES:d,ROUNDING_MODE:f,EXPONENTIAL_AT:[l,b],RANGE:[u,g],CRYPTO:m,MODULO_MODE:p,POW_PRECISION:S,FORMAT:w,ALPHABET:E}},_.isBigNumber=function(k){if(!k||k._isBigNumber!==!0)return!1;if(!_.DEBUG)return!0;var P,R,F=k.c,A=k.e,T=k.s;e:if({}.toString.call(F)=="[object Array]"){if((T===1||T===-1)&&A>=-Ma&&A<=Ma&&A===wt(A)){if(F[0]===0){if(A===0&&F.length===1)return!0;break e}if(P=(A+1)%qe,P<1&&(P+=qe),String(F[0]).length==P){for(P=0;P<F.length;P++)if(R=F[P],R<0||R>=At||R!==wt(R))break e;if(R!==0)return!0}}}else if(F===null&&A===null&&(T===null||T===1||T===-1))return!0;throw Error(at+"Invalid BigNumber: "+k)},_.maximum=_.max=function(){return O(arguments,-1)},_.minimum=_.min=function(){return O(arguments,1)},_.random=(function(){var k=9007199254740992,P=Math.random()*k&2097151?function(){return wt(Math.random()*k)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(R){var F,A,T,v,L,B=0,U=[],H=new _(i);if(R==null?R=d:ma(R,0,Ma),v=g4(R/qe),m)if(crypto.getRandomValues){for(F=crypto.getRandomValues(new Uint32Array(v*=2));B<v;)L=F[B]*131072+(F[B+1]>>>11),L>=9e15?(A=crypto.getRandomValues(new Uint32Array(2)),F[B]=A[0],F[B+1]=A[1]):(U.push(L%1e14),B+=2);B=v/2}else if(crypto.randomBytes){for(F=crypto.randomBytes(v*=7);B<v;)L=(F[B]&31)*281474976710656+F[B+1]*1099511627776+F[B+2]*4294967296+F[B+3]*16777216+(F[B+4]<<16)+(F[B+5]<<8)+F[B+6],L>=9e15?crypto.randomBytes(7).copy(F,B):(U.push(L%1e14),B+=7);B=v/7}else throw m=!1,Error(at+"crypto unavailable");if(!m)for(;B<v;)L=P(),L<9e15&&(U[B++]=L%1e14);for(v=U[--B],R%=qe,v&&R&&(L=p4[qe-R],U[B]=wt(v/L)*L);U[B]===0;U.pop(),B--);if(B<0)U=[T=0];else{for(T=-1;U[0]===0;U.splice(0,1),T-=qe);for(B=1,L=U[0];L>=10;L/=10,B++);B<qe&&(T-=qe-B)}return H.e=T,H.c=U,H}})(),_.sum=function(){for(var k=1,P=arguments,R=new _(P[0]);k<P.length;)R=R.plus(P[k++]);return R},t=(function(){var k="0123456789";function P(R,F,A,T){for(var v,L=[0],B,U=0,H=R.length;U<H;){for(B=L.length;B--;L[B]*=F);for(L[0]+=T.indexOf(R.charAt(U++)),v=0;v<L.length;v++)L[v]>A-1&&(L[v+1]==null&&(L[v+1]=0),L[v+1]+=L[v]/A|0,L[v]%=A)}return L.reverse()}return function(R,F,A,T,v){var L,B,U,H,Z,ee,Y,X,pe=R.indexOf("."),ie=d,te=f;for(pe>=0&&(H=S,S=0,R=R.replace(".",""),X=new _(F),ee=X.pow(R.length-pe),S=H,X.c=P(Kt(yt(ee.c),ee.e,"0"),10,A,k),X.e=X.c.length),Y=P(R,F,A,v?(L=E,k):(L=k,E)),U=H=Y.length;Y[--H]==0;Y.pop());if(!Y[0])return L.charAt(0);if(pe<0?--U:(ee.c=Y,ee.e=U,ee.s=T,ee=a(ee,X,ie,te,A),Y=ee.c,Z=ee.r,U=ee.e),B=U+ie+1,pe=Y[B],H=A/2,Z=Z||B<0||Y[B+1]!=null,Z=te<4?(pe!=null||Z)&&(te==0||te==(ee.s<0?3:2)):pe>H||pe==H&&(te==4||Z||te==6&&Y[B-1]&1||te==(ee.s<0?8:7)),B<1||!Y[0])R=Z?Kt(L.charAt(1),-ie,L.charAt(0)):L.charAt(0);else{if(Y.length=B,Z)for(--A;++Y[--B]>A;)Y[B]=0,B||(++U,Y=[1].concat(Y));for(H=Y.length;!Y[--H];);for(pe=0,R="";pe<=H;R+=L.charAt(Y[pe++]));R=Kt(R,U,L.charAt(0))}return R}})(),a=(function(){function k(F,A,T){var v,L,B,U,H=0,Z=F.length,ee=A%bn,Y=A/bn|0;for(F=F.slice();Z--;)B=F[Z]%bn,U=F[Z]/bn|0,v=Y*B+U*ee,L=ee*B+v%bn*bn+H,H=(L/T|0)+(v/bn|0)+Y*U,F[Z]=L%T;return H&&(F=[H].concat(F)),F}function P(F,A,T,v){var L,B;if(T!=v)B=T>v?1:-1;else for(L=B=0;L<T;L++)if(F[L]!=A[L]){B=F[L]>A[L]?1:-1;break}return B}function R(F,A,T,v){for(var L=0;T--;)F[T]-=L,L=F[T]<A[T]?1:0,F[T]=L*v+F[T]-A[T];for(;!F[0]&&F.length>1;F.splice(0,1));}return function(F,A,T,v,L){var B,U,H,Z,ee,Y,X,pe,ie,te,ge,ce,he,ve,xe,ue,Ee,Ne=F.s==A.s?1:-1,N=F.c,se=A.c;if(!N||!N[0]||!se||!se[0])return new _(!F.s||!A.s||(N?se&&N[0]==se[0]:!se)?NaN:N&&N[0]==0||!se?Ne*0:Ne/0);for(pe=new _(Ne),ie=pe.c=[],U=F.e-A.e,Ne=T+U+1,L||(L=At,U=vt(F.e/qe)-vt(A.e/qe),Ne=Ne/qe|0),H=0;se[H]==(N[H]||0);H++);if(se[H]>(N[H]||0)&&U--,Ne<0)ie.push(1),Z=!0;else{for(ve=N.length,ue=se.length,H=0,Ne+=2,ee=wt(L/(se[0]+1)),ee>1&&(se=k(se,ee,L),N=k(N,ee,L),ue=se.length,ve=N.length),he=ue,te=N.slice(0,ue),ge=te.length;ge<ue;te[ge++]=0);Ee=se.slice(),Ee=[0].concat(Ee),xe=se[0],se[1]>=L/2&&xe++;do{if(ee=0,B=P(se,te,ue,ge),B<0){if(ce=te[0],ue!=ge&&(ce=ce*L+(te[1]||0)),ee=wt(ce/xe),ee>1)for(ee>=L&&(ee=L-1),Y=k(se,ee,L),X=Y.length,ge=te.length;P(Y,te,X,ge)==1;)ee--,R(Y,ue<X?Ee:se,X,L),X=Y.length,B=1;else ee==0&&(B=ee=1),Y=se.slice(),X=Y.length;if(X<ge&&(Y=[0].concat(Y)),R(te,Y,ge,L),ge=te.length,B==-1)for(;P(se,te,ue,ge)<1;)ee++,R(te,ue<ge?Ee:se,ge,L),ge=te.length}else B===0&&(ee++,te=[0]);ie[H++]=ee,te[0]?te[ge++]=N[he]||0:(te=[N[he]],ge=1)}while((he++<ve||te[0]!=null)&&Ne--);Z=te[0]!=null,ie[0]||ie.splice(0,1)}if(L==At){for(H=1,Ne=ie[0];Ne>=10;Ne/=10,H++);W(pe,T+(pe.e=H+U*qe-1)+1,v,Z)}else pe.e=U,pe.r=+Z;return pe}})();function D(k,P,R,F){var A,T,v,L,B;if(R==null?R=f:ma(R,0,8),!k.c)return k.toString();if(A=k.c[0],v=k.e,P==null)B=yt(k.c),B=F==1||F==2&&(v<=l||v>=b)?l7(B,v):Kt(B,v,"0");else if(k=W(new _(k),P,R),T=k.e,B=yt(k.c),L=B.length,F==1||F==2&&(P<=T||T<=l)){for(;L<P;B+="0",L++);B=l7(B,T)}else if(P-=v+(F===2&&T>v),B=Kt(B,T,"0"),T+1>L){if(--P>0)for(B+=".";P--;B+="0");}else if(P+=T-L,P>0)for(T+1==L&&(B+=".");P--;B+="0");return k.s<0&&A?"-"+B:B}function O(k,P){for(var R,F,A=1,T=new _(k[0]);A<k.length;A++)F=new _(k[A]),(!F.s||(R=Tn(T,F))===P||R===0&&T.s===P)&&(T=F);return T}function $(k,P,R){for(var F=1,A=P.length;!P[--A];P.pop());for(A=P[0];A>=10;A/=10,F++);return(R=F+R*qe-1)>g?k.c=k.e=null:R<u?k.c=[k.e=0]:(k.e=R,k.c=P),k}n=(function(){var k=/^(-?)0([xbo])(?=\w[\w.]*$)/i,P=/^([^.]+)\.$/,R=/^\.([^.]+)$/,F=/^-?(Infinity|NaN)$/,A=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(T,v,L,B){var U,H=L?v:v.replace(A,"");if(F.test(H))T.s=isNaN(H)?null:H<0?-1:1;else{if(!L&&(H=H.replace(k,function(Z,ee,Y){return U=(Y=Y.toLowerCase())=="x"?16:Y=="b"?2:8,!B||B==U?ee:Z}),B&&(U=B,H=H.replace(P,"$1").replace(R,"0.$1")),v!=H))return new _(H,U);if(_.DEBUG)throw Error(at+"Not a"+(B?" base "+B:"")+" number: "+v);T.s=null}T.c=T.e=null}})();function W(k,P,R,F){var A,T,v,L,B,U,H,Z=k.c,ee=p4;if(Z){e:{for(A=1,L=Z[0];L>=10;L/=10,A++);if(T=P-A,T<0)T+=qe,v=P,B=Z[U=0],H=wt(B/ee[A-v-1]%10);else if(U=g4((T+1)/qe),U>=Z.length)if(F){for(;Z.length<=U;Z.push(0));B=H=0,A=1,T%=qe,v=T-qe+1}else break e;else{for(B=L=Z[U],A=1;L>=10;L/=10,A++);T%=qe,v=T-qe+A,H=v<0?0:wt(B/ee[A-v-1]%10)}if(F=F||P<0||Z[U+1]!=null||(v<0?B:B%ee[A-v-1]),F=R<4?(H||F)&&(R==0||R==(k.s<0?3:2)):H>5||H==5&&(R==4||F||R==6&&(T>0?v>0?B/ee[A-v]:0:Z[U-1])%10&1||R==(k.s<0?8:7)),P<1||!Z[0])return Z.length=0,F?(P-=k.e+1,Z[0]=ee[(qe-P%qe)%qe],k.e=-P||0):Z[0]=k.e=0,k;if(T==0?(Z.length=U,L=1,U--):(Z.length=U+1,L=ee[qe-T],Z[U]=v>0?wt(B/ee[A-v]%ee[v])*L:0),F)for(;;)if(U==0){for(T=1,v=Z[0];v>=10;v/=10,T++);for(v=Z[0]+=L,L=1;v>=10;v/=10,L++);T!=L&&(k.e++,Z[0]==At&&(Z[0]=1));break}else{if(Z[U]+=L,Z[U]!=At)break;Z[U--]=0,L=1}for(T=Z.length;Z[--T]===0;Z.pop());}k.e>g?k.c=k.e=null:k.e<u&&(k.c=[k.e=0])}return k}function J(k){var P,R=k.e;return R===null?k.toString():(P=yt(k.c),P=R<=l||R>=b?l7(P,R):Kt(P,R,"0"),k.s<0?"-"+P:P)}return s.absoluteValue=s.abs=function(){var k=new _(this);return k.s<0&&(k.s=1),k},s.comparedTo=function(k,P){return Tn(this,new _(k,P))},s.decimalPlaces=s.dp=function(k,P){var R,F,A,T=this;if(k!=null)return ma(k,0,Ma),P==null?P=f:ma(P,0,8),W(new _(T),k+T.e+1,P);if(!(R=T.c))return null;if(F=((A=R.length-1)-vt(this.e/qe))*qe,A=R[A])for(;A%10==0;A/=10,F--);return F<0&&(F=0),F},s.dividedBy=s.div=function(k,P){return a(this,new _(k,P),d,f)},s.dividedToIntegerBy=s.idiv=function(k,P){return a(this,new _(k,P),0,1)},s.exponentiatedBy=s.pow=function(k,P){var R,F,A,T,v,L,B,U,H,Z=this;if(k=new _(k),k.c&&!k.isInteger())throw Error(at+"Exponent not an integer: "+J(k));if(P!=null&&(P=new _(P)),L=k.e>14,!Z.c||!Z.c[0]||Z.c[0]==1&&!Z.e&&Z.c.length==1||!k.c||!k.c[0])return H=new _(Math.pow(+J(Z),L?k.s*(2-o7(k)):+J(k))),P?H.mod(P):H;if(B=k.s<0,P){if(P.c?!P.c[0]:!P.s)return new _(NaN);F=!B&&Z.isInteger()&&P.isInteger(),F&&(Z=Z.mod(P))}else{if(k.e>9&&(Z.e>0||Z.e<-1||(Z.e==0?Z.c[0]>1||L&&Z.c[1]>=24e7:Z.c[0]<8e13||L&&Z.c[0]<=9999975e7)))return T=Z.s<0&&o7(k)?-0:0,Z.e>-1&&(T=1/T),new _(B?1/T:T);S&&(T=g4(S/qe+2))}for(L?(R=new _(.5),B&&(k.s=1),U=o7(k)):(A=Math.abs(+J(k)),U=A%2),H=new _(i);;){if(U){if(H=H.times(Z),!H.c)break;T?H.c.length>T&&(H.c.length=T):F&&(H=H.mod(P))}if(A){if(A=wt(A/2),A===0)break;U=A%2}else if(k=k.times(R),W(k,k.e+1,1),k.e>14)U=o7(k);else{if(A=+J(k),A===0)break;U=A%2}Z=Z.times(Z),T?Z.c&&Z.c.length>T&&(Z.c.length=T):F&&(Z=Z.mod(P))}return F?H:(B&&(H=i.div(H)),P?H.mod(P):T?W(H,S,f,v):H)},s.integerValue=function(k){var P=new _(this);return k==null?k=f:ma(k,0,8),W(P,P.e+1,k)},s.isEqualTo=s.eq=function(k,P){return Tn(this,new _(k,P))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(k,P){return Tn(this,new _(k,P))>0},s.isGreaterThanOrEqualTo=s.gte=function(k,P){return(P=Tn(this,new _(k,P)))===1||P===0},s.isInteger=function(){return!!this.c&&vt(this.e/qe)>this.c.length-2},s.isLessThan=s.lt=function(k,P){return Tn(this,new _(k,P))<0},s.isLessThanOrEqualTo=s.lte=function(k,P){return(P=Tn(this,new _(k,P)))===-1||P===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(k,P){var R,F,A,T,v=this,L=v.s;if(k=new _(k,P),P=k.s,!L||!P)return new _(NaN);if(L!=P)return k.s=-P,v.plus(k);var B=v.e/qe,U=k.e/qe,H=v.c,Z=k.c;if(!B||!U){if(!H||!Z)return H?(k.s=-P,k):new _(Z?v:NaN);if(!H[0]||!Z[0])return Z[0]?(k.s=-P,k):new _(H[0]?v:f==3?-0:0)}if(B=vt(B),U=vt(U),H=H.slice(),L=B-U){for((T=L<0)?(L=-L,A=H):(U=B,A=Z),A.reverse(),P=L;P--;A.push(0));A.reverse()}else for(F=(T=(L=H.length)<(P=Z.length))?L:P,L=P=0;P<F;P++)if(H[P]!=Z[P]){T=H[P]<Z[P];break}if(T&&(A=H,H=Z,Z=A,k.s=-k.s),P=(F=Z.length)-(R=H.length),P>0)for(;P--;H[R++]=0);for(P=At-1;F>L;){if(H[--F]<Z[F]){for(R=F;R&&!H[--R];H[R]=P);--H[R],H[F]+=At}H[F]-=Z[F]}for(;H[0]==0;H.splice(0,1),--U);return H[0]?$(k,H,U):(k.s=f==3?-1:1,k.c=[k.e=0],k)},s.modulo=s.mod=function(k,P){var R,F,A=this;return k=new _(k,P),!A.c||!k.s||k.c&&!k.c[0]?new _(NaN):!k.c||A.c&&!A.c[0]?new _(A):(p==9?(F=k.s,k.s=1,R=a(A,k,0,3),k.s=F,R.s*=F):R=a(A,k,0,p),k=A.minus(R.times(k)),!k.c[0]&&p==1&&(k.s=A.s),k)},s.multipliedBy=s.times=function(k,P){var R,F,A,T,v,L,B,U,H,Z,ee,Y,X,pe,ie,te=this,ge=te.c,ce=(k=new _(k,P)).c;if(!ge||!ce||!ge[0]||!ce[0])return!te.s||!k.s||ge&&!ge[0]&&!ce||ce&&!ce[0]&&!ge?k.c=k.e=k.s=null:(k.s*=te.s,!ge||!ce?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(F=vt(te.e/qe)+vt(k.e/qe),k.s*=te.s,B=ge.length,Z=ce.length,B<Z&&(X=ge,ge=ce,ce=X,A=B,B=Z,Z=A),A=B+Z,X=[];A--;X.push(0));for(pe=At,ie=bn,A=Z;--A>=0;){for(R=0,ee=ce[A]%ie,Y=ce[A]/ie|0,v=B,T=A+v;T>A;)U=ge[--v]%ie,H=ge[v]/ie|0,L=Y*U+H*ee,U=ee*U+L%ie*ie+X[T]+R,R=(U/pe|0)+(L/ie|0)+Y*H,X[T--]=U%pe;X[T]=R}return R?++F:X.splice(0,1),$(k,X,F)},s.negated=function(){var k=new _(this);return k.s=-k.s||null,k},s.plus=function(k,P){var R,F=this,A=F.s;if(k=new _(k,P),P=k.s,!A||!P)return new _(NaN);if(A!=P)return k.s=-P,F.minus(k);var T=F.e/qe,v=k.e/qe,L=F.c,B=k.c;if(!T||!v){if(!L||!B)return new _(A/0);if(!L[0]||!B[0])return B[0]?k:new _(L[0]?F:A*0)}if(T=vt(T),v=vt(v),L=L.slice(),A=T-v){for(A>0?(v=T,R=B):(A=-A,R=L),R.reverse();A--;R.push(0));R.reverse()}for(A=L.length,P=B.length,A-P<0&&(R=B,B=L,L=R,P=A),A=0;P;)A=(L[--P]=L[P]+B[P]+A)/At|0,L[P]=At===L[P]?0:L[P]%At;return A&&(L=[A].concat(L),++v),$(k,L,v)},s.precision=s.sd=function(k,P){var R,F,A,T=this;if(k!=null&&k!==!!k)return ma(k,1,Ma),P==null?P=f:ma(P,0,8),W(new _(T),k,P);if(!(R=T.c))return null;if(A=R.length-1,F=A*qe+1,A=R[A]){for(;A%10==0;A/=10,F--);for(A=R[0];A>=10;A/=10,F++);}return k&&T.e+1>F&&(F=T.e+1),F},s.shiftedBy=function(k){return ma(k,-m4,m4),this.times("1e"+k)},s.squareRoot=s.sqrt=function(){var k,P,R,F,A,T=this,v=T.c,L=T.s,B=T.e,U=d+4,H=new _("0.5");if(L!==1||!v||!v[0])return new _(!L||L<0&&(!v||v[0])?NaN:v?T:1/0);if(L=Math.sqrt(+J(T)),L==0||L==1/0?(P=yt(v),(P.length+B)%2==0&&(P+="0"),L=Math.sqrt(+P),B=vt((B+1)/2)-(B<0||B%2),L==1/0?P="5e"+B:(P=L.toExponential(),P=P.slice(0,P.indexOf("e")+1)+B),R=new _(P)):R=new _(L+""),R.c[0]){for(B=R.e,L=B+U,L<3&&(L=0);;)if(A=R,R=H.times(A.plus(a(T,A,U,1))),yt(A.c).slice(0,L)===(P=yt(R.c)).slice(0,L))if(R.e<B&&--L,P=P.slice(L-3,L+1),P=="9999"||!F&&P=="4999"){if(!F&&(W(A,A.e+d+2,0),A.times(A).eq(T))){R=A;break}U+=4,L+=4,F=1}else{(!+P||!+P.slice(1)&&P.charAt(0)=="5")&&(W(R,R.e+d+2,1),k=!R.times(R).eq(T));break}}return W(R,R.e+d+1,f,k)},s.toExponential=function(k,P){return k!=null&&(ma(k,0,Ma),k++),D(this,k,P,1)},s.toFixed=function(k,P){return k!=null&&(ma(k,0,Ma),k=k+this.e+1),D(this,k,P)},s.toFormat=function(k,P,R){var F,A=this;if(R==null)k!=null&&P&&typeof P=="object"?(R=P,P=null):k&&typeof k=="object"?(R=k,k=P=null):R=w;else if(typeof R!="object")throw Error(at+"Argument not an object: "+R);if(F=A.toFixed(k,P),A.c){var T,v=F.split("."),L=+R.groupSize,B=+R.secondaryGroupSize,U=R.groupSeparator||"",H=v[0],Z=v[1],ee=A.s<0,Y=ee?H.slice(1):H,X=Y.length;if(B&&(T=L,L=B,B=T,X-=T),L>0&&X>0){for(T=X%L||L,H=Y.substr(0,T);T<X;T+=L)H+=U+Y.substr(T,L);B>0&&(H+=U+Y.slice(T)),ee&&(H="-"+H)}F=Z?H+(R.decimalSeparator||"")+((B=+R.fractionGroupSize)?Z.replace(new RegExp("\\d{"+B+"}\\B","g"),"$&"+(R.fractionGroupSeparator||"")):Z):H}return(R.prefix||"")+F+(R.suffix||"")},s.toFraction=function(k){var P,R,F,A,T,v,L,B,U,H,Z,ee,Y=this,X=Y.c;if(k!=null&&(L=new _(k),!L.isInteger()&&(L.c||L.s!==1)||L.lt(i)))throw Error(at+"Argument "+(L.isInteger()?"out of range: ":"not an integer: ")+J(L));if(!X)return new _(Y);for(P=new _(i),U=R=new _(i),F=B=new _(i),ee=yt(X),T=P.e=ee.length-Y.e-1,P.c[0]=p4[(v=T%qe)<0?qe+v:v],k=!k||L.comparedTo(P)>0?T>0?P:U:L,v=g,g=1/0,L=new _(ee),B.c[0]=0;H=a(L,P,0,1),A=R.plus(H.times(F)),A.comparedTo(k)!=1;)R=F,F=A,U=B.plus(H.times(A=U)),B=A,P=L.minus(H.times(A=P)),L=A;return A=a(k.minus(R),F,0,1),B=B.plus(A.times(U)),R=R.plus(A.times(F)),B.s=U.s=Y.s,T=T*2,Z=a(U,F,T,f).minus(Y).abs().comparedTo(a(B,R,T,f).minus(Y).abs())<1?[U,F]:[B,R],g=v,Z},s.toNumber=function(){return+J(this)},s.toPrecision=function(k,P){return k!=null&&ma(k,1,Ma),D(this,k,P,2)},s.toString=function(k){var P,R=this,F=R.s,A=R.e;return A===null?F?(P="Infinity",F<0&&(P="-"+P)):P="NaN":(k==null?P=A<=l||A>=b?l7(yt(R.c),A):Kt(yt(R.c),A,"0"):k===10&&C?(R=W(new _(R),d+A+1,f),P=Kt(yt(R.c),R.e,"0")):(ma(k,2,E.length,"Base"),P=t(Kt(yt(R.c),A,"0"),10,k,F,!0)),F<0&&R.c[0]&&(P="-"+P)),P},s.valueOf=s.toJSON=function(){return J(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,e!=null&&_.set(e),_}function vt(e){var a=e|0;return e>0||e===a?a:a-1}function yt(e){for(var a,t,n=1,s=e.length,i=e[0]+"";n<s;){for(a=e[n++]+"",t=qe-a.length;t--;a="0"+a);i+=a}for(s=i.length;i.charCodeAt(--s)===48;);return i.slice(0,s+1||1)}function Tn(e,a){var t,n,s=e.c,i=a.c,d=e.s,f=a.s,l=e.e,b=a.e;if(!d||!f)return null;if(t=s&&!s[0],n=i&&!i[0],t||n)return t?n?0:-f:d;if(d!=f)return d;if(t=d<0,n=l==b,!s||!i)return n?0:!s^t?1:-1;if(!n)return l>b^t?1:-1;for(f=(l=s.length)<(b=i.length)?l:b,d=0;d<f;d++)if(s[d]!=i[d])return s[d]>i[d]^t?1:-1;return l==b?0:l>b^t?1:-1}function ma(e,a,t,n){if(e<a||e>t||e!==wt(e))throw Error(at+(n||"Argument")+(typeof e=="number"?e<a||e>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function o7(e){var a=e.c.length-1;return vt(e.e/qe)==a&&e.c[a]%2!=0}function l7(e,a){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(a<0?"e":"e+")+a}function Kt(e,a,t){var n,s;if(a<0){for(s=t+".";++a;s+=t);e=s+e}else if(n=e.length,++a>n){for(s=t,a-=n;--a;s+=t);e+=s}else a<n&&(e=e.slice(0,a)+"."+e.slice(a));return e}var Fo=Oo();async function vs(e){await new Promise(a=>setTimeout(()=>{a()},e))}function Em(e){const a=e.filter(n=>n.status==="fulfilled"),t=e.filter(n=>n.status==="rejected");return{fulfilled:a,rejected:t}}function Cm(e){const a=Em(e),t=a.fulfilled.map(s=>s.value),n=a.rejected.map(s=>s.reason?String(s.reason):"Unknown error");return{fulfilled:t,rejected:n}}function jm(e,a=3,t=1e3){return new Promise((n,s)=>{(async()=>{for(let d=0;d<a;d++)try{const f=await e();n(f);return}catch(f){d<a-1?await vs(t):s(f)}})()})}const Am=/(?:^|[^a-f0-9]+)([a-f0-9]{64}|[a-f0-9]{128})(?:$|[^a-f0-9]+)/i;function Im(e){const a=e.match(Am);return a&&a[1]||void 0}const Mm=new RegExp(`https://(bah5acgza[a-z0-9]{52})\\.${Au}`,"i");function Nm(e){const a=e.match(Mm);if(!a||!a[1])return;const t=a[1];try{return new za(t).toHex()}catch{return}}const zr=/((?:(?:[^-./?:\s][^./?:\s]{0,61}[^-./?:\s]|[^-./?:\s]{1,2})\.)+eth)(?:$|[/?:#].*)/i;function km(e){const a=e.match(zr);return a&&a[1]||void 0}function Pm(e){return km(e)||Im(e)||Nm(e)||e}function en(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>{const t=parseInt(a,10);return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)})}function Tm(e){return(e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).replaceAll("_"," ")}function Q4(e){const a=Math.floor(e/86400);if(a<14)return Gr(e);const t=Math.floor(a/7),n=a%7,s=`${t} week${t!==1?"s":""}`;return n===0?s:`${s} ${n} day${n!==1?"s":""}`}function Gr(e){e=BigInt(e);let a=e;return a<120?`${e} seconds`:(a/=BigInt(60),a<120?`${a} minutes`:(a/=BigInt(60),a<48?`${a} hours`:(a/=BigInt(24),a<14?`${a} days`:(a/=BigInt(7),a<52?`${a} weeks`:(a/=BigInt(52),`${a} years`)))))}function Dm(e,a=20,t="[…]"){return e.length<=a*2+t.length?e:`${e.slice(0,a)}${t}${e.slice(-a)}`}function Rm(e,a,t){if(!e||!a)return null;const n={};return e.forEach(({peer:s,balance:i})=>n[s]={peer:s,balance:i,sent:_a.fromPLUR("0"),received:_a.fromPLUR("0"),uncashedAmount:_a.fromPLUR("0"),total:i}),a.forEach(({peer:s,sent:i,received:d})=>n[s]={...n[s],sent:i,received:d,total:n[s].balance.plus(d).minus(i)}),t?(t?.forEach(({peer:s,uncashedAmount:i})=>{n[s].uncashedAmount=i}),Object.values(n).sort((s,i)=>{const d=Number(i.uncashedAmount.minus(s.uncashedAmount));return d!==0?d:s.peer<i.peer?-1:1})):Object.values(n).sort((s,i)=>s.peer<i.peer?-1:1)}const Om=(e,a,t)=>{const[n,s]=x.useState(!1),[i,d]=x.useState(void 0);x.useEffect(()=>{if(n||!e||!a||i)return;s(!0);const b=a.settlements.filter(({received:u})=>u.gt(_a.fromPLUR("0"))).map(({peer:u})=>jm(()=>e.getLastCashoutAction(u)));Promise.allSettled(b).then(u=>{const g=Cm(u);d(g.fulfilled),s(!1)})},[a,n,i,e]);const f=Rm(t,a?.settlements,i);let l=_a.fromPLUR("0");return f?.forEach(({uncashedAmount:b})=>l=l.plus(b)),{isLoadingUncashed:n,totalUncashed:l,accounting:f}};function Fm({peerId:e,uncashedAmount:a}){const[t,n]=x.useState(!1),[s,i]=x.useState(!1),{beeApi:d}=x.useContext(Le),{enqueueSnackbar:f}=xa(),l=()=>{n(!0)},b=()=>{n(!1)},u=()=>{e&&d?(i(!0),d.cashoutLastCheque(e).then(g=>{n(!1),f(c.jsxs("span",{children:["Successfully cashed out cheque. Transaction ",g.toHex()]}),{variant:"success"})}).catch(g=>{console.error(g),f(c.jsxs("span",{children:["Error: ",g.message]}),{variant:"error"})}).finally(()=>{i(!1)})):f(c.jsx("span",{children:"Peer Id invalid"}),{variant:"error"})};return c.jsxs("div",{children:[c.jsxs(it,{variant:"contained",onClick:l,startIcon:c.jsx(lb,{size:"1rem"}),children:["Cash out peer ",e.slice(0,8),"[…]"]}),c.jsxs(ls,{open:t,onClose:b,"aria-labelledby":"form-dialog-title",children:[c.jsx(xr,{id:"form-dialog-title",children:"Cashout Cheque"}),c.jsx(wr,{children:c.jsxs(wf,{style:{marginTop:"20px",overflowWrap:"break-word"},children:[s&&c.jsxs(c.Fragment,{children:[c.jsxs("span",{children:["Cashing out ",c.jsx("strong",{children:a})," from Peer ",c.jsx("strong",{children:e}),". Please wait..."]}),c.jsx(_r,{style:{textAlign:"center",padding:"50px"},children:c.jsx(Ht,{})})]}),!s&&c.jsxs("span",{children:["Are you sure you want to cashout ",c.jsxs("strong",{children:[a," xBZZ"]})," from Peer"," ",c.jsx("strong",{children:e}),"?"]})]})}),c.jsxs(vr,{children:[c.jsx(it,{onClick:b,color:"primary",children:"Cancel"}),c.jsx(it,{onClick:u,color:"primary",disabled:s,children:"Yes Cashout"})]})]})]})}function Bm({accounting:e,isLoadingUncashed:a,totalUncashed:t}){const n=e?.filter(({uncashedAmount:s})=>s.gt(_a.fromPLUR("0")))||[];return c.jsxs(Wa,{label:`Peers (${n.length})`,info:`${t.toSignificantDigits(4)} xBZZ (uncashed)`,children:[c.jsx(Ue,{label:"Uncashed Amount Total",value:`${t.toSignificantDigits(4)} xBZZ`}),n.map(({peer:s,balance:i,received:d,sent:f,uncashedAmount:l,total:b})=>c.jsxs(Wa,{label:`Peer ${s.slice(0,8)}[…]`,level:1,info:`${l.toSignificantDigits(4)} xBZZ (uncashed)`,children:[c.jsx(Pa,{label:"Peer ID",value:s}),c.jsx(Ue,{label:"Outstanding Balance",value:`${i.toSignificantDigits(4)} xBZZ`}),c.jsx(Ue,{label:"Settlements Sent / Received",value:`-${f.toSignificantDigits(4)} / ${d.toSignificantDigits(4)} xBZZ`}),c.jsx(Ue,{label:"Total",value:`${b.toSignificantDigits(4)} xBZZ`}),c.jsx(Ue,{label:"Uncashed Amount",value:a?"loading…":`${l.toSignificantDigits(4)} xBZZ`}),l.gt(_a.fromPLUR("0"))&&c.jsx(ba,{children:c.jsx(Fm,{uncashedAmount:l.toSignificantDigits(4),peerId:s})})]},s))]})}const Lm={WALLET:0,CHEQUEBOOK:1,STAMPS:2,FEEDS:3,STAKING:4},Um=Ke()(e=>({root:{flexGrow:1,marginBottom:e.spacing(4),textTransform:"none",marginLeft:e.spacing(-.25),marginRight:e.spacing(-.25)},tab:{marginLeft:e.spacing(.25),marginRight:e.spacing(.25)}}));function k1({active:e}){const{classes:a}=Um(),t=da(),{nodeInfo:n}=x.useContext(We);function s(i,d){t(lae[d])}return c.jsx("div",{className:a.root,children:c.jsxs(Er,{value:Lm[e],onChange:s,variant:"fullWidth",children:[c.jsx(hn,{className:a.tab,label:"Wallet"},"WALLET"),c.jsx(hn,{className:a.tab,label:"Chequebook"},"CHEQUEBOOK"),c.jsx(hn,{className:a.tab,label:"Stamps"},"STAMPS"),c.jsx(hn,{className:a.tab,label:"Feeds"},"FEEDS"),n?.beeMode===Sa.FULL?c.jsx(hn,{className:a.tab,label:"Staking"},"STAKING"):null]})})}function P1(){return c.jsx(oe,{mb:4,children:c.jsx(Me,{variant:"h1",children:"Account"})})}function $m(){const{status:e,nodeAddresses:a,chequebookAddress:t,chequebookBalance:n,settlements:s,peerBalances:i}=x.useContext(We),{beeApi:d}=x.useContext(Le),{accounting:f,totalUncashed:l,isLoadingUncashed:b}=Om(d,s,i);if(e.all===Ge.ERROR)return c.jsx(Vt,{});const u=n?.totalBalance!==void 0;return c.jsx(qf,{children:c.jsxs(c.Fragment,{children:[c.jsx(P1,{}),c.jsx(k1,{active:"CHEQUEBOOK"}),c.jsxs("div",{children:[u&&c.jsxs(Wa,{label:"Chequebook",defaultOpen:!0,children:[c.jsx(Ue,{label:"Total Balance",value:`${n?.totalBalance?.toSignificantDigits(4)??"—"} xBZZ`}),c.jsx(Ue,{label:"Available Uncommitted Balance",value:`${n?.availableBalance?.toSignificantDigits(4)??"—"} xBZZ`}),c.jsx(Ue,{label:"Total Cheques Amount Sent",value:`${s?.totalSent?.toSignificantDigits(4)??"—"} xBZZ`}),c.jsx(oe,{mb:2,children:c.jsx(Ue,{label:"Total Cheques Amount Received",value:`${s?.totalReceived?.toSignificantDigits(4)??"—"} xBZZ`})}),c.jsxs(ba,{children:[c.jsx(Sm,{}),c.jsx(Ro,{})]})]}),c.jsxs(Wa,{label:"Blockchain",defaultOpen:!0,children:[c.jsx(Pa,{label:"Ethereum address",value:a?.ethereum?a.ethereum.toChecksum():""}),c.jsx(Pa,{label:"Chequebook contract address",value:t?.chequebookAddress.toString()||""})]}),c.jsx(Bm,{accounting:f,isLoadingUncashed:b,totalUncashed:l})]})]})})}const zm=Ke()(()=>({text:{color:"#606060",fontSize:"0.9rem"}}));function Dt({children:e}){const{classes:a}=zm();return c.jsx(Me,{className:a.text,children:e})}const Gm=Ke()(()=>({button:{height:"42px",position:"relative",whiteSpace:"nowrap",color:"#242424","&:hover, &:focus":{"& svg":{fill:"#fff",transition:"0.1s"}}},cancelButton:{background:"#f7f7f7",color:"#606060"},spinnerWrapper:{position:"absolute",left:"50%",top:"50%",width:"40px",height:"40px",transform:"translate(-50%, -50%)"}}));function Be({children:e,onClick:a,iconType:t,className:n,disabled:s,loading:i,cancel:d,variant:f="contained",style:l,...b}){const{classes:u}=Gm();function g(){return i||s?"rgba(0, 0, 0, 0.26)":d?"#606060":"#dd7700"}function m(){return[n,u.button,d&&u.cancelButton].filter(S=>S).join(" ")}const p=bs.createElement(t,{size:"1.25rem",color:g()});return c.jsxs(it,{style:l,className:m(),onClick:S=>{a&&(a(S),S.currentTarget.blur())},variant:f,startIcon:p,disabled:s,...b,children:[e,i&&c.jsx("div",{className:u.spinnerWrapper,children:c.jsx(Ht,{})})]})}var Aa=(e=>(e.V3="V3",e.PrivateKey="PRIVATE_KEY",e))(Aa||{});const Bo={identities:[],setIdentities:()=>{}},_n=x.createContext(Bo);_n.Consumer;function Wm({children:e}){const[a,t]=x.useState(Bo.identities);return x.useEffect(()=>{try{t(JSON.parse(localStorage.getItem(Qe.feeds)||"[]"))}catch{t([])}},[t]),c.jsx(_n.Provider,{value:{identities:a,setIdentities:t},children:e})}function Lo(e,a,t){let n="0";if(!e)a("Required field");else{const s=new Fo(e);s.isInteger()?s.isLessThan(W7)?a(`Minimal depth is ${W7}`):s.isGreaterThan(q7)?a(`Depth has to be at most ${q7}`):(a(""),n=e):a("Depth must be an integer")}t(n)}const qm=1e3,Hm=5*6e4;function Uo(e,a,t){return Vm(e,a)}async function Vm(e,a,t){const n=Hm,s=qm;for(let i=0;i<n;i+=s){try{const d=await a.getPostageBatch(e);if(d.usable)return d}catch{}await vs(s)}throw new Error("Wait until stamp usable timeout has been reached")}function $o(){const e=new z7(Su(nn.LENGTH)).toString();return new yn(e)}function Ss(e,a){const t=e.findIndex(n=>n.uuid===a.uuid);t!==-1&&e.splice(t,1),e.unshift(a),localStorage.setItem(Qe.feeds,JSON.stringify(e))}function Km(e){localStorage.setItem(Qe.feeds,JSON.stringify(e))}async function Zm(e,a,t,n){if(a===Aa.V3&&!n)throw Error("V3 passwords require password");const s=a===Aa.PrivateKey?e.privateKey:await e.encrypt(n);return{uuid:en(),name:t,type:n?Aa.V3:Aa.PrivateKey,address:e.address,identity:s}}async function n2(e,a){if(a.length===64){const t=await er(Aa.PrivateKey,a);return{uuid:en(),name:e,type:Aa.PrivateKey,identity:a,address:t.address}}if(a.length===66&&a.toLowerCase().startsWith("0x")){const t=await er(Aa.PrivateKey,a.slice(2));return{uuid:en(),name:e,type:Aa.PrivateKey,identity:a,address:t.address}}try{const{address:t}=JSON.parse(a);return{uuid:en(),name:e,type:Aa.V3,identity:a,address:t}}catch{return null}}function Ym(e,a){return er(e.type,e.identity,a)}async function er(e,a,t){if(e===Aa.PrivateKey)return new yn(a);if(!t)throw new Error("password is required for wallet");const n=await yn.fromEncryptedJson(a,t);return new yn(n.privateKey)}async function zo(e,a,t,n,s){const i=await Ym(a,s);a.feedHash||(a.feedHash=(await e.createFeedManifest(n,u1,i.address)).toHex());const d=e.makeFeedWriter(u1,i.privateKey);await Uo(n,e),await d.uploadReference(n,t)}function _s({children:e}){return c.jsx(ls,{open:!0,PaperProps:{style:{borderRadius:0,background:"#efefef"}},children:c.jsx(oe,{p:4,sx:{maxWidth:"100%",width:"650px"},children:c.jsx(Ve,{container:!0,direction:"column",children:e})})})}const Jm=Ke()(e=>({wrapper:{padding:e.spacing(1),cursor:"pointer"}}));function Xm({onClose:e}){const{classes:a}=Jm();return c.jsx("div",{className:a.wrapper,onClick:e,children:c.jsx(bb,{})})}const Qm=Ke()(()=>({text:{color:"#606060",fontWeight:"bold"}}));function Es({children:e,onClose:a}){const{classes:t}=Qm();return c.jsxs(Ve,{container:!0,justifyContent:"space-between",alignItems:"center",children:[c.jsx("span",{children:" "}),c.jsx(Me,{className:t.text,align:"center",children:e}),c.jsx(Xm,{onClose:a})]})}function ep({identity:e,onConfirm:a,onClose:t}){return c.jsxs(_s,{children:[c.jsx(oe,{mb:4,children:c.jsx(Es,{onClose:t,children:"Delete"})}),c.jsx(oe,{mb:2,children:c.jsx(Me,{align:"center",children:`You are about to delete feed ${e.name} Website. It is strongly advised to export this feed first.`})}),c.jsxs(ba,{children:[c.jsx(Be,{iconType:Sf,onClick:()=>a(e),children:"Delete"}),c.jsx(Be,{iconType:jt,onClick:t,cancel:!0,children:"Cancel"})]})]})}var j7={exports:{}},ap=j7.exports,c2;function tp(){return c2||(c2=1,(function(e,a){(function(t,n){n()})(ap,function(){function t(b,u){return typeof u>"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(b.type)?new Blob(["\uFEFF",b],{type:b.type}):b}function n(b,u,g){var m=new XMLHttpRequest;m.open("GET",b),m.responseType="blob",m.onload=function(){l(m.response,u,g)},m.onerror=function(){console.error("could not download file")},m.send()}function s(b){var u=new XMLHttpRequest;u.open("HEAD",b,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function i(b){try{b.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),b.dispatchEvent(u)}}var d=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof gn=="object"&&gn.global===gn?gn:void 0,f=d.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=d.saveAs||(typeof window!="object"||window!==d?function(){}:"download"in HTMLAnchorElement.prototype&&!f?function(b,u,g){var m=d.URL||d.webkitURL,p=document.createElement("a");u=u||b.name||"download",p.download=u,p.rel="noopener",typeof b=="string"?(p.href=b,p.origin===location.origin?i(p):s(p.href)?n(b,u,g):i(p,p.target="_blank")):(p.href=m.createObjectURL(b),setTimeout(function(){m.revokeObjectURL(p.href)},4e4),setTimeout(function(){i(p)},0))}:"msSaveOrOpenBlob"in navigator?function(b,u,g){if(u=u||b.name||"download",typeof b!="string")navigator.msSaveOrOpenBlob(t(b,g),u);else if(s(b))n(b,u,g);else{var m=document.createElement("a");m.href=b,m.target="_blank",setTimeout(function(){i(m)})}}:function(b,u,g,m){if(m=m||open("","_blank"),m&&(m.document.title=m.document.body.innerText="downloading..."),typeof b=="string")return n(b,u,g);var p=b.type==="application/octet-stream",S=/constructor/i.test(d.HTMLElement)||d.safari,w=/CriOS\/[\d]+/.test(navigator.userAgent);if((w||p&&S||f)&&typeof FileReader<"u"){var E=new FileReader;E.onloadend=function(){var D=E.result;D=w?D:D.replace(/^data:[^;]*;/,"data:attachment/file;"),m?m.location.href=D:location=D,m=null},E.readAsDataURL(b)}else{var C=d.URL||d.webkitURL,_=C.createObjectURL(b);m?m.location=_:location.href=_,m=null,setTimeout(function(){C.revokeObjectURL(_)},4e4)}});d.saveAs=l.saveAs=l,e.exports=l})})(j7)),j7.exports}var c1=tp();const np=Ke()(e=>({wrapper:{overflow:"scroll",background:"#ffffff"},pre:{maxHeight:"6em",padding:e.spacing(2)}}));function cp(e){try{return JSON.stringify(JSON.parse(e),null,4)}catch{return e}}function sp({children:e,prettify:a}){const{classes:t}=np();return c.jsx("div",{className:t.wrapper,children:c.jsx("pre",{className:t.pre,children:a?cp(e):e})})}const rp=Ke()(()=>({wrapper:{maxWidth:"100%"}}));function ip({identity:e,onClose:a}){const{enqueueSnackbar:t}=xa(),{classes:n}=rp();function s(){c1.saveAs(new Blob([e.identity],{type:"application/json"}),e.name+".json")}function i(){return e.type===Aa.V3?"JSON file":"the private key string"}function d(){navigator.clipboard.writeText(e.identity).then(()=>t("Copied to Clipboard",{variant:"success"}))}return c.jsxs(_s,{children:[c.jsx(oe,{mb:4,children:c.jsx(Es,{onClose:a,children:"Export"})}),c.jsx(oe,{mb:2,children:c.jsx(Me,{align:"center",children:`We exported the identity associated with this feed as ${i()}.`})}),c.jsx(oe,{mb:4,className:n.wrapper,children:c.jsx(sp,{prettify:!0,children:e.identity})}),c.jsxs(ba,{children:[c.jsx(Be,{iconType:Jn,onClick:s,children:"Download JSON File"}),c.jsx(Be,{iconType:ub,onClick:d,children:"Copy To Clipboard"})]})]})}const dp=Ke()(e=>({field:{background:e.palette.background.paper,"& fieldset":{border:0},"& .Mui-focused":{background:e.palette.background.paper},"& .MuiInputBase-root":{background:e.palette.background.paper},"& .MuiFilledInput-root":{borderRadius:0}}}));function $t({name:e,label:a,password:t,optional:n,formik:s,onChange:i,defaultValue:d,placeholder:f}){const{classes:l}=dp();return s?c.jsx(_f,{component:hb,type:t?"password":void 0,required:!n,name:e,label:a,fullWidth:!0,variant:"filled",className:l.field,defaultValue:d||"",slotProps:{input:{disableUnderline:!0}},placeholder:f}):c.jsx(gb,{type:t?"password":void 0,required:!0,label:a,fullWidth:!0,variant:"filled",className:l.field,defaultValue:d||"",onChange:i,slotProps:{input:{disableUnderline:!0}},placeholder:f})}const fp=Ke()(e=>({textarea:{width:"100%",border:0,padding:e.spacing(1)},displayNone:{display:"none"}}));function op({onClose:e}){const[a,t]=x.useState(""),[n,s]=x.useState(""),i=x.useRef(null),{identities:d,setIdentities:f}=x.useContext(_n),{enqueueSnackbar:l}=xa(),{classes:b}=fp();async function u(){const S=await n2(n,a);S?p(S):l("Feed is not valid",{variant:"error"})}function g(){i.current&&i.current.click()}function m(S){const w=new FileReader,E=S.target?.files?.[0];w.onload=async C=>{const _=C.target?.result;if(_){const D=await n2(n,_);D?p(D):l("Feed is not valid",{variant:"error"})}},E&&w.readAsText(E)}function p(S){Ss(d,S),f(d),l("Feed imported successfully",{variant:"success"}),e()}return c.jsxs(_s,{children:[c.jsx("input",{onChange:m,ref:i,className:b.displayNone,type:"file"}),c.jsx(oe,{mb:4,children:c.jsx(Es,{onClose:e,children:"Import"})}),c.jsx(oe,{mb:2,children:c.jsx($t,{label:"Identity Name",name:"name",onChange:S=>s(S.target.value)})}),c.jsx(oe,{mb:4,children:c.jsx(mb,{className:b.textarea,minRows:5,onChange:S=>t(S.target.value)})}),c.jsxs(ba,{children:[c.jsx(Be,{iconType:Sr,onClick:g,children:"Upload Json File"}),c.jsx(Be,{iconType:ft,onClick:u,children:"Use Pasted Text"})]})]})}function lp(){const{identities:e,setIdentities:a}=x.useContext(_n),{status:t}=x.useContext(We),n=da(),[s,i]=x.useState(null),[d,f]=x.useState(!1),[l,b]=x.useState(!1),[u,g]=x.useState(!1);function m(){return n(Fe.ACCOUNT_FEEDS_NEW)}function p(_){n(Fe.ACCOUNT_FEEDS_VIEW.replace(":uuid",_))}function S(){g(!1),b(!1),f(!1),i(null)}function w(_){S();const D=e.filter(O=>O.uuid!==_.uuid);a(D),Km(D)}function E(_){i(_),b(!0)}function C(_){i(_),g(!0)}return t.all===Ge.ERROR?c.jsx(Vt,{}):c.jsxs(c.Fragment,{children:[c.jsx(P1,{}),c.jsx(k1,{active:"FEEDS"}),d&&c.jsx(op,{onClose:()=>f(!1)}),l&&s&&c.jsx(ip,{identity:s,onClose:S}),u&&s&&c.jsx(ep,{identity:s,onClose:S,onConfirm:_=>w(_)}),c.jsx(oe,{mb:4,children:c.jsxs(ba,{children:[c.jsx(Be,{iconType:B7,onClick:m,children:"Create New Feed"}),c.jsx(Be,{iconType:B7,onClick:()=>f(!0),children:"Import Feed"})]})}),e.map((_,D)=>c.jsxs(Wa,{label:`${_.name} Website`,defaultOpen:!0,children:[c.jsx(oe,{mb:.5,children:c.jsxs(Wa,{label:_.name,level:1,children:[c.jsx(Pa,{label:"Identity address",value:_.address}),c.jsx(Ue,{label:"Identity type",value:Tm(_.type)})]})}),c.jsx(Pa,{label:"Topic",value:u1.toHex()}),_.feedHash?c.jsx(Pa,{label:"Feed hash",value:_.feedHash}):c.jsx(oe,{mt:.5,mb:.5,children:c.jsx(Dt,{children:"No content yet. Open the feed page to upload content."})}),c.jsx(oe,{mt:.75,children:c.jsxs(ba,{children:[c.jsx(Be,{onClick:()=>p(_.uuid),iconType:E1,children:"View Feed Page"}),c.jsx(Be,{onClick:()=>E(_),iconType:Ef,children:"Export..."}),c.jsx(Be,{onClick:()=>C(_),iconType:Sf,children:"Delete..."})]})})]},D))]})}function En(){return c.jsx(Ve,{container:!0,direction:"row",justifyContent:"center",alignItems:"center",children:c.jsx(Ht,{})})}function bp({onStarted:e,onFinished:a}){const{beeApi:t}=x.useContext(Le),{refresh:n}=x.useContext(We);return c.jsx($r,{successMessage:"Successfully deposited stake.",errorMessage:"Error with depositing",dialogMessage:"Specify the amount of xBZZ you would like to stake. Your first stake must be at least 10 xBZZ. This will lock your tokens.",label:"Stake",icon:c.jsx(Jn,{size:"1rem"}),min:_a.fromPLUR("1"),action:async s=>{if(!t)throw new Error("Bee URL is not valid");e();try{return await t.depositStake(s)}finally{n(),a()}}})}function up(){const[e,a]=x.useState(!1),{status:t,stake:n,walletBalance:s}=x.useContext(We);if(t.all===Ge.ERROR)return c.jsx(Vt,{});function i(){a(!0)}function d(){a(!1)}return c.jsxs(c.Fragment,{children:[c.jsx(P1,{}),c.jsx(k1,{active:"STAKING"}),c.jsx("div",{children:e||!n?c.jsx(En,{}):c.jsxs(Wa,{label:"Staking",defaultOpen:!0,children:[c.jsx(Ue,{label:"Staked BZZ",value:`${n?.toSignificantDigits(4)} xBZZ`}),s?.bzzBalance?c.jsx(Ue,{label:"Available xBZZ balance",value:`${s.bzzBalance.toSignificantDigits(4)} xBZZ`}):null,c.jsx(ba,{children:c.jsx(bp,{onStarted:i,onFinished:d})})]})})]})}const hp=3e3;function Wr(){const{beeApi:e}=x.useContext(Le),[a,t]=x.useState(null);return x.useEffect(()=>{const n=setInterval(()=>{e&&e.getChainState().then(t).catch(console.error)},hp);return()=>clearInterval(n)}),c.jsx(Ue,{label:"Chain state",value:a?`${a.block} / ${a.chainTip}`:"-"})}const gp=3e4,Xc={stamps:null,error:null,isLoading:!1,lastUpdate:null,start:()=>{},stop:()=>{},refresh:()=>Promise.reject()},Cn=x.createContext(Xc);Cn.Consumer;function mp(e){const{depth:a,bucketDepth:t,utilization:n}=e,s=n/Math.pow(2,a-t),i=`${Math.ceil(s*100)}%`;return{...e,usage:s,usageText:i}}function pp({children:e}){const{beeApi:a}=x.useContext(Le),[t,n]=x.useState(Xc.stamps),[s,i]=x.useState(Xc.error),[d,f]=x.useState(Xc.isLoading),[l,b]=x.useState(Xc.lastUpdate),[u,g]=x.useState(null),m=x.useRef(d);x.useEffect(()=>{m.current=d},[d]);const p=x.useCallback(async()=>{if(!(m.current||!a))try{f(!0);const E=await a.getPostageBatches();n(E.map(mp)),b(Date.now()),i(null)}catch(E){i(E)}finally{f(!1)}},[a]),S=(E=gp)=>g(E),w=()=>g(null);return x.useEffect(()=>{a&&p()},[a,p]),x.useEffect(()=>{if(u){const E=setInterval(p,u);return()=>clearInterval(E)}},[u,p]),c.jsx(Cn.Provider,{value:{stamps:t,error:s,isLoading:d,lastUpdate:l,start:S,stop:w,refresh:p},children:e})}const yp=Ke()(e=>({root:{width:"100%",padding:0,margin:0,marginTop:e.spacing(4),"&:first-of-type":{marginTop:0}},rootLevel1:{marginTop:e.spacing(1)},rootLevel2:{marginTop:e.spacing(.5)},header:{backgroundColor:e.palette.background.paper},contentLevel0:{marginTop:e.spacing(1)},contentLevel12:{marginTop:e.spacing(.25),"& > li:last-of-type":{marginBottom:e.spacing(2)}},infoText:{color:"#c9c9c9"}}));function xp({children:e,expandable:a,defaultOpen:t}){const{classes:n}=yp(),[s,i]=x.useState(!!t),d=()=>{i(!s)};return c.jsxs("div",{className:`${n.root} ${n.rootLevel2}`,children:[c.jsxs(cn,{onClick:d,className:n.header,children:[e,s?c.jsx(pf,{}):c.jsx(yf,{})]}),c.jsx(b1,{in:s,timeout:"auto",unmountOnExit:!0,children:c.jsx("div",{className:n.contentLevel12,children:a})})]})}function wp(e){return["audio/wav","audio/wave","audio/x-wav","audio/mpeg","audio/mp3","audio/ogg","audio/webm","audio/aac","audio/flac","audio/m4a","audio/x-m4a"].includes(e.toLowerCase())?!0:!!document.createElement("audio").canPlayType(e)}function vp(e,a,t,n){const s=e/t,i=a/n,d=Math.max(s,i);return d<=1?{width:e,height:a}:{width:e/d,height:a/d}}function Go(){return["image/bmp","image/gif","image/vnd.microsoft.icon","image/jpeg","image/png","image/svg+xml","image/tiff","image/webp"]}const Sp=e=>Go().includes(e);function _p(e,a,t){return new Promise((n,s)=>{const i=Go();if(!e.size||!e.type||!i.includes(e.type))return s("File not supported!");try{const d=new FileReader;d.readAsDataURL(e),d.onload=f=>{const l=f?.target?.result;if(!l||typeof l!="string")throw new Error("Failed to load the image source");const b=new Image;b.src=l,b.onload=()=>{const u=vp(b.width,b.height,a,t),g=document.createElement("canvas");g.width=u.width,g.height=u.height;const m=g.getContext("2d");if(!m)throw new Error("Failed to create canvas context");m.drawImage(b,0,0,g.width,g.height),m.canvas.toBlob(p=>{if(!p)throw new Error("Failed to extract the blob from canvas");n(p)},"image/jpeg",1)}},d.onerror=f=>s(f)}catch(d){s(d)}})}function Ep(e){return["video/mp4","video/webm","video/ogg","video/quicktime","video/x-msvideo","video/avi"].includes(e.toLowerCase())?!0:!!document.createElement("video").canPlayType(e)}const s2=["index.html","index.htm"];function qr(e){const a=e.map(X7);if(!a.length||e.length===1)return!1;const t=a.find(b=>s2.includes(b));if(t)return{indexPath:t};const n=a.sort((b,u)=>b.localeCompare(u)),s=n[0].split("/"),i=n[n.length-1].split("/");let d=0;for(;d<s.length&&s[d]===i[d];d++);const f=s.slice(0,d).join("/")+"/";if(a.every(b=>b.startsWith(f))){const b=a.find(u=>s2.map(g=>f+g).includes(u));if(b)return{indexPath:b,commonPrefix:f}}return!1}function ka(e){return e>=1e15?(e/1e15).toFixed(2)+" PB":e>=1e12?(e/1e12).toFixed(2)+" TB":e>=1e9?(e/1e9).toFixed(2)+" GB":e>=1e6?(e/1e6).toFixed(2)+" MB":e>=1e3?(e/1e3).toFixed(2)+" KB":e+" bytes"}function Wo(e){if(e.length===1)return e[0].name;if(e.length>0){const a=X7(e[0]).split("/")[0];if(e.every(t=>X7(t).split("/")[0]===a))return a}return"unknown"}function Cp(e){const a=e.reduce((b,u)=>b+u.size,0),t=Wo(e),n=e.length===1?e[0].type:"folder",s=e.length,i=!!qr(e),d=Ep(n),f=wp(n),l=Sp(n);return{size:a,name:t,type:n,isWebsite:i,count:s,isVideo:d,isAudio:f,isImage:l}}function X7(e){return(e.path||e.webkitRelativePath||e.name).replace(/^\//g,"")}function y4(e,a){let t=a||X7(e);return!t.startsWith("/")&&t.includes("/")&&(t=`/${t}`),{path:t,fullPath:t,webkitRelativePath:t,lastModified:e.lastModified,name:e.name,size:e.size,type:e.type,stream:e.stream,slice:(n,s)=>e.slice(n,s),text:e.text,arrayBuffer:async()=>await e.arrayBuffer(),bytes:e.bytes}}function jp(e){const a=e.split(".").pop()?.toLowerCase()||"";return e.includes(".")&&a&&a!==e?a:""}const Ap={mp4:"video/mp4",webm:"video/webm",ogv:"video/ogg",mp3:"audio/mpeg",m4a:"audio/mp4",aac:"audio/aac",wav:"audio/wav",ogg:"audio/ogg",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",svg:"image/svg+xml",pdf:"application/pdf",txt:"text/plain",md:"text/markdown",json:"application/json",csv:"text/csv",html:"text/html",htm:"text/html",ico:"image/vnd.microsoft.icon"};function T1(e,a){const t=a?.mimeType||a?.mime||a?.["content-type"],n=jp(e);return t?{mime:t,ext:n}:{mime:Ap[n]||"application/octet-stream",ext:n}}const Ip=(e,a)=>`<html><head><meta charset="utf-8"/><title>${a}</title></head><body style="margin:0;background:#000">
11
- <video controls autoplay style="width:100%;height:100%" src="${e}"></video>
12
- </body></html>`,Mp=(e,a)=>`<html><head><meta charset="utf-8"/><title>${a}</title></head><body>
13
- <audio controls autoplay style="width:100%" src="${e}"></audio>
14
- </body></html>`,Np=(e,a)=>`<html><head><meta charset="utf-8"/><title>${a}</title></head><body style="margin:0;background:#111;display:grid;place-items:center;min-height:100vh">
15
- <img style="max-width:100%;max-height:100vh" src="${e}" />
16
- </body></html>`,kp=[{name:"video",test:e=>e.startsWith("video/"),render:(e,a,t,n)=>{e.document.write(Ip(a,n)),e.document.title=n}},{name:"audio",test:e=>e.startsWith("audio/"),render:(e,a,t,n)=>{e.document.write(Mp(a,n)),e.document.title=n}},{name:"image",test:e=>e.startsWith("image/"),render:(e,a,t,n)=>{e.document.write(Np(a,n)),e.document.title=n}},{name:"pdf",test:e=>e==="application/pdf",render:(e,a,t,n)=>{e.document.title=n,e.location.href=a}},{name:"html",test:e=>e==="text/html",render:(e,a,t,n)=>{e.document.title=n,e.location.href=a}},{name:"text-like",test:e=>e.startsWith("text/")||e==="application/json"||e==="text/markdown",render:(e,a,t,n)=>{e.document.title=n,e.location.href=a}}],Pp=Ke()(e=>({buttonSelected:{color:"white",backgroundColor:e.palette.primary.main,"&:hover":{color:e.palette.secondary.main,backgroundColor:"white","@media (hover: none)":{color:"white",backgroundColor:e.palette.primary.main}}},buttonUnselected:{color:"#dd7700",backgroundColor:"white"},infoRow:{display:"flex",justifyContent:"space-between",marginBottom:8},depthButton:{marginRight:8,flexDirection:"column",alignItems:"flex-start"}}));var ar=(e=>(e.Topup="Topup",e.Dilute="Dilute",e))(ar||{});const Tp=5,Dp="ENCRYPTION_OFF";function Rp(e){const a=$f[Dp][Xa.OFF],t=a.findIndex(n=>n.batchDepth===e);return t===-1?[]:a.slice(t+1,t+1+Tp).map(n=>Ar(n.batchDepth,!1,Xa.OFF))}function r2(e,a,t){return a===0?e:Math.round(t*(e/a))}function i2(e,a){return!!(e&&a&&e.gte(a))}function d2(e,a){return e?`${e.toSignificantDigits(4)} xBZZ${a?" (insufficient balance)":""}`:"-"}function f2({type:e,icon:a,bee:t,stamp:n,status:s}){const{classes:i}=Pp(),[d,f]=x.useState(!1),[l,b]=x.useState("1"),[u,g]=x.useState(null),[m,p]=x.useState(null),[S,w]=x.useState(null),[E,C]=x.useState(!1),{enqueueSnackbar:_}=xa(),{walletBalance:D}=x.useContext(We),O=parseInt(l,10),$=!isNaN(O)&&O>=1,W=$?Number(n.duration.toSeconds())+O*86400:null;x.useEffect(()=>{if(!$){p(null);return}let Z=!1;return t.getDurationExtensionCost(n.batchID,Pt.fromDays(O)).then(ee=>{Z||p(ee)}).catch(()=>{Z||p(null)}),()=>{Z=!0}},[O,$,t,n.batchID]);const J=n.size.toBytes(),k=Ar(n.depth,!1,Xa.OFF),P=Rp(n.depth);x.useEffect(()=>{if(u===null){w(null);return}let Z=!1;return t.getSizeExtensionCost(n.batchID,Ut.fromBytes(u),void 0,!1,Xa.OFF).then(ee=>{Z||w(ee)}).catch(()=>{Z||w(null)}),()=>{Z=!0}},[u,t,n.batchID]);const R=D?.bzzBalance,F=i2(m,R),A=i2(S,R),T=d2(m,F),v=d2(S,A),L=Z=>{f(!0),Z.stopPropagation()},B=()=>{f(!1),b("1"),g(null)},U=async()=>{if(s!==Ge.OK){_(`Node connection status is not ${Ge.OK}: ${s}`,{variant:"error"});return}C(!0);try{if(e==="Topup"){if(!$){_("Please enter a valid number of days",{variant:"error"});return}await t.extendStorageDuration(n.batchID,Pt.fromDays(O)),_("Lifetime extended successfully. Your changes will appear soon.",{variant:"success"})}if(e==="Dilute"){if(u===null)return;await t.extendStorageSize(n.batchID,Ut.fromBytes(u),void 0,!1,Xa.OFF),_("Capacity increased successfully. Your changes will appear soon.",{variant:"success"})}}catch(Z){_(`Failed: ${Z||"Unknown reason"}`,{variant:"error"})}finally{C(!1)}},H=e==="Topup"?"Extend Lifetime":"Increase Capacity";return c.jsxs(oe,{mb:2,children:[c.jsx(it,{className:i.buttonSelected,variant:"contained",onClick:L,startIcon:a,children:H}),c.jsxs(ls,{open:d,onClose:B,"aria-labelledby":"form-dialog-title",maxWidth:!1,slotProps:{paper:{style:{width:400,minHeight:320}}},children:[c.jsx(xr,{id:"form-dialog-title",children:H}),c.jsx(wr,{children:e==="Topup"?c.jsxs(oe,{children:[c.jsxs(oe,{className:i.infoRow,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"Current lifetime"}),c.jsx(Me,{variant:"body2",children:Q4(n.duration.toSeconds())})]}),c.jsxs(oe,{className:i.infoRow,alignItems:"center",mt:1,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"Days to add"}),c.jsx(vf,{autoFocus:!0,type:"number",value:l,onChange:Z=>{const ee=parseInt(Z.target.value,10);!isNaN(ee)&&ee>=1&&b(String(ee))},inputProps:{min:1},style:{width:60},sx:{"& input[type=number]":{direction:"rtl"},"& input[type=number]::-webkit-inner-spin-button":{opacity:1},"& input[type=number]::-webkit-outer-spin-button":{opacity:1}}})]}),c.jsx(uc,{style:{margin:"16px 0"}}),c.jsxs(oe,{children:[c.jsxs(oe,{className:i.infoRow,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"New lifetime"}),c.jsx(Me,{variant:"body2",children:W!==null?Q4(W):"-"})]}),c.jsxs(oe,{className:i.infoRow,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"Cost"}),c.jsx(Me,{variant:"body2",color:F?"error":"inherit",children:T})]})]})]}):c.jsxs(oe,{children:[c.jsxs(oe,{className:i.infoRow,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"Current capacity"}),c.jsx(Me,{variant:"body2",children:ka(J)})]}),c.jsxs(oe,{className:i.infoRow,alignItems:"center",mt:1,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"Select new capacity"}),c.jsxs(Cf,{size:"small",displayEmpty:!0,value:u??"",onChange:Z=>g(Z.target.value||null),style:{minWidth:140},children:[c.jsx(L7,{value:"",disabled:!0,children:"Select capacity"}),P.map(Z=>c.jsx(L7,{value:Z,children:ka(r2(Z,k,J)-J)},Z))]})]}),c.jsx(uc,{style:{margin:"16px 0"}}),c.jsxs(oe,{children:[c.jsxs(oe,{className:i.infoRow,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"New capacity"}),c.jsx(Me,{variant:"body2",children:u!==null?ka(r2(u,k,J)):"-"})]}),c.jsxs(oe,{className:i.infoRow,children:[c.jsx(Me,{variant:"body2",color:"textSecondary",children:"Cost"}),c.jsx(Me,{variant:"body2",color:A?"error":"inherit",children:v})]})]})]})}),c.jsxs(vr,{children:[c.jsx(it,{onClick:B,color:"primary",disabled:E,children:"Cancel"}),c.jsx(it,{disabled:E||(e==="Topup"?!$||F:u===null||A),onClick:async()=>{await U(),B()},color:"primary",children:E?c.jsxs(oe,{display:"flex",alignItems:"center",gap:1,children:["Processing…",c.jsx(Ht,{size:14,color:"inherit"})]}):H})]})]})]})}function Op({width:e,usage:a}){const t=Math.round(a*100),n=t+"%",s=98-t+"%";return c.jsx("div",{style:{display:"flex",alignItems:"center",height:"100%",width:e},children:c.jsxs("div",{style:{display:"flex",height:"4px",width:"100%"},children:[c.jsx("div",{style:{width:n,background:"#dd7200"}}),c.jsx("div",{style:{width:"2%"}}),c.jsx("div",{style:{width:s,background:"#c9c9c9"}})]})})}function qo({stamp:e,shorten:a}){const n=`${a?e.batchID.toHex().slice(0,8):e.batchID}${e.label?` - ${e.label}`:""}`;return c.jsxs(oe,{p:2,width:"100%",children:[c.jsxs(Ve,{container:!0,justifyContent:"space-between",alignItems:"center",direction:"row",children:[c.jsx(Me,{variant:"subtitle2",children:n}),!e.usable&&c.jsx(pb,{label:"Pending",size:"small"}),c.jsx(Op,{width:"100px",usage:e.usage})]}),!e.usable&&c.jsx(jf,{sx:{mt:1}})]})}function Fp({postageStamps:e}){const{beeApi:a}=x.useContext(Le),{status:t}=x.useContext(We);return!e||!a?null:c.jsx(Wa,{label:"Postage Stamps",defaultOpen:!0,children:e.map(n=>c.jsx(xp,{expandable:c.jsxs(c.Fragment,{children:[c.jsx(Pa,{label:"Batch ID",value:n.batchID.toHex()}),c.jsx(Ue,{label:"Depth",value:String(n.depth)}),c.jsx(Ue,{label:"Capacity (Used / Total)",value:`${ka(n.size.toBytes()-n.remainingSize.toBytes())} / ${ka(n.size.toBytes())}`}),c.jsx(Ue,{label:"Amount",value:parseInt(n.amount,10).toLocaleString()}),c.jsx(Ue,{label:"Expires in",value:Q4(n.duration.toSeconds())}),c.jsx(Ue,{label:"Label",value:n.label}),c.jsx(Ue,{label:"Usable",value:n.usable?"yes":"no"}),c.jsx(Ue,{label:"Immutable",value:n.immutableFlag?"yes":"no"}),c.jsx(Ue,{label:"Purchase Block Number",value:n.blockNumber}),c.jsxs(ba,{children:[c.jsx(f2,{type:ar.Topup,icon:c.jsx(yb,{size:"1rem"}),bee:a,stamp:n,status:t.all}),c.jsx(f2,{type:ar.Dilute,icon:c.jsx(xb,{size:"1rem"}),bee:a,stamp:n,status:t.all})]})]}),children:c.jsx(qo,{stamp:n,shorten:!0})},n.batchID.toHex()))})}const Bp=Ke()(()=>({root:{width:"100%",display:"grid"},actions:{display:"flex",width:"100%",flex:"0 1 auto",flexWrap:"wrap",alignItems:"center"}}));function Lp(){const{classes:e}=Bp(),a=da(),{stamps:t,isLoading:n,error:s,start:i,stop:d,refresh:f}=x.useContext(Cn),{status:l}=x.useContext(We);if(x.useEffect(()=>{if(l.all)return f(),i(),()=>d()},[l]),l.all===Ge.ERROR)return c.jsx(Vt,{});function b(){a(Fe.ACCOUNT_STAMPS_NEW_STANDARD)}return c.jsxs(c.Fragment,{children:[c.jsx(P1,{}),c.jsx(k1,{active:"STAMPS"}),c.jsxs("div",{className:e.root,children:[s&&c.jsxs(_r,{style:{textAlign:"center",padding:"50px"},children:[c.jsx(En,{}),c.jsx(Wr,{})]}),!s&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:e.actions,children:[c.jsx(Be,{onClick:b,iconType:B7,children:"Buy New Postage Stamp"}),c.jsx("div",{style:{height:"5px"},children:n&&c.jsx(Ht,{})})]}),c.jsx(Fp,{postageStamps:t})]})]})]})}const Up=e=>Ke()(a=>({root:{flexGrow:1,flexBasis:"100px"},wrapper:{backgroundColor:e,padding:"16px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",height:"130px"},iconWrapper:{display:"flex",alignItems:"flex-start",marginBottom:"18px"},button:{width:"100%",marginTop:"2px",backgroundColor:e,"&:hover":{backgroundColor:a.palette.primary.main,color:"white",boxShadow:"none","@media (hover: none)":{backgroundColor:a.palette.primary.main,color:"white",boxShadow:"none"}}}}));function Jt({buttonProps:e,icon:a,title:t,subtitle:n,status:s}){const i=s===Ge.ERROR?"white":"#f3f3f3",{className:d,...f}=e,{classes:l}=Up(i)();let b=null;return s===Ge.OK?b=c.jsx(ft,{size:"13",color:"#09ca6c"}):Ge.STARTING?b=c.jsx(wb,{size:"13",color:"#d99400d5"}):Ge.CONNECTING?b=c.jsx(Id,{size:"13",color:"#0074D9"}):Ge.WARNING?b=c.jsx(Id,{size:"13",color:"#cbd900"}):b=c.jsx(vb,{size:"13",color:"#f44336"}),c.jsxs("div",{className:l.root,children:[c.jsxs("div",{className:l.wrapper,children:[c.jsxs("div",{className:l.iconWrapper,children:[a,b]}),c.jsx(Me,{variant:"h2",style:{marginBottom:"8px"},children:t}),c.jsx(Me,{variant:"caption",children:n})]}),c.jsx(Be,{className:[l.button,d].join(" "),...f})]})}function Ho(){const{nodeInfo:e,walletBalance:a}=x.useContext(We),t=da();let n="Loading...";return a&&(n=`${a.bzzBalance.toSignificantDigits(4)} xBZZ | ${a.nativeTokenBalance.toSignificantDigits(4)} xDAI`),e?.beeMode&&[Sa.LIGHT,Sa.FULL,Sa.DEV].includes(e.beeMode)?c.jsx(Jt,{buttonProps:{iconType:n1,children:"Manage your wallet",onClick:()=>t(Fe.ACCOUNT_WALLET)},icon:c.jsx(n1,{}),title:n,subtitle:"Current wallet balance.",status:Ge.OK}):c.jsx(Jt,{buttonProps:{iconType:n1,children:"Setup wallet",onClick:()=>t(Fe.TOP_UP)},icon:c.jsx(Sr,{}),title:"Your wallet is not setup.",subtitle:"To share content on Swarm, please setup your wallet.",status:Ge.ERROR})}function $p(){const{nodeAddresses:e,nodeInfo:a,status:t,walletBalance:n}=x.useContext(We),{isDesktop:s}=x.useContext(Le),i=da();function d(){window.open(`https://gnosisscan.io/address/${e?.ethereum}`,"_blank")}function f(){i(Fe.ACCOUNT_INVITATIONS)}function l(){i(Fe.TOP_UP)}return t.all===Ge.ERROR?c.jsx(Vt,{}):c.jsxs(c.Fragment,{children:[c.jsx(P1,{}),a?.beeMode!==Sa.ULTRA_LIGHT&&c.jsx(k1,{active:"WALLET"}),c.jsx(oe,{mb:4,children:c.jsxs(Ve,{container:!0,direction:"row",justifyContent:"space-between",alignItems:"center",children:[c.jsx(Me,{variant:"h2",children:"Wallet balance"}),s&&n&&c.jsx(Be,{onClick:l,iconType:Jn,children:"Top up wallet"})]})}),n&&e?c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:.25,children:c.jsx(Pa,{label:"Node wallet address",value:e.ethereum.toChecksum(),expanded:!0})}),c.jsx(oe,{mb:.25,children:c.jsx(Ue,{label:"xDAI balance",value:`${n.nativeTokenBalance.toSignificantDigits(4)} xDAI`})}),c.jsx(oe,{mb:2,children:c.jsx(Ue,{label:"xBZZ balance",value:`${n.bzzBalance.toSignificantDigits(4)} xBZZ`})})]}):c.jsx(oe,{mb:8,alignItems:"center",display:"flex",justifyContent:"center",children:c.jsx(oe,{maxWidth:400,children:c.jsx(Ho,{})})}),c.jsxs(ba,{children:[c.jsx(Be,{onClick:d,iconType:z4,children:"Check transactions"}),s&&c.jsx(Be,{onClick:f,iconType:Af,children:"Invite to Swarm..."})]})]})}const zp=Ke()(()=>({pressable:{cursor:"pointer"},icon:{color:"#242424"}}));function qa({children:e}){const{classes:a}=zp(),t=da();function n(){t(-1)}return c.jsx(oe,{mb:4,children:c.jsxs(Ve,{container:!0,direction:"row",children:[c.jsx(oe,{mr:2,children:c.jsx("div",{className:a.pressable,onClick:n,children:c.jsx(Sb,{className:a.icon})})}),c.jsx(Me,{variant:"h1",children:e})]})})}function o2(e){if(typeof e=="string")return e;const a=Reflect.get(e,"label");return a||e}const Gp=Ke()(e=>({select:{borderRadius:0,background:e.palette.background.paper,"& fieldset":{border:0},"& .MuiSelect-select":{"&:focus":{background:e.palette.background.paper}}},option:{height:"52px"}}));function m1({value:e,formik:a,name:t,options:n,onChange:s,label:i,placeholder:d,disabled:f=!1}){const{classes:l}=Gp();return a?c.jsxs(c.Fragment,{children:[i&&c.jsx($4,{children:i}),c.jsx(_f,{required:!0,disabled:f,component:_b,name:t,fullWidth:!0,variant:"outlined",value:e,className:l.select,displayEmpty:!0,onChange:s,renderValue:b=>b?o2(b):d,MenuProps:{MenuListProps:{disablePadding:!0},PaperProps:{square:!0}},children:n.map((b,u)=>c.jsx(L7,{value:b.value,className:l.option,children:b.label},u))})]}):c.jsxs(c.Fragment,{children:[i&&c.jsx($4,{children:i}),c.jsx(Cf,{required:!0,disabled:f,name:t,fullWidth:!0,variant:"outlined",className:l.select,value:e,onChange:s,displayEmpty:!0,renderValue:b=>b?o2(b):d,MenuProps:{MenuListProps:{disablePadding:!0},PaperProps:{square:!0}},children:n.map((b,u)=>c.jsx(L7,{value:b.value,className:l.option,children:b.label},u))})]})}const Wp={identityName:"",type:Aa.PrivateKey,password:""};function qp(){const{beeApi:e}=x.useContext(Le),{identities:a,setIdentities:t}=x.useContext(_n),[n,s]=x.useState(Aa.PrivateKey),[i,d]=x.useState(!1),{enqueueSnackbar:f}=xa(),l=da();async function b(m){if(d(!0),!e){f(c.jsx("span",{children:"Bee API unavailabe"}),{variant:"error"}),d(!1);return}let p=[],S;try{S=$o(),p=(await e.getPostageBatches()).filter(w=>w.usable)}catch(w){console.log(w),f(c.jsx("span",{children:"Error during wallet generation or postage stamp retrieval!"}),{variant:"error"}),d(!1);return}if(!p||!p.length){f(c.jsx("span",{children:"No usable stamp available"}),{variant:"error"}),d(!1);return}if(!m.identityName||!m.type){f(c.jsx("span",{children:"Form is unfinished"}),{variant:"error"}),d(!1);return}try{const w=await Zm(S,m.type,m.identityName,m.password);Ss(a,w),t(a),l(Fe.ACCOUNT_FEEDS)}catch(w){console.log(w),f(c.jsx("span",{children:"Error identity creation!"}),{variant:"error"})}finally{d(!1)}}function u(){l(-1)}function g(m){const p=m.target.value;s(p)}return c.jsxs("div",{children:[c.jsx(qa,{children:"Create new feed"}),c.jsx(oe,{mb:4,children:c.jsxs(Dt,{children:["To create a feed you will need to create an identity. After creating, open the feed page and upload a file, folder, or website to activate it. Please refer to the"," ",c.jsx("a",{href:"https://docs.ethswarm.org/api/#tag/Feed/paths/~1feeds~1{owner}~1{topic}/post",target:"_blank",rel:"noreferrer",children:"official Bee documentation"})," ","to understand how feeds work."]})}),c.jsx(Eb,{initialValues:Wp,onSubmit:b,children:({submitForm:m,values:p})=>c.jsxs(Cb,{children:[c.jsx(oe,{mb:.25,children:c.jsx($t,{name:"identityName",label:"Identity name",formik:!0})}),c.jsx(oe,{mb:.25,children:c.jsx(m1,{formik:!0,name:"type",label:"type",value:n,options:[{label:"Keypair Only",value:Aa.PrivateKey},{label:"Password Protected",value:Aa.V3}],onChange:g})}),p.type===Aa.V3&&c.jsx($t,{name:"password",label:"Password",password:!0,formik:!0}),c.jsx(oe,{mt:2,children:c.jsx(Pa,{label:"Topic",value:u1.toHex()})}),c.jsx(oe,{mt:2,sx:{bgcolor:"#fcf2e8"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[c.jsx(Me,{children:"Feeds name"}),c.jsxs(Me,{children:[p.identityName," Website"]})]})}),c.jsx(oe,{mt:1.25,children:c.jsxs(ba,{children:[c.jsx(Be,{onClick:m,iconType:ft,disabled:i,loading:i,children:"Create Feed"}),c.jsx(Be,{onClick:u,iconType:jt,disabled:i,cancel:!0,children:"Cancel"})]})})]})})]})}var Wn=(e=>(e.Upload="UPLOAD",e.Download="DOWNLOAD",e.Feed="FEED",e))(Wn||{});const Hp=Ke()(e=>({root:{flexGrow:1,marginBottom:e.spacing(4)},leftTab:{marginRight:e.spacing(.5)},rightTab:{marginLeft:e.spacing(.5)}}));function Vo({active:e}){const{classes:a}=Hp(),t=da();function n(s,i){t(i===1?Fe.DOWNLOAD:Fe.UPLOAD)}return c.jsx("div",{className:a.root,children:c.jsxs(Er,{value:e==="UPLOAD"?0:1,onChange:n,variant:"fullWidth",children:[c.jsx(hn,{className:a.leftTab,label:"Upload"},"UPLOAD"),c.jsx(hn,{className:a.rightTab,label:"Download"},"DOWNLOAD")]})})}const Q7={origin:Wn.Upload},tr={files:[],setFiles:()=>{},uploadOrigin:Q7,setUploadOrigin:()=>{}},D1=x.createContext(tr);D1.Consumer;function Vp({children:e}){const[a,t]=x.useState(tr.files),[n,s]=x.useState(tr.uploadOrigin),[i,d]=x.useState(void 0),[f,l]=x.useState(void 0),[b,u]=x.useState(void 0);return x.useEffect(()=>{const g=Cp(a);if(d(g),f&&(URL.revokeObjectURL(f),l(void 0),u(void 0)),a.length===1){if(g.isVideo){const m=a[0],p=new Blob([m],{type:m.type});l(URL.createObjectURL(p)),u(p)}if(g.isAudio){const m=a[0],p=new Blob([m],{type:m.type});l(URL.createObjectURL(p)),u(p)}return g.isImage&&_p(a[0],Fd.maxWidth,Fd.maxHeight).then(m=>{l(URL.createObjectURL(m)),u(m)}),()=>{f&&URL.revokeObjectURL(f)}}},[a]),c.jsx(D1.Provider,{value:{files:a,setFiles:t,uploadOrigin:n,setUploadOrigin:s,metadata:i,previewUri:f,previewBlob:b},children:e})}const Kp=1e9,Zp=Ke()(e=>({areaWrapper:{position:"relative",marginBottom:e.spacing(2)},dropzone:{background:e.palette.background.default,outline:"none",border:"2px dashed #ccc",borderRadius:4,padding:e.spacing(4),textAlign:"center",cursor:"pointer",minHeight:200,display:"flex",alignItems:"center",justifyContent:"center","&:hover":{borderColor:e.palette.primary.main}},buttonWrapper:{display:"flex",width:"100%",justifyContent:"center",alignItems:"center",gap:e.spacing(1)},button:{zIndex:2}}));function Ko({uploadOrigin:e,showHelp:a}){const{setFiles:t,setUploadOrigin:n}=x.useContext(D1),{nodeInfo:s}=x.useContext(We),{classes:i}=Zp(),d=da(),{enqueueSnackbar:f}=xa(),[l,b]=x.useState(!1),u=x.useRef(null),g=O=>{_(O)},{getRootProps:m,getInputProps:p}=jb({onDrop:g,maxSize:Kp,noClick:!0}),S=()=>{u.current&&(u.current.setAttribute("directory",""),u.current.setAttribute("webkitdirectory",""),u.current.setAttribute("mozdirectory",""),u.current.click())},w=()=>{S(),b(!0)},E=()=>{S(),b(!1)},C=()=>{u.current&&(u.current.removeAttribute("directory"),u.current.removeAttribute("webkitdirectory"),u.current.removeAttribute("mozdirectory"),u.current.click())},_=O=>{if(O){const $=O,W=O.length===1?O[0].name:qr($)||void 0;if(O.length&&l&&!W){f("To upload a website, there must be an index.html or index.htm in the root of the folder.",{variant:"error"}),t([]),b(!1);return}t($),O.length&&(n(e),d(Fe.UPLOAD_IN_PROGRESS))}},D=s?.beeMode!==Sa.ULTRA_LIGHT;return c.jsxs(c.Fragment,{children:[D&&c.jsx(oe,{className:i.areaWrapper,children:c.jsxs(oe,{...m(),className:i.dropzone,children:[c.jsx("input",{...p(),ref:u}),c.jsxs(oe,{className:i.buttonWrapper,children:[c.jsx(Be,{className:i.button,onClick:C,iconType:Ab,children:"Add File"}),c.jsx(Wt,{title:"Upload any folder as a Swarm collection. No index.html file required.",arrow:!0,children:c.jsx(Be,{className:i.button,onClick:E,iconType:Ib,children:"Add Folder"})}),c.jsx(Wt,{title:"Upload a folder as a website. Must contain an index.html file.",arrow:!0,children:c.jsx(Be,{className:i.button,onClick:w,iconType:Mb,children:"Add Website"})})]})]})}),D&&a&&c.jsxs(Dt,{children:[c.jsx("strong",{children:"Add File"})," — Upload a single file. ",c.jsx("br",{}),c.jsx("strong",{children:"Add Folder"})," — Upload a directory as a collection. No index.html required. ",c.jsx("br",{}),c.jsx("strong",{children:"Add Website"})," — Upload a folder as a website. Requires an index.html in your folder. ",c.jsx("br",{}),"You can also drag and drop files or folders directly onto this area.",c.jsx("br",{}),c.jsx("br",{}),"Files uploaded here are public and unencrypted — anyone with the reference can download them. Use the"," ",c.jsx(Qt,{to:Fe.FILEMANAGER,children:"File Manager's encrypted drive"})," for private storage."]}),!D&&c.jsxs(Dt,{children:["Uploading files requires running a light node. Please"," ",c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/configuration/#upgrading-from-an-ultra-light-to-a-light-node",target:"_blank",rel:"noreferrer",children:"upgrade"})," ","to continue."]})]})}function Yp(){const{identities:e}=x.useContext(_n),{uuid:a}=us(),{beeApi:t,apiUrl:n}=x.useContext(Le),{status:s}=x.useContext(We),i=da(),[d,f]=x.useState(!1),[l,b]=x.useState(!1),u=e.find(p=>p.uuid===a);if(x.useEffect(()=>{if(!u){i(Fe.ACCOUNT_FEEDS,{replace:!0});return}u.feedHash&&t?.downloadData(u.feedHash).then(()=>f(!0)).catch(()=>f(!1))},[t,a,u,i]),!u||!s.all)return c.jsx(c.Fragment,{});function g(){i(Fe.ACCOUNT_FEEDS)}async function m(){const p=u?.feedHash,S=u?.address;if(!(!p||!S||!t)){b(!0);try{const w=await t.downloadFile(p);if(w.contentType?.includes("text/html"))window.open(`${n}/bzz/${p}/`,"_blank","noopener,noreferrer");else{const E=new Blob([w.data.toUint8Array().buffer],{type:w.contentType||"application/octet-stream"});c1.saveAs(E,w.name||p)}}catch{const w=await t.makeFeedReader(u1,S).downloadReference().catch(()=>null);w?i(Fe.HASH.replace(":hash",w.reference.toHex())):window.open(`${n}/bzz/${p}/`,"_blank","noopener,noreferrer")}finally{b(!1)}}}return c.jsxs("div",{children:[c.jsx(qa,{children:`${u.name} Website`}),c.jsx(Ko,{showHelp:!1,uploadOrigin:{origin:Wn.Feed,uuid:a}}),d&&u.feedHash?c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:2,children:c.jsx(Pa,{label:"Feed hash",value:u.feedHash})}),c.jsx(oe,{mb:4,children:c.jsx(ba,{children:c.jsx(Be,{iconType:Jn,onClick:m,loading:l,children:"Open / Download"})})})]}):c.jsx(oe,{mb:4,children:c.jsx(Dt,{children:"This feed has no content yet. Use the upload area above to add a file, folder, or website to activate it."})}),c.jsx(ba,{children:c.jsx(Be,{iconType:jt,onClick:g,cancel:!0,children:"Close"})})]})}function Zo({feedName:e,onProceed:a,onCancel:t,loading:n}){const[s,i]=x.useState("");function d(){return a(s)}return c.jsxs(_s,{children:[c.jsx(oe,{mb:4,children:c.jsx(Es,{onClose:t,children:"Update Feed"})}),c.jsx(oe,{mb:2,children:c.jsxs(Me,{children:["Please enter the password for “",e,"”:"]})}),c.jsx(oe,{mb:4,children:c.jsx($t,{label:"Password",name:"password",onChange:f=>{i(f.target.value)},password:!0})}),c.jsxs(ba,{children:[c.jsx(Be,{iconType:ft,onClick:d,disabled:n,loading:n,children:"Proceed"}),c.jsx(Be,{iconType:jt,onClick:t,cancel:!0,disabled:n,children:"Cancel"})]})]})}function Jp(){const{identities:e,setIdentities:a}=x.useContext(_n),{beeApi:t}=x.useContext(Le),{stamps:n,refresh:s}=x.useContext(Cn),{status:i}=x.useContext(We),{hash:d}=us(),[f,l]=x.useState(n?n[0]?.batchID.toHex():null),[b,u]=x.useState(e[0]??null),[g,m]=x.useState(!1),{enqueueSnackbar:p}=xa(),[S,w]=x.useState(!1),E=da();x.useEffect(()=>{s()},[]);function C(W){const J=W.target.value;u(e.find(k=>k.uuid===J)||null)}function _(W){const J=W.target.value;l(J)}function D(){E(-1)}function O(){b&&(b.type===Aa.V3?w(!0):$(b))}async function $(W,J){if(m(!0),!t||!f){p(c.jsx("span",{children:"Bee API unavailabe"}),{variant:"error"}),m(!1);return}if(!d){p(c.jsx("span",{children:"Hash is invalid"}),{variant:"error"}),m(!1);return}try{await zo(t,W,d,f,J),Ss(e,W),a([...e]),E(Fe.ACCOUNT_FEEDS_VIEW.replace(":uuid",W.uuid))}catch(k){m(!1),(typeof k=="object"&&k!==null&&Reflect.get(k,"message")||"").includes("possibly wrong passphrase")?p("Wrong password, please try again",{variant:"error"}):p("Could not update feed at this time, please try again later",{variant:"error"})}}return i.all?c.jsxs("div",{children:[S&&b&&c.jsx(Zo,{feedName:b.name+" Website",onCancel:()=>{w(!1)},onProceed:W=>{$(b,W)},loading:g}),c.jsx(qa,{children:"Update feed"}),c.jsx(oe,{mb:2,children:c.jsx(Ve,{container:!0,children:e&&e.length?c.jsx(m1,{value:b?.uuid??"",options:e.map(W=>({value:W.uuid,label:`${W.name} Website`})),onChange:C,label:"Feed"}):c.jsx(Me,{children:"You need to create an identiy first to be able to update its feed."})})}),c.jsx(oe,{mb:4,children:c.jsx(Ve,{container:!0,children:n&&n.length?c.jsx(m1,{value:f??"",options:n.map(W=>({value:W.batchID.toHex(),label:W.label?W.batchID.toHex().slice(0,8)+` (${W.label})`:W.batchID.toHex().slice(0,8)})),onChange:_,label:"Stamp"}):c.jsx(Me,{children:"You need to buy a stamp first to be able to update a feed."})})}),c.jsxs(ba,{children:[c.jsx(Be,{onClick:O,iconType:If,loading:!S&&g,disabled:g||!f||!b,children:"Update Selected Feed"}),c.jsx(Be,{onClick:D,iconType:jt,disabled:g,cancel:!0,children:"Close"})]})]}):c.jsx(Vt,{})}var x4={},l2;function Xp(){return l2||(l2=1,(function(e){var a;Object.defineProperty(e,"__esModule",{value:!0}),e.Vector=e.Cache=e.Assertions=e.Strings=e.Types=e.Objects=e.Dates=e.Promises=e.Numbers=e.System=e.Arrays=e.Random=e.Elliptic=e.Binary=e.Lock=e.Solver=e.RollingValueProvider=e.TrieRouter=e.AsyncQueue=e.PubSubChannel=e.FixedPointNumber=e.MerkleTree=e.Chunk=e.Uint8ArrayWriter=e.Uint8ArrayReader=e.AsyncLazy=e.Lazy=e.Optional=void 0;async function t(r){return new Promise((o,h)=>r.then(h,o))}async function n(r){return t(Promise.all(r.map(t)))}async function s(r,o=1){const h=Qi(r,o),y=[],M=h.map(async G=>{for(const de of G)y.push(await de())});return await Promise.all(M),y}async function i(r){return new Promise(o=>setTimeout(()=>{o(!0)},r))}function d(r,o=Math.random){for(let h=r.length-1;h>0;h--){const y=Math.floor(o()*(h+1)),M=r[h];r[h]=r[y],r[y]=M}return r}function f(r){if(r.length===1)return r[0];throw Error(`Expected exactly one element, actual: ${r.length}`)}function l(r){return r.length===1?r[0]:null}function b(r){return r.length>0?r[0]:null}function u(r){if(!r.length)throw Error("Received empty array");return r[0]}function g(r,o){const h=[];for(let y=0;y<r;y++)h.push(o(y));return h}function m(r){const o=[];for(let h=0;h<r[0].length;h++){o.push([]);for(let y=0;y<r.length;y++)o[h].push(r[y][h])}return o}function p(r,o,h){const y=[];for(let M=0;M<r;M++){y.push([]);for(let G=0;G<o;G++)y[M].push(h)}return y}function S(r,o,h,y){if(h<0||y<0||y+o[0].length>r[0].length||h+o.length>r.length)return!1;for(let M=0;M<o.length;M++)for(let G=0;G<o[M].length;G++)if(o[M][G]!==void 0&&r[h+M][y+G]!==o[M][G])return!1;return!0}function w(r,o,h=Math.random){return d(wi(0,r.length-1),h).slice(0,o)}function E(r,o){return r.map(h=>h[o])}function C(r){let o=r,h=3405648695,y=3735928559;return function(){return o+=h,h^=o<<7,o*=y,y^=o<<13,o^=h^y,(o>>>0)/4294967296}}function _(r,o,h=Math.random){return Math.floor(h()*(o-r+1))+r}function D(r,o,h=Math.random){return h()*(o-r)+r}function O(){return Math.random()*2-1}function $(r,o,h){return o>=r.x&&o<r.x+r.width&&h>=r.y&&h<r.y+r.height}function W(r,o,h,y=Math.random){let M,G;do M=_(0,r-1,y),G=_(0,o-1,y);while(h&&$(h,M,G));return[M,G]}function J(r,o=Math.random){const h=Math.floor(r),y=r-h;return k(y,o)?h+1:h}function k(r,o=Math.random){return o()<r}function P(r,o=Math.random){return r[Math.floor(r.length*o())]}function R(r,o,h=Math.random){if(o>r.length)throw new Error(`Count (${o}) is greater than array length (${r.length})`);return w(r,o,h).map(y=>r[y])}function F(r,o,h,y=Math.random){if(o>r.length)throw new Error(`Count (${o}) is greater than array length (${r.length})`);const M=[];for(;M.length<o;){const G=P(r,y);M.some(de=>h(de,G))||M.push(G)}return M}function A(r,o,h,y,M,G=Math.random){const de=r.filter(Se=>Se!==o&&Se!==h),Ce=[];for(o!==null&&Ce.push(o);de.length&&Ce.length<y;){const Se=e.Random.intBetween(0,de.length-1,G);M(de[Se],Ce)&&Ce.push(de[Se]),de.splice(Se,1)}return d(Ce,G),{values:Ce,indexOfGuaranteed:o!==null?Ce.indexOf(o):-1}}function T(r){if(!r.length)throw Error("Received empty array");return r[r.length-1]}function v(r,o,h){return h(o.reduce((y,M)=>M(y),r))}function L(r,o){return h=>v(h,r,o)}function B(r,o,h){if(h===void 0&&(h=Math.random()),r.length!==o.length)throw new Error("Array length mismatch");let y=o.reduce((G,de)=>G+de,0);const M=h*y;for(let G=0;G<r.length-1;G++)if(y-=o[G],M>=y)return r[G];return T(r)}function U(r,o,h=Math.random){const y=o.map(G=>h()*G),M=[];for(let G=0;G<r.length;G++)M.push([r[G],y[G]]);return M.sort((G,de)=>de[1]-G[1]).map(G=>G[0])}function H(r,o){if(r==null)return null;const h=o.split(".");let y=r;for(const M of h){if(y[M]===null||y[M]===void 0)return null;y=y[M]}return y}function Z(r,o,h){const y=o.split(/\.|\[/);let M=r;for(let G=0;G<y.length;G++){const de=y[G],Ce=G<y.length-1&&y[G+1].includes("]"),Se=de.includes("]")?de.replace(/\[|\]/g,""):de;if(G===y.length-1)return M[Se]=h,h;me(M[Se])||(Ce?M[Se]=[]:M[Se]={}),M=M[Se]}return h}function ee(r,o,h=1){const y=H(r,o)||0;return Z(r,o,y+h),y}function Y(r,o,h){return H(r,o)||Z(r,o,h)}function X(r,o){const h=Ws(o,"."),y=vi(o,".");if(!h||!y)return;const M=H(r,h);M&&delete M[y]}function pe(r,o,h){const y=H(r,o);if(!y)throw new Error("Key '"+o+"' does not exist.");return Z(r,o,h),y}function ie(r,o,h){for(const y of o){const M=H(r,y);if(M)return M}if(h){const y=Object.values(r);if(y.length)return y[0]}return null}async function te(r,o,h){for(;;){try{await r()}catch(y){h&&h("Error in forever",y)}await i(o)}}function ge(r,o){r();const h=setInterval(()=>{r()},o);return()=>clearInterval(h)}function ce(){const r=globalThis.process;return r?r.browser===!0?"browser":"node":"browser"}async function he(r,o,h,y,M,G){let de=null;for(let Ce=0;Ce<=o;Ce++)try{return await r()}catch(Se){if(de=Se,Ce===o)break;const Oe=h+(y-h)*(Ce/(o-1));M&&M("Error in withRetries, retrying",{attempt:Ce+1,allowedFailures:o,delayMillis:Oe,error:Se}),G&&G(),await i(Oe)}throw de}function ve(r){return r/1024/1024}function xe(r,o=1024){return r>=o*o*o*o?(r/o/o/o/o).toFixed(3)+" TB":r>=o*o*o?(r/o/o/o).toFixed(3)+" GB":r>=o*o?(r/o/o).toFixed(3)+" MB":r>=o?(r/o).toFixed(3)+" KB":r+" B"}function ue(r){const o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r.toLowerCase());if(!o)throw new Error("Invalid hex color: "+r);return[parseInt(o[1],16),parseInt(o[2],16),parseInt(o[3],16)]}function Ee(r){return"#"+r.map(o=>o.toString(16).padStart(2,"0")).join("")}function Ne(r,o,h,y){const M=r*Math.PI/180,G=h*Math.PI/180,de=(h-r)*Math.PI/180,Ce=(y-o)*Math.PI/180,Se=Math.sin(de/2)*Math.sin(de/2)+Math.cos(M)*Math.cos(G)*Math.sin(Ce/2)*Math.sin(Ce/2);return 6371e3*(2*Math.atan2(Math.sqrt(Se),Math.sqrt(1-Se)))}function N(r,o){return Math.round(r/o)*o}function se(r){return r>1e3?(r/1e3).toFixed(0)+" km":r>=500?N(r,100)+" m":r>=100?N(r,50)+" m":N(r,10)+" m"}function Q(r){return r*(r+1)/2}function q(r){const o=r.match(/-?\d+(\.\d+)?/);if(!o)throw Error("No float found in "+r);return parseFloat(o[0])}function K(r,o,h=Math.random){const y=r*o,M=Math.sqrt(r*o*(1-o)),G=(h()+h()+h()+h()+h()+h()-3)*Math.SQRT2,de=Math.round(y+M*G);return Math.max(0,Math.min(r,de))}function ne(r,o){if(!r.includes("."))return r;if(parseFloat(r)===0)return"0";const[h,y]=r.split("."),M=h.replace("-",""),G=M.length;if(G>=o)return h;if(M!=="0"){const Se=o-G,Oe=y.slice(0,Se);return/[1-9]/.test(Oe)?`${h}.${Oe.replace(/0+$/,"")}`:h}const de=y.match(/^0*/)?.[0].length??0,Ce=o+de;return`${h}.${y.slice(0,Ce)}`}function me(r,o=!0){return!r||o&&!Ie(r._readableState)||o&&r.constructor&&(r.constructor.isBuffer||r.constructor.name=="AbortController"||r.constructor.name=="AbortSignal"||r.constructor.name=="Uint8Array"||r.constructor.name==="ArrayBuffer"||r.constructor.name==="ReadableStream")?!1:typeof r=="object"}function we(r){return me(r)&&!Array.isArray(r)}function fe(r){return Array.isArray(r)&&r.length===0}function je(r){return we(r)&&Object.keys(r).length===0}function Ie(r){return r===void 0}function le(r){return Object.prototype.toString.call(r)==="[object Function]"||Object.prototype.toString.call(r)==="[object AsyncFunction]"}function _e(r){return Object.prototype.toString.call(r)==="[object String]"}function Te(r){return typeof r=="number"&&isFinite(r)}function Re(r){return r===!0||r===!1}function Ze(r){return Object.prototype.toString.call(r)==="[object Date]"}function z(r){return!_e(r)||r.trim().length===0}function j(r){return Te(r)&&Number.isInteger(r)&&r>=1}function I(r){return _e(r)&&r.match(/^-?\d+$/)!==null}function V(r){return _e(r)&&r.match(/^(0x)?[0-9a-f]+$/i)!==null}const ae="!@#$%^&*()_+-=[]{}|;:<>?,./",be="!@#$%^&*()_+-=[]{}|;:<>?,./".split(""),ye="abcdefghijklmnopqrstuvwxyz",ze="ABCDEFGHIJKLMNOPQRSTUVWXYZ",sa="1234567890",Xe=ye+ze+sa,ta=Xe+ae,Ye=["—","\\","東","京","都","𝖆","𝖇","𝖈","👾","🙇","💁","🙅","ᚠ","ᛇ","ᚻ","ᛦ"],Ot="0123456789abcdef";function rn(r,o=Math.random){let h="";for(let y=0;y<r;y++)h+=ye[Math.floor(o()*ye.length)];return h}function Ts(r,o=Math.random){let h="";for(let y=0;y<r;y++)h+=Xe[Math.floor(o()*Xe.length)];return h}function Ds(r,o=Math.random){let h="";for(let y=0;y<r;y++)h+=ta[Math.floor(o()*ta.length)];return h}function Rs(r,o=Math.random){let h="";for(let y=0;y<r;y++)h+=Ye[Math.floor(o()*Ye.length)];return h}function Os(r,o){const h=new RegExp(`[0-9a-f]{${o}}`,"i"),y=r.match(h);return y?y[0]:null}function Fs(r,o,h=be){const y=Si(r,h);for(const M of y)if(o(M))return M;return null}function Bs(r,o=Math.random){let h="";for(let y=0;y<r;y++)h+=Ot[Math.floor(o()*Ot.length)];return h}function Ls(r,o){if(!I(r))throw new TypeError(`Expected integer string${o?.name?` for ${o.name}`:""}, got: `+r);const h=BigInt(r);if(o&&(o.min&&h<o.min||o.max&&h>o.max))throw RangeError(`Expected integer string${o?.name?` for ${o.name}`:""} in range: ${o.min??"-inf"}..${o.max??"inf"}; got: `+h);return r}function q1(r,o){if(z(r))throw new TypeError(`Expected string${o?.name?` for ${o.name}`:""}, got: `+r);if(o&&(o.min!==void 0&&r.length<o.min||o.max!==void 0&&r.length>o.max))throw RangeError(`Expected string${o?.name?` for ${o.name}`:""} length in range: ${o.min??"-inf"}..${o.max??"inf"}; got: ${r.length}`);return r}function Us(r,o){if(!V(r))throw new TypeError(`Expected hex string${o?.name?` for ${o.name}`:""}, got: `+r);if(o?.strictPrefix&&!r.startsWith("0x")&&!r.startsWith("0X"))throw new TypeError(`Expected hex string with 0x prefix${o?.name?` for ${o.name}`:""}, got: `+r);const h=r.replace(/^0x/i,"");if(h.length%2!==0&&!o?.uneven)throw RangeError(`Expected even number of hex digits${o?.name?` for ${o.name}`:""}; got: `+r);if(o&&o.byteLength&&h.length!==o.byteLength*2)throw RangeError(`Expected hex string${o?.name?` for ${o.name}`:""} of byte length ${o.byteLength}; got: `+h);return`0x${h}`}function $s(r,o){if(!q1(r,o).split("").every(h=>h==="_"||Nc(h)))throw new TypeError(`Expected safe string${o?.name?` for ${o.name}`:""}, got: `+r);return r}function H1(r,o){if(o.min!==void 0&&r<o.min||o.max!==void 0&&r>o.max)throw RangeError(`Expected value${o?.name?` for ${o.name}`:""} in range: ${o.min??"-inf"}..${o.max??"inf"}; got: ${r}`)}function $e(r,o){if(!le(r))throw new TypeError(`Expected function${o?.name?` for ${o.name}`:""}, got: `+r);return r}function ga(r,o){if(Te(r))return o&&H1(r,o),r;if(!_e(r)||!r.match(/^-?\d+(\.\d+)?$/))throw new TypeError(`Expected number${o?.name?` for ${o.name}`:""}, got: `+r);const h=parseFloat(r);return o&&H1(h,o),h}function Qa(r,o){return Math.trunc(ga(r,o))}function An(r,o){if(r==="true")return!0;if(r==="false")return!1;if(!Re(r))throw new TypeError(`Expected boolean${o?.name?` for ${o.name}`:""}, got: `+r);return r}function In(r,o){if(!Ze(r))throw new TypeError(`Expected date${o?.name?` for ${o.name}`:""}, got: `+r);return r}function Ac(r){return z(r)?null:r}function V1(r,o){if(!_e(r))throw new TypeError(`Expected string${o?.name?` for ${o.name}`:""}, got: `+r);return r}function jl(r,o){if(j(r))return r;const h=parseInt(r,10);if(!j(h))throw new TypeError(`Expected id${o?.name?` for ${o.name}`:""}, got: `+r);return h}function Al(r,o){if(!_e(r))throw new TypeError(`Expected time${o?.name?` for ${o.name}`:""}, got: `+r);const h=r.split(":");if(h.length!==2)throw new TypeError(`Expected time${o?.name?` for ${o.name}`:""}, got: `+r);const y=parseInt(h[0],10),M=parseInt(h[1],10);if(!Te(y)||!Te(M)||y<0||y>23||M<0||M>59)throw new TypeError(`Expected time, got${o?.name?` for ${o.name}`:""}: `+r);return`${String(y).padStart(2,"0")}:${String(M).padStart(2,"0")}`}function Il(r,o){if(!Array.isArray(r))throw new TypeError(`Expected array${o?.name?` for ${o.name}`:""}, got: `+r);return r}function K1(r,o){if(!we(r))throw new TypeError(`Expected object${o?.name?` for ${o.name}`:""}, got: `+r);return r}function Ml(r,o){return r===null?null:K1(r,o)}function Nl(r,o){const h=K1(r,o);for(const y of Object.keys(h))if(!_e(h[y]))throw new TypeError(`Expected string map${o?.name?` for ${o.name}`:""}, got: `+r);return h}function kl(r,o){const h=K1(r),y=Object.keys(h),M=Object.values(h);if(!y.every(_e)||!M.every(Te))throw new TypeError(`Expected numeric dictionary${o?.name?` for ${o.name}`:""}, got: `+r);return h}function gi(r){return _e(r)&&r.match(/^https?:\/\/.+/)!==null}function Pl(r,o){if(!gi(r))throw new TypeError(`Expected url${o?.name?` for ${o.name}`:""}, got: `+r);return r}function mi(r){return typeof r=="bigint"}function pi(r,o){if(!mi(r))throw new TypeError(`Expected bigint${o?.name?` for ${o.name}`:""}, got: `+r);if(o?.min!==void 0&&r<o?.min||o?.max!==void 0&&r>o?.max)throw RangeError(`Expected value${o?.name?` for ${o.name}`:""} in range: ${o.min??"-inf"}..${o.max??"inf"}; got: ${r}`);return r}function Tl(r,o){return o==null?!0:r(o)}function Dl(r,o){return o==null?null:r(o)}function Rl(r,o){return o===""?void 0:r(o)}function Ol(r,o){return o==null?void 0:r(o)}function yi(r,o){for(const[h,y]of Object.entries(o))if(!y(r[h]))throw TypeError(`${h} in value does not exist or match shape`);for(const h of Object.keys(r))if(!o[h])throw TypeError(`${h} exists in value but not in shape`);return!0}function Fl(r,o){return r.every(h=>yi(h,o))}function Ic(r,o="json",h=0){if(r&&le(r.represent)){const y=r.represent();if(_e(y))return o==="json"&&h===0?JSON.stringify(y):y}if(me(r,!1)){if(h>1)return"[object Object]";if(o==="json"){if(Array.isArray(r)){const M=r.map(G=>Ic(G,"json",h+1));return h===0?JSON.stringify(M):M}const y={};r.message&&(y.message=Ic(r.message,"json",h+1));for(const[M,G]of Object.entries(r))y[M]=Ic(G,"json",h+1);return h===0?JSON.stringify(y):y}else if(o==="key-value"){const y=Object.keys(r);return r.message&&!y.includes("message")&&y.unshift("message"),y.map(M=>`${M}=${JSON.stringify(Ic(r[M],"json",h+1))}`).join(" ")}}return Ie(r)&&(r="undefined"),h===0?JSON.stringify(r):r}function Bl(r,o){if(_e(r))return r;const h=Object.keys(r);r.message&&!h.includes("message")&&h.push("message");const y=h.map(M=>`${M}: ${r[M]}`).join("; ");return o&&r.stack?y+`
17
- `+r.stack:y}function Mn(r,o){if(we(r)&&we(o))for(const h in o)we(o[h])?(r[h]||(r[h]={}),Mn(r[h],o[h])):Array.isArray(o[h])?r[h]=[...o[h]]:(o[h]!==null&&o[h]!==void 0||r[h]===null||r[h]===void 0)&&(r[h]=o[h]);return r}function Ll(r,o){const h={};return Mn(h,r),Mn(h,o),h}function Ul(r,o,h){const y={};return Mn(y,r),Mn(y,o),Mn(y,h),y}function xi(r,o){const h={};for(const y of r)for(const M of Object.keys(y))h[M]?h[M]=o(h[M],y[M]):h[M]=y[M];return h}function $l(r){return xi(r,(o,h)=>o+h)}function zl(r,o,h){r[o]||(r[o]=[]),r[o].push(h)}function Gl(r,o,h){for(r.unshift(o);r.length>h;)r.pop()}function Wl(r,o){let h=o%r.length;return h<0&&(h+=r.length),r[h]}function Z1(r,o){Array.prototype.push.apply(r,o)}function ql(r,o){Array.prototype.unshift.apply(r,o)}async function Hl(r,o){const h=[];for(const y of r)h.push(await o(y));return h}function Vl(r,o){const h=[];for(let y=0;y<r.length;y++)h.push(r[y]),y<r.length-1&&(le(o)?h.push(o()):h.push(o));return h}function Kl(r,o){if(r!==o)throw Error(`Expected [${r}] to equal [${o}]`);return[r,o]}function Zl(r){if(r!==!0)throw Error(`Expected [true], got: [${r}]`);return r}function Yl(r){if(!r)throw Error(`Expected truthy value, got: [${r}]`);return r}function Jl(r){if(r!==!1)throw Error(`Expected [false], got: [${r}]`);return r}function Xl(r){if(r)throw Error(`Expected falsy value, got: [${r}]`);return r}function Ql(r,o){if(!o.includes(r))throw Error(`Expected any of [${o.join(", ")}], got: [${r}]`);return r}function e5(r,o){for(let h=0;h<r.length;h++){const y=r[h],M=o[h],G=Math.max(0,M.getTime()-Date.now());setTimeout(y,G)}}function a5(r,o,h){return r+(o-r)*h}function t5(r){return r.reduce((o,h)=>o+h,0)}function n5(r){return r.reduce((o,h)=>o+h,0)/r.length}function c5(r){const o=[...r].sort((y,M)=>y-M),h=Math.floor(o.length/2);return o.length%2===0?(o[h]+o[h-1])/2:o[h]}function s5(r,o){return r-(o-1)/2}function wi(r,o){const h=[];for(let y=r;y<=o;y++)h.push(y);return h}function r5(r,o){return o.some(h=>r.includes(h))}function i5(r){return/^[\u4E00-\u9FA5]+$/.test(r)}function zs(r,o=()=>!1){return r.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").split("").map(h=>/[a-z0-9]/.test(h)||o(h)?h:"-").join("").replace(/-+/g,"-").replace(/^-|-$/g,"")}function d5(r){return zs(r).replaceAll("-","")}function f5(r){return X1(r.replace(/([A-Z])/g," $1"))}function o5(r){return r.split("-").map(X1).join(" ")}function l5(r){return Ei(r.split("-").map(X1).join(""))}function b5(r,o=", ",h=" and "){return!r||!r.length?"":r.length===1?r[0]:r.length===2?`${r[0]}${h}${r[1]}`:`${r.slice(0,r.length-1).join(o)}${h}${r[r.length-1]}`}function u5(r,o){return o+r.split("").join(o)+o}function h5(r){return zs(r).replace(/-/g,"_").toUpperCase()}function Y1(r,o){if(o.length===0)return 0;const h=r.toLowerCase(),y=o.toLowerCase();return r===o?1e4:h.startsWith(y)?1e4-r.length:h.includes(y)?5e3-r.length:new RegExp(".*"+y.split("").join(".*")+".*").test(h)?1e3-r.length:0}function g5(r,o){return r.filter(h=>Y1(h,o)).sort((h,y)=>Y1(y,o)-Y1(h,o))}function m5(r){return r.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}const p5={"&amp;":"&","&quot;":'"',"&apos;":"'","&gt;":">","&lt;":"<"};function y5(r){let o=r.replace(/&#(\d+);/g,(h,y)=>String.fromCharCode(y)).replace(/&#x(\d+);/g,(h,y)=>String.fromCharCode(parseInt(y,16)));for(const[h,y]of Object.entries(p5))o=o.replaceAll(h,y);return o}function Gs(r,o){const h=r.indexOf(o);return h===-1?null:r.slice(0,h)}function J1(r,o){const h=r.indexOf(o);return h===-1?null:r.slice(h+o.length)}function Ws(r,o){const h=r.lastIndexOf(o);return h===-1?null:r.slice(0,h)}function vi(r,o){const h=r.lastIndexOf(o);return h===-1?null:r.slice(h+o.length)}function x5(r,o,h){const y=Ws(r,h);return y?J1(y,o):null}function w5(r,o,h){const y=J1(r,o);return y?Gs(y,h):null}function qs(r,o,h=!1){const y=h?r.lastIndexOf(o):r.indexOf(o);return y===-1?h?[null,r]:[r,null]:[r.slice(0,y),r.slice(y+o.length)]}function Si(r,o){let h=[r];for(const y of o)h=h.flatMap(M=>M.split(y));return h.filter(y=>y)}function Hs(r){const o=T(r.split(/\\|\//g)),h=o.lastIndexOf(".",o.length-1);return h<=0?"":o.slice(h+1)}function Vs(r){const o=T(r.split(/\\|\//g)),h=o.lastIndexOf(".",o.length-1);return h<=0?o:o.slice(0,h)}function v5(r){let[o,h]=r.split("@");o=Mc(o.replaceAll(".","").toLowerCase()).replaceAll(" ","");const[y]=o.split("+");if(!y||!h||h.indexOf(".")===-1||h.indexOf(".")===h.length-1)throw new Error("Invalid email");return h=Mc(h.toLowerCase()).replaceAll(" ",""),`${y}@${h}`}function S5(r){const o=Vs(r),h=Hs(r);return h?`${o}.${h}`:o}function _5(r){const o=Vs(r),h=Hs(r);return{basename:o,extension:h,filename:h?`${o}.${h}`:o}}function E5(r,o=Math.random){return r.replace(/\{(.+?)\}/g,(h,y)=>P(y.split("|"),o))}function _i(r){const o=/\{(.+?)\}/,h=r.match(o);if(!h||!h.index)return[r];const y=h[1].split(","),M=r.slice(0,h.index),G=r.slice(h.index+h[0].length);let de=[];for(const Ce of y){const Se=_i(M+Ce+G);de=de.concat(Se)}return de}function Mc(r){return r.split(`
18
- `).map(o=>o.trim().replace(/\s+/g," ")).filter(o=>o.length>0).join(`
19
- `)}function X1(r){return r.charAt(0).toUpperCase()+r.slice(1)}function Ei(r){return r.charAt(0).toLowerCase()+r.slice(1)}function Ci(r){if(!r)return!1;const o=r.charCodeAt(0);return o>=65&&o<=90||o>=97&&o<=122}function ji(r){if(!r)return!1;const o=r.charCodeAt(0);return o>=48&&o<=57}function Nc(r){return Ci(r)||ji(r)}const C5=`
20
- \r.,?!:;"'\`(){}[]~@#$%^&*-+=|<>/\\`.split("");function j5(r){return C5.includes(r)}function A5(r){return Nc(r)||r==="."||r==="["||r==="]"||r==="_"}function I5(r,o,h,y,M){return r.slice(0,o)+y+r.slice(o,o+h)+M+r.slice(o+h)}function Ai(r,o,h=0){const y=o.exec(r.slice(h));return y?{index:y.index,match:y[0]}:null}function Ii(r,o,h=!0){if(!h)return o.every(M=>M instanceof RegExp?M.test(r):r.indexOf(M,0)!==-1);let y=0;for(const M of o)if(M instanceof RegExp){const G=Ai(r,M,y);if(!G)return!1;y=G.index+G.match.length}else{const G=r.indexOf(M,y);if(G===-1)return!1;y=G+M.length}return!0}function M5(r,o,h=!0){let y=0;for(const M of o){let G=!1;for(;!G&&y<r.length;)Ii(r[y],M,h)&&(G=!0),y++;if(!G)return!1}return!0}function N5(r){return r.match(/"|,/)?`"${r.replace(/"/g,'""')}"`:r}function Mi(r,o,h=0){const y=[];let M=r.indexOf(o,h);for(;M!==-1;)y.push(M),M=r.indexOf(o,M+o.length);return y}function ec(r,o,h=0){let y=-1;for(const M of o){const G=r.indexOf(M,h);G!==-1&&(y===-1||G<y)&&(y=G)}return y}function k5(r,o=0){for(let h=o;h<r.length;h++)if(j5(r[h]))return h;return-1}function P5(r,o=0){for(let h=o;h<r.length;h++)if(r[h]==="#"&&Nc(r[h+1]))return h;return-1}function Ni(r,o,h=0){return r.slice(0,h).lastIndexOf(o)}function ki(r,o=0,h="{",y="}"){let M=1;for(let G=o;G<r.length;G++)if(r.slice(G,G+y.length)===y){if(--M===0)return G}else r.slice(G,G+h.length)===h&&M++;return-1}function Pi(r,o){const h=o.wordBoundary?ec(r,[`${o.opening} `,`${o.opening}
21
- `],o.start||0):r.indexOf(o.opening,o.start||0);if(h===-1)return null;const y=ki(r,h+o.opening.length,o.opening,o.closing);return y===-1?null:o.exclusive?r.slice(h+o.opening.length,y):r.slice(h,y+o.closing.length)}function T5(r,o){const h=[];let y=o.wordBoundary?ec(r,[`${o.opening} `,`${o.opening}
22
- `],o.start||0):r.indexOf(o.opening,o.start||0);for(;;){if(y===-1)return h;const M=Pi(r,{...o,start:y});if(!M)return h;h.push(M),y=o.wordBoundary?ec(r,[`${o.opening} `,`${o.opening}
23
- `],y+M.length):r.indexOf(o.opening,y+M.length)}}function D5(r,o,h){let y=0;for(;;){const M=e.Strings.extractBlock(r,{...h,start:y});if(!M)return r;const G=o(M);y=r.indexOf(M,y)+G.length,r=r.replace(M,G)}}function R5(r,o){const h=[];let y=0;for(;y<r.length;){const M=r.indexOf(o,y);if(M===-1){h.push({string:r.slice(y),symbol:null});break}const G=r.indexOf(o,M+o.length);if(M>y&&G!==-1&&h.push({string:r.slice(y,M),symbol:null}),G===-1){h.push({string:r.slice(y),symbol:null});break}h.push({string:r.slice(M+o.length,G),symbol:o}),y=G+o.length}return h}function O5(r){const o=[];let h=0;for(;h<r.length;){const y=P5(r,h);if(y===-1){o.push({string:r.slice(h),symbol:null});break}const M=k5(r,y+1);if(M===-1){o.push({string:r.slice(h,y),symbol:null}),o.push({string:r.slice(y+1),symbol:"#"});break}y>h&&o.push({string:r.slice(h,y),symbol:null}),o.push({string:r.slice(y+1,M),symbol:"#"}),h=M}return o}function F5(r){const o=[];let h=0;for(;h<r.length;){const y=ec(r,["http://","https://"],h);if(y===-1){o.push({string:r.slice(h),symbol:null});break}const M=ec(r,[" ",`
24
- `],y);if(M===-1){y>h&&o.push({string:r.slice(h,y),symbol:null}),o.push({string:r.slice(y),symbol:"http"});break}y>h&&o.push({string:r.slice(h,y),symbol:null}),o.push({string:r.slice(y,M),symbol:"http"}),h=M}return o}const Ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Di="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";function B5(r){return Ri(r,Ti)}function L5(r){return Oi(r,Ti)}function U5(r){return Ri(r,Di)}function $5(r){return Oi(r,Di)}function Ri(r,o){const y=o.length;let M=0,G=0;const de=[];for(let Ce=0;Ce<r.length;Ce++){const Se=r[Ce];if(Se==="=")break;const Oe=o.indexOf(Se);if(Oe===-1)throw new Error(`Invalid character: ${Se}`);G=G<<Math.log2(y)|Oe,M+=Math.log2(y),M>=8&&(M-=8,de.push(G>>M&255))}return new Uint8Array(de)}function Oi(r,o){const h=o.length;let y=0,M=0,G="";for(let de=0;de<r.length;de++)for(M=M<<8|r[de],y+=8;y>=Math.log2(h);)y-=Math.log2(h),G+=o[M>>y&h-1];return y>0&&(G+=o[M<<Math.log2(h)-y&h-1]),G.length%4!==0&&(G+="=".repeat(4-G.length%4)),G}function z5(r){(r.startsWith("0x")||r.startsWith("0X"))&&(r=r.slice(2));const o=r.length/2,h=new Uint8Array(o);for(let y=0;y<o;y++){const M=parseInt(r.slice(y*2,y*2+2),16);h[y]=M}return h}function G5(r){return Array.from(r).map(o=>o.toString(16).padStart(2,"0")).join("")}function W5(r){return Array.from(r).map(o=>o.toString(2).padStart(8,"0")).join("")}function q5(r){const o=Math.ceil(r.length/8),h=new Uint8Array(o);for(let y=0;y<o;y++){const M=parseInt(r.slice(y*8,y*8+8),2);h[y]=M}return h}function H5(r,o){const h=r.split("/").filter(G=>G),y=o.split("/").filter(G=>G);if(h.length!==y.length)return null;const M={};for(let G=0;G<h.length;G++){const de=h[G];if(de.startsWith(":"))M[de.slice(1)]=y[G];else if(de!==y[G])return null}return M}function Ks(r,o,h){const y=[];for(const M of h)M!==o&&y.push(r.replace(o,M));return y}function V5(r,o,h,y=Math.random){const M=e.Arrays.shuffle(o.map(de=>({variants:e.Arrays.shuffle(de.variants.map(Ce=>Ce),y),avoid:de.avoid})),y),G=[];for(const de of M){const Ce=de.variants.filter(Oe=>Oe!==de.avoid),Se=Ce.find(Oe=>r.includes(Oe));if(Se&&(Z1(G,Ks(r,Se,Ce)),G.length>=h))break}if(G.length<h)for(const de of M){const Ce=de.variants.find(Se=>r.includes(Se));if(Ce&&(Z1(G,Ks(r,Ce,de.variants)),G.length>=h))break}return G.slice(0,h)}function K5(r,o,h,y=!1){const M=new RegExp(y?`(?<=\\s|^)${o}(?=\\s|$)`:`\\b${o}\\b`,"g");return r.replace(M,h)}function Z5(r,o){const h=/\b[A-Z][a-zA-Z0-9]*\b/g;return r.replace(h,y=>y.toUpperCase()===y?y:o(y))}function Y5(r){return r.replace(/<[^>]*>/g,"")}function Fi(r){const o=r.lastIndexOf(" ");if(o===-1)return{line:r,rest:""};const h=r.slice(0,o),y=r.slice(o+1);return{line:h,rest:y}}function J5(r,o={}){return[...r].reduce((h,y)=>h+(o[y]||1),0)}function X5(r,o,h={}){const y=[];let M="",G=0;for(let de=0;de<r.length;de++){const Ce=r[de],Se=h[Ce]||1;if(M+=Ce,G+=Se,G>o){const{line:Oe,rest:Ca}=Fi(M);y.push(Oe),M=Ca,G=Ca.split("").map(Ha=>h[Ha]||1).reduce((Ha,cc)=>Ha+cc,0)}}return M&&y.push(M),y}function Q5(r,o){const h=[];for(let y=0;y<=r.length;y++)h[y]=[y];for(let y=0;y<=o.length;y++)h[0][y]=y;for(let y=1;y<=r.length;y++)for(let M=1;M<=o.length;M++){const G=r[y-1]===o[M-1]?0:1;h[y][M]=Math.min(h[y-1][M]+1,h[y][M-1]+1,h[y-1][M-1]+G)}return h[r.length][o.length]}function Bi(r){const o=r.reduce((y,M)=>y.length<M.length?y:M);let h="";for(let y=0;y<o.length;y++){const M=o[y];if(r.every(G=>G[y]===M))h+=M;else break}return h}function e6(r){const o=Bi(r),h=o.lastIndexOf("/");return h===-1?"":o.slice(0,h+1)}function Zs(r,o){return new RegExp(`\\b${o}\\b`).test(r)}function a6(r,o,h){return h==="any"?o.some(y=>Zs(r,y)):o.every(y=>Zs(r,y))}function t6(r){const o={},h=r.match(/([a-z\-]+)="([^"]+)"/g);if(h)for(const y of h){const[M,G]=qs(y,"=");o[M]=G.slice(1,G.length-1)}return o}function kc(r,o,h=[]){let y="";for(;o<r.length&&(Nc(r[o])||h.includes(r[o]));)y+=r[o++];return y}function n6(r,o,h=[]){const y=Mi(r,o),M=[];for(const G of y)M.push(kc(r,G+o.length,h));return M}function c6(r,o,h="$",y=":"){for(const M in o)r=Li(r,M,o[M],h,y);return r=Ui(r),r}function Li(r,o,h,y="$",M=":"){if(h==="")return r;let G=r.indexOf(`${y}${o}`);for(;G!==-1;){if(r[G+o.length+1]===M)if(r[G+o.length+2]===M)r=r.replace(`${y}${o}${M}${M}`,h);else{const de=kc(r,G+o.length+2,["_"]);r=r.replace(`${y}${o}${M}${de}`,h)}else r=r.replace(`${y}${o}`,h);G=r.indexOf(`${y}${o}`,G+h.length)}return r}function Ui(r,o="$",h=":"){let y=r.indexOf(o);for(;y!==-1;){const M=kc(r,y+1);if(r[y+M.length+1]===h)if(r[y+M.length+2]===h)r=r.replace(`${o}${M}${h}${h}`,"");else{const G=kc(r,y+M.length+2);r=r.replace(`${o}${M}${h}${G}`,G)}y=r.indexOf(o,y+1)}return r}function s6(r,o){let h=r.indexOf("](");for(;h!==-1;){const y=Ni(r,"[",h),M=r.indexOf(")",h);if(y!==-1&&M!==-1){const[G,de]=r.slice(y+1,M).split("]("),Ce=o(G,de);r=r.slice(0,y)+Ce+r.slice(M+1)}h=r.indexOf("](",h+1)}return r}function $i(r,o=!0){const h=Object.entries(r).filter(([y,M])=>M!=null).map(([y,M])=>`${y}=${encodeURIComponent(M)}`).join("&");return h?(o?"?":"")+h:""}function r6(r){const o={},h=r.split("&");for(const y of h){const[M,G]=y.split("=");M&&G&&(o[M]=decodeURIComponent(G))}return o}function i6(r,o){return Object.prototype.hasOwnProperty.call(r,o)}function d6(r,o){let h=null,y=-1/0;for(const[M,G]of Object.entries(r)){const de=o(G);de>y&&(y=de,h=M)}return h?[h,r[h]]:null}function f6(r,o,h,y){const M=r.find(de=>de[o]===h),G=r.find(de=>de[o]===h+y);M&&G?(M[o]=h+y,G[o]=h):M&&(M[o]=h+y),r.sort((de,Ce)=>ga(de[o])-ga(Ce[o])),r.forEach((de,Ce)=>de[o]=Ce+1)}function o6(r){const o=Object.keys(r);if(o.length===1)return r[o[0]];throw new Error("Expected object to have a single key")}function l6(r,o=":"){return Object.fromEntries(r.map(h=>qs(h,o)).map(h=>h[0]&&h[1]?[Mc(h[0]),Mc(h[1])]:null).filter(h=>h))}function b6(r,o){if(!r)return!1;const h=r.message;return typeof h=="string"&&h.includes(o)}function u6(r,o,h){return qi([r,o])+$i(h||{})}function h6(r,o=",",h='"'){const y=[];let M="",G=!1;const de=r.split("");for(const Ce of de)Ce===o&&!G?(y.push(M),M=""):Ce===h&&(!M&&!G||G)?G=!G:M+=Ce;return y.push(M),y}function g6(r){return`[${Math.floor(r.progress*100)}%] ${Q1(r.deltaMs)} out of ${Q1(r.totalTimeMs)} (${Q1(r.remainingTimeMs)} left) [${Math.round(r.baseTimeMs)} ms each]`}async function m6(r,o){let h=o.requiredConsecutivePasses||1,y=0;for(let M=0;M<o.attempts;M++){try{if(await r()){if(y++,y>=h)return}else y=0}catch{y=0}M<o.attempts-1&&await i(o.waitMillis)}throw Error("Timed out waiting for predicate")}function p6(r,o){const h=[];for(let y=r.length-1;y>=0;y--)o(r[y])&&h.push(r.splice(y,1)[0]);return h}function y6(r){return JSON.parse(JSON.stringify(r))}function x6(r){return Math.ceil((r||Date.now())/1e3)}function w6(r){return(r||new Date).toISOString().slice(0,10)}function v6(r){return(r||new Date).toISOString().slice(0,19).replace(/T|:/g,"-")}function S6(r){const o=new Date(r);return new Date(o.getTime()-o.getTimezoneOffset()*6e4)}function _6(r){return new Date(r)}function Ft(r){return String(Math.floor(r)).padStart(2,"0")}function E6(r){let[o,h]=r.split(":");Te(parseInt(o,10))||(o="0"),Te(parseInt(h,10))||(h="0");let y=Qs(Qa(o),0,23),M=Qs(Qa(h),0,59);return`${Ft(y)}:${Ft(M)}`}function Q1(r){const o=Math.floor(r/36e5);r=r%36e5;const h=Math.floor(r/6e4);r=r%6e4;const y=Math.floor(r/1e3);return o?`${Ft(o)}:${Ft(h)}:${Ft(y)}`:`${Ft(h)}:${Ft(y)}`}function Nn(r){return Math.floor((Ze(r)?r.getTime():r)/864e5)}const C6={today:(r,o)=>Ft(r)+":"+Ft(o),yesterday:()=>"Yesterday",monday:()=>"Mon",tuesday:()=>"Tue",wednesday:()=>"Wed",thursday:()=>"Thu",friday:()=>"Fri",saturday:()=>"Sat",sunday:()=>"Sun",weeks:r=>`${r}w`};function j6(r,o){const h=new Date(o?.now||Date.now()),y=o?.labels||C6,M=Ze(r)?r:new Date(r);if(Nn(h)===Nn(M))return y.today(M.getUTCHours(),M.getUTCMinutes(),M.getUTCHours()>12);if(Nn(h)-Nn(M)===1)return y.yesterday();const G=Js(M);return Nn(h)-Nn(M)<7?y[G.day]():y.weeks(Math.round((h.getTime()-M.getTime())/6048e5))}const zi={now:()=>"A few seconds",seconds:r=>`${r} seconds`,minutes:r=>`${r} minutes`,hours:r=>`${r} hours`,days:r=>`${r} days`,weeks:r=>`${r} weeks`};function Gi(r,o){const h=o?.now??Date.now(),y=o?.labels||zi,M=e.Types.isDate(r)?r.getTime():r;let G=(h-M)/1e3;return G<10?y.now():G<120?y.seconds(Math.floor(G)):(G/=60,G<120?y.minutes(Math.floor(G)):(G/=60,G<48?y.hours(Math.floor(G)):(G/=24,G<14?y.days(Math.floor(G)):(G/=7,y.weeks(Math.floor(G))))))}function A6(r,o=zi){return Gi(0,{now:r*1e3,labels:o})}function I6(r,o,h){const y=(h?.now??Date.now())-r,M=Math.floor(y/o),G=o/(h?.precision??1)-Math.ceil(y%o/(h?.precision??1));return{cycles:M,remaining:G}}const Ys={};function M6(r,o){return!Ys[r]||Date.now()>Ys[r]?(Ys[r]=Date.now()+o,!0):!1}const N6={s:1e3,m:6e4,h:36e5,d:864e5};function k6(r,o,h){return o=Ze(o)?o.getTime():o,h=h?Ze(h)?h.getTime():h:Date.now(),(h-o)/N6[r]}function P6(r,o,h,y){y||(y=Date.now());const M=o/h,G=y-r,de=G/o,Ce=de*h,Se=Ce-G;return{deltaMs:G,progress:M,baseTimeMs:de,totalTimeMs:Ce,remainingTimeMs:Se}}const T6={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"};function Wi(r){return{zeroBasedIndex:r,day:T6[r]}}function Js(r){return Wi(r.getDay())}function D6(r){return Js(new Date(r))}function R6(r){return r*1e3}function O6(r){return r*6e4}function F6(r){return r*36e5}function B6(r){return r*864e5}const L6={ms:1,milli:1,millis:1,millisecond:1,milliseconds:1,s:1e3,sec:1e3,second:1e3,seconds:1e3,m:6e4,min:6e4,minute:6e4,minutes:6e4,h:36e5,hour:36e5,hours:36e5,d:864e5,day:864e5,days:864e5,w:6048e5,week:6048e5,weeks:6048e5,month:2592e6,months:2592e6,y:31536e6,year:31536e6,years:31536e6};function U6(r){const o=parseFloat(r);if(isNaN(o))throw Error("makeDate got NaN for input");const h=r.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),y=h===""?1:L6[h];if(!y)throw Error(`Unknown unit: "${h}"`);return Math.ceil(o*y)}const $6={b:0,byte:0,bytes:0,kb:1,kilobyte:1,kilobytes:1,mb:2,megabyte:2,megabytes:2,gb:3,gigabyte:3,gigabytes:3,tb:4,terabyte:4,terabytes:4};function z6(r,o=1024){const h=parseFloat(r);if(isNaN(h))throw Error("makeStorage got NaN for input");const y=r.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),M=y===""?0:$6[y];if(M==null)throw Error(`Unknown unit: "${y}"`);return Math.ceil(h*o**M)}function G6(r){return r.replace(/ +/g," ").replace(/^ /gm,"")}const Bt=new Map;async function W6(r,o,h,y){const M=Date.now(),G=Bt.get(r);if(G&&G.validUntil>M)return G.value;y?.onMiss?.();try{const de=await h();return Bt.set(r,{value:de,validUntil:M+o}),de}catch(de){throw y?.onFailure?.(de),de}}function q6(r,o,h,y){const M=Date.now(),G=Bt.get(r);if(G&&G.validUntil>M)return G.value;y?.onMiss?.();const de=h();return Bt.set(r,{value:de,validUntil:M+o}),de.catch(Ce=>{Bt.delete(r),y?.onFailure?.(Ce)}),de}function H6(r){Bt.delete(r)}function V6(){Bt.clear()}function K6(){const r=Date.now();for(const[o,h]of Bt.entries())h.validUntil<=r&&Bt.delete(o)}function Z6(){return Bt.size}function qi(r,o=!1){r=r.filter(G=>G),o&&_e(r[1])&&(r[1]="../"+r[1]);let h="";_e(r[0])&&r[0].includes("://")&&(h=Gs(r[0],"://")??"",r[0]=J1(r[0],"://")??"");const y=r.map(G=>String(G)).flatMap(G=>G.split("/")),M=[];for(let G=0;G<y.length;G++)y[G]!=="."&&(y[G]===".."?(!h||M.length>1)&&M.pop():M.push(y[G]));return(h?h+"://":"")+M.join("/").replaceAll(/\/{2,}/g,"/")}function Y6(r,o,h,y,M=!0){const G=r.indexOf(o),de=r.indexOf(h,G+o.length);if(G===-1||de===-1)throw Error("Start or end not found");return M?r.substring(0,G+o.length)+y+r.substring(de):r.substring(0,G)+y+r.substring(de+h.length)}function J6(r){let o="p";r.startsWith("#")?(o="h1",r=r.slice(1).trim()):r.startsWith("-")&&(o="li",r=r.slice(1).trim());const h=r[0]===r[0].toUpperCase(),y=/[.?!]$/.test(r),M=/:$/.test(r);return{type:o,isCapitalized:h,hasPunctuation:y,endsWithColon:M}}function X6(r,o="(",h=")"){let y=0,M=0;for(;M<r.length;)if(r.startsWith(o,M)?(y++,M+=o.length):r.startsWith(h,M)?(y--,M+=h.length):M++,y<0)return!1;return o===h?y%2===0:y===0}function Q6(r){r=r.normalize("NFD").replace(/[\u0300-\u036f]/g,"");let o=r.length;for(;r=r.replace(/(\w+)[\s,']+\w+/g,"$1"),r.length!==o;)o=r.length;return r=r.replaceAll(/[A-Z][a-zA-Z0-9]*/g,"A"),r=r.replaceAll(/[a-z][a-zA-Z0-9]*/g,"a"),r=r.replaceAll(/[\u4E00-\u9FA5]+/g,"Z"),r}function Hi(r){const o=Object.keys(r).sort((y,M)=>y.localeCompare(M)),h={};for(const y of o)h[y]=kn(r[y]);return h}function Vi(r){const o=[];return r.sort((h,y)=>JSON.stringify(kn(h)).localeCompare(JSON.stringify(kn(y)))).forEach(h=>o.push(kn(h))),o}function kn(r){return Array.isArray(r)?Vi(r):me(r)?Hi(r):r}function Ki(r,o){return JSON.stringify(kn(r))===JSON.stringify(kn(o))}function e9(...r){for(let o=1;o<r.length;o++)if(!Ki(r[o-1],r[o]))return!1;return!0}function a9(r){try{return JSON.parse(r)}catch{return null}}function t9(){let r=0;return{next:()=>r++}}function n9(r){let o=0;return{next:()=>r[o++%r.length]}}function c9(r){let o;return h=>{const y=h===r&&o!==r;return o=h,y}}function s9(r,o,h,y,M){const G={};for(const de of Object.keys(o))G[de]=[];G[y]=[],M&&(r=r.sort(M));for(const de of r){const Ce=de[h],Se=o[Ce]?Ce:y;G[Se].length>=o[Se]?G[y].push(de):G[Se].push(de)}return G}function r9(r,o){const h=Object.keys(r),y=Object.keys(o);return{uniqueToA:h.filter(M=>!y.includes(M)),uniqueToB:y.filter(M=>!h.includes(M))}}function Zi(r){const o=Object.keys(r);return o[Math.floor(Math.random()*o.length)]}function i9(r,o){const h=Zi(r);return r[h]=o(r[h]),h}function d9(r){return r=r.replace(/\r\n/g,`
25
- `),r=r.replace(/(\w+)\((.+)\)/g,(o,h,y)=>`${h}(${y.replaceAll(",","&comma;")})`),r=r.replace(/(,)(\s+})/g,"$2"),r=r.replace(/\.\.\..+?,/g,""),r=r.replace(/({\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),r=r.replace(/(,\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),r=r.replace(/:(.+)\?(.+):/g,(o,h,y)=>`: (${h.trim()} && ${y.trim()}) ||`),r=r.replace(/([a-zA-Z0-9]+)( ?: ?{)/g,'"$1"$2'),r=r.replace(/([a-zA-Z0-9]+) ?: ?(.+?)(,|\n|})/g,(o,h,y,M)=>`"${h}":"${y.trim()}"${M}`),r=r.replace(/("'|'")/g,'"'),r=r.replaceAll("&comma;",","),JSON.parse(r)}const dn=[1e3,1e6,1e9,1e12,1e15,1e18,1e21,1e24,1e27,1e30,1e9,1e16,1e18,1e18,1e18,1e33],f9=["thousand","million","billion","trillion","quadrillion","quintillion","sextillion","septillion","octillion","nonillion","gwei","bzz","btc","eth","dai","decillion"],Yi=["K","M","B","T","Qa","Qi","Sx","Sp","O","N","gwei","bzz","eth","btc","dai","D"];function o9(r,o,h){let y=r.length-o;if(y<=0)return"0."+"0".repeat(-y)+r+(h?" "+h:"");let M=r.substring(0,y),G=r.substring(y);return M===""&&(M="0"),M+"."+G+(h?" "+h:"")}function l9(r,o){const h=o?.longForm??!1,y=o?.unit?` ${o.unit}`:"",M=h?f9:Yi,G=o?.precision??1;if(r<dn[0])return`${r}${y}`;for(let de=0;de<dn.length-1;de++)if(r<dn[de+1])return`${(r/dn[de]).toFixed(G)}${h?" ":""}${M[de]}${y}`;return`${(r/dn[dn.length-1]).toFixed(G)}${h?" ":""}${M[dn.length-1]}${y}`}function Xs(r){const o=parseFloat(r);if(isNaN(o))throw Error("makeNumber got NaN for input");const h=r.replace(/^-?[0-9.]+/,"").trim(),y=Yi.findIndex(M=>M.toLowerCase()===h.toLowerCase());return y===-1?o:o*dn[y]}function Qs(r,o,h){return r<o?o:r>h?h:r}function b9(r,o,h){const y=r+o;return y>h?h:y}function u9(r,o,h){const y=r-o;return y<h?h:y}function h9(r,o){return o(r),r}function g9(r,o){r&&o(r)}function m9(r,o){const h=Object.keys(o);for(const y of h)Array.isArray(o[y])&&Array.isArray(r[y])&&Z1(r[y],o[y])}function p9(r){return r.splice(0,r.length),r}function y9(r){for(const o of Object.keys(r))(fe(r[o])||Array.isArray(r[o])&&r[o].every(h=>h==null))&&delete r[o];return r}function x9(r){for(const o of Object.entries(r))(o[1]===null||o[1]===void 0||_e(o[1])&&z(o[1]))&&delete r[o[0]];return r}function w9(r,o){const h={};for(const[y,M]of Object.entries(r))o(y)&&(h[y]=M);return h}function v9(r,o){const h={};for(const[y,M]of Object.entries(r))o(M)&&(h[y]=M);return h}function S9(r,o){const h={};for(const y of Object.entries(r))h[y[0]]=o(y[1]);return h}function _9(r,o){const h=[];let y=0;for(const M of r)h.push(o(M,y++));return h}async function E9(r,o){try{return await r()}catch{throw o}}function C9(r,o,h){h!=null&&(r[o]=h)}function j9(r,o,h,y){const M=H(h,y);M!=null&&Z(r,o,M)}function A9(r){const o={};for(const[h,y]of Object.entries(r))o[y]=h;return o}function I9(r){const o=Object.keys(r),h=o.map(Ce=>r[Ce].length),y=h.reduce((Ce,Se)=>Ce*=Se);let M=1;const G=[1];for(let Ce=0;Ce<h.length-1;Ce++)M*=h[Ce],G.push(M);const de=[];for(let Ce=0;Ce<y;Ce++){const Se={};for(let Oe=0;Oe<o.length;Oe++){const Ca=r[o[Oe]],Ha=Math.floor(Ce/G[Oe])%Ca.length;Se[o[Oe]]=Ca[Ha]}de.push(Se)}return de}function M9(r){return Object.values(r).filter(o=>o).length}function N9(r,o,h){return r+(h?"["+o+"]":(r.length?".":"")+o)}function e7(r,o,h,y,M){if(!me(o))return o;for(const[G,de]of Object.entries(o)){const Ce=N9(h,G,y);Array.isArray(de)?M?e7(r,de,Ce,!0,M):r[Ce]=de.map(Se=>e7(Array.isArray(Se)?[]:{},Se,"",!1,M)):me(de)?e7(r,de,Ce,!1,M):r[Ce]=de}return r}function k9(r,o=!1,h){return e7({},r,h||"",!1,o)}function Ji(r){if(!me(r))return r;const o=Array.isArray(r)?[]:{};for(const[h,y]of Object.entries(r))Array.isArray(y)?Z(o,h,y.map(M=>Ji(M))):Z(o,h,y);return o}function P9(r,o,h){return o[r]?o[r]:h}function Xi(r,o){const h={};for(const y of r){const M=o(y);h[M]=y}return h}function T9(r,o){const h={};for(const y of r){const M=o(y);h[M]||(h[M]=[]),h[M].push(y)}return h}function D9(r,o){const h=[];for(let y=0;y<r.length;y+=o)h.push(r.slice(y,y+o));return h}function Qi(r,o){const h=Math.ceil(r.length/o),y=[];for(let M=0;M<r.length;M+=h)y.push(r.slice(M,M+h));return y}function ed(r,o){const h=[],y=Math.ceil(r.length/o);for(let M=0;M<y;M++)h.push(r.slice(M*o,M*o+o));return h}function R9(r,o){const h=Math.ceil(r.length/o);return ed(r,h)}function O9(r,o){return Object.values(Xi(r,o))}function F9(r,o,h,y,M){const G=o?r.map(o):r,de={};for(const Se of G)de[Se]=(de[Se]||0)+1;const Ce=y?ad(de,M?(Se,Oe)=>Se[1]-Oe[1]:(Se,Oe)=>Oe[1]-Se[1]):de;return h?Object.keys(Ce):Ce}function ad(r,o){return Object.fromEntries(Object.entries(r).sort(o))}function B9(r){const o=[],h=Object.keys(r),y=r[h[0]].length;for(let M=0;M<y;M++){const G={};for(const de of h)G[de]=r[de][M];o.push(G)}return o}function L9(r,o,h=1){for(const y of r)y[o]+=h}function U9(r,o,h){for(const y of r)y[o]=h}function e0(r,o){const h=[];let y=[];return r.forEach((M,G)=>{(G===0||!o(M,r[G-1]))&&(y=[],h.push(y)),y.push(M)}),h}function $9(){return{map:new Map,keys:[]}}function z9(){return{map:new Map,keys:[]}}function td(r,o,h,y=100){if(r.map.has(o)){const M=r.keys.indexOf(o);r.keys.splice(M,1)}if(r.map.set(o,h),r.keys.push(o),r.keys.length>y){const M=r.keys.shift();M&&r.map.delete(M)}}function G9(r,o,h,y=100){if(r.map.has(o)){const M=r.keys.indexOf(o);r.keys.splice(M,1)}if(r.map.set(o,h),r.keys.unshift(o),r.keys.length>y){const M=r.keys.shift();M&&r.map.delete(M)}}function W9(r,o,h,y,M=100){td(r,o,{validUntil:Date.now()+y,data:h},M)}function q9(r,o){const h=r.map.get(o);return h&&h.validUntil>Date.now()?h.data:null}class fn{constructor(o){this.value=o}static of(o){return new fn(o)}static empty(){return new fn(null)}map(o){return new fn(this.value!==null&&this.value!==void 0?o(this.value):null)}mapAsync(o){return this.value!==null&&this.value!==void 0?o(this.value).then(h=>fn.of(h)):Promise.resolve(fn.empty())}ifPresent(o){return this.value!==null&&this.value!==void 0&&o(this.value),this}ifPresentAsync(o){return this.value!==null&&this.value!==void 0?o(this.value).then(()=>this):Promise.resolve(this)}ifAbsent(o){return(this.value===null||this.value===void 0)&&o(),this}ifAbsentAsync(o){return this.value===null||this.value===void 0?o().then(()=>this):Promise.resolve(this)}getOrFallback(o){return this.value??o()}getOrFallbackAsync(o){return this.value!==null&&this.value!==void 0?Promise.resolve(this.value):o()}getOrThrow(){if(this.value===null||this.value===void 0)throw Error("Optional.value is empty");return this.value}}e.Optional=fn;class H9{constructor(o){this.supplier=o,this.value=null}get(){return this.value||(this.value=this.supplier()),this.value}}e.Lazy=H9;class V9{constructor(o){this.supplier=o,this.value=null}async get(){return this.value||(this.value=await this.supplier()),this.value}}e.AsyncLazy=V9;function K9(r){return()=>r.forEach(o=>o())}function Z9(r,o){return r.reduce((h,y)=>o(h)>o(y)?h:y)}function Y9(r,o){return r.reduce((h,y)=>o(h)<o(y)?h:y)}function J9(r,o){const h=[];return r.forEach((y,M)=>{o(y)&&h.push(M)}),h}function X9(r,o){const h=r.find(y=>y instanceof o);return fn.of(h)}function Q9(r,o){return r.filter(h=>h instanceof o)}function e8(r,o){const h=[],y=Math.max(r.length,o.length);for(let M=0;M<y;M++)r[M]&&h.push(r[M]),o[M]&&h.push(o[M]);return h}function a8(r,o){return r.includes(o)?r.filter(h=>h!==o):[...r,o]}class t8{constructor(o){this.value=o,this.children=[]}}function n8(r,o,h,y,M=!1){const G=new Map,de=[];r.forEach(Se=>{const Oe=new t8(Se);G.set(Se[o],Oe)}),r.forEach(Se=>{const Oe=G.get(Se[o]);if(!Oe)return;const Ca=Se[h];if(Ca){const Ha=G.get(Ca);Ha&&Ha.children.push(Oe)}else de.push(Oe)});const Ce=Se=>{Se.children.sort((Oe,Ca)=>{const Ha=Oe.value[y],cc=Ca.value[y];return M?cc-Ha:Ha-cc}),Se.children.forEach(Ce)};return de.forEach(Ce),de}function nd(r,o){if(Math.log2(r.length)%1!==0)throw new Error("Array length must be a power of 2");let h=[...r];for(;h.length>1;){const y=[];for(let M=0;M<h.length;M+=2){const G=h[M+1];y.push(o(h[M],G))}h=y}return h[0]}function ac(...r){const o=r.reduce((M,G)=>M+G.length,0),h=new Uint8Array(o);let y=0;return r.forEach(M=>{h.set(M,y),y+=M.length}),h}function cd(r){return r[0]===137&&r[1]===80&&r[2]===78&&r[3]===71}function sd(r){return r[0]===255&&r[1]===216}function rd(r){return r[8]===87&&r[9]===69&&r[10]===66&&r[11]===80}function c8(r){return cd(r)||sd(r)||rd(r)}function s8(r){return new Uint8Array([r])}function r8(r){return r[0]}function i8(r,o){const h=new ArrayBuffer(2);return new DataView(h).setUint16(0,r,o==="LE"),new Uint8Array(h)}function d8(r,o){return new DataView(r.buffer).getUint16(r.byteOffset,o==="LE")}function f8(r,o){const h=new ArrayBuffer(4);return new DataView(h).setUint32(0,r,o==="LE"),new Uint8Array(h)}function o8(r,o){return new DataView(r.buffer).getUint32(r.byteOffset,o==="LE")}function a0(r,o){const h=new ArrayBuffer(8);return new DataView(h).setBigUint64(0,BigInt(r),o==="LE"),new Uint8Array(h)}function l8(r,o){return new DataView(r.buffer).getBigUint64(r.byteOffset,o==="LE")}function tc(r,o){const h=new Uint8Array(32);let y=r;if(o==="LE"){for(let M=0;M<32;M++)h[M]=Number(y&0xffn),y>>=8n;return h}for(let M=31;M>=0;M--)h[M]=Number(y&0xffn),y>>=8n;return h}function nc(r,o){let h=0n;if(o==="LE"){for(let y=31;y>=0;y--)h=h<<8n|BigInt(r[y]);return h}for(let y=0;y<32;y++)h=h<<8n|BigInt(r[y]);return h}function b8(r,o){const h=[];let y=0;for(const M of o)h.push(r.subarray(y,y+M)),y+=M;return h}function t0(r,o){const h=[];for(let y=0;y<r.length;y+=o)h.push(r.subarray(y,y+o));return h}const id=[0,1,0,32898,2147483648,32906,2147483648,2147516416,0,32907,0,2147483649,2147483648,2147516545,2147483648,32777,0,138,0,136,0,2147516425,0,2147483658,0,2147516555,2147483648,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,0,32778,2147483648,2147483658,2147483648,2147516545,2147483648,32896,0,2147483649,2147483648,2147516424];function u8(r){for(let o=0;o<24;o++){const h=r[0]^r[10]^r[20]^r[30]^r[40],y=r[1]^r[11]^r[21]^r[31]^r[41],M=r[2]^r[12]^r[22]^r[32]^r[42],G=r[3]^r[13]^r[23]^r[33]^r[43],de=r[4]^r[14]^r[24]^r[34]^r[44],Ce=r[5]^r[15]^r[25]^r[35]^r[45],Se=r[6]^r[16]^r[26]^r[36]^r[46],Oe=r[7]^r[17]^r[27]^r[37]^r[47],Ca=r[8]^r[18]^r[28]^r[38]^r[48],Ha=r[9]^r[19]^r[29]^r[39]^r[49],cc=M<<1|G>>>31,Q8=G<<1|M>>>31,Dc=Ca^cc,Rc=Ha^Q8,eb=de<<1|Ce>>>31,ab=Ce<<1|de>>>31,Oc=h^eb,Fc=y^ab,tb=Se<<1|Oe>>>31,nb=Oe<<1|Se>>>31,Bc=M^tb,Lc=G^nb,cb=Ca<<1|Ha>>>31,sb=Ha<<1|Ca>>>31,Uc=de^cb,$c=Ce^sb,rb=h<<1|y>>>31,ib=y<<1|h>>>31,zc=Se^rb,Gc=Oe^ib;r[0]^=Dc,r[1]^=Rc,r[2]^=Oc,r[3]^=Fc,r[4]^=Bc,r[5]^=Lc,r[6]^=Uc,r[7]^=$c,r[8]^=zc,r[9]^=Gc,r[10]^=Dc,r[11]^=Rc,r[12]^=Oc,r[13]^=Fc,r[14]^=Bc,r[15]^=Lc,r[16]^=Uc,r[17]^=$c,r[18]^=zc,r[19]^=Gc,r[20]^=Dc,r[21]^=Rc,r[22]^=Oc,r[23]^=Fc,r[24]^=Bc,r[25]^=Lc,r[26]^=Uc,r[27]^=$c,r[28]^=zc,r[29]^=Gc,r[30]^=Dc,r[31]^=Rc,r[32]^=Oc,r[33]^=Fc,r[34]^=Bc,r[35]^=Lc,r[36]^=Uc,r[37]^=$c,r[38]^=zc,r[39]^=Gc,r[40]^=Dc,r[41]^=Rc,r[42]^=Oc,r[43]^=Fc,r[44]^=Bc,r[45]^=Lc,r[46]^=Uc,r[47]^=$c,r[48]^=zc,r[49]^=Gc;const f0=r[0],o0=r[1],l0=r[2]<<1|r[3]>>>31,b0=r[3]<<1|r[2]>>>31,u0=r[5]<<30|r[4]>>>2,h0=r[4]<<30|r[5]>>>2,g0=r[6]<<28|r[7]>>>4,m0=r[7]<<28|r[6]>>>4,p0=r[8]<<27|r[9]>>>5,y0=r[9]<<27|r[8]>>>5,x0=r[11]<<4|r[10]>>>28,w0=r[10]<<4|r[11]>>>28,v0=r[13]<<12|r[12]>>>20,S0=r[12]<<12|r[13]>>>20,_0=r[14]<<6|r[15]>>>26,E0=r[15]<<6|r[14]>>>26,C0=r[17]<<23|r[16]>>>9,j0=r[16]<<23|r[17]>>>9,A0=r[18]<<20|r[19]>>>12,I0=r[19]<<20|r[18]>>>12,M0=r[20]<<3|r[21]>>>29,N0=r[21]<<3|r[20]>>>29,k0=r[22]<<10|r[23]>>>22,P0=r[23]<<10|r[22]>>>22,T0=r[25]<<11|r[24]>>>21,D0=r[24]<<11|r[25]>>>21,R0=r[26]<<25|r[27]>>>7,O0=r[27]<<25|r[26]>>>7,F0=r[29]<<7|r[28]>>>25,B0=r[28]<<7|r[29]>>>25,L0=r[31]<<9|r[30]>>>23,U0=r[30]<<9|r[31]>>>23,$0=r[33]<<13|r[32]>>>19,z0=r[32]<<13|r[33]>>>19,G0=r[34]<<15|r[35]>>>17,W0=r[35]<<15|r[34]>>>17,q0=r[36]<<21|r[37]>>>11,H0=r[37]<<21|r[36]>>>11,V0=r[38]<<8|r[39]>>>24,K0=r[39]<<8|r[38]>>>24,Z0=r[40]<<18|r[41]>>>14,Y0=r[41]<<18|r[40]>>>14,J0=r[42]<<2|r[43]>>>30,X0=r[43]<<2|r[42]>>>30,Q0=r[45]<<29|r[44]>>>3,e4=r[44]<<29|r[45]>>>3,a4=r[47]<<24|r[46]>>>8,t4=r[46]<<24|r[47]>>>8,n4=r[48]<<14|r[49]>>>18,c4=r[49]<<14|r[48]>>>18;r[0]=f0^~v0&T0,r[1]=o0^~S0&D0,r[2]=v0^~T0&q0,r[3]=S0^~D0&H0,r[4]=T0^~q0&n4,r[5]=D0^~H0&c4,r[6]=q0^~n4&f0,r[7]=H0^~c4&o0,r[8]=n4^~f0&v0,r[9]=c4^~o0&S0,r[10]=g0^~A0&M0,r[11]=m0^~I0&N0,r[12]=A0^~M0&$0,r[13]=I0^~N0&z0,r[14]=M0^~$0&Q0,r[15]=N0^~z0&e4,r[16]=$0^~Q0&g0,r[17]=z0^~e4&m0,r[18]=Q0^~g0&A0,r[19]=e4^~m0&I0,r[20]=l0^~_0&R0,r[21]=b0^~E0&O0,r[22]=_0^~R0&V0,r[23]=E0^~O0&K0,r[24]=R0^~V0&Z0,r[25]=O0^~K0&Y0,r[26]=V0^~Z0&l0,r[27]=K0^~Y0&b0,r[28]=Z0^~l0&_0,r[29]=Y0^~b0&E0,r[30]=p0^~x0&k0,r[31]=y0^~w0&P0,r[32]=x0^~k0&G0,r[33]=w0^~P0&W0,r[34]=k0^~G0&a4,r[35]=P0^~W0&t4,r[36]=G0^~a4&p0,r[37]=W0^~t4&y0,r[38]=a4^~p0&x0,r[39]=t4^~y0&w0,r[40]=u0^~C0&F0,r[41]=h0^~j0&B0,r[42]=C0^~F0&L0,r[43]=j0^~B0&U0,r[44]=F0^~L0&J0,r[45]=B0^~U0&X0,r[46]=L0^~J0&u0,r[47]=U0^~X0&h0,r[48]=J0^~u0&C0,r[49]=X0^~h0&j0,r[0]^=id[o*2],r[1]^=id[o*2+1]}}function dd(r){const o=[];for(let h=0;h<r.length;h+=4)o.push(r[h]|r[h+1]<<8|r[h+2]<<16|r[h+3]<<24);return o}function fd(r,o){if(!r.length){const M=new Uint8Array(136);return M[0]=o,M[135]=128,[dd(M)]}const h=t0(r,136),y=h[h.length-1];if(y.length<136){const M=new Uint8Array(136);M.set(y),M[y.length]=o,M[135]|=128,h[h.length-1]=M}if(y.length===136){const M=new Uint8Array(136);M[0]=o,M[135]=128,h.push(M)}return h.map(dd)}function od(r,o){for(const h of o){for(let y=0;y<34;y+=2)r[y]^=h[y+1],r[y+1]^=h[y];u8(r)}return r}function ld(r){return new Uint8Array([r[1],r[1]>>-24,r[1]>>-16,r[1]>>-8,r[0],r[0]>>8,r[0]>>16,r[0]>>24,r[3],r[3]>>-24,r[3]>>-16,r[3]>>-8,r[2],r[2]>>8,r[2]>>16,r[2]>>24,r[5],r[5]>>-24,r[5]>>-16,r[5]>>-8,r[4],r[4]>>8,r[4]>>16,r[4]>>24,r[7],r[7]>>-24,r[7]>>-16,r[7]>>-8,r[6],r[6]>>8,r[6]>>16,r[6]>>24])}function on(r){return ld(od(new Array(50).fill(0),fd(r,1)))}function h8(r){return ld(od(new Array(50).fill(0),fd(r,6)))}function g8(r,o){const h=Math.min(r.length,o.length);for(let y=0;y<h;y++){const M=r[y]^o[y];for(let G=0;G<8;G++)if(M>>7-G&1)return y*8+G}return Math.min(r.length,o.length)*8}function m8(r,o){const h=Math.min(r.length,o.length);for(let y=0;y<h;y++)if(r[y]!==o[y])return r.subarray(0,y);return r.subarray(0,h)}function p8(r,o,h,y){const M=Math.floor(o/8),G=o%8;h===1?r[M]|=1<<(y==="BE"?7-G:G):r[M]&=~(1<<(y==="BE"?7-G:G))}function y8(r,o,h){const y=Math.floor(o/8),M=o%8;return r[y]>>(h==="BE"?7-M:M)&1}function x8(r,o,h=0){for(let y=h;y<r.length;y++)for(let M=0;M<o.length&&r[y+M]===o[M];M++)if(M===o.length-1)return y;return-1}function bd(r,o,h=0){if(r.length>=o)return r;const y=new Uint8Array(o);return y.fill(h),y.set(r,o-r.length),y}function w8(r,o,h=0){const y=r.length%o;return y===0?r:bd(r,r.length+o-y,h)}function ud(r,o,h=0){if(r.length>=o)return r;const y=new Uint8Array(o);return y.fill(h),y.set(r,0),y}function v8(r,o,h=0){const y=r.length%o;return y===0?r:ud(r,r.length+o-y,h)}function S8(r,o){const h=new Uint8Array(r.length);for(let y=0;y<r.length;y++)h[y]=r[y]^o[y%o.length];return h}function _8(r){for(let o=0;o<r.length;o++){const h=r[o];if(!(h<128))if((h&224)===192){if(o+1>=r.length||(r[o+1]&192)!==128)return!1;o+=1}else if((h&240)===224){if(o+2>=r.length||(r[o+1]&192)!==128||(r[o+2]&192)!==128)return!1;o+=2}else if((h&248)===240){if(o+3>=r.length||(r[o+1]&192)!==128||(r[o+2]&192)!==128||(r[o+3]&192)!==128)return!1;o+=3}else return!1}return!0}function E8(r,o){if(r.length!==o.length)return!1;for(let h=0;h<r.length;h++)if(r[h]!==o[h])return!1;return!0}function ia(r,o){return(r%o+o)%o}function Pc(r,o){r=ia(r,o);let[h,y]=[0n,1n],[M,G]=[o,r];for(;G!==0n;){const de=M/G;[h,y]=[y,h-de*y],[M,G]=[G,M-de*G]}if(M>1n)throw new Error("a is not invertible");return h<0n&&(h+=o),h}function C8(r,o,h){let y=1n;for(r=ia(r,h);o>0;)o%2n===1n&&(y=ia(y*r,h)),r=ia(r*r,h),o=o/2n;return y}function hd(r,o){return ia(r,o)===0n?0n:o%4n===3n?C8(r,(o+1n)/4n,o):null}const Fa=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,Ia=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,a7=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,t7=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;function n0(r,o,h){if(o===0n)return[0n,0n];const y=ia(3n*r*r*Pc(2n*o,h),h),M=ia(y*y-2n*r,h),G=ia(y*(r-M)-o,h);return[M,G]}function n7(r,o,h,y,M){if(r===0n&&o===0n)return[h,y];if(h===0n&&y===0n)return[r,o];if(r===h&&o===ia(-y,M))return[0n,0n];if(r===h&&o===y)return n0(r,o,M);const G=ia((y-o)*Pc(h-r,M),M),de=ia(G*G-r-h,M),Ce=ia(G*(r-de)-o,M);return[de,Ce]}function j8(r){if(r<=0n||r>=Ia)throw new Error("Invalid private key");return Pn(a7,t7,r,Fa)}function A8(r){const o=r[1]%2n===0n?2:3;return new Uint8Array([o,...tc(r[0],"BE")])}function I8(r){if(r.length!==33||r[0]!==2&&r[0]!==3)throw new Error("Invalid compressed public key");const o=nc(r.slice(1),"BE"),h=hd(ia(o**3n+7n,Fa),Fa);if(!h)throw Error("Invalid x: does not correspond to a valid curve point");const y=ia(-h,Fa),M=h%2n===0n;return[o,r[0]===2?M?h:y:M?y:h]}function M8(r){const o=new Uint8Array(20),h=on(ac(tc(r[0],"BE"),tc(r[1],"BE")));return o.set(h.subarray(12)),o}function N8(r){const o=e.Binary.uint8ArrayToHex(r),h=e.Binary.uint8ArrayToHex(e.Binary.keccak256(new Uint8Array([...o].map(M=>M.charCodeAt(0)))));let y="0x";for(let M=0;M<o.length;M++)parseInt(h[M],16)>7?y+=o[M].toUpperCase():y+=o[M];return y}function Pn(r,o,h,y){let M=[0n,0n],G=[r,o];const de=h.toString(2);for(const Ce of de)Ce==="0"?(G=n7(M[0],M[1],G[0],G[1],y),M=n0(M[0],M[1],y)):(M=n7(M[0],M[1],G[0],G[1],y),G=n0(G[0],G[1],y));return M}function k8(r,o,h){return gd(nc(on(r),"BE"),o,h)}function gd(r,o,h){if(o<=0n||o>=Ia)throw new Error("Invalid private key");if(h||(h=ia(nc(on(ac(on(tc(o,"BE")),tc(r,"BE"))),"BE"),Ia)),h<=0n||h>=Ia)throw new Error("Invalid nonce");const y=ia(r,Ia),M=Pn(a7,t7,h,Fa),G=ia(M[0],Ia);let de=ia((y+ia(G,Ia)*o)*Pc(h,Ia),Ia);if(G===0n||de===0n)throw new Error("Invalid r or s value");let Ce=M[1]%2n===0n?27n:28n;return de>Ia/2n&&(de=Ia-de,Ce=Ce===27n?28n:27n),[G,de,Ce]}function P8(r,o,h,y){const M=hd(ia(o**3n+7n,Fa),Fa);if(!M)throw new Error("Invalid r: does not correspond to a valid curve point");const G=y===27n?0n:1n,de=M%2n===G?M:Fa-M,Ce=ia(nc(on(r),"BE"),Ia),Se=Pn(o,de,h,Fa),Oe=Pn(a7,t7,Ce,Fa),Ca=n7(Se[0],Se[1],Oe[0],ia(-Oe[1],Fa),Fa);return Pn(Ca[0],Ca[1],Pc(o,Ia),Fa)}function T8(r,o,h,y){const M=ia(nc(on(r),"BE"),Ia),G=Pc(y,Ia),de=ia(M*G,Ia),Ce=ia(h*G,Ia),Se=Pn(a7,t7,de,Fa),Oe=Pn(o[0],o[1],Ce,Fa),Ca=n7(Se[0],Se[1],Oe[0],Oe[1],Fa);return h===ia(Ca[0],Ia)}class md{constructor(o){this.cursor=0,this.buffer=o}read(o){const h=this.buffer.subarray(this.cursor,this.cursor+o);return this.cursor+=o,h}max(){return this.buffer.length-this.cursor}}e.Uint8ArrayReader=md;class pd{constructor(o){this.buffer=o,this.cursor=0}write(o){const h=Math.min(this.max(),o.max());return this.buffer.set(o.read(h),this.cursor),this.cursor+=h,h}max(){return this.buffer.length-this.cursor}}e.Uint8ArrayWriter=pd;class ln{constructor(o,h=0n){this.span=h,this.writer=new pd(new Uint8Array(o))}build(){return ac(a0(this.span,"LE"),this.writer.buffer)}hash(){const o=nd(t0(this.writer.buffer,32),(h,y)=>ln.hashFunction(ac(h,y)));return ln.hashFunction(ac(a0(this.span,"LE"),o))}}e.Chunk=ln,ln.hashFunction=on;class c0{constructor(o,h=4096){this.counters=[1],this.capacity=h,this.chunks=[new ln(h)],this.onChunk=o}static async root(o,h=4096){const y=new a(a.NOOP,h);return await y.append(o),y.finalize()}async append(o,h=0,y=0n){const M=new md(o);for(;M.max()>0;){this.chunks[h].writer.max()===0&&await this.elevate(h);const G=this.chunks[h].writer.write(M);y?this.chunks[h].span+=y:this.chunks[0].span+=BigInt(G)}}async elevate(o){this.counters[o]=++this.counters[o]%(this.capacity/32),this.chunks[o+1]||(this.chunks.push(new ln(this.capacity)),this.counters.push(1)),await this.append(this.chunks[o].hash(),o+1,this.chunks[o].span),await this.onChunk(this.chunks[o]),this.chunks[o]=new ln(this.capacity)}async finalize(o=0){return this.chunks[o+1]?this.counters[o]===1?(await this.elevate(o+1),this.chunks[o+1]=this.chunks[o],this.finalize(o+1)):(await this.elevate(o),this.finalize(o+1)):(await this.onChunk(this.chunks[o]),this.chunks[o])}}e.MerkleTree=c0,a=c0,c0.NOOP=async r=>{};class bt{constructor(o,h){if(h<0)throw Error("Scale must be non-negative");this.value=BigInt(o),this.scale=h}static cast(o){if(!o)throw Error("Cannot cast falsy value to FixedPointNumber");if(o instanceof bt)return o;const h=pi(o.value),y=ga(o.scale);return new bt(h,y)}static fromDecimalString(o,h){/e\-\d+$/i.test(o)&&(o=parseFloat(o).toFixed(h));let[y,M]=o.split(".");return M=(M||"").padEnd(h,"0").slice(0,h),new bt(BigInt(y+M),h)}static fromFloat(o,h){return bt.fromDecimalString(o.toString(),h)}add(o){return this.assertSameScale(o),new bt(this.value+o.value,this.scale)}subtract(o){return this.assertSameScale(o),new bt(this.value-o.value,this.scale)}multiply(o){return new bt(this.value*o,this.scale)}divmod(o){if(o===0n)throw new Error("Division by zero is not allowed");const h=this.value/o,y=this.value%o;return[new bt(h,this.scale),new bt(y,this.scale)]}exchange(o,h,y){if(o==="*"){const G=this.value*h.value/10n**BigInt(this.scale);return new bt(G,y)}this.assertSameScale(h);const M=this.value*10n**BigInt(y)/h.value;return new bt(M,y)}compare(o){return this.assertSameScale(o),this.value>o.value?1:this.value<o.value?-1:0}toDecimalString(){if(this.scale===0)return this.value.toString();const o=this.value.toString(),h=o.slice(0,-this.scale)||"0",y=o.slice(-this.scale).padStart(this.scale,"0");return`${h}.${y}`}toString(){return this.value.toString()}toJSON(){return this.toString()}toFloat(){return parseFloat(this.toDecimalString())}assertSameScale(o){if(this.scale!==o.scale)throw new Error(`Scale mismatch: expected ${this.scale}, but got ${o.scale}`)}}e.FixedPointNumber=bt;function D8(r){if(r.length===0)return null;const o=r[0];return o.ttlMax?--o.ttl<=0&&r.shift():o.ttlMax=o.ttl,{progress:(o.ttlMax-o.ttl)/o.ttlMax,data:o.data}}function c7(r,o,h,y){const M=r.findIndex(Ce=>Ce===`--${o}`||Ce.startsWith(`--${o}=`)),G=r[M];if(!G)return(h||{})[y||o||""]||null;if(G.includes("="))return G.split("=")[1];const de=r[M+1];return de&&!de.startsWith("-")?de:(h||{})[y||o||""]||null}function R8(r,o,h,y){const M=c7(r,o,h,y);if(!M)return null;try{return Xs(M)}catch{throw new Error(`Invalid number argument ${o}: ${M}`)}}function O8(r,o,h,y){const M=r.some(Se=>Se.endsWith("-"+o)),G=c7(r,o,h,y);if(!G&&M)return!0;if(!G&&!M)return null;const de=["true","1","yes","y","on"],Ce=["false","0","no","n","off"];if(de.includes(G.toLowerCase()))return!0;if(Ce.includes(G.toLowerCase()))return!1;throw Error(`Invalid boolean argument ${o}: ${G}`)}function yd(r,o,h,y){const M=c7(r,o,h,y);if(!M)throw new Error(`Missing argument ${o}`);return M}function F8(r,o,h,y){const M=yd(r,o,h,y);try{return Xs(M)}catch{throw new Error(`Invalid argument ${o}: ${M}`)}}function xd(r,o){const h=r[o];r.splice(o,1),r.unshift(h)}function B8(r,o){const h=[...r];return xd(h,o),h}function wd(r,o){return{x:r.x+o.x,y:r.y+o.y}}function L8(r,o){return{x:r.x-o.x,y:r.y-o.y}}function s0(r,o){return{x:r.x*o,y:r.y*o}}function U8(r){const o=Math.sqrt(r.x*r.x+r.y*r.y);return{x:r.x/o,y:r.y/o}}function vd(r,o,h){return{x:r.x+Math.cos(o)*h,y:r.y+Math.sin(o)*h}}function Sd(r,o){return Math.sqrt((r.x-o.x)**2+(r.y-o.y)**2)}function Tc(r,o,h="row-first"){const y=[];if(h==="column-first")for(let M=0;M<r.length;M++)for(let G=0;G<r[0].length;G++)o(M,G)&&y.push({x:M,y:G});else for(let M=0;M<r[0].length;M++)for(let G=0;G<r.length;G++)o(G,M)&&y.push({x:G,y:M});return y}function $8(r,o,h){return r[o+1]?.[h]&&r[o-1]?.[h]&&!r[o][h-1]&&!r[o][h+1]}function z8(r,o,h){return r[o][h+1]&&r[o][h-1]&&!r[o-1]?.[h]&&!r[o+1]?.[h]}function _d(r,o,h){return!r[o-1]?.[h]}function Ed(r,o,h){return!r[o+1]?.[h]}function Cd(r,o,h){return!r[o][h-1]}function jd(r,o,h){return!r[o][h+1]}function G8(r,o,h){const y=[];return r[o][h]?$8(r,o,h)||z8(r,o,h)?[]:(!r[o-1]?.[h-1]&&_d(r,o,h)&&Cd(r,o,h)&&y.push({x:o,y:h}),!r[o+1]?.[h-1]&&Ed(r,o,h)&&Cd(r,o,h)&&y.push({x:o+1,y:h}),!r[o-1]?.[h+1]&&_d(r,o,h)&&jd(r,o,h)&&y.push({x:o,y:h+1}),!r[o+1]?.[h+1]&&Ed(r,o,h)&&jd(r,o,h)&&y.push({x:o+1,y:h+1}),y):(r[o-1]?.[h]&&r[o][h-1]&&y.push({x:o,y:h}),r[o+1]?.[h]&&r[o][h-1]&&y.push({x:o+1,y:h}),r[o-1]?.[h]&&r[o][h+1]&&y.push({x:o,y:h+1}),r[o+1]?.[h]&&r[o][h+1]&&y.push({x:o+1,y:h+1}),y)}function W8(r,o,h,y){const M=[{x:0,y:0},{x:h,y:0},{x:0,y},{x:h,y}];for(let G=0;G<r.length;G++)for(let de=0;de<r[0].length;de++){const Ce=G8(r,G,de);for(const Se of Ce)M.some(Oe=>Oe.x===Se.x&&Oe.y===Se.y)||M.push(Se)}return M.map(G=>({x:G.x*o,y:G.y*o}))}function q8(r,o){const h=Tc(r,(Se,Oe)=>r[Se][Oe]===0&&r[Se][Oe+1]!==0,"row-first").map(Se=>({...Se,dx:1,dy:0})),y=Tc(r,(Se,Oe)=>r[Se][Oe]===0&&r[Se][Oe-1]!==0,"row-first").map(Se=>({...Se,dx:1,dy:0})),M=Tc(r,(Se,Oe)=>r[Se][Oe]===0&&r[Se-1]?.[Oe]!==0,"column-first").map(Se=>({...Se,dx:0,dy:1})),G=Tc(r,(Se,Oe)=>r[Se][Oe]===0&&r[Se+1]?.[Oe]!==0,"column-first").map(Se=>({...Se,dx:0,dy:1}));h.forEach(Se=>Se.y++),G.forEach(Se=>Se.x++);const de=e0([...M,...G],(Se,Oe)=>Se.x===Oe.x&&Se.y-1===Oe.y),Ce=e0([...y,...h],(Se,Oe)=>Se.y===Oe.y&&Se.x-1===Oe.x);return[...de,...Ce].map(Se=>({start:Se[0],end:T(Se)})).map(Se=>({start:s0(Se.start,o),end:s0(wd(Se.end,{x:Se.start.dx,y:Se.start.dy}),o)}))}function H8(r,o){return Math.atan2(o.y-r.y,o.x-r.x)}function V8(r,o){return o.map(h=>H8(r,h)).sort((h,y)=>h-y)}function Ad(r,o,h,y){const M=(y.y-h.y)*(o.x-r.x)-(y.x-h.x)*(o.y-r.y);if(M===0)return null;let G=r.y-h.y,de=r.x-h.x;const Ce=(y.x-h.x)*G-(y.y-h.y)*de,Se=(o.x-r.x)*G-(o.y-r.y)*de;return G=Ce/M,de=Se/M,G>0&&G<1&&de>0&&de<1?{x:r.x+G*(o.x-r.x),y:r.y+G*(o.y-r.y)}:null}function r0(r,o,h){const y=[],M=vd(r,h,1e4);for(const G of o){const de=Ad(r,M,G.start,G.end);de&&y.push(de)}return y.length?y.reduce((G,de)=>{const Ce=Sd(r,de),Se=Sd(r,G);return Ce<Se?de:G}):null}function K8(r,o,h){const y=V8(r,h),M=[];for(const G of y){const de=r0(r,o,G-.001),Ce=r0(r,o,G+.001);de&&M.push(de),Ce&&M.push(Ce)}return M}class i0{constructor(){this.subscribers=[]}subscribe(o){return this.subscribers.push(o),()=>{this.subscribers=this.subscribers.filter(h=>h!==o)}}publish(o){this.subscribers.forEach(h=>h(o))}clear(){this.subscribers=[]}getSubscriberCount(){return this.subscribers.length}}e.PubSubChannel=i0;class Z8{constructor(o,h){this.queue=[],this.running=0,this.onProcessed=new i0,this.onDrained=new i0,this.concurrency=o,this.capacity=h}process(){if(this.running>=this.concurrency)return;const o=this.queue.shift();o&&(this.running++,o().finally(()=>{this.running--,this.process(),this.onProcessed.publish(),this.running===0&&this.onDrained.publish()}))}enqueue(o){if(this.queue.length<this.capacity)return this.queue.push(o),this.process(),Promise.resolve();if(this.onProcessed.getSubscriberCount())throw Error("Queue capacity is full");return new Promise(h=>{this.onProcessed.subscribe(()=>{this.queue.length<this.capacity&&(this.queue.push(o),this.process(),this.onProcessed.clear(),h())})})}drain(){if(this.running===0)return Promise.resolve();if(this.onDrained.getSubscriberCount())throw Error("Already draining");return new Promise(o=>{this.onDrained.subscribe(()=>{this.onDrained.clear(),o()})})}}e.AsyncQueue=Z8;class d0{constructor(){this.forks=new Map}insert(o,h){if(o.length===0){this.handler=h;return}const y=o[0];let M=y,G;if(y.startsWith(":")&&(M=":",G=y.slice(1)),!this.forks.has(M)){const de=new d0;G&&(de.variableName=G),this.forks.set(M,de)}this.forks.get(M).insert(o.slice(1),h)}async handle(o,h,y,M){if(o.length===0)return this.handler?(await this.handler(h,y,M),!0):!1;const G=o[0],de=this.forks.get(G);if(de)return de.handle(o.slice(1),h,y,M);const Ce=this.forks.get(":");if(Ce)return Ce.variableName&&M.set(Ce.variableName,decodeURIComponent(G)),Ce.handle(o.slice(1),h,y,M);const Se=this.forks.get("*");return Se?(M.set("wildcard",o.join("/")),Se.handler?(await Se.handler(h,y,M),!0):!1):!1}}e.TrieRouter=d0;class Y8{constructor(o){this.index=0,this.values=o}current(){return this.values[this.index]}next(){return this.index=(this.index+1)%this.values.length,this.values[this.index]}}e.RollingValueProvider=Y8;class J8{constructor(){this.status="pending",this.steps=[],this.onStatusChange=async()=>{},this.onStepChange=async()=>{},this.onFinish=async()=>{},this.onError=async()=>{},this.context=new Map}getStatus(){return this.status}createInitialState(){return Object.fromEntries(this.steps.map(o=>[o.name,"pending"]))}setHooks(o){o.onStatusChange&&(this.onStatusChange=o.onStatusChange),o.onStepChange&&(this.onStepChange=o.onStepChange),o.onFinish&&(this.onFinish=o.onFinish),o.onError&&(this.onError=o.onError)}addStep(o){if(this.steps.find(h=>h.name===o.name))throw Error(`Step with name ${o.name} already exists`);this.steps.push(o)}async execute(){if(this.status!=="pending")throw Error(`Cannot execute solver in status ${this.status}`);this.status="in-progress",await this.onStatusChange(this.status);let o=this.createInitialState();for(const h of this.steps)try{if(h.transientSkipStepName){const y=o[h.transientSkipStepName];if(y==="skipped"||y==="failed"){o={...o,[h.name]:"skipped"},await this.onStepChange(o);continue}}if(!(!h.precondition||await h.precondition(this.context))){o={...o,[h.name]:"skipped"},await this.onStepChange(o);continue}o={...o,[h.name]:"in-progress"},await this.onStepChange(o);for(let y=0;await h.action(this.context,y)==="retry";y++);o={...o,[h.name]:"completed"},await this.onStepChange(o)}catch(y){throw o={...o,[h.name]:"failed"},this.status="failed",await this.onStatusChange(this.status),await this.onStepChange(o),await this.onError(y),y}return this.status="completed",await this.onStatusChange(this.status),await this.onFinish(),this.context}}e.Solver=J8;class X8{constructor(o){this.queryFunction=o.queryFunction,this.lockFunction=o.lockFunction,this.unlockFunction=o.unlockFunction,this.timeoutMillis=o.timeoutMillis}async couldLock(){const o=await this.queryFunction();try{const h=Qa(o);if(Date.now()<h+this.timeoutMillis)return new Date(h+this.timeoutMillis)}catch{}return await this.lockFunction(Date.now().toString()),!0}async unlock(){await this.unlockFunction()}}e.Lock=X8,e.Binary={hexToUint8Array:z5,uint8ArrayToHex:G5,binaryToUint8Array:q5,uint8ArrayToBinary:W5,base64ToUint8Array:B5,uint8ArrayToBase64:L5,base32ToUint8Array:U5,uint8ArrayToBase32:$5,log2Reduce:nd,partition:t0,concatBytes:ac,numberToUint8:s8,uint8ToNumber:r8,numberToUint16:i8,uint16ToNumber:d8,numberToUint32:f8,uint32ToNumber:o8,numberToUint64:a0,uint64ToNumber:l8,numberToUint256:tc,uint256ToNumber:nc,sliceBytes:b8,keccak256:on,sha3_256:h8,proximity:g8,commonPrefix:m8,setBit:p8,getBit:y8,indexOf:x8,equals:E8,padStart:bd,padStartToMultiple:w8,padEnd:ud,padEndToMultiple:v8,xorCypher:S8,isUtf8:_8},e.Elliptic={privateKeyToPublicKey:j8,compressPublicKey:A8,publicKeyFromCompressed:I8,publicKeyToAddress:M8,signMessage:k8,signHash:gd,verifySignature:T8,recoverPublicKey:P8,checksumEncode:N8},e.Random={intBetween:_,floatBetween:D,chance:k,signed:O,makeSeededRng:C,point:W,procs:J},e.Arrays={countUnique:F9,makeUnique:O9,splitBySize:D9,splitByCount:Qi,index:Xi,indexCollection:T9,onlyOrThrow:f,onlyOrNull:l,firstOrThrow:u,firstOrNull:b,shuffle:d,initialize:g,initialize2D:p,rotate2D:m,containsShape:S,glue:Vl,pluck:E,pick:P,pickMany:R,pickManyUnique:F,pickWeighted:B,pickRandomIndices:w,pickGuaranteed:A,last:T,pipe:v,makePipe:L,sortWeighted:U,pushAll:Z1,unshiftAll:ql,filterAndRemove:p6,merge:m9,empty:p9,pushToBucket:zl,unshiftAndLimit:Gl,atRolling:Wl,group:e0,createOscillator:n9,organiseWithLimits:s9,tickPlaybook:D8,getArgument:c7,getBooleanArgument:O8,getNumberArgument:R8,requireStringArgument:yd,requireNumberArgument:F8,bringToFront:B8,bringToFrontInPlace:xd,findInstance:X9,filterInstances:Q9,interleave:e8,toggle:a8,createHierarchy:n8,multicall:K9,maxBy:Z9,minBy:Y9,allIndexOf:J9},e.System={sleepMillis:i,forever:te,scheduleMany:e5,waitFor:m6,expandError:Bl,runAndSetInterval:ge,whereAmI:ce,withRetries:he},e.Numbers={make:Xs,sum:t5,average:n5,median:c5,getDistanceFromMidpoint:s5,clamp:Qs,range:wi,interpolate:a5,createSequence:t9,increment:b9,decrement:u9,format:l9,fromDecimals:o9,makeStorage:z6,asMegabytes:ve,convertBytes:xe,hexToRgb:ue,rgbToHex:Ee,haversineDistanceToMeters:Ne,roundToNearest:N,formatDistance:se,triangularNumber:Q,searchFloat:q,binomialSample:K,toSignificantDigits:ne},e.Promises={raceFulfilled:n,invert:t,runInParallelBatches:s},e.Dates={getTimestamp:j6,getTimeDelta:Gi,secondsToHumanTime:A6,countCycles:I6,isoDate:w6,throttle:M6,timeSince:k6,dateTimeSlug:v6,unixTimestamp:x6,fromUtcString:S6,fromMillis:_6,getProgress:P6,humanizeTime:Q1,humanizeProgress:g6,createTimeDigits:Ft,mapDayNumber:Wi,getDayInfoFromDate:Js,getDayInfoFromDateTimeString:D6,seconds:R6,minutes:O6,hours:F6,days:B6,make:U6,normalizeTime:E6,absoluteDays:Nn},e.Objects={safeParse:a9,deleteDeep:X,getDeep:H,setDeep:Z,incrementDeep:ee,ensureDeep:Y,replaceDeep:pe,getFirstDeep:ie,deepMergeInPlace:Mn,deepMerge2:Ll,deepMerge3:Ul,mapAllAsync:Hl,cloneWithJson:y6,sortObject:Hi,sortArray:Vi,sortAny:kn,deepEquals:Ki,deepEqualsEvery:e9,runOn:h9,ifPresent:g9,zip:xi,zipSum:$l,removeEmptyArrays:y9,removeEmptyValues:x9,flatten:k9,unflatten:Ji,match:P9,sort:ad,map:S9,mapIterable:_9,filterKeys:w9,filterValues:v9,rethrow:E9,setSomeOnObject:C9,setSomeDeep:j9,flip:A9,getAllPermutations:I9,countTruthyValues:M9,transformToArray:B9,setMulti:U9,incrementMulti:L9,createBidirectionalMap:$9,createTemporalBidirectionalMap:z9,pushToBidirectionalMap:td,unshiftToBidirectionalMap:G9,addToTemporalBidirectionalMap:W9,getFromTemporalBidirectionalMap:q9,createStatefulToggle:c9,diffKeys:r9,pickRandomKey:Zi,mapRandomKey:i9,fromObjectString:d9,toQueryString:$i,parseQueryString:r6,hasKey:i6,selectMax:d6,reposition:f6,unwrapSingleKey:o6,parseKeyValues:l6,errorMatches:b6},e.Types={isFunction:le,isObject:me,isStrictlyObject:we,isEmptyArray:fe,isEmptyObject:je,isUndefined:Ie,isString:_e,isNumber:Te,isBoolean:Re,isDate:Ze,isBlank:z,isId:j,isIntegerString:I,isHexString:V,isUrl:gi,isBigint:mi,isNullable:Tl,asString:q1,asHexString:Us,asSafeString:$s,asIntegerString:Ls,asNumber:ga,asFunction:$e,asInteger:Qa,asBoolean:An,asDate:In,asNullableString:Ac,asEmptiableString:V1,asId:jl,asTime:Al,asArray:Il,asObject:K1,asNullableObject:Ml,asStringMap:Nl,asNumericDictionary:kl,asUrl:Pl,asBigint:pi,asEmptiable:Rl,asNullable:Dl,asOptional:Ol,enforceObjectShape:yi,enforceArrayShape:Fl,isPng:cd,isJpg:sd,isWebp:rd,isImage:c8},e.Strings={tokenizeByCount:R9,tokenizeByLength:ed,searchHex:Os,searchSubstring:Fs,randomHex:Bs,randomLetter:rn,randomAlphanumeric:Ts,randomRichAscii:Ds,randomUnicode:Rs,includesAny:r5,slugify:zs,normalForm:d5,enumify:h5,escapeHtml:m5,decodeHtmlEntities:y5,after:J1,afterLast:vi,before:Gs,beforeLast:Ws,betweenWide:x5,betweenNarrow:w5,getPreLine:G6,containsWord:Zs,containsWords:a6,joinUrl:qi,getFuzzyMatchScore:Y1,sortByFuzzyScore:g5,splitOnce:qs,splitAll:Si,randomize:E5,expand:_i,shrinkTrim:Mc,capitalize:X1,decapitalize:Ei,csvEscape:N5,parseCsv:h6,surroundInOut:u5,getExtension:Hs,getBasename:Vs,normalizeEmail:v5,normalizeFilename:S5,parseFilename:_5,camelToTitle:f5,slugToTitle:o5,slugToCamel:l5,joinHumanly:b5,findWeightedPair:ki,extractBlock:Pi,extractAllBlocks:T5,replaceBlocks:D5,indexOfEarliest:ec,lastIndexOfBefore:Ni,parseHtmlAttributes:t6,readNextWord:kc,readWordsAfterAll:n6,resolveVariables:c6,resolveVariableWithDefaultSyntax:Li,resolveRemainingVariablesWithDefaults:Ui,isLetter:Ci,isDigit:ji,isLetterOrDigit:Nc,isValidObjectPathCharacter:A5,insert:I5,indexOfRegex:Ai,allIndexOf:Mi,lineMatches:Ii,linesMatchInOrder:M5,represent:Ic,resolveMarkdownLinks:s6,buildUrl:u6,isChinese:i5,replaceBetweenStrings:Y6,describeMarkdown:J6,isBalanced:X6,textToFormat:Q6,splitFormatting:R5,splitHashtags:O5,splitUrls:F5,route:H5,explodeReplace:Ks,generateVariants:V5,replaceWord:K5,replacePascalCaseWords:Z5,stripHtml:Y5,breakLine:Fi,measureTextWidth:J5,toLines:X5,levenshteinDistance:Q5,findCommonPrefix:Bi,findCommonDirectory:e6},e.Assertions={asEqual:Kl,asTrue:Zl,asTruthy:Yl,asFalse:Jl,asFalsy:Xl,asEither:Ql},e.Cache={get:W6,getDeferred:q6,delete:H6,deleteExpired:K6,size:Z6,clear:V6},e.Vector={addPoint:wd,subtractPoint:L8,multiplyPoint:s0,normalizePoint:U8,pushPoint:vd,filterCoordinates:Tc,findCorners:W8,findLines:q8,raycast:r0,raycastCircle:K8,getLineIntersectionPoint:Ad}})(x4)),x4}var Qp=Xp();const ca=Cr(Qp);ca.Arrays;ca.Assertions;ca.Binary;ca.Cache;ca.Dates;ca.Elliptic;ca.Numbers;ca.Objects;ca.Pagination;ca.Promises;ca.Random;ca.Strings;ca.System;const Cc=ca.Types;ca.Optional;ca.Vector;ca.PubSubChannel;ca.Chunk;ca.MerkleTree;ca.FixedPointNumber;ca.Lazy;ca.AsyncLazy;ca.AsyncQueue;ca.Uint8ArrayReader;ca.Uint8ArrayWriter;ca.TrieRouter;ca.RollingValueProvider;ca.Solver;ca.Lock;function ey(e){return Cc.isStrictlyObject(e)&&Object.values(e).every(a=>typeof a=="string")}function b2(e){if(!Cc.isStrictlyObject(e))throw new TypeError("FileInfo has to be object!");const a=e;if(new za(a.file.reference),new za(a.batchId),new za(a.file.historyRef),new gs(a.owner),new Ka(a.topic),new _u(a.actPublisher),a.customMetadata!==void 0&&!ey(a.customMetadata))throw new TypeError("FileInfo customMetadata has to be object!");if(a.timestamp!==void 0&&typeof a.timestamp!="number")throw new TypeError("timestamp property of FileInfo has to be number!");if(a.name!==void 0&&typeof a.name!="string")throw new TypeError("fileName property of FileInfo has to be string!");if(a.preview!==void 0&&(new za(a.preview.reference),new za(a.preview.historyRef)),a.shared!==void 0&&typeof a.shared!="boolean")throw new TypeError("shared property of FileInfo has to be boolean!");if(a.redundancyLevel!==void 0&&typeof a.redundancyLevel!="number")throw new TypeError("redundancyLevel property of FileInfo has to be number!");if(a.status!==void 0&&typeof a.status!="string")throw new TypeError("status property of FileInfo has to be string!")}function ay(e){if(!Cc.isStrictlyObject(e))throw new TypeError("WrappedFileInfoFeed has to be object!");const a=e;new Ka(a.topic),a.eGranteeRef!==void 0&&new za(a.eGranteeRef)}function ty(e){if(!Cc.isStrictlyObject(e))throw new TypeError("WrappedUploadResult has to be object!");const a=e;new za(a.uploadFilesRes),a.uploadPreviewRes!==void 0&&new za(a.uploadPreviewRes)}function ny(e){if(!Cc.isStrictlyObject(e))throw new TypeError("DriveInfo has to be object!");const a=e;if(new zf(a.batchId),new gs(a.owner),new q4(a.id),a.infoFeedList!==void 0){if(!Array.isArray(a.infoFeedList))throw new TypeError("infoFeedList property of DriveInfo has to be array!");for(const t of a.infoFeedList)ay(t)}if(a.name===void 0||typeof a.name!="string"||a.name.length===0)throw new TypeError("name property of DriveInfo has to be string!");if(a.redundancyLevel===void 0||typeof a.redundancyLevel!="number")throw new TypeError("redundancyLevel property of DriveInfo has to be number!");if(a.isAdmin===void 0||typeof a.isAdmin!="boolean")throw new TypeError("isAdmin property of DriveInfo has to be boolean!")}function cy(e){if(!Cc.isStrictlyObject(e))throw new TypeError("StateTopicInfo has to be object!");const a=e;new za(a.topicReference),new za(a.historyAddress),new ja(a.index)}class sy extends Error{constructor(a){super(a)}}class nr extends Error{constructor(a){super(a)}}class It extends Error{constructor(a){super(a)}}class Hc extends Error{constructor(a){super(a)}}class La extends Error{constructor(a){super(a)}}class Jae extends Error{constructor(a){super(a)}}class u2 extends Error{constructor(a){super(a)}}function ry(e){return e.stack?.includes("404")||e.message?.includes("Not Found")||e.message?.includes("404")}async function iy(e,a){await Promise.allSettled(e).then(t=>{t.forEach(n=>{n.status==="fulfilled"?a(n.value):console.error(`Failed to resolve promise: ${n.reason}`)})})}const Cs=e=>new TextEncoder().encode(e).length,w4=(e,a)=>{if(!e||!e.usable)throw new nr(`Stamp with batchId: ${a?.slice(0,6)}... not found OR not usable`);return e},v4=Ka.fromString("filemanager-state");Ka.fromString("shared-inbox");const cr="admin",an=new za(H4),A7=ja.fromBigInt(0n);async function Dn(e,a,t,n,s){try{const i=e.makeFeedReader(a.toUint8Array(),t,s),d=n!==void 0?{index:ja.fromBigInt(n)}:void 0,f=await i.downloadPayload(d);return{feedIndex:f.feedIndex,feedIndexNext:f.feedIndexNext??f.feedIndex.next(),payload:f.payload}}catch(i){if(ry(i))return{feedIndex:ja.MINUS_ONE,feedIndexNext:A7,payload:an};throw i}}async function dy(e,a,t,n,s,i){try{const f=(await e.downloadData(a.toString(),{...s,actPublisher:t,actHistoryAddress:n},i)).toJSON();return ty(f),f}catch(d){throw new La(`Failed to get wrapped data: ${d}`)}}async function h2(e,a,t){try{return(await e.getPostageBatches(t)).find(n=>n.batchID.toString()===a.toString())}catch(n){console.error(`Failed to fetch stamp: ${n.message||n}`);return}}function S4(e){const a=new Uint8Array(e);return globalThis.crypto.getRandomValues(a),new z7(a)}async function fy(e,a,t,n){const s=await v7.unmarshal(e,a,t,n);return await s.loadRecursively(e,t,n),s}function oy(e,a){const t=e.collectAndMap();if(a&&a.length>0){const n={};for(const s of a)s in t&&(n[s]=t[s]);return n}return t}const ly={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_FORMBRICKS_APP_URL:"https://app.formbricks.com/",VITE_FORMBRICKS_ENV_ID:"cmhnfapwg0gidad01irbanjtr"};var I7={},by={};const M7=Object.create(null),Vc=e=>I7||ly||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?M7:globalThis),xn=new Proxy(M7,{get(e,a){return Vc()[a]??M7[a]},has(e,a){const t=Vc();return a in t||a in M7},set(e,a,t){const n=Vc(!0);return n[a]=t,!0},deleteProperty(e,a){if(!a)return!1;const t=Vc(!0);return delete t[a],!0},ownKeys(){const e=Vc(!0);return Object.keys(e)}}),uy=typeof O7<"u"&&by&&"production"||"",hy=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CLOUDFLARE_WORKERS","WORKERS_CI",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["CODESANDBOX","CODESANDBOX_HOST",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}]];function gy(){if(I7)for(const e of hy){const a=e[1]||e[0];if(I7[a])return{name:e[0].toLowerCase(),...e[2]}}return I7?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const Yo=gy();Yo.name;function qn(e){return e?e!=="false":!1}const my=globalThis.process?.platform||"",Jo=qn(xn.CI)||Yo.ci!==!1,Xo=qn(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY);qn(xn.DEBUG);const py=uy==="test"||qn(xn.TEST);qn(xn.MINIMAL);const yy=/^win/i.test(my);!qn(xn.NO_COLOR)&&(qn(xn.FORCE_COLOR)||(Xo||yy)&&xn.TERM);const xy=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(xy?.split(".")[0]);const wy=globalThis.process||Object.create(null),g2={versions:{}};new Proxy(wy,{get(e,a){if(a==="env")return xn;if(a in e)return e[a];if(a in g2)return g2[a]}});const es=globalThis.process?.release?.name==="node",vy=!!globalThis.Bun||!!globalThis.process?.versions?.bun,Sy=!!globalThis.Deno,_y=!!globalThis.fastly,Ey=!!globalThis.Netlify,Cy=!!globalThis.EdgeRuntime,jy=globalThis.navigator?.userAgent==="Cloudflare-Workers",Ay=[[Ey,"netlify"],[Cy,"edge-light"],[jy,"workerd"],[_y,"fastly"],[Sy,"deno"],[vy,"bun"],[es,"node"]];function Iy(){const e=Ay.find(a=>a[0]);if(e)return{name:e[1]}}const My=Iy();My?.name;const Ny="bytes";async function ky(e,a,t,n){if(es){const{downloadNode:i}=await U7(async()=>{const{downloadNode:d}=await import("./download.node-u9UJImpJ.js");return{downloadNode:d}},__vite__mapDeps([0,1,2]));return await i(e,Object.values(a),t,n)}const{downloadBrowser:s}=await U7(async()=>{const{downloadBrowser:i}=await import("./download.browser-CWBk9Xo5.js");return{downloadBrowser:i}},__vite__mapDeps([3,2,1]));return await s(Object.values(a),e.url,Ny,t,n)}class Py{events={};constructor(){this.on=this.on.bind(this),this.off=this.off.bind(this),this.cleanAll=this.cleanAll.bind(this),this.emit=this.emit.bind(this)}on(a,t){this.events[a]||(this.events[a]=[]),this.events[a].push(t)}off(a,t){if(!this.events[a])return;const n=this.events[a].indexOf(t);n>-1&&this.events[a].splice(n,1)}cleanAll(){this.events={}}emit(a,t){this.events[a]&&this.events[a].forEach(n=>n(t))}}var Xt;(function(e){e.Active="active",e.Trashed="trashed"})(Xt||(Xt={}));const Ty=(e,a,t,n)=>{const s={...n,redundancyLevel:a.redundancyLevel};let i;return t.file&&(i={reference:t.file.reference.toString(),historyRef:t.file.historyRef.toString()}),{options:t,uploadOptions:s,file:i}};async function Dy(e,a,t,n,s){const i=Ty(es,a,t,n);if(i.file)return i.file;if(es){const{processUploadNode:l}=await U7(async()=>{const{processUploadNode:u}=await import("./__vite-browser-external-DHc9oIIQ.js").then(g=>g.u);return{processUploadNode:u}},__vite__mapDeps([4,1,2])),b=i.options;return l(e,a,b,n,s)}const{processUploadBrowser:d}=await U7(async()=>{const{processUploadBrowser:l}=await import("./upload.browser-g14Y5rh3.js");return{processUploadBrowser:l}},[]),f=i.options;return d(e,a,f,n,s)}var na;(function(e){e.FILE_UPLOADED="file-uploaded",e.FILE_DOWNLOADED="file-downloaded",e.FILE_TRASHED="file-trashed",e.FILE_RECOVERED="file-recovered",e.FILE_FORGOTTEN="file-forgotten",e.FILE_VERSION_RESTORED="file-version-restored",e.SHARE_MESSAGE_SENT="file-shared",e.INITIALIZED="initialized",e.DRIVE_CREATED="drive-created",e.DRIVE_FORGOTTEN="drive-forgotten",e.DRIVE_DESTROYED="drive-destroyed",e.STATE_INVALID="state-invalid"})(na||(na={}));const Qo=Cs(JSON.stringify({reference:an.toString(),historyRef:an.toString()})),Ry=Cs(JSON.stringify({topic:an.toString(),eGranteeRef:an.toString()})),e3=ja.MINUS_ONE.toString().length+Ka.LENGTH,sr=new nn("634fb5a872396d9693e5c9f9d7233cfa93f395c093371017ff44aa9ae6564cdd"),a3=new zf("ee0fec26fdd55a1b8a777cc8c84277a1b16a7da318413fbd4cc4634dd93a2c51"),t3=250,n3=an,Oy={id:n3.toString(),name:"a".repeat(40),batchId:a3.toString(),owner:sr.publicKey().address().toString(),redundancyLevel:Xa.OFF,infoFeedList:[],isAdmin:!0},Fy=Cs(JSON.stringify(Oy)),By={batchId:a3.toString(),file:{reference:an.toString(),historyRef:an.toString()},name:"a".repeat(40),owner:sr.publicKey().address().toString(),actPublisher:sr.publicKey().toString(),topic:an.toString(),driveId:n3.toString()},Ly=Cs(JSON.stringify(By));function c3(e){if(e.length===0)return 0;const a=e.reduce((n,s)=>n+(s.infoFeedList?.length??0),0);return e.length*Fy+a*Ry+e.length+1+t3+Qo+e3}function Uy(){return Ly+t3+Qo+e3}class $y{bee;signer;signerAddress;publisher=void 0;driveListNextIndex=0n;stateFeedTopic=void 0;isInitialized=!1;isInitializing=!1;_adminStamp=void 0;driveList=[];fileInfoList=[];sharedWithMe=[];emitter;get adminStamp(){return this._adminStamp}constructor(a,t=new Py){if(this.bee=a,!this.bee.signer)throw new Hc("Signer required");this.emitter=t,this.signer=this.bee.signer,this.signerAddress=this.signer.publicKey().address().toString()}async initialize(){if(this.isInitialized){console.debug("FileManager is already initialized"),this.emitter.emit(na.INITIALIZED,!0);return}if(this.isInitializing){console.debug("FileManager is being initialized");return}this.isInitializing=!0;try{await this.verifySupportedVersions(),await this.initPublisher(),console.debug("Trying to load state from Swarm."),await this.tryToFetchAdminState()&&(await this.initDriveList(),await this.initFileInfoList()),this.isInitialized=!0,this.emitter.emit(na.INITIALIZED,!0)}catch(a){console.error(`Failed to initialize FileManager: ${a.message||a}`),this.isInitialized=!1,this.emitter.emit(na.INITIALIZED,!1)}finally{this.isInitializing=!1}}async verifySupportedVersions(){const a=await this.bee.getVersions();if(console.debug(`Bee version: ${a.beeVersion}`),console.debug(`Bee API version: ${a.beeApiVersion}`),!await this.bee.isSupportedApiVersion())throw console.error("Supported bee API version: ",a.supportedBeeApiVersion),console.error("Supported bee version: ",a.supportedBeeVersion),new sy("Bee or Bee API version not supported")}async initPublisher(){this.publisher=(await this.bee.getNodeAddresses()).publicKey}async tryToFetchAdminState(){if(!this.publisher)throw new Hc("Publisher not found");const{payload:a,feedIndex:t}=await Dn(this.bee,v4,this.signerAddress);if(t.equals(ja.MINUS_ONE))return console.debug("State not found."),!1;let n;try{n=a.toJSON(),cy(n)}catch(f){return console.error(`Failed to fetch admin state: ${f.message||f}`),this.emitter.emit(na.STATE_INVALID,!0),!1}const s=new za(n.topicReference),i=new za(n.historyAddress);let d;try{d=await this.bee.downloadData(s,{actHistoryAddress:i,actPublisher:this.publisher})}catch(f){return console.error(`Failed to decrypt admin state: ${f.message||f}`),this.emitter.emit(na.STATE_INVALID,!0),!1}return this.stateFeedTopic=new Ka(d.toUint8Array()),console.debug("Drive list feed successfully fetched"),!0}async createNewDriveListTopic(a,t){const{feedIndexNext:n}=await Dn(this.bee,v4,this.signerAddress),s=!n.equals(A7);if(!t&&s)throw new It("Admin state already exists");t&&console.warn("Resetting existing admin state.");const i=a.toString();await this.fetchAndSetAdminStamp(i);const d=w4(this.adminStamp,i),f=S4(Ka.LENGTH),l=new Ka(f),b=await this.bee.uploadData(d.batchID,l.toUint8Array(),{act:!0}),u={topicReference:b.reference.toString(),historyAddress:b.historyAddress.getOrThrow().toString(),index:n.toString()};await this.bee.makeFeedWriter(v4.toUint8Array(),this.signer).uploadPayload(d.batchID,JSON.stringify(u),{index:n}),this.stateFeedTopic=l,this.driveListNextIndex=0n,console.debug("Drive list feed topic successfully set"),this.emitter.emit(na.STATE_INVALID,!1)}async initDriveList(){if(!this.publisher)throw new Hc("Publisher not found");if(!this.stateFeedTopic){console.debug("Drive list topic not initialized"),this.emitter.emit(na.STATE_INVALID,!0);return}const{feedIndexNext:a,payload:t,feedIndex:n}=await Dn(this.bee,this.stateFeedTopic,this.signerAddress);if(n.equals(ja.MINUS_ONE)){console.debug("Invalid drive list"),this.emitter.emit(na.STATE_INVALID,!0);return}this.driveListNextIndex=a.toBigInt();const s=t.toJSON(),d=(await this.bee.downloadData(s.reference,{actHistoryAddress:s.historyRef,actPublisher:this.publisher})).toJSON();for(const f of d){try{ny(f)}catch(l){console.error(`Invalid DriveInfo item: ${JSON.stringify(f)}, skipping it
26
- ${l.message||l}`);continue}if(f.isAdmin){const l=f.batchId.toString();if(await this.fetchAndSetAdminStamp(l),!this.adminStamp){console.error(`Admin stamp with batchId: ${l.slice(0,6)}... not found. Admin state is invalid and must be reset.`),this.emitter.emit(na.STATE_INVALID,!0);return}}this.driveList.push(f)}console.debug("DriveInfo list fetched successfully.")}async pruneDriveMetadata(a){const t=this.driveList.findIndex(n=>n.id.toString()===a.id.toString());if(t===-1)throw new It(`Drive ${a.name} not found`);this.driveList.splice(t,1);for(let n=this.fileInfoList.length-1;n>=0;--n)this.fileInfoList[n].driveId===a.id.toString()&&this.fileInfoList.splice(n,1);await this.saveDriveList()}async initFileInfoList(){const a=this.publisher;if(!a)throw new Hc("Publisher not found");if(this.driveList.length===0){console.debug("Drive list is empty, skipping file info list initialization");return}const t=[];for(const n of this.driveList)if(n.infoFeedList&&n.infoFeedList.length>0)for(const s of n.infoFeedList){const i=async()=>{try{const f=(await Dn(this.bee,new Ka(s.topic),this.signerAddress)).payload.toJSON(),b=(await this.bee.downloadData(f.reference.toString(),{actHistoryAddress:f.historyRef,actPublisher:a})).toJSON();return b2(b),b}catch(d){return console.error(`Invalid FileInfo item, skipping it: ${d.message||d}`),null}};t.push(i())}await iy(t,n=>{n!==null&&this.fileInfoList.push(n)}),console.debug("FileInfo lists fetched successfully.")}async createDrive(a,t,n,s,i,d){if(!this.isInitialized)throw new It("FileManager is not initialized.");let f=t;if(i){if(!n)throw new It(`Cannot reset non-admin drive: "${f}"`);this.driveList.length=0}else this.driveList.forEach(u=>{if(n&&(u.isAdmin||this.adminStamp))throw new It("Admin drive already exists");if(u.name===f||u.batchId.toString()===a.toString())throw new It(`Drive with name "${f}" or batchId "${a}" already exists`)});if(n)console.debug("Creating admin drive with name: ",cr),f=cr,await this.createNewDriveListTopic(a.toString(),i);else{const u=await h2(this.bee,a);w4(u,a.toString())}const l=S4(q4.LENGTH),b={id:new q4(l).toString(),name:f,batchId:a.toString(),owner:this.signerAddress,redundancyLevel:s??Xa.OFF,infoFeedList:[],isAdmin:n};this.driveList.push(b),await this.saveDriveList(d),this.emitter.emit(na.DRIVE_CREATED,{driveInfo:b})}async listFiles(a,t,n,s){const i=await dy(this.bee,a.file.reference,a.actPublisher,a.file.historyRef,n,s),d=await fy(this.bee,i.uploadFilesRes.toString(),{...n,actPublisher:void 0,actHistoryAddress:void 0},s);return oy(d,t)}async download(a,t,n,s){const i=await this.listFiles(a,t,n,s);return await ky(this.bee,Object.values(i),{...n,actPublisher:void 0,actHistoryAddress:void 0},s)}async upload(a,t,n,s){if(!this.stateFeedTopic||!this.isInitialized)throw new It("FileManager is not initialized.");if(t.topic&&!n?.actHistoryAddress||!t.topic&&n?.actHistoryAddress)throw new La("Options topic and historyRef have to be provided at the same time.");if(!this.publisher)throw new Hc("Publisher not found");const i=this.driveList.findIndex(g=>g.id.toString()===a.id.toString());if(i===-1)throw new La(`Drive ${a.name} with id ${a.id.toString()} not found`);const d=this.signerAddress,{topic:f,version:l}=await this.getTopicAndVersion(d,t.topic,t.version),b=await Dy(this.bee,a,t,n,s),u={batchId:a.batchId.toString(),owner:d,topic:f,name:t.name,actPublisher:this.publisher.toCompressedHex(),file:b,driveId:a.id.toString(),timestamp:new Date().getTime(),shared:!1,preview:void 0,version:l,customMetadata:t.customMetadata,redundancyLevel:a.redundancyLevel,status:Xt.Active};await this.saveFileInfoFeed(u,s),t.topic||(this.updateDriveList(i,f.toString()),await this.saveDriveList(s)),this.emitter.emit(na.FILE_UPLOADED,{fileInfo:u})}updateDriveList(a,t){this.driveList[a].infoFeedList||(this.driveList[a].infoFeedList=[]);const n=this.driveList[a].infoFeedList.findIndex(s=>s.topic===t);if(n===-1){this.driveList[a].infoFeedList.push({topic:t});return}this.driveList[a].infoFeedList[n]={topic:t,eGranteeRef:void 0}}async getTopicAndVersion(a,t,n){let s,i;if(t)s=n,i=t.toString();else{const d=S4(Ka.LENGTH);s=A7.toString(),i=new Ka(d).toString()}if(!s){const{feedIndexNext:d}=await Dn(this.bee,new Ka(i),a);s=d.toString()}return{topic:i,version:s||A7.toString()}}async getVersion(a,t){const n=this.fileInfoList.find(f=>f.topic===a.topic);if(n&&n.version&&t){const f=new ja(t);if(new ja(n.version).equals(f))return n}const s=new Ka(a.topic),i=t!==void 0?new ja(t).toBigInt():void 0,d=await Dn(this.bee,s,a.owner,i);return this.fetchFileInfo(a,d)}async restoreVersion(a,t){const{feedIndex:n,feedIndexNext:s}=await Dn(this.bee,new Ka(a.topic),a.owner.toString());if(n.equals(ja.MINUS_ONE.toString()))throw new La("FileInfo feed not found");if(!a.version)throw new Error("Restore version has to be defined");const i=new ja(a.version);if(n.equals(i)){console.debug(`Head Slot cannot be restored. Please select a version lesser than: ${a.version}`);return}const d={...a,version:s.toString(),file:{reference:a.file.reference,historyRef:a.file.historyRef},timestamp:Date.now()};await this.saveFileInfoFeed(d,t),this.emitter.emit(na.FILE_VERSION_RESTORED,{restored:d})}async uploadFileInfo(a,t){try{const n=await this.bee.uploadData(a.batchId,JSON.stringify(a),{act:!0,redundancyLevel:a.redundancyLevel},t),s=this.fileInfoList.findIndex(i=>i.topic.toString()===a.topic.toString());return s!==-1?this.fileInfoList[s]=a:this.fileInfoList.push(a),{reference:n.reference.toString(),historyRef:n.historyAddress.getOrThrow().toString()}}catch(n){throw new La(`Failed to save fileinfo: ${n.message||n}`)}}async saveFileInfoFeed(a,t){const n=await this.uploadFileInfo(a,t);try{const s=JSON.stringify({reference:n.reference.toString(),historyRef:n.historyRef.toString()});await this.bee.makeFeedWriter(new Ka(a.topic).toUint8Array(),this.signer,t).uploadPayload(a.batchId,s,{index:a.version!==void 0?new ja(a.version):void 0})}catch(s){throw new La(`Failed to save wrapped fileInfo feed: ${s.message||s}`)}}async fetchFileInfo(a,t){if(t.feedIndex.equals(ja.MINUS_ONE))throw new La(`File info not found for topic: ${a.topic}`);const n=t.payload.toJSON(),i=(await this.bee.downloadData(n.reference.toString(),{actHistoryAddress:n.historyRef.toString(),actPublisher:a.actPublisher})).toJSON();return b2(i),i}async saveDriveList(a){if(!this.stateFeedTopic||!this.isInitialized)throw new It("Drive list topic not initialized");const t=w4(this.adminStamp,this.adminStamp?.batchID.toString()),n=this.driveList.find(s=>s.isAdmin)?.redundancyLevel||Xa.OFF;try{const s=await this.bee.uploadData(t.batchID,JSON.stringify(this.driveList),{act:!0,redundancyLevel:n},a),i=JSON.stringify({reference:s.reference.toString(),historyRef:s.historyAddress.getOrThrow().toString()});await this.bee.makeFeedWriter(this.stateFeedTopic.toUint8Array(),this.signer,a).uploadPayload(t.batchID,i,{index:ja.fromBigInt(this.driveListNextIndex)}),this.driveListNextIndex+=1n}catch(s){throw new It(`Failed to save drive list: ${s.message||s}`)}}async trashFile(a){const t=this.fileInfoList.find(n=>n.topic.toString()===a.topic.toString());if(!t)throw new La(`Corresponding File Info doesnt exist: ${a.name}`);if(t.status===Xt.Trashed)throw new La(`File already Thrashed: ${a.name}`);if(t.version===void 0)throw new La(`File version is undefined: ${a.name}`);t.version=new ja(t.version).next().toString(),t.status=Xt.Trashed,t.timestamp=new Date().getTime(),t.customMetadata={...t.customMetadata??{},...a.customMetadata??{}},await this.saveFileInfoFeed(t),this.emitter.emit(na.FILE_TRASHED,{fileInfo:t})}async recoverFile(a){const t=this.fileInfoList.find(n=>n.topic===a.topic);if(!t)throw new La(`Corresponding File Info doesnt exist: ${a.name}`);if(t.status!==Xt.Trashed)throw new La(`Non-Thrashed files cannot be restored: ${a.name}`);if(t.version===void 0)throw new La(`File version is undefined: ${a.name}`);t.version=new ja(t.version).next().toString(),t.status=Xt.Active,t.timestamp=new Date().getTime(),t.customMetadata={...t.customMetadata??{},...a.customMetadata??{}},await this.saveFileInfoFeed(t),this.emitter.emit(na.FILE_RECOVERED,{fileInfo:t})}async forgetFile(a){const t=a.topic.toString(),n=this.fileInfoList.findIndex(d=>d.topic.toString()===t);if(n===-1)throw new La(`File info not found for name: ${a.name}`);const s=this.driveList.findIndex(d=>d.id.toString()===a.driveId.toString());if(s===-1||this.driveList[s].infoFeedList===void 0)throw new La(`Drive or file feed not found for name: ${a.name}`);const i=this.driveList[s].infoFeedList.findIndex(d=>d.topic.toString()===t);if(i===-1)throw new La(`File not found for name: ${a.name} and topic: ${t}`);this.fileInfoList.splice(n,1),this.driveList[s].infoFeedList.splice(i,1),await this.saveDriveList(),this.emitter.emit(na.FILE_FORGOTTEN,{fileInfo:a})}async fetchAndSetAdminStamp(a){const t=await h2(this.bee,a);if(!t){this._adminStamp=void 0;return}const n=`Admin stamp with batchId: ${a.toString().slice(0,6)}...`;t.usable?console.debug(`${n} found and set.`):console.warn(`${n} is unusable.`),this._adminStamp=t}async destroyDrive(a,t){const n=this.adminStamp;if(!n)throw new nr("Admin stamp not found");if(a.batchId.toString()!==t.batchID.toString())throw new nr("Stamp does not match drive stamp");if(a.isAdmin||a.batchId.toString()===n.batchID.toString())throw new It(`Cannot destroy admin drive / stamp, batchId: ${a.batchId.toString()}`);const s=t.duration.toDays(),i=Math.floor(Math.log2(s));await this.bee.diluteBatch(a.batchId.toString(),t.depth+i),await this.pruneDriveMetadata(a),console.debug(`Drive destroyed: ${a.name}`),this.emitter.emit(na.DRIVE_DESTROYED,{driveInfo:a})}async forgetDrive(a){if(a.isAdmin)throw new It("Cannot forget admin drive");await this.pruneDriveMetadata(a),console.debug(`Drive forgotten (metadata only): ${a.name}`),this.emitter.emit(na.DRIVE_FORGOTTEN,{driveInfo:a})}async getGrantees(a){const t=this.driveList.findIndex(s=>s.id.toString()===a.driveId);if(t===-1)throw new u2(`Drive not found for file: ${a.name}`);const n=this.driveList[t].infoFeedList?.find(s=>s.topic===a.topic);if(!n||!n.eGranteeRef)throw new u2(`Grantee list or file not found for file: ${a.name}`);return this.bee.getGrantees(n.eGranteeRef)}async subscribeToSharedInbox(a,t){}unsubscribeFromSharedInbox(){}async share(a,t,n,s){}}const gc=1,s3=3,r3=6,as=[{value:0,label:`${gc} week`},{value:1,label:`${gc} month`},{value:2,label:`${s3} months`},{value:3,label:`${r3} months`},{value:4,label:`${gc} year`}],zy=new Map([[0,e=>e.setDate(e.getDate()+gc*7)],[1,e=>e.setMonth(e.getMonth()+gc)],[2,e=>e.setMonth(e.getMonth()+s3)],[3,e=>e.setMonth(e.getMonth()+r3)],[4,e=>e.setFullYear(e.getFullYear()+gc)]]);function rr(e){const a=new Date,t=e.getTime()-a.getTime();return Math.max(0,Math.floor(t/(1e3*60*60*24)))}const Gy=(e,a)=>{switch(a){case"GB":return e/1e3/1e3/1e3;case"MB":return e/1e3/1e3;default:return 0}};function Hr(e,a){const t=a||new Date,n=zy.get(e);return n&&n(t),t}const Ya=e=>e?/[a-fA-F]/.test(e)||e.startsWith("0")||e.length>10?BigInt(parseInt(e,16)):BigInt(parseInt(e,10)):void 0,p1=e=>{let a;if(typeof e=="string"?a=Number(e):typeof e=="number"?a=e:a=NaN,!Number.isFinite(a)||a<0)return;if(a<1e3)return`${a} B`;const t=["KB","MB","GB","TB"];let n=a/1e3,s=0;for(;n>=1e3&&s<t.length-1;)n/=1e3,s++;return`${n.toFixed(1)} ${t[s]}`},s1=e=>e.status===Xt.Trashed;var y1=(e=>(e.Down="down",e.Up="up",e))(y1||{});function mc(e){return e.topic.toString()}function Wy(e){const a=e.trim().toLowerCase(),t=z7.fromUtf8(a),n=z7.keccak256(t).toHex();return new nn(n)}function ir(){try{const e=localStorage.getItem(Qe.fmPrivateKey);if(!e){console.error("Private key not found, cannot initialize");return}return new nn(e)}catch(e){console.error(`Private key error in localStorage under key "${Qe.fmPrivateKey}": `,e);return}}function qy(e){localStorage.setItem(Qe.fmPrivateKey,e)}function Hy(){localStorage.removeItem(Qe.fmPrivateKey)}const pt=e=>e.charAt(0).toUpperCase()+e.slice(1),$a=(e,a)=>t=>{e.current&&a(t)},Ea=(e,a=40,t,n)=>{if(e.length<=a)return e;if(t&&n&&t+n<e.length)return`${e.slice(0,t)}…${e.slice(-n)}`;const s=Math.floor((a-1)/2);return`${e.slice(0,s)}…${e.slice(-s)}`},Vy=ja.fromBigInt(BigInt(0)),Xn=Object.entries(Xa).filter(([e,a])=>typeof a=="number").map(([e,a])=>({value:a,label:pt(e)})),fa={FILE_UPLOADED:"fm:file-uploaded",DRIVE_UPGRADE_START:"fm:drive-upgrade-start",DRIVE_UPGRADE_END:"fm:drive-upgrade-end",DRIVE_UPGRADE_TIMEOUT:"fm:drive-upgrade-timeout"},i3=9e4,Ky=1e4,Zy=2e3;var gt=(e=>(e.Upload="upload",e.Download="download",e.Update="update",e))(gt||{}),He=(e=>(e.Uploading="uploading",e.Downloading="downloading",e.Done="done",e.Error="error",e.Queued="queued",e.Cancelled="cancelled",e))(He||{}),d3=(e=>(e.Upload="#22c55e",e.Update="#f59e0b",e.Download="#3b82f6",e))(d3||{}),wa=(e=>(e.File="file",e.Trash="trash",e.Expired="expired",e))(wa||{}),ha=(e=>(e.Trashed="trashed",e.Recovered="recovered",e.Restored="restored",e))(ha||{}),Ra=(e=>(e.Trash="trash",e.Forget="forget",e.Destroy="destroy",e))(Ra||{}),nt=(e=>(e.InProgress="in-progress",e.Cancelled="cancelled",e.Error="error",e))(nt||{});const tn=async e=>{try{return(await e.getPostageBatches()).filter(a=>a.usable).sort((a,t)=>(a.label||"").localeCompare(t.label||""))}catch{return[]}},R1=async(e,a)=>{try{return(await e.getPostageBatch(a.toString())).usable}catch(t){return console.warn(`Failed to validate stamp ${a.toString().slice(0,8)}...:`,t),!1}},Yy=async(e,a,t,n,s)=>{try{return Ut.fromBytes(e).toGigabytes()>=0&&a.getTime()>=new Date().getTime()?await s?.getStorageCost(Ut.fromBytes(e),Pt.fromEndDate(a),void 0,t,n):void 0}catch{return}},f3=async(e,a,t,n,s,i,d,f)=>{d.current&&await d.current;let l=!0;const b=(async()=>{try{const u=await Yy(e,a,t,n,s);l&&(u?i(u):(i(_a.fromDecimalString("0")),f?.(new Error("Storage cost unavailable - node may be syncing"))))}catch(u){l&&(i(_a.fromDecimalString("0")),f?.(u))}})();d.current=b,await b,l=!1,d.current=null},o3=async e=>{const{beeApi:a,fm:t,size:n,duration:s,label:i,encryption:d,redundancyLevel:f,adminRedundancy:l,isAdmin:b,resetState:u,existingBatch:g,onSuccess:m,onError:p}={...e};if(!a||!t){console.error("Error creating drive: Bee API or FM is invalid!"),p?.("Error creating drive: Bee API or FM is invalid!");return}try{let S;if(g){if(!await R1(a,g.batchID))throw new Error("The stamp is no longer valid or has been deleted. Please select a different stamp from the list.");Vn({fm:t,redundancyLevel:f,stamp:g,adminRedundancy:l,cb:E=>{throw new Error(E)}}),S=g.batchID}else{if(!b){if(!t.adminStamp)throw console.error("Error creating drive: admin stamp is not available"),new Error("Error creating drive: admin stamp is not available");Vn({fm:t,redundancyLevel:f,stamp:t.adminStamp,adminRedundancy:l,cb:w=>{throw new Error(w)}})}S=await a.buyStorage(n,s,{label:i},void 0,d,f)}await t.createDrive(S,i,b,f,u),m?.()}catch(S){console.error("Error creating drive:",S instanceof Error?S.message:String(S)),p?.(S)}},js=async e=>{const{beeApi:a,fm:t,adminDrive:n,drive:s,isDestroy:i,onSuccess:d,onError:f}={...e};if(!a){f?.("Bee API is invalid!");return}if(!t||!t.adminStamp||!n){f?.("FM is invalid!");return}try{if(Vn({fm:t,driveId:s.id.toString(),redundancyLevel:s.redundancyLevel,stamp:t.adminStamp,isRemove:!0,adminRedundancy:n.redundancyLevel,cb:u=>{throw new Error(u)}}),!i){await t.forgetDrive(s),d?.();return}const l=(await tn(a)).find(u=>u.batchID.toString()===s.batchId.toString()),b=l?.duration.toDays()??0;if(!l||b<=2){console.warn(`Stamp not found or TTL ${b} <= 2 days, skipping drive destruction: forgetting the drive.`),await t.forgetDrive(s),d?.();return}await t.destroyDrive(s,l),d?.()}catch(l){f?.(l)}},Hn=(e,a,t,n)=>{let s=0,i=0;t!==void 0?(s=e.calculateSize(!1,t).toBytes(),i=e.calculateRemainingSize(!1,t).toBytes()):(s=e.size.toBytes(),i=e.remainingSize.toBytes());const d=s-i,f=e.usage*100;let l=d,b=f,u=i;if(!n){const S=a.map(E=>{let C=0;const _=(E.customMetadata?.lifecycle||"").toString().toLowerCase(),D=_===ha.Trashed||_===ha.Recovered||_===ha.Restored;return(E.customMetadata?.size&&!D||E.customMetadata?.size&&!E.customMetadata?.accumulatedSize)&&(C=Number(E.customMetadata.size)),Number(E.customMetadata?.accumulatedSize||C||0)}).reduce((E,C)=>E+C,0),w=s-S>0?s-S:0;u=Math.min(i,w),l=Math.max(S,d),b=s>0?l/s*100:0}const g=ka(l),m=Math.max(b,f),p=ka(s);return{capacityPct:m,usedSize:g,stampSize:p,usedBytes:l,stampSizeBytes:s,remainingBytes:u}},Vn=e=>{const{fm:a,driveId:t,redundancyLevel:n,stamp:s,adminRedundancy:i,useInfoSize:d,isRemove:f,fileSize:l,fileCount:b,cb:u}={...e},g=[...a.driveList];let m=[];if(f){const _=g.findIndex(D=>D.id.toString()===t?.toString());if(_===-1)return u?.("Admin drive not found during stamp verification"),{remainingBytes:0,totalSizeBytes:0,ok:!1};g.splice(_,1),m=a.fileInfoList.filter(D=>D.driveId!==t)}else m=t?a.fileInfoList.filter(_=>_.driveId===t):[];if(i!==void 0&&a.adminStamp){const _=c3(g)*g.length,{remainingBytes:D}=Hn(a.adminStamp,[],i),O=D>=_;if(!O)return u?.(`Insufficient admin drive capacity. Required: ~${ka(_)} bytes, Available: ${ka(D)} bytes. Please top up the admin drive/stamp.`),{remainingBytes:D,totalSizeBytes:_,ok:O}}const p=Uy(),S=b??1,w=+!!d*p*S+(l||0),{remainingBytes:E}=Hn(s,m,n),C=E>=w;return C||u?.(`Insufficient capacity. Required: ~${ka(w)} bytes, Available: ${ka(E)} bytes. Please top up the drive/stamp.`),{remainingBytes:E,totalSizeBytes:w,ok:C}},Jy={fm:null,initDone:!1,files:[],currentDrive:void 0,currentStamp:void 0,drives:[],expiredDrives:[],adminDrive:null,initializationError:!1,showError:!1,shallReset:!1,setCurrentDrive:()=>{},setCurrentStamp:()=>{},resync:async()=>{},init:async()=>null,notifyPkSaved:()=>{},setShowError:()=>{},syncDrives:async()=>{},refreshStamp:async()=>{}},Ta=x.createContext(Jy);Ta.Consumer;const Xy=(e,a)=>{let t=null;const n=[],s=[];return e.forEach(i=>{a.some(f=>f.batchID.toString()===i.batchId.toString())?i.isAdmin?t=i:n.push(i):i.isAdmin||s.push(i)}),{adminDrive:t,userDrives:n,expiredDrives:s}};function Qy({children:e}){const a=x.useRef(!1),t=x.useRef(!1),{status:n}=x.useContext(We),{apiUrl:s}=x.useContext(Le),i=x.useRef(s),[d,f]=x.useState(!1),[l,b]=x.useState(null),[u,g]=x.useState(null),[m,p]=x.useState(!1),[S,w]=x.useState(!1),[E,C]=x.useState([]),[_,D]=x.useState([]),[O,$]=x.useState([]),[W,J]=x.useState(null),[k,P]=x.useState(),[R,F]=x.useState(),[A,T]=x.useState(!1),[v,L]=x.useState(!1),B=x.useCallback(()=>f(ie=>!ie),[]),U=x.useCallback((ie,te,ge)=>{if(te){if(ge){C(ce=>ce.filter(he=>he.topic.toString()!==te.topic.toString()));return}C(ce=>{const he=ce.findIndex(ve=>ve.topic.toString()===te.topic.toString());if(he>=0){const ve=[...ce];return ve[he]=te,ve}return[...ce,te]});return}C([...ie.fileInfoList])},[]),H=x.useCallback(async(ie,te,ge)=>{if(!l)return;const ce=await tn(l);if(te){if(ce.some(Ee=>Ee.batchID.toString()===te.batchId.toString())){if(ge){D(Ee=>Ee.filter(Ne=>Ne.id.toString()!==te.id.toString()));return}if(te.isAdmin){J(te);return}D(Ee=>{const Ne=Ee.findIndex(N=>N.id.toString()===te.id.toString());if(Ne>=0){const N=[...Ee];return N[Ne]=te,N}return[...Ee,te]});return}if(ge){$(Ee=>Ee.filter(Ne=>Ne.id.toString()!==te.id.toString()));return}if(!te.isAdmin){$(Ee=>Ee.some(N=>N.id.toString()===te.id.toString())?Ee:[...Ee,te]);return}return}const{adminDrive:he,userDrives:ve,expiredDrives:xe}=Xy(ie.driveList,ce);J(he),D(ve),$(xe)},[l]),Z=x.useCallback(async()=>{u&&await H(u)},[u,H]),ee=x.useCallback(async ie=>{if(!l)return;const ge=(await tn(l)).find(ce=>ce.batchID.toString()===ie);return F(ce=>ce&&ce.batchID.toString()===ie&&ge?ge:ce),ge},[l]),Y=x.useCallback(async()=>{const ie=ir();if(!l||!ie||a.current)return null;a.current=!0,g(null),p(!1),C([]),D([]),J(null),T(!1),P(void 0),F(void 0),w(!1);const te=new $y(l),ge=ue=>{if(T(!ue),p(!0),ue){if(te.adminStamp&&!te.adminStamp.usable){console.warn("Admin stamp exists but is not usable"),w(!0);return}g(te),H(te),U(te)}},ce=({driveInfo:ue})=>{H(te,ue)},he=({driveInfo:ue})=>{H(te,ue,!0),U(te)},ve=({driveInfo:ue})=>{H(te,ue,!0),U(te)},xe=ue=>{w(ue),C([]),D([]),$([]),J(null),P(void 0),F(void 0)};te.emitter.on(na.STATE_INVALID,xe),te.emitter.on(na.INITIALIZED,ge),te.emitter.on(na.DRIVE_CREATED,ce),te.emitter.on(na.DRIVE_DESTROYED,he),te.emitter.on(na.DRIVE_FORGOTTEN,ve),te.emitter.on(na.FILE_UPLOADED,({fileInfo:ue})=>{U(te,ue),window.dispatchEvent(new CustomEvent(fa.FILE_UPLOADED,{detail:{fileInfo:ue}}))}),te.emitter.on(na.FILE_VERSION_RESTORED,({restored:ue})=>U(te,ue)),te.emitter.on(na.FILE_TRASHED,({fileInfo:ue})=>U(te,ue)),te.emitter.on(na.FILE_RECOVERED,({fileInfo:ue})=>U(te,ue)),te.emitter.on(na.FILE_FORGOTTEN,({fileInfo:ue})=>U(te,ue,!0));try{return await te.initialize(),te}catch{return p(!0),null}finally{a.current=!1}},[l,H,U]),X=x.useCallback(async()=>{const ie=k?.id.toString(),te=R,ge=await Y();if(ie&&ge&&l){const ce=ge.driveList.find(xe=>xe.id.toString()===ie);P(ce);const ve=(await tn(l)).find(xe=>xe.batchID.toString()===te?.batchID.toString());F(ve)}},[l,k?.id,R,Y]);x.useEffect(()=>{i.current=s},[s]),x.useEffect(()=>{const ie=n.all===Ge.CONNECTING,te=n.apiConnection.isEnabled&&n.apiConnection.checkState===Ge.OK,ge=i.current,ce=ir();if(!ge||!ce){t.current=!1,b(null);return}ie||t.current||te&&(t.current=!0,b(new W4(ge,{signer:ce})))},[n.all,n.apiConnection,d]),x.useEffect(()=>{t.current=!1,b(null),p(!1),a.current=!1},[s]),x.useEffect(()=>{if(!l||a.current)return;(async()=>await Y())()},[l,Y]),x.useEffect(()=>{u&&_.length===0&&!W&&H(u)},[u,_.length,W,H]);const pe=x.useMemo(()=>({fm:u,initDone:m,files:E,currentDrive:k,currentStamp:R,drives:_,expiredDrives:O,adminDrive:W,initializationError:A,showError:v,shallReset:S,setCurrentDrive:P,setCurrentStamp:F,resync:X,init:Y,notifyPkSaved:B,setShowError:L,syncDrives:Z,refreshStamp:ee}),[u,m,E,k,R,_,O,W,A,v,S,P,F,X,Y,B,L,Z,ee]);return c.jsx(Ta.Provider,{value:pe,children:e})}const Va=e=>`<div style="font-weight: bold; margin-bottom: 12px; font-size: 14px;">${e}</div>`,oa={ADMIN_DESIRED_LIFETIME:`${Va("What is Desired Lifetime?")}
27
- To create the Admin Drive, a one-time deposit is required to pay for its storage on the network.
28
- <br/>
29
- <br/>
30
- This sets the initial period the Admin Drive's information will be paid for on the network. This is not a fixed expiry date. It's the estimated time it will take for the drive's balance to be depleted. You can top up any time to extend the lifetime.
31
- <br/>
32
- <br/>
33
- <b>Warning:</b> The Admin Drive is critical for managing files. If its deposit runs out and it is not renewed, the network will no longer store its data, and access to the File Manager instance will be permanently lost.`,ADMIN_SECURITY_LEVEL:`${Va("What is Security Level?")}
34
- This controls how many redundant copies of the Admin Drive's core information are created and spread across the network.
35
- <br/>
36
- <br/>
37
- A higher level provides extra protection against data loss in the improbable event of large-scale network disruptions.
38
- <br/>
39
- <br/>
40
- <b>Trade-off:</b> Higher redundancy levels decrease your initial storage, while keeping the initial deposit cost the same for the same Desired Lifetime.`,ADMIN_ESTIMATED_COST:`${Va("How is this cost calculated?")}
41
- This is the one-time deposit of xBZZ tokens required to create the Admin Drive.
42
- <br/>
43
- <br/>
44
- It is calculated based on two factors:<br/>
45
- 1. <b>Desired Lifetime:</b> The desired storage duration.<br/>
46
- 2. <b>Current Network Price:</b> The cost of storage at this moment.
47
- <br/>
48
- <br/>
49
- This deposit is used to pay storage fees on the network over time. The cost is not a one-time purchase but a deposit that will be gradually consumed over time based on the network's storage fees.
50
- <br/>
51
- <br/>
52
- As the deposit depletes, the Admin Drive's lifetime decreases. You can top up the deposit at any time to extend its lifetime.
53
- <br/>
54
- <br/>
55
- <b>Note:</b> This estimate is based on current network conditions and the deposit's depletion rate is subject to change and is contingent upon prevailing market conditions.`,ADMIN_PURCHASE_BUTTON:`${Va("Create Admin Drive")}
56
- This action will do two things:
57
- <br/>
58
- <br/>
59
- 1. It will make a one-time transaction to deposit the Estimated Cost.<br/>
60
- 2. It will create the Admin Drive.`,ADMIN_PURCHASE_BUTTON_ALREADY_EXISTED_ADMIN_DRIVE:`${Va("Create Admin Drive")}
61
-
62
- It will create the Admin Drive.`,ADMIN_STATUS_WARNING:"The File Manager works only while your storage remains valid. If it expires, all catalogue metadata is permanently lost.",DRIVE_NAME:`${Va("About Drive Name")}
63
- Set a human-readable label for this drive (e.g. Personal files). This name is stored as metadata.`,DRIVE_INITIAL_CAPACITY:`${Va("What is Initial Storage?")}
64
- This sets the initial storage capacity. This value is used in combination with lifetime and redundancy, to calculate the initial deposit.
65
- <br/>
66
- <br/>
67
- <b>Warning:</b> Be aware that in rare cases the drive might indicate it's full sooner than expected.
68
- <br/>
69
- <br/>
70
- <b>Tip:</b> Selecting a size with a little extra room provides the best flexibility.`,DRIVE_DESIRED_LIFETIME:`${Va("What is Desired Lifetime?")}
71
- This sets the initial period the drive's information will be paid for on the network. This is not a fixed expiry date. It's the estimated time it will take for the drive's balance to be depleted. You can top up any time to extend the lifetime.
72
- <br/>
73
- <br/>
74
- <b>Warning:</b> If the deposit balance runs out, the drive's data is no longer paid for and will be scheduled for permanent deletion by the network. The rate of depletion is depends upon actual market conditions.`,DRIVE_SECURITY_LEVEL:`${Va("What is Security Level?")}
75
- This controls the level of data redundancy for your drive's data.
76
- <br/>
77
- <br/>
78
- Higher levels provide maximum protection against data loss, even in the unlikely event of large-scale network disruptions.
79
- <br/>
80
- <br/>
81
- <b>Trade-off:</b> Higher redundancy levels decreases your initial storage, while keeping the initial deposit cost the same for the same Desired Lifetime.`,DRIVE_ESTIMATED_COST:`${Va("How is this cost calculated?")}
82
- This is the one-time deposit of xBZZ tokens required to fund the drive's storage.
83
- <br/>
84
- <br/>
85
- It is calculated based on:
86
- <br/>
87
- 1. <b>Initial Storage</b> (Storage size)
88
- <br/>
89
- 2. <b>Desired Lifetime</b> (Persistence duration)<br/>
90
- 3. <b>Current Network Price</b> (Dynamic storage costs)
91
- <br/>
92
- <br/>
93
- This deposit is used to pay storage fees on the network over time. The cost is not a one-time purchase but a deposit that will be gradually consumed over time based on the network's storage fees.
94
- <br/>
95
- <br/>
96
- As the deposit depletes, the drive's lifetime decreases. You can top up the deposit at any time to extend its lifetime.
97
- <br/>
98
- <br/>
99
- <b>Note:</b> This estimate is based on current network conditions and the deposit's depletion rate is subject to change and is contingent upon prevailing market conditions.`,PRIVATE_KEY_MODAL_HEADER:"The Private Key ensures exclusive access to this File Manager instance. It is the user's responsibity to store in a secure and tamper-proof way.",PRIVATE_KEY_MODAL_GENERATED_KEY:`${Va("Generated Key")}
100
- A unique, 64-character secure key has been generated.
101
- <br/>
102
- <br/>
103
- Advanced users can delete this and input a custom key.`,PRIVATE_KEY_MODAL_CONFIRM_KEY:`${Va("Confirmation Step")}
104
- This is a final safety check to ensure a copy of the key has been saved before proceeding.`,PRIVATE_KEY_MODAL_KEY_INFO:`${Va("On This Device Only")}
105
- For convenience, an encrypted copy of this key is saved in this browser's local storage. This avoids needing to enter it on every visit.`,FILE_OPERATION_TRASH:"Note: Moving items to Trash can modify file metadata and history which may cause the node to report a different (sometimes higher) used capacity. This does not upload new data but the displayed usage may change post operation.",FILE_OPERATION_FORGET:"Note: Forgetting hides files from your view but does not delete underlying data on Swarm. Metadata/history changes can affect the reported used capacity. In some cases the UI may show freed visible drive space.",FILE_OPERATION_RESTORE_VERSION:"Note: Restoring versions can alter file metadata and history which may affect the node-reported used capacity. The operation does not upload new data but displayed usage may change post operation.",FILE_OPERATION_RESTORE_FROM_TRASH:"Note: Restoring from Trash can modify file metadata and history which may cause the node to report a different (sometimes higher) used capacity. This does not upload new data but the displayed usage may change post operation.",DRIVE_CAPACITY_UPDATING:`${Va("Capacity Update in Progress")}
106
- The drive's capacity is being refreshed after an upgrade or file operation.
107
- <br/>
108
- <br/>
109
- The system is checking the network for the updated stamp information. This process may take a moment depending on network conditions.
110
- <br/>
111
- <br/>
112
- If no update is detected after the polling period, the display will revert to showing the last known values.`,DRIVE_CAPACITY_INFO:`${Va("Drive Capacity")}
113
- Shows how much storage is used on this drive. Actual usage might be a bit higher than file sizes due to storage overhead.`};function Vr({onStampUpdated:e,onPollingStateChange:a,onTimeout:t,refreshStamp:n,timeout:s}){const i=x.useRef(null),d=x.useRef(null),f=x.useCallback(()=>{i.current&&(clearInterval(i.current),i.current=null),d.current&&(clearTimeout(d.current),d.current=null),a(!1)},[a]),l=x.useCallback(async(u,g,m,p,S)=>{try{const w=await n(u);if(!w)return{updated:!1,stamp:null};const E=w.size.toBytes(),C=w.remainingSize.toBytes(),_=w.duration.toEndDate().getTime(),D=E>g,O=C<m,$=_>p;return{updated:S?D&&$:D||$||O,stamp:w}}catch(w){return console.error("[useStampPolling] Error refreshing stamp:",w),{updated:!1,stamp:null}}},[n]);return{startPolling:x.useCallback((u,g)=>{i.current&&(clearInterval(i.current),i.current=null),d.current&&(clearTimeout(d.current),d.current=null),a(!0);const m=u.batchID.toString(),p=u.size.toBytes(),S=u.remainingSize.toBytes(),w=u.duration.toEndDate().getTime();d.current=setTimeout(async()=>{if(f(),!t)return;const E=await l(m,p,S,w,g);if(E.updated&&E.stamp){e(E.stamp);return}t(E.stamp)},s),i.current=setInterval(async()=>{const E=await l(m,p,S,w,g);E.updated&&E.stamp&&(e(E.stamp),f())},Zy)},[e,a,t,f,s,l]),stopPolling:f}}function Je({label:e,onClick:a,icon:t,size:n="medium",variant:s="primary",disabled:i,width:d}){return c.jsxs("div",{className:`fm-button fm-button-${s} fm-button-${n}${t?" fm-button-icon":""}${i?" fm-button-disabled":""}`,onClick:i?void 0:a,style:{width:d?`${d}px`:void 0},children:[t," ",e]})}function kt({title:e="Are you sure?",message:a,confirmLabel:t="Confirm",cancelLabel:n="Cancel",onConfirm:s,onCancel:i,showFooter:d=!0,isProgress:f=!1,spinnerMessage:l,showMinimize:b=!0,onMinimize:u,background:g=!0}){const[m,p]=x.useState(()=>document.querySelector(".fm-main")||document.body);return x.useLayoutEffect(()=>{p(document.querySelector(".fm-main")||document.body)},[]),ot.createPortal(c.jsx("div",{className:`fm-modal-container fm-confirm-modal ${g?"":"fm-modal-no-background"}`,children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-modal-window-header",children:e}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsx("div",{className:"fm-modal-window-body",children:f?c.jsxs("div",{className:"fm-spinner-center",children:[c.jsxs("div",{className:"fm-spinner-message",children:[c.jsx("div",{children:l||"Working…"}),c.jsx("div",{className:"fm-mini-spinner"})]}),b&&c.jsx(Je,{label:"Minimize",variant:"secondary",onClick:u})]}):c.jsx("div",{className:"fm-modal-white-section",children:a})})}),d&&(i||s)&&c.jsxs("div",{className:"fm-modal-window-footer",children:[i&&c.jsx(Je,{label:n,variant:"secondary",onClick:i}),s&&c.jsx(Je,{label:t,variant:"primary",onClick:()=>s()})]})]})}),m)}function As({value:e,width:a="200px",color:t="#ed8131",backgroundColor:n="white"}){return c.jsx("div",{className:"fm-progress-bar",style:{width:`${a}`,backgroundColor:`${n}`},children:c.jsx("div",{className:"fm-progress-bar-fill",style:{width:`${e}%`,backgroundColor:`${t}`}})})}function la({label:e,iconSize:a="16px",edgeOffsetPx:t=12,gapPx:n=6,children:s,disableMargin:i=!1,bottomTooltip:d=!1}){const[f,l]=x.useState(!1),[b,u]=x.useState(null),g=x.useRef(null),m=x.useCallback(()=>{const p=g.current;if(!p)return;const S=p.querySelector(".fm-tooltip-container");if(!S)return;const w=p.getBoundingClientRect(),E=p.closest(".fm-modal-container");let C=0;E&&(C=E.getBoundingClientRect().left);const _=S.offsetWidth||0,D=w.right+n+_+t,O=window.innerWidth,$=w.top+w.height/2;D>O?(l(!0),u({top:$,right:O-w.left+n-C})):(l(!1),u({top:$,left:w.right+n-C}))},[t,n]);return c.jsxs("span",{ref:g,className:`fm-tooltip-wrapper${f?" left":""}${i?" no-margin":""}`,"aria-label":"info tooltip",onMouseEnter:m,style:{"--fm-tooltip-gap":`${n}px`},children:[s&&c.jsx("span",{className:"fm-tooltip-text",children:s}),c.jsx("span",{className:"fm-tooltip-trigger",role:"button",tabIndex:0,children:c.jsx(E1,{size:a})}),c.jsx("div",{className:`fm-tooltip-container${d?" bottom":""}`,style:b?{top:`${b.top}px`,left:b.left!==void 0?`${b.left}px`:void 0,right:b.right!==void 0?`${b.right}px`:void 0,transform:"translateY(-50%)"}:void 0,dangerouslySetInnerHTML:{__html:e}})]})}function l3(e,a,t=!0){x.useEffect(()=>{if(!t)return;function n(s){e?.current&&!e.current.contains(s.target)&&a()}return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[e,a,t])}function vc({options:e,value:a,onChange:t,placeholder:n,id:s,label:i,icon:d,infoText:f}){const[l,b]=x.useState(!1),u=x.useRef(null);l3(u,()=>b(!1),l);const g=e.find(m=>m.value===a)?.label||"";return c.jsxs("div",{className:"fm-custom-dropdown",ref:u,children:[i&&c.jsxs("label",{htmlFor:s,className:"fm-input-label",children:[d," ",i," ",f&&c.jsx(la,{label:f||"",iconSize:"14px"})]}),c.jsxs("div",{className:`fm-custom-dropdown-selected${l?" open":""}`,id:s,onClick:()=>b(m=>!m),children:[g||c.jsxs("span",{className:"placeholder",children:[n," "]}),c.jsx(Nb,{className:"arrow"})]}),l&&c.jsx("ul",{className:"fm-custom-dropdown-list",children:e.map((m,p)=>c.jsx("li",{className:m.value===a?"selected":"",onClick:()=>{t(m.value,p),b(!1)},children:m.label},m.value))})]})}const b7=Xa.OFF,ex="ENCRYPTION_OFF";function Kr({stamp:e,onCancelClick:a,containerColor:t,drive:n,setErrorMessage:s}){const{nodeAddresses:i,walletBalance:d}=x.useContext(We),{beeApi:f}=x.useContext(Le),{refreshStamp:l,setShowError:b}=x.useContext(Ta),[u,g]=x.useState(!0),[m,p]=x.useState(e.size),[S,w]=x.useState(""),[E,C]=x.useState(0),[_,D]=x.useState(""),[O,$]=x.useState(0),W=x.useMemo(()=>Hr(O,e.duration.toEndDate()),[O,e.duration]),[J,k]=x.useState([]),[P,R]=x.useState("0"),[F,A]=x.useState(!1),T=document.querySelector(".fm-main")||document.body,v=x.useRef(!0),{startPolling:L}=Vr({refreshStamp:l,onStampUpdated:ee=>{window.dispatchEvent(new CustomEvent(fa.DRIVE_UPGRADE_END,{detail:{driveId:n.id.toString(),success:!0,updatedStamp:ee}}))},onTimeout:ee=>{window.dispatchEvent(new CustomEvent(fa.DRIVE_UPGRADE_TIMEOUT,{detail:{driveId:n.id.toString(),finalStamp:ee||null}}))},onPollingStateChange:()=>{},timeout:i3}),B=(ee,Y)=>{p(ee===-1?e.size:Ut.fromBytes(ee)),C(Y)},U=x.useCallback(async(ee,Y,X,pe,ie,te,ge)=>{let ce;try{ce=await f?.getExtensionCost(ee,Y,X,pe,ie,te)}catch{s?.("Failed to calculate extension cost"),b(!0);return}const he=ce?ce.toSignificantDigits(2):"0";v.current&&(d&&ce&&ce.gte(d.bzzBalance)||!d?g(!1):g(!0),ge?(w(""),D("")):(w("0"),D(he)),R(he))},[f,d,v,s,b]);x.useEffect(()=>(v.current=!0,()=>{v.current=!1}),[]),x.useEffect(()=>{(()=>{const Y=Array.from(Ir(!1,b7).values()),pe=$f[ex][b7].findIndex(ge=>ge.batchDepth===e.depth),ie=Y.slice(pe+1),te=[{value:-1,label:"No additional storage (0 GB)"},...ie.map(ge=>({value:ge,label:ka(ge-e.size.toBytes())}))];k(te)})()},[e.depth,e.size]),x.useEffect(()=>{(()=>{const Y=E>0,X=Pt.fromEndDate(W,e.duration.toEndDate());U(e.batchID,m,X,void 0,!1,b7,Y)})()},[m,W,E,U,e.batchID,e.duration]);const H=e.batchID.toString(),Z=H.length>12?`${H.slice(0,4)}...${H.slice(-4)}`:H;return ot.createPortal(c.jsx("div",{className:`fm-modal-container fm-upgrade-drive-modal-container${t==="none"?" fm-modal-container-no-bg":""}`,children:c.jsxs("div",{className:"fm-modal-window fm-upgrade-drive-modal",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx(C1,{size:"18px"})," Upgrade ",Ea(n.name||e.label||Z,35)]}),c.jsx("div",{children:"Choose extension period and additional storage for your drive."}),c.jsxs("div",{className:"fm-modal-window-scrollable",children:[c.jsx("div",{className:"fm-modal-window-body",children:c.jsxs("div",{className:"fm-upgrade-drive-modal-wallet",children:[c.jsxs("div",{className:"fm-upgrade-drive-modal-wallet-header fm-emphasized-text",children:[c.jsx(n1,{size:"14px",color:"rgb(237, 129, 49)"})," Wallet information"]}),d&&i?c.jsxs("div",{className:"fm-upgrade-drive-modal-wallet-info-container",children:[c.jsxs("div",{className:"fm-upgrade-drive-modal-wallet-info",children:[c.jsx("div",{children:"Balance"}),c.jsx("div",{children:`${d.bzzBalance.toSignificantDigits(4)} xBZZ`})]}),c.jsxs("div",{className:"fm-upgrade-drive-modal-wallet-info",children:[c.jsx("div",{children:"Wallet address:"}),c.jsx("div",{className:"fm-value-snippet",children:`${d.walletAddress.slice(0,4)}...${d.walletAddress.slice(-4)}`})]})]}):c.jsx("div",{children:"Wallet information is not available"}),c.jsx("div",{className:"fm-upgrade-drive-modal-info fm-swarm-orange-font",children:c.jsxs("a",{className:"fm-upgrade-drive-modal-info-link fm-pointer",href:"https://www.ethswarm.org/get-bzz#how-to-get-bzz",target:"_blank",rel:"noopener noreferrer",children:[c.jsx(G4,{size:"14px"}),"Need help topping up?"]})})]})}),c.jsxs("div",{className:"fm-modal-window-body",children:[c.jsxs("div",{className:"fm-upgrade-drive-modal-input-row",children:[c.jsx("div",{className:"fm-modal-window-input-container",children:c.jsx(vc,{id:"drive-type",label:"Additional storage",icon:c.jsx(kb,{size:"14px",color:"rgb(237, 129, 49)"}),options:J,value:E===0?-1:m.toBytes(),onChange:B})}),c.jsx("div",{className:"fm-modal-window-input-container",children:c.jsx(vc,{id:"drive-type",label:"Duration",icon:c.jsx(hs,{size:"14px",color:"rgb(237, 129, 49)"}),options:as,value:O,onChange:(ee,Y)=>{$(ee)}})})]}),c.jsxs("div",{className:"fm-modal-white-section",children:[c.jsx("div",{className:"fm-emphasized-text",children:"Summary"}),c.jsxs("div",{children:["Drive: ",Ea(n.name)," ",n.isAdmin&&c.jsx(Mf,{style:{fontSize:"16px"}})]}),c.jsxs("div",{children:["BatchId: ",Ea(e.label,25)," (",Z,")"]}),c.jsxs("div",{children:["Expiry: ",e.duration.toEndDate().toLocaleDateString()]}),c.jsxs("div",{children:["Additional storage:"," ",E===0?"0 GB":`${Gy(Math.max(m.toBytes()-e.size.toBytes(),0),"GB").toFixed(3)+" GB"} ${_===""?"":"("+P+" xBZZ)"}`]}),c.jsxs("div",{children:["Extension period:"," ",`${as[O]?.label} ${S===""?"":"("+P+" xBZZ)"}`]}),c.jsxs("div",{className:"fm-upgrade-drive-modal-info fm-emphasized-text",children:["Total:"," ",c.jsxs("span",{className:"fm-swarm-orange-font",children:[P," xBZZ ",u?"":"(Insufficient balance)"]})]})]})]})]}),c.jsxs("div",{className:"fm-modal-window-footer",children:[c.jsx(Je,{label:F?"Confirming…":"Confirm upgrade",variant:"primary",disabled:F||!u||!d||!f,onClick:async()=>{if(!f||!d)return;if(!await R1(f,e.batchID)){s?.("The admin drive has expired. Please clear the browser cache and reload the page."),b(!0),a();return}try{A(!0),window.dispatchEvent(new CustomEvent(fa.DRIVE_UPGRADE_START,{detail:{driveId:n.id.toString()}})),a(),await f.extendStorage(e.batchID,m,O>=0?Pt.fromEndDate(W,e.duration.toEndDate()):Pt.ZERO,void 0,!1,b7),L(e,E>0)}catch(Y){const X=Y instanceof Error?Y.message:"Upgrade failed";window.dispatchEvent(new CustomEvent(fa.DRIVE_UPGRADE_END,{detail:{driveId:n.id.toString(),success:!1,error:X+" (drive: "+n.name+")"}}))}}}),c.jsx(Je,{label:"Cancel",variant:"secondary",disabled:F,onClick:a})]}),F&&c.jsxs("div",{className:"fm-drive-item-creating-overlay",children:[c.jsx("div",{className:"fm-mini-spinner"}),c.jsx("span",{children:"Please wait…"})]})]})}),T)}function b3({driveName:e,onOk:a}){const t=document.querySelector(".fm-main")||document.body;return ot.createPortal(c.jsx("div",{className:"fm-modal-container fm-upgrade-timeout-modal",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-modal-window-header",children:"Drive upgrade taking longer than expected"}),c.jsx("div",{className:"fm-modal-window-body",children:c.jsx("div",{className:"fm-modal-white-section",children:c.jsxs("p",{children:["The upgrade for ",c.jsx("strong",{children:e})," is taking longer than expected."]})})}),c.jsx("div",{className:"fm-modal-window-footer",children:c.jsx(Je,{label:"OK",variant:"primary",onClick:a})})]})}),t)}function ax({adminStamp:e,adminDrive:a,loading:t,isCreationInProgress:n,setErrorMessage:s}){const{drives:i,setShowError:d,refreshStamp:f}=x.useContext(Ta),{beeApi:l}=x.useContext(Le),[b,u]=x.useState(!1),[g,m]=x.useState(!1),[p,S]=x.useState(!1),[w,E]=x.useState(e),[C,_]=x.useState(!0),D=x.useCallback(B=>{E(B)},[]),O=x.useCallback(B=>{},[]),{startPolling:$}=Vr({onStampUpdated:D,onPollingStateChange:O,refreshStamp:f,timeout:i3});x.useEffect(()=>{_(n||t)},[n,t,_]),x.useEffect(()=>{if(!e||!w){E(e);return}if(w.batchID.toString()!==e.batchID.toString()){E(e);return}const B=e.size.toBytes(),U=w.size.toBytes(),H=e.duration.toEndDate().getTime(),Z=w.duration.toEndDate().getTime();(B>U||H>Z)&&E(e)},[e]),x.useEffect(()=>{if(!a)return;const B=a.id.toString(),U=ee=>{const{driveId:Y}=ee.detail||{};Y===B&&S(!0)},H=ee=>{const{driveId:Y,success:X,error:pe,updatedStamp:ie}=ee.detail||{};if(Y===B){if(!X&&pe){S(!1),s?.(pe),d(!0);return}ie&&E(ie),S(!1)}},Z=ee=>{const{driveId:Y}=ee.detail||{};Y===B&&m(!0)};return window.addEventListener(fa.DRIVE_UPGRADE_START,U),window.addEventListener(fa.DRIVE_UPGRADE_END,H),window.addEventListener(fa.DRIVE_UPGRADE_TIMEOUT,Z),()=>{window.removeEventListener(fa.DRIVE_UPGRADE_START,U),window.removeEventListener(fa.DRIVE_UPGRADE_END,H),window.removeEventListener(fa.DRIVE_UPGRADE_TIMEOUT,Z)}},[a,s,d]);const W=x.useCallback(()=>{S(!1),m(!1),w&&$(w)},[w,$]),{capacityPct:J,usedSize:k,totalSize:P}=x.useMemo(()=>{if(!w)return{capacityPct:0,usedSize:"—",totalSize:"—"};const B=c3(i)*i.length,{capacityPct:U,usedBytes:H,stampSizeBytes:Z}=Hn(w,[],a?.redundancyLevel),ee=Math.max(H,B);return{capacityPct:Math.max(U,ee/Z*100),usedSize:ka(ee),totalSize:ka(Z)}},[w,a,i]),R=x.useMemo(()=>w?w.duration.toEndDate().toLocaleDateString():"—",[w]),F=t||p||n,A=F?" is-loading":"",T=n?"Creating":"Loading",v=c.jsxs(c.Fragment,{children:[T," admin drive — please do not reload the page.",c.jsx("br",{}),"This may take a few minutes."]}),L=()=>c.jsxs(c.Fragment,{children:[b&&w&&a&&c.jsx(Kr,{stamp:w,drive:a,onCancelClick:()=>u(!1),setErrorMessage:s}),g&&a&&w&&c.jsx(b3,{driveName:a.name,onOk:W}),p&&c.jsxs("div",{className:"fm-drive-item-creating-overlay","aria-live":"polite",children:[c.jsx("div",{className:"fm-mini-spinner"}),c.jsx("span",{children:"Upgrading admin drive…"})]}),C&&c.jsx(kt,{title:"Admin Drive Creation",isProgress:!0,spinnerMessage:v,showFooter:!1,showMinimize:!0,onMinimize:()=>_(!1)})]});return c.jsxs("div",{children:[c.jsxs("div",{className:`fm-admin-status-bar-container${A}`,"aria-busy":F?"true":"false",children:[c.jsxs("div",{className:"fm-admin-status-bar-left",children:[c.jsxs("div",{className:`fm-drive-item-capacity ${p?"fm-drive-item-capacity-updating":""}`,title:p?"Capacity is updating... This may take a few moments.":"",children:["Capacity ",c.jsx(As,{value:J,width:"150px"})," ",k," / ",P]}),c.jsxs("div",{children:["File Manager Available: Until: ",R]}),c.jsx(la,{label:oa.ADMIN_STATUS_WARNING})]}),L(),c.jsx("div",{className:"fm-admin-status-bar-upgrade-button",onClick:async()=>{if(!F&&w&&a&&l){if(!await R1(l,w.batchID)){s?.("The admin drive has expired. Please clear the browser cache and reload the page."),d(!0);return}u(!0)}},"aria-disabled":F?"true":"false",children:F?"Working…":"Manage"})]}),!C&&(t||n)&&c.jsx("div",{className:"fm-admin-status-bar-progress-pill-container",children:c.jsx("div",{className:"fm-admin-status-progress-pill",onClick:()=>_(!0),children:v})})]})}function Zr({label:e,onClick:a}){return c.jsx("div",{className:"fm-error-modal-container",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-error-modal-message",children:e}),c.jsx("div",{className:"fm-error-modal-button-container",children:c.jsx(Je,{variant:"primary",label:"OK",width:100,onClick:a})})]})})}const u3=x.createContext(void 0);function tx({children:e}){const[a,t]=x.useState(""),[n,s]=x.useState("all"),[i,d]=x.useState(!0),[f,l]=x.useState(!0),b=x.useRef(null),u=x.useRef(!1),g=x.useCallback(S=>{const w=S.trim();if(!u.current&&w.length>0&&(b.current={scope:n,includeActive:i,includeTrashed:f},u.current=!0),u.current&&w.length===0){const E=b.current;E&&(s(E.scope),d(E.includeActive),l(E.includeTrashed)),b.current=null,u.current=!1}t(S)},[n,i,f]),m=x.useCallback(()=>{g("")},[g]),p=x.useMemo(()=>({query:a,scope:n,includeActive:i,includeTrashed:f,setQuery:g,clear:m,setScope:s,setIncludeActive:d,setIncludeTrashed:l}),[a,n,i,f,m,g]);return c.jsx(u3.Provider,{value:p,children:e})}function h3(){const e=x.useContext(u3);if(!e)throw new Error("useFMSearch must be used within SearchProvider");return e}const g3=x.createContext(void 0);function nx({children:e}){const[a,t]=x.useState(wa.File),[n,s]=x.useState(void 0);return c.jsx(g3.Provider,{value:{view:a,setView:t,actualItemView:n,setActualItemView:s},children:e})}function O1(){const e=x.useContext(g3);if(!e)throw new Error("useView must be used within a ViewProvider");return e}class m3{controllers=new Map;create(a){return this.controllers.has(a)||this.controllers.set(a,new AbortController),this.controllers.get(a)}getSignal(a){return this.controllers.get(a)?.signal}abort(a){this.controllers.get(a)?.abort(),this.controllers.delete(a)}has(a){return this.controllers.has(a)}clear(){this.controllers.forEach(a=>a.abort()),this.controllers.clear()}}var mn=(e=>(e.Trash="trash",e.Recover="recover",e.Forget="forget",e))(mn||{});async function p3({fm:e,file:a,redundancyLevel:t,driveId:n,stamp:s,adminStamp:i,adminRedundancy:d,operation:f,onError:l,onSuccess:b}){try{const u=f==="forget",g=u&&i||s,{ok:m}=Vn({fm:e,redundancyLevel:t,stamp:g,useInfoSize:!u,adminRedundancy:u?d:void 0,driveId:n,fileSize:0,cb:w=>{l?.(w||`Could not ${f} file due to insufficient space: ${a.name}`)}});if(!m)return!1;const p=f==="trash"?ha.Trashed:ha.Recovered,S={...a,customMetadata:{...a.customMetadata??{},lifecycle:pt(p),lifecycleAt:new Date().toISOString()}};switch(f){case"trash":await e.trashFile(S);break;case"recover":await e.recoverFile(S);break;case"forget":await e.forgetFile(a);break;default:throw new Error(`Unknown operation: ${f}`)}return b?.(),!0}catch(u){return l?.(u instanceof Error?u.message:`Failed to ${f} file: ${a.name}`),!1}}async function _4({fm:e,files:a,operation:t,stamps:n,adminStamp:s,adminDrive:i,onError:d,onFileComplete:f}){if(!(!e||!a?.length))for(let l=0;l<a.length;l++){const b=a[l],u=`Could not ${t} file due to insufficient space: ${b.name}`;try{const g=n.find(p=>p.batchID.toString()===b.batchId.toString());if(!g&&t!=="forget"){d?.(`Stamp not found for file: ${b.name}`);return}if(!g)return;if(!await p3({fm:e,file:b,redundancyLevel:b.redundancyLevel||0,driveId:b.driveId,stamp:g,adminStamp:s,operation:t,adminRedundancy:i?.redundancyLevel,onError:d}))throw new Error(u);f?.(b,l)}catch(g){const m=g instanceof Error?g.message:String(g);d?.(m||u);return}}}const y3=()=>typeof window.showSaveFilePicker=="function",cx=()=>typeof window.showDirectoryPicker=="function",sx=e=>typeof e.showPicker=="function",x3="downloads",ts=new m3;function rx(e){ts.create(e)}function ix(e){ts.abort(e)}const w3=async(e,a,t,n)=>{const s=e.getReader();let i,d=0;try{i=await a.createWritable();let f=!1;for(;!f;){if(n?.aborted)throw new DOMException("Aborted","AbortError");const{value:l,done:b}=await s.read();l&&(await i.write(l),d+=l.length),f=b,t?.({progress:d,isDownloading:!f})}}catch(f){throw f.name==="AbortError"?t?.({progress:d,isDownloading:!1,state:nt.Cancelled}):(t?.({progress:d,isDownloading:!1,state:nt.Error}),console.error("Failed to process stream: ",f)),f}finally{s.releaseLock();try{n?.aborted?await i?.abort():await i?.close()}catch(f){console.error("filehandle close/abort error: ",f)}}},dx=async(e,a,t,n)=>{const s=e.getReader(),i=[];let d=0;try{let b=!1;for(;!b;){if(n?.aborted)throw new DOMException("Aborted","AbortError");const{value:u,done:g}=await s.read();u&&(i.push(u),d+=u.length),b=g,t?.({progress:d,isDownloading:!b})}}catch(b){b.name==="AbortError"?t?.({progress:d,isDownloading:!1,state:nt.Cancelled}):(t?.({progress:d,isDownloading:!1,state:nt.Error}),console.error("Error during stream processing: ",b));return}finally{s.releaseLock()}const f=new Uint8Array(i.reduce((b,u)=>b+u.length,0));let l=0;for(const b of i)f.set(b,l),l+=b.length;return new Blob([f],{type:a})},Yr=e=>{const a=e?.name;return a==="AbortError"||a==="NotAllowedError"||a==="SecurityError"},Jr=async e=>{const{mime:a,ext:t}=T1(e.info.name,e.info.customMetadata),n={suggestedName:e.info.name,startIn:x3};t&&(n.types=[{accept:{[a]:[`.${t}`]}}]);try{const s=await window.showSaveFilePicker(n);return{infoWithId:e,handle:s}}catch(s){return Yr(s)?{infoWithId:e,cancelled:!0}:void 0}},fx=async e=>{if(!cx()){const a=[];for(const t of e){const n=await Jr(t);if(!n)return;a.push(n)}return a}try{const a=await window.showDirectoryPicker({mode:"readwrite",startIn:x3}),t=[];for(const n of e)try{const s=await a.getFileHandle(n.info.name,{create:!0});t.push({infoWithId:n,handle:s})}catch(s){console.error(`Failed to create file handle for ${n.info.name}:`,s),t.push({infoWithId:n,cancelled:!0})}return t}catch(a){return Yr(a)?e.map(t=>({infoWithId:t,cancelled:!0})):void 0}},ox=async e=>{if(!y3())return Promise.resolve(e.map(a=>({infoWithId:a})));if(e.length===1){const a=await Jr(e[0]);return a?[a]:void 0}return fx(e)},lx=async(e,a,t,n)=>{try{for(const s of e)await w3(s,a,t,n);return!0}catch(s){return s.name!=="AbortError"&&console.error("Error during download to disk: ",s),!1}},bx=async(e,a,t,n,s)=>{try{for(const i of e){const{mime:d}=T1(a.name,a.customMetadata),f=await dx(i,d,t,s);if(!f)return{success:!1,cancelled:!1};const l=URL.createObjectURL(f);let b=!1;if(n&&(b=ux(a.name,d,l)),!b){if(n&&y3()){const u=await hx(f,a,t,s);return URL.revokeObjectURL(l),u}mx(l,a.name)}}return{success:!0,cancelled:!1}}catch(i){return i.name!=="AbortError"&&console.error("Error during download and open: ",i),{success:!1,cancelled:!1}}},ux=(e,a,t)=>{const n=kp.find(i=>i.test(a));if(!n)return!1;const s=window.open("","_blank");if(!s)return!1;try{n.render(s,t,a,e)}catch(i){return s.close(),console.error("Failed to render file in a new window: ",i),!1}return!0},hx=async(e,a,t,n)=>{const s={uuid:"",info:a};try{if(n?.aborted)throw new DOMException("Aborted","AbortError");const i=await Jr(s);return!i||!i.handle?{success:!1,cancelled:!1}:i.cancelled?{success:!1,cancelled:!0}:(await w3(e.stream(),i.handle,t,n),{success:!0,cancelled:!1})}catch(i){return Yr(i)?{success:!1,cancelled:!0}:(console.error("Failed to save blob using file picker: ",i),{success:!1,cancelled:!1})}},gx=1e3,mx=(e,a)=>{const t=document.createElement("a");t.href=e,t.download=a,document.body.appendChild(t),t.click(),window.setTimeout(()=>window.URL.revokeObjectURL(e),gx),document.body.removeChild(t)},Xr=async(e,a,t,n)=>{if(!(!a.length||t&&t.length!==a.length))try{const s=n?a.map(i=>({infoWithId:i})):await ox(a);if(!s)return;await Promise.all(s.map(async(i,d)=>{const f=t[d],l=i.infoWithId.uuid;rx(l);const b=ts.getSignal(l);try{if(i.cancelled){f({progress:0,isDownloading:!1,state:nt.Cancelled});return}const u=await e.download(i.infoWithId.info,void 0,void 0,{signal:b});if(!u||u.length===0){console.error(`No data streams returned for ${i.infoWithId.info.name}`),f({progress:0,isDownloading:!1,state:nt.Error});return}let g=!1,m=!1;if(n||!i.handle){const{success:p,cancelled:S}=await bx(u,i.infoWithId.info,f,n,b);g=p,m=S}else g=await lx(u,i.handle,f,b);if(g){const p=i.infoWithId.info.customMetadata?.size,S=p?Number(p):0;f({progress:S,isDownloading:!1});return}b?.aborted||f({progress:0,isDownloading:!1,state:m?nt.Cancelled:nt.Error})}catch(u){u.name==="AbortError"?f({progress:0,isDownloading:!1,state:nt.Cancelled}):(f({progress:0,isDownloading:!1,state:nt.Error}),console.error("download queue error: ",u))}finally{ts.abort(l)}}))}catch(s){console.error("An error happened in the download queue: ",s)}};function px({listToRender:e,trackDownload:a,setErrorMessage:t}){const{fm:n,adminDrive:s,currentDrive:i,drives:d,refreshStamp:f,setShowError:l}=x.useContext(Ta),{beeApi:b}=x.useContext(Le),[u,g]=x.useState(new Set),[m,p]=x.useState(void 0),S=x.useMemo(()=>e.map(mc),[e]),w=x.useMemo(()=>S.filter(T=>u.has(T)).length,[S,u]),E=x.useMemo(()=>S.length>0&&w===S.length,[S.length,w]),C=x.useMemo(()=>w>0&&!E,[w,E]),_=x.useRef(!0),D=x.useRef(null),O=x.useMemo(()=>e.filter(T=>u.has(mc(T))),[e,u]);x.useEffect(()=>(_.current=!0,(async()=>{if(!b)return;const L=(await tn(b)).filter(B=>d.some(U=>U.batchId.toString()===B.batchID.toString()));$a(_,p)(L)})(),()=>{_.current=!1}),[b,d]);const $=x.useCallback((T,v)=>{const L=mc(T);g(B=>{const U=new Set(B);return v?U.add(L):U.delete(L),U})},[]),W=x.useCallback(()=>g(new Set(S)),[S]),J=x.useCallback(()=>g(new Set),[]),k=x.useCallback(()=>{const T=D.current;if(T)try{sx(T)?T.showPicker():T.click()}catch{T.click()}},[]),P=x.useCallback(async T=>{if(!n||!T?.length)return;const v=new Array(T.length),L=new Array(T.length);for(let B=0;B<T.length;B++){const U=T[B],H=U.customMetadata?.size,Z=p1(H),ee=H?Number(H):void 0,Y=d.find(pe=>pe.id.toString()===U.driveId.toString())?.name??i?.name,X=en();L[B]={uuid:X,info:U},v[B]=a({uuid:X,name:U.name,size:Z,expectedSize:ee,driveName:Y??"unknown"})}await Xr(n,L,v)},[n,i,a,d]),R=x.useCallback(async T=>{!n||!T?.length||(await _4({fm:n,files:T,operation:mn.Trash,stamps:m||[],onError:v=>{t?.(v),l(!0)},onFileComplete:v=>{f(v.batchId.toString())}}),J())},[n,m,J,f,t,l]),F=x.useCallback(async T=>{!n||!T?.length||(await _4({fm:n,files:T,operation:mn.Recover,stamps:m||[],onError:v=>{t?.(v),l(!0)},onFileComplete:v=>{f(v.batchId.toString())}}),J())},[n,m,f,J,t,l]),A=x.useCallback(async T=>{!n||!n.adminStamp||!s||!T?.length||(await _4({fm:n,files:T,operation:mn.Forget,stamps:m||[],adminStamp:n.adminStamp,adminDrive:s||void 0,onError:v=>{t?.(v),l(!0)},onFileComplete:()=>{n.adminStamp&&f(n.adminStamp.batchID.toString())}}),J())},[n,s,m,J,f,t,l]);return x.useMemo(()=>({selectedIds:u,selectedFiles:O,selectedCount:w,allChecked:E,someChecked:C,fileInputRef:D,toggleOne:$,selectAll:W,clearAll:J,uploadFromPicker:k,download:P,trash:R,restore:F,forget:A}),[u,O,w,E,C,$,W,J,k,P,R,F,A])}function F1(){const[e,a]=x.useState(!1),[t,n]=x.useState({x:0,y:0}),s=x.useRef(null);function i(f){f.preventDefault();const l=f.clientX??f.clientX,b=f.clientY??f.clientY;a(!0),n({x:l,y:b})}function d(){a(!1)}return l3(s,d,e),{showContext:e,setShowContext:a,pos:t,setPos:n,contextRef:s,handleContextMenu:i,handleCloseContext:d}}function yx({onFilesDropped:e}){const[a,t]=x.useState(!1),n=x.useRef(0),s=u=>u?!!(u.types&&Array.from(u.types).includes("Files")||u.items&&Array.from(u.items).some(g=>g.kind==="file")):!1,i=x.useCallback(u=>{s(u.dataTransfer)&&(u.preventDefault(),n.current++===0&&t(!0))},[]),d=x.useCallback(u=>{s(u.dataTransfer)&&(u.preventDefault(),u.dataTransfer.dropEffect="copy")},[]),f=x.useCallback(u=>{s(u.dataTransfer)&&(u.preventDefault(),n.current=Math.max(0,n.current-1),n.current===0&&t(!1))},[]),l=x.useCallback(u=>{if(!s(u.dataTransfer))return;u.preventDefault();const g=u.dataTransfer?.files??null;n.current=0,t(!1),g&&g.length&&e(g)},[e]),b=x.useCallback(u=>{u.preventDefault(),u.stopPropagation(),t(!1),n.current=0;const g=u.dataTransfer?.files;g&&g.length&&e(g)},[e]);return{isDragging:a,handleDragEnter:i,handleDragOver:d,handleDragLeave:f,handleDrop:l,handleOverlayDrop:b}}function xx(e){const{files:a,currentDrive:t,view:n,isSearchMode:s,query:i,scope:d,includeActive:f,includeTrashed:l}=e,b=i.trim().toLowerCase().normalize("NFC"),u=x.useCallback(w=>{const E=s1(w);return!(E&&!l||!E&&!f)},[f,l]),g=x.useCallback(w=>{if(!b)return!0;const E=w.name.toLowerCase().normalize("NFC"),C=(w.customMetadata?.mime||"").toLowerCase().normalize("NFC"),_=String(w.topic??"").toLowerCase().normalize("NFC");return E.includes(b)||C.includes(b)||_.includes(b)},[b]),m=x.useMemo(()=>{if(!t)return[];const w=a.filter(O=>O.driveId.toString()===t.id.toString()),E=w.reduce((O,$)=>(O[$.name]=(O[$.name]||0)+1,O),{}),C=O=>{if(E[O.name]>1)return`N:${O.name}`;const $=O.file.historyRef.toString();if($)return`H:${$}`;const W=O.topic.toString();return W?`T:${W}`:`N:${O.name}`},_=new Map;w.forEach(O=>{const $=C(O),W=_.get($);if(!W){_.set($,O);return}const J=Ya(O.version),k=Ya(W.version);if(!(J===void 0||k===void 0)){if(J>k){_.set($,O);return}J===k&&Number(O.timestamp||0)>Number(W.timestamp||0)&&_.set($,O)}});const D=Array.from(_.values());return n===wa.Trash?D.filter(s1):D.filter(O=>!s1(O))},[a,t,n]),p=x.useMemo(()=>{if(!s)return[];const E=(d==="selected"&&t?a.filter(D=>D.driveId.toString()===t.id.toString()):a).filter(D=>u(D)&&g(D)),C=D=>{const O=D.file.historyRef.toString();return O?`H:${O}`:`T:${D.topic.toString()}|N:${D.name}`},_=new Map;for(const D of E){const O=C(D),$=_.get(O);if(!$)_.set(O,D);else{const W=Ya(D.version),J=Ya($.version);W===void 0||J===void 0||(W>J||W===J&&Number(D.timestamp||0)>Number($.timestamp||0))&&_.set(O,D)}}return Array.from(_.values()).sort((D,O)=>Number(O.timestamp||0)-Number(D.timestamp||0))},[s,d,t,a,g,u]);return{rows:m,searchRows:p,listToRender:s?p:m,statusIncluded:u,matchesQuery:g}}var Za=(e=>(e.Name="name",e.Size="size",e.Timestamp="timestamp",e.Drive="drive",e))(Za||{}),Kn=(e=>(e.Asc="asc",e.Desc="desc",e))(Kn||{});const wx={key:"timestamp",dir:"desc"},dr=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){const a=Number(e);if(Number.isFinite(a))return a}return 0},m2=e=>{const a=e.customMetadata??{};return a&&Object.prototype.hasOwnProperty.call(a,"size")?dr(a.size):dr(e.size)},p2=e=>dr(e.timestamp),vx=e=>Object.values(Za).includes(e.key)&&Object.values(Kn).includes(e.dir);function Sx(e,a={}){const{persist:t=!0,defaultState:n=wx,storageKey:s=Qe.fmSortKey,getDriveName:i}=a,[d,f]=x.useState(()=>{if(!t)return n;try{const g=localStorage.getItem(s);if(g){const m=JSON.parse(g);if(vx(m))return m}}catch{}return n});x.useEffect(()=>{if(t)try{localStorage.setItem(s,JSON.stringify(d))}catch{}},[t,s,d]);const l=g=>{f(m=>m.key===g?{key:g,dir:m.dir==="asc"?"desc":"asc"}:{key:g,dir:"asc"})},b=()=>f(n);return{sorted:x.useMemo(()=>{const g=[...e],m=d.dir==="asc"?1:-1;return g.sort((p,S)=>{if(d.key==="name"){const C=(p.name??"").toLocaleLowerCase(),_=(S.name??"").toLocaleLowerCase();return C<_?-1*m:C>_?Number(m):0}if(d.key==="size"){const C=m2(p),_=m2(S);return C<_?-1*m:C>_?Number(m):0}if(d.key==="drive"){const C=(i?.(p.driveId.toString())??"").toLocaleLowerCase(),_=(i?.(S.driveId.toString())??"").toLocaleLowerCase();return C<_?-1*m:C>_?Number(m):0}const w=p2(p),E=p2(S);return w<E?-1*m:w>E?Number(m):0}),g},[e,d,i]),sort:d,toggle:l,reset:b}}function _x({filename:e,suggestedName:a,existingNames:t,isTrashedExisting:n,onKeepBoth:s,onReplace:i,onCancel:d}){const[f,l]=x.useState(a),b=x.useMemo(()=>{const u=(f||"").trim();return u.length>0&&!t.has(u)},[f,t]);return c.jsx("div",{className:"fm-modal-container",children:c.jsxs("div",{className:"fm-modal-window fm-upload-conflict-modal",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx(Md,{size:"18px"}),c.jsx("span",{className:"fm-main-font-color",children:"File already exists"})]}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsxs("div",{className:"fm-modal-window-body",children:[c.jsxs("div",{className:"fm-modal-white-section",children:[c.jsxs("div",{className:"fm-conflict-row",children:[c.jsxs("div",{className:"fm-emphasized-text",children:["A file named “",e,"” already exists in this drive."]}),c.jsx("div",{className:"fm-soft-text",children:"What would you like to do?"})]}),c.jsxs("div",{className:"fm-conflict-option",children:[c.jsx("div",{className:"fm-conflict-option-title",children:"Keep both"}),c.jsx("div",{className:"fm-conflict-option-sub",children:"Upload the new file as a separate item with a different name."}),c.jsxs("div",{className:"fm-conflict-rename-row",children:[c.jsx("label",{htmlFor:"conflict-newname",children:"New name"}),c.jsx("input",{id:"conflict-newname",type:"text",value:f,onChange:u=>l(u.target.value),className:"fm-input",placeholder:a}),!b&&f.trim().length>0&&t.has(f.trim())&&c.jsx("div",{className:"fm-soft-text",style:{marginTop:6},children:"That name already exists."})]}),c.jsx(Je,{label:"Keep both",variant:"secondary",onClick:()=>b&&s(f.trim()),disabled:!b})]}),c.jsx("div",{className:"fm-conflict-sep"}),c.jsxs("div",{className:"fm-conflict-option",children:[c.jsx("div",{className:"fm-conflict-option-title",children:"Replace"}),c.jsxs("div",{className:"fm-conflict-option-sub",children:["Replace the existing file by uploading this as a new version of “",e,"”."]}),c.jsx(Je,{label:"Replace",variant:"primary",onClick:i})]})]}),n&&c.jsxs("div",{className:"fm-callout fm-callout--warning",role:"note","aria-live":"polite",style:{marginTop:12},children:[c.jsx("span",{className:"fm-callout__icon","aria-hidden":!0,children:c.jsx(Md,{size:"16px"})}),c.jsxs("span",{className:"fm-callout__text",children:[c.jsx("b",{children:"Heads up:"})," The existing '",e,"' is currently in ",c.jsx("b",{children:"Trash"}),"."]})]})]})}),c.jsx("div",{className:"fm-modal-window-footer",children:c.jsx("div",{className:"fm-expiring-notification-modal-footer-one-button",children:c.jsx(Je,{label:"Cancel",variant:"secondary",onClick:d})})})]})})}var x1=(e=>(e.KeepBoth="keep-both",e.Replace="replace",e.Cancel="cancel",e))(x1||{});function Ex(e){const a=e.lastIndexOf(".");return a<=0||a===e.length-1?{base:e,ext:""}:{base:e.slice(0,a),ext:e.slice(a)}}function Cx(e,a){const{base:t,ext:n}=Ex(e);let s=1,i=`${t} (${s})${n}`;for(;a.has(i);)s+=1,i=`${t} (${s})${n}`;return i}function v3(){const[e,a]=x.useState(null),t=x.useMemo(()=>{if(!e)return null;const s=document.querySelector(".fm-main")||document.body,i=Cx(e.originalName,e.existingNames);return ot.createPortal(c.jsx(_x,{filename:e.originalName,suggestedName:i,existingNames:e.existingNames,isTrashedExisting:e.isTrashedExisting,onKeepBoth:d=>{const{resolve:f}=e;a(null),f({action:"keep-both",newName:d})},onReplace:()=>{const{resolve:d}=e;a(null),d({action:"replace"})},onCancel:()=>{const{resolve:d}=e;a(null),d({action:"cancel"})}}),s)},[e]);return[x.useCallback(async s=>{const i=Array.isArray(s.existingNames)?new Set(s.existingNames):s.existingNames;return await new Promise(d=>{a({originalName:s.originalName,existingNames:i,isTrashedExisting:s.isTrashedExisting,resolve:d})})},[]),t]}const jx=500,y2=.3,x2=10,Ax=2,w2="abort",v2=(e,a,t,n)=>{const s=a&&(!t||!n),i=!e||e.trim().length===0;return s||i},Ix=e=>{const a={};for(const[t,n]of Object.entries(e))a[t]=typeof n=="string"?n:String(n);return a},S2=(e,a,t)=>{const n=Array.from(e),s=n.reduce((b,u)=>b+(u.size||0),0),i=n[0],f=(t?Number(t.customMetadata?.accumulatedSize||t.customMetadata?.size||0):0)+s;return{size:String(s),fileCount:String(n.length),mime:i?.type||"application/octet-stream",accumulatedSize:String(f)}},_2=(e,a,t,n)=>{const s=e.lastTs?(n-e.lastTs)/1e3:0;if(s>=jx/1e3){const i=Math.max(0,a.processed-e.lastProcessed),d=i>0&&s>0?i/s:0,f=Math.max(0,a.total-a.processed),l=d>0?f/d:void 0,b=(n-t)/1e3,u=b>0&&a.processed>0?a.processed/b:0,g=u>0?f/u:void 0,m=l??g;let p;return m!==void 0&&(p=e.lastEta!==void 0?(1-y2)*e.lastEta+y2*m:m),{etaSec:p,updatedState:{lastTs:n,lastProcessed:a.processed,lastEta:p}}}return{etaSec:e.lastEta,updatedState:e}},Zt=(e,a,t)=>e.map(n=>n.uuid===a?{...n,...t}:n),Mx=e=>{let a;const t=()=>{a(new Error("Upload cancelled"))};return{promise:new Promise((s,i)=>{a=i,e?.addEventListener(w2,t)}),cleanup:()=>e?.removeEventListener(w2,t)}},E4=(e,a,t,n,s,i=He.Uploading)=>({uuid:e,name:a,size:t,percent:0,status:i,kind:n,driveName:s,startedAt:i===He.Queued?void 0:Date.now(),etaSec:void 0,elapsedSec:void 0});function Nx({setErrorMessage:e}){const{fm:a,adminDrive:t,currentDrive:n,currentStamp:s,files:i,setShowError:d,refreshStamp:f}=x.useContext(Ta),{beeApi:l}=x.useContext(Le),[b,u]=v3(),g=x.useRef(!0),m=x.useRef(new m3),p=x.useRef([]),S=x.useRef(!1),w=x.useRef(new Set),E=x.useRef(new Set),C=x.useRef(new Set),[_,D]=x.useState([]),[O,$]=x.useState([]),W=_.some(ce=>ce.status!==He.Done&&ce.status!==He.Error&&ce.status!==He.Cancelled),J=O.some(ce=>ce.status!==He.Done&&ce.status!==He.Error&&ce.status!==He.Cancelled),k=x.useCallback(ce=>{w.current.delete(ce),E.current.delete(ce),m.current.abort(ce),p.current=p.current.filter(he=>he.uuid!==ce)},[]),P=x.useCallback((ce,he,ve,xe,ue)=>{$a(g,D)(Ee=>{const Ne=Ee.findIndex(Q=>Q.uuid===ce&&Q.status!==He.Done),N=E4(ce,he,xe,ve,ue,He.Queued);if(Ne===-1)return[...Ee,N];k(ce);const se=[...Ee];return se[Ne]=N,se})},[k]),R=x.useCallback(ce=>i.filter(he=>he.driveId.toString()===ce),[i]),F=x.useCallback(async(ce,he,ve)=>{const xe=he.filter(N=>N.name===ce);if(!xe.length&&!ve.has(ce))return{cancelled:!1,finalName:ce,isReplace:!1};const ue=xe[0],Ee=ue?s1(ue):!1;if(!ue&&ve.has(ce))return{cancelled:!1,finalName:ce,isReplace:!1};const Ne=await b({originalName:ce,existingNames:ve,isTrashedExisting:Ee});return Ne.action===x1.Cancel?{cancelled:!0,isReplace:!1}:Ne.action===x1.KeepBoth?{cancelled:!1,finalName:(Ne.newName??"").trim(),isReplace:!1}:{cancelled:!1,finalName:ce,isReplace:!0,replaceTopic:ue?.topic.toString(),replaceHistory:ue?.file.historyRef.toString()}},[b]),A=x.useCallback((ce,he,ve,xe=gt.Upload,ue)=>{if(!g.current)return()=>{};const Ee=Date.now();let Ne={lastTs:Ee,lastProcessed:0,lastEta:void 0};return D(se=>{const q=se.find(we=>we.uuid===ce)?.driveName||ue,K=se.findIndex(we=>we.uuid===ce),ne=E4(ce,he,ve,xe,q,He.Uploading);if(K===-1)return[...se,ne];const me=[...se];return me[K]=ne,me}),se=>{const Q=m.current.getSignal(ce);if(!(E.current.has(ce)||!g.current||Q?.aborted)&&se.total>0){const q=Date.now(),K=Math.floor(se.processed/se.total*100),{etaSec:ne,updatedState:me}=_2(Ne,se,Ee,q);Ne=me;const we=se.processed>=se.total;D(fe=>{const je=fe.find(Ie=>Ie.uuid===ce&&Ie.status===He.Uploading);return!je||je.status===He.Done?fe:we?Zt(fe,ce,{percent:100,status:He.Done,kind:xe,etaSec:0,elapsedSec:Math.round((q-Ee)/1e3)}):Zt(fe,ce,{percent:Math.max(je.percent,K),kind:xe,etaSec:ne})})}}},[]),T=x.useCallback(async ce=>{if(!a)return;const he=a.driveList.find(N=>N.id.toString()===ce.driveId);if(!he)return;const ve=ce.isReplace?i.find(N=>N.topic.toString()===ce.replaceTopic):void 0,xe={name:ce.finalName,files:[ce.file],customMetadata:Ix(S2([ce.file],void 0,ve)),topic:ce.isReplace?ce.replaceTopic:void 0};$a(g,D)(N=>Zt(N,ce.uuid,{status:He.Uploading,kind:ce.isReplace?gt.Update:gt.Upload,startedAt:Date.now()})),m.current.create(ce.uuid);const ue=m.current.getSignal(ce.uuid),{promise:Ee,cleanup:Ne}=Mx(ue);try{if(ue?.aborted)throw new Error("Upload cancelled");const N=A(ce.uuid,ce.finalName,ce.prettySize,ce.isReplace?gt.Update:gt.Upload,he.name),se=a.upload(he,{...xe,onUploadProgress:N},{actHistoryAddress:ce.isReplace?ce.replaceHistory:void 0},{signal:ue});await Promise.race([se,Ee])}catch(N){const se=E.current.has(ce.uuid)||ue?.aborted;if(!se){const Q=N instanceof Error?N.message:String(N);e?.(`Upload failed: ${Q}`),d(!0)}$a(g,D)(Q=>Zt(Q,ce.uuid,{status:se?He.Cancelled:He.Error}))}finally{Ne(),E.current.has(ce.uuid)||ue?.aborted||(m.current.abort(ce.uuid),E.current.delete(ce.uuid),w.current.delete(ce.uuid))}},[a,i,A,d,e]),v=x.useCallback(ce=>{if(!g.current)return()=>{};let he,ve={lastTs:void 0,lastProcessed:0,lastEta:void 0};return $(ue=>{const Ee=E4(ce.uuid,ce.name,ce.size,gt.Download,ce.driveName,He.Downloading);Ee.startedAt=void 0;const Ne=ue.findIndex(se=>se.uuid===ce.uuid);if(Ne===-1)return[...ue,Ee];const N=[...ue];return N[Ne]={...Ee,startedAt:ue[Ne].startedAt??Ee.startedAt},N}),ue=>{if(!g.current)return;const Ee=Date.now();he||(he=Ee,ve.lastTs=Ee);let Ne=0,N;if(ce.expectedSize&&ce.expectedSize>0&&ue.progress>=0){Ne=Math.floor(ue.progress/ce.expectedSize*100);const se=_2(ve,{processed:ue.progress,total:ce.expectedSize},he,Ee);N=se.etaSec,ve=se.updatedState}if($(se=>Zt(se,ce.uuid,{percent:Math.max(se.find(Q=>Q.uuid===ce.uuid)?.percent||0,Ne),etaSec:N,startedAt:se.find(Q=>Q.uuid===ce.uuid)?.startedAt??he})),!ue.isDownloading){const se=Date.now();$(Q=>{const q=Q.find(ne=>ne.uuid===ce.uuid),K=q?.startedAt?Math.round((se-q.startedAt)/1e3):0;if(ue.state===nt.Cancelled||ue.state===nt.Error){const ne=ue.state===nt.Cancelled||C.current.has(ce.uuid);return C.current.delete(ce.uuid),Zt(Q,ce.uuid,{status:ne?He.Cancelled:He.Error,etaSec:void 0,elapsedSec:0,percent:q?.percent??0})}return Zt(Q,ce.uuid,{percent:100,status:He.Done,etaSec:0,elapsedSec:K})})}}},[]),{allTaken:L,reserved:B,sameDrive:U}=x.useMemo(()=>{if(!n)return{allTaken:new Set(""),reserved:new Set(""),sameDrive:[]};const ce=new Set(_.filter(Ee=>Ee.driveName===n.name).map(Ee=>Ee.name)),he=R(n.id.toString()),ve=new Set(he.map(Ee=>Ee.name)),xe=new Set;return{allTaken:new Set([...Array.from(ve),...Array.from(xe),...Array.from(ce)]),reserved:xe,sameDrive:he}},[n,R,_]),H=x.useCallback(async(ce,he)=>{const ve=en(),xe=S2([ce]),ue=p1(xe.size);let{finalName:Ee,isReplace:Ne,replaceTopic:N,replaceHistory:se}=await F(ce.name,U,L);if(Ee=Ee??"",v2(Ee,Ne,se,N))return null;if(B.has(Ee)){const Q=new Set([...Array.from(L),Ee]),q=await F(Ee,U,Q);Ee=q.finalName??"",Ne=q.isReplace,N=q.replaceTopic,se=q.replaceHistory}return v2(Ee,Ne,se,N)?null:(B.add(Ee),P(ve,Ee,Ne?gt.Update:gt.Upload,ue,he.name),{uuid:ve,file:ce,finalName:Ee,prettySize:ue,isReplace:!!Ne,replaceTopic:N,replaceHistory:se,driveId:he.id.toString(),driveName:he.name})},[L,P,B,F,U]),Z=x.useCallback(async ce=>{if(!n||!a)return[];if(!s||!s.usable)return e?.("Stamp is not usable."),d(!0),[];const he=[],ve=p.current.reduce((Ee,Ne)=>Ee+Ne.file.size,0),xe=p.current.length;let ue=ve;for(let Ee=0;Ee<ce.length;Ee++){const Ne=ce[Ee];ue+=Ne.size;const N=xe+Ee+1,{ok:se}=Vn({fm:a,redundancyLevel:n.redundancyLevel,stamp:s,useInfoSize:!0,driveId:n.id.toString(),adminRedundancy:t?.redundancyLevel,fileSize:ue,fileCount:N,cb:q=>{e?.(q+" ("+Ea(Ne.name)+")"),d(!0)}});if(!se)break;const Q=await H(Ne,n);if(!Q)break;he.push(Q)}return he},[a,n,s,t,H,e,d]),ee=x.useCallback(async()=>{if(S.current)return;S.current=!0;const ce=async()=>{for(;p.current.length>0;){const ve=p.current.shift();if(!ve)break;w.current.has(ve.uuid)?($a(g,D)(xe=>Zt(xe,ve.uuid,{status:He.Cancelled})),w.current.delete(ve.uuid)):await T(ve)}},he=[];for(let ve=0;ve<Ax;ve++)he.push(ce());await Promise.all(he),S.current=!1,p.current.length>0&&ee(),s&&await f(s.batchID.toString())},[s,T,f]),Y=x.useCallback(async ce=>{if(ce.length===0)return e?.("Nothing to upload."),d(!0),!1;if(!a||!n)return e?.("File manager is not ready or no drive is selected."),d(!0),!1;if(!s||!s.usable)return e?.("Stamp is not usable."),d(!0),!1;const he=p.current.length,ve=ce.length,xe=he+ve;if(xe>x2)return e?.(`You’re trying to upload ${xe} files, but the limit is ${x2}. Please upload fewer files.`),d(!0),!1;if(l){const ue=s.batchID;if(!await R1(l,ue))return e?.(`The selected stamp ${ue.toString().slice(0,4)} is no longer valid or has been deleted. Please select a different stamp.`),d(!0),!1}return!0},[a,s,n,l,d,e]),X=x.useCallback(async ce=>{const he=Array.from(ce);if(!await Y(he))return;const ve=await Z(he);p.current=p.current.concat(ve),ee()},[Y,Z,ee]),pe=x.useCallback(ce=>{$a(g,D)(he=>{const ve=he.find(xe=>xe.uuid===ce);return ve?ve.status===He.Queued?(w.current.add(ve.uuid),p.current=p.current.filter(xe=>xe.uuid!==ve.uuid),he.map(xe=>xe.uuid===ve.uuid?{...xe,status:He.Cancelled}:xe)):ve.status===He.Uploading?(E.current.add(ve.uuid),m.current.abort(ve.uuid),he.map(xe=>xe.uuid===ce?{...xe,status:He.Cancelled}:xe)):(k(ve.uuid),he.filter(xe=>xe.uuid!==ce)):he})},[k]),ie=x.useCallback(ce=>{$a(g,$)(he=>{const ve=he.find(xe=>xe.uuid===ce);return ve?ve.status===He.Downloading?(C.current.add(ce),ix(ce),he.map(xe=>xe.uuid===ce?{...xe,status:He.Cancelled}:xe)):(C.current.delete(ce),he.filter(xe=>xe.uuid!==ce)):he})},[]),te=x.useCallback(()=>{m.current.clear(),p.current=[],w.current.clear(),E.current.clear(),D([])},[]),ge=x.useCallback(()=>{$([]),C.current.clear()},[]);return x.useEffect(()=>(g.current=!0,()=>{g.current=!1}),[]),x.useEffect(()=>{const ce=he=>{const{fileInfo:ve}=he.detail||{};ve&&D(xe=>{const ue=xe.find(Ne=>Ne.name===ve.name&&Ne.status===He.Uploading);if(!ue)return xe;const Ee=ue.startedAt?Math.round((Date.now()-ue.startedAt)/1e3):0;return Zt(xe,ue.uuid,{percent:100,status:He.Done,etaSec:0,elapsedSec:Ee})})};return window.addEventListener(fa.FILE_UPLOADED,ce),()=>{window.removeEventListener(fa.FILE_UPLOADED,ce)}},[]),{isUploading:W,uploadItems:_,isDownloading:J,downloadItems:O,conflictPortal:u,uploadFiles:X,trackDownload:v,cancelOrDismissUpload:pe,cancelOrDismissDownload:ie,dismissAllUploads:te,dismissAllDownloads:ge}}function S3(e){const{clickPos:a,menuRect:t,viewport:n}=e,s=e.margin??8,i=Math.max(s,Math.min(a.x,n.w-t.width-s)),d=n.h;let f=a.y,l=y1.Down;return d-a.y<t.height*1.8?(f=Math.max(s,a.y-t.height-s),l=y1.Up):f=Math.max(s,Math.min(a.y,d-t.height-s)),{safePos:{x:i,y:f},dropDir:l}}function _3({drive:e,onMinimize:a}){const t=document.querySelector(".fm-main")||document.body;return ot.createPortal(c.jsx("div",{className:"fm-modal-container",children:c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-modal-window-header fm-red-font",children:"Destroying Drive"}),c.jsx("div",{className:"fm-modal-window-body",children:c.jsxs("div",{className:"fm-modal-body-destroy",children:[c.jsxs("div",{className:"fm-emphasized-text",children:['Drive "',e.name,'" is being destroyed']}),c.jsx("div",{children:"Please wait while the operation completes..."}),c.jsxs("div",{style:{marginTop:"20px",textAlign:"center"},children:[c.jsx("div",{className:"fm-mini-spinner",style:{display:"inline-block",marginRight:"10px"}}),c.jsx("span",{children:"Destroying drive..."})]})]})}),c.jsx("div",{className:"fm-modal-window-footer",children:c.jsx(Je,{label:"Minimize",variant:"secondary",onClick:a})})]})})}),t)}function Qr({drive:e,onCancelClick:a,doDestroy:t}){const[n,s]=x.useState(""),i=`DESTROY DRIVE ${e.name}`,d=document.querySelector(".fm-main")||document.body,f=()=>{t()};return ot.createPortal(c.jsx("div",{className:"fm-modal-container",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-modal-window-header fm-red-font",children:"Destroy entire drive"}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsx("div",{className:"fm-modal-window-body",children:c.jsxs("div",{className:"fm-modal-body-destroy",children:[c.jsx("div",{className:"fm-emphasized-text",children:"Destroy Drive? This Action Is Permanent"}),c.jsx("div",{children:"All files stored only on this drive will become inaccessible."}),c.jsx("div",{children:"While the data may still temporarily persist on Swarm, it will be permanently removed once the storage expires and the data is garbage collected by the network. The File Manager will no longer recognise or recover these files."}),c.jsx("div",{children:"Confirmation:"}),c.jsx("div",{children:"Requires typing a fixed expression to prevent accidental deletion. This action cannot be undone."}),c.jsxs("div",{children:["Type: ",c.jsx("span",{className:"fm-emphasized-text",children:i})]}),c.jsx("div",{className:"fm-modal-window-input-container",children:c.jsx("input",{type:"text",id:"drive-name",placeholder:i,value:n,onChange:l=>s(l.target.value)})})]})})}),c.jsxs("div",{className:"fm-modal-window-footer",children:[c.jsx(Je,{label:"Destroy entire drive",variant:"danger",disabled:i!==n,onClick:f}),c.jsx(Je,{label:"Cancel",variant:"secondary",onClick:a})]})]})}),d)}function E3({name:e,metadata:a,size:t="21px",color:n="#ed8131"}){const{mime:s}=T1(e,a);return(s.split("/")[0]?.toLowerCase()||"file")==="image"?c.jsx(Pb,{size:t,color:n}):c.jsx(Nf,{size:t,color:n})}const kx=e=>{if(e==null)return"";if(e<=0)return"Done";const a=Math.ceil(e),t=Math.floor(a/60),n=a%60;return t>0?`${t}m ${n}s left`:`${n}s left`},Px=e=>{if(e==null)return"";const a=Math.max(0,Math.round(e)),t=Math.floor(a/60),n=a%60;return t>0?`${t}m ${n}s`:`${n}s`};function Tx({items:e,type:a,onCancelClick:t,onRowClose:n,onCloseAll:s}){const i=e?.length??0,d=e??[],f=(b,u)=>{const g=pt(b?.kind??a),m=`${g}ing`,p=b.status||(u&&u>=100?He.Done:m);return{statusText:pt(p),barColor:d3[g]}},l=d.length>0&&d.every(b=>{const u=Number.isFinite(b.percent)?Math.round(b.percent):void 0;return b.status===He.Done||b.status===He.Error||b.status===He.Cancelled||typeof u=="number"&&u>=100});return c.jsxs("div",{className:"fm-file-progress-window",children:[c.jsxs("div",{className:"fm-file-progress-window-header",children:[c.jsxs("div",{className:"fm-emphasized-text",children:[i," ",a,i===1?"":"s"]}),c.jsxs("div",{className:"fm-file-progress-window-header-actions",children:[c.jsx("button",{className:"fm-file-progress-window-header-btn fm-file-progress-window-header-dismiss","aria-label":"Dismiss all",type:"button",disabled:!l,onClick:()=>s?.(),children:c.jsx(jt,{size:"16"})}),c.jsx("button",{className:"fm-file-progress-window-header-btn fm-file-progress-window-header-hide","aria-label":"Hide",type:"button",onClick:t,children:c.jsx(hc,{size:"16"})})]})]}),c.jsx("div",{className:"fm-file-progress-window-list",children:d.map((b,u)=>{const g=Number.isFinite(b.percent)?Math.max(0,Math.min(100,Math.round(b.percent))):void 0,m=(g??0)>=100||b.status===He.Done,S=b.status===He.Uploading||b.status===He.Downloading||b.status===He.Queued?"Cancel":"Dismiss",w=f(b,g),C=(!m&&typeof b.etaSec=="number"?kx(b.etaSec):m&&typeof b.elapsedSec=="number"?Px(b.elapsedSec):"")||" ";return c.jsxs("div",{className:"fm-file-progress-window-file-item",children:[c.jsx("div",{className:"fm-file-progress-window-file-type-icon",children:c.jsx(E3,{size:"14",name:b.name,color:"black"})}),c.jsxs("div",{className:"fm-file-progress-window-file-datas",children:[c.jsxs("div",{className:"fm-file-progress-window-file-item-header",children:[c.jsxs("div",{className:"fm-file-progress-window-name",title:b.name,children:[c.jsx("div",{className:"fm-file-progress-window-name-text",children:Ea(b.name,25,8,8)}),b.driveName&&c.jsx("div",{className:"fm-drive-line",children:c.jsx("span",{className:"fm-drive-chip",title:`Drive: ${b.driveName}`,children:Ea(b.driveName,25,8,8)})})]}),c.jsx("div",{className:"fm-file-progress-window-percent","aria-live":"polite",children:typeof g=="number"?`${g}%`:""}),c.jsx("button",{className:"fm-file-progress-window-row-close","aria-label":S,onClick:()=>n?.(b.uuid),type:"button",children:c.jsx(jt,{size:"14"})})]}),c.jsx(As,{value:typeof g=="number"?g:0,width:"100%",backgroundColor:"rgb(229, 231, 235)",color:w.barColor}),c.jsxs("div",{className:"fm-file-progress-window-file-item-footer",children:[c.jsx("div",{className:"fm-file-progress-window-size",children:b.size||"—"}),c.jsx("div",{className:"fm-file-progress-window-center",children:C}),c.jsx("div",{className:"fm-file-progress-window-status",children:w.statusText})]})]})]},b.uuid||`${b.name}-${u}`)})})]})}const Dx=3e3;function E2({label:e,type:a,open:t,items:n,onRowClose:s,onCloseAll:i}){const[d,f]=x.useState(!!t),[l,b]=x.useState(!1),u=x.useRef(null),g=x.useMemo(()=>!n||n.length===0?!1:n.every(p=>typeof p.percent=="number"?p.percent>=100:p.status===He.Done),[n]);x.useEffect(()=>{t&&(f(!0),b(!1))},[t]),x.useEffect(()=>(u.current&&(window.clearTimeout(u.current),u.current=null),d&&g&&!l&&(u.current=window.setTimeout(()=>{f(!1),u.current=null},Dx)),()=>{u.current&&(window.clearTimeout(u.current),u.current=null)}),[d,g,l]);const m=()=>{b(!0),f(!0)};return c.jsxs("div",{style:{position:"relative"},children:[c.jsxs("div",{className:"fm-file-progress-notification",onClick:m,role:"button","aria-label":e,children:[c.jsx("span",{children:e}),a===gt.Upload&&c.jsx(kf,{size:"16px",style:{marginLeft:6}}),a===gt.Download&&c.jsx(hc,{size:"16px",style:{marginLeft:6}})]}),d&&c.jsx(Tx,{items:n,type:a,onCancelClick:()=>f(!1),onRowClose:s,onCloseAll:()=>{i?.(),f(!1)}})]})}function Rx({stamp:e,drives:a,files:t,currentPage:n,index:s,onUpgradeClick:i}){const d=rr(e.duration.toEndDate());let f="";const l=a.find(m=>m.batchId.toString()===e.batchID.toString());if(!l)return null;const b=t.filter(m=>m.driveId===l.id.toString()),{usedSize:u,stampSize:g}=Hn(e,b,l.redundancyLevel);return d<10?f="fm-red-font":d<30&&(f="fm-swarm-orange-font"),c.jsxs("div",{className:"fm-modal-white-section fm-space-between",children:[c.jsxs("div",{className:"fm-expiring-notification-modal-section-left fm-space-between",children:[c.jsx(C1,{size:"20",color:"rgb(237, 129, 49)"}),c.jsxs("div",{children:[c.jsxs("div",{className:"fm-expiring-notification-modal-section-left-header fm-emphasized-text",children:[e.label," ",l.isAdmin&&c.jsx(Mf,{style:{fontSize:"16px"}})]}),c.jsxs("div",{className:"fm-expiring-notification-modal-section-left-value",children:[u," / ",g]})]})]}),c.jsxs("div",{className:"fm-expiring-notification-modal-section-right",children:[c.jsxs("div",{className:"fm-expiring-notification-modal-section-right-header",children:[c.jsx(hs,{size:"14"})," Expiry date: ",e.duration.toEndDate().toLocaleDateString()]}),c.jsxs("div",{className:f,children:[d," days left"]}),c.jsx("div",{className:"fm-expiring-notification-modal-section-right-button",children:c.jsx(Je,{label:"Upgrade",variant:"primary",onClick:()=>i(e,l)})})]})]},`${e.batchID.toString()}-${n}-${s}`)}const C4=3;function Ox({bee:e,stamps:a,drives:t,files:n,onCancelClick:s,setErrorMessage:i,setShowError:d}){const[f,l]=x.useState(!1),[b,u]=x.useState(void 0),[g,m]=x.useState(void 0),[p,S]=x.useState(0),w=document.querySelector(".fm-main")||document.body,E=x.useMemo(()=>[...a].sort((O,$)=>{const W=rr(O.duration.toEndDate()),J=rr($.duration.toEndDate());return W-J}),[a]),C=Math.ceil(E.length/C4),_=p*C4,D=E.slice(_,_+C4);return x.useEffect(()=>{p!==0&&S(0)},[a]),a.length===0?c.jsx(c.Fragment,{}):ot.createPortal(c.jsxs("div",{className:"fm-modal-container",children:[c.jsxs("div",{className:"fm-modal-window fm-upgrade-drive-modal",children:[c.jsxs("div",{className:"fm-modal-window-header fm-red-font",children:[c.jsx(Pf,{size:"21px"})," Drives Expiring soon"]}),c.jsx("div",{children:"The following drives will expire soon. Extend them to keep your data accessible."}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsx("div",{className:"fm-modal-window-body fm-expiring-notification-modal-body",children:D.map((O,$)=>c.jsx(Rx,{stamp:O,drives:t,files:n,currentPage:p,index:$,onUpgradeClick:async(W,J)=>{if(!await R1(e,W.batchID)){i?.(`Drive ${J.name} has expired. Please clear the browser cache and reload the page.`),d(!0);return}u(W),m(J),l(!0)}},`${O.batchID.toString()}-${p}-${$}`))})}),c.jsxs("div",{className:"fm-modal-window-footer",children:[c.jsx("div",{className:"fm-expiring-notification-modal-footer-one-button",children:c.jsx(Je,{label:"Cancel",variant:"secondary",onClick:s})}),C>1&&c.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[c.jsxs("span",{children:["Page ",p+1," / ",C," · total ",E.length]}),p>0&&c.jsx(Je,{label:"Previous",variant:"secondary",onClick:()=>S(O=>O-1)}),p+1<C&&c.jsx(Je,{label:"Next",variant:"primary",onClick:()=>S(O=>O+1)})]})]})]}),f&&b&&g&&c.jsx(Kr,{stamp:b,onCancelClick:s,containerColor:"none",drive:g,setErrorMessage:i})]}),w)}const Fx=7,Bx=1440*60*1e3,C2=e=>e.duration&&e.duration.toEndDate().getTime()<=Date.now()+Fx*Bx;function Lx({setErrorMessage:e}){const[a,t]=x.useState(!1),[n,s]=x.useState([]),[i,d]=x.useState([]),{beeApi:f}=x.useContext(Le),{drives:l,files:b,adminDrive:u,setShowError:g}=x.useContext(Ta),m=n.length>0;return x.useEffect(()=>{let p=!0;return(async()=>{if(!f)return;const w=await tn(f),E=[],C=[];w.forEach(_=>{const D=l.find(O=>O.batchId.toString()===_.batchID.toString())||(u?.batchId.toString()===_.batchID.toString()?u:null);D&&C2(_)&&(E.push(_),C.push(D))}),p&&(s(E),d(C))})(),()=>{p=!1}},[f,l,u,e]),x.useEffect(()=>{const p=S=>{const{driveId:w,success:E,updatedStamp:C}=S.detail||{};E&&C&&w&&(C2(C)||setTimeout(()=>{s(_=>{const D=_.findIndex(O=>O.batchID.toString()===C.batchID.toString());return D!==-1?_.filter((O,$)=>$!==D):_}),d(_=>{const D=_.findIndex(O=>O.id.toString()===w);return D!==-1?_.filter((O,$)=>$!==D):_})},150))};return window.addEventListener(fa.DRIVE_UPGRADE_END,p),()=>{window.removeEventListener(fa.DRIVE_UPGRADE_END,p)}},[]),m?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"fm-notification-bar fm-red-font",onClick:()=>t(!0),children:[n.length," drive",n.length>1?"s":""," expiring soon ",c.jsx(kf,{size:"16px"})]}),a&&f&&c.jsx(Ox,{bee:f,stamps:n,drives:i,files:b,onCancelClick:()=>{t(!1)},setErrorMessage:e,setShowError:g})]}):null}const zt="—",Ux=e=>{const a=typeof e=="string"?Number(e):e;if(!Number.isFinite(a)||a<0)return zt;if(a<1024)return`${a} B`;const t=["KB","MB","GB","TB"];let n=a/1024,s=0;for(;n>=1024&&s<t.length-1;)n/=1024,s++;return`${n.toFixed(1)} ${t[s]}`},Bn=(e,a=8,t=8)=>e?e.length<=a+t+3?e:`${e.slice(0,a)}...${e.slice(-t)}`:zt,j2=e=>{if(e===void 0||!Number.isFinite(e))return zt;try{return new Date(e).toLocaleString()}catch{return zt}};async function $x(e,a){try{return(await e.getVersion(a,Vy.toString())).timestamp}catch{return}}function zx(e){const a=e,t=a.publicKeys;if(Array.isArray(t))return t.length;const n=a.grantees;return Array.isArray(n)?n.length:0}async function Gx(e,a){try{const t=await e.getGrantees(a);return zx(t)}catch{return}}function Wx(e,a,t,n,s){return{title:"General",icon:c.jsx(Nf,{size:"14px",color:"rgb(237, 129, 49)"}),properties:[{key:"type",label:"Type",value:a??zt},{key:"size",label:"Size",value:t!=null?Ux(t):zt},{key:"count",label:"Items",value:s??"1"},{key:"path",label:"Location",value:Ea(n||zt,35,10,10)},{key:"hash",label:"Swarm hash",value:Bn(e.file.reference.toString()),raw:e.file.reference.toString()},{key:"ver",label:"Versions",value:((Ya(e.version)??BigInt(0))+BigInt(1)).toString()},{key:"status",label:"Status",value:e.status?e.status:Xt.Active}]}}function qx(e,a,t){return{title:"Dates",icon:c.jsx(hs,{size:"14px",color:"rgb(237, 129, 49)"}),properties:[{key:"created",label:"Created",value:j2(e)},{key:"modified",label:"Modified",value:j2(a)},{key:"expires",label:"Expires",value:t??zt}]}}function Hx(e,a){return{title:"Access & Permissions",icon:c.jsx(Tb,{size:"14px",color:"rgb(237, 129, 49)"}),properties:[{key:"owner",label:"Owner",value:Bn(e.owner.toString()),raw:e.owner.toString()},{key:"shared",label:"Sharing",value:e.shared?"Shared":"Private"},{key:"grantees",label:"Grantees",value:a!=null?`${a}`:zt},{key:"actpub",label:"ACT Publisher",value:Bn(e.actPublisher.toString()),raw:e.actPublisher.toString()},{key:"topic",label:"Topic",value:Bn(e.topic.toString()),raw:e.topic.toString()},{key:"historyRef",label:"ACT History",value:Bn(e.file.historyRef.toString()),raw:e.file.historyRef.toString()}]}}function Vx(e,a,t){const n=t?Ea(t.label,35,10,10)+" ("+Bn(e.batchId.toString(),4,4)+")":Bn(e.batchId.toString()),s=e.redundancyLevel!==void 0?Xn.find(i=>i.value===e.redundancyLevel)?.label??e.redundancyLevel.toString():zt;return{title:"Storage",icon:c.jsx(C1,{size:"14px",color:"rgb(237, 129, 49)"}),properties:[{key:"batch",label:"Batch ID",value:n,raw:e.batchId.toString()},{key:"drive",label:"Drive",value:Ea(a,35,10,10)},{key:"redundancy",label:"Redundancy",value:s}]}}async function Kx(e,a,t,n){const s=a.customMetadata,i=s?.size,d=s?.mime,f=s?.path||t,l=s?.fileCount,b=s?.expiresAt||n?.duration.toEndDate().toLocaleDateString(),[u,g]=await Promise.all([$x(e,a),Gx(e,a)]);return[Wx(a,d,i,f,l),qx(u,a.timestamp,b),Hx(a,g),Vx(a,t,n)]}function Ln({children:e}){return c.jsx("div",{className:"fm-context-menu",children:e})}function C3({name:e,names:a,currentDriveName:t,onCancelClick:n,onProceed:s}){const[i,d]=x.useState(Ra.Trash),f=document.querySelector(".fm-main")||document.body,l=Array.isArray(a)&&a.length>0,b=l?a.length:1,u=l?`Delete ${b} file${b>1?"s":""}?`:`Delete ${e}?`,g=l?"selected file(s)":"this file";return ot.createPortal(c.jsx("div",{className:"fm-modal-container",children:c.jsxs("div",{className:"fm-modal-window fm-delete-file-modal",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx(Tf,{})," ",c.jsx("span",{className:"fm-main-font-color",children:u})]}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsxs("div",{className:"fm-modal-window-body",children:[l&&c.jsx("ul",{className:"fm-delete-file-modal-list",children:a.map(m=>c.jsx("li",{className:"fm-delete-file-modal-list-item",title:m,children:m},m))}),c.jsx(Db,{component:"fieldset",children:c.jsxs("div",{className:"fm-radio-group",children:[c.jsx("div",{className:"fm-form-control-label",children:c.jsx(s4,{value:Ra.Trash,control:c.jsx(r4,{checked:i===Ra.Trash,onChange:()=>d(Ra.Trash)}),label:c.jsxs("div",{className:"fm-radio-label",children:[c.jsxs("div",{className:"fm-radio-label-header fm-main-font-color fm-line-height-fit",children:["Move to Trash",c.jsx(la,{label:oa.FILE_OPERATION_TRASH,iconSize:"14px"})]}),c.jsxs("div",{onClick:m=>m.preventDefault(),children:["Moves ",g," to the trash. It will still take up space on"," ",t??"this drive"," and expire along with it. You can restore it later."]})]})})}),c.jsx("div",{className:"fm-form-control-label",children:c.jsx(s4,{value:Ra.Forget,control:c.jsx(r4,{checked:i===Ra.Forget,onChange:()=>d(Ra.Forget)}),label:c.jsxs("div",{className:"fm-radio-label",children:[c.jsxs("div",{className:"fm-radio-label-header fm-main-font-color fm-line-height-fit",children:["Forget",c.jsx(la,{label:oa.FILE_OPERATION_FORGET,iconSize:"14px"})]}),c.jsxs("div",{onClick:m=>m.preventDefault(),children:["Removes ",g," from your view. The data will remain on Swarm until"," ",t??"the drive"," expires. This action cannot be easily undone."]})]})})}),c.jsx("div",{className:"fm-form-control-label",children:c.jsx(s4,{value:Ra.Destroy,control:c.jsx(r4,{checked:i===Ra.Destroy,onChange:()=>d(Ra.Destroy)}),label:c.jsxs("div",{className:"fm-radio-label",children:[c.jsxs("div",{className:"fm-radio-label-header fm-main-font-color fm-line-height-fit",children:["Destroy entire drive ",t?`‘${t}’`:""," to delete this"," ",g]}),c.jsxs("div",{className:"fm-red-font",onClick:m=>m.preventDefault(),children:[c.jsx(Pf,{size:"14px",className:"fm-alert-icon-inline"}),"Warning: This will make all files on this drive inaccessible. This action is irreversible."]})]})})})]})})]})}),c.jsxs("div",{className:"fm-modal-window-footer",children:[c.jsx(Je,{label:"Proceed",variant:"primary",onClick:()=>s(i)}),c.jsx(Je,{label:"Cancel",variant:"secondary",onClick:n})]})]})}),f)}const Zx=2e3;function Yx({name:e,onCancelClick:a,properties:t}){const n=document.querySelector(".fm-main")||document.body,[s,i]=x.useState(null),d=x.useRef({});x.useEffect(()=>()=>{Object.values(d.current).forEach(clearTimeout)},[]);const f=async l=>{try{await navigator.clipboard.writeText(l.raw??l.value),d.current[l.key]&&clearTimeout(d.current[l.key]),i(l.key),d.current[l.key]=setTimeout(()=>{i(b=>b===l.key?null:b),delete d.current[l.key]},Zx)}catch{}};return ot.createPortal(c.jsx("div",{className:"fm-modal-container",children:c.jsxs("div",{className:"fm-modal-window fm-get-info-modal",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx(E1,{})," ",c.jsxs("span",{className:"fm-main-font-color",children:["File Information - ",e]})]}),c.jsx("div",{className:"fm-modal-window-body fm-get-info-body",children:t.map(l=>c.jsxs("div",{className:"fm-get-info-modal-group",children:[c.jsxs("div",{className:"fm-get-info-modal-group-title",children:[l.icon,l.title]}),c.jsx("div",{className:"fm-get-info-modal-group-properties",children:l.properties.map(b=>c.jsxs("div",{className:"fm-get-info-modal-property-row",children:[c.jsx("span",{className:"fm-get-info-modal-property-label",children:b.label}),b.raw||b.value.includes("...")?c.jsxs("button",{className:"fm-get-info-modal-property-value fm-copyable-value",onClick:()=>f(b),"aria-label":`Copy ${b.label}`,type:"button",children:[c.jsx(Df,{size:"12px"}),c.jsx("span",{className:"fm-copyable-value-text",children:b.value}),s===b.key&&c.jsx("span",{className:"fm-copied-indicator",children:"Copied!"})]}):c.jsx("span",{className:"fm-get-info-modal-property-value",children:b.value})]},b.key))})]},l.title))}),c.jsx("div",{className:"fm-modal-window-footer",children:c.jsx("div",{className:"fm-get-info-modal-footer-one-button",children:c.jsx(Je,{label:"Close",variant:"secondary",onClick:a})})})]})}),n)}const Jx=60;function Xx({currentName:e,takenNames:a,onCancelClick:t,onProceed:n}){const[s,i]=x.useState(e),[d,f]=x.useState(!1),[l,b]=x.useState(!1),u=x.useRef(null),g=x.useRef(!0);x.useEffect(()=>(g.current=!0,()=>{g.current=!1}),[]),x.useEffect(()=>{const D=setTimeout(()=>u.current?.focus(),0);return()=>clearTimeout(D)},[]);const m=x.useMemo(()=>a?Array.isArray(a)?new Set(a):a:new Set,[a]),p=x.useMemo(()=>s.trim(),[s]),S=x.useMemo(()=>d?p?p===e?"Enter a different name.":/[\\/:*?"<>|]+/.test(p)?"Name contains invalid characters.":m.has(p)?"A different file already uses this name. Please choose another.":"":"Name is required.":"",[d,p,e,m]),w=p.length>0&&p!==e&&!/[\\/:*?"<>|]+/.test(p)&&!m.has(p),E=async()=>{if(!w||l){f(!0);return}try{b(!0),await n(p)}finally{$a(g,b)(!1)}},C=D=>{D.key==="Enter"?(D.preventDefault(),E()):D.key==="Escape"&&(D.preventDefault(),t())},_=document.querySelector(".fm-main")||document.body;return ot.createPortal(c.jsx("div",{className:"fm-modal-container fm-rename-modal",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx(Rb,{size:"21px"}),c.jsx("span",{className:"fm-main-font-color",children:"Rename file"})]}),c.jsx("div",{className:"fm-modal-window-body",children:c.jsxs("div",{className:"fm-modal-white-section",children:[c.jsx("label",{htmlFor:"fm-rename-input",className:"fm-soft-text",style:{display:"block",marginBottom:8},children:"New name"}),c.jsx("input",{id:"fm-rename-input",ref:u,type:"text",className:"fm-input fm-rename-input",value:s,onChange:D=>i(D.target.value),onBlur:()=>f(!0),onKeyDown:C,placeholder:"Enter a new file name",maxLength:Jx}),S&&c.jsx("div",{className:"fm-error-text",style:{marginTop:8},children:S}),c.jsx("div",{className:"fm-soft-text",style:{marginTop:10,fontSize:12},children:"This creates a new version that only changes metadata (no re-upload)."})]})}),c.jsxs("div",{className:"fm-modal-window-footer fm-space-between",children:[c.jsx(Je,{label:"Cancel",variant:"secondary",onClick:t}),c.jsx(Je,{label:"Rename",variant:"primary",onClick:()=>{E()},disabled:!w||l})]})]})}),_)}function j3(e){if(!e)return;const a=new Date(e);return isNaN(a.getTime())?void 0:a.toLocaleString()}const A3={trashed:{className:"vh-tag--trashed",label:()=>pt(ha.Trashed)},recovered:{className:"vh-tag--recovered",label:()=>pt(ha.Recovered)},restored:{className:"vh-tag--restored",label:e=>{const a=e.customMetadata?.lifecycleFrom?.trim();return a?`Restored ${a}`:pt(ha.Restored)}}};function Is(e){return(e.customMetadata?.lifecycle||"").trim().toLowerCase()}function Qx(e){if(Is(e)!==ha.Restored)return!1;const a=(e.customMetadata?.restoredFromLifecycle||"").trim().toLowerCase();return a===ha.Trashed||a===ha.Recovered}function ew(e){const a=Is(e);return a===ha.Trashed||a===ha.Recovered||Qx(e)}function aw(e){const a=Is(e),t=A3[a],n=t?.label(e),s=t?.className,i=j3(e.customMetadata?.lifecycleAt)||(e.timestamp?new Date(e.timestamp).toLocaleString():void 0);return{label:n,cls:s,at:i}}function tw(e){if(Is(e)!==ha.Restored)return{label:void 0,cls:void 0,at:void 0};const t=(e.customMetadata?.restoredFromLifecycle||"").trim().toLowerCase();if(!(t===ha.Trashed||t===ha.Recovered))return{label:void 0,cls:void 0,at:void 0};const s=A3[t],i=j3(e.customMetadata?.restoredFromLifecycleAt)||(e.timestamp?new Date(e.timestamp).toLocaleString():void 0);return{label:s.label(e),cls:s.className,at:i}}function nw({collapsed:e,onToggle:a}){return c.jsx("button",{type:"button",className:`vh-toggle ${e?"":"is-open"}`,"aria-expanded":!e,"aria-label":e?"Expand version details":"Collapse version details",onClick:a,children:c.jsx("span",{className:"vh-toggle-icon"})})}function cw({lifeLabel:e,lifeClass:a,lifeAt:t,secLabel:n,secClass:s,secAt:i}){return e?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"vh-dot",children:"•"}),c.jsx("span",{className:`vh-tag vh-tag--lifecycle ${a??""}`,title:t?`${e} at ${t}`:e,children:e}),n&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"vh-dot",children:"•"}),c.jsx("span",{className:`vh-tag vh-tag--lifecycle ${s??""}`,title:i?`${n} at ${i}`:n,children:n})]})]}):null}function sw({modified:e}){return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"vh-dot",children:"•"}),c.jsxs("span",{className:"vh-meta-item",title:e,children:[c.jsx(hs,{size:"12"})," ",e]}),c.jsx("span",{className:"vh-dot",children:"•"}),c.jsx("span",{className:"vh-meta-item",title:"Publisher",children:c.jsx(Ob,{size:"12"})})]})}function rw({idx:e,onToggle:a,lifeLabel:t,lifeClass:n,lifeAt:s,secLabel:i,secClass:d,secAt:f}){return c.jsx("div",{className:"fm-modal-white-section vh-row is-collapsed minimized",children:c.jsx("div",{className:"vh-left",children:c.jsxs("div",{className:"vh-meta",children:[c.jsx("button",{type:"button",className:"vh-toggle","aria-expanded":"false","aria-label":"Expand version details",onClick:a,children:c.jsx("span",{className:"vh-toggle-icon"})}),c.jsxs("span",{className:"vh-chip",title:`Version ${e.toString()}`,children:["v",e.toString()]}),(t===pt(ha.Trashed)||t===pt(ha.Recovered))&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"vh-dot",children:"•"}),c.jsx("span",{className:`vh-tag vh-tag--lifecycle ${n??""}`,title:s?`${t} at ${s}`:t,children:t})]}),i&&(i===pt(ha.Trashed)||i===pt(ha.Recovered))&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"vh-dot",children:"•"}),c.jsx("span",{className:`vh-tag vh-tag--lifecycle ${d??""}`,title:f?`${i} at ${f}`:i,children:i})]})]})})})}const I3=x.memo(({idx:e,item:a,headFi:t,isCurrent:n,fmDownload:s,onRestore:i,collapsed:d,onToggle:f,modified:l,lifeLabel:b,lifeClass:u,lifeAt:g,secLabel:m,secClass:p,secAt:S})=>{const w=t.name!==a.name;return c.jsxs("div",{className:`fm-modal-white-section vh-row ${d?"is-collapsed":""}`,children:[c.jsxs("div",{className:"vh-left",children:[c.jsxs("div",{className:"vh-meta",children:[c.jsx(nw,{collapsed:d,onToggle:f}),c.jsxs("span",{className:"vh-chip",title:`Version ${e.toString()}`,children:["v",e.toString()]}),n&&c.jsx("span",{className:"vh-tag vh-tag--current",children:"Current"}),c.jsx(cw,{lifeLabel:b,lifeClass:u,lifeAt:g,secLabel:m,secClass:p,secAt:S}),c.jsx(sw,{modified:l})]}),!d&&g&&b&&c.jsxs("div",{className:"vh-lifecycle-note",children:[b," ",c.jsx("span",{className:"vh-soft",children:"·"})," ",g]}),!d&&w&&!n&&c.jsxs("div",{className:"vh-rename",title:`Restoring will rename: “${t.name}” → “${a.name}”`,children:["Restoring will rename"," ",c.jsx("b",{className:"vh-name",title:t.name,children:Ea(t.name)})," ","→"," ",c.jsx("b",{className:"vh-name",title:a.name,children:Ea(a.name)})]})]}),!d&&c.jsxs("div",{className:"vh-actions",children:[c.jsx(Je,{label:"Download",variant:"secondary",icon:c.jsx(Ef,{size:"15"}),onClick:()=>s(a)}),!n&&c.jsx(Je,{label:"Restore",variant:"primary",onClick:()=>i(a)})]})]})});I3.displayName="RowFull";const M3=x.memo(({item:e,headFi:a,isCurrent:t,fmDownload:n,onRestore:s,collapsed:i,onToggle:d})=>{const f=Ya(e.version);if(f===void 0)return null;const l=e.timestamp!==void 0?new Date(e.timestamp).toLocaleString():"—",{label:b,cls:u,at:g}=aw(e),{label:m,cls:p,at:S}=tw(e);return i&&ew(e)?c.jsx(rw,{idx:f,onToggle:d,lifeLabel:b,lifeClass:u,lifeAt:g,secLabel:m,secClass:p,secAt:S}):c.jsx(I3,{idx:f,item:e,headFi:a,isCurrent:t,fmDownload:n,onRestore:s,collapsed:i,onToggle:d,modified:l,lifeLabel:b,lifeClass:u,lifeAt:g,secLabel:m,secClass:p,secAt:S})});M3.displayName="VersionRow";function iw({versions:e,headFi:a,restoreVersion:t,onDownload:n}){const{handleCloseContext:s}=F1(),{fm:i,drives:d,currentDrive:f}=x.useContext(Ta),{beeApi:l}=x.useContext(Le),[b,u]=x.useState({}),[g,m]=x.useState(null),p=x.useCallback((E,C)=>{u(_=>{const D={..._};if(Object.prototype.hasOwnProperty.call(D,E))D[E]=!D[E];else{const W=!(Ya(C.version)===Ya(a.version));D[E]=W}return D})},[a]),S=x.useCallback(async E=>{if(s(),!i||!l)return;const C=E.customMetadata?.size,_=C?Number(C):void 0,D=d.find($=>$.id.toString()===E.driveId.toString())?.name??f?.name,O=en();await Xr(i,[{uuid:O,info:E}],[n({uuid:O,name:E.name,size:p1(C),expectedSize:_,driveName:D??"unknown"})])},[s,i,l,n,d,f]),w=x.useCallback(E=>{m(E)},[]);return!e.length||!i?null:c.jsxs("div",{className:"fm-version-history-list",children:[e.map(E=>{const C=Ya(E.version);if(C===void 0)return null;const _=`${E.topic.toString()}:${C.toString()}`,D=Object.prototype.hasOwnProperty.call(b,_),O=Ya(a.version)===C,W=D?!b[_]:!O;return c.jsx(M3,{item:E,headFi:a,isCurrent:!!O,fmDownload:()=>S(E),onRestore:w,collapsed:W,onToggle:()=>p(_,E)},_)}),g&&c.jsx(kt,{title:c.jsxs(c.Fragment,{children:["Restore this version?",c.jsx(la,{label:oa.FILE_OPERATION_RESTORE_VERSION})]}),message:c.jsxs(c.Fragment,{children:["This will restore ",c.jsx("b",{title:g.name,children:Ea(g.name)})," to version"," ",Ya(g.version)?.toString(),"."]}),confirmLabel:"Restore",cancelLabel:"Cancel",onConfirm:async()=>{await t(g),m(null)},onCancel:()=>{m(null)}})]})}const Mt=5;function dw({fileInfo:e,onCancelClick:a,onDownload:t}){const{fm:n,files:s,currentDrive:i,currentStamp:d,refreshStamp:f}=x.useContext(Ta),[l,b]=v3(),u=document.querySelector(".fm-main")||document.body,[g,m]=x.useState([]),[p,S]=x.useState(!1),[w,E]=x.useState(null),[C,_]=x.useState(null),[D,O]=x.useState(0),[$,W]=x.useState(null),[J,k]=x.useState(0),P=x.useMemo(()=>Ya(e.version)??BigInt(0),[e]),R=Math.max(1,Math.ceil(D/Mt)),F=x.useMemo(()=>{const B=J*Mt,U=B+Mt;return g.slice(B,U)},[g,J]),A=x.useCallback(async B=>{if(!n)return;const U=B*Mt,H=U+Mt;let Z=!1;if(m(pe=>{const ie=Number(P+BigInt(1));return Z=pe.slice(U,H).length===Mt||B===Math.floor(ie/Mt)&&ie%Mt>0,pe}),Z)return;S(!0),E(null);const ee=P-BigInt(B*Mt),Y=ee-BigInt(Mt-1),X=[];for(let pe=ee;pe>=BigInt(0)&&pe>=Y;pe--)try{const ie=await n.getVersion(e,ja.fromBigInt(pe).toString());X.push(ie)}catch(ie){console.warn(`Failed to get version: ${pe}, err: ${ie}`)}m(pe=>{const ie=[...pe],te=B*Mt;for(let ge=0;ge<X.length;ge++)ie[te+ge]=X[ge];return ie}),S(!1)},[n,P,e]);x.useEffect(()=>{k(0),E(null),m([]);const B=Number(P+BigInt(1));O(B),n&&A(0)},[n,e,P,A]),x.useEffect(()=>{n&&J>0&&A(J)},[J,n,A]);const T=x.useCallback(async(B,U,H,Z=6)=>{let ee=B;for(let Y=0;Y<Z;Y++){const X=await l({originalName:ee,existingNames:U});if(!X||X.action===x1.Cancel)return{cancelled:!0};if(X.action===x1.KeepBoth){if(!X.newName||X.newName.length===0)return _("Empty new name. Please enter one."),{cancelled:!1};const pe=X.newName.trim();if(pe&&!U.has(pe))return{cancelled:!1,name:pe};_("That name is already taken. Please enter a different one."),ee=pe||ee}else _(H)}return{cancelled:!0}},[l]),v=x.useCallback(async B=>{if(!(!n||!i||!d))try{const U=Ya(B.version),H=(B.customMetadata?.lifecycle||"").trim().toLowerCase(),Z=H===ha.Trashed||H===ha.Recovered?H:void 0,ee=B.customMetadata?.lifecycleAt||(B.timestamp?new Date(B.timestamp).toISOString():void 0),Y={...B,customMetadata:{...B.customMetadata??{},lifecycle:ha.Restored,lifecycleFrom:U!==void 0?`v${U}`:"",lifecycleAt:new Date().toISOString(),restoredFromLifecycle:Z??"",restoredFromLifecycleAt:ee??""}};Vn({fm:n,redundancyLevel:i.redundancyLevel,stamp:d,useInfoSize:!0,driveId:B.driveId,cb:X=>{throw new Error(X)}}),await n.restoreVersion(Y),f(B.batchId.toString()),a()}catch(U){const H=U?.message||JSON.stringify(U);E(H)}},[n,d,i,f,a]),L=x.useCallback(async B=>{if(!n)return;const U=B.name,H=e.name,Z=s.filter(X=>X.driveId===B.driveId.toString()),Y=Z.filter(X=>X.name===U).filter(X=>X.topic.toString()!==e.topic.toString());if(U!==H&&Y.length===0){W({version:B,headName:H,targetName:U});return}if(Y.length>0){const X=new Set(Z.map(te=>te.name)),ie=await T(U,X,"Replace is not available because another file with that name belongs to a different history. Please choose “Keep both” and enter a different name.",8);if(ie.cancelled||!ie.name)return;B.name=ie.name}await v(B)},[n,e,s,T,v]);return ot.createPortal(c.jsxs("div",{className:"fm-modal-container",children:[b,c.jsxs("div",{className:"fm-modal-window fm-upgrade-drive-modal",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx(Rf,{size:"21px"}),c.jsx("span",{className:"fm-main-font-color",children:c.jsxs(c.Fragment,{children:["Version history –"," ",c.jsx("span",{className:"vh-title",title:e.name,children:Ea(e.name)}),e&&c.jsxs("span",{className:"vh-title-sub",title:`Version v${(Ya(e.version)??0).toString()}`,children:[" ","(version v",(Ya(e.version)??0).toString(),")"]})]})})]}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsxs("div",{className:"fm-modal-window-body fm-expiring-notification-modal-body",children:[w&&c.jsx("div",{className:"fm-modal-white-section fm-soft-text",children:w}),p&&c.jsx("div",{className:"fm-loading",children:"Loading…"}),!w&&!p&&F.length===0&&c.jsx("div",{className:"fm-empty",children:"No versions found for this file."}),C&&c.jsx("div",{className:"fm-modal-white-section fm-soft-text",style:{borderLeft:"3px solid var(--fm-accent, #6aa7ff)"},children:C}),$&&c.jsx(kt,{title:c.jsxs(c.Fragment,{children:["Restore this version?",c.jsx(la,{label:oa.FILE_OPERATION_RESTORE_VERSION})]}),message:c.jsxs(c.Fragment,{children:["Restoring will rename: ",c.jsx("b",{className:"vh-name",title:$.headName,children:Ea($.headName)})," ","→"," ",c.jsx("b",{className:"vh-name",title:$.targetName,children:Ea($.targetName)}),"."]}),confirmLabel:"Restore",cancelLabel:"Cancel",onConfirm:async()=>{await v($.version),W(null)},onCancel:()=>W(null)}),c.jsx(iw,{versions:!w&&!p?F:[],headFi:e,restoreVersion:L,onDownload:t})]})}),c.jsxs("div",{className:"fm-modal-window-footer vh-footer",children:[c.jsx("div",{className:"vh-footer-left",children:c.jsx(Je,{label:"Close",variant:"secondary",onClick:a})}),c.jsxs("div",{className:"vh-footer-right",children:[c.jsxs("span",{className:"vh-page",children:["Page ",Math.min(J+1,R)," / ",R," · total ",D]}),J>0&&c.jsx(Je,{label:"Previous",variant:"secondary",onClick:()=>k(B=>B-1)}),J+1<R&&c.jsx(Je,{label:"Next",variant:"primary",onClick:()=>k(B=>B+1)})]})]})]})]}),u)}const xt=({disabled:e,danger:a,onClick:t,children:n})=>c.jsx("div",{className:`fm-context-item${a?" red":""}`,"aria-disabled":e?"true":"false",style:e?{opacity:.5,pointerEvents:"none"}:void 0,onClick:e?void 0:t,children:n});function fw({fileInfo:e,onDownload:a,showDriveColumn:t,driveName:n,selected:s=!1,onToggleSelected:i,bulkSelectedCount:d,onBulk:f,setErrorMessage:l}){const{showContext:b,pos:u,contextRef:g,handleContextMenu:m,handleCloseContext:p}=F1(),{fm:S,adminDrive:w,currentDrive:E,files:C,drives:_,setShowError:D,refreshStamp:O}=x.useContext(Ta),{beeApi:$}=x.useContext(Le),{view:W}=O1(),[J,k]=x.useState(void 0),[P,R]=x.useState(u),[F,A]=x.useState(y1.Down),[T,v]=x.useState(!1),[L,B]=x.useState(null),[U,H]=x.useState(!1),[Z,ee]=x.useState(!1),[Y,X]=x.useState(!1),[pe,ie]=x.useState(!1),[te,ge]=x.useState(null),[ce,he]=x.useState(!1),[ve,xe]=x.useState(!1),ue=x.useRef(!0),Ee=x.useRef(null),Ne=p1(e.customMetadata?.size),N=new Date(e.timestamp||0).toLocaleDateString(),se=s1(e),Q=se?"Trash":"Active",q=x.useMemo(()=>C.find(le=>le.topic.toString()===e.topic.toString())??e,[C,e]);x.useEffect(()=>(ue.current=!0,(async()=>{if(!$)return;const Te=(await tn($)).find(Re=>_.some(Ze=>Ze.batchId.toString()===Re.batchID.toString()&&Ze.id===e.driveId));$a(ue,k)(Te)})(),()=>{ue.current=!1,Ee.current!==null&&cancelAnimationFrame(Ee.current)}),[$,_,e.driveId]);const K=x.useCallback(async()=>{if(!S||!ue.current)return;const le=await Kx(S,e,n,J);B(le),v(!0)},[S,e,n,J]),ne=x.useMemo(()=>{if(!E||!C)return new Set;const le=E.batchId.toString(),_e=C.filter(Re=>Re.batchId.toString()===le),Te=new Set;return _e.forEach(Re=>{Re.topic.toString()!==e.topic.toString()&&Te.add(Re.name)}),Te},[C,E,e.topic]),me=x.useCallback(async le=>{if(!S||!$)return;p();const _e=q.customMetadata?.size,Te=_e?Number(_e):void 0,Re=en();await Xr(S,[{uuid:Re,info:q}],[a({uuid:Re,name:q.name,size:p1(_e),expectedSize:Te,driveName:n})],le)},[p,S,$,q,a,n]),we=x.useCallback(async le=>{!S||!J||!E||await p3({fm:S,file:q,redundancyLevel:E.redundancyLevel,driveId:E.id.toString(),stamp:J,adminStamp:S.adminStamp,adminRedundancy:w?.redundancyLevel,operation:le,onError:_e=>{l?.(_e),D(!0)},onSuccess:()=>{const _e=le===mn.Forget?S.adminStamp:J;_e&&O(_e.batchID.toString())}})},[S,J,w,E,q,O,l,D]),fe=x.useCallback(()=>{ge(E||null),ie(!0)},[E]),je=x.useCallback(async le=>{if(!S||!J||!E){l?.("Invalid FM or Current Drive"),D(!0);return}if(ne.has(le))throw new Error("name-taken");try{Vn({fm:S,redundancyLevel:E.redundancyLevel,stamp:J,useInfoSize:!0,driveId:E.id.toString(),cb:_e=>{throw new Error(_e)}}),await S.upload(E,{name:le,topic:q.topic,file:{reference:q.file.reference,historyRef:q.file.historyRef},customMetadata:q.customMetadata,files:[]},{actHistoryAddress:q.file.historyRef}),O(J.batchID.toString())}catch{l?.(`Error renaming file ${q.name}`),D(!0)}},[S,J,E,q,ne,O,l,D]),Ie=x.useCallback(()=>{const le=(d??0)>1,_e=c.jsx(xt,{disabled:le,onClick:()=>me(!0),children:"View / Open"}),Te=c.jsx(xt,{onClick:le?f.download:()=>me(!1),children:"Download"}),Re=c.jsx(xt,{disabled:le,onClick:()=>{p(),K()},children:"Get info"});return W===wa.File?c.jsxs(c.Fragment,{children:[_e,Te,c.jsx(xt,{disabled:le,onClick:()=>{p(),X(!0)},children:"Rename"}),c.jsx("div",{className:"fm-context-item-border"}),c.jsx(xt,{disabled:le,onClick:()=>{p(),H(!0)},children:"Version history"}),c.jsx(xt,{danger:!0,onClick:()=>{p(),le?f.delete?.():ee(!0)},children:"Delete"}),c.jsx("div",{className:"fm-context-item-border"}),Re]}):c.jsxs(c.Fragment,{children:[_e,Te,c.jsx("div",{className:"fm-context-item-border"}),le?c.jsxs(c.Fragment,{children:[c.jsx(xt,{danger:!0,onClick:f.restore,children:"Restore"}),c.jsx(xt,{danger:!0,onClick:f.destroy,children:"Destroy"}),c.jsx(xt,{danger:!0,onClick:f.forget,children:"Forget permanently"})]}):c.jsxs(c.Fragment,{children:[c.jsx(xt,{danger:!0,onClick:()=>{p(),xe(!0)},children:"Restore"}),c.jsx(xt,{danger:!0,onClick:()=>{p();const Ze=_.find(z=>z.id.toString()===e.driveId.toString());Ze?(ge(Ze),ie(!0)):E?(ge(E),ie(!0)):(l?.("Unable to resolve drive for this file."),D(!0))},children:"Destroy"}),c.jsx(xt,{danger:!0,onClick:()=>{p(),he(!0)},children:"Forget permanently"})]}),c.jsx("div",{className:"fm-context-item-border"}),Re]})},[W,E,_,d,f,e.driveId,me,p,K,l,D]);return x.useLayoutEffect(()=>{if(b)return Ee.current!==null&&cancelAnimationFrame(Ee.current),Ee.current=requestAnimationFrame(()=>{const le=g.current;if(!le)return;const _e=le.getBoundingClientRect(),Re=(le.offsetParent??null)?.getBoundingClientRect()??null,{safePos:Ze,dropDir:z}=S3({clickPos:u,menuRect:_e,viewport:{w:window.innerWidth,h:window.innerHeight},margin:8}),j=Re?{x:Math.round(Ze.x-Re.left),y:Math.round(Ze.y-Re.top)}:Ze;R(j),A(z),Ee.current=null}),()=>{Ee.current!==null&&(cancelAnimationFrame(Ee.current),Ee.current=null)}},[b,u,g]),!E||!S||!$?c.jsx("div",{className:"fm-file-item-content",children:"Error"}):c.jsxs("div",{className:"fm-file-item-content",onContextMenu:le=>{le.shiftKey||m(le)},onClick:p,children:[c.jsx("div",{className:"fm-file-item-content-item fm-checkbox",children:c.jsx("input",{type:"checkbox",checked:s,onChange:le=>i?.(e,le.target.checked),onClick:le=>le.stopPropagation()})}),c.jsxs("div",{className:"fm-file-item-content-item fm-name",onDoubleClick:()=>me(!0),children:[c.jsx(E3,{name:e.name,metadata:e.customMetadata}),Ea(e.name)]}),t&&c.jsxs("div",{className:"fm-file-item-content-item fm-drive",children:[c.jsx("span",{className:"fm-drive-name",children:n}),c.jsx("span",{className:`fm-pill ${se?"fm-pill--trash":"fm-pill--active"}`,title:Q,children:Q})]}),c.jsx("div",{className:"fm-file-item-content-item fm-size",children:Ne}),c.jsx("div",{className:"fm-file-item-content-item fm-date-mod",children:N}),b&&c.jsx("div",{ref:g,className:"fm-file-item-context-menu",style:{top:P.y,left:P.x},"data-drop":F,onMouseDown:le=>le.stopPropagation(),onClick:le=>le.stopPropagation(),children:c.jsx(Ln,{children:Ie()})}),T&&L&&c.jsx(Yx,{name:e.name,properties:L,onCancelClick:()=>{v(!1)}}),U&&c.jsx(dw,{fileInfo:q,onCancelClick:()=>{H(!1)},onDownload:a}),Z&&c.jsx(C3,{name:e.name,currentDriveName:E.name,onCancelClick:()=>{ee(!1)},onProceed:le=>{switch(ee(!1),le){case Ra.Trash:we(mn.Trash);break;case Ra.Forget:he(!0);break;case Ra.Destroy:fe();break}}}),Y&&c.jsx(Xx,{currentName:e.name,takenNames:(()=>{const _e=C.filter(Te=>Te.driveId.toString()===E.id.toString()).map(Te=>Te.name).filter(Te=>Te&&Te!==e.name);return new Set(_e)})(),onCancelClick:()=>{X(!1)},onProceed:async le=>{try{X(!1),await je(le)}catch{$a(ue,X)(!0)}}}),ce&&c.jsx(kt,{title:c.jsxs(c.Fragment,{children:["Forget permanently?",c.jsx(la,{label:oa.FILE_OPERATION_FORGET})]}),message:c.jsxs(c.Fragment,{children:["This removes ",c.jsx("b",{title:e.name,children:e.name})," from your view.",c.jsx("br",{}),"The data remains on Swarm until the drive expires."]}),confirmLabel:"Forget",cancelLabel:"Cancel",onConfirm:async()=>{await we(mn.Forget),$a(ue,he)(!1)},onCancel:()=>{he(!1)}}),ve&&c.jsx(kt,{title:c.jsxs(c.Fragment,{children:["Restore from trash?",c.jsx(la,{label:oa.FILE_OPERATION_RESTORE_FROM_TRASH})]}),message:c.jsxs(c.Fragment,{children:["This will restore ",c.jsx("b",{title:e.name,children:e.name})," from trash."]}),confirmLabel:"Restore",cancelLabel:"Cancel",onConfirm:async()=>{await we(mn.Recover),$a(ue,xe)(!1)},onCancel:()=>{xe(!1)}}),pe&&te&&c.jsx(Qr,{drive:te,onCancelClick:()=>{ie(!1),ge(null)},doDestroy:async()=>{ie(!1),await js({beeApi:$,fm:S,drive:te,adminDrive:w,isDestroy:!0,onSuccess:()=>{ie(!1),ge(null)},onError:le=>{ie(!1),l?.(`Error destroying drive: ${te.name}: ${le}`),D(!0)}})}})]})}function ow({listToRender:e,drives:a,currentDrive:t,view:n,isSearchMode:s,trackDownload:i,selectedIds:d,onToggleSelected:f,bulkSelectedCount:l,onBulk:b,setErrorMessage:u}){const g=x.useCallback(()=>a.length===0?c.jsx("div",{className:"fm-drop-hint",children:"Create a drive to start using the file manager"}):t?n===wa.Trash?c.jsxs("div",{className:"fm-drop-hint",children:['Files from "',t?.name,'" that are trashed can be viewed here']}):c.jsxs("div",{className:"fm-drop-hint",children:['Drag & drop files here into "',t?.name,'"']}):c.jsx("div",{className:"fm-drop-hint",children:"Select a drive to upload or view its files"}),[a,t,n]),m=x.useCallback((p,S=!1)=>p.map(w=>{const E=a.find(C=>C.id.toString()===w.driveId.toString());return E?{fi:w,driveName:E.name}:null}).filter(w=>w!==null).map(({fi:w,driveName:E})=>{const C=`${mc(w)}::${w.version??""}::${S?"search":"normal"}`;return c.jsx(fw,{fileInfo:w,onDownload:i,showDriveColumn:S,driveName:E,selected:!!d?.has(mc(w)),onToggleSelected:f,bulkSelectedCount:l,onBulk:b,setErrorMessage:u},C)}),[i,a,d,f,l,b,u]);return a.length===0?g():s?e.length===0?c.jsx("div",{className:"fm-drop-hint",children:"No results found."}):c.jsx(c.Fragment,{children:m(e,!0)}):t?n===wa.Expired?c.jsxs("div",{className:"fm-drop-hint",children:['The stamp for drive "',t?.name,'" is expired, no files can be found']}):e.length===0?n===wa.Trash?c.jsxs("div",{className:"fm-drop-hint",children:['Files from "',t?.name,'" that are trashed can be viewed here']}):c.jsxs("div",{className:"fm-drop-hint",children:['Drag & drop files here into "',t?.name,'"']}):c.jsx(c.Fragment,{children:m(e)}):c.jsx("div",{className:"fm-drop-hint",children:"Select a drive to upload or view its files"})}const lw=x.memo(ow),bw=({active:e,dir:a})=>{let t;if(e){const n=a===Kn.Asc?"ascending":"descending";t=pt(n)}else t=void 0;return c.jsx("div",{className:"fm-file-browser-content-header-item-icon"+(e?"":" is-inactive"),"aria-hidden":t?"false":"true","aria-label":t,title:t,children:c.jsx(hc,{size:"16px"})})};function u7({label:e,isActive:a,dir:t,onToggle:n,onClear:s,ariaSort:i,"data-testid":d}){return c.jsxs("div",{className:"fm-header-cell",role:"columnheader","aria-sort":i,"data-testid":d,children:[c.jsxs("button",{type:"button",className:"fm-header-button",onClick:n,"data-dir":a?t:void 0,"aria-label":a?`Sort by ${e.toLowerCase()}, currently ${t===Kn.Asc?"ascending":"descending"}`:`Sort by ${e.toLowerCase()}`,title:a?`Currently ${pt(t===Kn.Asc?"ascending":"descending")}`:"Click to sort",children:[c.jsx("span",{children:e}),c.jsx(bw,{active:a,dir:t})]}),a&&c.jsx("button",{type:"button",className:"fm-sort-clear",onClick:f=>{f.preventDefault(),f.stopPropagation(),s()},"aria-label":"Reset sorting to default",title:"Clear sorting",children:"×"})]})}function uw({isSearchMode:e,bulk:a,sortKey:t,sortDir:n,onSortName:s,onSortSize:i,onSortDate:d,onSortDrive:f,onClearSort:l}){const b=u=>t!==u?"none":n===Kn.Asc?"ascending":"descending";return c.jsxs("div",{className:"fm-file-browser-content-header",role:"row",children:[c.jsx("input",{type:"checkbox",checked:a.allChecked,ref:u=>{u&&(u.indeterminate=a.someChecked)},onChange:u=>u.target.checked?a.selectAll():a.clearAll()}),c.jsx("div",{className:"fm-file-browser-content-header-item fm-name",children:c.jsx(u7,{label:"Name",isActive:t===Za.Name,dir:n,onToggle:s,onClear:l,ariaSort:b(Za.Name),"data-testid":"hdr-name"})}),e&&c.jsx("div",{className:"fm-file-browser-content-header-item fm-drive",children:c.jsx(u7,{label:"Drive",isActive:t===Za.Drive,dir:n,onToggle:f,onClear:l,ariaSort:b(Za.Drive),"data-testid":"hdr-drive"})}),c.jsx("div",{className:"fm-file-browser-content-header-item fm-size",children:c.jsx(u7,{label:"Size",isActive:t===Za.Size,dir:n,onToggle:i,onClear:l,ariaSort:b(Za.Size),"data-testid":"hdr-size"})}),c.jsx("div",{className:"fm-file-browser-content-header-item fm-date-mod",children:c.jsx(u7,{label:"Date mod.",isActive:t===Za.Timestamp,dir:n,onToggle:d,onClear:l,ariaSort:b(Za.Timestamp),"data-testid":"hdr-date"})})]})}function hw({drives:e,view:a,selectedFilesCount:t,onRefresh:n,onUploadFile:s,onBulkDownload:i,onBulkRestore:d,onBulkDelete:f,onBulkDestroy:l,onBulkForget:b,enableRefresh:u}){return e.length===0?u?c.jsx(Ln,{children:c.jsx("div",{className:"fm-context-item",onClick:n,children:"Refresh"})}):c.jsx(c.Fragment,{}):t>1?c.jsxs(Ln,{children:[c.jsx("div",{className:"fm-context-item",onClick:i,children:"Download"}),a===wa.File?c.jsx("div",{className:"fm-context-item red",onClick:f,children:"Delete…"}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"fm-context-item",onClick:d,children:"Restore"}),c.jsx("div",{className:"fm-context-item red",onClick:l,children:"Destroy"}),c.jsx("div",{className:"fm-context-item red",onClick:b,children:"Forget permanently"})]})]}):a===wa.Trash?c.jsx(Ln,{children:c.jsx("div",{className:"fm-context-item",onClick:n,children:"Refresh"})}):c.jsxs(Ln,{children:[c.jsx("div",{className:"fm-context-item",style:{display:"none"},children:"New folder"}),c.jsx("div",{className:"fm-context-item",onClick:s,children:"Upload file(s)"}),c.jsx("div",{className:"fm-context-item",style:{display:"none"},children:"Upload folder"}),c.jsx("div",{className:"fm-context-item-border"}),c.jsx("div",{className:"fm-context-item",role:"menuitem","aria-disabled":"true",tabIndex:-1,onMouseDown:g=>g.stopPropagation(),onClick:g=>{g.preventDefault(),g.stopPropagation()},children:c.jsx("span",{children:c.jsx(la,{label:"Tip: Use ⌘V / Ctrl+V or Browser → Edit → Paste.",iconSize:"14px",gapPx:6,disableMargin:!0,children:"Paste"})})}),c.jsx("div",{className:"fm-context-item-border"}),c.jsx("div",{className:"fm-context-item",onClick:n,children:"Refresh"})]})}function gw({onOpenMenu:e,canOpen:a=!0}){const{view:t,actualItemView:n}=O1(),s=t===wa.Trash?" Trash":"";return c.jsxs("div",{className:"fm-file-browser-top-bar",children:[c.jsxs("div",{className:"fm-file-browser-top-bar__title",children:[n,s]}),a&&c.jsx("button",{type:"button",className:"fm-topbar-kebab","aria-haspopup":"menu","aria-label":"More actions",onClick:i=>e?.(i.currentTarget),children:"⋯"})]})}function mw({showDeleteModal:e,selectedFiles:a,fileCountText:t,currentDrive:n,confirmBulkForget:s,confirmBulkRestore:i,showDestroyDriveModal:d,pendingCancelUpload:f,pendingCancelDownload:l,onDeleteCancel:b,onDeleteProceed:u,onForgetConfirm:g,onForgetCancel:m,onRestoreConfirm:p,onRestoreCancel:S,onDestroyCancel:w,onDestroyConfirm:E,onCancelUploadConfirm:C,onCancelUploadCancel:_,onCancelDownloadCancel:D,onCancelDownloadConfirm:O}){return c.jsxs(c.Fragment,{children:[e&&c.jsx(C3,{names:a.map($=>$.name),currentDriveName:n?.name,onCancelClick:b,onProceed:u}),s&&c.jsx(kt,{title:c.jsxs(c.Fragment,{children:["Forget permanently?",c.jsx(la,{label:oa.FILE_OPERATION_FORGET})]}),message:c.jsxs(c.Fragment,{children:["This removes ",c.jsx("b",{children:a.length})," ",t," from your view.",c.jsx("br",{}),"The data remains on Swarm until the drive expires."]}),confirmLabel:"Forget",cancelLabel:"Cancel",onConfirm:g,onCancel:m}),i&&c.jsx(kt,{title:c.jsxs(c.Fragment,{children:["Restore from trash?",c.jsx(la,{label:oa.FILE_OPERATION_RESTORE_FROM_TRASH})]}),message:c.jsxs(c.Fragment,{children:["This will restore ",c.jsx("b",{children:a.length})," ",t," from trash."]}),confirmLabel:"Restore",cancelLabel:"Cancel",onConfirm:p,onCancel:S}),d&&n&&c.jsx(Qr,{drive:n,onCancelClick:w,doDestroy:E}),f&&c.jsx(kt,{title:"Cancel upload?",message:c.jsxs(c.Fragment,{children:["Stopping now will cancel the network request. Data already transmitted cannot be reverted."," ",c.jsx("b",{children:"We will try our best to clean up the transmitted data."}),c.jsx("br",{}),"To remove any (remaining) cancelled items from your browser view later, use"," ",c.jsx("i",{children:"Right-click → Delete → Forget"}),"."]}),confirmLabel:"Cancel upload",cancelLabel:"Keep uploading",onConfirm:C,onCancel:_}),l&&c.jsx(kt,{title:"Cancel download?",message:"Are you sure you want to cancel this download?",confirmLabel:"Cancel download",cancelLabel:"Keep downloading",onConfirm:O,onCancel:D})]})}function pw({isDestroying:e,isProgressModalOpen:a,currentDrive:t,onMinimize:n}){return a&&e&&t?c.jsx(_3,{drive:t,onMinimize:n}):null}function yw({isDestroying:e,onClick:a}){return e?c.jsx("div",{className:"fm-refresh-overlay","aria-busy":"true","aria-live":"polite",children:c.jsxs("div",{className:"fm-refresh-content",onClick:a,style:{cursor:"pointer"},title:"Click to show progress modal",children:[c.jsx("div",{className:"fm-mini-spinner",role:"status","aria-label":"Destroying drive…"}),c.jsx("span",{className:"fm-refresh-text",children:"Destroying drive…"})]})}):null}function xw({showError:e,label:a,onOk:t}){if(!e)return null;const n=document.querySelector(".fm-main")||document.body;return ot.createPortal(c.jsx(Zr,{label:a,onClick:t}),n)}const ww=e=>{const a=[],t=e.clipboardData?.items??[];for(let n=0;n<t.length;n++){const s=t[n];if(s.kind==="file"){const i=s.getAsFile();i&&a.push(i)}}return a};function vw({showContext:e,contextRef:a,safePos:t,dropDir:n,drives:s,view:i,bulk:d,adminStamp:f,doRefresh:l,onContextUploadFile:b,setConfirmBulkRestore:u,setShowBulkDeleteModal:g,setShowDestroyDriveModal:m}){return e?c.jsx("div",{ref:a,className:"fm-file-browser-context-menu fm-context-menu",style:{top:t.y,left:t.x},"data-drop":n,onMouseDown:p=>p.stopPropagation(),onClick:p=>p.stopPropagation(),children:c.jsx(hw,{drives:s,view:i,selectedFilesCount:d.selectedFiles.length,onRefresh:l,enableRefresh:!!f,onUploadFile:b,onBulkDownload:()=>d.download(d.selectedFiles),onBulkRestore:()=>u(!0),onBulkDelete:()=>g(!0),onBulkDestroy:()=>m(!0),onBulkForget:()=>d.forget(d.selectedFiles)})}):null}function Sw({errorMessage:e,setErrorMessage:a}){const{showContext:t,pos:n,contextRef:s,handleContextMenu:i,handleCloseContext:d}=F1(),{view:f,setActualItemView:l}=O1(),{beeApi:b}=x.useContext(Le),{files:u,adminDrive:g,currentDrive:m,resync:p,drives:S,fm:w,showError:E,setShowError:C}=x.useContext(Ta),{uploadFiles:_,isUploading:D,uploadItems:O,isDownloading:$,downloadItems:W,trackDownload:J,conflictPortal:k,cancelOrDismissUpload:P,cancelOrDismissDownload:R,dismissAllUploads:F,dismissAllDownloads:A}=Nx({setErrorMessage:a}),{query:T,scope:v,includeActive:L,includeTrashed:B}=h3(),[U,H]=x.useState(n),[Z,ee]=x.useState(y1.Down),Y=x.useRef(null),X=x.useRef(null),pe=x.useRef(!0),ie=x.useRef(null),[te,ge]=x.useState(!1),[ce,he]=x.useState(!1),[ve,xe]=x.useState(!1),[ue,Ee]=x.useState(!1),[Ne,N]=x.useState(!1),[se,Q]=x.useState(!1),[q,K]=x.useState(!1),[ne,me]=x.useState(null),[we,fe]=x.useState(null),je=T.trim().toLowerCase(),Ie=je.length>0,le=x.useCallback($e=>S.find(Qa=>Qa.id.toString()===$e)?.name??"",[S]),_e=$e=>{const ga=$e.getBoundingClientRect(),Qa=X.current?.getBoundingClientRect(),An=Math.round(ga.right-6),In=(Qa?.top??0)+8,Ac=Math.max(Math.round(ga.bottom+6),In);i({preventDefault:()=>{},stopPropagation:()=>{},clientX:An,clientY:Ac})},{listToRender:Te}=xx({files:u,currentDrive:m||null,view:f,isSearchMode:Ie,query:je,scope:v,includeActive:L,includeTrashed:B}),{sorted:Re,sort:Ze,toggle:z,reset:j}=Sx(Te,{persist:!1,defaultState:{key:Za.Timestamp,dir:Kn.Desc},getDriveName:le}),I=Re.map($e=>mc($e)).join("|"),V=x.useMemo(()=>Re,[I,u]),ae=px({listToRender:Te,trackDownload:J}),{isDragging:be,handleDragEnter:ye,handleDragOver:ze,handleDragLeave:sa,handleDrop:Xe,handleOverlayDrop:ta}=yx({onFilesDropped:_}),Ye=$e=>{const ga=$e.target.files;ga&&ga.length>0&&_(ga),$e.target.value=""},Ot=()=>{ae.uploadFromPicker(),requestAnimationFrame(()=>d())},rn=$e=>{const ga=ww($e);ga.length!==0&&($e.preventDefault(),_(ga))},Ts=$e=>{const ga=$e.target;ga.closest(".fm-file-item-context-menu, .fm-file-browser-context-menu")||!$e.shiftKey&&ga.closest(".fm-file-item-content")||($e.preventDefault(),$e.stopPropagation(),i($e))},Ds=async $e=>{if(ge(!1),$e===Ra.Trash)return await ae.trash(ae.selectedFiles);if($e===Ra.Forget)return N(!0);if($e===Ra.Destroy)return he(!0)},Rs=x.useCallback(async()=>{m&&(he(!1),Ee(!0),xe(!0),await js({beeApi:b,fm:w,drive:m,isDestroy:!0,adminDrive:g,onSuccess:()=>{xe(!1),Ee(!1),he(!1)},onError:$e=>{xe(!1),Ee(!1),he(!1),a?.(`Error destroying drive: ${m.name}: ${$e}`),C(!0)}}))},[b,w,m,g,a,Ee,he,C]),Os=$e=>{W.find(Qa=>Qa.uuid===$e)?.status===He.Downloading?fe($e):R($e)},Fs=$e=>{O.find(Qa=>Qa.uuid===$e)?.status===He.Uploading?me($e):P($e)},Bs=()=>{const $e=s.current,ga=X.current;if(!$e)return;const Qa=$e.getBoundingClientRect(),An=ga?.getBoundingClientRect()??null,{safePos:In,dropDir:Ac}=S3({clickPos:n,menuRect:Qa,viewport:{w:window.innerWidth,h:window.innerHeight},margin:8}),V1=An?{x:Math.round(In.x-An.left),y:Math.round(In.y-An.top+2)}:In;H(V1),ee(Ac),ie.current=null};x.useLayoutEffect(()=>{if(t)return ie.current&&cancelAnimationFrame(ie.current),ie.current=requestAnimationFrame(Bs),()=>{ie.current&&(cancelAnimationFrame(ie.current),ie.current=null)}},[t,n,s]),x.useEffect(()=>(pe.current=!0,()=>{pe.current=!1,ie.current&&cancelAnimationFrame(ie.current),C(!1)}),[C]),x.useEffect(()=>{let $e=m?.name||"";Ie&&($e="Search results",v==="selected"&&m?.name&&($e+=` — ${m.name}`)),l?.($e)},[Ie,v,m,l]),x.useEffect(()=>{Ie||ae.clearAll()},[Ie]);const Ls=async()=>{if(d(),!q){K(!0);try{await p()}finally{$a(pe,K)(!1)}}},q1=te&&ae.selectedFiles.length>0&&f===wa.File,Us=be&&!!m,$s=ae.selectedFiles.length===1?"file":"files",H1=x.useMemo(()=>({download:()=>ae.download(ae.selectedFiles),restore:()=>Q(!0),forget:()=>ae.forget(ae.selectedFiles),destroy:()=>he(!0),delete:()=>ge(!0)}),[ae]);return c.jsxs(c.Fragment,{children:[k,c.jsx("input",{type:"file",ref:ae.fileInputRef,style:{display:"none"},onChange:Ye,multiple:!0}),c.jsxs("div",{className:"fm-file-browser-container","data-search-mode":Ie?"true":"false",children:[c.jsx(gw,{onOpenMenu:_e,canOpen:!Ie&&!!m}),c.jsxs("div",{className:"fm-file-browser-content","data-search-mode":Ie?"true":"false",ref:Y,onDragEnter:ye,onDragOver:ze,onDragLeave:sa,onDrop:Xe,onPaste:rn,onContextMenu:Ts,children:[c.jsx(uw,{isSearchMode:Ie,bulk:ae,sortKey:Ze.key,sortDir:Ze.dir,onSortName:()=>z(Za.Name),onSortSize:()=>z(Za.Size),onSortDate:()=>z(Za.Timestamp),onSortDrive:()=>z(Za.Drive),onClearSort:j},Ie?"hdr-search":"hdr-normal"),c.jsxs("div",{className:"fm-file-browser-content-body",ref:X,onMouseDown:$e=>{$e.button===0&&d()},children:[c.jsx(lw,{listToRender:V,drives:S,currentDrive:m||null,view:f,isSearchMode:Ie,trackDownload:J,selectedIds:ae.selectedIds,onToggleSelected:ae.toggleOne,bulkSelectedCount:ae.selectedCount,onBulk:H1,setErrorMessage:a},Ie?"content-search":`content-${m?.id.toString()??"none"}`),c.jsx(xw,{showError:!!E,label:e||"An error occurred",onOk:()=>{C(!1),a?.("")}}),c.jsx(vw,{showContext:t,contextRef:s,safePos:U,dropDir:Z,drives:S,view:f,bulk:ae,adminStamp:w?.adminStamp,doRefresh:Ls,onContextUploadFile:Ot,setConfirmBulkRestore:Q,setShowBulkDeleteModal:ge,setShowDestroyDriveModal:he})]}),Us&&c.jsx("div",{className:"fm-drag-overlay",onDragOver:$e=>{$e.preventDefault(),$e.dataTransfer.dropEffect="copy"},onDrop:ta,children:c.jsx("div",{className:"fm-drag-text",children:"Drop file(s) to upload"})}),c.jsx(mw,{showDeleteModal:q1,selectedFiles:ae.selectedFiles,fileCountText:$s,currentDrive:m||null,confirmBulkForget:Ne,confirmBulkRestore:se,showDestroyDriveModal:ce,pendingCancelUpload:ne,onDeleteCancel:()=>ge(!1),onDeleteProceed:Ds,onForgetConfirm:async()=>{await ae.forget(ae.selectedFiles),N(!1)},onForgetCancel:()=>N(!1),onRestoreConfirm:async()=>{await ae.restore(ae.selectedFiles),Q(!1)},onRestoreCancel:()=>Q(!1),onDestroyCancel:()=>he(!1),onDestroyConfirm:Rs,onCancelUploadConfirm:()=>{ne&&(P(ne),me(null))},onCancelUploadCancel:()=>me(null),pendingCancelDownload:we,onCancelDownloadConfirm:()=>{we&&(R(we),fe(null))},onCancelDownloadCancel:()=>fe(null)}),q&&c.jsx("div",{className:"fm-refresh-overlay","aria-busy":"true","aria-live":"polite",children:c.jsxs("div",{className:"fm-refresh-content",children:[c.jsx("div",{className:"fm-mini-spinner",role:"status","aria-label":"Syncing…"}),c.jsx("span",{className:"fm-refresh-text",children:"Syncing latest files…"})]})}),c.jsx(yw,{isDestroying:ve,onClick:()=>Ee(!0)}),c.jsx(pw,{isDestroying:ve,isProgressModalOpen:ue,currentDrive:m,onMinimize:()=>Ee(!1)})]}),c.jsxs("div",{className:"fm-file-browser-footer",children:[c.jsx(E2,{label:"Uploading files",type:gt.Upload,open:D,items:O,onRowClose:Fs,onCloseAll:()=>F()}),c.jsx(E2,{label:"Downloading files",type:gt.Download,open:$,items:W,onRowClose:Os,onCloseAll:()=>A()}),c.jsx(Lx,{setErrorMessage:a})]})]})]})}var $n=null,j4=!1,fr=[],_w=async e=>{if(globalThis.formbricks)return{ok:!0,data:void 0};let a=`${e}/js/formbricks.umd.cjs`,t=document.querySelector(`script[src="${a}"]`);t&&t.remove();let n=document.createElement("script");n.type="text/javascript",n.src=a,n.async=!0;let s=new Promise(i=>{let d=setTimeout(()=>{i({ok:!1,error:Error("Formbricks SDK loading timed out")})},1e4);n.onload=()=>{if(clearTimeout(d),globalThis.formbricks){i({ok:!0,data:void 0});return}let f=0,l=setInterval(()=>{globalThis.formbricks?(clearInterval(l),i({ok:!0,data:void 0})):++f>=50&&(clearInterval(l),i({ok:!1,error:Error("Formbricks SDK loaded but not available on globalThis")}))},10)},n.onerror=()=>{clearTimeout(d),i({ok:!1,error:Error("Failed to load Formbricks SDK")})}});return document.head.appendChild(n),s},Ew=e=>{let{appUrl:a,environmentId:t}=e;return a?t?{appUrl:a.endsWith("/")?a.slice(0,-1):a,environmentId:t}:(console.error("🧱 Formbricks - Error: environmentId is required"),null):(console.error("🧱 Formbricks - Error: appUrl is required"),null)},Cw=()=>{for(;fr.length>0;){let e=fr.shift();if(!e||!$n)break;if(typeof $n[e.method]!="function"){console.error(`🧱 Formbricks - Error: Method ${e.method} does not exist on formbricks`);continue}$n[e.method](...e.args)}},jw=async e=>{if(j4){console.warn("🧱 Formbricks - Warning: Formbricks is already initializing.");return}let a=Ew(e);if(a){j4=!0;try{let t=await _w(a.appUrl),n=globalThis.formbricks;if(!t.ok||!n){console.error("🧱 Formbricks - Error: Failed to load Formbricks SDK");return}await n.setup({...a}),$n=n,Cw()}catch(t){$n=null,console.error("🧱 Formbricks - Error: setup failed",t)}finally{j4=!1}}},Yt=async(e,...a)=>{$n?await $n[e](...a):(console.warn("🧱 Formbricks - Warning: Formbricks not initialized. This method will be queued and executed after initialization."),fr.push({method:e,args:a}))},h7={setup:e=>jw(e),setEmail:e=>Yt("setEmail",e),setAttribute:(e,a)=>Yt("setAttribute",e,a),setAttributes:e=>Yt("setAttributes",e),setLanguage:e=>Yt("setLanguage",e),setUserId:e=>Yt("setUserId",e),setNonce:e=>Yt("setNonce",e),track:(e,a)=>Yt("track",e,a),logout:()=>Yt("logout"),registerRouteChange:()=>Yt("registerRouteChange")};const Aw=25,A2="file_manager_engagement_25_clicks",Iw=1e3;function Mw({isActive:e}){const a=j1(),t=x.useRef(!1),n=x.useRef(!1),s=x.useRef(!1),i="cmhnfapwg0gidad01irbanjtr",d="https://app.formbricks.com/",f=x.useCallback(()=>{if(s.current&&localStorage.getItem(Qe.fmSurveyTriggered)!=="true")try{h7.track(A2),localStorage.setItem(Qe.fmSurveyTriggered,"true"),s.current=!1}catch{}},[]);return x.useEffect(()=>{let l=!1;return(async()=>{try{await h7.setup({environmentId:i,appUrl:d}),await new Promise(u=>setTimeout(u,Iw)),l||(n.current=!0,t.current=!0,f())}catch{n.current=!1,t.current=!1}})(),()=>{l=!0}},[i,d,f]),x.useEffect(()=>{if(t.current)try{h7?.registerRouteChange()}catch{}},[a]),x.useEffect(()=>{if(!e)return;const l=async()=>{if(localStorage.getItem(Qe.fmSurveyTriggered)==="true")return;let u=0;try{const g=localStorage.getItem(Qe.fmClickStorage);g&&(u=parseInt(g,10)||0)}catch{}u+=1;try{localStorage.setItem(Qe.fmClickStorage,String(u))}catch{}if(u>=Aw){if(window.dispatchEvent(new CustomEvent("filemanager-25-clicks",{detail:{count:u,formbricksReady:n.current}})),!n.current){s.current=!0;return}try{await h7.track(A2),localStorage.setItem(Qe.fmSurveyTriggered,"true")}catch{}}},b=document.querySelector(".fm-main");return b&&b.addEventListener("click",l),()=>{b&&b.removeEventListener("click",l)}},[e]),null}const ic={scope:"selected",includeActive:!0,includeTrashed:!1};function Nw(){const{query:e,setQuery:a,clear:t,scope:n,setScope:s,includeActive:i,setIncludeActive:d,includeTrashed:f,setIncludeTrashed:l}=h3(),{currentDrive:b}=x.useContext(Ta),u=x.useMemo(()=>b?.name||"",[b]),[g,m]=x.useState(!1),p=x.useRef(null),S=x.useRef(null),w=x.useMemo(()=>n!==ic.scope||i!==ic.includeActive||f!==ic.includeTrashed,[n,i,f]),E=()=>{s(ic.scope),d(ic.includeActive),l(ic.includeTrashed)};return x.useEffect(()=>{if(!g)return;const C=D=>{const O=D.target;p.current?.contains(O)||S.current?.contains(O)||m(!1)},_=D=>{D.key==="Escape"&&m(!1)};return document.addEventListener("mousedown",C),document.addEventListener("keydown",_),()=>{document.removeEventListener("mousedown",C),document.removeEventListener("keydown",_)}},[g]),c.jsxs("div",{className:"fm-header-container",children:[c.jsxs("div",{className:"fm-header-left",children:[c.jsx("div",{className:"fm-header-logo","aria-hidden":!0,children:c.jsx(Fb,{})}),c.jsx("div",{className:"fm-header-title",children:"File Manager"})]}),c.jsxs("div",{className:"fm-header-search",children:[c.jsx(jr,{className:"fm-header-search-icon",size:"16px","aria-hidden":!0}),c.jsx("input",{type:"text",placeholder:"Search files by name or type…",value:e,onChange:C=>a(C.target.value),onKeyDown:C=>{C.key==="Escape"&&t()},"aria-label":"Search files"}),e&&c.jsx("button",{type:"button",className:"fm-header-search-clear","aria-label":"Clear search",onClick:t,title:"Clear",children:"×"})]}),c.jsxs("div",{className:"fm-header-actions",children:[c.jsxs("button",{ref:S,type:"button",className:"fm-filter-btn","aria-haspopup":"menu","aria-expanded":g,onClick:()=>m(C=>!C),title:w?"Filters (active)":"Filters",style:{color:w?"orange":void 0},children:[c.jsx(Bb,{size:"16px"}),c.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:["Filters",w&&c.jsx("span",{"aria-label":"Filters active",title:"Filters active",style:{fontWeight:700,fontSize:11,lineHeight:1,padding:"0 4px",borderRadius:8,border:"1px solid orange",color:"orange",marginLeft:2},children:"!"})]})]}),g&&c.jsxs("div",{className:"fm-filter-menu",role:"menu",ref:p,children:[c.jsxs("div",{className:"fm-filter-group",role:"radiogroup","aria-label":"Search scope",children:[c.jsx("div",{className:"fm-filter-group-title",children:"Scope"}),c.jsxs("label",{className:"fm-filter-row",children:[c.jsx("input",{type:"radio",name:"fm-scope",checked:n==="selected",onChange:()=>s("selected")}),c.jsxs("span",{title:u?`Search in ${u}`:"Search in selected drive",children:["Selected",u?` — ${u}`:""]})]}),c.jsxs("label",{className:"fm-filter-row",children:[c.jsx("input",{type:"radio",name:"fm-scope",checked:n==="all",onChange:()=>s("all")}),c.jsx("span",{children:"All drives"})]})]}),c.jsx("div",{className:"fm-filter-sep"}),c.jsxs("div",{className:"fm-filter-group","aria-label":"Status",children:[c.jsx("div",{className:"fm-filter-group-title",children:"Status"}),c.jsxs("label",{className:"fm-filter-row",children:[c.jsx("input",{type:"checkbox",checked:i,onChange:C=>d(C.target.checked)}),c.jsx("span",{children:"Active"})]}),c.jsxs("label",{className:"fm-filter-row",children:[c.jsx("input",{type:"checkbox",checked:f,onChange:C=>l(C.target.checked)}),c.jsx("span",{children:"Trash"})]})]}),c.jsx("div",{className:"fm-filter-sep"}),c.jsx("div",{className:"fm-filter-group",role:"group","aria-label":"Reset",children:c.jsx("button",{type:"button",onClick:E,title:"Reset filters to default",style:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",cursor:"pointer"},children:"Reset to default"})})]})]})]})}const kw=Ke()({root:{width:"98%",marginLeft:"-3px"},rail:{color:"rgb(229, 231, 235)",opacity:1,height:4},track:{color:"rgb(229, 231, 235)",height:4},thumb:{color:"white",height:18,width:18,border:"3px solid rgb(237, 129, 49)",position:"relative",top:-1,marginRight:"-10px"}});function N3({id:e,label:a,marks:t,defaultValue:n,onChange:s,minValue:i,maxValue:d,step:f}){const[l,b]=x.useState(n||0),{classes:u}=kw();return c.jsxs(c.Fragment,{children:[c.jsx("style",{children:`
114
- .fm-slider .MuiSlider-markLabel[data-index="${l}"].MuiSlider-markLabelActive {
115
- color: rgb(237, 129, 49);
116
- font-weight: bold;
117
- }
118
- `}),c.jsx("div",{className:"fm-input-label",children:a&&c.jsx("label",{htmlFor:e,className:"fm-dropdown-label",children:a})}),c.jsx("div",{className:"fm-slider",children:c.jsx(Of,{classes:{root:u.root,rail:u.rail,track:u.track,thumb:u.thumb},value:l||0,onChange:(g,m)=>{b(Number(m)),s(Number(m))},defaultValue:n||0,min:i||0,max:d||100,step:f||1,marks:t,valueLabelDisplay:"off"})})]})}const Pw=Math.min(...Xn.map(e=>e.value)),Tw=Math.max(...Xn.map(e=>e.value)),k3="Choose a saved Drive, or leave blank to create a new one",Dw=e=>[{label:k3,value:-1},...e.map((a,t)=>({label:`${a.batchID.toHex().slice(0,8)}${a.label?` - ${a.label}`:""}`,value:t}))],I2=e=>c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"admin-security-level",className:"fm-input-label",children:["Security Level ",c.jsx(la,{label:oa.ADMIN_SECURITY_LEVEL})]}),c.jsx(N3,{id:"admin-security-level",defaultValue:0,marks:Xn,onChange:a=>e(a),minValue:Pw,maxValue:Tw,step:1})]});function Rw({resetState:e,setIsCreationInProgress:a,handleShowError:t}){const[n,s]=x.useState(!1),[i,d]=x.useState(!0),[f,l]=x.useState(!0),[b,u]=x.useState(0),[g,m]=x.useState(0),[p,S]=x.useState(new Date),[w,E]=x.useState(Xa.OFF),[C,_]=x.useState("0"),[D,O]=x.useState([]),[$,W]=x.useState(null),[J,k]=x.useState(-1),[P,R]=x.useState(!0),{walletBalance:F,nodeInfo:A}=x.useContext(We),{beeApi:T}=x.useContext(Le),{fm:v}=x.useContext(Ta),L=x.useRef(null),B=x.useRef(!0);x.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]);const U=x.useCallback(xe=>{d(!0),l(!0),(F&&xe.gte(F.bzzBalance)||!F)&&$a(B,d)(!1);const ue=Na.fromDecimalString("0");(F&&ue.eq(F.nativeTokenBalance)||!F)&&$a(B,l)(!1)},[F]),H=x.useCallback(xe=>{R(!1),U(xe);const ue=parseFloat(xe.toDecimalString()),Ee=ue<.01&&ue>0?ue.toExponential(1):ue.toPrecision(2);_(Ee)},[U]),Z=x.useCallback(()=>{R(!0),_("0")},[]),ee=x.useCallback(async()=>{a?.(!0),await o3({beeApi:T,fm:v,size:Ut.fromBytes(b),duration:Pt.fromEndDate(p),label:cr,encryption:!1,redundancyLevel:w,adminRedundancy:w,isAdmin:!0,resetState:e,existingBatch:$,onSuccess:()=>{a(!1)},onError:xe=>{const ue=xe instanceof Error?xe.message:String(xe);t(!0,ue),a(!1)}})},[T,v,b,p,w,$,t,a,e]);x.useEffect(()=>{T&&(async()=>{if(!T)return;const ue=await tn(T);$a(B,O)([...ue])})()},[T]),x.useEffect(()=>{const xe=Array.from(Ir(!1,w).values());u(xe[2])},[w]),x.useEffect(()=>{p.getTime()>new Date().getTime()?f3(b,p,!1,w,T,H,L,Z):(_("0"),s(!1))},[p,w,T,b,H,Z]),x.useEffect(()=>{g>=0&&!P?s(!0):s(!1)},[g,P]),x.useEffect(()=>{S(Hr(g))},[g]);const Y=x.useMemo(()=>D.filter(xe=>{const{capacityPct:ue}=Hn(xe,[],w);return ue<100}),[D,w]);x.useEffect(()=>{J>=0&&J<Y.length?W(Y[J]):W(null)},[Y,J]);const{capacityPct:X,usedSize:pe,stampSize:ie}=x.useMemo(()=>$?Hn($,[],w):{capacityPct:0,usedSize:"—",stampSize:"—",usedBytes:0,stampSizeBytes:0,remainingBytes:0},[$,w]),te=e?"Resetting":"Initializing",ge=e?"Reset":"Create",ce=A?.beeMode===Sa.ULTRA_LIGHT,he=ce||P||($?!1:!n||!i||!f),ve=()=>{if(!ce)return null;const xe=c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/configuration/#upgrading-from-an-ultra-light-to-a-light-node",target:"_blank",rel:"noreferrer",children:"upgrade"});return $?c.jsxs("div",{children:[e?"Resetting":"Creating"," a drive requires running a light node. Please ",xe," to continue."]}):c.jsxs("div",{children:["Purchasing a stamp and ",e?"resetting":"creating"," a drive requires running a light node. Please"," ",xe," to continue."]})};return c.jsx("div",{className:"fm-initialization-modal-container",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-modal-window-header",children:"Welcome to your Swarm File Manager"}),c.jsxs("div",{children:[te," the File Manager"]}),c.jsxs("div",{className:"fm-modal-window-scrollable",children:[Y.length>0&&c.jsx("div",{className:"fm-modal-window-body",children:c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsx(vc,{id:"batch-id-selector",options:Dw(Y),value:J,label:"Link an existing Admin Drive (optional)",onChange:xe=>{k(xe),xe===-1&&W(null)},placeholder:k3}),$&&c.jsxs("div",{className:"fm-drive-item-content",children:[c.jsxs("div",{className:"fm-drive-item-capacity",children:["Capacity ",c.jsx(As,{value:X,width:"64px"})," ",pe," / ",ie]}),c.jsxs("div",{className:"fm-drive-item-capacity",children:["Expiry date: ",$.duration.toEndDate().toLocaleDateString()]})]}),$&&I2(E)]})}),!$&&c.jsxs("div",{className:"fm-modal-window-body",children:[c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"admin-desired-lifetime",className:"fm-input-label",children:["Create a new Admin Drive with desired lifetime: ",c.jsx(la,{label:oa.ADMIN_DESIRED_LIFETIME})]}),c.jsx(vc,{id:"admin-desired-lifetime",options:as,value:g,onChange:m,placeholder:"Select a value"})]}),I2(E),c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("div",{className:"fm-modal-estimated-cost-container",children:[c.jsx("div",{className:"fm-emphasized-text",children:"Estimated Cost:"}),c.jsxs("div",{children:[C," BZZ ",i?"":"(Insufficient balance)",f?"":" (Insufficient xDAI balance)"]}),c.jsx(la,{label:oa.ADMIN_ESTIMATED_COST})]}),c.jsx("div",{children:"(Based on current network conditions)"}),ve(),P&&!$&&c.jsx("div",{className:"fm-modal-info-warning",style:{marginBottom:"16px"},children:"Node is syncing. Please wait until sync completes before purchasing a stamp."})]})]})]}),c.jsxs("div",{className:"fm-modal-window-footer",children:[c.jsx(Je,{label:$?`${ge} Drive`:`Purchase Stamp & ${ge} Drive`,variant:"primary",disabled:he,onClick:ee}),c.jsx(la,{label:$?oa.ADMIN_PURCHASE_BUTTON_ALREADY_EXISTED_ADMIN_DRIVE:oa.ADMIN_PURCHASE_BUTTON})]})]})})}const M2=()=>{const e=en();return Wy(e).toHex()};function Ow({onSaved:e}){const[a,t]=x.useState(M2()),[n,s]=x.useState(""),[i,d]=x.useState(!1),[f,l]=x.useState(!1),b=async()=>{try{await navigator.clipboard.writeText(a),l(!0)}catch{console.debug("Failed to copy private key to clipboard")}},u=()=>{t(M2()),s(""),l(!1),d(!1)},g=()=>{if(a.trim())try{new nn(a),d(!1)}catch{d(!0),l(!1)}},m=()=>{try{new nn(a),qy(a),e()}catch{d(!0)}};return c.jsx("div",{className:"fm-initialization-modal-container",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsxs("div",{className:"fm-modal-window-header",children:[c.jsx("div",{children:"Create Private Key"}),c.jsx(la,{label:oa.PRIVATE_KEY_MODAL_HEADER})]}),c.jsxs("div",{className:"fm-modal-window-scrollable",children:[c.jsx("div",{children:"This key grants access to this File Manager instance. Save it before continuing.."}),c.jsxs("div",{className:"fm-modal-info-warning flex-column",children:[c.jsx("span",{className:"fm-modal-info-warning-text-header",children:"CRITICAL: Key Cannot Be Recovered"}),c.jsxs("span",{children:["Swarm does not store this key and ",c.jsx("strong",{children:"cannot"})," retrieve it. Loss of the key will result in permanent loss of access to this File Manager instance."]})]}),c.jsxs("div",{className:"fm-modal-window-body",children:[c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"fm-private-key",className:"fm-emphasized-text fm-private-key-label",children:[c.jsx("span",{children:"1. New Private key"}),c.jsx("button",{onClick:u,type:"button",className:"fm-generate-btn",onMouseEnter:p=>p.currentTarget.style.background="#e5e7eb",onMouseLeave:p=>p.currentTarget.style.background="#f3f4f6",children:"Generate New"})]}),c.jsxs("div",{className:"fm-private-key-input-row",children:[c.jsx("input",{id:"fm-private-key",type:"text",className:`fm-input${i?" has-error":""} fm-private-key-input`,autoComplete:"off",value:a,onChange:p=>{t(p.target.value),l(!1),d(!1)},onBlur:g,spellCheck:!1}),c.jsx("button",{className:"fm-copy-btn",onClick:b,"aria-label":"Copy private key",type:"button",title:f?"Copied!":"Copy",children:f?c.jsx(Lb,{size:"16px"}):c.jsx(Df,{size:"16px"})}),c.jsx(la,{label:oa.PRIVATE_KEY_MODAL_GENERATED_KEY})]}),c.jsx("div",{className:"fm-input-hint-error",children:i?"Invalid private key.":""})]}),c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsx("label",{htmlFor:"fm-private-key-confirm",className:"fm-emphasized-text fm-confirm-key-label",children:"Confirm Private Key"}),c.jsxs("div",{className:"fm-private-key-input-row",children:[c.jsx("input",{id:"fm-private-key-confirm",type:"text",className:"fm-input fm-confirm-key-input",placeholder:"Paste or type your private key again",autoComplete:"off",value:n,onChange:p=>s(p.target.value),spellCheck:!1}),c.jsx(la,{label:oa.PRIVATE_KEY_MODAL_CONFIRM_KEY})]}),c.jsx("div",{className:"fm-input-hint fm-confirm-key-hint",children:n&&a===n?"✓ Private keys match!":"Save the private key securely, then paste or type it again to confirm."})]})]}),c.jsxs("div",{className:"fm-modal-window-body",children:[c.jsxs("div",{className:"flex-row",children:[c.jsx("div",{children:c.jsx("b",{children:"Key Storage:"})}),c.jsx(la,{label:oa.PRIVATE_KEY_MODAL_KEY_INFO})]}),"The key is saved only in this browser's local storage. If browser data is cleared, a different browser is used, or the OS is updated, this local copy might be deleted. The key will be required to access this File Manager instance after that."]})]}),c.jsx("div",{className:"fm-modal-window-footer",children:c.jsx(Je,{label:"Save",variant:"primary",onClick:m,disabled:!a||!n||a!==n||i})})]})})}const Fw=Math.min(...Xn.map(e=>e.value)),Bw=Math.max(...Xn.map(e=>e.value)),Lw=40;function Uw({onCancelClick:e,onDriveCreated:a,onCreationStarted:t,onCreationError:n}){const[s,i]=x.useState(!1),[d,f]=x.useState(!0),[l,b]=x.useState(!0),[u,g]=x.useState(0),[m,p]=x.useState(-1),[S,w]=x.useState(new Date),[E,C]=x.useState(""),[_,D]=x.useState(-1),[O]=x.useState(!1),[$,W]=x.useState(Xa.OFF),[J,k]=x.useState("0"),[P,R]=x.useState([]),{walletBalance:F,nodeInfo:A}=x.useContext(We),{beeApi:T}=x.useContext(Le),{fm:v,drives:L,expiredDrives:B,adminDrive:U}=x.useContext(Ta),H=x.useRef(null),Z=x.useRef(!0),[ee,Y]=x.useState(!1),X=E.trim(),pe=new Set([...L||[],...B||[],...U?[U]:[]].map(ve=>ve.name.trim())),ie=X.length>0&&pe.has(X),te=ee&&ie?"Drive already exists. Please choose another name.":"";x.useEffect(()=>(Z.current=!0,()=>{Z.current=!1}),[]),x.useEffect(()=>{ee&&!ie&&Y(!1)},[ee,ie]);const ge=(ve,xe)=>{D(xe)};x.useEffect(()=>{const ve=Array.from(Ir(O,$).values());R(ve.map(xe=>({value:xe,label:ka(xe)}))),g(ve[_])},[O,$,_]),x.useEffect(()=>{u>0&&S.getTime()>new Date().getTime()?(f3(u,S,!1,$,T,xe=>{if(!Z.current)return;f(!0),b(!0),(F&&xe.gte(F.bzzBalance)||!F)&&f(!1),k(xe.toSignificantDigits(2));const ue=Na.fromDecimalString("0");(F&&ue.eq(F.nativeTokenBalance)||!F)&&b(!1)},H),i(!!X&&!ie)):(k("0"),i(!1))},[u,S,T,F,ie,$,X]),x.useEffect(()=>{w(Hr(m))},[m]);const ce=A?.beeMode===Sa.ULTRA_LIGHT,he=ce||!s||!d||!l;return c.jsx("div",{className:"fm-modal-container",children:c.jsxs("div",{className:"fm-modal-window",children:[c.jsx("div",{className:"fm-modal-window-header",children:"Create new drive"}),c.jsx("div",{className:"fm-modal-window-scrollable",children:c.jsxs("div",{className:"fm-modal-window-body",children:[c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"drive-name",className:"fm-input-label",children:["Drive name: ",c.jsx(la,{label:oa.DRIVE_NAME})]}),c.jsx("input",{type:"text",id:"drive-name",placeholder:"My important files",value:E,onChange:ve=>C(ve.target.value),onBlur:()=>Y(!0),maxLength:Lw}),te&&c.jsx("div",{className:"fm-error-text",children:te})]}),c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"drive-initial-capacity",className:"fm-input-label",children:["Initial capacity: ",c.jsx(la,{label:oa.DRIVE_INITIAL_CAPACITY})]}),c.jsx(vc,{id:"drive-initial-capacity",options:P,value:u,onChange:ge,placeholder:"Select a value"})]}),c.jsx("div",{className:"fm-modal-info-warning",children:"Drive sizes are calculated automatically from your current stamp configuration."}),c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"drive-desired-lifetime",className:"fm-input-label",children:["Desired lifetime: ",c.jsx(la,{label:oa.DRIVE_DESIRED_LIFETIME})]}),c.jsx(vc,{id:"drive-desired-lifetime",options:as,value:m,onChange:p,placeholder:"Select a value"})]}),c.jsxs("div",{className:"fm-modal-window-input-container",children:[c.jsxs("label",{htmlFor:"drive-security-level",className:"fm-input-label",children:["Security Level ",c.jsx(la,{label:oa.DRIVE_SECURITY_LEVEL})]}),c.jsx(N3,{id:"drive-security-level",defaultValue:0,marks:Xn,onChange:ve=>W(ve),minValue:Fw,maxValue:Bw,step:1})]}),c.jsxs("div",{children:[c.jsxs("div",{className:"fm-modal-estimated-cost-container",children:[c.jsx("div",{className:"fm-emphasized-text",children:"Estimated Cost:"}),c.jsxs("div",{children:[J," BZZ ",d?"":"(Insufficient balance)",l?"":" (Insufficient xDAI balance)"]}),c.jsx(la,{label:oa.DRIVE_ESTIMATED_COST,bottomTooltip:!0})]}),c.jsx("div",{children:"(Based on current network conditions)"}),ce&&c.jsxs("div",{children:["Creating a drive requires running a light node. Please"," ",c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/configuration/#upgrading-from-an-ultra-light-to-a-light-node",target:"_blank",rel:"noreferrer",children:"upgrade"})," ","to continue."]})]})]})}),c.jsxs("div",{className:"fm-modal-window-footer",children:[c.jsx(Je,{label:"Create drive",variant:"primary",disabled:he,onClick:async()=>{if(!X||ie){Y(!0);return}s&&F&&U&&(t(E),e(),await o3({beeApi:T,fm:v,size:Ut.fromBytes(u),duration:Pt.fromEndDate(S),label:X,encryption:O,redundancyLevel:$,adminRedundancy:U?.redundancyLevel,isAdmin:!1,resetState:!1,existingBatch:null,onSuccess:()=>a(),onError:()=>n(X)}))}}),c.jsx(Je,{label:"Cancel",variant:"secondary",onClick:e})]})]})})}function $w(e,a,t,n,s){x.useEffect(()=>{const i=l=>{const{driveId:b}=l.detail||{};a(b,e)},d=l=>{const{driveId:b,success:u,error:g,updatedStamp:m}=l.detail||{};t(b,e,u,g,m)},f=l=>{const{driveId:b}=l.detail||{};n(b,e)};return window.addEventListener(fa.DRIVE_UPGRADE_START,i),window.addEventListener(fa.DRIVE_UPGRADE_END,d),window.addEventListener(fa.DRIVE_UPGRADE_TIMEOUT,f),window.addEventListener(fa.FILE_UPLOADED,s),()=>{window.removeEventListener(fa.DRIVE_UPGRADE_START,i),window.removeEventListener(fa.DRIVE_UPGRADE_END,d),window.removeEventListener(fa.DRIVE_UPGRADE_TIMEOUT,f),window.removeEventListener(fa.FILE_UPLOADED,s)}},[e,a,t,n,s])}function zw({isUpgradeDriveModalOpen:e,setIsUpgradeDriveModalOpen:a,isUpgradeTimeoutModalOpen:t,actualStamp:n,drive:s,setErrorMessage:i,isUpgrading:d,isCapacityUpdating:f,isDestroying:l,setIsProgressModalOpen:b,isProgressModalOpen:u,isDestroyDriveModalOpen:g,setIsDestroyDriveModalOpen:m,doDestroy:p,onCancelTimeout:S}){return c.jsxs(c.Fragment,{children:[e&&c.jsx(Kr,{stamp:n,drive:s,onCancelClick:()=>a(!1),setErrorMessage:i}),t&&c.jsx(b3,{driveName:s.name,onOk:S}),d&&c.jsxs("div",{className:"fm-drive-item-creating-overlay","aria-live":"polite",children:[c.jsx("div",{className:"fm-mini-spinner"}),c.jsx("span",{children:"Upgrading drive…"})]}),f&&!d&&c.jsxs("div",{className:"fm-drive-item-creating-overlay","aria-live":"polite",children:[c.jsx("div",{className:"fm-mini-spinner"}),c.jsx("span",{children:"Updating capacity…"})]}),l&&c.jsxs("div",{className:"fm-drive-item-creating-overlay","aria-live":"polite",onClick:()=>b(!0),style:{cursor:"pointer"},title:"Click to show progress modal",children:[c.jsx("div",{className:"fm-mini-spinner"}),c.jsx("span",{children:"Destroying drive…"})]}),u&&l&&c.jsx(_3,{drive:s,onMinimize:()=>b(!1)}),g&&c.jsx(Qr,{drive:s,onCancelClick:()=>m(!1),doDestroy:p})]})}function Gw({drive:e,stamp:a,isSelected:t,setErrorMessage:n}){const{fm:s,adminDrive:i,files:d,setShowError:f,refreshStamp:l}=x.useContext(Ta),{beeApi:b}=x.useContext(Le),u=e.id.toString(),[g,m]=x.useState(!1),[p,S]=x.useState(!1),[w,E]=x.useState(!1),[C,_]=x.useState(!1),[D,O]=x.useState(!1),[$,W]=x.useState(!1),[J,k]=x.useState(!1),[P,R]=x.useState(!1),[F,A]=x.useState(a),T=x.useRef(a.batchID),v=x.useRef(!1),L=x.useRef(F),B=x.useRef(null),U=x.useRef(null);x.useEffect(()=>{L.current=F},[F]);const H=x.useCallback(_e=>{A(_e),T.current=_e.batchID},[]),Z=x.useCallback(_e=>{k(_e)},[]),{startPolling:ee,stopPolling:Y}=Vr({onStampUpdated:H,onPollingStateChange:Z,refreshStamp:l,timeout:Ky});x.useEffect(()=>{B.current=ee},[ee]),x.useEffect(()=>{U.current=Y},[Y]);const{showContext:X,pos:pe,contextRef:ie,setPos:te,setShowContext:ge}=F1(),{setView:ce,setActualItemView:he}=O1();x.useEffect(()=>{if(v.current)return;if(F.batchID.toString()!==a.batchID.toString()){A(a),T.current=a.batchID;return}const _e=a.size.toBytes(),Te=F.size.toBytes(),Re=a.duration.toEndDate().getTime(),Ze=F.duration.toEndDate().getTime();(_e>Te||Re>Ze)&&(A(a),T.current=a.batchID)},[a]),x.useEffect(()=>()=>{U.current&&U.current()},[]);function ve(_e){ge(!0),te({x:_e.clientX,y:_e.clientY})}const xe=x.useCallback((_e,Te)=>{_e===Te&&(v.current=!0,W(!0))},[]),ue=x.useCallback((_e,Te,Re,Ze,z)=>{if(_e!==Te)return;const j=()=>{W(!1),v.current=!1};if(!Re&&Ze){j(),n?.(Ze),f(!0);return}z?(A(z),T.current=z.batchID,setTimeout(j,300)):j()},[n,f]),Ee=x.useCallback(async()=>{const _e=()=>{S(!1),R(!1),E(!1)};S(!1),E(!0),R(!0),await js({beeApi:b,fm:s,drive:e,isDestroy:!0,adminDrive:i,onSuccess:_e,onError:Te=>{_e(),n?.(`Error destroying drive: ${e.name}: ${Te}`),f(!0)}})},[b,s,e,i,n,f]),Ne=x.useCallback((_e,Te)=>{_e===Te&&O(!0)},[O]),N=x.useCallback(()=>{W(!1),v.current=!1,O(!1),B.current&&L.current&&B.current(L.current)},[]),se=x.useCallback(_e=>{const{fileInfo:Te}=_e.detail||{};!Te||Te.driveId!==u||!B.current||B.current(L.current)},[u]);$w(u,xe,ue,Ne,se);const{capacityPct:Q,usedSize:q,stampSize:K}=x.useMemo(()=>{const _e=d.filter(Te=>Te.driveId===e.id.toString());return Hn(F,_e,e.redundancyLevel,J)},[F,e,d,J]),ne=x.useCallback(()=>{ce(wa.File),he?.(e.name)},[ce,he,e.name]),me=x.useCallback(()=>{ge(!1),S(!0)},[ge,S]),fe=`fm-drive-item-container${t?" fm-drive-item-container-selected":""}`,Ie=`fm-drive-item-capacity${$||J?" fm-drive-item-capacity-updating":""}`,le=g?c.jsx(Bf,{size:"16px"}):c.jsx(C1,{size:"16px"});return c.jsxs("div",{className:fe,onClick:ne,children:[c.jsxs("div",{className:"fm-drive-item-info",onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),children:[c.jsxs("div",{className:"fm-drive-item-header",children:[c.jsx("div",{className:"fm-drive-item-icon",children:le}),c.jsx("div",{children:Ea(e.name,35,8,8)})]}),c.jsxs("div",{className:"fm-drive-item-content",children:[c.jsxs("div",{className:Ie,children:[c.jsxs("span",{children:["Capacity (Used / Total) ",c.jsx(As,{value:Q,width:"64px"})," ",q," / ",K]}),c.jsx(la,{label:$||J?oa.DRIVE_CAPACITY_UPDATING:oa.DRIVE_CAPACITY_INFO,iconSize:"12px",disableMargin:!0})]}),c.jsx("div",{className:Ie,children:c.jsxs("span",{children:["Expiry date: ",F.duration.toEndDate().toLocaleDateString()]})})]})]}),c.jsxs("div",{className:"fm-drive-item-actions",children:[c.jsx(Ff,{size:"13",className:`fm-pointer${$||P?" fm-disabled":""}`,onClick:!$&&!P?ve:void 0,"aria-disabled":$||P?"true":"false"}),X&&ot.createPortal(c.jsx("div",{ref:ie,className:"fm-drive-item-context-menu",style:{top:pe.y,left:pe.x},children:c.jsx(Ln,{children:c.jsx("div",{className:"fm-context-item red",onClick:me,children:"Destroy entire drive"})})}),document.body),c.jsx(Je,{label:"Upgrade",variant:"primary",size:"small",disabled:$||P,onClick:()=>_(!0)})]}),c.jsx(zw,{isUpgradeDriveModalOpen:C,setIsUpgradeDriveModalOpen:_,isUpgradeTimeoutModalOpen:D,actualStamp:F,drive:e,setErrorMessage:n,isUpgrading:$,isCapacityUpdating:J,isDestroying:P,setIsProgressModalOpen:E,isProgressModalOpen:w,isDestroyDriveModalOpen:p,setIsDestroyDriveModalOpen:S,doDestroy:Ee,onCancelTimeout:N})]})}function Ww(e,a){const t=e.drive.id.toString()===a.drive.id.toString(),n=e.stamp.batchID.toString()===a.stamp.batchID.toString(),s=e.isSelected===a.isSelected;return t&&n&&s}const qw=x.memo(Gw,Ww),Hw=qw;function Vw({drive:e,onForgot:a,setErrorMessage:t}){const{beeApi:n}=x.useContext(Le),{fm:s,adminDrive:i,setShowError:d}=x.useContext(Ta),[f,l]=x.useState(!1),[b,u]=x.useState(!1),{showContext:g,pos:m,contextRef:p,setPos:S,setShowContext:w}=F1();function E(C){w(!0),S({x:C.clientX,y:C.clientY})}return c.jsxs("div",{className:"fm-drive-item-container fm-expired",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[c.jsxs("div",{className:"fm-drive-item-info",children:[c.jsxs("div",{className:"fm-drive-item-header",children:[c.jsx("div",{className:"fm-drive-item-icon",children:f?c.jsx(Bf,{size:"16px"}):c.jsx(C1,{size:"16px"})}),c.jsx("div",{children:Ea(e.name,35,8,8)})]}),c.jsx("div",{className:"fm-drive-item-content",children:c.jsx("div",{className:"fm-drive-item-capacity",children:"Stamp expired — files unavailable"})})]}),c.jsxs("div",{className:"fm-drive-item-actions",children:[c.jsx(Ff,{size:"13",className:"fm-pointer",onClick:E,"aria-label":`More actions for ${e.name}`}),g&&ot.createPortal(c.jsx("div",{ref:p,className:"fm-drive-item-context-menu",style:{top:m.y,left:m.x},onClick:C=>C.stopPropagation(),children:c.jsx(Ln,{children:c.jsx("div",{className:"fm-context-item red",onClick:()=>{w(!1),u(!0)},children:"Forget drive"})})}),document.body)]}),b&&c.jsx(kt,{title:"Forget drive?",message:c.jsxs(c.Fragment,{children:["This will remove metadata for the drive with expired stamp ",c.jsxs("b",{children:["Drive Name: ",e.name]})," ",c.jsxs("b",{children:["Batch Id: ",`${e.batchId.toString().slice(0,4)}...${e.batchId.toString().slice(-4)}`]})]}),confirmLabel:"Forget drive",cancelLabel:"Keep",onCancel:()=>u(!1),onConfirm:async()=>{await js({beeApi:n,fm:s,drive:e,isDestroy:!1,adminDrive:i,onSuccess:async()=>{u(!1),await a?.()},onError:C=>{u(!1),t?.(`Failed to forget drive ${e.name}: ${C}`),d(!0)}})}})]})}function Kw({setErrorMessage:e,loading:a}){const[t,n]=x.useState(null),[s,i]=x.useState(!0),[d,f]=x.useState(!1),[l,b]=x.useState(!1),[u,g]=x.useState([]),[m,p]=x.useState(!1),[S,w]=x.useState(null),[E,C]=x.useState(!1),{beeApi:_}=x.useContext(Le),{setView:D,view:O}=O1(),{fm:$,currentDrive:W,currentStamp:J,drives:k,expiredDrives:P,setCurrentDrive:R,setCurrentStamp:F,setShowError:A,syncDrives:T}=x.useContext(Ta);x.useEffect(()=>{let B=!0;const U=async()=>{if(!_)return;const Z=await tn(_);B&&g([...Z])};_&&U();const H=async()=>{B&&_&&await U()};return window.addEventListener(fa.DRIVE_UPGRADE_END,H),()=>{B=!1,window.removeEventListener(fa.DRIVE_UPGRADE_END,H)}},[_,k]),x.useEffect(()=>{if(!(!$||k.length===0)){if(!W){const B=k[0];R(B),D(wa.File)}if(W&&u.length>0){const B=u.find(U=>U.batchID.toString()===W.batchId.toString());B&&F(B)}}},[$,k,W,u,R,F,D,_]);const v=()=>{m||b(!0)},L=B=>W?.id.toString()===B.id.toString();return c.jsxs("div",{className:"fm-sidebar",children:[c.jsxs("div",{className:"fm-sidebar-content",children:[!a&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`fm-sidebar-item ${m?"disabled":""}`,onClick:()=>v(),children:[c.jsx("div",{className:"fm-sidebar-item-icon",children:c.jsx(Ub,{size:"16px"})}),c.jsx("div",{children:"Create new drive"})]}),m&&c.jsxs("div",{className:"fm-sidebar-item-description",children:[Ea(S||"Your Drive",35,8,8)," is currently being created."]})]}),l&&c.jsx(Uw,{onCancelClick:()=>b(!1),onDriveCreated:()=>{b(!1),p(!1),w(null)},onCreationStarted:B=>{p(!0),w(B)},onCreationError:B=>{p(!1),e?.(`Error creating drive ${B}. Please try again. Possible causes include insufficient xDAI balance or a lost connection to the RPC.`),A(!0),w(null)}}),c.jsxs("div",{className:"fm-sidebar-item",onMouseEnter:()=>n("my-drives"),onMouseLeave:()=>n(null),onClick:()=>i(!s),children:[c.jsx("div",{className:"fm-sidebar-item-icon",children:s?c.jsx(hc,{size:"16px"}):c.jsx(i4,{size:"16px"})}),c.jsx("div",{className:"fm-sidebar-item-icon",style:{opacity:1},children:t==="my-drives"?c.jsx($b,{size:"16px"}):c.jsx(Nd,{size:"16px"})}),c.jsx("div",{children:"My Drives"})]}),s&&m&&c.jsxs("div",{className:"fm-drive-item-container fm-drive-item-creating","aria-live":"polite",children:[c.jsxs("div",{className:"fm-drive-item-info",children:[c.jsx("div",{className:"fm-drive-item-header",children:c.jsx("div",{className:"fm-drive-item-icon",children:c.jsx(Nd,{size:"16px"})})}),c.jsx("div",{className:"fm-drive-item-content",children:c.jsx("div",{className:"fm-drive-item-capacity",children:"Initializing drive metadata"})})]}),c.jsx("div",{className:"fm-drive-item-actions"}),c.jsxs("div",{className:"fm-drive-item-creating-overlay",children:[c.jsx("div",{className:"fm-mini-spinner"}),c.jsx("span",{children:"Please wait…"})]})]}),s&&k.map(B=>{const U=L(B)&&O===wa.File,H=u.find(ee=>ee.batchID.toString()===B.batchId.toString()&&!B.isAdmin),Z=U&&J?J:H;return Z&&c.jsx("div",{onClick:()=>{R(B),F(Z),D(wa.File)},children:c.jsx(Hw,{drive:B,stamp:Z,isSelected:U,setErrorMessage:e})},B.id.toString())}),P.length>0&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"fm-sidebar-item",onMouseEnter:()=>n("expired"),onMouseLeave:()=>n(null),onClick:()=>C(B=>!B),children:[c.jsx("div",{className:"fm-sidebar-item-icon",children:E?c.jsx(hc,{size:"16px"}):c.jsx(i4,{size:"16px"})}),c.jsx("div",{className:"fm-sidebar-item-icon",children:t==="expired"?c.jsx(zb,{size:"16px"}):c.jsx(Rf,{size:"16px"})}),c.jsx("div",{children:"Expired drives"})]}),E&&c.jsx("div",{className:"fm-drive-items-container fm-drive-items-container-open",children:P.map(B=>c.jsx("div",{onClick:()=>{R(B),D(wa.Expired)},children:c.jsx(Vw,{drive:B,onForgot:async()=>{await T(),R(k.length>0?k[0]:void 0),D(wa.File)},setErrorMessage:e})},`${B.id.toString()}-expired`))})]}),c.jsxs("div",{className:"fm-sidebar-item",onMouseEnter:()=>n(wa.Trash),onMouseLeave:()=>n(null),onClick:()=>f(!d),children:[c.jsx("div",{className:"fm-sidebar-item-icon",children:d?c.jsx(hc,{size:"16px"}):c.jsx(i4,{size:"16px"})}),c.jsx("div",{className:"fm-sidebar-item-icon",children:t===wa.Trash?c.jsx(Gb,{size:"16px"}):c.jsx(Tf,{size:"16px"})}),c.jsx("div",{children:"Trash"})]}),d&&c.jsx("div",{className:"fm-drive-items-container fm-drive-items-container-open",children:k.map(B=>{const U=L(B)&&O===wa.Trash,H=u.find(Z=>Z.batchID.toString()===B.batchId.toString()&&!B.isAdmin);return c.jsxs("div",{className:`fm-sidebar-item fm-trash-item${U?" is-selected":""}`,onClick:()=>{R(B),F(H),D(wa.Trash)},title:`${B.name} Trash`,children:[Ea(B.name,35,8,8)," Trash"]},`${B.id.toString()}-trash`)})})]}),m&&c.jsxs("div",{className:"fm-sidebar-drive-creation",children:["Creating drive — please do not reload the page.",c.jsx("br",{}),"This may take a few minutes."]})]})}var P3=(e=>(e[e.macOS=0]="macOS",e[e.Linux=1]="Linux",e))(P3||{});const Zw={platform:0,setPlatform:()=>{}},ei=x.createContext(Zw);ei.Consumer;function Yw(e){return Object.keys(P3).includes(e)}function Jw(){const e=window.navigator.userAgent;return/Macintosh|MacIntel|MacPPC|Mac68K/.test(e)?0:/iPhone|iPad|iPod/.test(e)?3:/Win32|Win64|Windows|WinCE/.test(e)?2:/Android/.test(e)?4:/Linux/.test(e)?1:null}var T3=(e=>(e.Chrome="chrome",e.Firefox="firefox",e.Safari="safari",e.Brave="brave",e.Edge="edge",e))(T3||{});async function Xw(){return(window.navigator.brave&&await window.navigator.brave.isBrave())===!0}async function Qw(){const e=window.navigator.userAgent.toLowerCase();return e.includes("edge")||e.includes("edg/")?"edge":e.includes("chrome")&&await Xw()?"brave":e.includes("firefox")?"firefox":e.includes("safari")&&!e.includes("chrome")?"safari":"chrome"}const N2={chrome:"https://support.google.com/accounts/answer/32050?hl=en&co=GENIE.Platform%3DDesktop",brave:"https://support.brave.app/hc/en-us/articles/360048833872-How-Do-I-Clear-Cookies-And-Site-Data-In-Brave",firefox:"https://support.mozilla.org/en-US/kb/how-clear-firefox-cache",safari:"https://support.apple.com/en-il/guide/safari/sfri47acf5d6/mac",edge:"https://support.microsoft.com/en-us/microsoft-edge/view-and-delete-browser-history-in-microsoft-edge-00cf7943-a9e1-975a-a33d-ac10ce454ca4"};function ev({children:e}){const[a,t]=x.useState(()=>{const n=Jw();return Yw(n)?n:1});return c.jsx(ei.Provider,{value:{platform:a,setPlatform:t},children:e})}function av({onSaved:e}){return c.jsx("div",{className:"fm-main",children:c.jsx(Ow,{onSaved:e})})}function tv({onOk:e}){return c.jsx("div",{className:"fm-main",children:c.jsxs("div",{className:"fm-loading",children:[c.jsx("div",{className:"fm-loading-title",children:"Failed to initialize File Manager, reload and try again "}),c.jsx("div",{style:{display:"flex",justifyContent:"center",marginTop:"16px"},children:c.jsx("div",{style:{minWidth:"120px"},children:c.jsx(Je,{label:"OK",variant:"primary",disabled:!1,onClick:e})})})]})})}function nv(){return c.jsx("div",{className:"fm-main",children:c.jsx("div",{className:"fm-loading",children:c.jsx("div",{className:"fm-loading-title",children:"File Manager is not available with an Ultra-light node. Please upgrade to a Light node to continue."})})})}function cv({cacheHelpUrl:e,onConfirm:a}){return c.jsx("div",{className:"fm-main",children:c.jsx(kt,{title:"Reset File Manager State",message:c.jsxs("span",{children:["Your File Manager state appears invalid. Please"," ",c.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",style:{display:"inline",textDecoration:"underline"},children:"clear the browser cache"})," ","and reload the page. Then you can reset the File Manager to continue."]}),confirmLabel:"Continue",onConfirm:a,background:!1})})}function sv(e){return c.jsx("div",{className:"fm-main",children:c.jsx(Rw,{...e})})}function rv(){return c.jsx("div",{className:"fm-main",children:c.jsxs("div",{className:"fm-loading","aria-live":"polite",children:[c.jsx("div",{className:"fm-spinner","aria-hidden":"true"}),c.jsx("div",{className:"fm-loading-title",children:"File manager loading…"}),c.jsx("div",{className:"fm-loading-subtitle",children:"Please wait a few seconds"})]})})}function iv(){return c.jsx("div",{className:"fm-main",children:c.jsxs("div",{className:"fm-loading","aria-live":"polite",children:[c.jsx("div",{className:"fm-spinner","aria-hidden":"true"}),c.jsx("div",{className:"fm-loading-title",children:"Bee node is syncing…"}),c.jsxs("div",{className:"fm-loading-subtitle",children:["Your Bee node is still syncing the postage batch state from the chain.",c.jsx("br",{}),"File Manager will be available once the sync is complete."]})]})})}function dv({onClick:e,label:a}){return c.jsx(Zr,{label:a,onClick:e})}function fv(e){const{fm:a,showConnectionError:t,setShowConnectionError:n,isFormbricksActive:s,errorMessage:i,setErrorMessage:d,loading:f,adminDrive:l,isCreationInProgress:b}=e;return c.jsx(tx,{children:c.jsx(nx,{children:c.jsxs("div",{className:"fm-main",children:[t&&a&&c.jsx(Zr,{label:"Bee node connection error. Please check your node status. File Manager will continue when connection is restored.",onClick:()=>n(!1)}),c.jsx(Mw,{isActive:s}),c.jsx(Nw,{}),c.jsxs("div",{className:"fm-main-content",children:[c.jsx(Kw,{errorMessage:i,setErrorMessage:d,loading:f}),c.jsx(Sw,{errorMessage:i,setErrorMessage:d})]}),c.jsx(ax,{adminStamp:a?.adminStamp||null,adminDrive:l,loading:f,isCreationInProgress:b,setErrorMessage:d})]})})})}function ov(){const e=x.useRef(!0),[a,t]=x.useState(ir()!==void 0),[n,s]=x.useState(!1),[i,d]=x.useState(""),[f,l]=x.useState(!1),[b,u]=x.useState(!1),[g,m]=x.useState(!1),[p,S]=x.useState(N2[T3.Chrome]),{status:w,chainState:E,nodeInfo:C}=x.useContext(We),{fm:_,initDone:D,shallReset:O,adminDrive:$,initializationError:W,notifyPkSaved:J}=x.useContext(Ta);x.useEffect(()=>(e.current=!0,(async()=>{const L=await Qw();S(N2[L])})(),()=>{e.current=!1}),[]);const{isBeeReady:k,isConnectionError:P}=x.useMemo(()=>{const v=w.all===Ge.CONNECTING,L=w.apiConnection.isEnabled&&w.apiConnection.checkState===Ge.OK;return{isBeeReady:!v&&L,isConnectionError:!v&&!L&&!!_}},[w,_]);x.useEffect(()=>{P||m(!1)},[P]);const R=x.useMemo(()=>{const v=E===null;if(!k&&!D)return"connecting";if(C?.beeMode===Sa.ULTRA_LIGHT)return"ultra-light-node";if(!a)return"no-pk";if(!D)return"loading";if(O&&!f)return"reset";if(W&&!O)return"init-error";const U=!!!_?.adminStamp&&!!!$;return U&&v?"chain-syncing":n?"admin-error":U&&!b?"initial":"ready"},[k,a,D,O,f,W,n,_,$,b,E,C?.beeMode]),F=x.useCallback(()=>{e.current&&(t(!0),!_&&J())},[_,J]),A=!_?.adminStamp||!$,T=!!(_&&_.adminStamp&&$&&!A);if(R==="ultra-light-node")return c.jsx(nv,{});if(R==="connecting"||R==="loading")return c.jsx(rv,{});if(R==="chain-syncing")return c.jsx(iv,{});if(R==="no-pk")return c.jsx(av,{onSaved:F});if(R==="init-error")return c.jsx(tv,{onOk:()=>{Hy(),t(!1)}});if(R==="reset")return c.jsx(cv,{cacheHelpUrl:p,onConfirm:()=>l(!0)});if(R==="initial")return c.jsx(sv,{resetState:O,handleShowError:(v,L)=>{s(v),L&&d(L)},setIsCreationInProgress:v=>u(v)});if(R==="admin-error"){const v=E===null?"Your Bee node is still syncing the postage batch state from the chain. Please wait for the sync to complete and try again.":i||"Error creating Admin Drive. Please try again. Possible causes include insufficient xDAI balance or a lost connection to the RPC.";return c.jsx(dv,{label:v,onClick:()=>{s(!1),d("")}})}return c.jsx(fv,{fm:_,showConnectionError:P&&!g,setShowConnectionError:v=>m(!v),isFormbricksActive:T,errorMessage:i,setErrorMessage:d,loading:A,adminDrive:$,isCreationInProgress:b})}const lv=Ke()(e=>({header:{backgroundColor:"#F7F7F7",marginBottom:e.spacing(.25)},typography:{color:"#242424"}}));function B1({children:e}){const{classes:a}=lv();return c.jsx(cn,{className:a.header,children:c.jsx(Me,{variant:"body1",component:"div",className:a.typography,children:e})})}const bv=Ke()(e=>({header:{backgroundColor:e.palette.background.paper,marginBottom:e.spacing(.25),borderLeft:`${e.spacing(.25)} solid rgba(0,0,0,0)`,wordBreak:"break-word","&:hover":{backgroundColor:e.palette.background.paper},"&:focus-within":{backgroundColor:e.palette.background.paper}},headerOpen:{borderLeft:`${e.spacing(.25)} solid ${e.palette.primary.main}`},copyValue:{cursor:"pointer",padding:e.spacing(1),borderRadius:0,"&:hover":{backgroundColor:"#fcf2e8",color:e.palette.primary.main}},content:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},keyMargin:{marginRight:e.spacing(1)},unselectableLabel:{cursor:"default",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none"}}));function un({label:e,value:a="",placeholder:t,helperText:n,expandedOnly:s,confirmLabel:i,confirmLabelDisabled:d,confirmIcon:f,loading:l,onChange:b,onConfirm:u,mapperFn:g,locked:m}){const{classes:p}=bv(),[S,w]=x.useState(!!s),[E,C]=x.useState(a||""),_=()=>w(!S),D=O=>{let $=O.target.value;g&&($=g($)),C($),b&&b($)};return c.jsxs(c.Fragment,{children:[c.jsx(cn,{className:`${p.header} ${S?p.headerOpen:""}`,children:c.jsxs(oe,{display:"flex",flexDirection:"column",width:"100%",children:[c.jsxs(oe,{display:"flex",flexDirection:"row",alignItems:"center",width:"100%",children:[e&&c.jsx(oe,{flex:1,minWidth:0,children:c.jsx(Me,{variant:"body1",className:p.unselectableLabel,component:"span",children:e})}),c.jsxs(oe,{flex:3,display:"flex",alignItems:"center",justifyContent:"flex-end",minWidth:0,gap:1,children:[!S&&a&&c.jsx(Me,{variant:"body2",component:"span",sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),!s&&!m&&c.jsx(Sn,{size:"small",className:p.copyValue,onClick:_,children:S?c.jsx(xf,{strokeWidth:1}):c.jsx(Wb,{strokeWidth:1})})]})]}),c.jsxs(b1,{in:S,timeout:"auto",unmountOnExit:!0,children:[c.jsx(oe,{display:"flex",alignItems:"center",width:"100%",minWidth:0,children:c.jsx(qb,{value:E,placeholder:t,onChange:D,fullWidth:!0,className:p.content,autoFocus:!0,hidden:m,inputProps:{style:{width:"100%",minWidth:220,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},maxLength:512}})}),n&&c.jsx(B1,{children:n})]})]})}),c.jsx(b1,{in:S,timeout:"auto",unmountOnExit:!0,children:c.jsx(oe,{mt:2,children:c.jsxs(ba,{children:[c.jsx(Be,{disabled:l||E===a||!!d||E===""&&a===void 0,loading:l,iconType:f??ft,onClick:()=>{u?.(E.trim())},children:i||"Save"}),c.jsx(Be,{disabled:l||E===a||E==="",iconType:jt,onClick:()=>C(a||""),cancel:!0,children:"Cancel"})]})})})]})}function uv(e){return e.toString().split("GMT")[0].trim()}const hv=Ke()(e=>({header:{backgroundColor:e.palette.background.paper,marginBottom:e.spacing(.25),borderLeft:`${e.spacing(.25)} solid rgba(0,0,0,0)`,wordBreak:"break-word","&:hover":{backgroundColor:e.palette.background.paper},"&:focus-within":{backgroundColor:e.palette.background.paper}},headerOpen:{borderLeft:`${e.spacing(.25)} solid ${e.palette.primary.main}`},openLinkIcon:{cursor:"pointer",padding:e.spacing(1),borderRadius:0,"&:hover":{backgroundColor:"#fcf2e8",color:e.palette.primary.main}},content:{marginTop:e.spacing(2),marginBottom:e.spacing(2)},keyMargin:{marginRight:e.spacing(1)},copyValue:{cursor:"pointer",padding:e.spacing(1),borderRadius:0,"&:hover":{backgroundColor:"#fcf2e8",color:e.palette.primary.main}}}));var D3=(e=>(e.NEW_WINDOW="NEW_WINDOW",e.HISTORY_PUSH="HISTORY_PUSH",e))(D3||{});function R3({label:e,value:a,link:t,navigationType:n="NEW_WINDOW",allowClipboard:s=!0}){const{classes:i}=hv(),d=da(),{copied:f,handleCopy:l,tooltipCloseHandler:b}=To(a),u=a.length>22?a.slice(0,19)+"...":a;function g(){n==="NEW_WINDOW"?window.open(t||a):d(t||a)}return c.jsx(cn,{className:i.header,sx:{width:"100%"},children:c.jsxs(oe,{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%",children:[e&&c.jsx(Me,{variant:"body1",children:e}),c.jsxs(oe,{display:"flex",alignItems:"center",children:[c.jsxs(Me,{variant:"body2",children:[s&&c.jsx("span",{className:i.copyValue,children:c.jsx(Wt,{title:f?"Copied":"Copy",placement:"top",arrow:!0,onClose:b,children:c.jsx("span",{onClick:l,children:u})})}),!s&&c.jsx("span",{onClick:g,children:u})]}),c.jsxs(Sn,{size:"small",className:i.openLinkIcon,onClick:g,children:[n==="NEW_WINDOW"&&c.jsx(Hb,{strokeWidth:1}),n==="HISTORY_PUSH"&&c.jsx(Vb,{strokeWidth:1})]})]})]})})}function O3({title:e,localStorageKey:a}){const[t,n]=x.useState([]);return x.useEffect(()=>{n(_o(a))},[a]),t.length?c.jsx(Wa,{label:e,defaultOpen:!0,children:t.map((s,i)=>c.jsx(R3,{label:uv(new Date(s.createdAt)),value:s.name,link:"/files/hash/"+s.hash,navigationType:D3.HISTORY_PUSH,allowClipboard:!1},i))}):null}async function r1(e){try{return[await e(),null]}catch(a){return[null,a]}}async function F3(e,a,t,n){let s;if(zr.test(a)){const d=(await e.downloadData(a,t,n)).toUint8Array();s=v7.unmarshalFromData(d,H4)}else s=await v7.unmarshal(e,a,t,n);return await s.loadRecursively(e,t,n),await(await s.resolveFeed(e,n)).ifPresentAsync(async d=>{s=v7.unmarshalFromData(d.payload.toUint8Array(),H4),await s.loadRecursively(e,t,n)}),s}function gv(){const[e,a]=x.useState(!1),{beeApi:t}=x.useContext(Le),[n,s]=x.useState(void 0),{nodeInfo:i}=x.useContext(We),{setUploadOrigin:d}=x.useContext(D1),{enqueueSnackbar:f}=xa(),l=da(),b=g=>{za.isValid(g)||zr.test(g)?s(void 0):s("Incorrect format of swarm hash. Expected 64 or 128 hexstring characters or ENS domain.")};async function u(g){if(!t){a(!1);return}a(!0);try{const[m]=await r1(()=>F3(t,g));if(m){const S=m.getDocsMetadata();Y7(Qe.downloadHistory,g,Eo(g,S.indexDocument)),d(Q7),l(Fe.HASH.replace(":hash",g));return}const[,p]=await r1(()=>t.downloadData(g));if(!p)Y7(Qe.downloadHistory,g,g),d(Q7),l(Fe.HASH.replace(":hash",g));else{const S=typeof p=="object"&&p!==null&&Reflect.get(p,"message");let w=typeof S=="string"?S:void 0;w?.includes("path address not found")&&(w="The specified hash does not have an index document set."),w?.includes("Not Found: Not Found")&&(w="The specified hash was not found."),console.error(p),f(c.jsxs("span",{children:["Error: ",w||"Unknown"]}),{variant:"error"})}}finally{a(!1)}}return c.jsxs(c.Fragment,{children:[i?.beeMode!==Sa.ULTRA_LIGHT&&c.jsx(Vo,{active:Wn.Download}),c.jsx(un,{label:"Swarm Hash or ENS",onConfirm:g=>u(g),onChange:b,helperText:n,confirmLabel:"Find",confirmLabelDisabled:!!n||e,confirmIcon:jr,placeholder:"e.g. 31fb0362b1a42536134c86bc58b97ac0244e5c6630beec3e27c2d1cecb38c605",expandedOnly:!0,mapperFn:g=>Pm(g),loading:e}),c.jsx(O3,{title:"Download History",localStorageKey:Qe.downloadHistory})]})}function g7(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var A4={exports:{}},k2;function mv(){return k2||(k2=1,(function(e,a){(function(t){e.exports=t()})(function(){return(function t(n,s,i){function d(b,u){if(!s[b]){if(!n[b]){var g=typeof g7=="function"&&g7;if(!u&&g)return g(b,!0);if(f)return f(b,!0);var m=new Error("Cannot find module '"+b+"'");throw m.code="MODULE_NOT_FOUND",m}var p=s[b]={exports:{}};n[b][0].call(p.exports,function(S){var w=n[b][1][S];return d(w||S)},p,p.exports,t,n,s,i)}return s[b].exports}for(var f=typeof g7=="function"&&g7,l=0;l<i.length;l++)d(i[l]);return d})({1:[function(t,n,s){var i=t("./utils"),d=t("./support"),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";s.encode=function(l){for(var b,u,g,m,p,S,w,E=[],C=0,_=l.length,D=_,O=i.getTypeOf(l)!=="string";C<l.length;)D=_-C,g=O?(b=l[C++],u=C<_?l[C++]:0,C<_?l[C++]:0):(b=l.charCodeAt(C++),u=C<_?l.charCodeAt(C++):0,C<_?l.charCodeAt(C++):0),m=b>>2,p=(3&b)<<4|u>>4,S=1<D?(15&u)<<2|g>>6:64,w=2<D?63&g:64,E.push(f.charAt(m)+f.charAt(p)+f.charAt(S)+f.charAt(w));return E.join("")},s.decode=function(l){var b,u,g,m,p,S,w=0,E=0,C="data:";if(l.substr(0,C.length)===C)throw new Error("Invalid base64 input, it looks like a data url.");var _,D=3*(l=l.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(l.charAt(l.length-1)===f.charAt(64)&&D--,l.charAt(l.length-2)===f.charAt(64)&&D--,D%1!=0)throw new Error("Invalid base64 input, bad content length.");for(_=d.uint8array?new Uint8Array(0|D):new Array(0|D);w<l.length;)b=f.indexOf(l.charAt(w++))<<2|(m=f.indexOf(l.charAt(w++)))>>4,u=(15&m)<<4|(p=f.indexOf(l.charAt(w++)))>>2,g=(3&p)<<6|(S=f.indexOf(l.charAt(w++))),_[E++]=b,p!==64&&(_[E++]=u),S!==64&&(_[E++]=g);return _}},{"./support":30,"./utils":32}],2:[function(t,n,s){var i=t("./external"),d=t("./stream/DataWorker"),f=t("./stream/Crc32Probe"),l=t("./stream/DataLengthProbe");function b(u,g,m,p,S){this.compressedSize=u,this.uncompressedSize=g,this.crc32=m,this.compression=p,this.compressedContent=S}b.prototype={getContentWorker:function(){var u=new d(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new l("data_length")),g=this;return u.on("end",function(){if(this.streamInfo.data_length!==g.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new d(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},b.createWorkerFrom=function(u,g,m){return u.pipe(new f).pipe(new l("uncompressedSize")).pipe(g.compressWorker(m)).pipe(new l("compressedSize")).withStreamInfo("compression",g)},n.exports=b},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,s){var i=t("./stream/GenericWorker");s.STORE={magic:"\0\0",compressWorker:function(){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},s.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,s){var i=t("./utils"),d=(function(){for(var f,l=[],b=0;b<256;b++){f=b;for(var u=0;u<8;u++)f=1&f?3988292384^f>>>1:f>>>1;l[b]=f}return l})();n.exports=function(f,l){return f!==void 0&&f.length?i.getTypeOf(f)!=="string"?(function(b,u,g,m){var p=d,S=m+g;b^=-1;for(var w=m;w<S;w++)b=b>>>8^p[255&(b^u[w])];return-1^b})(0|l,f,f.length,0):(function(b,u,g,m){var p=d,S=m+g;b^=-1;for(var w=m;w<S;w++)b=b>>>8^p[255&(b^u.charCodeAt(w))];return-1^b})(0|l,f,f.length,0):0}},{"./utils":32}],5:[function(t,n,s){s.base64=!1,s.binary=!1,s.dir=!1,s.createFolders=!0,s.date=null,s.compression=null,s.compressionOptions=null,s.comment=null,s.unixPermissions=null,s.dosPermissions=null},{}],6:[function(t,n,s){var i=null;i=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:i}},{lie:37}],7:[function(t,n,s){var i=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",d=t("pako"),f=t("./utils"),l=t("./stream/GenericWorker"),b=i?"uint8array":"array";function u(g,m){l.call(this,"FlateWorker/"+g),this._pako=null,this._pakoAction=g,this._pakoOptions=m,this.meta={}}s.magic="\b\0",f.inherits(u,l),u.prototype.processChunk=function(g){this.meta=g.meta,this._pako===null&&this._createPako(),this._pako.push(f.transformTo(b,g.data),!1)},u.prototype.flush=function(){l.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){l.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new d[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var g=this;this._pako.onData=function(m){g.push({data:m,meta:g.meta})}},s.compressWorker=function(g){return new u("Deflate",g)},s.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,s){function i(p,S){var w,E="";for(w=0;w<S;w++)E+=String.fromCharCode(255&p),p>>>=8;return E}function d(p,S,w,E,C,_){var D,O,$=p.file,W=p.compression,J=_!==b.utf8encode,k=f.transformTo("string",_($.name)),P=f.transformTo("string",b.utf8encode($.name)),R=$.comment,F=f.transformTo("string",_(R)),A=f.transformTo("string",b.utf8encode(R)),T=P.length!==$.name.length,v=A.length!==R.length,L="",B="",U="",H=$.dir,Z=$.date,ee={crc32:0,compressedSize:0,uncompressedSize:0};S&&!w||(ee.crc32=p.crc32,ee.compressedSize=p.compressedSize,ee.uncompressedSize=p.uncompressedSize);var Y=0;S&&(Y|=8),J||!T&&!v||(Y|=2048);var X=0,pe=0;H&&(X|=16),C==="UNIX"?(pe=798,X|=(function(te,ge){var ce=te;return te||(ce=ge?16893:33204),(65535&ce)<<16})($.unixPermissions,H)):(pe=20,X|=(function(te){return 63&(te||0)})($.dosPermissions)),D=Z.getUTCHours(),D<<=6,D|=Z.getUTCMinutes(),D<<=5,D|=Z.getUTCSeconds()/2,O=Z.getUTCFullYear()-1980,O<<=4,O|=Z.getUTCMonth()+1,O<<=5,O|=Z.getUTCDate(),T&&(B=i(1,1)+i(u(k),4)+P,L+="up"+i(B.length,2)+B),v&&(U=i(1,1)+i(u(F),4)+A,L+="uc"+i(U.length,2)+U);var ie="";return ie+=`
119
- \0`,ie+=i(Y,2),ie+=W.magic,ie+=i(D,2),ie+=i(O,2),ie+=i(ee.crc32,4),ie+=i(ee.compressedSize,4),ie+=i(ee.uncompressedSize,4),ie+=i(k.length,2),ie+=i(L.length,2),{fileRecord:g.LOCAL_FILE_HEADER+ie+k+L,dirRecord:g.CENTRAL_FILE_HEADER+i(pe,2)+ie+i(F.length,2)+"\0\0\0\0"+i(X,4)+i(E,4)+k+L+F}}var f=t("../utils"),l=t("../stream/GenericWorker"),b=t("../utf8"),u=t("../crc32"),g=t("../signature");function m(p,S,w,E){l.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=S,this.zipPlatform=w,this.encodeFileName=E,this.streamFiles=p,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}f.inherits(m,l),m.prototype.push=function(p){var S=p.meta.percent||0,w=this.entriesCount,E=this._sources.length;this.accumulate?this.contentBuffer.push(p):(this.bytesWritten+=p.data.length,l.prototype.push.call(this,{data:p.data,meta:{currentFile:this.currentFile,percent:w?(S+100*(w-E-1))/w:100}}))},m.prototype.openedSource=function(p){this.currentSourceOffset=this.bytesWritten,this.currentFile=p.file.name;var S=this.streamFiles&&!p.file.dir;if(S){var w=d(p,S,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:w.fileRecord,meta:{percent:0}})}else this.accumulate=!0},m.prototype.closedSource=function(p){this.accumulate=!1;var S=this.streamFiles&&!p.file.dir,w=d(p,S,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(w.dirRecord),S)this.push({data:(function(E){return g.DATA_DESCRIPTOR+i(E.crc32,4)+i(E.compressedSize,4)+i(E.uncompressedSize,4)})(p),meta:{percent:100}});else for(this.push({data:w.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},m.prototype.flush=function(){for(var p=this.bytesWritten,S=0;S<this.dirRecords.length;S++)this.push({data:this.dirRecords[S],meta:{percent:100}});var w=this.bytesWritten-p,E=(function(C,_,D,O,$){var W=f.transformTo("string",$(O));return g.CENTRAL_DIRECTORY_END+"\0\0\0\0"+i(C,2)+i(C,2)+i(_,4)+i(D,4)+i(W.length,2)+W})(this.dirRecords.length,w,p,this.zipComment,this.encodeFileName);this.push({data:E,meta:{percent:100}})},m.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},m.prototype.registerPrevious=function(p){this._sources.push(p);var S=this;return p.on("data",function(w){S.processChunk(w)}),p.on("end",function(){S.closedSource(S.previous.streamInfo),S._sources.length?S.prepareNextSource():S.end()}),p.on("error",function(w){S.error(w)}),this},m.prototype.resume=function(){return!!l.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},m.prototype.error=function(p){var S=this._sources;if(!l.prototype.error.call(this,p))return!1;for(var w=0;w<S.length;w++)try{S[w].error(p)}catch{}return!0},m.prototype.lock=function(){l.prototype.lock.call(this);for(var p=this._sources,S=0;S<p.length;S++)p[S].lock()},n.exports=m},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,n,s){var i=t("../compressions"),d=t("./ZipFileWorker");s.generateWorker=function(f,l,b){var u=new d(l.streamFiles,b,l.platform,l.encodeFileName),g=0;try{f.forEach(function(m,p){g++;var S=(function(_,D){var O=_||D,$=i[O];if(!$)throw new Error(O+" is not a valid compression method !");return $})(p.options.compression,l.compression),w=p.options.compressionOptions||l.compressionOptions||{},E=p.dir,C=p.date;p._compressWorker(S,w).withStreamInfo("file",{name:m,dir:E,date:C,comment:p.comment||"",unixPermissions:p.unixPermissions,dosPermissions:p.dosPermissions}).pipe(u)}),u.entriesCount=g}catch(m){u.error(m)}return u}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,n,s){function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var d=new i;for(var f in this)typeof this[f]!="function"&&(d[f]=this[f]);return d}}(i.prototype=t("./object")).loadAsync=t("./load"),i.support=t("./support"),i.defaults=t("./defaults"),i.version="3.10.1",i.loadAsync=function(d,f){return new i().loadAsync(d,f)},i.external=t("./external"),n.exports=i},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,n,s){var i=t("./utils"),d=t("./external"),f=t("./utf8"),l=t("./zipEntries"),b=t("./stream/Crc32Probe"),u=t("./nodejsUtils");function g(m){return new d.Promise(function(p,S){var w=m.decompressed.getContentWorker().pipe(new b);w.on("error",function(E){S(E)}).on("end",function(){w.streamInfo.crc32!==m.decompressed.crc32?S(new Error("Corrupted zip : CRC32 mismatch")):p()}).resume()})}n.exports=function(m,p){var S=this;return p=i.extend(p||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:f.utf8decode}),u.isNode&&u.isStream(m)?d.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",m,!0,p.optimizedBinaryString,p.base64).then(function(w){var E=new l(p);return E.load(w),E}).then(function(w){var E=[d.Promise.resolve(w)],C=w.files;if(p.checkCRC32)for(var _=0;_<C.length;_++)E.push(g(C[_]));return d.Promise.all(E)}).then(function(w){for(var E=w.shift(),C=E.files,_=0;_<C.length;_++){var D=C[_],O=D.fileNameStr,$=i.resolve(D.fileNameStr);S.file($,D.decompressed,{binary:!0,optimizedBinaryString:!0,date:D.date,dir:D.dir,comment:D.fileCommentStr.length?D.fileCommentStr:null,unixPermissions:D.unixPermissions,dosPermissions:D.dosPermissions,createFolders:p.createFolders}),D.dir||(S.file($).unsafeOriginalName=O)}return E.zipComment.length&&(S.comment=E.zipComment),S})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,n,s){var i=t("../utils"),d=t("../stream/GenericWorker");function f(l,b){d.call(this,"Nodejs stream input adapter for "+l),this._upstreamEnded=!1,this._bindStream(b)}i.inherits(f,d),f.prototype._bindStream=function(l){var b=this;(this._stream=l).pause(),l.on("data",function(u){b.push({data:u,meta:{percent:0}})}).on("error",function(u){b.isPaused?this.generatedError=u:b.error(u)}).on("end",function(){b.isPaused?b._upstreamEnded=!0:b.end()})},f.prototype.pause=function(){return!!d.prototype.pause.call(this)&&(this._stream.pause(),!0)},f.prototype.resume=function(){return!!d.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},n.exports=f},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,n,s){var i=t("readable-stream").Readable;function d(f,l,b){i.call(this,l),this._helper=f;var u=this;f.on("data",function(g,m){u.push(g)||u._helper.pause(),b&&b(m)}).on("error",function(g){u.emit("error",g)}).on("end",function(){u.push(null)})}t("../utils").inherits(d,i),d.prototype._read=function(){this._helper.resume()},n.exports=d},{"../utils":32,"readable-stream":16}],14:[function(t,n,s){n.exports={isNode:typeof ht<"u",newBufferFrom:function(i,d){if(ht.from&&ht.from!==Uint8Array.from)return ht.from(i,d);if(typeof i=="number")throw new Error('The "data" argument must not be a number');return new ht(i,d)},allocBuffer:function(i){if(ht.alloc)return ht.alloc(i);var d=new ht(i);return d.fill(0),d},isBuffer:function(i){return ht.isBuffer(i)},isStream:function(i){return i&&typeof i.on=="function"&&typeof i.pause=="function"&&typeof i.resume=="function"}}},{}],15:[function(t,n,s){function i($,W,J){var k,P=f.getTypeOf(W),R=f.extend(J||{},u);R.date=R.date||new Date,R.compression!==null&&(R.compression=R.compression.toUpperCase()),typeof R.unixPermissions=="string"&&(R.unixPermissions=parseInt(R.unixPermissions,8)),R.unixPermissions&&16384&R.unixPermissions&&(R.dir=!0),R.dosPermissions&&16&R.dosPermissions&&(R.dir=!0),R.dir&&($=C($)),R.createFolders&&(k=E($))&&_.call(this,k,!0);var F=P==="string"&&R.binary===!1&&R.base64===!1;J&&J.binary!==void 0||(R.binary=!F),(W instanceof g&&W.uncompressedSize===0||R.dir||!W||W.length===0)&&(R.base64=!1,R.binary=!0,W="",R.compression="STORE",P="string");var A=null;A=W instanceof g||W instanceof l?W:S.isNode&&S.isStream(W)?new w($,W):f.prepareContent($,W,R.binary,R.optimizedBinaryString,R.base64);var T=new m($,A,R);this.files[$]=T}var d=t("./utf8"),f=t("./utils"),l=t("./stream/GenericWorker"),b=t("./stream/StreamHelper"),u=t("./defaults"),g=t("./compressedObject"),m=t("./zipObject"),p=t("./generate"),S=t("./nodejsUtils"),w=t("./nodejs/NodejsStreamInputAdapter"),E=function($){$.slice(-1)==="/"&&($=$.substring(0,$.length-1));var W=$.lastIndexOf("/");return 0<W?$.substring(0,W):""},C=function($){return $.slice(-1)!=="/"&&($+="/"),$},_=function($,W){return W=W!==void 0?W:u.createFolders,$=C($),this.files[$]||i.call(this,$,null,{dir:!0,createFolders:W}),this.files[$]};function D($){return Object.prototype.toString.call($)==="[object RegExp]"}var O={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function($){var W,J,k;for(W in this.files)k=this.files[W],(J=W.slice(this.root.length,W.length))&&W.slice(0,this.root.length)===this.root&&$(J,k)},filter:function($){var W=[];return this.forEach(function(J,k){$(J,k)&&W.push(k)}),W},file:function($,W,J){if(arguments.length!==1)return $=this.root+$,i.call(this,$,W,J),this;if(D($)){var k=$;return this.filter(function(R,F){return!F.dir&&k.test(R)})}var P=this.files[this.root+$];return P&&!P.dir?P:null},folder:function($){if(!$)return this;if(D($))return this.filter(function(P,R){return R.dir&&$.test(P)});var W=this.root+$,J=_.call(this,W),k=this.clone();return k.root=J.name,k},remove:function($){$=this.root+$;var W=this.files[$];if(W||($.slice(-1)!=="/"&&($+="/"),W=this.files[$]),W&&!W.dir)delete this.files[$];else for(var J=this.filter(function(P,R){return R.name.slice(0,$.length)===$}),k=0;k<J.length;k++)delete this.files[J[k].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function($){var W,J={};try{if((J=f.extend($||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:d.utf8encode})).type=J.type.toLowerCase(),J.compression=J.compression.toUpperCase(),J.type==="binarystring"&&(J.type="string"),!J.type)throw new Error("No output type specified.");f.checkSupport(J.type),J.platform!=="darwin"&&J.platform!=="freebsd"&&J.platform!=="linux"&&J.platform!=="sunos"||(J.platform="UNIX"),J.platform==="win32"&&(J.platform="DOS");var k=J.comment||this.comment||"";W=p.generateWorker(this,J,k)}catch(P){(W=new l("error")).error(P)}return new b(W,J.type||"string",J.mimeType)},generateAsync:function($,W){return this.generateInternalStream($).accumulate(W)},generateNodeStream:function($,W){return($=$||{}).type||($.type="nodebuffer"),this.generateInternalStream($).toNodejsStream(W)}};n.exports=O},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,n,s){n.exports=t("stream")},{stream:void 0}],17:[function(t,n,s){var i=t("./DataReader");function d(f){i.call(this,f);for(var l=0;l<this.data.length;l++)f[l]=255&f[l]}t("../utils").inherits(d,i),d.prototype.byteAt=function(f){return this.data[this.zero+f]},d.prototype.lastIndexOfSignature=function(f){for(var l=f.charCodeAt(0),b=f.charCodeAt(1),u=f.charCodeAt(2),g=f.charCodeAt(3),m=this.length-4;0<=m;--m)if(this.data[m]===l&&this.data[m+1]===b&&this.data[m+2]===u&&this.data[m+3]===g)return m-this.zero;return-1},d.prototype.readAndCheckSignature=function(f){var l=f.charCodeAt(0),b=f.charCodeAt(1),u=f.charCodeAt(2),g=f.charCodeAt(3),m=this.readData(4);return l===m[0]&&b===m[1]&&u===m[2]&&g===m[3]},d.prototype.readData=function(f){if(this.checkOffset(f),f===0)return[];var l=this.data.slice(this.zero+this.index,this.zero+this.index+f);return this.index+=f,l},n.exports=d},{"../utils":32,"./DataReader":18}],18:[function(t,n,s){var i=t("../utils");function d(f){this.data=f,this.length=f.length,this.index=0,this.zero=0}d.prototype={checkOffset:function(f){this.checkIndex(this.index+f)},checkIndex:function(f){if(this.length<this.zero+f||f<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+f+"). Corrupted zip ?")},setIndex:function(f){this.checkIndex(f),this.index=f},skip:function(f){this.setIndex(this.index+f)},byteAt:function(){},readInt:function(f){var l,b=0;for(this.checkOffset(f),l=this.index+f-1;l>=this.index;l--)b=(b<<8)+this.byteAt(l);return this.index+=f,b},readString:function(f){return i.transformTo("string",this.readData(f))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var f=this.readInt(4);return new Date(Date.UTC(1980+(f>>25&127),(f>>21&15)-1,f>>16&31,f>>11&31,f>>5&63,(31&f)<<1))}},n.exports=d},{"../utils":32}],19:[function(t,n,s){var i=t("./Uint8ArrayReader");function d(f){i.call(this,f)}t("../utils").inherits(d,i),d.prototype.readData=function(f){this.checkOffset(f);var l=this.data.slice(this.zero+this.index,this.zero+this.index+f);return this.index+=f,l},n.exports=d},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,s){var i=t("./DataReader");function d(f){i.call(this,f)}t("../utils").inherits(d,i),d.prototype.byteAt=function(f){return this.data.charCodeAt(this.zero+f)},d.prototype.lastIndexOfSignature=function(f){return this.data.lastIndexOf(f)-this.zero},d.prototype.readAndCheckSignature=function(f){return f===this.readData(4)},d.prototype.readData=function(f){this.checkOffset(f);var l=this.data.slice(this.zero+this.index,this.zero+this.index+f);return this.index+=f,l},n.exports=d},{"../utils":32,"./DataReader":18}],21:[function(t,n,s){var i=t("./ArrayReader");function d(f){i.call(this,f)}t("../utils").inherits(d,i),d.prototype.readData=function(f){if(this.checkOffset(f),f===0)return new Uint8Array(0);var l=this.data.subarray(this.zero+this.index,this.zero+this.index+f);return this.index+=f,l},n.exports=d},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,s){var i=t("../utils"),d=t("../support"),f=t("./ArrayReader"),l=t("./StringReader"),b=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(g){var m=i.getTypeOf(g);return i.checkSupport(m),m!=="string"||d.uint8array?m==="nodebuffer"?new b(g):d.uint8array?new u(i.transformTo("uint8array",g)):new f(i.transformTo("array",g)):new l(g)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,s){s.LOCAL_FILE_HEADER="PK",s.CENTRAL_FILE_HEADER="PK",s.CENTRAL_DIRECTORY_END="PK",s.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",s.ZIP64_CENTRAL_DIRECTORY_END="PK",s.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,s){var i=t("./GenericWorker"),d=t("../utils");function f(l){i.call(this,"ConvertWorker to "+l),this.destType=l}d.inherits(f,i),f.prototype.processChunk=function(l){this.push({data:d.transformTo(this.destType,l.data),meta:l.meta})},n.exports=f},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,s){var i=t("./GenericWorker"),d=t("../crc32");function f(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(f,i),f.prototype.processChunk=function(l){this.streamInfo.crc32=d(l.data,this.streamInfo.crc32||0),this.push(l)},n.exports=f},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,s){var i=t("../utils"),d=t("./GenericWorker");function f(l){d.call(this,"DataLengthProbe for "+l),this.propName=l,this.withStreamInfo(l,0)}i.inherits(f,d),f.prototype.processChunk=function(l){if(l){var b=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=b+l.data.length}d.prototype.processChunk.call(this,l)},n.exports=f},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,s){var i=t("../utils"),d=t("./GenericWorker");function f(l){d.call(this,"DataWorker");var b=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,l.then(function(u){b.dataIsReady=!0,b.data=u,b.max=u&&u.length||0,b.type=i.getTypeOf(u),b.isPaused||b._tickAndRepeat()},function(u){b.error(u)})}i.inherits(f,d),f.prototype.cleanUp=function(){d.prototype.cleanUp.call(this),this.data=null},f.prototype.resume=function(){return!!d.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},f.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},f.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var l=null,b=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":l=this.data.substring(this.index,b);break;case"uint8array":l=this.data.subarray(this.index,b);break;case"array":case"nodebuffer":l=this.data.slice(this.index,b)}return this.index=b,this.push({data:l,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=f},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,s){function i(d){this.name=d||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(d){this.emit("data",d)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(d){this.emit("error",d)}return!0},error:function(d){return!this.isFinished&&(this.isPaused?this.generatedError=d:(this.isFinished=!0,this.emit("error",d),this.previous&&this.previous.error(d),this.cleanUp()),!0)},on:function(d,f){return this._listeners[d].push(f),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(d,f){if(this._listeners[d])for(var l=0;l<this._listeners[d].length;l++)this._listeners[d][l].call(this,f)},pipe:function(d){return d.registerPrevious(this)},registerPrevious:function(d){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=d.streamInfo,this.mergeStreamInfo(),this.previous=d;var f=this;return d.on("data",function(l){f.processChunk(l)}),d.on("end",function(){f.end()}),d.on("error",function(l){f.error(l)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var d=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),d=!0),this.previous&&this.previous.resume(),!d},flush:function(){},processChunk:function(d){this.push(d)},withStreamInfo:function(d,f){return this.extraStreamInfo[d]=f,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var d in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,d)&&(this.streamInfo[d]=this.extraStreamInfo[d])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var d="Worker "+this.name;return this.previous?this.previous+" -> "+d:d}},n.exports=i},{}],29:[function(t,n,s){var i=t("../utils"),d=t("./ConvertWorker"),f=t("./GenericWorker"),l=t("../base64"),b=t("../support"),u=t("../external"),g=null;if(b.nodestream)try{g=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function m(S,w){return new u.Promise(function(E,C){var _=[],D=S._internalType,O=S._outputType,$=S._mimeType;S.on("data",function(W,J){_.push(W),w&&w(J)}).on("error",function(W){_=[],C(W)}).on("end",function(){try{var W=(function(J,k,P){switch(J){case"blob":return i.newBlob(i.transformTo("arraybuffer",k),P);case"base64":return l.encode(k);default:return i.transformTo(J,k)}})(O,(function(J,k){var P,R=0,F=null,A=0;for(P=0;P<k.length;P++)A+=k[P].length;switch(J){case"string":return k.join("");case"array":return Array.prototype.concat.apply([],k);case"uint8array":for(F=new Uint8Array(A),P=0;P<k.length;P++)F.set(k[P],R),R+=k[P].length;return F;case"nodebuffer":return ht.concat(k);default:throw new Error("concat : unsupported type '"+J+"'")}})(D,_),$);E(W)}catch(J){C(J)}_=[]}).resume()})}function p(S,w,E){var C=w;switch(w){case"blob":case"arraybuffer":C="uint8array";break;case"base64":C="string"}try{this._internalType=C,this._outputType=w,this._mimeType=E,i.checkSupport(C),this._worker=S.pipe(new d(C)),S.lock()}catch(_){this._worker=new f("error"),this._worker.error(_)}}p.prototype={accumulate:function(S){return m(this,S)},on:function(S,w){var E=this;return S==="data"?this._worker.on(S,function(C){w.call(E,C.data,C.meta)}):this._worker.on(S,function(){i.delay(w,arguments,E)}),this},resume:function(){return i.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(S){if(i.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new g(this,{objectMode:this._outputType!=="nodebuffer"},S)}},n.exports=p},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,n,s){if(s.base64=!0,s.array=!0,s.string=!0,s.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",s.nodebuffer=typeof ht<"u",s.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")s.blob=!1;else{var i=new ArrayBuffer(0);try{s.blob=new Blob([i],{type:"application/zip"}).size===0}catch{try{var d=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);d.append(i),s.blob=d.getBlob("application/zip").size===0}catch{s.blob=!1}}}try{s.nodestream=!!t("readable-stream").Readable}catch{s.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,s){for(var i=t("./utils"),d=t("./support"),f=t("./nodejsUtils"),l=t("./stream/GenericWorker"),b=new Array(256),u=0;u<256;u++)b[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;b[254]=b[254]=1;function g(){l.call(this,"utf-8 decode"),this.leftOver=null}function m(){l.call(this,"utf-8 encode")}s.utf8encode=function(p){return d.nodebuffer?f.newBufferFrom(p,"utf-8"):(function(S){var w,E,C,_,D,O=S.length,$=0;for(_=0;_<O;_++)(64512&(E=S.charCodeAt(_)))==55296&&_+1<O&&(64512&(C=S.charCodeAt(_+1)))==56320&&(E=65536+(E-55296<<10)+(C-56320),_++),$+=E<128?1:E<2048?2:E<65536?3:4;for(w=d.uint8array?new Uint8Array($):new Array($),_=D=0;D<$;_++)(64512&(E=S.charCodeAt(_)))==55296&&_+1<O&&(64512&(C=S.charCodeAt(_+1)))==56320&&(E=65536+(E-55296<<10)+(C-56320),_++),E<128?w[D++]=E:(E<2048?w[D++]=192|E>>>6:(E<65536?w[D++]=224|E>>>12:(w[D++]=240|E>>>18,w[D++]=128|E>>>12&63),w[D++]=128|E>>>6&63),w[D++]=128|63&E);return w})(p)},s.utf8decode=function(p){return d.nodebuffer?i.transformTo("nodebuffer",p).toString("utf-8"):(function(S){var w,E,C,_,D=S.length,O=new Array(2*D);for(w=E=0;w<D;)if((C=S[w++])<128)O[E++]=C;else if(4<(_=b[C]))O[E++]=65533,w+=_-1;else{for(C&=_===2?31:_===3?15:7;1<_&&w<D;)C=C<<6|63&S[w++],_--;1<_?O[E++]=65533:C<65536?O[E++]=C:(C-=65536,O[E++]=55296|C>>10&1023,O[E++]=56320|1023&C)}return O.length!==E&&(O.subarray?O=O.subarray(0,E):O.length=E),i.applyFromCharCode(O)})(p=i.transformTo(d.uint8array?"uint8array":"array",p))},i.inherits(g,l),g.prototype.processChunk=function(p){var S=i.transformTo(d.uint8array?"uint8array":"array",p.data);if(this.leftOver&&this.leftOver.length){if(d.uint8array){var w=S;(S=new Uint8Array(w.length+this.leftOver.length)).set(this.leftOver,0),S.set(w,this.leftOver.length)}else S=this.leftOver.concat(S);this.leftOver=null}var E=(function(_,D){var O;for((D=D||_.length)>_.length&&(D=_.length),O=D-1;0<=O&&(192&_[O])==128;)O--;return O<0||O===0?D:O+b[_[O]]>D?O:D})(S),C=S;E!==S.length&&(d.uint8array?(C=S.subarray(0,E),this.leftOver=S.subarray(E,S.length)):(C=S.slice(0,E),this.leftOver=S.slice(E,S.length))),this.push({data:s.utf8decode(C),meta:p.meta})},g.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=g,i.inherits(m,l),m.prototype.processChunk=function(p){this.push({data:s.utf8encode(p.data),meta:p.meta})},s.Utf8EncodeWorker=m},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,s){var i=t("./support"),d=t("./base64"),f=t("./nodejsUtils"),l=t("./external");function b(w){return w}function u(w,E){for(var C=0;C<w.length;++C)E[C]=255&w.charCodeAt(C);return E}t("setimmediate"),s.newBlob=function(w,E){s.checkSupport("blob");try{return new Blob([w],{type:E})}catch{try{var C=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return C.append(w),C.getBlob(E)}catch{throw new Error("Bug : can't construct the Blob.")}}};var g={stringifyByChunk:function(w,E,C){var _=[],D=0,O=w.length;if(O<=C)return String.fromCharCode.apply(null,w);for(;D<O;)E==="array"||E==="nodebuffer"?_.push(String.fromCharCode.apply(null,w.slice(D,Math.min(D+C,O)))):_.push(String.fromCharCode.apply(null,w.subarray(D,Math.min(D+C,O)))),D+=C;return _.join("")},stringifyByChar:function(w){for(var E="",C=0;C<w.length;C++)E+=String.fromCharCode(w[C]);return E},applyCanBeUsed:{uint8array:(function(){try{return i.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return i.nodebuffer&&String.fromCharCode.apply(null,f.allocBuffer(1)).length===1}catch{return!1}})()}};function m(w){var E=65536,C=s.getTypeOf(w),_=!0;if(C==="uint8array"?_=g.applyCanBeUsed.uint8array:C==="nodebuffer"&&(_=g.applyCanBeUsed.nodebuffer),_)for(;1<E;)try{return g.stringifyByChunk(w,C,E)}catch{E=Math.floor(E/2)}return g.stringifyByChar(w)}function p(w,E){for(var C=0;C<w.length;C++)E[C]=w[C];return E}s.applyFromCharCode=m;var S={};S.string={string:b,array:function(w){return u(w,new Array(w.length))},arraybuffer:function(w){return S.string.uint8array(w).buffer},uint8array:function(w){return u(w,new Uint8Array(w.length))},nodebuffer:function(w){return u(w,f.allocBuffer(w.length))}},S.array={string:m,array:b,arraybuffer:function(w){return new Uint8Array(w).buffer},uint8array:function(w){return new Uint8Array(w)},nodebuffer:function(w){return f.newBufferFrom(w)}},S.arraybuffer={string:function(w){return m(new Uint8Array(w))},array:function(w){return p(new Uint8Array(w),new Array(w.byteLength))},arraybuffer:b,uint8array:function(w){return new Uint8Array(w)},nodebuffer:function(w){return f.newBufferFrom(new Uint8Array(w))}},S.uint8array={string:m,array:function(w){return p(w,new Array(w.length))},arraybuffer:function(w){return w.buffer},uint8array:b,nodebuffer:function(w){return f.newBufferFrom(w)}},S.nodebuffer={string:m,array:function(w){return p(w,new Array(w.length))},arraybuffer:function(w){return S.nodebuffer.uint8array(w).buffer},uint8array:function(w){return p(w,new Uint8Array(w.length))},nodebuffer:b},s.transformTo=function(w,E){if(E=E||"",!w)return E;s.checkSupport(w);var C=s.getTypeOf(E);return S[C][w](E)},s.resolve=function(w){for(var E=w.split("/"),C=[],_=0;_<E.length;_++){var D=E[_];D==="."||D===""&&_!==0&&_!==E.length-1||(D===".."?C.pop():C.push(D))}return C.join("/")},s.getTypeOf=function(w){return typeof w=="string"?"string":Object.prototype.toString.call(w)==="[object Array]"?"array":i.nodebuffer&&f.isBuffer(w)?"nodebuffer":i.uint8array&&w instanceof Uint8Array?"uint8array":i.arraybuffer&&w instanceof ArrayBuffer?"arraybuffer":void 0},s.checkSupport=function(w){if(!i[w.toLowerCase()])throw new Error(w+" is not supported by this platform")},s.MAX_VALUE_16BITS=65535,s.MAX_VALUE_32BITS=-1,s.pretty=function(w){var E,C,_="";for(C=0;C<(w||"").length;C++)_+="\\x"+((E=w.charCodeAt(C))<16?"0":"")+E.toString(16).toUpperCase();return _},s.delay=function(w,E,C){setImmediate(function(){w.apply(C||null,E||[])})},s.inherits=function(w,E){function C(){}C.prototype=E.prototype,w.prototype=new C},s.extend=function(){var w,E,C={};for(w=0;w<arguments.length;w++)for(E in arguments[w])Object.prototype.hasOwnProperty.call(arguments[w],E)&&C[E]===void 0&&(C[E]=arguments[w][E]);return C},s.prepareContent=function(w,E,C,_,D){return l.Promise.resolve(E).then(function(O){return i.blob&&(O instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(O))!==-1)&&typeof FileReader<"u"?new l.Promise(function($,W){var J=new FileReader;J.onload=function(k){$(k.target.result)},J.onerror=function(k){W(k.target.error)},J.readAsArrayBuffer(O)}):O}).then(function(O){var $=s.getTypeOf(O);return $?($==="arraybuffer"?O=s.transformTo("uint8array",O):$==="string"&&(D?O=d.decode(O):C&&_!==!0&&(O=(function(W){return u(W,i.uint8array?new Uint8Array(W.length):new Array(W.length))})(O))),O):l.Promise.reject(new Error("Can't read the data of '"+w+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,n,s){var i=t("./reader/readerFor"),d=t("./utils"),f=t("./signature"),l=t("./zipEntry"),b=t("./support");function u(g){this.files=[],this.loadOptions=g}u.prototype={checkSignature:function(g){if(!this.reader.readAndCheckSignature(g)){this.reader.index-=4;var m=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+d.pretty(m)+", expected "+d.pretty(g)+")")}},isSignature:function(g,m){var p=this.reader.index;this.reader.setIndex(g);var S=this.reader.readString(4)===m;return this.reader.setIndex(p),S},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var g=this.reader.readData(this.zipCommentLength),m=b.uint8array?"uint8array":"array",p=d.transformTo(m,g);this.zipComment=this.loadOptions.decodeFileName(p)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var g,m,p,S=this.zip64EndOfCentralSize-44;0<S;)g=this.reader.readInt(2),m=this.reader.readInt(4),p=this.reader.readData(m),this.zip64ExtensibleData[g]={id:g,length:m,value:p}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var g,m;for(g=0;g<this.files.length;g++)m=this.files[g],this.reader.setIndex(m.localHeaderOffset),this.checkSignature(f.LOCAL_FILE_HEADER),m.readLocalPart(this.reader),m.handleUTF8(),m.processAttributes()},readCentralDir:function(){var g;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(f.CENTRAL_FILE_HEADER);)(g=new l({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(g);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var g=this.reader.lastIndexOfSignature(f.CENTRAL_DIRECTORY_END);if(g<0)throw this.isSignature(0,f.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(g);var m=g;if(this.checkSignature(f.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===d.MAX_VALUE_16BITS||this.diskWithCentralDirStart===d.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===d.MAX_VALUE_16BITS||this.centralDirRecords===d.MAX_VALUE_16BITS||this.centralDirSize===d.MAX_VALUE_32BITS||this.centralDirOffset===d.MAX_VALUE_32BITS){if(this.zip64=!0,(g=this.reader.lastIndexOfSignature(f.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(g),this.checkSignature(f.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,f.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(f.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(f.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var p=this.centralDirOffset+this.centralDirSize;this.zip64&&(p+=20,p+=12+this.zip64EndOfCentralSize);var S=m-p;if(0<S)this.isSignature(m,f.CENTRAL_FILE_HEADER)||(this.reader.zero=S);else if(S<0)throw new Error("Corrupted zip: missing "+Math.abs(S)+" bytes.")},prepareReader:function(g){this.reader=i(g)},load:function(g){this.prepareReader(g),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},n.exports=u},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,n,s){var i=t("./reader/readerFor"),d=t("./utils"),f=t("./compressedObject"),l=t("./crc32"),b=t("./utf8"),u=t("./compressions"),g=t("./support");function m(p,S){this.options=p,this.loadOptions=S}m.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(p){var S,w;if(p.skip(22),this.fileNameLength=p.readInt(2),w=p.readInt(2),this.fileName=p.readData(this.fileNameLength),p.skip(w),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((S=(function(E){for(var C in u)if(Object.prototype.hasOwnProperty.call(u,C)&&u[C].magic===E)return u[C];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+d.pretty(this.compressionMethod)+" unknown (inner file : "+d.transformTo("string",this.fileName)+")");this.decompressed=new f(this.compressedSize,this.uncompressedSize,this.crc32,S,p.readData(this.compressedSize))},readCentralPart:function(p){this.versionMadeBy=p.readInt(2),p.skip(2),this.bitFlag=p.readInt(2),this.compressionMethod=p.readString(2),this.date=p.readDate(),this.crc32=p.readInt(4),this.compressedSize=p.readInt(4),this.uncompressedSize=p.readInt(4);var S=p.readInt(2);if(this.extraFieldsLength=p.readInt(2),this.fileCommentLength=p.readInt(2),this.diskNumberStart=p.readInt(2),this.internalFileAttributes=p.readInt(2),this.externalFileAttributes=p.readInt(4),this.localHeaderOffset=p.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");p.skip(S),this.readExtraFields(p),this.parseZIP64ExtraField(p),this.fileComment=p.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var p=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),p==0&&(this.dosPermissions=63&this.externalFileAttributes),p==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var p=i(this.extraFields[1].value);this.uncompressedSize===d.MAX_VALUE_32BITS&&(this.uncompressedSize=p.readInt(8)),this.compressedSize===d.MAX_VALUE_32BITS&&(this.compressedSize=p.readInt(8)),this.localHeaderOffset===d.MAX_VALUE_32BITS&&(this.localHeaderOffset=p.readInt(8)),this.diskNumberStart===d.MAX_VALUE_32BITS&&(this.diskNumberStart=p.readInt(4))}},readExtraFields:function(p){var S,w,E,C=p.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});p.index+4<C;)S=p.readInt(2),w=p.readInt(2),E=p.readData(w),this.extraFields[S]={id:S,length:w,value:E};p.setIndex(C)},handleUTF8:function(){var p=g.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=b.utf8decode(this.fileName),this.fileCommentStr=b.utf8decode(this.fileComment);else{var S=this.findExtraFieldUnicodePath();if(S!==null)this.fileNameStr=S;else{var w=d.transformTo(p,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(w)}var E=this.findExtraFieldUnicodeComment();if(E!==null)this.fileCommentStr=E;else{var C=d.transformTo(p,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(C)}}},findExtraFieldUnicodePath:function(){var p=this.extraFields[28789];if(p){var S=i(p.value);return S.readInt(1)!==1||l(this.fileName)!==S.readInt(4)?null:b.utf8decode(S.readData(p.length-5))}return null},findExtraFieldUnicodeComment:function(){var p=this.extraFields[25461];if(p){var S=i(p.value);return S.readInt(1)!==1||l(this.fileComment)!==S.readInt(4)?null:b.utf8decode(S.readData(p.length-5))}return null}},n.exports=m},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,n,s){function i(S,w,E){this.name=S,this.dir=E.dir,this.date=E.date,this.comment=E.comment,this.unixPermissions=E.unixPermissions,this.dosPermissions=E.dosPermissions,this._data=w,this._dataBinary=E.binary,this.options={compression:E.compression,compressionOptions:E.compressionOptions}}var d=t("./stream/StreamHelper"),f=t("./stream/DataWorker"),l=t("./utf8"),b=t("./compressedObject"),u=t("./stream/GenericWorker");i.prototype={internalStream:function(S){var w=null,E="string";try{if(!S)throw new Error("No output type specified.");var C=(E=S.toLowerCase())==="string"||E==="text";E!=="binarystring"&&E!=="text"||(E="string"),w=this._decompressWorker();var _=!this._dataBinary;_&&!C&&(w=w.pipe(new l.Utf8EncodeWorker)),!_&&C&&(w=w.pipe(new l.Utf8DecodeWorker))}catch(D){(w=new u("error")).error(D)}return new d(w,E,"")},async:function(S,w){return this.internalStream(S).accumulate(w)},nodeStream:function(S,w){return this.internalStream(S||"nodebuffer").toNodejsStream(w)},_compressWorker:function(S,w){if(this._data instanceof b&&this._data.compression.magic===S.magic)return this._data.getCompressedWorker();var E=this._decompressWorker();return this._dataBinary||(E=E.pipe(new l.Utf8EncodeWorker)),b.createWorkerFrom(E,S,w)},_decompressWorker:function(){return this._data instanceof b?this._data.getContentWorker():this._data instanceof u?this._data:new f(this._data)}};for(var g=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],m=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},p=0;p<g.length;p++)i.prototype[g[p]]=m;n.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,n,s){(function(i){var d,f,l=i.MutationObserver||i.WebKitMutationObserver;if(l){var b=0,u=new l(S),g=i.document.createTextNode("");u.observe(g,{characterData:!0}),d=function(){g.data=b=++b%2}}else if(i.setImmediate||i.MessageChannel===void 0)d="document"in i&&"onreadystatechange"in i.document.createElement("script")?function(){var w=i.document.createElement("script");w.onreadystatechange=function(){S(),w.onreadystatechange=null,w.parentNode.removeChild(w),w=null},i.document.documentElement.appendChild(w)}:function(){setTimeout(S,0)};else{var m=new i.MessageChannel;m.port1.onmessage=S,d=function(){m.port2.postMessage(0)}}var p=[];function S(){var w,E;f=!0;for(var C=p.length;C;){for(E=p,p=[],w=-1;++w<C;)E[w]();C=p.length}f=!1}n.exports=function(w){p.push(w)!==1||f||d()}}).call(this,typeof gn<"u"?gn:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,n,s){var i=t("immediate");function d(){}var f={},l=["REJECTED"],b=["FULFILLED"],u=["PENDING"];function g(C){if(typeof C!="function")throw new TypeError("resolver must be a function");this.state=u,this.queue=[],this.outcome=void 0,C!==d&&w(this,C)}function m(C,_,D){this.promise=C,typeof _=="function"&&(this.onFulfilled=_,this.callFulfilled=this.otherCallFulfilled),typeof D=="function"&&(this.onRejected=D,this.callRejected=this.otherCallRejected)}function p(C,_,D){i(function(){var O;try{O=_(D)}catch($){return f.reject(C,$)}O===C?f.reject(C,new TypeError("Cannot resolve promise with itself")):f.resolve(C,O)})}function S(C){var _=C&&C.then;if(C&&(typeof C=="object"||typeof C=="function")&&typeof _=="function")return function(){_.apply(C,arguments)}}function w(C,_){var D=!1;function O(J){D||(D=!0,f.reject(C,J))}function $(J){D||(D=!0,f.resolve(C,J))}var W=E(function(){_($,O)});W.status==="error"&&O(W.value)}function E(C,_){var D={};try{D.value=C(_),D.status="success"}catch(O){D.status="error",D.value=O}return D}(n.exports=g).prototype.finally=function(C){if(typeof C!="function")return this;var _=this.constructor;return this.then(function(D){return _.resolve(C()).then(function(){return D})},function(D){return _.resolve(C()).then(function(){throw D})})},g.prototype.catch=function(C){return this.then(null,C)},g.prototype.then=function(C,_){if(typeof C!="function"&&this.state===b||typeof _!="function"&&this.state===l)return this;var D=new this.constructor(d);return this.state!==u?p(D,this.state===b?C:_,this.outcome):this.queue.push(new m(D,C,_)),D},m.prototype.callFulfilled=function(C){f.resolve(this.promise,C)},m.prototype.otherCallFulfilled=function(C){p(this.promise,this.onFulfilled,C)},m.prototype.callRejected=function(C){f.reject(this.promise,C)},m.prototype.otherCallRejected=function(C){p(this.promise,this.onRejected,C)},f.resolve=function(C,_){var D=E(S,_);if(D.status==="error")return f.reject(C,D.value);var O=D.value;if(O)w(C,O);else{C.state=b,C.outcome=_;for(var $=-1,W=C.queue.length;++$<W;)C.queue[$].callFulfilled(_)}return C},f.reject=function(C,_){C.state=l,C.outcome=_;for(var D=-1,O=C.queue.length;++D<O;)C.queue[D].callRejected(_);return C},g.resolve=function(C){return C instanceof this?C:f.resolve(new this(d),C)},g.reject=function(C){var _=new this(d);return f.reject(_,C)},g.all=function(C){var _=this;if(Object.prototype.toString.call(C)!=="[object Array]")return this.reject(new TypeError("must be an array"));var D=C.length,O=!1;if(!D)return this.resolve([]);for(var $=new Array(D),W=0,J=-1,k=new this(d);++J<D;)P(C[J],J);return k;function P(R,F){_.resolve(R).then(function(A){$[F]=A,++W!==D||O||(O=!0,f.resolve(k,$))},function(A){O||(O=!0,f.reject(k,A))})}},g.race=function(C){var _=this;if(Object.prototype.toString.call(C)!=="[object Array]")return this.reject(new TypeError("must be an array"));var D=C.length,O=!1;if(!D)return this.resolve([]);for(var $=-1,W=new this(d);++$<D;)J=C[$],_.resolve(J).then(function(k){O||(O=!0,f.resolve(W,k))},function(k){O||(O=!0,f.reject(W,k))});var J;return W}},{immediate:36}],38:[function(t,n,s){var i={};(0,t("./lib/utils/common").assign)(i,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),n.exports=i},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,n,s){var i=t("./zlib/deflate"),d=t("./utils/common"),f=t("./utils/strings"),l=t("./zlib/messages"),b=t("./zlib/zstream"),u=Object.prototype.toString,g=0,m=-1,p=0,S=8;function w(C){if(!(this instanceof w))return new w(C);this.options=d.assign({level:m,method:S,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},C||{});var _=this.options;_.raw&&0<_.windowBits?_.windowBits=-_.windowBits:_.gzip&&0<_.windowBits&&_.windowBits<16&&(_.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b,this.strm.avail_out=0;var D=i.deflateInit2(this.strm,_.level,_.method,_.windowBits,_.memLevel,_.strategy);if(D!==g)throw new Error(l[D]);if(_.header&&i.deflateSetHeader(this.strm,_.header),_.dictionary){var O;if(O=typeof _.dictionary=="string"?f.string2buf(_.dictionary):u.call(_.dictionary)==="[object ArrayBuffer]"?new Uint8Array(_.dictionary):_.dictionary,(D=i.deflateSetDictionary(this.strm,O))!==g)throw new Error(l[D]);this._dict_set=!0}}function E(C,_){var D=new w(_);if(D.push(C,!0),D.err)throw D.msg||l[D.err];return D.result}w.prototype.push=function(C,_){var D,O,$=this.strm,W=this.options.chunkSize;if(this.ended)return!1;O=_===~~_?_:_===!0?4:0,typeof C=="string"?$.input=f.string2buf(C):u.call(C)==="[object ArrayBuffer]"?$.input=new Uint8Array(C):$.input=C,$.next_in=0,$.avail_in=$.input.length;do{if($.avail_out===0&&($.output=new d.Buf8(W),$.next_out=0,$.avail_out=W),(D=i.deflate($,O))!==1&&D!==g)return this.onEnd(D),!(this.ended=!0);$.avail_out!==0&&($.avail_in!==0||O!==4&&O!==2)||(this.options.to==="string"?this.onData(f.buf2binstring(d.shrinkBuf($.output,$.next_out))):this.onData(d.shrinkBuf($.output,$.next_out)))}while((0<$.avail_in||$.avail_out===0)&&D!==1);return O===4?(D=i.deflateEnd(this.strm),this.onEnd(D),this.ended=!0,D===g):O!==2||(this.onEnd(g),!($.avail_out=0))},w.prototype.onData=function(C){this.chunks.push(C)},w.prototype.onEnd=function(C){C===g&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=C,this.msg=this.strm.msg},s.Deflate=w,s.deflate=E,s.deflateRaw=function(C,_){return(_=_||{}).raw=!0,E(C,_)},s.gzip=function(C,_){return(_=_||{}).gzip=!0,E(C,_)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,n,s){var i=t("./zlib/inflate"),d=t("./utils/common"),f=t("./utils/strings"),l=t("./zlib/constants"),b=t("./zlib/messages"),u=t("./zlib/zstream"),g=t("./zlib/gzheader"),m=Object.prototype.toString;function p(w){if(!(this instanceof p))return new p(w);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},w||{});var E=this.options;E.raw&&0<=E.windowBits&&E.windowBits<16&&(E.windowBits=-E.windowBits,E.windowBits===0&&(E.windowBits=-15)),!(0<=E.windowBits&&E.windowBits<16)||w&&w.windowBits||(E.windowBits+=32),15<E.windowBits&&E.windowBits<48&&(15&E.windowBits)==0&&(E.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new u,this.strm.avail_out=0;var C=i.inflateInit2(this.strm,E.windowBits);if(C!==l.Z_OK)throw new Error(b[C]);this.header=new g,i.inflateGetHeader(this.strm,this.header)}function S(w,E){var C=new p(E);if(C.push(w,!0),C.err)throw C.msg||b[C.err];return C.result}p.prototype.push=function(w,E){var C,_,D,O,$,W,J=this.strm,k=this.options.chunkSize,P=this.options.dictionary,R=!1;if(this.ended)return!1;_=E===~~E?E:E===!0?l.Z_FINISH:l.Z_NO_FLUSH,typeof w=="string"?J.input=f.binstring2buf(w):m.call(w)==="[object ArrayBuffer]"?J.input=new Uint8Array(w):J.input=w,J.next_in=0,J.avail_in=J.input.length;do{if(J.avail_out===0&&(J.output=new d.Buf8(k),J.next_out=0,J.avail_out=k),(C=i.inflate(J,l.Z_NO_FLUSH))===l.Z_NEED_DICT&&P&&(W=typeof P=="string"?f.string2buf(P):m.call(P)==="[object ArrayBuffer]"?new Uint8Array(P):P,C=i.inflateSetDictionary(this.strm,W)),C===l.Z_BUF_ERROR&&R===!0&&(C=l.Z_OK,R=!1),C!==l.Z_STREAM_END&&C!==l.Z_OK)return this.onEnd(C),!(this.ended=!0);J.next_out&&(J.avail_out!==0&&C!==l.Z_STREAM_END&&(J.avail_in!==0||_!==l.Z_FINISH&&_!==l.Z_SYNC_FLUSH)||(this.options.to==="string"?(D=f.utf8border(J.output,J.next_out),O=J.next_out-D,$=f.buf2string(J.output,D),J.next_out=O,J.avail_out=k-O,O&&d.arraySet(J.output,J.output,D,O,0),this.onData($)):this.onData(d.shrinkBuf(J.output,J.next_out)))),J.avail_in===0&&J.avail_out===0&&(R=!0)}while((0<J.avail_in||J.avail_out===0)&&C!==l.Z_STREAM_END);return C===l.Z_STREAM_END&&(_=l.Z_FINISH),_===l.Z_FINISH?(C=i.inflateEnd(this.strm),this.onEnd(C),this.ended=!0,C===l.Z_OK):_!==l.Z_SYNC_FLUSH||(this.onEnd(l.Z_OK),!(J.avail_out=0))},p.prototype.onData=function(w){this.chunks.push(w)},p.prototype.onEnd=function(w){w===l.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=w,this.msg=this.strm.msg},s.Inflate=p,s.inflate=S,s.inflateRaw=function(w,E){return(E=E||{}).raw=!0,S(w,E)},s.ungzip=S},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,n,s){var i=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";s.assign=function(l){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var u=b.shift();if(u){if(typeof u!="object")throw new TypeError(u+"must be non-object");for(var g in u)u.hasOwnProperty(g)&&(l[g]=u[g])}}return l},s.shrinkBuf=function(l,b){return l.length===b?l:l.subarray?l.subarray(0,b):(l.length=b,l)};var d={arraySet:function(l,b,u,g,m){if(b.subarray&&l.subarray)l.set(b.subarray(u,u+g),m);else for(var p=0;p<g;p++)l[m+p]=b[u+p]},flattenChunks:function(l){var b,u,g,m,p,S;for(b=g=0,u=l.length;b<u;b++)g+=l[b].length;for(S=new Uint8Array(g),b=m=0,u=l.length;b<u;b++)p=l[b],S.set(p,m),m+=p.length;return S}},f={arraySet:function(l,b,u,g,m){for(var p=0;p<g;p++)l[m+p]=b[u+p]},flattenChunks:function(l){return[].concat.apply([],l)}};s.setTyped=function(l){l?(s.Buf8=Uint8Array,s.Buf16=Uint16Array,s.Buf32=Int32Array,s.assign(s,d)):(s.Buf8=Array,s.Buf16=Array,s.Buf32=Array,s.assign(s,f))},s.setTyped(i)},{}],42:[function(t,n,s){var i=t("./common"),d=!0,f=!0;try{String.fromCharCode.apply(null,[0])}catch{d=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{f=!1}for(var l=new i.Buf8(256),b=0;b<256;b++)l[b]=252<=b?6:248<=b?5:240<=b?4:224<=b?3:192<=b?2:1;function u(g,m){if(m<65537&&(g.subarray&&f||!g.subarray&&d))return String.fromCharCode.apply(null,i.shrinkBuf(g,m));for(var p="",S=0;S<m;S++)p+=String.fromCharCode(g[S]);return p}l[254]=l[254]=1,s.string2buf=function(g){var m,p,S,w,E,C=g.length,_=0;for(w=0;w<C;w++)(64512&(p=g.charCodeAt(w)))==55296&&w+1<C&&(64512&(S=g.charCodeAt(w+1)))==56320&&(p=65536+(p-55296<<10)+(S-56320),w++),_+=p<128?1:p<2048?2:p<65536?3:4;for(m=new i.Buf8(_),w=E=0;E<_;w++)(64512&(p=g.charCodeAt(w)))==55296&&w+1<C&&(64512&(S=g.charCodeAt(w+1)))==56320&&(p=65536+(p-55296<<10)+(S-56320),w++),p<128?m[E++]=p:(p<2048?m[E++]=192|p>>>6:(p<65536?m[E++]=224|p>>>12:(m[E++]=240|p>>>18,m[E++]=128|p>>>12&63),m[E++]=128|p>>>6&63),m[E++]=128|63&p);return m},s.buf2binstring=function(g){return u(g,g.length)},s.binstring2buf=function(g){for(var m=new i.Buf8(g.length),p=0,S=m.length;p<S;p++)m[p]=g.charCodeAt(p);return m},s.buf2string=function(g,m){var p,S,w,E,C=m||g.length,_=new Array(2*C);for(p=S=0;p<C;)if((w=g[p++])<128)_[S++]=w;else if(4<(E=l[w]))_[S++]=65533,p+=E-1;else{for(w&=E===2?31:E===3?15:7;1<E&&p<C;)w=w<<6|63&g[p++],E--;1<E?_[S++]=65533:w<65536?_[S++]=w:(w-=65536,_[S++]=55296|w>>10&1023,_[S++]=56320|1023&w)}return u(_,S)},s.utf8border=function(g,m){var p;for((m=m||g.length)>g.length&&(m=g.length),p=m-1;0<=p&&(192&g[p])==128;)p--;return p<0||p===0?m:p+l[g[p]]>m?p:m}},{"./common":41}],43:[function(t,n,s){n.exports=function(i,d,f,l){for(var b=65535&i|0,u=i>>>16&65535|0,g=0;f!==0;){for(f-=g=2e3<f?2e3:f;u=u+(b=b+d[l++]|0)|0,--g;);b%=65521,u%=65521}return b|u<<16|0}},{}],44:[function(t,n,s){n.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,n,s){var i=(function(){for(var d,f=[],l=0;l<256;l++){d=l;for(var b=0;b<8;b++)d=1&d?3988292384^d>>>1:d>>>1;f[l]=d}return f})();n.exports=function(d,f,l,b){var u=i,g=b+l;d^=-1;for(var m=b;m<g;m++)d=d>>>8^u[255&(d^f[m])];return-1^d}},{}],46:[function(t,n,s){var i,d=t("../utils/common"),f=t("./trees"),l=t("./adler32"),b=t("./crc32"),u=t("./messages"),g=0,m=4,p=0,S=-2,w=-1,E=4,C=2,_=8,D=9,O=286,$=30,W=19,J=2*O+1,k=15,P=3,R=258,F=R+P+1,A=42,T=113,v=1,L=2,B=3,U=4;function H(N,se){return N.msg=u[se],se}function Z(N){return(N<<1)-(4<N?9:0)}function ee(N){for(var se=N.length;0<=--se;)N[se]=0}function Y(N){var se=N.state,Q=se.pending;Q>N.avail_out&&(Q=N.avail_out),Q!==0&&(d.arraySet(N.output,se.pending_buf,se.pending_out,Q,N.next_out),N.next_out+=Q,se.pending_out+=Q,N.total_out+=Q,N.avail_out-=Q,se.pending-=Q,se.pending===0&&(se.pending_out=0))}function X(N,se){f._tr_flush_block(N,0<=N.block_start?N.block_start:-1,N.strstart-N.block_start,se),N.block_start=N.strstart,Y(N.strm)}function pe(N,se){N.pending_buf[N.pending++]=se}function ie(N,se){N.pending_buf[N.pending++]=se>>>8&255,N.pending_buf[N.pending++]=255&se}function te(N,se){var Q,q,K=N.max_chain_length,ne=N.strstart,me=N.prev_length,we=N.nice_match,fe=N.strstart>N.w_size-F?N.strstart-(N.w_size-F):0,je=N.window,Ie=N.w_mask,le=N.prev,_e=N.strstart+R,Te=je[ne+me-1],Re=je[ne+me];N.prev_length>=N.good_match&&(K>>=2),we>N.lookahead&&(we=N.lookahead);do if(je[(Q=se)+me]===Re&&je[Q+me-1]===Te&&je[Q]===je[ne]&&je[++Q]===je[ne+1]){ne+=2,Q++;do;while(je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&je[++ne]===je[++Q]&&ne<_e);if(q=R-(_e-ne),ne=_e-R,me<q){if(N.match_start=se,we<=(me=q))break;Te=je[ne+me-1],Re=je[ne+me]}}while((se=le[se&Ie])>fe&&--K!=0);return me<=N.lookahead?me:N.lookahead}function ge(N){var se,Q,q,K,ne,me,we,fe,je,Ie,le=N.w_size;do{if(K=N.window_size-N.lookahead-N.strstart,N.strstart>=le+(le-F)){for(d.arraySet(N.window,N.window,le,le,0),N.match_start-=le,N.strstart-=le,N.block_start-=le,se=Q=N.hash_size;q=N.head[--se],N.head[se]=le<=q?q-le:0,--Q;);for(se=Q=le;q=N.prev[--se],N.prev[se]=le<=q?q-le:0,--Q;);K+=le}if(N.strm.avail_in===0)break;if(me=N.strm,we=N.window,fe=N.strstart+N.lookahead,je=K,Ie=void 0,Ie=me.avail_in,je<Ie&&(Ie=je),Q=Ie===0?0:(me.avail_in-=Ie,d.arraySet(we,me.input,me.next_in,Ie,fe),me.state.wrap===1?me.adler=l(me.adler,we,Ie,fe):me.state.wrap===2&&(me.adler=b(me.adler,we,Ie,fe)),me.next_in+=Ie,me.total_in+=Ie,Ie),N.lookahead+=Q,N.lookahead+N.insert>=P)for(ne=N.strstart-N.insert,N.ins_h=N.window[ne],N.ins_h=(N.ins_h<<N.hash_shift^N.window[ne+1])&N.hash_mask;N.insert&&(N.ins_h=(N.ins_h<<N.hash_shift^N.window[ne+P-1])&N.hash_mask,N.prev[ne&N.w_mask]=N.head[N.ins_h],N.head[N.ins_h]=ne,ne++,N.insert--,!(N.lookahead+N.insert<P)););}while(N.lookahead<F&&N.strm.avail_in!==0)}function ce(N,se){for(var Q,q;;){if(N.lookahead<F){if(ge(N),N.lookahead<F&&se===g)return v;if(N.lookahead===0)break}if(Q=0,N.lookahead>=P&&(N.ins_h=(N.ins_h<<N.hash_shift^N.window[N.strstart+P-1])&N.hash_mask,Q=N.prev[N.strstart&N.w_mask]=N.head[N.ins_h],N.head[N.ins_h]=N.strstart),Q!==0&&N.strstart-Q<=N.w_size-F&&(N.match_length=te(N,Q)),N.match_length>=P)if(q=f._tr_tally(N,N.strstart-N.match_start,N.match_length-P),N.lookahead-=N.match_length,N.match_length<=N.max_lazy_match&&N.lookahead>=P){for(N.match_length--;N.strstart++,N.ins_h=(N.ins_h<<N.hash_shift^N.window[N.strstart+P-1])&N.hash_mask,Q=N.prev[N.strstart&N.w_mask]=N.head[N.ins_h],N.head[N.ins_h]=N.strstart,--N.match_length!=0;);N.strstart++}else N.strstart+=N.match_length,N.match_length=0,N.ins_h=N.window[N.strstart],N.ins_h=(N.ins_h<<N.hash_shift^N.window[N.strstart+1])&N.hash_mask;else q=f._tr_tally(N,0,N.window[N.strstart]),N.lookahead--,N.strstart++;if(q&&(X(N,!1),N.strm.avail_out===0))return v}return N.insert=N.strstart<P-1?N.strstart:P-1,se===m?(X(N,!0),N.strm.avail_out===0?B:U):N.last_lit&&(X(N,!1),N.strm.avail_out===0)?v:L}function he(N,se){for(var Q,q,K;;){if(N.lookahead<F){if(ge(N),N.lookahead<F&&se===g)return v;if(N.lookahead===0)break}if(Q=0,N.lookahead>=P&&(N.ins_h=(N.ins_h<<N.hash_shift^N.window[N.strstart+P-1])&N.hash_mask,Q=N.prev[N.strstart&N.w_mask]=N.head[N.ins_h],N.head[N.ins_h]=N.strstart),N.prev_length=N.match_length,N.prev_match=N.match_start,N.match_length=P-1,Q!==0&&N.prev_length<N.max_lazy_match&&N.strstart-Q<=N.w_size-F&&(N.match_length=te(N,Q),N.match_length<=5&&(N.strategy===1||N.match_length===P&&4096<N.strstart-N.match_start)&&(N.match_length=P-1)),N.prev_length>=P&&N.match_length<=N.prev_length){for(K=N.strstart+N.lookahead-P,q=f._tr_tally(N,N.strstart-1-N.prev_match,N.prev_length-P),N.lookahead-=N.prev_length-1,N.prev_length-=2;++N.strstart<=K&&(N.ins_h=(N.ins_h<<N.hash_shift^N.window[N.strstart+P-1])&N.hash_mask,Q=N.prev[N.strstart&N.w_mask]=N.head[N.ins_h],N.head[N.ins_h]=N.strstart),--N.prev_length!=0;);if(N.match_available=0,N.match_length=P-1,N.strstart++,q&&(X(N,!1),N.strm.avail_out===0))return v}else if(N.match_available){if((q=f._tr_tally(N,0,N.window[N.strstart-1]))&&X(N,!1),N.strstart++,N.lookahead--,N.strm.avail_out===0)return v}else N.match_available=1,N.strstart++,N.lookahead--}return N.match_available&&(q=f._tr_tally(N,0,N.window[N.strstart-1]),N.match_available=0),N.insert=N.strstart<P-1?N.strstart:P-1,se===m?(X(N,!0),N.strm.avail_out===0?B:U):N.last_lit&&(X(N,!1),N.strm.avail_out===0)?v:L}function ve(N,se,Q,q,K){this.good_length=N,this.max_lazy=se,this.nice_length=Q,this.max_chain=q,this.func=K}function xe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*J),this.dyn_dtree=new d.Buf16(2*(2*$+1)),this.bl_tree=new d.Buf16(2*(2*W+1)),ee(this.dyn_ltree),ee(this.dyn_dtree),ee(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*O+1),ee(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*O+1),ee(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ue(N){var se;return N&&N.state?(N.total_in=N.total_out=0,N.data_type=C,(se=N.state).pending=0,se.pending_out=0,se.wrap<0&&(se.wrap=-se.wrap),se.status=se.wrap?A:T,N.adler=se.wrap===2?0:1,se.last_flush=g,f._tr_init(se),p):H(N,S)}function Ee(N){var se=ue(N);return se===p&&(function(Q){Q.window_size=2*Q.w_size,ee(Q.head),Q.max_lazy_match=i[Q.level].max_lazy,Q.good_match=i[Q.level].good_length,Q.nice_match=i[Q.level].nice_length,Q.max_chain_length=i[Q.level].max_chain,Q.strstart=0,Q.block_start=0,Q.lookahead=0,Q.insert=0,Q.match_length=Q.prev_length=P-1,Q.match_available=0,Q.ins_h=0})(N.state),se}function Ne(N,se,Q,q,K,ne){if(!N)return S;var me=1;if(se===w&&(se=6),q<0?(me=0,q=-q):15<q&&(me=2,q-=16),K<1||D<K||Q!==_||q<8||15<q||se<0||9<se||ne<0||E<ne)return H(N,S);q===8&&(q=9);var we=new xe;return(N.state=we).strm=N,we.wrap=me,we.gzhead=null,we.w_bits=q,we.w_size=1<<we.w_bits,we.w_mask=we.w_size-1,we.hash_bits=K+7,we.hash_size=1<<we.hash_bits,we.hash_mask=we.hash_size-1,we.hash_shift=~~((we.hash_bits+P-1)/P),we.window=new d.Buf8(2*we.w_size),we.head=new d.Buf16(we.hash_size),we.prev=new d.Buf16(we.w_size),we.lit_bufsize=1<<K+6,we.pending_buf_size=4*we.lit_bufsize,we.pending_buf=new d.Buf8(we.pending_buf_size),we.d_buf=1*we.lit_bufsize,we.l_buf=3*we.lit_bufsize,we.level=se,we.strategy=ne,we.method=Q,Ee(N)}i=[new ve(0,0,0,0,function(N,se){var Q=65535;for(Q>N.pending_buf_size-5&&(Q=N.pending_buf_size-5);;){if(N.lookahead<=1){if(ge(N),N.lookahead===0&&se===g)return v;if(N.lookahead===0)break}N.strstart+=N.lookahead,N.lookahead=0;var q=N.block_start+Q;if((N.strstart===0||N.strstart>=q)&&(N.lookahead=N.strstart-q,N.strstart=q,X(N,!1),N.strm.avail_out===0)||N.strstart-N.block_start>=N.w_size-F&&(X(N,!1),N.strm.avail_out===0))return v}return N.insert=0,se===m?(X(N,!0),N.strm.avail_out===0?B:U):(N.strstart>N.block_start&&(X(N,!1),N.strm.avail_out),v)}),new ve(4,4,8,4,ce),new ve(4,5,16,8,ce),new ve(4,6,32,32,ce),new ve(4,4,16,16,he),new ve(8,16,32,32,he),new ve(8,16,128,128,he),new ve(8,32,128,256,he),new ve(32,128,258,1024,he),new ve(32,258,258,4096,he)],s.deflateInit=function(N,se){return Ne(N,se,_,15,8,0)},s.deflateInit2=Ne,s.deflateReset=Ee,s.deflateResetKeep=ue,s.deflateSetHeader=function(N,se){return N&&N.state?N.state.wrap!==2?S:(N.state.gzhead=se,p):S},s.deflate=function(N,se){var Q,q,K,ne;if(!N||!N.state||5<se||se<0)return N?H(N,S):S;if(q=N.state,!N.output||!N.input&&N.avail_in!==0||q.status===666&&se!==m)return H(N,N.avail_out===0?-5:S);if(q.strm=N,Q=q.last_flush,q.last_flush=se,q.status===A)if(q.wrap===2)N.adler=0,pe(q,31),pe(q,139),pe(q,8),q.gzhead?(pe(q,(q.gzhead.text?1:0)+(q.gzhead.hcrc?2:0)+(q.gzhead.extra?4:0)+(q.gzhead.name?8:0)+(q.gzhead.comment?16:0)),pe(q,255&q.gzhead.time),pe(q,q.gzhead.time>>8&255),pe(q,q.gzhead.time>>16&255),pe(q,q.gzhead.time>>24&255),pe(q,q.level===9?2:2<=q.strategy||q.level<2?4:0),pe(q,255&q.gzhead.os),q.gzhead.extra&&q.gzhead.extra.length&&(pe(q,255&q.gzhead.extra.length),pe(q,q.gzhead.extra.length>>8&255)),q.gzhead.hcrc&&(N.adler=b(N.adler,q.pending_buf,q.pending,0)),q.gzindex=0,q.status=69):(pe(q,0),pe(q,0),pe(q,0),pe(q,0),pe(q,0),pe(q,q.level===9?2:2<=q.strategy||q.level<2?4:0),pe(q,3),q.status=T);else{var me=_+(q.w_bits-8<<4)<<8;me|=(2<=q.strategy||q.level<2?0:q.level<6?1:q.level===6?2:3)<<6,q.strstart!==0&&(me|=32),me+=31-me%31,q.status=T,ie(q,me),q.strstart!==0&&(ie(q,N.adler>>>16),ie(q,65535&N.adler)),N.adler=1}if(q.status===69)if(q.gzhead.extra){for(K=q.pending;q.gzindex<(65535&q.gzhead.extra.length)&&(q.pending!==q.pending_buf_size||(q.gzhead.hcrc&&q.pending>K&&(N.adler=b(N.adler,q.pending_buf,q.pending-K,K)),Y(N),K=q.pending,q.pending!==q.pending_buf_size));)pe(q,255&q.gzhead.extra[q.gzindex]),q.gzindex++;q.gzhead.hcrc&&q.pending>K&&(N.adler=b(N.adler,q.pending_buf,q.pending-K,K)),q.gzindex===q.gzhead.extra.length&&(q.gzindex=0,q.status=73)}else q.status=73;if(q.status===73)if(q.gzhead.name){K=q.pending;do{if(q.pending===q.pending_buf_size&&(q.gzhead.hcrc&&q.pending>K&&(N.adler=b(N.adler,q.pending_buf,q.pending-K,K)),Y(N),K=q.pending,q.pending===q.pending_buf_size)){ne=1;break}ne=q.gzindex<q.gzhead.name.length?255&q.gzhead.name.charCodeAt(q.gzindex++):0,pe(q,ne)}while(ne!==0);q.gzhead.hcrc&&q.pending>K&&(N.adler=b(N.adler,q.pending_buf,q.pending-K,K)),ne===0&&(q.gzindex=0,q.status=91)}else q.status=91;if(q.status===91)if(q.gzhead.comment){K=q.pending;do{if(q.pending===q.pending_buf_size&&(q.gzhead.hcrc&&q.pending>K&&(N.adler=b(N.adler,q.pending_buf,q.pending-K,K)),Y(N),K=q.pending,q.pending===q.pending_buf_size)){ne=1;break}ne=q.gzindex<q.gzhead.comment.length?255&q.gzhead.comment.charCodeAt(q.gzindex++):0,pe(q,ne)}while(ne!==0);q.gzhead.hcrc&&q.pending>K&&(N.adler=b(N.adler,q.pending_buf,q.pending-K,K)),ne===0&&(q.status=103)}else q.status=103;if(q.status===103&&(q.gzhead.hcrc?(q.pending+2>q.pending_buf_size&&Y(N),q.pending+2<=q.pending_buf_size&&(pe(q,255&N.adler),pe(q,N.adler>>8&255),N.adler=0,q.status=T)):q.status=T),q.pending!==0){if(Y(N),N.avail_out===0)return q.last_flush=-1,p}else if(N.avail_in===0&&Z(se)<=Z(Q)&&se!==m)return H(N,-5);if(q.status===666&&N.avail_in!==0)return H(N,-5);if(N.avail_in!==0||q.lookahead!==0||se!==g&&q.status!==666){var we=q.strategy===2?(function(fe,je){for(var Ie;;){if(fe.lookahead===0&&(ge(fe),fe.lookahead===0)){if(je===g)return v;break}if(fe.match_length=0,Ie=f._tr_tally(fe,0,fe.window[fe.strstart]),fe.lookahead--,fe.strstart++,Ie&&(X(fe,!1),fe.strm.avail_out===0))return v}return fe.insert=0,je===m?(X(fe,!0),fe.strm.avail_out===0?B:U):fe.last_lit&&(X(fe,!1),fe.strm.avail_out===0)?v:L})(q,se):q.strategy===3?(function(fe,je){for(var Ie,le,_e,Te,Re=fe.window;;){if(fe.lookahead<=R){if(ge(fe),fe.lookahead<=R&&je===g)return v;if(fe.lookahead===0)break}if(fe.match_length=0,fe.lookahead>=P&&0<fe.strstart&&(le=Re[_e=fe.strstart-1])===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]){Te=fe.strstart+R;do;while(le===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]&&le===Re[++_e]&&_e<Te);fe.match_length=R-(Te-_e),fe.match_length>fe.lookahead&&(fe.match_length=fe.lookahead)}if(fe.match_length>=P?(Ie=f._tr_tally(fe,1,fe.match_length-P),fe.lookahead-=fe.match_length,fe.strstart+=fe.match_length,fe.match_length=0):(Ie=f._tr_tally(fe,0,fe.window[fe.strstart]),fe.lookahead--,fe.strstart++),Ie&&(X(fe,!1),fe.strm.avail_out===0))return v}return fe.insert=0,je===m?(X(fe,!0),fe.strm.avail_out===0?B:U):fe.last_lit&&(X(fe,!1),fe.strm.avail_out===0)?v:L})(q,se):i[q.level].func(q,se);if(we!==B&&we!==U||(q.status=666),we===v||we===B)return N.avail_out===0&&(q.last_flush=-1),p;if(we===L&&(se===1?f._tr_align(q):se!==5&&(f._tr_stored_block(q,0,0,!1),se===3&&(ee(q.head),q.lookahead===0&&(q.strstart=0,q.block_start=0,q.insert=0))),Y(N),N.avail_out===0))return q.last_flush=-1,p}return se!==m?p:q.wrap<=0?1:(q.wrap===2?(pe(q,255&N.adler),pe(q,N.adler>>8&255),pe(q,N.adler>>16&255),pe(q,N.adler>>24&255),pe(q,255&N.total_in),pe(q,N.total_in>>8&255),pe(q,N.total_in>>16&255),pe(q,N.total_in>>24&255)):(ie(q,N.adler>>>16),ie(q,65535&N.adler)),Y(N),0<q.wrap&&(q.wrap=-q.wrap),q.pending!==0?p:1)},s.deflateEnd=function(N){var se;return N&&N.state?(se=N.state.status)!==A&&se!==69&&se!==73&&se!==91&&se!==103&&se!==T&&se!==666?H(N,S):(N.state=null,se===T?H(N,-3):p):S},s.deflateSetDictionary=function(N,se){var Q,q,K,ne,me,we,fe,je,Ie=se.length;if(!N||!N.state||(ne=(Q=N.state).wrap)===2||ne===1&&Q.status!==A||Q.lookahead)return S;for(ne===1&&(N.adler=l(N.adler,se,Ie,0)),Q.wrap=0,Ie>=Q.w_size&&(ne===0&&(ee(Q.head),Q.strstart=0,Q.block_start=0,Q.insert=0),je=new d.Buf8(Q.w_size),d.arraySet(je,se,Ie-Q.w_size,Q.w_size,0),se=je,Ie=Q.w_size),me=N.avail_in,we=N.next_in,fe=N.input,N.avail_in=Ie,N.next_in=0,N.input=se,ge(Q);Q.lookahead>=P;){for(q=Q.strstart,K=Q.lookahead-(P-1);Q.ins_h=(Q.ins_h<<Q.hash_shift^Q.window[q+P-1])&Q.hash_mask,Q.prev[q&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=q,q++,--K;);Q.strstart=q,Q.lookahead=P-1,ge(Q)}return Q.strstart+=Q.lookahead,Q.block_start=Q.strstart,Q.insert=Q.lookahead,Q.lookahead=0,Q.match_length=Q.prev_length=P-1,Q.match_available=0,N.next_in=we,N.input=fe,N.avail_in=me,Q.wrap=ne,p},s.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,n,s){n.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,n,s){n.exports=function(i,d){var f,l,b,u,g,m,p,S,w,E,C,_,D,O,$,W,J,k,P,R,F,A,T,v,L;f=i.state,l=i.next_in,v=i.input,b=l+(i.avail_in-5),u=i.next_out,L=i.output,g=u-(d-i.avail_out),m=u+(i.avail_out-257),p=f.dmax,S=f.wsize,w=f.whave,E=f.wnext,C=f.window,_=f.hold,D=f.bits,O=f.lencode,$=f.distcode,W=(1<<f.lenbits)-1,J=(1<<f.distbits)-1;e:do{D<15&&(_+=v[l++]<<D,D+=8,_+=v[l++]<<D,D+=8),k=O[_&W];a:for(;;){if(_>>>=P=k>>>24,D-=P,(P=k>>>16&255)===0)L[u++]=65535&k;else{if(!(16&P)){if((64&P)==0){k=O[(65535&k)+(_&(1<<P)-1)];continue a}if(32&P){f.mode=12;break e}i.msg="invalid literal/length code",f.mode=30;break e}R=65535&k,(P&=15)&&(D<P&&(_+=v[l++]<<D,D+=8),R+=_&(1<<P)-1,_>>>=P,D-=P),D<15&&(_+=v[l++]<<D,D+=8,_+=v[l++]<<D,D+=8),k=$[_&J];t:for(;;){if(_>>>=P=k>>>24,D-=P,!(16&(P=k>>>16&255))){if((64&P)==0){k=$[(65535&k)+(_&(1<<P)-1)];continue t}i.msg="invalid distance code",f.mode=30;break e}if(F=65535&k,D<(P&=15)&&(_+=v[l++]<<D,(D+=8)<P&&(_+=v[l++]<<D,D+=8)),p<(F+=_&(1<<P)-1)){i.msg="invalid distance too far back",f.mode=30;break e}if(_>>>=P,D-=P,(P=u-g)<F){if(w<(P=F-P)&&f.sane){i.msg="invalid distance too far back",f.mode=30;break e}if(T=C,(A=0)===E){if(A+=S-P,P<R){for(R-=P;L[u++]=C[A++],--P;);A=u-F,T=L}}else if(E<P){if(A+=S+E-P,(P-=E)<R){for(R-=P;L[u++]=C[A++],--P;);if(A=0,E<R){for(R-=P=E;L[u++]=C[A++],--P;);A=u-F,T=L}}}else if(A+=E-P,P<R){for(R-=P;L[u++]=C[A++],--P;);A=u-F,T=L}for(;2<R;)L[u++]=T[A++],L[u++]=T[A++],L[u++]=T[A++],R-=3;R&&(L[u++]=T[A++],1<R&&(L[u++]=T[A++]))}else{for(A=u-F;L[u++]=L[A++],L[u++]=L[A++],L[u++]=L[A++],2<(R-=3););R&&(L[u++]=L[A++],1<R&&(L[u++]=L[A++]))}break}}break}}while(l<b&&u<m);l-=R=D>>3,_&=(1<<(D-=R<<3))-1,i.next_in=l,i.next_out=u,i.avail_in=l<b?b-l+5:5-(l-b),i.avail_out=u<m?m-u+257:257-(u-m),f.hold=_,f.bits=D}},{}],49:[function(t,n,s){var i=t("../utils/common"),d=t("./adler32"),f=t("./crc32"),l=t("./inffast"),b=t("./inftrees"),u=1,g=2,m=0,p=-2,S=1,w=852,E=592;function C(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function _(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function D(A){var T;return A&&A.state?(T=A.state,A.total_in=A.total_out=T.total=0,A.msg="",T.wrap&&(A.adler=1&T.wrap),T.mode=S,T.last=0,T.havedict=0,T.dmax=32768,T.head=null,T.hold=0,T.bits=0,T.lencode=T.lendyn=new i.Buf32(w),T.distcode=T.distdyn=new i.Buf32(E),T.sane=1,T.back=-1,m):p}function O(A){var T;return A&&A.state?((T=A.state).wsize=0,T.whave=0,T.wnext=0,D(A)):p}function $(A,T){var v,L;return A&&A.state?(L=A.state,T<0?(v=0,T=-T):(v=1+(T>>4),T<48&&(T&=15)),T&&(T<8||15<T)?p:(L.window!==null&&L.wbits!==T&&(L.window=null),L.wrap=v,L.wbits=T,O(A))):p}function W(A,T){var v,L;return A?(L=new _,(A.state=L).window=null,(v=$(A,T))!==m&&(A.state=null),v):p}var J,k,P=!0;function R(A){if(P){var T;for(J=new i.Buf32(512),k=new i.Buf32(32),T=0;T<144;)A.lens[T++]=8;for(;T<256;)A.lens[T++]=9;for(;T<280;)A.lens[T++]=7;for(;T<288;)A.lens[T++]=8;for(b(u,A.lens,0,288,J,0,A.work,{bits:9}),T=0;T<32;)A.lens[T++]=5;b(g,A.lens,0,32,k,0,A.work,{bits:5}),P=!1}A.lencode=J,A.lenbits=9,A.distcode=k,A.distbits=5}function F(A,T,v,L){var B,U=A.state;return U.window===null&&(U.wsize=1<<U.wbits,U.wnext=0,U.whave=0,U.window=new i.Buf8(U.wsize)),L>=U.wsize?(i.arraySet(U.window,T,v-U.wsize,U.wsize,0),U.wnext=0,U.whave=U.wsize):(L<(B=U.wsize-U.wnext)&&(B=L),i.arraySet(U.window,T,v-L,B,U.wnext),(L-=B)?(i.arraySet(U.window,T,v-L,L,0),U.wnext=L,U.whave=U.wsize):(U.wnext+=B,U.wnext===U.wsize&&(U.wnext=0),U.whave<U.wsize&&(U.whave+=B))),0}s.inflateReset=O,s.inflateReset2=$,s.inflateResetKeep=D,s.inflateInit=function(A){return W(A,15)},s.inflateInit2=W,s.inflate=function(A,T){var v,L,B,U,H,Z,ee,Y,X,pe,ie,te,ge,ce,he,ve,xe,ue,Ee,Ne,N,se,Q,q,K=0,ne=new i.Buf8(4),me=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!A||!A.state||!A.output||!A.input&&A.avail_in!==0)return p;(v=A.state).mode===12&&(v.mode=13),H=A.next_out,B=A.output,ee=A.avail_out,U=A.next_in,L=A.input,Z=A.avail_in,Y=v.hold,X=v.bits,pe=Z,ie=ee,se=m;e:for(;;)switch(v.mode){case S:if(v.wrap===0){v.mode=13;break}for(;X<16;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(2&v.wrap&&Y===35615){ne[v.check=0]=255&Y,ne[1]=Y>>>8&255,v.check=f(v.check,ne,2,0),X=Y=0,v.mode=2;break}if(v.flags=0,v.head&&(v.head.done=!1),!(1&v.wrap)||(((255&Y)<<8)+(Y>>8))%31){A.msg="incorrect header check",v.mode=30;break}if((15&Y)!=8){A.msg="unknown compression method",v.mode=30;break}if(X-=4,N=8+(15&(Y>>>=4)),v.wbits===0)v.wbits=N;else if(N>v.wbits){A.msg="invalid window size",v.mode=30;break}v.dmax=1<<N,A.adler=v.check=1,v.mode=512&Y?10:12,X=Y=0;break;case 2:for(;X<16;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(v.flags=Y,(255&v.flags)!=8){A.msg="unknown compression method",v.mode=30;break}if(57344&v.flags){A.msg="unknown header flags set",v.mode=30;break}v.head&&(v.head.text=Y>>8&1),512&v.flags&&(ne[0]=255&Y,ne[1]=Y>>>8&255,v.check=f(v.check,ne,2,0)),X=Y=0,v.mode=3;case 3:for(;X<32;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}v.head&&(v.head.time=Y),512&v.flags&&(ne[0]=255&Y,ne[1]=Y>>>8&255,ne[2]=Y>>>16&255,ne[3]=Y>>>24&255,v.check=f(v.check,ne,4,0)),X=Y=0,v.mode=4;case 4:for(;X<16;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}v.head&&(v.head.xflags=255&Y,v.head.os=Y>>8),512&v.flags&&(ne[0]=255&Y,ne[1]=Y>>>8&255,v.check=f(v.check,ne,2,0)),X=Y=0,v.mode=5;case 5:if(1024&v.flags){for(;X<16;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}v.length=Y,v.head&&(v.head.extra_len=Y),512&v.flags&&(ne[0]=255&Y,ne[1]=Y>>>8&255,v.check=f(v.check,ne,2,0)),X=Y=0}else v.head&&(v.head.extra=null);v.mode=6;case 6:if(1024&v.flags&&(Z<(te=v.length)&&(te=Z),te&&(v.head&&(N=v.head.extra_len-v.length,v.head.extra||(v.head.extra=new Array(v.head.extra_len)),i.arraySet(v.head.extra,L,U,te,N)),512&v.flags&&(v.check=f(v.check,L,te,U)),Z-=te,U+=te,v.length-=te),v.length))break e;v.length=0,v.mode=7;case 7:if(2048&v.flags){if(Z===0)break e;for(te=0;N=L[U+te++],v.head&&N&&v.length<65536&&(v.head.name+=String.fromCharCode(N)),N&&te<Z;);if(512&v.flags&&(v.check=f(v.check,L,te,U)),Z-=te,U+=te,N)break e}else v.head&&(v.head.name=null);v.length=0,v.mode=8;case 8:if(4096&v.flags){if(Z===0)break e;for(te=0;N=L[U+te++],v.head&&N&&v.length<65536&&(v.head.comment+=String.fromCharCode(N)),N&&te<Z;);if(512&v.flags&&(v.check=f(v.check,L,te,U)),Z-=te,U+=te,N)break e}else v.head&&(v.head.comment=null);v.mode=9;case 9:if(512&v.flags){for(;X<16;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(Y!==(65535&v.check)){A.msg="header crc mismatch",v.mode=30;break}X=Y=0}v.head&&(v.head.hcrc=v.flags>>9&1,v.head.done=!0),A.adler=v.check=0,v.mode=12;break;case 10:for(;X<32;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}A.adler=v.check=C(Y),X=Y=0,v.mode=11;case 11:if(v.havedict===0)return A.next_out=H,A.avail_out=ee,A.next_in=U,A.avail_in=Z,v.hold=Y,v.bits=X,2;A.adler=v.check=1,v.mode=12;case 12:if(T===5||T===6)break e;case 13:if(v.last){Y>>>=7&X,X-=7&X,v.mode=27;break}for(;X<3;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}switch(v.last=1&Y,X-=1,3&(Y>>>=1)){case 0:v.mode=14;break;case 1:if(R(v),v.mode=20,T!==6)break;Y>>>=2,X-=2;break e;case 2:v.mode=17;break;case 3:A.msg="invalid block type",v.mode=30}Y>>>=2,X-=2;break;case 14:for(Y>>>=7&X,X-=7&X;X<32;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if((65535&Y)!=(Y>>>16^65535)){A.msg="invalid stored block lengths",v.mode=30;break}if(v.length=65535&Y,X=Y=0,v.mode=15,T===6)break e;case 15:v.mode=16;case 16:if(te=v.length){if(Z<te&&(te=Z),ee<te&&(te=ee),te===0)break e;i.arraySet(B,L,U,te,H),Z-=te,U+=te,ee-=te,H+=te,v.length-=te;break}v.mode=12;break;case 17:for(;X<14;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(v.nlen=257+(31&Y),Y>>>=5,X-=5,v.ndist=1+(31&Y),Y>>>=5,X-=5,v.ncode=4+(15&Y),Y>>>=4,X-=4,286<v.nlen||30<v.ndist){A.msg="too many length or distance symbols",v.mode=30;break}v.have=0,v.mode=18;case 18:for(;v.have<v.ncode;){for(;X<3;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}v.lens[me[v.have++]]=7&Y,Y>>>=3,X-=3}for(;v.have<19;)v.lens[me[v.have++]]=0;if(v.lencode=v.lendyn,v.lenbits=7,Q={bits:v.lenbits},se=b(0,v.lens,0,19,v.lencode,0,v.work,Q),v.lenbits=Q.bits,se){A.msg="invalid code lengths set",v.mode=30;break}v.have=0,v.mode=19;case 19:for(;v.have<v.nlen+v.ndist;){for(;ve=(K=v.lencode[Y&(1<<v.lenbits)-1])>>>16&255,xe=65535&K,!((he=K>>>24)<=X);){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(xe<16)Y>>>=he,X-=he,v.lens[v.have++]=xe;else{if(xe===16){for(q=he+2;X<q;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(Y>>>=he,X-=he,v.have===0){A.msg="invalid bit length repeat",v.mode=30;break}N=v.lens[v.have-1],te=3+(3&Y),Y>>>=2,X-=2}else if(xe===17){for(q=he+3;X<q;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}X-=he,N=0,te=3+(7&(Y>>>=he)),Y>>>=3,X-=3}else{for(q=he+7;X<q;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}X-=he,N=0,te=11+(127&(Y>>>=he)),Y>>>=7,X-=7}if(v.have+te>v.nlen+v.ndist){A.msg="invalid bit length repeat",v.mode=30;break}for(;te--;)v.lens[v.have++]=N}}if(v.mode===30)break;if(v.lens[256]===0){A.msg="invalid code -- missing end-of-block",v.mode=30;break}if(v.lenbits=9,Q={bits:v.lenbits},se=b(u,v.lens,0,v.nlen,v.lencode,0,v.work,Q),v.lenbits=Q.bits,se){A.msg="invalid literal/lengths set",v.mode=30;break}if(v.distbits=6,v.distcode=v.distdyn,Q={bits:v.distbits},se=b(g,v.lens,v.nlen,v.ndist,v.distcode,0,v.work,Q),v.distbits=Q.bits,se){A.msg="invalid distances set",v.mode=30;break}if(v.mode=20,T===6)break e;case 20:v.mode=21;case 21:if(6<=Z&&258<=ee){A.next_out=H,A.avail_out=ee,A.next_in=U,A.avail_in=Z,v.hold=Y,v.bits=X,l(A,ie),H=A.next_out,B=A.output,ee=A.avail_out,U=A.next_in,L=A.input,Z=A.avail_in,Y=v.hold,X=v.bits,v.mode===12&&(v.back=-1);break}for(v.back=0;ve=(K=v.lencode[Y&(1<<v.lenbits)-1])>>>16&255,xe=65535&K,!((he=K>>>24)<=X);){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(ve&&(240&ve)==0){for(ue=he,Ee=ve,Ne=xe;ve=(K=v.lencode[Ne+((Y&(1<<ue+Ee)-1)>>ue)])>>>16&255,xe=65535&K,!(ue+(he=K>>>24)<=X);){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}Y>>>=ue,X-=ue,v.back+=ue}if(Y>>>=he,X-=he,v.back+=he,v.length=xe,ve===0){v.mode=26;break}if(32&ve){v.back=-1,v.mode=12;break}if(64&ve){A.msg="invalid literal/length code",v.mode=30;break}v.extra=15&ve,v.mode=22;case 22:if(v.extra){for(q=v.extra;X<q;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}v.length+=Y&(1<<v.extra)-1,Y>>>=v.extra,X-=v.extra,v.back+=v.extra}v.was=v.length,v.mode=23;case 23:for(;ve=(K=v.distcode[Y&(1<<v.distbits)-1])>>>16&255,xe=65535&K,!((he=K>>>24)<=X);){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if((240&ve)==0){for(ue=he,Ee=ve,Ne=xe;ve=(K=v.distcode[Ne+((Y&(1<<ue+Ee)-1)>>ue)])>>>16&255,xe=65535&K,!(ue+(he=K>>>24)<=X);){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}Y>>>=ue,X-=ue,v.back+=ue}if(Y>>>=he,X-=he,v.back+=he,64&ve){A.msg="invalid distance code",v.mode=30;break}v.offset=xe,v.extra=15&ve,v.mode=24;case 24:if(v.extra){for(q=v.extra;X<q;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}v.offset+=Y&(1<<v.extra)-1,Y>>>=v.extra,X-=v.extra,v.back+=v.extra}if(v.offset>v.dmax){A.msg="invalid distance too far back",v.mode=30;break}v.mode=25;case 25:if(ee===0)break e;if(te=ie-ee,v.offset>te){if((te=v.offset-te)>v.whave&&v.sane){A.msg="invalid distance too far back",v.mode=30;break}ge=te>v.wnext?(te-=v.wnext,v.wsize-te):v.wnext-te,te>v.length&&(te=v.length),ce=v.window}else ce=B,ge=H-v.offset,te=v.length;for(ee<te&&(te=ee),ee-=te,v.length-=te;B[H++]=ce[ge++],--te;);v.length===0&&(v.mode=21);break;case 26:if(ee===0)break e;B[H++]=v.length,ee--,v.mode=21;break;case 27:if(v.wrap){for(;X<32;){if(Z===0)break e;Z--,Y|=L[U++]<<X,X+=8}if(ie-=ee,A.total_out+=ie,v.total+=ie,ie&&(A.adler=v.check=v.flags?f(v.check,B,ie,H-ie):d(v.check,B,ie,H-ie)),ie=ee,(v.flags?Y:C(Y))!==v.check){A.msg="incorrect data check",v.mode=30;break}X=Y=0}v.mode=28;case 28:if(v.wrap&&v.flags){for(;X<32;){if(Z===0)break e;Z--,Y+=L[U++]<<X,X+=8}if(Y!==(4294967295&v.total)){A.msg="incorrect length check",v.mode=30;break}X=Y=0}v.mode=29;case 29:se=1;break e;case 30:se=-3;break e;case 31:return-4;default:return p}return A.next_out=H,A.avail_out=ee,A.next_in=U,A.avail_in=Z,v.hold=Y,v.bits=X,(v.wsize||ie!==A.avail_out&&v.mode<30&&(v.mode<27||T!==4))&&F(A,A.output,A.next_out,ie-A.avail_out)?(v.mode=31,-4):(pe-=A.avail_in,ie-=A.avail_out,A.total_in+=pe,A.total_out+=ie,v.total+=ie,v.wrap&&ie&&(A.adler=v.check=v.flags?f(v.check,B,ie,A.next_out-ie):d(v.check,B,ie,A.next_out-ie)),A.data_type=v.bits+(v.last?64:0)+(v.mode===12?128:0)+(v.mode===20||v.mode===15?256:0),(pe==0&&ie===0||T===4)&&se===m&&(se=-5),se)},s.inflateEnd=function(A){if(!A||!A.state)return p;var T=A.state;return T.window&&(T.window=null),A.state=null,m},s.inflateGetHeader=function(A,T){var v;return A&&A.state?(2&(v=A.state).wrap)==0?p:((v.head=T).done=!1,m):p},s.inflateSetDictionary=function(A,T){var v,L=T.length;return A&&A.state?(v=A.state).wrap!==0&&v.mode!==11?p:v.mode===11&&d(1,T,L,0)!==v.check?-3:F(A,T,L,L)?(v.mode=31,-4):(v.havedict=1,m):p},s.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,n,s){var i=t("../utils/common"),d=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],b=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];n.exports=function(u,g,m,p,S,w,E,C){var _,D,O,$,W,J,k,P,R,F=C.bits,A=0,T=0,v=0,L=0,B=0,U=0,H=0,Z=0,ee=0,Y=0,X=null,pe=0,ie=new i.Buf16(16),te=new i.Buf16(16),ge=null,ce=0;for(A=0;A<=15;A++)ie[A]=0;for(T=0;T<p;T++)ie[g[m+T]]++;for(B=F,L=15;1<=L&&ie[L]===0;L--);if(L<B&&(B=L),L===0)return S[w++]=20971520,S[w++]=20971520,C.bits=1,0;for(v=1;v<L&&ie[v]===0;v++);for(B<v&&(B=v),A=Z=1;A<=15;A++)if(Z<<=1,(Z-=ie[A])<0)return-1;if(0<Z&&(u===0||L!==1))return-1;for(te[1]=0,A=1;A<15;A++)te[A+1]=te[A]+ie[A];for(T=0;T<p;T++)g[m+T]!==0&&(E[te[g[m+T]]++]=T);if(J=u===0?(X=ge=E,19):u===1?(X=d,pe-=257,ge=f,ce-=257,256):(X=l,ge=b,-1),A=v,W=w,H=T=Y=0,O=-1,$=(ee=1<<(U=B))-1,u===1&&852<ee||u===2&&592<ee)return 1;for(;;){for(k=A-H,R=E[T]<J?(P=0,E[T]):E[T]>J?(P=ge[ce+E[T]],X[pe+E[T]]):(P=96,0),_=1<<A-H,v=D=1<<U;S[W+(Y>>H)+(D-=_)]=k<<24|P<<16|R|0,D!==0;);for(_=1<<A-1;Y&_;)_>>=1;if(_!==0?(Y&=_-1,Y+=_):Y=0,T++,--ie[A]==0){if(A===L)break;A=g[m+E[T]]}if(B<A&&(Y&$)!==O){for(H===0&&(H=B),W+=v,Z=1<<(U=A-H);U+H<L&&!((Z-=ie[U+H])<=0);)U++,Z<<=1;if(ee+=1<<U,u===1&&852<ee||u===2&&592<ee)return 1;S[O=Y&$]=B<<24|U<<16|W-w|0}}return Y!==0&&(S[W+Y]=A-H<<24|64<<16|0),C.bits=B,0}},{"../utils/common":41}],51:[function(t,n,s){n.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,n,s){var i=t("../utils/common"),d=0,f=1;function l(K){for(var ne=K.length;0<=--ne;)K[ne]=0}var b=0,u=29,g=256,m=g+1+u,p=30,S=19,w=2*m+1,E=15,C=16,_=7,D=256,O=16,$=17,W=18,J=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],P=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],R=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],F=new Array(2*(m+2));l(F);var A=new Array(2*p);l(A);var T=new Array(512);l(T);var v=new Array(256);l(v);var L=new Array(u);l(L);var B,U,H,Z=new Array(p);function ee(K,ne,me,we,fe){this.static_tree=K,this.extra_bits=ne,this.extra_base=me,this.elems=we,this.max_length=fe,this.has_stree=K&&K.length}function Y(K,ne){this.dyn_tree=K,this.max_code=0,this.stat_desc=ne}function X(K){return K<256?T[K]:T[256+(K>>>7)]}function pe(K,ne){K.pending_buf[K.pending++]=255&ne,K.pending_buf[K.pending++]=ne>>>8&255}function ie(K,ne,me){K.bi_valid>C-me?(K.bi_buf|=ne<<K.bi_valid&65535,pe(K,K.bi_buf),K.bi_buf=ne>>C-K.bi_valid,K.bi_valid+=me-C):(K.bi_buf|=ne<<K.bi_valid&65535,K.bi_valid+=me)}function te(K,ne,me){ie(K,me[2*ne],me[2*ne+1])}function ge(K,ne){for(var me=0;me|=1&K,K>>>=1,me<<=1,0<--ne;);return me>>>1}function ce(K,ne,me){var we,fe,je=new Array(E+1),Ie=0;for(we=1;we<=E;we++)je[we]=Ie=Ie+me[we-1]<<1;for(fe=0;fe<=ne;fe++){var le=K[2*fe+1];le!==0&&(K[2*fe]=ge(je[le]++,le))}}function he(K){var ne;for(ne=0;ne<m;ne++)K.dyn_ltree[2*ne]=0;for(ne=0;ne<p;ne++)K.dyn_dtree[2*ne]=0;for(ne=0;ne<S;ne++)K.bl_tree[2*ne]=0;K.dyn_ltree[2*D]=1,K.opt_len=K.static_len=0,K.last_lit=K.matches=0}function ve(K){8<K.bi_valid?pe(K,K.bi_buf):0<K.bi_valid&&(K.pending_buf[K.pending++]=K.bi_buf),K.bi_buf=0,K.bi_valid=0}function xe(K,ne,me,we){var fe=2*ne,je=2*me;return K[fe]<K[je]||K[fe]===K[je]&&we[ne]<=we[me]}function ue(K,ne,me){for(var we=K.heap[me],fe=me<<1;fe<=K.heap_len&&(fe<K.heap_len&&xe(ne,K.heap[fe+1],K.heap[fe],K.depth)&&fe++,!xe(ne,we,K.heap[fe],K.depth));)K.heap[me]=K.heap[fe],me=fe,fe<<=1;K.heap[me]=we}function Ee(K,ne,me){var we,fe,je,Ie,le=0;if(K.last_lit!==0)for(;we=K.pending_buf[K.d_buf+2*le]<<8|K.pending_buf[K.d_buf+2*le+1],fe=K.pending_buf[K.l_buf+le],le++,we===0?te(K,fe,ne):(te(K,(je=v[fe])+g+1,ne),(Ie=J[je])!==0&&ie(K,fe-=L[je],Ie),te(K,je=X(--we),me),(Ie=k[je])!==0&&ie(K,we-=Z[je],Ie)),le<K.last_lit;);te(K,D,ne)}function Ne(K,ne){var me,we,fe,je=ne.dyn_tree,Ie=ne.stat_desc.static_tree,le=ne.stat_desc.has_stree,_e=ne.stat_desc.elems,Te=-1;for(K.heap_len=0,K.heap_max=w,me=0;me<_e;me++)je[2*me]!==0?(K.heap[++K.heap_len]=Te=me,K.depth[me]=0):je[2*me+1]=0;for(;K.heap_len<2;)je[2*(fe=K.heap[++K.heap_len]=Te<2?++Te:0)]=1,K.depth[fe]=0,K.opt_len--,le&&(K.static_len-=Ie[2*fe+1]);for(ne.max_code=Te,me=K.heap_len>>1;1<=me;me--)ue(K,je,me);for(fe=_e;me=K.heap[1],K.heap[1]=K.heap[K.heap_len--],ue(K,je,1),we=K.heap[1],K.heap[--K.heap_max]=me,K.heap[--K.heap_max]=we,je[2*fe]=je[2*me]+je[2*we],K.depth[fe]=(K.depth[me]>=K.depth[we]?K.depth[me]:K.depth[we])+1,je[2*me+1]=je[2*we+1]=fe,K.heap[1]=fe++,ue(K,je,1),2<=K.heap_len;);K.heap[--K.heap_max]=K.heap[1],(function(Re,Ze){var z,j,I,V,ae,be,ye=Ze.dyn_tree,ze=Ze.max_code,sa=Ze.stat_desc.static_tree,Xe=Ze.stat_desc.has_stree,ta=Ze.stat_desc.extra_bits,Ye=Ze.stat_desc.extra_base,Ot=Ze.stat_desc.max_length,rn=0;for(V=0;V<=E;V++)Re.bl_count[V]=0;for(ye[2*Re.heap[Re.heap_max]+1]=0,z=Re.heap_max+1;z<w;z++)Ot<(V=ye[2*ye[2*(j=Re.heap[z])+1]+1]+1)&&(V=Ot,rn++),ye[2*j+1]=V,ze<j||(Re.bl_count[V]++,ae=0,Ye<=j&&(ae=ta[j-Ye]),be=ye[2*j],Re.opt_len+=be*(V+ae),Xe&&(Re.static_len+=be*(sa[2*j+1]+ae)));if(rn!==0){do{for(V=Ot-1;Re.bl_count[V]===0;)V--;Re.bl_count[V]--,Re.bl_count[V+1]+=2,Re.bl_count[Ot]--,rn-=2}while(0<rn);for(V=Ot;V!==0;V--)for(j=Re.bl_count[V];j!==0;)ze<(I=Re.heap[--z])||(ye[2*I+1]!==V&&(Re.opt_len+=(V-ye[2*I+1])*ye[2*I],ye[2*I+1]=V),j--)}})(K,ne),ce(je,Te,K.bl_count)}function N(K,ne,me){var we,fe,je=-1,Ie=ne[1],le=0,_e=7,Te=4;for(Ie===0&&(_e=138,Te=3),ne[2*(me+1)+1]=65535,we=0;we<=me;we++)fe=Ie,Ie=ne[2*(we+1)+1],++le<_e&&fe===Ie||(le<Te?K.bl_tree[2*fe]+=le:fe!==0?(fe!==je&&K.bl_tree[2*fe]++,K.bl_tree[2*O]++):le<=10?K.bl_tree[2*$]++:K.bl_tree[2*W]++,je=fe,Te=(le=0)===Ie?(_e=138,3):fe===Ie?(_e=6,3):(_e=7,4))}function se(K,ne,me){var we,fe,je=-1,Ie=ne[1],le=0,_e=7,Te=4;for(Ie===0&&(_e=138,Te=3),we=0;we<=me;we++)if(fe=Ie,Ie=ne[2*(we+1)+1],!(++le<_e&&fe===Ie)){if(le<Te)for(;te(K,fe,K.bl_tree),--le!=0;);else fe!==0?(fe!==je&&(te(K,fe,K.bl_tree),le--),te(K,O,K.bl_tree),ie(K,le-3,2)):le<=10?(te(K,$,K.bl_tree),ie(K,le-3,3)):(te(K,W,K.bl_tree),ie(K,le-11,7));je=fe,Te=(le=0)===Ie?(_e=138,3):fe===Ie?(_e=6,3):(_e=7,4)}}l(Z);var Q=!1;function q(K,ne,me,we){ie(K,(b<<1)+(we?1:0),3),(function(fe,je,Ie,le){ve(fe),pe(fe,Ie),pe(fe,~Ie),i.arraySet(fe.pending_buf,fe.window,je,Ie,fe.pending),fe.pending+=Ie})(K,ne,me)}s._tr_init=function(K){Q||((function(){var ne,me,we,fe,je,Ie=new Array(E+1);for(fe=we=0;fe<u-1;fe++)for(L[fe]=we,ne=0;ne<1<<J[fe];ne++)v[we++]=fe;for(v[we-1]=fe,fe=je=0;fe<16;fe++)for(Z[fe]=je,ne=0;ne<1<<k[fe];ne++)T[je++]=fe;for(je>>=7;fe<p;fe++)for(Z[fe]=je<<7,ne=0;ne<1<<k[fe]-7;ne++)T[256+je++]=fe;for(me=0;me<=E;me++)Ie[me]=0;for(ne=0;ne<=143;)F[2*ne+1]=8,ne++,Ie[8]++;for(;ne<=255;)F[2*ne+1]=9,ne++,Ie[9]++;for(;ne<=279;)F[2*ne+1]=7,ne++,Ie[7]++;for(;ne<=287;)F[2*ne+1]=8,ne++,Ie[8]++;for(ce(F,m+1,Ie),ne=0;ne<p;ne++)A[2*ne+1]=5,A[2*ne]=ge(ne,5);B=new ee(F,J,g+1,m,E),U=new ee(A,k,0,p,E),H=new ee(new Array(0),P,0,S,_)})(),Q=!0),K.l_desc=new Y(K.dyn_ltree,B),K.d_desc=new Y(K.dyn_dtree,U),K.bl_desc=new Y(K.bl_tree,H),K.bi_buf=0,K.bi_valid=0,he(K)},s._tr_stored_block=q,s._tr_flush_block=function(K,ne,me,we){var fe,je,Ie=0;0<K.level?(K.strm.data_type===2&&(K.strm.data_type=(function(le){var _e,Te=4093624447;for(_e=0;_e<=31;_e++,Te>>>=1)if(1&Te&&le.dyn_ltree[2*_e]!==0)return d;if(le.dyn_ltree[18]!==0||le.dyn_ltree[20]!==0||le.dyn_ltree[26]!==0)return f;for(_e=32;_e<g;_e++)if(le.dyn_ltree[2*_e]!==0)return f;return d})(K)),Ne(K,K.l_desc),Ne(K,K.d_desc),Ie=(function(le){var _e;for(N(le,le.dyn_ltree,le.l_desc.max_code),N(le,le.dyn_dtree,le.d_desc.max_code),Ne(le,le.bl_desc),_e=S-1;3<=_e&&le.bl_tree[2*R[_e]+1]===0;_e--);return le.opt_len+=3*(_e+1)+5+5+4,_e})(K),fe=K.opt_len+3+7>>>3,(je=K.static_len+3+7>>>3)<=fe&&(fe=je)):fe=je=me+5,me+4<=fe&&ne!==-1?q(K,ne,me,we):K.strategy===4||je===fe?(ie(K,2+(we?1:0),3),Ee(K,F,A)):(ie(K,4+(we?1:0),3),(function(le,_e,Te,Re){var Ze;for(ie(le,_e-257,5),ie(le,Te-1,5),ie(le,Re-4,4),Ze=0;Ze<Re;Ze++)ie(le,le.bl_tree[2*R[Ze]+1],3);se(le,le.dyn_ltree,_e-1),se(le,le.dyn_dtree,Te-1)})(K,K.l_desc.max_code+1,K.d_desc.max_code+1,Ie+1),Ee(K,K.dyn_ltree,K.dyn_dtree)),he(K),we&&ve(K)},s._tr_tally=function(K,ne,me){return K.pending_buf[K.d_buf+2*K.last_lit]=ne>>>8&255,K.pending_buf[K.d_buf+2*K.last_lit+1]=255&ne,K.pending_buf[K.l_buf+K.last_lit]=255&me,K.last_lit++,ne===0?K.dyn_ltree[2*me]++:(K.matches++,ne--,K.dyn_ltree[2*(v[me]+g+1)]++,K.dyn_dtree[2*X(ne)]++),K.last_lit===K.lit_bufsize-1},s._tr_align=function(K){ie(K,2,3),te(K,D,F),(function(ne){ne.bi_valid===16?(pe(ne,ne.bi_buf),ne.bi_buf=0,ne.bi_valid=0):8<=ne.bi_valid&&(ne.pending_buf[ne.pending++]=255&ne.bi_buf,ne.bi_buf>>=8,ne.bi_valid-=8)})(K)}},{"../utils/common":41}],53:[function(t,n,s){n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,s){(function(i){(function(d,f){if(!d.setImmediate){var l,b,u,g,m=1,p={},S=!1,w=d.document,E=Object.getPrototypeOf&&Object.getPrototypeOf(d);E=E&&E.setTimeout?E:d,l={}.toString.call(d.process)==="[object process]"?function(O){O7.nextTick(function(){_(O)})}:(function(){if(d.postMessage&&!d.importScripts){var O=!0,$=d.onmessage;return d.onmessage=function(){O=!1},d.postMessage("","*"),d.onmessage=$,O}})()?(g="setImmediate$"+Math.random()+"$",d.addEventListener?d.addEventListener("message",D,!1):d.attachEvent("onmessage",D),function(O){d.postMessage(g+O,"*")}):d.MessageChannel?((u=new MessageChannel).port1.onmessage=function(O){_(O.data)},function(O){u.port2.postMessage(O)}):w&&"onreadystatechange"in w.createElement("script")?(b=w.documentElement,function(O){var $=w.createElement("script");$.onreadystatechange=function(){_(O),$.onreadystatechange=null,b.removeChild($),$=null},b.appendChild($)}):function(O){setTimeout(_,0,O)},E.setImmediate=function(O){typeof O!="function"&&(O=new Function(""+O));for(var $=new Array(arguments.length-1),W=0;W<$.length;W++)$[W]=arguments[W+1];var J={callback:O,args:$};return p[m]=J,l(m),m++},E.clearImmediate=C}function C(O){delete p[O]}function _(O){if(S)setTimeout(_,0,O);else{var $=p[O];if($){S=!0;try{(function(W){var J=W.callback,k=W.args;switch(k.length){case 0:J();break;case 1:J(k[0]);break;case 2:J(k[0],k[1]);break;case 3:J(k[0],k[1],k[2]);break;default:J.apply(f,k)}})($)}finally{C(O),S=!1}}}}function D(O){O.source===d&&typeof O.data=="string"&&O.data.indexOf(g)===0&&_(+O.data.slice(g.length))}})(typeof self>"u"?i===void 0?this:i:self)}).call(this,typeof gn<"u"?gn:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(A4)),A4.exports}var pv=mv();const yv=Cr(pv),xv=Ke()(()=>({audio:{width:"100%",maxWidth:"250px"}}));function wv(e){const{classes:a}=xv(),t={};return e.maxHeight&&(t.maxHeight=e.maxHeight),e.maxWidth&&(t.maxWidth=e.maxWidth),c.jsx("audio",{className:a.audio,src:e.src,style:t,controls:!0})}const vv=Ke()(()=>({image:{width:"100%",height:"100%",objectFit:"cover"}}));function Sv(e){const{classes:a}=vv(),t={};return e.maxHeight&&(t.maxHeight=e.maxHeight),e.maxWidth&&(t.maxWidth=e.maxWidth),c.jsx("img",{className:a.image,alt:e.alt,src:e.src,style:t})}const _v=Ke()(()=>({video:{width:"100%",height:"100%",objectFit:"cover"}}));function Ev(e){const{classes:a}=_v(),t={};return e.maxHeight&&(t.maxHeight=e.maxHeight),e.maxWidth&&(t.maxWidth=e.maxWidth),c.jsx("video",{className:a.video,src:e.src,style:t,controls:!0})}const Cv=Ke()(()=>({wrapper:{display:"flex",justifyContent:"center",alignItems:"center",width:"175px",height:"175px",background:`repeating-linear-gradient(
120
- 45deg,
121
- #efefef,
122
- #efefef 4px,
123
- #ffffff 4px,
124
- #ffffff 8px
125
- )`}}));function jv({children:e}){const{classes:a}=Cv();return c.jsx("div",{className:a.wrapper,children:e})}function I4({icon:e}){return c.jsx(jv,{children:e})}const Av=(e,a,t)=>{const n=!!(t&&/.*\.(mp4|webm|ogv)$/i.test(t)),s=!!(t&&/.*\.(mp3|ogg|oga|wav|webm|m4a|aac|flac)$/i.test(t)),i=!!(t&&/.*\.(jpg|jpeg|png|gif|webp|svg|ico)$/i.test(t));return a?.isVideo||n?c.jsx(Ev,{src:e,maxWidth:"250px",maxHeight:"175px"}):a?.isAudio||s?c.jsx(wv,{src:e,maxWidth:"250px"}):a?.isImage||i?c.jsx(Sv,{maxWidth:"250px",maxHeight:"175px",alt:"Upload Preview",src:e}):a?.isWebsite?c.jsx(I4,{icon:c.jsx(Kb,{})}):a?.type==="folder"?c.jsx(I4,{icon:c.jsx(Zb,{})}):c.jsx(I4,{icon:c.jsx(Yb,{})})},B3=e=>{if(e?.isWebsite)return"Website";if(e?.type==="folder")return"Folder";let a=e?.type||"unknown",t;if(a==="unknown"&&e?.name){const{mime:n}=T1(e.name);t=n==="application/octet-stream"?"file":n}return t||a};function L3({metadata:e,previewUri:a}){const t=x.useMemo(()=>B3(e),[e]),n=x.useMemo(()=>Av(a,e,t),[e,t,a]);return c.jsxs(oe,{mb:4,children:[c.jsx(oe,{bgcolor:"background.paper",children:c.jsxs(Ve,{container:!0,direction:"row",children:[n,c.jsxs(oe,{p:2,children:[e?.hash&&c.jsxs(Me,{children:["Swarm Hash: ",X4(e.hash)]}),e?.name&&e?.name!==e?.hash&&c.jsxs(Me,{children:[e?.type==="folder"?"Folder Name":"Filename",": ",Dm(e?.name)]}),c.jsxs(Me,{children:["Kind: ",t]}),e?.size?c.jsxs(Me,{children:["Size: ",ka(e.size)]}):null]})]})}),e?.type==="folder"&&e.count&&c.jsx(oe,{mt:.25,p:2,bgcolor:"background.paper",children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",alignItems:"center",direction:"row",children:[c.jsx(Me,{variant:"subtitle2",children:"Folder content"}),c.jsxs(Me,{variant:"subtitle2",children:[e.count," items"]})]})})]})}function Iv({reference:e}){const{apiUrl:a}=x.useContext(Le),t=e?za.isValid(e):!1;return c.jsxs(c.Fragment,{children:[c.jsxs(oe,{mb:4,children:[t&&c.jsx(Pa,{label:"Swarm hash",value:e||""}),!t&&c.jsx(R3,{label:"ENS",value:e||"",link:`${a}/bzz/${e}/`})]}),c.jsx(Dt,{children:"Files are accessed through your configured Bee API endpoint."})]})}function Mv({indeterminate:e,value:a,linearProgressProps:t,label:n}){const s=n??(e?"Syncing...":`${Math.round(a)}%`);return c.jsxs(oe,{display:"flex",alignItems:"center",children:[c.jsx(oe,{width:"100%",mr:1,children:c.jsx(jf,{...t,variant:e?"indeterminate":"determinate",value:a})}),c.jsx(oe,{minWidth:35,children:c.jsx(Me,{variant:"body2",color:"textSecondary",children:s})})]})}const Nv=500,kv=10*1e3;function Pv({reference:e}){const{beeApi:a}=x.useContext(Le),[t,n]=x.useState(0),[s,i]=x.useState(!1);return x.useEffect(()=>{if(n(0),i(!1),!a||!e)return;let d=!0,f=null,l=null;const b=async u=>{const g=new AbortController;l=g;const m=setTimeout(()=>g.abort(),kv);try{await a.probeData(e,{signal:g.signal}),d&&n(100)}catch{if(!d)return;u?i(!0):f=setTimeout(()=>b(!0),Nv)}finally{clearTimeout(m)}};return b(!1),()=>{d=!1,l?.abort(),f&&clearTimeout(f)}},[a,e]),c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:2,children:c.jsxs(Dt,{children:["Files are not immediately accessible on the Swarm network. Please wait until your upload is synced to the network."," "]})}),c.jsx(oe,{mb:4,children:c.jsx(Mv,{value:t,indeterminate:t<100&&!s,label:s?"Unknown":void 0})}),s&&c.jsx(oe,{mb:2,children:c.jsx(Dt,{children:"Upload succeeded, but we couldn't confirm it locally. Try refreshing this page — your file has very likely still been uploaded successfully."})})]})}function Tv({onOpen:e,onCancel:a,onDownload:t,onUpdateFeed:n,hasIndexDocument:s,isImage:i,loading:d}){return c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[c.jsxs(ba,{children:[s&&c.jsx(Be,{onClick:e,iconType:z4,disabled:d,children:"View Website"}),i&&c.jsx(Be,{onClick:e,iconType:z4,disabled:d,children:"Open Image"}),c.jsx(Be,{onClick:t,iconType:Jn,disabled:d,loading:d,children:"Download"}),c.jsx(Be,{onClick:a,iconType:jt,disabled:d,cancel:!0,children:"Close"})]}),c.jsx(oe,{mb:1,mr:1,children:c.jsx(Be,{onClick:n,iconType:If,disabled:d,children:"Update Feed"})})]})}function Dv(){const{apiUrl:e,beeApi:a}=x.useContext(Le),{status:t}=x.useContext(We),{hash:n}=us(),i=!!j1().state?.fromUpload,d=da(),{enqueueSnackbar:f}=xa(),[l,b]=x.useState(!0),[u,g]=x.useState(!1),[m,p]=x.useState({}),[S,w]=x.useState(null),[E,C]=x.useState(!1),[_,D]=x.useState(void 0),[O,$]=x.useState(),[W,J]=x.useState(null),k=x.useRef(!0);function P(B,U){const H=Object.keys(B).length,Z=!!(U&&/.*\.(mp4|webm|ogv)$/i.test(U)),ee=!!(U&&/.*\.(mp3|ogg|oga|wav|webm|m4a|aac|flac)$/i.test(U)),Y=!!(U&&/.*\.(jpg|jpeg|png|gif|webp|svg|ico)$/i.test(U));(Y||Z||ee)&&D(`${e}/bzz/${n}`),$({hash:n,type:H>1?"folder":B3(),name:U||n||"",count:H,isWebsite:!!(U&&/.*\.html?$/i.test(U)),isVideo:Z,isAudio:ee,isImage:Y})}async function R(){if(!a||!t.all||!n)return;const[B]=await r1(()=>F3(a,n));if(B){const H=B.collectAndMap();if(delete H[V4],!k.current)return;p(H);const ee=B.getDocsMetadata().indexDocument;if(!k.current)return;w(ee);const[Y]=await r1(()=>a.downloadFile(n,V4));if(!k.current)return;if(Y){const X=Y.data.toJSON();if(X.isVideo||X.isAudio||X.isImage){if(!k.current)return;D(`${e}/bzz/${n}`)}if(!k.current)return;$({...X,hash:n})}else P(H,ee);return}const[U]=await r1(()=>a.downloadData(n));k.current&&(U?(J(U.toUint8Array()),p({[n]:n}),w(null),$({hash:n,type:"application/octet-stream",name:n,count:1,isWebsite:!1,isVideo:!1,isAudio:!1,isImage:!1})):(C(!0),f("The specified hash does not contain valid content.",{variant:"error"})))}function F(){if(O?.isImage){const B=`${e}/bzz/${n}`,U=(O?.name??n).replace(/[&<>"']/g,Y=>`&#${Y.charCodeAt(0)};`),H=`<!DOCTYPE html><html><head><title>${U}</title></head><body style="margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center"><img src="${B}" alt="${U}" style="max-width:100%;max-height:100vh;object-fit:contain"></body></html>`,Z=new Blob([H],{type:"text/html"}),ee=URL.createObjectURL(Z);window.open(ee,"_blank","noopener,noreferrer")}else window.open(`${e}/bzz/${n}/`,"_blank","noopener,noreferrer")}function A(){d.length>0?d(-1):d(Fe.UPLOAD)}function T(){if(!n){console.error("hash is invalid");return}d(Fe.ACCOUNT_FEEDS_UPDATE.replace(":hash",n))}x.useEffect(()=>(k.current=!0,()=>{k.current=!1}),[]),x.useEffect(()=>{b(!0),R().finally(()=>{k.current&&b(!1)})},[n]);function v(B){const U=c.jsxs("span",{children:["Error: ",B instanceof Error?B.message:String(B)]});f(U,{variant:"error"}),g(!1)}async function L(){if(!a||!n){console.error("hash is invalid");return}if(Y7(Qe.downloadHistory,n,Eo(n,S)),g(!0),W){const B=new ArrayBuffer(W.length);new Uint8Array(B).set(W);const U=new Blob([B],{type:"application/octet-stream"});c1.saveAs(U,n),g(!1);return}if(Object.keys(m).length===1){const B=Object.keys(m)[0],U=Object.values(m)[0];let H;try{H=await a.downloadData(U)}catch(pe){console.error("Failed to download file: ",pe),v(pe);return}const Z=H.toUint8Array(),ee=new ArrayBuffer(Z.length);new Uint8Array(ee).set(Z);const X=new Blob([ee],{type:O?.type||"application/octet-stream"});c1.saveAs(X,O?.name||B||n)}else{const B=new yv;for(const[H,Z]of Object.entries(m))try{B.file(H,(await a.downloadData(Z)).toUint8Array())}catch(ee){console.error("Failed to download files: ",ee),v(ee);return}let U;try{U=await B.generateAsync({type:"blob"})}catch(H){console.error("Failed to compress file: ",H),v(H);return}c1.saveAs(U,n+".zip")}k.current&&g(!1)}return t.all?l?c.jsx(En,{}):E?c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:"Not Found"}),c.jsx(Me,{children:"The specified hash is not found."})]}):c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:4,children:c.jsx(L3,{metadata:O,previewUri:_})}),c.jsx(oe,{mb:4,children:c.jsx(Iv,{isWebsite:O?.isWebsite,reference:n})}),i&&c.jsx(oe,{mb:4,children:c.jsx(Pv,{reference:n})}),c.jsx(Tv,{onOpen:F,onCancel:A,onDownload:L,onUpdateFeed:T,hasIndexDocument:!!O?.isWebsite,isImage:!!O?.isImage,loading:u})]}):c.jsx(Vt,{})}const Rv=Ke()(()=>({wrapper:{height:"52px",display:"flex",flex:1,justifyContent:"center",alignItems:"center"},todo:{background:"#f7f7f7",color:"#c9c9c9"},inProgress:{background:"#ffffff",color:"#242424",height:"52px"},done:{background:"#f7f7f7",color:"#606060",height:"52px"}}));function Ms({steps:e,index:a}){const{classes:t}=Rv();function n(s){return s===a?t.inProgress:s<a?t.done:t.todo}return c.jsx(Ve,{container:!0,justifyContent:"space-between",children:e.map((s,i)=>c.jsx("div",{className:`${t.wrapper} ${n(i)}`,children:c.jsx(Me,{children:s})},i))})}const Ov=Ke()(()=>({link:{color:"#dd7700",textDecoration:"underline","&:hover":{textDecoration:"none","@media (hover: none)":{textDecoration:"none"}}},stampVolumeWrapper:{width:"fit-content","& button":{marginLeft:4,width:24,padding:2}}}));function U3({onFinished:e}){const{classes:a}=Ov(),{chainState:t,walletBalance:n}=x.useContext(We),{refresh:s}=x.useContext(Cn),{beeApi:i}=x.useContext(Le),[d,f]=x.useState(""),[l,b]=x.useState(""),[u,g]=x.useState(""),[m,p]=x.useState(!1),[S,w]=x.useState(""),[E,C]=x.useState(""),[_,D]=x.useState(!1),{enqueueSnackbar:O}=xa();function $(R){const F=t&&t.currentPrice;if(R<=0||!F)return"-";const A=t.currentPrice;try{return`${Gr(Gf(R,A,5).toSeconds())} (with price of ${A} PLUR per block)`}catch{return`0 seconds (with price of ${A} PLUR per block)`}}function W(R,F){return F<=0||isNaN(R)||R<W7||R>q7?"-":`${G7(R,F).toSignificantDigits(4)} xBZZ`}async function J(){if(!d||!l||!i)return;let R=!1;try{const F=BigInt(l),A=Number.parseInt(d);if(Do(G7(A,F),n,O))return;D(!0);const T={waitForUsable:!1,label:u||void 0,immutableFlag:m};await i.createPostageBatch(F.toString(),A,T),await s(),R=!0}catch(F){console.error(F),O(`Failed to buy postage stamp: ${st(F)}`,{variant:"error"})}finally{D(!1)}R&&(O("Purchase initiated. Wait a few seconds, stamp will appear soon.",{variant:"success"}),e())}function k(R){let F="0";if(!R)C("Required field");else if(R.indexOf(".")>-1)C("Amount must be an integer");else{const A=new Fo(R);A.isNaN()?C("Amount must contain only digits"):A.isLessThanOrEqualTo(0)?C("Amount must be greater than 0"):(C(""),F=R)}b(F)}function P(){const R=parseInt(d,10);if(S||isNaN(R)||R<W7||R>q7)return"-";const F=ka(Eu(R)),A=ka(Ar(R,!1,Xa.OFF));return c.jsxs(Ve,{container:!0,alignItems:"center",className:a.stampVolumeWrapper,children:[c.jsxs(Me,{children:["Theoretical: ~",F," / Effective: ~",A]}),c.jsx(Sn,{onClick:()=>window.open("https://docs.ethswarm.org/docs/learn/technology/contracts/postage-stamp/#effective-utilisation-table","_blank","noopener,noreferrer"),children:c.jsx(E1,{})})]})}return c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:4,children:c.jsxs(Me,{children:["To upload data to Swarm network, you will need to purchase a postage stamp. If you're not familiar with this, please read"," ",c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/postage-stamps/",target:"_blank",rel:"noreferrer",children:"this guide"}),"."]})}),c.jsxs(oe,{mb:2,children:[c.jsx($t,{name:"depth",label:"Depth",onChange:R=>Lo(R.target.value,w,f)}),c.jsx(oe,{mt:.25,sx:{bgcolor:"#f6f6f6"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",alignItems:"center",children:[c.jsx(Me,{children:"Corresponding file size"}),P()]})}),S&&c.jsx(Me,{children:S})]}),c.jsxs(oe,{mb:2,children:[c.jsx($t,{name:"amount",label:"Amount",onChange:R=>k(R.target.value)}),c.jsx(oe,{mt:.25,sx:{bgcolor:"#f6f6f6"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[c.jsx(Me,{children:"Corresponding TTL (Time to live)"}),c.jsx(Me,{children:!E&&l?$(BigInt(l)):"-"})]})}),E&&c.jsx(Me,{children:E})]}),c.jsx(oe,{mb:2,children:c.jsx($t,{name:"label",label:"Label",optional:!0,onChange:R=>g(R.target.value)})}),c.jsxs(oe,{mb:2,children:[c.jsx(m1,{label:"Immutable",value:m?"Yes":"No",onChange:R=>p(R.target.value==="Yes"),options:[{value:"Yes",label:"Yes"},{value:"No",label:"No"}]}),c.jsx(oe,{mt:.25,sx:{bgcolor:"#f6f6f6"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[m&&c.jsx(Me,{children:"Once an immutable stamp is maxed out, it disallows further content uploads, thereby safeguarding your previously uploaded content from unintentional overwriting."}),!m&&c.jsx(Me,{children:"When a mutable stamp reaches full capacity, it still permits new content uploads. However, this comes with the caveat of overwriting previously uploaded content associated with the same stamp."})]})})]}),c.jsx(oe,{mb:4,sx:{bgcolor:"#fcf2e8"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[c.jsx(Me,{children:"Indicative Price"}),c.jsx(Me,{children:!E&&!S&&l&&d?W(parseInt(d,10),BigInt(l)):"-"})]})}),c.jsxs(Ve,{container:!0,justifyContent:"space-between",alignItems:"center",children:[c.jsx(Ve,{children:c.jsx(Be,{disabled:_||!!S||!!E||!d||!l,onClick:J,iconType:ft,loading:_,children:"Buy New Stamp"})}),c.jsx(Ve,{children:c.jsx(Qt,{to:Fe.ACCOUNT_STAMPS_NEW_STANDARD,className:a.link,children:"Standard mode"})})]})]})}function Fv({onSelect:e,defaultValue:a}){const{stamps:t}=x.useContext(Cn),[n,s]=x.useState(a??"");function i(d){if(s(d),!t)return;const f=t.find(l=>l.batchID.toHex()===d);f&&e(f)}return c.jsx(m1,{options:(t||[]).map(d=>({label:d.label?d.batchID.toHex().slice(0,8)+" - "+d.label:d.batchID.toHex().slice(0,8),value:d.batchID.toHex()})),onChange:d=>i(d.target.value),value:n,placeholder:"Please select a postage stamp..."})}function Bv({stamp:e}){return c.jsxs(oe,{mb:4,children:[c.jsx(oe,{mb:.25,p:2,bgcolor:"background.paper",children:c.jsx(Me,{variant:"subtitle2",children:"Associated postage stamp:"})}),c.jsx(oe,{bgcolor:"background.paper",children:c.jsx(qo,{stamp:e,shorten:!0})})]})}var N7=(e=>(e.Buy="BUY",e.Select="SELECT",e))(N7||{});function Lv({step:e,onUpload:a,onCancel:t,onGoBack:n,onProceed:s,isUploading:i,hasStamp:d,hasAnyStamps:f,uploadLabel:l,stampMode:b,setStampMode:u}){return e===0?c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:1,children:c.jsxs(ba,{children:[c.jsx(Be,{onClick:s,iconType:kd,children:"Add Postage Stamp"}),c.jsx(Be,{onClick:t,iconType:jt,cancel:!0,children:"Cancel"})]})}),c.jsxs(Dt,{children:["You need a postage stamp to upload. Find out more in"," ",c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/postage-stamps/",target:"_blank",rel:"noreferrer",children:"this guide"}),"."]})]}):e===1?c.jsxs(Ve,{container:!0,direction:"row",justifyContent:"space-between",children:[c.jsxs(ba,{children:[b==="SELECT"&&c.jsx(Be,{onClick:s,iconType:ft,disabled:!d,children:"Proceed With Selected Stamp"}),c.jsx(Be,{onClick:n,iconType:Pd,cancel:!0,children:"Back To Preview"})]}),f&&c.jsx(Be,{disabled:b==="BUY"&&!f,onClick:()=>u(b==="BUY"?"SELECT":"BUY"),iconType:b==="BUY"?kd:B7,children:b==="BUY"?"Use Existing Stamp":"Buy New Stamp"})]}):e===2?c.jsxs(ba,{children:[c.jsx(Be,{onClick:a,iconType:ft,disabled:i,loading:i,children:l}),c.jsx(Be,{onClick:n,iconType:Pd,disabled:i,cancel:!0,children:"Change Postage Stamp"})]}):c.jsx(c.Fragment,{})}function Uv(){const[e,a]=x.useState(0),[t,n]=x.useState(N7.Select),[s,i]=x.useState(null),[d,f]=x.useState(!1),[l,b]=x.useState(!1),{stamps:u,refresh:g}=x.useContext(Cn),{beeApi:m}=x.useContext(Le),{files:p,setFiles:S,uploadOrigin:w,metadata:E,previewUri:C}=x.useContext(D1),{identities:_,setIdentities:D}=x.useContext(_n),{status:O}=x.useContext(We),{enqueueSnackbar:$}=xa(),W=da(),J=u!==null&&u.length>0;if(x.useEffect(()=>{g()},[g]),O.all===Ge.ERROR)return c.jsx(Vt,{});if(!p.length)return S([]),W(Fe.UPLOAD,{replace:!0}),c.jsx(c.Fragment,{});const k=w.uuid?_.find(T=>T.uuid===w.uuid):null,P=()=>{w.origin===Wn.Upload||k.type===Aa.PrivateKey?R():b(!0)},R=async T=>{if(!m||!p.length||!s||!E)return;let v=p.map(ee=>y4(ee)),L;if(p.length===1)L=unescape(encodeURIComponent(p[0].name));else if(p.length>1){const ee=qr(p);if(ee)if(ee.commonPrefix){const Y=ee.commonPrefix.length;L=ee.indexPath.slice(Y),v=p.map(X=>{const pe=X.path.slice(Y);return y4(X,pe)})}else L=ee.indexPath}const B=p[0].lastModified,U=p.length===1,H=new File([JSON.stringify(E)],V4,{type:"application/json",lastModified:B});v.push(y4(H)),f(!0),await Uo(s.batchID,m),(U?m.uploadFile(s.batchID,v[0],v[0].name,{deferred:!1,contentType:v[0].type||T1(v[0].name).mime}):m.uploadFiles(s.batchID,v,{indexDocument:L,deferred:!1})).then(ee=>{Y7(Qe.uploadHistory,ee.reference.toHex(),Wo(p)),w.origin===Wn.Upload?W(Fe.HASH.replace(":hash",ee.reference.toHex()),{replace:!0,state:{fromUpload:!0}}):zo(m,k,ee.reference,s.batchID,T).then(()=>{Ss(_,k),D([..._]),W(Fe.ACCOUNT_FEEDS_VIEW.replace(":uuid",w.uuid),{replace:!0})})}).catch(ee=>{console.error(ee),$(`Error uploading: ${ee.message}`,{variant:"error"}),f(!1)})},F=()=>{a(0),S([]),i(null),f(!1)},A=T=>{R(T)};return c.jsxs(c.Fragment,{children:[l&&c.jsx(Zo,{loading:d,feedName:k.name,onCancel:()=>b(!1),onProceed:A}),k&&c.jsx(qa,{children:`Update "${k.name}"`}),!k&&c.jsx(qa,{children:"Upload"}),c.jsx(oe,{mb:4,children:c.jsx(Ms,{steps:["Preview","Add postage stamp","Upload to node"],index:e})}),(e===0||e===2)&&c.jsx(L3,{metadata:E,previewUri:C}),e===1&&c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:2,children:J&&t===N7.Select?c.jsx(Fv,{onSelect:T=>i(T),defaultValue:s?.batchID.toHex()}):c.jsx(U3,{onFinished:()=>n(N7.Select)})}),c.jsx(oe,{mb:4,children:c.jsxs(Dt,{children:["Please refer to the"," ",c.jsx("a",{href:"https://docs.ethswarm.org/api/#tag/Postage-Stamps/paths/~1stamps~1{amount}~1{depth}/post",target:"_blank",rel:"noreferrer",children:"official Bee documentation"})," ","to understand these values."]})})]}),e===2&&s&&c.jsxs(c.Fragment,{children:[c.jsx(Bv,{stamp:s}),c.jsx(oe,{mb:4,children:c.jsx(Dt,{children:"Please do not close the application until your file is uploaded to the Swarm network!"})})]}),c.jsx(Lv,{step:e,onCancel:F,onGoBack:()=>a(T=>T-1),onProceed:()=>a(T=>T+1),onUpload:P,isUploading:d,hasStamp:!!s,hasAnyStamps:J,uploadLabel:k?"Update Feed":"Upload To Your Node",stampMode:t,setStampMode:n})]})}function $v(){const{status:e}=x.useContext(We);return e.all===Ge.ERROR?c.jsx(Vt,{}):c.jsxs(c.Fragment,{children:[c.jsx(Vo,{active:Wn.Upload}),c.jsx(Ko,{showHelp:!0,uploadOrigin:Q7}),c.jsx(O3,{title:"Upload History",localStorageKey:Qe.uploadHistory})]})}const $3={giftWallets:[],addGiftWallet:()=>{}},ai=x.createContext($3);ai.Consumer;function zv({children:e}){const[a,t]=x.useState($3.giftWallets),{rpcProvider:n}=x.useContext(Le);x.useEffect(()=>{if(n===null)return;const i=localStorage.getItem(Qe.giftWallets);i&&t(JSON.parse(i).map(d=>new yn(d,n)))},[n]);const s=x.useCallback(i=>{t(d=>{const f=[...d,i];return localStorage.setItem(Qe.giftWallets,JSON.stringify(f.map(l=>l.privateKey))),f})},[]);return c.jsx(ai.Provider,{value:{giftWallets:a,addGiftWallet:s},children:e})}const z3="0xdBF3Ea6F5beE45c02255B2c26a16F300502F68da",G3=[{type:"function",stateMutability:"view",payable:!1,outputs:[{type:"uint256",name:""}],name:"balanceOf",inputs:[{type:"address",name:"_owner"}],constant:!0},{type:"function",stateMutability:"nonpayable",payable:!1,outputs:[{type:"bool",name:""}],name:"transfer",inputs:[{type:"address",name:"_to"},{type:"uint256",name:"_value"}],constant:!1}],P2=new Map;async function Gv(e){const a=P2.get(e);if(a!==void 0)return a;const t=J7(e);try{const n=await t.getNetwork();return P2.set(e,n.chainId),n.chainId}catch(n){throw new Error(`RPC endpoint not reachable at ${e}`,{cause:n})}}async function T2(e,a){const t=Mo(e),n=await a.getBalance(t);return Na.fromWei(n.toString())}async function Wv(e){return(await e.getBlockNumber()).toString()}async function D2(e,a,t=z3){const n=Mo(e),i=await new Wf(t,G3,a).balanceOf.staticCall(n);return _a.fromPLUR(i.toString())}function W3(e,a){return e.maxFeePerGas&&e.maxPriorityFeePerGas?{maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,type:2}:{gasPrice:a??e.gasPrice??BigInt(0),type:0}}async function qv(e,a){e=new nn(e);const t=await ti(e,a);if(!t.provider)throw new Error("Signer provider is invalid!");const n=BigInt(21e3),s=await t.provider.getFeeData(),i=s.maxFeePerGas??s.gasPrice??BigInt(0);return{gasPrice:Na.fromWei(i.toString()),totalCost:Na.fromWei((i*n).toString())}}async function Hv(e,a,t,n,s){e=new nn(e),a=new gs(a);const i=await ti(e,n);if(!i.provider)throw new Error("Signer provider is invalid!");const d=await i.provider.getFeeData(),f=BigInt((s??Na.fromWei(d.gasPrice?.toString()||"0")).toWeiString()),l=await i.sendTransaction({to:a.toChecksum(),value:BigInt(t.toWeiString()),gasLimit:BigInt(21e3),...W3(d,f)}),b=await l.wait(1);if(!b)throw new Error("Invalid receipt!");return{transaction:l,receipt:b}}async function Vv(e,a,t,n){e=new nn(e),a=new gs(a);const s=await ti(e,n);if(!s.provider)throw new Error("Signer provider is invalid!");const i=await s.provider.getFeeData(),f=await new Wf(z3,G3,s).transfer(a.toChecksum(),t.toPLURBigInt(),{...W3(i),gasLimit:BigInt(1e5)}),l=await f.wait(1);if(!l)throw new Error("Invalid receipt!");return{transaction:f,receipt:l}}async function ti(e,a){const t=Yc(a);try{await t.getNetwork()}catch(n){throw new Error(`RPC endpoint not reachable at ${a}`,{cause:n})}return new yn(e.toString(),t)}const mt={getNetworkChainId:Gv,sendNativeTransaction:Hv,sendBzzTransaction:Vv,_eth_getBalance:T2,_eth_getBalanceERC20:D2,eth_getBalance:Td(T2,1e3),eth_getBalanceERC20:Td(D2,1e3),eth_getBlockByNumber:Wv};class ni{constructor(a,t,n,s){this.address=a,this.bzz=t,this.dai=n,this.provider=s}address;bzz;dai;provider;static async make(a,t){const n=await mt._eth_getBalanceERC20(a,t),s=await mt._eth_getBalance(a,t);return new ni(a,n,s,t)}async refresh(){return this.bzz=await mt._eth_getBalanceERC20(this.address,this.provider),this.dai=await mt._eth_getBalance(this.address,this.provider),this}}class Ns{constructor(a,t,n,s){this.wallet=a,this.bzz=t,this.dai=n,this.provider=s,this.address=a.address,this.privateKey=a.privateKey}wallet;bzz;dai;provider;address;privateKey;static async make(a,t){const n=typeof a=="string"?new yn(a,t):a,s=n.address,i=await mt._eth_getBalanceERC20(s,t),d=await mt._eth_getBalance(s,t);return new Ns(n,i,d,t)}async refresh(){return this.bzz=await mt._eth_getBalanceERC20(this.address,this.provider),this.dai=await mt._eth_getBalance(this.address,this.provider),this}async transfer(a,t){this.bzz.gt(_a.fromDecimalString("0.05"))&&(await mt.sendBzzTransaction(this.privateKey,a,this.bzz,t),await this.refresh());const{gasPrice:n,totalCost:s}=await qv(this.privateKey,t);this.dai.gt(s)&&(await mt.sendNativeTransaction(this.privateKey,a,this.dai.minus(s),t,n),await this.refresh())}}const Qc={balance:null,error:null,isLoading:!1,lastUpdate:null,start:()=>{},stop:()=>{},refresh:()=>Promise.reject()},Qn=x.createContext(Qc);Qn.Consumer;const Kv=3e4;function Zv({children:e}){const{rpcProvider:a}=x.useContext(Le),{nodeAddresses:t}=x.useContext(We),[n,s]=x.useState(Qc.balance),[i,d]=x.useState(Qc.error),[f,l]=x.useState(Qc.isLoading),b=x.useRef(n),u=x.useRef(f),[g,m]=x.useState(Qc.lastUpdate),[p,S]=x.useState(null);x.useEffect(()=>{b.current=n},[n]),x.useEffect(()=>{u.current=f},[f]),x.useEffect(()=>{t?.ethereum&&a?ni.make(t.ethereum.toHex(),a).then(s):s(null)},[t,a]);const w=x.useCallback(async()=>{if(!u.current&&b.current)try{l(!0),s(await b.current.refresh()),m(Date.now())}catch(D){d(D)}finally{l(!1)}},[]),E=x.useCallback((D=Kv)=>S(D),[]),C=x.useCallback(()=>S(null),[]);x.useEffect(()=>{if(w(),p){const D=setInterval(w,p);return()=>clearInterval(D)}},[p,w]);const _=x.useMemo(()=>({balance:n,error:i,isLoading:f,lastUpdate:g,start:E,stop:C,refresh:w}),[n,i,f,g,E,C,w]);return c.jsx(Qn.Provider,{value:_,children:e})}function Yv(){const{giftWallets:e,addGiftWallet:a}=x.useContext(ai),{rpcProvider:t,desktopUrl:n,giftWalletFees:s}=x.useContext(Le),{balance:i,refresh:d}=x.useContext(Qn),[f,l]=x.useState(!1),[b,u]=x.useState([]),{enqueueSnackbar:g}=xa(),m=da();if(x.useEffect(()=>{async function _(){if(!t)return;const D=[];for(const O of e)D.push(await Ns.make(O,t));u(D)}_()},[e,t]),!s)return c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:"Invite to Swarm..."}),c.jsx(Me,{children:"Gift wallet fees are unavailable. Please check your Swarm Desktop configuration."})]});const p=Na.fromDecimalString(s.dai),S=_a.fromDecimalString(s.bzz);async function w(){g("Sending funds to gift wallet..."),l(!0);try{const _=$o();await Jg(n,_.address),a(_),g("Succesfully funded gift wallet",{variant:"success"})}catch(_){console.error(_),g(`Failed to fund gift wallet: ${st(_)}`,{variant:"error"})}finally{await d(),l(!1)}}function E(){m(-1)}if(!i)return c.jsx(En,{});const C=i.dai.lte(p)||i.bzz.lt(S);return c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:"Invite to Swarm..."}),c.jsx(oe,{mb:4,children:c.jsxs(Me,{children:["Generate and share a gift wallet that anyone can use to set-up their light node with Swarm Desktop. This will use ",p.toSignificantDigits(2)," xDAI and"," ",S.toSignificantDigits(2)," xBZZ from your node wallet."]})}),c.jsx(oe,{mb:.25,children:c.jsx(Ue,{label:"xDAI balance",value:`${i.dai.toSignificantDigits(4)} xDAI`})}),c.jsx(oe,{mb:2,children:c.jsx(Ue,{label:"xBZZ balance",value:`${i.bzz.toSignificantDigits(4)} xBZZ`})}),c.jsx(oe,{mb:4,children:b.map((_,D)=>c.jsxs(oe,{mb:2,children:[c.jsx(Pa,{label:`swarm${String(D).padStart(3,"0")}`,value:_.privateKey}),c.jsx(Pa,{label:"Address",value:_.address}),c.jsx(Ue,{label:"xDAI balance",value:`${_.dai.toSignificantDigits(4)} xDAI`}),c.jsx(Ue,{label:"xBZZ balance",value:`${_.bzz.toSignificantDigits(4)} xBZZ`})]},D))}),c.jsxs(ba,{children:[c.jsx(Wt,{title:"Not enough funds",placement:"top",open:C,arrow:!0,children:c.jsx("div",{children:c.jsx(Be,{onClick:w,iconType:ft,loading:f,disabled:f||C,children:"Generate gift wallet"})})}),c.jsx(Be,{onClick:E,cancel:!0,iconType:jt,disabled:f,children:"Cancel"})]})]})}const Jv="0.36.2";var k7={exports:{}};function Xv(e){e("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),e("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),e("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var a=1;a<=60;++a)e("EPSG:"+(32600+a),"+proj=utm +zone="+a+" +datum=WGS84 +units=m"),e("EPSG:"+(32700+a),"+proj=utm +zone="+a+" +south +datum=WGS84 +units=m");e("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),e("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),e.WGS84=e["EPSG:4326"],e["EPSG:3785"]=e["EPSG:3857"],e.GOOGLE=e["EPSG:3857"],e["EPSG:900913"]=e["EPSG:3857"],e["EPSG:102113"]=e["EPSG:3857"]}var Zn=1,Yn=2,pc=3,Qv=4,or=5,R2=6378137,eS=6356752314e-3,O2=.0066943799901413165,i1=484813681109536e-20,Ae=Math.PI/2,aS=.16666666666666666,tS=.04722222222222222,nS=.022156084656084655,ke=1e-10,ya=.017453292519943295,rt=57.29577951308232,ea=Math.PI/4,w1=Math.PI*2,va=3.14159265359,lt={};lt.greenwich=0;lt.lisbon=-9.131906111111;lt.paris=2.337229166667;lt.bogota=-74.080916666667;lt.madrid=-3.687938888889;lt.rome=12.452333333333;lt.bern=7.439583333333;lt.jakarta=106.807719444444;lt.ferro=-17.666666666667;lt.brussels=4.367975;lt.stockholm=18.058277777778;lt.athens=23.7163375;lt.oslo=10.722916666667;const cS={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}};var F2=/[\s_\-\/\(\)]/g;function wn(e,a){if(e[a])return e[a];for(var t=Object.keys(e),n=a.toLowerCase().replace(F2,""),s=-1,i,d;++s<t.length;)if(i=t[s],d=i.toLowerCase().replace(F2,""),d===n)return e[i]}function lr(e){var a={},t=e.split("+").map(function(f){return f.trim()}).filter(function(f){return f}).reduce(function(f,l){var b=l.split("=");return b.push(!0),f[b[0].toLowerCase()]=b[1],f},{}),n,s,i,d={proj:"projName",datum:"datumCode",rf:function(f){a.rf=parseFloat(f)},lat_0:function(f){a.lat0=f*ya},lat_1:function(f){a.lat1=f*ya},lat_2:function(f){a.lat2=f*ya},lat_ts:function(f){a.lat_ts=f*ya},lon_0:function(f){a.long0=f*ya},lon_1:function(f){a.long1=f*ya},lon_2:function(f){a.long2=f*ya},alpha:function(f){a.alpha=parseFloat(f)*ya},gamma:function(f){a.rectified_grid_angle=parseFloat(f)*ya},lonc:function(f){a.longc=f*ya},x_0:function(f){a.x0=parseFloat(f)},y_0:function(f){a.y0=parseFloat(f)},k_0:function(f){a.k0=parseFloat(f)},k:function(f){a.k0=parseFloat(f)},a:function(f){a.a=parseFloat(f)},b:function(f){a.b=parseFloat(f)},r:function(f){a.a=a.b=parseFloat(f)},r_a:function(){a.R_A=!0},zone:function(f){a.zone=parseInt(f,10)},south:function(){a.utmSouth=!0},towgs84:function(f){a.datum_params=f.split(",").map(function(l){return parseFloat(l)})},to_meter:function(f){a.to_meter=parseFloat(f)},units:function(f){a.units=f;var l=wn(cS,f);l&&(a.to_meter=l.to_meter)},from_greenwich:function(f){a.from_greenwich=f*ya},pm:function(f){var l=wn(lt,f);a.from_greenwich=(l||parseFloat(f))*ya},nadgrids:function(f){f==="@null"?a.datumCode="none":a.nadgrids=f},axis:function(f){var l="ewnsud";f.length===3&&l.indexOf(f.substr(0,1))!==-1&&l.indexOf(f.substr(1,1))!==-1&&l.indexOf(f.substr(2,1))!==-1&&(a.axis=f)},approx:function(){a.approx=!0},over:function(){a.over=!0}};for(n in t)s=t[n],n in d?(i=d[n],typeof i=="function"?i(s):a[i]=s):a[n]=s;return typeof a.datumCode=="string"&&a.datumCode!=="WGS84"&&(a.datumCode=a.datumCode.toLowerCase()),a.projStr=e,a}class q3{static getId(a){const t=a.find(n=>Array.isArray(n)&&n[0]==="ID");return t&&t.length>=3?{authority:t[1],code:parseInt(t[2],10)}:null}static convertUnit(a,t="unit"){if(!a||a.length<3)return{type:t,name:"unknown",conversion_factor:null};const n=a[1],s=parseFloat(a[2])||null,i=a.find(f=>Array.isArray(f)&&f[0]==="ID"),d=i?{authority:i[1],code:parseInt(i[2],10)}:null;return{type:t,name:n,conversion_factor:s,id:d}}static convertAxis(a){const t=a[1]||"Unknown";let n;const s=t.match(/^\((.)\)$/);if(s){const b=s[1].toUpperCase();if(b==="E")n="east";else if(b==="N")n="north";else if(b==="U")n="up";else if(a[2])n=a[2];else throw new Error(`Unknown axis abbreviation: ${b}`)}else n=a[2]||"unknown";const i=a.find(b=>Array.isArray(b)&&b[0]==="ORDER"),d=i?parseInt(i[1],10):null,f=a.find(b=>Array.isArray(b)&&(b[0]==="LENGTHUNIT"||b[0]==="ANGLEUNIT"||b[0]==="SCALEUNIT")),l=this.convertUnit(f);return{name:t,direction:n,unit:l,order:d}}static extractAxes(a){return a.filter(t=>Array.isArray(t)&&t[0]==="AXIS").map(t=>this.convertAxis(t)).sort((t,n)=>(t.order||0)-(n.order||0))}static convert(a,t={}){switch(a[0]){case"PROJCRS":t.type="ProjectedCRS",t.name=a[1],t.base_crs=a.find(m=>Array.isArray(m)&&m[0]==="BASEGEOGCRS")?this.convert(a.find(m=>Array.isArray(m)&&m[0]==="BASEGEOGCRS")):null,t.conversion=a.find(m=>Array.isArray(m)&&m[0]==="CONVERSION")?this.convert(a.find(m=>Array.isArray(m)&&m[0]==="CONVERSION")):null;const n=a.find(m=>Array.isArray(m)&&m[0]==="CS");n&&(t.coordinate_system={type:n[1],axis:this.extractAxes(a)});const s=a.find(m=>Array.isArray(m)&&m[0]==="LENGTHUNIT");if(s){const m=this.convertUnit(s);t.coordinate_system.unit=m}t.id=this.getId(a);break;case"BASEGEOGCRS":case"GEOGCRS":case"GEODCRS":t.type=a[0]==="GEODCRS"?"GeodeticCRS":"GeographicCRS",t.name=a[1];const i=a.find(m=>Array.isArray(m)&&(m[0]==="DATUM"||m[0]==="ENSEMBLE"));if(i){const m=this.convert(i);i[0]==="ENSEMBLE"?t.datum_ensemble=m:t.datum=m;const p=a.find(S=>Array.isArray(S)&&S[0]==="PRIMEM");p&&p[1]!=="Greenwich"&&(m.prime_meridian={name:p[1],longitude:parseFloat(p[2])})}t.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(a)},t.id=this.getId(a);break;case"DATUM":t.type="GeodeticReferenceFrame",t.name=a[1],t.ellipsoid=a.find(m=>Array.isArray(m)&&m[0]==="ELLIPSOID")?this.convert(a.find(m=>Array.isArray(m)&&m[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":t.type="DatumEnsemble",t.name=a[1],t.members=a.filter(m=>Array.isArray(m)&&m[0]==="MEMBER").map(m=>({type:"DatumEnsembleMember",name:m[1],id:this.getId(m)}));const d=a.find(m=>Array.isArray(m)&&m[0]==="ENSEMBLEACCURACY");d&&(t.accuracy=parseFloat(d[1]));const f=a.find(m=>Array.isArray(m)&&m[0]==="ELLIPSOID");f&&(t.ellipsoid=this.convert(f)),t.id=this.getId(a);break;case"ELLIPSOID":t.type="Ellipsoid",t.name=a[1],t.semi_major_axis=parseFloat(a[2]),t.inverse_flattening=parseFloat(a[3]),a.find(m=>Array.isArray(m)&&m[0]==="LENGTHUNIT")&&this.convert(a.find(m=>Array.isArray(m)&&m[0]==="LENGTHUNIT"),t);break;case"CONVERSION":t.type="Conversion",t.name=a[1],t.method=a.find(m=>Array.isArray(m)&&m[0]==="METHOD")?this.convert(a.find(m=>Array.isArray(m)&&m[0]==="METHOD")):null,t.parameters=a.filter(m=>Array.isArray(m)&&m[0]==="PARAMETER").map(m=>this.convert(m));break;case"METHOD":t.type="Method",t.name=a[1],t.id=this.getId(a);break;case"PARAMETER":t.type="Parameter",t.name=a[1],t.value=parseFloat(a[2]),t.unit=this.convertUnit(a.find(m=>Array.isArray(m)&&(m[0]==="LENGTHUNIT"||m[0]==="ANGLEUNIT"||m[0]==="SCALEUNIT"))),t.id=this.getId(a);break;case"BOUNDCRS":t.type="BoundCRS";const l=a.find(m=>Array.isArray(m)&&m[0]==="SOURCECRS");if(l){const m=l.find(p=>Array.isArray(p));t.source_crs=m?this.convert(m):null}const b=a.find(m=>Array.isArray(m)&&m[0]==="TARGETCRS");if(b){const m=b.find(p=>Array.isArray(p));t.target_crs=m?this.convert(m):null}const u=a.find(m=>Array.isArray(m)&&m[0]==="ABRIDGEDTRANSFORMATION");u?t.transformation=this.convert(u):t.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(t.type="Transformation",t.name=a[1],t.method=a.find(m=>Array.isArray(m)&&m[0]==="METHOD")?this.convert(a.find(m=>Array.isArray(m)&&m[0]==="METHOD")):null,t.parameters=a.filter(m=>Array.isArray(m)&&(m[0]==="PARAMETER"||m[0]==="PARAMETERFILE")).map(m=>{if(m[0]==="PARAMETER")return this.convert(m);if(m[0]==="PARAMETERFILE")return{name:m[1],value:m[2],id:{authority:"EPSG",code:8656}}}),t.parameters.length===7){const m=t.parameters[6];m.name==="Scale difference"&&(m.value=Math.round((m.value-1)*1e12)/1e6)}t.id=this.getId(a);break;case"AXIS":t.coordinate_system||(t.coordinate_system={type:"unspecified",axis:[]}),t.coordinate_system.axis.push(this.convertAxis(a));break;case"LENGTHUNIT":const g=this.convertUnit(a,"LinearUnit");t.coordinate_system&&t.coordinate_system.axis&&t.coordinate_system.axis.forEach(m=>{m.unit||(m.unit=g)}),g.conversion_factor&&g.conversion_factor!==1&&t.semi_major_axis&&(t.semi_major_axis={value:t.semi_major_axis,unit:g});break;default:t.keyword=a[0];break}return t}}class sS extends q3{static convert(a,t={}){return super.convert(a,t),t.coordinate_system&&t.coordinate_system.subtype==="Cartesian"&&delete t.coordinate_system,t.usage&&delete t.usage,t}}class rS extends q3{static convert(a,t={}){super.convert(a,t);const n=a.find(i=>Array.isArray(i)&&i[0]==="CS");n&&(t.coordinate_system={subtype:n[1],axis:this.extractAxes(a)});const s=a.find(i=>Array.isArray(i)&&i[0]==="USAGE");if(s){const i=s.find(l=>Array.isArray(l)&&l[0]==="SCOPE"),d=s.find(l=>Array.isArray(l)&&l[0]==="AREA"),f=s.find(l=>Array.isArray(l)&&l[0]==="BBOX");t.usage={},i&&(t.usage.scope=i[1]),d&&(t.usage.area=d[1]),f&&(t.usage.bbox=f.slice(1))}return t}}function iS(e){return e.find(a=>Array.isArray(a)&&a[0]==="USAGE")?"2019":(e.find(a=>Array.isArray(a)&&a[0]==="CS")||e[0]==="BOUNDCRS"||e[0]==="PROJCRS"||e[0]==="GEOGCRS","2015")}function dS(e){return(iS(e)==="2019"?rS:sS).convert(e)}function fS(e){const a=e.toUpperCase();return a.includes("PROJCRS")||a.includes("GEOGCRS")||a.includes("BOUNDCRS")||a.includes("VERTCRS")||a.includes("LENGTHUNIT")||a.includes("ANGLEUNIT")||a.includes("SCALEUNIT")?"WKT2":(a.includes("PROJCS")||a.includes("GEOGCS")||a.includes("LOCAL_CS")||a.includes("VERT_CS")||a.includes("UNIT"),"WKT1")}var v1=1,H3=2,V3=3,ns=4,K3=5,ci=-1,oS=/\s/,lS=/[A-Za-z]/,bS=/[A-Za-z84_]/,ks=/[,\]]/,Z3=/[\d\.E\-\+]/;function sn(e){if(typeof e!="string")throw new Error("not a string");this.text=e.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=v1}sn.prototype.readCharicter=function(){var e=this.text[this.place++];if(this.state!==ns)for(;oS.test(e);){if(this.place>=this.text.length)return;e=this.text[this.place++]}switch(this.state){case v1:return this.neutral(e);case H3:return this.keyword(e);case ns:return this.quoted(e);case K3:return this.afterquote(e);case V3:return this.number(e);case ci:return}};sn.prototype.afterquote=function(e){if(e==='"'){this.word+='"',this.state=ns;return}if(ks.test(e)){this.word=this.word.trim(),this.afterItem(e);return}throw new Error(`havn't handled "`+e+'" in afterquote yet, index '+this.place)};sn.prototype.afterItem=function(e){if(e===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=v1;return}if(e==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=v1,this.currentObject=this.stack.pop(),this.currentObject||(this.state=ci);return}};sn.prototype.number=function(e){if(Z3.test(e)){this.word+=e;return}if(ks.test(e)){this.word=parseFloat(this.word),this.afterItem(e);return}throw new Error(`havn't handled "`+e+'" in number yet, index '+this.place)};sn.prototype.quoted=function(e){if(e==='"'){this.state=K3;return}this.word+=e};sn.prototype.keyword=function(e){if(bS.test(e)){this.word+=e;return}if(e==="["){var a=[];a.push(this.word),this.level++,this.root===null?this.root=a:this.currentObject.push(a),this.stack.push(this.currentObject),this.currentObject=a,this.state=v1;return}if(ks.test(e)){this.afterItem(e);return}throw new Error(`havn't handled "`+e+'" in keyword yet, index '+this.place)};sn.prototype.neutral=function(e){if(lS.test(e)){this.word=e,this.state=H3;return}if(e==='"'){this.word="",this.state=ns;return}if(Z3.test(e)){this.word=e,this.state=V3;return}if(ks.test(e)){this.afterItem(e);return}throw new Error(`havn't handled "`+e+'" in neutral yet, index '+this.place)};sn.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===ci)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function uS(e){var a=new sn(e);return a.output()}function M4(e,a,t){Array.isArray(a)&&(t.unshift(a),a=null);var n=a?{}:e,s=t.reduce(function(i,d){return fc(d,i),i},n);a&&(e[a]=s)}function fc(e,a){if(!Array.isArray(e)){a[e]=!0;return}var t=e.shift();if(t==="PARAMETER"&&(t=e.shift()),e.length===1){if(Array.isArray(e[0])){a[t]={},fc(e[0],a[t]);return}a[t]=e[0];return}if(!e.length){a[t]=!0;return}if(t==="TOWGS84"){a[t]=e;return}if(t==="AXIS"){t in a||(a[t]=[]),a[t].push(e);return}Array.isArray(t)||(a[t]={});var n;switch(t){case"UNIT":case"PRIMEM":case"VERT_DATUM":a[t]={name:e[0].toLowerCase(),convert:e[1]},e.length===3&&fc(e[2],a[t]);return;case"SPHEROID":case"ELLIPSOID":a[t]={name:e[0],a:e[1],rf:e[2]},e.length===4&&fc(e[3],a[t]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":e[0]=["name",e[0]],M4(a,t,e);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":e[0]=["name",e[0]],M4(a,t,e),a[t].type=t;return;default:for(n=-1;++n<e.length;)if(!Array.isArray(e[n]))return fc(e,a[t]);return M4(a,t,e)}}var hS=.017453292519943295;function St(e){return e*hS}function Y3(e){const a=(e.projName||"").toLowerCase().replace(/_/g," ");e.long0===void 0&&e.longc!==void 0&&(e.long0=e.longc),!e.lat_ts&&e.lat1&&(a==="stereographic south pole"||a==="polar stereographic (variant b)")?(e.lat0=St(e.lat1>0?90:-90),e.lat_ts=e.lat1,delete e.lat1):!e.lat_ts&&e.lat0&&(a==="polar stereographic"||a==="polar stereographic (variant a)")&&(e.lat_ts=e.lat0,e.lat0=St(e.lat0>0?90:-90),delete e.lat1)}function B2(e){let a={units:null,to_meter:void 0};return typeof e=="string"?(a.units=e.toLowerCase(),a.units==="metre"&&(a.units="meter"),a.units==="meter"&&(a.to_meter=1)):e&&e.name&&(a.units=e.name.toLowerCase(),a.units==="metre"&&(a.units="meter"),a.to_meter=e.conversion_factor),a}function L2(e){return typeof e=="object"?e.value*e.unit.conversion_factor:e}function U2(e,a){e.ellipsoid.radius?(a.a=e.ellipsoid.radius,a.rf=0):(a.a=L2(e.ellipsoid.semi_major_axis),e.ellipsoid.inverse_flattening!==void 0?a.rf=e.ellipsoid.inverse_flattening:e.ellipsoid.semi_major_axis!==void 0&&e.ellipsoid.semi_minor_axis!==void 0&&(a.rf=a.a/(a.a-L2(e.ellipsoid.semi_minor_axis))))}function cs(e,a={}){return!e||typeof e!="object"?e:e.type==="BoundCRS"?(cs(e.source_crs,a),e.transformation&&(e.transformation.method&&e.transformation.method.name==="NTv2"?a.nadgrids=e.transformation.parameters[0].value:a.datum_params=e.transformation.parameters.map(t=>t.value)),a):(Object.keys(e).forEach(t=>{const n=e[t];if(n!==null)switch(t){case"name":if(a.srsCode)break;a.name=n,a.srsCode=n;break;case"type":n==="GeographicCRS"?a.projName="longlat":n==="GeodeticCRS"?e.coordinate_system&&e.coordinate_system.subtype==="Cartesian"?a.projName="geocent":a.projName="longlat":n==="ProjectedCRS"&&e.conversion&&e.conversion.method&&(a.projName=e.conversion.method.name);break;case"datum":case"datum_ensemble":n.ellipsoid&&(a.ellps=n.ellipsoid.name,U2(n,a)),n.prime_meridian&&(a.from_greenwich=n.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":a.ellps=n.name,U2(n,a);break;case"prime_meridian":a.long0=(n.longitude||0)*Math.PI/180;break;case"coordinate_system":if(n.axis){const s={east:"e",north:"n",west:"w",south:"s",up:"u",down:"d",geocentricx:"e",geocentricy:"n",geocentricz:"u"},i=n.axis.map(d=>s[d.direction.toLowerCase()]);if(i.every(Boolean)&&(a.axis=i.join(""),a.axis.length===2&&(a.axis+="u")),n.unit){const{units:d,to_meter:f}=B2(n.unit);a.units=d,a.to_meter=f}else if(n.axis[0]&&n.axis[0].unit){const{units:d,to_meter:f}=B2(n.axis[0].unit);a.units=d,a.to_meter=f}}break;case"id":n.authority&&n.code&&(a.title=n.authority+":"+n.code);break;case"conversion":n.method&&n.method.name&&(a.projName=n.method.name),n.parameters&&n.parameters.forEach(s=>{const i=s.name.toLowerCase().replace(/\s+/g,"_"),d=s.value;s.unit&&s.unit.conversion_factor?a[i]=d*s.unit.conversion_factor:s.unit==="degree"?a[i]=d*Math.PI/180:a[i]=d});break;case"unit":n.name&&(a.units=n.name.toLowerCase(),a.units==="metre"&&(a.units="meter")),n.conversion_factor&&(a.to_meter=n.conversion_factor);break;case"base_crs":cs(n,a),a.datumCode=n.id?n.id.authority+"_"+n.id.code:n.name;break}}),a.latitude_of_false_origin!==void 0&&(a.lat0=a.latitude_of_false_origin),a.longitude_of_false_origin!==void 0&&(a.long0=a.longitude_of_false_origin),a.latitude_of_standard_parallel!==void 0&&(a.lat0=a.latitude_of_standard_parallel,a.lat1=a.latitude_of_standard_parallel),a.latitude_of_1st_standard_parallel!==void 0&&(a.lat1=a.latitude_of_1st_standard_parallel),a.latitude_of_2nd_standard_parallel!==void 0&&(a.lat2=a.latitude_of_2nd_standard_parallel),a.latitude_of_projection_centre!==void 0&&(a.lat0=a.latitude_of_projection_centre),a.longitude_of_projection_centre!==void 0&&(a.longc=a.longitude_of_projection_centre),a.easting_at_false_origin!==void 0&&(a.x0=a.easting_at_false_origin),a.northing_at_false_origin!==void 0&&(a.y0=a.northing_at_false_origin),a.latitude_of_natural_origin!==void 0&&(a.lat0=a.latitude_of_natural_origin),a.longitude_of_natural_origin!==void 0&&(a.long0=a.longitude_of_natural_origin),a.longitude_of_origin!==void 0&&(a.long0=a.longitude_of_origin),a.false_easting!==void 0&&(a.x0=a.false_easting),a.easting_at_projection_centre&&(a.x0=a.easting_at_projection_centre),a.false_northing!==void 0&&(a.y0=a.false_northing),a.northing_at_projection_centre&&(a.y0=a.northing_at_projection_centre),a.standard_parallel_1!==void 0&&(a.lat1=a.standard_parallel_1),a.standard_parallel_2!==void 0&&(a.lat2=a.standard_parallel_2),a.scale_factor_at_natural_origin!==void 0&&(a.k0=a.scale_factor_at_natural_origin),a.scale_factor_at_projection_centre!==void 0&&(a.k0=a.scale_factor_at_projection_centre),a.scale_factor_on_pseudo_standard_parallel!==void 0&&(a.k0=a.scale_factor_on_pseudo_standard_parallel),a.azimuth!==void 0&&(a.alpha=a.azimuth),a.azimuth_at_projection_centre!==void 0&&(a.alpha=a.azimuth_at_projection_centre),a.angle_from_rectified_to_skew_grid&&(a.rectified_grid_angle=a.angle_from_rectified_to_skew_grid),Y3(a),a)}var gS=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function mS(e,a){var t=a[0],n=a[1];!(t in e)&&n in e&&(e[t]=e[n],a.length===3&&(e[t]=a[2](e[t])))}function J3(e){for(var a=Object.keys(e),t=0,n=a.length;t<n;++t){var s=a[t];gS.indexOf(s)!==-1&&pS(e[s]),typeof e[s]=="object"&&J3(e[s])}}function pS(e){if(e.AUTHORITY){var a=Object.keys(e.AUTHORITY)[0];a&&a in e.AUTHORITY&&(e.title=a+":"+e.AUTHORITY[a])}if(e.type==="GEOGCS"?e.projName="longlat":e.type==="LOCAL_CS"?(e.projName="identity",e.local=!0):typeof e.PROJECTION=="object"?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var t="",n=0,s=e.AXIS.length;n<s;++n){var i=[e.AXIS[n][0].toLowerCase(),e.AXIS[n][1].toLowerCase()];i[0].indexOf("north")!==-1||(i[0]==="y"||i[0]==="lat")&&i[1]==="north"?t+="n":i[0].indexOf("south")!==-1||(i[0]==="y"||i[0]==="lat")&&i[1]==="south"?t+="s":i[0].indexOf("east")!==-1||(i[0]==="x"||i[0]==="lon")&&i[1]==="east"?t+="e":(i[0].indexOf("west")!==-1||(i[0]==="x"||i[0]==="lon")&&i[1]==="west")&&(t+="w")}t.length===2&&(t+="u"),t.length===3&&(e.axis=t)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.UNIT.convert&&(e.type==="GEOGCS"?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var d=e.GEOGCS;e.type==="GEOGCS"&&(d=e),d&&(d.PRIMEM&&d.PRIMEM.convert&&(e.from_greenwich=St(d.PRIMEM.convert)),d.DATUM?e.datumCode=d.DATUM.name.toLowerCase():e.datumCode=d.name.toLowerCase(),e.datumCode.slice(0,2)==="d_"&&(e.datumCode=e.datumCode.slice(2)),e.datumCode==="new_zealand_1949"&&(e.datumCode="nzgd49"),(e.datumCode==="wgs_1984"||e.datumCode==="world_geodetic_system_1984")&&(e.PROJECTION==="Mercator_Auxiliary_Sphere"&&(e.sphere=!0),e.datumCode="wgs84"),e.datumCode==="belge_1972"&&(e.datumCode="rnb72"),d.DATUM&&d.DATUM.SPHEROID&&(e.ellps=d.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),e.ellps.toLowerCase().slice(0,13)==="international"&&(e.ellps="intl"),e.a=d.DATUM.SPHEROID.a,e.rf=parseFloat(d.DATUM.SPHEROID.rf)),d.DATUM&&d.DATUM.TOWGS84&&(e.datum_params=d.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),e.datumCode==="ch1903+"&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),e.rectified_grid_angle&&(e.rectified_grid_angle=St(e.rectified_grid_angle));function f(u){var g=e.to_meter||1;return u*g}var l=function(u){return mS(e,u)},b=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",St],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",St],["x0","false_easting",f],["y0","false_northing",f],["long0","central_meridian",St],["lat0","latitude_of_origin",St],["lat0","standard_parallel_1",St],["lat1","standard_parallel_1",St],["lat2","standard_parallel_2",St],["azimuth","Azimuth"],["alpha","azimuth",St],["srsCode","name"]];b.forEach(l),Y3(e)}function ss(e){if(typeof e=="object")return cs(e);const a=fS(e);var t=uS(e);if(a==="WKT2"){const i=dS(t);return cs(i)}var n=t[0],s={};return fc(t,s),J3(s),s[n]}function Da(e){var a=this;if(arguments.length===2){var t=arguments[1];typeof t=="string"?t.charAt(0)==="+"?Da[e]=lr(arguments[1]):Da[e]=ss(arguments[1]):t&&typeof t=="object"&&!("projName"in t)?Da[e]=ss(arguments[1]):(Da[e]=t,t||delete Da[e])}else if(arguments.length===1){if(Array.isArray(e))return e.map(function(n){return Array.isArray(n)?Da.apply(a,n):Da(n)});if(typeof e=="string"){if(e in Da)return Da[e]}else"EPSG"in e?Da["EPSG:"+e.EPSG]=e:"ESRI"in e?Da["ESRI:"+e.ESRI]=e:"IAU2000"in e?Da["IAU2000:"+e.IAU2000]=e:console.log(e);return}}Xv(Da);function yS(e){return typeof e=="string"}function xS(e){return e in Da}function wS(e){return e.indexOf("+")!==0&&e.indexOf("[")!==-1||typeof e=="object"&&!("srsCode"in e)}var $2=["3857","900913","3785","102113"];function vS(e){if(e.title)return e.title.toLowerCase().indexOf("epsg:")===0&&$2.indexOf(e.title.substr(5))>-1;var a=wn(e,"authority");if(a){var t=wn(a,"epsg");return t&&$2.indexOf(t)>-1}}function SS(e){var a=wn(e,"extension");if(a)return wn(a,"proj4")}function _S(e){return e[0]==="+"}function ES(e){let a;if(yS(e))if(xS(e))a=Da[e];else if(wS(e)){a=ss(e);var t=SS(a);t&&(a=lr(t))}else _S(e)&&(a=lr(e));else"projName"in e?a=e:a=ss(e);return a&&vS(a)?Da["EPSG:3857"]:a}function z2(e,a){e=e||{};var t,n;if(!a)return e;for(n in a)t=a[n],t!==void 0&&(e[n]=t);return e}function qt(e,a,t){var n=e*a;return t/Math.sqrt(1-n*n)}function L1(e){return e<0?-1:1}function Pe(e,a){return a||Math.abs(e)<=va?e:e-L1(e)*w1}function Tt(e,a,t){var n=e*t,s=.5*e;return n=Math.pow((1-n)/(1+n),s),Math.tan(.5*(Ae-a))/n}function S1(e,a){for(var t=.5*e,n,s,i=Ae-2*Math.atan(a),d=0;d<=15;d++)if(n=e*Math.sin(i),s=Ae-2*Math.atan(a*Math.pow((1-n)/(1+n),t))-i,i+=s,Math.abs(s)<=1e-10)return i;return-9999}function CS(){var e=this.b/this.a;this.es=1-e*e,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=qt(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function jS(e){var a=e.x,t=e.y;if(t*rt>90&&t*rt<-90&&a*rt>180&&a*rt<-180)return null;var n,s;if(Math.abs(Math.abs(t)-Ae)<=ke)return null;if(this.sphere)n=this.x0+this.a*this.k0*Pe(a-this.long0,this.over),s=this.y0+this.a*this.k0*Math.log(Math.tan(ea+.5*t));else{var i=Math.sin(t),d=Tt(this.e,t,i);n=this.x0+this.a*this.k0*Pe(a-this.long0,this.over),s=this.y0-this.a*this.k0*Math.log(d)}return e.x=n,e.y=s,e}function AS(e){var a=e.x-this.x0,t=e.y-this.y0,n,s;if(this.sphere)s=Ae-2*Math.atan(Math.exp(-t/(this.a*this.k0)));else{var i=Math.exp(-t/(this.a*this.k0));if(s=S1(this.e,i),s===-9999)return null}return n=Pe(this.long0+a/(this.a*this.k0),this.over),e.x=n,e.y=s,e}var IS=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const MS={init:CS,forward:jS,inverse:AS,names:IS};function NS(){}function G2(e){return e}var X3=["longlat","identity"];const kS={init:NS,forward:G2,inverse:G2,names:X3};var PS=[MS,kS],Rn={},oc=[];function Q3(e,a){var t=oc.length;return e.names?(oc[t]=e,e.names.forEach(function(n){Rn[n.toLowerCase()]=t}),this):(console.log(a),!0)}function el(e){return e.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function TS(e){if(!e)return!1;var a=e.toLowerCase();if(typeof Rn[a]<"u"&&oc[Rn[a]]||(a=el(a),a in Rn&&oc[Rn[a]]))return oc[Rn[a]]}function DS(){PS.forEach(Q3)}const RS={start:DS,add:Q3,get:TS};var al={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};const OS=al.WGS84;function FS(e,a,t,n){var s=e*e,i=a*a,d=(s-i)/s,f=0;n?(e*=1-d*(aS+d*(tS+d*nS)),s=e*e,d=0):f=Math.sqrt(d);var l=(s-i)/i;return{es:d,e:f,ep2:l}}function BS(e,a,t,n,s){if(!e){var i=wn(al,n);i||(i=OS),e=i.a,a=i.b,t=i.rf}return t&&!a&&(a=(1-1/t)*e),(t===0||Math.abs(e-a)<ke)&&(s=!0,a=e),{a:e,b:a,rf:t,sphere:s}}var P7={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},mgi:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Militar-Geographische Institut"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Ordnance Survey of Great Britain 1936"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"},EPSG_5451:{towgs84:"6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649"},IGNF_LURESG:{towgs84:"-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43"},EPSG_4614:{towgs84:"-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065"},EPSG_4615:{towgs84:"-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748"},ESRI_37241:{towgs84:"-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031"},ESRI_37249:{towgs84:"-440.296,58.548,296.265,1.128,10.202,4.559,-0.438"},ESRI_37245:{towgs84:"-511.151,-181.269,139.609,1.05,2.703,1.798,3.071"},EPSG_4178:{towgs84:"24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01"},EPSG_4622:{towgs84:"-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984"},EPSG_4625:{towgs84:"126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227"},EPSG_5252:{towgs84:"0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439"},EPSG_4314:{towgs84:"597.1,71.4,412.1,0.894,0.068,-1.563,7.58"},EPSG_4282:{towgs84:"-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166"},EPSG_4231:{towgs84:"-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218"},EPSG_4274:{towgs84:"-230.994,102.591,25.199,0.633,-0.239,0.9,1.95"},EPSG_4134:{towgs84:"-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006"},EPSG_4254:{towgs84:"18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013"},EPSG_4159:{towgs84:"-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175"},EPSG_4687:{towgs84:"0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093"},EPSG_4227:{towgs84:"-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225"},EPSG_4746:{towgs84:"599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46"},EPSG_4745:{towgs84:"612.4,77,440.2,-0.054,0.057,-2.797,2.55"},EPSG_6311:{towgs84:"8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926"},EPSG_4289:{towgs84:"565.7381,50.4018,465.2904,-0.395026,0.330772,-1.876073,4.07244"},EPSG_4230:{towgs84:"-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4"},EPSG_4154:{towgs84:"-123.02,-158.95,-168.47"},EPSG_4156:{towgs84:"570.8,85.7,462.8,4.998,1.587,5.261,3.56"},EPSG_4299:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4179:{towgs84:"33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"},EPSG_4313:{towgs84:"-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747"},EPSG_4194:{towgs84:"163.511,127.533,-159.789"},EPSG_4195:{towgs84:"105,326,-102.5"},EPSG_4196:{towgs84:"-45,417,-3.5"},EPSG_4611:{towgs84:"-162.619,-276.959,-161.764,0.067753,-2.243648,-1.158828,-1.094246"},EPSG_4633:{towgs84:"137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824"},EPSG_4641:{towgs84:"-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993"},EPSG_4643:{towgs84:"-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002"},EPSG_4300:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4188:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4660:{towgs84:"982.6087,552.753,-540.873,6.681627,-31.611492,-19.848161,16.805"},EPSG_4662:{towgs84:"97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259"},EPSG_3906:{towgs84:"577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664"},EPSG_4307:{towgs84:"-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547"},EPSG_6892:{towgs84:"-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686"},EPSG_4690:{towgs84:"221.597,152.441,176.523,2.403,1.3893,0.884,11.4648"},EPSG_4691:{towgs84:"218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817"},EPSG_4629:{towgs84:"72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653"},EPSG_4630:{towgs84:"165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111"},EPSG_4692:{towgs84:"217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093"},EPSG_9333:{towgs84:"0,0,0,-0.008393,0.000749,-0.010276,0"},EPSG_9059:{towgs84:"0,0,0"},EPSG_4312:{towgs84:"601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887"},EPSG_4123:{towgs84:"-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496"},EPSG_4309:{towgs84:"-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365"},ESRI_104106:{towgs84:"-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058"},EPSG_4281:{towgs84:"-219.247,-73.802,269.529"},EPSG_4322:{towgs84:"0,0,4.5"},EPSG_4324:{towgs84:"0,0,1.9"},EPSG_4284:{towgs84:"43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549"},EPSG_4277:{towgs84:"446.448,-125.157,542.06,0.15,0.247,0.842,-20.489"},EPSG_4207:{towgs84:"-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46"},EPSG_4688:{towgs84:"347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647"},EPSG_4689:{towgs84:"410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218"},EPSG_4720:{towgs84:"0,0,4.5"},EPSG_4273:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},EPSG_4240:{towgs84:"204.64,834.74,293.8"},EPSG_4817:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},ESRI_104131:{towgs84:"426.62,142.62,460.09,4.98,4.49,-12.42,-17.1"},EPSG_4265:{towgs84:"-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68"},EPSG_4263:{towgs84:"-111.92,-87.85,114.5,1.875,0.202,0.219,0.032"},EPSG_4298:{towgs84:"-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536"},EPSG_4270:{towgs84:"-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424"},EPSG_4229:{towgs84:"-121.8,98.1,-10.7"},EPSG_4220:{towgs84:"-55.5,-348,-229.2"},EPSG_4214:{towgs84:"12.646,-155.176,-80.863"},EPSG_4232:{towgs84:"-345,3,223"},EPSG_4238:{towgs84:"-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037"},EPSG_4168:{towgs84:"-170,33,326"},EPSG_4131:{towgs84:"199,931,318.9"},EPSG_4152:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_5228:{towgs84:"572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378"},EPSG_8351:{towgs84:"485.021,169.465,483.839,7.786342,4.397554,4.102655,0"},EPSG_4683:{towgs84:"-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"},EPSG_4133:{towgs84:"0,0,0"},EPSG_7373:{towgs84:"0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693"},EPSG_9075:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9072:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9294:{towgs84:"1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388"},EPSG_4212:{towgs84:"-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492"},EPSG_4191:{towgs84:"-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703"},EPSG_4237:{towgs84:"52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191"},EPSG_4740:{towgs84:"-1.08,-0.27,-0.9"},EPSG_4124:{towgs84:"419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496"},EPSG_5681:{towgs84:"584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922"},EPSG_4141:{towgs84:"23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262"},EPSG_4204:{towgs84:"-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194"},EPSG_4319:{towgs84:"226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798"},EPSG_4200:{towgs84:"24.82,-131.21,-82.66"},EPSG_4130:{towgs84:"0,0,0"},EPSG_4127:{towgs84:"-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359"},EPSG_4149:{towgs84:"674.374,15.056,405.346"},EPSG_4617:{towgs84:"-0.991,1.9072,0.5129,0.02579,0.00965,0.01166,0"},EPSG_4663:{towgs84:"-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485"},EPSG_4664:{towgs84:"-211.939,137.626,58.3,-0.089,0.251,0.079,0.384"},EPSG_4665:{towgs84:"-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048"},EPSG_4666:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},EPSG_4756:{towgs84:"-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188"},EPSG_4723:{towgs84:"-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925"},EPSG_4726:{towgs84:"8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081"},EPSG_4267:{towgs84:"-8.0,160.0,176.0"},EPSG_5365:{towgs84:"-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693"},EPSG_4218:{towgs84:"304.5,306.5,-318.1"},EPSG_4242:{towgs84:"-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95"},EPSG_4216:{towgs84:"-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289"},ESRI_104105:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},ESRI_104129:{towgs84:"0,0,0"},EPSG_4673:{towgs84:"174.05,-25.49,112.57"},EPSG_4202:{towgs84:"-124,-60,154"},EPSG_4203:{towgs84:"-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191"},EPSG_3819:{towgs84:"595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408"},EPSG_8694:{towgs84:"-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169"},EPSG_4145:{towgs84:"275.57,676.78,229.6"},EPSG_4283:{towgs84:"0.06155,-0.01087,-0.04019,0.039492,0.032722,0.032898,-0.009994"},EPSG_4317:{towgs84:"2.3287,-147.0425,-92.0802,-0.309248,0.324822,0.497299,5.689063"},EPSG_4272:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993"},EPSG_4248:{towgs84:"-307.7,265.3,-363.5"},EPSG_5561:{towgs84:"24,-121,-76"},EPSG_5233:{towgs84:"-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338"},ESRI_104130:{towgs84:"-86,-98,-119"},ESRI_104102:{towgs84:"682,-203,480"},ESRI_37207:{towgs84:"7,-10,-26"},EPSG_4675:{towgs84:"59.935,118.4,-10.871"},ESRI_104109:{towgs84:"-89.121,-348.182,260.871"},ESRI_104112:{towgs84:"-185.583,-230.096,281.361"},ESRI_104113:{towgs84:"25.1,-275.6,222.6"},IGNF_WGS72G:{towgs84:"0,12,6"},IGNF_NTFG:{towgs84:"-168,-60,320"},IGNF_EFATE57G:{towgs84:"-127,-769,472"},IGNF_PGP50G:{towgs84:"324.8,153.6,172.1"},IGNF_REUN47G:{towgs84:"94,-948,-1262"},IGNF_CSG67G:{towgs84:"-186,230,110"},IGNF_GUAD48G:{towgs84:"-467,-16,-300"},IGNF_TAHI51G:{towgs84:"162,117,154"},IGNF_TAHAAG:{towgs84:"65,342,77"},IGNF_NUKU72G:{towgs84:"84,274,65"},IGNF_PETRELS72G:{towgs84:"365,194,166"},IGNF_WALL78G:{towgs84:"253,-133,-127"},IGNF_MAYO50G:{towgs84:"-382,-59,-262"},IGNF_TANNAG:{towgs84:"-139,-967,436"},IGNF_IGN72G:{towgs84:"-13,-348,292"},IGNF_ATIGG:{towgs84:"1118,23,66"},IGNF_FANGA84G:{towgs84:"150.57,158.33,118.32"},IGNF_RUSAT84G:{towgs84:"202.13,174.6,-15.74"},IGNF_KAUE70G:{towgs84:"126.74,300.1,-75.49"},IGNF_MOP90G:{towgs84:"-10.8,-1.8,12.77"},IGNF_MHPF67G:{towgs84:"338.08,212.58,-296.17"},IGNF_TAHI79G:{towgs84:"160.61,116.05,153.69"},IGNF_ANAA92G:{towgs84:"1.5,3.84,4.81"},IGNF_MARQUI72G:{towgs84:"330.91,-13.92,58.56"},IGNF_APAT86G:{towgs84:"143.6,197.82,74.05"},IGNF_TUBU69G:{towgs84:"237.17,171.61,-77.84"},IGNF_STPM50G:{towgs84:"11.363,424.148,373.13"},EPSG_4150:{towgs84:"674.374,15.056,405.346"},EPSG_4754:{towgs84:"-208.4058,-109.8777,-2.5764"},ESRI_104101:{towgs84:"372.87,149.23,585.29"},EPSG_4693:{towgs84:"0,-0.15,0.68"},EPSG_6207:{towgs84:"293.17,726.18,245.36"},EPSG_4153:{towgs84:"-133.63,-157.5,-158.62"},EPSG_4132:{towgs84:"-241.54,-163.64,396.06"},EPSG_4221:{towgs84:"-154.5,150.7,100.4"},EPSG_4266:{towgs84:"-80.7,-132.5,41.1"},EPSG_4193:{towgs84:"-70.9,-151.8,-41.4"},EPSG_5340:{towgs84:"-0.41,0.46,-0.35"},EPSG_4246:{towgs84:"-294.7,-200.1,525.5"},EPSG_4318:{towgs84:"-3.2,-5.7,2.8"},EPSG_4121:{towgs84:"-199.87,74.79,246.62"},EPSG_4223:{towgs84:"-260.1,5.5,432.2"},EPSG_4158:{towgs84:"-0.465,372.095,171.736"},EPSG_4285:{towgs84:"-128.16,-282.42,21.93"},EPSG_4613:{towgs84:"-404.78,685.68,45.47"},EPSG_4607:{towgs84:"195.671,332.517,274.607"},EPSG_4475:{towgs84:"-381.788,-57.501,-256.673"},EPSG_4208:{towgs84:"-157.84,308.54,-146.6"},EPSG_4743:{towgs84:"70.995,-335.916,262.898"},EPSG_4710:{towgs84:"-323.65,551.39,-491.22"},EPSG_7881:{towgs84:"-0.077,0.079,0.086"},EPSG_4682:{towgs84:"283.729,735.942,261.143"},EPSG_4739:{towgs84:"-156,-271,-189"},EPSG_4679:{towgs84:"-80.01,253.26,291.19"},EPSG_4750:{towgs84:"-56.263,16.136,-22.856"},EPSG_4644:{towgs84:"-10.18,-350.43,291.37"},EPSG_4695:{towgs84:"-103.746,-9.614,-255.95"},EPSG_4292:{towgs84:"-355,21,72"},EPSG_4302:{towgs84:"-61.702,284.488,472.052"},EPSG_4143:{towgs84:"-124.76,53,466.79"},EPSG_4606:{towgs84:"-153,153,307"},EPSG_4699:{towgs84:"-770.1,158.4,-498.2"},EPSG_4247:{towgs84:"-273.5,110.6,-357.9"},EPSG_4160:{towgs84:"8.88,184.86,106.69"},EPSG_4161:{towgs84:"-233.43,6.65,173.64"},EPSG_9251:{towgs84:"-9.5,122.9,138.2"},EPSG_9253:{towgs84:"-78.1,101.6,133.3"},EPSG_4297:{towgs84:"-198.383,-240.517,-107.909"},EPSG_4269:{towgs84:"0,0,0"},EPSG_4301:{towgs84:"-147,506,687"},EPSG_4618:{towgs84:"-59,-11,-52"},EPSG_4612:{towgs84:"0,0,0"},EPSG_4678:{towgs84:"44.585,-131.212,-39.544"},EPSG_4250:{towgs84:"-130,29,364"},EPSG_4144:{towgs84:"214,804,268"},EPSG_4147:{towgs84:"-17.51,-108.32,-62.39"},EPSG_4259:{towgs84:"-254.1,-5.36,-100.29"},EPSG_4164:{towgs84:"-76,-138,67"},EPSG_4211:{towgs84:"-378.873,676.002,-46.255"},EPSG_4182:{towgs84:"-422.651,-172.995,84.02"},EPSG_4224:{towgs84:"-143.87,243.37,-33.52"},EPSG_4225:{towgs84:"-205.57,168.77,-4.12"},EPSG_5527:{towgs84:"-67.35,3.88,-38.22"},EPSG_4752:{towgs84:"98,390,-22"},EPSG_4310:{towgs84:"-30,190,89"},EPSG_9248:{towgs84:"-192.26,65.72,132.08"},EPSG_4680:{towgs84:"124.5,-63.5,-281"},EPSG_4701:{towgs84:"-79.9,-158,-168.9"},EPSG_4706:{towgs84:"-146.21,112.63,4.05"},EPSG_4805:{towgs84:"682,-203,480"},EPSG_4201:{towgs84:"-165,-11,206"},EPSG_4210:{towgs84:"-157,-2,-299"},EPSG_4183:{towgs84:"-104,167,-38"},EPSG_4139:{towgs84:"11,72,-101"},EPSG_4668:{towgs84:"-86,-98,-119"},EPSG_4717:{towgs84:"-2,151,181"},EPSG_4732:{towgs84:"102,52,-38"},EPSG_4280:{towgs84:"-377,681,-50"},EPSG_4209:{towgs84:"-138,-105,-289"},EPSG_4261:{towgs84:"31,146,47"},EPSG_4658:{towgs84:"-73,46,-86"},EPSG_4721:{towgs84:"265.025,384.929,-194.046"},EPSG_4222:{towgs84:"-136,-108,-292"},EPSG_4601:{towgs84:"-255,-15,71"},EPSG_4602:{towgs84:"725,685,536"},EPSG_4603:{towgs84:"72,213.7,93"},EPSG_4605:{towgs84:"9,183,236"},EPSG_4621:{towgs84:"137,248,-430"},EPSG_4657:{towgs84:"-28,199,5"},EPSG_4316:{towgs84:"103.25,-100.4,-307.19"},EPSG_4642:{towgs84:"-13,-348,292"},EPSG_4698:{towgs84:"145,-187,103"},EPSG_4192:{towgs84:"-206.1,-174.7,-87.7"},EPSG_4311:{towgs84:"-265,120,-358"},EPSG_4135:{towgs84:"58,-283,-182"},ESRI_104138:{towgs84:"198,-226,-347"},EPSG_4245:{towgs84:"-11,851,5"},EPSG_4142:{towgs84:"-125,53,467"},EPSG_4213:{towgs84:"-106,-87,188"},EPSG_4253:{towgs84:"-133,-77,-51"},EPSG_4129:{towgs84:"-132,-110,-335"},EPSG_4713:{towgs84:"-77,-128,142"},EPSG_4239:{towgs84:"217,823,299"},EPSG_4146:{towgs84:"295,736,257"},EPSG_4155:{towgs84:"-83,37,124"},EPSG_4165:{towgs84:"-173,253,27"},EPSG_4672:{towgs84:"175,-38,113"},EPSG_4236:{towgs84:"-637,-549,-203"},EPSG_4251:{towgs84:"-90,40,88"},EPSG_4271:{towgs84:"-2,374,172"},EPSG_4175:{towgs84:"-88,4,101"},EPSG_4716:{towgs84:"298,-304,-375"},EPSG_4315:{towgs84:"-23,259,-9"},EPSG_4744:{towgs84:"-242.2,-144.9,370.3"},EPSG_4244:{towgs84:"-97,787,86"},EPSG_4293:{towgs84:"616,97,-251"},EPSG_4714:{towgs84:"-127,-769,472"},EPSG_4736:{towgs84:"260,12,-147"},EPSG_6883:{towgs84:"-235,-110,393"},EPSG_6894:{towgs84:"-63,176,185"},EPSG_4205:{towgs84:"-43,-163,45"},EPSG_4256:{towgs84:"41,-220,-134"},EPSG_4262:{towgs84:"639,405,60"},EPSG_4604:{towgs84:"174,359,365"},EPSG_4169:{towgs84:"-115,118,426"},EPSG_4620:{towgs84:"-106,-129,165"},EPSG_4184:{towgs84:"-203,141,53"},EPSG_4616:{towgs84:"-289,-124,60"},EPSG_9403:{towgs84:"-307,-92,127"},EPSG_4684:{towgs84:"-133,-321,50"},EPSG_4708:{towgs84:"-491,-22,435"},EPSG_4707:{towgs84:"114,-116,-333"},EPSG_4709:{towgs84:"145,75,-272"},EPSG_4712:{towgs84:"-205,107,53"},EPSG_4711:{towgs84:"124,-234,-25"},EPSG_4718:{towgs84:"230,-199,-752"},EPSG_4719:{towgs84:"211,147,111"},EPSG_4724:{towgs84:"208,-435,-229"},EPSG_4725:{towgs84:"189,-79,-202"},EPSG_4735:{towgs84:"647,1777,-1124"},EPSG_4722:{towgs84:"-794,119,-298"},EPSG_4728:{towgs84:"-307,-92,127"},EPSG_4734:{towgs84:"-632,438,-609"},EPSG_4727:{towgs84:"912,-58,1227"},EPSG_4729:{towgs84:"185,165,42"},EPSG_4730:{towgs84:"170,42,84"},EPSG_4733:{towgs84:"276,-57,149"},ESRI_37218:{towgs84:"230,-199,-752"},ESRI_37240:{towgs84:"-7,215,225"},ESRI_37221:{towgs84:"252,-209,-751"},ESRI_4305:{towgs84:"-123,-206,219"},ESRI_104139:{towgs84:"-73,-247,227"},EPSG_4748:{towgs84:"51,391,-36"},EPSG_4219:{towgs84:"-384,664,-48"},EPSG_4255:{towgs84:"-333,-222,114"},EPSG_4257:{towgs84:"-587.8,519.75,145.76"},EPSG_4646:{towgs84:"-963,510,-359"},EPSG_6881:{towgs84:"-24,-203,268"},EPSG_6882:{towgs84:"-183,-15,273"},EPSG_4715:{towgs84:"-104,-129,239"},IGNF_RGF93GDD:{towgs84:"0,0,0"},IGNF_RGM04GDD:{towgs84:"0,0,0"},IGNF_RGSPM06GDD:{towgs84:"0,0,0"},IGNF_RGTAAF07GDD:{towgs84:"0,0,0"},IGNF_RGFG95GDD:{towgs84:"0,0,0"},IGNF_RGNCG:{towgs84:"0,0,0"},IGNF_RGPFGDD:{towgs84:"0,0,0"},IGNF_ETRS89G:{towgs84:"0,0,0"},IGNF_RGR92GDD:{towgs84:"0,0,0"},EPSG_4173:{towgs84:"0,0,0"},EPSG_4180:{towgs84:"0,0,0"},EPSG_4619:{towgs84:"0,0,0"},EPSG_4667:{towgs84:"0,0,0"},EPSG_4075:{towgs84:"0,0,0"},EPSG_6706:{towgs84:"0,0,0"},EPSG_7798:{towgs84:"0,0,0"},EPSG_4661:{towgs84:"0,0,0"},EPSG_4669:{towgs84:"0,0,0"},EPSG_8685:{towgs84:"0,0,0"},EPSG_4151:{towgs84:"0,0,0"},EPSG_9702:{towgs84:"0,0,0"},EPSG_4758:{towgs84:"0,0,0"},EPSG_4761:{towgs84:"0,0,0"},EPSG_4765:{towgs84:"0,0,0"},EPSG_8997:{towgs84:"0,0,0"},EPSG_4023:{towgs84:"0,0,0"},EPSG_4670:{towgs84:"0,0,0"},EPSG_4694:{towgs84:"0,0,0"},EPSG_4148:{towgs84:"0,0,0"},EPSG_4163:{towgs84:"0,0,0"},EPSG_4167:{towgs84:"0,0,0"},EPSG_4189:{towgs84:"0,0,0"},EPSG_4190:{towgs84:"0,0,0"},EPSG_4176:{towgs84:"0,0,0"},EPSG_4659:{towgs84:"0,0,0"},EPSG_3824:{towgs84:"0,0,0"},EPSG_3889:{towgs84:"0,0,0"},EPSG_4046:{towgs84:"0,0,0"},EPSG_4081:{towgs84:"0,0,0"},EPSG_4558:{towgs84:"0,0,0"},EPSG_4483:{towgs84:"0,0,0"},EPSG_5013:{towgs84:"0,0,0"},EPSG_5264:{towgs84:"0,0,0"},EPSG_5324:{towgs84:"0,0,0"},EPSG_5354:{towgs84:"0,0,0"},EPSG_5371:{towgs84:"0,0,0"},EPSG_5373:{towgs84:"0,0,0"},EPSG_5381:{towgs84:"0,0,0"},EPSG_5393:{towgs84:"0,0,0"},EPSG_5489:{towgs84:"0,0,0"},EPSG_5593:{towgs84:"0,0,0"},EPSG_6135:{towgs84:"0,0,0"},EPSG_6365:{towgs84:"0,0,0"},EPSG_5246:{towgs84:"0,0,0"},EPSG_7886:{towgs84:"0,0,0"},EPSG_8431:{towgs84:"0,0,0"},EPSG_8427:{towgs84:"0,0,0"},EPSG_8699:{towgs84:"0,0,0"},EPSG_8818:{towgs84:"0,0,0"},EPSG_4757:{towgs84:"0,0,0"},EPSG_9140:{towgs84:"0,0,0"},EPSG_8086:{towgs84:"0,0,0"},EPSG_4686:{towgs84:"0,0,0"},EPSG_4737:{towgs84:"0,0,0"},EPSG_4702:{towgs84:"0,0,0"},EPSG_4747:{towgs84:"0,0,0"},EPSG_4749:{towgs84:"0,0,0"},EPSG_4674:{towgs84:"0,0,0"},EPSG_4755:{towgs84:"0,0,0"},EPSG_4759:{towgs84:"0,0,0"},EPSG_4762:{towgs84:"0,0,0"},EPSG_4763:{towgs84:"0,0,0"},EPSG_4764:{towgs84:"0,0,0"},EPSG_4166:{towgs84:"0,0,0"},EPSG_4170:{towgs84:"0,0,0"},EPSG_5546:{towgs84:"0,0,0"},EPSG_7844:{towgs84:"0,0,0"},EPSG_4818:{towgs84:"589,76,480"},EPSG_10328:{towgs84:"0,0,0"},EPSG_9782:{towgs84:"0,0,0"},EPSG_9777:{towgs84:"0,0,0"},EPSG_10690:{towgs84:"0,0,0"},EPSG_10639:{towgs84:"0,0,0"},EPSG_10739:{towgs84:"0,0,0"},EPSG_7686:{towgs84:"0,0,0"},EPSG_8900:{towgs84:"0,0,0"},EPSG_5886:{towgs84:"0,0,0"},EPSG_7683:{towgs84:"0,0,0"},EPSG_6668:{towgs84:"0,0,0"},EPSG_20046:{towgs84:"0,0,0"},EPSG_10299:{towgs84:"0,0,0"},EPSG_10310:{towgs84:"0,0,0"},EPSG_10475:{towgs84:"0,0,0"},EPSG_4742:{towgs84:"0,0,0"},EPSG_10671:{towgs84:"0,0,0"},EPSG_10762:{towgs84:"0,0,0"},EPSG_10725:{towgs84:"0,0,0"},EPSG_10791:{towgs84:"0,0,0"},EPSG_10800:{towgs84:"0,0,0"},EPSG_10305:{towgs84:"0,0,0"},EPSG_10941:{towgs84:"0,0,0"},EPSG_10968:{towgs84:"0,0,0"},EPSG_10875:{towgs84:"0,0,0"},EPSG_6318:{towgs84:"0,0,0"},EPSG_10910:{towgs84:"0,0,0"}};for(var LS in P7){var N4=P7[LS];N4.datumName&&(P7[N4.datumName]=N4)}function US(e,a,t,n,s,i,d){var f={};return f.datum_type=or,a&&(f.datum_type=Qv,f.datum_params=a.map(parseFloat),(f.datum_params[0]!==0||f.datum_params[1]!==0||f.datum_params[2]!==0)&&(f.datum_type=Zn),f.datum_params.length>3&&(f.datum_params[3]!==0||f.datum_params[4]!==0||f.datum_params[5]!==0||f.datum_params[6]!==0)&&(f.datum_type=Yn,f.datum_params[3]*=i1,f.datum_params[4]*=i1,f.datum_params[5]*=i1,f.datum_params[6]=f.datum_params[6]/1e6+1)),d&&(f.datum_type=pc,f.grids=d),f.a=t,f.b=n,f.es=s,f.ep2=i,f}var si={};function $S(e,a,t){return a instanceof ArrayBuffer?zS(e,a,t):{ready:GS(e,a)}}function zS(e,a,t){var n=!0;t!==void 0&&t.includeErrorFields===!1&&(n=!1);var s=new DataView(a),i=HS(s),d=VS(s,i),f=KS(s,d,i,n),l={header:d,subgrids:f};return si[e]=l,l}async function GS(e,a){for(var t=[],n=await a.getImageCount(),s=n-1;s>=0;s--){var i=await a.getImage(s),d=await i.readRasters(),f=d,l=[i.getWidth(),i.getHeight()],b=i.getBoundingBox().map(W2),u=typeof i.fileDirectory.getValue=="function"?i.fileDirectory.getValue("ModelPixelScale"):i.fileDirectory.ModelPixelScale,g=[u[0],u[1]].map(W2),m=b[0]+(l[0]-1)*g[0],p=b[3]-(l[1]-1)*g[1],S=f[0],w=f[1],E=[];for(let D=l[1]-1;D>=0;D--)for(let O=l[0]-1;O>=0;O--){var C=D*l[0]+O;E.push([-pn(w[C]),pn(S[C])])}t.push({del:g,lim:l,ll:[-m,p],cvs:E})}var _={header:{nSubgrids:n},subgrids:t};return si[e]=_,_}function WS(e){if(e===void 0)return null;var a=e.split(",");return a.map(qS)}function qS(e){if(e.length===0)return null;var a=e[0]==="@";return a&&(e=e.slice(1)),e==="null"?{name:"null",mandatory:!a,grid:null,isNull:!0}:{name:e,mandatory:!a,grid:si[e]||null,isNull:!1}}function W2(e){return e*Math.PI/180}function pn(e){return e/3600*Math.PI/180}function HS(e){var a=e.getInt32(8,!1);return a===11?!1:(a=e.getInt32(8,!0),a!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function VS(e,a){return{nFields:e.getInt32(8,a),nSubgridFields:e.getInt32(24,a),nSubgrids:e.getInt32(40,a),shiftType:br(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,a),fromSemiMinorAxis:e.getFloat64(136,a),toSemiMajorAxis:e.getFloat64(152,a),toSemiMinorAxis:e.getFloat64(168,a)}}function br(e,a,t){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(a,t)))}function KS(e,a,t,n){for(var s=176,i=[],d=0;d<a.nSubgrids;d++){var f=YS(e,s,t),l=JS(e,s,f,t,n),b=Math.round(1+(f.upperLongitude-f.lowerLongitude)/f.longitudeInterval),u=Math.round(1+(f.upperLatitude-f.lowerLatitude)/f.latitudeInterval);i.push({ll:[pn(f.lowerLongitude),pn(f.lowerLatitude)],del:[pn(f.longitudeInterval),pn(f.latitudeInterval)],lim:[b,u],count:f.gridNodeCount,cvs:ZS(l)});var g=16;n===!1&&(g=8),s+=176+f.gridNodeCount*g}return i}function ZS(e){return e.map(function(a){return[pn(a.longitudeShift),pn(a.latitudeShift)]})}function YS(e,a,t){return{name:br(e,a+8,a+16).trim(),parent:br(e,a+24,a+24+8).trim(),lowerLatitude:e.getFloat64(a+72,t),upperLatitude:e.getFloat64(a+88,t),lowerLongitude:e.getFloat64(a+104,t),upperLongitude:e.getFloat64(a+120,t),latitudeInterval:e.getFloat64(a+136,t),longitudeInterval:e.getFloat64(a+152,t),gridNodeCount:e.getInt32(a+168,t)}}function JS(e,a,t,n,s){var i=a+176,d=16;s===!1&&(d=8);for(var f=[],l=0;l<t.gridNodeCount;l++){var b={latitudeShift:e.getFloat32(i+l*d,n),longitudeShift:e.getFloat32(i+l*d+4,n)};s!==!1&&(b.latitudeAccuracy=e.getFloat32(i+l*d+8,n),b.longitudeAccuracy=e.getFloat32(i+l*d+12,n)),f.push(b)}return f}function Ct(e,a){if(!(this instanceof Ct))return new Ct(e);this.forward=null,this.inverse=null,this.init=null,this.name,this.axis,this.names=null,this.title,a=a||function(b){if(b)throw b};var t=ES(e);if(typeof t!="object"){a("Could not parse to valid json: "+e);return}var n=Ct.projections.get(t.projName);if(!n){a("Could not get projection name from: "+e);return}if(t.datumCode&&t.datumCode!=="none"){var s=wn(P7,t.datumCode);s&&(t.datum_params=t.datum_params||(s.towgs84?s.towgs84.split(","):null),t.ellps=s.ellipse,t.datumName=s.datumName?s.datumName:t.datumCode)}t.k0=t.k0||1,t.axis=t.axis||"enu",t.ellps=t.ellps||"wgs84",t.lat1=t.lat1||t.lat0;var i=BS(t.a,t.b,t.rf,t.ellps,t.sphere),d=FS(i.a,i.b,i.rf,t.R_A),f=WS(t.nadgrids),l=t.datum||US(t.datumCode,t.datum_params,i.a,i.b,d.es,d.ep2,f);z2(this,t),z2(this,n),this.a=i.a,this.b=i.b,this.rf=i.rf,this.sphere=i.sphere,this.es=d.es,this.e=d.e,this.ep2=d.ep2,this.datum=l,"init"in this&&typeof this.init=="function"&&this.init(),a(null,this)}Ct.projections=RS;Ct.projections.start();function XS(e,a){return e.datum_type!==a.datum_type||e.a!==a.a||Math.abs(e.es-a.es)>5e-11?!1:e.datum_type===Zn?e.datum_params[0]===a.datum_params[0]&&e.datum_params[1]===a.datum_params[1]&&e.datum_params[2]===a.datum_params[2]:e.datum_type===Yn?e.datum_params[0]===a.datum_params[0]&&e.datum_params[1]===a.datum_params[1]&&e.datum_params[2]===a.datum_params[2]&&e.datum_params[3]===a.datum_params[3]&&e.datum_params[4]===a.datum_params[4]&&e.datum_params[5]===a.datum_params[5]&&e.datum_params[6]===a.datum_params[6]:!0}function tl(e,a,t){var n=e.x,s=e.y,i=e.z?e.z:0,d,f,l,b;if(s<-Ae&&s>-1.001*Ae)s=-Ae;else if(s>Ae&&s<1.001*Ae)s=Ae;else{if(s<-Ae)return{x:-1/0,y:-1/0,z:e.z};if(s>Ae)return{x:1/0,y:1/0,z:e.z}}return n>Math.PI&&(n-=2*Math.PI),f=Math.sin(s),b=Math.cos(s),l=f*f,d=t/Math.sqrt(1-a*l),{x:(d+i)*b*Math.cos(n),y:(d+i)*b*Math.sin(n),z:(d*(1-a)+i)*f}}function nl(e,a,t,n){var s=1e-12,i=s*s,d=30,f,l,b,u,g,m,p,S,w,E,C,_,D,O=e.x,$=e.y,W=e.z?e.z:0,J,k,P;if(f=Math.sqrt(O*O+$*$),l=Math.sqrt(O*O+$*$+W*W),f/t<s){if(J=0,l/t<s)return k=Ae,P=-n,{x:e.x,y:e.y,z:e.z}}else J=Math.atan2($,O);b=W/l,u=f/l,g=1/Math.sqrt(1-a*(2-a)*u*u),S=u*(1-a)*g,w=b*g,D=0;do D++,p=t/Math.sqrt(1-a*w*w),P=f*S+W*w-p*(1-a*w*w),m=a*p/(p+P),g=1/Math.sqrt(1-m*(2-m)*u*u),E=u*(1-m)*g,C=b*g,_=C*S-E*w,S=E,w=C;while(_*_>i&&D<d);return k=Math.atan(C/Math.abs(E)),{x:J,y:k,z:P}}function QS(e,a,t){if(a===Zn)return{x:e.x+t[0],y:e.y+t[1],z:e.z+t[2]};if(a===Yn){var n=t[0],s=t[1],i=t[2],d=t[3],f=t[4],l=t[5],b=t[6];return{x:b*(e.x-l*e.y+f*e.z)+n,y:b*(l*e.x+e.y-d*e.z)+s,z:b*(-f*e.x+d*e.y+e.z)+i}}}function e_(e,a,t){if(a===Zn)return{x:e.x-t[0],y:e.y-t[1],z:e.z-t[2]};if(a===Yn){var n=t[0],s=t[1],i=t[2],d=t[3],f=t[4],l=t[5],b=t[6],u=(e.x-n)/b,g=(e.y-s)/b,m=(e.z-i)/b;return{x:u+l*g-f*m,y:-l*u+g+d*m,z:f*u-d*g+m}}}function m7(e){return e===Zn||e===Yn}function a_(e,a,t){if(XS(e,a)||e.datum_type===or||a.datum_type===or)return t;var n=e.a,s=e.es;if(e.datum_type===pc){var i=q2(e,!1,t);if(i!==0)return;n=R2,s=O2}var d=a.a,f=a.b,l=a.es;if(a.datum_type===pc&&(d=R2,f=eS,l=O2),s===l&&n===d&&!m7(e.datum_type)&&!m7(a.datum_type))return t;if(t=tl(t,s,n),m7(e.datum_type)&&(t=QS(t,e.datum_type,e.datum_params)),m7(a.datum_type)&&(t=e_(t,a.datum_type,a.datum_params)),t=nl(t,l,d,f),a.datum_type===pc){var b=q2(a,!0,t);if(b!==0)return}return t}function q2(e,a,t){if(e.grids===null||e.grids.length===0)return console.log("Grid shift grids not found"),-1;var n={x:-t.x,y:t.y},s={x:Number.NaN,y:Number.NaN},i=[];e:for(var d=0;d<e.grids.length;d++){var f=e.grids[d];if(i.push(f.name),f.isNull){s=n;break}if(f.grid===null){if(f.mandatory)return console.log("Unable to find mandatory grid '"+f.name+"'"),-1;continue}for(var l=f.grid.subgrids,b=0,u=l.length;b<u;b++){var g=l[b],m=(Math.abs(g.del[1])+Math.abs(g.del[0]))/1e4,p=g.ll[0]-m,S=g.ll[1]-m,w=g.ll[0]+(g.lim[0]-1)*g.del[0]+m,E=g.ll[1]+(g.lim[1]-1)*g.del[1]+m;if(!(S>n.y||p>n.x||E<n.y||w<n.x)&&(s=t_(n,a,g),!isNaN(s.x)))break e}}return isNaN(s.x)?(console.log("Failed to find a grid shift table for location '"+-n.x*rt+" "+n.y*rt+" tried: '"+i+"'"),-1):(t.x=-s.x,t.y=s.y,0)}function t_(e,a,t){var n={x:Number.NaN,y:Number.NaN};if(isNaN(e.x))return n;var s={x:e.x,y:e.y};s.x-=t.ll[0],s.y-=t.ll[1],s.x=Pe(s.x-Math.PI)+Math.PI;var i=H2(s,t);if(a){if(isNaN(i.x))return n;i.x=s.x-i.x,i.y=s.y-i.y;var d=9,f=1e-12,l,b;do{if(b=H2(i,t),isNaN(b.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}l={x:s.x-(b.x+i.x),y:s.y-(b.y+i.y)},i.x+=l.x,i.y+=l.y}while(d--&&Math.abs(l.x)>f&&Math.abs(l.y)>f);if(d<0)return console.log("Inverse grid shift iterator failed to converge."),n;n.x=Pe(i.x+t.ll[0]),n.y=i.y+t.ll[1]}else isNaN(i.x)||(n.x=e.x+i.x,n.y=e.y+i.y);return n}function H2(e,a){var t={x:e.x/a.del[0],y:e.y/a.del[1]},n={x:Math.floor(t.x),y:Math.floor(t.y)},s={x:t.x-1*n.x,y:t.y-1*n.y},i={x:Number.NaN,y:Number.NaN},d;if(n.x<0||n.x>=a.lim[0]||n.y<0||n.y>=a.lim[1])return i;d=n.y*a.lim[0]+n.x;var f={x:a.cvs[d][0],y:a.cvs[d][1]};d++;var l={x:a.cvs[d][0],y:a.cvs[d][1]};d+=a.lim[0];var b={x:a.cvs[d][0],y:a.cvs[d][1]};d--;var u={x:a.cvs[d][0],y:a.cvs[d][1]},g=s.x*s.y,m=s.x*(1-s.y),p=(1-s.x)*(1-s.y),S=(1-s.x)*s.y;return i.x=p*f.x+m*l.x+S*u.x+g*b.x,i.y=p*f.y+m*l.y+S*u.y+g*b.y,i}var On=["x","y","z"];function n_(e,a){const t={};for(let n=0,s=e.axis.length;n<s;n++){if(n===2&&a.z===void 0)continue;let i=a[On[n]];switch(e.axis[n]){case"e":t.x=i;break;case"w":t.x=-i;break;case"n":t.y=i;break;case"s":t.y=-i;break;case"u":t.z=i;break;case"d":t.z=-i;break;default:return null}}return t}function c_(e,a){const t={};for(let n=0,s=e.axis.length;n<s;n++)if(!(n===2&&a.z===void 0))switch(e.axis[n]){case"e":t[On[n]]=a.x;break;case"w":t[On[n]]=-a.x;break;case"n":t[On[n]]=a.y;break;case"s":t[On[n]]=-a.y;break;case"u":t[On[n]]=a.z;break;case"d":t[On[n]]=-a.z;break;default:return null}return t}function ri(e){var a={x:e[0],y:e[1]};return e.length>2&&(a.z=e[2]),e.length>3&&(a.m=e[3]),a}function s_(e){V2(e.x),V2(e.y)}function V2(e){if(typeof Number.isFinite=="function"){if(Number.isFinite(e))return;throw new TypeError("coordinates must be finite numbers")}if(typeof e!="number"||e!==e||!isFinite(e))throw new TypeError("coordinates must be finite numbers")}function r_(e,a){return(e.datum.datum_type===Zn||e.datum.datum_type===Yn||e.datum.datum_type===pc)&&a.datumCode!=="WGS84"||(a.datum.datum_type===Zn||a.datum.datum_type===Yn||a.datum.datum_type===pc)&&e.datumCode!=="WGS84"}function rs(e,a,t,n){var s,i=t.z!==void 0;if(s_(t),e.datum&&a.datum&&r_(e,a)&&(s=new Ct("WGS84"),t=rs(e,s,t,n),e=s),n&&e.axis!=="enu"&&(t=n_(e,t)),e.projName==="longlat")t={x:t.x*ya,y:t.y*ya,z:t.z||0};else if(e.to_meter&&(t={x:t.x*e.to_meter,y:t.y*e.to_meter,z:t.z||0}),t=e.inverse(t),!t)return;if(e.from_greenwich&&(t.x+=e.from_greenwich),t=a_(e.datum,a.datum,t),!!t)return t=t,a.from_greenwich&&(t={x:t.x-a.from_greenwich,y:t.y,z:t.z||0}),a.projName==="longlat"?t={x:t.x*rt,y:t.y*rt,z:t.z||0}:(t=a.forward(t),a.to_meter&&(t={x:t.x/a.to_meter,y:t.y/a.to_meter,z:t.z||0})),n&&a.axis!=="enu"?c_(a,t):(t&&!i&&a.projName!=="geocent"&&delete t.z,t)}function i_(e,a,t,n){var s;return Array.isArray(t)?s=ri(t):s={x:t.x,y:t.y,z:t.z,m:t.m},rs(e,a,s,n)}var K2=Ct("WGS84");function k4(e,a,t,n){var s,i,d;return Array.isArray(t)?(s=rs(e,a,ri(t),n)||{x:NaN,y:NaN},t.length>2?(i=typeof e.name<"u"&&e.name==="geocent"||typeof a.name<"u"&&a.name==="geocent",i?typeof s.z=="number"?[s.x,s.y,s.z].concat(t.slice(3)):[s.x,s.y,t[2]].concat(t.slice(3)):n&&typeof s.z=="number"?[s.x,s.y,s.z].concat(t.slice(3)):[s.x,s.y].concat(t.slice(2))):[s.x,s.y]):(s=rs(e,a,{x:t.x,y:t.y,z:t.z,m:t.m},n)||{x:NaN,y:NaN},d=Object.keys(t),d.length===2||(i=typeof e.name<"u"&&e.name==="geocent"||typeof a.name<"u"&&a.name==="geocent",d.forEach(function(f){f==="x"||f==="y"||f==="z"&&(i||n)||(s[f]=t[f])})),s)}function p7(e){return e instanceof Ct?e:typeof e=="object"&&"oProj"in e?e.oProj:Ct(e)}function d_(e,a,t){var n,s,i=!1,d;return typeof a>"u"?(s=p7(e),n=K2,i=!0):(typeof a.x<"u"||Array.isArray(a))&&(t=a,s=p7(e),n=K2,i=!0),n||(n=p7(e)),s||(s=p7(a)),t?k4(n,s,t):(d={forward:function(f,l){return k4(n,s,f,l)},inverse:function(f,l){return k4(s,n,f,l)}},i&&(d.oProj=s),d)}var Z2=6,cl="AJSAJS",sl="AFAFAF",lc=65,tt=73,_t=79,e1=86,a1=90;const f_={forward:rl,inverse:o_,toPoint:il};function rl(e,a){return a=a||5,u_(l_({lat:e[1],lon:e[0]}),a)}function o_(e){var a=ii(fl(e.toUpperCase()));return a.lat&&a.lon?[a.lon,a.lat,a.lon,a.lat]:[a.left,a.bottom,a.right,a.top]}function il(e){var a=ii(fl(e.toUpperCase()));return a.lat&&a.lon?[a.lon,a.lat]:[(a.left+a.right)/2,(a.top+a.bottom)/2]}function P4(e){return e*(Math.PI/180)}function Y2(e){return 180*(e/Math.PI)}function l_(e){var a=e.lat,t=e.lon,n=6378137,s=.00669438,i=.9996,d,f,l,b,u,g,m,p=P4(a),S=P4(t),w,E;E=Math.floor((t+180)/6)+1,t===180&&(E=60),a>=56&&a<64&&t>=3&&t<12&&(E=32),a>=72&&a<84&&(t>=0&&t<9?E=31:t>=9&&t<21?E=33:t>=21&&t<33?E=35:t>=33&&t<42&&(E=37)),d=(E-1)*6-180+3,w=P4(d),f=s/(1-s),l=n/Math.sqrt(1-s*Math.sin(p)*Math.sin(p)),b=Math.tan(p)*Math.tan(p),u=f*Math.cos(p)*Math.cos(p),g=Math.cos(p)*(S-w),m=n*((1-s/4-3*s*s/64-5*s*s*s/256)*p-(3*s/8+3*s*s/32+45*s*s*s/1024)*Math.sin(2*p)+(15*s*s/256+45*s*s*s/1024)*Math.sin(4*p)-35*s*s*s/3072*Math.sin(6*p));var C=i*l*(g+(1-b+u)*g*g*g/6+(5-18*b+b*b+72*u-58*f)*g*g*g*g*g/120)+5e5,_=i*(m+l*Math.tan(p)*(g*g/2+(5-b+9*u+4*u*u)*g*g*g*g/24+(61-58*b+b*b+600*u-330*f)*g*g*g*g*g*g/720));return a<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(C),zoneNumber:E,zoneLetter:b_(a)}}function ii(e){var a=e.northing,t=e.easting,n=e.zoneLetter,s=e.zoneNumber;if(s<0||s>60)return null;var i=.9996,d=6378137,f=.00669438,l,b=(1-Math.sqrt(1-f))/(1+Math.sqrt(1-f)),u,g,m,p,S,w,E,C,_,D=t-5e5,O=a;n<"N"&&(O-=1e7),E=(s-1)*6-180+3,l=f/(1-f),w=O/i,C=w/(d*(1-f/4-3*f*f/64-5*f*f*f/256)),_=C+(3*b/2-27*b*b*b/32)*Math.sin(2*C)+(21*b*b/16-55*b*b*b*b/32)*Math.sin(4*C)+151*b*b*b/96*Math.sin(6*C),u=d/Math.sqrt(1-f*Math.sin(_)*Math.sin(_)),g=Math.tan(_)*Math.tan(_),m=l*Math.cos(_)*Math.cos(_),p=d*(1-f)/Math.pow(1-f*Math.sin(_)*Math.sin(_),1.5),S=D/(u*i);var $=_-u*Math.tan(_)/p*(S*S/2-(5+3*g+10*m-4*m*m-9*l)*S*S*S*S/24+(61+90*g+298*m+45*g*g-252*l-3*m*m)*S*S*S*S*S*S/720);$=Y2($);var W=(S-(1+2*g+m)*S*S*S/6+(5-2*m+28*g-3*m*m+8*l+24*g*g)*S*S*S*S*S/120)/Math.cos(_);W=E+Y2(W);var J;if(e.accuracy){var k=ii({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});J={top:k.lat,right:k.lon,bottom:$,left:W}}else J={lat:$,lon:W};return J}function b_(e){var a="Z";return 84>=e&&e>=72?a="X":72>e&&e>=64?a="W":64>e&&e>=56?a="V":56>e&&e>=48?a="U":48>e&&e>=40?a="T":40>e&&e>=32?a="S":32>e&&e>=24?a="R":24>e&&e>=16?a="Q":16>e&&e>=8?a="P":8>e&&e>=0?a="N":0>e&&e>=-8?a="M":-8>e&&e>=-16?a="L":-16>e&&e>=-24?a="K":-24>e&&e>=-32?a="J":-32>e&&e>=-40?a="H":-40>e&&e>=-48?a="G":-48>e&&e>=-56?a="F":-56>e&&e>=-64?a="E":-64>e&&e>=-72?a="D":-72>e&&e>=-80&&(a="C"),a}function u_(e,a){var t="00000"+e.easting,n="00000"+e.northing;return e.zoneNumber+e.zoneLetter+h_(e.easting,e.northing,e.zoneNumber)+t.substr(t.length-5,a)+n.substr(n.length-5,a)}function h_(e,a,t){var n=dl(t),s=Math.floor(e/1e5),i=Math.floor(a/1e5)%20;return g_(s,i,n)}function dl(e){var a=e%Z2;return a===0&&(a=Z2),a}function g_(e,a,t){var n=t-1,s=cl.charCodeAt(n),i=sl.charCodeAt(n),d=s+e-1,f=i+a,l=!1;d>a1&&(d=d-a1+lc-1,l=!0),(d===tt||s<tt&&d>tt||(d>tt||s<tt)&&l)&&d++,(d===_t||s<_t&&d>_t||(d>_t||s<_t)&&l)&&(d++,d===tt&&d++),d>a1&&(d=d-a1+lc-1),f>e1?(f=f-e1+lc-1,l=!0):l=!1,(f===tt||i<tt&&f>tt||(f>tt||i<tt)&&l)&&f++,(f===_t||i<_t&&f>_t||(f>_t||i<_t)&&l)&&(f++,f===tt&&f++),f>e1&&(f=f-e1+lc-1);var b=String.fromCharCode(d)+String.fromCharCode(f);return b}function fl(e){if(e&&e.length===0)throw"MGRSPoint coverting from nothing";for(var a=e.length,t=null,n="",s,i=0;!/[A-Z]/.test(s=e.charAt(i));){if(i>=2)throw"MGRSPoint bad conversion from: "+e;n+=s,i++}var d=parseInt(n,10);if(i===0||i+3>a)throw"MGRSPoint bad conversion from: "+e;var f=e.charAt(i++);if(f<="A"||f==="B"||f==="Y"||f>="Z"||f==="I"||f==="O")throw"MGRSPoint zone letter "+f+" not handled: "+e;t=e.substring(i,i+=2);for(var l=dl(d),b=m_(t.charAt(0),l),u=p_(t.charAt(1),l);u<y_(f);)u+=2e6;var g=a-i;if(g%2!==0)throw`MGRSPoint has to have an even number
126
- of digits after the zone letter and two 100km letters - front
127
- half for easting meters, second half for
128
- northing meters`+e;var m=g/2,p=0,S=0,w,E,C,_,D;return m>0&&(w=1e5/Math.pow(10,m),E=e.substring(i,i+m),p=parseFloat(E)*w,C=e.substring(i+m),S=parseFloat(C)*w),_=p+b,D=S+u,{easting:_,northing:D,zoneLetter:f,zoneNumber:d,accuracy:w}}function m_(e,a){for(var t=cl.charCodeAt(a-1),n=1e5,s=!1;t!==e.charCodeAt(0);){if(t++,t===tt&&t++,t===_t&&t++,t>a1){if(s)throw"Bad character: "+e;t=lc,s=!0}n+=1e5}return n}function p_(e,a){if(e>"V")throw"MGRSPoint given invalid Northing "+e;for(var t=sl.charCodeAt(a-1),n=0,s=!1;t!==e.charCodeAt(0);){if(t++,t===tt&&t++,t===_t&&t++,t>e1){if(s)throw"Bad character: "+e;t=lc,s=!0}n+=1e5}return n}function y_(e){var a;switch(e){case"C":a=11e5;break;case"D":a=2e6;break;case"E":a=28e5;break;case"F":a=37e5;break;case"G":a=46e5;break;case"H":a=55e5;break;case"J":a=64e5;break;case"K":a=73e5;break;case"L":a=82e5;break;case"M":a=91e5;break;case"N":a=0;break;case"P":a=8e5;break;case"Q":a=17e5;break;case"R":a=26e5;break;case"S":a=35e5;break;case"T":a=44e5;break;case"U":a=53e5;break;case"V":a=62e5;break;case"W":a=7e6;break;case"X":a=79e5;break;default:a=-1}if(a>=0)return a;throw"Invalid zone letter: "+e}function Sc(e,a,t){if(!(this instanceof Sc))return new Sc(e,a,t);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if(typeof e=="object")this.x=e.x,this.y=e.y,this.z=e.z||0;else if(typeof e=="string"&&typeof a>"u"){var n=e.split(",");this.x=parseFloat(n[0]),this.y=parseFloat(n[1]),this.z=parseFloat(n[2])||0}else this.x=e,this.y=a,this.z=t||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Sc.fromMGRS=function(e){return new Sc(il(e))};Sc.prototype.toMGRS=function(e){return rl([this.x,this.y],e)};var x_=1,w_=.25,J2=.046875,X2=.01953125,Q2=.01068115234375,v_=.75,S_=.46875,__=.013020833333333334,E_=.007120768229166667,C_=.3645833333333333,j_=.005696614583333333,A_=.3076171875;function di(e){var a=[];a[0]=x_-e*(w_+e*(J2+e*(X2+e*Q2))),a[1]=e*(v_-e*(J2+e*(X2+e*Q2)));var t=e*e;return a[2]=t*(S_-e*(__+e*E_)),t*=e,a[3]=t*(C_-e*j_),a[4]=t*e*A_,a}function jc(e,a,t,n){return t*=a,a*=a,n[0]*e-t*(n[1]+a*(n[2]+a*(n[3]+a*n[4])))}var I_=20;function fi(e,a,t){for(var n=1/(1-a),s=e,i=I_;i;--i){var d=Math.sin(s),f=1-a*d*d;if(f=(jc(s,d,Math.cos(s),t)-e)*(f*Math.sqrt(f))*n,s-=f,Math.abs(f)<ke)return s}return s}function M_(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=di(this.es),this.ml0=jc(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function N_(e){var a=e.x,t=e.y,n=Pe(a-this.long0,this.over),s,i,d,f=Math.sin(t),l=Math.cos(t);if(this.es){var u=l*n,g=Math.pow(u,2),m=this.ep2*Math.pow(l,2),p=Math.pow(m,2),S=Math.abs(l)>ke?Math.tan(t):0,w=Math.pow(S,2),E=Math.pow(w,2);s=1-this.es*Math.pow(f,2),u=u/Math.sqrt(s);var C=jc(t,f,l,this.en);i=this.a*(this.k0*u*(1+g/6*(1-w+m+g/20*(5-18*w+E+14*m-58*w*m+g/42*(61+179*E-E*w-479*w)))))+this.x0,d=this.a*(this.k0*(C-this.ml0+f*n*u/2*(1+g/12*(5-w+9*m+4*p+g/30*(61+E-58*w+270*m-330*w*m+g/56*(1385+543*E-E*w-3111*w))))))+this.y0}else{var b=l*Math.sin(n);if(Math.abs(Math.abs(b)-1)<ke)return 93;if(i=.5*this.a*this.k0*Math.log((1+b)/(1-b))+this.x0,d=l*Math.cos(n)/Math.sqrt(1-Math.pow(b,2)),b=Math.abs(d),b>=1){if(b-1>ke)return 93;d=0}else d=Math.acos(d);t<0&&(d=-d),d=this.a*this.k0*(d-this.lat0)+this.y0}return e.x=i,e.y=d,e}function k_(e){var a,t,n,s,i=(e.x-this.x0)*(1/this.a),d=(e.y-this.y0)*(1/this.a);if(this.es)if(a=this.ml0+d/this.k0,t=fi(a,this.es,this.en),Math.abs(t)<Ae){var g=Math.sin(t),m=Math.cos(t),p=Math.abs(m)>ke?Math.tan(t):0,S=this.ep2*Math.pow(m,2),w=Math.pow(S,2),E=Math.pow(p,2),C=Math.pow(E,2);a=1-this.es*Math.pow(g,2);var _=i*Math.sqrt(a)/this.k0,D=Math.pow(_,2);a=a*p,n=t-a*D/(1-this.es)*.5*(1-D/12*(5+3*E-9*S*E+S-4*w-D/30*(61+90*E-252*S*E+45*C+46*S-D/56*(1385+3633*E+4095*C+1574*C*E)))),s=Pe(this.long0+_*(1-D/6*(1+2*E+S-D/20*(5+28*E+24*C+8*S*E+6*S-D/42*(61+662*E+1320*C+720*C*E))))/m,this.over)}else n=Ae*L1(d),s=0;else{var f=Math.exp(i/this.k0),l=.5*(f-1/f),b=this.lat0+d/this.k0,u=Math.cos(b);a=Math.sqrt((1-Math.pow(u,2))/(1+Math.pow(l,2))),n=Math.asin(a),d<0&&(n=-n),l===0&&u===0?s=0:s=Pe(Math.atan2(l,u)+this.long0,this.over)}return e.x=s,e.y=n,e}var P_=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const T7={init:M_,forward:N_,inverse:k_,names:P_};function ol(e){var a=Math.exp(e);return a=(a-1/a)/2,a}function ct(e,a){e=Math.abs(e),a=Math.abs(a);var t=Math.max(e,a),n=Math.min(e,a)/(t||1);return t*Math.sqrt(1+Math.pow(n,2))}function T_(e){var a=1+e,t=a-1;return t===0?e:e*Math.log(a)/t}function D_(e){var a=Math.abs(e);return a=T_(a*(1+a/(ct(1,a)+1))),e<0?-a:a}function oi(e,a){for(var t=2*Math.cos(2*a),n=e.length-1,s=e[n],i=0,d;--n>=0;)d=-i+t*s+e[n],i=s,s=d;return a+d*Math.sin(2*a)}function R_(e,a){for(var t=2*Math.cos(a),n=e.length-1,s=e[n],i=0,d;--n>=0;)d=-i+t*s+e[n],i=s,s=d;return Math.sin(a)*d}function O_(e){var a=Math.exp(e);return a=(a+1/a)/2,a}function ll(e,a,t){for(var n=Math.sin(a),s=Math.cos(a),i=ol(t),d=O_(t),f=2*s*d,l=-2*n*i,b=e.length-1,u=e[b],g=0,m=0,p=0,S,w;--b>=0;)S=m,w=g,m=u,g=p,u=-S+f*m-l*g+e[b],p=-w+l*m+f*g;return f=n*d,l=s*i,[f*u-l*p,f*p+l*u]}function F_(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(T7.init.apply(this),this.forward=T7.forward,this.inverse=T7.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),a=e/(2-e),t=a;this.cgb[0]=a*(2+a*(-2/3+a*(-2+a*(116/45+a*(26/45+a*(-2854/675)))))),this.cbg[0]=a*(-2+a*(2/3+a*(4/3+a*(-82/45+a*(32/45+a*(4642/4725)))))),t=t*a,this.cgb[1]=t*(7/3+a*(-8/5+a*(-227/45+a*(2704/315+a*(2323/945))))),this.cbg[1]=t*(5/3+a*(-16/15+a*(-13/9+a*(904/315+a*(-1522/945))))),t=t*a,this.cgb[2]=t*(56/15+a*(-136/35+a*(-1262/105+a*(73814/2835)))),this.cbg[2]=t*(-26/15+a*(34/21+a*(8/5+a*(-12686/2835)))),t=t*a,this.cgb[3]=t*(4279/630+a*(-332/35+a*(-399572/14175))),this.cbg[3]=t*(1237/630+a*(-12/5+a*(-24832/14175))),t=t*a,this.cgb[4]=t*(4174/315+a*(-144838/6237)),this.cbg[4]=t*(-734/315+a*(109598/31185)),t=t*a,this.cgb[5]=t*(601676/22275),this.cbg[5]=t*(444337/155925),t=Math.pow(a,2),this.Qn=this.k0/(1+a)*(1+t*(1/4+t*(1/64+t/256))),this.utg[0]=a*(-.5+a*(2/3+a*(-37/96+a*(1/360+a*(81/512+a*(-96199/604800)))))),this.gtu[0]=a*(.5+a*(-2/3+a*(5/16+a*(41/180+a*(-127/288+a*(7891/37800)))))),this.utg[1]=t*(-1/48+a*(-1/15+a*(437/1440+a*(-46/105+a*(1118711/3870720))))),this.gtu[1]=t*(13/48+a*(-3/5+a*(557/1440+a*(281/630+a*(-1983433/1935360))))),t=t*a,this.utg[2]=t*(-17/480+a*(37/840+a*(209/4480+a*(-5569/90720)))),this.gtu[2]=t*(61/240+a*(-103/140+a*(15061/26880+a*(167603/181440)))),t=t*a,this.utg[3]=t*(-4397/161280+a*(11/504+a*(830251/7257600))),this.gtu[3]=t*(49561/161280+a*(-179/168+a*(6601661/7257600))),t=t*a,this.utg[4]=t*(-4583/161280+a*(108847/3991680)),this.gtu[4]=t*(34729/80640+a*(-3418889/1995840)),t=t*a,this.utg[5]=t*(-20648693/638668800),this.gtu[5]=t*(212378941/319334400);var n=oi(this.cbg,this.lat0);this.Zb=-this.Qn*(n+R_(this.gtu,2*n))}function B_(e){var a=Pe(e.x-this.long0,this.over),t=e.y;t=oi(this.cbg,t);var n=Math.sin(t),s=Math.cos(t),i=Math.sin(a),d=Math.cos(a);t=Math.atan2(n,d*s),a=Math.atan2(i*s,ct(n,s*d)),a=D_(Math.tan(a));var f=ll(this.gtu,2*t,2*a);t=t+f[0],a=a+f[1];var l,b;return Math.abs(a)<=2.623395162778?(l=this.a*(this.Qn*a)+this.x0,b=this.a*(this.Qn*t+this.Zb)+this.y0):(l=1/0,b=1/0),e.x=l,e.y=b,e}function L_(e){var a=(e.x-this.x0)*(1/this.a),t=(e.y-this.y0)*(1/this.a);t=(t-this.Zb)/this.Qn,a=a/this.Qn;var n,s;if(Math.abs(a)<=2.623395162778){var i=ll(this.utg,2*t,2*a);t=t+i[0],a=a+i[1],a=Math.atan(ol(a));var d=Math.sin(t),f=Math.cos(t),l=Math.sin(a),b=Math.cos(a);t=Math.atan2(d*b,ct(l,b*f)),a=Math.atan2(l,b*f),n=Pe(a+this.long0,this.over),s=oi(this.cgb,t)}else n=1/0,s=1/0;return e.x=n,e.y=s,e}var U_=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const D7={init:F_,forward:B_,inverse:L_,names:U_};function $_(e,a){if(e===void 0){if(e=Math.floor((Pe(a)+Math.PI)*30/Math.PI)+1,e<0)return 0;if(e>60)return 60}return e}var z_="etmerc";function G_(){var e=$_(this.zone,this.long0);if(e===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(e)-183)*ya,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,D7.init.apply(this),this.forward=D7.forward,this.inverse=D7.inverse}var W_=["Universal Transverse Mercator System","utm"];const q_={init:G_,names:W_,dependsOn:z_};function li(e,a){return Math.pow((1-e)/(1+e),a)}var H_=20;function V_(){var e=Math.sin(this.lat0),a=Math.cos(this.lat0);a*=a,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*a*a/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+ea)/(Math.pow(Math.tan(.5*this.lat0+ea),this.C)*li(this.e*e,this.ratexp))}function K_(e){var a=e.x,t=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*t+ea),this.C)*li(this.e*Math.sin(t),this.ratexp))-Ae,e.x=this.C*a,e}function Z_(e){for(var a=1e-14,t=e.x/this.C,n=e.y,s=Math.pow(Math.tan(.5*n+ea)/this.K,1/this.C),i=H_;i>0&&(n=2*Math.atan(s*li(this.e*Math.sin(e.y),-.5*this.e))-Ae,!(Math.abs(n-e.y)<a));--i)e.y=n;return i?(e.x=t,e.y=n,e):null}const bi={init:V_,forward:K_,inverse:Z_};function Y_(){bi.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function J_(e){var a,t,n,s;return e.x=Pe(e.x-this.long0,this.over),bi.forward.apply(this,[e]),a=Math.sin(e.y),t=Math.cos(e.y),n=Math.cos(e.x),s=this.k0*this.R2/(1+this.sinc0*a+this.cosc0*t*n),e.x=s*t*Math.sin(e.x),e.y=s*(this.cosc0*a-this.sinc0*t*n),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function X_(e){var a,t,n,s,i;if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,i=ct(e.x,e.y)){var d=2*Math.atan2(i,this.R2);a=Math.sin(d),t=Math.cos(d),s=Math.asin(t*this.sinc0+e.y*a*this.cosc0/i),n=Math.atan2(e.x*a,i*this.cosc0*t-e.y*this.sinc0*a)}else s=this.phic0,n=0;return e.x=n,e.y=s,bi.inverse.apply(this,[e]),e.x=Pe(e.x+this.long0,this.over),e}var Q_=["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];const eE={init:Y_,forward:J_,inverse:X_,names:Q_};function ui(e,a,t){return a*=t,Math.tan(.5*(Ae+e))*Math.pow((1-a)/(1+a),.5*t)}function aE(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=ke&&(this.k0=.5*(1+L1(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=ke&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=ke&&Math.abs(Math.cos(this.lat_ts))>ke&&(this.k0=.5*this.cons*qt(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Tt(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=qt(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(ui(this.lat0,this.sinlat0,this.e))-Ae,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function tE(e){var a=e.x,t=e.y,n=Math.sin(t),s=Math.cos(t),i,d,f,l,b,u,g=Pe(a-this.long0,this.over);return Math.abs(Math.abs(a-this.long0)-Math.PI)<=ke&&Math.abs(t+this.lat0)<=ke?(e.x=NaN,e.y=NaN,e):this.sphere?(i=2*this.k0/(1+this.sinlat0*n+this.coslat0*s*Math.cos(g)),e.x=this.a*i*s*Math.sin(g)+this.x0,e.y=this.a*i*(this.coslat0*n-this.sinlat0*s*Math.cos(g))+this.y0,e):(d=2*Math.atan(ui(t,n,this.e))-Ae,l=Math.cos(d),f=Math.sin(d),Math.abs(this.coslat0)<=ke?(b=Tt(this.e,t*this.con,this.con*n),u=2*this.a*this.k0*b/this.cons,e.x=this.x0+u*Math.sin(a-this.long0),e.y=this.y0-this.con*u*Math.cos(a-this.long0),e):(Math.abs(this.sinlat0)<ke?(i=2*this.a*this.k0/(1+l*Math.cos(g)),e.y=i*f):(i=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*f+this.cosX0*l*Math.cos(g))),e.y=i*(this.cosX0*f-this.sinX0*l*Math.cos(g))+this.y0),e.x=i*l*Math.sin(g)+this.x0,e))}function nE(e){e.x-=this.x0,e.y-=this.y0;var a,t,n,s,i,d=Math.sqrt(e.x*e.x+e.y*e.y);if(this.sphere){var f=2*Math.atan(d/(2*this.a*this.k0));return a=this.long0,t=this.lat0,d<=ke?(e.x=a,e.y=t,e):(t=Math.asin(Math.cos(f)*this.sinlat0+e.y*Math.sin(f)*this.coslat0/d),Math.abs(this.coslat0)<ke?this.lat0>0?a=Pe(this.long0+Math.atan2(e.x,-1*e.y),this.over):a=Pe(this.long0+Math.atan2(e.x,e.y),this.over):a=Pe(this.long0+Math.atan2(e.x*Math.sin(f),d*this.coslat0*Math.cos(f)-e.y*this.sinlat0*Math.sin(f)),this.over),e.x=a,e.y=t,e)}else if(Math.abs(this.coslat0)<=ke){if(d<=ke)return t=this.lat0,a=this.long0,e.x=a,e.y=t,e;e.x*=this.con,e.y*=this.con,n=d*this.cons/(2*this.a*this.k0),t=this.con*S1(this.e,n),a=this.con*Pe(this.con*this.long0+Math.atan2(e.x,-1*e.y),this.over)}else s=2*Math.atan(d*this.cosX0/(2*this.a*this.k0*this.ms1)),a=this.long0,d<=ke?i=this.X0:(i=Math.asin(Math.cos(s)*this.sinX0+e.y*Math.sin(s)*this.cosX0/d),a=Pe(this.long0+Math.atan2(e.x*Math.sin(s),d*this.cosX0*Math.cos(s)-e.y*this.sinX0*Math.sin(s)),this.over)),t=-1*S1(this.e,Math.tan(.5*(Ae+i)));return e.x=a,e.y=t,e}var cE=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const sE={init:aE,forward:tE,inverse:nE,names:cE,ssfn_:ui};function rE(){var e=this.lat0;this.lambda0=this.long0;var a=Math.sin(e),t=this.a,n=this.rf,s=1/n,i=2*s-Math.pow(s,2),d=this.e=Math.sqrt(i);this.R=this.k0*t*Math.sqrt(1-i)/(1-i*Math.pow(a,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(a/this.alpha);var f=Math.log(Math.tan(Math.PI/4+this.b0/2)),l=Math.log(Math.tan(Math.PI/4+e/2)),b=Math.log((1+d*a)/(1-d*a));this.K=f-this.alpha*l+this.alpha*d/2*b}function iE(e){var a=Math.log(Math.tan(Math.PI/4-e.y/2)),t=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),n=-this.alpha*(a+t)+this.K,s=2*(Math.atan(Math.exp(n))-Math.PI/4),i=this.alpha*(e.x-this.lambda0),d=Math.atan(Math.sin(i)/(Math.sin(this.b0)*Math.tan(s)+Math.cos(this.b0)*Math.cos(i))),f=Math.asin(Math.cos(this.b0)*Math.sin(s)-Math.sin(this.b0)*Math.cos(s)*Math.cos(i));return e.y=this.R/2*Math.log((1+Math.sin(f))/(1-Math.sin(f)))+this.y0,e.x=this.R*d+this.x0,e}function dE(e){for(var a=e.x-this.x0,t=e.y-this.y0,n=a/this.R,s=2*(Math.atan(Math.exp(t/this.R))-Math.PI/4),i=Math.asin(Math.cos(this.b0)*Math.sin(s)+Math.sin(this.b0)*Math.cos(s)*Math.cos(n)),d=Math.atan(Math.sin(n)/(Math.cos(this.b0)*Math.cos(n)-Math.sin(this.b0)*Math.tan(s))),f=this.lambda0+d/this.alpha,l=0,b=i,u=-1e3,g=0;Math.abs(b-u)>1e-7;){if(++g>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+i/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(b))/2)),u=b,b=2*Math.atan(Math.exp(l))-Math.PI/2}return e.x=f,e.y=b,e}var fE=["somerc"];const oE={init:rE,forward:iE,inverse:dE,names:fE};var dc=1e-7;function lE(e){var a=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],t=typeof e.projName=="object"?Object.keys(e.projName)[0]:e.projName;return"no_uoff"in e||"no_off"in e||a.indexOf(t)!==-1||a.indexOf(el(t))!==-1}function bE(){var e,a,t,n,s,i,d,f,l,b,u=0,g,m=0,p=0,S=0,w=0,E=0,C=0;this.no_off=lE(this),this.no_rot="no_rot"in this;var _=!1;"alpha"in this&&(_=!0);var D=!1;if("rectified_grid_angle"in this&&(D=!0),_&&(C=this.alpha),D&&(u=this.rectified_grid_angle,_||(C=0,_=!0)),_||D)m=this.longc;else if(p=this.long1,w=this.lat1,S=this.long2,E=this.lat2,Math.abs(w-E)<=dc||(e=Math.abs(w))<=dc||Math.abs(e-Ae)<=dc||Math.abs(Math.abs(this.lat0)-Ae)<=dc||Math.abs(Math.abs(E)-Ae)<=dc)throw new Error;var O=1-this.es;a=Math.sqrt(O),Math.abs(this.lat0)>ke?(f=Math.sin(this.lat0),t=Math.cos(this.lat0),e=1-this.es*f*f,this.B=t*t,this.B=Math.sqrt(1+this.es*this.B*this.B/O),this.A=this.B*this.k0*a/e,n=this.B*a/(t*Math.sqrt(e)),s=n*n-1,s<=0?s=0:(s=Math.sqrt(s),this.lat0<0&&(s=-s)),this.E=s+=n,this.E*=Math.pow(Tt(this.e,this.lat0,f),this.B)):(this.B=1/a,this.A=this.k0,this.E=n=s=1),_||D?(_?(g=Math.asin(Math.sin(C)/n),D||(u=C)):(g=u,C=Math.asin(n*Math.sin(g))),this.lam0=m-Math.asin(.5*(s-1/s)*Math.tan(g))/this.B):(i=Math.pow(Tt(this.e,w,Math.sin(w)),this.B),d=Math.pow(Tt(this.e,E,Math.sin(E)),this.B),s=this.E/i,l=(d-i)/(d+i),b=this.E*this.E,b=(b-d*i)/(b+d*i),e=p-S,e<-Math.PI?S-=w1:e>Math.PI&&(S+=w1),this.lam0=Pe(.5*(p+S)-Math.atan(b*Math.tan(.5*this.B*(p-S))/l)/this.B,this.over),g=Math.atan(2*Math.sin(this.B*Pe(p-this.lam0,this.over))/(s-1/s)),u=C=Math.asin(n*Math.sin(g))),this.singam=Math.sin(g),this.cosgam=Math.cos(g),this.sinrot=Math.sin(u),this.cosrot=Math.cos(u),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(n*n-1)/Math.cos(C))),this.lat0<0&&(this.u_0=-this.u_0)),s=.5*g,this.v_pole_n=this.ArB*Math.log(Math.tan(ea-s)),this.v_pole_s=this.ArB*Math.log(Math.tan(ea+s))}function uE(e){var a={},t,n,s,i,d,f,l,b;if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-Ae)>ke){if(d=this.E/Math.pow(Tt(this.e,e.y,Math.sin(e.y)),this.B),f=1/d,t=.5*(d-f),n=.5*(d+f),i=Math.sin(this.B*e.x),s=(t*this.singam-i*this.cosgam)/n,Math.abs(Math.abs(s)-1)<ke)throw new Error;b=.5*this.ArB*Math.log((1-s)/(1+s)),f=Math.cos(this.B*e.x),Math.abs(f)<dc?l=this.A*e.x:l=this.ArB*Math.atan2(t*this.cosgam+i*this.singam,f)}else b=e.y>0?this.v_pole_n:this.v_pole_s,l=this.ArB*e.y;return this.no_rot?(a.x=l,a.y=b):(l-=this.u_0,a.x=b*this.cosrot+l*this.sinrot,a.y=l*this.cosrot-b*this.sinrot),a.x=this.a*a.x+this.x0,a.y=this.a*a.y+this.y0,a}function hE(e){var a,t,n,s,i,d,f,l={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(t=e.y,a=e.x):(t=e.x*this.cosrot-e.y*this.sinrot,a=e.y*this.cosrot+e.x*this.sinrot+this.u_0),n=Math.exp(-this.BrA*t),s=.5*(n-1/n),i=.5*(n+1/n),d=Math.sin(this.BrA*a),f=(d*this.cosgam+s*this.singam)/i,Math.abs(Math.abs(f)-1)<ke)l.x=0,l.y=f<0?-Ae:Ae;else{if(l.y=this.E/Math.sqrt((1+f)/(1-f)),l.y=S1(this.e,Math.pow(l.y,1/this.B)),l.y===1/0)throw new Error;l.x=-this.rB*Math.atan2(s*this.cosgam-d*this.singam,Math.cos(this.BrA*a))}return l.x+=this.lam0,l}var gE=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Variant_B","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"];const mE={init:bE,forward:uE,inverse:hE,names:gE};function pE(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<ke)){var e=this.b/this.a;this.e=Math.sqrt(1-e*e);var a=Math.sin(this.lat1),t=Math.cos(this.lat1),n=qt(this.e,a,t),s=Tt(this.e,this.lat1,a),i=Math.sin(this.lat2),d=Math.cos(this.lat2),f=qt(this.e,i,d),l=Tt(this.e,this.lat2,i),b=Math.abs(Math.abs(this.lat0)-Ae)<ke?0:Tt(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>ke?this.ns=Math.log(n/f)/Math.log(s/l):this.ns=a,isNaN(this.ns)&&(this.ns=a),this.f0=n/(this.ns*Math.pow(s,this.ns)),this.rh=this.a*this.f0*Math.pow(b,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function yE(e){var a=e.x,t=e.y;Math.abs(2*Math.abs(t)-Math.PI)<=ke&&(t=L1(t)*(Ae-2*ke));var n=Math.abs(Math.abs(t)-Ae),s,i;if(n>ke)s=Tt(this.e,t,Math.sin(t)),i=this.a*this.f0*Math.pow(s,this.ns);else{if(n=t*this.ns,n<=0)return null;i=0}var d=this.ns*Pe(a-this.long0,this.over);return e.x=this.k0*(i*Math.sin(d))+this.x0,e.y=this.k0*(this.rh-i*Math.cos(d))+this.y0,e}function xE(e){var a,t,n,s,i,d=(e.x-this.x0)/this.k0,f=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(a=Math.sqrt(d*d+f*f),t=1):(a=-Math.sqrt(d*d+f*f),t=-1);var l=0;if(a!==0&&(l=Math.atan2(t*d,t*f)),a!==0||this.ns>0){if(t=1/this.ns,n=Math.pow(a/(this.a*this.f0),t),s=S1(this.e,n),s===-9999)return null}else s=-Ae;return i=Pe(l/this.ns+this.long0,this.over),e.x=i,e.y=s,e}var wE=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"];const vE={init:pE,forward:yE,inverse:xE,names:wE};function SE(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function _E(e){var a,t,n,s,i,d,f,l=e.x,b=e.y,u=Pe(l-this.long0,this.over);return a=Math.pow((1+this.e*Math.sin(b))/(1-this.e*Math.sin(b)),this.alfa*this.e/2),t=2*(Math.atan(this.k*Math.pow(Math.tan(b/2+this.s45),this.alfa)/a)-this.s45),n=-u*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(t)+Math.sin(this.ad)*Math.cos(t)*Math.cos(n)),i=Math.asin(Math.cos(t)*Math.sin(n)/Math.cos(s)),d=this.n*i,f=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(s/2+this.s45),this.n),e.y=f*Math.cos(d)/1,e.x=f*Math.sin(d)/1,this.czech||(e.y*=-1,e.x*=-1),e}function EE(e){var a,t,n,s,i,d,f,l,b=e.x;e.x=e.y,e.y=b,this.czech||(e.y*=-1,e.x*=-1),d=Math.sqrt(e.x*e.x+e.y*e.y),i=Math.atan2(e.y,e.x),s=i/Math.sin(this.s0),n=2*(Math.atan(Math.pow(this.ro0/d,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),a=Math.asin(Math.cos(this.ad)*Math.sin(n)-Math.sin(this.ad)*Math.cos(n)*Math.cos(s)),t=Math.asin(Math.cos(n)*Math.sin(s)/Math.cos(a)),e.x=this.long0-t/this.alfa,f=a,l=0;var u=0;do e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(a/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(f))/(1-this.e*Math.sin(f)),this.e/2))-this.s45),Math.abs(f-e.y)<1e-10&&(l=1),f=e.y,u+=1;while(l===0&&u<15);return u>=15?null:e}var CE=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const jE={init:SE,forward:_E,inverse:EE,names:CE};function Ja(e,a,t,n,s){return e*s-a*Math.sin(2*s)+t*Math.sin(4*s)-n*Math.sin(6*s)}function U1(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function $1(e){return .375*e*(1+.25*e*(1+.46875*e))}function z1(e){return .05859375*e*e*(1+.75*e)}function G1(e){return e*e*e*(35/3072)}function hi(e,a,t){var n=a*t;return e/Math.sqrt(1-n*n)}function jn(e){return Math.abs(e)<Ae?e:e-L1(e)*Math.PI}function is(e,a,t,n,s){var i,d;i=e/a;for(var f=0;f<15;f++)if(d=(e-(a*i-t*Math.sin(2*i)+n*Math.sin(4*i)-s*Math.sin(6*i)))/(a-2*t*Math.cos(2*i)+4*n*Math.cos(4*i)-6*s*Math.cos(6*i)),i+=d,Math.abs(d)<=1e-10)return i;return NaN}function AE(){this.sphere||(this.e0=U1(this.es),this.e1=$1(this.es),this.e2=z1(this.es),this.e3=G1(this.es),this.ml0=this.a*Ja(this.e0,this.e1,this.e2,this.e3,this.lat0))}function IE(e){var a,t,n=e.x,s=e.y;if(n=Pe(n-this.long0,this.over),this.sphere)a=this.a*Math.asin(Math.cos(s)*Math.sin(n)),t=this.a*(Math.atan2(Math.tan(s),Math.cos(n))-this.lat0);else{var i=Math.sin(s),d=Math.cos(s),f=hi(this.a,this.e,i),l=Math.tan(s)*Math.tan(s),b=n*Math.cos(s),u=b*b,g=this.es*d*d/(1-this.es),m=this.a*Ja(this.e0,this.e1,this.e2,this.e3,s);a=f*b*(1-u*l*(1/6-(8-l+8*g)*u/120)),t=m-this.ml0+f*i/d*u*(.5+(5-l+6*g)*u/24)}return e.x=a+this.x0,e.y=t+this.y0,e}function ME(e){e.x-=this.x0,e.y-=this.y0;var a=e.x/this.a,t=e.y/this.a,n,s;if(this.sphere){var i=t+this.lat0;n=Math.asin(Math.sin(i)*Math.cos(a)),s=Math.atan2(Math.tan(a),Math.cos(i))}else{var d=this.ml0/this.a+t,f=is(d,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(f)-Ae)<=ke)return e.x=this.long0,e.y=Ae,t<0&&(e.y*=-1),e;var l=hi(this.a,this.e,Math.sin(f)),b=l*l*l/this.a/this.a*(1-this.es),u=Math.pow(Math.tan(f),2),g=a*this.a/l,m=g*g;n=f-l*Math.tan(f)/b*g*g*(.5-(1+3*u)*g*g/24),s=g*(1-m*(u/3+(1+3*u)*u*m/15))/Math.cos(f)}return e.x=Pe(s+this.long0,this.over),e.y=jn(n),e}var NE=["Cassini","Cassini_Soldner","cass"];const kE={init:AE,forward:IE,inverse:ME,names:NE};function Gt(e,a){var t;return e>1e-7?(t=e*a,(1-e*e)*(a/(1-t*t)-.5/e*Math.log((1-t)/(1+t)))):2*a}var PE=.3333333333333333,TE=.17222222222222222,DE=.10257936507936508,RE=.06388888888888888,OE=.0664021164021164,FE=.016415012942191543;function bl(e){var a,t=[];return t[0]=e*PE,a=e*e,t[0]+=a*TE,t[1]=a*RE,a*=e,t[0]+=a*DE,t[1]+=a*OE,t[2]=a*FE,t}function ul(e,a){var t=e+e;return e+a[0]*Math.sin(t)+a[1]*Math.sin(t+t)+a[2]*Math.sin(t+t+t)}var ur=1,hr=2,gr=3,R7=4;function BE(){var e=Math.abs(this.lat0);if(Math.abs(e-Ae)<ke?this.mode=this.lat0<0?ur:hr:Math.abs(e)<ke?this.mode=gr:this.mode=R7,this.es>0){var a;switch(this.qp=Gt(this.e,1),this.mmf=.5/(1-this.es),this.apa=bl(this.es),this.mode){case hr:this.dd=1;break;case ur:this.dd=1;break;case gr:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case R7:this.rq=Math.sqrt(.5*this.qp),a=Math.sin(this.lat0),this.sinb1=Gt(this.e,a)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*a*a)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===R7&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function LE(e){var a,t,n,s,i,d,f,l,b,u,g=e.x,m=e.y;if(g=Pe(g-this.long0,this.over),this.sphere){if(i=Math.sin(m),u=Math.cos(m),n=Math.cos(g),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t=this.mode===this.EQUIT?1+u*n:1+this.sinph0*i+this.cosph0*u*n,t<=ke)return null;t=Math.sqrt(2/t),a=t*u*Math.sin(g),t*=this.mode===this.EQUIT?i:this.cosph0*i-this.sinph0*u*n}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(n=-n),Math.abs(m+this.lat0)<ke)return null;t=ea-m*.5,t=2*(this.mode===this.S_POLE?Math.cos(t):Math.sin(t)),a=t*Math.sin(g),t*=n}}else{switch(f=0,l=0,b=0,n=Math.cos(g),s=Math.sin(g),i=Math.sin(m),d=Gt(this.e,i),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(f=d/this.qp,l=Math.sqrt(1-f*f)),this.mode){case this.OBLIQ:b=1+this.sinb1*f+this.cosb1*l*n;break;case this.EQUIT:b=1+l*n;break;case this.N_POLE:b=Ae+m,d=this.qp-d;break;case this.S_POLE:b=m-Ae,d=this.qp+d;break}if(Math.abs(b)<ke)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:b=Math.sqrt(2/b),this.mode===this.OBLIQ?t=this.ymf*b*(this.cosb1*f-this.sinb1*l*n):t=(b=Math.sqrt(2/(1+l*n)))*f*this.ymf,a=this.xmf*b*l*s;break;case this.N_POLE:case this.S_POLE:d>=0?(a=(b=Math.sqrt(d))*s,t=n*(this.mode===this.S_POLE?b:-b)):a=t=0;break}}return e.x=this.a*a+this.x0,e.y=this.a*t+this.y0,e}function UE(e){e.x-=this.x0,e.y-=this.y0;var a=e.x/this.a,t=e.y/this.a,n,s,i,d,f,l,b;if(this.sphere){var u=0,g,m=0;if(g=Math.sqrt(a*a+t*t),s=g*.5,s>1)return null;switch(s=2*Math.asin(s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(m=Math.sin(s),u=Math.cos(s)),this.mode){case this.EQUIT:s=Math.abs(g)<=ke?0:Math.asin(t*m/g),a*=m,t=u*g;break;case this.OBLIQ:s=Math.abs(g)<=ke?this.lat0:Math.asin(u*this.sinph0+t*m*this.cosph0/g),a*=m*this.cosph0,t=(u-Math.sin(s)*this.sinph0)*g;break;case this.N_POLE:t=-t,s=Ae-s;break;case this.S_POLE:s-=Ae;break}n=t===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(a,t)}else{if(b=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(a/=this.dd,t*=this.dd,l=Math.sqrt(a*a+t*t),l<ke)return e.x=this.long0,e.y=this.lat0,e;d=2*Math.asin(.5*l/this.rq),i=Math.cos(d),a*=d=Math.sin(d),this.mode===this.OBLIQ?(b=i*this.sinb1+t*d*this.cosb1/l,f=this.qp*b,t=l*this.cosb1*i-t*this.sinb1*d):(b=t*d/l,f=this.qp*b,t=l*i)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(t=-t),f=a*a+t*t,!f)return e.x=this.long0,e.y=this.lat0,e;b=1-f/this.qp,this.mode===this.S_POLE&&(b=-b)}n=Math.atan2(a,t),s=ul(Math.asin(b),this.apa)}return e.x=Pe(this.long0+n,this.over),e.y=s,e}var $E=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];const zE={init:BE,forward:LE,inverse:UE,names:$E,S_POLE:ur,N_POLE:hr,EQUIT:gr,OBLIQ:R7};function vn(e){return Math.abs(e)>1&&(e=e>1?1:-1),Math.asin(e)}function GE(){Math.abs(this.lat1+this.lat2)<ke||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=qt(this.e3,this.sin_po,this.cos_po),this.qs1=Gt(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=qt(this.e3,this.sin_po,this.cos_po),this.qs2=Gt(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Gt(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>ke?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function WE(e){var a=e.x,t=e.y;this.sin_phi=Math.sin(t),this.cos_phi=Math.cos(t);var n=Gt(this.e3,this.sin_phi),s=this.a*Math.sqrt(this.c-this.ns0*n)/this.ns0,i=this.ns0*Pe(a-this.long0,this.over),d=s*Math.sin(i)+this.x0,f=this.rh-s*Math.cos(i)+this.y0;return e.x=d,e.y=f,e}function qE(e){var a,t,n,s,i,d;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(a=Math.sqrt(e.x*e.x+e.y*e.y),n=1):(a=-Math.sqrt(e.x*e.x+e.y*e.y),n=-1),s=0,a!==0&&(s=Math.atan2(n*e.x,n*e.y)),n=a*this.ns0/this.a,this.sphere?d=Math.asin((this.c-n*n)/(2*this.ns0)):(t=(this.c-n*n)/this.ns0,d=this.phi1z(this.e3,t)),i=Pe(s/this.ns0+this.long0,this.over),e.x=i,e.y=d,e}function HE(e,a){var t,n,s,i,d,f=vn(.5*a);if(e<ke)return f;for(var l=e*e,b=1;b<=25;b++)if(t=Math.sin(f),n=Math.cos(f),s=e*t,i=1-s*s,d=.5*i*i/n*(a/(1-l)-t/i+.5/e*Math.log((1-s)/(1+s))),f=f+d,Math.abs(d)<=1e-7)return f;return null}var VE=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"];const KE={init:GE,forward:WE,inverse:qE,names:VE,phi1z:HE};function ZE(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function YE(e){var a,t,n,s,i,d,f,l,b=e.x,u=e.y;return n=Pe(b-this.long0,this.over),a=Math.sin(u),t=Math.cos(u),s=Math.cos(n),d=this.sin_p14*a+this.cos_p14*t*s,i=1,d>0||Math.abs(d)<=ke?(f=this.x0+this.a*i*t*Math.sin(n)/d,l=this.y0+this.a*i*(this.cos_p14*a-this.sin_p14*t*s)/d):(f=this.x0+this.infinity_dist*t*Math.sin(n),l=this.y0+this.infinity_dist*(this.cos_p14*a-this.sin_p14*t*s)),e.x=f,e.y=l,e}function JE(e){var a,t,n,s,i,d;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(a=Math.sqrt(e.x*e.x+e.y*e.y))?(s=Math.atan2(a,this.rc),t=Math.sin(s),n=Math.cos(s),d=vn(n*this.sin_p14+e.y*t*this.cos_p14/a),i=Math.atan2(e.x*t,a*this.cos_p14*n-e.y*this.sin_p14*t),i=Pe(this.long0+i,this.over)):(d=this.phic0,i=0),e.x=i,e.y=d,e}var XE=["gnom"];const QE={init:ZE,forward:YE,inverse:JE,names:XE};function eC(e,a){var t=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(a)-t)<1e-6)return a<0?-1*Ae:Ae;for(var n=Math.asin(.5*a),s,i,d,f,l=0;l<30;l++)if(i=Math.sin(n),d=Math.cos(n),f=e*i,s=Math.pow(1-f*f,2)/(2*d)*(a/(1-e*e)-i/(1-f*f)+.5/e*Math.log((1-f)/(1+f))),n+=s,Math.abs(s)<=1e-10)return n;return NaN}function aC(){this.sphere||(this.k0=qt(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function tC(e){var a=e.x,t=e.y,n,s,i=Pe(a-this.long0,this.over);if(this.sphere)n=this.x0+this.a*i*Math.cos(this.lat_ts),s=this.y0+this.a*Math.sin(t)/Math.cos(this.lat_ts);else{var d=Gt(this.e,Math.sin(t));n=this.x0+this.a*this.k0*i,s=this.y0+this.a*d*.5/this.k0}return e.x=n,e.y=s,e}function nC(e){e.x-=this.x0,e.y-=this.y0;var a,t;return this.sphere?(a=Pe(this.long0+e.x/this.a/Math.cos(this.lat_ts),this.over),t=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(t=eC(this.e,2*e.y*this.k0/this.a),a=Pe(this.long0+e.x/(this.a*this.k0),this.over)),e.x=a,e.y=t,e}var cC=["cea"];const sC={init:aC,forward:tC,inverse:nC,names:cC};function rC(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function iC(e){var a=e.x,t=e.y,n=Pe(a-this.long0,this.over),s=jn(t-this.lat0);return e.x=this.x0+this.a*n*this.rc,e.y=this.y0+this.a*s,e}function dC(e){var a=e.x,t=e.y;return e.x=Pe(this.long0+(a-this.x0)/(this.a*this.rc),this.over),e.y=jn(this.lat0+(t-this.y0)/this.a),e}var fC=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const oC={init:rC,forward:iC,inverse:dC,names:fC};var ef=20;function lC(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=U1(this.es),this.e1=$1(this.es),this.e2=z1(this.es),this.e3=G1(this.es),this.ml0=this.a*Ja(this.e0,this.e1,this.e2,this.e3,this.lat0)}function bC(e){var a=e.x,t=e.y,n,s,i,d=Pe(a-this.long0,this.over);if(i=d*Math.sin(t),this.sphere)Math.abs(t)<=ke?(n=this.a*d,s=-1*this.a*this.lat0):(n=this.a*Math.sin(i)/Math.tan(t),s=this.a*(jn(t-this.lat0)+(1-Math.cos(i))/Math.tan(t)));else if(Math.abs(t)<=ke)n=this.a*d,s=-1*this.ml0;else{var f=hi(this.a,this.e,Math.sin(t))/Math.tan(t);n=f*Math.sin(i),s=this.a*Ja(this.e0,this.e1,this.e2,this.e3,t)-this.ml0+f*(1-Math.cos(i))}return e.x=n+this.x0,e.y=s+this.y0,e}function uC(e){var a,t,n,s,i,d,f,l,b;if(n=e.x-this.x0,s=e.y-this.y0,this.sphere)if(Math.abs(s+this.a*this.lat0)<=ke)a=Pe(n/this.a+this.long0,this.over),t=0;else{d=this.lat0+s/this.a,f=n*n/this.a/this.a+d*d,l=d;var u;for(i=ef;i;--i)if(u=Math.tan(l),b=-1*(d*(l*u+1)-l-.5*(l*l+f)*u)/((l-d)/u-1),l+=b,Math.abs(b)<=ke){t=l;break}a=Pe(this.long0+Math.asin(n*Math.tan(l)/this.a)/Math.sin(t),this.over)}else if(Math.abs(s+this.ml0)<=ke)t=0,a=Pe(this.long0+n/this.a,this.over);else{d=(this.ml0+s)/this.a,f=n*n/this.a/this.a+d*d,l=d;var g,m,p,S,w;for(i=ef;i;--i)if(w=this.e*Math.sin(l),g=Math.sqrt(1-w*w)*Math.tan(l),m=this.a*Ja(this.e0,this.e1,this.e2,this.e3,l),p=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),S=m/this.a,b=(d*(g*S+1)-S-.5*g*(S*S+f))/(this.es*Math.sin(2*l)*(S*S+f-2*d*S)/(4*g)+(d-S)*(g*p-2/Math.sin(2*l))-p),l-=b,Math.abs(b)<=ke){t=l;break}g=Math.sqrt(1-this.es*Math.pow(Math.sin(t),2))*Math.tan(t),a=Pe(this.long0+Math.asin(n*g/this.a)/Math.sin(t),this.over)}return e.x=a,e.y=t,e}var hC=["Polyconic","American_Polyconic","poly"];const gC={init:lC,forward:bC,inverse:uC,names:hC};function mC(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function pC(e){var a,t=e.x,n=e.y,s=n-this.lat0,i=t-this.long0,d=s/i1*1e-5,f=i,l=1,b=0;for(a=1;a<=10;a++)l=l*d,b=b+this.A[a]*l;var u=b,g=f,m=1,p=0,S,w,E=0,C=0;for(a=1;a<=6;a++)S=m*u-p*g,w=p*u+m*g,m=S,p=w,E=E+this.B_re[a]*m-this.B_im[a]*p,C=C+this.B_im[a]*m+this.B_re[a]*p;return e.x=C*this.a+this.x0,e.y=E*this.a+this.y0,e}function yC(e){var a,t=e.x,n=e.y,s=t-this.x0,i=n-this.y0,d=i/this.a,f=s/this.a,l=1,b=0,u,g,m=0,p=0;for(a=1;a<=6;a++)u=l*d-b*f,g=b*d+l*f,l=u,b=g,m=m+this.C_re[a]*l-this.C_im[a]*b,p=p+this.C_im[a]*l+this.C_re[a]*b;for(var S=0;S<this.iterations;S++){var w=m,E=p,C,_,D=d,O=f;for(a=2;a<=6;a++)C=w*m-E*p,_=E*m+w*p,w=C,E=_,D=D+(a-1)*(this.B_re[a]*w-this.B_im[a]*E),O=O+(a-1)*(this.B_im[a]*w+this.B_re[a]*E);w=1,E=0;var $=this.B_re[1],W=this.B_im[1];for(a=2;a<=6;a++)C=w*m-E*p,_=E*m+w*p,w=C,E=_,$=$+a*(this.B_re[a]*w-this.B_im[a]*E),W=W+a*(this.B_im[a]*w+this.B_re[a]*E);var J=$*$+W*W;m=(D*$+O*W)/J,p=(O*$-D*W)/J}var k=m,P=p,R=1,F=0;for(a=1;a<=9;a++)R=R*k,F=F+this.D[a]*R;var A=this.lat0+F*i1*1e5,T=this.long0+P;return e.x=T,e.y=A,e}var xC=["New_Zealand_Map_Grid","nzmg"];const wC={init:mC,forward:pC,inverse:yC,names:xC};function vC(){}function SC(e){var a=e.x,t=e.y,n=Pe(a-this.long0,this.over),s=this.x0+this.a*n,i=this.y0+this.a*Math.log(Math.tan(Math.PI/4+t/2.5))*1.25;return e.x=s,e.y=i,e}function _C(e){e.x-=this.x0,e.y-=this.y0;var a=Pe(this.long0+e.x/this.a,this.over),t=2.5*(Math.atan(Math.exp(.8*e.y/this.a))-Math.PI/4);return e.x=a,e.y=t,e}var EC=["Miller_Cylindrical","mill"];const CC={init:vC,forward:SC,inverse:_C,names:EC};var jC=20;function AC(){this.long0=this.long0||0,this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=di(this.es)}function hl(e){var a,t,n=e.x,s=e.y;if(n=Pe(n-this.long0,this.over),this.sphere){if(!this.m)s=this.n!==1?Math.asin(this.n*Math.sin(s)):s;else for(var i=this.n*Math.sin(s),d=jC;d;--d){var f=(this.m*s+Math.sin(s)-i)/(this.m+Math.cos(s));if(s-=f,Math.abs(f)<ke)break}a=this.a*this.C_x*n*(this.m+Math.cos(s)),t=this.a*this.C_y*s}else{var l=Math.sin(s),b=Math.cos(s);t=this.a*jc(s,l,b,this.en),a=this.a*n*b/Math.sqrt(1-this.es*l*l)}return e.x=a,e.y=t,e}function gl(e){var a,t,n,s;return e.x-=this.x0,n=e.x/this.a,e.y-=this.y0,a=e.y/this.a,this.sphere?(a/=this.C_y,n=n/(this.C_x*(this.m+Math.cos(a))),this.m?a=vn((this.m*a+Math.sin(a))/this.n):this.n!==1&&(a=vn(Math.sin(a)/this.n)),n=Pe(n+this.long0,this.over),a=jn(a)):(a=fi(e.y/this.a,this.es,this.en),s=Math.abs(a),s<Ae?(s=Math.sin(a),t=this.long0+e.x*Math.sqrt(1-this.es*s*s)/(this.a*Math.cos(a)),n=Pe(t,this.over)):s-ke<Ae&&(n=this.long0)),e.x=n,e.y=a,e}var IC=["Sinusoidal","sinu"];const MC={init:AC,forward:hl,inverse:gl,names:IC};function NC(){this.sphere=!0,this.b=this.a,this.m=1,this.n=2.5707963267948966,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)}var kC=hl,PC=gl,TC=["Eckert_VI","eck6"];const DC={init:NC,forward:kC,inverse:PC,names:TC};function RC(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0}function OC(e){for(var a=e.x,t=e.y,n=Pe(a-this.long0,this.over),s=t,i=Math.PI*Math.sin(t);;){var d=-(s+Math.sin(s)-i)/(1+Math.cos(s));if(s+=d,Math.abs(d)<ke)break}s/=2,Math.PI/2-Math.abs(t)<ke&&(n=0);var f=.900316316158*this.a*n*Math.cos(s)+this.x0,l=1.4142135623731*this.a*Math.sin(s)+this.y0;return e.x=f,e.y=l,e}function FC(e){var a,t;e.x-=this.x0,e.y-=this.y0,t=e.y/(1.4142135623731*this.a),Math.abs(t)>.999999999999&&(t=.999999999999),a=Math.asin(t);var n=Pe(this.long0+e.x/(.900316316158*this.a*Math.cos(a)),this.over);n<-Math.PI&&(n=-Math.PI),n>Math.PI&&(n=Math.PI),t=(2*a+Math.sin(2*a))/Math.PI,Math.abs(t)>1&&(t=1);var s=Math.asin(t);return e.x=n,e.y=s,e}var BC=["Mollweide","moll"];const LC={init:RC,forward:OC,inverse:FC,names:BC};function UC(){Math.abs(this.lat1+this.lat2)<ke||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=U1(this.es),this.e1=$1(this.es),this.e2=z1(this.es),this.e3=G1(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=qt(this.e,this.sin_phi,this.cos_phi),this.ml1=Ja(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<ke?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=qt(this.e,this.sin_phi,this.cos_phi),this.ml2=Ja(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Ja(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function $C(e){var a=e.x,t=e.y,n;if(this.sphere)n=this.a*(this.g-t);else{var s=Ja(this.e0,this.e1,this.e2,this.e3,t);n=this.a*(this.g-s)}var i=this.ns*Pe(a-this.long0,this.over),d=this.x0+n*Math.sin(i),f=this.y0+this.rh-n*Math.cos(i);return e.x=d,e.y=f,e}function zC(e){e.x-=this.x0,e.y=this.rh-e.y+this.y0;var a,t,n,s;this.ns>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),a=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),a=-1);var i=0;if(t!==0&&(i=Math.atan2(a*e.x,a*e.y)),this.sphere)return s=Pe(this.long0+i/this.ns,this.over),n=jn(this.g-t/this.a),e.x=s,e.y=n,e;var d=this.g-t/this.a;return n=is(d,this.e0,this.e1,this.e2,this.e3),s=Pe(this.long0+i/this.ns,this.over),e.x=s,e.y=n,e}var GC=["Equidistant_Conic","eqdc"];const WC={init:UC,forward:$C,inverse:zC,names:GC};function qC(){this.R=this.a}function HC(e){var a=e.x,t=e.y,n=Pe(a-this.long0,this.over),s,i;Math.abs(t)<=ke&&(s=this.x0+this.R*n,i=this.y0);var d=vn(2*Math.abs(t/Math.PI));(Math.abs(n)<=ke||Math.abs(Math.abs(t)-Ae)<=ke)&&(s=this.x0,t>=0?i=this.y0+Math.PI*this.R*Math.tan(.5*d):i=this.y0+Math.PI*this.R*-Math.tan(.5*d));var f=.5*Math.abs(Math.PI/n-n/Math.PI),l=f*f,b=Math.sin(d),u=Math.cos(d),g=u/(b+u-1),m=g*g,p=g*(2/b-1),S=p*p,w=Math.PI*this.R*(f*(g-S)+Math.sqrt(l*(g-S)*(g-S)-(S+l)*(m-S)))/(S+l);n<0&&(w=-w),s=this.x0+w;var E=l+g;return w=Math.PI*this.R*(p*E-f*Math.sqrt((S+l)*(l+1)-E*E))/(S+l),t>=0?i=this.y0+w:i=this.y0-w,e.x=s,e.y=i,e}function VC(e){var a,t,n,s,i,d,f,l,b,u,g,m,p;return e.x-=this.x0,e.y-=this.y0,g=Math.PI*this.R,n=e.x/g,s=e.y/g,i=n*n+s*s,d=-Math.abs(s)*(1+i),f=d-2*s*s+n*n,l=-2*d+1+2*s*s+i*i,p=s*s/l+(2*f*f*f/l/l/l-9*d*f/l/l)/27,b=(d-f*f/3/l)/l,u=2*Math.sqrt(-b/3),g=3*p/b/u,Math.abs(g)>1&&(g>=0?g=1:g=-1),m=Math.acos(g)/3,e.y>=0?t=(-u*Math.cos(m+Math.PI/3)-f/3/l)*Math.PI:t=-(-u*Math.cos(m+Math.PI/3)-f/3/l)*Math.PI,Math.abs(n)<ke?a=this.long0:a=Pe(this.long0+Math.PI*(i-1+Math.sqrt(1+2*(n*n-s*s)+i*i))/2/n,this.over),e.x=a,e.y=t,e}var KC=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"];const ZC={init:qC,forward:HC,inverse:VC,names:KC};function YC(e,a,t,n,s,i){const d=n-a,f=Math.atan((1-i)*Math.tan(e)),l=Math.atan((1-i)*Math.tan(t)),b=Math.sin(f),u=Math.cos(f),g=Math.sin(l),m=Math.cos(l);let p=d,S,w=100,E,C,_,D,O,$,W,J,k,P,R,F,A,T;do{if(E=Math.sin(p),C=Math.cos(p),_=Math.sqrt(m*E*(m*E)+(u*g-b*m*C)*(u*g-b*m*C)),_===0)return{azi1:0,s12:0};D=b*g+u*m*C,O=Math.atan2(_,D),$=u*m*E/_,W=1-$*$,J=W!==0?D-2*b*g/W:0,k=i/16*W*(4+i*(4-3*W)),S=p,p=d+(1-k)*i*$*(O+k*_*(J+k*D*(-1+2*J*J)))}while(Math.abs(p-S)>1e-12&&--w>0);return w===0?{azi1:NaN,s12:NaN}:(P=W*(s*s-s*(1-i)*(s*(1-i)))/(s*(1-i)*(s*(1-i))),R=1+P/16384*(4096+P*(-768+P*(320-175*P))),F=P/1024*(256+P*(-128+P*(74-47*P))),A=F*_*(J+F/4*(D*(-1+2*J*J)-F/6*J*(-3+4*_*_)*(-3+4*J*J))),T=s*(1-i)*R*(O-A),{azi1:Math.atan2(m*E,u*g-b*m*C),s12:T})}function JC(e,a,t,n,s,i){const d=Math.atan((1-i)*Math.tan(e)),f=Math.sin(d),l=Math.cos(d),b=Math.sin(t),u=Math.cos(t),g=Math.atan2(f,l*u),m=l*b,p=1-m*m,S=p*(s*s-s*(1-i)*(s*(1-i)))/(s*(1-i)*(s*(1-i))),w=1+S/16384*(4096+S*(-768+S*(320-175*S))),E=S/1024*(256+S*(-128+S*(74-47*S)));let C=n/(s*(1-i)*w),_,D=100,O,$,W,J;do O=Math.cos(2*g+C),$=Math.sin(C),W=Math.cos(C),J=E*$*(O+E/4*(W*(-1+2*O*O)-E/6*O*(-3+4*$*$)*(-3+4*O*O))),_=C,C=n/(s*(1-i)*w)+J;while(Math.abs(C-_)>1e-12&&--D>0);if(D===0)return{lat2:NaN,lon2:NaN};const k=f*$-l*W*u,P=Math.atan2(f*W+l*$*u,(1-i)*Math.sqrt(m*m+k*k)),R=Math.atan2($*b,l*W-f*$*u),F=i/16*p*(4+i*(4-3*p)),A=R-(1-F)*i*m*(C+F*$*(O+F*W*(-1+2*O*O))),T=a+A;return{lat2:P,lon2:T}}function XC(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function QC(e){var a=e.x,t=e.y,n=Math.sin(e.y),s=Math.cos(e.y),i=Pe(a-this.long0,this.over),d,f,l,b,u,g,m,p,S,w,E;return this.sphere?Math.abs(this.sin_p12-1)<=ke?(e.x=this.x0+this.a*(Ae-t)*Math.sin(i),e.y=this.y0-this.a*(Ae-t)*Math.cos(i),e):Math.abs(this.sin_p12+1)<=ke?(e.x=this.x0+this.a*(Ae+t)*Math.sin(i),e.y=this.y0+this.a*(Ae+t)*Math.cos(i),e):(S=this.sin_p12*n+this.cos_p12*s*Math.cos(i),m=Math.acos(S),p=m?m/Math.sin(m):1,e.x=this.x0+this.a*p*s*Math.sin(i),e.y=this.y0+this.a*p*(this.cos_p12*n-this.sin_p12*s*Math.cos(i)),e):(d=U1(this.es),f=$1(this.es),l=z1(this.es),b=G1(this.es),Math.abs(this.sin_p12-1)<=ke?(u=this.a*Ja(d,f,l,b,Ae),g=this.a*Ja(d,f,l,b,t),e.x=this.x0+(u-g)*Math.sin(i),e.y=this.y0-(u-g)*Math.cos(i),e):Math.abs(this.sin_p12+1)<=ke?(u=this.a*Ja(d,f,l,b,Ae),g=this.a*Ja(d,f,l,b,t),e.x=this.x0+(u+g)*Math.sin(i),e.y=this.y0+(u+g)*Math.cos(i),e):Math.abs(a)<ke&&Math.abs(t-this.lat0)<ke?(e.x=e.y=0,e):(w=YC(this.lat0,this.long0,t,a,this.a,this.f),E=w.azi1,e.x=w.s12*Math.sin(E),e.y=w.s12*Math.cos(E),e))}function ej(e){e.x-=this.x0,e.y-=this.y0;var a,t,n,s,i,d,f,l,b,u,g,m,p,S,w,E;return this.sphere?(a=Math.sqrt(e.x*e.x+e.y*e.y),a>2*Ae*this.a?void 0:(t=a/this.a,n=Math.sin(t),s=Math.cos(t),i=this.long0,Math.abs(a)<=ke?d=this.lat0:(d=vn(s*this.sin_p12+e.y*n*this.cos_p12/a),f=Math.abs(this.lat0)-Ae,Math.abs(f)<=ke?this.lat0>=0?i=Pe(this.long0+Math.atan2(e.x,-e.y),this.over):i=Pe(this.long0-Math.atan2(-e.x,e.y),this.over):i=Pe(this.long0+Math.atan2(e.x*n,a*this.cos_p12*s-e.y*this.sin_p12*n),this.over)),e.x=i,e.y=d,e)):(l=U1(this.es),b=$1(this.es),u=z1(this.es),g=G1(this.es),Math.abs(this.sin_p12-1)<=ke?(m=this.a*Ja(l,b,u,g,Ae),a=Math.sqrt(e.x*e.x+e.y*e.y),p=m-a,d=is(p/this.a,l,b,u,g),i=Pe(this.long0+Math.atan2(e.x,-1*e.y),this.over),e.x=i,e.y=d,e):Math.abs(this.sin_p12+1)<=ke?(m=this.a*Ja(l,b,u,g,Ae),a=Math.sqrt(e.x*e.x+e.y*e.y),p=a-m,d=is(p/this.a,l,b,u,g),i=Pe(this.long0+Math.atan2(e.x,e.y),this.over),e.x=i,e.y=d,e):(S=Math.atan2(e.x,e.y),w=Math.sqrt(e.x*e.x+e.y*e.y),E=JC(this.lat0,this.long0,S,w,this.a,this.f),e.x=E.lon2,e.y=E.lat2,e))}var aj=["Azimuthal_Equidistant","aeqd"];const tj={init:XC,forward:QC,inverse:ej,names:aj};function nj(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function cj(e){var a,t,n,s,i,d,f,l,b=e.x,u=e.y;return n=Pe(b-(this.long0||0),this.over),a=Math.sin(u),t=Math.cos(u),s=Math.cos(n),d=this.sin_p14*a+this.cos_p14*t*s,i=1,(d>0||Math.abs(d)<=ke)&&(f=this.a*i*t*Math.sin(n),l=(this.y0||0)+this.a*i*(this.cos_p14*a-this.sin_p14*t*s)),e.x=f,e.y=l,e}function sj(e){var a,t,n,s,i,d,f,l,b;return e.x-=this.x0||0,e.y-=this.y0||0,a=Math.sqrt(e.x*e.x+e.y*e.y),t=vn(a/this.a),n=Math.sin(t),s=Math.cos(t),l=this.long0||0,b=this.lat0||0,d=l,Math.abs(a)<=ke?(f=b,e.x=d,e.y=f,e):(f=vn(s*this.sin_p14+e.y*n*this.cos_p14/a),i=Math.abs(b)-Ae,Math.abs(i)<=ke?(b>=0?d=Pe(l+Math.atan2(e.x,-e.y),this.over):d=Pe(l-Math.atan2(-e.x,e.y),this.over),e.x=d,e.y=f,e):(d=Pe(l+Math.atan2(e.x*n,a*this.cos_p14*s-e.y*this.sin_p14*n),this.over),e.x=d,e.y=f,e))}var rj=["ortho"];const ij={init:nj,forward:cj,inverse:sj,names:rj};var pa={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},aa={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function dj(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=Ae-ea/2?this.face=pa.TOP:this.lat0<=-(Ae-ea/2)?this.face=pa.BOTTOM:Math.abs(this.long0)<=ea?this.face=pa.FRONT:Math.abs(this.long0)<=Ae+ea?this.face=this.long0>0?pa.RIGHT:pa.LEFT:this.face=pa.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function fj(e){var a={x:0,y:0},t,n,s,i,d,f,l={value:0};if(e.x-=this.long0,this.es!==0?t=Math.atan(this.one_minus_f_squared*Math.tan(e.y)):t=e.y,n=e.x,this.face===pa.TOP)i=Ae-t,n>=ea&&n<=Ae+ea?(l.value=aa.AREA_0,s=n-Ae):n>Ae+ea||n<=-(Ae+ea)?(l.value=aa.AREA_1,s=n>0?n-va:n+va):n>-(Ae+ea)&&n<=-ea?(l.value=aa.AREA_2,s=n+Ae):(l.value=aa.AREA_3,s=n);else if(this.face===pa.BOTTOM)i=Ae+t,n>=ea&&n<=Ae+ea?(l.value=aa.AREA_0,s=-n+Ae):n<ea&&n>=-ea?(l.value=aa.AREA_1,s=-n):n<-ea&&n>=-(Ae+ea)?(l.value=aa.AREA_2,s=-n-Ae):(l.value=aa.AREA_3,s=n>0?-n+va:-n-va);else{var b,u,g,m,p,S,w;this.face===pa.RIGHT?n=yc(n,+Ae):this.face===pa.BACK?n=yc(n,+va):this.face===pa.LEFT&&(n=yc(n,-Ae)),m=Math.sin(t),p=Math.cos(t),S=Math.sin(n),w=Math.cos(n),b=p*w,u=p*S,g=m,this.face===pa.FRONT?(i=Math.acos(b),s=y7(i,g,u,l)):this.face===pa.RIGHT?(i=Math.acos(u),s=y7(i,g,-b,l)):this.face===pa.BACK?(i=Math.acos(-b),s=y7(i,g,-u,l)):this.face===pa.LEFT?(i=Math.acos(-u),s=y7(i,g,b,l)):(i=s=0,l.value=aa.AREA_0)}return f=Math.atan(12/va*(s+Math.acos(Math.sin(s)*Math.cos(ea))-Ae)),d=Math.sqrt((1-Math.cos(i))/(Math.cos(f)*Math.cos(f))/(1-Math.cos(Math.atan(1/Math.cos(s))))),l.value===aa.AREA_1?f+=Ae:l.value===aa.AREA_2?f+=va:l.value===aa.AREA_3&&(f+=1.5*va),a.x=d*Math.cos(f),a.y=d*Math.sin(f),a.x=a.x*this.a+this.x0,a.y=a.y*this.a+this.y0,e.x=a.x,e.y=a.y,e}function oj(e){var a={lam:0,phi:0},t,n,s,i,d,f,l,b,u,g={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,n=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),t=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?g.value=aa.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(g.value=aa.AREA_1,t-=Ae):e.x<0&&-e.x>=Math.abs(e.y)?(g.value=aa.AREA_2,t=t<0?t+va:t-va):(g.value=aa.AREA_3,t+=Ae),u=va/12*Math.tan(t),d=Math.sin(u)/(Math.cos(u)-1/Math.sqrt(2)),f=Math.atan(d),s=Math.cos(t),i=Math.tan(n),l=1-s*s*i*i*(1-Math.cos(Math.atan(1/Math.cos(f)))),l<-1?l=-1:l>1&&(l=1),this.face===pa.TOP)b=Math.acos(l),a.phi=Ae-b,g.value===aa.AREA_0?a.lam=f+Ae:g.value===aa.AREA_1?a.lam=f<0?f+va:f-va:g.value===aa.AREA_2?a.lam=f-Ae:a.lam=f;else if(this.face===pa.BOTTOM)b=Math.acos(l),a.phi=b-Ae,g.value===aa.AREA_0?a.lam=-f+Ae:g.value===aa.AREA_1?a.lam=-f:g.value===aa.AREA_2?a.lam=-f-Ae:a.lam=f<0?-f-va:-f+va;else{var m,p,S;m=l,u=m*m,u>=1?S=0:S=Math.sqrt(1-u)*Math.sin(f),u+=S*S,u>=1?p=0:p=Math.sqrt(1-u),g.value===aa.AREA_1?(u=p,p=-S,S=u):g.value===aa.AREA_2?(p=-p,S=-S):g.value===aa.AREA_3&&(u=p,p=S,S=-u),this.face===pa.RIGHT?(u=m,m=-p,p=u):this.face===pa.BACK?(m=-m,p=-p):this.face===pa.LEFT&&(u=m,m=p,p=-u),a.phi=Math.acos(-S)-Ae,a.lam=Math.atan2(p,m),this.face===pa.RIGHT?a.lam=yc(a.lam,-Ae):this.face===pa.BACK?a.lam=yc(a.lam,-va):this.face===pa.LEFT&&(a.lam=yc(a.lam,+Ae))}if(this.es!==0){var w,E,C;w=a.phi<0?1:0,E=Math.tan(a.phi),C=this.b/Math.sqrt(E*E+this.one_minus_f_squared),a.phi=Math.atan(Math.sqrt(this.a*this.a-C*C)/(this.one_minus_f*C)),w&&(a.phi=-a.phi)}return a.lam+=this.long0,e.x=a.lam,e.y=a.phi,e}function y7(e,a,t,n){var s;return e<ke?(n.value=aa.AREA_0,s=0):(s=Math.atan2(a,t),Math.abs(s)<=ea?n.value=aa.AREA_0:s>ea&&s<=Ae+ea?(n.value=aa.AREA_1,s-=Ae):s>Ae+ea||s<=-(Ae+ea)?(n.value=aa.AREA_2,s=s>=0?s-va:s+va):(n.value=aa.AREA_3,s+=Ae)),s}function yc(e,a){var t=e+a;return t<-va?t+=w1:t>+va&&(t-=w1),t}var lj=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const bj={init:dj,forward:fj,inverse:oj,names:lj};var mr=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],t1=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],ml=.8487,pl=1.3523,yl=rt/5,uj=1/yl,bc=18,ds=function(e,a){return e[0]+a*(e[1]+a*(e[2]+a*e[3]))},hj=function(e,a){return e[1]+a*(2*e[2]+a*3*e[3])};function gj(e,a,t,n){for(var s=a;n;--n){var i=e(s);if(s-=i,Math.abs(i)<t)break}return s}function mj(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function pj(e){var a=Pe(e.x-this.long0,this.over),t=Math.abs(e.y),n=Math.floor(t*yl);n<0?n=0:n>=bc&&(n=bc-1),t=rt*(t-uj*n);var s={x:ds(mr[n],t)*a,y:ds(t1[n],t)};return e.y<0&&(s.y=-s.y),s.x=s.x*this.a*ml+this.x0,s.y=s.y*this.a*pl+this.y0,s}function yj(e){var a={x:(e.x-this.x0)/(this.a*ml),y:Math.abs(e.y-this.y0)/(this.a*pl)};if(a.y>=1)a.x/=mr[bc][0],a.y=e.y<0?-Ae:Ae;else{var t=Math.floor(a.y*bc);for(t<0?t=0:t>=bc&&(t=bc-1);;)if(t1[t][0]>a.y)--t;else if(t1[t+1][0]<=a.y)++t;else break;var n=t1[t],s=5*(a.y-n[0])/(t1[t+1][0]-n[0]);s=gj(function(i){return(ds(n,i)-a.y)/hj(n,i)},s,ke,100),a.x/=ds(mr[t],s),a.y=(5*t+s)*ya,e.y<0&&(a.y=-a.y)}return a.x=Pe(a.x+this.long0,this.over),a}var xj=["Robinson","robin"];const wj={init:mj,forward:pj,inverse:yj,names:xj};function vj(){this.name="geocent"}function Sj(e){var a=tl(e,this.es,this.a);return a}function _j(e){var a=nl(e,this.es,this.a,this.b);return a}var Ej=["Geocentric","geocentric","geocent","Geocent"];const Cj={init:vj,forward:Sj,inverse:_j,names:Ej};var Ua={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},Kc={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function jj(){if(Object.keys(Kc).forEach((function(t){if(typeof this[t]>"u")this[t]=Kc[t].def;else{if(Kc[t].num&&isNaN(this[t]))throw new Error("Invalid parameter value, must be numeric "+t+" = "+this[t]);Kc[t].num&&(this[t]=parseFloat(this[t]))}Kc[t].degrees&&(this[t]=this[t]*ya)}).bind(this)),Math.abs(Math.abs(this.lat0)-Ae)<ke?this.mode=this.lat0<0?Ua.S_POLE:Ua.N_POLE:Math.abs(this.lat0)<ke?this.mode=Ua.EQUIT:(this.mode=Ua.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,a=this.azi;this.cg=Math.cos(a),this.sg=Math.sin(a),this.cw=Math.cos(e),this.sw=Math.sin(e)}function Aj(e){e.x-=this.long0;var a=Math.sin(e.y),t=Math.cos(e.y),n=Math.cos(e.x),s,i;switch(this.mode){case Ua.OBLIQ:i=this.sinph0*a+this.cosph0*t*n;break;case Ua.EQUIT:i=t*n;break;case Ua.S_POLE:i=-a;break;case Ua.N_POLE:i=a;break}switch(i=this.pn1/(this.p-i),s=i*t*Math.sin(e.x),this.mode){case Ua.OBLIQ:i*=this.cosph0*a-this.sinph0*t*n;break;case Ua.EQUIT:i*=a;break;case Ua.N_POLE:i*=-(t*n);break;case Ua.S_POLE:i*=t*n;break}var d,f;return d=i*this.cg+s*this.sg,f=1/(d*this.sw*this.h1+this.cw),s=(s*this.cg-i*this.sg)*this.cw*f,i=d*f,e.x=s*this.a,e.y=i*this.a,e}function Ij(e){e.x/=this.a,e.y/=this.a;var a={x:e.x,y:e.y},t,n,s;s=1/(this.pn1-e.y*this.sw),t=this.pn1*e.x*s,n=this.pn1*e.y*this.cw*s,e.x=t*this.cg+n*this.sg,e.y=n*this.cg-t*this.sg;var i=ct(e.x,e.y);if(Math.abs(i)<ke)a.x=0,a.y=e.y;else{var d,f;switch(f=1-i*i*this.pfact,f=(this.p-Math.sqrt(f))/(this.pn1/i+i/this.pn1),d=Math.sqrt(1-f*f),this.mode){case Ua.OBLIQ:a.y=Math.asin(d*this.sinph0+e.y*f*this.cosph0/i),e.y=(d-this.sinph0*Math.sin(a.y))*i,e.x*=f*this.cosph0;break;case Ua.EQUIT:a.y=Math.asin(e.y*f/i),e.y=d*i,e.x*=f;break;case Ua.N_POLE:a.y=Math.asin(d),e.y=-e.y;break;case Ua.S_POLE:a.y=-Math.asin(d);break}a.x=Math.atan2(e.x,e.y)}return e.x=a.x+this.long0,e.y=a.y,e}var Mj=["Tilted_Perspective","tpers"];const Nj={init:jj,forward:Aj,inverse:Ij,names:Mj};function kj(){if(this.flip_axis=this.sweep==="x"?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var e=1-this.es,a=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=a,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function Pj(e){var a=e.x,t=e.y,n,s,i,d;if(a=a-this.long0,this.shape==="ellipse"){t=Math.atan(this.radius_p2*Math.tan(t));var f=this.radius_p/ct(this.radius_p*Math.cos(t),Math.sin(t));if(s=f*Math.cos(a)*Math.cos(t),i=f*Math.sin(a)*Math.cos(t),d=f*Math.sin(t),(this.radius_g-s)*s-i*i-d*d*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;n=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(i/ct(d,n)),e.y=this.radius_g_1*Math.atan(d/n)):(e.x=this.radius_g_1*Math.atan(i/n),e.y=this.radius_g_1*Math.atan(d/ct(i,n)))}else this.shape==="sphere"&&(n=Math.cos(t),s=Math.cos(a)*n,i=Math.sin(a)*n,d=Math.sin(t),n=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(i/ct(d,n)),e.y=this.radius_g_1*Math.atan(d/n)):(e.x=this.radius_g_1*Math.atan(i/n),e.y=this.radius_g_1*Math.atan(d/ct(i,n))));return e.x=e.x*this.a,e.y=e.y*this.a,e}function Tj(e){var a=-1,t=0,n=0,s,i,d,f;if(e.x=e.x/this.a,e.y=e.y/this.a,this.shape==="ellipse"){this.flip_axis?(n=Math.tan(e.y/this.radius_g_1),t=Math.tan(e.x/this.radius_g_1)*ct(1,n)):(t=Math.tan(e.x/this.radius_g_1),n=Math.tan(e.y/this.radius_g_1)*ct(1,t));var l=n/this.radius_p;if(s=t*t+l*l+a*a,i=2*this.radius_g*a,d=i*i-4*s*this.C,d<0)return e.x=Number.NaN,e.y=Number.NaN,e;f=(-i-Math.sqrt(d))/(2*s),a=this.radius_g+f*a,t*=f,n*=f,e.x=Math.atan2(t,a),e.y=Math.atan(n*Math.cos(e.x)/a),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if(this.shape==="sphere"){if(this.flip_axis?(n=Math.tan(e.y/this.radius_g_1),t=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+n*n)):(t=Math.tan(e.x/this.radius_g_1),n=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+t*t)),s=t*t+n*n+a*a,i=2*this.radius_g*a,d=i*i-4*s*this.C,d<0)return e.x=Number.NaN,e.y=Number.NaN,e;f=(-i-Math.sqrt(d))/(2*s),a=this.radius_g+f*a,t*=f,n*=f,e.x=Math.atan2(t,a),e.y=Math.atan(n*Math.cos(e.x)/a)}return e.x=e.x+this.long0,e}var Dj=["Geostationary Satellite View","Geostationary_Satellite","geos"];const Rj={init:kj,forward:Pj,inverse:Tj,names:Dj};var d1=1.340264,f1=-.081106,o1=893e-6,l1=.003796,fs=Math.sqrt(3)/2;function Oj(){this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.es!==0&&(this.apa=bl(this.es),this.qp=Gt(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function Fj(e){var a=Pe(e.x-this.long0,this.over),t=e.y,n=Math.sin(t);this.es!==0&&(n=Gt(this.e,n)/this.qp);var s=Math.asin(fs*n),i=s*s,d=i*i*i;return e.x=a*Math.cos(s)/(fs*(d1+3*f1*i+d*(7*o1+9*l1*i))),e.y=s*(d1+f1*i+d*(o1+l1*i)),this.es!==0&&(e.x*=this.rqda,e.y*=this.rqda),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function Bj(e){e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,this.es!==0&&(e.x/=this.rqda,e.y/=this.rqda);var a=1e-9,t=12,n=e.y,s,i,d,f,l,b;for(b=0;b<t&&(s=n*n,i=s*s*s,d=n*(d1+f1*s+i*(o1+l1*s))-e.y,f=d1+3*f1*s+i*(7*o1+9*l1*s),n-=l=d/f,!(Math.abs(l)<a));++b);return s=n*n,i=s*s*s,e.x=fs*e.x*(d1+3*f1*s+i*(7*o1+9*l1*s))/Math.cos(n),e.y=Math.asin(Math.sin(n)/fs),this.es!==0&&(e.y=ul(e.y,this.apa)),e.x=Pe(e.x+this.long0,this.over),e}var Lj=["eqearth","Equal Earth","Equal_Earth"];const Uj={init:Oj,forward:Fj,inverse:Bj,names:Lj};var _1=1e-10;function $j(){var e;if(this.phi1=this.lat1,Math.abs(this.phi1)<_1)throw new Error;this.es?(this.en=di(this.es),this.m1=jc(this.phi1,this.am1=Math.sin(this.phi1),e=Math.cos(this.phi1),this.en),this.am1=e/(Math.sqrt(1-this.es*this.am1*this.am1)*this.am1),this.inverse=Gj,this.forward=zj):(Math.abs(this.phi1)+_1>=Ae?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=qj,this.forward=Wj)}function zj(e){var a=Pe(e.x-(this.long0||0),this.over),t=e.y,n,s,i;return n=this.am1+this.m1-jc(t,s=Math.sin(t),i=Math.cos(t),this.en),s=i*a/(n*Math.sqrt(1-this.es*s*s)),e.x=n*Math.sin(s),e.y=this.am1-n*Math.cos(s),e.x=this.a*e.x+(this.x0||0),e.y=this.a*e.y+(this.y0||0),e}function Gj(e){e.x=(e.x-(this.x0||0))/this.a,e.y=(e.y-(this.y0||0))/this.a;var a,t,n,s;if(t=ct(e.x,e.y=this.am1-e.y),s=fi(this.am1+this.m1-t,this.es,this.en),(a=Math.abs(s))<Ae)a=Math.sin(s),n=t*Math.atan2(e.x,e.y)*Math.sqrt(1-this.es*a*a)/Math.cos(s);else if(Math.abs(a-Ae)<=_1)n=0;else throw new Error;return e.x=Pe(n+(this.long0||0),this.over),e.y=jn(s),e}function Wj(e){var a=Pe(e.x-(this.long0||0),this.over),t=e.y,n,s;return s=this.cphi1+this.phi1-t,Math.abs(s)>_1?(e.x=s*Math.sin(n=a*Math.cos(t)/s),e.y=this.cphi1-s*Math.cos(n)):e.x=e.y=0,e.x=this.a*e.x+(this.x0||0),e.y=this.a*e.y+(this.y0||0),e}function qj(e){e.x=(e.x-(this.x0||0))/this.a,e.y=(e.y-(this.y0||0))/this.a;var a,t,n=ct(e.x,e.y=this.cphi1-e.y);if(t=this.cphi1+this.phi1-n,Math.abs(t)>Ae)throw new Error;return Math.abs(Math.abs(t)-Ae)<=_1?a=0:a=n*Math.atan2(e.x,e.y)/Math.cos(t),e.x=Pe(a+(this.long0||0),this.over),e.y=jn(t),e}var Hj=["bonne","Bonne (Werner lat_1=90)"];const Vj={init:$j,names:Hj},af={OBLIQUE:{forward:Xj,inverse:eA},TRANSVERSE:{forward:Qj,inverse:aA}},os={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};function Kj(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=X3.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);const e=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),a=Ct(e);if(!a)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);a.long0=0,this.obliqueProjection=a;let t;const n=Object.keys(os),s=f=>{if(typeof this[f]>"u")return;const l=parseFloat(this[f])*ya;if(isNaN(l))throw new Error("Invalid value for "+f+": "+this[f]);return l};for(let f=0;f<n.length;f++){const l=n[f],b=os[l],u=Object.entries(b);if(u.some(([m])=>typeof this[m]<"u")){t=b;for(let m=0;m<u.length;m++){const[p,S]=u[m],w=s(p);if(typeof w>"u")throw new Error("Missing parameter: "+p+".");this[S]=w}break}}if(!t)throw new Error("No valid parameters provided for ob_tran projection.");const{lamp:i,phip:d}=Jj(this,t);this.lamp=i,Math.abs(d)>ke?(this.cphip=Math.cos(d),this.sphip=Math.sin(d),this.projectionType=af.OBLIQUE):this.projectionType=af.TRANSVERSE}function Zj(e){return this.projectionType.forward(this,e)}function Yj(e){return this.projectionType.inverse(this,e)}function Jj(e,a){let t,n;if(a===os.ROTATE){let s=e.oLongC,i=e.oLatC,d=e.oAlpha;if(Math.abs(Math.abs(i)-Ae)<=ke)throw new Error("Invalid value for o_lat_c: "+e.o_lat_c+" should be < 90°");n=s+Math.atan2(-1*Math.cos(d),-1*Math.sin(d)*Math.sin(i)),t=Math.asin(Math.cos(i)*Math.sin(d))}else if(a===os.NEW_POLE)n=e.oLongP,t=e.oLatP;else{let s=e.oLong1,i=e.oLat1,d=e.oLong2,f=e.oLat2,l=Math.abs(i);if(Math.abs(i)>Ae-ke)throw new Error("Invalid value for o_lat_1: "+e.o_lat_1+" should be < 90°");if(Math.abs(f)>Ae-ke)throw new Error("Invalid value for o_lat_2: "+e.o_lat_2+" should be < 90°");if(Math.abs(i-f)<ke)throw new Error("Invalid value for o_lat_1 and o_lat_2: o_lat_1 should be different from o_lat_2");if(l<ke)throw new Error("Invalid value for o_lat_1: o_lat_1 should be different from zero");n=Math.atan2(Math.cos(i)*Math.sin(f)*Math.cos(s)-Math.sin(i)*Math.cos(f)*Math.cos(d),Math.sin(i)*Math.cos(f)*Math.sin(d)-Math.cos(i)*Math.sin(f)*Math.sin(s)),t=Math.atan(-1*Math.cos(n-s)/Math.tan(i))}return{lamp:n,phip:t}}function Xj(e,a){let{x:t,y:n}=a;t=Pe(t-e.long0,e.over);const s=Math.cos(t),i=Math.sin(n),d=Math.cos(n);a.x=Pe(Math.atan2(d*Math.sin(t),e.sphip*d*s+e.cphip*i)+e.lamp),a.y=Math.asin(e.sphip*i-e.cphip*d*s);const f=e.obliqueProjection.forward(a);return e.isIdentity&&(f.x*=rt,f.y*=rt),f}function Qj(e,a){let{x:t,y:n}=a;t=Pe(t-e.long0,e.over);const s=Math.cos(n),i=Math.cos(t);a.x=Pe(Math.atan2(s*Math.sin(t),Math.sin(n))+e.lamp),a.y=Math.asin(-1*s*i);const d=e.obliqueProjection.forward(a);return e.isIdentity&&(d.x*=rt,d.y*=rt),d}function eA(e,a){e.isIdentity&&(a.x*=ya,a.y*=ya);const t=e.obliqueProjection.inverse(a);let{x:n,y:s}=t;if(n<Number.MAX_VALUE){n-=e.lamp;const i=Math.cos(n),d=Math.sin(s),f=Math.cos(s);a.x=Math.atan2(f*Math.sin(n),e.sphip*f*i-e.cphip*d),a.y=Math.asin(e.sphip*d+e.cphip*f*i)}return a.x=Pe(a.x+e.long0),a}function aA(e,a){e.isIdentity&&(a.x*=ya,a.y*=ya);const t=e.obliqueProjection.inverse(a);let{x:n,y:s}=t;if(n<Number.MAX_VALUE){const i=Math.cos(s);n-=e.lamp,a.x=Math.atan2(i*Math.sin(n),-1*Math.sin(s)),a.y=Math.asin(i*Math.cos(n))}return a.x=Pe(a.x+e.long0),a}var tA=["General Oblique Transformation","General_Oblique_Transformation","ob_tran"];const nA={init:Kj,forward:Zj,inverse:Yj,names:tA};function cA(e){e.Proj.projections.add(T7),e.Proj.projections.add(D7),e.Proj.projections.add(q_),e.Proj.projections.add(eE),e.Proj.projections.add(sE),e.Proj.projections.add(oE),e.Proj.projections.add(mE),e.Proj.projections.add(vE),e.Proj.projections.add(jE),e.Proj.projections.add(kE),e.Proj.projections.add(zE),e.Proj.projections.add(KE),e.Proj.projections.add(QE),e.Proj.projections.add(sC),e.Proj.projections.add(oC),e.Proj.projections.add(gC),e.Proj.projections.add(wC),e.Proj.projections.add(CC),e.Proj.projections.add(MC),e.Proj.projections.add(DC),e.Proj.projections.add(LC),e.Proj.projections.add(WC),e.Proj.projections.add(ZC),e.Proj.projections.add(tj),e.Proj.projections.add(ij),e.Proj.projections.add(bj),e.Proj.projections.add(wj),e.Proj.projections.add(Cj),e.Proj.projections.add(Nj),e.Proj.projections.add(Rj),e.Proj.projections.add(Uj),e.Proj.projections.add(Vj),e.Proj.projections.add(nA)}const xl=Object.assign(d_,{defaultDatum:"WGS84",Proj:Ct,WGS84:new Ct("WGS84"),Point:Sc,toPoint:ri,defs:Da,nadgrid:$S,transform:i_,mgrs:f_,version:"__VERSION__"});cA(xl);const sA=Object.freeze(Object.defineProperty({__proto__:null,default:xl},Symbol.toStringTag,{value:"Module"})),rA=Jb(sA);var x7={},Nt={},T4={},tf;function iA(){return tf||(tf=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.earthRadius=63710088e-1,e.factors={centimeters:e.earthRadius*100,centimetres:e.earthRadius*100,degrees:e.earthRadius/111325,feet:e.earthRadius*3.28084,inches:e.earthRadius*39.37,kilometers:e.earthRadius/1e3,kilometres:e.earthRadius/1e3,meters:e.earthRadius,metres:e.earthRadius,miles:e.earthRadius/1609.344,millimeters:e.earthRadius*1e3,millimetres:e.earthRadius*1e3,nauticalmiles:e.earthRadius/1852,radians:1,yards:e.earthRadius*1.0936},e.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/e.earthRadius,yards:1.0936133},e.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function a(F,A,T){T===void 0&&(T={});var v={type:"Feature"};return(T.id===0||T.id)&&(v.id=T.id),T.bbox&&(v.bbox=T.bbox),v.properties=A||{},v.geometry=F,v}e.feature=a;function t(F,A,T){switch(F){case"Point":return n(A).geometry;case"LineString":return f(A).geometry;case"Polygon":return i(A).geometry;case"MultiPoint":return g(A).geometry;case"MultiLineString":return u(A).geometry;case"MultiPolygon":return m(A).geometry;default:throw new Error(F+" is invalid")}}e.geometry=t;function n(F,A,T){if(T===void 0&&(T={}),!F)throw new Error("coordinates is required");if(!Array.isArray(F))throw new Error("coordinates must be an Array");if(F.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!J(F[0])||!J(F[1]))throw new Error("coordinates must contain numbers");var v={type:"Point",coordinates:F};return a(v,A,T)}e.point=n;function s(F,A,T){return T===void 0&&(T={}),b(F.map(function(v){return n(v,A)}),T)}e.points=s;function i(F,A,T){T===void 0&&(T={});for(var v=0,L=F;v<L.length;v++){var B=L[v];if(B.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var U=0;U<B[B.length-1].length;U++)if(B[B.length-1][U]!==B[0][U])throw new Error("First and last Position are not equivalent.")}var H={type:"Polygon",coordinates:F};return a(H,A,T)}e.polygon=i;function d(F,A,T){return T===void 0&&(T={}),b(F.map(function(v){return i(v,A)}),T)}e.polygons=d;function f(F,A,T){if(T===void 0&&(T={}),F.length<2)throw new Error("coordinates must be an array of two or more positions");var v={type:"LineString",coordinates:F};return a(v,A,T)}e.lineString=f;function l(F,A,T){return T===void 0&&(T={}),b(F.map(function(v){return f(v,A)}),T)}e.lineStrings=l;function b(F,A){A===void 0&&(A={});var T={type:"FeatureCollection"};return A.id&&(T.id=A.id),A.bbox&&(T.bbox=A.bbox),T.features=F,T}e.featureCollection=b;function u(F,A,T){T===void 0&&(T={});var v={type:"MultiLineString",coordinates:F};return a(v,A,T)}e.multiLineString=u;function g(F,A,T){T===void 0&&(T={});var v={type:"MultiPoint",coordinates:F};return a(v,A,T)}e.multiPoint=g;function m(F,A,T){T===void 0&&(T={});var v={type:"MultiPolygon",coordinates:F};return a(v,A,T)}e.multiPolygon=m;function p(F,A,T){T===void 0&&(T={});var v={type:"GeometryCollection",geometries:F};return a(v,A,T)}e.geometryCollection=p;function S(F,A){if(A===void 0&&(A=0),A&&!(A>=0))throw new Error("precision must be a positive number");var T=Math.pow(10,A||0);return Math.round(F*T)/T}e.round=S;function w(F,A){A===void 0&&(A="kilometers");var T=e.factors[A];if(!T)throw new Error(A+" units is invalid");return F*T}e.radiansToLength=w;function E(F,A){A===void 0&&(A="kilometers");var T=e.factors[A];if(!T)throw new Error(A+" units is invalid");return F/T}e.lengthToRadians=E;function C(F,A){return D(E(F,A))}e.lengthToDegrees=C;function _(F){var A=F%360;return A<0&&(A+=360),A}e.bearingToAzimuth=_;function D(F){var A=F%(2*Math.PI);return A*180/Math.PI}e.radiansToDegrees=D;function O(F){var A=F%360;return A*Math.PI/180}e.degreesToRadians=O;function $(F,A,T){if(A===void 0&&(A="kilometers"),T===void 0&&(T="kilometers"),!(F>=0))throw new Error("length must be a positive number");return w(E(F,A),T)}e.convertLength=$;function W(F,A,T){if(A===void 0&&(A="meters"),T===void 0&&(T="kilometers"),!(F>=0))throw new Error("area must be a positive number");var v=e.areaFactors[A];if(!v)throw new Error("invalid original units");var L=e.areaFactors[T];if(!L)throw new Error("invalid final units");return F/v*L}e.convertArea=W;function J(F){return!isNaN(F)&&F!==null&&!Array.isArray(F)}e.isNumber=J;function k(F){return!!F&&F.constructor===Object}e.isObject=k;function P(F){if(!F)throw new Error("bbox is required");if(!Array.isArray(F))throw new Error("bbox must be an Array");if(F.length!==4&&F.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");F.forEach(function(A){if(!J(A))throw new Error("bbox must only contain numbers")})}e.validateBBox=P;function R(F){if(!F)throw new Error("id is required");if(["string","number"].indexOf(typeof F)===-1)throw new Error("id must be a number or a string")}e.validateId=R})(T4)),T4}var nf;function dA(){if(nf)return Nt;nf=1,Object.defineProperty(Nt,"__esModule",{value:!0});var e=iA();function a(b){if(!b)throw new Error("coord is required");if(!Array.isArray(b)){if(b.type==="Feature"&&b.geometry!==null&&b.geometry.type==="Point")return b.geometry.coordinates;if(b.type==="Point")return b.coordinates}if(Array.isArray(b)&&b.length>=2&&!Array.isArray(b[0])&&!Array.isArray(b[1]))return b;throw new Error("coord must be GeoJSON Point or an Array of numbers")}Nt.getCoord=a;function t(b){if(Array.isArray(b))return b;if(b.type==="Feature"){if(b.geometry!==null)return b.geometry.coordinates}else if(b.coordinates)return b.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}Nt.getCoords=t;function n(b){if(b.length>1&&e.isNumber(b[0])&&e.isNumber(b[1]))return!0;if(Array.isArray(b[0])&&b[0].length)return n(b[0]);throw new Error("coordinates must only contain numbers")}Nt.containsNumber=n;function s(b,u,g){if(!u||!g)throw new Error("type and name required");if(!b||b.type!==u)throw new Error("Invalid input to "+g+": must be a "+u+", given "+b.type)}Nt.geojsonType=s;function i(b,u,g){if(!b)throw new Error("No feature passed");if(!g)throw new Error(".featureOf() requires a name");if(!b||b.type!=="Feature"||!b.geometry)throw new Error("Invalid input to "+g+", Feature with geometry required");if(!b.geometry||b.geometry.type!==u)throw new Error("Invalid input to "+g+": must be a "+u+", given "+b.geometry.type)}Nt.featureOf=i;function d(b,u,g){if(!b)throw new Error("No featureCollection passed");if(!g)throw new Error(".collectionOf() requires a name");if(!b||b.type!=="FeatureCollection")throw new Error("Invalid input to "+g+", FeatureCollection required");for(var m=0,p=b.features;m<p.length;m++){var S=p[m];if(!S||S.type!=="Feature"||!S.geometry)throw new Error("Invalid input to "+g+", Feature with geometry required");if(!S.geometry||S.geometry.type!==u)throw new Error("Invalid input to "+g+": must be a "+u+", given "+S.geometry.type)}}Nt.collectionOf=d;function f(b){return b.type==="Feature"?b.geometry:b}Nt.getGeom=f;function l(b,u){return b.type==="FeatureCollection"?"FeatureCollection":b.type==="GeometryCollection"?"GeometryCollection":b.type==="Feature"&&b.geometry!==null?b.geometry.type:b.type}return Nt.getType=l,Nt}var cf;function fA(){if(cf)return x7;cf=1,Object.defineProperty(x7,"__esModule",{value:!0});var e=dA();function a(s,i,d){if(d===void 0&&(d={}),!s)throw new Error("point is required");if(!i)throw new Error("polygon is required");var f=e.getCoord(s),l=e.getGeom(i),b=l.type,u=i.bbox,g=l.coordinates;if(u&&n(f,u)===!1)return!1;b==="Polygon"&&(g=[g]);for(var m=!1,p=0;p<g.length&&!m;p++)if(t(f,g[p][0],d.ignoreBoundary)){for(var S=!1,w=1;w<g[p].length&&!S;)t(f,g[p][w],!d.ignoreBoundary)&&(S=!0),w++;S||(m=!0)}return m}x7.default=a;function t(s,i,d){var f=!1;i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1]&&(i=i.slice(0,i.length-1));for(var l=0,b=i.length-1;l<i.length;b=l++){var u=i[l][0],g=i[l][1],m=i[b][0],p=i[b][1],S=s[1]*(u-m)+g*(m-s[0])+p*(s[0]-u)===0&&(u-s[0])*(m-s[0])<=0&&(g-s[1])*(p-s[1])<=0;if(S)return!d;var w=g>s[1]!=p>s[1]&&s[0]<(m-u)*(s[1]-g)/(p-g)+u;w&&(f=!f)}return f}function n(s,i){return i[0]<=s[0]&&i[1]<=s[1]&&i[2]>=s[0]&&i[3]>=s[1]}return x7}var oA=k7.exports,sf;function lA(){return sf||(sf=1,(function(e,a){(function(t,n){e.exports=n(rA,fA())})(oA,(function(t,n){return(()=>{var s={620:l=>{l.exports=n},25:l=>{l.exports=t}},i={};function d(l){var b=i[l];if(b!==void 0)return b.exports;var u=i[l]={exports:{}};return s[l](u,u.exports,d),u.exports}d.n=l=>{var b=l&&l.__esModule?()=>l.default:()=>l;return d.d(b,{a:b}),b},d.d=(l,b)=>{for(var u in b)d.o(b,u)&&!d.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:b[u]})},d.o=(l,b)=>Object.prototype.hasOwnProperty.call(l,b),d.r=l=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var f={};return(()=>{d.r(f),d.d(f,{default:()=>m});var l=d(25),b=d.n(l),u=d(620),g=d.n(u);const m=function({map:p,avoidOuterPins:S=!1}){const{points:w,X_MIN:E,Y_MAX:C,X_RANGE:_,Y_RANGE:D,region:O,grid:$,width:W,height:J,ystep:k}=p;return{addPin({lat:P,lng:R,data:F,svgOptions:A}){const T={...this.getPin({lat:P,lng:R}),data:F,svgOptions:A};return w[[T.x,T.y].join(";")]=T,T},getPin({lat:P,lng:R}){const[F,A]=b()(b().defs("GOOGLE"),[R,P]);if(S){const Y=b()(b().defs("GOOGLE"),b().defs("WGS84"),[F,A]);if(!g()(Y,poly))return}let[T,v]=[W*(F-E)/_,J*(C-A)/D];const L=Math.round(v/k);L%2==0&&$==="diagonal"&&(T-=.5);const B=Math.round(T);let[U,H]=[B,Math.round(L)*k];L%2==0&&$==="diagonal"&&(U+=.5);const[Z,ee]=b()(b().defs("GOOGLE"),b().defs("WGS84"),[U*_/W+E,C-H*D/J]);return{x:U,y:H,lat:ee,lng:Z}},getPoints:()=>Object.values(w),getSVG:({shape:P="circle",color:R="current",backgroundColor:F="transparent",radius:A=.5})=>`<svg viewBox="0 0 ${W} ${J}" xmlns="http://www.w3.org/2000/svg" style="background-color: ${F}">
129
- ${Object.values(w).map((({x:T,y:v,svgOptions:L={}})=>{const B=L.radius||A;if(P==="circle")return`<circle cx="${T}" cy="${v}" r="${B}" fill="${L.color||R}" />`;if(P==="hexagon"){const U=Math.sqrt(3)*B;return`<polyline points="${[[T+U,v-B],[T+U,v+B],[T,v+2*B],[T-U,v+B],[T-U,v-B],[T,v-2*B]].map((H=>H.join(","))).join(" ")}" fill="${L.color||R}" />`}})).join(`
130
- `)}
131
- </svg>`,image:{region:O,width:W,height:J}}}})(),f})()}))})(k7)),k7.exports}var bA=lA();const wl=Cr(bA),vl=JSON.parse('"{\\"points\\":{\\"6;0\\":{\\"x\\":6.5,\\"y\\":0},\\"16;0\\":{\\"x\\":16.5,\\"y\\":0},\\"18;0\\":{\\"x\\":18.5,\\"y\\":0},\\"19;0\\":{\\"x\\":19.5,\\"y\\":0},\\"20;0\\":{\\"x\\":20.5,\\"y\\":0},\\"21;0\\":{\\"x\\":21.5,\\"y\\":0},\\"24;0\\":{\\"x\\":24.5,\\"y\\":0},\\"26;0\\":{\\"x\\":26.5,\\"y\\":0},\\"27;0\\":{\\"x\\":27.5,\\"y\\":0},\\"28;0\\":{\\"x\\":28.5,\\"y\\":0},\\"29;0\\":{\\"x\\":29.5,\\"y\\":0},\\"30;0\\":{\\"x\\":30.5,\\"y\\":0},\\"31;0\\":{\\"x\\":31.5,\\"y\\":0},\\"37;0\\":{\\"x\\":37.5,\\"y\\":0},\\"38;0\\":{\\"x\\":38.5,\\"y\\":0},\\"39;0\\":{\\"x\\":39.5,\\"y\\":0},\\"40;0\\":{\\"x\\":40.5,\\"y\\":0},\\"41;0\\":{\\"x\\":41.5,\\"y\\":0},\\"42;0\\":{\\"x\\":42.5,\\"y\\":0},\\"43;0\\":{\\"x\\":43.5,\\"y\\":0},\\"44;0\\":{\\"x\\":44.5,\\"y\\":0},\\"45;0\\":{\\"x\\":45.5,\\"y\\":0},\\"60;0\\":{\\"x\\":60.5,\\"y\\":0},\\"68;0\\":{\\"x\\":68.5,\\"y\\":0},\\"72;0\\":{\\"x\\":72.5,\\"y\\":0},\\"73;0\\":{\\"x\\":73.5,\\"y\\":0},\\"74;0\\":{\\"x\\":74.5,\\"y\\":0},\\"75;0\\":{\\"x\\":75.5,\\"y\\":0},\\"76;0\\":{\\"x\\":76.5,\\"y\\":0},\\"77;0\\":{\\"x\\":77.5,\\"y\\":0},\\"78;0\\":{\\"x\\":78.5,\\"y\\":0},\\"79;0\\":{\\"x\\":79.5,\\"y\\":0},\\"80;0\\":{\\"x\\":80.5,\\"y\\":0},\\"81;0\\":{\\"x\\":81.5,\\"y\\":0},\\"82;0\\":{\\"x\\":82.5,\\"y\\":0},\\"83;0\\":{\\"x\\":83.5,\\"y\\":0},\\"84;0\\":{\\"x\\":84.5,\\"y\\":0},\\"85;0\\":{\\"x\\":85.5,\\"y\\":0},\\"86;0\\":{\\"x\\":86.5,\\"y\\":0},\\"87;0\\":{\\"x\\":87.5,\\"y\\":0},\\"88;0\\":{\\"x\\":88.5,\\"y\\":0},\\"89;0\\":{\\"x\\":89.5,\\"y\\":0},\\"90;0\\":{\\"x\\":90.5,\\"y\\":0},\\"91;0\\":{\\"x\\":91.5,\\"y\\":0},\\"92;0\\":{\\"x\\":92.5,\\"y\\":0},\\"93;0\\":{\\"x\\":93.5,\\"y\\":0},\\"94;0\\":{\\"x\\":94.5,\\"y\\":0},\\"95;0\\":{\\"x\\":95.5,\\"y\\":0},\\"96;0\\":{\\"x\\":96.5,\\"y\\":0},\\"98;0\\":{\\"x\\":98.5,\\"y\\":0},\\"5;1\\":{\\"x\\":5,\\"y\\":0.8660254037844386},\\"6;1\\":{\\"x\\":6,\\"y\\":0.8660254037844386},\\"7;1\\":{\\"x\\":7,\\"y\\":0.8660254037844386},\\"8;1\\":{\\"x\\":8,\\"y\\":0.8660254037844386},\\"9;1\\":{\\"x\\":9,\\"y\\":0.8660254037844386},\\"15;1\\":{\\"x\\":15,\\"y\\":0.8660254037844386},\\"16;1\\":{\\"x\\":16,\\"y\\":0.8660254037844386},\\"19;1\\":{\\"x\\":19,\\"y\\":0.8660254037844386},\\"20;1\\":{\\"x\\":20,\\"y\\":0.8660254037844386},\\"21;1\\":{\\"x\\":21,\\"y\\":0.8660254037844386},\\"22;1\\":{\\"x\\":22,\\"y\\":0.8660254037844386},\\"25;1\\":{\\"x\\":25,\\"y\\":0.8660254037844386},\\"28;1\\":{\\"x\\":28,\\"y\\":0.8660254037844386},\\"29;1\\":{\\"x\\":29,\\"y\\":0.8660254037844386},\\"30;1\\":{\\"x\\":30,\\"y\\":0.8660254037844386},\\"31;1\\":{\\"x\\":31,\\"y\\":0.8660254037844386},\\"32;1\\":{\\"x\\":32,\\"y\\":0.8660254037844386},\\"37;1\\":{\\"x\\":37,\\"y\\":0.8660254037844386},\\"38;1\\":{\\"x\\":38,\\"y\\":0.8660254037844386},\\"39;1\\":{\\"x\\":39,\\"y\\":0.8660254037844386},\\"40;1\\":{\\"x\\":40,\\"y\\":0.8660254037844386},\\"41;1\\":{\\"x\\":41,\\"y\\":0.8660254037844386},\\"42;1\\":{\\"x\\":42,\\"y\\":0.8660254037844386},\\"43;1\\":{\\"x\\":43,\\"y\\":0.8660254037844386},\\"44;1\\":{\\"x\\":44,\\"y\\":0.8660254037844386},\\"45;1\\":{\\"x\\":45,\\"y\\":0.8660254037844386},\\"59;1\\":{\\"x\\":59,\\"y\\":0.8660254037844386},\\"60;1\\":{\\"x\\":60,\\"y\\":0.8660254037844386},\\"61;1\\":{\\"x\\":61,\\"y\\":0.8660254037844386},\\"73;1\\":{\\"x\\":73,\\"y\\":0.8660254037844386},\\"75;1\\":{\\"x\\":75,\\"y\\":0.8660254037844386},\\"76;1\\":{\\"x\\":76,\\"y\\":0.8660254037844386},\\"77;1\\":{\\"x\\":77,\\"y\\":0.8660254037844386},\\"78;1\\":{\\"x\\":78,\\"y\\":0.8660254037844386},\\"79;1\\":{\\"x\\":79,\\"y\\":0.8660254037844386},\\"80;1\\":{\\"x\\":80,\\"y\\":0.8660254037844386},\\"81;1\\":{\\"x\\":81,\\"y\\":0.8660254037844386},\\"82;1\\":{\\"x\\":82,\\"y\\":0.8660254037844386},\\"83;1\\":{\\"x\\":83,\\"y\\":0.8660254037844386},\\"84;1\\":{\\"x\\":84,\\"y\\":0.8660254037844386},\\"85;1\\":{\\"x\\":85,\\"y\\":0.8660254037844386},\\"86;1\\":{\\"x\\":86,\\"y\\":0.8660254037844386},\\"87;1\\":{\\"x\\":87,\\"y\\":0.8660254037844386},\\"88;1\\":{\\"x\\":88,\\"y\\":0.8660254037844386},\\"89;1\\":{\\"x\\":89,\\"y\\":0.8660254037844386},\\"90;1\\":{\\"x\\":90,\\"y\\":0.8660254037844386},\\"91;1\\":{\\"x\\":91,\\"y\\":0.8660254037844386},\\"92;1\\":{\\"x\\":92,\\"y\\":0.8660254037844386},\\"93;1\\":{\\"x\\":93,\\"y\\":0.8660254037844386},\\"94;1\\":{\\"x\\":94,\\"y\\":0.8660254037844386},\\"95;1\\":{\\"x\\":95,\\"y\\":0.8660254037844386},\\"96;1\\":{\\"x\\":96,\\"y\\":0.8660254037844386},\\"97;1\\":{\\"x\\":97,\\"y\\":0.8660254037844386},\\"98;1\\":{\\"x\\":98,\\"y\\":0.8660254037844386},\\"99;1\\":{\\"x\\":99,\\"y\\":0.8660254037844386},\\"4;2\\":{\\"x\\":4.5,\\"y\\":1.7320508075688772},\\"5;2\\":{\\"x\\":5.5,\\"y\\":1.7320508075688772},\\"6;2\\":{\\"x\\":6.5,\\"y\\":1.7320508075688772},\\"7;2\\":{\\"x\\":7.5,\\"y\\":1.7320508075688772},\\"8;2\\":{\\"x\\":8.5,\\"y\\":1.7320508075688772},\\"9;2\\":{\\"x\\":9.5,\\"y\\":1.7320508075688772},\\"10;2\\":{\\"x\\":10.5,\\"y\\":1.7320508075688772},\\"11;2\\":{\\"x\\":11.5,\\"y\\":1.7320508075688772},\\"13;2\\":{\\"x\\":13.5,\\"y\\":1.7320508075688772},\\"14;2\\":{\\"x\\":14.5,\\"y\\":1.7320508075688772},\\"15;2\\":{\\"x\\":15.5,\\"y\\":1.7320508075688772},\\"16;2\\":{\\"x\\":16.5,\\"y\\":1.7320508075688772},\\"17;2\\":{\\"x\\":17.5,\\"y\\":1.7320508075688772},\\"19;2\\":{\\"x\\":19.5,\\"y\\":1.7320508075688772},\\"20;2\\":{\\"x\\":20.5,\\"y\\":1.7320508075688772},\\"22;2\\":{\\"x\\":22.5,\\"y\\":1.7320508075688772},\\"25;2\\":{\\"x\\":25.5,\\"y\\":1.7320508075688772},\\"27;2\\":{\\"x\\":27.5,\\"y\\":1.7320508075688772},\\"28;2\\":{\\"x\\":28.5,\\"y\\":1.7320508075688772},\\"30;2\\":{\\"x\\":30.5,\\"y\\":1.7320508075688772},\\"31;2\\":{\\"x\\":31.5,\\"y\\":1.7320508075688772},\\"32;2\\":{\\"x\\":32.5,\\"y\\":1.7320508075688772},\\"37;2\\":{\\"x\\":37.5,\\"y\\":1.7320508075688772},\\"38;2\\":{\\"x\\":38.5,\\"y\\":1.7320508075688772},\\"39;2\\":{\\"x\\":39.5,\\"y\\":1.7320508075688772},\\"40;2\\":{\\"x\\":40.5,\\"y\\":1.7320508075688772},\\"41;2\\":{\\"x\\":41.5,\\"y\\":1.7320508075688772},\\"42;2\\":{\\"x\\":42.5,\\"y\\":1.7320508075688772},\\"43;2\\":{\\"x\\":43.5,\\"y\\":1.7320508075688772},\\"44;2\\":{\\"x\\":44.5,\\"y\\":1.7320508075688772},\\"58;2\\":{\\"x\\":58.5,\\"y\\":1.7320508075688772},\\"59;2\\":{\\"x\\":59.5,\\"y\\":1.7320508075688772},\\"60;2\\":{\\"x\\":60.5,\\"y\\":1.7320508075688772},\\"61;2\\":{\\"x\\":61.5,\\"y\\":1.7320508075688772},\\"62;2\\":{\\"x\\":62.5,\\"y\\":1.7320508075688772},\\"70;2\\":{\\"x\\":70.5,\\"y\\":1.7320508075688772},\\"71;2\\":{\\"x\\":71.5,\\"y\\":1.7320508075688772},\\"73;2\\":{\\"x\\":73.5,\\"y\\":1.7320508075688772},\\"74;2\\":{\\"x\\":74.5,\\"y\\":1.7320508075688772},\\"75;2\\":{\\"x\\":75.5,\\"y\\":1.7320508075688772},\\"76;2\\":{\\"x\\":76.5,\\"y\\":1.7320508075688772},\\"77;2\\":{\\"x\\":77.5,\\"y\\":1.7320508075688772},\\"78;2\\":{\\"x\\":78.5,\\"y\\":1.7320508075688772},\\"79;2\\":{\\"x\\":79.5,\\"y\\":1.7320508075688772},\\"80;2\\":{\\"x\\":80.5,\\"y\\":1.7320508075688772},\\"81;2\\":{\\"x\\":81.5,\\"y\\":1.7320508075688772},\\"82;2\\":{\\"x\\":82.5,\\"y\\":1.7320508075688772},\\"83;2\\":{\\"x\\":83.5,\\"y\\":1.7320508075688772},\\"84;2\\":{\\"x\\":84.5,\\"y\\":1.7320508075688772},\\"85;2\\":{\\"x\\":85.5,\\"y\\":1.7320508075688772},\\"86;2\\":{\\"x\\":86.5,\\"y\\":1.7320508075688772},\\"87;2\\":{\\"x\\":87.5,\\"y\\":1.7320508075688772},\\"88;2\\":{\\"x\\":88.5,\\"y\\":1.7320508075688772},\\"89;2\\":{\\"x\\":89.5,\\"y\\":1.7320508075688772},\\"90;2\\":{\\"x\\":90.5,\\"y\\":1.7320508075688772},\\"91;2\\":{\\"x\\":91.5,\\"y\\":1.7320508075688772},\\"92;2\\":{\\"x\\":92.5,\\"y\\":1.7320508075688772},\\"93;2\\":{\\"x\\":93.5,\\"y\\":1.7320508075688772},\\"94;2\\":{\\"x\\":94.5,\\"y\\":1.7320508075688772},\\"95;2\\":{\\"x\\":95.5,\\"y\\":1.7320508075688772},\\"96;2\\":{\\"x\\":96.5,\\"y\\":1.7320508075688772},\\"97;2\\":{\\"x\\":97.5,\\"y\\":1.7320508075688772},\\"98;2\\":{\\"x\\":98.5,\\"y\\":1.7320508075688772},\\"99;2\\":{\\"x\\":99.5,\\"y\\":1.7320508075688772},\\"100;2\\":{\\"x\\":100.5,\\"y\\":1.7320508075688772},\\"101;2\\":{\\"x\\":101.5,\\"y\\":1.7320508075688772},\\"103;2\\":{\\"x\\":103.5,\\"y\\":1.7320508075688772},\\"104;2\\":{\\"x\\":104.5,\\"y\\":1.7320508075688772},\\"0;3\\":{\\"x\\":0,\\"y\\":2.598076211353316},\\"5;3\\":{\\"x\\":5,\\"y\\":2.598076211353316},\\"6;3\\":{\\"x\\":6,\\"y\\":2.598076211353316},\\"7;3\\":{\\"x\\":7,\\"y\\":2.598076211353316},\\"8;3\\":{\\"x\\":8,\\"y\\":2.598076211353316},\\"9;3\\":{\\"x\\":9,\\"y\\":2.598076211353316},\\"10;3\\":{\\"x\\":10,\\"y\\":2.598076211353316},\\"11;3\\":{\\"x\\":11,\\"y\\":2.598076211353316},\\"12;3\\":{\\"x\\":12,\\"y\\":2.598076211353316},\\"13;3\\":{\\"x\\":13,\\"y\\":2.598076211353316},\\"14;3\\":{\\"x\\":14,\\"y\\":2.598076211353316},\\"15;3\\":{\\"x\\":15,\\"y\\":2.598076211353316},\\"16;3\\":{\\"x\\":16,\\"y\\":2.598076211353316},\\"17;3\\":{\\"x\\":17,\\"y\\":2.598076211353316},\\"18;3\\":{\\"x\\":18,\\"y\\":2.598076211353316},\\"21;3\\":{\\"x\\":21,\\"y\\":2.598076211353316},\\"22;3\\":{\\"x\\":22,\\"y\\":2.598076211353316},\\"24;3\\":{\\"x\\":24,\\"y\\":2.598076211353316},\\"25;3\\":{\\"x\\":25,\\"y\\":2.598076211353316},\\"26;3\\":{\\"x\\":26,\\"y\\":2.598076211353316},\\"28;3\\":{\\"x\\":28,\\"y\\":2.598076211353316},\\"30;3\\":{\\"x\\":30,\\"y\\":2.598076211353316},\\"32;3\\":{\\"x\\":32,\\"y\\":2.598076211353316},\\"33;3\\":{\\"x\\":33,\\"y\\":2.598076211353316},\\"37;3\\":{\\"x\\":37,\\"y\\":2.598076211353316},\\"38;3\\":{\\"x\\":38,\\"y\\":2.598076211353316},\\"39;3\\":{\\"x\\":39,\\"y\\":2.598076211353316},\\"40;3\\":{\\"x\\":40,\\"y\\":2.598076211353316},\\"41;3\\":{\\"x\\":41,\\"y\\":2.598076211353316},\\"42;3\\":{\\"x\\":42,\\"y\\":2.598076211353316},\\"43;3\\":{\\"x\\":43,\\"y\\":2.598076211353316},\\"57;3\\":{\\"x\\":57,\\"y\\":2.598076211353316},\\"58;3\\":{\\"x\\":58,\\"y\\":2.598076211353316},\\"59;3\\":{\\"x\\":59,\\"y\\":2.598076211353316},\\"60;3\\":{\\"x\\":60,\\"y\\":2.598076211353316},\\"61;3\\":{\\"x\\":61,\\"y\\":2.598076211353316},\\"62;3\\":{\\"x\\":62,\\"y\\":2.598076211353316},\\"63;3\\":{\\"x\\":63,\\"y\\":2.598076211353316},\\"64;3\\":{\\"x\\":64,\\"y\\":2.598076211353316},\\"66;3\\":{\\"x\\":66,\\"y\\":2.598076211353316},\\"68;3\\":{\\"x\\":68,\\"y\\":2.598076211353316},\\"69;3\\":{\\"x\\":69,\\"y\\":2.598076211353316},\\"70;3\\":{\\"x\\":70,\\"y\\":2.598076211353316},\\"71;3\\":{\\"x\\":71,\\"y\\":2.598076211353316},\\"72;3\\":{\\"x\\":72,\\"y\\":2.598076211353316},\\"73;3\\":{\\"x\\":73,\\"y\\":2.598076211353316},\\"74;3\\":{\\"x\\":74,\\"y\\":2.598076211353316},\\"75;3\\":{\\"x\\":75,\\"y\\":2.598076211353316},\\"76;3\\":{\\"x\\":76,\\"y\\":2.598076211353316},\\"77;3\\":{\\"x\\":77,\\"y\\":2.598076211353316},\\"78;3\\":{\\"x\\":78,\\"y\\":2.598076211353316},\\"79;3\\":{\\"x\\":79,\\"y\\":2.598076211353316},\\"80;3\\":{\\"x\\":80,\\"y\\":2.598076211353316},\\"81;3\\":{\\"x\\":81,\\"y\\":2.598076211353316},\\"82;3\\":{\\"x\\":82,\\"y\\":2.598076211353316},\\"83;3\\":{\\"x\\":83,\\"y\\":2.598076211353316},\\"84;3\\":{\\"x\\":84,\\"y\\":2.598076211353316},\\"85;3\\":{\\"x\\":85,\\"y\\":2.598076211353316},\\"86;3\\":{\\"x\\":86,\\"y\\":2.598076211353316},\\"87;3\\":{\\"x\\":87,\\"y\\":2.598076211353316},\\"88;3\\":{\\"x\\":88,\\"y\\":2.598076211353316},\\"89;3\\":{\\"x\\":89,\\"y\\":2.598076211353316},\\"90;3\\":{\\"x\\":90,\\"y\\":2.598076211353316},\\"91;3\\":{\\"x\\":91,\\"y\\":2.598076211353316},\\"92;3\\":{\\"x\\":92,\\"y\\":2.598076211353316},\\"93;3\\":{\\"x\\":93,\\"y\\":2.598076211353316},\\"94;3\\":{\\"x\\":94,\\"y\\":2.598076211353316},\\"95;3\\":{\\"x\\":95,\\"y\\":2.598076211353316},\\"96;3\\":{\\"x\\":96,\\"y\\":2.598076211353316},\\"97;3\\":{\\"x\\":97,\\"y\\":2.598076211353316},\\"98;3\\":{\\"x\\":98,\\"y\\":2.598076211353316},\\"99;3\\":{\\"x\\":99,\\"y\\":2.598076211353316},\\"100;3\\":{\\"x\\":100,\\"y\\":2.598076211353316},\\"101;3\\":{\\"x\\":101,\\"y\\":2.598076211353316},\\"102;3\\":{\\"x\\":102,\\"y\\":2.598076211353316},\\"103;3\\":{\\"x\\":103,\\"y\\":2.598076211353316},\\"104;3\\":{\\"x\\":104,\\"y\\":2.598076211353316},\\"0;4\\":{\\"x\\":0.5,\\"y\\":3.4641016151377544},\\"1;4\\":{\\"x\\":1.5,\\"y\\":3.4641016151377544},\\"5;4\\":{\\"x\\":5.5,\\"y\\":3.4641016151377544},\\"6;4\\":{\\"x\\":6.5,\\"y\\":3.4641016151377544},\\"7;4\\":{\\"x\\":7.5,\\"y\\":3.4641016151377544},\\"8;4\\":{\\"x\\":8.5,\\"y\\":3.4641016151377544},\\"9;4\\":{\\"x\\":9.5,\\"y\\":3.4641016151377544},\\"10;4\\":{\\"x\\":10.5,\\"y\\":3.4641016151377544},\\"11;4\\":{\\"x\\":11.5,\\"y\\":3.4641016151377544},\\"12;4\\":{\\"x\\":12.5,\\"y\\":3.4641016151377544},\\"13;4\\":{\\"x\\":13.5,\\"y\\":3.4641016151377544},\\"14;4\\":{\\"x\\":14.5,\\"y\\":3.4641016151377544},\\"15;4\\":{\\"x\\":15.5,\\"y\\":3.4641016151377544},\\"16;4\\":{\\"x\\":16.5,\\"y\\":3.4641016151377544},\\"17;4\\":{\\"x\\":17.5,\\"y\\":3.4641016151377544},\\"18;4\\":{\\"x\\":18.5,\\"y\\":3.4641016151377544},\\"19;4\\":{\\"x\\":19.5,\\"y\\":3.4641016151377544},\\"20;4\\":{\\"x\\":20.5,\\"y\\":3.4641016151377544},\\"21;4\\":{\\"x\\":21.5,\\"y\\":3.4641016151377544},\\"22;4\\":{\\"x\\":22.5,\\"y\\":3.4641016151377544},\\"23;4\\":{\\"x\\":23.5,\\"y\\":3.4641016151377544},\\"24;4\\":{\\"x\\":24.5,\\"y\\":3.4641016151377544},\\"25;4\\":{\\"x\\":25.5,\\"y\\":3.4641016151377544},\\"26;4\\":{\\"x\\":26.5,\\"y\\":3.4641016151377544},\\"27;4\\":{\\"x\\":27.5,\\"y\\":3.4641016151377544},\\"31;4\\":{\\"x\\":31.5,\\"y\\":3.4641016151377544},\\"32;4\\":{\\"x\\":32.5,\\"y\\":3.4641016151377544},\\"33;4\\":{\\"x\\":33.5,\\"y\\":3.4641016151377544},\\"37;4\\":{\\"x\\":37.5,\\"y\\":3.4641016151377544},\\"38;4\\":{\\"x\\":38.5,\\"y\\":3.4641016151377544},\\"39;4\\":{\\"x\\":39.5,\\"y\\":3.4641016151377544},\\"40;4\\":{\\"x\\":40.5,\\"y\\":3.4641016151377544},\\"41;4\\":{\\"x\\":41.5,\\"y\\":3.4641016151377544},\\"42;4\\":{\\"x\\":42.5,\\"y\\":3.4641016151377544},\\"56;4\\":{\\"x\\":56.5,\\"y\\":3.4641016151377544},\\"57;4\\":{\\"x\\":57.5,\\"y\\":3.4641016151377544},\\"58;4\\":{\\"x\\":58.5,\\"y\\":3.4641016151377544},\\"59;4\\":{\\"x\\":59.5,\\"y\\":3.4641016151377544},\\"60;4\\":{\\"x\\":60.5,\\"y\\":3.4641016151377544},\\"61;4\\":{\\"x\\":61.5,\\"y\\":3.4641016151377544},\\"62;4\\":{\\"x\\":62.5,\\"y\\":3.4641016151377544},\\"63;4\\":{\\"x\\":63.5,\\"y\\":3.4641016151377544},\\"64;4\\":{\\"x\\":64.5,\\"y\\":3.4641016151377544},\\"66;4\\":{\\"x\\":66.5,\\"y\\":3.4641016151377544},\\"67;4\\":{\\"x\\":67.5,\\"y\\":3.4641016151377544},\\"68;4\\":{\\"x\\":68.5,\\"y\\":3.4641016151377544},\\"69;4\\":{\\"x\\":69.5,\\"y\\":3.4641016151377544},\\"70;4\\":{\\"x\\":70.5,\\"y\\":3.4641016151377544},\\"71;4\\":{\\"x\\":71.5,\\"y\\":3.4641016151377544},\\"72;4\\":{\\"x\\":72.5,\\"y\\":3.4641016151377544},\\"73;4\\":{\\"x\\":73.5,\\"y\\":3.4641016151377544},\\"74;4\\":{\\"x\\":74.5,\\"y\\":3.4641016151377544},\\"75;4\\":{\\"x\\":75.5,\\"y\\":3.4641016151377544},\\"76;4\\":{\\"x\\":76.5,\\"y\\":3.4641016151377544},\\"77;4\\":{\\"x\\":77.5,\\"y\\":3.4641016151377544},\\"78;4\\":{\\"x\\":78.5,\\"y\\":3.4641016151377544},\\"79;4\\":{\\"x\\":79.5,\\"y\\":3.4641016151377544},\\"80;4\\":{\\"x\\":80.5,\\"y\\":3.4641016151377544},\\"81;4\\":{\\"x\\":81.5,\\"y\\":3.4641016151377544},\\"82;4\\":{\\"x\\":82.5,\\"y\\":3.4641016151377544},\\"83;4\\":{\\"x\\":83.5,\\"y\\":3.4641016151377544},\\"84;4\\":{\\"x\\":84.5,\\"y\\":3.4641016151377544},\\"85;4\\":{\\"x\\":85.5,\\"y\\":3.4641016151377544},\\"86;4\\":{\\"x\\":86.5,\\"y\\":3.4641016151377544},\\"87;4\\":{\\"x\\":87.5,\\"y\\":3.4641016151377544},\\"88;4\\":{\\"x\\":88.5,\\"y\\":3.4641016151377544},\\"89;4\\":{\\"x\\":89.5,\\"y\\":3.4641016151377544},\\"90;4\\":{\\"x\\":90.5,\\"y\\":3.4641016151377544},\\"91;4\\":{\\"x\\":91.5,\\"y\\":3.4641016151377544},\\"92;4\\":{\\"x\\":92.5,\\"y\\":3.4641016151377544},\\"93;4\\":{\\"x\\":93.5,\\"y\\":3.4641016151377544},\\"94;4\\":{\\"x\\":94.5,\\"y\\":3.4641016151377544},\\"95;4\\":{\\"x\\":95.5,\\"y\\":3.4641016151377544},\\"96;4\\":{\\"x\\":96.5,\\"y\\":3.4641016151377544},\\"97;4\\":{\\"x\\":97.5,\\"y\\":3.4641016151377544},\\"98;4\\":{\\"x\\":98.5,\\"y\\":3.4641016151377544},\\"99;4\\":{\\"x\\":99.5,\\"y\\":3.4641016151377544},\\"100;4\\":{\\"x\\":100.5,\\"y\\":3.4641016151377544},\\"101;4\\":{\\"x\\":101.5,\\"y\\":3.4641016151377544},\\"102;4\\":{\\"x\\":102.5,\\"y\\":3.4641016151377544},\\"103;4\\":{\\"x\\":103.5,\\"y\\":3.4641016151377544},\\"104;4\\":{\\"x\\":104.5,\\"y\\":3.4641016151377544},\\"1;5\\":{\\"x\\":1,\\"y\\":4.330127018922193},\\"2;5\\":{\\"x\\":2,\\"y\\":4.330127018922193},\\"4;5\\":{\\"x\\":4,\\"y\\":4.330127018922193},\\"5;5\\":{\\"x\\":5,\\"y\\":4.330127018922193},\\"6;5\\":{\\"x\\":6,\\"y\\":4.330127018922193},\\"7;5\\":{\\"x\\":7,\\"y\\":4.330127018922193},\\"8;5\\":{\\"x\\":8,\\"y\\":4.330127018922193},\\"9;5\\":{\\"x\\":9,\\"y\\":4.330127018922193},\\"10;5\\":{\\"x\\":10,\\"y\\":4.330127018922193},\\"11;5\\":{\\"x\\":11,\\"y\\":4.330127018922193},\\"12;5\\":{\\"x\\":12,\\"y\\":4.330127018922193},\\"13;5\\":{\\"x\\":13,\\"y\\":4.330127018922193},\\"14;5\\":{\\"x\\":14,\\"y\\":4.330127018922193},\\"15;5\\":{\\"x\\":15,\\"y\\":4.330127018922193},\\"16;5\\":{\\"x\\":16,\\"y\\":4.330127018922193},\\"17;5\\":{\\"x\\":17,\\"y\\":4.330127018922193},\\"18;5\\":{\\"x\\":18,\\"y\\":4.330127018922193},\\"19;5\\":{\\"x\\":19,\\"y\\":4.330127018922193},\\"20;5\\":{\\"x\\":20,\\"y\\":4.330127018922193},\\"21;5\\":{\\"x\\":21,\\"y\\":4.330127018922193},\\"22;5\\":{\\"x\\":22,\\"y\\":4.330127018922193},\\"23;5\\":{\\"x\\":23,\\"y\\":4.330127018922193},\\"24;5\\":{\\"x\\":24,\\"y\\":4.330127018922193},\\"25;5\\":{\\"x\\":25,\\"y\\":4.330127018922193},\\"26;5\\":{\\"x\\":26,\\"y\\":4.330127018922193},\\"27;5\\":{\\"x\\":27,\\"y\\":4.330127018922193},\\"31;5\\":{\\"x\\":31,\\"y\\":4.330127018922193},\\"32;5\\":{\\"x\\":32,\\"y\\":4.330127018922193},\\"34;5\\":{\\"x\\":34,\\"y\\":4.330127018922193},\\"37;5\\":{\\"x\\":37,\\"y\\":4.330127018922193},\\"38;5\\":{\\"x\\":38,\\"y\\":4.330127018922193},\\"39;5\\":{\\"x\\":39,\\"y\\":4.330127018922193},\\"40;5\\":{\\"x\\":40,\\"y\\":4.330127018922193},\\"41;5\\":{\\"x\\":41,\\"y\\":4.330127018922193},\\"46;5\\":{\\"x\\":46,\\"y\\":4.330127018922193},\\"47;5\\":{\\"x\\":47,\\"y\\":4.330127018922193},\\"48;5\\":{\\"x\\":48,\\"y\\":4.330127018922193},\\"57;5\\":{\\"x\\":57,\\"y\\":4.330127018922193},\\"58;5\\":{\\"x\\":58,\\"y\\":4.330127018922193},\\"60;5\\":{\\"x\\":60,\\"y\\":4.330127018922193},\\"61;5\\":{\\"x\\":61,\\"y\\":4.330127018922193},\\"62;5\\":{\\"x\\":62,\\"y\\":4.330127018922193},\\"65;5\\":{\\"x\\":65,\\"y\\":4.330127018922193},\\"66;5\\":{\\"x\\":66,\\"y\\":4.330127018922193},\\"67;5\\":{\\"x\\":67,\\"y\\":4.330127018922193},\\"68;5\\":{\\"x\\":68,\\"y\\":4.330127018922193},\\"69;5\\":{\\"x\\":69,\\"y\\":4.330127018922193},\\"70;5\\":{\\"x\\":70,\\"y\\":4.330127018922193},\\"71;5\\":{\\"x\\":71,\\"y\\":4.330127018922193},\\"72;5\\":{\\"x\\":72,\\"y\\":4.330127018922193},\\"73;5\\":{\\"x\\":73,\\"y\\":4.330127018922193},\\"74;5\\":{\\"x\\":74,\\"y\\":4.330127018922193},\\"75;5\\":{\\"x\\":75,\\"y\\":4.330127018922193},\\"76;5\\":{\\"x\\":76,\\"y\\":4.330127018922193},\\"77;5\\":{\\"x\\":77,\\"y\\":4.330127018922193},\\"78;5\\":{\\"x\\":78,\\"y\\":4.330127018922193},\\"79;5\\":{\\"x\\":79,\\"y\\":4.330127018922193},\\"80;5\\":{\\"x\\":80,\\"y\\":4.330127018922193},\\"81;5\\":{\\"x\\":81,\\"y\\":4.330127018922193},\\"82;5\\":{\\"x\\":82,\\"y\\":4.330127018922193},\\"83;5\\":{\\"x\\":83,\\"y\\":4.330127018922193},\\"84;5\\":{\\"x\\":84,\\"y\\":4.330127018922193},\\"85;5\\":{\\"x\\":85,\\"y\\":4.330127018922193},\\"86;5\\":{\\"x\\":86,\\"y\\":4.330127018922193},\\"87;5\\":{\\"x\\":87,\\"y\\":4.330127018922193},\\"88;5\\":{\\"x\\":88,\\"y\\":4.330127018922193},\\"89;5\\":{\\"x\\":89,\\"y\\":4.330127018922193},\\"90;5\\":{\\"x\\":90,\\"y\\":4.330127018922193},\\"91;5\\":{\\"x\\":91,\\"y\\":4.330127018922193},\\"92;5\\":{\\"x\\":92,\\"y\\":4.330127018922193},\\"93;5\\":{\\"x\\":93,\\"y\\":4.330127018922193},\\"94;5\\":{\\"x\\":94,\\"y\\":4.330127018922193},\\"95;5\\":{\\"x\\":95,\\"y\\":4.330127018922193},\\"96;5\\":{\\"x\\":96,\\"y\\":4.330127018922193},\\"97;5\\":{\\"x\\":97,\\"y\\":4.330127018922193},\\"98;5\\":{\\"x\\":98,\\"y\\":4.330127018922193},\\"99;5\\":{\\"x\\":99,\\"y\\":4.330127018922193},\\"100;5\\":{\\"x\\":100,\\"y\\":4.330127018922193},\\"101;5\\":{\\"x\\":101,\\"y\\":4.330127018922193},\\"102;5\\":{\\"x\\":102,\\"y\\":4.330127018922193},\\"103;5\\":{\\"x\\":103,\\"y\\":4.330127018922193},\\"104;5\\":{\\"x\\":104,\\"y\\":4.330127018922193},\\"1;6\\":{\\"x\\":1.5,\\"y\\":5.196152422706632},\\"5;6\\":{\\"x\\":5.5,\\"y\\":5.196152422706632},\\"6;6\\":{\\"x\\":6.5,\\"y\\":5.196152422706632},\\"7;6\\":{\\"x\\":7.5,\\"y\\":5.196152422706632},\\"8;6\\":{\\"x\\":8.5,\\"y\\":5.196152422706632},\\"9;6\\":{\\"x\\":9.5,\\"y\\":5.196152422706632},\\"10;6\\":{\\"x\\":10.5,\\"y\\":5.196152422706632},\\"11;6\\":{\\"x\\":11.5,\\"y\\":5.196152422706632},\\"12;6\\":{\\"x\\":12.5,\\"y\\":5.196152422706632},\\"13;6\\":{\\"x\\":13.5,\\"y\\":5.196152422706632},\\"14;6\\":{\\"x\\":14.5,\\"y\\":5.196152422706632},\\"15;6\\":{\\"x\\":15.5,\\"y\\":5.196152422706632},\\"16;6\\":{\\"x\\":16.5,\\"y\\":5.196152422706632},\\"17;6\\":{\\"x\\":17.5,\\"y\\":5.196152422706632},\\"18;6\\":{\\"x\\":18.5,\\"y\\":5.196152422706632},\\"19;6\\":{\\"x\\":19.5,\\"y\\":5.196152422706632},\\"20;6\\":{\\"x\\":20.5,\\"y\\":5.196152422706632},\\"21;6\\":{\\"x\\":21.5,\\"y\\":5.196152422706632},\\"22;6\\":{\\"x\\":22.5,\\"y\\":5.196152422706632},\\"23;6\\":{\\"x\\":23.5,\\"y\\":5.196152422706632},\\"24;6\\":{\\"x\\":24.5,\\"y\\":5.196152422706632},\\"25;6\\":{\\"x\\":25.5,\\"y\\":5.196152422706632},\\"26;6\\":{\\"x\\":26.5,\\"y\\":5.196152422706632},\\"27;6\\":{\\"x\\":27.5,\\"y\\":5.196152422706632},\\"28;6\\":{\\"x\\":28.5,\\"y\\":5.196152422706632},\\"31;6\\":{\\"x\\":31.5,\\"y\\":5.196152422706632},\\"32;6\\":{\\"x\\":32.5,\\"y\\":5.196152422706632},\\"37;6\\":{\\"x\\":37.5,\\"y\\":5.196152422706632},\\"38;6\\":{\\"x\\":38.5,\\"y\\":5.196152422706632},\\"39;6\\":{\\"x\\":39.5,\\"y\\":5.196152422706632},\\"40;6\\":{\\"x\\":40.5,\\"y\\":5.196152422706632},\\"46;6\\":{\\"x\\":46.5,\\"y\\":5.196152422706632},\\"47;6\\":{\\"x\\":47.5,\\"y\\":5.196152422706632},\\"55;6\\":{\\"x\\":55.5,\\"y\\":5.196152422706632},\\"56;6\\":{\\"x\\":56.5,\\"y\\":5.196152422706632},\\"57;6\\":{\\"x\\":57.5,\\"y\\":5.196152422706632},\\"58;6\\":{\\"x\\":58.5,\\"y\\":5.196152422706632},\\"59;6\\":{\\"x\\":59.5,\\"y\\":5.196152422706632},\\"60;6\\":{\\"x\\":60.5,\\"y\\":5.196152422706632},\\"61;6\\":{\\"x\\":61.5,\\"y\\":5.196152422706632},\\"62;6\\":{\\"x\\":62.5,\\"y\\":5.196152422706632},\\"63;6\\":{\\"x\\":63.5,\\"y\\":5.196152422706632},\\"64;6\\":{\\"x\\":64.5,\\"y\\":5.196152422706632},\\"65;6\\":{\\"x\\":65.5,\\"y\\":5.196152422706632},\\"66;6\\":{\\"x\\":66.5,\\"y\\":5.196152422706632},\\"67;6\\":{\\"x\\":67.5,\\"y\\":5.196152422706632},\\"68;6\\":{\\"x\\":68.5,\\"y\\":5.196152422706632},\\"69;6\\":{\\"x\\":69.5,\\"y\\":5.196152422706632},\\"70;6\\":{\\"x\\":70.5,\\"y\\":5.196152422706632},\\"71;6\\":{\\"x\\":71.5,\\"y\\":5.196152422706632},\\"72;6\\":{\\"x\\":72.5,\\"y\\":5.196152422706632},\\"73;6\\":{\\"x\\":73.5,\\"y\\":5.196152422706632},\\"74;6\\":{\\"x\\":74.5,\\"y\\":5.196152422706632},\\"75;6\\":{\\"x\\":75.5,\\"y\\":5.196152422706632},\\"76;6\\":{\\"x\\":76.5,\\"y\\":5.196152422706632},\\"77;6\\":{\\"x\\":77.5,\\"y\\":5.196152422706632},\\"78;6\\":{\\"x\\":78.5,\\"y\\":5.196152422706632},\\"79;6\\":{\\"x\\":79.5,\\"y\\":5.196152422706632},\\"80;6\\":{\\"x\\":80.5,\\"y\\":5.196152422706632},\\"81;6\\":{\\"x\\":81.5,\\"y\\":5.196152422706632},\\"82;6\\":{\\"x\\":82.5,\\"y\\":5.196152422706632},\\"83;6\\":{\\"x\\":83.5,\\"y\\":5.196152422706632},\\"84;6\\":{\\"x\\":84.5,\\"y\\":5.196152422706632},\\"85;6\\":{\\"x\\":85.5,\\"y\\":5.196152422706632},\\"86;6\\":{\\"x\\":86.5,\\"y\\":5.196152422706632},\\"87;6\\":{\\"x\\":87.5,\\"y\\":5.196152422706632},\\"88;6\\":{\\"x\\":88.5,\\"y\\":5.196152422706632},\\"89;6\\":{\\"x\\":89.5,\\"y\\":5.196152422706632},\\"90;6\\":{\\"x\\":90.5,\\"y\\":5.196152422706632},\\"91;6\\":{\\"x\\":91.5,\\"y\\":5.196152422706632},\\"92;6\\":{\\"x\\":92.5,\\"y\\":5.196152422706632},\\"93;6\\":{\\"x\\":93.5,\\"y\\":5.196152422706632},\\"94;6\\":{\\"x\\":94.5,\\"y\\":5.196152422706632},\\"95;6\\":{\\"x\\":95.5,\\"y\\":5.196152422706632},\\"96;6\\":{\\"x\\":96.5,\\"y\\":5.196152422706632},\\"97;6\\":{\\"x\\":97.5,\\"y\\":5.196152422706632},\\"98;6\\":{\\"x\\":98.5,\\"y\\":5.196152422706632},\\"99;6\\":{\\"x\\":99.5,\\"y\\":5.196152422706632},\\"100;6\\":{\\"x\\":100.5,\\"y\\":5.196152422706632},\\"101;6\\":{\\"x\\":101.5,\\"y\\":5.196152422706632},\\"102;6\\":{\\"x\\":102.5,\\"y\\":5.196152422706632},\\"103;6\\":{\\"x\\":103.5,\\"y\\":5.196152422706632},\\"104;6\\":{\\"x\\":104.5,\\"y\\":5.196152422706632},\\"5;7\\":{\\"x\\":5,\\"y\\":6.06217782649107},\\"6;7\\":{\\"x\\":6,\\"y\\":6.06217782649107},\\"7;7\\":{\\"x\\":7,\\"y\\":6.06217782649107},\\"8;7\\":{\\"x\\":8,\\"y\\":6.06217782649107},\\"9;7\\":{\\"x\\":9,\\"y\\":6.06217782649107},\\"10;7\\":{\\"x\\":10,\\"y\\":6.06217782649107},\\"11;7\\":{\\"x\\":11,\\"y\\":6.06217782649107},\\"12;7\\":{\\"x\\":12,\\"y\\":6.06217782649107},\\"13;7\\":{\\"x\\":13,\\"y\\":6.06217782649107},\\"14;7\\":{\\"x\\":14,\\"y\\":6.06217782649107},\\"15;7\\":{\\"x\\":15,\\"y\\":6.06217782649107},\\"16;7\\":{\\"x\\":16,\\"y\\":6.06217782649107},\\"17;7\\":{\\"x\\":17,\\"y\\":6.06217782649107},\\"18;7\\":{\\"x\\":18,\\"y\\":6.06217782649107},\\"19;7\\":{\\"x\\":19,\\"y\\":6.06217782649107},\\"20;7\\":{\\"x\\":20,\\"y\\":6.06217782649107},\\"21;7\\":{\\"x\\":21,\\"y\\":6.06217782649107},\\"22;7\\":{\\"x\\":22,\\"y\\":6.06217782649107},\\"23;7\\":{\\"x\\":23,\\"y\\":6.06217782649107},\\"24;7\\":{\\"x\\":24,\\"y\\":6.06217782649107},\\"25;7\\":{\\"x\\":25,\\"y\\":6.06217782649107},\\"32;7\\":{\\"x\\":32,\\"y\\":6.06217782649107},\\"33;7\\":{\\"x\\":33,\\"y\\":6.06217782649107},\\"38;7\\":{\\"x\\":38,\\"y\\":6.06217782649107},\\"39;7\\":{\\"x\\":39,\\"y\\":6.06217782649107},\\"40;7\\":{\\"x\\":40,\\"y\\":6.06217782649107},\\"55;7\\":{\\"x\\":55,\\"y\\":6.06217782649107},\\"56;7\\":{\\"x\\":56,\\"y\\":6.06217782649107},\\"57;7\\":{\\"x\\":57,\\"y\\":6.06217782649107},\\"59;7\\":{\\"x\\":59,\\"y\\":6.06217782649107},\\"60;7\\":{\\"x\\":60,\\"y\\":6.06217782649107},\\"61;7\\":{\\"x\\":61,\\"y\\":6.06217782649107},\\"62;7\\":{\\"x\\":62,\\"y\\":6.06217782649107},\\"63;7\\":{\\"x\\":63,\\"y\\":6.06217782649107},\\"64;7\\":{\\"x\\":64,\\"y\\":6.06217782649107},\\"65;7\\":{\\"x\\":65,\\"y\\":6.06217782649107},\\"66;7\\":{\\"x\\":66,\\"y\\":6.06217782649107},\\"67;7\\":{\\"x\\":67,\\"y\\":6.06217782649107},\\"68;7\\":{\\"x\\":68,\\"y\\":6.06217782649107},\\"69;7\\":{\\"x\\":69,\\"y\\":6.06217782649107},\\"70;7\\":{\\"x\\":70,\\"y\\":6.06217782649107},\\"71;7\\":{\\"x\\":71,\\"y\\":6.06217782649107},\\"72;7\\":{\\"x\\":72,\\"y\\":6.06217782649107},\\"73;7\\":{\\"x\\":73,\\"y\\":6.06217782649107},\\"74;7\\":{\\"x\\":74,\\"y\\":6.06217782649107},\\"75;7\\":{\\"x\\":75,\\"y\\":6.06217782649107},\\"76;7\\":{\\"x\\":76,\\"y\\":6.06217782649107},\\"77;7\\":{\\"x\\":77,\\"y\\":6.06217782649107},\\"78;7\\":{\\"x\\":78,\\"y\\":6.06217782649107},\\"79;7\\":{\\"x\\":79,\\"y\\":6.06217782649107},\\"80;7\\":{\\"x\\":80,\\"y\\":6.06217782649107},\\"81;7\\":{\\"x\\":81,\\"y\\":6.06217782649107},\\"82;7\\":{\\"x\\":82,\\"y\\":6.06217782649107},\\"83;7\\":{\\"x\\":83,\\"y\\":6.06217782649107},\\"84;7\\":{\\"x\\":84,\\"y\\":6.06217782649107},\\"85;7\\":{\\"x\\":85,\\"y\\":6.06217782649107},\\"86;7\\":{\\"x\\":86,\\"y\\":6.06217782649107},\\"87;7\\":{\\"x\\":87,\\"y\\":6.06217782649107},\\"88;7\\":{\\"x\\":88,\\"y\\":6.06217782649107},\\"89;7\\":{\\"x\\":89,\\"y\\":6.06217782649107},\\"90;7\\":{\\"x\\":90,\\"y\\":6.06217782649107},\\"91;7\\":{\\"x\\":91,\\"y\\":6.06217782649107},\\"92;7\\":{\\"x\\":92,\\"y\\":6.06217782649107},\\"93;7\\":{\\"x\\":93,\\"y\\":6.06217782649107},\\"94;7\\":{\\"x\\":94,\\"y\\":6.06217782649107},\\"95;7\\":{\\"x\\":95,\\"y\\":6.06217782649107},\\"96;7\\":{\\"x\\":96,\\"y\\":6.06217782649107},\\"97;7\\":{\\"x\\":97,\\"y\\":6.06217782649107},\\"98;7\\":{\\"x\\":98,\\"y\\":6.06217782649107},\\"99;7\\":{\\"x\\":99,\\"y\\":6.06217782649107},\\"100;7\\":{\\"x\\":100,\\"y\\":6.06217782649107},\\"101;7\\":{\\"x\\":101,\\"y\\":6.06217782649107},\\"102;7\\":{\\"x\\":102,\\"y\\":6.06217782649107},\\"103;7\\":{\\"x\\":103,\\"y\\":6.06217782649107},\\"104;7\\":{\\"x\\":104,\\"y\\":6.06217782649107},\\"4;8\\":{\\"x\\":4.5,\\"y\\":6.928203230275509},\\"5;8\\":{\\"x\\":5.5,\\"y\\":6.928203230275509},\\"6;8\\":{\\"x\\":6.5,\\"y\\":6.928203230275509},\\"7;8\\":{\\"x\\":7.5,\\"y\\":6.928203230275509},\\"8;8\\":{\\"x\\":8.5,\\"y\\":6.928203230275509},\\"9;8\\":{\\"x\\":9.5,\\"y\\":6.928203230275509},\\"10;8\\":{\\"x\\":10.5,\\"y\\":6.928203230275509},\\"11;8\\":{\\"x\\":11.5,\\"y\\":6.928203230275509},\\"12;8\\":{\\"x\\":12.5,\\"y\\":6.928203230275509},\\"13;8\\":{\\"x\\":13.5,\\"y\\":6.928203230275509},\\"14;8\\":{\\"x\\":14.5,\\"y\\":6.928203230275509},\\"15;8\\":{\\"x\\":15.5,\\"y\\":6.928203230275509},\\"16;8\\":{\\"x\\":16.5,\\"y\\":6.928203230275509},\\"17;8\\":{\\"x\\":17.5,\\"y\\":6.928203230275509},\\"18;8\\":{\\"x\\":18.5,\\"y\\":6.928203230275509},\\"19;8\\":{\\"x\\":19.5,\\"y\\":6.928203230275509},\\"20;8\\":{\\"x\\":20.5,\\"y\\":6.928203230275509},\\"21;8\\":{\\"x\\":21.5,\\"y\\":6.928203230275509},\\"22;8\\":{\\"x\\":22.5,\\"y\\":6.928203230275509},\\"23;8\\":{\\"x\\":23.5,\\"y\\":6.928203230275509},\\"24;8\\":{\\"x\\":24.5,\\"y\\":6.928203230275509},\\"30;8\\":{\\"x\\":30.5,\\"y\\":6.928203230275509},\\"38;8\\":{\\"x\\":38.5,\\"y\\":6.928203230275509},\\"39;8\\":{\\"x\\":39.5,\\"y\\":6.928203230275509},\\"54;8\\":{\\"x\\":54.5,\\"y\\":6.928203230275509},\\"55;8\\":{\\"x\\":55.5,\\"y\\":6.928203230275509},\\"56;8\\":{\\"x\\":56.5,\\"y\\":6.928203230275509},\\"57;8\\":{\\"x\\":57.5,\\"y\\":6.928203230275509},\\"59;8\\":{\\"x\\":59.5,\\"y\\":6.928203230275509},\\"60;8\\":{\\"x\\":60.5,\\"y\\":6.928203230275509},\\"61;8\\":{\\"x\\":61.5,\\"y\\":6.928203230275509},\\"62;8\\":{\\"x\\":62.5,\\"y\\":6.928203230275509},\\"63;8\\":{\\"x\\":63.5,\\"y\\":6.928203230275509},\\"64;8\\":{\\"x\\":64.5,\\"y\\":6.928203230275509},\\"65;8\\":{\\"x\\":65.5,\\"y\\":6.928203230275509},\\"66;8\\":{\\"x\\":66.5,\\"y\\":6.928203230275509},\\"67;8\\":{\\"x\\":67.5,\\"y\\":6.928203230275509},\\"68;8\\":{\\"x\\":68.5,\\"y\\":6.928203230275509},\\"69;8\\":{\\"x\\":69.5,\\"y\\":6.928203230275509},\\"70;8\\":{\\"x\\":70.5,\\"y\\":6.928203230275509},\\"71;8\\":{\\"x\\":71.5,\\"y\\":6.928203230275509},\\"72;8\\":{\\"x\\":72.5,\\"y\\":6.928203230275509},\\"73;8\\":{\\"x\\":73.5,\\"y\\":6.928203230275509},\\"74;8\\":{\\"x\\":74.5,\\"y\\":6.928203230275509},\\"75;8\\":{\\"x\\":75.5,\\"y\\":6.928203230275509},\\"76;8\\":{\\"x\\":76.5,\\"y\\":6.928203230275509},\\"77;8\\":{\\"x\\":77.5,\\"y\\":6.928203230275509},\\"78;8\\":{\\"x\\":78.5,\\"y\\":6.928203230275509},\\"79;8\\":{\\"x\\":79.5,\\"y\\":6.928203230275509},\\"80;8\\":{\\"x\\":80.5,\\"y\\":6.928203230275509},\\"81;8\\":{\\"x\\":81.5,\\"y\\":6.928203230275509},\\"82;8\\":{\\"x\\":82.5,\\"y\\":6.928203230275509},\\"83;8\\":{\\"x\\":83.5,\\"y\\":6.928203230275509},\\"84;8\\":{\\"x\\":84.5,\\"y\\":6.928203230275509},\\"85;8\\":{\\"x\\":85.5,\\"y\\":6.928203230275509},\\"86;8\\":{\\"x\\":86.5,\\"y\\":6.928203230275509},\\"87;8\\":{\\"x\\":87.5,\\"y\\":6.928203230275509},\\"88;8\\":{\\"x\\":88.5,\\"y\\":6.928203230275509},\\"89;8\\":{\\"x\\":89.5,\\"y\\":6.928203230275509},\\"90;8\\":{\\"x\\":90.5,\\"y\\":6.928203230275509},\\"91;8\\":{\\"x\\":91.5,\\"y\\":6.928203230275509},\\"92;8\\":{\\"x\\":92.5,\\"y\\":6.928203230275509},\\"93;8\\":{\\"x\\":93.5,\\"y\\":6.928203230275509},\\"94;8\\":{\\"x\\":94.5,\\"y\\":6.928203230275509},\\"95;8\\":{\\"x\\":95.5,\\"y\\":6.928203230275509},\\"96;8\\":{\\"x\\":96.5,\\"y\\":6.928203230275509},\\"97;8\\":{\\"x\\":97.5,\\"y\\":6.928203230275509},\\"98;8\\":{\\"x\\":98.5,\\"y\\":6.928203230275509},\\"99;8\\":{\\"x\\":99.5,\\"y\\":6.928203230275509},\\"101;8\\":{\\"x\\":101.5,\\"y\\":6.928203230275509},\\"102;8\\":{\\"x\\":102.5,\\"y\\":6.928203230275509},\\"5;9\\":{\\"x\\":5,\\"y\\":7.794228634059947},\\"6;9\\":{\\"x\\":6,\\"y\\":7.794228634059947},\\"7;9\\":{\\"x\\":7,\\"y\\":7.794228634059947},\\"9;9\\":{\\"x\\":9,\\"y\\":7.794228634059947},\\"11;9\\":{\\"x\\":11,\\"y\\":7.794228634059947},\\"12;9\\":{\\"x\\":12,\\"y\\":7.794228634059947},\\"13;9\\":{\\"x\\":13,\\"y\\":7.794228634059947},\\"14;9\\":{\\"x\\":14,\\"y\\":7.794228634059947},\\"15;9\\":{\\"x\\":15,\\"y\\":7.794228634059947},\\"16;9\\":{\\"x\\":16,\\"y\\":7.794228634059947},\\"17;9\\":{\\"x\\":17,\\"y\\":7.794228634059947},\\"18;9\\":{\\"x\\":18,\\"y\\":7.794228634059947},\\"19;9\\":{\\"x\\":19,\\"y\\":7.794228634059947},\\"20;9\\":{\\"x\\":20,\\"y\\":7.794228634059947},\\"21;9\\":{\\"x\\":21,\\"y\\":7.794228634059947},\\"22;9\\":{\\"x\\":22,\\"y\\":7.794228634059947},\\"23;9\\":{\\"x\\":23,\\"y\\":7.794228634059947},\\"24;9\\":{\\"x\\":24,\\"y\\":7.794228634059947},\\"30;9\\":{\\"x\\":30,\\"y\\":7.794228634059947},\\"31;9\\":{\\"x\\":31,\\"y\\":7.794228634059947},\\"32;9\\":{\\"x\\":32,\\"y\\":7.794228634059947},\\"55;9\\":{\\"x\\":55,\\"y\\":7.794228634059947},\\"56;9\\":{\\"x\\":56,\\"y\\":7.794228634059947},\\"57;9\\":{\\"x\\":57,\\"y\\":7.794228634059947},\\"61;9\\":{\\"x\\":61,\\"y\\":7.794228634059947},\\"62;9\\":{\\"x\\":62,\\"y\\":7.794228634059947},\\"63;9\\":{\\"x\\":63,\\"y\\":7.794228634059947},\\"64;9\\":{\\"x\\":64,\\"y\\":7.794228634059947},\\"65;9\\":{\\"x\\":65,\\"y\\":7.794228634059947},\\"66;9\\":{\\"x\\":66,\\"y\\":7.794228634059947},\\"67;9\\":{\\"x\\":67,\\"y\\":7.794228634059947},\\"68;9\\":{\\"x\\":68,\\"y\\":7.794228634059947},\\"69;9\\":{\\"x\\":69,\\"y\\":7.794228634059947},\\"70;9\\":{\\"x\\":70,\\"y\\":7.794228634059947},\\"71;9\\":{\\"x\\":71,\\"y\\":7.794228634059947},\\"72;9\\":{\\"x\\":72,\\"y\\":7.794228634059947},\\"73;9\\":{\\"x\\":73,\\"y\\":7.794228634059947},\\"74;9\\":{\\"x\\":74,\\"y\\":7.794228634059947},\\"75;9\\":{\\"x\\":75,\\"y\\":7.794228634059947},\\"76;9\\":{\\"x\\":76,\\"y\\":7.794228634059947},\\"77;9\\":{\\"x\\":77,\\"y\\":7.794228634059947},\\"78;9\\":{\\"x\\":78,\\"y\\":7.794228634059947},\\"79;9\\":{\\"x\\":79,\\"y\\":7.794228634059947},\\"80;9\\":{\\"x\\":80,\\"y\\":7.794228634059947},\\"81;9\\":{\\"x\\":81,\\"y\\":7.794228634059947},\\"82;9\\":{\\"x\\":82,\\"y\\":7.794228634059947},\\"83;9\\":{\\"x\\":83,\\"y\\":7.794228634059947},\\"84;9\\":{\\"x\\":84,\\"y\\":7.794228634059947},\\"85;9\\":{\\"x\\":85,\\"y\\":7.794228634059947},\\"86;9\\":{\\"x\\":86,\\"y\\":7.794228634059947},\\"87;9\\":{\\"x\\":87,\\"y\\":7.794228634059947},\\"88;9\\":{\\"x\\":88,\\"y\\":7.794228634059947},\\"89;9\\":{\\"x\\":89,\\"y\\":7.794228634059947},\\"90;9\\":{\\"x\\":90,\\"y\\":7.794228634059947},\\"91;9\\":{\\"x\\":91,\\"y\\":7.794228634059947},\\"92;9\\":{\\"x\\":92,\\"y\\":7.794228634059947},\\"93;9\\":{\\"x\\":93,\\"y\\":7.794228634059947},\\"94;9\\":{\\"x\\":94,\\"y\\":7.794228634059947},\\"95;9\\":{\\"x\\":95,\\"y\\":7.794228634059947},\\"96;9\\":{\\"x\\":96,\\"y\\":7.794228634059947},\\"97;9\\":{\\"x\\":97,\\"y\\":7.794228634059947},\\"100;9\\":{\\"x\\":100,\\"y\\":7.794228634059947},\\"101;9\\":{\\"x\\":101,\\"y\\":7.794228634059947},\\"6;10\\":{\\"x\\":6.5,\\"y\\":8.660254037844386},\\"12;10\\":{\\"x\\":12.5,\\"y\\":8.660254037844386},\\"13;10\\":{\\"x\\":13.5,\\"y\\":8.660254037844386},\\"14;10\\":{\\"x\\":14.5,\\"y\\":8.660254037844386},\\"15;10\\":{\\"x\\":15.5,\\"y\\":8.660254037844386},\\"16;10\\":{\\"x\\":16.5,\\"y\\":8.660254037844386},\\"17;10\\":{\\"x\\":17.5,\\"y\\":8.660254037844386},\\"18;10\\":{\\"x\\":18.5,\\"y\\":8.660254037844386},\\"19;10\\":{\\"x\\":19.5,\\"y\\":8.660254037844386},\\"20;10\\":{\\"x\\":20.5,\\"y\\":8.660254037844386},\\"21;10\\":{\\"x\\":21.5,\\"y\\":8.660254037844386},\\"22;10\\":{\\"x\\":22.5,\\"y\\":8.660254037844386},\\"23;10\\":{\\"x\\":23.5,\\"y\\":8.660254037844386},\\"24;10\\":{\\"x\\":24.5,\\"y\\":8.660254037844386},\\"30;10\\":{\\"x\\":30.5,\\"y\\":8.660254037844386},\\"31;10\\":{\\"x\\":31.5,\\"y\\":8.660254037844386},\\"33;10\\":{\\"x\\":33.5,\\"y\\":8.660254037844386},\\"54;10\\":{\\"x\\":54.5,\\"y\\":8.660254037844386},\\"56;10\\":{\\"x\\":56.5,\\"y\\":8.660254037844386},\\"59;10\\":{\\"x\\":59.5,\\"y\\":8.660254037844386},\\"60;10\\":{\\"x\\":60.5,\\"y\\":8.660254037844386},\\"61;10\\":{\\"x\\":61.5,\\"y\\":8.660254037844386},\\"62;10\\":{\\"x\\":62.5,\\"y\\":8.660254037844386},\\"63;10\\":{\\"x\\":63.5,\\"y\\":8.660254037844386},\\"64;10\\":{\\"x\\":64.5,\\"y\\":8.660254037844386},\\"65;10\\":{\\"x\\":65.5,\\"y\\":8.660254037844386},\\"66;10\\":{\\"x\\":66.5,\\"y\\":8.660254037844386},\\"67;10\\":{\\"x\\":67.5,\\"y\\":8.660254037844386},\\"68;10\\":{\\"x\\":68.5,\\"y\\":8.660254037844386},\\"69;10\\":{\\"x\\":69.5,\\"y\\":8.660254037844386},\\"70;10\\":{\\"x\\":70.5,\\"y\\":8.660254037844386},\\"71;10\\":{\\"x\\":71.5,\\"y\\":8.660254037844386},\\"72;10\\":{\\"x\\":72.5,\\"y\\":8.660254037844386},\\"73;10\\":{\\"x\\":73.5,\\"y\\":8.660254037844386},\\"74;10\\":{\\"x\\":74.5,\\"y\\":8.660254037844386},\\"75;10\\":{\\"x\\":75.5,\\"y\\":8.660254037844386},\\"76;10\\":{\\"x\\":76.5,\\"y\\":8.660254037844386},\\"77;10\\":{\\"x\\":77.5,\\"y\\":8.660254037844386},\\"78;10\\":{\\"x\\":78.5,\\"y\\":8.660254037844386},\\"79;10\\":{\\"x\\":79.5,\\"y\\":8.660254037844386},\\"80;10\\":{\\"x\\":80.5,\\"y\\":8.660254037844386},\\"81;10\\":{\\"x\\":81.5,\\"y\\":8.660254037844386},\\"82;10\\":{\\"x\\":82.5,\\"y\\":8.660254037844386},\\"83;10\\":{\\"x\\":83.5,\\"y\\":8.660254037844386},\\"84;10\\":{\\"x\\":84.5,\\"y\\":8.660254037844386},\\"85;10\\":{\\"x\\":85.5,\\"y\\":8.660254037844386},\\"86;10\\":{\\"x\\":86.5,\\"y\\":8.660254037844386},\\"87;10\\":{\\"x\\":87.5,\\"y\\":8.660254037844386},\\"88;10\\":{\\"x\\":88.5,\\"y\\":8.660254037844386},\\"89;10\\":{\\"x\\":89.5,\\"y\\":8.660254037844386},\\"90;10\\":{\\"x\\":90.5,\\"y\\":8.660254037844386},\\"91;10\\":{\\"x\\":91.5,\\"y\\":8.660254037844386},\\"92;10\\":{\\"x\\":92.5,\\"y\\":8.660254037844386},\\"93;10\\":{\\"x\\":93.5,\\"y\\":8.660254037844386},\\"99;10\\":{\\"x\\":99.5,\\"y\\":8.660254037844386},\\"14;11\\":{\\"x\\":14,\\"y\\":9.526279441628825},\\"15;11\\":{\\"x\\":15,\\"y\\":9.526279441628825},\\"16;11\\":{\\"x\\":16,\\"y\\":9.526279441628825},\\"17;11\\":{\\"x\\":17,\\"y\\":9.526279441628825},\\"18;11\\":{\\"x\\":18,\\"y\\":9.526279441628825},\\"19;11\\":{\\"x\\":19,\\"y\\":9.526279441628825},\\"20;11\\":{\\"x\\":20,\\"y\\":9.526279441628825},\\"21;11\\":{\\"x\\":21,\\"y\\":9.526279441628825},\\"22;11\\":{\\"x\\":22,\\"y\\":9.526279441628825},\\"23;11\\":{\\"x\\":23,\\"y\\":9.526279441628825},\\"24;11\\":{\\"x\\":24,\\"y\\":9.526279441628825},\\"25;11\\":{\\"x\\":25,\\"y\\":9.526279441628825},\\"26;11\\":{\\"x\\":26,\\"y\\":9.526279441628825},\\"31;11\\":{\\"x\\":31,\\"y\\":9.526279441628825},\\"32;11\\":{\\"x\\":32,\\"y\\":9.526279441628825},\\"33;11\\":{\\"x\\":33,\\"y\\":9.526279441628825},\\"34;11\\":{\\"x\\":34,\\"y\\":9.526279441628825},\\"51;11\\":{\\"x\\":51,\\"y\\":9.526279441628825},\\"57;11\\":{\\"x\\":57,\\"y\\":9.526279441628825},\\"59;11\\":{\\"x\\":59,\\"y\\":9.526279441628825},\\"60;11\\":{\\"x\\":60,\\"y\\":9.526279441628825},\\"61;11\\":{\\"x\\":61,\\"y\\":9.526279441628825},\\"62;11\\":{\\"x\\":62,\\"y\\":9.526279441628825},\\"63;11\\":{\\"x\\":63,\\"y\\":9.526279441628825},\\"64;11\\":{\\"x\\":64,\\"y\\":9.526279441628825},\\"65;11\\":{\\"x\\":65,\\"y\\":9.526279441628825},\\"66;11\\":{\\"x\\":66,\\"y\\":9.526279441628825},\\"67;11\\":{\\"x\\":67,\\"y\\":9.526279441628825},\\"68;11\\":{\\"x\\":68,\\"y\\":9.526279441628825},\\"69;11\\":{\\"x\\":69,\\"y\\":9.526279441628825},\\"70;11\\":{\\"x\\":70,\\"y\\":9.526279441628825},\\"71;11\\":{\\"x\\":71,\\"y\\":9.526279441628825},\\"72;11\\":{\\"x\\":72,\\"y\\":9.526279441628825},\\"73;11\\":{\\"x\\":73,\\"y\\":9.526279441628825},\\"74;11\\":{\\"x\\":74,\\"y\\":9.526279441628825},\\"75;11\\":{\\"x\\":75,\\"y\\":9.526279441628825},\\"76;11\\":{\\"x\\":76,\\"y\\":9.526279441628825},\\"77;11\\":{\\"x\\":77,\\"y\\":9.526279441628825},\\"78;11\\":{\\"x\\":78,\\"y\\":9.526279441628825},\\"79;11\\":{\\"x\\":79,\\"y\\":9.526279441628825},\\"80;11\\":{\\"x\\":80,\\"y\\":9.526279441628825},\\"81;11\\":{\\"x\\":81,\\"y\\":9.526279441628825},\\"82;11\\":{\\"x\\":82,\\"y\\":9.526279441628825},\\"83;11\\":{\\"x\\":83,\\"y\\":9.526279441628825},\\"84;11\\":{\\"x\\":84,\\"y\\":9.526279441628825},\\"85;11\\":{\\"x\\":85,\\"y\\":9.526279441628825},\\"86;11\\":{\\"x\\":86,\\"y\\":9.526279441628825},\\"87;11\\":{\\"x\\":87,\\"y\\":9.526279441628825},\\"88;11\\":{\\"x\\":88,\\"y\\":9.526279441628825},\\"89;11\\":{\\"x\\":89,\\"y\\":9.526279441628825},\\"90;11\\":{\\"x\\":90,\\"y\\":9.526279441628825},\\"91;11\\":{\\"x\\":91,\\"y\\":9.526279441628825},\\"92;11\\":{\\"x\\":92,\\"y\\":9.526279441628825},\\"93;11\\":{\\"x\\":93,\\"y\\":9.526279441628825},\\"99;11\\":{\\"x\\":99,\\"y\\":9.526279441628825},\\"100;11\\":{\\"x\\":100,\\"y\\":9.526279441628825},\\"14;12\\":{\\"x\\":14.5,\\"y\\":10.392304845413264},\\"15;12\\":{\\"x\\":15.5,\\"y\\":10.392304845413264},\\"16;12\\":{\\"x\\":16.5,\\"y\\":10.392304845413264},\\"17;12\\":{\\"x\\":17.5,\\"y\\":10.392304845413264},\\"18;12\\":{\\"x\\":18.5,\\"y\\":10.392304845413264},\\"19;12\\":{\\"x\\":19.5,\\"y\\":10.392304845413264},\\"20;12\\":{\\"x\\":20.5,\\"y\\":10.392304845413264},\\"21;12\\":{\\"x\\":21.5,\\"y\\":10.392304845413264},\\"22;12\\":{\\"x\\":22.5,\\"y\\":10.392304845413264},\\"23;12\\":{\\"x\\":23.5,\\"y\\":10.392304845413264},\\"24;12\\":{\\"x\\":24.5,\\"y\\":10.392304845413264},\\"25;12\\":{\\"x\\":25.5,\\"y\\":10.392304845413264},\\"26;12\\":{\\"x\\":26.5,\\"y\\":10.392304845413264},\\"30;12\\":{\\"x\\":30.5,\\"y\\":10.392304845413264},\\"31;12\\":{\\"x\\":31.5,\\"y\\":10.392304845413264},\\"32;12\\":{\\"x\\":32.5,\\"y\\":10.392304845413264},\\"33;12\\":{\\"x\\":33.5,\\"y\\":10.392304845413264},\\"34;12\\":{\\"x\\":34.5,\\"y\\":10.392304845413264},\\"51;12\\":{\\"x\\":51.5,\\"y\\":10.392304845413264},\\"56;12\\":{\\"x\\":56.5,\\"y\\":10.392304845413264},\\"59;12\\":{\\"x\\":59.5,\\"y\\":10.392304845413264},\\"60;12\\":{\\"x\\":60.5,\\"y\\":10.392304845413264},\\"61;12\\":{\\"x\\":61.5,\\"y\\":10.392304845413264},\\"62;12\\":{\\"x\\":62.5,\\"y\\":10.392304845413264},\\"63;12\\":{\\"x\\":63.5,\\"y\\":10.392304845413264},\\"64;12\\":{\\"x\\":64.5,\\"y\\":10.392304845413264},\\"65;12\\":{\\"x\\":65.5,\\"y\\":10.392304845413264},\\"66;12\\":{\\"x\\":66.5,\\"y\\":10.392304845413264},\\"67;12\\":{\\"x\\":67.5,\\"y\\":10.392304845413264},\\"68;12\\":{\\"x\\":68.5,\\"y\\":10.392304845413264},\\"69;12\\":{\\"x\\":69.5,\\"y\\":10.392304845413264},\\"70;12\\":{\\"x\\":70.5,\\"y\\":10.392304845413264},\\"71;12\\":{\\"x\\":71.5,\\"y\\":10.392304845413264},\\"72;12\\":{\\"x\\":72.5,\\"y\\":10.392304845413264},\\"73;12\\":{\\"x\\":73.5,\\"y\\":10.392304845413264},\\"74;12\\":{\\"x\\":74.5,\\"y\\":10.392304845413264},\\"75;12\\":{\\"x\\":75.5,\\"y\\":10.392304845413264},\\"76;12\\":{\\"x\\":76.5,\\"y\\":10.392304845413264},\\"77;12\\":{\\"x\\":77.5,\\"y\\":10.392304845413264},\\"78;12\\":{\\"x\\":78.5,\\"y\\":10.392304845413264},\\"79;12\\":{\\"x\\":79.5,\\"y\\":10.392304845413264},\\"80;12\\":{\\"x\\":80.5,\\"y\\":10.392304845413264},\\"81;12\\":{\\"x\\":81.5,\\"y\\":10.392304845413264},\\"82;12\\":{\\"x\\":82.5,\\"y\\":10.392304845413264},\\"83;12\\":{\\"x\\":83.5,\\"y\\":10.392304845413264},\\"84;12\\":{\\"x\\":84.5,\\"y\\":10.392304845413264},\\"85;12\\":{\\"x\\":85.5,\\"y\\":10.392304845413264},\\"86;12\\":{\\"x\\":86.5,\\"y\\":10.392304845413264},\\"87;12\\":{\\"x\\":87.5,\\"y\\":10.392304845413264},\\"88;12\\":{\\"x\\":88.5,\\"y\\":10.392304845413264},\\"89;12\\":{\\"x\\":89.5,\\"y\\":10.392304845413264},\\"90;12\\":{\\"x\\":90.5,\\"y\\":10.392304845413264},\\"91;12\\":{\\"x\\":91.5,\\"y\\":10.392304845413264},\\"92;12\\":{\\"x\\":92.5,\\"y\\":10.392304845413264},\\"98;12\\":{\\"x\\":98.5,\\"y\\":10.392304845413264},\\"99;12\\":{\\"x\\":99.5,\\"y\\":10.392304845413264},\\"15;13\\":{\\"x\\":15,\\"y\\":11.258330249197702},\\"16;13\\":{\\"x\\":16,\\"y\\":11.258330249197702},\\"17;13\\":{\\"x\\":17,\\"y\\":11.258330249197702},\\"18;13\\":{\\"x\\":18,\\"y\\":11.258330249197702},\\"19;13\\":{\\"x\\":19,\\"y\\":11.258330249197702},\\"20;13\\":{\\"x\\":20,\\"y\\":11.258330249197702},\\"21;13\\":{\\"x\\":21,\\"y\\":11.258330249197702},\\"22;13\\":{\\"x\\":22,\\"y\\":11.258330249197702},\\"23;13\\":{\\"x\\":23,\\"y\\":11.258330249197702},\\"24;13\\":{\\"x\\":24,\\"y\\":11.258330249197702},\\"25;13\\":{\\"x\\":25,\\"y\\":11.258330249197702},\\"26;13\\":{\\"x\\":26,\\"y\\":11.258330249197702},\\"27;13\\":{\\"x\\":27,\\"y\\":11.258330249197702},\\"28;13\\":{\\"x\\":28,\\"y\\":11.258330249197702},\\"30;13\\":{\\"x\\":30,\\"y\\":11.258330249197702},\\"31;13\\":{\\"x\\":31,\\"y\\":11.258330249197702},\\"32;13\\":{\\"x\\":32,\\"y\\":11.258330249197702},\\"33;13\\":{\\"x\\":33,\\"y\\":11.258330249197702},\\"34;13\\":{\\"x\\":34,\\"y\\":11.258330249197702},\\"35;13\\":{\\"x\\":35,\\"y\\":11.258330249197702},\\"50;13\\":{\\"x\\":50,\\"y\\":11.258330249197702},\\"52;13\\":{\\"x\\":52,\\"y\\":11.258330249197702},\\"55;13\\":{\\"x\\":55,\\"y\\":11.258330249197702},\\"56;13\\":{\\"x\\":56,\\"y\\":11.258330249197702},\\"57;13\\":{\\"x\\":57,\\"y\\":11.258330249197702},\\"58;13\\":{\\"x\\":58,\\"y\\":11.258330249197702},\\"59;13\\":{\\"x\\":59,\\"y\\":11.258330249197702},\\"60;13\\":{\\"x\\":60,\\"y\\":11.258330249197702},\\"61;13\\":{\\"x\\":61,\\"y\\":11.258330249197702},\\"62;13\\":{\\"x\\":62,\\"y\\":11.258330249197702},\\"63;13\\":{\\"x\\":63,\\"y\\":11.258330249197702},\\"64;13\\":{\\"x\\":64,\\"y\\":11.258330249197702},\\"65;13\\":{\\"x\\":65,\\"y\\":11.258330249197702},\\"66;13\\":{\\"x\\":66,\\"y\\":11.258330249197702},\\"67;13\\":{\\"x\\":67,\\"y\\":11.258330249197702},\\"68;13\\":{\\"x\\":68,\\"y\\":11.258330249197702},\\"69;13\\":{\\"x\\":69,\\"y\\":11.258330249197702},\\"70;13\\":{\\"x\\":70,\\"y\\":11.258330249197702},\\"71;13\\":{\\"x\\":71,\\"y\\":11.258330249197702},\\"72;13\\":{\\"x\\":72,\\"y\\":11.258330249197702},\\"73;13\\":{\\"x\\":73,\\"y\\":11.258330249197702},\\"74;13\\":{\\"x\\":74,\\"y\\":11.258330249197702},\\"75;13\\":{\\"x\\":75,\\"y\\":11.258330249197702},\\"76;13\\":{\\"x\\":76,\\"y\\":11.258330249197702},\\"77;13\\":{\\"x\\":77,\\"y\\":11.258330249197702},\\"78;13\\":{\\"x\\":78,\\"y\\":11.258330249197702},\\"79;13\\":{\\"x\\":79,\\"y\\":11.258330249197702},\\"80;13\\":{\\"x\\":80,\\"y\\":11.258330249197702},\\"81;13\\":{\\"x\\":81,\\"y\\":11.258330249197702},\\"82;13\\":{\\"x\\":82,\\"y\\":11.258330249197702},\\"83;13\\":{\\"x\\":83,\\"y\\":11.258330249197702},\\"84;13\\":{\\"x\\":84,\\"y\\":11.258330249197702},\\"85;13\\":{\\"x\\":85,\\"y\\":11.258330249197702},\\"86;13\\":{\\"x\\":86,\\"y\\":11.258330249197702},\\"87;13\\":{\\"x\\":87,\\"y\\":11.258330249197702},\\"88;13\\":{\\"x\\":88,\\"y\\":11.258330249197702},\\"89;13\\":{\\"x\\":89,\\"y\\":11.258330249197702},\\"90;13\\":{\\"x\\":90,\\"y\\":11.258330249197702},\\"91;13\\":{\\"x\\":91,\\"y\\":11.258330249197702},\\"92;13\\":{\\"x\\":92,\\"y\\":11.258330249197702},\\"99;13\\":{\\"x\\":99,\\"y\\":11.258330249197702},\\"15;14\\":{\\"x\\":15.5,\\"y\\":12.12435565298214},\\"16;14\\":{\\"x\\":16.5,\\"y\\":12.12435565298214},\\"17;14\\":{\\"x\\":17.5,\\"y\\":12.12435565298214},\\"18;14\\":{\\"x\\":18.5,\\"y\\":12.12435565298214},\\"19;14\\":{\\"x\\":19.5,\\"y\\":12.12435565298214},\\"20;14\\":{\\"x\\":20.5,\\"y\\":12.12435565298214},\\"21;14\\":{\\"x\\":21.5,\\"y\\":12.12435565298214},\\"22;14\\":{\\"x\\":22.5,\\"y\\":12.12435565298214},\\"23;14\\":{\\"x\\":23.5,\\"y\\":12.12435565298214},\\"24;14\\":{\\"x\\":24.5,\\"y\\":12.12435565298214},\\"25;14\\":{\\"x\\":25.5,\\"y\\":12.12435565298214},\\"26;14\\":{\\"x\\":26.5,\\"y\\":12.12435565298214},\\"27;14\\":{\\"x\\":27.5,\\"y\\":12.12435565298214},\\"28;14\\":{\\"x\\":28.5,\\"y\\":12.12435565298214},\\"29;14\\":{\\"x\\":29.5,\\"y\\":12.12435565298214},\\"30;14\\":{\\"x\\":30.5,\\"y\\":12.12435565298214},\\"31;14\\":{\\"x\\":31.5,\\"y\\":12.12435565298214},\\"32;14\\":{\\"x\\":32.5,\\"y\\":12.12435565298214},\\"33;14\\":{\\"x\\":33.5,\\"y\\":12.12435565298214},\\"34;14\\":{\\"x\\":34.5,\\"y\\":12.12435565298214},\\"35;14\\":{\\"x\\":35.5,\\"y\\":12.12435565298214},\\"51;14\\":{\\"x\\":51.5,\\"y\\":12.12435565298214},\\"52;14\\":{\\"x\\":52.5,\\"y\\":12.12435565298214},\\"54;14\\":{\\"x\\":54.5,\\"y\\":12.12435565298214},\\"55;14\\":{\\"x\\":55.5,\\"y\\":12.12435565298214},\\"56;14\\":{\\"x\\":56.5,\\"y\\":12.12435565298214},\\"57;14\\":{\\"x\\":57.5,\\"y\\":12.12435565298214},\\"58;14\\":{\\"x\\":58.5,\\"y\\":12.12435565298214},\\"59;14\\":{\\"x\\":59.5,\\"y\\":12.12435565298214},\\"60;14\\":{\\"x\\":60.5,\\"y\\":12.12435565298214},\\"61;14\\":{\\"x\\":61.5,\\"y\\":12.12435565298214},\\"62;14\\":{\\"x\\":62.5,\\"y\\":12.12435565298214},\\"63;14\\":{\\"x\\":63.5,\\"y\\":12.12435565298214},\\"64;14\\":{\\"x\\":64.5,\\"y\\":12.12435565298214},\\"65;14\\":{\\"x\\":65.5,\\"y\\":12.12435565298214},\\"66;14\\":{\\"x\\":66.5,\\"y\\":12.12435565298214},\\"67;14\\":{\\"x\\":67.5,\\"y\\":12.12435565298214},\\"68;14\\":{\\"x\\":68.5,\\"y\\":12.12435565298214},\\"69;14\\":{\\"x\\":69.5,\\"y\\":12.12435565298214},\\"70;14\\":{\\"x\\":70.5,\\"y\\":12.12435565298214},\\"71;14\\":{\\"x\\":71.5,\\"y\\":12.12435565298214},\\"72;14\\":{\\"x\\":72.5,\\"y\\":12.12435565298214},\\"73;14\\":{\\"x\\":73.5,\\"y\\":12.12435565298214},\\"74;14\\":{\\"x\\":74.5,\\"y\\":12.12435565298214},\\"75;14\\":{\\"x\\":75.5,\\"y\\":12.12435565298214},\\"76;14\\":{\\"x\\":76.5,\\"y\\":12.12435565298214},\\"77;14\\":{\\"x\\":77.5,\\"y\\":12.12435565298214},\\"78;14\\":{\\"x\\":78.5,\\"y\\":12.12435565298214},\\"79;14\\":{\\"x\\":79.5,\\"y\\":12.12435565298214},\\"80;14\\":{\\"x\\":80.5,\\"y\\":12.12435565298214},\\"81;14\\":{\\"x\\":81.5,\\"y\\":12.12435565298214},\\"82;14\\":{\\"x\\":82.5,\\"y\\":12.12435565298214},\\"83;14\\":{\\"x\\":83.5,\\"y\\":12.12435565298214},\\"84;14\\":{\\"x\\":84.5,\\"y\\":12.12435565298214},\\"85;14\\":{\\"x\\":85.5,\\"y\\":12.12435565298214},\\"86;14\\":{\\"x\\":86.5,\\"y\\":12.12435565298214},\\"87;14\\":{\\"x\\":87.5,\\"y\\":12.12435565298214},\\"88;14\\":{\\"x\\":88.5,\\"y\\":12.12435565298214},\\"89;14\\":{\\"x\\":89.5,\\"y\\":12.12435565298214},\\"90;14\\":{\\"x\\":90.5,\\"y\\":12.12435565298214},\\"91;14\\":{\\"x\\":91.5,\\"y\\":12.12435565298214},\\"92;14\\":{\\"x\\":92.5,\\"y\\":12.12435565298214},\\"93;14\\":{\\"x\\":93.5,\\"y\\":12.12435565298214},\\"94;14\\":{\\"x\\":94.5,\\"y\\":12.12435565298214},\\"98;14\\":{\\"x\\":98.5,\\"y\\":12.12435565298214},\\"15;15\\":{\\"x\\":15,\\"y\\":12.990381056766578},\\"16;15\\":{\\"x\\":16,\\"y\\":12.990381056766578},\\"17;15\\":{\\"x\\":17,\\"y\\":12.990381056766578},\\"18;15\\":{\\"x\\":18,\\"y\\":12.990381056766578},\\"19;15\\":{\\"x\\":19,\\"y\\":12.990381056766578},\\"20;15\\":{\\"x\\":20,\\"y\\":12.990381056766578},\\"21;15\\":{\\"x\\":21,\\"y\\":12.990381056766578},\\"22;15\\":{\\"x\\":22,\\"y\\":12.990381056766578},\\"23;15\\":{\\"x\\":23,\\"y\\":12.990381056766578},\\"24;15\\":{\\"x\\":24,\\"y\\":12.990381056766578},\\"25;15\\":{\\"x\\":25,\\"y\\":12.990381056766578},\\"26;15\\":{\\"x\\":26,\\"y\\":12.990381056766578},\\"27;15\\":{\\"x\\":27,\\"y\\":12.990381056766578},\\"28;15\\":{\\"x\\":28,\\"y\\":12.990381056766578},\\"29;15\\":{\\"x\\":29,\\"y\\":12.990381056766578},\\"30;15\\":{\\"x\\":30,\\"y\\":12.990381056766578},\\"31;15\\":{\\"x\\":31,\\"y\\":12.990381056766578},\\"32;15\\":{\\"x\\":32,\\"y\\":12.990381056766578},\\"33;15\\":{\\"x\\":33,\\"y\\":12.990381056766578},\\"51;15\\":{\\"x\\":51,\\"y\\":12.990381056766578},\\"53;15\\":{\\"x\\":53,\\"y\\":12.990381056766578},\\"54;15\\":{\\"x\\":54,\\"y\\":12.990381056766578},\\"55;15\\":{\\"x\\":55,\\"y\\":12.990381056766578},\\"56;15\\":{\\"x\\":56,\\"y\\":12.990381056766578},\\"57;15\\":{\\"x\\":57,\\"y\\":12.990381056766578},\\"58;15\\":{\\"x\\":58,\\"y\\":12.990381056766578},\\"59;15\\":{\\"x\\":59,\\"y\\":12.990381056766578},\\"60;15\\":{\\"x\\":60,\\"y\\":12.990381056766578},\\"61;15\\":{\\"x\\":61,\\"y\\":12.990381056766578},\\"62;15\\":{\\"x\\":62,\\"y\\":12.990381056766578},\\"63;15\\":{\\"x\\":63,\\"y\\":12.990381056766578},\\"64;15\\":{\\"x\\":64,\\"y\\":12.990381056766578},\\"65;15\\":{\\"x\\":65,\\"y\\":12.990381056766578},\\"66;15\\":{\\"x\\":66,\\"y\\":12.990381056766578},\\"67;15\\":{\\"x\\":67,\\"y\\":12.990381056766578},\\"68;15\\":{\\"x\\":68,\\"y\\":12.990381056766578},\\"69;15\\":{\\"x\\":69,\\"y\\":12.990381056766578},\\"70;15\\":{\\"x\\":70,\\"y\\":12.990381056766578},\\"71;15\\":{\\"x\\":71,\\"y\\":12.990381056766578},\\"72;15\\":{\\"x\\":72,\\"y\\":12.990381056766578},\\"73;15\\":{\\"x\\":73,\\"y\\":12.990381056766578},\\"74;15\\":{\\"x\\":74,\\"y\\":12.990381056766578},\\"75;15\\":{\\"x\\":75,\\"y\\":12.990381056766578},\\"76;15\\":{\\"x\\":76,\\"y\\":12.990381056766578},\\"77;15\\":{\\"x\\":77,\\"y\\":12.990381056766578},\\"78;15\\":{\\"x\\":78,\\"y\\":12.990381056766578},\\"79;15\\":{\\"x\\":79,\\"y\\":12.990381056766578},\\"80;15\\":{\\"x\\":80,\\"y\\":12.990381056766578},\\"81;15\\":{\\"x\\":81,\\"y\\":12.990381056766578},\\"82;15\\":{\\"x\\":82,\\"y\\":12.990381056766578},\\"83;15\\":{\\"x\\":83,\\"y\\":12.990381056766578},\\"84;15\\":{\\"x\\":84,\\"y\\":12.990381056766578},\\"85;15\\":{\\"x\\":85,\\"y\\":12.990381056766578},\\"86;15\\":{\\"x\\":86,\\"y\\":12.990381056766578},\\"87;15\\":{\\"x\\":87,\\"y\\":12.990381056766578},\\"88;15\\":{\\"x\\":88,\\"y\\":12.990381056766578},\\"89;15\\":{\\"x\\":89,\\"y\\":12.990381056766578},\\"90;15\\":{\\"x\\":90,\\"y\\":12.990381056766578},\\"91;15\\":{\\"x\\":91,\\"y\\":12.990381056766578},\\"92;15\\":{\\"x\\":92,\\"y\\":12.990381056766578},\\"93;15\\":{\\"x\\":93,\\"y\\":12.990381056766578},\\"17;16\\":{\\"x\\":17.5,\\"y\\":13.856406460551018},\\"18;16\\":{\\"x\\":18.5,\\"y\\":13.856406460551018},\\"19;16\\":{\\"x\\":19.5,\\"y\\":13.856406460551018},\\"20;16\\":{\\"x\\":20.5,\\"y\\":13.856406460551018},\\"21;16\\":{\\"x\\":21.5,\\"y\\":13.856406460551018},\\"22;16\\":{\\"x\\":22.5,\\"y\\":13.856406460551018},\\"23;16\\":{\\"x\\":23.5,\\"y\\":13.856406460551018},\\"24;16\\":{\\"x\\":24.5,\\"y\\":13.856406460551018},\\"25;16\\":{\\"x\\":25.5,\\"y\\":13.856406460551018},\\"26;16\\":{\\"x\\":26.5,\\"y\\":13.856406460551018},\\"27;16\\":{\\"x\\":27.5,\\"y\\":13.856406460551018},\\"28;16\\":{\\"x\\":28.5,\\"y\\":13.856406460551018},\\"29;16\\":{\\"x\\":29.5,\\"y\\":13.856406460551018},\\"30;16\\":{\\"x\\":30.5,\\"y\\":13.856406460551018},\\"31;16\\":{\\"x\\":31.5,\\"y\\":13.856406460551018},\\"32;16\\":{\\"x\\":32.5,\\"y\\":13.856406460551018},\\"35;16\\":{\\"x\\":35.5,\\"y\\":13.856406460551018},\\"36;16\\":{\\"x\\":36.5,\\"y\\":13.856406460551018},\\"51;16\\":{\\"x\\":51.5,\\"y\\":13.856406460551018},\\"52;16\\":{\\"x\\":52.5,\\"y\\":13.856406460551018},\\"53;16\\":{\\"x\\":53.5,\\"y\\":13.856406460551018},\\"54;16\\":{\\"x\\":54.5,\\"y\\":13.856406460551018},\\"55;16\\":{\\"x\\":55.5,\\"y\\":13.856406460551018},\\"56;16\\":{\\"x\\":56.5,\\"y\\":13.856406460551018},\\"57;16\\":{\\"x\\":57.5,\\"y\\":13.856406460551018},\\"58;16\\":{\\"x\\":58.5,\\"y\\":13.856406460551018},\\"59;16\\":{\\"x\\":59.5,\\"y\\":13.856406460551018},\\"60;16\\":{\\"x\\":60.5,\\"y\\":13.856406460551018},\\"61;16\\":{\\"x\\":61.5,\\"y\\":13.856406460551018},\\"62;16\\":{\\"x\\":62.5,\\"y\\":13.856406460551018},\\"63;16\\":{\\"x\\":63.5,\\"y\\":13.856406460551018},\\"64;16\\":{\\"x\\":64.5,\\"y\\":13.856406460551018},\\"65;16\\":{\\"x\\":65.5,\\"y\\":13.856406460551018},\\"66;16\\":{\\"x\\":66.5,\\"y\\":13.856406460551018},\\"67;16\\":{\\"x\\":67.5,\\"y\\":13.856406460551018},\\"68;16\\":{\\"x\\":68.5,\\"y\\":13.856406460551018},\\"69;16\\":{\\"x\\":69.5,\\"y\\":13.856406460551018},\\"70;16\\":{\\"x\\":70.5,\\"y\\":13.856406460551018},\\"71;16\\":{\\"x\\":71.5,\\"y\\":13.856406460551018},\\"72;16\\":{\\"x\\":72.5,\\"y\\":13.856406460551018},\\"73;16\\":{\\"x\\":73.5,\\"y\\":13.856406460551018},\\"74;16\\":{\\"x\\":74.5,\\"y\\":13.856406460551018},\\"75;16\\":{\\"x\\":75.5,\\"y\\":13.856406460551018},\\"76;16\\":{\\"x\\":76.5,\\"y\\":13.856406460551018},\\"77;16\\":{\\"x\\":77.5,\\"y\\":13.856406460551018},\\"78;16\\":{\\"x\\":78.5,\\"y\\":13.856406460551018},\\"79;16\\":{\\"x\\":79.5,\\"y\\":13.856406460551018},\\"80;16\\":{\\"x\\":80.5,\\"y\\":13.856406460551018},\\"81;16\\":{\\"x\\":81.5,\\"y\\":13.856406460551018},\\"82;16\\":{\\"x\\":82.5,\\"y\\":13.856406460551018},\\"83;16\\":{\\"x\\":83.5,\\"y\\":13.856406460551018},\\"84;16\\":{\\"x\\":84.5,\\"y\\":13.856406460551018},\\"85;16\\":{\\"x\\":85.5,\\"y\\":13.856406460551018},\\"86;16\\":{\\"x\\":86.5,\\"y\\":13.856406460551018},\\"87;16\\":{\\"x\\":87.5,\\"y\\":13.856406460551018},\\"88;16\\":{\\"x\\":88.5,\\"y\\":13.856406460551018},\\"89;16\\":{\\"x\\":89.5,\\"y\\":13.856406460551018},\\"90;16\\":{\\"x\\":90.5,\\"y\\":13.856406460551018},\\"91;16\\":{\\"x\\":91.5,\\"y\\":13.856406460551018},\\"92;16\\":{\\"x\\":92.5,\\"y\\":13.856406460551018},\\"93;16\\":{\\"x\\":93.5,\\"y\\":13.856406460551018},\\"17;17\\":{\\"x\\":17,\\"y\\":14.722431864335457},\\"18;17\\":{\\"x\\":18,\\"y\\":14.722431864335457},\\"19;17\\":{\\"x\\":19,\\"y\\":14.722431864335457},\\"20;17\\":{\\"x\\":20,\\"y\\":14.722431864335457},\\"21;17\\":{\\"x\\":21,\\"y\\":14.722431864335457},\\"22;17\\":{\\"x\\":22,\\"y\\":14.722431864335457},\\"23;17\\":{\\"x\\":23,\\"y\\":14.722431864335457},\\"24;17\\":{\\"x\\":24,\\"y\\":14.722431864335457},\\"25;17\\":{\\"x\\":25,\\"y\\":14.722431864335457},\\"26;17\\":{\\"x\\":26,\\"y\\":14.722431864335457},\\"27;17\\":{\\"x\\":27,\\"y\\":14.722431864335457},\\"28;17\\":{\\"x\\":28,\\"y\\":14.722431864335457},\\"29;17\\":{\\"x\\":29,\\"y\\":14.722431864335457},\\"30;17\\":{\\"x\\":30,\\"y\\":14.722431864335457},\\"31;17\\":{\\"x\\":31,\\"y\\":14.722431864335457},\\"32;17\\":{\\"x\\":32,\\"y\\":14.722431864335457},\\"33;17\\":{\\"x\\":33,\\"y\\":14.722431864335457},\\"34;17\\":{\\"x\\":34,\\"y\\":14.722431864335457},\\"53;17\\":{\\"x\\":53,\\"y\\":14.722431864335457},\\"54;17\\":{\\"x\\":54,\\"y\\":14.722431864335457},\\"55;17\\":{\\"x\\":55,\\"y\\":14.722431864335457},\\"56;17\\":{\\"x\\":56,\\"y\\":14.722431864335457},\\"57;17\\":{\\"x\\":57,\\"y\\":14.722431864335457},\\"58;17\\":{\\"x\\":58,\\"y\\":14.722431864335457},\\"59;17\\":{\\"x\\":59,\\"y\\":14.722431864335457},\\"60;17\\":{\\"x\\":60,\\"y\\":14.722431864335457},\\"61;17\\":{\\"x\\":61,\\"y\\":14.722431864335457},\\"62;17\\":{\\"x\\":62,\\"y\\":14.722431864335457},\\"64;17\\":{\\"x\\":64,\\"y\\":14.722431864335457},\\"65;17\\":{\\"x\\":65,\\"y\\":14.722431864335457},\\"66;17\\":{\\"x\\":66,\\"y\\":14.722431864335457},\\"69;17\\":{\\"x\\":69,\\"y\\":14.722431864335457},\\"70;17\\":{\\"x\\":70,\\"y\\":14.722431864335457},\\"71;17\\":{\\"x\\":71,\\"y\\":14.722431864335457},\\"72;17\\":{\\"x\\":72,\\"y\\":14.722431864335457},\\"73;17\\":{\\"x\\":73,\\"y\\":14.722431864335457},\\"74;17\\":{\\"x\\":74,\\"y\\":14.722431864335457},\\"75;17\\":{\\"x\\":75,\\"y\\":14.722431864335457},\\"76;17\\":{\\"x\\":76,\\"y\\":14.722431864335457},\\"77;17\\":{\\"x\\":77,\\"y\\":14.722431864335457},\\"78;17\\":{\\"x\\":78,\\"y\\":14.722431864335457},\\"79;17\\":{\\"x\\":79,\\"y\\":14.722431864335457},\\"80;17\\":{\\"x\\":80,\\"y\\":14.722431864335457},\\"81;17\\":{\\"x\\":81,\\"y\\":14.722431864335457},\\"82;17\\":{\\"x\\":82,\\"y\\":14.722431864335457},\\"83;17\\":{\\"x\\":83,\\"y\\":14.722431864335457},\\"84;17\\":{\\"x\\":84,\\"y\\":14.722431864335457},\\"85;17\\":{\\"x\\":85,\\"y\\":14.722431864335457},\\"86;17\\":{\\"x\\":86,\\"y\\":14.722431864335457},\\"87;17\\":{\\"x\\":87,\\"y\\":14.722431864335457},\\"88;17\\":{\\"x\\":88,\\"y\\":14.722431864335457},\\"89;17\\":{\\"x\\":89,\\"y\\":14.722431864335457},\\"90;17\\":{\\"x\\":90,\\"y\\":14.722431864335457},\\"91;17\\":{\\"x\\":91,\\"y\\":14.722431864335457},\\"92;17\\":{\\"x\\":92,\\"y\\":14.722431864335457},\\"93;17\\":{\\"x\\":93,\\"y\\":14.722431864335457},\\"16;18\\":{\\"x\\":16.5,\\"y\\":15.588457268119894},\\"17;18\\":{\\"x\\":17.5,\\"y\\":15.588457268119894},\\"18;18\\":{\\"x\\":18.5,\\"y\\":15.588457268119894},\\"19;18\\":{\\"x\\":19.5,\\"y\\":15.588457268119894},\\"20;18\\":{\\"x\\":20.5,\\"y\\":15.588457268119894},\\"21;18\\":{\\"x\\":21.5,\\"y\\":15.588457268119894},\\"22;18\\":{\\"x\\":22.5,\\"y\\":15.588457268119894},\\"23;18\\":{\\"x\\":23.5,\\"y\\":15.588457268119894},\\"24;18\\":{\\"x\\":24.5,\\"y\\":15.588457268119894},\\"25;18\\":{\\"x\\":25.5,\\"y\\":15.588457268119894},\\"26;18\\":{\\"x\\":26.5,\\"y\\":15.588457268119894},\\"27;18\\":{\\"x\\":27.5,\\"y\\":15.588457268119894},\\"28;18\\":{\\"x\\":28.5,\\"y\\":15.588457268119894},\\"29;18\\":{\\"x\\":29.5,\\"y\\":15.588457268119894},\\"30;18\\":{\\"x\\":30.5,\\"y\\":15.588457268119894},\\"31;18\\":{\\"x\\":31.5,\\"y\\":15.588457268119894},\\"33;18\\":{\\"x\\":33.5,\\"y\\":15.588457268119894},\\"52;18\\":{\\"x\\":52.5,\\"y\\":15.588457268119894},\\"53;18\\":{\\"x\\":53.5,\\"y\\":15.588457268119894},\\"54;18\\":{\\"x\\":54.5,\\"y\\":15.588457268119894},\\"55;18\\":{\\"x\\":55.5,\\"y\\":15.588457268119894},\\"57;18\\":{\\"x\\":57.5,\\"y\\":15.588457268119894},\\"58;18\\":{\\"x\\":58.5,\\"y\\":15.588457268119894},\\"59;18\\":{\\"x\\":59.5,\\"y\\":15.588457268119894},\\"60;18\\":{\\"x\\":60.5,\\"y\\":15.588457268119894},\\"64;18\\":{\\"x\\":64.5,\\"y\\":15.588457268119894},\\"65;18\\":{\\"x\\":65.5,\\"y\\":15.588457268119894},\\"67;18\\":{\\"x\\":67.5,\\"y\\":15.588457268119894},\\"68;18\\":{\\"x\\":68.5,\\"y\\":15.588457268119894},\\"69;18\\":{\\"x\\":69.5,\\"y\\":15.588457268119894},\\"70;18\\":{\\"x\\":70.5,\\"y\\":15.588457268119894},\\"71;18\\":{\\"x\\":71.5,\\"y\\":15.588457268119894},\\"72;18\\":{\\"x\\":72.5,\\"y\\":15.588457268119894},\\"73;18\\":{\\"x\\":73.5,\\"y\\":15.588457268119894},\\"74;18\\":{\\"x\\":74.5,\\"y\\":15.588457268119894},\\"75;18\\":{\\"x\\":75.5,\\"y\\":15.588457268119894},\\"76;18\\":{\\"x\\":76.5,\\"y\\":15.588457268119894},\\"77;18\\":{\\"x\\":77.5,\\"y\\":15.588457268119894},\\"78;18\\":{\\"x\\":78.5,\\"y\\":15.588457268119894},\\"79;18\\":{\\"x\\":79.5,\\"y\\":15.588457268119894},\\"80;18\\":{\\"x\\":80.5,\\"y\\":15.588457268119894},\\"81;18\\":{\\"x\\":81.5,\\"y\\":15.588457268119894},\\"82;18\\":{\\"x\\":82.5,\\"y\\":15.588457268119894},\\"83;18\\":{\\"x\\":83.5,\\"y\\":15.588457268119894},\\"84;18\\":{\\"x\\":84.5,\\"y\\":15.588457268119894},\\"85;18\\":{\\"x\\":85.5,\\"y\\":15.588457268119894},\\"86;18\\":{\\"x\\":86.5,\\"y\\":15.588457268119894},\\"87;18\\":{\\"x\\":87.5,\\"y\\":15.588457268119894},\\"88;18\\":{\\"x\\":88.5,\\"y\\":15.588457268119894},\\"89;18\\":{\\"x\\":89.5,\\"y\\":15.588457268119894},\\"90;18\\":{\\"x\\":90.5,\\"y\\":15.588457268119894},\\"91;18\\":{\\"x\\":91.5,\\"y\\":15.588457268119894},\\"94;18\\":{\\"x\\":94.5,\\"y\\":15.588457268119894},\\"17;19\\":{\\"x\\":17,\\"y\\":16.454482671904334},\\"18;19\\":{\\"x\\":18,\\"y\\":16.454482671904334},\\"19;19\\":{\\"x\\":19,\\"y\\":16.454482671904334},\\"20;19\\":{\\"x\\":20,\\"y\\":16.454482671904334},\\"21;19\\":{\\"x\\":21,\\"y\\":16.454482671904334},\\"22;19\\":{\\"x\\":22,\\"y\\":16.454482671904334},\\"23;19\\":{\\"x\\":23,\\"y\\":16.454482671904334},\\"24;19\\":{\\"x\\":24,\\"y\\":16.454482671904334},\\"25;19\\":{\\"x\\":25,\\"y\\":16.454482671904334},\\"26;19\\":{\\"x\\":26,\\"y\\":16.454482671904334},\\"27;19\\":{\\"x\\":27,\\"y\\":16.454482671904334},\\"28;19\\":{\\"x\\":28,\\"y\\":16.454482671904334},\\"29;19\\":{\\"x\\":29,\\"y\\":16.454482671904334},\\"30;19\\":{\\"x\\":30,\\"y\\":16.454482671904334},\\"31;19\\":{\\"x\\":31,\\"y\\":16.454482671904334},\\"50;19\\":{\\"x\\":50,\\"y\\":16.454482671904334},\\"51;19\\":{\\"x\\":51,\\"y\\":16.454482671904334},\\"52;19\\":{\\"x\\":52,\\"y\\":16.454482671904334},\\"53;19\\":{\\"x\\":53,\\"y\\":16.454482671904334},\\"56;19\\":{\\"x\\":56,\\"y\\":16.454482671904334},\\"59;19\\":{\\"x\\":59,\\"y\\":16.454482671904334},\\"60;19\\":{\\"x\\":60,\\"y\\":16.454482671904334},\\"65;19\\":{\\"x\\":65,\\"y\\":16.454482671904334},\\"66;19\\":{\\"x\\":66,\\"y\\":16.454482671904334},\\"68;19\\":{\\"x\\":68,\\"y\\":16.454482671904334},\\"69;19\\":{\\"x\\":69,\\"y\\":16.454482671904334},\\"70;19\\":{\\"x\\":70,\\"y\\":16.454482671904334},\\"71;19\\":{\\"x\\":71,\\"y\\":16.454482671904334},\\"72;19\\":{\\"x\\":72,\\"y\\":16.454482671904334},\\"73;19\\":{\\"x\\":73,\\"y\\":16.454482671904334},\\"74;19\\":{\\"x\\":74,\\"y\\":16.454482671904334},\\"75;19\\":{\\"x\\":75,\\"y\\":16.454482671904334},\\"76;19\\":{\\"x\\":76,\\"y\\":16.454482671904334},\\"77;19\\":{\\"x\\":77,\\"y\\":16.454482671904334},\\"78;19\\":{\\"x\\":78,\\"y\\":16.454482671904334},\\"79;19\\":{\\"x\\":79,\\"y\\":16.454482671904334},\\"80;19\\":{\\"x\\":80,\\"y\\":16.454482671904334},\\"81;19\\":{\\"x\\":81,\\"y\\":16.454482671904334},\\"82;19\\":{\\"x\\":82,\\"y\\":16.454482671904334},\\"83;19\\":{\\"x\\":83,\\"y\\":16.454482671904334},\\"84;19\\":{\\"x\\":84,\\"y\\":16.454482671904334},\\"85;19\\":{\\"x\\":85,\\"y\\":16.454482671904334},\\"86;19\\":{\\"x\\":86,\\"y\\":16.454482671904334},\\"87;19\\":{\\"x\\":87,\\"y\\":16.454482671904334},\\"88;19\\":{\\"x\\":88,\\"y\\":16.454482671904334},\\"89;19\\":{\\"x\\":89,\\"y\\":16.454482671904334},\\"90;19\\":{\\"x\\":90,\\"y\\":16.454482671904334},\\"16;20\\":{\\"x\\":16.5,\\"y\\":17.32050807568877},\\"17;20\\":{\\"x\\":17.5,\\"y\\":17.32050807568877},\\"18;20\\":{\\"x\\":18.5,\\"y\\":17.32050807568877},\\"19;20\\":{\\"x\\":19.5,\\"y\\":17.32050807568877},\\"20;20\\":{\\"x\\":20.5,\\"y\\":17.32050807568877},\\"21;20\\":{\\"x\\":21.5,\\"y\\":17.32050807568877},\\"22;20\\":{\\"x\\":22.5,\\"y\\":17.32050807568877},\\"23;20\\":{\\"x\\":23.5,\\"y\\":17.32050807568877},\\"24;20\\":{\\"x\\":24.5,\\"y\\":17.32050807568877},\\"25;20\\":{\\"x\\":25.5,\\"y\\":17.32050807568877},\\"26;20\\":{\\"x\\":26.5,\\"y\\":17.32050807568877},\\"27;20\\":{\\"x\\":27.5,\\"y\\":17.32050807568877},\\"28;20\\":{\\"x\\":28.5,\\"y\\":17.32050807568877},\\"29;20\\":{\\"x\\":29.5,\\"y\\":17.32050807568877},\\"30;20\\":{\\"x\\":30.5,\\"y\\":17.32050807568877},\\"50;20\\":{\\"x\\":50.5,\\"y\\":17.32050807568877},\\"51;20\\":{\\"x\\":51.5,\\"y\\":17.32050807568877},\\"58;20\\":{\\"x\\":58.5,\\"y\\":17.32050807568877},\\"60;20\\":{\\"x\\":60.5,\\"y\\":17.32050807568877},\\"61;20\\":{\\"x\\":61.5,\\"y\\":17.32050807568877},\\"62;20\\":{\\"x\\":62.5,\\"y\\":17.32050807568877},\\"63;20\\":{\\"x\\":63.5,\\"y\\":17.32050807568877},\\"64;20\\":{\\"x\\":64.5,\\"y\\":17.32050807568877},\\"65;20\\":{\\"x\\":65.5,\\"y\\":17.32050807568877},\\"66;20\\":{\\"x\\":66.5,\\"y\\":17.32050807568877},\\"68;20\\":{\\"x\\":68.5,\\"y\\":17.32050807568877},\\"69;20\\":{\\"x\\":69.5,\\"y\\":17.32050807568877},\\"70;20\\":{\\"x\\":70.5,\\"y\\":17.32050807568877},\\"71;20\\":{\\"x\\":71.5,\\"y\\":17.32050807568877},\\"72;20\\":{\\"x\\":72.5,\\"y\\":17.32050807568877},\\"73;20\\":{\\"x\\":73.5,\\"y\\":17.32050807568877},\\"74;20\\":{\\"x\\":74.5,\\"y\\":17.32050807568877},\\"75;20\\":{\\"x\\":75.5,\\"y\\":17.32050807568877},\\"76;20\\":{\\"x\\":76.5,\\"y\\":17.32050807568877},\\"77;20\\":{\\"x\\":77.5,\\"y\\":17.32050807568877},\\"78;20\\":{\\"x\\":78.5,\\"y\\":17.32050807568877},\\"79;20\\":{\\"x\\":79.5,\\"y\\":17.32050807568877},\\"80;20\\":{\\"x\\":80.5,\\"y\\":17.32050807568877},\\"81;20\\":{\\"x\\":81.5,\\"y\\":17.32050807568877},\\"82;20\\":{\\"x\\":82.5,\\"y\\":17.32050807568877},\\"83;20\\":{\\"x\\":83.5,\\"y\\":17.32050807568877},\\"84;20\\":{\\"x\\":84.5,\\"y\\":17.32050807568877},\\"85;20\\":{\\"x\\":85.5,\\"y\\":17.32050807568877},\\"86;20\\":{\\"x\\":86.5,\\"y\\":17.32050807568877},\\"87;20\\":{\\"x\\":87.5,\\"y\\":17.32050807568877},\\"88;20\\":{\\"x\\":88.5,\\"y\\":17.32050807568877},\\"89;20\\":{\\"x\\":89.5,\\"y\\":17.32050807568877},\\"17;21\\":{\\"x\\":17,\\"y\\":18.186533479473212},\\"18;21\\":{\\"x\\":18,\\"y\\":18.186533479473212},\\"19;21\\":{\\"x\\":19,\\"y\\":18.186533479473212},\\"20;21\\":{\\"x\\":20,\\"y\\":18.186533479473212},\\"21;21\\":{\\"x\\":21,\\"y\\":18.186533479473212},\\"22;21\\":{\\"x\\":22,\\"y\\":18.186533479473212},\\"23;21\\":{\\"x\\":23,\\"y\\":18.186533479473212},\\"24;21\\":{\\"x\\":24,\\"y\\":18.186533479473212},\\"25;21\\":{\\"x\\":25,\\"y\\":18.186533479473212},\\"26;21\\":{\\"x\\":26,\\"y\\":18.186533479473212},\\"27;21\\":{\\"x\\":27,\\"y\\":18.186533479473212},\\"28;21\\":{\\"x\\":28,\\"y\\":18.186533479473212},\\"29;21\\":{\\"x\\":29,\\"y\\":18.186533479473212},\\"30;21\\":{\\"x\\":30,\\"y\\":18.186533479473212},\\"50;21\\":{\\"x\\":50,\\"y\\":18.186533479473212},\\"51;21\\":{\\"x\\":51,\\"y\\":18.186533479473212},\\"52;21\\":{\\"x\\":52,\\"y\\":18.186533479473212},\\"59;21\\":{\\"x\\":59,\\"y\\":18.186533479473212},\\"61;21\\":{\\"x\\":61,\\"y\\":18.186533479473212},\\"62;21\\":{\\"x\\":62,\\"y\\":18.186533479473212},\\"63;21\\":{\\"x\\":63,\\"y\\":18.186533479473212},\\"64;21\\":{\\"x\\":64,\\"y\\":18.186533479473212},\\"65;21\\":{\\"x\\":65,\\"y\\":18.186533479473212},\\"66;21\\":{\\"x\\":66,\\"y\\":18.186533479473212},\\"67;21\\":{\\"x\\":67,\\"y\\":18.186533479473212},\\"69;21\\":{\\"x\\":69,\\"y\\":18.186533479473212},\\"70;21\\":{\\"x\\":70,\\"y\\":18.186533479473212},\\"71;21\\":{\\"x\\":71,\\"y\\":18.186533479473212},\\"72;21\\":{\\"x\\":72,\\"y\\":18.186533479473212},\\"73;21\\":{\\"x\\":73,\\"y\\":18.186533479473212},\\"74;21\\":{\\"x\\":74,\\"y\\":18.186533479473212},\\"75;21\\":{\\"x\\":75,\\"y\\":18.186533479473212},\\"76;21\\":{\\"x\\":76,\\"y\\":18.186533479473212},\\"77;21\\":{\\"x\\":77,\\"y\\":18.186533479473212},\\"78;21\\":{\\"x\\":78,\\"y\\":18.186533479473212},\\"79;21\\":{\\"x\\":79,\\"y\\":18.186533479473212},\\"80;21\\":{\\"x\\":80,\\"y\\":18.186533479473212},\\"81;21\\":{\\"x\\":81,\\"y\\":18.186533479473212},\\"82;21\\":{\\"x\\":82,\\"y\\":18.186533479473212},\\"83;21\\":{\\"x\\":83,\\"y\\":18.186533479473212},\\"84;21\\":{\\"x\\":84,\\"y\\":18.186533479473212},\\"85;21\\":{\\"x\\":85,\\"y\\":18.186533479473212},\\"86;21\\":{\\"x\\":86,\\"y\\":18.186533479473212},\\"87;21\\":{\\"x\\":87,\\"y\\":18.186533479473212},\\"88;21\\":{\\"x\\":88,\\"y\\":18.186533479473212},\\"90;21\\":{\\"x\\":90,\\"y\\":18.186533479473212},\\"17;22\\":{\\"x\\":17.5,\\"y\\":19.05255888325765},\\"18;22\\":{\\"x\\":18.5,\\"y\\":19.05255888325765},\\"19;22\\":{\\"x\\":19.5,\\"y\\":19.05255888325765},\\"20;22\\":{\\"x\\":20.5,\\"y\\":19.05255888325765},\\"21;22\\":{\\"x\\":21.5,\\"y\\":19.05255888325765},\\"22;22\\":{\\"x\\":22.5,\\"y\\":19.05255888325765},\\"23;22\\":{\\"x\\":23.5,\\"y\\":19.05255888325765},\\"24;22\\":{\\"x\\":24.5,\\"y\\":19.05255888325765},\\"25;22\\":{\\"x\\":25.5,\\"y\\":19.05255888325765},\\"26;22\\":{\\"x\\":26.5,\\"y\\":19.05255888325765},\\"27;22\\":{\\"x\\":27.5,\\"y\\":19.05255888325765},\\"28;22\\":{\\"x\\":28.5,\\"y\\":19.05255888325765},\\"29;22\\":{\\"x\\":29.5,\\"y\\":19.05255888325765},\\"51;22\\":{\\"x\\":51.5,\\"y\\":19.05255888325765},\\"52;22\\":{\\"x\\":52.5,\\"y\\":19.05255888325765},\\"53;22\\":{\\"x\\":53.5,\\"y\\":19.05255888325765},\\"54;22\\":{\\"x\\":54.5,\\"y\\":19.05255888325765},\\"55;22\\":{\\"x\\":55.5,\\"y\\":19.05255888325765},\\"63;22\\":{\\"x\\":63.5,\\"y\\":19.05255888325765},\\"64;22\\":{\\"x\\":64.5,\\"y\\":19.05255888325765},\\"65;22\\":{\\"x\\":65.5,\\"y\\":19.05255888325765},\\"66;22\\":{\\"x\\":66.5,\\"y\\":19.05255888325765},\\"67;22\\":{\\"x\\":67.5,\\"y\\":19.05255888325765},\\"68;22\\":{\\"x\\":68.5,\\"y\\":19.05255888325765},\\"69;22\\":{\\"x\\":69.5,\\"y\\":19.05255888325765},\\"70;22\\":{\\"x\\":70.5,\\"y\\":19.05255888325765},\\"71;22\\":{\\"x\\":71.5,\\"y\\":19.05255888325765},\\"72;22\\":{\\"x\\":72.5,\\"y\\":19.05255888325765},\\"73;22\\":{\\"x\\":73.5,\\"y\\":19.05255888325765},\\"74;22\\":{\\"x\\":74.5,\\"y\\":19.05255888325765},\\"75;22\\":{\\"x\\":75.5,\\"y\\":19.05255888325765},\\"76;22\\":{\\"x\\":76.5,\\"y\\":19.05255888325765},\\"77;22\\":{\\"x\\":77.5,\\"y\\":19.05255888325765},\\"78;22\\":{\\"x\\":78.5,\\"y\\":19.05255888325765},\\"79;22\\":{\\"x\\":79.5,\\"y\\":19.05255888325765},\\"80;22\\":{\\"x\\":80.5,\\"y\\":19.05255888325765},\\"81;22\\":{\\"x\\":81.5,\\"y\\":19.05255888325765},\\"82;22\\":{\\"x\\":82.5,\\"y\\":19.05255888325765},\\"83;22\\":{\\"x\\":83.5,\\"y\\":19.05255888325765},\\"84;22\\":{\\"x\\":84.5,\\"y\\":19.05255888325765},\\"85;22\\":{\\"x\\":85.5,\\"y\\":19.05255888325765},\\"86;22\\":{\\"x\\":86.5,\\"y\\":19.05255888325765},\\"91;22\\":{\\"x\\":91.5,\\"y\\":19.05255888325765},\\"92;22\\":{\\"x\\":92.5,\\"y\\":19.05255888325765},\\"93;22\\":{\\"x\\":93.5,\\"y\\":19.05255888325765},\\"19;23\\":{\\"x\\":19,\\"y\\":19.918584287042087},\\"20;23\\":{\\"x\\":20,\\"y\\":19.918584287042087},\\"21;23\\":{\\"x\\":21,\\"y\\":19.918584287042087},\\"22;23\\":{\\"x\\":22,\\"y\\":19.918584287042087},\\"23;23\\":{\\"x\\":23,\\"y\\":19.918584287042087},\\"24;23\\":{\\"x\\":24,\\"y\\":19.918584287042087},\\"25;23\\":{\\"x\\":25,\\"y\\":19.918584287042087},\\"26;23\\":{\\"x\\":26,\\"y\\":19.918584287042087},\\"27;23\\":{\\"x\\":27,\\"y\\":19.918584287042087},\\"28;23\\":{\\"x\\":28,\\"y\\":19.918584287042087},\\"29;23\\":{\\"x\\":29,\\"y\\":19.918584287042087},\\"50;23\\":{\\"x\\":50,\\"y\\":19.918584287042087},\\"51;23\\":{\\"x\\":51,\\"y\\":19.918584287042087},\\"52;23\\":{\\"x\\":52,\\"y\\":19.918584287042087},\\"53;23\\":{\\"x\\":53,\\"y\\":19.918584287042087},\\"54;23\\":{\\"x\\":54,\\"y\\":19.918584287042087},\\"55;23\\":{\\"x\\":55,\\"y\\":19.918584287042087},\\"56;23\\":{\\"x\\":56,\\"y\\":19.918584287042087},\\"59;23\\":{\\"x\\":59,\\"y\\":19.918584287042087},\\"63;23\\":{\\"x\\":63,\\"y\\":19.918584287042087},\\"64;23\\":{\\"x\\":64,\\"y\\":19.918584287042087},\\"65;23\\":{\\"x\\":65,\\"y\\":19.918584287042087},\\"66;23\\":{\\"x\\":66,\\"y\\":19.918584287042087},\\"67;23\\":{\\"x\\":67,\\"y\\":19.918584287042087},\\"68;23\\":{\\"x\\":68,\\"y\\":19.918584287042087},\\"69;23\\":{\\"x\\":69,\\"y\\":19.918584287042087},\\"70;23\\":{\\"x\\":70,\\"y\\":19.918584287042087},\\"71;23\\":{\\"x\\":71,\\"y\\":19.918584287042087},\\"72;23\\":{\\"x\\":72,\\"y\\":19.918584287042087},\\"73;23\\":{\\"x\\":73,\\"y\\":19.918584287042087},\\"74;23\\":{\\"x\\":74,\\"y\\":19.918584287042087},\\"75;23\\":{\\"x\\":75,\\"y\\":19.918584287042087},\\"76;23\\":{\\"x\\":76,\\"y\\":19.918584287042087},\\"77;23\\":{\\"x\\":77,\\"y\\":19.918584287042087},\\"78;23\\":{\\"x\\":78,\\"y\\":19.918584287042087},\\"79;23\\":{\\"x\\":79,\\"y\\":19.918584287042087},\\"80;23\\":{\\"x\\":80,\\"y\\":19.918584287042087},\\"81;23\\":{\\"x\\":81,\\"y\\":19.918584287042087},\\"82;23\\":{\\"x\\":82,\\"y\\":19.918584287042087},\\"83;23\\":{\\"x\\":83,\\"y\\":19.918584287042087},\\"84;23\\":{\\"x\\":84,\\"y\\":19.918584287042087},\\"85;23\\":{\\"x\\":85,\\"y\\":19.918584287042087},\\"86;23\\":{\\"x\\":86,\\"y\\":19.918584287042087},\\"87;23\\":{\\"x\\":87,\\"y\\":19.918584287042087},\\"88;23\\":{\\"x\\":88,\\"y\\":19.918584287042087},\\"91;23\\":{\\"x\\":91,\\"y\\":19.918584287042087},\\"19;24\\":{\\"x\\":19.5,\\"y\\":20.784609690826528},\\"20;24\\":{\\"x\\":20.5,\\"y\\":20.784609690826528},\\"21;24\\":{\\"x\\":21.5,\\"y\\":20.784609690826528},\\"22;24\\":{\\"x\\":22.5,\\"y\\":20.784609690826528},\\"23;24\\":{\\"x\\":23.5,\\"y\\":20.784609690826528},\\"24;24\\":{\\"x\\":24.5,\\"y\\":20.784609690826528},\\"25;24\\":{\\"x\\":25.5,\\"y\\":20.784609690826528},\\"27;24\\":{\\"x\\":27.5,\\"y\\":20.784609690826528},\\"28;24\\":{\\"x\\":28.5,\\"y\\":20.784609690826528},\\"50;24\\":{\\"x\\":50.5,\\"y\\":20.784609690826528},\\"51;24\\":{\\"x\\":51.5,\\"y\\":20.784609690826528},\\"52;24\\":{\\"x\\":52.5,\\"y\\":20.784609690826528},\\"53;24\\":{\\"x\\":53.5,\\"y\\":20.784609690826528},\\"54;24\\":{\\"x\\":54.5,\\"y\\":20.784609690826528},\\"55;24\\":{\\"x\\":55.5,\\"y\\":20.784609690826528},\\"56;24\\":{\\"x\\":56.5,\\"y\\":20.784609690826528},\\"57;24\\":{\\"x\\":57.5,\\"y\\":20.784609690826528},\\"58;24\\":{\\"x\\":58.5,\\"y\\":20.784609690826528},\\"59;24\\":{\\"x\\":59.5,\\"y\\":20.784609690826528},\\"60;24\\":{\\"x\\":60.5,\\"y\\":20.784609690826528},\\"61;24\\":{\\"x\\":61.5,\\"y\\":20.784609690826528},\\"62;24\\":{\\"x\\":62.5,\\"y\\":20.784609690826528},\\"63;24\\":{\\"x\\":63.5,\\"y\\":20.784609690826528},\\"64;24\\":{\\"x\\":64.5,\\"y\\":20.784609690826528},\\"65;24\\":{\\"x\\":65.5,\\"y\\":20.784609690826528},\\"66;24\\":{\\"x\\":66.5,\\"y\\":20.784609690826528},\\"67;24\\":{\\"x\\":67.5,\\"y\\":20.784609690826528},\\"68;24\\":{\\"x\\":68.5,\\"y\\":20.784609690826528},\\"69;24\\":{\\"x\\":69.5,\\"y\\":20.784609690826528},\\"70;24\\":{\\"x\\":70.5,\\"y\\":20.784609690826528},\\"71;24\\":{\\"x\\":71.5,\\"y\\":20.784609690826528},\\"72;24\\":{\\"x\\":72.5,\\"y\\":20.784609690826528},\\"73;24\\":{\\"x\\":73.5,\\"y\\":20.784609690826528},\\"74;24\\":{\\"x\\":74.5,\\"y\\":20.784609690826528},\\"75;24\\":{\\"x\\":75.5,\\"y\\":20.784609690826528},\\"76;24\\":{\\"x\\":76.5,\\"y\\":20.784609690826528},\\"77;24\\":{\\"x\\":77.5,\\"y\\":20.784609690826528},\\"78;24\\":{\\"x\\":78.5,\\"y\\":20.784609690826528},\\"79;24\\":{\\"x\\":79.5,\\"y\\":20.784609690826528},\\"80;24\\":{\\"x\\":80.5,\\"y\\":20.784609690826528},\\"81;24\\":{\\"x\\":81.5,\\"y\\":20.784609690826528},\\"82;24\\":{\\"x\\":82.5,\\"y\\":20.784609690826528},\\"83;24\\":{\\"x\\":83.5,\\"y\\":20.784609690826528},\\"84;24\\":{\\"x\\":84.5,\\"y\\":20.784609690826528},\\"85;24\\":{\\"x\\":85.5,\\"y\\":20.784609690826528},\\"86;24\\":{\\"x\\":86.5,\\"y\\":20.784609690826528},\\"87;24\\":{\\"x\\":87.5,\\"y\\":20.784609690826528},\\"19;25\\":{\\"x\\":19,\\"y\\":21.650635094610966},\\"21;25\\":{\\"x\\":21,\\"y\\":21.650635094610966},\\"22;25\\":{\\"x\\":22,\\"y\\":21.650635094610966},\\"23;25\\":{\\"x\\":23,\\"y\\":21.650635094610966},\\"49;25\\":{\\"x\\":49,\\"y\\":21.650635094610966},\\"50;25\\":{\\"x\\":50,\\"y\\":21.650635094610966},\\"51;25\\":{\\"x\\":51,\\"y\\":21.650635094610966},\\"52;25\\":{\\"x\\":52,\\"y\\":21.650635094610966},\\"53;25\\":{\\"x\\":53,\\"y\\":21.650635094610966},\\"54;25\\":{\\"x\\":54,\\"y\\":21.650635094610966},\\"55;25\\":{\\"x\\":55,\\"y\\":21.650635094610966},\\"56;25\\":{\\"x\\":56,\\"y\\":21.650635094610966},\\"57;25\\":{\\"x\\":57,\\"y\\":21.650635094610966},\\"58;25\\":{\\"x\\":58,\\"y\\":21.650635094610966},\\"59;25\\":{\\"x\\":59,\\"y\\":21.650635094610966},\\"60;25\\":{\\"x\\":60,\\"y\\":21.650635094610966},\\"61;25\\":{\\"x\\":61,\\"y\\":21.650635094610966},\\"62;25\\":{\\"x\\":62,\\"y\\":21.650635094610966},\\"63;25\\":{\\"x\\":63,\\"y\\":21.650635094610966},\\"64;25\\":{\\"x\\":64,\\"y\\":21.650635094610966},\\"65;25\\":{\\"x\\":65,\\"y\\":21.650635094610966},\\"66;25\\":{\\"x\\":66,\\"y\\":21.650635094610966},\\"68;25\\":{\\"x\\":68,\\"y\\":21.650635094610966},\\"69;25\\":{\\"x\\":69,\\"y\\":21.650635094610966},\\"70;25\\":{\\"x\\":70,\\"y\\":21.650635094610966},\\"71;25\\":{\\"x\\":71,\\"y\\":21.650635094610966},\\"72;25\\":{\\"x\\":72,\\"y\\":21.650635094610966},\\"73;25\\":{\\"x\\":73,\\"y\\":21.650635094610966},\\"74;25\\":{\\"x\\":74,\\"y\\":21.650635094610966},\\"75;25\\":{\\"x\\":75,\\"y\\":21.650635094610966},\\"76;25\\":{\\"x\\":76,\\"y\\":21.650635094610966},\\"77;25\\":{\\"x\\":77,\\"y\\":21.650635094610966},\\"78;25\\":{\\"x\\":78,\\"y\\":21.650635094610966},\\"79;25\\":{\\"x\\":79,\\"y\\":21.650635094610966},\\"80;25\\":{\\"x\\":80,\\"y\\":21.650635094610966},\\"81;25\\":{\\"x\\":81,\\"y\\":21.650635094610966},\\"82;25\\":{\\"x\\":82,\\"y\\":21.650635094610966},\\"83;25\\":{\\"x\\":83,\\"y\\":21.650635094610966},\\"84;25\\":{\\"x\\":84,\\"y\\":21.650635094610966},\\"85;25\\":{\\"x\\":85,\\"y\\":21.650635094610966},\\"86;25\\":{\\"x\\":86,\\"y\\":21.650635094610966},\\"87;25\\":{\\"x\\":87,\\"y\\":21.650635094610966},\\"21;26\\":{\\"x\\":21.5,\\"y\\":22.516660498395403},\\"22;26\\":{\\"x\\":22.5,\\"y\\":22.516660498395403},\\"23;26\\":{\\"x\\":23.5,\\"y\\":22.516660498395403},\\"48;26\\":{\\"x\\":48.5,\\"y\\":22.516660498395403},\\"49;26\\":{\\"x\\":49.5,\\"y\\":22.516660498395403},\\"50;26\\":{\\"x\\":50.5,\\"y\\":22.516660498395403},\\"51;26\\":{\\"x\\":51.5,\\"y\\":22.516660498395403},\\"52;26\\":{\\"x\\":52.5,\\"y\\":22.516660498395403},\\"53;26\\":{\\"x\\":53.5,\\"y\\":22.516660498395403},\\"54;26\\":{\\"x\\":54.5,\\"y\\":22.516660498395403},\\"55;26\\":{\\"x\\":55.5,\\"y\\":22.516660498395403},\\"56;26\\":{\\"x\\":56.5,\\"y\\":22.516660498395403},\\"57;26\\":{\\"x\\":57.5,\\"y\\":22.516660498395403},\\"58;26\\":{\\"x\\":58.5,\\"y\\":22.516660498395403},\\"59;26\\":{\\"x\\":59.5,\\"y\\":22.516660498395403},\\"60;26\\":{\\"x\\":60.5,\\"y\\":22.516660498395403},\\"61;26\\":{\\"x\\":61.5,\\"y\\":22.516660498395403},\\"62;26\\":{\\"x\\":62.5,\\"y\\":22.516660498395403},\\"63;26\\":{\\"x\\":63.5,\\"y\\":22.516660498395403},\\"64;26\\":{\\"x\\":64.5,\\"y\\":22.516660498395403},\\"65;26\\":{\\"x\\":65.5,\\"y\\":22.516660498395403},\\"66;26\\":{\\"x\\":66.5,\\"y\\":22.516660498395403},\\"67;26\\":{\\"x\\":67.5,\\"y\\":22.516660498395403},\\"72;26\\":{\\"x\\":72.5,\\"y\\":22.516660498395403},\\"73;26\\":{\\"x\\":73.5,\\"y\\":22.516660498395403},\\"74;26\\":{\\"x\\":74.5,\\"y\\":22.516660498395403},\\"75;26\\":{\\"x\\":75.5,\\"y\\":22.516660498395403},\\"76;26\\":{\\"x\\":76.5,\\"y\\":22.516660498395403},\\"77;26\\":{\\"x\\":77.5,\\"y\\":22.516660498395403},\\"78;26\\":{\\"x\\":78.5,\\"y\\":22.516660498395403},\\"79;26\\":{\\"x\\":79.5,\\"y\\":22.516660498395403},\\"80;26\\":{\\"x\\":80.5,\\"y\\":22.516660498395403},\\"81;26\\":{\\"x\\":81.5,\\"y\\":22.516660498395403},\\"82;26\\":{\\"x\\":82.5,\\"y\\":22.516660498395403},\\"83;26\\":{\\"x\\":83.5,\\"y\\":22.516660498395403},\\"84;26\\":{\\"x\\":84.5,\\"y\\":22.516660498395403},\\"85;26\\":{\\"x\\":85.5,\\"y\\":22.516660498395403},\\"86;26\\":{\\"x\\":86.5,\\"y\\":22.516660498395403},\\"22;27\\":{\\"x\\":22,\\"y\\":23.38268590217984},\\"23;27\\":{\\"x\\":23,\\"y\\":23.38268590217984},\\"28;27\\":{\\"x\\":28,\\"y\\":23.38268590217984},\\"29;27\\":{\\"x\\":29,\\"y\\":23.38268590217984},\\"48;27\\":{\\"x\\":48,\\"y\\":23.38268590217984},\\"49;27\\":{\\"x\\":49,\\"y\\":23.38268590217984},\\"50;27\\":{\\"x\\":50,\\"y\\":23.38268590217984},\\"51;27\\":{\\"x\\":51,\\"y\\":23.38268590217984},\\"52;27\\":{\\"x\\":52,\\"y\\":23.38268590217984},\\"53;27\\":{\\"x\\":53,\\"y\\":23.38268590217984},\\"54;27\\":{\\"x\\":54,\\"y\\":23.38268590217984},\\"55;27\\":{\\"x\\":55,\\"y\\":23.38268590217984},\\"56;27\\":{\\"x\\":56,\\"y\\":23.38268590217984},\\"57;27\\":{\\"x\\":57,\\"y\\":23.38268590217984},\\"58;27\\":{\\"x\\":58,\\"y\\":23.38268590217984},\\"59;27\\":{\\"x\\":59,\\"y\\":23.38268590217984},\\"60;27\\":{\\"x\\":60,\\"y\\":23.38268590217984},\\"61;27\\":{\\"x\\":61,\\"y\\":23.38268590217984},\\"62;27\\":{\\"x\\":62,\\"y\\":23.38268590217984},\\"63;27\\":{\\"x\\":63,\\"y\\":23.38268590217984},\\"64;27\\":{\\"x\\":64,\\"y\\":23.38268590217984},\\"65;27\\":{\\"x\\":65,\\"y\\":23.38268590217984},\\"66;27\\":{\\"x\\":66,\\"y\\":23.38268590217984},\\"67;27\\":{\\"x\\":67,\\"y\\":23.38268590217984},\\"68;27\\":{\\"x\\":68,\\"y\\":23.38268590217984},\\"69;27\\":{\\"x\\":69,\\"y\\":23.38268590217984},\\"70;27\\":{\\"x\\":70,\\"y\\":23.38268590217984},\\"73;27\\":{\\"x\\":73,\\"y\\":23.38268590217984},\\"74;27\\":{\\"x\\":74,\\"y\\":23.38268590217984},\\"75;27\\":{\\"x\\":75,\\"y\\":23.38268590217984},\\"76;27\\":{\\"x\\":76,\\"y\\":23.38268590217984},\\"77;27\\":{\\"x\\":77,\\"y\\":23.38268590217984},\\"78;27\\":{\\"x\\":78,\\"y\\":23.38268590217984},\\"79;27\\":{\\"x\\":79,\\"y\\":23.38268590217984},\\"80;27\\":{\\"x\\":80,\\"y\\":23.38268590217984},\\"81;27\\":{\\"x\\":81,\\"y\\":23.38268590217984},\\"82;27\\":{\\"x\\":82,\\"y\\":23.38268590217984},\\"83;27\\":{\\"x\\":83,\\"y\\":23.38268590217984},\\"84;27\\":{\\"x\\":84,\\"y\\":23.38268590217984},\\"85;27\\":{\\"x\\":85,\\"y\\":23.38268590217984},\\"22;28\\":{\\"x\\":22.5,\\"y\\":24.24871130596428},\\"23;28\\":{\\"x\\":23.5,\\"y\\":24.24871130596428},\\"26;28\\":{\\"x\\":26.5,\\"y\\":24.24871130596428},\\"31;28\\":{\\"x\\":31.5,\\"y\\":24.24871130596428},\\"48;28\\":{\\"x\\":48.5,\\"y\\":24.24871130596428},\\"49;28\\":{\\"x\\":49.5,\\"y\\":24.24871130596428},\\"50;28\\":{\\"x\\":50.5,\\"y\\":24.24871130596428},\\"51;28\\":{\\"x\\":51.5,\\"y\\":24.24871130596428},\\"52;28\\":{\\"x\\":52.5,\\"y\\":24.24871130596428},\\"53;28\\":{\\"x\\":53.5,\\"y\\":24.24871130596428},\\"54;28\\":{\\"x\\":54.5,\\"y\\":24.24871130596428},\\"55;28\\":{\\"x\\":55.5,\\"y\\":24.24871130596428},\\"56;28\\":{\\"x\\":56.5,\\"y\\":24.24871130596428},\\"57;28\\":{\\"x\\":57.5,\\"y\\":24.24871130596428},\\"58;28\\":{\\"x\\":58.5,\\"y\\":24.24871130596428},\\"59;28\\":{\\"x\\":59.5,\\"y\\":24.24871130596428},\\"60;28\\":{\\"x\\":60.5,\\"y\\":24.24871130596428},\\"61;28\\":{\\"x\\":61.5,\\"y\\":24.24871130596428},\\"62;28\\":{\\"x\\":62.5,\\"y\\":24.24871130596428},\\"65;28\\":{\\"x\\":65.5,\\"y\\":24.24871130596428},\\"66;28\\":{\\"x\\":66.5,\\"y\\":24.24871130596428},\\"67;28\\":{\\"x\\":67.5,\\"y\\":24.24871130596428},\\"68;28\\":{\\"x\\":68.5,\\"y\\":24.24871130596428},\\"74;28\\":{\\"x\\":74.5,\\"y\\":24.24871130596428},\\"75;28\\":{\\"x\\":75.5,\\"y\\":24.24871130596428},\\"76;28\\":{\\"x\\":76.5,\\"y\\":24.24871130596428},\\"80;28\\":{\\"x\\":80.5,\\"y\\":24.24871130596428},\\"81;28\\":{\\"x\\":81.5,\\"y\\":24.24871130596428},\\"82;28\\":{\\"x\\":82.5,\\"y\\":24.24871130596428},\\"83;28\\":{\\"x\\":83.5,\\"y\\":24.24871130596428},\\"84;28\\":{\\"x\\":84.5,\\"y\\":24.24871130596428},\\"24;29\\":{\\"x\\":24,\\"y\\":25.11473670974872},\\"25;29\\":{\\"x\\":25,\\"y\\":25.11473670974872},\\"26;29\\":{\\"x\\":26,\\"y\\":25.11473670974872},\\"48;29\\":{\\"x\\":48,\\"y\\":25.11473670974872},\\"49;29\\":{\\"x\\":49,\\"y\\":25.11473670974872},\\"50;29\\":{\\"x\\":50,\\"y\\":25.11473670974872},\\"51;29\\":{\\"x\\":51,\\"y\\":25.11473670974872},\\"52;29\\":{\\"x\\":52,\\"y\\":25.11473670974872},\\"53;29\\":{\\"x\\":53,\\"y\\":25.11473670974872},\\"54;29\\":{\\"x\\":54,\\"y\\":25.11473670974872},\\"55;29\\":{\\"x\\":55,\\"y\\":25.11473670974872},\\"56;29\\":{\\"x\\":56,\\"y\\":25.11473670974872},\\"57;29\\":{\\"x\\":57,\\"y\\":25.11473670974872},\\"58;29\\":{\\"x\\":58,\\"y\\":25.11473670974872},\\"59;29\\":{\\"x\\":59,\\"y\\":25.11473670974872},\\"60;29\\":{\\"x\\":60,\\"y\\":25.11473670974872},\\"61;29\\":{\\"x\\":61,\\"y\\":25.11473670974872},\\"62;29\\":{\\"x\\":62,\\"y\\":25.11473670974872},\\"63;29\\":{\\"x\\":63,\\"y\\":25.11473670974872},\\"66;29\\":{\\"x\\":66,\\"y\\":25.11473670974872},\\"67;29\\":{\\"x\\":67,\\"y\\":25.11473670974872},\\"68;29\\":{\\"x\\":68,\\"y\\":25.11473670974872},\\"75;29\\":{\\"x\\":75,\\"y\\":25.11473670974872},\\"76;29\\":{\\"x\\":76,\\"y\\":25.11473670974872},\\"82;29\\":{\\"x\\":82,\\"y\\":25.11473670974872},\\"83;29\\":{\\"x\\":83,\\"y\\":25.11473670974872},\\"84;29\\":{\\"x\\":84,\\"y\\":25.11473670974872},\\"88;29\\":{\\"x\\":88,\\"y\\":25.11473670974872},\\"26;30\\":{\\"x\\":26.5,\\"y\\":25.980762113533157},\\"27;30\\":{\\"x\\":27.5,\\"y\\":25.980762113533157},\\"48;30\\":{\\"x\\":48.5,\\"y\\":25.980762113533157},\\"49;30\\":{\\"x\\":49.5,\\"y\\":25.980762113533157},\\"50;30\\":{\\"x\\":50.5,\\"y\\":25.980762113533157},\\"51;30\\":{\\"x\\":51.5,\\"y\\":25.980762113533157},\\"52;30\\":{\\"x\\":52.5,\\"y\\":25.980762113533157},\\"53;30\\":{\\"x\\":53.5,\\"y\\":25.980762113533157},\\"54;30\\":{\\"x\\":54.5,\\"y\\":25.980762113533157},\\"55;30\\":{\\"x\\":55.5,\\"y\\":25.980762113533157},\\"56;30\\":{\\"x\\":56.5,\\"y\\":25.980762113533157},\\"57;30\\":{\\"x\\":57.5,\\"y\\":25.980762113533157},\\"58;30\\":{\\"x\\":58.5,\\"y\\":25.980762113533157},\\"59;30\\":{\\"x\\":59.5,\\"y\\":25.980762113533157},\\"60;30\\":{\\"x\\":60.5,\\"y\\":25.980762113533157},\\"61;30\\":{\\"x\\":61.5,\\"y\\":25.980762113533157},\\"62;30\\":{\\"x\\":62.5,\\"y\\":25.980762113533157},\\"63;30\\":{\\"x\\":63.5,\\"y\\":25.980762113533157},\\"64;30\\":{\\"x\\":64.5,\\"y\\":25.980762113533157},\\"65;30\\":{\\"x\\":65.5,\\"y\\":25.980762113533157},\\"74;30\\":{\\"x\\":74.5,\\"y\\":25.980762113533157},\\"75;30\\":{\\"x\\":75.5,\\"y\\":25.980762113533157},\\"81;30\\":{\\"x\\":81.5,\\"y\\":25.980762113533157},\\"82;30\\":{\\"x\\":82.5,\\"y\\":25.980762113533157},\\"83;30\\":{\\"x\\":83.5,\\"y\\":25.980762113533157},\\"84;30\\":{\\"x\\":84.5,\\"y\\":25.980762113533157},\\"88;30\\":{\\"x\\":88.5,\\"y\\":25.980762113533157},\\"31;31\\":{\\"x\\":31,\\"y\\":26.846787517317598},\\"32;31\\":{\\"x\\":32,\\"y\\":26.846787517317598},\\"49;31\\":{\\"x\\":49,\\"y\\":26.846787517317598},\\"50;31\\":{\\"x\\":50,\\"y\\":26.846787517317598},\\"51;31\\":{\\"x\\":51,\\"y\\":26.846787517317598},\\"52;31\\":{\\"x\\":52,\\"y\\":26.846787517317598},\\"53;31\\":{\\"x\\":53,\\"y\\":26.846787517317598},\\"54;31\\":{\\"x\\":54,\\"y\\":26.846787517317598},\\"55;31\\":{\\"x\\":55,\\"y\\":26.846787517317598},\\"56;31\\":{\\"x\\":56,\\"y\\":26.846787517317598},\\"57;31\\":{\\"x\\":57,\\"y\\":26.846787517317598},\\"58;31\\":{\\"x\\":58,\\"y\\":26.846787517317598},\\"59;31\\":{\\"x\\":59,\\"y\\":26.846787517317598},\\"60;31\\":{\\"x\\":60,\\"y\\":26.846787517317598},\\"61;31\\":{\\"x\\":61,\\"y\\":26.846787517317598},\\"62;31\\":{\\"x\\":62,\\"y\\":26.846787517317598},\\"63;31\\":{\\"x\\":63,\\"y\\":26.846787517317598},\\"64;31\\":{\\"x\\":64,\\"y\\":26.846787517317598},\\"65;31\\":{\\"x\\":65,\\"y\\":26.846787517317598},\\"67;31\\":{\\"x\\":67,\\"y\\":26.846787517317598},\\"75;31\\":{\\"x\\":75,\\"y\\":26.846787517317598},\\"83;31\\":{\\"x\\":83,\\"y\\":26.846787517317598},\\"84;31\\":{\\"x\\":84,\\"y\\":26.846787517317598},\\"30;32\\":{\\"x\\":30.5,\\"y\\":27.712812921102035},\\"31;32\\":{\\"x\\":31.5,\\"y\\":27.712812921102035},\\"32;32\\":{\\"x\\":32.5,\\"y\\":27.712812921102035},\\"33;32\\":{\\"x\\":33.5,\\"y\\":27.712812921102035},\\"34;32\\":{\\"x\\":34.5,\\"y\\":27.712812921102035},\\"49;32\\":{\\"x\\":49.5,\\"y\\":27.712812921102035},\\"50;32\\":{\\"x\\":50.5,\\"y\\":27.712812921102035},\\"51;32\\":{\\"x\\":51.5,\\"y\\":27.712812921102035},\\"52;32\\":{\\"x\\":52.5,\\"y\\":27.712812921102035},\\"53;32\\":{\\"x\\":53.5,\\"y\\":27.712812921102035},\\"54;32\\":{\\"x\\":54.5,\\"y\\":27.712812921102035},\\"55;32\\":{\\"x\\":55.5,\\"y\\":27.712812921102035},\\"56;32\\":{\\"x\\":56.5,\\"y\\":27.712812921102035},\\"57;32\\":{\\"x\\":57.5,\\"y\\":27.712812921102035},\\"58;32\\":{\\"x\\":58.5,\\"y\\":27.712812921102035},\\"59;32\\":{\\"x\\":59.5,\\"y\\":27.712812921102035},\\"60;32\\":{\\"x\\":60.5,\\"y\\":27.712812921102035},\\"61;32\\":{\\"x\\":61.5,\\"y\\":27.712812921102035},\\"62;32\\":{\\"x\\":62.5,\\"y\\":27.712812921102035},\\"63;32\\":{\\"x\\":63.5,\\"y\\":27.712812921102035},\\"64;32\\":{\\"x\\":64.5,\\"y\\":27.712812921102035},\\"65;32\\":{\\"x\\":65.5,\\"y\\":27.712812921102035},\\"66;32\\":{\\"x\\":66.5,\\"y\\":27.712812921102035},\\"88;32\\":{\\"x\\":88.5,\\"y\\":27.712812921102035},\\"89;32\\":{\\"x\\":89.5,\\"y\\":27.712812921102035},\\"30;33\\":{\\"x\\":30,\\"y\\":28.578838324886473},\\"31;33\\":{\\"x\\":31,\\"y\\":28.578838324886473},\\"32;33\\":{\\"x\\":32,\\"y\\":28.578838324886473},\\"33;33\\":{\\"x\\":33,\\"y\\":28.578838324886473},\\"34;33\\":{\\"x\\":34,\\"y\\":28.578838324886473},\\"35;33\\":{\\"x\\":35,\\"y\\":28.578838324886473},\\"36;33\\":{\\"x\\":36,\\"y\\":28.578838324886473},\\"37;33\\":{\\"x\\":37,\\"y\\":28.578838324886473},\\"50;33\\":{\\"x\\":50,\\"y\\":28.578838324886473},\\"52;33\\":{\\"x\\":52,\\"y\\":28.578838324886473},\\"55;33\\":{\\"x\\":55,\\"y\\":28.578838324886473},\\"56;33\\":{\\"x\\":56,\\"y\\":28.578838324886473},\\"57;33\\":{\\"x\\":57,\\"y\\":28.578838324886473},\\"58;33\\":{\\"x\\":58,\\"y\\":28.578838324886473},\\"59;33\\":{\\"x\\":59,\\"y\\":28.578838324886473},\\"60;33\\":{\\"x\\":60,\\"y\\":28.578838324886473},\\"61;33\\":{\\"x\\":61,\\"y\\":28.578838324886473},\\"62;33\\":{\\"x\\":62,\\"y\\":28.578838324886473},\\"63;33\\":{\\"x\\":63,\\"y\\":28.578838324886473},\\"64;33\\":{\\"x\\":64,\\"y\\":28.578838324886473},\\"65;33\\":{\\"x\\":65,\\"y\\":28.578838324886473},\\"66;33\\":{\\"x\\":66,\\"y\\":28.578838324886473},\\"81;33\\":{\\"x\\":81,\\"y\\":28.578838324886473},\\"82;33\\":{\\"x\\":82,\\"y\\":28.578838324886473},\\"87;33\\":{\\"x\\":87,\\"y\\":28.578838324886473},\\"29;34\\":{\\"x\\":29.5,\\"y\\":29.444863728670914},\\"30;34\\":{\\"x\\":30.5,\\"y\\":29.444863728670914},\\"31;34\\":{\\"x\\":31.5,\\"y\\":29.444863728670914},\\"32;34\\":{\\"x\\":32.5,\\"y\\":29.444863728670914},\\"33;34\\":{\\"x\\":33.5,\\"y\\":29.444863728670914},\\"34;34\\":{\\"x\\":34.5,\\"y\\":29.444863728670914},\\"35;34\\":{\\"x\\":35.5,\\"y\\":29.444863728670914},\\"36;34\\":{\\"x\\":36.5,\\"y\\":29.444863728670914},\\"37;34\\":{\\"x\\":37.5,\\"y\\":29.444863728670914},\\"55;34\\":{\\"x\\":55.5,\\"y\\":29.444863728670914},\\"56;34\\":{\\"x\\":56.5,\\"y\\":29.444863728670914},\\"57;34\\":{\\"x\\":57.5,\\"y\\":29.444863728670914},\\"58;34\\":{\\"x\\":58.5,\\"y\\":29.444863728670914},\\"59;34\\":{\\"x\\":59.5,\\"y\\":29.444863728670914},\\"60;34\\":{\\"x\\":60.5,\\"y\\":29.444863728670914},\\"61;34\\":{\\"x\\":61.5,\\"y\\":29.444863728670914},\\"62;34\\":{\\"x\\":62.5,\\"y\\":29.444863728670914},\\"63;34\\":{\\"x\\":63.5,\\"y\\":29.444863728670914},\\"64;34\\":{\\"x\\":64.5,\\"y\\":29.444863728670914},\\"65;34\\":{\\"x\\":65.5,\\"y\\":29.444863728670914},\\"81;34\\":{\\"x\\":81.5,\\"y\\":29.444863728670914},\\"85;34\\":{\\"x\\":85.5,\\"y\\":29.444863728670914},\\"86;34\\":{\\"x\\":86.5,\\"y\\":29.444863728670914},\\"29;35\\":{\\"x\\":29,\\"y\\":30.31088913245535},\\"30;35\\":{\\"x\\":30,\\"y\\":30.31088913245535},\\"31;35\\":{\\"x\\":31,\\"y\\":30.31088913245535},\\"32;35\\":{\\"x\\":32,\\"y\\":30.31088913245535},\\"33;35\\":{\\"x\\":33,\\"y\\":30.31088913245535},\\"34;35\\":{\\"x\\":34,\\"y\\":30.31088913245535},\\"35;35\\":{\\"x\\":35,\\"y\\":30.31088913245535},\\"36;35\\":{\\"x\\":36,\\"y\\":30.31088913245535},\\"37;35\\":{\\"x\\":37,\\"y\\":30.31088913245535},\\"38;35\\":{\\"x\\":38,\\"y\\":30.31088913245535},\\"56;35\\":{\\"x\\":56,\\"y\\":30.31088913245535},\\"57;35\\":{\\"x\\":57,\\"y\\":30.31088913245535},\\"58;35\\":{\\"x\\":58,\\"y\\":30.31088913245535},\\"59;35\\":{\\"x\\":59,\\"y\\":30.31088913245535},\\"60;35\\":{\\"x\\":60,\\"y\\":30.31088913245535},\\"61;35\\":{\\"x\\":61,\\"y\\":30.31088913245535},\\"62;35\\":{\\"x\\":62,\\"y\\":30.31088913245535},\\"63;35\\":{\\"x\\":63,\\"y\\":30.31088913245535},\\"64;35\\":{\\"x\\":64,\\"y\\":30.31088913245535},\\"82;35\\":{\\"x\\":82,\\"y\\":30.31088913245535},\\"85;35\\":{\\"x\\":85,\\"y\\":30.31088913245535},\\"86;35\\":{\\"x\\":86,\\"y\\":30.31088913245535},\\"91;35\\":{\\"x\\":91,\\"y\\":30.31088913245535},\\"29;36\\":{\\"x\\":29.5,\\"y\\":31.17691453623979},\\"30;36\\":{\\"x\\":30.5,\\"y\\":31.17691453623979},\\"31;36\\":{\\"x\\":31.5,\\"y\\":31.17691453623979},\\"32;36\\":{\\"x\\":32.5,\\"y\\":31.17691453623979},\\"33;36\\":{\\"x\\":33.5,\\"y\\":31.17691453623979},\\"34;36\\":{\\"x\\":34.5,\\"y\\":31.17691453623979},\\"35;36\\":{\\"x\\":35.5,\\"y\\":31.17691453623979},\\"36;36\\":{\\"x\\":36.5,\\"y\\":31.17691453623979},\\"37;36\\":{\\"x\\":37.5,\\"y\\":31.17691453623979},\\"38;36\\":{\\"x\\":38.5,\\"y\\":31.17691453623979},\\"39;36\\":{\\"x\\":39.5,\\"y\\":31.17691453623979},\\"40;36\\":{\\"x\\":40.5,\\"y\\":31.17691453623979},\\"56;36\\":{\\"x\\":56.5,\\"y\\":31.17691453623979},\\"57;36\\":{\\"x\\":57.5,\\"y\\":31.17691453623979},\\"58;36\\":{\\"x\\":58.5,\\"y\\":31.17691453623979},\\"59;36\\":{\\"x\\":59.5,\\"y\\":31.17691453623979},\\"60;36\\":{\\"x\\":60.5,\\"y\\":31.17691453623979},\\"61;36\\":{\\"x\\":61.5,\\"y\\":31.17691453623979},\\"62;36\\":{\\"x\\":62.5,\\"y\\":31.17691453623979},\\"63;36\\":{\\"x\\":63.5,\\"y\\":31.17691453623979},\\"82;36\\":{\\"x\\":82.5,\\"y\\":31.17691453623979},\\"83;36\\":{\\"x\\":83.5,\\"y\\":31.17691453623979},\\"91;36\\":{\\"x\\":91.5,\\"y\\":31.17691453623979},\\"92;36\\":{\\"x\\":92.5,\\"y\\":31.17691453623979},\\"93;36\\":{\\"x\\":93.5,\\"y\\":31.17691453623979},\\"94;36\\":{\\"x\\":94.5,\\"y\\":31.17691453623979},\\"29;37\\":{\\"x\\":29,\\"y\\":32.042939940024226},\\"30;37\\":{\\"x\\":30,\\"y\\":32.042939940024226},\\"31;37\\":{\\"x\\":31,\\"y\\":32.042939940024226},\\"32;37\\":{\\"x\\":32,\\"y\\":32.042939940024226},\\"33;37\\":{\\"x\\":33,\\"y\\":32.042939940024226},\\"34;37\\":{\\"x\\":34,\\"y\\":32.042939940024226},\\"35;37\\":{\\"x\\":35,\\"y\\":32.042939940024226},\\"36;37\\":{\\"x\\":36,\\"y\\":32.042939940024226},\\"37;37\\":{\\"x\\":37,\\"y\\":32.042939940024226},\\"38;37\\":{\\"x\\":38,\\"y\\":32.042939940024226},\\"39;37\\":{\\"x\\":39,\\"y\\":32.042939940024226},\\"40;37\\":{\\"x\\":40,\\"y\\":32.042939940024226},\\"41;37\\":{\\"x\\":41,\\"y\\":32.042939940024226},\\"42;37\\":{\\"x\\":42,\\"y\\":32.042939940024226},\\"57;37\\":{\\"x\\":57,\\"y\\":32.042939940024226},\\"58;37\\":{\\"x\\":58,\\"y\\":32.042939940024226},\\"59;37\\":{\\"x\\":59,\\"y\\":32.042939940024226},\\"60;37\\":{\\"x\\":60,\\"y\\":32.042939940024226},\\"61;37\\":{\\"x\\":61,\\"y\\":32.042939940024226},\\"62;37\\":{\\"x\\":62,\\"y\\":32.042939940024226},\\"63;37\\":{\\"x\\":63,\\"y\\":32.042939940024226},\\"64;37\\":{\\"x\\":64,\\"y\\":32.042939940024226},\\"84;37\\":{\\"x\\":84,\\"y\\":32.042939940024226},\\"85;37\\":{\\"x\\":85,\\"y\\":32.042939940024226},\\"94;37\\":{\\"x\\":94,\\"y\\":32.042939940024226},\\"95;37\\":{\\"x\\":95,\\"y\\":32.042939940024226},\\"29;38\\":{\\"x\\":29.5,\\"y\\":32.90896534380867},\\"30;38\\":{\\"x\\":30.5,\\"y\\":32.90896534380867},\\"31;38\\":{\\"x\\":31.5,\\"y\\":32.90896534380867},\\"32;38\\":{\\"x\\":32.5,\\"y\\":32.90896534380867},\\"33;38\\":{\\"x\\":33.5,\\"y\\":32.90896534380867},\\"34;38\\":{\\"x\\":34.5,\\"y\\":32.90896534380867},\\"35;38\\":{\\"x\\":35.5,\\"y\\":32.90896534380867},\\"36;38\\":{\\"x\\":36.5,\\"y\\":32.90896534380867},\\"37;38\\":{\\"x\\":37.5,\\"y\\":32.90896534380867},\\"38;38\\":{\\"x\\":38.5,\\"y\\":32.90896534380867},\\"39;38\\":{\\"x\\":39.5,\\"y\\":32.90896534380867},\\"40;38\\":{\\"x\\":40.5,\\"y\\":32.90896534380867},\\"41;38\\":{\\"x\\":41.5,\\"y\\":32.90896534380867},\\"56;38\\":{\\"x\\":56.5,\\"y\\":32.90896534380867},\\"57;38\\":{\\"x\\":57.5,\\"y\\":32.90896534380867},\\"58;38\\":{\\"x\\":58.5,\\"y\\":32.90896534380867},\\"59;38\\":{\\"x\\":59.5,\\"y\\":32.90896534380867},\\"60;38\\":{\\"x\\":60.5,\\"y\\":32.90896534380867},\\"61;38\\":{\\"x\\":61.5,\\"y\\":32.90896534380867},\\"62;38\\":{\\"x\\":62.5,\\"y\\":32.90896534380867},\\"63;38\\":{\\"x\\":63.5,\\"y\\":32.90896534380867},\\"87;38\\":{\\"x\\":87.5,\\"y\\":32.90896534380867},\\"99;38\\":{\\"x\\":99.5,\\"y\\":32.90896534380867},\\"30;39\\":{\\"x\\":30,\\"y\\":33.77499074759311},\\"31;39\\":{\\"x\\":31,\\"y\\":33.77499074759311},\\"32;39\\":{\\"x\\":32,\\"y\\":33.77499074759311},\\"33;39\\":{\\"x\\":33,\\"y\\":33.77499074759311},\\"34;39\\":{\\"x\\":34,\\"y\\":33.77499074759311},\\"35;39\\":{\\"x\\":35,\\"y\\":33.77499074759311},\\"36;39\\":{\\"x\\":36,\\"y\\":33.77499074759311},\\"37;39\\":{\\"x\\":37,\\"y\\":33.77499074759311},\\"38;39\\":{\\"x\\":38,\\"y\\":33.77499074759311},\\"39;39\\":{\\"x\\":39,\\"y\\":33.77499074759311},\\"40;39\\":{\\"x\\":40,\\"y\\":33.77499074759311},\\"41;39\\":{\\"x\\":41,\\"y\\":33.77499074759311},\\"57;39\\":{\\"x\\":57,\\"y\\":33.77499074759311},\\"58;39\\":{\\"x\\":58,\\"y\\":33.77499074759311},\\"59;39\\":{\\"x\\":59,\\"y\\":33.77499074759311},\\"60;39\\":{\\"x\\":60,\\"y\\":33.77499074759311},\\"61;39\\":{\\"x\\":61,\\"y\\":33.77499074759311},\\"62;39\\":{\\"x\\":62,\\"y\\":33.77499074759311},\\"63;39\\":{\\"x\\":63,\\"y\\":33.77499074759311},\\"64;39\\":{\\"x\\":64,\\"y\\":33.77499074759311},\\"67;39\\":{\\"x\\":67,\\"y\\":33.77499074759311},\\"91;39\\":{\\"x\\":91,\\"y\\":33.77499074759311},\\"92;39\\":{\\"x\\":92,\\"y\\":33.77499074759311},\\"30;40\\":{\\"x\\":30.5,\\"y\\":34.64101615137754},\\"31;40\\":{\\"x\\":31.5,\\"y\\":34.64101615137754},\\"32;40\\":{\\"x\\":32.5,\\"y\\":34.64101615137754},\\"33;40\\":{\\"x\\":33.5,\\"y\\":34.64101615137754},\\"34;40\\":{\\"x\\":34.5,\\"y\\":34.64101615137754},\\"35;40\\":{\\"x\\":35.5,\\"y\\":34.64101615137754},\\"36;40\\":{\\"x\\":36.5,\\"y\\":34.64101615137754},\\"37;40\\":{\\"x\\":37.5,\\"y\\":34.64101615137754},\\"38;40\\":{\\"x\\":38.5,\\"y\\":34.64101615137754},\\"39;40\\":{\\"x\\":39.5,\\"y\\":34.64101615137754},\\"40;40\\":{\\"x\\":40.5,\\"y\\":34.64101615137754},\\"56;40\\":{\\"x\\":56.5,\\"y\\":34.64101615137754},\\"57;40\\":{\\"x\\":57.5,\\"y\\":34.64101615137754},\\"58;40\\":{\\"x\\":58.5,\\"y\\":34.64101615137754},\\"59;40\\":{\\"x\\":59.5,\\"y\\":34.64101615137754},\\"60;40\\":{\\"x\\":60.5,\\"y\\":34.64101615137754},\\"61;40\\":{\\"x\\":61.5,\\"y\\":34.64101615137754},\\"62;40\\":{\\"x\\":62.5,\\"y\\":34.64101615137754},\\"63;40\\":{\\"x\\":63.5,\\"y\\":34.64101615137754},\\"66;40\\":{\\"x\\":66.5,\\"y\\":34.64101615137754},\\"89;40\\":{\\"x\\":89.5,\\"y\\":34.64101615137754},\\"90;40\\":{\\"x\\":90.5,\\"y\\":34.64101615137754},\\"91;40\\":{\\"x\\":91.5,\\"y\\":34.64101615137754},\\"94;40\\":{\\"x\\":94.5,\\"y\\":34.64101615137754},\\"101;40\\":{\\"x\\":101.5,\\"y\\":34.64101615137754},\\"32;41\\":{\\"x\\":32,\\"y\\":35.50704155516198},\\"33;41\\":{\\"x\\":33,\\"y\\":35.50704155516198},\\"34;41\\":{\\"x\\":34,\\"y\\":35.50704155516198},\\"35;41\\":{\\"x\\":35,\\"y\\":35.50704155516198},\\"36;41\\":{\\"x\\":36,\\"y\\":35.50704155516198},\\"37;41\\":{\\"x\\":37,\\"y\\":35.50704155516198},\\"38;41\\":{\\"x\\":38,\\"y\\":35.50704155516198},\\"39;41\\":{\\"x\\":39,\\"y\\":35.50704155516198},\\"40;41\\":{\\"x\\":40,\\"y\\":35.50704155516198},\\"56;41\\":{\\"x\\":56,\\"y\\":35.50704155516198},\\"57;41\\":{\\"x\\":57,\\"y\\":35.50704155516198},\\"58;41\\":{\\"x\\":58,\\"y\\":35.50704155516198},\\"59;41\\":{\\"x\\":59,\\"y\\":35.50704155516198},\\"60;41\\":{\\"x\\":60,\\"y\\":35.50704155516198},\\"61;41\\":{\\"x\\":61,\\"y\\":35.50704155516198},\\"62;41\\":{\\"x\\":62,\\"y\\":35.50704155516198},\\"63;41\\":{\\"x\\":63,\\"y\\":35.50704155516198},\\"66;41\\":{\\"x\\":66,\\"y\\":35.50704155516198},\\"89;41\\":{\\"x\\":89,\\"y\\":35.50704155516198},\\"90;41\\":{\\"x\\":90,\\"y\\":35.50704155516198},\\"91;41\\":{\\"x\\":91,\\"y\\":35.50704155516198},\\"92;41\\":{\\"x\\":92,\\"y\\":35.50704155516198},\\"93;41\\":{\\"x\\":93,\\"y\\":35.50704155516198},\\"94;41\\":{\\"x\\":94,\\"y\\":35.50704155516198},\\"95;41\\":{\\"x\\":95,\\"y\\":35.50704155516198},\\"32;42\\":{\\"x\\":32.5,\\"y\\":36.373066958946424},\\"33;42\\":{\\"x\\":33.5,\\"y\\":36.373066958946424},\\"34;42\\":{\\"x\\":34.5,\\"y\\":36.373066958946424},\\"35;42\\":{\\"x\\":35.5,\\"y\\":36.373066958946424},\\"36;42\\":{\\"x\\":36.5,\\"y\\":36.373066958946424},\\"37;42\\":{\\"x\\":37.5,\\"y\\":36.373066958946424},\\"38;42\\":{\\"x\\":38.5,\\"y\\":36.373066958946424},\\"39;42\\":{\\"x\\":39.5,\\"y\\":36.373066958946424},\\"40;42\\":{\\"x\\":40.5,\\"y\\":36.373066958946424},\\"56;42\\":{\\"x\\":56.5,\\"y\\":36.373066958946424},\\"57;42\\":{\\"x\\":57.5,\\"y\\":36.373066958946424},\\"58;42\\":{\\"x\\":58.5,\\"y\\":36.373066958946424},\\"59;42\\":{\\"x\\":59.5,\\"y\\":36.373066958946424},\\"60;42\\":{\\"x\\":60.5,\\"y\\":36.373066958946424},\\"61;42\\":{\\"x\\":61.5,\\"y\\":36.373066958946424},\\"62;42\\":{\\"x\\":62.5,\\"y\\":36.373066958946424},\\"65;42\\":{\\"x\\":65.5,\\"y\\":36.373066958946424},\\"66;42\\":{\\"x\\":66.5,\\"y\\":36.373066958946424},\\"87;42\\":{\\"x\\":87.5,\\"y\\":36.373066958946424},\\"88;42\\":{\\"x\\":88.5,\\"y\\":36.373066958946424},\\"89;42\\":{\\"x\\":89.5,\\"y\\":36.373066958946424},\\"90;42\\":{\\"x\\":90.5,\\"y\\":36.373066958946424},\\"91;42\\":{\\"x\\":91.5,\\"y\\":36.373066958946424},\\"92;42\\":{\\"x\\":92.5,\\"y\\":36.373066958946424},\\"93;42\\":{\\"x\\":93.5,\\"y\\":36.373066958946424},\\"94;42\\":{\\"x\\":94.5,\\"y\\":36.373066958946424},\\"95;42\\":{\\"x\\":95.5,\\"y\\":36.373066958946424},\\"32;43\\":{\\"x\\":32,\\"y\\":37.23909236273086},\\"33;43\\":{\\"x\\":33,\\"y\\":37.23909236273086},\\"34;43\\":{\\"x\\":34,\\"y\\":37.23909236273086},\\"35;43\\":{\\"x\\":35,\\"y\\":37.23909236273086},\\"36;43\\":{\\"x\\":36,\\"y\\":37.23909236273086},\\"37;43\\":{\\"x\\":37,\\"y\\":37.23909236273086},\\"38;43\\":{\\"x\\":38,\\"y\\":37.23909236273086},\\"39;43\\":{\\"x\\":39,\\"y\\":37.23909236273086},\\"57;43\\":{\\"x\\":57,\\"y\\":37.23909236273086},\\"58;43\\":{\\"x\\":58,\\"y\\":37.23909236273086},\\"59;43\\":{\\"x\\":59,\\"y\\":37.23909236273086},\\"60;43\\":{\\"x\\":60,\\"y\\":37.23909236273086},\\"61;43\\":{\\"x\\":61,\\"y\\":37.23909236273086},\\"62;43\\":{\\"x\\":62,\\"y\\":37.23909236273086},\\"66;43\\":{\\"x\\":66,\\"y\\":37.23909236273086},\\"86;43\\":{\\"x\\":86,\\"y\\":37.23909236273086},\\"87;43\\":{\\"x\\":87,\\"y\\":37.23909236273086},\\"88;43\\":{\\"x\\":88,\\"y\\":37.23909236273086},\\"89;43\\":{\\"x\\":89,\\"y\\":37.23909236273086},\\"90;43\\":{\\"x\\":90,\\"y\\":37.23909236273086},\\"91;43\\":{\\"x\\":91,\\"y\\":37.23909236273086},\\"92;43\\":{\\"x\\":92,\\"y\\":37.23909236273086},\\"93;43\\":{\\"x\\":93,\\"y\\":37.23909236273086},\\"94;43\\":{\\"x\\":94,\\"y\\":37.23909236273086},\\"95;43\\":{\\"x\\":95,\\"y\\":37.23909236273086},\\"96;43\\":{\\"x\\":96,\\"y\\":37.23909236273086},\\"32;44\\":{\\"x\\":32.5,\\"y\\":38.1051177665153},\\"33;44\\":{\\"x\\":33.5,\\"y\\":38.1051177665153},\\"34;44\\":{\\"x\\":34.5,\\"y\\":38.1051177665153},\\"35;44\\":{\\"x\\":35.5,\\"y\\":38.1051177665153},\\"36;44\\":{\\"x\\":36.5,\\"y\\":38.1051177665153},\\"37;44\\":{\\"x\\":37.5,\\"y\\":38.1051177665153},\\"57;44\\":{\\"x\\":57.5,\\"y\\":38.1051177665153},\\"58;44\\":{\\"x\\":58.5,\\"y\\":38.1051177665153},\\"59;44\\":{\\"x\\":59.5,\\"y\\":38.1051177665153},\\"60;44\\":{\\"x\\":60.5,\\"y\\":38.1051177665153},\\"61;44\\":{\\"x\\":61.5,\\"y\\":38.1051177665153},\\"86;44\\":{\\"x\\":86.5,\\"y\\":38.1051177665153},\\"87;44\\":{\\"x\\":87.5,\\"y\\":38.1051177665153},\\"88;44\\":{\\"x\\":88.5,\\"y\\":38.1051177665153},\\"89;44\\":{\\"x\\":89.5,\\"y\\":38.1051177665153},\\"90;44\\":{\\"x\\":90.5,\\"y\\":38.1051177665153},\\"91;44\\":{\\"x\\":91.5,\\"y\\":38.1051177665153},\\"92;44\\":{\\"x\\":92.5,\\"y\\":38.1051177665153},\\"93;44\\":{\\"x\\":93.5,\\"y\\":38.1051177665153},\\"94;44\\":{\\"x\\":94.5,\\"y\\":38.1051177665153},\\"95;44\\":{\\"x\\":95.5,\\"y\\":38.1051177665153},\\"96;44\\":{\\"x\\":96.5,\\"y\\":38.1051177665153},\\"32;45\\":{\\"x\\":32,\\"y\\":38.97114317029974},\\"33;45\\":{\\"x\\":33,\\"y\\":38.97114317029974},\\"34;45\\":{\\"x\\":34,\\"y\\":38.97114317029974},\\"35;45\\":{\\"x\\":35,\\"y\\":38.97114317029974},\\"36;45\\":{\\"x\\":36,\\"y\\":38.97114317029974},\\"37;45\\":{\\"x\\":37,\\"y\\":38.97114317029974},\\"38;45\\":{\\"x\\":38,\\"y\\":38.97114317029974},\\"58;45\\":{\\"x\\":58,\\"y\\":38.97114317029974},\\"59;45\\":{\\"x\\":59,\\"y\\":38.97114317029974},\\"60;45\\":{\\"x\\":60,\\"y\\":38.97114317029974},\\"61;45\\":{\\"x\\":61,\\"y\\":38.97114317029974},\\"87;45\\":{\\"x\\":87,\\"y\\":38.97114317029974},\\"88;45\\":{\\"x\\":88,\\"y\\":38.97114317029974},\\"89;45\\":{\\"x\\":89,\\"y\\":38.97114317029974},\\"90;45\\":{\\"x\\":90,\\"y\\":38.97114317029974},\\"91;45\\":{\\"x\\":91,\\"y\\":38.97114317029974},\\"92;45\\":{\\"x\\":92,\\"y\\":38.97114317029974},\\"93;45\\":{\\"x\\":93,\\"y\\":38.97114317029974},\\"94;45\\":{\\"x\\":94,\\"y\\":38.97114317029974},\\"95;45\\":{\\"x\\":95,\\"y\\":38.97114317029974},\\"96;45\\":{\\"x\\":96,\\"y\\":38.97114317029974},\\"97;45\\":{\\"x\\":97,\\"y\\":38.97114317029974},\\"32;46\\":{\\"x\\":32.5,\\"y\\":39.837168574084174},\\"33;46\\":{\\"x\\":33.5,\\"y\\":39.837168574084174},\\"34;46\\":{\\"x\\":34.5,\\"y\\":39.837168574084174},\\"35;46\\":{\\"x\\":35.5,\\"y\\":39.837168574084174},\\"36;46\\":{\\"x\\":36.5,\\"y\\":39.837168574084174},\\"58;46\\":{\\"x\\":58.5,\\"y\\":39.837168574084174},\\"59;46\\":{\\"x\\":59.5,\\"y\\":39.837168574084174},\\"60;46\\":{\\"x\\":60.5,\\"y\\":39.837168574084174},\\"86;46\\":{\\"x\\":86.5,\\"y\\":39.837168574084174},\\"87;46\\":{\\"x\\":87.5,\\"y\\":39.837168574084174},\\"88;46\\":{\\"x\\":88.5,\\"y\\":39.837168574084174},\\"89;46\\":{\\"x\\":89.5,\\"y\\":39.837168574084174},\\"90;46\\":{\\"x\\":90.5,\\"y\\":39.837168574084174},\\"91;46\\":{\\"x\\":91.5,\\"y\\":39.837168574084174},\\"92;46\\":{\\"x\\":92.5,\\"y\\":39.837168574084174},\\"93;46\\":{\\"x\\":93.5,\\"y\\":39.837168574084174},\\"94;46\\":{\\"x\\":94.5,\\"y\\":39.837168574084174},\\"95;46\\":{\\"x\\":95.5,\\"y\\":39.837168574084174},\\"96;46\\":{\\"x\\":96.5,\\"y\\":39.837168574084174},\\"32;47\\":{\\"x\\":32,\\"y\\":40.703193977868615},\\"33;47\\":{\\"x\\":33,\\"y\\":40.703193977868615},\\"34;47\\":{\\"x\\":34,\\"y\\":40.703193977868615},\\"35;47\\":{\\"x\\":35,\\"y\\":40.703193977868615},\\"36;47\\":{\\"x\\":36,\\"y\\":40.703193977868615},\\"58;47\\":{\\"x\\":58,\\"y\\":40.703193977868615},\\"87;47\\":{\\"x\\":87,\\"y\\":40.703193977868615},\\"93;47\\":{\\"x\\":93,\\"y\\":40.703193977868615},\\"94;47\\":{\\"x\\":94,\\"y\\":40.703193977868615},\\"95;47\\":{\\"x\\":95,\\"y\\":40.703193977868615},\\"96;47\\":{\\"x\\":96,\\"y\\":40.703193977868615},\\"31;48\\":{\\"x\\":31.5,\\"y\\":41.569219381653056},\\"32;48\\":{\\"x\\":32.5,\\"y\\":41.569219381653056},\\"33;48\\":{\\"x\\":33.5,\\"y\\":41.569219381653056},\\"34;48\\":{\\"x\\":34.5,\\"y\\":41.569219381653056},\\"35;48\\":{\\"x\\":35.5,\\"y\\":41.569219381653056},\\"93;48\\":{\\"x\\":93.5,\\"y\\":41.569219381653056},\\"94;48\\":{\\"x\\":94.5,\\"y\\":41.569219381653056},\\"95;48\\":{\\"x\\":95.5,\\"y\\":41.569219381653056},\\"96;48\\":{\\"x\\":96.5,\\"y\\":41.569219381653056},\\"31;49\\":{\\"x\\":31,\\"y\\":42.43524478543749},\\"32;49\\":{\\"x\\":32,\\"y\\":42.43524478543749},\\"33;49\\":{\\"x\\":33,\\"y\\":42.43524478543749},\\"34;49\\":{\\"x\\":34,\\"y\\":42.43524478543749},\\"104;49\\":{\\"x\\":104,\\"y\\":42.43524478543749},\\"31;50\\":{\\"x\\":31.5,\\"y\\":43.30127018922193},\\"32;50\\":{\\"x\\":32.5,\\"y\\":43.30127018922193},\\"103;50\\":{\\"x\\":103.5,\\"y\\":43.30127018922193},\\"32;51\\":{\\"x\\":32,\\"y\\":44.167295593006365},\\"33;51\\":{\\"x\\":33,\\"y\\":44.167295593006365},\\"103;51\\":{\\"x\\":103,\\"y\\":44.167295593006365},\\"31;52\\":{\\"x\\":31.5,\\"y\\":45.033320996790806},\\"32;52\\":{\\"x\\":32.5,\\"y\\":45.033320996790806},\\"101;52\\":{\\"x\\":101.5,\\"y\\":45.033320996790806},\\"102;52\\":{\\"x\\":102.5,\\"y\\":45.033320996790806},\\"31;53\\":{\\"x\\":31,\\"y\\":45.89934640057525},\\"32;53\\":{\\"x\\":32,\\"y\\":45.89934640057525},\\"33;53\\":{\\"x\\":33,\\"y\\":45.89934640057525},\\"30;54\\":{\\"x\\":30.5,\\"y\\":46.76537180435968},\\"31;54\\":{\\"x\\":31.5,\\"y\\":46.76537180435968},\\"32;54\\":{\\"x\\":32.5,\\"y\\":46.76537180435968},\\"31;55\\":{\\"x\\":31,\\"y\\":47.63139720814412},\\"32;55\\":{\\"x\\":32,\\"y\\":47.63139720814412},\\"31;56\\":{\\"x\\":31.5,\\"y\\":48.49742261192856},\\"32;57\\":{\\"x\\":32,\\"y\\":49.363448015713},\\"33;57\\":{\\"x\\":33,\\"y\\":49.363448015713}},\\"X_MIN\\":-19926188.85199597,\\"Y_MIN\\":-7558415.656081783,\\"X_MAX\\":19926188.85199597,\\"Y_MAX\\":11402272.159297233,\\"X_RANGE\\":39852377.70399194,\\"Y_RANGE\\":18960687.815379016,\\"region\\":{\\"lat\\":{\\"min\\":-56,\\"max\\":71},\\"lng\\":{\\"min\\":-179,\\"max\\":179}},\\"grid\\":\\"diagonal\\",\\"height\\":50,\\"width\\":105,\\"ystep\\":0.8660254037844386}"'),uA={lat:60.1719,lng:24.9347},hA={lat:50.4777,lng:12.3649},gA={lat:50.4777,lng:12.3649},mA={lat:60.1719,lng:24.9347},pA={lat:60.1719,lng:24.9347},yA={lat:50.4777,lng:12.3649},xA={lat:50.4777,lng:12.3649},wA={lat:60.1719,lng:24.9347},vA={lat:50.4777,lng:12.3649},SA={lat:60.1719,lng:24.9347},_A={lat:50.4777,lng:12.3649},EA={lat:50.4777,lng:12.3649},CA={lat:60.1719,lng:24.9347},jA={lat:50.4777,lng:12.3649},AA={lat:50.4777,lng:12.3649},IA={lat:60.1719,lng:24.9347},MA={lat:50.4777,lng:12.3649},NA={lat:50.4777,lng:12.3649},kA={lat:60.1719,lng:24.9347},PA={lat:50.4777,lng:12.3649},TA={lat:60.1719,lng:24.9347},DA={lat:50.4777,lng:12.3649},RA={lat:50.4777,lng:12.3649},OA={lat:60.1719,lng:24.9347},FA={lat:50.4777,lng:12.3649},BA={lat:50.4777,lng:12.3649},LA={lat:60.1719,lng:24.9347},UA={lat:50.4777,lng:12.3649},$A={lat:60.1719,lng:24.9347},zA={lat:50.4777,lng:12.3649},GA={lat:60.1719,lng:24.9347},WA={lat:60.1719,lng:24.9347},qA={lat:50.4777,lng:12.3649},HA={lat:60.1719,lng:24.9347},VA={lat:50.4777,lng:12.3649},KA={lat:50.4777,lng:12.3649},ZA={lat:50.4777,lng:12.3649},YA={lat:60.1719,lng:24.9347},JA={lat:52.52,lng:13.405},XA={lat:50.4777,lng:12.3649},QA={lat:50.4777,lng:12.3649},eI={lat:60.1719,lng:24.9347},aI={lat:50.4777,lng:12.3649},tI={lat:50.4777,lng:12.3649},nI={lat:60.1719,lng:24.9347},cI={lat:50.4777,lng:12.3649},sI={lat:50.4777,lng:12.3649},rI={lat:60.1719,lng:24.9347},iI={lat:50.4777,lng:12.3649},dI={lat:50.4777,lng:12.3649},fI={lat:60.1719,lng:24.9347},oI={lat:60.1719,lng:24.9347},lI={lat:50.4777,lng:12.3649},bI={lat:60.1719,lng:24.9347},uI={lat:50.4777,lng:12.3649},hI={lat:50.4777,lng:12.3649},gI={lat:60.1719,lng:24.9347},mI={lat:50.4777,lng:12.3649},pI={lat:50.4777,lng:12.3649},yI={lat:60.1719,lng:24.9347},xI={lat:60.1719,lng:24.9347},wI={lat:50.4777,lng:12.3649},vI={lat:60.1719,lng:24.9347},SI={lat:60.1719,lng:24.9347},_I={lat:50.4777,lng:12.3649},EI={lat:50.4777,lng:12.3649},CI={lat:60.1719,lng:24.9347},jI={lat:50.4777,lng:12.3649},AI={lat:45.2496,lng:-75.9181},II={lat:50.4777,lng:12.3649},MI={lat:60.1719,lng:24.9347},NI={lat:50.4777,lng:12.3649},kI={lat:50.4777,lng:12.3649},PI={lat:50.4777,lng:12.3649},TI={lat:60.1719,lng:24.9347},DI={lat:50.4777,lng:12.3649},RI={lat:60.1719,lng:24.9347},OI={lat:50.4777,lng:12.3649},FI={lat:60.1719,lng:24.9347},BI={lat:50.4777,lng:12.3649},LI={lat:60.1719,lng:24.9347},UI={lat:50.4777,lng:12.3649},$I={lat:60.1719,lng:24.9347},zI={lat:50.4777,lng:12.3649},GI={lat:50.4777,lng:12.3649},WI={lat:52.52,lng:13.405},qI={lat:50.4777,lng:12.3649},HI={lat:50.4777,lng:12.3649},VI={lat:60.1719,lng:24.9347},KI={lat:50.4777,lng:12.3649},ZI={lat:60.1719,lng:24.9347},YI={lat:60.1719,lng:24.9347},JI={lat:50.4777,lng:12.3649},XI={lat:60.1719,lng:24.9347},QI={lat:50.4777,lng:12.3649},eM={lat:60.1719,lng:24.9347},aM={lat:50.4777,lng:12.3649},tM={lat:50.4777,lng:12.3649},nM={lat:50.4777,lng:12.3649},cM={lat:60.1719,lng:24.9347},sM={lat:50.4777,lng:12.3649},rM={lat:50.4777,lng:12.3649},iM={lat:60.1719,lng:24.9347},dM={lat:50.4777,lng:12.3649},fM={lat:50.4777,lng:12.3649},oM={lat:60.1719,lng:24.9347},lM={lat:60.1719,lng:24.9347},bM={lat:50.4777,lng:12.3649},uM={lat:60.1719,lng:24.9347},hM={lat:0,lng:0},gM={lat:50.4777,lng:12.3649},mM={lat:60.1719,lng:24.9347},pM={lat:50.4777,lng:12.3649},yM={lat:50.4777,lng:12.3649},xM={lat:60.1719,lng:24.9347},wM={lat:50.4777,lng:12.3649},vM={lat:50.4777,lng:12.3649},SM={lat:50.4777,lng:12.3649},_M={lat:60.1719,lng:24.9347},EM={lat:60.1719,lng:24.9347},CM={lat:50.4777,lng:12.3649},jM={lat:50.4777,lng:12.3649},AM={lat:60.1719,lng:24.9347},IM={lat:60.1719,lng:24.9347},MM={lat:50.4777,lng:12.3649},NM={lat:60.1719,lng:24.9347},kM={lat:50.4777,lng:12.3649},PM={lat:50.4777,lng:12.3649},TM={lat:50.4777,lng:12.3649},DM={lat:60.1719,lng:24.9347},RM={lat:50.4777,lng:12.3649},OM={lat:50.4777,lng:12.3649},FM={lat:60.1719,lng:24.9347},BM={lat:60.1719,lng:24.9347},LM={lat:60.1719,lng:24.9347},UM={lat:50.4777,lng:12.3649},$M={lat:52.52,lng:13.405},zM={lat:50.4777,lng:12.3649},GM={lat:50.4777,lng:12.3649},WM={lat:60.1719,lng:24.9347},qM={lat:50.4777,lng:12.3649},HM={lat:50.4777,lng:12.3649},VM={lat:60.1719,lng:24.9347},KM={lat:45.2496,lng:-75.9181},ZM={lat:50.4777,lng:12.3649},YM={lat:50.4777,lng:12.3649},JM={lat:60.1719,lng:24.9347},XM={lat:60.1719,lng:24.9347},QM={lat:50.4777,lng:12.3649},eN={lat:50.4777,lng:12.3649},aN={lat:50.4777,lng:12.3649},tN={lat:60.1719,lng:24.9347},nN={lat:50.4777,lng:12.3649},cN={lat:52.52,lng:13.405},sN={lat:50.4777,lng:12.3649},rN={lat:60.1719,lng:24.9347},iN={lat:50.4777,lng:12.3649},dN={lat:50.4777,lng:12.3649},fN={lat:60.1719,lng:24.9347},oN={lat:50.4777,lng:12.3649},lN={lat:50.4777,lng:12.3649},bN={lat:60.1719,lng:24.9347},uN={lat:50.4777,lng:12.3649},hN={lat:60.1719,lng:24.9347},gN={lat:50.4777,lng:12.3649},mN={lat:52.52,lng:13.405},pN={lat:60.1719,lng:24.9347},yN={lat:50.4777,lng:12.3649},xN={lat:45.2496,lng:-75.9181},wN={lat:60.1719,lng:24.9347},vN={lat:50.4777,lng:12.3649},SN={lat:50.4777,lng:12.3649},_N={lat:60.1719,lng:24.9347},EN={lat:50.4777,lng:12.3649},CN={lat:50.4777,lng:12.3649},jN={lat:50.4777,lng:12.3649},AN={lat:50.4777,lng:12.3649},IN={lat:60.1719,lng:24.9347},MN={lat:50.4777,lng:12.3649},NN={lat:50.4777,lng:12.3649},kN={lat:60.1719,lng:24.9347},PN={lat:60.1719,lng:24.9347},TN={lat:50.4777,lng:12.3649},DN={lat:60.1719,lng:24.9347},RN={lat:48.9742,lng:8.1851},ON={lat:50.4777,lng:12.3649},FN={lat:60.1719,lng:24.9347},BN={lat:50.4777,lng:12.3649},LN={lat:50.4777,lng:12.3649},UN={lat:52.52,lng:13.405},$N={lat:50.4777,lng:12.3649},zN={lat:50.4777,lng:12.3649},GN={lat:60.1719,lng:24.9347},WN={lat:50.4777,lng:12.3649},qN={lat:50.4777,lng:12.3649},HN={lat:60.1719,lng:24.9347},VN={lat:50.4777,lng:12.3649},KN={lat:60.1719,lng:24.9347},ZN={lat:60.1719,lng:24.9347},YN={lat:50.4777,lng:12.3649},JN={lat:50.4777,lng:12.3649},XN={lat:60.1719,lng:24.9347},QN={lat:50.4777,lng:12.3649},ek={lat:60.1719,lng:24.9347},ak={lat:50.4777,lng:12.3649},tk={lat:50.4777,lng:12.3649},nk={lat:50.4777,lng:12.3649},ck={lat:60.1719,lng:24.9347},sk={lat:60.1719,lng:24.9347},rk={lat:50.4777,lng:12.3649},ik={lat:60.1719,lng:24.9347},dk={lat:50.4777,lng:12.3649},fk={lat:50.4777,lng:12.3649},ok={lat:60.1719,lng:24.9347},lk={lat:50.4777,lng:12.3649},bk={lat:50.4777,lng:12.3649},uk={lat:60.1719,lng:24.9347},hk={lat:50.4777,lng:12.3649},gk={lat:60.1719,lng:24.9347},mk={lat:50.4777,lng:12.3649},pk={lat:52.52,lng:13.405},yk={lat:50.4777,lng:12.3649},xk={lat:50.4777,lng:12.3649},wk={lat:60.1719,lng:24.9347},vk={lat:60.1719,lng:24.9347},Sk={lat:60.1719,lng:24.9347},_k={lat:50.4777,lng:12.3649},Ek={lat:50.4777,lng:12.3649},Ck={lat:50.4777,lng:12.3649},jk={lat:50.4777,lng:12.3649},Ak={lat:60.1719,lng:24.9347},Ik={lat:50.4777,lng:12.3649},Mk={lat:60.1719,lng:24.9347},Nk={lat:50.4777,lng:12.3649},kk={lat:50.4777,lng:12.3649},Pk={lat:60.1719,lng:24.9347},Tk={lat:50.4777,lng:12.3649},Dk={lat:60.1719,lng:24.9347},Rk={lat:50.4777,lng:12.3649},Ok={lat:60.1719,lng:24.9347},Fk={lat:50.4777,lng:12.3649},Bk={lat:60.1719,lng:24.9347},Lk={lat:50.4777,lng:12.3649},Uk={lat:50.4777,lng:12.3649},$k={lat:60.1719,lng:24.9347},zk={lat:50.4777,lng:12.3649},Gk={lat:60.1719,lng:24.9347},Wk={lat:50.4777,lng:12.3649},qk={lat:52.52,lng:13.405},Hk={lat:50.4777,lng:12.3649},Vk={lat:60.1719,lng:24.9347},Kk={lat:50.4777,lng:12.3649},Zk={lat:50.4777,lng:12.3649},Yk={lat:45.2496,lng:-75.9181},Jk={lat:50.4777,lng:12.3649},Xk={lat:60.1719,lng:24.9347},Qk={lat:52.52,lng:13.405},eP={lat:60.1719,lng:24.9347},aP={lat:50.4777,lng:12.3649},tP={lat:50.4777,lng:12.3649},nP={lat:50.4777,lng:12.3649},cP={lat:60.1719,lng:24.9347},sP={lat:50.4777,lng:12.3649},rP={lat:50.4777,lng:12.3649},iP={lat:60.1719,lng:24.9347},dP={lat:60.1719,lng:24.9347},fP={lat:50.4777,lng:12.3649},oP={lat:50.4777,lng:12.3649},lP={lat:60.1719,lng:24.9347},bP={lat:60.1719,lng:24.9347},uP={lat:50.4777,lng:12.3649},hP={lat:50.4777,lng:12.3649},gP={lat:60.1719,lng:24.9347},mP={lat:50.4777,lng:12.3649},pP={lat:50.4777,lng:12.3649},yP={lat:52.52,lng:13.405},xP={lat:50.4777,lng:12.3649},wP={lat:60.1719,lng:24.9347},vP={lat:50.4777,lng:12.3649},SP={lat:60.1719,lng:24.9347},_P={lat:50.4777,lng:12.3649},EP={lat:60.1719,lng:24.9347},CP={lat:50.4777,lng:12.3649},jP={lat:50.4777,lng:12.3649},AP={lat:60.1719,lng:24.9347},IP={lat:49.4527,lng:11.0783},MP={lat:50.4777,lng:12.3649},NP={lat:60.1719,lng:24.9347},kP={lat:50.4777,lng:12.3649},PP={lat:50.4777,lng:12.3649},TP={lat:60.1719,lng:24.9347},DP={lat:50.4777,lng:12.3649},RP={lat:50.4777,lng:12.3649},OP={lat:60.1719,lng:24.9347},FP={lat:60.1719,lng:24.9347},BP={lat:50.4777,lng:12.3649},LP={lat:60.1719,lng:24.9347},UP={lat:50.4777,lng:12.3649},$P={lat:60.1719,lng:24.9347},zP={lat:50.4777,lng:12.3649},GP={lat:50.4777,lng:12.3649},WP={lat:52.52,lng:13.405},qP={lat:50.4777,lng:12.3649},HP={lat:50.4777,lng:12.3649},VP={lat:60.1719,lng:24.9347},KP={lat:50.4777,lng:12.3649},ZP={lat:60.1719,lng:24.9347},YP={lat:50.4777,lng:12.3649},JP={lat:60.1719,lng:24.9347},XP={lat:50.4777,lng:12.3649},QP={lat:50.4777,lng:12.3649},eT={lat:50.4777,lng:12.3649},aT={lat:60.1719,lng:24.9347},tT={lat:60.1719,lng:24.9347},nT={lat:50.4777,lng:12.3649},cT={lat:50.4777,lng:12.3649},sT={lat:60.1719,lng:24.9347},rT={lat:50.4777,lng:12.3649},iT={lat:60.1719,lng:24.9347},dT={lat:50.4777,lng:12.3649},fT={lat:50.4777,lng:12.3649},oT={lat:60.1719,lng:24.9347},lT={lat:50.4777,lng:12.3649},bT={lat:60.1719,lng:24.9347},uT={lat:50.4777,lng:12.3649},hT={lat:50.4777,lng:12.3649},gT={lat:60.1719,lng:24.9347},mT={lat:60.1719,lng:24.9347},pT={lat:50.4777,lng:12.3649},yT={lat:50.4777,lng:12.3649},xT={lat:60.1719,lng:24.9347},wT={lat:48.9742,lng:8.1851},vT={lat:50.4777,lng:12.3649},ST={lat:60.1719,lng:24.9347},_T={lat:50.4777,lng:12.3649},ET={lat:50.4777,lng:12.3649},CT={lat:52.52,lng:13.405},jT={lat:50.4777,lng:12.3649},AT={lat:50.4777,lng:12.3649},IT={lat:50.4777,lng:12.3649},MT={lat:60.1719,lng:24.9347},NT={lat:60.1719,lng:24.9347},kT={lat:60.1719,lng:24.9347},PT={lat:50.4777,lng:12.3649},TT={lat:60.1719,lng:24.9347},DT={lat:50.4777,lng:12.3649},RT={lat:50.4777,lng:12.3649},OT={lat:50.4777,lng:12.3649},FT={lat:60.1719,lng:24.9347},BT={lat:50.4777,lng:12.3649},LT={lat:50.4777,lng:12.3649},UT={lat:60.1719,lng:24.9347},$T={lat:50.4777,lng:12.3649},zT={lat:52.52,lng:13.405},GT={lat:50.4777,lng:12.3649},WT={lat:60.1719,lng:24.9347},qT={lat:60.1719,lng:24.9347},HT={lat:50.4777,lng:12.3649},VT={lat:50.4777,lng:12.3649},KT={lat:60.1719,lng:24.9347},ZT={lat:50.4777,lng:12.3649},YT={lat:50.4777,lng:12.3649},JT={lat:50.4777,lng:12.3649},XT={lat:60.1719,lng:24.9347},QT={lat:60.1719,lng:24.9347},eD={lat:60.1719,lng:24.9347},aD={lat:50.4777,lng:12.3649},tD={lat:60.1719,lng:24.9347},nD={lat:50.4777,lng:12.3649},cD={lat:52.52,lng:13.405},sD={lat:50.4777,lng:12.3649},rD={lat:50.4777,lng:12.3649},iD={lat:60.1719,lng:24.9347},dD={lat:50.4777,lng:12.3649},fD={lat:50.4777,lng:12.3649},oD={lat:50.4777,lng:12.3649},lD={lat:50.4777,lng:12.3649},bD={lat:60.1719,lng:24.9347},uD={lat:50.4777,lng:12.3649},hD={lat:60.1719,lng:24.9347},gD={lat:50.4777,lng:12.3649},mD={lat:60.1719,lng:24.9347},pD={lat:50.4777,lng:12.3649},yD={lat:60.1719,lng:24.9347},xD={lat:50.4777,lng:12.3649},wD={lat:60.1719,lng:24.9347},vD={lat:50.4777,lng:12.3649},SD={lat:52.52,lng:13.405},_D={lat:50.4777,lng:12.3649},ED={lat:50.4777,lng:12.3649},CD={lat:60.1719,lng:24.9347},jD={lat:50.4777,lng:12.3649},AD={lat:50.4777,lng:12.3649},ID={lat:52.52,lng:13.405},MD={lat:50.4777,lng:12.3649},ND={lat:60.1719,lng:24.9347},kD={lat:50.4777,lng:12.3649},PD={lat:60.1719,lng:24.9347},TD={lat:60.1719,lng:24.9347},DD={lat:50.4777,lng:12.3649},RD={lat:52.52,lng:13.405},OD={lat:50.4777,lng:12.3649},FD={lat:50.4777,lng:12.3649},BD={lat:60.1719,lng:24.9347},LD={lat:50.4777,lng:12.3649},UD={lat:50.4777,lng:12.3649},$D={lat:60.1719,lng:24.9347},zD={lat:50.4777,lng:12.3649},GD={lat:50.4777,lng:12.3649},WD={lat:50.4777,lng:12.3649},qD={lat:48.9742,lng:8.1851},HD={lat:60.1719,lng:24.9347},VD={lat:50.4777,lng:12.3649},KD={lat:50.4777,lng:12.3649},ZD={lat:60.1719,lng:24.9347},YD={lat:60.1719,lng:24.9347},JD={lat:60.1719,lng:24.9347},XD={lat:50.4777,lng:12.3649},QD={lat:50.4777,lng:12.3649},eR={lat:50.4777,lng:12.3649},aR={lat:50.4777,lng:12.3649},tR={lat:60.1719,lng:24.9347},nR={lat:60.1719,lng:24.9347},cR={lat:50.4777,lng:12.3649},sR={lat:60.1719,lng:24.9347},rR={lat:50.4777,lng:12.3649},iR={lat:50.4777,lng:12.3649},dR={lat:60.1719,lng:24.9347},fR={lat:60.1719,lng:24.9347},oR={lat:50.4777,lng:12.3649},lR={lat:60.1719,lng:24.9347},bR={lat:34.6874,lng:33.0366},uR={lat:50.4777,lng:12.3649},hR={lat:60.1719,lng:24.9347},gR={lat:50.4777,lng:12.3649},mR={lat:60.1719,lng:24.9347},pR={lat:50.4777,lng:12.3649},yR={lat:50.4777,lng:12.3649},xR={lat:50.4777,lng:12.3649},wR={lat:60.1719,lng:24.9347},vR={lat:52.52,lng:13.405},SR={lat:50.4777,lng:12.3649},_R={lat:50.4777,lng:12.3649},ER={lat:60.1719,lng:24.9347},CR={lat:48.9742,lng:8.1851},jR={lat:50.4777,lng:12.3649},AR={lat:60.1719,lng:24.9347},IR={lat:50.4777,lng:12.3649},MR={lat:60.1719,lng:24.9347},NR={lat:50.4777,lng:12.3649},kR={lat:60.1719,lng:24.9347},PR={lat:50.4777,lng:12.3649},TR={lat:50.4777,lng:12.3649},DR={lat:60.1719,lng:24.9347},RR={lat:50.4777,lng:12.3649},OR={lat:50.4777,lng:12.3649},FR={lat:60.1719,lng:24.9347},BR={lat:50.4777,lng:12.3649},LR={lat:52.52,lng:13.405},UR={lat:60.1719,lng:24.9347},$R={lat:50.4777,lng:12.3649},zR={lat:60.1719,lng:24.9347},GR={lat:50.4777,lng:12.3649},WR={lat:50.4777,lng:12.3649},qR={lat:50.4777,lng:12.3649},HR={lat:50.4777,lng:12.3649},VR={lat:52.52,lng:13.405},KR={lat:50.4777,lng:12.3649},ZR={lat:60.1719,lng:24.9347},YR={lat:50.4777,lng:12.3649},JR={lat:0,lng:0},XR={lat:60.1719,lng:24.9347},QR={lat:50.4777,lng:12.3649},eO={lat:45.2496,lng:-75.9181},aO={lat:60.1719,lng:24.9347},tO={lat:60.1719,lng:24.9347},nO={lat:50.4777,lng:12.3649},cO={lat:50.4777,lng:12.3649},sO={lat:60.1719,lng:24.9347},rO={lat:50.4777,lng:12.3649},iO={lat:60.1719,lng:24.9347},dO={lat:50.4777,lng:12.3649},fO={lat:50.4777,lng:12.3649},oO={lat:50.4777,lng:12.3649},lO={lat:60.1719,lng:24.9347},bO={lat:60.1719,lng:24.9347},uO={lat:50.4777,lng:12.3649},hO={lat:60.1719,lng:24.9347},gO={lat:50.4777,lng:12.3649},mO={lat:50.4777,lng:12.3649},pO={lat:60.1719,lng:24.9347},yO={lat:60.1719,lng:24.9347},xO={lat:50.4777,lng:12.3649},wO={lat:50.4777,lng:12.3649},vO={lat:60.1719,lng:24.9347},SO={lat:50.4777,lng:12.3649},_O={lat:50.4777,lng:12.3649},EO={lat:60.1719,lng:24.9347},CO={lat:60.1719,lng:24.9347},jO={lat:60.1719,lng:24.9347},AO={lat:50.4777,lng:12.3649},IO={lat:50.4777,lng:12.3649},MO={lat:50.4777,lng:12.3649},NO={lat:60.1719,lng:24.9347},kO={lat:50.4777,lng:12.3649},PO={lat:50.4777,lng:12.3649},TO={lat:60.1719,lng:24.9347},DO={lat:50.4777,lng:12.3649},RO={lat:50.4777,lng:12.3649},OO={lat:50.4777,lng:12.3649},FO={lat:52.52,lng:13.405},BO={lat:60.1719,lng:24.9347},LO={lat:50.4777,lng:12.3649},UO={lat:52.52,lng:13.405},$O={lat:50.4777,lng:12.3649},zO={lat:50.4777,lng:12.3649},GO={lat:60.1719,lng:24.9347},WO={lat:60.1719,lng:24.9347},qO={lat:50.4777,lng:12.3649},HO={lat:60.1719,lng:24.9347},VO={lat:50.4777,lng:12.3649},KO={lat:50.4777,lng:12.3649},ZO={lat:50.4777,lng:12.3649},YO={lat:60.1719,lng:24.9347},JO={lat:50.4777,lng:12.3649},XO={lat:50.4777,lng:12.3649},QO={lat:60.1719,lng:24.9347},eF={lat:52.52,lng:13.405},aF={lat:50.4777,lng:12.3649},tF={lat:50.4777,lng:12.3649},nF={lat:52.52,lng:13.405},cF={lat:60.1719,lng:24.9347},sF={lat:50.4777,lng:12.3649},rF={lat:50.4777,lng:12.3649},iF={lat:52.52,lng:13.405},dF={lat:50.4777,lng:12.3649},fF={lat:60.1719,lng:24.9347},oF={lat:50.4777,lng:12.3649},lF={lat:50.4777,lng:12.3649},bF={lat:60.1719,lng:24.9347},uF={lat:50.4777,lng:12.3649},hF={lat:60.1719,lng:24.9347},gF={lat:50.4777,lng:12.3649},mF={lat:52.52,lng:13.405},pF={lat:50.4777,lng:12.3649},yF={lat:50.4777,lng:12.3649},xF={lat:60.1719,lng:24.9347},wF={lat:60.1719,lng:24.9347},vF={lat:50.4777,lng:12.3649},SF={lat:50.4777,lng:12.3649},_F={lat:50.4777,lng:12.3649},EF={lat:37.8897,lng:127.736},CF={lat:52.52,lng:13.405},jF={lat:50.4777,lng:12.3649},AF={lat:60.1719,lng:24.9347},IF={lat:60.1719,lng:24.9347},MF={lat:50.4777,lng:12.3649},NF={lat:50.4777,lng:12.3649},kF={lat:50.4777,lng:12.3649},PF={lat:60.1719,lng:24.9347},TF={lat:50.4777,lng:12.3649},DF={lat:60.1719,lng:24.9347},RF={lat:50.4777,lng:12.3649},OF={lat:50.4777,lng:12.3649},FF={lat:52.52,lng:13.405},BF={lat:50.4777,lng:12.3649},LF={lat:60.1719,lng:24.9347},UF={lat:50.4777,lng:12.3649},$F={lat:50.4777,lng:12.3649},zF={lat:60.1719,lng:24.9347},GF={lat:50.4777,lng:12.3649},WF={lat:60.1719,lng:24.9347},qF={lat:60.1719,lng:24.9347},HF={lat:50.4777,lng:12.3649},VF={lat:50.4777,lng:12.3649},KF={lat:60.1719,lng:24.9347},ZF={lat:50.4777,lng:12.3649},YF={lat:60.1719,lng:24.9347},JF={lat:50.4777,lng:12.3649},XF={lat:60.1719,lng:24.9347},QF={lat:50.4777,lng:12.3649},eB={lat:50.4777,lng:12.3649},aB={lat:50.4777,lng:12.3649},tB={lat:60.1719,lng:24.9347},nB={lat:50.4777,lng:12.3649},cB={lat:50.4777,lng:12.3649},sB={lat:60.1719,lng:24.9347},rB={lat:60.1719,lng:24.9347},iB={lat:60.1719,lng:24.9347},dB={lat:50.4777,lng:12.3649},fB={lat:50.4777,lng:12.3649},oB={lat:60.1719,lng:24.9347},lB={lat:50.4777,lng:12.3649},bB={lat:50.4777,lng:12.3649},uB={lat:50.4777,lng:12.3649},hB={lat:60.1719,lng:24.9347},gB={lat:52.52,lng:13.405},mB={lat:50.4777,lng:12.3649},pB={lat:60.1719,lng:24.9347},yB={lat:60.1719,lng:24.9347},xB={lat:50.4777,lng:12.3649},wB={lat:50.4777,lng:12.3649},vB={lat:50.4777,lng:12.3649},SB={lat:52.52,lng:13.405},_B={lat:50.4777,lng:12.3649},EB={lat:60.1719,lng:24.9347},CB={lat:50.4777,lng:12.3649},jB={lat:60.1719,lng:24.9347},AB={lat:50.4777,lng:12.3649},IB={lat:50.4777,lng:12.3649},MB={lat:50.4777,lng:12.3649},NB={lat:60.1719,lng:24.9347},kB={lat:50.4777,lng:12.3649},PB={lat:60.1719,lng:24.9347},TB={lat:50.4777,lng:12.3649},DB={lat:52.52,lng:13.405},RB={lat:50.4777,lng:12.3649},OB={lat:60.1719,lng:24.9347},FB={lat:50.4777,lng:12.3649},BB={lat:52.52,lng:13.405},LB={lat:50.4777,lng:12.3649},UB={lat:50.4777,lng:12.3649},$B={lat:60.1719,lng:24.9347},zB={lat:50.4777,lng:12.3649},GB={lat:60.1719,lng:24.9347},WB={lat:50.4777,lng:12.3649},qB={lat:60.1719,lng:24.9347},HB={lat:50.4777,lng:12.3649},VB={lat:50.4777,lng:12.3649},KB={lat:60.1719,lng:24.9347},ZB={lat:52.52,lng:13.405},YB={lat:50.4777,lng:12.3649},JB={lat:50.4777,lng:12.3649},XB={lat:50.4777,lng:12.3649},QB={lat:52.52,lng:13.405},eL={lat:50.4777,lng:12.3649},aL={lat:50.4777,lng:12.3649},tL={lat:50.4777,lng:12.3649},nL={lat:52.52,lng:13.405},cL={lat:60.1719,lng:24.9347},sL={lat:50.4777,lng:12.3649},rL={lat:60.1719,lng:24.9347},iL={lat:50.4777,lng:12.3649},dL={lat:48.9742,lng:8.1851},fL={lat:50.4777,lng:12.3649},oL={lat:60.1719,lng:24.9347},lL={lat:60.1719,lng:24.9347},bL={lat:50.4777,lng:12.3649},uL={lat:50.4777,lng:12.3649},hL={lat:50.4777,lng:12.3649},gL={lat:60.1719,lng:24.9347},mL={lat:0,lng:0},pL={lat:50.4777,lng:12.3649},yL={lat:60.1719,lng:24.9347},xL={lat:50.4777,lng:12.3649},wL={lat:60.1719,lng:24.9347},vL={lat:50.4777,lng:12.3649},SL={lat:60.1719,lng:24.9347},_L={lat:50.4777,lng:12.3649},EL={lat:50.4777,lng:12.3649},CL={lat:60.1719,lng:24.9347},jL={lat:52.52,lng:13.405},AL={lat:50.4777,lng:12.3649},IL={lat:50.4777,lng:12.3649},ML={lat:50.4777,lng:12.3649},NL={lat:60.1719,lng:24.9347},kL={lat:60.1719,lng:24.9347},PL={lat:50.4777,lng:12.3649},TL={lat:50.4777,lng:12.3649},DL={lat:60.1719,lng:24.9347},RL={lat:50.4777,lng:12.3649},OL={lat:60.1719,lng:24.9347},FL={lat:60.1719,lng:24.9347},BL={lat:50.4777,lng:12.3649},LL={lat:50.4777,lng:12.3649},UL={lat:60.1719,lng:24.9347},$L={lat:50.4777,lng:12.3649},zL={lat:60.1719,lng:24.9347},GL={lat:50.4777,lng:12.3649},WL={lat:50.4777,lng:12.3649},qL={lat:60.1719,lng:24.9347},HL={lat:50.4777,lng:12.3649},VL={lat:50.4777,lng:12.3649},KL={lat:50.4777,lng:12.3649},ZL={lat:60.1719,lng:24.9347},YL={lat:50.4777,lng:12.3649},JL={lat:52.52,lng:13.405},XL={lat:50.4777,lng:12.3649},QL={lat:60.1719,lng:24.9347},eU={lat:50.4777,lng:12.3649},aU={lat:60.1719,lng:24.9347},tU={lat:50.4777,lng:12.3649},nU={lat:50.4777,lng:12.3649},cU={lat:60.1719,lng:24.9347},sU={lat:50.4777,lng:12.3649},rU={lat:50.4777,lng:12.3649},iU={lat:60.1719,lng:24.9347},dU={lat:50.4777,lng:12.3649},fU={lat:60.1719,lng:24.9347},oU={lat:50.4777,lng:12.3649},lU={lat:60.1719,lng:24.9347},bU={lat:50.4777,lng:12.3649},uU={lat:50.4777,lng:12.3649},hU={lat:60.1719,lng:24.9347},gU={lat:50.4777,lng:12.3649},mU={lat:60.1719,lng:24.9347},pU={lat:50.4777,lng:12.3649},yU={lat:60.1719,lng:24.9347},xU={lat:50.4777,lng:12.3649},wU={lat:50.4777,lng:12.3649},vU={lat:52.52,lng:13.405},SU={lat:50.4777,lng:12.3649},_U={lat:60.1719,lng:24.9347},EU={lat:52.52,lng:13.405},CU={lat:50.4777,lng:12.3649},jU={lat:50.4777,lng:12.3649},AU={lat:50.4777,lng:12.3649},IU={lat:60.1719,lng:24.9347},MU={lat:60.1719,lng:24.9347},NU={lat:50.4777,lng:12.3649},kU={lat:52.52,lng:13.405},PU={lat:50.4777,lng:12.3649},TU={lat:50.4777,lng:12.3649},DU={lat:50.4777,lng:12.3649},RU={lat:50.4777,lng:12.3649},OU={lat:60.1719,lng:24.9347},FU={lat:60.1719,lng:24.9347},BU={lat:52.52,lng:13.405},LU={lat:50.4777,lng:12.3649},UU={lat:60.1719,lng:24.9347},$U={lat:50.4777,lng:12.3649},zU={lat:50.4777,lng:12.3649},GU={lat:60.1719,lng:24.9347},WU={lat:50.4777,lng:12.3649},qU={lat:50.4777,lng:12.3649},HU={lat:60.1719,lng:24.9347},VU={lat:50.4777,lng:12.3649},KU={lat:50.4777,lng:12.3649},ZU={lat:60.1719,lng:24.9347},YU={lat:50.4777,lng:12.3649},JU={lat:50.4777,lng:12.3649},XU={lat:60.1719,lng:24.9347},QU={lat:60.1719,lng:24.9347},e$={lat:50.4777,lng:12.3649},a$={lat:50.4777,lng:12.3649},t$={lat:50.4777,lng:12.3649},n$={lat:60.1719,lng:24.9347},c$={lat:60.1719,lng:24.9347},s$={lat:50.4777,lng:12.3649},r$={lat:50.4777,lng:12.3649},i$={lat:60.1719,lng:24.9347},d$={lat:50.4777,lng:12.3649},f$={lat:50.4777,lng:12.3649},o$={lat:60.1719,lng:24.9347},l$={lat:60.1719,lng:24.9347},b$={lat:50.4777,lng:12.3649},u$={lat:52.52,lng:13.405},h$={lat:50.4777,lng:12.3649},g$={lat:50.4777,lng:12.3649},m$={lat:48.9742,lng:8.1851},p$={lat:60.1719,lng:24.9347},y$={lat:60.1719,lng:24.9347},x$={lat:50.4777,lng:12.3649},w$={lat:60.1719,lng:24.9347},v$={lat:50.4777,lng:12.3649},S$={lat:50.4777,lng:12.3649},_$={lat:50.4777,lng:12.3649},E$={lat:60.1719,lng:24.9347},C$={lat:50.4777,lng:12.3649},j$={lat:50.4777,lng:12.3649},A$={lat:60.1719,lng:24.9347},I$={lat:60.1719,lng:24.9347},M$={lat:50.4777,lng:12.3649},N$={lat:60.1719,lng:24.9347},k$={lat:50.4777,lng:12.3649},P$={lat:60.1719,lng:24.9347},T$={lat:50.4777,lng:12.3649},D$={lat:60.1719,lng:24.9347},R$={lat:50.4777,lng:12.3649},O$={lat:50.4777,lng:12.3649},F$={lat:60.1719,lng:24.9347},B$={lat:50.4777,lng:12.3649},L$={lat:50.4777,lng:12.3649},U$={lat:50.4777,lng:12.3649},$$={lat:50.4777,lng:12.3649},z$={lat:60.1719,lng:24.9347},G$={lat:60.1719,lng:24.9347},W$={lat:50.4777,lng:12.3649},q$={lat:60.1719,lng:24.9347},H$={lat:60.1719,lng:24.9347},V$={lat:45.2496,lng:-75.9181},K$={lat:50.4777,lng:12.3649},Z$={lat:50.4777,lng:12.3649},Y$={lat:60.1719,lng:24.9347},J$={lat:50.4777,lng:12.3649},X$={lat:60.1719,lng:24.9347},Q$={lat:60.1719,lng:24.9347},ez={lat:50.4777,lng:12.3649},az={lat:50.4777,lng:12.3649},tz={lat:52.52,lng:13.405},nz={lat:50.4777,lng:12.3649},cz={lat:60.1719,lng:24.9347},sz={lat:50.4777,lng:12.3649},rz={lat:60.1719,lng:24.9347},iz={lat:60.1719,lng:24.9347},dz={lat:60.1719,lng:24.9347},fz={lat:50.4777,lng:12.3649},oz={lat:50.4777,lng:12.3649},lz={lat:50.4777,lng:12.3649},bz={lat:60.1719,lng:24.9347},uz={lat:50.4777,lng:12.3649},hz={lat:60.1719,lng:24.9347},gz={lat:50.4777,lng:12.3649},mz={lat:60.1719,lng:24.9347},pz={lat:50.4777,lng:12.3649},yz={lat:50.4777,lng:12.3649},xz={lat:60.1719,lng:24.9347},wz={lat:60.1719,lng:24.9347},vz={lat:60.1719,lng:24.9347},Sz={lat:50.4777,lng:12.3649},_z={lat:50.4777,lng:12.3649},Ez={lat:60.1719,lng:24.9347},Cz={lat:50.4777,lng:12.3649},jz={lat:60.1719,lng:24.9347},Az={lat:50.4777,lng:12.3649},Iz={lat:60.1719,lng:24.9347},Mz={lat:50.4777,lng:12.3649},Nz={lat:50.4777,lng:12.3649},kz={lat:60.1719,lng:24.9347},Pz={lat:60.1719,lng:24.9347},Tz={lat:50.4777,lng:12.3649},Dz={lat:50.4777,lng:12.3649},Rz={lat:60.1719,lng:24.9347},Oz={lat:60.1719,lng:24.9347},Fz={lat:60.1719,lng:24.9347},Bz={lat:50.4777,lng:12.3649},Lz={lat:50.4777,lng:12.3649},Uz={lat:60.1719,lng:24.9347},$z={lat:60.1719,lng:24.9347},zz={lat:50.4777,lng:12.3649},Gz={lat:50.4777,lng:12.3649},Wz={lat:60.1719,lng:24.9347},qz={lat:60.1719,lng:24.9347},Hz={lat:50.4777,lng:12.3649},Vz={lat:52.52,lng:13.405},Kz={lat:50.4777,lng:12.3649},Zz={lat:50.4777,lng:12.3649},Yz={lat:60.1719,lng:24.9347},Jz={lat:50.4777,lng:12.3649},Xz={lat:50.4777,lng:12.3649},Qz={lat:60.1719,lng:24.9347},eG={lat:50.4777,lng:12.3649},aG={lat:60.1719,lng:24.9347},tG={lat:60.1719,lng:24.9347},nG={lat:60.1719,lng:24.9347},cG={lat:50.4777,lng:12.3649},sG={lat:50.4777,lng:12.3649},rG={lat:52.52,lng:13.405},iG={lat:50.4777,lng:12.3649},dG={lat:60.1719,lng:24.9347},fG={lat:50.4777,lng:12.3649},oG={lat:60.1719,lng:24.9347},lG={lat:50.4777,lng:12.3649},bG={lat:50.4777,lng:12.3649},uG={lat:60.1719,lng:24.9347},hG={lat:50.4777,lng:12.3649},gG={lat:60.1719,lng:24.9347},mG={lat:50.4777,lng:12.3649},pG={lat:60.1719,lng:24.9347},yG={lat:45.4722,lng:9.1922},xG={lat:38.7219,lng:-9.1398},wG={lat:50.4777,lng:12.3649},vG={lat:60.1719,lng:24.9347},SG={lat:60.1719,lng:24.9347},_G={lat:50.4777,lng:12.3649},EG={lat:50.4777,lng:12.3649},CG={lat:0,lng:0},jG={lat:50.4777,lng:12.3649},AG={lat:52.52,lng:13.405},IG={lat:50.4777,lng:12.3649},MG={lat:50.4777,lng:12.3649},NG={lat:60.1719,lng:24.9347},kG={lat:50.4777,lng:12.3649},PG={lat:48.9742,lng:8.1851},TG={lat:50.4777,lng:12.3649},DG={lat:60.1719,lng:24.9347},RG={lat:50.4777,lng:12.3649},OG={lat:60.1719,lng:24.9347},FG={lat:50.4777,lng:12.3649},BG={lat:60.1719,lng:24.9347},LG={lat:52.52,lng:13.405},UG={lat:50.4777,lng:12.3649},$G={lat:60.1719,lng:24.9347},zG={lat:60.1719,lng:24.9347},GG={lat:50.4777,lng:12.3649},WG={lat:60.1719,lng:24.9347},qG={lat:50.4777,lng:12.3649},HG={lat:60.1719,lng:24.9347},VG={lat:50.4777,lng:12.3649},KG={lat:50.4777,lng:12.3649},ZG={lat:50.4777,lng:12.3649},YG={lat:60.1719,lng:24.9347},JG={lat:50.4777,lng:12.3649},XG={lat:60.1719,lng:24.9347},QG={lat:50.4777,lng:12.3649},eW={lat:60.1719,lng:24.9347},aW={lat:60.1719,lng:24.9347},tW={lat:60.1719,lng:24.9347},nW={lat:50.4777,lng:12.3649},cW={lat:50.4777,lng:12.3649},sW={lat:52.52,lng:13.405},rW={lat:50.4777,lng:12.3649},iW={lat:50.4777,lng:12.3649},dW={lat:60.1719,lng:24.9347},fW={lat:60.1719,lng:24.9347},oW={lat:50.4777,lng:12.3649},lW={lat:50.4777,lng:12.3649},bW={lat:60.1719,lng:24.9347},uW={lat:50.4777,lng:12.3649},hW={lat:50.4777,lng:12.3649},gW={lat:60.1719,lng:24.9347},mW={lat:50.4777,lng:12.3649},pW={lat:60.1719,lng:24.9347},yW={lat:60.1719,lng:24.9347},xW={lat:50.4777,lng:12.3649},wW={lat:50.4777,lng:12.3649},vW={lat:52.52,lng:13.405},SW={lat:50.4777,lng:12.3649},_W={lat:60.1719,lng:24.9347},EW={lat:60.1719,lng:24.9347},CW={lat:50.4777,lng:12.3649},jW={lat:50.4777,lng:12.3649},AW={lat:50.4777,lng:12.3649},IW={lat:60.1719,lng:24.9347},MW={lat:60.1719,lng:24.9347},NW={lat:60.1719,lng:24.9347},kW={lat:50.4777,lng:12.3649},PW={lat:60.1719,lng:24.9347},TW={lat:50.4777,lng:12.3649},DW={lat:50.4777,lng:12.3649},RW={lat:50.4777,lng:12.3649},OW={lat:52.52,lng:13.405},FW={lat:50.4777,lng:12.3649},BW={lat:60.1719,lng:24.9347},LW={lat:50.4777,lng:12.3649},UW={lat:60.1719,lng:24.9347},$W={lat:50.4777,lng:12.3649},zW={lat:50.4777,lng:12.3649},GW={lat:50.4777,lng:12.3649},WW={lat:60.1719,lng:24.9347},qW={lat:50.4777,lng:12.3649},HW={lat:60.1719,lng:24.9347},VW={lat:50.4777,lng:12.3649},KW={lat:60.1719,lng:24.9347},ZW={lat:52.52,lng:13.405},YW={lat:50.4777,lng:12.3649},JW={lat:50.4777,lng:12.3649},XW={lat:50.4777,lng:12.3649},QW={lat:50.4777,lng:12.3649},eq={lat:60.1719,lng:24.9347},aq={lat:50.4777,lng:12.3649},tq={lat:60.1719,lng:24.9347},nq={lat:52.52,lng:13.405},cq={lat:50.4777,lng:12.3649},sq={lat:50.4777,lng:12.3649},rq={lat:60.1719,lng:24.9347},iq={lat:50.4777,lng:12.3649},dq={lat:60.1719,lng:24.9347},fq={lat:50.4777,lng:12.3649},oq={lat:50.4777,lng:12.3649},lq={lat:50.4777,lng:12.3649},bq={lat:60.1719,lng:24.9347},uq={lat:60.1719,lng:24.9347},hq={lat:50.4777,lng:12.3649},gq={lat:60.1719,lng:24.9347},mq={lat:50.4777,lng:12.3649},pq={lat:60.1719,lng:24.9347},yq={lat:50.4777,lng:12.3649},xq={lat:60.1719,lng:24.9347},wq={lat:50.4777,lng:12.3649},vq={lat:50.4777,lng:12.3649},Sq={lat:50.4777,lng:12.3649},_q={lat:60.1719,lng:24.9347},Eq={lat:50.4777,lng:12.3649},Cq={lat:60.1719,lng:24.9347},jq={lat:60.1719,lng:24.9347},Aq={lat:50.4777,lng:12.3649},Iq={lat:50.4777,lng:12.3649},Mq={lat:50.4777,lng:12.3649},Nq={lat:52.52,lng:13.405},kq={lat:60.1719,lng:24.9347},Pq={lat:50.4777,lng:12.3649},Tq={lat:60.1719,lng:24.9347},Dq={lat:50.4777,lng:12.3649},Rq={lat:50.4777,lng:12.3649},Oq={lat:60.1719,lng:24.9347},Fq={lat:50.4777,lng:12.3649},Bq={lat:50.4777,lng:12.3649},Lq={lat:50.4777,lng:12.3649},Uq={lat:50.4777,lng:12.3649},$q={lat:52.52,lng:13.405},zq={lat:50.4777,lng:12.3649},Gq={lat:60.1719,lng:24.9347},Wq={lat:60.1719,lng:24.9347},qq={lat:60.1719,lng:24.9347},Hq={lat:50.4777,lng:12.3649},Vq={lat:50.4777,lng:12.3649},Kq={lat:50.4777,lng:12.3649},Zq={lat:50.4777,lng:12.3649},Yq={lat:60.1719,lng:24.9347},Jq={lat:60.1719,lng:24.9347},Xq={lat:50.4777,lng:12.3649},Qq={lat:50.4777,lng:12.3649},eH={lat:52.52,lng:13.405},aH={lat:50.4777,lng:12.3649},tH={lat:50.4777,lng:12.3649},nH={lat:50.4777,lng:12.3649},cH={lat:60.1719,lng:24.9347},sH={lat:45.2496,lng:-75.9181},rH={lat:60.1719,lng:24.9347},iH={lat:60.1719,lng:24.9347},dH={lat:60.1719,lng:24.9347},fH={lat:50.4777,lng:12.3649},oH={lat:50.4777,lng:12.3649},lH={lat:50.4777,lng:12.3649},bH={lat:50.4777,lng:12.3649},uH={lat:50.4777,lng:12.3649},hH={lat:60.1719,lng:24.9347},gH={lat:52.52,lng:13.405},mH={lat:52.52,lng:13.405},pH={lat:50.4777,lng:12.3649},yH={lat:50.4777,lng:12.3649},xH={lat:50.4777,lng:12.3649},wH={lat:60.1719,lng:24.9347},vH={lat:50.4777,lng:12.3649},SH={lat:60.1719,lng:24.9347},_H={lat:60.1719,lng:24.9347},EH={lat:50.4777,lng:12.3649},CH={lat:60.1719,lng:24.9347},jH={lat:50.4777,lng:12.3649},AH={lat:50.4777,lng:12.3649},IH={lat:50.4777,lng:12.3649},MH={lat:50.4777,lng:12.3649},NH={lat:52.52,lng:13.405},kH={lat:60.1719,lng:24.9347},PH={lat:50.4777,lng:12.3649},TH={lat:60.1719,lng:24.9347},DH={lat:50.4777,lng:12.3649},RH={lat:50.4777,lng:12.3649},OH={lat:60.1719,lng:24.9347},FH={lat:49.4527,lng:11.0783},BH={lat:50.4777,lng:12.3649},LH={lat:50.4777,lng:12.3649},UH={lat:60.1719,lng:24.9347},$H={lat:50.4777,lng:12.3649},zH={lat:60.1719,lng:24.9347},GH={lat:60.1719,lng:24.9347},WH={lat:50.4777,lng:12.3649},qH={lat:50.4777,lng:12.3649},HH={lat:50.4777,lng:12.3649},VH={lat:60.1719,lng:24.9347},KH={lat:60.1719,lng:24.9347},ZH={lat:50.4777,lng:12.3649},YH={lat:60.1719,lng:24.9347},JH={lat:45.2496,lng:-75.9181},XH={lat:50.4777,lng:12.3649},QH={lat:60.1719,lng:24.9347},eV={lat:50.4777,lng:12.3649},aV={lat:50.4777,lng:12.3649},tV={lat:52.52,lng:13.405},nV={lat:50.4777,lng:12.3649},cV={lat:50.4777,lng:12.3649},sV={lat:50.4777,lng:12.3649},rV={lat:60.1719,lng:24.9347},iV={lat:60.1719,lng:24.9347},dV={lat:50.4777,lng:12.3649},fV={lat:60.1719,lng:24.9347},oV={lat:50.4777,lng:12.3649},lV={lat:60.1719,lng:24.9347},bV={lat:60.1719,lng:24.9347},uV={lat:50.4777,lng:12.3649},hV={lat:50.4777,lng:12.3649},gV={lat:50.4777,lng:12.3649},mV={lat:60.1719,lng:24.9347},pV={lat:60.1719,lng:24.9347},yV={lat:50.4777,lng:12.3649},xV={lat:50.4777,lng:12.3649},wV={lat:60.1719,lng:24.9347},vV={lat:50.4777,lng:12.3649},SV={lat:60.1719,lng:24.9347},_V={lat:50.4777,lng:12.3649},EV={lat:50.4777,lng:12.3649},CV={lat:50.4777,lng:12.3649},jV={lat:60.1719,lng:24.9347},AV={lat:60.1719,lng:24.9347},IV={lat:50.4777,lng:12.3649},MV={lat:50.4777,lng:12.3649},NV={lat:60.1719,lng:24.9347},kV={lat:52.52,lng:13.405},PV={lat:50.4777,lng:12.3649},TV={lat:60.1719,lng:24.9347},DV={lat:50.4777,lng:12.3649},RV={lat:50.4777,lng:12.3649},OV={lat:60.1719,lng:24.9347},FV={lat:50.4777,lng:12.3649},BV={lat:60.1719,lng:24.9347},LV={lat:50.4777,lng:12.3649},UV={lat:50.4777,lng:12.3649},$V={lat:52.52,lng:13.405},zV={lat:50.4777,lng:12.3649},GV={lat:50.4777,lng:12.3649},WV={lat:50.4777,lng:12.3649},qV={lat:50.4777,lng:12.3649},HV={lat:60.1719,lng:24.9347},VV={lat:60.1719,lng:24.9347},KV={lat:50.4777,lng:12.3649},ZV={lat:60.1719,lng:24.9347},YV={lat:50.4777,lng:12.3649},JV={lat:60.1719,lng:24.9347},XV={lat:60.1719,lng:24.9347},QV={lat:50.4777,lng:12.3649},eK={lat:50.4777,lng:12.3649},aK={lat:60.1719,lng:24.9347},tK={lat:50.4777,lng:12.3649},nK={lat:60.1719,lng:24.9347},cK={lat:50.4777,lng:12.3649},sK={lat:52.52,lng:13.405},rK={lat:50.4777,lng:12.3649},iK={lat:50.4777,lng:12.3649},dK={lat:41.8781,lng:-87.6298},fK={lat:52.52,lng:13.405},oK={lat:50.4777,lng:12.3649},lK={lat:60.1719,lng:24.9347},bK={lat:50.4777,lng:12.3649},uK={lat:50.4777,lng:12.3649},hK={lat:60.1719,lng:24.9347},gK={lat:50.4777,lng:12.3649},mK={lat:50.4777,lng:12.3649},pK={lat:50.4777,lng:12.3649},yK={lat:60.1719,lng:24.9347},xK={lat:60.1719,lng:24.9347},wK={lat:60.1719,lng:24.9347},vK={lat:50.4777,lng:12.3649},SK={lat:50.4777,lng:12.3649},_K={lat:60.1719,lng:24.9347},EK={lat:50.4777,lng:12.3649},CK={lat:60.1719,lng:24.9347},jK={lat:50.4777,lng:12.3649},AK={lat:60.1719,lng:24.9347},IK={lat:50.4777,lng:12.3649},MK={lat:50.4777,lng:12.3649},NK={lat:50.4777,lng:12.3649},kK={lat:48.9742,lng:8.1851},PK={lat:50.4777,lng:12.3649},TK={lat:60.1719,lng:24.9347},DK={lat:60.1719,lng:24.9347},RK={lat:60.1719,lng:24.9347},OK={lat:50.4777,lng:12.3649},FK={lat:50.4777,lng:12.3649},BK={lat:52.52,lng:13.405},LK={lat:50.4777,lng:12.3649},UK={lat:60.1719,lng:24.9347},$K={lat:60.1719,lng:24.9347},zK={lat:50.4777,lng:12.3649},GK={lat:50.4777,lng:12.3649},WK={lat:60.1719,lng:24.9347},qK={lat:50.4777,lng:12.3649},HK={lat:50.4777,lng:12.3649},VK={lat:60.1719,lng:24.9347},KK={lat:50.4777,lng:12.3649},ZK={lat:60.1719,lng:24.9347},YK={lat:50.4777,lng:12.3649},JK={lat:50.4777,lng:12.3649},XK={lat:60.1719,lng:24.9347},QK={lat:50.4777,lng:12.3649},eZ={lat:52.52,lng:13.405},aZ={lat:50.4777,lng:12.3649},tZ={lat:60.1719,lng:24.9347},nZ={lat:50.4777,lng:12.3649},cZ={lat:60.1719,lng:24.9347},sZ={lat:50.4777,lng:12.3649},rZ={lat:50.4777,lng:12.3649},iZ={lat:52.52,lng:13.405},dZ={lat:50.4777,lng:12.3649},fZ={lat:60.1719,lng:24.9347},oZ={lat:60.1719,lng:24.9347},lZ={lat:60.1719,lng:24.9347},bZ={lat:50.4777,lng:12.3649},uZ={lat:50.4777,lng:12.3649},hZ={lat:50.4777,lng:12.3649},gZ={lat:50.4777,lng:12.3649},mZ={lat:50.4777,lng:12.3649},pZ={lat:52.52,lng:13.405},yZ={lat:50.4777,lng:12.3649},xZ={lat:60.1719,lng:24.9347},wZ={lat:60.1719,lng:24.9347},vZ={lat:50.4777,lng:12.3649},SZ={lat:50.4777,lng:12.3649},_Z={lat:52.52,lng:13.405},EZ={lat:60.1719,lng:24.9347},CZ={lat:60.1719,lng:24.9347},jZ={lat:50.4777,lng:12.3649},AZ={lat:50.4777,lng:12.3649},IZ={lat:50.4777,lng:12.3649},MZ={lat:60.1719,lng:24.9347},NZ={lat:50.4777,lng:12.3649},kZ={lat:52.52,lng:13.405},PZ={lat:50.4777,lng:12.3649},TZ={lat:50.4777,lng:12.3649},DZ={lat:60.1719,lng:24.9347},RZ={lat:60.1719,lng:24.9347},OZ={lat:50.4777,lng:12.3649},FZ={lat:50.4777,lng:12.3649},BZ={lat:50.4777,lng:12.3649},LZ={lat:60.1719,lng:24.9347},UZ={lat:50.4777,lng:12.3649},$Z={lat:60.1719,lng:24.9347},zZ={lat:50.4777,lng:12.3649},GZ={lat:60.1719,lng:24.9347},WZ={lat:48.9742,lng:8.1851},qZ={lat:50.4777,lng:12.3649},HZ={lat:60.1719,lng:24.9347},VZ={lat:50.4777,lng:12.3649},KZ={lat:60.1719,lng:24.9347},ZZ={lat:50.4777,lng:12.3649},YZ={lat:60.1719,lng:24.9347},JZ={lat:50.4777,lng:12.3649},XZ={lat:60.1719,lng:24.9347},QZ={lat:50.4777,lng:12.3649},eY={lat:50.4777,lng:12.3649},aY={lat:60.1719,lng:24.9347},tY={lat:60.1719,lng:24.9347},nY={lat:50.4777,lng:12.3649},cY={lat:50.4777,lng:12.3649},sY={lat:50.4777,lng:12.3649},rY={lat:50.4777,lng:12.3649},iY={lat:60.1719,lng:24.9347},dY={lat:50.4777,lng:12.3649},fY={lat:60.1719,lng:24.9347},oY={lat:50.4777,lng:12.3649},lY={lat:60.1719,lng:24.9347},bY={lat:50.4777,lng:12.3649},uY={lat:52.52,lng:13.405},hY={lat:50.4777,lng:12.3649},gY={lat:60.1719,lng:24.9347},mY={lat:50.4777,lng:12.3649},pY={lat:50.4777,lng:12.3649},yY={lat:47.0005,lng:15.4059},xY={lat:60.1719,lng:24.9347},wY={lat:60.1719,lng:24.9347},vY={lat:60.1719,lng:24.9347},SY={lat:50.4777,lng:12.3649},_Y={lat:52.52,lng:13.405},EY={lat:50.4777,lng:12.3649},CY={lat:50.4777,lng:12.3649},jY={lat:50.4777,lng:12.3649},AY={lat:50.4777,lng:12.3649},IY={lat:60.1719,lng:24.9347},MY={lat:50.4777,lng:12.3649},NY={lat:50.4777,lng:12.3649},kY={lat:60.1719,lng:24.9347},PY={lat:60.1719,lng:24.9347},TY={lat:50.4777,lng:12.3649},DY={lat:60.1719,lng:24.9347},RY={lat:50.4777,lng:12.3649},OY={lat:60.1719,lng:24.9347},FY={lat:50.4777,lng:12.3649},BY={lat:50.4777,lng:12.3649},LY={lat:60.1719,lng:24.9347},UY={lat:50.4777,lng:12.3649},$Y={lat:60.1719,lng:24.9347},zY={lat:50.4777,lng:12.3649},GY={lat:50.4777,lng:12.3649},WY={lat:52.52,lng:13.405},qY={lat:50.4777,lng:12.3649},HY={lat:50.4777,lng:12.3649},VY={lat:60.1719,lng:24.9347},KY={lat:50.4777,lng:12.3649},ZY={lat:60.1719,lng:24.9347},YY={lat:50.4777,lng:12.3649},JY={lat:60.1719,lng:24.9347},XY={lat:60.1719,lng:24.9347},QY={lat:50.4777,lng:12.3649},eJ={lat:50.4777,lng:12.3649},aJ={lat:50.4777,lng:12.3649},tJ={lat:48.9742,lng:8.1851},nJ={lat:60.1719,lng:24.9347},cJ={lat:60.1719,lng:24.9347},sJ={lat:50.4777,lng:12.3649},rJ={lat:50.4777,lng:12.3649},iJ={lat:60.1719,lng:24.9347},dJ={lat:50.4777,lng:12.3649},fJ={lat:60.1719,lng:24.9347},oJ={lat:60.1719,lng:24.9347},lJ={lat:50.4777,lng:12.3649},bJ={lat:50.4777,lng:12.3649},uJ={lat:60.1719,lng:24.9347},hJ={lat:50.4777,lng:12.3649},gJ={lat:50.4777,lng:12.3649},mJ={lat:60.1719,lng:24.9347},pJ={lat:50.4777,lng:12.3649},yJ={lat:50.4777,lng:12.3649},xJ={lat:52.52,lng:13.405},wJ={lat:50.4777,lng:12.3649},vJ={lat:60.1719,lng:24.9347},SJ={lat:50.4777,lng:12.3649},_J={lat:50.4777,lng:12.3649},EJ={lat:60.1719,lng:24.9347},CJ={lat:50.4777,lng:12.3649},jJ={lat:60.1719,lng:24.9347},AJ={lat:60.1719,lng:24.9347},IJ={lat:50.4777,lng:12.3649},MJ={lat:60.1719,lng:24.9347},NJ={lat:50.4777,lng:12.3649},kJ={lat:50.4777,lng:12.3649},PJ={lat:50.4777,lng:12.3649},TJ={lat:50.4777,lng:12.3649},DJ={lat:60.1719,lng:24.9347},RJ={lat:50.4777,lng:12.3649},OJ={lat:60.1719,lng:24.9347},FJ={lat:60.1719,lng:24.9347},BJ={lat:50.4777,lng:12.3649},LJ={lat:52.52,lng:13.405},UJ={lat:50.4777,lng:12.3649},$J={lat:60.1719,lng:24.9347},zJ={lat:60.1719,lng:24.9347},GJ={lat:50.4777,lng:12.3649},WJ={lat:50.4777,lng:12.3649},qJ={lat:50.4777,lng:12.3649},HJ={lat:52.52,lng:13.405},VJ={lat:50.4777,lng:12.3649},KJ={lat:50.4777,lng:12.3649},ZJ={lat:60.1719,lng:24.9347},YJ={lat:50.4777,lng:12.3649},JJ={lat:50.4777,lng:12.3649},XJ={lat:60.1719,lng:24.9347},QJ={lat:60.1719,lng:24.9347},eX={lat:50.4777,lng:12.3649},aX={lat:60.1719,lng:24.9347},tX={lat:50.4777,lng:12.3649},nX={lat:60.1719,lng:24.9347},cX={lat:50.4777,lng:12.3649},sX={lat:60.1719,lng:24.9347},rX={lat:50.4777,lng:12.3649},iX={lat:52.52,lng:13.405},dX={lat:50.4777,lng:12.3649},fX={lat:50.4777,lng:12.3649},oX={lat:50.4777,lng:12.3649},lX={lat:50.4777,lng:12.3649},bX={lat:60.1719,lng:24.9347},uX={lat:50.4777,lng:12.3649},hX={lat:60.1719,lng:24.9347},gX={lat:60.1719,lng:24.9347},mX={lat:50.4777,lng:12.3649},pX={lat:60.1719,lng:24.9347},yX={lat:60.1719,lng:24.9347},xX={lat:50.4777,lng:12.3649},wX={lat:52.52,lng:13.405},vX={lat:50.4777,lng:12.3649},SX={lat:50.4777,lng:12.3649},_X={lat:50.4777,lng:12.3649},EX={lat:50.4777,lng:12.3649},CX={lat:60.1719,lng:24.9347},jX={lat:60.1719,lng:24.9347},AX={lat:52.52,lng:13.405},IX={lat:50.4777,lng:12.3649},MX={lat:60.1719,lng:24.9347},NX={lat:50.4777,lng:12.3649},kX={lat:50.4777,lng:12.3649},PX={lat:60.1719,lng:24.9347},TX={lat:50.4777,lng:12.3649},DX={lat:50.4777,lng:12.3649},RX={lat:60.1719,lng:24.9347},OX={lat:50.4777,lng:12.3649},FX={lat:60.1719,lng:24.9347},BX={lat:50.4777,lng:12.3649},LX={lat:60.1719,lng:24.9347},UX={lat:50.4777,lng:12.3649},$X={lat:50.4777,lng:12.3649},zX={lat:50.4777,lng:12.3649},GX={lat:45.2496,lng:-75.9181},WX={lat:60.1719,lng:24.9347},qX={lat:60.1719,lng:24.9347},HX={lat:60.1719,lng:24.9347},VX={lat:50.4777,lng:12.3649},KX={lat:50.4777,lng:12.3649},ZX={lat:50.4777,lng:12.3649},YX={lat:60.1719,lng:24.9347},JX={lat:60.1719,lng:24.9347},XX={lat:50.4777,lng:12.3649},QX={lat:50.4777,lng:12.3649},eQ={lat:50.4777,lng:12.3649},aQ={lat:60.1719,lng:24.9347},tQ={lat:50.4777,lng:12.3649},nQ={lat:60.1719,lng:24.9347},cQ={lat:50.4777,lng:12.3649},sQ={lat:50.4777,lng:12.3649},rQ={lat:60.1719,lng:24.9347},iQ={lat:60.1719,lng:24.9347},dQ={lat:50.4777,lng:12.3649},fQ={lat:50.4777,lng:12.3649},oQ={lat:50.4777,lng:12.3649},lQ={lat:60.1719,lng:24.9347},bQ={lat:50.4777,lng:12.3649},uQ={lat:60.1719,lng:24.9347},hQ={lat:60.1719,lng:24.9347},gQ={lat:50.4777,lng:12.3649},mQ={lat:50.4777,lng:12.3649},pQ={lat:50.4777,lng:12.3649},yQ={lat:60.1719,lng:24.9347},xQ={lat:60.1719,lng:24.9347},wQ={lat:50.4777,lng:12.3649},vQ={lat:60.1719,lng:24.9347},SQ={lat:50.4777,lng:12.3649},_Q={lat:50.4777,lng:12.3649},EQ={lat:60.1719,lng:24.9347},CQ={lat:50.4777,lng:12.3649},jQ={lat:50.4777,lng:12.3649},AQ={lat:60.1719,lng:24.9347},IQ={lat:50.4777,lng:12.3649},MQ={lat:60.1719,lng:24.9347},NQ={lat:50.4777,lng:12.3649},kQ={lat:60.1719,lng:24.9347},PQ={lat:0,lng:0},TQ={lat:50.4777,lng:12.3649},DQ={lat:50.4777,lng:12.3649},RQ={lat:60.1719,lng:24.9347},OQ={lat:60.1719,lng:24.9347},FQ={lat:50.4777,lng:12.3649},BQ={lat:50.4777,lng:12.3649},LQ={lat:50.4777,lng:12.3649},UQ={lat:52.52,lng:13.405},$Q={lat:50.4777,lng:12.3649},zQ={lat:50.4777,lng:12.3649},GQ={lat:50.4777,lng:12.3649},WQ={lat:60.1719,lng:24.9347},qQ={lat:50.4777,lng:12.3649},HQ={lat:60.1719,lng:24.9347},VQ={lat:50.4777,lng:12.3649},KQ={lat:60.1719,lng:24.9347},ZQ={lat:50.4777,lng:12.3649},YQ={lat:60.1719,lng:24.9347},JQ={lat:60.1719,lng:24.9347},XQ={lat:50.4777,lng:12.3649},QQ={lat:50.4777,lng:12.3649},eee={lat:50.4777,lng:12.3649},aee={lat:60.1719,lng:24.9347},tee={lat:50.4777,lng:12.3649},nee={lat:50.4777,lng:12.3649},cee={lat:60.1719,lng:24.9347},see={lat:60.1719,lng:24.9347},ree={lat:50.4777,lng:12.3649},iee={lat:50.4777,lng:12.3649},dee={lat:60.1719,lng:24.9347},fee={lat:50.4777,lng:12.3649},oee={lat:45.2496,lng:-75.9181},lee={lat:50.4777,lng:12.3649},bee={lat:60.1719,lng:24.9347},uee={lat:50.4777,lng:12.3649},hee={lat:60.1719,lng:24.9347},gee={lat:50.4777,lng:12.3649},mee={lat:0,lng:0},pee={lat:0,lng:0},yee={lat:50.4777,lng:12.3649},xee={lat:60.1719,lng:24.9347},wee={lat:50.4777,lng:12.3649},vee={lat:60.1719,lng:24.9347},See={lat:50.4777,lng:12.3649},_ee={lat:60.1719,lng:24.9347},Eee={lat:48.8558,lng:2.3494},Cee={lat:50.4777,lng:12.3649},jee={lat:50.4777,lng:12.3649},Aee={lat:52.52,lng:13.405},Iee={lat:50.4777,lng:12.3649},Mee={"000485fe436ee2c26431cd90f892dbcc1512a4dc3af7489c30b6c49ede7e864f":{lat:60.1719,lng:24.9347},"0012bce372086c231e8d1d114508e7842ebc5a407b937d79c3a043aed3d7f529":{lat:50.4777,lng:12.3649},"001488a85fa7b026acb6c228729e0a8aabfe419abb86bbe7e4672a7aac604693":{lat:60.1719,lng:24.9347},"0029f7f5f493135e1ec96610d224739cc2798cf304b982a16803898a7c1dc5bf":{lat:50.4777,lng:12.3649},"0042fe8651181da99cb4bf748f407f09b3a87a93e0877b698d147e19eb528c46":{lat:60.1719,lng:24.9347},"0042ff15aacebd58d50302259119afab85ca7222580e4d5881c63fcfa6316957":{lat:49.4527,lng:11.0783},"004b5c4139946c06d1dbe46e2a7497c081e8f80603991bcc08876b20cc2b2d72":{lat:50.4777,lng:12.3649},"00553313828d3c19536b887f324a6e75a320733286adac6cd98ad002894c53d5":{lat:48.9742,lng:8.1851},"005ebcb63d3837379981c250854d7d3994f1c4bb40fae3a8d83b8d428d70d392":{lat:50.4777,lng:12.3649},"0065ba2faccf228b80be1f26d5bc2d6181ffedd78dda6337617da7e868fe699b":{lat:60.1719,lng:24.9347},"006f33b12a059a7038e156d15fcb696fb4199432fcda22abd584646e485c997f":{lat:50.4777,lng:12.3649},"008a64303cb8a752bd4489d8b5c135ed0588ac33a3f627b9134d6fe296fcdc89":{lat:0,lng:0},"008e7b6a52143f80448b707613ac781e1906d6f08c8bbce70c576468125e027c":{lat:0,lng:0},"0090b098421aa4ed309be0779d8bb5c72fa59628005bbc548e8d4e71a2e969c5":{lat:50.4777,lng:12.3649},"00bacfb4e831ec989c7848b8ed35b96efb737b897a142229bd85e115024ac789":{lat:50.4777,lng:12.3649},"00bbc8d2f0fc187e65617f5d801f8427ebeb3a350a9a46bc19462a2ad465220c":{lat:60.1719,lng:24.9347},"00c73cfe4b806e2e82a68bafb6eb38bb914ede6a2cfc9ad42fdd6a8c12b51fd9":{lat:50.4777,lng:12.3649},"00cc88b4ae15f599bf2d741134990243c63cb894b39a508810ef9777f9b757ab":{lat:60.1719,lng:24.9347},"00f77c968790ed83f21631593dac09f38f324e69d2f190781edc5eddbb289556":{lat:50.4777,lng:12.3649},"00fe18660210d9adb2823b687b32f0cd119858347bc5a6e87b52991cc9b68c94":{lat:50.4777,lng:12.3649},"01013434c9eb1adbadf3d224321d7f0be36fb14d83f933fd3b9a755a73e95bb4":{lat:50.4777,lng:12.3649},"010a29f32412e5cbc227dc8c98b791829084f8e12fb6ae4215f4464f5d9f704b":{lat:50.4777,lng:12.3649},"011f0f3956c9d757a5c49e887b84d31d7fc8e109070e377651f4eae91a8f297d":{lat:60.1719,lng:24.9347},"01235d09f89894a70caa84ad8ab5e5380fa413c0e77a29324ae790a423bd6928":{lat:50.4777,lng:12.3649},"01377621ccc332337c40e018883a600e4d257a7902966b96743e3d1ebc5f887b":{lat:60.1719,lng:24.9347},"014978c3a785d1115ca55dfe09dc33a2bdc91ec759a298f8afa1b752c74939f0":{lat:60.1719,lng:24.9347},"014d6a6c1c1c1a24ace46f8779822f442417fb43bb29b9c4ceb9558602581778":{lat:50.4777,lng:12.3649},"014e14c2ad6ac953cb691a0a0d0aa33e3ea0c8979fffcaf32c003d52970e1c56":{lat:60.1719,lng:24.9347},"017d73c634ce1107a3f4e7914eefd41df9f577417f62a5f23cd8ff50027cdf68":{lat:50.4777,lng:12.3649},"0187afb212b54337cb2e191803c3dcc68919056d90ba08a630160bd24602b9e5":{lat:50.4777,lng:12.3649},"01aebc6da013af0e382e3aa277308dce45c5d8d9d743f44ae3ea5fbadd3aedf3":{lat:60.1719,lng:24.9347},"01b33a0553cba2fa9392f79f99bed389f5fb2c8a1a9ecc31e60b99a6af7a0197":{lat:50.4777,lng:12.3649},"01cf7bf97a3714975d8a7fe06fe58ceaeb22febf48d4f1b09ff097de6a3f638e":{lat:60.1719,lng:24.9347},"01da7835afedfe4ee5c5d9e5c4b3e9cdb3a0eae0cf77a5a0b00f89c014ba942f":{lat:50.4777,lng:12.3649},"01f1fafc20260dbcc1c94a4e08a7a13cb9b25c4866a741cf93e8fa2204653c8c":{lat:50.4777,lng:12.3649},"020dc73bd9216932abc4c7c6bc2228442752471675749d7192b423256976200f":{lat:50.4777,lng:12.3649},"021a98214c35c392bf47baf7120f8c2c5370670a9a07fb7adcb15830a9af1326":{lat:60.1719,lng:24.9347},"0224584357fe4f6ffbe4fad5a0fe6b27df69827b6c83b2a212013fcc2ca27322":{lat:60.1719,lng:24.9347},"0237b4545862f113e01b135bfe88ba0b7435b7ec321d5c940c60982847555412":{lat:60.1719,lng:24.9347},"023f4a0f99c80a72cbf5cded994caf7709b2ebd2916ca76a5dd6f381937e2617":{lat:50.4777,lng:12.3649},"024622230676109dcc2ba0fd3e34210732ea5c711b681366b1e3518d4d35d33b":{lat:50.4777,lng:12.3649},"025f3fcf387046813bc5b771f0b3f97ca89320188e6e528197c30c6929f640f6":{lat:60.1719,lng:24.9347},"0269e1de69e7397f140a12f757a2903129139ec4f9b61aeed242fd88ac4341f7":{lat:50.4777,lng:12.3649},"02758982c4025925c148833170cf120fcd1e9620e0623a821fa6a4e40df32859":{lat:50.4777,lng:12.3649},"02891952ec76ed6ff486edf191d05ef2f5db91875dc4d5b31c1310f2a8ed0ff0":{lat:50.4777,lng:12.3649},"0292ad8a4a76b620d069a859ec8501959c1f7654e92771a7ff88342904549f9f":{lat:60.1719,lng:24.9347},"02b031c92022a7c129d322d95940e49bd4f443e5d4b1b53fff00830054d13844":{lat:50.4777,lng:12.3649},"02c6792ebbbda292969ee6ff9771119c9537fad408f997b7b20a9cc753b5f05c":{lat:50.4777,lng:12.3649},"02e52578e2bb47737f63736f63c19fbe05c648b415b1de185374f8d777259a4e":{lat:50.4777,lng:12.3649},"02e98c5c4e2e8aaebd422c3caea4ee11275a9c03f928f836f5f7215d8cfcdbbd":{lat:60.1719,lng:24.9347},"02ee51dfdb898cf15450b302662fa7a16644a36976dfe3feb81e4b811a5eea41":{lat:35.6552,lng:139.761},"0305f9d35b37d203f5be03825f7011b7932239fabb0ca4bdd0ce600fb748b7cb":{lat:60.1719,lng:24.9347},"0306619b5216d4c6b50f16eebfecd9f387be2d56929930494a669c7ac0d91e19":{lat:50.4777,lng:12.3649},"0316d0a640c8c0391f5472c10ded1fd2ccb1cecd3938a47eb121dd65474062d5":{lat:50.4777,lng:12.3649},"032452a16b9c14359d6e91cc4688fd29f3aa0fe671a92e749c2af83e9a1be824":{lat:52.52,lng:13.405},"03342c98d3dc48a230f43446a131baca0c5a741b1808c3cf7be06a1c26dae397":{lat:50.4777,lng:12.3649},"0346018194a7bdd364143b62be7dfbba9709622727aa77d16bbd585170128bd1":{lat:50.4777,lng:12.3649},"0352504d444c503448f84d558a9215ea6a2175c603e7ea67efb077ff6e54b9b3":{lat:60.1719,lng:24.9347},"0361e92f104d9ef6423737f66d407d21796c2db471ab8eda7862f3fc97debbc7":{lat:60.1719,lng:24.9347},"037760172a6c4de7614fe8885b1f1fa8c03bc9ef92739a0ffaed1b044fecf8dc":{lat:50.4777,lng:12.3649},"0395b6e432b28e0d3a609b181556dd1c7c95b79233904fc029eaf556d6ebc3ff":{lat:60.1719,lng:24.9347},"039c640ff51ef973f64e413e3f230c79327a6b84ec0622f3d429dadf2a999cbf":{lat:50.4777,lng:12.3649},"03bd6a602d7e469546aebd327a21d5bf344cd6fac6fca0d64bfbfca59ec55ce2":{lat:50.4777,lng:12.3649},"03d3a53c79b57dc5065bbe1e44fff7be470753efa5c484f489440cf656bf192d":{lat:50.4777,lng:12.3649},"03ed52991fd92c513981f762bfb49b718dce7d6441b283dd8636d4b74c3ee9e5":{lat:60.1719,lng:24.9347},"03f5703a3e7b4413d592af0c40faa843e3296c8aabc897eac110135b9753f778":{lat:50.4777,lng:12.3649},"040dd9e8f2fafe34cf5d381eb1b45cd4e1873b9d44091ea0576b5c6be687d6b4":{lat:60.1719,lng:24.9347},"041a74b7d9c6b03692b7e0d9f6ff4a7dcf2cfde91a87046c20fe2abb2ee370a0":{lat:50.4777,lng:12.3649},"041adf21edc1230cc9469dd3960a1cbff0de4ae85c6545bcd447a75ab728c2ef":{lat:52.52,lng:13.405},"042971a3de83a2e1858c4350d2470ef3ee1c6756009c4f5320908bd8aa7283a8":{lat:50.4777,lng:12.3649},"04494c14c2386961f5bae5864ea7ef2491967ab6227094e22e28133846ce2717":{lat:50.4777,lng:12.3649},"045957996df87848bbeebd183312fa703eb61c610dc2b380a8aa903f45af474b":{lat:60.1719,lng:24.9347},"045e09145e0b754a93d786671b6a793baba1781eea3a9d272e04d61cd0b11ab2":{lat:48.9742,lng:8.1851},"04692353040818a4009166a6e70e9baea95df66a8fbfcf7d7afffeea2b8fd8fb":{lat:50.4777,lng:12.3649},"046c4931632f0265decdc1d313b2ea5b9886fc9046084bd346eab1b2d940e018":{lat:50.4777,lng:12.3649},"04798a6a8cd297bf37e15d8b3b6a362898e56d740a626624e452056826e88561":{lat:60.1719,lng:24.9347},"0499f1e076e3ec25d6e6456010e301a1cb0e3439980fcea958cfe1b1554735f7":{lat:50.4777,lng:12.3649},"04a741bf5a5438f284acefcc9186827b9d79e7ae2c3a754a9d10e14a67361d65":{lat:16.2689,lng:-61.5073},"04b3155d6d9869e74cc84845a1e1b787c8776bd3b14ae55f02b8170aaa0f89bf":{lat:50.4777,lng:12.3649},"04b692b926b450a3402733042c5f7e1c5a003feb7cd05181c26f6cd0de097574":{lat:60.1719,lng:24.9347},"04ca4acfca24d8f094746274c4dd7ea09957d694c35f8688d2af454a3c4ff853":{lat:50.4777,lng:12.3649},"04cb3b56228446f007614bdae51e7032a6233d5e22abcfc5f33b62cb2b75c8af":{lat:60.1719,lng:24.9347},"04e0447dd8fe12a88b1a817397229f084a17e6ee83e2d5fa1a22965fa54d80d9":{lat:50.4777,lng:12.3649},"05051eaedf16893b283da145c2fecfc41702a096e65ee68e41687b84ba261618":{lat:60.1719,lng:24.9347},"051e34d3abf0a437c94389125ab3417bc764db9a10bc716e6f60706dadd78021":{lat:50.4777,lng:12.3649},"0528159c27acd6ed1e045fd2a1d84e6bf7e5dd537b5f0f5dd9e683e922370b00":{lat:50.4777,lng:12.3649},"0539a988109dc64af1621cca469f8e62ad20eb0995d6df96430bfe8cf895c334":{lat:50.4777,lng:12.3649},"054ee1d40e3e66714104e65626440884986ebf716be80c8dedcb6d02ef26faf4":{lat:60.1719,lng:24.9347},"05500b5b2c2c1aee18e2c5fa151368769c656bc634f7fb3359c92d83d45bbf1c":{lat:50.4777,lng:12.3649},"0550bf651fbca40a683aae969316102b32d0f20cd9ed1a2dafcc4ce86776f37f":{lat:60.1719,lng:24.9347},"0560ad93dc64ff6588ed7c1554766181ab12ee3a3d2fd1a4231b35545b528ad1":{lat:60.1719,lng:24.9347},"05651bc4e45a9c6849e2cd212a7b5b67c73d516c82353a50cee40c56155d3129":{lat:50.4777,lng:12.3649},"0595533a1ac8d1072af235d6099a4deb80c52eea4bd033ecace5942608b1bda4":{lat:50.4777,lng:12.3649},"05a549a9c047978e01a719da347e4a09ffc3d69a3fb7358630ac165cf826c6a8":{lat:50.4777,lng:12.3649},"05bfb9b562da61cbec7bb30536144e31d3a8cc37636a78c31a974bd0d2c63036":{lat:60.1719,lng:24.9347},"05c393e11f33b025e4b510dd348933c5939d38966b51dd4c3ba04e643549462c":{lat:50.4777,lng:12.3649},"05de65be48af659a332eae807a9842217f75f30302dcad8b1409bcc09f7bb170":{lat:52.52,lng:13.405},"05e5388b9156d020eb290f36c05ee93b7525308c17128409f39f682c49a6947e":{lat:50.4777,lng:12.3649},"060750eea19dea67871c47db9af80e35588b7434ddb9dcf742b98876a60dbe9f":{lat:50.4777,lng:12.3649},"060e0eba328c0471d22fec05b528243b6184912f35121d9eb2a51bc5a8615bac":{lat:60.1719,lng:24.9347},"06207cf49b9030f8b28d238f4f138612857cce2f04424ddc072c270e8df857db":{lat:50.4777,lng:12.3649},"06485f0084e59b030c4b7292ab0061f56bb18ee3e548703b31262b9d00877380":{lat:50.4777,lng:12.3649},"06625c7ebdfb26de334828949d89e8a1b175ea739b4d8f44e39fcca46317f4bf":{lat:60.1719,lng:24.9347},"0670832a928918d7a609d9480bf673d656bf4b614015389754141557ff5cd10a":{lat:60.1719,lng:24.9347},"067d50b1f8af097c23710f19e1812c122507d57eed71c18223a8dccf55c6955d":{lat:60.1719,lng:24.9347},"067e7cc5b25d54e2c4d6b2222ee8c753ae0e64b5e80590b6db04be28e4fff100":{lat:50.4777,lng:12.3649},"068d4f172b4be51b5f371ee06c602c228ae58ed5a16ad938a15970792208fe36":{lat:50.4777,lng:12.3649},"0697a33765532a99a0684a691604b292f1a2edb4549b2a779aabd56814a578d9":{lat:60.1719,lng:24.9347},"06b7f575236ab4b3e9cf53ea2af0841f44516d89701f3ad44e8aea7e224581b4":{lat:50.4777,lng:12.3649},"06c94ff403f4b393e4d156a9674b124fe8fb62035c79bc6c6aa91f029150d38a":{lat:50.4777,lng:12.3649},"06cac2fe932331042e78d90c4099dfd65e8cbef6c19b8add32f9057c4a569c8d":{lat:52.52,lng:13.405},"06fdcdf89afc62341a18e9b77e3818ff57f73398c863c07a6aefb0227845ce5a":{lat:50.4777,lng:12.3649},"07084d36173ab8ec05fc4f4d267c6384c6c2c31bfb0719e51d3311549e12d446":{lat:60.1719,lng:24.9347},"070fb3308a0f2b21b23565f34f48fdd68dbe355a0946147328c43e2f5c309bda":{lat:50.4777,lng:12.3649},"0722ac1b575f1eba4c340ccda0d8fcb2acafbaac5c01ffb0b88d791f40fcb3e9":{lat:60.1719,lng:24.9347},"073495c756e42c2fe5badf074420680d531e569b593791d9cadee80b72be4636":{lat:50.4777,lng:12.3649},"0753ab563cd66eb56710a463af25f21c857b74b746cd074167ed15080b34ede6":{lat:60.1719,lng:24.9347},"075b756e6bb6a3acf146b4612839cc3683a3d99f7d80ffd7625333b77e2f3cf5":{lat:50.4777,lng:12.3649},"0777703e282ebd5ef219a877ac63ddc9d0e2bf06f8ca0b96121ba1780dce2ce1":{lat:50.4777,lng:12.3649},"0778e9572de8f8dca10bada1b671db786b16a5adb1dea5a9e0c61c77b88638fa":{lat:60.1719,lng:24.9347},"07873b377b7731dd1fc6a9aec21143e9f775c4ff284ee798c9d3cf09e34da365":{lat:50.4777,lng:12.3649},"07a00ee70ca1b1a86d4af8c111fd73037883d180e29a08af46d3eccd6a668db8":{lat:52.52,lng:13.405},"07b16c3fdd0e55e44f628e2c014b233873fdfc549f2ed9def6d4bc5a80b6960e":{lat:50.4777,lng:12.3649},"07cf0902f4975a68c87a6ef99c1446989f96e51f7c2324a03ed964a42d3df22b":{lat:50.4777,lng:12.3649},"07d1b5558b4575e3653f4534ffcdeebde9eace77e603e5ea6aa390ee132b24e9":{lat:60.1719,lng:24.9347},"07f6e9619833b515f9d73ad35d5ccedfb300ea0d8712d66b05b02f8097c076ff":{lat:50.4777,lng:12.3649},"08067ecfd6dfbbac2979f75b2130781d4ba6b95207825c860df355d603dc46e3":{lat:60.1719,lng:24.9347},"080d23185347163986fca1e1f4633741a84b2fd28ec2afc54aec0706307748ce":{lat:50.4777,lng:12.3649},"08241d984ecb71cc8b303fda349a559ca3ccab254b15dc7e1843a25932cb516a":{lat:50.4777,lng:12.3649},"08386aa9a36402842f59652131b71a4e5f4c27de2537dd0f30dc2636419fae35":{lat:60.1719,lng:24.9347},"08565400357c6454beb0e7d9c40f185a53469c1e4f401ee5f1de9261f693f555":{lat:50.4777,lng:12.3649},"085d11aff3d12760e18541e70e717e72f21879b2e0b426f361531d2f003c5459":{lat:60.1719,lng:24.9347},"0876e3f7257fac20422a594ff55a39aff80dfb68ecc55d356f143bb4a796f976":{lat:60.1719,lng:24.9347},"087a3093fb8e019238803a3b2df8571c1bc25702892ecd8f80b3707b6b655695":{lat:50.4777,lng:12.3649},"0888e42afa5beea68029fc31804f206bda6d5529abe6638f9a65c18bda0daa13":{lat:50.4777,lng:12.3649},"08bc4a40af28289335e1a6aa8c97153e1a1c736b6564bb4030a8698bc95d66f1":{lat:60.1719,lng:24.9347},"08bcc216535e4e49ca2d80b5bfea32ea3d6522fbcca1c1d184bee41402ea31c8":{lat:50.4777,lng:12.3649},"08c0a498d9d818c98a259d285fe3be3679dd8052eeeebf8d49c4947d215e4471":{lat:50.4777,lng:12.3649},"08d803745889ee0c8723cdadcd405d73326c128af772f4daef29055823721205":{lat:45.2496,lng:-75.9181},"08ee0b561d399c8018d09288daaa4009aba946ddd0a1575aea0d9686fafad971":{lat:50.4777,lng:12.3649},"08f55edda31ab5e9ca60041a88ac5130ae53a1ce0334e66206c8fdc41c7c6dc6":{lat:60.1719,lng:24.9347},"09134fa640d2262d99f673c95adfe90c46b222269e61c4df295f4fee84cd47e7":{lat:59.9133,lng:10.7389},"09160ce37402762a9b08750950fc516135bed81e4cdedd32e0683419d7637339":{lat:50.4777,lng:12.3649},"091aa0c252edebf6192c15ab62017940a46221685c968aa4f56189e203e97f6f":{lat:60.1719,lng:24.9347},"09378c7a9e776c4044b1747853948f46ecc347f3320e481421f568193dbfd8cd":{lat:50.4777,lng:12.3649},"0942ad107a6af3920a471c43ebf4a463c7b7c6de2c04e485c93fdae51f768d0b":{lat:60.1719,lng:24.9347},"095572b885243ab15c088a06e5580b6faa12f7a22ba072f7032fb0e0fb2bf699":{lat:50.4777,lng:12.3649},"09581b3c541b83aba520ff01f0938c46450692f74925efb8736115eae5093f84":{lat:60.1719,lng:24.9347},"09605dc9169d4ce0621954a0d2cb0c53bc7484300a00360669d6b5287c474cca":{lat:60.1719,lng:24.9347},"096f3ef040078a85684353a86948b251ce5b327e60c3ae5d54618bd10d0a9497":{lat:50.4777,lng:12.3649},"099ebe21c31bc559a0dedfe4071f8af36fd5dcce1c5e2855727f91e62274e936":{lat:50.4777,lng:12.3649},"099f19ba0fd6f357dce2d87959e51b5c1424db036361e5e190bc912923139968":{lat:60.1719,lng:24.9347},"09b6e8f2786a621fc92b7ba41d73f367da8dc3be49b2c6d777b1db23759d8902":{lat:50.4777,lng:12.3649},"09c7917e1f790914f9ec5b031b024237c427e2ebfb0905b766d87b6cf13659ed":{lat:60.1719,lng:24.9347},"09d5c0e94b9fd4e886f0eb031a0444747696376fa078275f9e710e8861d204bd":{lat:50.4777,lng:12.3649},"09fe078de5c2abeaf4b38c4055977051a8b0f8130ea21711d84451acb6e65e55":{lat:50.4777,lng:12.3649},"0a0dd9932a4a20eb488d0ce60488928230ab3314e5b62e1e167277736160e66a":{lat:60.1719,lng:24.9347},"0a12d18677b46905199d5d32a462feb477fc6d81dd1df506b6bff165da73ad40":{lat:50.4777,lng:12.3649},"0a2ce0e367dca50c76845968d986b7657d7aa59a62abf8ccc052a42e4eaa0a94":{lat:50.4777,lng:12.3649},"0a354573f8b178c4e83ef88551808e4342d8e7aabc2939ff67d40e69839dc4a3":{lat:60.1719,lng:24.9347},"0a43c0b96bb508b0721c058e9957fe3c592dd2775639a670d6966f46267aee68":{lat:50.4777,lng:12.3649},"0a5b693c9d0fc4bcd2164889405d671c78035cd6d11101984d66f3e8746e6cf2":{lat:60.1719,lng:24.9347},"0a656dd08eb9fc43caf540a8beefff8fff471623ec7cf098f5e7c15a4365d48e":{lat:50.4777,lng:12.3649},"0a7274888f2ca1555e913da2551e3c792f95800349648ca0b80952db941a6233":{lat:60.1719,lng:24.9347},"0a8ecfa22298488f6cd1198aa26272243a23bc3f7ae5f4dbf51e8528b8873fa9":{lat:50.4777,lng:12.3649},"0aa54b12723581a4b4c6c87d52ee5fbd060f9c1bc9cd002131cc9813471cfcb3":{lat:45.2496,lng:-75.9181},"0aae227cac294e9f8af5d939d7c86ac9e6cd12cac5f1e28989e8363d004a3477":{lat:60.1719,lng:24.9347},"0ab6e3b1c44aa2c16dd5239b5dc4481be7c773768dc17190ccb9fa208fee81c4":{lat:50.4777,lng:12.3649},"0ad5f67595acda892e96c379c76bf041a9d96ec2099abbb51ad4d5bb0913f069":{lat:60.1719,lng:24.9347},"0adf471c1f0eb37c7bfedfb1e2ef72998fab9ead8a12564dffa4c0498a4d5451":{lat:50.4777,lng:12.3649},"0affb3268d129598cd38eee88372b78d74a33d70072d41f56d502315e6eb22de":{lat:50.4777,lng:12.3649},"0b0903477c741185f4a3bd03bde4405c5b115b376c0b5a0c13b67090c8ef455d":{lat:60.1719,lng:24.9347},"0b1e88e89f25b2e3d066df7ff0fe07a60e99d5427badb189c163f50634f8d459":{lat:50.4777,lng:12.3649},"0b2db877cba320be9dc8797e367c17f44d1767d133eb497826e2c2171a9749e7":{lat:50.4777,lng:12.3649},"0b41e0b6c744d58c1633e409ca57da9b36fbb873c9644cfb046c2bd04990e0b1":{lat:60.1719,lng:24.9347},"0b57e1c10ae507d500d02476c76674fdb4974ff7cbe493a73a8598be5ec94f88":{lat:50.4777,lng:12.3649},"0b5b38a7de58f3c874a9dfa4a57560d4b338321ef2c120014edccb48833207e5":{lat:60.1719,lng:24.9347},"0b5fa3b8d6c59e907d38d4643e78180e4656384836b45f46e1ed8fa42cfa0d2e":{lat:60.1719,lng:24.9347},"0b7d88d175f99204f8b785c1bac1ba0a77ba9df85cb0208e378c2e66c9755281":{lat:50.4777,lng:12.3649},"0b8fc5aaa6902111c064b6310a3fb0eb1adf57162b4f42ad41bb48b8aaabc7c5":{lat:52.52,lng:13.405},"0b996934df98599ffc6bc06ac9dbc11493481adc685cc5f008146ad0978f0707":{lat:50.4777,lng:12.3649},"0bbfd0e5ceaedb7becbd9ae6b438400acb74f4e1eaaeaadc9d9569d8215b2c34":{lat:50.4777,lng:12.3649},"0bcfd445d464d7899b89b65cb5b6ccb90d0e6959662b143b39f5b9c54cec6ab2":{lat:60.1719,lng:24.9347},"0bddfc4cfd545ce95e8c90e4400890218531e747b637d06433ae25c6965863fe":{lat:50.4777,lng:12.3649},"0bf07a424aeb7072ffe57cac82cb279246953fc55916e8239f5d95dc834b667b":{lat:50.4777,lng:12.3649},"0c05b871748a4d79b1ad0bdbbc8160f8bc911090ca0735e648271d9712d7c192":{lat:50.4777,lng:12.3649},"0c238b285fcd5e23feece0056caf6916f8285d3d91f737b6d2b113bca326d548":{lat:60.1719,lng:24.9347},"0c258573d71bba32e2b2157f3f20b577c84d242f63eb857d012f52a5ea7edb42":{lat:50.4777,lng:12.3649},"0c2b6ac43aaaa96200a53e970803325e81490c16c2da0a9d89980b4daa120684":{lat:48.9742,lng:8.1851},"0c3ab678fdb2a631876f86480eec138c966bc1593f209286c67cadfdb63b458f":{lat:60.1719,lng:24.9347},"0c4d2aa430ab557bdef0e2ed316f03b141ab8b3da0e62d86653d32e5d8f58819":{lat:52.52,lng:13.405},"0c5eae202d126a36e757a61235891afc7785bc36c7fb304bbba0c9db08acf546":{lat:50.4777,lng:12.3649},"0c60fd88cd2a3fc79a84a94acb5ceb4c7aae68bb42317d16fbfcfd3d92984a13":{lat:50.4777,lng:12.3649},"0c67f19cacb95d45ba1d8a904416a017f3e919b2cdac16a1e324028ffef84fd2":{lat:60.1719,lng:24.9347},"0c80527e1f1a9d711ba5f9669e7278468c519cbba4dfeb7a0accf0dd953ffe22":{lat:60.1719,lng:24.9347},"0c9c49a064021f1063d032b9e3302f8ec870cb9e9394606947f5a64f747c60e7":{lat:50.4777,lng:12.3649},"0cbec67b0286aea0c075e4f2f61e65b33de7b5e785eaf3cbef7ee5030f4bfbe9":{lat:50.4777,lng:12.3649},"0ccf8faf0a15e6f1764e8d90696e7301fbfa824235b236286bdfc548bfc4a361":{lat:60.1719,lng:24.9347},"0cdc21829e30114eeeb2bb97f09f17602f09b6347c3d064dd9e09b3cc5a2cc10":{lat:50.4777,lng:12.3649},"0cfb5c0b53dec062e5c852cd9d487dd612e387d36e07c3ab67f9102b32ea4488":{lat:50.4777,lng:12.3649},"0d09474cba0d0525582a1905600a6a8aad17a3a9c730ce439d2fb9a0f953ff1c":{lat:52.52,lng:13.405},"0d1b3c68c3a4756b1a9065fe9e1c93f5de53029fec8bbc045ff3c8516437925a":{lat:50.4777,lng:12.3649},"0d25ff5b48080cd4892addd65064168e4274c894a64af3cc472be4f8100e9153":{lat:50.4777,lng:12.3649},"0d43c150b2c5f103a8177739f62db0eb2077cdda39bb78e429cce0b8b2375376":{lat:50.4777,lng:12.3649},"0d4eec3102b29149d137c7e1b8add796d015db58f6f67ddf9330eeec788d76c6":{lat:60.1719,lng:24.9347},"0d676dfd979106545958e28b1bbff77feda17ab003f0dad77a5ec4f4d9a7a18e":{lat:60.1719,lng:24.9347},"0d6e3c8e0b0afe4ed517c06a65bb87f6f421335a021eb425d61e796b457529f4":{lat:50.4777,lng:12.3649},"0d7379dc9449a9768f67e6932a8e24fbaad57b2fefc1862248bef55c47c3e34a":{lat:60.1719,lng:24.9347},"0d9ccf0e4e12c6c822017355bbcfdc192fbabe63c83eef4a832e377abbf540d9":{lat:50.4777,lng:12.3649},"0db8d5d08d604f2e81c15ea9f1c0402709873ce6b9a26ec31bdbc7c0f27c7b2e":{lat:50.4777,lng:12.3649},"0dbf50f486d8bb2079c6984a3b4b0beb2e0c522b3924aa01ba7721c21e329adf":{lat:60.1719,lng:24.9347},"0dcbe237ca6a6d266b4ff00c4252d528e618ca25af4f5c86d35c2e2633b1ce22":{lat:60.1719,lng:24.9347},"0dcc18a77082a506e4ea5bf08b3e8182e0a67155c8990bc6bf7e4ea550daff8f":{lat:50.4777,lng:12.3649},"0de1824ff496332b6cca7b7dfd59d81e5fa804a6ecc88a7b2e7758dbbd272051":{lat:50.4777,lng:12.3649},"0e13aea697895510ddd6710e316cfda28facb6099f922c6cdd10676c5d85ad1c":{lat:50.4777,lng:12.3649},"0e27af5db03ca428bc369cd23d02cd76fd33b3c32871990cd79d25592ee5e328":{lat:50.4777,lng:12.3649},"0e2b3cad16ae27b7be84df580ce6a57e8291d30ca55ecbb69d2137f220408ea5":{lat:60.1719,lng:24.9347},"0e507029899f40ef40645c2519c714d263da7b27990a3ac0a72454588c6960f3":{lat:60.1719,lng:24.9347},"0e51725bdd2787390872c482cbf928c51b1581e1e8704e05f2a4b7e6571be629":{lat:60.1719,lng:24.9347},"0e551e7baa653c77b93e0ee726a7360aadabb1443c3ff1e283f4ef06d0bd22d4":{lat:50.4777,lng:12.3649},"0e65f2eb30c76c62123123443e558e9f55239c599a2b6a3f2d01e618799846a0":{lat:60.1719,lng:24.9347},"0e74826e978f537e9aaa5934c7e8d5323af4f5b80e04dfa2ff8ab0cadcc3e931":{lat:50.4777,lng:12.3649},"0e8813618acb7001949a10b7be1a15c18394651ab91e5a0839eea8d08fd42cf2":{lat:60.1719,lng:24.9347},"0e9c35136ab1f533468f32b3eb288d09138483c80dd392e57bb24624452c1c94":{lat:50.4777,lng:12.3649},"0ea3122dd0c117d61dc144bae05cc2da08cc65df35650b3d0451bb1af378a4a0":{lat:50.4777,lng:12.3649},"0ec2c6cf02de6d3c5b2ecd6d088f82d822ebaf2c849fcef491a4b7b31d246496":{lat:50.4777,lng:12.3649},"0ee5954cf8817841ed3b559cb6c2331667bd03f3f86a646b0eeb8eb3ba921039":{lat:50.4777,lng:12.3649},"0ef0cb97d8e19d52b93f64919c163d9a6a3a5b47d2daf0e5f0c8ad249a4d7f4c":{lat:60.1719,lng:24.9347},"0f0d9de6c74f88894c1422872ae80bf4b16a3905f0ff702103e9318fbf8b1e3f":{lat:50.4777,lng:12.3649},"0f1d3b2a301f26328c17c7a55499319f90238f528cdbc6bbf992be47ff678bfd":{lat:45.2496,lng:-75.9181},"0f22f713030e02d29ee33f46dcfbab0143b7867c98ac05b3efe6bfea678b0f5c":{lat:50.4777,lng:12.3649},"0f30de8ff0b88f9f74e8e58bfeefc6c45c78b6bb60ad7002b0f13829803b246f":{lat:60.1719,lng:24.9347},"0f327bc60f3b52b747d7a0fa9b3be25ac5e9ed7e37057e643536ef27304805bc":{lat:60.1719,lng:24.9347},"0f473377c61600020b6c07cb4720686653ae730fe659b26dab54547e6dec9e9e":{lat:60.1719,lng:24.9347},"0f483ff3e89b54138c2b5b18f0b56d15ae78111d9f8e6f0e96fe1f5e6f903ed8":{lat:50.4777,lng:12.3649},"0f51acca3583961744dde077ad914aa7f4f9db9dc0743f7f529cdc5e3d623571":{lat:60.1719,lng:24.9347},"0f69af9f0d56631c55a569e081318093dc1543d40cb1279ae2215aca50fd6206":{lat:50.4777,lng:12.3649},"0f8a0fddf2a37a3da2f91dc1bb071972c2dd2f805ccb54549d898a37987df3cb":{lat:50.4777,lng:12.3649},"0f939e72aea16daa5448ebc54c1e30174eb1f19478e3732840a78cda760c31b6":{lat:60.1719,lng:24.9347},"0fbfb366da289908aba752b0e5bf4f01372f4283f887b74d13acb147a9c4a3a6":{lat:50.4777,lng:12.3649},"0fc40afb7b224e6e4eaddefade277851d612590e4f892b0a096e9491da892f77":{lat:50.4777,lng:12.3649},"0fef4efd8f83c037f8485a6fc6a6ecb0220416cd8cc5cb4247f99a2661a7dfc4":{lat:50.4777,lng:12.3649},"0ff0ec0db950ad279a55c434084dac8cbd5a31b52fb1c95da1038bc84a997c1c":{lat:60.1719,lng:24.9347},"1005c81f6e10b6ee776adc097d138426eca0a8f8c2f84d60b14f5c72ed24f8a4":{lat:50.4777,lng:12.3649},"1005e089a38fbf8fc141d519bbf9a115962a4df742085613b22fb9809924bad9":{lat:60.1719,lng:24.9347},"102dac783f019f03ec21f9ed71868e8c3742bab0c2c17214a77fd40b29230ba2":{lat:60.1719,lng:24.9347},"103157b65e2a31f8052f29140cbd9e03883eaba94fe4d71e65500b1f1f7bbd60":{lat:50.4777,lng:12.3649},"104cccc6081b198140e69f17d3a8037005f66c0c5e3f8432a527819a7e9c1a9a":{lat:50.4777,lng:12.3649},"105bd8a7e892d397e73038c680017b23dfeb1e7d82eff051e42f3b82a0c45ddd":{lat:52.52,lng:13.405},"105c3b53a0d64bc3907a70f37bbab77fe4fa853eca9437d465cc2302edecbf85":{lat:60.1719,lng:24.9347},"1064c93523c8ac914cbdf53116995d082f8382ec19215fd4389e364771a4cf65":{lat:50.4777,lng:12.3649},"109dbed53152433e872edc1c5efd1b39c3df2391090330100a9398ead88d5a6c":{lat:60.1719,lng:24.9347},"109fdf9891b3fdc97ccdbd5b5011272211474a75ffb9833ecaebba600289408c":{lat:50.4777,lng:12.3649},"10bf9b7ed1a5b75527156369034f1dd07b46aaa33148d51ce60d99aee85c62f7":{lat:50.4777,lng:12.3649},"10c428b6fe883b1d95ed83e92acb6522a67c7f840389c447f9310c02820f9852":{lat:50.4777,lng:12.3649},"10d13af7a3263f48099703737689a161b55e9b5f68c48ce436fc2ed7fbc01a9d":{lat:60.1719,lng:24.9347},"10f68a7f7fe8b85e04ae0c869c02852f1b568b145c7f59179feef0601d9f1bf7":{lat:50.4777,lng:12.3649},"110abbe5992624d9e300a64cae8465eb5ea361bfad34d6c4ef05f23f7b190445":{lat:60.1719,lng:24.9347},"111fa0e83f5144efa12c0e87ea139c94f7b02f7170dab0f669a7f135c2d5aae7":{lat:50.4777,lng:12.3649},"1130f9a5987d12494096ec3a7c9a73d6967f832301309909edfd01089887831a":{lat:50.4777,lng:12.3649},"114145b22fb850fa374132f377f1f984e4983078b329bc5366adb5cf02a8779e":{lat:60.1719,lng:24.9347},"1150944048b2e2e40f1c46ca20796a5314fe2bbba146633062af3232f7cf88c2":{lat:60.1719,lng:24.9347},"115c8664612e44fd0ece61b63a81ee48361ac99aa5476e8b48af0165fa973c77":{lat:50.4777,lng:12.3649},"1161da5fd983d01a23162778b21f1c759ce66a527d0412f2c6a8d64913a4867c":{lat:60.1719,lng:24.9347},"11679e5f61f2eea260e7d21535892c32751bca18f9203c912d7fb914dd9a4061":{lat:50.4777,lng:12.3649},"118e7c8239d8e83e3882fd4ba298b9da86415324fef8b95eea966ab048d1c58d":{lat:50.4777,lng:12.3649},"11a15f4767e9f79b05e0863ea2e6df21b3f90824dfcd0f1c1600956860f3cc74":{lat:50.4777,lng:12.3649},"11a3b82ca477d466a8ed6fb9419d39322723b1f30b1ef7fe0ce66be4b41e04f3":{lat:60.1719,lng:24.9347},"11d341473d62727c9c2b0593bba90455117cad5b1c6380b3e675d70dfab31051":{lat:50.4777,lng:12.3649},"11edf1b0a15ce9b7b885206137c557772fd52d19e5dfcf134f10178efa287c02":{lat:60.1719,lng:24.9347},"11f04cc20386c3ac97db38e2c4a3090c16c45a5169246f444d34304db6a4d7ce":{lat:50.4777,lng:12.3649},"1206a0c76921974dd48e61813bd58ee5f4d5d8db632e5e0981342030bdb3c62a":{lat:60.1719,lng:24.9347},"1208f98ce7c9072937a786e2977903b852f061619d5d5b58300c69a2cc84fe47":{lat:50.4777,lng:12.3649},"120971be55654475c0f5c557d825ae3b3caf31fd8b2286a3495b40b1a13d674f":{lat:60.1719,lng:24.9347},"1215f264347083a29b1ad1adf42c983de0ea6bd7fce0fd309eba7b67845411ee":{lat:60.1719,lng:24.9347},"122909383dcbb1a7c0533e795726139f0c1357d73bcb7eb9c669e35d500bdde6":{lat:50.4777,lng:12.3649},"1247e4ed8ebf69d233d66b238b8043cb7d2f044b815ee7febb51d25049929150":{lat:50.4777,lng:12.3649},"124da9e369cdd9618e157d95b6983b39857af46aea2b262ca2a33bf53621a47c":{lat:60.1719,lng:24.9347},"126bd65e07d09df42f5e3b59e28c096c6cdbb5dba1b921bd8c7c5b8100945bf8":{lat:50.4777,lng:12.3649},"1293f2cccbcdf2e05557abb407103538b93e5b18a55e41707059da769d2cec01":{lat:60.1719,lng:24.9347},"129637d681457e070017c2e7b44e466d84f0350487b7d8ece586cf4d2a269c05":{lat:50.4777,lng:12.3649},"12a123323c02541ebae66c879849433f8d282e6e9851f7a8a1639565c3c12a68":{lat:50.4777,lng:12.3649},"12c04a6131b46335b537613af64fac3ad1943d60ae4695aaf7e319cb9f55ac69":{lat:50.4777,lng:12.3649},"12d52f08f42a4de4d93810cd1641c05c09b28903e681473ba303d1018392cf1b":{lat:60.1719,lng:24.9347},"12e1f5d1a01b8dc5de4d5a1b4f8944daf0a812c760e791ba9fe87c6d1a8c97b4":{lat:50.4777,lng:12.3649},"1307eb8964ffb522fa36fbdc35e3f868ed85b25bc3416b70c0dc1cdd6000c07e":{lat:50.4777,lng:12.3649},"1310df75a1e5301eb08ef2a903fe716352494818f14fa36fe8bc982e5c257cc2":{lat:60.1719,lng:24.9347},"1336b3fda7a2d000f8ce1f728db596b325f35c1ebff531058e2f2eba3e92f32a":{lat:50.4777,lng:12.3649},"134af427674cb4a4a9476adc69ab5d0837d81af2e027f548bd6eef7c8a560370":{lat:50.4777,lng:12.3649},"1363d7afe9ef9bfdf56b8cdea500310f5ee8ea3cdca5d3f2225315caa98b03a8":{lat:60.1719,lng:24.9347},"136b1ecb5f33f23ff7a6afc5ad4db5d2514c469bd3514854a245eabe5fe6929d":{lat:50.4777,lng:12.3649},"1370b6db846d0dba61a3dd43652eb51f9647e43bb6960b57c686dd34b4974da0":{lat:60.1719,lng:24.9347},"137ff0526423925a5f7b7fcfee4ec6c613baaa4346eca7416e9e6f63a6d03355":{lat:60.1719,lng:24.9347},"139102bd9e4bb427701f93d18b1de28c3fa78e13500999bca6235b6798bcfc73":{lat:50.4777,lng:12.3649},"13940798a3400d2d41d03e311ecd65274d471f4e8e98cef23a23d1f6fc8caba0":{lat:60.1719,lng:24.9347},"13aaff6474536f3f815ee160dfef4383fc07e67f103d546c33ff1af533d08d05":{lat:50.4777,lng:12.3649},"13c23904b19bae04c528f5e6ccee693eb1146f92fda49f8b634f2cb9c73fab6b":{lat:60.1719,lng:24.9347},"13cff8a7b4f800debde1dae3a1b1e6e13d0d8e6a81c42e36b7e4b9f23fd52dfa":{lat:50.4777,lng:12.3649},"13f811dfb3b15c5694a169f73313dfcbcfc9f20658f7cdd4efff9bca48636f3c":{lat:50.4777,lng:12.3649},"14002452c3ccf1907e22d6937315e459f42dc0387053d4ee50f6942a7fb52565":{lat:60.1719,lng:24.9347},"141d9b2f279694dfb711bcf7613a2469b238ed650dec6455155e51c11f4d3e0d":{lat:50.4777,lng:12.3649},"142403b44b522086ea2dbe785bdc96c8d64385294fa66330f94858f00e511134":{lat:60.1719,lng:24.9347},"1438eedd2f1c0dfec2fd2f812eee3e4b8f78bbf2c84259a37ad935e213b8bb17":{lat:50.4777,lng:12.3649},"14443f9520e772eec426ce2c6b07a92c0645c08aa799db3fb63f37a3f8bcd9ae":{lat:60.1719,lng:24.9347},"144b7f354d4e614ff87df1f11be86073a1f456fd020a2c3efac03b9030121a23":{lat:50.4777,lng:12.3649},"1462c74c93747c85c1a617003b7b94d55be95cffef419d065ff4a5b0a6ed5197":{lat:50.4777,lng:12.3649},"147493ca792b3b9aed9a51f613c47dfcd68b0f8cfa686dc8eeb99352381a5051":{lat:60.1719,lng:24.9347},"1493017328a68ecbef9df4fa04fd53499b5ef90542afd4391ae2f89f1b97e30f":{lat:60.1719,lng:24.9347},"149dfa0595aff656f114a5bc4a2919fd6905937e79810c535dc64f28eaf211bc":{lat:50.4777,lng:12.3649},"14b89ff7779436ec4d2169d5f2430ae958da1a05fd99c0ae825e89f4bec1cfda":{lat:45.2496,lng:-75.9181},"14b8f2f909954c937ab96912d31c1953975c95740ca1588caa010d72d76ae72b":{lat:50.4777,lng:12.3649},"14d449473186d3f4e8c5dcffc195f945f5b55589b225860a8e2f6e57ff7f4086":{lat:60.1719,lng:24.9347},"14d8bb6411db3569732a7e6cdbf568a544384081751805f523867d9f24adefba":{lat:50.4777,lng:12.3649},"14e369f823d1223b950df94ab043be32f910881757fb7859ae4cb4ac4a16591b":{lat:50.4777,lng:12.3649},"1500aa0f97f13ec2563e972a12f140aa4a1b3f96fba787db8866a424cad9dfe0":{lat:50.4777,lng:12.3649},"151daf09f1dba192dfc46e1b87bc942b410ab17fe621eaf1a10f66aa607c561e":{lat:60.1719,lng:24.9347},"152effeaa1e9b6ede394dda63cd703b932ee582ca19932b2892787afcd6764d3":{lat:50.4777,lng:12.3649},"1531b84a81756c1e09dcbc530b7aae99f35f9034f0dd03e30288c24bf1267f03":{lat:60.1719,lng:24.9347},"1533067723e5bc33842b8773e8715993cf50b97dc7260026ac3bb2266afb6762":{lat:52.52,lng:13.405},"15460cc21ae17edf2598503d20c4a0eb68d76e36c4fe29e54bfeb4cc0476dc09":{lat:60.1719,lng:24.9347},"1547551baa372fd6822846e615075a718ec87c7226ccdeec5bc3b00ea1767a5e":{lat:50.4777,lng:12.3649},"155bbf20c52d6c7f62fed0503ce4352441dd9b444538cb2058f8161e9fb5c79e":{lat:-23.5312,lng:-46.7901},"156c46eaccd5482b8d4b32373ef5ccf265312321f9016ee817307c24dc560bc0":{lat:50.4777,lng:12.3649},"158f6827b34d98a99d13906b930c5ba790a7b7bd7c20609616913770c4d4dbed":{lat:60.1719,lng:24.9347},"159d9b4de02ce36cfbaae4f8f84d93d6193acbbc6588337991244c1bacee9c61":{lat:50.4777,lng:12.3649},"15bf8e679ae8758aa77c925038cecbcec1399d038a1525ba925392d21846d853":{lat:50.4777,lng:12.3649},"15c6928a8d7fde7fabb886671549c6d20bc542ee5d499ab0228e3159472ee161":{lat:50.4777,lng:12.3649},"15c75aa9e7ff24c885db70b33edc663bc2943d486f0f04e33ac02e13c7e61eae":{lat:60.1719,lng:24.9347},"15e4993dae4797b23c6aed06027a94b9192bed4ab00ed4f5fc7d0172053b0fc7":{lat:50.4777,lng:12.3649},"16057188c94a52fc796ef66af55b699479f68c8198ca7d28447b7041e839bba0":{lat:50.4777,lng:12.3649},"1610de77fcb2e065db0df4c4c14c0bd426b419f0b0f7aaeae16a26cea543fffb":{lat:60.1719,lng:24.9347},"162aaa989ab6f8022d9a60a9edb7c030067d174dd18747764a062af921576d3a":{lat:60.1719,lng:24.9347},"16391cd116ed2391a9833068b4c1e1c370e7180c3cf764c4e0835a6c848e6fcd":{lat:50.4777,lng:12.3649},"16491cb3303d4ee60570df90f83d300170b980fed2f3f56a1c2e3a5f133c1a16":{lat:60.1719,lng:24.9347},"16569eea12b127080489a6998e09332fb5e934e35caf28f4151b625f2142cf93":{lat:60.1719,lng:24.9347},"165af3acecd45e04e08497fb75f592a9410aa04f4ef368d4af8c52abeebb0847":{lat:50.4777,lng:12.3649},"166f8a9887f18d53af93f6c3f06d854d8810437249a9358a3033d2d25f2d0eea":{lat:50.4777,lng:12.3649},"1692787b8b76edd16b41ee01314ef0e33e1bc365b136e0a201f3d26801eae95e":{lat:60.1719,lng:24.9347},"1698f6b1606ab7c47bb64e2beeaa4be28783079aa4f9ea2c498b7b035f70610d":{lat:50.4777,lng:12.3649},"16a4c4704ce8a85cfa9fe635f2d36ce4e71f59a5a1a7c9e8821ca5e447097129":{lat:50.4777,lng:12.3649},"16c218dfc7950acad41d5c567ff176e12641a4257e854ee9053993298d0343cf":{lat:50.4777,lng:12.3649},"16e855db4ef9c991b525aa05c2bbb96703ce7690e06506147f56cea1e72ffc99":{lat:52.52,lng:13.405},"16eea2c75546416ada1977841d538b333ad685b9b5aeb7a7ca8bd29daa9c53f5":{lat:50.4777,lng:12.3649},"171795b296eb91df29b3a5ce66e0846a6195fb5aab9b2c4cd76d340ebffc9e8d":{lat:60.1719,lng:24.9347},"171a2e8193e28c150dd14afa1044a2eb114868f43ab24593d222cfd2e99a1ce6":{lat:60.1719,lng:24.9347},"171f3af6c8b99ee69ea8a8f3caf7ff2f17912be720df8e9d0373cd8d7ab28e1d":{lat:50.4777,lng:12.3649},"17294948bf64f66ff2c2d5a4789ba62f1ca91aa0e682f38456d281fe0f820c1b":{lat:50.4777,lng:12.3649},"172ee1b0dfc21834c655a2adf1e4f737acf6c042c0d3858f767e612273efda36":{lat:60.1719,lng:24.9347},"174aef448aa92707b4a0de9e60cf56e88aab5acaa85dd45cb1f2a4e8f2d2cfab":{lat:50.4777,lng:12.3649},"175ea8292dfb1f52655411b1be3a598c300e262edc2a7aeb60177c26f5968c42":{lat:60.1719,lng:24.9347},"177deef8c31e5dbf4f1f18c890ed96d745322959e9e5d6e48ea3cbeb6b83cd8e":{lat:50.4777,lng:12.3649},"17990462cbb3c03ffdb56e9dc89236118fdee43d3af065b6bf0dc4060af4692c":{lat:50.4777,lng:12.3649},"179f6e25ed6650f716f85324cca26a64e392f93abea4988be5ee6b5a9307bf7c":{lat:60.1719,lng:24.9347},"17a542d1e70af554a4466ba7a5540949bc64f480ccc579ac320eef49fc2b7b88":{lat:50.4777,lng:12.3649},"17c42abf92c9f7bd6432a5972e73dcf3fe70cb3dfb607d800978eec854c60142":{lat:60.1719,lng:24.9347},"17c594bcbc6df0cd67b1e078891f882a3d4826391da69e649d6d43212586deb9":{lat:50.4777,lng:12.3649},"17f7dedc41df869fa7f757ad1f03194d5428145d1a0dc456c2a1f153539388c5":{lat:50.4777,lng:12.3649},"180e497dd79155e6e79b8c5178be7c3628bdc92dbeedb8fe1d12844029543a98":{lat:50.4777,lng:12.3649},"1828c9546721704786084e5874df1ee8ad80ed2d681df5b36d96318277213efc":{lat:50.4777,lng:12.3649},"182cc2b23a4a475cee8ba72ef51ab5dfa7dde7e21491a4ffc0feeed5fa8fbc28":{lat:60.1719,lng:24.9347},"18342aa869145d749873aa92c72656197dea4b59ca3570a6923ef5074dba57a9":{lat:60.1719,lng:24.9347},"18349249af7dbba3783ac4d75df79339c685202c7450d2e2db96755b354cda30":{lat:60.1719,lng:24.9347},"185423f3c5fdd9af885dd98a63db74c1ce4c495e524122cf1b7a1522b37d8b3a":{lat:50.4777,lng:12.3649},"186e9a7ffa36c16b560cec63fca1df190a50fb018c25a0a75a046a2194a0ae7f":{lat:50.4777,lng:12.3649},"1879dd84ae10e23e08d28ba0d83b9a037b5bb776cdee257da8ea7a52a0b18a3c":{lat:60.1719,lng:24.9347},"1882e69e741e9f4854f07e6a3735fa7f9ff6e4f41d6ac860d5936c8a11831329":{lat:50.4777,lng:12.3649},"188c2605a906385313dc7434b5e37943e01af481f2635441bc3fefab5e04c909":{lat:60.1719,lng:24.9347},"1895ffd1c2ee8dafa4962c47155acd7f3b5f16e902c22a5b1bcf0a033b1c95a1":{lat:45.2496,lng:-75.9181},"18aeda1a2e442c86c07095e84df673d7ad534a1f93e7cb02a0cb3d077e006127":{lat:50.4777,lng:12.3649},"18c678147e4a67b81e6b8ae060653dfb3f8f7967a50de5974534e448fe2c0984":{lat:60.1719,lng:24.9347},"18cb54184ec7317f89cb518e194acbf10e7d2bb9de5a0c196883db28c3f5ced5":{lat:50.4777,lng:12.3649},"18eed3bf5bf6667688576eab202034f057feee9abf37ff82081f01c056fffb9a":{lat:50.4777,lng:12.3649},"190036c7170a2aeab7832c8ac8e96448f63eef3fb1175dd8b2145a776cf98291":{lat:60.1719,lng:24.9347},"19186427ff61cf4d717792a69f58773f8288fe14a888bce0e93edf1dc29d9e17":{lat:60.1719,lng:24.9347},"191ea23a8e379e25d4c4d1f03556691a6ce925ea131649a48f0cbf6b38d3c1a7":{lat:50.4777,lng:12.3649},"1926cd1c4538dd34d6505e3da582f688f595e331914f45eef903cfbd122044d4":{lat:50.4777,lng:12.3649},"192c645d6d88685449994f87121f0d8bf7ef5802b7d50d32849ed0a6b58ca7fd":{lat:60.1719,lng:24.9347},"1941fc3c9abd7664c3a684d299e0407a4171648ca8e6a59546871d7377961f90":{lat:50.4777,lng:12.3649},"194ec8d60d95e4b0015d3e92240250363499e6c47b55e4609b00e3cd9bec84c7":{lat:60.1719,lng:24.9347},"1974932251c3ea58765411568c3a18660d2cd3cec727a18cf820ca0dd336803a":{lat:50.4777,lng:12.3649},"1981940c83b8f366caaea0f2496c952c754e23c664312775437a237216fb1f9b":{lat:50.4777,lng:12.3649},"199c5deb2c7ecd60213654f09c241367c2c45c2ce1c34f6f006541da9f73f003":{lat:60.1719,lng:24.9347},"19a34a47bef7dd8a5058fcc6c990b65295ce64fd74e40ff6430a349413bd0f53":{lat:50.4777,lng:12.3649},"19b01a9dae40968d1810da2ab2e7f4e39de178a51bfe60b7ce527cbab9d3f5bc":{lat:49.4527,lng:11.0783},"19cd6b14206715b05cf1bbaadb556c7a47f601d56a9ff702c440a17c2ce6cfda":{lat:60.1719,lng:24.9347},"19d983754662151e1d9e96a920398cf5fd83a13c67780bb82b271403f39915a6":{lat:50.4777,lng:12.3649},"19e49466c73197e4b954b0d6f20fa79a42d45be2cc885cdcf8c216f9ab1ceb47":{lat:50.4777,lng:12.3649},"1a03c2e2cda89c96e27f4a10a042a047f2fbfba7783d0b28b86ce8d653b5487a":{lat:60.1719,lng:24.9347},"1a080c6a3bc712101171c5995a6950704795ae298bdda5d73cde2b18d8f93acd":{lat:50.4777,lng:12.3649},"1a0a7efe5014446bf2ed2b79d32f8cc486d35d73b5dde27fdd404deace60c44e":{lat:60.1719,lng:24.9347},"1a3c182514bf431ed465df2df592b3109036148ee86ee58249d73402a7e4a494":{lat:50.4777,lng:12.3649},"1a5467d79c7cf2a50e5f170316c5c490af730a9a40095636f8b217d50ba136e6":{lat:50.4777,lng:12.3649},"1a631c9710895385ea041255d31898c21e7bd1b7e1a4b9ee8c55a4d47fd202f7":{lat:60.1719,lng:24.9347},"1a729f8c9d0db6e2ed8056d81204d1184b46631e7db88a2b34ae6753f47287a5":{lat:60.1719,lng:24.9347},"1a772968031e273af489d5f0af30088a5fe68b2f6a4a47a61cb393e972c52cf7":{lat:50.4777,lng:12.3649},"1a888836efc1de45c0b4edfffbe34d8ad347708d1c76b99f035fc94db0b56de9":{lat:50.4777,lng:12.3649},"1a98119043046fbddc3cdefb5d8e6c7a9555a7ed87a74a7d6fc75ef538931af5":{lat:60.1719,lng:24.9347},"1aa289e4dfe33cff7ef4976d8db75c1a73b6fe473b59e9a060dff689e7c7855e":{lat:50.4777,lng:12.3649},"1acf9f89ff721b8ab314dc4aa36a6b14eb0489ad37abf0ce139fcbfe44d91cf3":{lat:50.4777,lng:12.3649},"1af8011750ccdc0b249fad9fcd5a113d6b9b0dcccda2c3169c7efe125c842b9f":{lat:60.1719,lng:24.9347},"1afcd908648ab8d45f25dbd3afe575e18f6ab8f7ad2c510630eb44f46ed7a12b":{lat:50.4777,lng:12.3649},"1b1196546ae32a210b4fa798caf0cf6be11683228fc5c8719c4441b5b0df55dc":{lat:50.4777,lng:12.3649},"1b1419ebce99510d9b1e94cd3aefa10dfcd9cee09eb3ac59181c93e73f0d2800":{lat:60.1719,lng:24.9347},"1b29c7e820d2cf4bad03d906cc81b839cd396e1bf05fc06ece8e164d8bd223cf":{lat:50.4777,lng:12.3649},"1b45cb2945cd97d5cf116d7c002ccc857e0f4c0bc92f62c0672fa5abec6aaf11":{lat:50.4777,lng:12.3649},"1b59cc87eacd51cc5817f6acf3fc42876e7c4b30269cfb43de9b18fa5655178a":{lat:60.1719,lng:24.9347},"1b607c61c7f9a30557a76981c45bb0bae921ec247373c72f2a08c57329dd6146":{lat:50.4777,lng:12.3649},"1b636894bf27eb0e2e7534a1027d8d95901baab75a62e9b6f35ce092e9057175":{lat:60.1719,lng:24.9347},"1b77195b3c95ae9438a995aa1f576c86eb08f8d210870c1f6b19ad4b59815b6c":{lat:60.1719,lng:24.9347},"1b8f651f1d1302596e45d1e9936b176c2961bf1a8b8cba8f88b8475126d2a519":{lat:50.4777,lng:12.3649},"1b972ce90056e73942bf6f4737bc11d1af064fdc3aeee376aa398ca4ab02d84b":{lat:60.1719,lng:24.9347},"1bbdb41a8afe9601bf8ea94076ca2657043e21c3a301118ff9f774deb55ef938":{lat:50.4777,lng:12.3649},"1bc19ac8a46a5864f60f819d953c55ae04a2d26025ef04554b8ad5e920f8fbab":{lat:45.2496,lng:-75.9181},"1bca5b02a1cba9d6937f224e4fe61cd03373d388f6d20fadb59f8cc591cacad9":{lat:50.4777,lng:12.3649},"1bdb871539fc16bababa9818b3a71df61f2dfab848126d024c852169a554dc69":{lat:60.1719,lng:24.9347},"1be8dee8e48362bb57beff2e1d0054ef88eff1697baceee93b15dab5124028b4":{lat:50.4777,lng:12.3649},"1c11e0e5bc035fd351df6d2a90c5874f5d3e0ddf25242c5e70430ac60a95b8fc":{lat:60.1719,lng:24.9347},"1c168146c07e59b56d9844bec6075be1ca630d0b57a1e269457607ba66158201":{lat:50.4777,lng:12.3649},"1c1727f6b148ab91da80c038ff95605db969928b642d53627b84e61c7364e5f3":{lat:60.1719,lng:24.9347},"1c1d1c77bb6eafb4bdc78813046ee7cfc8b3c27a05e74b2b4e57c7dfcb09a034":{lat:60.1719,lng:24.9347},"1c3247e0eaf98d785b67dd55cd33e17a307cb2d691d73682345c64b2c0f15f56":{lat:50.4777,lng:12.3649},"1c3491ad63ca0546399b103321b83c4bf51ee7f3fff4ddb047a7b9d0d2c2bc39":{lat:48.9742,lng:8.1851},"1c519d5cddd73d934b00f0d4efb137b1bc30770699203f53d2dbafa230bd101a":{lat:50.4777,lng:12.3649},"1c6574f39d9b388836156dec26a043e5328421f0632fa0d169bcc6d7094f4a79":{lat:60.1719,lng:24.9347},"1c7075d39ee4f0ca74caa56989de4d615ccbf8822dbe812d694e61a4a934b6b9":{lat:50.4777,lng:12.3649},"1c867269f56a47e2343d63ab6ab0d46fb882eb02adafc03d6e7bba35fbdaaabb":{lat:50.4777,lng:12.3649},"1c8acdca208dbbcd5a980ae5b74aa56d59947733f69f2840186a05f5b17db9b8":{lat:60.1719,lng:24.9347},"1cbefecc8ec1d5de8966917cd04076e20db8b996a26ba3dbd96535419182bca1":{lat:50.4777,lng:12.3649},"1cdc312cce7c7b0efbfb2b0ab65ca684092e5b1ab691510622a53b598151c001":{lat:50.4777,lng:12.3649},"1ce4c827c7f6231e9ec493c827465d15dea0096747362ce252e56a9c185fd334":{lat:60.1719,lng:24.9347},"1cf8b52f9c6f1f37bcd1cfd5c950d2ac4881fecef0e38af37efc8002451fbf6b":{lat:50.4777,lng:12.3649},"1d119af666eb1723646dd349965872a3992b485d9e34640edf53b85b7ab0a4c8":{lat:60.1719,lng:24.9347},"1d128114ee6bf52ad39b75e2fa80279c056dae83e9d170549231e18c59aad822":{lat:50.4777,lng:12.3649},"1d1662d00f6ca9d021e5239baa2253c8a1b59b5a84779e3da471899f2e2a933f":{lat:46.0151,lng:8.9793},"1d33ea4ae3852f637dc5441cf29a93512b40a17130e671d78c4c5a13561baa1b":{lat:60.1719,lng:24.9347},"1d35478e25869c77a8891311a703485050f27983e20adbaba0fd621458db1f6d":{lat:50.4777,lng:12.3649},"1d454189fde1ea45c7b82cc5e85d38cefdef1f5763ee4d6dcb92cc94c5403872":{lat:50.4777,lng:12.3649},"1d64c2a3b44300fc7d646085b10e65c7a9fcc0535141c55158be9af2c77dce38":{lat:45.2496,lng:-75.9181},"1d6e18eefe2f400a1cc7b86fa6c98e4981315675b1238eea13dd80507ac8749e":{lat:60.1719,lng:24.9347},"1d73103ca5130aee7f99a8df2bdbd7580c4a0cced901ab8716b476d6a01b0c88":{lat:50.4777,lng:12.3649},"1d771e0e63ec5bc3c4eb821f4748fc41da22490db564cca3144ea64727f9baa5":{lat:60.1719,lng:24.9347},"1d84db565c64a259ea8d54af37a904eb44dabb18ae6f627eadb1117e200d7059":{lat:50.4777,lng:12.3649},"1da7e27c34b081d99bd0c5ab0c77277f8bc36d96d9bf811890ff84cf4541db91":{lat:50.4777,lng:12.3649},"1dbbdce601665fd9fadf3c52d0fe8f8dd4ce68a5dfcc020df630052043291cb9":{lat:60.1719,lng:24.9347},"1dc680ad774d40d13703f249584ba89ee42ecba0a0eaaac3d939b963790d69f3":{lat:50.4777,lng:12.3649},"1dcad21daa258f0bda30d1cc0a004652bbd74931c2b482bb67dbcf5c814c7b48":{lat:60.1719,lng:24.9347},"1df6dfdb93cb8ea84d8f14822793a54d0d4ed1573f1d5aeeaf6e4d374948abcf":{lat:50.4777,lng:12.3649},"1e11ac712c3fe1da2e559a4091a1c8d241c76272f1a5e2568d7c0c3175eb4853":{lat:50.4777,lng:12.3649},"1e1ad7975d88430b8ede359ca231e73aaffaeefe35d6f32e709ff37dc3028eaa":{lat:60.1719,lng:24.9347},"1e1b93883a30f7981c2b5e9d03592539d25fc03c2101977d8bb8895e02a6616c":{lat:60.1719,lng:24.9347},"1e3c168d12e0f590640454c01e2825522ca60eb0a1c7dfaac9da2329e9d87300":{lat:50.4777,lng:12.3649},"1e439b8c1ab01a4c24dfb16b05483602b384e96dcc5dba0e74f53ffe946a1eb6":{lat:45.2496,lng:-75.9181},"1e472ab170969b2e9f0bd64cca71e548d0abed0b067c08787ff27a70bff3c23f":{lat:60.1719,lng:24.9347},"1e5f450a9379f32b8482fe17d4c3afda19f12467c6dc694eb5cc66142662987e":{lat:50.4777,lng:12.3649},"1e773352af637ca1a15c3b36bc97772c4da1b51f259a4e2de1f387a65c9a165e":{lat:60.1719,lng:24.9347},"1e7be4e0663ba4a205e8a1c4ca9b5028ec861d0ceacbc87d995057311e738afc":{lat:50.4777,lng:12.3649},"1e9d7cc9ef0941f124b6e3aa3f6ca5db7b2ccd8b4e7cec90617759b71c86bb15":{lat:50.4777,lng:12.3649},"1e9e703be77a567a1c014e73811aaee91e7049c3ddfca197e1a79bd4c45a7f39":{lat:60.1719,lng:24.9347},"1eacf6e7f3276c69611429f67a6561018dec6a85c2a56bbe47d0962c1c8a043f":{lat:50.4777,lng:12.3649},"1ed27c58b013ada26245d7c5701c51c9e58bf50e10a52071f5a0cc27f3675d97":{lat:50.4777,lng:12.3649},"1ed9b003b3e5bdc704c323f3bcb8aaf59ee1b01f4cee7a780084d65ab43fb6cf":{lat:60.1719,lng:24.9347},"1efb21d33897dcf3d6e06bbccbf8712f0dd950e32380ac3e62347882fab2ff71":{lat:50.4777,lng:12.3649},"1f00e4f5fd4dd6f9550a164ca5513084a7180fccff4b98cad9b1f64423e6f019":{lat:60.1719,lng:24.9347},"1f01b39b4e44a6c67318c6d00c37847426628a3bf9fb6934561460abb2162884":{lat:50.4777,lng:12.3649},"1f09b28a32ac042766b933472d4b28dc895733b41d20f2333fdab068de49f464":{lat:60.1719,lng:24.9347},"1f2bc276f4f70d7eccaf4fc438e526da82462ce8ae6c575eaf61909d3e8b6dfb":{lat:50.4777,lng:12.3649},"1f51ac8781595fe7682c78f0cd22489d99c25a3d2f9234a42b841b806eca7d35":{lat:60.1719,lng:24.9347},"1f5840280d2dc641eb18ebbeddc5cce37d2a0cfb8dfde5f49807841b9be1f5b4":{lat:50.4777,lng:12.3649},"1f6859756d3fddde618ae5c65d06e78e415c1f630a62eab227d5304cde202a52":{lat:50.4777,lng:12.3649},"1f688bebff4beeb2ece505e09e88b55d6cd892e01b41e509d7e2d3ac0f99d562":{lat:60.1719,lng:24.9347},"1f8385f863623bfcf688b916e9b778be339c4034b6520472eea2c8099f8ff9fd":{lat:50.4777,lng:12.3649},"1fac04d6d839071167f91118697ce293863a37cf6b166c0a5ac86e5354161740":{lat:60.1719,lng:24.9347},"1fba374b13bdddce124fdb7c58a43de80786f626d1885632af86402edb629238":{lat:50.4777,lng:12.3649},"1fc5e5395f3dc7ccc1b469e468f666da1352c8a3349a1589d8cfa97a9f75e901":{lat:50.4777,lng:12.3649},"1fe008a12439a2cead030725f51a62bb165aec51ecf032d3479e5eb0c69c301a":{lat:50.4777,lng:12.3649},"1febcc4d8ab209796f29cb971902b733da93faae44db26a25ba710e00be7cd37":{lat:60.1719,lng:24.9347},"20124877a53314a0500a1a72c0c71880896980d3198d03b9f252e6564744f1e3":{lat:50.4777,lng:12.3649},"202e6c2bb5e3390f21606fd0ea6512af052f73699fc876f1ff0360e12de2fdd3":{lat:60.1719,lng:24.9347},"2039ff2118016c2515722476ada5a95b680d8e539c51a09b2a77532f156334ec":{lat:50.4777,lng:12.3649},"203d2f9b4df067676ecbb4ec4e4da872648e1ddc24014b8e3a99d516c6bc8f95":{lat:60.1719,lng:24.9347},"2046ed3538941d5df48ef984a86d81faeb6ba13e7a727a52893028d869be30c0":{lat:60.1719,lng:24.9347},"205c830e7c30733c38042c56ebe2e0f4e66c71da71411f885c8a855b2af43cc3":{lat:50.4777,lng:12.3649},"2064b66ab873eeff0b49d43a7c3b41fb409eff43022da3e11c4865cbb131d85e":{lat:50.4777,lng:12.3649},"206ec570f328ea64a59e8b2ebe5262733e41dc9e8c4059827bd084589146e75c":{lat:60.1719,lng:24.9347},"2082b1253a13b415a33479ead390ea3311e33bc2db31748f9cf547d228cf5a99":{lat:50.4777,lng:12.3649},"208a7e3a5ea6e4fed9398f7a4e34e482bd7f6008361c1376f8e175dc02767efc":{lat:60.1719,lng:24.9347},"20a9ccc1fcb6cb2ec8c9854f964123a3c49548dd933017f2ba9f3b7dea6c1c82":{lat:37.8897,lng:127.736},"20b74b2e55a172677b25aba7c8147916b208ebaaf6d5c78d0646a37432b15df3":{lat:50.4777,lng:12.3649},"20cc1cd9bd49c92988233feb75166e9cd17e0e9606f7b4cee9b55d89246649f0":{lat:60.1719,lng:24.9347},"20def0b9c93914180f9b14bdaa3f82401bb4a48d308acf7068cb979f12c6144b":{lat:50.4777,lng:12.3649},"20e2660a404ae40164e74a525bb74e6ea445e0aad655a125b6de823f119655fe":{lat:50.4777,lng:12.3649},"210808f8ef3484f4c0bf453a11e97dbaba1e6783dce86954c77d886c17b3406f":{lat:50.4777,lng:12.3649},"210b270cccb5839e878a699de029ef915e4595059fd266368e0aa2868b30baaf":{lat:60.1719,lng:24.9347},"212e9cdeeba25083f95ef187afbbd164a9dca3380b8fac31c1d6511cb404eb75":{lat:60.1719,lng:24.9347},"2138fdfb9412248788325c84f7021d67c469a42c69d986be57a7ff942456814d":{lat:50.4777,lng:12.3649},"214124ff2ef0e80ec71241cccd2a8054db69100fa00e2deea81a2e95980c3ccb":{lat:50.4777,lng:12.3649},"21456c6e6d0326776c97ee163e56bd3cdd6c51a253266fc1da8e9f01a4ae4681":{lat:60.1719,lng:24.9347},"214b68766f7d27185245d0123c9cf6ce34a6c564e719aff1a6353981d03fdd46":{lat:60.1719,lng:24.9347},"2161651b714e9779745acf941d2022b958b23317e167df3efac33ac6fc2a0d36":{lat:50.4777,lng:12.3649},"218affb83b4ccc57e42b79c49ec00f9221eaddbe0b61ef790f540edcb4bf1dd1":{lat:50.4777,lng:12.3649},"21937fb559a29194cf67abe0640a01e978afacc0cf6254d431b9f5107a39a62e":{lat:60.1719,lng:24.9347},"21ac85b1546b49f823d5ec36f68d6a2cb99744b981c2af4d9028429f27c56af4":{lat:50.4777,lng:12.3649},"21df94c0fadf198cb10fff9c11ad04ec044b0796a92b71a292122d8730ae9980":{lat:50.4777,lng:12.3649},"21eaa201860ee6602a52e0c07478135bed762061c51a1859dadf971f136b8e95":{lat:50.4777,lng:12.3649},"21f7b05e4a630fdae62fee28d125afe470719ee915bb1a2304ede2216fc7cab2":{lat:60.1719,lng:24.9347},"2201481ac2dbcec95918bc4e94f32cb8bb26672f705c48e6eb04e67c39919e7d":{lat:50.4777,lng:12.3649},"221093a1de9854969fb35ce7bcd1df6da22391102e5cca060f6f1383b40c382d":{lat:60.1719,lng:24.9347},"221c283e5c8fa92fd3e6fd52032b0abe2e786028b4feb04dcab10dbcc0c119c2":{lat:60.1719,lng:24.9347},"222e14dd00fc45bae0f3200a20a4ff887a4ae17f9335957447dcbc08025ce4c1":{lat:60.1719,lng:24.9347},"223f98a8b5830303be9d42b833ac96e8194b9017d730ac48c3bc9861724c5570":{lat:50.4777,lng:12.3649},"2241819627b9826f60cbbfcdf8d27b42d9bef73026166bccccb0edc39361ca90":{lat:50.4777,lng:12.3649},"22603d55eb5999c053707f0c639f324a0d5470831cce3ae41098abfe00e41268":{lat:50.4777,lng:12.3649},"227203237129cbd8d1a6ded4b665fa9d8984fd0b434606ea5965d2ed7257cb8d":{lat:52.52,lng:13.405},"228210777fbed9ae6561be39db9555caed0229140f5f3b94b5c433e08b20db92":{lat:60.1719,lng:24.9347},"229242c34938ef4694f4aea205151e8ef275dd160931d37c220901b708d3da80":{lat:50.4777,lng:12.3649},"22b056376419124d31f4c77462152998bd451fa751e8ccc455415750fb6013d6":{lat:50.4777,lng:12.3649},"22da691645f7ef8e1f4b67cf0f8209e092e199b4b2d26c57c2023603f3402968":{lat:50.4777,lng:12.3649},"22f44aac885e032281db5da99ec19b76fa5b12071bc8bf518b7ca036cea3563f":{lat:50.4777,lng:12.3649},"22fba255dbab768b0f9adbd5684ca27bff233f60f4774ad7a08b50cf5f21d6fe":{lat:60.1719,lng:24.9347},"23044c5b4070be4402ef12ba27782bdf9e33448d21932daac5e15bd0cccdcf1f":{lat:60.1719,lng:24.9347},"231492bbfead52453365251ddcead661377980aacaf4e9511a0baf2b70dd216a":{lat:50.4777,lng:12.3649},"2323dfc01bb044947389bd1c253434efba91e5467d42fac6973b5800b8819759":{lat:60.1719,lng:24.9347},"2338e7937a354bf5bbf93332847cffb57373f38ebcbac0691ce2820cd7e07f32":{lat:50.4777,lng:12.3649},"2341035933d963975bdb7c3bde8792bc672cc0223f1ca535d4bd0f645ab620f5":{lat:50.4777,lng:12.3649},"23539912fe6eae11eb73b9ef3dc1d1384278c29c78ab26ec3b328c7f5b56e59c":{lat:60.1719,lng:24.9347},"23628c5ffbbbb8648c0ff10c4e33dc62690c03e070c54d2daffd78ccfd46f1b7":{lat:50.4777,lng:12.3649},"237603eff74d56e9e33f84e5f8534a71ba5da1a53c03a3bfc4fa0a66611105a2":{lat:60.1719,lng:24.9347},"238037459b7d4ac7ddfee443e7b1b9c51adaa7a43eabf0fd590c10b1bebe1c48":{lat:50.4777,lng:12.3649},"23a6a9b289d0b0a17039cc5cc1ee7ecbc8225451713399d2062ad41985837541":{lat:60.1719,lng:24.9347},"23b88792768df85659a27e580964123fed640bdd6e2a23e31569af111d716ddb":{lat:50.4777,lng:12.3649},"23c1e218204ed9868ef2cdb5f10bd019c38e9dd4a5313d1c0876b79d6b1c0c96":{lat:37.8897,lng:127.736},"23c2aec82361aa45f5b04ca34796a5e90dec2202d31a30d79c26feef46862c8e":{lat:50.4777,lng:12.3649},"23e6647e3bb8b2b70a883ebc81154b26391df363079cee76fe30b80359b617b0":{lat:60.1719,lng:24.9347},"23fba5e70a2d2ae40556a1e3ffd67205b75b8b7961de15af1a4fa967b4e1dc32":{lat:50.4777,lng:12.3649},"2404eb49adddb2d3e9698f1a424f02fdc1062b90d47bdc83ef482256675e3bca":{lat:60.1719,lng:24.9347},"2410df9c483601f4c949731d9230a08452e79108759a7942b8ac1907f9ad9dae":{lat:50.4777,lng:12.3649},"24241538a19af655bb2abfe7e548581946b025cc28d5ef2558182bc2fd6ec3f3":{lat:50.4777,lng:12.3649},"2442c776cee0b0302cbf0153ed4a1ef9a22aad20c802a3b247021aee23e20548":{lat:50.4777,lng:12.3649},"245092389219366bb838fded8155cdd3ba4aabeeab664b5fe07d6d2f1c475520":{lat:60.1719,lng:24.9347},"2454ebdabca8e1bd45b0dafdb2cdefb990bcf91a093d6a00f1d7a860b174de33":{lat:60.1719,lng:24.9347},"2469289552344249073df63f24d3435e15b3008132e8c555a6a7cb23ba6bcbb2":{lat:50.4777,lng:12.3649},"246d84aedd88ed22cef86d5d29afd01b388decedf20072ee016e043fe0fb9625":{lat:60.1719,lng:24.9347},"248d07c8eba6f056bcdc833364fcfb8929a93935832e179c5fea2f17f06dddce":{lat:60.1719,lng:24.9347},"249c431d96c1973004e015e55da530cb3d772f1429a6c14865f947a63e19b77a":{lat:50.4777,lng:12.3649},"24b096f29546b6f7820650472f7c54d04931cf2d7fbdbd7a7260df9e3c9084fe":{lat:50.4777,lng:12.3649},"24b8802717e11afd4b4bc3207d974769463d1e41a7e87bb6cfb95babee840bb5":{lat:50.4777,lng:12.3649},"24c0cd342ec10c58de0e5448c0b6549d207a3d5c8ff674798ebde821ea370765":{lat:50.4777,lng:12.3649},"24c579c77746938fb647acf068ffa2f19c9477a8ff15e82574edea84a64c5370":{lat:60.1719,lng:24.9347},"24ff4992a8152ca0c7e40d584e73f942fa954855f988d59df5e5caf073967354":{lat:50.4777,lng:12.3649},"25072994edbe1492658a7cc63a2065ca44e816adf4e16e9e1a38a9fb3b7e4980":{lat:50.4777,lng:12.3649},"252e7011fc00d790267297c0dcd19e0b7fb92014f9e6b60fa5b1bfa56e2386d2":{lat:50.4777,lng:12.3649},"25392eed0a0d7275432fd300e0570f67140b31aecc7be3c9d84c450c3a0f7ca8":{lat:52.52,lng:13.405},"2544af631fd1cc3118e885886021540707f007f9a28da504176c305b1e84ebb9":{lat:52.52,lng:13.405},"254975570e9f1e067b26e910e21b4d1c53602f642b9be0c5fe14f7bcb3709979":{lat:50.4777,lng:12.3649},"25524a1cba55e818cdbd8e308d40f462b5557627638cde05219198b9e7b6d9e6":{lat:60.1719,lng:24.9347},"255d8af67cb658bb7c9e1333c60be922afd34fd08bb326bab4e8876393fa10f4":{lat:60.1719,lng:24.9347},"256cddb3814f8898e5abe0e0b5f1c77ce0168c9e6e2d5f6fa2858336b51837a8":{lat:50.4777,lng:12.3649},"258a04e592e23285dc78d0abbd454b80b37cfc75fa07826a4b12f6a4b805c02c":{lat:50.4777,lng:12.3649},"259742dca1245c411358f4b89c3512caecfdc85a6b4ec6ff9ed89c98464fd4ce":{lat:60.1719,lng:24.9347},"25b76327f0a73090fac6a167c95b74af3d121665def8daec45a4ecba2d44ce6b":{lat:50.4777,lng:12.3649},"25ccae6fb5eb527843d30943b87f358838026cb5b5fd4348b2e57a02bb573c4a":{lat:60.1719,lng:24.9347},"25ceff45de57d3e04ae6dfdf31ea47f95167d964c27205b5e520db3167129bfa":{lat:0,lng:0},"25d2955c8cbcb521cb5653c73ead3f13308e81cdcf6d9b0ca9fb0a5280f74bf7":{lat:50.4777,lng:12.3649},"25f148f3c747de2db74fc501f8cea137b377083246e259b7682f95372fd60700":{lat:50.4777,lng:12.3649},"260127931141f93b20dc4c0fd4c6cdf5a4eb4f460a2d6f26409cd304c1608ccf":{lat:50.4777,lng:12.3649},"262b7daa9475b249b5a7bd0a70bf56c59f7a167da30f60c8c2f69ccb427f65cd":{lat:50.4777,lng:12.3649},"262ba36003aab2f8ef19b739a2f393a6201c7cabd0103773ff3fb50f9ff3fae9":{lat:60.1719,lng:24.9347},"2639c9bb31ec260ca434e853898011a78d509d103b174d86f707be87c2155189":{lat:60.1719,lng:24.9347},"265a0cb48be8290d461af6947ef0ed160f505f7f157fe9a05192fa5c770df33c":{lat:50.4777,lng:12.3649},"265b48500184ad9f5bc0cbfca2b78d65455b90ed9a1c9bff48727debe8d40551":{lat:60.1719,lng:24.9347},"2662b5fc77eba6e03b5a52d81606e73958f64a555dafd3dd24e5f84556e16b75":{lat:50.4777,lng:12.3649},"2665c05da5e28998950b40d88936364580b1ff30af6bf97d0516587a3e5affdd":{lat:60.1719,lng:24.9347},"268b6d72414fc67156cae72a50b02ad9ced23b2e8a27d4da3ddd40db55cd0d0f":{lat:60.1719,lng:24.9347},"2693a81662ec187e4a5c350b42de8d3fc973bc56b8a32993e19c0dbf24722196":{lat:50.4777,lng:12.3649},"26b334ac185eb9d28b7e43fadf8320df6843d55b282c63b400fcaf998e4e7dad":{lat:50.4777,lng:12.3649},"26d4384bb15999bf07dd3b98f973bc13233066119680ab700a69da25391eee40":{lat:60.1719,lng:24.9347},"26dd03e20f6e387ce582a3d16979a5d44c650066e79c0e2b97737fb59742fdb8":{lat:50.4777,lng:12.3649},"26fe49f35760405a53553189f7d71a387999c2d113d043c276be3d74c7c8394b":{lat:50.4777,lng:12.3649},"27049d45cf56504ff894d2bb99ded8557ba946963da7bb2d96916eaf770b9c51":{lat:50.4777,lng:12.3649},"270ca568f75fec64c18fdb0023f75b676a10a910d783aaf3319431dd9499a62a":{lat:60.1719,lng:24.9347},"27245259f51c96bb0bc9697eb2c637785a81785daca89cf8d119160f0f98b6b1":{lat:60.1719,lng:24.9347},"273047009a3c1bc28e86e1249e707fe85835b2f352bc2f24a33e653b01ee78fa":{lat:50.4777,lng:12.3649},"2732ea3ad48c416b9b035fdf558bcdfc92cb9d1b10dba0786996d96fe45f082e":{lat:60.1719,lng:24.9347},"2741f0c57b7bcb8d665683aa3850452fdd2e304fdcff0faf8ec08718c1aceafd":{lat:50.4777,lng:12.3649},"27568763bf114ef371804c204d6e6de0cc0717fa3fbe5c613f42e15b33cb5333":{lat:60.1719,lng:24.9347},"2771258aac8aa72991f2609aacdedee27eae156f2477310cb6fad63273c811ed":{lat:0,lng:0},"277896241217cb699b41868440a699cca646647eed85f6dad612b0ec7f48867d":{lat:50.4777,lng:12.3649},"278adf02fa73311bb44faa5d7ae3e58b3e7623ee0c53eac0087c5b81beea0953":{lat:52.52,lng:13.405},"2792a80659ce5d9bfc923f4e9b56edf8d8601e6076ea99f03eb8231a419d82f0":{lat:50.4777,lng:12.3649},"27a631b8068f97359f74edefc58988ed1bc37abf1333f10236d681f8a437fa8d":{lat:50.4777,lng:12.3649},"27dd7b7241b5593aa61eead6bf43d95d864dc21b013f7e66c9b2658d58e7aa0a":{lat:50.4777,lng:12.3649},"27ef1de7145bc1f4a19c292f366a73d84eb118595b81b9f40569b433500828ad":{lat:60.1719,lng:24.9347},"27f9e7d7e4da845e9161c13760ea91d71891d6ad2784c486c58ae82d28fd6e5c":{lat:50.4777,lng:12.3649},"281f8d85598c983ab056b76a874ee793c8b7056d7fb1d2eb882809bf11f8e8cf":{lat:50.4777,lng:12.3649},"282f259fb1ea87da4cfc9c2db9f0ed2646b29808d6eddebf9b1247877bee58fb":{lat:60.1719,lng:24.9347},"283688cc76b79c38599f07ba693e088d4f458b8884f7f9c2d9111fdc6316ef56":{lat:50.4777,lng:12.3649},"28499f1c5b9f44c81221b98b94e983f35772427616c10dc6bff8d9fdb509a425":{lat:60.1719,lng:24.9347},"284af3b91e1e93ac8d9e5ac183ef248de2b178affaddc8553bb774b5c44ba38d":{lat:50.4777,lng:12.3649},"284cf77cac7e43d8655390661f47b82b7697ebefb3d77411bf4aea2aab723d66":{lat:60.1719,lng:24.9347},"286a0b868ab3903a5602e04918c247f4e00ca8c200e951b537c9f2a42cb5520d":{lat:50.4777,lng:12.3649},"28761c7e381d4cbf57c0a572047bd8b76e5e56400d89591e38a08e67868321c5":{lat:60.1719,lng:24.9347},"28903e1ee87b5b420a0f09345375667942b82315fe9cb52f65727423eed34ff7":{lat:50.4777,lng:12.3649},"289ffb856513f0031ccec092d026a60f8390b7ee936feca39e1fcccb9846579d":{lat:60.1719,lng:24.9347},"28a08543cf21e05e099c0384b428a5987e7f5cce8dfce9557871c4b684ab4649":{lat:50.4777,lng:12.3649},"28b4a24252877e4d7bc90e3427592d2cf18ed177dcc29ea39911fb5272d98871":{lat:45.2496,lng:-75.9181},"28cd3e2cbe6b7c3d13431205bea5abecf2b7b356cd42afc4c0cf259fdc615390":{lat:50.4777,lng:12.3649},"28e3fcb44c88520e14a5bc721567dcb06284b2b31092a3793908b64d26f4bf0e":{lat:50.4777,lng:12.3649},"28fa097483ca1e930321fd9c2adec990c7a2fd6aedb3a46f59b8306cd5faa536":{lat:60.1719,lng:24.9347},"2903ef64d98bcdcd9c964955d87688337b9dbf2c3c6100e38e25814cf7b6e074":{lat:60.1719,lng:24.9347},"290f0b7c285ae772abc6750658bdfcb3997d30a82639afa05e77dd45b86025a8":{lat:50.4777,lng:12.3649},"291cf92f7f8a671d2adb6285cf94feab63c90dbbc77f48d9740718ecd1b74338":{lat:60.1719,lng:24.9347},"292df5e53937a2f1a5309b65d84ecbc35acadd0c17bac3cfc765d49e91b8e7c4":{lat:50.4777,lng:12.3649},"294ec71392ef00cef07303a1c85e73f69b23fa73cd50661ef047bee630d454c0":{lat:50.4777,lng:12.3649},"29595fba6fef37926f416bab3e711b67579bfe4dd2bf81e47f91d2c16c0e5c11":{lat:45.2496,lng:-75.9181},"297a34fb83a9dcbb4ec969111735f2c56b2df426e140ffbbfe2129f1aebdb0c5":{lat:60.1719,lng:24.9347},"297bbb27c491cb12419caaa0e35bc326c7e76b7ce7aa5df27eec8c37b448a532":{lat:50.4777,lng:12.3649},"297c5257053555f908fa4420ad7aa9b8e2b52fc1813ea45fd689ab93c85e27f7":{lat:60.1719,lng:24.9347},"2986daf48af4556f7f547792cfe6bf94eff375af751d0eeea7938be9a1c7b59c":{lat:60.1719,lng:24.9347},"299b9c17e658b494dcd81379157ad8b72bd8f8f7a6f412c70beb31aa9479ef7a":{lat:50.4777,lng:12.3649},"29b6fa41725d58a396d79a9fb12959c8d1009aede9c17fac78e6b39db84ecbad":{lat:50.4777,lng:12.3649},"29cb3470dee49d269c78cf18db006e327e90bb4fe1123c11a20442be9f460940":{lat:50.4777,lng:12.3649},"29f2edbae133b673ac791638937951e2abf7b46aab029a789cb9ca7d2308dc47":{lat:60.1719,lng:24.9347},"29fdc5ae1bb48405e27415e9e193fd5aefd5a8f878ccbac7441bfbace3de3a75":{lat:50.4777,lng:12.3649},"2a16a493f0a1d713b8e73153dc20ed8093011044628ab8f2dda668151d305aad":{lat:60.1719,lng:24.9347},"2a16a9656616d251ec6d94c1bd7d01a0884216eaa6625af332830bfff2538f82":{lat:50.4777,lng:12.3649},"2a222c7a2c8b808a0ac32652abebb449017c9944bf653833ae51a6097e6dab71":{lat:50.4777,lng:12.3649},"2a227c3e6475736b8968dbc46ecebc275f0f9fef6ee3f44e599632b5ed2701ed":{lat:60.1719,lng:24.9347},"2a4c94d07ec8141fc2c535c876e14ffa6e9145bac7b6f5b1282e49a7e9b3208d":{lat:60.1719,lng:24.9347},"2a4cd6f8ef92d89ad5cdbea24f7878dd87aafbaa12fd872f16ca92636fba5403":{lat:52.52,lng:13.405},"2a5578be60538b5ea7d848b941f9f3465123885956b4fccb7bbc8e6b31a916fe":{lat:45.2496,lng:-75.9181},"2a5613eefd3d4468796c795b53d1835396aa532db71957f95fcac7354c465c9a":{lat:50.4777,lng:12.3649},"2a60bad56cfeed038c05380401205b39b09b95737ac11cfb722b4412c6258d95":{lat:50.4777,lng:12.3649},"2a98cd338b1d11adc297fa62aecd4d69bd27e81bbc4c37fe823a080555b7572a":{lat:50.4777,lng:12.3649},"2aa8c7c9f6a6cf6618347f0cada90a7636e4c511785d932d7346716beddf0451":{lat:60.1719,lng:24.9347},"2ab08f45c9c16afddaa2c9a8858aefb0450e84489c7dd5c3a6d2514063e73137":{lat:50.4777,lng:12.3649},"2ac9aef3261783122f104569e5f87009d7485deccae1f563daaea6215811ccbe":{lat:60.1719,lng:24.9347},"2aca46098d0f984df23d75aa80d91e184f51f0006f00944e5bc6b1a00c1498a7":{lat:50.4777,lng:12.3649},"2afd986540ff1cd42f14c5ffa98c8a2369cd7494f9f4177ae680cb5fb18d6b11":{lat:50.4777,lng:12.3649},"2b0ad5cab63f72819e44ce3199a681f55f56828d5583a6e42380a99f91302df2":{lat:50.4777,lng:12.3649},"2b0bc7165759f6c12e8125411479e453b5af1baf461cadb0868d5e48c9be7fcd":{lat:60.1719,lng:24.9347},"2b2f404675f67ed311edae18cd3127cbabf1284e624157d0324c87b8cf18a8f3":{lat:50.4777,lng:12.3649},"2b4d4668aa99791f27cdf902dbabf04c3394e356fcc97750faf5bb9e8983aa1c":{lat:60.1719,lng:24.9347},"2b51b5d02c55e8993d834ec012e74cda095bfb6203f605693e5806a81562aa43":{lat:50.4777,lng:12.3649},"2b5a17b6676f4dcec2216265cea41b6dbe3d16e5d8e4e52a7eacf7efd0979136":{lat:60.1719,lng:24.9347},"2b6c5f3ac86952dd6cd2f4124ddc1e1e1fb2efedca1d3d99c478408185ebda61":{lat:60.1719,lng:24.9347},"2b7dabaad8b9c1c6b76ca0a710233d17987a2e3f752cdfd1866119e7389c3bbe":{lat:50.4777,lng:12.3649},"2b9825087ddd88ae985fcb57782fddb45d9ffa76f207a64d929e5cce8afa152d":{lat:50.4777,lng:12.3649},"2baa6e117a1c1c85c19dd2c58cfa01a0cdea653b852b3be60bb0e0226ade194f":{lat:50.4777,lng:12.3649},"2bb8958e61c38dba638dbd7760da1bbe68b22a2374c3c869f62e107174adef7e":{lat:60.1719,lng:24.9347},"2bcc95ca2acdf5f100818c6ed3b0f7380368883fbdb990925cf367aca076aa96":{lat:60.1719,lng:24.9347},"2bd4ca29adacafb90329fa9a8c2be1dbfc07111db79c5233b3c67ee22a8a1068":{lat:50.4777,lng:12.3649},"2bfb626b1e24d30ee27af0a5b11ccdf8ce760f59946fa94c64f1cd910b08985b":{lat:50.4777,lng:12.3649},"2c03102858b97826a8ef12ef65da2af2ae4d85e8fab368bec7434d83c251555d":{lat:60.1719,lng:24.9347},"2c174ab2f4104d4a298a3cb3cb241a5bfc34d657da6434f32667e7a09088488a":{lat:50.4777,lng:12.3649},"2c3effc95a0216044f0e3ece57cee2a37add4a5bec17ee638fe7c5a099e5fea8":{lat:50.4777,lng:12.3649},"2c44ce31794a344fb459d0ce403255f420283340e1d59697295f853e5ea9864e":{lat:60.1719,lng:24.9347},"2c47e317a9a12625d0d79bb095a68cbfc2fef59d4cc82326502f0ad7fcc2fd9c":{lat:60.1719,lng:24.9347},"2c55e02d037b5b59f0c61e8d6363f4e34496919251636bdc8b6240cb6d958ed0":{lat:50.4777,lng:12.3649},"2c66bf9e252458101acde4977711d95f701b19c7ac330004ebe4c0b21e27ed53":{lat:50.4777,lng:12.3649},"2c6a441ac7fa55da99b889dee7e501bb52188f13cf0776a3372981cb9b9c967d":{lat:60.1719,lng:24.9347},"2c86c2cd59af1bad67836aa8e8887f796deefbb010a37931c6fe26779642eb44":{lat:50.4777,lng:12.3649},"2ca74f392b6c5b104ff742d03c2c2e36db9b7ce422260c4ff9b9063c36b48f79":{lat:50.4777,lng:12.3649},"2cab553b689fcfa37292d779a79057977b6a2e98d9bbee3910d2d0876a58e3ab":{lat:60.1719,lng:24.9347},"2cc9d62867f021a14dadfb0f7b653154b5e906858d52911021484ad960eb5389":{lat:50.4777,lng:12.3649},"2ccaa2fae6f97a594e8ff7308a0d604cde02fc373bb2a0041985ecbc30c6579b":{lat:60.1719,lng:24.9347},"2ce2d3148d2e5a9bb3cd8be1efe02c62a8f3dbe84ce401d9e4c832e7a86e11a4":{lat:50.4777,lng:12.3649},"2cec425981d7ee41c070b9da78a151a86e01c8c9dd1b4f765d5d305e2c40b353":{lat:45.2496,lng:-75.9181},"2d15486964cc68174a7784b439d6b8f95aff73f8121b5a185a0252cdbc21d41f":{lat:50.4777,lng:12.3649},"2d250905940e5c2a65600cbe53a534085b278802f4c4436ed3f9210b613ab324":{lat:60.1719,lng:24.9347},"2d2e77f119a6876f00b9e502f58c014ad90e573706e0cee50900401e2839eb36":{lat:60.1719,lng:24.9347},"2d3221337069fb388198133f1329fc8ac197007bd4f831acfb1cd68f8bf3c0ce":{lat:60.1719,lng:24.9347},"2d365bab85726d32e2659d9566f6e5d0a0188977bbe451e49be0cee29a26e6c9":{lat:50.4777,lng:12.3649},"2d435fedd163b528b17fa8da696e2125f7b2fc39e92ce164bc4daaa98a89e950":{lat:50.4777,lng:12.3649},"2d64ca974c7200f11a4dc2668642ddb218fa8777824cbe5c604a3403fbf1ee20":{lat:50.4777,lng:12.3649},"2d7d33ea9df0061545cb9022f233a249e549201fbc198e62da154b25c73afaec":{lat:60.1719,lng:24.9347},"2d91b181e06d6569c1cc6f3d60bc0e6d4a378ab5aa95cee2fc000cb7771c6b06":{lat:50.4777,lng:12.3649},"2da271ec28c15a2e74fc3416d5d0a816dcf5dcfa14ed45025c3c8f291897ad28":{lat:50.4777,lng:12.3649},"2dbe057f6ada20269bb733c254fa9e9f4ba71eecdc24f30de91a879f41483dac":{lat:60.1719,lng:24.9347},"2dc32aeebf241813ffc602abe243d617b61b7159587897d7085f1ee89ef3986f":{lat:50.4777,lng:12.3649},"2dc7e19251efec50712b3c424d86907ea8e73ccd62d3eecf88595f8e62be5f0e":{lat:45.2496,lng:-75.9181},"2de714d09b7e922f3bdfeee2539400487869ba326416798b6ebd37c6925e5a23":{lat:50.4777,lng:12.3649},"2df2a98237dcd217cf4fabe2b6ca232a40ec429c09d6a32a98be7a855fd9a5e5":{lat:52.52,lng:13.405},"2e1387a2f8d2ea0a564a2d3ec9da35cc74c233771e7eddd2b395ef0e69b44867":{lat:60.1719,lng:24.9347},"2e14b500dfd48414247d91167af309512c84abc4a0d714b88e4463c046fad04a":{lat:50.4777,lng:12.3649},"2e3ba7d5a768ac0de7543bb62e817a2a7328e3327e1da8387d84442a552a6cf2":{lat:50.4777,lng:12.3649},"2e44ee285a9296a8bb3a5258e30b9bcefb82ccd3f3bba0ee104dcc601be2f05f":{lat:50.4777,lng:12.3649},"2e4532cad0e49a3cf85de2c7209a0dcf8a553c051111c7f3f74606537d884762":{lat:60.1719,lng:24.9347},"2e5f1346ac316663971b2e68d9e77d96c9728c1b142a4cc6ddcb562f4d3b482f":{lat:60.1719,lng:24.9347},"2e6210a800d51bac35f673fde4e7b86049166955235718d62c5b829690961d43":{lat:60.1719,lng:24.9347},"2e65fc76895c6330ff3b270c20490c26cab37743a8bfc14bdbec6edbb94bd52d":{lat:50.4777,lng:12.3649},"2e8f12cece9c8158be34a7a2c9ddc647c71bf16c47ca51d0d8f58e8f4a8cbb00":{lat:50.4777,lng:12.3649},"2ea6f175d4c213bcdfb0aebd13cbfece0415e41cd6c54bfc3355e338884d4bc2":{lat:50.4777,lng:12.3649},"2eb21114b29326cd788f0eced752bb0859ce5b03177eff75448a7910f2b95ac6":{lat:60.1719,lng:24.9347},"2ecb457bbe7e2eead6cb41c9d277760ba00bff0b7b498c75df4fab2eb895657a":{lat:60.1719,lng:24.9347},"2eccbef57eef9399cb1621a5d19f95a80154f649f977f0b8b8bfae9562f07c9e":{lat:50.4777,lng:12.3649},"2efe06c471815ce20842ca4cd23d7cd39c4ecf8898a450a7d6decfbd37197fe0":{lat:50.4777,lng:12.3649},"2f109a27b47eebecddc6770bffb280ee98a4e8ac1c987ef4065b737cc1ff9e68":{lat:60.1719,lng:24.9347},"2f129f853f1750bb4fd43d823805231cc6b84b71c3b8551373211159da8c00a7":{lat:50.4777,lng:12.3649},"2f2892af825818606c533b225145d5eebee35873b976996866c5f5655f52c959":{lat:50.4777,lng:12.3649},"2f447755887bfa7efb80f35d229397ac8c1ee6c97b471f7a66a9b648af459853":{lat:50.4777,lng:12.3649},"2f48e11801eee0bb659d4f746b877b59fe0070e29630dcb95e2cc4bec01af26a":{lat:60.1719,lng:24.9347},"2f4e2c294a0b9ed286df69190d85f8bb5a1a6263515aea94e26e8886cb7bf11c":{lat:60.1719,lng:24.9347},"2f598fab36d78e25c5bf53ddca6903ecf35263d1dbd7e8ab923da34d0fe56c77":{lat:60.1719,lng:24.9347},"2f6c94003387063f8ae25e87c1069bfff13a4013218f8f0381c6ab0599067efa":{lat:50.4777,lng:12.3649},"2f87791a2d0d21cf919edc0c548cbc9b2e951b8b780333344a33a914b04f77f1":{lat:60.1719,lng:24.9347},"2f9eb35b4e2cc9f10486f156105d9d16d08f4a0945031ec056fa3a8311f238a4":{lat:50.4777,lng:12.3649},"2fbc03c328528597f9cac39d0b8d43f0aea346ee2fc3e29b24ddfd764cd17196":{lat:50.4777,lng:12.3649},"2fc3429ac245789104af0b5f8af5be069fb8a3ba84a40c9cbe118f74a6cb9bf4":{lat:60.1719,lng:24.9347},"2fc531a0b8fee1d3ad8226a971ec19945e7bf1a086fa027e12d94d1eaf25858f":{lat:0,lng:0},"2fde02f3d12452cdea138d1e4d96cf8b4243800cddb75706694b209a6ee968ed":{lat:50.4777,lng:12.3649},"2ff24ce4d30f42ccc884efa69034c32d024c2a8bf1bc4bf8f398ce521d13e675":{lat:50.4777,lng:12.3649},"300bee1c56ffe3c9cd6d96f71a5ed9c8a42dffe5f808b3d84b7345e3c6c10759":{lat:60.1719,lng:24.9347},"300e9385ecca4f67bbada2734f8858d83a241cde56e195f70c063b6c0d1931cd":{lat:50.4777,lng:12.3649},"301a6efc4ea96ddccc5d56d62d86602cad59d8dd18806f6ae06dfd2e1bf49b5e":{lat:60.1719,lng:24.9347},"302eb25bd5e405f24473053c8066a5584f8f88a1050ebaad5c3f76b6ea6c1152":{lat:50.4777,lng:12.3649},"304be0696278d29fd29cc94036062c7d1c4dd8596836c2adeba42d66ec026f11":{lat:60.1719,lng:24.9347},"30550ec6316967bddf73b5cbc341e33d6fb0e63746f265833369b15ba1f6e557":{lat:50.4777,lng:12.3649},"305c0f036f5934c974d051682f8943665dfa6686a0f31214c0a7fe53f7b00065":{lat:60.1719,lng:24.9347},"306ae9c2694d44ad6dc76d07cb7273d47b31f1350cedc6127fe66e08dad97f7c":{lat:50.4777,lng:12.3649},"308666fb485858caf5d31083e71982bece26d18aabbe58453f88eefb6b2c1d45":{lat:60.1719,lng:24.9347},"3094af77a211047e0cc93cc1adc010660f8275304aece347f8e52ca9bf60e342":{lat:50.4777,lng:12.3649},"30b0071d0cd7e3fdda0dc0c16de3d7536d23de0c0393cf289403a26ba8a4782b":{lat:50.4777,lng:12.3649},"30c3e77c75fe3a96b212fbe79e9e4934bb8a3e65a3e8579d753b6c080888bd11":{lat:45.2496,lng:-75.9181},"30c91392c30e87bd41f603e2d6da45bd8d2a79ab415e62463cc60401bd87abfb":{lat:60.1719,lng:24.9347},"30da5719e0677b5105835825ccda9f97c1c8c35cdad3122613083868fbbfbf0a":{lat:50.4777,lng:12.3649},"30f8d9bf52980e51b21d8d00b6381fc94a9ef5ec7d68b2359f4757f0e7f7b340":{lat:50.4777,lng:12.3649},"3119eb54070fc01ef403ba5f18b7777f13e4926b7708e0cc4534ce0c948cec97":{lat:50.4777,lng:12.3649},"31200d7b9a5cd93a006fbe5637aec271800eb339f3924a45222fe643dc34d2ce":{lat:60.1719,lng:24.9347},"31222bd16d97279951236c7b2239c490a3ce3d068b1bf74bf0aa4473e99ce4c8":{lat:50.4777,lng:12.3649},"3132844502dc11963f104b0467d32ca973881ca52d8ff54e344d2043bbea14ba":{lat:60.1719,lng:24.9347},"31479688ecf8d16537ad183016b5b2e856365f3dfa23e151f148fb3635560672":{lat:60.1719,lng:24.9347},"315750341e5e2920eb3ad37c7e8134d60d3480b57bf237a5d88191bc7ec056a1":{lat:50.4777,lng:12.3649},"317898f24b721247dc40f592612b7fdde1b4c2b25acd138bef6f4e40e0c3cbed":{lat:60.1719,lng:24.9347},"317b93be6c121aa234065e1ccf31e85bcf50f4a2fdc0a37b0e8390ecbf306515":{lat:50.4777,lng:12.3649},"318d8653c89e6ce89fa75440fbfa7b0fdd7e0fc8e9ab01099db0cf6d7e799cc5":{lat:50.4777,lng:12.3649},"319045058d91a6e97187576e3673758f783db362378f126af1dd7d5f15436ef0":{lat:60.1719,lng:24.9347},"31a4f4cc61ed7fb8d96ed3554e2769da4e5294fbee5fff34840e4c2474b582ff":{lat:50.4777,lng:12.3649},"31dac81d1ff5f2bd4335b866b1717b22dbae60f5e115b0fda872840a965ab549":{lat:50.4777,lng:12.3649},"31dbfd29488996301e0b2737a9a83e05f52595081290ecc560ec4312f6bdbe91":{lat:52.52,lng:13.405},"31f0ae0c3526c19f488ea1d582299708e3bef16d21a2312293cf4b4a0b9ad559":{lat:50.4777,lng:12.3649},"3200a28e09edc27d41c1bfef911b69bbb9a6015b212ca484c597e2f4d78b83c9":{lat:50.4777,lng:12.3649},"3227b7b6f44fd81c8ffd13e3e5fd6c5a827a6c09678b2b8d174a56da8aad4f03":{lat:50.4777,lng:12.3649},"3228c25c7e2f33373c538ca1fd63f5a0bee15f72ad700b6a88203cb9402b1793":{lat:60.1719,lng:24.9347},"322d0712c2f0c5eca8662026f0baaff1cf11b7dadf29277999855ec27535f2f0":{lat:60.1719,lng:24.9347},"32414278961cc7559372bbd9433c68333238daacaa005bd76f190ed099965f02":{lat:52.52,lng:13.405},"324fd89536a5a98db92e0bb624e91efe0f946516cca04b53566b3016e8085ece":{lat:50.4777,lng:12.3649},"32720f3dfe203f222f9ece9f8002f04003472ffd5e16ceb121ddeee57f0be22e":{lat:60.1719,lng:24.9347},"327570ea902953bde17a181f34ead99ae60c6a150f42a14b211c87279d8b91b1":{lat:50.4777,lng:12.3649},"3287a844abb65b19490cbe3034f158411bf5d8b91b171331215a0c1f92d041c3":{lat:50.4777,lng:12.3649},"328925d0c21f4d5438b8b53b125612fd46c1cf22ab7860c72f248f6e6910b2e3":{lat:45.2496,lng:-75.9181},"32a7cb3754f28f72c9cba7817a785d2b6a6ab2bdf14d099d8a7d2cd1869ba291":{lat:60.1719,lng:24.9347},"32b44d2b3ea0393c66d742d710a1f5cb058119f4d6bd02db455509cb0c8cb254":{lat:50.4777,lng:12.3649},"32ceb7446f87fd5b7ddb85eabeada979798cac2f94730f3fbd58b64a138a47b2":{lat:60.1719,lng:24.9347},"32df6ef83e8b628c3e530d38899900bebe5702201a3b5d74f27bef2cb4b198c1":{lat:50.4777,lng:12.3649},"32eed6030a6b79739125e22c1d003d9cbc3f4e929e7325fd1631192e957918cd":{lat:50.4777,lng:12.3649},"3301a636ae77f4fe063160eadb4776cc7796ad7653e117870cf7482420718040":{lat:60.1719,lng:24.9347},"330463302ee7f2947b80f629ca2fd4830470e03fc95eedebcb0fd52e3cfbe1fc":{lat:50.4777,lng:12.3649},"333b435c44fcae71c675cbc18b57086305e0fc3d98c8cda34babbd704df0a64b":{lat:60.1719,lng:24.9347},"333bf0b36647404a5ff2942dc5f4f91a445292fcb1034c8e852b461af7ddb37e":{lat:50.4777,lng:12.3649},"334f7cd455ac06514099f36e4c22db267de754f0fccefc349010301405f9022f":{lat:50.4777,lng:12.3649},"3362371a07cb6ace76c953c8dc8350ba0d9a70c2f4d0b0c560baf988d63103e8":{lat:60.1719,lng:24.9347},"336272c54a94a342650ed9aaa313f60123b09f5bbc476ac43dabd42914a051d2":{lat:50.4777,lng:12.3649},"3369c391bade4781c5093d64af4a946e373dc92530aace99344aaacd5720ee41":{lat:0,lng:0},"337387276acce145371369c1ce961e0a4758e9ccbb02a7cb229af8c3fe3122d5":{lat:60.1719,lng:24.9347},"338e207c3d00a8387bd974a159e664cb0b1cbb3220e582b011b9621820c82ace":{lat:60.1719,lng:24.9347},"339cd67733276e22dbee15fb5bcc99f469fde104df143e17157a3f785cd9d5f4":{lat:50.4777,lng:12.3649},"33ae022a1e1bf0e620c4eddbafc8a00b8be689aee76e0271fa642f5ad2eb1bfe":{lat:50.4777,lng:12.3649},"33c666936d1cdc7ad181432cc4d668c23adc43d61d1552cdf8c3bf51d4c82835":{lat:60.1719,lng:24.9347},"33dadd0b1b16989c6fee02876f0d36174d6ca3ba09e2830e181f7219e6abe02f":{lat:50.4777,lng:12.3649},"33e75cb63e03108c21c06d3191e05353ddc3900045eb371d90a0d4f5af321493":{lat:50.4777,lng:12.3649},"33fd6e9f48a5f351bbf2f90d0928b4cfb906a347f0454924193e2c51c5d82d12":{lat:45.2496,lng:-75.9181},"34015e2d1f37db7da60ff2690f81831531da9b6880e5c9b3c3d9802fc24dfd9d":{lat:50.4777,lng:12.3649},"341833b232b4b703aaa04b3b96c0fb04f662aeda2aec7db096df70df4b2d95ba":{lat:60.1719,lng:24.9347},"3431069f2dc48e0cf5a565009ae08aaf7ea8d734a8c3e45d3a6308f6d0085f0b":{lat:50.4777,lng:12.3649},"3437f3e75c36be3fef71ea03b4df727afae1a89a15f08af8d5033051823692be":{lat:60.1719,lng:24.9347},"344318130cf585c52ed01af72af99e4c94483b58f676ccfe4b8668e576b552b0":{lat:50.4777,lng:12.3649},"3446fa3ecc0c2e5564a94e76aca089ae3dfe3ea23f49004a1897c6da0684b83e":{lat:60.1719,lng:24.9347},"3466b27c88ed6f93a10c9b2770c0264f52ac83a51abc8f4e03ea90cac9f44878":{lat:60.1719,lng:24.9347},"3470e6112c9edc8415cd61e2051adb8435cfeb0e82829f98e39b8ac737785cba":{lat:50.4777,lng:12.3649},"34983a7d850153b2b634e253dbe88f566dc1418d5b32da2bd506f4fd92ab2c41":{lat:60.1719,lng:24.9347},"349cf16c98b653747d84acf80e73058b21618e84aa0bc7deafe19d85022c0522":{lat:50.4777,lng:12.3649},"34bb652a85f21a22bbe298f64fd1ff0ddd1b8475d0318d58cce3ca8778442990":{lat:50.4777,lng:12.3649},"34d47831991c59b4f4f45cb78bc2e83369d9c152d3ab47c526ed7d50c5d8eef4":{lat:50.4777,lng:12.3649},"34ec6141fd5b0544940d84acee6f77a5a60bc4577a43f58c4760d2b25cad6497":{lat:50.4777,lng:12.3649},"34edca52274301986123716c496540b32e5b3499bb0810db364d233df1f44ad5":{lat:60.1719,lng:24.9347},"3503002a179de332803c829fd683ce6f151400db1437c4a8af3db17c81e4a8b4":{lat:50.4777,lng:12.3649},"3509a0e98d05c4b4a5b7dece9709292205c7de6d7145976c4dc5c8df0225c60c":{lat:60.1719,lng:24.9347},"350c641bc0be7f47e9196a522b4a38644f42afb74c83d891e435f12ea90e575e":{lat:60.1719,lng:24.9347},"352e3918b372fb05ca5c77431aa439bf25a23b9094460d75bbaae76d4eddb119":{lat:50.4777,lng:12.3649},"354f3f73a1b71ea2bf3a0df3fdac5c68d95a848ac7e9c2198aff5e388d85e00a":{lat:60.1719,lng:24.9347},"3550c59d8aade88109c78d5f15e5dbf534ac590a40b62f772210a3c44c8acde7":{lat:50.4777,lng:12.3649},"35597d15827a4734c04b33f560ef0bc5eb5ca63964ab0f9a54d5d4e5be078bf2":{lat:60.1719,lng:24.9347},"357071f45790ddb482abf15a4a3a23d4935f862d924ce6a13246875b9621d234":{lat:50.4777,lng:12.3649},"358e9442b009b0f4c6b0866d844ddadb3986c366b3958198058fe3c9f4be8bd9":{lat:60.1719,lng:24.9347},"359f2942a8e1e5f4b7deb83678824c5759a6e0485dcb139f1e3c93c2d415c684":{lat:50.4777,lng:12.3649},"35a794c9cab7d9ea53182a3e20d148c167a70002b7aff155c02df700f037c059":{lat:50.4777,lng:12.3649},"35d1440c6765c42822251ffc160b4f18d836a3a8ea7706424d4fc8ec87b55c4f":{lat:50.4777,lng:12.3649},"35ddcf8d64749d41ef26b465023b7d14fe23eb4d1f85259f410860127b86f62b":{lat:60.1719,lng:24.9347},"35e93dde5abd3d866140a27f83771d6200cd8f2d4ab155ea8cb6a2954921d49b":{lat:50.4777,lng:12.3649},"3610de3bccffba483521ee56c568b82194742e0a0b6b01941cee85480ee80013":{lat:50.4777,lng:12.3649},"361d73b4ea73dff12b832bbf250fa424cb2e58d001080a4f6d05b5ababb40177":{lat:60.1719,lng:24.9347},"363a15b8312c8cd4f26ac76f64aeb64f94c9f80c2d5ed2d5437b6dfe19f7194a":{lat:50.4777,lng:12.3649},"364d862b4b96775985a2d0af73d256c10a7a8ab48fe9439f8ff06bc3c4562464":{lat:45.2496,lng:-75.9181},"3650b05621456389a0468f32fedc849787722b48116c9c8f470be36f74a557fc":{lat:60.1719,lng:24.9347},"365e70ffb6a296ddb46765279cf08d87f33a5da8e3005b10383d11696749ee77":{lat:50.4777,lng:12.3649},"366e1ffb002e681ad3ade2117d709c7ea22d3c9698e14b9a75616e206e6da395":{lat:52.52,lng:13.405},"366edfee395677da3fb4090762f56f65de5dead6d367d43f590beff1ece89159":{lat:50.4777,lng:12.3649},"367e57e9251bc1e968cfa5df4df5a04dc5249fd20079b4473c62d6055b4b7266":{lat:60.1719,lng:24.9347},"3681b5adc397f7c25685961e5a8233193515f55aaf025c8d33e5c3f9bd956d51":{lat:50.4777,lng:12.3649},"369ae8da14beca802d391721f722ea8d2b1ea0d087bb8f4003388a322de17a7a":{lat:60.1719,lng:24.9347},"36bbbde1845817290348da05a223cc89f965aa2ae91bc94995578b0f2e3498ac":{lat:50.4777,lng:12.3649},"36c45188f76357c60aaf471861839da57bc4799a49137ce5fcf9a2f24a89f1ed":{lat:50.4777,lng:12.3649},"36e56eaa107a7fa3cd86891f46c345e726c9a63f48aa2c2a0bdcb3a58c4b5dff":{lat:60.1719,lng:24.9347},"36e69d62a6a6ef3ff232df17bc3fc28badeae786fd4616f5b2c4b9e0d4a811bd":{lat:50.4777,lng:12.3649},"36e81d20d2e2fe73ee2edf763cdba423dfcf80f528750ba105c0768d79845fda":{lat:50.4777,lng:12.3649},"3710695dded77e501b31c5d9ece6d9a3c722f5c7cc8a1ed624bec29b9d13ee75":{lat:60.1719,lng:24.9347},"371c099747c3761e34c74b6e466925ae22b21ab43252453a6b4931081fa263f4":{lat:50.4777,lng:12.3649},"371c6f10edd6ca76e8ce443e7b17325a1d4823332261becdae97ce68a3835388":{lat:60.1719,lng:24.9347},"3728fb5e151839bc7cc1bcf7a2051f2cd6e3cdd2cb0250cfc8d498014198d691":{lat:50.4777,lng:12.3649},"3738205d35a16ad5e3693abe6defff5da8025b1eebfa8217928f4b33ee6e463b":{lat:60.1719,lng:24.9347},"375e420d4f6ae8adc9ed8e7fab762235e34e8bf7147e6fade28592289a2d0a08":{lat:50.4777,lng:12.3649},"376ba9b0f293ff984e26247b9a437a8e823674ae05252e762d7b530786f4f34e":{lat:60.1719,lng:24.9347},"377b01102c8ffc2f4608e8c0e8acd90d2f3f23ac35cfd68a3ca9275c4238c64e":{lat:50.4777,lng:12.3649},"378501f2c28e9f533453226331cae9d2378506f3555e1f3501668ab1a593c98d":{lat:45.2496,lng:-75.9181},"378980448db81457ee4536ce7dbb796295401dc2a8cd78ffc8d310e2a6310fbc":{lat:50.4777,lng:12.3649},"378abb61b935a8f0c0638365f215ccecc5cb55fee9f67f2c28bd0e415f276ee9":{lat:52.52,lng:13.405},"37a672726ab78ed942c429b80418fe21132db615de60157544372c02ca3f0022":{lat:50.4777,lng:12.3649},"37ce303bb3fab51fec804f49723c5c0ad7007add3bc90115606a10473615273b":{lat:50.4777,lng:12.3649},"37d0c2be3b8b087405b8b44695d4dde8c3d4ab986f9e4176764addfec50b3ea4":{lat:60.1719,lng:24.9347},"37fee756ff14ce655a7669e18977720b4f38b5e93451dba7567aaafc06f65a63":{lat:50.4777,lng:12.3649},"381d87133a9326a4948dbdd7f16ed4491a24346da699893d6a5201e1bd7cb165":{lat:50.4777,lng:12.3649},"382c9b51ce93a0acc9b2e7f60607b48acfa68344647ca476496074cf3ef13003":{lat:50.4777,lng:12.3649},"3838cf1dc36da3b2cd1bad1ef33a1cd67bbb996428f6aea5902b3442e8c14604":{lat:60.1719,lng:24.9347},"3840b0fb40bd626dfba55d7ab4db8f251635bc57598a168799ac478edcc225d4":{lat:60.1719,lng:24.9347},"385cd19d6fe6c53baca0b79d93e02a3d6fc1318fc11fa12de77c7f832b06d398":{lat:50.4777,lng:12.3649},"385d107c58ae37c2d1309780d3e035f7383825ae0f4f38991dc817eb4c71bd23":{lat:60.1719,lng:24.9347},"38685438388e464e0a532484e19903c2fe0c6c7e16b521b8c7189782ec88c870":{lat:50.4777,lng:12.3649},"386b793d4e3251dbb47302198d0b3a2a5406758e533c919c85e3bd6cb9bdafd2":{lat:60.1719,lng:24.9347},"38745753b52461671e8485a39193258cad461ed4110261aa179a19532c11b0ed":{lat:50.4777,lng:12.3649},"38929ec0dc9d0666b42a0d11b171c21b5c1fdd0f0c895ae2fc01329268865d75":{lat:50.4777,lng:12.3649},"3896d731593df9c8059572b7f2de45d058fa72f9f413a9679522ccbcdf2bced9":{lat:60.1719,lng:24.9347},"38aa5b707aa3f4c354891a3c183b6ab807746c53676afe47775cf46b9d0e8e61":{lat:50.4777,lng:12.3649},"38cc51bdda4fe0ff951b1d3ae9583ea1248b733473fbbb06a800b7df0bdbecfa":{lat:50.4777,lng:12.3649},"38d492e3a9a5d97718cd3cee5ec015ac22f2298c809a6f9c7534c6134ade292f":{lat:60.1719,lng:24.9347},"38ecb6519abe80ad8bf92e5012ba0c997243546294c92815c0b286199603364c":{lat:50.4777,lng:12.3649},"3909579c7d67be0b6f7d1e955ea17d17e25bf658bb24f5ed7e6f5fe8f6096b0f":{lat:45.2496,lng:-75.9181},"391e9a3ed3e8277e134e18c04978d1e9d3ee33f05c3fc8ceefaca1d1380b5bba":{lat:60.1719,lng:24.9347},"391f942eaf89f590c840ada8a11808a56601aa12f5a1edbb90483c241da835a6":{lat:50.4777,lng:12.3649},"3923c58e4607fe7b52f8e5544c4042e3bef2c971c6791b04a13976d620107497":{lat:50.4777,lng:12.3649},"3950d4f5827be8ab8f9be19aa163887c7304d822e706cb8bb5f5c5fd539f74ab":{lat:60.1719,lng:24.9347},"3957112f63c4454496115a1da5a8d64c42b92fad38a50e633e703348b20f76ce":{lat:50.4777,lng:12.3649},"395a70b77904fbd120a9d68a91b0a08682ae0b2ac317b7bf2f1a3e11822725a2":{lat:60.1719,lng:24.9347},"3961e4dc0e6e1fe0d46a1ee871f14942b62323fb5d39bc2e96fea343aea42e99":{lat:60.1719,lng:24.9347},"396a9d768d0ecdab8e77fef12c05b5076d70175ee8e15c1e90e971ef9ddced7a":{lat:50.4777,lng:12.3649},"3983ad01d2f24afa8276d0438560c7d95cff610991119f14ebe74ab3395a657e":{lat:50.4777,lng:12.3649},"39a94a1f3d020cae31b0d87a2b422e7f349e247ae537c0b603fd3ebf068501c2":{lat:60.1719,lng:24.9347},"39a9ae25f18e84035131688a754a60abcea0cb6285f1b77436b3c5240c60cfe8":{lat:50.4777,lng:12.3649},"39cee153506391e7f56d6529892ed631fa3e7820b2ec521de35424c5e9de4538":{lat:60.1719,lng:24.9347},"39d56913fcf2b9790e0c74853b73daa7e88c779cffad153ad4013f5a7d78096b":{lat:50.4777,lng:12.3649},"39fdc52dd70036a4dc60e5155296b37dc5230eaf0f1c5910513557cf63367489":{lat:50.4777,lng:12.3649},"3a06bf070c844868e681e48eafc28bc3b5839843ee61b22f3b3f6cc3029eab5a":{lat:50.4777,lng:12.3649},"3a1d94e1ce637bf16d80d0967ba9854ce0c38a9509c0562a77aac1edac304298":{lat:0,lng:0},"3a2311d1936d9fe7ae8ff4b6309277eb861802cacad859419d308af175d4b3ea":{lat:50.4777,lng:12.3649},"3a3fc8e414bf7e272936d560124e078d85565ffd333c0b68eed2d79e19c678b4":{lat:60.1719,lng:24.9347},"3a449334ae5e09ec43708fb998f7edf886f2aa29e9ea3b6c259d069f0a9da52c":{lat:60.1719,lng:24.9347},"3a4b384467629ebd53c13f96b38041a41a392d8691045a303dffb291577c6a8f":{lat:50.4777,lng:12.3649},"3a50b4b5991a8157b9ae017c6a31139b517f76377f90bfe9f74cb805f5b7bad5":{lat:60.1719,lng:24.9347},"3a71a6b8f1df6cd0e20b5a13ad344da81c14ebdee6c0c98d1e1325ac2b6129bd":{lat:50.4777,lng:12.3649},"3a7f575ad3611a09268a6347af7c4084efa19c2e03a3d4a692a608268c2ccbdc":{lat:60.1719,lng:24.9347},"3a9d1cc2da3326ce1bf6ef181137f2d8aa4238628ff565b2675e0d6c119b9a72":{lat:50.4777,lng:12.3649},"3aa398320526132777883a0620905abc70136e99105f9a38a631bdad76bdd18c":{lat:50.4777,lng:12.3649},"3ab197922d270a41275ec1736fd9da7591e6abb75f480d1a4af95b060e98faf7":{lat:45.2496,lng:-75.9181},"3abd1825289034aa0db1e5c42a5617fa3efa944914e18b72eda4261d2bc47639":{lat:60.1719,lng:24.9347},"3ad6b2aefd9fca58197ea67e9c12fa16574feb25dd63ecd278eea3c55f86b581":{lat:50.4777,lng:12.3649},"3aec7d92d6e0513040cb551f894649affef922b1bcb2b30eb41c238d83982c4f":{lat:60.1719,lng:24.9347},"3af4ee22cd9e92d450752f6a0c86542357d08e52b2573f976f7dd4ce901538de":{lat:50.4777,lng:12.3649},"3b1ad70342ff0799dcfbfca521e0534a4e6f925d1fd82975b7df31ec4fcbb0ce":{lat:50.4777,lng:12.3649},"3b1d1021d17fd87bf63ef54e2ace9b0f82b1d7af5d6e667994b9413c3fa29cd9":{lat:60.1719,lng:24.9347},"3b1ede52ce04fb9a006fd325dc9b8e933a34c3adbd9c37a7700d3ec0f3104000":{lat:60.1719,lng:24.9347},"3b2416b71a607122a2a4bd0d86444a13691070024564675941c0f129de08c285":{lat:50.4777,lng:12.3649},"3b42cd8357a25cd8a37422787889cd2518e05fb0bec72eeb456585a67191e4d9":{lat:60.1719,lng:24.9347},"3b46aa435409257a35d6fb7387d496e241cc81ff5ea2472a83095c0d5205577e":{lat:60.1719,lng:24.9347},"3b583ac63a5718151450c4a79b84a30a208d409a8274449996e31cb493400700":{lat:50.4777,lng:12.3649},"3b660e9465f70d8e6c6afd17279178d393e7d0332fa6ea80715e88d000b73aa3":{lat:50.4777,lng:12.3649},"3b8241f01ee74d786a17b94e52acfbf373e7125e5517df90d0a5636f9c90fb6c":{lat:45.2496,lng:-75.9181},"3b94b8f42ac85963a91accfade9efe8fd0510a2edea02498d2943c4a6b5a1926":{lat:50.4777,lng:12.3649},"3b96a7f10958b08181114178eda3d09ad9c7ef8ea4a7f175a9e504d9629e981b":{lat:60.1719,lng:24.9347},"3baf8542a58ff0824c5ed24d927af6577b5ca40571ca20731c1013302ae432bc":{lat:50.4777,lng:12.3649},"3bc00f78d331d14884433a651629ec6c8d5e4a7aef4a5f1b646ec1410509239c":{lat:0,lng:0},"3bdfe40905ea28bbcef5649ac4cc4be6c0390ceda989dedcbf6aca1ac40c5c58":{lat:50.4777,lng:12.3649},"3be30119938bda72687cef30f82ae891b5394245cbeddf7e580afe198b3a9099":{lat:60.1719,lng:24.9347},"3bf2167458c05fd94706313f6863c362ebf22bead0cf04fb34e99e119ecfe67d":{lat:50.4777,lng:12.3649},"3c09cd103c2e5a27642b9bbe618219e705f131731c2ed2db8e1e1e25b777537a":{lat:48.9742,lng:8.1851},"3c163110cc79b7aaa1a22698b5578fe4931485520546d088c8903062c96eac2b":{lat:50.4777,lng:12.3649},"3c1d94c59e4c4be5f813a6d8441cbca065b343e5b8c0eb038d9fd60e88c06c8b":{lat:60.1719,lng:24.9347},"3c3203bf0e98c884e7472fc8361dd2a9fb26d8f04376ff9a1c42997b33de471e":{lat:60.1719,lng:24.9347},"3c3627bd7e23ba99aecd5754abfce1834b70b5e78fd71278c41a5780443848ce":{lat:50.4777,lng:12.3649},"3c4b99ff8032572ba114e30e7768d5accc654881116e09849471b0bdaefd9c36":{lat:50.4777,lng:12.3649},"3c4e18fcacb5cce7ef23e7dd69ea0db47ad0d9fddab08b2354f45f491b0154b4":{lat:60.1719,lng:24.9347},"3c56f834bb4b656cde1ecf988fc48f777fe06205a4401931e8d4b47387f1ed92":{lat:60.1719,lng:24.9347},"3c6809ac578742293b7b8622438861a09d1d105fb88c95ed925a11e38f210d8f":{lat:50.4777,lng:12.3649},"3c907d43e1ac97519ac37be44ab4c40ae18410e343c747c4b7feb9727627fdda":{lat:50.4777,lng:12.3649},"3c9145d50b7c8e2058ed16e733a97a0c868f1233a9634e840fae86b6b87b52b9":{lat:60.1719,lng:24.9347},"3ca21c2aa8e52a0d303be9b3e50b5df895b4253645a9015e1000242967c59781":{lat:50.4777,lng:12.3649},"3cc478195791591de57edbf6b955cd8d1e9363fe8a5da3876431be6d54467ae6":{lat:45.2496,lng:-75.9181},"3ccd37dc6704ff47113ff63b66c6a9d9633d83b96bead1c536f06077e9d0dfc8":{lat:50.4777,lng:12.3649},"3cf26a1b4660da6a5baa6c18674a4b16cae88a7d3deb2c2bd80a99f3ce2a9c6c":{lat:60.1719,lng:24.9347},"3cf7a0d02498a4f7e0be8ee8d43eb22ebcb571b59c6b531fbb3fff549a3ab33a":{lat:50.4777,lng:12.3649},"3d016e0c127dedf722249600727acf58ce2534343059d66887bcbcac8b10d454":{lat:60.1719,lng:24.9347},"3d0f2688d7f6ec0361c7049c0819b617aa438bdb42c1eaa42aaeeac7da67f8ea":{lat:50.4777,lng:12.3649},"3d168869b6eb25e892d4995c4b002548024074bcbec6453077846510e6b67e94":{lat:60.1719,lng:24.9347},"3d2a662e314c3cc7a99729daa6b80de52868480b878ebab07fdc6d6b5f261895":{lat:60.1719,lng:24.9347},"3d2dd92c2300b9e3126c8834a00a52364dd76b249fe5ca68b531d32a269a8740":{lat:50.4777,lng:12.3649},"3d50c6c8651e7e33fc8ad6ba7a3b22487e85d251a4958a5a02f068a4286fcdaf":{lat:60.1719,lng:24.9347},"3d551922378a9fe60e4f1c262283bdae0b6fd193d7268325e6b1831cb98e432b":{lat:50.4777,lng:12.3649},"3d69cd8176dde8609993a74c03dc899636020e12d39ae85aa9f461951bd1545f":{lat:50.4777,lng:12.3649},"3d88267351bbebb5d87bede762e006e51276d024132e302339f1f2d8dd7011ae":{lat:50.4777,lng:12.3649},"3d97d05216ce4e15caeba35806283ad8b3ac5b1b4ed3dd168fe6cb0891f97943":{lat:60.1719,lng:24.9347},"3da470a671839bb3238eef124fab2310c186323bf840fe4de113aebd5be92b5a":{lat:50.4777,lng:12.3649},"3dc607cb0df3e587802ab99417e7ec0c242ea4b6b383e5036de42f0b6aba22c6":{lat:60.1719,lng:24.9347},"3dcf756ad8bad60f12c5fedea0cb3a67d8625255ae94e1e0a0b4398487f96fe4":{lat:50.4777,lng:12.3649},"3dff29bf48aaa15020df29e3ca923a23b6452c6b7b522cbb0666b3520fa0c635":{lat:50.4777,lng:12.3649},"3e08bad2d3aa812cb352be251340fc657281e5d02eff837cea5485dd000520a3":{lat:60.1719,lng:24.9347},"3e0beff1098c423d82904743a028859375e6b042d87f9664be307e7b16fe67c9":{lat:50.4777,lng:12.3649},"3e15697e04fa7f3a241c4f88b6c32d7ced1b76a6becdaad846e78ef053ebbb78":{lat:60.1719,lng:24.9347},"3e1cb37e255d1febfcb12ffa2a2f8d6ac35cec54ca66b407b6f7bf0df37db29d":{lat:60.1719,lng:24.9347},"3e2e5c823e9762aa0d1833d1071dcb36e7b59dafbde236eb09b210844d6c6f64":{lat:50.4777,lng:12.3649},"3e4cfdbb0ad507f8a797aa8a4a46147c5f7e1ef4b2e80bafee7e3e3ef1224a35":{lat:50.4777,lng:12.3649},"3e56dfcdb679919c6a016488e0de7b32817a8bcbaf3d5f546722eb263436c2d0":{lat:60.1719,lng:24.9347},"3e7064809f9a253ec3a1bb77d46065982b313c954c41f2c33c03294dd9d0755e":{lat:50.4777,lng:12.3649},"3e90ae918eb6b854a6d4250538e7509d3cbf72d1bc03f65e90c7a793885c5749":{lat:50.4777,lng:12.3649},"3e915bccd0fdc97aeb5d089171200708362b4a7a1fd45ac5436b163f3bad76b3":{lat:60.1719,lng:24.9347},"3eb5390fa3ac3dc82ea8a54cdbf2949cebd122917203f26fc9fade07663aaf9d":{lat:50.4777,lng:12.3649},"3ed2a92aec55e292c2c6788a11d4b7e8845609462608225478c42a715efa6c14":{lat:50.4777,lng:12.3649},"3edbabd848d18e234ac003fa569b045d13615e63625cd35326579332936e47d4":{lat:60.1719,lng:24.9347},"3ee0528f72df1a6a33a44a72121860f133c119776a508aacfa2bc8779e28f836":{lat:50.4777,lng:12.3649},"3eeb7dbecc3a9c947d97a0a61def2ab694e2012e6d11b0457a18625a1aa281f6":{lat:45.2496,lng:-75.9181},"3f1462993f9a33c15e24458424563d36382ace61f8642336d9f567b7a4da8f2d":{lat:50.4777,lng:12.3649},"3f1cc3c88ed50390176f7adf325672bfefdc8c3636794b4b99cfa617ed2a091a":{lat:60.1719,lng:24.9347},"3f243e11e0388eac7910677da879b02dc9f9ffb044ccf7415ed2f8b8b0a2dddc":{lat:50.4777,lng:12.3649},"3f443d3326997caabdb539a14e6924642508b674ef7bad0a3a4282517ab20b66":{lat:60.1719,lng:24.9347},"3f489de08fb37d1ce927f1a2e36e22a1e14dabfdb335b87453389e81eb86fdd5":{lat:50.4777,lng:12.3649},"3f61bf5167fad8272e588c51ddc9908e8eb2f3276ee9fa1ca54979b44f91b0bf":{lat:50.4777,lng:12.3649},"3f6919c92997304c3433f41cb814ed8356764ca845ba3feada926b58dcf985eb":{lat:0,lng:0},"3f6ea7f2719a8730ec20cc610988ef97fe36765d96b706eb0ddb0766fcdbd5cc":{lat:60.1719,lng:24.9347},"3f73f2a62906bfe7e801d640ede3b322d4463d45aa6b7030c63efe45da8a94ff":{lat:60.1719,lng:24.9347},"3f92ddad7b1cb5af341c8e257f47801a64de09ae5a17a2cca45fd5d637f010a0":{lat:50.4777,lng:12.3649},"3fb1cfe6b78f80908012eb8018bee393bb46b8337dbdc887205ddb047741cd48":{lat:60.1719,lng:24.9347},"3fb911bf4a4438c3c18dba5bb10c41b686c8aed7267c45c231a538bfc8f54b3a":{lat:50.4777,lng:12.3649},"3fc68919d33b8256db9257d7a5a3ac32f0e6fbe5f6da4be7dfd1b79446a37405":{lat:60.1719,lng:24.9347},"3fc74ceaab3834421d70f0372417acc6cbd4557e4625659820610a4dc380855c":{lat:50.4777,lng:12.3649},"3ff1c58e22fa57b93f7b432fe182a9e812ef218755800fe20445d4ded0786dcb":{lat:50.4777,lng:12.3649},"401c73c23377f0a687e6d1e7d0f96d93f8365d6a627d006c0c8a0024407df41a":{lat:60.1719,lng:24.9347},"401d7271d28e640c1d81444461530a356420c7035232e899c0f6bc26a5f11ace":{lat:50.4777,lng:12.3649},"4030ed9b9063e79d7d6320f75166e472cff48d7abfe8f9c601a3941c7582807e":{lat:50.4777,lng:12.3649},"4038ac7378458a7b8ef4a5296e249f791dff0b9b4b2f44fde1ef7e95cb4c1f46":{lat:60.1719,lng:24.9347},"40569ab240c28aeaea1a8110cc6e87a3d137754114ea173d10068e23f131da0f":{lat:60.1719,lng:24.9347},"405d2b7140d704e521e74967adcd993d42ba05ee0d537077c9568c256840b172":{lat:50.4777,lng:12.3649},"4071c31fde12dbd46474e9abffb76875fff865c769715a83be5d5d7ec85f2f05":{lat:60.1719,lng:24.9347},"407be5a0005891af0b58530770cbb48a43079a4d5e3638e4590e8ccb09feb07e":{lat:50.4777,lng:12.3649},"409393192ce6e01a5b6d1c639719bd1d0f0ec0f7b8c887280965fca98ea97ed5":{lat:50.4777,lng:12.3649},"40b00a5a75e619a363d2d5206ffcdd8ab33b53a8bd687eff38900c456bb4e311":{lat:50.4777,lng:12.3649},"40b572b2e945fe58aba01814c860e04673cee64994ae4826f948f54478c36881":{lat:60.1719,lng:24.9347},"40cabc38a9185d5de6e0931334a804fc0836db02e72c4daa20cfa0f4f35a93f0":{lat:60.1719,lng:24.9347},"40d92c0cf3274380451d9219f5bf5e94f82ddab8ee0cb7ba933c22f6a52c9f19":{lat:50.4777,lng:12.3649},"40db22c5c72759f91b36922e206678ba559d660fe5791f611a97051996e488f9":{lat:45.2496,lng:-75.9181},"40ec3a53fab28a6bddb2ddb532310031a2ff5e9c7d848d55b3ffd7a4114839d5":{lat:50.4777,lng:12.3649},"41013fe1e1643dece510f39e3b818902e428a3bac59efcfba24df509eaddb3f9":{lat:60.1719,lng:24.9347},"4108eadec07d7b09e6b2b7e6b125832a1a3f01fa51b3bdcdb22f2f63d4d59305":{lat:60.1719,lng:24.9347},"4118e69cb82c78861f98d12a28d4ec4ede7877d8839c0bb5884a7cb13c5f81e6":{lat:50.4777,lng:12.3649},"4129e7a02f2ac3e43c51327ce7608d610f3e1924ee9890d437ae525cee6224b2":{lat:60.1719,lng:24.9347},"41353cff213a55345f9d9054158dd23158a823221c0729e7f8a1761e9126baac":{lat:50.4777,lng:12.3649},"414fcc88a72ea6080cdb20b87fec426a47c4a179f65b432df9964779ee9110a6":{lat:50.4777,lng:12.3649},"415aae30dbef16070970d098b62c0f6a0415f7d91f4cad4088f32934966d9677":{lat:60.1719,lng:24.9347},"41675a9969270e4722e6534860e7900523f8eefef58a7a322bbec3827deee76e":{lat:50.4777,lng:12.3649},"419492e708f83273a081abf7f35493a3918557df02148d60af3a4e9857962641":{lat:50.4777,lng:12.3649},"419ed0b624d5d0195525c621dcf58ff3c762735dd82c9a81528bb7b491b9099a":{lat:60.1719,lng:24.9347},"41b4a0780d3219e5f01ad1c56f92031ab56db5b1d0002bcf4f3387b227a587e8":{lat:50.4777,lng:12.3649},"41d23a1c2a9682df5e03b58fae6f0b8319f3c38334daf6e913271ad3710c98f0":{lat:50.4777,lng:12.3649},"41d26d6cb04a177718779b49d7457cf29519b381fffdf6551c923704b2b7654f":{lat:60.1719,lng:24.9347},"41eea276538a2b72b132ca2581e438210e5081429a3c04e55a865c0d6d7f938b":{lat:50.4777,lng:12.3649},"4208e2c7f806a9af1d95d73c9b94919f203c232bba07a3cd36f3350b986fa2c1":{lat:50.4777,lng:12.3649},"421578c9d8099aba9c0412d9ce6c7b139b7727c7d1cee4476d96fd9ae1370677":{lat:60.1719,lng:24.9347},"42371bdb3b6c3bf4363f4de7060e8ec9e2b3dbf6c561a255dd4676e5358d1f2c":{lat:50.4777,lng:12.3649},"423fff0898f83b573e1ce207c629b1da133e44aa6df5bdef968926e1ad698020":{lat:60.1719,lng:24.9347},"425c0aac820153e0de0ca55be7881f87c382ec78f218f1d0b1e16d55b1888993":{lat:50.4777,lng:12.3649},"425c801abde0dfa7326b6400d559fd8a876e4639a25e4dbbe8bc1441547ad701":{lat:45.2496,lng:-75.9181},"426fd84605e2052090e56c55eeeb0359ee928b39275c5481bcffe63309237592":{lat:60.1719,lng:24.9347},"427ab8f7bebaa3732515a5d819e728e070bd6822336c9e238c0365608f2aa71c":{lat:60.1719,lng:24.9347},"427bb816fe8b77ebc3d9b67b535384ebede073c3d66559fd79b511d8ce179055":{lat:50.4777,lng:12.3649},"42816ca4990b635b3e2f206ce8f3d630ef772dab1769aac7ce24444aca32b935":{lat:50.4777,lng:12.3649},"428f2d9d58e2f38f8f9ae9e1b4977d393dcc45b888bbad43e6573665b682adef":{lat:60.1719,lng:24.9347},"42bea114cb53f3a91deae22c8fa1908311d5097117a81fd257e39eb37bc47a4d":{lat:50.4777,lng:12.3649},"42c063899e71607f5f73960b62a96db69f3c1bdb69c96ff9e127a38f13aa8aab":{lat:60.1719,lng:24.9347},"42d4808dc28e42e89c0bebba47dde2c21df1082d0913a664bdcf664b66f61600":{lat:50.4777,lng:12.3649},"42f5712288001545b0d0a89c012a46baee4b37d5c8a8331d036c69e5635b7ef9":{lat:50.4777,lng:12.3649},"43039c7bf795805001d7cf8e7a820f33b3e0477cd34480aa592a3e4a384ea9c9":{lat:50.4777,lng:12.3649},"430e204573aece95f75ea403bdb2aa7172103c68ed9d3e2e4fa577d3f9e30018":{lat:60.1719,lng:24.9347},"4312fe09e2fd5787d296852b44914e4987db0e87e655ead5c97feaf304cd8920":{lat:60.1719,lng:24.9347},"43133ea989490695d422674c916821e9b41ef1fbab39673c09397d2784b969f2":{lat:60.1719,lng:24.9347},"43356ab8e36574470810327900cc544970d9338f0b31f22282ef068b28062a52":{lat:50.4777,lng:12.3649},"434db55c027b63cc0c62ae7ad80860eae1b3da205e1f77b7466b7deb6e58d32b":{lat:50.4777,lng:12.3649},"435543c777d8884948b60dcc32d29cc5d6c0bead35cb6b56bd5975284b728653":{lat:60.1719,lng:24.9347},"4369e456f03055f26013c435908e4676f2798cafdbb3957d22d31661666311c6":{lat:50.4777,lng:12.3649},"438860a85e1747d0dc71b7600ddf6d99d8802d87b270397f86997e999969f4a1":{lat:50.4777,lng:12.3649},"43a0af73518a2bfb9c98424ddcd39e884f79634b93afd9a47169bb13890b8287":{lat:50.4777,lng:12.3649},"43b9333a97a2a964aa4b14ea51f0bff3f04ed68ebf8785964c86b92532361cfa":{lat:60.1719,lng:24.9347},"43c27df7521861a141539e12eb86bf9fc671bd53ad3f12e8954daa83d55ef50b":{lat:50.4777,lng:12.3649},"43d7bcb31d5f2822a1505b48113363e60521ca86e3a94f648b286667cfc66ab0":{lat:60.1719,lng:24.9347},"43e41e03bd45cdd28707886b3652229377574e37602ac6e29b5381a0a1c6095d":{lat:50.4777,lng:12.3649},"4401f5dd73d0d8376c505653c472f5c2c9300c64c1e31f8c1baf1fe758468989":{lat:50.4777,lng:12.3649},"440c3fa57cb56cf08398d9cc2dbd33b46a1608a2a497d7b131866baf0ad0a48a":{lat:60.1719,lng:24.9347},"440f04f0e8a54bb50bd6b4b9086f9cdd9c3e30c39a5d01e290f4c4ea8f056a50":{lat:60.1719,lng:24.9347},"4425d0670c2aca16f7bae39d430ef9b03292cd33f93cf9e10433d392ca3ec159":{lat:50.4777,lng:12.3649},"44405cd5a7ac2d662637f5b37417e9d44c04295cd545b309bc60089665f02cc1":{lat:60.1719,lng:24.9347},"4442f6ccff3b3120a5e94f1ad0ed10ce5200ff9f99e5b9577cd67a05b06cd833":{lat:50.4777,lng:12.3649},"44564cb19a8acc9781f267ab9891e69a1aca502b21520b820be530df15d635d9":{lat:60.1719,lng:24.9347},"44683dfe6a78b14b932bb8276f4d161018829cf69457708a5624089e9d7f7d4a":{lat:50.4777,lng:12.3649},"44967a117ea74f586f244ff336dfd2de2d2bcffed5eca6d5b63031aad2fe748e":{lat:60.1719,lng:24.9347},"4496bd9451b7e19bf3b194e028f431f4cdf12bbb9466a968d3083539f3046228":{lat:50.4777,lng:12.3649},"44ad25cc8761af187a03696d6a9c4e65145af2f5c8f86309119bb53e636c3705":{lat:50.4777,lng:12.3649},"44c6f84996dc1f84e7ff4688f33ad90f2af48d6dd8def35e9987b9b26ceb5a2d":{lat:50.4777,lng:12.3649},"44e2bd79f149cec08f8b0233eb7df9ba9aa3a2c593ee4d1b9fe53d40b9d44464":{lat:50.4777,lng:12.3649},"44e7e1cc336c297f6d468afaf3d2711305dd1a37ca47a7eb5126ada70571b1d9":{lat:60.1719,lng:24.9347},"450cdfd82b71d48c00a939b7ea31d3c94c8071cec8702f6a79bf1607d97ce33b":{lat:60.1719,lng:24.9347},"451b67ba778f052dbb86ec81cc669ecca432996a25b6e6e2924320fb3afa38ef":{lat:50.4777,lng:12.3649},"452ca71bf9f767ab7febbd85b6d7ffc279dbbc32cd3d48627c9666bb0324f676":{lat:50.4777,lng:12.3649},"4537180679300786cebfedd93f374f6674d345685b821d9a74bc33244c015763":{lat:60.1719,lng:24.9347},"454037e4887424e73244c3da6d2f92a7ad40a88578bbedc4983ee141dcaf4686":{lat:60.1719,lng:24.9347},"45425afec84ebfd5e771dd20f9e6a040bc1fbf7adcb7af6faf4716aea76bb414":{lat:50.4777,lng:12.3649},"4545b8bd736f6882ab42e81adc316b8770f7d6329b410bdae7ccd5a74467b4a4":{lat:60.1719,lng:24.9347},"456bc564946855df0f875b9edb92a49df79d637e226fc6c88e6a384df9424f6c":{lat:50.4777,lng:12.3649},"4584af879e3ff54c8706244c616ec06e89732f29036b3e06bfc7d991bf0bc3ea":{lat:52.52,lng:13.405},"458c06c5f9257142538dd2159697056ee93e09c2abad3c5722ce3a3ec3863cc8":{lat:50.4777,lng:12.3649},"45b158152392b206833545d07b62b5e361b737394f06be9c50bf5b33155d9737":{lat:50.4777,lng:12.3649},"45c4fa40f7c00b9a5c5020a74b330568570069f5539704424c59e2a2281267c8":{lat:0,lng:0},"45d5ec968746902fee788d9a24f86e09f8a1ea047d923204f4bdbeb8fc91eb54":{lat:50.4777,lng:12.3649},"45de0da8401f15fb6258c03cdfae275227f1c9f0f22e1f0900cff4c2931c1e6e":{lat:60.1719,lng:24.9347},"45e1311d5f1ce431a65a073c6dac2d670d595141f00a33e6435d9ec12256f924":{lat:50.4777,lng:12.3649},"46031cf99d0fb00a9aa4bce2f5d74251d4fee7dab42d551c7bd6b3e5d277b242":{lat:60.1719,lng:24.9347},"461379c4a69e2d60a3b140acf6b38761553a98348820ccb559f281b03cc6831c":{lat:50.4777,lng:12.3649},"461fbe9247d79e35f1b66c9fd3527191078d7291947a53d4a5e6153dfd58ee88":{lat:60.1719,lng:24.9347},"462ab6aeefa98387059677445f909679f0fd75f2c4a2a46c82d0835ba19b78ac":{lat:50.4777,lng:12.3649},"463fe6b2b6cc0ea1537df620422500a001d34df474920f66f6400cfe2e97b735":{lat:60.1719,lng:24.9347},"465b7b41ddc206213dd3bd39070c2f4a6bfdc500a1ad709aadbd5855a478af0e":{lat:50.4777,lng:12.3649},"46602173d91307f407e4c0694d13a765279b46253dfcdcf68e5d2b944ffa5238":{lat:50.4777,lng:12.3649},"4665ef0fd6984caf88594118051f66bc6836f81f653ec32c62229c5274d54afc":{lat:60.1719,lng:24.9347},"466af800a2e8eb470a8d63d22fc43164e12a80865f6ee8c2434edb4714412c56":{lat:60.1719,lng:24.9347},"4678cc87296f71f21b4c248609ef6869611c84cc09ea741035b05c184332b713":{lat:0,lng:0},"4688326272363788c99639aa2a1f697dda1e41355bddaf6053c910ca812110d3":{lat:60.1719,lng:24.9347},"469274697542602fe2f235d6e0e02079aa0c742fe285742456741ea28e551872":{lat:50.4777,lng:12.3649},"469f0475594c1d766b0ee8d462bd279dc7f154db63d0df7fd8524246545b94e6":{lat:60.1719,lng:24.9347},"46adeef0f4d0efce07b6765b6cb9c7cee29aaa44e16513b4117e8c6c80633911":{lat:50.4777,lng:12.3649},"46c3e9137a936229ccd4ddebea1d84ade7c5aa1c3b02961f6e4d67744b5f1fd0":{lat:60.1719,lng:24.9347},"46c4d8a979fe8b43ddde46d2a563df9157708b806dc96d124472327ae67832a2":{lat:50.4777,lng:12.3649},"46e52535ea3fe04119190b72d60600a523ad51742fa69d4c1eb973d57137ac7a":{lat:50.4777,lng:12.3649},"4716a1c2f76c3c6ade32429234f95712a3c1ad9167881fc854ea2f7d58393b81":{lat:50.4777,lng:12.3649},"47235b160a3af55187213b08baa7bd6ef8040dfee389fa724ad8d08815ec7120":{lat:60.1719,lng:24.9347},"472ab6d0b6aabf55baf30a7d9a141be3da78cb4ccf92e27e705ea7c8f9356d76":{lat:50.4777,lng:12.3649},"4730a3bbf9f8208be153864a2c702fda4a51378cb6b8349df66340b96f7bb34f":{lat:60.1719,lng:24.9347},"474ca407a0588342f6a1eba3123d900e9b3b52376ae8043ae9c33421e21e1569":{lat:52.52,lng:13.405},"474d5969135f65d1acd0226dcf4efe34b2e04e3096aa93ba0bd9bcebc1856d9e":{lat:50.4777,lng:12.3649},"475a384d967a89d8ef94040bf34b24599bb6ba30e644fbb2d553cc98222ce768":{lat:60.1719,lng:24.9347},"4764e86740713018439f286152ac51c5f35af21b6d8ad43f11a7657ec5a75068":{lat:50.4777,lng:12.3649},"47667790d7cd13f7b0db370fd8b23b8a60643c901ce387bd1f7021cc8f920b5b":{lat:50.4777,lng:12.3649},"477a15ea1142cf3a2a65ae636bf7a77c759cd641567212227e5fef7b5fe12e3e":{lat:60.1719,lng:24.9347},"47974f2f66c1245655ad75b9cd09186c0c9cc3b165f3bf10b2d3978c675a7377":{lat:50.4777,lng:12.3649},"47b650773950c0dee8d5d3a224eeaacaf8b6b11bd1febb8c0591740378c1ab09":{lat:52.52,lng:13.405},"47bbd13bb88d949fb7a47c95c34fb53fa27af6ca92ee9b5b477d75baf8751a04":{lat:60.1719,lng:24.9347},"47bf0be90ca93914caefd355d0805346652802a1638b56f4449ce4fac2802a83":{lat:50.4777,lng:12.3649},"47cbbd48ec5d0adf61d70691d021b5d6be6760af17470454bd193bdf223b8260":{lat:60.1719,lng:24.9347},"47dc48c7d628f36c6cd1ab9add1e538f7327a4beedef7089fde7cc74396632f4":{lat:50.4777,lng:12.3649},"47f153a552941d8cd0f25d68c002e3d5294add1e61a3c177f06136194f103dc4":{lat:50.4777,lng:12.3649},"4804099fd093b2fdedf4598dc4a894327d717af4f19d20cc87e6a4c77560c179":{lat:50.4777,lng:12.3649},"481e13a9208d1529a1aeb35563fd1551e6a788e15061ce495106893a7dfb2dac":{lat:60.1719,lng:24.9347},"483f5d6d684c66cacab27ff59cbc56676ac82209062ac121362061a377440611":{lat:50.4777,lng:12.3649},"4843ab559d72b7c24466d3a7ecf7087876797a589f294d7e1192ab0645bec487":{lat:60.1719,lng:24.9347},"48473fa4083c09d7111c7f0609d84e245d0be6157e665037a2c965ab4a7f4c4c":{lat:50.4777,lng:12.3649},"4853159041e997e360c191cd586343c701717b786853dc171524b9a6ba1ea9b3":{lat:60.1719,lng:24.9347},"486a1d38754412b20bda178f96fbffbd9b16f864be7fc1648d7a5e7515adbbf9":{lat:50.4777,lng:12.3649},"487a9d193165f739583167f14c7e652feb6ce1030e803d0025936575b4f26d9e":{lat:60.1719,lng:24.9347},"488e68db0996de7caa2933112cdd7f129703627ca9916584115fb2d174342b82":{lat:50.4777,lng:12.3649},"48944072f6c6cf3c8c3695104d9dd34a38189564d82277612f5bb6543fdbdef5":{lat:60.1719,lng:24.9347},"48ac34fcb1b3eddf52bda21da2cf7e92d68a1d8d54f1fb2c5f806fc8bac6b674":{lat:50.4777,lng:12.3649},"48d0c8654cb951c7d8d23224841333171792b842dafc58c14d086530fad91b4f":{lat:50.4777,lng:12.3649},"48dbc0f09fe23fea6e0dcbae0e23477b5ae98e68f8dd8a4ac3347dec4953e527":{lat:52.52,lng:13.405},"48e20daf27bbcd7e854b49d48ca86935084da5f99c44604500809840fd68240f":{lat:60.1719,lng:24.9347},"48f1a084e3d49c2ba3418f1086a96b474f43e4bb48947f5ecf50f887c85e7ff0":{lat:50.4777,lng:12.3649},"4900faee4048ff0ee9b43258b5d81b71600a007cdf4c387d1b5849ea13e624c3":{lat:50.4777,lng:12.3649},"492660b70877b139a9a29d8b43df77a75d366c871c4e0b5f07af03da03df7a0a":{lat:50.4777,lng:12.3649},"493e6f0f46d44c2903345143c4cf2f50186017fb1f5fe340e0b9c5921bb3e292":{lat:60.1719,lng:24.9347},"4956d217a3c9bae1cb76db87ca68c9f27d6a75876ce80916665c1c8d9f7a88df":{lat:50.4777,lng:12.3649},"495dbab3e9d83779552704ad8ded6173fd5824107e5b9686177a556998357b7b":{lat:60.1719,lng:24.9347},"4961ea145c0bd37630cfcbe3e6771ea1e28eebd0d42247512fd51443ec78667b":{lat:60.1719,lng:24.9347},"496de0d3333fe2226102de940fe6341f5a7bd507a069d9ceea75a6bddeb22bc9":{lat:52.6107,lng:38.5092},"497412ae5b2e02d81e053e37e672b33ccc5eb5c00fc2c0367e2307ee113051bf":{lat:50.4777,lng:12.3649},"497660ac0ad2f3767eb8b651442e34bf8ab5de249cffc8524d98f31fbf5d1577":{lat:60.1719,lng:24.9347},"4977ad873a1f85c0e3f6a3f3d23dd9a4ccda6277c8551b300b3061dadf60ab09":{lat:60.1719,lng:24.9347},"4982e123d8c0df63a0cef6f97c010b71d3564fe8f4e7967886fde751e1cbdee3":{lat:60.1719,lng:24.9347},"4995bac7eb1cf2322509f3f2a7d32567284651325dad687029db01691bb59f71":{lat:50.4777,lng:12.3649},"49af845df456a8a1c1eef816c684f87d58f5cf83f8c4e354cfc43d531d2b04b4":{lat:50.4777,lng:12.3649},"49dcb2ad66aadf101f9d0b4c0a23f4b82c2a2d07a237fe880596ec37ceb93dab":{lat:60.1719,lng:24.9347},"49dda894853ab90f5784e1263c0a5b014a21499ffbf45be0b0528baa363945a3":{lat:50.4777,lng:12.3649},"49ddbc7f26c89b7a0539edcfb7154b2fcb61888ad1ddf3685103e2a3f7ab365a":{lat:60.1719,lng:24.9347},"49e3ff7d2d9285bf11d38faac7a46587d26c853864113c8684092e381fe35693":{lat:50.4777,lng:12.3649},"4a02d17a778346d0ddfda89282e75d3c02cda639fe5d94d4d7ef49096f25df4e":{lat:60.1719,lng:24.9347},"4a13bf43ce839f3f22001c884faf28ff490c65da5a882e3f19a5199242aa6cbf":{lat:50.4777,lng:12.3649},"4a213fe6890731b211ae36db914040b1fb5cab042f37ef88bf95d5e65e1f10d0":{lat:60.1719,lng:24.9347},"4a2374881e0f02d8fc0f7708e1d0e0bf71e4a0db2625e9411d6fba5bc118ad75":{lat:60.1719,lng:24.9347},"4a3cf7d63bf28f1580e490deaad9bda5cee47b2b04ea514d67c4adb1f746ceab":{lat:50.4777,lng:12.3649},"4a40ac39b6cd1f8002e7c2557bfd00d25f7835fb5bd548006985f4ed4ae786bd":{lat:60.1719,lng:24.9347},"4a5cb1d3bce6f95b78bbd3e8517500414bbc76933b763887bd19990469a348df":{lat:50.4777,lng:12.3649},"4a5dab8561320f4ec72a88f1747d32cf415fb2b59efdefee608a06942d288733":{lat:45.2496,lng:-75.9181},"4a7f200270ae101bf1ad5a33cd45d6e29704ce45ce570d8de8024ed5bc9520a9":{lat:50.4777,lng:12.3649},"4a8749b92532ffae3717a1540dda0e4166a5c68851d70a2ccfb6328292b86f7a":{lat:50.4777,lng:12.3649},"4a940abda617844a54aac111c56ad16f454775466b7217e5b46517aa466d04c8":{lat:60.1719,lng:24.9347},"4a9f733cc1537e69e7bd44886b80d00f0c5e5b14720525e71338757dbf999944":{lat:60.1719,lng:24.9347},"4ab9768ae792daefd150e4da171dd2d29822a925975627b39120940e499b8d86":{lat:50.4777,lng:12.3649},"4ac5f26f64792c8f78543faea5ea15152d49bea22860f30d6aba309b596a58e9":{lat:50.4777,lng:12.3649},"4ad25e63ad428180b97c839fdb75dfed03d1fb410ba599f3bbc27ca609394fcf":{lat:60.1719,lng:24.9347},"4af9932659e0d7136122230b36678f32e7d137937f492888ef895d8bb92b4947":{lat:50.4777,lng:12.3649},"4afad3cb77ee73c710c77abb17c383c905fa610fe304ee79ecea03943598460e":{lat:-33.8978,lng:151.1899},"4b041eeb49aa7c1cb3fd890bfcad1337f0d5f741a6bb3fd43b5d16dfbfd0e17e":{lat:60.1719,lng:24.9347},"4b0686ca1441c979a28bd1c637d9efbfaad9fdeff9bc4a8d73c24dc62b3a7a61":{lat:50.4777,lng:12.3649},"4b0bdf304737baf3af425f4adb70c57bbfafd477bf198f1c168b3dc05c2288b4":{lat:60.1719,lng:24.9347},"4b22c1212a329e42421c7ec025ad5b740147400c4b37198bbcf91ab28c4fe885":{lat:50.4777,lng:12.3649},"4b49a95e7021e6d1a89544c7eaf0c6a795dfe4238ffaec0b7c09776cac2c82a1":{lat:50.4777,lng:12.3649},"4b547253fdae3b4ea6d4de31ead7c5c3e97721f94e64f4ac1e86f5c4751d0755":{lat:60.1719,lng:24.9347},"4b5a84e15c7d94d9565938e3040cbd33536dcaacccf5183d820effbf62b160e1":{lat:60.1719,lng:24.9347},"4b5cf77ff5e0da27bb21b86e8e85053a947281d342f6fbc34d0e01d8f3cbbb67":{lat:60.1719,lng:24.9347},"4b7c1bbe3e3dd3f39d1fc622441ae839b524c12694a9521085e33da6c4a132ff":{lat:50.4777,lng:12.3649},"4b851477afab99804c179f3c18da58e41c9acd2634f730c045fef0076dd9b79a":{lat:50.4777,lng:12.3649},"4baa1fd09eaf6a22138cdf0ca28ef94fc6eb312bb04bbea6996fbb0703f85dde":{lat:50.4777,lng:12.3649},"4bbd3e86f9755b9bd6b9cb8a509e9985a01e4c0a85fe213ac0bdffe0f8987bc0":{lat:60.1719,lng:24.9347},"4bce6616f33096f6dff082f2639e9805b1a54663f7283821f684e4ad238b7656":{lat:50.4777,lng:12.3649},"4bec79296f7ec8365409513917d4341feca81dc2f734e9f4b38114112f26a756":{lat:60.1719,lng:24.9347},"4bfe60409114c448421401376f7a993e3c0eb2aeff3d18e76ba87f9c66101efe":{lat:50.4777,lng:12.3649},"4c0a70d338338cc8a81506363ccd6eea296f5eb438e9a50a524bd69eeacb49dd":{lat:60.1719,lng:24.9347},"4c0c87f45b1c11848770f263699da6b51d470faa404fc5a956e38ce804cb0cc9":{lat:60.1719,lng:24.9347},"4c1dccffe0e9696f7c64955da1058ccefd49a6335c7e0c81b308c99adc4c536f":{lat:50.4777,lng:12.3649},"4c27bbd5b9089d9d5841812705cae58883da6d9640d03438e0820075d4c28167":{lat:50.4777,lng:12.3649},"4c47d205aca7c332b282daf5867e1f61ad57274e572f5087c011f0e73d95a10b":{lat:60.1719,lng:24.9347},"4c4c0989e68a8ca5b3839508cf1679e51487539f3ad0de3fc0b6d7b09a02ac6d":{lat:60.1719,lng:24.9347},"4c4ff703f9f3c47a5963c2213447a1bd94d02528ce7ae100b9f7139a85d78151":{lat:50.4777,lng:12.3649},"4c683a6a9fa6a581710b94586931dab2b800cfac7560b28dea4ca8cc1d3e1feb":{lat:45.2496,lng:-75.9181},"4c693daf151b15a9c44b54579d284ed964b1afbcc298be471af1878af8455d4c":{lat:60.1719,lng:24.9347},"4c772ebdaabc2b63d61bbe6f54a1b9ea9f1f2b45786dc1b919e365aa19b19430":{lat:50.4777,lng:12.3649},"4c8c6ffd01e098396a8451bbf28e8be8cb157799b2d110642f27962b520f3675":{lat:50.4777,lng:12.3649},"4c97eebf3c513cd07c220f69466caf7d379199661116866d3fcd55516ba4fd0a":{lat:60.1719,lng:24.9347},"4cadff0cc4c6b7b33509b61124eea54c2fbc402c4bed47ad744d85a0fb560c91":{lat:50.4777,lng:12.3649},"4cbe591907be28677264ecec2eef5ae6204223ea5a468182b42c12dc94a652a3":{lat:52.52,lng:13.405},"4cc728b82c4f745b686d87492d385d324ecedbc734538f3d1d256ab1696a40d1":{lat:50.4777,lng:12.3649},"4cd9aaa4b2d2ad046672a6ad1a0a001007c39a84c2c2e459551f5212e468716a":{lat:49.4527,lng:11.0783},"4ce671d0b522c86c28bef06b626c54e40dc13c39e7c82930a650e021cc40f1d8":{lat:50.4777,lng:12.3649},"4cf2c2907a08cb1d8d887714079f68967336e7cc543709d196080d91c588cdfb":{lat:60.1719,lng:24.9347},"4d0d16f731a477af0abb1f8caeb56047672133ceace40bf440e3fc99ddae0f54":{lat:60.1719,lng:24.9347},"4d0e0ea316038aab005500ffed5836d306cb0fff1b2e03a798cdb1cf15356b07":{lat:50.4777,lng:12.3649},"4d1b97320735a4de5b166f5afdf3225d8f331a9f26ec5fcbba4c95fd66d8345f":{lat:60.1719,lng:24.9347},"4d355684eabe42f8e8a9186662fb43059e35037aa40a6fdf380a1ddaa3013368":{lat:52.52,lng:13.405},"4d3c79e9e3c977c8f30c037927b75b5d9df92dc5e8cbc398e03008d990f8c84c":{lat:50.4777,lng:12.3649},"4d50377fa7f44cb877562d43ee954996de5396c4cbffc9edfee18307a7448533":{lat:50.4777,lng:12.3649},"4d6f2801a46c23c0fecec0d368fb56d80dab39cc233aa7ed962aa938a31e83ea":{lat:50.4777,lng:12.3649},"4d7589a81b1edd37b9995c9d1243f00d7e69c1d26c0467e43c2a8ea3bc06ae8e":{lat:52.52,lng:13.405},"4d85ab18ff7d899fa10619babbb623506c269387e2434b1edc35e9a6f86dfa11":{lat:60.1719,lng:24.9347},"4d94fbd7c0856bef815e272bca13452c058c021d6b3954bc0bfc3774fdc43590":{lat:60.1719,lng:24.9347},"4d9e2b759398d72e77daa70c562ed816cb193f545a4a304aa32720eb8f73b214":{lat:50.4777,lng:12.3649},"4dbeb64523a8bb8e487fb68ad52f81096c95c6ae02fadec45b436c7856196565":{lat:50.4777,lng:12.3649},"4dca589587d69cb4530675cbc271774038f94c1b251045dc1ea6a93d90c95f3e":{lat:60.1719,lng:24.9347},"4dcd6f1148b51574617033a25439a7675942c1efbf65099e96d9072328e2c799":{lat:41.8781,lng:-87.6298},"4dd17a9dfb0d26ab9924549eb503f49bbbd53fc53ad86ad883650f7c30e74d7c":{lat:50.4777,lng:12.3649},"4df0e666dc7d6968813225470faf3476f9427a6f15518b6060cbe85939ad04e6":{lat:50.4777,lng:12.3649},"4e064b000538055a6275c64fbee22b97acf4290d941f5b68be8a14cd230fc8ec":{lat:50.4777,lng:12.3649},"4e2b553b08a27dddd31895b9d9e8f52bfea52d16a9c7f3695dfe85b9a573a9c1":{lat:50.4777,lng:12.3649},"4e37842247e0f7424de0c73fa328b9c3c7d7fae25d4663c4330db4f28e0fff20":{lat:60.1719,lng:24.9347},"4e3a5c8fecce075347aa4279ecd0868ac84d79fb3fd3280b6b06f2fb6431f04a":{lat:60.1719,lng:24.9347},"4e4b4ce8eab2e50cd824c022a03a2dc378cde4ac69a6d64c3f49f0c28e4f34b4":{lat:60.1719,lng:24.9347},"4e5300fb779edfa97e2167b9b9162a3b43a899fc5ece12633120f59125f4609b":{lat:50.4777,lng:12.3649},"4e60f00f8abf475f9389f201dafdf8107dfe06fd51086ab73bfa1be026e664aa":{lat:60.1719,lng:24.9347},"4e6d4ca34b4437a7cc8b512bc22b9a2ea7f4717474bb2fca4b4132d15e2cdf6e":{lat:60.1719,lng:24.9347},"4e7d18de750131d1ebc1b3c16cb0f5d28e351c2bd35e3bff4baf3d15b1cc90de":{lat:50.4777,lng:12.3649},"4e9aa216c144d7c9d56ac2ede59e81ac12ae78e3ab6b961ec14c910cbb971e7d":{lat:50.4777,lng:12.3649},"4eb1913191f50843eb22fb12def8b042a870b605dfdc9715f5ca22a2bd0bc92e":{lat:50.4777,lng:12.3649},"4eb24133e382e210102414b9b320fb10e4898eb5557e8735a6193e44b2615e23":{lat:60.1719,lng:24.9347},"4eb2aeb523bfc15fc73a556add3ebd41a04744b444d17ef81fabcd82567a71a7":{lat:60.1719,lng:24.9347},"4ecaec764727f5b2ad624bf7c351b586c59d65401e431d2d1732b99feb6f3435":{lat:50.4777,lng:12.3649},"4eebfb1de4b44e7919bc4ef66ac9d8518c31dd8dccdc5875597eec2919b1867e":{lat:50.4777,lng:12.3649},"4ef730c20414f38feb7d331421001cd7825bb828cb8a7d4ff17d9f9a4ee2d59f":{lat:52.52,lng:13.405},"4f03eef7d8d131fdf84c1033eb0a32249c7c5703693d42849243ef646ed985a1":{lat:52.52,lng:13.405},"4f09064efee4e62e8154bab8185c7d6a0967092a0080a47d8d717d515685d8c3":{lat:50.4777,lng:12.3649},"4f109a4e6dd0df267587bbef9e22b0e66fc77783011eaa9abe2ac93f689d92e4":{lat:60.1719,lng:24.9347},"4f2c62db0a040986a3e5ee6ea3f96d35bc73b2516c333c604a5a6f9bda1e9865":{lat:50.4777,lng:12.3649},"4f2eff21206addd64600653799380df8df7c9e516de71ffcafd8f4d43d0b598d":{lat:60.1719,lng:24.9347},"4f48c189d9d1af0bf741f1f2df28267e16c7babef1cecbc34db6adad462515db":{lat:50.4777,lng:12.3649},"4f50ab464a80c2a2f65dc6ddaedb34086f70394da0d7cb5fa5e96735fc959b26":{lat:60.1719,lng:24.9347},"4f57a917574808b00b71ef2c4929d332789b9c4ccf7d3d1d661457f834a4f125":{lat:60.1719,lng:24.9347},"4f73fa177e7d11de85d688a84ee2f8bd4a0667a7b2c5389c2eae37ab70748194":{lat:50.4777,lng:12.3649},"4f8701ef8fcaa56ff19d1933379c11948ad1dc381d8c72153fcac40685502962":{lat:50.4777,lng:12.3649},"4fb1ab39ceb14972810d69bc0195a1536209260d47f14e47c311f22209afb8dd":{lat:60.1719,lng:24.9347},"4fb380b1e7a58d78be110e830239703c1263e2e0f11abc47c08cddbbf77b1f2c":{lat:50.4777,lng:12.3649},"4fcc4fdf1d2f4e668b505087526f4e0a6af7c3bee481f37a6e0af44f522fa939":{lat:60.1719,lng:24.9347},"4fd104ac121051ea9bf0482ae483bb990af88ea546c21b01cb5a3ef422abc466":{lat:50.4777,lng:12.3649},"4feb7e2693312b7029289d0ff739228a68cd9fc00f206c4d656d85db3cd1a7e2":{lat:50.4777,lng:12.3649},"500917a9a3bb01bd79f89e4966938aebc8aec204ff74b495944badbbf362a481":{lat:60.1719,lng:24.9347},"500c663a5992fdf81761f27738bb662b9c4f2f6087b0d72a9d8545d31023c87b":{lat:50.4777,lng:12.3649},"501ac5def2715c2479bd092dd0ef0052ff0ae6bf407ff011df8c252d0a9a941f":{lat:45.2496,lng:-75.9181},"5023961253382861dfd56e91cf9ec3b413593fce2fd887f387dea95efb4c8ccc":{lat:60.1719,lng:24.9347},"5023fdfe911b7b4b7b4cf8c4d7d048da6775ddea5b18c32dbe35faac913c59d1":{lat:50.4777,lng:12.3649},"503ebb12fb0cc9689292a75ed1322c6007a3a92c2bb3d5d22ecb9c2d67c8515a":{lat:52.52,lng:13.405},"5049c60d91a523249c00c849274b3bb14563ba2aaafaf3ee16f0ea347f80005c":{lat:50.4777,lng:12.3649},"5056790c50c9d8b35a1e801e7735fd0a84d9c6d0838a94ab8dfc7ae8d3f76c07":{lat:60.1719,lng:24.9347},"50692ed509d1238da2e5113966b4eb5f3b333ed4e6f09988c0c1d36d6dc5e3cb":{lat:50.4777,lng:12.3649},"506a21f2ea6b5b20c39abcfecdeab836f83cd900a12c0f40b288118857cecb4a":{lat:60.1719,lng:24.9347},"508ea90cdfa8a061cda11ce104e5fd45e7cfc360d4058d19196e9537f33b26d7":{lat:60.1719,lng:24.9347},"508ec089e0eaf82a8b93ad677c6ecf62cbad299edde1815f40b3de71c2c3394d":{lat:60.1719,lng:24.9347},"508f968620de927728945addf26b5e37a9832dd63b16137d76d5ea326fed4852":{lat:50.4777,lng:12.3649},"50b457b22043634ebbe7e7e388a136a3f73c1fea00a12f0973b07c92152193a3":{lat:50.4777,lng:12.3649},"50dc761c1a2a2594d630a8ee5d95368ecc69077a24724518254d0a6b5fe028d3":{lat:50.4777,lng:12.3649},"50ee6b0d8315b5964da372b9bbcb344942133e05a763c4e42f9158b23e23c03a":{lat:52.52,lng:13.405},"50f53756f1bbfdc184d18534cfc0a132bbc6a58adf7795222f58a147e73688fa":{lat:50.4777,lng:12.3649},"510f3ef22cb6b6ab44a4ece21465a5d4f29c5f3a55893d0f223d495341898e08":{lat:50.4777,lng:12.3649},"51104ac1d03b7df569cba6fd0d75328129e6aa1819204db10b007592d953d3e0":{lat:60.1719,lng:24.9347},"51290bf96fe24af7dcf51f125c7b045139fe96dab291dee3921e07ac73efe63e":{lat:60.1719,lng:24.9347},"51333e051a604029e0c21c6cecf13f73b26d408e27034b167c8e5f78ca92fb72":{lat:50.4777,lng:12.3649},"5140ea0ec51440f9ccd835ac494608cb7108be1428c4171b422104aac1995b5d":{lat:60.1719,lng:24.9347},"51480655f79125bd1ed151e276060728a6e59ee6dfde32d68e7b15b99aae9dba":{lat:0,lng:0},"5148969bcd2d7b6e717b2f64311a49ffc0d4dd06210e87f8f4dff58a64c1d3fe":{lat:50.4777,lng:12.3649},"5160c394f817928e00317fb04e377088cf7b08970a30d0c9a221345e2b73d54f":{lat:60.1719,lng:24.9347},"5175f324c9e54d3ba19c861cf8b78dbe9f50edf46ead259b73fc95816cd66e05":{lat:50.4777,lng:12.3649},"5177776230fc36f7a80ae9163c00e67f0e9e3a8f2c87aeb3ef988fbb813eb534":{lat:45.2496,lng:-75.9181},"5187104fa7f23fe0fc2dcc7c0dd14cba6e866c831a3315ce07978545454c5064":{lat:60.1719,lng:24.9347},"519eae8cf27aa6e11edf87266ff332ee6bebd8da29be5fbe60cb978b70d32d23":{lat:50.4777,lng:12.3649},"51b14688c7cef891f3c23812e5328ccc30170642851e66f58e26d1a41e57a469":{lat:50.4777,lng:12.3649},"51b757992e005a6a982df10347410a8dc9ee2d80a835f7270c3863e82504aa9b":{lat:60.1719,lng:24.9347},"51d86a9f055f1e7bd5fc4add993ed67022417be0846ce8dff5d69a74e58852ca":{lat:50.4777,lng:12.3649},"51e6322682864e9488a31d38009a941db7a081c27e71dbea16c32bfad104a77c":{lat:50.4777,lng:12.3649},"51fae044c36bbaa7a99bc1e0e3f373d2d187e1aeac843f469e2cbbc63a5ed0d7":{lat:60.1719,lng:24.9347},"5219cfb85475d0d76288d6b7924f963b5ae010a0b321c2e990b37304dc7f15d3":{lat:60.1719,lng:24.9347},"521b0fee38114f0b4ea482c498120403320188bf93f238229d7386adeb2e843e":{lat:50.4777,lng:12.3649},"5235aa3b7b675a9e9124835e1710a77cf6c8112c0136fd7715f6699a2d478d64":{lat:60.1719,lng:24.9347},"523ba4452e635deb00a52fe9140d8287b709af2b38df9dda37db52521deb4e99":{lat:50.4777,lng:12.3649},"52432e2104247254eaf1acf450658ff9b9136615b29787190479c693c32cd467":{lat:50.4777,lng:12.3649},"5255e5d15ee0f8418a7eb8cdd3ff0acc43238e47a06456cc3d8698492e93bd4a":{lat:60.1719,lng:24.9347},"5263b36340f444dd75097419fd8e40718f70dab08583b4b7b8993a1eb38dfa4b":{lat:60.1719,lng:24.9347},"52668e07af59fca7383b27830b65e36f0b0bdf88ab582187663a52444f47b757":{lat:60.1719,lng:24.9347},"526b600c877c32582b76bd00b3f261610feba0d9fb68d73d078a06c912f237d4":{lat:50.4777,lng:12.3649},"529f3f7b330053ea8dd79e6243c6c17b46b1d2bccaf70388554f82cb12a4ae42":{lat:50.4777,lng:12.3649},"52adbca6cab9dcb47c267da6f09eaec0b3899f5c4f6ed0455a4593b7e1578864":{lat:50.4777,lng:12.3649},"52bc73e74b1e5121f749f1b74df880385e68784663c7d47c43111d9bd08f67c3":{lat:60.1719,lng:24.9347},"52cb977f6556ec475f81e3cd00c8a08fa361f48e9a0e620b1faa171d729cfe69":{lat:60.1719,lng:24.9347},"52d811e7e83bf8db4bd173e843fe792a3ca89189b15a52cbb2782ddff627f4a3":{lat:50.4777,lng:12.3649},"52e4497d94c481a271213cacd75bf43c6ec00c26e1e233f03c31038ab36980db":{lat:50.4777,lng:12.3649},"52fcd06dfce4ef1c11fb25e5a846e4ee7b5ae4215e3115b4a156946415eb9d90":{lat:60.1719,lng:24.9347},"530761be5d085ddcd9b283265402eb2b84c76834fb2de2d34219a66b62010cd5":{lat:50.4777,lng:12.3649},"53191cb2293bacaeac2fa6f1e9352793d64709a73db35dc8b7a45aa6d7dd0db0":{lat:60.1719,lng:24.9347},"533fca60c0a5c210b1fbf842c79a12fba67b109b28c154aa97907144ecf7565f":{lat:50.4777,lng:12.3649},"534157da0fd0ddced6f8edad2892c51545aa1e419af378b478c75e7d119e95aa":{lat:60.1719,lng:24.9347},"534c7ad841e6f65260b217b07984f046150aeb7490252b3aa084a09ac8ecd46c":{lat:60.1719,lng:24.9347},"53535e7a727107677e490c9b6e3411f269bba472ef11b3288593ea4a0be075ff":{lat:60.1719,lng:24.9347},"5356f937d169f3a57f5f127aaa1c3c8fe8d2211c027229f5e88357c24db454ba":{lat:50.4777,lng:12.3649},"537980c4acab85add9c51cfac4c12b13604ac021bff90d344211f4e691e980ad":{lat:60.1719,lng:24.9347},"537cd66568e29514e67d24b0ede621b5663eab4d494caee79ae70f467c9ce758":{lat:50.4777,lng:12.3649},"5389c3cf371d0e56c0e413067874a2ad743f3ada6cd6dd717c4dc60346f47ff1":{lat:50.4777,lng:12.3649},"53ae2517916c944e964561bbc13ef47400f38b67fdc2f27b4ca60560e571560b":{lat:60.1719,lng:24.9347},"53ba0a913780894a41bc59592cdd35bf171895b956c087404cf4413b4c3885a0":{lat:60.1719,lng:24.9347},"53baeb674123ea2b4ab53e8ac9c13fb969011388f855ea4abc6c7f6d25d5ead7":{lat:50.4777,lng:12.3649},"53c9487872c27a3fa2ffcf7f8f443375d8700e2413f3323a5c508ec116f4aee3":{lat:50.4777,lng:12.3649},"53dce2143c95509ea2d7aa5a8b3bd0319f33f0fd0e6ebad7042f612c47adb40a":{lat:60.1719,lng:24.9347},"53fedca65f99be64dace484e4e3f5a4a496f3dd36e8dd98c3d4403891aa35294":{lat:50.4777,lng:12.3649},"54016374797e82b433c99ad17ba6c4b937b7dfd0cf7e6fb121c62c4d8ef9e2a6":{lat:60.1719,lng:24.9347},"540cac8365e8c878634fa357c913509949bd18e3f873dcd41420843b33406a1b":{lat:60.1719,lng:24.9347},"54137f16013aae7d6f94b5cd3b4b839d1bf0cbe60cb3616d1142d84fc30aee91":{lat:60.1719,lng:24.9347},"5415530ec5acc6b449ac2e2dc1bb003c2463fdfa285ddbb8cced282b39801780":{lat:50.4777,lng:12.3649},"543826b1fb69d106be8355dd1a324d5a8bb8e7a367dc4036eb43367cc878462c":{lat:50.4777,lng:12.3649},"544159ed435c7ea22fb7725cceeda8c01c537a472e5ea4c189245a9352cfc4f7":{lat:60.1719,lng:24.9347},"54433c6d7f70fe3bd74c859bd0aa7961df47a4fb42ac2bfd9c98ca5aaf322294":{lat:50.4777,lng:12.3649},"54710b1e7b846392b7c367e41df6adfebed264e9143f2967eaa857fea8dcc73f":{lat:50.4777,lng:12.3649},"547e7f728f2ede4aa8a44dc202e29373b4baf6df6276d4fd3cc5f1b8805c13c0":{lat:60.1719,lng:24.9347},"5499d9dda27fdea97b2b48f3f4ae3067d3658fc550fdc4e92731c7dbc6e4805b":{lat:50.4777,lng:12.3649},"54a1508684653c45cccfe69647d3e476d1f01e5ca266232a9005981bdd9d4300":{lat:50.4777,lng:12.3649},"54b8a0a27d30ea5ae69b7fdf4e1353201becf75aa5384d2a65037a6d48d00735":{lat:60.1719,lng:24.9347},"54bd213d1ab6b4752b5d95a53c81cdaac8371afaa92f5927f50c4e2eace276ae":{lat:60.1719,lng:24.9347},"54cf2623ce81898d8100540eaa79721da5d415c06f94e64df103c5f54b7b51db":{lat:50.4777,lng:12.3649},"54d57a1109a909da0aab89af60af002f272d670c7844346bc27f2c4cb1c45e76":{lat:45.2496,lng:-75.9181},"54d5eba0f5299ecceb560beb9cd1cfab5e69c43f56de867f0bd853710a2c7ab6":{lat:0,lng:0},"54d60b91f0c6aa94349c4bc056599bbe5268f81614226be6e0b14b5da59a08bb":{lat:60.1719,lng:24.9347},"54fe7e8e733a17d38f412037d1245066a74ccb5fa994189fd4f4a00d78414453":{lat:50.4777,lng:12.3649},"550c970f4f0a077325d234490263d5df5620b2266782f161c06444a18a3e1f79":{lat:60.1719,lng:24.9347},"55109411990fe37cbfa7622201193bebcdcadcca290a70e6b4ef565ccec061fa":{lat:50.4777,lng:12.3649},"551a3831b4d5feac748ce4eb51a856c20c5c500dc5ceaa737c5a7139c51b20ed":{lat:60.1719,lng:24.9347},"5526495e2002abd9bf7d8832e4d2499b4f1f836e8f077e9a1449e3394523618d":{lat:50.4777,lng:12.3649},"553459c8d127e0180c66ab68a40a2e0fc7ecf05bf7e1e593cbaac55fea729c5c":{lat:60.1719,lng:24.9347},"5555cbf0179661a6243f2c151683ab7e42771eb3df07c0fc91aed64e4903cf89":{lat:50.4777,lng:12.3649},"555bbd2308bc757e518092c8fe82ca261ea0fa124f087cc3b7d10f371ff80aa4":{lat:60.1719,lng:24.9347},"557b905b2744f57b4d53915efcfb3112af8dd58eaba861b7cca03db718dc44e9":{lat:60.1719,lng:24.9347},"557edb7428e490f60593dee6c674723ca502df9147bfc5227bd7484c2fd893a0":{lat:50.4777,lng:12.3649},"55885a57bcc6b825136e4fd2e84bad240b1cd1c7e3dd7f9fb34fd37fddd0f99f":{lat:50.4777,lng:12.3649},"559b42b23aa70aa2564fecff9ed00b4363109e0256db3068412fae94c6066442":{lat:60.1719,lng:24.9347},"55a8a170d334586c940039ed90400e122c7f15b8c60738d7e4a8228a693cecc7":{lat:50.4777,lng:12.3649},"55b45e8acd67e21967bf9caf974f1e2ec42fb9e73b810767c2a72505fab82cfd":{lat:60.1719,lng:24.9347},"55c1cb791ef36be1304031ee962444afc64982e1dfd0620c85f1d7232a900011":{lat:45.2496,lng:-75.9181},"55dd95c70bd5e12bc85bbc4748b2b6b3231057c4d4391a76e6b27feda6a72573":{lat:50.4777,lng:12.3649},"55e4b2712efecdee4b5f00faa3ce6ed2f35562d41c100693429a0da82185e34e":{lat:50.4777,lng:12.3649},"55e51154f5fdc7456420af88de574011741fe506617e0c2a786cdcbbcfbb9fa3":{lat:60.1719,lng:24.9347},"56047c2a7dfdc6fd820984de5dbb9cf0ca6c53225cb1294097fd3e2b032ad912":{lat:60.1719,lng:24.9347},"560c755e60bc4d6919875903c7bad894bc722044d56c3be262813ebefa46c3c6":{lat:60.1719,lng:24.9347},"560e2fc3bddd18aad503ad50a7da803e770d2dc6444ca1ef5ccc3d93f8e7982d":{lat:50.4777,lng:12.3649},"56171136b9d392443bb2a22f062eca6799a6160ae82ad1cf2e33f3ca80328cf4":{lat:60.1719,lng:24.9347},"56276da8c8805c0afc854f533a2b7760d4b26a09d345b7fcc70d354adac2326c":{lat:50.4777,lng:12.3649},"5640a6588f08e36bc4c73b76b952479ac586442085edf0bf40b3422d14823fa7":{lat:60.1719,lng:24.9347},"5652fa2eaec5f54e9d827f0be8a06c5acab3814acf9c9da8d33ca70cf00a6e24":{lat:50.4777,lng:12.3649},"566db70d6d4a5f744d46344f6294de6dfba1c01abb4ab07fe417c321f8b36aaf":{lat:60.1719,lng:24.9347},"5678362c10a529cfc4394f12b4e4ab9f7efc634ec56f62ebb74a422c7fc55f20":{lat:50.4777,lng:12.3649},"568bce4c9c49fc65e947abef66091cb77a5951ae71508b2c2478aea30f88f093":{lat:60.1719,lng:24.9347},"56964be3f6cd8ad67aac8394c146a0d9e05645459e7943c1b3d220515f4d1f92":{lat:50.4777,lng:12.3649},"56a42741460bb709c8c91246413b15a9f1435b542fff02e6c00936700674b200":{lat:60.1719,lng:24.9347},"56ac2b46f70de7e7e6c2ed232fa22ab8b988e383027acaba07006f073b2457d4":{lat:50.4777,lng:12.3649},"56c61e699ffbae5da07f334bdeaad702b660bba0466c7d3782fb013ff7ed6bcd":{lat:60.1719,lng:24.9347},"56cd556f69eccf482fc00412726b6f9d3e0037c38d3bf02b530b84d86cb4a746":{lat:50.4777,lng:12.3649},"56f5c80d5245ccd55ab9352bc354472a56028db8d11c80e74374cd9d73e8db55":{lat:50.4777,lng:12.3649},"570383268a8457385d213cfea77d5e999a2747c58b9f6e6eb061dfaf6c4ea8e9":{lat:60.1719,lng:24.9347},"5717f334fcf79a33e4e6224646f924f726e756598378041af5f25472afab36da":{lat:50.4777,lng:12.3649},"57211126390eb5d04e107cabc5ddefd07a81aa922396db6b666586988e1ea0c7":{lat:50.4777,lng:12.3649},"5729cceace3ee8facf8dd3421bb67ca2d07b389fcb58b941762bde11c68198e8":{lat:60.1719,lng:24.9347},"572e1781cad48be8293adc6f8ec327f16b207802b5150d7ad805d6dfb704a553":{lat:60.1719,lng:24.9347},"574c9336d93ecc11ca64c0f6cfc9ac6741e02c3f8cf4e9d14722fb7b9c340b81":{lat:50.4777,lng:12.3649},"576fd7dbd2ee035aa24da806d457c2784c81abf5295e368668f1f999b2f4e3d4":{lat:60.1719,lng:24.9347},"57712522380fc62b0536dc34870326511a6dff270d4d4fdd8993ce5f400a3fe1":{lat:50.4777,lng:12.3649},"5771ef21a212a4c06c92b2ae9a2f04be1c02f22756522ba29eeface67e46d398":{lat:60.1719,lng:24.9347},"5789f1f74e3e415dfd4aaf8091f0ef1550489f4372db40c0cf528d343d8dbb42":{lat:50.4777,lng:12.3649},"57b2e801d79942c6481fbb5ae5e549c4c3aace5b9d0bda08f4797d0c4fa9a027":{lat:60.1719,lng:24.9347},"57bebbc6161668be9ee29c0a0af28bc775cb0ccf47276bbf7b569bff6293b35a":{lat:50.4777,lng:12.3649},"57cfb32673c9f61beb999f88e0e893c417618ba9adae1b1a0957648a2b9a0139":{lat:50.4777,lng:12.3649},"57e5764e0f936215b8e49bfd15600b04c26be3bc92cc6f81506f5eed36959d90":{lat:60.1719,lng:24.9347},"57e80b227f627a38a038837be9b98054fb1b2d64c341a7b39200088f6cf41fa1":{lat:50.4777,lng:12.3649},"57e93141694ffa8863d7ab6ed02fcf763e0c1c663fd3e4f50eb516670e1a7ff3":{lat:60.1719,lng:24.9347},"580cb8a360b96844c52415ebf30e5f85e988b35a879ed945994225247ebb24c5":{lat:50.4777,lng:12.3649},"580fee509a919493798e125107c3e53ecd721e1813e89ea4cf5e57cfd54f88bb":{lat:60.1719,lng:24.9347},"581e29da22f7cb87d4c65d5cce048f90d8911bff4a502c7c0dd5c96b26d52d07":{lat:60.1719,lng:24.9347},"582c94f398dbe863be5d994ef326492cce1217885044f21b07a03342dda4a645":{lat:50.4777,lng:12.3649},"58400049a6f9d30c6e728fa5d7427501a9e439e1caed79b2b1ef88d6e59b40ac":{lat:60.1719,lng:24.9347},"5851920fd8e132d5503007c97cfcc6bfa05b44a761816d5082e5c6d071546910":{lat:60.1719,lng:24.9347},"58565ff4118454141c8d805374864e750e4975d2f67ad1d5de59d0980aecd67e":{lat:50.4777,lng:12.3649},"586680595ba89f9379813aa6cc1210e40f0c5cd180a3fda334b56e46939ef7d3":{lat:0,lng:0},"5877fddab96a794d9fe99fe5e13f178fa71899d81368b82d1a6b3a0c24397e12":{lat:50.4777,lng:12.3649},"58907fd8cda68e3c665c8fac080b0f2cf9799a862003e0b2e1dcf76925404092":{lat:60.1719,lng:24.9347},"589621dcd7dc762bd348581eba6dc5a989280e9238085d5fdfcf7c607bf5d09f":{lat:50.4777,lng:12.3649},"58a71c270d77ebb597c755239b41d22bf6220705c50ff947eb258005bc8995f0":{lat:60.1719,lng:24.9347},"58a8f0351395a1e426406d4d6020099c6ca5b31272781b10455d2432d44c603d":{lat:50.4777,lng:12.3649},"58ccd154637a554887a846044e83799b8473e977cd7793ee4921c37f8713322b":{lat:50.4777,lng:12.3649},"58e41e5bc0f74a1e754b3e2acdb1d702e75cb408254b82bcd73c7a0de46ec435":{lat:60.1719,lng:24.9347},"58ec3cd677710a5de6d5802b9c49da2044d3de15b78b773deb63fbf8e9b18514":{lat:50.4777,lng:12.3649},"5904cbf5b42c09f318031289725a7beb24b65a822d28d02b780755657d02fbeb":{lat:60.1719,lng:24.9347},"591d1eda7bf4c69b5b052c8cf8e670c9dfff8bba742ab1dc6ed544acb02b9a63":{lat:50.4777,lng:12.3649},"5920e1eaeacb7656d5c8803b63155b7911d3e620ea52c62bd17ea0f3a33889c6":{lat:50.4777,lng:12.3649},"5928ca8f313d78f247ae43ff7ea49b4c77962ea315f763bb820110e9a5b32155":{lat:60.1719,lng:24.9347},"594ac18f53d7d9258549e128eb6d3dc09f87bbe8cb7f84c6af6a7fbc69aa2a02":{lat:60.1719,lng:24.9347},"59529453207d49d73f59ec1226da9bd6514ed498a86bf9ce8c23d46b1727cd73":{lat:60.1719,lng:24.9347},"595cc8346cb92941af2d590d04aafa2643dc37d8ae5744aa475c539ccdc8c2b8":{lat:50.4777,lng:12.3649},"596cbaed8eebb453925c7d8ff7073ec1da1fe88014a3966dc2baea93f1fdfa78":{lat:50.4777,lng:12.3649},"59841822177d402af1dadb0712a1ff0567fcbd197a7691ac63b316c4413b3580":{lat:60.1719,lng:24.9347},"59982ce82bd1dd4f02cc42f613a64de42fcf45dab71ee1cdb692293fd5cde8a7":{lat:50.4777,lng:12.3649},"59a6e84224bbde7548e0f989a794c13ab6e3684334cec32225e03a3779ed897c":{lat:50.4777,lng:12.3649},"59b92f0db30b3bb0f8e26773211049a30092651ed4c74295e00e9254f5d8e1c1":{lat:45.2496,lng:-75.9181},"59c3044a34715b22e14223a21d8bf53b3d63e47351ced2fbd12f4d42b669195d":{lat:50.4777,lng:12.3649},"59e0af3cc43161dfdab3f3e6b73a6807f83ddc402d821ab821709886b2e26420":{lat:50.4777,lng:12.3649},"59e0ed09366111f66aeff2353e2626f2d34a5fd73e8137dbac33baaf79cf7587":{lat:0,lng:0},"59fbac35a12a5ad19ca51c59a2c56f519177f5688fed9c044159dc12dab631a0":{lat:60.1719,lng:24.9347},"5a159c87f8b44c73122e2c1792f28ee8314204d0482af45bde58ad62b32bfe79":{lat:50.4777,lng:12.3649},"5a17169d626742a88d6894fd54fb5e71a12204eb17f2ec74b248f35dcbffeabb":{lat:60.1719,lng:24.9347},"5a2cf7cabc9c8dfb332697b1b61756cbc44f254afbaf6bb137f45de15ddf1b78":{lat:60.1719,lng:24.9347},"5a34813ac45f09f65954e5bd24234c06aae3a1b476cfb92cf73b3349fcf7b1b5":{lat:50.4777,lng:12.3649},"5a4339cfe19bfea00b808116f7a9cb64b37602e7cba40cb23800473697a1e4c8":{lat:50.4777,lng:12.3649},"5a588ae5cdd2812ceb60c3af52b610c15a07f6efa47b493a821cc315be1793d7":{lat:52.52,lng:13.405},"5a728fbdc8937c2e069b6835d2c05529931b58a66f7ab71a62794b6c05f333e5":{lat:50.4777,lng:12.3649},"5a750c028a68aeb44356270b14b7f0e1ba5322efd4b8f36a366149f3b1ebead9":{lat:60.1719,lng:24.9347},"5a866adcc86c9727cd5408d5dbff94525da6cacd7ef27b566453f0ad91c353b1":{lat:60.1719,lng:24.9347},"5a9ae2dfc9e88d75b617ae89343cfbabd8ca64912b2651bd9c83b26e6304707b":{lat:50.4777,lng:12.3649},"5a9c14ae2b09ff2ea264bd90dcaaae641b3227d8caeac6e080effc84ca00e77c":{lat:45.2496,lng:-75.9181},"5abd357ee78fc6f0a4e326b6c0c7c8691b9776608f896f0ae3cbac693e0d5bc0":{lat:50.4777,lng:12.3649},"5acc85ba425dab7e912318f5bcb7b8c664e27c13d635f849fe0e609ca71bbe6c":{lat:50.4777,lng:12.3649},"5add618812a4762125089870872163935a7b5ac52863e5f6575dc9cc2f63b24f":{lat:60.1719,lng:24.9347},"5aef8b9f2bc7fe9936ea057a83747476068a3a2317fc8139763e55f85f40a996":{lat:60.1719,lng:24.9347},"5af3d0e2de6e3ee77a4b73eab8375f44871d918c3786111a48f1c17bdfa88315":{lat:50.4777,lng:12.3649},"5b0e5098b48c955864dd77ddeee55b97f2f32a6d0c6d23bd8c5b6283528d1e4b":{lat:52.52,lng:13.405},"5b1610c03b06ad9fdbbc7e5574e3c0372252dd8ae25019b5c7241272cc65c602":{lat:50.4777,lng:12.3649},"5b386e77d24cb638df2166c779f0ba4fd19d919d8fcdaebdccc7994c5155c7fe":{lat:50.4777,lng:12.3649},"5b39cbae5ae65d88f7049a8f0bba2d42804103924a3d5c1baa803c0529511ec7":{lat:60.1719,lng:24.9347},"5b49e1e03f159f78694089b02afc9ac9683c741a31fed90a1794900be081105f":{lat:50.4777,lng:12.3649},"5b4cdc4b9ab3b1d0cedd7fe0e3d14e6ecc04c3b6a83adf55baf736d60eb4ef79":{lat:60.1719,lng:24.9347},"5b6175e2fd26eeb9aa01bca05a90536c0161ee919bca32fe92e9a1c72f7e2a78":{lat:50.4777,lng:12.3649},"5b67a837032238fc1f3ea3d7226d03892aacc6f7aa51fc9b10075b52bf8f8115":{lat:60.1719,lng:24.9347},"5b733951271ce2fdcd2b8da4e53a3563d34c9b20d472b639a244eb05fd9262c2":{lat:60.1719,lng:24.9347},"5b81d32bb1850d3ad4ac8ff2f362824b32a1a5db8c4d08141d163b8a115594a4":{lat:60.1719,lng:24.9347},"5b8fd0025b4d28e53d79cdaf2b8013bcdd6b802637a94c7caeeaf0e22022465b":{lat:50.4777,lng:12.3649},"5b9cdabf1062e8653469df3eba03d9eb1f78924611ab829498a9a9565d43327a":{lat:0,lng:0},"5ba4c64dee55505a162be9c1c0981fe3d781e04d427d067c88c0d0db7c75ee01":{lat:50.4777,lng:12.3649},"5bcb3e8c49a60c8f8d49c7ab9c0d5889a23e85edeb266ad9679c23f325e09071":{lat:50.4777,lng:12.3649},"5bd492d6dac0b2670e498cedb3a69bfe6a6e570f6712f51927e31a1ed162a59d":{lat:60.1719,lng:24.9347},"5bd6469f22688601a0e77290e94011e82d572280c058477d0ede2abd6ec1a43a":{lat:0,lng:0},"5be67b5c367e9fd3fdfff92fd73e8bf6d097e79deddc2a51624411787b3ded28":{lat:50.4777,lng:12.3649},"5c0955dd962d40b860a9814ee6c7c011aa16b4b58755806c377c5a671394dcc4":{lat:60.1719,lng:24.9347},"5c1aa4610c53dbf4fea5131ca7cbe41520e0240ffd3343d4f19e45c2fb9140d0":{lat:50.4777,lng:12.3649},"5c3129b39645c00af7c46ef6da92a0cd4d7b6461c2fe04eb1165e9beca5abc86":{lat:50.4777,lng:12.3649},"5c31da4a9c54bda724cd659a8f8dd81ca83325390ee7b25850693edb78ad705d":{lat:52.52,lng:13.405},"5c33aa4db71a0fd1dfec433bb9647fe5eccf5be0c43245877b0945d1c668d86e":{lat:48.9742,lng:8.1851},"5c41db42ffad7257eaeffb3a00abc51a342001ee9698ff8d81908e828797ca66":{lat:60.1719,lng:24.9347},"5c451a6547c3f79184dec8b0f56d2648b92d07de395848da7a7b24d8c61532ae":{lat:60.1719,lng:24.9347},"5c5388de01158afaa00ddd1624a75670961c9b7a09244bef9452598b423ea870":{lat:60.1719,lng:24.9347},"5c5b76b8a480d28c907b95536a6f2c5692bae886fee0890adcbb33560ab20a9a":{lat:50.4777,lng:12.3649},"5c6be3626dc575c113904f47f7459860094fecb096f472deac1fd64882bdf7aa":{lat:50.4777,lng:12.3649},"5c880292d204569ab30890ea7be3d81f700c5f3a9211f6870b1fddb0eb84d0dd":{lat:50.4777,lng:12.3649},"5c96469404809e0fefb2705fcfe5cf31b9c325ca1d000f8df1cca4f8640f2f5a":{lat:52.52,lng:13.405},"5ca8bc8c5ca5b82ecd4e8ea74a896764060e804811742edbeea6bfbb22197505":{lat:50.4777,lng:12.3649},"5ccd3b7351239af699f81ad9558b6aa6673cab1a48aba29e350c96f3ac09c06f":{lat:60.1719,lng:24.9347},"5cd6892435c6e9f7e5b52e4e550a74eed2ae3dab3d3986a8c2e988670a9d8daf":{lat:50.4777,lng:12.3649},"5cf5b1436c43904df71578dc7a197367b0ed5bc52f350db968de4df2e352d3ed":{lat:50.4777,lng:12.3649},"5d01f55369748cddcf24b2f7fe9a467286f4fb085df39949972dc377bb9535fd":{lat:50.4777,lng:12.3649},"5d0df0f18bbdf16431e972ffb926c464a65431e6b9525d46c56107f40271c453":{lat:52.52,lng:13.405},"5d0f3c64dcf890c20b67b1f375f8b91f8a2860d4481053a78ee17b812a329ebd":{lat:60.1719,lng:24.9347},"5d145bc7a8e8c3d023183050edeaf000f3105a92cdbc64e628d5722d07690ec3":{lat:60.1719,lng:24.9347},"5d2bcb5a0d8056b8925d829ea2d6222f8ac220adfeedd8fe5fb288397f1edda5":{lat:50.4777,lng:12.3649},"5d488145c49044941f3aadc570108092edcda3956203d9f745b168b3fde3186f":{lat:60.1719,lng:24.9347},"5d5c791c236ffa1ba787b453f7c042c70e9d6f553030a30aa693523fb0fd2331":{lat:50.4777,lng:12.3649},"5d72055f5512a8130e8bf7da61123158bd1e7e5e9e6b4b8687d8226f2dba987a":{lat:60.1719,lng:24.9347},"5d73e13caa602db661cc17381ffe00c7dcbc6e940def1d801e183c567b1e61bd":{lat:50.4777,lng:12.3649},"5d76dba5ffb65e498a95ac04c17bad9c0aad968e94a4ae4ae24012880089aa5b":{lat:45.2496,lng:-75.9181},"5d90011fe52fa30769d4e08953c755da315bd56c1ff7abace7edab6fe9c50aff":{lat:52.52,lng:13.405},"5d92c549a42c20fd01c80b3f5b68a10b9d9bad1154b44f190d954950d57170a1":{lat:50.4777,lng:12.3649},"5da0cd94d7519d8aa28c3e33648c0ca276da131dd95add52cc819cac70330028":{lat:50.4777,lng:12.3649},"5dc8ac1c3d6d16c84fe4d9175afb67491c7a2b0632afed43411c45bbac76ffbb":{lat:50.4777,lng:12.3649},"5dcda3d0a120eb194f2fa9f60e43f81678f86bd9bc908835941ef9431f329c91":{lat:60.1719,lng:24.9347},"5deb43405f04b07367fc9fcc7407ed451a73904db842203c77617727c0ad2842":{lat:50.4777,lng:12.3649},"5df8a1360e83978d6ca0feae8c4ada9d0a69411cc7baa20eb43ea348c10665db":{lat:60.1719,lng:24.9347},"5e066bc28a1f1039f43a277bd4edeb3f2949918f4ff18b7450fb91ac60b8fe50":{lat:60.1719,lng:24.9347},"5e0a949ca2957bbcba691074e52378c23e1819191ec53dcc66144e8de9008349":{lat:50.4777,lng:12.3649},"5e3bf9079a54c43796b67cc2fa898c1e03f190bcfe457ab606c9bad52b629bca":{lat:60.1719,lng:24.9347},"5e3e0da7dc7533fb6d48311cc5415aed838f2e44142cf23134458d0d96598848":{lat:60.1719,lng:24.9347},"5e3f70695aff2dfe78aded94186cc4543f2a842e2ba5e1cc95f8e32aeffbd7d5":{lat:50.4777,lng:12.3649},"5e4db99372acbaf6f04829247e74be8374f953df6a5175acfab971f9024b4933":{lat:60.1719,lng:24.9347},"5e5ad8e566e0fa27751e1b563ee321ec7d801f8fda8c0906caceaf0f117a3530":{lat:50.4777,lng:12.3649},"5e688bbeb20e60e345dc9bc34140c202b6d80811d172a7f0d43406c840732690":{lat:50.4777,lng:12.3649},"5e791eb5ec5c31cd21a10fefbd4e190d54cde600708b177236ebec40b7f3e305":{lat:60.1719,lng:24.9347},"5e8c5ce2219eca388fb4eb121ac49ed8afc932c7921722e9cadc118f45b57692":{lat:50.4777,lng:12.3649},"5ea4b41453f8cc434aebed01eabadf24f664251e0eac41c78254bd507b598033":{lat:52.52,lng:13.405},"5ea6c7aafe444c2b805873f741a03939ca01e0a9da402de47209c382d41b8e1d":{lat:60.1719,lng:24.9347},"5eb049e54969d7b6c12372084884c1fb858f179a7faef4831cf38d635cd64d6b":{lat:50.4777,lng:12.3649},"5ed75f48ec5b71778c2f56a71e6a29716dbb4a2503f29cd90d5090b5b76502b8":{lat:50.4777,lng:12.3649},"5ee9a89f21a69257da50a6d5623544fc2bcce459147f7ecba713c6ac92fe7369":{lat:52.52,lng:13.405},"5ef93b5af7a483b721e9eea4db85f4b96fbfd1866a2ebc76590d1be0c2e1a53d":{lat:50.4777,lng:12.3649},"5f0bc343b307ac46480b53cbc6e1541d3cdea63999ddf1f8d7efe62e7fda5d18":{lat:50.4777,lng:12.3649},"5f11d5bb6c3090650ecdb401e25587686ff10da0e909b61099b06cb731491f60":{lat:60.1719,lng:24.9347},"5f2b20e0c5f934a1f215bd1d4a6bda47e8cf7bcabd317ef7cd3b91d957ca61c7":{lat:50.4777,lng:12.3649},"5f3355c61636cd6331ecf1484e30066905c1510c30e7ebc8b6fc242c815d034f":{lat:60.1719,lng:24.9347},"5f337a0a9133729ec91638a6c6c900978e99085fe63b7432f9c268e262f4a86a":{lat:60.1719,lng:24.9347},"5f45025e9c8b98d291d520c636c374500a92d70355b156f40e125f76fd79c615":{lat:60.1719,lng:24.9347},"5f5ce11e082eeb74005c384e1d893ba6a319933a952c4f9e10097e6e17365e8c":{lat:60.1719,lng:24.9347},"5f5ebcacd1407ca2365ba6a834df30c576ea0be560e3f5f93a4ba11acdf06595":{lat:50.4777,lng:12.3649},"5f751b33d9d9dbd9cbd4470ac824148422f7ae53053352d3dbe889123e6d9e24":{lat:50.4777,lng:12.3649},"5f9034dd5b668a4bb098441c5ddaa3acdd0a5e28e903de9aaba46415875cdbbd":{lat:50.4777,lng:12.3649},"5f960c3376d5c79ae2a3fec0431a789a8bd4a1973bfbdfaf4b26c28632370e17":{lat:45.2496,lng:-75.9181},"5f980e7c672b1bdb923eb9b8553aa0a10ee5de540f4f4c480a718f6efa557b55":{lat:60.1719,lng:24.9347},"5fac4f966e46f5562165ab0782f91d8d858c0773a73aa5de015936db1c244c28":{lat:50.4777,lng:12.3649},"5fb3f4f82e7fbe4af2e142ed63967372b4e5de3921c3075670d3201191474fa1":{lat:50.4777,lng:12.3649},"5fc094f4660cf8290d24721d9cf37689c3940f71fe4a7a5af42dfcfe17d0a9ea":{lat:50.4777,lng:12.3649},"5fd422f90f2b9f08f93f439535269b9e6e339aba408ae01b65ecfc7e8be1ac78":{lat:60.1719,lng:24.9347},"5ffa1763596355813dd39d7f13a9d24592c7ca9794b1bf4e5c769bc17ebb3c38":{lat:50.4777,lng:12.3649},"600495fde6069d02d277b102071fafd20088b41569cd57820430c8d8bfba8edd":{lat:60.1719,lng:24.9347},"600868202ae0dfba838af08b772f9e0c3bae4796e6a0c8e2581e62c7d12ba92b":{lat:60.1719,lng:24.9347},"6011d430a0c88039d4d479c40f8eafc9982737d9f0fd8983594123ee1eeb8d27":{lat:50.4777,lng:12.3649},"60318ece0c1e8acbdfed03e30778d66894d18f7b193275e1848e3225d2fa66af":{lat:50.4777,lng:12.3649},"603fcfc6b3272fd33228cf1dc7d20dc2543acf5f686418476d350934d8f00ed0":{lat:60.1719,lng:24.9347},"6042bfae6bf27f3c2b17a41fdf61ae9c9e197c4baad627ba7222c67b4e74a375":{lat:60.1719,lng:24.9347},"60454ba49dedc1dd136ad2904bfd593ce6ef3244de7ca64eddf3d3bbc5fdbcb1":{lat:50.4777,lng:12.3649},"60790543080da985cd3143df212d0bda137d880ce21b9bcaca2fade5df6b63a0":{lat:50.4777,lng:12.3649},"6080e014af90c4826d298adcc7c26a121cb06d6e85cdb34c8db3b086ed5b5c4f":{lat:50.4777,lng:12.3649},"609880c61174a59b7ee317c1e9c3714aceca8a85a16a09d5bb6c434800283b23":{lat:52.52,lng:13.405},"60a07993a03b6f6fc1cbfb5a97cb295980468d7808c260abd5f1f91723df133e":{lat:50.4777,lng:12.3649},"60c016167d578a1bc76120b06f4017e9d613bd279a274fb9acbda2ddb5e13d3e":{lat:0,lng:0},"60d3af0acf690063ef4223c820249a24432977149a6ca7980a81a2a38ac5bda9":{lat:50.4777,lng:12.3649},"60ebca480c98daedcac52285893d71b3b5b95079421aeacdbe6f1e40c1fdf22f":{lat:52.52,lng:13.405},"60f28099633dbd3a704a79e9685a9c2d7f1d02f1436431bea2e689f968b319d5":{lat:50.4777,lng:12.3649},"6105d2577e4a24585a885c3c93c7b7affa901ccc6927ef58ddba2af8297ca3a9":{lat:50.4777,lng:12.3649},"61097529041668715989ef3c7de84ced403b88ca0c99e6714a79c82b33d1c065":{lat:60.1719,lng:24.9347},"611684168febe4f693981a19274efca15eb6d4acdb80bcd0dc3bd83d13d0e7c4":{lat:60.1719,lng:24.9347},"611dacbf97f6e7b6e4fbfffcb5cd06d8f005078d8cc15f8886bdeb8acc8877a2":{lat:60.1719,lng:24.9347},"61258fe0a61f472e1423148be376bd67de68d23219e9424ffc552d8d5424331c":{lat:50.4777,lng:12.3649},"614d140c2c20d591f93b075c79e49029efe103d662aae97330825173d6032f8b":{lat:50.4777,lng:12.3649},"6154f853e1a75452ed9e8cb710b2586bd1d92ba667b5e4bf290686a77e2f0934":{lat:60.1719,lng:24.9347},"61675c04553772e0f796cce0f9014c8a39531d0449549f6e54a5767b92213723":{lat:43.709,lng:-79.4057},"616c2143b56fbb46b5c6ac58ededd78cb7d7eee46c16f8f26c634bf1f32c16cb":{lat:60.1719,lng:24.9347},"617d6cca4afa1a4d777d965aa9098df85503be754a7a8bfa6e4f5a3fb831bb5d":{lat:50.4777,lng:12.3649},"6181feae16624a978f6113be9be7b7c5b7189ac74a13c2554e9f877e9dee7e1d":{lat:60.1719,lng:24.9347},"618b0ff5cc1ff40bb891efe04da4149d2a49876181ca63686b8c8c7677cb28ce":{lat:60.1719,lng:24.9347},"6197c16c293ea10a3629ee9e8fddaeb88b7dee214fa4673a08b6102d229d798f":{lat:50.4777,lng:12.3649},"61ba52409f077bd909bc529d18605fc9341186dd0af49248367c64ba83020e32":{lat:50.4777,lng:12.3649},"61d0c437490cd27b6f8b53755ef39b7dd3c7bdb3d9b749b13010aac88a5bf19e":{lat:50.4777,lng:12.3649},"61d794a89c26b5c6980bf99ab68be181ee76e503a27cdbe393bafd05536cea1c":{lat:60.1719,lng:24.9347},"61e8f92d57eec0b1ea680dcab43721a5fc9c4fc8e6469b151ff23f30ccdcfc63":{lat:50.4777,lng:12.3649},"6205bfd34db2774c807bb32f13ef6803e6094fe0cbee04e4f37a377eedcca40c":{lat:50.4777,lng:12.3649},"6231285aa64405ceb71494ecbad6c7750de148bf28d852ef38f70cde9bbaa17b":{lat:50.4777,lng:12.3649},"623a99798ca40677c238c822eb147d5368ecebba499e0b6098a4a6936c7f9012":{lat:52.52,lng:13.405},"6248d741b0f267db0d0acd9651191aeacafc2e24a62253534e5d80233d19dec8":{lat:60.1719,lng:24.9347},"625917b15925ee8da95e9f81d67b42a471733751f7c7c34b6cbc2b9f0beb3f43":{lat:60.1719,lng:24.9347},"625b752cea112162899d03c2c0ca0e6285cba17ba8b22d4634dfe2b7bb8bb8a1":{lat:50.4777,lng:12.3649},"625c398eea32095683fa828906ec9c1b263ae8ad975d7b0487fff2b287356d7b":{lat:52.52,lng:13.405},"626e03a6377a74006560f232c8497ab6ea947f72fb1ae31cdc865e64f7b458f6":{lat:50.4777,lng:12.3649},"628e037729c53d6d6b029abdd43ecd7c21e96307aa46c4ca6c376986b6818a2d":{lat:60.1719,lng:24.9347},"62923dff4377ca9442e682c4db0096c3885b7a9056ff67fe8d2babdfe70e8783":{lat:50.4777,lng:12.3649},"62b400ef7b4c336890f9c5250aedba402dd8b6b61f60b92550fbbe606a20d719":{lat:50.4777,lng:12.3649},"62c8ce42a6d706971773f33c6825e13125622e7093938b58f3e4392388e2e2fd":{lat:50.4777,lng:12.3649},"62d38223325409491efd0403ed3df18254c4b5b39fe00d66ee5fb9b12a31600c":{lat:60.1719,lng:24.9347},"62e0a1989e11fcc576743c702cb2fbe8f79ac74906353865554c6d6fc678008d":{lat:50.4777,lng:12.3649},"62fc90a472326e7f5d57bd2ec4e0bb4a1182c2a2781f77f2cd826c081668433b":{lat:60.1719,lng:24.9347},"6303c5580532de71b1ab6ea57d692628ddf44e2523736445275e5fed398eec9a":{lat:50.4777,lng:12.3649},"631481675ce2ca14bd936a11b26c7314261bd6b8a3e543351cebc2c08a5a953d":{lat:60.1719,lng:24.9347},"6330ad947614592bea556c74ae9c728f449c36e844111eec114f39119c3f426f":{lat:50.4777,lng:12.3649},"6331be20d9d96c9c6d6e430aefc2aa13ee28396aefe9ddc8b579c490490ae748":{lat:60.1719,lng:24.9347},"63345fa52a18b03c57c2f3d0de21c4e7d99815199218c55d2324e354b4fa8b94":{lat:60.1719,lng:24.9347},"635ec177ca46b9d93133d1f27d4820c0c390330c2b460f79ed7240b7793a8ddc":{lat:50.4777,lng:12.3649},"6362ce2d2770f68d6391264c76a2b164d15e9671a99e7aea542ee6c83cd8a4a8":{lat:60.1719,lng:24.9347},"6363f5b1886a27c1883cc6a6615f9e092d6c36fed979ae426c827834d46a4c8e":{lat:60.1719,lng:24.9347},"637bb668856877922f5d68cf85246d46520b2ec9710fde3d041c9939b0b7b7fe":{lat:50.4777,lng:12.3649},"639b118976906924b1a033cac1005e07670feec1178731746f235494702113b5":{lat:50.4777,lng:12.3649},"63a6960700552621744ecac3362f5123d9d1435731c17e97dce446da9d1d82fa":{lat:60.1719,lng:24.9347},"63ab3202edc55bab04d3c9505e89f49b6c6a88bd0777106d70599996d5d48605":{lat:50.4777,lng:12.3649},"63bd0d04b42a5c2b34aa4807eb3c1d8a10d0cba0babcb5be4e5609874ef329fc":{lat:60.1719,lng:24.9347},"63d706692caf4499fb70552e07ddc20719be14c59d9ed10ff979ac1bdf6d448d":{lat:50.4777,lng:12.3649},"63d8fe2df20cdc8463712a2ff547983c5a749ad88ba4da12276dbeeea906a0c6":{lat:60.1719,lng:24.9347},"63e1c7e6ca52a16a7d66fdaa9293d9256dffd07bff1ab703ced29dfc81ae2f19":{lat:50.4777,lng:12.3649},"640da8c8ae321470f589dbe976f505d9b1029b5ccbf8ab3f37bad7debe891270":{lat:50.4777,lng:12.3649},"641d54726c71e1890d87605fc73f1859987c2ef12cfe6233fe253994c4ae44df":{lat:60.1719,lng:24.9347},"641ed44f0898d86d4279c20bc338329bb593be9b70d011a54505b7e90fbb8ef7":{lat:50.4777,lng:12.3649},"6420cc331616ef83a11796a34ffb89f9c84389b629bce2f68022341325873728":{lat:60.1719,lng:24.9347},"6436ca9f8a6ea0a928c637737ec6df157223efbbe39ee36904ec99e7ad120d6a":{lat:50.4777,lng:12.3649},"64424c3d1d458a0bd17f8e0ad5a08db2cf842665fc42c9c1f3decaf2bc81622e":{lat:60.1719,lng:24.9347},"644954fe7cfb798a158b9ebbf8592c457ad8e3492987d986e53e89018b54d041":{lat:60.1719,lng:24.9347},"6456657aef1045fe7051498fab58beff9d4dd66ad0439c47b98f9f37f4696e2e":{lat:50.4777,lng:12.3649},"646666ad6c856064f469ace4494ca5a5a6dbdc9eb9c2ccf716fba6e898adbd5f":{lat:50.4777,lng:12.3649},"64826ffe2d3463d96e54c0605608e9aa40a77c8cd15921e03046971962e89802":{lat:50.4777,lng:12.3649},"648868500ebd8fd5464f165a53eba86e631a92c23d93ac24c0b96594174d637b":{lat:60.1719,lng:24.9347},"649fc46100ee8ff1a88d5fdd712e63bcfff81100bf674ee40881f642969771fb":{lat:60.1719,lng:24.9347},"64a3e4caa61d0374980b34d1dcc4ec86c34e0bb2d1145edb83ceccc7d4a944d3":{lat:50.4777,lng:12.3649},"64cbe19a50fe89c215d33b3ddee164a92e9cc837cdb8e9681d9def91bbe8aaac":{lat:45.2496,lng:-75.9181},"64d6b6e7f6b6c81d465843ff6b65bbf91c522d938e73a4dd3c7297837db0d9c6":{lat:60.1719,lng:24.9347},"64d949ccc7833ca228ae09bf8433212bbf4d73e4a70d169880de17f1afaed316":{lat:50.4777,lng:12.3649},"64eac195a7788801190c991220afc1b8c42ba759a077e1528ed69d862a921ad2":{lat:50.4777,lng:12.3649},"651edc4c3ec4c3ff6bf85384cb75f36968db729538b32fc040292ebfbe76bfcb":{lat:50.4777,lng:12.3649},"6527cc2f5036d28a622829e5d79b584bfdd1374951ad4ffe151aca9db7a8140b":{lat:60.1719,lng:24.9347},"652d176b9b00ee06abff54a5f0bd4e6ac829cd17b62836d74819c979d8b220e9":{lat:50.4777,lng:12.3649},"652daf19a529ce67c08b1930f8327128fd64ec351629b0d8fb4ac68bc8ac2c8f":{lat:50.4777,lng:12.3649},"6537cddd0d2e5d7602eb3c1c942cf94ecbd59be220207b3777c4e3bc5c608b41":{lat:50.4777,lng:12.3649},"65385aa5a6c56a904422a32de6c702173412123d8703383df351433815b781c9":{lat:60.1719,lng:24.9347},"654fcabbfbfca164ef079f1eef56df9d94281fccd663028bf6fc87b4c261729a":{lat:50.4777,lng:12.3649},"655eeab433b1adabd4abd2e8a7f2fbe0b5d1a8c6c7b50086bb268f8c28df55d5":{lat:60.1719,lng:24.9347},"6563fc679f61d5bb3f6dadc7b26004b3cf038e9fdd921fb6f62e4929eda62610":{lat:60.1719,lng:24.9347},"65651aacf5ef9c1a99e94fb0175c1bcf5063cfd36c0f2f2023e96db2191db9ce":{lat:50.4777,lng:12.3649},"658301c8d9ad12bcd2aa94e374208e648f892b3c177bb78393c35de0ce54b9df":{lat:50.4777,lng:12.3649},"658c1123c30c128c505218d344e29e77feefdae0217129ea67d7db4de74aba44":{lat:60.1719,lng:24.9347},"65a828b551e463fc439f951532067f587fa82ffd3d834f28c7085feb1487d473":{lat:60.1719,lng:24.9347},"65b4758c03579fa7f75f9a4c0992e0a6afa729fdbb4fb5215272e451f5c09026":{lat:50.4777,lng:12.3649},"65d28d385144d3e9f47959a004c327c1c98a1af97bf81952b6730bc311f89f12":{lat:50.4777,lng:12.3649},"65dc6ede95db6f6349bc975b0ffbd7eedd2ecb8a9291bc26a147aa501e9dc9c3":{lat:60.1719,lng:24.9347},"65e203e8582c336c971ad8824e3d779b7fc735af3e69752fe9b6ae7456cd323b":{lat:50.4777,lng:12.3649},"660632f16769726d86c869684c550fcf9845b2c2943d226906666a0b5c9a2e19":{lat:60.1719,lng:24.9347},"6612ff36a29d7e9bbc83ca354d434316daf8066b27394bdeb9e352c032bacb8e":{lat:50.4777,lng:12.3649},"661ac1de06c06a04fbfa4bf570731bbee63da9d6170ed7230aabba18ea265245":{lat:60.1719,lng:24.9347},"6631b9527b120c8b30b7546b65c220ab68847d266c8fc60bd3c3e0187ee8f79b":{lat:50.4777,lng:12.3649},"6645521c89f3f2b66121f52006870bd5efcb7d4d63a2849484b31dd58989a391":{lat:50.4777,lng:12.3649},"6652d27d58828cda19fd57269a461c8e42cdef10251096de18ed37f327b8af3e":{lat:0,lng:0},"665417540213f7374d701ebb2fcd847d766faedf5c48a0f2f31b3628cf890e02":{lat:50.4777,lng:12.3649},"66557eb2ff8ebbe1de1f0e7cf80c1b7b5d6097a95cd789afd1583d2faa3ef836":{lat:60.1719,lng:24.9347},"665e3b9e133adb613c81735b34666c108062c4747555cdb5dbf1934be2552888":{lat:60.1719,lng:24.9347},"667a953f2ff732743cfb3cadb86be5085c2188c5d3c649dd44a91454cf2bc87c":{lat:50.4777,lng:12.3649},"668cdd31f4aabe7cc5a8d65fbfeb0a52cce456d4e6b3c63b1210d00b50aaff62":{lat:50.4777,lng:12.3649},"66ac0ac4005a005c537a7b0411b57621162f6ddea73a51177b0987082c42a1a0":{lat:60.1719,lng:24.9347},"66b41ac29f6e07499ffc170035fe82ee3438609fac862bdda602d5519705bf41":{lat:50.4777,lng:12.3649},"66cf369d8b3fa325a4ba39378c8b58292eab2a03bb56badda7b773b1872c34de":{lat:50.4777,lng:12.3649},"66d1a25d449b90f2cfb0c8670a8756bb729fb4f7bf0f47d0dd733952b975c00a":{lat:60.1719,lng:24.9347},"66e4fbfa1d556729464e5ae0bf2bce2574d59b0eb2c9139de6cf5fee0a8fbc13":{lat:50.4777,lng:12.3649},"66e86b75003a1acf203b5b695d8e504ab4d37db1e74866c4b84608591bd3e300":{lat:60.1719,lng:24.9347},"671e1dc1dc44acd54d4cf3528d9b1ef0fc3a416d4ff9a38f34fc8406c45d0a0e":{lat:50.4777,lng:12.3649},"6728c07ee71c12816129cdbe2b2f5c47ee0f9185037251df9cc59476d8f3fdda":{lat:60.1719,lng:24.9347},"673464195a3093cf1716db94e8787629088b13703cf86f96a7a0f1e50eb30b30":{lat:50.4777,lng:12.3649},"673fdd4b87871cf3f0aac68a57351fe0ae9ce44a19d751774309ecd3d7d8df39":{lat:50.4777,lng:12.3649},"67415d81ae1956b22daed65b43ff531ce6e6b6cf639b29cfb63aec3c5130a3b6":{lat:52.52,lng:13.405},"675eedefcda5b5bf9ca54a74743370f080a445e0c7166276e728a10848f84b84":{lat:60.1719,lng:24.9347},"675fbfc4f3a38330282583c17c94a4fb899471a11482e355878434f365b885c8":{lat:50.4777,lng:12.3649},"6764f87663d3e648a1cc266f024ea7557ffdbbd1e40d5a57e0a49b3ba387a88b":{lat:50.4777,lng:12.3649},"677caf89dd3a4237817e39a23a7e7fcbbc6c8ce4aebaf884307c70438c75e466":{lat:60.1719,lng:24.9347},"678672b95196959f87e625ff8a08ae21b7a189b66e2463adf0e750165859bdfb":{lat:50.4777,lng:12.3649},"679084cc4a736f41be543792f459e36df5a5bc3ce005538199b7a238420e0f8a":{lat:60.1719,lng:24.9347},"67ba42a7876e942aa742eeb5e2947c783843bfad5a4182f5a571462aa758e274":{lat:50.4777,lng:12.3649},"67ca31691ccc8aa9ef0657f0047630f1dabd8680378b9c1b87c02c11731cc0d1":{lat:60.1719,lng:24.9347},"67d0b3f913eef4c7550f6c1ae5c6b9c2ad622ec91c3a525af001c41788b906aa":{lat:50.4777,lng:12.3649},"67e774704b6ba5f890c76d30cae9eee69de840633468aa2eaae1f7afe3146ef2":{lat:50.4777,lng:12.3649},"67fd2f19b40189b930d1e557947fcf3538e463628be96075fdbc92b6215e69ce":{lat:60.1719,lng:24.9347},"680774d10ebe4afe462a71cf3c79c7593b5e7f287b66902c8f98913baa7ebe4e":{lat:50.4777,lng:12.3649},"680ab2ad4f541c2b6ce71a4b9ee908351d5ad85a347b862e45d056e5d68379c5":{lat:50.4777,lng:12.3649},"68112cf6b533ce5bc0117b2659df90c4203a104f1da4d28a860a7aeff490b90d":{lat:60.1719,lng:24.9347},"683586620236113b90f466d1599cb7c1143d64bdddcc6120734096961c35e062":{lat:50.4777,lng:12.3649},"6839aa5127d40147f68929dabad0845238329eee642f604203baac6c5586d444":{lat:50.4777,lng:12.3649},"68425bd09f2340f6b38d30a60698a0b3a72ae240ca43ccc1bafc27600e19ba67":{lat:60.1719,lng:24.9347},"684a8071e239694635d91151541a92d8b903a57ad9f2eb4a9b2ae6cb35f1e462":{lat:60.1719,lng:24.9347},"684ff0391aec24abcd2ee3c5affd6b4dee92cdb565d2b4a11d44df2b14abee4f":{lat:60.1719,lng:24.9347},"685790b78a447ce32e780f51857fcf90b4f6590a89000942f060a0237c68e7ef":{lat:50.4777,lng:12.3649},"685df5d3a32d775ec1e7d4b35b1eea992b7f0448ee5ca16488285bc14d0c9cdd":{lat:50.4777,lng:12.3649},"686d037eeaf95a4e39845e4abc785e85599dd6276766d674243f52ebb6aecdb7":{lat:50.4777,lng:12.3649},"6884ba6a00c389f522b8212ba5e42a330f92528c4f88ae68c0e51931f57c10e2":{lat:50.4777,lng:12.3649},"68864c0020dbbdc6b71c95f351ca7f32ce3fda2049bd4997ea244d590dad95c6":{lat:60.1719,lng:24.9347},"68bb2fb44d837e13e72ece93e2aba704e6145653d0e0220667c8a38d3438ccc1":{lat:50.4777,lng:12.3649},"68be8ad2a8629093758044f23d20a05621d4c286c09fbf8a842660fa7a01e71a":{lat:60.1719,lng:24.9347},"68ccbfd3369194f13daeb10d47fcabf0b3afb2f4624612da4a8f7428d44f100f":{lat:50.4777,lng:12.3649},"68ce4072278c195ce4995bf2063f74059ac7a2f3507dfb2af010ce0ef48fa3f4":{lat:60.1719,lng:24.9347},"68e9a8813875825408c5107d98e9377ce392db84886adadca2c3a6df7f7ff7a8":{lat:50.4777,lng:12.3649},"691688b944f54cecca2e5a1251c30c1f853ecf9fe003194259e00c9e8a1d399b":{lat:50.4777,lng:12.3649},"6935653f473634882f4879b052045bdb7306f592462f892ee88c93e5d101df6b":{lat:60.1719,lng:24.9347},"693a97e08a7eedf94acea2dadd5b971f20fb33504f16a6df080857a0e668cb56":{lat:50.4777,lng:12.3649},"69418fa4d32fd45eae805bf474644abff6c8b392af3b871a0cd0b716691a902d":{lat:52.52,lng:13.405},"694e2b6a0015fc1ad4ddfed73b0fca8ded6b485a47263cde4ab21e551cd945b7":{lat:50.4777,lng:12.3649},"695abcb7258ca5d123ab84e6c2806829bf68ae006df7d13bf023b2c723e508af":{lat:60.1719,lng:24.9347},"696acfc50320a73b49d2435edd26b74b634f2e622e613b7b9a6eaa7ef9479002":{lat:50.4777,lng:12.3649},"696d2e9163e642a428098706f0af9b9acd9bb0db95de54597bef70dd1ca23d27":{lat:50.4777,lng:12.3649},"6986ad3016e1bed68df605a319ebeba84b52fdb94cb6314f233dc74688a2a2ec":{lat:50.4777,lng:12.3649},"699a6f75e3db366571412dd40e417f31fe606efc891be9ebee54335f0c7eb37c":{lat:52.52,lng:13.405},"69b0bc21c3e4eae08ae9e67a080cd63fa59c0723ede9f1e73bf002b82f1a953e":{lat:50.4777,lng:12.3649},"69c28340e10c9f0e1cdae3a2c886c3596d2d5c303074bc37f0179e0ff8e4d36a":{lat:50.4777,lng:12.3649},"69e3ac03923f8f1b938b4a84457b649d12416b1ad2ac70e5cb9a1044a661be2b":{lat:60.1719,lng:24.9347},"69f27eb93108a17e938ae1cb065b73981b1cff71f34bab27e1adc0d68cc85574":{lat:50.4777,lng:12.3649},"6a08991eced8596d3919a40b4e2aa5ec9bb055d5413f2a1f0f9158db1eb3ed3e":{lat:50.4777,lng:12.3649},"6a21bc47ddaa4d56a3e5976eba023e4da38fee2268905cf13bb366d2b2853edf":{lat:50.4777,lng:12.3649},"6a28ca1a71dbae644e5758a7b69da4d30d9936b2f92979bfbda4f0e567d0a4a0":{lat:50.4777,lng:12.3649},"6a3a607641cd495bded3114dff3e7f0320a3e8c765ad2fe6471d3eb1104e699e":{lat:60.1719,lng:24.9347},"6a46b971ddddfb50d107689487ccf8da9ed937899ffa6f5272bfc6efbf70d3a5":{lat:50.4777,lng:12.3649},"6a5575e41f315e68c389c3a3ca943fabb5e961c849b23a20fef27640c702b4b1":{lat:60.1719,lng:24.9347},"6a67089e51301f525aebce24ba5879e58da3077ae342f958338077b6741f122f":{lat:50.4777,lng:12.3649},"6a688e15dcdd1a284577d3b9702fed6fdfb61a795ba4d339c3c20b018eea0be0":{lat:60.1719,lng:24.9347},"6a6a9e94180d7d65c7c62b1e6ae673d6ea494bf66eadc8ee858ca4559a193581":{lat:60.1719,lng:24.9347},"6a8bc95a648fa2a0c3c70999cbb45fc99d565a71bf28e755c87fd2a83a9330d4":{lat:60.1719,lng:24.9347},"6a8d97a656e03222f788be67ef45103f1bdd5e2e9f541022a5c9bd267211af44":{lat:50.4777,lng:12.3649},"6a967312aed88207dfb18362d7354dc1ca5da81763cf203d2d8b349363806572":{lat:60.1719,lng:24.9347},"6aa18cb1e68bafcce3437eaaa410e9f75c89122d74694573335c26a85a3c3891":{lat:50.4777,lng:12.3649},"6ac4cce23dc6fbc99083d9f3b7455d40b6292d39ad1d3ae706efd7714d79486c":{lat:50.4777,lng:12.3649},"6ada6a466436bbcee64d583688b84711faa289527774271437292212782d5c0a":{lat:60.1719,lng:24.9347},"6af4b9ceb879882b0e5fba0d8ca7c9dd8635273dcea8bd60386ada6bfc93a5a4":{lat:50.4777,lng:12.3649},"6b0e21bd5418ff2c563cf9ec7e880078390074edde5197ee2a0e9d6cc8a9ae49":{lat:60.1719,lng:24.9347},"6b18f30b85e723f32bd99923a2687458d87f07f5b85afe1b4ffa9a61567c346c":{lat:50.4777,lng:12.3649},"6b287f7349f34dea7f8b0cce6e08ee004ef9ce25073237f76545c14d677d86a9":{lat:60.1719,lng:24.9347},"6b29a8cbddec434a613321883ab75a587e690d01259720a839a6e688f373d1a9":{lat:50.4777,lng:12.3649},"6b514b3a4115e6b4b083c2c5e86d64ebb2f044db8ee8be8c54fad0871fc7900f":{lat:50.4777,lng:12.3649},"6b63cfcba34eb81e654521d2508416480faac86092cda3393b99e6cdf36e39e2":{lat:60.1719,lng:24.9347},"6b78eddfe80af222971afb7cc77ae0cf0007d66118e6b8ede2b80510f4c21297":{lat:50.4777,lng:12.3649},"6b7b7170679bab0e39eff8a346dc4483b8e4d1154177ce2cce4fb6b344f0fbf3":{lat:50.4777,lng:12.3649},"6b9842684583d4fb1d81eff75b9d68a182dde4bb7d3294716e0b1466a446403a":{lat:60.1719,lng:24.9347},"6b9b180969588edcd14ad5537bd1afb285bafdd66fcee996edea044b0aea0f19":{lat:50.4777,lng:12.3649},"6bb98d3ba6afae2ae3fefd154244e4c925dadc5ea4a40d895feeb357e3e45d37":{lat:50.4777,lng:12.3649},"6bd99f1ac4496d7fe0b47752be2fddcdaaa4f03cd1b6f1bb99803bf90211cc7f":{lat:50.4777,lng:12.3649},"6bf264dd51d5194d1e152c7edf8ad230157816556bf9f3f29a4670d1e0d8e2c4":{lat:50.4777,lng:12.3649},"6bfb9da0b7b0ae629bbc05f0903d649697ea8441c8e862d9fc295a468882b069":{lat:60.1719,lng:24.9347},"6c000e08664a08016d001190ed8f2139f3529e354bf6be6843e9001b542a5bf4":{lat:60.1719,lng:24.9347},"6c1667bed3a35d17f8f59efb0d3c6c54be7df366c730a11deaf97c2b6fbff11f":{lat:50.4777,lng:12.3649},"6c2b4ea6a3fad50d7ae1219481d74f721458735dcd1447ce22aad3e3f2606a22":{lat:50.4777,lng:12.3649},"6c4d322b08e0f52df411f11d2ae9752a2569580e17b54547c7fbf1eb684d2974":{lat:50.4777,lng:12.3649},"6c4f3c723d7e1ec62fc918da8a5bb99e7cdaee7a4579040fdea420f7e8dc3f91":{lat:50.4777,lng:12.3649},"6c7715209437e4d2bfb2dd04a59f8367f19ff9c9bdf16875075547d8bb124e73":{lat:60.1719,lng:24.9347},"6c786ebcacc93c7d7d82aa7352edaa05f37f62361bb1cb894c5b76f720b2444b":{lat:50.4777,lng:12.3649},"6c78b08cae311608fe9683b4791a2fba1424c0173b76dfc090918ca135379de8":{lat:60.1719,lng:24.9347},"6c844db3f119c5a8e7eda61809150996b76886a7ca5d4a8d1aeefebe4e68ef6e":{lat:50.4777,lng:12.3649},"6c9e8ab8bee8383653b149d6e853aead6ad6db35917b7432ef975ea0cf9d9c7a":{lat:60.1719,lng:24.9347},"6cba8ea656755f64b78d2958afc0663938bc6d39cf3a4d041a8be7a1eb2e8967":{lat:50.4777,lng:12.3649},"6cd100f8c2bf07d1f7e538b423177b5e0816aa62d59ba47562bc555abb8b5782":{lat:50.4777,lng:12.3649},"6cd5ba7313b84598bf05759075344fe05d54786981910ba59f17a2c906f596f3":{lat:52.52,lng:13.405},"6cdf6590bb19ac58010112c51f07ba61c2acddc87704df27f6a904ea9a62e21c":{lat:50.4777,lng:12.3649},"6ce14d52f4172beda1ab045977fc950212fdf655e8577d1ecf8a84460969b2b2":{lat:50.4777,lng:12.3649},"6d11a41279e0e54f04730f34027bbaddc3201baed6ad4c4a13633e2b1b39f2d8":{lat:50.4777,lng:12.3649},"6d24f082cccbd4562a02bb4d81231ae583ffaeb1d5779428152be7740fc53500":{lat:60.1719,lng:24.9347},"6d27968ca01c525faa6cc8637829d199bd8a58b3e2c7013cfd08c6cbd39db54d":{lat:60.1719,lng:24.9347},"6d38f14c11eb3c23add0701af9f2013879d50b7c4e1d097b280d49e72a83d43b":{lat:50.4777,lng:12.3649},"6d49ec03d35ce84c5c50cc71669c04f36d03ada42b78a5f5f4656854f9773a9c":{lat:50.4777,lng:12.3649},"6d5c4e06287d7dcbf3ddae8f414e1f0a47a2d3f457a10490e372d930d85e7b92":{lat:50.4777,lng:12.3649},"6d60a92a6ecadf5e2ed11aba0d59ff8e733d676a825d9868621549a9e36e3527":{lat:50.4777,lng:12.3649},"6d673b5b4a37c338a79735bb02446e8b4a3163a41b31ee91bec82d57ce1c77bb":{lat:60.1719,lng:24.9347},"6d9f1a175d43a0ae51470a4d9d546ab3b947657ba06fd7b071d369e2adf390ba":{lat:50.4777,lng:12.3649},"6db063bd60f0ad885dd0dd4bd785e3eac8b2500f7bad399b0a007359727858f4":{lat:50.4777,lng:12.3649},"6dbfd8fe2225cd5a8dffc9b30327375c6f771b564d5a4f37dcd3f46c07717eff":{lat:52.52,lng:13.405},"6dc0768c3bf25bf1e5b804e9e77c90bb3fb955369750264ccdaa9c7a35a35e7d":{lat:60.1719,lng:24.9347},"6dd7b2a318b1dae080255ffdb2a6ed78863a820eed0fef0911badc9a5e3c8891":{lat:50.4777,lng:12.3649},"6dfcb937716437d19433ca5e6a36678c012dcea33efd2c0dae658738621a1f80":{lat:50.4777,lng:12.3649},"6e05d80bd202b8565784a016c67c28022a1252988a53dcd84e5e90391cc0d9de":{lat:60.1719,lng:24.9347},"6e1c4f441a74bb7290dd7ad9bd7bf2a4180014a9141ab7cf60735f4e49aca658":{lat:50.4777,lng:12.3649},"6e26351381b7a13f8dd9e58324184433e8469e64e7ca31df60a335a6b5f29f04":{lat:50.4777,lng:12.3649},"6e42c6b2b4f11a2154665807bd259c532b44212bba3869745d1ee899801e4df0":{lat:50.4777,lng:12.3649},"6e4e61a1eb6f85c90e841d0ecd1bc5d532e43c09ceee03c091e01794935a0b4f":{lat:60.1719,lng:24.9347},"6e5c715a284ef2949925047359b907b1fe10581607952f4834ed455ace25ca8f":{lat:60.1719,lng:24.9347},"6e5f6463bcb7011bd90fb45e0238bdbe583b3f9c7be6ab1b7b74d120f04da144":{lat:50.4777,lng:12.3649},"6e7d801e204fabadc102b30955dde682f71ba64959bd99d88e3074d4b7a15389":{lat:50.4777,lng:12.3649},"6e816156faf0da00f3ed0a4ecc46f5270b10468f2b461392f52c3f485c094b34":{lat:60.1719,lng:24.9347},"6e9c4abe7d6f2022d01a72fd5782c899068136f3df966bee745d443681ab21c7":{lat:50.4777,lng:12.3649},"6eaa03950b73f6714bfd5109ac4eced56c809b4d59d42f27667f062689cec53c":{lat:50.4777,lng:12.3649},"6ecf0d5dcad6ba894e2bc86db40f119b0cc930870f4852d68e6c10905ad3371a":{lat:50.4777,lng:12.3649},"6ee858f9a9c5dadf15d6a0b58e1cd10393aa350a15bc484cdb191b32124439a9":{lat:50.4777,lng:12.3649},"6ef4be529e51fd3c2e3a9f0f8cb9f29259e9c79f2a12ff0893c1f7ed5405fc9d":{lat:60.1719,lng:24.9347},"6f042023dfb8563bbbe6f1e060244a8800ff992f8501feb26cfea2c962e55486":{lat:50.4777,lng:12.3649},"6f055f34288f70f9fcc75456165b6a903227aea96884dd89b55d14022e2bf7c5":{lat:60.1719,lng:24.9347},"6f06c7c0ccdf4b35fe6f87fe47f3d75c5bd0bb7c78a916c9961c2d9f264728ad":{lat:45.2496,lng:-75.9181},"6f240dc10940fa006d69e9b3909d8c39faa4f77f53f5439a4448ee9edd470990":{lat:50.4777,lng:12.3649},"6f3130bd27130c3006d329c689700dad1300373ba2faa9e0a7444a34f517ee71":{lat:50.4777,lng:12.3649},"6f3d4bf27335e89d124e05dfff30d66e078745de07619f7300162a9af9a91126":{lat:60.1719,lng:24.9347},"6f4f50c4393e481e4c8c8df5d19448cd7e43bb66266e5920cc8723b05c537e56":{lat:60.1719,lng:24.9347},"6f5e7c763af6aa5ce114c19917719d44f462fb01d03ba046cc8ff54acf32cd90":{lat:50.4777,lng:12.3649},"6f6a40ab708f2cf8a902fc8f296d470b05625b8f93175e57a80726ada459d22b":{lat:50.4777,lng:12.3649},"6f88c78f64745a1028a85f7b179fd791a4d6cdffa04a860705d994177a2b4dff":{lat:60.1719,lng:24.9347},"6f89fa752ea23d48a0fecd6717b38ed19d748040083ded12a6da14f21cdb5954":{lat:50.4777,lng:12.3649},"6fba63216d0a33739c2386583d0d086757917ff9f5d2b8e450596be1907aea45":{lat:50.4777,lng:12.3649},"6fd72b7a7710fbbbe71b3fdd3510660e70cfc520764af7cfeace5522bdd0bf0c":{lat:50.4777,lng:12.3649},"6ff206ea2f1782b011b10dec1b9a37f1d9c41620ffdd33ac8ceffed6803c2b2b":{lat:50.4777,lng:12.3649},"6ffebcfc57b23a09a66cfa7ed7eb6c1df6dbbdf36e90ba67263153455ada4580":{lat:52.52,lng:13.405},"7013a7d6626d21f8a8b187c1f699e50401e5b3e4344f666c4562e0bbb36971d8":{lat:60.1719,lng:24.9347},"701416d17370c27e9b3bddea970e87e88e2fed86ea8483af64d57877a42aec58":{lat:60.1719,lng:24.9347},"701835ac8178124e4fb1aae2db55f2a45b5778abc5e933ffb2da3b17335e5003":{lat:50.4777,lng:12.3649},"701e49cbe216ffb9fb21f92a26c4205cb726474704255130f82e7c56f9a568ba":{lat:50.4777,lng:12.3649},"70348ddcf3f094d1403431038bc1fc52ba4a45069b2ea857ea521fc56450b72f":{lat:50.4777,lng:12.3649},"704291dd0b4002663a69f91cb05667643bbc6bdcf6735b6493f51fa4794113ba":{lat:60.1719,lng:24.9347},"704a13f5e6976a2ffa8addd810a39b1e720862f19ef73973471a2ac54988a590":{lat:50.4777,lng:12.3649},"706cdf4db4d7749efdcb3c1199a93433274cc6253a8eeddcd38c101689603106":{lat:50.4777,lng:12.3649},"70870d4cf2ff7e2b342a1138ba69e53f8fe9c75b37e359b54fbd033bbdbe872c":{lat:60.1719,lng:24.9347},"7098f0a86b2b817922a4681e510b924861e325d7419a57fe1034008074d3a193":{lat:50.4777,lng:12.3649},"70aaf47d6b90c6a50172cad6da5f9c83937d0e135df8a655ccbaaa70b96f5a5b":{lat:50.4777,lng:12.3649},"70c362b724a4bdee627c551801e22a027c8e2873d3ecb4321adddc77e9939892":{lat:60.1719,lng:24.9347},"70debc5a53ec0e767387cbd3b65d1360324361accf4d5e36ff67013ad500a348":{lat:50.4777,lng:12.3649},"70f860625c87462e50879965fd75f3dfc8d9b229d490f536e1c1b5358b04101d":{lat:50.4777,lng:12.3649},"710418a34e0bd1205bdbf1a3656c322fe38743aabc75be6765ac53ff40e7da2b":{lat:50.4777,lng:12.3649},"712df763722481d5fcb4281cec35aeb781f7cf35256847e7dbfa954fb07aa331":{lat:60.1719,lng:24.9347},"713c06bed0830a578f250b7a574b7e3cada5d29650538aaf781fe435ecf99d76":{lat:60.1719,lng:24.9347},"713e58997d3061b6c829cb3e78e8e0ed7fe5ce9d1d6a04022207c0efebc5da1f":{lat:50.4777,lng:12.3649},"714c99d9d1fbfadb6ea13f337feecf6c97eadfc2d8f113c843a45422976e4d28":{lat:50.4777,lng:12.3649},"716e4c8fe672eaa1518bf28ed9d54d1d187d87774a73a06c5aa130e652be0722":{lat:50.4777,lng:12.3649},"7176600ba3aa458ffbf2dd246c386b59b74cf5aef84f367b028d8ee02e8fce7a":{lat:60.1719,lng:24.9347},"7178a6783ff3d8acd49199da87ea0728c3d59a6c75124a33220ab612ae813b6b":{lat:50.4777,lng:12.3649},"718cf4fea4de4c0354186c999d8d1ad462d220aab80a456459ade539151558a3":{lat:50.4777,lng:12.3649},"718ef4068eaa0eee0b6012822ccfb1f6a0053721c7873970e448757df5171748":{lat:60.1719,lng:24.9347},"71ac41b16536cdb43b13e8d6b1505cb9e297abebc4b4854d7460b10c75cfd4ee":{lat:50.4777,lng:12.3649},"71caeccdbd5c79f51c5479f310d453377565e511815459e19307758413010127":{lat:50.4777,lng:12.3649},"71cfa35e6dc24aba9827ba3d8a691e7fe6439d050d00f4f294a5f6b3d36eecf8":{lat:52.52,lng:13.405},"71f5aaa521a885d7ef6140346851fcbc3f8b32c1a10d3796efbc8aff8f514e66":{lat:50.4777,lng:12.3649},"720c365bdf5185896ca1c301a9251483d399334dead064344419ebee329f8736":{lat:45.2496,lng:-75.9181},"720e9cbcff4fe16ea6287d86b02dad1ce4032289ab30b07a7aacac3da9920df5":{lat:50.4777,lng:12.3649},"7213498cc7eb0e8af91be0f404ec0c69b23390b198fd4db43496ae444ab235b1":{lat:60.1719,lng:24.9347},"723591eac90bba6d6c964a832e9d3d51d5e8bc073887bd794ad9ab5301ad199e":{lat:50.4777,lng:12.3649},"7244a107b6ee00464b23e1d19f1d29d5b4ed1ee7388dbd50b4a433f0740c5ac7":{lat:50.4777,lng:12.3649},"725bf85eb98da4544d3712c5728041d981abcc27f5061b9a05cdf21b3abe0958":{lat:50.4777,lng:12.3649},"7260fd9a2df5060b91b5dec6d2ea46f0cdb71c8124f918b85f9bc683282fd8ce":{lat:60.1719,lng:24.9347},"727ae6dc30facd3273aaa577b02251994d3980614b78b23c155a296f91bcf53e":{lat:60.1719,lng:24.9347},"727f47957982742bd276f38bc2e352c4a13c560ae74e0009eeab4c18d6843ab1":{lat:50.4777,lng:12.3649},"728ebe152dbc081766a030e97a455a0792669e03c373d5da6aa9f226357844b6":{lat:50.4777,lng:12.3649},"72ad2f2c9597df8a6fac6dec5974523cf3469695fd03dce8a5c38b17c89f4df9":{lat:60.1719,lng:24.9347},"72bf48fe5890c592c031500658f59ce181022c7c7bb429777d66862affa00086":{lat:50.4777,lng:12.3649},"72d4a7157d294ffaa20a159cf1c2cd8ff960e5253811bba2aa6a78faa1505e22":{lat:50.4777,lng:12.3649},"72ee1b9c8c0bc7722521e9c9b21fe17c9f188854acfa932a4fc75671d368183d":{lat:50.4777,lng:12.3649},"72f6aee28bacaba5036d9295bc6620cf2fbc11a564a2e632f05095233defce07":{lat:60.1719,lng:24.9347},"72fc2aae250dd227ed307b7244993ad631457e666287fc6e379f2e7211327203":{lat:50.4777,lng:12.3649},"7301cd46b0bcd1eb24ed465cd7af365806bb81981e9236c90386b7143adc7675":{lat:50.4777,lng:12.3649},"73036975855da7ae01f44f0286c2d21680a481102f0af99f13c8da088afdea6b":{lat:50.4777,lng:12.3649},"730fba26180d8c24b51e83ae51aab254a0a98a9f64908bbe89507d3abb1d45de":{lat:60.1719,lng:24.9347},"733b01dbd4b69613662cb5180e0d196b9afd44c883506d19f4856fb7205d1a2f":{lat:50.4777,lng:12.3649},"734ac88ddd2ef11d5e2714fd7010895b74d42a31150998491b76671c930c0b7e":{lat:50.4777,lng:12.3649},"734c2f8998385867365e9706780c306d064c21b13d49a0d5d014c25e7b451974":{lat:60.1719,lng:24.9347},"7368ad26c6e7f8ad0a814be3c0d01306691a8eb4c1178daff9d5cd95e5c957f6":{lat:60.1719,lng:24.9347},"737e7b0e30ff35df64e73bd7553363ff25896acabd4b90355279cb6e0e90f6df":{lat:50.4777,lng:12.3649},"73888ace11e2e5de2b744084ee8e6818d291eb53d569bdc8550716b014b23aeb":{lat:50.4777,lng:12.3649},"7399d647d62ab2f0d8764f59b570843db603be0adfc1005276f82fc4e7e9bc31":{lat:60.1719,lng:24.9347},"73bce27b87a254d7d6f5747f09662fda87e41c8321cc30be94a96e9d8a562b3e":{lat:50.4777,lng:12.3649},"73cfb8be83a7592d8c50a264af666136bc07043ad7be132517019fd5d6192f35":{lat:50.4777,lng:12.3649},"73e9c7ca48f12f710e50539cc7225e3f752250d5b2894368069a97ed50ce2a4e":{lat:50.4777,lng:12.3649},"73fcf92cb66a71ea893c7ec5fec05b747f937433cff50906a18b0e8c7fea1673":{lat:60.1719,lng:24.9347},"740a4aeed28a027b5d8fe0b501b62d91c666ca3a3cfa36f4aa8cc6dcd259eb20":{lat:50.4777,lng:12.3649},"740c8fc99c73b9f7ffbfd039ebb53d29dd1e066f69064387cd3451069f09a3db":{lat:60.1719,lng:24.9347},"7437ec0425375db584a8e90e34d5c7d120fb5be1768ad75b98b370913dc8f0fa":{lat:50.4777,lng:12.3649},"743fffae315cc5115315a59b2852f30f6cadadb25389107e0e77cce3067079c1":{lat:60.1719,lng:24.9347},"7441b8e6d73ef345d12db14a019d965a1e52201620da9766c5d772cd03a013b6":{lat:60.1719,lng:24.9347},"7442ba5cb003ef4664a928c920fb3449dd7235655d7923485daa0aa0e5559646":{lat:50.4777,lng:12.3649},"744e05cb74c772b93d253dd1ba79dbeed0aeeb87963a3161df247a7bd30aa70c":{lat:50.4777,lng:12.3649},"746e6def0e895791ab44b0be93d477f0a09a96f8eed2261ff707cb49a93206e6":{lat:50.4777,lng:12.3649},"74974ae6d7fd5b8f586d1b232a60578ee46346560d5a62c0625ac623582a5b56":{lat:50.4777,lng:12.3649},"749bc5ee841e137e410e404696625ba0f09829eb9445eb2dc663f266726e224a":{lat:60.1719,lng:24.9347},"74b60529384230be471abc35482d6805123883565fec205fbc3b28ea48b60cb4":{lat:50.4777,lng:12.3649},"74cf854b057e035a115e7833df1581a752f7f1d1bc104982e8cf57b9f6090053":{lat:50.4777,lng:12.3649},"74ead4394001275d6ac92ecda195617fe2c1d3ec667356f478cb268316493469":{lat:50.4777,lng:12.3649},"74f9698de187f7eabd9a359c8600ca325186af35f1739f653a518bbba0aebf60":{lat:60.1719,lng:24.9347},"75013a6499b528c4b716b96ceee6d4c1092eee2c338a9f67a7bd43813210c317":{lat:50.4777,lng:12.3649},"751b940772150739805bc48715771cddd104e10c33dd5a504232ef41b1094bae":{lat:60.1719,lng:24.9347},"75298c33b8183b8b5f2907f62d1020fa07f6d60f955c223231e824fae2ceb0ca":{lat:60.1719,lng:24.9347},"75336a8c699e27b17c0e95689390fb8262ef04f7e6d5cf09c5dee8680764f49c":{lat:50.4777,lng:12.3649},"75353d92dd9293031d903a0bce42214997ff4ccba337bf5c2e2c49f5d7e14396":{lat:50.4777,lng:12.3649},"7541ac241e50a3abcac6eb0e71fdf0af667adf496dbde5cb8173a1aeb486ee97":{lat:50.4777,lng:12.3649},"7572cc5b3ce6694ae4b82988c3cd3884bda59126023fcd0f8b190b830e4b7f0d":{lat:50.4777,lng:12.3649},"7575289c45eb3bc8cc26032688b34ee94fad1e0c6a953593a63204d43f4415c5":{lat:52.52,lng:13.405},"758485c9b5bb898ead53235bbe975420fc24e76a2570b8757f88cd3c8d323754":{lat:60.1719,lng:24.9347},"758f4d98b25e9f3e3029ee15d961f91502eaa4333371e27c6c9e200b5591050f":{lat:50.4777,lng:12.3649},"75af99cc14e86110909e8b4b7e52dec880f91c4dedab8efa3fe0edf65bb4822a":{lat:50.4777,lng:12.3649},"75cace2c2d1084e3010ffa6904e575c3984dad4429337d7b968ff8e05afcdfea":{lat:50.4777,lng:12.3649},"75cc9614aa0d69a8abcdfe2ca462c685d201ddc2632a3169ee9613b3afcdcb96":{lat:60.1719,lng:24.9347},"75e940096e5a889d133ab5a19f361b0feddd8f11a2dcac676e010027ab86e4d5":{lat:50.4777,lng:12.3649},"76123ea0c2ca5859e6246357e5b2db120247560906bea7710e25c0e859e5a13d":{lat:60.1719,lng:24.9347},"76139bae327bec2941fa3e331b0e1da1272042b9daef65ba30a9268e4b007f07":{lat:50.4777,lng:12.3649},"76189214987f13313f061ef07a7fbf5e75ddeae2269254f58996711192f8139d":{lat:60.1719,lng:24.9347},"76314bf37d7a241ad66032bdeb63e8186acbf5a06404325dab52ce4721e40bf1":{lat:50.4777,lng:12.3649},"764616686af9d7c0686e3141130ae3539cfca60bfa6747ca2d5e965b52bd0db3":{lat:60.1719,lng:24.9347},"7653178faafe841f3b0f55d3a59c34b72bfc4479693da58c90f8ad7638e9e4f7":{lat:50.4777,lng:12.3649},"765af68194aa24f41553cbf24e3c0fcf4731d40fdae2cdf13e2e75df239d6d2b":{lat:50.4777,lng:12.3649},"766ccc61aa47501ec7594cf9a4400d9fb4857a24ac26d771d94bbff858c4e112":{lat:50.4777,lng:12.3649},"769d7ea609dfc6fcebbdbeffac0e9f34fbf679c9d1ace4cc3fe34ccdc597a287":{lat:50.4777,lng:12.3649},"76a8ee84dc0be2474c69cb5dd0b02f6987ca257e1669babe022bc8e1f7de572e":{lat:60.1719,lng:24.9347},"76b63c13967d79f12f2bf8053022c6a3c26b67b9fce0c9550dd9a972b30950bf":{lat:50.4777,lng:12.3649},"76d6dedf0351ed65843dd2fa098cd4895bcaba326a67e4d15e301bb966007f5a":{lat:50.4777,lng:12.3649},"76ec56b204df4ce817ccc8abaf9ef75e7ce2591593ae3fc81b4a77f6b86a6a04":{lat:60.1719,lng:24.9347},"76edae1b2759e4bc21de8166ae0b89451ef93421d852e547f149133ae6cafaf0":{lat:50.4777,lng:12.3649},"77059ca29110b6b3b947e6ae6e8eced12ea207dff6d1f408b1a67f41d1f3cb31":{lat:60.1719,lng:24.9347},"770c5f4db84e21ee65155f958862d74b4c8d8f6ce030b7d1dd0333642044cb56":{lat:50.4777,lng:12.3649},"772bf37ba07f5a54eee7b6b25438fc575d89f1b60c7c091836ae93f0c280865b":{lat:50.4777,lng:12.3649},"7734f95174c23d0abd886ab18338b0deac586dd0fc32a0779f8317b2f46d03f7":{lat:50.4777,lng:12.3649},"774864db997fbb6a7cdc658bb9fafd325c6896a8559b885aac7b39958904e79d":{lat:50.4777,lng:12.3649},"77693a94d35606f89024f592ef485ee3bcfb9c9eee38f71c92155b2641afbbb9":{lat:60.1719,lng:24.9347},"7779b6b670f920d1fca5840f2197b443fc3fd9b3b13916cf0bfc3f405811bbb5":{lat:50.4777,lng:12.3649},"777d52c3114c2f9f41d7d2a702944156f64ad22882928f93fb8a0cdc42ff7950":{lat:60.1719,lng:24.9347},"779a2104df792b0d99f37280253cb15d680283c15428825442cc633211ece2da":{lat:60.1719,lng:24.9347},"779d78a807ef8e726e57bad4bab57a185245ea0001cd74a378a5791cddcfe499":{lat:50.4777,lng:12.3649},"77a3bd6c70a5527c241d5b9136727cf71900ffb486cddc816d0b144325869b1e":{lat:50.4777,lng:12.3649},"77ce764335328b1c971d4b46948e44c084fe637ddb0a1cffd6cfc3839b2c507d":{lat:50.4777,lng:12.3649},"77e1a0b2b131cd5df014c41c92af5db16cb28bb045ca0ca63eed9fc092e2be5b":{lat:50.4777,lng:12.3649},"77e656a87efcf866efbf936ee1896d3a22a44148eb6eeb9f80184734ed37142d":{lat:52.52,lng:13.405},"78078a171eba92bbe9e68bdb82366590681d083c1b9748dbbff702793291cb51":{lat:60.1719,lng:24.9347},"781455a9dc4b3a33f2bfd4d50540cf86ec101df8a069fab6327e9e2e2fa733d3":{lat:50.4777,lng:12.3649},"782576a1b2b85577c779bd3972a2375cbcd38b9ee6b5910c5005e0a7711abb44":{lat:50.4777,lng:12.3649},"782ca521480662990a6d97d4ee11d65a0cc43a9c897b81e9890fb0c716688014":{lat:60.1719,lng:24.9347},"78421f92225ffe1d7dceb6b9ed780d165690d88d0493e519b558f581a8a5f3d9":{lat:50.4777,lng:12.3649},"785bb086fe9e14a507a1e46f799de34fabfddfd9e9cfe1e16ee1ed28575ae480":{lat:50.4777,lng:12.3649},"786c89382110ea0f6ee1fedf56012e54d1a9de066efa7e0d6ae8d91e595d446a":{lat:50.4777,lng:12.3649},"787d08207f53bf1c8d58559baafdd8f7207abe2d95f481395f8655ff01db7dd5":{lat:60.1719,lng:24.9347},"788f766d6fb5dd4175cc1b23cd78437fb66e44ffb989bd167d3249154e52d17a":{lat:60.1719,lng:24.9347},"78967bb08011a99687a0f301b58f3384eee04fdeb34cdfa2c4764ffa911d042d":{lat:50.4777,lng:12.3649},"78b653b9c4f1ee6112d6154964bf9412c12974c7cf94115c06f0cc89642160fc":{lat:50.4777,lng:12.3649},"78ce6447568175ccdc4537f42d7b564d04b918ce0aefe74a4cdc857e10791668":{lat:50.4777,lng:12.3649},"78d53ec559a0188be5e8c85b8cf1479442682e65c808be9f349ca320d0d0015a":{lat:60.1719,lng:24.9347},"78ecab3e572f860ef3176a5ff951e884b5a0fc5bd28c64a3aca595a5d80117b7":{lat:50.4777,lng:12.3649},"79004d9ae367d17a11b07b3b9170cd408465411c8c495efe8d0b178baa624fa5":{lat:50.4777,lng:12.3649},"79068e0fd772b941aeceef8e4e8b0244c8a2e7d55f8b059719589c14e72468a3":{lat:60.1719,lng:24.9347},"7922ed36691ee0d29e201329160eb7af6ddd34082c44045e7b7fb0ed6048f2a0":{lat:60.1719,lng:24.9347},"7931bf4eb6e684f476fe25686ee639011f732b988836d753bf0ca96042d33653":{lat:50.4777,lng:12.3649},"794440cc23aa099a88a0d2c5b8d9fce936110293b90b830b3ef9ef8bf96e1a70":{lat:50.4777,lng:12.3649},"795043facaa2f5ff7e8e37b473a01c5dc98d25e42e3fdd34627e90dfb397c6f0":{lat:50.4777,lng:12.3649},"7977ecc0376c58742482d7bb309371e13c9628ee5aa5207ece630c56200f0766":{lat:45.2496,lng:-75.9181},"7979c9a179170bbe9cb9dab3c7873f1d42ad4ee111450da6e9395343c3efbfcd":{lat:60.1719,lng:24.9347},"797d2fdd2d2d6342032779ad546733c20b946e7830add73226627ab47b02e902":{lat:50.4777,lng:12.3649},"7981d85a6aef5ff26f7d882e050cb223cea232782ad0cd84eba9bf840ae7e86a":{lat:60.1719,lng:24.9347},"79923d3ed47eb776b4ee4bb1f893c7226afd519830a41479e236aeb76790d087":{lat:50.4777,lng:12.3649},"79bcfd57a17ba01fcf13e5e109c9312f7925f79d5731ae9c91446602a93b5c8d":{lat:50.4777,lng:12.3649},"79c7131c20e7b10fdc2c9ca26e1013150d6a33695340089cc82fc2af40ad694b":{lat:50.4777,lng:12.3649},"79e538f4029c886190b3b8f3710d55568e13a370dcb92a423646c63ea886c2aa":{lat:60.1719,lng:24.9347},"79f85db5076d132511bc820b7e430461f5fce82c7a9c0f01693188368f77a3fe":{lat:50.4777,lng:12.3649},"7a04e57148a53acee7e79d80cb5bb75694b3094324e68eae2ac6db2cee047427":{lat:50.4777,lng:12.3649},"7a107351cc275cdb822cbbdebc924b313dc2d94f6c9143b3b9813ba287f2ac66":{lat:50.4777,lng:12.3649},"7a176a1deff647b74d0d1a38284ea91cc931338623d8d6e95b2bf4d69a965246":{lat:60.1719,lng:24.9347},"7a2bda041e6812af3ed140ab56be9ee24c7092236b894f4dc4e55818cc0691cf":{lat:50.4777,lng:12.3649},"7a2fdef61924fedc19ba0f4c2f81e65e011816997705c498c3ea10fd4041828c":{lat:60.1719,lng:24.9347},"7a58d3a056d93c9603319b49d2af74c5077aa9d87af2e7a379b3ff3edadead95":{lat:50.4777,lng:12.3649},"7a7bd743e9d8b8b0aaba8b44f83f056b6d5f96872ac51b4a32a95aba205922d8":{lat:50.4777,lng:12.3649},"7a7e6946a9ea763c61ae2ab3dfab8fbd2d4d8dd484b5237169004fb345443e72":{lat:60.1719,lng:24.9347},"7a9155d44fa2fdf4a3c18bced280aad12fb85e9bf49dce325d09f0ec3f5089d4":{lat:60.1719,lng:24.9347},"7a952cbe47f2000c50f33d1ee3663bebde665f91cf1c4c0dbd6f749648956826":{lat:50.4777,lng:12.3649},"7ab1ad42c43eef26c9edb48b70891a420c45b0a2d12f410a0008571a0febb199":{lat:50.4777,lng:12.3649},"7ac0da7acc6e437d01e45a99415092423441fb4fc2d7c252552edc0faf883251":{lat:50.4777,lng:12.3649},"7aeb6c02bf1a02e48a452b10e212a5b4f8ea8f76965a3c4d8ba873fdb387ac00":{lat:50.4777,lng:12.3649},"7aff313200e32202b2bdfa24ae45aff6c51b73ca9f9225e11ca75216025ee9fb":{lat:60.1719,lng:24.9347},"7b06800920fc3404aab337fee895b845af1f8edb2423654aa57caeddc87c2d22":{lat:60.1719,lng:24.9347},"7b06d96d27d0532002ca8e7ca6b805b89f309e029c341e3d7045d70aa86e76a9":{lat:60.1719,lng:24.9347},"7b12a60b9775b7a77a613752febfffb9619e7ca74b003346acff80ce71c1e8f3":{lat:50.4777,lng:12.3649},"7b1b15df16a2ce66fd2bd01de2ce6172a98a75c4dfc43e26fdeacf067a0be7fe":{lat:50.4777,lng:12.3649},"7b2c6bfacc99a56840c28d26100ceaaeb2cbd0bf63c58c1969ba0aa9eb780ae3":{lat:50.4777,lng:12.3649},"7b4375144b251f6a038c290db0902d59b3253db5a88a51f75e8b0e0bf30abb9f":{lat:50.4777,lng:12.3649},"7b455b7a2d463ff4525dbcf809cdc8d4f8a18eeb1df9b9459f80e1af071647e2":{lat:52.52,lng:13.405},"7b76980d3e9b58b9d7dde965ce55dd293b083dc036fa9dd562b3f42f1262061f":{lat:50.4777,lng:12.3649},"7b81c7066297ce17095a5a60408e7f74fa1e6306208263b7a91c391355da7e23":{lat:60.1719,lng:24.9347},"7b9c9eadf434925ec8b230b3fe5241feab43ba32784e1728c250cc71e0d752c3":{lat:50.4777,lng:12.3649},"7ba65639aecb35d482768e368342335a44b4a7d68b15b1c0c3f4b30a66d6b24b":{lat:50.4777,lng:12.3649},"7bcb1f9a56f2cbf71f9ab919104befcdb8c62338f95ab904e26598c7a2c7e9b5":{lat:50.4777,lng:12.3649},"7bdfaf41ee580146c12c91c923a4cc3b5987a74cfab19f9131643b7344140753":{lat:60.1719,lng:24.9347},"7be2e6a844efd5d9c45be55a5502f286df8b1e5957a0876bae8f7cd9117aeec4":{lat:50.4777,lng:12.3649},"7c075d8ad7ae4750dce5b20911a1c9a58e936d6bec3420a15fdf43cc86f54510":{lat:48.9742,lng:8.1851},"7c1f26b0359fee6b4c196e9cffdfcb6e50e82aba927add7161bcf2e4758b5726":{lat:50.4777,lng:12.3649},"7c32e8df50e1751f085bf8ae85a11764ffb171480edb98aa39215b8200773a47":{lat:50.4777,lng:12.3649},"7c3bcfc7165cf4f776e6c2d0e31ec7d5a2204908bda040fcc3a1fed2da272e8c":{lat:60.1719,lng:24.9347},"7c3def0253a5632a5009031e6e8ce51b510451b4ae8539208c0cfcec88fe5731":{lat:60.1719,lng:24.9347},"7c4a12e088f236917adea3005edc71d42ede794a0cbcbb30321248b1e000444e":{lat:60.1719,lng:24.9347},"7c597354b105e56c2ba986edc52fd8b05808de4c0fd190525791ed5206237680":{lat:50.4777,lng:12.3649},"7c6c473087171634caf22522952cc74c8a0ddef270ac8b00e0269d617ff96263":{lat:50.4777,lng:12.3649},"7c70585905adb024a1e19721f6b73a99315d845584d76ff79f8cccf2a023d67d":{lat:50.4777,lng:12.3649},"7c93324ec6e58c7656cc1a51d216e2c4c0f5b00893143975e35b1febf2739ea4":{lat:50.4777,lng:12.3649},"7cad64bd402ee17282a65ffb034d630f66bbdb0532b681aa1bfc70b241656007":{lat:50.4777,lng:12.3649},"7cba5f9482521e95dd26264fd593c4594a828650388c2256a1f238a43e266b3c":{lat:60.1719,lng:24.9347},"7cce4cb46bd194a3e7c96b9dcf63236d513612483e985434a5524a89a26d1e83":{lat:60.1719,lng:24.9347},"7cde88467db81e186f0531f02feb9bdda497f708fc03c744e4ec3987154819f0":{lat:50.4777,lng:12.3649},"7cf72f168c00b1b61736f1e32179ab83356f768137242d1ac8bc5b6b7c2cb41b":{lat:50.4777,lng:12.3649},"7d0b48ea1d78b7a73a59d7eaa69fa67aa3ca3f86a7c9fde40171fdd659242992":{lat:50.4777,lng:12.3649},"7d0d90768753e582ffb31d659826effc804e111b692c950e7ceb5e7ea2abd174":{lat:50.4777,lng:12.3649},"7d17ff168c5ddb49046115c7c2930c645b882322def9d71af44bed84333100f5":{lat:60.1719,lng:24.9347},"7d2ccb65dda01fc1035ce0c0b12330d5f940c900fb52c1314e980af7c4acd5ac":{lat:50.4777,lng:12.3649},"7d4800c1c99dfc8525a4d369d80aa806bc8fa873473624cf9ba9af932bbfae4c":{lat:60.1719,lng:24.9347},"7d4f454326e6b1ce38ffa0cd0bf7478a662ffe3833d89391a25a9e2908141a99":{lat:50.4777,lng:12.3649},"7d57d1baac0f48871e012a7eb9604840bbf4f693e5101e5b912718b723096ab2":{lat:60.1719,lng:24.9347},"7d70403bac9a32327efbc4a73b781cf783e7c21eb12d62104e53f726bb8f0e1b":{lat:50.4777,lng:12.3649},"7d9dd1992b29baa2baad5d826ae42783bbd02cddd60f85b644820aa0b2f5ebfd":{lat:50.4777,lng:12.3649},"7db7a31ea202e342b144a9f237dbe70ef67cec17e6eb0f02ee03483e4c5f2ee6":{lat:50.4777,lng:12.3649},"7dbcddcabf49c9639173094fe0431b97b2fe647b839b9f8bb805facf7383cbd5":{lat:60.1719,lng:24.9347},"7dc7adcc84b01ec4faff3d1d9e0889d6591485dfc39e95cd725e511108d9f244":{lat:60.1719,lng:24.9347},"7ddae43f2780a153b2459695597dffa2706f92a97df038207da2f8464cffc04f":{lat:50.4777,lng:12.3649},"7df4a1061ec9d34a2907d54a77adeab234041294a78effa48c1ad9cff60ca380":{lat:50.4777,lng:12.3649},"7e06c4439fc7380e44f0e48ac07cb767e53047e5805357e4c593c02fba332a16":{lat:50.4777,lng:12.3649},"7e0e83269a967937887d6b86e3f478b1be86380799cf37cac82d5cb66781796e":{lat:60.1719,lng:24.9347},"7e28bad0c18e3b13de192d593fff695de0f846b0e108ec982202a8463a717b7a":{lat:50.4777,lng:12.3649},"7e44168797ba8e07034bb5926cfe64edf5d023fd0e834ce984142be15104ee32":{lat:60.1719,lng:24.9347},"7e48baaddaf5d71e213ca1488d7990291334f8ac2cecc0c79b2176033c82836a":{lat:50.4777,lng:12.3649},"7e5904731694c23d49d8e9af385cb06b5848eb2a248b2e352ee75466411b2170":{lat:50.4777,lng:12.3649},"7e70255f186bddc622584016d629c37a6fc1b20aa9832a99fc360b77bfdb317f":{lat:50.4777,lng:12.3649},"7e78ccac139170d681eb81c32e357ab07de9b4680b90e98de958ff50434abdf0":{lat:60.1719,lng:24.9347},"7e9b61dda88dcbef9f9b1b0680d8dbbbafd13d3e13c88fd750f6be7b3f2c3aa3":{lat:50.4777,lng:12.3649},"7eb06ea2a87f98c797a4714554401a436c98b29fe556fa494f0ee32c4a4dec12":{lat:52.52,lng:13.405},"7ebe485cafeebbd49499fd0fbfceee451879858ef5ef374703338cded8afaff1":{lat:50.4777,lng:12.3649},"7ecf43cd23ab8e059d3d0763a01f1966518847e68f2457871385cc90778a1802":{lat:60.1719,lng:24.9347},"7ed7670f92f35e7e4f27b22fcd30d3e45df885115866a67d37298b24c0ae25d3":{lat:50.4777,lng:12.3649},"7ef4b2390d778e8fd5577d0a5cd5cd1b6c678459cc8e4595fbcb811b9c28f84b":{lat:50.4777,lng:12.3649},"7f051d5b895ccbbf97232386087655919b407744eaccd9276a4ba2bed26579de":{lat:50.4777,lng:12.3649},"7f292047fe2180db912d0354564b921eebc22ce942c3fe9831e382773fd84f80":{lat:50.4777,lng:12.3649},"7f36ce5e4278ee96716bf65a066d57680919675af98adbc12d589c889cb5fadc":{lat:60.1719,lng:24.9347},"7f57dc765ced9fb9b5ccb889a20cabf6b2d2332b16d58758f8a5b9c8828b228d":{lat:60.1719,lng:24.9347},"7f5ee90c6707d7c391c3a3e7d85294c47ce70dd0a9cba7a1ff481906885e0076":{lat:50.4777,lng:12.3649},"7f6348eaf5b1614b7dbd2b8821080909328a3257d2073c301c0a9e0a0aa16683":{lat:50.4777,lng:12.3649},"7f68d7f345971e861923e219ffe30c5c79a2161d6fe51b2009b91d2edac443aa":{lat:50.4777,lng:12.3649},"7f6cb4c67f14a6362737600639b2d0a8876364f3889fefa5436b9c58115406e9":{lat:60.1719,lng:24.9347},"7f917ed919f7f5ef98c99e161f0a963832a7b8e41de9411b83bcfe9a7b2dd66d":{lat:50.4777,lng:12.3649},"7fb932683d62a773cda5f098a80e85064ee381b6b1f1d293c1057a7a439a9356":{lat:60.1719,lng:24.9347},"7fbaeeda5e4e96b133925e9d95bc9965d5debfff2da45cccae20db52a67301e5":{lat:50.4777,lng:12.3649},"7fcae41ca05a4209ef7e62a0a43b18987abf21c85d3c50a98d70c034f8caea21":{lat:60.1719,lng:24.9347},"7fdca544dc0e512363348fca66a8fce135a34d409337690a47cc7fa9a4dcd396":{lat:50.4777,lng:12.3649},"7ff9fe55d76546f530cd4bad64201cf95938e40609d87b829cc680bdd84cc63a":{lat:50.4777,lng:12.3649},"800854f5b323a372b2f344bd304d0a520629a4e0815f76e78d5ee65ee2a1fca5":{lat:60.1719,lng:24.9347},"800c2425c415977bd59ca8c53f9c570562f754daf1aa019a525ff23805f7c05f":{lat:48.9742,lng:8.1851},"801f15b5c11415e122b2bdf02491fb29bed461202f64e20845f81aaf855d7276":{lat:50.4777,lng:12.3649},"8026a1a3a57473d6567fc11885ad5431ad6881e8a32fcc7c62b872b326f9137a":{lat:50.4777,lng:12.3649},"80481d0094be2813d83b0836c7d3180bce6bdeda830e1604d5afcd442c390bf0":{lat:50.4777,lng:12.3649},"8055c4a804f6011437e472283613396325e167b1045c414e052960aaf84d26b1":{lat:50.4777,lng:12.3649},"805bab6cf8472172a7eca39d4d529ae12f38f54b5f7a54e7e59a05ef261604f2":{lat:60.1719,lng:24.9347},"8063a9bf341afd7f90e60e33096785b69b20b46f834577bc5877e1aa9f2172d7":{lat:0,lng:0},"8078fa11b4322047a5905b3ac4539205b5201d01f460a9b929e793dff42b7280":{lat:60.1719,lng:24.9347},"807b174e3b679c6e759dc056092a6bc68ec710136833034e782bfac4742b8f2b":{lat:50.4777,lng:12.3649},"8083354eb962183035c1411c8dc17927ef2f16a12bbf9be660ce8fb696402818":{lat:60.1719,lng:24.9347},"8095aec9ed7d1689b88c36bbc7afa3ffd527e5df51363c23ea492a7e6c2ff068":{lat:50.4777,lng:12.3649},"80b1c75747b0cc22b4fd5947a77badc8d565ed069f8681b7bf9131f40bef0921":{lat:50.4777,lng:12.3649},"80c55a8c7b18a648bc53b84c065474fa35befbe515f6b1c45f6420238a993baa":{lat:50.4777,lng:12.3649},"80ec8ec9faf579088f9071c3dd187dc9e0472a81cc4cdbb51adaa77ee1039e87":{lat:60.1719,lng:24.9347},"80f5dcfe962f1409f9eea2d218aa8089db26492dfc8acc39ce681b5719d33562":{lat:50.4777,lng:12.3649},"8105cb6c86daea24580a2efd265f25fa569e7329a16bf348d9aadcae250c9488":{lat:60.1719,lng:24.9347},"81078f5058a7864397629508254e7734a6d86f6a5d91afe095929140a48d1921":{lat:50.4777,lng:12.3649},"813398c92e9da3fcc89cb637cceab85a1393db705258c31c3bdea0b9e1dd639b":{lat:50.4777,lng:12.3649},"8145a566f1431b52e3666d69a72cde2a92f4cf4d11f12fe2e9442edf4ebedd8d":{lat:50.4777,lng:12.3649},"8156e28f3203409d837df777dbe02ae3f1f1856da5d84cfc5b4372ffe0daac06":{lat:60.1719,lng:24.9347},"8164a41a3a7d4def4d95f603c07fd6416661712dd6bc403c6947459c298d6b79":{lat:50.4777,lng:12.3649},"816f1e5aac6acf828d6507b127f736327f78eb18b1c04820c818aa497d960e71":{lat:60.1719,lng:24.9347},"817fb9c4bbbdd230c3163f31a44c7212394cb55790d4969119bf2c28d2a90206":{lat:50.4777,lng:12.3649},"8183d14063a2659bdf2c1255bc112efe16dc3dc2c959f171a6dceeda5fb33f82":{lat:50.4777,lng:12.3649},"81915c2d4cd5c8bdaa42561ae6318e9e252ecdb1b84ff929e869f64cd5fd8c0b":{lat:60.1719,lng:24.9347},"81b5299b126108f6531c8396002c2310864df02bd68c4c557a24fb06053381cd":{lat:50.4777,lng:12.3649},"81c47c512c15c4ab5fc76bba166a26b5565b4ce0970cf9cfc39637db269c62a4":{lat:50.4777,lng:12.3649},"81ddb96c1a932499cd25dee50deb378849b8351ba921e8ebf6817078d162ad48":{lat:60.1719,lng:24.9347},"81f30c202283f6ba4f3fa45dc2c9851adac704564107e94d5770ce9be91f3ddd":{lat:50.4777,lng:12.3649},"8204c917c192ea20bd1dc5e5c5e6e77d15a34d99819d63db9440421182291d2c":{lat:50.4777,lng:12.3649},"822fa2af608504782973678a454f4bbdc92d9b950373523d44872880c325e360":{lat:60.1719,lng:24.9347},"823bf3e2f0f315d70330268eb0927e69662fd7adf84eb00ee3fe672251ffab13":{lat:50.4777,lng:12.3649},"82428338442a7c0b0ba867e09ca6777a4fa2acf48fb1367903b922b29697d6ee":{lat:50.4777,lng:12.3649},"825435d217e32944e4ede437cd7baad97f28ed9eb06fa817ed1178d7302c9ce0":{lat:50.4777,lng:12.3649},"826b708b51ca7f561e71429bd0fbbcf332f2617a7188d31fb89ff020d35318da":{lat:50.4777,lng:12.3649},"8273e85a1383e6a7c3d2fb601efe8aed6bc6af741298ec391cebc24cee51b5ad":{lat:60.1719,lng:24.9347},"82782402484c78790ebc6100a03c894dcb4d7542273ef63e5c7108983e8dd42c":{lat:60.1719,lng:24.9347},"82845869e771abd55308926c3a2ad6c9df8ed4b1482e9cbc6deeb0e0fa80824e":{lat:60.1719,lng:24.9347},"829108ef39e897e1c9695dd79ecaf31303987156c2b37ed1fd08b5006dd096b8":{lat:50.4777,lng:12.3649},"82911f3703b72f52eefac65179f99e7ac270722b9851fc2f0cf0391b4f4dbf48":{lat:50.4777,lng:12.3649},"82afd24c64dc0d6cd33f009b5dbc1dfabfa710a10ec5abced474c45472882d0f":{lat:50.4777,lng:12.3649},"82cfdede81da469834f61db0eebfeb1c4f90d5bb712c58976b2763b2d4fb15e6":{lat:60.1719,lng:24.9347},"82d5ae0f70fe5a55fc5c77dc49b05addbd042ce82b800834f21a8e80bcbed410":{lat:50.4777,lng:12.3649},"82e96f260a764568966839db344ee4b9bb488051af5f550194ec77f86aec0546":{lat:50.4777,lng:12.3649},"830fb2c19d356ce7e9402e5c1e7921039afa1f90578f4ae113570aec3b2e525c":{lat:50.4777,lng:12.3649},"8315ccec239fea6dc666a04ed0dd1a678f6eb8f342f95e4bad403d0012dc4da3":{lat:60.1719,lng:24.9347},"8319abfe7ab4f87efadc545b700ab258b4892441a0b9ecfafa1aaa7ff22da5b3":{lat:50.4777,lng:12.3649},"83379d4452161bf5089d2008d596c1e877d1a6ba645ff24ce8c4b64780d3a92b":{lat:50.4777,lng:12.3649},"8343b05719d15843562249b0ad99f85391fb142ec7c449d383ac05477970d569":{lat:60.1719,lng:24.9347},"83497013165bca39ef168cd33256554aadfccaefc46e2606a094d3eb477b96ec":{lat:50.4777,lng:12.3649},"834b29436e7e2d43476de132f06e428c1a11b67f0731c30ee115a834607e29a2":{lat:60.1719,lng:24.9347},"837c4a20546ddc3c0c7de770be0c8b63c5d83983b9d15808885e251acfd9c936":{lat:50.4777,lng:12.3649},"83812b0567046f5807d0601690a90cf86916e39f498183d87ac0b87fd4081fe6":{lat:50.4777,lng:12.3649},"839269f34547bdeb25aa5d26bae57e67d20d4e3751161c32d4a98d4cab82c184":{lat:45.2496,lng:-75.9181},"8393ab4116053468fefa6d93a80efd569d15c9eda2412e7999ebc840f7f2e626":{lat:60.1719,lng:24.9347},"83a07d92382def694a2b3b3ccf11eca9505b1735955664390b8f4ff4514e3b1a":{lat:50.4777,lng:12.3649},"83c6e35ac4f60441b3c1af4f3780995535587d7fbbe6094615281c0212419a11":{lat:60.1719,lng:24.9347},"83d30c4a33ba51e030a09a4b5f4de2921af6815d9cf5039b5fa9482bc126300d":{lat:50.4777,lng:12.3649},"83ebe117f151b787e224526cf47e5b2e08984308c1f8f87e5cb72fae94d378bf":{lat:50.4777,lng:12.3649},"840ab045ea7007c37252bd9119b6b6fef8582ba28ec705768a08307a5262463e":{lat:60.1719,lng:24.9347},"840afb36cdfaa2d4aa4b7360d77a1713b9550738e4780bf47dc91d09a0e497e4":{lat:50.4777,lng:12.3649},"840b44ef49e6f68af9f80563bf5956a33380567af24229a8abee80f9fcbbd99c":{lat:48.9742,lng:8.1851},"842785365e7c1a94e1fb79e7d66533586d42e950d0145294c3924179577aa6ac":{lat:50.4777,lng:12.3649},"8439f1be3792efd5e49c8e23bbd2c9009ad8c324a4539fe5b2f516f8112f3f58":{lat:60.1719,lng:24.9347},"8447aebb23803e1dd2d3dfb66889f6b4facfdb2a4f21cbff37cf54be5e857923":{lat:60.1719,lng:24.9347},"844d77c0110ab4e2f5006b55e655e49fd4333f305e4fe12b55e7897040470198":{lat:50.4777,lng:12.3649},"845f43fbbf27f45c1a2ecb30e39d2a29c36c1b374c58774ec846501f30733c24":{lat:50.4777,lng:12.3649},"84758fba4c9e174a4a8df89113cb33b5621efe8a8d942b21f9b2a8e3885181ca":{lat:50.4777,lng:12.3649},"848cef1e876c29074c19e2f39b6088e7442e4ced35c285095ceab8d7aca1430e":{lat:50.4777,lng:12.3649},"849c8ff4e0f2acb555a25a223384bae9a415687875b0069fe1f28f9415976810":{lat:60.1719,lng:24.9347},"84a9f88a3df9f713b4d43a23f6f7e8999643cb81849bd7d526e37faf1b1e5416":{lat:50.4777,lng:12.3649},"84c5ad266613701904d687600776901fecb54f3d237df6242bc6e9765eafe943":{lat:50.4777,lng:12.3649},"84dd72496b7646249ef733039acde3b021f43b3860a057cbf803e5a9479b3c31":{lat:60.1719,lng:24.9347},"84e0a348dfe6a9d355eaa3e5c7b39a1b9b9d7df013142a5b3c6d33d718ae7510":{lat:50.4777,lng:12.3649},"8504db9e9c1d521711f1701cedc3fc2607de1b45b1a55bc444544d67b8291229":{lat:60.1719,lng:24.9347},"851525f24f90b6ad336298490427401f682cbf6a3040a1bd826609c52c4ed1f7":{lat:50.4777,lng:12.3649},"851cf8a391a2dbffd326c97f687f6cfff5c018673afaf94f4366cef007520843":{lat:60.1719,lng:24.9347},"8526fa5c7fee50cd6dea95eea378df366c5006b892dff1d27d0bb292c1f5e9b7":{lat:0,lng:0},"8538e7aaf78b8a12787fef51c42682eb0984e8ef9bc98afe02658b52029f9095":{lat:50.4777,lng:12.3649},"854217d39ed854c49f3703d2b6caa2f2fa4aa2c9c12d6af96728a4ee991ba010":{lat:50.4777,lng:12.3649},"8544642c7a3a1d9b583314ef93f7f882e32231de17e514e1cd94e4be856a8083":{lat:60.1719,lng:24.9347},"857c2d500d908287fdfb245ac51d06144f7bf7e9a26c366f355cba3b1b409b81":{lat:50.4777,lng:12.3649},"857fe272401608e0611438b0bdf0698b1e3eb2d8bffbbb558834e5da7d2add03":{lat:50.4777,lng:12.3649},"85949bd30757df48acd0c2320a1da78fc1e9cc8e7e90b0522e1b4e5717716f3b":{lat:50.4777,lng:12.3649},"85a3aac3cc2fe8058d59a6529392d2c685ca5cc7fa0e1934bb74efe9f0932054":{lat:60.1719,lng:24.9347},"85a502051565c511fc6690d3a34da68aed17af3b567e552a9eb30b9494e015a7":{lat:50.4777,lng:12.3649},"85c497de94494f98eb7af1c381a88ff79398500f8e832fb9f5513d450d8ce1e9":{lat:50.4777,lng:12.3649},"85cc2fc515a4f973f7ff5605730a4c1b45793697da09f1733dffe6841e960a3b":{lat:60.1719,lng:24.9347},"85d09ca80183949ebdbb4755661116191f0035f1e5afb1ba5a6801710bcd392d":{lat:1.2872,lng:103.8507},"85f0f5c7cbd33beffed854704471bbc17fbaefd2cf84c77d8a572accf97c98cc":{lat:50.4777,lng:12.3649},"860b29b67484ca09854dad2ad59c235643dcd0e4bb24c21a095ee52ecfb2efa1":{lat:50.4777,lng:12.3649},"860b4f84f80ca9233a7adc388b27d3c7353577fcc15c8c6a00dab1c438720891":{lat:60.1719,lng:24.9347},"862dcc12ff646ff8a398fece23ba3f74be48e2178fc868207ea0e58780ee2caf":{lat:50.4777,lng:12.3649},"86309629c7c9f97ce5bc258d4525e180640f36f117bfba04bf359879b92863a2":{lat:50.4777,lng:12.3649},"86398f38913769c66f27dae40cee0510214c7dedfe8d7ad9019f84d4c60378f9":{lat:60.1719,lng:24.9347},"865154e40ddb3ba3f64defed8c1e6bdce4072c732395190e63392e6d70b8879b":{lat:52.52,lng:13.405},"865ee7ecd6a0138a11fbcdb8ef458c4a9e31fe9b6670c8b481f5439e3d3d7189":{lat:50.4777,lng:12.3649},"866b8b114439607a09b8cf09114f3265df65148cd7b513564188d462a8994fa7":{lat:50.4777,lng:12.3649},"868228705e47db9482b1d730935885c65690dfcd8c9832ce540b20efb7cfbcae":{lat:60.1719,lng:24.9347},"868f5f424a3610b34ba4c2e39d2547316a6ce8085a73c47c94efe7cdea9438f4":{lat:50.4777,lng:12.3649},"86a4d66241afb127b1aa0558f582410987f6670bf231ae904f723cedebf4b1f9":{lat:50.4777,lng:12.3649},"86d50ffe285f23d0c2abe1623baf5f4c74127a0d44da97ebda7fbf021f0c6bec":{lat:60.1719,lng:24.9347},"86df5c311def455761b125d375c614ab56f4cb65dac8b8438d021dc033c6d4c8":{lat:50.4777,lng:12.3649},"86fe29fd9a19795601bd50972a2209cb897ef89362b3ad4c41a387c7a3e92f91":{lat:50.4777,lng:12.3649},"871d2725ebe77b6675046c4952908eeb0541264d780ceb99bb39954f56997939":{lat:50.4777,lng:12.3649},"871e8d836782c0517f02202ca1d41ea8c52ec870e46c2629c3dfb630341f8bfa":{lat:50.4777,lng:12.3649},"871f728da7cf4f3552649f37216a750d8ce00ac7cc39ce7055894f70323e072b":{lat:60.1719,lng:24.9347},"8729b3d02a8c8f7ed64db1bedfb18437b471848464806502743111cb278abc52":{lat:50.4777,lng:12.3649},"8742ae4fd067f2c28024cf24ba48fd0ba16d9010197d602cd2f5ccfb659aff51":{lat:60.1719,lng:24.9347},"87441a045ee2a54a41e92ba88f0286885fc06642f609b655ed9b891397148c1c":{lat:50.4777,lng:12.3649},"875a6b1e3ff29aa8c2d25a7e86c0e158797958418c7e57d0c51a1de0a7ebf8f1":{lat:60.1719,lng:24.9347},"877f113f2c98a7cfd69447425768b30fa51f54bb06e528ecf62e58f2fa6a439a":{lat:50.4777,lng:12.3649},"87806f51b15d56c08f7277e51fc33dc3dbe3a4b57f3ce2ad40391a8d48caa6d0":{lat:60.1719,lng:24.9347},"8799d1c3ed56ddda918d66e42521b5c7ddcce5583d43e970c126bdeb788d5160":{lat:50.4777,lng:12.3649},"87bc1ccc88abd28b065503e86c591ebec0c420dcc07c944b8ddeae87caccc590":{lat:50.4777,lng:12.3649},"87cd7e0a9923e8b43f3f15781ccb28cbbfc561291a763d1ca15d28f8bbd8598f":{lat:50.4777,lng:12.3649},"87d6c1386c43f2c6f0dd87f9d29a71148ef4e6d3c67d03e33a67e0bbe1ebdfd9":{lat:60.1719,lng:24.9347},"87f8f09d4fa508fdf6f9488b4fc4ff04c13fd29442c6851f943469dd953fe418":{lat:50.4777,lng:12.3649},"880476b159258ecce2f67bc2563d0d24815177633f100a3b5991d7680ce00ae7":{lat:60.1719,lng:24.9347},"8818402bcc2838b223a8dde0b1a16f1ff98af116b58184295f9a106e86d5034a":{lat:60.1719,lng:24.9347},"881c2f023c533cf3b4e2e350827a6703141bf567f897f30c95227ede766237e0":{lat:50.4777,lng:12.3649},"882994e1f33aab195418b7db6354ae1ad4b5e3a25906995abac1cfc3667f86ee":{lat:50.4777,lng:12.3649},"883254bbcc81e09e6d83bd875ca9d5c0917be974559099ab5b73c48c6d06533c":{lat:50.4777,lng:12.3649},"8837afe88ff26c794eb6c82deba4af89b41abfd8259d1e3e17e6099a02b98e6a":{lat:45.2496,lng:-75.9181},"885058f34adcff0e35593dac5d62af09fe0ec48a12a92317c3305dfc1fefb7b9":{lat:60.1719,lng:24.9347},"8850980eaf00f4cf738c4bdf385b0476f6bf716197660394129c3b1f72e12315":{lat:50.4777,lng:12.3649},"8877fe362275c6c27c25edd00faf9f934689d1c2db37783b7dab2636860613bb":{lat:50.4777,lng:12.3649},"889c6a616098057f1c3198937311fe9fc1232066558094750cfcb53173fdfe19":{lat:50.4777,lng:12.3649},"88b9c30f304441982f613b90a29f068c06d0b1cd6d8f89906e6a8953eaca3081":{lat:60.1719,lng:24.9347},"88ba13a281444265b87c54409dd023ed3aabfb98058d759b5fb2649cbca55764":{lat:50.4777,lng:12.3649},"88c041a61cefe4a66d3ce6dca55737640bf9f7915fe205cc477b15640a0d8968":{lat:60.1719,lng:24.9347},"88daa6978994534afa036822b56be54217e1fdd7d9d1c5240c5260e6b04fbc94":{lat:50.4777,lng:12.3649},"88e9aceb29da521e85842e4284a47354fec1241d2e0781e4960c11dd6966d38e":{lat:50.4777,lng:12.3649},"8901922948b24a08ea9f0917d54bbd77be8faa1622df030324a9dae2a6de67dd":{lat:60.1719,lng:24.9347},"89045b9987fdc3c0453d33721357ab16dc827e94e9bde219928c3fb7e591922a":{lat:50.4777,lng:12.3649},"8923933d4d6f2b56ad32aea8ace8bbfc903da8c4b8301dd9b86a20d7c3afd3e6":{lat:50.4777,lng:12.3649},"892cfce5e89e0578428e45cb6d72e84ab62c4eb53c2e77f611afba5764bf9ad8":{lat:60.1719,lng:24.9347},"89500f1cbfeed68f805ded272114bb9a27e20fd0fe094072f0d1f1a1f84653b4":{lat:50.4777,lng:12.3649},"89673e6355dade2fd032e4d15b366d9a18714e06c0540bfe5e54a657c4550126":{lat:60.1719,lng:24.9347},"896ce4f55998350b207cc80772295703eb8f648cebabe162d91016657b18c18d":{lat:50.4777,lng:12.3649},"897668c0065ee80cbc57ad806bceb4fa2acc62f717e6befff86a8fd99b37673d":{lat:50.4777,lng:12.3649},"898d632f3997d1c43d6d1565a40ba4860b296625b4ebdee1e5d12003c69f92cf":{lat:50.4777,lng:12.3649},"8990e5aa2e92a8d599fd33aabe89cf43a29d50906972f7e2f25f437cd51d5e8e":{lat:60.1719,lng:24.9347},"89b58924a59b29d00637a16277d8593e0723da4be60293cd31716967eb6711e5":{lat:50.4777,lng:12.3649},"89c4714f3766d3e5c026d056d603c90d1bcf72d55751562b0532b582ba801ef9":{lat:50.4777,lng:12.3649},"89d1928f94d8843d058fed69abc1af29d589be8b1e51f7d8fcd98fe88f0e70e2":{lat:60.1719,lng:24.9347},"89e716d67a391a1a2a8dc107d3bbefbf6e3c0631703b7dfc5ceea5d7376f3f56":{lat:50.4777,lng:12.3649},"8a05c3de10bb67d5dc54a721a93f1414cfc0bf7717f09538f23f38f49527f15e":{lat:50.4777,lng:12.3649},"8a06f98a9628bb898bae989fadc3549ab0e2221a6a215cc9d950bcd297c2b294":{lat:52.52,lng:13.405},"8a3fcd7adf10de3e03893a9c218c19611c98c03d5f393931078700a158b3152b":{lat:50.4777,lng:12.3649},"8a45c057871ef51f19e6920955aa0240294b59219ba5860b2a12b83a77337986":{lat:50.4777,lng:12.3649},"8a4a0592bee24f4257312237cca95166dafcbbe34249d0d7a38ced09466e086c":{lat:60.1719,lng:24.9347},"8a5a31739e89dff7f9473a8b97dcf8f4f839fa6aa2cd185f78e5f5b6bd465b70":{lat:60.1719,lng:24.9347},"8a69d29dc5178a04d0df7b2c7d1a77fbdcbd78419f57a95eee70f7619a06bf30":{lat:50.4777,lng:12.3649},"8a769b42687e8400f3faad5ea8ca3c1c2d3e40bd2231183ffb6e3a75e99f66b0":{lat:50.4777,lng:12.3649},"8a8785f43ab3a56eff15dcddf7c1d0036a738d5c6c3c04dc6106783c72eac90d":{lat:60.1719,lng:24.9347},"8a988c83f9e997983d565e717d9993ff723a739b04e49420c840d1a8de18341b":{lat:50.4777,lng:12.3649},"8ab17d8024714d6545c59046ab489dc3ed99242e9cd91f48fced811ea20266c7":{lat:50.4777,lng:12.3649},"8ac2a550855a12e75dfec64569fbd9d103cf8dd2dc01fbf63e52b434b1b0eee5":{lat:60.1719,lng:24.9347},"8ad735ac3f59072723239004e9caae19b51e7764b6dc851d2179a8dabdb0772e":{lat:50.4777,lng:12.3649},"8ae33f91983a7131c1d8dfba06f1407250df1c142b02cdf0ae1fd499f0243f3d":{lat:0,lng:0},"8afd4d41e47b42e3c7a41401da24b2f1bb08be39b6903cfa867f470551a71fc3":{lat:50.4777,lng:12.3649},"8b03e460cdc359d1c194a9ba491aa281b8d5e07dfec65af9ac19c2f0175d1f02":{lat:60.1719,lng:24.9347},"8b0cfc343437193b246d7967f88a1fb1304ceb633ae2cd1fdd10b790905a2133":{lat:60.1719,lng:24.9347},"8b11759fa9c6b71de8916655aabc5b5d0b397627831a06712b4c01989e53d507":{lat:50.4777,lng:12.3649},"8b37a9b7ccbbe0a8c53f4638efd32e914c14c88c4eaa82effca889f85840739a":{lat:50.4777,lng:12.3649},"8b442aed51b3b58327c09a6c4da8cd91db14bf92cd736e9aa0c72bed61bed79a":{lat:50.4777,lng:12.3649},"8b5eae8f5fb2a346e65af33ee139b231f70857c19344e6f478ce225e3cb01bd6":{lat:50.4777,lng:12.3649},"8b620131a55be276517131d2568ffe27550c4e68a80e0535d615303aaf64ae97":{lat:50.4777,lng:12.3649},"8b6a2e87cc1d6b5cec70107433e91694b61191a805c1516d0956c852f549b578":{lat:60.1719,lng:24.9347},"8b98ea415831123168a002fa6137924eca23fbddf419ab2c7cc2e8a4fef21711":{lat:50.4777,lng:12.3649},"8ba5a2618bb84dd5a2fd6622b227f06bdf1530d70d2d49037a68c037679e118c":{lat:50.4777,lng:12.3649},"8bab0785ae0e10331cc01e1729ca0fb384bbd70eb5e8878c7ccba5bb6f6a796b":{lat:52.52,lng:13.405},"8bc254758fa8d7eefc3a3fc2df0cfef12fd89af5b30253a91223b723601a4e24":{lat:50.4777,lng:12.3649},"8bd5f47866a667690545e027763eee23da30fa6c9e1119c70001c382dddf8921":{lat:60.1719,lng:24.9347},"8bff6377d47ff7e027e0c9825c566ff2e43ba14766df798f83274bde9f2d648d":{lat:50.4777,lng:12.3649},"8c058c6ed8c160cc0a685b8c23a16b6d135f32b4f9b3e445588f265590c213ce":{lat:50.4777,lng:12.3649},"8c2715bfc5dc5433698f0504b590832b389c2179029824b365c8ddf82b5a9783":{lat:60.1719,lng:24.9347},"8c3ba2406d0db9b89793d40eb190137bbfafcb6980a122ac8f0a6bef950fa060":{lat:50.4777,lng:12.3649},"8c4c1fabdf8d1ea580fd31ec981d19c9a969fbb111e33afc826ecfd8ab622487":{lat:60.1719,lng:24.9347},"8c52d3d381b8dbb1b2f46bf2b51bace3d46c725b58cbf6e4d0658cfb87d704f6":{lat:48.9742,lng:8.1851},"8c5c86aebedb880ae04e1c00c6395fb5650cf440d7eda47b82edeef146d82d50":{lat:50.4777,lng:12.3649},"8c6ba034e8046372bd2ee9b9aa847323645931ec8969c70cec5fcef8132917b5":{lat:60.1719,lng:24.9347},"8c76033b4cd7235cfe2bb2b73db4b0bd777a4fca5ba184e7cfc0dedcd6b79a77":{lat:60.1719,lng:24.9347},"8c79573a1fd12dbc17209d47fbc5b799fd28f2232f2b86785d84ba2619e24192":{lat:50.4777,lng:12.3649},"8c8705abd830ede3a262feceb8a8858cef85a9daea08d0a045b1e470ae6bd60d":{lat:60.1719,lng:24.9347},"8c9fa3d5b1868b06a5afc85680674d846df48fb37fa401bdcb2e857d169aa7e2":{lat:50.4777,lng:12.3649},"8ca9d577d8c6d9f27c56652eb8cc8e51fd02f25b0ba383983caa67ea6134d520":{lat:50.4777,lng:12.3649},"8cd625923da90d3b4a842a533e599416f47e5c1a926c9be00bdc533fe083e3d1":{lat:50.4777,lng:12.3649},"8cee211b963e5f8644122952c30a7695e509ebb3513dde57a256bdb7a60d28ea":{lat:60.1719,lng:24.9347},"8cf539c7f27408d74271915fb9517b555b276853d36c0a9354a69a96342104a1":{lat:50.4777,lng:12.3649},"8d1302cd5950a77853d1cbf0019d857dd901531490b2c6fbc5abf1a755ea963f":{lat:60.1719,lng:24.9347},"8d1a719e9c1502a596ddb23303678d66a230e4c9bc93ceed3ef72f4aba52c3b1":{lat:50.4777,lng:12.3649},"8d2e0094f6dc709c1348dab7b61cd454df349a4398c2870c93532ebf8e20fbc7":{lat:60.1719,lng:24.9347},"8d34c9064a3ea814df055038a0c6a11eef14684bf222c1d53482296daa787736":{lat:50.4777,lng:12.3649},"8d398c6fc9b408326c56f659a2c09e838e5166db91d9437c250c20581e028fb6":{lat:52.52,lng:13.405},"8d5a1f7ea79effc47ee56411b070f0d8ff39d98305af2214f81c1fb4b1fe6154":{lat:50.4777,lng:12.3649},"8d6b979ab48b2e8edab7175a3eb5d43664038e7628c344e16b0b6c21e24b2cdd":{lat:52.52,lng:13.405},"8d7cbae0fb077c1cded6aba07bdf611577db08eb08283fed1aff66613555d10f":{lat:50.4777,lng:12.3649},"8d9651ffada24c3707a238c86b8612eb0c5bad80cb83a8dd55ff41e050f9b5d0":{lat:50.4777,lng:12.3649},"8da16c2452fb515134bc28be5ca445bcae5684b0f4a98f1907182d4f72b726f2":{lat:60.1719,lng:24.9347},"8da553a45ad54337879d11e06a39aee55f6e4429606666f7f6f943da8f36019b":{lat:50.4777,lng:12.3649},"8dc740163b2c6f9ee6ad89a912eef9dd5c19c7821fded848e8f60ebe3ce71ac7":{lat:60.1719,lng:24.9347},"8dc7e174e46df035882e05b465d69f27a4a3e9529b3d34b73c07aea602f72e32":{lat:50.4777,lng:12.3649},"8def99c8f221b83d09536f8fdd3a37d3166de469c325a0c6f9d782daa34617a3":{lat:50.4777,lng:12.3649},"8e0d8f1b15bae5983b93d00a08be7776ce751ed1161b8469f46fa462a67280ec":{lat:60.1719,lng:24.9347},"8e0f35ff3ab31c7adf7c4c279eef9de451786f0ec789b604aa909f65e240af5e":{lat:50.4777,lng:12.3649},"8e1198219d746157664463d7c279f88040e97bfbd9940b5a944a768f553afdd1":{lat:50.4777,lng:12.3649},"8e145e3cbf7ce22c61004d6b55bbc80462b82db3d19cd20112e95b0602c70088":{lat:60.1719,lng:24.9347},"8e2d736d82a07cdac6021aec715f84573011fdd24de7da54535a25b347884d09":{lat:60.1719,lng:24.9347},"8e3922d425c85013ad5770053ffbba17b9de3abb2c97c8b0edf56204cbf10d67":{lat:50.4777,lng:12.3649},"8e58edee2dff895df2163c9ab3ab03fb7b6db162934fdfe4d0dcbfa4f7db5252":{lat:50.4777,lng:12.3649},"8e6464b96ebd758d179d6e5ce5991f9c1a992170b3c575ea72d95280a1e1b145":{lat:60.1719,lng:24.9347},"8e73f21b67ce2b7b2657b80c484eb011bb3f89e474beccf47f42d2fd5831b7cb":{lat:50.4777,lng:12.3649},"8e8af4fd87fa9afcccb6ebcdb2d05194f46d6b01e9f90766196b1922e6362d2d":{lat:50.4777,lng:12.3649},"8e9fdd4bad2759fb38ca0d912be11792919e80385c144d2c8d9446be0f8928f7":{lat:52.52,lng:13.405},"8ebd48170d235b75f6a499b4c5899a1b06790df52faf1cc8f90df60304f37a1c":{lat:50.4777,lng:12.3649},"8ec54fd7777607312dd73f8ac95ab534e00779eeb10222e65895820d6a7bb5cb":{lat:50.4777,lng:12.3649},"8edffdd3f4e94110e94afd4e197e283af8a25237ad19c42b32769602cc3bab26":{lat:52.52,lng:13.405},"8eec25c5b816397d262c6c42bba783e94d2c5da00f3964223c75e5e757f70d10":{lat:50.4777,lng:12.3649},"8f09b88e0d5dac69a7fee109d6611df60faaac9c1a07d5c9ed0bdb8741f4ba5f":{lat:50.4777,lng:12.3649},"8f1275ee84d8f1a9f90289712db51f2c2be62e5b763ceb9bb63281d08b900be4":{lat:60.1719,lng:24.9347},"8f2ebf1cba331d7276d7453957b1b1f9484a633e46427b50bbac81b13601ecaf":{lat:50.4777,lng:12.3649},"8f325c83ebd72b0d0ece4391e908dfd761bf933d2cb62daa49d9a5bcfa26f9fc":{lat:60.1719,lng:24.9347},"8f40d7149e517d2e8477f4fc04d7ff880e056466190e6246c386ca15e511f598":{lat:50.4777,lng:12.3649},"8f5c8eacba9bff30657d0c337855d3a3c9ddf29856fb9a3db56a45d5f523b511":{lat:60.1719,lng:24.9347},"8f5fc89c5bfccc0802d39a5ec059d920fa0f30e36300dd3f6f4a5ab6161fe88a":{lat:60.1719,lng:24.9347},"8f6e3b4f658614d6136461e160e47ef523affa5e4437a2334405364a4e2cbe49":{lat:50.4777,lng:12.3649},"8f9bf56c9090a84fb78b06841fa573cf3075806f227f15f1610131d2e4452283":{lat:50.4777,lng:12.3649},"8fb391874d1b295f9f8d26aafd191ffce0503b1f49b15be79cf83f6dff507042":{lat:50.4777,lng:12.3649},"8fb7969d2c3823c0ea6edcef9825382b4cb9a97f69acb5803cb2e0e319bd7cd0":{lat:60.1719,lng:24.9347},"8fca35c4b1fb9439c6023df4918e834ea1a2587f10762739ac0a7c8e0d93712f":{lat:50.4777,lng:12.3649},"8fef2ba84279ad009133d0dd0ce3d8fd6127f03db439336d600249b98387fdc3":{lat:52.52,lng:13.405},"8ff3253a8a65b2c2243c9e8c5dc9027af871a6853559a0537a4ad74e13be0adc":{lat:50.4777,lng:12.3649},"9002fc7a32095cd9fa88b13fb315b4228723c36ff4299b99d54aa1eeb1982ef0":{lat:50.4777,lng:12.3649},"901e55afa67a95c6f2043d569ab40fb9ac4c32282f3b0c7f0fd3f27b1dbfcc7e":{lat:60.1719,lng:24.9347},"902b0ba6909b1848071b7248479d101f1e4d932247d95aea992a03cd670e9c99":{lat:60.1719,lng:24.9347},"90369f48cc7d5dba73450da6f36a3c5b0e64aa313c60b3f5db0f2afef0011a62":{lat:50.4777,lng:12.3649},"90426815f926931d0bc4be877aaf531983cd3de921a6f141d4cef13d0e0bb9e9":{lat:50.4777,lng:12.3649},"904fa8e0be0b1fb167fedeb69f825bc39aa53046c4fa9a77f40c9abab10a37b6":{lat:52.52,lng:13.405},"9054f5a0f8426dc8e65f8f619d3e0e97c8a1549f802e6509057967ef07221d97":{lat:60.1719,lng:24.9347},"9079d8d3c3c7b5d0103b93e4ddc08ea1ffb72f3434ae63b125b1655befcae400":{lat:50.4777,lng:12.3649},"9083508b109bde48b9ce9c59652895bf930a06509d97f7a5c778ef19f7e89bda":{lat:60.1719,lng:24.9347},"9088786994dfb5d7b0c8f55f2b7c73fbe67087f4c93d8c459016eef4b82e4cb2":{lat:50.4777,lng:12.3649},"90bc0cc221a7cacee7b5808a4e84424f9e54d1b7ea9b1281c382f7078856fcc0":{lat:50.4777,lng:12.3649},"90bec0ae10644afe1f49257fea5d22cab31cb6cdb95e2be5537f7ebf9f3184bf":{lat:50.4777,lng:12.3649},"90c8ab0504ee2ef81dbe97056dcd77570c75ec517bd228d58e54202c17405e53":{lat:50.4777,lng:12.3649},"90e1a4154d2605da6d8375a568fe1a56409561caa5b90f59d24ea3bb22375960":{lat:50.4777,lng:12.3649},"90f2a0c33c61713f563560618fc5ea4e67a4b6247e1c1de5a2a55f18c18831a2":{lat:60.1719,lng:24.9347},"91043239eceacaf716ad543f7dd4e1c3e3264eec54bf0d77bef9c45f09941b9c":{lat:50.4777,lng:12.3649},"912e49cba85a789bb91f0223135dcc37fd712cd598f9d82327fc6887ecd50eff":{lat:50.4777,lng:12.3649},"9134500be1b49a8fd8bcd525279dea4624e55604813c758253a8f9cccc85fa60":{lat:52.52,lng:13.405},"913897a7a52c2964898149b8ea5cb688a7ba77b5a761e9dc731b222c79479d77":{lat:60.1719,lng:24.9347},"91431fed657b0c46c4e459c0c908fbfadbf3d74b5a07a552cf08c64a6e26cf49":{lat:60.1719,lng:24.9347},"914f147c88c433939dd85aa722e1a68dcc46b158f869c0c75f649b183f92fefe":{lat:50.4777,lng:12.3649},"91517272c37083c0683eebc95e00b9369dcb3219824edb99bddc144afe5a2eee":{lat:60.1719,lng:24.9347},"91627a6b9830535170cd1a997abb67704a8f9029b4cdc5e2daadd498e6bb5be4":{lat:50.4777,lng:12.3649},"91961a5460156a69af6510ce0d42d3e2fddc9503bec5b799c68d22b6525b4e1f":{lat:50.4777,lng:12.3649},"91a382b4ef6b4161dbe804adf4730e30698656913d01e23e49446931c91cfd42":{lat:50.4777,lng:12.3649},"91bbcbc151f4a54de9ba5b4a4da26ab57384d5b7a021e25c280851b60f257f48":{lat:60.1719,lng:24.9347},"91cd74d331d30da5e9435c8a356e1d4e3775a88546b563a225eb5d244145a441":{lat:50.4777,lng:12.3649},"91d6d8047d527d1bccc7700e2468b93867e25ba8387123eeb1b555359b5087cd":{lat:60.1719,lng:24.9347},"91f0b69a7dcbd227893e747e6d13dff6526b0dbe4232dd4999e53d911458a9da":{lat:50.4777,lng:12.3649},"921cf6f4e6ea5c067d239fc04cd18e816e773bc7ecac7b0373f1b8d699c3ad3e":{lat:50.4777,lng:12.3649},"922701cef942b007789a58a75cc49df26c65394ad69f64b3926d6848401c63ab":{lat:52.52,lng:13.405},"922eaa02e7e7a4b58a6052124fe3f1c8afb7796ef26ddbdf2b9b280811696fd1":{lat:60.1719,lng:24.9347},"9230fa761ecdd6ad461dda8d9b5b6a05eb1859a919dbbb1c92d6e328fa3575b4":{lat:50.4777,lng:12.3649},"923c47b117c849550a962caf545d8f46ad55c4e1cf949fe8b0b6330997e32ad4":{lat:60.1719,lng:24.9347},"9244973b0dcca196e8abae6779d5379cf7da43a4b464cb830612aa581f895c4c":{lat:60.1719,lng:24.9347},"925474fe1aa1acc21a7445b643ef449add67db8e08199dfac67669c0e961e36b":{lat:50.4777,lng:12.3649},"9271dc71fb9eae1776c9e64aa4578f5d19655c43c31250e8a98939be52b6902f":{lat:60.1719,lng:24.9347},"927ab0c60cf55afceda014798002a371c73adfb2e39dccf683088c8189f56112":{lat:50.4777,lng:12.3649},"92826513c6d7fd2d32a8400eaa7e92c7b764ebc802a906bc9126dcb6d23aa070":{lat:50.4777,lng:12.3649},"92b95451d1eb3060753abe51c3ad838e9c90c489420bcc8056234d074698f341":{lat:52.52,lng:13.405},"92bc4a5352dbe68ebac04641849876b227574340ad26e72561499ff1d8d56b80":{lat:50.4777,lng:12.3649},"92daaa2d7680b75f845c33cc3d4920c4ab278edd1bb31148b91e1eb821b8b058":{lat:50.4777,lng:12.3649},"92e9d9a3efa3e6aa897bc3a55afd6448e766bc02d6f973e8f449315257004d9c":{lat:60.1719,lng:24.9347},"92ee8c3f9aca9f479f53c9f6ff0cfa88eb3f1e1bb1993976545f8471cf3734b2":{lat:50.4777,lng:12.3649},"9305e31906ebe458bd8b8393bd31b091361d6be4a4e6cdd1f5b78da3182bd676":{lat:60.1719,lng:24.9347},"931a12d19b3eb037160be60e76e661a8e5d85412be331de473d47f5ca5fc07be":{lat:50.4777,lng:12.3649},"9323bcef93c52e1aad461e8c8b140741afef97d3664ebb1b9f5cbaf0cd1ac48e":{lat:60.1719,lng:24.9347},"932b6e8dc06416c95f22122433b63e77201f5fb8ca7ccb0f22d7ae72b0601de7":{lat:60.1719,lng:24.9347},"933df9c7c5522dcb618c2c531902c5d7357ca9bd16a76315fcf81b31e68097ed":{lat:50.4777,lng:12.3649},"9350ff1d188a70da699b8cc8baac4294039d1047c8d9aab91e9812feb81095c3":{lat:52.52,lng:13.405},"935b60964858f57b21b0923275591f63592b1389aabd1d13bdfef789280aedf1":{lat:50.4777,lng:12.3649},"936bd484e1f1a6269c32e78078565a940e2539b23e4ef5a1322bc6c20272b4cd":{lat:50.4777,lng:12.3649},"938fac739d8bbe72fa243aecebeac034a318f226f8ff81c9a8e80c717da880d1":{lat:60.1719,lng:24.9347},"93928c449d7d6e248cb89e0769a25c980d54e51c96d9f07a21a700f501418fac":{lat:50.4777,lng:12.3649},"93b5606cb20a943d8fc4573d9a0a4ce2a0a4bc52c71b337c451cef3fe53c36fb":{lat:50.4777,lng:12.3649},"93d2f1e66964b59faf0a9c49435c7437aed89c2db3f216e6f47b1d8969212c5c":{lat:50.4777,lng:12.3649},"93e8d61fe8d4c9ab81066048287ca670761a36f9354dbaff8834301154fd1e2b":{lat:50.4777,lng:12.3649},"93eb43b6eaee05f73778ae141de6ba72d63601b6445f843b14dc6e6ad2401373":{lat:52.52,lng:13.405},"94085d1cd13219c6b7d0dedbd81ed4fb63772d6434329b24625a9f02cead4beb":{lat:60.1719,lng:24.9347},"94150da0e647987bb12aab7caccdd6bfe2560cdb22e18a66856a53289379819e":{lat:50.4777,lng:12.3649},"9429f32defaf0929bd5b27d592afc3c91e17b5099ffca1454d67a46aa57bbd29":{lat:60.1719,lng:24.9347},"942f5af2efa209af75f9743b72a5df3991c125d265b34e7c8e078293feb8c3eb":{lat:48.9742,lng:8.1851},"9437ae3b34a6bb31d75364c6ed7f932194a81cdd96a8ab87b8fe5729fa95afe9":{lat:50.4777,lng:12.3649},"945a1a3d4b22da0b889e3ed53b6e8d183e28921193606fecd13b3fd301af6d8e":{lat:60.1719,lng:24.9347},"945f25be93f8c16223d32f8d8592fe0f6de65bf10d0dcd65decbc31394df4789":{lat:50.4777,lng:12.3649},"9463b36fe039720488d1269c41bbcd7e5971bd71da397b89e739b8c9de7ff940":{lat:50.4777,lng:12.3649},"947074938f4a48ea07c073f60b5101ac3937002f677ef9149a8da8f706b05696":{lat:60.1719,lng:24.9347},"9489f23518363456ec60701dc7c164fa888b3ff0dcd7135e81f5c4f7f593fc90":{lat:50.4777,lng:12.3649},"949d63972f50029898b91f9f2d1d7789cfa81b46a35bc81add974e1e3fd0e8c3":{lat:60.1719,lng:24.9347},"94b1ac2d4b8f03316bd08e86ae41db02144b93a8507d20ad833d2d78635ca6bf":{lat:50.4777,lng:12.3649},"94bc29dc1003077befa2dff44bf628584ec7a314b6ba0e5120b6077919d0cbe5":{lat:50.4777,lng:12.3649},"94c2b123cd89c73717516b541f4578938330dac00428f7d61f16f58fb1a9a557":{lat:50.4777,lng:12.3649},"94ef66257fe62ff213f36b223dcb31cc2a62a086fd95ff57cdead49ab0adec78":{lat:50.4777,lng:12.3649},"94fe6f4e0f1ab01e5a4f61bf36e60ad2c941bc19b57d59b21217d6ced84fc278":{lat:52.52,lng:13.405},"95045ec87c4f75747ec2015fbd14803f7e614bf8b0bf9abdc05aed16fad1d25d":{lat:60.1719,lng:24.9347},"9506d19aab92e827b205533288455af272d54eb349b926f8896491dbf1eb1a32":{lat:50.4777,lng:12.3649},"952d14a1adc04fb3e72a64175192ec9a053dfcbcc57e14266a5c9609703be772":{lat:50.4777,lng:12.3649},"9537deecede17072debae31ab80c48e04b601b8cd29cbaf83b3b90aa0bb94c3c":{lat:60.1719,lng:24.9347},"954325579dfdd5178e426bb0409ac38b8705a63d245d30300f2dcf13a83d6605":{lat:60.1719,lng:24.9347},"955b4ca54eb5776c23a60eba19b32db89167b40b7045118d2a0e78b40f38db58":{lat:50.4777,lng:12.3649},"955cee7c20a7a02f745d606c097ddcd68d20bbdb15595ab9edb0e3ed38aed167":{lat:52.52,lng:13.405},"9560869ec6c63a6032d757614ac8e93f5a7da6449f318de765c8cec682c438cb":{lat:50.4777,lng:12.3649},"9585b7743f7e2cd8b139a1887b1dd3b23236374dabcb7d060b4c75186fdec198":{lat:50.4777,lng:12.3649},"958a0a8918cd48d53f29370814858b6bd6e9285bb170c619f5536e98975c1743":{lat:60.1719,lng:24.9347},"95a6e5f1226c387e30adce372f83c6e9f591ac95c6cc4e15c4d1fdba96dfccbd":{lat:50.4777,lng:12.3649},"95c1ac802769492eb0aa5bc64198e2c5fd48f7e53f69f01f902b9f3041430aad":{lat:60.1719,lng:24.9347},"95ce05d01e76b18db849a3186dbda9a14bf1d73898f5341cb5b090647b04b3d4":{lat:50.4777,lng:12.3649},"95ec4b731ffd387194eee1b8a0e07004196aa8edfa124abe15611ac4c51ec941":{lat:50.4777,lng:12.3649},"96124723a22c1df01a31c2936543c41b22ee3e89d2730f3a3c200416034891ec":{lat:60.1719,lng:24.9347},"961e4ceabc35121fc4f0d64bc20c0574d271bcee38be22fa893cef59fbf45453":{lat:50.4777,lng:12.3649},"962cb902355354dbf533b2b9f7236227b89311196ab0ab43ce466f7c953fe112":{lat:60.1719,lng:24.9347},"962f80e30e260f573d2295716759704992d6b01c509c66a30034af0db23da3fd":{lat:50.4777,lng:12.3649},"9643af455f242e010b4d52be4e50225667591056626ccc0894cc76ebde3b9ffa":{lat:60.1719,lng:24.9347},"965148f6075a10e1b89f5b2d38a75b6babcfe885bbbd362506eb7aeb78fb8c26":{lat:50.4777,lng:12.3649},"9661dec5396a47d107c91e354e8744f1f48f33f8329b538bfcef70e031fc1673":{lat:50.4777,lng:12.3649},"966a679742c71aeffbfc33b71523054b21dab934222855fda79574703099f6c6":{lat:60.1719,lng:24.9347},"968ae7f79590fcdb8f3f0a6f85b6894634d0bf2f647ef51798e188aae8c1d143":{lat:50.4777,lng:12.3649},"969228dddd94a6b86785a27d066d2a5c07dc6680821981199fc6223e677ddeb5":{lat:60.1719,lng:24.9347},"96beed6f3cd9dd954c540ac3618d3abb400add8253ad892928aa32d0b94223b7":{lat:50.4777,lng:12.3649},"96cf5bf01239e4bafdd805a244e2d795fbdabd1be03cab0c1b011c8086c9f1b4":{lat:60.1719,lng:24.9347},"96dba2be31128c4000e41c325d74fba0c5cff51750a2e99962bec3c2ecbb5e20":{lat:50.4777,lng:12.3649},"96e9d78c468a91bad72d08063da15d1c68a372efe8106b79034d5b8dc83d0ed8":{lat:50.4777,lng:12.3649},"9710b7876df2ddc3a58a60c51491edcb2bc59e88f705dcdaeb2f68fc220524ea":{lat:60.1719,lng:24.9347},"97141cced0b06843ee74f73162eb259a45ff25d88ff317fefa10d6f815013989":{lat:50.4777,lng:12.3649},"97164f14e59532ff461a518ebd558aed257b7bb90716dcb6eabeac67dd47660e":{lat:60.1719,lng:24.9347},"9722dbf3ab97023677b98aa3f928af33a3103f7002a9ed94208618eb8b9d85a0":{lat:50.4777,lng:12.3649},"97499dba4a03ba083395b29616541d9e39130ab51fc80fc1f60b7435505578ef":{lat:45.2496,lng:-75.9181},"975a725baec23f13a1573468f90c8046721472ebeca8052e79c08785ac83764a":{lat:50.4777,lng:12.3649},"975d1b28366157f6951de3b678921b4398100364977ae0ff5b81f09bfd05b258":{lat:52.52,lng:13.405},"9762f88e377f7e399b1b786c58ee88dc533c6be4fdb790595c4c9692bbd570dc":{lat:60.1719,lng:24.9347},"976fbfea81d3f701539d62bde5b7abb15f74a2248ecae7c0bf6378415eff0ef5":{lat:50.4777,lng:12.3649},"979b488bb696cccde11c256ad73de1be559dc54504fdacabf149df9df2aa36f4":{lat:50.4777,lng:12.3649},"97a1b945a5c044f16563d564996083cbc37d042374ca054c827795cf6976bbb2":{lat:50.4777,lng:12.3649},"97bf749ff8d043f83b82932130276729e92795b4fa1b3a2a03464b506cd2d6b4":{lat:60.1719,lng:24.9347},"97c9b47a4caea4c2fbd551a7e645612b3043c6cbfd3751c29f8ce7762b1e338c":{lat:50.4777,lng:12.3649},"97df48182a6af62f68b827a070f1518dabfd548ed1dd44bedbb9f76850f479cd":{lat:60.1719,lng:24.9347},"97f8856534a0e623d38bccebb309ae146955ce9617e3df1e43622d15d2d87ac4":{lat:50.4777,lng:12.3649},"9801e154eda031f907f63bb6b62397469f78992c45b3df09c6a13a3b357de5dd":{lat:50.4777,lng:12.3649},"98072ce1f2f0afd5243dc30f183b94a85f0bdaaa8b6aaa86193c42b73b85f813":{lat:60.1719,lng:24.9347},"98236ba71901d91af9c989b3924e1bc3cc49d0baf8a20d6f0bbb627f9d29e2d6":{lat:60.1719,lng:24.9347},"98312269f98e950b5427a778bd3ed3fe7eb0b51e7c405efd212f5e14179c1341":{lat:50.4777,lng:12.3649},"983b92a86223c41600502f0d79e8140d0546fa0d825d185c714e27450c1ae4f5":{lat:60.1719,lng:24.9347},"9851abf8921389f21c8da19cf7705b14243cfe7ce4989e05172dcbd24f551f15":{lat:50.4777,lng:12.3649},"9853b0f63f5d8047e5fa3152252c6cc7f7ded6c37ccb76e233fed7f35e41b49d":{lat:60.1719,lng:24.9347},"98758a4976812e4eccc48f6da09e2bf1b5e5dc61b4b44be91f986688ef9cc98e":{lat:50.4777,lng:12.3649},"988c327fa271da4dc9359c3bfa4068f37f098c95a8fdf045d6b90536c5b3ce9f":{lat:60.1719,lng:24.9347},"98912a5846fb8ce2e43e8f4381a59499723c3e9c761fe7b56659c8e2b1b67f67":{lat:50.4777,lng:12.3649},"98ade126b4dba357209886320de24e4807db52cfc5701e96bad7d600cd23da0a":{lat:50.4777,lng:12.3649},"98c4b96166f8a5a28473cd8f84d2585db51d0794ad726fb53c1ca7b0476ee763":{lat:50.4777,lng:12.3649},"98e8deaec99456c8fb0a61726115b7a5f6e95a9255db2a609b3dea5ec8a92529":{lat:60.1719,lng:24.9347},"98f245ec64dc68f5f22db96040870504a15364d82db7eb8abdad6dbd15753488":{lat:50.4777,lng:12.3649},"9901e9fba1b515f1fa323871faceb7f8835fafd270470f6e96ce2dd23272b002":{lat:52.52,lng:13.405},"990addedf591f309de1aa6d29c76a302a7f5e42a78ade73ef91ec7f45bd4b4af":{lat:50.4777,lng:12.3649},"992bb919d5d679f27ec1794c6a9f81d9be21d6545058776cb1c80e66208bf763":{lat:50.4777,lng:12.3649},"99341ac5a60329b7e8f4c400c37313423dcbc85027ad3481faf2012936526322":{lat:60.1719,lng:24.9347},"994b73e3ad79afdf279c2e5b5c8418b25f23a7506ec38884d9b9fc4a5cf17973":{lat:60.1719,lng:24.9347},"995046f6d3a2ba5db8b045ea16cd36bb419b6627f259b6890cffaa4d6a025675":{lat:50.4777,lng:12.3649},"9964eeea5116ede9bc71b6cc8aebd16c824be707e4bb25ac6f0ac0ead8978824":{lat:60.1719,lng:24.9347},"9973322a21dda00e2d906eef494605e3a7332a3c3a3359b2c55d8952d3ffc429":{lat:50.4777,lng:12.3649},"998444d1f8fa0319da2b09dfd7dbab4e59cf08fbd6c292505f3891630f4c6346":{lat:49.4527,lng:11.0783},"9994444a1fb48a7ca5a5f910fecd5c7de8cce4b78c71a38a5eb324579198fcc9":{lat:52.52,lng:13.405},"999a3b0b846352a41140139d9f173018e085c1ed7fcb3b82dd343e4b8f1e2765":{lat:50.4777,lng:12.3649},"99a316eaea77f0f65b3aa7c78f247908ecc70939ec253f9b5641ee5f009624da":{lat:50.4777,lng:12.3649},"99d5d4c3bec22a298fc85c52f036c7cb4f2208bbf6c049ad67f83b9ccba4b85d":{lat:50.4777,lng:12.3649},"99e3adaea72328f373f83714c325501685111e74bd0cc8c4ce43eb9cd2e60311":{lat:52.52,lng:13.405},"99f3e658085220b0cd2be4aab3c4f810308418289efc052545b796acbe80cb39":{lat:50.4777,lng:12.3649},"9a014473b169efc55c6a36892cfd4be014092bea9b6b00a1ed8b932628221f0d":{lat:60.1719,lng:24.9347},"9a03e89f11e76da6da26567f8a1b70afe1f1003f03640e348cd8fd9014484d78":{lat:60.1719,lng:24.9347},"9a0f29055558dae95bdad57f6190e37299fe2104d251373a438ae1f707a726ee":{lat:50.4777,lng:12.3649},"9a278b9283b4ffc156804c2a84697dd7979a3511fa18c2046a17a1987e1d040e":{lat:50.4777,lng:12.3649},"9a44751e2f54e6545b774c9f008d61c7f38b45afee780df5259e2beddc234836":{lat:60.1719,lng:24.9347},"9a501edf9cd47833883675cb3240eebac896d5cacbd6fb4cfec9debe54c8b800":{lat:50.4777,lng:12.3649},"9a6fe1dcca723c1786efdea0a91b16df4b2ee0b1559ce758ea64976e880d7083":{lat:60.1719,lng:24.9347},"9a7020737d1060ef428c2bbb5bb33489daf70839ef1c5e22bea7622104876aa1":{lat:50.4777,lng:12.3649},"9a8d479588ec2f532025f7bc4906ab17bf99638e228f253547308d5aa3613ecd":{lat:50.4777,lng:12.3649},"9a96377ff62a2ed83d4da879e90e64594e9c3ecc9938f5c4eb9e1fcefa4e8ffd":{lat:60.1719,lng:24.9347},"9aa047eb1bdb65288c6992b37f0f1fb3860a0cc70ccd380cfe388ff0eebf191a":{lat:50.4777,lng:12.3649},"9ac756748feba728dbf907d18cbe2d2c2aa31d3fe781e6751e58cb82e4ccdf15":{lat:60.1719,lng:24.9347},"9ad303fef04eb15f35beedd683db80cba3d3a57ce423650f6ea143e0c16cf79f":{lat:50.4777,lng:12.3649},"9afbcface89754277b3734d27756927f66fb083230d52398afdb4e48a288b765":{lat:50.4777,lng:12.3649},"9b0c79ec3af421875364f9383dbee8c9fb2681e8fde207e6bf48ae76cfca9e10":{lat:60.1719,lng:24.9347},"9b160cba17ffd41695acf71081444d7b88c47abd0e910b818fb7ade6c56b253b":{lat:50.4777,lng:12.3649},"9b223f61e718d0b6fc95377ccc52ad7018e3fe218eb960eb212418395a5c0eb8":{lat:60.1719,lng:24.9347},"9b3197561de22276078ba62fa506f5b2a380be13e725308ee013046c2cf7c117":{lat:50.4777,lng:12.3649},"9b4661f432acd895d8f6346ed6f091ae3a1da5f1b2576a776e76a3be6d79e55e":{lat:60.1719,lng:24.9347},"9b4f898a52df7278df1c0c33258506944ba22907b4823c1a5c95bd123d233d87":{lat:50.4777,lng:12.3649},"9b4ffde0030b2a49f24445f59202c8d9c8834616ccd89ad5419b3f4594c0a5a8":{lat:60.1719,lng:24.9347},"9b70cdd03e71eb19792198e6249b04bf167ebdad853e3e76cd27715750fb8e87":{lat:50.4777,lng:12.3649},"9b8e618838fefe290cc7d34a231a8ff0b78584a0706ce5846b989b6cc9bc9852":{lat:50.4777,lng:12.3649},"9b9d66fb205a233d059e65f7339fbd71a906b19ec2522d324e01fde3c0c138d3":{lat:60.1719,lng:24.9347},"9bab565ce73255901e0a40e276bc0dc889ad8df8928253687910a47c8b223cef":{lat:50.4777,lng:12.3649},"9bc10bedd1c1c769679ee49650a1d99d71c49afa20ff1e32b08e376426ba65b9":{lat:60.1719,lng:24.9347},"9bd44669baff0c5a137a8cb83055dcc6b01f8f7d6242113ecc64359870315eaf":{lat:50.4777,lng:12.3649},"9bf49610f6fc2aeabf7d9b9b7dbde1d2fb4744e7c42880f3d88106401a0f8330":{lat:50.4777,lng:12.3649},"9c07314b842b61a75c9b2605f8451962de9f8f4fbb3fdf1cb8dbe3a4acf263f7":{lat:60.1719,lng:24.9347},"9c15be516bb4d48e3d5f815d68789c10e1228250a75e11ecc88a7ddd6c7583c4":{lat:52.52,lng:13.405},"9c1f28b469300f5eb225a8e0936f4575db97473ff2d3909e7f03288adb8af7f7":{lat:50.4777,lng:12.3649},"9c26c1f1e9e21f034b7364896ba70f61cd554b758f79807d3e53681b109c9f1b":{lat:50.4777,lng:12.3649},"9c3ff65a447bb1da969d1ff64f412d6046787df63bf647972294e1c306a17d20":{lat:48.9742,lng:8.1851},"9c419f50e16c8566a452f57f5b881331d22568707b0ed33148faf8cbc79435a6":{lat:50.4777,lng:12.3649},"9c5bcc35e070d86ddca1ae6086b414df123ceae0856b2101c9685b154e0ea36b":{lat:60.1719,lng:24.9347},"9c709363234781f54cfeb669dc5b94f61a17be8f763dcc7034d6598cc47b50a1":{lat:60.1719,lng:24.9347},"9c70adfdb26cb6c6b58405d1110e4241d234ba93de223f591ed9f399d4d6e4bf":{lat:50.4777,lng:12.3649},"9c96cb75e20d7c48e8c6425ea9631a94dc1b4d33d578ca4e16ab951236e89377":{lat:50.4777,lng:12.3649},"9ca52f997aff7b8ed364b2903524c2c09b87dbc3c6e8a0417bc3aae5a6fbc29c":{lat:50.4777,lng:12.3649},"9ca6f5c5ecd715dd0cd8187457d9698655e781043480b2822348ffd770400d6c":{lat:60.1719,lng:24.9347},"9cc5381bb68bb0c46e09abe665e76b9f1472825b300e5ce0a304d24f1397d870":{lat:50.4777,lng:12.3649},"9cdef2d89bd816f29968c7fc117f9bfe5f9281535a253fa7731ae1d922d499da":{lat:60.1719,lng:24.9347},"9ce7903bcb603d9fcd3357dfc3443b1e43275cfd567910090193b3960ef3d104":{lat:50.4777,lng:12.3649},"9d1bee4ce41ba8abc2179be516db07ff7c85471ffa9e864d08a7ff714daf6273":{lat:50.4777,lng:12.3649},"9d2b09b689585069abd434a9d7c258fc13edabdd6ed57e3e4c162072e699d4ed":{lat:60.1719,lng:24.9347},"9d3729b8d9577e4008b7c84fa13daa0592cb8afb9e0e76ab2892a38159c56c69":{lat:50.4777,lng:12.3649},"9d3ca7ec2fdef3138ede619f7c7df26c2009b3da87e116e28d140c8af98705f9":{lat:60.1719,lng:24.9347},"9d5650b863c7f6b77cd6a223a8c4dca42d085480123ec0937839c30fdab75550":{lat:50.4777,lng:12.3649},"9d59192a67c3625cdd150b991aaf5aadb1d9e5f95ba309f30ba324442fc1ce19":{lat:60.1719,lng:24.9347},"9d62f18342919c95bc4c636d7caf5c749a13e809d76fe8d32e92f82d867aa31a":{lat:50.4777,lng:12.3649},"9d6b2bbed3b0c7ac78cd9f0483233e0ff1be2f9615a36c191641ffcfa2aa8a86":{lat:60.1719,lng:24.9347},"9d8feebdd1c1365dc1ad1fd3948a9e7be2bed103e0c918d5bf436e92bcd79091":{lat:50.4777,lng:12.3649},"9d999f6e2baab00f822f843ca0bd6c726704b6534284d205a4f9f224bb857647":{lat:52.52,lng:13.405},"9db6cd4cfadf655025feace75817912ba53f8a1caabf0e56f63e1af18e7a19bd":{lat:50.4777,lng:12.3649},"9dccec3b4ddcd91c2825c558a63109d14bf562fccce2e26cf72265e229baf5bf":{lat:50.4777,lng:12.3649},"9dd93e49ff877c78536d18138913ceab5273084ff993a67c7c4485d5be3a62f8":{lat:60.1719,lng:24.9347},"9df6755e3180becadd51a8f25ef5b4019eb5cfbc778a390420d6f8aa5fb8565a":{lat:50.4777,lng:12.3649},"9e0678a77000e465cd734aa52e4b667cc8fa7221d1e595592fd82224bd075a6c":{lat:50.4777,lng:12.3649},"9e1851fae80aa09f43c15cfd410f1e6ef58424652f52f225f2ef6dfec0693555":{lat:52.52,lng:13.405},"9e36cb60e5972202823d8f2df03ac5190f3833daf61122694a2fd7ad138f4710":{lat:50.4777,lng:12.3649},"9e41f1c397ee4abd2c395d4842cbd0072f02def8ee4cf1df8173f65171f12cec":{lat:52.52,lng:13.405},"9e4aa41d347e6b4132b77beef0a030245eae650d249ea79312846a813cbf3f3e":{lat:50.4777,lng:12.3649},"9e6f54a12be522fff07d748ced8ec7ea254162b79b8772279294a74d36512260":{lat:60.1719,lng:24.9347},"9e70cec097810bbf2bac24308bd608fe04a3b48e6f4f5b3e99b8d90f3ffcadda":{lat:50.4777,lng:12.3649},"9e7328b9b6ba001d224cc9d30f22d2a261d28c43901c94a9b6927fcd8c93eb66":{lat:60.1719,lng:24.9347},"9e8029e942979c5a00f9cb5db9746d23cfeb6d577552d0a42a111f248f357244":{lat:50.4777,lng:12.3649},"9e9946e6f7b8ae922c45dc7deab5b4ff4ed2186dbe169f7bdced3a506f9bbb76":{lat:60.1719,lng:24.9347},"9ebf2eada169445070db03b794404b5687b95df0c76263786f6dfdc898dbaf76":{lat:50.4777,lng:12.3649},"9eca6be38551ce8f5c78b874bda56855ddd7a8434c88971089e9b90c8f415a7c":{lat:50.4777,lng:12.3649},"9ed018959f9d3959ef31338aea76ed562b5ccf86d72aa7b4ec19fa8733aca5a0":{lat:60.1719,lng:24.9347},"9ee002f6c6452592fe0f5c4bd91ff72f726b0e987625006dc9e752a09606a99b":{lat:50.4777,lng:12.3649},"9f004fe66ac6fb0127b076a44dbed5747f441da8ed711f6e21a5f76bc5055286":{lat:60.1719,lng:24.9347},"9f0451663cc7075f950528bc42d19540aacb3549e95717d0badb3afbd6620dc0":{lat:60.1719,lng:24.9347},"9f14954cb7f296363b4a7dcb55b678b0e8f369f2afb43b36236c9e8ec8bdd9b7":{lat:50.4777,lng:12.3649},"9f2a086100608e43efe84b959abf458386a6317bec8cbd4960a30579bd04b405":{lat:50.4777,lng:12.3649},"9f30f0cb74cabc884713fc033906cad7944fce2b81e5194004d6f38b2b93e4cf":{lat:60.1719,lng:24.9347},"9f480cd55bb3116531f187821ebb1a287aba5c66cc174f7b40216ef606c201be":{lat:60.1719,lng:24.9347},"9f5b66daea3283cfc9734230dfaf1341c0c45f9ad056eaa2d48ee17becc17f76":{lat:50.4777,lng:12.3649},"9f60f97c8bcba9e9bc8397c710d4742b1ac8b4e7b29ed1ea99b225bc3b601e78":{lat:50.4777,lng:12.3649},"9f90345efd577ea33179bc5fd83cf9227e06e3c290c0c5ea1e6acad539f872b6":{lat:50.4777,lng:12.3649},"9f9c887df9b64b1ee8d5f15112c3af9d29b08b8dc2255197ab3f841f170ba224":{lat:52.52,lng:13.405},"9fa59deaaf26064d9aaf4a589141c1510f0b2bf562b35684cabc99d31f5602a1":{lat:50.4777,lng:12.3649},"9fc0ddd8076d2c03c8a7182404ba93798bb233f343e0043464621dfd9111a3e7":{lat:50.4777,lng:12.3649},"9fd05909d2369e4e6faf2f4d3ba87c47e8a5ac950709a71cdc64c8ca5a0bdb82":{lat:60.1719,lng:24.9347},"9ff93b96b20a92a804acb152d93cb6a2f5f08d1aef41b54623ada1b9c9e791f5":{lat:50.4777,lng:12.3649},a01c79fb0e8a20aaa48827bfbd071e5a00fdb4433b75931aab6f4de1fa09960f:uA,a01e1ab9976d03ded3e824e47e2c86abc2b47594d5fedb9e3f437b108cad4407:hA,a02a54b5325938d520705a5ab55dcad4cbbd63bc7963150f07ef6ba4e6468b9e:gA,a036515e92e6b91d3c3820b1d493b51dca1b9759df6b1efbdd4624c2719b13e3:mA,a04d409e193e564232bf51faf00070381c6fd42d5132b711226610879ce952de:pA,a059a3770ad41952c47524b40ae247273121ef89aefa98c4d9c1033684c11f29:yA,a05f6643dba30d17c9aaed4e3f3274245e552099b5db97807f77c14ff5d6856b:xA,a07b6d31c9b10c26b0001d1a2ebb983c2ad9a9ea88318e8b5d90fd14003506e3:wA,a07c54ea1c4b9d0006fa532e19b4cb60666a239aced8b22bd2890635bc5b300f:vA,a0966893e77dd413076ee08189595da649be4d2ccb9ff9a1106f2775f0806841:SA,a09abe32064b857c9ce3fc0b72596f68d6e80e432a6568555bdc962f535b5531:_A,a0b02581fb2d925fa4c7718ddfe564c886e311d08dc86ebee4c627dd2e017bb7:EA,a0cd0eaeb79a9a1d02a4ed85fbf9e9848ead6846f0bd16cd50afca6a88963e3f:CA,a0d9dffc019de36650e50c94a26a45c8a675ccb45293281100fa9d010fabb5e8:jA,a0f1b3deb1010e8c2ed03d6a3045841b08377fc5fe5cbd35234c4d21fb092523:AA,a101c895717f673abe63e20c88a73fa51e697a88dcba3e8ca988a62f35f372bf:IA,a10971d994a44bd000edefd6ef753bf63384c9517ffa237896d4615b414b86bb:MA,a1247e6422a92bfb8ac2bb22a1192b5489c2328ca5de11c62ba05a1cb1fb0f97:NA,a1298d0dbf11dd9948fecf5eee347cedb2cad4489fb7e9ed37259f798894e11a:kA,a145a2c89cfbc9e2cfa54c49d40b48f579e36a630365ada0f5728d6b451ca353:PA,a15176e18cc670d43705c15eae81724d1f826131de1e0ede76d5008a323b6e7f:TA,a15410fda7a21e9bd0856f2839dd2ca6ff19999748d02ec2bac43b9c69030c8a:DA,a172973ef6adc1f470b80dc2cbb7aec64a8a562951ff8de1afbc0ead1b4d47fc:RA,a174983b2095ffc43c7c03610a6843b6062e7111c72267e69570c5cae5062bda:OA,a18d19850b69e1fdd7645d528aea1d2daba454e5636959d064eaeb44752c99f4:FA,a1b65adc3db12a2ce05e6b076b43ef379bf195a3aaac8397521037aaf34dc5b2:BA,a1b93f6ac3655484b99998f04d150593e0185061beff05a14dd175309971a614:LA,a1ce2235550b670891816a343f74ea0b4b28053b0d34c496322070281c1064cc:UA,a1e0a2cf5863b651426cd4c222238cb525096a37ebc4d7eee39d13a5096fc258:$A,a1f2c5e6692d47382e74aef67213c7b49afb4eeb186519e190d3db377e59e7f4:zA,a21416819aa032d98fa3b00ca690da155c4d4eb2bb2dd2510678ceb4f4656f10:GA,a21ac6e0971c7b1ca55c4554b3be182079b23f6367bf5b3420e9fdfdfcc24a32:WA,a21ae1def278a7e0e67dc57766aedbe411f02c49b7d595e1fe8ede5a932bed9f:qA,a230962ed4701a54f84f5ff1c4acc41d67f7187913dd0b714d57ed787e145f50:HA,a23dd3a1e7c11a3ded1dbc88f22f79b7d8cac4a8b105b1c1de43ee5f041c1789:VA,a25d9fe8dfb00718b278d66d17f86ed240226df1c7b3702466a432ea1f319248:KA,a264e0c46175884d88f4706db9d83fe342d746f3f0fb063cdd130a88673765c7:ZA,a26bca7ab73787e89c6ec1cb6c93245a796940d02e282fa5f3aa400ed4210467:YA,a282bcb2ea0b8a51b326b1934945d19289023eeba7e3bbb2db286abba9306e10:JA,a2834e3a55767114b29b88dd4cda151b9ce322ba0cb9deb55b9ded9f4d3da313:XA,a2a409751cae59ea0724f3cbda4e9ecf9a4ddf5e7bb667ce370da01be9d32651:QA,a2cfe5c8a2b3ef95a91da26a4dd14383b2d4d33d9d001b921184cfee4397957c:eI,a2d8486f2ff52c8a883a21e91d347535e60e0ed3b6a3a0f980a7f8ee184b690f:aI,a2e43c62a67bcc0cc0e2335b0232f575f5178d6ef643a735cf82fac73e7f1383:tI,a303758ee8b836c4882295b796ce1076da0497e30f663ea0ff50ea48a8720fb6:nI,a31ec4c94b1c5ce79d1cbe5f254d130e274f9f15925b65fc8cea5fb87580bdb8:cI,a33d39ff7da904b28069b1a5f96145c4ad0e000e8229618daf887fe1e98cd43c:sI,a341f0f333a6c371a72767c2655664bd5f1dce0a9e1f5fcb6d00df1fcf3996e6:rI,a3499b9c0bf7669ebf6696021e41208591c16484728b8b6edc7ae7d537d84975:iI,a36bce0ea56cd3832fbaa08f54ea3e4e36548c5d9b455589b78305e9fbff5efe:dI,a36cd17f60c251c31e05c003a9d129f08c75708e0ad1020ec158ea616a89ccd9:fI,a376762ae7e183a094253a15093d2656b6cc631f1b9a41cb036646d75fcc2367:oI,a38b1c061593d11e4ef1d99ec07b38f818a7adc66c68bd33413319cf38e0c5f4:lI,a39f025ab8806fbc4050d622d854783d023aa505432571a5df115b3f6fe0fba2:bI,a3adb43a837b07d8b390ea8f02d1ae2dd3685c605e1ed8769162775bb587cf40:uI,a3d752a318853b3e9b2bd78bb445452641e7bef047c303aae0f5d46aed554fba:hI,a3dd0bfee60dbfb1e47b292bfa498444806ab957c0fcacc03e10dcdf9d169b1f:gI,a3ff6325815f224a61c6dfec96f5645c28845ea2df7e9196978ef03daa9c8486:mI,a411ea7f52005de44f21c5cd6ab089ac24a7515ee12d33ca7b266e4032a61fd2:pI,a425543911fd39338d2e195391706ef08d52584b659357ac8e9e24b27936405c:yI,a42a33d58746baac23298b7e03854c88f9533ff7fb0254c9f94a6746fc579e0f:xI,a42d9f858e0098a0cc794bcac653ba63cf64e3d154e788c596cf0fabf54c596f:wI,a445397b498ce9cc05c12c24a281cd20fba88102ac24ac44d805d10987ae2eef:vI,a44903be514200d2bc9477b660426be70e55d3f4130ba480f9ec97e4a437f2f6:SI,a44b0b341de61686254df24a10254129be52384dfa9812061e6a734684b78765:_I,a471a29aed269ff444ee3e8d41edbb114417fe7ff9b95c00a14ebc383ca3a28c:EI,a48965d4b28d71cd5ff83bcb2e4418c13daa2d66448445c0e41976323683d176:CI,a48a49fd19a93d66e3753d7f4781ef85074dd0407536f52db5b5480523a4fe19:jI,a48e43c66b971148b9872bda8c0b420d7d9d5d8a3bfeb4394413e0fdccb6fe94:AI,a4a55f0d17a662112abd162dc559d92f736387cf04f5f79697afa9f3324e8f2a:II,a4da89efe6ab0afe0b0e5c6911317925cb5a1c1a6637adbb58b5866948c74587:MI,a4df8d790633069c008aca52b6be043198611889d87d12fe04e5f54d410292ea:NI,a4ff1abd7171881b9aeb0bbb91de25489d6493c00aef088ba335cb8ab99fbbef:kI,a50478aa74716390a1f27c260356da0b72b26f8a31720fb8165a579980373ad2:PI,a506b8913e1fdd56e49c522a7e289c27e9ceb6e454d9a39ecbb21c53570b8dbb:TI,a52dd52fdfa1d3d9fb83b77777c6a4bc6850ab583103f733996bc0fa83daea50:DI,a54b75f9d6c72ce4aba5d62125b786a92708391781aa3980f89ea4a96269e9fc:RI,a55b50eeb464bb2c73aae2009f2840f62ed7f886332276bde455cfa20b9f52c0:OI,a55c607a22a23d2100b900074a226f15ce290c71247f69f604987a69041af812:FI,a56c1193b5835be5c80ab5fe3ae7a88570531d0c39846b28b18fbfc5d833537e:BI,a57c0be55e93ad509a7e188d167b49ee5f962c728d63c532d1f00c231e15d18b:LI,a59a3e1e7052204fb880071d7a9174a11f23936d801ddbbbf9a004c63a1391c8:UI,a5baa12f9bcd13603ec7ec07dcc62290bc3599b4cf2588e34393ac88056a3fd7:$I,a5bd75b2c3ba1622248b41cdbf5e22d99333124dee95e31836d26e1b6c9dda3b:zI,a5cd0986cb4dfb7656f31266c0051ac20015c00ed33d2f745b00f0c6904001b3:GI,a5e242474db2241972fa2d191e52812487f3749e42fc55dbfa58bcfa3eca488c:WI,a5f9f2f3dc8de50e428119bf8df9b872072f989d50a4e7295b58ed9279268fb1:qI,a6037881df289b1ef990a56e4ba8fd55cb5b9b7523de701fdf7b7fdf9dfae41b:HI,a61cf158e33d5be8a4777def49e08351868c8ab20170a5e1a3eff758604c3409:VI,a624df8fba3f54028781d5c9e39a0688c3cba7a8324946ccf315402f576c8a92:KI,a62f4d34e8a19fe03a8c907ee7dd1e3a8e54f4f228b036b73c6b7fd6946d190c:ZI,a651e37b40391d5a65136b7431434274f08dd6537125865af049dd4b58189b0f:YI,a655f75b3eede207473e1240ddd90ab3d5c52b4c7d71b13c9a2c8467b098bb8a:JI,a65e4c3263d32294ea54b797b974522c75102daf27a356b919f0d82dbc45cb49:XI,a67c844aaa5357dda080db6d86e35edd221d098de67d263703db9f4310ec35b2:QI,a689bea26fd351944906fe09b6a48aaf38ed069150ccf3211a0fdbcb0c4572f3:eM,a68b61e8bc50e4595a985aabedc975bfd2ef769403dce6688beb623e95bfd406:aM,a6b93cb1af0f00287bdce51670dd665392341549831941da008166635048796a:tM,a6d4a09bab9ffe057e644cdbd16e42a3bcc137460a2ae406674495791791286a:nM,a6e4463b63f2eb205fe56c9ca0f7d9cc7c8c4227615916e02afd4b91f8bc147f:cM,a6fc188b1dd7fb09d77954bfbbe64e31301c84617a00b2e5940d6f0738138300:sM,a70924fe8bdf37178ca860dfd195bdd55e06022214c695c97c6a3372c73127f8:rM,a7238706ee9f2b5484c9099d2966e62b773b564203156017d90b12c07ccccdaf:iM,a72d39d65551af6555067e6549bf819fd0f81db5aced8e82ec60b39a2708078e:dM,a74ab9bf2897c7bfdf107e7993d3309b55344b39f3768311fb30ef6f034be6fa:fM,a75bbc21587ba7cf750bed0a4e298a5454483a784e77d196ef04de33f3bc08cb:oM,a7733a079519f334282bbfef18d9cea3a732d6f009c34ac374c466fddb977d72:lM,a774303d51642fa6bcb20cc34c5c6026991afffdc08c7eb50a7f07dd0982b64a:bM,a7746eaa965a21afa342681d8f8d2631c451e02d3dd9b427e8ad221b6ff1e08f:uM,a7814d4b593d4d0b75381205d1f472f3ce3fa8de021a67d7ba0e4319fdadf773:hM,a78cf2171debb65cd541cf646e479672962fdf488a063c6631ef1af5b46d1be1:gM,a7afec0b90f3cc088f31a05487c478835498b69be4ec624e39cb59abe365871b:mM,a7b1693c2b61a6ac92902325e94610d3a6bd52dc442d83a3041342d1e12d790c:pM,a7cf4bd4f817d767f09de9976882bbd98436c2e0d913b9c71a25f07e644e1279:yM,a7d6947f5b2c3d155de27612f2a8d853ff41f96c858b206c327640a80e59349f:xM,a7eae05c91765860d81ef64798b1781f91fb621617c9f3a85bbc4ebe968ab5da:wM,a7f05f75aa1bd94ec0ac2df3b6116e7fcc3ac773fe90bfcc3d53244e75e02e82:vM,a8110e05eea0790f560cf552b064c868e6defb376f52c45196673db2c32a9750:SM,a81566e8de5345940789aea2ea65f797d93a25c1b0fea1ba62078d0f3ea75346:_M,a81e0ffca9d426089589e1679ea6e3bd1e23a3eb4f224c9b0bb354b2c99e587e:EM,a834eefd4bd2586319ce2ae56a525b72fb6a97e5b5a5b83e3e5ee9613a02bc11:CM,a858ceb3322fe19c5d1a67d530e67a108b4fd4b66c0033d013b7306fa61c9e4e:jM,a85fd62d75da7babef0a016874d67df419e680677f6dcc83043bebd534717084:AM,a87d45f22e97b9629254af59022373454afd9dcb618e65b4ab7712dc0b9c03c4:IM,a87eb472c4017ca58d9bf372ed2475c81f36dfacd510c886319bbf00cecdbc24:MM,a8844b1ca4a777ee9ef28dca78d54eed5f1ed338a5bf977c88c2ace336d8640f:NM,a8878adfc9a3bed5e1be8fe9bdd9ec06a1144080e0166f2dd52d37c03318e21a:kM,a8bf67316948d59fe514442b8adc4c45563acaebebce5b93339dfd09a1f15ca3:PM,a8c4e6d698f0d71b8c29dae3814121354dbb7cbbdfedb19ea32b06d90349bc79:TM,a8ef88293495e511f4504a51215361eed063d9de1bc587a740cf954a1160824b:DM,a8f7dc18d453511a0f6dd85a403e39312aa3c5ecd0dbcbd0023820c46964e45c:RM,a90ce83843eb5e676cddbd65dd547fc97a4e4153b18ae10ac8b70924a0913b9e:OM,a914186e661bbb832a2907d63774f57336a08d55305add538a3b47c073b51c29:FM,a919201ecf8459f2de7cdc9b1efed537cec367613577bb5d6efb910ec18791e9:BM,a92828448847041016c3ca431d85d5f6e995ff2a349d56c9b4142ac490636e0a:LM,a934a800dfb832154ba2b6a9f53d7b5305537a0efbe8f7a46445d7b4e0edfb05:UM,a951e26be27d81bcc79223be3ada6f52479a33f61c5fb42ef6609db1381d01d2:$M,a95d1fa64dba0af87f1b1011e259978b212668875874c9d56293882be4cc8577:zM,a97a6c843333ad0d12d0ba0c50207f77de8fe862ceab6e6915d743880c6905c4:GM,a98c17c33a327763a58d353e725a2148c4d391a6e60fe74d8dcaa7145b5354cb:WM,a98f7df8f9604bb3b17f239b49446926491a1db7ac983d4afde82c0ae2c8a7a3:qM,a9aea813420cfbc862cc339cf0a5e11940e5136884d4f1bdf410a684e8bf88fe:HM,a9cd8248cd926e5cc84eaf90ecfbf8038a0108189654e5442bbb00a9962d14e8:VM,a9d34b68f1d81671b282c9414b934fb6ddfa7d685e8e9478209800aafccd53ff:KM,a9d5c14a7c373e2ee1d72d72700cb67be6abfa1fdc11548e4391f9a86f3caaad:ZM,a9f13d99937e97ef0301e9341fe15cc0ad4af78c684beb4513783ef9a469c404:YM,aa0ace28b8810076883fb96de1cba5faf24fa3e91c62d8ad89d2885de60527cc:JM,aa1c8745eef7ba306b8a48d5b79af5fc9fd6155cd105ad8634c3f766635ccb78:XM,aa1ee0aeed4d006989ba09e785465797a846fddec5d1f3adfb4ba4f3a9b61807:QM,aa2421d1ec555e01542cd1f7e39b04f5f6381c864244c3cffb0a5716bca738e3:eN,aa52a143d50197a46794ca582edf5f9899f6aec5e38bc807d1049057602640b3:aN,aa598498fb4577a46b35a776982d64fa659060984f9434bb915876e62e5a347f:tN,aa7bc53683f0bdef3a34a5fca2f3803ce289df63eda0519283e59e7dc5322df1:nN,aa7c12da01f02988cb540562a30428e72eba1216e286a86aeee731deae3f1d92:cN,aa9bf4dc7029b2f00bbbeddb493a97d3647a5c1cbe9ed1f229a8518478ef5e37:sN,aa9f13fddf770814c5e877c685275cbca48e69e1cccf02542cbaf6a93e5a7ac7:rN,aabafa8cba8dcd174460d7450197a3fd05b034713798fadaba7b7b5b6741a383:iN,aac45b21c25c4b5f59b1f9835d61fedff900f952c1950bb69ce49ae9e67f03c2:dN,aafc681f6c97aec06682f7def2ba83d04e7a72450ac3a4a08bc62b8882df173d:fN,aaff88a3a149f2b8b81003514b74fbb5c8d214d6d8d171193068259a72d07e32:oN,ab14ae7982b6e38c642a448434a6fb354ca220f35354110d4f5d327c261af958:lN,ab24535634840bc1c8197a2587e418d5c73e8ebd80e6e854c45b000a6ec2c036:bN,ab3cde0c8777303260a84b3fa8c39ba614feb9c1a39d66912982581a7b766a8f:uN,ab3fd56bb4de00d4bb621cde006deb91cb11dac9b684a72c4b4248b8551696d7:hN,ab427e72fe800df22953c23a3789a5ffb6954261af4d96f5577df0e554f11454:gN,ab4fcfeb4b72ac9e341ccb7ded804152f80c050e8b33d115848c0b6e2bb20a01:mN,ab6844187a42d78be86e14be566db03c143bded6e8b789886b1f2a8ba72d601f:pN,ab74e651fed7aac9ba9124e82ba9e01dca385993d71de3365eb4eb61e6f54d6c:yN,ab81ac99af0c39b23fd1f4725f78cf68da0b2cae1b028ab67505a6ea03a37440:xN,ab89848507f4e3e9e864c93ca6bf29de1e6ab8568d39def8404195cc757646fb:wN,ab95894e2eae731f4755e34b80d20a1376717712d354bb6a1a84844b6920c8e2:vN,abb38a53936446745eca2d676d96cf0077277a70351661530e2d53e5ea4d7a74:SN,abcb350a0973379d43e5afe30711e6b5ad648f45f8367a28a98dd8207412aea7:_N,abd66df226e38d4dfbbddd673000901ba64921398db5dd8f7ad145d1a6c0dc38:EN,abec4b76d47a5fb67caa92e768160ec218179a705cd00e768956997da2fde50d:CN,abed88c3f680731c82ae08456d4ffd718885d2a9a79e196128ae812dd00b6f88:jN,abfa2bd01e1c6ee30aaa965b3124164845992ec87c5f77de88f5f54018686ba7:AN,ac15884122936890ef99574fca40a30d3e756ef08df866669c9132e2110e5a04:IN,ac1b5d40897dc1f9c26dc3ba56cdbcf2036ca2c76d4b62bcef8cf5ece6e654c2:MN,ac23690d6d9bcb4ec7043943b34d98c3092ff8823af4fdf892ff8def5cadf30b:NN,ac40e4037e81def5420e863016ea1b570818cfc5d8522cb4dc0dddadd9e0f648:kN,ac4ac05b0f4c4b881241dd84048c69477778d2740a4153f51df83a2822c5d1ae:PN,ac4e8cbfc7f3e0a2efab00ca9047910c50a50ed9e6b0d447cd37975e683f3c71:TN,ac5b44919b32860ccff1694a26f46ca6cae1dbd6b68471ae251a71a7d17dd24f:DN,ac62f69612b20e50fcb62ec2f60e220e665ee0621e33bb31004031effdd1a0dd:RN,ac792ad2a5990a0466765fb08f5aa1dbf6d4ed3b70ff08eed440da9230726a3f:ON,ac921b684da1b68e51efcccf067f355cd86f502ac95797a50a4752272425cb3e:FN,ac9bfbd920a28aa7879c501908260141b4ee522919a2fc0661dd051a744e3775:BN,acbd49858eb42b8c497a1c9c9371d96121fddf0a2be78de5458a849d38d31eee:LN,acc0f8624a7438537b8f42766d9ebea7191440b2f60a01668133760bee9de8c7:UN,acd6f06bf61cad9de3554845a3d7c9c165ed08193b9e2901599d6867456f708c:$N,acf007a46e792a35c2e1571b277eb3b17c70e5d0a5d6c24832758b9603e89007:zN,ad0abda69fa16e9d48232367bce931eeb10d9039c07a3f4a2d4b7b83755c47ce:GN,ad1bfb8c94eeb4f4188517b66c5c19d9798a3a4d78f5a362c97d0aa1564dcef5:WN,ad3774baaab74af515b51e385f56dbb6a0e626e1a7947074b22d930d9eead914:qN,ad477d96df4bacf9afcd11fcaeca183f9f2a2f1346cd9ccbe5d6a95f63b04732:HN,ad55bec2951e6712b4098ef756161e32921ff84cf90f1c0088f5d539ddabcd76:VN,ad5c70de641e544f87e2b44dc38d36c0ba5879b7851c6e9ca973a0ca3d10dccf:KN,ad5ea159f6058291e644d4216ae0651bdf01b847240a0e1981e9c98333b95dbb:ZN,ad6d4689d85f63c8ae070ddf83faeed1465892b1222f3c2d6d5b53fc86c58cda:YN,ad84a0c1892f89ba7a8d4120fd6f9450ece253ad247a6e2ca9f19e89a0066573:JN,ada1ba14ad9710941c3d479bcf3b319bce321399586a3337870eec0e7a68451c:XN,adbaba05ef97ae4c61cb06b46426238c3543ec6b228a6fd423457348459033c6:QN,add0c9e29030d9f4d88af1eab01b855f6937ded5caa97b298ac402a5ef67080d:ek,addb7e3d7d2e43f058320ab6b0aff8135801ac3d272ca02b488351825f9df9cd:ak,adf8b3f89423823f55ccc135e33f3e5336fb54f54140701a08db7c766395d7d5:tk,ae0008e519fd97436cc93f60cd1c4aebd570f04aab9733acdf6ecaa40ad8f454:nk,ae177f87d2d29cb5ab786cca70a8418feb8cd3c5bedbd9ebccc61a9d230c9736:ck,ae2bfae9d2eafb76ed0c2c58dfc809cd02cac603175b1736cc57aabfd0d058d0:sk,ae3431947aa84f009c2bef1d81986f62069c2d644bbeb0e96070cf7e2984df86:rk,ae3a0273cba002d3fe4a57566fe95071a7f25fa97bf1168d4e89dd7bf23283a9:ik,ae4191bbac156955e27c97b9d80411fbd7bd49f0aa4fc18246d5283d8fbe4a31:dk,ae68804bab209685c48ab5df11a3dd8a330da8ebc34a4e554bb4f3bc7fdcefb9:fk,ae7213765125e9999cafcff2a66a9156b45c6e29e6e2cf0238137f1bb7722d74:ok,ae979d2251389f06032f9ec2ff4e4132bf0c8b8b7bcc6935f78143d49324fd96:lk,aeaa29b00f85d342d3a927ce76aaf3de9b3c8cb3a908aae74c5b9d573f975946:bk,aeaeeede3aeffff68312d8bdc0355ea61819641bb2a9c7da2fadd96fd23ebfa5:uk,aec8c10edd42f573100ec22a3b426432994c0969246ebf945de18cc5b0829225:hk,aecd926a567bf41f3789168a49aeae5105f06d23f89e404f017e91d403917b3d:gk,aef0ce22cea0d6c48f5305cbc9a3e176e58c919404090aaa3687a90acd0f3973:mk,af0016d3d6b803f616773d91570bafa27e874ac3337a1d55f15efa1c3db0482f:pk,af17040004358f448b73265a03eb67e2b501308b7b771ffcb19aeeb3cf235f25:yk,af2c81c9b17012481e3d5ec08c5ed5fc8d1edca5b12f0831e8b806a9583123bc:xk,af35003cb4e01a05116756e247d9697e3e0df109112b5c0448f09459cbadfd0f:wk,af486a490d2791a896e33ea4fb34b3e03974c8e8c6c3d2981ebbcb3c9fc4a624:vk,af486efa9f27b52799f2f2fd637404c6a535ca7b6713566c8c547e87b70a5a69:Sk,af494227e2955025b6a182772217f828e24665dd59e28ed06bfea53427ea5660:_k,af772709a51a9ad7f265bb1e8c7feebbd2cc2496600f9c5f1c58d5a82c06543e:Ek,af967a8074fab438e4e069d23fd35114c7be7e8c2cfe30e94df99418f6b79bf4:Ck,afa5be01a81eed935453243fa3eaef1fba592a01d42a2557f52c5fc9b74ccb74:jk,afbe1c306bd5a585f3572f653f8d3048d490d34531a278f2b6e2870833a713d3:Ak,afc5c8ba62162ccd749a813b509e15f5d97ef2d66eeb14a691389a393c5d1d6c:Ik,afc9e5bdc6d2529cf3b7b3f700da40fd5fe02138791ee972e3d7df5e2192e66c:Mk,afec6084b097029c8cd66e0ec09fc48c8a65e6cd554980216f6e0bbeacba24be:Nk,b00341d7b41fdbbf1106acf634feb6553ac1d3505140f0cde9e09877a451e85e:kk,b03d814c8c6c38cbf1c2a75e7a1c0b5813ab3d0f52e120e17a174d7e1201cb73:Pk,b03db97b8a53d1e09ceae06ad268ece1d15f4f7957a0d6c9dd42ed15daf73cf2:Tk,b0502d9ebe79f421972f16464d0d5a94b4f740cab3c26cab5238a31a7de050e3:Dk,b05ed13027e1dab026878371d4db8eeba571202c9d06b4ce7ea1a90637147ccc:Rk,b07356ebd38f9fc224b904f08e23522f1bef9fa05a1bc4f5d67c207b4ffa0fb7:Ok,b079fbd9cb4d4f23ff249550b7df0ef4f12b4b60ff85199256b2e8a051918656:Fk,b07a182bef14cab2e015c8a08252da3c84dc18423b31dd2b435962dccfe02271:Bk,b088d234d09516db69639cb87d7fd2365f29d5276621a75fc9e3e36bd71d6fbd:Lk,b0a94370df0004a0f5826d35f78c9f764c9d254e1cc394466e93b8596b27ae08:Uk,b0af0c5a2b9e5dbd2c05db578a55d3d894c63a863a23bf47929b53f134322593:$k,b0d11fa1159ff44049f58545f76df1b0e319a9def70caa528151b9788dff5947:zk,b0d4674d91336eefa8b5948095882ddb0fa9c8da69dd3c42d504e43c8175870f:Gk,b0f56fa4f2f9c70f45fa81b6f7622bc729e473f2009375d11f937f81ea3c948b:Wk,b10d10e68e4737122faabbf2364ff188ba9617005db91d82ca573249e55e8c30:qk,b110890751f7a08fd313a8c94c17dab80ee7214447f5a1d7fbef46d4d734c165:Hk,b127f61a6138728f39a389fa2568cecc71bfcc06e4a93ffb95abf44093fa370a:Vk,b13f0a74c525a1763886bd81608f445c5da25fb31a50a6853e6b308810f6eb4b:Kk,b14276d242e5490de579a26112438a0d1c00298e5dabe3b038d1708f2ffd756b:Zk,b16328f064d99abbd48f569a27886ce2758adaef0b9e4e88ea517a776cbcaafc:Yk,b176c79517657a34dc21e65a5533f609ad1920e1fb4a25f309e52a205c1c8a67:Jk,b17866490b3117872b4b67c6d7bee35cf78fc06ff552ed541ec5c684abdc805a:Xk,b17caafb0d1cddf83e853a0365ece34e452857d120c69849a36651b02a04a6c0:Qk,b181c44132f429734d4ceb3120f929a9506eb7f4f78bcd7b26d3c91298e7b188:eP,b188b524686d44c97af1d4bfaca039ab9c5f858ac2b719a40adf9985cc27db9b:aP,b1ae35415a84a8281f3a3c61944f15dd6780e89e8491854155b366218a405dbc:tP,b1d2e064ebc45e44fe9d4f96728fe9ef665bca139f8559f756425d2cf0f402ab:nP,b1e10868757426f750612d3de7e61729b03b72b9bb72b6112a332369844b977b:cP,b1f38fc2a1372743be1b200265d6dbb91e02c1841fb341ce92e57fd59a9131e1:sP,b20156c613027d082c6a524765ce04ace41f2630ba84b04741194e97346fd4e0:rP,b2096e017c28285dde928bbac1e441e74eb72b114beeadd1f65837308969eb2a:iP,b21d39e55f0cf553fab813ffdefd747c2640d56602e8e1137dba2cdbfa2b9261:dP,b23052f7c7fa7bdbdc8067bb79bd2b704208cdf6c7f065cecee91e69b2fba1f2:fP,b24dabf7d022c5c6c6706413cc7f12e552615e5437b878da92e54ecdc9f31119:oP,b264e8635ddd572016c84d20b174659ca2b555bad1d65ec063676b48c5a1c44a:lP,b27369755c83f70a0ba7377214c9238084bcba0900fa23c3d02ddfeb89777f29:bP,b27c71a08b1ccd482f12171def6ac90dda78908ca85e4938e18cb63ffdbc8190:uP,b287b2d2b8d058a82d18ebc7f163812410b75aea94946b40d69f66868c23eb7d:hP,b2a0480752eb2c0360bda9284e9b1a45e85ee1bff5af72dbe92be0682bbf55c5:gP,b2bc365388fa28f6c9912d03209611b640c794b7d9eb0df9185cab4c66984485:mP,b2c3caba05b574a5bbf19395948018e11306752aac773dcfeb9e6b33686b33a9:pP,b2e1cf107b2bbb6d20ae2da24b6886f9481fc5a9eefe93ed8a45f168a86ca48f:yP,b2f88a7a4363d9ac7a551eaf9ebf82ccb328c63c4333d01120db8019807c4e51:xP,b315307afb399fadd377e48e1b84ebc046789de119a022947134115736de7d88:wP,b317a01b8d3e47ff4b43c44dfdad84d434988b47701e9181d397e7efd41d09f7:vP,b320fbb4f979b0079edaf59476e136b3196d8655ff0cc72396d9496e67733657:SP,b3355a8b7b160b931860eb767603d71d5d7f39c51c1e830a17da34f3d50478ea:_P,b35916d6f19a0787b92728158b2e6d4828ddd8591382d66e2174cb308f5c60ad:EP,b35ea3d914d94048cb8cb434e16795eb3617f2aa45e0b271bc5f8d64fb19958f:CP,b371392e6a40c5dc58dabffcca897e8750a29034f1bef8ef268e082b0f3a7ce1:jP,b374809fd84a860f2e2c8d450d8ac147bb911b1c0bbcb915e1e110a6e111efe6:AP,b37ea82f96a9fa1da2a590c0154a95f8b3e1cb222ae59eed5c1aa43515125a8d:IP,b38981f6a665b2dce990bf249045d4fff9abd57c4470c5bfe28a2de9a6da61ac:MP,b391ffba471c7a8d8da8a365c2052118baa6e0b962adc067d3316e171e9e6c80:NP,b3bb0249e527144864f1742b75276d53df5d13296c6101769cbd0cdffb6ca87f:kP,b3cb1385e6b2222081fed7cf65585d9c7dbefd8db36726f61763f1693e2f27e5:PP,b3cd580aebeb040a688c9a8a3511f0871e8a6a850ea58c5e5f635be824600839:TP,b3f6f35fd72af880ef81ef5bd713e6f6d588c4ea5da522018483049b2683d31c:DP,b406a4fe9d98324d38b6129c76fb91778e9bd3944d4206246396b5774a23f542:RP,b414b4c2a5e041509a16756a76e290b9e6db5dbfa2903c0614717d36b278414d:OP,b420ec4520014e5deee21d41aa435cb4bc7aebcc3d983c1fffaa403fb33f66cf:FP,b43b45c7bd43d28438bddb9544067703463520b1576c9d2c1c6a5d19e063a31e:BP,b43e878ce6482ae786320997d51246dd184f8e89b3e5e6cb2fd1e38bedb4d4cb:LP,b44243b43d30585a6eb36431508172b90381b5d364a4448b073749d005275c28:UP,b445661dd45d2f76390880b9551a92e2f196d3ff0a267f8e81fe55880c148e3f:$P,b471d9487de03cd32f46cf35b9e8bcdc44bde61c579a0d61de00d1cf833ba044:zP,b485c9ed9f294bf73a2d98322d94710133b0110ce7e84fbcda5169f75ed84900:GP,b4b12e5a9e7e9557aae9ec333f4da0cb2ea0f49835d7e4143d6b96ff6b1b5a68:WP,b4b4faf0fc75535a23ed5b74f2c42f4d0a7f2d45771c725d24888476c99a9f1e:qP,b4cb8bf61a7e9ba1f7503dd432f147ae137005773cdb0aeac243eccd70176502:HP,b4e0c066674eaa4ff94bd169eac22e6344148766288eb70be707e2b7199b1c31:VP,b4e51a20bf3f002020710241bbcb2f3069bbc3703db6a882d101163d86e6d37b:KP,b506da84b9819c40274827600497b82b37c2187746b8e3c7ffdfe8f2f08291ae:ZP,b50c4abeca0ed638d814c629275bc0707b14a3731c476fbe3657c2419be093d5:YP,b51d36e388ca61dc4b3dbda7754d8541513643c5fe332aad2664844b1730be7d:JP,b5380c31401d3bf9f65b61fe64afd49776b0bbf1a660d7391ca559f15b5afd8b:XP,b55f4caeb6de02aa865ce32313e38a22e97a41877443a738d759a82a2050fc88:QP,b5617940fc158b109c7e260654b322a036dd5980ce5f64d648777e71d56e6af9:eT,b561eb13bfd30292ab7e2b3ad200e40ca3b6c2ef6ac8e10ec758355292c54c20:aT,b57b82c593a3f32016362f5e3ce5e8a4643f349d96c1e093ec612d4193db90a1:tT,b57dc01fc1c5366cf61349960a9ba202ed37438bf997f3f6061c7beaeb90942d:nT,b584f2aec42401b5eb373c0bbf9a29b708f37ca13138f551a356f99cd12927dc:cT,b58f975a4b95a855cec05bb9f9ee0d9cc94f3d97c8b85188a38fe52a5e1f7620:sT,b5bb049870e2de97369ef2383f1677bfe0e26482eba80326249d538ea37e7fff:rT,b5d13fd128e089f6b978d8beba54fb907038dc2cd3e1b49cf31ebccca0629568:iT,b5d202f1691d6f6976018647002744ccfdebd81c9b97572a7da324741396654c:dT,b5e63db6ace36a13997e89d19be0b729796830892836dd6cfbfe30d9caf71778:fT,b601c72ad91a9d780ce5ec9353e07f7bce534900e8061335555b7df0d23f0194:oT,b609116a150f4d5584043a54018fd128cc25d33e567e4921274ce361e9572b8b:lT,b61f2a5c4cee7646925f5e1ade9d739184804d120bccecbed08aff61fac84bd4:bT,b63baabf1ae03e2196cb3cc0b54596e984184b16e921cb2a409f26ff25bae148:uT,b6561f9ab4680926516fa0f6e1fb32625896657cd7b0b2520acdd36c34c7a2dd:hT,b659345363edefdd5dd3da022507f36bb9436966b6877a7cb71af8902cc1e6e6:gT,b67032aeb00f298e4e91eb79a12240c5921a20e0c757528deeb9ac51ef01b42e:mT,b6716d45a49bb8300103161c19b594807c740930d8ea2751d88f8e6db5845a8b:pT,b6808e6bab2fd31f8097306e75b3aa5e7e04c2440172ff7f81bce58a6e8b9f3e:yT,b68424657b2b741c0383fb7a5816dfcf131c6568d8c01c6a3bff268112d3bd93:xT,b6aa1f2141722f430d9d16496027aab0b0ca1754dd02457ca5393a196b173326:wT,b6bf8bc8ef62064bf15b95f6211c98f6e373994c12a8f44ae4d2faaa2d86d8ee:vT,b6cdc0ea9333735d44c4810671ce489ce2d5253f8be13eca36b0e083a0ecc9a4:ST,b6de989ab6c3798762e4d3562e6b33c8554bf57248401e440720dc0d230c53a3:_T,b6fdf2018028a4c8e5b211aa608ee706d12fffe823647c6a002849f47be093d2:ET,b70367fa8c29861e06dad5aea1d86b6d114bf44e808af19467ac7bfa4dfeb3de:CT,b714c165f28c1fdcd3ceb86f1dccaf4fb7019b6d90de9ce9a81f963db7543a9b:jT,b729b32d7aea7b0d648bdb4148b7d713d52be57c140c8bc0eee31519afc59356:AT,b743976e21c80908d1fa212d8e6888fd44192401acafc9a1c9cdddeb6ed3fa08:IT,b74493a883af5c3a8a15c2e2e98f81bd5f06b56d0546b4904db2957fe896517e:MT,b7569659d4dbe3828e85cf22e8a2b3c4b1692a4bf9d45ff61b8812e6d9e436ad:NT,b7782189356fe5e553efbf3b062b4b9630277c8e368c4c444e6ff0161ef55b56:kT,b779c2f1b8a1c2f459f34902ed3435755d83e5526a645325dc204d8a2b90a387:PT,b78adc2831ee9232a222bf1023c1d809ec0ade579c8346686f42bad86ae2c986:TT,b79859d8d1cf4e752e730b774a8f4c1fbf6e694235d509b375fe68da2416e15b:DT,b7a20a9c68a14a05a00e52f64ce940e9c60337abe4d413bf5f780d796c84e041:RT,b7d515d05431fab86e500e0e8bc062f8b973910094431f964ab2ff487d71839b:OT,b7eae8a77a5171d6444882b64222fb7bf9584d0db3749994b6dde770d990c861:FT,b7eebe6b6d1319b15b39ba450c6a87cd9bca13e4fa25a6315de64b96cd224aed:BT,b80dd68415c60e3a8f3f5c4d800cbef132c00aba4daa19958e42516cde55603e:LT,b82c2eb7d71b61ad29e910ae528f419180b814981ae6287d182995297ef12732:UT,b83aae35a7c4cec0c406e5b624d6b08d0166cefa8434c73a32eae83713f48f84:$T,b83cfd7fbb28b981074a5f1341bcf1bd7a92399774fdc835c494879c808e051d:zT,b84ceebe1f4121f69a0ddff9ece1cd2ca0cd3fe1eeacd832b0a8be8e0256f03f:GT,b868ac0f6a54248f7d9020654aaedd2fb261d3bf4fcaa36afe8632f5515572b3:WT,b87630b3ea486505ea8a95af6399bc09a021ee1c24303f0d439f29c3290c3988:qT,b87870e2bf387a304f365a6a69bbe9f4b2090efdcb22c704e035d495a2d9e331:HT,b890a00f075b2b61c9291cedec7c171e247b57c819dfee2b996226a523d2ffba:VT,b89f36977c2b38fac680ea8e8d47f6bf70affda14052e39fb11a5837ca703384:KT,b8aedc259b44282d2f6e74e3e302b7689a94e2fe39589f4e036c4885ed1b9790:ZT,b8d369af6561df2415bb07942a8938a613f3c1515b92218e8b37305e47539381:YT,b8e59e55ce3edc53ab842d95640ada57168986cb3cfcb7d1e63cdbfec5f7a908:JT,b8e847190d4a810b2d6524d0fe151878307c1abcfac0703e6f7d096831d06a68:XT,b9075ae7aed0c1c1f8e5d2db61ec2ce9b587fe3dcd18325ad790b4dbe610cf1a:QT,b9175c10e73636df45b5ef5b0167235cc2e820f5b87d2cb9d5cdb9496f18e309:eD,b91884fde86ae276495ae42d55d24b3983db188fa970b5fce790f62837e48226:aD,b9190f9735363b8609eef195d94df31c811aacf0697ee326048e4a7153df8cd5:tD,b920c19534a7f0b74baa53b761af866be6a03818346fa2f2044127c44cf1c34e:nD,b941333b8255ac61f6df0e58d4b6ff859ea8a126bb95aff4c2c18beaca6a972b:cD,b9487fba0043221f78ceb9f04fb418d56610a6371124f9b894596fc77e9d2336:sD,b9745e355ebd3d93966b44485fad7bac9f0950c9558facb4dc9476fb2d8595b8:rD,b995f8ee945a228953d83495385c5741938eeb51bed8e3670b6e1bd84ebf94e8:iD,b99b4edba7e79c9ccf16028dd8227d4541800fdcee3f54062e47118bc2b3c0b0:dD,b9b1ace053703fb9e702adfefcac2f54ca8643f4ce768d8a0829175afa495d0d:fD,b9d0ebbbb5ef7efbda5ff6eeb1ebcd33921f31fda51eabaa51c83a71e14d31ad:oD,b9f43b2b4972bafe537a30df46295bdd8ab222872ed3f8cb96bcb089bdde394e:lD,b9fa322359ae35cabf367aed599349b81bce6bc89b1030941c6616af31affc28:bD,ba02f77f38273da65b9d47d55f0103a8cd014a7476ca6addc063b0a33efc82e0:uD,ba1e77081535c20a8c14e25d2efc4ded6f098f591c165ae3982993a11c11a517:hD,ba2eece4b745f724abf7be83b15f0a084858318ee8b17b37cbb869c85e4821f5:gD,ba4e210b116dc00397d5ef71e3058dc8c5f1ca8c2d6c91b6f4928f34539705ea:mD,ba4ffba42e3e77be0442ca51498c49dbe3e9bd92c251afc90942d7d977ab0751:pD,ba63e735fdb9f00314519e76d5c99b96d1fa92420b560bef5dd6150ff03254e4:yD,ba71e1faa5d702ad0f94e3468754e79ff851fd5b2282424ddad30227f5581c2b:xD,ba721f1ddc3943dd767302fc12fce57ddcabf94f3fe917ac52b0cda3b828c729:wD,ba9192bbbc8bf34be667c85d63548320d9331bc68b182c83bbc10f49269a3fb5:vD,ba95ef7159e7a006a06bde08c79dd7429dcf3eb2e6bb06c953f797c65aebdb71:SD,baacc132ca0d9dd25604b3c6c133aa1b12a776e0576ba2f16e89dae438a11498:_D,bac8808f9b853ce757bfefb4bd8d1b13d955b874576a2f45f00433e3c37d5f36:ED,bae41cc58fd05c4be2d2101e0bb60ae56b5dc23cfd1aa82cd977b818c3b04aa5:CD,baf339e4b0f16bc51de64c514aca1038ae246356583fee7a021f34ebcd455a2d:jD,bb0b34046646c2e7833a225e2621b8d388fd0ad8047f29a49d89085c2d38e566:AD,bb23242a7f01357f6aa14cc7d07acdf23eddb4dadfb47697fe437bc706ae4fd1:ID,bb3c5dade3b565750152c70e9768354534f372f7311e000cdc4c31cb42988768:MD,bb4df711cda5e97b26e1d842e5d8b4ff6dc6eafb8ce2f9c18a1605ee5c3ae25e:ND,bb50bdded2c959f1792f35623e7c642cc97658b2917f1c48ddbd94b7d7b7589b:kD,bb5d69954afd6dcba13db4f45d3391e1fd4b20b56da96bffd25554b63bcfcc2a:PD,bb6c1d1b26e4cd63224cb359ed5ff34318a654bcac8cc611e9ab6fcac94b6d8c:TD,bb7d6344ff15f0aa6bc0ba4de3cc8447666ecdce905bed5a7e13eb914f5240d9:DD,bb8233a022dcf934340fcc123b178705701e4133a742de8f397a40b0c13e1697:RD,bb87f8ccb3f361cb2619632b42555910edfd60d71dad3ab3949d52dd6c7bdac1:OD,bbbca0fdb296775913edbc11317469283f68807d2bb9203aadfaae3fe9d7f0cd:FD,bbc2d74d0a132a2070417bef0c83add8db5c78fe6e6771dc808dc46c27f59d17:BD,bbcbb59d705e8810686f950cf9e9fab73d3c6bd28d035ff827120b381107846e:LD,bbea19a90380b468ba1f5a7dfa69699bcac5940be9917e7f3772aefd68c02c5f:UD,bc086142ee68dd624c9d1ad6ec44596168cb39562ac8eda8453b39611d12ccf6:$D,bc0e72675c7594e338fe81d30c9c1997252d63009e3d04dc6c8ab2017765c805:zD,bc240aeb5c39512b141fb4efb2fae4b3a476ceb0f131b050216259950f7c6797:GD,bc38b42f961b0783fdcfa2239e8a565004d67ed14770193fa2820280b45cb787:WD,bc4e8f39c49cc69a00a26dfe22d360f0b08029c7aff9b4b7e82de5a7f2f37352:qD,bc4f72542d9761eb2e06b87e83f99ab1c2e62b0c407bc39ead7f5c829a0b06eb:HD,bc52a1fa9adaa3064504c2cf8aea78a64785efb79c59ba993be49188696442ce:VD,bc68b18ab7de270b5de887055e7d14144deac93cf8d4b15b3a261690814396b6:KD,bc6917ac4cf8248d0fdd1ff3125ae182dc60e0f61f48b142de58aa812d440d4f:ZD,bc6fb78ad1e81111f560cbe673fd3481bc5a1ac7b3b307abb076a1e8b27d5045:YD,bc96085b7d335f346721375b003a9d060632d56dd855ad9feebb014a821f62cb:JD,bc9a81701ed4587fe3616608eea7031e346918fc74bbf4693bbaa91f03f79c72:XD,bca2875ec915f73605a3b0717d17b5a5a5f5315e17639f062242815a74ee3deb:QD,bcc10f22210ae2877c1033da8ba41a685426c11ec56a5c8481859e4912b96b24:eR,bce40dc050809c3e04678f66519c08e7c21f4d71ede0da59801d887fe0455079:aR,bcf8f56d9868e658e6a957dc03e9e780dec7f4e6c7703e0d7b6aa579ca7b3956:tR,bd0151ba1041747bda2c4b64ade7fa6465ab0650b821b4c86ce361dc70c35cd2:nR,bd12fb5a63f147e330559add06d64e2caab098d7a1217ce3a1ca0c9090c6dcde:cR,bd30a8f0f0e2f072694a78d89df1360e1da3c34dca1fb7753c900749e18dce93:sR,bd39e7d6179c94f0b6160f8a5e8078ee062d6d5ed586d73b1b5da700c137b9bd:rR,bd42d06c231a9d6aabd00eb3bf1fdda4ede2c6a20d00829b4fe89da24044e8f7:iR,bd67774e12f671262b277afb05866af5a14e6b23812dbf1592f94abd7fbbe2aa:dR,bd6c672e2fd07fd4ca39e02422e36a960e5464c6674a6bfc1ded133ccf3e91d1:fR,bd6d9c693a54af8fdf5619fb3223807d9de5a841f6422d9188213fd5fda07980:oR,bd794f512e5f576971753c857ecba100bdbf91825f72e791a3f54351423b0a6f:lR,bd85c9a7508a61d3fc128144da3ae36a1977bcb6ad93b8f4a07e7e644e14706e:bR,bd8b8cfe82bbe6b91106e1620f18453125e8c398de4061194bae57202ecfcdab:uR,bd8dd7c4ee66532260700c6f17f2698187818480fe40cece5d68bec3f89f164c:hR,bdb7326fdf8c1141404c7ab1368f76ef3b38a18056c64f8fed1f815c5a255037:gR,bdcf929239bc51921fad72d083219733662ef292f06c0ff3b659c04132203316:mR,bdd1609adefd4ae8da84e40b6e1e523a45e9029b76e8e26d659b48f84b444470:pR,bdecbb8d302f81cf539be95aefbb3ecb54b69f0ea879119fb4d5a3df591c6eba:yR,be0f6e00c771c090371167472c6de3f290983407bfbcd4eb401ff7672f9b9f7b:xR,be16db2ac8dbddd3f8cb6e45283371f8dbb45439ae8f53babc2455751e270011:wR,be1f64aa190519aa8974d4003f02e0508bf9aa8e1ab0e6d90ae740dc49d25962:vR,be23142439259d2118013058bac8399ac3b87015f36f36c9df75c1d3b1bc7993:SR,be414c69abe010dc878d4c92dafc4569243b66b2707072b5c2fa575f0f2f5b98:_R,be4b0fb2103cd91484f56bc38c5aeca25020f3db0175a5753a7221c88328fd6b:ER,be6ccc78298a884c31ff818e409de96a8fcfffefb9e247c85580fabfd150f87c:CR,be7089ec5e0d385b557246de150092ed60997a8be02c43448667c7350a80234a:jR,be778d43ac82e9c4b3646b64caddce32a8e608b37ce4cc9a7161e532415bd401:AR,be8825ffe8aa62dc9a761c7581b8db0a8bbd0344dc775592c4858dea58efe03d:IR,be9e900b0d656f445b09ccfd6509380c68fda6b5485e9cdc6d84a35717b99212:MR,bea29f05155fe0226d245e20633803767f2e25bc24904e54ee4fab4d17af5058:NR,beda1dc323eaec2ef203b310d8c5c7f6a9c5b4ae770dbde0ec519fb7cbc6070c:kR,bedf7b233fafaff4845b22486941fce7e68e48d8363acd6431e897a863be0eb4:PR,befac73b039eb1b4c557caee9a7135d8120ac516083c88cd4aa2f324f6139aee:TR,bf00022f267e10bb486e652096fef925bf76e3d6fca34839ff815e5c20c7e377:DR,bf024a4738607dcb8c91ec0d0426c2d5828f3108490e744e67f950f7712a479f:RR,bf217a020c3d80df1fcf85e2b49f1a2e5bd41916a7a2bd094c54eb6ae7e70e0a:OR,bf45fefd66131115662cf5bc94a118cc39ba921d0d6f3481544fe11adaa1bbfc:FR,bf5868271a99c6520fe96190a288e36e4dd8cddabd318dd9d5cd7d4d2da86a73:BR,bf6dafa440174aa606a9a4a2a709d8380daf7c5eb2b1024189c12d597d515584:LR,bf7dbd91a0129653ca739fab1f9c885cbe4b5b4e833b718f74903a95f3ffffad:UR,bf7f0bf127c842e3cb6b8915ccad10bbf35033adb5298da32731e7d9c4fe026d:$R,bf8d5478915f4a16b5efd3d3d8b647a1a07698b5a2f6bc8f5852885ed5818f3b:zR,bf9885aa230a2a5de360c692dcd21c3fb045c2375e002e1c7f4496a60c1727d7:GR,bfb5e5960dd845f7ebfd2cf463c1b0415e2d9c6d731f93da50b9ef72803448fd:WR,bfd702d6954fbd32f16758344af653a2aeb5df1aa142a8e3032100ab0cc19208:qR,bfe685f5e513cd7e888bc484f15f373c974fc4c0a21ac53e655bf1e59fe5edba:HR,bff2a8225808b9474032797e26e1ca00dce3a3a250c5805213047b92b1bed0cb:VR,c000c4036b188e332d23d634022c3023be912ca64d104489c8572a147170f646:KR,c002d1c00147250f759ddd2af3645cb7f7753dea907e82090fd3dc68400a6189:ZR,c034961e03d90dcc38854f7da6fdb9778a3af5d090c1bde0c97c135d8024634d:YR,c0432d913d5faf59345896c08b7defb027fab4e1f8575b1c28533f7ab6bf4ed6:JR,c04c534b9e4530fa7c9029d529cfdad2130870975b3094e9c686d2ebe93a3b5a:XR,c04e9ed29895dd331264ba7de30f466bddb5fe2c460493485167fe3f580fe7a4:QR,c064021219d15ad2818dd5c30c32ccbb4ee61ec99feaedfc5b10103c9b5bb33f:eO,c0657d4322314ef4acef8dfc94e6b0bdaa66e71a28701c5b16f3d59f9327d64b:aO,c0678805092e3e9267e00e41ddfbe3b0f371dd9a3f2970e138f01eb3c4dc844b:tO,c070390e68ed95444f55e0d105f67fcc8e0f51bf34a734811f4f5de88172f078:nO,c080148b25dcb6cece00babf161d7d3c2b9d4355b0151a05bee3ca934f429d09:cO,c0a9d19ffd39d962f7e751f63f99930cd3f495676d730658c9545ed13e2546ed:sO,c0af87ee971b98c75095d7375f8d9847858dadeed966b14d5a8176035ee115b6:rO,c0ca64c40302fd19dd3378daca3af1487cbb9e460c41442abc128cd49d507771:iO,c0cf0ea617b54b0dc61c3415340e746f98b9cd9647e7debc372b52f7bc1ef05e:dO,c0fc7a5a6bc9cc08e1e8a0bb12c996e30aa5dcdfa4e2b77bff2db619713e6a6e:fO,c104528cc441056712bc52e0fb4b495b109e589b84117d46be3f1e006989d121:oO,c10a43183f0939c7b21f32f85ce48af81faeeff64db7ccf97d11239415a6c47a:lO,c139c89c29da55c4fbce4df33cec4356fd8adbd2d0d9f6d2b782afd791a5c263:bO,c13bedcb2c2854630ecc0ba795714bac62302e36669dcb02b3b89a718a57a5ba:uO,c14dd88f4f95af1f888090f6807f44a116fea2eacb990383e758541d3cf1019a:hO,c15993270a9c1009dc722c58e18dbcf97a2512554ab1d95a34330dfce86afb9e:gO,c16a60baca3508e6a5aa3d09097ef8eb69a6f7aa18a21312ab834daa893d5bea:mO,c179130ad4d377d27424fb754ecb46c1c2edd177ef11ac7b5379b95ac374f4ab:pO,c184a5811976f7df12eec50be2aab2783d8e25ac3ac7b97c52cbc6fbb4329918:yO,c186a9e7e3b708247e637ee4cf9cf9f7b6e64bc849f5998ee2251121be520c55:xO,c1b0fd242756991fb7eb4be4da7e989c3fadde1b2a405b18a5ad6ea65a415ec3:wO,c1c6ed3454da4025118920c20012b720bde4dc7106c64391ac9526bd6ad7d971:vO,c1d65db118a126a93edb06a0355e9a0e415c04c0bd0f138fa919df3eb33e1ee4:SO,c1f72feeb2acd273a162f17cba2f6aad84207349b5a82bf8146554b8c25a5f6f:_O,c209f3f6e30843087d954b600c45cef68f9d27e1a662a6e42736302954d9a88e:EO,c21330c9cd7cb127e5c93c3aaea18ad33ee4e6707f66601b658338c595c84667:CO,c217e87419d7e24ed02cf86b62c313c98697399265fec15ad032e4d8831947d1:jO,c21f086e550df596e7b2bc502116af08dded47cbdffdbd5fd0cda643cc333115:AO,c23dc9bebac676891ccbddac791c86f353eacbe5871271cf2db072ba5ffdf8e3:IO,c249a83e86ca74d5e2b8c19e9d4ee989e8e76bfd101c382504c3071936f6c98e:MO,c249cd77206b829fc138c456438a372ec3fe64ef8f5da6c244df6e8e380b27b9:NO,c27a966071c87a20f1d5af50924cbe78037bb46ec76ece70128eba7166dcb905:kO,c2946a96c1677118c6214b0ae3c33c17e2aa323a7043852713784693800b47b0:PO,c29e6f9ee34143f03f2d657b62e1e4b0eaeb4413f6bba47b3a7d936c13e656e1:TO,c2b9e40263d978e0c01933ca53fc4d74a4c18c49ba378c4b84174dddeefd55be:DO,c2c08eafe9ffa02c7af7f931bdd97982113c2737ffdc7dc1229b1fab84b98704:RO,c2fea17be55cbaf4f6087fe92b5bbdbb879df6400d1b373640dcb7020ec83ab2:OO,c2ffb2d195dd15a1065325be368e9cac5a5e906804816c538ee108e9bd798dfb:FO,c30ffbe206b9ad3b97f14103c9e336d98a031dfa56d4daff79bf66bd96ecdc67:BO,c316f395713a402c4ca10f44dee3ec09c8675748f7d4014c18ed4bf738df4c6a:LO,c31723183e3effecb19c79f92bef28c9233f94df236e6d325231f18bbcb283e3:UO,c32e98d5e601038b9e65d81550b06e9b86f2987e2017f2000e6fa23d44c8e2e3:$O,c352f1a2796a5524c6b7005c61472cd6d42a96ab04992b78144e81606e5e4fc7:zO,c35a1d9be43b39f1c2eed06aaa7239902f842ce1c0e85d61097eff28c24fec57:GO,c36127bbe5896fa6ab4dca1b51b2d79185b8101de3c22f7c47f0f47601485222:WO,c371cae2989041ab59acbf94aaab4c1c895ca9c40254d31bfb58750f7dd9e3fd:qO,c380649614955dfe40ef2361a8ea6bc9bfcf6f7a6f08da764047e2e6c62357b5:HO,c3906d779bdb75e4efa4ef7ccded22483337149fb93ff6b37a80425e10311a93:VO,c3b05023b322dafb2b49e8729e1b9a65cdd23d16e31e81871d08e5815fdb1fc7:KO,c3c0558817dc45ebf1408f0fc9230bd3e876e46999572e505b0cdc80687dddd5:ZO,c3ccb9091f532a7b9367e685c7d15e781d024066740895e2ca691574c6077349:YO,c3ed8e3b7c8c0dae38e362ecca082af93ee3440f64c3dbc367278ad95602751c:JO,c40462551329234c54b9e130c3f9f96753931591a3dbbf5692e4b5e40bb4791d:XO,c40a964f91f4824949a4155030c5a2c7be4a7ae409aea413ce7fe4470158a371:QO,c40e6039a10c6c7797c6df2c845dddfc0910dc278d3adf0a8d7ab97f3b57aaa5:eF,c43320bf771510ee35e3d1a24dc7c35cf29661796e14935846d07b1fea4be229:aF,c453d2941b770855c456ab6f3fc215784713d545a9872a86976c2309948a381d:tF,c45a03925439ada61b4d5154d39e7ee7656784dcea1e2ba9777bdb9fb1098f91:nF,c45e7fc8eed691088d281cf09e5de1fc2a1e709237c5cf24e1eeeb9544ad9aa6:cF,c46f65ea5ec5647f7a4b3a871f74db1c7a78a537259250b66ddc7928a2a917d3:sF,c48ff1160eb45f68619a5d432814b49c65513381f5a4e081cfbd3aeb7169dde1:rF,c497664c6f795799e02d13c84793fa0cd005f45b71c6002f3d366e30bedcf334:iF,c4affb781eafe9dbf2e131227ceef309086c6e85c107995f37a861aad07fdac1:dF,c4c8027d0a9ec36f292b604f2f9da7a87caab124388d4002c10d4e68fbb05774:fF,c4d9f24ff78f40d09af9433a2c07f9d0f0c4666e16f44256d4027c6d7a8bd05e:oF,c4fddf1e67a7be3615edb750c584ad8ed8ea3eaf8d8d340923eeb758fa4b3424:lF,c50f605f2a2758523084d916127d4f0e5a6ec989199d66ef9b841b21d3e09cc9:bF,c5114ab29078d97fd7dbce299a78028657221b6f741f182f58876d9b8385e2bc:uF,c517df8563e2e65b776395a5064dde12e79239e2ce7fb7ac3d5ab0f557a78f60:hF,c536992c952b82d71317220a2b3e6e85287fb062d4977046bba6ea5d63bf9c8e:gF,c53949f542b1e6aa85060169d601285f2a4c9b2e2bb1cd2c1bdf89d9ae501f64:mF,c554862179e1a42aaaf20f6047246cc4c67f4b79b98298075e81ecabbc3aea94:pF,c571f85c0b2dc756c3873b345f693ae8465874c12fd0c2fa13ad2ee61a12df4b:yF,c57c8b254f59e536f519ff82a650e873d1ea827c7aa0a6a949e7c1577e28e693:xF,c58e1fe04258867e611b35d4da8e2b93d87d507b47ef9974d6a13584c6eb947f:wF,c59162da95c9d5c4bcfbe91033d50fa4feb0798f5030a7a7b2a048a2edd076c9:vF,c5bbb5428e0f1c0d783b44d7318544781bc1a896134d58fa8597fc34dd13b118:SF,c5c9236d8af5a03ff0dcf6ffdf42f037e9195296c6ce1fe253198b476c11652b:_F,c5d4ea21a9882835660951718dfcc5bb467a92acf5d0d0f10c50b834c8f0d195:EF,c5ea9560c4fd24dc14cde332c97b2e318c2613743c254f24f6740b8827623575:CF,c5f4080d07d523b8f8ebf4f70535cf722cdf0a6508801b8aef371e95f87a0a99:jF,c603f2a075b4d7b1daca4c95c3772d4cc0268e191ced49ff822db266f4f8a520:AF,c6140b5cfd654eae95da974f2afdafefeb4b34fa563f8b5348ff625bb8e398da:IF,c6142c782eef41ca0dd05f926f71096c02a9754bbafdaaa6a44b0420020606ff:MF,c630074df280604416ac9ad9c5d918a50e3e0edb0c99ec10e8c2b965c9b50bba:NF,c65023e97d6545d65a440878612f42794183c41d85a7b9d56ea420f6586e8991:kF,c6575199241010c17808c19353c46fb35c4f4262072e26e7100a8795a7cbf9c7:PF,c66d133a749cc5591286e91e849a20a7c143dbfc72f3fd6f3e788e7e0440bec3:TF,c6789aa234e6a261ec7d426764f0e2cdb685d81466c297e77c26decdfc95ec69:DF,c6980dc948bd27ef24d3b69defae8449f8d35e3881a66ed30ad1e85de60a33ba:RF,c6a4c7e8d26bcd1cc49c7ca6fc963cc61da745de661ae0a407bc0ab1bc83b3cb:OF,c6a77f8717f4c413aa6e30394b2f91593bdfadc8ae757e45cb7215c59d3562f0:FF,c6c12cc91f0481c4c53837a5883de88676e4e0c95db0a31de2d11b0cd381d5f6:BF,c6c9c868ce4cea0996ed78996563d04b0fef8c3a0a48a9106dd85ae965c5c270:LF,c6e8898adc3fab8bbd9d0fd4f650badeb14d174642958a2ea93be7b562d92df9:UF,c708ea9c4c00069e6a1d38a0398c9b70a04b214caf39b1f561f0dfc35585d6e5:$F,c70e04a6806562baabaf032b971539e243328949ba9e9b8d1ef142ff6154d4a0:zF,c732322913b7d42ca339a36999b5a706844b9efbb7ca9f8279ff2fc23fab6199:GF,c747acd418c22e0e0180c5aef86f711e428be86a73a7bafa8c346f38ca4591c5:WF,c754c1984a6b550b6d17b394af0a7d2011515e342e2d4c94b736c8d08ca18c59:qF,c7589cfa9ea1b61433f87956fa0ebb5e3bb0722ab8c73e9d52d41ef0d3ccd30c:HF,c761e9750d4c21971a6d1419bed7e8e1cbea360f1217fe28c8ee0cffda88378c:VF,c7764cca1b87768b7df580bfe0b0129eef82313d31122360a872d7dae185f3b1:KF,c7879096490540b6d037e3fe159e93431b1c59599c4f2abe2e9257491c906b6b:ZF,c7aa193769a12ade292ab375ad1e1117b9c15c74603bc82f8a07a87f6d438191:YF,c7af164bd2f8965f25eb3a54885d29044c60b7d740389e245719494c9e1bba52:JF,c7d24c71cf46c35add5f35dc82bf170cd3b2b41cfadbc78161b79196c42566fb:XF,c7d46b741861734f7325d095ef4f4df69bd705e4511b0169cdd3a419caf94cf8:QF,c7f7035e4e375f4f6f25742b4eea3191a97215552215c97609e3d6e1886c8185:eB,c8041ef6ede51f39928c395f8aead978cc27671ac557d89299ab22a162af1f1e:aB,c81eed5e03588334c1de8e06e3018f5aa89a584e35e8f63db8ad2b4503fa7bd1:tB,c83093a696a3cfd301f422deaaa8e4e5536e66bd1b8cdbbc05cdddb810ef2ea4:nB,c841fc92b85442664d28f512861f47bc10cd30c4a572fb13f3f0364ffa3e2697:cB,c845a3995b517f73ec64b49087684c7b32e7e08734c519118420cabb406b9910:sB,c851e016760c662ebfe109b3792772c376438b631ce29c8254cef8fbdf1b5c10:rB,c86c02f4f521f89d6d3ea32da19aedb62200096394b0d7db24809ef1909f9dba:iB,c873971fe028411a61e85c55a664696024df1ee7af9ca46392aaaf907d09a112:dB,c8815367e406a966499d538d337a117cb23351ea35d78d4c9ad95a9f70a8ea39:fB,c89ce78817243f405e8476607cd40d0a7076b2f363d29a6c46f606b8bd55884c:oB,c8abbe5913aa37095ce29799a0fe4d52ee8e90650b92a621bac926c21f709871:lB,c8d182279ed2b8dbcd6082ef777d42fd6f525b252f71106433f1dc218ce217db:bB,c8e2d4849661c3f41e955a92dfc534690914df7707b8dd1350553c3d0cc96196:uB,c8fd0389b2c0b303d57331bb30aa74405699203935da6335aa2a16d6e0bd171f:hB,c914fd097353d29da29727fa43cadf6ebfdfa337726b74c608eab4ce72ab61f3:gB,c9176949603d25b3cf62baf22762aead051cfec0d39e49df3b11a7d05ffc3e30:mB,c919f08106e0c9d58cee902d690ad4b38dfc9892638572d79aded4665c953cb3:pB,c92cdd4875a1cbfa44a71bf0551dee274e76c4b02d975a489c8fc0f7cdef3cd4:yB,c935f00ed740d6fab763922e1554184494a17e42bf7b97893022f940043cbade:xB,c947e1a160378ed31188dac63479dae95239494ea19dc320ff933a7ad4db7525:wB,c977405dc7735b92db40267f7bff9a60f8cca38061fb859cf2e1ea9e67e2fb18:vB,c97cdae629fecdb69387febce148183bc3772cc6338bb21a8a542ee224140f23:SB,c98c215c0b0f066ea4715d212ac9bcebd8352fae4488c585c2da5cc2419bd375:_B,c999f3551ea977b17718d1b62e0578770d94de774961327542df5151eb79015e:EB,c9aa76b14fb026ec950bd5a2fa4baf1efd2db394230b6c73dac3cf0489c6470e:CB,c9c4c8c29fe07696e20794ef5a84921fba4a684c2353defbd4a285eeddb8d228:jB,c9ca598f8bd757c5d106b805f9c916f03c84020de96ae7194e8caa9dc29f4a1a:AB,c9ee2dbab009fd94595cb3cf1e99f1bd48022abc15c177a16f448aeb0a2f094d:IB,ca032dfa17eb5d1e619b47fc39ca5dc870d6fe30db3473e25983323cd8b1fa9c:MB,ca33e628b15a8f9f915cc91fbe5447f6bc46c3cbce6ef519d48b37c5312dd300:NB,ca3403586d6754d0a25677eb85e4aa8ba8f7d54f4169848485571a9112d7c401:kB,ca380c3daca3c258d2cc51f6ec7f1554383791f6c67bb4e14b34edbf6ca0785d:PB,ca41739b2f0fa67d611c64645ef2c8874936047ba8ffc7c4ee69b1ddc74074c3:TB,ca511e1e62b55c245cdceff73769c803088eeafef73c5e46840d549221c10a61:DB,ca71d3ad0198f061988f47af1b4655ad4fbd7e7b501dcd17c1974e65177f40d6:RB,ca7850ad591e2c7d8ec0721f67eab9e7dad59a5b4671de16c8915cbd77c5f93b:OB,ca8608ab185dda71ffa950c8c8d2874470b3ed0659afa5af6437b97f362faa37:FB,caad1029224e5b7cd23429248ee408212c5f879833d0e66d79f34ed744d727cb:BB,cabc5061ae94260ea19f4015204f3617a91141f060c75a370a1cef02ac3712a8:LB,cacaa02e1ca9c444977637aa00584f4091f736002cf1a524b9b8cc51f5b4ba8d:UB,cadd8afa1d9ec7cd35b2bea7e9adfeee143850a37e7bfebcbf2708215996b9e4:$B,caf2cc0a2d90fe7ee1365a5236dd8fde7c85e7e1d39e1ff0c51678873c093c88:zB,cb033f744877e3724eb0010f7bafbbfd720c3e005321a4bebb9860a8ed043bb2:GB,cb0cd42757e95920289e01ceae61107e49498786f346bc05057130f83445d86e:WB,cb33e6342507503089e0b61795c0258535ff60420fc5ed6b76717a0f712684fc:qB,cb390d194b4b829155649b32e7e136fe73b5280c3540da7fb7e9870ea7a50db9:HB,cb49ff0db91090e4a43439a6958724f4fb246114aae6df7c039b9f4c6bd6a339:VB,cb5293bc0c6d06a95c52a1385fd49bc5e09660a26dbc982008422cc965ea0c23:KB,cb57a172938d3cb029578cb5cb2c17e552e457609d1aeccafa1fa0021e6768f7:ZB,cb6195482b48d6826bf9e02c5652272c30e312f92ba34648f9c236f065dee820:YB,cb83885731fe5d64fd18eadae657b4712b0789f526094f38566476ac606908d6:JB,cb8b7ee2ef0fa8941e2d50c92cd6ecfe63b542f5a96cfd8ea90f1ccf4c33ac41:XB,cbae16abc18b0adf59a8332d9254f83c0875e2b4a20467f2cffcb4f4d1e40d73:QB,cbb77a52cb703ca35f3cd4787fcab51dee581d4643ee94dd486d271322835af6:eL,cbcbdb0104b9503c221ffe69b77df1beb970887b06fd629f7e34db49d2575ddc:aL,cbfd717650db468999d3eaeb6b3954e213de1c1917e0244c721e46b199e385a6:tL,cbff66fb48cbbfa34ebf3821fe708625a0f986b999298b1ba6e4cac51dde8122:nL,cc076a183e5cc3d8283d4fc22619c54a6703ba9d18fae15a241906c0291b84b2:cL,cc17ed774840d2b6fc4cd06c7ba26a3594a76e7695373946a797cdcf8950ba9e:sL,cc2737b9ba5b64d3f80eb5b06dce52df28c528e12e66d89008ca0952542ee423:rL,cc2afa88fe34e0934d2a3ef09a21bd9a6bb95c193b268e96f6a47eac4ef0e670:iL,cc4311b50d4f925b4dda9316c3015468dfc7b252776bbea0d006354a5e4f9477:dL,cc4d19741cf4be9291c99d42e53d3223dc7580fa9bd735fa6c1b751e6278f3cb:fL,cc6b6590b1d54650d47ecc6d4e168fd4b1f1cdfba7011dda86a7e96ee787330b:oL,cc6b9138d575b354260bacd9b8609bfa1768e3d08331858483e4527965e8bd34:lL,cc78cd4007bb1012cd986d09a92a835809619780becc2a9778afbc93c95aed1c:bL,cc87146d3f80f18ba92a10db26a81bb5fa54713e747942c8fbb6a35d3e79e642:uL,ccb681b020574c7a5fc086deb4bf5d36c316920eee107e2317eeffe89461b131:hL,ccbc32dc657e6f7f97e0b52d8128267af4734970128f5e369c7739f4ee3e18eb:gL,ccc8678b30c5ac9ba0482dbbbc8084922866d23005af7625aeceef9645651d7c:mL,ccd3f932a0162c73af27017c700fac6bd5caa5965bb35cb2d63ed613b44daf08:pL,ccd76c8a4d469468e06fe9d748195a303eeadaa327e33528531724aaf6d3f271:yL,cce6a22db429534043335872f25138546586ab3d1dbe44a6a4c02120007d28de:xL,cd0cbc6db904c7751edcf50dd140935afbe95ad30ef36ef026a4f6388b3e8e44:wL,cd14647325aff8019fc84a5d24c9460d211275c4bfcbfe5766491e79b015aaab:vL,cd2e1aaf45b757305e1bc6dfe7d9cd13e6f14943e5b58b954240c29c65c934b7:SL,cd3efd1052de0e32e00a1dc71ab8d18ca44366f9d166e3691ca869aecb9a1314:_L,cd4e27fdaafd2af8a17ca504b61bcde837a03aec8977df07419cc1abdfe7eb54:EL,cd55b2b1ffb55ce3e65d5825d784545ff27a6a8914665fddcd9f9eefd956b7c0:CL,cd5ac4af6ad38c6763f88bd4c52d7c9ee3886c5ec748f1497f61a34dc0c9981a:jL,cd7dd8c2592d1a93eb7998f29fc5474d98763fc40bbf1979749776a914825a9c:AL,cd9594a411261b74101e8806d404a124f6e6b611f4f26688125069289cffbba8:IL,cda82e913379f5f30b52875d07f8c7cee32c6f91f112554857ada0b64f54be22:ML,cdaaf4b2b20e316ae92d65e4a7315b64ee3e57671fe34a72d9f4394cdbec9b20:NL,cdcb746face367f13fbc6b0d185ab2d5b7e03b27ac5c352824aad13825b25152:kL,cdd91287eaec8d198fa306e8f5befd46ff47af6ec59f31a250f1312b06e3fef8:PL,cde103eca3b7e8e63478394e55b1c34a02a1fe2c6423c4225166e3541b755fbd:TL,ce0196390549efbf260441734373727ef17b9f4f2c12aed2f99b2cd7d95d5ccc:DL,ce102f0a3e1bca5f9839ac8a3051b1468d5a08a0fce0d51b9843b621be9e35ea:RL,ce11fbf1655cc4d866ce17ecbae6d09ede6e781f0e1889e0fc093f4973d4f3a8:OL,ce26ab7b35966e7f04f64518be88f9395d30607eebfd1d7152ba47a7c032258a:FL,ce2c890fa520680d933cadf24a54ecef4434bcb2c64de4d8d3cf24033ad116da:BL,ce5f43e243f6c9c7f99a436bf151a8f996e5eb15a00a5ae3d11b9e2cdadd8bd3:LL,ce68907888e3467d14ab9f9fc0e8c0cb2c5b06f3be4cb6da70ad173a4548e1c6:UL,ce7c664fa99e723806bf71302c5266da54207d34a61363de51cd6315d0de3ba1:$L,ce81c9c1ae9da49144f69330d95a12418bd3872d529540cfaf2714f9f46a376b:zL,ce8307e05e1379010d6517aeeb5f1aae9428a0ee80ba848da7404c7359576970:GL,cebc71d818f5de894ad10a7f36be4d44061127d3b0e6b4d0989171d1a25389c3:WL,ced3b62da55ad62f1ffb2c1fa7811b6f6a82aaef0237e328bba1822021e5846f:qL,ceda6a1c6e893e954bf1c9d893d36130654f77fdf0bfeb2658161405e9758119:HL,cee56d46960fc56429a8d688643f546ac2391e664308f053fd74ce6593b39dae:VL,cf1aae85725f322bc11f697503e5b533988d1a8568b19cf874c601e3a84edf66:KL,cf31f3dd63a1bf9ab7dc590ee59a28f7cff7eeef4ec2408c9c8f036ff90f9694:ZL,cf36e4a71ac5abc83893d4374973aced475e5ac935e34978f2f7faec45d84bb2:YL,cf421881b1fd9c3704fc1c5e02e8b2782e69bee2b5c3161a9858dfc91d29b0ae:JL,cf46428d6f931d139c686c6ec9ae5893337e250abe31c3f4d80bc91155fc5cbe:XL,cf5aad4df6fcd2b281190b632376a7d50f9eb374cd5c3b313017f40f681d78be:QL,cf5ded3a77a5b5ccba84476f20435cbc5a3c8ff28e28183b5b76c44036cb8791:eU,cf619b984f47eb1710757d09410c8cbe4402e105906650c7dd9b36b4c502ca03:aU,cf61b1cf6e6a5ddf7140e0e3b01968cf197cf83d65d3b285c77b88fd38665e32:tU,cf952a00158d7a51642edb6958ea27bf93bb66bbe35e6bb5f76c9bb835a8c3af:nU,cf9a01b73d4e78adf4f215473a7da9b4d592bbf7e8ec9e84ecbc8972f93774de:cU,cfa897a1bb1bdcc8f017400835b05ebca2fb8c8a0db21ac978319cc304147094:sU,cfc5e950367518c1fdb9f28bbf7c8a53b9fd8dd583bc80e5a685771014b6bfb0:rU,cfca6d70f888fdf051c7e43eec39e23de306339d943cdf821f19d97cbc646fb4:iU,cfecc9fc74af86231a6674cf7af53568e4c5365917d30bebdb58b4172ba77f6f:dU,d006867bca823474c9f425cdb4f905a9505059dcc04ffdf52af3ba50a21f449c:fU,d01ec00c3a1cc7387b34124ec3346d6f006a0056e66d92c1348b739d7f75c8e8:oU,d0323b01c7a889fdd71249a0f5110ac43b18f02df97b11b401d919ba5f3cfe11:lU,d03cb5f37c97c142649b07f4f2a83512d2b4aa7271e6379cefc60a609a1477f2:bU,d050add3eb2af25dc58dc264bf0521417cddc511b9d410be56c92424ef528ecc:uU,d059d27365c67b5a6b48af671ea35b857b0450bae75117d5675c0ab6f27594b2:hU,d0696e014865a02b604b527f088ad2d55e3d5800413992acf7412c80c71d9a70:gU,d07797550a087aa951c879d6d300d8fad3328aef837db53c37a28c62e7ddf4f0:mU,d0996810870860bf33bf93bce4e79bffffa848ab2ffbbcee50a966867e50b765:pU,d0a1ef9d775c70b830d2765aacd6dbbd29144a86508b1fa7413ffd0dc6837a6c:yU,d0a3431e2e69eea7a60b695e8de0f3067fb1df6dce6f6ff7c900235a2704602a:xU,d0c5aca1e5d66ce277d244ac3bfd4eb9f0347c0f938ae642d86e2987dfb98362:wU,d0e5a95c70160974c2bd2ad33b8250e800381b44feb2092c6b9036a06833addd:vU,d0f2c676949c47afb10132b08b925f9ef2e9b4d76632950a0efc732f41240f23:SU,d1024b044a73c559848e10403a4c0bc99993dd7b786efcbe60c8426bd4a4cbc7:_U,d10d59b8ba2c8c77ce3748a1d1718d15dfb039d5c5bab9aae6a49be47ab005be:EU,d1112202d1b8fd2ac25e223f1e2997e8568ee501eac4cad363acecbb4522bcf3:CU,d137ba16775d64118585af14c9cc5614fc210fad8f96576d7ef3aedfda0c1580:jU,d14ca07e85d8382e9b94135fe29b66b083bb1407830493cc0959c91180f83dc1:AU,d1509c3f47f7bc58eb59c2e6d3cca75dc1bcb575c08965771b0ab6562009765f:IU,d162d03311e4255ab91d9318d55cbde0deb24e1db0e2f78d95f5c8e0f37a6451:MU,d163958dc14c510a66acd89554547ad3c757b6667740fdeba60a03ce11279c0b:NU,d18d31d34ca6c9d26dd62c1752a4806a79d1fffab4878808da7257938925a171:kU,d193f8adf03d68c9c0915445ca7e5df534a0904c7729e5e792bcac07b7a8268e:PU,d1aa4e94d701bf84177952bba976d5c7ba0b972af3c27ae48d8cbe7880cfeef7:TU,d1c36903f01f9f8da0efe1024478d377d6d0d7a4a5d6768e2a86c039119b0b2b:DU,d1e233295928f66ee251cbb1045141841968af828d36366e0dcf6693efbb3d06:RU,d1fbfa3e61e5661c8cd5e88249a3c246396e20a441c1dbcd9aeafec14f3f9223:OU,d2024d5e99c538f85567e83d2504edf637e184a1e79dae4f5e825f50418bdfc0:FU,d205471f3a48816961253f11dbd72dac1dd74477358dafaee6df35ab177f2fdb:BU,d21b9fdcb16c9e54cb10f01cd905904adfbdfc33d02c98416ac4ec9ad4ad4632:LU,d22466559614a8851bb89d1e3489f3801a391343cfafc72d5e073e21601158dc:UU,d234aa3984360f2468670195938a2cacf19eb90e17ee65b9dabd218fae779e4f:$U,d24824cc257ef4002338411bf149d36cecc5f6cddae77aca8557085d2d908b4c:zU,d26ea2341bd3afec47a8c574544b04ae2b274fdea1339a58a1b63a9daa7dee57:GU,d27ad1858cff42250d0382cde2217857dafd5861a83c876857d6d49ed753bc22:WU,d29f55a3301fa826f6aedf904b087f144396a0c985d2c3adf08a5cfed3986782:qU,d2b01fe649c513abd6497a012f6ea23ac3ac699f22f1e027f8e5fa78ab4bdeb2:HU,d2bd4bbd213dc7f5852a6d22161c49f427f0eba6c51dd7f5d8476d2a69ad9d60:VU,d2c324f04fe642cbe5b19661f54c443dc67d59ef05aab2c22c38c91c0766776d:KU,d2e3adc72d004a8d1e3679ce12011873574516932a214a48bf027ec68c49a7b0:ZU,d2ecaa68a5429e78215e5b76c178170dcc15b0df2530b83f43b0e28bf11ab39e:YU,d303355d0bad0d175ba405bcee761e223cca79895140266c726712c19410d612:JU,d30422c8f8769077b05c054f9882029194923ecc15a2ea41194370441c7c9d4a:XU,d3095505ef36640a096db6d1809ed9de8d96144cd468be251771e99d857947a2:QU,d3369e7690271d44a71c51d7ddfb5389e7d8cf9660c7dc3b19056bb40f7bbcbf:e$,d353c7c155412d430c36eca150f8eb768f6b925603f3c32092fc1d57b552ac3b:a$,d3617071f07b3898c9d0bed17ec24fc3d9e0ff4b8a28a454b56b353d917bd9a3:t$,d373a15c8f34ac1785aa6bf78edd8b9013fc769891650be68c10787c13ffa319:n$,d375ad95ac2880650f6bba022e1e6e8e53cfbf80559c888fdf3baa1a24da9396:c$,d3865ea6f5664b4488b5f9bda9cb3a94ce78cd538d3aa339b278df6da741cced:s$,d3a1b1045ce061938e81995d264d88e51f273424f7fec97a0ea3ac3f4b0b9807:r$,d3a8de48f7b19d54bf98436ba5f7fd1ef802d27f6b0b3dcb3569b35093010237:i$,d3c84a9762f3888b1159db1ccc3d609c2c016ba9b5af54316114afdca398d208:d$,d3f389de59f78b3009038ad9992c51f384363b56975d4d8f9771af029d11aa90:f$,d3f848706bb7dcc6a07badeb94f6ea7d89b32737d0da58a4e89f31dd06d53af1:o$,d40097bb7120c27f0e301ef57aa2f33f88a722e95b1dcb5c43974e5a9e17db3e:l$,d40f7e51227a19667286eddaa1109a1f39dba83358648176a497d0a4846f2fcf:b$,d42c1807b939a3c3b610ce869fa296e2f5e852556700c02b384853654f45e55a:u$,d438b709cd10bd7bf4915c8b275ce66688b668a78de53623606b54aeda249a76:h$,d443d15bbf2f8703ec5db88e87feb3f2c7fc9a55cd7cfe376c59c057d9fd74d0:g$,d446cfd5611edd803d3b92f06f4507df1bbc1d50e87a979923a38121824bcc85:m$,d44e149346ca60401f96686630284e111c7cfa89dac96a95c052b8775b6a6a1f:p$,d45a9022a81b3fca9ea630c316d663e16f51d88467da25f5b1a5182c1aa07fbc:y$,d469642ca5e738f070b34259240cc1be4b0d949bf2293d396aadc336c660c515:x$,d4970c5f6e90ca402e2e46c224e06ffa0482e11bb4079de489e25cabd315cb1d:w$,d497beb43d6869569f665e0ba2fad9b85bce2350779f57d42f5296f4933a9204:v$,d4ada00f3b2a43a6c18f9710c747f4035484fa28b52bdfdbc858717fe6d3528f:S$,d4cca02ac9661c7953a3fcea6f302958b8d6ad55391939e4eacc02eb55ed8a46:_$,d4dc2797fbe038010119e1b65345acebb579f11c92850534c921ef1a46f43069:E$,d4edb70d37fa2fe42c9c66fa2b285667a9ad5fd0e58e16dc00a1e7b9dd7312a8:C$,d50590f8ca82431d928a64ed6db46c8353393b3d612b4052b8591ec4d4e887f9:j$,d506c78181dc53c61a5cb36716dd382457e0f95b50908b59bbb9bcb7fa73b5ca:A$,d5208aa74ecdad910ce4cd2badcd99e4cdfb9b77664be5ee0055edb5f712216b:I$,d532c0bba966d4b772d224f99660a608df27cd2e5aae8a7bb13365c1e71d8464:M$,d551d6450c9dbf3c161e231c2acc7933a1e13cd4a7d7f52af136f19a833d66ba:N$,d55600ab4166cd6a56723fbd952442a5c1787ae15eb9c0e6d4065d81c68cabe0:k$,d576198c9751a5a0c823b09566ab52a413d8cd04962a5ea7f7cdcbabe142939e:P$,d57c6faa67f2c695202ea3d3d47f0be4247c7fa06c9bc947be1421c625840462:T$,d590b8f32693efeae0d917307b019a7607005afdfc2a9ae837f682c886b52218:D$,d5997e336b93a7cdebdd1a64ea2a25b236b58a2807f057fcb455cef8d02b6bed:R$,d5ba340294591dc7f7095f19ecc89d404e9289c61c573ae222396f440acae907:O$,d5c02fb98637bf2cd9f3cd3bf1fa1f5eadd2d31cfce3f1335bff10584a9b15f1:F$,d5dfd8a86a0c5f1fb5023b50cdfbf6f55a293ee59aff3d468b70e44fe779b466:B$,d5fa2bc359a6a98719b20b22332f88de6a5bd8e3c99feac96848ec6413a7c58d:L$,d61933b17c1807d262642ee0134e9959c4470df60f8b22b04faa98292ca144c1:U$,d62ba4590393e224e0cf7e876b6643249841e9bbd1369b3b11c863d5dcd70cb7:$$,d639413b82b439276494ec89af70f3b4a278d09a0c063ef4269ad1d24e2f2813:z$,d63cea394b86ed4e3097a6c06bf1e7075ec55e0c5aa76c805c5db716f0f51ede:G$,d6507065ed80b4f81461bc0eac8a1009252e54d88f8d3ff2bc63f5a1c437757c:W$,d6606c71f12f753cf6b9bcfb8653f76e414f9e9577fe56808188daef2a0939c3:q$,d662f592216095b76ff4dc19cd0bde57a86c3e6c40b434490e4cdaffc05b354a:H$,d66bff98c7de767d14606d6e8ba3433e39b92f63a74777c9455663e780b9b126:V$,d66c82f6fd1876feea950ee8c6152594dbb76b725a0a94c1cf595f6d6d0d38fa:K$,d6847984a949d8d3e5c54f4b05765e0437010bc1dc4cb339383b9c97efca3c4f:Z$,d697ff2689dce633a18d44eec9eb3a1120e1ec862bf35e202f8a5ba6d9cb5474:Y$,d6b76092936a7067ec5955a065dba03739b79f94939e03c4af95702d7919365a:J$,d6cda57fc8ea25abe93a2374519b7e1d2c23b88e78b2d2ee9096df254078d428:X$,d6cdd711425f3dc9bf87c4cbdc223b1e16471ffa7bf171a620aa9bd7ca443ac1:Q$,d6d8bd58159891199d51154c42003ab8df341796429d57fa6f114a4fa5e58deb:ez,d6f5725a58dd8245c7c02b1678ac02fb6d9f91401ce13a4e8933e5af1a8baeba:az,d70323ea9c330fc4e6c420dd3fd2fa98acb4e4891643570e565424071fd7bf1d:tz,d70bc99482b6c3ad3fb10e2e6d1111edb382c527843c256c4aa3b492aa2395bf:nz,d721105819c58b94ddf6d32963d161f954b68278273dc71235cd4b70b5d35cd4:cz,d73378df2c758782321a4558b45d75a9f0d529e38dc36a226b6d1c4aea9623e5:sz,d73c6844b35fb4e83268cf32d6b18d963060561a34d87dade28b9c459e33db79:rz,d74014d1ab19a2439a378d46fa4389c4531dc3ab544f4f6cc2286dc44f6d3615:iz,d744e5e2e2596908ebf483783603aa90f113151c0a3b3af61dce328ed98631fc:dz,d74a8a8e7f654b5f666f68ea027a519b35d7eeddd489b308ea5ea7dce5f1f2d9:fz,d7714e22fe3e30211eaf56aef73046c9acf02f241e031b101ba894931575a956:oz,d78786c81153bd4ac88a371484ba8b83b1b4cbfd0ad6a7a2f0f956340704eef6:lz,d7ad290e8038e3384df46d349e6cc3f002fd1ce76e41cc6355d3fa66bda73142:bz,d7bd3091753cbda2b19559b5170de10fbd9c5e72bbf8c720618e6535e636ef85:uz,d7cc951caf35525e67d451ff34f98e20757806f6cee3af758ec5a381c0920f4d:hz,d7dbe655b049de9072f1997a436359524f016e2fa5fc8d95fc1d02cb3a717a2b:gz,d7e754806b7e98f4b3288867da3648a7e577726d519f18272c17526f70db1038:mz,d7e8f44b43c70f14794a4b747d278d01cdddf906c1ac7c52973ffe95f566c668:pz,d80b5e085f2d79f4f7979d5b3f3eef3f2ec8cc890a0e0a77153c09c9dff65180:yz,d8169e3d59b4711e5de9e905125a58d87a241d59e9bdf23340009f78b97f045a:xz,d8234ded7e0efdb4cb283b8f649165521b9d49202d8d1c8634d5af2556319c25:wz,d82cf8d2b68d305491767fe834c89559408714818c025349b9219243d4540713:vz,d82d2a547d3fc0d2689424124a3534763f384fe755138efc7fa4bd96a5fcafdb:Sz,d8566b1a9043b92003f121ab9cd9abf88c6b025a4ec910aa6bb77ad8c46bc0fc:_z,d85d4c88667aae0af7d7f700dbbd43c2feecae7bec41bd3ff2110f1c90f5ec45:Ez,d86d2f105b2262e6e29ce82c6769ef1485309860ec247f884c3490d94ea78ed5:Cz,d870b01ccd97f1d602c28c497cc869a5bc5e117b5216cfe6b3add92b243bef22:jz,d89009a3cafb07b3ab5b575ac8fe8d57b90f6f3faf9e6e533e4469fea77c9841:Az,d89f68adc925e4e0943290feaae248ceca9236d1dc3dc223355ca85bfda512fa:Iz,d8ab406c794ea25fcb701ba7778cd88d8cc07ce8625183f28c0fec08cf125b4e:Mz,d8c29725d82bd27dd79640d87894a4ac9443e3b1cf3289b45c5c519223356e57:Nz,d8c441a14ae6919e8bdddd50ef78c86c54b8d1a16a30cb065cd9bcab4d28ae4e:kz,d8cc41158e5b3d5a2ce0eeaa222c60d515f6a732d9a50d218df1e801bd1bc74b:Pz,d8f5e1c237c91f916059dcf23b991233072b24236b77618365c27dfd1fc97a01:Tz,d9177cdac99a353ad6f8a2a0ffa6cf72976ca742962b70b2a2c6f01d7bcd7ce1:Dz,d93383f65d961cc2486da97645aedffd61169581e0b6af8795f84ad6850a5849:Rz,d93481e4beea380b58d7f709d7870eb2833fa09488fce9fdf332e0241b8f55f7:Oz,d93656215e5fe3e5162801e4ab5ef82327b7037ddb8ee05a84dcc3158a9f5387:Fz,d936ea20aa11f39e614ebb8b622f148f57f9d821b1c67282504b04aaf2a16655:Bz,d953229355a787ec2fb014de003b492b02387dd4dcfba8758943be8ec1a3cb3b:Lz,d96727f7f99b6d4406bdef79ec311001565136854330c2228b2be79b0125fa25:Uz,d96cd6eacd2e828edcb1cc536782da0844c6f0b1929dcb02b3fe90d20fd5de74:$z,d9737037f8d7715b491ec632923a5cac6d423426d4c8b492e50abc36e5352506:zz,d993043c1fcb910f15646a250fee472a6b808d40de0788024df7366ad59f57d9:Gz,d994021712b4f57a3cdb391b508e3079ea42eda358e1b5693d090269ba69ba1a:Wz,d9a488ebada27af9d7af69440bdbb4eaf9882e617a4e190c816461f1d4e25ade:qz,d9a4c50bc78894563719e95de17ded4a853d753da7070f1582d68f76c0fd4f23:Hz,d9ccb69fee1f1bb6d9e953aed416b3d66a9568f1470e0632797cf6f4d5f2a2a6:Vz,d9dfa36474ca66b8a11313fcda14b189fd76a719539c3ed8f4bb58b7ec124e44:Kz,d9ec27fd2185dee8c490cd1f8190761d82f8b3696382769b8e3812916ba866c0:Zz,da08b38db68043111b72e12f6a65fd093fb1ac5c79df32303c19cdad6f8e6e5d:Yz,da0c2565710c7f9647d47888ec29b8f61d0fa543695378fb7629654c4f582096:Jz,da261bf75676f32ffe7689c57e3bca0f79d12407ad2f3910f8c978692085f56d:Xz,da3b687402a526b6619f1d0846d3f558d7a34c6e7b525b47a86efb6766fbe32e:Qz,da48325d189d163b96f6ab4892542e64c039f1e302b68ac710420599de3c17e1:eG,da48d92a1d21acb03463af24174891093dc9c3fd60f050879d3469e6fb173680:aG,da499eeb0eda7c8cf6386922e467e67a9ae4cdcb7297a501b9dbcf7a771b9476:tG,da541e2f9a66ca3486b0bfff1d8b1cc604964461626e676d50a1d7bb75b65a9d:nG,da7dad7c25952e799144c5d733e19397480bd72a5a35d6c5285706785259357a:cG,da8c900245a686955fd16ace17613552ad39019b6abbfbdc91c1d3dd225f8fe0:sG,daa9df10699c31ef292599af11f39e3fd50a4c4e3a960a4f60332da837c54654:rG,dab03bebfc5ba54cc3899d62e9acfed773a7e94bc3c20af2c22262c7c0d41c1d:iG,dacbeaee96a5a099dd3fb1cd1d8d8f4557da595d844111ecbcad3a79ef8a655f:dG,dacd6e9906ea76fa5295d3890b7732f618546fcbf31bf19f67d11eb9bdc46c58:fG,dadc58e3fc17de2df0a8804df36e023c2d026fada89db79b6ee12ac39c2e3d68:oG,daef49ec8c1b8d63dffc8552b8e41206a7ffdf54067268cf7fa29234fd7a139b:lG,db129a54ba4f463fb28653e36ddc1ba0d2ba64425498fe56efb03f35d44b1286:bG,db170925aa87e843ea7dc89c65b5c4584bd1a7921f33f1f19d60b6ae1f313531:uG,db2d6a3a8dfe3cec1b6d690419614b6af2205a1d88ca310ebb530038ca963787:hG,db300e5d95c7a505f601c2ef7accfdb4401c092069e49f4e2fd4f846fe7ab2e2:gG,db4d2e6fe3d7aa65d128ca38d494eb864c0884ce82b0f9dabee77404ecbe123a:mG,db552ffa1343ac744e6a5d9c3e9cc313bf5a2babc75d533f41b6b40c2035e071:pG,db5d830edf567d87bba4c6ece9b42ac9568f50ffe0ece2c07d1eb972f286df99:yG,db5de69278666f8d43077de60af18fad540d426739bf32238aa6118e75ad7e1a:xG,db5e208eea53346214ea6e238b4f4bdc7d648e13ff78f360f5fc2f4385dbc305:wG,db65314bb5bccba8485b51535945028eeb511fe1827ec43a1c8a03346c6302dc:vG,db707f74773c214679fd636469339061fffaa5262a08264ff9c56b19517baf99:SG,db77bcabf9cd9048817c39dee1e0a84a807cebf425be03cf90b22e5e427a9d37:_G,db8f94a7bc2fa6a0fdfee4fefbd5c6d5cbbf0d609e5b1363c21859ca24a9d8a1:EG,db9d2aa8933772f9ca75f03ae5e972d2b100deca36b65bc39429211d4a6883a6:CG,dbb6aa3fe473b263be7c6e03a799e3872c2b6fcb8eb68bc867549050296a2319:jG,dbbfaff05cdddaaa6d7fb91a3f80500f8b58259929d53b825d1463c9b594122c:AG,dbc00bbdac0d5dcb50ceb2c9759523eb6af429efcf137af3be338ce6355ec609:IG,dbde997aa32d8dd5cca3d1af0c45dc87aadd3f612988762f10b6b511e829b71e:MG,dbeb0bc09e8f59877c7de57b93a0d6aa6019f421367550212ad4069200bb953d:NG,dbebf798e5ff274f55bb3fccbc56e97fcdada2e1d06324a75758b228c9353276:kG,dc081c3441eaf5a001b73c866351d5b8d267b47b262cb8681654d2f0f1e9ad05:PG,dc13f083868b4ddc57fa43c4a55396201a415a9f64318b3b11969b3fe170ac8a:TG,dc1f05bdd9355c5102a1f77dee2cc5c44f5f44e34a4cc34ceee8f89e9b35d8e4:DG,dc3b9f642efc7a05b3f77a24839581f7e003964fb6ff6c52104cc3c924809327:RG,dc444038d668b032923e3cf9c5725e9f479d25bc40f4e8b4ae8f759c2fd721eb:OG,dc4ae5e758828c4fb1a2a0f7c9144e0d2110d1a2965d09d1799bac27904cf0d3:FG,dc58fb0079f7f97ccc3e6eb76c754a6c16db6b4064254051e13ed520605e1dcb:BG,dc5ab60127d20193ccb5304db0cf042a74bda0784122b6c32f87c9927d1d9247:LG,dc6008f87d2e6003fe2a7d8a76571cc734ba74cbd26d0bd9545634faa02cb3ea:UG,dc6bfc05ce574e39fd1e691ca3f98ce78edb8ce9b3fc5b5835d2547723d7dccd:$G,dc8a8653e33b67ad2f85607c8314ccfdf8fcfbd0d23cb205821bb9e8cda40495:zG,dc8bc592523dc469d5455e25f345c8bdbaaaa555d9efd2efaaf74e8f9cb6c81d:GG,dc95afbf35e96e25d48cf62c1b66c2090c3280d73c393b7b692d351bb46cd75e:WG,dca0d7b1822819f0284ee6882f7bb24f012776a63d6e1507d6e99373db731bd0:qG,dcc5bb419e24164892fc67b3934bb3168c9d7668ae224ec23c26779882967244:HG,dcc988aaf3d584faefdc36f1f36be48380369ef7dcb4b23043624b0f9d88b1fe:VG,dcf8849e40c4b0fab22b3dc62ac4871b0a18bf3e37a6252cab034a8f44c1017c:KG,dd01f87c73893e294c440413d01e7d73c5b970a8b39b7d8252a7e5ee5947132e:ZG,dd1cf12eb7a24794218ff651316a0652286f07eb67653b5fc5f5dfddef1e3eee:YG,dd305d0bbc08da7e40a2bce4dc8706008aa192976aa5302aba51507272e5cbc2:JG,dd42820c5725f3f8afc71eee7144846e95856031bdf8b6d846076abcc56f52b5:XG,dd59989e304fe06c4db63c61045493633f09b086ed4f19ea29c8415a36ba2f3d:QG,dd6c7a4e921d3a521487aec913168b74caa3de2c630bb9bab72d358837a9e987:eW,dd74754c1514fca71f078224dcf5ddd4c8bb2fde4f068ef96dd2108dc7787e52:aW,dd759c57bfdd79470407d34c072aba1d04596628c30ce784f1657a88486e3c9c:tW,dd7f1d57cfc3645a121227af911b82e24ec58bc3b6b6bd67b8747dfb386de485:nW,dd92355aedba5bd664dbf0b2304fff0fd833edd12d22c0a6c4821519a49dad29:cW,dd9ec8106d2d05052428b64af0eb2b9370826d99b37845c18ba25b6920bfc9ad:sW,ddaf19a480c6edf51e1bda9e43026fb4944766c285d61fe25abd6ec3328f27d1:rW,ddc6311bc30c91a2ffc9cbf515dbbb8e958f02f34333f6c1856040b74e4c3af1:iW,ddc7376216f870920ae6d657201bb9b4b7cc0a1cf41c927b32c390ea28bba07e:dW,ddc789e311c0afc1006e4541d5991a94f3b9527e373e6edc6e58a0c8efbf6f73:fW,ddf72e96f59df3270d6c24033bc43be43a4b8c8f5b709e6b63c19e0899952b2b:oW,de159b8c78be1d7045a6cd0e7eb370c112a00ce5c0c3511b279dfd53132394d5:lW,de17b4bb958855b6330e50025f19fda14231e66f06d060f30eb55570fa959b5d:bW,de34e22ee5e11b62dda42e92810f6024af83afcf6ab9fa1ae204983b09970d25:uW,de3ae125315d5b3f68930f760e103911e269ddc64cf63606be16fbfc7b5e1781:hW,de4621240d37e94aa03b5b8521b239d803d1b5ab015f7f946fa52e3a90e3d42f:gW,de509848307aaa36c2abb3a26f3ac604f05952940f553a8c119122b93cb9da87:mW,de51607ad1897099c24d9eecd8d32d46ad9b46e88da967c7c709aeee6bfa7321:pW,de62747b5db4c0a0cf3f1a25113788a8436899882c1ae6e789105837c0af8207:yW,de71ba434a5089c345f2cf93b33b8d704057abe5b4e1979dca60d6593ad46d06:xW,de949fa4916802859d9f38d3a34dcd4b59a90f67f507db6a2603cbaa900b43ec:wW,deb1031698e2278fcc9e1a8908b9cba523ea92d95206e450ed1f09e2f4390bf1:vW,debd34cfeed338be7e2d5453d99b49bb8254ee120b4c666ce968be157349b799:SW,ded0e68a4d8776f63cb9700894fde876e399782f140e5e77fe8a7678494f9965:_W,ded415d7eabeca06526a2989167095bc845c1a511d198ebb5d588a99024d0a16:EW,dedbaee96afe679d8278511408e7361e592f7b1671f1ef2ce53c1336aed3443a:CW,dee2301dabd65a2a7639d5389952346606da1cf536dfe9e76f3de9cd384725e7:jW,df03adca02730b19669b28d22229829a2b763bb8738a1e306d532878e180f716:AW,df05076f8f33844fa05aba86789e62b6ca6d861ea15a48cff3d5978cde665437:IW,df0c7ebfc80ec9d9a8a9cbd4814c1e7386d970791a0c4412c96cfe901ea7e7bd:MW,df1ffb9c642dd5d62ac72b8e9dcb4fa034acf676a48a8d3bc2cb0f351fce63e8:NW,df2cd24d989c0ac4a36dab346f3da4b1497ca3d31f355f88fec35bd330bae6d2:kW,df44712a03d8a5dc4ab4aafc84885826bd6c0d50254cc8b9e3f46b7207728bbf:PW,df47da9563515832f5b6b88a06554451560310db9cffcef7aec6bf1530c390a9:TW,df4bf57dc2b84d497a8c7e19b9e64325076738c1d6cf15cc88a88c06db9a4349:DW,df609ccd64ba3b04e0781086b21206cc48605db786ed175f5cb663fac096f6d9:RW,df8f1864474929cca803fc95b33991dc33e18130b512d88ac8b35ea31b7dd973:OW,df9d2418bd1241cc47e29f17151aff3b34a987081cd98bd3d52b041d421293ce:FW,df9d67d641f07b83075d77983dad449bb2b038e6a6af08d4ddfee59fdeef0eef:BW,dfac389d850957fa6523dc135e150ef5df86266908addaaeb09d032a96412636:LW,dfc6e3287e1a2eef72a4d29c20c281ec556c46e737048f9ad6515bbc8f125529:UW,dfc9664f592a7726315d724f81da880f551917a7d85a733841ec5e54f044e72b:$W,dff3bf581867c5bd8219a7604ca57a57137e9f800df15fe0b5b7d7b0aba4a781:zW,e002a7004a2f12ee194d9a8abacfe90924ed300aa7908e7edb88f3afb424df87:GW,e00d02285dceb66b0d0e8876255ec8debf6c2d914e3e968448549998202614d7:WW,e034294f697e238c54716c31e4f4f74731c3c01542f570b9448ebfd0a3990aba:qW,e03c034659d2e9449e0250459d33b447a247f073b5a5b250905e29eb5a37f4f9:HW,e045218909d814108d8d6ed681bff6986b471fe80e35f0951f90f67ca2a94f68:VW,e051eba1cfc1e27b521ce9bacf4af87ec1726a58657a18f28498ca738390bb90:KW,e056f599cda094b2319c69ee4f7765a112e0756309ed2c55d4fc6e03f81fd6f5:ZW,e0596ed15e9354c832c7ffa72c096515ecbb1ae5d818c35bc4f814968243a9ae:YW,e0704bddd0a84b85e1ad9fb3c2d7c8fe7be0979bad3e1cc3f1f00b8fb9676d16:JW,e072af772d2f9a017506e3fe3d3f276e8b1d18ca40216e71310ab2f07a36c142:XW,e0961cf2edab92b185227cad128c04a3c5daf92ccbf099a7adf2052ccf25b381:QW,e0aca0d696578cefdb10afa2f0d4527972077844a7a732dd7aece79c0b29a253:eq,e0adbc3715487509396ed3952e613811fea8c7fd661cc7beae79127354024e0e:aq,e0bcdbd14c3f0a16cd04023b778d2ef8a2aa260d02bb5aa55481a4a5523649d5:tq,e0c470e614e0fb9c6c993f373c5d57957e0262b10be3b0ede4d8eff2e9f396b3:nq,e0d7e1564ca5f99ecc7dc3b559a4dffafd731787cdd71b5a3a9d91d0d1e35d82:cq,e0e79e2cf47373a8eff293b3d8bfcf1ff102079fbe733efe5a0e2f1f2815a5ff:sq,e10e7445c65a59c1cde70fbef9326bf9b007d89486c17e90e868cb4927009626:rq,e115ced852f2237067ccdc676985d08c3787e5a73d92494d278634f15442d9dd:iq,e11c52b9073363ebd5b0e41723ed35e9b7577be382a35f2e9f1f34a4dbee8d5f:dq,e12f961b5168228cfe1e53e7e48cdd3179cadd37c3a7f131205573939f427d38:fq,e14be7883e10fe04d960a3a6745fa60bdeaffca910b713864eaf46de718355cc:oq,e15d72ea416c695e3afb7d7c18a2a72208d0c59af3a81a74433382737cdb9bfc:lq,e15fa54901f7152ad89099837a94d4aa8a3a128d9ca94e58c477992e4fcba842:bq,e173bb1721d327094bb9a032dd1915d66a7b8f83fa70db8bc782fc80e6ff1817:uq,e1750e50274dbdd4590e729b0e7b32a4ca0771fe37eb7bfa25a41763629646c8:hq,e181bdb2b5739865101736bec7f7cc554ea5db47f4b80b1fc4ec89ab91af6f4e:gq,e186e1d9ff83b74931699485a64fd7e7f34874fed00f671f1a52eb31ef655c2c:mq,e188093098d794110e538606f37bf38d86b530950441c6b71f63c93a38edb52f:pq,e1b1791d8e0c807d3eab7d7f67196aaae64d5ccebdadf3232dea74296daa3484:yq,e1cc2eba5f30a5b91582a6a770fd3ae015cd7cb1ca7caf965cb086ddfe49e52a:xq,e1cd3b56e9ce23aed010b076363f14b3083c358c9e114704c1b28ae0c7ebaad4:wq,e1f58faae589bf4ab123de7e97ac62052a6f23809928bcaa70aa169bfb8dc91d:vq,e20411b3ed3e6afd54c4097bd45d9648b99a21967cdc019dcab299d42e0734b5:Sq,e22457856995302c1a6d2372392364cdad9b503dabfe1ae9e21551df362b7cb7:_q,e2309195b6281245d82cf3e8e1ec54e8d934374352fa33ff6e8a97d44a7eaabd:Eq,e230fa63566131d4c495f6078b92aeecc57593bc239ef352f14c1fd175c331a9:Cq,e23e755b5a821b4d753326f4ab85d0de4d25b36d1ddd213499c5c28394f6ecd7:jq,e241d347b2a01cd64aca929509db4853e33653301841a1d19f72c7162adb7041:Aq,e2594b1c0d6baa663efe2984e6124481e4476b032f77f4a25018bfadfe26ca2c:Iq,e27a73efac9403148bf8c311bd01aa10b7cfc40beea5c4842e8d14ec54b8320b:Mq,e27f1a91df6977c196f424f35a667cc6419a6f9467cf2e22fd975f614d17a780:Nq,e28ea0e8e8ef1eaf6d563c14d0f3033153f2f996a2e75ebaad6edb2306cb2181:kq,e29f5c77c6d47192b9c91d9c2d0d370d46740b1db947d5da5c7202231035930a:Pq,e2a16325994ee91cae3b8eb1a51d9625183dd9d6041b2f22440e68a3bd8964e3:Tq,e2b4879cd6356e13b6402f62e92934b3a1457454ce297790fea8408097bb484c:Dq,e2bc1ec9ae5948d480e1a413a77841bdf7f91ed885e7447ede8f60a54719b7fc:Rq,e2c81ac21b2c469128bb7e77f8b84ee0dc10e89bf07578a043861a8028cca053:Oq,e2d5fb5d2aa0c227f5dafeb05f2935738795aced43904796b1df7e86811bb209:Fq,e2d7e07d89ba7c551469d9aa678cd09e029194cd04b25543507ad6b099cf3de0:Bq,e2f735f85c22bae4fe1d2de8ed505a258bd293ba5fa368607750a16703827489:Lq,e3012cbec7ba3b7709e8b5dc1a7fab68969462e7d43568fe7d5ece7664ccfd5c:Uq,e304baf4fc494ed23110be70704829dee7d72a5743a3507616d1e951b2f2cc9f:$q,e32180c6ec529c01f4906a3c9c48abd0d2dd75c0a0414fecf4751edc983a42bb:zq,e33b49d43171c3c5a6cdef7c0d9280fc52facd7ef7afafd456c4b8f5974755c0:Gq,e3414efdbcfa1b1c65e6ea5f3f05f23f242e3374cf42225294da86ebaecb6c22:Wq,e3474d75bc26760c0e59943d1fdba7d69d452a1e3148ff461b6d066c32b22019:qq,e35703ddd5ff0c205baeb0fd46f797c7fa49c20f5b5b432d37341dd392e0a81e:Hq,e361eff7579cc5413e2ad6cf83737db1c3cbc4edf470b6aaa600437ccfa40d70:Vq,e36378ab1d1fd851068f9267a71b705708f87524148d0038cb1df17e14c33863:Kq,e38f36790be5a9ca00cb0df81c38ce1e9c2cca3018c83afb8ea5b19472b3b7f1:Zq,e39f4c2f86d7f79a77e2f710757bb87cd6f58fe9e42b72332cac99c81a1e73f5:Yq,e3b0f3d6301726fa549231bcc93c39302b1c76f1374a3a4f75681eb326cfb4c7:Jq,e3bca7321a530f9c8509fe43527144c566fdd83aaca0f25b081dda038b92df19:Xq,e3c3b152ee0fbea4d1292f59938aa62fcd3596012fa9fabe53d4fcf2c745ca7b:Qq,e3fccfb20232ccfe525af3b2b57e097cd8e650f6652604660e0561e08e9fe14c:eH,e3fdc515cc8121d559e6aa229024f887a49506d0eb9ebb25672e780706529c01:aH,e40b22016b5eda66f3d0012f56ad9085732a44f3b1a598ee6c5fe891f54c590e:tH,e42acd1ba67811f65a2319697c94540ddfd26018a813a9821e9607f52a1b874c:nH,e435ff4c8df032de9453b33a2038c9a1840b5c3bc62fed9bfd0caf50d7541bfc:cH,e44355a480d93d551776f59af9261aef7b5df71e380a398b317a33eaa8ca2766:sH,e44ca3ba06587dbd84a9026a03aab6dec0a9c4dc1d1d691e5011d7fe569ae2e1:rH,e45012fa10c99b302115c4c364d1e6d40f0441b81b3a9a062ecf18c839baf042:iH,e451ed0f6c23fe6a3e88047bc5ddb202b18a5605d76101e5d97dc00f8d7b7d39:dH,e452daa5ef92e99cca19d0f09e51bd57504fceefa0232925277b4c0ff328ee37:fH,e460b72eafe14395e5b342f788f11b6c2851b2ecd90e1cda1ef5275184e3559e:oH,e4741e9abdb9aadc621f3673bfb7305b92f0577880e710fea7837f33877d104d:lH,e4935d75790b0ffa874adf32f993c86aa3e99cb67bd42f70e5afadc7731aba8f:bH,e4aa9ee3175bd0dfdb3e8d9ac5b23ec3c3188f62439a643b4911c84aa78b75af:uH,e4b033631bf45dba3c408c512f083fcaf16ac2085de57b8297a53279b69fd291:hH,e4bccca2617fb17494bc65f32c03b5c6b65f059592f4db4c2b832dd858325760:gH,e4c392fe37445106b928c24c2bfa5b9db9363edae514497b71b060a94655b37f:mH,e4d2435b7591fbe15bc82440456dd40f4210f705c602be739817315a950b5f98:pH,e4e2083525cc4e631589c32846ec02eafe7b1b979043301437dba88a780e900f:yH,e51786ed18b59e41a139b7bf126734907b071a313b940e319361973a3dfbb67c:xH,e5180716f378a496b74f8f1afd4d8e956414c8b0eaead9a40943093f748f64dc:wH,e52ed76925935564f1abafc0357cfa2e68025a4b7e0b3971f49e81b5f52e7106:vH,e530e24eba568a92091004b2801b4abb02af3e2d71dcd26443cc4b26a2747627:SH,e540bf1bfea10e0a01082a59755405da8b64561df75c45ed1b4503197409343d:_H,e546df1472b251194faa2b5fe24652f4238e470ac4b10db5528fac17a583851c:EH,e56d29a52f25cea5c5e275c3baacff1059816677e593b6dcf64b3e3d3a3ec45d:CH,e5708833ee15d07bf2f5221a8fde0e49d9b83c561cfe5e4926c9ecfdadb7a69a:jH,e57aefed82a35d9fd0c902b40c3e3c3f210fb8cfa86def4090deda04b87a34ff:AH,e583d04d69aeb89d623bcc5814333f8fc3ac54aa4c967abf87251e3bc243baba:IH,e5a7f278ff004100912e5d2510e76f43c5ce09b5e118a455af4c814aa75f25c7:MH,e5af4a8adcacc2aa90ea83585be7da1322af3251ef1bc9fa85bfb601dc19dcba:NH,e5ca7c847a0bfe35b5374b0853529158658c78fb54d3ec7133823c7050e27753:kH,e5d2a532c7f67f040b20b428189158b5fa08f347e8e38957c71cb6b48478a100:PH,e5ec7f84e205f95c0eba11858966584d5ca1058f8cac4630d6e141fd05a34113:TH,e5f633e785c7e55acc97b7847ef539b5256ef33f503a217374d7e820d9d2b010:DH,e60275a75f95a6a1f7e0045f3d74ffbe4ec6b1866cf2780635b503258e4d0f69:RH,e60526f80bcfa34eb2e04a8f3f30f9a70e170014345ad81eee54586533e90507:OH,e60a780a698f383e8eab39abac7dc524e04066b14d81c25974f57a14f11bb11d:FH,e60a9a15e3b342149c5fba259e6fc8b7d9536eb26d827d0f7e317f8ce09a2da8:BH,e6294e9581de32a1ccc4b53c1bcd8455c3050900d029c214cd2debdaeca1cfc6:LH,e63e1799d45994196bc2ff2c33ae2a78e5ee8586688ea25c9c99d9b201ff39f3:UH,e64441320a5ea58db7c0988e21a7e916cc2d312da3c3a2b0c3ae06ff30bfc531:$H,e647614bf94257875370df092c3224cf4568b101de4dac6992d7d633da5b8cff:zH,e679db7715a4be0f9057a2028de31617f0eb8fba6096ca45b709596bf7b9ad48:GH,e67bb94a0d3d2f5c0f4001671c7537d7964ef5d16dea2dd933eb61a91c136296:WH,e68a9d9b526fee5bdf83864a242790327f4ad8bd9b93bc0113e15c2a0b6959ec:qH,e6a0cbaaecf925bc9531a21430db8c105c9836712f97a3d3498715e11cc5a8c1:HH,e6b32048989121ba99e2edeffcb35ede82dc7105ed869451d36ea4e62814c578:VH,e6bcdbf97b54b64b4af91ad1d0772b686ac98d1f6ffa7c2a2ad3f8fbf40b5569:KH,e6cecac123204d462897c9ce3958b0e30922ec2e83cb8eb10f6a7e47d2382686:ZH,e6e53afdf60e687b60158074699b2129160628dbcaff73d78f7b86cfb3ad668f:YH,e6edb308bfee42a55cfa3bf73cc8029b86abfe669596badd60aeb5be0834e913:JH,e6faa79bfd8534fd4de067912ec79c456ec66327b38693489ce4ada367399001:XH,e70190d0760eff953c44b55f776fc7b0588de2b16e84c9ee62457e7fcc0ef86d:QH,e7032fb642285ce63726440191c6816c7f063545ab868392bead6f15aad4a64f:eV,e72bafff06d0e36256d3495264fc847f4129f3a1defffa653f2d6114d3703519:aV,e72ec0565e781b9844b2cca5257a3d18e5a22e41ce7ce4761c3c5f056a770b00:tV,e74fa2a10208cc18e2e9e8c986cdd66b579aac2ab6103b5da1203be7acdd8894:nV,e76383f336ac784403208e7cbb09f19157861b8f03c76d531b593be17f362fe8:cV,e76587eeb7185cd0f80ddfe7a57dc47fa4357d26e8a6940f73d07d790f48416e:sV,e76fefea9c3fdf55381f55b94200f79c1b0d895d0ccdbc37a3c573eec47d3dd3:rV,e77e0366ce2b37a9deb213c06a066dffe21bc742afbe5d885176013e788defac:iV,e7861caf6c410395c75bc9d92bb1624fcb3723e1a97003c728b44ba47fe5187e:dV,e79e9dbf3820fe2b72d5a80468469078ee4fc07d50ed26393bbb089950bfe51f:fV,e7a72b040e67240f7213b5307f209f4bd36567fd01fbe9cac833364422937b6b:oV,e7b46c0aef3a3f90ad6668f4b1d2282cfd4156d26fa8449c99de921e339014ad:lV,e7cc9d209a23246be89542395c1d7d982c1585d92012c93f9519c5e219910405:bV,e7d3412ea6759639e80af7719f47a997ab963dd52ba1bef7e25b409e5306f5fb:uV,e7fccf8622f46803d15938b760770e0653583e9e8c49d6eea8dd839b0b308d98:hV,e80c4dedbe2163d5def2f2f7403757217533ac937480505330cbf5e5d0153378:gV,e813dccdbd567afdefb198623064b978423dba83ec855a9e9f934bd4e6781687:mV,e821a19475db44982a05dfb5e4d0472acad30833e4132516bed37f3650ee739e:pV,e82e9d5f40f4fd28b4b65566aff126aa67789c450aa2d406e7f57fb0b3e824c1:yV,e843c762ec65654c9fe4318006ec0a5d1da148901b0549bdc6fec892909d2e59:xV,e849d34819b343306bbbc32c70eaf8711aa821acc18728f66941e55bb9ff117c:wV,e8537483e952367ef8cbeae4617f6de48a0bfdbf36f5babe42251d1caad8d13a:vV,e853adf051fb4996595a6ada6531d47d0e6a9ccc8e7f6cc229f3375953a5a17c:SV,e87790b6b8b887ab68f82624791738ddc9b1769130a45654bd61d5ba80ee668e:_V,e886d7704f63533e45cd7d5afe11f9ddc90148b838fa4f9b7647fff648ebd830:EV,e8a4384cace0d53f66d9d5a8d626c9298e98e9c481ee2a9dc883afad032a1fd9:CV,e8a8dfad05a67e141732efbe2d1d96a8dde08f3c76656687bdf9e99e1aebfb49:jV,e8b66293f6fe38738bafd62a44e950ee4ea0040af721583337736a0666790cd5:AV,e8cdad759ea74539831fc7449d08428acbe744eddea629a26c23f2e90ea92739:IV,e8eef9b07cbeb0fde2e0530ce4c5141b9e7191c5621961e2457ae6b281657776:MV,e8ffda9d415cc6cd20ee67d5ff07475aaf28c7697e1a36ebca3737bda60f6b95:NV,e90aadb681db7bac54fa6eedc4574f386f8dcff69879c0861746677f3a8a38bf:kV,e91e8de8562c84ae74d5ca362af2b2eacc00c6f2e957a70828bd531de64de028:PV,e92014e21e3173d7544d2d370da0c00496a33db8af0662b85517b6b2ead357e9:TV,e92ae0c73117bb39422593932a39f7764f2da7b64b6d6863f87ab5bbc86caab7:DV,e94d72db7fd99371d93cd7b4cb969c3ef3c40d5d971ebcbbb458546b38aa0141:RV,e94ded5857296f90577242d4c66e4ab77dac8dacc57185a8ab925cb55ab88d12:OV,e963b7c7e1af09a83165e3fbafc82b99c11791f319a0fe100fba67bc760751fb:FV,e9781d2f22157dc64b0ee8f67d8ddb60262a7754d4b998749a12201e0736cac0:BV,e979b4a200af72a6a54e4263d6991467264f8f5941dc0989344fe4c82c4eb33d:LV,e9945bbf9fc063c1c9cb14ae65cbe011a2852d1026b8ce228699abadc4bd5a6a:UV,e996835e41b5e9dac62257f62ab71d298ffdb567fd64563d9862ac34470fbdb6:$V,e9a0f9f0ace6db6b3acb69aa87853f39a81ec6d787e53a7897e9405cdba3bc76:zV,e9aaa68f1bbf92a82805402447ca28e950a8bad9fabe6fba5bc81c067286c3d8:GV,e9c2afedeb6c05b2ca5564815f1708f796ae835e2a763211e61da06265723425:WV,e9e74c2e93e92a81cce6461e77a3e973b5412f3498c9af511e580d07704c9abe:qV,e9f88979fdc3797566d5d206e9091e4a146e79b395ce9538111da1dbdcf70872:HV,e9fa9de94a0d25290ea901473a8da71adb2e273c9307bf832cc6735ba0331172:VV,ea0d2f4a3f47aa21ee075366359ac37578d5064b1d5d0bca11ebf9aa8fa42f7f:KV,ea1406e0a1426b20302288d2507190f0641a1ea4b35b19a5d22914f97b737bd4:ZV,ea177757c78eaf5ede4f3ea9822c0d0984c2daf02356da451507d7d736f4a3e4:YV,ea1986ef2f1a25e1c87832fc9c1dbe880ab7ca5fd085d955dbe8b48d25c098cc:JV,ea20ed8930b2065744d78e593e16362372137275c63f03e75a90b747149b4b8c:XV,ea2b772850e9004e7358d9725134dbdb0eea90b16ffab9616fece373ca9adcac:QV,ea4c0a6627e73a5b9e11336407af9affc25e2c229d7f732b56f5f6f0c1d5d300:eK,ea55ce8d15062aefbd1912e8500b1053563d01a43086fdc49fd5f46c61d7c356:aK,ea755fa032f7191812f53d52e804b9a3522f5951dab42e1d6c07d0447842c7e2:tK,ea91b1915d192a4b755ba5fbac9deaafc584449a059854133d5b5f47272e2d96:nK,ea97530b5f20a1c5df0f53c7190aba89cb87b432f63923534c9a0df831f4eaa3:cK,ea9b16195a0bac0ef2dbdad3f1a9151698873b0aa5c1c913b3c7ce750f7bbc4f:sK,eab3dc4057ed71f56cacb9cc754e709b183345853ae1ec516b2644f1934ebdfe:rK,ead32d96fecb5a58e4845e148eca44d6d8892975f1d01b1c9da91121976e0516:iK,ead8cd94a750420f7596b07ea368f523836225530f90d7ec8af5dc1e3c5d4d74:dK,eada6722670c6de6da7d0470167bf14f6e4dc1b98476da94a7330041adec26a3:fK,eafe56b6c152070f95e2644f7b201be80800e7d338afa7ac27f676709d891b2c:oK,eb0e5ff6460434dc5b94b60da44435b08880005b255da4d474800d561c56e1e0:lK,eb1464a65487ce95dd7e9b5a92b35c02399df9d50dfed7844c1f6a95c4f92879:bK,eb284d2df4fd50b252ebd12a0486de3e46c0641d98cbb8a4f2894a43607eee61:uK,eb2be8ca19e7e4bf9df50c9edac6ba9d5eb617de38b1923bda095bf75e877ade:hK,eb313fddaf828b4f340903285d0059e697f527ddffe4d84613941fe84fadd5de:gK,eb4c366d4acf3948eb58cc5194779a3c3c74e1b4806abcfd09fbefe5b888e33c:mK,eb71df1f609e0c53ed139d2ca01cd67294828d74566c3fb8a39fed3e1975c2c1:pK,eb786052533cf011a971350447b85deeb361c8029165f060f085752385fbd32e:yK,eb7a295166e9f0c14aa4206aa54583ca5c3b3ab535189131b235c8111240708c:xK,eb90a32ccfe56ba4674d08999c075c55e030a6f6dae2179a50d76b80e7e60dfe:wK,eb9b7173867707559986c356c803435e7e5b02510af9ac55f1940e4782173727:vK,eba1f039af5ff37a5004fcf3c95ef26ed3c4eb48550510049a6be0e3b070bd38:SK,ebc0c5e7a823a5bd187935ff7c15813e86c3c11cd3f0d95ee6acebab547308f5:_K,ebc4b10f5769fb6cf0c2351ab287f1ee559ae2df3dcaba40429b4671b493562f:EK,ebdfd4ccec49d673018e5b0dc26e49632eb40c3a63ef16714f1d5095b8190826:CK,ebe98dcfc4fdc6d0c2df8cb6fd27c8afc84d308038b1eaa86ae1366b3e1a146f:jK,ec0f906fc29bcfdf7aa00335612fa88331b53a94a610c57866152349d7177637:AK,ec15c9d9edbeca71c73209dcd22b717f6f76d9acff23e78c148629d9331145df:IK,ec298beed92790b733470ae3a216dd34b44c16a0782d8210066257b700886001:MK,ec29c8b4ed5a77305b47a6bfe6d98828bc79886e17fac077a3a827ed892488de:NK,ec30bd8fbb20adf452becabd3a428f6efa8c382de8765a57724ff3fbd65a8ab1:kK,ec49ccc69560bafcf1757b594618085e40e79a05c3e4dcf62c24160f7be42382:PK,ec61175e25e436324b973d604026424e5ceb68a3001e26a5b3117c49eb7ea305:TK,ec6ad1316a74520b419021a1df1db2eade2fb205ba1fc9baf3ae6abb3b32b7c0:DK,ec6aff93f164df93ed7727dca0e90c0eb387eaeff98cbe5d4c3c83d63a670b20:RK,ec6f735dfca51072e4320dbc7278fb6e7fa88db60d12809efa601e081e3240af:OK,ec84de160667f85d1126fe75b8386c8194824038564450092d78853a8cb3929a:FK,ec84fd1db1f03ff6eb88f60ad750f651d890318ee1130253f066ce4de0bd965a:BK,ecb0060f299b80557d5a59b62245f17d94deedbcbd50dd80175d37a6fae83965:LK,ecb65156ba744ecc35cd78f32f5d236e18c9067e53c059c63358bc49d06800d1:UK,ecc61b7a12c0bd3055575c261cfea4ac1e08d9ebd6c147d38f51e1741432de42:$K,eccdca5fd1829f367679982370407cb2bc5b6c3c571c909b21b757fdbe05de90:zK,ece6d980511532f8561d7b903e3247224d059d67356cf097d8f6ce22f3e07dff:GK,ed0008d874e910286184ddfb5f6dd3ab5182936ae319ad8103d2364000da1b49:WK,ed033075d1e092cf8aa0a5fd38e9ae45ab5e30851da2f266d1b2ba33954f3703:qK,ed20c8b0b813fbd523036ab6fa3b4ca9ba58166cbae48bbe30484ae6a7aa2a8e:HK,ed350cdefa4690e59d13c675fb1ebffae271b129ef1cb23f54aae892cdde9b6e:VK,ed497794df90d81a0dd577293a6447df0d665f93aa9552b13aa17c9c7cb92664:KK,ed5eae877bddf156835c63b44e043d7637c47eb93d74d33d3c3ea228b9e5a365:ZK,ed5fb013166f0a8f67a0a226733cdd2c97d9b660284ba4a297108cc572a51134:YK,ed667a3e1a7a32afe4960023cab21521187732d8335488ffc5a732d004199591:JK,ed6d21aea4400ab59fa5a1d7cf7503afb46b67285ded55a0ed557094963b7fa6:XK,ed8388e62ee2a0608bb2aae497ba832cb46a5bba8e1ff14799c7db838bec5801:QK,ed8fcdd8d72259acf4e39df651b4788742e70c11f21b3be020df5c75c95c825f:eZ,edb025e212f87f4e9359f24ded78210d1bbd21ef1a92fa5e399d474dc3a2ca87:aZ,edb37bca92b03ee1a91635cf4e70312ab17af9e2b4b3911954b2b93b2bf54844:tZ,edd2e7faccf3bf1e5832c4d3983c6756e76fad05225378eb556f79d7d57e99c7:nZ,eddbc519fd63447744167d70fc77714e759b5e661932f57bada0e901eea7fb1d:cZ,edea3b94e9cc21cd5ebab7c1a4fe9f9b54234940c45d60c40be0edeb34fcc3a4:sZ,ee06a05bbe2c470e941a2ca2dee38a5315d4c9a62549226a98d04f87f9daaacf:rZ,ee2ecec5c5a72bf6d315bcb1470a97bdde791ab21da7a2d79f74b0e8bde49b96:iZ,ee304d71d67ad1295d614a12a67217b70fab3966244396d74b00473163084541:dZ,ee37e48b145d69131593c109bf21eefb0887aafee77e4e0a4d01fd20507dd88e:fZ,ee407b6ebbcd5f772107edbf1bbf4a7f501310ba28c105453ccc6db310489e1a:oZ,ee4bc608869cfa9a316e4e946b1adb63bf382046ce0014dbee1f3e576c42f87c:lZ,ee5ac8ce5bf3f1e39ca9c53c6022cd7abd9ab66384e9e085615107c3bdd35f97:bZ,ee64a97991cab147a7c9b68385357ba7c5bc516ee417493176bffc144f8734e5:uZ,ee6e5fb0fcfc434216f878b1687cc4d6164c01bc6d4a224168ac1d4ac62a85ec:hZ,ee92a485eb6632cadedefa631e5396ff06fd6958027fa721e123025592e74ca4:gZ,eea782f1f65fcf3608d2c77711cc23d6516368c0295532b49f80fdb73c306204:mZ,eeb2e37385dbc65a57c35ef185611544bbf2cc3dc1b6eacbabaccad82269b992:pZ,eec2fbb0ce2c4f415173e9a3cf2b776fed59c60a0a4556b144597ccafef10a94:yZ,eed22eccd8e7819746ef971d14c4d4cd53ad49ac47dcb7ba0b0828c9a0be32f4:xZ,eedd35637d2a6b7187958259494900fbe60913c91064bb30caaf163005bc8a2b:wZ,eef22ece11dd74e5b917e3380c61013b2999f6b3bd4172021c175b20cca0b839:vZ,ef02288a3da3f226fcc55423222fec074cd4b8037364afb73eb8e3785445189e:SZ,ef12db8fb2bb222872995734e1baafe9c5a8f6378fd0ade24a396fb52be85bb1:_Z,ef1b1a5c2b167b471f88bd8d4ca1a20358cce996a80b4fbe329a60607725872e:EZ,ef2bdce5839d96c9852e7c57faf4483619d30dbef87dc634ba5a593dbdca388e:CZ,ef2f4bb05ebb1fe206ee382d80b5af1f17945b8b347c9544498befb509f78fcd:jZ,ef36c44e0c4db0c4500b297dcce088c3d658c0ed47c1627c44d88917fc5bfdde:AZ,ef41fd1d5acf065215c9ebcf13137a2548bbf36059ac96e21e58411376e5ab47:IZ,ef54366131f25e045d46153d313db3cffedc8d12960901ccc662c9602833cdb1:MZ,ef6bcb0768b9145cf91f3c137bd36b7604be7b1878606393d235c23508d1825c:NZ,ef90ca8f7826c1ae0899bf99377587aad748ac6ac04c28a908a84946bcd9d462:kZ,ef94a97b67bbdcef2b6e89b9d2031a26015279d0b4483d4a64541ba3b3d5acb6:PZ,efbe0baacfac006b5373774fb85915a06d74e9626668425e956d5bdc13c589e9:TZ,efc7630cc4799a1b91b1589bbd197a7193401547fd736d3a2df937de0828524a:DZ,efcebe9bdaf7bf7d62ea5cf165b95c83416e0dd640427906349d4a443aac8c4f:RZ,efd469746211ac8f80f4c232e3311a89f3386051d68964b0c4f4d712ee2e29dd:OZ,eff32670342925e9ed628cf971763b9c8daa1521e2a3a4545d03fbe90e7c50c3:FZ,f0095fe6122d48abdebc62a157f16d987e10162d8c08d6885b6484572dd613bb:BZ,f01046c2e5d8a7b3dcd9ef55b107a4fb2c6983531b860107fc4ed50087b09142:LZ,f01aba0304383198613aa35dec4cc019691c367cd635b197dfc921f9d76d5b38:UZ,f0329ea4e5c1aaddfea1e3db9a2edc0da3b39feaa39481dd05947ea0add33a10:$Z,f03a0dce2fde2a00ab05331e31d9f8028177bcc883cd054a20176b2e614a2ac5:zZ,f03f5e4bf14fc03a1952f17fcee655abca67dfd393275a7311bb38820240a4a9:GZ,f0472ea2ba5169b176b4626765127cdd05cad3b2821366a4e3a9416a193da74d:WZ,f0498ae0d253c2e247370f0d9e9627f223cf4ee3e28ead35e93912b29568e8c0:qZ,f062351149a2320cacc58f5b3ca169668327e42740eefeb04e17dad7872fed6a:HZ,f06f32a27d6c848578464eef06808844af8f562c096b2b770a46bfe8e594b5ac:VZ,f08796bf624e2dae784ccbcebfb4735a010f31981998df6833d11aca2aa79365:KZ,f09c28bd6ef3e776162f4ac93148931b808e5a106f19fbaafdf718e8a6da1d65:ZZ,f09dd19c697169263343a048cedd8980b3cfd3d7345cbfd27eb63ccdcff6f171:YZ,f0a214327c9ad98d34574eea4ecc3135511bcb5dc088865cb26b2cc0855fb207:JZ,f0c85a951efb0946086db9f82dcb75391091e13f6c35257dd9ae2b75ae25cee6:XZ,f0d749ae1dc04e0706c52664f51249706f45e970d86c55cddefa3221cd767b0a:QZ,f0fa0c6032e350b38e2d88ef3e58e5eda86dc51ff699e35406ebce2af533b78f:eY,f1053edf1965161c862ef6d64098aef0b9aa5cc87f2d61fc1077d4714721e202:aY,f107737706eeddeaf7e24f3af524e193003dadb8ad4004d61a541ea2ab28dc1c:tY,f10e79a5b3e5d1e79949ddb4528fbb2d83f8cc8ab1870c8495e19cdd0e6d0e7d:nY,f12508938b2c47b38765c626eb84e90ea4de5658ebda5e2921a16a489ab9b350:cY,f1454c4c88955b0ce857345f719342ba06ef324b7db6cac9de98184d662945ab:sY,f1504347a7417e9a2740c42184dde65e0d86baa73ef7a80d1d0970c54c218f13:rY,f16aa6dbfc2673f954a27d5b7b196764f95b688e76b5f206c27de0176c2b57fb:iY,f16c12b1164d0b00d3db4306027820b924b824981cfe5a3a3d31d0d08ece0224:dY,f16cd610308cc9abc354fe76aa548246e83fb103c225517bcc1a3e3817f89db0:fY,f18be55a122d20e9a2ca765b0e34e76cc205b2bbf5e636ac91957212e90e67e5:oY,f1a7ad3cb13cc2d8c964c03d5417a64ee1c6e4f2658a99bf71039e5309f9f07f:lY,f1a873dc0ca1cee33e59871a3c1bd24a39971516a67b95ad8d188f24b6657647:bY,f1af7c9620c30ecd1ee96f7a18397b801eff91df1882661dabe2938a86f7f2cc:uY,f1cdc9f90c2d23ddf15b64bbb32460b064294b7dd1d96062b1b6a9b9b948515e:hY,f1dbd56b117bf49825b9492a0fef799082d32aa3429fdcac7c6cbe9965467221:gY,f1e699d195cd3d0263cee0c66dd66663f07796806aa8e42bd3fe2453e38eab85:mY,f2006bd1effc99f2e0cf073f91fe7d9d669cd2f842e31f62abd2fdbced7fc5d6:pY,f217faae87186e1b8b34304e0e1f0923a6b364f9b5ef406d85664e722c5d1e4c:yY,f22361ccfcc183b726f385f11044bbd2d809b8648b2cd9373afac3c40cc83a87:xY,f2261a5e6a138f5ba9652467d38f7bbba6b36768a4045c245527cf0e53671bb6:wY,f233aaa9b8cad604743f33ec6fef062914e693ca108095eb68a433efc4880566:vY,f23c87e8dd1f811cb5d605943c878b443b2c43849be2b66593a7d98aa811104f:SY,f248b939cce8f6fb70666be8d70411696f08c10f2c0ec475e21c2c27141ea370:_Y,f250738054b76297806fb5889af740dc6108bb2389fb3c09b42b7e40bee375fe:EY,f27c9897a6a8e94610e1d26e0dd95fe061b268a94f09017c99cebef5a3249dc7:CY,f27dd5fb09bd0a8e850c8bc2745fcd23f872325d05455b5bceaa72f80bd6011e:jY,f28897d43f2b340da8b60c26997199989e05b18324158ba757188421281a7729:AY,f2aec6309ee9a664256ccc6dbde5ec4b371dd7652b6b8314ef0e133e20145310:IY,f2b90a37ab67ec55a22ed5443486569b1d9b8bea91aa48f05ea495f064688306:MY,f2cb1b56869f71f0dafc8a5d4516d7b6b1c57df308d58a6b10af47f4da21b2a3:NY,f2d432a4539177819da1fab2499e1b896f02dd9c89d4eac4e2d3b97a3fb3ebd8:kY,f2dee538da6710acb1588cdab699443b59f1c0bdaffc5c6a2b84823d5a5a13d4:PY,f2e5c4b442588cdc14b86acc0fea7b8ef13e0e536f1c22d66c61f5b80e2a18e2:TY,f306a1b4e79a016ac75ec170bbc080ee294ef69cc186abe01c00d1f02baccf04:DY,f306d5c5ada5024f68cad470434e900b7be8511991b9b31b16b2478b9e1c2def:RY,f30a9d88b323ce9b7f0c70c8bb94813a067ac3b953e25323438a8d82f15e0d89:OY,f3202670c7745892e614214af3202c0bbfeff97b940c057eafdf429779a40f96:FY,f32735e6e9bddda85de72db67bac2a8acbc67e886f8bd36d6d6c575b20781617:BY,f35054875fe4548dabce3112d15f1aaf4c9b9f37487658a63447a1a949617687:LY,f350877bd7e66d494ba4213b2af411b11ff10069ff716b72a5068020beda54a8:UY,f35e4039c007b58e7ac99b8e56ccbff7b10c008664ae79ff75cad6bd25b43247:$Y,f376e7a3e56e56026378b3ec405708230c9d8f80afa8087dfc344afee479e4eb:zY,f38331355a4b35afea75dbc1d99dd5401cec1f1ab8f96830f1d8226f5a045f29:GY,f394545c722bf001e37140ee30936b7c611a713a62460f0b1a4e33dfef82ea0e:WY,f3a545dffb4677013b21bbb10eb8048f28356f004b91d83a0044e56e418c8414:qY,f3c29cd683bad3f7767cd44d994a5ce171604633384d683b6dd9f192207321f9:HY,f3ee18b3fa7868eeae374dfb1bf37e61c59500daa2d5e2eec6095aba51006162:VY,f3f23383cb6783f7f94ab9733e15d0007ae7a72f591bb5fbe176e8cf521dec8a:KY,f3f663e1033764bfdcf52a91e3adaaf258e17533e0512c82ef93d63add830d82:ZY,f40aff05aa2bb8f9f7d2c5c4d0ba34476da29a0a1589a21f7848a11d0cbcb7fe:YY,f410b324528f7fe6409755d948ebb5d01af3dde5bf8294e2325667f1520dc8d0:JY,f42300908ad79e4f3925c1ddc39105f4d19b6c7d23623c97aa57987bee459d93:XY,f4259443b19b07f1dfda643f2f29ffd15b8b8e8832f191fad8aa76012136ce6b:QY,f432654bbd1214e0384484890c2a2d85bbb2dd6cbb8180eb797bdb30691e0751:eJ,f454033d89bfd6221511e9fcaa05b192d0869837a6ff8143ee16e2843d09c3f4:aJ,f45e6bd1a903cd47f854141674907f9cf48d5d0668b60e2631456f0910c5f7f5:tJ,f46089ba2133f70637f76ed75f56b198c934a51ab1d1f4fa3032e246afe52a2a:nJ,f46d58f93e03e206d0e906df976adeeb6ee8eb20d01a29339e9f0b9e85752371:cJ,f473b62117a3c0b2bfe20ff7890bde732fe688991ffa9c49b5465312fe7720bf:sJ,f486ab61691552f5a0adbebc72584132160625b491e2b50ca170bba6bbaa3ee8:rJ,f49464a0e247ea86625f6f19d0a21d15a8aa3aa791c70975b3f9db17be96b2b5:iJ,f4b99df2c5f15a9287a01d8c3d95d56e8ed4be6ddeb9cf67da5e64e8ade20894:dJ,f4d3c4f3b9a2c48dff94efcf08b01a988dcfe8ea04d07416d52409ecd1d3232d:fJ,f4d5b4376e3fc228518d3c6607619ac8e8c3ea42895de47584ccc512cbdb4dad:oJ,f4dcde1e96e8af0feb20c8c0a72472ab97e818fdaa6838b919ec18c2c6e03a35:lJ,f4f279b97b96e52f4b026223392512e5514b449da8582cf916ab3988adee4b36:bJ,f512fc59b0597d19c44c4352ba7da34cb8456300ebf83b88d4e24217714ce398:uJ,f51d04a6a64cbf2a4f29f4ea56e027d014d9f6326d3a63bc7232ce35a9537274:hJ,f5207ce73c908b6feeec328fb31c6988f8c38d6d9b8533e53c4043c028194657:gJ,f52455a147b0480e2abcc65917ef3e66ed434d7075100ebd0b45f4c658a774c4:mJ,f5439eb10ce1b8c49fd0cf33396cc335a5e669dd1853e37981d5948c19dcf7ca:pJ,f5624b5d55c7cc96367a67c95463973323066754137fe22b9113d1b772f4fd7b:yJ,f5626ff790bcab0b13f59ea294d2c2bed5ba7fd59402690207aad9bff4743eae:xJ,f56c0883e73c61f9f17b2f18e8cb04e9030fea57ce82b85ea7a7d1d3c9ef141b:wJ,f57737bdbfabc7cd09f9a47138fbe8a8eebbbaaf79098d9d4dfe90e652979fff:vJ,f5982b5af08871f24ddd46cd8b22d089e2ae20b3e28d4c1c71cc440eabc0c515:SJ,f5a026fdf66bdd34032a53bd8e8e6f3c822b546114e8eaecc741a09a171f3078:_J,f5b0071fd2f1c770b2b31ee0f92459345beaba7ee09a1765e7ec889ec9aff849:EJ,f5de546a0ce223b6fc459bc1276edaab3b3e230c17034dacd26805a7fd07d138:CJ,f5e88f083f91bf5fc2bd283222166cb3ea1e5c13b749454e5c36a851d659554c:jJ,f5f2580fc19c9e956ceacdc5d5b4428f9fdffb77ff8a8ef84551ac2b1ecc8ee1:AJ,f5fcfeadd92c62af2f257073ebebed3f94d9c854f16fb1fa8178d915d7042c71:IJ,f609ca6e51d6c4f6be34f0de48ebf8a6509e0a74598e2ecd3786bf59f286fcd5:MJ,f60f82d13750c4497dc30b03d829835d826b0af8161ab82417ddde4898696574:NJ,f6130d86b0417fb5f628ce0fbc86fbfc009b69e2e4550932615c070a259adfd1:kJ,f62dbd869d7173ab8cb5c7dbd26c8ddee8dc5c608c59c7064416ecee067d6853:PJ,f64fa7c962f5dd001c646507d6fe9a3ea230d6489a7e0bc168b338b5fed0ee94:TJ,f660e690a1af09b0b3481ea232c76934b0151de489732047fec45ef53f6d4b2a:DJ,f6695523fb74a0058515c71d5212be63d4025d9e0d966b823b2e5d10a28f4902:RJ,f66f0c2b1a9cbb2d5d88a7948e0d95f29d2d0538cb149681941b4dd8e46be8a4:OJ,f6729ecf2610c36fc0d0f1bd861e96738f135e05a6114b185d9c2194cb84df9b:FJ,f689cc1c20745b46c6a79350f460f70531f49964e9890f0ddb0738f5599aed4c:BJ,f6a6e609da7450cf2d6fe5930c84377b7f6bb093070295f8c65c5545773ad3ec:LJ,f6baf11948cacfe39798a99623031eb9d05101201e9d7bdae59dd2a6dca1bc86:UJ,f6beca317902acc8a4acfc9c021212421293899483d4f942e729f9a4d6e653ac:$J,f6c38ca1f89b50ef058ba77ec587e3bb611b076cb8044af8c3f851eb74af27fc:zJ,f6df2f8edf89754cb290ae4a6d6e8745131d69e9e44f2acee2caff8139495943:GJ,f6e9b7bc535bcaa62bd81c53784cf2a3721f3515bf38c31d19bc7eabacae8514:WJ,f70cb4fd4dee7d7b03907746ed7f9d676c1078eb59c252e65458973af0563e5b:qJ,f71ec0255c3944fbb96dce6498711cd9ad37ac76a9d6e3079a59e9584c15be74:HJ,f7262e93c9412df465c2ef3d29361c69dda83e861e4dc95f01e6539ebad6fddf:VJ,f755e232ca58e1df17ecff02aa444853319a30911f9452c4b1869202ed43003a:KJ,f7560f70ec74ed111630b9a05d984b0874fbf233ef752b97f4b773c7e500f2f4:ZJ,f757db62f067efdb6ed5e04dcf6ca7354bb026b0147df454e82860c969bc8695:YJ,f7675c708d619ba123644ae970f590c3ac6a8b3ed9f21f34e54eb45edf8414c6:JJ,f76ec423edb16110d5fe8f0f871efc7dfd1a00fc9b4287eb80eccfbd6893cf15:XJ,f77ad99b2e04a770836377888a00aace55a148c4d1afd11c1c349eefea52eddb:QJ,f78284f48916dd2fd3c14f10f43a5cf5fa20327f907e019a9072951baed5398b:eX,f7a19e8d8f2e3621a5e10b7a0b897aa4e2ccb20cfc2bdd5099279b0b8870dcc5:aX,f7a23d919e2b281655dd01e5f61aa0587cbf1d85a26df03860b31516ae5ed906:tX,f7b54a8b955fa09a597fef5a5dfcb567db987453e2d7743b7a9512c298b3806a:nX,f7c0c09ce2d06dc97ffa3423e09ed4a981d6f63ebc6bd7bee5e718dd63e7aee2:cX,f7d914fcbb3fb6f188eb413be9adeefb47d50296971ef89abfc0abf89d715ba6:sX,f7f4b5f7007fd33600acc9f50279f51db4150cd58b5732948cc76cdc8cbd6da3:rX,f809083fb29596488deb8b8e41e6f4e5e6a934959ed7e9244f4f595e510bcbf6:iX,f80eb856a89f7ae1e8e52daec98b0889b05250ed891f3c5ec1a6673d6b406891:dX,f81363d71023b6fbfb6eb49fa4c63068cdb7c5fb85332d71b705871fd09ac538:fX,f82f31cf24b35620a97d0d6eb8cf0343389b4249f61ffecda817963fabc795d6:oX,f850c2329f66074c413b963ba70048a445bf992eae9bfc67f0f6e40dee22c359:lX,f8525ce2047e51262c638a654932bc096432a8f1cf46779a9976331a9b9c10e3:bX,f86f59d2e87c56de2a622f6fe3b3f14b77ca95c8382539151a2a3d644844f2cc:uX,f875e37da02b1d2e7da0802fced447f99ca5363df89cf50dddcd0b5025b19fbc:hX,f87ce9ac6e992325ad540ff640302a5e7326e78f867acabb98da362ae5732fc5:gX,f88151a1a8e9ac4e15583b6b3b6b76f6e5d8821d483d4c152d6e8ca41be76009:mX,f883fe627b1242b81b2b1cddcb71ca75a12a4594468481dc11fc509a9f967b53:pX,f894b0cc5b2c40e73fe0380a5bff18e225442061cd656b9aebf477e034784819:yX,f8a72514a16329d9584fc5e6ddfd1977a2febb283fa658519a0a4204d3bc0ce9:xX,f8de74970c2f13ba907d0f251271256015c5af855604eafe614c31de0a931971:wX,f8df075f488c060aef733e49bcacb1bf66e10ebb2514765f32a5d7a38f2ba228:vX,f8e4a916fb10d60f68019ca79e4007be9b510807b698e6f0d241ec5c10caccd3:SX,f90426a090d5b9f35a7ffc713e4eedb832f3392ed7556448536e55797bd6f0de:_X,f91258cea9d91f13e44ae4de96a5d915485e3dd564345eda2f7109e9973f3878:EX,f9384e65eacd22259184871f3d7c9ae23a4a3cedc4c6f6d761179ab729fc417f:CX,f93a3312ddee7b05b45ff1a58a1e4d1eadc1cd73dbcb8548bae4a87e9fa868bb:jX,f93a7294fa9ca9e962944ddfd07b11d468080c1da434b782c26acc76293e7f02:AX,f93eefcc29302c3d9a55dca2a685a4baf88484f8d1702691b5d2ad2bd201dff2:IX,f944dacf276df3ffac69cdfce50bb008f40e1e9332c11b5de6b8dfc5299ebf70:MX,f947ce395275ab1594ca18c7e986f06bbc8e82467cebf657edf06fcec899e7d4:NX,f9757166aa6eda1b66fda7319fdb4f68b9ad82890c9a497d4db3ca72b31f2604:kX,f98bb0a604d51dc0c821947eb7ca1446ac60adcc2d3d5a2133e4df99c114e30f:PX,f993f95db896a104fefc8b0bf33329fe8c398581aca90a52c453237e3e731e9c:TX,f9aae5ee94eff31a15d5eb66d006edc747ead43f0620cb1aa8a2d75ea96ace6e:DX,f9bf4f6f104b647f69da966ef0a98486b111e30283187bb63e82fa990c7eb8bb:RX,f9cf7e7b302031c76fe845544d5511088b6e2fd7c91fd18c43305a2a4f1a8d49:OX,f9d6f2ccbe84bc3bc6f710fec6fbbc9e3e25e44ff33c18f264c4571a5c56d5ec:FX,f9e86497694707c37ca66c614cdfc49e24a23508b3ab55060a27fb8466bd320d:BX,fa0043af50545ee75d053664b5c42f246b61f5250d376ceef9d215f130d3ce1f:LX,fa11c0dfa580a293683508c2dc3bcc268c6120251ee7d1c0624f7982ffac213b:UX,fa2988c3577bea47ef63423851621789a33d7593fa559da5e97bc11ef4f64603:$X,fa389e39bd069e68a90cb77299716e69fbbe5c99b303c6d147e4e64a054d3f32:zX,fa3f091ff9f1d6ceebafa88ab9e64e5772fe44093618042e67038b39b43937a6:GX,fa40865097c4da75119d5e274440621efb1f30c8334fd94200a21f980f0e29f9:WX,fa493345d65678ffacc4c3ef9131d288646a44e1aeb7b2b04658abf8980f81b9:qX,fa4aafdfb4a3f6808994c534e9c2b0be679ff5d75dab3ca98a2e37a5d37ff4fd:HX,fa516695b05a1118b78600d08b180a5df56b043174be1ca322dc331a57f50e7d:VX,fa7af7d73241d31042ced45a9c2dd4a49097d960455d801caf639745d70beb7d:KX,fa8d0667aa9e15d727556b1b6ad752e49d0dffad33fe14e78a6a87fa3659f142:ZX,fa970eda2b236c28afdc8593787cf3715f12fe4376b2608e5badccad4cc55ad6:YX,fab0766cd717ad98d171ff10887c209a68b76c6a3c5e25ca961b8acafda1c9d0:JX,fab2023058678cb0eaedd5541273d47cc2cd8e484ef867f030fd2e61cb003d8f:XX,fac00ced77834777a5907da0c0bf93de2250e2e622ce566ffdcae951e65088c5:QX,faf203b989c64baf0eaaa56fbec03d670a6191a183b1f4cd25b78d6b6df7c4d1:eQ,faf635dcb7a6364fd228089f528bbd4dcd56e523ea08ac31a8d219fbec5d9428:aQ,fb122181cf1003f964d11a4d89fc575d8c0a07a78e3f64fe19ba777536448c5c:tQ,fb1f0bbe2b2fcbeaf8e4231a25074051e2cf1a9cbe07971cdc003407d2b7c00c:nQ,fb3776dd31ebeb41de6b60d508bdd56fea29df6f7e229a5c64fc8e1486f45b77:cQ,fb407e05eedb72d1cd9abe28a9fb34acf8a314a84c9bf6b4abd29ca4ca265dbf:sQ,fb4fccb94a09575b4a69071f94b31d3d9766bc973f206069807736d48a8264d4:rQ,fb5960f4c6e16755ead59df4d264e819198603e7ba446c70a860efe35c0cc3b2:iQ,fb655f8f3363d039f8ce48331ac890b62152e63f0e5f23338b3d8b69473c77e6:dQ,fb7991d4c0713d31cb6ac3dc562424dfa5af0774e51c7ed79cd922df2440ae4a:fQ,fb9bc6a8fe35d4ff5fef4e1ddf88529e7c6390865e9939097f2fc9f12ca0090d:oQ,fba3d6b05cc543a03b47dbbe60c0315a37c1ed43a2dbddf135a64f636988a3b8:lQ,fba4d9acc0af85c8c82a6ceedd6a0841a53ce5da2267c4585177845dcd4a06b8:bQ,fbb4a6709c03a1f3a41c5b7231125c694f9ab8cdf4581c4c5a2bed6ecaf5ffd5:uQ,fbcb1c4942704ce35bf8143846d25b57c75e40fc7ff9afc868ac9bb51ee1e60b:hQ,fbd8aefd199530be247edc394d4ca1cc9b6fe4dca71c2c765b20e416d43e150c:gQ,fbfdbc143fcc91addffc4013b20f4fdcb49294f9aa8bad936bba188208d2f5d6:mQ,fc0576a04d0b512cf0841272e918f648971981a07aaee1f17a4b3d89e75fa747:pQ,fc0f733e57432145b0be9fa1ed3c5563ed744be6b4ec877df0aebd9527a05f50:yQ,fc1f51a20b9b23dc543a3d125d70cadf95287a57b76d4bf4fa91b806f525795f:xQ,fc2db5ae7d20b55dcabdb6dcd91b5d682c2e9ae9555619355380b3e9d96c3317:wQ,fc36f147a3a8fb5defa0568e1d9ca5919e0af3a47336d9518c1108940ffd261d:vQ,fc555bf83c5dc70b20e8122a8dbaead285e34902ca2f1986688a490e48bf4539:SQ,fc57958061d0fc9af962a7033067e0f7709fb8365c1e801d6c1e0a079e3cce0f:_Q,fc5c6e007f5a2089ad551d55d529de2ddfe3083361f1b9b0f2f4443583f7a12f:EQ,fc6b33deb2132962f308db0a53bba453a345905e54d11c6b1e81417aea666ff6:CQ,fc8ed2475ba04e3d99fe58ca678a82dc685a586b08a287004b1a47708d48f14c:jQ,fcac577311f7ead6e6e1ff65892d8e2acae7b2f7711cd4cd1585fd1ad455970c:AQ,fcb47e9042f2c36ce8b21a4b386b17138f9fc95908b6cf835f244f2a83a863e3:IQ,fcb5c19674df050e472d3a23b8f47a613d4cf6959fbf6acea4b8573574231c84:MQ,fcd321516a0c64aef2314704424b7107f98f36e59f4aef707f0f7221219ab0f2:NQ,fceb5b2d2d939ea36793f3b14bc5613a16da11f4a930d9257861ea2349904b43:kQ,fcf261597fd7a203b3dfd1e75e1a8acd66fc63a5b2f0e0369b200dc6711d008b:PQ,fcff49e077068a9d1b4e522f3760ccaf2dfc224ba6a3c588a62e6506e6f1bcfe:TQ,fd0ca8baf3ca03600312512a069864a4d89b08075409957f58a197f0730c3f30:DQ,fd186f9229703519de380db8a1c03c621dfb1dad4df70e345898a3da39c349ae:RQ,fd3c4c6dec40353b07998d07dd82649dd35a742e5ccbf29121cc9a6f2ceefc07:OQ,fd3c9fffdb9adba8b9c1dea10ac13af47681a88e421f9b6413bb950dfd16460a:FQ,fd405ae0d5678df9e3668ff0f6211a245dd5a7066fd7e573c12896c2af30814b:BQ,fd61b114dd9fe8e659955b9cde6eaecc87d8bbf1e06f5a40b88b4459cf014da4:LQ,fd657ddbfb6927471f71b40b74464545d0f4e96248c79343df7c665e15576b07:UQ,fd799fef07d7b66b659030e3a1e7dc157632126279382bdb424d5f216551c9d6:$Q,fd8ed9ecbb80ded4552dd3237242a6d9aabba4a6ef01df3290f4ad716db3dd22:zQ,fdaf80e5c6d8935ca50e1e38b358dcda379f720739e1d13ee1b5e1c6c64927ae:GQ,fdb6f642d6e6467c8e79a36b2731a7863fd49a016950db18269b2ae7ddd2dc62:WQ,fdd1662e15056651af862bd91c2708ff3dd3ba72e95b5f858d7e951de30c6341:qQ,fdd374d0e5ebf2634cdf8c0fcb0afb8b257f6f65cc13881e54588d1d697a22fe:HQ,fdfd7746f1fe5214a385cc83601cae15006518f86ea6e7a83ad810f7a25b2b5f:VQ,fe007e8411c943844cf86af0d3e9f8d7f35b14ce8f6a409cbcb79a0f777a1ee6:KQ,fe0c1f518a935e9dcf9d6ac90a6f5feca8fb55af62ec55a15bc5e7141a3677c5:ZQ,fe1bff723a985f18ed3f39ddc1a5b934f6bfe998f78dce97042e909227a77a6e:YQ,fe1e895d041a2e0a2d69909ed26735923ab4151bc07ca322f960587d337985e2:JQ,fe22e177b9865f84950bc75aaca9474a05b64a45e108ffe270e53052b77de752:XQ,fe2c4455a3eea72e9487792b041afa015776f00dd8d57789014746306ec58e20:QQ,fe454720fcfc8e83b42abd2486593bba93e2c41dc969f00e3564667c9f191373:eee,fe52780ddd7bc9f628c33e406410ad5be79e4fde2efdc1eb4b72f7a1684ce97f:aee,fe77dc4d0642c83a277832c228f18f28ebf7d88490e24cb511b15a2bb31e851f:tee,fe815af323b116ec2af6b0c4ea51bd5311dc943dc2a7339b824335a070b92c5b:nee,fe90ea0bf8f869c3cf5c371fb1b12c41d588b14ef85156d4bdb12d41f7f1d70b:cee,fe9bd6df65f1f77f385a9b4657256da979ea01e1ce87fdf77d96f6b3b57527d9:see,feac7c3f61ec45dd8e760a0a872420a50084c544898fb97c7e6b5f059581c210:ree,fec538f0ee2991ac190bb3d31b5e1b44ee2d1a600573f0df9a3bfe744748e608:iee,fed1c983a82ac05a6ed9efdc25aa45f7d3a5a03d434f0c8d73a78fbf9314cc51:dee,fee5a027aea12a219ebb9b9c3918747a681067360ca449216b87682c8f57adff:fee,fef1f5bd1d324d75ce4f5941c48ce99101cc7b6f14780873afb6eba72a5e8da1:oee,ff0f70f1f64682390b422b6780dd04071eea426cf5a684f57afab1164ba79ef1:lee,ff1d2550ae54581c8517e6b13e2ef928f33a2922fb7e0fd0f744c8d0292851e7:bee,ff2eb4641ef316218e29d9217bfd1f2be208bbd0811f906a4dab4eb5edae4d9b:uee,ff3d95d14075dbd91f16207fc41dea75ea91c9aeaa5ae78891f1eb31eb44e6d9:hee,ff46cd57cf40b820aa75868e932171fc62fe88439898c900eb6ea440c761936e:gee,ff4c06367214851cfa7016258e456e8f38ea9801cf7f3176aef9fdba3cf856aa:mee,ff4dc9be27e79f49d6c037cd993bef680eb1c88b64ddd2261e6e516a84f4f6b5:pee,ff581979062eb70657d1468b651117d1350bf1b4f0bf33758a600421c9489167:yee,ff6214199e2040ebfb7837bd5ecbf74062020af219eb78d070923c6a312f42a9:xee,ff6cc1f7d69b49c560d2f0ce7d629c9584cf1ec8d790ce7ef533f2290eee232d:wee,ff7adaed653cceb9b85dd6ec1082d49e77afefc9031b01a8a06074c7db376f7e:vee,ff86203919efaf694a32b2e3dbb3e6644903e4eac33a2918470d07dd2bf56577:See,ff8703ab7a9c79fccba832289686496602f2987f57f20dff88fc97f65b6480d4:_ee,ff896a936f4c6b39c8c123a3d5d2b252c054af6dec567afe3220a1490d53eeb2:Eee,ffb583d9cbe4711fc41830c9800ede8e52c8a9a875368702ac6c762122504f3e:Cee,ffd870b6f6fa26ecdd4ff454f8eb2af8faeedb38fcff88911eee8b31e6d1a75f:jee,ffe67c2503efd2f8946fccd71a892e77e4c02a48af8ae692d674c50a937b2944:Aee,ffec81958c7db2c6478bda4f254eb8bec7f3fdac306391d9169c9e418df8d099:Iee},Sl=Mee,Nee=Object.values(Object.fromEntries(Object.values(Sl).map(e=>[`${e.lat} ${e.lng}`,e])));function kee(e,a){const t={};return a.forEach(({address:n})=>{const s=e[n];s&&(t[`${s.lat} ${s.lng}`]=s)}),Object.values(t)}function _l(e,a,t){a.forEach(({lat:n,lng:s})=>{e.addPin({lat:n,lng:s,svgOptions:{color:t}})})}const pr=new wl({map:JSON.parse(vl)}),Pee=new wl({map:JSON.parse(vl)});_l(pr,Nee,"#303030");const D4={shape:"hexagon",radius:.21,color:"#dadada"};function Tee({style:e,error:a}){const{peers:t}=x.useContext(We),[n,s]=x.useState(pr.getSVG(D4));return x.useEffect(()=>{let i;if(a)i=Pee.getSVG({...D4,color:"#eaeaea"});else if(t){const d=kee(Sl,t),f=Object.create(pr);_l(f,d,"#09CA6C"),i=f.getSVG(D4)}else return;i!==n&&s(i)},[t,a]),c.jsxs("div",{style:Object.assign({},e,{width:"100%",height:"380px",backgroundColor:"#f3f3f3",overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",position:"relative"}),children:[c.jsx("img",{alt:"world map",src:`data:image/svg+xml;utf8,${encodeURIComponent(n)}`,style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain",flex:1}}),c.jsx("div",{style:{position:"absolute",bottom:8,display:"flex",justifyContent:"center",gap:16},children:[{color:"#303030",label:"Network nodes"},{color:"#09CA6C",label:"Your connected peers"}].map(({color:i,label:d})=>c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c.jsx("span",{style:{width:10,height:10,borderRadius:"50%",backgroundColor:i,flexShrink:0}}),c.jsx("span",{style:{fontSize:"0.75rem",color:"#606060"},children:d})]},d))}),a&&c.jsx(Ht,{size:60,sx:{position:"absolute",inset:0,m:"auto",opacity:.25}})]})}function Dee(){const{chequebookBalance:e}=x.useContext(We),a=da();return e?.availableBalance!==void 0&&e?.availableBalance.gt(_a.fromPLUR("0"))?c.jsx(Jt,{buttonProps:{iconType:s7,children:"Manage chequebook",onClick:()=>a(Fe.ACCOUNT_CHEQUEBOOK)},icon:c.jsx(s7,{}),title:`${e?.availableBalance.toSignificantDigits(4)} xBZZ`,subtitle:"Network transfer balance.",status:Ge.OK}):c.jsx(Jt,{buttonProps:{iconType:s7,children:"Manage chequebook",onClick:()=>a(Fe.ACCOUNT_CHEQUEBOOK)},icon:c.jsx(s7,{}),title:e?.availableBalance?`${e.availableBalance.toSignificantDigits(4)} xBZZ`:"No available balance.",subtitle:"Chequebook not setup.",status:Ge.ERROR})}function Ree(){const{status:e}=x.useContext(We),a=da();return e.all===Ge.CONNECTING?c.jsx(Jt,{buttonProps:{iconType:Zc,children:"Open node setup",onClick:()=>a(Fe.STATUS)},icon:c.jsx(Wc,{}),title:"Connecting...",subtitle:"Attempting to establish connection to your Bee node.",status:Ge.CONNECTING}):e.all===Ge.STARTING?c.jsx(Jt,{buttonProps:{iconType:Zc,children:"Open node setup",onClick:()=>a(Fe.STATUS)},icon:c.jsx(Wc,{}),title:"Starting up...",subtitle:"Your Bee node is currently launching.",status:Ge.STARTING}):e.all===Ge.ERROR?c.jsx(Jt,{buttonProps:{iconType:Zc,children:"Open node setup",onClick:()=>a(Fe.STATUS)},icon:c.jsx(Wc,{}),title:"Your node is not connected…",subtitle:"You are not connected to Swarm.",status:Ge.ERROR}):e.all===Ge.WARNING?c.jsx(Jt,{buttonProps:{iconType:Zc,children:"Open node setup",onClick:()=>a(Fe.STATUS)},icon:c.jsx(Wc,{}),title:"Your node is running…",subtitle:"Connection to Swarm might not be optimal.",status:Ge.WARNING}):c.jsx(Jt,{buttonProps:{iconType:jr,children:"Access Content",onClick:()=>a(Fe.DOWNLOAD)},icon:c.jsx(Wc,{}),title:"Your node is connected.",subtitle:"You are connected to Swarm.",status:Ge.OK})}function Oee(){const{beeVersion:e,status:a,topology:t,nodeInfo:n,walletBalance:s}=x.useContext(We),{isDesktop:i,desktopUrl:d}=x.useContext(Le),{beeDesktopVersion:f}=Ur(i,d),{newBeeDesktopVersion:l}=Ao(i,d,!1);return c.jsxs("div",{children:[c.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"stretch",alignContent:"stretch",gap:"8px"},children:[c.jsx(Ree,{}),c.jsx(Ho,{}),c.jsx(Dee,{})]}),c.jsx("div",{style:{height:"16px"}}),c.jsx(Tee,{error:a.topology.checkState!=="OK"}),c.jsx("div",{style:{height:"2px"}}),c.jsx(Ue,{label:"Connected peers",value:t?.connected??"-"}),c.jsx(Ue,{label:"Population",value:t?.population??"-"}),c.jsx(Ue,{label:"Depth",value:t?.depth??"-"}),c.jsx(Wr,{}),c.jsx("div",{style:{height:"16px"}}),i&&c.jsx(Ue,{label:"Desktop version",value:c.jsxs("div",{children:[`${f} `,c.jsx(it,{size:"small",variant:"outlined",href:Kf,target:"_blank",disabled:l==="",style:{height:"26px"},children:l===""?"latest":"update"})]})}),c.jsx(Ue,{label:"Bee version",value:e}),c.jsx(Ue,{label:"Bee dashboard version",value:Jv}),c.jsx(Ue,{label:"Mode",value:n?.beeMode}),s!==null&&c.jsx(Ue,{label:"Blockchain network",value:rm(s.chainID)})]})}function Fee(){return c.jsxs("div",{children:[c.jsx(qa,{children:"Page not found"}),c.jsxs(Me,{children:["The given url is invalid. Please go back or ",c.jsx(Qt,{to:Fe.INFO,children:"navigate to Home screen."})]})]})}function Bee(){return c.jsx(Ve,{container:!0,direction:"row",justifyContent:"center",alignItems:"center",children:c.jsx(Ht,{size:240,style:{color:"#ffffff"}})})}const Lee=3e3;function Uee(){const e=da(),{enqueueSnackbar:a}=xa(),{beeApi:t}=x.useContext(Le);return x.useEffect(()=>{if(!t)return;const n=setInterval(()=>{t.getNodeInfo().then(s=>{s.beeMode===Sa.LIGHT&&(a("Upgraded to light node",{variant:"success"}),e(Fe.INFO))}).catch(console.error)},Lee);return()=>clearInterval(n)},[t,a,e]),c.jsxs(Ve,{container:!0,direction:"column",justifyContent:"center",alignItems:"center",children:[c.jsx(oe,{mb:9,children:c.jsx(Bee,{})}),c.jsx(oe,{mb:1,children:c.jsx(Me,{children:c.jsx("strong",{children:"Upgrading Bee"})})}),c.jsx(oe,{mb:1,children:c.jsx(Me,{children:"You will be redirected automatically once your node is up and running. This may take up to 10 minutes."})}),c.jsx(Wr,{})]})}function $ee(){const{apiUrl:e,setApiUrl:a,lockedApiSettings:t,cors:n,dataDir:s,configFile:i,ensResolver:d,rpcProviderUrl:f,isLoading:l,isDesktop:b,desktopUrl:u,setAndPersistJsonRpcProvider:g,setEnsResolver:m}=x.useContext(Le),{refresh:p}=x.useContext(We),{enqueueSnackbar:S,closeSnackbar:w}=xa();async function E(_){try{await J7(_).getNetwork()}catch(D){console.error(D),S(`Failed to connect to RPC endpoint. ${st(D)}`,{variant:"error"});return}try{if(g(_),b&&(await Br(u))["blockchain-rpc-endpoint"]){await Vg(u,_);const O=S("RPC endpoint successfully changed, restarting Bee node...",{variant:"success"});await g1(u),w(O),S("Bee node restarted",{variant:"success"})}else S("RPC endpoint successfully changed",{variant:"success"});await p()}catch(D){console.error(D),S(`Failed to change RPC endpoint. ${st(D)}`,{variant:"error"})}}async function C(_){const D=Yg(_);if(!D){S("Failed to change ENS resolver. Invalid URL format.",{variant:"error"});return}try{await J7(D).getNetwork()}catch(O){console.error(O),S(`Failed to connect to ENS resolver endpoint. ${st(O)}`,{variant:"error"});return}try{await Kg(u,_),m(_);const O=S("ENS resolver saved, restarting Bee node...",{variant:"success"});await g1(u),w(O),S("Bee node restarted",{variant:"success"}),await p()}catch(O){console.error(O),S(`Failed to change ENS resolver. ${st(O)}`,{variant:"error"})}}return l?c.jsx("div",{style:{textAlign:"center",width:"100%"},children:c.jsx(Ht,{})}):c.jsxs(c.Fragment,{children:[c.jsxs(Wa,{label:"API Settings",defaultOpen:!0,children:[c.jsx(un,{label:"Bee API",value:e,onConfirm:a,locked:t||b}),c.jsx(un,{label:"Blockchain RPC URL",value:f,helperText:"Changing the value will restart your bee node.",confirmLabel:"Save and restart",onConfirm:E})]}),b&&c.jsxs(Wa,{label:"Desktop Settings",defaultOpen:!0,children:[c.jsx(un,{label:"CORS",value:n??"-",locked:!0}),c.jsx(un,{label:"Data DIR",value:s??"-",locked:!0}),c.jsx(un,{label:"Config file",value:i??"-",locked:!0}),c.jsx(un,{label:"ENS resolver URL",value:d??"-",helperText:"Changing the value will restart your bee node.",confirmLabel:"Save and restart",onConfirm:C})]})]})}function zee(){const e=da();function a(){e(Fe.ACCOUNT_STAMPS)}return c.jsxs("div",{children:[c.jsx(qa,{children:"Buy new postage stamp batch"}),c.jsx(U3,{onFinished:a})]})}const Gee=Ke()(e=>({link:{color:"#dd7700",textDecoration:"underline","&:hover":{textDecoration:"none","@media (hover: none)":{textDecoration:"none"}}},buttonSelected:{color:"white",backgroundColor:e.palette.primary.main},buttonUnselected:{color:e.palette.secondary.main,backgroundColor:"white"}})),Wee=[{value:1,label:"1 day"},{value:365,label:"365 days"}];function qee({onFinished:e}){const{classes:a}=Gee(),{refresh:t}=x.useContext(Cn),{beeApi:n}=x.useContext(Le),{chainState:s,walletBalance:i}=x.useContext(We),[d,f]=x.useState(Rd(Ut.fromGigabytes(4))),[l,b]=x.useState(Od(Pt.fromDays(30),26500,5)),[u,g]=x.useState(""),[m,p]=x.useState(!1),[S,w]=x.useState(4),[E,C]=x.useState(""),[_,D]=x.useState(30),$=s?.currentPrice??24e3,W=T=>c.jsx(oe,{sx:{flex:1},children:c.jsxs(it,{variant:"contained",fullWidth:!0,onClick:()=>A(T),className:S===T?a.buttonSelected:a.buttonUnselected,children:[T," GB"]})});function J(T,v){if(typeof v!="number")return;const L=Od(Pt.fromDays(v),$,5);b(L),D(v)}const{enqueueSnackbar:k}=xa();function P(T){return`${Gr(Gf(T,$,5).toSeconds())} (with price of ${$} PLUR per block)`}function R(T,v){return`${G7(T,v).toSignificantDigits(4)} xBZZ`}async function F(){if(!d||!l||!n)return;let T=!1;try{if(Do(G7(d,l),i,k))return;p(!0),await n.buyStorage(Ut.fromGigabytes(S),Pt.fromDays(_),{label:u,immutableFlag:!0,waitForUsable:!1},void 0,!1,Xa.OFF),await t(),T=!0}catch(v){console.error(v),k(`Failed to buy postage stamp: ${st(v)}`,{variant:"error"})}finally{p(!1)}T&&(k("Purchase initiated. Wait a few seconds, stamp will appear soon.",{variant:"success"}),e())}function A(T){w(T);const v=Rd(Ut.fromGigabytes(T),!1,Xa.OFF);Lo(String(v),C,L=>f(Number(L)))}return c.jsxs(c.Fragment,{children:[c.jsx(oe,{mb:4,children:c.jsxs(Me,{children:["A postage stamp batch containes postage stamps that will give you the right to upload data to the Swarm network. If you're not familiar with this, please read ",c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/postage-stamps/",target:"_blank",rel:"noreferrer",children:"this guide"}),"."]})}),c.jsx(oe,{mb:1,children:c.jsx(Me,{variant:"h2",children:"Batch name"})}),c.jsx(oe,{mb:2,children:c.jsx($t,{name:"depth",label:"Label",onChange:T=>g(T.target.value)})}),c.jsx(oe,{mb:1,children:c.jsx(Me,{variant:"h2",children:"Batch size"})}),c.jsxs(oe,{mb:2,children:[c.jsxs(oe,{sx:{display:"flex",gap:1},children:[W(4),W(32),W(256)]}),E&&c.jsx(Me,{children:E})]}),c.jsx(oe,{mb:1,children:c.jsx(Me,{variant:"h2",children:"Data persistence"})}),c.jsx(oe,{mb:2,children:c.jsx(Of,{"aria-label":"Volume",min:1,max:365,step:1,marks:Wee,valueLabelDisplay:"auto",defaultValue:30,onChange:J})}),c.jsxs(oe,{mb:2,children:[c.jsx(oe,{mt:.25,sx:{bgcolor:"#f6f6f6"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[c.jsx(Me,{children:"Corresponding TTL (Time to live)"}),c.jsx(Me,{children:l?P(l):"-"})]})}),c.jsx(oe,{display:"flex",justifyContent:"right",mt:.5,children:c.jsxs(Me,{style:{fontSize:"10px",color:"rgba(0, 0, 0, 0.26)"},children:["Current price of ",$," PLUR per block"]})})]}),c.jsx(oe,{mb:4,sx:{bgcolor:"#fcf2e8"},p:2,children:c.jsxs(Ve,{container:!0,justifyContent:"space-between",children:[c.jsx(Me,{children:"Indicative Price"}),c.jsx(Me,{children:R(d,BigInt(l))})]})}),c.jsxs(Ve,{container:!0,justifyContent:"space-between",alignItems:"center",children:[c.jsx(Ve,{children:c.jsx(Be,{disabled:m||!d||!!E||!l,onClick:F,iconType:ft,loading:m,children:"Buy New Stamp"})}),c.jsx(Ve,{children:c.jsx(Qt,{to:Fe.ACCOUNT_STAMPS_NEW_ADVANCED,className:a.link,children:"Advanced mode"})})]})]})}function Hee(){const e=da();function a(){e(Fe.ACCOUNT_STAMPS)}return c.jsxs("div",{children:[c.jsx(qa,{children:"Buy new postage stamp batch"}),c.jsx(qee,{onFinished:a})]})}function W1({checkState:e,size:a,className:t,isLoading:n}){const s=a||"1rem";if(n)return c.jsx(Ht,{size:s,className:t});let i;switch(e){case Ge.OK:i="#1de600";break;case Ge.WARNING:i="orange";break;case Ge.ERROR:i="#ff3a52";break;case Ge.STARTING:i="orange";break;case Ge.CONNECTING:i="#0074D9";break;default:i="#ff3a52"}return c.jsx("span",{className:t,style:{backgroundColor:i,height:s,width:s,borderRadius:"50%",display:"inline-block"}})}const Vee=()=>{const{status:e,isLoading:a,chequebookAddress:t}=x.useContext(We),{checkState:n,isEnabled:s}=e.chequebook;if(!s)return null;let i;return n===Ge.OK?i=c.jsxs(c.Fragment,{children:["Your chequebook is deployed. You may deposit some xBZZ to your chequebook to afford more traffic. xBZZ can be purchased from a variety of centralized and decentralized exchanges listed on the official"," ",c.jsx("a",{href:"https://ethswarm.org",children:"Ethswarm.org"})," website. To pay the transaction fees, you will also need xDAI token. You can purchase xDAI from"," ",c.jsx("a",{href:"https://docs.gnosischain.com/about/tokens/xdai",children:"various exchanges"})," listed in the Gnosis Chain documentation. See the ",c.jsx("a",{href:"https://www.gnosis.io/chain",children:"official Gnosis Chain website"})," for more information."]}):i=c.jsxs(c.Fragment,{children:["Your chequebook is either not deployed nor funded. To run the node you will need xDAI and xBZZ on the Gnosis chain network. You may need to aquire xBZZ that can be purchased from a variety of centralized and decentralized exchanges listed on the official ",c.jsx("a",{href:"https://ethswarm.org",children:"Ethswarm.org"})," website. To pay the transaction fees, you will also need xDAI token. You can purchase xDAI from"," ",c.jsx("a",{href:"https://docs.gnosischain.com/about/tokens/xdai",children:"various exchanges"})," listed in the Gnosis Chain documentation. See the ",c.jsx("a",{href:"https://www.gnosis.io/chain",children:"official Gnosis Chain website"})," for more information."]}),c.jsxs(Wa,{label:c.jsxs(c.Fragment,{children:[c.jsx(W1,{checkState:n,isLoading:a})," Chequebook Deployment & Funding"]}),children:[c.jsx(B1,{children:i}),t&&c.jsxs(c.Fragment,{children:[c.jsx(Pa,{label:"Chequebook Address",value:t.chequebookAddress.toString()}),c.jsx(ba,{children:c.jsx(Ro,{})})]})]})};function Kee(){const{isDesktop:e,desktopUrl:a}=x.useContext(Le),{reachable:t}=Ur(e,a);return c.jsxs(Wa,{label:c.jsxs(c.Fragment,{children:[c.jsx(W1,{checkState:t?Ge.OK:Ge.ERROR,isLoading:!1})," Connection to Swarm Desktop"]}),children:[c.jsx(B1,{children:t?"The connection to the Swarm Desktop API has been successful":"Could not connect to the Swarm Desktop API"}),c.jsx(Ue,{label:"Swarm Desktop API",value:a})]})}const rf=e=>c.jsx("div",{style:{textAlign:"left"},children:c.jsx(Xb,{language:e.language,showLineNumbers:e.showLineNumbers,children:e.code})});function Zee(e){const{children:a,value:t,index:n,...s}=e;return c.jsx("div",{role:"tabpanel",hidden:t!==n,...s,children:t===n&&a})}const Yee=Ke()(e=>({root:{flexGrow:1},content:{marginTop:e.spacing(2)}}));function Jee({values:e,index:a,indexChanged:t}){const{classes:n}=Yee(),[s,i]=bs.useState(a||0),d=(l,b)=>{t?t(b):i(b)},f=a!==void 0?a:s;return c.jsxs("div",{className:n.root,children:[c.jsx(Er,{value:f,onChange:d,variant:"fullWidth",children:e.map(({label:l},b)=>c.jsx(hn,{label:l},b))}),c.jsx("div",{className:n.content,children:e.map(({component:l},b)=>c.jsx(Zee,{value:f,index:b,children:l},b))})]})}function R4(e){const{platform:a,setPlatform:t}=x.useContext(ei);return c.jsx(Jee,{index:a,indexChanged:t,values:[{label:"Linux",component:c.jsx(rf,{showLineNumbers:e.showLineNumbers,language:"bash",code:e.linux})},{label:"macOS",component:c.jsx(rf,{showLineNumbers:e.showLineNumbers,language:"bash",code:e.mac})}]})}function Xee(){const{setApiUrl:e,apiUrl:a,isDesktop:t}=x.useContext(Le),{status:n,isLoading:s}=x.useContext(We),{isEnabled:i,checkState:d}=n.apiConnection;return i?c.jsxs(Wa,{label:c.jsxs(c.Fragment,{children:[c.jsx(W1,{checkState:d,isLoading:s})," Connection to Bee API"]}),children:[c.jsx(B1,{children:d===Ge.OK?"The connection to the Bee node API has been successful":"Could not connect to your Bee node API."}),c.jsx(un,{label:"Bee API",value:a,onConfirm:e}),d===Ge.ERROR&&!t&&c.jsx(Wa,{level:1,label:"Troubleshoot",children:c.jsx(Ue,{label:c.jsxs("ol",{children:[c.jsx("li",{children:"Check the status of your node by running the below command to see if your node is running."}),c.jsx(R4,{showLineNumbers:!0,linux:"sudo systemctl status bee",mac:"brew services list"}),c.jsx("li",{children:"If your node is running, check your firewall settings to make sure that port 1633 (or your custom specified port) is exposed to the internet. If your node is not running try executing the below command to start your bee node"}),c.jsx(R4,{showLineNumbers:!0,linux:"sudo systemctl start bee",mac:"brew services start swarm-bee"}),c.jsx("li",{children:"Run the commands to validate your node is running and see the log output."}),c.jsx(R4,{showLineNumbers:!0,linux:`sudo systemctl status bee
132
- journalctl --lines=100 --follow --unit bee`,mac:`brew services list
133
- tail -f $(brew --prefix)/var/log/swarm-bee/bee.log`})]})})})]}):null}const O4=100,df=1e3,ff=4,F4="There may be issues with your Bee node or connection.",Qee={connectedPeers:[{minimumValue:O4,explanation:`Perfect! ${O4} or more connected peers indicate a healthy topology.`,score:2},{minimumValue:1,explanation:`Your Bee node is connected to peers, but this number should ideally be above ${O4}. If you have only started your Bee node, this number may increase quickly.`,score:1},{minimumValue:0,explanation:"Your Bee node has not connected to any peers. "+F4,score:0}],population:[{minimumValue:df,explanation:"Perfect! Your Bee node seems to have a realistic value for the network size, which means everything is working well on your end.",score:2},{minimumValue:1,explanation:`Population is usually above ${df.toLocaleString()}. If the number does not increase within a few hours, there may be issues with your Bee node.`,score:1},{minimumValue:0,explanation:"Your Bee node has no information on the network population. "+F4,score:0}],depth:[{minimumValue:ff,explanation:"Perfect! Your Bee node has the highest available depth.",score:2},{minimumValue:1,explanation:`Your Bee node is supposed to reach a depth of ${ff} eventually. Stagnation or decrease in this number may indicate problems with your Bee node.`,score:1},{minimumValue:0,explanation:"Your Bee node has not started building its topology yet. "+F4,score:0}]};function B4(e,a){const t=Qee[e],n=t[0].score;for(const i of t)if(a>=i.minimumValue)return{score:i.score,maximumScore:n,explanation:i.explanation};const s=t[t.length-1];return{score:s.score,maximumScore:n,explanation:s.explanation}}const eae=e=>{const a={connectedPeers:B4("connectedPeers",e.topology?.connected||0),population:B4("population",e.topology?.population||0),depth:B4("depth",e.topology?.depth||0)},t=Object.values(a).reduce((i,d)=>i+d.maximumScore,0),n=Object.values(a).reduce((i,d)=>i+d.score,0),s=Math.round(n/t*100)+"%";return c.jsxs(c.Fragment,{children:[c.jsx(Ue,{label:"Overall Health Indicator",value:s}),c.jsx(Ue,{label:"Connected Peers",value:e.topology?.connected.toString(),tooltip:a.connectedPeers.explanation}),c.jsx(Ue,{label:"Population",value:e.topology?.population.toString(),tooltip:a.population.explanation}),c.jsx(Ue,{label:"Depth",value:e.topology?.depth.toString(),tooltip:a.depth.explanation})]})};function aae(){const{status:e,isLoading:a,topology:t}=x.useContext(We),{isEnabled:n,checkState:s}=e.topology;if(!n)return null;let i;return s===Ge.OK?i="You are connected to other Bee nodes":i="Your node is not connected to any peers. Please wait a bit if you just started the node, otherwise review your configuration file.",c.jsxs(Wa,{label:c.jsxs(c.Fragment,{children:[c.jsx(W1,{checkState:s,isLoading:a})," Connection to Peers"]}),children:[c.jsx(B1,{children:i}),c.jsx(eae,{topology:t})]})}function tae(){const{isDesktop:e}=x.useContext(Le);return c.jsxs("div",{children:[e&&c.jsx(Kee,{}),c.jsx(Xee,{}),c.jsx(Vee,{}),c.jsx(aae,{})]})}const nae=Ke()(()=>({checkWrapper:{background:"rgba(0, 230, 118, 0.25)",borderRadius:99999,width:"180px",height:"180px",display:"flex",alignItems:"center",justifyContent:"center"}})),cae=Na.fromDecimalString("0.05"),sae=_a.fromDecimalString("0.1");function rae(){const e=da(),{classes:a}=nae(),{isDesktop:t,desktopUrl:n}=x.useContext(Le),{nodeInfo:s,status:i}=x.useContext(We),{balance:d}=x.useContext(Qn),{rpcProviderUrl:f}=x.useContext(Le),[l,b]=x.useState(!1),{enqueueSnackbar:u}=xa(),g=t&&s?.beeMode===Sa.ULTRA_LIGHT&&d?.dai.gte(cae)&&d?.bzz.gte(sae);async function m(){b(!0);try{await Fr(n,f),await g1(n),e(Fe.RESTART_LIGHT)}catch(p){console.error(p),u(`Failed to upgrade: ${st(p)}`,{variant:"error"})}b(!1)}return i.all===Ge.ERROR?c.jsx(Vt,{}):d?c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:"Account"}),c.jsxs(Ve,{container:!0,direction:"column",alignItems:"center",children:[c.jsx(oe,{mb:6,children:c.jsx("div",{className:a.checkWrapper,children:c.jsx(Jn,{size:100,color:"#ededed"})})}),c.jsx(oe,{mb:1,children:c.jsx(Me,{style:{fontWeight:"bold"},children:"Transfer funds to your Swarm account"})}),c.jsxs(oe,{mb:4,children:[c.jsx(Me,{align:"center",children:"Top up your account with xBZZ and xDAI."}),c.jsx(Me,{align:"center",children:"If you're not familiar with cryptocurrencies, you can start with a bank card."})]}),c.jsxs(ba,{children:[c.jsx(Be,{iconType:Af,onClick:()=>e(Fe.TOP_UP_GIFT_CODE),children:"Use a gift code"}),c.jsx(Be,{iconType:Qb,onClick:()=>e(Fe.TOP_UP_CRYPTO),children:"Use xDAI"}),c.jsx(Be,{iconType:eu,onClick:()=>e(Fe.TOP_UP_BANK_CARD),children:"Get started with bank card"})]}),g&&c.jsxs(c.Fragment,{children:[c.jsx(oe,{mt:8,mb:2,children:c.jsx(Me,{align:"center",children:"It seems that you have enough balance to upgrade your bee node to light node. By upgrading you will gain access to file upload and faster downloads."})}),c.jsxs(ba,{children:[c.jsx(Be,{iconType:ft,onClick:m,disabled:l,loading:l,children:"Upgrade now"}),c.jsx("div",{})]})]})]})]}):c.jsx(En,{})}function Ps({my:e,mt:a,mb:t,color:n="#cbcbcb"}){return c.jsx(oe,{my:e,mt:a,mb:t,children:c.jsx(uc,{style:{borderColor:n}})})}function El({index:e}){return c.jsx(Ms,{index:e,steps:["Buy xDAI","Swap xBZZ"]})}const of=Na.fromDecimalString("0.5");function Cl({header:e,title:a,p:t,next:n}){const{nodeAddresses:s}=x.useContext(We),{balance:i}=x.useContext(Qn),d=da();if(!i||!s)return c.jsx(En,{});const f=i.dai.lt(of);return c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:e}),c.jsx(oe,{mb:4,children:c.jsx(El,{index:0})}),c.jsx(oe,{mb:2,children:c.jsx(Me,{style:{fontWeight:"bold"},children:a})}),c.jsx(oe,{mb:4,children:t}),c.jsx(Ps,{mb:4}),c.jsx(oe,{mb:.25,children:c.jsx(Pa,{label:"Funding wallet address",value:i.address,expanded:!0})}),c.jsx(oe,{mb:4,children:c.jsx(Ue,{label:"xDAI balance",value:i.dai.toSignificantDigits(4)})}),c.jsxs(Ve,{container:!0,direction:"row",justifyContent:"space-between",children:[c.jsx(Be,{iconType:ft,onClick:()=>d(n),disabled:f,children:"Proceed"}),f?c.jsxs(Me,{children:["Please deposit at least ",of.toSignificantDigits(4)," xDAI to the address above in order to proceed."]}):null]})]})}function iae(){return c.jsx(Cl,{header:"Top-up with bank card",title:"Use a bank card to buy xDAI to the funding wallet address below",p:c.jsxs(Me,{children:["It is recommended to buy an amount equivalent to 10 EUR maximum. If you're not familiar with cryptocurrencies, you may use"," ",c.jsx("a",{href:"https://docs.ethswarm.org/docs/desktop/configuration/#upgrading-from-an-ultra-light-to-a-light-node",rel:"noreferrer",target:"_blank",children:"this guide"}),"."]}),next:Fe.TOP_UP_BANK_CARD_SWAP})}function dae(){return c.jsx(Cl,{header:"Top-up with cryptocurrencies",title:"Send xDAI to the funding wallet below",p:c.jsxs(Me,{children:["For security reasons it is recommended to send maximum 5 to 10 xDAI. To get xDAI from DAI you may use"," ",c.jsx("a",{href:"https://bridge.gnosischain.com",rel:"noreferrer",target:"_blank",children:"https://bridge.gnosischain.com"}),"."]}),next:Fe.TOP_UP_CRYPTO_SWAP})}function fae(){const{nodeAddresses:e,nodeInfo:a}=x.useContext(We),{isDesktop:t,desktopUrl:n,rpcProvider:s,rpcProviderUrl:i}=x.useContext(Le),{balance:d}=x.useContext(Qn),[f,l]=x.useState(!1),[b,u]=x.useState(null),{privateKeyString:g}=us(),{enqueueSnackbar:m}=xa(),p=da();if(x.useEffect(()=>{!g||!s||Ns.make(g,s).then(u)},[g,s]),!b||!d)return c.jsx(En,{});const S=t&&a?.beeMode===Sa.ULTRA_LIGHT;async function w(){try{await vs(5e3),await Fr(n,i),await g1(n),p(Fe.RESTART_LIGHT)}catch(C){console.error(C),m(`Failed to upgrade: ${st(C)}`,{variant:"error"})}}async function E(){if(!(!b||!e||!i)){l(!0);try{await b.transfer(e.ethereum,i),m("Successfully funded node",{variant:"success"}),S&&await w()}catch(C){console.error(C),m(`Failed to fund: ${st(C)}`,{variant:"error"})}finally{l(!1)}}}return c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:"Top-up with gift code"}),c.jsx(oe,{mb:4,children:c.jsx(Ms,{index:1,steps:["Paste gift code","Fund your node"]})}),c.jsx(oe,{mb:2,children:c.jsx(Me,{style:{fontWeight:"bold"},children:"Send funds to your Bee node"})}),c.jsx(oe,{mb:4,children:c.jsx(Me,{children:"Deposit all the funds from the gift wallet to your node wallet address. You can use the button below to transfer all funds to your node."})}),c.jsx(Ps,{mb:4}),c.jsx(oe,{mb:.25,children:c.jsx(Pa,{label:"Gift wallet address",value:d.address||"N/A"})}),c.jsx(oe,{mb:.25,children:c.jsx(Ue,{label:"xDAI balance",value:`${b.dai.toSignificantDigits(4)} xDAI`})}),c.jsx(oe,{mb:4,children:c.jsx(Ue,{label:"xBZZ balance",value:`${b.bzz.toSignificantDigits(4)} xBZZ`})}),c.jsx(oe,{mb:4,children:c.jsx(au,{size:24,color:"#aaaaaa"})}),c.jsx(oe,{mb:.25,children:c.jsx(Pa,{label:"Node wallet address",value:e?.ethereum.toChecksum()||"N/A",expanded:!0})}),c.jsx(oe,{mb:.25,children:c.jsx(Ue,{label:"xDAI balance",value:`${d.dai.toSignificantDigits(4)} xDAI`})}),c.jsx(oe,{mb:2,children:c.jsx(Ue,{label:"xBZZ balance",value:`${d.bzz.toSignificantDigits(4)} xBZZ`})}),c.jsx(Be,{iconType:ft,onClick:E,disabled:f,loading:f,children:S?"Send all funds to your node and Upgrade":"Send all funds to your node"})]})}function oae(){const{rpcProvider:e}=x.useContext(Le),[a,t]=x.useState(!1),[n,s]=x.useState(""),{enqueueSnackbar:i}=xa(),d=da();async function f(){if(e){t(!0);try{const l=new yn(n,e),b=await mt._eth_getBalance(l.address,e),u=await mt._eth_getBalanceERC20(l.address,e);if(b.lt(Na.fromDecimalString("0.001"))||u.lt(_a.fromDecimalString("0.001")))throw Error("Gift wallet does not have enough funds");i("Successfully verified gift wallet",{variant:"success"}),d(Fe.TOP_UP_GIFT_CODE_FUND.replace(":privateKeyString",n))}catch(l){console.error(l),i(`Gift wallet could not be verified: ${st(l)}`,{variant:"error"})}finally{t(!1)}}}return c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:"Top-up with gift code"}),c.jsx(oe,{mb:4,children:c.jsx(Ms,{index:0,steps:["Paste gift code","Fund your node"]})}),c.jsx(oe,{mb:2,children:c.jsx(Me,{style:{fontWeight:"bold"},children:"Please paste your gift code below"})}),c.jsx(oe,{mb:4,children:"A gift code is a unique key to a gift wallet that you can use to fund your node. Please don't share your gift code as it can only be used once."}),c.jsx(Ps,{mb:4}),c.jsx(oe,{mb:2,children:c.jsx($t,{label:"Gift code",name:"gift-code",onChange:l=>{s(l.target.value)}})}),c.jsx(Be,{iconType:Lf,loading:a,disabled:a,onClick:f,children:"Proceed"})]})}const w7=Na.fromDecimalString("0.1"),lf=_a.fromDecimalString("0.1"),bf="Failed to swap. The full error is printed to the console.";function uf({header:e}){const[a,t]=x.useState(!1),[n,s]=x.useState(!1),[i,d]=x.useState(null),[f,l]=x.useState(Na.fromDecimalString("0.3")),[b,u]=x.useState(null),[g,m]=x.useState(null),[p,S]=x.useState(null),[w,E]=x.useState(null),{rpcProviderUrl:C,isDesktop:_,desktopUrl:D}=x.useContext(Le),{nodeAddresses:O,nodeInfo:$}=x.useContext(We),{balance:W}=x.useContext(Qn),J=da(),{enqueueSnackbar:k}=xa();if(x.useEffect(()=>{Hg(D).then(l).catch(console.error)},[D]),x.useEffect(()=>{if(!W||i)return;const v=Na.fromDecimalString("1").plus(w7);W.dai.gte(v)?m(W.dai.minus(Na.fromDecimalString("1"))):m(W.dai.divide(BigInt(2)))},[W,i]),x.useEffect(()=>{u(null);try{if(i){const v=Na.fromDecimalString(i);m(v),v.lte(Na.fromDecimalString("0"))&&u("xDAI to swap must be a positive number")}}catch{u("Cannot parse xDAI amount")}},[i]),x.useEffect(()=>{if(!W||!g||b)return;const v=W.dai.minus(g);E(v);const B=g.exchangeToBZZ(f).plus(W.bzz);S(B),v.lt(w7)?u(`Must keep at least ${w7.toSignificantDigits(4)} xDAI after swap!`):B.lt(lf)&&u(`Must have at least ${lf.toSignificantDigits(4)} xBZZ after swap!`)},[b,W,g,f]),!W||!O||!g||!p||!w)return c.jsx(En,{});const P=_&&$?.beeMode===Sa.ULTRA_LIGHT;async function R(){try{await vs(5e3),await g1(D),J(Fe.RESTART_LIGHT)}catch(v){console.error(v),k(`Failed to upgrade: ${st(v)}`,{variant:"error"})}}async function F(v){try{await Xg(D,v)}catch(L){throw console.error(L),L}}async function A(v){if(!localStorage.getItem(Qe.apiKey))throw new Z7("API key is not set, reopen dashboard through Swarm Desktop");let L=await f7(Br(D),"Unable to reach Desktop API, Swarm Desktop may not be running");P&&(L=await f7(Fr(D,C),"Failed to update the configuration file with the new swap values using the Desktop API"));const B=jo(L);if(!B)throw new Z7("Blockchain RPC endpoint is not configured in Swarm Desktop");await f7(mt.getNetworkChainId(B),`Blockchain RPC endpoint not reachable at ${B}`),await f7(F(v),bf)}async function T(){if(!(n||!g)){t(!0),s(!0);try{await A(g),k(P?"Successfully swapped. Beginning light node upgrade...":"Successfully swapped. Balances will refresh soon. You may now navigate away.",{variant:"success"}),P&&await R()}catch(v){Gg(v)?(k(v.snackbarMessage,{variant:"error"}),v.originalError&&console.error(v.originalError)):(k(`${bf} ${st(v)}`,{variant:"error"}),console.error(v))}finally{t(!1)}}}return c.jsxs(c.Fragment,{children:[c.jsx(qa,{children:e}),c.jsx(oe,{mb:4,children:c.jsx(El,{index:1})}),c.jsx(oe,{mb:2,children:c.jsx(Me,{style:{fontWeight:"bold"},children:"Swap some xDAI to xBZZ"})}),c.jsx(oe,{mb:4,children:c.jsxs(Me,{children:["You need to swap xDAI to xBZZ in order to use Swarm. Make sure to keep at least"," ",w7.toSignificantDigits(4)," xDAI in order to pay for transaction costs on the network."]})}),c.jsx(Ps,{mb:4}),c.jsx(oe,{mb:4,children:c.jsxs(Me,{children:["Your current balance is ",W.dai.toSignificantDigits(4)," xDAI and ",W.bzz.toSignificantDigits(4)," ","xBZZ."]})}),c.jsxs(oe,{mb:4,children:[c.jsx($t,{label:"xDAI to swap",defaultValue:g.toSignificantDigits(4),placeholder:g.toSignificantDigits(4),name:"x",onChange:v=>d(v.target.value)}),b&&c.jsx(Me,{children:b})]}),c.jsx(oe,{mb:4,children:c.jsx(tu,{size:24,color:"#aaaaaa"})}),c.jsx(oe,{mb:.25,children:c.jsx(Pa,{label:"Funding wallet address",value:O.ethereum.toChecksum(),expanded:!0})}),c.jsx(oe,{mb:.25,children:c.jsx(Ue,{label:"Resulting xDAI balance after swap",value:`${w.toSignificantDigits(4)} xDAI`})}),c.jsx(oe,{mb:2,children:c.jsx(Ue,{label:"Resulting xBZZ balance after swap",value:`${p.toSignificantDigits(4)} xBZZ`})}),c.jsx(ba,{children:c.jsx(Be,{iconType:ft,onClick:T,disabled:n||a||b!==null,loading:a,children:P?"Swap Now and Upgrade":"Swap Now"})})]})}var Fe=(e=>(e.INFO="/",e.FILES="/files",e.FILEMANAGER="/filemanager",e.UPLOAD="/files/upload",e.UPLOAD_IN_PROGRESS="/files/upload/workflow",e.DOWNLOAD="/files/download",e.HASH="/files/hash/:hash",e.SETTINGS="/settings",e.STATUS="/status",e.TOP_UP="/account/wallet/top-up",e.TOP_UP_CRYPTO="/account/wallet/top-up/crypto",e.TOP_UP_CRYPTO_SWAP="/account/wallet/top-up/crypto/swap",e.TOP_UP_BANK_CARD="/account/wallet/top-up/bank-card",e.TOP_UP_BANK_CARD_SWAP="/account/wallet/top-up/bank-card/swap",e.TOP_UP_GIFT_CODE="/account/wallet/top-up/gift-code",e.TOP_UP_GIFT_CODE_FUND="/account/wallet/top-up/gift-code/fund/:privateKeyString",e.RESTART_LIGHT="/light-mode-restart",e.ACCOUNT_WALLET="/account/wallet",e.ACCOUNT_CHEQUEBOOK="/account/chequebook",e.ACCOUNT_STAMPS="/account/stamps",e.ACCOUNT_STAMPS_NEW_STANDARD="/account/stamps/new",e.ACCOUNT_STAMPS_NEW_ADVANCED="/account/stamps/new/advanced",e.ACCOUNT_FEEDS="/account/feeds",e.ACCOUNT_FEEDS_NEW="/account/feeds/new",e.ACCOUNT_FEEDS_UPDATE="/account/feeds/update/:hash",e.ACCOUNT_FEEDS_VIEW="/account/feeds/view/:uuid",e.ACCOUNT_INVITATIONS="/account/invitations",e.ACCOUNT_STAKING="/account/staking",e))(Fe||{});const lae=["/account/wallet","/account/chequebook","/account/stamps","/account/feeds","/account/staking"],bae=()=>{const{isDesktop:e}=x.useContext(Le);return c.jsxs(nu,{children:[c.jsx(ra,{path:"/files/upload/workflow",element:c.jsx(Uv,{})}),c.jsx(ra,{path:"/files/upload",element:c.jsx($v,{})}),c.jsx(ra,{path:"/filemanager",element:c.jsx(ov,{})}),c.jsx(ra,{path:"/files/download",element:c.jsx(gv,{})}),c.jsx(ra,{path:"/files/hash/:hash",element:c.jsx(Dv,{})}),c.jsx(ra,{path:"/settings",element:c.jsx($ee,{})}),c.jsx(ra,{path:"/status",element:c.jsx(tae,{})}),c.jsx(ra,{path:"/",element:c.jsx(Oee,{})}),c.jsx(ra,{path:"/account/wallet/top-up",element:c.jsx(rae,{})}),c.jsx(ra,{path:"/account/wallet/top-up/crypto",element:c.jsx(dae,{})}),c.jsx(ra,{path:"/account/wallet/top-up/crypto/swap",element:c.jsx(uf,{header:"Top-up with cryptocurrencies"})}),c.jsx(ra,{path:"/account/wallet/top-up/bank-card",element:c.jsx(iae,{})}),c.jsx(ra,{path:"/account/wallet/top-up/bank-card/swap",element:c.jsx(uf,{header:"Top-up with bank card"})}),c.jsx(ra,{path:"/account/wallet/top-up/gift-code",element:c.jsx(oae,{})}),c.jsx(ra,{path:"/account/wallet/top-up/gift-code/fund/:privateKeyString",element:c.jsx(fae,{})}),c.jsx(ra,{path:"/light-mode-restart",element:c.jsx(Uee,{})}),c.jsx(ra,{path:"/account/wallet",element:c.jsx($p,{})}),c.jsx(ra,{path:"/account/chequebook",element:c.jsx($m,{})}),c.jsx(ra,{path:"/account/stamps",element:c.jsx(Lp,{})}),c.jsx(ra,{path:"/account/stamps/new",element:c.jsx(Hee,{})}),c.jsx(ra,{path:"/account/stamps/new/advanced",element:c.jsx(zee,{})}),c.jsx(ra,{path:"/account/feeds",element:c.jsx(lp,{})}),c.jsx(ra,{path:"/account/feeds/new",element:c.jsx(qp,{})}),c.jsx(ra,{path:"/account/feeds/update/:hash",element:c.jsx(Jp,{})}),c.jsx(ra,{path:"/account/feeds/view/:uuid",element:c.jsx(Yp,{})}),c.jsx(ra,{path:"/account/staking",element:c.jsx(up,{})}),e&&c.jsx(ra,{path:"/account/invitations",element:c.jsx(Yv,{})}),c.jsx(ra,{path:"*",element:c.jsx(Fee,{})})]})},uae=Ke()(e=>({root:{paddingLeft:e.spacing(4),paddingRight:e.spacing(4),borderLeft:"4px solid rgba(0,0,0,0)","&.Mui-selected, &.Mui-selected:hover":{borderLeft:`4px solid ${e.palette.primary.main}`,backgroundColor:"#2c2c2c",color:"#f9f9f9"},"&:hover":{backgroundColor:"#2c2c2c",color:"#f9f9f9","@media (hover: none)":{backgroundColor:"#2c2c2c",color:"#f9f9f9"}}},rootCollapsed:{justifyContent:"center",paddingLeft:e.spacing(1),paddingRight:e.spacing(1)}})),hae=Ke()(e=>({icon:{color:"inherit",minWidth:0},activeIcon:{color:e.palette.primary.main,minWidth:0},label:{marginLeft:e.spacing(2)}}));function L4({iconStart:e,iconEnd:a,path:t,label:n,pathMatcherSubstring:s,isCollapsed:i}){const{classes:d}=hae(),{classes:f}=uae(),l=j1(),b=s?l.pathname.startsWith(s):!!(t&&Uf(l.pathname,t));return c.jsx(Wt,{title:i?n:"",placement:"right",children:c.jsxs(cn,{className:`${f.root} ${i?f.rootCollapsed:""}`,selected:b,disableRipple:!0,children:[c.jsx($7,{className:b?d.activeIcon:d.icon,children:e}),!i&&c.jsx(yr,{primary:n,className:d.label}),!i&&a&&c.jsx($7,{className:b?d.activeIcon:d.icon,children:a})]})})}const gae=Ke()(e=>({icon:{color:"inherit"},iconSmall:{height:e.spacing(2)},root:{height:e.spacing(4),paddingLeft:e.spacing(0),paddingRight:e.spacing(0),color:"#f9f9f9",borderLeft:"0px solid rgba(0,0,0,0)","&.Mui-selected, &.Mui-selected:hover":{borderLeft:`0px solid ${e.palette.primary.main}`,backgroundColor:"#2c2c2c"}},rootError:{backgroundColor:"rgba(255, 58, 82, 0.25)"},button:{"&:hover":{backgroundColor:"#2c2c2c",color:"white","@media (hover: none)":{backgroundColor:"#2c2c2c",color:"white"}}},smallerText:{fontSize:"0.9rem",whiteSpace:"nowrap"},rootCollapsed:{justifyContent:"center",paddingLeft:e.spacing(1),paddingRight:e.spacing(1)},statusIcon:{marginLeft:"30px",minWidth:0},statusIconCollapsed:{marginLeft:0,minWidth:0},statusText:{marginLeft:e.spacing(2)}}));function mae({path:e,isCollapsed:a}){const{status:t,isLoading:n}=x.useContext(We),{classes:s}=gae(),i=j1(),d=!!(e&&Uf(i.pathname,e));return c.jsx(Wt,{title:a?`Node ${t.all}`:"",placement:"right",children:c.jsxs(cn,{classes:{root:`${s.root} ${t.all?"":s.rootError} ${a?s.rootCollapsed:""}`},selected:d,disableRipple:!0,children:[c.jsx($7,{className:a?s.statusIconCollapsed:s.statusIcon,children:c.jsx(W1,{checkState:t.all,isLoading:n})}),!a&&c.jsxs(c.Fragment,{children:[c.jsx(yr,{primary:c.jsx(Me,{className:`${s.smallerText} ${s.statusText}`,children:`Node ${t.all}`})}),c.jsx($7,{className:s.icon,children:t.all?null:c.jsx(Lf,{className:s.iconSmall})})]})]})})}const hf=300,gf=72,mf=56,pae=Ke()(e=>({root:{flexWrap:"nowrap",minHeight:`calc(100vh - ${mf}px)`,paddingBottom:e.spacing(8)},drawer:{width:hf,flexShrink:0,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen})},drawerCollapsed:{width:gf,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen})},drawerPaper:{width:hf,backgroundColor:"#212121",zIndex:988,overflowX:"hidden",transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen})},drawerPaperCollapsed:{width:gf,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen})},header:{display:"flex",alignItems:"center",height:mf,borderBottom:"1px solid #2c2c2c",paddingLeft:e.spacing(2),paddingRight:e.spacing(2),flexShrink:0},logo:{flex:1,display:"flex",alignItems:"center",overflow:"hidden"},logoImg:{maxWidth:"100%",display:"block"},toggleButton:{color:"#9f9f9f","&:hover":{color:"#f9f9f9",backgroundColor:"#2c2c2c"}},toggleButtonCollapsed:{marginLeft:"auto"},icon:{height:e.spacing(4)},divider:{backgroundColor:"#2c2c2c",marginLeft:e.spacing(4),marginRight:e.spacing(4)},link:{color:"#9f9f9f",textDecoration:"none","&:hover":{textDecoration:"none","@media (hover: none)":{textDecoration:"none"}}}}));function yae(){const{classes:e}=pae(),{isDesktop:a}=x.useContext(Le),{nodeInfo:t}=x.useContext(We),[n,s]=x.useState(!1),i=[{label:"Info",path:Fe.INFO,icon:cu},{label:"Files",path:t?.beeMode===Sa.ULTRA_LIGHT?Fe.DOWNLOAD:Fe.UPLOAD,icon:su,pathMatcherSubstring:"/files/"},{label:"File Manager",path:Fe.FILEMANAGER,icon:ru,pathMatcherSubstring:"/filemanager"},{label:"Account",path:Fe.ACCOUNT_WALLET,icon:n1,pathMatcherSubstring:"/account/"},{label:"Settings",path:Fe.SETTINGS,icon:Zc}];return c.jsxs(iu,{className:`${e.drawer} ${n?e.drawerCollapsed:""}`,variant:"permanent",anchor:"left",classes:{paper:`${e.drawerPaper} ${n?e.drawerPaperCollapsed:""}`},children:[c.jsxs("div",{className:e.header,children:[!n&&c.jsx(Qt,{to:Fe.INFO,className:e.logo,children:c.jsx("img",{alt:"swarm",className:e.logoImg,src:a?ju:Cu})}),c.jsx(Wt,{title:n?"Expand sidebar":"Collapse sidebar",placement:"right",children:c.jsx(Sn,{onClick:()=>s(!n),className:`${e.toggleButton} ${n?e.toggleButtonCollapsed:""}`,children:n?c.jsx(du,{}):c.jsx(fu,{})})})]}),c.jsxs(Ve,{container:!0,direction:"column",justifyContent:"space-between",className:e.root,children:[c.jsxs(Ve,{children:[c.jsx(r7,{children:i.map(d=>c.jsx(Qt,{to:d.path,className:e.link,children:c.jsx(L4,{iconStart:c.jsx(d.icon,{className:e.icon}),path:d.path,pathMatcherSubstring:d.pathMatcherSubstring,label:d.label,isCollapsed:n},d.path)},d.path))}),c.jsx(uc,{className:e.divider}),c.jsx(r7,{children:c.jsx(F7,{href:Vf,target:"_blank",className:e.link,children:c.jsx(L4,{iconStart:c.jsx(ou,{className:e.icon}),iconEnd:n?void 0:c.jsx(G4,{className:e.icon,color:"#595959"}),label:c.jsx("span",{children:"Docs"}),isCollapsed:n})})}),c.jsx(uc,{className:e.divider}),c.jsx(r7,{children:c.jsx(F7,{href:a?ku:Nu,target:"_blank",className:e.link,children:c.jsx(L4,{iconStart:c.jsx(lu,{className:e.icon}),iconEnd:n?void 0:c.jsx(G4,{className:e.icon,color:"#595959"}),label:c.jsx("span",{children:"GitHub"}),isCollapsed:n})})}),c.jsx(uc,{className:e.divider}),!n&&c.jsx(oe,{mt:4,children:c.jsx(Qt,{to:Fe.TOP_UP_GIFT_CODE,children:c.jsx(Me,{align:"center",children:"Redeem gift code"})})})]}),c.jsx(Ve,{children:c.jsx(r7,{children:c.jsx(Qt,{to:Fe.STATUS,className:e.link,children:c.jsx(mae,{path:Fe.STATUS,isCollapsed:n})})})})]})]})}const xae=Ke()(e=>({content:{backgroundColor:e.palette.background.default,minHeight:"100vh"},fileManagerOn:{padding:"0px !important",margin:"0px !important",maxWidth:"100% !important"}})),wae=e=>{const t=j1().pathname.startsWith("/filemanager"),{classes:n}=xae(),{isLoading:s}=x.useContext(We),{isDesktop:i,desktopUrl:d}=x.useContext(Le),{desktopAutoUpdateEnabled:f}=Ur(i,d),{newBeeDesktopVersion:l}=Ao(i,d,f),{enqueueSnackbar:b,closeSnackbar:u}=xa();x.useEffect(()=>{f||l!==""&&b(`There is new Swarm Desktop version ${l}!`,{variant:"warning",preventDuplicate:!0,key:"desktopNewVersion",persist:!0,action:m=>c.jsxs(bs.Fragment,{children:[c.jsx(it,{onClick:()=>{window.open(Kf),u(m)},children:"Download release"}),c.jsx(Sn,{onClick:()=>{u(m)},children:c.jsx(bu,{})})]})})},[b,u,l,f]);const g=c.jsx(c.Fragment,{children:s?c.jsx("div",{style:{textAlign:"center",width:"100%"},children:c.jsx(Ht,{})}):e.children});return c.jsxs(Hf,{children:[c.jsx(yae,{}),c.jsxs(_r,{className:`${n.content} ${t?n.fileManagerOn:""}`,children:[" ",c.jsx(qf,{errorReporting:e.errorReporting,children:g})]})]})},vae=uu({palette:{mode:"light",background:{default:"#ededed"},primary:{light:"#fcf2e8",main:"#dd7700",dark:hu[800]},secondary:{main:"#333333"}},typography:{fontFamily:["iAWriterQuattroV","Roboto",'"Helvetica Neue"',"Arial","sans-serif"].join(","),h1:{fontSize:"1.1rem",fontWeight:600},h2:{fontSize:"0.9rem",fontWeight:600},h3:{fontSize:"0.8rem",fontWeight:500},body1:{fontSize:"0.85rem"},body2:{fontFamily:'"iAWriterMonoV", monospace',fontWeight:500,fontSize:"0.85rem"},button:{textTransform:"none"}},components:{MuiContainer:{styleOverrides:{root:{padding:"64px"},maxWidthXs:{padding:"64px"},maxWidthSm:{padding:"64px"},maxWidthMd:{padding:"64px"},maxWidthLg:{padding:"64px"},maxWidthXl:{padding:"64px"}}},MuiButton:{defaultProps:{disableRipple:!0},styleOverrides:{startIcon:{marginLeft:"8px"},endIcon:{marginRight:"8px"},outlined:{border:"none",borderRadius:"80px",color:"#dd7700",backgroundColor:"#fcf2e8"},outlinedSizeSmall:{padding:"8px 16px",boxShadow:"none","&:hover":{backgroundColor:"#dd7700",color:"white",boxShadow:"none","@media (hover: none)":{backgroundColor:"#dd7700",color:"white",boxShadow:"none"}}},outlinedSizeLarge:{padding:"32px",borderRadius:0,boxShadow:"none","&:hover":{backgroundColor:"#dd7700",color:"white",boxShadow:"none","@media (hover: none)":{backgroundColor:"#dd7700",color:"white",boxShadow:"none"}}},containedSizeLarge:{padding:"32px",borderRadius:0,boxShadow:"none","&:hover":{backgroundColor:"#dd7700",color:"white",boxShadow:"none","@media (hover: none)":{backgroundColor:"#dd7700",color:"white",boxShadow:"none"}}},containedSizeSmall:{padding:"8px 16px",borderRadius:0,boxShadow:"none","&:hover":{backgroundColor:"#dd7700",color:"white",boxShadow:"none","@media (hover: none)":{backgroundColor:"#dd7700",color:"white",boxShadow:"none"}}},contained:{padding:"16px",backgroundColor:"white",boxShadow:"none",borderRadius:0,"&:hover":{backgroundColor:"#dd7700",color:"white",boxShadow:"none","@media (hover: none)":{backgroundColor:"#dd7700",color:"white",boxShadow:"none"}},"&:focus":{backgroundColor:"#dd7700",color:"white"},"&:active":{backgroundColor:"#dd7700",color:"white"},"&:disabled":{backgroundColor:"white"}}}},MuiTab:{defaultProps:{disableRipple:!0},styleOverrides:{root:{backgroundColor:"white","&:hover":{backgroundColor:"#fcf2e8",color:"#dd7700",opacity:1},"&.Mui-selected":{fontWeight:500}},textColorInherit:{opacity:.5}}},MuiTabs:{styleOverrides:{root:{borderBottom:"none"},indicator:{backgroundColor:"transparent"}}},MuiSlider:{styleOverrides:{root:{"& .MuiSlider-valueLabel":{top:"-27px","& span":{height:"20px",borderRadius:"0px",transform:"none","& span":{display:"flex",alignItems:"center",transform:"none"}}}}}},MuiButtonBase:{defaultProps:{disableRipple:!0}}}}),Sae=({beeApiUrl:e,defaultRpcUrl:a,lockedApiSettings:t,isDesktop:n,desktopUrl:s,errorReporting:i,giftWalletFees:d})=>c.jsx("div",{className:"App",children:c.jsx(gu,{theme:vae,children:c.jsx(im,{beeApiUrl:e,defaultRpcUrl:a,lockedApiSettings:t,isDesktop:n,desktopUrl:s,giftWalletFees:d,children:c.jsx(zv,{children:c.jsx(lm,{children:c.jsx(Zv,{children:c.jsx(pp,{children:c.jsx(Vp,{children:c.jsx(Qy,{children:c.jsx(Wm,{children:c.jsx(ev,{children:c.jsx(mu,{preventDuplicate:!0,anchorOrigin:{horizontal:"right",vertical:"bottom"},children:c.jsx(pu,{children:c.jsxs(c.Fragment,{children:[c.jsx(yu,{}),c.jsx(wae,{errorReporting:i,children:c.jsx(bae,{})})]})})})})})})})})})})})})})}),_ae=!1,Eae=void 0,Cae=void 0,jae=void 0,Aae=xu.createRoot(document.getElementById("root"));Aae.render(c.jsx(bs.StrictMode,{children:c.jsx(Sae,{isDesktop:_ae,desktopUrl:Eae,beeApiUrl:Cae,defaultRpcUrl:jae})}));export{Jae as F,Cc as T,iy as s};