@yarrow-uz/yarrow-map-web-sdk 1.0.41 → 1.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import t from"axios";import"maplibre-gl/dist/maplibre-gl.css";import{useRef as e,useState as o,useMemo as n,useEffect as i}from"react";import{addProtocol as r,Map as a,Marker as s}from"maplibre-gl";import{jsx as l}from"react/jsx-runtime";function c(t,e,o,n){return new(o||(o=Promise))(function(i,r){function a(t){try{l(n.next(t))}catch(t){r(t)}}function s(t){try{l(n.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof o?e:new o(function(t){t(e)})).then(a,s)}l((n=n.apply(t,e||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const d="bottom-left",u="data-yarrow-brand-badge-root",h="data-yarrow-brand-badge-theme";class p{constructor(){this.state={theme:"light",position:d}}mount(t,e){var o,n;this.state=e,this.container=t,this.teardown(!1),"static"===getComputedStyle(t).position&&t.style.setProperty("position","relative","important");const i=null!==(n=null!==(o=this.host)&&void 0!==o?o:t.querySelector(`[${u}]`))&&void 0!==n?n:this.createHost();this.host=i;const r=()=>{if(!this.host||!this.container)return;const t=this.host;this.container.contains(t)||this.container.appendChild(t),t.removeAttribute("hidden"),t.setAttribute(u,"1"),t.setAttribute(h,this.state.theme),this.applyHostStyles(t)};r(),this.observer=new MutationObserver(()=>{r()}),this.observer.observe(t,{childList:!0}),this.enforcerInterval=setInterval(()=>{r()},1e3)}update(t){this.state=t,this.host&&(this.host.setAttribute(h,this.state.theme),this.applyHostStyles(this.host))}teardown(t=!0){var e,o;null===(e=this.observer)||void 0===e||e.disconnect(),this.observer=void 0,this.enforcerInterval&&(clearInterval(this.enforcerInterval),this.enforcerInterval=void 0),t&&(null===(o=this.host)||void 0===o?void 0:o.isConnected)&&this.host.remove(),t&&(this.host=void 0,this.container=void 0)}getHostInlineStyle(){let t="";switch(this.state.position){case"top-left":t="top: 6px !important; left: 6px !important;";break;case"top-right":t="top: 6px !important; right: 6px !important;";break;case"bottom-right":t="bottom: 6px !important; right: 6px !important;";break;default:t="bottom: 6px !important; left: 6px !important;"}return["position: absolute !important","z-index: 2147483647 !important","pointer-events: none !important","user-select: none !important","display: block !important","visibility: visible !important","opacity: 1 !important","transform: none !important","top: auto !important","right: auto !important","bottom: auto !important","left: auto !important",t].join("; ")}applyHostStyles(t){const e=this.getHostInlineStyle();t.getAttribute("style")!==e&&t.setAttribute("style",e)}createHost(){const t=document.createElement("div");t.setAttribute(u,"1"),t.setAttribute(h,this.state.theme),t.setAttribute("aria-hidden","true"),t.removeAttribute("hidden"),this.applyHostStyles(t);const e=t.attachShadow({mode:"closed"}),o=document.createElement("style");o.textContent='\n :host {\n all: initial;\n }\n .badge {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n background: rgba(255, 255, 255, 0.92) !important;\n border: 1px solid rgba(15, 23, 42, 0.08) !important;\n border-radius: 16px !important;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.16) !important;\n padding: 2px 10px !important;\n }\n :host([data-yarrow-brand-badge-theme="dark"]) .badge {\n background: rgba(15, 23, 42, 0.82) !important;\n border: 1px solid rgba(255, 255, 255, 0.16) !important;\n box-shadow: 0 2px 12px rgba(2, 6, 23, 0.5) !important;\n }\n img {\n display: block !important;\n width: 106px !important;\n height: auto !important;\n max-width: none !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n ';const n=document.createElement("div");n.className="badge";const i=document.createElement("img");return i.src="data:image/png;base64,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",i.alt="Yarrow",i.draggable=!1,n.appendChild(i),e.append(o,n),t}}const m={enabled:!1,position:"right",zoom:!0,compass:!0};class g{constructor(){this.state={theme:"light",controls:m}}mount(t,e){this.map=t,this.update(e)}update(t){if(this.state=t,!this.map||!t.controls.enabled)return void this.teardown(!0);const e=this.map.getContainer();this.container=e,"static"===getComputedStyle(e).position&&e.style.setProperty("position","relative","important"),this.host||(this.createDom(e),this.attachMapListeners()),this.host&&(this.host.dataset.yarrowTheme=this.state.theme,this.applyHostPosition(this.host),this.renderVisibleButtons(),this.updateCompassNeedle())}teardown(t=!0){var e;this.map&&this.onRotate&&this.map.off("rotate",this.onRotate),this.onRotate=void 0,this.zoomInButton&&this.onZoomInClick&&this.zoomInButton.removeEventListener("click",this.onZoomInClick),this.zoomOutButton&&this.onZoomOutClick&&this.zoomOutButton.removeEventListener("click",this.onZoomOutClick),this.compassButton&&this.onCompassClick&&this.compassButton.removeEventListener("click",this.onCompassClick),this.zoomInButton=void 0,this.zoomOutButton=void 0,this.compassButton=void 0,this.compassNeedle=void 0,this.onZoomInClick=void 0,this.onZoomOutClick=void 0,this.onCompassClick=void 0,t&&(null===(e=this.host)||void 0===e?void 0:e.isConnected)&&this.host.remove(),t&&(this.host=void 0,this.container=void 0)}createDom(t){const e=document.createElement("div");e.setAttribute("data-yarrow-controls-root","1"),e.dataset.yarrowTheme=this.state.theme;const o=e.attachShadow({mode:"closed"}),n=document.createElement("style");n.textContent='\n :host {\n all: initial;\n }\n .group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n button {\n all: unset;\n width: 36px;\n height: 36px;\n border-radius: 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-sizing: border-box;\n font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, \'Segoe UI\', sans-serif;\n font-weight: 700;\n font-size: 18px;\n line-height: 1;\n color: #0f172a;\n background: rgba(255, 255, 255, 0.94);\n border: 1px solid rgba(15, 23, 42, 0.12);\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.14);\n }\n button:hover {\n background: #ffffff;\n }\n button:active {\n transform: translateY(1px);\n }\n .needle {\n width: 32px;\n height: 32px;\n display: block;\n transition: transform 120ms linear;\n }\n :host([data-yarrow-theme="dark"]) button {\n color: #f8fafc;\n background: rgba(15, 23, 42, 0.88);\n border: 1px solid rgba(255, 255, 255, 0.16);\n box-shadow: 0 2px 12px rgba(2, 6, 23, 0.5);\n }\n :host([data-yarrow-theme="dark"]) button:hover {\n background: rgba(15, 23, 42, 0.96);\n }\n ';const i=document.createElement("div");i.className="group";const r=document.createElement("button");r.type="button",r.ariaLabel="Zoom in",r.textContent="+",this.onZoomInClick=()=>{var t;null===(t=this.map)||void 0===t||t.zoomIn({duration:200})},r.addEventListener("click",this.onZoomInClick);const a=document.createElement("button");a.type="button",a.ariaLabel="Zoom out",a.textContent="-",this.onZoomOutClick=()=>{var t;null===(t=this.map)||void 0===t||t.zoomOut({duration:200})},a.addEventListener("click",this.onZoomOutClick);const s=document.createElement("button");s.type="button",s.ariaLabel="Reset north";const l=document.createElement("img");l.className="needle",l.src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTUyOCAzMjBDNTI4IDIwNS4xIDQzNC45IDExMiAzMjAgMTEyQzIwNS4xIDExMiAxMTIgMjA1LjEgMTEyIDMyMEMxMTIgNDM0LjkgMjA1LjEgNTI4IDMyMCA1MjhDNDM0LjkgNTI4IDUyOCA0MzQuOSA1MjggMzIwek02NCAzMjBDNjQgMTc4LjYgMTc4LjYgNjQgMzIwIDY0QzQ2MS40IDY0IDU3NiAxNzguNiA1NzYgMzIwQzU3NiA0NjEuNCA0NjEuNCA1NzYgMzIwIDU3NkMxNzguNiA1NzYgNjQgNDYxLjQgNjQgMzIwek0zNzAuNyAzODkuMUwyMjYuNCA0NDQuNkMyMDcgNDUyLjEgMTg3LjkgNDMzIDE5NS40IDQxMy42TDI1MC45IDI2OS4zQzI1NC4yIDI2MC44IDI2MC44IDI1NC4yIDI2OS4zIDI1MC45TDQxMy42IDE5NS40QzQzMyAxODcuOSA0NTIuMSAyMDcgNDQ0LjYgMjI2LjRMMzg5LjEgMzcwLjdDMzg1LjggMzc5LjIgMzc5LjIgMzg1LjggMzcwLjcgMzg5LjF6TTM1MiAzMjBDMzUyIDMwMi4zIDMzNy43IDI4OCAzMjAgMjg4QzMwMi4zIDI4OCAyODggMzAyLjMgMjg4IDMyMEMyODggMzM3LjcgMzAyLjMgMzUyIDMyMCAzNTJDMzM3LjcgMzUyIDM1MiAzMzcuNyAzNTIgMzIweiIvPjwvc3ZnPg==",l.alt="",l.draggable=!1,s.appendChild(l),this.onCompassClick=()=>{var t;null===(t=this.map)||void 0===t||t.easeTo({bearing:0,pitch:0,duration:250})},s.addEventListener("click",this.onCompassClick),i.append(r,a,s),o.append(n,i),t.appendChild(e),this.host=e,this.zoomInButton=r,this.zoomOutButton=a,this.compassButton=s,this.compassNeedle=l}applyHostPosition(t){let e="";if("left"===this.state.controls.position)e="top: 50% !important; left: 8px !important;";else e="top: 50% !important; right: 8px !important;";t.style.cssText=["position: absolute !important","z-index: 2147483646 !important","pointer-events: auto !important","top: auto !important","right: auto !important","bottom: auto !important","left: auto !important","transform: translateY(-50%) !important",e].join("; ")}renderVisibleButtons(){if(!this.zoomInButton||!this.zoomOutButton||!this.compassButton)return;const t=this.state.controls.zoom,e=this.state.controls.compass;this.zoomInButton.style.display=t?"inline-flex":"none",this.zoomOutButton.style.display=t?"inline-flex":"none",this.compassButton.style.display=e?"inline-flex":"none"}attachMapListeners(){this.map&&(this.onRotate=()=>{this.updateCompassNeedle()},this.map.on("rotate",this.onRotate))}updateCompassNeedle(){this.map&&this.compassNeedle&&(this.compassNeedle.style.transform=`rotate(${-this.map.getBearing()-45}deg)`)}}const v=t=>"object"==typeof t&&null!==t&&"container"in t&&"center"in t,f=864e5,y="yarrow-cache-v1-tile",b="yarrow-cache-v1-icon",x="yarrowcache",M="x-yarrow-cached-at",C=new Set(["Tile","Style","Glyphs","SpriteImage","SpriteJSON","Source"]),w=()=>"undefined"!=typeof globalThis&&void 0!==globalThis.caches&&"function"==typeof globalThis.caches.open;let A=!1;const I=e=>{if(/^https?:\/\//i.test(e))return e;const o="string"==typeof t.defaults.baseURL?t.defaults.baseURL:"";return o?new URL(e,o).toString():"undefined"!=typeof window?new URL(e,window.location.origin).toString():e},L=(t,e)=>`${x}://resource?u=${encodeURIComponent(t)}&ttl=${e}`,B=t=>c(void 0,void 0,void 0,function*(){return{data:yield t.arrayBuffer(),cacheControl:t.headers.get("cache-control"),expires:t.headers.get("expires"),contentType:t.headers.get("content-type")}}),E=(t,e,o)=>c(void 0,void 0,void 0,function*(){var n;const i=yield fetch(t,{method:null!==(n=null==o?void 0:o.method)&&void 0!==n?n:"GET",headers:null==o?void 0:o.headers,body:null==o?void 0:o.body,credentials:null==o?void 0:o.credentials,signal:e.signal});if(!i.ok)throw new Error(`Request failed: ${i.status} ${i.statusText}`);return B(i)}),N=(t,e,o)=>c(void 0,void 0,void 0,function*(){const n=new Headers;o.contentType&&n.set("content-type",o.contentType),o.cacheControl&&n.set("cache-control",o.cacheControl),o.expires&&n.set("expires",o.expires),n.set(M,Date.now().toString()),yield t.put(e,new Response(o.data.slice(0),{status:200,headers:n}))}),z=(t,e,o,n,i)=>c(void 0,void 0,void 0,function*(){if(!w())return E(t,n,i);const r=yield caches.open(e),a=yield r.match(t);if(a){const e=(t=>{const e=t.headers.get(M);if(!e)return null;const o=Number(e);return Number.isFinite(o)?o:null})(a);if(!(null===e||Date.now()-e>o))return B(a);try{const e=yield E(t,n,i);return yield N(r,t,e),e}catch(t){return B(a)}}const s=yield E(t,n,i);return yield N(r,t,s),s});class D{constructor(t,e,o=10,n=0,i=19,r="light",a={},s=d,l={}){const c=v(t)?t:{container:t,center:e,zoom:o,minZoom:n,maxZoom:i,theme:r,cache:a,brandBadgePosition:s,controls:l};if(!v(t)){if(!e)throw new Error('YarrowMapConfig legacy signature requires "center" as the second argument.');A||(A=!0,console.warn("YarrowMapConfig positional constructor arguments are deprecated and will be removed in a future major version. Use new YarrowMapConfig({ ... }) instead."))}const{container:u,center:h,zoom:p=10,minZoom:g=0,maxZoom:f=19,theme:y="light",cache:b={},brandBadgePosition:x=d,controls:M={}}=c;this.container=u,this.center=h,this.zoom=p,this.minZoom=g,this.maxZoom=f,this.theme=y,this.cache=(t=>{var e;const o="number"==typeof(null==t?void 0:t.lifespanDays)&&Number.isFinite(t.lifespanDays)&&t.lifespanDays>0?t.lifespanDays:30;return{enabled:null!==(e=null==t?void 0:t.enabled)&&void 0!==e&&e,lifespanDays:o}})(b),this.brandBadgePosition=(t=>{switch(t){case"top-left":case"top-right":case"bottom-left":case"bottom-right":return t;default:return d}})(x),this.controls=(t=>{var e,o,n;const i=null==t?void 0:t.position;let r=m.position;return"left"===i||"right"===i?r=i:"top-left"===i||"bottom-left"===i?r="left":"top-right"!==i&&"bottom-right"!==i||(r="right"),{enabled:null!==(e=null==t?void 0:t.enabled)&&void 0!==e?e:m.enabled,position:r,zoom:null!==(o=null==t?void 0:t.zoom)&&void 0!==o?o:m.zoom,compass:null!==(n=null==t?void 0:t.compass)&&void 0!==n?n:m.compass}})(M)}}class S{constructor(t){this.layers=[],this.brandBadgeController=new p,this.yarrowControlsController=new g,this.currentBusMarkers=new Map,this.currentRouteLayers=[],this.MAX_BUSES=100,this.svgCache=new Map,this.busPositions=new Map,this.animateBusMarkers=()=>{const t=Date.now();this.busPositions.forEach((e,o)=>{const n=this.currentBusMarkers.get(o);if(!n)return;const i=t-e.startTime,r=Math.min(i/e.animationDuration,1),a=e.current[0]+(e.target[0]-e.current[0])*r,s=e.current[1]+(e.target[1]-e.current[1])*r;n.setLngLat([s,a]),r>=1&&(e.current=e.target)}),this.animationFrameId=requestAnimationFrame(this.animateBusMarkers)},this.config=t,this.ensureCacheProtocol()}ensureCacheProtocol(){S.isCacheProtocolRegistered||(r(x,(t,e)=>c(this,void 0,void 0,function*(){const o=new URL(t.url),n=o.searchParams.get("u"),i=o.searchParams.get("ttl");if(!n)throw new Error("Missing cache target URL");const r=I(n),a=Number(i),s=Number.isFinite(a)&&a>0?a:2592e6,l=yield z(r,y,s,e,t);return{data:l.data,cacheControl:l.cacheControl,expires:l.expires}})),S.isCacheProtocolRegistered=!0)}get cacheLifespanMs(){return this.config.cache.lifespanDays*f}isCacheEnabled(){return this.config.cache.enabled}transformRequestForCache(t,e){if(!this.isCacheEnabled()||!e||!C.has(e))return{url:t};const o=I(t);return{url:L(o,this.cacheLifespanMs)}}fetchJson(e,o){return c(this,void 0,void 0,function*(){if(!this.isCacheEnabled()){return(yield t.get(e)).data}const n=new AbortController,i=yield z(I(e),o,this.cacheLifespanMs,n),r=(new TextDecoder).decode(i.data);return JSON.parse(r)})}loadImageFromSrc(t,e=!0){return new Promise((o,n)=>{const i=new Image;e&&(i.crossOrigin="anonymous"),i.onload=()=>o(i),i.onerror=()=>n(new Error(`Failed to load icon image: ${t}`)),i.src=t})}loadIconImage(t){return c(this,void 0,void 0,function*(){if(!this.isCacheEnabled())return this.loadImageFromSrc(t);const e=new AbortController,o=yield z(I(t),b,this.cacheLifespanMs,e),n=new Blob([o.data],{type:o.contentType||"image/png"}),i=URL.createObjectURL(n);try{return yield this.loadImageFromSrc(i,!1)}finally{URL.revokeObjectURL(i)}})}getIconsMap(){return c(this,void 0,void 0,function*(){return(yield this.fetchJson("/icons-image",b)).reduce((t,e)=>(t[e.icon_image_name]=e.icon_image_url,t),{})})}addIconsToMap(t){return c(this,void 0,void 0,function*(){this.map&&(yield Promise.all(Object.entries(t).map(t=>c(this,[t],void 0,function*([t,e]){if(this.map&&!this.map.hasImage(t))try{const o=yield this.loadIconImage(e);this.map&&!this.map.hasImage(t)&&this.map.addImage(t,o)}catch(e){console.error(`Error loading icon "${t}":`,e)}}))))})}patchMapRemoveForBadgeCleanup(){if(!this.map)return;const t=this.map,e=t.remove.bind(t);t.remove=()=>(this.brandBadgeController.teardown(!0),this.yarrowControlsController.teardown(!0),e())}clearCache(){return c(this,void 0,void 0,function*(){w()&&(yield Promise.all([caches.delete(y),caches.delete(b)]))})}fixStyle(t){if(t&&(t.glyphs="https://fonts.openmaptiles.org/{fontstack}/{range}.pbf",console.log("✅ YarrowSDK: Glyphs URL forced to:",t.glyphs),t.layers)){let e=0;t.layers.forEach(t=>{const o=t;if("symbol"===o.type){o.layout||(o.layout={});const t=o.layout["text-font"];((null==t?void 0:t[0])||"").toLowerCase().includes("bold")?o.layout["text-font"]=["Open Sans Bold"]:o.layout["text-font"]=["Open Sans Regular"],e++}}),console.log(`✅ YarrowSDK: Aggressively fixed fonts for ${e} symbol layers`)}}init(){return c(this,void 0,void 0,function*(){const t=yield this.getIconsMap(),e="dark"===this.config.theme?"/styles/?dark=true":"/styles/",o=yield this.fetchJson(e,y);(null==o?void 0:o.layers)&&o.layers.forEach(t=>{const e=t;if(e.source&&e["source-layer"]){const t=e["source-layer"].replace(/s$/,"");this.layers.push({type:t,name:e.id})}}),this.map=new a({container:this.config.container,style:o,center:this.config.center,zoom:this.config.zoom,minZoom:this.config.minZoom,maxZoom:this.config.maxZoom,maxPitch:85,transformRequest:(t,e)=>this.transformRequestForCache(t,e)}),this.patchMapRemoveForBadgeCleanup(),this.brandBadgeController.mount(this.map.getContainer(),{theme:this.config.theme,position:this.config.brandBadgePosition}),this.yarrowControlsController.mount(this.map,{theme:this.config.theme,controls:this.config.controls}),this.map._controls.forEach(t=>{var e;null===(e=this.map)||void 0===e||e.removeControl(t)}),this.map.on("load",()=>c(this,void 0,void 0,function*(){yield this.addIconsToMap(t)}))})}changeStyles(t){return c(this,void 0,void 0,function*(){try{let e="/styles/";"satellite"===t?e="/styles/satellite/":"hybrid"===t&&(e="/styles/hybrid/"),"dark"===this.config.theme&&(e+=e.includes("?")?"&dark=true":"?dark=true");const o=yield this.fetchJson(e,y);if(!o)throw new Error("Failed to fetch style data");return this.fixStyle(o),this.map&&(this.map.setStyle(o),o.layers&&(this.layers=[],o.layers.forEach(t=>{const e=t;if(e.source&&e["source-layer"]){const t=e["source-layer"].replace(/s$/,"");this.layers.push({type:t,name:e.id})}})),this.map.once("styledata",()=>c(this,void 0,void 0,function*(){try{const t=yield this.getIconsMap();yield this.addIconsToMap(t)}catch(t){console.error("Error re-adding icons after style change:",t)}}))),o}catch(t){throw console.error("Error changing styles:",t),t}})}changeTheme(t){return c(this,void 0,void 0,function*(){try{this.config.theme=t,this.brandBadgeController.update({theme:this.config.theme,position:this.config.brandBadgePosition}),this.yarrowControlsController.update({theme:this.config.theme,controls:this.config.controls});const e="dark"===t?"/styles/?dark=true":"/styles/",o=yield this.fetchJson(e,y);if(!o)throw new Error("Failed to fetch style data");return this.fixStyle(o),this.map&&(this.map.setStyle(o),o.layers&&(this.layers=[],o.layers.forEach(t=>{const e=t;if(e.source&&e["source-layer"]){const t=e["source-layer"].replace(/s$/,"");this.layers.push({type:t,name:e.id})}})),this.map.once("styledata",()=>c(this,void 0,void 0,function*(){try{const t=yield this.getIconsMap();yield this.addIconsToMap(t)}catch(t){console.error("Error re-adding icons after theme change:",t)}}))),o}catch(t){throw console.error("Error changing theme:",t),t}})}zoomTo(t,e,o){var n;null===(n=this.map)||void 0===n||n.flyTo({center:[e,t],zoom:o,speed:1})}fitBounds(t){var e;const o=this.getBoundingBox(t),n=.003;Math.abs(o.xMax-o.xMin)<n&&(o.xMin-=.0015,o.xMax+=.0015),Math.abs(o.yMax-o.yMin)<n&&(o.yMin-=.0015,o.yMax+=.0015),null===(e=this.map)||void 0===e||e.fitBounds([[o.xMin,o.yMin],[o.xMax,o.yMax]],{padding:50,duration:1e3})}getBoundingBox(t){var e,o;const n={xMin:180,yMin:180,xMax:-180,yMax:-180};function i(t){const[e,o]=t;n.xMin=Math.min(n.xMin,e),n.xMax=Math.max(n.xMax,e),n.yMin=Math.min(n.yMin,o),n.yMax=Math.max(n.yMax,o)}const r=t=>Array.isArray(t)&&t.length>=2&&"number"==typeof t[0]&&"number"==typeof t[1];for(const n of t.features){const t=null===(e=n.geometry)||void 0===e?void 0:e.type,a=null===(o=n.geometry)||void 0===o?void 0:o.coordinates;if("Point"===t&&r(a))i(a);else if("LineString"===t&&Array.isArray(a))for(const t of a)r(t)&&i(t);else if("Polygon"===t&&Array.isArray(a))for(const t of a)if(Array.isArray(t))for(const e of t)r(e)&&i(e)}return n}onMoveEnd(t){var e;null===(e=this.map)||void 0===e||e.on("moveend",()=>{var e,o;const n=null===(e=this.map)||void 0===e?void 0:e.getCenter(),i=null===(o=this.map)||void 0===o?void 0:o.getZoom();n&&void 0!==i&&t(n.lat,n.lng,i)})}onMapClick(t){var e;null===(e=this.map)||void 0===e||e.on("click",e=>{t(e.lngLat.lat,e.lngLat.lng)})}onIconClick(t,e){let o=[];switch(t){case"pois":o=this.layers.filter(t=>"node"===t.type).map(t=>t.name);break;case"buildings":o=this.layers.filter(t=>"polygon"===t.type).map(t=>t.name)}o.forEach(t=>{var o,n,i;null===(o=this.map)||void 0===o||o.on("mouseenter",t,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),null===(n=this.map)||void 0===n||n.on("mouseleave",t,()=>{this.map&&(this.map.getCanvas().style.cursor="")}),null===(i=this.map)||void 0===i||i.on("click",t,t=>{var o,n;(null===(n=null===(o=t.features)||void 0===o?void 0:o[0])||void 0===n?void 0:n.properties)&&e(t.lngLat.lat,t.lngLat.lng,t.features[0].properties)})})}onLayerClick(t,e){this.layers.filter(e=>"buildings"===t&&"polygon"===e.type||"pois"===t&&"node"===e.type).map(t=>t.name).forEach(t=>{var o,n,i;null===(o=this.map)||void 0===o||o.on("mouseenter",t,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),null===(n=this.map)||void 0===n||n.on("mouseleave",t,()=>{this.map&&(this.map.getCanvas().style.cursor="")}),null===(i=this.map)||void 0===i||i.on("click",t,t=>{var o,n;(null===(n=null===(o=t.features)||void 0===o?void 0:o[0])||void 0===n?void 0:n.properties)&&e(t.lngLat.lat,t.lngLat.lng,t.features[0].properties)})})}changeBackgroundColor(t){var e;null===(e=this.map)||void 0===e||e.on("styledata",()=>{const e=setInterval(()=>{var o;(null===(o=this.map)||void 0===o?void 0:o.isStyleLoaded())&&(this.map.setPaintProperty("background","background-color",t),clearInterval(e))},1e3)})}addSource(t,e){if(!this.map)return;const o=this.map.getSource(t);o?"function"==typeof o.setData?o.setData(e):console.warn(`Source "${t}" already exists and does not support setData.`):this.map.addSource(t,{type:"geojson",data:e})}updateSourceData(t,e){if(!this.map)return;const o=this.map.getSource(t);o&&"function"==typeof o.setData?o.setData(e):this.addSource(t,e)}addLayer(t,e,o,n={},i={},r={},a={}){var s,l,c,d,u;const h=null!==(s=a.sourceId)&&void 0!==s?s:t;(null===(l=this.map)||void 0===l?void 0:l.getLayer(t))&&this.map.removeLayer(t),a.sourceId?(null===(c=this.map)||void 0===c?void 0:c.getSource(h))?o&&this.updateSourceData(h,o):this.addSource(h,o):((null===(d=this.map)||void 0===d?void 0:d.getSource(t))&&this.map.removeSource(t),this.addSource(t,o));const p=Object.assign({id:t,type:e,source:h,paint:n,layout:Object.fromEntries(Object.entries(null!=i?i:{}).filter(([t])=>"icon-image-data"!==t))},a.filter?{filter:a.filter}:{});if("icon-image"in i&&"icon-image-data"in i){const t=new Image;t.src=String(i["icon-image-data"]),r.width&&(t.width=r.width),r.height&&(t.height=r.height),t.onload=()=>{var e,o;const n=String(i["icon-image"]);(null===(e=this.map)||void 0===e?void 0:e.hasImage(n))||null===(o=this.map)||void 0===o||o.addImage(n,t)}}null===(u=this.map)||void 0===u||u.addLayer(p)}setFeatureState(t,e){var o;null===(o=this.map)||void 0===o||o.setFeatureState(t,e)}queryRenderedFeatures(t,e){return this.map?this.map.queryRenderedFeatures(t,e):[]}addMarker(t,e={}){if(!this.map)return console.warn("Map not initialized"),null;const o=new s({element:e.element,color:e.color||"#FF0000",draggable:e.draggable||!1,anchor:e.anchor||"bottom"}).setLngLat([t[1],t[0]]).addTo(this.map);return e.onClick&&o.getElement().addEventListener("click",e.onClick),o}removeMarker(t){t?t.remove():console.warn("No marker provided to remove")}removeLayer(t){var e,o;(null===(e=this.map)||void 0===e?void 0:e.getLayer(t))&&this.map.removeLayer(t),(null===(o=this.map)||void 0===o?void 0:o.getSource(t))&&this.map.removeSource(t)}renderRoutes(t,e="route"){const o=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6"];t.forEach((t,n)=>{this.addLayer(`${e}-${n}`,"line",{type:"FeatureCollection",features:[t]},{"line-color":o[n%o.length],"line-width":4,"line-opacity":.8},{"line-join":"round","line-cap":"round"})})}buildRouteWithLabels(e,o,n){return c(this,void 0,void 0,function*(){try{const i=yield t.post("/route/",{coordinates:[e,o],profile:n}),r=i.data.data.path,a=(null==r?void 0:r.features)||[];if(!a.length)return console.warn("⚠️ Нет фич для отображения маршрута"),{features:[],directions:[]};for(let t=0;t<5;t++){this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`);const e=document.getElementById("hover-popup");e&&e.remove()}const s=a[0].properties.duration,l=["#22c55e","#aaaaaa","#cccccc","#dddddd","#eeeeee"];return a.forEach((t,e)=>{var o,n,i;const r=`custom-route-${e}`,c=`custom-route-label-${e}`,d=t.properties.duration,u=t.properties.distance,h=0===e,p=`⏱ ${d.toFixed(1)} мин / ${(u/1e3).toFixed(2)} км${h?"":` (+${Math.round(d-s)} мин)`}`;this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":l[e],"line-width":h?5:2.5,"line-opacity":h?1:.5}),this.addLayer(c,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)]},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]}),null===(o=this.map)||void 0===o||o.on("mouseenter",r,t=>{var e,o;this.map&&(this.map.getCanvas().style.cursor="pointer");const n=document.createElement("div");n.id="hover-popup",n.className="route-popup",n.innerHTML=`<span style="color:#111">${p}</span>`,n.style.cssText="\n position: absolute;\n padding: 6px 12px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n pointer-events: none;\n z-index: 9999;\n ";const i=null===(e=this.map)||void 0===e?void 0:e.project(t.lngLat);i&&(n.style.left=`${i.x}px`,n.style.top=i.y-40+"px"),null===(o=document.getElementById("mapContainer"))||void 0===o||o.appendChild(n)}),null===(n=this.map)||void 0===n||n.on("mouseleave",r,()=>{var t;this.map&&(this.map.getCanvas().style.cursor=""),null===(t=document.getElementById("hover-popup"))||void 0===t||t.remove()}),null===(i=this.map)||void 0===i||i.on("click",r,()=>{var o,n,i;for(let t=0;t<a.length;t++)t!==e&&(this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`));this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":"#22c55e","line-width":5,"line-opacity":1}),this.addLayer(c,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)]},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]});const s=t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)],l=null===(o=this.map)||void 0===o?void 0:o.project({lng:s[0],lat:s[1]});if(l){const t=document.getElementById("hover-popup");t&&t.remove();const e=document.createElement("div");e.id="hover-popup",e.className="route-popup",e.innerHTML=`<span style="color:#111">${p}</span>`,e.style.cssText=`\n position: absolute;\n left: ${l.x}px;\n top: ${l.y-40}px;\n transform: translate(-50%, -100%);\n padding: 6px 12px;\n background: #ffffff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n z-index: 9999;\n pointer-events: none;\n `,null===(n=document.getElementById("mapContainer"))||void 0===n||n.appendChild(e),null===(i=this.map)||void 0===i||i.on("move",()=>{var t;const e=document.getElementById("hover-popup");if(!e)return;const o=null===(t=this.map)||void 0===t?void 0:t.project({lng:s[0],lat:s[1]});o&&(e.style.left=`${o.x}px`,e.style.top=o.y-40+"px")})}this.fitBounds({type:"FeatureCollection",features:[t]})})}),this.fitBounds({type:"FeatureCollection",features:[a[0]]}),{features:a,directions:i.data.data.directions}}catch(t){return console.error("❌ Ошибка при построении маршрута:",t),{features:[],directions:[]}}})}buildMultiSegmentRouteWithLabels(e,o,n){return c(this,void 0,void 0,function*(){var i;if(e.length<2)throw new Error("At least two coordinates are required to build a route.");try{const r=yield t.post("/route/",{coordinates:e,profile:o},{headers:{"Accept-Language":n||"ru"}}),a=null===(i=r.data.data.path)||void 0===i?void 0:i.features,s=r.data.data.directions;if(!a||a.length<1)throw new Error("No route features returned from API");for(let t=0;t<5;t++){this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`);const e=document.getElementById("hover-popup");e&&e.remove()}const l=a[0].properties.duration,c=["#22c55e","#aaaaaa","#cccccc","#dddddd","#eeeeee"];return a.forEach((t,e)=>{var o,n,i;const r=`custom-route-${e}`,s=`custom-route-label-${e}`,d=t.properties.duration,u=t.properties.distance,h=0===e,p=`⏱ ${d.toFixed(1)} мин / ${(u/1e3).toFixed(2)} км${h?"":` (+${Math.round(d-l)} мин)`}`;this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":c[e]||"#eeeeee","line-width":h?5:2.5,"line-opacity":h?1:.5});const m=t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)];this.addLayer(s,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:m},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]}),null===(o=this.map)||void 0===o||o.on("mouseenter",r,t=>{var e,o;this.map&&(this.map.getCanvas().style.cursor="pointer");const n=document.createElement("div");n.id="hover-popup",n.className="route-popup",n.innerHTML=`<span style="color:#111">${p}</span>`,n.style.cssText="\n position: absolute;\n padding: 6px 12px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n pointer-events: none;\n z-index: 9999;\n ";const i=null===(e=this.map)||void 0===e?void 0:e.project(t.lngLat);i&&(n.style.left=`${i.x}px`,n.style.top=i.y-40+"px"),null===(o=document.getElementById("mapContainer"))||void 0===o||o.appendChild(n)}),null===(n=this.map)||void 0===n||n.on("mouseleave",r,()=>{var t;this.map&&(this.map.getCanvas().style.cursor=""),null===(t=document.getElementById("hover-popup"))||void 0===t||t.remove()}),null===(i=this.map)||void 0===i||i.on("click",r,()=>{var o,n,i,l;for(let t=0;t<a.length;t++)t!==e&&(this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`));this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":"#22c55e","line-width":5,"line-opacity":1}),this.addLayer(s,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:m},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]});const c=null===(o=this.map)||void 0===o?void 0:o.project({lng:m[0],lat:m[1]});if(c){null===(n=document.getElementById("hover-popup"))||void 0===n||n.remove();const t=document.createElement("div");t.id="hover-popup",t.className="route-popup",t.innerHTML=`<span style="color:#111">${p}</span>`,t.style.cssText=`\n position: absolute;\n left: ${c.x}px;\n top: ${c.y-40}px;\n transform: translate(-50%, -100%);\n padding: 6px 12px;\n background: #ffffff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n z-index: 9999;\n pointer-events: none;\n `,null===(i=document.getElementById("mapContainer"))||void 0===i||i.appendChild(t),null===(l=this.map)||void 0===l||l.on("move",()=>{var t;const e=document.getElementById("hover-popup");if(!e)return;const o=null===(t=this.map)||void 0===t?void 0:t.project({lng:m[0],lat:m[1]});o&&(e.style.left=`${o.x}px`,e.style.top=o.y-40+"px")})}this.fitBounds({type:"FeatureCollection",features:[t]})})}),this.fitBounds({type:"FeatureCollection",features:[a[0]]}),{features:a,directions:s}}catch(t){throw console.error("❌ Error while building multi-segment route:",t),t}})}clearAllRoutes(){for(let t=0;t<5;t++)this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`);const t=document.getElementById("hover-popup");t&&t.remove(),console.log("✅ All routes cleared")}highlightSearchResults(e,o={}){let n=0,i=null,r=null,a=!0;const s=`${o.layerName||"search-results"}-icons`,l=o.layerName||"search-results",d=t=>{var e,n;if((null===(e=t.features)||void 0===e?void 0:e.length)&&t.features[0].properties){const e=t.features[0];null===(n=o.onIconClick)||void 0===n||n.call(o,t.lngLat.lat,t.lngLat.lng,e.properties)}},u=()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")},h=()=>{this.map&&(this.map.getCanvas().style.cursor="")},p=()=>{this.map&&i&&(r&&clearTimeout(r),r=setTimeout(()=>{var t;if(!this.map||!i)return;const e=this.map.getCenter(),n=e.lat,r=e.lng,a=g(i[0],i[1],n,r);a>=500&&(console.log(`Map moved ${a.toFixed(2)}m, refetching...`),null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,"rerender"),v())},250))},m=(o,n)=>c(this,void 0,void 0,function*(){var i,r,a;try{return(null===(a=null===(r=null===(i=(yield t.get("https://gis.yarrow.uz/search/",{params:{q:e,lat:o,lon:n},headers:{"Content-Type":"application/json"}})).data)||void 0===i?void 0:i.data)||void 0===r?void 0:r.nodes)||void 0===a?void 0:a.results)||[]}catch(t){return console.error("Error fetching search results:",t),[]}}),g=(t,e,o,n)=>{const i=t=>t*Math.PI/180,r=i(t),a=i(o),s=i(o-t),l=i(n-e),c=Math.pow(Math.sin(s/2),2)+Math.cos(r)*Math.cos(a)*Math.pow(Math.sin(l/2),2);return 6371e3*(2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c)))},v=()=>c(this,void 0,void 0,function*(){var t,e;if(!this.map)return;const n=this.map.getCenter(),r=n.lat,c=n.lng,p=yield m(r,c);null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,!1),null===(e=o.onResultsUpdate)||void 0===e||e.call(o,p),i=[r,c];const g=Object.assign({layerName:l,iconImage:"geo-icon",pulseAnimation:!1,zoomToResults:!0,onIconClick:void 0},o);this.removeLayer(l),this.removeLayer(s);const v=p.filter(t=>"number"==typeof t.latitude&&"number"==typeof t.longitude).map(t=>({type:"Feature",geometry:{type:"Point",coordinates:[t.longitude,t.latitude]},properties:Object.assign(Object.assign({},t),{id:t.id||Math.random().toString(36).substring(2)})}));if(0===v.length)return void console.warn("No valid search results to display");const f={type:"FeatureCollection",features:v};setTimeout(()=>{if(this.map)try{if(g.iconImage&&(this.addLayer(s,"symbol",f,{"text-halo-color":"#ffffff","text-halo-width":2},{"icon-image":["get","icon_img"],"icon-size":.7,"icon-allow-overlap":!0,"text-field":["get","name"],"text-offset":[0,1.5],"text-anchor":"top","text-size":12}),this.map.on("click",s,d),this.map.on("mouseenter",s,u),this.map.on("mouseleave",s,h)),a&&g.zoomToResults&&v.length>0)try{this.fitBounds(f)}catch(t){console.warn("Failed to zoom to search results",t)}a=!1}catch(t){console.error("Error rendering search results:",t)}},0)}),f=()=>{var t,e;this.map?(null===(e=o.onLoadingStateChange)||void 0===e||e.call(o,"firstRender"),v(),this.map.on("moveend",p)):n<30?(console.warn("Map not available. Retrying in 1s..."),n++,setTimeout(f,1e3)):(console.error("Map instance never became available. Aborting highlight."),null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,!1))};return f(),()=>{var t;this.map&&(this.map.getLayer(s)&&(this.map.off("click",s,d),this.map.off("mouseenter",s,u),this.map.off("mouseleave",s,h),this.removeLayer(s)),this.map.getLayer(l)&&this.removeLayer(l),this.map.off("moveend",p),r&&(clearTimeout(r),r=null),null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,!1))}}startBusAnimation(){this.animationFrameId||(this.animationFrameId=requestAnimationFrame(this.animateBusMarkers))}stopBusAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}showBusRoute(e){return c(this,void 0,void 0,function*(){var o;this.currentBusRouteInterval&&clearInterval(this.currentBusRouteInterval),this.stopBusAnimation(),this.currentBusMarkers.forEach(t=>{this.removeMarker(t)}),this.currentBusMarkers.clear(),this.busPositions.clear(),this.currentRouteLayers.forEach(t=>{this.removeLayer(t)}),this.currentRouteLayers=[];const n=t=>{if(this.svgCache.has(t)){const e=this.svgCache.get(t);if(e)return e}const e=`<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">\n<rect x="27.501" y="28.4995" width="33" height="16" rx="1.5" fill="#089201" stroke="white"/>\n<text x="44" y="38.5" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="10" font-weight="bold">${t}</text>\n<path d="M23.5925 40.6362C20.913 42.7323 18.145 44.0821 15.5701 44.2746C13.0311 44.4643 10.6244 43.5346 8.5956 40.9411C4.51223 35.721 5.43367 28.1791 10.6537 24.0957C15.8737 20.0124 23.4156 20.9338 27.499 26.1538C29.5278 28.7474 29.8508 31.3071 29.0553 33.7257C28.2486 36.1786 26.272 38.5402 23.5925 40.6362Z" fill="#089201" stroke="white"/>\n<path d="M29.9819 48.4373C29.9924 48.7577 29.7057 48.9994 29.3999 48.9471L29.3391 48.9327L13.7566 44.2539C13.3682 44.1373 13.2725 43.6308 13.5919 43.809L28.6356 31.613C28.9376 31.3771 29.3712 31.556 29.4355 31.9159L29.443 31.9906L29.9832 48.4375L29.9819 48.4373Z" fill="#089201" stroke="white"/>\n<path d="M29.3082 48.2263L12.5495 43.5612L29.0899 30.6224L29.3082 48.2263Z" fill="#089201"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M19.001 26.5002C16.1725 26.5002 14.7583 26.5002 13.8797 27.3789C13.0823 28.1762 13.0085 29.4145 13.0017 31.7502L12.251 31.7502C11.8368 31.7502 11.501 32.086 11.501 32.5002L11.501 33.2502C11.501 33.4863 11.6121 33.7086 11.801 33.8502L13.001 34.7502C13.0078 37.086 13.0823 38.3242 13.8797 39.1216C14.0613 39.3032 14.2658 39.4473 14.501 39.5616L14.501 40.7502C14.501 41.1644 14.8368 41.5002 15.251 41.5002L16.376 41.5002C16.7902 41.5002 17.126 41.1644 17.126 40.7502L17.126 39.9864C17.6713 40.0002 18.2917 40.0002 19.001 40.0002C19.7103 40.0002 20.3307 40.0002 20.876 39.9864L20.876 40.7502C20.876 41.1644 21.2118 41.5002 21.626 41.5002L22.751 41.5002C23.1652 41.5002 23.501 41.1644 23.501 40.7502L23.501 39.5616C23.7361 39.4473 23.9407 39.3032 24.1223 39.1216C24.9196 38.3242 24.9941 37.086 25.001 34.7502L26.201 33.8502C26.3898 33.7086 26.501 33.4863 26.501 33.2502L26.501 32.5002C26.501 32.086 26.1652 31.7502 25.751 31.7502L25.0003 31.7502C24.9934 29.4145 24.9196 28.1762 24.1223 27.3789C23.2436 26.5002 21.8294 26.5002 19.001 26.5002ZM14.126 32.1252C14.126 33.1859 14.126 33.7162 14.4555 34.0457C14.785 34.3752 15.3153 34.3752 16.376 34.3752L19.001 34.3752L21.626 34.3752C22.6866 34.3752 23.217 34.3752 23.5465 34.0457C23.876 33.7162 23.876 33.1859 23.876 32.1252L23.876 30.2502C23.876 29.1896 23.876 28.6593 23.5465 28.3297C23.217 28.0002 22.6866 28.0002 21.626 28.0002L19.001 28.0002L16.376 28.0002C15.3153 28.0002 14.785 28.0002 14.4555 28.3297C14.126 28.6593 14.126 29.1896 14.126 30.2502L14.126 32.1252ZM14.6885 37.0002C14.6885 36.6896 14.9403 36.4377 15.251 36.4377L16.376 36.4377C16.6866 36.4377 16.9385 36.6896 16.9385 37.0002C16.9385 37.3109 16.6866 37.5627 16.376 37.5627L15.251 37.5627C14.9403 37.5627 14.6885 37.3109 14.6885 37.0002ZM23.3135 37.0002C23.3135 36.6896 23.0616 36.4377 22.751 36.4377L21.626 36.4377C21.3153 36.4377 21.0635 36.6896 21.0635 37.0002C21.0635 37.3109 21.3153 37.5627 21.626 37.5627L22.751 37.5627C23.0616 37.5627 23.3135 37.3109 23.3135 37.0002Z" fill="white"/>\n</svg>`;return this.svgCache.set(t,e),e},i=(t,e)=>{if(!this.map)return!1;return this.map.getBounds().contains([e,t])},r=(t,e)=>{if(t.length<=e)return t;return[...t].sort(()=>.5-Math.random()).slice(0,e)};let a=!0;let s=!1,l=0;const d=()=>c(this,void 0,void 0,function*(){var o,c,d;const u=Date.now(),h=u-l;if(h<1e4&&l>0)console.warn(`⚠️ Skipping fetch - only ${(h/1e3).toFixed(1)}s since last fetch (min: 10s)`);else if(s)console.warn("⚠️ Skipping fetch - already in progress");else{s=!0,l=u;try{const s=e?`https://gis.yarrow.uz/api/get-route/?route_id=${e}`:"https://gis.yarrow.uz/api/get-all-bus/",l=yield t.get(s);if(!l.data.success)throw new Error("Failed to fetch bus locations");const u=e?l.data.data.busses:l.data.data;if(!u)throw new Error("No bus data found in response");let h=[],p={xMin:180,yMin:180,xMax:-180,yMax:-180};if(e)h=u.filter(t=>{const e=Number.parseFloat(t.lat),o=Number.parseFloat(t.lon);return!Number.isNaN(e)&&!Number.isNaN(o)}),a&&h.length>0&&h.forEach(t=>{const e=Number.parseFloat(t.lat),o=Number.parseFloat(t.lon);p.xMin=Math.min(p.xMin,o),p.xMax=Math.max(p.xMax,o),p.yMin=Math.min(p.yMin,e),p.yMax=Math.max(p.yMax,e)});else if(a){const t=null===(o=this.map)||void 0===o?void 0:o.getCenter();if(!t)throw new Error("Unable to get map center");const e=t.lat,n=t.lng;p=((t,e,o)=>{const n=o/6371*(180/Math.PI),i=o/6371*(180/Math.PI)/Math.cos(t*Math.PI/180);return{xMin:e-i,xMax:e+i,yMin:t-n,yMax:t+n}})(e,n,5),null===(c=this.map)||void 0===c||c.fitBounds([[p.xMin,p.yMin],[p.xMax,p.yMax]],{padding:50,duration:1e3});const i=u.filter(t=>{const o=Number.parseFloat(t.lat),i=Number.parseFloat(t.lon);return!Number.isNaN(o)&&!Number.isNaN(i)&&((t,e,o,n,i)=>{const r=(t-o)*Math.PI/180,a=(e-n)*Math.PI/180,s=Math.sin(r/2)*Math.sin(r/2)+Math.cos(o*Math.PI/180)*Math.cos(t*Math.PI/180)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s))*6371<=i})(o,i,e,n,5)});h=r(i,this.MAX_BUSES)}else h=u.filter(t=>{const e=Number.parseFloat(t.lat),o=Number.parseFloat(t.lon);return!Number.isNaN(e)&&!Number.isNaN(o)&&i(e,o)}),h.length>this.MAX_BUSES&&(h=r(h,this.MAX_BUSES));const m=new Set;if(a&&h.length>0&&console.log("🔍 Sample bus data:",h[0]),h.forEach(t=>{var e,o,i,r,a,s;const l=Number.parseFloat(t.lat),c=Number.parseFloat(t.lon),d=t.bus_number||"?",u=(null===(e=t.id)||void 0===e?void 0:e.toString())||(null===(o=t.bus_id)||void 0===o?void 0:o.toString())||(null===(i=t.vehicle_id)||void 0===i?void 0:i.toString())||(null===(r=t.uuid)||void 0===r?void 0:r.toString())||(null===(a=t.device_id)||void 0===a?void 0:a.toString())||(null===(s=t.bus_gos_number)||void 0===s?void 0:s.toString())||`bus-${d}-${l.toFixed(4)}-${c.toFixed(4)}`;m.add(u);const h=this.currentBusMarkers.get(u),p=this.busPositions.get(u);if(h&&p){const t=p.target[0],e=p.target[1];if(Math.abs(t-l)>1e-5||Math.abs(e-c)>1e-5){const t=h.getLngLat(),e=t.lat,o=t.lng;console.log(`🚌 Animating bus ${d} (${u}) from [${e.toFixed(5)}, ${o.toFixed(5)}] to [${l.toFixed(5)}, ${c.toFixed(5)}]`),p.current=[e,o],p.target=[l,c],p.startTime=Date.now(),p.animationDuration=16e3}}else{console.log(`🚌 Creating new bus marker ${d} (${u}) at [${l.toFixed(5)}, ${c.toFixed(5)}]`);const t=document.createElement("div");t.innerHTML=n(d),t.style.width="70px",t.style.height="70px";const e=this.addMarker([l,c],{element:t,anchor:"center",onClick:()=>{console.log(`Bus ${d} clicked at [${l}, ${c}]`)}});e&&(this.currentBusMarkers.set(u,e),this.busPositions.set(u,{current:[l,c],target:[l,c],startTime:Date.now(),animationDuration:16e3}))}}),this.currentBusMarkers.forEach((t,e)=>{m.has(e)||(this.removeMarker(t),this.currentBusMarkers.delete(e),this.busPositions.delete(e))}),this.currentBusMarkers.size>0&&(console.log(`🎬 Starting bus animation for ${this.currentBusMarkers.size} buses`),this.startBusAnimation()),e&&l.data.data.routes&&l.data.data.routes.length>0){const t=`bus-route-${e}`;this.currentRouteLayers.forEach(t=>{this.removeLayer(t)}),this.currentRouteLayers=[],this.renderRoutes(l.data.data.routes,t),l.data.data.routes.forEach((e,o)=>{this.currentRouteLayers.push(`${t}-${o}`)})}if(a&&e&&h.length>0){const t=.003;Math.abs(p.xMax-p.xMin)<t&&(p.xMin-=t/2,p.xMax+=t/2),Math.abs(p.yMax-p.yMin)<t&&(p.yMin-=t/2,p.yMax+=t/2),null===(d=this.map)||void 0===d||d.fitBounds([[p.xMin,p.yMin],[p.xMax,p.yMax]],{padding:50,duration:1e3})}a=!1,console.log(`Rendered ${h.length} buses out of ${u.length} total buses`)}catch(t){console.error("Error updating bus locations:",t)}finally{s=!1}}}),u=()=>{e||a||(clearTimeout(this.mapMoveTimeout),this.mapMoveTimeout=setTimeout(()=>{d()},500))};return null===(o=this.map)||void 0===o||o.on("moveend",u),yield d(),this.currentBusRouteInterval=setInterval(d,16e3),()=>{var t;this.stopBusAnimation(),this.currentBusRouteInterval&&clearInterval(this.currentBusRouteInterval),this.currentBusRouteInterval=void 0,null===(t=this.map)||void 0===t||t.off("moveend",u),this.mapMoveTimeout&&clearTimeout(this.mapMoveTimeout),this.currentBusMarkers.forEach(t=>{this.removeMarker(t)}),this.currentBusMarkers.clear(),this.busPositions.clear(),this.currentRouteLayers.forEach(t=>{this.removeLayer(t)}),this.currentRouteLayers=[],this.svgCache.clear()}})}}S.isCacheProtocolRegistered=!1;const T=({config:t,configKey:r,onReady:a})=>{const s=e(null),l=e(null),d=e(new WeakSet),[u,h]=o(null),[p,m]=o(!1),[g,v]=o(null),f=n(()=>null!=r?r:(t=>{var e,o,n,i,r,a,s,l,c,d,u,h,p,m,g,v,f;const[y,b]=t.center,x=null!==(o=null===(e=t.cache)||void 0===e?void 0:e.enabled)&&void 0!==o&&o,M=null!==(i=null===(n=t.cache)||void 0===n?void 0:n.lifespanDays)&&void 0!==i?i:30;return[y,b,null!==(r=t.zoom)&&void 0!==r?r:10,null!==(a=t.minZoom)&&void 0!==a?a:0,null!==(s=t.maxZoom)&&void 0!==s?s:19,null!==(l=t.theme)&&void 0!==l?l:"light",x,M,null!==(c=t.brandBadgePosition)&&void 0!==c?c:"bottom-left",null!==(u=null===(d=t.controls)||void 0===d?void 0:d.enabled)&&void 0!==u&&u,null!==(p=null===(h=t.controls)||void 0===h?void 0:h.position)&&void 0!==p?p:"right",null===(g=null===(m=t.controls)||void 0===m?void 0:m.zoom)||void 0===g||g,null===(f=null===(v=t.controls)||void 0===v?void 0:v.compass)||void 0===f||f].join(":")})(t),[t,r]);return i(()=>{const e=t=>{if(!(null==t?void 0:t.map))return;const e=t.map;if(!d.current.has(e))try{t.map.remove()}catch(t){}finally{d.current.add(e),t.map=void 0}};if("undefined"==typeof window||"undefined"==typeof document)return;const o=s.current;if(!o)return;let n=!1,i=null;return c(void 0,void 0,void 0,function*(){try{e(l.current),l.current=null,h(null),m(!1),v(null);const r=new D({container:o,center:t.center,zoom:t.zoom,minZoom:t.minZoom,maxZoom:t.maxZoom,theme:t.theme,cache:t.cache,brandBadgePosition:t.brandBadgePosition,controls:t.controls});if(i=new S(r),yield i.init(),n)return void e(i);l.current=i,h(i),m(!0),a&&a(i)}catch(t){const e=t instanceof Error?t:new Error("Failed to initialize Yarrow map");n||(v(e),m(!1))}}),()=>{n=!0;const t=l.current;e(t),l.current=null,i&&i!==t&&e(i),h(null),m(!1)}},[a,f]),{containerRef:s,map:u,isReady:p,error:g}},k=({config:t,configKey:e,onReady:o,className:n,style:i})=>{const{containerRef:r}=T({config:t,configKey:e,onReady:o});return l("div",{ref:r,className:n,style:i})};t.defaults.baseURL="https://gis.yarrow.uz";export{k as YarrowMapView,T as useYarrowMap};
1
+ import V from"axios";import"maplibre-gl/dist/maplibre-gl.css";import{useRef as l,useState as U,useMemo as d,useEffect as t}from"react";import{addProtocol as N,Map as Z,Marker as e}from"maplibre-gl";import{jsx as R}from"react/jsx-runtime";function a(V,l,U,d){return new(U||(U=Promise))(function(t,N){function Z(V){try{R(d.next(V))}catch(V){N(V)}}function e(V){try{R(d.throw(V))}catch(V){N(V)}}function R(V){var l;V.done?t(V.value):(l=V.value,l instanceof U?l:new U(function(V){V(l)})).then(Z,e)}R((d=d.apply(V,l||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const n="bottom-left",W="data-yarrow-brand-badge-root",T="data-yarrow-brand-badge-theme";class F{constructor(){this.state={theme:"light",position:n}}mount(V,l){var U,d;this.state=l,this.container=V,this.teardown(!1),"static"===getComputedStyle(V).position&&V.style.setProperty("position","relative","important");const t=null!==(d=null!==(U=this.host)&&void 0!==U?U:V.querySelector(`[${W}]`))&&void 0!==d?d:this.createHost();this.host=t;const N=()=>{if(!this.host||!this.container)return;const V=this.host;this.container.contains(V)||this.container.appendChild(V),V.removeAttribute("hidden"),V.setAttribute(W,"1"),V.setAttribute(T,this.state.theme),this.applyHostStyles(V)};N(),this.observer=new MutationObserver(()=>{N()}),this.observer.observe(V,{childList:!0}),this.enforcerInterval=setInterval(()=>{N()},1e3)}update(V){this.state=V,this.host&&(this.host.setAttribute(T,this.state.theme),this.applyHostStyles(this.host))}getHostElement(){return this.host}teardown(V=!0){var l,U;null===(l=this.observer)||void 0===l||l.disconnect(),this.observer=void 0,this.enforcerInterval&&(clearInterval(this.enforcerInterval),this.enforcerInterval=void 0),V&&(null===(U=this.host)||void 0===U?void 0:U.isConnected)&&this.host.remove(),V&&(this.host=void 0,this.container=void 0)}getHostInlineStyle(){let V="";switch(this.state.position){case"top-left":V="top: 6px !important; left: 6px !important;";break;case"top-right":V="top: 6px !important; right: 6px !important;";break;case"bottom-right":V="bottom: 6px !important; right: 6px !important;";break;default:V="bottom: 6px !important; left: 6px !important;"}return["position: absolute !important","z-index: 2147483647 !important","pointer-events: none !important","user-select: none !important","display: block !important","visibility: visible !important","opacity: 1 !important","transform: none !important","top: auto !important","right: auto !important","bottom: auto !important","left: auto !important",V].join("; ")}applyHostStyles(V){const l=this.getHostInlineStyle();V.getAttribute("style")!==l&&V.setAttribute("style",l)}createHost(){const V=document.createElement("div");V.setAttribute(W,"1"),V.setAttribute(T,this.state.theme),V.setAttribute("aria-hidden","true"),V.removeAttribute("hidden"),this.applyHostStyles(V);const l=V.attachShadow({mode:"closed"}),U=document.createElement("style");U.textContent='\n :host {\n all: initial;\n }\n .badge {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n background: rgba(255, 255, 255, 0.92) !important;\n border: 1px solid rgba(15, 23, 42, 0.08) !important;\n border-radius: 16px !important;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.16) !important;\n padding: 2px 10px !important;\n }\n :host([data-yarrow-brand-badge-theme="dark"]) .badge {\n background: rgba(15, 23, 42, 0.82) !important;\n border: 1px solid rgba(255, 255, 255, 0.16) !important;\n box-shadow: 0 2px 12px rgba(2, 6, 23, 0.5) !important;\n }\n img {\n display: block !important;\n width: 106px !important;\n height: auto !important;\n max-width: none !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n ';const d=document.createElement("div");d.className="badge";const t=document.createElement("img");return t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTg2IiBoZWlnaHQ9IjUzIiB2aWV3Qm94PSIwIDAgMTg2IDUzIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPHJlY3Qgd2lkdGg9IjU3IiBoZWlnaHQ9IjUzIiBmaWxsPSJ1cmwoI3BhdHRlcm4wXzFfODgpIi8+CjxyZWN0IHg9IjU3IiB5PSI2IiB3aWR0aD0iMTI4LjIxMSIgaGVpZ2h0PSI0MCIgZmlsbD0idXJsKCNwYXR0ZXJuMV8xXzg4KSIvPgo8ZGVmcz4KPHBhdHRlcm4gaWQ9InBhdHRlcm4wXzFfODgiIHBhdHRlcm5Db250ZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KPHVzZSB4bGluazpocmVmPSIjaW1hZ2UwXzFfODgiIHRyYW5zZm9ybT0ibWF0cml4KDAuMDAxNDE5NTggMCAwIDAuMDAxNTI2NzIgLTAuMDAzMjQwOTMgMCkiLz4KPC9wYXR0ZXJuPgo8cGF0dGVybiBpZD0icGF0dGVybjFfMV84OCIgcGF0dGVybkNvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgo8dXNlIHhsaW5rOmhyZWY9IiNpbWFnZTFfMV84OCIgdHJhbnNmb3JtPSJzY2FsZSgwLjAwMTY0MjA0IDAuMDA1MjYzMTYpIi8+CjwvcGF0dGVybj4KPGltYWdlIGlkPSJpbWFnZTBfMV84OCIgd2lkdGg9IjcwOSIgaGVpZ2h0PSI2NTUiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBc1VBQUFLUENBWUFBQUNGQ0xjU0FBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFnQUVsRVFWUjRuT3pkYVhBYlo1N24rUzlJWFpBbGthWmsrWUJ0MGpZbHUyd0RwR3dYV1M2Vkpkcmw2anE3aU83dDZaaU5tUW1xZTZaM1kyTTcxdFU3c1VmRWRrUlh4Y1RFOU83MHpwYTlNYTk2WG9nUjdaZmRDM2JzdHF0Y2h5bGJQa2piWlpJb2x3OVNObGtsK0JaTVdyS2drN2t2RW1rOFNDWU9rZ0NlQlBEN1JERElQQWcrekNmemVaNTg4cC9QRTNFY3B3TndxS3lhZlVSRVJFUkVHaVZDb1kwYXlYLzNMNXVjRXVzNy9BMWl4L2p5TDVzZkVQUmhHK0gvekhMTDVUNmoycytwWmw5OVRtTS9aejNDOW4vWllEdS85RG4xK1p4bVNxcytSNStqejFuN2UwR2ErZjlxcHM4cHhkdm1zTFk5NjIvdkFxeHVDZmdBczBGczhqZWVHOG44eC94S3RmaWxPZmp6MWx3dWwrOWhZRjR2MWV3THdmOVgwSEtwYlNJaTdhUmMyNk1XMjJyNU9YNmxmbGZsK1ZvYnphLzFmQzZVYmk4NlFDVGlPSTRxWFJFUkVSRnBaNUdPL0E5cUVJdUlpSWhJMitxb3ZJdUlpSWlJU0V2NklxUWk0ampxSkJZUkVSR1I5cWFlWWhFUkVSRnBlMm9VaTRpSWlFamJVNk5ZUkVSRVJOcWVHc1VpSWlJaTB2YlVLQllSRVJHUnRxZEdzWWlJaUlpMFBUV0tSVVJFUktUdHFWRXNJaUlpSW0xUGpXSVJFUkVSYVh0cUZJdUlpSWhJMjFPaldFUkVSRVRhbmhyRklpSWlJdEwyMUNnV0VSRVJrYmFuUnJHSWlJaUl0RDAxaWtWRVJFU2s3WFVBRWR1SkVCRVJFUkd4U1QzRklpSWlJdEwyT2dESGRpSkVSRVJFUkd4UytJU0lpSWlJdEQyRlQ0aUlpSWhJMjFQNGhJaUlpSWkwUGZVVWk0aUlpRWpiVTB5eGlJaUlpTFE5OVJTTGlJaUlTTnRUVExHSWlJaUl0RDMxRkl1SWlJaEkyMU5Nc1lpSWlJaTBQWVZQaUlpSWlFamJVL2lFaUlpSWlMUTloVStJaUlpSVNOdFRUN0dJaUlpSXREM0ZGSXVJaUloSTIxTlBzWWlJaUlpMFBjVVVpNGlJaUVqYlUwK3hpSWlJaUxROXhSU0xpSWlJU050VCtJU0lpSWlJdEwwdHRoTWdJcUVRb2ZEVXlMdFJkdGF4VFRmWDBxcUN6bjMvZFNBaUxTRGlPTHFtUlpxTTJVamR6UDVxeUlvMFh0RE5adEN5aURTWUdzVWk5V1UyUEwwZXBsSVhuYjhuS3FqQ0RPcWhVdU5XYWlub0hGWFBxRDNseW9GcWZpZEl1ZDlYSGt2YjJvTHVUa1hXcTVvR1FzVDNjMUJGRnZRNDFseHZYcHVsS3NKcTFtMjBSNnBVK3RiemUwSHBDZHBXN3YrcmR0OW1Zek1FcGRyaldpNlVKdWd6UysxYnpUbFJLOVdFQVFVdGUvdHU5Z2JBcWZKM0hkOTMvOCtWcnVOeS9MKzducHZvOVQ1WlV2dEJXa2JFY1J3MWlxV2RsZXFCWFcrbFhjM3ZSWURWZ0w4VnRKLzMzYi92cW0vZkRnb3Z6SFlHL081bUtySlN2MXVxQVYvcTl5b3RWOXJYUExiVjNHQlUraHVsbERvUFNqV3lOcUxTamRSNkdzZVZqbFUxKzI5Mm4zSi9zOUdOWXY4VEZ1L25VbzFPYzduY1BrRi9wOXhuT0xqWHFlTmJGL1EzelBWWGdLc1VydkgxTkpDcmFWaFhLbS84S3AyTHBhNEh0U2VrYVNsOFF0cFp1WEFGYzNzMXpJcTR3L2paWVcxRHdHdkVldnQyNEQ2MTJaYi9pZ0k3OHZ0ZUJjNEJLMEEzY0V2K2V5Uy96ZnQ4NzNPZ2ZFUEFxN0JMN1ZlcVVXUTJzRHRLL0J3cDhYUFFja2ZBTmlkZ1B5b3NiNlNoNTdlZUJwRzVqM204dkdOYXJxRlE2bnhZcFhBOHpKdW1vQWFlZjF1NTQxWHFPRlY3VStPL3NTcjFIZC8rZnRWY1I1VWE5SDdWTkZ6OStlcHZ0RUtoOFlydmU3VU40NkNHcjVjdnF3UmZhK2ExdjRwNzdWK1RYLzRVZUFOWUJDNVNmSjN0QlBibDk0MEFsNERMeHRkVkNvMXE3K2NyeGphTXp5clZXSzdtS1VBMURXMlRHaG5TTkRUNmhFaHdJd1FLalUyejhXRTJQQ1BHUGw1UGJTZXdGYmR4NjFWNlYxayt2WTF6bjdnTjNRc3IzczJvMnhqZUd0M0NsdTNiZ1YzNXIrMzUzd2UzWWp6TnJuMDVybDZKODZQYi9nSzRJNy9QS203RmFQWktlUlYrTlQxVmxYcDRnbTRTTnROQUxkWHI2MSt1MUt0WXFnZlNUSi9aMEN6WFcxbHBXMUI2Z2dRMWRJUFM1LzNzWHk3MVA1ZEthNlZqVU9selNqVzhUZFhzVytsdmxtb2tWNXNIL3M4cHRXK1FjbmxwYnZjM1dFdmxlN2s4S2ZVM3pkOHpuL0pFZkYvZVRmRUs4QlIvL2VsL0p0cVZLZHBuSlhNTjV6N3BBMks0Tjg2WGdBdEFEdmdjdU1pVml3NlhjMTgwZWlPUnlDbzd1cTRDRjltMUwwZjN6Ymw4T2pyejN5L25QK2RpL3ZzVmlodno1djlsM3V5dityYVovNmRmcWZWcUxFdm9LS1pZV3AyL1l2ZnpiL04rN3FSdzArZzFkTGZuZjNaN1hqNTZLOEtsWEFmUTRlU1czUVp6SkxLTkhWM2JnU2hibzZ2c1AzZ091RWhYYkF0ZHNRaHVwWE9KUXUrTjJYZzFLOGxPQ3BYUVpkeks3MTFpZzl2SnpOeUtacU9VeHFpMmtSNzJPcVRhR3k0YkhBcmxRWlRZNEkxRXU3ejFWL0hLZzY1WWxxN1lhOEE4YmxsME5mOTdabSt3K2RSb3ErTStjWXJpbG1VT1hyamtSMjl2NVhKdUg3Q1RDeXVYY1p3Y2tJdEV1eThDNTlrV3ZjVCtPeTlUZklPOWFxUUg0Kzk3YVEyNmlTNVg5cTYzeDFtazd0d0xSYVM1bVlXditSMkNlM0tDZXFDODNwcWQrYTh0d0NvWFZxN3d5YnRidVhpdTIxbTlzb05vOXpsMjdmdU1ydGdWcmp2b05VeTlScTc1cUhTVlFvd2dGRmNBUVhIRjVhNURyK2RuZ1pISGZzNlRmL0tWL1A2ZEFiL25yNERLVlVvaXRiTGU4QWNieWozVnNLM3ppNStHeDk0Q1BxSzRMTHVTLzdvSUxCdnJ6U2NTMWRmbCt3OTI0SVpvN01CdFlHOEJ0amp1emI4YnZ1VTRsMWpKWE9MY0p4Rnl5OUZJeHhhSDdicytZOTl0RjluUnRTVy9YeWR1ZUZlT1FyaUdQeWE2M0hrUjlCUkNiUkt4UmpIRjBveXFlYXpxMzkvc3llakFmVlI1RFc3QnZvMExLeEUrZWJlREN5dXJEbHhrUjljNTl0NTJrUjE3d0swb3R1Wi85d0p1QTlnc3dNM0hqZVY2UDRJZStmb3JzNkFlTGEvM2VKWGN5Z2ovNjdWUEFqY0cvSzZJaEVPcG0rOVMrM3JmMytHdjN2MXY2ZWw5eHJlUHYwRmZ6WFZmYnA5U1paSC91L2UxRTdmeG5BTnlYUGhzbFRQdjd1REN5dDRJZExPanE0Tjl0MTFtUjljRjRETUs1YVRaV1JDVWhuSmhNQ3JicE9FVVBpSE56S3dvdk5oZms3bnM5WURzWXZuMGJzNHNibmVjcTdDajZ6eDdiL3VNSFh0eXhBWXU0ZmI2K25zc0xnYXNLMlc5MjB2dEg3eGZ0T3MzeEpPL0lwMzZIcVZqSklONmkwdFpiMHluRkt2bTJIbkxHNG1kM2FqTnhPZldLczYzMXAvVDZITndQZkhMZnV2cGxTNThmbXp3ZFhwNjAxV2txOVR4V085NTQ2Ly9TNFZCckJUdHYyTVB4QWJPQStjZGVBKzNmTzBrdDdLRk0rL3U0Y0xLOVpGSVo0UzlmUmZwdnZseklJdmJVUGIvUFgrRDJmOC9xWDBpRGFVWDdhUlpWUHV5aG45a2hLMHNuNzZHTTR2ZER1eGdiOThsdW1LZjBSVTdoOXNBOWw1VUt5ZW9vdGlJamZidW1CWGdKeVJHSjBtbnZrbnhFR3hRdnZJdDE2TWVWQkdWVzI0SDFUYnMvRThoL0w4ZnRMeWViUnUxMGIrL25uMGIzVmlwdGdHOTNzLzBmODU2YmlvM29sUWFMM0pnWkFZNHM4N1A4SWVNK2ZlcnRoZTJtcHZub0o1bGI2UUw4bzNsRldDSDQzWkM3TXgzUXV5TlFJNjlmY3QwMzN3UnQ2UEJDeTBMR2dHa212OU5wT1lVUGlITm9sUVBndnNTaXZrUzNQTHBUczRzN25aZ0ozdjdWdW1LWFFMTzQ4YSttYUVQWVJWVUNSVFc1VllPOEtQYi9qOXl5LzNZYjdDV2F6dzIrdTlYU2s4WWVqdUR0aldUc0IyN1Juek9abFFLbXpELzFpZjh6Ni85UzJJRFQ2L2pzOEp5RHBubGNWQ2FvcmhEU1c1bkpSUGh6R0lrQXBmWjIvY1ozVGRmb2ZDa3ozcy9vMUlEblFyN2lHeUllb29sakVyMTJwaUY0RmJjNGN0MnNId2F6aXppdUQwUkRsMnhxM1RGY3JpTjRBdTRCYTMzdWMxUWtKYXZFS0pkNzVCSVBzdlU4UU1OUzFGcDYzbE1YTysvNzE5ZVR3OTRHRDZubVlUdDJEWGljK3FycCs5allnUGxRaWZLbFllMmxlcnA5Y3JjWFA0THVtSWRkTVYyT080N0hWdnpuUmpiSSs2VHZFNjZiMTRGenVLTzJYeWx4Ti95amtPemxPblNKQlJUTEdIaXI0VE1DUTNBYlFqdndIMGtGK1dUVXhGbjl3MmZzLy9ndVh4dnNEbEEvZms2cDlXbXE4UkhKNWc2L2k5eGU4aEZwTGxkcmpKMG90bnE2cUNlZUFlM2ZENlBPOVJjaEs2WTQzaFAvVDU4cXl0eTlvUDk3THVqT3ordThqSnVCMGZRNTNxZjNXekhSVUpLUGNVU0J2N2VHWCtCNTg3eXRueDZMNStjaWpxN2IxaGgvOEV6K2Q3Z3ExUmZJRFp6d1ZtYzl2am9yNGgyLzRiYzhpSHN2SVFrSXJWeEZmaWMrT2pQS0R6VmFqV2xZdEd2K3ZhN3d2NkRIem43RDU0QmR2TGhXL3NpWnorNGczMTNMTk45czljNExoV0RyTEFLMlRTTlV5eTJCQlZnM3M5ZUQvRVdMcXhjUXliZDdleTZ6bUgvd2MvcGluMkEreGl1WGM5YjcvOStuMFR5bDB3ZEgwUU5ZcEZtVXh4UEhPMWVJRDc2b3MwRWhVZ0V0N0Y4bHYwSHp6bjdEMGFCM1h6NDFuV1JjeDkzRVl0L3hvNHVML2I0Q3NVTlpQUGxWNUYxMDZ4WTBraGVnV1V5cCtMdHhCczI3ZlJNbDNQcTVEWE85ajBkenUySFAyWC93UXp3SWU0anQzWXU4THhqdU1yUngxNmdNRlNTaURTblZSTEpYK0ZPcGdHNnlmVy9HSGtlK0pEOUJ4ZWQydzh2Tzl2M2REcW5UdTdoOUV3WDBBUHN4WDJhNlAydWpSZCtwVVVvcGxoczhNZVhkUUI3dUxDeWpkTXpsNTE5ZDF3aE51Qk5YV3JPa0NTbTJNQXNQWDIvSmJ2WWJUc3BJckl1Wm9QdExQMUhYOFlkcGd4VUgzdjhqZHNydUJPRFJMajk4QllIT2xnK3ZUWHl5YWxydVhsd056dTZQc2VOUHphbm5sYjdSdFlsYU1JRGtVYndlb1ozc1h6NkJ1ZlV5V3NkaDh2T0hVZk8wUlg3SExkM29Kb3hoTnRWQkZnaWtYd3B2K3lQelJPUjhIT0FENGwvY1IzTFdsN25pUmthY1JtNFNGZnNuSFBIa2RPT3d5Zk9xWk03V0Q1OU0yN3ZjYWZ4dTBGUEtFVUNLWHhDNmluaSsvSzRqZUdQM3JyUk9YWHlXcWNybHVQMncrK3hZODhLaFJneDNhd0ZNMk1ScjNEMHNRa0tNMFdKU0RpVUs3L01HTmlyeEpOdkVPMDYxWUEwTmJ0UzlZTERqajNudVAzd2FhY3I5b2x6Nm1RM0g3MTFLKzZRblowb3BFTFdRZUVUVWkvK3dzZkJQZDkyY1hwbXV3TVFHL2ljNnc2ZUpYZ3NTaW10VU1qMzlFNFJHM3lOek15RGRwTWtJb1p5alM5ejIwVU9ISDBCOThaV05zNXJ4NXpsOXNPZk83Q1Qwek83SXJDZm13ZVhjZCs5TUVjcVVydEhBbWxJTnFrM0wweGlPOHVubzg2NVR5TEVCczdqamlDaHh2RG1MVE04OWd2K1FZMWlrU2JqQUN2RWs3K3luWkFXWURad1Y0Rnp4QVkrZDl4T21HaGsxNzdyOHROTHIxQThwSnRJRWNVVVM2MlpvUkx1R01QTHAzYzdwMDd1Y0xwaTU0a05aSEhIbWxTRGVITzhZM3lWZVBLZmdOUG9XaFlKdStKck5EYTRRRS92MjViUzB1cmNudVBZd0VkT1Yrd3o1OVRKblN5ZnZnSFlqZjJaT0NXa0ZGTXN0V1EyaHJkeVlTWHFMSnpZNVhURnJuRDc0UlhjUjRTNlM5ODg4OFVUNk9tZHBYL2tGVlM0aTRTWmY1S2RLd3lQVFFFZldVcFBPL0NPOTNsdVA1eHh1bUpubklVVFhWeFk2Y1VkL2hOVUg0bWhBMVdrVWh0ZUQvRVdJTXJpMUI3bnd0a0lkeHc1QzN5T0dzUDE0QTFuZDU3aHNWOVM2SDNYY1JZSkgzOWRlNGIra1dmUlU3TjY4cGVGRjduanlIdk9oYk9mc3pqVkQreW5NRktGaUhxS3BXWTZnSjBzbjk3cW5KNVpkWHFIenRJVk80ODdkSTVHazZpUFFpWHJEdW4waWIya2lBakIwdzhINzlmVDl3NnhnVmZyblNCWlk1V3UyTWRPNzlDN3p1bVpMZmxoM0s2bnVIR3N6c0kycFpoaXFaV0lNei9wT050M1h5RTJjQUYzSUhxTk1kd28wYTVmRTA5TzIwNkdTSnVMK0w2WGNvbEU4aFhnZ3pxblIwbzdSMnpnUFdmNzduUE8vT1IxdU9NYmIwVU40cmFtOEFuWmlPSnpadmwweFBud3JWWDZqK2JZc2NmckdaYjZNM3ZnY3lSR0ozQW5QTkh4RndrdkJ6akgwTmhQMGJWcVM2RU8yN0huRFAxSDU1MFAzNHF3ZkRxb3QxaHRwRGFpOEFtcGxuOENEdmZuVXlkeHR1K0cvUWRYVWR5d0xXNWVESTNORU8zK0hicXVSY0tvRUZvUjdWNGlOcEMybXByMlpvNVhIQUV1c2Y5ZzF0bSsrektuVG5yYi9TOUdTaHRRK0lTc2wxdElYRmpwY0JhbklzN3RoMkhISHY4NXBJS2tzYnpqdjBCQ0lSUWlJV1Eyc0ZiejErbUhGdE1qTHNmNHVzS09QYXZPN1lkeEZxY2lYRmpSc0cxdFNEMUtVa21FNHZPa20vZG03M0VjcnFOM3lGOVFlTXU2MGJMak0rS2ovNFJteHhJSkc3T3NQRXQ4ZEFyM0pXUUpvOTRoSEFmNDZDMno0MUFONHphZ21HS3BodGZMY1ROVHgvODc1NjhILzRiNVp4NmwwRmhXWTlndVl4U0swWi9SMHpkdk1TMGlVcG9ETEJFZjFTeDI0VlBjRnRxeFo0dXo2L3JibVRyK0ZkeVg4S1FOcUtkWVNva1lYeDFBdi9OM3gvN1NlZkpQL2kxd2xQVEVJUXBEMk9oTzJoNS9iTnduSkpJbmpXMjZVUkVKQi9kNmpDZmZCdDdKcjFPWkdSNW1LQVhBZHRLcGJ6dFAvc21QbmI4Nzl1K0F1NHg5bFc4dFNqSEZVbzQ3T1VSdStjdk9FeVAva2VueGY0Vjd4N3lEdVZTQ3RYZlBPcGZzTUJ2R1YvTnZ0WjlEK1NFU05qa1NveS9oVG1nRXVrYkR5Z0cyTVRmeFplQVEwK04vNmp3eDhuK1RXejZNVzg0cTMxcVVlb3JGend5RjJFNW01bXZPRXlOL3c4S0o3K0dPNGVpT1BaeGJIbUo2ZktqQ1owaGp1UVYxYk9CbGV2clM2UG9XQ1p0c2ZxSWROYXJDeTYyL2NpczNrazdkQ1d3RElpeWNPT284TWZKak1qTmZOL2JUc0cwdFJqSEZFc1Nkcmprejg0anp4TWgvSWpON09ML2ViR1R0WVc3aWozRWJ5bjRxOE8xNlB6L3Q4MVYwZll1RXhWWDZSeGFJZGlubXZ4a3NUTjREM0kzM3hCUzJrSm05MzYwVFo3NUhvY2RZUGNjdFJPRVRZdklhVUozNUh1Sy9KcmR5aU1LRjM0RjV6cVJURDVOYk9XQWxwVktPdzlDeDU0SGxMNVpGeEFidjJsc0ZQaWN4K2pSd3htSjZwRElIMkVGNjRsSGdHZ3FOWW9BSXVaVzQ4OFRJWDVPWlNScjdTNHZRNDFXQndtTWdCN2RCZk1SNVl1Ui9KN2VTb05BZzlyWjd5NnZBZnFhUGY5djREQW1MbnQ1WGlRMituVjlTM29qWTRaV2JWNEhmRVUrZVJJMm9NUFBLeXV1WVN6MlMvOWw3b2w3SXQ5ektYYzRUSS84KzMyUHNINFZKNVcwVFUvaUVlQnhnSy9PVDMzU2VHUG5QNUZhOGVPRlM1MGNFNkdScS9QZUI2MUJCYjV0L0ZJcVBHQjc3U1g3ZHFwMGtpUWhlR1JvYmZKT2UzamN0cDBYS3l6OEZuYmlMM1BKTnhucXpZd2lnZzl6S25jNFRJLytSK2NrL29QQUVWYUVVVFU0OXhlSmR4QjFrWnI3ai9KZmtmeUszWWc0OTQvajJMYjdvTXpPSHlDN2QxNUNVeXZyRWt6L0REYUhRZFM1aTF5VVNvd3RBMW5aQ3BLUkNUMjk2NGh2QWpoTDdGRG9nY2l0M09mOGwrZS9KekhoUFREVTFkSk5UVEhGN014dkV2K2M4TWZKL2tsczVTT2x6SW1qYzJ6MU1IMzhZTmJ6Q3dDbjYzdFA3RnZHa0pna1FzZTl6NHNrcDlOU21HZHpNL09URFZPNzFkZXREdDhmNGI4ak1mTE14eVpONlVrT21QWms5dmhFeU04UE9FeVAvQjdtVk95aSswL1UvRGpJbjlDaVlHdjg2c0w4QjZaYnFlSG4wS1luUm53QlgwTTJ2U0NNNVJULzM5TDFQYkdER1dtcWtlcG5aUWJLTEIvTkxadjNucndlOWRVNCt4dmcva3BrWlFtVnRVMU5NY2J2TExRODRmNXY4djhpdHhQTnJnczRILzdyaWl6NjdlRGVaMllGNkpFL1dyYmd5amllZkF0NE4yQ1lpOVdPV21WZEpKRjhFM2cvWUp1RlFlR282UFQ0STdQRnQ4NVF1UTNNcmNlZHZrNCtUVy9aR1pGSStOeUgxRkxlZndpZ1N1ZVdZODhUSVg1RmRHaWI0WWkvM2twMDVHc1ZPVGp6K3JicWtWdFlyVXZSenRPdHRobys5UkZBUHY0ZzB3bG42ajc0QVhNd3Y2K1kwdks1bExuV2t4RFovR1dyV2cyNVlUSGJwSzg0VEkvK0IzUEkrRkYvY2xCUlQzSDY4L043ai9QMFAvaTJaMmUrejl1S3Q5cHdvN09jV0pOZlhKSVZTQzE3ZVhDSSsrZ3RVSVlzMFN2RTFGdTFlSWo2cTJQNW1rRjA2UUhiUi8rSjQwTHMwSGpPazBOMHZNL3VIenQvLzRIOER0cGY1UFFrcGhVKzBQblBzUk8vbmJVeisrRStaSHY4ejFqNHRXTy9kYlg1S3pPVURwQ2UrWG5ZZnNTTStlb0pvOTJKK1NYa2gwamhYU0NSZkJkNnhuUkNwUWpwMUJPanhyYTFVWmtiV2ZFMlAveHNtZjN5TTR2cFhtb0RDSjFxZitaS0FPem5IWE9vYnpqLzh4ZjhFN01wdjg3OVlWeTN6OTNhVG52Z09FQzJUQnFtL29GNk5KUkxKcC9NLzYrMTNrZm95eTlDenhFZGZCSEsyRWlObG1YWFlUcWJHanhyYjFsdHZtZnZ2Y3Y3aEwvNlN1ZFNqeGpZMWpKdUF3aWRhMjlyUklyS0x3ODZUeC80RGNCTzF5ZnRDSTJ6cStDUGtWbTZ2d1dmSzVwazlGQTVEWTg4QVo5R05zRWlqckFJZjBEL3lrdTJFU0VtRk9qQzdkQStabVh1TmJlWjdNOVh3ajFSeHMvUGtzYjhodTNobkxSSXFqYUVLc3JVNXhsY0V1TUg1MitUL2toOXB3ai8wMm1aNG4zTTk2ZFRYTnZsWlVodkZoWG4vMFRmcDZWc00zQ1lpOVhDVmVQSVUwYTVUcUpjdzdEcElwMGFBRy9QTC92S3gydndyREhYcUR0V1djUDQyK1pkQWQ4Qm5TZ2dwcHJoOWJIT2UrdUcvSmpQN1hVbzNpTmQ3THZqanBUcVlHdjhEWU9mR2t5azFaRDRsbUNlUlBPbmJKaUsxWlphbmwwaU1QZ3RjUUEyaU1ETEx3QzdtVDN3TjJPcmJ0cEZ5c3ZoM003Ti83RHoxdzhlQXpvMGtVaHBMUGNYdEljTDg1QkdlK3RHL29YQmhtZ09SMTRMYis3Z3dtU0M3ZEgrTlBsTTJ4M3hLY0lXaHNiL0hEYUZRWExGSWZhMENaK2dmZVNHL3JKdlE4Q25jcU9SV2JpYWRHcXJUMzluR1V6LzZiNWlmUEp4ZjF2Q1lJYWFZNHRhemRyU0ozUEtkenBQSC9oM1F0MlpiN1VJblBQdnpiL0Rxb2crSFFqN0VCbDZocCsvWHFNZENwQjdNSjNDcnhBYm42T21kTjdaSnVCVHF5blRxUWVDR2dIMXE5ZDdOVGM2VHgvNkszSEt0M3VXUk9sRlBjZXZ4VDBtNXkvbjdIL3g1Zm9LT1VqYmJnRFY3blR1Wkd2OHFiZ3lWMkdmMkZwOWw1TEdmR2V0RnBIYk1jalRIOE5qendDZTJFaU5WMjhYY3hQZDk2MnI1M29WN1htU1hScHkvLzhFUGdHMDEvR3lwTWNVVXQ2WkNML0Q4NUxlWUh2L252dTJiaVNPdTlEY2hNL01nbWRuQkduMnViRjZoOXlxZS9EbndBYnJ1UmVycFErTEo1MUdvVWpQb1pXSHlrRy9kMnBHYk5xK0Q2ZkUvWTM3eWV6WDhUS2t4OVJTM0ZuOUl4STNPazhmK0ZOakwycEVvNnNVQnJtVjYvQTlML0IwMXhocXJ1RWVpcDNlVzJPQzBwYlNJdEllZXZuZnA2ZjExZmtsbFhyZ1UxNVBwaVNGeXkvdXIySCtqekxxMzIzbnkyQStBY245UExGSk1jV3N4ODNLTDg5UVAvNVRzMGlQNVpmOTBsUFg0MjRWSFR1Nmc1VUhUUHV0OGF6enptSC9HOE5oendCVmJpUkZwUWVZMTVzMWk5Mm5BTmdtSHd1eXU2WWxoWUl0dmU2M0RKd3E5enRtbEllZXBILzVyZExNVVNncWZhRTBSc290RFBQV2oveDUzL3ZYNi83MUNZOXQ5K3BCZDdHWGh4Q1BsZmtrYXpzMmJvV01uZ1d4K25TcHNrYzByaENqQldZYkducldaR0NuTExQTnVaUzUxVDRuOTZ0R0I1QURiZWVwSC93UFpSWTNTRkVJS24yaE5lNTIvTy9ibnVBT1IreS9xZWphQ3pNZFNPNWdlL3dhTmFaVExla1M3WGllZTlCN3RxbEVzc2o3bHJobUhucjRNc1lINU12dUlYWVdPd0lVVGQ1SmJqbGUxYiszK3RnUGM0UHpkc2Y4UjJGSGp6NWROVXZoRTZ5Z01Mek0vK1MwV1RueWZ0U05SMUhwc1lrL3dPVFNYZWhqNFVzQVdQWjJ3dzh1bnN5UkcveC9nS3NvTGtmVXFkODJzY21Ea1ZlQjBveElqNithVmcxdElUM3dkMkVOd3VFUjl3d3dYVG55WCtjbHZCK3lqTXRraTlSUTN2NGp2NTV1Y0o0LzlHWENOc1c3dDJNWDFTVVB4NDZiY2NvenA4UzhIN0s4YnNjWXJQdWJ4NUVtaTNlK2hBbGlrbHM0VEh6MkpPNHVkaEpjRFhNZGM2aHY1NWFDeCsrdFZObnBocTN1Y0o0LzlPV3ZmdlZIOWFKRmlpcHRmY1MvdzFQRS9JcnQwbVBxUE1sR0syVURld3R6RUtKcjJPWHlpWFcrVFNENW5PeGtpVGFLNmhrcTBlNG40NkV0MVRvdHNYZ2VaMlFHeWkzME4vcnRtbmV5UVhUck0xUEYvMXVBMFNCbnFLVzR0dHpoUC9mQ2ZzWFlxNTBZcW50VXBuVHBFYnFYZlFqb2ttTmNqY3A3NDZFK0FuT1gwaURTTFN1WHBWZnBIM2dST05TSXhzbTVtYjNBbjZkU2pGSjZvTnBMWkU3M05lZXFILzRyZ2tackVBc1VVdDRZSXNJMnA0LytjN05JUWhZYXArVGlva2Zscy9yMGJTYWNlYnVEZmx2SUs1MEY4OUFUUmJsWGdJdFdwOU9RdFIyTDBXZHdiVFQyQkRhZEN2VFEzOFJCclF5WWFVVSthWVlZUnNrc1BNSFhjUDhHV3Q1ODBtSHFLbTF2aGdzNHQ3M2YrNFFmL0F0ajZ4YnJpNzQyK3dBb044OG5IUjlBb0ZHRmdGdmdkd0hza2tzK1gyQzRpNWZrN0d6NGlubnpHMkNiaFVzaVQ3Rktjek16ZHhqYi9lemYxcmkrOWhyRURkRGovOElQL2l0enl6YjU5L0oxYjBnQ0tLVzRObmN5bHZrTnVKYzdhQzZuUitSdkJYN0JrWnI1TWR1bStCcWREU3ZNSzR5c2NmZXdud0NYc3hhQ0xoRjJwWGtTem5GMGxua3dUN1ZveXRrbTRlUG5WU1RxVkFIYVYySzhSTnpURjlYUnU1UUhtVXQ4dnNaOXVzQnBJNFJQTnpjdTczakl6NURTNnNSTjBFZC9FOVBIdkVQeGtRcFZINHhXT2VXemdKWHI2WmxEaEsxS0p2Nnd5cjVjTEhEajZBdkI1d0RZSkR3Zm9abXA4cE16MlJ2QlBEQkoxbnZyaG53Q3hCdjE5S1VIaEU4MnJVRUJQSFgrRTdOSWhZNXZaczJHenA5akJuZUVwd3RUNE40RnJBL1pYNVdIWFJ5U1N2MFJsZ1VpUVV1V1R2Mnc5UXp6NVdnUFNJNXVWVytrak0zT0k0THh0WkgxcGhsQmNKYnYwSmFhT2Y2ZUJmMThDS0h5aStWM25UUDc0ajNCamlmMEZkVDJtcVZ5di9IenZpL2VRbVIyMG5CWXBGZ0ZXR1JwN0FYZmFaNVVGSWdYVlR1YmdFQnQ4aTU3ZXQrcWRJS21CZE9vUjREckNVejlHY050aTF6aVRQLzRYd0g2N1NXcHY2aDFxWHU3RlBELzVJSm5aaHlodUVCZS8zV3FYOS9kM01qMytYYXNwRVQvM0hJa052RXBzY01GeVdrVEN6dC9oNExuTThOZ3M4RjZEMHlQcjR3QTdtSnNZTnRaRmZOdjk2eHJKSVRON2lQbEpqZFpra1dLS200OTV3VzV6Sm4vOFgxT1lITU1oekxHaFU4ZS9CUndJMkdLNzRkN3UzbU40N0I4cGhMdUlTT2xHc0drVitKVCtrZWVCSy9WUGtteEtidVVnNmRTOXZyVTI2MHovMzk3alRQNzREOUdFVjlhb3A3ZzVlU0VKQjBoUFBHaXNDK1B3TFlXR2VtNjUxMGl2Zng5cEhQTjR1K2RMUFBrVFlKbnduVDhpTmxVcVUxZnA2VHROYk9DVlJpVklObUZoOGdod3UyK3R6VEp2YmJoamV1SlJzb3NEdGhMVTdoUlQzSndjWUtzemRmeVBnVnRMN0JPMmZJMEFPMGxQUEF6c3NKMFlBUXJuU0FjOXZhZm9INWttZk9lTmlFMlZidGd2a1VpK0RMeVBycDJ3MjBWNjRnaUZzZnhOdGp1VXpKREhIbWZxK0I5WlRrL2JVazl4OC9saUdEYW1qdjgrNGI1dzFxWnQ2dmdSY2l1bEd2TFNPT1lJSmF2QVp3eVBUZVovVnMrOWlLdlVNSmZ1aUFId1NYNjY5Q3ZvdWdrak0vLzJNNWNhTHJHZnpienp6Nm9IVThjZlJjT3pXYUdZNHVaU3VNRG5VbDhsdTJRK1lsbjdTRHg4SE9BMjBxbXYyMDZJZk1HY2ZPQnBZS25jemlKdHppeG5yeER0Zm9QK296Tmw5cmZkQXltZTlNVDlBYlBHUVhqYVFJVnpKYnQwQjNPQjlhVE9wenBUK0VSejJ1Tk1IZjlEaW52Nmc5NmlEUVB2SXZaNklDUE1UWHdYMkdZMVZXSnl6NTFvMSt2RWsxNElSWmpPSVpHd01OL2R1RW9pK1dzS28wNzQ2OUsxUFlEU1NHWitSRWxQK092TXNESFRlNDB6ZGZ3UGdOMitmY0w3SW4yTENQTUpJcVhrbGcrU25pajFHTVI5M3ZVQUFDQUFTVVJCVkFqQ2VhUGpqY1VJNmRRaHNrdHh1OGtSMWo1ZHVFaGk5Qm5jUjhGaFBJZEVHcVdheHNkbnhFZG5nY3ZHNzZ6M002Uit6R04vQy9PVDl3V3NoM0QxdmhiT21mVEVZWExMZDlsTlR2dFIrRVF6bWpvK0FseHZyQW4zVUd6RkhHQS82ZFMzQ081WkNVdmgxSjZHeHA0bDJ1MzFmRFhEK1NSU0Q5V1VSUjhUSDMyMUVZbVJUY3JNRHBKZDlFSW56Sm5rd3NTZm5uMzUyR0pwSVBVVU53L3ZRdTV5cG81L2plckcwQXdMLzhXK2hhbng3K0RPS3VUZkwyd0ZWYnRaSUpGOHlYWWlSRUxJTEp0V2lTZm5nZC9hU294VTVOV1pXNWdlSHlKNDdOK3cxVGZtelpqanVOTStkNWZZVCtwQU1jWE5KcnQ0SDVuWiswdHNEV3RlZWhkNm9VYzdNM09JN05JRGRwTWxyQTJodUV4OGRBSzRSSGpQSjVGNnF2VGt6UUV1a0JpZEJEN1ByOU8xRWw2OXpLVU8rOWFGY1Z4Ly83c2NEcG5aZ3lYR0xBNWJZNzVscUtlNGVUaEFKM09wQjRBYmJTZG1BN3lMMkxzUmkzTGk4VzhUcmtLcFhSVVhzUEhSTk5GdWpVSWg3YWpVS0Q2T3NSd0JQaWFlZk0zWVg0MlVzTW91OVpOZHZOdDJNcXJrTll4WDh6OWZ4MXdxYU1JcnFSUEZGRGVYbmM3ODVOZUJ6dnh5TStlZHcxenFFWUluSDFGRDJhNTNHRDcyWXY3blpqN0hSTllyNHZzZVpKWFk0T3RFdTk1dVJJSmt3OXdibVhUcWE4QWUvTDJ3NFMvYklrREVtWi84Q203NnBRSFVVOXhNM0dtU3pkQ0paaHJ5WisyUWNkbkZXMWs0RVJSQzBRei9UeXY3bktHeGZ3SXUyRTZJU0FqbEdCNTdFVGhUWXJ0dTZzT2ptNm54Ui9JL04yTjk2WkNlU0pCYlBtQTFOVzFFTWNYaFY1aUtkeTcxVGFDbnduNWhac1pNUllCZFRJOC9oRzdPd3NETUY0Z05UTkxUOXh1YTQ3d1NxWVdnM2tOdm5Ya2R2RWM4K1R6dWpIYWxQa2ZzS2VSVmR1bHVNak8zbDlnZTVyTE5iTURmeUZ6cXZuSTdTKzBvZktKNTdISG1VZzlUM0lCc2hrZEE1YzJsdmdiY1lqc1pVaVFDZk1UdzJNOXNKMFNrZ1lKZXZ2SXZYeVUydUVSUDcrc1ZQa2ZzNnlTZE9nTHM5YTF2cGpod0I5amh1TFBiYWNLckJsQVBYZmg1Ris0dExFemVHYkErYkcvUXJvZERiamxPZXFMVXRNL04rbisxQW9laFl6OEJzalJINVNGU0wrYjVmNWtESTNQQXg1UXVuM1M5Mk9VZC8yN21UendFYlBXdDk0UzVmdkU2dk53MjJzTGtJZURhZ1AzQy9EODBKWVZQaEorYlA1bVpMNUZidWNtM3Zsbnp6bng4dFkycDhUOEVkZ1RzcDhyRkRqZC9lbnAvVFd6d05UVHRzd2k0MThCWmhzYWVwZmdwWGJPV3c2M0t6WS9jeXAya1U5NDdPUDdSUTVxRjk3L2NRR2JtWU1CMmxjczFwcDdpY1BNYUl4SG1KMjhsZVBCeGFONExJeitkWmVvQmNpdDZrU0E4dkFva3kvRFk4eFNHQnhKcFI5NjVmNFdldmtWaUEybmYrbVl0ZjF1UlYyZDJrRTRkb2pCQlZET1ZYMEVkWHRjd1AvbVFqY1MwRzhVVU40ZmR6dnhrM0xldStlT0pDeGYrUHRLcGIxcE5pY0RhODJtVmVQSkY0Tk1TMjBYYXlSVVN5ZGVBRC9QTHVoN0NxNHU1aVc5UmZPUFNMSFZtME11ZUhjNzg1REN3SzJEL1ptcndoNTU2aXB2RGRmbVlJbE16VGZOY2pqc3B5ZVRqM3dMMkJXeHY1dit0R1JVL0V1N3BmWlY0OGsxN3lSRUpqYlAwSDMwQk9HODdJVktTVjM3ZHlzS2tPV0tEdng0SmM3MFNGT1lSeWI5VDFOZjQ1TFFYeFJRM2c4ek16ZVJXZW0wbm8wYjg0eFc3cy9ka1pnWktUUHZjREhmMnJjU2NqdHVkdVNzeCtsUittL0pDV2xXbGM5c2gybjJLK09oTFZld3JqVmZja0V4UGpKQmJ2aUcvTHVpbDlHYktReSt1K0JZeU0zY0ZiRyttL3lYMDFGUGNET1luQjREZCthVld1Z0M4UXFvRDZNblBQTlJaL2xla3p0YStQQlJQL2dKM29nS1ZGOUtxS25VT1hTS1IvQld3V0daL2RURFpZdzZ6RnMxUGN1V1ZWMEVONFdiSkt6UGtJNG9iUnFseXVJNFVVeHh1RHJBdEgwdGszZ2szUzJ6VWVuUXcrZmdqckIxVFVteUxkczBUVDc1cU94a2lscXppaGs2OEJGek1yd3NxZjF1dFRHNDJYaDE1TzNPcGUvSS9COFhuTml2SG1aOGNBcTZ4blpCV3BqdU84TnZQd3FRM0ZFc3pYOUJCaXVlaXp5NE9rcGtkc0pZYThmaUhZRHZEOE5oUGdTdVcwaU5pMDFYZ1krTEpYNVhacDVtSHlHd2xFVEt6WHlXMy9DWFd6a1JJd0hJemNmSnh4VUh2M2tpTktLWTQ3REl6ZytSVyt2Skx6VGpPWWlWbUF5eks5UGozYkNaRzFuRFB0ZmpvejRoMkwrWFh0ZHJObVVncERuQ0ZlUEkzUkx0K1Y4VytZbzhiT2pFOVBneEVhYTE2MHBWYjJVZG01amJieVdobENwOElwMExqZDM1eUVPakpML3VucDJ5Vmk3NXdEazRkL3hwd1UrbGRwUUg4c1hjUllKNUU4aFZqblVnN1dBWE9rUmlkQk02VzJFZVQyNFRIWHVaU1h6V1dtMmxLNTNLOFh1L2R6RS9lajhyZ3VsSDRSRGg1Ri9CT1ozN3lIbG8vbndxUEhuUExkNUNlT0d3M09XTHd6c1dMREkwOVJ5R0VvdGtyR1pGSzNKRng0RDM2UjE2cHNKL1lGeUV6bXlDNzJGZTBycm10R1hyVm1aKzhsOExVMVZKakNwOElKeTlQYm1DaGFOS09WZ3VmQ1BwL3VraFBmQnZZYmlFOVVqb0d6NkgvNkMvcDZYc2ZOUUtrUGJnOXdMSEJ0K25wZmR0WUorSGk1Y2sxcEZOL2dCczYwU3JXanBpeE1Oa1A3TEdTbWpiUTZqMlF6UzI3ZUQyNWxldEtiRzIxd3RucmxYR1lTejFNYmtWeFUzWUVOWGk5bStjRkVzbWZvY2ZGMGo1eURJL05vRmtkbThGTnpFMTh1Y1MyWm4wUmNtMjZjeXUzK0hyRHBZWVVVeHcraGQ3VE00czNVcmdqYktacEtqZkt2VW5MTGNkSXAwYnNKcVh0bWJGNDNzK1hHUnI3T2U2TVhycWhsbFpsbnZ0bmlDZWZvN1hMM2RhUVhicUh6RXlmc2NZc3U1bzEvNExTdjU4emkvMDJFdE1PVkxHRmt3TnNkUlltNzZBNGpLQVo3M1NyWllaU2JHRnU0cnZBempMN2lRMnhnVmw2K2s3bGw1cTFvaEVweFJ6R2E1V2V2Z1Y2ZWwrM21TQXB5M3RxMVVrNkZhZjFKcm55aHhpdUF0dWRoY21ZcGZTMFBNVVVoNVA3eU9UTTRyMnN2U2hhTmIvTU8rSlYwcWtFMmFWRW1mMmtNZnpuMndJamo3MW9KU1VpdFJYMDVNMDgzeStUU0U0Qnl3SGJKRnh1Wkc3aUFZcnJ5VmJLcitMNi84emlMYWhUc3k1MFVNUEpBYmFUWGJ6UmRrSWF5SnlwcndPNEtUL3RzOWhsRHY4WEFTNFJUNmFBejJtdFNrZkViNW1oc1YvaDlzNkJic2pESzdkeU13dVRnMlgyYUsyeUtydDRKOUFkc0tXMS9rOExGRk1jWHQxa1pzeVg3Rm85cHRqZitOckMxUGdJMEdVdFJSSVVWd3c5dlM4VEczekxTb3BFYXNmZm0yaVdyYXRFdTM5TGJPQnRKT3dpcEZPSGdCaitXVkpiVldibUFIQjl3SmJXL1o4YlJPRVRZWlZidnNrMzhrU0UxbnNrWkZyN2YyVm1IaVM3ZE1oQ1dzVGxIeU16Z2x0bWZNcncyTThvakJnaTBtcXVra2ltZ2QvYVRvaVU1UUI3bUp2NEpvWDJUS3ROYm1YS2orZS9zby9jOGcyVzA5S1NGRDRSVGhGT3o5eE00YVdCZGxJWUZ4ZDZPUEg0dDJ3bVJyNWdQcW00eXRDeFh3SlpORHlidEE2ejdEbExmSFFLT0djeFBWS04zTW9kcEZOZk10YVkrZGhLelAvbkdrN1AzR1V0SlMxTTRSUGh0SVhNekszQURtTmRxNGRQUVBFYnR1Ny9PWmY2UFdDdnJRUzF1ZExuWExUckZlTEpsMm50cHhmU25oeWkzZThSSDUyMm5SQXB5U3R6T2xpWWZCQzR4YmU5RmV0SnMzN3NKRE56ajgzRXRDcjFGSWVQQTJ4M3NvdTNVRHlWWTZ1SFQ1aTh4L1NRWGJ5ZHpPeDlkcE1qQnU4Yy9KVEU2RW5ncXVYMGlOVGFaZnBIM2dEZW9qM0syMmJrTlhwM2s1NDRUR0VXTzMvb1JDdmxYOUhzZGs1MjhWYlVocXM1eFJTSDB5NU96MmdjUWxjWEp4Ny9MckRGZGtLa3FLSnhpQ2QvVHJUN0k1c0pFcWt4Qi9pY3hPZ3ZnQXUyRXlNbGVXWFI3Y3lsSGd4WTcvKzVWUlFheHFkbjlsTThqNEhVZ080eXdta1BtWm1iYkNmQ0lpOU90VER0TTl4dU4wbUNyNmVDYU5mckpKS3ZCbXdUYVRiZStic0svSTU0OGtYZmVrODdQYkVMcThKN0RPbUpBK1NXYnk2eFg2dVdTZTY1bDVuWlJmQUVWN0lKaWlrT2wveWJwY3ZYa2x2eE40cGJQWjdZVlB3SUxMZmNUM3JpcS9hU0l3UlBOM3FPK09oVGFBUUthWDVlSS9jeS9TTnpSTHVXS3V6ZkxtVnhtRVZaT0hHVXRVOFJXejF2dkJFb2RwQmIzbTg1TFMxSFBjWGg0bDdNcDJldW9YaGc3bFllWXFZY3IwY215dFQ0TnluRWpZbGRoVW9uUHZveTBlNFBhTDl6VTFyVEJSS2pzOEJudGhNaUZkMlFmNHJvYWZWNjBqK3FScFRUYmYxRXVTNFVVeHdlaFVkeW1abTlGQS9IMW01NTVMLzRJNlJUdytSV2VtMGxTSXFZNStNOGllUkwxbElpVWxzZkVFKytRdW5leG5aNlloYzJ4ZlZnWm5hSTdHSmZmc2xaczczMTZrMy9lZGVkSDZWS2FramhFK0h4UlFQUXlTM2ZRdkVqb1hiUG8xWGdWdEpGdlFLZVZpdjR3cXc0cHRqOVd1Ym9Zei9GZlNtcDNjOVRhVzZyeEFaL1MwL3ZHL2xsbFMzaDQ4VVRkekk5ZmorRnA0ZmUrbGErYWZHZmoxSEhuY0JENTJrTktYd2lYQnhnQzJjVy9XTXV0aU92MGVYMUFIUXlOZjR3Y0kxdnYxWXRBTVBLckhUY3dqZzI4Qnc5ZmFkUjRTek55NTJVSmpHYUJzNFk2eVE4elB6WXoxeHFvTVMyVnVTVnU4V2phNXhadko3aW9WdGxreFErRVM0UllEdlp4WDM1WmJQeDBhNzVWUGpmRnlhSHlDNE4yazFPV3dzNkR6dUFkMGdrbjdlUUhwRnFWV28wT2NCbnhKUFBvTEczYmFtK2pzc3UzVWQyMFJ5L1B1TDdhalZtSjFGQmR2RkdOQUpGVGFtbk9IeWlRRmYrNTFhOHVEZktBVzRrblJxeG5aQTJWdXJSNUVXR3huNEJYR2x3ZWtTcVZia3M3ZWxiSkRid213YWtSWUpWMDl2cmhrNmtVMThtZUtiVFZ1OHg5cC9IMTZFWDBHdEtNY1hoRWdGMmtwblpZenNoSWJXTnljZEhDUzRNZFFOaFUyemdKTEhCTjFCNUlzM0RQRmN2a2tpZUFESzJFaU5WMjhYVStGSFdsdm50Vi9aa1pycFJvN2ltMUZNY1B0dkpyZmpqWnR1WkdVdmxrRjI4aTh6c3ZTWDJrOFlJZXFIbE5NTmpKOUhOaVRRUGM1U2JqNG1QVGdLWDdDVkhxcEpkdW9QTXpOMzVwYUR4MDF0ZG9lek5yZXdFdGxsTlRZdFJUSEU0bUxGUU95a2VqcTBhclZ3ZytLZnQzTTMwZUJMZDBOa1VGRmQ4bVhqeVdXREZRbnBFTmlmYXZVRC8wVm5ieVpDU3ZESm5Pd3VUMzZYd3REQlM0bnNyTS8vSGExQk1jVTJwWVdHZjJWc1JZWDV5RDJ0SFdHaDN4ZU1XejZXT0FCcWYwUjdIOTdPNzNOUDdNdjBqN3dic0l4Sm1sMGdrNTRIM2JDZEVLdXBpYnVKQm9OTjJRaXp6eXQyZHpFK3F2VkJEaWlrT2x3anVUSGJiODh2S203VWNzb3NIU0U4TTIwNUltL09QV1F6d0RzTmpQdy9ZTGhKbTU0aVB2a3o1RjBWYmRWU0RadUdGQy9TUlR0MXRyRitsdmNvYS8vKzZFOFVVMTVUQ0o4Sm5ENFZHc1g5bU4zSHRKajN4TUlYakpIYjRHOFlPOGVRL0FtY3RwVWVrR21ZOC9DcndJZjBqTDY3amQ2U3hDbTJVZENvT3hQSkxRYlBZdFp1dEtIeWlwaFErRVE1ZmpFSG9MRXhlejlxVHZOeUYzeTRGdFZjQXVzZGlMbldFM0lwQ0tPeGFPeDEzdE9zTjRzazVWTFpJZUptOXZsZUlKMThuMnZWYlk1dUVVemR6RTErbk1OdHJLNDlMWElwL1BPWk9aMEhoRTdXazhJbHc4UExnS3U0WXhWdDg2OHZsVVRzVkNKNnI1SllQbEpqMldSckg3RDN6dm1kSmpQNGNsU3NTWHVhNW1TTXhPZ1Y4SHJCTndxV1BoY212R2N0QjVVODdNSjl5QU95eWxaQldwTjRjKzRwZldzb3RCNFVFVkdyNHRrUER1UGlGUk5qQzNNUTNLTnhBaUYxZS9xd3lOUFlNMGU2UHJLWkdKSmova2Z2SHhKT3YwbDZOcW1iajVrMTY0bjV5eXpGanZiOU9hSWQ2MEJRQlZza3RkK0crZU5odS8zOWRLS2JZUHZQNGIrZjB6TDRTMjhwcHR3TGRQUzdwMVAza1ZnNVlUb3U0ekhOMWxrVHkxZnpQN1hadVN2Z1ZlaGRqZzI4UzdYckRhbXFrR3J0SlQzeURRa2RlSVdTci9kNjlNY3ZhSzV5ZXVSazN0cmhkL3YrNlVrK3hmZWJqbjkzQXZqTDdTbkVoZUJQVHg0L2FUSXg4d2V5dFdTRStlaEwzOFY0RUZkWVNIbWI1Y1pIaHNTbmdZNHZwa2ZLOHZMcU51ZFNCZ1BWbUNFVzdkZkI1NWV0ZUNoTjR0TnN4cURuRkZJZkxYcktMUFJ2NHZYYThFQnhnTzFQam93VGZTTFRqTWJHdGNJTVhILzBsMGU0UGZldEZ3dVJqNHNrWEtNUm1Tdmc0UUFlWjJUaTU1VjVqWGJ2ek9pRTZ5Uzd1UW1HRU5hT2VZdnZNeGxzUDJhVTkxbExTUEFvdkdtUm1Cc2t1eGN2c0kvVVgxRk16eC9DeFZ3TFdpOWptQUZlSkRaNm1wL2ZYdGhNakZXMW5lbnlJd2l4Mm5uYnRJUVp6QnIvczBqWTAxWFBOS0tZNFBEcHhSNTdZc1k3ZmFkZUduL2NJdEFQWXkvVHhiNkliUEp1Q1huakpNVFQyajhBbFZNWklPSmpsNVVVT2pMd0tuTEdWR0tuYWpjeWx6REM1ZHByU3VSSUh0KzNRYVN6TEpxZ2hZWS8vYmRsTzNKaGliM1lhbmR5bG1jZW1nNm54aDFqYml5Q05FM3l1eGdaZW9xZHZzYkZKRWFsb0ZWaG1hR3dTZHhoTWFaeHFSNGtvTkh3enMzZVRYYnd6djZ4NnNaalhFYUVPemhwUlRMRjk1aU9nUFJRYXhlc3BPTnFWZSt5eWkzZVRtWDBnWUh1N0h4OWJ2T04raXVHeEUxWlRJbEpRS0E5NitoYUpEY3haVEV1N1d1L01nRkhTcVJHS242QzI0OWpFNVhSUTZPQlVuYmRKdXJzSWp3N2NRYmpYRXh2VXJvV0NPYUpCQjlERmljY2ZwZkFJeWRPdXh5Y01Pb0FjUThlZUJuSzJFeU5pV09YQXlCeWdXZXdhYjcyejBPMW5idUtSZ044SDVadkhESitRVFZMNFJIaDBrSm5aaG5ydjE4c3RKT2RTRHdHOWxYYVdob3JRMC9zYXNjRjNiQ2RFeEhDVytPZ1VjREcvclBJMnJMSkxoOGpNM0pGZkNzcW5kbTRZZXpjSTIvSnRCNmtCTmNEQ0k4TDU1YzR2ZnE3MmQ5cVQvNXgxeUMxL2lmVEVWMHJzMzY3SHlRYnowV1lFeURBODlweHZtNGd0RHRIdUplS2p6OXRPaUFUeUducnVDMlRwMUgyNFlZVVk2MVdPdUx6akVPWDg4azdmT3RrZzlSU0hSN3ZOeXJOWlp1SHBBTHRJVDN3YmQyWWZhU3ovVFljNWxlNEY0c21mQW1keFgzRFMrUzIydUVPeEpaSnp3S0xsdEVnd3Mzem9ZVzdpYm1zcENiOUNUekZjZzhyV21sQk1jZmc0YURENVN2em5yTHM4ZGZ3aGNpdTNCdXl2d3NJT04xOTZlbDhobmt5anVEZXg3eUw5UjA4QWwvUExxdjhhcjdyZTN0ektYU3hNZnNXM3IvS3JXQVIzNGc1MUJ0V0llb3J0cThWTEErM2U2UE9PM1kya2k4YXpsTVlvOVRhNDEyUDhQb21pYVo5RmJIbWZlSExHV0c3M3NyUFJxam5lWHVqRUllQ0dPcWVuRmVoRnV4cFNUTEY5NXFQbWlHKzVXbXBvdU1kdFczN2E1NjZBN1RwRzllVnZHSnRERFY0bG5ud1d5UHEyaWRTYmVhNWRKcDZjSTlxMVpDMDFVcTBkekUyTVVQdzBXL0hFd2RRb3JpSDFGSWVIZjVnYVhmelZjNzc0V3BpOFAyRGFaM01JTjdFaDJqVkZQUG1HN1dSSTJ6SEwxQXNjT1BvaThLbXR4RWlWY2lzM2swNE5sTmlxRGc2WFY2K1o0eFRMSmltbTJENnpsOWcvWFc2MTFPQXJISzhiU0tlTytMYnArTmdWQVQ1aGVPd24rV1hsaDlqd0FmSGtTMnpzYVp6VW41Y25uU3hNL2g0UUs3RmRpblhpeGhWTERTaDh3ajRuNEdlRlQyeE1CT2hrYXZ3YndMVzJFOVBHZ2tJb0lENzZDNkxkV2RTcklZMTNsZGpnUEQyOXIrZVhWZStGajVjbnUwbFBqQURiS1M1TGxHZHJlVDNGMjh2c28vYkJPcWh5c3EvUVU1eGRWRnpRK3ZrditGVXlNL2VUbWIzUFNtb0Vnb2RvQXpoRkl2bHF3SHFSZXNzeFBQWXlzSXdhQ1dGa1BpbTltYm5VdmNaNkoyQWZLVHp4NkNDN0dLMWlQeDI3S2loOElqd2lUblp4QzRwLzNTanpQTjdGOVBpMzBibHRRN2xqL2dsRFl6OEJycUJIMkZKL1h1L2lLcENsZitScDFPTVlabTYrcENmdUlyZHN6azdxRHkyVVloMU9kbkZIbWUyYTlHUWQxRk1jSHU0ZG4yeUVQeFk3d2x6cU1IQ2p2U1NKb1hCdTl4LzlKVDE5djBVTllxbS93Z1EvUFgxdkVSdFlNTlpMT08xZzRjUVJ5b2NEU0lFN2ZKMDdnWWQvZUZkemdpdXBrbUtLdzhIL2FFT0Y5c2E1eHk2NytDWFNFNGN0cDZWZG1iMFMvbW1mM3lDUm5MS1NLbWtuWnIxMmhVVHlWNVFmRWxCbGJqamN3RnhxeExmT1FUMmRsV3loZEtkYUxlWkNhQnZxbVF3UDNkVnRudGxqM0VWNjR2ZUJvTWRLS2h6cUorakZVU2ljM3hjWkd2c0ZoUm5GZEw1TFBaalgrQXBEWXpQQTFUTDc2enkweXozK21ka3ZrVjNzWDdQZXBiallZbDVva0RjRHJvNU5EU2ltT0R6OGNWUGxDdWxTTTRoSjRaaXNNcGQ2QkRoWVpoK3BuNkNuSCs1eWJPQWtQWDJuYlNSSzJsQzArMTFpQTdPMmt5RVZiV0Y2L0JIQWUybk1mRUZNN1pSaS9qa05xamxHcXZlcW9KNWkrMHBkOUNvRU5zNDlucm5sNjVrZUg3R2RHUG1DZDU2L3c4aGprNWJUSXUzaE1vbGtHdkJtc1ZPNUdsNHg1bEwzRzh0NnVhNDBmOGVZdjROVDUva0dLYWJZdnFDeGlhczlvWFhpRi9PZnl4M01UWHdMdUNaZ1h4Mjd4akZqQWlPNDArMmVBQzZnZkpENldRVStKejQ2Qlp6UHIxTjlGejc1OTBDVzRtUVg3OHl2OCtlVDhxMllQMHhOdmVrMW92QUorNElhdzlXK1ZLQ0NvdGphY3ptZHVvZmN5cGNDOXRXeHM4UE5vNTdlWHhFYmZNZFlyL3lRV2xzRlBpSStPbTA3SVZLV0Eyd2xuZm9LaFJHRGdrT3YycGUvZlBRZmo4NFM2NE4rVjhwUStFVHowb2tlekQvWSswMmtVMGN0cGtjS3pKdTlVL25KRk1CdHZMUjdwU2UxNVFCWGlTZC9EYnhUYVdleHdyem05ekkxZmhTVkF4dFJtTVJESTZ0c21zSW43QXQ2VEZUTm5iSHVuaXVMQUZ1WWZQd2J3RDdiaVJHZ1VIaWZaK2pZUCtJKzF0WjVMTFhtQUNza1JwOEN6dGxPakFRcWRGNWtsKzRrTTNPdnNkNy8xZTVLbFpIbUJEWCs5YklCNmlrT0R6VU02c01oTTNPSTdGSzh4SFlkOThaWU8ySkt0R3VLZUhJZTVZSFUzaXJ3VytMSmx5dnVLYlo0MS8wMkZpYS9BdXp5clZlNVVKMVYxQWl1R2NVVTIrZC93N2JhS1JsMUIxMmVlVnozTVgzODBSTDc2UmcybHZlRW94UDRrTVRvVDlHNUxMWG4wRC95SnRHdWhjcTdpbVhkekUwOGlqc0JoY2MvSzF1N3E3WjgxQTNGSnFtbk9EeDBFdGVPZjlybkRxYkdId0gyMkV0UzJ5blgwUFhXWHlHZWZCYjR4TGRlWkxNdWtCaE5BNS9iVG9oVWtGdTVpM1RxN3Z5U1JwMm9qbitjWXFrUnhSVGJ0NW1ZWXFuTW0vYjVMakt6OTFsT1M3c3poMlZ6OHlYYU5jdndzVFE2bjZWMkhPQU04ZVFMdGhNaUpYbFBSQ09rVS9jRE54amI5T1JvTFgvNTZBOUgwNFJlTmFLZVltbEZRUVZETjlQajN3TzJCbXhUZzZ5eHZFcXZBL2d3UDJTV1JxQ1F6U2dldHpVMnVFaFA3NXZXVWlQVnVwYTVpZnRRVzJRejFCQ3VJY1VVMjJYMkNKc3oyMVViVXl6QnpHTmFPRTVUeHg4R2JndllYOGV5Y2J5ZVl2aGlJby9SWjRoMm4wRTlSTEp4WnNqVUpSS2pMd0hMdm0wU1BuZXdNUG1Rc2F4cG5ZT3RONlpZTmtqaEUzWUZEY2l0OEluYWN4dGJ1ZVVEcENjZXNKMllOaE5VdnZobnVIdUZSSElXLzAyTVNQWE04K1pUNHNrcDRBbzZwOExLZlZLVW5uaUEzUEpOckoyaExXaW0xM1pXYmZpRWJKSWVXZGhWNmtRdlJ5Zi94a1NBbmFRbkhnVzIyVTZNQUlVblZWbU9QdlowZnAwcVFWa3Y4K21EUTAvZklyR0JONHh0RWs0N1NVOGN3UjExUXRmOSt2aGZ0RE9mTXNzbUtId2lYS29Kbi9BUDRTYVZGYzd4cWVNUGtWc0pDcUdReGlzMFptSURrL1QwdllmS0k5bWNWUkxKMTRCRjJ3bVJpbTVoTHBVd2x0VTdYRnFwYVo1MXJHcE1QY1hoWUlaTEtLNnl0dnczRVRIU3FZZEs3U3gxVVdtWXBRZ3dUeUk1VldLN1NEbG13K0JUK28rZUJDN2FTa3licXJaeDV1M1hTV2IyTUxubFd3TzJtVDMvVXBuYUREV2ttT0p3OEU5bldTNm1XSGZURzljQlJKbWJPQUpzdDUyWU5tZVdPeEZnbWFHeHA0Q2NwZlJJODNPSWR2K08rR2k1V2V4VWJvYkRicWJISDZJd2k1MUg3WkZnbGRvREcvMTk4VkZQY1Rqb2JkdkdjSTl4T25VZjJhVTdMS2VsM1pSNjRRNjhjaWcyOEFLeFFZVlF5RVpkSXBGOEV6ZDBJdWdjMG5sVkgwR1A4aXNkLzcwbFFpZGsvZFJUWEVPS0tRNlhha0lvRkZPOE1lWjVmb0IwNmxGMDdqZGF1Um51T29CRmhzZWVMN09maUo5M3Jxd0M1NGlQL2dKMzFJbFMrK3JjcXEzMTltQzY2ek96QjhndUhsakg1OG5tS0NTbFN1b3BsbmJpVllyYm1Cci9QdEJsT1QzaThncnM4OFNUdjhTTkIxMUZEUmlwekt2b3J3S0w5STlNMjB5TVZHVUg2ZFR2QWRjWTY5UmcyempkN05XUVlvckRwOUk0eFlvcDNwd0lzRXBtWm9ETWJOeDJZdHFjZjlwbmg1N2VFOFFHMzBUbnQ2elBWZUxKTjRoMm5jNHZxMTZ6bzl4MTYrWEpyY3hOZktQRXRrcWZJUzcvdU01US9yaHB1TFlxcWFjNFBGUVExSjkzakR1QWE1a2UvdzQ2N21FU0FUS01QUFlzaXJPWHlzeEsvZ0tKMGRlQUZWdUprWXJjNnptN2RCK1ptZHVOOVdxc2JZNTZpbXRJTWNYaHBKamkrakJuLytsa0x2VTE0RHFMNlpFQ3I4ZjRNdkhrU2RTNGtmVTVReno1SWlvWGJTdDMvTjNRdFhScUNOaHByTk1OOE9aVmFoZ3JwcmhLQ3A4SUo0VlAxSjlEZHZGZUZrNE0rZGFyZ0s2dm9ER0xpOWRGdTE0bG5sd284enNpWUY2bnNjSGZFTzE2M1dKYXhGV3E3UFRXMzh6Y3hMMis5ZXJwM0x4SzlaYkNKNnFrOEFscE4yYkIwSlVmSzlOL0hhandxSzl5VDBFaXdCS0owZWVOZlhXVElxVTR3Q1dHeDE0R1ByT2RtRFpVYVdJZVU0VGN5Z0VXSm04dnM0K3NuMjRxYWtqaEUzWlVHc05SNFJQMXNYWWN6Ym5VN3dIbXJFbzZydlpFY011a3F3eU4vUlBSN3ZPb2ZKTEtsb2tuVDloT1JCdXFwbmZTNHdCYlNLZmlRQjk2c2E3V3Fta1k2emhYUVQzRjBvNEtoVU51K1FEcGlVTVcwOUt1eW9WUlJJQTBpZVJ2QXJhSm1PZkNLajE5Qy9UMG5yS1dtdmJrYjJBRlhhUCs1VjNNVFh3VjZQUnQxN1c5T1RwK05hU1k0bkFKbWhuSVQvbTFPZjZlOW11WUdoOUZONGcyK1ljWGlnQWZFeC85R2U3NHN5SW1zM3pNa1VnK0IzeHNLekZ0S3FoQlc2N2U2c0NkTk9uTHhyNktjOTI0b0ltK0t2VUU2MWhYUVEyQmNOSGpqY2J5cG4wZUlyZHlhNFY5cGI3TWdqMC9Dc1hvMDBTN1A3U1lKZ20zVldDWm9iRVhnVXUyRTlObWdqcHdnaHBkM3ZadHBDZStRdW5SZmxUMzFaK09jUlVVVTJ5UC83aWJkODNsWDFhUVdqQ1A0eDJrVTk5RXh6WXN2SHlZWWZqWUsyaEVFQ21scCs4VXNZR1ovSkxPRVR1cTZZSGNRM3JpWVdDN2I3MnU3WTN4OXc0cnhLeEcxRlBjV0pYQ0lsUTRORlpoMnVmSng3OFA3QXZZUjNuU09JN3gxWUhiQzNnU3VJSUtmRm5yTWdkR1hnY3k2Rkc4TFpWZUNQZjBNNWNhcVBBN3NuRTZwaldpbUdKNy9NZDk3Y2dJMWYyZWJONHFtWm43eVM3ZEU3Qk54N3QreXIyWTQxNERzWUZmME5OM09tQmZhVytyd0FyeDBlZHhiNXFDNklhMmZzd3Aya3R0ajN6eFBUMHhRRzQ1bHQrbXNZazN6OTlEckI3M0dsSDRSR09WZXlraFlud3BmS0p4dkdPK2wzVHFFWFI4YmZQZkhMNUJJam1OVzFhdDJrbVNoSWlEZXg1Y0p0cTlTSHowcExGZUdxK2E0NzZiaFJOM0E5dnFuWmdXdHA3eG9HVVRGRDdSZUpYR0tCWTdPcGg4L0FqUUZiQk4rVk0vcFFwNzcyWWx4OUhISm5GN0ExVmVTV0VzNi82UjE0QVBqZlVTVGpjd2x6cnNXNmY4cWkwMWttdEU0Uk9OVmVwbE9zZTNYUVZHNHpsa0YrOGhNL3RsMzNybFJXT1pjY1h1c2UvcG5TWTJ1R2d4VFJJT1pwbDVrY1RvSzhERmdHMFNEdTQxbkptOWwremluUlRYZmNxdjlRbDZzdXhSbTZHRzFQTVNIaHM1cVhVaGJJNy9VZjIxVEk4L1RHRndlWThLOFBxcE5DTldCSGliNGJIblRIUTB1Z0FBSUFCSlJFRlVjQitiS3kvYWsxbnhPOEJIeEpOdlZ2RTdZdGQycHNjZkJIYWkrcXFlZEs3WGlHS0tHeTlvZk1lSWIzMjFKN2d1aE5yd0hzbDJNblg4Q0pyMnVaSEtIVjl2RklxenhKTS9BWEtOU1pLRVhqejVOdEd1ZWR2SmtJcHVZSDdTZlBxbVhzMk5VVXh4ZzZpbk9GeFVXTmpsa0Z1K2svUkUwQ2dVMGpoclIyYnA2WjBpbmx4QTEwaTdLcDdGN3NEUmw5QXNkbUhYUVhicEFUSXpkeG5yZFAxS3FDbW11UEVxeFJTYjM4dlJFQ3kxNXdEN1NFOThqN1VoRktEajNVaitNWXZmSnpINkRBcWhhSGNPOERIeDVFazBHb2t0MVphRHUwaW5qZ0Q3alhYVlRnc3R4Y3JGRkVzTnFhZTRjYXFKblpUR013dHA5M3FZU3gwbHQzSzlzVDRTc0svVVR0Q0xOOTZ5VjBaZElwNzhHYkFTc0srMGp5dkVCdCtocC9kMTJ3bVJRR1pkdHBlcDhRZFErVmxQWnVlQjFJQmlpaHVuMnQ3Z2FrOXdYUWkxc1RZZmNzdTNrRTRkTmRib09EZWVPV2EzbTBmUnJ0ZUpKMytEbm5DMXExWGdJc05qSjRFenFPNnlwZEsxNXo3ZHlTNzErMEluWUdQdnpvaGlpaHRHbFV2aitPK1dnNDY3d2lmc01mTWx5dHpFTjRGb3dINDY1bzNodittTEFPOHpQUFlpZWxtblhUbkFoL1NQUEdNc1N6anRZbUh5Q0hCdGZqbW8zdE0xWEQyRlR6U0l3aWZDUXllNVhjV2pnYVJUUTJTWDdnellSeFZ4NDVnVmFRUzRSSHowSk5IdXJMRmUrZEZPZXZybWlRMjhiVHNac29aL05LVWJtSnQ0dU1SMmtkQlMrRVRqVkFxZjhFL2dVWTdtanE4UHN3ZXlqM1JxaE9KODB2RnVuRkk5SXkrU1NIcnhwT294Ymk5WFNTUi9UV0VXT3dtUDRoZkhjeXNIU0tjTyt2YlIwODJOS3hjK29YcXBodFJUYkovWlNGYUJZWmVaRjF1Wkd2ODZzTWRpZXRwTlVFRnYzaXgyQUI4VEgvMEZhaEMzQy9PY1dDRSsraEx1bE44U1BsNW56WGJTcVVOQVQzNjlYZ2FUcHFHWTRzWXBGVk1jRkdOVnFiTDNHZ1JxRk5TUFEyYm1BYkpMY2RzSmthSUsxU0UrK2pROWZWbDAvcmNETDQ5WGlYWXYwWC8wRmF1cGtWTE1hL0ZtRms1OGhlQmhMV1ZqcW9rcFZubFlBK29wRmxuTEd4djNPazQ4ZnNTM1RUY2pqUlYwMDM2S1JQSzFocWRFYkhHQUt5U1Nid0tmMkU2TWxOVUozTWxjNmw1am5jckwrbEVQZkkwcHByaHhTc1VVQi9VT1Z4dFRMUFhqVHZzOGwzcUU0aEFLRlVMMVZlN1lGa0lvaHNhZUJxNDJKa2xpbVFPY0p6NTZFazMxSFZaZXViaWQ5TVI5NUpadjlXMVhaOExtVkJxU1RmVlNqYWludUhGVUlEU1BRZ0dlWGJ5WHpPeDlkcFBUZGtvVjdvVjhpUTJjcEtjdjA3QVVpVzBmRUIvOUZackZMc3dpUUEvcGlZY0lEaGRVbzAxQ1R6SEY5dFFpcGxqcXc4eWIvWng0L1BlQmJRSDdLUThhdy9GOUFiekp5R08vc3Bja2FhQXJ4Sk16Z0laaUN5ZXZITndLeEkzUUNhK2VVaHRqOHlyRkZKczk4YXFYTmtIaEUvYVVDNXVvZGtZN3FROXp5RHVIdWRURHdFMEIreWtQR3NQc2RmSkNLSmFKSjM4QlhNYnRQVlJldEJZdlAxZUI4eVJHbjhPZDRsdkN4N3N1ZDVHWi9USzU1ZTc4ZWpYU2FpZW9mUE9QMWxOTiswRjVVWUhDSjVxVFR1ekdjRzhhYzh0M2tKNFl0cDBZQWN6ZXA1N2VTV0tEdjBPOVVhM0lLK002Z1BlSkoxK3ltUmdKNUoreWVUZlQ0NFBBemdyN3krWnR0THhUT1ZtQndpZnMyVXo0UkxYN3lNYVplYkdUcWZGdjRMNVpyZVBlR0tWNlFjeDhlWXZoc1YvNjFrdHJXYVYvNUYyaVhlVkNKNVQzOVZGTkdKOHB4bHpxN29EdGFtTnNYcVc4cURaOFF0ZEtCZW9wRGdlZHFPRlRQTVZ3T3ZVZ3VaWGJXRnZBSys4YXgvK3l6bVdHamswQzUxRSt0S3BMSkVaZkF6NHZzNDhhWGJWWGJRZE5JWjQ0TTNzMzJjV2JmZHYxL29zMEZjVVUyK04vOUdSU0lSOE9aajcwa1U0OVhHRWZhUnozaGo3YU5VVTgrWWJsdEVodG1kZlVPZUxKbjZIcnJKRTIwaWJvWVdIeWZ0YUdUcWg5VVJ1Vnp2OXFZNHAxSFZXZ25tS1J5anB3UXlnZUFuYlpUa3dicVdhODd0UDVsN0NrZFJRYVVySEJ0K25wblYrelhzSWtBdHpJMVBoaGl2T28xTThpb2FXWVludjhzY1FhVWlWYy9QbmhzREE1VEhhcDMyS2F4R1hHRjE4Z25ud2ErTXhpZXFRK0xuTmc1QVhnNC95eTZxckdXRytJMkJheVMvZVRtVGxJY1crbDhxdDJTdVdCZDV3VlUxd2o2aWtXS2M4c1JHNGpuWHFvaXYya2Z2eVBDRHVJZHFVWlB2WnJXd21TdXNreU5QWUM3ckI3WWsrNXlYUUFyaVdkT2dKc1IrV2dORG5GRk50VGJscG4zV0dIaXplTDFsWW1ILzhld1VNT0tjOGF5M3k2OGlIeDBaL2dOcDQwOVhOeksxeEhQWDFMeEFaZXNaaVdkbFZ0bThEQmJVTWNZRzdpWHQ4MnRTdHFxOUtOaVdLS2EwUTl4ZUdpZ2lTY3ZNYVhRM1l4UVdiMmtPMEV0WkZTaGJqNXlQQUs4ZEhuaUhhL2owTENtbDJoREV3a1h3TXlhOVpMdlZWNy9YUUFVWElyQXl4TTNySE8zNVhhMFBHdU1WVWc5cFNMMjFJRkVGN1hNVDMrYlhSRDJVaWxucVNZTTltOVFTTDVPc1d4ZGRLY0hPQTgvVWVmcC9DVVJ2VlVlSmhQYWZhUVRoMEN1aWdlZmszNVZWc2FwN2hCRkQ1aFQ5QngxMkRuNFdRVzlKM01wUjRCWWhiVEl5NHZYenFCanpuNjJBbmdpc1gwU0cwNFJMcy9KRDc2Z3UyRXRLbWdSL0pCSE9BNjVpYml2dCtUMnRPUWJBMmkzcTV3VWFFU1hvWHBoYk9MOTVLZUdMU2RvRGJuSDcxbGxkakFDWHI2UGdqWUx1RlhuRitKNUF6d3ZwMmt0QzJ6dDdGU3c4b0J0dUsrZkh5N2I1djVlU0pOUmVFVDlnU0ZUMmhJdG5BeWh3Q0xBTHRKVHp5S2JpcHQ4MWZBYVJMSktWdUprVTB4eTd5TDlCOTlCbmVtUW1rY3gvZ3FWeGQ1NjdwSVR4d0I5aHEvYjM2WDJxbW1UYUR3aVJwUXBTNVNtYi8zWkpXNTFOZkpyZmluTkRYM2xkb3E5OEtkVjRtZloyanNhWW9yZFdrKzd4TlBhdFFKZThxTmpPU3Rpd0Eza0o3d1Q5amgvMzJScHFLWVludjh4NzNhbUNDeHg1dVMyeUczWEdyTVl1V2RQUTZ4Z1JlSkRaNnluUkRac0t2RWt5OFQ3ZEs0MDQxWGJmaUV0LzBBYzErRVRwaFAwOHp2VWh2cnFWY1VVN3dKNmlrV3FZNVp5THZUUHM5TmpPREcxWWtkUWJOQ3ZzdncyUE1CMjZVNVhDQXgrZ0p3RmpXc0dxMmFXZWk4UE5sT2V1SXVjc3ZkeG5yTlltZFB0Y2RkMTFRRmlpbTJSekhGemFtUVQrblVnK1JXRHRoTlR0dnpONHpQRVUvK3Y3aU5LbWsrbjlBLzhseitaOVZOamJXZWVtYy9DeWNHZ1MzNVpZVXMxVmU1WStzLzlzcUhUVkJQc2NqR3VJOFBwNDgvVW1LN0NxYmFxeWF1R0hwNnA0Z05McUE4YUJhRmZJME52azFQNzFzVzB5TEJ6R3VwRTdpVnVWVEN0MTFqaE51aFkxNURpaW0ySnlpbU9PaG5DUjh2ZjdZeE5mNTlvTHZNUHRJWTN2WFVBYnpIeUdNbjhzdXJKZmFYOFBBZXZWOWhlT3lYYU5RSlc4cTkwMkp1NnlRemU0RHNZbCtaL2FTMnFoa2lyNXA5cFFLRlQ5aWpHZTJhM3lxWm1RR3lTM2ZaVG9nVXZlaHpsWGp5R1FweHFXb1loNWVaYng4UjE1QjZGbFZiNzBTWkhuOFEyRVp4WTFsdGlmcXBaa2E3YXZlVk1oUStJYkorNXFQQ2F6bngrTU5sOXBQYUNxcDgxMDRZRU8xNmxYanlUZlJJTjh5S1l5RjcrcGJvNmYydHZlUzB2WEtOV3ZOOWwxN21KeC93clJkcENRcWZzS2RTNEx5RWw1ay9IY3lsSGdiMlZkaFA2c2ZmOEhWN0hST2p6eHJMRW02ckpKSnBJR003SVJMSUs4dDJrRjA2VEdhbTE3ZGQxMWg5VlRORVhyWDdTaG5xS1E0WEZTek5vVGlmc292M2tKbDlvTVMrMGhqbVk5d0ljSm1oc1plSWRpOEg3Q1BoWUY1SDV4Z2FldzY0WUNzeGJhN2F4L083U2FlR2dHdEw3S002TEZ5VUgrdWttR0o3RkZQYy9DSzQxOURlZkFqRmRzdnBhWGYrYStvVkVzbmY1SDlXWEhHNEZPZFZ0SHVKMk1BTGx0SWkxYnVKcWZIN0tiUWROT2xVWTJ3MHBsaDVzazdxS1JiWm5BaXdoYm5VWWVCRzI0bHBZMEVUZWZ5TytPZ3p2dlVTRG1aZVhNbUhUdndXNVZFWWVYblNTWGJwTGpJemQvalcrL2VUeGxQanQwWVVVMnlQaG1Sckpibmx1MGxQM0dzN0dXM01mSFRia2YrNlNuejBLYUxkWjFBSFFOaVl2WXdYaUkvK0JMaUN5cjR3OHZLcG00WEpyd0JSMzNhMUllcHZvOU04SzIvV1NSV0Z5T1k0dU5mUnRhUW52b091cVVieDMwUUdQY2FOQUc4d2ZPelZnTjhSdXdvanVFUzdmMGQ4OUdYYkNXcHpsVWFlaUFEWE1UZnhJQXIxa3hhbW1HSjdOTTF6NjNEemErcjQxOGl0M0xKbXZUU1MyU0NPQUNzTWpmMGN1R2d2U2VKVGZFUFRQeklMbkxhVkdDbkpLNy9jRy8vY3lwMmtVM2NhMi8wM28xSS82eG10U2pIRm02RHdDWHVDN3JiMXdrTHpNZlB4ZHRLcFIxbWJuLzc5cERIY0VJcll3SXYwOUwxUFllWTBzY3U4Rmk2UUdIMFpPR2NyTVZLU2VhM3NKSjA2RE93SjJLYXlyZjZxR1VNNmFGL2x6VHJwVVcrNDZBUnVYZzZ3azZueEVlQ2FFdHVsTWN6ZXF3Z3duMytSeTFzV3U4eHI0UXp4NUxTMWxFZzFJc0F0TEp5SW82ZVowdUlVUG1GUDBJdDFLbkNhVXlFdkZ5YS82cHYyV1dOMzFsZTVGMVM5TVl2UGNQU3hrOERsZ0gya3NZcG5zWXNuZjBPMDZ6ZWxkeGRMekRKcks1QmdMcFhJTC90REpuUk4xWi9DSnhwRVBjWGhvWVpUOHpJYnZqZm1Iek42RkhQWGVQN0hoMWZwNlQxQmJQQjlsQjloNFk0NmNlRG9GTEJpT3pGU1VnVFlSWHJpRUxubEcvSGYxQlQyRVdrSmlpbTJ4eDlUckVIUW0xOEUyTWJVK0xlQlhiWVQweWFxS2I4aXdLOFpIbnNCUFIyenpjeXZUNGtubndPdTJrcU1WT1ZhMGhNUFVMajVOeHZHYWo4MFJxV1k0bEk5OTNwU3VVN3FLUTRYbmJ6TnpTMk1Nak54TXJNRGx0UFNEb0o2ZlIzZk51K2ErcHg0OHBlNG8xQ28zTFBQSVRhNFJFL3ZtN1lUSW1WdEFXNWhMblhRV0tkNlNscVdlazNzOGQvWmFVaTIxdEFCM01qMCtNT3NmUnFnZksyUG9JYXgyVGgyajN0UDd6VHg1S2tHcGt0S3UwUmk5Rm5nZmRzSmtiSjJrSmtkSXJkOGZYNVpUelB0cUJSVGJQWVcrMk9LbFZmcm9CNFRrZG9wVEVqZ1R2dTh6OWltd3NrZUwxL2VKakg2bk8zRUNBN3VxQlBQNHM1aUYwUTNrZUhRdy9UNFYzRmZ0Z01OYXhoV3lwTWFVVXl4UFlvcGJpM0ZlWlpkZklEMHhLQ2x0TFNqU3RkTUI1QWpubndhallsclgwL2Z1OFFHZnBWZkNxcURkQk5waHo4dmJtVHVpd2s3L0JQalNPTnNacHhpNWRVNktIekNubkpEMnVna2JqNytQTnRIZXVMM2djNHE5cFg2eTA4cDNQVUs4ZVRidGhQVDVxNlNTUDRhK0NDL0hGUUhxVEt2ajBySDFJekQ3eUF6ZXlmWnhaanh1Mm92MkxHWklkbVVaK3VnOElsd2lLQktvRlVVZXZ2blVpUEFqY2Eyb0pudXBMNjhTbUVWOS9oL3lQRFlTZDgyYWF3THhFZGZvUHl4Vjk3VTNucmVXWEdBUFN4TUhnSjJHK3ZNNzZxdnBPVW9mTUtlOWR6NVNmTW9WRHk1NWR1WUhuL0kyS1o4Ylp5Z3NWUWp3RVhpb3o4bDJwM0ZiU2hMWXhUTy9XajNSL1FmZmNsaVdxU3lDTkRMMVBoUjN6cTFGK3hRK0VTRHFLZFlwTGE4QW1rVjJNbmN4TmVCYlJiVDA2N0tQWktmSVpHY0pUaTBSZXFqVURFbmtpOVRDSjFRaGQwNDFkNlVPMEFuMmFXN3ljd2NETmltTUlwd1VWN1VrR0tLN1ZuUG5aODBIN2NCbGs0ZEliZHlkK0EycVllZ1dIMkg0c2Z4SHhBZmZZNUNTSVUwemxuaW81UEEyZnl5NnA5dzJrVTY5VFZncDdGdTdUQ0gwaWpyT2Q2S0tkNEU5UlNIaXhwTHJjRXNoRzVoK3ZpREZmYVIyZ2c2cHY1S0lRS3NFaDk5a1o2K0QwdnNJL1h6UHYwak03WVQwY1lxbmVzUjNIYkJyY3hOM0cvOGpuOGZrWmFrbUdKN3lnMURwQXE2K1hrM09OdVpHdjhtc01mWXB2eHRIUC9MUlY2K3ZFd2krWHJBZmxKYnhlZDZQUGtHMGE3ZldFcUxWT1lBMjhpdFBNRENaRzkrblNhVnNtODlkWVppaWpkQlBjVWl0YlgyMFZWbTVoRFpwVnRzSmFnTmxRcWhnRUlsY1lhaHNaODNORlh0eWJ3ZXJwQVlmUjcrZi9idU5MaVI4ODd6L0RkWlZaS2d3NlJRT2l5akpFSXk2ZFpoZ05CRjZyQlZzTjF1VzlPOVE0dzdZbnM3NUYxV1I5dlRMelpDMWs3TXRHYzNKdGJxbUoyTjdYblJJKzN1SERzeHN5NXV6M2IzclBzQXV6M3RvMjJKSlZrSFN4Y0o2TEJVbEVTV2lyb0ZrWFdoTGhMN0lwSENnMlRpSW9ITUJQRDdSREFLeUV5d0hpS2ZmSjRubi93L3o4TlJWRkdIaWZ1RzhTTHkyUVRWaXcrSjlBWEZGQWVuM2tBZ1ZSamR6WDMrcnViZy9pOTdIS1B6N0svcXB6Q3hzVWVKeHQ5RjU4RVBKZUE5RWhsek9qd0pCL2RONUc1eU0yUEFUclNvVkZnb3B0Z242aW4yVDZNNU9aMS9sWUY3UitVbXh3NmhpQmo3ZEs3OTVlNHB0b0JGMHQ5NUdwMkxUakcvMHcxaXFUZUlETDZJYmtMQ3lKbFJZaWN3VEQ1N283RWRkSDJFbWM1Tkd5bW1PRGp1Wlo1Tnl1Uzl3ejYzaGFVVUt3dTNOamhXT3NQZGMrSU1KdnFZUk9idmdKT29ZZHdwbGU5MFl1b0E5cXdUK3A3REswSitaaHpZN2RxdUoxdkIwanpGUGxINGhIL3FaVnlON3UxTjVubTlpb1BUdjRxZXp2aXAzbU5mdTJjc092d0xZcWtsZEY0NndheVFDeVF5QjRKTVRCOXJwVDdaVFg3bUh1d2VZNU5Xc1F1VzEySkVEaTN6M0VhcUNFUTZ4M2trV1FJR21Odi9WYndIcjZpaWFiOWEwN001L3pvOXhtOHlNZlc4YjZucUg5VTMvYkhVSzBTSFh3c3NOZEtJYzc2dUk1ZE5lR3hYR1NWOVFlRVQvcWwzTitkK3JUdTczbUtmMCtKcWd2eE15bU8venJjL25Hdkw2Y0VjQUk0eHZ1K253QWxnUGNDMDlScXpUQ3N5bW40YWVEdW94UFM1WnN1WG5lUm5KaWl1WG01OFR1MkRjSENmdzNydkZUNnhEZW9wRnZHSEJWeE1mdWJYNnV3WGY1Zzl4UkFabkNPUmVRTjcyZWVOQU5QVnE0NHlQdlVZY0M3b2hJZ25wK3lKc25qZ0JpcWhFK3Fna2I2am1HTC9OQnRUckx2ejNySDUycHJiL3hXS2EzSFhWcDN2enFrM1p6SFkzLzB5eWNuSFVLOUtaMFRqaDRtTlBSdDBNcVNoYThsbHg4cXZGWXNhTHZWaWl0M3ZGVk84RGVvcEZ1a2NzNUhsRkV4eDh0bDdBa3FQZU1jVm55R1JlUUk0amhyRjdiYkJhSG9CK0NEb2hFaGR1MWhaU0ZCWStoWFVNZE9OMVBCdEU4VVUrMGN4eGYzTEhLd3lSRzdtSzJ4ZTlsbm4zRC91bm1LSUREN0Z4TDZjeDM3WnVoSndrc1RrejFGWWlwKzI4c1RqWWc1TzN3R2NiM3hXYllQd2FCUlRYR3Vmbm42MVNEM0Y0YUxNMjV1cUM2Wjhkb0xDY2p5b3hBaFEzVk04QUJ3aE1ma0lHbXpYRHBWS09USzBUR0p5SWNDMFNIMU91ZlJwRHMzZUVtaEtwQmJkcFB0SU1jWCswVHpGQW5hUDJXZkpaMy9WdFYyOU0vNHl3MW9zNEJ5SnlaOFRHVHFHenNGMlZiN2JaR1lCelRvUmxFYjUySGtxZVI2RjVSUXI4L0h5ZG5mc3ZhNkhZSG4xOXRZN0o0b3AzZ2FGVC9pbm1mQUpyVEhmK3l4Z0ozUFR2dzVjWkd6WHVlK2Nlbk1XT3l3Z1R6THpnZy9wNldYbTkzcUdrYjNQQVVlRFNvelU1Wnlyd2ZKTitsRDV2VzdRdzhXcllhc3AyVHBFNFJNaS9ySUxxSlg1RzFoWjhKcXpXSUpoQVIrejl6dVBZb2RRNk9aa2E4d0srRzBTbWFjQ1M0azA0cHlySzVpYlR1TGRlRktEU3ZxS3dpZjhveW5aeEZFQ2RuTncraXRzdmpIVm5YMW4xT3B0TVI4UmJ4QWJteVVhMStQKzdTdVJ5THhJWkRBZmRFTDZWS042dmRJYlhGZ2VaV1grT3RkbjFTNElqMmJDSnpRbFc1dW9wMWpFZnlWZ0Y3bnNQY0NuamUxcURBZkRyRFJlSlpsNUVaMkw3VHBGY3ZKSjdHbnVKSnhLd0VVc3ppYXBoRTZvQVNWOVRUSEYvbWtVVTJ5T2hsZkIxTHNxNTdpd2xHVHh3TzJ1ZmJxekQ4NEE4Q0hqVTdQQTJZRFQwbzNNL1BzUkkrbWZCWnllZnRaTXZUNEFmSWJjVEpwS0I1bUZubGFGaldLS2ZhU2U0bkNvTnhPRjlCYXowdmtVQjZmVHdLNUFVOVRmM0FNY040aU5IU0NXZXNlMVhScHo4bldKV0dxQjZQRHJ4bmJwdkZZYVFDVmdnT0xhTmVTek4zbnNFK2xMaWluMlQ3MllZbWUvUnYzMkQzdCszTTBoRk9aKzhaZHpEUzR3TWVVTUVGUDUySnpxV1NjbXBnNENheDc3eEIvTmZPYzd5V2R2QTNaN2ZFN25MRHdVVSt3ajlSU0hpekp2ZjlsQmNYV1VnOVB1V1NqVUlPNmNSdE96V2NBcEVwbWZZTThwclRLeU9XYWUvWmlSOUR3cXo4TElmRkoxSllzSDdxS1N4emV2OUNqU1p4UlQ3SjlHQzNTWWQzU3FUUHJEQUhBSnVabXZBenRjKzVRSGdoUWRQa2dzOVViUXllZ1MxYjFSMGZnUlltTXZCcGVjdmxlckhqSEhydXdBa3VTeU43ajJxejBRUG9vcDlwSENKL3lqOEFseHMvTkFQbnNIeGJWckEwNUxQMm1tdDNpWjlIY1VRdEU4Y3hXN09lQXQxM2JwckZZSGFGOUlmdVlXaXF0WHU3WXJyNGRQcmZDSldpRVRDcC9ZQmowYURBOWwzUDdqRkY0ajVMTjNHZHZOdVhQVnFQQ1BNelBJQUhDY1JPYnZnQ0k2QjQyWUszS3VNVDcxQkpYWk8xU3VoWWM1Qi80ZytaazdnZlBaUE91TjhydjBMWVZQK0tkUitJUjVqQ3FTL3VDYzU0dVpmZmlyUU1UWVp6N3FsUGJ6K2w2cnI4bkk0QnlKekpJdnFla05KU0pEN3hBYjAxTFovbXUyN2lnQk80SHJPVFI3UzNtYm5sQ0dXNk9GaDZENmhrYmhFOXVnbnVKd1VRT29YNjNNMzBsaE9XNXNVVjd3bjlsalpnR0h5d3RRZ0Qzb1R1ZWt2ZzJTbVplb2hFNUk1MjJsMFhNeEt3c1RGSmFHR2g4cUlhYkdiZ2NvcHRnL2pXS0t6V09VMmZ1RGViNnZJcDlOdTdaTFo5VXIrNXhaS0g1TVpFaXJzalhuS0luSm53QW5nMDVJSDJ0VWRsakFwUnljdnAzSy9PaDZRaGx1clV6SlZuTHQwOVBHRnFtbldDUWNMbUQyNGE4REY2UEhYMEhaUENWVlpQQXBrcGxYVUZuWlNBazRRbUx5dVFiSEtTOTNScjF5d3J6NUxnRlhrc3YraWkrcEV1a3lpaW4yajZaa2sxcnN2RkJZdXBtVmhkdGQrM1NuN3orekVmRU9pY2tmWTRkUHFLeXNiWjFFNWtYZ3RmTDdXdCtWOG5MNzFLdEQzTnVkZndkWVdVaFNXSXE1OXVubU83eGFtWkpOTWNYYnBONFBrV0E1QmRnQWNCVUhwNy9BNWptTHhUL3VDbVdEeE9RdmlBeDlFRlNDUXN6OHJrNlJuRHdJblBEWUorRnhLWXV6WThCRjVmZm1ZM2VSdnFlWVl2ODBFMU5jNjFqcFhlYTUzc25jL2pUVnk2NTZIU2Z0MDJqT1lvQVhtTmluR1JVMk14dFVINUhJUEZudllPazRyekxDM0RZQURETTNmV3VOWTkzeHFCSU9paW4ya2NJbi9LTXAyY1JMOWJRNnhkVmJ5YzhrQWt1TlFIWDR4QUR3SWVOVFB5OXYwN1hwWlNUOUJwSEJ4Zkk3MVNuQmFKUTNkMUpZVHJBeW44VDdFYnZPV3pncGZNSkhDcDhRQ1paNWgxL0NubFQvNzNzY3A4YVlmemJIV2NiR0hpTWFmeGRWTUc0bDRBekp5VWVBbzhZMjZieG12bWN6THcrU3o5NURaVDUwc3hOR1BZb2lLSHpDVHdxZmtIb3FEYkJjOW9zVTE2NTI3UlAvbE5qY1VIaVZaT1lKWTcvWUxPQTlFcG5IZ2ZXZ0U5T0htc21MemhPUE9JY09tQXQyZVBVcVN2Z29mTUpINmlrV0NRKzdNQ3V1WGtzK2U0ZXhYY3V2K3MvOHpnZUFOZlorNThmQU1WVEptRGFJcFY0a09ud282SVRJSm1iRDl6eUthemVSeis0cDcxTWVGdkdnbUdML05ETWxXNjFqcFgrVWdDRnlNMStqZXRsblo1LzR3OTJMQnRIaHA0bWxsdEVUTnZOdlAwdHk4bW5nM2FBU0kzV25Zbk8yZjRwOGRnS0lsdCs3RjRwU095Qzg2dlgybWpjK0pieDcvM1Z1VzZDZTRuRHA1NHBXekVkZitldzlybVdmVmJCMVZxT0JMQmJ3QmhOVEI0MzMvY3I4Mndza01rOWp6K01zNGVNMGlpNGpOM01qcXZORjZ1cjNIbzhndVdlYU1PL28rcm5DN1ZmdTYvQnE4dG03NnV5WDlxbjEzWm85TkJad2trVG1aOEJ4ai8zOXFFUTAvaWF4c1Z6UUNlbER6ZFFSempGMlBIRSsrN255ZTYrWWVRbXZlcjI5WmcreGhkbXhVcjFmbXFTN3h2QlF4aFhUZWN4TmY1M05JUlNnbTZaT2FUejROVHI4T0NQcHBVM2IrOU1aa3BrODhDSDkvVDJFV1FtNGtQek01NEhMeTl2TWM2WEg2eUlHeFJRSHg2dFhXUE1VOTYvTitXQmxQa1ZoK1RxUFk1VS9nakVBdk1QRTFOK1YzL2ZqZVRCN0dFOHpzdmNSN0Zrbk5CalVYODNtUFF1NGd2ek1yMUc5VXFZYXc5MURNY1UrVWs5eGVHaHFISEgzNE1RNThQQ1hYZHRVeVBuUHZEYlhTV1FleFY3T3VOL0tUL014TFVTR2xraE16cGYzMVpvU1NqcWptZSs0aEoxSFAwY3VtK3h3ZXFSem1pbnpGWDdaSm9vcERvNVhUTEVJVlBMQ1RuTFpMd05ENWZlS0Erdzhyd0YzMWRzaWcza1NtUmRyN3U4UEd5UXo4OEE3NWZlYVBjZGZqYjVqcHd6WnhlS0JXeWl1WHVyNnJNNVJiM0NmeThibGw5U2w4SW5ndU8vcVZLbUl5YzRYaGFVSkZnL2NHbkJhcE5waEpxWitSdlVqeTM1Zy9wM0hTVXcraFQxdnM0U1BVNGRjU1g3bU5pcWhFNnBidW8vQ0ozelViNC8vd2s0RmxwaEt3T1VjblA0MWRLMEd6YWx3Qm9BTkVwTi9TMlNvM3dhWW1lWFR1NHlrbnc0c0pkS0lCZXdFcmllWHZkRzF2Wi95ckVoTEZENFJuSHFENmxSb2lXT0FYUFlyVkVhT2cyTEhnbUtHT3VYSzRRUDlkQTRxZjJzaXMwQms4TlVBMHlLYnVSdThGN0N5Y0JPRnBUMnU0MVRuZDVkR1U3S1p4MmhLdG0xUzc1TkllTmtGWFhIMXV2SWpVR2ViWmlucHJGcXJnMEdsdC9nNGljbWZZYys4MEU4TFY1U0FJc25KcDRCaTBJbVJLdTVINkJFT1RpZUJDMUZaSWRJVXhSUUh4eXVtV0kwZGNaaDVZSkM1NlY4SGRyRTViK2o2OVlmWkUyTkxUQjRnR244WEo2U2lQMnhncjJMM1pOQUprWnFjV1NkaUhKb2RMMi9idkd5NWRJdEdNY1htTVlvcDNpYjFGUHRMaFpJMHl5emNMUExadXltdWpRYVpvRDVUYXhTM2VUUDdLc21Ncyt4ekw1ZWwxZDlGTEhXSXlPQ2JBYVZGbWhPaHNEek95cnc3ZEVKRTZsQk1zYithWGFoRGQzWUMxWGY1dytTemQxQ2ROeFJiN0M5elNqd0xXR1Y4NmhmQW1VQlQxWGxtL2pyRnhOUmpRQ0dveEVoVExpV2ZUUU1YdTdackN0RHVvNWhpSC9WeTc0WklyN0NBaTVtYjNndGNaR3hYZ2VlLzZrWkZiT3hKb3ZHM1hmdDZWUW40cUJ3NnNSNTBZdnBVdmNhczJYaTZpcm5wQk5XUDE5M0hpSWlMWW9yOTFXalZPc1VVU3kwV2k3TjNVbGlPZWV4VGZ2R1BjOTA2TWNRdk1USDFYUGwxNzUrSGFQeDFvc081b0pQUngrcmxNZWNtZVlEaTJ1ZFptUjkyZlVaMWZYZmFUa3l4dEVqaEUvN3lDcC93MnEvQ1M3eGNSejc3VmRjMjlmejR5N2x1blE2Rlk0enYreUZ3anQ0L0QyZEpacDdGWHNXdTEvL1dzR3FtcHpoS1Buc0xjSWxydityNjd0VEtNcy85dEpoUVJ5aDhRcVE3V01BT1poLytHdFVoRktES3JsTnFmYS9WUFcvUjRhZUlwUTdUMjVXUkhUb3hQdldvOFY3OFY2OHp4WmwxWWcrNW1Wczk5b3RJQXdxZjhKZkNKMlNybkdXZngxaFpNQ3M4NVpYT2FtWWc3RElUVTM5WDQ5aHU1L3hORzBUamk4VEducXQ3dEFUQnZFazduK0xhamVTell6U3ViNlE3TkJvN1VtK1paMm1SZW9yRFE0T21wQkZuMmVlNzJEd0xoY0lvT3NkOWJib1g4ampGK0w1SGdHT3UvYjJnRWtNOW1uNEd6VG9SUm1iWTNVWGxXV291TEc5VFIwdHYwdm5zRU1VVSs2dGRNY1U2Wi8zSGFaaWRUeTc3TmVES2dOUFQ3NnJuTFk0TVBrTWk0eXg3M0NzM0oyWTVzMFppY2c0N2RsckNhUUM0aHNVRDV1cVg2am5zZmw0ZEh1NjJoR0tLMjBROXhlR2kzbUtweDc2SkxTemRRSDRtYVd3MzU4OFYvdzBBNzVDY1BFanZuSVBxeWpVeWRJVEU1Q3ZCSlVkcU1CdTl1NERQazh0ZVUzNnYxUzlGV3FTWVluL1ZpL0ZxWlpsbjNmMzNIeWUvREFDWGtwLzVPckFqd1BSSTlaT2RVeVF5UHdHT1lzL2gyMHZYWjRtUjlLdUFWckVMSDdPWDhGUGtaKzZrdUhwVmVaOW1NK29OWGgwZXRlYWRWdHRnbTlSVEhDNHF2TVE4VUNyOUFBQWdBRWxFUVZUTnE0RGJRUzU3SjhXMXF6ejJpVDgyOTg1SEJwOWhZbCtlM2doTE0yYzBPRU55OGluZ09DcWp3c2pKYTVlUm4vazhsZnluZ1hZaUxlcUZ3cnViMUlzcE51L3dtb2twVmlIWEg3ek84dzZLcXplUXo5N3VjYXp5UlRBczREMFNrNCtVMy9kU2g4Tjc1VlhzUVBWRjJKaURiSy9oME95b3NSMTB2bnBCdlpoaXIwSEFxZ08yUWVFVC9tcFgrRVN6eDBqdkdpUTNrOGFPSXdSVmdrR3pPeGdTazA4U0dYby82TVMwMFFhSnpDRWlnNjgyUGxRQzRIU21SRmhadUlIQzBtNlAvZExkRkQ3aG8xN3F6UkRwTC9uc1BSVFhyaXUvMDBDN3pxdFZNWm12RjBobVh2WXBQWjFpM3B5ZllYVHY0OWl4MG1wZ2hZOXpyb1k0T0gwUDFlTU1kTDVFV3FUd0NYKzFjNWxuRlhoeVBRZjMzK1BhcGhDS3pxclZNQjRvLzd6SCtOU1BnUTJQWTd1Rm1YL2VKcEdaTGI5dVppRVRhWjlXNm9NOTVMSmpybTNkbXYra1dyMHkzYXM4MGpXNURlb3BEZ2R6MEk0eXREVGk1SlZkekUxL2xVb0loZmpEcXlLcXJDWTFzdmRSb3ZFQzNYOHRieEJMTFJJZFhxeXh2OXYvdnJBeUcwSDFIb2RYOXRtaEUxY1krOVFnRnRrQ3hSVDd5M3pFN2JVaW1YbGNNNzlMK3BPVFh3WlltYitkd3ZMbmplMEtvL0NYTzVaN0IzQ0laR1l1b1BTMDAya21wbDRBM3FsempQSmE1elI3TFYvTTR1ek5iRjdGVG5wSHZSc2o5M3VkLzIxUVQzRjNVK2J2Ynhad0JRY2UvbUw1dmZLRC85d0RaRXZBVWNhbmZvNjkrdHRHVUFscmcrT01wQTlTKzI5UWZndWVCVnpMM1BRdHJtM3E3QkxaQXNVVSs4c3NyTnlEZExZeXA2UUtQcm1RWFBaZTRITFhkbFdNL2pJWFVkZ2dOdll6WXFsRnV2Y2NsSWpHbDRpTlBSdDBRdnBZbzJ1NEJPeWtzSnhrWmY0bWozM1NPeFJUN0JQMUZJZExNNC9MVk5oSnRjTFNHQ3NMaWFDVDBXZThsdFkyM3g5aVl1cHB1ck9DS2dGblNXYnl3SHRCSjZZUHVaODhlSEh5MWZua3MrUEFwYTdQaWNnV0tLYllYL1ZpaXMzWDlRcTFWbU9QcFRlWjUvNXlEano4SldCbmpmM1NPVjdsNXdEMnNzK1BBQ2Q4VGs4N2xJQVRKQ1ovRHB3Sk9qRjlxSms2dVlTZHo2N2kwSUc3amMrcHA3QTNLYWJZSndxZjhGK3Q4QW56ZGFOSFp1N2ZKZjF0Z0Z3MmpkMWJaRklGNlEvdkhycm84QlBFVXN2R3ZtNHBheTBpUTh1TTdIMCs2SVQwcVdienlYa1UxMjRqbjczTzJOYkt5cWpTUFZvSm41QnRVUGlFLzVScHBSMnFDOG5pNnVmSno5eGM5eGpwaEhvOU9FdWt2L09FYTF0WW1YL0hLWktaSjRFak5ZNE44OS9SelZxWmx4amdZdkxaTzRCTE9wUWVrYjZqOEluZ2VJVk1OQk1UcHZBSmNiT0FRZWFtNzZWeW82dnIybi91YTNxRFJPWkh3R25DZno3TTlIMU1ZbktXMnFFZktuYzZwNVdGbXk0bE56TkdkZGhVczc5RHVrc3I0Uk95RGVvcDdqNnFrTVROSHFXZXowNVFYSXVYdDNrTkJKUE9NRU9pcXIvdnlHQ09ST1pWWTMvWWxZQzNTRXpPTnpoT2xXOTd1VHM3bW1rRXhjbG5SNXY0aklnMFNUSEZ3YWtWVXd5cWNHUnJQa2MrZTd2SGR1V25ZRmpBV3lRbmZ3cXNCNTJZSnAwbGtUa0VMTmM1UmdPNk9xdVo3elZDZnVaVzRFclhkc1VUOXliRkZQdEVQY1VpdmVOUzVxYS9BcHpuc1UrVnBML3NGUWZoREluTVQ0Z01mVXo0ejBFSk9FbHk4bm5zV1NlODBodjJ2NkZiTlRNTm0zbmM1ZVJuN3NCZVFWRkUya1F4eGNIeCt0NDF6NlJzaDhYaWJKckM4bkRWTmdsV1pQQUZrcGxHNFFoQmNzcWJkYUJBSW5QQXRkM1J5dGdIYVYwejM2ZXpvTWQxNUxKM2VHelg5ZDZiNm9YVDFKcmVWYlpBUGNYaG9aZ3cyU3J6a2VrZTh0bTl4dnRhYzJOTCs5UzdkbmRnRDF6N09mWnl5V0ZjOXJtU0wwYlNMeElaZkhQVGR1V2RzTEJYc1ZzOGNBZkYxY3VOYmVhL0lySkZpaWtPanRmMzN1cVVQQ0pRUGREcmZPYW1meDBZUk5kMlVOeU41QTBTa3o4bE12UVc0VDRucDBsT1BnR3NsdC9YVzRwZS9PZGM1NWVUbjVtZ2VxWVpuWnZlVmkrbXVONzRKR21Sd2llQzArd0NIU0t0c0ZpWlQ3S3ljRlBWTnUvWDBsNzFCcjBzTXJIdkdleWU0N0JlMysrUnlMeEFlTlBYejh5RzcyZkpWYzA2NGV5WDN0Vk0rSVFHdjdhQndpZkNaU3VWa1Nvd2NUZ0Y0aDRPVG4rUnlpQ2NrdXRIT3FOV2hUUUFIR1Y4Nm5GcUQyQUxXb2xZNm5XaXcvbWdFeUtlbk90MkZ5c0xZeFNXcmkyL0QyTmVFdWxhQ3A4SVRyMWVwV2FuWDZsM3JQU3ZYZVZsbjZNZSs1UmYvTEU1empNMmRwQm8vTWltN2VGd2h0SDBrOEI3UVNkRU5qR3YyVTl4Y1BwbTRFTFhNV0hMVDlKZXpZUlBLSXltRGRSVDNQMTBFWWpKTGp3TFM3ZVNueG56M0NlZDVtNFFPOTk3bm1SbUxvRDBORklDQ294UFBZM0trekF5ejhubEhKcTkyYlZQNTZ6L21PT1BWSzYza1dLS3c2WFJLR0tkSzNIenlpc2xJRXArSnNQbVBLTUt0SFBjaldEenU5OEJuR0R2ZC80YU9FdTR6c001b3ZFVlltTUtuUWduSngvdG9yQjhJeXZ6bjYyeFgzcFhNNHQwZU1VVUsyKzBTRDNGSXQzTnE5QWJBSGFReTk0RjdERzJoNmtoMXF0cXplTnJWMWpSNFdlSXBkNGsrTExYVE9NNnljeHplSWRPcUZJTmowdklaNzhLWEdKczB5RGEvcUJ6NnhQRkZJZUhPUkNxbFpoaUVTOGxpcXZYY25ENkN4NzdWTUIybnRub05PY21YbUZpYXRiLzVHeGlqbGovaUpHOWp3TG5QSTVUbWROWnpWeUx6am00bXJtcTYxbURaL3VYVjQrd1YweXg4a2FMZ3U2dEVKSE8rUlM1bVY4Rkx2RFlwNGF4Zjh4d2lsTWtNajhGamdXWUhsT0p5TkJoRXBNdkI1MFE4VlNKR1MydTNjREsvTlUxamhHUk5sQk1jWGlZRmFkaWltVTdLdmtubjcyYjR0cXZHUHZjcTl5SmYrenJOem84eDBqYWlkOE4ranljSTVsNURYaXp4bjZWT1ozVnpQbTNGK1hKWjIrZ09uUkMrcGZYYkZXS0tXNEQ5UlNIaHhvcTBrNU9EOU1lRHU2LzA5aXVQT1lmTTRUQ0hJVDNEaE5UVHhydi9XYm1nU0tKeWNlQjR3R2xSWnB6RmJtWjI2alUyZTRHa002ZFNCc29wamhjR2kzenJITWx6VER6MGZuTVRYOEppS0JlaEtBNURabDFFcGxaS2lFVVFWM1hKZUF3SStsZkJKd08yY3pzL2R0QmNXMkVmUFptMXpFNlgvM0xxK3hXVEhFYktId2lYRFFsbTdUYkFDdnp0MU5Zdmc0Vm1INnIzWk1YR1h5S1JNYUo0L1g3UERocFdTZVJlWW5JNEdIWGRnbWVtU2Qya00vZUFseGxiTlA4dFAxTlU3SjFpTUluZ3FIR2lIU0NWNk4zQUxpR2cvdS9hbXhYaGVvL2R3aEZnWW1wSDFJOU00WGY2VGxGY3ZKSjRKU3h6ZXM0Q1k0RlhNcmlnWHVNYlkwNlQ2Ui9xQ3h2TTRWUGhNZFdsM2tXY2RUcUpkaFJEcUZ3bG4xV1B2SkgvU216RXBPelJJWStJTGpPaVhjWlNUK1A4a09ZRFFBcGN0bWtzVTNMK1lvWlhsTnl2VGNwbjdSSVBjWGhvWUYyMGptRnBRUXJDNTgzdHJoWFh4UC8vYks4YUFiNGMrMmIvOGM1WXFtWGlBNHYrZkQveXRaZFNIN21Ub3FybDlYWXIrdFhwSTBVVXh3ZTVubG9OYVpZaldtcHB3UjhoZ01QMzExam4valBBajRrTWZsZnNCZk44TE1jTGdGbm1aaDZEbmpIeC85WG11ZmtoeUh5TTdkakQ1UjE3MWZkM2IvTVRnMkwycDBjeWlNdFVrOXhlS2luV0RyRm5vVWlsLzFWWUREb3hQUzU2c0V3aWNsSGlNYmY4dW4vTml2SWowbGtudHlVSGdrRDgzekVPVFE3Vm42dE9rSnEwVFhjSm9vcERoK25rdkxLNUpxVlFyYXFSSEUxUVg0bVZYNnZQT012czBGajl1b3NrY3c4N1h0cW92RzNpQTduWE9tUmNJbXdzbkFyaGFWUHU3YnJmSWtYVGNuV0J1b3BEZzlsWHVra0M5aE5mdVkzZ0oxc0h0aXBScksvbk8vOEZPTlRQd0pPNDk5TUZHZEladkxBeCtpOGg1RnpBN1diZzlPM0F6dksyM1d1UkRwTU1jWGhVMjhaWHNVVXkzWU1NTGYvQ3hUWGhsM2JsWC84VndsYmlJMDlSVFQrU3pyNzVNNHBVOWFCVmNhbm5GaG1uZnZ3Y1c2WUxpZVh2YTNHUGhHSGxubHVJNFZQaElzNXZZckNKNlFUcmllZnZkVzFUZmtuR003MXZNVEUxQk4wTHI3WExGTTJpQXk5UW14c3ZnUC9qN1NIZmI1V0ZzWW9MRjNqMnE2NFl2SGlIbkRuVUY1cGtjSW53cU5lWTFpa1hRYkp6WHdKT00vWXB1blovT091cEN6Z0hPUDduZ1NPMXppbW5jNldReWMrcUhPTThrSHdMbUZ4ZGdLNElPaUVpUFFUaFUrRWgzdEtOb1ZQeUZZMHpndjU3SmNwTE1jOVBxZDg1Si9xYXprNi9EaXgxQ0hQZmUzN3YwckFNUktUendNbjZ4eXZmQkM4cTVtYnZxSEdQdFhaWWpKRExoVStzVTNxS1JicEx5WGdHdkxaZE5BSjZYUHVaWitQTURIMVNQbDlwd2JjV1VTR1BpSXhtZnZrdllUUkRnckxDVmJtYjNKdDEva1NrL2xrV1htalRSUlRIQTd1WGpyRkZNdFcxY3NMVGsvQ0JjeE4veHJWQ3dJb0Qvbkg2enJlWUh6Zlh3UEhhRzluaGZsL3JUT1N6Z092MWttSGRFNnoxOWpGNUxOM0E1ZFJQWTJmenBlNHVkc05paW5lSnZVVWg0c3lzSFJTWlRER3l2eFlqV1dmSlNpUndWZEpaSjQzdHJUam5KaWhFNmRJVHM0Qko5cndlNlYxamM2bmM2NHU1OUNCaVU0blJucUNPalBhVERIRjRlQStCNG9wbGs2eWdLczVPSjFHMTMvUXpPLy9BNUtUUDhLZU5tMkQxczVOb3pLZ1JHVVZPd21uRXJDVDR0cG55V2ZqNVczdXgrTzZYc1ZOVTdLMWtYcUtSZnFMYzhOMVBybnMxNEZvd09ucFYrWmo4VW9QZmlMekUyQ1oxa1BiR29YTmJKREl2RTVrOEkydEpGWTZ6amwvRjVEUGZnRmRsOUlhTlg3YlJESEZ3YW8xNzZSaWlxV1Q3UGxxQzB0akxCNjR1Y1orNlR4M3d4Z2lnNjh3c2UrWjh2WjJuUWQ3NWJ6UnZZOEFIN1hwZDBwN09YbmhNbkl6WDZTNncwcnh4TklNeFJTM2djSW5nbVZoOWhKVlUvaUVkTklBTU1qQjZkL0FYa2JXUFNXZytNZTUvZ2VBMHlRbUg4RmViVzY3elBQNEFZbk00L2kzbExRMHh4MFdjUjJMczZQbDErYnNKS3FucFJHRlQ3U0J3aWZDb2VUNkY1U1pwZk1HeUdVbmdDdFFRemhJMVpWWll2SUpJa052dCtIM09yOXpnMWpxZGFMRHVicEhTeENjYzIvL201LzVGWXFybDVmM2VYV1dpTGlwcmRCR0NwOElWcXVQeFJRK0lkdGw1cFVCaXFzM2NIRDZEdGQrOVV6NXArVHgraldTbVVjODltL1ZHWktUTDZEUWliQ0xrcCs1QzloVmZ1L3VMTkUxS2JWb21lYzJVVTl4ZUNodVRJTHdLWEl6ZTZrcysrejExRUk2ejJ6NG5HVjg2dWZBR2JiZkVDb0JKOHFoRXhKT3pybS9qbHoyYm1PN0dzRWlQbE5NY2JEY1BYS056a1dyQS9CRUdzdG45MUpjKzZ5eFJmbkpYNXUvNzVHOTgwVGpiN2JsZDBmamJ4RWJhL2ZnUFdtdkhTd2V1STNpNmpXdTdUcGZVbzg1SFp0aWl0dEFQY1hoc3BYR2lESzliTmNJK2V4dFFTZENxcnhPTXZOMCtmVldCOGZaVTdFbE00OEJIeGpiSkh3dUpEOXpOL2FnVjlCNWt1WXAzSzJORkZNY0xIZklSRE1UOEh2RkRPbUNrTzI0bU5tSGY0TktMQ09vb1BXYk8yNjB5UGpVRDREalcvdzl6dTg2U21MeUY5Z0xna2o0T09kN2xGeDJyUHphSEh5bitsbnEwVExQYmFhZTR2Qm9Kdk9xa1NMdFp1ZXBsZm5iS0N5N1F5aFVvUHF2Y3BNYkczdUtXT29WV2l1bnE4dUl5TkJiak96OVpkdFNKKzFXQW5heHNuQUxoYVdyeXR2MENGd2tJSW9wRGw2cjM3OVhnYW5HaTJ5Rm1XLzJjSEQvMTFCNUVEUnozdG9DRTFNLzN1THZzYzl0TXZNS3NOaUdkRW5uWEVBK084Ym1WZXgwTFVvajdyVU9sR2UyU2VFVHdXc2xmS0xXNTNVaFNDdmNqK3BMd0huTVRmOHFjSmx4bktabjgxLzF1VWxrZmdxODY5clhyTk1rSmg4RGl1MUptclNaYzExRnljM2N5dWFRQ2RYTjBvaDdWVnpsbVcxUytJUkkvL0ZxNUc1UVdFcXlzbkNqc1UwRmJkQ2l3M2xpcWVmSzcxcTVPU2tCNzVLWWZMSURxWkw2bWpsUGxTZDhoZVViV0puL3ZPdXp1dWFrV2VxMGFDT0ZUd1J2dXdNcUZENGgyK1gwQm4rYWc5TnBxbStXbGJmODRTNkhuZTk5amZSM25xVDFnWElsRXBuWGdGZTNuVExaaW1icjFZdkpaNzhDWE9MeGVkWE4wb2g3bVhEbG1XMVNUN0dJZ0YyWTdtUnUvMWVBd2FBVEkwYWpLSkY1R2xncmI2OTNrK0xzMndCS0pDY2ZBMDUxS29IaXFkVkd5V1hNVFgraHp1OVFJMGNhVVI1cEk4VVVCMis3TWNHS0taWjIyYUM0ZWpQNUdhOUtXbm1zczd5bVo3Uy85OGpnQ3lReU9XTjdMZVk1ZXBkRTV0RTJwMUZhVSsrYXNjOWpjUzNKeXZ5dnVMYXJUcGF0VXQ3Wkp2VVVoNHN5dFBqTmpCc2V3RjVFNEd1b2JBaUsxenlqSDVPYy9GRkx2eVdXZW9uSTRHdHRTNVUwcTVXcE5YZVJ6OTRPREhVd1BkSWYxR25SSm9vcERwNDVzR0lyNTBJeHhiSWRaaXphQURCQUxudUh4N0xQeW1QKzhKNmpOcEg1R1pHaEl6UjNzM0thaWFrbnFLeGlKOEZvZE0xY1NXNG1nY0lsWkh1VWY5cEl2VUVpWWlwUlhQMnNsbjBPbWNqZzZ5UXpjM1dPTUc5Y2pwTElQTzVEcXNSYmN6ZVF4YlVSOHRsVWg5TWlJaTFRVEhId3RqdkhvR0tLcFoxS3dDQzVtVjhITG5EdFUyeHg1OVdhdDN5TnhPUVBnWk40bHhPVjh4Skx2VTUwK1BuT0pFKzJ3WHdxZUQ2THM3Y0QxN0Q5dWVwRkhNby8yNlNlNG5EWmF2aUVTRHM0Y2NYcjVMTjNVbGkrMW1PL0NsMS9WVzU2RTVPUEVobGFwdnFhZDUrUERVYlRjOEJSZjVJbk5YaGRKK2EyUWZJelg2VDZSbFBYbG15RjJnQnRwSmppNEprRjRsWUxSUldtMGc1T1h0d0JYRVUrKzZ0QkprYUF5amtaQU40bW1YbXF4bjZ3cDJJN3dmalV6M3hKbVd6VkR1QmFjdGtiWGR0VkY4dFdOYnZNczlvS0RTaDhJbmptc3E3YldjQkRwSjNPTHkvN2ZISFFDWkZQbkdYdmR4NEJ6cFhmMi9NUjIreGUvbWo4TUxHeFh3YVNPbW5FbUhWaTVpNktxM3NhSENmU3FrWnRDT1d0QmhRK0lTSU9zMEFkWUdVK1JXSDU4NjVqRkZjY0RQdmN4TVllSXhwL0didEJETzZSNTZQcEY0RDNmRTZiTk1lNXZvYkl6K3dGemplMnEzTkt0a3JsY1JzcGZDSjQyNTJTemZtc1NEdVlxNkxGT1BEd2x6ejJLNzhGWjRWa3hwbXoyRHdQRm5DV3hPVGp3QW4va3lWTmNNcjNPSWRteDhxdks0dTBWQjhqc2hXTm5qaXI3RzVBUGNVaTRqQXI1QUZnQjduc2w0SExBa3BQUDZzMXc4UUdlNy96SkxDS0hadGFFUmw2ajhUa0FSL1NKcTJyaENxdUxGeEhZZW5UNWUyYVoxNjJRMC91Mmt3eHhjRnJ4M1E4dWlpa0V6WW9MTjNHNGdITldleXYrbE0wUm9lZkpaWjZlZFAyWk9ZRjRGRG5raVhiNEp6TGl6ZzRmUWVWNlE2M014Mm5TSzNsNFd0Ulc2RUI5UlNIa3pLdUJNWGQ4L0FwRGs1LzJlTVk4WjlUNGIzTnhOUlB5dTgzc0FmZW5XTms3OCtweEJwTDhMeW16cnVLWFBhTE5ZNFJhWlZUWG11dTZ6WlJUSEh3dkdLS1c4M1V1Z2lrM1p6OE9FQXVtd2F1Y08yVFlOamZmU0x6TjhENzJJM2dNOEJiSkRJL0RUQmRVcC9kZUNrczMwUmhhZFJ6bjhqV2VEV01hMUhaM1lCNmlydWJCbWRJcDFRcTZ1THFLUG1aTzROTlR0L3lqaTJPRHIvT1NIb1cyQWtNa01qTUVobGM5amRwMG9DNzkyNFgrZXlkd0VYR05nMWNsYTFRbmQ4aGlpa09udGM4eGMxa2VGMFU0b2NTTU1UYzlHOEFFWS85eW9mK3M0RGpURXo5QlhBY09FVnk4aEhzSmFCMVBzSXJ4dHkwR1o5ZmIyVkNrWHJxTC9WZW04cUhCaFErRWJ5dGhFOW9XVkR4MHdiNTdCY29ybzE0N0ZNZTdDeXY4dGtKb1hnT1dBRGVZQ1Q5WE5VK0NSTTdES213ZkFzcjg3VldzVk05TE51bDhJazJVUGlFaU5SaXpxRjZEZm5zWFFHbnB4KzVLN0hLRTZYSTRMc2tNajhnbHZveDBlSER2cWRNbWxVQ3ppT2ZIUU91OU5nbnNoMktTVzhqaFU4RWJ5dmhFNjJFV1loc2xkbUxGV0gyNGE5Um1VcEsvRlByZWo5TmN2SUhURXp0QjA3NW15UXBhN1pCTXNpaEExK2dVdWM2UHlyRFpidTg4bEt0ZHAzeVd3UHFLUmFSV3FvSENxM00zMDVoK1FiWE1lcWw4SWZYZ0t3UzQxUHZNNUpld252WlorbWNWcjVuaStMYUtQbHN3dU96YWhqTGRxa01iaVBGRkFmUEhSL2N6TlFxaWlrV3YxbkFwOGxuditiYXB0SHovbkxQYUxCT2JPeHMrYjFXUi9OZnZmenZsTk1SOHRrdkFaZlcyQyt5WGU1cnYxYmVVdm5RZ0hxS1JhUVd5L1Y2SjdNUDN3VkV5OXRVd0FiTGJKRHBYUGpEN0pWcnRvZHVpTnpNblZRdnk2MEdzWFNTeW9NdFVreHg4THppQlJWVExHRlVvckEweHNwQ011aUVpQ2VWNVoxbjNvVFVLb2ZkNzBkWm5FMFk3L1YwUlNTazFGTWNIaW9rcFJ2RU9EajlGYnh2NG5TVEp2M0NER0hiSE90ZGVadzlRSDdtRm9xcjdsa25STnFoMmRYczFMNW9rbUtLZytmVnk2Q1lZZ21yQVhMWlh3Y3VNN2JwRWI3MGkxYnJ5OTNrWjI0QmRuVWlNZEszM0owU3pUeDlVUG5jQklWUEJLOVdMME16bjlFTmpmaWxrazhMU3lOYTlsbjZWS3RMTThmSlpjZGQyelJiZ0d5WGU4Q3RRbkxhUk9FVDRhSk1MV0hqTmFMNVF2SXo5d0k3QTBpUFNEZXdReWNXRHlRcHJzYlpISXVzamcxcHB3M1VmbWdMaFU4RXo3M004MWJDSjNReFNLZTQ0NFh0eWo2WEhhZTRGdmM0VHZSZGlPMGk4ak43Z2ZOUTNMMjBsenMvcmFNNXI5dENQY1hob2tjZ0VtYVZRcmU0T2tvK2U3dHJYNit4dHZqVDZMUFMrK3g1dlhQWm00Sk9pUFFzaTBvYnpta1V5ellwcGpoNFh0OS9xekhGcW1qRmI1ZVFtMG5UL2dGRVc4M0w3Z2FuKzNXdDkvWDJkWW9heDcycmtxOVdGbTZqc1BUWjhuczkxWk4yTXRzQTlkcHh5bTh0VWs5eGQxS0ZLa0Z4R25UcjVMUDN1RUlvR24ybTFuYnp4eDNEM095UDg1VEZmRjl2bnpsdGxsY2EvYmpHdkhxWEd4Mm5IdWR3Yy9MVGhlU3pYd1FHeSs4YnpXVXMwZ3F6ek5oVi92RWF0SS9IZHFsako4M0ZzRXBudVFkZnRCb2JwRmdpOFpPVFY2L200UDQwZTcrelNPMUZhTndOdm1ieWFkank4bGJUVTJ2cGRxL3kxdDFJOS9vOVdzRXUvSnh6ZUNXNW1kdnE3QmRwbHdFcWNlc2JBYWVsNjZtbk9Cd3NBQ3NhTnpPMENrNEpHL2VnMEF1WW03NGJpTlE0ZGdCN2Fkc2QyRGZnT3ozZXQrT25tZCszeS9WNmw4ZitSc2Q0L2M1ZE5ZNTMvODNPdndQR3YrYlBEdU03Y3daQVc4WTI1M3RYdVJCZWxRWnZZWG1ZbGZuUEdmdDAzcVFUTm9BelZqUitBb1ZUdHNWT2RMR0dSelJlNjFGdUk3b0l4RStWaHRySy9LMFVsbThuT3Z3c2xiTEViUGc1alQwemJLRVdzN2ZVbmFkclBScDB2N2M4M3RkN2t0TEpKekplMDNEVitnNXFUZEhsL0ovcndGbnNTbEM5UWY1ejU2dDZ6aU9mdll0SzZJUkRkYTEwd2dtaThZL1JVNlMyVVBoRU9OU3IwSnY5dkJyRzRpY256OTNBZ1ljZjVCLzgwVjhEQmFwN1BzMWV6M3EveDZ1Qlc2c0JXV0pyYzNLYTEwaXQ2NlZSK0lMWDczRi96cXZ4NUtUWmZPOXMyNkQ2N3pSN2hwM2ZOUUFjQTE0RkRnT25hdncvMGxtTnZtdG4vNmVabS81MTF6N0w0emlSclRMSFNKd0RqbFBkK1NCYnBNbjNSYVJWWnNHN2c5bUgwc3crbE1RdW1NRXVwTjNjRFQyelVWZXJ3V28yZnQzSDQ3RjlLemVSelZRZzdhaGtuRWF4K2QxNU5mN3RlYUJ0emszRk92QWUwZmhmOHIwMy9nUTQzYVkwU1dzYU5UanMvY1cxQkN2ek41YTNlZVZMZFdCSXV6UXpYa0Zhb1BDSmNQQ0tCVkw0aEhTTEVoQXQvMENsTVd2aDNiQjF2dzY3ZXIzQVcxR3ZwOW5kNEM5aE40SXZKcG5aalIxQ1VXc0FuM1JHS3pkYk84aG54NEZMak0rMit1UlBwQkV6MUV4bFFCdXBwemdjek40aVRiY2szYUJXN0t1N1o4d3JQM3ZsN3pBWDdQWFNYK3Z2YnFZaFZDdUV3LzA3Qm9BVEpDYWZCWTZpeWpDTW5ITnlCYm1aTVZTR1MrYzVaY0E1cWxlMFU3bXdEWW9wRGkvRkNVdTNNQnRwUVkrQWJpYk8xeXZrd3MvZTEzcXh5MTY5eGp1SkRMM0J5TjZuZlVpYmVHdFVIdHY3aTJzM2tjOG1YUHRVeDBxN3VXK2VsYi9hUkQzRjRlRWVqQ1BTVGJZUzI5dkpkTGhmTjNyZnFkQ09SakhSWHVseC8zdVdaR1llK0pETmpYanB2R1pIOWU5a2NmWkc0T29PcDBmRVlRN2FWWm5RQm9vcERnZW5KOEZjdjF5OXhOS05sRytyMVdxSWU1VzdYamNXNjhCSkVwTlAxZmlNZEY2elBiMFhrWi81QXQ2cmk0bDB5bG5zY1FkNkl0RUc2aWtPQi90Tzc4SWhjeEJOMEQxdUl0STVqV0tOblhKZ0EvaUl4T1F2TzU4a3FhR1pob1lGWEVNdWU3dngzdnlzeW5McGxIVXVIRHBsdkZmamVCc2F6U0VxL3RrZ2xqcERkVyt4TXJaSS82bStJVTVrY3NDN2dhV21melZUTnpySG5FOSs1aXNVVnoremhkOGhzaDNyeEZMbU5KaHFOMnlEbG5rT0J5ZDA0aFQyU0ZMMUxvajBML082TDVLY2ZCUjc4UTd4Vnl1TmkwK1JuN2tIT00vamQ2Z2NsMDR5RndHU2JScEFYMlJZYkFCRjdQZ2dyVXdqSWdBckpESnpRU2RDYW5MSzZHRU96U1pjMjlVZ2xrNHhwM0YxcG1SektNOXRnOElud3FPRVBRZXBzNFNyUWloRStsdUprZlFyUkFaZkNUb2g0c242NUdkbElVVmh5WmwxUWsvNnBOUE1tUFhUd0prQTA5SlRGRDRSSGlWZ2xVcWpXRDNGSXYzdEZNbkpGNEFUcUlFVlZpWGdFZzVPcDZpRVRxajhGcjlzWUxjWlRsRi9SaHRwa3NJbmd1UHVDZDRBVm9rT0h6VzJLME9MOUtjU1VDQ1IrYm54WHNMcEtuTFpPNHozV2t4Qi9HRG5zK2p3R2V6ZVlqZmRtRzJCZW9yRHd3S09FbzBYZzA2SWlBVEtucUl4bG5xVjZQRExRU2RHYXJJYkhJWGw2eWdzamFJR2lQaW4wbUVXalovQ2JoVHJacXdORkZNY0hoYjJDUE9pYTV2T2owaC9zWUIxUnRPUEFXdkdOZ21mQzhobjA4QWxWSHJtZEs2azA1d0c4RHBRd0x1bkdKUVhXNmFlNG1BNUJhaFRtSjVoVDBvOXhTTHlFZU5UenhydjFRTVVUcGN6TjMycjhWNk5FUEhUT250UzcrQTkwRTQ5eDF1Z21PSndxTVFWUjRhT2YvSjY4MzRSNlUzbU5iNUJOUDRHc2JIWEFrdE5mMnUyWVd0UldCNWpaZjVYWE50VlhvdGZ6aEVaZWhzTnNtc2I5UlNIaXpNRHhZWnJ1ekszU1AvWUlKbkpBeXRCSjZUUHRCcXVkaUg1N0Y3QVdjWE9QVGV4eW0xcE4zZmpkeDI3emVDbXZMZEZpaWtPR1dza3ZZSTl2WXB1V0VUNlR3azR4c2plWjZrZVh5RGhjd1dIRHR4QnBhdzJHOVdxVjZXVExHQW5zRzZOcEkrNjltbU5nMjFRK0VTNGxJQ1BzSVBtVmFpSzlJZnFNamd5OUI2SnlXZHJIQ3VkMWFnK3JEUjZpMnZYa005ZTcvcXM2bFB4aXpQUXp2MWsyZGtuVzZEZXlIQ3hlNG0wT28xSVB6RUgyNTRsbVprSFhrVTN4bUYySHZsc0VyaTAvRjZORVBHRE9mZndCbllIMm5ydHc2VlZDcDhJbHcxRzB4OWpQelpWSVN2U0g4eEs3aGdqZTMrTUhVSWwvbXUyUG95U203a1gyR0Y4VGxOb1NxZTUyd1ZGUnRQcVJHdWpuVUVuUUQ3aFBIcHpHc1VpMGgvTWh0UWlpY3d6NWRlNk1mWlhLOS8zdFN6T2ZyNWpLUkZwek1KK3FseHliVk81c1EyS0tRNFBKek4vVEdUUWF6U3BpUFMyZFJLWkJTS0Rid2Fka0Q1WHE3ZTNzamhIZnVZV2lxdFhHdnNVVHl4K3FReWtpd3llUXVFVGJhV1k0dkJ3TXZwSllxbVAwR000a1g1emt1UmtIajBwQ2xxanh1MGcrWmxiZ1BNOGpsZkRXUHl5UVN4MUNqZ1hkRUo2aVdLS2crY3VSRThDN3dXUkVCRUoxUHVNcEo4T09oSFMwUFhrc25jYTd6VVZtL2pObVhsaURUaFIzcWE4MXdicUtRNmZzMFRqUjlCY2d5TDlaSU5ZYXBIbzhPdmw5NnJnd3FjRTdHRHhRSUxpNm5WQkowYjZsaE9xczA0MHZvTGRNRGIzeVRZb3BqZ2NuRldRTE9BY3UrUHZHdHQxZmtSNmszbmplNGFKcVFYZ3VHdWZoSU56a3hJaFAvTUY3TkFKOC96cGZJbWZMR0NEM2ZHM0FQZmlIYklOQ3A4SUIvUFJXOG1LRERsTFBXdUtINUhlWlY3YnF5UXlUd0ZuZzBxTTFPVTBlbVBrc2hQbDE1V0JkNVgzSW40NVkwV0cza0V4eFcybDhCZVA3RDhBQUNBQVNVUkJWSWx3cU81eGlLV09VYWtjMVFNaDBudk02M3FEYVB4MW9zTXZCWllhcWNkcDdKN0h5c0xkRkpZKzQ3RlB4RThsNERpeDFEdXViYkpOQ3A4SW96MnA5NEFQeSs5VTZJcjBIdWU2TGdFblNHWU9BRWNDVEk4MGRoSDU3RjNBeGE3dHFrUEZEMmFZWlFrNHlwN1VTbm1mMmdsdG9wN2lNSW9NclJJWlZHWVg2WDBid0FlTVQvMENMZS91dDJiS1Z2T1l5OGpOSktpK29SSHhtd1hzSURKNGtzaFFvYnpOdllDSGJKRmlpc1BCWGNpdUVVdHBXamFSZmhBWmVvdllXRDdvWkVnRGhlWHJXWm0vdnZ4T2pSRHhXM1hzZWl4MUVqaTlhZnZtMTlJQzlSU0hTMlVCanoxcUZJdjBnYk1rTTB0b2J2S2dOTk40S0FIbms4OU9BSjh5UHFlR2gvakp2QkZiWjAvcUtQWWd1MXJUdHlxUGJvRmlpc1BCZlE1T1dkSDRZZXhIcXlMU20reDQ0c1NrWnAwSVZqTU5oeXZKemFSZDJ6UVZtL2pOeVc5bnltMkUwMDBlTDAxU1QzRjRPSm5YQXRhSnBaYXdWN2R6N3hlUjdsWGQyeE1aZXB2RTVCT0JwVWFnZnRscTd5dXVqYkk0ZTVQSFp6UWRtL2pKeVdkbmlLVmV4WHM2TnJVVnRrRXh4ZUZSZlI3MnBBNEJxK1YzWmlaWGhoZnBYdVoxdnM1SStnVmcyV09maE1kTzh0azBNRlIrYjg0Q0lPSW41K2xFa1QycFY2aXNaMURyT0dtUndpZkN3K3g1c0lnTXZVTms4SmhybjRqMGpoTWtKNTlBcTlpRjNlWGtabTR4M3BzRG8zWE94Qy9XSnorUndRK0pEQjEyYlpjMlVQaEVPRm5BS3JIVVdzTWpSYVJidlVVaTgyelFpZWhqdFJxMTFTRVJ4YlhQa2MrT0dKL3hPbGJFUDdIVVljQ2NqazAzWjIyaThJbndNTy8yTm9BVFJPTnZlZXpUK1JMcGZoc2tNcThRR2Z4bCtiMnU2L0F3Ui9PZngrTHNuY0IxNVcwNlR4SzhhUHdRY0xUOFRnM2lObEpQY1hpdHN6dStBS3lqVEMvU2EwNHp1bmVPeW1CYVhlUCthSFhCamtIeU14UEF6ZzZsUjZSVlo5Z2RYOEY3a0Izb3htMWJGRk1jSHVZakVBdkFHa25uZ0NLNmVSSHBKUnRBZ1VSbUx1aUU5TEY2VDk3TU9qRkdMbnVyc2QzOEVmR0xtZCtPV1NQcGVrdkNLMjl1Z3hwYjRWUEowTHZqUjRCanRROFZrUzVSUFJWYkxIV1k2UENod0ZMVDN4cjFwRG43ZDVLZlNWQmN2YUxKejRsMGlsbCtyTEg3azlCS2FUUEZGSWRQcFJjaUduK1B5T0JoMTc1V2ZvK0loTTlaa3BPUEFSOEhuWkErWTlaMXRWWUJNdzJ5ZU9BM2dQTmR2ME9qL1NVNGtjRzNpY1pmRHpvWnZVbzl4ZUhrRkxvZk01TCtwV3U3aUhRZjg5cjlpRVRtY2V6eEFoSmVjWEpaWnlxMmVyTlVpSFJhSmRSMUpQMFM5c3dUNnRUc0FNVVVoNC9aRTFHMFJ0T3ZzTFZ6cEl0RkpIdzJpTVpmSlRhV0R6b2hmY3E5RWwxdEt3dWZwN0FVTTQ0M1k0bFZiNG9mekh4bUFhZXQwZlE4bFdYaGxRL2JURDNGNFdWbjl0RjBqc3A4aEsxL1hrVEM1QXpKekFMd2R0QUo2VlBtd2h1MTlwZUE4ems0blFRaURZNFg2U1IzeU05SlJ0T0hzQWZyYmdTVHBONm03dmR3cWhUQXNWU095T0R5cHUyTjZieUtoTThhaWNrbnNLZFQwalhxdjJabmpyaUdYUFl1NDcxaWlTVm9KU0tEQldLcGxhQVQwc3NVUGhGZXpubDVsNUgwYStYWEtwQkZ1dGM2a2FGbFJ2WWVERG9oZmE3eDdCT0Y1VkVLU3plNnRtc3FOdkZiZFg0YlNTOERId1NUbFA2ZzhJbndNV1BlTEdEZEdrMC9SK1ZSaVFwbGtlNWh4cUN1azh6a2dQZGQrNlN6V3VsTUtBRTd5R2R2QXo1Ri9UQUxrVTV6d25rQUxNc09wMXdOTUQwOVQrRVQ0VlE5R0dRMGZSQTRYclZOUk1LbTNnd0ZKYUJJWXZKUktvTmtwUFBNUlRxYUdTUm5BYnVabTA1N2ZFNGtTR2NZVGMraFdXczZTajNGNFZROTBqbVdXaUl5NkF6TVVRRXQwaDNjSThlWFNVeStHRlJpcEM2bjhieUR3dkx0ck14L3ptT2ZTQkRzL0JjWmZKdFk2dVdBMDlMekZGTWNUdTV6OGk0ajZlZlJIYUpJbU5WcVBKV0FVeVF5endMTE5ZNlJ6cXMzVU00cGN5TXN6dDREWEZsanZ4cklFZ3g3Yk5HYlFTZWoxNm1uT055Y1F2eE1PYTVZQmJKSTl6Q3YxeUxKeVdlQnRhQVNJMDExQUYxS2J1WldZQ2VWcDNVbFZQYUsvOHo4ZXRZYVRiOEVIQXNxTWYxQ01jWGhWUjNMTnByK0pmYXlzRHBmSXQzbmZSSVp6VG9SdkZweDMzYTVXbHdiSlo4ZE03WjcvU3ZpdHpPTXBwOE1PaEg5UUQzRjNTS1dlcFBJNEZ0QkowTkVXclpldm40WFVjTXFyRXJBQmVTenR3TzdnMDZNU0pYSTRJZkVVczhIbll4K29Kamk4RExQeXdCd2hKSDBMejMyaVVoNGJRQW5tSmg2SElWT0JLWFo4akpLYnVhTDIvaThTRHRWYnFCSDBrOEQ3d1NYbFA2aDhJbndjazhsZE14S1pwenBuRlJJaTRSZkNYdmx1cmRKWkg1cWJCUC9ORE1ObTJPWXhkbWJYZHUwaXAwRTdiU1Z6QndBVGdXZGtINmc4SW53TWd0eis3WGRLSDRmblRlUmJtQTNwbUtwRjRnT3Z4RndXcVMyRWpCQWZtYWM0dXJseGpielg1R2dmRUF5TXg5MEl2cUZ3aWZDclhwWjBjalFZUktUejdyMmkwaDRuV0kwbmFmK0tsVHFpUXlPODkxZlJuNW1ISHZXQ1dlN3lsY0pYbUx5VlNKRHYyeDhvTFNEZWh5N2cvTUk3N1ExbW42VXluekZxa3hGd3UxanhxZGVwbjREUzQydjREamYvV2ZKWmE4UE5DVWlIcXpSOU5QWU0wK0pEeFJUM0IzTUVJckhxQ3dBb01wVUpMeEtST09IaVkyOUVIUkNwQ1lMMk1YS3dpMFVWMjlnOHlxRUlrRmFKZm5KZUFUeGdYcUt1ME9sY0k3R1h5TTI5bHlBYVJHUnh1eEJkcVBwQmVDOThqWTFzc0tuQkZ6RXdlbmJnSWpIUHAwekNVNXNiSkZvWFBIRVBsSk1jWGN3QytjVDFzUytKN0JIdFN2dVRTUmN6T3Z4T0luSk9lQ014ejRKajh2SlpXOHZ2M2JLV1EyMGs4QlpFL3QrRGh3Tk9oMzlSRDNGM2NNZUlRMFdkcVA0QTJPN2lJU0QwNmphSURMMExvbEo5ZktFazNPZWRyQ3k4RGtLUzN2Szc5M2xxWHFLSlNoSG1kajN0MEVub3Q4b3ByajdsSWdNdlVoaThvbFAzb3RJbUpTQXN5UXp6d0ZMQWFkRjZydUlmUGJyd0dENXZaWjBsakFva1poOGxNalFRdEFKNlRjS24raE9wNnlKZlgrSi9WaDJSOUNKRVpGTlBtUms3MCtCNDBFblJEdzU5ZDVueU0zYzZiRlA5YUw0emN4elo2MkpmWCtEVnNIMG5jSW51a3Zsb2tsbW5pSTZuQXN3TFNLeVdRbDd5c1MzU0dTZXIzT2NlaUtEVTFtbHJyRDhPVmJtcnpQMmxZeGpSUHhVR1NNVUhYNnJ2RmlYK0V6aEU5M0hPVjlMVE96N2N5cHpGb3RJOEN4Z2cwVG1kU0tEaTNXT1UwOWtzRXJBTHZMWm00RWgxejdWaVJLa0VoUDdIZ1cwQ21ZQTFGUGNmVDZwVEsySmZWbmdMZmQyRWZHZGVmMmRKam41SEhBNnFNUklVL2FRbS9reTFZMWdjMFlmTlk3RmJ4WncxSnJZOXlkQko2UmZLYWE0dTFSUExCK05MNUtZbksyeFgwVDhZMDdsOVJFajZTZURUSXpVWlU5eFdWeTdpY1habTZrdU4xV0dTbERzdkplWWZJcG8vSm1BMDlLMzFGUGN2U3hnM1VvLzhHZG9NSTlJVU55RHN0YUpwVjRuT3Z4bVVBbVNwdXdpbjcwRHVJVE5jeE9MQk9XTWxYNGdpK3Iwd0NpbXVOdU5wcDhnTnZZenFndDJGZTRpL3FnTTJyS2RZV0xxY2VEamdOSWpqVm5BbGVSbTdqQzJtUXNrYVZFa0NZSkZiR3lPMGZSZkJaMlFmcWFlNHU3a0ZOb1djTHg4WjFsRWMyeUtCTzFEUnRKUFk2ODRLZUcwZytKYWtuelduSFhDWFdhcURCVS9sSXdmclBRRGZ3cThIMmlLK3B4aWlydFQ5UktrRS90K1NuVDRvR3VmaVBpclJEVCtHckd4RjROT2lOUVZLY2NTWCtuYXJySlQvRmJweUlvT0gySmluM3FKQTZid2llN2tQbWZ2V1BjKytDYzE5b2xJNTVnTnFRMlNtUVhnbmFBU0kwMjVpUHpNTGNDRnVEc1lSUHpqOUJCYndGbnIzZ2YvRGZCdXNFa1NoVTkwSi9OaXNpVXovNFhJNEFKcUZJdjR5WXpsUDhyNDFLUEFSb0RwRVc5bXVYZzF1ZXd0eG5hbkxGWFpLWDZ6ODF4azhGV1NtYjhJT0MyQ3dpZDZSMlRvYmVzYkQvMUg0Q3dhYkNmaXR4S1JvUlZpWS9OQkowVHF1b0Q4ekIwVVYvZTR0bXR1WXZIYkozbk4rc1pEZjBwazZLMTZCNHMvMUZQYzNjeUN2TVRFdnI4cUwvMXNvUkhVSW43YUlKbDVHWGd2NklSSVhVTXNIdGdMN0FnNklTSUFSSWZ6VE96N2owRW5RMnlLS2U1KzV1Ty9JOWE5RC81N3RKS1dpQi9NbTg1VEpDYi9EczA2RVhaN3lHVnZkbTFUNklUNHhYeUtXd0xXclhzZi9ML1J6WFJvcUtlNE4xUUs5SWw5V2FMRHp4cjcxRnNzMGhtVmVPTEkwR0VTazFxRktyenNjbkJsSVVWaDZUUEdOb1dhaWQvTUdTZWUxNHdUNGFLWTR1N25Qbi92Vy9mdC85ZkFTZFQ3SWRJcDFhdllqYVJmQUY0UEtqRlNsMU1PWHN6QjZWdUFDMXpiUmZ4aTVya1QxbjM3SHdhV2cwcU1iS2FlNHQ1UTNUQWVUZitRa2IzLzJYT2ZpTFJEVmVWR2N2SnB0RFJyMkgyYVhIWTA2RVNJQURDeTkxbEcwejhNT2hsU1RUSEZ2Y2NDamxuZjNQOFE4Q2FWR3g4MWprVTY0ME1TbWNlRFRvUTBVRmkra2NMU3pWU1hoYXIveEM5bXZpdFkzOXovTDRHMW9CSWozdFJUM0R1Y3dYYjJoUmVOdjhTOTMvdDN3SHFRaVJMcFFkVTNtQ1BwMTRnTXZoWlFXcVN4RW5BKytldzRzTnUxWFowRjRvZnErdm5lNy8wSjBmalBBazJSZUZKTWNXK3lzRWUxL2tlaXd6ODN0b2xJKzVTQTB5UW5ud1NLUVNkRzZvb3lOMzEzK2JYS1F2R2JPYmd1YjkzNzRQOE9uQWt5UWVKTjRSTzl5d0krc3U3Yi83OVNXWFoyQTkwRWlXeVhXV2F1a2NnOEZsaEsrbGNyOWRZQWhlVVJWdWJOZU9McUZVRkZPc2Q4SW5HMlBCRCtVSURwa1RvVVB0RmJTcTUvQnhoTi80THhxZjNHTWM0akhEV09SVnBYZmQzRVVxOFNIZGFzRStIa05Ib3ZZSEgyUzhBVkh2dmNyMFhheWJ6NUtqRStOY05vK3Y4TE1rRlNuOEluZXRzR3NHNzk1a1AvaHVqdzQxUnVnalJadmNqV21OZk5hWktUajZPSjk0UFFUTDNsSEhNWnVabDdnRjFvYm1MeGx4azI4WXoxbXcvOUFmQnhrQW1TK3RSVDNBOGlRMGVzKy9iL0M2QVFkRkpFZXNqSEpESnphQlc3TUtyYytCZlg0dVN6TnhqYjNjZUp0SnY3NXV0ajY3NzlmMFJrNkVXVTUwSk5NY1c5eno2L28rbWZjdS8zL2hjcXdmM3FMUkhadWhMUitPdkV4ZzRHblpBKzFHeWRaVCs2em1ldlozUG9oT285NlNTbmJyWERGZS85M2g4em12NUwxejRKSWZVVTl5NHp2dGdDc081OThOOFRHL3N6cWk5S1hhQWlyVHRITXBQSERwMVFBeXU4TGlVMzh5VmdaOUFKa2I1UndteGJ4Y1lldCs1OThJK0FzNjdqVkc2RWtHS0srMGNKT0dGOU8vdUhSQWFmb2pMZ1RoZW1TR3RLd0ZFU2t6OUY1V2NRV29rbmpyTTRlK2NXUGkreUZXYWRhaEVaZk1QNmR2Wi94SHNwWitYREVGSlBjZSt6akg4dG92R1hyZnYyL3lId0laV2JJb1ZTaU5SblhpTWJSSWFXR05sNzBOZ240V09SbnhtanVQb1pZNXQ3aGg2UmRuSFhvd1hydnYzL2dtajh5YUFTSksxVFRISHZjeGYrRnNuTUQ2MXYvS3MveEY1d3dMbXp0VHlPRlJHYkdZZGFJcGw1QXMwNkVYWVhrcCs1RzN2V0NkRHl6dEk1VG9QWXlWZEY2eHYvNnY4Z21mbmpBTk1rVzZEd2lmN2c3aDNaSVAzQXYyVjg2di9Dck9oRnBCbkhTRXdlUkV1b2g5MEl1ZXpOUVNkQytzb0dzTUg0MUYrUWZ1Qmg3RGhpM1lCMUVZVlA5QTkzTDhsSjZ6Y2YrdWZFeG41UTV6Z1IyZXdJSSttWGcwNkUxRFhBeWtLSzR1cTF4alkxVHFRVHpMQ0pIY1RHSHJkKzg2Ri9qajBmc1o3QWRobUZUL1N6eUZEQnVuLzJueEFkZmdUbEE1Rm1sRWhrWGlZeXFGWHN3dTE4RGs3ZkJsenEycTdwMktTZHpLblhCb2dPdjJ6ZFAvdFBpQXk5NXRvdlhVSTl4ZjJuZXFxMnlOQmg2OXZaQjRnTVBvTkNLVVM4bU5mTVNaS1RUd01uQWt5UDFPYVVZYnZKWmI5Z2JGZVpKdTFtTm9ndElvUHZXOS9PL2s5RWhwNEpNbEd5UFlvcDdtOTJ3emlXeWx2M3p6NUFaRENIZllGdkJKd3VrYkQ2a0VUbUdSUlBIRWFWYVNaWEZtNmxzSFM5eHo3VmQ5SU96cUE2T3o5RkJ0KzI3cC85eDhSU000R21TclpOUGNYOWFYUEZFRXM5YWQwLyt6MGlnNHZBRHV5R3NYdUFuaW9VNlRkbTVYZU9XT3BOSW9Pdk5maU1CT3RDOHRrdkErY2IyMVIyU2J1WTllRUFrY0VQclB0bi94bXgxSjhFbVNocEQ4VVU5emVyNnQ5WTZvZld0N0wvckJ3djZkd3dtWTBDNVJYcFZ4dkFLU2FtRG1EUDhTM2h0WnZjekIxVWwxZUtKWloyTUtjd3RZZ012bXQ5Sy92N3hGTFQ2T2xSVDFCUGNYOXp6MGh4anRIMFgxcjN6ejVZYmhpYk1jYXFVS1FmbVRlT2I1UElQSVo2SGNPdHNIdzlLL1BYbGQ4cFpFTGF3WnlIMkFtWitOQzZmL2FmTUpyK1l4UnkyRE1VVXl6dTBJaXp4RkovWnQwLyt6OFRHVnhHVThxSUFHd1FqUzhTSGRaVWJPSGtsRk1ENUxQandHNWpPNmh4TE50bkx0LzhqblgvN1A5QUxQV2ZVQTl4VDFINGhJQjdGSzBkTy9tbjF2MnozeVV5ZUlqcTVhQkYrdEU2eWN3cndQdW96QXl6VDVPYnVZdk5vUk1pVzFIQzNRc2NHWHpQdW4vMi9uS0RHSlMvZW9yQ0o2U1dFckhVRDZ6N1ovOTdZbVBQczNtNk5uY0RXUTFtNlRWbW5qN0IrTlNUVkE5QWxiQXBybzJ3T0h1N3h4N0ZGRXNyekU2Z1NyNkpqUzFaOTgvK1EyS3BQM2NkcTd6Vkl4UStJU1ozWHRnZ2x2bzc2LzdaMzJaazcxK1Z0emxUdHJrTEFSVUswa3ZNaXE1RU5INkUyTml6UVNaSTZpb0JPOGhuNzhRT25TaTU5bTF1NElnMFZzSU9qN0FZMmZ1MGRmL3NmY1JTZjIzczE5eitQVVk5eGVLMitlS09ETDFtM1QvN2U0eFAvWi9ZYTdrUEFPZW9WRGJtajBpdk9jZG8rZ1UwNjBUWWZZcmN6SmRRcjdCc2ozc0EraW5HcC82emRmL3M3eElaZXJMT3NkSURGRk1zOVppVnl3ZldOL2YvWSt1KzcvOGo0QjFnSjlVamNsVVJTUzh4ZTRDT2taaDhGQ2dHbUI1cHBMZzJRajQ3VW1PdnlpWnB4RDIyQnVBRDY3N3Yvd3ZybS90L0QzQVBzbFdlNmtIcUtaWjYzSThkenpDeDc5OVkzMzNoZDh2TFF0dWp2YXVQTi84VjZYNlJvY01rSnA4UE9obml5V21ZN0dCeDlrN2dNMEVtUnJyVzVyamd5T0RyMW5kZmVJQ0pmWDhJckxtTzE2eE1QVW94eGRJc0o1OXNFRXY5eUhwdzZiOG1NZmx2Z1ZPZmJLOCt6djFhcEJ0dGtNdzhEN3dSZEVMRWsxUEdYRXArWmk4UW9mcG1YbVdRTkd2amszOFRreit6SGx6NkxXS3BQOFU3RHlsZjlTajFGTXZXUklhV3JHOW4vNUYxMy9mL01aSEJ3MVJ1c094QkNSV0tOWlp1VlFKT01ySjNEamdSZEdKa0UvTXg5eDV5MlZ1Q1RJeDBIWGNIemdhUndZSjEzL2Nmc3I2ZC9SMGlRM282MUljVVV5eGJaUUZubWRqM3I2M3Z6djgyc2JGSHNBZmg3U3p2OTRyUEV1azI3NURJUEI1MElxUW0rN0YzZnVZR2lxdXg4amF6ekZIWkkyN21XQmpIT3JHeDU2enZ6djhPRS90K0h6Z1NUTklrYUFxZmtLMnFGQ3JSK0pQV2QrZnY0OTd2UFVoazhLMDZ4eXV2U1RmWklKRjVnOGpnbTBFblJPcTZpTVVEWHdWMkdkczBJNDY0ZVhmVVJBWlBjKy8zdm05OWQvNjNpTWIvR3ExUTE5Y1VQaUhiWVZZNDcxcjNQdmlIMW5mbnY4SEkzajhCVGxLWjB4Z3FCWkVxS3VrV1p4amQrelNWdUhrSkY2Y2NHU2FYL1lMSGZzMktJL1hxbXJPTTdIM1UrdTc4ZjJ2ZCsrQUR3TEpmaVpMd1V2aUV0Rk9KYVB4WjYvN1ozN1crOVZmZklqcjhPTlZUV3pueHhzcHpFbGJtQUswQ2ljd2pRU1pHNnJMTGtaV0ZDUXBMdzU3N2JMb0o3MS91dXNiT0M5SGhYMXJmK3F0L1p0MC8rNXRFNHo5QTB5MUttWHFLcFYzTVhwbFRKRE4vWm4xMy9yOGgvWjAvQU40dWI5OUJaWm5jV3JOVXFBS1RvSmh4aHV2RVVndEVoMThydjllTlhQaVVnQWdIcDI4RnpqTzJ1ZW5jQ2RqNTRBUFMzL2tQMW5mbmY0dGs1bDhDSHdlZEtBa1h4UlJMdTJ5ZUFpa3k5TGIxallmK3dIcnd6Yi9QK05TL3d5NkF2UEtjS2kwSm01Tk1UUDBDZUwvOFh1Vmt1RGhseHJVY21rMjV0aXRFUzl4T01qNzE1OWFEYjJhc2J6ejBiU0pET1k5alZBL0pKek1GaUxTRGUzbk04cU9xK0hQV04vZS94Tjk3Y0tiMG4vWjlpOFVEOXdJWHVqNWp1VDZuQWtyOFpvYjZmTWhJK2xuVXVBcXJFckNEd25LQ2xmblB1dlpwWVFWeEZCbloreFBybS91L1R6VCtHTEJhNTFqbEdXRW5La0NrTTl5TjNWTkU0eisyN3A5OWpFT3pYeW45Nk1GOUxCN1lDK3pHbVNQU2UyQ00yVUJXWTFrNnlaeFI1UTFpWXk4RW14eHA0RHp5MlJSd1pkQUprVURVcXc4K1pHVHZJOWE5RC80Wm8ra2ZvY0d5MGlUMUZFdW5PUVdYYy9OMWt0SDAzMWlqc3o5alpmNmUwcU1QL1hjY25MNFh1TFRHNTgwR3NmbjdSTnJOeWFPblNXYWVBVDRLT0QxUzN5WE1UZDl0dkZmWjBQdk1jK3gxcmd1TVQvM1ErdElEMDhSU3MxUm1QeEpwaWxVcXFaTllBblUraGFWRTZXOGYvSWZrczErbnVIYTFzYy9zYlhhSFpvaTBrMVBacmdNRmZ2K0YzeVUyOWpjQnAwbHEyMEZoK1N2OHdiVi9SdlVOdGNxSmZoUVpmSXRFNWdmVzMzdncveUVhZndVNEUzU1NwRHVwcDFqODV1NzVQVTAwL3F6MXpmM1BVVnk5Z2JuOTN5ak5QdlFOQ3NzSk51ZlBXdE1zS1E1WnRxdVNMeU5EN3hNYmV5blExRWd0enJWK0VZdXo5d0tEZFk2VFhoY2RmdEpLUC9DWFRPejdXeUpEcjNnY1lkWU42Z0dVaGhSVExINnIxWk5USWpMME11a0hYcmJTRCt6bjBPeEVhVzcvSkFlbjA4QWVObGR5N3NhMStWcU5aR2xGOVZSc3ljd0x3THNCcGtjYXU0TGN6RGlicHhYVk5kL2QzR05Sdk42L3cvalVyRFd4N3dlTXBoOERDazM4UHJWeHBDa0tuNUNndVFmUm1SbHlnT0xxamVTeVh5L05QcFJtWmVGMjRBcGp2N3ZoNjB6RlpFNzdwZ2F5dE9JOXZ2VlgzeVV4T1IxMFFtU1RTdmxRWFB1ditLZVhmaDk3b0M3b2V1OFY3a2F3WTVYWTJMTlcrb0gvUWpMek4wU0dYcS94ZVhYeXliYW9VU3hoVXU5UjF5VVVscTRubC8xU2FXNy9QMkJsNFViZ1lxcDdpcnptUC9hcUxMMTZIMVNKeWpyd1BBOXYvQzZRRHpveHNvbHo3WjdQd2VuZjUvLzluVDlnYzFtaFJuSDNjRG94YWcyY0t4SWJlOW1hMkRkRE12TmpvdkZGNmkrMm9WVU1aZHNVUGlGaDRoVmE0V3c3UmpUK0RPa0huckhTRC94YkNrczNsUnZJWDJSbFlReTRDdStLMEQyWmY2dXI1Nm1DN1IyTnp1VlpFcG1YZ0ZkOVNvKzB4cmxlcjJUeHdCaWJHMU9xeDhMSm1RSENheTU2OS9YNE1iR3hGNjJKZlUrUXpQeUlhUHhaNEdTVC80L092MnliVlNxVjFDaVdNUE5ldTc1aWtNTFM5UnlhVFpVT3phWlpuRTFRV0w0Q2lHSXZLMTN2czgwMmVHc2RVNi9IV1kzcDd1SE1rNzNLZmQvL3A0eFAvUWZVV1JCR3p2VjBOLzgwK3NjVVYrUEdQaTN2SEt4NjE0clRLZUV1andGT0V4MStsNUYwM2hwTi80elI5SE5FNHkraDVaY2xJQXFma0c1VXE4R3lBN2lNd3RKb3VaRTh4dUxzalJTV3J3VXVaL05zRnU3SGQ4MyszK2JuelcxYmJSUTMrajN1ZmM3N1pnYWwxTnJYTHIxeUkzQVd5UE8vZmZ6YlJBWmZDem94VXRQNTVHZCtqLy93RC80SU8zU3FWdmlFODlxdDFkQ3BXdGRRcDY2OVRsMm4yOVhvT3kyeCtmdXgyRHdROGlUUjRjT01wQmVzMGZRempLWWZKeHAvRFRnT25Hc2lIYnBabFk3U2xHelNqV3JGRHE4RDd4R052OGZFdmw5WUUvdDJBbGRSV0lwemFQYUcwcUhaMjhzOXlkZGl6MjI2aTlxVmozdlM5MllxejJhUDlXSTE4YnFWZlkyT2JVVzlDcjVkLzRjZmFsWHNkdDRaU2I5TVpQQ0l6Mm1TNWxuQUVQbVoyN0J2Z00zR21QdFJmSzI4Mk9pYThjcnJYc2QzNnRvTDR6WGtidlRDNXIvUHF3RU04Q0hSNFNPTXBKKzFSdFB6aktZWGljYmZCTjdFdmhIZFNscEVPa1l4eGRJTGF2WGFuQVBlSWhwL2k0bDlqMXNUKy9aakQ5aTdoa096dDVSVzVtL2l5UHhuV1puZlEzSHRjbUFJdUpES1l6NTNSZXZWVXdUZXF5YTVLeEZIclI2cXNQWVFRWGMxZk91cEZ3WnpodVRrMHpRZnZ5aisyd2xjU3k3NzJmTDdXb1BxdHBOSFc3bnBETHRteDB5NDFickJxUGZkbkFGV2lReStUU3oxTG50U2IxbXhWSzdjRTN3WU9JcmRhU0VTYXVvcGxsN2kxWVBzYkxld0MrNlBpTVkvWW1MZkMrV2RFZUF6RkZmM2NHVCthbGJtUjB1RnBSczRNcitIbGZsTEthNDVEZVh6eXovbTc2N1ZTUFlhVmUzVjZMVThqdTIxRzlSYXM0bTAyMVliTEU0ODhac2tNcysxTVQzU1BrNyt1WmlWaFhHS3E4UFVEcG5vdGV1bmxsclhWSzJHcTNQajdpNnp2TXBNcjJ2Snd1N1pQUVVjSnpKWUpKWmFZMC9xSXlzYWY0MVlhcDQ5cVY4U0dWb0NqdFJJV3pQVVNTZUIyb2t5b1BTdWVqTk5PSVZ2RVhpZHlORHJqS1poTkcxWjlsUnZnOEFneGRVck9USWZvN0IwWmFtdzlGa096WTVRV05wTllYa0hkby95TGlvTjVsM0FlZVh0QTFTZXhEaXhqKzcvMzB5YlYyK3orMitwRlpaUnEzRWVCbDZONG5weHlGdU5wNjUxSEs3OTduM3J3SEZpcVRtaXc0Y2IvVEVTbUIzQVp6ZzQvVVhzUWJSbUk4K3JnVmZyT3ZDNmhsb0pkd3I2QnE5Uk9nZndEbU53dG0xZzUvbHpWUDhkNitXZkluYm5nZDBBamc0WGljYlhHRTIvWmtYanJ4T05IMlpQNmpDUm9ZK3c0NEJQWXo5ZGFkZXl5bUVydjZUUEtIeEMrcFhYb0JCbis3SHl6eEVpUXk4eG1uWU8zTVc5WEFwY0NWek15bnlFazZzUklGSmFuTDBZdUlUaTZpQkg1aThEb2hSWEwyUmxJUUpjZ3IwcTMrWFlsZnNHbFVySlhibTdlMnJNd1VSbWI1aHp2THNIeUgwTWRkNmJmNy96MnIydkZxK2U3WHBwMktoem5QTzZYbG5VNkxGMnJSNHVrL045cnh1dlR3TnZNWnArQkZodDhIa0p6Z0R3S1hMWmk3QWJZK2VWdDI4WVA4NTVoZnA1dmRhTmwxWGpkYTEvbXhsbjRNN1R0VzdvM054cDhDb2ZuSCtkdng4cWpkOEJLamZuSmV4RzdrZllLelYrVEd6c09KR2hvOEJ4OXFTT09hK3RrZlRIUUlFTGg0NFJTNjFoZjlmSHNNTWYxRTZRbnFmd0NlbDM5UjY3dWl1MHM4RDc1UitJcFNvSGpxYWRTbWdubFo3ajg3QjdqM2RSV0xxY2o1YXVCeTVpWlo1U2NYVkhlZi9GSEptUFVGeU5sTi92TlA1MTBqVkFZV2tYaFdXenR3ZlhhM2ZqMDJrZ2VEV216ZGYxS3VsV1k0bk4zKzJrWThPVmpscHBhY1JwRExqRFVzeDlYZzBWNS84M0cwMW55ai9yMkkrRER6RSs5Vmo1ZGIyd0dQRmY1UnlzTEh4RVllbHZnZGV4bitic3BIS1R1YzdtcHkwYnJtMWVEVXIzUHE4OFpXNGZ3RHYvTmZOVXczeGZLMFRCS3oxMldSQWQzaUFhZDEvN1RxL3ZXZUEwa2FGVDdQbWtNWHZPaWd5ZEpwWTZDWHpJN3ZnSFJPTW5zRzhFaStXZjA5ajUvaHlObjFhSjlEeE55U1pTV3l1TkluY0lRRDFPeFdwUkNjRTR6M2p0VlBaT0w0OXpuUE1aOC9PNFhqczJqUFI3UFdJMmU1bmNqVzNuZmIwUUJmZDdkKytiVjIrYyszV3RZN2NTQnVIMWU4Mi8yZXdkTm4vT0FXdllqUU92eC9BU0RqdUFpN0FidytkVHVUNmNweVhPK1RhdkRhLzg3cjVXbXNsMzd0N2trc2ZyVm5rOW9USzUvMDh6ejVwNStpeVZSckg3cDVXeXExWnZkcXVmRmVscWFoU0xiRjJ0WHRidFhGUzFlcks4dHRWckZMc3I2M285NFkxNnQrcWxJV3hxTlM2OC9sVWpPUHljYytURXl0WmJIYzNkV01WMWJLMzNwcUR6UXExcnNObDhYVXV0eHJlNXI1bDBpUFEwcldnbjBoNzFLcFpXUHV2K1RLdU4wTEEzV3YzaTFhaHdOd3hVN25VbnI5N2RXdnVwY1V6WTFPdWROdC9YMmxldjBTc2lUVktqV0NSY2FsVnV0VUlJdXFIQ0Q2TjZ2WEFTYnMzay9XYXZpM3BQU1pwcG9QckY2LzlVdmhWcE00VlBpSVJEclVyY3EvSVBXME80WGhpRytiN1I3M0NPYlNhMnM1bi9vOUgvcng3ajdsUXIvN2ZhRU40cU0xekRiODMrbndwL0VOa0NOWXBGNXB1VGZBQUFBbTVKUkVGVXVrdllHc1R0NHZlajRQKy92WHZiYlJTSWdpaEs1Ly8vbVhsQ1loQUVPK040TUh1dGwxd3diU215eVZHcEdydnczY08vYkhKYm4vOXNVbnkxMUJoNEFmVUorRXgzSFk3ZnpiWHZzOVhlQjE2djhJc2t4ZkQ1YW9QQks3anczYzkydytyZDNoZGVzL0RMZkhnSGZMNW4vbG1lN2R3L1d2K1JudTh6enM0N2U4NmY5SmZ2TmlUeHQ2UGJscTFkY1lPcVlSY3VRbjBDQUlDOHIvT0hBQURBdlMwZkl3c0FBRm1TWWdBQThyNm1hMjA0QUFDQXQ1TVVBd0NRcDFNTUFFQ2UrZ1FBQUhucUV3QUE1S2xQQUFDUUp5a0dBQ0JQcHhnQWdEeEpNUUFBZVRyRkFBRGtTWW9CQU1qVEtRWUFJRTlTREFCQW5rNHhBQUI1NmhNQUFPU3BUd0FBa0tjK0FRQkFucVFZQUlBOG5XSUFBUElreFFBQTVPa1VBd0NRSnlrR0FDQlBweGdBZ0R6MUNRQUE4dFFuQUFESVU1OEFBQ0JQVWd3QVFKNU9NUUFBZVpKaUFBRHlkSW9CQU1pVEZBTUFrS2RUREFCQW52b0VBQUI1NmhNQUFPU3BUd0FBa0NjcEJnQWdUNmNZQUlBOFNURUFBSGs2eFFBQTVFbUtBUURJMHlrR0FDQlBmUUlBZ0R6MUNRQUE4dFFuQUFESWt4UURBSkNuVXd3QVFKNmtHQUNBUEoxaUFBRHlKTVVBQU9UcEZBTUFrQ2NwQmdBZ1Q2Y1lBSUE4OVFrQUFQSWt4UUFBNU9rVUF3Q1FaeWdHQUNCdjZSU3JVQUFBa0xVa3hldk5kZ1prQUFCUzFodnRscS91UmdFQVFNcVNGRy9UWVdreEFBQVplL2NwSGp1L0F3Q0EyOXE3VDdHQkdBQ0Frckc5SmR1WS9rOTFZbXkrMy83ODNiSHh3REhyV01jNjFubjFPbGQzNWIrZGRheGpIZXVjcmZNcUR6L0htT2Y1NkFIclc3VXQ2Zkg0NWhnQUFMemIzcng2TkovdXpiTFRORTFqelBOOGRLS2hGd0NBTzFyUHYyT2FwdkVIY0E1VUxBOFBmRE1BQUFBQVNVVk9SSzVDWUlJPSIvPgo8aW1hZ2UgaWQ9ImltYWdlMV8xXzg4IiB3aWR0aD0iNjA5IiBoZWlnaHQ9IjE5MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFtRUFBQUMrQ0FZQUFBQjlBdGlZQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQWdBRWxFUVZSNG5PeTlmWGdjeFozdit5M1p4aDRiMEhnTUJqd0NqYkVHQ0NDcElXQVJTT0oyUWdpR1pEMkJuQ1FiL01US0MzZHprdUNJdTV2RDduUE95WXBzbnMxNmQrK0pNRGZaN0pJTjhxNjV1em03Y2NhYnMxRmVDTFJDM2lRU0dJMGd2TXdBSTF0akE4Yk5qRzA4R051cSswZE51YXQ3dW1mNmJUU1NYWi9uMFNPcHU3cXF1cnBlZnZXclgvMktVRXJiQUZBNFUrK2VSQ0tSU0NRU3lla0tzZnhQNjF5M1htc2psRkppQ2NRZnRncGZ4QkxHTDNicGhZMWRYdms3elViNmZuQXFYNmY4TnJvK2w5NXR2dUpVaitEaGVxTjdFb2xiclAyeW56b1g1SHFZY1FYTjcyd1FkcG5NcDdidjl4dTI2aDNEcnRmMTZxZmJOT3llcjNsT0ZNTG1Vd1dSU0NRU2lVUWltYytRdGxiblFDS1JTQ1FTaWVSMGhBdGhVZ3Nta1Vna0VvbEVNb3MwTXNxWFNDUVNpVVFpa1lRUGxjdVJFb2xFSXBGSUpDMUFDbUVTaVVRaWtVZ2tMVUFLWVJLSlJDS1JTQ1F0UUFwaEVvbEVJcEZJSkMxQUNtRVNpVVFpa1Vna0xVQUtZUktKUkNLUlNDUXRRQXBoRW9sRUlwRklKQzFBQ21FU2lVUWlrVWdrTGFBTnRRZFRTaVFTaVVRaWtVaWFqTlNFU1NRU2lVUWlrYlFBZVd5UlJDS1JTQ1FTU1F1UW1qQ0pSQ0tSU0NTU0ZpQ0ZNSWxFSXBGSUpKSVdJQTN6SlJLSlJDS1JTRnFBMUlSSkpCS0pSQ0tSdEFBcGhFa2tFb2xFSXBHMEFMazdVaUtSU0NRU2lhUUZTRTJZUkNLUlNDUVNTUXVRUXBoRUlwRklKQkpKQzVDN0l5VVNpVVFpa1VoYWdOU0VTU1FTaVVRaWtiUUFLWVJKSkJLSlJDS1J0QUM1TzFJaWtVZ2tFb21rQlVoTm1FUWlrVWdrRWtrTGtFS1lSQ0tSU0NRU1NRdVFRcGhFSXBGSUpCSkpDNUF1S2lRU2lVUWlrVWhhZ05TRVNTUVNpVVFpa2JRQUtZUkpKQktKUkNLUnRBRHBva0lpa1Vna0VvbWtCU3hzZFFZa2tpWWgyanBTT05zK3lrbkk3TkRJOW5RK2Z3Y0NJLy9XZWpmWGNNcXJGV29KSzVGSW1nQ2hWTGF4T3NoT3lEdXpWV2IxaENxN2U5YnJkdUhFZkJPYmE1TDZ1Q24zZWtMS1hDNXJOL1ZOclB1dGVoY3ZHNjJjdmxlOS95VVNTWWdRU3FrVU5NeTRHWml0bkNybDUvYmRyVFBwUnUvZlRJSEdhOXhld3M5SFFTeEkvUTJqTDNBcU13SmpOellWZnB5b2Q2OWVQaHNKZ2tIZXIxNGNiVGIzV2xGdjNHcmkrUGZnZi9NeVBWSG51Zms4VnRSckYzTUZyLzJ2MSt0T2s5QldhajE1dXRiZlRtRTVwNHltOW5RVndzUk9KNngzbjQvbE9GdENScGpwTklwckFZRDI2czh5QUdjQVdJeGk1aXdjS1MwRnNBakFNU3lObGhCWERnTTREdUFJZ0lyd2Q3bE8yblBwRzdzWmNLM0xUMzZGR3o5NWFBTndEb0NWWU4vaVRCUXpTM0drTkkwTzVWbEVva2VGT0dicXBHRW4wTlVMWS9jZVhzckJMaTI3ZDFzQjRGd0Fad000RzNwaEdRNFVqbUJwZEJKeDVXV0UyNy80eWFOSUZLeE5uQTBnaW1KbU9ZNlVJc0w5QmRWNERxTkQyWTlJOUFpQW93QU9BM2k5K3RzdTNWYTJoN0FtRGEzVVdycVp3RHBOSXVwOWQrdHo5Y0k1M1dzbTRoaGNMLzFXMTdHbWM3cmFoQkVBRVFCTFljd0crU3g5QVl3T2lZSU56Q2RnSGlSNEJab0I4Q2FNQVh5K1ZSWUs5cTZMd2Q1L0lXb2JocldSV0dkUG5CTmduZllKUzNqcjMzNm8xMWpQQm5BdWlwbE81TFFyNkhUbU11aUZOZEFMSzZGUExRTVR1cGdneHQ2VngvRm1OYjh6QUk2Z2ExMmxtdmMzMEtHOFNPSktGa2sxZzFpaUFHQXZabTlBZFF1dmd3dkEzbTlSOVhvYmFyVXlkbmtuWU4rN0RleTlLOVdmR2N1ejlkSzNDeGRCcGJRS09lMHFtdGY2TUozcFJuNTBGVmg3NDRQK2I4aGRqMzRGU2ZVcG1MVXhIRjYzU1BXOTJxcjU0dThtZHVCMmt5a0NjemtjQS92ZTliUThkdTluamZjTUFISGt0QjZhMTY1SFRsTlF6RnlBU2prQ0ptUXVBbEJHMTdwL0psdTBJVGdMODJFZ2xyLzFuUllET0FmRlRBSTU3VzFVTDZ6QmRDYUpTcWtEeFFrbU1BSkx3T3FPdFYwZkJ4TzRqZ0U0anE1MWJ5QVMzWWNPNVRrU1Y1NUNoNUpITExFYndMNXEyRmJBdis5aXNESVg2NHMxbkxVZkVqV0FSOEhxaGRzNkh5YThicDlSL1g4QmpQWklMRCtvNW5FR1ppMnltRi9ldHprSmEveTllUjkvRE1BYllHMytoTU56emFZTlJqMFVmWmJ5OStUNXNaWUY1ODNxejd6V2lpM0VQTTE0WVBUQ0tqbzIvQWtBcThISzRReVlLeXJ2b0diQU9wdmpNQnFyT0FpVUFmeU1iQmhNZzJsUitIMWdicGN0Z1Y2STBiSGhEd0M0Rm15QVhBSmp4eXgvMXhuTC85YkdRTURLVGlleHhDNzA5ZjhNd1R0bnU4NVRaRG15NmF0b1huc25walBYSVQ5NktaaEdZaW1NenNnYitWSFQzOVVFRHlQV1dVQ1graHZTa3hwRlVuMENrZWhMWUIyWDI3dzNBMTcrQzVEVExxWjU3WFlBbDhBUXJQZ0VRWnc4aUoxWm0vRERKeDNQa2k3MXUwaXF6OERjQ2RiRENGTXByYUhhMEUzSXB0ZWhPSEVOZ0F2QTZwUzE0endPb0J2c2UvR0J4TWxWempJNk1yZ0J3SFZnQTlaQ0dIMFdmeSt4dnZKMzVPMlhEMnB2a1ZqaTM5SFgvekNBdCtDdWZZcjNMc0RZOERvNk5ud3o4cVBYQTdnUXJLM1lFUVh3YmdEL2lPWUtZZGE4bndHOWNCbXk2WGZRblBadTVMVWVWTW9YZ2dtSFhpZmI1NXo4aTdlTHlWMGZyQ1pZUnF4ekQ3clUzNUtrK2pCNlVyOUFKTHJiSmovTlpobkdodDlIOVlJS0lBYnp4TU5PcThxdmk0TElJUUFqUkIwWVFTVDZadk96RE1Eb0h4YlNrY0YzQWJnVlRDaU93UHlkck1JSHovOEpHTzE2UnJqUEZRZldDWmkxellzS2h0MGtsbmdJZmYyL0UrS2FEZmpZY3d1QVByQjNQd05HVzdhK256ajVBbGc1TFFFd1NiclVieU9wN3A2bGZEZUZVMTBUWmgwUWpjNDNFbDJNa1h2ZkF5YUFBTFd6UW5HbTdUU3dFckJCNVhyMHBJcUlLM3drbjh2Q0YyY0JzdW5iTVhMdlg0SU5IRzVPVDdCVGIvUC9qOUFOZjc2SEFJOEV5Rk85SmVJem9SZDZxRFowSzdMcFc2QlByUUZ3bGszKytHL3JERitNMzAzNmJTek5xU3N4dnYxS09yNzlVd0FPSU43N1BIcFNhYUlPcEJHSjVoMmVudzBvZ0FVMHI3MFRJL2QrRWNCeUdKMVZJK0hDV3FjSkFKMXV3RnNrcWI0QVl6SmhoMW1BMFF0WDB4OE9mZ1RqMjI4SGNESE1BcFVvQUlwcG5RRW15Rm9IVExFK3pRQ0lZT1RlandENEFBeUJpdCtydDd3b2Z2TVpBSVIyclR1SDlQVm53TFNhZHVGcnk2eFM2a1EydlltT0RHNkNQblV4REswRkxPSEYvUEQzYTVhV3lKelhTcWtMWThQdnAyUERIMEJ4UWdGYityVVRhdXUxaVVaaHhMRHQwS2ZhcTIzaUU5ZzVzQWZkcVYrUm50UU85S1IrQmFEazc3VThRMmt4MHdmdHZrL0QwTEM2ZWc3bU9xeWlTOTJQcFBwWTZEbDBUaDhBenNiSXZaOEJjRHNNNFlqZnQ5UHNpbjliSnlIaXhOajZEZTM2QWw0R1IybTh0NTMwOWQrTjJmdHVBTkJHeDRZL2dKRjd2d3JnUEppRkxEdU52UWdYcEFIZ090eVIrRFVBS1lUTllheHFTdU1EUjZJdlkrM21GekMrL1hvMC92RDhtalVjWDg2N2hJNE4veUc1YmVoWFlHcmVlcy9NRlpiUXNlRU5ZSFl0Z1AyN2NZamx0eDF2a1o1VUZ1YjM5NHExZ3dTQUdNYUdQMGExb1krZ09ORUxKakRhNWRQNm5OM1NCUC90Rk1ZdWZVNGJnSE5SbkRnWHhZa2I2TWk5ZDJQdDVwK1FXd2EzSVpaNDB1R1pac0puaU11cVAxeWxiMzAzdTI5bUo0aWREYVlCY1NPa0FwWFNDdnE5Z1FHTWIvODBtTmJMS1R6L0xhYTFDTFVDbXQyU1FodVlvQzBLUDJKOFRzSUVSeHlRemhUaXQycEtyTi85SEdoRC9YUms4RE9vbEM5MWlGZUVsenRmTnVVL1lXSHR3d2owd2xyNnc4RitUS2JmajBwNWRZUDhpZkdJdjhWeTU5ZnI5Vm0xNzEwcGQySjhleWNkMy80UnhEb3paTVBnZDlHVCt2ZXF4amdJamZyT3d5U3VQTitnd2RVVE9ybmd2SWJtTlpYTW5oREczaXVuZFFGNEI0emxWUEcrMDBUWFNpT2gybTRKRHpEcTVtSVVKMjRBMCt5V01IdjkxeG1Zemx3UG9FTzRWay80RnhFbk96Tklxck1wUERhRjAvbnN5TmRJVCtvL3dkYVVDZXAzN0U3YUdSNm1EV1BEN3diUWFiazNGd1V3OWs1NjRVSVVKeTZ0dWQ0NHozWXpOU0RXK1RMaXlwTzJUM2pMRzQ4N2dwejJYK2hnWWhkOTZKUGZRSEZpSGV3Rk1MdHZadmRqVGFkZXZYZDZYbnpuVlJqZjNrOEhWejlDZC9UL0hTcWxTOXkrWk1nY2dkbW1BOExmMXZvcmZqZnJqRm0wdlhLQ1RUcUtHWlZ1VmI2SDhlMy9BMHdBY3hMZ3JXWEkreHUrSEdRWHZ3aUJXVU5nRGR2b0J6QzBERWZBMmpwZzM1N1p0VXBwTlgwZzlVMjY4KzYvc1JIQVJLSEY2ZDBBYjdabmpUQUxJM3BCb1R2NnQ5SEIxU01ZMy83WnFnQm05MDM1cy95M1UvL21adEJySlBSV0JjT3B0OU9IUHZuWGREQXhTa2NHL3ljcXBWV3UzdENleHYxUVVzMkQyVFhaUFd2dEcrenFCcnVmMDdyaFRac1dITDF3UHBqV3NwN0FXNnM4WUxBNkVlc1VUV1RzKytYYWU5YjZHMGN4YzU3UHQvQkxPL0phbDVBM1dQNXUxS1laa2ZhRGlDVmVibTVXbTgvcGNHeVJYYVZrRGJNbnBTSFMvclRsdXRjZlJxV2NSRFo5ZmZqWmJ4STU3Um9BYTJ6dTJIWGMxdnUxOTNwU1R3THcyeURNUW81ZTZLVVBwTGJUKzlmdmdENzFUdFIrUStzTTNocVBYOXdNU0ZhaUdOLytXVHFZK0NtMG9jOWhkanR6WGdiY3pnT29QOWpXcThOMm1pZ3JaOUtSd2J2bzFxditCZnJVT3BnSE0rdmc1Z1FYV093NlgydGV1VjJYWFJ4ZTIrZ3hHSnRHN01scDE5T3R5a09ZM1BWZkxIZmN2RnU5UWRNUFBPODhyblk2TXZobmRLdnlueGpmL2dXdzVXZHIrdUp6VmtIY1Q5cldaK3U5bDJHTFZDbGZpSkY3djBLM0tvOGdtLzQwbk8zbi9HRGtLWllvSXRLKzN5Rk12WWtYcjRPTVl1WktBT2VIbU1kR0VLb1hMb1poTTJuM2plcE5JZ0hnVGNRU2V4RnBQeWFFdHo3bkpxNmxPRkJ3MG1RM0I3MndDcFV5SDN1cytSYi9ydCttNDhvMGdGZXJ6OHhGaFljclRnY2h6QWtDNEZYMDlXc2VuM1A2MkF0cE5uMHo1djRTTHdXd2hHYlR0NkoybWNkdmZKUXdnM3kvU3pDOFRGZlFrY0V2MGEzS2YxWUhRcDQvWWdublpnWS9tMUJVeWhmUm5YZC9nMjVUL3htVlVsZmpSM3hqN2FpNEJxdWV0dFp0dlBVTThwZlRIZjJER0xuM3I4QUdMS3ZBNGVXYk9DM1hXYlVXb2hBV3BvQmRPeURsdFBmVCs5Y1BRNTk2Qit3MUQyN2ZMNHk2S1FxMWk1SFRicWFEaWU5aDVONi9SS1VzYXBkcXRUck5wZDdFclBadmZlcFMrdTBQL1FQZHB1NUFwWFNsUTNpdmlOOW1IK0xLaXg2ZnQvWWxGSlZ5Qi9SQ2g5TURUV0FKY3RxMWpZUFZJTDc3RVNUVmh4Rlhwb1I3YmxjeEFPRTcwbUttbWYyVkNDdjc2VXduZ0NCYVVrWlNmUjcybXRCNXhlbCtkaVFsZmYwL2hiMFBIQ2ZzT2hBSzRBUW0wOWNCU0lhU3MyWlNLYTNDNUs2MUFXTXhHbk9rZlIvaXlsakFQRjFKSDBnOWdKRjcveHFWY2h5MWd6eExhNjZUSDcyZERpWjJvcGg1Wi9WS3N3WkhDdForK2E1ZXdGODZZdms2TGFPMTB4MzlYOGI0OXJ2QjNBTHd0UHkrVzcwbEdERnVidWZtTlI0bnhKMWp4b0JVekx5TGZqdDFQNHkyRzFSSUVEV1RYaEcxWHl1Z0RRM1MrOWYvQy9TcDk4SloyelpYMndXcm82eE4vQUE1N1ErRjYyRUlxb2VSVkNjQ1BNL3pzZ3pUbVVUQS9MaUZndm5MVzIxejNRdkhTQ3d4amc1bDNNTXo5bTAycDEyQmNDYmtqYUFBUVBQYTFUQmM2dmlkUEw1RnV0VGZoSld4Vm5JNmFzTE1sVEN1UEk1WVoxQmJKaFp2cFJ5djJvYk5iZGl5YVhncTZPN1U0d0J5dnArdmxONUJ0NmwvajhsZEh4S3V6dFdCeFE3emNseWwzRTIzcVR1UTB6YWd1Wk1jY2J0OUdPVmxKOHlkQVczbzh4amYvamswWHE1MGc1c2xTekUvYnZvb04zbXlYOW9zWnE2aDI5VDdVU21ITVhuaTc5UkllSFI2RGpoWmgwb1gwUWRTZjBkMzN2Mm5NR3doRzJtaDVpNlZjb0xldjM2WWpnemVDN1lNWjdYWjhnWHBVc2RRZnpldkc5cG9YdXNOR0lkN0txV1ZxSlM1SFpiZjlsUkJMRkVnc2NUVFlEdHgvWmNsMHdLR3VXUmNqOFdZemlnaHhITVlIWXBmQVh4T2Nib0pZVlpWTkFEb1ZmOUJRUWVYTmdCbjBHejZ2Wmk5Q3UySEpaUUpCMEh5YUpySmtwN1VvMkNPRDczQW5pOW1icVRiMUw5SGNjSnFUK2RrOXpWWE1kdndWTXFkOVA3MTMwSk9leithOXg0RTRTNS9XOXRIRzdMcEQ5R2RkMzhKaHNZdHJQZXc4K2RXejQ3SGl0c3k1ZTlTS3hoVlNwZFZCYkF3Qm1CeFJ1KzA4Y0FPWG1lTThDeGYzNmt1eVZ0dDUrYnFrcndkMXZwMEJrYnUvUjkwUi8vL0FyTnBDejVCNlZDZVJURDNDbnlKYkxhMFFjQjBaZzJZbnp5T24vN2hkU1RWUE9MS016RDgwZmtVd3FiT0Jkc2tNQnVjZy96b2hkVy8vZmVMc2M0OWlFU0xvZVdxaFp4dVFwaWRyUWRJWC84dndSejMyWVh4eHVTdWR6VFpKc2dQWW9kOUVTYlQ2MEtMT2RKZUFoUEN2RUpSekt5ajI5UnZvRGpSaldBMlJuNm90NXNvakxnQjRDTDY3ZFEvb0ppeHN6TUtpcmhrRnhiaUNSSk1HSGlvLzh1bzNaVWFsSHFkcjcxOVVYQkVQNEFBY0E3ZDBmOFhxSlN2Zy85djQ3U2h3R3BrN0lTb1dlUWFzQ3ZvTnZYYktFNjhGL2I5VmRDbFVydDM1ZGV0SHRtdFlmd2lhb3JiTUw3OXN4WkJ6UDg3UmFMN0VlLzFhaGZHTWQ0cFA5b0owVWx0YytBVHp3NHdseW5HTlhmbGE1UlRyUE1nZ0RJNmxCd0F1ODBKWGxoWmRablJUUGk3WHdLemF3cmpuaGU2MUVrMDF4bnlySEc2dWFpd2Y5ZFlJb3Q0N3pNaHhFc0JuSWRzK2owQjRtb1dySkZuMDkyb2xNUGJDZFNsamdONHdmTnpsZEpxdXFQL0wxRXBYd0p6Unh4R2ZlUWR2dFc3dEZXcklGNjNDK01IYy80cjVZdm9OblViS3FYT2dQRTZFWFFpSmVaM01ReUQrVFBwanY3L2hrcjU4b0R4MitHbWpNTVdrTTA3U0xQcHpaamNkZnZKLzJ2VGRvTmRYYTNWYkRsalRxZFN1b3dPSnI1VjlkM0U0d3F6ZitiMTNOb214SFNvVGJnd3ZvUDVQY2EzOTlNZC9WOEQ4M0huVnhCamRtRnhKUk04ZTRpam1MSHpDUmNtRkFDaGVpRlI1NzZiT0lCWVFnZndGaUxSTnhGcDk3TWNLNmExREhyaEloOXhlQ2VuWFFKMndnSGd2MjVUMHFFOGo5WWRteFVxcDZNbXpNNmdkVDlSQjM2QVlMTXlIdmNpcWcyOUQ2eHptU3VjWEpLaDJmUUcxR3BQL0hheXgwbFA2aEY0MjZGQ3dJNmorZFBxRW1SWVMzWFdwUnB1SU0yWG9iZ1BMSDdlMkl4d1g1eXBoM0dPbkhsMld5bGZReDlJZlJuaHU2OElZNUFXMzdOOE1yNXNlaU1tZDMzY0lYelFzdUUyTEY3eUZpUTlDbVlJek5Lc2xONUdIK3IvSE96ejRMYytPaG5OdTN1SFN1a2l1azI5RDVYeU94c0g5cDB2cmprVjIwUUZ4Z0hkeDJEWTRmRStnazlrcU9YSEQyYWJ3dkh0ZDlJZC9WOEZXd2IwSS9nU0FNZEloL0kwR3JrZmNZNkx4M2NXY3RyYmZNVGhsYVdZenRpbDQ3Yk9zZkpQcWkrQm4zMFpWdzRHekJPaGVtR05oeno0WlNHZHp2VGFwT08xUGgxQ1hIa3VwRHkxbkxudVRxRlo4STdXK04yVGVnUVBmZkp1R0I3ay9jQ0UydUxFMWRBTFNjUVNZY3pRd3VSQzVEVzdUdDVMQnlDR0w2TW45WE9QZVNESXB2OEEybjBmUC9sL2NPd0dUb3BZNTM1MHFWTllrWGlSeEpWbkVZbStDTlp4bllGSzZYeGF6S3hHcFJSSFRrdWdPSEV4eklKem1JYnVRSDcwNDlDR05LZ0QveHhDdkNKaGFzSzRkdVFDdW5QZ0N6QjJNRG1GOXdNWGRPdlplbm1sWHA3RVpiWTJBS0RhME1kUktWL3NJNjVHZWZDaUJST0owaDM5WDBOeDRpYWZhZHRoWi9oT0VldDhEWEVsaHc2bEFLQkl1dFFuQVJ3QTBBNjljRDdWQzNFQTV5T25YWUw4NkdVdyt5T3p0bjgvaUdYVWh2SHRYMENIOGdyVWdhM3dLOXdsMVNjQjZERGJXWG5PRjUzT1hFVWFPeXoyRlRlTWQxdU9vdU5PVERmbE9nT0FrbGdpWC8zN0VEcVVLZUhzVzdmMVQ4d1RRVTdyd1FZc2d6ZFBBVjZnQU5wUnpGeGxjNzFSZnEzMVRrZFMvWDJZbVdzbHArOEIzbFlpMGFmUXZUR0x5VjNyNGE4akZiVWZGeUNidmhIcWdGVUlNODhFWjV0aXBxZDZCaDdIcWpseTIzZ1ozUnN6aUVUZExPTWFaYU1YTHFVUDlmOFpESnVJSU5RT05KSDJsNkVPL0IvUzE3K3pLZ1FmQXB2dDE4eVVTVStLSHdxOUZIb2hpWngySXgwWnZCMzZGTis5WXhYV2c3Q0VqZ3orQ2Vuci80WGxTSmN3NmtRWUF1TU1XRG5OSUtldGd6NTF0VTJZTU1xQkMwV3pwWVVYODlzRzRDSm9ReDl1VWxxaUpzeXRMVmdiM1Rrd2dNbGRIM1A1ckpzOG1KK1B0TCtHN3RSUHlQcUJmMFZjK1MxWW16Z0tteVBHQ045eHV3RkxVQ2xkaEd6NlBUU2J2aG1UdTI0QU85b3FETVQ4TGFRNzcvNVRFa3RNZ3AxZzBvamF0aEpYWGdDd0QvNkZNRlpteFl3Q29CMU1NOWdjS3FYbHFKU0QySjYxQVRpTVdJSWJwUjhoc2NSVDFVTHgzNDh3NTdFeGhDK0VtVTExaWhOMnk1N2U2bnpYdWp3QXYzYUFjNDdUYlRteUhvZElUeXFOWU1zUkhGSTlsM0ZwblRDekJYK1hCWFJzK0oybzFXNTRFUUxFY2psS2VsSS9nVHZqU0w2RXNZeitjSEFBbGJKb2lPOFg4L0pocFAwQXVlM3JmMDIybHQ1Rk5nemVpVmhpQkt4alBnem5wWXBqWUlMSEFjUVN2MEZmLzFmSllPRkdjc2VEbXhIcm5BQjdYOUZZT1ZoZUsrVXJxVGIwUnpDM3V6QUVNUGUySk00Y0F6UHdYVVZIQmo4Rys1MWlibWFzMWlVNThmY00yRkxrQ2JoenJlRlZRK3VVRitPQTRMSGhtd1IzRk1HL3FmbjlLTmk3dllYRzJqbEdUcnNGMm4xYllOU0pzQVF3Z2tqN1BuTEhnMThtVzB2cnlLYmhPeEJYZmdDalRUaWQ4VHBUemY5QlJLSlBvYTkvRzdrenZaRnNmWDA5MUMvZUQyT1FEbE5iMUU0ZjZ2OXFBTHZKVW5WZzlvUHhMWW9URjZKU2l2dU1weEhzdTB4bkxrSXdZWllBS0NPcHZsYjlueUt1OEVtZGYvczlmZXE4Z01kTU9XRzBrWngyS1l4TlBsN3phYlNMRGlXRDRHNUo1Z3luc3hCV1d3bjYraDlGcFAxbHgvdU40ekE2d2VKRUQ0b1pPMjFDcTFpQm5LWmFybmt4aHJlK3E0NmtPbXB6M1JtOWNCWEd0L01aZjlEQkJ1RE9ocnZXUFVMdXlhU2dEdHdEd0s0ekpqWS9UaHhBWC84L2tYc3lIMFQzeG4rRnNYa2xxQjBVVzM3UmhqNkNTaWxNWS9lZ0FpS0hhYWR5MnZ1UUgzWHlkV2NuV0luQ3NQaERMYis1b2ZkeE1BRWdBc01jd3M2V0NnaHZTWmdMWVV2b3lPRDdVRi9nc1d2VFBPL2lSZzkrajhKczZINGN6RVp5Q1dycm1ybTlWVW9YMFlmNi94ekdMc0V3aEVKRzk4WWZrc0hDQnZUMS93VUE2OUtObC9ZQUFNY1FpVDVCYmh2YVF1NTY5TU5WdjRyaEx0dFZ5Z3JkMGY5bk1Kdkl1Qkg2bVkxaGgvS0VjTTF2T1M3SGRNMXlXUmdJZ2w3bWF0Uk96cjFBRU92Y0Q3Yjh5dWhRWGdiVGJ2SjY3b2V6TUoyNXNuRXczeENhMTliQ2VIZS9rLzhUSks1TWhwcXpGbk82N1k1MGdwZEJIdDJwc0x6d3JxQmp3KzhMS2E0Z3NJcXVGNjVBY1NLTVE2WlpmUEhlWjhFY0JicUJBRmhBdGFGTllMUEFvSU9OWVgremR2Tk9za1g3QkdLSlh6UjR4cXE1Y0JxRTJLQWRpZTRoZDZZL2o3V2JIN1FKNHovdmxYS0Nha01mRFNFdUlOeTJTd0hFNk5qd2UxRjdMcUdZbnAwQUpocHpXemRDdkFWdVFNeCtWd0M4QnJOMjBqb1pzSDRqdC9tMzVsV003eUJ5MmlYUXA5eWNGQ0VLbHRaM0UvMk56WUFKbFB4Y3loTmdnK0VlR0R1M3hIeUpaYmVZamd4K0R2clUyeTE1dG5zWE4vbGw3eHRwTDVQUGZQK3Z5WjNwanlNU3JlZk1zbDZic0lOZFQ2by9KdmRrUG82MW0vOEQ1bThZZkNJd3Vhc2YyZlR0d2hVM2NSSUFJRjNxMHpDK2w5OTJjUWJOYTkwK24zVURvZXpJbnByckxwNDF2bE1zc1J2R21ZbEFKTG9Qa2ZacGwvRTQwWVppNXJJQXp6Y2lZck1od2MrM09vaWt1dHNTeDd6bWREWE01NWpWOTBDRjlLVCtqWTV2L3dEY2xZMW9MMVE3Z0dUVHQrSzJvZnNnemxwYVJUWjlEWmk5Z3hPTktyTllUaWRJWC8vUDRkNStnS0pTdWdSanc3ZTRUTXM1SHZIdnRadi9qV3dhM2dMZ0ZaL3gyR2twQUtNejE4bW00Uy9SU21rcEpuZDlGTUh0ZGRpejJ0QUhvUTU4S3lSbmcyRXRjUzhFY0MwbTB5dFIrNTVPZ3pTdi82OGgwbDVFWE5IQmpwSjVGYXh1VURBaDdCak1XckVjVmlRbTBIaEhXMWdkN0FrQWhFNm1Qd0NBTHplSjcxanYvWTRDMkk5NDczNUVvam82RkIyUmFBbUc5dXNZMkR2eThEcUpKWDRPNHpCNyt4bS9YbGdIN2I3UHd0eXVZUE4zSTBUQjduVnl4L0JYMFpPNkgvVzM3enZWbVhxYVNLT01JdEZueWFiaHoxSmdLOGEzZnhURzBuWFE5ckdZN2h6NEU5S1RlZ3pBWGhmaHhTV3FQRmcvNE9ja0VDTWVKaWdzUmZqTFhSUnM4NFBUaHBCR3p4cjFLS2srQjNQZnl6WmI1RWY5N3U2a0FBalZDeDBrdU5iZmlYTXRMa0NzWTY4N0l1MTdxMExvS2NQcExvVFYwcE42RExIT0Y2QlArWjBWR0pWWW43b2N4Y3dOVlZ1TVZzRHpjaFlkRzM2WHpYMi9uZVpCOUtUcWFaNXFFOUtHUG9CS09haW5aT09aZU84WTJUUjhEN3dMWUtac05iaEhBQndnbTRiL21HNVZMcW9lN3R3b2ZPUDBLdVczSWFlOUV6MnA3M3JLYlcxY2ZqVW1kaXpBZE9aS1ZNcUxiY0pabnptS2VPODA2ZXQvQkhIbFlYUW9lVVNpZThFOGwzT0JpMnVQeEdYSmV2a1dKelRXUEx2QmFXbVJYMStOYkRvSnMwMmtkUUxGaUxUdlIzZHFrdlNrZm9RVmlReml5aDR3emNNaEdHNGNSTmNtSW01OEY2MmdPL3EvQ1B0SmtaZTJJUTdPaDhrZEQvNlZDd0hNQzNabHo2L3RJNXVHNzZac2g2T2RLeE4vNkZOWDBaSEJUNUVOZzE5MStRVFhEaFVSYVg4QmxiSlhJVXo4aGdURnpPVmdncHgzMzRlTnVRRDUwZFUrbmhPRmxiZElMUEVzekJPSENqcVVaNUFmL1NDYzIxRzllRmxjMDVuendUWk1IWEo2d0VlKytVck1LdWhUZGhNZ054amh1OVJuQVJRdDkrWTFwL3NCM2tEdCs3K0NudFRQUER4ZnJ6SkY2S05ER3hHdVYzUHZWRW9Yb1RqaFpKL21mVENQZGI2Q1dNSnRKMFVBTEVNMmZaUGxXcEI2VnlHYmh2OEdRQ0ZBSEc0aGlFU0w1STdocldDMlB2WHNsOXlVSlFFNzN1cEdCSjhFMlduMC9FSXd1ZXRzTURjZDl2MUNwRjJIK3NYdFpQQ2xEZVNlVEEvVWdmOExTZlYvSXhKOUFreno4eVlNbjFMY1FKMHYxYmwxaG11M2ZOYzQ3L1d2dDZHWXVRRDZsUFZvRnZOemF6Zi9sbnptKzU4blcwdTlaTlB3VGVoSi9RM2l5azhCUEF1bXplYkc3QlNHYmR0eHkwL2pQT2EwRzVFZlhROW5ZZFF0SjhPU094NzhOdnI2d3hUQTNIQ0FiQnIrNzRqMy9oemgxRUVBV0FCdDZOT29sS3lUNEVieEgwU1hHbnpIbkQ2MXlxZTJ5a1hjaGZOaE9Db0YvRTJrRGxuNlhnSmdoc1FTejhQUXlQcWptTGtJWVo0cExES2RXUTNEQlpBby9MbnBENHp3SGNwdllSeVJOKytYSW9IVDJ6RGZpV09rci8vZjRQOUlCUE1nUFpsZUQyQjJ2QkU3NVNXYlZtQTBMcXNOaVB0NCtOODlxZC9BM1hJQmYzWmwxUTlYT0FMLzJzMFBJNjc4VUxqU3JNWm9sRlZTL1JHNjF2MEk1bG1wRmZmNXlHdDlDT2FUem51YWpWa0UrejdoT05adUhpYURoZmVRMjRZK2hWamlVZGd2MTh6RlRwRnJINWZBZkY2cVVSZmp2YytSdXg3OUZOazAvRDcwcEw0SnRvUFFxL05QSnh0RE1UMENJRXBIQmo4SnRqRWhuUExxM3FpaHIvOXJZRUx3Yk1IelBrVzJhRjlHcEgwZmdyOFBhMitWY3FlTjNXUTlyVndiZ0JQb1VMSU80Um9oNW5zSnBqTnU3QWE5YzZDd0JzRmQ4eHhFVXQxbnVVWVJWNlpnbmlSNHAxSStGNVZTTTRRd1FvdVp0OFBmcm5EeDJ4d2hYZXBUUHVLWTAwZ2hqR0VXU3VMS09PSzlYazVvZDdheHFKUlhJNXNPMnd1MkcwNEtDNVFkbzJUM3JmMVU0c09rci8vSDhLSVNyS0lBQUNBQVNVUkJWSEpnZDA2N0hNRDVjSzh0cXNkYlpQM0FRekFQT0xQUkdJOFNkZUM3Q05yUjhXZjFxUTQ0SDE4U05tNE5uR3QzZ2tiYTk1RzdIdjA4MlRUOG1hcWh0M1ZIbkNoNFVJZnIxbXR1OHhpMHJvaHBjcU42Y2VBK2hnMS8vZ0M1SjNNTGt1cURNQTZDdGdwVTFqdzN1dThFaFY2NEd2blJlc3ZhM29pMHYwcHVIL295Z3A4ZjZCVkRReEdKUGtZMkRQNFYzR2xpNm4xUG96ekhoajhLSUdGejMvSC9xdU5abmdmZjlZWVdNOWY0ZmJZT0MybGVVMkR1aDcwTHJiSE9JNmlkQU0yZ1E5bHZjOTByeTZxSGk0Y0Yvd1pMa2RONlE0anZJRHFVcVJEaW1WUEkzWkcxRUFBVjB0Zi8wK3IvWGh0enphQkRzK2tVMkxsOHMwK2xkQ0VtZDRtZGlwZUJVUXpEaUhXK2pMZ3k3aUVIQ3lqVCtvamJzdm5nYXVmU3dPN0hPRG9sM3ZzQzRrcFlPMWk5d2V3RnVRdU1lbVhtVkdmRVo4NUdUcnNpUUc3RTd4WjAyYzd1UGtHa2ZZcHMwVDZMcFBvUGNOWU1VZGdMUzNiWC9kcXhoUkhHdWdSU0liZDkvVy9KaHNHN1VPdjQwV3EvVnUvZG5IN3MwbTZqUHh6OElNSnplZ3FvQS8rT1dPS1hvY1huRGNNbVRSM1lqbGpucjEwODQ2N2Q2Rk1YWTJ6WWVvSkEvZTlzdUdvSUpyam50SXNBbkJVb2pscmFjS0J3b2MxMWIrTnZMR0V2YkVXaVJ4QnA5M0o4bkIwRXhVd1l3cEtWVmNpUFdvVTdMNU1YUnJ4WFJ5UjZTaHphTFNJMVlRWm1iUmh6UkhvQTdpdUtuUmFBWFIvZmZxMk5qY1Bza05NVUFPRWRUTnVUeWdLWTl2REVPUlpoZzJ0Y3JEOU8xOFZ6N0k2aEovVWpzT1dpVnZBS2VsSVBWLy8yMjlIejV4YlFiSHEyNm9RWEkxMVdkeVB0T3RtaWZRbHg1VCthbUM4M2hLSGxGTitOMmJ1dDNmd1ExSUd2d2xtakc3NTJ0VkphaGNsMFVMYzFScjVpblh1SU92QnROQ092M2lBQXl1U080YjhEMHhRNzJVMDZYUlBqNGZjWFU3YWIycjNBR29udVI3eDNOL3dNOEdMNC9PZ3ExR3JoZ3JJVWVzSHZVcDlSWmtuMUtaaDNSdko4SDBKYzJXKzU1ajBodmRDRjhHeVlXVDZLbVU0NG0xNjR6MnRjZVFWQTBITXk1eHhTQ0ROanpHSmppU3k2MXJrOUY3RlJvNDhqbTE0WE1HOWVvV0JhdUp0ZzFzSlpoVVUzOFp6OG0zU3BQNEUzQTlBRktHYWVBL0JMQUU4Q3lJSTVqL3c5Z0tlci8yZXE5NTZvL3A0QU1BbmdxZXJ2VFBYYS8wZTYxSC8wbUg2WVVCSlhuZ0FidU91VlhhT05CK3paU3VsQzJIdW1EeHV2Zy9RTTFJSDdFVmYrclNtNWNVK1lXbm9qcnE1MXo1Qk53MS9EYkh2ZHpxYXZSNlVjeEZlZm9Ya0Nac2lHd1hRRFgyQ3pnYkVzbVZUL0QrSzlEOE1zOUZweHI0M05qMTRMdlpDc0UxYk1Bd0M4anJqeXBPV2FGL2d6SzFETWhPRlRVZVNDcW5BbnB1VTFqMitSV09KSkdKc3YrT1NWQUNpaFEzbTJldDEvdTVuT3JJVGgxVDRvdEJyblJUQ2Z5MnUrN3pJdTBxR000eFFVd3VUWmtiWHdDdndtNmV2L01jMlBwaEJzTU9CTGtqZVN2djRId0p4Vk5odmVVWitOeWZRTk52ZTlHT1liWVNMdCs5Q1QrcFhIdkJ3a1cwdmZBdkJQTUJ4NEVwZzlqSXU3NWtTTkdCSENud0N6ZTNrRGpZV2M1cEZVYzJBNzVSck5haHVYclY1WUJUYlRmNjFSVUJ2OEx1MDF6bGVzTTBzMkRIN1RSNTdtQThmSmhzRnZZSGJQbnFNQVFIUGFldFFlRytidW16QkU0ZVlWc0dQV1pvUnJyZXJMZWJwdmtMNytOTjE1OS92aGY0SXY5Z01YSUtlOUEzMzl2MnNRbnBmTGNkS2haT2o0OWhNSXBzMVpoT25NRllncjN3c1FoeG1tRFhKeWd0d0kvbjQ2MkM1SU80NlNXT0paYWk0UFVXaDNWOGZ5b3pHd3Z1MkF6N3hhV1VUWm9kMVdvM3kzQ2dBZTdnaVM2dU1JLzNEMWxpTTFZYlVZSFJsekd1aGw2YzBwTG9ySlhkZWdVZ3BpQStTZG5OYUxTdG02TTlPL1FObWRtZ0NROC9qVUVRQzd3YmI1Lzc3Nit4a0F6MVhqZWduQVZEWE03dXJmTDRINTZlRUh0YjRBNW82QzJ6eTBidUlRUzd3S3c0QTdXRDcwcVhNUmpuMVFxSGFkWk1QZ2YwRDB5TjA2M0FxYTd0Ky9hMTBHU1RXSWZ6YXY4THl0eEdUNjJoRGlZK1hSdmZGcFJLSmViRE9iRFh2UHZ2NWZ3akFYQ0x5cGdtYlQxNk5XY0hWT256a3lEYXd0b2N5TXcwMjY3amhRaU1POE85ZFBtMzBWU2RVNkhobUNDanREOGszaHVoK1dCMWcyRmVIdkYwVk9zenNLeW12K1hxOGUxSDdLSVlVd2UxZ0ZpVVR6V0x2NWtRRHhpQTN0UEl3TjN4Z29WKzVoUzVHVDZWdGcrS1d4Mm1sNFhZb0U2VW1Od3QydVNERnVjYWJ1dER4aHQxSEF6KzZ6TUtpM0d3NWc5aGk4azdmclNMeVU2NWxncmdyYzVzTXVqWEFGMGtoN0dYMzlyWEl1Yk1XdEVGWXZqTGtPcXdNL1FDdE9zTWltRlZUS2ZqMmFBN1Z0OFdHWWJZUG14b3BHSkpwRDkwWnV4aEc4M1U3dXVoYVZVb2ZscXZPR2xManlJb3p2NjM5VFZURnpNWUpQa0hoOEN5aGIzclJxNXp3YTVYZVdVRnQzalhmc1VBb3c2a1E5dXp5bmZBTEFtVGhRQ05PbDBnb1VKL3dlaWk2YUVPZ3dPMms5WlpCQ21EMThBSHlMTUVOd3ZvVG9aL21IejFUYXF1ZnloYjNyeG9semJCeWtlc0g2cmlVazFaL2FoclJIRkNMcUNWbE80ZXNKUWw2b0ovaDVGWFFJZ0NQb1dqZFZKKzVHblovNHpDTG9CVCt6YlY2bndoWk9hZFVqOVZURGtMTUQzekViRmdlUlZMMHVwNGNDTFdhNlVYdHdzNWVsU0E1QnBMMkV2djdId3NsWktJajkzRnRWQVRHczd4YkhkQ2JoSWh3M1kzZ05YZXVDYTNHTEV4Y2d1SEUrN3dQT3huUW0rSm1Vc1VRSlROTmwzemRGb25zUmFlZGFlckg4dmRTeFJUU3ZYZWJ4R1R0WXZuTGF4UUNzVHBLOTA2SGtZS3hBbkZKSUZ4VzFtQWZQbnRTVGlMUy83QkMyRWVheUxVNWNCYjNRN0IxeGZFZEtGL1FwSitOU3Q3WmdScmp1aldPSVJKM3NFUnJueDhETjluN1JiVVc5cmY5T2FWaXYxeE82ckhFNnBjVUhHZEcyZzFydXU4WG9PQThVN0x6bVc0VlRwL3VOeXNVdXpicGhTRkw5QllEWGhYUmEyVCtFdVRNU2lQZStqRWowMlRwaG04VkM1RFR4b0c0djJtaU9vQlZRQzJETCtuTU45bDQ5cWFmaDM2YklXaVlSbXRjdXQwMm5OandGY0tpNmd6QW95NUVMZkpnM3o5c1pWVy81UWFEVk0xbjVzVm5zbWptdEV1S0s2T3ZPSHdjS2w4SzhkT29mZGd5VWRmTGhlWVdEZEttL3d1eWVCakZyeUxNakcvTWl1bE8veHZqMjFSNmVFV2U0WWtWYmdXejZKcWdEajRlWFBkdTBRYlBwRDZCMlI0cmZRWTJTbnRTamNIOWdONGNiaGM3R1VvbG9nT3BGRlM4K3Z4aXN3NGlBN1ZwY0NMMFF3WUhDY2xSS0sya3gwd1hnbmRBTDNMYUhIKy9UU0dpcWwyYXoyNkNYTWpoVU5YN2xuVjJybDdqQzFZUWwxVDFvalZQVHM4SHFEaWVZWU51aHZBQkRVSjU3UktKVGlIWHVyZG84K3RQMk1kaXowNW5yQUh3TDlVOHhPRGtoSVhIbENXcHM2UEVLeis4aW10ZmVScEtxanlocVdJYmloR2lVNzFZSUY4dnVCSWtsQ25CdWt4VEFZWFFvZTVBZnZSYUdrQ05xS2QybHBSY3VBbHVLRGJxSmJCSE5hV0c0UjZxZ1E4bUVFTStjUkFwaDlvakxQY2ZJK29GZGRIejdoK0hlbllCamhhZmEwSHVKT2pBRXc4aThHYXhFTm4yenpYVlJRS21IdGRHVzBaUFNQS1J2RlliY3B0c0lKMXVRUmhxcEJXQjFmU0hZTjF3Q0lJS2N0aHpBZVNobVZ0RktLWTVLcVFQVG1WVUFWaUEvdXV4a09DYk1ubEY5ZmhITUFoOWczOG5WNi9URTU5enM0cXBYZm03TDFjMkFWRUpjS2JpTWI3NXdzaTZTTHZVRnpLNTdFL2JkaXBrTFVDbmJhVUs4Q2lnVXdBeUpLMW5NelYxaXZKNitqbGppRmVpQlY3VloyZVMxaThFbVIvVU9samI2SE9hcTRUQ1lJT0ZIQ0dSTVo2NnNwaHZNbFVreHN4TG13OXJkOW9kaVAzTVVzVVRXNW5ueDd4a1NTMlFvY0J2c2xRRHV5SStlQStiWDZ4WFB6NW81QjhVTUY4TDhmNGRJKzE3RUVpOEZ6TXVjUmJxb2NFTmNlUnl4enBlZ1QxMktJSlVKQVBTcEsxSE05Q0t1aEcyYllnenNldUV5RkNlY1ZQamU4OTYxTG90STlHbmgrV2JYR2FjMDZxVzdBRXhZV29GSzZWeE1aODVCcGJTQ0ZqUG5BVGdQMDVrWUtxWGwwQXRSNkZOblZjUHkzMHZCaEt3Z0dncHJ2WENxSitJN25JQS91MHhyT1RRUytOeDlyMWpuUVlTM05UMHN3cXRya1dncDFQamNjcVMwQnVhRG0rRWhIOVlscCtQb1VDWkR5VmR6WUFKRFVzMGhQM29Ud2xqT3JwUXZBSEFlYW9Vdys3aGppUUppbmJ1aFQxMFpLTjFpNW0xZ3dvaGZJWXg5dXdPRlRwalBqUFJUQjE5RFV1V25kVGozNVhIbDkyQkxsa0YyZHA0SnZYQXVZZ20vejdNK3AxSTZEL3JVYXRNMWN4aDNkS25UQVB5YUJNMTVwQ2FzUHJ6aUZORFgvMk9NM0J1R2F2VmNPamE4a2R3MlpCWEN3aEJ1MlBQWmRCK0NyZW1MRGVTRVpTZVduOEhESzQyZVBSdk1oOUFhRkRNOVZDOWNoT25NdWFpVVlpaE9uQVBtYlBCc01DMlcwNkhVOWRJVzA3YythKzBBL1N5MWlMWmNYalJvVnNJU0tGZzhzY1JoekxZRDAvcUV1WlI5SFBVMUtjMkFtUWJrTlNkbmxWNWc5U0xTdmgreFJMNUIySlpENHNwek5PaUUxV0FsY3RwRmdoQ0NPdkVTQVBzUVYvSlZJY3gvSHZTcEMxQXBuWXRJZEkrdjU2dFVkMGFLUXBHYnZsNWNqUUZpbmJ0aEZrU3MybmhHaDdJWGJQZTJrNGQ2TjJsR01KMkpCeERDR0RsdEZReWpmQzhDbUxtUDdWQmV3dXo0MTJ3SlVnaXJqN0dVMGRlL2s0N2MrMm40NjB6TkZUQ2Izb0RiaHI0T2M2TUtSd0FEenFiWjlDMEI0eEVieVdIMHBHYnpiRHE3RHFvZGVpR0JiUG9HbXRONm9CZldvRGh4Q2RqczJNMlpuS0tObU5qQW5aWVQ2eG1OdXUzUTNYUTBGTUYyS0ljaHBJajVPSVpUMVBnVndGdElxbnVyZjgrR05sZE1SOXdkWnJlVTNxaXVDSnNMbEpjUWZKbW9XUmp2MXFFY0FLdExZZmphaWdBNDF5WXRKMXZNbytoUW5zYmtMcitPdHZsN0xFRk9XNDJlMUJNKzR1QXNSazZ6MnlEbExWK3h4RFRNcm5Ic1RUTWkwWDJJdE85RHBid0M3dXFXRlFybVlEVkplbEllSHpYRndYY0VCejBSNUFUcFV1ZXk1amN3Q3pGN0hkSjh3MXlCWTRuZkk5NDdnZUxFOVI2ZUIrd2FnVDdWaFd6NlJ2U2tkZ1RPcFpWSzZSTGtSNE9wNGNWM2ovZStnRmlpMlVlajJCblRuNDJjcHRESjlEcGswemRCbitKTEEzWjU1Yi9yYWFuNHZUYWJlMkhNMXYzaU4yM1I4RGJNUE13bEljeXJWdEJwK1plQTJZSzFZb3Y3RXVRMHU0T2JnZnI1dFlaaDF5UFJWK0I5Zzh4c1lkVEhXT0lRV0ptN0ZjTHFDUXh0TksrdDhHSWtUN3JVTVlwN3ZhUmZFd1VBMEdMbTdhUW5GY1J6Zm52MVpBdzMyRTBRR1VsMVA1ajVRcU0yL3lyaXltNGZZNEJac3phZHVSaXM3STU1aklmSFJaRFRySG53MDlkVjBISHlLS3BURXVrbnJENWlvM2lOOVBYdmdudURXTHVPbFArTzBHeDZBNXB4Ym1BMmZRMkNIWlpxMWhBeEI2M05zaE95enVZV1FTOTAwNTBEWDZIM1JIOUc3MS8vbjlEdSt3cjBxWGZDZUNkUjJCSlY5azZIZ290cCtUZFdiUTVoR0ZjMzBvWTFFdEo0V2N5Z1E2bGdiZ2xoWVFxWVJ6SDc1ODVSTUMyT2FBOUdZRGZJR3VHZDRFYm5MNk4xWjZkNjRRMFkzdHZEd003TmdUTnM2ZkpBdzNDMW1Qc2tKa2o0RWVSNFBDdWdUM0ZucFY3cXN4ajJHSWtsOXR0Y3QwdXpnZzVsdDRkMDdORUxGOFAvR1pJVWJFZHdRcmptOWp1WWwySGp2YnNSaWZKVFd1Wkt2eDBxVWdocmpESGc5L1YvSC82UE1USUdPd0NZVEw4YlFDSlF6bXJqWGtxemFSWGhWZGFEcENmMXM1RGlFckVLWHhIa3RQZlFIZjNmb1lPcmZ3THR2ditKU3ZrYUdNYXNkc0tLa3oyVjA3VjZnMStyQ0dNNXNkRzJmVGV3Y29sRUR6V0lyeFdFcGFWL0M2MnhLMW1DWVBaZ1ZrM3ZtNWg3MzRnamZxdERDTFlEM05vMlJDR3NYaHZtejd5S2VHOXcyN2xpSm9uRzU4UTZrOU5Xb05aWnFWT2RkdEp1SDBFczRjYjNHVE9kaVNXZVFkQUpYbkhpUWdEbitIaVNmWnRpWmcwcTVVVDFtdmcrYmllRmpManlGSXl6ZFUvSkZUdnU1MGppaGtqMEJYUnZIUFB3aEYxbndRVGZTdmw4Wk5QdkNpVmZCaDNJYTMyaHhSYnIzSU80MG95bFNLTmNpcG4zMEczcU1MMS8vUzZNYjk4RTRIelVkaUNpTVh0dEhQTVQwVGcveVBOaDVBTmc1VG1YdEdCaGN3S3RlYjhJOUVKNzQyQjE0Uk9PTnJCZHdQT2g3cGNRNi9UaWs2MytCcFVEaFJVd2JKanIxWDB1eUpRUlY1NTJFYjVlSEVDbHZBckZqUDlqZkppVFZ2SDRJei9hc01QVk16SGRFVmVlQjV0d0JLa25zYXByRFg5TVp5NEQ2OHNCLzJZVE15U3BQbzF3TmFwekRxa0pjdzhCTUVONlVydmdiNTJjd3l2alFqbzIvRUhVcXRuOWswMzNvRkxtNTZ4NW1YM1loK3RKL1FyQVh2dWd2akMwZ1pYU1NycHo0Qy9wMXF1K2kvem9SMkRld3MwbkIzYUc5SzNTWmxuTDA2bE0vWlM3WC9qQUhEUU9nT1hWcjRQTCtjQUp0RWFEdEFUNmxOczI3cVRKNWN4ZzdtckJBSFArMzBBczRmY01SeEhXMXZSQ0ZPNDI0ZkI4SENkSk5RUERqc3FyZlNIL2ZSYW1NMnM4UEd1T1NDOWNBWGUrQUVYTS9WeXM4eFVZMmlEYlpFei9zUjJTUWV3R0tZQmwxVVBIL1VBbzg1VHZaK09mK0M2SDBhRmtIVU9lSWtnaHpEMnNjdlQxYTRpMHU1K1YxR0owQnBPN3JrR2w1SFMwa0pmNDJHNlViUG9HR0JYZmZ2ZU0yN3dCQjBsZi95TUl6eWtrejJjYmlwbXI2VGIxbjZEZDkyZGdLbTg3d2FYVlFoZkhUdUN5YmlMd1MvM1pmMlBNOWhPTnc5YTdmZ0xteWNWY0VNYkN6a01ydFA2TDRIMFF0c0xMNFRpSkt6cm1wcU5XTzRMa1UveFdNL0R1YWdib1VINEhmL2Fzb3Uwb29jWE1XczlwVjNjWklxY0ZQNll1bG5nQlFObGxta0FrK3JyUG8vWkU0L3cyeXZ5a2VZVUNXSUxwek5VMStYSzNXMU84LzFxVFZtTG1GUExzU084VTBaMzZSY0E0ZUtWY2hXejZuVUV6VkNXS3lYU1B6WFYveHVpUjl0Y1FEM1VXd2hwZ01mTXV1azNkZ2VMRSs0Vjc0bkpqTStzalQ0T2ZUY21YcUU3QWZGYWxpRlVRNUhrTWF6blFtajgzV0FXdm9HWEd5K1F0eTdWV0UxWjlhTWEzOHBPSG9CRE03YVVaY1FMVkJrTnIxOGlHeTY1c3JPM3RoRTI0K2hNTDVzNWpYOTBjMTg4WEk2Y3BNQzhwdXVWTTZDWnRrcisrbUMxRldqZGoxS3RQSmNTVklQWndMTzdwR3Y5bTlSRGZLWWI4Nk1XV2U5NG4wMTNyOGdoM0pXWk9JalZoN2hBN0YxU04xZjB1QzVqc21xcTdKUDB1U1lxMlZWZWdVcjY2WVRpM2RLZHk4TDhKd1M1OWdtTG1mWFNiK2crb2xLMHpMQzhhSGJlSXdwWW9ZUEVsTjI1ZnM3RDZtMDlJeE4xMCt3RThnMWluaHE1MU85RzE3aCt4NGM4ZlFxd3pqM0NXN29KcXdqaGhEUEF6WU84Y0pCOWg0NlpPek9ieXIxdXNTNGhoN1lJbHRKZzVDM1BuKzlnaGZnTzNSM0k1dlErZjdQQzZhVFVEYVZRT0I5RzFMaWY4NzlVc2cvMHVUaVFBdUZtYXN3b2JVZWhUM0xqZE5JWjQ0SVN3TTlJTkJGNXR5QXpNZWRRTEY4SnNKdUltYllDZEYybG5UK2F0ZlNiVkoySDBTYWNzMGxtck4xZ2w2a21OSTlhWmd6NTFHYnpQMXMxaEozZGRCYjNRalZqQ2k4Ry9tQjhDQUhSc2VEM3N0eFM3elorbzRUbEdlbEkvUVhnZXhpbUttZlYwbS9vTlZNcGRObmtLUzlzaHpwN1owcWNaZnAvN2pEcUVyblZ2QW5nREhjcXJpRVQza0VoMENuRmxMNEI5NkZCZXFSNTE4MGIxbVRZQWw5R2MxZzU5YWsyZGZNK21NT0JHeStNbVB6TmdXa0hyWU5GS3dTWnNvWHcyMytWa1cwS2svVGdxWmF0eHNoOGJwUVZnTGkvOEdqclBGaFJzUTRMb0xkM3Z0eVFBWmhCTHZJcmE1WEs3dWlwcW00NGhxWTRoUC9waEJDdXZjNUhUZXNHTXhOM0QvTVA1TjI1bkhFRXNJV3J6Nm4zN2szMDRpU1h5bExWbkwyTzhPZTdpUkJ6TXVON05ZZkZHMlJjelY4RjhWcVlZdjF0T2tManlySWZ3OHhaNWRxUTNlQ1dkUms5cUJOcDlseUxZUUVFQm5JZHNlajNVQVQ5Q0dJOWpFWmhyQ3V0MUx4aWRWNlQ5MWFwL3NIQ29sRmJUQjFKZmRSREFtZ0dmalI1QnBGMUhYRG1BV0dJZlZpVHlKSzQ4ZzBpMGdLVDZJcGltNndpWWdPVkdzOWtHdzhZa0xDMnluL1lYbGswYWo0TU5kTFc3QjBYQmZMWUpPOTFXOVhOSEVGY09JWCt5T2ZtdC8veVpCWmdmZlhZNzlDbnVIODNQKzU2MFRRSUFyRWk4QnJOR3NaRUdsQWtqY2VWcHlyUXBpeDNDdVdFUmlwbkwwZGhackZrb0xHWTZBU3czWFd2OC9hMkNlZ2xKTmVjVTJJSVJMM05UOFRwcVR4cnd3a3JrdEl1UlZKOXhtVFlGc0pCT1o3b1I3SnNEUUFrZFNxRGpvdVlMVWhQbUhRSmdodlQxUDB5MSt6NE5mN1lDWWx5RWpnM2ZTTlNCdjRNNzQwdnI4eFRGek9YUXA2d0hkb3Rodk5HbFBnUEFUY056d3dJNk12ZzU2RlBYb2JrQ0dFR2t2WVM0OGpTUzZqanBVbjllVmNrZkJCTzBqaUM0YXB2YnVkUTdsOU9MOEJCV1diaU5wMTc1ODJXZnVZS2Z1aEpFMnhLMndNZnpVb0hScm9Qa2o3TUVUQkNiNis1RXprYXc4MnV0K051UjNxRThEMlpYdEJydXk3K21QdERwVEJmeDZFR2U2b1hWTUNaclh1cVhrVDdiR2VuR0xNUXNBQ2JWM1dBN0tyMEtZZWE2cGhmY3V1Zmc2WitMdk5aamM5MGFkMzFpblFjUVN4UmRoNS9IU0NITU85em84M0hFT3ZQUXA1enNzTnpFVXhXaUpxNkdYdWhGTFBGelgzbkphVGZEOE1uaVovQXlQVU42VW84aHJJT2NpNWtib04zWGozRHREOFg4SGtYM3hsK1NudFMvb0s5L0hFQU96WEhLeWJWRmIyQnVhU0xDeW9zb2hNMkY1YTZ3YkFTdFMxU3pCUysvSXdDc3Jocjhhd21tTStlQkNUZHo5ZWdpemxLNGR5blJpQmswRm41NG5UWFgyMWhpR3JIT0Y2QlByZmFZcHZrYjViVXJ3SllXM1FnR0ZHeUhZSkRqNDFqNnpNQytrUkJ2MTE0UElkYjVHdlFwditrekcwUzljS0ZOb2s1TDZ4U1YwaXJvVTUwKzB6U1NpaXN2d0JBKzUwSi8xRFNrWWI1LzloTjFZQ1RBODZKNk9rcTFvWnQ4UEFzQXkralk4RTBJYjRBNWhKN1V3eUhGQmZxOWdVL0FjRU1SVmtNaUFFNWc3ZWJ2azhHWFV1VE85RTNvNi84MmdDenNCVEM3QWQxcVJOc29QWURiK05Sdk4xNW52SDdDaW44M2M4bHVMaHVBdTZXVjcwQUF2SUdrR25SR2IzeVhTaW1PWU5yM1ptS1V0VjVZaG1BK0VNWHZOa082MUhxVFFqc2htNWZaVWNTVklDNkZXRHo2VkFLVmtoZW5yZFpqZXppTjZxUDVmb2Z5RkF3QjFFc2ZlZ1N4eElzdXcxcmpGSGVHWG9iYTcraWNCM2JtWkZEbnhFQ0hNZzVqb25IS0NtQ0FkRkhoQjZPODJDN0pJT2ZSR2JzQ3MrbDNBempMY3o3MFFoekZpU3RycnRmKzNUZ3VBT2plbUVFa0dzNVNwRjY0RlBuUjlVSWFmdXVhdVJIR2UzZVR1eDY5azJ3YS9naGlpUi9CYk05bGw0WmQ1MFVkcmpmS3d4blFDMTYrVTVpSVpTaitIYVNUc2h1NEd0bmJOQnMvZFJpd3o2dFQvcHNseU5yeGlrMmFiakhuclppNUdQNk9rNWtOREszamRHWTV3anNiMTh1NW56VmxUTmd1dTZCMmxHZTYwR3daYVZkS01WVEs1OWplY3c4bHpNMkdWOWdrbGIxM01OaVNhaU9obi9lamhPYTFHMkRlRmV1bjN6OUt1dFJUM2trclIyckN2R0ZlVG9nbE11aGE1OWVabkRrdWZhb1h4WXpkMG1iOUNzeVdJa1BybEFuemtsOEtHZzBBSUp0K0Q0QkV3TGlNK0FBZzN2czQyYUxkanFUNklHcnRZcHF0dHFZQXpvSStGZVFzUUE3dm5JTG1ONnhKbEZlaGREN1IwdmNpWFdvT3hqbUt3YjVYcFJ5RFhwaXJRdGhKcWg3VGdYREsvVFVrMWVlRi8rdlpOZFl1azdGamZBSWZlazd6bWh2VEV5NkVyZ0d3d3ZhZWU5N0FDbGZ1S1d6TG1NUVNMeUdvbmFjK3RSTG1BK2pyc1F3NXJUdFFlb3pYa1ZRTEljUXpMNUJDbUhkRTRlbDEwdGYvN3pEOFVIbkJPa000bTQ0TnArcWtaNzFHQVN5ajJmVE5xUDJPWHJRN1l0Z0trdW9qTHA5dEZHK0Vha004YjBFNll1UFplTzl6Wkl2Mlh4R0ovclpoMk9heEZQVWRHSHFkK1FVVm9zTFdaTThsemZoczVLWDVhU3lOdmdqRExpd29pM0dnNE1lVCtXeHlSdFhSSitCUFcyc09HMm5mRDJDUDQvMUdjYlBsWUw2cjJmLzN6bWxyVUgrMXdzaEhNWE1KZ2gzY0RqQ1A4YTgwRHVhUWgxaGlMOXk1bDdBejFlQXNSMDdyY3BuMnFxcW0xZzlpUC84cTZoL1RkRW9oRC9BT0NsdVNmQm5CbHRyWU4yQyt2dHpPT29CS3FST1R1OTd1TTEyT3FHWEtJcGI0WGMxMVAxUktLNkZQOFZtUlg0MlBhRlQ5SnJsdDZPdUlSSDlYNzRGWklGTDlDUU92WlNJS3pTZVhBQkRzVzFtWGFheExrYTBReXZ3YXNOY0xYMDhiMXR4M2pDdjdFRXdJTStXUDVyV2diYjZaVUFCUkZET3JRb3N4cnJ5SVlCc1JYa1c4bDV0WStKa3NNNHFaMVFBNkhPOEwxNm83STRNZFY4V0VrVmQ5UDU5VVh3RWJtNElRZ1Y1STFya3YyZ0VtVUNsYi9hSjUzeWtlVjU1QmtQZWVaMGhOV0ZBaTBRSzZOLzZ5K2w4d2diWlNUb0tkLzFnUG83Sm0wMnRoZGdZb0RqUmVETTRCNEFUcDYvOHBhbmR5ZWNFUUNLWXpsOEpzb0Jsc29PdGFONDZrdWpOUUhQNFJEVlZYd3Q0cGJxc0lhd2VoS05DRnRUTlJ3amlJcm5YUE53NW1TKzEzbUE1Rnk5SThLcVUxMEtkRVljVy80QU1BU1RYcklvNTY5OThBTzh5N051N0dDSnNpeWhkQUwxZ1A4N2JUeXAxVjdmL0VhOTc3MDFqaWVkUS8rN0pSdks4ajF1bm4yQi9UaEl3V014ZTZlb3E5czkxbURDK1R1Uk1rcWY0S2MvdDRybENSUWxodzNxZ3VTYjZKNEFQWFVwcE5meGkxeTExMlJzUm4wSnoyQndIVEV6bU1udFNqQ0NaSW5oUUFLZk1WRTNRWEYzL3ZHYkpoOEdFdzU2cXRwWml4VzVJSVo3blZIMkVKU3dTMUczVmF2Yk93a1REb3B1eGErUTU4OERtT3BQcDR3TGlNOThocmF3QzRYU0thTGNUSllTL01FNVVnRzBpT2tpNzFxWUQ1b29TZGc4dDNHWG8xSCtGaGx5R25XYy9udGF0ZjV5RS9tclFKNHkzTkR1VkorUFdQeG5nVHNZVFg1VXpBK2s3TXZxMmUwRThBTEtGNTdUb2ZhVmtwbzBPWkRDR2VlWVBjSGVrUDh3eWtKNlVoMHU1Mk8zQzlPSUhKOUhzQVdMZEMyelhlaXpDWlZpelgvR3N3WXAxNXhCSlArSHEybG9WZ25YQVFQM1JpR1I5QlVnMHJiMEZZNHVBTjJtOGI4clBjRnZidVNER3V1ZElmOE9WclA4dTFUdGZzN3MyYXpSbUpLeGtZeHZsK1llOVFLYTlFTm4xTndMakNoZ3VjUzJnMi9WN1l0eEUvNVgwQUhZcWZNMnpOYWJHQjNXb2Y1Vm1JcDhYTXRURDNhN1VtQVd6anhIS1k4YjVETUpockRZQUovemtFN1IrWWZWdWo0NWVXVnQxVFdQSDYzVXVJSzFNZXdzOTdwQ1lzR0x5QzdVZDM2cWNCNDJCVXluR01EVzl3Q0dlUVRiOGRsYkk3TlhGaktIcFNQMGRZdXlMWjFuUnJKK1F0UHlLeHp0ZGhOc3h0RldlakdNZ0JvNVd3N0RHRENCT2lVTGNnWUZ4aEU5YXlhT3QzZmZha01nRDhMa2xhYWFQWjlLMEl6eGxxR0REQnVWSzZJQVE3VllQdWpYc1FpWXB0MzZ1WkJTT3U3RVdrUFlpcEJjUFpENWFSNW9GQ0Ird1B2dlpTbDh0WWtRaGl6OFdFLzFqaUtSZzdRLzI1NmFpVVY2RlN1c0RoTG05Ynk1RWZQZC9odm51NjFyMEtkNXNKVGhta0VCWU1QZ3VpWlAzQUxnUVhZZ0NBMEd6Nmc2aXYvbDFVblcxYU5VMStEWm9ycEs5LzFPTXpkcHpjdFltY0ZvTy9YYU8xeEJMVHFHOGJNVHRVU3Vlak9KRVFyZ1QxUFJTR2dCR205c29wbnJra21IbkZiaWwvTnVGcDdrZjN4dkNXSk1lM1g0ZEtLY3dKUVZEWWU3SXpiSzNHNjc0aFNmVXhtTnUrbDI4b2Z2dlhFVmNLd25WL2RUby91aEpBM09iT1NidW5xaWxHME5Ob0RpS3VCRDhWSVpiWUEzL0h0WW5sc3d6VEdic2R1VVk1c2swTDNIV0sxMG1QRVRhcDdzSGNQdzBpVk9UdXlPQ3c4bVBIR0FXeFhUQ1kzTFhXb1lQbERlTWM1TFYzMU0yUEYyS2RyMVIzbk1IcFZBQUFIMjlKUkVGVXBJUUZSU1FheGptRXhuTGtYRGdyTDV1K0Z1YU9Sdnh0eGQrTXZUN1czWkYrNHFqSFhCRzIvTzc2REdvLzFneE9EczZFYVp1RDJQaUluSTlzK2hiTW5XOEdBQkdhVGFkZzJMUUduYVFjUWsvcXB3R2VGOXZJVzRKSlE1QXlXNDZpeWVqZUd0ZENIQ2hjQW4rSWJocU9JSXpqMTVLcUR1QlE5VC8vWmhQRlRLL0RQWmJubkhZSkRLTjgzblk5ZjdmcXNuMVliV1JlSURWaDRYRzQ2cTdDTDJLbGpWWWRuZHBUekZ3cW5NL2wxL1dEYU5NMkRtQzNrSThnRUFCSDBLSG9DSzkreFJDZTkyMi9MS2JhMEszd3R1MjhrV1lwRE1IQWk3YlJ6YmV0SjFUTzlvRHZOczFHNysvWHhpeGNtQkFtTGtrR2NWRkM2TWpnaDJHdmxaa3R6TjhtcDZtWTNQVWUxTG81OFVlODkxbkVFdU8rbjdkQTRzb2syT2thNGhLOHEwZUZ2eGNqcDEwTyt6Yk1WZ0gwZ3QzU25UZjdzMWppZFFTM0lRU0F3NGgxQnZhNTFjRGx4cUtxcmF4ZGY5K29qTVdka3dlUlZIL2pNNHZ6RmltRWhRT2I2YW9EUDBSSTY5bFVHN29GdGE0UTJKWmg1ay9NYm9lZWw0R1NoM3VEZEtrL1JiaGJnbytDN1dRTXFnMWplZFFMclRndnoxeU94Y3cxS0U2OHkzTGZhMmNlTmhSaGxiRWhxSVN6aEN3UlllVVppVTVqN1dieHZObGc5VWFmdWhMYTBFY0N4ZUVmcTZiakREb3krQ2t3V3loK0w1RGdYajJiMTQrSmgxWGdabjhuMWQxQ2ZMNDNmZERwVEMrY3o4VmNoZnlvdUxIS24vRGZvZVJnYUxDQ2NCaXhoSjJodTdjOFRXZk9oN05ybm5OUnpBVDNsQi9yTENJU2ZTRndQUE9NdWJJYmFqNWpOTEpZNGluRWUzOGpYUGVLTWJzcVRsd0d2V0RkL1FnQVp5Tm4yZ3JzUnhBd3drYmE5Nk1uOVd2aFh0QUJtQUk0VHBqOXhWR1ArYkpTRmNLbW9xaVV6Z3VZTDYrSTVVRG8yUENIVWJzVUNjeHUrM0hhSFJsVzNOeU9aYjRLWVhNOTM1U3NIeGdCVU9iL2UzemUrczNiNk1qZ0g2RlN1dFRwZ1NaaXp2dlk4SzNJajk1Y2M1M2h2WjVHMmw5R1gvOHVmMWt6WWVRbkVwMFMvR2I1cnl2RlRCSk9Bb2xldUJCbWg5c0UzdHZxVVJKWGZnZkRvRDVJT3orQ3BQcDd5elh2R3NCaTVoeVlkMGdLbThsS1VSUW43QTQzOTJhU0VWZW1FZHk1N0x4RGFzTEM1UWpwNngrQldlWHRCWEhXZEk3dGtxUmVXSTNpaEpzenpOelJuWm9FVUFndFBrNGtXa0R3bWR4Sm4yaklwdGNGak1zL2V1RnFhUGZkVnYxUFZKK0g1UnFpMWZCNnR3REJOV3RoRW1iNXRMcWNXZnB4WlJ6eDNySFFZcTJVTDZFamcvOE5RYjJ6QjhwREtVRkhCcjhNWTBlZzJFYThZUFIvYkZVaDZBSFVvamFPQUhoVmNIL2d2ejRVSitLb2xPd0ZrZ09GQ3hEOFJJMHlWaVJFalpCZnJSM2JOTWJPa1BSclo4WGRvc1FjbGxtQjZVd2NJWnhmVEpMcWMvQzNpV0JlSTRXdzhHQU5zYTlmUTNDbm9teVhEWE5WWWRhK1pOUFh3NzdDK3hFSVRoQm0rSHJFeDdOMkdJUG0wbWdCL25jMDFzd2VhVGI5UHRodkRXODI3WFJILzM4SDg5MTJjamNzL0E4MElyNk1Wd1c0NEJRa0grSkFkZFJ5L1ZTajFlOUVBQndtR3dZZkJOTnlCUDMrRE8yK2oyTnN1TitTVHJPd3hoMmwzeHY0QytoVENwZ0FIMFJ3WnM5RjJsOG42c0NEQ1BkN0VRREhpT0UwTjBnWm5ZbnBUS2ZOOWNVMHIzVWpuSjJSZ2QxVHdGaWhlUW1HZlpuWERUMDgzSms0VUxCZFpxM3VCbzFZN25tRklxNDRuUWw4U2lOM1I0Wk5KUG9zdWpjR1daTGtVQlFuTGdkekRzZ2hkR3o0cGdCeFdqa0Fka1JFbVBEZG9xOGgxaG5XK2o3RjVLNnJVY3pjSEZKOGJpRVlHLzRFOHFPM3dyQ1ZDbXRYb3QzemplcUxkWGRrV0pvaUN0WVhMTEhFZHlyMURhM1doQUc4UEh0U1AwTFh1c2RDakhNSjNUbXdGY1hNcmNLMVpyMnZXQ2NXMFIzOS96Zkd0MzhNckgwRW1kUWI3VW9kK0JkRW9tRVphSnQzYUpxWCtmekVSUUVzcWdvZWdIbFN0aFRUbWN2OFo3Vkt2UGNOQkR0cjFOeEhKZFVwQUFjdDk3eTI3VGFhTjIxSU9Ia2QwelcrRS8yc0ZKU3J4MU9kZGtoTldEaUlGZk1ZNlVuOUFQNlhKQUdqOGk2dENsMHNua3JwWWhRbnJBYVEvbmQ5ZFcvTUl4SU4xeldGUVFVOXFhQitrWGljQk1CaStyMkJQMGFJUG9nYVVzemNRbmNPL0JuWXpreXJ3Qk9HZ09KWGlCSTcyZU1lOGxJdlhOQkJOR3k4Q0x1Tnd2Qnk5anNBaFlFb0dKWEloc0g3RU54bTBxQlNYa0czcVgrSFl1WVdJYjJ3c0t1bkJOclFYUmpmUGdCV2I4S3BPNUgyVjRnNjhBRENkMG5EamZNTDhMNTVxcllzcHpNOVlLNDRUSnNUSEpmc3ZLUVJTeHhHY0Y5Wll2c3BJZFo1V1BqZlg3Nlk2dzIrUzUzSHN4eDU3Wkthc0Y3amp2ZStDR09IL21uRlhPcDA1elBtQWFNbjlXdEUydmRZN3JtaHRyUExwdDhGNEx6cTN6Y0R1TkFtVHJlRHVlazUwcFA2RmNKYmloVHowZ2FBV2c0RUR4SWZBRkRrUjYrQk52UW5hSjY3Q3RFUTlRYTZUZjA2S3VVTGF1NkZOOEFGSFlEOUMrQzErV2dERXdxYzRnc3JMYmVJR2dZdnp6aGREMmZwTHhpRzlqS3AvZ2pkRy85QnVPNFhvNXdxNVF2cE52VkI1TFNQdzF3V1h1c1pzZnhZdjhOU2FFTmZvanZ2dmhkc2wzWVk5Wmd0RjI0WUhFSWtPaEV3UGp0NEh2Y2kzaHYwT0NBZ3I3ME52RjgyV0liaWhHaVU3M2RuNUc2RTJ5OGZSaXdSeEUwRmV3ZTljQzZzSndIb2hkV29sQk0yNGQyOHQxRnZrdW96T00wODVYT2tFQll1ck9KRm9qbDBwL2d5WDdBT1NwOWFnNXpXQjJBWnphWS9BRU1yRTJUM0pRQzhnWjdVandQbHpSNWhkcU04Z1ZobkpxUjRDUUJDZDk1OUo4YUdQeHRXZkxBVHJpcWx0ZlNCMURkUUtTY3Q5OWlTWkt6ek9NSXhZQTlEQzdJSTRiUmp1MEhiZW0wdUxPa0ZvZFZDR0dEazRSalpOUHgxUk5xZlJuQUIwZmcybGZKS2V2LzY3OUNkQS8rUFlEenVGTGRWMkJLL3NiM1dVQy8wMEczcWQrak91NzhHTmlDSHQvVFp0ZTUzVUFlK1V5ZS9RV0Zhb2FRYXZFK3FsQytzN29RMEtHYVdJd1JYT2lTdS9CN2hhUUlwZ0RlUlZMbHBpRjNiYnBnbEFFQis5RnhZZDRXeVk1eXN3cWpiTkU3V01SSlhYc1RjMmhRMGEwZ1hGZUZoV2lJaVBhbGQ4TFpVWklWM3pNdXFTNUp2dytTdXl5MzMvZE8xN3ZlSVJKdDFXajEvNTZQb1VuOFljcnhMNlVPZi9DcXk2Zi9xOFZsMzVaWFRicVJibFFlaFQvV2lkaUJhZ0xXYjl5S1dDSHBZdTRoZllkcE9pSFR6WEtOOHpLWCt3TTB5b3hmbWdoQm01RGtTZlluY01Ud0k1aG5kangyTkhSVEFZbWozM1UyM0tqOUdUdnNFYW4wS2ltR2RmcXg1T1IvYTBCL1RyY3AvSUQvNlVlRiswRTBoQUVBUWFkOVBOZzNmQytEVkFQRzVTdE9IVjNhN0NjcFptTTV3UTNYMkhnY0tuVEQ4aDNtMTJlVGhUbUJGNGxrUGVXc1VId0V3UTJJSnE1c0tQNXdOdmNBMWZjd29uL2tINHp0enZXcGZlWmczcXdlc241WklUVmk0R0RQYW50U1RpSFcrQ1BmTGhFNHEzQVdZVEw4ZDJmU25BRmdQU1BYZFlaT2UxQy9RdkE3dlpMN0lMWU5wUk5yRE10QS8yUUhTYjMvbzYzVG53UDJvbEZaN3pKTTQyQmxsWGlrbDZNNkJMOVA3MS84TDlLbkxZUjVnZUdlcWsxc0d2dzBnQytmdjZ0OHV3bjA0Y1pDc041RnlJNmlKY1RYVG9Oc3JidkpqdlYrdkxHZDdPZFVKcStuQzk3RjI4N2VFKzBITDM2amYrcFJDNzEvL0hicFYrUm0wb1M5Qkwxd0Y0RndZeHdvNXNSak0xMVVYaXBrTmRPZkEvNktEaVovUW5YZi9MU3JsaTJDMkgvUmJwbUs5cTVEYmhyWWlsbWlHWnA1anRBTjJmSkZYTTRtYWRrVHptdWlmclkyeW8zMFdDK0g5SUo1eEdRU3pJQjFMRkZBcmVIcnRlNWJoUUdHVmNQME01TFJyQXVTTkVXbC9IWEdsR1V2UTg0S2dXMmtsdGZER3R4czlxVWVoM2Vka3RNZ0ZOcWRCMHJoWEthK21Pd2M2VVB1OXZEUjBjY0I2SytDWmJPNkpKVjZBT2pDTWtYdS9Bdk03QjJVeHRQdStRTFBwbTRrNjhFMzA5YWNSaWU1Qll6VysyYlpGTDF5TWJQbzJPakw0VVZUS2x3dGh4RHpPQURpQkRYKytIYkhFVGdBOThEK0JzUlB1M0dJbmNIaTJCWFNJazRKdEpwa3ZlTFVabXl0Q0dHRE94d2x5KzlCWGFER3pCc1dKUDdDRUNkSk9lUGtzUUhIaVdycno3bXV4ODI0ZDNSdWZSNGZ5UElsRUM0Z3J1d0c4aHFSNkNIcGhFUTRVbGdNNGorYTFUbFJLbHlDYlRrS2Z1aEMxN2dmYWhEVDhJQW9JTTFpN2VRZjYrcitKNW4wZmM3eXh4QjVFMmw5R3BlekhBYlRSN3FZejE0QUp0TWNBTEtrZWNoMmtUQWppdmZzQjdHMFUyRFBzWU96WFlUaGNGYitCbXdrbFc0WElhMnRJVXVYWHprSisxRG9KOXE1UlorY1duNVpHK1FBYjFPZEt4M1NxY1pUMDlmOEgxZTc3Q0poL0t5YzdHenRFR3hFSzRDem9VMkdvL1Juc1RMWlo4OGxDMUlIdjBMSGhEMEdmQ3N2SkxPODRLUFNwTHJyejdyL0Z5T0Nmb0svL1Z5U3UvQlJKTll0WVlpK01nNzhwbUMzZFdRQ2kwQXZuSTZlOW5ZNE5xOGlQWGdGbm13Wk9HMktkVHhOMTRPL0JCTEo2L3NyY0xxRjVGU0xDd0s3REZhOVpsODliclJsclZEWjJ0bFJPZWJacURGdjliZ2FSYUlsczBRYm9WdVU4NkZOOUNDOXZvb0JOQU1Rd3VlczZUTzY2cmxwb3g4R09LK083TkJlRENSWFdqUytpLzY4MmhKTS9Kc3gxYjN5TWJCcitHc0k0ckxweGVweERpQ3ZQSUQvcWRDaTFPL0tqbHdKWURyYWlFSVZlV09PUXJ2dWxPV1pBSDVhQnV0RlBBbnNRNjl3TGZXcWw1Ym9YMm5DZ3NCcE1iamhlUFRrZytFa216SGRibU1mbXpTdWtKaXhjTE1LT2trV3NjeEw2MUEzVksxNjBKN1dDZ0g5TmtsbXJ3dzRhRDN5b3E4czBLU0xSdldURDRCQjk2Sk1QZ0hYMFljenl6YjhyNVZYUTd2c3dCVDRNb0l4SSsxN0VsWDFnZ3RneEFHY2lQM28rbU9Gc0RNNTJNaUk4bjBmSUhjTi9pMGowT1RBdFdCRHY1RzZXMk5BZ2pKK3didEt2SnhUTzFjbWEyOEhFcTlaeGRvbEVYeUozcHUrbTI5Ui9RcVhjaFhDRlJMR01STUZzSVpoeC9abDJEMW1lNTg4RUtVZWVoeGtBQ3hEdnpaQk53MzhNNENYNEV3cjhRQUFjUTFKOUV2blJqL21NZzVmREJTaG1Ma05jZVJYQXVTaE8yTG5QY2R1T1diZ09aUy9DRjBnSmdBT0lKZlpXbmVxNno0LzFXakZ6R1poeC9tdVl6cndUdGNjM3VmbU9ZdHpIcXdlcm43WklJYXk1dkV6VWdiK2hPKyt1d1BCdnhYM3E4SUhjMmpueVN2d21tSmZqS0lBNGpGMlJYckUycURlcjltRE43dkRNOGZmMS8yOWswK3N4dWV1VFRVakxXaTd0cUpUYmtSOTlXNFBuN0phSXhYc1V3SEdvWC94SEpOWHZWcThIOGY5bWhXc1duUEpXVDJzbHh1RW1IVGY1YU4zUk4vYUVXVWZ0aEFkcmVjNldJR0JQWFBrMTJhSnRvZHZVYjluWVhnWEZUYjF4YWc5aDFIZlJCcE1nM3ZzN3NrWDdBaUxSM3ptazNReDRIYUNrUzgxUTNQc0dnR1V1bjdXYUVRRE1PZXMxaUNzL1IwN3JBTk9LaWVIRnNIYngxR2FRN1JJTUN6R2RvMGlxQmVSSHJkZnQ4bUlWMm8wOEZ5Y3VBSnZFbG1sT3U4cm1XYS9mOFRXdzQ0cE9XeGFpMVIzUHFRc0JNQU4xNE1kRUhYZ0tUSmppS3RjMnNMSm50a2JHMWx5eG96b0c1dGw1SGIwbit0ZW9sQnZOVnV0aE5LSlk1elRpU25objE3bURBRGhLTmcxL21XNVQxNkE0OFc0aFQyRXZDNGwxbVZpdXViWEhNcjVEdlBjeHNtRndLNHdqZlE3WGVjNVBQdjNFSlM1bHV0bUJXNitOaTkvQUtvUzFTbk5FTGIvRFlCSHFDNW10N2dkWituRmxoR3pSUGttM3FmOHZLdVczd1JERVptUDV0Rm54aXhyV0djUjd4OGtXYlFzaTBTZWFsRjVqT3BUZmc5bGVKUnNGcldJclROR2M5bmJTMTM4bTlBSjMzdW9VdnVaWjFIN1RHYXhJTkUwZ0liSEU4OVI3UGJLMmlUTlJ6RVFSVjVham1MR2I1TnFWazkxMVJxeHpOeUxSTUFYUGVZZmNIZGs4ZU1kekFzQVVnQXlBWjZzL3Z3ZmJZZmNVZ0djQVBGZjllUjVBRGtDKytzdys1TFREcUpURmJjOWVFWVVOaXA3VUtKcGgrRmtmMXZBajBXbXlSZnNzWXAyUHc5d0pOVVBqWVozdGNXMlBtK1VVbHE5WTUzTmtpM1lQSXRHaThOeWJDS1pCOXFQSmNvSWZwZVJXRytiMDd1WTZZdEFNWWNnTC9QM2NVdS9iTGtEajc5YnE1VXFXZmx4NWhOeVQrVVBFZTMrR1U2T1A1dVY2RkdzMy96dTVKN081UlFLWUlReEdvdnNSNnl3RWpJdUF1V2lJVTcydzJrVjRvSDRkZlFOeDVma0FlYXFmZHUxQjN2WHFPN0g1QVlBSURoVE9BN0FjeFFrM2lvSDYvUzB6eWo4dG5iUnlUb1VHUGxleEc5UzhQTnNHWUNHZFRMOFB3QXBMbkg2cGtMNytoMzNtS1J3aTBXZkluZWsvUXFUOVNkZ3YvN1VLMFY2Rkl0SytqOXlaL2xORW9yKzEzRDhCWXpBUGtsOEN3K0RaSzgwb0o1NGZVUnZiS3F3MlNHN0NOd3JuUmdpYk84UVNFMlNMOWxHczNmd05NRzJucVAyRXpkOXppZHI4Uk5vUGtqc2UvQXV5YWZnekFNSnlXZU1YQXViRDhLbUFjUURGaVhNQWRDS25jZmRCOVRUT2R0ZU1PaDd2M1l0d2R3bWE4NUpVWDBidzQ1Q1cwR0ltaVp5MkJvYXpYdDk1STBuMXlZRDVtZmZJQTd6bkxoVEFTbVRUN3cwdHhrajd2amx4VW4xY2VaSnMwVDZCZU84dnFsZXM5Z2ZpdGRtQ2dMdTNpTFR2SVZ1MEx5Q3UvTUJ5MzJxWTdDZVA0dnVkYUJCSG8vaEZJU1dvNE5ScUxaQ0krQjcxYk9hODRIUytZYXNGVGs2dHBpUVNQVUEyRFgrUjNQSGdaeEJwZndtMTlhN1ZTNmoxTVBJVjc4MlNMZHJIME5mL05ZUi9USnB2U0lmQ0JZQWdaYmdZT2UweXdZbXBFNDNiT2ROVUJUM21yUjZ2SWRicDFUZWtOZDluWURyVFRmT2FBclByRXE4UUFNY1FWOEp3VER1dmtacXc1bUUzVTNVNzBMRm5pNW5McTM1Nmd1VEJvRHYxT05neXA1ZThoSVc1RE9MS1U5V1p2bmhNaVhWNXNwa0RwSFhaalJzTS81b01GajZKdVBKOW0yY0l6RzVkZ3RoV0FJMlgyOXpZbFRqWllIaUJ2Ny9vaXFBVldQTytBR1k3R3p0N1AvR2VHNkYxTG1QM0RpZlExNytkREJiZVg5V0tpVGFKVmlGOHJzRHFVS1JkSjdkOWZaRGNrM2svNHNxUGhYdXRodmRCejRNSmhWN3laRjJpVzBUejJnZWhUMTBNZjIzWmFHOGRTaDdoNzR3VTg2UWpsc2paWFBmQ1F1aUY2ekNkdVIxc1U0TTFIaS94dm82aytvclBmSnd5U0NHcytkaloyTGdqcDcwRHhsbGtmZ1FTc2VHL1NYcFNqOEJ3eU5tcVR0c1lPQ0xSdldUVDhIOGx0MzM5aTJEQ1lhTmxxS0JhTXJFTWllWHZvK2plK0FEWm92MGhJbEhOOHB5WUY3Nmh3aHBudlI5ckhIeER4bHZ3UGdCWTRadHI3SloyRytVSnd0OHpzRCs3clpXRHU1MzJ5dWw5ZUJrNHZSOWdsTkZjRUFUcVliT2NGODJSVGNOZklIYzllaXU2MW4wUGhtOHZ3Tnh1cklKOXM3K2ZYZnh2WXUzbWZ5S0RoUnVoRHR3TDRPWHE5Ym1pdVdONVNLb3ZnZG5vOG10KzJzMFNhRVBYQURnSHRWcnBlcy9EY3UwWWlTdEJsa2Zyd2R0R0dVbjFXZUdhbTNlMHZ0TUNGQ2NTVmFQOGhUYjNnY2J2ek9oYXR3ZkFnWUR2TnUrUlowZk9QZmozYUtkancrK3dYUGYvclNMdE9ucFNqd2ZKV0lpSWpmc3RxQVBmSUlNdjNZeTFtNzhKWnFUWlpna2IxcUJpSGFSWUhtS2RFK1N1Uno5SjdreC9ydXAxWDhRNmNMVEJ2S05WektPVEJrKzhQeVA4bkFDd0JQNi9MVUd0TjNQeGR6M0V2SndBTTlpbHFIWFUyY3IrNFFUTVRoemRkZTdHcy93NzhkLzFka2Y2bWVUTUZrYjlTS3FQa1MzYXg4aGRqMzRJWGV0MndiRHhzUTZHWWowUDY3M0VPbE03dVlpMDYxaTcrWi9KNEV1M2trM0RteEdKV3UxOTVscjVIa1RYT3ZHNEhEZUNrNVVGcUpTWGdkVXRhMWk3elREVzcwUEI2dWRyV0pGNDB2SnNXSnlzQnlTV21BUnpmV1ROanpXODNidHdGa0tmT3NNU3ZtNjZNTjdYNkcvWWNuQXpsMS9uQmZQSFVQVjBReTljaE9LRUc4ZDZUb2lDRHRDbFBnOWpLWEl1SUhiaUZMSEVjMlRUOE9keHkrQjM2QThIUDQveDdYOEF0aUhCT3N1M2RtaFdqWllZTjBmYzRtOEllTEhPWjlIWC82OWt3K0EzQWV4dmtFLysrdzB3NDlrcndRU29CVUs2WWtjamFtZnM0anNCTmdzOGhscEJ6L3ArVG5tYUFmQks5WWQ3OFY4ZzNMTjJwdUtnWUJVYUR3QTRLTnl6MHlyTkJtSjZid0xZQStBS0dIMlZtSCtyTUdDMTEyTXpkNk9jM21wbXhwdUl0WDRmUjFMOUVVbHFQME14Y3kwZEcvNDRzdW4zLy8vdDNlK1BHMGNkeC9IUEpwZlNVMURpdUdvRjNFRWM4QlVVRWVjaVFxNmlMYkg2QUJvRTFNcGpFQ2NrL2dZZWxxYzhJZytSa0ZEZ0dZOXdKU0pGMEFaWEZTbWgwRjRjRUtJNXFJLzJtalpSbkYrMGx4OTNXUjZNSjdzM3Q3N3pqN1ZuN2J4ZlVoVGYvdkxzZW5mMnV6T3pNMm91RmJXKy84RzEySHBKYlJtMytqdUpXeko1VzFNSEx3Uno4MmMwTi84clRlYisyY1YrK1JDL3B0WTBQWHRlaTY5K0lGUGpZRXRlMjVXcXhyY2hyWCtnY3RlMXk5bUh0VURKSFc3YnZPbHRUYzB1cDdCLzdaZzA1d3R2U0xvZ2MwMUo2MHV6dG1yK0VOOWZ0MXJXTGhQZmxydlA4VHo4VWpBMWUxYURIeWtoOHdqQ3NxcGVQYXlOQTNaTDdXL01yblhWWDRFWkt6S3Jyd0pIRjNHKzhMZmdleWQvcUcvOTVGQllPL0VkMWF2ZlZuUHBTekk5M0NlVlpMZ0JqRnRxRlYvdXZxVExPdktEODBHcDhodVZLcWRrYnM2YmJjK2RkeU9ZbS85NU9GUCtyMHpmYnpienRVOTRxMW8vQnFQTmlDWmE2YmRwdWkzcFRUMVcrTHMyRDNZMmxqaEUxb0ppK1ZSNFRQY2s3VlAwTkw0bVUxMWxHLzdiRE5GK2Z6eE45aWF3R0JUTHYxTjYvYUNsNFpxT3ZYaFNwc3BvcDZJMFMrWjQyMk1kVDYvdGREWnNmWDZrdGM1YmlxcTgzZUI5VkxpQi9UMU56WjROanA4NHErTW5wbFd2UGhQV3EyVXQxZzZydWJSUDBmbnByaC8vN0FiYzhXT1NkTDJaaDRmaTBRK0RVdVdNU3BYZktsODRwOUVhZHVaQkVCVWNxSndPSjNPaEpEdEc1ZzVGeHl3ZWRNVFhqUWYvdHNSMWg4eG9JUGJjdXl0emZ0cXhiTjA4d1A2OVE5S2RZREwzZTVsUlRBYjU4Qk5vcHZ5dWpyMzRNMG1IRk8xcmZDeFFOd0NObDVhN2daUjk0OWd0SWQzbXpMZUJYdndoOVUzTmxFOE5hRDlIU2hDR0QvMHh5S1R3RjVWZjY4SkwzNDlQaW4zdTlpWjVPZmpwdGU5cU1qZnNUbG83NVQ0ZHh2ZjFrMm8yWm5XeDluUllyeDdSWW0xdnErUGFuVEtaM29UTWpkWUdIMnN5Ri85MlNXdWEzSDFUeGZLeXBtZmZDb3JsMXpROSs2b21jNzMyazJhRGwzam1FMy9ETWFtMElhbWt4Z1p0ZDVYY0RtdXo3N2ZidE52YW9TaVRzeDIzZG5KUnh6TmJLZXFNMWkxcDlDa2VSQ1cxZFhLUGNWTEFHZ1VzNlZmUCtkYnV0OHFwMlhoUzd5MGNDaGRyWDlGN0M1OVhzNUZUYzJtbnpIVmp6NWtkaW03RThldkhibnROMGtjcUhyMG02YkpteXZXZ1dENnJtZktmSlMxcjlJOWpvQ2hJa05xZlg2NTIwK1BOZTVMT3RhUVNKM3ZkM2xOeS9wY21HeGpaWURGZVZaLzBjSjkwZlNYbFFVbnJ1SG02RzlpdE9kTWZXZ1JoMldKT3lKWHJudzEvdk9lMHBQMEp5M1JhRWhZNThNTFo0RWZWYjZyL1BtS0dvZDFGTFprYjhtNUpPOVZzN05IVnhoNUp1N1M4OEpsdzVmcHFVQ3gvS0ZOZHVFMm1FZW9WbVgxZWtYUnJpKzhjaFFzaHFkamYvajB1QnYxYmpNcHYzWTNOem9WdE1vSFhvekxYVFU1WEd6bVpHL0dqYWpZK0ZUWWJ1eVRkRElybEs0cEtiNjVxZXZhcUpuTWZ5MXcvdHpWK1ZVZUREbnF5YUZ6empaRkZkV1FXMWF0UFMzclNtYnBadFpScjNVMDZNTDNrajBJQUptMmVNZHlWYWJ0MVJmbENRL21DbVRwVDdyZityTlBNeUhlbXZWbjdsSEdSOXY1c1ZsMDlMdHg5Y3RzazNXcjl1Nko4UVErdUcyZmhoOHc0QnVPZGVCajNPZE1Jd3JJbGxCU0U5ZW8zdEw2SXZKOTg4bVBObEYvcE8yWFprTVgyUEwzOE5tbW12ZE9nM0M2N1diVkRWaVU5dlcvMlJPODJ6bi9ZSk8xekdyOTVscTY3ZnJVN1p6WmJKbW41VHZQbnJCNjMrRys2MWUvcnp1LzJtQ0VCQTNobmgvMGRjbHFzUGVWTTc5M1V3YmVWTC95anIyMWtnOXUyd0ljc2xVUWxCVlpicFdWVTIwUjFlOXhIYmY4R3BWM1FMYTBQSXJyWjFqanFaZC9HcFhTMW0vMXc1NC95Zm1jR0pXSFpFR1dTOWVwUnJkell0K1Z5SFc0dm1Kdi9pemErQVRpS3VPQ1RqV3BnaGNGTDg5d1k1L05yblBjTkdVY1FsZzAyRTVnSTY5WG5aUnJSSnMzdmREdlJrMTJwOHNjdTFnY0FBRVBDQU43WjhyZ1dhOCttdEsxQStiMy9Wcjd3ZWtyYkF3QUFLYUlrekwrb2JjYnl3cXlhUy8yOEZibCttVkxsRlprZXh3RUFRTVlRaFBsbmc2enQ0Ym1UeDVYZWIzSW5tSnYvZzdyckRCUUFBQXdKQTNobnh4T3FWNTlLbU43Yjc1UGYrNjdNMkZ3QUFDQ0QzTUZZNFV1enNiODFBSytydHpaN3BVcE4wZ2Y5SkFrQUFBd09RWmhmdHBScm0rclY1N1R4clVoM3VVN2REWXJsTStLbEN3QUFNb3UzSTdOaGQzanU1SE1KMDd2dG1zS1kzSDFKcGNwZiswNFZBQUFZR0VyQy9ETEJVN1B4QlMyZlQ2cUs3TTJCeWh1UzNrbHRld0FBSUhVRVlmNUVWWXdYYTErVDlGaHNYcmRqM3NXcksrOEVwY3JMa2xiN1NoMEFBQmdveG83MGIxZFlyMzVkRzl0OTlmclc2bVhObFAvVVo1b0FBTUNBVVJMbTI4cjFUK3ZDUzRlZHFiMEVZQ2FRUHZEQ2dpWnppMzJuQ3dBQURCUkJtRzhYYTRjbFRTWE02YVZLY2pVb1ZVNUx1cDFHMGdBQXdPRHdkcVEvb1NTRjllcXoydGhMZmpkREZjVmRVYW55V3I4SkF3QUFnMGRKbUI4MnVIcENGNnB1VmFTN1RPZUtSLytqeVJ4dlJRSUFNQUlJd3Z3d0pWMzE2aEd0M1BoeXd2eHVBN0JRa29KUzVZeWtqL3BMR2dBQUdBYUNNSS9DeGRvemtqN1I3V29KbndOSk4xdERGVkc5REFEQUNHQUFiMzkycWw0OTZrenJKSUFLRWo5UEhmeVg4b1dGTkJJR0FBQUdqNUt3NFRPQjAvTENWOVZjK21Kc2VxOGxXR2E5VXVWMVNjMitVZ1lBQUlhR0lHejRRa2tUNGJtVHowdktwYkF0MnpYRnkzMm5EQUFBREExZFZQanh1QzdXNHIza2grcXRXdGlzazkvN2pxWm02eW1sRFFBQURBRWxZVDQwRy91MWZMNFFteEk0LzNmSE5NaS8xRitpQUFEQU1MbWRoR0x3QXRXcmV5UTFKTjJVZFAvQmREUG85cXFrZTYzcDIyVUM1WW5ZWjd1c1duKy9IOHpOLzFMU1hURU9LQUFBSXlNSXc1QWI5M0FGa3FZbGZVN1MveVRka3JUV21uNi85WGxOVVJYbE5rVnZzZG9nTEd4OWZxUzFqZmVIbDN3QUFKQUdnakFBQUFBUHFJNzBhNnNBMkcwalJyQU1BTUNZNE8xSWY3WnFoSjgwUDZtalZqcmJCUUJnQkFWaFNBdzJJcWcyQmdCZ2pOQkZ4ZWdnQUFNQVlJd3dkaVFBQUlBSGxJUUJBQUI0UUJBR0FBRGdBVzlIQWdBQWVFQkpHQUFBZ0FjRVlRQUFBQjRRaEFFQUFIaEFGeFVBQUFBZVVCSUdBQURnQVVFWUFBQ0FCM1JSQVFBQTRBRWxZUUFBQUI0UWhBRUFBSGpBMjVFQUFBQWVVQklHQUFEZ0FRM3pBUUFBUEtBa0RBQUF3QU9DTUFBQUFBOEl3Z0FBQUR3Z0NBTUFBUENBSUF3QUFNQURnakFBQUFBUENNSUFBQUE4SUFnREFBRHd3QTVieE5CRkFBQUFRelFoZXN3SEFBQVlPcW9qQVFBQVBMRFZrUUFBQUJnaVd4SkdJQVlBQURCRTdhb2pDY29BQUFEUzRjWlZnU1FGWVJnbXpRemJUQnNVKzExaHdyUkJmemNBQUVBYWt1SVpkMTQwSVF6RElHSGhwR2tBQUFEb2p3M0dndjhEU0RVSnRYZmx1djhBQUFBQVNVVk9SSzVDWUlJPSIvPgo8L2RlZnM+Cjwvc3ZnPgo=",t.alt="Yarrow",t.draggable=!1,d.appendChild(t),l.append(U,d),V}}const c={enabled:!1,position:"right",zoom:!0,compass:!0};class h{constructor(){this.inset={top:0,right:0,bottom:0,left:0},this.state={theme:"light",controls:c}}mount(V,l){this.map=V,this.update(l)}update(V){if(this.state=V,!this.map||!V.controls.enabled)return void this.teardown(!0);const l=this.map.getContainer();this.container=l,"static"===getComputedStyle(l).position&&l.style.setProperty("position","relative","important"),this.host||(this.createDom(l),this.attachMapListeners()),this.host&&(this.host.dataset.yarrowTheme=this.state.theme,this.applyHostPosition(this.host),this.renderVisibleButtons(),this.updateCompassNeedle())}setInset(V){var l,U,d,t;this.inset={top:null!==(l=null==V?void 0:V.top)&&void 0!==l?l:0,right:null!==(U=null==V?void 0:V.right)&&void 0!==U?U:0,bottom:null!==(d=null==V?void 0:V.bottom)&&void 0!==d?d:0,left:null!==(t=null==V?void 0:V.left)&&void 0!==t?t:0},this.host&&this.applyHostPosition(this.host)}teardown(V=!0){var l;this.map&&this.onRotate&&this.map.off("rotate",this.onRotate),this.onRotate=void 0,this.zoomInButton&&this.onZoomInClick&&this.zoomInButton.removeEventListener("click",this.onZoomInClick),this.zoomOutButton&&this.onZoomOutClick&&this.zoomOutButton.removeEventListener("click",this.onZoomOutClick),this.compassButton&&this.onCompassClick&&this.compassButton.removeEventListener("click",this.onCompassClick),this.zoomInButton=void 0,this.zoomOutButton=void 0,this.compassButton=void 0,this.compassNeedle=void 0,this.onZoomInClick=void 0,this.onZoomOutClick=void 0,this.onCompassClick=void 0,V&&(null===(l=this.host)||void 0===l?void 0:l.isConnected)&&this.host.remove(),V&&(this.host=void 0,this.container=void 0)}createDom(V){const l=document.createElement("div");l.setAttribute("data-yarrow-controls-root","1"),l.dataset.yarrowTheme=this.state.theme;const U=l.attachShadow({mode:"closed"}),d=document.createElement("style");d.textContent='\n :host {\n all: initial;\n }\n .group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n button {\n all: unset;\n width: 36px;\n height: 36px;\n border-radius: 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-sizing: border-box;\n font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, \'Segoe UI\', sans-serif;\n font-weight: 700;\n font-size: 18px;\n line-height: 1;\n color: #0f172a;\n background: rgba(255, 255, 255, 0.94);\n border: 1px solid rgba(15, 23, 42, 0.12);\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.14);\n }\n button:hover {\n background: #ffffff;\n }\n button:active {\n transform: translateY(1px);\n }\n .needle {\n width: 32px;\n height: 32px;\n display: block;\n filter: none;\n transition: transform 120ms linear;\n }\n :host([data-yarrow-theme="dark"]) button {\n color: #f8fafc;\n background: rgba(15, 23, 42, 0.88);\n border: 1px solid rgba(255, 255, 255, 0.16);\n box-shadow: 0 2px 12px rgba(2, 6, 23, 0.5);\n }\n :host([data-yarrow-theme="dark"]) button:hover {\n background: rgba(15, 23, 42, 0.96);\n }\n :host([data-yarrow-theme="dark"]) .needle {\n filter: invert(1);\n }\n ';const t=document.createElement("div");t.className="group";const N=document.createElement("button");N.type="button",N.ariaLabel="Zoom in",N.textContent="+",this.onZoomInClick=()=>{var V;null===(V=this.map)||void 0===V||V.zoomIn({duration:200})},N.addEventListener("click",this.onZoomInClick);const Z=document.createElement("button");Z.type="button",Z.ariaLabel="Zoom out",Z.textContent="-",this.onZoomOutClick=()=>{var V;null===(V=this.map)||void 0===V||V.zoomOut({duration:200})},Z.addEventListener("click",this.onZoomOutClick);const e=document.createElement("button");e.type="button",e.ariaLabel="Reset north";const R=document.createElement("img");R.className="needle",R.src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTUyOCAzMjBDNTI4IDIwNS4xIDQzNC45IDExMiAzMjAgMTEyQzIwNS4xIDExMiAxMTIgMjA1LjEgMTEyIDMyMEMxMTIgNDM0LjkgMjA1LjEgNTI4IDMyMCA1MjhDNDM0LjkgNTI4IDUyOCA0MzQuOSA1MjggMzIwek02NCAzMjBDNjQgMTc4LjYgMTc4LjYgNjQgMzIwIDY0QzQ2MS40IDY0IDU3NiAxNzguNiA1NzYgMzIwQzU3NiA0NjEuNCA0NjEuNCA1NzYgMzIwIDU3NkMxNzguNiA1NzYgNjQgNDYxLjQgNjQgMzIwek0zNzAuNyAzODkuMUwyMjYuNCA0NDQuNkMyMDcgNDUyLjEgMTg3LjkgNDMzIDE5NS40IDQxMy42TDI1MC45IDI2OS4zQzI1NC4yIDI2MC44IDI2MC44IDI1NC4yIDI2OS4zIDI1MC45TDQxMy42IDE5NS40QzQzMyAxODcuOSA0NTIuMSAyMDcgNDQ0LjYgMjI2LjRMMzg5LjEgMzcwLjdDMzg1LjggMzc5LjIgMzc5LjIgMzg1LjggMzcwLjcgMzg5LjF6TTM1MiAzMjBDMzUyIDMwMi4zIDMzNy43IDI4OCAzMjAgMjg4QzMwMi4zIDI4OCAyODggMzAyLjMgMjg4IDMyMEMyODggMzM3LjcgMzAyLjMgMzUyIDMyMCAzNTJDMzM3LjcgMzUyIDM1MiAzMzcuNyAzNTIgMzIweiIvPjwvc3ZnPg==",R.alt="",R.draggable=!1,e.appendChild(R),this.onCompassClick=()=>{var V;null===(V=this.map)||void 0===V||V.easeTo({bearing:0,pitch:0,duration:250})},e.addEventListener("click",this.onCompassClick),t.append(N,Z,e),U.append(d,t),V.appendChild(l),this.host=l,this.zoomInButton=N,this.zoomOutButton=Z,this.compassButton=e,this.compassNeedle=R}applyHostPosition(V){const l=8+this.inset.top,U=8+this.inset.right,d=8+this.inset.bottom,t=8+this.inset.left;let N="",Z="transform: translateY(-50%) !important";switch(this.state.controls.position){case"left":N=`top: 50% !important; left: ${t}px !important;`;break;case"left-top":N=`top: ${l}px !important; left: ${t}px !important;`,Z="transform: none !important";break;case"left-bottom":N=`bottom: ${d}px !important; left: ${t}px !important;`,Z="transform: none !important";break;case"right-top":N=`top: ${l}px !important; right: ${U}px !important;`,Z="transform: none !important";break;case"right-bottom":N=`bottom: ${d}px !important; right: ${U}px !important;`,Z="transform: none !important";break;default:N=`top: 50% !important; right: ${U}px !important;`}V.style.cssText=["position: absolute !important","z-index: 2147483646 !important","pointer-events: auto !important","top: auto !important","right: auto !important","bottom: auto !important","left: auto !important",Z,N].join("; ")}renderVisibleButtons(){if(!this.zoomInButton||!this.zoomOutButton||!this.compassButton)return;const V=this.state.controls.zoom,l=this.state.controls.compass;this.zoomInButton.style.display=V?"inline-flex":"none",this.zoomOutButton.style.display=V?"inline-flex":"none",this.compassButton.style.display=l?"inline-flex":"none"}attachMapListeners(){this.map&&(this.onRotate=()=>{this.updateCompassNeedle()},this.map.on("rotate",this.onRotate))}updateCompassNeedle(){this.map&&this.compassNeedle&&(this.compassNeedle.style.transform=`rotate(${-this.map.getBearing()-45}deg)`)}}const o=V=>"object"==typeof V&&null!==V&&"container"in V&&"center"in V,M=864e5,m="yarrow-cache-v1-tile",r="yarrow-cache-v1-icon",p="yarrowcache",i="x-yarrow-cached-at",k=new Set(["Tile","Style","Glyphs","SpriteImage","SpriteJSON","Source"]),S=()=>"undefined"!=typeof globalThis&&void 0!==globalThis.caches&&"function"==typeof globalThis.caches.open;let E=!1;const s=l=>{if(/^https?:\/\//i.test(l))return l;const U="string"==typeof V.defaults.baseURL?V.defaults.baseURL:"";return U?new URL(l,U).toString():"undefined"!=typeof window?new URL(l,window.location.origin).toString():l},Q=(V,l)=>`${p}://resource?u=${encodeURIComponent(V)}&ttl=${l}`,Y=V=>a(void 0,void 0,void 0,function*(){return{data:yield V.arrayBuffer(),cacheControl:V.headers.get("cache-control"),expires:V.headers.get("expires"),contentType:V.headers.get("content-type")}}),J=(V,l,U)=>a(void 0,void 0,void 0,function*(){var d;const t=yield fetch(V,{method:null!==(d=null==U?void 0:U.method)&&void 0!==d?d:"GET",headers:null==U?void 0:U.headers,body:null==U?void 0:U.body,credentials:null==U?void 0:U.credentials,signal:l.signal});if(!t.ok)throw new Error(`Request failed: ${t.status} ${t.statusText}`);return Y(t)}),z=(V,l,U)=>a(void 0,void 0,void 0,function*(){const d=new Headers;U.contentType&&d.set("content-type",U.contentType),U.cacheControl&&d.set("cache-control",U.cacheControl),U.expires&&d.set("expires",U.expires),d.set(i,Date.now().toString()),yield V.put(l,new Response(U.data.slice(0),{status:200,headers:d}))}),b=(V,l,U,d,t)=>a(void 0,void 0,void 0,function*(){if(!S())return J(V,d,t);const N=yield caches.open(l),Z=yield N.match(V);if(Z){const l=(V=>{const l=V.headers.get(i);if(!l)return null;const U=Number(l);return Number.isFinite(U)?U:null})(Z);if(!(null===l||Date.now()-l>U))return Y(Z);try{const l=yield J(V,d,t);return yield z(N,V,l),l}catch(V){return Y(Z)}}const e=yield J(V,d,t);return yield z(N,V,e),e});class G{constructor(V,l,U=10,d=0,t=19,N="light",Z={},e=n,R={}){const a=o(V)?V:{container:V,center:l,zoom:U,minZoom:d,maxZoom:t,theme:N,cache:Z,brandBadgePosition:e,controls:R};if(!o(V)){if(!l)throw new Error('YarrowMapConfig legacy signature requires "center" as the second argument.');E||(E=!0,console.warn("YarrowMapConfig positional constructor arguments are deprecated and will be removed in a future major version. Use new YarrowMapConfig({ ... }) instead."))}const{container:W,center:T,zoom:F=10,minZoom:h=0,maxZoom:M=19,theme:m="light",cache:r={},brandBadgePosition:p=n,controls:i={}}=a;this.container=W,this.center=T,this.zoom=F,this.minZoom=h,this.maxZoom=M,this.theme=m,this.cache=(V=>{var l;const U="number"==typeof(null==V?void 0:V.lifespanDays)&&Number.isFinite(V.lifespanDays)&&V.lifespanDays>0?V.lifespanDays:30;return{enabled:null!==(l=null==V?void 0:V.enabled)&&void 0!==l&&l,lifespanDays:U}})(r),this.brandBadgePosition=(V=>{switch(V){case"top-left":case"top-right":case"bottom-left":case"bottom-right":return V;default:return n}})(p),this.controls=(V=>{var l,U,d;const t=null==V?void 0:V.position;let N=c.position;return"left"===t||"left-top"===t||"left-bottom"===t||"right"===t||"right-top"===t||"right-bottom"===t?N=t:"top-left"===t||"bottom-left"===t?N="top-left"===t?"left-top":"left-bottom":"top-right"!==t&&"bottom-right"!==t||(N="top-right"===t?"right-top":"right-bottom"),{enabled:null!==(l=null==V?void 0:V.enabled)&&void 0!==l?l:c.enabled,position:N,zoom:null!==(U=null==V?void 0:V.zoom)&&void 0!==U?U:c.zoom,compass:null!==(d=null==V?void 0:V.compass)&&void 0!==d?d:c.compass}})(i)}}class x{constructor(V){this.layers=[],this.brandBadgeController=new F,this.yarrowControlsController=new h,this.currentBusMarkers=new Map,this.currentRouteLayers=[],this.MAX_BUSES=100,this.svgCache=new Map,this.busPositions=new Map,this.animateBusMarkers=()=>{const V=Date.now();this.busPositions.forEach((l,U)=>{const d=this.currentBusMarkers.get(U);if(!d)return;const t=V-l.startTime,N=Math.min(t/l.animationDuration,1),Z=l.current[0]+(l.target[0]-l.current[0])*N,e=l.current[1]+(l.target[1]-l.current[1])*N;d.setLngLat([e,Z]),N>=1&&(l.current=l.target)}),this.animationFrameId=requestAnimationFrame(this.animateBusMarkers)},this.config=V,this.ensureCacheProtocol()}ensureCacheProtocol(){x.isCacheProtocolRegistered||(N(p,(V,l)=>a(this,void 0,void 0,function*(){const U=new URL(V.url),d=U.searchParams.get("u"),t=U.searchParams.get("ttl");if(!d)throw new Error("Missing cache target URL");const N=s(d),Z=Number(t),e=Number.isFinite(Z)&&Z>0?Z:2592e6,R=yield b(N,m,e,l,V);return{data:R.data,cacheControl:R.cacheControl,expires:R.expires}})),x.isCacheProtocolRegistered=!0)}get cacheLifespanMs(){return this.config.cache.lifespanDays*M}isCacheEnabled(){return this.config.cache.enabled}transformRequestForCache(V,l){if(!this.isCacheEnabled()||!l||!k.has(l))return{url:V};const U=s(V);return{url:Q(U,this.cacheLifespanMs)}}fetchJson(l,U){return a(this,void 0,void 0,function*(){if(!this.isCacheEnabled()){return(yield V.get(l)).data}const d=new AbortController,t=yield b(s(l),U,this.cacheLifespanMs,d),N=(new TextDecoder).decode(t.data);return JSON.parse(N)})}loadImageFromSrc(V,l=!0){return new Promise((U,d)=>{const t=new Image;l&&(t.crossOrigin="anonymous"),t.onload=()=>U(t),t.onerror=()=>d(new Error(`Failed to load icon image: ${V}`)),t.src=V})}loadIconImage(V){return a(this,void 0,void 0,function*(){if(!this.isCacheEnabled())return this.loadImageFromSrc(V);const l=new AbortController,U=yield b(s(V),r,this.cacheLifespanMs,l),d=new Blob([U.data],{type:U.contentType||"image/png"}),t=URL.createObjectURL(d);try{return yield this.loadImageFromSrc(t,!1)}finally{URL.revokeObjectURL(t)}})}getIconsMap(){return a(this,void 0,void 0,function*(){return(yield this.fetchJson("/icons-image",r)).reduce((V,l)=>(V[l.icon_image_name]=l.icon_image_url,V),{})})}addIconsToMap(V){return a(this,void 0,void 0,function*(){this.map&&(yield Promise.all(Object.entries(V).map(V=>a(this,[V],void 0,function*([V,l]){if(this.map&&!this.map.hasImage(V))try{const U=yield this.loadIconImage(l);this.map&&!this.map.hasImage(V)&&this.map.addImage(V,U)}catch(l){console.error(`Error loading icon "${V}":`,l)}}))))})}patchMapRemoveForBadgeCleanup(){if(!this.map)return;const V=this.map,l=V.remove.bind(V);V.remove=()=>(this.stopBadgeCollisionObserver(),this.brandBadgeController.teardown(!0),this.yarrowControlsController.teardown(!0),l())}getControlsInsetForCollision(V,l,U){const d=Math.max(0,Math.ceil(U)+8);return d<=0?{}:"top-left"===l&&"left-top"===V||"top-right"===l&&"right-top"===V?{top:d}:"bottom-left"===l&&"left-bottom"===V||"bottom-right"===l&&"right-bottom"===V?{bottom:d}:{}}syncOverlayCollisionInset(){var V;if(!this.config.controls.enabled)return void this.yarrowControlsController.setInset();const l=this.brandBadgeController.getHostElement(),U=null!==(V=null==l?void 0:l.getBoundingClientRect().height)&&void 0!==V?V:0;!l||!l.isConnected||U<=0?this.yarrowControlsController.setInset():this.yarrowControlsController.setInset(this.getControlsInsetForCollision(this.config.controls.position,this.config.brandBadgePosition,U))}stopBadgeCollisionObserver(){var V;null===(V=this.badgeResizeObserver)||void 0===V||V.disconnect(),this.badgeResizeObserver=void 0}startBadgeCollisionObserver(){this.stopBadgeCollisionObserver();const V=this.brandBadgeController.getHostElement();V&&"undefined"!=typeof window&&void 0!==window.ResizeObserver&&(this.badgeResizeObserver=new window.ResizeObserver(()=>{this.syncOverlayCollisionInset()}),this.badgeResizeObserver.observe(V))}clearCache(){return a(this,void 0,void 0,function*(){S()&&(yield Promise.all([caches.delete(m),caches.delete(r)]))})}fixStyle(V){if(V&&(V.glyphs="https://fonts.openmaptiles.org/{fontstack}/{range}.pbf",console.log("✅ YarrowSDK: Glyphs URL forced to:",V.glyphs),V.layers)){let l=0;V.layers.forEach(V=>{const U=V;if("symbol"===U.type){U.layout||(U.layout={});const V=U.layout["text-font"];((null==V?void 0:V[0])||"").toLowerCase().includes("bold")?U.layout["text-font"]=["Open Sans Bold"]:U.layout["text-font"]=["Open Sans Regular"],l++}}),console.log(`✅ YarrowSDK: Aggressively fixed fonts for ${l} symbol layers`)}}init(){return a(this,void 0,void 0,function*(){const V=yield this.getIconsMap(),l="dark"===this.config.theme?"/styles/?dark=true":"/styles/",U=yield this.fetchJson(l,m);(null==U?void 0:U.layers)&&U.layers.forEach(V=>{const l=V;if(l.source&&l["source-layer"]){const V=l["source-layer"].replace(/s$/,"");this.layers.push({type:V,name:l.id})}}),this.map=new Z({container:this.config.container,style:U,center:this.config.center,zoom:this.config.zoom,minZoom:this.config.minZoom,maxZoom:this.config.maxZoom,maxPitch:85,transformRequest:(V,l)=>this.transformRequestForCache(V,l)}),this.patchMapRemoveForBadgeCleanup(),this.brandBadgeController.mount(this.map.getContainer(),{theme:this.config.theme,position:this.config.brandBadgePosition}),this.yarrowControlsController.mount(this.map,{theme:this.config.theme,controls:this.config.controls}),this.syncOverlayCollisionInset(),this.startBadgeCollisionObserver(),this.map._controls.forEach(V=>{var l;null===(l=this.map)||void 0===l||l.removeControl(V)}),this.map.on("load",()=>a(this,void 0,void 0,function*(){yield this.addIconsToMap(V)}))})}changeStyles(V){return a(this,void 0,void 0,function*(){try{let l="/styles/";"satellite"===V?l="/styles/satellite/":"hybrid"===V&&(l="/styles/hybrid/"),"dark"===this.config.theme&&(l+=l.includes("?")?"&dark=true":"?dark=true");const U=yield this.fetchJson(l,m);if(!U)throw new Error("Failed to fetch style data");return this.fixStyle(U),this.map&&(this.map.setStyle(U),U.layers&&(this.layers=[],U.layers.forEach(V=>{const l=V;if(l.source&&l["source-layer"]){const V=l["source-layer"].replace(/s$/,"");this.layers.push({type:V,name:l.id})}})),this.map.once("styledata",()=>a(this,void 0,void 0,function*(){try{const V=yield this.getIconsMap();yield this.addIconsToMap(V)}catch(V){console.error("Error re-adding icons after style change:",V)}}))),U}catch(V){throw console.error("Error changing styles:",V),V}})}changeTheme(V){return a(this,void 0,void 0,function*(){try{this.config.theme=V,this.brandBadgeController.update({theme:this.config.theme,position:this.config.brandBadgePosition}),this.yarrowControlsController.update({theme:this.config.theme,controls:this.config.controls}),this.syncOverlayCollisionInset();const l="dark"===V?"/styles/?dark=true":"/styles/",U=yield this.fetchJson(l,m);if(!U)throw new Error("Failed to fetch style data");return this.fixStyle(U),this.map&&(this.map.setStyle(U),U.layers&&(this.layers=[],U.layers.forEach(V=>{const l=V;if(l.source&&l["source-layer"]){const V=l["source-layer"].replace(/s$/,"");this.layers.push({type:V,name:l.id})}})),this.map.once("styledata",()=>a(this,void 0,void 0,function*(){try{const V=yield this.getIconsMap();yield this.addIconsToMap(V)}catch(V){console.error("Error re-adding icons after theme change:",V)}}))),U}catch(V){throw console.error("Error changing theme:",V),V}})}zoomTo(V,l,U){var d;null===(d=this.map)||void 0===d||d.flyTo({center:[l,V],zoom:U,speed:1})}fitBounds(V){var l;const U=this.getBoundingBox(V),d=.003;Math.abs(U.xMax-U.xMin)<d&&(U.xMin-=.0015,U.xMax+=.0015),Math.abs(U.yMax-U.yMin)<d&&(U.yMin-=.0015,U.yMax+=.0015),null===(l=this.map)||void 0===l||l.fitBounds([[U.xMin,U.yMin],[U.xMax,U.yMax]],{padding:50,duration:1e3})}getBoundingBox(V){var l,U;const d={xMin:180,yMin:180,xMax:-180,yMax:-180};function t(V){const[l,U]=V;d.xMin=Math.min(d.xMin,l),d.xMax=Math.max(d.xMax,l),d.yMin=Math.min(d.yMin,U),d.yMax=Math.max(d.yMax,U)}const N=V=>Array.isArray(V)&&V.length>=2&&"number"==typeof V[0]&&"number"==typeof V[1];for(const d of V.features){const V=null===(l=d.geometry)||void 0===l?void 0:l.type,Z=null===(U=d.geometry)||void 0===U?void 0:U.coordinates;if("Point"===V&&N(Z))t(Z);else if("LineString"===V&&Array.isArray(Z))for(const V of Z)N(V)&&t(V);else if("Polygon"===V&&Array.isArray(Z))for(const V of Z)if(Array.isArray(V))for(const l of V)N(l)&&t(l)}return d}onMoveEnd(V){var l;null===(l=this.map)||void 0===l||l.on("moveend",()=>{var l,U;const d=null===(l=this.map)||void 0===l?void 0:l.getCenter(),t=null===(U=this.map)||void 0===U?void 0:U.getZoom();d&&void 0!==t&&V(d.lat,d.lng,t)})}onMapClick(V){var l;null===(l=this.map)||void 0===l||l.on("click",l=>{V(l.lngLat.lat,l.lngLat.lng)})}onIconClick(V,l){let U=[];switch(V){case"pois":U=this.layers.filter(V=>"node"===V.type).map(V=>V.name);break;case"buildings":U=this.layers.filter(V=>"polygon"===V.type).map(V=>V.name)}U.forEach(V=>{var U,d,t;null===(U=this.map)||void 0===U||U.on("mouseenter",V,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),null===(d=this.map)||void 0===d||d.on("mouseleave",V,()=>{this.map&&(this.map.getCanvas().style.cursor="")}),null===(t=this.map)||void 0===t||t.on("click",V,V=>{var U,d;(null===(d=null===(U=V.features)||void 0===U?void 0:U[0])||void 0===d?void 0:d.properties)&&l(V.lngLat.lat,V.lngLat.lng,V.features[0].properties)})})}onLayerClick(V,l){this.layers.filter(l=>"buildings"===V&&"polygon"===l.type||"pois"===V&&"node"===l.type).map(V=>V.name).forEach(V=>{var U,d,t;null===(U=this.map)||void 0===U||U.on("mouseenter",V,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),null===(d=this.map)||void 0===d||d.on("mouseleave",V,()=>{this.map&&(this.map.getCanvas().style.cursor="")}),null===(t=this.map)||void 0===t||t.on("click",V,V=>{var U,d;(null===(d=null===(U=V.features)||void 0===U?void 0:U[0])||void 0===d?void 0:d.properties)&&l(V.lngLat.lat,V.lngLat.lng,V.features[0].properties)})})}changeBackgroundColor(V){var l;null===(l=this.map)||void 0===l||l.on("styledata",()=>{const l=setInterval(()=>{var U;(null===(U=this.map)||void 0===U?void 0:U.isStyleLoaded())&&(this.map.setPaintProperty("background","background-color",V),clearInterval(l))},1e3)})}addSource(V,l){if(!this.map)return;const U=this.map.getSource(V);U?"function"==typeof U.setData?U.setData(l):console.warn(`Source "${V}" already exists and does not support setData.`):this.map.addSource(V,{type:"geojson",data:l})}updateSourceData(V,l){if(!this.map)return;const U=this.map.getSource(V);U&&"function"==typeof U.setData?U.setData(l):this.addSource(V,l)}addLayer(V,l,U,d={},t={},N={},Z={}){var e,R,a,n,W;const T=null!==(e=Z.sourceId)&&void 0!==e?e:V;(null===(R=this.map)||void 0===R?void 0:R.getLayer(V))&&this.map.removeLayer(V),Z.sourceId?(null===(a=this.map)||void 0===a?void 0:a.getSource(T))?U&&this.updateSourceData(T,U):this.addSource(T,U):((null===(n=this.map)||void 0===n?void 0:n.getSource(V))&&this.map.removeSource(V),this.addSource(V,U));const F=Object.assign({id:V,type:l,source:T,paint:d,layout:Object.fromEntries(Object.entries(null!=t?t:{}).filter(([V])=>"icon-image-data"!==V))},Z.filter?{filter:Z.filter}:{});if("icon-image"in t&&"icon-image-data"in t){const V=new Image;V.src=String(t["icon-image-data"]),N.width&&(V.width=N.width),N.height&&(V.height=N.height),V.onload=()=>{var l,U;const d=String(t["icon-image"]);(null===(l=this.map)||void 0===l?void 0:l.hasImage(d))||null===(U=this.map)||void 0===U||U.addImage(d,V)}}null===(W=this.map)||void 0===W||W.addLayer(F)}setFeatureState(V,l){var U;null===(U=this.map)||void 0===U||U.setFeatureState(V,l)}queryRenderedFeatures(V,l){return this.map?this.map.queryRenderedFeatures(V,l):[]}addMarker(V,l={}){if(!this.map)return console.warn("Map not initialized"),null;const U=new e({element:l.element,color:l.color||"#FF0000",draggable:l.draggable||!1,anchor:l.anchor||"bottom"}).setLngLat([V[1],V[0]]).addTo(this.map);return l.onClick&&U.getElement().addEventListener("click",l.onClick),U}removeMarker(V){V?V.remove():console.warn("No marker provided to remove")}removeLayer(V){var l,U;(null===(l=this.map)||void 0===l?void 0:l.getLayer(V))&&this.map.removeLayer(V),(null===(U=this.map)||void 0===U?void 0:U.getSource(V))&&this.map.removeSource(V)}renderRoutes(V,l="route"){const U=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6"];V.forEach((V,d)=>{this.addLayer(`${l}-${d}`,"line",{type:"FeatureCollection",features:[V]},{"line-color":U[d%U.length],"line-width":4,"line-opacity":.8},{"line-join":"round","line-cap":"round"})})}buildRouteWithLabels(l,U,d){return a(this,void 0,void 0,function*(){try{const t=yield V.post("/route/",{coordinates:[l,U],profile:d}),N=t.data.data.path,Z=(null==N?void 0:N.features)||[];if(!Z.length)return console.warn("⚠️ Нет фич для отображения маршрута"),{features:[],directions:[]};for(let V=0;V<5;V++){this.removeLayer(`custom-route-${V}`),this.removeLayer(`custom-route-label-${V}`);const l=document.getElementById("hover-popup");l&&l.remove()}const e=Z[0].properties.duration,R=["#22c55e","#aaaaaa","#cccccc","#dddddd","#eeeeee"];return Z.forEach((V,l)=>{var U,d,t;const N=`custom-route-${l}`,a=`custom-route-label-${l}`,n=V.properties.duration,W=V.properties.distance,T=0===l,F=`⏱ ${n.toFixed(1)} мин / ${(W/1e3).toFixed(2)} км${T?"":` (+${Math.round(n-e)} мин)`}`;this.addLayer(N,"line",{type:"FeatureCollection",features:[V]},{"line-color":R[l],"line-width":T?5:2.5,"line-opacity":T?1:.5}),this.addLayer(a,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:V.geometry.coordinates[Math.floor(V.geometry.coordinates.length/2)]},properties:{label:F}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]}),null===(U=this.map)||void 0===U||U.on("mouseenter",N,V=>{var l,U;this.map&&(this.map.getCanvas().style.cursor="pointer");const d=document.createElement("div");d.id="hover-popup",d.className="route-popup",d.innerHTML=`<span style="color:#111">${F}</span>`,d.style.cssText="\n position: absolute;\n padding: 6px 12px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n pointer-events: none;\n z-index: 9999;\n ";const t=null===(l=this.map)||void 0===l?void 0:l.project(V.lngLat);t&&(d.style.left=`${t.x}px`,d.style.top=t.y-40+"px"),null===(U=document.getElementById("mapContainer"))||void 0===U||U.appendChild(d)}),null===(d=this.map)||void 0===d||d.on("mouseleave",N,()=>{var V;this.map&&(this.map.getCanvas().style.cursor=""),null===(V=document.getElementById("hover-popup"))||void 0===V||V.remove()}),null===(t=this.map)||void 0===t||t.on("click",N,()=>{var U,d,t;for(let V=0;V<Z.length;V++)V!==l&&(this.removeLayer(`custom-route-${V}`),this.removeLayer(`custom-route-label-${V}`));this.addLayer(N,"line",{type:"FeatureCollection",features:[V]},{"line-color":"#22c55e","line-width":5,"line-opacity":1}),this.addLayer(a,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:V.geometry.coordinates[Math.floor(V.geometry.coordinates.length/2)]},properties:{label:F}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]});const e=V.geometry.coordinates[Math.floor(V.geometry.coordinates.length/2)],R=null===(U=this.map)||void 0===U?void 0:U.project({lng:e[0],lat:e[1]});if(R){const V=document.getElementById("hover-popup");V&&V.remove();const l=document.createElement("div");l.id="hover-popup",l.className="route-popup",l.innerHTML=`<span style="color:#111">${F}</span>`,l.style.cssText=`\n position: absolute;\n left: ${R.x}px;\n top: ${R.y-40}px;\n transform: translate(-50%, -100%);\n padding: 6px 12px;\n background: #ffffff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n z-index: 9999;\n pointer-events: none;\n `,null===(d=document.getElementById("mapContainer"))||void 0===d||d.appendChild(l),null===(t=this.map)||void 0===t||t.on("move",()=>{var V;const l=document.getElementById("hover-popup");if(!l)return;const U=null===(V=this.map)||void 0===V?void 0:V.project({lng:e[0],lat:e[1]});U&&(l.style.left=`${U.x}px`,l.style.top=U.y-40+"px")})}this.fitBounds({type:"FeatureCollection",features:[V]})})}),this.fitBounds({type:"FeatureCollection",features:[Z[0]]}),{features:Z,directions:t.data.data.directions}}catch(V){return console.error("❌ Ошибка при построении маршрута:",V),{features:[],directions:[]}}})}buildMultiSegmentRouteWithLabels(l,U,d){return a(this,void 0,void 0,function*(){var t;if(l.length<2)throw new Error("At least two coordinates are required to build a route.");try{const N=yield V.post("/route/",{coordinates:l,profile:U},{headers:{"Accept-Language":d||"ru"}}),Z=null===(t=N.data.data.path)||void 0===t?void 0:t.features,e=N.data.data.directions;if(!Z||Z.length<1)throw new Error("No route features returned from API");for(let V=0;V<5;V++){this.removeLayer(`custom-route-${V}`),this.removeLayer(`custom-route-label-${V}`);const l=document.getElementById("hover-popup");l&&l.remove()}const R=Z[0].properties.duration,a=["#22c55e","#aaaaaa","#cccccc","#dddddd","#eeeeee"];return Z.forEach((V,l)=>{var U,d,t;const N=`custom-route-${l}`,e=`custom-route-label-${l}`,n=V.properties.duration,W=V.properties.distance,T=0===l,F=`⏱ ${n.toFixed(1)} мин / ${(W/1e3).toFixed(2)} км${T?"":` (+${Math.round(n-R)} мин)`}`;this.addLayer(N,"line",{type:"FeatureCollection",features:[V]},{"line-color":a[l]||"#eeeeee","line-width":T?5:2.5,"line-opacity":T?1:.5});const c=V.geometry.coordinates[Math.floor(V.geometry.coordinates.length/2)];this.addLayer(e,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:c},properties:{label:F}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]}),null===(U=this.map)||void 0===U||U.on("mouseenter",N,V=>{var l,U;this.map&&(this.map.getCanvas().style.cursor="pointer");const d=document.createElement("div");d.id="hover-popup",d.className="route-popup",d.innerHTML=`<span style="color:#111">${F}</span>`,d.style.cssText="\n position: absolute;\n padding: 6px 12px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n pointer-events: none;\n z-index: 9999;\n ";const t=null===(l=this.map)||void 0===l?void 0:l.project(V.lngLat);t&&(d.style.left=`${t.x}px`,d.style.top=t.y-40+"px"),null===(U=document.getElementById("mapContainer"))||void 0===U||U.appendChild(d)}),null===(d=this.map)||void 0===d||d.on("mouseleave",N,()=>{var V;this.map&&(this.map.getCanvas().style.cursor=""),null===(V=document.getElementById("hover-popup"))||void 0===V||V.remove()}),null===(t=this.map)||void 0===t||t.on("click",N,()=>{var U,d,t,R;for(let V=0;V<Z.length;V++)V!==l&&(this.removeLayer(`custom-route-${V}`),this.removeLayer(`custom-route-label-${V}`));this.addLayer(N,"line",{type:"FeatureCollection",features:[V]},{"line-color":"#22c55e","line-width":5,"line-opacity":1}),this.addLayer(e,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:c},properties:{label:F}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]});const a=null===(U=this.map)||void 0===U?void 0:U.project({lng:c[0],lat:c[1]});if(a){null===(d=document.getElementById("hover-popup"))||void 0===d||d.remove();const V=document.createElement("div");V.id="hover-popup",V.className="route-popup",V.innerHTML=`<span style="color:#111">${F}</span>`,V.style.cssText=`\n position: absolute;\n left: ${a.x}px;\n top: ${a.y-40}px;\n transform: translate(-50%, -100%);\n padding: 6px 12px;\n background: #ffffff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n z-index: 9999;\n pointer-events: none;\n `,null===(t=document.getElementById("mapContainer"))||void 0===t||t.appendChild(V),null===(R=this.map)||void 0===R||R.on("move",()=>{var V;const l=document.getElementById("hover-popup");if(!l)return;const U=null===(V=this.map)||void 0===V?void 0:V.project({lng:c[0],lat:c[1]});U&&(l.style.left=`${U.x}px`,l.style.top=U.y-40+"px")})}this.fitBounds({type:"FeatureCollection",features:[V]})})}),this.fitBounds({type:"FeatureCollection",features:[Z[0]]}),{features:Z,directions:e}}catch(V){throw console.error("❌ Error while building multi-segment route:",V),V}})}clearAllRoutes(){for(let V=0;V<5;V++)this.removeLayer(`custom-route-${V}`),this.removeLayer(`custom-route-label-${V}`);const V=document.getElementById("hover-popup");V&&V.remove(),console.log("✅ All routes cleared")}highlightSearchResults(l,U={}){let d=0,t=null,N=null,Z=!0;const e=`${U.layerName||"search-results"}-icons`,R=U.layerName||"search-results",n=V=>{var l,d;if((null===(l=V.features)||void 0===l?void 0:l.length)&&V.features[0].properties){const l=V.features[0];null===(d=U.onIconClick)||void 0===d||d.call(U,V.lngLat.lat,V.lngLat.lng,l.properties)}},W=()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")},T=()=>{this.map&&(this.map.getCanvas().style.cursor="")},F=()=>{this.map&&t&&(N&&clearTimeout(N),N=setTimeout(()=>{var V;if(!this.map||!t)return;const l=this.map.getCenter(),d=l.lat,N=l.lng,Z=h(t[0],t[1],d,N);Z>=500&&(console.log(`Map moved ${Z.toFixed(2)}m, refetching...`),null===(V=U.onLoadingStateChange)||void 0===V||V.call(U,"rerender"),o())},250))},c=(U,d)=>a(this,void 0,void 0,function*(){var t,N,Z;try{return(null===(Z=null===(N=null===(t=(yield V.get("https://gis.yarrow.uz/search/",{params:{q:l,lat:U,lon:d},headers:{"Content-Type":"application/json"}})).data)||void 0===t?void 0:t.data)||void 0===N?void 0:N.nodes)||void 0===Z?void 0:Z.results)||[]}catch(V){return console.error("Error fetching search results:",V),[]}}),h=(V,l,U,d)=>{const t=V=>V*Math.PI/180,N=t(V),Z=t(U),e=t(U-V),R=t(d-l),a=Math.pow(Math.sin(e/2),2)+Math.cos(N)*Math.cos(Z)*Math.pow(Math.sin(R/2),2);return 6371e3*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))},o=()=>a(this,void 0,void 0,function*(){var V,l;if(!this.map)return;const d=this.map.getCenter(),N=d.lat,a=d.lng,F=yield c(N,a);null===(V=U.onLoadingStateChange)||void 0===V||V.call(U,!1),null===(l=U.onResultsUpdate)||void 0===l||l.call(U,F),t=[N,a];const h=Object.assign({layerName:R,iconImage:"geo-icon",pulseAnimation:!1,zoomToResults:!0,onIconClick:void 0},U);this.removeLayer(R),this.removeLayer(e);const o=F.filter(V=>"number"==typeof V.latitude&&"number"==typeof V.longitude).map(V=>({type:"Feature",geometry:{type:"Point",coordinates:[V.longitude,V.latitude]},properties:Object.assign(Object.assign({},V),{id:V.id||Math.random().toString(36).substring(2)})}));if(0===o.length)return void console.warn("No valid search results to display");const M={type:"FeatureCollection",features:o};setTimeout(()=>{if(this.map)try{if(h.iconImage&&(this.addLayer(e,"symbol",M,{"text-halo-color":"#ffffff","text-halo-width":2},{"icon-image":["get","icon_img"],"icon-size":.7,"icon-allow-overlap":!0,"text-field":["get","name"],"text-offset":[0,1.5],"text-anchor":"top","text-size":12}),this.map.on("click",e,n),this.map.on("mouseenter",e,W),this.map.on("mouseleave",e,T)),Z&&h.zoomToResults&&o.length>0)try{this.fitBounds(M)}catch(V){console.warn("Failed to zoom to search results",V)}Z=!1}catch(V){console.error("Error rendering search results:",V)}},0)}),M=()=>{var V,l;this.map?(null===(l=U.onLoadingStateChange)||void 0===l||l.call(U,"firstRender"),o(),this.map.on("moveend",F)):d<30?(console.warn("Map not available. Retrying in 1s..."),d++,setTimeout(M,1e3)):(console.error("Map instance never became available. Aborting highlight."),null===(V=U.onLoadingStateChange)||void 0===V||V.call(U,!1))};return M(),()=>{var V;this.map&&(this.map.getLayer(e)&&(this.map.off("click",e,n),this.map.off("mouseenter",e,W),this.map.off("mouseleave",e,T),this.removeLayer(e)),this.map.getLayer(R)&&this.removeLayer(R),this.map.off("moveend",F),N&&(clearTimeout(N),N=null),null===(V=U.onLoadingStateChange)||void 0===V||V.call(U,!1))}}startBusAnimation(){this.animationFrameId||(this.animationFrameId=requestAnimationFrame(this.animateBusMarkers))}stopBusAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}showBusRoute(l){return a(this,void 0,void 0,function*(){var U;this.currentBusRouteInterval&&clearInterval(this.currentBusRouteInterval),this.stopBusAnimation(),this.currentBusMarkers.forEach(V=>{this.removeMarker(V)}),this.currentBusMarkers.clear(),this.busPositions.clear(),this.currentRouteLayers.forEach(V=>{this.removeLayer(V)}),this.currentRouteLayers=[];const d=V=>{if(this.svgCache.has(V)){const l=this.svgCache.get(V);if(l)return l}const l=`<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">\n<rect x="27.501" y="28.4995" width="33" height="16" rx="1.5" fill="#089201" stroke="white"/>\n<text x="44" y="38.5" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="10" font-weight="bold">${V}</text>\n<path d="M23.5925 40.6362C20.913 42.7323 18.145 44.0821 15.5701 44.2746C13.0311 44.4643 10.6244 43.5346 8.5956 40.9411C4.51223 35.721 5.43367 28.1791 10.6537 24.0957C15.8737 20.0124 23.4156 20.9338 27.499 26.1538C29.5278 28.7474 29.8508 31.3071 29.0553 33.7257C28.2486 36.1786 26.272 38.5402 23.5925 40.6362Z" fill="#089201" stroke="white"/>\n<path d="M29.9819 48.4373C29.9924 48.7577 29.7057 48.9994 29.3999 48.9471L29.3391 48.9327L13.7566 44.2539C13.3682 44.1373 13.2725 43.6308 13.5919 43.809L28.6356 31.613C28.9376 31.3771 29.3712 31.556 29.4355 31.9159L29.443 31.9906L29.9832 48.4375L29.9819 48.4373Z" fill="#089201" stroke="white"/>\n<path d="M29.3082 48.2263L12.5495 43.5612L29.0899 30.6224L29.3082 48.2263Z" fill="#089201"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M19.001 26.5002C16.1725 26.5002 14.7583 26.5002 13.8797 27.3789C13.0823 28.1762 13.0085 29.4145 13.0017 31.7502L12.251 31.7502C11.8368 31.7502 11.501 32.086 11.501 32.5002L11.501 33.2502C11.501 33.4863 11.6121 33.7086 11.801 33.8502L13.001 34.7502C13.0078 37.086 13.0823 38.3242 13.8797 39.1216C14.0613 39.3032 14.2658 39.4473 14.501 39.5616L14.501 40.7502C14.501 41.1644 14.8368 41.5002 15.251 41.5002L16.376 41.5002C16.7902 41.5002 17.126 41.1644 17.126 40.7502L17.126 39.9864C17.6713 40.0002 18.2917 40.0002 19.001 40.0002C19.7103 40.0002 20.3307 40.0002 20.876 39.9864L20.876 40.7502C20.876 41.1644 21.2118 41.5002 21.626 41.5002L22.751 41.5002C23.1652 41.5002 23.501 41.1644 23.501 40.7502L23.501 39.5616C23.7361 39.4473 23.9407 39.3032 24.1223 39.1216C24.9196 38.3242 24.9941 37.086 25.001 34.7502L26.201 33.8502C26.3898 33.7086 26.501 33.4863 26.501 33.2502L26.501 32.5002C26.501 32.086 26.1652 31.7502 25.751 31.7502L25.0003 31.7502C24.9934 29.4145 24.9196 28.1762 24.1223 27.3789C23.2436 26.5002 21.8294 26.5002 19.001 26.5002ZM14.126 32.1252C14.126 33.1859 14.126 33.7162 14.4555 34.0457C14.785 34.3752 15.3153 34.3752 16.376 34.3752L19.001 34.3752L21.626 34.3752C22.6866 34.3752 23.217 34.3752 23.5465 34.0457C23.876 33.7162 23.876 33.1859 23.876 32.1252L23.876 30.2502C23.876 29.1896 23.876 28.6593 23.5465 28.3297C23.217 28.0002 22.6866 28.0002 21.626 28.0002L19.001 28.0002L16.376 28.0002C15.3153 28.0002 14.785 28.0002 14.4555 28.3297C14.126 28.6593 14.126 29.1896 14.126 30.2502L14.126 32.1252ZM14.6885 37.0002C14.6885 36.6896 14.9403 36.4377 15.251 36.4377L16.376 36.4377C16.6866 36.4377 16.9385 36.6896 16.9385 37.0002C16.9385 37.3109 16.6866 37.5627 16.376 37.5627L15.251 37.5627C14.9403 37.5627 14.6885 37.3109 14.6885 37.0002ZM23.3135 37.0002C23.3135 36.6896 23.0616 36.4377 22.751 36.4377L21.626 36.4377C21.3153 36.4377 21.0635 36.6896 21.0635 37.0002C21.0635 37.3109 21.3153 37.5627 21.626 37.5627L22.751 37.5627C23.0616 37.5627 23.3135 37.3109 23.3135 37.0002Z" fill="white"/>\n</svg>`;return this.svgCache.set(V,l),l},t=(V,l)=>{if(!this.map)return!1;return this.map.getBounds().contains([l,V])},N=(V,l)=>{if(V.length<=l)return V;return[...V].sort(()=>.5-Math.random()).slice(0,l)};let Z=!0;let e=!1,R=0;const n=()=>a(this,void 0,void 0,function*(){var U,a,n;const W=Date.now(),T=W-R;if(T<1e4&&R>0)console.warn(`⚠️ Skipping fetch - only ${(T/1e3).toFixed(1)}s since last fetch (min: 10s)`);else if(e)console.warn("⚠️ Skipping fetch - already in progress");else{e=!0,R=W;try{const e=l?`https://gis.yarrow.uz/api/get-route/?route_id=${l}`:"https://gis.yarrow.uz/api/get-all-bus/",R=yield V.get(e);if(!R.data.success)throw new Error("Failed to fetch bus locations");const W=l?R.data.data.busses:R.data.data;if(!W)throw new Error("No bus data found in response");let T=[],F={xMin:180,yMin:180,xMax:-180,yMax:-180};if(l)T=W.filter(V=>{const l=Number.parseFloat(V.lat),U=Number.parseFloat(V.lon);return!Number.isNaN(l)&&!Number.isNaN(U)}),Z&&T.length>0&&T.forEach(V=>{const l=Number.parseFloat(V.lat),U=Number.parseFloat(V.lon);F.xMin=Math.min(F.xMin,U),F.xMax=Math.max(F.xMax,U),F.yMin=Math.min(F.yMin,l),F.yMax=Math.max(F.yMax,l)});else if(Z){const V=null===(U=this.map)||void 0===U?void 0:U.getCenter();if(!V)throw new Error("Unable to get map center");const l=V.lat,d=V.lng;F=((V,l,U)=>{const d=U/6371*(180/Math.PI),t=U/6371*(180/Math.PI)/Math.cos(V*Math.PI/180);return{xMin:l-t,xMax:l+t,yMin:V-d,yMax:V+d}})(l,d,5),null===(a=this.map)||void 0===a||a.fitBounds([[F.xMin,F.yMin],[F.xMax,F.yMax]],{padding:50,duration:1e3});const t=W.filter(V=>{const U=Number.parseFloat(V.lat),t=Number.parseFloat(V.lon);return!Number.isNaN(U)&&!Number.isNaN(t)&&((V,l,U,d,t)=>{const N=(V-U)*Math.PI/180,Z=(l-d)*Math.PI/180,e=Math.sin(N/2)*Math.sin(N/2)+Math.cos(U*Math.PI/180)*Math.cos(V*Math.PI/180)*Math.sin(Z/2)*Math.sin(Z/2);return 2*Math.atan2(Math.sqrt(e),Math.sqrt(1-e))*6371<=t})(U,t,l,d,5)});T=N(t,this.MAX_BUSES)}else T=W.filter(V=>{const l=Number.parseFloat(V.lat),U=Number.parseFloat(V.lon);return!Number.isNaN(l)&&!Number.isNaN(U)&&t(l,U)}),T.length>this.MAX_BUSES&&(T=N(T,this.MAX_BUSES));const c=new Set;if(Z&&T.length>0&&console.log("🔍 Sample bus data:",T[0]),T.forEach(V=>{var l,U,t,N,Z,e;const R=Number.parseFloat(V.lat),a=Number.parseFloat(V.lon),n=V.bus_number||"?",W=(null===(l=V.id)||void 0===l?void 0:l.toString())||(null===(U=V.bus_id)||void 0===U?void 0:U.toString())||(null===(t=V.vehicle_id)||void 0===t?void 0:t.toString())||(null===(N=V.uuid)||void 0===N?void 0:N.toString())||(null===(Z=V.device_id)||void 0===Z?void 0:Z.toString())||(null===(e=V.bus_gos_number)||void 0===e?void 0:e.toString())||`bus-${n}-${R.toFixed(4)}-${a.toFixed(4)}`;c.add(W);const T=this.currentBusMarkers.get(W),F=this.busPositions.get(W);if(T&&F){const V=F.target[0],l=F.target[1];if(Math.abs(V-R)>1e-5||Math.abs(l-a)>1e-5){const V=T.getLngLat(),l=V.lat,U=V.lng;console.log(`🚌 Animating bus ${n} (${W}) from [${l.toFixed(5)}, ${U.toFixed(5)}] to [${R.toFixed(5)}, ${a.toFixed(5)}]`),F.current=[l,U],F.target=[R,a],F.startTime=Date.now(),F.animationDuration=16e3}}else{console.log(`🚌 Creating new bus marker ${n} (${W}) at [${R.toFixed(5)}, ${a.toFixed(5)}]`);const V=document.createElement("div");V.innerHTML=d(n),V.style.width="70px",V.style.height="70px";const l=this.addMarker([R,a],{element:V,anchor:"center",onClick:()=>{console.log(`Bus ${n} clicked at [${R}, ${a}]`)}});l&&(this.currentBusMarkers.set(W,l),this.busPositions.set(W,{current:[R,a],target:[R,a],startTime:Date.now(),animationDuration:16e3}))}}),this.currentBusMarkers.forEach((V,l)=>{c.has(l)||(this.removeMarker(V),this.currentBusMarkers.delete(l),this.busPositions.delete(l))}),this.currentBusMarkers.size>0&&(console.log(`🎬 Starting bus animation for ${this.currentBusMarkers.size} buses`),this.startBusAnimation()),l&&R.data.data.routes&&R.data.data.routes.length>0){const V=`bus-route-${l}`;this.currentRouteLayers.forEach(V=>{this.removeLayer(V)}),this.currentRouteLayers=[],this.renderRoutes(R.data.data.routes,V),R.data.data.routes.forEach((l,U)=>{this.currentRouteLayers.push(`${V}-${U}`)})}if(Z&&l&&T.length>0){const V=.003;Math.abs(F.xMax-F.xMin)<V&&(F.xMin-=V/2,F.xMax+=V/2),Math.abs(F.yMax-F.yMin)<V&&(F.yMin-=V/2,F.yMax+=V/2),null===(n=this.map)||void 0===n||n.fitBounds([[F.xMin,F.yMin],[F.xMax,F.yMax]],{padding:50,duration:1e3})}Z=!1,console.log(`Rendered ${T.length} buses out of ${W.length} total buses`)}catch(V){console.error("Error updating bus locations:",V)}finally{e=!1}}}),W=()=>{l||Z||(clearTimeout(this.mapMoveTimeout),this.mapMoveTimeout=setTimeout(()=>{n()},500))};return null===(U=this.map)||void 0===U||U.on("moveend",W),yield n(),this.currentBusRouteInterval=setInterval(n,16e3),()=>{var V;this.stopBusAnimation(),this.currentBusRouteInterval&&clearInterval(this.currentBusRouteInterval),this.currentBusRouteInterval=void 0,null===(V=this.map)||void 0===V||V.off("moveend",W),this.mapMoveTimeout&&clearTimeout(this.mapMoveTimeout),this.currentBusMarkers.forEach(V=>{this.removeMarker(V)}),this.currentBusMarkers.clear(),this.busPositions.clear(),this.currentRouteLayers.forEach(V=>{this.removeLayer(V)}),this.currentRouteLayers=[],this.svgCache.clear()}})}}x.isCacheProtocolRegistered=!1;const j=({config:V,configKey:N,onReady:Z})=>{const e=l(null),R=l(null),n=l(new WeakSet),[W,T]=U(null),[F,c]=U(!1),[h,o]=U(null),M=d(()=>null!=N?N:(V=>{var l,U,d,t,N,Z,e,R,a,n,W,T,F,c,h,o,M;const[m,r]=V.center,p=null!==(U=null===(l=V.cache)||void 0===l?void 0:l.enabled)&&void 0!==U&&U,i=null!==(t=null===(d=V.cache)||void 0===d?void 0:d.lifespanDays)&&void 0!==t?t:30;return[m,r,null!==(N=V.zoom)&&void 0!==N?N:10,null!==(Z=V.minZoom)&&void 0!==Z?Z:0,null!==(e=V.maxZoom)&&void 0!==e?e:19,null!==(R=V.theme)&&void 0!==R?R:"light",p,i,null!==(a=V.brandBadgePosition)&&void 0!==a?a:"bottom-left",null!==(W=null===(n=V.controls)||void 0===n?void 0:n.enabled)&&void 0!==W&&W,null!==(F=null===(T=V.controls)||void 0===T?void 0:T.position)&&void 0!==F?F:"right",null===(h=null===(c=V.controls)||void 0===c?void 0:c.zoom)||void 0===h||h,null===(M=null===(o=V.controls)||void 0===o?void 0:o.compass)||void 0===M||M].join(":")})(V),[V,N]);return t(()=>{const l=V=>{if(!(null==V?void 0:V.map))return;const l=V.map;if(!n.current.has(l))try{V.map.remove()}catch(V){}finally{n.current.add(l),V.map=void 0}};if("undefined"==typeof window||"undefined"==typeof document)return;const U=e.current;if(!U)return;let d=!1,t=null;return a(void 0,void 0,void 0,function*(){try{l(R.current),R.current=null,T(null),c(!1),o(null);const N=new G({container:U,center:V.center,zoom:V.zoom,minZoom:V.minZoom,maxZoom:V.maxZoom,theme:V.theme,cache:V.cache,brandBadgePosition:V.brandBadgePosition,controls:V.controls});if(t=new x(N),yield t.init(),d)return void l(t);R.current=t,T(t),c(!0),Z&&Z(t)}catch(V){const l=V instanceof Error?V:new Error("Failed to initialize Yarrow map");d||(o(l),c(!1))}}),()=>{d=!0;const V=R.current;l(V),R.current=null,t&&t!==V&&l(t),T(null),c(!1)}},[Z,M]),{containerRef:e,map:W,isReady:F,error:h}},B=({config:V,configKey:l,onReady:U,className:d,style:t})=>{const{containerRef:N}=j({config:V,configKey:l,onReady:U});return R("div",{ref:N,className:d,style:t})};V.defaults.baseURL="https://gis.yarrow.uz";export{B as YarrowMapView,j as useYarrowMap};
2
2
  //# sourceMappingURL=index.js.map
@@ -5,7 +5,7 @@ type CacheConfig = {
5
5
  lifespanDays?: number;
6
6
  };
7
7
  type BrandBadgePosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
8
- type YarrowControlsPosition = 'left' | 'right';
8
+ type YarrowControlsPosition = 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom';
9
9
  type YarrowControlsConfig = {
10
10
  enabled?: boolean;
11
11
  position?: YarrowControlsPosition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yarrow-uz/yarrow-map-web-sdk",
3
- "version": "1.0.41",
3
+ "version": "1.0.42",
4
4
  "description": "Yarrow Map Web SDK for embedding interactive maps and routing in web apps.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "main": "dist/main.js",