@bimdata/viewer 2.9.0-beta.6 → 2.9.0-beta.8

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.
@@ -1231,7 +1231,7 @@ else `),r<e-1&&(i+=`if(textureId < ${r}.5)`),i+=`
1231
1231
 
1232
1232
  void main() {
1233
1233
  color = u_rgba;
1234
- }`,{u_rgba:bIt(t,e)})}function LV(t,e,i,r=null){let o=!0;function n(s){o=!1,s&&(i.closePath(),o=!0)}if(e.binary){const{binary:s}=e;let a=0;for(;a<s.byteLength;){const{path:l,bytesRead:c}=GIt(s,a);switch(a+=c,l.type){case"curve":Xde(l,i,t,r,l.start||o);break;case"arc":Zde(l,i,t,r,l.start||o);break;case"line":{const{dx:d,dy:u}=t;for(let A of l.points){const{x:h,y:g,bytesRead:p}=A;a+=p,(l.start||o)&&(i.moveTo(h+d,g+u),l.start=!1,o=!1),i.lineTo(h+d,g+u)}break}}n(l.close)}}else e.paths.forEach(s=>{s.draw(i,t,r,s.start||o),n(s.close)})}function KIt(t,e){let i=Ir.IDENTITY,r=Ir.IDENTITY;const o={dx:0,dy:0},n=Object.defineProperties({},{viewer:{value:t,enumerable:!0},renderer:{value:new np({view:t.canvas,width:t.canvas.width,height:t.canvas.height,backgroundAlpha:0,antialias:!1,preserveDrawingBuffer:!0})},transform:{get:()=>i,set(a){r=a,s(r)},enumerable:!0},transformUpdated:{value:!1,writable:!0,enumerable:!0},offset:{enumerable:!0,get:()=>Object.freeze({...o}),set(a){if(!Number.isFinite(a.dx)||!Number.isFinite(a.dy))throw new TypeError("Render offset must be an object with dx and dy as finite numbers.");o.dx=a.dx,o.dy=a.dy,s(r),this.render(!0,!0)}},layers:{value:new Map,enumerable:!0},destroy:{value:function(){this.renderer.destroy(),this.layers.forEach(a=>a.destroy())},enumerable:!0},render:{value:QIt,enumerable:!0},resize:{value:vIt,enumerable:!0},...Object.getOwnPropertyDescriptors(ap())});function s(a){const{dx:l,dy:c}=o;i=Ir.IDENTITY.translate(-l,-c).prepend(a),n.transformUpdated=!0}return function(a){Object.defineProperties(a,{makeShapeDrawer:{enumerable:!0,value:$de(a.viewer,(...l)=>LV(a.offset,...l))},makeShapePickingDrawer:{enumerable:!0,value:zIt(a,(...l)=>LV(a.offset,...l))},makeGeometryDrawer:{enumerable:!0,value:qIt(a)}})}(n),SIt(n,e),Object.seal(n)}function JIt(){const t=Ir.IDENTITY,e=ap();return Object.freeze({rotate(i=0){typeof i=="number"?(t.rotate(i*(Math.PI/180)),e.emit("update",{rotate:i})):console.error(`Texture matrix rotate method only accept angle as number in degree. Get "${typeof i}".`)},scale(i=1,r=i){typeof i=="number"&&typeof r=="number"&&i!==0&&r!==0?(t.scale(i,r),e.emit("update",{scale:{x:i,y:r}})):console.error(`Texture matrix scale method only accept non zero x and y as numbers. Get x: ${i} type "${typeof i}", y: ${r} type "${typeof r}".`)},translate(i=0,r=0){typeof angle=="number"?(t.translate(i,r),e.emit("update",{translate:{x:i,y:r}})):console.error(`Texture matrix translate method only accept x and y as numbers. Get x: "${typeof i}", y: "${typeof r}".`)},get matrix(){return t},...e})}function YIt(){const t=new Map;return Object.freeze({modelTextures:t,textureMatrix:JIt(),async load(e,i){t.has(e)||t.set(e,new Map);try{const r=t.get(e);return Promise.all(i.map(async o=>{const{name:n,uri:s,width:a,height:l,resolution:c}=o,d=await function(u,A=64,h=64,g=1){const p=new Image(A,h),m=new No(p,{wrapMode:ip.REPEAT,scaleMode:yu.LINEAR,alphaMode:SA.NPM,mipmap:r1.ON,resolution:g}),f=new $i(m),C=new Promise(y=>{p.onload=()=>y(f)},y=>{p.onerror=v=>y(v)});return p.src=u,C}(s,a,l,c);d.name=n,r.set(n,d)}))}catch(r){return console.error(`Error loading textures for model "${e}".`,r),null}},unload(e){if(!t.has(e))return!1;const i=t.get(e);for(const r of i.values())r.destroy(!0);return t.delete(e)},destroy(){for(const e of t.values())for(const i of e.values())i.destroy(!0)}})}function WIt(t){const e=function(r){const o={transform:Ir.IDENTITY,translate(s=0,a=0){if(typeof s!="number"||typeof a!="number")throw new Error("dx and dy should be numbers.");this.transform=new Ir().translate(s,a).append(this.transform)},rotate(s=0,a={x:0,y:0}){if(typeof s!="number")throw new Error("Angle must be a number (degree)");this.transform.append(new Ir().translate(-a.x,-a.y).rotate(s).translate(a.x,a.y))},scale(s=1,a={x:0,y:0}){if(s<0)throw new Error("Scale factor should be > 0.");let l=s;const c=this.getScale();c*l>=r.settings.maxScale&&(l=r.settings.maxScale/c),c*l<=r.settings.minScale&&(l=r.settings.minScale/c),this.transform.append(new Ir().translate(-a.x,-a.y).scale(l,l).translate(a.x,a.y))},getTranslate(s=this.transform){return{dx:s.tx,dy:s.ty}},getRotate(s=this.transform){return Math.atan2(s.b/this.getScale(),s.a/this.getScale())},getScale(s=this.transform){return Math.sqrt(Math.pow(s.a,2)+Math.pow(s.b,2))},resetTranslate(){this.setState({translate:{dx:0,dy:0}})},resetRotate(){this.setState({rotate:0})},resetScale(){this.setState({scale:1})},setState({rotate:s=this.getRotate(),translate:a=this.getTranslate(),scale:l=this.getScale()}={}){if(typeof a!="object")throw new Error(`'translate' argument should be an object, received '${typeof a}'.`);if(typeof s!="number")throw new Error(`'rotate' argument should be a number, received '${typeof s}'.`);if(typeof l!="number")throw new Error(`'scale' argument should be a number, received '${typeof l}'.`);const{dx:c=0,dy:d=0}=a;this.transform=new Ir().translate(c,d).rotate(s).scale(l)},getTransformedPoint({x:s,y:a}){return this.transform.applyInverse({x:s,y:a})},getViewPoint({x:s,y:a}){return this.transform.apply({x:s,y:a})}},n=ap();return new Proxy({translate(s,a){o.translate(s,a)},rotate:(s,a)=>o.rotate(s,a),scale:(s,a)=>o.scale(s,a),resetTransform(){o.transform=Ir.IDENTITY}},{get:(s,a)=>["on","clear","off","once"].includes(a)?n[a]:a==="transform"?o.transform:(...l)=>{s[a](...l),n.emit("update",o.transform)}})}(t),i={get transform(){return e.transform},fitView(r=t.scene,o=!1){Array.isArray(r)||(r=[r]);let n=null;if(o){const w=[];for(const b of r){const[E,k,x,M]=b.aabb,D=[this.getCanvasPosition({x:E,y:k}),this.getCanvasPosition({x,y:k}),this.getCanvasPosition({x:E,y:M}),this.getCanvasPosition({x,y:M})].flatMap(({x:P,y:T})=>[P,T]);w.push({aabb:Nde(D)})}n=Wv(w)}else{const w=[];r.map(E=>{if(E.type==="scene"||E.type==="model")w.push(...E.objects);else{if(E.type!=="object")throw new TypeError("Camera fitview only accept scene, model, object or an array of a mix of them.");w.push(E)}});const b=w.flatMap(E=>{var k;let x=null;if(x=E.readonly?E.shapes.map(M=>{const[D,P,T,U]=M.aabb,H=this.getCanvasPosition({x:D,y:P}),_=this.getCanvasPosition({x:T,y:U});return{aabb:[H.x,H.y,_.x,_.y]}}):E.shapes.flatMap(M=>{var D;return((D=M.paths)==null?void 0:D.map(P=>{switch(P.type){case"arc":{const T=this.getCanvasPosition(P);return{aabb:[T.x-P.radius*this.getScale(),T.y-P.radius*this.getScale(),T.x+P.radius*this.getScale(),T.y+P.radius*this.getScale()]}}case"curve":{const T=this.getCanvasPosition(P),U=this.getCanvasPosition({x:P.toX,y:P.toY});return{aabb:[T.x,T.y,U.x,U.y]}}case"line":return{aabb:Wv(P.points.map(T=>this.getCanvasPosition(T)).map(({x:T,y:U})=>({aabb:[T,U,T,U]})))};default:throw new TypeError(`[Camera FitView] Path type other than "line", "arc" or "curve are not supported, get "${P.type}" on object with id ${E.id}.`)}}))??[]}),((k=E.geometries)==null?void 0:k.length)>0){let M=1/0,D=1/0,P=-1/0,T=-1/0;for(const U of E.geometries){const{points:H}=U,_=H.length;for(let V=0;V<_;V+=2){const{x:Y,y:re}=this.getCanvasPosition({x:H[V],y:H[V+1]});Y<M&&(M=Y),re<D&&(D=re),Y>P&&(P=Y),re>T&&(T=re)}}x.push({aabb:[M,D,P,T]})}return x});n=Wv(b)}const[s,a,l,c]=n,d=l-s,u=c-a;if(d===0&&u===0)return;const A=s+d/2,h=a+u/2,g=t.canvas.width/window.devicePixelRatio,p=t.canvas.height/window.devicePixelRatio,m=g/2,f=p/2,C=Math.min(g*t.settings.fitViewRatio/d,p*t.settings.fitViewRatio/u),y=A-m,v=h-f;this.translate(y*window.devicePixelRatio,v*window.devicePixelRatio),this.scale(C)},translate(r=0,o=0){if(!Number.isFinite(r)||!Number.isFinite(o))throw new TypeError("Camera translate needs dx and dy as finite numbers.");e.translate(-r,-o)},zoomIn(r=this.zoom,o=this.position){if(!(Number.isFinite(r)&&Number.isFinite(o?.x)&&Number.isFinite(o?.y)))throw new TypeError("Camera zoom methods need a factor as finite number and an optional origin as an object with x and y as finite numbers.");e.scale(iue(this.zoom+r)/this.getScale(),o)},zoomOut(r=this.zoom/2,o=this.position){this.zoomIn(-r,o)},scale(r=1,o=this.position){if(!(Number.isFinite(r)&&Number.isFinite(o?.x)&&Number.isFinite(o?.y)))throw new TypeError("Camera scale needs a factor as finite number and an optional origin as an object with x and y as finite numbers.");e.scale(r,o)},rotate(r=0,o=this.position){if(!(Number.isFinite(r)&&Number.isFinite(o?.x)&&Number.isFinite(o?.y)))throw new TypeError("Camera rotate needs an angle as finite number and an optional origin as an object with x and y as finite numbers.");e.rotate(-r/180*Math.PI,o)},move(r={}){if(!Number.isFinite(r?.x)||!Number.isFinite(r?.y))throw new TypeError("Camera move needs an optional position as an object with x and y as finite numbers.");const{x:o=0,y:n=0}=r,{x:s,y:a}=this.getCanvasPosition(this.position),{x:l,y:c}=this.getCanvasPosition({x:o,y:n});this.translate((l-s)*window.devicePixelRatio,(c-a)*window.devicePixelRatio)},get position(){const{width:r,height:o}=t.canvas,{x:n,y:s}=this.getPosition({x:r/window.devicePixelRatio/2,y:o/window.devicePixelRatio/2});return Object.freeze({x:n,y:s})},get center(){return this.position},get aabb(){const{x:r,y:o}=this.getPosition({x:0,y:0}),{x:n,y:s}=this.getPosition({x:t.canvas.width,y:t.canvas.height});return[r,o,n,s]},getScale:()=>e.transform.decompose(Uv.IDENTITY).scale.x,get rotation(){return-e.transform.decompose(Uv.IDENTITY).rotation/Math.PI*180},get zoom(){return function(r){return 100*r}(this.getScale())},getPosition(r={}){const{x:o=0,y:n=0}=r,{x:s,y:a}=e.transform.applyInverse({x:o*window.devicePixelRatio,y:n*window.devicePixelRatio});return{x:s,y:a}},getCanvasPosition(r={}){const{x:o=0,y:n=0}=r,{x:s,y:a}=e.transform.apply({x:o,y:n});return{x:s/window.devicePixelRatio,y:a/window.devicePixelRatio}},destroy(){e.clear()},getViewpoint(){const{x:r,y:o}=this.position;return Object.freeze({x:r,y:o,rotation:this.rotation,zoom:this.zoom})},setViewpoint(r={}){const{x:o=this.position.x,y:n=this.position.y,rotation:s=this.rotation,zoom:a=this.zoom}=r,l=iue(a);e.resetTransform(),this.move({x:o,y:n}),this.rotate(s),this.scale(l)},...ap()};return e.on("update",r=>t.ticker.addOnce("camera-transform-update",()=>i.emit("update",r.clone()))),Object.freeze(i)}function iue(t){return t/100}function ZIt(){let t="shift",e="shift",i=.002,r=.3,o=.1,n=1e3,s=.001,a=.9,l=1;const c=Object.seal({get dragKey(){return t},set dragKey(d){if(typeof d!="string")throw new TypeError(`Settings dragKey needs a string, received "${d}"`);t=d},get rotateKey(){return e},set rotateKey(d){if(typeof d!="string")throw new TypeError(`Settings rotateKey needs a string, received "${d}"`);e=d},get clickMaxOffset(){return 5},set clickMaxOffset(d){if(!Number.isFinite(d))throw new TypeError(`Settings clickMaxOffset needs a finite numbers, received "${d}"`);e=d},get scaleSpeed(){return i},set scaleSpeed(d){if(!Number.isFinite(d))throw new TypeError(`Settings scaleSpeed needs a finite numbers, received "${d}"`);i=d},get scaleDeltaMax(){return r},set scaleDeltaMax(d){if(!Number.isFinite(d))throw new TypeError(`Settings scaleDeltaMax needs a finite numbers, received "${d}"`);r=d},get rotateSpeed(){return o},set rotateSpeed(d){if(!Number.isFinite(d))throw new TypeError(`Settings rotateSpeed needs a finite numbers, received "${d}"`);o=d},get maxScale(){return n},set maxScale(d){if(!Number.isFinite(d))throw new TypeError(`Settings maxScale needs a finite numbers, received "${d}"`);n=d},get minScale(){return s},set minScale(d){if(!Number.isFinite(d))throw new TypeError(`Settings minScale needs a finite numbers, received "${d}"`);s=d},get fitViewRatio(){return a},set fitViewRatio(d){if(!Number.isFinite(d))throw new TypeError(`Settings fitViewRatio needs a finite numbers, received "${d}"`);a=d},get snapMargin(){return l},set snapMargin(d){if(!Number.isFinite(d))throw new TypeError(`Settings snapMargin needs a finite numbers, received "${d}"`);l=d},curves:Object.seal({get adaptive(){return _c.adaptive},set adaptive(d){_c.adaptive=d},get maxLength(){return _c.maxLength},set maxLength(d){_c.maxLength=d},get maxSegments(){return _c.maxSegments},set maxSegments(d){_c.maxSegments=d},get minSegments(){return _c.minSegments},set minSegments(d){_c.minSegments=d}})});return c.curves.minSegments=32,c}const XIt=Object.freeze({LINE_CAP:Cd,LINE_JOIN:Al}),yn=Object.freeze({UP_TO_DATE:0,VISIBLE:1,SELECTED:2,HIGHLIGHTED:4,PICKABLE:8,STYLE:16,SHAPED:32,TEXT:64,NEW:128});function NM(t=[],e="element",i=null,r=null){const o=function(n=""){return n[0].toUpperCase()+n.substring(1)}(e);return{get[`${e}s`](){return t},[`add${o}`](n,s=t.length){let a;a=i?i(n):n;const[l]=t.splice(s,0,a);return r?.({[`${e}Added`]:l,index:s}),a},[`get${o}`]:(n=t.length-1)=>t[n],[`remove${o}`](n=t.length-1){const[s]=t.splice(n,1);return s&&r?.({[`${e}Removed`]:s,index:n}),s}}}function $It(t,e){var i;const r=t,o=()=>{var d;r.cache.aabb=null,r.cache.center=null,(d=r.onUpdate)==null||d.call(r)},n=d=>l.indexOf(d),s=d=>{const u=function(A,h=()=>null){const{x:g,y:p}=A,m={x:g,y:p};return Object.defineProperty(m,"onUpdate",{value:null,writable:!0}),Object.seal(m),new Proxy(m,{set(f,C,y,v){var w;if(C==="x"||C==="y"){if(!Number.isFinite(y))throw new TypeError("Point x and y must be finite numbers.");const b=f[C];return b!==y&&(f[C]=y,(w=f.onUpdate)==null||w.call(f,{value:y,oldValue:b,property:C,point:f})),!0}return Reflect.set(f,C,y,v)},get(f,C,y){return C==="index"?h(this):Reflect.get(f,C,y)}})}(d,n);return u.onUpdate=o,u},a=Math.round((((i=e.points)==null?void 0:i.length)??0)/2),l=new Array(a);if(a){const{points:d}=e;for(let u=0;u<a;u++)l[u]=s({x:d[2*u],y:d[2*u+1]})}const c=NM(l,"point",s,o);return Object.defineProperties(r,{...Object.getOwnPropertyDescriptors(c),draw:{value:iBt,enumerable:!0},getAABB:{value:eBt},getCenter:{value:tBt}}),function(d){Object.defineProperties(d,{move:{enumerable:!0,value:(u=d.center)=>{if(!Number.isFinite(u.x)||!Number.isFinite(u.y))throw new TypeError("Line move only accepts an object with x and y as finite numbers.");const{x:A,y:h}=d.center,g=u.x-A,p=u.y-h;d.translate(g,p)}},translate:{enumerable:!0,value:(u=0,A=0)=>{if(!Number.isFinite(u)||!Number.isFinite(A))throw new TypeError("Line translate only accepts dx and dy as finite numbers.");d.points.forEach(h=>{h.x+=u,h.y+=A})}},rotate:{enumerable:!0,value:(u=0,A=d.center)=>{if(!(Number.isFinite(u)&&Number.isFinite(A.x)&&Number.isFinite(A.y)))throw new TypeError("Line rotate only accepts angle in degrees as finite number and an object with x and y as finite numbers.");const h=-u/180*Math.PI;d.points.forEach(g=>{const p=lp(g,A,h);g.x=p.x,g.y=p.y})}},scale:{enumerable:!0,value:(u=1,A=d.center)=>{if(!(Number.isFinite(u)&&u>0&&Number.isFinite(A.x)&&Number.isFinite(A.y)))throw new TypeError("Line scale only accepts factor as strictly positive finite number and an object with x and y as finite numbers.");const h=Ir.IDENTITY;h.translate(-A.x,-A.y),h.scale(u,u),h.translate(A.x,A.y),d.points.forEach(g=>h.apply(g,g))}}})}(r),Object.seal(r)}function eBt(){return this.cache.aabb||(this.cache.aabb=Object.freeze(Wv(this.points.map(t=>({aabb:[t.x,t.y,t.x,t.y]}))))),this.cache.aabb}function tBt(){if(!this.cache.center){const[t,e,i,r]=this.aabb;this.cache.center=Object.freeze({x:(t+i)/2,y:(e+r)/2})}return this.cache.center}function iBt(t,e,i=null,r=!1){const o=this.points.flatMap(n=>[n.x+e.dx,n.y+e.dy]);if(r){const[n,s]=o;t.moveTo(n,s)}for(let n=0,s=o.length;n<s;n+=2){const a=o[n],l=o[n+1];i?t.dashedLineTo(a,l,i):t.lineTo(a,l)}}const rue={fill:void 0,fillOpacity:void 0,lineWidth:void 0,lineColor:void 0,lineOpacity:void 0,lineDash:void 0,lineCap:void 0,lineJoin:void 0,nonScalingLineWidth:void 0,performanceLine:void 0},rBt=Object.keys(rue);function oue(t,e,i){const r=t.scene._shapeId++,o={get id(){return r},type:"shape",get object(){return t},get onUpdate(){return i},cache:{},get aabb(){return this.cache.aabb||(this.cache.aabb=Wv(this.paths)),this.cache.aabb},get center(){if(!this.cache.center){const[c,d,u,A]=this.aabb;this.cache.center={x:(c+u)/2,y:(d+A)/2}}return this.cache.center}};(function(c,d=null){const u=Object.assign({},rue);d&&Object.keys(u).forEach(h=>{d[h]!==void 0&&(u[h]=d[h])}),c.style={};const A=c.object.scene.viewer.styles.default;Object.keys(u).forEach(h=>{Object.defineProperty(c.style,h,{get:()=>u[h]??A[h],set(g){const p=u[h];p!==g&&(u[h]=g,c.object.model.scene.emit("object-update",{object:c.object,property:h,oldValue:p,value:g}),~c.object.flags&yn.STYLE&&(c.object.flags|=yn.STYLE))},enumerable:!0})})})(o,e?.style);const n=c=>{const d=function(u=[]){let A=!!u.close,h=typeof u.start=="boolean"?!!u.start:void 0;const g={};return Object.defineProperties(g,{onUpdate:{value:null,writable:!0},cache:{value:{}},type:{value:u.type,enumerable:!0},aabb:{enumerable:!0,get:()=>g.getAABB()},center:{enumerable:!0,get:()=>g.getCenter()},close:{enumerable:!0,get:()=>A,set(p){var m;A=p,(m=this.onUpdate)==null||m.call(this)}},start:{enumerable:!0,get:()=>h,set(p){var m;h=p,(m=this.onUpdate)==null||m.call(this)}}}),["line","arc","curve"].includes(u.type)||console.warn(`SHAPE - Path not supported. Path of type "${g.type}" will be created as "line".`),u.type==="arc"?Object.seal(RIt(g,u)):u.type==="curve"?Object.seal(FIt(g,u)):Object.seal($It(g,u))}(c);return d.onUpdate=()=>{var u;o.cache.aabb=null,o.cache.center=null,(u=o.onUpdate)==null||u.call(o)},d},s=e?.paths.length??0,a=new Array(s);if(s){const c=e.paths;for(let d=0;d<s;d++)a[d]=n(c[d])}const l=NM(a,"path",n,()=>{var c;return(c=o.onUpdate)==null?void 0:c.call(o)});return Object.defineProperties(o,Object.getOwnPropertyDescriptors(l)),Object.seal(o)}function oBt(t,e=[]){const i=t.scene._shapeId++,r=e?.paths??[];let o=null,n=null;const s={get id(){return i},get object(){return t},get aabb(){return o||(o=function(a){let l=1/0,c=1/0,d=-1/0,u=-1/0;for(let A of a)switch(A.type){case"line":{const{points:h}=A,g=h.length;for(let p=0;p<g;p+=2){const m=h[p],f=h[p+1];m<l&&(l=m),f<c&&(c=f),m>d&&(d=m),f>u&&(u=f)}break}case"curve":{const{x:h,y:g,toX:p,toY:m}=A;h<l&&(l=h),g<c&&(c=g),p>d&&(d=p),m>u&&(u=m);break}case"arc":{const{x:h,y:g,radius:p}=A;h-p<l&&(l=h-p),g-p<c&&(c=g-p),h+p>d&&(d=h+p),g+p>u&&(u=g+p);break}default:throw new TypeError(`[Readonly AABB] - Path can only be "line", "curve" or "arc". Got "${A.type}".`)}return[l,c,d,u]}(r)),o},get center(){if(!n){const[a,l,c,d]=this.aabb;n={x:(a+c)/2,y:(l+d)/2}}return n}};return function(a,l=null){const c=a.object.scene.viewer.styles.default;a.style={};for(let d of rBt)a.style[d]=l?.[d]??c[d]}(s,e?.style),s.binary=jIt(r),s}function TV(t){t.model.scene.emit("object-update",{object:t,property:"shapes"}),t.flags|=yn.SHAPED}function nBt(){const{_cache:t}=this;return t.aabb||(t.aabb=Nde(this.points)),t.aabb}function sBt(){const{_cache:t}=this;if(!t.center){const[e,i,r,o]=this.aabb;t.center={x:(r+e)/2,y:(o+i)/2}}return t.center}function nue(t,e){return new Proxy(e,{set:(i,r,o,n)=>(Reflect.get(i,r,n)!==o&&~t.flags&yn.TEXT&&sue(t),Reflect.set(i,r,o,n))})}function sue(t){t.flags|=yn.TEXT,t.model.scene.emit("object-update",{object:t,property:"texts"})}function aue(t){return`object-${t}`}function aBt(t){const e=qy(),i=qy();return(r={},o)=>{if(r.id!==void 0&&typeof r.id!="string")throw new TypeError(`2D ENGINE - Object id must be a string, got ${typeof r.id}.`);let n=null;if(r.id!==void 0){if(n=r.id,t.objectsMap.has(n))throw new Error(`2D ENGINE - Object id ${n} is already used.`)}else for(n=aue(e());t.objectsMap.has(n);)n=aue(e());const{zIndex:s=0,pickingZIndex:a=s,pickingMargin:l=0,readonly:c=!1}=r;let d=yn.NEW;const u={type:"object",scene:t,model:o,id:n,readonly:c,zIndex:s,pickingId:i(),pickingZIndex:a,pickingMargin:l,get flags(){return d},set flags(A){d=A,u.model.dirty=!0}};return function(A,h){const{visible:g=!0,selected:p=!1,highlighted:m=!1,pickable:f=!0}=h,C=[{property:"visible",initValue:g,flag:yn.VISIBLE,getters:["shownObjects","hiddenObjects"]},{property:"selected",initValue:p,flag:yn.SELECTED,getters:["selectedObjects","unselectedObjects"]},{property:"highlighted",initValue:m,flag:yn.HIGHLIGHTED,getters:["highlightedObjects","unhighlightedObjects"]},{property:"pickable",initValue:f,flag:yn.PICKABLE,getters:["pickableObjects","unpickableObjects"]}];for(let{property:y,initValue:v,flag:w,getters:b}of C){let E=A[y]===void 0?v:A[y];Object.defineProperty(A,y,{set(k){const x=E;x!==k&&(E=k,b.forEach(M=>{A.model.scene.cache[M]=null}),A.model.scene.emit("object-update",{object:A,property:y,oldValue:x,value:k}),~A.flags&w&&(A.flags|=w))},get:()=>E})}}(u,r),function(A,h=[]){if(!Array.isArray(h))throw new TypeError("[SHAPE] Cannot add shapes. Object.shapes must be an array, got "+typeof h);if(A.readonly){const g=h.length,p=new Array(g);for(let m=0;m<g;m++)p[m]=oBt(A,h[m]);A.shapes=p}else{const g=NM(h.map(p=>oue(A,p,()=>TV(A))),"shape",p=>oue(A,p,()=>TV(A)),()=>TV(A));Object.defineProperties(A,Object.getOwnPropertyDescriptors(g))}}(u,r.shapes),function(A,h=[]){if(h.length===0)return;A.geometries=new Array(h.length);let g=0;for(const p of h){A.geometries[g++]=p;const m=p.type==="fill"?{fill:p.color,fillOpacity:p.alpha}:{lineColor:p.color,lineOpacity:p.alpha};Object.assign(p,{object:A,id:A.scene._geometryId++,style:m}),p._cache={aabb:null,center:null},p.aabb||Object.defineProperty(p,"aabb",{enumerable:!0,get:nBt}),Object.defineProperty(p,"center",{enumerable:!0,get:sBt})}}(u,r.geometries),function(A,h=[]){for(let g of h)if(typeof g!="object")throw new TypeError("[Engine2D - Object] Text must be an object");if(A.readonly)A.texts=h;else{const g=h.length,p=new Array(g);for(let f=0;f<g;f++)p[f]=nue(A,h[f]);const m=NM(p,"text",f=>nue(A,f),()=>sue(A));Object.defineProperties(A,Object.getOwnPropertyDescriptors(m))}}(u,r.texts),function(A){Object.defineProperties(A,{aabb:{get:()=>Wv(A.shapes.concat(A.geometries??[])),enumerable:!0},center:{get(){const[h,g,p,m]=this.aabb;return{x:(h+p)/2,y:(g+m)/2}},enumerable:!0}})}(u),function(A){Object.defineProperties(A,{move:{enumerable:!0,value:h=>function(g,p={}){const{x:m,y:f}=p,C=g.center;g.shapes.flatMap(y=>y.paths).forEach(y=>{const v=y.center,w=v.x-C.x,b=v.y-C.y;y.move({x:w+m,y:b+f})})}(A,h)},translate:{enumerable:!0,value:(h,g)=>function(p,m,f){p.shapes.flatMap(C=>C.paths).forEach(C=>{C.translate(m,f)})}(A,h,g)},rotate:{enumerable:!0,value:(h,g)=>function(p,m,f=p.center){p.shapes.flatMap(C=>C.paths).forEach(C=>{C.rotate(m,f)})}(A,h,g)},scale:{enumerable:!0,value:(h,g)=>function(p,m,f=p.center){p.shapes.flatMap(C=>C.paths).forEach(C=>{C.scale(m,f)})}(A,h,g)}})}(u),u}}function lue(t){Object.defineProperties(t,{aabb:{enumerable:!0,get:lBt},center:{enumerable:!0,get:cBt}})}function lBt(){const[t,...e]=this[this.type==="scene"?"models":"objects"];if(t){const i=t.aabb;for(const r of e)r.aabb.forEach((o,n)=>{(n<2?o<i[n]:o>i[n])&&(i[n]=o)});return i}return[0,0,0,0]}function cBt(){const[t,e,i,r]=this.aabb;return{x:(i+t)/2,y:(r+e)/2}}function cue(t){return`model-${t}`}function dBt(t){const e=qy(),i=aBt(t);return(r={})=>{var o;if(r.id!==void 0&&typeof r.id!="string")throw new TypeError(`2D ENGINE - Model id must be a string, got ${typeof r.id}.`);let n=null;if(r.id!==void 0){if(n=r.id,t.modelsMap.has(n))throw new Error(`2D ENGINE - Model id ${n} is already used.`)}else for(n=cue(e());t.modelsMap.has(n);)n=cue(e());const s=new Map;let a=!0;const l={};return Object.defineProperties(l,{type:{value:"model",enumerable:!0},cache:{value:{}},scene:{value:t,enumerable:!0},id:{value:n,enumerable:!0},dirty:{get:()=>a,set(c){a=c,a&&(l.cache.objects=null,t.dirty=!0)},enumerable:!0},addObject:{value:function(c){const d=i(c,l);return s.set(d.id,d),t.objectsMap.set(d.id,d),t.pickingIds.set(d.pickingId,d),t.emit("object-added",d),l.dirty=!0,d}},removeObject:{value:c=>{const d=s.get(c);return!!d&&(s.delete(c),t.objectsMap.delete(d.id),t.pickingIds.delete(d.pickingId),t._removedObjects.push(d),t.emit("object-removed",d),l.dirty=!0,!0)},enumerable:!0},objects:{get(){return this.cache.objects||(this.cache.objects=Object.freeze(Array.from(s.values()))),this.cache.objects},enumerable:!0}}),function(c){Object.defineProperties(c,{move:{enumerable:!0,value:d=>{const{x:u,y:A}=c.center;c.objects.forEach(h=>{const{x:g,y:p}=h.center;h.move({x:d.x+(g-u),y:d.y+(p-A)})})}},translate:{enumerable:!0,value:(d,u)=>{c.objects.forEach(A=>A.translate(d,u))}},rotate:{enumerable:!0,value:(d=0,u=c.center)=>{c.objects.forEach(A=>A.rotate(d,u))}},scale:{enumerable:!0,value:(d,u=c.center)=>{c.objects.forEach(A=>A.scale(d,u))}}})}(l),lue(l),(o=r?.objects)==null||o.map(c=>l.addObject(c)),Object.seal(l)}}function uBt(t){return e=>{const i=t.modelsMap.get(e);return!!i&&(i.objects.forEach(r=>i.removeObject(r.id)),t.modelsMap.delete(e),t.viewer.textureManager.unload(e),t.emit("model-removed",i),t.dirty=!0,t.cache={},!0)}}function ABt(t){const e=i=>(r=[])=>{if(!Array.isArray(r))throw new Error("Ids must be an Array");r.map(o=>t.objectsMap.get(o)).filter(Boolean).forEach(o=>{o[i.objectProperty]!==i.value&&(o[i.objectProperty]=i.value)})};return[{objectProperty:"visible",value:!0,label:"showObjects",eventSuffix:"shown"},{objectProperty:"visible",value:!1,label:"hideObjects",eventSuffix:"hidden"},{objectProperty:"selected",value:!0,label:"selectObjects",eventSuffix:"selected"},{objectProperty:"selected",value:!1,label:"deselectObjects",eventSuffix:"deselected"},{objectProperty:"highlighted",value:!0,label:"highlightObjects",eventSuffix:"highlighted"},{objectProperty:"highlighted",value:!1,label:"unhighlightObjects",eventSuffix:"unhighlighted"},{objectProperty:"pickable",value:!0,label:"setObjectsPickable",eventSuffix:"pickable"},{objectProperty:"pickable",value:!1,label:"setObjectsUnpickable",eventSuffix:"unpickable"}].reduce((i,r)=>(i[r.label]={value:e(r),enumerable:!0},i),{})}const hBt=[{label:"shownObjects",property:"visible",value:!0},{label:"hiddenObjects",property:"visible",value:!1},{label:"selectedObjects",property:"selected",value:!0},{label:"unselectedObjects",property:"selected",value:!1},{label:"highlightedObjects",property:"highlighted",value:!0},{label:"unhighlightedObjects",property:"highlighted",value:!1},{label:"pickableObjects",property:"pickable",value:!0},{label:"unpickableObjects",property:"pickable",value:!1}];function pBt(t){return hBt.map(e=>({[e.label]:{get:()=>(t.cache[e.label]||(t.cache[e.label]=t.objects.filter(i=>i[e.property]===e.value)),t.cache[e.label]),enumerable:!0}})).reduce((e,i)=>Object.assign(e,i),{})}const gBt=[{flag:yn.VISIBLE,target:"visibleObjects",property:"visible"},{flag:yn.SELECTED,target:"selectedObjects",property:"selected"},{flag:yn.HIGHLIGHTED,target:"highlightedObjects",property:"highlighted"},{flag:yn.PICKABLE,target:"pickableObjects",property:"pickable"},{flag:yn.STYLE,target:"stylizedObjects"},{flag:yn.SHAPED,target:"shapedObjects"},{flag:yn.TEXT,target:"textObjects"}];function fBt(t,e,i=!1){for(let r of t.objects)if(r.flags&yn.NEW||i)e.addedObjects||(e.addedObjects=[]),e.addedObjects.push(r),r.flags=yn.UP_TO_DATE;else if(r.flags!==yn.UP_TO_DATE)for(let{flag:o,target:n,property:s=null}of gBt)(r.visible||o===yn.VISIBLE||r[s]===!1)&&r.flags&o&&(e[n]||(e[n]=[]),e[n].push(r),r.flags&=~o);t.objects.every(r=>r.flags===yn.UP_TO_DATE)&&(t.dirty=!1)}function mBt(t){const e=Object.defineProperties({},{type:{value:"scene",enumerable:!0},cache:{value:{},writable:!0},dirty:{value:!1,writable:!0,enumerable:!0},viewer:{value:t,enumerable:!0},generateReport:{value:function(i=!1){return function(r,o=!1){if(!r.dirty&&!o)return null;const n=Object.seal({addedObjects:null,removedObjects:null,visibleObjects:null,selectedObjects:null,highlightedObjects:null,pickableObjects:null,stylizedObjects:null,shapedObjects:null,textObjects:null});r._removedObjects.length>0&&(n.removedObjects=r._removedObjects,r._removedObjects=[]);for(const s of[...r.models,r.orphanObjectsModel])!s.dirty&&!o||fBt(s,n,o);return r.dirty=!1,Object.values(n).every(s=>s===null)?null:n}(this,i)},enumerable:!0},...Object.getOwnPropertyDescriptors(ap())});return function(i){const r=dBt(i);Object.defineProperties(i,{modelsMap:{value:new Map,enumerable:!0},models:{get(){return Array.from(this.modelsMap.values())},enumerable:!0},addModel:{value:async o=>{var n;const s=r(o);return((n=o?.textures)==null?void 0:n.length)>0&&await i.viewer.textureManager.load(s.id,o.textures),i.modelsMap.set(s.id,s),i.emit("model-added",s),i.cache={},s},enumerable:!0},removeModel:{value:uBt(i),enumerable:!0}}),Object.defineProperty(i,"orphanObjectsModel",{value:r({id:"orphan-objects-model"}),enumerable:!0})}(e),function(i){const r=new Map;Object.defineProperties(i,{objectsMap:{value:r,enumerable:!0},pickingIds:{value:new Map},objects:{get:()=>(i.cache.objects||(i.cache.objects=Array.from(r.values())),i.cache.objects),enumerable:!0},addObject:{value:(o,n=i.orphanObjectsModel)=>(i.cache={},n.addObject(o)),enumerable:!0},removeObject:{value:o=>{i.cache={};const n=i.objectsMap.get(o);return!!n&&(n.model.removeObject(n.id),!0)},enumerable:!0},_removedObjects:{value:[],writable:!0},_shapeId:{value:1,writable:!0},_geometryId:{value:1,writable:!0},...pBt(i),...ABt(i)})}(e),lue(e),Object.seal(e)}function vBt(t){const e=t.renderer.layers.get("snap");if(!e)return null;const{distance:i,dot:r,sub:o}=t.utils.vector2D;function n(s,a){const l={x:s[0],y:s[1]},c={x:s[2],y:s[3]},d=o(l,c),u=o(l,a),A=r(d,u),h=d.x*d.x+d.y*d.y;return{x:l.x+A*d.x/h,y:l.y+A*d.y/h}}return Object.freeze({getSnap(s={},{canvasDistance:a=20,snapVertices:l=!0,snapLines:c=!0}={}){const d=function(A={}){const h=e.pickColorAtCanvasPosition(A,!0);if(h!==void 0)return t.scene.pickingIds.get(h)}(s),u=i(t.camera.getPosition({x:0,y:0}),t.camera.getPosition({x:a,y:0}));if(d){const A=t.camera.getPosition(s);if(l){const h=d.shapes.flatMap(m=>m.paths).filter(m=>m.type==="line").flatMap(m=>m.points);let g=null,p=1/0;if(h.forEach(m=>{const f=i(A,m);f<=u&&f<p&&(p=f,g=m)}),g)return g}if(c){const h=d.shapes.flatMap(m=>m.paths).filter(m=>m.type==="line").map(m=>{const f=m.points.flatMap(C=>[C.x,C.y]);return m.close&&f.push(f[0],f[1]),f});let g=null,p=1/0;if(h.forEach(m=>{const f=function(y,v){let w=null,b=1/0;for(let E=0;E<y.length-2;E+=2){const k=n(y.slice(E,E+4),v),x=i(v,k);x<b&&(w=k,b=x)}return{position:w,distance:b}}(m,A),C=f.distance;C<=u&&C<p&&(p=C,g=f.position)}),g)return g}}}})}function CBt(t=window.requestAnimationFrame,e=performance.now.bind(performance)){if(typeof t!="function")throw new Error(`Ticker - "nextTick" must be a function, get "${typeof t}".`);if(typeof e!="function")throw new Error(`Ticker - "now" must be a function, get "${typeof e}".`);const i=ap();let r=!1,o=null;const n=RV(),s=()=>{r&&(function(){const l=e(),c=l-o;n.run(c),i.emit("tick",c),o=l}(),t(s))},a={start(){r=!0,o=e(),s()},stop(){r=!1},get running(){return r},...n,...i};return a.clearTasks=n.clear,a.clearEvents=i.clear,a.clear=()=>{console.warn("Ticker - You must precise what do you want to clear : events or tasks.")},Object.freeze(a)}function due(t={},e){const{x:i,y:r}=e.getBoundingClientRect();return{x:Math.max(t.clientX-i,0),y:Math.max(t.clientY-r,0)}}function yBt(t){const{canvas:e,camera:i}=t;if(!(e instanceof HTMLElement))throw new Error(`Touch handler requires an HTMLELEMENT, get ${e}`);const r=new Map,{utils:{vector2D:{distance:o,sub:n}}}=t;function s(c){t.ui.state.lastTouch=Date.now();for(const d of c.targetTouches){const{identifier:u,clientX:A,clientY:h}=d;r.set(u,{id:u,x:A,y:h,previousX:null,previousY:null})}}function a(c){const d=[...c.targetTouches].map(u=>{const{identifier:A,clientX:h,clientY:g}=u,p=r.get(A);return p.previousX=p.x,p.previousY=p.y,p.x=h,p.y=g,p});c.targetTouches.length===1?function(u){if(!t.ui.translatable)return;const A=u.x-u.previousX,h=u.y-u.previousY;i.translate(-A*window.devicePixelRatio,-h*window.devicePixelRatio)}(d[0]):function(u,A){if(t.ui.translatable){const f=u.x-u.previousX,C=u.y-u.previousY,y=A.x-A.previousX,v=A.y-A.previousY;i.translate(-(f+y)/2*window.devicePixelRatio,-(C+v)/2*window.devicePixelRatio)}const h=n(u,A),{x:g,y:p}=e.getBoundingClientRect(),m=i.getPosition({x:u.x+h.x/2-g,y:u.y+h.y/2-p});if(t.ui.scallable){const f=o({x:u.previousX,y:u.previousY},{x:A.previousX,y:A.previousY}),C=o(u,A)/f;i.scale(C,m)}if(t.ui.rotatable){const f=n({x:u.previousX,y:u.previousY},{x:A.previousX,y:A.previousY}),C=Math.atan2(h.y,h.x)-Math.atan2(f.y,f.x);i.rotate(-C/Math.PI*180,m)}}(d[0],d[1])}function l(c){for(const d of c.changedTouches)r.delete(d.identifier)}return e.addEventListener("touchstart",s),e.addEventListener("touchmove",a),e.addEventListener("touchend",l),{destroy(){e.removeEventListener("touchstart",s),e.removeEventListener("touchmove",a),e.removeEventListener("touchend",l)}}}function wBt(t){const{settings:e,camera:i}=t;let r=null,o=null;const n=ap();let s=!0;const a=function(h){const g=h.canvas;if(!(g instanceof HTMLElement))throw new Error(`Mouse handler requires an HTMLELEMENT, get ${g}`);const{settings:p,utils:{vector2D:{distance:m}}}=h,f=ap(),C={rightClick:!1,mouseDownCanvasPosition:null};function y(b){return Object.assign(b,{...C}),Object.defineProperty(b,"canvasPosition",{get:()=>due(b,g)}),b}const v=[];function w(b,E,k=g){v.push({htmlElement:k,eventName:b,handler:E}),k.addEventListener(b,E)}return w("mousedown",b=>{C.mouseDownCanvasPosition=due(b,g),f.emit("mousedown",y(b))}),w("mousemove",b=>{h.ui.state.lastTouch&&h.ui.state.lastTouch-Date.now()<1e3||b.movementX===0&&b.movementY===0||f.emit("mousemove",y(b))}),w("mouseup",b=>{if(!C.mouseDownCanvasPosition)return;const E=y(b);f.emit("mouseup",E),m(E.mouseDownCanvasPosition,E.canvasPosition)<=p.clickMaxOffset&&f.emit("click",y(new MouseEvent(b.type,b))),C.rightClick=!1,C.mouseDownCanvasPosition=null},document.body),w("wheel",b=>{b.preventDefault(),f.emit("wheel",y(b))}),w("contextmenu",b=>{b.preventDefault(),C.rightClick=!0,f.emit("contextmenu",y(b))}),w("mouseleave",b=>f.emit("mouseleave",y(b))),{...f,destroy(){v.forEach(({htmlElement:b,eventName:E,handler:k})=>{b.removeEventListener(E,k)})},get state(){return C}}}(t),l=yBt(t),c={...n,get pick(){return s},set pick(h){s=h,s||(r=null,o=null)},translatable:!0,rotatable:!0,scallable:!0,destroy(){a.destroy(),l.destroy()},state:{lastTouch:null}},d={movementX:0,movementY:0},u={deltaY:0};function A(h){return Object.defineProperties(h,{previousObject:{value:r,enumerable:!0},mouseDownObject:{value:o,enumerable:!0},position:{get:()=>t.camera.getPosition(h.canvasPosition),enumerable:!0},mouseDownPosition:{get(){return this.mouseDownCanvasPosition?t.camera.getPosition(this.mouseDownCanvasPosition):null},enumerable:!0}}),h.type==="mousemove"?(h.accumulatedMovementX=d.movementX,h.accumulatedMovementY=d.movementY,d.movementX=0,d.movementY=0):h.type==="wheel"&&(h.accumulatedDeltaY=u.deltaY,u.deltaY=0),h}return["click","mousemove","mousedown","mouseup","wheel"].forEach(h=>a.on(h,g=>{h==="mousemove"?(d.movementX+=g.movementX,d.movementY+=g.movementY):h==="wheel"&&(u.deltaY+=g.deltaY);const p=g.type==="wheel"||g.type==="mousemove"&&g.mouseDownCanvasPosition&&(4&g.buttons||1&g.buttons&&g[`${e.dragKey}Key`]);t.ticker.addOnce(`pick-${h}`,()=>{s&&!p?t.picker?t.picker.oncePickingReady(`pick-${h}`,()=>{const m=t.picker.pick(g.canvasPosition);h==="mousedown"?o=m:h==="mouseup"&&(o=null,a.state.mouseDownCanvasPosition=null),g.object=m,n.emit(h,A(g)),r=m}):n.emit(h,A(g)):(n.emit(h,A(g)),p&&function(m){if(m.type==="mousemove")c.translatable&&i.translate(-m.accumulatedMovementX*window.devicePixelRatio,-m.accumulatedMovementY*window.devicePixelRatio);else if(m.type==="wheel"){if(m[`${e.rotateKey}Key`]){if(c.rotatable){const f=m.accumulatedDeltaY*e.rotateSpeed;i.rotate(-f,i.getPosition(m.canvasPosition))}}else if(c.scallable){const f=Math.max(1-m.accumulatedDeltaY*e.scaleSpeed,0);i.scale(Math.max(Math.min(f,1+e.scaleDeltaMax),1-e.scaleDeltaMax),i.getPosition(m.canvasPosition))}}}(g))})})),a.on("mouseleave",h=>{n.emit("mouseleave",A(h)),r=null}),c}const{buildPoly:uue,buildLine:bBt}=Ide;function Aue(t,e){var i;const r=$de(t,(...a)=>LV({dx:0,dy:0},...a),!1,!0),o=t.textureManager.modelTextures.get(e.id),n={id:e.id,objects:new Array(e.objects.length),textures:o?.size>0?Array.from(o).map(([a,l])=>{const{baseTexture:c}=l,{resolution:d}=c,u=c.resource.source,{src:A,width:h,height:g}=u;return{name:a,uri:A,width:h,height:g,resolution:d}}):[]};let s=0;for(const a of e.objects){const l={id:a.id,zIndex:a.zIndex,pickingZIndex:a.pickingZIndex,pickable:a.pickable,texts:a.texts,readonly:a.readonly,aabb:new Float64Array(a.aabb),geometries:[]};for(const c of a.shapes??[]){const d=r(c.style,t.textureManager.modelTextures.get(e.id));d.draw([c]);const u=d.displayObject.children;for(const A of u){((i=A.currentPath)==null?void 0:i.points.length)>2&&A.drawShape(A.currentPath);for(const h of A.geometry.graphicsData){const g={points:[],indices:[],closePointEps:1e-4};if(uue.build(h),A.type==="fill"&&uue.triangulate(h,g),A.type==="line"&&bBt(h,g),g.points.length===0)continue;const p={type:A.type,points:new Float64Array(g.points),indices:new Uint32Array(g.indices)};l.geometries.push(Object.assign(p,p.type==="line"?{color:c.style.lineColor,alpha:c.style.lineOpacity,native:c.style.performanceLine}:{color:c.style.fill,alpha:c.style.fillOpacity,native:void 0}))}}}n.objects[s++]=l}return n}function hue(t,e=wue){try{const i={},r=fue(t,i,e),o=4*Uint8Array.BYTES_PER_ELEMENT,n=new ArrayBuffer(o+r),s=new DataView(n);return new Uint8Array(n,0,o).set([98,100,116,_V.indexOf(e)+1]),FV(s,i,o),s.buffer}catch(i){throw console.error("Impossible to binarize model because it is not of a supported format."),i}}function pue(t,e,i){if(t[e]){const r=new TextEncoder().encode(t[e]);return i[e]=r,r.byteLength}return i[e]=new Uint8Array(0),0}function gue(t,e,i){return t[e]===void 0?yue.includes(e)?i[e]=0:i[e]=-1:i[e]=+t[e],Float32Array.BYTES_PER_ELEMENT}function fue(t,e,i,r=0){for(const[o,n]of Object.entries(i))if(Object.prototype.hasOwnProperty.call(n,"types")){const s=typeof t[o]=="string",a=n.types.indexOf(s?String:Number);r+=Uint8Array.BYTES_PER_ELEMENT;let l=null;if(s){r+=Uint32Array.BYTES_PER_ELEMENT;const c={};r+=pue(t,o,c),l=c[o]}else{const c={};r+=gue(t,o,c),l=c[o]}e[o]={typeIndex:a,value:l}}else if(n===Number)r+=gue(t,o,e);else if(n===Boolean)e[o]=!!t[o],r+=Uint8Array.BYTES_PER_ELEMENT;else if(Array.isArray(n))e[o]={enumIndex:n.indexOf(t[o])},r+=Uint8Array.BYTES_PER_ELEMENT;else if(r+=Uint32Array.BYTES_PER_ELEMENT,Object.prototype.hasOwnProperty.call(n,"arrayOf")){e[o]=[];for(const s of t[o]){const a={};e[o].push(a),r=fue(s,a,n.arrayOf,r)}}else if(n===String)r+=pue(t,o,e);else if(n===Float64Array)e[o]=new Float64Array(t[o]),r+=t[o].length*Float64Array.BYTES_PER_ELEMENT;else{if(n!==Uint32Array)throw new TypeError(`Impossible to encode data, unsupported type : ${n}`);e[o]=new Uint32Array(t[o]),r+=t[o].length*Uint32Array.BYTES_PER_ELEMENT}return r}function FV(t,e,i=0){for(const r of Object.values(e))if(r?.enumIndex!==void 0)t.setUint8(i,r.enumIndex),i+=Uint8Array.BYTES_PER_ELEMENT;else if(r?.typeIndex!==void 0){const{value:o,typeIndex:n}=r;t.setUint8(i,n),i=FV(t,{data:o},i+=Uint8Array.BYTES_PER_ELEMENT)}else if(typeof r=="number")t.setFloat32(i,r),i+=Float32Array.BYTES_PER_ELEMENT;else if(typeof r=="boolean")t.setUint8(i,r),i+=Uint8Array.BYTES_PER_ELEMENT;else if(t.setUint32(i,r.length),i+=Uint32Array.BYTES_PER_ELEMENT,Array.isArray(r))for(const o of r)i=FV(t,o,i);else if(r instanceof Float64Array)for(const o of r)t.setFloat64(i,o),i+=Float64Array.BYTES_PER_ELEMENT;else if(r instanceof Uint32Array)for(const o of r)t.setUint32(i,o),i+=Uint32Array.BYTES_PER_ELEMENT;else if(r instanceof Uint16Array)for(const o of r)t.setUint16(i,o),i+=Uint16Array.BYTES_PER_ELEMENT;else{if(!(r instanceof Uint8Array))throw new TypeError("Cannot write data in dataview. Only Array, Float64Array, Uint16Array or Uint8Array are supported.");for(const o of r)t.setUint8(i,o),i+=Uint8Array.BYTES_PER_ELEMENT}return i}function mue(t,e,i,r){const o=t.getUint32(r);if(r+=Uint32Array.BYTES_PER_ELEMENT,o!==0){const n=r;r+=o*Uint8Array.BYTES_PER_ELEMENT;const s=new TextDecoder().decode(t.buffer.slice(n,r));e[i]=s}return r}function vue(t,e,i,r){return e[i]=t.getFloat32(r),r+=Float32Array.BYTES_PER_ELEMENT,e[i]===-1&&!yue.includes(i)&&delete e[i],r}function Cue(t,e,i,r=0){for(const[o,n]of Object.entries(i))if(Object.prototype.hasOwnProperty.call(n,"arrayOf")){e[o]=[];const s=t.getUint32(r);r+=Uint32Array.BYTES_PER_ELEMENT;for(let a=0;a<s;a++){const l={};e[o][a]=l,r=Cue(t,l,n.arrayOf,r)}}else if(Object.prototype.hasOwnProperty.call(n,"types")){const s=t.getUint8(r);r+=Uint8Array.BYTES_PER_ELEMENT,r=n.types[s]===String?mue(t,e,o,r):vue(t,e,o,r)}else if(Array.isArray(n)){const s=t.getUint8(r);r+=Uint8Array.BYTES_PER_ELEMENT,e[o]=n[s]}else if(n===String)r=mue(t,e,o,r);else if(n===Number)r=vue(t,e,o,r);else if(n===Boolean)e[o]=!!t.getUint8(r),r+=Uint8Array.BYTES_PER_ELEMENT;else if(n===Float64Array){const s=t.getUint32(r);r+=Uint32Array.BYTES_PER_ELEMENT;const a=new Float64Array(s);for(let l=0;l<s;l++)a.set([t.getFloat64(r)],l),r+=Float64Array.BYTES_PER_ELEMENT;e[o]=a}else if(n===Uint32Array){const s=t.getUint32(r);r+=Uint32Array.BYTES_PER_ELEMENT;const a=new Uint32Array(s);for(let l=0;l<s;l++)a.set([t.getUint32(r)],l),r+=Uint32Array.BYTES_PER_ELEMENT;e[o]=a}return r}function IBt(t){let e=0;try{const i=new DataView(t);if([String.fromCharCode(i.getUint8(e++)),String.fromCharCode(i.getUint8(e++)),String.fromCharCode(i.getUint8(e++))].join("")!=="bdt")throw new Error("Impossible to parse geometry, the buffer is not a bdt format.");const r=i.getUint8(e++),o=_V[r-1];if(!o)throw new Error(`Impossible to parse geometry, unsupported bdt file version ${r}.`);const n={};return Cue(i,n,o,e),n}catch(i){console.error(i)}}const yue=["zIndex","pickingZIndex"],wue={id:String,objects:{arrayOf:{id:String,zIndex:Number,pickingZIndex:Number,readonly:Boolean,aabb:Float64Array,geometries:{arrayOf:{type:["fill","line"],native:Boolean,color:{types:[Number,String]},alpha:Number,points:Float64Array,indices:Uint32Array}},texts:{arrayOf:{content:String,x:Number,y:Number,fontSize:Number,fontFamily:String,fill:Number,rotation:Number,scale:Number}}}},textures:{arrayOf:{name:String,uri:String,width:Number,height:Number,resolution:Number}}},_V=[wue];function BBt(t,e){return async i=>{const r=await t.scene.addModel(i),o=hue(Aue(t,r),e);return t.scene.removeModel(r.id),o}}function bue(t){const e=function(i){for(var r={command:/\s*([achlmqstvz])/gi,number:/\s*([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/gi,comma:/\s*(?:(,)|\s)/g,flag:/\s*([01])/g},o={number:function(g){return+A("number",g)},"coordinate pair":function(g){var p=A("number",g);return p!==null||g?(A("comma"),{x:+p,y:+A("number",!0)}):null},"arc definition":function(g){var p=o["coordinate pair"](g);if(!p&&!g)return null;A("comma");var m=+A("number",!0);A("comma",!0);var f=!!+A("flag",!0);A("comma");var C=!!+A("flag",!0);return A("comma"),{radii:p,rotation:m,large:f,clockwise:C,end:o["coordinate pair"](!0)}}},n=0,s=[];n<i.length;){var a,l=A("command"),c=l.toUpperCase(),d=l!==c;switch(c){case"M":a=h("coordinate pair").map(function(g,p){return p===1&&(l=d?"l":"L"),u({end:g})});break;case"L":case"T":a=h("coordinate pair").map(function(g){return u({end:g})});break;case"C":if((a=h("coordinate pair")).length%3)throw Error("Expected coordinate pair triplet at position "+n);a=a.reduce(function(g,p,m){var f=m%3;return f?g[g.length-1][f===1?"cp2":"end"]=p:g.push(u({cp1:p})),g},[]);break;case"Q":case"S":if(1&(a=h("coordinate pair")).length)throw Error("Expected coordinate pair couple at position "+n);a=a.reduce(function(g,p,m){return 1&m?g[g.length-1].end=p:g.push(u({cp:p})),g},[]);break;case"H":case"V":a=h("number").map(function(g){return u({value:g})});break;case"A":a=h("arc definition").map(u);break;case"Z":a=[{code:"Z"}]}s.push.apply(s,a)}return s;function u(g){return g.code=l,g.relative=d,g}function A(g,p){r[g].lastIndex=n;var m=r[g].exec(i);if(!m||m.index!==n){if(!p)return null;throw Error("Expected "+g+" at position "+n)}return n=r[g].lastIndex,m[1]}function h(g){for(var p,m=[],f=!0;p=o[g](f);)m.push(p),f=!!A("comma");return m}}(t);return function(i){const r=[];let o=0,n=0,s=null,a=!1;function l(){s||(s={type:"line",points:[o,n],start:a},a=!1)}function c(h=!1){s&&(s.close=h,r.push(s),s=null)}function d(){let h=null;if(r.length>0&&(h=u()),s){if(!h){const[g,p]=s.points;h={x:g,y:p}}c(!0)}else{const g=r[r.length-1];g&&(g.close=!0),h||(h={x:g.x,y:g.y})}o=h.x,n=h.y}function u(){const h=Array.from(r);s&&h.push(s);let g=h.reverse().find(p=>p.start);if(g||(g=r[0]),g.type==="line"){const[p,m]=g.points;return{x:p,y:m}}return{x:g.x,y:g.y}}function A(h){c(),r.push(h),a=!1}for(let h=0;h<i.length;h++){const g=i[h];switch(g.code){case"M":c(),a=!0,o=g.end.x,n=g.end.y;break;case"m":c(),a=!0,o+=g.end.x,n+=g.end.y;break;case"H":{l(),o=g.value;const p=s.points.length-1,m=s.points[p];s.points.push(o,m);break}case"h":{l(),o+=g.value;const p=s.points.length-1,m=s.points[p];s.points.push(o,m);break}case"V":{l(),n=g.value;const p=s.points.length-2,m=s.points[p];s.points.push(m,n);break}case"v":{l(),n+=g.value;const p=s.points.length-2,m=s.points[p];s.points.push(m,n);break}case"L":l(),o=g.end.x,n=g.end.y,s.points.push(o,n);break;case"l":l(),o+=g.end.x,n+=g.end.y,s.points.push(o,n);break;case"z":case"Z":d();break;case"C":{const{cp1:{x:p,y:m},cp2:{x:f,y:C},end:{x:y,y:v}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:p,cpY1:m,cpX2:f,cpY2:C,toX:y,toY:v}),o=y,n=v;break}case"c":{const{cp1:{x:p,y:m},cp2:{x:f,y:C},end:{x:y,y:v}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:o+p,cpY1:n+m,cpX2:o+f,cpY2:n+C,toX:o+y,toY:n+v}),o+=y,n+=v;break}case"Q":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:p,cpY1:m,cpX2:p,cpY2:m,toX:f,toY:C}),o=f,n=C;break}case"q":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:o+p,cpY1:n+m,cpX2:o+p,cpY2:n+m,toX:o+f,toY:n+C}),o+=f,n+=C;break}case"S":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g,y=r[r.length-1];let v=null,w=null;if(s||y.type!=="curve")v=o,w=n;else{const b=OM({x:y.cpX2,y:y.cpY2},{x:y.toX,y:y.toY});v=b.x,w=b.y}A({type:"curve",start:a,x:o,y:n,cpX1:v,cpY1:w,cpX2:p,cpY2:m,toX:f,toY:C}),o=f,n=C;break}case"s":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g,y=r[r.length-1];let v=null,w=null;if(s||y.type!=="curve")v=o,w=n;else{const b=OM({x:y.cpX2,y:y.cpY2},{x:y.toX,y:y.toY});v=b.x,w=b.y}A({type:"curve",start:a,x:o,y:n,cpX1:v,cpY1:w,cpX2:o+p,cpY2:n+m,toX:o+f,toY:n+C}),o+=f,n+=C;break}case"T":{const{end:{x:p,y:m}}=g,f=r[r.length-1];let C=null,y=null;if(s||f.type!=="curve")C=o,y=n;else{const v=OM({x:f.cpX2,y:f.cpY2},{x:f.toX,y:f.toY});C=v.x,y=v.y}A({type:"curve",start:a,x:o,y:n,cpX1:C,cpY1:y,cpX2:C,cpY2:y,toX:p,toY:m}),o=p,n=m;break}case"t":{const{end:{x:p,y:m}}=g,f=r[r.length-1];let C=null,y=null;if(s||f.type!=="curve")C=o,y=n;else{const v=OM({x:f.cpX2,y:f.cpY2},{x:f.toX,y:f.toY});C=v.x,y=v.y}A({type:"curve",start:a,x:o,y:n,cpX1:C,cpY1:y,cpX2:C,cpY2:y,toX:o+p,toY:n+m}),o+=p,n+=m;break}default:throw new Error(`VIEWER 2D - Draw command not supported: ${g.code}`)}}return s!=null&&s.points.length&&r.push(s),r}(e)}function OM(t,e){const{x:i,y:r}=t,{x:o,y:n}=e;return{x:-(i-o)+o,y:-(r-n)+n}}function Iue(t){var e;return t&&t!=="none"?t.startsWith("url(#")?(e=t.match(new RegExp("(?<=url\\(#).+(?=\\))")))==null?void 0:e[0]:UV(t):null}function EBt(t,{textureMinSize:e=64,textMinSize:i=60,textMaxSize:r=130}={}){try{const o={},n=t.getElementById("BIMDATA_pattern");if(n){o.textures=[];const s=Array.from(n.children);for(const a of s){const l=a.getAttribute("id"),c=+a.getAttribute("width"),d=+a.getAttribute("height");let u=c,A=d,h=1;(c<1||d<1||c<e&&d<e)&&(c<d?(u=e,A=e*(d/c),h=u/c):(A=e,u=e*(c/d),h=A/d));const g=` <svg xmlns="http://www.w3.org/2000/svg" width="${u}" height="${A}" viewBox="0 0 ${c} ${d}">
1234
+ }`,{u_rgba:bIt(t,e)})}function LV(t,e,i,r=null){let o=!0;function n(s){o=!1,s&&(i.closePath(),o=!0)}if(e.binary){const{binary:s}=e;let a=0;for(;a<s.byteLength;){const{path:l,bytesRead:c}=GIt(s,a);switch(a+=c,l.type){case"curve":Xde(l,i,t,r,l.start||o);break;case"arc":Zde(l,i,t,r,l.start||o);break;case"line":{const{dx:d,dy:u}=t;for(let A of l.points){const{x:h,y:g,bytesRead:p}=A;a+=p,(l.start||o)&&(i.moveTo(h+d,g+u),l.start=!1,o=!1),i.lineTo(h+d,g+u)}break}}n(l.close)}}else e.paths.forEach(s=>{s.draw(i,t,r,s.start||o),n(s.close)})}function KIt(t,e){let i=Ir.IDENTITY,r=Ir.IDENTITY;const o={dx:0,dy:0},n=Object.defineProperties({},{viewer:{value:t,enumerable:!0},renderer:{value:new np({view:t.canvas,width:t.canvas.width,height:t.canvas.height,backgroundAlpha:0,antialias:!1,preserveDrawingBuffer:!0})},transform:{get:()=>i,set(a){r=a,s(r)},enumerable:!0},transformUpdated:{value:!1,writable:!0,enumerable:!0},offset:{enumerable:!0,get:()=>Object.freeze({...o}),set(a){if(!Number.isFinite(a.dx)||!Number.isFinite(a.dy))throw new TypeError("Render offset must be an object with dx and dy as finite numbers.");o.dx=a.dx,o.dy=a.dy,s(r),this.render(!0,!0)}},layers:{value:new Map,enumerable:!0},destroy:{value:function(){this.renderer.destroy(),this.layers.forEach(a=>a.destroy())},enumerable:!0},render:{value:QIt,enumerable:!0},resize:{value:vIt,enumerable:!0},...Object.getOwnPropertyDescriptors(ap())});function s(a){const{dx:l,dy:c}=o;i=Ir.IDENTITY.translate(-l,-c).prepend(a),n.transformUpdated=!0}return function(a){Object.defineProperties(a,{makeShapeDrawer:{enumerable:!0,value:$de(a.viewer,(...l)=>LV(a.offset,...l))},makeShapePickingDrawer:{enumerable:!0,value:zIt(a,(...l)=>LV(a.offset,...l))},makeGeometryDrawer:{enumerable:!0,value:qIt(a)}})}(n),SIt(n,e),Object.seal(n)}function JIt(){const t=Ir.IDENTITY,e=ap();return Object.freeze({rotate(i=0){typeof i=="number"?(t.rotate(i*(Math.PI/180)),e.emit("update",{rotate:i})):console.error(`Texture matrix rotate method only accept angle as number in degree. Get "${typeof i}".`)},scale(i=1,r=i){typeof i=="number"&&typeof r=="number"&&i!==0&&r!==0?(t.scale(i,r),e.emit("update",{scale:{x:i,y:r}})):console.error(`Texture matrix scale method only accept non zero x and y as numbers. Get x: ${i} type "${typeof i}", y: ${r} type "${typeof r}".`)},translate(i=0,r=0){typeof angle=="number"?(t.translate(i,r),e.emit("update",{translate:{x:i,y:r}})):console.error(`Texture matrix translate method only accept x and y as numbers. Get x: "${typeof i}", y: "${typeof r}".`)},get matrix(){return t},...e})}function YIt(){const t=new Map;return Object.freeze({modelTextures:t,textureMatrix:JIt(),async load(e,i){t.has(e)||t.set(e,new Map);try{const r=t.get(e);return Promise.all(i.map(async o=>{const{name:n,uri:s,width:a,height:l,resolution:c}=o,d=await function(u,A=64,h=64,g=1){const p=new Image(A,h),m=new No(p,{wrapMode:ip.REPEAT,scaleMode:yu.LINEAR,alphaMode:SA.NPM,mipmap:r1.ON,resolution:g}),f=new $i(m),C=new Promise(y=>{p.onload=()=>y(f)},y=>{p.onerror=v=>y(v)});return p.src=u,C}(s,a,l,c);d.name=n,r.set(n,d)}))}catch(r){return console.error(`Error loading textures for model "${e}".`,r),null}},unload(e){if(!t.has(e))return!1;const i=t.get(e);for(const r of i.values())r.destroy(!0);return t.delete(e)},destroy(){for(const e of t.values())for(const i of e.values())i.destroy(!0)}})}function WIt(t){const e=function(r){const o={transform:Ir.IDENTITY,translate(s=0,a=0){if(typeof s!="number"||typeof a!="number")throw new Error("dx and dy should be numbers.");this.transform=new Ir().translate(s,a).append(this.transform)},rotate(s=0,a={x:0,y:0}){if(typeof s!="number")throw new Error("Angle must be a number (degree)");this.transform.append(new Ir().translate(-a.x,-a.y).rotate(s).translate(a.x,a.y))},scale(s=1,a={x:0,y:0}){if(s<0)throw new Error("Scale factor should be > 0.");let l=s;const c=this.getScale();c*l>=r.settings.maxScale&&(l=r.settings.maxScale/c),c*l<=r.settings.minScale&&(l=r.settings.minScale/c),this.transform.append(new Ir().translate(-a.x,-a.y).scale(l,l).translate(a.x,a.y))},getTranslate(s=this.transform){return{dx:s.tx,dy:s.ty}},getRotate(s=this.transform){return Math.atan2(s.b/this.getScale(),s.a/this.getScale())},getScale(s=this.transform){return Math.sqrt(Math.pow(s.a,2)+Math.pow(s.b,2))},resetTranslate(){this.setState({translate:{dx:0,dy:0}})},resetRotate(){this.setState({rotate:0})},resetScale(){this.setState({scale:1})},setState({rotate:s=this.getRotate(),translate:a=this.getTranslate(),scale:l=this.getScale()}={}){if(typeof a!="object")throw new Error(`'translate' argument should be an object, received '${typeof a}'.`);if(typeof s!="number")throw new Error(`'rotate' argument should be a number, received '${typeof s}'.`);if(typeof l!="number")throw new Error(`'scale' argument should be a number, received '${typeof l}'.`);const{dx:c=0,dy:d=0}=a;this.transform=new Ir().translate(c,d).rotate(s).scale(l)},getTransformedPoint({x:s,y:a}){return this.transform.applyInverse({x:s,y:a})},getViewPoint({x:s,y:a}){return this.transform.apply({x:s,y:a})}},n=ap();return new Proxy({translate(s,a){o.translate(s,a)},rotate:(s,a)=>o.rotate(s,a),scale:(s,a)=>o.scale(s,a),resetTransform(){o.transform=Ir.IDENTITY}},{get:(s,a)=>["on","clear","off","once"].includes(a)?n[a]:a==="transform"?o.transform:(...l)=>{s[a](...l),n.emit("update",o.transform)}})}(t),i={get transform(){return e.transform},fitView(r=t.scene,o=!1){Array.isArray(r)||(r=[r]);let n=null;if(o){const w=[];for(const b of r){const[E,k,x,M]=b.aabb,D=[this.getCanvasPosition({x:E,y:k}),this.getCanvasPosition({x,y:k}),this.getCanvasPosition({x:E,y:M}),this.getCanvasPosition({x,y:M})].flatMap(({x:P,y:T})=>[P,T]);w.push({aabb:Nde(D)})}n=Wv(w)}else{const w=[];r.map(E=>{if(E.type==="scene"||E.type==="model")w.push(...E.objects);else{if(E.type!=="object")throw new TypeError("Camera fitview only accept scene, model, object or an array of a mix of them.");w.push(E)}});const b=w.flatMap(E=>{var k;let x=null;if(x=E.readonly?E.shapes.map(M=>{const[D,P,T,U]=M.aabb,H=this.getCanvasPosition({x:D,y:P}),_=this.getCanvasPosition({x:T,y:U});return{aabb:[H.x,H.y,_.x,_.y]}}):E.shapes.flatMap(M=>{var D;return((D=M.paths)==null?void 0:D.map(P=>{switch(P.type){case"arc":{const T=this.getCanvasPosition(P);return{aabb:[T.x-P.radius*this.getScale(),T.y-P.radius*this.getScale(),T.x+P.radius*this.getScale(),T.y+P.radius*this.getScale()]}}case"curve":{const T=this.getCanvasPosition(P),U=this.getCanvasPosition({x:P.toX,y:P.toY});return{aabb:[T.x,T.y,U.x,U.y]}}case"line":return{aabb:Wv(P.points.map(T=>this.getCanvasPosition(T)).map(({x:T,y:U})=>({aabb:[T,U,T,U]})))};default:throw new TypeError(`[Camera FitView] Path type other than "line", "arc" or "curve are not supported, get "${P.type}" on object with id ${E.id}.`)}}))??[]}),((k=E.geometries)==null?void 0:k.length)>0){let M=1/0,D=1/0,P=-1/0,T=-1/0;for(const U of E.geometries){const{points:H}=U,_=H.length;for(let V=0;V<_;V+=2){const{x:Y,y:re}=this.getCanvasPosition({x:H[V],y:H[V+1]});Y<M&&(M=Y),re<D&&(D=re),Y>P&&(P=Y),re>T&&(T=re)}}x.push({aabb:[M,D,P,T]})}return x});n=Wv(b)}const[s,a,l,c]=n,d=l-s,u=c-a;if(d===0&&u===0)return;const A=s+d/2,h=a+u/2,g=t.canvas.width/window.devicePixelRatio,p=t.canvas.height/window.devicePixelRatio,m=g/2,f=p/2,C=Math.min(g*t.settings.fitViewRatio/d,p*t.settings.fitViewRatio/u),y=A-m,v=h-f;this.translate(y*window.devicePixelRatio,v*window.devicePixelRatio),this.scale(C)},translate(r=0,o=0){if(!Number.isFinite(r)||!Number.isFinite(o))throw new TypeError("Camera translate needs dx and dy as finite numbers.");e.translate(-r,-o)},zoomIn(r=this.zoom,o=this.position){if(!(Number.isFinite(r)&&Number.isFinite(o?.x)&&Number.isFinite(o?.y)))throw new TypeError("Camera zoom methods need a factor as finite number and an optional origin as an object with x and y as finite numbers.");e.scale(iue(this.zoom+r)/this.getScale(),o)},zoomOut(r=this.zoom/2,o=this.position){this.zoomIn(-r,o)},scale(r=1,o=this.position){if(!(Number.isFinite(r)&&Number.isFinite(o?.x)&&Number.isFinite(o?.y)))throw new TypeError("Camera scale needs a factor as finite number and an optional origin as an object with x and y as finite numbers.");e.scale(r,o)},rotate(r=0,o=this.position){if(!(Number.isFinite(r)&&Number.isFinite(o?.x)&&Number.isFinite(o?.y)))throw new TypeError("Camera rotate needs an angle as finite number and an optional origin as an object with x and y as finite numbers.");e.rotate(-r/180*Math.PI,o)},move(r={}){if(!Number.isFinite(r?.x)||!Number.isFinite(r?.y))throw new TypeError("Camera move needs an optional position as an object with x and y as finite numbers.");const{x:o=0,y:n=0}=r,{x:s,y:a}=this.getCanvasPosition(this.position),{x:l,y:c}=this.getCanvasPosition({x:o,y:n});this.translate((l-s)*window.devicePixelRatio,(c-a)*window.devicePixelRatio)},get position(){const{width:r,height:o}=t.canvas,{x:n,y:s}=this.getPosition({x:r/window.devicePixelRatio/2,y:o/window.devicePixelRatio/2});return Object.freeze({x:n,y:s})},get center(){return this.position},get aabb(){const{x:r,y:o}=this.getPosition({x:0,y:0}),{x:n,y:s}=this.getPosition({x:t.canvas.width,y:t.canvas.height});return[r,o,n,s]},getScale:()=>e.transform.decompose(Uv.IDENTITY).scale.x,get rotation(){return-e.transform.decompose(Uv.IDENTITY).rotation/Math.PI*180},get zoom(){return function(r){return 100*r}(this.getScale())},getPosition(r={}){const{x:o=0,y:n=0}=r,{x:s,y:a}=e.transform.applyInverse({x:o*window.devicePixelRatio,y:n*window.devicePixelRatio});return{x:s,y:a}},getCanvasPosition(r={}){const{x:o=0,y:n=0}=r,{x:s,y:a}=e.transform.apply({x:o,y:n});return{x:s/window.devicePixelRatio,y:a/window.devicePixelRatio}},destroy(){e.clear()},getViewpoint(){const{x:r,y:o}=this.position;return Object.freeze({x:r,y:o,rotation:this.rotation,zoom:this.zoom})},setViewpoint(r={}){const{x:o=this.position.x,y:n=this.position.y,rotation:s=this.rotation,zoom:a=this.zoom}=r,l=iue(a);e.resetTransform(),this.move({x:o,y:n}),this.rotate(s),this.scale(l)},...ap()};return e.on("update",r=>t.ticker.addOnce("camera-transform-update",()=>i.emit("update",r.clone()))),Object.freeze(i)}function iue(t){return t/100}function ZIt(){let t="shift",e="shift",i=.002,r=.3,o=.1,n=1e3,s=.001,a=.9,l=1;const c=Object.seal({get dragKey(){return t},set dragKey(d){if(typeof d!="string")throw new TypeError(`Settings dragKey needs a string, received "${d}"`);t=d},get rotateKey(){return e},set rotateKey(d){if(typeof d!="string")throw new TypeError(`Settings rotateKey needs a string, received "${d}"`);e=d},get clickMaxOffset(){return 5},set clickMaxOffset(d){if(!Number.isFinite(d))throw new TypeError(`Settings clickMaxOffset needs a finite numbers, received "${d}"`);e=d},get scaleSpeed(){return i},set scaleSpeed(d){if(!Number.isFinite(d))throw new TypeError(`Settings scaleSpeed needs a finite numbers, received "${d}"`);i=d},get scaleDeltaMax(){return r},set scaleDeltaMax(d){if(!Number.isFinite(d))throw new TypeError(`Settings scaleDeltaMax needs a finite numbers, received "${d}"`);r=d},get rotateSpeed(){return o},set rotateSpeed(d){if(!Number.isFinite(d))throw new TypeError(`Settings rotateSpeed needs a finite numbers, received "${d}"`);o=d},get maxScale(){return n},set maxScale(d){if(!Number.isFinite(d))throw new TypeError(`Settings maxScale needs a finite numbers, received "${d}"`);n=d},get minScale(){return s},set minScale(d){if(!Number.isFinite(d))throw new TypeError(`Settings minScale needs a finite numbers, received "${d}"`);s=d},get fitViewRatio(){return a},set fitViewRatio(d){if(!Number.isFinite(d))throw new TypeError(`Settings fitViewRatio needs a finite numbers, received "${d}"`);a=d},get snapMargin(){return l},set snapMargin(d){if(!Number.isFinite(d))throw new TypeError(`Settings snapMargin needs a finite numbers, received "${d}"`);l=d},curves:Object.seal({get adaptive(){return _c.adaptive},set adaptive(d){_c.adaptive=d},get maxLength(){return _c.maxLength},set maxLength(d){_c.maxLength=d},get maxSegments(){return _c.maxSegments},set maxSegments(d){_c.maxSegments=d},get minSegments(){return _c.minSegments},set minSegments(d){_c.minSegments=d}})});return c.curves.minSegments=32,c}const XIt=Object.freeze({LINE_CAP:Cd,LINE_JOIN:Al}),yn=Object.freeze({UP_TO_DATE:0,VISIBLE:1,SELECTED:2,HIGHLIGHTED:4,PICKABLE:8,STYLE:16,SHAPED:32,TEXT:64,NEW:128});function NM(t=[],e="element",i=null,r=null){const o=function(n=""){return n[0].toUpperCase()+n.substring(1)}(e);return{get[`${e}s`](){return t},[`add${o}`](n,s=t.length){let a;a=i?i(n):n;const[l]=t.splice(s,0,a);return r?.({[`${e}Added`]:l,index:s}),a},[`get${o}`]:(n=t.length-1)=>t[n],[`remove${o}`](n=t.length-1){const[s]=t.splice(n,1);return s&&r?.({[`${e}Removed`]:s,index:n}),s}}}function $It(t,e){var i;const r=t,o=()=>{var d;r.cache.aabb=null,r.cache.center=null,(d=r.onUpdate)==null||d.call(r)},n=d=>l.indexOf(d),s=d=>{const u=function(A,h=()=>null){const{x:g,y:p}=A,m={x:g,y:p};return Object.defineProperty(m,"onUpdate",{value:null,writable:!0}),Object.seal(m),new Proxy(m,{set(f,C,y,v){var w;if(C==="x"||C==="y"){if(!Number.isFinite(y))throw new TypeError("Point x and y must be finite numbers.");const b=f[C];return b!==y&&(f[C]=y,(w=f.onUpdate)==null||w.call(f,{value:y,oldValue:b,property:C,point:f})),!0}return Reflect.set(f,C,y,v)},get(f,C,y){return C==="index"?h(this):Reflect.get(f,C,y)}})}(d,n);return u.onUpdate=o,u},a=Math.round((((i=e.points)==null?void 0:i.length)??0)/2),l=new Array(a);if(a){const{points:d}=e;for(let u=0;u<a;u++)l[u]=s({x:d[2*u],y:d[2*u+1]})}const c=NM(l,"point",s,o);return Object.defineProperties(r,{...Object.getOwnPropertyDescriptors(c),draw:{value:iBt,enumerable:!0},getAABB:{value:eBt},getCenter:{value:tBt}}),function(d){Object.defineProperties(d,{move:{enumerable:!0,value:(u=d.center)=>{if(!Number.isFinite(u.x)||!Number.isFinite(u.y))throw new TypeError("Line move only accepts an object with x and y as finite numbers.");const{x:A,y:h}=d.center,g=u.x-A,p=u.y-h;d.translate(g,p)}},translate:{enumerable:!0,value:(u=0,A=0)=>{if(!Number.isFinite(u)||!Number.isFinite(A))throw new TypeError("Line translate only accepts dx and dy as finite numbers.");d.points.forEach(h=>{h.x+=u,h.y+=A})}},rotate:{enumerable:!0,value:(u=0,A=d.center)=>{if(!(Number.isFinite(u)&&Number.isFinite(A.x)&&Number.isFinite(A.y)))throw new TypeError("Line rotate only accepts angle in degrees as finite number and an object with x and y as finite numbers.");const h=-u/180*Math.PI;d.points.forEach(g=>{const p=lp(g,A,h);g.x=p.x,g.y=p.y})}},scale:{enumerable:!0,value:(u=1,A=d.center)=>{if(!(Number.isFinite(u)&&u>0&&Number.isFinite(A.x)&&Number.isFinite(A.y)))throw new TypeError("Line scale only accepts factor as strictly positive finite number and an object with x and y as finite numbers.");const h=Ir.IDENTITY;h.translate(-A.x,-A.y),h.scale(u,u),h.translate(A.x,A.y),d.points.forEach(g=>h.apply(g,g))}}})}(r),Object.seal(r)}function eBt(){return this.cache.aabb||(this.cache.aabb=Object.freeze(Wv(this.points.map(t=>({aabb:[t.x,t.y,t.x,t.y]}))))),this.cache.aabb}function tBt(){if(!this.cache.center){const[t,e,i,r]=this.aabb;this.cache.center=Object.freeze({x:(t+i)/2,y:(e+r)/2})}return this.cache.center}function iBt(t,e,i=null,r=!1){const o=this.points.flatMap(n=>[n.x+e.dx,n.y+e.dy]);if(r){const[n,s]=o;t.moveTo(n,s)}for(let n=0,s=o.length;n<s;n+=2){const a=o[n],l=o[n+1];i?t.dashedLineTo(a,l,i):t.lineTo(a,l)}}const rue={fill:void 0,fillOpacity:void 0,lineWidth:void 0,lineColor:void 0,lineOpacity:void 0,lineDash:void 0,lineCap:void 0,lineJoin:void 0,nonScalingLineWidth:void 0,performanceLine:void 0},rBt=Object.keys(rue);function oue(t,e,i){const r=t.scene._shapeId++,o={get id(){return r},type:"shape",get object(){return t},get onUpdate(){return i},cache:{},get aabb(){return this.cache.aabb||(this.cache.aabb=Wv(this.paths)),this.cache.aabb},get center(){if(!this.cache.center){const[c,d,u,A]=this.aabb;this.cache.center={x:(c+u)/2,y:(d+A)/2}}return this.cache.center}};(function(c,d=null){const u=Object.assign({},rue);d&&Object.keys(u).forEach(h=>{d[h]!==void 0&&(u[h]=d[h])}),c.style={};const A=c.object.scene.viewer.styles.default;Object.keys(u).forEach(h=>{Object.defineProperty(c.style,h,{get:()=>u[h]??A[h],set(g){const p=u[h];p!==g&&(u[h]=g,c.object.model.scene.emit("object-update",{object:c.object,property:h,oldValue:p,value:g}),~c.object.flags&yn.STYLE&&(c.object.flags|=yn.STYLE))},enumerable:!0})})})(o,e?.style);const n=c=>{const d=function(u=[]){let A=!!u.close,h=typeof u.start=="boolean"?!!u.start:void 0;const g={};return Object.defineProperties(g,{onUpdate:{value:null,writable:!0},cache:{value:{}},type:{value:u.type,enumerable:!0},aabb:{enumerable:!0,get:()=>g.getAABB()},center:{enumerable:!0,get:()=>g.getCenter()},close:{enumerable:!0,get:()=>A,set(p){var m;A=p,(m=this.onUpdate)==null||m.call(this)}},start:{enumerable:!0,get:()=>h,set(p){var m;h=p,(m=this.onUpdate)==null||m.call(this)}}}),["line","arc","curve"].includes(u.type)||console.warn(`SHAPE - Path not supported. Path of type "${g.type}" will be created as "line".`),u.type==="arc"?Object.seal(RIt(g,u)):u.type==="curve"?Object.seal(FIt(g,u)):Object.seal($It(g,u))}(c);return d.onUpdate=()=>{var u;o.cache.aabb=null,o.cache.center=null,(u=o.onUpdate)==null||u.call(o)},d},s=e?.paths.length??0,a=new Array(s);if(s){const c=e.paths;for(let d=0;d<s;d++)a[d]=n(c[d])}const l=NM(a,"path",n,()=>{var c;return(c=o.onUpdate)==null?void 0:c.call(o)});return Object.defineProperties(o,Object.getOwnPropertyDescriptors(l)),Object.seal(o)}function oBt(t,e=[]){const i=t.scene._shapeId++,r=e?.paths??[];let o=null,n=null;const s={get id(){return i},get object(){return t},get aabb(){return o||(o=function(a){let l=1/0,c=1/0,d=-1/0,u=-1/0;for(let A of a)switch(A.type){case"line":{const{points:h}=A,g=h.length;for(let p=0;p<g;p+=2){const m=h[p],f=h[p+1];m<l&&(l=m),f<c&&(c=f),m>d&&(d=m),f>u&&(u=f)}break}case"curve":{const{x:h,y:g,toX:p,toY:m}=A;h<l&&(l=h),g<c&&(c=g),p>d&&(d=p),m>u&&(u=m);break}case"arc":{const{x:h,y:g,radius:p}=A;h-p<l&&(l=h-p),g-p<c&&(c=g-p),h+p>d&&(d=h+p),g+p>u&&(u=g+p);break}default:throw new TypeError(`[Readonly AABB] - Path can only be "line", "curve" or "arc". Got "${A.type}".`)}return[l,c,d,u]}(r)),o},get center(){if(!n){const[a,l,c,d]=this.aabb;n={x:(a+c)/2,y:(l+d)/2}}return n}};return function(a,l=null){const c=a.object.scene.viewer.styles.default;a.style={};for(let d of rBt)a.style[d]=l?.[d]??c[d]}(s,e?.style),s.binary=jIt(r),s}function TV(t){t.model.scene.emit("object-update",{object:t,property:"shapes"}),t.flags|=yn.SHAPED}function nBt(){const{_cache:t}=this;return t.aabb||(t.aabb=Nde(this.points)),t.aabb}function sBt(){const{_cache:t}=this;if(!t.center){const[e,i,r,o]=this.aabb;t.center={x:(r+e)/2,y:(o+i)/2}}return t.center}function nue(t,e){return new Proxy(e,{set:(i,r,o,n)=>(Reflect.get(i,r,n)!==o&&~t.flags&yn.TEXT&&sue(t),Reflect.set(i,r,o,n))})}function sue(t){t.flags|=yn.TEXT,t.model.scene.emit("object-update",{object:t,property:"texts"})}function aue(t){return`object-${t}`}function aBt(t){const e=qy(),i=qy();return(r={},o)=>{if(r.id!==void 0&&typeof r.id!="string")throw new TypeError(`2D ENGINE - Object id must be a string, got ${typeof r.id}.`);let n=null;if(r.id!==void 0){if(n=r.id,t.objectsMap.has(n))throw new Error(`2D ENGINE - Object id ${n} is already used.`)}else for(n=aue(e());t.objectsMap.has(n);)n=aue(e());const{zIndex:s=0,pickingZIndex:a=s,pickingMargin:l=0,readonly:c=!1}=r;let d=yn.NEW;const u={type:"object",scene:t,model:o,id:n,readonly:c,zIndex:s,pickingId:i(),pickingZIndex:a,pickingMargin:l,get flags(){return d},set flags(A){d=A,u.model.dirty=!0}};return function(A,h){const{visible:g=!0,selected:p=!1,highlighted:m=!1,pickable:f=!0}=h,C=[{property:"visible",initValue:g,flag:yn.VISIBLE,getters:["shownObjects","hiddenObjects"]},{property:"selected",initValue:p,flag:yn.SELECTED,getters:["selectedObjects","unselectedObjects"]},{property:"highlighted",initValue:m,flag:yn.HIGHLIGHTED,getters:["highlightedObjects","unhighlightedObjects"]},{property:"pickable",initValue:f,flag:yn.PICKABLE,getters:["pickableObjects","unpickableObjects"]}];for(let{property:y,initValue:v,flag:w,getters:b}of C){let E=A[y]===void 0?v:A[y];Object.defineProperty(A,y,{set(k){const x=E;x!==k&&(E=k,b.forEach(M=>{A.model.scene.cache[M]=null}),A.model.scene.emit("object-update",{object:A,property:y,oldValue:x,value:k}),~A.flags&w&&(A.flags|=w))},get:()=>E})}}(u,r),function(A,h=[]){if(!Array.isArray(h))throw new TypeError("[SHAPE] Cannot add shapes. Object.shapes must be an array, got "+typeof h);if(A.readonly){const g=h.length,p=new Array(g);for(let m=0;m<g;m++)p[m]=oBt(A,h[m]);A.shapes=p}else{const g=NM(h.map(p=>oue(A,p,()=>TV(A))),"shape",p=>oue(A,p,()=>TV(A)),()=>TV(A));Object.defineProperties(A,Object.getOwnPropertyDescriptors(g))}}(u,r.shapes),function(A,h=[]){if(h.length===0)return;A.geometries=new Array(h.length);let g=0;for(const p of h){A.geometries[g++]=p;const m=p.type==="fill"?{fill:p.color,fillOpacity:p.alpha}:{lineColor:p.color,lineOpacity:p.alpha};Object.assign(p,{object:A,id:A.scene._geometryId++,style:m}),p._cache={aabb:null,center:null},p.aabb||Object.defineProperty(p,"aabb",{enumerable:!0,get:nBt}),Object.defineProperty(p,"center",{enumerable:!0,get:sBt})}}(u,r.geometries),function(A,h=[]){for(let g of h)if(typeof g!="object")throw new TypeError("[Engine2D - Object] Text must be an object");if(A.readonly)A.texts=h;else{const g=h.length,p=new Array(g);for(let f=0;f<g;f++)p[f]=nue(A,h[f]);const m=NM(p,"text",f=>nue(A,f),()=>sue(A));Object.defineProperties(A,Object.getOwnPropertyDescriptors(m))}}(u,r.texts),function(A){Object.defineProperties(A,{aabb:{get:()=>Wv(A.shapes.concat(A.geometries??[])),enumerable:!0},center:{get(){const[h,g,p,m]=this.aabb;return{x:(h+p)/2,y:(g+m)/2}},enumerable:!0}})}(u),function(A){Object.defineProperties(A,{move:{enumerable:!0,value:h=>function(g,p={}){const{x:m,y:f}=p,C=g.center;g.shapes.flatMap(y=>y.paths).forEach(y=>{const v=y.center,w=v.x-C.x,b=v.y-C.y;y.move({x:w+m,y:b+f})})}(A,h)},translate:{enumerable:!0,value:(h,g)=>function(p,m,f){p.shapes.flatMap(C=>C.paths).forEach(C=>{C.translate(m,f)})}(A,h,g)},rotate:{enumerable:!0,value:(h,g)=>function(p,m,f=p.center){p.shapes.flatMap(C=>C.paths).forEach(C=>{C.rotate(m,f)})}(A,h,g)},scale:{enumerable:!0,value:(h,g)=>function(p,m,f=p.center){p.shapes.flatMap(C=>C.paths).forEach(C=>{C.scale(m,f)})}(A,h,g)}})}(u),u}}function lue(t){Object.defineProperties(t,{aabb:{enumerable:!0,get:lBt},center:{enumerable:!0,get:cBt}})}function lBt(){const[t,...e]=this[this.type==="scene"?"models":"objects"];if(t){const i=t.aabb;for(const r of e)r.aabb.forEach((o,n)=>{(n<2?o<i[n]:o>i[n])&&(i[n]=o)});return i}return[0,0,0,0]}function cBt(){const[t,e,i,r]=this.aabb;return{x:(i+t)/2,y:(r+e)/2}}function cue(t){return`model-${t}`}function dBt(t){const e=qy(),i=aBt(t);return(r={})=>{var o;if(r.id!==void 0&&typeof r.id!="string")throw new TypeError(`2D ENGINE - Model id must be a string, got ${typeof r.id}.`);let n=null;if(r.id!==void 0){if(n=r.id,t.modelsMap.has(n))throw new Error(`2D ENGINE - Model id ${n} is already used.`)}else for(n=cue(e());t.modelsMap.has(n);)n=cue(e());const s=new Map;let a=!0;const l={};return Object.defineProperties(l,{type:{value:"model",enumerable:!0},cache:{value:{}},scene:{value:t,enumerable:!0},id:{value:n,enumerable:!0},dirty:{get:()=>a,set(c){a=c,a&&(l.cache.objects=null,t.dirty=!0)},enumerable:!0},addObject:{value:function(c){const d=i(c,l);return s.set(d.id,d),t.objectsMap.set(d.id,d),t.pickingIds.set(d.pickingId,d),t.emit("object-added",d),l.dirty=!0,d}},removeObject:{value:c=>{const d=s.get(c);return!!d&&(s.delete(c),t.objectsMap.delete(d.id),t.pickingIds.delete(d.pickingId),t._removedObjects.push(d),t.emit("object-removed",d),l.dirty=!0,!0)},enumerable:!0},objects:{get(){return this.cache.objects||(this.cache.objects=Object.freeze(Array.from(s.values()))),this.cache.objects},enumerable:!0}}),function(c){Object.defineProperties(c,{move:{enumerable:!0,value:d=>{const{x:u,y:A}=c.center;c.objects.forEach(h=>{const{x:g,y:p}=h.center;h.move({x:d.x+(g-u),y:d.y+(p-A)})})}},translate:{enumerable:!0,value:(d,u)=>{c.objects.forEach(A=>A.translate(d,u))}},rotate:{enumerable:!0,value:(d=0,u=c.center)=>{c.objects.forEach(A=>A.rotate(d,u))}},scale:{enumerable:!0,value:(d,u=c.center)=>{c.objects.forEach(A=>A.scale(d,u))}}})}(l),lue(l),(o=r?.objects)==null||o.map(c=>l.addObject(c)),Object.seal(l)}}function uBt(t){return e=>{const i=t.modelsMap.get(e);return!!i&&(i.objects.forEach(r=>i.removeObject(r.id)),t.modelsMap.delete(e),t.viewer.textureManager.unload(e),t.emit("model-removed",i),t.dirty=!0,t.cache={},!0)}}function ABt(t){const e=i=>(r=[])=>{if(!Array.isArray(r))throw new Error("Ids must be an Array");r.map(o=>t.objectsMap.get(o)).filter(Boolean).forEach(o=>{o[i.objectProperty]!==i.value&&(o[i.objectProperty]=i.value)})};return[{objectProperty:"visible",value:!0,label:"showObjects",eventSuffix:"shown"},{objectProperty:"visible",value:!1,label:"hideObjects",eventSuffix:"hidden"},{objectProperty:"selected",value:!0,label:"selectObjects",eventSuffix:"selected"},{objectProperty:"selected",value:!1,label:"deselectObjects",eventSuffix:"deselected"},{objectProperty:"highlighted",value:!0,label:"highlightObjects",eventSuffix:"highlighted"},{objectProperty:"highlighted",value:!1,label:"unhighlightObjects",eventSuffix:"unhighlighted"},{objectProperty:"pickable",value:!0,label:"setObjectsPickable",eventSuffix:"pickable"},{objectProperty:"pickable",value:!1,label:"setObjectsUnpickable",eventSuffix:"unpickable"}].reduce((i,r)=>(i[r.label]={value:e(r),enumerable:!0},i),{})}const hBt=[{label:"shownObjects",property:"visible",value:!0},{label:"hiddenObjects",property:"visible",value:!1},{label:"selectedObjects",property:"selected",value:!0},{label:"unselectedObjects",property:"selected",value:!1},{label:"highlightedObjects",property:"highlighted",value:!0},{label:"unhighlightedObjects",property:"highlighted",value:!1},{label:"pickableObjects",property:"pickable",value:!0},{label:"unpickableObjects",property:"pickable",value:!1}];function pBt(t){return hBt.map(e=>({[e.label]:{get:()=>(t.cache[e.label]||(t.cache[e.label]=t.objects.filter(i=>i[e.property]===e.value)),t.cache[e.label]),enumerable:!0}})).reduce((e,i)=>Object.assign(e,i),{})}const gBt=[{flag:yn.VISIBLE,target:"visibleObjects",property:"visible"},{flag:yn.SELECTED,target:"selectedObjects",property:"selected"},{flag:yn.HIGHLIGHTED,target:"highlightedObjects",property:"highlighted"},{flag:yn.PICKABLE,target:"pickableObjects",property:"pickable"},{flag:yn.STYLE,target:"stylizedObjects"},{flag:yn.SHAPED,target:"shapedObjects"},{flag:yn.TEXT,target:"textObjects"}];function fBt(t,e,i=!1){for(let r of t.objects)if(r.flags&yn.NEW||i)e.addedObjects||(e.addedObjects=[]),e.addedObjects.push(r),r.flags=yn.UP_TO_DATE;else if(r.flags!==yn.UP_TO_DATE)for(let{flag:o,target:n,property:s=null}of gBt)(r.visible||o===yn.VISIBLE||r[s]===!1)&&r.flags&o&&(e[n]||(e[n]=[]),e[n].push(r),r.flags&=~o);t.objects.every(r=>r.flags===yn.UP_TO_DATE)&&(t.dirty=!1)}function mBt(t){const e=Object.defineProperties({},{type:{value:"scene",enumerable:!0},cache:{value:{},writable:!0},dirty:{value:!1,writable:!0,enumerable:!0},viewer:{value:t,enumerable:!0},generateReport:{value:function(i=!1){return function(r,o=!1){if(!r.dirty&&!o)return null;const n=Object.seal({addedObjects:null,removedObjects:null,visibleObjects:null,selectedObjects:null,highlightedObjects:null,pickableObjects:null,stylizedObjects:null,shapedObjects:null,textObjects:null});r._removedObjects.length>0&&(n.removedObjects=r._removedObjects,r._removedObjects=[]);for(const s of[...r.models,r.orphanObjectsModel])!s.dirty&&!o||fBt(s,n,o);return r.dirty=!1,Object.values(n).every(s=>s===null)?null:n}(this,i)},enumerable:!0},...Object.getOwnPropertyDescriptors(ap())});return function(i){const r=dBt(i);Object.defineProperties(i,{modelsMap:{value:new Map,enumerable:!0},models:{get(){return Array.from(this.modelsMap.values())},enumerable:!0},addModel:{value:async o=>{var n;const s=r(o);return((n=o?.textures)==null?void 0:n.length)>0&&await i.viewer.textureManager.load(s.id,o.textures),i.modelsMap.set(s.id,s),i.emit("model-added",s),i.cache={},s},enumerable:!0},removeModel:{value:uBt(i),enumerable:!0}}),Object.defineProperty(i,"orphanObjectsModel",{value:r({id:"orphan-objects-model"}),enumerable:!0})}(e),function(i){const r=new Map;Object.defineProperties(i,{objectsMap:{value:r,enumerable:!0},pickingIds:{value:new Map},objects:{get:()=>(i.cache.objects||(i.cache.objects=Array.from(r.values())),i.cache.objects),enumerable:!0},addObject:{value:(o,n=i.orphanObjectsModel)=>(i.cache={},n.addObject(o)),enumerable:!0},removeObject:{value:o=>{i.cache={};const n=i.objectsMap.get(o);return!!n&&(n.model.removeObject(n.id),!0)},enumerable:!0},_removedObjects:{value:[],writable:!0},_shapeId:{value:1,writable:!0},_geometryId:{value:1,writable:!0},...pBt(i),...ABt(i)})}(e),lue(e),Object.seal(e)}function vBt(t){const e=t.renderer.layers.get("snap");if(!e)return null;const{distance:i,dot:r,sub:o}=t.utils.vector2D;function n(s,a){const l={x:s[0],y:s[1]},c={x:s[2],y:s[3]},d=o(l,c),u=o(l,a),A=r(d,u),h=d.x*d.x+d.y*d.y;return{x:l.x+A*d.x/h,y:l.y+A*d.y/h}}return Object.freeze({getSnap(s={},{canvasDistance:a=20,snapVertices:l=!0,snapLines:c=!0}={}){const d=function(A={}){const h=e.pickColorAtCanvasPosition(A,!0);if(h!==void 0)return t.scene.pickingIds.get(h)}(s),u=i(t.camera.getPosition({x:0,y:0}),t.camera.getPosition({x:a,y:0}));if(d){const A=t.camera.getPosition(s);if(l){const h=d.shapes.flatMap(m=>m.paths).filter(m=>m.type==="line").flatMap(m=>m.points);let g=null,p=1/0;if(h.forEach(m=>{const f=i(A,m);f<=u&&f<p&&(p=f,g=m)}),g)return g}if(c){const h=d.shapes.flatMap(m=>m.paths).filter(m=>m.type==="line").map(m=>{const f=m.points.flatMap(C=>[C.x,C.y]);return m.close&&f.push(f[0],f[1]),f});let g=null,p=1/0;if(h.forEach(m=>{const f=function(y,v){let w=null,b=1/0;for(let E=0;E<y.length-2;E+=2){const k=n(y.slice(E,E+4),v),x=i(v,k);x<b&&(w=k,b=x)}return{position:w,distance:b}}(m,A),C=f.distance;C<=u&&C<p&&(p=C,g=f.position)}),g)return g}}}})}function CBt(t=window.requestAnimationFrame,e=performance.now.bind(performance)){if(typeof t!="function")throw new Error(`Ticker - "nextTick" must be a function, get "${typeof t}".`);if(typeof e!="function")throw new Error(`Ticker - "now" must be a function, get "${typeof e}".`);const i=ap();let r=!1,o=null;const n=RV(),s=()=>{r&&(function(){const l=e(),c=l-o;n.run(c),i.emit("tick",c),o=l}(),t(s))},a={start(){r=!0,o=e(),s()},stop(){r=!1},get running(){return r},...n,...i};return a.clearTasks=n.clear,a.clearEvents=i.clear,a.clear=()=>{console.warn("Ticker - You must precise what do you want to clear : events or tasks.")},Object.freeze(a)}function due(t={},e){const{x:i,y:r}=e.getBoundingClientRect();return{x:Math.max(t.clientX-i,0),y:Math.max(t.clientY-r,0)}}function yBt(t){const{canvas:e,camera:i}=t;if(!(e instanceof HTMLElement))throw new Error(`Touch handler requires an HTMLELEMENT, get ${e}`);const r=new Map,{utils:{vector2D:{distance:o,sub:n}}}=t;function s(c){t.ui.state.lastTouch=Date.now();for(const d of c.targetTouches){const{identifier:u,clientX:A,clientY:h}=d;r.set(u,{id:u,x:A,y:h,previousX:null,previousY:null})}}function a(c){const d=[...c.targetTouches].map(u=>{const{identifier:A,clientX:h,clientY:g}=u,p=r.get(A);return p.previousX=p.x,p.previousY=p.y,p.x=h,p.y=g,p});c.targetTouches.length===1?t.ui.translatableWithOneTouch&&function(u){if(!t.ui.translatable)return;const A=u.x-u.previousX,h=u.y-u.previousY;i.translate(-A*window.devicePixelRatio,-h*window.devicePixelRatio)}(d[0]):function(u,A){if(t.ui.translatable){const f=u.x-u.previousX,C=u.y-u.previousY,y=A.x-A.previousX,v=A.y-A.previousY;i.translate(-(f+y)/2*window.devicePixelRatio,-(C+v)/2*window.devicePixelRatio)}const h=n(u,A),{x:g,y:p}=e.getBoundingClientRect(),m=i.getPosition({x:u.x+h.x/2-g,y:u.y+h.y/2-p});if(t.ui.scallable){const f=o({x:u.previousX,y:u.previousY},{x:A.previousX,y:A.previousY}),C=o(u,A)/f;i.scale(C,m)}if(t.ui.rotatable){const f=n({x:u.previousX,y:u.previousY},{x:A.previousX,y:A.previousY}),C=Math.atan2(h.y,h.x)-Math.atan2(f.y,f.x);i.rotate(-C/Math.PI*180,m)}}(d[0],d[1])}function l(c){for(const d of c.changedTouches)r.delete(d.identifier)}return e.addEventListener("touchstart",s),e.addEventListener("touchmove",a),e.addEventListener("touchend",l),{destroy(){e.removeEventListener("touchstart",s),e.removeEventListener("touchmove",a),e.removeEventListener("touchend",l)}}}function wBt(t){const{settings:e,camera:i}=t;let r=null,o=null;const n=ap();let s=!0;const a=function(h){const g=h.canvas;if(!(g instanceof HTMLElement))throw new Error(`Mouse handler requires an HTMLELEMENT, get ${g}`);const{settings:p,utils:{vector2D:{distance:m}}}=h,f=ap(),C={rightClick:!1,mouseDownCanvasPosition:null};function y(b){return Object.assign(b,{...C}),Object.defineProperty(b,"canvasPosition",{get:()=>due(b,g)}),b}const v=[];function w(b,E,k=g){v.push({htmlElement:k,eventName:b,handler:E}),k.addEventListener(b,E)}return w("mousedown",b=>{C.mouseDownCanvasPosition=due(b,g),f.emit("mousedown",y(b))}),w("mousemove",b=>{h.ui.state.lastTouch&&h.ui.state.lastTouch-Date.now()<1e3||b.movementX===0&&b.movementY===0||f.emit("mousemove",y(b))}),w("mouseup",b=>{if(!C.mouseDownCanvasPosition)return;const E=y(b);f.emit("mouseup",E),m(E.mouseDownCanvasPosition,E.canvasPosition)<=p.clickMaxOffset&&f.emit("click",y(new MouseEvent(b.type,b))),C.rightClick=!1,C.mouseDownCanvasPosition=null},document.body),w("wheel",b=>{b.preventDefault(),f.emit("wheel",y(b))}),w("contextmenu",b=>{b.preventDefault(),C.rightClick=!0,f.emit("contextmenu",y(b))}),w("mouseleave",b=>f.emit("mouseleave",y(b))),{...f,destroy(){v.forEach(({htmlElement:b,eventName:E,handler:k})=>{b.removeEventListener(E,k)})},get state(){return C}}}(t),l=yBt(t),c={...n,get pick(){return s},set pick(h){s=h,s||(r=null,o=null)},translatable:!0,translatableWithOneTouch:!0,rotatable:!0,scallable:!0,destroy(){a.destroy(),l.destroy()},state:{lastTouch:null}},d={movementX:0,movementY:0},u={deltaY:0};function A(h){return Object.defineProperties(h,{previousObject:{value:r,enumerable:!0},mouseDownObject:{value:o,enumerable:!0},position:{get:()=>t.camera.getPosition(h.canvasPosition),enumerable:!0},mouseDownPosition:{get(){return this.mouseDownCanvasPosition?t.camera.getPosition(this.mouseDownCanvasPosition):null},enumerable:!0}}),h.type==="mousemove"?(h.accumulatedMovementX=d.movementX,h.accumulatedMovementY=d.movementY,d.movementX=0,d.movementY=0):h.type==="wheel"&&(h.accumulatedDeltaY=u.deltaY,u.deltaY=0),h}return["click","mousemove","mousedown","mouseup","wheel"].forEach(h=>a.on(h,g=>{h==="mousemove"?(d.movementX+=g.movementX,d.movementY+=g.movementY):h==="wheel"&&(u.deltaY+=g.deltaY);const p=g.type==="wheel"||g.type==="mousemove"&&g.mouseDownCanvasPosition&&(4&g.buttons||1&g.buttons&&g[`${e.dragKey}Key`]);t.ticker.addOnce(`pick-${h}`,()=>{s&&!p?t.picker?t.picker.oncePickingReady(`pick-${h}`,()=>{const m=t.picker.pick(g.canvasPosition);h==="mousedown"?o=m:h==="mouseup"&&(o=null,a.state.mouseDownCanvasPosition=null),g.object=m,n.emit(h,A(g)),r=m}):n.emit(h,A(g)):(n.emit(h,A(g)),p&&function(m){if(m.type==="mousemove")c.translatable&&i.translate(-m.accumulatedMovementX*window.devicePixelRatio,-m.accumulatedMovementY*window.devicePixelRatio);else if(m.type==="wheel"){if(m[`${e.rotateKey}Key`]){if(c.rotatable){const f=m.accumulatedDeltaY*e.rotateSpeed;i.rotate(-f,i.getPosition(m.canvasPosition))}}else if(c.scallable){const f=Math.max(1-m.accumulatedDeltaY*e.scaleSpeed,0);i.scale(Math.max(Math.min(f,1+e.scaleDeltaMax),1-e.scaleDeltaMax),i.getPosition(m.canvasPosition))}}}(g))})})),a.on("mouseleave",h=>{n.emit("mouseleave",A(h)),r=null}),c}const{buildPoly:uue,buildLine:bBt}=Ide;function Aue(t,e){var i;const r=$de(t,(...a)=>LV({dx:0,dy:0},...a),!1,!0),o=t.textureManager.modelTextures.get(e.id),n={id:e.id,objects:new Array(e.objects.length),textures:o?.size>0?Array.from(o).map(([a,l])=>{const{baseTexture:c}=l,{resolution:d}=c,u=c.resource.source,{src:A,width:h,height:g}=u;return{name:a,uri:A,width:h,height:g,resolution:d}}):[]};let s=0;for(const a of e.objects){const l={id:a.id,zIndex:a.zIndex,pickingZIndex:a.pickingZIndex,pickable:a.pickable,texts:a.texts,readonly:a.readonly,aabb:new Float64Array(a.aabb),geometries:[]};for(const c of a.shapes??[]){const d=r(c.style,t.textureManager.modelTextures.get(e.id));d.draw([c]);const u=d.displayObject.children;for(const A of u){((i=A.currentPath)==null?void 0:i.points.length)>2&&A.drawShape(A.currentPath);for(const h of A.geometry.graphicsData){const g={points:[],indices:[],closePointEps:1e-4};if(uue.build(h),A.type==="fill"&&uue.triangulate(h,g),A.type==="line"&&bBt(h,g),g.points.length===0)continue;const p={type:A.type,points:new Float64Array(g.points),indices:new Uint32Array(g.indices)};l.geometries.push(Object.assign(p,p.type==="line"?{color:c.style.lineColor,alpha:c.style.lineOpacity,native:c.style.performanceLine}:{color:c.style.fill,alpha:c.style.fillOpacity,native:void 0}))}}}n.objects[s++]=l}return n}function hue(t,e=wue){try{const i={},r=fue(t,i,e),o=4*Uint8Array.BYTES_PER_ELEMENT,n=new ArrayBuffer(o+r),s=new DataView(n);return new Uint8Array(n,0,o).set([98,100,116,_V.indexOf(e)+1]),FV(s,i,o),s.buffer}catch(i){throw console.error("Impossible to binarize model because it is not of a supported format."),i}}function pue(t,e,i){if(t[e]){const r=new TextEncoder().encode(t[e]);return i[e]=r,r.byteLength}return i[e]=new Uint8Array(0),0}function gue(t,e,i){return t[e]===void 0?yue.includes(e)?i[e]=0:i[e]=-1:i[e]=+t[e],Float32Array.BYTES_PER_ELEMENT}function fue(t,e,i,r=0){for(const[o,n]of Object.entries(i))if(Object.prototype.hasOwnProperty.call(n,"types")){const s=typeof t[o]=="string",a=n.types.indexOf(s?String:Number);r+=Uint8Array.BYTES_PER_ELEMENT;let l=null;if(s){r+=Uint32Array.BYTES_PER_ELEMENT;const c={};r+=pue(t,o,c),l=c[o]}else{const c={};r+=gue(t,o,c),l=c[o]}e[o]={typeIndex:a,value:l}}else if(n===Number)r+=gue(t,o,e);else if(n===Boolean)e[o]=!!t[o],r+=Uint8Array.BYTES_PER_ELEMENT;else if(Array.isArray(n))e[o]={enumIndex:n.indexOf(t[o])},r+=Uint8Array.BYTES_PER_ELEMENT;else if(r+=Uint32Array.BYTES_PER_ELEMENT,Object.prototype.hasOwnProperty.call(n,"arrayOf")){e[o]=[];for(const s of t[o]){const a={};e[o].push(a),r=fue(s,a,n.arrayOf,r)}}else if(n===String)r+=pue(t,o,e);else if(n===Float64Array)e[o]=new Float64Array(t[o]),r+=t[o].length*Float64Array.BYTES_PER_ELEMENT;else{if(n!==Uint32Array)throw new TypeError(`Impossible to encode data, unsupported type : ${n}`);e[o]=new Uint32Array(t[o]),r+=t[o].length*Uint32Array.BYTES_PER_ELEMENT}return r}function FV(t,e,i=0){for(const r of Object.values(e))if(r?.enumIndex!==void 0)t.setUint8(i,r.enumIndex),i+=Uint8Array.BYTES_PER_ELEMENT;else if(r?.typeIndex!==void 0){const{value:o,typeIndex:n}=r;t.setUint8(i,n),i=FV(t,{data:o},i+=Uint8Array.BYTES_PER_ELEMENT)}else if(typeof r=="number")t.setFloat32(i,r),i+=Float32Array.BYTES_PER_ELEMENT;else if(typeof r=="boolean")t.setUint8(i,r),i+=Uint8Array.BYTES_PER_ELEMENT;else if(t.setUint32(i,r.length),i+=Uint32Array.BYTES_PER_ELEMENT,Array.isArray(r))for(const o of r)i=FV(t,o,i);else if(r instanceof Float64Array)for(const o of r)t.setFloat64(i,o),i+=Float64Array.BYTES_PER_ELEMENT;else if(r instanceof Uint32Array)for(const o of r)t.setUint32(i,o),i+=Uint32Array.BYTES_PER_ELEMENT;else if(r instanceof Uint16Array)for(const o of r)t.setUint16(i,o),i+=Uint16Array.BYTES_PER_ELEMENT;else{if(!(r instanceof Uint8Array))throw new TypeError("Cannot write data in dataview. Only Array, Float64Array, Uint16Array or Uint8Array are supported.");for(const o of r)t.setUint8(i,o),i+=Uint8Array.BYTES_PER_ELEMENT}return i}function mue(t,e,i,r){const o=t.getUint32(r);if(r+=Uint32Array.BYTES_PER_ELEMENT,o!==0){const n=r;r+=o*Uint8Array.BYTES_PER_ELEMENT;const s=new TextDecoder().decode(t.buffer.slice(n,r));e[i]=s}return r}function vue(t,e,i,r){return e[i]=t.getFloat32(r),r+=Float32Array.BYTES_PER_ELEMENT,e[i]===-1&&!yue.includes(i)&&delete e[i],r}function Cue(t,e,i,r=0){for(const[o,n]of Object.entries(i))if(Object.prototype.hasOwnProperty.call(n,"arrayOf")){e[o]=[];const s=t.getUint32(r);r+=Uint32Array.BYTES_PER_ELEMENT;for(let a=0;a<s;a++){const l={};e[o][a]=l,r=Cue(t,l,n.arrayOf,r)}}else if(Object.prototype.hasOwnProperty.call(n,"types")){const s=t.getUint8(r);r+=Uint8Array.BYTES_PER_ELEMENT,r=n.types[s]===String?mue(t,e,o,r):vue(t,e,o,r)}else if(Array.isArray(n)){const s=t.getUint8(r);r+=Uint8Array.BYTES_PER_ELEMENT,e[o]=n[s]}else if(n===String)r=mue(t,e,o,r);else if(n===Number)r=vue(t,e,o,r);else if(n===Boolean)e[o]=!!t.getUint8(r),r+=Uint8Array.BYTES_PER_ELEMENT;else if(n===Float64Array){const s=t.getUint32(r);r+=Uint32Array.BYTES_PER_ELEMENT;const a=new Float64Array(s);for(let l=0;l<s;l++)a.set([t.getFloat64(r)],l),r+=Float64Array.BYTES_PER_ELEMENT;e[o]=a}else if(n===Uint32Array){const s=t.getUint32(r);r+=Uint32Array.BYTES_PER_ELEMENT;const a=new Uint32Array(s);for(let l=0;l<s;l++)a.set([t.getUint32(r)],l),r+=Uint32Array.BYTES_PER_ELEMENT;e[o]=a}return r}function IBt(t){let e=0;try{const i=new DataView(t);if([String.fromCharCode(i.getUint8(e++)),String.fromCharCode(i.getUint8(e++)),String.fromCharCode(i.getUint8(e++))].join("")!=="bdt")throw new Error("Impossible to parse geometry, the buffer is not a bdt format.");const r=i.getUint8(e++),o=_V[r-1];if(!o)throw new Error(`Impossible to parse geometry, unsupported bdt file version ${r}.`);const n={};return Cue(i,n,o,e),n}catch(i){console.error(i)}}const yue=["zIndex","pickingZIndex"],wue={id:String,objects:{arrayOf:{id:String,zIndex:Number,pickingZIndex:Number,readonly:Boolean,aabb:Float64Array,geometries:{arrayOf:{type:["fill","line"],native:Boolean,color:{types:[Number,String]},alpha:Number,points:Float64Array,indices:Uint32Array}},texts:{arrayOf:{content:String,x:Number,y:Number,fontSize:Number,fontFamily:String,fill:Number,rotation:Number,scale:Number}}}},textures:{arrayOf:{name:String,uri:String,width:Number,height:Number,resolution:Number}}},_V=[wue];function BBt(t,e){return async i=>{const r=await t.scene.addModel(i),o=hue(Aue(t,r),e);return t.scene.removeModel(r.id),o}}function bue(t){const e=function(i){for(var r={command:/\s*([achlmqstvz])/gi,number:/\s*([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/gi,comma:/\s*(?:(,)|\s)/g,flag:/\s*([01])/g},o={number:function(g){return+A("number",g)},"coordinate pair":function(g){var p=A("number",g);return p!==null||g?(A("comma"),{x:+p,y:+A("number",!0)}):null},"arc definition":function(g){var p=o["coordinate pair"](g);if(!p&&!g)return null;A("comma");var m=+A("number",!0);A("comma",!0);var f=!!+A("flag",!0);A("comma");var C=!!+A("flag",!0);return A("comma"),{radii:p,rotation:m,large:f,clockwise:C,end:o["coordinate pair"](!0)}}},n=0,s=[];n<i.length;){var a,l=A("command"),c=l.toUpperCase(),d=l!==c;switch(c){case"M":a=h("coordinate pair").map(function(g,p){return p===1&&(l=d?"l":"L"),u({end:g})});break;case"L":case"T":a=h("coordinate pair").map(function(g){return u({end:g})});break;case"C":if((a=h("coordinate pair")).length%3)throw Error("Expected coordinate pair triplet at position "+n);a=a.reduce(function(g,p,m){var f=m%3;return f?g[g.length-1][f===1?"cp2":"end"]=p:g.push(u({cp1:p})),g},[]);break;case"Q":case"S":if(1&(a=h("coordinate pair")).length)throw Error("Expected coordinate pair couple at position "+n);a=a.reduce(function(g,p,m){return 1&m?g[g.length-1].end=p:g.push(u({cp:p})),g},[]);break;case"H":case"V":a=h("number").map(function(g){return u({value:g})});break;case"A":a=h("arc definition").map(u);break;case"Z":a=[{code:"Z"}]}s.push.apply(s,a)}return s;function u(g){return g.code=l,g.relative=d,g}function A(g,p){r[g].lastIndex=n;var m=r[g].exec(i);if(!m||m.index!==n){if(!p)return null;throw Error("Expected "+g+" at position "+n)}return n=r[g].lastIndex,m[1]}function h(g){for(var p,m=[],f=!0;p=o[g](f);)m.push(p),f=!!A("comma");return m}}(t);return function(i){const r=[];let o=0,n=0,s=null,a=!1;function l(){s||(s={type:"line",points:[o,n],start:a},a=!1)}function c(h=!1){s&&(s.close=h,r.push(s),s=null)}function d(){let h=null;if(r.length>0&&(h=u()),s){if(!h){const[g,p]=s.points;h={x:g,y:p}}c(!0)}else{const g=r[r.length-1];g&&(g.close=!0),h||(h={x:g.x,y:g.y})}o=h.x,n=h.y}function u(){const h=Array.from(r);s&&h.push(s);let g=h.reverse().find(p=>p.start);if(g||(g=r[0]),g.type==="line"){const[p,m]=g.points;return{x:p,y:m}}return{x:g.x,y:g.y}}function A(h){c(),r.push(h),a=!1}for(let h=0;h<i.length;h++){const g=i[h];switch(g.code){case"M":c(),a=!0,o=g.end.x,n=g.end.y;break;case"m":c(),a=!0,o+=g.end.x,n+=g.end.y;break;case"H":{l(),o=g.value;const p=s.points.length-1,m=s.points[p];s.points.push(o,m);break}case"h":{l(),o+=g.value;const p=s.points.length-1,m=s.points[p];s.points.push(o,m);break}case"V":{l(),n=g.value;const p=s.points.length-2,m=s.points[p];s.points.push(m,n);break}case"v":{l(),n+=g.value;const p=s.points.length-2,m=s.points[p];s.points.push(m,n);break}case"L":l(),o=g.end.x,n=g.end.y,s.points.push(o,n);break;case"l":l(),o+=g.end.x,n+=g.end.y,s.points.push(o,n);break;case"z":case"Z":d();break;case"C":{const{cp1:{x:p,y:m},cp2:{x:f,y:C},end:{x:y,y:v}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:p,cpY1:m,cpX2:f,cpY2:C,toX:y,toY:v}),o=y,n=v;break}case"c":{const{cp1:{x:p,y:m},cp2:{x:f,y:C},end:{x:y,y:v}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:o+p,cpY1:n+m,cpX2:o+f,cpY2:n+C,toX:o+y,toY:n+v}),o+=y,n+=v;break}case"Q":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:p,cpY1:m,cpX2:p,cpY2:m,toX:f,toY:C}),o=f,n=C;break}case"q":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g;A({type:"curve",start:a,x:o,y:n,cpX1:o+p,cpY1:n+m,cpX2:o+p,cpY2:n+m,toX:o+f,toY:n+C}),o+=f,n+=C;break}case"S":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g,y=r[r.length-1];let v=null,w=null;if(s||y.type!=="curve")v=o,w=n;else{const b=OM({x:y.cpX2,y:y.cpY2},{x:y.toX,y:y.toY});v=b.x,w=b.y}A({type:"curve",start:a,x:o,y:n,cpX1:v,cpY1:w,cpX2:p,cpY2:m,toX:f,toY:C}),o=f,n=C;break}case"s":{const{cp:{x:p,y:m},end:{x:f,y:C}}=g,y=r[r.length-1];let v=null,w=null;if(s||y.type!=="curve")v=o,w=n;else{const b=OM({x:y.cpX2,y:y.cpY2},{x:y.toX,y:y.toY});v=b.x,w=b.y}A({type:"curve",start:a,x:o,y:n,cpX1:v,cpY1:w,cpX2:o+p,cpY2:n+m,toX:o+f,toY:n+C}),o+=f,n+=C;break}case"T":{const{end:{x:p,y:m}}=g,f=r[r.length-1];let C=null,y=null;if(s||f.type!=="curve")C=o,y=n;else{const v=OM({x:f.cpX2,y:f.cpY2},{x:f.toX,y:f.toY});C=v.x,y=v.y}A({type:"curve",start:a,x:o,y:n,cpX1:C,cpY1:y,cpX2:C,cpY2:y,toX:p,toY:m}),o=p,n=m;break}case"t":{const{end:{x:p,y:m}}=g,f=r[r.length-1];let C=null,y=null;if(s||f.type!=="curve")C=o,y=n;else{const v=OM({x:f.cpX2,y:f.cpY2},{x:f.toX,y:f.toY});C=v.x,y=v.y}A({type:"curve",start:a,x:o,y:n,cpX1:C,cpY1:y,cpX2:C,cpY2:y,toX:o+p,toY:n+m}),o+=p,n+=m;break}default:throw new Error(`VIEWER 2D - Draw command not supported: ${g.code}`)}}return s!=null&&s.points.length&&r.push(s),r}(e)}function OM(t,e){const{x:i,y:r}=t,{x:o,y:n}=e;return{x:-(i-o)+o,y:-(r-n)+n}}function Iue(t){var e;return t&&t!=="none"?t.startsWith("url(#")?(e=t.match(new RegExp("(?<=url\\(#).+(?=\\))")))==null?void 0:e[0]:UV(t):null}function EBt(t,{textureMinSize:e=64,textMinSize:i=60,textMaxSize:r=130}={}){try{const o={},n=t.getElementById("BIMDATA_pattern");if(n){o.textures=[];const s=Array.from(n.children);for(const a of s){const l=a.getAttribute("id"),c=+a.getAttribute("width"),d=+a.getAttribute("height");let u=c,A=d,h=1;(c<1||d<1||c<e&&d<e)&&(c<d?(u=e,A=e*(d/c),h=u/c):(A=e,u=e*(c/d),h=A/d));const g=` <svg xmlns="http://www.w3.org/2000/svg" width="${u}" height="${A}" viewBox="0 0 ${c} ${d}">
1235
1235
  ${a.innerHTML}
1236
1236
  </svg> `,p="data:image/svg+xml;utf8,"+encodeURIComponent(g);o.textures.push({name:l,width:u,height:A,uri:p,resolution:h})}}return o.objects=Array.from(t.firstElementChild.getElementsByTagName("g")).map(s=>{var a;const l={minSize:i,maxSize:r,fontSize:s.hasAttribute("font-size")?+s.getAttribute("font-size"):null,fontFamily:s.getAttribute("font-family"),fill:s.getAttribute("fill")},c={lineWidth:s.hasAttribute("stroke-width")?+s.getAttribute("stroke-width"):null,lineColor:s.hasAttribute("stroke")?UV(s.getAttribute("stroke")):null,lineOpacity:HM(s.getAttribute("stroke-opacity")),lineDash:(a=s.getAttribute("stroke-dasharray"))==null?void 0:a.split(" ").map(u=>+u),fill:Iue(s.getAttribute("fill")),fillOpacity:HM(s.getAttribute("opacity"),null)},d={id:s.getAttribute("id")};return d.id===null?null:(function(u,A,h){u.shapes=A.map((g,p)=>{try{const m={paths:bue(g.getAttribute("d"))};return function(f,C,y){const{fillOpacity:v,lineOpacity:w,lineWidth:b,lineColor:E,lineDash:k,fill:x}=y,M={lineCap:"round",lineJoin:"round",lineOpacity:w,lineDash:k,fill:null,fillOpacity:v,performanceLine:!0};(b!==null||C.hasAttribute("stroke-width"))&&(M.lineWidth=b??+C.getAttribute("stroke-width")),E!==null||C.hasAttribute("stroke")?M.lineColor=E??UV(C.getAttribute("stroke")):M.lineWidth=0,(x!==null||C.hasAttribute("fill")&&C.getAttribute("fill")!=="none")&&(M.fill=x??Iue(C.getAttribute("fill"))),M.fill!==null&&(M.fillOpacity=1),C.hasAttribute("opacity")&&(M.fillOpacity=HM(C.getAttribute("opacity"),null)),C.hasAttribute("stroke-opacity")&&(M.lineOpacity=HM(C.getAttribute("stroke-opacity"))),C.hasAttribute("stroke-dasharray")&&(M.lineDash=C.getAttribute("stroke-dasharray").split(" ").map(D=>+D)),f.style=M}(m,g,h),m}catch(m){console.warn(`[SVG Parser] Impossible to parse the ${p+1}th shape of the object with id ${u.id} due to : ${m.message}`)}}).filter(Boolean)}(d,Array.from(s.querySelectorAll("path")),c),function(u,A,h){const{minSize:g,maxSize:p,fontSize:m,fontFamily:f,fill:C}=h;u.texts=A.map(y=>{var v;const{fontSize:w,scale:b}=function(k,x=60,M=130){let D=1;for(;k<x;)k*=2,D/=2;for(;k>M;)k/=2,D*=2;return{fontSize:k,scale:D}}(m??(+y.getAttribute("font-size")||.026),g,p),E={content:y.textContent,x:+y.getAttribute("x"),y:+y.getAttribute("y"),fontSize:w,scale:b,fontFamily:f??(y.getAttribute("font-family")||"Roboto"),fill:C??(y.getAttribute("fill")||"black"),anchor:{x:0,y:1}};if(y.hasAttribute("transform")){const k=y.getAttribute("transform"),x=Number.parseFloat((v=k.match(/rotate\((.*)\)/))==null?void 0:v[1]);x&&(E.rotation=x)}return E})}(d,Array.from(s.querySelectorAll("text")),l),d)}).filter(Boolean),o}catch(o){throw new Error(`Impossible to process svg. The format is not compatible with this loader. Error : ${o}`)}}function HM(t,e=1){if(t==null||t==="")return e;{const i=+t;return Number.isNaN(i)?e:i}}function UV(t){let e=t.slice(1);return e.length===3&&(e=e.split("").flatMap(i=>[i,i]).join("")),Number.parseInt(e,16)}const Wf=({canvas:t,autoStart:e=!0,...i}={})=>{if(e&&!(t instanceof HTMLCanvasElement))throw new Error("Canvas must be a HTMLCanvasElement");(function(){if(!globalThis.document){const a=function(){this.getContext=function(){return{fillRect(){}}}};globalThis.document={createElement:()=>new a};class l{}class c extends l{constructor(u,A){super(),this.width=u,this.height=A,this._src="",this.onload=()=>{}}set src(u){var A;this._src=u,(A=this.onload)==null||A.call(this)}get src(){return this._src}}globalThis.HTMLCanvasElement=a,globalThis.HTMLImageElement=l,globalThis.Image=c}})();const r={canvas:t,settings:ZIt(),constants:XIt,utils:{vector2D:DIt,makeTimedListProcessor:eue,makeScheduler:RV,geometry:void 0},styles:yIt(),textureManager:YIt(),ticker:void 0,camera:void 0,ui:void 0,renderer:void 0,picker:void 0,snapper:void 0};r.utils.geometry=function(a){return{geometrize:Aue,binarize:hue,parse:IBt,versions:_V,getBinary:BBt(a)}}(r),r.utils.svg={parsePath:bue,makeModelDataFromSVG:EBt},r.scene=mBt(r);let o=null;function n(){t.style.touchAction="none",r.ticker=CBt(),r.camera=WIt(r),r.ui=wBt(r),r.renderer=KIt(r,i),r.picker=function(a){const l=a.renderer.layers.get("picking");return l?Object.freeze({pick:function(c={}){return a.scene.pickingIds.get(l.pickColorAtCanvasPosition(c))},oncePickingReady:(c,d)=>l.registerOnceDrawn(c,d)}):null}(r),r.snapper=vBt(r),r.camera.on("update",a=>{r.renderer.transform=a}),r.scene.on("model-added",a=>{a.id!==r.constants.DEFAULT_MODEL_ID&&r.scene.models.filter(l=>l.id!==r.constants.DEFAULT_MODEL_ID).length===1&&(r.renderer.offset={dx:-a.center.x,dy:-a.center.y})}),o=r.renderer.on("resize",({dx:a,dy:l})=>r.camera.translate(-a/2,-l/2)),r.ticker.add("render",()=>r.renderer.render(),0),r.ticker.start()}e?n():r.ticker={start:n};let s=!1;return r.destroy=function(){var a,l,c,d,u,A;s||((a=r.renderer)==null||a.off(o),(l=r.renderer)==null||l.destroy(),(c=r.camera)==null||c.destroy(),r.textureManager.destroy(),(u=(d=r.ticker).stop)==null||u.call(d),(A=r.ui)==null||A.destroy(),s=!0)},Object.seal(r)};globalThis.makeViewer=Wf;function xBt(t,e,i=0){const r=document.createElement("div");r.style.display="inline-block",r.style.transform="translate(-50%, -50%)",r.style.position="absolute",r.style.pointerEvents="none",r.style.zIndex=i;const o=document.createElement("span");o.style.display="inline-block",o.style.whiteSpace="nowrap",o.style.backgroundColor="white",o.style.borderRadius="calc(12px * var(--bimdata-local-context-resolution, 1)",o.style.fontSize="calc(14px * var(--bimdata-local-context-resolution, 1)",o.style.padding="0 calc(5px * var(--bimdata-local-context-resolution, 1)",o.style.opacity="0",o.appendChild(document.createTextNode(e));const n=new Proxy(Object.seal({x:0,y:0}),{set(s,a,l,c){const d=Reflect.set(s,a,l,c);return o.style.transform=`translate(${s.x}px, ${s.y}px)`,d}});return r.appendChild(o),t.appendChild(r),{position:n,textEl:o}}const kBt="0.9";function MBt(t){let e=1;return{make(i,r,o=0,n=!0){const{position:s,textEl:a}=xBt(t.texterElement,i,n?0:1);let l=null;return Object.seal({id:e++,position:s,get text(){return a.firstChild.nodeValue},set text(c){l&&(l=null),a.firstChild.nodeValue=c},get rect(){if(!l){const{width:p,height:m}=a.getBoundingClientRect();l={width:p,height:m}}const{width:c,height:d}=l,{x:u,y:A}=this.position,h=c/2,g=d/2;return{left:u-h,right:u+h,top:A-g,bottom:A+g}},get enabled(){return r.visible},get shown(){return a.style.opacity!=="0"},show(){a.style.opacity=kBt},hide(){a.style.opacity="0"},get collides(){return n},collidesWith:n?new Set:void 0,priority:o,destroy(){const c=a.parentElement;if(c.parentElement&&(c.parentElement.removeChild(c),t.texts.delete(r.id),this.collides)){let d=!1;this.collidesWith.forEach(u=>{d=u.collidesWith.delete(this)||d}),d&&t.requestUpdate(!0)}},updatePosition(){const{x:c,y:d}=r.center,{x:u=0,y:A=0}=t.viewer2d.camera.getCanvasPosition({x:c,y:d});this.position.x=u,this.position.y=A},updateVisibility(){this.enabled?this.shown?this.collides&&this.collidesWith.size>0&&Array.from(this.collidesWith.values()).some(c=>c.enabled&&c.shown&&(c.priority>this.priority||c.priority===this.priority&&c.id>this.id))&&this.hide():this.collides&&this.collidesWith.size>0?Array.from(this.collidesWith.values()).every(c=>!c.enabled||c.priority<this.priority||c.priority===this.priority&&c.id<this.id)&&this.show():this.show():this.shown&&this.hide()}})}}}function SBt(t,e){function i(s,a,l){l.slice(a+1).forEach(c=>{QBt(c.rect,s.rect)&&(c.collidesWith.add(s),s.collidesWith.add(c))})}const r=t.utils.makeTimedListProcessor(i),o={viewer2d:t,texterElement:e,texts:new Map,requestUpdate(s=!1){const a=[];this.texts.forEach(l=>{s||l.updatePosition(),l.collides?(l.collidesWith.clear(),a.push(l)):l.updateVisibility()}),a.length>0&&r.start(a,()=>{r.list.forEach(l=>l.updateVisibility())})},addText(s,a,l=0,c=!0){const d=t.scene.objectsMap.get(a);if(!d){console.warn(`Cannot add text to object with id ${a} because it does not exist`);return}const u=n.make(s,d,l,c);return this.texts.set(d.id,u),u.updatePosition(),this.requestUpdate(!0),u},removeText(s){const a=this.texts.get(s);return a?(a.destroy(),!0):!1},clear(){this.texts.forEach(s=>s.destroy())}},n=MBt(o);return t.camera.on("update",()=>o.requestUpdate()),t.scene.on("object-update",({object:s,property:a})=>{if(a==="visible")o.texts.has(s.id)&&o.requestUpdate(!0);else if(a==="shapes"){const l=o.texts.get(s.id);l&&l.enabled&&o.requestUpdate()}}),t.scene.on("object-removed",s=>{const a=o.texts.get(s.id);a&&a.destroy()}),o}function QBt(t,e){return t.bottom>e.top&&t.right>e.left&&t.top<e.bottom&&t.left<e.right}const DBt="space";function PBt(t,e){let i=[];function r(){i.forEach(n=>n.destroy()),i=[]}function o(n){r(),n&&t.$viewer.state.getObjectsByUuids([...n.uuids.keys()]).filter(s=>s?.type===DBt).forEach(s=>{const a=t.$viewer.state.objectsMap.get(s.id);if(a){const l=e.addText(s.longname||s.name,String(a.id),0,!0);l&&i.push(l)}})}return{show:o,clear:r}}function RBt(t,e=!0,{northAt:i=0,lineCount:r=48,lineHeight:o=18,lineWidth:n=2,color:s="gray",angleShown:a=180,compassWidthRatio:l=.2,compassHeightStart:c=66}={}){const d=t.viewer,u=a/r;let A=-d.camera.rotation;const h=P=>t.$t(`viewer2d.compass.${P}`),g=[{get value(){return h("N")},angle:0},{get value(){return h("NE")},angle:315},{get value(){return h("E")},angle:270},{get value(){return h("SE")},angle:225},{get value(){return h("S")},angle:180},{get value(){return h("SW")},angle:135},{get value(){return h("W")},angle:90},{get value(){return h("NW")},angle:45}];function p(P){return g.find(T=>{const U=T.angle+Number.EPSILON*3,H=T.angle-Number.EPSILON*3;return P>=H&&P<=U})}function m(){return+window.getComputedStyle(d.canvas).width.slice(0,-2)}const f=document.createElement("canvas"),C=f.getContext("2d");let y=!1;f.style.pointerEvents="none",f.style.position="absolute",f.style.top=`${c}px`,f.style.left=m()*l,d.canvas.after(f);const v=()=>{const P=m(),T=P*l;f.style.left=`${T}px`,f.width=P-2*T,f.height=o*3,y&&x()};v(),t.$viewer.localContext.hub.on("context-resize",v),d.camera.on("update",()=>{A=-d.camera.rotation});let w=null;function b(){y=!0,w=d.renderer.on("post-draw",x),d.renderer.render(!0)}function E(){y=!1,k(),d.renderer.off(w)}function k(){C.clearRect(0,0,f.width,f.height)}function x(){k(),C.lineWidth=n,C.textAlign="center",C.font="12px sans-serif",C.textBaseline="middle";const{width:P}=C.canvas,T=30,U=P,H=U/r;C.strokeStyle=s,C.beginPath(),C.moveTo(P/2,T-3/2*o),C.lineTo(P/2,T-o*3/4),C.stroke();const _=C.createLinearGradient(0,T,U,T+o);_.addColorStop(0,"transparent"),_.addColorStop(.5,s),_.addColorStop(1,"transparent"),C.strokeStyle=_,C.fillStyle=_,C.beginPath();const V=((A-i)%u+u)%u;let Y=V/u*H;for(let re=0;re<r;re++){Y+=H;let ue=T;const xe=A-i-V-u*(re+1-r/2),pe=p((xe%360+360)%360);pe&&(C.fillText(pe.value,Y,T-1/3*o),ue+=o/2),C.moveTo(Y,ue),C.lineTo(Y,T+o)}C.stroke()}function M(P){var T;const U=P.north_vector;if(((T=U?.[1])==null?void 0:T.length)===2){const[H,_]=U[1];i=d.utils.vector2D.angle({x:H,y:_},{x:0,y:1})/Math.PI*180}else i=0}const D={onIfcChange:M,show:b,hide:E};return e&&b(),D}function LBt(t){const e=t.viewer,i=t.texter;return{make(r,o,n){const s=e.scene.addObject({pickable:!1,zIndex:1,shapes:[{style:{lineWidth:t.lineWidth,lineColor:r.style.lineColor,lineOpacity:.8,nonScalingLineWidth:!0},paths:[{type:"line",points:[o,n,o,n]}]}]}),a=i.addText("0",s.id,10,!1),l=s.getShape().getPath().getPoint(0),c=s.getShape().getPath().getPoint(),d=e.utils.shaper.makeDot({position:{x:o,y:n},style:{lineWidth:t.lineWidth,lineColor:r.style.lineColor}});r.style.fill=r.style.lineColor,r.style.lineColor=2236962;const u=e.scene.on("object-update",({object:h,property:g})=>{if(g==="shapes"&&s.id===h.id){const{x:p,y:m}=s.center,{x:f=0,y:C=0}=e.camera.getCanvasPosition({x:p,y:m});a.position.x=f,a.position.y=C;const y=e.utils.vector2D.distance(l,c);a.text=`${(y*t.standard).toFixed(2)} ${t.unit}`}}),A={get id(){return this.line.id},get length(){return e.utils.vector2D.distance(l,c)*t.standard},line:s,update(){if(this.caps.length===2){const[h,g,p,m]=this.getLineCapsPoints(),f=this.caps[0].getShape().getPath().points;f[0].x=h.x,f[0].y=h.y,f[1].x=g.x,f[1].y=g.y;const C=this.caps[1].getShape().getPath().points;C[0].x=p.x,C[0].y=p.y,C[1].x=m.x,C[1].y=m.y}},startPoint:l,endPoint:c,startDot:r,endDot:d,textObject:a,sealed:!1,caps:[],destroy(){var h,g;e.scene.removeObject(this.line.id),(h=this.startDot)==null||h.destroy(),(g=this.endDot)==null||g.destroy(),this.caps.forEach(p=>e.scene.removeObject(p.id)),e.scene.off(u),t.rulers.delete(this.id)},set visible(h){this.line.visible=h,this.caps.forEach(g=>{g.visible=h})},move(h,g){this.sealed||(this.endDot.move({x:h,y:g}),this.endPoint.x=h,this.endPoint.y=g)},seal(){this.sealed=!0,this.line.getShape().style.lineColor=t.color,this.line.getShape().style.lineOpacity=1,this.startDot.destroy(),this.startDot=null,this.endDot.destroy(),this.endDot=null,this.addLineCaps()},addLineCaps(){const[h,g,p,m]=this.getLineCapsPoints();this.caps.push(e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,nonScalingLineWidth:!0},paths:[{type:"line",points:[h.x,h.y,g.x,g.y]}]}],pickable:!1})),this.caps.push(e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,nonScalingLineWidth:!0},paths:[{type:"line",points:[p.x,p.y,m.x,m.y]}]}],pickable:!1}))},getLineCapsPoints(){const{normalize:h,sub:g,rotateAround:p,add:m}=e.utils.vector2D,f=h(g(this.endPoint,this.startPoint)),C=p(Bue(f,t.lineEndCapLength/2),{x:0,y:0},Math.PI/2),y=p(Bue(f,t.lineEndCapLength/2),{x:0,y:0},-Math.PI/2),v=m(C,this.startPoint),w=m(y,this.startPoint),b=m(C,this.endPoint),E=m(y,this.endPoint);return[v,w,b,E]},colorize(h){this.line.getShape().style.lineColor=h,this.caps.forEach(g=>{g.shapes[0].style.lineColor=h})}};return t.rulers.set(A.id,A),A}}}function Bue(t,e=1){return{x:t.x*e,y:t.y*e}}const TBt=3028810;function FBt(t,e,{unit:i="m",dotArcRadius:r=.05,lineWidth:o=2,lineEndCapLength:n=.1}={}){r*=window.devicePixelRatio,o*=window.devicePixelRatio,n*=window.devicePixelRatio;let s=1,a=1/t.camera.getScale()*100;const l={rulers:new Map,get standard(){return s},set standard(b){s=b,this.rulers.forEach(E=>{E.textObject.text=`${E.length.toFixed(2)} ${this.unit}`})},get lineEndCapLength(){return n*a},get dotArcRadius(){return r*a},get lineWidth(){return o},unit:i,viewer:t,texter:e,startDot:null,enable:m,disable:f,create:C,color:11193548},c=new $0;Object.setPrototypeOf(l,c);const d=LBt(l),u=t.canvas;let A=null;const h=[];let g=null,p=null;t.camera.on("update",()=>{const b=t.camera.getScale(),E=a;a=+(1/b*100).toFixed(6),E!==a&&l.rulers.forEach(k=>k.update())});function m(){u.style.cursor="copy",h.push(t.ui.on("click",v),t.ui.on("mousemove",w))}function f(){u.style.cursor="",h.forEach(b=>t.ui.off(b)),g&&(g.destroy(),g=null),p&&(p.destroy(),p=null)}function C([b,E]){m();const k=y(b.x,b.y),x=d.make(k,b.x,b.y);return x.move(E.x,E.y),x.seal(),f(),x}function y(b,E){return t.utils.shaper.makeDot({position:{x:b,y:E},style:{lineWidth:l.lineWidth,lineColor:TBt},zIndex:2})}function v(b){if(g)u.style.cursor="",t.scene.off(A),t.ticker.addOnce("ruler-nextTick",()=>{g.seal(),c.emit("add",g),g=null});else{u.style.cursor="crosshair";const{x:E,y:k}=(b.ctrlKey||b.metaKey)&&t.snapper.getSnap(b.canvasPosition)||b.position;p||(p=y(E,k)),g=d.make(p,E,k),p=null}}function w(b){const{x:E,y:k}=(b.ctrlKey||b.metaKey)&&t.snapper.getSnap(b.canvasPosition)||b.position;g?g.move(E,k):(p||(p=y(E,k)),p.move({x:E,y:k}))}return l}function _Bt(t){const e=t.viewer,i=t.texter;return{make(r,o,n){const s=e.scene.addObject({pickable:!1,shapes:[{style:{lineWidth:t.lineWidth,lineColor:r.style.lineColor,lineOpacity:.8,nonScalingLineWidth:!0},paths:[{type:"line",points:[o,n,o,n]}]}]});let a=null;const l=s.getShape().getPath().getPoint(0),c=s.getShape().getPath().getPoint(),d=t.makeDot(o,n);r.style.fill=r.style.lineColor,r.style.lineColor=2236962;const u={get id(){return this.line.id},line:s,startPoint:l,get anglePoint(){return this.line.getShape().getPath().getPoint(1)},endPoint:c,startDot:r,angleDot:null,arc:null,endDot:d,textObject:a,sealed:!1,destroy(){var g;e.scene.removeObject(this.line.id),this.startDot.destroy(),this.endDot.destroy(),(g=this.angleDot)==null||g.destroy(),this.arc&&e.scene.removeObject(this.arc.id),e.scene.off(h)},set visible(g){this.line.visible=g,this.arc.visible=g,this.startDot.object.visible=g,this.endDot.object.visible=g,this.angleDot.object.visible=g},move(g,p){if(!this.sealed&&(this.endDot.move({x:g,y:p}),this.endPoint.x=g,this.endPoint.y=p,this.arc)){const{radius:m,startAngle:f,endAngle:C,anticlockwise:y}=this.getArcData(),v=this.arc.getShape().getPath();v.radius=m,v.startAngle=f,v.endAngle=C,v.anticlockwise=y}},addAngleDot(g,p){this.angleDot=this.endDot,this.angleDot.style.fill=this.angleDot.style.lineColor,this.angleDot.style.lineColor=2236962,this.endDot=t.makeDot(g,p),this.endPoint=this.line.getShape().getPath().addPoint({x:g,y:p}),this.arc=A(this.getArcData()),a=i.addText("0",this.line.id,10,!1)},getArcData(){const g=this.line.getShape().getPath().getPoint(1),p=this.angleDot.style.fill,{length:m,sub:f,angle:C,rotateAround:y}=e.utils.vector2D,v=f(this.startPoint,g),w=f(this.endPoint,g),b=m(v),E=m(w),k=Math.min(b/t.arcRadiusRatio,E/t.arcRadiusRatio),x=C(v,{x:-1,y:0}),M=x/Math.PI*180,D=y(w,{x:0,y:0},x).y>0;return{x:g.x,y:g.y,radius:k,startAngle:M,endAngle:D?M-this.angle:M+this.angle,anticlockwise:D,color:p}},seal(){this.sealed=!0,this.line.getShape().style.lineColor=t.color,this.line.getShape().style.lineOpacity=1,this.startDot.style.lineWidth=0,this.startDot.style.fill=t.color,this.angleDot.style.lineWidth=0,this.angleDot.style.fill=t.color,this.endDot.style.lineWidth=0,this.endDot.style.fill=t.color,this.arc.getShape().style.lineColor=t.color},get radAngle(){return Math.abs(e.utils.vector2D.angle(e.utils.vector2D.sub(this.startPoint,this.line.getShape().getPath().getPoint(1)),e.utils.vector2D.sub(this.endPoint,this.line.getShape().getPath().getPoint(1))))},get angle(){return+(this.radAngle/Math.PI*180).toFixed(2)},colorize(g){this.line.getShape().style.lineColor=g,this.startDot.style.fill=g,this.endDot.style.fill=g,this.angleDot&&(this.angleDot.style.fill=g),this.arc&&(this.arc.getShape().style.lineColor=g)}};function A({x:g,y:p,startAngle:m,endAngle:f,radius:C,color:y,anticlockwise:v}){return e.scene.addObject({pickable:!1,shapes:[{style:{lineWidth:t.lineWidth,lineColor:y,fillOpacity:.1,nonScalingLineWidth:!0},paths:[{type:"arc",x:g,y:p,radius:C,startAngle:m,endAngle:f,anticlockwise:v}]}]})}const h=e.scene.on("object-update",({object:g,property:p})=>{if(a&&p==="shapes"&&s.id===g.id){const{x:m,y:f}=s.center,{x:C=0,y=0}=e.camera.getCanvasPosition({x:m,y:f});a.position.x=C,a.position.y=y,a.text=`${u.angle} \xB0`}});return t.angles.set(u.id,u),u}}}const UBt=3028810;function NBt(t,e,{dotArcRadius:i=.05,lineWidth:r=2,arcRadiusRatio:o=3}={}){i*=window.devicePixelRatio,r*=window.devicePixelRatio,o*=window.devicePixelRatio;const n=new Map;let s=1/t.camera.getScale()*100;const a={angles:n,arcRadiusRatio:o,get dotArcRadius(){return i*s},get lineWidth(){return r},viewer:t,texter:e,startDot:null,enable:p,disable:m,create:f,makeDot:C,color:11193548},l=new $0;Object.setPrototypeOf(a,l);const c=_Bt(a),d=t.canvas;let u=null;const A=[];let h=null,g=null;function p(){d.style.cursor="copy",A.push(t.ui.on("click",y),t.ui.on("mousemove",v))}function m(){d.style.cursor="",A.forEach(w=>t.ui.off(w)),h&&(h.destroy(),h=null),g&&(g.destroy(),g=null)}function f([w,b,E]){p();const k=C(w.x,w.y),x=c.make(k,w.x,w.y);return x.move(b.x,b.y),x.addAngleDot(b.x,b.y),x.move(E.x,E.y),x.seal(),m(),x}function C(w,b){return t.utils.shaper.makeDot({position:{x:w,y:b},style:{lineWidth:a.lineWidth,lineColor:UBt},zIndex:2})}function y(w){const{x:b,y:E}=(w.ctrlKey||w.metaKey)&&t.snapper.getSnap(w.canvasPosition)||t.camera.getPosition(w.canvasPosition);h?h.angleDot?(d.style.cursor="",t.scene.off(u),t.ticker.addOnce("angle-nextTick",()=>{h.seal(),l.emit("add",h),h=null})):h.addAngleDot(b,E):(d.style.cursor="crosshair",g||(g=C(b,E)),h=c.make(g,b,E),g=null)}function v(w){const{x:b,y:E}=(w.ctrlKey||w.metaKey)&&t.snapper.getSnap(w.canvasPosition)||w.position;h?h.move(b,E):(g||(g=C(b,E)),g.move({x:b,y:E}))}return a}function OBt(t){const e=t.viewer,i=t.texter;return{make({x:r,y:o}){const n=e.scene.addObject({pickable:!1,shapes:[{style:{lineWidth:t.lineWidth,lineColor:3355443,lineOpacity:1,lineDash:t.lineDash,fill:8925,fillOpacity:.2,nonScalingLineWidth:!0},paths:[{type:"line",points:[r,o,r,o],close:!0}]}]}),s=n.getShape().getPath().getPoint(0);let a=n.getShape().getPath().getPoint(1),l=0;const c={get id(){return n.id},get surface(){return+HBt(n,t.standard).toFixed(2)},closed:!1,textObject:null,close(){n.getShape().getPath().addPoint({x:s.x,y:s.y}),n.getShape().style.fill=t.color,n.getShape().style.lineColor=t.color,this.textObject=i.addText(`${this.surface}m\xB2`,n.id,8,!1),this.closed=!0},step({x:d,y:u},A=!0){const h=e.utils.vector2D.distance({x:d,y:u},s);A&&l>1&&h<=t.snapDistance?this.close():(a=n.getShape().getPath().addPoint({x:d,y:u}),l++)},move({x:d,y:u}){const A=e.utils.vector2D.distance({x:d,y:u},s);l>1&&A<=t.snapDistance?(a.x=s.x,a.y=s.y,n.getShape().style.fill=56678):(a.x=d,a.y=u,n.getShape().style.fill=8925)},update(){n.getShape().style.lineDash=t.lineDash},destroy(){e.scene.removeObject(n.id),t.surfaces.delete(this.id)},set visible(d){n.visible=d},get visible(){return n.visible},get points(){return n.getShape().getPath().points},colorize(d){n.getShape().style.fill=d,n.getShape().style.lineColor=d}};return t.surfaces.set(c.id,c),c}}}function HBt(t,e=1){let i=0;const r=t.getShape().getPath().points;for(let o=0;o<r.length;o++){const n=r[o],s=n.x*e,a=r[o===r.length-1?0:o+1].y*e,l=r[o===r.length-1?0:o+1].x*e,c=n.y*e;i+=s*a*.5,i-=l*c*.5}return Math.abs(i)}const VBt=.1;function GBt(t,e){let i=1,r=1/t.camera.getScale()*100;const o={viewer:t,texter:e,surfaces:new Map,get lineWidth(){return 2*window.devicePixelRatio},get lineDash(){return[.08*window.devicePixelRatio*r]},get snapDistance(){return VBt*r},get standard(){return i},set standard(p){i=p,this.surfaces.forEach(m=>{m.textObject.text=`${m.surface.toFixed(2)}m\xB2`})},enable:d,disable:u,create:A,color:11193548},n=new $0;Object.setPrototypeOf(o,n);const s=OBt(o),a=t.canvas;let l=null;const c=[];t.camera.on("update",()=>{const p=t.camera.getScale(),m=r;r=+(1/p*100).toFixed(6),m!==r&&o.surfaces.forEach(f=>f.update())});function d(){a.style.cursor="copy",c.push(t.ui.on("click",h),t.ui.on("mousemove",g))}function u(){l?.destroy(),l=null,a.style.cursor="",c.forEach(p=>t.ui.off(p))}function A(p){const[m,...f]=p,C=s.make(m);return f.forEach(y=>C.step(y,!1)),C.close(),C}function h(p){const{x:m,y:f}=(p.ctrlKey||p.metaKey)&&t.snapper.getSnap(p.canvasPosition)||t.camera.getPosition(p.canvasPosition);l?(l.step({x:m,y:f}),l.closed&&(a.style.cursor="",n.emit("add",l),l=null)):(l=s.make({x:m,y:f}),a.style.cursor="crosshair")}function g(p){if(l){const{x:m,y:f}=(p.ctrlKey||p.metaKey)&&t.snapper.getSnap(p.canvasPosition)||p.position;l.move({x:m,y:f})}}return o}const jBt=3028810;function zBt(t){const e=t.viewer,i=t.texter;return{makeStartDot(r,o){return xue(t,{x:r,y:o})},makePath(r){const o=[],n=[];function s(g){g.style.fill=g.style.lineColor,g.style.lineColor=2236962,n.push(g);const{x:p,y:m}=g.center,f=e.scene.addObject({pickable:!1,shapes:[{style:{lineWidth:t.lineWidth,lineColor:g.style.lineColor,lineOpacity:.8,nonScalingLineWidth:!0},paths:[{type:"line",points:[p,m,p,m]}]}]});o.push(f);const C=i.addText("0",f.id,10,!1),y=f.getShape().getPath().getPoint(0),v=f.getShape().getPath().getPoint(),w=g.style.lineColor,b=xue(t,{x:p,y:m},{lineColor:w});return{line:f,textObject:C,startPoint:y,endPoint:v,endDot:b}}const{line:a,textObject:l,startPoint:c,endPoint:d,endDot:u}=s(r),A={steps:[{textObject:l,startPoint:c,endPoint:d}],get id(){return this.lines[0].id},currentLine:a,currentStartPoint:c,currentEndPoint:d,currentEndDot:u,currentTextObject:l,sealed:!1,caps:[],lines:o,update(){if(this.caps.length===2){const[g,p,m,f]=this.getCapsPoints(),C=this.caps[0].getShape().getPath().points;C[0].x=g.x,C[0].y=g.y,C[1].x=p.x,C[1].y=p.y;const y=this.caps[1].getShape().getPath().points;y[0].x=m.x,y[0].y=m.y,y[1].x=f.x,y[1].y=f.y}},get length(){return this.lines.reduce((g,p)=>{const[m,f]=p.getShape().getPath().points;return g+e.utils.vector2D.distance(m,f)},0)*t.standard},dots:n,get sceneObjects(){var g;return[...this.lines,...this.dots.map(p=>p.object),...this.caps,(g=this.currentEndDot)==null?void 0:g.object].filter(Boolean)},get points(){const g=[c];return this.lines.forEach(p=>g.push(p.getShape().getPath().points[1])),g.map(({x:p,y:m})=>({x:p,y:m}))},destroy(){[...this.lines,...this.caps].forEach(g=>e.scene.removeObject(g.id)),[...this.dots,this.currentEndDot].filter(Boolean).forEach(g=>g.destroy()),e.scene.off(h),t.paths.delete(this.id)},set visible(g){this.sceneObjects.forEach(p=>{p.visible=g})},step(){const{line:g,textObject:p,startPoint:m,endPoint:f,endDot:C}=s(this.currentEndDot);this.currentLine=g,this.currentTextObject=p,this.currentStartPoint=m,this.currentEndPoint=f,this.currentEndDot=C,this.steps.push({textObject:p,startPoint:m,endPoint:f})},move(g,p){this.sealed||(this.currentEndDot.move({x:g,y:p}),this.currentEndPoint.x=g,this.currentEndPoint.y=p)},seal(){this.lines.forEach(p=>{p.getShape().style.lineColor=t.color,p.getShape().style.lineOpacity=1}),e.scene.removeObject(this.dots.shift().id),this.currentEndDot.destroy(),this.currentEndDot=null;const g=this.dots.pop();g?.destroy(),e.scene.removeObject(this.lines.pop().id),this.dots.forEach(p=>{p.style.lineWidth=0,p.style.fill=t.color}),this.addLineCaps(),this.sealed=!0},addLineCaps(){const[g,p,m,f]=this.getCapsPoints();this.caps.push(e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,nonScalingLineWidth:!0},paths:[{type:"line",points:[g.x,g.y,p.x,p.y]}]}],pickable:!1}),e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,nonScalingLineWidth:!0},paths:[{type:"line",points:[m.x,m.y,f.x,f.y]}]}],pickable:!1}))},getCapsPoints(){const{normalize:g,sub:p}=e.utils.vector2D,[m,f]=this.lines[0].getShape().getPath().points,[C,y]=this.lines[this.lines.length-1].getShape().getPath().points,v=g(p(f,m)),w=g(p(y,C)),b=this.getCapPoints(m,v),E=this.getCapPoints(y,w);return[...b,...E]},getCapPoints(g,p){const{rotateAround:m,add:f}=e.utils.vector2D,C=m(Eue(p,t.lineEndCapLength/2),{x:0,y:0},Math.PI/2),y=m(Eue(p,t.lineEndCapLength/2),{x:0,y:0},-Math.PI/2),v=f(C,g),w=f(y,g);return[v,w]},colorize(g){this.lines.forEach(p=>{p.getShape().style.lineColor=g}),this.caps.forEach(p=>{p.getShape().style.lineColor=g}),this.dots.forEach(p=>{p.style.fill=g})}};t.paths.set(A.id,A);const h=e.scene.on("object-update",({object:g,property:p})=>{if(p==="shapes"&&A.currentLine.id===g.id){const{x:m,y:f}=A.currentLine.center,{x:C=0,y=0}=e.camera.getCanvasPosition({x:m,y:f});A.currentTextObject.position.x=parseInt(C),A.currentTextObject.position.y=parseInt(y);const v=e.utils.vector2D.distance(A.currentStartPoint,A.currentEndPoint);A.currentTextObject.text=`${(v*t.standard).toFixed(2)} ${t.unit}`}});return A}}}function Eue(t,e=1){return{x:t.x*e,y:t.y*e}}function xue(t,e,i={}){const{x:r,y:o}=e,{lineWidth:n=t.lineWidth,lineColor:s=jBt}=i;return t.viewer.utils.shaper.makeDot({position:{x:r,y:o},style:{lineWidth:n,lineColor:s},zIndex:2})}function qBt(t,e,{unit:i="m",lineEndCapLength:r=.1}={}){r*=window.devicePixelRatio;let o=1/t.camera.getScale()*100,n=1;const s={paths:new Map,get standard(){return n},set standard(w){n=w,this.paths.forEach(b=>b.steps.forEach(({textObject:E,startPoint:k,endPoint:x})=>{const M=t.utils.vector2D.distance(k,x);E.text=`${(M*this.standard).toFixed(2)} ${this.unit}`}))},get lineEndCapLength(){return r*o},get lineWidth(){return 2},unit:i,viewer:t,texter:e,startDot:null,enable:g,disable:p,create:f,validate(){return C()},color:11193548},a=new $0;Object.setPrototypeOf(s,a);const l=zBt(s),c=t.canvas;let d=null;const u=[];let A=null,h=null;t.camera.on("update",()=>{const w=t.camera.getScale(),b=o;o=+(1/w*100).toFixed(6),b!==o&&s.paths.forEach(E=>E.update())});function g(){c.style.cursor="copy",u.push(t.ui.on("click",y),t.ui.on("mousemove",v)),document.body.addEventListener("keydown",m)}function p(){c.style.cursor="",u.forEach(w=>t.ui.off(w)),document.body.removeEventListener("keydown",m),A&&(A.destroy(),A=null),h&&(t.scene.removeObject(h.id),h=null)}function m(w){w.key==="Enter"&&C()}function f(w){const[b,...E]=w;g();const k=l.makeStartDot(b.x,b.y),x=l.makePath(k);return E.forEach(({x:M,y:D})=>{x.move(M,D),x.step()}),x.seal(),p(),x}function C(){if(!A||A.lines.length<2)return!1;c.style.cursor="",t.scene.off(d),A.seal();const w=A;return A=null,t.ticker.addOnce("path-nextTick",()=>a.emit("add",w)),!0}function y(w){const{x:b,y:E}=(w.ctrlKey||w.metaKey)&&t.snapper.getSnap(w.canvasPosition)||t.camera.getPosition(w.canvasPosition);A?A.step():(c.style.cursor="crosshair",h||(h=l.makeStartDot(b,E)),A=l.makePath(h),h=null)}function v(w){const{x:b,y:E}=(w.ctrlKey||w.metaKey)&&t.snapper.getSnap(w.canvasPosition)||w.position;A?A.move(b,E):(h||(h=l.makeStartDot(b,E)),h.move({x:b,y:E}))}return s}const KBt={make(t){const e=t.viewer2d,i=e.canvas;let r="circle",o=!1,n=null,s=null,a=null;function l(A){const{offsetX:h,offsetY:g}=A,{x:p,y:m}=e.camera.getPosition({x:h*window.devicePixelRatio,y:g*window.devicePixelRatio});if(o)o=!1,n=null,s=null,a=null,e.ticker.addOnce("gauge-nextTick",()=>{t.mode="move"});else if(i.style.cursor="crosshair",n={x:p,y:m},r==="circle"){const f={type:"arc",x:n.x,y:n.y,radius:0,startAngle:0,endAngle:2*Math.PI};s=e.scene.addObject({shapes:[{style:{lineWidth:6,lineColor:2236962,lineOpacity:.8,fill:t.settings.gaugefill,fillOpacity:.6},paths:[f]}]}),t.gauges.set(s.id,{object:s,type:"circle"}),a=s.getShape().getPath(),o=!0}else{s=e.scene.addObject({shapes:[{style:{lineWidth:6,lineColor:2236962,lineOpacity:.8,fill:t.settings.gaugefill,fillOpacity:.6},paths:[{type:"line",points:[p,m,p,m,p,m,p,m,p,m]}]}]}),t.gauges.set(s.id,{object:s,type:"rectangle"});const f=s.getShape().getPath(),C=f.getPoint(0),y=f.getPoint(1),v=f.getPoint(2),w=f.getPoint(3);a={p1:C,p2:y,p3:v,p4:w},o=!0}}function c(A){if(o)if(r==="circle"){const{offsetX:h,offsetY:g}=A,{x:p,y:m}=e.camera.getPosition({x:h*window.devicePixelRatio,y:g*window.devicePixelRatio});a.radius=e.utils.vector2D.distance(n,{x:p,y:m})}else{const{x:h,y:g}=e.camera.getCanvasPosition(a.p1),{offsetX:p,offsetY:m}=A,f=p,C=g,{x:y,y:v}=e.camera.getPosition({x:f*window.devicePixelRatio,y:C*window.devicePixelRatio});a.p2.x=y,a.p2.y=v;const{x:w,y:b}=e.camera.getPosition({x:p*window.devicePixelRatio,y:m*window.devicePixelRatio});a.p3.x=w,a.p3.y=b;const E=h,k=m,{x,y:M}=e.camera.getPosition({x:E*window.devicePixelRatio,y:k*window.devicePixelRatio});a.p4.x=x,a.p4.y=M}}function d(){i.style.cursor="copy",i.addEventListener("click",l),i.addEventListener("mousemove",c)}function u(){i.style.cursor="",i.removeEventListener("click",l),i.removeEventListener("mousemove",c)}return{start:d,stop:u,name:"add",set mode(A){if(!["circle","rectangle"].includes(A)){const h=`Gauge plugin Add state only accept "circle" and "rectangle" modes. Get "${A}".`;throw console.error(h),new TypeError(h)}r=A}}}},JBt=.01,YBt={make(t){const e=t.viewer2d,i=e.canvas;let r=!1,o=null,n=null,s=[];function a(m){if(o){const{offsetX:f,offsetY:C}=m,{x:y,y:v}=e.camera.getPosition({x:f*window.devicePixelRatio,y:C*window.devicePixelRatio});n={x:y,y:v},r=!0,i.style.cursor="grabbing",o.fill=2267426,document.addEventListener("mousemove",c),document.addEventListener("mouseup",l)}}function l(){r=!1,i.style.cursor="grab",o.fill=2237081,n=null,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",l)}function c(m){const{offsetX:f,offsetY:C}=m,{x:y,y:v}=e.camera.getPosition({x:f*window.devicePixelRatio,y:C*window.devicePixelRatio});d(y,v),n.x=y,n.y=v}function d(m,f){const C=m-n.x,y=f-n.y;o.getShape().paths.forEach(v=>{v.type==="arc"?(v.x+=C,v.y+=y):v.type==="line"&&v.points.forEach(w=>{w.x+=C,w.y+=y})})}function u(m){if(m.shiftKey&&o){const{offsetX:f,offsetY:C}=m,y=e.camera.getPosition({x:f*window.devicePixelRatio,y:C*window.devicePixelRatio}),v=m.deltaY*JBt;A(y,v)}}function A(m,f){o.getShape().paths.forEach(C=>{if(C.type==="arc"){const{x:y,y:v}=e.utils.vector2D.rotateAround(C,m,f);C.x=y,C.y=v}else C.type==="line"&&C.points.forEach(y=>{const{x:v,y:w}=e.utils.vector2D.rotateAround(y,m,f);y.x=v,y.y=w})})}function h(m){if(o){let f=null;m.key==="ArrowRight"?m.shiftKey?f=Math.PI/180*1:f=Math.PI/180*15:m.key==="ArrowLeft"&&(m.shiftKey?f=-(Math.PI/180)*1:f=-(Math.PI/180)*15),f&&A(o.center,f)}}function g(){s=[e.ui.on("mousemove",({object:m})=>{!r&&t.gauges.has(m.id)&&(e.ui.rotatable=!1,e.ui.translatable=!1,i.style.cursor="grab",m.fill=2237081,o=m),t.gauges.has(m.id)&&!o&&(e.ui.rotatable=!1,e.ui.translatable=!1,i.style.cursor="grab",m.fill=2237081,o=m)}),e.ui.on("mouseleave",({object:m})=>{!r&&t.gauges.has(m.id)&&(e.ui.rotatable=!0,e.ui.translatable=!0,i.style.cursor="",m.fill=t.settings.gaugefill,o=null)})],i.addEventListener("mousedown",a),i.addEventListener("wheel",u),document.addEventListener("keydown",h)}function p(){e.ui.rotatable=!0,e.ui.translatable=!0,s.forEach(m=>e.ui.off(m)),i.removeEventListener("mousedown",a),i.removeEventListener("wheel",u),document.removeEventListener("keydown",h),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",l)}return{start:g,stop:p}}},kue=Object.freeze({start(){},stop(){},name:"idle"}),WBt=t=>{const e=new Map;return e.set("add",KBt.make(t)),e.set("move",YBt.make(t)),e.set("idle",kue),{currentState:kue,get name(){return this.currentState.name},set(i){if(!["idle","add","move"].includes(i)){const r=`Gauge plugin mode only accept "idle", "add" and "move". Get "${i}".`;throw console.error(r),new TypeError(r)}this.currentState.stop(),this.currentState=e.get(i),this.currentState.start()}}};function ZBt(t){const e={viewer2d:t,gauges:new Map,settings:{gaugefill:2236962},get mode(){return this.state.name},set mode(r){this.state.set(r)},setCircleMode(){this.mode!=="add"?console.warn('Gauge plugin can only change shape mode if in "add" mode'):this.state.currentState.mode="circle"},setRectangleMode(){this.mode!=="add"?console.warn('Gauge plugin can only change shape mode if in "add" mode'):this.state.currentState.mode="rectangle"}},i=WBt(e);return e.state=i,e}function XBt(t){const{length:e,rotateAround:i,angle:r}=t.viewer.utils.vector2D;let o=null,n=null;function s(g){const p=g.doorData;switch(g.getShape().style.fillOpacity=0,p.door_type){case"SWING":a(g);break;case"REVOLVING":l(g);break;case"FOLDING":console.warn("Viewer 2d doors plugin : FOLDING doors not implemented yet.");break;default:console.warn(`Viewer 2d doors plugin : "${p.door_type}" door type type is not valid. Only supportng "SWING", "REVOLVING" and "FOLDING".`);return}}function a(g){g.doorData.children.forEach(p=>{const{start_point:m,end_point:f,direction:C}=p,y={x:m[0],y:m[1]},v={x:f[0],y:f[1]},w={x:v.x-y.x,y:v.y-y.y},b=r({x:1,y:0},w)/Math.PI*180,E={type:"arc",x:y.x,y:y.y,radius:e(w),composite:!0};let k=null,x=null;switch(C){case"CLOCKWIZE":{E.startAngle=b,E.endAngle=b+90;const M=i(v,y,-Math.PI/2);k={type:"line",points:[y.x,y.y,v.x,v.y]},x={type:"line",points:[M.x,M.y,y.x,y.y]};break}case"ANTI-CLOCKWIZE":{E.startAngle=b,E.endAngle=b-90,E.anticlockwise=!0;const M=i(v,y,Math.PI/2);k={type:"line",points:[y.x,y.y,v.x,v.y]},x={type:"line",points:[M.x,M.y,y.x,y.y]};break}case"BIDIRECTIONAL":{E.startAngle=b-90,E.endAngle=b+90;const M=i(v,y,Math.PI/2),D=i(v,y,-Math.PI/2);k={type:"line",points:[y.x,y.y,M.x,M.y]},x={type:"line",points:[D.x,D.y,y.x,y.y]};break}default:console.warn(`Viewer 2d doors plugin : "${C}" direction type is not valid. Only supportng "CLOCKWISE", "ANTI-CLOCKWIZE" and "BIDIRECTIONAL".`);return}p.shapes=[g.getShape().addPath(k),g.getShape().addPath(E),g.getShape().addPath(x)]})}function l(g){g.doorData.children.forEach(p=>{const{start_point:m,end_point:f}=p,C={x:m[0],y:m[1]},y={x:f[0],y:f[1]},v={x:y.x-C.x,y:y.y-C.y},w={x:C.x+v.x/2,y:C.y+v.y/2},b=i(C,w,-Math.PI/4),E=i(y,w,-Math.PI/4),k={type:"line",points:[b.x,b.y,E.x,E.y]},x=i(C,w,Math.PI/4),M=i(y,w,Math.PI/4),D={type:"line",points:[x.x,x.y,M.x,M.y]},P={type:"arc",x:w.x,y:w.y,radius:e(v)/2};p.shapes=[p.getShape().addPath(k),p.getShape().addPath(P),p.getShape().addPath(D)]})}function c(g){const p=g.doorData;p.children&&p.children.length>0&&p.children.forEach(m=>{m.shapes.forEach(f=>{const C=g.getShape().paths.indexOf(f);g.getShape().removePath(C)}),delete m.shapes})}let d=!1;function u(){A().forEach(s),o=t.$viewer.localContext.hub.on("2d-model-loaded",({model:g})=>A(g.objects).forEach(s)),n=t.$viewer.localContext.hub.on("2d-model-unloaded",({model:g})=>A(g.objects).forEach(c)),d=!0}function A(g=t.$viewer.state.objects){const p=[];return g.forEach(m=>{if(m.doorData){const f=t.viewer.scene.objectsMap.get(String(m.id));f&&p.push(new Proxy(f,{get(C,y,v){return y==="doorData"?m.doorData:Reflect.get(C,y,v)}}))}}),p}function h(){A().forEach(c),t.$viewer.localContext.hub.off(o),t.$viewer.localContext.hub.off(n),d=!1}return{get enabled(){return d},enable:u,disable:h}}function $Bt(t){const e=t.viewer;return{make(i,r,o){const n=e.scene.addObject({pickable:!1,shapes:[{style:{lineWidth:t.lineWidth,lineColor:i.style.lineColor,lineOpacity:.8,nonScalingLineWidth:!0},paths:[{type:"line",points:[r,o,r,o]}]}]}),s=n.getShape().getPath().getPoint(0),a=n.getShape().getPath().getPoint(),l=t.makeDot({x:r,y:o},{lineWidth:t.lineWidth,lineColor:i.style.lineColor});i.style.fill=i.style.lineColor,i.style.lineColor=2236962;const c=e.scene.on("object-update",({object:A,property:h})=>{h==="shapes"&&n.id===A.id&&t.emit("caliper-move")}),d=e.camera.on("update",()=>t.emit("caliper-move")),u={get id(){return this.line.id},line:n,startPoint:s,endPoint:a,startDot:i,endDot:l,sealed:!1,caps:[],triangles:[],get center(){const{x:A,y:h}=this.line.center;return e.camera.getCanvasPosition({x:A,y:h})},get length(){return e.utils.vector2D.distance(this.startPoint,this.endPoint).toFixed(2)},drag(A,h){if(!A){console.warn("[Caliper] Cannot drag without triangle");return}const g=this.triangles.indexOf(A)===0?this.startPoint:this.endPoint,{x:p,y:m}=e.camera.getPosition(h);g.x=p,g.y=m,this.updateLineCaps(),this.updateLineTriangles()},destroy(){var A,h;e.scene.removeObject(this.line.id),(A=this.startDot)==null||A.destroy(),(h=this.endDot)==null||h.destroy(),this.caps.forEach(g=>e.scene.removeObject(g.id)),this.triangles.forEach(g=>e.scene.removeObject(g.id)),e.scene.off(c),e.camera.off(d),t.caliper=null},set visible(A){this.line.visible=A,this.caps.forEach(h=>{h.visible=A})},move(A,h){this.sealed||(this.endDot.move({x:A,y:h}),this.endPoint.x=A,this.endPoint.y=h)},seal(){this.line.getShape().style.lineColor=t.color,this.line.getShape().style.lineOpacity=1,this.startDot.destroy(),this.startDot=null,this.endDot.destroy(),this.endDot=null,this.addLineCaps(),this.addLineTriangles(),this.sealed=!0},getTriangleCoordinates(A){const{normalize:h,sub:g,rotateAround:p,add:m}=e.utils.vector2D,[f,C]=A===0?[this.startPoint,this.endPoint]:[this.endPoint,this.startPoint],y=g(f,C),v=h(y),w=Zv(v,.7),b=Zv(v,.02),E=m(m(p(Zv(w,t.lineEndCapLength),{x:0,y:0},Math.PI/6),f),b),k=m(m(p(Zv(w,t.lineEndCapLength),{x:0,y:0},-Math.PI/6),f),b),x=m(f,b);return[E.x,E.y,k.x,k.y,x.x,x.y]},addLineTriangles(){const A=p=>e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,fill:t.color,nonScalingLineWidth:!0},paths:[{type:"line",close:!0,points:this.getTriangleCoordinates(p)}]}],pickable:!0}),h=A(0),g=A(1);this.triangles.push(h,g)},updateLineTriangles(){if(this.triangles.length===0)return;const[A,h]=this.triangles,[g,p,m,f,C,y]=this.getTriangleCoordinates(0),[v,w,b]=A.getShape().getPath().points;v.x=g,v.y=p,w.x=m,w.y=f,b.x=C,b.y=y;const[E,k,x,M,D,P]=this.getTriangleCoordinates(1),[T,U,H]=h.getShape().getPath().points;T.x=E,T.y=k,U.x=x,U.y=M,H.x=D,H.y=P},getCapPoints(){const{normalize:A,sub:h,rotateAround:g,add:p}=e.utils.vector2D,m=A(h(this.endPoint,this.startPoint)),f=g(Zv(m,t.lineEndCapLength/2),{x:0,y:0},Math.PI/2),C=g(Zv(m,t.lineEndCapLength/2),{x:0,y:0},-Math.PI/2),y=p(f,this.startPoint),v=p(C,this.startPoint),w=p(f,this.endPoint),b=p(C,this.endPoint);return[[y,v],[w,b]]},addLineCaps(){const[[A,h],[g,p]]=this.getCapPoints();this.caps.push(e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,nonScalingLineWidth:!0},paths:[{type:"line",points:[A.x,A.y,h.x,h.y]}]}],pickable:!1})),this.caps.push(e.scene.addObject({shapes:[{style:{lineWidth:t.lineWidth,lineColor:t.color,nonScalingLineWidth:!0},paths:[{type:"line",points:[g.x,g.y,p.x,p.y]}]}],pickable:!1}))},updateLineCaps(){if(this.caps.length===0)return;const[[A,h],[g,p]]=this.getCapPoints(),[m,f]=this.caps,[C,y]=m.getShape().getPath().points;C.x=A.x,C.y=A.y,y.x=h.x,y.y=h.y;const[v,w]=f.getShape().getPath().points;v.x=g.x,v.y=g.y,w.x=p.x,w.y=p.y},colorize(A){this.line.getShape().style.lineColor=A,this.caps.forEach(h=>{h.getShape().style.lineColor=A})}};return t.caliper=u,u}}}function Zv(t,e=1){return{x:t.x*e,y:t.y*e}}function eEt(t){const e=t.viewer;let i=!0,r=!1;const o=e.ui.rotatable;let n=null,s=null,a=null;function l(h){s&&(e.ui.translatable=!1,e.ui.rotatable=!1,u(h),e.canvas.addEventListener("mousemove",u),e.canvas.addEventListener("mouseup",A))}let c=!1;const d={get enabled(){return c},set enabled(h){h?e.canvas.addEventListener("mousedown",l):e.canvas.removeEventListener("mousedown",l),c=!!h},destroy(){e.ui.off(n),e.canvas.removeEventListener("mousedown",l),e.canvas.removeEventListener("mousemove",u),e.canvas.removeEventListener("mouseup",A)}};function u(h){r=!0,a||(a=s),e.canvas.style.cursor="grabbing",t.drag(a,{x:h.offsetX,y:h.offsetY})}function A(){e.ui.translatable=!0,e.ui.rotatable=o,r=!1,a=null,s?e.canvas.style.cursor="grab":e.canvas.style.cursor="",e.canvas.removeEventListener("mousemove",u),e.canvas.removeEventListener("mouseup",A)}return Object.defineProperty(d,"draggable",{get(){return i},set(h){h?n===null&&(n=e.ui.on("mousemove",({object:g})=>{d.enabled!==!1&&(g?(s=g,e.canvas.style.cursor="grab"):(r||(e.canvas.style.cursor=""),s=null))})):n!==null&&(e.ui.off(n),n=null),i=h}}),d.draggable=!0,d}const tEt={props:{initX:{type:Number,default:0},initY:{type:Number,default:0}},data(){return{displayed:!0,x:0,y:0,value:1,units:["m","in"],unit:"m"}},computed:{erroneousValue(){return Number.isNaN(+this.value)||this.value<=0},horizontalOffset(){return this.x<250/2?250/2-this.x+6:this.x>this.$viewer.localContext.width-250/2?this.$viewer.localContext.width-this.x-250/2-6:0},verticalOffset(){return this.y<0?-this.y+6:this.y>this.$viewer.localContext.height?this.$viewer.localContext.height-this.y-6:0},isModalOnTop(){return this.verticalOffset<=0&&this.y-170>0},isDiamondVisible(){return this.horizontalOffset===0&&this.verticalOffset===0},style(){const t=this.isDiamondVisible?14:0;return`top: ${this.y+(this.isModalOnTop?-(160+t):t)+this.verticalOffset}px; left: ${this.x-125+this.horizontalOffset}px;`}},created(){this.x=this.initX,this.y=this.initY},methods:{move(t,e){this.x=t,this.y=e}}},iEt={class:"bimdata-caliper__modal__content"},rEt={class:"bimdata-caliper__modal__content__header"},oEt={class:"bimdata-caliper__modal__content__header__left"},nEt={class:"bimdata-caliper__modal__content__inputs"};function sEt(t,e,i,r,o,n){const s=R("BIMDataIconCaliper"),a=R("BIMDataIconClose"),l=R("BIMDataButton"),c=R("BIMDataInput"),d=R("BIMDataSelect");return Ft((Q(),N("div",{class:"bimdata-caliper__modal",style:Be(n.style)},[B("div",iEt,[B("div",rEt,[B("div",oEt,[L(s,{size:"s",fill:"",color:"primary",margin:"0 var(--spacing-unit) 0 0"}),B("span",null,ee(t.$t("measure2d.calibrate")),1)]),L(l,{width:"25px",height:"25px",ghost:"",radius:"",icon:"",onClick:t.close},{default:z(()=>[L(a,{size:"xs",fill:"",color:"granite-light"})]),_:1},8,["onClick"])]),B("div",nEt,[L(c,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=u=>o.value=u),placeholder:t.$t("global.value"),error:n.erroneousValue,"error-message":t.$t("measure2d.modal_error")},null,8,["modelValue","placeholder","error","error-message"]),L(d,{modelValue:o.unit,"onUpdate:modelValue":e[1]||(e[1]=u=>o.unit=u),options:o.units,width:"calc(50% - var(--spacing-unit) / 2)",label:t.$t("global.unit")},null,8,["modelValue","options","label"])]),L(l,{class:"bimdata-caliper__modal__content__button",color:"primary",fill:"",radius:"",width:"100%",disabled:n.erroneousValue,onClick:e[2]||(e[2]=u=>t.validate(o.value,o.unit))},{default:z(()=>[gt(ee(t.$t("global.save")),1)]),_:1},8,["disabled"])]),n.isDiamondVisible?(Q(),N("div",{key:0,class:be(["bimdata-caliper__modal__diamond",{"bimdata-caliper__modal__diamond--top":!n.isModalOnTop}])},null,2)):fe("",!0)],4)),[[vi,o.displayed]])}const aEt=K(tEt,[["render",sEt],["__scopeId","data-v-9e1b4e0e"]]),lEt=3028810;function cEt(t,{unit:e="m",lineEndCapLength:i=.1}={}){i*=window.devicePixelRatio;const r=t.viewer;let o=null;const n={caliper:null,lineEndCapLength:i,lineWidth:2,unit:e,viewer:r,makeDot(P,T={}){const{x:U,y:H}=P,{lineWidth:_=this.lineWidth,lineColor:V=lEt}=T;return r.utils.shaper.makeDot({position:{x:U,y:H},style:{lineWidth:_,lineColor:V},zIndex:2})},startDot:null,enable:m,disable:C,drag:y,color:11193548};Object.setPrototypeOf(n,new $0);let s=null,a=null;const l=Object.assign({},aEt);l.mixins=[{created(){o=this},unmounted(){o=null},methods:{close(){a?.()},validate(P,T){T==="in"&&(P*=.0254),s?.(P/n.caliper.length)}}}];const c=$Bt(n);n.ui=eEt(n);const d=r.canvas;let u=null,A=null,h=[],g=null,p=null;function m(P,T){n.ui.enabled=!0,d.style.cursor="copy",s=P,a=T,h.push(r.ui.on("click",M),r.ui.on("mousemove",D))}function f(){d.style.cursor="",h.forEach(P=>r.ui.off(P)),h=[],r.camera.off(A),g&&(g.destroy(),g=null),p&&(p.destroy(),p=null)}function C(){var P;n.ui.enabled=!1,f(),(P=n.caliper)==null||P.destroy(),t.$viewer.localContext.modals.clearModal()}function y(P,T){const U=n.caliper;U?U.drag(P,T):console.warn("[Caliper] No corresponding caliper to drag")}function v({x:P,y:T}){t.$viewer.localContext.modals.pushModal(l,{initX:P,initY:T},{display:"free"})}function w(P){f(),v(P.center),n.on("caliper-move",()=>b(P))}function b(P){x(),E(P.center)}function E({x:P,y:T}){o?.move(P,T)}let k;function x(){o&&(o.displayed=!1,k!==void 0&&clearTimeout(k),k=setTimeout(()=>{o.displayed=!0,k=void 0},300))}function M(P){if(g)d.style.cursor="",r.scene.off(u),r.ticker.addOnce("caliper-nextTick",()=>{g.seal();const T=g;g=null,w(T)});else{d.style.cursor="crosshair";const{x:T,y:U}=(P.ctrlKey||P.metaKey)&&r.snapper.getSnap(P.canvasPosition)||r.camera.getPosition(P.canvasPosition);p||(p=n.makeDot({x:T,y:U})),g=c.make(p,T,U),p=null}}function D(P){const{x:T,y:U}=(P.ctrlKey||P.metaKey)&&r.snapper.getSnap(P.canvasPosition)||P.position;g?g.move(T,U):(p||(p=n.makeDot({x:T,y:U})),p.move({x:T,y:U}))}return n}const s1=(t,e=!0)=>e?dEt(t):uEt(t),dEt=t=>(e,i)=>e[t]-i[t],uEt=t=>(e,i)=>i[t]-e[t],AEt="data:image/svg+xml,%3csvg%20width='40'%20height='41'%20viewBox='0%200%2040%2041'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_d)'%3e%3cmask%20id='path-1-inside-1'%20fill='white'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M31.9182%208.17286L29.5915%2016.589L27.7174%2014.7149L14.5876%2027.8448L16.4608%2029.718L8.04462%2032.0447L10.3713%2023.6285L12.2437%2025.501L25.3736%2012.3711L23.502%2010.4995L31.9182%208.17286Z'/%3e%3c/mask%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M31.9182%208.17286L29.5915%2016.589L27.7174%2014.7149L14.5876%2027.8448L16.4608%2029.718L8.04462%2032.0447L10.3713%2023.6285L12.2437%2025.501L25.3736%2012.3711L23.502%2010.4995L31.9182%208.17286Z'%20fill='%232F374A'/%3e%3cpath%20d='M29.5915%2016.589L29.0258%2017.1547L29.9967%2018.1256L30.3626%2016.8022L29.5915%2016.589ZM31.9182%208.17286L32.6892%208.38602L33.0653%207.02572L31.705%207.40178L31.9182%208.17286ZM27.7174%2014.7149L28.2831%2014.1493L27.7174%2013.5836L27.1517%2014.1493L27.7174%2014.7149ZM14.5876%2027.8448L14.0219%2027.2791L13.4562%2027.8448L14.0219%2028.4105L14.5876%2027.8448ZM16.4608%2029.718L16.6739%2030.4891L17.9974%2030.1232L17.0265%2029.1523L16.4608%2029.718ZM8.04462%2032.0447L7.27355%2031.8315L6.89749%2033.1918L8.25779%2032.8158L8.04462%2032.0447ZM10.3713%2023.6285L10.937%2023.0628L9.96608%2022.0919L9.60021%2023.4154L10.3713%2023.6285ZM12.2437%2025.501L11.678%2026.0666L12.2437%2026.6323L12.8094%2026.0666L12.2437%2025.501ZM25.3736%2012.3711L25.9393%2012.9368L26.505%2012.3711L25.9393%2011.8054L25.3736%2012.3711ZM23.502%2010.4995L23.2888%209.72845L21.9654%2010.0943L22.9363%2011.0652L23.502%2010.4995ZM30.3626%2016.8022L32.6892%208.38602L31.1471%207.95969L28.8204%2016.3758L30.3626%2016.8022ZM27.1517%2015.2806L29.0258%2017.1547L30.1572%2016.0233L28.2831%2014.1493L27.1517%2015.2806ZM15.1533%2028.4105L28.2831%2015.2806L27.1517%2014.1493L14.0219%2027.2791L15.1533%2028.4105ZM14.0219%2028.4105L15.8951%2030.2837L17.0265%2029.1523L15.1533%2027.2791L14.0219%2028.4105ZM16.2476%2028.9469L7.83146%2031.2736L8.25779%2032.8158L16.6739%2030.4891L16.2476%2028.9469ZM8.8157%2032.2578L11.1424%2023.8417L9.60021%2023.4154L7.27355%2031.8315L8.8157%2032.2578ZM9.80561%2024.1942L11.678%2026.0666L12.8094%2024.9353L10.937%2023.0628L9.80561%2024.1942ZM24.8079%2011.8054L11.678%2024.9353L12.8094%2026.0666L25.9393%2012.9368L24.8079%2011.8054ZM22.9363%2011.0652L24.8079%2012.9368L25.9393%2011.8054L24.0677%209.93384L22.9363%2011.0652ZM31.705%207.40178L23.2888%209.72845L23.7152%2011.2706L32.1313%208.94393L31.705%207.40178Z'%20fill='white'%20mask='url(%23path-1-inside-1)'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d'%20x='1'%20y='2.12726'%20width='37.963'%20height='37.963'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='1'/%3e%3cfeGaussianBlur%20stdDeviation='2'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.25%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e",hEt="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_d)'%3e%3cmask%20id='path-1-inside-1'%20fill='white'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.7823%2014.7607C14.3729%2014.7614%2017.8383%2015.0096%2020.7452%2016.7085C22.1777%2017.5456%2023.4571%2018.7244%2024.3315%2020.3962C25.2051%2022.0666%2025.7188%2024.3138%2025.4858%2027.3596L22.9622%2027.1794L26.157%2033.7414L30.2513%2027.7L28.0206%2027.5407C28.2808%2024.1129%2027.7132%2021.3788%2026.5833%2019.2185C25.4508%2017.0532%2023.7977%2015.5491%2022.0274%2014.5145C18.5481%2012.4811%2014.5519%2012.2218%2012.7997%2012.2196L12.8148%2010.0191L6.47215%2013.6299L12.7648%2017.3266L12.7823%2014.7607Z'/%3e%3c/mask%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.7823%2014.7607C14.3729%2014.7614%2017.8383%2015.0096%2020.7452%2016.7085C22.1777%2017.5456%2023.4571%2018.7244%2024.3315%2020.3962C25.2051%2022.0666%2025.7188%2024.3138%2025.4858%2027.3596L22.9622%2027.1794L26.157%2033.7414L30.2513%2027.7L28.0206%2027.5407C28.2808%2024.1129%2027.7132%2021.3788%2026.5833%2019.2185C25.4508%2017.0532%2023.7977%2015.5491%2022.0274%2014.5145C18.5481%2012.4811%2014.5519%2012.2218%2012.7997%2012.2196L12.8148%2010.0191L6.47215%2013.6299L12.7648%2017.3266L12.7823%2014.7607Z'%20fill='%232F374A'/%3e%3cpath%20d='M12.7823%2014.7607L12.7826%2014.1607L12.1864%2014.1605L12.1824%2014.7566L12.7823%2014.7607ZM20.7452%2016.7085L21.048%2016.1905L21.048%2016.1905L20.7452%2016.7085ZM24.3315%2020.3962L23.7998%2020.6743L24.3315%2020.3962ZM25.4858%2027.3596L25.4431%2027.9581L26.0386%2028.0006L26.0841%2027.4054L25.4858%2027.3596ZM22.9622%2027.1794L23.005%2026.5809L21.9675%2026.5069L22.4228%2027.4421L22.9622%2027.1794ZM26.157%2033.7414L25.6175%2034.0041L26.0717%2034.9369L26.6537%2034.0781L26.157%2033.7414ZM30.2513%2027.7L30.748%2028.0366L31.3315%2027.1756L30.2941%2027.1015L30.2513%2027.7ZM28.0206%2027.5407L27.4223%2027.4952L27.3767%2028.0962L27.9779%2028.1391L28.0206%2027.5407ZM26.5833%2019.2185L26.0516%2019.4965L26.0516%2019.4965L26.5833%2019.2185ZM22.0274%2014.5145L21.7247%2015.0325L21.7247%2015.0325L22.0274%2014.5145ZM12.7997%2012.2196L12.1997%2012.2155L12.1956%2012.8188L12.7989%2012.8196L12.7997%2012.2196ZM12.8148%2010.0191L13.4147%2010.0232L13.4219%208.98306L12.5179%209.49767L12.8148%2010.0191ZM6.47215%2013.6299L6.1753%2013.1085L5.27371%2013.6217L6.16823%2014.1472L6.47215%2013.6299ZM12.7648%2017.3266L12.4609%2017.8439L13.3577%2018.3707L13.3648%2017.3307L12.7648%2017.3266ZM12.7821%2015.3607C14.3369%2015.3614%2017.6734%2015.6082%2020.4425%2017.2265L21.048%2016.1905C18.0032%2014.411%2014.409%2014.1614%2012.7826%2014.1607L12.7821%2015.3607ZM20.4425%2017.2265C21.7951%2018.017%2022.9863%2019.1189%2023.7998%2020.6743L24.8632%2020.1181C23.9278%2018.3299%2022.5603%2017.0743%2021.048%2016.1905L20.4425%2017.2265ZM23.7998%2020.6743C24.6127%2022.2284%2025.1136%2024.3597%2024.8876%2027.3139L26.0841%2027.4054C26.3241%2024.2679%2025.7976%2021.9048%2024.8632%2020.1181L23.7998%2020.6743ZM25.5286%2026.7612L23.005%2026.5809L22.9195%2027.7779L25.4431%2027.9581L25.5286%2026.7612ZM22.4228%2027.4421L25.6175%2034.0041L26.6965%2033.4788L23.5017%2026.9168L22.4228%2027.4421ZM26.6537%2034.0781L30.748%2028.0366L29.7546%2027.3634L25.6603%2033.4048L26.6537%2034.0781ZM30.2941%2027.1015L28.0633%2026.9422L27.9779%2028.1391L30.2086%2028.2984L30.2941%2027.1015ZM28.6189%2027.5861C28.8861%2024.0669%2028.3057%2021.217%2027.1149%2018.9404L26.0516%2019.4965C27.1208%2021.5407%2027.6756%2024.159%2027.4223%2027.4952L28.6189%2027.5861ZM27.1149%2018.9404C25.9215%2016.6585%2024.1802%2015.0777%2022.3302%2013.9965L21.7247%2015.0325C23.4153%2016.0205%2024.9801%2017.4478%2026.0516%2019.4965L27.1149%2018.9404ZM22.3302%2013.9965C18.7134%2011.8828%2014.5888%2011.6219%2012.8005%2011.6196L12.7989%2012.8196C14.515%2012.8218%2018.3828%2013.0795%2021.7247%2015.0325L22.3302%2013.9965ZM12.2148%2010.015L12.1997%2012.2155L13.3997%2012.2237L13.4147%2010.0232L12.2148%2010.015ZM6.76899%2014.1513L13.1116%2010.5405L12.5179%209.49767L6.1753%2013.1085L6.76899%2014.1513ZM13.0687%2016.8092L6.77606%2013.1126L6.16823%2014.1472L12.4609%2017.8439L13.0687%2016.8092ZM12.1824%2014.7566L12.1648%2017.3225L13.3648%2017.3307L13.3823%2014.7648L12.1824%2014.7566Z'%20fill='white'%20mask='url(%23path-1-inside-1)'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d'%20x='2.25879'%20y='3'%20width='35.7414'%20height='35.7414'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='1'/%3e%3cfeGaussianBlur%20stdDeviation='2'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.25%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e",yd=40;function pEt(){const t=new Image(yd,yd);t.src=AEt;const e=new Image(yd,yd);e.src=hEt;const i=document.createElement("canvas");i.width=yd,i.height=yd;const r=i.getContext("2d");function o(){return`url("${i.toDataURL()}") ${yd/2} ${yd/2}, move`}return{get resize(){return this.draw(t),o()},get rotate(){return this.draw(e),o()},draw(n){r.clearRect(0,0,yd,yd),this.angle&&(r.translate(yd/2,yd/2),r.rotate(this.angle/180*Math.PI),r.translate(-40/2,-40/2)),r.drawImage(n,0,0),r.resetTransform()},angle:0}}function Mue(t){const e=t.canvas,i=t.ui.rotatable,r=pEt();let o=!1;const n=[];let s=new Map,a=null;const l={add:c,clear:d,start:p,stop:m,rotate:f,grabbing:!1};function c(C,y=()=>{},{grabbingCursor:v,grabCursor:w,angle:b=0,predicate:E=()=>!0}={}){const k={effect:y,get grabbingCursor(){if(v in r){r.angle+=b;const x=r[v];return r.angle-=b,x}else return"grabbing"},get grabCursor(){if(w in r){r.angle+=b;const x=r[w];return r.angle-=b,x}else return"grab"},id:C,predicate:E};return s.set(C,k),k}function d(){s.clear(),a=null}function u(){t.ui.rotatable=i,t.ui.translatable=!0,e.style.cursor="",a=null}let A=null;function h(C){const{object:y,mouseDownCanvasPosition:v}=C;if(a&&v&&a.predicate(C)){const{mouseDownPosition:b,position:E}=C,k=A||b;A=E,a.effect(k,E,C),l.grabbing=!0,e.style.cursor=a.grabbingCursor;return}else l.grabbing=!1;const w=s.get(y?.id);w?(!a||y!==C.previousObject)&&(w.predicate(C)?(t.ui.translatable=!1,t.ui.rotatable=!1,a=w,e.style.cursor=a.grabCursor):u()):!v&&a&&u()}const g=C=>{a&&!a.predicate(C)&&u()};window.addEventListener("keydown",g);function p(){o||(o=!0,n.push(t.ui.on("mousedown",C=>{a!=null&&a.predicate(C)&&(e.style.cursor=a.grabbingCursor)}),t.ui.on("mouseup",C=>{var y;const v=s.get((y=C.object)==null?void 0:y.id);a=v!=null&&v.predicate(C)?v:null,e.style.cursor=a?.grabCursor??"",A=null}),t.ui.on("mousemove",h)))}function m(){o=!1,u(),n.forEach(C=>t.ui.off(C))}function f(C){r.angle=C-t.camera.rotation}return l}const Sue=2*window.devicePixelRatio,Que=1614075,Da=8*window.devicePixelRatio,Due=16*window.devicePixelRatio,VM=.01,GM=.01;function gEt(t){const{rotateAround:e,dot:i,normalize:r,angle:o,sub:n}=t.utils.vector2D;function s(d){const u=1/t.camera.getScale(),A=d.x,h=d.y;let{width:g,height:p}=d.imageBitmap;g*=VM,p*=VM;const m={x:A,y:h},f={x:A+g,y:h},C={x:A+g,y:h+p},y={x:A,y:h+p},v=[m,f,C,y].map(_=>{const V=Object.assign({},_);return V.x-=g/2*d.scale,V.y-=p/2*d.scale,V}),w=v.flatMap(_=>[_.x,_.y]),b=t.scene.addObject({pickingZIndex:1,zIndex:0,shapes:[{style:{lineWidth:Sue,lineColor:Que,lineOpacity:.8,nonScalingLineWidth:!0,fill:0,fillOpacity:0},paths:[{type:"line",points:w,close:!0}]}]}),E=l(v,u),k=a(v,u),x=[b,...k,...E],M=Mue(t);let D=!0;const P={draw(){const _=1/t.camera.getScale();this.updateRectanglePath(d.scale),this.updateCorners(_),this.updateRotateCorners(_),this.rotate(Number(d.angle))},rotate(_){const V={x:Number(d.x),y:Number(d.y)};this.points.forEach(Y=>{const re=e(Y,V,-(_/180*Math.PI));Y.x=re.x,Y.y=re.y}),M.rotate(_)},get points(){return[...b.getShape().getPath(0).points,...k.flatMap(_=>_.getShape().getPath(0).points),...E.flatMap(_=>_.getShape().getPath(0).points)]},get center(){const _=b.getShape().getPath(0).points,V=_[0],Y=_[2];return{x:(Y.x+V.x)/2,y:(Y.y+V.y)/2}},updateRectanglePath(_){const[V,Y,re,ue]=b.getShape().getPath(0).points,xe=Number(d.x),pe=Number(d.y);let{width:Ee,height:de}=d.imageBitmap;Ee*=VM,de*=VM,V.x=xe-Ee/2*_,V.y=pe-de/2*_,Y.x=xe+Ee/2*_,Y.y=pe-de/2*_,re.x=xe+Ee/2*_,re.y=pe+de/2*_,ue.x=xe-Ee/2*_,ue.y=pe+de/2*_},updateCorners(_){const V=b.getShape().getPath(0).points;k.forEach((Y,re)=>{const[ue,xe,pe,Ee]=Y.getShape().getPath(0).points,{x:de,y:De}=V[re];ue.x=de-Da/2*_,ue.y=De-Da/2*_,xe.x=de+Da/2*_,xe.y=De-Da/2*_,pe.x=de+Da/2*_,pe.y=De+Da/2*_,Ee.x=de-Da/2*_,Ee.y=De+Da/2*_})},updateRotateCorners(_){const V=b.getShape().getPath(0).points,Y=c(V,_);E.forEach((re,ue)=>{const xe=Y[ue];re.getShape().getPath(0).points.forEach((pe,Ee)=>{pe.x=xe[Ee*2],pe.y=xe[Ee*2+1]})})},destroy(){x.forEach(_=>t.scene.removeObject(_.id)),M.stop()},show(){!d.visible||D||(D=!0,M.start(),x.forEach(_=>{_.visible=!0}))},hide(){D&&(D=!1,x.forEach(_=>{_.visible=!1}),M.stop())},get visible(){return D&&d.visible}};function T(_,V){const Y=V.x-_.x,re=V.y-_.y;d.x+=Y,d.y+=re}M.add(b.id,T,{predicate:_=>!_.shiftKey});const U=(_,V)=>(Y,re,ue)=>{const xe={x:d.x,y:d.y},pe=n(xe,re),Ee=d.scale*g,de=d.scale*p,De=d.angle/180*Math.PI,Ie=Math.sqrt(Math.pow(Ee/2,2)+Math.pow(de/2,2)),Z={x:xe.x+Ie,y:xe.y},ae=[];for(let Te=0;Te<4;Te++)ae.push(e(Z,xe,fEt(Te,g,p)-De));const le=ae[V],he=n(xe,le);if(ue.altKey){const Te=i(pe,r(he))/Ie;d.scale*Te>=GM?d.scale*=Te:d.scale=GM}else{let Te=null;const ke=Math.atan2(he.y,he.x),X=e(pe,{x:0,y:0},ke),j=Math.atan2(X.y,X.x);j<=0?Te=V%2===0?Ee/2:de/2:Te=V%2===0?de/2:Ee/2;const Ae=j<=0?((V-1)%4+4)%4:(V+1)%4,me=n(ae[Ae],ae[V]),ve={x:ae[V].x-me.x/2,y:ae[V].y-me.y/2},J=n(xe,ve);let W=(i(pe,r(J))/Te+1)/2;const ne=d.scale*W;if(ne<GM){const $=GM/ne;W*=$}const q=W-1,G={x:he.x*q,y:he.y*q};d.scale*=W,d.x+=G.x,d.y+=G.y}},H=(_,V)=>(Y,re)=>{const ue=P.center,xe=r({x:re.x-ue.x,y:re.y-ue.y});let pe=o({x:1,y:0},xe);const Ee=V<2?1:-1,de=(V%2===0?1:-1)*Math.atan(g/p)+Ee*Math.PI/2;pe=(pe+de)*180/Math.PI;const De=(pe%360+360)%360;d.angle=De};return k.forEach((_,V)=>M.add(_.id,U(_,V),{grabbingCursor:"resize",grabCursor:"resize",angle:90*(V-1)})),E.forEach((_,V)=>M.add(_.id,H(_,V),{grabbingCursor:"rotate",grabCursor:"rotate",angle:90*(V-1)})),M.start(),P}function a(d,u=1){return d.map(A=>{const{x:h,y:g}=A,p=[h-Da/2,g-Da/2,h+Da/2,g-Da/2,h+Da/2,g+Da/2,h-Da/2,g+Da/2].map(m=>m*u);return t.scene.addObject({zIndex:1,pickingZIndex:2,shapes:[{style:{lineWidth:Sue,lineColor:Que,lineOpacity:.8,fill:16777215,nonScalingLineWidth:!0},paths:[{type:"line",points:p,close:!0}]}]})})}function l(d,u=1){return c(d,u).map(A=>t.scene.addObject({shapes:[{zIndex:0,pickingZIndex:1,style:{lineWidth:0,fillOpacity:0},paths:[{type:"line",points:A,close:!0}]}]}))}function c(d,u=1){return d.map((A,h)=>{const{x:g,y:p}=A;let m=[];for(let f=0;f<8;f+=2){const C=f/2%3===0?h%3===0:h%3!==0,y=f/2>1?h>1:h<=1,v=Due*C*u,w=Due*y*u;m[f]=h%3===0?g-v:g+v,m[f+1]=h>1?p+w:p-w}return m})}return s}function fEt(t,e,i){const r=t<2?1:-1;return(t%2===0?1:-1)*Math.atan(e/2/(i/2))+r*Math.PI/2}const jM=.01;function mEt(t,e,i={}){const{x:r=0,y:o=0,scale:n=1,angle:s=0,opacity:a=1,imageBitmap:l}=i,{width:c,height:d}=l,{dx:u,dy:A}=t.renderer.offset,h=t.renderer.transform;e.save(),e.transform(h.a,h.b,h.c,h.d,h.tx,h.ty),e.translate(Number(r+u),Number(o+A)),e.scale(n*jM,n*jM),e.rotate(Number(s)/180*Math.PI),e.globalAlpha=a,e.drawImage(l,-c/2,-d/2),e.restore()}async function vEt(t){const e=await(await fetch(t)).blob();return await CEt(e)}function CEt(t){return new Promise((e,i)=>{const r=new FileReader;r.onload=()=>e(r.result),r.onerror=o=>i(o),r.onabort=o=>i(o),r.readAsDataURL(t)})}async function yEt(t,e=new Image){return new Promise((i,r)=>{e.onload=()=>i(e),e.onerror=o=>{console.error("[BITMAP PLUGIN] Impossible to load the image",o),r(o)},e.src=t})}const Pue=["x","y","angle","scale","opacity"];function wEt(t,e,i){const r=gEt(e);let o=1;async function n(s,a){const l=o++,{x:c,y:d}=e.camera.position,u=(e.camera.rotation%360+360)%360,A=a.translation_x??c,h=a.translation_y??d,g=a.rotate_z??u,p=a.scale??1,m=a.opacity??1,f=a.plan;if(f?.type==="PDF"&&!f.map_file){const{readPDFToDataURL:P}=await Promise.resolve().then(()=>uYi);f.map_file=await P(s.file,f.page_number)}const C=f?.map_file??s.file,y=await vEt(C),v=await yEt(y),w=await window.createImageBitmap(v);let b=!0,E=null,k={},x=null,M=null;const D={get id(){return l},x:A,y:h,scale:p,angle:g,opacity:m,get plan(){return x},set plan(P){x=P,P&&t.set(P.key,M)},get name(){return s?.name??a?.plan.name??"Bitmap"},get document(){return s},get dataUrl(){return y},get imageBitmap(){return w},get visible(){return b},get drawOrder(){var P;return((P=x?.storey)==null?void 0:P.plans.indexOf(x))??0},show(){b=!0,this.onUpdate()},hide(){b=!1,this.onUpdate()},draw(){var P;mEt(e,i,this),(P=this.overlay)==null||P.draw()},edited:!1,get overlay(){return E},edit(P){return E&&(E.destroy(),E=null),P?(E=r(this),E):null},reset(){Object.assign(this,k),k={},this.edited=!1,this.onUpdate()},onUpdate(){e.ticker.addOnce("bitmap-render",()=>e.renderer.render(!0))},destroy(){var P;this.imageBitmap.close(),(P=this.overlay)==null||P.destroy()}};return M=new Proxy(D,{set(P,T,U,H){return Pue.includes(T)&&(P.edited||Pue.forEach(_=>k[_]=P[_]),P.edited=!0,P.onUpdate()),Reflect.set(P,T,U,H)}}),a&&(D.plan=a),M}return n}function Rue(t){const e=ko([]),i=t.hub.on("plans-loading",({plans:o=[]})=>{e.value=o},{getLastEvent:!0}),r=o=>{t.hub.emit("plans-loading",{plans:o})};return fo(()=>t.hub.off(i)),{loadingPlans:e,setPlansLoading:r}}function bEt(t){const e=t.viewer,{localContext:i}=t.$viewer,r=Ea([]),o=new Map,n=new Map,{setPlansLoading:s,loadingPlans:a}=Rue(i),l=x=>o.get(x.key),c=document.createElement("canvas"),d=c.getContext("2d");c.style.position="absolute",c.style.width="100%",c.style.height="100%",e.canvas.parentElement.insertBefore(c,e.canvas);const u=()=>{c.width=e.canvas.width,c.height=e.canvas.height,b()};u();const A=new ResizeObserver(u);A.observe(e.canvas);const h=()=>{e.ticker.addOnce("bitmap-render",()=>e.renderer.render(!0))},g=wEt(o,e,d),p=async x=>{var M;if(o.has(x.key))o.get(x.key).show();else if(n.has(x.key))(await n.get(x.key)).show();else{s([...a.value,x]);const D=g(x.plan.document,x);n.set(x.key,D);const P=await D;n.delete(x.key),((M=i.selectedStorey)==null?void 0:M.key)!==x.storey.key&&P.hide(),s(a.value.filter(T=>T.key!==x.key)),r.push(P),h()}},m=async x=>{let M=l(x);!M&&n.has(x.key)&&(M=await n.get(x.key)),M?.hide()},f=async(x,M)=>{const D=await g(x,M);return r.push(D),h(),D},C=x=>{const M=l(x);M&&y(M)},y=x=>{const M=r.findIndex(D=>D.id===x.id);M!==-1&&r.splice(M,1),x.destroy(),h()},v=x=>t.$viewer.localContext.shownPlans.some(M=>M.key===x.key),w=x=>(r.forEach(M=>M.hide()),Promise.all(x.filter(v).map(p)));function b(){d.clearRect(0,0,c.width,c.height),r.filter(x=>x.visible).sort(s1("drawOrder",!1)).forEach(x=>x.draw())}const E=e.renderer.on("pre-draw",b),k=()=>{r.forEach(x=>x.destroy()),r.splice(0,r.length),n.clear(),o.clear()};return{get bitmaps(){return r},showPlans:w,showPlan:p,hidePlan:m,deletePlan:C,createBitmap:f,deleteBitmap:y,getBitmap:l,clear:k,destroy:()=>{k(),e.renderer.off(E),A.disconnect()}}}function NV(t,e){const i=BEt(t);e.forEach(r=>{const o=t.scene.objectsMap.get(String(r.id));o&&i.forEach(n=>n.compare(o,r))}),i.forEach(r=>r.synchronize())}const IEt=Object.freeze([{property:"visible",methodNameForTrue:"showObjects",methodNameForFalse:"hideObjects"},{property:"highlighted",methodNameForTrue:"highlightObjects",methodNameForFalse:"unhighlightObjects"},{property:"selected",methodNameForTrue:"selectObjects",methodNameForFalse:"deselectObjects"}]);function BEt(t){return IEt.map(({property:e,methodNameForTrue:i,methodNameForFalse:r})=>({toTrue:new Set,toFalse:new Set,synchronize(){this.toTrue.size>0&&t.scene[i](Array.from(this.toTrue.values()).map(o=>o.id)),this.toFalse.size>0&&t.scene[r](Array.from(this.toFalse.values()).map(o=>o.id),!1)},compare(o,n){o[e]!==n[e]&&(o[e]?this.toFalse.add(o):this.toTrue.add(o))}}))}function EEt(t){const{localContext:e}=t.$viewer,i=t.viewer,r=e.hub.on("storey-selected",({storey:o})=>{if(!o)return;const n=e.loadedModels.flatMap(s=>s.objects.map(a=>String(a.id)));i.scene.hideObjects(n),NV(i,o.objects)});return{destroy(){e.hub.off(r)}}}function xEt(t,e={x:0,y:0},i=.04*window.devicePixelRatio,r={},o=1){let{lineWidth:n=1*window.devicePixelRatio,lineColor:s=16711680,lineOpacity:a=1}=r;const l=i/2*t.zoomFactor,{p1:c,p2:d,p3:u,p4:A}=Lue(t,e,l),h=t.viewer.scene.addObject({pickable:!1,zIndex:o,shapes:[{style:{lineWidth:n,lineColor:s,lineOpacity:a,nonScalingLineWidth:!0},paths:[{type:"line",points:[c.x,c.y,u.x,u.y],start:!0},{type:"line",points:[d.x,d.y,A.x,A.y],start:!0}]}]});return{get shaper(){return t},get id(){return h.id},get size(){return i},get center(){return h.center},get object(){return h},destroy(){return t.crosses.delete(this.id),t.viewer.scene.removeObject(this.id)},move(g){return h.move(g)},translate(g,p){return h.translate(g,p)},update(g){const p=i/2*g,{p1:m,p2:f,p3:C,p4:y}=Lue(t,this.center,p),v=h.getShape().getPath(0),w=v.getPoint(0);w.x=m.x,w.y=m.y;const b=v.getPoint(1);b.x=C.x,b.y=C.y;const E=h.getShape().getPath(1),k=E.getPoint(0);k.x=f.x,k.y=f.y;const x=E.getPoint(1);x.x=y.x,x.y=y.y}}}function Lue(t,e,i){const r=t.viewer,{rotateAround:o,add:n}=r.utils.vector2D,s=-(r.camera.rotation/180)*Math.PI,a=n(e,{x:i,y:i}),l=o(a,e,s),c=o(l,e,-Math.PI/2),d=o(l,e,-Math.PI),u=o(l,e,Math.PI/2);return{p1:l,p2:c,p3:d,p4:u}}function kEt(t,e={},i=.05*window.devicePixelRatio,r={},o=1,n=0,s=!1){const{x:a=0,y:l=0}=e;let{lineWidth:c=2*window.devicePixelRatio,lineColor:d=0,fill:u=16777215,lineOpacity:A=1}=r;const h=t.viewer.scene.addObject({pickable:s,pickingMargin:n,zIndex:o,shapes:[{style:{lineWidth:c,lineColor:d,fill:u,lineOpacity:A,nonScalingLineWidth:!0},paths:[{type:"arc",x:a,y:l,radius:i*t.zoomFactor,close:!0}]}]});return{get shaper(){return t},get id(){return h.id},get object(){return h},get radius(){return i},set radius(g){i=g,h.getShape().getPath().radius=g*t.zoomFactor},move(g){return h.move(g)},translate(g,p){return h.translate(g,p)},get center(){return h.center},style:{get lineWidth(){return c},set lineWidth(g){c=g,h.getShape().style.lineWidth=g},get lineColor(){return d},set lineColor(g){d=g,h.getShape().style.lineColor=g},get fill(){return u},set fill(g){u=g,h.getShape().style.fill=g},get lineOpacity(){return A},set lineOpacity(g){A=g,h.getShape().style.lineOpacity=g}},destroy(){t.dots.delete(this.id),t.viewer.scene.removeObject(this.id)}}}function MEt(t){let e=1/t.camera.getScale()*100;const i=new Map,r=new Map;t.camera.on("update",()=>{const n=t.camera.getScale(),s=e;e=+(1/n*100).toFixed(6),r.forEach(a=>a.update(e)),s!==e&&i.forEach(a=>{a.object.getShape().getPath().radius=a.radius*e})});const o={get dots(){return i},get crosses(){return r},get viewer(){return t},get zoomFactor(){return e}};o.makeDot=({position:n,radius:s,style:a,zIndex:l,pickingMargin:c,pickable:d})=>{const u=kEt(o,n,s,a,l,c,d);return i.set(u.id,u),u},o.makeCross=({position:n,size:s,style:a,zIndex:l})=>{const c=xEt(o,n,s,a,l);return r.set(c.id,c),c},t.utils.shaper=o}const OV=3094346,Tue=3376829;function zM(t,e,i){const r=5*window.devicePixelRatio,o=.04*window.devicePixelRatio,n={lineWidth:1.5*window.devicePixelRatio,lineColor:OV};let s=[];const a=t.utils.shaper.makeDot({position:i,radius:o,style:n,zIndex:3,pickingMargin:r,pickable:!0});function l(A){a.style.fill=A.selected?A.active?Tue:OV:16777215,a.style.lineWidth=(A.selected?1.8:1.5)*window.devicePixelRatio,a.style.lineColor=A.selected?16777215:A.active?Tue:OV,a.radius=(A.selected?.05:.04)*window.devicePixelRatio}let c=null,d=!1,u=!1;return{get id(){return a.id},get object(){return a.object},get point(){return e},get center(){return a.center},get crossed(){return!!c},get selected(){return d},set selected(A){d=A,l(this)},get active(){return u},set active(A){u=A,l(this)},set crossed(A){A?c===null&&(c=t.utils.shaper.makeCross({position:a.center,zIndex:4})):c!==null&&(c.destroy(),c=null)},destroy(){this.clear(),a.destroy()},translate(A,h){e.x+=A,e.y+=h,a.translate(A,h),c?.translate(A,h),s.forEach(g=>{g.x+=A,g.y+=h})},move(A){e.x=A.x,e.y=A.y,a.move(A),c?.move(A),s.forEach(h=>{h.x=A.x,h.y=A.y})},get linkedPoints(){return s},linkPoint(A){s.includes(A)||s.push(A)},unlinkPoint(A){s.includes(A)&&(s=s.filter(h=>h!==A))},clear(){s=[],c?.destroy(),c=null}}}function Fue(t,e){return Object.assign(e,{removePoint(i){const r=this.dots.find(n=>n.point===i);r&&(r.destroy(),this.dots=this.dots.filter(n=>n!==r));const o=this.object.getShape().getPath().points.indexOf(i);o!==-1&&this.object.getShape().getPath().removePoint(o)},removeDots(){this.dots.forEach(i=>i.destroy()),this.dots=[]},addDots(){const i=this.object.getShape().getPath().points;this.dots.length!==i.length&&(this.removeDots(),i.forEach(r=>this.dots.push(zM(t,r,{x:r.x,y:r.y}))))}}),Object.defineProperty(e,"points",{enumerable:!0,get(){return this.object.getShape().getPath().points.map(i=>({x:i.x,y:i.y}))}}),e}function HV(t,e){const{viewer:i}=t,r=[],o=i.scene.addObject({zIndex:1,shapes:[{paths:[{type:"line",points:[e.x,e.y]}],style:{nonScalingLineWidth:!0,lineWidth:1*window.devicePixelRatio,lineColor:t.primaryColor,fill:t.primaryColor,fillOpacity:0}}]}),n=o.getShape().getPath().getPoint(0);r.push(zM(i,n,e));let s=!1;const a=[];return Fue(i,{object:o,get points(){return o.shapes[0].paths[0].points},closed:!1,show(){o.visible=!0,r.forEach(l=>l.object.visible=!0)},hide(){o.visible=!1,r.forEach(l=>l.object.visible=!1)},get sealed(){return s},set fillOpacity(l){o.getShape().style.fillOpacity=l},get closable(){return this.dots.length>2},dots:r,close(){o.getShape().getPath().close=!0,this.closed=!0},open(){s||(o.getShape().getPath().close=!1,this.closed=!1)},colorize(l){o.getShape().style.lineColor=l,o.getShape().style.fill=l},step(l=null){if(this.dots.length>2&&this.closed)return this.fillOpacity=.2,this.dots.pop().destroy(),o.getShape().getPath().removePoint(),s=!0,t.onPathClose();if(l){const c=o.getShape().getPath().addPoint(l,-1);this.dots.splice(-1,0,zM(i,c,l))}else a.length=0,l=o.getShape().getPath().getPoint(),this.dots.push(zM(i,o.getShape().getPath().addPoint(l),l))},move(l){var c;(c=this.dots[this.dots.length-1])==null||c.move(l)},undo(){if(this.dots.length<=1)return;const l=this.dots.splice(-2,1)[0],{x:c,y:d}=l.point;a.push({x:c,y:d}),this.removePoint(l.point),l.destroy()},redo(){if(a.length===0)return;const{x:l,y:c}=a.pop();this.step({x:l,y:c})},destroy(){this.dots.forEach(l=>l.destroy()),i.scene.removeObject(o.id),this.dots.length=0,t.path=null}})}function _ue(t,e,i){const{viewer:r}=t,{distance:o,normalize:n,add:s}=r.utils.vector2D,a=e.map(l=>n(l));return function(l,c,d){d.forEach(u=>{const A=r.camera.getCanvasPosition(u.center),h=a.map(g=>{let p=null;if(!t.constraint)p=t.getProjectedPoint(l,g,A);else{const m={p1:A,p2:s(g,A)};if(t.constraint.line){const f=t.intersect(m,t.constraint.line);if(f)p=f;else{const C=t.getProjectedPoint(l,g,A);C&&t.isPointOnLine(C,t.constraint.line)&&(p=C)}}else t.constraint.point&&t.isPointOnLine(t.constraint.point,m)&&(p=t.constraint.point)}return p?{projection:p,distance:o(p,l),line:{p1:A,p2:s(g,A)}}:null}).filter(Boolean);if(h.length>0){const g=h.reduce((p,m)=>m.distance<p.distance?m:p);g?.distance<=i&&(t.constraint?t.constraint.line&&(t.areLinesCollinear(t.constraint.line,g.line)||(t.constraint={point:g.projection})):t.constraint={line:g.line},l.x=g.projection.x,l.y=g.projection.y,t.dotsToLink.set(t.getGuideKey(u,c),[u,c]))}})}}function SEt(t){const{penPlugin:e,viewer:i}=t,{distance:r}=i.utils.vector2D;return function(o){var n,s;const a=e.path;if(a.closable){const l=i.camera.getCanvasPosition(a.dots[0].center);let c=!0;(n=t.constraint)!=null&&n.line?t.isPointOnLine(l,t.constraint.line)||(c=!1):(s=t.constraint)!=null&&s.point&&(l.x!==t.constraint.point.x||l.y!==t.constraint.point.y)&&(c=!1);const d=r(o,l);c&&d<=e.snapDistance?(i.canvas.style.cursor="crosshair",o.x=l.x,o.y=l.y,a.close(),a.fillOpacity=.1,t.dotsToCross.add(a.dots[a.dots.length-1])):(i.canvas.style.cursor="copy",a.open(),a.fillOpacity=0)}}}function QEt(t){return function(){var e;const{guides:i,dotsToCross:r,dotsToLink:o,penPlugin:n,viewer:s}=t,a=(e=n.path)==null?void 0:e.dots,l=new Set;if(a?.length>0){const c=new Set([...r,...[...o.values()].flat()]);a.forEach(u=>{u.crossed=c.has(u)}),o.forEach(([u,A])=>{const h=t.getGuideKey(u,A),g=t.getGuideKey(A,u);if(!(t.guides.has(h)||t.guides.has(g))){const{x:p,y:m}=u.center,{x:f,y:C}=A.center,y=s.scene.addObject({zIndex:2,shapes:[{paths:[{type:"line",points:[p,m,f,C]}],style:{nonScalingLineWidth:!0,lineWidth:1*window.devicePixelRatio,lineColor:16711680}}]}),v=y.getShape().getPath().getPoint(0),w=y.getShape().getPath().getPoint(1);u.linkPoint(v),A.linkPoint(w),i.set(t.getGuideKey(u,A),{clear(){u.unlinkPoint(v),A.unlinkPoint(w),s.scene.removeObject(y.id)}})}l.add(h),l.add(g)});const d=new Set;[...i.entries()].forEach(([u,A])=>{l.has(u)||(A.clear(),d.add(u))}),d.forEach(u=>i.delete(u))}}}function DEt(t){const{dot:e,sub:i,add:r,normalise:o}=t.utils.vector2D;return(n,s,a={x:0,y:0},l=!0)=>{const c=e(i(a,n),l?s:o(s));return c<0?null:r(a,{x:s.x*c,y:s.y*c})}}function PEt(t,e){const{p1:i,p2:r}=t,{p1:o,p2:n}=e,{x:s,y:a}=i,{x:l,y:c}=r,{x:d,y:u}=o,{x:A,y:h}=n;if(s===l&&a===c||d===A&&u===h)return null;const g=(h-u)*(l-s)-(A-d)*(c-a);if(g===0)return null;const p=((A-d)*(a-u)-(h-u)*(s-d))/g,m=s+p*(l-s),f=a+p*(c-a);return{x:m,y:f}}function REt(t){const{cross:e,sub:i}=t.utils.vector2D;return(r,o,n=1e-4)=>{const{p1:s,p2:a}=o;return Math.abs(e(i(s,r),i(s,a)))<=n}}const Uue=[{x:1,y:0},{x:-1,y:0},{x:0,y:1},{x:0,y:-1}],Nue=Array.from(Uue);Nue.push({x:1,y:1},{x:1,y:-1},{x:-1,y:1},{x:-1,y:-1});function LEt(t){const e=t.viewer,i=new Map,r=DEt(e),o=REt(e),n={get penPlugin(){return t},get viewer(){return e},get guides(){return i},constraint:null,dotsToCross:new Set,dotsToLink:new Map,getProjectedPoint:r,isPointOnLine:o,intersect:PEt,areLinesCollinear(d,u){return this.intersect(d,u)?!1:this.isPointOnLine(d.p1,u)},clear(){var d;(d=t.path)==null||d.dots.forEach(u=>u.clear()),i.forEach(u=>u.clear()),i.clear()},getGuideKey(d,u){return`${d.id}-${u.id}`}},s=_ue(n,Uue,t.snapDistance),a=_ue(n,Nue,1/0),l=SEt(n),c=QEt(n);return n.getConstrainedCanvasPosition=(d,u)=>{n.constraint=null,n.dotsToCross.clear(),n.dotsToLink.clear();const A=d.canvasPosition,h=t.path;if(h?.dots.length>1)if(h.sealed)s(A,u,h.dots.filter(g=>!g.selected&&g!==u));else{const[g,...p]=Array.from(h.dots).reverse();d.shiftKey&&a(A,g,[p[0]]),l(A),s(A,g,p)}return c(),A},n}function cp(t){return t.charAt(0).toUpperCase().concat(t.slice(1))}function TEt(t,e,i="."){return t.length>e?`${t.substring(0,e)}${i}`:t}function Oue(t){const e={};for(const i in t){let r=i.replace(/(_\w)/g,o=>o[1].toUpperCase());e[r]=t[i]}return e}function Hue(t,e,{lineWidth:i=1*window.devicePixelRatio,lineOpacity:r=.5,lineColor:o=255,fillOpacity:n=.1,fill:s=255}={}){const{sub:a,distance:l,angle:c}=t.utils.vector2D,d=t.scene.addObject({shapes:[{paths:[{type:"line",points:[e.x,e.y,e.x,e.y,e.x,e.y,e.x,e.y],close:!0}],style:{lineWidth:i,lineOpacity:r,lineColor:o,fillOpacity:n,fill:s,nonScalingLineWidth:!0}}]}),u=d.getShape().getPath().points;let A=null;const h={viewer:t,points:u,dots:[],sealed:!1,closed:!1,object:d,p1:u[0],p2:u[1],p3:u[2],p4:u[3],destroy(){t.scene.removeObject(d.id)},show(){d.visible=!0,this.dots.forEach(p=>p.object.visible=!0)},hide(){d.visible=!1,this.dots.forEach(p=>p.object.visible=!1)},close(){const p=this.object.getShape();p.style.fillOpacity=.2,p.style.lineOpacity=1,this.sealed=!0,this.closed=!0},move(p){A=null;const m=t.camera.getPosition(p);this.p3.x=m.x,this.p3.y=m.y;const{x:f,y:C,width:y,height:v}=g(!1),w={x:f+y,y:C},b={x:f,y:C+v},E=t.camera.getPosition(w),k=t.camera.getPosition(b);this.p2.x=E.x,this.p2.y=E.y,this.p4.x=k.x,this.p4.y=k.y},contains(p){A||(A=g());const m=t.camera.getCanvasPosition(p);return!(m.x>A.x+A.width||m.x<A.x||m.y>A.y+A.height||m.y<A.y)},colorize(p){const m=d.getShape();m.style.lineColor=p,m.style.fill=p}};function g(p=!0){const m=t.camera.getCanvasPosition(h.p1),f=t.camera.getCanvasPosition(h.p3);let{x:C,y}=m;const v=l(m,f),w=c({x:1,y:0},a(m,f));let b=Math.cos(w)*v,E=Math.sin(w)*v;return p&&(b<0&&(C=C+b,b=-b),E<0&&(y=y+E,E=-E)),{x:C,y,width:b,height:E}}return Fue(t,h)}function FEt(t){const{viewer:e,guideManager:i}=t,r=[],o={onClick(a){t.path?(i.clear(),t.path.step()):t.path=HV(t,e.camera.getPosition(a.canvasPosition))},onMouseMove(a){t.path||(t.path=HV(t,e.camera.getPosition(a.canvasPosition)));const l=i.getConstrainedCanvasPosition(a);t.path.move(e.camera.getPosition(l))}},n={onClick(a){t.path?(t.path.close(),t.onPathClose()):t.path=Hue(e,e.camera.getPosition(a.canvasPosition),{lineWidth:1*window.devicePixelRatio,lineColor:t.primaryColor,fill:t.primaryColor,fillOpacity:.1})},onMouseMove(a){var l;(l=t.path)==null||l.move(a.canvasPosition)}},s=a=>{var l,c;(a.ctrlKey||a.metaKey)&&(a.key==="z"&&(a.preventDefault(),i.clear(),(l=t.path)==null||l.undo()),a.key==="y"&&(a.preventDefault(),i.clear(),(c=t.path)==null||c.redo()))};return{get name(){return"draw"},start(){document.addEventListener("keydown",s),e.canvas.style.cursor="copy";const a=t.drawMode==="rectangle"?n:o,{onClick:l,onMouseMove:c}=a;r.push(e.ui.on("click",l),e.ui.on("mousemove",c))},stop(){var a;document.removeEventListener("keydown",s),e.canvas.style.cursor="",r.forEach(l=>e.ui.off(l)),((a=t.path)==null?void 0:a.closed)===!1&&(t.path.destroy(),t.path=null)}}}function _Et(t){const e=t.viewer,{sub:i}=e.utils.vector2D,r=[],o=Mue(e);function n(u){const A=u.object;if(A){const h=t.path.dots.find(g=>g.object.id===A.id);if(h){if(h.selected)return;u.shiftKey||t.path.dots.forEach(g=>{g.selected=!1}),h.selected=!0}}else u.shiftKey||t.path.dots.forEach(h=>{h.selected=!1})}let s=null;function a(){d(),t.guideManager.clear()}function l(u){if(o.grabbing)return;const A=t.path.dots.find(p=>{var m;return p.object.id===((m=u.object)==null?void 0:m.id)});if(t.path.dots.filter(p=>p!==A).forEach(p=>{p.active=!1}),A?.active===!1){A.active=!0;return}const{canvasPosition:h,mouseDownCanvasPosition:g}=u;if(!g||u.button!==0)d();else{if(!s){const p=e.camera.getPosition(g);s=Hue(e,p)}s.move(h),t.path.dots.forEach(p=>{p.selected=s.contains(p.center)})}}const c=u=>(A,h,g)=>{u.selected||(u.selected=!0),d();const p=e.camera.getPosition(t.guideManager.getConstrainedCanvasPosition(g,u)),m=u.center,f=i(m,p);u.translate(f.x,f.y),t.path.dots.forEach(C=>{C!==u&&C.selected&&C.translate(f.x,f.y)})};function d(){s&&(s.destroy(),s=null)}return{get name(){return"edit"},start(){if(!t.path)return!1;t.path.addDots(),t.path.dots.forEach(u=>{o.add(u.id,c(u),{predicate:({object:A})=>!s&&(o.grabbing||A?.id===u.id)})}),o.start(),r.push(e.ui.on("mousedown",n),e.ui.on("mouseup",a),e.ui.on("mousemove",l))},stop(){var u;t.guideManager.clear(),(u=t.path)==null||u.removeDots(),r.forEach(A=>e.ui.off(A)),o.clear(),o.stop()}}}function UEt(t){let e=null;Object.defineProperty(t,"mode",{get(){return e},set(i){e?.stop(),e=i,e?.start()===!1&&(this.mode=null)}}),[FEt(t),_Et(t)].forEach(i=>{const r=`${i.name}ing`;Object.defineProperties(t,{[`start${cp(r)}`]:{value:function(){this.mode=i}},[`stop${cp(r)}`]:{value:function(){this[r]&&(this.mode=null)}},[r]:{get(){return this.mode===i}}})})}const Vue=3028810,NEt=8;let VV=Vue;function OEt(t){const{viewer:e}=t,i={get viewer(){return e},path:null,get primaryColor(){return VV},set primaryColor(r){r==null?VV=Vue:VV=r},get snapDistance(){return NEt},destroy(){var r;(r=this.path)==null||r.destroy()},draw(r){if(!Array.isArray(r)||!r.every(s=>Number.isFinite(s.x)&&Number.isFinite(s.y))||r.length<3)throw new TypeError("Invalid path");const o=r[0],n=HV(this,o);this.path=n;for(const s of r)n.step(s);return n.close(),n.step(o),n},onPathClose(){i.emit("add",{path:this.path}),this.guideManager.clear(),this.path.removeDots(),this.path=null}};return Object.setPrototypeOf(i,new $0),i.guideManager=LEt(i),UEt(i),i}function Xv(t,e={}){const i=t.viewer,r={};return MEt(i),e.pen!==!1&&(r.pen=OEt(t)),e.texter!==!1&&(r.texter=SBt(i,t.$refs.texter)),e.spaceNames!==!1&&(r.spaceNames=PBt(t,r.texter)),e.compass!==!1&&(r.compass=RBt(t,t.compassDisplayed)),e.ruler!==!1&&(r.ruler=FBt(i,r.texter)),e.angle!==!1&&(r.angle=NBt(i,r.texter)),e.surface!==!1&&(r.surface=GBt(i,r.texter)),e.path!==!1&&(r.path=qBt(i,r.texter)),e.gauge===!0&&(r.gauge=ZBt(i)),e.doors!==!1&&(r.doors=XBt(t)),e.caliper===!0&&(r.caliper=cEt(t)),e.bitmaps!==!1&&(r.bitmaps=bEt(t)),e.storeys!==!1&&(r.storeys=EEt(t)),r}function GV(t){const{viewer:e}=t;let i=1;async function r(o,n){if(n===void 0)throw new TypeError("An ifc id must be provided to load an SVG");const s=await HEt(o),a=VEt(e,s);return a.id=n.toString(),a.objects.forEach(l=>{var c;const d=l.shapes[0];if(d){const A={fillOpacity:0,fill:0};l.type==="IfcWallStandardCase"&&(A.lineWidth=.02),l.type==="IfcSpace"&&(A.lineWidth=.05,A.lineColor=255,A.lineOpacity=.3,A.fill=255,A.fillOpacity=.05),A.lineCap="round",A.lineJoin="round",d.style=A}const u=(c=t.$viewer.state.modelsMap.get(n))==null?void 0:c.uuids.get(l.uuid);u&&l.doorData&&(u.doorData=l.doorData),l.id=u?String(u.id):`unknown-object-${i++}`}),await e.scene.addModel(a)}return r}async function HEt(t){const e=await(await fetch(t)).text();return new DOMParser().parseFromString(e,"image/svg+xml")}function VEt(t,e,{zIndexFixed:i=3,precision:r=.01,lineLengthToSimplify:o=1e3,limitToClosePath:n=.01}={}){try{const s=JSON.parse(e.firstChild.getAttribute("offset"))??[0,0];return{objects:Array.from(e.firstChild.getElementsByTagName("g")).map(a=>{const l={uuid:a.getAttribute("id"),pickingZIndex:-a.getAttribute("area"),zIndex:Number(a.getAttribute("elevation-top")).toFixed(i),type:a.getAttribute("ifc-type")};try{const c=JSON.parse(a.getAttribute("ifc-door-data"));c&&(c.children.forEach(d=>{d.start_point=d.start_point.map((u,A)=>A%2===0?u+s[0]:u+s[1]),d.end_point=d.end_point.map((u,A)=>A%2===0?u+s[0]:u+s[1])}),l.doorData=c)}catch{console.warn(`[SVG Parser ] - unable to parse doors data for object with uuid: ${l.uuid}. Ignoring it.`)}try{const c=t.utils.svg.parsePath(a.firstElementChild.getAttribute("d"));if(c.length===0)return console.warn(`[SVG Parser ] - Ignore object with uuid: ${l.uuid} because it has no paths.`),null;const d=c.map(u=>{if(Array.isArray(u)||u.type==="line"){const A=u.type==="line"?u.points:u,h=A?.map((p,m,f)=>m%2===0?f[m]+s[0]:f[m]+s[1]),g={...u,points:h};return A?.length>2&&Math.abs(A?.[0]-A?.[A.length-2])<n&&Math.abs(A?.[1]-A?.[A.length-1])<n&&(g.close=!0),g}else throw new Error(`[SVG Parser] Paths other that line are not supported. unsupported path: ${u.type}`)});l.shapes=[{paths:d.map(u=>u.type==="line"?{...u,points:GEt(t,u.points,r,o)}:u)}]}catch(c){throw new Error(`[SVG Parser] Impossible to parse object with id ${l.uuid} due to : ${c.message}`)}return l}).filter(Boolean)}}catch(s){throw new Error(`Impossible to process svg. The format is not compatible with this loader. Error : ${s}`)}}function GEt(t,e,i,r){if(e.length<=r)return e;const o=[];o.push(e[0],e[1]);for(let n=2;n<e.length;n+=2){const s=o[o.length-2],a=o[o.length-1],l=e[n],c=e[n+1],d={x:s,y:a},u={x:l,y:c};t.utils.vector2D.distance(d,u)>=i&&o.push(l,c)}return o.length<=2&&o.push(e[2],e[3]),console.debug(`Line simplified. ${(e.length-o.length)/2} points removed.`),o}function $v(t=Promise.resolve()){let e=[],i=!1;async function r(){const o=e.shift();if(o){try{i=!0;const n=o();n&&typeof n.then=="function"&&await n}catch(n){console.error(n)}finally{i=!1}r()}}return{push(o){var n;e.push(o),i||(i=!0,(n=t?.then)==null||n.call(t,r))},clear(){e=[]}}}const jEt={},zEt={width:"100",height:"100",viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function qEt(t,e){return Q(),N("svg",zEt,e[0]||(e[0]=[sl('<path opacity="0.7" d="M75 6.69873C67.3993 2.3105 58.7775 0.000189209 50.001 5.45478e-06C41.2246 -0.000178299 32.6026 2.30977 25.0018 6.69769L50 50L75 6.69873Z" fill="#F8C62C"></path><g filter="url(#filter0_d_7728_28)"><circle cx="49.9448" cy="50.0499" r="5.32772" transform="rotate(-60 49.9448 50.0499)" fill="#F8C62C"></circle><circle cx="49.9448" cy="50.0499" r="5.82772" transform="rotate(-60 49.9448 50.0499)" stroke="white"></circle></g><defs><filter id="filter0_d_7728_28" x="33.6162" y="35.7212" width="32.6572" height="32.6575" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="2"></feOffset><feGaussianBlur stdDeviation="5"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7728_28"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_7728_28" result="shape"></feBlend></filter></defs>',3)]))}const Gue=K(jEt,[["render",qEt]]),KEt={},JEt={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function YEt(t,e){return Q(),N("svg",JEt,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M17.4375 2.25V17.4375H2.25L17.4375 2.25Z",fill:"#394055"},null,-1),B("path",{d:"M14.5429 1.0625L1.0625 14.5429L1.0625 1.0625L14.5429 1.0625Z",stroke:"#394055"},null,-1)]))}const WEt=K(KEt,[["render",YEt]]),ZEt={name:"StoreySelector",props:{storeys:{type:Array,default:()=>[]},selectedStoreyKey:{type:String,default:null}},computed:{displayedStoreys(){return Array.from(this.storeys).reverse()}}},XEt={class:"storey-selector"},$Et={class:"storey-selector__close"},ext={class:"storey-selector__list"},txt=["onClick"],ixt={class:"storey-selector__list__icon"},rxt={key:1,class:"storey-selector__list__icon__circle"};function oxt(t,e,i,r,o,n){const s=R("BIMDataIconClose"),a=R("BIMDataButton"),l=R("BIMDataIconLocation");return Q(),N("div",XEt,[B("div",$Et,[L(a,{ghost:"",rounded:"",icon:"",onClick:e[0]||(e[0]=c=>t.$emit("close"))},{default:z(()=>[L(s,{size:"xxs",color:"silver"})]),_:1})]),B("div",ext,[B("ul",null,[(Q(!0),N(Et,null,Wt(n.displayedStoreys,c=>(Q(),N("li",{key:c.key,class:be({active:c.key===i.selectedStoreyKey}),onClick:d=>t.$emit("select",c)},[B("div",ixt,[c.key===i.selectedStoreyKey?(Q(),te(l,{key:0,fill:"",color:"neutral",size:"xxs"})):(Q(),N("div",rxt))]),gt(" "+ee(c.name),1)],10,txt))),128))])])])}const nxt=K(ZEt,[["render",oxt],["__scopeId","data-v-812fafba"]]),sxt=3e3,axt={name:"MiniMap2D",components:{CameraObjectSVG:Gue,ExpandIcon:WEt,StoreySelector:nxt},data(){const{settings:t}=this.$plugin??{};return{settings:t,model:null,loading:!1,expanded:!1,storeySelectorDisplayed:!1,mounted:!1}},computed:{displayed(){return this.mounted&&this.$viewer.localContext.pluginComponentInstances.get("viewer3d").firstPersonView},selectedStorey(){return this.$viewer.localContext.selectedStorey},storeys(){var t;return((t=this.model)==null?void 0:t.storeys)??[]}},watch:{displayed(t){var e;if(t){this.initEngine2d(),this.$plugin.show();const i=this.$viewer.localContext.pluginComponentInstances.get("viewer3d").xeokit.camera;this.syncCameras(i,!0),this.$viewer.localContext.loadedModels.length>0&&this.loadModels(this.$viewer.localContext.loadedModels)}else(e=this.viewer)==null||e.destroy(),this.$plugin.hide(),this.model&&this.unloadModels([this.model],!1)},selectedStorey(t){var e;if(!t){this.plugins.spaceNames.clear();return}((e=this.viewer)==null?void 0:e.scene.objects.length)>0&&this.plugins.spaceNames.show(t)}},created(){this.localContextSubscriptions=[this.$viewer.localContext.hub.on("models-loaded",({models:t})=>{!this.displayed||t.length===0||this.model&&t.some(e=>e.id===this.model.id)||this.loadModels(t)}),this.$viewer.localContext.hub.on("models-unloaded",({models:t})=>{!this.displayed||t.length===0||!this.model||!t.some(e=>e.id===this.model.id)||this.unloadModels(t)})],this.$watch(()=>this.$plugin.shown,t=>{t&&!this.displayed&&this.$plugin.hide()}),this.queue=$v(new Promise(t=>{this.onMounted=t}))},mounted(){this.mounted=!0,this.camera3DSubscription=this.$viewer.globalContext.hub.on("3d-camera-update",t=>{this.displayed&&this.syncCameras(t)},{getLastEvent:!0}),this.onMounted()},unmounted(){var t,e,i;this.$viewer.globalContext.hub.off(this.camera3DSubscription),(t=this.queue)==null||t.clear(),this.plugins&&Object.values(this.plugins).forEach(r=>{var o;return(o=r.destroy)==null?void 0:o.call(r)}),(e=this.viewer)==null||e.destroy(),(i=this.localContextSubscriptions)==null||i.forEach(r=>this.$viewer.localContext.hub.off(r))},methods:{initEngine2d(){const t=this.$refs.canvasContainer;t.firstChild&&t.removeChild(t.firstChild);const e=document.createElement("canvas");e.style.width="100%",e.style.height="100%",t.appendChild(e);const i=Wf({canvas:e});i.styles.default.lineWidth=.01,i.settings.rotateSpeed=.05,i.settings.snapMargin=.04,i.settings.minScale=10,i.textureManager.textureMatrix.scale(.01,.01),i.ui.rotatable=!1,i.ui.translatable=!1,i.ui.scallable=!1,this.viewer=i,this.loadModelFromSVG=GV(this),this.plugins=Xv(this,{pen:!1,ruler:!1,angle:!1,compass:!1,surface:!1,path:!1,gauge:!1,doors:!1,caliper:!1,bitmaps:!1})},onZoomIn(){this.viewer.camera.zoomIn()},onZoomOut(){this.viewer.camera.zoomOut()},onUpClick(){const t=this.storeys.findIndex(i=>i.key===this.selectedStorey.key),e=this.storeys[t+1];e&&this.$viewer.localContext.selectStorey(e)},onDownClick(){const t=this.storeys.findIndex(i=>i.key===this.selectedStorey.key),e=this.storeys[t-1];e&&this.$viewer.localContext.selectStorey(e)},onCanvasClick(t){const e=this.$viewer.localContext.pluginComponentInstances.get("viewer3d"),{clientX:i,clientY:r}=t,{x:o,y:n}=this.viewer.canvas.getBoundingClientRect(),s=this.viewer.camera.getPosition({x:i-o,y:r-n}),a=e.xeokit.camera.eye;e.xeokit.cameraFlight.flyTo({eye:[s.x,a[1],s.y]})},onStoreyClick(t){var e;this.storeySelectorDisplayed=!1,t.key!==((e=this.selectedStorey)==null?void 0:e.key)&&this.$viewer.localContext.selectStorey(t)},syncCameras({eye:t=[0,0,0],look:e=[0,0,0],up:i=[0,1,0]}={},r=!1){if(Math.abs(i[0])<Number.EPSILON&&Math.abs(i[1])<Number.EPSILON)return console.warn("[MiniMap2D - sync cameras] camera up not suitable for 2d.");const{angle:o,sub:n,normalize:s}=this.viewer.utils.vector2D,[a,,l]=t,[c,,d]=e,u=s(n({x:a,y:l},{x:c,y:d}));if(Math.abs(u.x)<Number.EPSILON&&Math.abs(u.y)<Number.EPSILON)return console.warn("[MiniMap2D - sync cameras] camera direction not suitable for 2d.");let A=null;u.x<0?A=o(u,{x:0,y:1}):A=o({x:0,y:1},u);const h=i[1]>0?180:0,g=A/Math.PI*180+h;this.viewer.camera.setViewpoint({x:a,y:l,rotation:g,zoom:r?sxt:void 0})},async loadModels(t){const e=t[0];if(!e.map_file)throw new Error("Viewer --- ERROR --- MiniMap2D Plugin - Impossible to load a model without a map_file.");return this.loading=!0,new Promise(i=>{this.queue.push(async()=>{var r;if(this.model&&this.model.id!==e.id&&this.unloadModels([this.model],!1),e.id===((r=this.model)==null?void 0:r.id))return i();await this.loadModelFromSVG(e.map_file,e.id),this.loading=!1,this.model=e;const o=this.selectedStorey,n=this.viewer.scene.objects.map(s=>s.id);this.viewer.scene.hideObjects(n),NV(this.viewer,o.objects),this.plugins.spaceNames.show(o),i()})})},unloadModels(t,e=!0){const i=t[0],r=()=>{this.model=null,this.viewer.scene.removeModel(String(i.id))};e?this.queue.push(r):r()}}},lxt={class:"bimdata-mini-map-2d__header"},cxt={class:"bimdata-mini-map-2d__header__button-text"},dxt={key:0,class:"bimdata-mini-map-2d__storey-selector"},uxt={key:1,class:"bimdata-mini-map-2d__hud"},Axt={class:"bimdata-mini-map-2d__buttons"},hxt={ref:"texter",style:{position:"absolute",top:"34px",left:"0px"}},pxt={key:3,class:"global-spinner"};function gxt(t,e,i,r,o,n){var s;const a=R("BIMDataIconStorey"),l=R("BIMDataButton"),c=R("BIMDataIconDown"),d=R("BIMDataIconUp"),u=R("StoreySelector"),A=R("CameraObjectSVG"),h=R("BIMDataIconPlus"),g=R("BIMDataIconMinus"),p=R("ExpandIcon"),m=R("NoModelWindowPlaceHolder"),f=R("BIMDataSpinner");return Q(),N("div",{class:be(["bimdata-mini-map-2d",{"bimdata-mini-map-2d--expanded":o.expanded}])},[B("div",{ref:"canvasContainer",class:"bimdata-mini-map-2d__canvas",onClick:e[0]||(e[0]=(...C)=>n.onCanvasClick&&n.onCanvasClick(...C))},null,512),B("div",lxt,[L(l,{color:"default",fill:"",radius:"",height:"34px",onClick:e[1]||(e[1]=C=>o.storeySelectorDisplayed=!0)},{default:z(()=>{var C;return[B("div",cxt,[L(a,{size:"s",class:"fill-primary",margin:"0 12px 0 0"}),B("div",null,ee(((C=n.selectedStorey)==null?void 0:C.name)??"No storey selected"),1)])]}),_:1}),L(l,{color:"default",fill:"",radius:"",icon:"",width:"34px",height:"34px",onClick:n.onDownClick},{default:z(()=>[L(c,{size:"xxs"})]),_:1},8,["onClick"]),L(l,{color:"default",fill:"",radius:"",icon:"",width:"34px",height:"34px",onClick:n.onUpClick},{default:z(()=>[L(d,{size:"xxs"})]),_:1},8,["onClick"])]),o.storeySelectorDisplayed?(Q(),N("div",dxt,[L(u,{storeys:n.storeys,"selected-storey-key":(s=n.selectedStorey)==null?void 0:s.key,onClose:e[2]||(e[2]=C=>o.storeySelectorDisplayed=!1),onSelect:n.onStoreyClick},null,8,["storeys","selected-storey-key","onSelect"])])):fe("",!0),o.model?(Q(),N("div",uxt,[L(A)])):fe("",!0),B("div",Axt,[L(l,{color:"default",ghost:"",radius:"",icon:"",width:"54px",height:"54px",onClick:n.onZoomIn},{default:z(()=>[L(h,{size:"xs"})]),_:1},8,["onClick"]),L(l,{color:"default",ghost:"",radius:"",icon:"",width:"54px",height:"54px",onClick:n.onZoomOut},{default:z(()=>[L(g,{size:"xs"})]),_:1},8,["onClick"]),L(l,{color:"default",ghost:"",radius:"",icon:"",width:"54px",height:"54px",onClick:e[3]||(e[3]=C=>o.expanded=!o.expanded)},{default:z(()=>[L(p)]),_:1})]),B("div",hxt,null,512),!o.model&&!o.loading?(Q(),te(m,{key:2})):fe("",!0),o.loading?(Q(),N("div",pxt,[L(f)])):fe("",!0)],2)}const fxt=K(axt,[["render",gxt],["__scopeId","data-v-3bae02ee"]]),mxt={name:"miniMap2d",addToWindows:["3d"],component:fxt,initiallyShown:!1},vxt={data:function(){return{searchText:""}},onClose(){this.searchText=""},onOpen(){setTimeout(()=>{this.$refs.search.focus()})},computed:{filteredElements(){if(this.searchText){const t=this.searchText.toLowerCase();return Object.freeze(this.$viewer.state.objects.filter(e=>{var i,r;return((i=e.name)==null?void 0:i.toLowerCase().includes(t))||((r=e.uuid)==null?void 0:r.toLowerCase().includes(t))}))}else return[]}},methods:{onElementClick(t){this.$viewer.state.selectObjects([t.id])}}},Cxt={class:"bimdata-search"},yxt=["onClick"],wxt={key:1,class:"bimdata-search__empty"};function bxt(t,e,i,r,o,n){const s=R("BIMDataSearch",!0),a=R("BIMDataPaginatedList"),l=R("BIMDataIllustration");return Q(),N("div",Cxt,[L(s,{ref:"search",modelValue:t.searchText,"onUpdate:modelValue":e[0]||(e[0]=c=>t.searchText=c),placeholder:t.$t("search.placeholder"),width:"100%",class:"bimdata-search-bar__radius bimdata-search-bar__primary"},null,8,["modelValue","placeholder"]),n.filteredElements.length?(Q(),te(a,{key:0,list:n.filteredElements,"per-page":100,"element-key":"id"},{element:z(({element:c})=>[B("div",{class:"bimdata-search__element p-x-12 p-y-6",onClick:d=>n.onElementClick(c)},ee(c.name),9,yxt)]),_:1},8,["list"])):(Q(),N("div",wxt,[L(l,{name:"emptyTree"})]))])}const Ixt=K(vxt,[["render",bxt],["__scopeId","data-v-2558f578"]]),Bxt="Geben Sie einen Namen oder eine UUID ein.",Ext={placeholder:Bxt},xxt="Type a name or an UUID.",kxt={placeholder:xxt},Mxt="Escriba un nombre o un UUID.",Sxt={placeholder:Mxt},Qxt="Tapez un nom ou un UUID.",Dxt={placeholder:Qxt},Pxt="Digita un nome o un UUID.",Rxt={placeholder:Pxt},Lxt={name:"search",i18n:{de:Ext,en:kxt,es:Sxt,fr:Dxt,it:Rxt},component:Ixt,button:{position:"right",content:"panel",tooltip:"global.search",icon:{component:"BIMDataIconSearch",options:{size:"m"}}},addToWindows:["3d"]};function Bu(t){return t.viewpoints[0].components.coloring[0]}function Txt(t,e){t.state.colorizeObjectsByUuids(e,null)}function jue(t){const e=t.state.colorizedObjects.map(i=>i.uuid);Txt(t,e)}function zue(t,e,i){typeof i=="object"?e.forEach(r=>{t.state.colorizeObjectsByUuids([r],i[r])}):t.state.colorizeObjectsByUuids(e,i)}function qM(t){const e=t.state.objects.filter(i=>!i.visible).map(i=>i.id);t.state.showObjects(e)}function que(t){t.state.objects.filter(Mr("selected")).length&&t.state.deselectObjects(t.state.objects.filter(Mr("selected")).map(Ia("id")))}const Fxt={inject:["$viewer"],props:{loading:{type:Boolean,default:!1},smartview:{type:Object,required:!0}},emits:["back","edit","empty"],data(){return{selectedUuids:[],elements:[]}},computed:{loadedModelIds(){return this.$viewer.localContext.loadedModelIds},selectedElements(){return this.selectedUuids.length===this.elements.length?!0:this.selectedUuids.length>0?null:!1},smartviewColor(){return Bu(this.smartview).color},smartviewElements(){return this.smartview?(this.elements=Bu(this.smartview).components,this.elements):[]}},created(){const t=Array.from(this.smartviewElements.map(e=>e.ifc_guid));this.$viewer.state.colorizeObjectsByUuids(t,this.smartviewColor),this.$viewer.localContext.pluginComponentInstances.get("viewer3d").fitView(t)},methods:{goBack(){this.$emit("back")},toggleElements(t,e){e?(this.selectedUuids=this.selectedUuids.concat(t.ifc_guid),this.$viewer.state.selectObjectsByUuids(this.selectedUuids)):(this.selectedUuids=this.selectedUuids.filter(i=>i!==t.ifc_guid),this.$viewer.state.deselectObjects(this.$viewer.state.objects.filter(Mr("selected")).map(Ia("id"))),this.$viewer.state.selectObjectsByUuids(this.selectedUuids))},toggleFullElements(){this.selectedUuids.length===this.elements.length?(this.selectedUuids=[],this.$viewer.state.deselectObjects(this.$viewer.state.objects.filter(Mr("selected")).map(Ia("id")))):(this.selectedUuids=this.elements.map(t=>t.ifc_guid),this.$viewer.state.selectObjectsByUuids(this.selectedUuids))},removeSelection(){this.selectedUuids.forEach(t=>this.elements.splice(this.elements.findIndex(e=>e.uuid===t),1)),this.selectedUuids=[],this.elements.length===0&&this.$emit("empty")},clear(){this.elements=[],this.selectedUuids=[],this.$emit("empty")},edit(){const t={index:this.smartview.viewpoints[0].index,guid:this.smartview.viewpoints[0].guid,components:{coloring:[{color:this.smartviewColor,components:this.elements}]}};this.$emit("edit",t)},addObjects(t=[]){const e=t.filter(i=>!this.elements.some(r=>r.uuid===i.uuid)).filter(i=>i.type!=="project"&&i.type!=="site"&&i.type!=="storey"&&i.type!=="zone"&&i.type!=="system");this.elements.push(...e)}}},_xt={class:"smartview-elements"},Uxt={key:0},Nxt={key:1,class:"smartview-elements__header p-12 flex items-center justify-between"},Oxt={class:"smartview-elements__header__right flex items-center"},Hxt={class:"smartview-elements__header__left flex items-center"},Vxt={class:"elements"},Gxt={class:"flex justify-between p-12"},jxt={class:"flex"},zxt={class:"smartview-elements__list bimdata-list"},qxt={class:"smartview-elements__list__element flex items-center"},Kxt={class:"smartview-elements__footer p-12"};function Jxt(t,e,i,r,o,n){const s=R("BIMDataLoading"),a=R("BIMDataIconArrow"),l=R("BIMDataButton"),c=R("BIMDataCheckbox"),d=R("BIMDataIconDelete"),u=R("BIMDataTextbox"),A=R("BIMDataPaginatedList");return Q(),N("div",_xt,[i.loading?(Q(),N("div",Uxt,[L(s)])):(Q(),N("div",Nxt,[i.smartview?(Q(),te(l,{key:0,color:"default",ghost:"",radius:"",onClick:n.goBack},{default:z(()=>[L(a,{fill:"",color:"default",size:"xxs",margin:"0 calc(var(--spacing-unit) / 2) 0 0"}),gt(" "+ee(t.$t("global.go_back")),1)]),_:1},8,["onClick"])):fe("",!0),B("div",Oxt,[B("div",Hxt,[B("span",Vxt,ee(n.smartviewElements.length),1),gt(" - "+ee(t.$t("smartview.elements")),1)])])])),B("div",Gxt,[B("div",jxt,[L(c,{"model-value":n.selectedElements,disabled:o.elements.length===0,margin:"0 var(--spacing-unit) 0 0","onUpdate:modelValue":n.toggleFullElements},null,8,["model-value","disabled","onUpdate:modelValue"]),L(l,{class:"btn-delete",fill:"",radius:"",disabled:o.selectedUuids.length===0,onClick:n.removeSelection},{default:z(()=>[L(d,{size:"xs",margin:"0 calc(var(--spacing-unit) / 2) 0 0"}),B("span",null,ee(t.$t("smartview.delete_selection")),1)]),_:1},8,["disabled","onClick"])]),L(l,{color:"high",fill:"",radius:"",icon:"",width:"125px",onClick:n.clear},{default:z(()=>[L(d,{size:"xxs",margin:"0 calc(var(--spacing-unit) / 2) 0 0"}),B("span",null,ee(t.$t("smartview.delete_all")),1)]),_:1},8,["onClick"])]),B("ul",zxt,[L(A,{list:o.elements,"element-key":"uuid","per-page":25,class:"smartview-elements__list--paginated"},{element:z(({element:h})=>[B("div",qxt,[L(c,{"model-value":o.selectedUuids.includes(h.ifc_guid),margin:"0 calc(var(--spacing-unit) / 2) 0 0","onUpdate:modelValue":g=>n.toggleElements(h,g)},null,8,["model-value","onUpdate:modelValue"]),L(u,{"max-width":"calc(100% - 18px)",text:h.longname||h.name||h.originating_system},null,8,["text"])])]),_:1},8,["list"])]),B("div",Kxt,[L(l,{color:"primary",fill:"",radius:"",width:"100%",disabled:!o.elements.length,onClick:n.edit},{default:z(()=>[gt(ee(t.$t("smartview.edit_selection")),1)]),_:1},8,["disabled","onClick"])])])}const Yxt=K(Fxt,[["render",Jxt],["__scopeId","data-v-558fc766"]]),Wxt={},Zxt={width:"160",height:"150",viewBox:"0 0 160 150",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Xxt(t,e){return Q(),N("svg",Zxt,e[0]||(e[0]=[sl('<path d="M75 0C33.5762 0 0 33.5762 0 75C0 95.6839 8.35202 114.406 21.917 127.971V127.971V127.971C35.4821 141.592 54.2601 150 75 150C102.747 150 126.906 134.978 139.91 112.612C146.356 101.57 150 88.7332 150 75C150 33.5762 116.424 0 75 0Z" fill="#F1F1F5"></path><path d="M144.563 46.8049C144.619 46.9731 144.731 47.1973 144.787 47.3655V47.3655C144.731 47.1973 144.619 46.9731 144.563 46.8049V46.8049Z" fill="#EFEFEF"></path><path d="M140.471 38.3408C140.079 37.6681 139.686 36.9955 139.294 36.3789V36.3789C139.742 36.9955 140.135 37.6681 140.471 38.3408Z" fill="white"></path><path d="M142.208 41.592C142.769 42.7131 143.274 43.8342 143.778 44.9553C143.33 43.8342 142.769 42.7131 142.208 41.592Z" fill="white"></path><path d="M144.563 46.805C144.507 46.6929 144.451 46.5247 144.395 46.4126C144.451 46.5247 144.507 46.6929 144.563 46.805V46.805Z" fill="white"></path><path d="M138.733 35.3699C137.556 33.4641 136.267 31.6143 134.921 29.8206C136.267 31.6143 137.556 33.4641 138.733 35.3699V35.3699Z" fill="white"></path><path d="M139.35 36.3228V36.3228C139.294 36.2668 139.238 36.1547 139.182 36.0986C139.238 36.1547 139.294 36.2668 139.35 36.3228Z" fill="#E0E0E0"></path><path d="M139.182 36.0988C139.014 35.8746 138.902 35.5943 138.733 35.3701V35.3701C138.902 35.5943 139.07 35.8746 139.182 36.0988Z" fill="#E0E0E0"></path><path d="M149.607 67.2085C149.607 67.4327 149.663 67.6569 149.663 67.8251V67.8251C149.607 67.6009 149.607 67.3767 149.607 67.2085V67.2085Z" fill="#EFEFEF"></path><path d="M148.262 58.6324V58.6324C148.206 58.296 148.094 57.9597 148.038 57.6794V57.6794C148.094 58.0158 148.15 58.3521 148.262 58.6324Z" fill="#E0E0E0"></path><path d="M148.711 88.5088C148.655 88.733 148.655 88.9572 148.599 89.1254V89.1254C148.599 88.9012 148.655 88.733 148.711 88.5088V88.5088Z" fill="#EFEFEF"></path><path d="M149.832 78.9797V78.9797C149.888 77.5784 149.944 76.121 149.944 74.7196C149.944 73.6546 149.888 72.5335 149.888 71.4685V71.4685C149.944 72.5335 149.944 73.5986 149.944 74.7196C150 76.121 149.944 77.5784 149.832 78.9797Z" fill="white"></path><path d="M148.711 88.5089V88.5089C149.215 85.7063 149.608 82.8475 149.776 79.9888V79.9888C149.608 82.8475 149.215 85.7063 148.711 88.5089Z" fill="white"></path><path d="M149.776 79.9886V79.9886C149.776 79.6522 149.832 79.3159 149.832 79.0356V79.0356C149.832 79.3159 149.832 79.6522 149.776 79.9886Z" fill="#E0E0E0"></path><path d="M39.9106 9.52905C39.4622 9.52905 39.0698 9.92143 39.0698 10.3699C39.0698 10.8183 39.4622 11.2107 39.9106 11.2107C40.3591 11.2107 40.7514 10.8183 40.7514 10.3699C40.7514 9.92143 40.3591 9.52905 39.9106 9.52905Z" fill="#E0E0E0"></path><path d="M45.7959 11.1548C46.2443 11.1548 46.6367 10.7624 46.6367 10.314C46.6367 9.86552 46.2443 9.47314 45.7959 9.47314C45.3475 9.47314 44.9551 9.86552 44.9551 10.314C44.9551 10.8184 45.3475 11.1548 45.7959 11.1548Z" fill="#E0E0E0"></path><path d="M51.6816 11.1548C52.1301 11.1548 52.5224 10.7624 52.5224 10.314C52.5224 9.86552 52.1301 9.47314 51.6816 9.47314C51.2332 9.47314 50.8408 9.86552 50.8408 10.314C50.8969 10.8184 51.2332 11.1548 51.6816 11.1548Z" fill="#E0E0E0"></path><path d="M28.8114 16.7603C28.6993 16.8724 28.5872 16.9284 28.4751 17.0405C28.5872 16.9845 28.6993 16.8724 28.8114 16.7603Z" fill="#E0E0E0"></path><path d="M34.0249 15.4148C33.5765 15.4148 33.1841 15.8072 33.1841 16.2556C33.1841 16.704 33.5765 17.0964 34.0249 17.0964C34.4733 17.0964 34.8657 16.704 34.8657 16.2556C34.8657 15.8072 34.4733 15.4148 34.0249 15.4148Z" fill="#E0E0E0"></path><path d="M39.9106 15.4148C39.4622 15.4148 39.0698 15.8072 39.0698 16.2556C39.0698 16.704 39.4622 17.0964 39.9106 17.0964C40.3591 17.0964 40.7514 16.704 40.7514 16.2556C40.7514 15.8072 40.3591 15.4148 39.9106 15.4148Z" fill="#E0E0E0"></path><path d="M45.7959 17.0964C46.2443 17.0964 46.6367 16.704 46.6367 16.2556C46.6367 15.8072 46.2443 15.4148 45.7959 15.4148C45.3475 15.4148 44.9551 15.8072 44.9551 16.2556C44.9551 16.704 45.3475 17.0964 45.7959 17.0964Z" fill="#E0E0E0"></path><path d="M51.6816 17.0964C52.1301 17.0964 52.5224 16.704 52.5224 16.2556C52.5224 15.8072 52.1301 15.4148 51.6816 15.4148C51.2332 15.4148 50.8408 15.8072 50.8408 16.2556C50.8969 16.704 51.2332 17.0964 51.6816 17.0964Z" fill="#E0E0E0"></path><path d="M28.1391 21.3564C27.6907 21.3564 27.2983 21.7488 27.2983 22.1973C27.2983 22.6457 27.6907 23.0381 28.1391 23.0381C28.5876 23.0381 28.98 22.6457 28.98 22.1973C28.9239 21.7488 28.5876 21.3564 28.1391 21.3564Z" fill="#E0E0E0"></path><path d="M34.0249 21.3564C33.5765 21.3564 33.1841 21.7488 33.1841 22.1973C33.1841 22.6457 33.5765 23.0381 34.0249 23.0381C34.4733 23.0381 34.8657 22.6457 34.8657 22.1973C34.8657 21.7488 34.4733 21.3564 34.0249 21.3564Z" fill="#E0E0E0"></path><path d="M39.9106 21.3564C39.4622 21.3564 39.0698 21.7488 39.0698 22.1973C39.0698 22.6457 39.4622 23.0381 39.9106 23.0381C40.3591 23.0381 40.7514 22.6457 40.7514 22.1973C40.7514 21.7488 40.3591 21.3564 39.9106 21.3564Z" fill="#E0E0E0"></path><path d="M45.7959 22.9822C46.2443 22.9822 46.6367 22.5898 46.6367 22.1413C46.6367 21.6929 46.2443 21.3005 45.7959 21.3005C45.3475 21.3005 44.9551 21.6929 44.9551 22.1413C44.9551 22.6458 45.3475 22.9822 45.7959 22.9822Z" fill="#E0E0E0"></path><path d="M51.6816 22.9822C52.1301 22.9822 52.5224 22.5898 52.5224 22.1413C52.5224 21.6929 52.1301 21.3005 51.6816 21.3005C51.2332 21.3005 50.8408 21.6929 50.8408 22.1413C50.8969 22.6458 51.2332 22.9822 51.6816 22.9822Z" fill="#E0E0E0"></path><path d="M22.2534 27.2422C21.805 27.2422 21.4126 27.6346 21.4126 28.083C21.4126 28.5314 21.805 28.9238 22.2534 28.9238C22.7018 28.9238 23.0942 28.5314 23.0942 28.083C23.0382 27.6346 22.7018 27.2422 22.2534 27.2422Z" fill="#E0E0E0"></path><path d="M28.1391 27.2422C27.6907 27.2422 27.2983 27.6346 27.2983 28.083C27.2983 28.5314 27.6907 28.9238 28.1391 28.9238C28.5876 28.9238 28.98 28.5314 28.98 28.083C28.9239 27.6346 28.5876 27.2422 28.1391 27.2422Z" fill="#E0E0E0"></path><path d="M34.0249 27.2422C33.5765 27.2422 33.1841 27.6346 33.1841 28.083C33.1841 28.5314 33.5765 28.9238 34.0249 28.9238C34.4733 28.9238 34.8657 28.5314 34.8657 28.083C34.8657 27.6346 34.4733 27.2422 34.0249 27.2422Z" fill="#E0E0E0"></path><path d="M39.9106 27.2422C39.4622 27.2422 39.0698 27.6346 39.0698 28.083C39.0698 28.5314 39.4622 28.9238 39.9106 28.9238C40.3591 28.9238 40.7514 28.5314 40.7514 28.083C40.7514 27.6346 40.3591 27.2422 39.9106 27.2422Z" fill="#E0E0E0"></path><path d="M22.2534 33.1838C21.805 33.1838 21.4126 33.5762 21.4126 34.0246C21.4126 34.4731 21.805 34.8655 22.2534 34.8655C22.7018 34.8655 23.0942 34.4731 23.0942 34.0246C23.0382 33.5762 22.7018 33.1838 22.2534 33.1838Z" fill="#E0E0E0"></path><path d="M28.1391 33.1838C27.6907 33.1838 27.2983 33.5762 27.2983 34.0246C27.2983 34.4731 27.6907 34.8655 28.1391 34.8655C28.5876 34.8655 28.98 34.4731 28.98 34.0246C28.9239 33.5762 28.5876 33.1838 28.1391 33.1838Z" fill="#E0E0E0"></path><path d="M34.0249 33.1838C33.5765 33.1838 33.1841 33.5762 33.1841 34.0246C33.1841 34.4731 33.5765 34.8655 34.0249 34.8655C34.4733 34.8655 34.8657 34.4731 34.8657 34.0246C34.8657 33.5762 34.4733 33.1838 34.0249 33.1838Z" fill="#E0E0E0"></path><path d="M39.9106 33.1838C39.4622 33.1838 39.0698 33.5762 39.0698 34.0246C39.0698 34.4731 39.4622 34.8655 39.9106 34.8655C40.3591 34.8655 40.7514 34.4731 40.7514 34.0246C40.7514 33.5762 40.3591 33.1838 39.9106 33.1838Z" fill="#E0E0E0"></path><path d="M16.312 39.1255C15.8636 39.1255 15.4712 39.5179 15.4712 39.9663C15.4712 40.4147 15.8636 40.8071 16.312 40.8071C16.7604 40.8071 17.1528 40.4147 17.1528 39.9663C17.1528 39.5179 16.8165 39.1255 16.312 39.1255Z" fill="#E0E0E0"></path><path d="M22.2534 39.1255C21.805 39.1255 21.4126 39.5179 21.4126 39.9663C21.4126 40.4147 21.805 40.8071 22.2534 40.8071C22.7018 40.8071 23.0942 40.4147 23.0942 39.9663C23.0942 39.5179 22.7018 39.1255 22.2534 39.1255Z" fill="#E0E0E0"></path><path d="M28.1391 39.1255C27.6907 39.1255 27.2983 39.5179 27.2983 39.9663C27.2983 40.4147 27.6907 40.8071 28.1391 40.8071C28.5876 40.8071 28.98 40.4147 28.98 39.9663C28.98 39.5179 28.5876 39.1255 28.1391 39.1255Z" fill="#E0E0E0"></path><path d="M34.0249 39.1255C33.5765 39.1255 33.1841 39.5179 33.1841 39.9663C33.1841 40.4147 33.5765 40.8071 34.0249 40.8071C34.4733 40.8071 34.8657 40.4147 34.8657 39.9663C34.8657 39.5179 34.4733 39.1255 34.0249 39.1255Z" fill="#E0E0E0"></path><path d="M39.9106 39.1255C39.4622 39.1255 39.0698 39.5179 39.0698 39.9663C39.0698 40.4147 39.4622 40.8071 39.9106 40.8071C40.3591 40.8071 40.7514 40.4147 40.7514 39.9663C40.7514 39.5179 40.3591 39.1255 39.9106 39.1255Z" fill="#E0E0E0"></path><path d="M16.312 45.0112C15.8636 45.0112 15.4712 45.4036 15.4712 45.852C15.4712 46.3005 15.8636 46.6928 16.312 46.6928C16.7604 46.6928 17.1528 46.3005 17.1528 45.852C17.1528 45.4036 16.8165 45.0112 16.312 45.0112Z" fill="#E0E0E0"></path><path d="M22.2534 45.0112C21.805 45.0112 21.4126 45.4036 21.4126 45.852C21.4126 46.3005 21.805 46.6928 22.2534 46.6928C22.7018 46.6928 23.0942 46.3005 23.0942 45.852C23.0942 45.4036 22.7018 45.0112 22.2534 45.0112Z" fill="#E0E0E0"></path><path d="M28.1391 45.0112C27.6907 45.0112 27.2983 45.4036 27.2983 45.852C27.2983 46.3005 27.6907 46.6928 28.1391 46.6928C28.5876 46.6928 28.98 46.3005 28.98 45.852C28.98 45.4036 28.5876 45.0112 28.1391 45.0112Z" fill="#E0E0E0"></path><path d="M34.0249 45.0112C33.5765 45.0112 33.1841 45.4036 33.1841 45.852C33.1841 46.3005 33.5765 46.6928 34.0249 46.6928C34.4733 46.6928 34.8657 46.3005 34.8657 45.852C34.8657 45.4036 34.4733 45.0112 34.0249 45.0112Z" fill="#E0E0E0"></path><path d="M39.9106 45.0112C39.4622 45.0112 39.0698 45.4036 39.0698 45.852C39.0698 46.3005 39.4622 46.6928 39.9106 46.6928C40.3591 46.6928 40.7514 46.3005 40.7514 45.852C40.7514 45.4036 40.3591 45.0112 39.9106 45.0112Z" fill="#E0E0E0"></path><path d="M4.54003 50.7288C4.0916 50.7288 3.69922 51.1211 3.69922 51.5696C3.69922 52.018 4.0916 52.4104 4.54003 52.4104C4.98846 52.4104 5.38083 52.018 5.38083 51.5696C5.38083 51.0651 5.04451 50.7288 4.54003 50.7288Z" fill="#E0E0E0"></path><path d="M10.4819 50.7288C10.0335 50.7288 9.64111 51.1211 9.64111 51.5696C9.64111 52.018 10.0335 52.4104 10.4819 52.4104C10.9304 52.4104 11.3227 52.018 11.3227 51.5696C11.2667 51.0651 10.9304 50.7288 10.4819 50.7288Z" fill="#E0E0E0"></path><path d="M16.3677 50.7288C15.9192 50.7288 15.5269 51.1211 15.5269 51.5696C15.5269 52.018 15.9192 52.4104 16.3677 52.4104C16.8161 52.4104 17.2085 52.018 17.2085 51.5696C17.1524 51.0651 16.8161 50.7288 16.3677 50.7288Z" fill="#E0E0E0"></path><path d="M22.2534 50.7288C21.805 50.7288 21.4126 51.1211 21.4126 51.5696C21.4126 52.018 21.805 52.4104 22.2534 52.4104C22.7018 52.4104 23.0942 52.018 23.0942 51.5696C23.0942 51.0651 22.7018 50.7288 22.2534 50.7288Z" fill="#E0E0E0"></path><path d="M28.1391 50.7288C27.6907 50.7288 27.2983 51.1211 27.2983 51.5696C27.2983 52.018 27.6907 52.4104 28.1391 52.4104C28.5876 52.4104 28.98 52.018 28.98 51.5696C28.98 51.0651 28.5876 50.7288 28.1391 50.7288Z" fill="#E0E0E0"></path><path d="M34.0249 50.7288C33.5765 50.7288 33.1841 51.1211 33.1841 51.5696C33.1841 52.018 33.5765 52.4104 34.0249 52.4104C34.4733 52.4104 34.8657 52.018 34.8657 51.5696C34.8657 51.0651 34.4733 50.7288 34.0249 50.7288Z" fill="#E0E0E0"></path><path d="M39.9106 50.7288C39.4622 50.7288 39.0698 51.1211 39.0698 51.5696C39.0698 52.018 39.4622 52.4104 39.9106 52.4104C40.3591 52.4104 40.7514 52.018 40.7514 51.5696C40.7514 51.0651 40.3591 50.7288 39.9106 50.7288Z" fill="#E0E0E0"></path><path d="M45.7959 50.7288C45.3475 50.7288 44.9551 51.1211 44.9551 51.5696C44.9551 52.018 45.3475 52.4104 45.7959 52.4104C46.2443 52.4104 46.6367 52.018 46.6367 51.5696C46.6367 51.0651 46.2443 50.7288 45.7959 50.7288Z" fill="#E0E0E0"></path><path d="M4.54003 56.3901C4.0916 56.3901 3.69922 56.7825 3.69922 57.2309C3.69922 57.6794 4.0916 58.0718 4.54003 58.0718C4.98846 58.0718 5.38083 57.6794 5.38083 57.2309C5.38083 56.7825 5.04451 56.3901 4.54003 56.3901Z" fill="#E0E0E0"></path><path d="M10.4819 56.3901C10.0335 56.3901 9.64111 56.7825 9.64111 57.2309C9.64111 57.6794 10.0335 58.0718 10.4819 58.0718C10.9304 58.0718 11.3227 57.6794 11.3227 57.2309C11.3227 56.7825 10.9304 56.3901 10.4819 56.3901Z" fill="#E0E0E0"></path><path d="M16.3677 56.3901C15.9192 56.3901 15.5269 56.7825 15.5269 57.2309C15.5269 57.6794 15.9192 58.0718 16.3677 58.0718C16.8161 58.0718 17.2085 57.6794 17.2085 57.2309C17.2085 56.7825 16.8161 56.3901 16.3677 56.3901Z" fill="#E0E0E0"></path><path d="M22.2534 56.3901C21.805 56.3901 21.4126 56.7825 21.4126 57.2309C21.4126 57.6794 21.805 58.0718 22.2534 58.0718C22.7018 58.0718 23.0942 57.6794 23.0942 57.2309C23.0942 56.7825 22.7018 56.3901 22.2534 56.3901Z" fill="#E0E0E0"></path><path d="M28.1391 56.3901C27.6907 56.3901 27.2983 56.7825 27.2983 57.2309C27.2983 57.6794 27.6907 58.0718 28.1391 58.0718C28.5876 58.0718 28.98 57.6794 28.98 57.2309C28.98 56.7825 28.5876 56.3901 28.1391 56.3901Z" fill="#E0E0E0"></path><path d="M34.0249 56.3901C33.5765 56.3901 33.1841 56.7825 33.1841 57.2309C33.1841 57.6794 33.5765 58.0718 34.0249 58.0718C34.4733 58.0718 34.8657 57.6794 34.8657 57.2309C34.8657 56.7825 34.4733 56.3901 34.0249 56.3901Z" fill="#E0E0E0"></path><path d="M39.9106 56.3901C39.4622 56.3901 39.0698 56.7825 39.0698 57.2309C39.0698 57.6794 39.4622 58.0718 39.9106 58.0718C40.3591 58.0718 40.7514 57.6794 40.7514 57.2309C40.7514 56.7825 40.3591 56.3901 39.9106 56.3901Z" fill="#E0E0E0"></path><path d="M45.7959 56.3901C45.3475 56.3901 44.9551 56.7825 44.9551 57.2309C44.9551 57.6794 45.3475 58.0718 45.7959 58.0718C46.2443 58.0718 46.6367 57.6794 46.6367 57.2309C46.6367 56.7825 46.2443 56.3901 45.7959 56.3901Z" fill="#E0E0E0"></path><path d="M4.54003 62.1077C4.0916 62.1077 3.69922 62.5 3.69922 62.9485C3.69922 63.3969 4.0916 63.7893 4.54003 63.7893C4.98846 63.7893 5.38083 63.3969 5.38083 62.9485C5.38083 62.5 5.04451 62.1077 4.54003 62.1077Z" fill="#E0E0E0"></path><path d="M10.4819 62.1077C10.0335 62.1077 9.64111 62.5 9.64111 62.9485C9.64111 63.3969 10.0335 63.7893 10.4819 63.7893C10.9304 63.7893 11.3227 63.3969 11.3227 62.9485C11.2667 62.5 10.9304 62.1077 10.4819 62.1077Z" fill="#E0E0E0"></path><path d="M16.3677 62.1077C15.9192 62.1077 15.5269 62.5 15.5269 62.9485C15.5269 63.3969 15.9192 63.7893 16.3677 63.7893C16.8161 63.7893 17.2085 63.3969 17.2085 62.9485C17.1524 62.5 16.8161 62.1077 16.3677 62.1077Z" fill="#E0E0E0"></path><path d="M22.2534 62.1077C21.805 62.1077 21.4126 62.5 21.4126 62.9485C21.4126 63.3969 21.805 63.7893 22.2534 63.7893C22.7018 63.7893 23.0942 63.3969 23.0942 62.9485C23.0942 62.5 22.7018 62.1077 22.2534 62.1077Z" fill="#E0E0E0"></path><path d="M28.1391 62.1077C27.6907 62.1077 27.2983 62.5 27.2983 62.9485C27.2983 63.3969 27.6907 63.7893 28.1391 63.7893C28.5876 63.7893 28.98 63.3969 28.98 62.9485C28.98 62.5 28.5876 62.1077 28.1391 62.1077Z" fill="#E0E0E0"></path><path d="M34.0249 62.1077C33.5765 62.1077 33.1841 62.5 33.1841 62.9485C33.1841 63.3969 33.5765 63.7893 34.0249 63.7893C34.4733 63.7893 34.8657 63.3969 34.8657 62.9485C34.8657 62.5 34.4733 62.1077 34.0249 62.1077Z" fill="#E0E0E0"></path><path d="M39.9106 62.1077C39.4622 62.1077 39.0698 62.5 39.0698 62.9485C39.0698 63.3969 39.4622 63.7893 39.9106 63.7893C40.3591 63.7893 40.7514 63.3969 40.7514 62.9485C40.7514 62.5 40.3591 62.1077 39.9106 62.1077Z" fill="#E0E0E0"></path><path d="M45.7959 62.1077C45.3475 62.1077 44.9551 62.5 44.9551 62.9485C44.9551 63.3969 45.3475 63.7893 45.7959 63.7893C46.2443 63.7893 46.6367 63.3969 46.6367 62.9485C46.6367 62.5 46.2443 62.1077 45.7959 62.1077Z" fill="#E0E0E0"></path><path d="M4.54003 67.825C4.0916 67.825 3.69922 68.2173 3.69922 68.6658C3.69922 69.1142 4.0916 69.5066 4.54003 69.5066C4.98846 69.5066 5.38083 69.1142 5.38083 68.6658C5.38083 68.2173 5.04451 67.825 4.54003 67.825Z" fill="#E0E0E0"></path><path d="M10.4819 67.825C10.0335 67.825 9.64111 68.2173 9.64111 68.6658C9.64111 69.1142 10.0335 69.5066 10.4819 69.5066C10.9304 69.5066 11.3227 69.1142 11.3227 68.6658C11.3227 68.2173 10.9304 67.825 10.4819 67.825Z" fill="#E0E0E0"></path><path d="M16.3677 67.825C15.9192 67.825 15.5269 68.2173 15.5269 68.6658C15.5269 69.1142 15.9192 69.5066 16.3677 69.5066C16.8161 69.5066 17.2085 69.1142 17.2085 68.6658C17.2085 68.2173 16.8161 67.825 16.3677 67.825Z" fill="#E0E0E0"></path><path d="M22.2534 67.825C21.805 67.825 21.4126 68.2173 21.4126 68.6658C21.4126 69.1142 21.805 69.5066 22.2534 69.5066C22.7018 69.5066 23.0942 69.1142 23.0942 68.6658C23.0942 68.2173 22.7018 67.825 22.2534 67.825Z" fill="#E0E0E0"></path><path d="M28.1391 67.825C27.6907 67.825 27.2983 68.2173 27.2983 68.6658C27.2983 69.1142 27.6907 69.5066 28.1391 69.5066C28.5876 69.5066 28.98 69.1142 28.98 68.6658C28.98 68.2173 28.5876 67.825 28.1391 67.825Z" fill="#E0E0E0"></path><path d="M34.0249 67.825C33.5765 67.825 33.1841 68.2173 33.1841 68.6658C33.1841 69.1142 33.5765 69.5066 34.0249 69.5066C34.4733 69.5066 34.8657 69.1142 34.8657 68.6658C34.8657 68.2173 34.4733 67.825 34.0249 67.825Z" fill="#E0E0E0"></path><path d="M39.9106 67.825C39.4622 67.825 39.0698 68.2173 39.0698 68.6658C39.0698 69.1142 39.4622 69.5066 39.9106 69.5066C40.3591 69.5066 40.7514 69.1142 40.7514 68.6658C40.7514 68.2173 40.3591 67.825 39.9106 67.825Z" fill="#E0E0E0"></path><path d="M45.7959 67.825C45.3475 67.825 44.9551 68.2173 44.9551 68.6658C44.9551 69.1142 45.3475 69.5066 45.7959 69.5066C46.2443 69.5066 46.6367 69.1142 46.6367 68.6658C46.6367 68.2173 46.2443 67.825 45.7959 67.825Z" fill="#E0E0E0"></path><path d="M51.6816 69.4507C52.1301 69.4507 52.5224 69.0583 52.5224 68.6099C52.5224 68.1614 52.1301 67.769 51.6816 67.769C51.2332 67.769 50.8408 68.1614 50.8408 68.6099C50.8408 69.0583 51.2332 69.4507 51.6816 69.4507Z" fill="#E0E0E0"></path><path d="M4.54003 73.5425C4.0916 73.5425 3.69922 73.9349 3.69922 74.3833C3.69922 74.8317 4.0916 75.2241 4.54003 75.2241C4.98846 75.2241 5.38083 74.8317 5.38083 74.3833C5.38083 73.8788 5.04451 73.5425 4.54003 73.5425Z" fill="#E0E0E0"></path><path d="M10.4819 73.5425C10.0335 73.5425 9.64111 73.9349 9.64111 74.3833C9.64111 74.8317 10.0335 75.2241 10.4819 75.2241C10.9304 75.2241 11.3227 74.8317 11.3227 74.3833C11.2667 73.8788 10.9304 73.5425 10.4819 73.5425Z" fill="#E0E0E0"></path><path d="M16.3677 73.5425C15.9192 73.5425 15.5269 73.9349 15.5269 74.3833C15.5269 74.8317 15.9192 75.2241 16.3677 75.2241C16.8161 75.2241 17.2085 74.8317 17.2085 74.3833C17.1524 73.8788 16.8161 73.5425 16.3677 73.5425Z" fill="#E0E0E0"></path><path d="M22.2534 73.5425C21.805 73.5425 21.4126 73.9349 21.4126 74.3833C21.4126 74.8317 21.805 75.2241 22.2534 75.2241C22.7018 75.2241 23.0942 74.8317 23.0942 74.3833C23.0942 73.8788 22.7018 73.5425 22.2534 73.5425Z" fill="#E0E0E0"></path><path d="M28.1391 73.5425C27.6907 73.5425 27.2983 73.9349 27.2983 74.3833C27.2983 74.8317 27.6907 75.2241 28.1391 75.2241C28.5876 75.2241 28.98 74.8317 28.98 74.3833C28.98 73.8788 28.5876 73.5425 28.1391 73.5425Z" fill="#E0E0E0"></path><path d="M34.0249 73.5425C33.5765 73.5425 33.1841 73.9349 33.1841 74.3833C33.1841 74.8317 33.5765 75.2241 34.0249 75.2241C34.4733 75.2241 34.8657 74.8317 34.8657 74.3833C34.8657 73.8788 34.4733 73.5425 34.0249 73.5425Z" fill="#E0E0E0"></path><path d="M39.9106 73.5425C39.4622 73.5425 39.0698 73.9349 39.0698 74.3833C39.0698 74.8317 39.4622 75.2241 39.9106 75.2241C40.3591 75.2241 40.7514 74.8317 40.7514 74.3833C40.7514 73.8788 40.3591 73.5425 39.9106 73.5425Z" fill="#E0E0E0"></path><path d="M45.7959 73.5425C45.3475 73.5425 44.9551 73.9349 44.9551 74.3833C44.9551 74.8317 45.3475 75.2241 45.7959 75.2241C46.2443 75.2241 46.6367 74.8317 46.6367 74.3833C46.6367 73.8788 46.2443 73.5425 45.7959 73.5425Z" fill="#E0E0E0"></path><path d="M51.9619 50.7288C51.5135 50.7288 51.1211 51.1211 51.1211 51.5696C51.1211 52.018 51.5135 52.4104 51.9619 52.4104C52.4103 52.4104 52.8027 52.018 52.8027 51.5696C52.8027 51.0651 52.4103 50.7288 51.9619 50.7288Z" fill="#E0E0E0"></path><path d="M51.9619 56.3901C51.5135 56.3901 51.1211 56.7825 51.1211 57.2309C51.1211 57.6794 51.5135 58.0718 51.9619 58.0718C52.4103 58.0718 52.8027 57.6794 52.8027 57.2309C52.8027 56.7825 52.4103 56.3901 51.9619 56.3901Z" fill="#E0E0E0"></path><path d="M51.9619 62.1077C51.5135 62.1077 51.1211 62.5 51.1211 62.9485C51.1211 63.3969 51.5135 63.7893 51.9619 63.7893C52.4103 63.7893 52.8027 63.3969 52.8027 62.9485C52.8027 62.5 52.4103 62.1077 51.9619 62.1077Z" fill="#E0E0E0"></path><path d="M51.9619 73.5425C51.5135 73.5425 51.1211 73.9349 51.1211 74.3833C51.1211 74.8317 51.5135 75.2241 51.9619 75.2241C52.4103 75.2241 52.8027 74.8317 52.8027 74.3833C52.8027 73.8788 52.4103 73.5425 51.9619 73.5425Z" fill="#E0E0E0"></path><path d="M45.7959 28.9238C46.2443 28.9238 46.6367 28.5314 46.6367 28.083C46.6367 27.6346 46.2443 27.2422 45.7959 27.2422C45.3475 27.2422 44.9551 27.6346 44.9551 28.083C44.9551 28.5314 45.3475 28.9238 45.7959 28.9238Z" fill="#E0E0E0"></path><path d="M51.6817 28.9238C52.1302 28.9238 52.5225 28.5314 52.5225 28.083C52.5225 27.6346 52.1302 27.2422 51.6817 27.2422C51.2333 27.2422 50.897 27.6346 50.897 28.083C50.897 28.5314 51.2333 28.9238 51.6817 28.9238Z" fill="#E0E0E0"></path><path d="M51.6817 34.8655C52.1302 34.8655 52.5225 34.4731 52.5225 34.0246C52.5225 33.5762 52.1302 33.1838 51.6817 33.1838C51.2333 33.1838 50.897 33.5762 50.897 34.0246C50.897 34.4731 51.2333 34.8655 51.6817 34.8655Z" fill="#E0E0E0"></path><path d="M51.6817 40.7512C52.1302 40.7512 52.5225 40.3588 52.5225 39.9104C52.5225 39.462 52.1302 39.0696 51.6817 39.0696C51.2333 39.0696 50.897 39.462 50.897 39.9104C50.897 40.3588 51.2333 40.7512 51.6817 40.7512Z" fill="#E0E0E0"></path><path d="M45.7959 34.8093C46.2443 34.8093 46.6367 34.4169 46.6367 33.9685C46.6367 33.5201 46.2443 33.1277 45.7959 33.1277C45.3475 33.1277 44.9551 33.5201 44.9551 33.9685C44.9551 34.473 45.3475 34.8093 45.7959 34.8093Z" fill="#E0E0E0"></path><path d="M45.7959 40.751C46.2443 40.751 46.6367 40.3586 46.6367 39.9101C46.6367 39.4617 46.2443 39.0693 45.7959 39.0693C45.3475 39.0693 44.9551 39.4617 44.9551 39.9101C44.9551 40.3586 45.3475 40.751 45.7959 40.751Z" fill="#E0E0E0"></path><path d="M45.7959 46.6368C46.2443 46.6368 46.6367 46.2444 46.6367 45.796C46.6367 45.3476 46.2443 45.0112 45.7959 45.0112C45.3475 45.0112 44.9551 45.4036 44.9551 45.852C44.9551 46.3005 45.3475 46.6368 45.7959 46.6368Z" fill="#E0E0E0"></path><path d="M51.6816 45.0112C51.2332 45.0112 50.8408 45.4036 50.8408 45.852C50.8408 46.3005 51.2332 46.6928 51.6816 46.6928C52.1301 46.6928 52.5224 46.3005 52.5224 45.852C52.5224 45.4036 52.1301 45.0112 51.6816 45.0112Z" fill="#E0E0E0"></path><path d="M76.2334 79.4844V79.4844C76.2334 79.7646 76.4576 79.9889 76.7379 79.9889H126.738V79.9889H76.6818C76.4576 79.9889 76.2334 79.7646 76.2334 79.4844Z" fill="#30B749"></path><path d="M52.3544 3.92383V3.92383C51.8499 4.09199 51.4015 4.26015 50.897 4.42831V4.42831C51.3454 4.26015 51.8499 4.09199 52.3544 3.92383Z" fill="#F1F1F5"></path><path d="M28.8114 16.7603V16.7603C28.6993 16.8724 28.5872 16.9284 28.4751 17.0405V17.0405C28.5312 16.9284 28.6993 16.8163 28.8114 16.7603Z" fill="#F1F1F5"></path><path d="M140.471 38.3408C141.087 39.4058 141.648 40.5269 142.208 41.5919C141.704 40.5269 141.087 39.4058 140.471 38.3408Z" fill="#F1F1F5"></path><path d="M143.778 45.0112C144.002 45.4597 144.17 45.9641 144.394 46.4126C144.226 45.9081 144.002 45.4597 143.778 45.0112Z" fill="#F1F1F5"></path><path d="M147.029 53.9238C147.085 54.2041 147.197 54.4283 147.253 54.7086C147.197 54.4283 147.085 54.2041 147.029 53.9238Z" fill="#F1F1F5"></path><path d="M50.897 4.42831C50.897 4.87674 51.2893 5.26912 51.7378 5.26912C52.1862 5.26912 52.5786 4.87674 52.5786 4.42831C52.5786 4.26015 52.5225 4.09199 52.4104 3.92383C51.8499 4.09199 51.3454 4.26015 50.897 4.42831V4.42831Z" fill="#E0E0E0"></path><path d="M51.8499 3.64355L51.1212 3.86777C51.0091 4.03593 50.897 4.20409 50.897 4.42831C51.4015 4.26015 51.8499 4.09199 52.3544 3.92382C52.2423 3.75566 52.018 3.64355 51.8499 3.64355Z" fill="#E0E0E0"></path><path d="M18.4975 38.397C17.8809 38.397 17.3765 38.9015 17.3765 39.518C17.3765 40.1346 17.8809 40.6391 18.4975 40.6391C19.1141 40.6391 19.6186 40.1346 19.6186 39.518C19.6186 38.9015 19.1141 38.397 18.4975 38.397Z" fill="#E0E0E0"></path><path d="M19.2263 50.5046C27.7397 50.5046 34.6411 43.6032 34.6411 35.0898C34.6411 26.5765 27.7397 19.675 19.2263 19.675C10.713 19.675 3.81152 26.5765 3.81152 35.0898C3.81152 43.6032 10.713 50.5046 19.2263 50.5046Z" fill="#E0E0E0"></path><path d="M18.3293 49.8318C26.8427 49.8318 33.7441 42.9304 33.7441 34.417C33.7441 25.9036 26.8427 19.0022 18.3293 19.0022C9.81599 19.0022 2.91455 25.9036 2.91455 34.417C2.91455 42.9304 9.81599 49.8318 18.3293 49.8318Z" fill="#F8C62C"></path><path d="M12.5776 35.0105V34.1336C12.5776 33.9273 12.7324 33.7209 12.9903 33.7209H24.0804C24.2867 33.7209 24.4931 33.8757 24.4931 34.1336V35.0105C24.4931 35.2168 24.3383 35.4231 24.0804 35.4231H12.9387C12.7324 35.3716 12.5776 35.2168 12.5776 35.0105Z" fill="#BC9322"></path><path d="M18.9219 28.6655H18.045C17.8387 28.6655 17.6323 28.8203 17.6323 29.0782V40.1683C17.6323 40.3746 17.7871 40.5809 18.045 40.5809H18.9219C19.1282 40.5809 19.3345 40.4262 19.3345 40.1683V29.0266C19.2829 28.8203 19.1282 28.6655 18.9219 28.6655Z" fill="#BC9322"></path><path d="M18.5615 28.2532H17.6846C17.4783 28.2532 17.272 28.4079 17.272 28.6658V39.7559C17.272 39.9623 17.4267 40.1686 17.6846 40.1686H18.5615C18.7678 40.1686 18.9742 40.0138 18.9742 39.7559V28.6658C18.9742 28.4595 18.7678 28.2532 18.5615 28.2532Z" fill="white"></path><path d="M12.165 34.6494V33.7725C12.165 33.5662 12.3198 33.3599 12.5777 33.3599H23.6678C23.8741 33.3599 24.0805 33.5146 24.0805 33.7725V34.6494C24.0805 34.8557 23.9257 35.0621 23.6678 35.0621H12.5777C12.3714 35.0621 12.165 34.8557 12.165 34.6494Z" fill="white"></path><path opacity="0.5" d="M141.103 110.898C130.397 110.001 123.86 109.44 104.802 109.44C72.4588 109.44 46.2256 111.066 46.2256 113.14C46.2256 115.158 72.4588 116.84 104.802 116.84C122.627 116.84 127.629 116.335 138.391 115.55C138.737 114.991 139.183 114.331 139.52 113.715C139.884 113.083 140.655 111.851 141.103 110.898Z" fill="#E0DEDE"></path><g filter="url(#filter0_d_6415_11774)"><path d="M46.2256 35.4719C46.2256 34.1953 47.2605 33.1604 48.5371 33.1604H144.718C145.995 33.1604 147.03 34.1953 147.03 35.4719V45.4885C147.03 46.7651 145.995 47.8 144.718 47.8H48.5371C47.2605 47.8 46.2256 46.7651 46.2256 45.4885V35.4719Z" fill="white"></path></g><path d="M46.2256 35.4719C46.2256 34.1953 47.2605 33.1604 48.5371 33.1604H144.718C145.995 33.1604 147.03 34.1953 147.03 35.4719V45.4885C147.03 46.7651 145.995 47.8 144.718 47.8H48.5371C47.2605 47.8 46.2256 46.7651 46.2256 45.4885V35.4719Z" fill="white"></path><path d="M64.5977 37.5635C64.5977 36.2869 65.6326 35.252 66.9092 35.252H118.753C120.03 35.252 121.065 36.2869 121.065 37.5635V43.8156C121.065 45.0922 120.03 46.1271 118.753 46.1271H66.9092C65.6326 46.1271 64.5977 45.0922 64.5977 43.8156V37.5635Z" fill="#EFC8C3" fill-opacity="0.2"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M118.753 35.6372H66.9092C65.8453 35.6372 64.9829 36.4996 64.9829 37.5635V43.8156C64.9829 44.8794 65.8453 45.7418 66.9092 45.7418H118.753C119.817 45.7418 120.679 44.8794 120.679 43.8156V37.5635C120.679 36.4996 119.817 35.6372 118.753 35.6372ZM66.9092 35.252C65.6326 35.252 64.5977 36.2869 64.5977 37.5635V43.8156C64.5977 45.0922 65.6326 46.1271 66.9092 46.1271H118.753C120.03 46.1271 121.065 45.0922 121.065 43.8156V37.5635C121.065 36.2869 120.03 35.252 118.753 35.252H66.9092Z" fill="#EFC8C3"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M68.9946 40.6897C68.9946 40.0514 69.5121 39.5339 70.1504 39.5339H115.512C116.15 39.5339 116.668 40.0514 116.668 40.6897C116.668 41.328 116.15 41.8454 115.512 41.8454H70.1504C69.5121 41.8454 68.9946 41.328 68.9946 40.6897Z" fill="#EFC8C3"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M52.4434 36.7063H52.8805V36.9939H52.7309V37.1434H52.4434V36.7063ZM53.4671 36.7063H54.0538V36.9939H53.4671V36.7063ZM54.6405 36.7063H55.2271V36.9939H54.6405V36.7063ZM55.8138 36.7063H56.4004V36.9939H55.8138V36.7063ZM56.9871 36.7063H57.5737V36.9939H56.9871V36.7063ZM58.1604 36.7063H58.5975V37.1434H58.3099V36.9939H58.1604V36.7063ZM52.4434 38.3167V37.7301H52.7309V38.3167H52.4434ZM58.5975 37.7301V38.3167H58.3099V37.7301H58.5975ZM58.5975 38.9034V39.4901H58.3099V38.9034H58.5975ZM52.4434 39.4901V38.9034H52.7309V39.4901H52.4434ZM58.5975 40.0767V40.6634H58.3099V40.0767H58.5975ZM52.4434 40.6634V40.0767H52.7309V40.6634H52.4434ZM52.4434 41.8367V41.25H52.7309V41.8367H52.4434ZM52.4434 42.4233H52.7309V42.5729H52.8805V42.8605H52.4434V42.4233ZM54.0538 42.8605H53.4671V42.5729H54.0538V42.8605ZM55.2271 42.8605H54.6405V42.5729H55.2271V42.8605ZM56.4004 42.8605H55.8138V42.5729H56.4004V42.8605Z" fill="#30374B"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M55.0347 39.7455C54.9442 39.4664 55.2083 39.2023 55.4875 39.2928L59.2354 40.5074C59.4908 40.5901 59.5686 40.9136 59.3787 41.1035L58.7407 41.7415L59.8695 42.8702C60.0098 43.0106 60.0098 43.2382 59.8695 43.3786L59.0994 44.1487C58.959 44.289 58.7314 44.2891 58.591 44.1487L57.4623 43.02L56.8455 43.6368C56.6556 43.8267 56.3321 43.7489 56.2493 43.4934L55.0347 39.7455ZM55.4885 39.7465L56.6235 43.2487L57.2081 42.6641C57.3485 42.5237 57.5761 42.5237 57.7165 42.6641L58.8452 43.7928L59.5136 43.1244L58.3849 41.9957C58.2445 41.8553 58.2445 41.6277 58.3849 41.4873L58.9907 40.8815L55.4885 39.7465Z" fill="#30374B"></path><path d="M56.5369 43.4193L55.2271 39.4897L59.1566 40.6359V40.9633L58.5017 41.782L59.6478 42.9281V43.2556L58.8291 43.9105L58.3379 43.583L57.3555 42.7644L56.5369 43.4193Z" fill="#30374B"></path><path opacity="0.8" d="M134.934 40.4802C134.934 43.0334 132.864 45.1032 130.311 45.1032C127.758 45.1032 125.688 43.0334 125.688 40.4802C125.688 37.927 127.758 35.8572 130.311 35.8572C132.864 35.8572 134.934 37.927 134.934 40.4802Z" fill="#D8D8D8"></path><path d="M140.184 39.2253C140.531 39.2253 140.811 38.9444 140.811 38.5979C140.811 38.2514 140.531 37.9705 140.184 37.9705C139.838 37.9705 139.557 38.2514 139.557 38.5979C139.557 38.9444 139.838 39.2253 140.184 39.2253Z" fill="#D8D8D8"></path><path d="M140.184 41.1074C140.531 41.1074 140.811 40.8265 140.811 40.4799C140.811 40.1334 140.531 39.8525 140.184 39.8525C139.838 39.8525 139.557 40.1334 139.557 40.4799C139.557 40.8265 139.838 41.1074 140.184 41.1074Z" fill="#D8D8D8"></path><path d="M140.184 42.9897C140.531 42.9897 140.811 42.7088 140.811 42.3623C140.811 42.0158 140.531 41.7349 140.184 41.7349C139.838 41.7349 139.557 42.0158 139.557 42.3623C139.557 42.7088 139.838 42.9897 140.184 42.9897Z" fill="#D8D8D8"></path><g opacity="0.6"><g filter="url(#filter1_d_6415_11774)"><path fill-rule="evenodd" clip-rule="evenodd" d="M146.295 51.6526H66.9092C65.6326 51.6526 64.5977 52.6875 64.5977 53.9641V63.9807C64.5977 65.2573 65.6326 66.2922 66.9092 66.2922H149.5C148.916 61.2424 147.831 56.3455 146.295 51.6526Z" fill="white"></path></g><path fill-rule="evenodd" clip-rule="evenodd" d="M146.295 51.6526H66.9092C65.6326 51.6526 64.5977 52.6875 64.5977 53.9641V63.9807C64.5977 65.2573 65.6326 66.2922 66.9092 66.2922H149.5C148.916 61.2424 147.831 56.3455 146.295 51.6526Z" fill="white"></path><path opacity="0.18" d="M80.0737 56.0554C80.0737 54.7788 81.1086 53.7439 82.3852 53.7439H134.229C135.506 53.7439 136.541 54.7788 136.541 56.0554V62.3075C136.541 63.5841 135.506 64.619 134.229 64.619H82.3852C81.1086 64.619 80.0737 63.5841 80.0737 62.3075V56.0554Z" fill="#87CEEB"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M84.4707 59.1816C84.4707 58.5433 84.9882 58.0259 85.6265 58.0259H130.988C131.627 58.0259 132.144 58.5433 132.144 59.1816C132.144 59.8199 131.627 60.3374 130.988 60.3374H85.6265C84.9882 60.3374 84.4707 59.8199 84.4707 59.1816Z" fill="#87CEEB"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M67.5259 55.1985H67.963V55.4861H67.8135V55.6356H67.5259V55.1985ZM68.5497 55.1985H69.1363V55.4861H68.5497V55.1985ZM69.723 55.1985H70.3096V55.4861H69.723V55.1985ZM70.8963 55.1985H71.4829V55.4861H70.8963V55.1985ZM72.0696 55.1985H72.6563V55.4861H72.0696V55.1985ZM73.2429 55.1985H73.68V55.6356H73.3925V55.4861H73.2429V55.1985ZM67.5259 56.8089V56.2223H67.8135V56.8089H67.5259ZM73.68 56.2223V56.8089H73.3925V56.2223H73.68ZM73.68 57.3956V57.9822H73.3925V57.3956H73.68ZM67.5259 57.9822V57.3956H67.8135V57.9822H67.5259ZM73.68 58.5689V59.1556H73.3925V58.5689H73.68ZM67.5259 59.1556V58.5689H67.8135V59.1556H67.5259ZM67.5259 60.3289V59.7422H67.8135V60.3289H67.5259ZM67.5259 60.9155H67.8135V61.0651H67.963V61.3527H67.5259V60.9155ZM69.1363 61.3527H68.5497V61.0651H69.1363V61.3527ZM70.3096 61.3527H69.723V61.0651H70.3096V61.3527ZM71.4829 61.3527H70.8963V61.0651H71.4829V61.3527Z" fill="#D8D8D8"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M70.1172 58.2377C70.0267 57.9586 70.2908 57.6945 70.57 57.7849L74.3179 58.9995C74.5733 59.0823 74.6511 59.4058 74.4613 59.5957L73.8233 60.2337L74.952 61.3624C75.0924 61.5028 75.0924 61.7304 74.952 61.8708L74.1819 62.6409C74.0415 62.7812 73.8139 62.7812 73.6735 62.6409L72.5448 61.5121L71.928 62.129C71.7381 62.3189 71.4146 62.2411 71.3318 61.9856L70.1172 58.2377ZM70.571 58.2387L71.706 61.7409L72.2906 61.1563C72.431 61.0159 72.6586 61.0159 72.799 61.1563L73.9277 62.285L74.5961 61.6166L73.4674 60.4879C73.327 60.3475 73.327 60.1199 73.4674 59.9795L74.0732 59.3737L70.571 58.2387Z" fill="#D8D8D8"></path><path d="M71.6189 61.9112L70.3091 57.9817L74.2386 59.1278V59.4553L73.5837 60.2739L74.7298 61.42V61.7475L73.9112 62.4024L73.42 62.075L72.4376 61.2563L71.6189 61.9112Z" fill="#D8D8D8"></path><path opacity="0.8" fill-rule="evenodd" clip-rule="evenodd" d="M147.068 54.1643C144.579 54.2368 142.583 56.278 142.583 58.7853C142.583 61.3386 144.652 63.4084 147.206 63.4084C147.861 63.4084 148.485 63.2719 149.05 63.0259C148.565 60.0081 147.901 57.0504 147.068 54.1643Z" fill="#D8D8D8"></path></g><g opacity="0.6"><g filter="url(#filter2_d_6415_11774)"><path fill-rule="evenodd" clip-rule="evenodd" d="M149.845 70.1448H66.9092C65.6326 70.1448 64.5977 71.1797 64.5977 72.4563V82.4728C64.5977 83.7495 65.6326 84.7844 66.9092 84.7844H149.374C149.787 81.5837 150 78.3181 150 75.0001C150 73.369 149.948 71.75 149.845 70.1448Z" fill="white"></path></g><path opacity="0.1" d="M80.0737 74.5476C80.0737 73.271 81.1086 72.2361 82.3852 72.2361H134.229C135.506 72.2361 136.541 73.271 136.541 74.5476V80.7997C136.541 82.0763 135.506 83.1112 134.229 83.1112H82.3852C81.1086 83.1112 80.0737 82.0763 80.0737 80.7997V74.5476Z" fill="#FFA500"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M84.4707 77.6738C84.4707 77.0355 84.9882 76.5181 85.6265 76.5181H130.988C131.627 76.5181 132.144 77.0355 132.144 77.6738C132.144 78.3121 131.627 78.8296 130.988 78.8296H85.6265C84.9882 78.8296 84.4707 78.3121 84.4707 77.6738Z" fill="#FFA500"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M67.5259 73.6907H67.963V73.9783H67.8135V74.1278H67.5259V73.6907ZM68.5497 73.6907H69.1363V73.9783H68.5497V73.6907ZM69.723 73.6907H70.3096V73.9783H69.723V73.6907ZM70.8963 73.6907H71.4829V73.9783H70.8963V73.6907ZM72.0696 73.6907H72.6563V73.9783H72.0696V73.6907ZM73.2429 73.6907H73.68V74.1278H73.3925V73.9783H73.2429V73.6907ZM67.5259 75.3011V74.7145H67.8135V75.3011H67.5259ZM73.68 74.7145V75.3011H73.3925V74.7145H73.68ZM73.68 75.8878V76.4744H73.3925V75.8878H73.68ZM67.5259 76.4744V75.8878H67.8135V76.4744H67.5259ZM73.68 77.0611V77.6477H73.3925V77.0611H73.68ZM67.5259 77.6477V77.0611H67.8135V77.6477H67.5259ZM67.5259 78.8211V78.2344H67.8135V78.8211H67.5259ZM67.5259 79.4077H67.8135V79.5573H67.963V79.8448H67.5259V79.4077ZM69.1363 79.8448H68.5497V79.5573H69.1363V79.8448ZM70.3096 79.8448H69.723V79.5573H70.3096V79.8448ZM71.4829 79.8448H70.8963V79.5573H71.4829V79.8448Z" fill="#D8D8D8"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M70.1172 76.7297C70.0267 76.4505 70.2908 76.1864 70.57 76.2769L74.3179 77.4915C74.5733 77.5743 74.6511 77.8978 74.4613 78.0876L73.8233 78.7256L74.952 79.8543C75.0924 79.9947 75.0924 80.2223 74.952 80.3627L74.1819 81.1328C74.0415 81.2732 73.8139 81.2732 73.6735 81.1328L72.5448 80.0041L71.928 80.6209C71.7381 80.8108 71.4146 80.733 71.3318 80.4776L70.1172 76.7297ZM70.571 76.7307L71.706 80.2329L72.2906 79.6482C72.431 79.5078 72.6586 79.5078 72.799 79.6482L73.9277 80.7769L74.5961 80.1085L73.4674 78.9798C73.327 78.8394 73.327 78.6118 73.4674 78.4714L74.0732 77.8656L70.571 76.7307Z" fill="#D8D8D8"></path><path d="M71.6189 80.4034L70.3091 76.4739L74.2386 77.62V77.9475L73.5837 78.7661L74.7298 79.9122V80.2397L73.9112 80.8946L73.42 80.5671L72.4376 79.7485L71.6189 80.4034Z" fill="#D8D8D8"></path><path opacity="0.8" fill-rule="evenodd" clip-rule="evenodd" d="M149.987 73.5846C149.213 73.0007 148.25 72.6545 147.206 72.6545C144.652 72.6545 142.583 74.7243 142.583 77.2776C142.583 79.8308 144.652 81.9006 147.206 81.9006C148.148 81.9006 149.025 81.6186 149.756 81.1343C149.918 79.1119 150 77.0661 150 75.0001C150 74.5272 149.996 74.0554 149.987 73.5846Z" fill="#D8D8D8"></path></g><g opacity="0.6"><g filter="url(#filter3_d_6415_11774)"><path fill-rule="evenodd" clip-rule="evenodd" d="M148.774 88.6367H66.9092C65.6326 88.6367 64.5977 89.6716 64.5977 90.9482V100.965C64.5977 102.241 65.6326 103.276 66.9092 103.276H144.509C146.408 98.6148 147.847 93.7172 148.774 88.6367Z" fill="white"></path></g><path opacity="0.2" d="M80.0737 93.0398C80.0737 91.7632 81.1086 90.7283 82.3852 90.7283H134.229C135.506 90.7283 136.541 91.7632 136.541 93.0398V99.2919C136.541 100.568 135.506 101.603 134.229 101.603H82.3852C81.1086 101.603 80.0737 100.568 80.0737 99.2919V93.0398Z" fill="#D2B48C"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M84.4707 96.166C84.4707 95.5277 84.9882 95.0103 85.6265 95.0103H130.988C131.627 95.0103 132.144 95.5277 132.144 96.166C132.144 96.8043 131.627 97.3218 130.988 97.3218H85.6265C84.9882 97.3218 84.4707 96.8043 84.4707 96.166Z" fill="#D2B48C"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M67.5259 92.1826H67.963V92.4702H67.8135V92.6197H67.5259V92.1826ZM68.5497 92.1826H69.1363V92.4702H68.5497V92.1826ZM69.723 92.1826H70.3096V92.4702H69.723V92.1826ZM70.8963 92.1826H71.4829V92.4702H70.8963V92.1826ZM72.0696 92.1826H72.6563V92.4702H72.0696V92.1826ZM73.2429 92.1826H73.68V92.6197H73.3925V92.4702H73.2429V92.1826ZM67.5259 93.7931V93.2064H67.8135V93.7931H67.5259ZM73.68 93.2064V93.7931H73.3925V93.2064H73.68ZM73.68 94.3797V94.9664H73.3925V94.3797H73.68ZM67.5259 94.9664V94.3797H67.8135V94.9664H67.5259ZM73.68 95.553V96.1397H73.3925V95.553H73.68ZM67.5259 96.1397V95.553H67.8135V96.1397H67.5259ZM67.5259 97.313V96.7263H67.8135V97.313H67.5259ZM67.5259 97.8997H67.8135V98.0492H67.963V98.3368H67.5259V97.8997ZM69.1363 98.3368H68.5497V98.0492H69.1363V98.3368ZM70.3096 98.3368H69.723V98.0492H70.3096V98.3368ZM71.4829 98.3368H70.8963V98.0492H71.4829V98.3368Z" fill="#D8D8D8"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M70.1172 95.2219C70.0267 94.9427 70.2908 94.6786 70.57 94.7691L74.3179 95.9837C74.5733 96.0665 74.6511 96.3899 74.4613 96.5798L73.8233 97.2178L74.952 98.3465C75.0924 98.4869 75.0924 98.7145 74.952 98.8549L74.1819 99.625C74.0415 99.7654 73.8139 99.7654 73.6735 99.625L72.5448 98.4963L71.928 99.1131C71.7381 99.303 71.4146 99.2252 71.3318 98.9697L70.1172 95.2219ZM70.571 95.2228L71.706 98.7251L72.2906 98.1404C72.431 98 72.6586 98 72.799 98.1404L73.9277 99.2691L74.5961 98.6007L73.4674 97.472C73.327 97.3316 73.327 97.104 73.4674 96.9636L74.0732 96.3578L70.571 95.2228Z" fill="#D8D8D8"></path><path d="M71.6189 98.8956L70.3091 94.9661L74.2386 96.1122V96.4396L73.5837 97.2583L74.7298 98.4044V98.7319L73.9112 99.3868L73.42 99.0593L72.4376 98.2407L71.6189 98.8956Z" fill="#D8D8D8"></path><path opacity="0.8" fill-rule="evenodd" clip-rule="evenodd" d="M148.246 91.264C147.911 91.1871 147.563 91.1465 147.206 91.1465C144.652 91.1465 142.583 93.2163 142.583 95.7695C142.583 97.7969 143.888 99.5195 145.703 100.143C146.727 97.2615 147.579 94.2979 148.246 91.264Z" fill="#D8D8D8"></path></g><defs><filter id="filter0_d_6415_11774" x="36.2256" y="25.1604" width="120.804" height="34.6396" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="2"></feOffset><feGaussianBlur stdDeviation="5"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6415_11774"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6415_11774" result="shape"></feBlend></filter><filter id="filter1_d_6415_11774" x="54.5977" y="43.6526" width="104.902" height="34.6396" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="2"></feOffset><feGaussianBlur stdDeviation="5"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6415_11774"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6415_11774" result="shape"></feBlend></filter><filter id="filter2_d_6415_11774" x="54.5977" y="62.1448" width="105.402" height="34.6396" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="2"></feOffset><feGaussianBlur stdDeviation="5"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6415_11774"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6415_11774" result="shape"></feBlend></filter><filter id="filter3_d_6415_11774" x="54.5977" y="80.6367" width="104.176" height="34.6396" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="2"></feOffset><feGaussianBlur stdDeviation="5"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6415_11774"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6415_11774" result="shape"></feBlend></filter></defs>',130)]))}const $xt=K(Wxt,[["render",Xxt]]),ekt={components:{CreateSmartviewIllustration:$xt},props:{elements:{type:Array,required:!0}},emits:["create-smartview","back"],data(){return{smartviewName:"",isOpenColorSelector:!1,currentColor:"#c0c0c0"}},mounted(){this.$refs.smartviewName.focus()},methods:{createSmartview(){this.$emit("create-smartview",this.smartviewName,this.currentColor)},goBack(){this.$emit("back",this.elements)},onModifySmartviewColorClick(t){this.currentColor=t,this.isOpenColorSelector=!1}}},tkt={class:"smartview-save-view"},ikt={class:"smartview-save-view__header flex justify-between items-center p-y-12 p-x-18"},rkt={class:"smartview-save-view__header__back"},okt={class:"smartview-save-view__header__infos flex items-center"},nkt={class:"elements"},skt={class:"smartview-save-view__content flex flex-col items-center p-x-30 m-t-18"},akt={class:"m-b-12",style:{width:"100%"}},lkt={class:"title flex items-center m-b-18"},ckt={class:"smartview-save-view__content__color flex flex-col items-center justify-start"},dkt={class:"title flex items-center m-b-12",style:{width:"100%"}},ukt={class:"flex items-center",style:{width:"100%"}},Akt={class:"color-primary"};function hkt(t,e,i,r,o,n){const s=R("BIMDataIconArrow"),a=R("BIMDataButton"),l=R("CreateSmartviewIllustration"),c=R("BIMDataInput"),d=R("BIMDataColorSelector"),u=ir("click-away");return Q(),N("div",tkt,[B("div",ikt,[B("div",rkt,[L(a,{color:"default",ghost:"",radius:"",onClick:n.goBack},{default:z(()=>[L(s,{fill:"",color:"default",size:"xxs",margin:"0 calc(var(--spacing-unit) / 2) 0 0"}),gt(" "+ee(t.$t("global.go_back")),1)]),_:1},8,["onClick"])]),B("div",okt,[B("span",nkt,ee(i.elements.length),1),gt(" - "+ee(t.$t("smartview.elements")),1)])]),B("div",skt,[B("h3",null,ee(t.$t("smartview.save_smartview")),1),L(l,{class:"smartview-save-view__content__illustration"}),B("div",akt,[B("div",lkt,[e[3]||(e[3]=B("span",{class:"flex items-center justify-center"},"1",-1)),B("strong",null,ee(t.$t("smartview.smartview_name_title")),1)]),L(c,{ref:"smartviewName",modelValue:o.smartviewName,"onUpdate:modelValue":e[0]||(e[0]=A=>o.smartviewName=A),placeholder:t.$t("smartview.smartview_name_text"),width:"100%",onKeypress:di(Tt(n.createSmartview,["stop"]),["enter"])},null,8,["modelValue","placeholder","onKeypress"])]),B("div",ckt,[B("div",dkt,[e[4]||(e[4]=B("span",{class:"flex items-center justify-center"},"2",-1)),B("strong",null,ee(t.$t("smartview.smartview_color_title")),1)]),B("div",ukt,[B("div",{class:"color-input m-r-12",style:Be({"background-color":`${o.currentColor}`}),onClick:e[2]||(e[2]=A=>o.isOpenColorSelector=!o.isOpenColorSelector)},[L(cr,{name:"fade"},{default:z(()=>[Ft(L(d,{class:"color-selector","model-value":o.currentColor.slice(1),"onUpdate:modelValue":e[1]||(e[1]=A=>n.onModifySmartviewColorClick(`#${A}`))},null,8,["model-value"]),[[vi,o.isOpenColorSelector],[u,()=>{o.isOpenColorSelector=!1}]])]),_:1})],4),B("span",Akt,ee(t.$t("smartview.smartview_color_text")),1)])]),L(a,{color:"primary",fill:"",radius:"",width:"100%",class:"m-t-18",disabled:o.smartviewName==="",onClick:n.createSmartview},{default:z(()=>[gt(ee(t.$t("smartview.create_smartview")),1)]),_:1},8,["disabled","onClick"])])])}const pkt=K(ekt,[["render",hkt],["__scopeId","data-v-9c771222"]]),gkt="data:image/webp;base64,UklGRiAuBgBXRUJQVlA4WAoAAAACAAAAogEAJAEAQU5JTQYAAAD/////AABBTk1GEh0AAAAAAAAAAKIBACQBAIIAAABWUDgg+hwAAFCOAJ0BKqMBJQE+kUadSyWjoqKk1PnosBIJZ27haPEMX35T9p5w/X1fE7ZzW4QO4V53rTlvQAsnuXTyUxldZ8768Pan2Vf6Lvp/af3n0Ancfij+N6BHsr9v85j9HzQ/h+fv/u+Kf99/8Xob9Yr/i8rX7X6inTG9GQia2WY3RNod8ls15ULEKRnug9sqTUpq12VZvNat+jsAJO8Yb8iGT7jTjELfqar8/U75V+yt6m7JDZWsQVqXdmSFx65CotCtyF36ni3zhZyv/3ZAZ1s5D7NOsEqG0N7S2Xx4iGXl9dNe+RF6znpDbz3wOU5+IemzzXP6LPI4H5Y7c/Y+ENHsXo/Q7rLKk6WpbBF6wmI80f4L+7i6trXLa3Rnm7KUTNAapq59dx9+uCI8Tzj50azvnPR1XxprVa3BDcGEkakxiJXF6O5eolwkm6CZQFc0QNmKpmZdYD7YBgtzJujYcxQ7pMGFhXu1Z9enkwGdYO5Av6l43+5IisMpgt9sJ2/y6x37HQs4Kc3asG9i1IBHcOJIBeX5SfTo/wtKG1ia/5haOX4syyw+8ghgm1u4KyCYsbos9A6Cxr6zH3qc7v9WbX45uRlIfnfKh1T9rpiK2ULi9Hg50kUY3wl9i6eKkzj4ORcTDS2gHk/9dc0gLXwRrhUYrHSe1Z9D/BTR4owvlQxs0tIkttPu22PfoesHiPfwJeQH7e6anlFV7lNKgYLd3lzRJNLE70jcB7KYamJMEDYlli3AvC7/l+V/FmtdQPWE2kMCU1J72GelreWK1HJmmSMDhdp4c/5M8Vn8cpMQ7QVCA4dK4IVRo1jXnHxmhqmPfqDoDUyCVnBVffo8Hzzqzhk4rVoH1M2lq1u2oJbzwfDkWqBq23160CKeRZ7DcpmtG9fSmD6SwfIpUjqZTzsqGNcjVQXWV5kc/OGL6ywqwAWYsXvgsh1qOUhVUYqivVa/azh+mQBLSBo+ZhQNQobGrhnsvUOsy7044r55WfxXo5tQxgiWp035OsQlaT9MdfZmSxQ+pxWYxvPN6D5L7ITdJyNZuqiAjItNsnVSnn4A+Y2g7MJPEGF0HxtqZtUsYSlTuqMIT5DopxBQ8HtLnCFphKyfRwqcV87izYWeeFp3ByPsssO8SAnxMzNu0l+YavoxqTtJgX1AMPR8Bpl+VC/zhe8/XtCnVbDwnQhKpbP27oPjBY3rl6k4VOC9uZ6t4noa8O1zLRVJ68L91B8bambVLGPdZCkQ/p5qeES+Btck7sfrnBOAtP1zKjZtipsTUmLHxmjiN64vUs7Xl+VC/PxOXbJsT2J4MW//HfUZ80kY+vR8Bpl+VDF+2pYx8AHix79SzteX5UMX7aljXfF5fljfCI4/HqgERGBdHv/eHtvyGyuCQaVeIsmQ+epRrFlXRjZd/I3I4m2xmXdrS3HLJrybeoE2FUW/4KPMezFn95sCntLnqP4pK1lU9cX2ZeZywTEJSaZhbdiSJzHaGjlAIBcfJfjp0/+kvVdKrkCbRBseCDGySBx9U7rSKZnj6/lHlgAA/v2IztmvlfQpnIg6hNrtU6G8sBi/C40U0bEhLaOL5ge+VmlHK/hjQdti8boXEoflY7sIM8ZeM1V+P4LDSJt/9nfAr/B+yQgB2K/C0M+NXbHNL+thasjNIlWr1Vr85IZqMRdLoMzNDrUKEqwqENPZxJ90+FckohlIDKjz0ADse1/zu7eUWftK8ErLvrMJIse0tDIAls6/cDT4Xq1WoHZQ06O9dPiQcYVX8lLDjXP/uTq/bJdnkIfpa/THS3P+iNT3f3exBBEBaCjJPyuFDa+JpFXpUYieIh+4o+za7YfrhFpQJ2tKBeRTYFUVpcHRPi4RmiTkF9qNqNPLk+0QB1n2IXTP6xzv1I1Qv2kVCvF4CWNSBcxE2uX/Ek0zrLwcZld4gHb1JOAxt+lzXbAMPp7UJIM5UAAk0fb0+RKhKb2kFCz+H7pcJ8owTeS+/QqKW4q3iIw1iuPnyOwt8F41yC/IO6/o+8LNP341+X36BqBpSwQmX9qPcpCk4GWwANFY6rvcrUOf8aegTwzPKRfvrD9yaIxJzTfmQBod0kkv/tQDKENAu6xbSMpNdoBUJY/YzUBM4uKprZ/UFSOZWfngVj792b/r32PBA6oYsGaNZlbu/yQ8v7gXx+Ai28ONWrqxBefNUeKT6x0py/fPB7f/E5eGPQlXrscVTEr+simdhhMMPJ3j1m124muhpGqkxk+chn01OCj95TJFB2V87Pq2wrDkVCRoAgOS7v1wQgOm/42+h0bUUn0tmDiheo2bWmoGF4XVPT7sSLupGZSZm93/q/Mj1x1t54kNblgyTwlF+6FGs66/yMQU1enYqepk+e4MJpoHqBStxrrlq+DvYnpmh4WJEKpY+hJ2QQ2OOxhaVU6qpQSt5MEhsyaXXSFgFMAppo5tDDi9k6WLX0qslr/5ovLv4NvgL0dV+X7f7B6dHAMVhFUHPuvYvN8FUeUHaTQ53XcOW3Mp3BOip8lFA8aBRyHLtqZXVUDpTnYm2EK/DPajevx2V53jY/FHp8WGTykgAnFjWefzXJ447PE9IauJ4rog6SaMW5RlfMUttz0kllUXrjZ/8Mt0Amv382b5Q+Rfge6znNA3GMmSUSHWY/YboAkgO0XsoteJq7VjAYlycftJZfacK3oho0GeHiu+cF5/3L5LlFHYiH9I3FBbdtHWf/DvzXKtyyWUn5g00F+pI3Hj9++nR88iQip0iZQ3UwHix2TDNW8DIgHBiuMVt85wMaZrf66Ll9637wly01gPWRuse4to2sDI32N/19Ww9mKUYR5kABedsDbih2Ec8WA5PYLKcTIjBMUk4aWbEMXFMCGiDq0P2rkSTqwRUy5GKC1IijsaIPpC12CUcrzu9aVo844C5GD686feybeX0EV+NsAIXmuDM6OI5fpXBBxgEboSEGVZzljniNe7glXB2t9GbL6b9Ghpk8aN2e75h679JaQ0jRmFVkcAPJ+uFNDjAW3OB2nxZTPYiFcbrF284yiMRcpSBRq/IRf7HrmjgKw4u6AJp3OByeI/TR/yhv8XpExXho1LAgaqI1RNixg7seuCisHJq+tGSPQbHAnnU5edifmg3krYgOFIp2QAEiLSNeMMOr4YwxoBHZl/uQwZAUrZuRgotN6Wah/ly4BfIXjDubpZypY6hQcXxkWTMJEUIONHiqd6MlcGmlNEhAJB4wWn1HZZtrc2IQzhcNEDci+MwOA/wrjo0hMF83DMfB0IE/VttroyeCnB+r8cTOLiWer0heXC0pYPvd9niUZF3IgsQclOkPsqby80frN5pjhqbW7Th0Lvbxvyhr+RFanP8hXs12hjGe1rthM8dYdXAArdZUCIW9d4tY98HI1o1rBwyDGiAL3zEh5LFZTk5S4OIisRmfyUgakTUYXEbAJ2zZ1llznPNF4i7ODvnDpJU1BdpqOpTzEpmQ8Kpgv1AkmWNLYLXrDLduUE9Ip6ybrak46Gpbjb1nc5TKTwmN5shk7Eh4RxNyt+zVu+C6p3c6kLujrzSSnerr9k7cLn3DEkQ3yLHM7frD9swAv1ZeQ22Eya+X5SKqBGxb/QDVGWbRLdMJJPt+h/ZPaOGATkl1SJMKjR7GhEiJUsIg1UqjYckZrJtoZEIQ0t4JgFM6LTyffeDeMtjSCncDtVXp2mcuVLFA7tnyxUjaMH7DRLjwKL/5txAogAZoAJ1TvZJj/Z/+8Te/7Q6KLIJZcbC+JAGsSvCI+R9oNSjqaj9lKj+BK0c2M27+7xQ4mjykx0d0W/YsQ3slcoILAvsCWAh++OAHoixDN/iImopaQPWmHbHsjRH3hqDooJOUFom2BnW20T0ViRp9MBEd0so1aYWbAIrbIg1xHRYc2EzPFfHsKWdoH4BmQZXSBAC9oQ9LDpQoNQTJ5hPT+kmABB6RupIpIYpZwlEOWfPJvGy3+OJp3F5G+trh7v/Hs+XgYAluNlEfEr/6TtrbnnC89bREUV+81ktqp/2AM6CM1K4K8yYA6NNuMr7rQtPIcx1zy8Q0XeoIo0QiDEsr0H4Ph/t9LPYjWubL11Io/gLrR+kL2ZT3SkFCXlGmTfohgPq76u1bEdhMr4cKxt9zT1BbZmYnzKU0cgFpd8gT2Zv+0PrFROOuRoFrVPSWawpOllFuZ0d4PEoTOetp/phnxgYYsF3TP4YTlYEe9CNlRnMr51Nm5m+0ofly4Loh3jUD/K9JznWUgs1OuNzAh2tE+R3NULC5gE2d4TM+wel8mC0Rg0a7wd+Mt4zWevQkBDMoVfnLR9EQeqGqLzDlP0GSm00QvaFIQvuwUsYN+LsRctRG8WAIUJ+BPbu6AnoCR5fsjiDxTC+Nn3UIDBaQEyDwUNa5wBpbJc3axto4v63io05+/xs5ttAow5Z++z6XH3KswUpkgaDFvKsAX/G81rXaQKzxa6we6XLrTi7i2hdh20pb2Q4MPSWt44vAe9pl1nLqQrVz4j3dMWfhn2d5hnJlOqoqJlZP6tWYP9Efd8tqcJpbNI97m4bZCZryHnbeHJay/7/o/GDJnfw2GOfEgcMFm0M2XDyHklML+2eLUKiImWplvmrRYYbTGsXZnhXk3N/nNhvsH0APAxCTD6c5Y95W0kyuksEtlhsuDkVIBjZ5Zk1Y/yi4FcGm2WMiJxeir74Wr1EUdF4XiEYmmHAl4OtEw3bFc2vwnLBR2dWmXTHCvpVRiVvMMa9L1ve1fOSbCI5bccNH59Hf4KzlDG3Sj7r3sUpku5dwGiRg1W5IR/U7zy4ZuM3zXyw4nkn8h4hTmwbEqv8VhVPygFn9rOmAvF/8QGEBoq3vASL/IQf6P628WN6MPRPBtjZ0+4qoYPofTrKC1RmUGcmmA3jn6Mw4qvHrC4dIhpxQCRvQg01xOsx0eg82sBTV0O9rpLP228Q+J4GizplOeKUiyxlzJRTtGMGRtaHAyanCi8L4mVmlrxBJoDrrmlgPeQDy0IdvJfOZcoyj8jINQDEXpMq9DMnC7ZIxiDBf8aRswoqsSOv7Y1tkaOZusPxoqwd9b14qYhbGONgFAwuuQmPNwdOxolTcBCd0SGGiBSxnMC5O+ZCIz4j1JxXR2iMxT/rVKBhZLhalIBCnyTa+GCsONpfPc0tRiDiZYfSCS+ljavtNdmCWHiXVQ6+wyxdz90GjQLrpyMcd47zW6UIOn0CcyQK+tuLuvOUvomICPaNDVJ1Cyjh0DtJA8Kevwu+Uca2+UCjSfAv5VHUSHljU2NOpOeCAmgBKOuHu2cdLzybK4JW7wtAN061+mEJcKHSCoAgCDlEAMVn4Qj9C7//LoqU7zKYZ6+yitJsFVlw35nTksNUr/h1Lt9qR3EAPL9Jt91aVvceQWOq3a4ZBlY+DaiU+eOievNUjCeP41qQWqKl5V93zC65B/pLoS92Z5mWzIgC8u/KKYVpk5Inu5WkY9/FxlvTkIVGpfCht21IqnCjXXDgqHGm/KfMvW3nFiaF/tpH36ZbAtSB1ZHiYRveUzLNEq45ou4TiJSHDAg5i7ENwVYLBYC37wEkdmZP97/p01o5RpPCBqk6efCbBCPc4B2ehe8NBV6Q+75YzwmXJJHxRWIjcVX8wlqapkeTYIzVT2osXdDwHLds4lBbRotq5ZanaA6g1BYHB4BgscjIzK+LpMUOIsRTiH9Vfmb1qT8uurcbjd+/dTlIKns6Wv1erMvQjKDyMBxh0RTKDg9mFA4Xx5MUJPUmBQBD8EGeBpyUbIk4aEsjxNr9OBcpFQvHLU0wmnFO8Bg8TuhtUa1QTnsvMhF7NW+7wZ6KZ8Qdt4gKfcAElwWSHuMqZWlYZQidVT77Btc+tA4sG92AsJAZ/VQlj2UgfgqT6BzouCqc7uNwiBq9dup03B76j//hyc+UPQsg6xIS+1BKfAwajuop4UYjNuC4EY7xqW6qjCh7W4ciZ2zxOS8fdkvUpANGwwRRohxssaHXq594GlYCyMWuq1G+80mFkF7NVrKGwIVtwQ2LcgrY210YW+mnwTJTbGxvRqAyHAkIxANMqJNdI1c15D+yOVUbPamD/BXFo3Uv+g/s2s8CXdOmdRAJl4ZcSnbB1+xpj8TJhS+LLJvFfnAVCBAGnMnKtizMKJxz7waEoBvt67kiZBS63eX0OZiQxdBFIZZtAONvEQ4qWZ+wBARQfxNKKuGyQ04/YYbff8coE+DdAfuCGhvB/5du7GRlGIaZdQf8ax///KqS360PviK88cL+wrTby6S+w+GPxkyuu/2PkLUtcQzJXEzL+QQQZFMGL953/NPnl7ngjZT6S++yG9zocFLwGaLQ0q4SSMp4TtIJTbkY2fwZ34pJEgCwgiC/wj2hVn4JeFy7oH4R/9t4hRg+aZq+gDTW8OzHeZWfSZ8+QPmX4536JsIJF8xUiIzdhtxV7Zd2UrnAQ9onTg1sFs2eYiKUpGKebXDNfflACk2lNIP9TJcXcOS/iM34X7Ov5JF70568bSDE2goFEMG0DdRr/bJAVkqW21ef7OaLqBh8weRKXNjZV+56Cg4/zZL62VmMWEERKDhFgi74jR7E5PbQYtCqasUOyXGmEB9AD2+2Mc+1/83ZnxPSzSdD7LZNHt2r+hL87l4Jk9AyyTL7wdDeEqAc8Ns7JYASs/XVFGwrFY4tLvDw3TOGyzQYpowjfvIUDGqyW+meJxHIc3qRu3m1axQlLL8Gibs0YvRq3ZHzrN/FuPWT+zpqQygifj07joC+18b3iVOyixO1T8fT2eS9DkS74/Wdx7hPD8R4wqqqrcyKlBb9s2Nq0crWTI9volaRW16s+YkoHcCk/p1kAmodpu4yc4KVP53Kd9GZJ7uz5xteBjhMs/Myn15qdLqr4QL41NnSsIINcTiUQvimC+r8ImcS/uzJ4/96DWlrTZjAz9lFrQahQTFAnbtJXhIdRZqWmcNxHmLyuJQVOLd4e7G4K0XuIgJMiPNjtxN4+nWWyArhu0eyKs+jrx5u9LsMQTemvxGET9Zw/Jww1pMVIq7O+gdqxvphc/++Yak5bWWroFTNtOLmK/vCoQb7yJsF2K60jgpazhfylj4BLmTwSvExtyDzCrrUvPhEMzzh6e8M5R4EmnpgWpHAQwx2u6e1s0DTf29Rf/b+w6vz1+lzEdWIJYqPfgYSnczOpgKaFe43H591MO4fYvgsv2d/SEeqPl1/nFNxkfprp8Il/I9pr/YBdPh3jZsnyp1debccbvNQIsXgRod9wmq+eCuzbYWH5zzG2W0gzQlTxqmHd/oRtvld1UUDk+dOwock92er2HeCYUF46E0ZEjTbx20mjXEdRe6+yEHKgT0nlmKgTdgLBtJe3NYgbY3aI7FbGhoQRCK1keT/Cio5P6wJVn+ymGOF7+2bWwRDvTSwEgx50WQN86hs/7gZ1hWy38BDadj3rrRezys2HpEJz52tB/a98fPQgZ1oOmM7UJEyYYWMnI4I4avKnDc2NFe4JS1i6ttkkp+GH4VC9H5R8WCK05aUrC7J30wcC+OyEJIaVQx7P99O9TBmBhPeMFQa1o+aL/X0xwgOPVvYIsxccQE3rvjgA3rGYxENQuAlOdBK0R6508UM5cdAdarG4L1AnCeDbGobmy8Wwn9zYG0Vm6h+BKaXetI4TsYSr0qRuDX2jJqlMZMNX0qFP+GQlelrRNNdooH7KhTRxXZXCRk+S1NPoTNmwMvmn+VK6u/wRkYI9TK0PA8GIUvqMfKtxciRNYmzdlZEaItqrscFuL5NIKWGU63BzjhxJsBt5x+BuvfrCCI0pNMoMy/aQS3TeUI+28iYtIErGRpBmSrxUuDlW72td6I7GF4MFebRbZsq1xR301SJ+diL6Em9mgivbVKUVNT0UeY+J+ChFH2pRI/+4mIVWXAvLNz+x5NqepI8nNCfFO/M7/Cw6wiUs13XlGFl6XODTJBpuY2a3V2aNlH5GLBUMLcf8zQ4iZYGpNBGh7vXcDQkO3jC/mhnWo4KKYkf9TEg454FkYNdZ4uSIUaZc2sVYi7oQKU47A7wRW12LrDHFkCoEn57P0S4KC+m1JojQAid+nUVodBpPZxCt0T9Zq71sRu+DjNsqp4EOd/kKs5N/k20IrVg6RxnRcwsrqondzfmADRgLAAdAwz9z1jXp+Krp4sugDkhkiPH3aNjIm4PxZ5mUp2/4cq0Bax2sT8lhVcdDbKKh6otDl1Wsbz2zYduDYGEyXPFaXjrd8E5hLUe+6GFl/qxfJgfa8QWYRI5/hzN3v7tIo2vtsQKSDfZroAJHSrTOBrJgzUgTJOMoLXoNg2v7+PoX6qLNBYHy9JXIWqIlnmut96XAQJJq+HMeZW1q+rvPoTmITOgARB73bVFSvgEqPasiC42pz21pWQQpDxRwqMbAc+rGSCjlTWbS4hMTbAl5AHht1tACm5CqxqNIoHvEuAClV5LSYEfItYrNoRH4+MYuorK3M0SvEKGxL7ZjLn8RSUhWj3/qlUe0ofRbHK3Y/spI+OPw0OtR7cLrBw+9n6yeNQTYASK24LErtbd/CMm+W+6VXxz2Ommk6PwgxaqV5PS/V3g/tuWpaH4JvVYXrooIW9AWoqJBBp1lctBnV1o5FgLlL5vZMtSwAklEivQ6OyVLzB9PFCNUjwpCTwDxUSYFAkf/TYgHqqycK2580pEWOFg8ti1ETZvwuXuVCtIr2/279uBM/LSZE/xx4oBfyAlDVIALSA0+gOp5ccU0BGg3JK/JkRBtW7GfKSIlgIc6AAdYR1lhbrPy5F+7sgx/kulrNR1+IMZw5yYDBQ8mPDk/It9wef+G7Sew1ViahleWyvMmzP6ZALNp64vUM0CUvGFQl2I88EoOWcAzMV5QlBR9U3eN57xMHVYVF1CEPxAPuJW8ghnoixDQAA7gBP3ROuriTOCL+NYiLYaRrEAUGygArzKyArptKXEAd0m3Fu28TL61GiF3umRxyujT4XLk75puba3k9oQLnUJLqhk1+qVHAHM2gx9TwnGyKt5ZaE22bLjNPf0C+sAqGPs/L/DKa/dnuEacb1hh5w4+EQVMEd+uSPDOfPxgfld1dv2Y+VkkNr+IbhRVH3NaufiF02SNh52jF00KeHqoZSP5uWC1RoUriWbWMT3BWXK2CLYFYWgARQvaGRraolxAESiu2FdwsmHfgKDw9bd/qfgq7pquSUHF4q9Uj7fvOG1xf9lIR9iu/5EPQIrQr9mYdxa5NplKEwWNnvPd0jdA7mxj914hcnh2KQ2GRGgpJxUWvsGG/E79xss2JsMuM/eD75TTEnKA1C2dc93tB/PhOEVJxBw6lUr8qoMlyXQhyQ2PfxEZrO4mF6pflaVdfjhuW+leEgN/UA6+HMYq7EqVI9gmkNk/9hkbKGt+dkg3xoel7eow8a+eQAiGk19/QbyR2Jp43bmV4fgPeBUdIPXf9bQl+il5OlTDLXNZ4PL30uJTwio2ONK1C/M+vK0eA9tDSfkEO93cUcbwD7WkNbrNO8DRCyLAg2czenmwSosi+6EzX2dJGraYrpUAc+S2+d7r0bqLr+MScfHNxzJwd8pCB4T97Lj6q9YZH4c1rIlfT+mqH+FXJAp/YE+adcqChhEBpr0IO0tYGkt4ML5N6tJUw8+cq0b3EamyU77eSFz2vaQsg8cnZ29mzGW8JFCSYf34X8hKYzCmmjsKFS9oGjGOAgg1l31xla0i5mpKdzi8oMaZVtGPeMvoSZfWB7GiYDwvWU+IKbYbzOUK9GLQbna3Wc30QpGcirTLE5H+mZz5zOP3fiiugVIUprHkDEnaqm/nvYIRPg0tbuxIjUjgA3RFQm/jv6c4ZYv/7R/p9jTzlHUzLtUqimcSm7YJtSayCzyA51mMIwFICBlAk9wJOhiJ3Ud3pNUlOk4GghfoAWrXAKs5GTKCKcF662qvhQB1NIoDDOhET2jlhxAAAAQU5NRgodAAAAAAAAAACiAQAkAQCCAAAAVlA4IPIcAABwjwCdASqjASUBPpFGnUslo6KlJNQp6LASCWdu/BV4Fei4P1r/a+ddzXQGOz8oV7r1AbiLnedOI3qHIUOw3ou+gfxn/K8NfRz9R2x7v9qXZs/l+/f5Bah3tXwd9oPtH+/9Aj2n+1ed3+T5l/xPP54C/3r/weqR/mPWM77v7P6iXTA9HQia2WY3RNerEuUJA4d7Yc6dIZYKnh7n7KTdtok6YyDjuyEHaoWsAFjDQe8vMt8ZMF+KxtcllCEntj6zySdTf5T8BM8qw9EXgx9uQYiiViWdm+rYSwgTuTrdSEqOTjRJdSOsPQfGK38SjOwcyUvUvUvOFUdzBkTznN1p+LbUsYTx+W6WezB66E8lz2z4B/mp9/4Tstt/LXcj5nrpz/s6nxbx82+jfVjSg4FdDmhCjCDJknJJQa2hP7OKnpJ+2Wd2WBxHQySM5lO1h5Sffo92RuJvD9t0RqIg+qVEEsf9DC3E4dV+1tHS9nKg+l5R92c5Ca1A1gTxyGwqVoS/h/2X9eEeuKU0SDam6g7X7//ZcE9vP3mVlTGHFoM5n2IAklftqU6x9zt6LWpDLDOtqrcWVQtPVI9ake9P1Yg/QnspemVEhs93QO+vbtfr1mkDUMR380vd1IzXPbfb4cOm/J5C/kpRGTV9g+a1SJG11/jcgzc6y9Ji6cxiBy4KSxzIggSkyfstfSz2Va8v0igf1+Ocf4gLdAr9tQL6LRsVj/r+G4q7m1fD3PosTPSEE0dg/OGzLZokrDYkWRaSX3d3sBbBZUMYIOTZDMVglBSTX5UFe4FFH1wUSZbry4Jh6r4C22VaFt8NOj1HD6nNPsY0Sjr3OJnqQ5+t7fXF4p1upw4BSGDGR0U/5UF6Td5iYQGbBxzkjLLtk6IqSamWMlWpu3KAcGIFx5KUw5dx3ZaPDo0EpWJTVGQrWJ5pUaIcZUL+ZZ21Edhf/H8ydTGZDvXB7/T2hZInKOYZped+etqLkG+6/LbyeG053+dtmAgUQE6UW7+ZtqVPCU1ioYvqnzzry7vu5Bg8LhlJb+8v5XkXSN6vo9BpJrPkI2GX1WUCP1WpkXTuDwhag4BKR/SYheX5Y3yoX2Gr/rH1OAr0ctsFtD7zr6RuWmH7QOEcfCanJdW9hvR+Wis5m1m+8ZgzL3Oy/gK6vJTDEyo9PCJl+VHmqGL9iMfqUKXjsJCxs6e4OWMXI94pqGgdmo5t8Pa5KdQJOSVhzHXhwZtmfs+VIinMhHwGmX5UL+BeYDNlSGuxcNvwS/az4nIPDrNQWkaaSgiNE1J2H0rKhjBcRtqWMe7pSUa9FLR7EfTJaEotUaQJxp+J+/5fljfKhi/bUsY9+kOF9+j5QvL8qGL9tSxj5eG9o429Ek3AQGyZl32W7nWOep+2HmSlDTUuLJPMC8pHsREPZJdDzqMF9ytF0xqTRlmDU9r0LfVwbQWqfWsremuLccdQdwyf0Z8mKrj5Gusm+5bTj2eSlkGeDQKa3SVEbIFBmPT4KxbgJCNtn6HS36QCoppEkjUwAMfiK7Uc6nevYzJQVebCnpiAAP7+HLc1/7cLqU/ShLtzmLVaMgm1T6LGYIwYpMp1PSsvt8TpvQPri//3UH7xDB/9ECR6EFPvpcmjVz+s6VYEFSUwxNc78msKloc2dgefUX2WFwIpiW3ixldQciThYh0B067ek8ZcYArKY3ywA+A2NRsfkfi71V2pSLmKSloVlBnfHcrgaeylZ9RGXe/qSQ5PDcisf8qNqDvsK/X+FX3mOFaojUtEHP9SnrEpHUHjwbpEnNVbWVi9a9MDTX4eS4aF5EsmgpUOMx/W/9feRwvfmbovApt3b80B8olzi+iNvApfdr5/opN+/1j52CQYcDF2tz2033AANsiVx6Ri4bjTcaHy4yGnwj7LkHNMcXFJ1QOBsPksBZrMEJ0qOoIq3FzqhWSqLjJ+1a6qk3/MlAY4+K5MfR6C6/F4SJcs0NykACirz2Sv1BfdTJ3VpQs6KyG08JFR96kX/YPSpXscna6nW9clWo0k5bR04kfQmZmxM4BjhqZD/P9RoDDccf2g6z9Nj9pUiyyj399XWv1BFtw7A4Ij3dKj0igRC+SMNiiqwi37YTiSJk/rJ7/Mwj2+7bG917R/ZIlTpMRkWKg7BefyqCdHB1p053kef7cDtWQtOeO2XJPmCcx7Y3Y/0ublaNBA0ESgabK0Kmex0NcMmIeldnTE8M251ZrIFwD75VdzC5LQ/d+jvleNX4HVi41k+bloDR4RxMY5drCfjEmJ+DprvwhT8GipHp/VgUKgbTDwNb579HJbZgmWCpduvaiL/u+ePzojT200iZaYAYs7d9A7HyYEZ/MOsF4nsu7ga4ahfFvqjV2sQo1ozB/0oIXAOlH5JVhNZJi8bdoqgeqS4yVNI2be1m9kNlHfAwsFPRFVMLKjJRKsUo3BUy3J+F7P+aDyRi0E2VAn1jb/iiDSxPDT1LS5wqqDg8u7Xh9SAq40a/GmbjOE5SmdRPvaPAEaU+J/oZxmXqS+BWTQmmylQcVu6yJqFduS6KJkbQwdahP0HbIIvqaLcpz/XCIJcTJgn0EWA4++XSfUkEexzSMZ9Ukb5JkSerDGxrw0j92FnfyUYNaJ+OzvzRe2AdzEs0sFC8anBSvxl9LZViGxZfC8SrQRKiJJGU3RUPjuZQv+F25Mu8piv6sk9vzl0xKNMfVq/X8TaTaDVgci4llqfoU2C7CwlDwH4TAGz2sYNOqcSsw5qdXmOViXsElZ+Rq39qdQIu3x9XFGLWkEN/PN/Migk9kYcAePotFdn3IzRr8gEERxge+tQIDTOXUN/DpFFUUW66PepqpU2znhoqtKGSo1hco0QqVs3bs7HkXn4UxtCC8XP6h316+IbzdM9p7+kADPCo7/JDeX4wrmzhlM/j4JYc7FMQWMRvgvxRQVunskBpoVExFkJeakZFLtYRq2fEk/MUIyrjQTSpg0SF7oygrE+Eg5NPIc4EzhNjXrIe1nDFzo3rch5QdvKhpGrtsCirXgSmYDACOwCiN4DqHcNZSuu3Qe4YSRsIrCvpjfvefTuJxBGeS5I9zaW4FW7FworO8rmN1NP5IEJ99c0FsXkBbpnQXZTOR0w4PTgamrAWrMnsQDyOqeJhgPwtLjdmaUcy5VQcndlxlwv6bywkRilxQQReyUysACN46xO3cyv5EKcR4bfmjtoJjXYkit/m88/qPgW3Xa1k7UP7UjC+NRtlj7zodx3PejEqImZvWPfIQYn+Me5ibC/pFRGhZVbAfYNK1qQK+0FNvBfki3zeIK9Yf8eDB0oxvqoBoEnWIde+wfGO3w9h/xxDY30WBg5XIApPkrKa7JnDcw037yKfqX0au32+EvICKKxUmWyNPcQcgZP88fZ0vhEammkf/i7xY+ANc/BHIgZP2E4Q87spHsGg//aQGmv7uSfJvoK4j+dsardOyL1qDWUi0jMBfzVX26DZ7fD75jbLvKpB83qSlc7bDzMMb+pLzATHlYfcUKR3XpHAGjmgOr6tXAcN/t6Hl7Ib7ufP2BXTZP7T8N7hpMcCc3nYQ2YDJVwzVLnbg9HLy3ShPK9qgnoKDxS24CycI9JwA28BgzK3LQhDatz+q2UAsewijO/PswBBnyMM8O5r2bCOJQz3/MSIKbEbj3x2IMaBgYo2dUGN3XmnLWdtHJKwdJ/tPYFuGV2qiQKLULCvcE6UthfNL7sCqilGofj9FFaMw8J/nKAZ2WO1hFHrZvnOq3tU/2wu9RgGwLnoEr5u4g0EbtslT6wNtGtsSq1JGPRxChE3KHpxgePeR6MbsprPFM6eiQyYseDNaV9XSm1YAwmF2iDVn/3ISPIcYCJrQl9IQx56nPvejTft8Tzs1JCqN+sAwLiPDEI7QfVnOQ5qcLYOaAZ9qlHufjtkNOR1ow27JsrgmXgrUtvpbj3j+lMZfpuh/fmh6SvBvDnndM/2FDrmyk4Sg2iVymQ4uMSGhZtcml2zd6XS9zmBZ0MovRgksXnYPACeyYoqb6X+9dZNUkgTohIiwpdLYZe1RvCNmDLTaGKiMpbC0KPlNT1078hBQFKLsA1h3ndc45eL/dLydgfnGxXzAjaFlOO3gUmRasw/92VfbxHT8LnY9aKy3iucCvqmo8mjMTtMkcRpwREIZjek2BFTZLM4oxh31Nve8TE+J6FVIUXrHvPm+dkviwzSE91orCfc1ks+rvos/T6VAxNdF3kpdt7hoO4Hh82H1kDXHtk6IkxoLNtG1UL7vUfixjHRsko5waTH9upq9CP+biQjTTcRRSt+zaDoXXBaLOSEABnEyfkvB9AEnY0Ht7DTGNH8ty4x2ggfyLS6Gl3mTX4U1Rny55Vx47RqVy8s/fV42CCIkh4xGUsVfz7UCdH6vZ5np2y1swtgRmgMPd0FieOGuXcrIQ9h6666Z3IkuY5HTiNPES8R1CWHzAjlvR88KtP7sAiEfiNOin09r4mL/yZvgSRAK89bJz/NSB9M+ka8M1Teq9w7QwiTdJMHrhYJWDe4djmd8AVNQRK4KirLoDN43Owm372O5mTFYrjziurDsquuW+QAPx41G9gPd8ufl48fofTMVOhuyHZfGIyYMYQ/hSONQegew9Xh68GLmYTxnA3WZZAYUsCrJE3W9k7TbuVCxS4CPU0zDK4AI+zmyEYk4dlM3uBO+0YS8Ly9Dyurgdhn2S9EM3AOKllmtBWuw7hmWjF/jLURTPFYLbMaB+0sZfZ+2tg1k1kdKp/m4AjKjFSZEUEnGnengiLytDscJ82DDP7vR4X9WQDE+X/hHKl+celR+5vyrxoIySgf0K+A8tVkVShoIC2fjCT6on5z5lia3b9reBqKXJjl4TMEgkfGc0Jr36coqnlMG7hVfPNrVoRMluR4999XooreqITra6LMR4VLRMC6VJuSz/MRF+vUBXGKuA3ojBCiB/o8lLEl/broOqpbfPUluh58YtejHeHa9XojoI+5Xe/HKR9aZBmMTrE2zo8uMn4BeAfUcjcGMhdwFq8mt2pM3ByDMIwNJNmTnkk6QquL1weTRsxFFN53BHewCStJ3oK04+YzypJHEwN5jcMQMGrHdSV8ziBDbuBpWuS8oudBs9Z61VhCNCgmYUIzbFpCuyHiH7dvFup7UgvXbDakqvvm5Py5UthLnoA9igUhtQvPZFKkgcXvyzUKwZcEOB5pfKfc7je2//Dh8KMBZ/VtARM6fgqtUPol+971RXTLLBpzQmYDDeB0Kz/Q19J8OdRHDCWMCx9ODIrmYypQqx02Gzds+X+Ox2BD+OVVa4exiYggUV9/nX0I1rPGFYehUE0267yX6Cj5M4IYK6o9LoCvgvUJ93WCEVU0/QygstdWZu8WHFooulnO2sgSIqRQJ+flgHSD4wK92F95QTdaM7TQKjz5iJLGuIanYYEnyQrs1tKHWQZv7EojRyjZG23ChNk/bzoqH0ivSGxiw8LYMVaHEY1TeUvQsoCoZDDfxlv3z87uTp+X1XYUgvn0G/BNpvTgWORLseDDZYHxVwElNhEI3f0SUrkkQpzl/W7umv1hLK3l9ZLSRy9ZgsneHfQLlcOorF4dcwQrt7wsQ/vZA5hBM5mlaWHbC0KIrKqfwnIn7VWObBghJuWM8AQJpKIsIzsO2sqZ9PlsR0taRc4OLv5X5RFom1RD1Y0/ROQdmNhUuDg84LllCUiGjWmITc5BP2jV/4DsjhPB3ERLhKSuOR0S4MTmafBmNOXBkZC5JZU7ce0eQfvdQrLimdgjg9Ov8FbRMKybAk040bLt2m42lD+wirZk1ChpAuFWPPHEEyIvrmueVRPtEzPA0e8acIzxEhcG4T+fpkTLvYcEwr/NZu9AXGkFb+9g6QG8QDI0T2Xlw1IZbauLkhnijZfGIymUl3B9zNOHwfhkb2LtzNYvzw4ZRFNLpMUXQlylI76EkLJso8Ub2h0G2XoEABQjyW4ghPJHPDW6BVoQMtPSAXOl0qJ7URbw16HwUS/7Gqs8opk1qeQtcHMeJ5RpNAR15CPI1jQ+IiUj84bVR2Lk9XVyggM4P2DZvlaiDMVGmckWKXRRaXCnUwacIjSET0B4S5vz4jkrtqdkpjYNiJVjZ3J+Lt2aiI72AKtAxYSMmuQVb2h8ZCTtoLgejYKmdspEEPW7jh7QPjL324skl1ybELWJlmq9wt6CY/hmm9sQLQv//4wd/eU6oZUyNiGemvyufwipVT/5A/KvE2p5PSbe8g1HZaHf8tPFJnVdS/1n8Uw8qCZkgeZCCMyQws+2/gY2aS6n/0Gy9fGj0fVBTILdNPcMLHMjhN+cQCnVDRxFbCVtrvjyC9psZ43MSxenfeaTjNIKmybNOKplS00R51+yavmKbbkUYHxBQPv1slNgULtvdd9jRxx4gYfmfgR6e1dwsY0T0SblT6Q97OUL0p84eKULNjOplmHQ0g4MY1lKwrrpgctTy+eBPo6x75dzokIRw4NH+HX3F+BLarucBFR/Q692QXQcfeFk6rnGOFJvVvnN+k0ZKs5BPDu7iQCLnIbBJVwLnw+/qx9mtoeUlX+6IW28u9geiV4ZjBg0aoHpWRAuM5b/hFtuEUyJUs9kteFzy1PyUI0uEx/1whrOVpmlaLokuUIM1fP36LQUEG4wgDzacBadpqqc56RzvyGMhCOmWUwAqaawVnF9+aULjLl62ZmuHpZD+2bUalV7k+uP1NuN4t/sGMjuiufKZaVJk81f50I0Y/I1L9C+D9pectIhoM3FZdJ9RevfCN5pIltRCEbC6Bhh/4Voy5fa1/SXwpdmnF3wVlHebiK0NaaONcqsxdqRbmJKpS56MnXGtjXFC4dzI3E5fdFij8Ojlh1JSKuPnrEQCNKM3z4AAiuxT58pNVsex/PXS6VOyzy8M+73/onFvTD+otyVQX/Zz9MEBKotP9YR3nYSFmnTCLOT8dMs4LngSPffo6F2u1DV0mE5V3uck/vEmAXj6jq9GV8qKtnT4VD3+0JhfnLc73rocNSnbEebkPPzmOn6CO/ooNhbmhuq+9bVj+Z0ElqDvpaN8oDtCsgRqJALhebZwOSrMYulGSAkle9uppVPEC0Z0Tg1jTEPA3Tu04M6TiR+mItx8tkluylqzlazkyz2pTZqo/wS3dhOIjFcwdFkIew8faR84bCZNDMiVZL97Thx8hStzwCSKIDw6F2KEq4RjsVhwW5nS6WgIBj2E2XM8/w9RZKQPYPiKW00EIcbOLQXXuEbvoX0R1U+1NtPP2QnTGWRzn3Q/mJsRHf8+ITG5DwKkpa+p9D5X4CYdZ61G6mfMQG856zONoPw2t04sM8SXyZyfD6BykC6BVKDnfNrKGdEsdK+fRLi0rVjzPZozqLvnDa+cPABlQMRJU+SrbtYHgUkZ6Fl05FYl/0csaouBKlJCFYsLZEXP/nh0Ys4hexNdKIHhSQgcmVQdpqJqvuAgWYUV88g5WcFhVQWrMfpZjR01qujvSwCQaZPsyebl8WlRBOrFn3xJGOIP3Ape2J3FUDOJpGb30mdAWNTNJvFoPFplrNBVkO9048D783ug1ZAuqYnRv9dMFs4FTMwBMHiG5in0jXCFI+2c2doLFu/dUKfkeRM0jYu24S5LmVUZKLiAAotp2DDYiczwAFrkhXsUZQ6MEGY3DyCfAJYOYbbN9a3khwsgC4wTPhVM+C0AwVKK5SCadjO1cIxzJZXtPvxbW3XVXs2ERT+BElvVq2GsahDuFcn71XupjxFrQ/o4qDmPCv8i0ifxJmytCmp63LLWVM3KF6WKe9TgH4KUBdadpixO7pBzKXsqDX4nIg9VwsoXUvrHU8IhUPjUklFaUdc1iYOxZBjE8HY3/q7V0nDZ2GOekWj0IIAaABRzRx8NUM0IqiDeDMywoKRa+Zr+lvk9fmUhpW24GDxLdq6PQk9/fDdEIW29ZZKQjDHIBnzuU0mxFpGyLgFiu+U1nmJb/7qAnct5js37OgzC49MjnJUL2Uez1K7zVV44v3GB6S5G26xlTzl7Nw+QJf/CawVTmK094ixaZfyuZbm2NprfTzLcS3C2TqnnuJN2zq3GSRDTnUwgv59cHfEbei53QebtRKKgVqH8DdyyxFhQ12WhUQCKyi2vxggh9HWiYpav5XZB+7GY0yzWhzag6DcjaP9KWF1n8bantEtG1QL2ZhwfUmNVyV+1ZFSJB3VPNxBilm44YWxupWGe0WtwF5P1VQNZ/hVg/gOtYGM7JZob1Qy4TpigpmWZwh0XLD8AncOrxM17VpRtN+CSbZ+IO/3iGz4yi8iQsFMXeRPKz2+V2BF5GeUHI32UAPBoEHfumqVyfwqDLKBy4GBx8L7/KZrYNI4eLDMXM/BUOWzloz4vII7vOombFAHPHKNRieJW2xNVW693811ZvE7EJXTfLTuns+kmH8uJFw/eu8al9Dbof1vjApEezUuroaXz3rLKsgRRp10kox7w/NisPv5MsjRACtj6SqkJmSavRegEVtPmFyUlH3ioWfuMidMDMIrytGcGMOScCvXRBTsxM0zeLe0FbzdfYlxPwGAh/ZrJvTtn0N85goIxBcg56nSYHxbWB4cGQOMt8fYkUS6tiGLgpVY4s2OhiIAlCaw55Z1ZLWcFl68baCN7pEuluRzgY4HGDWuQN6ZTp4ZtH5l2XRKi9Wrj+MFpm4cK3naCxjaFQJEUboczO/X21HL3eRqpCXuKXypRnPLRZwhYOTiGfAoBu9RCGX+xn1Um9EoWUnUx2bbPkgeVmG+bf+OpKiB26HdHMQkMa2zqNRqQJS2MOXbZEW/l5hDhByxhU8gCjoQkjhIMLFnS1+PspHMHL+Qr4QotidINNBdLNHLNlYixAbGRP8n8D5qSBK0ABuAC3ehMiCQZwdYH73FACj00XYNAbONzeNpBttIY3y6j5qfNaLeHViA/I5gO65F+c0RA9aj+LMsvg7k3TE1b70DnL+2M66Ecl7vnzO6ZmGNS9bNQPgLlIy6FNG5Zto8AG3MUOgo3raWMD5uVE4CcaHCOxhlSm3hRpZhVbyIlxXQoaclkrYPgLEVeRBU2iqiB60hb6br76BygvFLiisi4mw3jUTttvwHTxN/GK0thIfDJpa8gihFhT7cFOH8T46JHBw0WHjm7wOdhOYCq1GSNFEhneOcSskFukkA4hBzMjugbiWLQjha0c/dvdTDVIwfu1U9+Pvy+GFnpGshg/XneMjc+UJGy39SGVfjcIc0YVKvrp448yCnOsEVauHcKrydz6y8gK/Wzq7cwKmGaeX3NRYGFS5Li2uiGT4n/AH39mCkutuHwYrODBdFy3W8ffHIveBFxvxVeQ/49vT7LXikrVGt4cjlHDUrWmwWZmmXk+YSGYl1NLr06d45dMIShJLt+esPwF9ASdBSEm94uwOMRpf8y9Zj7B3ZghkvttB8vy2rZhZoP4pbyLnUIk3gbyk+rHP1iK36AjJ4vv3QbXTgmRvuErdEb0M8KUTzE0IzfTs4SepXYnVYo/jaRH7MKE1hUEkNbBqu6ClCJjhCaAZiad/YQBwn/ob621+nw2azfUSQBeL1HDGNR8i4kNKsoOzHHlIRHX10DQwKj6sQNCUv+mnHQxZuldy34LJlsaUJwv/8VByYYzsvumFr0GVSgqQNOCsCjH5yaHd57bT8uxzQJGGMyN4DGl5Je7nJaxZ2t/801+CqqL9fjdPZylhMH+EM475rhME4tNXhPR/KxAHlMguGKCsRMtvg154TaZccPpyTBE5+EUSVTDp6YLnWTk7ycch5E9YOLDf1NtjeAJ3hADriKPBnWz3gFJ9BHKJOCWMM9NCKVw3kdUDZ6nQAPl9vJEL6bpWZnOcoYcaY45Nxu0xjadUEEYgKZ5srT9emLMgcU3OIGC/jHFaprtfWAAsbOATPF6YKKUWhq5eWnE70JBdCu/pfAAAABBTk1GSB0AAAAAAAAAAKIBACQBAIIAAABWUDggMB0AADCOAJ0BKqMBJQE+kUadSyWjoyUlNBnYsBIJZ27haslqLExDeoPuPPR5zx+99125l7wgNwp/Ueh605v0AOmhyB+Xx55/J/7bw385M7u8naf2Y/6Pv3+OeoW7j8J/tvQI9kvuPnHfneZ38T6gHlz/3fFB++/+L0IesZ/xeVf9r9RrpiekMRqdcX3zSbAdicLzLAj3jtzQzKcjYK46Zko+RNoybKdXqIIkOVI2OS4X4vr+5HFN7AC2qE9n5BL5NEUOvzhzEGHFmiN/Gqvh2bOrxh9alntN+U5isNRLgOqZe+NZkx2qwfHrmFVDbh6G43HapaCMA+XDCmLKgVQssg2ZivPW9s/xuX8vjSod8jPMZNMzP81/uAO4NnH7bSnZmKQj8fHyYKELhDiiQ//l7MzJljDpsU0QxTTz9tHw9cDiqwLTJ9nYaNmbAqTzjau5ARaiaroMG4LO6zcfPzseGJhPFTwNAt8U5G8Rqd3QAvVypc5XuSRRvw4GldUkwkJulMmP9vq+FDvQiooHQaN/whSN63+bejO8NpZZXSZ19Yiieho+AAoQDwbamdNt2QuOmHT/KzASjsb/1wPEEOT66ZCVeX3s36mLrGG25r7mhfgxnwcAU33StqdO+1PxTBgJBfbQXRXVFykM9xykPGTrU61M7BEg1T5mBFl31IPIKBGAElt3pWixoJ+c59fbvJZLGNXZFeXoQwCOegY9lI/RUQNMSRBVOa8t+0th2kZVoq8s/32cioTzZXW7uNvyyNWryxE8oW/AZosZ8EzbqArcMZNribjREiK1C4YNHnwUtHUT/0dJUr2rmchRzFEYB0xrzBI0qiY2S3X5YVkGzdncjweg9VmKxWy09eZKQPf8zgC9G/JBfyhgZmItnEhzVUszwre4xQRG58RJzhhcbV9Rl38vjl4DzLwYAiUb08XtLNEELYhMVWq1794jO3JnNd3boZQzF4fXNJnfy3QbFh5tXnHcVuN2OJ/27ozWhVh23aauz7rHG1d4GUgkY5GDEjim+jk+USuTg1wR7gTkdGPUZaZAQFpeMr+74d197xhkDv7/hXaX5Ki5qcyDflqiyDZkJLghz0l4EnQmYPFX3+tDFmUoxpEHdhi1sJ7BCPzLotGDtG6lreuiSy/Wzebowz2zGNBTPY6qul5G3GNhWQbOF2fNMN57NDLBuTCVfB/szT1pGWcSabxNcAuhhCR5ozTdL0Vtpk2jkdrlVC5Q10L5cbsz0fARO7vH1R2z0fGADwsFSNOgPVeR6ySfkxfWVeC/LEfhMwSGvrGgb8sfrkGchVHmgyLY6o0nzD/mtDSklaLGgrIN+WQbV5gkMaSVosaCsg35ZBtXmCQxpJWixoKyB2FtrF3cKQSkoshTFsQ6XmfDRs+T/cAKQMwYcFN+mWtg2AVOl8j3uYuNs0eSLVZV6JbHlePfCHNQYCKGRS/zKwMGZKdiF1OuLwG8Aae5gsCP+qICZg9HeZnOB1AX8+N/EUAj2k6ENqB5S1uphhRN/CuXCLrD4VdEXnTgRETIAAD+/b1BthRzUJgViJjjF8foPnGjr0WtVgPZUA6ztXPcjVFYyMP5QecmYsVL2zX+cn6gV8GS8uY24AM/0SJL7Xpupk1+6TTQKlccVit99eqfVfO+5Pq9UWlDHAHBxPz8yQHuvnfX9XnggeS06C0iMXFCZ6WrrW9GlJD/RdFo/NEds952U6s7k90bj5eDoVD21oBDh3KNwwFEh2nmrXY+vjavJIGePO+FxOooNxMUvY1hpBD50nBUuhs/HCFlo0qeD/b6GON1W0GefhxoO1mgEgq5CbvLiWERIXhGGMMii9aew06btLg6JMTsr2J/+XTdRQcbIPzVfl/9MvqvQ2qy/UOUm9JLITymaR3S+5fgp2/DrOezCIfyo5VX8F2VsIABVR0pcEwbpTZ7KIgE70faQu3u7sO8hJLNtirdEcToBNXxJdbLrMqJrVCI357VB4O7MPs0p54RdyCs0vSTIUw3aWbdB0RV873t6r4VasvqLmwLzzq31Wu8vYo8VkDQaNlL3Ywb5sYlPIumuwR+NHb835GyjU2+NeFIHXzTHjfKtd5q/dhn1+6Tl6bQnBYJ2RLLfC2+A57nqtZgOtWbiKqClzRfWuHh3uOwkOeAyCpZBZAD31tNh3f4ENZV7hwNutWV3bBwSYhfRTa0qwmyuhYf82f1ZFHORR6SKeyLnXcevY76xG5xwuotcn6Rdf/AI+WjpEE+wHnzGH0tXlJB0fpUI07keFz1mrUjVXMY2yzRbkj8pBolL3Rgw9WR2iDCLB0ACn/3rrj1uFb7aaU1WVnyTcFVHk2ie/4f1gvRIJv1Ff5RMvyaEvk2t+RM0igevEPjlYCzjhDHROEJC6ACv89xze4+8JgKYGU9G2SRocC5A/mjwmGJV1sFnWDLzB/i+etO7ThfdlZNElKASP/Zt5riQjqxir2K6ioPxtmZHlgnqDN3AHNd7Hil0jFaRXbQSJW1/v15MUgyquc1tADCRlUpcqCjwlH4m5T5n4r0g/flWy/g5T5duMD49wlYovSbcJ++70l11HqwIXUJzwfABZWFJreGNTTE1XkEC8IDOxRoRggUZZHMg/xKUXXt6muO96PGs8vTWcjN5SH0re1NzHdOjbPzglPsjQHtVpQ+7iEVymnIQ5qusGT/zmea77xOGjYoZ9MculnE1urB5+RGFHEHlU2KUd+ElNpubEsCqWFRUylquG/cgfjDk4n8JRFb4yVoJt+qI+ctLwFxmSl6gGkRHdfNkPyvfk+P6gbi9jBU/c2bwM6y5m9JYx4ut5BlOfp9uR++T9sd7LIfViIUn6Qk+lmHgyxQ4WCadt9a7ikWr64iYS/CcBmDF660PuKnqgXvofBwh0p8ZIJ8W5vpgvE/8mf31AdGEz1rTYmHw0oeBr4AEXMvAgGRZnLI6VwbwRup4HnoTQEJO6kETdEEk1D+0Uk6iXHH9aYLIyKu0Y/Z1io//NJPnLFgiM5aV4Kigo621QzssazFOn87f4m/3OIaJkravIp4IJHc1gMg8cZgLlUYm611HjzlpnlyqSvS8SGCxG1xRBhCoKr2+1LLsgGrfTtUbNWTSky3p03y73m8PrS3wLzrr+iepnFQcwX29lOe0U4Bn70VE6C1hmpkz8pOCHhe/4iaVtswsB7O64o3KNAg2Hllz8Qax0MU6I8IS5Vp4Ntpg5L23gNgkQwFLt//sxdKD9qAzBjlG0Y5uTg/V29wo/pk1kmfOAsIHWIfLfBlX3pvW0B4XrXZBkQBKT/+Ia3Co4QE4iLzaV08yUj6ydfxTe4X/dGAbeu4z8DqcdQ7FQ17LyqN1h96H0VTy3pyect1kAtxRTbz8qwQtslhjRqeCjfG31t5Q+Tfx/7iswCpV39NaAlG5xXVoKswtW0KgeveVJH3kAM4kcMZDXpWui45pNifhJM3ALGJ4Y7ebZhwZ2g6XSedF3NQZxRVaXDA2Y0sMducw83QbbUkZ3JQidSDBwNkPWMP/X9gmLCzh5VtQBY3Zi/kkEipDQECJNqjSxtc2VS0S/94u6kUdrbBJK2AK7nKtpOxZe2aur57QioOitZ5SNoQv72Huxs/0kqiA8Q+PvmsTp151wcF77M8G9s/G1+wI6CLp0XEdx0KP/NZDxGyPAGw/ZYDoSke5RyQfFm/tZJf/7hvJwwqZMWYbQdmI/Q9KIvHyAq+r/i/KhaJ+8tVPnouSbRtB2dEdpAixvs2yuNfPbgF5qlYUiDl6fMWDr/78Z+BXjOJrLYksfzN9sRl6zlYgvx+XH2zH/7pB+p5chQnalKuVvcZE8x2DwQYToO+WJP6OcH9i6GQpggzhMMC3RxPAYBY4MuuT1lcq++Eolybxj+CkmlrrBHMdJQaZ+A24678vPPUhSYNgZqojuAVs3B4yXYAXzqdDlqfqcZ0ewwgoEYRPMRtNxODkwwf54yqak0/5JxKt3zrTYXMSmRUnS85+KfOTL1r/agMUbxm05/9hZvqWqyKEdlTk0eAOSEbe9VEMP62bzd35HequyFx2cwmQ5YDW1vNwqd7F3DpZ333TGTaD12MoJ2QNIE3nQfO/EQq/CTCFy4ZIci2EnBo66ue08/KrSle8A/kEu0gEqq2jpJQYNtM4T1/+fEICJw97vVT4rbFttbH+J7EBks/C+P+JGAqIVr39M5KN0nO7+OTkp0J9BVeX15x7ARHnxpC9WGF3lGyymlMQp9Jg0ssAcv9UfcxHpCQAqclKmXDjMDptfX8bbVv74R1MhTECfhe/kgJgyBR8/bctmSZXvkvLLDgRxjTLO6oPFgMLjf00QDmN6ET4SuoG+5nxxbrzwz6LW1GKBYD916W+1+3rA/aCQO3Ns8zRbxvsnV7XoaZZZWdtm3DdaS13HKQr0gA3/mdHzM0ykD8cPy/dGZdeyt4U42qfzwvk/5XQgxkCiSrxnXhsooFmCLbnNlgX7owWQkgw4x4tX7ssp5G63l8lJjqHnblqj3uiSQQCRXiy8x7R/g1p9cTdJgrbPO2N/HOiMtWBMYR1jAW9oxJEt+D5ubwUn2hoPD0urW09DzBjFWyO+QTB/1X2XgxwJ1vrEmRNCY6sgpX05SF3rBaJJ/WGM5Y/rpf5nUZWgu/1JYsLAC+HmskHvAG3wxjhWH9gqYEfE1Vkg9d2JxgYWLx6zN06iDPx0Wlt1VfcbS46mvuWrLSBZDysyLNWlQih+osdmu2Wiu9JWnNMLHihKdSEu/B9/R3j8C2oTZS8pFswns19ds727fTopiCks4H483uOh/c8PAEn5j0XYV2MG6P2tnYJtsz/+a8rpxStU/3XMceGWzTkTos/df8LM4cPPatUL5TSsd2RUqVvFe1BIZ3UE8NPS3BAjURkEa52sTYGJLQmyaCM7u+YLFnxh0AInNxElG1w59IkAGJxZZw123+740f4VND6o/7ZyvKny+cnpmEiYfB89Y37rMXae/ijHAGNsoeNVOR8tDZiQ0YT4jgt8RiFxlpItYdqFLiv8hJNfFVKthr+A9Jc2AXnwmH/REJrTzDi2GkNaY6NHyJiAZPNlltwU/t13vhmlFhLP781uOvbWtdU8iVc/6TUpdVZE49Jk3MKq9XE7lOuq0bPZl8nmel17eo7R6ZHi9rCaTgFL8xXqkGDhvKu2FwmVe9BDF8abo46NPuH1zOsiBFnOx7WguczO1ADf+V1iWS5toIHcAbdL8u3/JhHS0imROBo2TU2OxFAOBaXqWV02P28qngOXWcht4q62c/pTCo3+vkynyrM/RDg6QqSvsi1AcdoQSOmPL1EQo74Eox/I+F9RKhUlgZFjHhzMmDJ0ytK2D+Whtwu3vsh3bf7DSqNkyM/FTIpoB0ED+YnFc7zzADIEgB8Wj4A7i20myhidhbuvfR972JoxZ48VjI46sJH2pS6+FWLk8kh6aeh36RWuM600cgXGpWgB7HkFhIbGuxAk8FN36Y9NnePq+QOwopPuRtOFMgyYdeRYzG4sAE2y08EiGeEtw6Kp2Ao2DhCkTZMwOlsiPe1qEH8YLekhGZ8T4jVIg4ZiA0kcajsoFlJrhrg1T+KHAZUvMjpHEB6s9qWPeLodLyo0mS/eBa9CUdiYSyC94mLS0LfW7HmcFDBlgUF+NKmNnNSa4dNeB831yDx7Faw2fisWEaJqSrR4XSr4L5TbqATFArkUg0i5jI+fbSk8KNL74OKRNFFSqv03BvjARvBSS5pB0ONhJv33icp1ORT4xogNer8VfJGR8+rAUM0Ux4p7CGTYNwFd4OMM2NtgNImI1OizFb/Sf5X7Tk9xlv5URru26b32GKE7sCl9q3+i5zi3hIP2V7uyhVz8dFqi1hRGUqAZHWLIb2d+D9aUfnScJD8wfswnMVAgnHTTXEbpaRrzffBx1fg7QOlgYqviO4l2xULNbGT65f6PSyltV1DMeO/sMcpO/g3ySJ1XjRACvPUMFpNFvZ1Lv2h73ZV3dlXPUq7h/e1lEDoTIb29nQQphWGHMEA0eg4Qyys8Y1SqmGj1eXH3O0VdnHPq4WDt/PiXA7i9qrHy9KeFyKS0pBlWf8DlNBk30arv8Z4RuPm6gccJOLH22k3+vqy4q8ie5eTLhnasBzN4Hx6Bs1ssHeNYTYD/SdGKCeU0X/EJm5qP9heazGE0gHSDuY6Nhut6wRMLbEIq6JH8/rFTl6AZdRC2hXf1InYl16CuLQBP//lUnwSupyyS0tDZ9q7+fi/QMxaPxkxAD/rg/3ldF0qRkQ7diACXZYyQWrnfwcnqmErxU6wWHcSBK/jClPw6E3xH7U25Jvfx5EHgYRIjEOHmEUBnp4lheyAmrTBtwSDc+df32P1ndn/GbYjFgjB68leu+ZTTjDp2MRNBFihrwYRiZ9UtgvJIzMRXLT4UklCxxvO1QKKV7EcchhaZXUJyzkzjDZMcFdvoE0hLv2dnQ5uPvWmadVVJ2yNKgOzLn5R6ziexoU9HyFZh47ga8Ytfxg9Xdre4DqAuPbzbGqMtVinVAL8xgk8GWs/DLKdPcCtPJoOe6E2HmtFxRes0sIbLeQhLlKahZTqWXSF+ajeSMIcbEHE6fJdr7DR8US/ohtn9zy+UEf8q+y64j7AFDuQgv0ByaRQt77LBQXHAO7fRxVw4EQBL9l4WCvX6U5qGIdBuTkXtLz569BsFhl82krVaWXZk8xEyBKgOkOjQRuqovVsTlRp/b8l443vWbKjzWl9cRZZEDG7t8UwDhZXlYZ2P4ygqJCRxBUGRIFrVtg1GreCVFVuY3MMyNK/bGk68pdDK5z847M0GqfIa+h7c8g7DEjTvAXH0+iVoJvf3z2WnaFzu9XnOydicJFR1MWEQo9kJ5JbaN5oyGoRydXV7zCiiFoyWnIVs0imuqLfjktAyELwc68jLFf4MoQmNON2P9G0AxdbiLTIORhqH0HQgqLDeBR6ue4PuaUcZxqPcwW0tcZE0XqOWUGQRoCGh9GuT5dCv7bTmKfSXx9NbyH86YpPkEjpmGZnD19bnHT7l7zqomGTJIP4HumjWT+DQy8Y4YOXJmzdI3+feE0WImUpv/IOOvAhsNhYRzsmqZ757/7zTZvZ3r+tMDjmzBwDm1Ralt1fd0zx2En7KdMPoZIU2IY59KkZHzAPwSukzhJRznWubUWSutaBfzhhouj6oGEBupIvYASK/uK6dJFZsxAqmKwVxoX+0+P/DiPtHoUxiZQvYvTGN1EAldvNtLPeLpHJrgqAfdyIk2xwjfd2OIS6hSHVJ2O7vflKf0UMDNJ9F+8FBmANaCi8p8ypCgsIdxo/uHtPxyHFJbvHsJpgAkKQa71InmPIPZ9x5Jog6ssD6vldpypE0WmSxOsp8hs0o8eSFEpKJcPf0as9ujg2/hvicReIi5Y0774xxlQpvzi/RTKyrQNq5stqpJPzRNB4/+LvYibyCBhzRh0Cn8ZCz2AB7pnpTNeo29jcNVSG4W1hT6lZ6ufuKQzChdA5qpuwYLqanvHSfgH+1FsTj5R+O7zUKnG2W06SQfHcElrGFuxQe0OG28phoKMSoprPxrUkNmyPeRmuI9w6XRf0w4kGbe55N4KNdiQT9yb5UgTHie2lEJvpLxDw6vC4Jkm+ZIUl4SIatjHXvWRhEOkRPstUCB9nFARIHlEoJmGamq9AugLGFhmD9QYFgh2y1N+t5XAmXqkomN4xusWbx38lt/YESuwLG2xGVpS/x2UJWEz3juZGGUikC2sstItgr1ZC/Wzyodz87v3QZMyoEjCZ6aYiBsxVZ+M8Lr/GmYhijS5zvOokfvxntdgCtjomlEypmgjd3Kqs3k2aDIi8mDHpbYB8MpNtDwZrzP92oJ56VsfB91Dhjd2y6QRVpjhRDtJfkkFFLCdh9o3q7kEIIv2XeA5emlIX7hZPo8yUAgLLnNMfSB6A856vciOk3LW6JZuJnwq8OIC9nScaHEj/+pltiUhMQQpOvOWvuBrvmU0w90T00fSSkRnN7kD1yOed/6lhw4TO2OyEa+iWQ97cd/yE+uyvD0/Iy/tPBT+E/1J71tcE9PIuEElnzMojh2mv9pqXg09Ygvb9hSz2787AHQNBAbZnrg0amR0OwOROUN2wXNvuhBkNBVBDUDRXV4hpH1HPPu8tnKNMhzUr7XNXuN/+HD4h/KRUnnERr4QsKCTz5BlYlSwZBD91MnFKzm2k3ga/QkvX4jfO1MbzU198/9jCc7otd/GZo+W0YuEquOJFbJS0HeFJmrk2hRN6prmPdbEP76XHUJj/oH8jN61LiVtZN/upHXiX7eizxMbimfo+R0DKgwMX+V0BjQgmM1hagnJYyZMSxhOemOUJki9GvEqLidN4wDJC5xFl3ekvksXFvy167IzJXqn/ZUvcXGognJcCwTZBX8i0DIFCGLOG5ElU208WYCmQAvEWTG9hQ4ev3EH2F+E+fXEyTAk3KfRnjvbZdDC7/wRNdaFsAG3vmKi3p4x5vN/qXLAaIUb+OpAPaU6blrZhkNdioXCJ6j80L+pqv6dUUYF7+3drRrXKFUGXR8Q9XZFd6UgCxpcgGqKbYiWnswOIGaJ7iejrw7143vMeiPsJLsfNADu/zj2ET3Ebk//rV0PoPi8mr8mOZAT8mSLTWDIW4aNDNjymeEphjm5nuItcJqB2tJDsmnE9b8pY2Oyw6yG9l6uANCMqB3so0NmyUQd4/AZwBOXOUunm3uJ6hWkVjBowhxejuaFGnslww9tBStGFr5OKkmw7BS/9VediU2hUKtosAloA59lTfv0DZtOH01MXj37L9YetwN9dsI87EdFZvjmB1lDSKFNdYNTc9cNtcCx7bvLCkgUlAuinODxMMZi1ss3GJ0hRg/eQ+vF20hRcmoJc75LG4w3+eyQdqB3yeo1Gab+dK3YsVQGN21jCKgAARBRcVM27iY3DcSfbAZX9CsTJh93/wxhePjDuStakHYnDjzDPfQTpmeJT0FvDCl57V3B6qWZdFGqsm3RrlO9y9Q94+8UlMKxSp2I70iNkpN/PyDegsV8DlwgLl8QtkjaU9SA/boIHHbhpiAoDdSe6UoHZ3i/7Y06661cJWM50ibnBKTZpTfZ/1RnBYP5lOtNZ1NauGr9pmRNjJVBkcVMNT+MIBzDl6TBieg0PD0QqF5UcK0q/1AvvehbNtxpGVNafWDmVq0q2bu5k68kjApxTNMINs787wWjJ4IUHxIoxoBE5bnavKv9R4AMRhJL7NpTNmkDhXkLpdcxhGUetrJURQh2L4wrPp3wpItOPdQOFDtGSrGMCzuVDp77Db5VmkSsq00wnJxefuskQ0KhTMDJgHQWt6c1vzllJzIkblqLiyFA/bjxVUH9E65sKnBd2B9kLx3WVwnNV43wa23PgKj8zDfo/PrXTSmrX/aSjBPu5XWE4Xp/ouEp+39yS/v3587xbrWmHiN9J1ra3r64cXjPUDRTQHO1QDH6ZIsnhWBDbcw12QWZ+clVynMa+/E9z5unY8QASp3Y25hve0oBZwhsPbPTKgPNQl7MNyRJlvQ16YzSBcUqIY0+UxdfXILpHG5fJU2xVFZoPJkvfc0OjQK20iAY+dxuLjEEWyxACHHPzWqfALcXyzvaMMCmZrFIc+S5CsP8FZIEsFWnaqJrupwZE5wEiPF1nPAVmMpF53MbIakD0/XwnQHOGDoNo1ZkqREYahSoZXZlWennSMaOHmuf5SSbtDGmhzQz0CjbwPDsyT79PkRku2Ey1pZd7McHBz+wZfwJ/QIECtTP9GnIsJ6AVURIbdNHp5sm56sqFKGesrDKLQHd0s5RmTXAOIUzemyaWRxImuaLUdH88uH6HVI7/qrzB6uEj8Lc9iVpPFTl4GD8Wsbzz9v99NJWfVIa53BJk8TNI4BkY9K1YYLd33sH6Io9lrpgVTJ4wWFxdP6TVoPYUFMT6HSVBC27UJQLGAA8AugmOJ9yRxjg9EfqhUvsWnAuRIqmufC/BIlIKVg07xJ2v5/uJ8piZegEX9piTJOwAAAAQU5NRrIdAAAAAAAAAACiAQAkAQAEAQAAVlA4IJodAABQjgCdASqjASUBPpFEnUslo6KlJNPJ4LASCWdu8lg9eWrwxLrf9x5z/L9Eo6PyIXvfURuB/5/0OunW+gB002Qdy6fPftv4a6s27/ab2af5vvr+VOoRcn7ObZP9x6BHth9i87H8vzN/iuf3wM/u//V9gz9ResT/xeV39u9RHpjejcRD2vMbh2S/+/7rlD/UCfCF5FwHipiHwf75FzxYu/AR3UWQh2oopGC4USchs4PrGZb232+/P9nj95EMOOHFvNRDp9Z0XDK0/KTK6TfTcn1Gg9xCkLtWgiHxL0QNzZUmRUS65AZwADdERGFWq1vMaZoHSu4/OdFX4mzSomcMUOU4xaz0vyXNCQj3xp6xKnL2PDDprp/oP2dlK9BPo17stHwEvD7C10sEw+vq8B1rJM1hLElRQN/0JuCkqN/spznA6eTz+cI9pJFky9c/lIP/Xl8VHI1AVF0tkeA+iOQ2/utEXm0PRir4GZpJK1hApwq47yy71NxWMLV0nzmrud77iT8tVU8003Xkb0guNrDrG6mtqe81UzvX6nzYd1sU6D75UMS1Mmmo0TcIEsf6admeeb6ki/KHlzDii79I2cbXdds0BLbrlRnH/O/+jGmOtesueqAk/l3sGW0Qy24X36AFgJ45xNK1WaK8rsVMndVSJmlQZuRl/saTeaH5Zx4Ry2DwAhQz1oXyoYvWACXxqPH87K/lxV+M9q5LKdk9jjL+D8LujLhYKMHz0kIIt49IqeHwg1KBsqBwcF5NmwFb28uL0k4TJDRTW0xoCThzzjIx2Jpyr+xMjB2FTGVDztar+MKsPPZ1jqprOoYJkZ/gbv34nAl/Li/PYtXRWibi+VC+2eGD/LXlr6Q2acDHp87JTwqFUEDK1VFooTeflxHxZzB/R+ObSxUH7klz4WXyoYCJ6PB0Jr/xdjLrG1ESm9bEgckkPsB89NH/i7uM2KcwijR6250oogFiss6ybEfHFXPNNpux9J8UkDD1cXoGz/yinGI4/Bl0Bc5ozbYFD3Xfuh7iILevKWLvhefhfxo9xQikbcwUsBYSdsdozy/XKX83Z+YWVDFJTKKbolonFkMVEOV+M1ffIrYIn4Fe2KGF+lqA8CqXI30y+nXJxiHAhnc+/MBnCuxuTjMGBKhGpaTb66daLL5UMYjYopxivdii9A0ix9taHfRq4GVZhZgRs/jT2sNfUOqssmBUJO92WYPGFQRTgrRzXsXt5cXpbvQEn47d6UBujyNYjb+w5P1SFFrALbvBIScsEvN99oKxZfKhjEbFFONqeMd3drw6cHX2BFZFNIDdGfNLyFlQxSUyinG1OXF6AlA3csgJVC65/KhiinG1OdwwbU52JnYaYq7VmZyIbvp+I+8j0mvZhi7fg/6cFPaeOCk4hO0vyRfiYYe45mrNhjI78CE46mObEMyWNycGusV/Tthx3i3d/FFuq0qj0NH3O7WRlSSB++HjNsRzbutcxCNRIImaiJfXHyLbH9/1K4WX8k42auIqh19IJTun3EYlaXZYLVgGky4bUwfAAP79vUkIFAFJSuQYHmBdDrKX1+MfXEnL+lRjv6e/WrkWwVT8Z02f1v5fhenqUo4GP9yNMlCK8FneWx4/skIa3m7PgVOp4ZIdfsYZ3V12yl1f6mhzHfEDx9R4OaK38YLQ0iXvNwIu51EKgGmCJC4NKXtQNGZnMjhH2EExJPT9S4unpsgxZ4midhArDoIQSPZ/MEPpSaZ+p1fOnYrQ5gIhzwV9tJ4k3/v9m/BYOXFHWzOfu74QEWS0c26eq7jBsJ/8SskQm/y/r6I1pHrw13vrD93g/ZSCdoM5JTiH5HpqkHaifkOsgn0C+hxXvdR/t0+nH7E7krfdYBKRugF5nmz8xkTO1VRmHi3Zt7NAfYgtFTOvXvrfRv9qmAAXadKob/CFhlpBn4TVMLe4mZuyYindxenrnC0aTyOCb2kLen8uOM5cEW+F7sK3ODmqQ4nQtfiXCP0/XCsFpaPpU6yHMG0Q13/gITna1Nc7CTYEqvVG2wvy+63t3u61j1DbOLmXgyATzeSE5YZJqFFpfpjnstvxWleS/oRMu8dX8Vvqk9FO/5bFJ+x4A5s8czyCs18jXhsup6+RbH6HlC/wF8hnMXn844ZRGjNx6qps/ci9D6sQvxfdBA3Mz9tfTdlNTCu1bgICbPZ8vp7ORGNAvKEnyP4SLMI75N4/jIMIlAoyq/WaF23P7k5ZzcewCSHLo8+QJ/p+ORUR6qNggfA72ou23pMgEeseEv2zu4e1d4vOlB5i1QL+tIcVwyfYxUVVv3s1q9AcRvD3r/3ba34Agp88D6ZY8P/3yLPi0mTgv+qoOd6pDor1GOrUdQqaw6k0FrFkBIMUReMPgpBvrRbAwu+Xv0sYQmmHEPTirM4FW+Yng8EFAokYMXfMkKK3ui5Cwhrh8qFEIiXuHfMR/7NfOKMFmeRd+kPl7/xQ1qmotEG3iR3NOsljDFEsF2iIqCxw6jCejGqiogekB2kCFzCsSNH4sbx0949pGHMKr0W+4du5bA5I6mhMnY+Or4c+/hKRxa/4vzkRLui/DITCEi6I6B39Vzy5sepH+XM1IhKRsTbIB7Yo+rq9c5+kdToI/+qvFhA6yNzH9jwvjd2cNS7lCV0iJgeS/PFDN0uX0KbhQze0JUlJiw8Y5BYumdFkrvOCbTixSOYXVQsiGXD4P1m1C9VlE9M3qfDI/gi9ikoraEx1Sdy+BGrmtMHRaRu0CX9mAjHp5JlRLid+Ur30v/6zbQ7XZIRZn4Q4gaYKFeN4TNns8dKieRY8Vs6D7/quLHRbh+ogRHCm80o57I8yajvUAD29zNtXgC9WFtl35/tXj8pccZBqQE/kawc0IcBsfcyXsWB/I6XOqgKxPJWBLMaMcr7NeH42C4VWDfOcManwkjWOaNr7G3nxkXjpj9k6pu1VV6lNB3WzOFUM/ocVdAufwskK4POCXFG/dDjLK9KJcyKgcbwkqHEJw84n1QtVywRmx3ZluHjch73AXdPdIhGB3WiuJj2AMvDTZOfOYf/RSeCs+e2nWLeOGq5KcB4B6I7hBpQ5uHDRsJwBKu2maNj/dJbqqQ7CsQQaWFz+0Qb1sWdO73RKf+ggai/SwWpxERe2UUUqzQ3MhaAp4kXoRfHr4YVlwH39MKbSGWraJeWiw5l9LR9j1ILj9reHsw15ccQIQaY7W3az7H/cRoRXLARR/ri8ztGMUdHnn0nAyshP6Sv0lE1Xfbzx2R7zq7dG5NH9OUDlhBg/J7/77d0Zay3OkWqgm1/21XtUiBX3Bg7fbAP/8SKrw2ijMadG5KAmMpFfa2oRAtZsJztJ/7nOtDQAenPPEdDKZ5rADnsoXVA5dgj9Q91QLYT37Tpd/pYNlDaemLigmfJX5BPTSk+cq53bJRF/pjE7o52vGHRNpZmODjjARervU9nes4KMGCNFzI7GZhzzy2rAoW00MQwyuBffqMq8ViAFPpqeTypkT/KE7lhKHTr22sE8hiiuwo1v6dmYj401XlnJDz5TT8Ie+NgU3uOWbEWGaI6ip52uQ3OGZsUJdRAP5EaGGaMeSFbTPPkewHd5/UzsvchkWBG7/ai+JbsEqJBnKwPNsOF7BpkyBxsCrI+HE4oQRpONTNnow8uCmPDJG1YLNDqHNtWgxihJNkSgcQhVu9jOCErm2jT6w9nrJtnGEp3RyEh54VAXJmyjB1AQuhVHg3ngQYRdxWk6jpNJoWQMkHE9dkI7SeoD7S9zHKwAgA6uXvqR5xsaRhExJF/pf7AuNIN2MRB1jd0iybCpDwDGDkpoO9Q1M0wGbo5oKPL8za+WoXvPNpCxlpK+X0TgooRPgI41Yc8/Dnr+7jWuvE6QeGOqLjJsxTfthdOiJ2jTIKB8rmP+9zU/YjkBY20oY6TYsOETwq3iS9mTF3mozx6jaxT7/ub93UTSw1G9hJ8bx2Y/t7wOnTxQnosOKwW6VPB+dSzN7HY8KpzZxBAFIQYy3uBba3AHFxouLmUEc2z5JY4MbGIZkkh2I3A0YUtV8QAmT7iSYHnsuZqVthSznfQh93mtRhAA1HgWNOH4mWnZ0dUHHwPkanCmQqZ3ym2roakNNwTb4f1rAUJOOoeYZSyAXWEmi/U5GLKezMIb327kft2VN6c0gD3nKjBW2ZgW9+92Jc66R3O3whRYKrMLnTcOGml5+LtlCTmmo+SG9lO3Mlicya1Wle0gLWXZUMJPxRA/btz1v0FfBeupuWZKMZW3c/w7gUveI+YcwKd6Thha6wzYwBlOslXeZdbmAGJy8FBpAf8zQkvLl/jk0umWgCWyW/+nHY8jVeyV3ZJFPwkIaXN9MAiQlhLtBINo9OJZRCaNC6rTeXOAXEg9W4YPxOl7OlvmwVH3KrKHdjLRx4IZVSxtVSXbCrtJNxSTFG4CKWQ0ZhPdRuJCErkwSKqszNgX87VbjgKj8QMTjVu1BlBpLkR0704CtgbC+nPg8sxPNRaY19/7RW8skeARNkA2NNUF3HZ0noPjgADLDYV4nm+q0RV+R7Eno+jif2qgfm5BRr3IbceNCYbehAkBXmX9mw/ZQe1xQg2T48yxe0BvrFoPvfj40N1QB2umtG5Oipb7T04EzxDR/lNXAE1irsEMZvqU99u3LVuh/wO/7Pfu1SsvJInokntM2Nc9yaSRr7PA4C00Cu3D09VXfR7nVo9swFFA1/FUR5vG8JC8E6TRL9Zab5kjnJEDLqP9jj7fy03b0Ut7WQG4UFDSpCKZEA6rUpQrg6TqufdDR24roT8aRyczpI3VOtMx6U5vupMOWVz50gDoRi0M4ey6irBCjUeCB1U5RbDgGbTpqcPSRm6lWKFfM7RVYXId8AEEI4PMNf/CLYkrvAdXomGfg4vbaraOQflm4k2y/hQlEh9zW6pD+4KeQpFQmvRWJuENPknV4LM4yO5AfLA1nofCTRkBZE6ajlq/nQXG88OJnErFWUknaiENtzqgm2esAjH+q43yqn6WeL4tomHe75YPqCmLI7TIpSC5mJl8Rm3iG7QeLLtipZcZZJFePAlpw9ofnz1lZR9VSf7wrInrPILKds4fay7dTs8AKmcuBWvlmsAXEfPUiQBUuBWWzkXIYfX9AjXnlA8tbSsbmuBjqU3MLftJe4Vysi1K0s1TbXWoNIrbHlsSlTufofkPxYhOTYoldL+2/U4PAacJz/rx2BLAeF4MQfgbP5HB8lV5Jb7mqRNyhefGOGv/SEeUkuc6WGYrp3mC8n9YRL0PUPDtI3L5RmlXIcXVbLVvYSgqkGHIGi1A2i8CZ086AwifdDJ38IPOVRzX5sWf6SZM5Xf2mCI8lROaoyOEZ0BPr7rAHDLEnoCQ2fum61eJV+iaFaikk/tpqD83pc1JaFo+bAhsJ7Qgeeeg+Jqae3Vuv69wuvnEbRDwzj2I4VhNbHTzkf3W37VnsSdhAOmk7wKHP5167u/jzy75yE6fpUJekPIY/nIrsdBSefHTBO7ZB62Ia5Z4xgYuGb2DFZUpJqkBUs5BXCz+TJvyOSAXE4w/u7jlFLe0dZ5OGrMPD4FlG54tia6YtR1V7qKRyOXfNjVKbRx6vSN644BCXfyBVzE2EXTUN0iOSDr/FArJR8ougUjp5j/z8eU6munWcBylkzKE1MMWNXgSYjYnZtDHktoAJXzGsNphW4/hU5hQqAoJzeVabBb5xVdc3xAXs79JXqZjRaZY1SpS/2ifG6bKgSD6AAy+6i5rrhVQ/E5zs/lqkihx8xuRs4gE7PKEkq6oVB2jN/re+qU22zEmwnLxUWlQVK9UcrkaKsgZ27+6FZPQkd7CPeqMSuhA2RRzGjR2oLWLl0N792Nr4RZf9FJoc7icAn4eGSpaJ9y7IyqUjOgImB4nvY7hDCDWA8F+XpWeTPtezXD30lFf8ateBbULB89qBROeFEkPR5E0rDmi/lizwGLqS62bji4gP3gPJTfQjcl+4tT3ZQoDFt7KGQaD5ezGIN/0dNdkSoPJ/4OsZV+yrc2ObugYXhfOsIv7m7vKRZEybqQMwze085WDVJfi6lkWaKawQiSh8vIBDyAogiSfElGCUisdbC/S5C+DAOtpe2ILXyqS4jUB1KS6jfJffePMK/uF0kteBToUlt5PWWN+KGdhxfhv9ouvkf6I7CwufNUtRvxlZljzrppeouvZXmlx9RiK94a4XbrgoN8QKoMUVQRzn3wSlA9yViJnSDBELtW7oVjoi98k4L/zDbz7OK4pYTZocjMKRQTfqbuMna3ZY5E/99gwD/+l8rJZofu4WNreWyCaub/j/jJV8f/kh6cykWwCO7tn8XzSEbIxvd/cJp5Uc9NxEjZu5MiaanenfQD5TogzaZJAqoC/Z7bWDNp0LW92AMuDq9+XXLn9OWRdd/Myl++dqeL0iBx+icJ3A2ikHj+9yeXVQUnzyKsfI6pFdMMXqnTTRlIcAaGFux44vTyEMDK31LcbpCoKtpwE1BHjSBwrk1QUUt5joQbL22zzLKp6V0uMCFdmtHWEDKGdoTT8acwJl0JfD3C3PUf8epMi8OoSPqoJieaoTIvb/6eGmde4sO6CNA2P80HFs/5az7oL4kBc3Mty+HgMeWWUVgyYrmx8+f554ennm1Q2w+oPV0K/VDrfj9qCDiqNEPa9XqZmYUre+S16aNe+oYEvqpp1VXYXhMtYnI2eZ1LIfayg7cNywxwqZPnXhbWTkMF3xBajjiwKWZWipWNHVFNO19DMXQYFinnF6+52yh31tuFiBfTB+EGoKSk8by+xGMNV3bJEhwpza3Pv1haDnoWpfTQCA8rZczsbN1/j7iCHkAn9ycBk0yxmdYPJKOWD0k7C3u0L/ve/lcbpB+le03dwKffGkap3ThwfErIJrbL53q9/jL+q3pb3EveCI6FYkA4K8yMd6aYEnXIwnqmJjkMyLTsV5hLG3lbpH3mtCZE5W9VFgRHewWMPWY8RgPOO2OvBy+17tCqHVs/RTPLHKuCjok8tD5vG3XmLcB3+eW7rSWGDG4S/IZJyzc5ckMbP67q1Vc0Hey58RTf12xkCSiKiJprFXE/Q1kaGFiqNuGEH6MAEKacfEqwtYXcQYyIstDvDWB+ik56kj06u1593RpJAnksd7LxXTusDV90F2AE0oZZozqbi2x8cEsfq9lwB+e3AADG0ErC0OSNud7niEyf7/PJBCs4zY2hD76/MwkcvTImVfoRLXKRGnR8bbFZVZz+TvbqeKH0dU50y5SehcwD4xDGPE92mAZabLwf6PUPctdz9ku4/obScNcgNw17bexyV1ZQ9cKpF7gITf4JrV33S74qjmvkYZWyNk0nYH8D8prPNWTyQbSG3n+tuutCzMnEJt+adevoOLegqVUaCD5tCHrP3oGEV0cHxDghBGg6Xj1PiL4s8S5of5LY7fufeMnREWdB/wtitl4TPR7x1c21k+kVblllV40VnLkGSuYUz4rU9k3bsja9ZTOBdVD5Ttw6MrlUNir5cyHHT9+bgSf7T22Y6VtLMD9q9UgL2tTtO+lclyehmI+HbNEzhAROiFsI27DKtD6Qk1fn7jo4cJlK/OqlN9zSl/FWHbkSEpeE9CCaALIXv0tn3ACJNrBdAZygZ6X36ccR4lApagcN+R7h7fLP8zh//euAcBsJGJzCDSxhu713Wqv9qn41C61W+yv5zsPIKPLLdoPep4wXXPWq8Uc4g53HYFKZmAdi6XEBlUJ16QvW/fllY19rnUDGhp7GaYM7/lOHWRK+7r7fPKSwaUrK3foLdNhrE13fUCYQJulkSk3LQmIvwsnhTKJSPoJfBvL2Za98bbYoXJqtu7+LJ82s1SsVN94eeDMJqD+vf41tZsjDssx9GDXSfWXMYwwOYpMcQNcF8TncGPM8/iaCA6ZtZCNWEnrBKMeNUhFlCGCYdo3SfZ2ZS1NQiT4RU7MI1Z9oO7XsldTRj0jQVZRKNiekH2V4uQCs9WJ5zhbDNXudevEp9Bg3ijjYDM7MuLoPomDnscQxxSXhLsDeyOhdeqJ9zVZ4xyJu9WlmJLE0r38N2GpahCFYF5zWCjjL963tHkSOJB3uv6ymAON3sGySZ0jDW5SPA6Z5eg5BF6BppyPyWVUNrm57lnCFu114q/755KyN0xqnmBu1CL8EPbR85midq5tnAvtab4zS+72/R5izpKWADEKLB5sxePHl4DE5t4paXcg2I67duHsXltNmYx5NVSY5UQpNZ+InuYUZNDIiAHgMb9LPQpVU/AcW6m3VRzcotWg1kMz3MXUiT/b6m8snNYUvKuhztUsN86S/7TjQfZnPbV6gmMrr5ztqqBZnQA6JnBcQEOqgzOXODha1sMsgwDi+9vL+hwNBmgZRLzPWVjshXTYpQDhV1X1rZ/TZtBYEuRgjcpNw6iJBsCGZSuewauDKGq9TqoGyql1htdWiSgwe2u3TJbQwMzKxOJUvNJzLAsXqZ96gXyoh9jPoW692s9AYfpfLME6RZh8jhGbhDLHcpuD79NfE/+EepKrqmHqUA77u6PGAQqjSNR1IXYsl6yCao+z7uUHL9j8miqTB4QC1jTrBDWv+6w/tEKdIndx9MUmqruMJZEkcZ23n8KZrYwf07x56xUU+8OtygMwHxkCf9IJcGIlLZ+gAAZmiX08ktNFcE/Z7ftTuz9mmNIirFWJR+uqSD1E2gIk/H7pPbsDsp132SyRYCThdQJzAIvKkemiN8TDP6EQRkNJQGO8oDcj3Kb+16/kSXPlXWyxUp2aaLFivfw7DiwfUw3chYnAkLrAeYuBxVDQj6nYPQaOPQU/Lwoh8GR7EoDtUlsqNPuCOx0NeM8BnAkZ18g9U34qFm+n57If+6cQvrv4NESweI+CayMLmTSwOp7LSglicIo4glAAANNOSSg7SKZPPcZqeSRDC/QAl+0XXi8DhJVnqUuFWA0dEp5bouRyQdSufiDVl+WBiIaHaJPvKbiSYjsOwrY7sAJbO7VjqFHH0Z10+iiTv7rLxzivXOJJE0OvefnWLwEM2zzk2DAaAfQAAEis4CIXcirUl3AycD+IuYhSocS3P1clVkR/s7h8Lq4nMJ+XKVHRmR7rKBY4oeHDtVH2ztxzgWnSdEEsJJKT/C+TjhA3V5Ex9eZ8V2zuiYQUTwLja7gTFJLiweuOkbBeoRv5QEcCjt3jeEruBSesAwyZyGWdx1mePic0F1P+cWlxEf6Ks8abVVGZyKB8byttnHi75ggEirnhhUxyHaXNCxmazeD7AbLxJ5N1QeUXXCwn5pGLR25yX5rm2qbpBGbxq1p+Z8Dj8Kil7VJ5e1wkYaw+JcHjLQ3xXeq+gCs8UNSx/3K1UEQI7ARSr15ZUMbEiK70L4qTY09/8+TvLRwqzhEZ4595FIdYqHpFX/NrQLk+5eZp+CBdaCQR/IJoGpD8LWmHnE2U3ArkL3OyFBLAxAxNEfwUKHHunNkI5aPyD9i8WSyyZ3VP1juOvRtO/mdQlGpqt5IKJU20NRIj4whWLh/xpnf+8gO0Le73/Ngg5sJyqIsKF8vtLY3gGlgUtutw+ZJNdxRCaP2p4nfCUQITBSrrcs9OANfCGTtjR9CJd7E40triLg/OIIBz8w50sQrduDUbN45UiaytvNQvmRDzxlHI1EkoWXPXilZw7qSBpvhGAEl1rTWFSspCrxMw1/EQcCQvFnAAKqb3ivi3PdxiWmwx8MJVJElayrBlH0mZtBxRSQFyQeDCgP+JcPi0hfi6UKfLjTTezmzINgYyZhl7bikKR8bwGSljXTBL/hnR8yrrCnI7slcQ8nS7c4a5Y/pSbCUI+CtbHPYVXQ2F1YXzHrIgVjPQE1j/46CA2g14ZRnKPjxYS1qQlDSf//fgOHc5PDGB01ATVkynXec85+WQVe/iiLgmn61Jm1o3BcMsHyVj8Aq7hNC3FHM3TajhBVFZ/eITFExpXbFKtA8FQEP72E76jWP1f6BiSuuHgRGH18da+FAejZO07vN/gR64QngoWgyV0nkJG60r908o5XbIgp2dr2D1FNb97DHTWv11D7tAXZzLIc6wSczjICyJ5utDsnb4COglTUPJ6mo8fNccBXZEFhpKbNDaLpKE89rURipRrbng6rjPMY1mQdthFgySuCByf80OkT0qy7cOfMlAAAAABBTk1GJh0AAAAAAAAAAKIBACQBAIIAAABWUDggDh0AAHCSAJ0BKqMBJQE+kUaeSyWjoqKk1PnosBIJZ270f84oo1mJKwAshKf5loA/Y+T2976etwV/T+hl06P0AOmpyFD0z5uvnn8V37+dcHP4vwS7M39D33/H/ULdz+Lv33oC+3n3Pzepl/07+w6Rf+34q327/ueqF/qfWN/4vLH+1eor0wvRJImtlmNw7ObBh9e8kbsXXarbRp2B/EInc3Vj1g4TRnvkWFSgot22TUpMZbwGo3wDH3bAMNPD5U+lbIJB2dVSoUuoRomWAlJM58DsqBGKHRP2xdqr7mAqcu+MGYIe4EskX9ZMlhxE3YMIAdK8NVzEjz8y6asfqZMpDhceI96rftqUxz1lDJPKegBBzoKRfdKM2mp2TP8j9RoX/t849xZ8C0I06Hqcp/G9CijdFBdT8yqx2vJv2tFGb84YGVKFQznNg3EUVmDdivVfyrkeXEBPVxB+WOyzjyLX8Duik1PMX7lKmIQMyAZ44+x3lK2SZ6h+bUjGuiA+lTKRBLlFpLJ9U76pjbHLUdxReJEtlqYgmYucv8211L8Hz31AGn+/fRlRXaS2xpqQQorrA6agf5UF2S0MgwpTWPfQVBfAzW1SfoOsdZjEPGJn+21Q+/NyZcXtDD8yVSR1AHiiVJGn4Hqh2VoE4XEvKX1c1ZHvQ+bGPdbywQ0fn//vsy6a8dTH/AKM6DdQ9Zey8zeoLE1PgTE55Pcz9y7eF5KWUynYcJl+VGosnuLQbESula8vkfbxf41yM9goAtm50euk7Q0CZCWYY1N5HUBc3SXYRTO6dLwT6YYLKhjBCpBUkBb5rx+vBdyum+27pJJjP0wx4irwu1+i0K97xbKBfSv0QvU2QzVS4YsmTU7zoeSSrXl+kDibbHlDPvvILF+xFIxBPnotC2zb/ZY0omSSLLQyoav06QGX0iC+WM+yFPCaRDNtzADqnRGyEe9AUHYO+LFvy2zalh6rQ5k1gX/L1LeiEfRdaYzgRJix9p0M+3uU8xHk5zWH4qNG3usDi56HlORZxMfWyHlUIMZ7nYx71sTWPri8CPLesFYkHmfdZhIsG/IieBUdZJq09s4FezL2ElfFGCKV/9wKs7Vra38aWeqVsFeHVnbUsal/ripCZ4/mcGgPGoEGHDQ6LTZ4N6bE2/9U5AWkZAuKtbEYibnxcpGpAsa+E0a4POvtSsClbhYKgT/lQ13hi/bKN/OzeIvaNE6N7inATlpmC4t7KheVgieexdI9w9te4No8uOHw7dTRoPDR7/UP+VDFltGJ65208f/ZAj9/A6WeHfuQ5cXqJKgiSG7OWhs967ABU37ambVLGPfo77zqcT+necniEi2RZg+TVGunq4vSGrXl+VDF+2pYyLF7TVDXeGL9tSxj36PefVTpm2pZx/0HxK/cNFg3N6iwADeuHix9DnXqpKu1EvdwtOiVarOR2aXdfLecIsCgbz0/zSvvaEKNjBha9w3dTzBD3fouc5GoIfJyliFk0RAf3NWDqu9I1LDF5u5ViR/qhQaBTW6K7mWESRtgZsivXo8KQ7QFx8b0Dm16+KzMFH1OxdQ1ZEBEVqVPkZUjvDIhdAAA/v39d1JCzL0LH3ZP9AuZCYdutvywqc7csoyJek7zuiaFHwNip/P+iAemibQwr1Fk/UEtYP1Ec5YePrZ9v3iTlGd40QH2FFIQG1vwC2jTDuwLh6o4Vl2ZUPyNJuh9rjZwQx3LOskrO0HGNLfsoOkqKseCBOm1O9dMZ1RrbpLDSyR0GEo8mxWlwqsCPkHYTqiYaWpecQfyY/DHE4wgRD5bN5v6AnjdIXhSRmRLFn+t376uU+Fmaag7g8w/Qi4as7EGwjt6gHzhooD3AqDQFq1PH88iBvZvwZ6lqkRJ58qHw4bS1c++7z1VjcAl9Pnq8679z3mcScrZ31Ner/1jpCqh69yZPFku6f/pVVoNBjhW/wnHRyTNyTOQGN8b55cDOdrwAACX3wcvOMblldiPNDvK/ZQ+pizDQCf5x7psGyJneJRM4Ko/3awO89rI7yqu9RNZyK83d+VaTMwah8nsm9EOzU+yjbgOKJyyTUu/Xnl9xfvJRXiRiXgFsRd2lIuqp7rvyfYTYN5W8wU8zdzWvknjW1Yjmu8USDQj+y0OfEsOc17GDEpAkV4Eex1UJBjryDQLEthgIvopHhwDRy9fIxzLM1v8Rs5YpxHf5eOuhDxp6CC5YZtbVCm7IJQCeEr2prToE92Juk/c0bTiizqxelaPcGtF8mLj1PfpY1W3fdcl6ySA9It8Ptm26QeuIcYtlpLTW0PyS+T5VAmQBi7GOyrYWIM+WOPnvZ3WQxZNjtr0AxAgfK0Y3ztq5JBp+53XZkZP+oF5Ccf3b8X5/1EvPCUXcjcJz1gw4tJrzl5NU1zZ62Hy8OZ2BUo43K68/X5GisMFuAYN5ym/MKOEkAgpxxopl4WtxF0y9+D+qkF9D+M2/C+SKXwMrKHTxiEmM7tYQKNkIAxJuEn0wd+znzafoPGf1BpVrr/2PZUE7wLZ7eWbRfKOtxHya0UWtxT6nC4b3BfJElHhbML7XCGnJxvRcbUpFAChQU24DKHuC7cBZt+jHNlKNVfq6ZGLNor/P/5slJIvNevW++B57OGwEpDjsO+voR0mMISMQ58HEmiHKcOHH3qRkgm5zqAaq5AVSeJM58CCgXBqpBlJofXVGP7c/UznlIDoIsQVpOISQY8+V0SROdhWCLB/0TXAFcuT3OScLkDanSPSb3dJpgOX/2cBLhI8rBhXPPPlk6pCsWjSwYt38H/HFHMGLTPdD+7RKsl95HUYZlhQhFx3eAdYtcMWHmJSQ2nd2xzcxlZiYQVnwy96b2P1Ee4UYOSB5lGUheAmWYkTAN+fAWiJvnAjhUlQJYHa8yhDhqe2qDKL4vON8UuhO2+S3Lm4yfvx8YeubbsJhOCXXmYGdDGeGLlgZHVy0rUtVGOsBjPXm4gYWkju29MAb4b9C7bBcqPSvq7ejaNetw09qyyI99LycIVGr4SXtEu/yQ5RtnoTiqXSr6t4FVNYi51hLtqwIicRqx40z9GW06sSyHxssnf4E7TjpV+3Sn9+gp2Pf0KTSp8AkW7zvDzZfo0QkpLwPmVtQHw2Itk2Iq+mmyW9ggojbxpbavAyBuNSEK8jlqJG1MDpUznQxAsYeKOxEtr8ih1rUiqRCV4AoZFcuVDibBgVIeEWW0lmx3UlaXw3RLb9bfUr+QZ8AOeUBOp9tqLfwzktpFg4HBQlDi+KZX0BRwawzqlg/DtKcu0cY6AKMlP/WUpKC6Ov7FSsbeIC3DEZ6C83N483DWRJrHP+CHZnwTAxfEE1dhqTbRr6ovsqOZrZwkxgQctjYflgUybfsKfTKGlaNCQWP1c9y3iLLmUJ3rKPQ4TaKcDNg5BEfA1UsQyNk+YHqJY8j7GJa+9vskh9MeFoJYlqNVXCnwg1Olr5KF/yy5BXOQIKIZ52bW88fUx5GYTuaG3AZRMTGpJ9+4PdO2pdOXplaiW8/aRGfBIluoEp84YDRoPVQvEHT1SosEd8QnmHKRRcT0wSMroZdE4JONMm1KUcue0Qm+ICNHw99LFFERjXDUwksgTnqD2V7Q1e9yyPy7rZDWneQKnHkkJM4CDda5GZhuS8vIrjcbpOn+WOCHF1ecidzjP9rZVp4hmTc+xo32jvvZASKRzqdr5D1hYYUygUdPMv2ZK23nRASqlRTuu4YrnWexZBiVeVEFyJQ9bPQYd51Xm0kEIhK/ZZlFgvMuvRSNwRSFGcd3GXGeNEDACEiMyFxFPqDo2hrObqfU8kmX879xnCr0Hk6FggKZv2BksE9JSHvWFGDOo92z210Mwrxbo+1Bo1qf5Y4I5tVShH7mwhLVzBzdxKN57kci2BxjISBx6H26mT3ATZ+3ExlY0mblu5yuYlqIgrPlGtonG1aEg70FTKGTHT+cDvWQIFXMvbsVo65y8L/nP8Hqlik+0OkeuCGnt/+P3Gx4MNmGORq2neQpTnC0FMGBma6uflBQsgNECg+hZZ6mqT1WPY1IYVSpKKnjZ2ZrufU+wxxMXryamAhlfxWX3baNVAQBdzPDEgrBv0WzWDnqUMU6T6+zkfup1FgCwMZol8jaf4yfIS9IqyEF0WZ0qXCMi5XdRMXRV7irn47LDW3e/jVgpHuvent77drl7v4rIjxHPrG/4DQQhOojU2s+aT6gyIp9s1SjdM5Y+fwlc7H2aSDtWDNWJ9nljyzjXYnl+Qm1FphMVO1+rZZSGeKO1lPtFrpwNSKU5x5FRLcXjFHOs1G4XlJamlHPPT03Lga24tf+8QhaYiKPmG3OBQirhTW7U68i2XOzfyUE4khxM9f9dceup6pbJOSrlxRp6TPrMW92Vwe0j9nQPHy+ZmvYLM2Gz74YwyN9q+e+O7eNZbJeRl3683HZFuj/EiSAbxrfHFOdQsSBYokPvaz85bPnaJZCxEFcwAG6daAoAuVkgMK7ucsJSSTrPQH9qyMi2g9c339Rd0w72gjOV4jIGYYF5SrHWyTLTyYUVaXjm7/m6RmaZMM1PqSKXZVXomj73uobqYOcAnFrIUK6HXBTpCiKNWaRSl9xPldwNDnGwIou+jdE5Ai0NElEQQ4fD8QPYHBS/FvoGMlw6q88pLSkl35kr+JkFFsPxO6+s976+S84YgLrx0XemgbkjP+ymAfMjGAmFJasd17cD1hkABw+gnsdRbiKB6JTbct+x6mV2g4UfpfqeAjDyyAJY57x4jPcEKcS2skz1ko8tFUsMvCeWYKeqDAlyJCQtyb4Fz3i33I3LUnHpLE5VrCUiCSUK6DGGRxm1ngmBKwchwJET/YXWbgwds9cAn2xH1xwQUVBlqk+p7RCEB66tcoGjyRMmTDo+SoLjSmj1xkeZ+DyRoDLzi489pitnuqJTF3BP7353KZfz5sPooGpi5jkYG93+4xZMHXgBDvG/+WMqDaGGue3FtXayrcINZ7W7Ykh1cUbpMhWIa/850PK1PX+kP8UAyM8xn+G3UY3VL8XMpGkNQAnc+6FF1D419WIlLz0fuAApzaUyFS/wPIxI/DHFvDC2fwlgC4VI9jCnLQHgPF7KZ+D52qhnEYTQPdsq/+P990xm78cyNP2xEPWgRb5aMsRmfoXUQ+8vr5EhRvSOn9vqX4DchFjIanABfyxizl3IhvTr7auZlu++tJNKyjCxnGEUvcrWbrO7QzOBj65Yn66UqeNioc96f5hbPafRGR7F0+nCn/ziic3nIKwAUl3JleM9xHKrr272LDXxq+jSxdjJiZBbR3TM9+YYPrjmQIot43bf27ehIlS6UUFhBsDF8MX0C8aTsI32gKkl1v3QK98yJYROwKgJBb70IoEYRtBAcQ5Rm6SL3oCEkX/gIZ+i/Fz1InxRSlBIMmhlncgNwtE12TxNrEctbvsyishVaiRYoWNEwfi8H4Ku9JFZHvoApY7UcyT28zlkvkL40K8jr7gbUFml78U0vXOcLZl95xWmetuE78sKRGH888Cz/NI71Z4sUHfQu2VPKRn2/HOZ4mwyBjt/+BVW92zrdCUygIyolcrfA5qJTDwNqWSIsyNv1xMfaZv6pwB3EtyDo8Fy8Uwm3i0k1hZUS+lV+bgFZqvUn+wFgrV7tqkL8W0b2nElBupGQ2QGubm61oxhBI4nHzmb7IhYGivU6UEbKX69DQWvFYfQpX/YqeF4fVskpioPDvhjTqC8nVN7dUQ4vRBXTEYjd943TpV+0wcMlzTUsJpZkomgYy74YpOvOmgDzHbfKf11nK8VQ3W568TH+b2nTCi2qLuX163ZgjQfy4tTytGSFQvs5Xskccrvd2M877LmqmeRZzSk14SpzfQeAchZchISWRaAdibJu9OtFqYcfJ3WFpg0dKORlk2hMwXdx70Cx+kfn3DzV3fxk3WrLI5sxVVYhh1hjEfyRakpsfbFHm4ppUFOnH1j1ZaSIOd9Pyy8LLW1aUFFfH7+jahm/RSWEF5WjIA5ut2SuYk0SyqwJdt/VGpOw6Q8AnXzHkP3bFz/px79ivn0IJfVvny7lq+h+hjKXVFxaQoWlZgl7cqa78sTeD1rmG9h0BgyRbVoCTB5BxLJWiAOSN/GhJKtCOCFVLgcKdOu78jPTdkuNBOli0yK4zvgqx+Mhn0PJKQWf7Qo5gheo6W9pJLjEm26pa1yKhmq4X4qHgAsqxcvxAXK0WxPsAlaY/tqA2xAZHJM21XB1rKCm9JaYK2e5ndFIP793vviV7LiEN00RyZrMv//Kp2FlXOxhYftm/+1jJVxhLVdvrsZKcE/Yyvp5TdWIKk4DEIZwXadHwo93f7Qs+/oZevdOFCSGn0n/7HQF2JV0xo2UYC8jcvOYfZUwmKjhyjszkKQxYei3OzB/EK18WxpIw5HqVHPNNeTffXpAyyXhA/y6oVpkjxlVq7XcVoB1F9OJqcXRkwQWiG4aA1wESIBxtzhualNVSHZhZntMD1xPssh+IqwSmDf4IDoVk35jQlkZENVDUq+2PrPTJW3YtjiLJF26bk1qD8+OUwgUuRBRRXs3HutSyhWZeNMKeuD8JlyUseICQ9piPUYBiCtlppWD0YWhVqc6oB4mpEmMyQpB5b14b4EBQ+1itOxZj+BnPxGpA0b8Hhj8mdw4mIVr3G6XWpHM6FE8pA4yUsPbI1yD1MgGKsSLQY/VnBsciEU4h/BKFGcu0XmvQ9f7TjtvguZ1CFsfqzfLcp1Ufib7bszAiyQh56PS2ZvaZq/oExMpClvOEmnY30REzV41EJl+3AFar4Bl2KsMLOihhobeZWj1VGg0ng2lhHu33Vbcfb7fLtU0+0TV6nkGDii8Eqr7XL52fDR+7+eRYmQ5lBUbZqUVmP5dKgDGTRiSMgW76LuuLRrY0YqV6zAI9iQ3yYUV1SQCV/CPG4QLegSvPXMAEdPaJydMSaJo4pW/ffjpn+FT90zzM86rVUD/BN9SI+pUubFouE2IogKzkirezKX/JIl/m9Ggm3ri4jd+6nJW4jiflBES5fSdzQnKiK3i8/J8j7vfRGglfEPQ87tJWFQCwEezuvcjab/QTvG2zJC7S8n96jD/SPWrJul3B9AVqCH4RDy292uYWUC+Mmx/h3abT0J5JzeTvQcxYK5+3hfQXcNYT9CHwYto8TMiNbuweDNUU3KPJRySXGMgZ/ApX6msPhUoxeNeHKoNyJwJ8VB9b4W8NcUIY2Q++d+z2X/3g15B//Ly5CMBagZ4v83n8Dikj0gINqpGP6zw2msU4LEGsuFlbG5ZQ/1lbINv48VDZqp6+MVVlTr0qTQCj4vsz8xlOwnMfDqT1q3qBxU9QRbeewMxB0X28gs6ubMCpnWb9xoSm1pXybrpFZu80Q80ELFbcgE6vQSx23ry5VnsnpIpaxv34PxsdkTcWtfFSfdTiMj21xgCCeCz2zfkljvecvg25Smr0Cfo/NppM9YDg5wnCJJzrKaidvf/3WXnfVS/zk9P4lKv63/ONEWkjU04hKgiprAMVh2ByeUbGmg+HxIdaKO7vsimZQngADTdx3lsI6zZ1dPA165WJh9eey4YOyJSCe7AaXAeGTmQE+iIjtErdKWLkwfIKu80hlL6//Wa+MvY83XUw/ng17YHx7OXiObxVJJTTDWKVtoDqPpbrJE1GYZ4K+VoYxB3IYucmIsq57Nl7/p1SIpRpMlHsYU4Am3GZdSRElvbWGHM8v4is+eo+AujU06lIEa2DNybQ0gsF0MjIzVdnlyvzuddb/fdNLE87aw8DVx80RqOA/835NESV0Hm7uTllT8BzD8zMpoc6NJoQ0SrhzaYWthWxZHukRxo+4iFY1yLIEc8ZxwsynYhklC7vQZxd8uYgYQgzf6s1DYu0ZP9LdydOfiO+06cpqtuQLylEz7un2xotRgOb62oqHBGqjGQYOgNr9FARZ9Ffy3FpcK9LVe8T+v9Nf6KTK0IAP4EN6OloKwTqaIEsowukI6bi1RB+EJ6WACHMtykg1uVwg7abjQG99OtdAhX8KS+AIcXigRullCPh4QIcCT1JFd21UeMkX7n0FDgDUfyut9/3Lma4evuhEGcQBSgSrRm72TuIBVCVZr7FO7zTiL6BVO1gMCAlup+r+W4ntDdSWEnbhduSao5K5FhxTI2SpVBD69d2TCovYuzw0SPNofWcXO+yMsTG/RMLgkRaLYVj2nR4RURvjj1Gs1NcQ12ELC0MDm4a8kIO2xC7y0dPB1rUWBhq6DwfIRPi+XxN+rQ4OVnVMGo+0fM1TcmX+ZmLyd8kikk+o/x8C3NzKg+HZ0O55Mdq+7+4QbNsdrHmJYrrPKVSBP5+tx196mxzQ48i6d8g4YyUHG53BpqVatP52dJDSj1Hb3q/UPOOW2qawu6ONpMIJGICfyMxhOrYpcfEicnk9akhLxYviZUxP4XYIVyiGARUSmvazjJRS/hA2LYTaDX6u4uQz4FDZtupR3j/CV6fakajY2WFwEI9E49pGp9y+4V4XoaFBBYNMMtmWCkIK+0bKiJiGd1wLmR3N8Njxjbxs2eE0AHzWVpMLxoDhnEMt96hS4dUfFmyq5ZMYwBDqMdhn2kkQAXdhFMXqXwKZ9eZ1kTtzwxrh9/PzYO95b8qDd7dsKytw+1IQV7On6Fe6rzgWRB++4EeT66EEHgs1Xx/BWjdGjypEmCCsLezAEiy9BU03YeXvQhB/ZT550kCkwpIXTtnOKQAXCbY24L4JEmMJXAfN/BRnatJhHZszPKCKerUcPONxyJ5K+NITZCZ6V95bM9NQP58dkuC06+tsEDE4tKaCkdtncPBU8P2s0KuyXD9ibo8JU81aDDkohI7Jm77WtoHnZuCtxOQaVjOOWAl5AFoIpfAGd4DLFB62Rdtjn8PDTXkATiIRDSKROOsRy/oJ7xUuWK5Y/g5wfSZ0XqpgLnl3UZj0SUlVLO+j6QI0VGIMBBUN5QovNjJNXPylj7NyfVhMtB7OD85IlP6JXZ0m2RAIJw3U73mz5r2fLwKs/d+Gps/ELrEWyF2FcTcmh+4eHZe0PQWZhePBtGHcVcmEWksDh90vknPIo3HkBGsmvmS/KFILNWVoKxA3R0qDenCA48bjPmx7im4kQmWYDhc5kwc0ey2MxHCWzw48Yc8J3/cG6qCHsVPtQauVtTGXJHY/a1EpgiD3XNzb1+ChC7qXcg+NMoDBjmDsTzK5vb6ljvLnws2bfnNO8UqMcnjDpYRzcfENBE2LbZKYzdMSXMV2+55F20V3x1U4o56sX+w6dDGsDXXyaaRbuEbRPyfHlt/6DOm1GURvSWrin6M1FEt0qLJ0TPRE4S2zn/PEFQ2ltqqUdi2F681aWwb+cLHEbrHgCeUA2t4pqPK4UUAPZq+965R2bAEY2w57enDEndOAC5gF/i96rBynTvH+21f+tCtHN1vzMdjoZqUpmyx8ZDZe/epBaEZvRx5vT6Rr7PmMIDyvzuVBATLWJqkEQiaIv0x8HMoza3G9PRDT9er8pGuKD6VWX3xBcEWoDcr8wfATESzbBtYkZwkeCL398T8GnmMEgq3fHFelEyjP4NUsrDD4DKEirSncVrLGq2mevk4VU2DBFFX8Xnzm17KPOsv3YZ878H8eJcDtCbQiXYmlAJqXCwEOAmYexS1932duQTeX81Eno8hKXyoKyyqwA5kSDE+msTOJ6ooXBOh5d21DSz5++8ffBG9EktaAYeDcYcEaoFYTI2t8IoEUOI6WH1Fm6kAOEK0K1fD+3DVe3CtoRQFv8eSS7KNDnDVWDv5X7aXBvP02jzmELBofABv6vi2vpqlE91C/qLNDi901T9IKGA9I4s/+rz2HTNbom7yqjcY3TT+nu0VAI+emBHJ/MyYCGIcQzdlokQxu53xH0xGSebmVwSf46pa8glTTopaOZpEjXdmcQ8ndSljE2lgty3raoV30QQ6IUtfHEo+oacjWl1Ltchq2cKHEo+LmAAAABBTk1GLh0AAAAAAAAAAKIBACQBAIIAAABWUDggFh0AAFCOAJ0BKqMBJQE+kUieSyWkIqUklKn4sBIJZ27yP9smA+eXkM7TOa/jGdH2eYeu98uOETuI+do06D0AOmeyFeYP6D/Kf7jwv9GX1rbHvL/FeC/Zp/pu+v5O6hFy3s29c/3HoC+2327zk/0fM7+K5//A6++f9v2C/0V6x3fd/bPUU6YPpAfsYRMXuA+Z2tfVTY7zj0xqbvqLyzRJkiv2IKNJvBVglI+joAfJu0VjvQ94yHNwCOLRqxc7XtjQSQeX4BzW01fTJADxG0quEUpsoP+2hfiZ9YVAgkIEr1r9+2tUb2NVlkrTEtwzb//IlVV3X88g+JnoTyDfvofQ34CRMolum/Jvz2EZUqbEkt8w9VgY/f+tQUxtBcgTr/W2OHEmJmQSCmr1CPUU1OCHocmItkDNIXkLqx+NtOZY4SZ3bS0jTZZ7ArncSH7uYDANiFEIBeAgr6Tm6JU2tjUHNkGH0Io6dWHU+RgSaYxIf/4AUv6+YFLBtS42jeLXk7C7S5pkKV68oLTERggnyUWeV6s9Wgfkkhn2TQ2Bjo2slJgILGJUAbomVUqTAR0ktrdeK0WKfAxG7dIKL/2leMdqVOouf3o+e/X+ruNK8hK/pOCNn6lP8Zhbw8JqTL2RTowhl2oDwQ7GLIR8AHZWY93uHdslUgA0KTM0JfHWb3ywffmO5o7c2bRZPM4HcH7syrcO1acwgtpba15gkUCVXuj3+HVMyx78Fu3fiWksiJJZpVvU8/5Josp1oE91VYFCpn+v7WAiSEG5OE54ZjubGPd/kfwPSHY0MRE+AgsAj7Iv77HTKqw0G0/BWBhvCZsn9tSLvORpBwtHCE1GmoHdYjEyRHpHGNa8wKTc2/gdppdNHWPfodinelKMGM01wPGpfA9OdvDHDomK3mDE0FKXuJ541XjrvMNpmkv7WQMbDT93l0Iwb6I/qw0+7nMg/LC64bEj2A/AuLnmd3I+lzR1de3Q6pUUaL31YWSOho2TmGjAs1Z2yNIJLjXPMjBtmvMD+T0qZ/0I94rdV/kdHHZ2O+xrmqw4pK2HrKf+7H7JKr6gu79XlgqT1zdkpgFV1orJ7dz1ETubGPgAKEe7+fkel7ZYjRggf3y8cL5XPtZYombBvU519Wa7RYwSlb2RVTvgKzjzG91cO3MKuRxcEUI4qwF+pjpXJMe/Us7XmB7/+72gCGqWv2cluroDupENswHH2iBXnM1XbWWXpqG9MoNkCpg6rlP3ctUsZEPLoR7xwPx2NXQeHKRxKY15F6ZKZ/Cov313sNk0ROW4aTiKdTNqljHv0d+pl+/aYtQzBLRm8Ao+EeXrbtNXaI8inUsY9+j4CD8JmCC19Y0Dflj36PgIPwmYILX1bzJr3ccZRM2TOUdE6k5v2jZSsf2a3LYH2QnKvXvgqPl72ZHXR+LxWDndeN4huHdeVQMmchC5bLp0gPeGnlGc4MHIDTVWG6CMZ/Z/Y0dkyfIinol0axYJY9NEze+wLj5NflLFZDeixAwna5hYzzT6J+j95WKW/Iyw6cEsDMAA/vz2pyj+Sy5q7lez6fyPJltpZbJwZrauB3dAEu4zziSoXj99aaY7M7LlFYf+5c1Nq4+tnYJe4/jXKOBPyBhOzEFR+8m+Knq1fsxE+54pN9uk8F/LVqqDNSMqabIpwV7282NBOAQkDpID01MIKnMFxw3w2tmWZbTTAzFqq4k0rOoMtu8vtCme0H45Eqrez1Nw9PnUko7QrDyNyJedYaeQ4tm4/21ZPwUAgqHD9zx0k+rhPkLt25jCnW3E3Trulzim+glnjd7jScWg18o5XUx91Dw0RtwUYeFDWdivEA7fVcWvegD9jT9/Xe59Y+d+pIVlTINp7CLuMBzuxwFeSHDSjWVojTyWk64/wClk62oaQ+fJxHvG4ADx9Fxnp5dU5SaT07h7FCUDJzvk4veq0v6L/3WtBXcIEr1IninE3QXk6/mt6x4pqENSu4mR01oGOyQ+hpCygGdDbi1Jnb3ZUsZtv4fKJvOIRfevnuiooXFdRHmJvnMCbRdFjupSBIybCxGEyhoAChpHAQKNOgD51aPKpZCqOZjEVHPbeG3764b1tRs8JdeJdUfqP9z7b/XtYKwrBRWuRs4r3jnQiyf6bQfPf8cahy0AfKnWwlAr3Qa8QXdzRi7V0M6XpjGX+xT0Yx+I/7e2FOJtHhvoX8cpWPyZ5J3S3cF+SlRAv4XHq/V9XhBWPLxF2Hyz9R7Ur48HmDkBk5ZSY72PTifCTJgwduqJ1IMs9LQrvP+dxh0h603Sy0WeaIHwiIeZHPu0N53rb0pY4Glab8eT6Cf1pc+mxLiPLqC/PEtyQstbGe1ic5vHqxsBXh+j/CDerkpAAhsVO3Oc/7uOrD65aC0Pian38Izh/7MTiQ8i/+cnOooOsyA2stET0MP78/Iw1dQ6pP41i1v7EMyPR8REs8Oz+GTGP9X+huGPxHDKy6ujZTP8VrMxj17ug74NJtnroSMhR5NTq7QHa/DoDUoe2VrMIkm567Sc9dDM/mKRzey+2Hdd7kKLdqwIySVl1yLk+UnIsOCkt3yHf+a5hl8lEvgPAfewhbmsH4ncH474AVXo55qjuLkC+uiAeBWuaqnhqzzQOcQ55Dd/eIoMDErntYXWMKUaWOYOPv2IOzcyGDV18K4l1vUM0pIVu+gZgT+eNrJ9eGSGcxBqKExidyYzEAwluD5iakUUswsVmbj4wkIErp5E8jFrTd1m4Q6G9b7sH/SuYOwkVx17KanUQD7cJD1ZX4TSIFUK+9zu8QcTlNJaqXVIFzo4x89tDDl7saDGxbNQ2g4Tq97V4xhHoPU53XBD1zs1ROWaGXiPHBI7vo+dRUuGiV8C3ixsPxM9TgGDcLR+U0IX4dr8hs45SN3g0PqvHLlo9Ctk28EPz+V4iv83uO9BliGfaB4EPj2iePCIT9/duNODovC2ptvxSgvg8wFFWB2/kK6Dh0Sr8Z7PvnzD5FyfBPGiT4sJyQcnH3bN9kZp42hujYZRm+bfHxSfnpXtSFFs1h0I9JP/CQpHrT553j6FKLXiQu40aYYH5MibVobu5BrjZtLJOtI+RwSfXxOhQ/MPLuk3s0DcMP4O70GfTsmkEkvbMkNXWrXxlMQ95rJhayUu5hQfOe5JZeFUMo0Gr4tRANEnlOUTEMzzIGp7x10UFJsAAAe9DI+0MThZk/4VeUGU9zscoscNv1bbp6a1tHy0z/72+TImLSVGHUKVVG+gPKY9nXSJhEKPhYrEcn0FpP/btk2nfKtH2bDxH7THFBgMIX+t723+p0LF8JsOKgm4V1GMmkb2DxUi6PH/WHcJH5tPSvLc9riqOyfnhc7/Ln3YBhFHgOjh/Ozwy9Zh8kk6YSOEquhiNu8MpdW+aM2zOV+IlZmPYdNGInNxzuczjH6Mv7N/WCs21P/E2+t5HgnrAy2FPrQz5Eg+2HgZF5r4negs48XFsdATYd7/PUKZfBMrTZQ5OygdH+vET8p8GY26S3mKhiCnERC/zQf8gupbo6bLfFLGOhqoWBOuhWEFHtgrdzYyCQ/cpMAzYOAkHmT81zuC3tRMNe2qzfd8QzvhSReETC619eL0TsbkC0B415mMHKlQBLYkNLt/mQXfVhYfDoKXKAxjisWSfdSWlVGx4LNqNjz1E/CdOgEdDpAeoo3yw4hvSeBqr1y3/2h9IvcBaqxqlgIUwEvU0r40WDlYBXJEHyjsVk7p+zQ9gFiElVtaqxpna0tJVf1lx5RE7LgdTnY78lkFeD9w/MowIRGw241kbYvWsvc+dvB0g43o3+f3PSJfpliG3Ra4gwNs8CElQRedt+ICKkUsMi6VWH3Wb1001CMVS7G5FRtANqTdH3bUzdR9JTyXvpAsni5tLtvYPe9CwEp6Xu/HwMHIgBkuXuuhbae00X0N1I3Di9YCOKp37tEZ9Ho2/r+QssaVrn1pr/CR9PRtEfEq8lviq/dEHTfFh0GxVz/42nDqB1JbdVCYPegVm6BMYXeeni3f3/cAncG0UOnEvNqiw4CrkQbDiADSUhW1eLFMCUILf0ifGZFsZORMgmrhY7tSuw1L/1V7Xfa71WbDy8q1bd4b8Ge0kwPqDND+67NZucXSpFmYGwuQNULN52wvU11SMKWqFq+VLyMSmrIFfyvyuZs5LQ3VUbA2wu0PNgv8lL9IvRxVv2W8B55f6huTTB/gTN3AzkSxSYS3x6mtm6674OnWSpJYtDaWCbOgd3bYUH0HOv1g8SyTpc8y+ajfdpzs7Fp3FpScCssGRO0PMiJO3Xjm6sUqWRumBbq9CVXjt/qdTi6uHYa9WXrY0b1BQ5B4W+iw12ryTr0CeA8ABfoJWE8jd+gHm/kguevgpdbxe4UWYTmB0GrQV3Y82wAQ3ADauL/XSQTQybWU2lSfSu5NH78tntDkws/fWi9CIFJJ93hD5f/Ev78b9Ytt/k6zhuu6BCCNjB/Jjs3FjEyRAcimlWBI98aBlUFuSTSPI4kfV2C/o+lyA+xJe7xYEtd9wJqxhL8tdXvrV2MxU8GPw1BTO7lLLTxl6cerhUhLpxuPTxBLfQulTA1TvY3PYCi5EeGTfuri3HAN347nR3aO3utzcWKX7Wiik2bCIVZGmr2Eil5hgXsnkABdYL8rX0fo1r8d8PKX2eiwAgR/duJp7o6sKwVbMWLrNFcI17J+8lD8Oh71Gotr5OUx4dR6eEtw2RDMgoQTqgqtbJoilps9qbmhcf7i5enQSm8+jJghEanqgYahwTCly087+WtCN837ge8c+pRBtPulS0CiF+kqbGR0O0wNM5J8Ecm5YjqAWIuAm77uI+z7V7FNKQAWjFf15vRvqz96H3y8ynwA4x24D+dZBUKsNdzWQhpYjLAK0jI2yfzr784f4lwlSs1+jUG160KJKh+2pM1JvtD1MlW8AQ/leGVza6VkeXKjVqh4TXXGeu5ffXrgIqqqNzjbPfb+NsD2IvXK6rBhGNqHfaxAd8PGutfj0EwerXn6Z2z8BDfX1EZPM+bTpRFTqYrjH9Fy4ZPf9dhWpUedobEyKnODFDJTRV5HBhNyrjWIpEek/FQq4dAXKH/OtWuZYq/JPQARYJPP0B0e8c4eHQUkJ61XjJGaJ3qlo93LgO5gxKypZe28sQQh+JASmBZPFDkvhmC5oZrVpUa7mj8zPMcJKMPQKjykYkQpeM7koM4/A3TEqETH2yaD99IejP+2qUdgCY2iiRFTWdQwPRbmcRXQHF5I0b9q3IUeN/cTuZOhOHPzVwgQEppV/Mti0x5hfIJdDbQZpbIeJ+tC6ortr4WDwHkaB+cMRrk/TGDtDqwh4caMm8Yb4JZoBwga8gpYHQefr8MclomSB8Zzo8wI13WjkHXRX8g1tfg8zQ/bT7r4AtorsskhhHUBg+w3OKOxQ3o9TAyrAS70oUMYK5nwiu+LiAqRbE82mOh7KVls2z+pSxS8CxwsgokRLgYU79N7+MZaiAsRbzqQlBk0/CcoTaWx2GokGBHpQvnK9dOXDLNlanpeDjcE6CGWfDbbRi93skPf3k/uV+92CgsmzWM+6VyP/r1Zx4mdi7/F7zPLxZAFX6G+EhZmq9ktCHtvk6yGiZ2gx59Y7jsOibhn1PGek0p+2Bq1ql7BqFwDRmNrBrpjIDQqFKK65JNMM2FnUVuGhdgjbf5FCB2esLxeh7foIja5gjU58EJdt4//XSw0HLs/enr8mmhHvU30/omeAOP1ws6ymrRb3KEWm3LfB7yL9spCaghEd5tJmsqXQbrat1lB5eQyJhp1cxLTCvWz81RCoH1OrI4Zcp30HI04TOrW15SaF3DnYn8weEU0Yz95TqVmnFgAPexkp1Oxg72aD51bCT6dt51EO0dxkmrXVAyiuyM1StFoXTfirWmAnHqqjyPwQdLXYoj5x3mPOh2fq4Nw4dfhE5MeEzeGbKHUGAX3dbl1g1S7AspRl4zFGwRI4jqodvHtaMajsQcvdm/JciqaqOx/ClIDThi7nVEPejjTZEBJorFKH+uIvPGQnDEPIpR0wGSYVC4d9NQ9Si0loOpO4dQDWV0dHnVQdX0IFAEfssNb/ZpxH94aCJQMNfH+FjzK4pZ8BTk3ztdRSGtkjBd8WncSG+dIfjvvoAalLarONUNx4Bj4moWsjehVCSZAmgtkAwJX5CGjI8uTqwCjJS5j6PBzjwU+TyY/AmgAlpOtE6dBQp0F//yqSDkn9g/71xqn6Y4sObkb1iv/H/GSX9P6/2JH1wvUuZcryJiaRII3E7ejhcIUV6vZpvfJ8pMRVZ5woxAofcNdfIcNpiEHWDQj/QlDGEb+6YtsTzfERItF6+jRxFJLgSXUHCgeKsjuYeTnxAPG/ZxfNWRPoO86kvDivi04nzGODuFtgsNGzcBFhjPtUIN9o9acesVFrM5qt8lLGukX34R3w89aeepJhJQ4SBJOydSLwupLgaBqZKUuy5QD8ttO0GeADZdM9KWJnt3RPVHCXDmZtc2KjQf43x1Yjjn4V4RslZib1e8syaT/Va1wrbBQ/NEb7tzMjH+zgFbaakpVOXSD2Kyfc4hUWjeYVF+3sxYiaO3IMlYnnQCdMRqplVrgRvQ1x5+JOHhj+w5xY2IYhEbYjvIF0NGfeeACZJeQXsV76JJI6CYGUMrP6qolBt4WJQLpqT//y9wy4ja6EuE6N4YkWou7f5uAcxrrKwfkTk8pXXKo9ZTF2bqedyQbWSonx5oJHIZz4Qf77kyCuZLd79ZrGDm7j4vU8XtArUPrP40eW9u45TJr2zlX+Qb2ME9JgWonC1NI7Y06NR6sExv5wOgu/KJPsm9n1hshhUQFQ/QBTSILZQq/SQ0XkPpviIOvlxShY0CDslq14VcEgk61aTeVEw2x2zNFAype+7Eqz2/M/Y4I7cNMun2D+Xkj1zUWz+G+CZ6V85M3ihKZYhNB3JTA/K04nvO+qdEQnR/sx4aF/FWqTpxmc+tJgRnzxILCIiwnI9aoWBHDwSYiKQPzoW21sZfW+9TBflv3K26snnY5FWwjljR1HROCdq4DZRcFuSInCIGMxw2zZ5j7OJA7mUjZZibyM3Z3RfR4NO7uq2E9dJYfenA1ZllSttdc5BgZONxlqPA+BXeEi/bZVabkG6l26fiCEytGHwEHOhE3ywQuZ+EG2OMW4j9V6wmzp0UXYL0tDXNw4rrPl2A+k/OCDxquD7fGJA/d/2NsbCAQE/NWRhEvVDwQzfhPKPkKVnYsfMTYedw31TzagcKVIXKCheosMQWUjrmdUcOxOwBJ7b6dUsnK5JqqmNx3/GT9eYc8cRTz8CF5GGVWXj4c3a6ho7qNpTc1lKtKGAM28ygz72xa/+p1vNjsBIyKSqofy8rMKnR58XmHNcldezRRtwGdqSABW/tPjibZsrTAYZzWfWkG7stFcnkERgF0G8uL3VJPAxdVKNEVpTmtCSdQiXG28PqHRej5HkX2ZGbTf2wuWoKYr08z6E7ofZ1x3+HFAHcNaaTPBLaezs5iUZpd/96k2+9GNiFkRcy0GzOCPxOahNybCM0s/QBMNU+WkcZmAr+NKa1TNSz9g1Ql8qIEPg4R6w0P6gK8//2rGpX5KFYMuWjM1ouuzTlfAYAtMSkgKBZQQhhsqZF9ssar125Op+Xzyd6wS7M/sWeWlhg91qnCQNISOPHVWTi4/g5b5gGSaJHnY5ZekPbWbP0inda1GjotQ1+sLFzn91Oqe04PSwk2vV0gGkmdq07WQcz1mehqgSxJWsydbjKelhfLfhafcaw9uYyK0xExzn9J5S6NqfygiBdax00QHC82D4+4NfJzmcl6KImvx2ErrmlQtYwlKNcIG532xLxZWhsmQCwSjQ7uT+fMzi57x4CsduEwUgV2tVTkADYLtvz6wwnCsQ2F+9K42igL+mq8M3mQkgYghJeAq19FB4g6iCVT+py5M2tAeC91fHLXW9Vfpu3EwFlrQ6PJZR5l6PrG7QZlfFq2uXzwfahHV9hATCopBaWT8sVfdHZZnXMxGg1dmsQ1NGjq3fpGbM7zHOWuUYwYolk7rQQTZh2AmfG4rQg+Uii/HFr29Ah5La5W+4TUO5zYzpf4Qv4CZWjScP1X59PdWM/uUN5fbRsQ5+u2vbGodqgHDICX/bZjpel7EQflIwIImscebpH8s0tK0KL+rAqNSw+pCKHABZXBNa3aGImB7IfbY8AxNvDLRTXKQTt7FzjRd0N+tPh9OUJ52PqmxXE8K2S2eX22Uy8E2ltl/WySO79ugMD6v7R2Yu1jvx4lUs8D1uB+CjDYNnAj4iNjb7wxeeH7jqo9sBVkffv4kgOFQg8X/kL3Vm2GLjkR+4cwT/jeg7id2FIKHMydmVBxwCA/KSXDDLhJTbZaZvLP5deJy04iaHgCll7duQZaYv1a6Pe1PFJxzg/AJXNIjpgAGv1VVeu6ZtrvgPm7QKFkPrwuRud5+ihbc/rf3AQV8IXQECoRz+Ko9ITTgdnoMfrgUu7gJEA/D6tiwGxcQLSOW0BXGoA+1n80KzBv4JE1FzatyFrMErLbcRQto3PDJUTQ8q4/19paa/kQZSJBz9SxULtzYNpfIkKnza/auaSY3xw946BM+4FS5QY68vo4WqDVMxrmgTj1mRo/QXcA91LtQpfs+AzhruOePubzH2l8BVUxznPoluM2RNJCawNlg1Jf44p5tcQhuM5P0NvQ4D0ABnYSjP6FON93LDLuoWH/V7Y0B1Tf6MfZ0qzNutGKqtdi8Uc/0pDqEbXQm/JyI/VVcx02IJUvQh0+iLe2TpIzH7klehf+GuEGIEgLacXsW3NaQesuLp9OmPmlp0YuWb924clEU9v8E2GcACysmj5pV/VLOluKNct4bo3EnHAQz7itfJVqro4sLT7pHBBQnkwBzGWQT4imBnECXV964sPFMUTue7/EZ5UKMwi25Xa1rdN4Od8TFKHFFRLAKODlWkW3drkvce6BaRMWbb/eFRVfMkoToaVsjap5TRSIM570W6x00Ryc9yi4K1rF8ErLmYJS5o2OxSl0OPfVn4pecjk6JNUimLgxjkBf/wjgqaCzh5OraBI2XZNWzNaiH2MbKZ3IQPs/y+mKVMKA01GLmeMLvmubFrtXtwugbQOJlGePmiITTYP56t8O5Etr4ALufVrzx3UPenG2BZAdahoip2pDzTZR/lGZja611F/n2TARf1U84ZVShZ8AsgkygS3UgaQ11SMi5tVPnS84M1dXwwSf5eBDjy5SCWRfZFMmIsqVr9WIhQM65VrLydcypV+bB2L0q6eONKi0NJ1+Z4V5ccYxohjAmLc8cOYwhcaEfcuPO9xXql8uJWa/D1ScHNUoZOSkTLVnriUMtTsc5eTlvr5ErlBgvF29w8y6CS4ahQGK9oDdjhFdJskyc8PsZYzAw7U9pTFMQSZZU5QAMC0mi3n+i2Bj4miSZt0dD46fQzANpmGpThylptSG4622BGMCAoGtGLi6sVXXD0MaHgTA3xYvmzX84C3/T+0PqJLrNGBOoZTHkIUeEI6JFXj3/R5wb+939SoG4er8U4MSff78gVJEGKfdr0QbmGf4X6r9mgPgJtB8fl6w1Nd51zv5i8VeQE9IV1+iduLDr+lttXIOXRed7CIK29JfLOcSjzPk0x31Vzo5roCqRsbigloki0OVoDYRuW5TrFsoS6i44T/pR8OlBvkkOmQZTSl9nr+BatPOu6C4BZ5mDsFZ3tA7we4DGIYwF2np4a1N3HqCFvoUIErbimfRu6oA69TKZIOzPbJgYDYbnAN90zcsPyUJjVFtgHUjL8okPpQhpa6b8yYi4tnpGGstwomBn6CGkFwdBjpXkj8P8CS0x3pUsUzHvcSV5YvVpFenh8MwOZ+CaYsy+CwtZe+jrRviRlzXyBn0EmIlW4l1aGBNEIAzvw9pY1ticsPfaSNjwAGXw427ZZ92UlhgNl6tV5DYARuRobL8NXlJgpA8AAAAAEFOTUZqHQAAAAAAAAAAogEAJAEAggAAAFZQOCBSHQAA8JAAnQEqowElAT6RRp1LJaOipSTTyeiwEglnbuFrzIo1Nd8Qp/3vnmcq0Evo/Jie+9Q24M52vTpvQAsmOYF57/D/8jwz9AM8q7fan2av6D9l/H/44aiN0DtHdn/23oEe2f3XzmP0PNH+H59//F4rv3f/s+wR+f/WL/4vK1+0+ot0w/RfImtlmNw7JqvprMbgDx6o8Ewl9PFms83TLUga7Md+WZxF9Rkiq9lgBJN6gL5ZKWvl2HNBuEbciIRvAraAowsFtMy7BYv6MlM6Lk5OAOw9C1nOwh/HvUW57bmjp+93o+xNF6liGzvzLua4tonYmztz9ViCKAMAzk8NM5hBLhgeHWEie/yklfmkP412bhLb/yAYQmjODGBnZpH/rrialTl3ooTQfDwUYc69SAFno9hqc8cgdS9H0LqRYiLat3LYAZK/l8O+S2Yh/7JwCcoWvXF6FXV+6QFyZ/jUbEVIM685/PNypHwF7eaot0cGJJknR7aKRVm2Zw1vCuisdy0pQ0rRYu21LZOZH4USxyB4n0hBo6v9Eq67PAtJlvqhMRB47JoCiETgY21Ao1MoMwQ7FygIqXwVtkYKdfmUg57al96j2arZFQkC4CcX/Iy/bTIbbcrmt8+O3IPQWMYE62da569kW2D4ny1GKZ72Qj3hByYQyDdvko6cEYRIcwlSPwtH6oE3j/w7beRsbhhnp+qwKDM/Qbf3yCJgpX06SMa5rljHyJKKrKhubhCMixj3X48BFUiMhM9OozwuL6moENe4TlZiQsH7LkABo6LrEWcw2y7tdFbw0e/0k86xAf5wiO/yoYswJXyu4/FvUh0fhH/eS0PkFYaO5aoeB1LG9VcUbkptHwGgWUAk8HV7TVB2X3OKs5ExjltOj38kLdK0HujEG2LvgdKWDkKJG45CljA4o4zG+WRoFHc5QuZp94+foxWtCnDZNhrJ8nqQqNGzy/K8KNsjU5NMxB/LHeLAD+KlQGCbz8f6/gwM7HPAtBiT1ppy0PE6Z+yrktFL5GRUpNQbOlW3RCx0beFQqp2L9u1yhej3fGXZTU47iywvr6JUC5WQ6nkydlGzDWJ4do6CEzeSr4N6nh8t25ANei5qSq8tgK47lMe/Us7XlcT6/whJUjVlAgCRsCtYOqI2DnPebkGfCnR1Hcx5sjIWHsRVq1QkmnKDX+M4urW5vkFgvXTflqX+uL0POuHH77mTQufDtHZD3XNHl5I6LHhMLrgeywkufoEgXEOeQIrx+cs7xyYAsY+AAi9Hv48TBJ9SynVLPvCS4/8zSYtEoVQSrLGZy0NnvXYAKm/bUzapYx79HfOu7oEKd01RNkH15v/FUD1WDBZUMYLiNtSxj36Pf5UfCZflR5qhi/bUsY9+j5TmQj4DTJu9sW4ioU4SjTzIhzgnPzPfsn/gpkw9qCDrs/bNuOhcRDRWlDXV1Y3ZWZqHgJRlEkrpF5tMKDXvrp8PSiHooyVETj0rVhd49SVeJJ6bgxD6qTj2MZkAHjjiXvHa5FVkxLTpEtISHaAuPDEBIkoG3LBFQHMliNJHeLVF0ZHKjRRZ0AD+/gXlpMizSoebxpKMiHKXvWhbt942pXHtENNPF7iQT4GoQovFdZU0RdXZyjn4WE9s71wHBbbVv3iTtknEC/DYgKSGtmMS4raHFkhF/LSBH7XHOWpRng/19LGNiAByrfQYCRlAGqgsKvBrFFZ3E1zchGUTwq+Pb2yVrPgfFdSjXJBrDDZvnAT16TWf37ey2zvV34Yd4shlJV2VhDSzq0UV1CUo4+zmS2iq34JWPFm0lT6ksD/x3K4Z1z8fSiplCgKpfmNfdcwTM6BjYJVkupfRilJ5BFOk+FL6aij3N2V5qfaMkVlYY+JKQpNHtKxc+rDjZwNPAimj9Bzv79Y6QaqMsJOHQr+v5PLEEKpAsK/7fzO6/1Ugz3orUuSCME8AJfz1iMeBAADmXA2jcSCf/pVyRA1Pey+b5QUAKaeUtI4IIilSm/7UcTpHGuATmQUrzfD7VhE1QA273xKL4vB3j5/IamFWnYpOg2WiZ0DA73y+Pi1IjNQxZSSwQ9di78DQ00HYWM/gZ/fA+KT/IX+3NSZYo/gkcnrhmd913jRUMucaRZ+5durtiFi1YwQ8faKtwhZ8IinL8j9fJYt339QOxFqoYWF8/mEXPDoep3W1enmeG/qzEvMCVKlreN3hG6egUXalwQbGmQ7Y+0BCSf1dR5DVV8ozl89TolJ38MDlDuxnbNzuPwTojCv42GUtCL8fn/nPb4vGu82bzjXhlQ6Sg8Fny2RAkAQykHr17cZKgzEPsD0VqSih11vZmhpVRL0+Lpk75+DSwtFImNp/5nHp+AW9/DOkGoz1km0OTWLS1nXX08xo3q6Gr9TJtZBlsVm0Wwl9F6YuJol20fXLObk5oN7aFrbWtPbu2ymnBZ1ZUPbFxcjfwaU9tyeMmsBzFv5G4JaSgr/hy5GgzBbcd9wxtSqrfAYxx/z0TaRjTALq2t3RtXS/zCCQIInxr9qyoF1AAHG5eh5ZyxmYihcinUvDtVRu2CLNgipXjm+yB0tVKhTAUF3Outq1yeZlH7f/twTsiq0b0aGZTjsWkQmD+5Es3YR2uWjZ880dz80/N3le/TokyBT8gWGKb5KHPZqPrcp7bUmlp/kJyrFNnZMs0QEKr7vvMyawMUaeACiVJDwRrTY2UkJH0pS5TkBlqf0IfrJWNBqRM5nMFI+JX20AQ2dN/QNYBk0pTXXldJSAxvVt7xRFb/tm9gi8fxnd2UQszRSd/grDgTutcrOpOXaaulfz4/EgRW25Y/qUY+QJCOmdcGiAqOXdvUO+r3JMxVg8hMbhWPiZqh2IlrnvxPa2OL3WrJCXmB8nnNI0G+GmP8NTvwwBZCiVDclRBgSW0FmJMcO0WpUcVzPxJt+GrOMW19jDIs1v50u9hzMjXZYb5fyBSpXWRm/TWQSBcxlVx1DODa5xnfSOAIFIbp5gl8G9oMn9+spct1ELD41MA3zyrtoTUM3JmSMVRfRIQYJx02/rmiwxVraMCwmeK52oeUp+M8YlLcC6SvjVHa7t19kV/AbivN+HgcHPGVXLt7h0kyIIffx8rkak53hArJLSiV8SQo/UYSxPvMyrWl/8ahVWuSREqXLDfj8PXS69styq5Mgr3N9KzrjWuwfFyPzIki7J22/tvmzhw4CDQZgVH1xAnwyycWyCYSDPNJWL3lzsyHYcBSa1YOSd6l+KDlxepeA6yL02wvieVyKzydkrjkb7PDy7o3YwNGytOuv/XGFDSL/ffxU7ijvxFdfwszIbL7/2+93v2TeyT79bzozaDjJWTSDfmjn3kHjc2/lRbM4MjfodzjUuWCtRb2pGUl4TvL2DrbCQoZbeeCYHViz2wYUX/cLxIcr8AHLZvFIgj/MeZvm/zTpNPTPSlrRdrna8QGRK0ZIHjQr/yKvCZ8fMeoG1eAkwV6b8v4LUHon4oqR9v5Dz0fqXqIGIYBuiZgjLJk2jXPraxIrv0ecy1GytpSuyW8SgtbWYuRB7brLna+doTGjXRGlqqz2+k93mILmtm1lC15HLqiOzKQlzgBFo/bBHLSD6NLvFn3skRB8FwAB7Fp/dCcTSP5L3cIORUavbPZMtxU5VUzOTbuIqpzVFV7WQSV3lwUdodvLX9/Bo4cK6kng1UMjSBahPBDbU87tGM4snGeuCK4ITAWI1RRdELxN6JbLTJHo+oU6R2EKFXXtRLK/L2wFZGE0OKApxpSUHeVSEQ+a2A9YeiLc/dzeHMYwsrYB/+RbjzEhYrg6fmB4O3z/Lmyn8A4ucLUcLh9zG3/8VsrlD+6sok+PnqRH/cifLaoq/63dishwMPrXD3YigZ2i6eT3MbC1/2EeMgVLh2hJyvsn6vKMjuuFbxtrrXo/bfCmB/489kdbkDWJBcPUM+OiqVm5CBcdhrIfyz24ZUY2hE3x4AacWGOkttYh9Zto9sFnl1ZZAeCs4Orp4NKa9ik09co2BW1vw16Fu9unsD2FZs6ILPQoF3vpfJGbRXtxEbm10+IA3Xm8dRJpBy1hViayFy5J8Q6r+xLBKPG/EN0Vz/c/bRzVXl4vX7xdRiNKEzyo7JRBhvDHToji0SVFxClm/OMW75Y1NxT9h0q4OqHomkqk/WhBT3CX26D6lT9cXMkHAbfShe8fB8HO8JYxIbwSpKDbBmADlnZPWS39vI3jhtRYhnVeD6VyvMJtyE8mR7EPjaC0RM1/pY16CywXyjTRmRNO59m/9pe2OK932njFEUZyhBCBs2qJN597LnO4xBCd2Y8Y88nkRGuO+nrG+2eOzF9Ke8b6fFJNUFqDmPUAOj7eK+opf3nWMLBZPxyZzidZXtw5ERPcGBD7NAH+dNJR+wRiD4DBMJaNtfcL6IHpO1SSguTHJSs8BjEtk7kjDgrnp9+WT2iAjeD/JfpSnLrzGBfCqhzZE9hbemR1ga6ShVnqXqrEWBbTEF4Cftpo7UYXeYNLDQQxp5mDkx2rEOO+XMstzwKT7F2VE/hZ2LgiLF2DwJg+1QvCZ/JuA5ocp9RgbyqALMZxfLTy+hYqV27f0dwjG3u3Sa3LcAPufclp++QC8GSeEXmakB0EtxeHFam8T1CPltRUl2TiOdNh/1nF4r6cMUEjFsZQIRiRX1KxOiAYQs9eNItx92+Moz1yanzKWafCkUQjfUIQWnfaQ+QDDjBvhyc7InYBSImtxI1d4GhT7z7yNYbjB0rtPH4G1PvjbVuDqTJI54JK3cClOQyFoEMiHlrog9hEaX3OdKSSljztfRMBvyfgWZ4Q9HKAL7AWPqt/DqDPmo6GrNDgpW8v9r8JKrcDRv/NrDI4tbFcVFuWKX0AhnNOrRAsrMejoVN3nFHE5sgowU52cnXtQ36qjwVVDchuEH0HnrKv/wgNRNPtasBvRQNhS222Ghqr4A1VO9FuEPWgm4jbYd1SuiOVibjK1orURs9kQruRzWG/0Aqh2BMuQ74U7aSmo1LSQQpc/VZdtOp4lKStteJ7PQgp1AAueHPIw6VsXT/xeZOLv9SgyfOic68ltrbd6rONWhzEpZ1V4P5qpRfsBC7lnle4Zkxi3StaULsicNYSvZNsF6h9KVgFDKCuNNB4y1Y8eIKbTSI+AxoqxI8+hn4dJjVG53+vbR2zYEIUEklkKyOx465QBTg0fZPOLUhXXiG4Z256V+cwZJzxRRiWPKHNyJI0ilkR4AWuzalPs6znYW0ye5IsLGhmlWaQlWaoQFyGGgFmsikV7KcDR5wDNhOeCwYycZElSO27CfKyXZ5N5eIDq+tUGk7GEYOvMbHSsLo4OZk3gdW6exrS5o/Vm5wqI3rkoJd09yT37+ApZKvosbxNv4lWcUTTimEYRuQiSeBsK+jpCZcA5IRtgQZy5Ikki9sTCDpom+LCTRpfwkiXSASj4yoyAMKFm9sJJtWGF4XVVMYibrdHFMovu0Sc89CgcdDuL28c5Tn/DtCPmKfw5vNXgtpU/0gtpCJ+gGAgViNhwRdEt5vIaKub4MLeGEGSUh6dOGgzgxszQyscRWmB8jP1jTr8SKNKJXxEK76jBopY2jggneyFMvYYyP+snAQWfz2bYCKm0mQmsELTu0+yPU+iPFGFAenoD3w8dGScn8+uNHUMv9Mks1IbC6RqsznudsbIIBfnoPeGxI+2n2l5LpGgHFtPUWuRvsXqkXOEEtmuo7qZ89Vun+AmnvBBencGs1wRiJjQXqDoiLGDQPsNTdv6Zguh/VMDDW+7MSv/39bix0fgUr/w/v/RbTKpVGKg+Mn8JgNfldyHl0/1dr0b2vKxGg9IfQ4DXE2DY7vPCr8aNb8437vnFTQX11RzXj7i90CitJQqJkVboEE26f09PqkdyL99g5teeH9gl7vL0ENk5b/AMNhkvw6KW/xi3eeUzyLqOfucSAdaP8nEirAHdFnJon+vikLHlfslEAVcrpmQrijURO2c+2N0i6HhLMLQoK8W5YiksCvg7OuOZFbN6LXlXnNgzw5dAOtbs9hcmKJ5yDkJTPoa4Jwe8OkfwIRl/HWVFlOq5ha8ze7B+9TFNEzXdw9xbtxtNjv3oknzbIMwGg8C2KAMt8ZGNsBV7CKyU7Tu1E5VwsMH9VYOjJ3K98o37mbqPep+32bGqDQsi7ub0ElkqmqZhThIyZFaREAjQBbFojkZGGTwGtT9rIcPKT9lK/WO8w85GfgHQowOYy1A4RwhfJ2mVpMEzl4wU4FYiVJHVHTExNaolI05e5k/krxrAIc+kbVkrP456hdzs7Du0XHp3HfLMAItI7EBp6D9//5VNuBMN88lRr+W9rEOrjRlcwoH+lxam7/l2/u4P4IZXuAutPAnegDo/jL21/aISRvqfc8rcXzDUyaZHDS1W7i1Ur3bVKtjyaAWy7VpMYK4SzbNGxyG486f5W+jHupPGqJufiPWIOheui0g37e+xdobhwz0RBNTglISuNoY9aNk8ALF8JfOGxmHxwBTO2Q6/lU1TtUGnsVwfvgNnZ+IqqEe8eupgx+F9vnlqdqTXHZQTNtNijNA/pV8SKL1CgE1qSBIm1vLFamHIxjAEBRfOsDLj3cRvsMOJgRZPFXRGVjFNgLOO6yYOZend8j0ATN/J+Qx8ajy/exAhFlVwKzY96vuOidi3q4NGxegVdP4vlbjpHn/01NvCf+vLvHkQ5h1tf9A/RREdX/3dO2wHrY9qb8WrWifqMmeBYuOB/bsCei2ZoSmcZO0EHrti0MN/UKUdK94lb05rC6yig9yJabxgLohYsqjP0JFe8KPOd/QpfYz9iia4vTdNzxhZircKW6Ixto//q24FYDb7P7TJ9E3QGU5zuIk++SnFOHGYwflHNMv44M6z9ZdZ1z6IoU9KIzO0VI1O7s2NO2tR/23PAdB97UmMUPhKWyUdN0etWbqYQJqQaSWDCN2uaI3Ft8NFkki5/jVH6jDXMdKPyWhp8NpVLIqR5+AS//sSJ3pXIVRuuX0/Fq9UMuOI64s7+aaEQfsJXD6X8jMmYkYd1tWjk162lOc8LeQou9TQoSkxVQ0Frrctdf00s9uFJoJe7zTlwoqYkURERP09ncIpDJm+IoJy3G2pFdHNPGa9PGDrCFviplcnpfxdLZDvb02kOmFv4P1vPHOigbWoTyqjtMFBFIEABD8HyWvPgexJojYgZY1A5VxF/8eFycq5Zpwfc1qKrv0vEidJyZrbmZL411gId2YSCEOESaC8O22guIt6xZ0se8lKaQPFyGU7HHXTxwgsQEw715jN++KsKwLIdmILAXmQSw2ZhooA/PJOh9/zZV/lkAehMSRT6b9nBfzp4D+IgpuyCjRGOKi6LMnN+3YThQxFpCBy3yqZ7Y+/0/ydzGwFJPEhCx1PUWMqyFSIhH7TBlEqqod+ubrJima55hYVnuNRDrP6bKIm9j0tCbDSWIB8U42+x/VJBbcVN880uo+fywx5a+MC9rS8YeueuBk1eHYPnYsxftd/aLWtepTxWKOd5VATZ/O6D2YT/GBG57T7fyb/YdLrmj4RvxedE51uB6DG/+W8n1xqBQu1sg9cE1z9ZviMNtYljs6mwG60fJwqMSfG667CmaNTB+pkIg/+tFiCLzjG3LlFXhZjvbU/7U2FK/yLoRujBKCi5L2oDoOd6EMeKvoqz/NhLxo0J0dpXiFsDlkoUXjPIJJE+k2TbG6bQ4J7ul0fAj3h5fEzlO/+b2Ybp3e9vf90SgmtzBfPbcnd/m8UtiwCr1ZDSEacn+9KfRRjNp84J35VCuKKi3b9LGgjrUjUNQJryqegyinrtxYofkRC1L+mf+5qfvw2EiOVdOnCz/sCs+nWWbaVGAs1zrdO6jtZVhvpui+q/hoRT7o1pTy4fNnZ91XIpDF8rcZFxuQA1lGprcLWWKPymg2ITyBsshwww5KjYwFEF4JcQrZzX5uW0BVoKgMxfUT/1n0sjk9JqvCiKFgpwL9qGU4by57DDKJTNlB0bUPCy27FMJjDcrPjRnHSx5YVqAvg42z2xCc2jiVrwvKMAg/yv2CiwLEr4qo3k6XTMKjqsWyqBm8poR5EVOjds6muy/fNHO/B+W0v5eNxkB3TXTAwbj4ZtgoMQnKjQE+nMcSiYVDRCXp7JXHKLOgvlRu78I4CPAOyG0o0MDZU/TdI30lgt9C9JVMQ+cuh9FKTq9ESTYDj+ji80OympNrd3ADeGkt6L6BPYq6ld5pFUfh4IYHorwCjFjwhGo5jnpBZSLZyz4u9398+mVpi6pVPjE+imoMliNb30ywLWr4ZUAsfoPf4TxANwtK3XbIK5owRK+tXTFZHPFBPop3hw6c0XXRf7mZF6narkJGI9ILPNCb272IaidGiALbVdwXpY3l2JpgmP8/K38pFkm8VtK3ZdzhgiId/vLAWx6JH4htj9TgcQSyXu28EHwi9u6bf0EEfsP5YDrZlrkM32iN21bXOYzi4FFl+rhd2J89qoQQ2J+Y/tCAqaWf0U9MPWEITzzyGJdosa6Ujmj2Nzr7H2F8ouW9q/EDI5cWJxnBYD941/3YcYtzJAIt528YxKw6hnG6EnZSIN4Z+XVFlE6jYASKZwAqMeDZ7kHSv2Ag/8GLCfOMj03surWYP3kEFRmQ4g329oqDQ1bpZ/mjnH1a/Evm5Y1rvg5WENipuIAzG0eE8M3m7+PByRbZXjb3+RWEyh8VO9LmnZfZbbrlW0kQZWVq3Z7hZsOXrfAEPjV5Lirgpl5ieTstKxgLW8KXn6l2IhXv0+W3YdLc4pj8AHPZsIhvkNf8W5nMQALxgLN+LzmBp5aPcWbQY9MFT4srmB6938ur6BUlvpIlWkVfwyCvHA6hdwmWKdupZEKArMim5j0e011IV/FU1ABNkAnu8WG/qzOvHHLdaZP4QpQ71VeWMZ3hhFHJAMI7dxTUqqQNKggNAATmF15YK+1/VHeZg2UkKxGzE0tZO+0NkCaJRVjMEF5/Mcux5DLJIJaHos81rUgCjJV+1b45JtFSUmws8YrGp2jGyvlnRXc34hC7QcaxJ2NP7f3b0NIRnrVnbSeOfo58fVbZiDUHx7cT9DYIZ9G+rCu0Y2tnDjVSbceLOtrPB/W66jN3H/g2aDydYViyiIhKZMHOpEEi7i2dkiFvY1dMa4QtgznIZMUOG0R7w6HXhShtgpouQK+Y4HD0zJQkriVS8bhvRL5zLXJm3qT3w/s6LJF6xizeIMkHMEHcHTGrQz04n6WrvJeWfIyil9S9O32aRvW/hOI5n/cSTekBtpiGonbON+h6g+AIaWJM1azg/xKU7NZmE/YQbdZ3aZMjNsq89vOyAalY2/d9j0uR06xRkOnRg3jlvJcNwB+xmDdo0iXFuG0y1tFemaNY5Re55HcjbhRp8O4gWTY1vfVbh1IZCUpuTmLZKqyf/GFqWIlp9wzRkswCb1c9geyZfIoGTocODB6e2Hc+b8sDHhkR4hwnBbFO9N1YlzBoEoNFH2aqtu7b9gW8V02RKj8dSurL4b9My7ZOHIqKFYjWXtDsoknprdMPRV4AD3nKk4TYdVgiRU+7fzUZ75yuzFY+uTjZjM/SHpFx6uvaBU1y2o2+Sea+mnlZmTnyB+KXrZ7318oMChxOMk/k8Zo7onZK32gRBlNZgN/WrY1M0wmcVMSt1K51YnkMhciCiGzcsoQTfIvPw8hiFyNeX8D8ZHHRjEUn954EveRM/SuQevGpaSNvv0ajrlXi0DlUT4KeIGpGxQ4lAdgjLG87pplkgTF3cqsshNDjMGfM9x9rf/CJTPgZxDxP1eOPBgW4ivceXv778E6DsGmJgtl1vttwAdPKszFHPgDYn2fvmljKR8MMrthdn+6MIBsWh6n8O0TKKQlL57uQ7vkvyKn+qmkwhE5q4VAJ45Jh2JrYuZF8sk7q+ISWR1QQrG8pkEi3nGJ/KlJEZDpFZsYXlnr2Zf/2j/OAj2SHGQ0eTsJeXHkSItkLFbO2jIRAi89zhyFxdmp26ZoXDjxV+yJJIXgvHz48GNks4TNkwZnkHgqQNo9QylKsoDRpa/cN8Fb0AAAAAQU5NRkodAAAAAAAAAACiAQAkAQCCAAAAVlA4IDIdAADwkACdASqjASUBPpFGnUslo6KnpHOZ+PASCWdu+/y3e+ZLAAAQjN2ctwwDAl2tmLwi9v7/W+ho04n0AOmmyFD6P5LvnX8T36+gieteTtL7Nn8/32/GTULuhdpRtP+y9Av2b+7+dFM++iKDn/Z8TP7h/4PQp6x3fd/afUT6YPo2EM5IgPkvEC+eZkr5NKybRXZ7iWt5W+HRzXMYa0yEfY6NYqyBHFa7QWHXKhnU2A+I7GG2+8Ae9+0nhzAAL3a28TzKJc/AFipFmPjZmmjuwJYVsLSF5nuys8BFcQsFd/mPLEU6BHe776m6OVW0y7Ur26hJ9tBdXQQUGZHABahorvN80Rz1fsM9Gl+VBO3a4S+EGdtfwt8+tFa9JRWZSEQfzkefvNEaNKgHlg9sXSrqiOXxRXElJJZgSfXN4bSRguq34asJWYM00iLwcyAaBpoRR/Y2sqoltslDsinGs69a/Y1ikoq3YRCoMElP7JyJLKSOJWg6DcC04cDz56FOBtQ4LZ6y09KDPZinI9ZNi48/eQJojZHF4R2m7QPLuVwguc2W8T3gGuHiPYcpKsuHmPyOoutL9snTQPwmuvYHUrgCw8RLR3zYF/aw37VrQl1lElzwo7cvFJ5R8NJen9DiWdZze9CrcNcTGl7Ip00hMCudrLkDvXTIFr1mXt5PW/0XUg2tn0RHIlglt8hJiTZwl7OKy+CfUtkKAEwMuIg5BFK/yCM/azHbUstTlDLB19M9SQ1LF5PiQDb7UenmrX09rrhwiSGnEfb+PouCmRJAi3JhUVO2bgjsb85E30L79AUrg3bFg9wBIp1Kc5n80ixuxEqKQLx8u7GicwydyF4NVEQh+Ap5uZqr5J18AuNR0PJJNrrprscdeNv9CwAhgpB4fke1Rh3NHLqHj25KS2M8tS9msQ78uazt/5UGsMKFL194QOJEsPuXryQGjAEjfeGL+EGOhPP0UVOpTmlqfWGBKolPw7fXJRzFfP5l1iSc6n0AIFqVtQcHMRginVoKfpX56C9H1SLWPfKhpxFOpkOUL0BGWSHtjCxi4qQuaObEwkTbGziOp/Pk66NPy8QE1MR4Y6blhAW4qhsc7n2YvsgE3xOcGJTIM3/LioiMm12FhovIs4cGQCQy7n9w4ZdP/LamkD/X9oZsYnAmGogjz+B0DlTlgZCrTqt4zdWFvOEHR3S1LM4WMFH/XLHIH2Qgae4ReygaC6KXaT0Co6GOc7S6ft99ZcrY7leKDbJASnBtaXfFuBPTIHqyoYv2FtclhzEKghRwkC/g7QkK8DG8vc5FQIOWGyaInLbmOx/5rrpt6X5UMX7BjZdOeoe6/nIiP4sDDjqTHYqmCxgpH3v0BKZA7Ip1LNHdLUszhYwUhASmQOyK994Yv4ze2EBuRwOOlqZtzDmz++dlXiBED8ffa7TdTw/7N/81Xc6FCYoHgDrMPuD7U0gHUiP71ZHfQkvINacqKph+EkMYz+92YIfGTXpW/gCovJXVCYdN4zagr4lqotIiy739QPPyujcAW/XaHR+1NFYrUqkd5h70P1NOKY+C8VorC08AAP79iO28R8ZLbl+DrWs3h37+Gj3NvqZ6w0VavtZLAlePNLLMgE8t/3hbI/4j54Iqt0pf/QuqDp9oeZf8Jhd+WV1e3gJizpR7rAeyA/t5gQMiwyjSbPdIIT7Vk2zXurAUdHdR76wivP0XVPQDGiKSPtjM6VjnV/Z1AotU0QUyZ4Hws4BvexJqdW8N5w+G9jfyzJOx5Las/3aQMfqw7IkJwKRk8qeOIqsCxDzvJfp//clb+93LYHfneBt+rWEy6atAf7QP/3H4gidBo1mqollIgN78WFRrgOMH/GBzRgi0thrxvbSsSINC/KR3CqZmnN5BLO1hfMn6n8kbQmNHyEuwX+KY2vHnexGrrJZP7b06KCywgq4hiGo1keeezsMGZXLGIz6ZIACWGtZVmSz/FFoA41vuF1JMA3PasLaSpDs1zscm7AksIIJGTrqJ9G1tpgA0PBFKzbuWOy2ouydf0e0q0D66n3GIqNXmloM2DXMgW8s0JvOtN2hdRGv7oRs0EeonBE16/9xzdu7ji4uazCzYbbXe3ZyQoIPknVBmuXomZa5MlISeWiuF62612ljsN77XlHClW78CxCf5xSTM3X5FmRZsAdf4Psw5sDHn8zJoJnrx0+VvNQaZxx1sI2AZV7vh1/Rx/OtT9Anu5L+vEFK8M9lW7670hPV/kXwYbK21VB/rTP4JCowlv+7unuDn5UhB87PkXmVCl7GfwdDln6cPgbqbyCh7lGvYaDIo/Sp93MGn9YmqKY9M29EupdBNFMDqHOrGFj3DUtzRtze7nSsDWAC53iqMvG2GNdKg/1ViovK0tZ7n9G9NS7H/uZKA6LvF3O7yFKcY2ErjO++NZu3g/ggjONEM/WANIt1ppzwGkmkdqyXcHFjRTTQ4XPaNEPG+Z6reonAdeIV3h/08wjcSCYKt87bY3+xvNkvSFoYncx2Vke8VQEJXVfZr2mfC8Ga9hOO+JaYtcUKxkQHj2ic6CLLg5o5GyvUPPbsAUAOK28chwiDjRMAC9iGvLH5fyVtE341iMJUkBm8Jy5bRMqZPzanwqzDKV4FBc+764MaEFYYIqOIAPHHs9WzVHlJ2ImI3jImvYucXhRhd6y6Ofn0J2oEztX3vm2vaZ1hs9O2f/K1c/ni8owXqwou5JOzmOr560JUazAtMLdARa5vURYj2Uy4EIxzaeZrD8zypwvkGohTM+nLM/Y0ke0xktjnljcEvyTa0cbiH/5n4nhHjQ+LgK/jfid2D5orXJtQArD24WD5EVu3W0S+58cnsC04tU067ELq0epOcD3ydDda3ka0nVSFXWoDiFGfYWD/PWuuwKtopNvl5ejWOQ56UWnT7Qh1RVxl6tYIIhAi14QXpE74nTtsXcrJY1HBWccE3YZgyd3CEwma+eNuA+HUg3+GF0i69gDlyZn/dOyNJfujuNopGf3vCPJ9jnhhtt5dsEeZb6b2gqiNNlHHfVSA6QMQax1NdTMkpxGTGyk0y7hIAmPBanM+II0Q8Br3s0U4ZhIK6OPhJJDbYzeVHHgZfqm6ioKwhnkQI2W3cZwd1lmZfoj/acbtbOCE8vdA7O2LLLwuZ6dAOvsnPyU74p2ijPcHmLuTy1pbYUQM4jLXN27V8TkjQzLl1GXVhzfjGxKPc+KsvlQldx6y/NxbJf3JuexA1G9Q9I854Fihg9Lh0crSQv/f/MASmqbbQhv7OUgT5moeLQ/r+Iko2HY6SxH/++3DrVqxSOwnUvkvkjTfAPtp67jdsAzOuDJjUaCr54niMt/5Z8wWxFtEjaFW9La/jdsa4SRLiOhjqFW3TZDVuNhPLN2HuQ5k0I/vk2coh9+f3+fijrxBOGS5Ot7IMyJgIlv3r81njnzUzC3tV3GU5FWBtJSRljThW2+XAMBwsc4PJNcZB2p5myjgomXwLA+rLhf1wOymmQJLTimOVNdkbn2IYWK8LVM6F+aICEZw93x4klEEXKv/fMFjA/gUHGO/WIm8eQf11sCgJJBwFpJht7+50qABEgvLOOv5kBSOk4S4FM5kMVVPiGNM9Gg0qlxd1b7qoOo0K6W9ewl24AU+6Dle3l0DJLR70gq7OgFNBKCoBLx7xecwKSN4X3H4RjCqzflISE2g/YCrt0fPXq5zWEIJFgWZAOxr7Y8TbSzjPoB4tAJ+6N2SmXjnMwB3Mgz4weCuLsfj3Hbt27icBy1yF2/afT1usys0SdKTNgMya7jmQ6OqpQ/lZRXXYRW9M8oOpKh2JlVGXJj8IztC234118ze2xzpdBOQdP9PEikgyxBhemdaRcMFlhA9IpeLE3TsSffsKQZKtLpM2bQIdg3/BGY+ZN8qVayES2Kh0IA4QBcS7Lgs/qj5ZWshnPlxqd/v9F57NB5wMOYmoUjHCfZ16AEtt9hY/ANpWL9DMPgXnK2+G05MDIh73CIX4OXN5tiZk/6ISRm0K+nFmx+kol7QeyaL0gxGwPjKoyMeKBwVIgYmLkQFnpluJdJELr+XFaWCVxetJ84wB3l2r8HyQstYruko7MScDN8UthojNF1YsEtCN5CE5lK1TQdrXchUHoTsm8XD4frbm1JR8FntKEppFTYHfm9+DUPwnAvdl/gwhyJO6XjjX5WaKDQ6qDPH1I9ST29JMZpEZID7smnE4VnKsUk/ALL/R0zyr207QEEYe415kyc4auN8zQCxAaKKnC38YC2WVWyZU2vq+rMJ/ApH5yepXRFivvPqwyw2yM8Fll/wDijXH2tBAZ18M1dwW8EQNjdnjI7wCOOWwxa8fOswGLgsC/4Sn+wQKHTOYEJLgwgb4iYZqLTBHYx6lJFImM+V7yyI4sB/fIskfKUptZvbiUll9LKVYn4wrxunhnd6gzaTSfVw0hZDV0hrgBqdBgcAVAw/i0zZK2sm71aIpN5RFXqh2o5DIuqUtKQcAGzO4gkQpi5WCA8CA5gPKqqEIFVKjgbN5vHlVjyiQHLSZplcupQ9p0uRSRpmbarrpOYOwscji6gKxjdGk96I/Xy90AyzIggFlg+ysORW8vAuA/n84gQPDJoHysVje1klJ9DiYIblhZGYXN19Z67QEheavlBRyXF2pRnRHrWGws2jB/Ex+6tm/GfNZt+gADrfeTm6hlH9djtBEq111BEWwsOg/yRB8ZoXkZZCxyPH4IDmkFPKpOtFrAgXzas+XYdugcMjuyW0FnkkLQ8z3PDiyj2aoaEguzwE1DrL/p4eMktrglRFM28Msr3aoGo7SfoNHgabotwijY3qJ9LMVhhyPGrLhGpf5i5sMzDX08cQmxtHf3YZFs/W7YqOtm1D2gmstDg8suoZpZZJVQPjT2P2/0lDXGJq4j2fwizkCBto+E5N2TKUykH2t6bTaTEASulWOj9pJZkcmJ1e6HkmX+beL9TQbvQ7/c3539LqPNRwT5mMnA2wj0sNRfdEotvErzjpsgKzsiXZmXjNXH55y74nSrlkNJ0sH5nR9qNz3VmyQtO+vsnKKUNuAAEDJlWX4SMjLrYARg+BN8sSMJG5MmM3HADQ/GMEQFokdMniASqfsxalO1bKhR0JTzAdyGAcuNSwHrFLlyPrtBZbups5+k0iqcQk43dXSH6oa1FCMDeOFqls7z0WTxIVgTIXFarsQ9Ymsw03CLDe9m9j1uIveFbUnpk/xvvMN66OT6ugiZtYAoya3SDk8GpQ7UvyOOEhFtzwcr+Idvu/jfEmDfyczTBCRl1NaK01k8g3yKCEyzCtSgH0TMu9JLucbbaGLiZ8oel5cK7g+6shpUvigneAF5xjkdRE7rdtqZW4H794BhuzEQa3Eze76XAXy4oN8pgWKFkl94eWewOZDuGg86Vvf+zHfgOTK57F3dd7zg38v/KDoeNMvePZ0uY1T7doY70xfOBrbtgc+scU+v1lLCHPmToI28hP8p7X20rARTOH6g5zirHjBn9UDTuVqQHcTagmRvTODRRBypYyKDwVA9YNUaOzilw+ZKE4RWPVKEfUZBtXPq5nMInmoXujE799BOLtOTB4tRk7WS7m6N43epkBtQ+Q6sk8Nx0nQ44HX5eLdevgL08R7lo+RHayx8yLdeHOa5voiYWVkpiDXVvdhS0v8Y2KWs0JxWxhsXiSsSnPFwLNyHBobFBv57GJLIXhwHw6r9Npbhrf1gnsXb/fdi+3R1t0vX1xxWhZWdW5mx6kmb4LbsEgqa8O7DSdNH2eUwHqMyBmROdtHf7/+GEyfh8tOqm9pdTBrdX3vNFsxsyqk9F+mxY/5RKpSEWE+KgDfeRzyXki0mZwxfCAfgFUW3qxwqk48WeVvJ8ZBAv2tloTVfWzAb+VkPNtiY5tAHql48clZqhKRlEeDOEFnF9Bxii9jebeuJq7jp+R0DNbjNwSZlIZkWLm4QxzKvIsyQ5V+HcqFXwxYQZGq1s52xmYmt1tu3axlT8pgJs4ACZpQ0vxU8GYRjEcNKfnlFhas+YYphdqXjrq1B0ZcPbM/tFCJgz0IsmbREanIKDNPS1TMugsJ+g74y/0jPfK+NHPzKn098F0QO9VaO9DwI/NCSWxtm8MwRtVhjKb+E8RItkMf6LeoAGr1yJEoW/9QIEalYv5CTSbHwpmncPqrWnwv00lGVTBDHSZTwBMOrBk9kBEtssQCY1VCVT8VfOuDlBX3hSUy0mSyCdHJxCcUcG5wP/jikS6dtraWbdo2oXvNtuhZmLUTVroQytACm8/NlmYVWwmA1bCTvce0qJE3XvIwPzHpGd3Zsy9jfEltFBGMysGzaWfrsez9xi3kggsihjyB/KOtr+eTbEMRX2uUrVxjOjUCeLxkiUP/sF7hqUJ+spCghBjtt8JK7AKe2Ztr+0JzCfMkp9O9uc5OPxG1t5XLVebYKOdpmXGg38x60yrWGicqHRK9xmYdkHKt9tNOp+rjvjUkeQGtvMtOa8/5MEguRwqmHTAgBulqyjmKEtRKjXHFltY44u6ByU+EjLYyOyy0+2a9kjHo5u9PodK/PcPqBeh6m2n2eQTSLdbEtzRBZJjRxKgZ7KNI3PY9ZT2qoiky1k5pGNiDcGImOYyEy9QDVOFJooj25d0PZCVuGFLFgo30NU9r0gDNtNgxh6xNmBQ+dLIS7gPj/VT4VVLfvbwYTfqKFZwoTzZGMvl8O2RE0k+Ol4kRIdPT3NgSd/ZnH6fu/f6qUH9wRbOtk5hb9Wwcyr0dgYXV5SRaZvRkH48PP71AxSsPr6GVFwPiVarV5Emc3AD4Wq5EnAfIBQiX2QJNDPwyOYt/4FCO/w0pEMIXt6sZZU6H4g93fF2xcUoVfbXSXxRz7zxiNc2t1byyYp8/Fy4ETCnnw6jcd9v9UyX7VanXlsN4Wg+Do2dvDq+eBV11B6bsF0+PPd7fGO/n0uK3DtEcEEYPXiax46uexRexniBoIgopGEvVWoU6PxpDadwNLT+iWOmau3gRC1f6hAznDyZF+wIp5QqCh2jxXRGW0TWFoxKNJIgw2GHXZa9tS66pVw5abb29HMkqcAgkoJatKG/OZYmVvQOnqvo9M5AOFvY21T3rAfmAMFTfHj+u+92itkYQ82eN1gQCkT6RH7Agtgk+uclcH7UTVZUJVToZKt8RNNoOncTxmEQ3uK7FUqFP5vkN5gxRFvKqDMCvr3KrMClrGASjXZbipsM05wD2IjPiapguNK0inQrSbu8KcHcFqDOPst7kOzvFQhnSHWnAdLLO/1a0kTm5OpTNTJsLAHTEbsY2Zu6t4xjKvmd4jCSgzP2xivZpbja25mwtt7aoWAHG2RcbCN1rNJBuBC4W5vkR6RlOCfWbMAIcLeUT1pSacsY0gd93X1XFph+YmJKjNQiC0nhC726adQ/jPcZl4Qpx6cl5+iMRy7pdRKnD9wYKOFTaVWeB0N/k7Uu1czJRm+d6g1t/ew7gcnW+CbHIO0PLUdyxNozfvVhGaUjc/VleTyjc6qbWIjpG0fJJWAl6Yit7H4bRO403uzi7jDxy/wcWRBHKUoSE0ticWRla6lzddOB5AMFeiFHoSDkTqRj9qk6xKy5Lbz1Fz7Szfw6ZfMq5IE+Df2Zl89M/v2AdJ/yZvxQkgrHYdmC3QpxgJ+/nNldECA727o8wAbaAB0FuVNWxPOoUnfyfhryL1w/dyvtoHRdO2f79RDbg1SRD9k166vukHTx4Bm3AFLx56xaSgrmPG8LhNsO4bxn8VbhJPqU74vRq+wKqdhxrFr5fMR9M7l1B9sVE+hh1ceXeq5nBIY0to3UQTURP5iMI1HAbbIaDnu677/00wV0/XeYq2AfrLFHHC7/o8ocOtZej1rzOwhpMCnmBVEpKQRpNE2htg5Vko/R51mopg9LYwB20AbnlblRqlGaIQnEPHO4BchbSo0ttV4m6Xhuq1bJSUtporoqgD3jwsfu5GKaSTtlhYg6Sws6r+UI7/4vQRuNI4g5JQPavtAV7z0kb9rPlL+G5RYG6IzzPxpJvjnNbFTi3QbZVE2IGOvQ7614S3VIXb/JVqBYb/Q5IGj2lZrMPrK3mP22ErCDidxs4zLr9uvHUbYGXDQpvfCPkvAX4ELxvDF6mYVcZOwu3FAa4a8+xASX1m7hF77QC7H0P8V0Be8N1xDKciE8slAnjzO5laurDbra+8pljBsXtH15ow5xBKVlFR9kvBm2FoctEd8uv5DXKlpetrNJriVcY0CsOK6vIqIPSdZN+UzKo6D9nxdFco8cgHNHj49CLDDXGDNkBP1cBp1clUpbV+jLSMyEggfCO3Bt07qhKc5WAXYnjqQqnyHsYu8eCi5rbdm9I0vLwaBLIzJ2lcsRP6Ge4FGXJN3Z0KLh3JodprMbecyceAWCt4ITHnOO8PRZsqY+wtRBmla8wRw0b2TQkkJExxx8NNt+bgB4LxNEOwQS3g/2Vvv1zUR6JvnTgMuqOzk3idH3DjQWeqssxElo2SW1xbLtI705abpHd6nHNhWJzzPdToox5tNC5HW24ZPdk+/O02bYdUOfC9q+EGa/s2tymW9BNgyxG3762y614/leEa5FYH5ZK4wHYhnA28XFapzPtw1EgBdXzklesmjqS01NFOkpE/THbRVV2H9l9MGpXfBdP3SIXGY1MKqAD3dAes71ULb6CYkct5ALSHhNqZbzovtcaZljCSQUTLNR7dUSH+uhvqhlyegyJA/wAoz9YsVXAmNhO38QtIGf8XkMBTJh8YrJQ/sH2PAmp2gW1uT0a+rRX13pGn+q0RdowhosNSjikCGEEMGqZWPyBBBgWWQuEY+SkaUOdtTDcaFunuSLSE2kKgEnVakW/T8WDlY5ToTlw9k8pwzHiO1YJ/aemwbUyeV9Tady6r2V0uU6f0neSwDZVRwX42vXEaI2yrFFsJubxXZsFkh+P1blUsn8LDL/6SMnkEUBtkClQAB06Psv10HFSn6fiDsy3Nl9LSKf01UTQ4iWlK2yxOBEg1AB8X5ZhaK+pmJT6Uk3ZOol+oxsDyjWAb5vWdfAPbRpllBYfKGIcKlZJPK10L+jIkJc7t38uT/A1z7bfmyAff7WP3gOZ/9NwCY/+2w7Grn36WV8ND6qGOU0QGiHpFgwH8A4X0T+G6WzLyyzWvbud+PFZs60ZviYw3uUUFA6pjZM3hPZ8+jNfIGkLTrqcRJzly3pKJQvkOTnSiy3Dyysa+CkDcRskMfLCHrOh1Q5XZ3V+X+blhADTEmgrlLJzz2ReQapRV8lX9mSi8JorVHfucXevMl1Thv7+VUEwnTdFopescsMJXZDEWRtY6c8oiVjec89xI8Bkk9/l+YXnpzfsjzjkv3cc1z2brL7VFpDW850Rh8xlbt7zHqv75HDvr7jxmAleZ0d8slKVbqNo8nXmB8KB3u/8StLeW8bPUDoq+E4HPUpqZOw48MtKPLrTaB16e/ITgCMQEq521vXRuDT+oduzfh6ARSAV9e6n6OVXdzakNVNWJ5PDLK4yqXiPBlW0lGdJ0zTGXy+ljZ929oJdGhyJRvsShHfDAYd92sXxNFEdv6gFvLBdxDiZjtuPY6qNP983Yto45me12TFGm9N1m8GkBkC/x4TTzY/C4QQWiQF+apav3UVBsd8cVwUvnP8o3zDX8aYrjKqhfQiB60PmHZB47FsaQVqrym0cwjpRyw1Vn2EkHYNb6ZVk2zFhqCGiIRF59k/9ZHOsr0JRQSfb6sp4aeAcsFZIkdFKExifJ7c2dTK0h1SUXjC8hqRDfgEO4xh3oqOKwye9/2pl0IhPciHFdClyQMRKa+cVbVUl7d2BNEUNSBPpdwDCllpVLYumBv3/Pk1FzaEc7WO7yxZt5g7oPCJ2RcSHnaSuWg493ZbsYdK/nVtnINVnf06pPPApPKT7lBj/ueo7P8Fp6TkbE63+kNsDgQJkyp/84CZcNhyoFRPTEtDZB9RV88AB/gLBC14HVSDGGZKfPrFaSTxneWSVCqtbbIJ8GoBtv7/khD9cQM3gAAAAQU5NRnQdAAAAAAAAAACiAQAkAQCCAAAAVlA4IFwdAACQjwCdASqjASUBPpFGnUslo6MipLTJ+LASCWdu4W0RCCI9ubKvtzOn7Tr6PZWYXY69QO4k/p3RDadF6AHTS5Ch6X8130X+Z79fQRO1u/2odmb+d/7vhX+1fwPCy7QfYfMO9m/s3nJ/n+aX8Pz8eCt93/6/qh/6n1i++7+1eon0wfRvIp6tAfJeQJz+aaM74GwljTP9KJiPyf1d7l98fb8mhPyo2pV9pZROJ9bzRLVBOMe86mY/JxSuYDS1PriteoAcGCb82njhX53RkHGfhsDVhIpmp9+LjQcv9IVcftOIIejwF8XuX64DzWOl0PQbJeRt3vpuhEesw1cTKloW4VhPV5caG+RlHGy8ZzYjJN+4HR3zZ0uB7gPZmTvWYp4gZ7zij2Sbg1jmOa2XBzu4M6NMYf3nuJ5y+TCvk9VIDrGacxLDUv9/AB8Ao+YrCbN2yIepBYb+qM5g3gKoq+mRqrMBhTRIr8nRbC0iqLnQEpde1SctPzTEpomMF6ankmqHQAe4o4fiQ2tWNj87PAyphextyAzev4Pxw3mJCQCxYPz03I9AHYCQxilxBgmx2Wrb6qWsApWiPwouJyuVxRuvQyhsnP2tTN1QuHfxA9jJo7YUTkMVkcpCW+LjbmuNyFlBnlMIitv6ij9p9WmojV+gR0sDZNeiJZMRm+oBiCxSGg++rjNDNs5l2nTNbWrvGHLY47gov+5kqxQYv6DASNPb2Ggv1E1OPv678v6QGqydfITDxHFqnRtTVcgRzWeElsJP83NzPWoGC7BL97pcZnVOFjWifXm5KDSpSldVcS8MaDq7lwUq1u3D29e+Vs45mimC9P0o4jnZfUafm8//dgcf4efTWXN4D43Ny+FY+SSywRNsOFbqil+0tayLREcX3iHaeyF0WSrKaEvl/Vz5Z1MY8MeNw1/kho3Eig/90tHwoivTuRtwbwj7P8yh/735Pf130HU7hFXj9ParLjX4Hm1gmZZZk9iNtED+At5gaiyJENMe1opr1B9mtoYcmrWPooJp77+vQemBs2rv8db8ru3Y4yaF7Lqwe1obQWJ8RwaPaz6VP5tpaFz7NLPPlaMduQDrFkAygYghivVnbdpq88kaJuPMbZYdhnfDerYGv44pqjJbE1Qct0AssU0BDG4fNorApL7kcUYFGXR1x+xWuvQR9FGtKuB9JKavvrGib7cblPKU2iD7bPo7NfukLv0fIK1PTt1OnTrA0HNeE/7VoEBOCi/7JgNMpmfXm6OavNEsYzN55H3miZ7rAkRUEIVVdZwk2ILqag3eCGz3ra4R1y/agzPrzavNCegLSwfg3+SrUrXyg8h3ndIPJj390OvNq80Tflj39099/XoEzavNE35Y9/Xw19++Hv6/ddTey4TC17UTSFmSmTDCoHVJ8jO9Z3h0lrLz+gT0n2d034+Oe7C6FSfQESssFHHXFA/YjQnxD5fjQ3g7u8aqD+tatdXXzcxSH+Ii+L1QSyf5OaxEJw8BpWhSTbzTnZ7loxhCdo0fJm+Vxzkt1rJDagg6fgfy3lG0Z80y7Ca0AAD+/jnktdtyJkC4nHJkOYetbEqk6Mr/hjiyAG1ukVgFQPtCSmTn2kPnEKz7v54HcIxLf+St1f9ENDbW/Y/93kO+MStizlqGXk2uSfF9f4nIvhsXgtww0qhZ3e4JwXWhEN1TSiIgI/1eB2fxmKf/0sbogFlLSD52XxGqBkB+inr4DvAiQKP914BNplc3AK3aYUeVnj+rl08xlG40ODxXejXUCmTPFP58DHC4630o8A+YpSf/l6sfOjCHF+eHwl+p5623p970idKYi6oWTlqf0P/e86MnCKTfEJgawih7DEHjjpOCJBJqRQ636lwdAd75atm3Iu6RpYUxnmbn/NuLt0Ar+td6a/kLvUMBTkMvWlheZ2thtfQJq8VLb70PKlXQDF5lb3FdGJOzHOAABxyHgsEVIE3Nu8Qk/9554lHH2IE/SNWXWPRAPNnTUta1Xt6iqj5+QXQwAa6TFJu2isRdhDxicXgrs0czzBbt6mWVhQIVzzN+YvxR2Tu/oXgF5cKYdZKL/LnpsPgx8NtI1CtKGzVGMj8ggXBIANq8d5HfpJvaFUXDvSZnpH27h0jzBtsI39KcK2RcWbmxmRi5CJ6BmS3n2xwevr27IGDZ1mJYKwoAc123l7FraFWbp7N/cTGNzVZCdKBrYSdY6d0PpuymyT9aPx8ECoT4kcKD1HAzug2Iv3J7pWd5ROPfaE1+qsS2vp6c8clfc2xaXk0u/PyTUyTzt+Nd8O4R7f9o1yS5Az6UKMnOEO6KYVdS3zunFCXD4ld7JSCu4ZA20Rk/PZJLCnQSE7LdRXoc2qt9+iF/PBG3Z6PtcfyeFo/+J15z1gzc0Ux9z/S88S9ppHz83yMumZLJvMmlGNVz+s4l68PAqpLpa1iinJSyQck4J1wwqtnWjrPbHhBcJyXemD6RY6mqmQhUfcJ+uV2ooTUpy1y5K9PGd/zO+Op1VG7jvCruYfngv2osqjELPfBzN5IpIYj17YzpVAj9VDaW110enihwRnTojSd/Unx3R86kMvMXUXOol/HP3nTYzwXXYzhneEt8wmsnU1b0eHMCYZORHv/avM5GEUKYi4Z4n7jlef2S5E2XBqksKlmtoCaBARrQ3qK+Viv8QAcbsnWxX/RWT/dsjmZN8t2vfu/f6NofvXjgqbYc6zfPLzkPO7gWcJaWUBZPkzHnN0kgamzvBaM1H5yquiYx3VoslULq4RIyKgWikPTdnAQwbPbmSiM6VGjhnLJm6MVGArp8BLAQr22azIxAZeAcL4K5/eUcQGbXXxtiR7YnBblY1EJiP7WLP8znru5iohttuamkxZd2pBPgG3mmqewWg8fNhIlwRoNDYUrRsaHrhaRD5SmkSYxm1QX9oIr8D/2oFQPR95z/PgvQzC2mVG2H5/ls/LxfKM4lSuD6KeXNxSN2qaeifSiSWUuB4zZYb2rzP2bxURRmZfO/vKZwXHdiQ1yQbdrVtTyTGAsGzCpkKZUDsBbse+1v6qN0uxeE2UIV8BXQJ6QfT0gZNsgkLz4DqKcoJ7TkHsp0IFohFGadBP4tILt2OkQY3K9/3+L44lEMeGET8fXp+DHLt4v1MjW2CD9UsoFfLCUtH16s1nP16xgDayVeYQVnN6H0TCtpkeK2+w7HXg85kEaOqLAh6XEfporO9aC4mRoR40qZSol2AYII79RcG4AJnHLJiCJWAfDXMH+Ro5NxNNJwAeUAdyrL1F7M2UO4Ct7VPnVqdzHPc6eVCvtQ2KHv13x//e3EsJRVPh1vgGGausNR6mW6P8flJ6L4iUpLQtVmdoFXtliFUOPc3VcDiNr5a/FeAKzwxWb99Zre+HWX2bvQxyYFz3msvocwam+DViHkEDUCU2AoUEJuzRfGkOmemqnImOvkO5NUU1AiqvQ0mXgx1Hf84ptEV/DVP8DWqjfF6O5vZu6hDRPxrSKnlybPJK4UJruV1y29VCZ3BMGU2OBUMzVwZBbAyOag7qWl1C39LCq45GkRlnUj0f6RiwAPj6ANPh+XONiAJtvbz3ktWnJCOiLEujv3Y4N1k5ZjrJ1Yj2nDF8FNn6+75sarer7crBbQY+4pCUFo/dGIECUs6NwnLcXMhXwLwyGC5NvlPb5WF7nvOYqneJH8G3CudCBkPreH+d6KiRhstoWc5D6hHsxb8fgkVnRgmYrmdwk0BRbnwMkm2uUWQK5B26oMKs598jPI2zGDpXv612gpQW8t3/X8FLZ7YBXhktIrH3rVUszX3l7IkD/Vq4T0Pk/OjnO0sHQ40eQ4dB4dc+GTHz1juI1M62WILKue+GHJDkk1I2zONZg6jQcpxkajZRWD9wfxE4xVb1kjDTxj4us/V3k3w1EK2efKzLnY9vFL0erz5GJuko1W5bkK8pe9AjU3WZa2kl5iJe6AaNX/D3GUOZzn+nhjnEW1PEGE4bOkw2RMZFKYy23OTWOWjySWO3Je2ZCOnNcN+kJ5zDiDlTcpiJf+S2kRNcP39NaV0Eb/ohJGiQL9cQIv7iVTAFFLFEPuqPxEaq3oXDInvYIjFg/KoXGFQ4Sq9+XpzhuB7O6czOQ5vOn6hYKhnaRFycx55Ko35Ipla+QRh6ByMXs1X+SO50G+cWTDHblQnvEkiKLyqnRoySy+7o52VaTTezVnNk6Z4i4UclgCx4meCcH7z8vldrsPxKAq0qtR7BiIarp/gEztiVq3gVv3tfTlCBGviK0yMnqnHtB5iqGnuNt0kiNlherre15jB8b7sDIjy5X761w7YCfOxA04IIAdNE4mqrRmywOCbCQh1WBb7eyEr4jy6P/ooovbDOl0lhFKSDd83c8/CNUq8891ZcJV0RgGE2lSLppDzxjkuokeIMEwICCzFW731RGRUzRed2llUnEYCLnB9RZIc2B3Bn91IjnbGngS//JZ87OtyjLxg1jdM+g76PBcpMBITZ5qOj875r5qePBpmDu/fhxFcK5ikameMvVQ0vXfWLbVjhto9oW0o2EqbKd06NB1lxEynNOi+WcdIdZFHuxRCKvnWg9/Q4Nqo1mboQRCQKZoB/9NBR7dH6gPkviw4OlVv0L6brr1+jI7oCyLlXHF9Z1RDs0kNJUXQyzon0+NgH/ES92woBJq9AIXfERsE4SKhvDMNJfEFviXq9BWqvEKs/4OPju0l+A9iqpaqtI5rkKJ8+RGn6GiU3Sw+gzK53wSJQ2XQu4a02WkfnhyVu/eBdinw6gJm8y7f+l+FaoW/OpYhxamfaKxMNShlrFJ6mIn/YjV/uchDhzQCwzvvsMJ7NBnPgbf5QH/0tgtPjjGCiWltMohaMTTf1Wv2eR6xf76RqgfJ2Xa+EQ8SN1AJG18eSLUBbNngClgQF16LsEQ1vC5csqmH7Hm++NLRtEk6rsMgLO8agb/sHFAoXr74Ld1ErBF8H/9/8jTEn0pP7m5Z7gRahSokISDwa4mEShK3c/1mqjMjLTzZ+qKnrhtpSZHaOx8gRl8dLIEpp0VCNBYJtrfD0Oe9JXCXRqzGAA3iUHE5f94FIhox6H4w/laJJ+hSt0FJ36TrA9j8s0xBkWL8sfsVG1LRAPfqVT1pGGpsiLsL3j4qggiNXzLazlDJMMzESKJPk5/OijU8fVkoQr8CQ2b4eIMSuZmFQGsPcCVH2+6G1oxVikJoM4hLpRsLBK/FGm2NYjYu4KED/PkibiBM+IaBvFk8ztE3CEs+7zNIRiJ9xO+ljEkO5wyvQA6x+X46MH0ZX6HBoiPXG/yfYYCtgk6UGUfdZez5AiSc0nCeLk2cs69ahgoGsEksS6Ogn/qhJRz6CIUFV1cdV1Yu6IDYBi08+3kDq8nqejFQD1+CKASVK/wyoBp5ZGXU+43vJqGy4nNLb07P9ssWYDn8w2RQUwPtwPlpLEWAOPAHR+KsOt5FwXAeXdNfCa1sfpCz0r3DzWNEwRFN0l6nlM+xVtlqkYr8LFBx85nkN2RRdcFZb5FlWHVqXG50yXBH2uOsnaN7qQ2GKvYDkgO+IsVVlJ+J5kvdjSprHjvNDuqq53/MEgxN4CVNPiLUWjV/g2yIswOWaKretTQC2RLvS+rj51o9uqI1WP8o1lkZ9+SmDuATNUn16sL9wvI1RVFY7fJI2bsZ5kT4H08i+Y1lnXmqD4eIRxJgVghot+uHqcL+zR4hGZCTw9Q/PMoWZvjVKXKExEt1rZAJ9Z1HEPAEQfwqs6mE58NvDnZdblynMf+HIIR2qYIiBd/zJEcPAyGSHYwVZOSrj+8iK+ihgxG6nJX1XW6s3fxW7ESWs8VwZdN+V+UUqezniPEhxcUewyOxpL+9QOm/x+vOh0yVsOB0y+JlJJS49AhrgzyibSADFGDhqM+w9sXywOu5npkRB75rN8MJ4O07/a5RLciVptOQxD1z27DHcWE5M6M9dhpBZFyedxSWYb203xNzAn9fyYUVlaWMfMB3m+n9ge9Ryy9wzG8Z8YutHuU2PP0NH7wo3qqwHzlWjXbu+Ea05RJMoMiLmQWKHwzuZBODvg53vSdLZdSW5rB6pzRPE6Q8+HIY2IhOVgw7f4jXo7y5svmV3kr0yd6qr9RTvDKbjVb1moN6aXgaTZuTlyYML7MhFpYpWSS+4C/Nlp6j3bmF8gCpKDts6v3p1XnxiGQPLAzMMCoCl8UcpiY6uYEdgbueoKC6QcQei669aAQGvsHR10c9rAc8ZWtzzbY2BWyeVGDqoXpYE+6jlsYPt/Sjckok6+GfsDNY4FSA6r9Sc3VLhpp0Qm4mCIb+jTP+vX/FA+Xz2wW4m5Lpc/Ck3E/LKGnh5+5gkoU/Zhn/g7AKrcWns6NiYKP//KpdvtN/UI7S0Xr9MmiHQbW9xKocZKCAu/u68Kh2T4VMHhcJsLBDhIbkO/YwL8EOChRAkGL9Alu3FPIPZ32+DE1quhF1Fl53MWKqK68a4V7WRJfKnDU/B+PmBbYBdV45r1/ujXyHuX5ph+tpz2kLOwRHT5qKsY+QanYolg8Ja9U7Q7ctwHumLhsWQOM9KMdhFEgX2QJZBjj4Oi4uOnXU/08md2xJgth8BpeRUoL7E4Rh2hovdpzgzOB8MREPdvbI+MWaSZf20KiRwixOSa2ElTCnT1LVvxQ+XJTcu2w27f1k86Vo/AarzM3CGGsthcjqVgXsDDjZFmNomhg0En86jlWCtPae1ZfatS7XYUBF2/60r8k39hfYbpPoSLKWJCrUpi8Wokw17LWDghPc3mj+YDZHZfaH0/JDsjW7ozKJXAYlC6KttEslnPaPrgYVJ6+T+gsaVT9G0aBilcoc0/YiU1i3nDHc4kvzyEhHSgfIVi5suEu81R+QQkotrcTw3AG7JiwK4z/Mt70CPhUVCsUDI5S8SkWJKB5iVzHp9ThZhHIpOuhm3xwIlsVv0csFVw2FxCXv75oQEDITuvWFkx81BniQIrStVsU1/ZDPJj9zmq9sLDMvGm7T/FR4TXuO3c2xynt1mR4VHPWA4Z3FUFRwe6bq+XVklYlKj9Ypokpw+xvbi7t+/mXfkUfma3MaE5qjGAUnTEdJ2L15ZxUYdh+kvSnthHcIF5Kp/zJDm52ApRQI1EqKGoeGL8srX4nPFDxU9pxyB0Wrq7TI6j4zBkh/XaiOHWGPkSYHjiz5JsMptTMJ0/K9qhuisGq/9ttrFL3ibXWNOsHHZhrf02/CWXfB2z2cz+zX4dJ1S0fibnx0gmqU/5LJQ+60IfDk3t71FIiXu7cBgNsJeaTU1l188m0gv54fzapKd7WqLZhHxb8D/SFvFj4wulrj3cqcw1UXxQ6IXDE0hF3kWKazR9xmanrVhtIX0lPuGH7I/z7JNY8kFSjI+e8gFZJILCAVVwVcDQfvzIiIQKRa1QlWzQ/UPa3NnIL16zVaqO7AprvaI0NAxhTuOKS7ZsS4D+SChswlHwYf+kXsyLxXF410KW826zC6JngNhbDZe+h8+CTv/3N2VoRGyzS3sS+gsqSYqDDopSU+vSWTY9BFTQFFagF20G5Ir2O8A5PKAbbtsWrFTmz2VFueO+TpgL7N3A8Nh5canPWkWlegqHN/2Dk+yaNTeB+PmEzj74Pj2AJhN08O2ynNYzaxROQ461mgiViaTYMxKRqjiaydkT3rMFyp6dV4/xA9OfHvBtQ+6oJ3ERvIJAqg+b3shoMpDZWVzDvWmltI4fydyNUilaPmCOqR42lbDr8YafKJ7hBkv3aa7GK0OV1U0EvU+XWELUkkcPusDUs8TrT8fgoNQQG+tvbe3tngx7q9BN9hH99rtQ0KKFEG6IZTnIAbI7d60orV5cdfJkoiA1wBxEUuFVfzF3FiwYcx8OJnDeTTxEGbcmVqwKIFC4+pzyjrMgnEr4RXrBCkYEPrl36ZydQEFgSGCLTtbAVBDO4L0N59JgH1Gpbu543gMTq1pKgoOfnbr/6iGqxdtxpBGb/wCKEO1hrPyBxzlx9hXcL8Cgp8lpey1rdGedJbNmQzYAvTbKVKmV47vmuvhfWTz7aNuVLx45Hys8fAcOz3t7xJoG+EFfophQ7sQRzlWfXvh5DDHNDVAwrMPsTQ/SC8lESF3nek3Gl5bXwARFOwAB3DLkUZWYjlrVWAAsoDxgs9IUht/59SnoGoSyHYDytfmICLJxdlUy2X7hAP+kqL/+IMivEi6zcjzwv32BfMGTELIJhMwz9x8t1QIrzl70+bK4TpS2uOcDOvwUdouxS0LMpusiEC7qhip8WWSkfG4+xcOtBR8vtxCH2FLQA94hJIxkcdHrtFF+3Wk8CkwtWcyNZGXk1JG0GqrqC9HmAP4Uwc6kLn1FyoZ7ItmYVeU+cpgkHisOsTttsGUPYLVvOFAgi4eW20LuX2OJ6qJeljqXZ40ridpF/hlrL9yqt1TAsBo3PtE6RWcmbOUm9ZIKOXO1Bmifog2IAWP9FKOowAfI4b7Trf+wf414fzthjwhPbG16XY89Yso7zKyAVZXe2mZ/EfBbNu+Ds+B6jgnVTscH7eLNTlWb+N8TxiqTHtxoZ6flaNsU/TUU5g9p10zR43tPBICYa6xT/JIG2TPyGGqvCtfoOcVjvZvOH/0uZ9bjo1ADB6mw3Mrg5KmQSivBBftuTTY7Y2YpWztIcLHb2JDaa4jyBd4mB3meanOQPQ1CUxn1PuPKbRAngMA6yFNxxWl5BbAacPs1zLw/UjPoGhu92z5qtsNQP07yX6c4C8Yc52Mh43y1xTraRkCRwLkZomqpPLBOV2GF+9m0v8/jrnDvaR68ha/BEXMQ8BzA2RUQ+7L6oLAjBkYmEgMQI+NKZSdSQXB2mSML0XiMtDAOErWgXvIJ0YTv+Y1LNPPuphcAcRujwj8FaEZTOklkLsniUyxzn9sQ0Os0t6u15WhWQkOdEbg0c13EYgj3Wsl7s1MbpyvYP/v+JKvRJ4KbonGABxmpMFB3BW3deI0gd+ruVQCTv659OIxBgds5hqEyxoNoNEcbhU+XfYW7hGWrJVFAd4jOP6sRJz5FNTyU72qaqTjR21N2yLq64mB+8ZnSp8d5/Qa/5KP8R/NQ+jP29QDxWJm2WU5WFe5O5Af6g/1ju6IDNCBRUwAp5tRBrnGXPZbZsFn7ihoO3boZuZmv+dNq6qMGD/WtNaK+hQCRji5Tic/KF2uSZ4V4HaWe4bLDI2GGknOkObO0/qoptjMCw+nQNicy0VzUbxqezHrEncTwvieR1dZPHQPAHBsgVQz4BskaY4q9jvRAVp/wINTP0ffL0/J27AgbGvBFXvBrMU53SGeOAikQ+d0nnWidKpzXr/IIbfCb0mgzDOzfywyIkHtupj5PVgixvOI7Ovm0hRCLiIk7NT13GBlJNbalPAijhUe6p4KiT84HaD3mzpzxQckrJ6yOWaP6cVz/ZNOzg4bsEtIHMVH2UM+7Xa/ZiG1hnCbBL/ErWeI+g2QDYXu3aCg+cYDNPC088R+Q35qZtEBQ9jDE1ulS1HrbIQZl2AjfhX3O+r226WRSg/NAr3StXB9EjOeumd3o7XQn9CosgqMFNfdqAuGDLHpS8M++X2iq8hzDYsLhr0tsUU6U67q3154NBUOlRiMQUMnaXNDt8QTVhcIW+dNDKkLVgf5FzHYUUmsWHHuog//g2rBFCwF7aKj7+PVurzat+Sj6ws87Tx1aR8YrvV+jpKuZ6Ww1gmxB5pBuZI3Ui1W+wgu20nqHLcU018wirOou4i0XIf1vzuT9Gm80PK12DQ6LMlmWEvYSGjKVurM33vzYhmedkkxNLUkKEycNdzl5ZBKdXzm2qBTHK/GYJaoGv+GMTgFAZxeLySjSg7SE4pBXua//UXeiqzAnWQ5mACsPQBvKTce5AeVkQ99+SxJynz9fxn84gep8GcRg8vghb5aKY+G1wBQ5XE4JGIQmkxL3TFuvwLjqHu7bbF9p+Un84irHa94TqJpi5SvpqHe9k13pkGaxP6EgSvx9kbfuX/qd2D5PrvD1GHI5SuVsLq+n7Vu62DXHxBtJQ4hcK8Z6B+V4BM+er6xZ4Fn7w5UsIGM3kUwqRyyAKYhGp7E7qALAAAAAAQU5NRiIdAAAAAAAAAACiAQAkAQCCAAAAVlA4IAodAADQjwCdASqjASUBPpFGnkqlo6MiJRWZ2LASCWdu6eT3SuB1dhfn6PzpOXfGL4f0flPD/7hvnYtO29ADppMhelv8rPXzx71V95e03sz/0nfb8uNQu5P2aGq/7z9oPYO9rfunm4fmeZ/8d0Af97xZPun/W9EfrG99r9t9RPpj+iz+3ZFp1xffNKHeFAFY7hzi2mzJsiQ2Q5cZrCacAAzUZ8aQv5w39Kn/KUq7gv2aexjfgt1wCKY2ISozSc8eCW2urKD3DQ2FZQ7qS/pP+7ltI9P6RRanS1UxRAED+cDtCr1xGT+zLio4oBVI36vn7STD79w52yjwMrV0UrfsFLGO3t9Wf71sCfozUjc5364IbtCt265re/xjfGzP1fdG1+3/R0XbpVyS8Am7AmQPIM/IZalAtnlyZ0TvhZpXoSBRX/Xv0QpLLGd2eHH/b9OXF3p3OuxS41HJuml8ayA83QRkLFFs073CI7wYCQ93Qiwlk5oaQsLocYq51IfS7cE2530ax2PhNRfeOBhTKZvtQUcfPvspe4qZ9Xtyyp9jmeJZj8YUtv/lYHQE8g/JyhVhgWDsLMz2aXH+h7SNzEAOWqjpGAxA5458zpUNoDjTqmeRu/XhPQC3XyfZ7PLkS8uL0aVXWX8WuLUiW4vR4OM24eVSS3mqCDarlL+103C/OV1jpNgd0p8A29tYQD+pN5qTSDXFlSmW0ebZ5ORXqhjBw0v3cNgOWfcMYBENUMqU+utwLlFQAoF7UlcQp5QFFbN7XJjBCSY5Hdo41fGJ7Zc9L+Cp81PdkLE5cV+zrWZ93vg5EIsinUB7z2yYcIUaj1n/bf2tdpI1Rpl9cRmSkaTDGgE19Jn8hfSGnWDKRw6QQxgF2IcFwPm6mWPyct6O/fZ402/2Qht49U6BjGeTHhGEhsn6Sen2Zd05snlOpR0degcNu2l6hiy8inV+ytfXSxbyDDqWHms9hJpJEP2ulO0Yt9VtMTaxz7lYs9a/K2lmW31yObwoeF/Q3qXFyv0LYua0oGKdQzLuzzk5cVWvxwtn6+no/UazN+55EseqUU5e7sidZMFHWD41TJDt+cQTHT4riDDI3GWv3AJ/yoa7wxfrDaf12lmbMM/5rLovIERCKX3f+uURzMLxg5XrleK7j+nFTkycwz+S288B9I38ns/cMX16Tc87xkYPyc7E5cXofbLNAN+W10TlNpPEFOckytVA8gLm/k2796bXYK5J3YnTNnx4BbmHKhg1he+mYBa0G1LGO6wpShlgcILGoYx24Xi3WrBx6i0WYPm38w0FK8NjliU1R5qhjALUpvcKOlk0RMoXLjkdYRfk27w2D8nOxOXF6Pf5UMYBQ+MVxekNWuv8qGMAtSxi3fLEpqjzUCuDVQSqYAxK8JICnOGKMZm7YBWd4TyiPcCB/zVXdkvhI21VrqTork5OFplHmZkBH63OjJhLZuLrezQHfd5LcPZNedr4/Ijdz8FUElECvnkDfEhp7hWs5HR/EEs3vswIQI/KuNwGbnyOQvndMz7IyWUafwem1OiLl6fWaJxtF6oAAP79X6Bccze0YCTbjA58GAiCS7zrHXSrviPX+ZJqmI8o/M2Gt9lSr/Z8RmKGqv+FZvyowmOB5iKv7cqUGKagcdWLgHrT1JN+6s+NcJMPFfiYfY7QnbhkZvo84AR7WLLOtjXzWnYFDI7fx8x06gIkCmbKFuBROQEJzha3rScYtbel2Ov2iy1NUSYyRmFV5BJsra3yreBxPkcOatRw1Uy7VTyjqcr+twz6YiF55VPj+dbLX0jSP1KdUv0/HPBMY+LeoXkP/hxro0yI8nyyXC5FLL+KOJL+OHE8s+g4egcs3XMXhb6InNv+xL7iWSk6Lk4dhGluEJ2laRi9XCsFSJm6UaM4PXjiWuH5SecsdAiiOL8VuAjN+USBm+VbJ7cvOIo4CpMoKspu7zmHOe7jH2dgGzU8FbF3N89fjr/gszYFkKtF6HhJqYLjmBHe1M58wnIZBJJXqza7kEUjj8a1W4C+SEmiRLrDuTm266V7H/a1/m7/tIdZG2iWNijNnLMf5i/yW6mbeEU6t4rdRNp4/StuCREcQ6oWkyufeA4I6BA0zLukvYiCGiGWLLT1y48Khg5XU3XKp9yC3pPqrdPgAGinSeIuRMrjhaFLpL5/hCXtiNztylwz3vIezv1i9c75PMdPDxqXFhp7Kc1vfqbQfBJGjmMUZN7VwGiSZgHNFAKlo1XqbfU/A82LX60IhAIBEInKk9b0iNPfNcEaEkN8QIKSL+5KnDQPDoEicPNm/gezC3L/IFAvAqx+gmlaD85ADl4TO0Km/p6ktevi49RfG3zdDB+mahruRmOr+LQDAqg3reL7OWtEOh1NExdAzRNIZPfPzIQ1ZCWkZlBOwxNGxHJ/vGgFsb2lXxYaTf3tAxetc+HPmbk5joJd+vTh/Pjhvh4RmkQEomRPa+VPyhqXkxwIHuuegRnO+/EdA73lGSWSeAYGvBLLicT8PYMtGc5mJqtQt73AXB2l6HYj5ofjti83bZ9sE/bnPC/FsoGXVSzhXbIJg4J7LeGq+6unZQoTgNhUjpSb/xRmix5C60X0L0yketVu8x+gLK7zWeOCZWnmc9GKnqK8lEesSJEBuUpWYGX1AQG3MXpbzcvVSPcKMXkpiElzm7k9Iznsr1GCFisfwDXOFRIVMvYeGT/C6YJKL7qM6HKsRkWRB/UJ2qSA2yEvOdGyjv2mqH6/eTWgTPSlNcQXX2kD1wrmFjqvevP1u0UITX3Fg7nr1bvOT4mMbDvEXPk4K7/evhAVtb0FXXtBxXv7t5JMshRXlQsENo35XVaEUKUoIJiwKwE19LRZ6lXnrvZBzOBHCjKLFI0fmyWi6d8a+7QEN0HmdGd4Xq5V1SxgYDCNmvesF1MH3Xp6jMPOhQ3Nu3QqiT89JHqjnJsd++BCgb/pi5xjL2gYl2rF2EsoFl+OYBGLJjEsTa3BNfsLnct6MV6yxOvVwX9uA7nlMRtfMnAuYmxJYCLMDB68XzhoPon7g7Bcm4e7Pi3eX4yKZnqTHfu7Cuj5KqDAUo2BRrJCx6JPfce/EBjQQ7m52SSzkbzQq217hTS+1PHUbkIZsu0DNrSlpzGBH8sRovTJteGrUnFQVH0GAAGVyu+FMr2WgNAjrUx8P/oOigmpZQsjWaTcnyWxbuYUZXRAIosOlgQhOGVQpAMHTqgFRINsXxsZUeaRRNie+6Dn9u6rnlz/99uTvBOoPKZwrKbx20vIHufaok6toqr69GHiOh1zDqsX4CgQTmcNozD4VNvyOOfQb7+DIJV4TCQUkADhR4ED4bmVF6OSlvJFPQsO1yTfQ3I6tC1wM2AY5UkYJ3g/Jl37GCkhVzD5B8Y1MzqXtVzwz5IofT4c+mk2Ws555+wztEILyqjUqWcfPj56GFIp2jw7S/01PFFuFHBXAZ5x0ctKX85iLdV0vGZdHKkuj5/NvPkC3Ad7KnAhm0hMzppGY6A3LxVo5+m2xYBSBDClSXMFj53kozxBwSGzuxMonQIWpQ645jqY8dr0P5J9DsN/iNGApB4VEfAu82GySCxWNjnTqrbxgQ3opUYUjm2gAkbBwimoXXp56Ksq4hdePlfikAgVo5UAR47TAN33vFvO+kUE8hJN3Lg8UbQ6Ia8FdRGYJO5ws5aA0tcWCjjyIDWV80SIaPTEtqrgGugt/Z/RGALnoAUPgPHTgyxQDAgfLvYerI2z6kElUxUO+1yWn1NE2nvT3q4OEiHkURhfSce9iIXL1StWuuRLDp1gPsKe3Ca8gA2BztIBAIy+dC/YF25jJ9kre/OpH5qEXTXaY/nV09zIw5aSdWKopUvWnRpy+fd7sgcxvSXhk44E4yPwT/lH3cU3n7oUGsrOatljGRcm18VC7YaSvHHF3aoEbpE+I1/JTquUnNQtpJccps0BZJiPqX2Fugl/sfWmwxxAzLyakg7Uxtk0KEG1ZtyxHxgHp4RSWHPjXr6rj37X3QI5EdlbV9eCpOShRWNgbXRq0xb2Y4GiS5F/V3XowzRGrkFtz+qXNk1ccGGUrlFemHi/KhUfe2nTgx3pCWgg66MOKhRdCxqJb6Pzzl/eIjVgKOjzT0A21CXRbvfZ0rpv5btUMAZ8VQ+VUJxE73PhHrME9jzzE7IOAeKz/wD7hpgVAUX+PKtAmIdthE05UKlsAE2pIuulwx8dzZnv0Y2UxRbaPqcB55ZJeU9UlS4W4v75pAyLoJWm7P58MYaG/yELnRmG84zsX95ToUrPjftQXmn2p0Qf4XD9hVnnTckUIEGdWQMKLjeonNmJlHMNh2xWMdECvZC7rI2+SN6uOlB5PV4MzvCm9LsEsqgqRsb8nNeArNYN8ZlmDV3XLfaudxQvpSDTChI4anI+xQSE7bKQ3kNhn3REWVMerfJYLAlW8w9WOK0qxL9RKZ5YLY2idJZcMafEBGg6Liluwx9OKA9/o/bANMlVB0ZHuE3LMm3LZFzPb+kqVJ0OqAIt8QntXBY7396SlCh7X/fW3RHWSZ2Cj6lwCkZA1sZ43NsQLXEyh9/neu1e0b29W/X4wH6IsNRU+55uOn25ZxVG4YMR/Na09IL6U7E3OK7IeMzc+jbqqN0e09dl9ceTsibp3YXLHLGHtWki05DAVwGrJaZBBc5Dmv/C+7T3nd4RAA8ajXE223LPCZeKR1ra2nH0eGIKY1Sr6DFKc5Jjpr11o7mPodZOSyrs86bSxM3g57Dc0tlANKDGJkyAzcr0JyB2+ezGM+yVQCS6IZcse3P8pn3033hZWPpJgJrC7+bsV1txAg+OLHbZlItjYGcgARHVWR/sxypNcQ2n88pqHBU8TFMLQHptjTNhruZMPXc/dmOgqQ8FtJcAO9wrB5YE6Yot4cNhU4f8YOkGGeSQnD/u5UVTwvHKnRRgRJfM8bDaGATlOyMsjuwqp6yhIf1W5t7HgRkTTjCjUCuTBaYklQGxgvQzsfICJczIoSoctKSe3MgQxqyZoFQlz2jOw6gH0EyWvP0yq1A3fl+odE9On846KD6viUBm/wXbFZpok+vJLr5QzOS+bm3OYGXSr9rYP+jfo5b6Ump8YC8xzV3ZyVdA5TbbDg9CyDz60gvYsESH4Mqd0iMFGfyMISiqB55oXlwKSMyTd66kpoKDnUuSeuf+bgm/j9Ik7wpUotBvE6RF6eOKQziZPkftvT+E8jztUgSZqVboOQm5g7T9LNvkArjO50/vW7fF3zEeZhBEDlmO3JIz6gezGAQDP2aOlucTShi48k2/dIC9x1hMnOI5tacYZiBJNLhbbeSjGDPjX8Rc9mOoryYlyl+X/wFULPNUCEDB3xtNfLOVX3okmhS+WjE6XeTWt4dKz+HWzMA6vHUhaJXj/j1ne4mqkrgce+0O5+nQxl5n07yXd66MpBNl7KSB6PNoVa9nbpzZYHgccxdRt6QIO19mB8Y4yyUSfvJbpMeWX82BlYRhUx2ZtuJTFsnhSpQcqmq1lwJE/t0MdXpuj/JTj7YkexuhpN/vptt8kDMcTVvoNXYu0rXTTGILS0JVx6xzaKDEZlxDh5+YvPDbxToshoQlpEVc8o9hQEzI+GW8LWxnHdg07pB2W7vZWyksEWTstDze9JNeIXKqrhy+gi2GIxtVE3NaaojTDl6LPxjLCSoW9wuNRYFMVfWXb5j5xEHIW+o3neeZ71bdYHlO1OMaYNwm5jCT+1TuvLVvK8Gfit2pMxUS9AgY3+V/KK9SCCyoxnG9/w8V76jFjbVb2ZolPXkd4QMXTwZqrKQs5SyWP9Rv3k/C8x/mexAUbhT7W82nRQZo3wBAkJsK1mvpbd621nBEuLVhsmjb2T0m50krmW0/d67nODjdr+Lvb/jMb+1vTv23l3SncRz0uiFagy34Ze00asFZwwRKWWwYW5E8beMZ4X4AMhZQ80mMabd7selcBLWpLEAP2kVl2NeMKmhZvuV5976Te4wjcChjZCfnuvTJIt/p6LDpdWUp5Q0FrT4dqtNCGQeEdXFn6ZBr7bIXnxjDaHBlnm+n7vu3KHJx2xwrF19BBROMXDSrI7i5BZQ9F6xFwZ652zWTrHkUhzxpJ9AcPODdVyb/Mx2hmyP3C7ELKTSWDPGJsdIm7M8stWsY41VX4vZiEW7M5d2xqHVFIxAt/t6S0Lh7/JJMGpJGjyftbkKoweFPRyJEDIjaftnOsBNOX5hgMEVV06hlgu3fDCiXCAFAPP7JYTsYpFYa/Wf2GlqdgL0flnq7ooFGK/FSo7PBHbauDaUF8tf//yqhpwo/fC2NSjf4kDbeMCky8uhxktRAH/JaRRGU2JvXCX1dzAGXQ9G7hLm51of9m+Xc7y38OdU4ee4YhbNcGNOoJ+QjiJBicxlYGDqcTws/pAMlRp3/bhMKGB9rhz5z5YLX/4pHx9KgrKkJIldrDtcUWHivL2jcMn+j63zg/tXXcmYvwLuRQdTGCnEBz1hYITfMlZWLFM2c6fkoGIKp+yYB2DRZ0YlbiWlZASPm45oOtoeG7CWkkWTP93nSrxJnrM9PLu1x1jGs/uoma3j/D3iBL99EaQmdoEympD9LUxyUhmyWwsqboqcgwO8HVz581ZMZcHh0ZGrUsXhTgkHmWkvb+s3NIFs6S99dIA33mhzNrvMoNXWbqfm20vn2HnLB5AYtYHqMwKmR3/NSkLp+UNN3sX4sFULVpFTu+qSAw5Huw5E0vAeeFURKFawEsX7pls47TUHhqmTJs8CHsfiIZMlqeEitYqjQcK0nlMeJWXeBzB5SuPJT10JlA897ap7pcEcqiu24qPjj1SA1I1ujg9qs+JEuMVzbXJRu0mtyt/BuY5inELEiDhBEzf7IYKm8brvhqftJsa70F7ggauPiBGTpmQbSIBAzPjgUutKEJVW2ZMLRqN9IXbR1Sjhfygo4FjXBSh/YUJ6JhGEjbtoTZAL99uEVNLumU+o+Hhf80lMRrm4kDIH5A9g1sk8Vc6gTz34hNfwpDoClVOcXKMPIwC13P74ojjAFBLK9ZP7NKOI+F16o+5EB9E5azt+aEznWKVfXKUx4WGkxvl6lPOXQzLPKBB8GdWGinDvYIZxmaOup5Tv6ZE9UsAhy5Bvv5445lajqfOCl3Y1w8vb2ZZAPuajGgTCuVmHov6KBiUjJcer0zSCUl4SeDP/5ezXtSbioZUfOseHPj/hi1D+4Y+GTpzjBsTUh/mcOYM4YqGXnECx7Eel9oi8xSWhMV1iXgmy4CpC4soSKpO+6mHUsZ0IyQIvQo4Muzx3Kx2ZoBOAchpT7qW/FUx9gSBVxqzAf+OShZizGazpvICQajW/ETYlmkSH8jQz4KviXaxnE/NZ2YHUljnAT1pSkwJCriaP2BTwMZnbxRtNrK4XxzdCbTyhiggpfff5J3K5bEl6BQewTjQigY9l+09uENZ5gPyzvBIslHq2YGTRCPXKsX+tAgEmtztl2uOC5Zn39rR4kEmwIJECQhazVxtF7T4e1P0LL3+fJsRc3Oz5q/8Db7dAZderXxTCMay6GxyMpD3DuDLBKRpnTv1oDZmqd6i7+KSYkpMC/u8io9IL2GrOOsXsMHhQ+2YvEerImvYoZjJxwX5JJ9ZSyIzQJUBkh+ONNIeJyacuXfkjziJgXAvYnmc51j0Bx+x5uLn+Jl6uzG16C48/i1UGFbl89L/HmZZR354ZTA7aXBQFIw421vZGBUv1b5v2ro/9wcrJpNVITLKvWqOGpD7y1GmBpiuBazerGt3/jffhHMgrumGeISztDRPgAEBMIJ3A0x5YOUV9BxCNUwtTwktYaurK4px6ZcLXjHpZQo/EPuCSXeKqT9FJpKWjlCbWhGDZ8VVOUWVjL2YlpRAsYLsCtEhfOJy4eTMEBezffmF1XZ63Zo1xxPkuvRFG6DYrFi50r6SZVAvMH2nNpt3Nl70sBuIqZo37JKY9GEEXU7w/BTqwAE/dDSbzxNB4qSxYE3Ef8FrumGOdwjFjpaS4q4kOH5gs37SaWe+0LHp05nI+CqN1xpe25UR5d12fjhr/jCdnhGkYAL2DDnHi7v2jhJHZdi/dxgI4jhHgPPPUv3LTFJNppl3gftofW4LaU5CYvHZQfIx6p/WGw1qq6ArJogl6kale064EfsmqlVIN2p56rc62WNkyGZMu2CieOjJ2st+hM79yPbXyUel+DacLdLEszLov/+M9sgRrtra1MnyHsyc/xk71PrRkpHyN43w68Y7OKkzD6K8wb8xjrQs5MuDBKZKCkHUHnCsjFcSYXxnyUjZ+mAdopJpfsv19PFjRIBph53VDBhMP7huaaWXudNw/6hLYo3eASGvmbbmSsvh9BYSwqkJlqs8pMzqT75WugHk94zATgF1d/0hwjozj7b4arEAhPrKFuqwTCu4W2yuoQRdFgsyLPPPvndaG7CVh15IPb+jCf/c0AZWU/SmxF3vU4MzANJQ2CT94Wk0WQWL3Zv4/CuJsP7SLiNPGwJAADHws58zTIkPRGtKUYvE2RuiW+JE6PZ42zXtbc3t6hHm4BxxeLG6Yj7412dw4DC1mv1geLgi/aAZXc13jOc4+hWnv/Fk7KlIQG9jhSvtivBaua8Gu/M7so64On53SxfAuUCQHh5+tucibS7P+oM3HmyeLtslizRxAlhIo6Ly4XSNg7zgoX5KX/bv2gpn7sESr1v0qoXj0I+OGTyXcPZ6ZTxkK8C5p7pBQfH4pju1PZgd6aBMQO9j0CF/Ve+AD2Uz2H1uvGyMsPK9uSZE8oGDar9/OmYikcHZxCUlKm04NvXgisgk4d21xeRcLUnvUZpSwAYEFT9zikPJc108xQZ8XHqFg+9ejhEOvHGtQJ3xTLw6AHiUZ142PYDnAAHjxu34OjVJ/Iw/Z0rAcGFrTb6SP5lkbzFmEJAH+pYYX8p0xe9ENnbdxT8UBJ26vGeYiCAW/PAMXc6I41gxdRdLNwqohaxJfJ9mqFh0kVjKhBd/pQZsPt3m/CoXwG4Ib3lWvpydJ+I4hxqyKtmrd0XSYxge0LnbsqAjPXN7uwreAKu7qEUFyLKYb+pgGxECFergaTmhakkvhQo+MCO6KL0zCnxTVZsOintApP8/TB/JJKOxkWLRo6AivKB/xGimZeIXhtDHzZFJS28B5vkrkD8b5xTCnw6Wpt163eKPjQ3Rk7YueKpXfH0ZwpUVhaIXcIyw5TZljO7kcjamtAIqFD0im2dZDhqTICmF7vJ42EWYf0BSZ21ARYj+siJ6lzA72v44k1re5G3cZDIVg+ZuGObOUUmJoF64bsC9hmlVFWTrzY/Z6FvVLkkXR3s1TgaqZUfXaNZwJ2w3eE8fR1c0XJ2ZbM+SAfcKzqF/o3Y8OQgPov3Czt2rvun93EcwUZAoAGkUSUFuBoAI5rDi0+KfPa7hIBEdrZ0TtglcA7yaX2G+J2cgLBbPTrcWeH+miIgsJMA27YBTg5B5qaVLZossaE5Y3vA0fKKW2UgODvG4yCjl3cJzF+U4jdcCgcXAnIirbJii1m7N02jOzNTPj3d5fpNcuo1n2IDiU+F44O5CL19W2nsX3gntnoU8dQVZedLFS+99rLz0qZgkLqaTzROeYsHohRr2HARvdKTa3KWgNk9hzzuiQHyZG3zy7EuovkAjGygN9scwWRh+8cPLhwZWMMfjgZUcvLl6V+x340vzbvWPzwwviEMTYP0souQkAuuKiV6jK9ORPJ/6v+/JjwC5dMNxrt1gOKEYZPebuCozHsHE4d9zqiD3lxUj/YGYc4Xe+l3Rp8mEjP+J6n2vheLSyXkgBIGcXId6ntR0j0IpyRJTwsiraCd2ysKLeURnIkTU4UNYG4OVXMh1NzSFKWpR/g3G5BFvDhcnPPeI82yAEJEO1NLO3v731PpKd7oKdOjMcpRVfVnGw6hvOwQkBiMPpzXqge6QDkoXTqZbagqCbRYSzqMINa80rBuAgAAABBTk1Gqh0AAAAAAAAAAKIBACQBAIIAAABWUDggkh0AAJCPAJ0BKqMBJQE+kUadSyWjoqKklDn4sBIJZ278Ide/kANUSceH+x+c2XH8/5FY/O4N/qvQ3adR6AFlA9evRR9A+3Xhn6MuP/ts3V7UuzH/Qd9/x81ArnHak7D5hHs99k8538fzP/h+fv/w+KR9z/7voT9Yz/i8qn7Z6jHTL9Hf9uyJi9wHyXCLbPNt/KYeMbL1qulSbrnbSoEpQhD5akYzVJFkGTcZRDcqhcvqipsZZTbUBS2WOgGVcgaZNaJY1HtqPq8BmN5E2oi4HE1scQP+PElLEchsXZ4BXiBiQe1HGU+Pw5fqEtx14uqcjPczsnyR+lztVte6sjjEs9tXinUphxMirMkLu6N0FqTm1271tN1yxZ5Wu58JL108r9H0dPGKoprWuUZClIsczpqdJp9m4VAZYZuhBTRDFCDocgtV8dY5pGz/bUhr7wsHWCJO0LzBBIKw+YZ3O9ziCOmiglf3RT9x0QsgSiNg063/E69JdNw8R4JZQnh15X4wu0oG9qrqNvXSzJLabxv+CnFJGPlE/6gCrAxi4lfPnoMHVHRdCPB30BwhGvGVYZxSVoxCwpj8DWcxmLHWo0B5VQrtIE+rzB9JmsOuWi2zOwMHO8FjHvgCysg89JGfljul3Ozv2iNlGxEnVtZovziGjUMs2iROQmKxF/pdQ1ztrZLmPp7JnVebS2NNnPEX/u8uhIReXo3zPRhbY9+h5jMloJl1RXmAWa8uoQoJz1YLLZymMwfHkSSW2zeCngusFBr1sfnfskJh8y8HLEpq86ZviJ7Z5Nd9n8kr8wPfEtCu4wHqt48PVhDu9YsRWAxqa2jy2Uv2kax1e53oBTKx0/m07CCxo5PfiHFwY4ovWPfodjCgLm9xsHSIj2FT4tMvHhWeoWnUnVVY4FXbb9dO00CVA4HMs9qjlJRTtqWNDoWh5ueuk3tIWYIJcrYL0Ki2jKnGytaLMQx5vl10Q4zRK4m4L2bF4VlNU9tuPo8fwsGYLQz7/n1uhViWWJTViFuso1dkOpcaC5bpJl7emzudI9Db320GadJ3XloZV1dB9n9IfsDestbSoDu/ais4NH50ZbF0NBKnisfAAUI93876//7smzINn+ozgYNhl7cUOKVHQ2rZkHdZHguIE7XDLjLuy2YlXriN2UNaYH0g4pLAUUB7KKao2Qj4G9pq7IeLWvtNyPc2T6jk0cKxHkKqJIu2+qHrr6BEi55iWXgO30oa/N9hT2XrmnB+yDFzb8siHl0I944IDF9YCJ9EFqgh9mCHIEjDGWsdHQsEvN9KBedUbIR8De01dkU6f33j2Fg5AXmSRfpW+EXofhRu1rzBKwgsaBvyx79HvrVAMU6mbVLGPfo+AgsZ/T93l0JDVpbY09sycEQzIyLmru4HgHNeDB0PQoDCKWKXKHLi+6dq0MIn6ACYuUdd1/e6zNnVqiZVifOdGU61Q4vRJAYS9bhXLgdtVduWyNQ/H19wt//v77ZjPf9Xm7G6H83RJJ1W9nzw0JcavvFINKW83z23u4nSztKSK/7G0SbCNzN/bLgAAP79vU9emV44EaLaQtxslRCJK5pvsYaLZHCXHKgMmXOeDyEbIfA2dpW+OKupm7/hSWWZGWsf20JnX/eKCwtMZodXK6RtUSKT7/bSjSiyQlTe643ICPlBg0Og79nFG5LDgu6bY0HFZSq9qVIOAO3JD4hCgO+/6v9A3rV3XtgVvu1B30/QhHrPG0q9zO/HGcIuOQRRvKjmIY94+JIiBA4o3cf7Gap8qHI/QXqIX+ikW2cM+oVVRrOGEiM8ySkrj+mmQr7gGrrbNHpwgYKCI5WTqw4cXUiE3rEYwbvOaG9Rd6eFDU8mDZiF9RcQH1p0W/opN+v7E8JLEewtf+2NhbrlHP3ZWRUIK6x6rZRxi4OPF/Dw6A8eEu5NDK83iKD/Ko++NIuKkE0PUsJ8cxBD2JxszpykV4i55weOiteKIv77ZsCOkvX8kamT/Lh3GOeVKp+9+6Ja8oB6EoBt78E872oBAVWj59fcGSYpAspaQMsWJfPigaweHqAAYTlMuNuQBvSPzy+3+UH9Mhc56O0Ww5M739KFpqVCTcf/FdKVangqgK7hBe9Xf1cJoKoKZERXOzP5RVW+X5aGT62pkKSIz0cjvzDvbpy9KGSXdua0fSkkqxDR5RHhUjKishv2YxjsfV3JgfFJqvFJ+7tm9l9iscnWtwR3ddrimS7w26ZIkL8HnVFcx3duFmGPY+FMok5cQi7sPevaqmbQcvP/Vaw78AN5tt0XYzdhjdjHZjROpxxW8ANWS7E03EDC9hP/ddgXwFUH4TfOp9+7Qaa3eJE6N/JK7PWKCJb6mPGMLBpc6Qf2OzWcH1Qt+U+LFd1WV9SMMd8jn4zcSNikEkPjr44PxPwAJYyE+ztgHoa77aS10OGseV3ZYji+RfwiLVhlbATdsv1wf4HxMv8Y7/7E8b9UaNFOnuAOa8F30Pr3HRb+RDMUlVH/v3jMzZii+HClWmVSnN/pYn5TNop2BFIopPTRCsVe9YV5zPJXmAF5NPnsh8CmhOkqRVhC/imPqtW1Skt4s27EZHl9fGc8HcIu2+HpL45udQQlCB3Qd7LuFzWhGghLRPsngWcg4yL4+uMcpQxlxeIvxuIWnH0m6LGmg+s8g68GQbCKm6u5N0XH4zsnXR0HXElVb4bSJ3BNVlraJCsGqbmA8IHOEIdeclLcPwQ9E13oR17pgxULNQXDLU0etPPmzLhyvJ+ZXbSunOxWw7WX+KC336HMu9WI9+Ca2MAor83fLklcCkQtdlY7DeoPy8HcPvW6T8kiUTWlN0mH8ayVdbEDCBiME0Hp4iku+W0YnGobxLQnWUKt4oAQ+q17Pdejq7W2ejtI/QQe2gc51qU6+Scn4M6RQwtZmXOcndsDMvjQYUrOhdhUZHx9/Cuwd825FTt1dFQzK3A5jXcN7C5uVlDKXKG9VXVA3XoyNz2/JB84+P9jonAEADylRol+P0VataBLRS3ib0dl47SaIg5Bc4aL51eF0iSHi5QiCexldCIHFN2mUcjtxa3J+qbqczmTc41p7vrwJK9b82a8yGna3wuWjEwHC23wcdTRoHwfbDoNKbVo4J+SqvaF0xSxg0qmZj22wN1iN3a9B2Vio+F2iz4JGQtgNzdJ/K43D5rlwXs54Rpz2PqVrOcgyWWBJJRmicSZVFcVTl+/w2Czd7toAAEQHulC9Avs1+EohQz+2H/Dghjw2sv36udt9OAjvDpWnvSnePM+eFL364GzR5NW+8UmTTM1EUm6XZ3lmbXweCIrGuCIjBM/+eXRK8FJrFlnGI7RXjOjSWBAY88IYOTH90y2OxPlyeMgISHW6IFuiB3jHDt5fc9DGEushz67niiwCbAYsRc+CmhBASlvbx5MEgOlFtpyWJTlvPXPDZtTiH7cFfwK1fvFVIN0vCKKg6QzQ8kYCHNJaDjJWPk9TWg52rw3UdFwvwUT43Z4eWXmK3tzbgiw2GQs27G/cI+uHHWavYpHyA/3rxV5TZ1JupCSRuSerbKTXcK6DCkJ7NG7AYfWh4EsmByqnYBc8zXvXPbE3HPl3cT/V4QDu7lnjEWQXeVIh96iKOQPL9G6dCjuaYAQLuYqLloj9nsamyT+lgpmqhrPhjlLWBRcn4/YJHD1MHy5YDlDA4ibi8YFGotni5JhvhI0XiahlfaG5JXm97jLBLxpIqEZDf1IUEqLJvUQ5+M0OXsOTXUdosdAoifZwAcg1RwsCg8y3PQYwQ0gh0fTDqyKMAhNwYK00bFuX61aJQI5SLxSJbzVhKf/MUwpfiqdh2qc+iSOtsPEz7y3RUX7WiI1NhZj7ICbydcAQkaM3hsGMwRNz8D9Q4OPXl57CYyeXj9NmnNFNpuheEYg5kMZ5c855hBu9coJSD0hflzYZbM8BcuDwt7s3doNGo3a7PW0KwsNpGny9O48+bVYDaPWS3YvmFjNyB6137dEkxbrk8eZVdZc8n1VMmcXtvFGMsU2r8vDwMaXV1+TzbUJ4G4jNUBIsZC4whDd4qypa5/eYcpDN2KpLUvuRf+wk/cOEILvl57EhwMUiBgVALm0+mxEZoMfv7KjttyFjuc3HqCXtYMp4pDDyeLr4XshGFYl795UDpiz+UbFprDU0nVyfea0E7WvmxrjbIP8CRIbVR35ocRPyIHCBSGJWxE3QXU5FN7cZfdrcwBoAsfYzcNKtLBJYAwvM3/vZ5cmV9bgazLO4cxXnEBI/aNk3caiQnEwz0xBIe4d2jnNjZ4bKsxBW/WmykiP5rhWAy7WRJewLjMx63rhaGiFcVeixJrUP2F40Q9r2U7IEl/swkpFJdn/PGYDTcaBmQnpx4F4V/A97CLtFfqB0QJQ+BbIbiVZCzj2bAWTGaibDLEXC3KQEzK7KuLYT5B3+8Ovp/wVWvAFe8E92wNJ2752rnH9dZghEshp3bA4FzH6J1c7ZTKCWWuHeS7Z94HtFoqgktPU4bFkfi7uj4g/ErYXASmNnrNXfPz9UhYb+STLAICuzV7fjXqMY846JDKsJ7ZfhFvktq6nObP0/SA+HOT5QjiPBoUUK2Ldh99YqAJVBPNbHgYqJGr8/ee53WbK0qcD64QRvHCN7lYzbkolKGJN74TH6kQDPD6pMJScdw4aEO0cnLWYsaf4Xcil/UfaLg0HES7pwyAEwWluGUC2DVusBOUcqPVyGOk+3ZYBVrbTTl9xSJR1CsbCThMwXJoRLPbo+oiQl4s+YtHASkJA0i1dWUretwx3k1st5SaC6TkNsGS5iix7xuW+5Nqm0HvFSHNkbXt6AVt+rBngpwEyF6rIKAtLdoJfsouSKRQqFaP9xmlyQcrQLHnDKtuoKmv3Cn1MzJKnzBIOqqQVkQ3FLSy1INjhBUmv0o4Wy3wHBe8rElK2h63ABroT/5T24mqixT30T8baX7yqS0kYlXQV4Uw/UgvBmNCUEXHvnR5rARxTOLzlcMcMuvBKjt5STKHxyxDUOpbtSk45+b0xufZaNubIxbShHTNZK7RLI+ButnGdzlQbtxfriZCy8swtJ/xEXc0ITewxF159tgNJTyVNtcQ85ljFmVl5AwGkP7K9ea1uc0+7kyHaLvtmlk5AcphgOFBRIo7due7rhC7b4uKSNfdIp0PgYabYjrJlks/XBqPBKyNERduN3pieBB7NGWEbNyuU2ZTy5RBb2IGWabcqah65t9CGN/MrcZIzuKXDXQyGF+OPtmoIPZu6HdN4VcLZsSEDPpKRFsMd6reoMg54TjguDsA+0dri5OwdtCwQFJDvFZPU8OhmM3dzABNIc62l90AH6oAS/JO14mfBeCwrYKkwtT8xjIIULW8fTzJm39JMNkAceCDQWbmDefF9rK2vezItukiWS54NbceyKu8XI20lrCthJl5+qJr6Q1kAMBmGy/rvEuAT6SaJH1woBE7aTGLlo9jxobZrsHwJtgXEGVkj+kVBKkn7SnpXaTeH1FnAvpCd+rGNMhqpsDQFmkRxRN/7Puujg6M5/kMsIS9hUMuwK/MrHL6rtk/OMviOOfn4Glau3xzTOvNYl60pCX07y6ETl5BpIBP7NPdQ2CQsh+IsGYUfpvzB73p4ijrIheFbjZSsKoYrmaAmzaPDEYhqZ3WWSRzU+Ja1PqDy1mmPKrbuIIScNdWsNFi1V8ZM381i8s0S5YZrPdwuQzh+SRYRypTE/0egua24Z6fpUItQcj4IrtBB0DbaQFMnJomacjB7GviMJzGmAsgc4wBZffD5KZmEuNj/KzG5xL1vhgDewDO2AiwKEck4n1r3+uzL+L7qyYE9GwBd+ZRzsApubfgmpcLGSwXb0bH7E+N5YDQ34ee6sTBfKVdPo24y3BVSuXUQhr4AWTrDzqi3B9+Z4ug0a0fzZQYyN+MwyPu54hx9kKlHG/EmBgIMA8uaURDaRUufUXbedKuJvoFKnbR386GShOkyDHcTV0F88VKzeNbS5b0p7rhbXSilIKDJsn0Aus3xzVMKV2W+/4IMuvPx3J3cGbJCuHZXLbao+c/xmC9MGrxovus2f1CfNNcTwyITiAuR5tgpm+D0djMhK8il/PqRqIuY6A5rdE5C2qMRceo/LyOueBTjlVbqYV0QO/9TJE8Y3eO6z3UnK2iamphmDEM0UCtU/3G4u4uYSnB2XeqK7fBK2a/cv/66rp3m/v2lRh4RdUWLhoLOF75UdQMOHQP+TkVNOj0wZQwPej2nV3nJxBQv/8iOBh6og+Mh6sIou+/ASC76bJ/vCpzjI1WdoyHVTAe+Q7XI179pfO6E+q22kbtyFecQRvwloRKnNfwEGeOa6a1GQiBiUYsK8ioWWWPwgH3iKic2aWL2iTP1fDnSv1R3sd4x1PTMgQhY0KObN///KpQNzDfPyS555D1+mQrDnF7Fhro/GTTRb8toWwPRgSp2TKpgVgKfI/EZg0d9DwiS6xnfBAUuA+7O5BrEoMEJ+AyGD+EaAHZujPAxafG0Q73mpExOvIYg5Dj+vl4Xg9f+Un3e0TPcP2ilfXlo7thN+BxMsYRRpsmHZriAPhpAgyvYMECrlI03H+kTabyPSgBIyn9RXJe4vGp/WeL99ABhjnBb3IfoMgwakrdhjWG4eG+W33Fnhg2K6jotPQCrKCYZiXUByfKWvRUsNbevj/AUhjwkJvtwBJ6SmiO8A7qr8EeBww/pPz8nCfD3LdYs7Fjiyj8kjITAFFcT5ActOLafcx23gkXHENP34kXG/2DwkUlQOfT7wSdN6Nnmr8wD5MfJwr3dhuNK/YllyygkJo9cir24/uIGUt6MRjJdW7t8fWClNWP6lY/D/9asHZkhZPE7Q+SwZ5V7JQkFTPblqzY0Au6ikwccYkr+nqZ8+B/3RJ6pDQIppDj/KHAw0byAFmDTnnvwQ8qxxns6/DybUeXls/oaeIqp3zjgIMs/n9U2blbNNo7ysKgs+RrJdWhYxundl6qeoMRjxeK6ydPVCUj464OcuwWSCZ22q5Owq0KA7dm/fvENuvyWaLk8uRV6tphvI4B7q425LkD9LYKps5ZZQueeBPeJQoJO38uo++O93Xi1hMezajIPGzVWzZX911qKHu+7KNE9FwZut6Da/Hnkha8Khkwj3Gr2G1t2D4Hz2RzIkzjj0b6cC3WqUl+1iOz7HxMMczJhosKU/y5peoW1i6ypH3NVV/86kL4CdLn8JyedITJqYZaJuHXVoUSE062BOydRQFDObQXj2cNdrkt7mUu2g/RcQlujVecvWgMzc4l98R3W7hczmIN43vkoQw/4GN+0Sla7pbLOXmGfgsLKyfqT6kTNxLqteskLC13ekFrGO+PXI7/b+S3KmicPbLDBMaXr6lRclYxzVTQMw5iCYs/5QQx/DIPrFo5gu7PbXBMu/stDs4239nQvyRtSqLzyjuKnYMiOqGnV26BpR+RNc80MIKZm5jh7gjKwP6jDNH4DZ+2iRsFhm1SE4DbGOalsDClf7ahtt6bPPXU9eDiP8Tw31NFLr2OpoSInJcF6ipj+EXKphT6+LKmRa2b2gp9nzSZ9pglxYROVvncI/4IDAEl6ZWzn5QztD5ISuJDYYSPrDYN7RBImVggtf7wlmWqka2fZKaKNbS5WQkoxaCnO1LlK70c0lUqqS3HIxKNm0lZxQxc2ptDij3iadcMbUFyjGIaXcIy7DDkYbIsxP4rgMDKxrJLOPLDqfW50wn1gTkRs+nv7276XbkaX0kUyTK0+98WSCfWurNEbe1cuYuS8L+zSOBZtF1PFjoeEu2UsaSSLuta1GUmvyvE4jvISmImNk4UlaNtJiHZIEMM/mBO3MMzciEYmmh5emEgMZzioUs5rI9QicwrmOSYeTTnQwzjutIYQr/7hHNjfx0xfym8j2fQSBWSgJqSxyeZM3LEtk8D7V2uFN+QiSdaKKhjFxIjS63ETYlelNIbnBVpHbhvXQHaSBntqtXm8TwxRbKRl2ehshGmV7nb6NqQUO1EAdxb5NMSUND3dkyelOsCT23vKUd+bHMFBiXAYjXE2rW4pktEoMk+R3kcUJlGugudhyiemPkprN+fU1R+FgKkLV4BJZ+uSfce8O3rpyH6/Hb6d+9PvLPXvQOroI7P1usxwmQgYe27bzZMszGySbiKOYuhYAcm10oyAxdYvAudZeYmfGmhHGk2D7OIFUWtvxcdlandYH7Yxv++lGnRtN/iXbUu9DUpvFHIwABLGlz59dn0ZtYosYkI44TfZpWlcaJGi9xAslXHdSPGAtmaNQSpTIyGVI/V7TVFbTNjPRZYDamoi/U+s4YzMo6BBA+1Vy36omDIHS+iUk2hnOQZLH8HNAYvBBFCfaEt6Xr0MSSdE+k/axPpUsN8vRH/7kY09Dsw63qovPByXp7yibzaq8h5Lo7lL1pvouJ4V5HEJhVATGk7g2WbrLATOj3mI0la1TwmiNGt03Tll+aN0zMfZ0U4Rq/YA3Ea3aWNDM7k/KCJ5HtKZMRDFhRk00IcugKUuNYQ9x+dyHGkYudJhRkATh6L1hqGjhOZ8Uw1RhkZ4lRl7kkjg1ZkS2R/W6qmp4Tq5YTNEDGjGu88SNXfdCbXMbWfJBvQG9zwKeviItEZpoU5K+2ygACHCGuHtFg6DjSnpP/t4amYzVTc+bb0Eq0XLDdDAGpn6XUDxWdJFHQXjJk9sRjE3clxkSTNd9hoNXwYoX3iBXv2s4vST+HZvWSVkqC8eg3EV8i+fAU24vSIb983bipx0VE1zZVY9f2d2uQFlNHCNaOEhtqHf79RlVckm47pn3tL4gcQ5syjw/3hmGVNrW0AT0RirtUCEqP4IKKVKRLFJBvLUFYboOVSQaC43nxJwYiRKRAtinRZSYObYS7xRFVVIIC1UOXC4OkAeG1Nuy7f6oHozBzAmACaTxF/QX1KTm9LkXv3DIWYXJogJdQcKfIttFaT4AOLZh057x/VQ18yABBZ720xD7T3BOEmKRdRAbKJjpnPDWnHTBzdeaaM2maTBzdtzypYaRK8MY5oeQwrhYZQGK8iabgOHyAAA1t7AAAA0gdp+BeyCA9xESvHQEdfnEZLwLuo7Xk3C/Zf2jS1nuLiHshyOZAlSJAJx7f4d6+gcUSWiYb/BVjeoXthEeRcO+qimpIGHeC66S/apYq2J3CQDyRBnCDOHAKNhv9LO2ZqhdxzCOqvObBW115kqSwNYTurfjjZzOI+Iel9EyvxnGsZnwtZgooAxXXtyU9Km5Tcvz+9jE9gC8xcUBca6BJ8j/4buFkFgPGmCO6uiR8n5XstN3plSgjlCcuWjxy4spDFNc8fK+nNsYRQrUgFR7Bw9voYqhW/Tj+V35Ju3dy6F7iBawkGfr955dRWKNfWYHnigoaasvwyQL03QYxRl3ziPFJMkNevLNbiQw6XIO8LpQmPoYIpM8StLUEdNfGFWCfXKBel+H3tyPxnnwu3FaE7vyS8Y9+shtwT79m+G1632CW9pO/XeUUD0uX1bgEYU4MyBIyeagPIXWudr5weh8+h3lxU17/f3Tnd0AZANoVHYnyLQLegVO6750iPcbO64Eu5gJX1O7tTi1u4ewE8Xe7Q6uZZLlRER1x9rxST7XLvibAkwozhsSVAwMmvNFwo4EjhiWb2x7yKF+SkCZAfX3RN0//fpBg4SCD58CtwPqDphs6F/lYkVvJpM3988270FS7unJpYi+2zFJlKCtOdwftlgX2OUGdHaNThFj+MKc1soap8L7+I1rev/H47m2SjPWWn28+LVqSTgn0lOGPOhGAj+vkgusxRyhFBhguR9+xzWikk3o6eecODorl+Qfxi8zG3FgrQAOJucwRHn444uFyT1/jNVqb2SA72eF20ECF2DlW5/MQ3hsaEOsgDwi0RZcT5ZCjIwpg3/an4osvA+wSLyqhhmbUTNILL5ugIJImoqXXILgYpDSVUKDFR30V5tCcVN7MBHo384r0yRK2KBgLSlFj9Lz22XR6pmExQGTXWVKN5aoRkuQFWN6S21CE5kZhOSoKRP/7R/nAR++SW1OqU4s5O/vFE+6Obbnj8Y0GRIBEl76xpKtSt9+TPCTBYGoq2maxL4hPpAmiIHpvEnNJUAD6kUWHXJGscjDrOfW+8Wp/HoptQZNEYeUWyAAABBTk1GXB0AAAAAAAAAAKIBACQBAIIAAABWUDggRB0AAPCOAJ0BKqMBJQE+kUadSyWjoqKk1KnosBIJZ274MShJcAGqGmrZvwq+F54R1naL9N5GA/m4g/pnQyadR6AHTRZBpL45I/u/DHVg3e7SuzF/O9+fyC1CLmXZ+bN/w/QF9nvvfnT/m+aP8Rz8+Av96/6HsH/qr1i/+Dyr/t/qJ9MT0Zv27IrHJAfJcPqy1H1g3BmJfIIzSeLeLcLKmLhNS4vs3bm0df2uU1KTGAiN5ExHBQsmOgp0Jq9R9B+wcmD8tyUnhY890pPdjHfispGfDCR80pVDh8/dGWAOWH001g2dA5i4Ob6kQqo4jrsde5lCviktvlBvRovR7upX6qi4J0EIlmE0pSKf/K1Sqfuchv4xHs4n00e9X7YAqtPe57E98w1b7bHScAwW9K3tceVXhIdQgmumYyrEMnGuYlAXabnqPZSKKHH6VDF9AZ7BU5x9j6j49D2qbMjVTj7127n4CC5hKHL7/8klFC7C5Xs4jxl7JuiVfvoc4y7zmpqseDVfjXRNnsHZ+BUAefSSZ+oHYf/uDVT/NwQWe93LE+iq9qUfV/yoYs3PQjTBvgRRH+5ImEi5baScOKaP8YkCnhmAzZ/pzI+42URHnG2JdbLpDBghzW/op/exKfX2IXUqF9tpmX5UFq3pL/iXAh2HCdDxsJ3WY3p8ri8PnDjA6WZmLYcpQMip/OMpjP66jlUzg76IplQxggFIVIZCL0YiqI9+h5v6hpPatY4rWXlvbCzO87bw16RHIAuu0YWLlRgbejWPz+eJWyKcyEfASRxqRmfM3Rj36HcSK2Gxa8586wCzLBz1PoYI8EsS2NtxOBMXATMQLh4fvo6FEQVKzY++8MX8MWs4bPqX3FWZhYx3jfi4l9jISWG/7kKYjI1gdO31P2Ag83JvJTwNJzhm51KrbvjbpVhS2DZ6r7SrJMhcy4jbUMh7mLDlagHTRi/YfxpQArFS3kzCyqqu+KN3GdMGkDDVA9Ud6A8ops1WU5KZBi/Y2TalDogVRyTHv1DIVi/bJKt2lHXhpjplQy4gJ90MEARLqafaE5XW4v4xM+68s9XNvYtve7AgtpPegWWyEfAaZflI87r96ed6tINB67NsgzvHuxoNQsmZ+/EzsDM3dQUP0cZx7A2dCUoA0jNcQL8D+PDIDVk9l6qdi33hi/jN+2pYfplHotuO6FcPmsi6A0MhlYxeg/0EXuKPLIq2wZuF68qtQEOXz/Q9yfz+oXnsCf8qGu8MX7ZNqNljrEo+c6h2qn2oMQy2Gm3qrKQ5wqDkvKG/y0Nn2tIc7hqljIh9cXo9/jZdRZojlp76J4zH1nlRny41TNvyyIfXF6Pf5UMZX+dOZCPgNMvyoYv21LIiyWCyoYwXENhAVLEFFmh8CsCxcEufGbpXPl5ccXv7+8QIQLRP8gwmhtZ1lpSg3A5f2Y7lKHyvSuiK7mmkPAzKraB5fbISOLr7WBK2DC4P6G8AStTHCAU39U2Q46g3Tmyjf331u9W9nyNtn6GhKVHhYv+3ePdl/xSYUVjbnS1cKsfAxmLEAAD+/jnilLWVOZTDJ743Bu6q9/SBN0o8G8p4oLQ3TypDIbYWF/UlnPrKhAlFlf5Ww56wIRi+Lz2/eI6lmkV+R3UOZmvJqG8UcqdLlATmtL3YpNkfkMGQEVpIPj3PSPLvii9MUbmd/hMVMgboVmEW2hUWmxJeelGRcvfXtIXRwAyJTMb0KZcZDoFqIToMSkGcZrUvrPIfMJy5+UE7/tmT+rxW31fbPzUQHvQHebruGYKHvyZ4HTAxZMR29IQAZI/6SkvOH6NteNAryWwEaWk2cfu6dNN5ub8FVuKzxdeVXyF3qODZhC0NyDRJixRyMUytc0o2Nt6fGEX5o5I2JNZABVrbpRpMxFD5uACRLf5lqBPEk8Y3RrM24yV/wfy/He2bf5PruLhVQa+/REPnbXnJ91NU8DG7Hs4rui/yUjsVWSLA5vhXC3ZU1PLr8vpF6ondF54J42sL5QkwR564wRvAQhyHEty/AdylKRTfGN+dBfLAKrIYwU962Ae7vcsXxd8EcpD9V4lxPyNWreGuG2EIweOCITeabaaWEfIfARVvDsrnrkRHoBcWIzmVws+sZJhyH1FdQHX7zBqytOAr0bThkMr861P0FfyvlwjQmOI2p8NldIyR7Zfv2fbGNNABB+bteZLiWu7hHHrVUZcS/dePdgVcB9zFzzAusI+d/qeGSh4Crl02+NvhT9znkWagM074zl/HdlqDkwhzaKMGYn/zFRbhkhoH/3b8X39W1sFbCCPXib6wyR5VqXH+RR082yYnqLZ6KoWCk8cweg2sVGAE4uu/s4bIAtqLvonZo7YT1/uftLbb+FtCr0X++zA6pZ1Ne+siqkuJRmINnE22E2OTS8lFKTasC1n7hVMGxXHc/f8zfjCU5Cy9t06VaTEZAEXrPALt0PvQO5rtlMMDb/XflZpnKjNQ3xgcRYlpvyVAsOy9Y9drk3rnEoxnIyWQGF6ZFhgTLHEhrR4pNPGPLGL4QLzdlUBdkwuVLb+eG/I0g7hWjJMyqwEC4psJ7AdgUN5V04QIO5v4BsMmp6hju0xC9rAJ5hj+hbwU9bxYUUgHDl1lAgYVx6cDOc5Nfmdmjm2Fx7gsi7dhxAlYHIi0s0xfxUC242xVOuOFMhUuC+qyCJPAGNVqRDzMjJTdL/67pl/gOGCgkQqxeE681rp0K6SvVaFn+pSBy72oJXT4H/EB5czUoSBLvHC00yy1VpVRyYLoFdvUyBz3DU6EEDWzJdAdgE4mLyPO0t7Yxed4jIFQPNSwmjIj3GmHp+KKT27yNa2KM7TlfT+i+N2+cHcJclnQzsacPA3HxUCTDTkhuz2lK9rosiXRTKdvedpM2x/F3Rt0DKfUCjeXw1sII0bOZahMnqKty87rAjmWuiDlYjomxzbd7R4eZg1swP6TrWp9uZdiLb6SvyLAjJp1ntZLUbANseDK2+ExiwQJgW02FJhg/FnUU58ezB7aqjqnh8E3UpmQ/IswH7oBYlpvBu1yPpif/GlX+svBv2ydJ8mkb2shzTtrNUy5/QbGio40WEIk5E2hQn13bu+sbE3uNmXOUbRmPWx+zdOPVe43nNOlP2RwvrlmrYup73BKEcoBhN3g6CKLXzH8lJK2/gzfGWLIftgSzqYFDDwCwVVHqSlu4osLAAAYg6Aw/49wAUXtRU58p51G0WV2Uwsn0Ie/TohxZcVP2s1/zvD8doaTQ77521UqmvhgztHnaWff69wGp/tqF6478uCCTUo+xWT5Gu3V+T6V7/ilsB1RzvyNaK97PJTdwX6UN+kCV0O+8bKWoDd0rjuzVyF1wO0iTeYBfwFZR5IDsE4qi80cJp0xsGK/yZwN1qPpV0AaQpcaoJ3pPATGOEqa/2j2p7X21oTXWQdz2PSAZEp9JGFxF01xV5MlWR9FgUYN/yJb4txjC5U5Y1MmsHUXDGpbzEvPQV2Tz5v6FvnXg9HXO5fCz2QXQh/ivNXez/XoyM5YDIhCP++3UvrAIR4fRLMTSuJi45NElih2Vbx9rpsw/k8I6z6gWgrM8aMEEC1cdjj5QN4NX+AGzOetk4cBuh0djVal7FpM4+TaEnUMFcXfck9mM9jv88MXRwC269G7o4TLMRLhAFpYbRL9Mcws80UyaRNg/5h/rbq8+A6JI8nC2dMMJFs7ZgSvDMtw+gFHJS9t+K2EZvVvZ4rBjcEWEK1eN81BcRpUX2nzWnr2zYMtpmQSI+9osKdPI0v66l53LcA1D6obKL3KTYKpwzbiBp48ahG19BMDoZ+8TZZUFytxCMCiwPzdLl59eU/AgWu47NAqliLM2nKPp17dN7SSxq87zhDLkCMrCQVfDSZNdw75eGz+B3K+aNFgeYpevarFjTi8J13VYz0DZ3sBweg7IHQr85Kfy8e+2gkksDW/LYh5vSfu8t8ukZ2NrvG9tbdavHbZTmGuaG5xpZMunrBUzKM4YZg9YfUCevfsSsdSL/hFrYbM2P/zptaNH2TF/8+8pWnv95+7UOBb6PAkodqU/Agp4Tv5vYTdAMrz5yrMTCdoVrr/UcsnFFxKCMSGu9dLO0onq2w4K2KzqhQAZQ+yILfWwOVnKDOayk+VggF9Il95Bl/GDjtE98L12GALEgJn5gDa868WStci/mA0EZzbg5F9/P0P6CazREosbvvlMGKls3CO65En3uLWnF12yrv9bB7PECymwzWmgzOU7thEY/YerBvXL81Ds/IhmfoMR65zYpeipZqlaRff3b3MD4MnA1O/MXaH89KfEuOM8J4ohOP61NkLWjJNfapdG+EPCdXxAx8v091hYa/n4E197ZfMPIQBwcEVIzL+ArqCn5wlKqHlHTE9WFKtQQn5gHQFsSWyfx3Q53DmDR3d10m9DzyrVTx4MGfYoCO5p6AChM5DhuSiOsU6HVxn9uQwRTO3p8KyxaLwZYAYXDwloWvGygYGR9n1Ov4d+2IoMZgMIJFexG50geAyxhNGUG7yh9WVOyVZbWVlVqWPwmLRQZtBV+hXkW//dGlebjbQw87PFIjEpu3HpLHJeQgLDmTw0waepsIJnQW7cjcDYDxMHzypNJ54n6RhZNlqNUAafu4FFBnU4tKSXGC4juMj0fs/FOUsl1YAOQuVkKtnkpVWBgD3TBK5tjnE8YWtn2KloCDP38FhW/kKYAlj9OkKXPjvic7M43E5tFMun8gPESaCjWsjHVeUhA7QUgXyIosvdDkVtLVCCwWMsjA/ZKx54gt4zlfWZEWa7qaVeZS74HG40M3RjbsvppS8ugcjJMR4/ozRkNy59FIVNt/e6bBgtJTVSx1ac5LQjw7tm/tDDAkKJ8wCEvaAPZV/8174ZZMpi2+5v0vxgg6l+3l/RR98FWWM0ev15XiKp5VTf47P2AENSGK2dRDrSIPk2EmfFfoAiBttnt8JMSTnoYkNMwm5TBk1/+p873C7orRCMkgUA9hNWQAEb4Li3H2E2pZ6D+32KfM/CWscXG6QoiAvA9eWPi8WpMY1qJsPW6R1cg0HBRikL1A0CDRvyNhdA6RmDg8SnknTZUkDHG+CpimLerOZG9pVLNR4ZF9AetqPMW9FZCkYOQwaMwD9NHEkUkxgc5dwLYSdm85V3TS55c6OJEUH/p3GAXJtfMGhiSUdMKm3xjWL4VX36dTw6heT+lZUVosdyk2X5a7woyzQCCPrAf8MPo+4VQn4R30HtmQzjz120f1IWYlYQdCtrRH9MDk+qtIlEJhZJ2F4a6QeCCBos0VjMU9rssEo8TsNC8+yuG0A1hsPWZwTrRYobymIHkOyRelOW+olcASJMVPBNsiv7DPVIBoLSNmP6nubhwTQUtYvbmFrj1jqmmoCXkYAbU+PnopqzemFex35YF3ImoX8yGqdv60cU29KpJbpTRZdwIK+kavmYQBT8JOw8fGWe3qYfhehefpHfvfHVOIBYz2QF6FNaMyFEF0DYwiO+XI3U68v6fxoxJ/NjBXLMZbj36/Uz5MzNuylIfPCoEfJIducyjItk7+lsAY9VdM/KZVIJIaiXKhTTjQLaf1VA2cwwAeSvRaS3E8UsfgBXqOX8XNERyZtYdb7ZdGNhsQIll51pzjuWA89O05eqbJ9zRDLcTaMnVByhefzzFsBnPn+z8XxTowRQKq8FnrSPXLwiJHEk5pWkYV95mxNlziqymcinMRbHPewb97WaOfHIouGV15BKnD4bS2G4kz+xKlkQfwFMjkgeOIipqgEQZXF0SKgaBXhnW4aH1UWzejitOknRqRzd1z2Gi27DlV1gC66Tsqrl6Kf1l94s+lsgqeNcIinchm+D5bJ5dtm94C48alk1jSuZb5//VDWjz7Gpmc8wn76EVEbHjl5t98RUOcVTvyyzCfuQeEUCAGlAvJJcyJlcgO/Gq3BmS4JsbFTWde4vkpGhZi1Bz6im5bD4GVAiej+y2y5uK4KDa5OFKQkGP0yzecPQyBoZsBVg3qZAUnbeeb3CYGECpPB1WNYMbDWGHka0ZS2/5Xt2NRevBNdu20swqP0/qPEIzGgDZpubZNdvFnAVApWSh4NoAgjxAt5m4SQWsyyKHuizwE5mzdrPxwKvLIDzrNcxxogq4Kh7hmB9ABU5K0Yop73HHUUhVJNLQD5KH44x3U8q8oWxcT89uyb6z4eV7rCSGSiKXARBHEkHe701Y2FBXeP4ohN4I/i8fZ7HvYxmKEWmbnoRNQdleqMeAt/UGViUsGvZ4qGRY8Gxq4xPJwN17Li6l+fnSxzmoe0VHAhgAqmNGdPY0MqBKWG2Y9HACoCXQR9Hd3C5fe2z3qOjQI4DTbyf//lUoGyizbI+OJY8wG1vGJFMnocZKO+R/9gYe19bziDRF1rbvgi7Y3lvVj/vbbRdp5Lt+2SECIelPm/kVrJqQCPRV4NxsIDVCvMBRGwpxE4rbEIbw7hv55innYtV+bOmeMxfTcYZwJ7QZoFowKz4CZ0riogNGyNEnL81iYNIkJceCT7PlGdCWyJiJwF7Di7QyQb5bynCWWToxuVsfDwLZi3TMuqOu+Vkkz9oH3jVgnYCyHx4IbwErzb8py0FBBBlUc6JJe0/ert+2aacIySCftOxFYKDU1/O+1/uTHKtBBa/QT0kwzzj/l/EqJqbmMOtHpUUaWyChhXxq/jR7WhtKoFHi7vUV/klLFMXw0EFuPkYKVyrUVDUae7giUZ4BCrRu1GJ+YsiVNQ2OuHF7lPvDQ5QOvgLo16auMIz7VwdMme+cy5P8npLrgdHY20SHhEa28K9sND+th8CbWX7dKR1PgljO2DfLexYbG0PbptdOhyiwGzR6q6klb4k4NVL/qs6bSpjx4XH6YXSOqEDf4IWF1Ud0FGxSiGwd7ANAjRdxuP9/CbvKkCeCD1Dc9FhQw/uakCExqSH7XrXMwkmuQRcWr+uqnfIFxzjAh9TWNdZaY4gt+M3XuK9JSNSuwDpki6VpWlEjVDJNFRpHLeIgP4ouiJ1RklcP4wjeg1t3RstgdncDyxFCmkALfvUCT7mE3RXedhWoxSTEwk+Q2Hdk1ydE6NKi9Zros1RE4gBp6RMQrbs9ZIPSz4zGPWpEt3EoNmmEbHKsA7UmaBuXi+15TM2uBXkdKfldeukluejX00tHIzXnW3/Yv/LI3ydiXmYJv5QbzFR0qPaTYK2CgHfQUSzHDCiFk47U+pvOiVWaEQUOp64YQNbxkjz/Sl95OF9yYio3nY3ofjvwPVJm2CTGS0EtY9ygj4AS5QDCVK+Iwgb9kwrZkc52pUloMmPJMZa1pCjs5CQPYCfYFBlgH7Hz6flWU01bLCE8pHUlUDgSg6grP5Lcls6CS8gVygDukJKc45YkpnVjmIkFK2eu/aKC84UykQGa7B6C+vSnDsrjL58pRfZU5DI0bs8fTDQIvmgIDj7/QX8B+3lOrbUwjYlVzXzB49qm8eGiiV1d/af0mE37q+Q2MFImVCkA3CCp0eWrX3GY9Mkf5iaW+0KKn9MTAYq8ttz25dVum/7UWDItB2kxi/RX3WaHRfeMvKz4Sn92ERV5MIuleifGJzjaAVoI1Z3TXwvwpCrIa4/C2gVBakYreUYSQ+pxyPs0hEMe/51yq76OBv6MDIACFh1jwQwthLiBKygzPElIFZJgfngUO9Br/CSI06SNhtjHd39OGBW7DTvb8E4Ie2raP0SUqZ4wM1rO1ShAI0du1F+O0gskc0AeK91Y3gI0vMGBryAjR4jJzZ1OHzRJ+LuzUruxxtUEbSzmsLNitNgaXwe5tB7rb8lShPTAigue7EJpBTz8sxQedyNj4GOpFsuQduWj6F2a93YokySSoqDfu7XTatw7P3PPGey9yQfx3YUV/shKlyTo9lS/LradT/8TA65gwVeMqgblvCn8S9xuvmlSNQ/NsXBT1tLN8wp0X9AFRKr9Lr3gc680RHm9rHhwxr3IFa1SavwzGDIFJBZYkgcctsbcEmsWjQ6ZGqG1r7kxdu+s9LIAIdUuwUg2Jx4E/+nZR75jzF72xe0NuuNBjBCKF4U/9B1mOhFlevmDsh5Hwnlh+iRnptcfiaXgCsivWHCtmsvWdSoeCeHQnCLd9P3nJu+8181Qd4fKblV7hFoeSjm+tYqTX7T1v+ooM0wI7vCWB+rPAZ6mwJhCOpkNPbmckCrUHM99meithXFXeRBhJ+s+C4NZqfjZcCPySAi54fg8Afk2I2NFzss0kBvFBTy2T4Ovv4L9dH0EXgtvd47wSNG+sLM3a8qo78UUj6LD1BFizAjDa1krw9bZSjp9dtAkYIAlN5B9YVL/42p7oehTARseGWaEmLWqpY2SH9E1A3Gd3gC9QxhN92i9oyXt31GNL/JB/IYaf4Gk9hVvPePg9t62ja4/8dF8+EywJfMkwA9crQjeo0eaUvVo7gyVpJkqLL/rd7ne5IagF/j8cH8VeWAuPji8p2+wrqSuswPXPBX/XIsQgrdIUdticazwHkOxIIGVNPgLqpC1dnuicBReWlAtvN98pWvov7zkoNcRLs0O+N/p5BoiNUyaAeH4qBwJn95c096PfXN/aH1YnoHWdevadbMqiF273QgI8yinNoKEYoicjQAVr9vqUrpIBhKo5IU+mnCz0N5bmnXISg1PxOKPEL9NFPucgkiRpX5Tzj+45o01YbXEZ4+NBgLwtTP2n6/64M4sxrrEbEWcgpWDoPpqig4Q8n5bEeLdL/Ybl0FmkyxiIj/pGl7IZTjv0V8xBXO5WSKatetfBFSEVAcNBC4Wh0dYWui/mJ8YrC+7rrsfEURs5+kBUUexly8JUK7dVZBCUNlkSm0bPjAljfmgmlx0bNwxHgBesheKGt651SF8MOfGP+OtM7ZA5KZl56ozGnf4ZANOd3SsP/Fr9zZaDnK9OuHnpy/+whOs0L1OIEm1zFPSsLBj1bP2OZXUzm4lhzGQlHblToAXoKndVR/AVKc2QMfJBB12QDJATHyCZIArAY9A3lsQaa+H1SWPbmyds1TIT7WPxPW9+Kgfthu3BQynQBYea9PBVNpzSTlgUJ/eC5NfSSXTlubtFNLwVcSSffAsPDRAdDIlYxQAW63kuT/I9uN5RCFFZK5GjjIHTYxti5JsHV+/ShcBjPFHmm0C0ro0sWRlO31SQ0vZpyqd/M/1sK5p1QKsIAf1yM1FiGFc32FzM6LdTP6x83izsUHwgPWPN315SH/LzLGnAbvd1B8Bi09lTsKZoTVW2gA1NzW8Vco0HnXrd02tDp7Phk46N8mi8+oUZyXpgeWrcK4XXVtDPGLMXpjqfVo5xeFLyjesNMUfNTU1yW0ymAjBxahl6XCAKZwy6iI63+ZmpgepWhp+KasXeDlmcvUdPdCAiUEJArbB1UCskOiWqZH7A4YUUeSsR7qAGiHl5ZPP3Kgxc0ggJSRrdN3BbvPnT96mrD/BhWqc+To5AY5wr+rNh+TtacVlNUyvTd83a10XvVexCqqZF9HvIx0jN2ub4slAawfMPmHEr2Nn8oZ1Dx5EJOFldw1LC0cgPgJ9Xtvp89+voyG87PmprEbZJIGXYfAQY6ohXoo4VZl5D+tFpBXJx9fvH5VItYeMI53yjztoRZQ1NTxy0naZ7aX0vfLX6i3kJspQTkuL0Bnh7juZeXAhGyZtaf6flC5B9tiBK86ibjBPYDgtuaByF/Df6flh3uW5lUiQEG0rG0lSs60MlVPe44wCoFyBDnluvqbaNiJ9fo3N37uwGt4vo9d3pd3BcZQW7EbDm7IR5bqxMMI+6G/7d7x4l0OU6iRHSeIwIBNuAjPq/HvA+/GEnp4ezzuhTtEGV22VdDgbE2nj1H5BvkJEgsg6Ht4BHz6++bBJVK2IQW10/ysPRpyA01UVNT/GhQZZPFluLG4iXLIp7A2fCA+ZU2q6RmUUxDwaHUpK0Vacq636J//tH+NX/lqKFPBbl1YnHCAqA4CA1TklwMJlAdpuP0Cq3RXKc8tuquGBuhHwqJe3dywQtMiPKn90ydxb92B/xF9m+7c+erhITafW6TakgAAABBTk1GPB0AAAAAAAAAAKIBACQBAIIAAABWUDggJB0AABCQAJ0BKqMBJQE+kUadSyWjoqGktHnwsBIJZ27hbCjaLK6N0fMq/D/2F+P9N5Dj32g053DTpfQAskvsx6OvpP8Z/xvDP0VzxLx9qPZZ/ov2b8af2P+E9BG5X2iWyf8L0C/ar7T5vX53mj/Ic/v/f8V37j/5PQ/6xf/F5YP231FOl16Mn7bkU5IgPmdrC4NfFGbkg98RSbProVTfkS8+7mu8ESEE10RiXZD1r5dhzQWcLXXUlPUaVbdyOz3Ds8iHIwFOWmYp435JwAstUmR7HniMKsRCNDLhi000YYDbXYm0XPfpgy/haMbyllOWq7rzWSWV+HitOxuhezInGgbkgLnyblLHnsikjS1mkW5EUSp52I5YZP1WUDC1PPZ+PPPIFVGbjWI7X4aI+1hNTdzDLoTMUdGXKszu76YEgZ71/TK0CEJNHJbRXYmXzBBX1TR75gA+Zu1EfqYVtYMbUIGcYkuFFfi/RVAKzgNyxlVVPgWMQ80v1XE5kGRDMPEzko5mMNS373JX5qD2DgSbo1oRKGzrjmt/0/0NR/x7oY7CoMCU1XBwdzDL/8SSH+QawXDiyLbbXem4ednGbBvjffDWT6oVg2uJ+IwvkxLWNKc4ZQ/M2y1eXUnaH1mj4ecwJTVcBQvadmJKHHdDdDGdA/yCCIDc2JUVmPEwmYy3gOMf45WtlDaeDJ8LhelqF6WxoHKtwjORjnAMfEpq6WnqE2IYOKTJAbJ5XY9p4PT5ofIcRoVtW4Ew4J5H9E2HMSJgMTCgXIeDjK7IraoEFhbJG8uNqsCBAManIRHTDlkUbTHajkEFftppPMSwwDTkf6ZFaD8VS4KCCzpjXmCDrLdX2zxBbihEH5NxLZjvfQWmwhf6v3RojCLpSGEtqHEgWusSib8S5kOCrPT8EoSEQI9Fek4inhYimLsmiJewxKY9+CoJ7QXSCvRnjpiVtN4U76gX31VVgJur0KgshBO1HjxN6tbvsv/xkOqXDwoA5GdkOBKaFN1Q/42rvBaD35FadxPbkaokJE2TbaATK+JEJNFysoA+UGHKQ9CeTWI7UCvck+EJp8TZCPsEhV/3hExKavVldkOIztel/8VruvNOpDsYzpWPIgLQfpxsNIk5kegSjeFGonMhcdGZ0h2kALpOPXgT02ZsRX/eL0rRA8NHwErCCxoFnSigvQMQGkhWoMrqs9LtzjCjQOve42arhX5nUkoXYKpf5WfQPnAClDFpYC7zMuIp4Wo/Jy4xs2N55EUVkMcmGl8AUOahXJKgUgLbMy2sEjcF4QgGF2GwgsaRyKeFOXGRrlxdzsfSlGGkkexjtz9RI4ygYp4Wo/Jy42rzBBY0FdLY0Dm7cKcuNq8wQWNJKyuyK87cC1hLcbhGyxi1SKpmtFXIm9U8m0ygddhgmhNH1wH/X/DtDCmFd7CJbT3GKN00KBaiREqx/b+wWgs8s7H6w1wWPdNBNp91vgvs+sZ/HAt94ROtZsFF4Exth4DScn9WPR+Y9zTwdxgI2mpsETXHzraLxHqesfpB3igvb2+naDy9JB8Wp0WhoP1n2AD+/gXkkigLlh8mPwF5bYRtiHMV9yJV0f9o9pdia5GCs/JsyfQn+q8TfuowDkMNY/czRuCQK/1c5qs3iNbhlHt0kqxGPYMEQp0BpC1uBwR2TpCR8LqpkRYPhq7ViJ+m6Xq7oy3AGbHSBmnJMm1i16VsrvIk8EXJ6SR9Mr032EaHzh51XpZL/b5OydG1deewceOrbgN8SXzAJFbI9LD8t4/HxEtLfsaHcXm/BeopVfWhlSp8LCq8ppJuniNnxNJsu0JEo+lz8n0SuAvljMfj53WxsyTnTrzQKtByTMccacRUPH0KoXFf6vOwdgbrneOP7Es/7yDGEWONfUNEtB1Om4LxXMnvaHvVGu0NTjS2tsewLTe09T17XKUAAmz6NIMW7y4e9b6QxoEj9w2xzg4tzArIjaOQyjlyJI0NqnZgAVWJHbTWBOh/1OCNhVSnbTOS1cW3QQ/rGM7Gpmuj4eJDrqIY/FBtKRBfTLY3WJAYPCXXl5wfbFvIDLArtG5Bqz/Zp5BnQdlTrUS+mG1f5nwT7hSbhH+Xq4xJgrenAA6CqEyXMXLeMK0+3d+2tuw+tBzr3BHbtFqo7NUUY7+3gQEcUOeL6czwRhZq0C3JJexhftDgbdaeDQIaKFWp8lFr6+2nUsn6PRxayHY5D9c8HkgAWZspw/qm1elexTTOIdb74wRJ1W+lwj/wfiY9V1c274UOoiL4acTpSx+9KailiettvzE7+U3NTC3YXGGCBvahsZV/SwLLFi/+8J1D0m+5vdvg2xPGw9t28W/w/a9zdu+W/VBpIdQsGhgmj3v0XpVN07+Rm0H67dGmVpkxXP7nfXfjaN2374LZNubDQW2o033LdwHWwYbT+2FDACd2sVEi2wnSjIqlG5DMN/8zOEdrQGIvaN/kGcizX+JyLdmX7TGlDw1eDqDBseFTaQYRGUa/Y+8KKUQGeO1Dqf9ud+797N9im3qkNsslOP/+wFEDdjTFRW8Ti4FuDJBgRhKwCJb2Kz0P9fACNuza8PBHmnshQ/T6BdW5PyhjP+z7MmaF/H+coHjZ1OuBPn5Cetv6HvsMp4cC4e8k+y/eIDMdW+euTZc5P9owpl7JZ1PLGWCnMy1AHET2L1mc8dAGd7GkcgvGDg2CUNs5hmO2nCgQDgzlpdDU6ohpmXrSF9uDJ+NolUpQFgIn4XQdaxqFA5Wfj8XVbnTuYsZv2sWncL57Jp8R1Cq62fxm/gl5pegQYrZyIgBZeQOp3mhgKnp0NBL8Os1rfpT5u9UT6wuyE2tln4Af/viVZyS8Li+CytN5AHZOVqQRKleuquQLOal6OWab32TD71B9ICtcxGk2C314LzBD3t3+jgnVXTT1g/ZkRH8krGi18FAavuZM2IX9zZJI6rKUlWwq2eet+ffF66tOwX0cZwmkcr0KjkDvttmMxZl3GKGimyBqPs5jommIqM15+3s88ctrAwGGUV9eLH6GYHKscHWtSmhrAP0ho1jmAZfzEmcwOi4REPP2mujQii0SDOlzl/IjJbkTyX9NOWeZyCMyRW9Bq494jEy82A+6bvcQa5ZT0VzYXBduneqAeYxTa3pSZ6PgV2UB3lPSIXQMvaOV3nfKL5VI+24kFOJy+oKWVwZyk7C3C3hd21qi/iXImQFURuM7aVW4Lj4CD/0koQOyP6aqdN/8Ujw4/kfctN87aQYV5iDKM/++358ABmUrGwUZLa9qs/Wca/c8xtAh/GsZuXGmKwSKgXOtKs/qvFO37RQeTmua/eOYxzbPcPM8YlUIZ7zFHtGY9gbWtdpCSmGvERBm0ia+fzLMwDfUfbfSASVtlpAOeo6r6kXEEViyArH4mwBcs0JsNmRx3G6nhK1AewmNeCthw4GcRMOvwAa23z0K/74nnFiyGsEmvKl/q846JDHFsr0wy9meAHWMDRe2pmYCi7f4xDy5nC+wnI1YmSgsHDd+U/SGU0PMymYW9cR9yq/U3KLXiy099jIuTseNAnMrZ/FF1dTXGqIMz4LKbHn99mIgUoxfef5jRLsiI+n/JOnHZD42FaPQc0w/Uer+7QjqNkjI9yc11YRHAFjjXZ1Twlkga0DF3QlAk2RgBWtKVQ/jevvs8dYSc/4XBJGTSYPmSDdxI4Wl4Vu7QaKhiqmVWz6vjmG5j+1B8TulCwGcpn687UTIHFRzaD7j+cAhiGfhTBOawkyk8LOGD7gn/8gOkcF8kQHc3IyWhF2iIzdpnJ6QK80XEPOQk24o5sA/YocdifNxHj6Jbj77DBmIHoZwXnE5hd5PRL4jfwFOMryluocOXgsY9hm9cm6Ya2vr8nqHCEONnYod9HD/XsP3h6uexzgnCEmb9tkcUn96xzfcq/WKft5utRC5rtad5DtMQp5iUbKbWemsUpKw7SGwvD3FOkC4/wNi3r76lF7/Edaf57KtRdOzB1JTE0ZAHrquo2W0ptHzk0LnEUzocC5kJ6VcLKzHvBI0H3MaFenJv2rNIEIzaAYNXNPY5S6Ve41Rbx1a2cNoeMkI13FFY44fAGlDSySMh2jNkCRpGyEhzZ9I139cribsL5kw48ISQgP/NtQLGQj1YA/TBSFd+GO/vzMIRlyPOU71P4Z+CmtD8F4PSRfllgvLVBvoGs8E93oJjkezRmpn4RQCoric9Mv4RXycsaUgG05er/Q2sFoePGbqrOzC4DKuQGzA1XOCgDTS6yQZ8CdHYR7qV6qTu7u+ZK1axizvfDxz+SghtiyzrcHedoYxRX5DIQKWUJq6G9KwiKBpP2h+zQsdh3e+fHU7NW64B5+Dy0/fc+A4ba3JZAhmQ7rjV/vZm+wbii+yaPcvkl4e+7zeSJTTtL2GQTClKThgmFFWjsG/dEX3knieebR9UlRpQoQ6jF8cZub7jCupy2O098k3mNvd3ce/PGDroT3jILIeRUkL/M83h1qhPfTYijEwN7kX3k+MYUdNJYOK+g/QVQHyxFEALIjrbGjmbbsA2wg1Q08rNdcBf6z7RjOmvbYWx8PuzEpnPYNcdFIkDHNi9KE+iuH/8FimmW5YX1Nko8rqEMuQzRO7BnEjQzogqM82FB/tsgbFi/bp8ufjuSXLo/2GLA/zOBxFvL3sJKr2cnFJAbb75gBvAtNMRVK58/+neR3gVdiQajfC4Bnsd66+PoD/G20LwksUtsOoZ62YyGK5VY70nSmlg/g4ghdLR701zTc6K6gmnD8yVFrPaMUz497I/Gq9zgJLAsy2s/AxCPedTOQ+Gq29sX0GliVYKSsFyUADE9v/wjRQf02Ek/RP9SASpyjfuCSJUHTJHTCSMfhxC/zFc+URrit+FiPef623v6d33zMOgERIK3qHcXGBIN7s0AUT7xKzqvzvGgw8dmqFXlIl6IDduCNs1UajpDJ1WDDYFf8+Nd8E63JPhlNEWl9YIes/KWE15g98tjD47wfwLue7nKO+NUTiZn7Ql7N+kwd/xQ+eSOvicVz3SfKu2zSQQSjs0f3IdulUNDtT0AVOc3JuWuXxq+MjTEFs+eEq1MFo13HlzVe+UyCJxGr9v6jMiz9Ht2gX6OLr24YNmVb8kvAX13rV/N8zB0v4BxJvzBv86ErWyu5IdjLW/H7sjU2I8gRvRB7wPgmIR58jvctA4E9Dz5vDt83uUsNUp82skDntzQD+hcZ+Gx98XgbUgX7c+uotcSBVwl21C6TtBlKeMbrLhMIqYxCBcb6GWdn6OP2w7STa0YfZfRlg8/BmeXPm7D9jtevT2tT2CfE9PTDPP/JevVrdsAPFqN1t+6WrBYecLrLYtjvU+4pdYKbrOKKKZ0YSEHKZX2+5Tf4TNqblEZuUE4ukOcYpWoZxF8XSnHhSFkpWvU7T5k5daOUkJvwSxRWnuR0MmAwEyBcOVFIc9VgQNG9k0PinUYz/1YoEyMAGdvhzojhkMEMHl5LHNcWyMOjwrOScWH1o9uQgEX/xBVV/WODOwi/bwsGuouuTBDZ2YZ3nQD70gmlrDFTE+rfkHcbQ5gN87frbekKnXwCVqr9w3tq8xbszlu3nGSwp+pD3npFdsmCotclbo+/wr7tGnxcoa4E67Q4GKCfIqSdqc9KzoAZdaa8+Jse/5kdlcv2bVcyUdoCjAIIOIM2Mg2+VcD42OJUYrfro7mnJaodR34PkRndw313hMWZoJFGZtjsR6Bfe+wn1Dz0E+tnlpD9Q9PPzM29hT9IRvzc7XmmRn4JaD9onx85IpHNPGf25j+A+oGa+jpadJ7XnnAh5QgV5HHIArdMpiABe7y8NuHHLDop/lmiXhDpzrkMeSKHIQui5pE3uGJccDvSPvy5TyjZfA8GUdkmXs6A0cMv0k+9YL92k+CY4iE1BCLqvJfKgOUmtJycOYoysRkquw3Ox9hxEsLssFJZDpJyVWnV/yAheHOOD2JrGoIvSlRRy4FjPQCsC19y7HxwC/JmdLA0XrOYrOJ5XPGSqs0U/pbtBaGpIwy4cAn5UjLDoc3bO5aXIZz5ZY4Ie+h/rb7B5EwHVD7TlOcbTXdBp9c9XQv6BHkiG2G0FKFiHd+cZ4/Natua03RtRGktA6k4ByJBoF234R6WytNryv9e6zywVaoCLOMeAK0SxhTjPt4VV6HZsTBZSYgDeGC5farRgK5OTq7TZ45W6uojsxF/jYHTq4lISMwDI7eCwr2PwAYv5vWkZVsY69+uiQ9GjGoendis+ILqgABP7zRqVeAJ2WEr5T1m6G0Tr2sgLuEXWYxyNpTJMOynyGZmXPv5PkrJjpdcT8/ciTxEbW8ukvrsv9DjJozzvf+T5CR6ZtMMABsy35AQ0Oao8hubB/x3hM3kS/TOV3AvAV6IC3FZVOYKpIiHKNzU6jvMM20JzxGxAWiKODtrlAMWeA42h4Y8izBpmWdn2mvWA7h5FM6amogtTFHANA+QO40gd+ZRV+v5D5ijK9ZT4bwzL+dzCOffOZRbhhlOCkcsI293YLH6JUVYOImpHkOmJWlguckqnpGUpZxhMcH/Zv9UUlJJRLV/AsU3DDueOWieWr9WlQLK806s7sWKFNYm89lrf9FlV23fwqMZmAeC2YdPJcio7wRQPha601uq3Pmq0VEwvXCqfDcJ+w7TIsRt7uBHNdiQysOAaYbc3+1IZM0Bu/GbfxncKKK3QI+uq9aeFUXDHQkaa1yiwP3sifm0rgJ29spHGZsjhO/5OojzWluOuMDXqYa1+Kf34NHdWhMdxK7lP8IrtThuIBIQnLBFaTrJAv7luaKBqgPnO07leMdRgH98cMGSTZh7eUZ+Jp1qLTQza7/XtPRTNHxZk/HCs+tZi4G1U0D8hQglZYAxT31+M4/ZWTWT93gNUj6AKDypCrjusrfJWFRybOcPGBiiYWjwjOzAJs+L0N6pu+aNZy84nVoTxdxBCaV3VVnZa146vurq+lTfAeDfrcj1qGdGvUO1wslA+tPR6wqJY06XGDTOZVMPiXDeVmq9nOEW3/xTSbrDzEaoquRGNY+dCKLl/5iKVSmtssJcz8vkS6AmgUghvTajSUz526dKaGP9vKYIULsczecyKlw9M8kaoxydtgPcWBAcSVP0VewCDfnmcKGnbsnSEosJYxi2acGhAccGFMbmTtZbASsNFehqvCJLDRf7ktVJv6NOE3PeAeeCN4Wot85b0bkOlFKg4F1P6uKczFu1o4tZ7Fnx9xRww0tkNS6clXHOCCT6DZfbXTadbIjhL6Pxbv2o0C/ETMsTl2A3C9WmLarGWGOolN/5Qjn8ywJr6Ilon5jC3Umj4CbXHmo6wcqXjkm6+fNViTGyLVrcC0hiO44sGffc9NJDI4hGx6LX4WebcMrQ49zhuQ2gIlsOC3caVuRNzevpCQt8mZnzeQ9GvI+naIc3t8vXjiPNQGTSG1BDGjOftnpgMllKpmgmVvUdC4+Z1HdGReuPVo34pgBE1RsaNoFA9I3W6c4/g/UkxGsLQ9clmJqYsRW4VhXPnF3sxOKBgc1rKcEs3bF0fuCKkQQXQOTj6kzo/U0l4ho/Ur5gaEdhYzk21KmLt2sY2VnHKpzct0dHZIkRBvV4UJCms3k/u3ZP7EIKBaSJWYV1ACOunM7ozl0p80s1qjU6IbKAGFVQx1+mSJqURQn2FdZ2HM+E4wNlst6tWGPZViWI2Ip4I0C3bNpw9Iiyqf4TNJRlHISTpixgIHaXZNVXo1YLT9Iv808xzrNe7aYfLenInNHDcoUvjx4O9VTwxYP/JWjWgd+jYpgf35Vl03GoV7yX6PuzrKIE7Do7QXyQlLMNZ2WgvVxaD9Dj8OUUcUxDNYjtih5O3kgywUSz4K9Sl/kjZihERyrQcsGWo86MVb+i835e2sE7ToqkAUIqPKziLLMuC+Vqtysl+Bc6KUEnxIUGLLPjrGGpKgDlSL0b5DNoU34/eQrRD0wTyoGxQMrKsgUlhoI7uZB4q3tTG5MxNnmyJeMRPBcfZm66NQ3RGMoxYuZl6XNSHmEpbBidzyeEBaLu3YzyoafH3/hRdHoJTTXU0xz8S46/0g2pneVT1cQDTdcxCm9UWDz54+qa8L1S2FvmkAwiO4PsPcfxJh/CvcA42gL1Olf9hFBicXPVFkSIFc/oOCugZeSx0C5HclCsr8WMa2gWH4gm8ItpWPTuOk5mql8YcANqQ0E9ao4RHRuPTo/dzrnCfHZ/mcHgGdegrU9BbFTixc6lgMutJ0k7wFhWJc08EywFxKNICxU84XGwLeUnQCzr22hMOLaNGOh6xERpXc/Z7LBYCw2Y9LqAc0zXMxNVtGDbjeqDZhVzrrfengPIZvW9vY1c7xM6zTchEvdAWPHJsFXa17LjjXm4sMkTLODoWdYpWVvLuVRCSoD4XEos+zoUL02pYinwWEo3qoBGDf/FhINw0Euo+8fOJ97s1q4g8PcPD7KzqfjQzw7aW9qghqvQYwAXJ4E5Sz54GNwmLCnsQJnyJ7Ly36fmw3p+g4Gv/AFksiUH8Kqh+j3t4w8r0qxWMRbFLtggDN/nax9SCFB4zVwDtbAIHydaDWaqMHw/osNeZH8QTBr+eV7PSBEhhe1LylsLR0G+wynH0hBTfcJrs4qJhtfsVpLCcA3W+14hb+gzluA6ZpumdtjIygKBIsZmzIuKOg7M//tjgeOcMwGK+Xa3CGw4Rjnrz4DOA2hqL9QpOehHzmRq3dY6Ep6MqTPRK2kFZDkKSNUW+mj+2G8y/UoFU6smgAFWBcytCaSn1uk0M/OZxloh3BiwNX2wa7nscKzdAplmH3rj3susUVWeAZ0J0q8pEWxFSqZx31DmmGioCggKPFvbyC+3cYcVq/fxzgc8H/IyTczsdKv0Q12wLdtINl+Q9ae4u6AsDEENGAtwb5FDit6sE3+Ovt7uydq2yVEVhOKOw9Ls4kzClfkYHo2/Yjq6gNzxK0YENTF9q/jWOA9YqYBhEhv7vJRdMlmpRLZlT3X4ZiRFrRQfXEfqe2DLnJsK2I8Hi7/9FcPjh+Mpw2jzsO1fBEgFEimI4LzwQMAWA6D/EEy1Ds7+GnSrpT5M6b8w7GHePWfpcKnUzqNwDvjMyDZaDzTNjkLRgWs4D2RxW9sn+5znYuCBl094fFnK38Y+Dlx/DXIZsIaHtt27E6mk5WtlQh2fLL3RmoIXC7540zJItRHtwnzvC45P85XyesyVdyoTcgBjVz/hBfiqAeKd40HQCLS7z+QCstrx1qUDwwp1pu0oiitRevvYvEP/svi5jLsLAtVZZOrGtkLs+ETGBZ87res0oMlAvRnuYnrkalCwzSxf+QAZUZE0qzcqVlGo2yfSRIvnTehi1ViYUvq2nwNc4TJys+g/oiEzRziEwUptlR/ygBCJNqjerIyKN0DMv/YMlzNhiMOYuI1cctm2JbsI1MQVr6RGDfJVrbUVer9Vbtxeo5GTGL9Y96JRuTRzTxwV48Gf/amQXKrtzit+ZheZBLOjX0Kf8a9U5rIn73sHl7nNV7zDcvEFmPzE0BdIjYkJo+8xt/hugMqSupKMqYJlyiFGZyBTZMqhRUzjByXGhkD+5I2TUIL043cvffOY9/50eymBNFhuSR5ihF4CLy/rvIllWgo1R5LSBL4LZzWmVBqSHRQkbzJkzlSP5ez1b/K66xOHKwGxSkMBk6sxdB75lpI6oYJjalr39xyrUwSvI3hyPUs8xsb1+McIpVB3OKX4powcXb3apTwISfT6LaaWlQyBlHXx+akzwPTa+ZaGhE71efdJWkBQrPMQhWOHckSqrpAc2sFLi1SyA/BeU2MOFWUW302lnrng+3fAGAVGmBSOMQ7CxIsO8Skwy6nSBY9DxvcsnxjVqaMJct9P/IRArqV2ecIn3UK1d7O7tQ72clBcpwRC7FL3n2Z39jq6rUveDzlBn2fLLGf/gyWWAYBvt7VQimrWPLsgk5viyED9/b41izwPWokAJU6h04F5OLjkAdgaYhk1795yFvAAAQU5NRugdAAAAAAAAAACiAQAkAQCCAAAAVlA4INAdAACQkwCdASqjASUBPpFGnUslo6KhpJQKALASCWdu4Wj2QBqhqQ2h8ukWfOeQYvuu4s1eD1uG+eD05X0ALJv+i+Tr57/Cf8Pwz9Ds9C8H8Z4G9mX+d78/kLG27RLWP+T6B3tz9q8538rzS/hv9l7AHl74C/4H/vehb1i/+Pyr/tXqL9L30av20IqsTAfM81w5u38PbcTr10xbWF3uASldmy0mEcte87iHACTtuVKzkHpO0WgJ/sAcxEeWJgD1LV04YSKu8duUPkqpzyadcHMrpIgdl2As0vFT6PP74x/RoXR9g7xqtzBqeNth9/NpDxQ2USYikhddv5LBrBqoPkojvyD69hRZSLgeUTH8QV8mnodpqwP1z83fAOMYbN9NrcoQHZFtBA/+FGdR3NxOKKCDM3NiqktE6sB9RNrDBmdAgIcJloi9pY1mcJ8Fu6Xg938tp4euhsCgwthvZcJbUoqCCpINqsJxBXs0Kf83hYiQkGuTw2V+aLJmP5RAz22CxR6c/xXddVqc6CgAIt4rflYjmu1vJFTmU7xqdeuw9FAoM8J7ie11lOh76v8xFB/Cmsqz54OnXxwUId9IE9Rm3CoDKDMblty51Pu7fnBKAaUFfC0uPmZbxEJUAtm/RqAgzMJbqH5ZQ7GRPKyaVh2Fj7vFHnmdwPbmRIVeQJu8JVs0UgTdTWtHFSI8DGZNXNHADGT9cdIhl7ae73iVjOSqYPzzoGE4mscCyRNNA3ID7WKX7WLd2F16Bs+02NFIGj2Z9bqNNrvYRqNACIA+sNpC+V6FXmwH6oZBKmt0qda1PfCtUakRCwuizoSLwx5HqJKakDAUi+0Bke10B0OHg43H/7ekoikni3PrWKcZumEqbeaTz3uZnk1j7DG3d9R1y/aX/E8G1CkCJM3e09H+rMOYejwlZe8NRB9U3MAMGpA5vrTxX5321+xKazKq9C0xJfB4vHCxfRQcxq11uHhpBtMAhj9d4gvk0gxmikC5owAucVgOu+w7ynTSHtFJUulvgoFCHukfQic7L7aTuvktY3S8bRswj4soirauYldBnfkMaLC9lPSDLW6uMkRP6OavQlH8TtqMhWYszoKDv4A14wbf8uIQRHjwvgA+LvywL4N/a+emrBZsiGGnpCBM2rvmamcTyP8sXOrbSajRZ1/LZ+TXzBZd2U9C/myWlCzImR3NaxMaUnjxy2aWFfZGHWPcCu98Eabl0WdCRuvNq8xfz1Lsuxzn86pGnaMB4nLP5WCxCtclRJSFpSuQzQfeS2lGJBtGOUvhyjqZ/ONuF0X7T0f32Rylt2kajsOe8oKAaeBYPkhLc4X4a4bJoicwwHm7wrPRaekG1eYgaGBuVJV+oSoEssJ01h5QiGCZ60WxtXoEzavNFIv2npBumNebV99Y0Ui/aekG1eebNXmizdx+IB+Q3ST+B75s1fbahVhBULlE1nEqjgTAL8LrIgY3jLJazzmU1GYt7+Ba5Ed5eJeQ2rWVx66UOmxYDctBNqNQhMFeD+ZfUwIM2wFlgMIuebssQEZpjnyPAYYzDHn4E7svedijR8mvzvBxHj+vK/bOwUbfokCwaZRwR1YEZzoAAP79iM0Qprslr1nvZgzSFGWfC6AVnDTvkO/t+6iq7Q+zO0Yl46mLml/3PuQ/nPnid4aVV/8lWrM3fnJUpJ0vrLifzOnUSTAo7G4BPoUlATefsmqIZc9v2j+b/SdKAOYhigyLKdBSrlZOy37GXjMqhGwDKsWkNpmbGwgtdLKAC8LHPR4SKA+r3LueZeExfM38TTXS8D327ZmtrTOrqzeq/F8h5eMN+qrioo1PiKfxc/6y0X2ZdKNtzhfE8kqYNPe/vyXq4ZBGf1nz8gDUXE/uX2ZOB9s4jho44Box5lsCj7W5ZWRNaQAcWowecfVf8oEuDnRNC0PKZb8kYfl9d4X4b57JUWlYwbNfvLDypR36hdJy5S7DfWpu3OpqJ82bZb+5T+yK/Beuqa+qksT6gxxVYBQk0RiQQFACXaYDHKMoOygMXanC+RKkMp7bm0u1nysezkGZjok/F3Zawy6riF9K8XJBEyUFUM4k6OoC/ER328Uy997lSBDT/7LIOd15ca+G2wJl3UFL8e/WpN3c67Rl4oELFjGTcLtA11TR8DAs8XPGQaoUk7vqvhnioz6Sk2qvD36N4gNHlfKL8kozgIEfZDGUgEPK2qZvCPZdCfE7q0wk+ffBfyT6BFwuoCix28anltWgk1UKhOx/PfMXDp6XynBeN+HQ/QZb9hM2syDbrqIyRA8uR64nvE7o+8M8QyZiRe0u+vdccZN+TWZBg+FY6H9hyW5mf7b7tac9/rQAD96HjHyiiuKacacePRjjURr0E9Z/1lqi1PpACf+XD5tmEOsFZs1uK23Nt9wtDT/EG0LV6d0H+plB/TUwCtZl64VHPm4k5GW/PN9j4qMcTK1kJKbnWQH58mT+6WKqJtwTTph0Z5iz/TP4Mv8VOnJfzFRjgY5j0WthPlkCBfxvo9H89CtAe/0y+r/snzKHfeZpUkbrmu+ecchooPSRoXPiZU9Tc1cFuS6tJ9lpFbJJZtD2pDErc1cgdA49kXUN9bd5IvLVfI/XRjfyZ8IMROrVY7Zeq/v8rPO7IJnzErOo7gvPKji60TcWVDhMJw9wTY8DTb3eGXhYwOcoSlTaf9xqtzJXHuzDbkYJqcuDUVMwKUKtzkprQ1no533n+0fWcu8xRVy35YwyyZ1UFQTO3PTG2CZzsY5Rly4eT7cjS/0lYkRz5L1ohgkT9QPhOzdtEXE75de91Ulw0x/28r4+IljxdtXPA3SwGpI1yhtuwyvraNP17ixI/Afi6xEKLNqzbOOBYhqcaHnnSTvCbj0/sZ2HtslVo7hWoe3JLWMNZkvnaxL27jegLiZB0TUL5dh4G+VU0iiS41Pe/EZnfYqbARIFspI+J8QYRHylpb7aaDIw1yy82MTax6r1YDmCg1mgC/vyxGsyIZBGIirWTQTYuwJpsECy3ZqoTBnNoyvSY739rMTK+2NbxCdi7Ue2yEuWbyvH3ge4aOSsPA6nBL+1mc+1mGrz9zzYorlOfWBJWK/vOaYuFlgHBASog1OTJHNPc41XpZ5TuF7boRZxD0sE0jCpliVGazved+e8DjTYAsJXJcQ28dsxlCDSD7j8A6Yfxoy1bqUfEFHA9Go+qJVYMSmrnMe0JLezrbmtIJHeJ0OlHDM5Wpse2ZNfendxmiEuzwNWA2bwfH2t9lHrFm2hnUpXNINO0AjV4BDbhBTyiiHorCcFG4AV6YgKHpT+tmPtKrlHf1cLQKC/EcLH/3uVNLbK1XEtj+Uyl08EWXtWX87C4LU1TnKdaE8rREtJ9W11LqGU+2uX83NYDTT9767Tu++9m5oSUoMqasQ14VLRo55bq/l3UydFasRQcKm6a4e9t+Zlnx472+T/nQ482dj9dfyJLdnIQ12jLYBItxtgTuOx4R4tOw5W4GueCrcYwaIeXpiD72U8T2gnHJjOZJplhHaLRnpiUIDrIYO/oL60As+dhmAw4plY1+6DEoK+DHvycujR4CM4LTs2aGXEaPaS7HORH5EkAPgbWd/Ih3ySnh6WWTtYSisjUudtlvw9nzOgeG77FrgP9vTJhoWW9sS6yKh/qi5maLbe7K4k7xFJeYs9zVsCpkjPhrKrcKD1eRcWIKmaom3q8jQzHKAxMH6ukDYwx2w4Dka99NCZaGOjE7w4r9fak1gP/6/IyHyPmH7IXTK56LZ0HIOxgNmjMtk3lmMFronzuMZkcWWjxRVXtEqgmtaqOviSRD4R8BNtHIn+rIOaQHdVRh0R4ThUCX1gdwDPLCJ/lfczml4PwLH7KRDnkYpc9GX6ZB1hBSUkszsXX98hQgFMSwvN4zZFq4IdrebHGxJ8RksjJl8hmDYVBl9udQE6mYbL7NF+2X3jLRXhv0zuv6DzWhgmKfAwBsWZv6hoRq7SydUDon8F2UdrMg42wLcYVtf6j2PyiBQUlCrw8mDgo2Y2I0QeSERAyvhIh1N8603AaGZVVcigtxxauYp3u1dARtfV/X31DbcB1DXrvWLSkgEnh+bFJZ9fhVdcLSX+nLKp77zSXILjCG5K/Ycc8e0UGL8zHqC3/FmArbOxItvNOaNIDhvVyJwMXA6Yithig03gkGadlKpR0eU7nGJMmhZNIK6ak3u++rxwOvJczjJnGUuXOknD32Cv1++Z4ll/xNYjVrvW199xq6O1Bn19OnhHQOh1gOq5ojx5vJJfDD4JYDXcTlSEeQPiqmmJfSrt9q44/nN3SuD7uYg9Sxd9C0s7VVVmob/gO1m03t5V5U6fGwN2xVvf6arXW099cpbQBJbY3HyfjBk6cED4zz8qoT74gVQuTusnt2jnTRuUxVAKDCbTNPd/EsByP7rp3kzazgjntK8tmm+bhq7be+31KfjjCMCDkARnA7xiIgEdB+diaCLMG2e5oHOs/yyBb619r4jikIjE5k7tgj3fyMJizJc47zM2s674Q1/jKD3Dh5gxqerqPwAU+k7gkF3KTVKvR6sqymCDEmhOWguWF60KvPbA8JiGze+fQICNoz+1MmFN/lJ+Lf+PqKGMNIoWkoOH+j8GlG0v6GxC4L5j0D74D/rg+pbaDzeHw8Uez8B0qRet0O+XUT8/TsEceIH5sYwvhnUZR44Uxrcmub8lHwEIs07r21WX+GrESrbb9yARcT+vJhdmFNjmxbHeVMGitMTwBkhgWOmQ8MDbRlHkJu/SYuGKSXk1Ti2HY2NEHC0DjlihwdLTZPhXCzCCAJxUJh2MxS9kueHBNzDU1HAxQfoAIBesN4Zc8on7QurQPEoI6XrV/UHOgC+op1nvPY36oLbtwINwAXgoIvvtpjrn5976KY3tUek10fcJGuxuqCjXZDPuNSqzkAyFazlP/v/F/34xVjPL14YfdsUrsJEeLGZJGZykoc7xx/wppkgYqf5Ca6eZO50lZwxyclHwRLqglW+aw02Vs2TFzPBJaeLofr0cUX0xjj15pH1G+LNgjYAoZtkGI3Mw6DugPrf2CBCGC2oDL59pgt9seyYyvQJuNWAd9wk02TleZ6VI3tWIpHFthCgg8qGPDVNOY6cQ33zxTYH1IXySH6VIYOcXWhStEtIZt8Ampoo2LNfyEZvSLH5Qesk5uM+y4YiuHCjzEeFKciE2rkx3nm3qFyE9420EIOWeH9+T/R9xo9YhbjEeUDrAoQrhMoHPXOG4EPK3j8zKgtlcWCBcO1A8ff+/h/GMxO4I+cehorYnaanVtxlZd+HvOB6TWbOecO4ynhfBTXS9ohmtMfYujWPfZOmXSs0RL4EiVxsOZQ5V78G9syX+JUT8AcNrZ+FCx91hAWSxvx1lQ/bYhGonU1IALyNFNrd/EUDsxLn+ifLLXO/0aZKOOOHONpVxdNTBTnqLFbkKiLv/oBajkELV+0cRNhUByOPsV2EQKHK5XzRasROIFo3JyhZ8ZPihqYUk3WwNj5lRbNxuQBctyhhsNgNAJ8aKTbvGwAXIQC5pKDXgSTgCz/ysNvQNyWbkODUZvcyW4ENcEQ4sP2vpwxtwIG0rOvyUxjBGScJ095QmQuqpx5e3pR1pGTP8U+B4Tp8BwJEGTxGxdtkZ9ZZ15L1zC9dWHl8l2VRYSvVs/VANrbtk1UpeNX7+l9L/BOT/UNI34mm5VXWVk0UvYf7iM16DyYuQqCc6Hr8luB7216g3f1pCNEXOnSHH6SKdc0zP7lePcR/E+zFuI0Urrb0zBJsXCY13Q/aM9PSymhptGq49NbnDkmFO4D2eawR+j08gE9QqScGN/+orWjcoCRW8CfNlfwN8xNH7YhVLSzj92FkwDFbXTel5jrnRzWKCX/3MKcPV4xDcojJvgjlKaQMf7c4BQY7Wsg+G1pIvII6cDWr0C4bP3ZuHkWQ6YPhmpW0JqVTX6F+uGd/bhfe3kgMWqacu+7VCoR/soA9hGnIIGJ/r4ahXwNcwB/ET1c14aBqGjP0NsMaShvBQPUP/gX+mYRPkJnHkiEclXAoTjAl1tJ4S0dcbXCsak0gzsgsXs8350cAKHxJdO4Sxnn2po0HK+eDe0Z5plqWpzW7wIT4LCJUhLH+JRmj9LDIEX8i8cxTQGl3P28xshsHY+xr8f3tpzRMsg5E/yvHBFe7GOLidRRC+DhA5d9LlABir7L7e4pjuKWsVMsvSWKK4wAcNTB20zLN0Rz/LUQ64dKblGYOEes+GMwHci0+1fRulolUl+VbaaUzWLxkz7buuYzf+lERCcRadcoSBjBkka6heD5a1BwQ3dF2D+b7N4PvT/2RVTGcfhGDrOEa6WvC3wGoyQxIbyWRrA1oRw4H8x+3plYbXAQa48+E7fwzxurxi/bKUSJnKkEtsnL0rUbMAmc/mE1+ev+mILZqW9TVoG5TDkCaIqRGxm5niU///5jFGiIN5U4tLWwn5g4sOhfJrEex+MmV2bn/yagTNFSf4/1AEPzxts3+DmPvIbttSGrahZ7InMVsnYBNkT1oB48CeMJAcAcmC/zvCEXqdFayhBe615izCI7hpQr8pBeIj1HCA3/EuWQ5dr5HT159zzP4kEFLHQRxj4xG869/LyX2SNwSYuGNcYjX8D/8MA7j9q9IVceec6gfw7tO74eCJM+DAQGzhlmS4MPX87aPoS/MIlDapyj57r3ViHOTlVeGMwtTYnCb/LLbNlrUygmuIbmSBCiGZhAo+IF+/8rXzY4GUuLZ4uAsa+padZ7cvDRVEKEWnN3ux191IURzWffZNpsCrL81/d3lLPOFbPSU361/qPR5rSePSwXvAFmRb6lvpAUm+rkhaO5BC9Bfh0V0aT2/C51/5AiG50r1ojie9ZXFuezi3+xK5bggR8z9/RUqv72/4+b7SaINIR7wCtrUdnDGniFLMrAUB5kju35rX186BwcHEFcIKZWZ44bwJg2tJjukS8sugRoTYQeCuFQSHYdMCovSDNRjldFsW4YaLPblsg6eRBUbYBUemC3YvJafjNhF9gfqucdn+CfOYicwAYLb34RmG7SWJOEeV64G8AcFQ3KfC6pkgvv0qSgGQgscMJE5XrUkeRZ8AF9LBCKqH/0CQysoqOo4I0Gc271mIZyGmj5xHJbgCZKI+0PBIptS+ktC7xN2e9B95cnnWxG2/8WkwzekboY4VslQnc3yLsHcPzmQvn9ecUP0VQGlExoY6aqQ1sy+XgYizXS1czbV1zhk511sWYz6Ak1BkfWVK+F+xDveEqSIGW9HSbWKOY3r0q2xQ5G8xnLNcJesrMtc6n7D4+xnSVOokfa3c63q+Su1OFfXjf7LSTsF5BG9LbgmQW50W8Hv3BEaUY7bCni0DZUgTXph6NX97+an8PT/pIX8jZ4NFV9bIJJBpMsN90qF0DOx+OwAcP/bOsCJJQMjCpYBYItnZdLUQW8lXxYVEQzst49jMyM4dVOZqTCLZOJ1F2Xi8hB16B4rOX67ZdTstVmOO5Bfkzxhjixxr9CQJmOzCptrGHZt7hvrufhTz1BeEEFGAdinu+bEotFJ6UFSt4rgnpYFeXmA6ag3Px1V5ESvYuDpDufVSIKA7eTOwfSTDJyuL+u7ad0x5j7sy4nDW7hH8yM/pj1LhFqlHV6FWgjlRl1RTvtMCWjXC0KvnX3E2JPalnUlQnL5DD8KMNPvJTOyW1Lt2fyDiSv+lcdhtiio3B2g7AUQcGRymq6pnyzUDokv/oxkHv6jSv88O33BTxDxSuPXlb8PyqQITphyXIXg65oPaQmh/bnGMUCQE0uecC8eeN0z4AKNXyCS3rWwH5Avpw5ZTfMNJHa7kCCXiGtpf8jYxs1N2pESf+fn9FnhF/l1dDQNMLPNzRb51wEO8i8hhGLKADdi8XO/w1JFW7MZQZoWYa8ncJxd/jWiZfMnTzx7WljnwgN1os/H+AnEJ6/odDVZb4UN2wwVaXpBfXHYorXUlewTqaYfHYCt50Nsgt0atP2PQOosQQ5ZxnrAkrEZvAiKe5ljXgnzfXwHJW5Vf07ztFQtn8hL+OyZrl0ln6f2fPL6ed4VQqO1AeC8ygou8SC7sLDivsDJ6KwDiwLGeguF5tMilpIf4UuSSgdCyNA9piPMKMuV/h3ccOpYHctRL9VVa9MinK1gPMvEMF0dppXMtmjly5VbNWnnlEMTDnTMUyjIQEIjkHj9akC0uDv7JnWDMrgTrsv5+F/7OsVgdWS+aMMu392/giYjm8vO68zpMTFvMn7WyUihwiqAKAAjcvtaiPRX3t+dlRS1XhTTXYbq2QNXR1Etlz+Oh1ppb20vS3FY41LC2aYEVKpA4pi0sO7mCoOt6lUh+kLw8o6MLRW+XnpmtuCpFxLuxfus319kHzR46TcnxhQwZkSWxWBKNzpX01qwzzM6am7GGXf7r2zdCHdO9dGXyavWZFAhfH7AdvID7oZ+bKSu0WgbopiJFc7VxHz+bAxhhSnUf5kljfBVCiRj47/8ceIXHieZl/Vzuvz076xbikA185Wru6oHdG11o2E3rL27esla447s2Wn+wUIveer2G4b/uwKl6zyMj0i/t7HFNGi2qlXcgjfrNvxStuGhzxTtjf/XLp33VcUZL11amO46PL/XpBHWOVW9yXSU4aNbbDBjOPnvhUCvESAYgu+djJo4zhp9f91bRT+Bngv3QPJrRwCfNt5OvRAqflgJJfNC+yajq5lZrGxWGsgn3TZd/per8RVPb5LQxRt8YAcv42eP7dKcK3lGUoGXPolgGHDI5GAIB4vBXrq5wSRnqITb2ZxG6RQislBWla6S4bi9pOEn4IHnw5ed3NfCcct4WWfHOj8m0Yfpi7P7grh4DBOCJwt65E7bR0oXl4n27AvBYAS9o79j/Rh2c23TiQbR6hBhPD9CJ3Swx6+z6LUoUkUoEea/liqCv42JQz4OH9QLEVwJQ2yuzQg87JrRFljGVAYuFHhsku2mC6wTnYyC7CKyIF4Wwvxt0LzfRvY1KFTvVuuQlFHlub9b7AR9K5OawNi+c6lm+JHjhlBo8H0ro0oYjRaqRLfBrQkcFW6CVQjdxhz7yiUkXd1tOwn/JyOghi2IAwqjNwRg74Aewfu4tlyfBTedz3K6ur17yNDEY0K0wl+ooArMlyt9aB891SeWdplFHksKDdLQZKtO/U25lDYr53O0v3U/CJibTtzphlsxggEPa5EBomV/N8yTZ8RKSSVFxM/+EGwQxbihHrltaf/ozUeuXreXc8l53vVAu0gmS9+7/wnnE/khqTX56kBpx+N4duiHG+9ePa/0FxZFNHGf5BAUPk+CLNH8mUbgvStcrTwDKsuecMshSncu4qm16T1s8HlriJFCpUq8BI/lQ/7mWoBmkoB2C9NU4iN8ts4QZL++woae1cXlYZ9uRfesCRZwqPlVrJGq6UjE4TcMvqHBImhwmRErPkTQLVtvBbVwyvcWA8PjLKrptwCX6/sKE5RAK3QBAbwjksRmT5qsByNIAKlDKzkxGRgQ3s9ol7VIBMKuecdD7DbS76LyJUK9HR0OKIQb8hCwz2H3iOwIdjxY7OqBQ/vD2V0z6NurBmrf1MfyjnHx5fpOMAVugvquP+QfHsc0rdSBLrxq8SpgiSZw3ox+402vxABPAQ71Mdy6rkc5nAX2BQAZkf81oLvKpw7JWCLLFobmZ5JRlQuvhQKXTWDgGBc5dM17jJCWWhm9xgELd6v3pczYc7PdpW4z5ipH297jpGfpiOfIxFH0aqGgtAHCAdQOKbMYgrcXsX6SENxxF85JDdJNdWv8u+jUOkM6i6WuajH3oh3XTCoCj4yySnjLgfc2KptqGlTlMRxy2LKfKlLylZTw4M0vauRd5fAPLIVjRw5k+oE6JJyS77S95c/CeF8WjR8SQVB69ReG0mV2IJGBY3xXy1dTj8U/ltBQtlCe54d8QU6OsCPPSs3gyzKHJoYnoe6ZS+sfPBT/EuP1sMtQZv0Z7II8biDEEHNoXAkDP25m4vdMhyms0aShATLUvZ2Qvhe9CtTMGv8j8/dnW8lwY2/e7ai/4D0RQbKp43sEoRMoj6fgpu1nC21VCiZHWdaYCbd1TMtW33ftyOG/vf41f/vxPx8Gv5BHY5JPHPa4NLiH3phbjLBZGclal1x5UPtaFVF2uFCHF94gAwcyWUGUs9mcCW5W2SsWgY45whS18Hy+k+PzwwK86QffIZqvWF3zNrQz13DoAAABBTk1G7B0AAAAAAAAAAKIBACQBAIIAAABWUDgg1B0AAPCOAJ0BKqMBJQE+kUadSyWjoyKkdPoIsBIJZ270dpjSJ9uw4KygBnCp9q6++88Lmui+9j49T3Hpm3CPkAejZp1FOozEeVn8fw18/U82738R4G9mL+Z76/jD/u+oRc57R3Yf+J6Cns99w85P83zM/gufr/x+JZ94/7voN9ZD/i8rv7V6inTF9IAiKxMB8lwl0BOAeqoJIf1OP4u0MrDvlHwyUwwnqCReaRNPq2W4nj90iLRqVEq43vAekveQij4SxY0C6AK3DiA4VNhTEl1xA1hPmaoOFu2nmOhZS9XX3+GTG1ahYJL0ppSVsqxLeYI2ojgr/ZaVmo5kCN0evNqt3bXLUvI7NsXEy+As5C/XGevo6GaOcsZHXu/WJHWSX+K6m+ozXyi7gxkpUBZr3ECj9zQOc2wDL3zPFRlEyB5FxWpXLgZFQOZWM+qYsPl682qwsF5c4I3aH7U2jCQ+ott0euBHqOMTMV69UckZ7bfbXJlayUyP93LhceBcJ/ofa3MnL3EGnqHDve9AhSUt9Pbx+NN0Pt1a7XxLAmR7m/Qns8U6Egy6LmPrjMg4UhoNbtE8bnBI/SYpn2ZhE5eDvd+knXp/boVGX5hVN6YCCNRemMwm4r6IxgCGp4IiDAvxyo+cbcFyq72De9CkRC3tuKY3wqJzE/MjPJIG7dzi+LSAakiduJGhe0kfFSBqOe+2C0WNBgbbmLzEN8PY2FZx9tcLjLP/VeYGEb2htswu3ZTDxE8gSn9Tlx0D//sHD710m1PMSOQ682tlrXklYpJkZ95NPa871QkbYrBBvv+aaznrVc893jw14Vfr7UT7KhbenS5KAAxP9sPm5OyHhsILGjrKkb0V1OZR5Kar4CqVI4tYmwjlJTOpyXieJHqTCV6SlqepSF+EYkaFupqs7FPy/9Y+YQMHqrEAxd4BIwJHjJeqiZV0zeHHCCHjB+BGQ3PlIkvfJAi32zh/iZZKvOQp3sGHauA+nep6I3xJkt/6CqwQdqqU7eihB5cQO+Nq8OJUydyNuCrQHLCGjfRVBO948UOcxL1/tIvDA4TankGjALcmNEOPl6C/+oyYkv1trdkY8GfXVieQ4MBCEBnQhxRSenTGk0wNWMyPcB8fCx/eerQU/tSZSWnrtOqV5xzJNTVKombbzjmM9u9Ox6kZAASJIe0KVD5jXm1fs4ccMAI2mPNue5S9JGL1CGBQuFokL1AYW+saM4MGu6tByDSKdBXW9ws24pSQ2X2n1/8XCs5/mwpFZi3wqAqW5aY3ayL93kuxbmul5rNHtJEuFw3xwwP2vJp9ebONoXYyoktweUb5NcsWMamAZV88GAmS5NPrzavNBIv4PXL9qEVGgkX7T682rzHWnKZtwrdpp1bxAukVRsh8C3xW8LpiKsGlIqtadRsPluvSkf2fmd6/rdMI9yCwVLAlArByE97ANJEAc5jkcll0tT/8PPfu33jnHLyHGLb5p1rNgfTlkZ0obenfixcSzdspY65GaRQC8ETNzLK+vFkX3iYvLZQz/Gbjd756QbPHOkuRAAD+83gKEqTLmKftwnD2Ge/axsvClDDdhqgU3Bc4bpqlUeKoejV+USZtxiJVeAx3/K4T7Ib5WWbfSY/jXNmCM9xisae4iyqQpeOtYoSDPW7Ya6esGP6lHSeILFLllbxHpNrcgeNPWi4pmehL6EWDuzXuHD1ppmDei7pwHIs6BJdwpb8qquub6iwL7IuN0TVxF8ceYq6sMid1K2eITA6N6B2NVJeGlBRiWP+2xf2VXS3BFNSJtjR3edcyR40h7jqkK0ZhqalG+y7vzgdo3CslKU9nEi1m6kcmVDmEE6rX5HiSwKLdFqCLmH7NopKyf/18lOur9iYhDGUJGGOgTueOFkHLMnRJ4A2b+zOCUzmbhl4Cl/a62cxx0hVZXRDu2MCYRXESo5q6CNzww5db/XYPs/ihww2b0yQWN9CZlXnLSGe2JzkAaCAMI7x6KnI1k/VS4Ni1QlXiyI96bLrITue9HRylK6wlpUcVMMiyBk+7047EESe4DNRoQ5SCX7ghf1T9w0puYZw3PIVs3FfQgA4yPaP1h5cVpzR/63N1TGwzvlEtsAxU9ui/1pf9WKZxMPL062ztoIGVhJ1kuYzfOeL1QjnyO0M7JciWYLPVaWPLz+Sdg3/Jz06/A5y5GEGtaIfliwv2ABHpiymplXcmPgjsPTn6d1afqlzqY+LbhnVMlur1/170NpmVLUcJnOGuEISX+dKrlyDeAoa9wKSD8vX5Z+dIxbcwZ/F4DScgyHFxCtx3s7pNoF1ICpGLfOctZnu+fWNi2DuLpWGFRw4ynumJH8p/+Zda/AR5+d7wPAx/mXM3Rjw0To3/h8vjNz975JoEjpzwf/rLhG5GYrwnVvXXIAGa5/PNMoan3wh5YVCgZ6icOS3AoNNhWBKPXpD2C6E/yHe6FxFPE0p8Y3WoooJB2fne7yKE7SM063CZ+MF71+ucDWy+kk8ZOPudl6cZdd8Vm1q99zaFU9yKv2rog9nRTM3vlzXPHs4e4DkSQmBR7wTv9/902aj6z0bMo/btEC8meW18zidi4iK/bmuTVtMCUEFitk93WOzKL4u7iI6EItQkbKF1W9TLAZyTsM6r3zEAhNBBQOXefqc1k8wpehQSr8yCfnq/VEYBY6DPW1L9Hsb8yRF/hIolXVWR6bkk6G6Fl4XgwJEvLtODDTbezBfs+FuYefPtLAJR/zt0+4bHYBkgAlrD8ORKuas70h1VijsXMIeQbAZCXJ7g4xzvjWbh9ZnJ/+oQRjC4/WFc171wicRc2sdqN+VLuuQsBhve99KNcaIc/lWLcTiogAawY80dvshSo9IEfDPbQLl8tPhNKH1A1vJUMcWRz/fpF0boIzWeKwzP2y6sqvoTfTJhaViq5X5+sgai1lxbnAtlcbWhsU2Udkv2/aPH0QM2yXb9KzppUCA41HIQETy0ZCXKRKnIx3MIaAWRocYyZXnT+tvwn4EG+6kfNdWGqyrrnMvm4zsOhtue4kWgPoOLoV2+tfzger2e8ql2g5I34Yvk9XswtQv9MbhdjSiMdBBS7u9lEjAnzBN9u12tUXTzEMmCFOOviNhqcoJm3xgaU/PFoxyyHcAQMq0HP2G3u9ywSrhmF49zdt9fHdDt0e/NYf4y7JlMZ5TZ9L7gFt8fKb3volUzEbBQNpx0s1U2DjVBNJVUWRd2GbgFICsJO4yRr9xe/hLNoLAAFRwjMqbnpCdyULqjhrg/KJD/MI9c2x28livb+x/K6F4z/O5qHW6Pe/pbw4NrCI2Gq377/UcwtXSRt/nGJiG3Q+3rW6D9ySxaa9PHPxshVx1T55XRmN6/92UuJ4l/kg+NwX5usxNSUrNtJZj4WLmdNW/OsyXO1xaXcOcmtkJ73NgD5KpkRWDiRNTw8MqWkiqkEaR5eGcyS/u/psV/OL5BLpHZfE/yZcre8r+dizKR6lHsbHYXuTLKDU9l+weTCBRLMjlIOukahsIacl8zQfEJwPLXshHjnwkyewbWl5ElJhXOMSXZqXCtbBel69bEi3fbpkvv3gX4PixQTeEWfjjLJ1fW5oBN84Ikbd4uS8TytN7yFSmRdyoZIAClDWObEjWYjwqtfoDygVouxm4Ub2Umf9nEnaB0BTDRP2skdkLMi9zfaiVxj04P2wKkhEBZ+YZ42VSMRa/1ipSbVnOUdlHwIGB1jhhiatKiB1b/P+LpfpkA2GSLRccwzOCfulzGfzTvcYdj6w7XZmD8YOA4Mjhdrl52dIakYQeoL87uGK4bNMjp9kNmQ6psoA8l3EBu01lCCT48wBZ0F5gPk4Be17jL9ohekmkIEx1zMualpOPbhefwHrTdhWZMTwZslnUULunbpHMEZ0zRntVdbi709R1v6D9JyqvfDWPWIw4gsSBWZQT1lnoAW45MIjRleeVHSFuUPA5HfeMu/iwjSbFzBIEfNPW9JV3NhUxszmTT0u001EusHX8mZ/3hdLBqmORAXa2g6k0XViWr6ddahDxjErLXqX41Aj27NSTpcJnZkJ7sPVGHD4jfz/vs1UZ7xXwL7pOBhFMrAat9xYR1H2CRH+svwHXjA96lij3d1uWvwRhefK31zwbrN3ve20LXuuhvfBW5KGWfeiF+KTiYLhihtF9lrccC25PvmjTKA+pay8OFU63k0F3dVQGZMT3TOXh56DLqGQcNha9e8rSFBaQJZDr1HTwh29b0y9ryZQE+RhGGU9fMoONi8DbZJ7LEIM661Q2Zr2T2cLZJ4yv3qQmTEKm5W3EczR/8rZ2NgVd0M5pKTMl6X7AIj8m0y8g55xuVWYq2ffFJ6v0Fgm8BT3vcakSdrS9UfL96y1oevSZFaLs4HsGJydFIm4foLMMSizD9gv04wDOFEAjBiAITXenCAs7pmHNqWrKyg/W1LykI7uFefbtZvlnyY+CnHmHYwhyq8Orkbbh+mGahaa4FP81rXWzeAwKjk/3tWWWKBmEIsfQo3ZiwnAWWcEm8UridQhfMAZh0ZDBh4ew2GZi5Cm+c6ybghBV1oa4Yr94ZiqZoSCIbjq/HfQWnzf7so2bEbawo9/7D00zeplK43+z1K7lz/hxG8EQRy3tYcYeZfklWFUOEU7WbYaPBU6T+JxJ0+yK8K3SRac1n7hEuheh8lLVOcZaxI7Hzmq94HYVG6UTD7iM+AgR6ldG1A0Dz/1ra1UJ1v+IEQI2UDqA6yAEwOqQyQCIgS8ZG01vS4dpzltHeMxELYzGlbb6QBvyYwEviyUyac3dH/fNtmU2XydWS9c4evotmHPo4r60UnT0spLxKJ3cDotXxPSVBT1ULBxNeEc0NfJ0aK05hL/36fIJYIy5aXaRLr98iIqZ/We6ZWRSX0Pv0T/X2rVDSbUC2bH2Myw1dhABrZw0MNYsUYuP9isRGsi3nkYBdw6GBp4SnTUKSl84QoTF+8d3AbJB2eIQ6gaUcmV97n8Cmqd23QrsW9YPZRu7o77xbqRpe4TW5kHCjdQzanl6kSIP5YhkMY1C6YsP9T1YbadwChkNzZhB2He/yNSc1P6aQKOInk7KqMDxNWbGcjQDPnNbTYHqpTo+97Oplq0oliykSmfBx4UqJdUUDaPwup6NjgF4xW8c2hpcEmvj5IJbP4txBCJpWECmdlZnV+HJLdEKeUnaBl9Ds/T8+NT9kGPeVuLgzCFvpgW8lkOomTqSKT8vfdhAymIN8/YbBIfW+ULt8TUCPtlL2YRqEpTw+rYytr1GhdXzGHIQwdHnL1XlTnuBtP355gEAxzBPdrwmli8XH58ZwlXTWmIdvviL1iXx5882kVcmhX6GPXN+v1injiAGUnCBBpkIN+ZTHPUuDdnpv101KZVDh84xXYUwEbk/YoJTc2SHNFcMjJZsUvUT/+kxqoGj8oQewfnLeZlGRz4H17TI22kV10jeCVetJI6Z3OwGDdJC9c9aYHHSxt7RcpwXsEyTirxLqhkn0q4eCui/ph0mkmyx1dUyIlvEnK/vDEFlyLEleZT2wA+8r6aNJdmg/0Xjansj8yKK1Zhqu3Tl3+H1OVH0Tw4SLQOTyz32ur4zZOefnl8OQGYqdcBrcxQXJumH1VBOaflfzTR0wsA6u8T7IevOd9xuUPFkP2XlM9BCwET6Z9VvVKDx2ue8VD+iqKObEOhRXa365dRmlLJUXV/WaFZ25QPmweQDjvNBZWw8k+xk/GcnisyRw5FFxrnUuKypbpfGA9HlSvrKj0VuWc+YJbacdWxrwFVo2hHHO9vKGh6rMn/ZNrmCp+EuSdDTlvoakw/tlBBtTpKCNaJ8T7Gi1JmGeLjW1+HZ4j7XVmXk7LBZzqDuh1ql6YZXnixxFBP1x2c8oployEHW/9Xq4adhM9Re8b1et6Tik/f3Mf1C13MmasXcmDVDJqkH8BFM4319uPjdXevVHc6NsfDvSMndDtTSz6Ir0zcLXKPdCeV8TI4pPM2/GSP+YNZwoo+b+BwqzgOXtgS5rKlK4r9g9GLxTz8HokumuVBrGcaegw2zTnjplNA8S1xM2ie5Hpvdg0Ov06/dGfhDM9LyjifeSjPvuQoyN6uTq+v2qWJzOOeVH2vDienV288VKLQ41BF9Ksy+xSzZ0snHhnP9F7bCQiYfZmkAB/SwHJnSuG5wjjf8hcM1Q1K7aQDTF0BdlksdsqX6slFJNQUSghtuihwcJL6DGYtm+1xq6Q9Nnn77bavjOus1rGpaUfrnkXrldjxbpLUM/jZLEpoCP01b86oD1u4A1Nv+yxhPxd2LVbeOflNvrN7NbDc84Y+NYnZn9Uq/q4psPuQa4oIRN2B10IT2ug1JwauSFAvCiKrPByO14dzYHvvrIuqoEqUNVvqb9UNHMPVOn750QNjA///lUdu86e72Vn7i+IuVXLaipbaTrsZNNFv/IUXfrIVHgtNSvoUGEfZk7gzkG6SRhUmskZ+pI8h8+ugGoqg3hILOUQz9/SI7dZFZ+Mf/B/NCa3j1/+ErJ9MMXKh67fA+P0YuoZCoKEocyqx61xfmjzpPJHGOPvGDfmASMrZelrric+vFH+z/92zaraUfbk6HyzRmi29/KbEcDbpdKqVCMH8BKxhZ/HXYJJ2mCF8tcycqGeDzrk3VAfoY3Tegq6edcYZt0ufZDEb0bhzBmXKjSOaSpjrdMbF9/7ylZaODRUUmwk+EYclEzzvlJ16Yudfy2JbYzYcQ7E3hbNLmbrCumtUKduWvPJwh37+L9YqNm2A84GSFYsTo6ILFD2QOclYC736M6F3kveA71D98fLL4srdVCRLoEaqgSDWZVTYT7MM0rFri+6pzwjMw8cBKEZkXF8wt6v9tGstnyHCfjrsovTn/fThR2V0jwu96w3xOrooUT342acY3iiwtBhEckMypqv42nyLOG8FArxLlRtgkDxWRuDqEVJBb5ogqg4q+kz/BRh4MI5nhQ0ho97x1g8BKhF4ukDbDSOOD+pbj+ZBJ4dMeZhaTtKPDA98/UR70iQlvWsPEAF2rMUXt87twTXOjBLwKIaafJfhCxEGZ8gz7r/eUYE7jfmKa+6s4Z5+vDOwBotkWzYHOX2LKUR+7Z3KQPI0Eh1iUqsDG8JtwPMcvQp/q94nbl6A1NSReetFiFmTrpGW0mOn68goptLFxXiWEnp6RWnieTudI25PhnR0cmALzrP648Qh4+ykPLmjAkLT7O+INvme/OXyFgdziyPxSE15YtBc+VFncD+j3dEJb7F0EOoi8nUl73LFm52LXzZcZ3HTJEcZDD6lUX1xZtOh/9duRNp+YjLhUmKXP8GdlxdK0AHV4krnSt3rnO+TfNTjvF6ox/Q7CbIbxGdLGn5P9gXoM5OiPszSj2S5tpi+fWyPj1+VTjYWO5bUO2iXO7j7+WQdM+GJlVWRexqYCqSWduAmVxipRcwyJdF5bneWO1Zj5JQFyfmTnSL/3P2Jlg3Z5GSoNX4MT/YKOirr3jsAzhzBiv+wBe/71LtzTkg8l7Ih4GecruB2D7COqgSG3q1gyQz+AKF5GJW/0M9PtK65MqzyxyeFsPzRuYSAxAKL9Va2kPtBEG54Y0SqPacgjH9p5C9jZUX8TYcFNJeJjUG8LJo6tfW2fD6zK8BVS+XK+d/hJw5jmXcb4Uje8Q0K5W+B9tqTVplyXAWn2na/ljzHQ2ItSCzwOHIEcQMFZqdcBhksI8thrUdpER8VYl5MCICV9Htr4U6kbpHOWGmAxk/z2Q5BPouifuLFoutL152vwWbTACqoIZAe02E4CRh/B+DGPpCXCfc4CIWbo4L8fO6+A0F2mYcbgGDmcLz56eE1yl+HegEOuCm1Pa2UKjXXE97Irh7lQkmX/NQjFWSY9N66c9zdIaetXea1IWN73BYFhNdLfuz8qN4Oyr8Pnk8a/dxfhjXufMqYtSdcJwe2/wS4b2ucviD8WXVyAnWMlFkzzuP3DOJVpwtA2kv0dCjVEl455AeWbqIHs5W9A082hGs3R3dkZtytXFGj+RzCHKr1b9FwGpXsAt4Je8AFaRlxL1mHFDYY8a5DZf08c9rAotZv4IDl4FHF3BgUQUuYBB0f4i9A9Lv1VVQGjbMV739UHZq7VWhMoBlnwIkASzyAtFBFAkUdwuKRD4vj0H7g0uPluUdYG9TMHMG2rLHqaa74BSd5X47678Z/tFAzzQk0np53se2SbcZhuu4NtZAACtFGWfUfy/q+cpWK4vHz7AHbHIDR5oviKcaLr5qcxhz2P56+kOSbVtkbCC8nvScamuISX4a+driTyFjIkV1CA7ttCJ1dAu2WuD3vAyH9gd5GA5x9L526CCtLQSojunC6paaRMykrQtNsmKaBpuxnnnnCmMb2R2DZM5C2tO0/ZZmtfu05UY58prEBjqAukc1Cq1pMQLeELA4qkQ2tZN1LHc2uFKK1hALe0vgTUO5NiJ8yLcoFAQ2pS/jyAMkny4XGixDPUcJ2XluHGG/jWfaMjuqcH3kS7wn7N/D6dWmGKaVOwWSBUFnmUtuw56ale9Qt/fikDOYUbTFXGSAKSy1Hd8ZS3bzfYiITOqPBkWArZ1DIPyh6XWW+6WCC276RZ1wWvpMlNdn4+q/pwnnHInwAvGC64rm2nhLdCNlDERdvC5IGNk3n+adfaRoNE1bWdYHoA9wq4KwoB/uP+XzGpK5jnZOrk2jdLKFStxrhW7VtYUFbCrP2Wy0cWaLKCzDF4AQ1hoZQylF5T4zZ5WIBwJPs18sCEU0vBb70yNpCsbZDO45WFIUzc3tOWOeEU6bawjqVSqR786JyZ38cAQPGQ3rrebfQ/oYGjh5yklIRaakYG1Y5jG7IUFNWSh4NL7Ls/sprGKuGhnoSQAuH02RBQ4IDui6698Q9sTejijAf68jtxViCDlS+8IEAw3WRACtAitx3eBtyDPQ2Lc0Mu9yhfjRZ8Q+u3XhhCDokiN+1r3H646Z+4Kg6+XFISySEAhpQ2Dw3r8GxK2vx/ZnP4BIq57OlnV2n85xLz8XcyqybhnAtEovTuyagh29a8QxsWrVWYCIkAAPLFIGxjPOKPseK2iZeoLiZx2t9mtfloMNkekcmqxOOiUIa8dt3vR0ppW6THXSYV6QuUOCJxugsV+fC8UWZ6wV193B8jv1f7tmDeHo44ywNTOOzhTsN0ttzGXeNL9AzpnV7CvDC+8o4WEgPmnhhvDQE8U60JQg1cCS61bIMlkvgjV501NtW/7Oan8SbeqMTk9Qk+ZGLCVo5b6cO7JJVzzJiQ2k6hMmmz44euxNecq5aFbhZKcWkaz2VM0tIpk5DTOSE1PTEbkQJF5c6IWu4qWInRMC+2UGEQ3tkB2NH+1pyXJT2l/PMTVT69aoTVPRNDsgxX5oJFRxmlZXQTIwLxBF5tMiQL6NqmV6Tq9FmmB1oTXGITR3hzjvA0dxf9btEO5nLvR+ddiRo0NkBCf2YJA1/Lv0OhLniD4rZJGvNBKGIDGABTs0S+EAhqd5FE6VrtA+0HMrxYdsj7w3TQbSTWPw/6DX3FfLz40fxc0GaUfuf7mYy1OfPNqZUh5w6S9foBVRHaN8X+eXoBg7h4Ls/SvZH2D8rnSLSnbSda6gI5qVVludm0v0jYEHgU7QPKRRyMJCLqX7Y7BetqBa8BDpgzM+1kJWQSR4JShd9dmVBFWuo36Vvtg+F/DCD2vXBATgn9q1BfN1VXiZCsb6LlOUalRQ40vkIAiPb+FULFVtRvS9VKl3EsOFgaCeFKnY+JK7rR8uQjOfHrFCmUXS9TV6lQPatNOb0x055dF+wKBq5apw4QggMjXyRLcgx3OEuRxihN8gFl3hC6T6hG6hS6WIXlVA0Sr0qC0Cftmax219L/ZCVfvZjNMHSStAIWQr9qpn8dGcaZNpjCX9T0dIGmZOyInLoVkeiHV6stxvugz6egkBzrC/wvD0F7GR+qkCC693+PVFnNdzh5Vm+C5CkMzUGr8MNlId+HH0lh0PWb4jynIbEXfx3vM22K74iB4ZaA4XZi+F/0KVy0+DqYhrAbVNqvTwgnJhc0ygArbg2VhyCJxZ7mfLOsdm38FnWUwcXCGFisC1rpofaYmOErbwrXSkbsaYkik+vOFqquU0fNsf9BGkFmkeE+jodI+4eonBPeDfMmX4lgt52JDRBrRpEKoj3fFKus2BCgaWKTIcd4vba0UPKk0XHFUe1bGxRYOJtiblEj1gAKmfddAbfMTqnAZKaDLzSE1fFtKWEAAAABBTk1G5B0AAAAAAAAAAKIBACQBAIIAAABWUDggzB0AADCRAJ0BKqMBJQE+kUadSyWjoqUk1GnosBIJZ274O1T8jWYks06SMq8rjmWikuaj/7g3nZNOt9ACygewHox8qcZvVLPZvF2qdl7+a79fjJG17TPX/+L6BftP9z87b8zzQ+2XR1/3/F5/Af932Df0R6xf/F5Xf2n1E+mF6PhE1ssxuHZhfuLrMTUjvkCHOzMWT7d8oUyLmTnBu11tMA761xWQkOPDr4TGm6cxo3wAic/pGsM/Z9+qcvSPKv0REjQz4XWeysXC40tWSz152E5GuGFa7+1hqHzcsPMqg3ph4ECtsOzHzmefg1s8bqUHQEwsml2IZnPfIsjbIfspLg9BidJ9um2CkX9esbA0fua/wDszGu5rJaH72HAqSYRbvB4WsweOy6EC13D6jug7/Tv2Sd70Srnc2N3thfk8CzvpRCxZ/SSXJaUaljB0oJs3hy7+shCytHauHmCc1/JTTEs7MoyrbW1UV0vVN+3if086N8/288JiLZ9AfnvSOVHHQXytZ6wy9ZIbcTLf7VNignK3Y/z0tv48p42R/ZGvjg+VDFmEHAqNSBn3/++vpHBsLlgffhsJu4VulqlAGHN2Gvw87LW/SahfC7wF6YbJbLPkeAfs9kO6kZGXMRo6Rffo8Eoo26QvhbHBS3KU1vyrdRPocIApyAPTFbE5y6CqYbhCbU9Pb1eC7K03oRHXLGPkSVeNBgQEC0v9cVgpBWQ8awqVPJb3UpjFNE7u6j7OafGnwgoCtx2yed8asNdJ3adaxKVVe+8MX8NDtvDy/23SuI21Aoc27lkQBz8Jqj33c58Dn6IoleX7tpoyTihoPJZLebVU6GsZEBl9skx78U3HfdsKOqGVzkuboLFmbh1QM39YL5HFqgwUJhgY/5ozsNxrSLYHtQVODYGBppY9+twoh9Jqu8ocNzw4Lx+DUXyoYfFlRSLJzuhf+L0e8LRULr764sRRq91uA1IMKGJVGsRKlAJ7vc8pQylvcMEcIIS11f/cJ/tQNyGbzTJ7uRtqNOxLOm/J1iLmfghmpKNbUWGss3ejz82tOCevR8NSsHPK78onxXqtWC+zGYcWCuVrbFFLPRbPnHxOFFm3yoYaeakI7yQrLdd6TZbpRupMbMf9xhD/d2+k+tPx+dLTM5k8GtQjiqZGsEna4NCziuFLUjL2oFao1eq6Hn2/bUafYlNUL/Jov+RYOKVC5yWurQiPeHC1gSIEpiCTOWN3mWoNdTsRxnjUIwIg7SvamCxj3raKxftp+DbK2lBaafa9Tw6mLPMXueOlMwX0siKHDZNETm9enHEL79HpcOH5Y9+jvxnnfajfWCviDodZs7oJSvY/ZdN+VNoX5UMX7aljHvytMgsX7RFAR7/Khi/bUsYt3yxKao81Atm2my8cDbMSvnc9CULffvAVGwcDhPcnHOOxJBRE37PcGT+8NEfMRHEHXbpkSFWdl8FRbJfBL5d784ke06P8ypTbBitjBr7I8+kE+ldRDu6lt7CX+DgePW23s8tWyocNk2iNQrqaGg92cYYsHUO58fobu0wSK33RHej7IsZBFiFec8gkAAD+/hy6BLn8UziJQFlUkXVJ3mhxG/KzHIV9bYtH3YFttKfEo0C78LWDvM3PbrCBH/Deyq4yhJwKsqkHH8a5R1z5D6h9u8iuOLefYSSSFYTW1DMTt3F4g+bBfT0+7xyf+beVWZhmXArpsTd0fkBkjYUQ9g7MHh6HIsrQWHGE9OQ0zSBFuzkgcc1ApFUVZYlfXQ5yAOSKWIoAUAl+JDeMCF+LEoADC8ObvEg+swQ2N3kNs14g+/3REu+wTptzvCCqVznfq0gw2BDU9G6qTlCUDa7LfdjaVfvNf2bXGzI4ZTfMXrs755GN47zS1i59YGXDvINf994vkK9hPrH2Y9d8YactZLJ/RZlZ3WS/fH6LeFiifD6fN8lR5HxbtBMWiLM2agAAAM86qF2ThyjjkNcbpsoHSeyVW58Co2Qk3KsXK0iah9FXP0ySR9RZ8QHjaN7XRtg9gf0aDxX3DLFednqm50bbrEAIoKOISJJqTa8U9KxMZDd9nO88k3psvs/sGe5oGJGD9+TSbaqW8DHl4iQq5QXWcP5sAihSdFyZWwrghbvQB662v9aSixpoSL1OmxNRwX0ppHOmzu8Y+2njYLrtzZx/nN2Ax1bQ9HZs0ccZQen4WeO9cEiKqzC0mD34MS9x7XO9oAqKSHF69P96z9ZDu1fPt0NfEC4RifHGO0rm44q8MNL75zIHBRcAEkhsD11XsOswBxLcmZHCwKRo+1MIjqlsyCKzYHD6eDk0k4mz10LupXe4BQFh5h+hUzHJdbT//VYKnJITwnJJ2aMVxrqpn3bxb+20f+9h1eR5hr0dNS3KJTSPTdrG4k3tapvoy7xlZF9IWsaRqjUXlJ/8yWXOrIwu3QB9ACpcQdP5WqsyurGuBRH1n81x0C1fuJKHcqFw03nKl+ngA8ifMVv+KepScH5W8oIk53tedbYql0by3C6qALG6t4dq/AeJaXbMKu7OcYrYciC4aPqg34HO1LK7/DHpEvh2bqKwyK4s/T1oHMH8d6YhrKncP8r3DFkY6lcGJbNcCDU0+ZX8680MSOZYRnb0xWVne0AUxiQvItmyqO9daERL0cdXFM+ULoSTjd7N+fXNkkn47UOWvzqC5zhz1XvdYU97XQ94BFCLxKp/i0iTkSab9N2QngqNlbd+uQGQGl5saXp9RW3RlG8GlRf4joOLd517eLe8xezAP8xMGue0tj0eH9sA7myb++tx8b5JrgOckegxbHcwVvY38demfNXsLr7WfkQ0g/lzpU+ilx/SaAOoUI410q72RSTUzP/YPMXGqmSEg3Goo6D01bK11x4YefcYtcciGslNTaMl7MI0uNx8utCnkBumZqztvcxlud8v1xGoAugm7kxDUlnwD1u9q+LlTfMFK9s8uc7SkIFiFb1GpZ0batJOhOR+zVQPDGm9HgiU0R0cgIdIDiUsxkqIeriD0Pi6aeylFRjECjC0CO558TiRBWavG9x8T3iJSFRTJ6X3YqISYs+BuCvFlNA136xK67+4rI9GwzvbvZfhKMKyjlZdCJHXOX80PkhZWVbXmvf2tf3lCUf3ssXFkw3l6tsHN0fdYP7YDI/mQNwghz8PIJIwtqF+2NGnPHg28x1TmGZ1x8blvz/LyxGRU9wg+BxHJI/VDGTS0KZk55nO920lHuaA0BINpqKFaLk3s050aRGoKT2KSzdYxJjfbYVDqtOv8Q3r8/Qs9tfr/bqvbQc8Lu5fl+CDbu666PM59c9MjNreoSDrue73aIJzsFLLlsfmprynkjctM46aWclT5n661iBXEIH6GG6HiJfmj23qm5MMn2ztkC+Xik/8LdvBH5zEj0F0xt48XHuE0sLWLSPo+lpHZqa9QAyVIupao4RqldHHRFiXR7HanhR6qvOG8gwbUdyx2hdEZLrt8RsAc9tjJf7rvUo5FF/mOmSZXMOKMenrLYUGCPVFEtNn3ob64FaKiuIcpK1ECFtAVs3zn2btS+ICeSVCrcnd+CTu838bK2KpArGvtUJE8M/PsrO03uEiNPFfklXcRDMz2TWMwyLp4YhmEmFMntISbQuRpY3rHiqF165gGtQEh6K8U1EbYmSfoeXnU+xSXrR78SOWM1q6hwZ6GRkPDd/WQYtu6fTuCGIWUnWGzfSVadvTOoXO9jftaAMTnqrsZSx+KpIjR5Xv/djZw+Ru29PZgz6lQkvDkjXixbj72c4dP60JYRsqvyPA+4NAk+7bjuEbk1/48U93jzOX20ookITm+1BFasXRjseVOEo7NpfL2DB25VM1OEcu7fM/AWldoE+bS5sjqN80W+fVkKnRm+7IUGHXJLvXKcBLyM2Kz5Zjqp27meC2d8Pd1I4ACxXoEqhDthYnnKmLy03msY4Tg/4Or/1o2lscAImpxA7UbfISqDCUgwdnDfbY1vn17442gMiZT6UdB0r7ZXGkfeqXtEkvfY8pzEP3Ix/vNC1U7doxrLFnVj1ETuqs7Kl7cVheWam70IKCEAwzUScL31NKHakgYdvvHg01PGQ0nMjDoXb94NqAXkNKfY0bHCmUXOXFstflAUkPjaymMEME8JyxDHlWOFkQf+N5rxEZbBYiJ9layjyZJyc25NnyU3lXPEO6gn5GG/EyPNiMWCng+qvaziQ8Jo/hZJ+Nn8rSqhseKEHq0JQhtLCNyQZc0uef/xJ+bcsFbqbmiIpr4Sv+akYlPSCEMiBnNf+g0A/O93p9JthujE1ODf5Mr+VfE2Xu0/PmvN1ViqFxqJJ+qPbsxLRpghE6Xh72biO6Rc68CcVTbd3PK4iE4+oho2sVAAg4QfV82ZS8QeaF1JoTG4htQ6kh0BhudB/Lf6B2FRe0hocZIBnmA/1Osb0AsQDRj+dQtT/iSfTPjnGqVL74rPHxUzDMk1UEZqyTJdIgCgngwQeVx43r9w4ZtTx7wzshvKiWOmiEY0hvi7pN9tFYZW59KQQsD4UdZTmULDN1RpVhg/vYKA7g4UD4YRAjLQSm8rkfUphuI7eBo1uApmND2CNk2nLUvLB0tUdYsC8cMhyhjxR/YtVjW/b4MlCtbgCRUaahUQ3irbdKNHhiImQG7nCmKhqgHJiyTLDiM1cxU5Vq4OELt22Sq2IMu9clu3uGNvCIanQdfQh/5AmiZX5l4Ht/BY/Ln8m2lq3Xxu6dP22EuAML9Cb1gXJisWcm6bpvqr1FtYRcKE9r5Na5dahhxjomND37B+XHllSuJsfVy713QpL8IbEBf4mh2NiCfItdiUaz1yyRy7dna8IGMYCPQMiFHAe3kEbpfzHZ/YKGqYF9wvQZitQF9pttBtuyDqxIIDODLfwv/pPlUviNtpZ9zflGfdW0aLhbKttheKKwDx/2KJHS+4BxJ0nVXrfvpzBo+jZXLttgSRK5a18OYgUzUIXzILCSDPHfH8p1jAgg6wY9mJY73bMTqOiKpYjSgX2Ix/qCp3gNC8zdGJczNWbvz6yfR/j8osIMvilUD0O2uldW0GpcUas+7IzJX+Y+cPhvf1I8rkEIl0Wfj99ckitSkzUferzzzKYiScOoO6dlDe2gjVJX+/0/359S4bC9HGC40FCIFLvf6J6nUiGP+mRZX6YvARYEIAWjfjiQLyypHRoiDGJgsxPaCTrYw2kTZ3cOPb3hpLl7zsi1fLnV7+xlxo0FKyd/m7egTVAJ6UPwQ1CrbwpyKjNJ7EJVk+I4ZNNesxpsjeLxUaIniTjHsvkHgsTsKOtzpIL3MEr7Z9lBU1OyVMg8nwoXaizfPY8iq49dRi1cSOY2FQFv30fwK63zlZmS1AmYRjoMrFFYw6r9Q267tnR1wFoHSI1G5KvSnmHA1brzz4rno3qypwhBO33UAdEPz4RUJZO3rYTtUMatAsjOHiTNSoElih2QMpM2Z60n4ZU41RDTOtv8UFgEM+uyIJg43KGryk4Rz6uL3xWf1qLLjieAmCy6C16uB5MuxS9NLMNoB26+rYUR5qu2g4s0EHaFOMgLhEbz6QCZHR2EuClREv3bp1Uqlkvcmi5UPTC1nMkGM5gS1q7Ta0aA3vMWeRGrnwRkHHFdUKrw2zFwt8vGkLoml0TFxmuSErpXbaslI3PYgvPTRfoLflqpimTYg4ACI2c52csSkpwJQYCNQEvRuA6VrSAxKy9Pt/j4lu7W+//LD2i6+qnRywiG8jHnq1W/xrAKXiW1gY0fOkKgd3c0lOSve/PnGM8lJFiMIGTfUVzc/uTgthrEF4/9Z/it14FoIdVBCr1Dd15RKpSD6ZWkY2kYWMwtDqOPQAQPQfImGsAsETVwV4ctfwHX25puhGB8eHuHAGMkyxwakvBb1Bsfpbdh5OGPiKS/s2cTw8reZM1VSYFkUakaLAMRV3dJCmdSZ34nSMNXpb4W1sJMUR3JwCZ3Db8f1ADMtUsMQwSbswdTJMPIJk1igIc1ZLSAhuUSqVcDS520M9pj2ujo9oe3Dt6lyJc0/R3T268NUxefZJlmMPg8VDIbJ95gT2Ikfnyc/UxwvIGRYTPX0tDxm4VzJ12ldjhxZzOB4bBayCkIaLTBR+2rP3v/K568IA+QanQahF2btyBGx0FtWd5BeljiAl1mledZn8s9FWTrNNmc8O2kBtxdWXj9yLvXOjib8e3qTn4b4SdddTNH01/O1O8xDE7R0L8UHXRvQfTJVrrX2iEChqQkkXTG0bSP5ONmFcji2KyFg1f09RfT0ox2ZZGDRLvTfQCtAeyA60coLalgaqj9vwpveOQJcAmaZKtDUNqWLQIYxR8tvkvahhBtKrnyhM7M1T4qzIjQw8qyW0ZBE54FoOYzJQbnBfT3LGlZf//yrf+eg91fe7lpa2E+wjJVxoKlsp/idY0b/+SGHRKC2/vsOVdWY3SrqKuRUJNCUyHySeM5+ln2JLTRYVqTxoKDLFm/d5Hhu8cIpoUaQsM6xaaeKHnl/G+GVwNZ+N55ADmEFFmva1/c190nLhPeVf5GsW0lOVw1DuQ3G/GIJnFtMPRkYyCKsaAKQJWCZZxjy+2lCT69hq1MLtdUVf2tIsj52ve4nWLRqBfpb6GtCv64idfmOkEeSxtfFSrevowvtel6dxNIUpQrh6nSZ3OfPMrwkIoB+sW5FbjnPZ/BoLOQUCY2uCJyQaX7EZ3j4Wdte2ChkpFvJVPps7Vr6z3mJYIA7OZFzi0YVta4C88tc5MxQ2h9dkWV7NzdqmdKbNg9mG/4HXdjtYwneGQFtHVzFrLFG5YA7BYUMqzdXe8q3imQD3MuMxSNNZOOFYs/cZYYzWUoQeFU8pQLU+p6gvgz5RUfZBul/oJChUw+tQSS3OWSXn/Kfej+ASVpCwJzlQx3Gy6ytPSSKE7bdDfHBhnq0hrq6cGpMAxtUO/VplAe+hBq7Zaa2qLWyCbhm7AY7gJ6IJz2YnYBLtK7PHJKWCcGHcIP3qpbxT1zvEGhsBUaVIlEmQXjKh7pAg8Piarxbbdkae3v942hayfFKrOQXCQDssN9xgPoDPASWR8mc/UsnrN5u788NaeoCBhwd/DnNvSPCvjMppoBi/WNoFNe1TBOYvbTFMzT/6AlGCNkvKQWzuL8flD/tTtoZ/ejZEw9m3ExKoBMVjUBNyzyI+k72W+bFH0UtNzD4ksM/bA5eyP6uDfc8OvZJ2M1pfUTM/MJHxAwc5a5Nzao60sD449NYsv7VuQj2pBETSVnm7rBGcUQf4flqW2ulTdLCllaZ1nYTmXD9KDGy6B3HpFJgjfWmeTXtr+43But/RmiVtuRqHttEcf/WEME22Kmj48/VbzRQHz6weJKceZIzgFQGxoZ/y+OyqDKYqufW5joMz5XU4gkkMq48v2AXXPftvd8aj/EePD3zBWVA5OxPwJXS79M9dhbUTO3zBm38RaL78UDmei+H+7x644GeBaW8kRMpbIKBRyhpkc18g9zFMDdBk5Gmx24RRKoftWAIyf+/tMyfV1GlNetwZAcIv8WvmQvHOWIQPNgR0DzzYhAQIB7YX+uxjKNxxbxdJ799CQT/CoDHQIMZZKSSW+QU1XWYQlMfgFyL+SFJfmgHAc/wx4JbX8RY12mF16rQR/3ctF3xQ+XiXulMfDF+ggcOs5xAbPl9wQ7vxbzYpsXMhdNz/t0nHWGbdwSEQhFoXnZLJGv1tzPmphnYefYLJo95vSU1ubw6IS261yvllB0or9lh+q1qJ0BWcr6oXbm+IInWsOmQvj2LgExS9jJvqkEtsOCU519BuVaqiLYg0UT74ilhP9GwaC0Th0TnKFl4r5HMtUMZW/0sO/1qrJelN11AdcNSBDdSiE16YK9AbgNQshsqLhCX55fWOma68pPsCvNgUnrKXpHkAxDfCmGocb87Ydk//2UShUlIoW4IS1Xva5QeeyxQNwPYj75REjM93bjyOBP9ttLtHtRa9MMY6jFDH4cBuwxzrDRslvPfIr9zC3Ljj+XZogbblVdNdOWe7BvHGsQJOqgLOBqc4WtIRkSbfkAF/ADdjHjCNNdVokpBu+8LCv1K925hkbeobZ2Sa/eMsYzLdH9YX0hOqCbmCRl6jOwLLbkNmMab/kyLPVP3EYe/YPaQ3e02zQ4NO0Cr/xnpa8tL/qmZwWyLV7ADkWPHvR9gCFUs1YAhD4WxM7nrJFppqJgZzntz/Mtm7AjY1XxXn7FG+uXLCS3cVh+Lr4nPeM8Hj1A0bkvNgipH594sgOOzxIxbViFS4FApN8dwIGqDsDnj+Z2TzlpvOYl8h8vcTERwGhU34LuIWEg2tONSpoTIWBfJbnmiFdUMcaEUH8K0krDFr9i9xQc2dCqYidoz5TxP5QfPr+qWSJZiOXkp777vChnwP7C0bAGOIRwFQUZ/xOe/rkTmZYmD50r8GE3ok+Q3e03PdxS3nf2iN+z5grXCP47PJPQSeQIDayVyfkpqcvZQ/ln8cMi0BDqnFziJlNpmlWptNkKqb1yMT5CU+1C1dVvHVvDeh/oBwS1LjCFd8Ym/HtJnqkpjEyqsC+jAt5aQphvWj6RhbpB74apTgrG6Wuarn2TM0g73LFGGkHXHVUBP/MyVHtIsZbxoUZBwAvATeF8Oo2EUUUkGjSjA4P9L+nOkvSAAP0j3jCzGIPN0+wBm7UNmEL23A8SqFwlAM4GiihCV9AzhAoAr4jS/OJCU7ITY6IniFrXxJT5PDnGfee1XeylDYM9U816UNzPuEA6hANoNxLgqlVQAC1i+ft3egmH/DFPhTQ991kOaxHTVSB/YV+yPT/pxtBxw6s5/sJi/CEuXc/RIdhkoYdewNYKgXN+yACwPYQQyRfR/x/ru0CSGYBT3ffAAIq+MF95jDQMXBVOUpFdhJBBefdIuf4C9L0P7Q5omo/aaOnljxwgXUD6PSv4/IQW3WcLd/Ft2xV0ys1LLz9WZJ9rbSfZbRG9vy3AWUtUfCXrJMMoeIssqZBn6oE7gYb6msogSWeBx4YTAGuPQgC7AAy+wsbFJbN6xB5IF6j2J+DtSKwowFYR+CyFQkeX2k0QB2jo6xslZ33vsVt3fXpXRlCnu1bCXAXTnOhdfGGc66KThRSdyznQeH0ZiwRraaGN2Ohu6wa4KEIs1C1nVbX82SNIGzgzg1feMnEZUc5WwsW5Nqofg1cT9v9UcAI15ZrOOT5z9rUA0AOd3rkkHXWdl6UJ5QgMFY3GRBhzeyT1x4HxP7jraDF1gsxJmgT8OdIpCNXmr5M2oPyOUrGnckwVtNN3S6DqW+8E81iGIIFekBfigNno4B2sfD9TSpGQD6w56kuwTdz/P4bt02I7bm1hBzjuuH2ypxUwaB9BopSoaS09a/zpqaQ5RuOGXykKJMgpY4w259AicA4caif+xY06wztnhNDdirLucl4t62Ok6FZX20UfinHG2oi+SMhg/Y+dWAcWtpRO4fDDlBASGoXwRLDPtS624ae74FKdjUok7b2pVbXyUcG5zFawY0Rd6o/8Mo4waiPb9t4nGCWPIImqmanb+6uuGVsJxb4RGaWgfZ7KseFBVU42AcsAtRTtzP8PwCJADmVeHSX7gpZAOGizPgQ1B+gWT4AC/nGPRukfOQykFEqBcc40447eIFn5QTfkTEU2oDzVfDPBR4cKvSwHIzicAxes3MIpZtSW+LhN/kW/d7z0xaSBaWYlapGKr11n7drdOhPq4FXnmzbfCptRghZT+2o+yLbquGwf//T8eerSim1Bjb3q10+lYT2o8gQVMBEasfk4Eh3MzqqLBUD39Ny+TQkJoWRYZ8BHwTaNG30azXnI9HvGghH3VAiTn00b1TFxpIU0ni3N5LCtKaRoQLNQG7nGGsSa8j5872KAKj+Wa4Dw195Dzst2wihnsftLr/Zj4ti6BcFJJzl3Csn2cY02jKDmTiYvDOyo+i7Q7JhA1wWhosqXGbj0GILRMxQ2gUZxHz3MhLN+8uAKLyZklG3OB9RKvhFPHFv5E6Hz2mkbFZcpKI1Fcr9XNyKN0TDYcCR050swpaD3i59KgG/aJgXlhJUCR47uXgXSAI8lpMiFS5VGxLUtvf5T6Vi3ReGFoIAP4ATtYbBzPVnz6yJjGHf9QJ74gRPYixGUjnjt6A3bTr8Ib6iGBPWJZOWLEfnutD1fH81qqGQ/egaKghBXcEL6fjPlugodkCZ7ZdBxISOJ/3BxGsgrmJHH25ityf8N6KkSQfOAAAAAQU5NRoodAAAAAAAAAACiAQAkAQCCAAAAVlA4IHIdAAAwkQCdASqjASUBPpFGnkslo6KlJFRp+LASCWdu4WrI44ABqa8Bkn/Of23nZ8u4/fBB7fzY7IPpw3Cv9J6GvTofQA6Z/IUOzPo0+dfyX/H8MfOFPEvN2s9mT+Z/Zzxt+QuoFcy7QfZfMO9nvuvnRfoeaH8Pz9/93xOvvH/b9BvrGd939q9RLpmejIQsW4zFlej3icwnfwuyPRZ3r407w8t7FMb2KQ4Ybma36NRLkh7jFaX44/MknCra8w8XUhaHjGf+ayS/ZDYwhtqUvwZd6PnQRreecLDQpYGC65J86CDLbn+ojbOHatx4O8Zlm7sPhS529kSav7hL6x4vpIl6anHrWlqpHJyKS0xIw58+NbvGWnHUtIPinCJnBzZIHjeOXO/rZ5QRhTQPGal15wpWNWXvqbSPSSZyRmyNAZXpgHpAK4GNNL4vD/saU5t/iDtrqZcFhURMgJPv/7ZOSoQKIkOl2Jdl12slLmDrirNUqJbyeZlySL5iTyBj2x3tj9OMw8Yv6Wg9ifE/MFKLxgLKnCHAPXzVEeY9BULLvnnIRNeExVoxwCS4RRD9BJ/KT1Grk6s5fsGtxVd25fheAtbbBdMspT/RBxjr7JGOg8elhTNjf197dX6EK/tGmIXTA5oBfGW4O2KYBnEhDwzsy11zgkG32zWX7eAFrgh7XggryzNcFcOLsfBNxwlQZCDbr52E35voVFZKAy1+MrjBR+OzPa2MiJcTQ/U2B/bcylxZ7d2uUeJ9KtagHUzJrRRnTVykg+lpZA53hi/Zz/qzaKsOX9DEn8suavg982WiPbU14QHiYHpKJF+K8jb1JzocYQEOtHZZeSKsNX/0D1/TADfe0B338JJNrroHvyRcbrwyLUw7IocTlFPKK0FC859w+qAxjCfsVuT7doOjS13xDwb7R3RTaUwp9HsgK+cbH875AFHW0rn8spnKcQFqytU7Ck144+CI4i0Ydk1ZKCxOQOdvuNuqzVUvv0y+aEmTogFjhqH/gKCqoE7hKelt9Boaxs/OFlQuSdIn+VCyRg3lFO8nMRtbqUndj4LOCU5X7Q0fhCDpvOTQvqYhPue2Xoo7zcU99ZR2Duu9rrn9Q8/lIs4dK9CGsBsVpHUOq5o8aKs3ahqFIf+TfnOTii366x00Twy1ppVaUzF4/5RPjwehBKCHNaBW4F38PG3ziL9gpEvt9rrZUA7argLvlfhsUGfn6qI6Imb9OYi0gh4K4GYez3JFF2YY07wblDe4EAp7UfqmwVQT2+1zgZ8+JiV1W9KRwEbXwch8TUWBa25V64pcD5msD/uJs8LKta5FKZopLT1NeC5GKra1YLY9UW//HfUDDVwRyKS8jSWnqbBR9rroG7lkBKoXXP5ULkUlp6i4LGX7BSJfWpjkPKSm9D88q4wt4O8ARGJpixvHgPqroEL2LjoOokdbTjOfi3BXf4K24onAFMchSM4onnb0uxcMzGJ8ELFZb4rh7qbAM0G/nX0MA1Uj8hwJpzouHI81hX/FFM0/wYEzjGeSjl/BIdQBEKWeOy1+yZf/1iGUNGndP4A1lU98JkUyMAAA/v2WmZjpjjQhdh5B6WUULNuZ1brRuFFQ0X0i4TP+JqhFPDXmU6GV8c71j5n54HaI1P/+8cbJfDGXoVJTeXnHK2PnkhIkD4r6rMvWUVxkuMS83WXzvJ4p4sWvqk/lEHtvm0BsOBNa8udFWpJPtCw4Oy69KFKhugQ8l0/955kNeIzJnfsmC52Bb/LaOet2I08iOIUTLwQvoSroImYHkk/zplafNlVqvjgXN/fFwGpm0J1uvjK6ah7BnKuSP/5XKfZSSMQsf5VUDx3Kucbg1rb9Ywtg5ISmnWp62U62MtM91rXLHe8KDWLeiexqtXTepuKQvcgaapRu31yITdq/dS/WwbHP4pinYimTNjLj8U3qL795v7k/z0b13aT47a4SC8qwH13DC3/XRbrJfQRRB/+FpgAAIkxv3Pt61K9nMawv8KF7s7t6ckyh8NzVjJDMjPtWMUMLIUeP4DG+hYBB1dNAuzp9yvDWkKmsrjLcMQcW/nKhiU41askIi2JXJbNejqz04ew/2EcvdzXlRBFyz5HlRgkXBx9HaTawLPdPHfIFXHvpVbKJNJ/2q0vE4c80KUEVJENNp3a878vp+M6ngLSRKu67IYfgDIf126TMlLJQZgOZO+Vt28u7vpKw9PN49T48ieptEFQhVGE/rPT/tvFGlpYb3dCFLEWI+x5Ob8LZRfPTx0h8briofu/PsPb5LUkRM9F7b7S5wp1+xG2J2Wdxb7SP6qMbciuHtbyLGPZ30183/lHfHZ7OvkLC8e9sPcn3qFLIVlRh6W4PNjsDfkUN51O3H/9XTZ9+aRPbSOzlxEfxUoZQovxl/cgXM9NrFfc8tWOpeEzT9TSZ58tNG1E1j1JBoy8ysMq896YlNm70PYdrCXRX6hvSIoPyhlM7G5vrYrCK4pmG9nxZ3ATYPnv5o/HIZNummzN9k3+fi/ZfZ6CgV7WOhtBrNJ+047FHsow/CHklSA4y3QvG3sBSYvp5khbIc17tJalAXO0hP2wRvpAFJg96Wv4MLFRpcs26aSRDDsIfxizHGe3LC4344Dq9lPoZeWCahd91STA+yqHXmyiYbG9TAuebGZdLzAnO6IwZaRMslUKZesGGo2pkD0XEqbUmzfwZ2YZjGCz7/SxFnc0ySgMKyTBfr5wU2BFsvWZ7Vc62bUpzax4bnzIbUOMYszDIRmoStZN01uIFfub3bCWp/CClF1qiksSncWxzfdzkPjnkFDQ0xRlNmpJ1oINcp13ZtpqXZ8vJK9T6YtJRzjzJR/js6WSjadrWCZTyt5aEg5f/fbWJl106wWsDgbrBY6HdEtZDYLF8m4U5vzdiIWHBYQ+4Zvn2yq+Id7qKM6f7HAivq2gkb8NQN9BipPZLpvRxYLl6Qqp/vfczC9URalWz/Im3RUxgiu6+L5i+DvS/AvWUoTc0dpIf6WanjvNq2o7nJXc0XTa+x+n653ahpLrmAsy8knLLAbSiixARopq0wGEExR6QhYKM/zrkZNejtLHKW0wws5lHSSwdqkCYychooyOlpBeBReo7crAvTWYbqK3D49B3yvP5k8O7KjJm3uIAsySRy/WEbKcaUKtKcrdZ5FcKutjxXfmLqntPkF3ZxuyMgG6Qht2oUNHLoa78K8WtbUJRFcyEROzQcOQMDfSFRb9bDoJbIfcELwvw8Lhq2SewmK23tQEQDMTPy0/X3GsNnwf2tNlKd76Hp1MdehqeH/723xLLzRofGZeLOdfKpG6fH7weBYu6vfDuryRFVeByl5hRG6eZKkycKGBw4meScqfVY4OmYb+DwMyBQzB3qkLgqDnE5iY9DPZJfI1qiOk3OAUQ0O4qdof6PnRnfKUpf3L/AyUT5pHhMqtvUuUHunMYLHG0L/6Zvm38tFZBkXju8+MyLXlxfwrcxgoD6Z9nz1psU07ggcRO42c36dV86wNxBHSHminsJVlXpd1IYuZNEznB7yFHiV4vSIXYkMBuWGHnImFiSoooU8VnTV9KbpEmHv4fsclKov87G24CANkxBGbAvSanEZqBWfOev5xYojB3DF0T1PwkKrrFtYt6J8Yx8oATIAN6Djh2RhZs+K7i1808VdDQdN58iXKw0pWQjxLipt6exg0iTkFwFm/j7JoWzJYhkPwE5blquBgPI7AzI/7PMxGERes8oR94Q/JE7gF5bEOjOSztGhvgPtPnLIaiGxmoJMUEK3ImV/wQ1swmeeMBPzWrV1gGzex1puFWdBwPOOQe9D7AyFDk9W3GOVfw54HiTzJEhnSzD9JHABP7qRv0IJmae7kleXZaY3Tos05VT6falRiLOJYXL4Gh5I5reKvkN6U/XeLw3UgT8saef4OnFmt99J/ctJTxiBnsVwik9/Jvb4Ylvv3C8Fzj0rWur5ILqe23s1GDBPNRggZOLB5k9PrLQkeY11xbZAZQqInnd8vdOqPI/y7qfYYn14f35ocmbyXWKsXFuc1EgunGBjRRXn9h4Mb2rZkPUPvZ31VFh7iK3cU11Kep0JBAHCsYq13SOLeLaDvD9nKky7nlOU51YKfqPrQfgYYrSFgbRfjbqTHkPENK/aanmJyYdjGUtFpn0lJd/6f7fMGsEESQt0lkm1HKpRiVr0+8Bl/q3YPudljkXCI11UW7DrYHexlGTs8TU6NOClVJMzxZqLa3IPYAHCEykB4fDF+VyD3is5TmK9axAc0mHXEKHVUoUQM0ZswsZCxUJCx5GG6tHWslthh08quw/HM+jF146Wu+FZkg6fYzoQDNR/V9LiawnEn70p595GWHuz+Kl8CUgq/0mS4eYlMkxvT/QjVx/Bicx/bnpTGEroCDeCPM/ugfPzWKIyvbK+aNW5mhOmwBJwhlRub/+MMbva8r4ucOWOdgAh5zqG+bq3auokdbKUt8smSxvm3SbXdPdsEY+s4+tgJ5Jf+G54VZt+8nILDglUKgwLoEIpoAuwXHBRDPYPA/qiPrX/XzmO1YE401OBC02WwDJ41ikDEoOGBDgkpiklGYYWK4MzHPQsbPLxcz9gppraU3LPyTnzQTJPHqv4I8tYcWK13E3CozV7kmdSWFUcDNXCoaglyBLPWM3SFtT8mJUUvRm8JboSMxoe49ZzdylQWBPJNE9jBS9MXLL/Po8xpAcGYxJ1ikf9DyQFzJ8LkwEVy2qAARXd75atAizLNHPiXkNELY+0+yBfl2U953ppiUykgvU9BROunoGA8h1A+FCzN7DTq1pAzURiiZyKNlJ9AIJwoYQErdtzLGV1YdEkRA+9aFiUYvmRgi3C4ETRvVNIJOQEyGBLWIqfdo7LNSqwaUjbYpQpahxJsx/3Ou/aaqc0gBh4T/u/w81jmbuL6Jphu0j/KU7xQ2F/nLGjV2vNBCCdwTejwZJznuE4JMDGSpjtt5/56jUwjRm6YTluWlmY/FHr5u0PSf0st/ZuUaZFguQ/exMfluyMwhQ1qBYFTVCZ6CCx0eONZtCOTMFgLEsKqUheeyYHFkFFGW1w8Figpq0C4nlnIc/pqwwRUwmsITSeGvEh6oR0clTH0TAuYXfODlq3IvhG4/6E3rborjqWexeMbWxqAfd5Os/COtwo7A2qJg02eOQulgyR/yScN7no0hWISR5QevIxXCtEhcXGNN88tZJreI3liH/cNdGytnPI80JcbRQWi8vRMjYYE1Cqi//8B14CX4GhAKEw+rSmn6sRYWN1C7J5yYI4Sxapd/LIpviq20dUe0XWMt74QH8QwIjiLIHQ1tzIFr5R6oJf2kVinSS4WxVcdsCdvp4Gao5YPppQoqXJfkGQ+P7SCuxVbqFpYpan/uXkFQPsGSsQpdHjV0eg45KfUpHzc4g0Nb4dNYPBocJzWxTLCYh/CU2jbRrNxzrga7s4qcyx2ftGmLuAXpqh+fTqeq4Qu+pGM4JI9rXb4rhcm5MljYTzOjzzxquWnDf7sQv0zTdP6+Okg2jbxDAvpDjIFY8yP3Gzp/6h6HmMVva4cy2RuYXis45auvgN+B78f8DfAhgwY2T7ml5rNXTuLI3bgUqce24Jgc8SDtfb3pciOYGI0oktWFTMRyIAq6miPyqoQ93TStMXcV1/4NlNYw8KJqialNFaWkeb8SQzNYpsNlcfhbvj92FrFXqlPdOunhrNDjQcslR92gbziawPiFXXwR8ZLQF5rTcKYZMk3nyjHLcvxftWnR0yOqb52halmR2DASuH8tqWLV7/pYL5z6aEcGV43YHPQy1xG8h42xXS4c2qrdlY4vRCLaojbNIH191FcVN6v2HiMd2Z7XTUxuR4SQ84jzIkLvFlWcqWuWEiwm7X3pWLMw4XdsQeINlQCjeFP4qDMaB5POEct+3OoAX/e0eWmuwsBrq7h7r2H9CblbXNzAR3OxljuZZrK2Izh8ezyJJP/H7Wrmw5JGSDn6j4CZMJSqZx+OyIWn+MJK2th2yApnZnvYtvjYhrR6fVl0Eo+7UUbVCYoMitoZtssGE9/rWkQcwdjdbaqnbzWJRidDLUKvqX6uwUE9wgXEKzWqetfi4NnmSiQtWVf/d+9STQ0jRDNWQiQ4SYhOMcVlBYuxiOR9K9Iyu7EUWwLhflbco5wTEXMsp3nNC0B6+ljEtPK8BhBVx96QrqrY8B+EUlViVTQ7ckOIAp3UWt9W3wE/4jN8gDEGjSNYIufhXVV0JGro47TKZoC/kH6LEmVHFAsznTeGMlx1gPYN9kfzyU7TWnLe5TOtEqJ+oQ6AUywwHNWV3yjQDvC6N28exyKQutVgTYUuAbjPKdERZCO/hMuTUBcEF7JBtzvrYEJO/4EwGxVFUNbuI8WXv///KqWgFL9+S1x71LPmEKw5vZ7rKuYy9S/5NMThdKPJJLzAUCv76RqKsXQljiVIcG76SnBlqQfQ6ku6SL1cf+uVVEPZG+9OSKWs4o3fCnIwM95bPb7DbwvtgWu8KWv3RWcmO379JoOXeK8KQSphPmlFy0XUzTkFhoAZI8Mm1oMqFwEpqJt+DD4mFrtX9Gvt+Nsne/ezgWXxp1q2AIbI1NeSMcPxTOz6z5u86MP+D9npIcD3zinXKW5OOI6CdLtm7dbs4wo9VvVd49I/oajeHBuueA+0ttHZJZvPGo043fHQuyGJrvbqh5lYj7FcGq2J2H67x+2lpXOL8I0CoNPLnu049/22c993Bwcqo9SbNmzHtOKf7+MmRfBJCmrcx4WJsOjUcMmsfrXxTn56DJc9x8Fa3MuUAwe5SDR0Ej7fdRSHIDHxy1rw+jTPzzYJFix1Lu4zOB50MZLNzUk5Cc8afF6FpKIR4RFDdWEc0lm0azzPNA1A5j66cjNGMc6c8cNWdE1IeEHHCTvy8rZEuS6KqegyCy01hA08jVFwkg1Js+VjLnb68JSf0yjXIlKqOkEIKcFgPReUENo5lAJpKAyhrxAhw7qQ+Kd4tToSIXNRq/Z97yrCm4Z/9O8TevWYb94zP82gOOSAbqOfXYEnvomogag1tO51FefTG38LsHyqdAyLpO+OryVdT4Q3Wuwax+9CYxkuJ96qRBD9c34ySAer3fcm+riQlo4v03MGBMxtEknXsMlaYW/0mwb9b2FAwW0h5lBJleDA/5/+jIvLt707HGFEEo2cYNcljwr4rKBE5Wk3yrJlKJBOX5MK+4FCPTlERwwKChtWraKDcJqbxlFfRDWadt+DrHtYCPmrbyaRexzu92KjbzLa3ScpjFSdIA8zFaMKvvV+5OysoA9UCUVESXj2jMP10r19LHLLPuTeOaXmFIOYRos2EU3mNyiWRh0nxe8t5CCdGCIJs/oEb5Xpep1aLm4cMDHX5CBGF0FaR+6fqzZH+pXqLf+x0VG3Bq94FxOHCwNTcRmagx1mg8koNaHZ0tv7ylDBLyf8AooQ8HOr71uEHY3fumtGgZvAWflNCJ/jAV1cYjHSSfgPizfMr4unDDdGN5yGRoAhif9Y8M+imHhkSlVoNWS4qrH/c7N7DRtIYyAKM9i9wlQSGtc5MIqvLjofxy0+b7eGFlxgVssKpepTKfXPTILgX63+vrrp/7bdzRzvgR01rRSaQ8GfCEQrDnmh1ly7oVdI6Smb0wBXyyj+STnhbV6MA9s8L4t06CpUR9EyLddURFRyWpsBTnZ49M6Bjca77TmoJ1Mci1XgCSGKEBJqCzMpBxFodJI0kRsUT0zJLhx0DzwM6Z+z6w6sALex3fakKSagZvmtlLhdt2Yt3yismf/G/weKVY6NF79GZ32c7LGEOWaLKJAZeqVqEn8mmbdsN9EpJXV7ftaJotQHeQMBhd3uBbqNHtERM58aMxhMZRlcH4FzIfIlDwhMPRPcOS0YtoGZrbVhS415GYv+zyW8QrwTa3FGOZrBTnyscCCNpaN3agxZbC5vERcMvm6d5ChvVS7eJtaI/NkNGA4OQxUs0rmVJLp6+aGQ4RBgkhQ0wkDvwvULyXG6K9DxyczOI6sUzk3415uD4I8NuylDUNeh+CyOQvss+T42MAeVl4PnrRQJFFdraVy+mnxIVpMvPMKdVdRXmytWUTNOMvrlBnFA2bNrG/gc7Ogmub3YBnhFCbjj3iAt2Ppgbezy6++nty/Lva74W7al3K3tIN0FMO2eg/ONTx93uFtOGh/EwTPbj7AevXth7j4zCHA4MuA7dmkh9Zlj42y5UkG1ZWF4MG4phrM76EospzdASy88QReRZtV6VB3HEFNdAlUSJnJCSiSaYc5xuzZkHcEd62j2CLJNuM/gk+Dc9Js697E3OsScZTREK7AbDWTjP1e5nOzuhyBPUypUOkzzLvXGMO7KI8ViHLNAVyjKoCTQs+Y0zZbmgXxERXhS67ziWmpR6+PIWfFAwS95fTYZgvESHE7MG3D0oc+fuFhhU5Tgrf1K4e49d0SEuBSKOLfVjVdeFPzgRpD0B4yyQXHIucYc/xlDmwDJfObFPc2uvYGqGL0nug5Bbddg6vQGQp9hnbkXSQOJRiPyOE1z2m+VqjtjdV2UxcRHEllhluvQ4pjk9p8QsWie50CmQbTVGFv46/n6pLVEaYWSoTojwEJr+WYA6Mrt04gdwMCPmvmuPYg8WV0swrzCaSdHx9I8Iv5HILC4tTGk0TPTvs4FhYx+kbgpIM+kOnngBvShnL2NwDlh1N2wooSLRFhHiN3WwetBqg96wqHzejcmsBVI6F21X/r5zkcI1iJqWKvDF7l+gNoXD35RnzJyToyoLbbSVnUS2UFaK5xY8sNNulbJDkrv5QyslVoZ+cXGeKodaO96tN9GWF1alQ1jI5GlSwkJJ1Y/jKeJgSbp4CSfN7QGBP3spgcllQckMW8AAMVRhSTHtx0rZ5mDylOOkA8wRvcUIVTuAlnqMJLh82E+ccREPEIhE5aqysTid4Bi3d01I3wm7njR/mCB5GglrBOMHSG/Y3dqtg1MDSNdEKnjekkEuXoos+BNS2Yj1h3yJ/4PCyTghweADiRyj62hqdERbLqZ3MGCg/isDkjqYv4j6+2bNulJSvvHDcxbxuMh//EloEmq8hymlijHZK+IWMmqZZS/aIYN1B8i159QeeusvsQoMIgvO6Qkm4zYRofkyD1/djGJoYh0vLhjS9fpARl8O9CI0tXzTFKKj+s7JD+AObw/Wtm8/zpbbgNaasKk4uXBWn44lVLfKO6hDDop3XW6ueJ38pI0GhABTVpPxEhyZ6Bt+fjdy3ZxuYPirNhfSmLS2Xn+A4TzM/yLNlMPdcThadDZ+pThpfSdR9QPTzFdHz+KsinpguaxPngpvj0BoNg3HVoYbZ8KCMBBYMXJUMfOXMz53uTMiG2wv8BDOV1Y7xD9YPS+wxshbMysGvLm+MnpQ8k+C6HRkxewy7g21uWIEUmGdhc7j0RpM3JLbT77Sf3P7UUc/PmYCcMiI/sF3B+4x3ZEtTk9eH5quChkSlBXkheDYzR76Hc75EjxfOEIbS6gvzcwsV1LQHinMVs2cuRPWUmF/hKJRqdoeJeE2EQv4BDZO7+9PYiLcQycRoPCY6ReA0uRuoIdnTR59v5oc1QLzM2S2m+XSYOibwxxUru2t8Li57ybzLwzaYY92e913md5JbZn6IGj4FGSGaO/DXaE5h1JtHFppzPQrJrFW9RYSG7DZUevPAHl+Qr4lWrHzx3fLllWdKmSqmiGEJzswX7JaXvdZgTjjAZ8tv3lsX8X8bTP7DHSqfZIFw+nrTocLbow+KBlY2dhDUD3Ho7zgclQ2u7jGDQ7FSmVKeileBahbLBkYXThbzZtqZPTTmIDX/pbc+rgo/xyKKbb474WtYziVN71j+KDega5sQaaD+H699I0LQ4okQd/IYW3WTyP9ECUQq/UkcQDM/llzY5Jovwe4/3iRs89JJgVmZtgWqGf4WqKeBH82Q2XzGGMAAC3R0DnXaOedxKitW5MbDCLQw1/+0f5wEe5BfhIeTPkZZ0JXmbJLOH3xrHrhg5ucABtgfsQgnSe7hOHJ6nMh0RKCNyPwVY5ah0KojgOBb6Cp32EhQMhRoMN/W9SP/HVrGicdkol+lRnAJrqV8NL8ckHO8YMXHAAAEFOTUZ8HQAAAAAAAAAAogEAJAEAggAAAFZQOCBkHQAAkJIAnQEqowElAT6RRp1LJaOioqTU+eiwEglnbvwJGIbLozhHv/AM3ftCvid6ZfcHHcD87Pp2PoAWTr9D/ynmu+cfx/fz6AZ7N3e07sufzvff8do0HaUbB/xvQO9kvufnWTLPpqg8y4Puv/T9g3+i/6f1i/+Xyu/tvqJdMP0XP25IrHJAfJcRPyu1LwCC7ZCc5yTUbltXC4BFWiMKkpmuRl2uRG3Cv0dkI8K4EmQd+pqA86QT2pAUm6TCZO6Zz0vY7Xn2G2PUaEeDgrYXHCDDh+sY9mplMxH/FGRIdo1fx5njLlwin5ft0l9jzI9QTyQHVLIGLRrze5fNkGC2+v896G3NxZuV+2n65RxQLKkCCSwQvoEChfEnnGhj4BzNf2dbrggCC0Y91RULU5ZU/YbKTWv5WPNZAhI7aIk30m1PrrtJe/yx9XAoF9mhftX84j8eGBfDn/AeBLkuL0dy9QEYo73woKlCyZFpNYfiC+5doI01d7NsXqqN6bhWonuXH4kLgIdtaXBa35DRAe3LHOFrD8pWek90t9QU97evS+hsFjLii/kb+Z3RmRz4WPUcMEzQPv8qC4nC/q5a5lHtN51BGf72tb0UYpiutXfg9iC/asfJfJQ7J9ubW2Q4MLfcAE9mIxssQUFn6Vz8/zztV/t9sUUPj2RsPIZwtYy4OLtVONx7kLgWAsWIt8rP8GM3sSuDiGa6++lO+GLLJzR+GIGNYcJl+VGnG1philoGT+01QX6JwSXRvkNNVaSkpMX2IZKC2JyVqKMRxFA3G+RmwMgZOkl5/1l4n3vXTflpGVMZB8sDw5+HkR7+Q7nAjXsX/+QEhBortbERBs3UJ3biEXx7jjV2iyWupyp5APkVRJWDr66b8tIGuP3FT7K/rljHdv6nVc/oSDMziJOdti6PhT1+B64a7cvex6F5hsIrbo+d2JL5OQwgU2D2P97T7BEh30nEbamKp3dOdTxNNGL9h/jMUBbwzmCY8/RHIPCLgJHc3FojbyMieN016x9o74dnVeeLIL5f9n4iP0kvYXf3BtlQxtaCx79Dg2G7HGnNL13MTXOyBDPwyyl7hC9LBaqQpTFxZ0PpbgpIJKjxN9NPPwvMtLQ3qAjYPYJV8qGODsX7AjI/14QQZQPKQ56bgC4qlPisV3NzB5eZO61WeB040+yRGFlPsDkjECBxN5+zcUYU6LxrkgcPGUyoYwXEbalh7Hy+xpJj8vY8TVeUUEqDM/LQh45dDlmqynWxwW4fudXCUHOmbNHurlL14CuMFlQxguI21LDvAkQcXMJQqz6i29SlNR+vfBqumSUsEvN9KLx+erHv1LO15flQv0IxF93IyBtYROQ+/C8glidvXu+uL1LO15flQxftqWNUzb8siH1xej3+VDF+2tJxG2pm1Me9dxMiJpTxwk5Di+WqUvZ4lj2y/yjZbWCRrhaHosd82pYPXns8gpckk/xJ5AvNCFTX7SP3UQ/0ApxdqB5mCFXw4Z2sCV606ocL/bElX2SqCHgc1qEIE3h8Suq7iungAAXHyX45a/7fX4DFZFRVyQYb22ZnZ9NBQp8CvBFmXEzddUAA/vN4H5Wz0Z/xvBNQIGd6HtMQIfqdVhuxQk09MS+vFXNboIAePmV3P8zjZfPnN/0c/XQdSW5guQB6frHjjz3kVSzl8FmzgGKpGGEckhWzX+55WWneoGPkGVgM4srJBObKdWpKqasCtUb2MmrG6Xk6psR0DeaiePMDZqIHg9Z7uxcZKlFrhcaKk147JDvV6sk109PH6+m5oXrqYFSJvkvEkHPXXdWCrpwIuv7ou/1tlznM6eJTJXcuZHAFS96QxPBpSodywf1rua+Vcm7zyTIWx9irrmi9B0Fs+g/p0jhP6Ih/L7SBAB1bjJMPh/IfWuca/4p55bTl5DHHgskqrLnW46pzaVGl5acuGGyLOouEcv6wi8uXWAA/mSrK9dwBZIn8LbKWXyL4fEzNaDBdQoPwdEXNyhPo4weORI99qt1G7oBuC0UgiZfCG7etVOezLQljPcOsfxFm5wJK13rmh3MFQBi4w3bud7KlwaPjtDmcnqtQHu2N/i5Hy0f/ye/HA6wpTmWRfOcoipeFubz1Qq3r3txNAonhUDxzuLmQwuYoIMwgdmD/51Ujo+dzFYOoJ/p/9aDxN9NbyZE3wmjLPyFCA9skMSAmXl6pcqHwAC6sgpyKc4KfJvH+Bt1qytxhlzteIhtAHZXWu/574mL8geXHubt2YMESFxMxuQPKKAwXBb5QAcEc3EGCohaK8Z5h3UPgmA1JczrtdgR+9IEjJUWKpbMxOnEgQa2N9x41qCooAE2y24FCsRd0/ipNiuFbBE1aKtP94b3dELWXYLb7NNNy0Vhnng2hIA+nLn13qo+e3qZND3Bc5FJG+ECI727bfweHogBIFMx4xyRAzWEc4ZGfCU2/Vo6R0g32dcng9iHJqPySczyzjWxu7Axx9NtIfVLcdld2OAWXz1w8rPgvkGQlE+MU/h4Fmm9UzGc6iuvYt7YBD8/Q3eVlGl14D5460/MGY2tid1i+ian07cDE+ovXU0GtEKcSYUKDToVj88XssHTvhQbVX8GvPccUl5PzdTJv+ovvhWAJz9Hhv1InkPLVmtEBrBoHUIyr6SoKrZitFVcHXyn6+eVcjn1GNjid3Q/pgmWXnD7Lwsmx+YyCUleF/msUonIBfFhDmPCJ4Fd3J/f5fIf3posBd2YnVXLuFHqjIYzR0RpMsdeldSJYyhO4b5Gaw97+KS3VCaPJxceTTJcMDgYanzZhgNTMz5l249tKh+O+3ZtWYQd+mxDg7TkPQ7bZOikwOBYBP+u5Bc6TpLLazn2ZUcuxrz2OlKDZKxv9Eag2JP1cr+Hn28q1QstNvq/yhfmgU68Ozvelq36b3Yaxl5tJ6M9qTdWHv+K5uDv0pzLaJMKTl+WVVCAb2Nlf4mGTR+k/uvd3GHoGl+PC8WWW7+Knga14wpEefXFicK0O9hMJ1ak/7evGh6nX+6xI2h9vUP/zbBIqp5abvDp/4/QmGEnqXmCfwTKuFitOpV15kSb+2DaFCIOag+1sO+X6ENsOJIZ2lVb15hUONYP5lmJ5kmInFHBkBZbfNFyLFAPY/AFBF65PZdp+eofGh/cDiGgMYTRjhyQg5668UNFO/0CcpwunYUMcIGaNbCwYK5jDFTrwny27R635buEy4GnSQXkaPaUpGmx0pvpZKOBT1wwwdmHbbPCEpTroMng1/WMscFQJGo4ABA4fO3I4+Lu8h4j95nCDeZefN+9zGM9ac343c5b9lJnNIX3mz48ZKPZaX2ay/PQhTHfpew2JEJ2Ak9uMH73aYZ1CUEKfrt11yRC/9cC8GZG03+i+l7BLpD/eBj6KJmGU6+2wx4lCILPANmJGNR+jXmLv5NHx6lUs2UlgWCvJHCMtN9rYTPAlIpSxkcquDHDZ4dx6PlmrquwX78cEsUWfCZ8cbE7crRknHKKPlmJfQWkw1joRL9cELAtevDyE6yf52b/gehHAaMz9iCN4J4wVzVf3wnO1nJJzFKnGvhRu+1uReSiQnYQNhNAxa8khc6eV9TmmiHGd+AEZjCrE5mr15R0WSoc09xb77UniQCs3T9BrCSAZliwKW3D6KWrJCb3JnISzfZV99ScBMFyUfJjyncUMVqAtxZOqGzafyRxkWA99xtNaRY629k+pWpbTMvC2wCgnzpZHFWZso59DgX2U/y7xwfCkSIbYbSFH3xf8frzKN3g4ekUGiFE9nmi3DUAgMfE0h8EwvbaYwuwJgDqhB8eLpFDOxYXET+3muWKTzYugJ21ALr6Jd6inPYYEBqI2hfmT2s1kGWdTxw+IVyHVSOrP6pcyyRb35jlGPNXS1IxY+aQbYnX57hI0A2ujfL91ROQP/uEC9/JrNSj3udcSOBz9gBOoC9oBprhfCF42n37Sa3ollR/c6i/WsmmCdNg5cqeYQgcGDMLsGa2PLsfL5nuHsDHWu/RXdOiNL7tfSmwwvq8lLF8EiyoGBzztOsYSo0lD4qmZln4d2xWeth6WTyloWvcxfWrdLnJ56eJyZhsClMKAoJFUS4jqcd4itsbb4TF9uWslDIS+B9V+dciUKavVOnGTg57Js0rJLRjQfjKU4GPSXuddlnDhHls1+/DkEqpo4ymapuQTte/KCqqZlkdtuuAQYXcByAU0fT54q9I4cQ0c2q8pS958GmKTBkj9ucN7/gE7/wCzvzEzkp4fV4k+8M2XgeLEQDlO+2GZwUp74TTNp3VvTn/D/HnbykbYM2QkS6Pi2G1krdq2zTi7FFlSF/L6aXX0ly4Rv6bsoDAe7/++Zu8y1a4Uz4xL6Dz0jwiRv58J443LQwx6kY6WwadEGfer24z6qDhyt4ZTtbSGjJuODxwdTEqRQCyL7MQMR2M3dfCXtiqn17cJer98q9rZk8gJeIfcxCyw+04kPR39X+qyumS1+Z8HllYu83T5AMsOKgZIoMnLhP1BevfaSqDdiKEaVH/S4jGhIndo0HsAl51TLuv3LDhyqIfBjQxObUrQv4CO/VpR/0fRVdL0g7sOyj2zyPIZgB47VKvz5qxDApbUXdunOLK7yOwXwLWvotPvjwXX+E32QgIhVTmZf4CGcdrkR2Pa0xmtHGqI/MrGf6Ns8Fgxv24uWRjxcBanKVpEnEKJOLnYYhMeqtYXXk9KkOH1HWbodU04JvHL5jI0JOHjBHSGNjFywoVlEO9eKxdjFNrmlmu+Y5ofpJHmgkroRJL8fyRK/ZEJ2hzSANcEGPFN6mMZNqDvXgdCoRP0SRfwlcAMT4tjF/leiPz5+45igQzFk2GJEtxl9R9nYQgUiqMLUdEoo3/rfW0BQl179ExG1w61WtVDpQiEbD8yazOg9xRVcLd0tz4pZ29ADxTN6KVDwVj6GTVxD78Bb5i7xfgodZ8RMGcm7W1dh8BLIZJHcCbuEh++zGzSrdLTdW6SPnH/lzmJwn1USHHd/wzW/f1QGGJh/z/EiOLhvCUM1IxxI3i7JCXh+nqlsKUNk1J1baKXIF6wi05f/9drHMq3QUJWbbhCG/DYzbJ9N2b5XAKKcObk201KhnNr4P4Ma1CxsiCEyBP7em3B5PA26SM6flg8WMSYp8uqrRoBHOQjIL2EWFVvhs1NfvXw/ewR37PIFflhiHGyl2v0Bujo9BSaxE8KJdTnx3ncMQ0S8BYmf/UCRvyHoBbz0fKEnkkP90D3fLKgRwZbIhFvNrIhsijed7H6jKq1t4axxpB6V/0i3PIX+uuDZAouZnlvtfaReuswyo5zu0VRr7ZnEWQX4AMQLiy9mJOSgCVA73jztP6+5BncqhC3sNs8mPuh7fv/vJTZKUfg4qYRowmB7Y6o6qfGV+2m7x1WUNxjrCqhqLt7+VB06mz93IVYRyaFEWcgQ5tQU1+Fsd3HEEpNoBTjHNktaYFhCwBLp+mI6Vh97VXPT/JA9jzkJD5YAvjvlEAqUqvbF50HWSjzoXdbgq8LFMxil9ZS9h/DMGQFububEVIf7DuHMddpPUbZViDvIIr+rdlYffj9roT/Eo/q2IZYsFGyTE9brGmKOL4bwg59m1F/d+s02iWAODA1SwBOxEVTn9QpF0lEht747RFUNkgdRO66Jrt7OuJynSHnobMSXCr20mcxZCtQpugBfmcZkBWCLSlO/pp54mvsNaMDDgfCh5K8RhtgpwzPOyksAmP1kvAkwIhTIf7w2QT7VYJw/P2qHvvKSbnYI+c4c0CCRjaGJyAlYg10BjpznL9mfaJ2U1VW0tQosg6mxjxLC6MV8833btV+ZvWBXZQfwQXSx0/L/az1B2YWnRFfv/ROfO+jpegxukaR1rmQ3ba5UuRWct1hLFlP3MnUmuYw2gx04QdmkeHAnX5PhTDzVDwlvzTxfVE5vNqsUgKqblpfhV13HtSJH4x9yImRr3PdCn+nJ0p+Qrxid8J+iKkKtaUAFvORAB954I/1zojoM0Aaq24X7peF0PDEakqvzz6YHWL4fmEd45WNRqF8UDgDw8KfeJdZEdhAjdT5YZq2fXfOSmbDVtivU9dOWQrPGXAS8EaX5p2EfWsQEAlVdwKi4YZKyqTIrQDukr+LOWMz+QqERTEB8mV7oiMOFjJLURmZeMWx2MQMQNdpkMf8jlZc64mf+ib8MEiJErLltJjOK6NoeUJvRZblrhvW4D5rFpN8vZAgQ4TgdzEg1DilVvZAubTz95JxS2QfOvYRvlaOikCqpoZCW82pBAeP1qYuLETDh2NlPe5Ed5h+0TkKQktrnpHeMMT9/V50COwjU3SLa5S1MzpqmBcPKRifga7RE+P2zv4dbeSN+/TGCM71MrdaMzGTt/ebF5lCAin3uhxxEBUZ/y+Pgwb/SbsamiTSS9q40ZXLLf37GTYHv/lqu4DLUZH5yBM5PYC8HV+FW9MxxG3R2GxcFxSfEjWZPfOFRvmbK+pctVLUT0R55qFiipcXlhTC6bJur4Ai8PZ8PqyrmdkytsIggErMMIPL/s4URlz6fjzyf1vXLXz/QE4SL5gyUXCawn0ussXLGaXmZRcHOPpaa2psPxHgekW0p5wTtAvzWTSb7O1HxFYsoawALPuy+xZB0sFG2f5Ye8onbOd8HAX8/XYdYag5Jq7AjhpL+y9F9TrL/zqQKR76gIj9+5/GudPkwOinexuPvu+ip6xhfDf/e7T5GeCMQIdWsB2Q4cDbwZc+dLuFgXWZY/5DILmZjT0Bi6fnblpPYuquZIWnLVQZvIASJ8l8unQTUkJImIFErpG0DHtYy+7iVmfng5DZYNva54Pi7TRA3BysHAZOFsv5YUjwoLFpeczWfLaBJ3+b7rd7RfuVHIiwtHoPCfTi7Q7m+pSe5FSC07IKDffdOSxZgHO9yy3VpGIeyB/3ENi9s2PjsyjJaRLLGX+PyOxDkBMudz5H9k8BOwa1/DC7fgxHB2bn5xz6j27bRLHNPPxf31rcLWnBXCgdqL8Yn22LNCOyWZl9e3d+FDOn6QrHTIIoaLjdqOKeyIhWI8CopHcOpP4ZtkcIUVOrJOEcGssaxLZK3ddLJlQkj1CeSdCPtZGlTgK8jL8ggvaASZ6pE+cT1+qKl2jlbN8502TH2i/o2M7oDBUtSptg993YAjbSVOtiUAcSCnCQJVgYgOSmP/fHBBOf7hJ31g1kIOPlt+IQyscmT18v/MSiaKSNFSNmKvKjsKCo5qGkQn1JDdSct4xb+ryMWJh8znYyzYfHmcvgrOhv3Trbge7Fu+8Y9dZVUWpoDFMdMMN4/7LQQSM5u79dDA+wBE1Qv+Sy7HoPj6utUOerFE6BFqDsdujuDFRRokRH9Eon97+YDdbbsK8l78bhRGusH34kxIv75cs/ra99I+kXHst60s2Hlni6OcmQw238LkrB3QYZY3NwSeVBJPqDnAbjRuSsDFdfP/d7gDWLix63ULZCfgpPmztD61L/34ebpXBWU4+BG6yF1iWxynu9rbD0GCQQ/Hz4qBNwcXHJ7WqEgpktHKIptxaNp1t7Xo7+4w2ihP4KvpSa/6Q34pObw3TIIwT1ys+Cyvq6P/kvyu6BDRBxxO/u+6FryNXAQTUxgNdsbjCW009zG4W6YkOXrngTVhIb4fGQEzQpAHTynWW47dqL91fmv2xJt2JQ4dzdtfmvOdvWXx65lM3mrrZXX0dYoupa/817iOCJUjaSGDUbEBregXDDG8/q+OE0XCzbteXz8oyV/yAliJicDpkx0CPO0mIcO4pWg1d6oOcLK1yAZpQSWZhGaFMdBNwX1c9TuyCJpFftW0/Q6w7bRrXBacbkeknkqMM37v/6idSSW6zHmZMPIesAIz7ISbGyNa06eivhHeOZvaQNmk8LVyfJnZ3BnlwwvACUELI4CIxURExxnbXUj/P6ed1Dt0XJeh2y05axeejiYPo/E8OhVCBB2oJjnb0tJIkffK7GQH0dd/z9ymOMld8Iz8qw+c/RdX0ollbhqnyOkIK0YkbK2xeBxr8sLvQ6nmKAg+XGNZiETx/rN1bm/GQKN/DgTKc6OZYqaq3rIpya9bgk3jWPW5t8ph661uPuUGHRqnRSDIs7GMdFPB6kYtU4CeLMMAky3Rf1nO8ALuG59argOy7xLtub4kTrWJYrOpRXvOCRHauOevs/A6HEij4xB7b5iLAKa8mQfCelSVY99L6BqHBhYpfcWkZ2iucOV/AUReqDLwiX2PZ+gxgkLPAOpCFbfRFyN40tjQiGyCROOZVjEZxVH47MNujdLMRMKhyiFO09KcxPJftW14ZSh7NfoMG1ZtkNjgGkETx7o8PwjCFoVuuIadLGOuMhKpcbRc68W5ARI97n42OcA2tpfmAlPyH6f2Q7OHC4hZwreGv0G/d2NxY9k2/qV+DM42pyJ3jLUwzkp20B6nCTWclu35rGh2XPCscXxo55ynC+YSGYdVI/XwP3LyV75CCi1ylXcssagPdvNP/3wI7wRG2KqfLRHf0WFM4qFVhyum5YWJBE5tpSGIaAUGZETdhogkt2jbgwMmsrLm9r6YJP+bxRK7olxYkLI/5O9fg1yRoFVmSV4J/QCKYh7Z19BeYtGeisq0oyQG9rFcZKB+0iy3MFuzQEYdV6CgBx5kkB3XpKXIuwW54X1+gD2cVgPG5YpmnDmxF5nMevEAJJPTOC/SXAg4wsU631FyGvy2WKyVaX0YFPi+emstGOLYG/kG523VjHliUPyUSecylJ/KNfR6hRqBRMGGtS57ZZW7WvDaak3yqNLZGv+tR+ssDmF+NvncVlBXb5AOZ/Dy/mw00mwvmwl1V5vb0YBkXS+vTycYhxpzQ8hYBJqX/Wu8YRLYNWLINUE29pNHY4SZqsUPpAYeP/MbSIARMCKOCoPaejxor1L+BcTGIUwV8ADtdocp0sa1ffDeZSYmPozPHvplgh75JI7nSjMKd8jAgaCNXF1Nn8njqJsDErTeB1L+qUi6B8VO6ZtZY60LjUQWiaSuA9Es+Aj75T6gnxAiABl4AGINUhe7uJG8Uv7DJvxo0v8dLxKCpy6hPdhGYZ7NjlGg6DM5//qZnoKwAIWM6wiHsPuQEjiNXrgZlYudlfxEuK+w7QdaUNN6XzdMcrGDU6cdA0nt+Gpz16uboN1H40HFby65vw55TNyoJLvSEXsq0/RZ+MMz8fWBBuHSStaa9SvQr/A4oTvPzktAbk9EAagGIMz2n1fz1ju/OjGePDrzD5e7hDnMiYrScaP/w8v/S5wo+zv6DWzLTwFSeMjIsVGwwhEtSbLYhHe0Tv9Q1OcP+wIjt63uoXI0xeB/TeXtC9lofyUkT49rcz6dJkqi1/Ha6Js38fo8wz3ebqLEYutZZeISCtmiJL78LABgZoxhmRhFik3dNRbzIwW6prJESdE2Ct59tE1wWPK+nCQSsSKl889M2pruyyBVn9YAnLymGEGV89BvmFeUt9jKdZP1lPHiCZMNgiF0PX8H937kW4NlgjaCpcepYY0e9uCs885R7ezAu2TuS2KRTgvTEXB9BYaGTl9NEd7yPmtdvvvxLAX4BYoEhf1+U8jkImTwqYiOa9C54xIsvbyShIbbZG301JOSB+XBlDZl5e5Y9z28AqGEqKqBAYFbmZQEUQMrKVBUmd9hiEGiOYbMZn1HqLr+LT0pemAmzuWyYt2RVb2Xp3IgV+Hw4JUvhYqGJY6H/J0mJauG9J9Sn/P9UznkarBh+04QCOwEZXfCHYAypiWR7i/3WfMHXgsvl2YIHEN0LnGo8pQqpBhpzH0s1mdaV15+r+r4uYz9slIGQapG02N5xxYFhkZG4BbHTCcbOraxk5EQZRYRNnNbn6IxuJbH5XjGSiGV2GxlFx8vwqiuzHxbtwMeyZCXLHevtVghhYoQ3BJ/NhEIT8U9FRIblTAs2Ok0corI8rIqIHbMp67WSra7qbTS/koVEyP28d0j7oaEvzB+4MqUGrP8aPOep6cFanmr9Lbd/JI2RcBhq+6gPpRFIxSCcmTGcIi1b653d8DAdDShLRwMkUhW5pDGSC8ggHkmsWeCJlUACrZ81izcPHpOpny99oSJ2WcjrjAAAAQU5NRvwdAAAAAAAAAACiAQAkAQCCAAAAVlA4IOQdAAAQkwCdASqjASUBPpFGnUslo6MlJNQJ6LASCWdu4WeRDO1X4BJpvR7X/cedSdZ2+fOeSmQBuGOd305n0AOmnyFCX75x17+eWeVejtP7Lv8v37/HbUI9j+D3tB9S/4/oF+z32zzovxfMz+K6AP+/4zn3f1D/6R/hfWM/4/KX+1eox0y/R7/bEisckB8lwzTkDO5F3lCFMQjslNHdCs1zmCNm2WEXfTQNIc8xlEvzA27I3Q/uJ3TUb5oE+VM/f4AGl6H9/zPY2npjJjXffUl8Y2wXQY5KB+XApa2Dfr5+uZl43aeUM94PgBuJ7EIkTKppobarGcP+9o+F9JLGeKpBXzTHymT+Wl0htdN9o5QhRUDB7HZsush1LkIBxDjdgX7JX/gKKUaJTULz9mKPjh7yMv82SATNjyc94oepJChVsQID2wrj+OSEjIRpsJpm4gKg57mr93D5qkL0pqgfTMTdUqdYNTg44StZ0qbuuHKN4TqkuZWbyFVY6AK837zWP2SpYQpYpGYoqTo2zUGJnBkySTtC61ovfeZg3ZfOUbybQdZYbIKE9XkeAtgJVCPf44megwuIo9VivZWGTyHOWvdNlcOQlDzs2P4+HpARy+iGTgkIo9oa57qsBSzKi6T2DDbUnpLJpJDKVR1GBMgt8X36PA3Ie6uMh6qN+9bot2JAhYT/GUryDzfF9c9wcIlBUBMnjaXUBDYo0bSgwVOuinOZUaCxj3+yRb12LTaa8aoYs2ySZtwv6LfZmEorRjzwY5dgaV5sYs7Ykad+YKmh8FG+CiKFszwXvJS7yTHvxTcf375wgJg0ci/bKLBr1yHPPZJjHec02sMcD2nZioLAlmmI0qV7SuxDk/XwFCmgu+/jqRW1KkRo9/Y9yFlTXp05HbN7v0e8F4q+dwhNd8wKSc4p9wvX3sObEKUr4rTbYo0DD0k/8SggTxE1Nie8oqpicuI21HlQMly4qRSz8C7BYvq2lKHlFxUwT4W9FUB4FjVJ5TlZZLK48m5gmnledOLGeS0O8IB5TP+UnLkLwdvaRtEx0Fi6RRk1NXlgfvj2jETxYRyty0Nby1Dcbq4cnyeM6chKZ3WZJ+V5P0URDyO75n/NMn4e/FHqN9csY+Wri9DIjV8xy39f73RaXU5WASFXOPU7F0OwXWJ/yJnOCFYHyGU/HpLcis+43du7R73JHFWzb7B59v3UHxtqZtUsY92C991evf4CfGHMFyIb1NxKniApVmUgumKCgrIolFnm56r+IBaUPa5+VVCg2pY1L/XF6HOyQXbjiM2oPJvq/y3dz6x6yeeZ90slyL8ENnxHBBpOI21M2qWMe/R333D99NSMFjQminiab4ktZCF5gA0FjHv0e/yoZ+/1JVrzNWdlj36Pf5UMX7efkX7wBaNmgWzy3MlwD9OqAEFyB4qTLGOkKsBJdvfVnIaiew3VymzEgiu0SFu6rIDuNNlNrzLyOyPVvnVyC5ZXX8Uez/Ge4ir0RFJEV+GvNVPx9fcN8pZZXx3ePgldI6buazeLFbLCY6okOpoaXzKD482f9G/bOc4+1vuhWwRK+G7qHIJ4qRsJ5gySRJKisAAA/v1bvVyaMAXiEt3FOGzhw9aAjyrt1fw7vyOkg3PxS53yI0N2rXz7Wf6eXd6NEbVfyte5+49kFjUNb/vE7KHFTthjNq3Ks0JdAnRoqnNlXpsrV+uTuKycVBwL+AfkUerJZG6jr2rwHvLYW40xBbMP9NN3dkEhQGzICLfpVty81Re7TQJaY9GfWBhmV1XKX7ph1oQVKq2mp27kdS3sxe//nLAP+icT9oBe89OnLPh6QrsIu9F/W2PzXX5mJ3FhRr3yGYR7OVfkq4MeOkDpHKdjQMI5BcsKsajnvDVmK2G7pMcXdftfVYy+sy97GN2H4SG9f9ieKZiNeXxWULbTlG4NDtYrN/W4Is0116l13P8PXF/BvZmMGyh8AAAGtB9V6i6xU4UWmlXeEP6+8LbtxuUlutPXQ/x8WC6eqplicgPUykYoUy0yk8IBfSbEN1Jap9pOiCnES+4XIWqRRAwFpiNwO4/BmH2Pj+5C5YR16IIKQmzuoDkiVgJRdOEfxbc7J2BtRg+5IELGfyfAwFO9QcLXBXwmLpbxLsn0bPosYjUFpoCaqntVZ2LKVMvaZbgGnWKOdrNz1+3jailp5EtAtFrDu2/n6VLarIPXU7H2vqzCpeVAHlLXLry18IS9qZF1vp0XT6YCg28dgQU8jXa+GAHUzWqLCB8ly0Ujju6ihcI7tK8Nu2pACvndqVgb0pX3m72w+VDnUqv38U1Bw8BBn6tunD/XNJSYOCZZ4G2FVhZPmL57OYAaude+YJKTeJ/mdPXpHHEILb0YGNsMOu6cFw34HM1vQV4bufp3hfKWqVH6W41qRlElgtVCeSjYm4xLTlVPwzkMGrlhJMrkkkDh4+rpxARAM4Hs2SDKfXSgC1W3He1YMdh0uecpVGBsSbq98kb+sEKB+CM8W5/sn+JxS9tHApa1LwHc4ppsJwc+xWcWMB3RgB7M3E3dvMbrTLh+SB0w/uaOTYEfKYANtoNlmlgIb1h/Dvr4GlFJC1Zd+7mCLffqwnIHMRLbaJh1y3HpyRzr40ZFEJklyeE4PTXxh3UU27EC61446f3eAZ2yoDYZwg5IW8R4TKosis/XU/WwpcSnLOF2Xn0Qkl7RUnIC0fSu1vFuc8Gy58jzZStY0BDlYp+FT2D1PB7x+bK2V5U2p9brUEhXfEOgng6VU6MzXNEMfzVJ29a+rmf7L7YC2zvaVPhvHX9lPwerzkbeqAS0dqXtXrmP/rlhg63kkF3qvtVBoQs0GXWlFyooBcGNfkKy6U36JXhqTbjMEC6ENlYXUx9prx5UO3GR0nqDJh9zlKPCGCSZetM/nLD7laDrlcmkrvJibNw3un73uriYMtlGifND7qG/XdwdY5n+fO0/3RnP/gBPwFd57OseE1ECnTPHCCJEUjuInSCar4+r0Ktr+5W6HYXYh7o2i/9vuQ9ZV6L3THGxvQemy4RncN/G+MsS1PqufzdFH5izmhf7b2oVnpXKOdLdbgKbH2Zabt+cCIrCYqD6fEYWL+bjSQaflxnXGNJs/Ru2MCLfPG2Ud2BpE1e87SnVV8lEbeP5qF6acj2H7ZMRWV90qJlGZC3MVPVW4Kv4QDF/Mn1k8g8OfakRWBdyQeMzEx0k9KlRs3JRuFHhOieEjv3Dq1s+gpJCQZZIaXx+NbJj77fMPTKXADNgBmn+B3Edd7iNZ71Yh05rqC+F7qFZiGguXx5xQ3lYGtzJqD5vfk2Ob1D/wAxpxpd2615Z+LMN5042Lt/lxBjMViNhZC3U88xUuGfRzyWOtm/kcz+LGYcXq0jR+927fYyYBcDlW416nzCaS9mv3dvSwfGd070SYZ/Cggf2kmCtDJaOQ0UJJ7hZFp208Ut79Y3WrtqkytWaqfjvduUyvpQOk8eemVo0AKIvW9qE/odsDEEvLij12qBF8dq0DmTmZy5kBsHZWPQGkWkZ2g4D2tysDSRBlym2AkcVGfLwERMIlHkdNWENgcN2J0G1wxeGmbPqH+tEij6iZN1pd48GnmkSMvFTqo9+jhTWfSkSEMpXLuiCtRecn0vHujQswfIoyh9Bn6GpJIvs3P5BFOsAkiJD2/d6RjExQHyOV5RquztjH8LiZ+P8CAE4jphJGGEdl/ff7kG5/zyhhSvJmH14aDIPfrCDpj4MoaELjL0mYwTx6twLB/7D6LE+HbC6NkRdPysm/GNIfua5s+4NgRYXfYNzUVOcbZCVom3oder0BkWj7JJ0IqjAfgWSGIqp64HE90zRXPy+/g2AsJwm0vQA4ghHmOBCAcO8vrs092kTf6gH1UDIEhY8EPm1WdF+6dg4o/XxYtKCZ5afCsST8gJ+XPSSmyHbLHYIpuhhNjmzS5yV521ZoCH/YLW8/HxtrRcSv9oIeMc57JuOIfjgyIVoX60YLLhDYVUGDBA7sZVJeiDaUEVzbukVjTAm4hEZlVD9u7azZqw0E8YALm7pVXxVagS9K1uZdoAfOkF9N99X+C5f2QIozjW210nhE0xiW5w3358XO6RNCqy5lNrJu0FIpjeKQgO9q1/iZo+1w2fEr8vjqT6YiDHEx87HKztT4ToEPLPUZJRwhpR3BwlOHqpqu+5LYKr2A14IzPIt08/CRY5Y2rEwLdy16gHogp49NMxfDClGZhdyoUuk+Ou1Pz+hqQAfYSRRZCZp99OVrAFKE0zJjmeNM2xEVBKTxkjFS8bvnwEAArZas0JEE0TVC5mMiiSdnE0DSoID3XXFQAyxlxvWD3Y/LSP3SRwKxMDmCEAM63XulKKi5nDHfw2WulLsQfT682RLUuOKvh0GbG5DeYLYF5Ah2TfEs6932Rm7GdtovxF0+c87ptNqxY3mysZGCznCuJZWI9mjrBCV7gjhsRKFWRoDqud0nIxjpa3t5P77Z5WUCnQZzsQuTHoqFqmfpEqAMkfl3flUMvU7OjNrk60RmYGiLraSQxfKIW4x7w6VeznuWaGEF1Nw39W11RL5lwXQvSkTnC2rlJEx3ExRw3oClUU+9bVejrMvmBmcTxtBKhZP60YUhPZFiAs4I8Xz5W54rRNbNsY8zOWO8hcwdDk6mMIw94wN6zK93YpoSixTT5H/4e6mR008Yz0BuTpAJzZbzSkqlkxxqIOwdh8lk4wGs1vPzKMFJgYscKwQ2INXmKfc1Y9LlAzDZj2VMlTyw2Lmg0rV2jYZXxLn40DN2Q/U7+RMetetvkrtIfJ67jR/AMZc6w0nm/4AE7q8UtRm6b31D8TGs+abkIJD8uUTEJvAKCDqDD8FlleNFpOIMfKspzazhqHEw3i7S7xT3nfy2Yh07L0aG9tzn0LMIhr5oow2BNAU2eYU05a3+qeKCBiqCn/8IDRQoMTVwHuct3rr/Mmb3ylZp72cLldF6+NGO3p91aBiEQWK5d2kzjJkO3P7GRSTT6mazMpxHHurpPjCyxRXRx0eRlYWYeIOY490fVFEMq29wX8kX7RiW8nKn9qUHeXdNqMkOC+C+iATVO27dMvsNSxr26wyR9eJLyI2ZYWS8gjAsxGbwYm/kVfBBDezb/gs4+EmC9tHqk4c656kB5vc00paRDi06oJKg2WhCU3yrxafkZ96Y/f+RXp0KzXqCTTqQswX9r94jrIzwJNcUgJrTkCroe9v5Vap+bHtH1e6N3h8M8o8Zew4RyV7K1l47FMQOphiYwL6qZ+qw6cl69CeW/+pSo7WP1whjam3Y84eJXZ7pnfo1f3FjYNtloCIv8SyX6JWOgzkFpzRhIyTpbKWvGp4mROr5wuO6MoZR9+s1cru7QrWlpwrJ2bb6n/LRTu0v3XInfx84ANbRSCrRPWmwWdCl6ttwyxtNgfiAW+xzegLdbQdz+XjNYufnCBjbYuHYqmghmHSnTdRRy+ioGDZBUFT8M0LWQoCJvLV1Fa57D56E0Cp+/WrkuKkKf5HhlgyPhS2eZW2mpzDKjz4hB/2mckFXd2teTHF7N2tok5BzZsYDVEVgXUI2hxcqS/ssDXJZA7MhS9er+fQvl2NuwnNlWIxwvEQ+BFj5W1CYajFnDxXI9f5o3nlSlBtUEEqlYyjZuB2AU7e5gZA0owvOgZ5enoh94sjtwrqB+yEftAFNbJA+0zUuFTyEf/Sxc6yfBB4sAHaWBeRs6blwPeKZiwyme3BoKqWG28oeSVTK54n9VhNx5q1fxK984n/hQOZyLWfrRA+CXLSbwYKTdNw0QgsinZE+6fkpsqAH3SdixvvgJJzMtPyUMQL3Z1stPKEm+qASJRV4kSuc8jqnH7tFd9gQrzIViBPxW6peMzAqV4226y3lJmi7oiap+9b+k88VTa4rWS6+4zc6e/cxWokspnbYic+AL8nHG9XK+NhprOAQEAO9eEeM77yZL5VIOqPT1jc8xPWbe8DVenxl3kTdsa7lajOviLuqVWEXejypxYCopYKKFXoqY6QNZ0/Y/cZ4u+57HhOmhXGLmf1clThyY8oShcNe/4l3D49wvZTwXVK5ps3u88Dw6lC2IprUwZ7td2xiRmYZzax3xWe162yM7ZTi5U8LFxvHZf4s41QYT0AKzWvKz5409MXdaFtLtm3D6/VZj7SeLNtyN+Pfq3hTQ2h2n5Y0qYHC/EhE39zzgxu4QTREk3kWUv95u97W8ZzxJTNHd7B1kWFHHmC23K790Xez6FO6tzf4h5wymhrFrnWel+NoAmru54BVWYCU1lhtlF1PNPNAPglxiWqXID+cFC4UDHPeLkUp42JR+3FAUst3ZbZnw9VmcWyZ9GOjOenCKEc9FoCn5PKm5yEgayMjHHb8VSi8TiFdVe8W6CTiYwQEkki2zQ0D18F3jrx0kWvZy8/f8EdrIinuC2iHkp5ndm//5VNtwWUk+Fp04603pk0Q6ERduJFi4ytf5I9VmFQ0Zn8crl+a6AVY6NcUszRBtaxCdYmGYYIaeYz0SSoNnDUMXWP56nYKanKXRsR0Isab9KrY/J+AGlVTdsFl4Ja7/Db58Y4c6KzzOBc081Y1OkGLYg/Ngil+wcAujnCw7P8Njn6Lc3EVHqoj1fwxY+WJCEauC7E+E+cgBBIxjbVjWFwdMRFphTNyhDTm5CxLNsrP/5KE4yM3PF8A3VZt3bJvD1o/3X5JHwNlrjOu6YfODc1FWlmCQNU9yYnrJhhPZiTLIrXhSnO5DdqU6QsAWgx+KiwiVkBuAEOTHyXqsBSYnpd76N6lfC93sTsoYM9hPkgVQekhCSFL6GNtaQYQCS+jStH9O4B8gODaMFEi9aMKul0xeqkuKsTSgHPlZ0/rmn95FPMm+HN3kuOa2nzQzUiqnltLiR8apehg65meEq5OwWbBrsT8CBCGT9KUvYmHh9aKBU38ComgG87XjJfyU7G/ut7NUWulSiUNnyjgT0PkJx/DeqteAL89eWCat6YMFaGT1Yc/r79/AwsYrcLohBsR4LeZb9sStsct1SmZirT31PrxjEBEgC9T2TmZMJ4PeC8fQyUAaakdSSIe1f7x5XqoPTVH2XYzyUsrg9AgS7Bt2Ech1399VVb6XItWsFmg/bhC6nhOGTOWtQR+Dnf8pdN3wFk6UiAmGrZW9xr3VrPbWJuxE5ZmcgVvmie7+hdGfPmxaoXQuMGJ8aB4sWog1ML9+7mDOp/p06dTcTvUJThtL0S2KOvE04JhuO9YiRiQW12f2SGzI5ZwEbKgAeYoVWc3aFVNMvJqjRnm4mGkVUDGgJUPboRr7VJvf439vH5A7FL4xdGsGGunfwwy5GM4i6gNF6k1aShZswvsRkBKnVudLkh/43PNLjb3CAe77g1CD0KtJOHh0LaWUwDvGslErYjzJyaG2F4RQ47pw4m+8CuZK2xTHFSzY7X5R29MqyN+2mEIHQ7dLcL/OEA8efBmF4dol7nA1CO/mYFxVeHVkhj8o35sPd5GwqfZCOPsCGfzlMoI6EnM0Gb0PQfxfaNDXi1npwbmTNOHkT2YkpPbL3/OARvE4OQEARyJguKFQgeGZuqEbClqeeEYPasR1CgSayiSgYgzr69JII/AUdl6PwnokA17biBn1xXR4LsKNYZmVpgf+F+mVjdU7dqaYGFy900W/S7DuSoJysYz0PLuH00E7cbxl04xCLuCbgEOslikTwO1KQvUdzACsWaLEbJlog+FmGX+PHW7/qMR2QrgcgcqFXneLjAJ8opoTO8muyLSXRVXROdgSqndz6mhcIkBUCqnp/5lY9TX36FNlPDVzWHpG5upOenGndBM/ViIBAcXv/VbYQrAdmwVmbbh/J0GGVpZMc97A5m/ZpFO6EORix0h4TqkpBlMJQsjJx16hc8LH0TQomtb4k0lA1mgCMiU7IfIvTDMs2/MfJWV/er00q5UMpNVWl5hVi/aoLKB+FjUe0h2C6Fy+zMiXfNGzbFAV139CEoNcmfzeLEtsY7VxaYRzOD1p8sKObw1DNTTw7elZWLAGi4dSSncO6Jd3vh+DOvlY8SARkAjID2xpa+VEEAOwaaY8uXuKP+bmkxMCwPnxadt262E9D4ZhWVPmt30j3C2ADfbECX/UKwHyp5B+ITgu1mJZhRDSDlJ2WcuQ+Fk113af0oySvDoI08yuyD8IAoLQVEkOXvvscceFsDtl2v2e9g17qv3mDeEP/CGuhghe/xCcsuCKQJcR+Iwybnxd7iVWPrv/0V5q51VSUBOvarwgI1GbADzid+AcH6Ez1qCCsCDAMl1SmW8x2EqwwKCZb70qH5mm8I6T0zZLPwGEYjwlARP6MNpyley+HGnt1s7BwC0x7dDoQ21Dmvz8TmJ+WmaXw35io7rdJGY7MF4hsVGkstd6kUBYWmKHgCNgNgGBU6uMXtULWTq/6sRa0TN2bstNDjjpdp2Oel8VhETP/u1HTbSNvrFukCptb/PrpSV52J8qymMPZ6HWEmEH4ljTRZrMRsL0A2gLyyWVUVwy/Qwa7xTqoO0Z87/r3TlLuhdEFIIyl7JczO9uV2THPOzvf56czwSz60zrrk3m5V5FIw9Ssm8eGj9d7dPZKo+9xZ9sAuGHmfV10SmmyhDvpp71WE5kg68H/dEiCs3DyZ0G2+KmdmluMbXgYSF51vvhMmob4pwMyyYyptih5/y2UACP6J3kzJZzJx9bLCwXjtasTUc3pA0ssJKKQvMzMCR4jAa03GOKBEz0j+dqoi7sn5xv0dolb5yujJ0aa+eFcHPLukwA18ZSGuQUtsrmWOQ9JqWvvCN3AjlgT5r+ysqJFBF1XTI46n3AzVH/CVndOqhAQG5ppCG5ViNaQGwD3gYkaUnsFCl2QR50AHa3T/i44wtv4qADJiRN2ei3ERslGw+Qly0jRfwZk1UY4w75fwUTgV+dZOCo9kOSWSyhMAl0/ESPmaiNrPYZ9dMwi/JUNXwjDZsHQ0FATppgVxWMbDHA7ac9iMPy+mglvg2HiHoOqv8NJEbMbvptnYIMP58UMNGBZAMA6zHx4p9nUvU8pJ3eCOE/ijO3YY6enXplq9XPK/0+t0RZ7c7A9OP3piyyxgtkq9FXgRLwD1RlJpIP5MOH0hKD0ugNpyq00nIwFIAAYKgfK1JXHpcoUR2nAheO4yUaoKQOMR4TTeLIdjvqEcv4mxFoMsaMPbI3Wdmjt5QZxhGw38TAEG+2eUfV8pVF+XdE9/RCCrJzfZeKHIKptS/UYyy1W24RnWHHCBnQndOfLBbHHLwoXzjmIAFDJ0UbXOOyCDETYNX9XfyUTRTLV7XnUGZyWsMiwFlLrfyVjZrEnHqLWPjeb1jOj9dDw4yxlj17I1OPSFotD5vWjLaZ1lgl27xc4/19G1jZWCCMXpicPqRQivDPPCFNtQ5svfIVXckjslvuxuDFd6/WzrHPkVGlj4asgg62sk0RMcxntlzC9Uj0ues6bSsfLAEOxb2n+RIJOSYzHM/aC/58d9lx5A/0fb2Kt3rSj1g1ksV0Z2u8Jxf2/DU56L2BGzCYsbCRWxpRwUuNYYrF1bXFyXNRvOFGjnC8cPCRNImQvQtePV+j1h0mcUCtg64T1lQKY+3TWcDiLGKFZYD4ZyVYqR/+MS0DBYO5qQiQJI+Ojg1ETWpuFomVI57Y4m+MNrgGDAz2CfKLe2hVc+k6jOLWXh9BsYM1PECT825u9C1jsTDIGog+H/+X/09mi4MbmawIffSEK8bw4wGKz58REMUunTBiMd7Lhw9bsfqZeLZh81YjF6Za7+X7cwPKgZ2NlxSQ0IgyfN4SLxyV4o0Kms5HdBZra0HBpt3csKgJgsX/on+Fq24TtVPP6fCncJ9jCFGYBjDfm09btUp6AipB/MoTHiC8OaQumdpxfsQagPfyq1hfNtviefrJeA+29aEG89Ka/rCtlEAHIzbAU4vl2Q/tpaaKyILJSYLAV6lEYL1PEVSEWo2q09RDbh+JLmBJsZ8heRMdw45cQZINpyXpSQHXmSpIDox7yDnArfOTLTOPYAKTrcYXk7y7z75NkCfBf2ZDV/xCUWGtYobSRljFndAQh7Fd8Ag/WNZToGgA6JBuQjr3C1lllIbBR3J8twkGhBoTjnMouyc/Su6r58E8zyLbRfr1gc3N9fkTG+z4oDevb/5/Eh1PABCLrwreaDzGyI7UVAdX/1yulApdITrIgIzCdz8tGJZTNUHZ2x1sD9HsJnonlIm15H7I3mG8l4Z+Eb4CZLf+AsO5g3qG6+G/EpKIAAAEFOTUZwHQAAAAAAAAAAogEAJAEAggAAAFZQOCBYHQAA0I8AnQEqowElAT6RRp1LJaOioaSTSeiwEglnbvR/srhhAGqmo/DPtD7JI0edfGOPjfk9s5c8HfcO871p1XoAdNLkJP0z9lPRL85/iP+H4Z+d4Fu1Psu/0ffj+xfwHoBXIO0d2TzDvZj795vX5fmp/B8+//j8U/79/1/YR/RPrG/8Xla/afUT6Y3o4kNgIgPmdpRTPOsc9YMUYpNsGlnnGCOo/UPbeQthlENwvwwSbH01qTl31fL/EXHFC1utf88MXYhXWQocYtwqyA+XeShleJ70K8FrnkFl/yGgR5dq0D/TobH1YiILafwuvm0xxev7RVXXptBVyOnscO4s+8/lQP8I0NoU1roMKVR6PVL9MA7zZpkGma3wAFUjZeEzZ5u7Gwwnb9vh6pBZm3OfeZmy9P3uZW48YArY09ByvwtgYcQpdLBqv2aonHKNlKczxZLICFYrLkk+PSYsH/fDuAdG3Fun8/WwEPBo35UZ5iM9WjEiKe1Ybnp4cEm97/gop7ZCayIQr5qayDMC3y/9Y6qVVAb3D/rMM+S6lYHdhBzv5pC+sjf+7AXXP43ypP8bjaufQzkJnSVH9MHFiikShjmY176jyjf4XtVoQvC5ydReLZqjw5y4ULOHtEWa7ruXSCJ7farGeyybOZ0cJcEICjBWTKYZTKHgfJy5jr3Z2aX46dKqVTIQdC9tA+IU3roQBV6AhvoM0wwtt1wRhkbA4q76M2hUsSrt4Bhf8iyptQkcl6EdSJz/UYCdnhDO2JeBqEs4qBR48qfR1xtY+x5ZgFzi7+FDhBPwSMdiTlpHrP7PeF6qPTYwneALSKyNwXCXkFGhjyK47pasktTjcTN/KhjP3zMjGkPckXtqZy3NGL/j+fS+9txJFmizA+JYfd6KCt3k2puLWmmBT5RrsJunX29MpfF/ArSLbsDi/IgYrO7A7U14GOzZKGHsxxmmtpNUv2y6Hm340B0F/u7WLdbQEC8tfADxHoTv/Dn6gG93XDCa/KOkT4UOFv9w4vQAI/XlsbPQzCtRuyTWHhR0cmmZxnHw9biyoGn028DMYHAu1sJ/iln6jn50ZIH370a/7F0RsGIX5YY40XnckGxHESCAPieKtg02NOAeaKdcQWNNkcJfPZaiBwtUM270Ln5KQuCzzdnDvzfzEsyp7RLvYQuUe0fqmwO92BxeeINSPm9UNO/rzUU/IPYHikcs4p4xr2OtpA+i7Vw81aLk2/mgwMfis2UU/uES0bU2ZkLcKHB8pE6sh35gARkRsjyCQuV7f9H5x2mU4huwYWCXm+k9uaO4WNrTRtTYHF3qjif9r1CG+noHcGgRZAE4L7fa9VEmpsDi9AQvyoZYMQvyzlU2BxegIX5ULl2lc/lnKmq5e3vyStOaISKt4RsRe4Lw8qsBKehohdMUNeUzQbS78iprY/SwWJko2kFwDgemAd0QOSXe+wejow+rs7hzX1OgLB/zA7IG86PWMNhSiQ9ualM3t+RRuQEbn6pTynGm9R8vsJDqAIhXg54SdFbGDkjlRm/LuOgf57L+C44wTyTW8AD+/Vu/CMz3FILY2byZMgkBZ1sK+RVnogLR9T4rFB/UeQl5SVf6IBMXpBxStwfX3LJQdCr2eOa0TY3H9Edu3BRVE+q+Rv5qHSKx0podILe5piMaH5egP3E1qUHesqz45QNox++n00C34Gl6t7ubm9sWBN91F5qL6i9AbMlOzg8wA7ET1t9u0wpO5PuwY3PDyrJA9XvioHTre2r4wH+hTBNeOQRXJA5C/8dGb1cKsYv/jCiEL8JJomLr77cMNv4j0kmWjLwdDmMGMC458mJZiZWLqhTIWqXl/oE97S6vsxZuvcVnvpcHO4V3SsXHdKr3vLemn1jqnqm3H2CsebqGdUTMysMTxUxcRvBSmKqjIrtBgsgGgUaYpPrLslyHYLpSF8D8OXal3OzUIbna7SbYp/stO13IDezSsxa6RozbwGzzHKn4KFWaZhhZo3r3gDrNrCuxh576lHxNupxezsw0SaB+DoOoitK5IhpH59wiiBSnXHbixVQlG45qk+o+o0e7zcp3+szKQBmUc6OPWs32dizEme+pS0+FI+t7Z5zzUrhS+4dOcnuthUtSbEsYN6M/AABmg96+GzF+TJzSeAp7xaFNDJex6sE9p7bJNKb+PVViDsJaY6mPJHDta12mxc50RvfFhVVmuAv9Mv4TdG/k/tjbP1ltQxCMgyHV2fgOFOF7Cs/MbcDZ+5ryPrbZzSaYGzsLLbVrUnhPEVMgJBbFI8Lbbqy/3dVhxhzSz3babYDEc5Hc09ds3LYNPkmXeqQkCt94coOvThodzwQF51Ps4emFm7w3SK/kkdPWKTlr6i/q7AqNcVqlxI721JXQPTT2GEqIB2lnFqHC+EGYZ8fVumdSNNFVKZvLolLrJ+NkvhcDSn7Yhhrk854t0UQx1u2GbeJo2NWLV+OPl7M72a2t/tko7869uplljCori7naYOmR5avrb1Ecm7EtFQJSBo2Vgw7I/zagOnSHbNqoteOujM5dIdQxSHqrKvEuMVHflH4igNbck5fyKngV+Z/d2+ZJp0QnBmT7F9PRntw3SK1CxNzQWUmDXzkHo58sOHzm+f9MAbVQulomtoR707dP4wR2dl41wuO98eulSvByie96dYYGU4zKmiwl7djXd5//mREt/ioilOFiZOBoL46XF191plvCdRbp/36PJyf/tryN03aCWScBjRCAvxqvVPMqK6b1YcCuQkmcIZtzE4CdRaoRbNzm3ja+2PydiP9ZxASTNvxvxnUwsYY15A/IkOkrbzncn9UCWMbl/1+D2dXSRg7JOHNiQ7w8oB5EUhwT3kqsK0tHhH8TH0LDwNcW3PTxUvpUFsmZFNZn+PszwISnfcvIMe23Iwa0Iz21bWmHCei+stboMWEN9mUoMaa6admdzPozGgLf2MIqTKHksaKghwW2KtTtP7JEtymcosjuiU6EqL2g70uHXbka6Rz/80RPw/doadOmOXIvrVidEPObRhep/a2H0rdH5g05mZLAqzv8XlrasxykcEm2h2nM5bbJ/jiISu4/NPVK0tHwSUtUlbzUwge8DkwZybSdlaPnW8UNmfZa91WKh52W8Loe0jLZV5QYutjhq+bg3A3LR8rEITEvOY5JzepNsyStKqhTEY+HMjvC/zU8AReO3UUC6NnA/TfbCVCWS3z6g/E2CSQJvaM8pJiLhKwETJMmIQYNYeLzUEbd/J75WPlGc4UaH99bgb13SjP8bsZ159IN2OYf3mpYHOfNsN09HC+O1RfLMsnyTClUse1fAKuxpIiNSYH+InbgptAUkw05vsir8E/qQJWD/6z1mdwodLZF+0SOWxspEn8+7B4FB4ntiVGjqPiYY7vQSTbXTe5j8+9RW5gGYQ8gESFW/BctriiqqekJDGao40q8izoJb+p9krnIhPLe6ESNIxgPiEhmpo9k70sizMnnTrUtfiShKYN+U71RcKekPeRUe443S1xEZGdxUUFXIfCuosqPJW8g3AyswhCb9/p/bHNImjKHjlfoa/iE5gVJqrxcPhcu5nHzqKDYKLEavIHDNX/juc6CAS/C2XRmSLVaL2/3vLu2QMakuV3XxOrz/GqW30UzQn0mVKMXTFt0ApF+7Mig3TKN6d0L2pZPeKPN8d5HWfQfkI1gTziWRit5m0fmLYPcwKNuUNr8ljmlI0DthbVCocr15RVkVvUwwvD0t+7HAX3mh4h8XZrvw6/svHAU8edRKvc4VFwj4kI0SJkUzls21tMPUjytmQH1u2bJ5TStkfk8vVVFabKKGF7NTBpE9kv226VM5Nqqj8EIS2p6OLsRSlo2m4eWpdce4dvK+DmNmgA8p/SUjOoBdh+bNfGAwB6IFw0c2JeiWfVn3x3KeXOIc3oN1y5I0zRrrHZcWaQ/rK9uwEH9W9XiR38KT72XZlsEgjIlvD5A2Ix8iHWb1F5nG7jgo7FI7JQCJu1vKwz/olTnmqW2iIzXSxItt5BbZlW41K2yj3ulq0Q7yvAcXVtBvZQVyZs9v7oOh/WVeoieiVDT38nlpgi/4sfci2ufvv+GmtALveeeisc16fAzhssVcTeiEgCQHV0BiJPQn/ZRrN6OjiZbGzqaeCw23oxBHuEKV1a0o5o1lDmZSv16OCZMLXxjwzT9hrZUrpkVxaCzNs2pbbL/aekx1VagX1JAS3NQA+5FbQL9MQdi8ua+YDdO5hYD+dP1gogKC9AMYbjVL4aMbHHAuNJmM5OZ2sq4dPTlBKZKe6va+7n7zGlPBos4uxkVMttGjZP4Oe9fjipTd6uEgg0c4wmF/p6KEggSYAPepiKsFGIpwMEHiIjjWexY+K1T06JL/cFnyFZtDt7STprY96jAtuWXQsytG4GBfWVJMZcCgmILwDfbUp44xXcB2bvwIYo5hdyxZYNBxfNE6RQwGu7VgWQpS5ahksPenJIE01oK2YmDmkkPa7lYySMu/ryS/w9vi6NcQmHGuBqBy8NSIQkN+Jj1q+5siXOyMpWQl6KBNd5sAAGPHS4WQvAavRh/eOAMMJON3oylVgtj7HVLk1XVo6NghHnmi+f+ruFtQR8CpfApi1cYmtsC0vlzQzk31Qnx23d7QbQ4JLxmmNyCFKrukDyI/Gb/9eFzPq/rD08neSPib08fQkODDLmEu+N98HRwjezPkFvoipSVmWQlMHQcqNkCcsZI08P3lmPsKkWLwD29vCn1MsMVZiPvgDhhO3BkZ3Viu1ifgEbWkvFDWYaCO/Rh2lkYJTrW0o2IfFt7uUKqw5loxKUz/SqEDzHCvRde31jHfgQSdaTiY4cmciOP6QbOoTuQ9MvpwroLKFhIKGrqqMxPNtScMMLpeABkZc/+ydtotJ4VX6JphjDoQ9VINEAdv99Pkgr9Q7ZRJh0ueBg7rCQGRP8a4FiJNNm1ThWUJMlh6Uhqi/9/0QGFt7LQJKUq3zR/9RXA+oV/uMSNCiA0CI7XmFXNmfuljcP9zwfT9tEltG0sqhBQbDbty0lcL8sybgR90/VX3kafv/VWCDaNMdSxRYLQ165yiIVJNKtA2nHzWD3pydgRRM94R5Tr/V+i/lZ42SpjwFpTjLva9O5XcsYWzizoll8ge8mW0IzYkdQ7KFPBEf2hHf9AAvW7zMSq2E0YIZXfpftN2ZTurRu1cbtgWIFKCioBPqcOXSCo1BnI7fpKiMQtGkIJ8krcEsbNOB/8ZwDRyzFa7BymnvgW7pRKMdSiVah8ZJa2w5KEExpQFFIW4OXggV6LezOUeI0T7utNbSNmPk0dX7hcO1mYhQjvjg5qP9IkAS4/TYlXSfPV96xW9A9gu5VlPN52322Q4EAKAx8YA2gVMW0qr4n1z8Df8Gd+yWPgR1zgV4SCG5M2eBcSDt+LI55wwHl7NOlwfuZT0v1mWZGyOu2yBPqtIVdEN0h80FvEeUVcF6jE6OomFeJ/LRYKaBsge8gIDPiOeEIVpdLcqcAiNlpKIALXHXA6vi46hzw0zIfp6rlNX7pawDpmcT+ksP94Bekfi+jZrC64nAu8IvRIB0VQAz17MLWksn2rN2vNWEe0vu7LsQJiq49hUBffiBIjS9YZheX5AkwF6TIgrx8d8LbzNX2DxzYcWgKuPahVZlxYppJ5JLt0kIaNhpTJ9q4NrXcsskJ9YZHIE3YWjOOyGvSCnZioMhLHUzlO8gDGLxw1/92RxCtIqx0ADBG9xrpAGyRuByAuD8vv7GixsFPcaR7KT68RyiVGGJNKfg+4O5jIQJIC+LS/+OFnF8BfxldoSH4zuTjcnY6sNq6/lTSpzKja+dsMEmSeO9CZXPq1wjrYB9H7UPruBNemQRZuNYk2KxmnCh4ZDw+gySvZvrjw4xiOXJZ3jiFwLvUkQFgKrY1G36FMj8ZVtsNF1zhrGkwK1DsqhaPRyPpK6Jarkext58Dr74tojFTUD1JGVmAHTMlFCpmOJwNNyKv48YMwFtEtCiV6mBsM1OZuE3zXoAsvChPchT2dg4CdQ2CXZY4d1zYGMeB1fjVisdoXvDG3fuZl2FFN6Vl5imOkVz7zQ7Yp3TlrtR+t+Wtnpb+3AKNdMlxdlBIrC30yJHHDF5J7nTzzh6aFyAmfie0cnIcrtc34VSQu78jMr18Zd18rLE4iUihAfEXcyqJX0Wm0D0OF04eQyBVolJ5WkYZJuNMK9MDg/ykEgzbFFllkhPDcxgn1Vyv5TPKJRIoJmDFO0DX5JIIXu3b/sN727iNj3I0eOcXQxZ4ZKnrKAGYGzQvO4cC8wD2aqr/yXBt/nAQeKPLRiGuWe5pCn//lUp2ZR63KtLRev2rj5+MYyX2P1+MlRX/yNfL7XXmHpy938T24Pil7KcDIk52NseasnNvWwx0SOfLaiNs1mQGnfvSqVFHXDZY3FZIEK+++rIdCTMzhaBKRkLDueMFiZKOUl7rAFyWF0SGQX4+pWLnm4hSE57WW2J5CYTjQi7bK389Xz4c/l+mwAexvYwKEpth8sGnvRvDfxA+zYeYTiyJi/fwgdXb+CkuJY8jPwoilJh2YvSQUmykHPLaP+u1bPUy7G9KRo/k1O2r7oZmQ7MXWydS13jmSrPNNLvgHCB8dYnaOZTKzfyKLpPIgTL6ygBpKsDYJDDPJxT6ueDpKUeL79Ao9EPhhPmUn0KMp1TNqFmcwYCh+VOSuuGh4ceVwR4e/lnwsBsMf2VhA3J/DTVrQSX9uPBtMJsYWz/1HPxqYjt2Jzz84B4FHbeLwJK0sxRjirhOxcqT8wtUKjUQHW5zFktdyH+LQiW7Yk5Q3SLSGiPLD6CE9Gle5BrR6yL+Zu/kHddGNwkSc0i8CWhtvXpzOZ63NKz8N6tk5gpor+pkg2r5UwsNshtMtFlfXXjEY3BKm6XpKt+TlapPUPZxcmQAuWzvdILPa6Gu9bpVtBmm0UTm8hfRPWN69D9VtMXEdhRyItPtmCrjfu8PJE9o6LN7SmyKfOgw0L1MKfhBLmoPFAd5agkAHl9+DJywJNX6yaJStgkGQYjV63OW/BJy84nA/d0TgnoHIGGm2rDS0q72Kog0f0NT/NJUz/3WT2oYTmpyWZS8jiRasjr+lbGVAzoK5j7RIUg1lMlrorf7yCJhrvktoOVR+dGBQHNZ+HiZfM7kCidmE5MpSuXgGmE+Pcu2ZVkWunClEcpki7Jvqcr/Fu5XdbDVH5JrmNHv6CgQZBOeAKYbhnGLn0wf0o+U3FoZBxi8IV9YBswIs85RtkLq6K8Svq2JLvbs9k4+lUZmo42ILIhus7/Eo45grv7Uf65BhtFji97y6V/sNmfmcYdMCoUsMfpMK2byrm8zSZep319tJ/t4ZQ3d6kqlJktC4D+00Wfgr9+pPekzDGApYGR+YEuwLaatZATNWBT0cubAn46ZaBNlX6aZRIr5IrlVIpZh6e5p7JRfV4qr24PFi5I72Twc41+mttAHcPtAJf3N5wx7l0Zfo8stT2rozITAkdQqcMMx83ZfB756FZROhyB5eCI5t9YBjNHZsT1ckrfm0va+V+FU8YHFlSkJgtSLpbavzx3cLR7cWtjHXtrHGMVB5qXE40IVIj02m5pjyVJ8yktB8U/TlJbzl8CpGEw6spG+arQmsEsubBQBgykeDNmnc0VLTT/KXU2v86O1PMrGpaer1mRsUZAiu6Cwq7GFKV3Dvsv8K9/GnhRgceQnn1PDJOnUJUxQay+0EAGOYd5ivecZleFwDAQH7zd+UKlc6hnGRF1hmuQFlZrLuRlv+aaFrOZ/UQerVCir0KdNAEFx3JJtTlnr0Sj7s5hYlpBIingQA1zCq+w03EK+z9vF41QECI2A5HJ+Nwpi5KR4427FwCC+YOXofalL5RUdXV79gbkK5gApFS1XB6RU5UZn0PQXx8B7YD1RhjmMyhOEsuB4fIIIDv7gIzxiDiGqO7Wrzr7O65yIMAQSKgTc+4ibs9m02Z3F9XpPzfaP0HyU0aJ/VMCzIz21sE2WauA4JfgLSk8I4xSwoYeZRhT4hEqoSmRJGC41Ukic9FMuMtlm8FsoT32rANQenxlZ/nXakBxC36zfzwf3pT/vcHharKOJp/pgXqJdmgsj0u2Et1vniNuwxfZeWjdwjKT4SC+MmMyq/BL+PSTJ2SHSDSQy/p4wNT6JM32Fmz4P41GGJCWky85V+dSRSKPYkwMwdICXTsARWyCfJrPWtzQdMzhN+/dfsOcFAfOGS+dM7dYucsGTrvg4ePKjFA6T57qxtpjJR+sZ6x8w/j4AaG5kZK14FMzObRck4hOWJA7mKZBmuAHT1YlrC+Lb130Mjt2uizCNBb/4N1U5UyJFZ7Wp9xeJXuEunzdgtTWJkXSTm2jhabrTvnxXUcEVFYwdpN6CTn68vcIA9U7Ga6xPW4YZOCe2VTn7b/IkJYGonPMcdEHslighcUXLmKXygl0c+hF6cdOIQulwEVWLIqSj1l8ckwh4Wmc2o6z9hJo0Ga19Q5GITSaYg5OIDDkiz2eXwpxApT1xgAPAStOLTJ/t115r68/2V7lG0yYBSaOiG9QEhc2ycVnnyzdaoe0ZkmLs8zEnmTHJGyw3gA/+Mi3GXJ7Bb2gyIB1aUvr9Ov4CuM4BuxKuBBNU1MmxfzV1sIgjaBIMpLkhH52QYOg4yr9pqSEP9lB0eoNWqv5CWUoFSDpxASMh+z2LCXENo6tGMj6jwcXBAa9iJ5PnUWoqnZyIUZSlGddOaJpBge1cWrQbatnNb/FQ2LAl5SS33Qbre2zavrxfAb92+EYVLRy7/Cg3fTfoE27QgULnM1fqmoGUSUVdpoSDrAKSzcRLqN+OOglsZn1KXkusDNmFMUiTrhqU3mQxpbLyHCWu9ZGW4VLjRJp5nQrgS0MWW8Odkr+8/WFrV3gojUBe3pFeAs6T6qmQmGVgwpdcBGU8b6UNAFWZHK7uAAFKrxAr2a2CEi9CQGKljY55AUHvuRzlR9piTEC4VvGyeQKtcpypNHflZXzKlKYuo/MTc3aZM9rRjjI6PIqreN+yKnfoouQ9nz6tvVKeo6H/Dwgmh3bYD3IltaigXpI3AIedxGFs5E+jbBSkEEnWD4z413ZLPmA7p/i9+vi/7deBkuknAnUF9Wt1W2O3sEE+W3kUXdnwJuh4AC9YNZuPVJ7Qxuwdi0J3We6dXpK+HK+iqPLMovl/yI4ZIq0cxkVNqGvZYPSbpR9SB6DeD5i7DJYXWRGnGqStgR9SFsUEz71ZJd0fpteAAp8uKBOP4iKY7753iIedHqX4jBlDjPAG9H97spfy/1gbEl3A+vvNdDUYUvBx7rPcxJJSg0prb9cMGiFesqhpGR/kp2ssLsTcLvTl5Jn+MKeBybpDmFgop+8DJWt9c9GtZU9yUYsDfd8y12shy0Uo5in50pgy1t7AOtVguZ/c1w5jFHKVnvt28T5OwJrQpuPbefj7ZPSyK3kOTIr1lDGKfyIR1krCXeclcVMu2VyNNI4mViP2Iy2BP0Kb5WTuSRFrKF3S10YOtk4zYtO2EpIb9qS9dY5r5iruKSp4D1FZdpK8i+iFCqe/P0k5X4S/bfap2s1UeST6bupVXW2tzQgEw0/dtKDg71V/TpwiRJVFv4brcrCds5dFbzJecDDAFjisczoaHPVcBgPPnE8K+n5jJxnPbuW4kEkyqZlMCG+orD8rtzyTIZrq2BwHGi27isGIk0Ezyz8hMPhYCZqIkj828tyMfcgZqJpv7CkMUJB99K/iUT3cJeb2bb9G5zEzg/0PGK4QKKy8vBOS69xu24Aa4O74uwRD7sTxBqhDb/4Q9V8ESb7eB0iazzU3zIgL4XeMoLSu1z/5khq4pCLwP+yQutjM2bmZUoBBz8HRDiLB/kLaolzqvu1Oh+VRiyo/gu4BIE6xkqhKJX+iOUd8PvnmLyhkhaKa9T5+7K1/sTy3JUxWv9vERZsw74/sTs7/9o/zgI9qb2hxVRmz7f/nHkC8M7D1p608KyDUWwykjOa3LKJ4UPrtHKgzjdwY+2UEU2OIpp3xXMVYBPRlGoFoEFAzn2pO5j2shcGQegAAAQU5NRpQdAAAAAAAAAACiAQAkAQAEAQAAVlA4IHwdAABwjwCdASqjASUBPpFGnUslo6MlJJOJ+LASCWdu6AxIxJoBqiJHbuP0flH5lx2og24P52rTj96nyGz0r/kfRp5R4x67u7naV2Zf6Hv7+P+oXck7PzbP9t6B3sr9482v8jzU/kOf//weKR9x9EX/F+sZ/w+Vr9n9RXph+j2RDkmA+S4M1tps80G24bz+WHk2VnDZTffCMuD5uKmIuzsFcUQtiFyDroBroywO+RFpRFwx/XPHDUyXELfxP3EAQFOFfndVeLc+0K+EiiI3B+Vt09dGWkan5eFR1Z8pa5YP8ydpfBdxFtab1VX2w8LyqyT/6j4CCT90IEQZ41DHloqjh7MW4zKtHPt0X7fAUERzXKvpYK+DytmZdmfAaKm+/3pfZ491P9QeVu0GYQtZH3Sdd2v1BpvZSvW7kCDnnSGQ4QAdYQIibX1hSEKwd4AzXxI/c1ya1rq0LtWutw6yNjPdhQmKUABHpSgRzprxFtKMOpvlb1NNrROXzU0oxn2rwfZcswI+r7Becm1IZzoooZ5Bz8OHw+RmdAnoMwFCPeRuoAyKJLYDpOBi6GxZZ9pbqgGI0qxPIqqWJdE+yVp3G+JwNVxz0Veh2qR808vkZ78kspWYxXq0ZtpHyTHvwPyG1URjNKdPtJnYjK7ImjYdKj8hcPnjBuVXdUENMoacga/c3V7g2684DgY4e8mMnI70fAuiviVnpsAt7y6EPEF85yipOFkeuT4E4FLqo0wgSo5QNF97tYbPy5nHLacqlwj9i9uEHbkc3irCCxo4Aj247ZG2Hv0Ondsu0tj3Rco0TabWW/X4nhkjK4e3UpqGUnkKEq2CnLMUntUyRb8NHwBY9lPYNt7iwUOFc5FOoEnhkjA5Uc8cmG1vzVEG8mahKcG603KZHadjaDdSXkzcSpbdt4IhfFbDdnOF9+j48nPbS/YhFQDo0Dc2OlfvrgIepQKTc4Ot3vMhybP0maqFriKaYVoiNi6SmpxV1YLC7ynP/jIFCMRwmy9DnoZkI+BhCKBvydNC+jPUL8TG4YaTjhqwQmBU16xRiESH4dDECGm6zvDtNPQLb/uL/T1gmL2lnnXhJfy6FJMX0DceVi+3kKiUln36JaGcvKNUiBSM6N1esVjSRn19KD9CJinoqWVcRiYEHNWPD3ltK8Nc5cNCC9YMP3BtSxpwpzV2Q8TTpbXcNHYbVNIKkwYVYR3GJ8gS7UiI3ZYQtNK+qmEp/Nhyws101hIDKnQN+cTFzV2Q7NF17HRp+f1ChfBchl99TA+7D+7x/sWTm+Gd2RBjkNrzBJ5M5Y9+j3iu3GqWwTHMjDw840dMqbi+g/wX36Pkt9NqWMe/R8BBY8p6uyK58oQj4CCxoG/LIjo/LHyjUMFtA1la6PMBht6HeiAv9fkzUCk5kAkbBAUpc6oMVzg2UfpBvEklK4zRX/RniGp/YWwsKEsdWv/XKO6LwnEHD2MncnY1tuSoCpIiU0ZAiN9Ywo7qhR2sxcO+wRtmrYiCVAmR2gLj5NAFOYtK4rqO3qIy+VBQL4bIbQk8eLV7jVAAAP79vXNZk0So9+ZGCXqhUqHQ+XHJbJ/+M0iTdt4IRioj+ZoI2KHgc/u2zPotXj+En/CsVSkfKPq2Sg/LLsWjEXpD7Qr2IM82TjaplYUtSinCMmtxUk7h5wSr7CcfzUKy5UQC0KPBZY+RXKO1cb3pE/L06anFJYUCNlfIzAEtX6atZGS4PhGx6g4sdAUDThfpFZ/Xuqsdeyng5OBPsRUL98EuBQ2ix9ef6e+n+bsizbDdpvuspd+ebRfmt0j8m9LwIfzn4VI/yiF/LOwpaE8gngrIuGD06Ng18CofUDWdCQhxSvB3OM0pQ1JOR+AhJCgU7Afir37fsTEIYyXj5GEMc4W72QExMMH/gpjCqITguQDCR4+GBdYOlNSETpdGx/BUKcZrVK6c4D/iWKnARJHzIYxe0bBhDZK3NJlcbVgwA+eBoEgygm7Escr6FaCWqah83uB7T17biTUb+s/gw/Ofhav+fAHMU3pyf3RiuiA9Syg1g6f+vTFnOJ1LcAWKOI/qSsgd09+U3FwNc0YSjfUlcqqdCd02PKVx2O7uac8n9vqD23RFghlBYyOx5TVoUXvSAl6DGzQXhLBzdJ670G2+5S4sP1vrxZnQyZZq8U299PH5Z095EsrqzBrmykAHE+Gu/XdtdTQwxt2YxYoly/Ox8PzdYeIN2LdlBakFAAUPXs4FeLwUoytyOaM2cGc/RqOYwxlX7DXLVY16enVwY/iNM84vcUYgn8aTV66FacZS+TOxhVUI4tW0oBjupUpL1HkjAH61g/mfoAwf/0rwWd88DRrWAK7NLqpJGrt8DNke9P/M1vM5y/9RjTempeEEIbj/je2Ns9oanS3BWUDuAEUixHkC/+0aNQdFtImjAlGw+hcfMr8wfhLfkOr6JfOTaaDynMi4ddMWgbVxUE/0oykTFoNk7WFjn31NZUDGVE8F6hkeG9Nu8i1IA5YWk3ftRNtGWce22GKNJWB02oTyDWMvCyegloOTQJpMkZKcK0pe+Cy5STgQCTp5tD4UlCMT75hpjDszTEuoXf9uMYW9OfDGHlIMbIDaeGP2gFF4mEN2Zqp2DL3bzo0MZA5YTI0CfPPQdDSMtopETTwXKfqjQE/mYR4XDWfcG6GGB0Mbc79f+HLYXSVP7vMRlrWe9SEVGe6uCjkjbUDV2uOIvE9ikQSZBP9OIQON2H0Uz7vY/s8DOtxjSsFap28i2tdErriISpIkeDRN3qEgO58FRqSPyHtzonTBAyEsfJjhqNsus5nztwx7Cv8H94804rooBRtv++imw5ZsDR3EUaFJVQrQ1MDw8cQgRKIgvlcRpbrbl27Hn0y/f93w46XwMTZGHTTvbvDUe3UM90VROaIjdZpIiae3f2GO7jZNjEMij/l9DLE9ykToGxQIHKuJmIOvdR0RLbLc/NmZbCOMFQUX6IVNOIqFpKB1Fiza6tdv7P7z58PLgIpdPRObGd2vn+CT+KnuBDQnZMxGfNemXThAL64pmRHOTcEAtNFn4BvYUGo39kmPUXZ15qZ5JBGFIB1P6R5dxuaJPP66IqC8Svs8rcNR7HoOKpeApr1/kGUzM+IA4WYzQeud+9D47OpdCTOiETn77Z00N+we2NGlsXydomTvnWKdcUGdrL/snE4v3LmuZVMDqXWbW2xjAYiP3lU9fS8r62TNtBoUJnT+aCzgRq7m5RyhvznaEfXbF5UKgMQAKvzWEP+PtYZao/KRf4GqghI5wkre2VNv6ukuNg5srCWf/e42kN8AkgAqfe+0JOpdTW41XB+ja1FV8OXyQyT6b1l8mRFrB0HrHTnW3mfdBIliqIEPNv4ZgJ6MFUm+U3CMXoDDjfPerno8+mTPHJJk4SA8tfDeH1R20cQO6wdsBxkEweGUCGDDH4BMt1MViiqbzq9YW35dhxSN8IDavwgc7Qzhe0cKtp19LJyGLxkAaR0/mWZYG8Wcm2oW5hJuLx11bAdCb0m0NjTrKsFbggdRbUTKC7tPej48Sb6wsPLYxjPsG03QG6cIwPheY/oP4MgXW5YGE7n1XtrRGjL0tnawW5CHLnwO+dvt39zNj8y2cRuwjrKtoJrKEeuZhmJ4FnFQFbY9nvL2zEFeuCNaQ2QG3a/mK7faCVY779DxY6OpdRlhVwB/nq69cE2+V6o8HCGOKDxKYnILy21EpzDzi60ab8QxGBgaMXCN0Iy2MRuqdRnQ0bXg4nnA4kEiWANw7hX7+JWhznfPGdH92HkdWDC1WSOQqn4TV3fg4nR0rDIXyy9ozga2S/z+Tc4HMmSU3+O2hLIFwFAj/bqlE4qoq1RBi3kbszeojJezz7JHvOokyogz2TQTDjJ6XlRAsJgwoh9Wg76nuu9UM7eRuWCTwbiA5zjvLlP+8es7huViNduJLGhJJZH43aR8JCLJo0rMqXvUx2gAFiYdTEbPN1Bv9hij0WPzTn6WsnbAAB3Nu0SiB+bcS6moRO7WlsL+7D4yivd3c1MXxPBNtcehpr29ToSGXv/2VqOMQcglWS5jrdvQfikeb56J33hw94CTRMpgoZVwuJMDEF8NtoGNrkbLnpWYojKqeD4ZgiJzoPYuZlks4PZb752/RUVR0v4JxHmUPtAb+3Zrt7XfaNtri/Q7GkZrZP7LhS8L5FxOeuABO54KeeEb/Fp2hOylez9OvOl77SPILsmpHgbHJ+6by+A7CGpxZbMB10U12WNQ/AEcaqLhFvZJCyOB6IK/gTcGA087CfXNc/RyXgz5KYN0xOJDn1K4pgz2l4jToe9AlpFgy+Q57FEYKqJSvzkYJnyy+6jQtRvUOMMkrpHYM7o2/LPLT+LEk1qTAKO4mS+Vqsi1FRPtSBVK7Q+QOIi6yzW+3j/0z0OiLQd9Xi6I9ksVcLoEfjkJdrPzs8ZH1Z+oMYHjo2VjQ+Th2Yz1zgyYnumjx67SC0WFJB/B81dJlMkG2ED5+7jv+C87BcUi4eP3eh8DHmrUVQxzROe2zyjmv4eEkTAH8R0AcEDxNP/ZoQE0bPotMO19gNOXwbC0fwWy+BGteKZAzrW+nfxkRz9tNmkOZBXmrNyoQCBZvqttJ514pboVb/gxNybOAvvd7oa56PP5H3mSggBDSBCfkSLGMv9uPDHub3CGqt700tloIGAyAo2W4lma1k+Fq4uiuuk3Ip08YkHtI23Pp5utz0K39v9S8Z9xqqG1P+7vQcbFxdhmX3DxZFamExjUaGiRlL5EcvIUbagmSbCCiY+EwpqtaUviKgyCsNruEXBj1CF5ha+NMDHShIdSZO07qXhZcVqprr2I25GSDAGuYFS/zxiwJtz7n1S8xK5wFaMzEOF7MQZt+fSc4XM8LMWC4FNjKYqz6xSZRAQb7IoaTEXFOAAn6X/+/8qU7k3Q3vc4RUEIX3TMRmJpNUHrVFY6x/YaJ18phVJjGEuwSCiba1t2xkm4U0SgyWcra0V81S7ls/M96mdos5Kds8/GLfESGN1q4X0Wa4w2rMgcXomCuQd+IT3oQR6td3VPxJLvS7Ao7LOTUypz8+jRlSb6Qck3RjHYCT/4os6cwWzEt8/QeAV3Bsz6c6uiPEHBRRdgLS1Icwm29iYL1iBN+TqK44PrjmnF37EWkTU/Ri1AS8WdhIg1t6/QuiZaiw5MgTdscR3kA32opPm4TZjzNJtvxbINcr21ntv3Btgu987JPxSwk0VaN3Jyu1U2nDenBjsgo47SWZXA29fQKHuI2OQMXgCHtjNJO5cXddyC6VYH4P3d+T3FoctoFANr4YqRLdzqnvFyJv37bQ3Z9u9Q4gQqkJRpxoCVsd+AbjyyA4XrH7wAll+7aHgCHmab0Y0FXb6bUBAeIAxKSI2lsPzA47lFrOjgAWrIYDoKH09Smu5nfRwkivmNS0YHsfmx/DRR1nHvNd5Q+1vkNNolXIU6H5FExdH7TjdGymeclr9ElAdbZeYb+bDMFyGt1W2Xi71BQIHVQvhs8qX4geiJL7IMsWpBmrmceuRSce23VgsN53bCHmVWxXjW+XtPAMcOCjv6txQhONniPKxFPtIrl8fwf3Y+BsGq0gAR3SRci4mngedzb+K4NsxpQkOrQHUePEZ3V2zoukfjNGADI1GoJP7HtKqNdInlTjDwdKXPKaaexhik5ZGOdAc7Ff3CcVSpJMwmmuhS114wZIavDts3Bkgd8g1u0oagUzmmGi80leVliiF//Elo4Oaf4GZMwdPgWN33XWVQX21n9onwkhtjb0VyOf/WXKOtFQQu8uoZ4cRJUi2UBTHj5xO2CvXpCQihH+UXBkoiX19tk7uOHHGO/myxLEv9+t3dwHy0dZY8cwUU2YI7n2chCuPmTiP7mrT54NDvgVY9mNnu5IZ4Wx66SzdNQm53qFfvOQ6LF419O+dYTqn9TMSrCnh8ltEcWxCd2zeLdcPuG9UkW+i+rUb998b216D+qI+ZPELwyB9PNRT4g/ecQgCKf8oFF3/j4d8qyMf9CPTJgWQrEQ9kHnDt3LneuQPYumUyav/ctoEQftnPbZc+W8UHZgqjzH1ebVWJ7PJYREIUVaJzBHskbj7DzYupuoN0KXC0fk0BKesvsqp/tY2gBnKIiXCqZhkNAbORvq/stQeYuqwdzQlyU0UlfNteo4yKU60h2v2DtGyOOBg9gu4xcP6hPuiR8wjd+s9cmP3frSm6tPhVrQT1I60uRIVyKoepaS3ZiB1kzM08GyYyf0J/ZPzY5sJQC6Z5FONy7u8GQbpCn1RL5WEStHCEObH8mfz36XMj+yly7WR7eABwoNkYVawM+Vd6HQnS9XB8v//zFPox85TelQ7zvDf8R3hvPluIsRfF4yR+78+g4epgpq/sh4jhVGVGoId3ZBD3ff0mZVI/dGIs+baZXKLjMDPmQTgMLZvhH43KFxySc5eEaG8KoA0gS8XdHwHv9Isoyl9OLVtMoIjSXqN6+WolvbLCTrJByWEq6UNlF/NZ890GMP0YAOvuM5npy0KttVUwxawGYMHrEaYEnCSxySDlrWa0jZ8bT3LdtxgBzL5PgK2FPBtfFkRU+BLCctpNBhTVmgNVkuZbO+eA0HTmOKuQIIrA3s4mTsz3MzsC1UY9GJKVNfcnA8cFgqgq8o/39u4HaLlOx2ZXw9uHoCv+vdZSTjPipsFOw6lmPrw+cKn5/ZwY2tv1EX73VnhVbWbEw70mW/apUpebDW8Br6y+Ayn05ahdhChhJTnCd9VHpC8H0CQIv4TquvB4I2kWaiEfIPNtUpj21lGoF2AAcYiHoBz2cKTgWy+CyYCPL5vrJYysz9z0TLsz8Xg9dgQET/AoUzcTZM+CIEUlDNtL71tgYEQzkpXtPSESXNHcJWuZDN2DNVWXmA1eA8aIk6+SufBveR6SsxiwCm/JjFMJOyNpVaCVJTd+VuDitBa7D77EdYQMsqYwt+7ddkeAxfFmj5rU1A8TeVSJQWMdqtXIliGFWeQE7hkLQalv6uFnlISF0TDBJ/EBmbUEZRqVkXbrBo+8mu96mEEbCxgVmvwt+l5O56xlVTxj3TxSWCn8vveen1wTX85qnxznWtnhMxdrjQ+dH1ZFUQoAPoiiAG2ABw8kn6GUrtksHvOzxKwWIAJO6Ryg7MyQjt3x5835ih8ey5/7EuyJchMiEpfKWxC84yb/n4O0aArwlxXekRyEltF1vxXyNtOJA9UBSNIqaihkeySaf9syG1KH+IfZybyFVU941N5hnKcvRmSO6G7IPThLK4KP40xFw23VbZ+iEtsBRPhj+wcQjMHj0VhQsU/2ALFclk6dIyMh8J/xRtpYIo4cpLyHrVjnoNLjovN4EnibZ/jszUXV1mKK+D5WistNukE2IzBPKjkftzr06YA7Sgsm2agOmss7gxJS2gHQHotymUqJoJoJNaJSBV3qtlori0H7AcJpA0o2pstZB5SvPlBtAGQfXS+8L79paRzuVyWxZDXnHp1WjaLqJfgBIDw5MlAJTqwcKnLS9NuSFeIMIhSZCavMQ1dameSj6xSjaStamsG5/SsHjWjpGHwjlsSmoJpdi7bss7nDeI9tJbX+4inmwbTDU4Rded1bRRBiz27J+sgFFtTLsCNusEKkdW2tvqOc6WIxpj1pvOCj3lfsUDwTq2U4+gJMRxzHYlFhaw25EHNRuz3NX2RROagD2lajPVkD5XFleEL2kBYneskZMQBOExpjZU/+TWgtjk7NcYXumILOPAt0VEm8hU6QkRikwcA8RyHJkQBp1/M2CeA6ElArdSHCJ2XE4AKCXIVKic0vgD48z/MKwkHdGh1e7dyfXllWjPtTMBXW1fXeCROSaWx0qDvdyArC8iVuJIINfiBNfm5m90jM2aPVDNrimMhhgyx/U1ipcEvl7tWANDpMuluNXCIfhBJZtVxJSR1Oid7/vnEGLtKjAINDsVOJAbnmdyl+oZPamoahUl99CiTfZXPxgvl0Zta2NCZNcVwKY3Xck69FrdtuL4/IhCNyVxvVLRuALBmTXgAiAtNMCeo7kM6Q0Adn5pQ1hnQRR3FN7aR93nrgvudS4WEkfIoUls8Xr4uzBOuu/c8XCw+qJzkStIrcjl7OlmpEI2y6sDROcPOVf5y9G/S4O4QwgAv5hHctwDugdE8EPtS8ZdWd+GZcNP79+rJRf6sw2DsVfgmj0CIDpsIghirs3HzHQE+hNTFCsrAjjaPtdKbHRJ9cJ96wMncyx+SuVopzFFNJmXjo1DFD50fiyMIftR9EqhvDtSprTx02YKoJoofVrHdd+4PsFskX7/r9/0jiL0AmIMh6lSiV8lHQOXo2rhZK6ro4HJzQ+6UDtmQqGgxL1aTmnSgDiZ6DjKr+6owsfMH5rLCRgeSnfm2tkX/JhORz+qDat2BH5U2N3mf4OdwbkJPvIF1JBxrjeLry27GSBCIkORjfpgiD9Cf8pJrHmt9SIUXtdKizKT2lVnhvgSAOfzqhafnyri84DInBGVAqLSwI/iUJX/eBC3m4rnhXGVpbPN1CkihvonAcRiZZZ/qCU+6AwI1hievIjxIJjnPzbdzhHDc2tTuAIdlRb8t3PGBRDDol9eb5skKmgZzRYtaGKByuZTgYY1YDnKZzocRAgpv+pN6Wa0BipaeqB9r8k9pwIQGzupQtwnkbJQ8reWXXp5v9Qd+sQrIeQ7sbPTaz0yKR95jaRay9fue1oN76wXGhKR7Z9IlM9CQ/N4ZEEPrPtiD0TbzjQym19iIvZAMhARvWDN8LgBLqZ01ze2v7yXVyUu7l8/W9uxUK4Jk6GlA6Dldsyb2ehc4Bf6voNzGbgRDyZdILLawgZrfiTrGzq+rgI7F5abiIRxQVKRPQ6zydXpUC+hOLFXgVo2mSgiKswxjSTS9LrXNYVcc9AkmMGQXxNwXOMjUQ3LVSkTG80gslRhqIj7eB2hLvqGTFKkgeAAWIAAAQLwlc4od1t3UtAucN0626HC2PQyTOACLpVkUuSMGSkXtKRYYoJCKa/D5D0nMfiOePvG/2YOquF+FQcvNeYH29/cYjMspDAnK87kXoO7WdG7iJRq28bKFyi3AHiO8XtGDpNTQsS6zL+i//Hz3GWXkpRPsmazqnLyZBBE41mLRnRVFxdWrBg3NF+OfxVxAQjbBm3THL00QJcrRZXzUA9gCU3TNUujnjLDJNPbsL2/Wegh242NK6atlEhOjulOW1rgRzSFMeoBawAAB6+Bw06ONH7vPt8leSczY6M5Iec6kqVIPwDmrqGkbzrS8FDngW3h1Ty5QKzNOWuOnH5nBUqr9W11bEqZxBcoYv7+8G44dSj3ThX7cERY639b0Fm3mq8kDLtVeov1evaKerdmWPQlpxLFD7LJ+/jQWHRDo2yNDLOJnGPOV3evwcuSlAuHFcb1/x0+IDSRLV7KBRt1B6cRTQk7eMEcg5MoPXPqfXmywuvRQ8erAU2YwQmtjBt9+LVeO6OIdm+AaeiQoWcwXuFSYJYf8WjvEsBRoDPLq+Xi/CiGFJBw89u31IV3bvT5Rj42JGGfk6hBQAKIHe5Z8E8jcBIa8/mRFAu7uI1zssCxkw7/xkMXRJsTBRPseSn4uQrml439+WraO8oXDtCLsbbgBLhGYlbtl6F1nvMnKYsnok1fcd3q8gLC6f1LBEFtwyKMijdjcyILO58HMmojTzmBXebMtdcYpCTVr01rkwHf/S/Wufuw7U1T1/W8yzKvQI6rtZoHd1jTzzIxJXAdLwsXWAtYahL1ejRstoPRDw0tA74r+YxDgJ/MnYFMMU+UMa6cxyRTHrHXA45moT2Y+KIfgeG2Nr04fir6XdOjTrYAejLlarpDqd67lm7ULB7v4PRJx+sc57wkO38SyNZjHmhX88f5iO5M2N+K4EBA6+R15JDncAHqWe2usFNoYyXU/PBvGe+O2P7jBEKdGgbGEWeHThmhFD/32Ma8+PBnyvfzSb6gwh8PbitrToWd6XThf//aP89Cn5p/Q53++dt891JkeeSQqnpI/VfleH4+MnfiCBJ2ml4/Zr0r7NKJ2cKHZDAE1eRxUZv1cURh3P6aHAaE5p3hpIVIj0UDebZKJtDVEluFLC4Eyz+VjafCO4AABBTk1GfB4AAAAAAAAAAKIBACQBAIIAAABWUDggZB4AAPCXAJ0BKqMBJQE+kUadSyWjoyGkk0oYsBIJZ27haaZAGpruaTL76/a+eFzf4xyFcCLu98D057hnyAPRx06b0AOmpyDuZV57/F/7Twx9AM9a8/ah2aP5T9kPHf4sahFzXs5tt8wv2M+0+cJ+b5qfwv+y6NfBB+6/9f0P+sb/xeVr9t9RTpjejWRjPCA+fQkW4PEp1lJ3p3aM3B6yiujTg8OsoNlBFZEoQW0GdJ/4rdQesnx2nYZ7Rm8S7Kdu/i5XRlMAtAnw/f9HNj/zaxSw0cFvyR94GKDs2mW2a0hrem2hGAFRCY3+e2m5MF6YugLU3yYwslyqw428x45JAZWbwibD3wAD22lx81RqF21svofeRPH+7ZeIf4GR3YpbaAx02pqNXyy2MmLTl+bkS7+ajbdZTuWZjAs/vulRYAeKTBinAJrHyEClj3l2yZZ/ZT+oZl6Yw4cPxLNzO66lpqRlifYTotRWhDyTmQsZJkuUeqRlGp4K6oRq5U032B3NX7jhOr82akZaECHAinbGCWqh09WIbAz8xV/MZizoySD8wCbId4to8Lvtm6iwGI0bL6wCaVipe5kKgNUyNK3iF3KdyppXG4Mno3SZI5px+7RvYvWAaFEUiVEz8idMC8ZbLkSNTgVD4d2gs8J7RPnwR9B0DPjNwANYDL5lbAPuPHCtC7CB4A17tSkP7mML+wn7VOORX7yAeFUuui4yp1VeAeYKY0IBXn6/lqYbEcqeNB/2PeSrNLea9HHHGW+5EjwY0ieG7clmn+efOX3znQJ4h8Add3bkNSzzvih3fUnXLPLbT5KEAeDxW6vwQAB9ySriBQ/q3jE8xn7q0+KpSrfegCsv7O5YsF9+KtmFuhnwe8Jac7hYEaeh/pkF2rtngb5/oPZO9jCRSQ9fvMlRkQAB9boP++f/fDSzTbwDimZu+WkxT0jzn3MkPnsXDtpkKqnFSMwajXgNaPXvs/aKQUz3Fm+iT9bGsr7y5KXVO8BOhAlb9uS5/Mo/jpfo/S+unrbW+SnjaaMeHnjZuW5t3J6z0e++1TjQHSWBQmjPJpqXKzAR9AkE2n/HHQUK6cxMp699xUSTuBz3iX4vhCept6Fqm1rKy5Z85otPFGpWRXQdKFyoDPKHrmBWUYGMryhTtfmt/ysa8Z5z/BBsRxEgvAzLXu4Jz0G01ju207BWUsb9F9yMYPlfOHmdK+WJ3xe2wyzmEwpXqh3iTjih+duMBdqvtWgHDxun2eeweTxLPZkoUIAA/fKQ9kQUmd+rHZeFQFcNxVPHIgkgA1FzcQMQQyD+PNWMn+uy8AJwUYLH7dHumhaq/Wxr8NMBPYnDflmgG9qey89i0DSHHBjwG+n2dBucpSQfZpYJeb6UtI7z8Sz2Qi6VjRHz/yBLGRkOfdREzarA6y2+BkLT+zRCJZ55D7/Es86D2NCAAYQxquKMwFaI+g9jQgAEfm/EXjknkArManQSd+Bdg8Atj4vrGZigjgv52ZL5zT8y9qGZx7r7+Gv3jUQMEkZRULu52U2foWQDgS4bgLTnXIzurM3nv1gQ4qs/cl5bBM5u3Lo1T/V/Tu7UNNCYC8svJswPo6hnqQZuE5PcscUJV8YKG6ff5rW0UB0TuBAjnb67HXPjUOptwAD+/b1F8B5ZXxlmya2UTaOI5o3+Fc2ZA1cGcevbOrC6O5V4ZZru3FaJxf3TON/nPnidyGM//+EOpnILGa10iCKPyymhh8/M5yjM8K8Gi/y3lm/uyjSoF0d2+B/q0eNA6SRNuWgze4TKVzFpevmS1Djo2RFNnjpwALt7+hnoDZkp2cHtl53TBX94SGPW4sKrn8N7a3PpiMffQV3/qbbMR4p3RF75Bi6Ja1ybFWGRVY3gjz5B0v+E9vwXtFQ7YIwexvhS5w3rW86lVv1BdMaddB5qNFffJZ1sN453BcjzJpKsA89OfeG373+qOzB+dgJ5+yHs/iBqOklvmiETflYLWqYWBGQ+Bf0x/in4/qQoSPd7peFu1hfUvgGtZwilhswdw/M2SmKv8+fK03ZfiMNGT4Nu6ldiQFCCOXOxL+KMAwG7DIkKvqoi+2Z3mxwgOoqM+8NUSHOKXYpXhl1ULHhRlGMNIJX8+VLTZOR8S5wcCHeuLy/L8Ys0iDR78yU9EBYsrPj7vSpzMMtY/6mqv2OnSo1a/+vrE/snTq3QFXrhj6gxMZJChpahB2oHEmY4ULNqY5C/1apUuWRIghGM/E1esdwhuNLA2X7RH30O70SX16/oGKuulzBqPbedz3+VG99d6a2nps/mTPUqrbsZ03GRpOjw10xbXHl62yVoeURPEf7pLNDnAUCH5sCVDuiL/3X/EP81oIJRlC6apPYffmhX7sQLXqGjENB5ftPPb88WOoW2P6kTHjpVQtVjwXx0vxa3qhzUY2/we1ekC3Sr9/Ikdl/1T6droqTwq+9HI9dSPcT1Gz2V9SgfMJZiv1UfBeqtSXow0WTHRzSvUvG8a2irOFK1L4PwJXOzmIHZfaz4QJpyQNoO9uhXrYaui4zCTg15VjUmp42UxcgfDggRH17LNMo26tYn5874dAlGgAgc7hd/8Ss37KvwzEajORP1ZjrwegnkA1l3+BNGSq7gtPyJfhnJCZxcNTYXlfBeKOeLD1r6DjCfNa2MlePsrfCBqtEVNs8U1WAAkPf9MZjrdy1YLDwrivxN591Urq7/DaT5WdGamFcL2lD0iH8e4mCAMNPfDNNj80gaxCngs/JVoRlocNgW0VmZp24cislnpLMHiUQSUgq2pKAWO7APAWYUmOpkg92n8DXrq+wMJBydWsCrAO0auS26X4CLtzO2v5qFlWjQ+ZUdAVDjQpcpFoES/sxzoHxmgaW1Ymr9t3o7GJQItUnSYYVb05yaYiotWkd1q2YCwbLGThuak49mHv75Gvkf3/i80ssXYFPTYbNYb9vKlAwJtWUezl5kJqZPHELVzAjPozOUuyvT8xMn/VbdbZNwsp18vG17fyvJfocl1ELa4ETFEjnj/TYTBiMHhVfFuWfcZt/f3DFbupyxNsFyW8v0CNeAUAx3Ije1OmNsglteGhB3UX0P0m/en1sVLQ8EtWVgL+vEmtcNY3EIGtenvvpyuI8280ALW38Ss+MZ+F+8RRDmEIfAPNUQMPINGAm07VCerzzKYTtH8r/9lf3npmUDXu1lMWKK2H47ESPr0P54DaXhioiW2GZW+MqKaGmCkRJyr5d69JhihdgNEvcZmR1GOM6Xl/nmQsFPzh/CUkqOVrr+U2i//QNwQ0Bi+dL9oYuvxtUf564LfVDMKUjuj07/fURd52waYiEAD7qgapAyvsaPdEWXDP30/0Fvsh1ytUNezKKZ114pB3o0q/r8v/vuk8SsvNpDsjEAvDXjVdL7zKL9fOyPC+5DaMZzGY7IVOfUI1f0ljRImp3USBBZpV8ZrF/vg/U8J7MVJx8Pa/tYnqXXLfhvQ8Zx2fbZCNXida85XZWwuf7OUCAwp/zb9+W41d+VvLLDYq6+Rgn6NbN0jpM5JPQ8yVqF7W0I4F1k9+B7dbk9Sjm23oDNCCoVeCdptuz+5F9uu9rGtxlqE60h8kBlCOOe7QcT5GUIeBh+UWzUOQvOCFaIJCb+KccSsvCzs9VGYB+ByPFpM3OcSwlQkFD8C7HYcE0Vn1H/olnXPrr1itiupvmx46gKXBhV04OX4HZq9ZclzK3hcT4ggWbhDuFMefZf1EWZSH3a+I97jrH+n8zJCYb2mE5qDBzcUzUOfaneyZ7dmVibgQfHnB4LoEbaje9EOm7InkqqOW7vRMXPx3m4GzXGtq5aXIO4wRUucp6SyBf7Qfah+wbSCd+ldvAgQEsafKOFZ4T0AwNVkUH+g/LchXhH7sOsqOpxSRB6++O6IN0Dv9U5ggXcjWs9Cs/1Yn7uNYIjCqJr1NVEpxXbGqokMv6/q6HFqqxcFmOl5hSUJNEGlxR0PDvpNWm52osGnVYeVU297GE0thnESD8Zs4Szn7De+NzCY4hHZkR4VU0KiMz89fPfvuCE/HaM4NLlMekrK2Du7WMQF3JJWtxKgaRcEBe+NTw/bqynADlrtEJIzZevFz1tERV7BZxpT1UPsGAOwe4eVeBHBRr3EtVmlg7aWb14BhEORv4tI10BGDfIrkMpzx7yaY2GJsAuI50wE2vW/cpI7g5txVUgSS6Lq5ozQhus+cFuvP31IpmfGSdyC6cVFJzFhLR95dvsSThUTQe+2Ns1zN2s1SlRnatk42IQN5tGXgoBAaduX90XhJxa/fopTCiS84ugOEVTsoadsG8SlqPVIDBFJekbqKIZIwc5C8z+DW0ZI9kwyA/ktuuegIyAW1DuXsOtXszRX9/Alf9Z9RwhgD3PAfKGJSvN9/vgBRFjQ0hMSOcgmGGqGwrHfRZNrI6zDPw/igUu5QMMW74stPoeggKZWZk3Mk77AQGcNb+WITptwA1FQA2HWdYcL+oTgoYdBqxi/kyRyCny5YGIUgx3j1FAJwTToPmwGT0rsEml1QeTdFdIazkp8A3211+TrmRZPWP/PPRImWSYNG4ypo8IVtqDSSj5rXuBhBhiJv2AwJOgP/DWQhC41kRipzKCoM/dWDToj4/5l0ObJHWPDqsyugM1nXGC7OiywX9DBHuHgy1sGULZOkBfZ6tQTwwsdeKaR0cwgSU/R2t8BRRsJ/QIwB7xZsrnE1rqU7A1YepcjAZ+piZv9gyi+Tw5iBdTQ5iUkC8rMO80s6AVbSexVicUqrzOzcxUNLcL039gM68GlNmxyJg1fWhVxRl00qLHfmKuGz8WvroiIdeGWCbx6dqwHeVOjJAFHu++iqFEP64MHmo8yP6jlrLyyLLjsjbB6nkq+oqnCxTizmnOrNzbztz76J7einKtdScom8GeX3qfKzGLnWWKkZxdPVjKxbNmsthv5a2KBwzArXCnSLTkZwG4iTqQmZKoyXdXOLTDVk7rIOb8IjB3DPRVxrhf/2IcICCDayDcTnpil+hBGnx2ePivTUpW1GDiHkHFOWlWYlzx2jx91S4Od4M72Thvk78ABgCCr9mdxxNEevmw79OTATPqnwqKei8F6sK7DZ2BentDkiAZO2TGdbugfPl2+ryzArL0WkTTcurUtYrRSCGoQ1e+NtH3bOCVgiVR75eYng8QWwZYorqhggFxQDWMa6n7u63DozAZyrb/5BOT6D2JmMl9e6Qu012XUg+9giLdCJtM7zYBAOgC5ifm/j/4ZAJSMQRN8x4jYfN69NQvX3B5HD7IAAyVjxpWtqXx911fz/BMe2ODMdZZdUXQcfb8m/+Dimrp026x+dsA6aQgtnFB3+TCKp01w12SzfgCKFQUHgr0ISreJzMKQvLnNKSzbRWxGVh5qYgv79HZnK/GIZzcRUeyk2hosSbGJwIChDY6sjmTe84G3JLdp8D/SB94wLHVWimE8EXaMppNVfCyEn5TB0z4KFWx0zuN7nqaREVOQxSVeSOEGNJezp1RpyxevjyPy/yx0QPuhPj0ZJriau6jcnxcuMxV7SAz2IyiR5qFAuJdY8b76AhuWTxSmb1YqcP42t6NbYLfghYueiV28qUYDlwO6ENi/aGEjqF5zcTW70arQWMxg4pq5Y1wnAUh+PKP2cAb8sARVSLtXiT8p3hDqZ9vuV9wDZ5fs0vxfUhvtpgfAk8e20sXw5SGWaTVGHQ68wLAjq59QHa3y6b19ZNsAW1ouclqIV5CJuWRma+x1LZmvc57am/prERZYop8Y+tfHKkCtq0EqAifocxXiiLLfmMuT6OvLLtn4owxvQoBXfVd3+mtEPeO8yrOHgwfqtF9uOlfNDAOJsl90vANeTe0HmyPpn4bKM14QmZNeNcrHgSYXBwanDC2LkY7ST84vah3pMEsRX+p2ZwllULE1luT/sQbk1+7K4Z0z8p/KLRnYjL2bLyc2H0bVzZVC8IAoimyEPtHPfzC/4RoBnSEjYhE1tUmlKa6R9bcGXW3CTInWUr2m7nlfiNeAO7r80asICSL99Sr2V6QAp2eCqIoNTDLd6GvsCfwCeoNoMq+mi6Dvzsvg533TFVYAnTQUdARJ+pefFhCSPXlnK+h3LNkjZ6WrZGrvpVLqMjGkWJ+PC4B+K3Zba7xyVqmqZby/lIupNBj+Oa4ktToHqLhAKMvkdqFgj3jmn2zW8vdptff2u+H/UaKfUhMNqmXnjbfVGBmWzrftSqJoxRc5s0IRwOZf/F4euNHVK8vmT/xKBS/U+hE54cZRbE1+nRCo77YoK+UzTHHlc7lmrQFF+gO5kC7YAen5XhkypQP1qHco+5MS4JXBfPiKX8MdR5B9EY6tDBUUbLIwggnagi6zprk7JoZdEJuIdRvN2VbcbLxuJN6Bi58W66vNdcIiu8R9wDfJx3lI+t5dX50+iZzCYKxez//vAQPTMZvQrzCXKiso2z2Q25GqBTAYyem1GdZOzqmxxO3V7sPk8tgvvzMy2zFr+Ok4nw6UIm7e/ldbDKKIcOdmIjo+zdGZEXtEefD7TlujacYvU6rnlhD7tzX6fSa/WoQTlkQrVQp5wjD2tl9cUjA+51FTXW4fmMu/7WAuGHz+24ECkUUKLW+XScwjt3MNNrKuDiRQ8v87YdBWE0cfwwHZQm+QCv1UPrkerMu92AcLc3+uCdTV1W59BErR0nuJ6uMnWgRPQdZxA8INhAYRIEMbKVX2rNBmnjCOsBU6b7c6ebXQS9vFgBP7ZZWlq5oz7yMj5KtkE7/UnauU3yKHXP+P1x8FcY6CuCPqarYj9hjcNJ0AdWmR+zWlyxVHLSm7W4yc7+Tl/hzuhJmt9zXYI7RD1kXOZsqyTLUK3pCNXZda9r27rClO95iJccA4+mcbzfRac8jQEhxBEpVU0+z372D65LxwzBEAGRzTeKtZVIT1JWfCcuHebCvR2l1tZlWNfPf3mzbsRPbhmD+cncHWRrSzmynnvYqkkauNuN19rLDv0RK0OzeIyhLCKXXPb6Jv5PlMfEhA5I53BgMe5h0eIvtKe8ZkFqi0R33nHcZl+GrY0e/FbOb9SrcKEX7r6L9YGsrTdtm3q9D+A2cCNPmmO9wZi1zEHDf2fNLFXprGSQPR8R5fYLe78prf/foURwGCHoHkthLIt5Z0wGUKSZiFXxS93gAe7K8ZqpkwwSshuEEqtyk6Sv6df7V6q8xBgFaTalmfLTTWKzXKKWjLZYE41j6RngERE+0rLekkdNxZKUQveej/eVrNAAfDnbooWzE6o1UoMtShe3qrh9Ytdwh1tYcCqnFlHqyizipsn+Rziq6UrTvH/4z52NurUQ+sqLqvmmBNl/BtBjAUnlST30DY0RtE/RyriqGqG5ESlFHUZi6xoW2k0XaveuArU9BZUasRwtFGgy0w3ZihMS6Qh+AI+fCog0lcpw9D4I/mw9IP/bz7vRO8VrQHSwYVwjIpOobQU/2p1bcWbtG3QUEt7uO19A22JdFILF9oTsNjUy+dMy6oKniFqoDxaRxPSdThPzRThq8/rpGTo3RiZ51yMa22tUln0P8GYtbgAABbi5NAGnk06nEjmkUmomHZ3KZEP3GQ6qYzvds4lhTe8ojPMggddmMN3ojW7C7cmyIQdG4/WPcMaWSZd8Rim3kQW+meNy6wQi55S+HG3rZlTEkdstVmOaa4beoD5yqBH2cNjDoKDS4ZoRRHR2vPG0wuScWk4FtAXYfr1rijl9RnZ+RL7DwDJ+Yjz5Ktq6Gaeu0EBchSYs3HtqTEy+q2KYuxYsMUbg/IMODWOMNXtGllzcaLyAcwf6q3BJXLMsgwSsunHkDR9AFme5Q3BlaUg8hdO1+jgcz+qCR9gXCmMVvIZzoaJqqoAXPzOsA7LoSgQ02THVAmEQHqnT9RH3RsRY9NoHVNhukR37T3WFR3n9UiuYwmjkRoQD74nkFt+fXdA7QShYExzm8qi9AJjnyZ4htoUzEXOZ9Cpj5E5HqaSEjHoy0vTHwLpnUfdsT8Rdgh2MjSqE+LggxBwrd4bSwDPMaVsliEl1IIpkKgYhf0Iu/qMjPT/FNKEsN0fVMoJHPyMmxeSFs2FyO0rDOx9KLJvpgiKKYWL7QCkv64Npb+4tv9MSC9YUtculI/uFTfcJhickxRHDfOLRtsIuaguYSOwsOX209yjb6m3o4eCqK2/uqOrhJK406mnHx8tdFcODDOs7x5lW84bhjKi7E2o+khDmmypt6ql+eBNWbtvrz91P+tUjSBGASl28Y3mm351+hZ9ZWBxnM+8IE9qpMR7VYCcLr/6K0mM3RF6y/2b9k5nCAqpoXu9M9yhmjzLAqj5OPdnRo1onPGSAVhpm189FPVdACpRKqtd7JdhNAjNPGr8rdNWMVWexiO86TPC3BQx7uF2PaD1tlmSmpeTw20cuf4msRmCu3nNCy9jzACZxSTMF+Ueap84xtxYDgjLAjWgxSZ5ZJMaVKlVRpGbZnP5/zw55RUtKu/avl4V3byx/s1Y/gKb4EwwSU04sD2bHkjYmYHg8dgDqeKYPg7se5Gw5BuxxkM9YwjtVUCxtOJ3gIADH9+TLG6QfyXvWtqzrsm3Bf+kA7Aql5GjEYYxg3X/1uW7tMzXndlfcVH5DTRHAL15b08KCiI8RGyFV3raxdeATdfcP3fuyWmq3N3+jGWQTQkz0EW1MumhOWvvmzuPAlpXH6ZTm/R1VRRMT5J6HhJEQhGGhi/FxLV9P+bFFxBPU7nnZuTaMIJYxrE1R6d1m2M9cb9tUjI0xB6myDZcyT1FLx9zJSL14vQJ8HMYIOq8qtcxW6IUmmZ6ktyQkdh4vfg7Z18yP5jJu21mApFdDqZNt7QfXo+++JtkFhl3S21YuSKWRLeY6j5vP+l5EYv5bLfA1K8Fa9gFaljtHKSuAH+N/HYjMPJ5TVG7vhMtN20sM6IYTbYMbJupg7Pq72d4jkwc7mHrwdbxgYhDWRylFqdE8CebkIHh3qW/zUPkWJQ3KDaK/2nZKxZzoKN1lCfY1a+OAAA512jTad01U3VH9AqTyxVwZuiE/VyxG9iS99N6ZiIrwAf36Zvu8t3wdp2qXrUD7ppQfcIsWRx2Xv4GGUiFKee1zoCSKGMtdAjtSd01DYRTT7uChC/oR7AsN1KWUhpvrNzwmxQB9RHnY+sfcxuhPhSpIKU1xYg0fIu6Fd7doNO07oKj9I2of3hFzRBbyFndPyKTJZmjW9ejUFMlidMgHdaiAas3PMqBUQPSgkAAYTiuxhiQAw8c2kjfYWTepD5xLuhH5LXrRLq3tSHBASsQPBPJ2HwcSkPS4FeK79mxGCO6/4M4MbhHx6qkAP56eIVcuQbyAWHcm2FJ2l2ncpudKxHlkdL0esCqPLjMV8BcXgzMj0AAE0A8AAAAUnn645kxEKyBqubjRBV+cS06WQe0VEXiOLIYgZrDtqTSWkmZRXoHzYkrCslFw3XmJX0B+I7vQ2kKzgPI8D9Ke5BfYsPcYjTruwDWpKhNu0NcrFWtTMhRWID1XzQWB7sZHanrvKgzlaB5OESIk3snOywL7uPxKMIz24bCf/e6MhJ9CWJxm9U+mvlvpcqyO8mE5KHmDikP1a9L6JVYakieXaIRrCKZyaooKpWSp3fnnZDhFYV0SupHh8E69G7kJ4UepWL2xh7+YbAwBAxBx8K7Aq+EjEJq8+WWrI/5L46lBEbiB0cts3bANxP3z+0lGhTlUJUPx+MM/n69jx0RowEabprN7dyDgtGnWd0c6vVI5aSo3C7Lw/Xy4h9NJKMCJRCf9r8B/ARKm/tLEswpZp+rA0mCFTTzrmeXm/TUGdLiaORwKLOW8sOtbXWpS/H/TWkWmHtfNS6M+kbXK4IfW0YE4D3c3A0q9RJ9KX3MmID2iGLbXWGwacEtZu6Q+FwoyLFTDDpbClT1LTOgv5iVSrfW84Z6HkkHM2FO0vkI68ozcwAILB+JMOJOaOKNdSGEBgG7dgeefsDcy4LHfsU/u5mxREmrvaCqWk0CtiUrEkqMaIXweqy6zeeHb8GcX/KcU8gN6Wrmz+A8kRgQkWecUvk6Wjjp7RglfzIoZHoeHEbOOeOxLggCjDAaYAf6cxZGZjfIubb0Cly/lHMMkPqUmQAw8dxQk8cqhavdrl+qwGo+S+KDCY6jPbsOgXtSpHGywU/Fn6EKlUERAxEv3avhxhe/YxNINDKLPBJz/nFWiBaVmoMq9aaxhK0ntqqMe8cPBK2WA2XY880ZmqRKV3mynYu/qpwm18araExpD6Ts+v+jVFjKFj1qR+JtJhQaSwQ+q/tIyrmmFIMKR1D/hhQLPdxNq5y4rRzR//tH+cBHt3vdHsLGs7h0fDYzCSEOpt86CUjPzZu3cLbn7sah4Ic/hKo0wcXscfL9LJZeOhkYhQVZE0VTqfdURBCAVMC2XdAmX72teAsGn202pPZgQAAABBTk1GiB4AAAAAAAAAAKIBACQBAAQBAABWUDggcB4AADCVAJ0BKqMBJQE+kUadSyWjoqKklGoYsBIJZ27haFyANTOr/w/9p5xfKdEG6ryK3u/TluDf6P0N2nQU7f2Z9Jn0X+J/4nhj55Z493+07svfzn7N+PvxS1C7m3afbL5hHtn9f83D83zO/iefz/w+LJ90/73qj/6P1iv+PyqftnqI9MT0aCMZ4QHyXCWGvkfzVsCYxjENFLksHgxBZN/rpWuUWXYUXh3w85pDct7iLtyi6FmlwEZi58MNZakavmyqmOnmgikxUNhsWwE3PPrVM1L/BmHRoXIwiHcS36YWQJY3HTFIszKQCznWeGGnx6wyk6wBwIeIHUnPds1J4bzaI+f6PiHGD0EQLqDgj/+dj6s0f+66XTw6n9eeow1/bhhNSLQ2/UZSmFv9wDQyp+BjH1Ba2COT9ECfLesZg5J9wwmNZSVbGJGGYbAUYVriexIO+evU03MbgxVmRf2KtipKPnWL09jM+4D9JWP1NhFYG57PNPnqZuWhm0l/lgRXdne6n4XoEZKCDId+OVswewa4fpSOs8A9pDtH28a+BjYSQltZehi+SDhtxeiPoAASOVhl3uqN/qyzyEo6RI96pnkcuIqorn5yO3kTy3VHRb2GVZLKBDBc3QSTgUrI3ADF8gLjiy3lbI6yhfyEZ1cZHv/68gvQkwi2dLsB7dBx2XVtFLSGAgbZr1b/UqxVHRioUClTZFSnOrYA3Ucc0ZU/v8UEhsnsaG6Z4KJVhumMyNEdOCb4Oj+XbmBaKBIToasdhBtrvMYoWrbCTT7fHX4+MiOPsHv8H8Jk9YDTXoJjpleUj0R9AjdC4dwpENm0XVOg9ia3JHlvrH1BcunOBgnDGGAYKlRkpSFEjRy0dQGpRyYnrN1GvqYwFxKehM6Cexno5jlkbn0ssjxxzZJHiDKPjatlPiIR5+qu7lHdApv7802/Ms6FtLvLTS9OTAGGkS3C6PawH8NsPLfBGp1XFEZoXGL7yxHDn62M2UR2E79xXLsTjngF91hPdbBrv8bTSgSsfWfXzXiYQazTHzxDng0/Xo3F/ln4loCcSvziexVkltVEFJK46ChXT8DVdO6zsD+2FuqEP8ITpaaFq5d5cVfYteyy05p+/V2A8mEg/VYlg9HjareeQykdUdh4bxLPOjIozJ7QRXH8ziLQgLTQbLG0vYFbRfxp9DXYhyQurxHCMjpo+obpB6PXmD3t1cLj9ZbxjGzYmYfGUp9fQZgyC4tIyAEfRkTpWND8Owj09LyNBypVTapYoDUclrXkMOY2b9c2g5DgJg2VxXcf8rIKcasALXPYJ1q4nso0JZ5z/BsncsXu53+4NZ1Ur+v4ZGB55/CmYIjRNShsB22NCAXeaD2NB/2v9knB8UqxBbCBtuTgebQSMLRRaD2NigQACPoPY0IABhDGq4o6HHQgAEfQexoQ7z8Sz3F47FsmxOwuVtc0/OYSLknMhRCP3sKMSNEqDrT28riy4oR7eKal7vQgOCkpVQdKMzLZgg1ugcvLnNmi63tSPVMjc+VYTDrsZIQpdk0PVcz1qPI4XaS2weZWR2MiLV1DPUgzcJye5Y4oSr4wP4EYBK/sbqUSeCk1CiaM68TBtPL2DKoAAP79iMl3Xn8fkJhchjuNrM5gH5SYWV3rFCjy9evK/rhzqXVV2nzlhb/9Zu1oLGP1yoL5ngC6phnANLVvjmxRtdjq77+ZNZrLOBpOYhGRibziXcnbnENVoATXGnslThGsbw6TAgY3xXVsqb5YfrCRXQjn6DAGzJTrSQDXyRWgdCky1fMdBWQYxao571Cq5ZsVnnt7ehpBOTbo7NDRuZGdJPhFeqbzBO9fFd/8sK/wxQ2QnKAhBgIb//ove/BQw7yf4B4AVs3WoPaC1PUaez25J8C1v3KJPFGzECjhgXhuVgGOpmEBPUjiJmRAUUuDnmZQEZ2MtrVc77VOIfBkA/dAcsP2JiAMTZGxrsJXhbokufpbS9fRRuDmM/8IMzfRBdgPgdqaXzsu9MAG5pCQhyLrJ4JMRKZMcAnNg/M2Kw3AO70q7VY8nAG0h9GsFE/kB6mdpsAwdekCyU3NULADfeqv8HEOMTtYFE20VUsFNl9sb88xKslMJ7a0LAJGZ+vNHFrVw2TQyqpQsWNygb/hfZyP1zE9SvsdowIUIKJHLc1Ibt18DknJH9m7pK79CR5vvVNc4Zc1KgiB8dZmPdccINQnh9e5DJm3KuWJazE3VXf5/NueGRO801HDjw/+Z6t1vCCOIa7gZz964o3WPHq4DiAF9MXVAI7rcLZNJk+S5+rx5sWxKfxaKfffzL+7dGM70GrItLFqllcM84vh1xIOVbfb7DnUU44okRCxu1UhDGFBW1bHbe+pudZxJsSDKKJvLZei+K1QD4x7g5dDIa//VZcqqxOjQ0RG0QFgmp3Uz/4fte5uPT191PKMKZZ79TDG412pVOIC3eoA4qg4KQOLoNZHew2KtKK8/aDpFKMUl4YPx29UDHw0yzC0Eop42OaA2k/GJOFftZOejTn/TqxWd+cioTvrAdK/4oZ9FkyYP0oWfhvTrN2FtTNoRyPNeYxOoKARMJYKneyKjGMufaK9oFIc+rX0RBvLQ1omQnPbV5ju2+fMRTGyi+k3d1fwywFDDSV3+Bk3l9fYr42iCPFY6p9Sx7vmA3q1tp9eNgIlFZi/jfQEK7Of932GNtmNWoRkWBZ7chE/C76nT5RhZAMxSqlNZNFmzJYkFYFOmt3Y1pwQftpDeMoUGo0b+5cbM18OW2JyhP7isObuqoVGEEdeUKID4aRnHB33qQUptrpcdO7AaEatJoXqtd/AL9VSS5rM1OO7mwrZj7AG92TTbn2WBy38xWb6ukCRGkiX2rtHBjk8LKZ1L7nvzHxREymSqOwhRtPrvFeBOzySr3sf8FL2xU5xpqYQvKi9jA4FpcYXuob6630/gFB+zYKGgGIva/2KpR27DyMoOnYrmUZ5wMvghJrqb4cJ9Ol2vP+Nj835llzakWx9ODI04J0zvmCS7VbhLPVHqGsjqI7wu84NurO6WPhkDpgdstg9KJFeLMfiWss7TrKGz93jT9Mowp5NpAAjhvq9oI38e5iJaqW69nOlM7xId1CavXR2DzYQRcahMakSI94oP7E6eunv8ibw0Vkkxz4ETCAS9M4LOZP6Cya3tCaEpRlvdI9bJRB/RdcgybYfObWGl9qLBvRIBJPLO9PIlvzcI4xRBC76M4jfZL/JUllB0MP96JsqO7z5nBVmfraVtSVImFVt22c1eXMQHwz6Iy7v5L72wcbOv4oWm0OdavMM/AABEmSRcuCsi2KWRmKMzR6892RfqdXcp3JFe+gOTBLdKfZn/77djF/77K5snJ4ZJ0GWvXF83lTTtvS73w+kKl03Ba/oMl8Wce9TTf+Ta6aRs38S9sgNpZufnhBCiYHZAQdPtPg3dxhX/tonDQl6CVFgdE3NP90gSX5dG2r3wJ5SCkNDgCtI3uDzuHxBUBEhqCuaUgdacegRduradX1mpVq6gXB0STPxoUiIWdhuJd/0bKsz/3fhmDxPgPdgDpVMexeyrF5kjX6UQJGPeTngFhPEA2NSKn+d0FmLLKMQnLf6x5VTmF9AUieyxoVCSQ6UaaSaOyh5RUOFJVuu1jqm3fuYkD2Ip8bXa8gTGn4n5J37//PeqUh0znozMfHXO2rd6e+YGekkqiZsCoX6E6MTmtGnLFBixco797IiEAY/FR8vig5uE61v73kewnqnRw7nvw3PoVtcT+KrZgdIpZ4mHEaQAdkzMujsR/QgteWwbjSq8bWGFztOhCDx5qbVocddfbyOD6etA3I6e8jYCcEmkXARuKZxMxZXzHcSZIMbO/e+eM4VdIrqinna6Kd6NCSFzPCG2hknw+1i/36fl2pN+WW+roDLUgl3FYQSI0l/WLcvBtOya84bgFV2vnGoxAy1vWeCW0R5HEiY+I1sKxiTkisoxh6mTIH89oU2hHBnp2ngz8Dq8aPMNEw+a/3hTKFDO+rRE+IzoWfkrIdv59OZq5L834H9etBzonwYkjYg72xFYN1hek+1vSgY4q2pUifLKYwDueB6hajOFeSLvuG7fg3xFcBShOI1SX9rAh/AYBkZ3kfc2he+SEnvsA6sQQVQMsAM6yHP1gR3RWOBb9Iy5K4OPMqHY01M8ddo9uNYkhJLbE4M/TFbVeLeUeURwG8Vo0PwWndbT2xvqN2hgVznTvR21oUhqfP5fn4m2cglkPJthdCqFCDpuuI1nTVLr55xhqzd4jbSuBlOlyBg0gROM6Zfp/dMXPhP4MuGAiT2+8BecOtvcTUi7w7favSSoxIy3nlHuV6CgH2p0fUibredM2p0v6s1s3StWiZDa2R1Pfb1fwNY0txiI5+/tpRc8Pj7DBxqXwpcveGPG46cVImtZ5qXhcMV468FvzUYiCiBr4FP5D0rf+H1gFNReNHcZKjYNlWyb/4i+Lnwd7gl37EtAfq4vfrhoKHxp0cLqZ1oDtfXcyO1r/Tw18oogrr0EqfIpEUhEDNltdcuEcHlCkuInh6x8ER/Rd8m0Du+8G7fweg05Hj7d9VBl9TWE60ZytrutoJQRrMbVI+3pitPfgCtBr7Qz3GBxNliUHds/IKcOx2jqw5hmmvbDN56f4Z7bglzF66egFFF2TQqJnkPRAGUiXKF1AU6YCDLW82pIbiqVKAK2e8dJwbcvoepWuSgZqlje7b2yIqSTn+q6bIc8N5ps7SqOqw+E3UJC8vLivdC1GUaHnVk3DXuucGX9Bst4ZzuVQqMu7MxtYu4kJDrRT3h0exWgWM1Joslli1bVLI8649WML4ZhXhBEM9Gd7/DGD9tfKu82BiIsS97UfD/lH/8me5m5nVRhJwyEUagOD1uOg6mkgOouZT/RfyYhHBvcqJhEXOovaml0ApA3xUncUXzYTJIDOn/GGxZsX+fP+HMHYBUthq99jxs0qJfHyQnk1r6o7a1LcTUBmAd4sqEItqwv6UBH9UdYACXq4n7M5BXsV7odOhs1QsU02Bb4bLNpr45vYH3363XyVfQ22zJGtQkBBXhxDnto66ql6bvAqxWju1cfCwhATptJAeADLwxnIN6wU8e6u18k1zkWbpErND7mHo6frYhJ3mIgs4anIEK6S9qU5tQ6VEn/nzBTVCsGf4+6rqsrtWWwIkXKjvKWK1MmSgCnbY6QB5Zwg/4wrq+VKhU/emVsUN6H+TgW7/KIhSk/ouKJt5U8hzKPysgTywGu+7+Z62l3x0jJblFGgjfJwrtLo4oecvZzAgAiYv9LiilySzUE59P+RXW5Z6KZZEZrv/ls37fqlTgV/Pl43r7aWWB2nABdWunSxCw+2EejjeanXVu4NMaPRkDH0K9qERyuI1ASnIiMsFPHJOADIMMSt1ykXFyAZZrVUQAZlxaXbpBEx9wxG3Wgil9m2ZqxTZWnLUBSKXRcf1Q4uyenRuPnn8/FozcPWwqGOO9I3mPi2Py9fwjmvLVyYadcL0je3y7LDI4D0K46y1npLDkikFwjqwMuo8pvKBiP+gR4EXD5aSGa+q3PVXLymYaXcHM5uwGTAQRxJjZcYW5uXF5ruocz6QsrMGHab8tY6IL0Aaf8QjBvPqhU28STBg66FiEnRo7J/16kJ/3xShY9wjtk+GtOSQpeI8z9BCadh15fRkE+eT7HuFc+1WmTUdBqtDLXSq60C1CikW5GBHGXzHk+a8eyN2mqfciVB/feCggjMhy/AFl9bDydyqkPgZPR33cPMOIcoW0IK5uD/nPgYXH67XaFfrUNC35W7JNmu2SDeuCXu2XPu/QAhzyT1Yh74B2xJAdZTzEEPC2UBN9YusbX8twTk/gTbq3t5pidUlopgvWTeXA/T03JDZ4yiEiWYGVhiW5gQmECDkKItjISGV//viiu1RbYVTo0RxJtFBS7KKsfnlwc8KhT2kxh6kuSOSV93zFPeD64cat0RX5NR1lgcg3gh+BulvqO/EIhn+rwAHGYLzASozwDGKT8T/4rdg+l0COvwc7V08oLUlAWq/t1cTImK5kaM/sK09Y9juogbz5azcINAPlAf+rMfYZqgW1P7322Rotm2mbkjmCaBYT9VMbO8uWuhflk14zFXQIlF/iyFzcl+wOKcv5ZMmRSPqptxIKkc+ovxr5QnUOb7N0Qxknp4l2oKu+hMeqPxiyqNJ8ux8HItb9tVEL5x1pjkfAuvT5h4oIgN3WSTyt+594/WrnIGHImohPgbMzxkz2/zKtxISZ8xq8rB45dTbRa2lYMcPgY8ageh+hUKD6359aKlBMKpkq3g7qSpnVqE7NCB5bx5ZCbzeCDYPvJB4dmLTBV7nh0NiFSZQVE6Glwy3PIkks7sLHcvUeIkh3beD5c3c/5MzcxgM2y32UqynBPnisBiqOmNk3TuzR4Mvl4FpmjeqGs1Y/A5Ju3lejf/POAUW344vRkoEz41xEafV4BumdG3ZsDsXYGUfyo7aXZlYL7iANYWvo/ZSuHwX3nCcBNcrI35rxsCoa48PuQDrs15ADQt3W8+l6EBWOKBNJDuVUmkrFwWyBDBrNHnPq1NoLtzeuh/hLF5sijTF6r0k4aUwt9uWXO6nmzzp88ySjpJHMe0u97Q0CMn890hQs6etd9549Pl2ez8dY1OV3D3j/z/7AbyI+lB9QFoC5TvwGmbQeLtRLJNtRF7EHtKLyhfmpGj1aVUhsgzg0AefibQJ/CxFLmPxspg/Zh/NQ5Rr+D4PypEJ+Qkwye8IteFqnU+urN1n6+xd/piwvA+r3Ht7bQkfqz0bRupoiZLq23DNnIOcaDp+/Rpq2ulWRP/Zqxj8u/U6HAanPVNtz/wGsuE+3Jy0v1LmgRwxec2I7n+EnKk0utAYEIxip1ID/7cDiueAEuRyuZBCsGc7uKOXj9/tgWglOv8AXkHlwcXrPo0S7laGCg1dzhzkjGmO/q5JUJ+Iz3W/XRYaUq0k9jF6zG65mhk59I6qtgg9bctx6wRPVWaVkWxSeUbRJFQ5EyttWGx/OuWqghrQ/0Rfnzwb8YvWywNJCuBY9+xe1dnyDw+HjvTJJMMe4M3Qoc3XP6ff4v01K5oKmV1yMILstOlbGZ+p2xVOgEogp8nEENtdYbseFZcYkYKAUsN8g2/sHxuVNkFQcDurxk4xgZ7z4GlUsdJjNfw4o0p9Mr1BLKFEA9zw4RkemzEJvjdPN3btwatttl67ZUIqxEQldyOjvWsJzxz4k9heCro0OyYs+EhP1N9xP8RsDRa4SMDxIuC2K2uqsVRCKfTLRPtWeNzRHkN+yIwSVfft3KY/euRTNs5Y/lr10KjzwYAMIiqux07HUQn4AShMxb1D8wBBggYNADXgeMQw43msrgDVXO/mvNM9i3g3P/Itz3t7ZLS4cvo6K7kQy2EKfrAgpaPgLHHqrjtDiPZGLNWVaowS6fNNJlXZZp1+9kjh9SwQrBuwX+MRMGun+Utx11k86+NOK4v11e93lVUax+rImj+5FealRRIg11c/79s6ZUuyEbpT/lhvZoNI+kcd7iNaruqlipIaZ70IBWbpisGnvb9c3H/vggikjLs0AbRHpmuBzq3N4lw4pVnu2Us2qfQgJ3oKVPxpeGBZV5ohdZmm+j48L5bQLodlQfXr7bfswepqd8sPyTKABOrsp8/E5zaeDgY3k0RcCR8C1KoP5e5Zm9jBoM9YddnXuW2cCsYHGLg5HGawToT6fT8eG10s/msP0F75SAE76ssv/LyQQbCpgkUdXblp3b922dvYvBMqmgu4oTUdzBFfmjWgIIlZ8zur6XiUz9l6hW5JvQ6mednhaGPIwZnNbIl/1dpOUmH6jI8CY3cenPjhkyFsX+aTloZNBWjRQiUJkzeRAq12iw6yrfpj4Yz8ZqXbRxi7+d2yfxxrRfcoDWtwtS96m6qA1A1ncP88c/j/PG3vaAY1C9T3J0RBVZyMLrof14yImiP39G0OTXscZqzC0p+UHssD2PJjme01jnuojuQNoBHKOQbFNrZjthK6FgOGWNVTQ0zrhNBchFKbS3M1P4tVDAT+35Oxbjye9oje3uszW/BxhLZ5RZvi0wN3O4j6Vd2CCS+W1QsWG+xqb7VLd9/JKh6/3aJlk8TAGA4wUgx22D3hbc91XhMjHDktc5UN/GVk0z7m1xVN2JE8ek7nXs7rZwZ4u/YKOAA38itYOT6M40HYJt8UBOsD4gdjZDQ3W47jVjXyG8lx6CfYo3G8Lyb8k6+HK5N+QIptBYPqQDLWMxdHLTp40b7cT9Bf4NDqcKE43bA0TvQFnZ2k4u9HCKPzbeRRDNGQB+yhIES19HOYw7lbGnq5F2g0ee3QQujiOcmH4OWMggbupo23ryFr2I8zVRHY/6eQxS6wTMN+pIwxPnsTT6euARC8mRYKqz80WCbEO9eXlIeHcP3hokeP/OHpGeUTfAsb9Sr+iWJ4nS0C33VjRkasYU66umYBCIFgL/SJFiYHGqbi5eKfjJxcCskerekEvYrvDkkcN6o29LtRpA949gFBNepKIe8YU5PMb+w0hj31kBYajlwkwq2AJkIhssxHdNmPqh2R+ATFKSFd95mRJGIGlrF624xSzx4+19cYP2FNC1okeMIiC4ILDXZTC5VJXei7C6cNurqcVfXF8bV2HwzalA04870k6LiIVlCh9qYpb0xDvekB0HfWcWoUAnwCEwC8pedIqaJ/GFd7Rtei2kyStYu5WL/MywBvmJ6qaB5FIcJutT9SO38h/dfwV74ZBohx9l+/NGlZTfDOqMkEyq6kdTroKZ1wIDK+TJuV6XdZLFr0pa0yt4/K6cPZXLLIWaXp5r5KGcKBYbHLXVrnAAOqz71GTlj+6k52VD3W/0APZAK3v6y0f7Yrh3i5BUlv8COFv/strdEnlcRJHOKoqxeoAFN95zyrNCvYdUu0qyUYPNgkRskHS475VrXzMl5+2chqmj+KSgLHUliTWphwb/N6HrbTaTA5qHyA8Td1KnCoYI/4lEmlXEBuY9TS4dwsjIwPlqUkpa8++ZFDGtoPaMDK9Ca7+B4SOInaGlkYEK/TUnSahR6TLBrdbiwK9oTMOUrqKMBgAVdoOl2clIACS7itk8S3KfPOmlZamsALVltgTm1pvd+AwfPeN9t2gaXx2JYsJj2pZeBQQazCS5F4HW22TXyhiT8IgPbBUd98epRZ7o1yWmmMQzQ5ipSWks9Q8XlzK+lDSLMHYQBysotKOjHroQsSI5AS4ADYVMJ/PyHFoYbVpDQWQDuF2jnamI4E6E8H0CsROwkE1iPxMR4BxlGSf32m/GIEilKy4h4qchcYi/IRTFrTs3BD6Pk9EeL+tEVZGZuzc3UXpOhFeHk8mwp5XgVa1CqyOWXoX+LUdlq1ql2sIsuIJEAyw4iReP9WJTWvNxEI/+I08dqbe5mox17aWg9iX15iwmBseoFQOp/0LC5/pDJ9IhvAXvhUyKKw0bSx3xjdT/4V3HtcNv06/KhWdTVszco0cBYotUEohFYKavMvlEAAcfdrB353ru0m/0yagaZu20cdlK/zXOZ5sIFks3aOWTuW9WlDWvRgm15gJjB8ZozeqXOLWZYW7sEnp2JeCIVQbcTsM2jghbOMITcTpSX2kvqRDaeuB7FUSapq/MV5OYYZGcHiZvJUt2hQzG14SxIPhslxrYgs1GRsGeApt4A9pXbznio91Mnvh/BSeN7bGP1oXgjWsqJT5DlgGsDIQP6vN4KPPodx7CTUOcPIFDlpgR0TRA3ZJhlTecb33D1ZWEw2IGmKonAf1cfevBOYNcxalxW12YsE1Ok9B0LngKfQy62QUoFXdmOqaQT45bttRNgCmxpBrWL29pZLMM6KlaR++wnDEgv6QwqQBnfm7r76b6xzw4iA9Ie0oTqY3qKGOUCI/XyWfVT7B34fijeLHkHesqXpR3YmGUOHz9iYQIQTGgP1UlgZ9X0Kr6fAaWlfL8Toj6vBn26TS2kwMtCvKQpPKZ0M6mL6rdcjzv14pUBmkzZdTd1ByPwpWkgLOUHwHwn2wwLbwwAHPcvK5To5ciUNwbkAV9mNoLvTPgB7wtcEEyA5Q3fTn6ZDIAdBHCmazlzzpsy2heR4Jb570C0/+iIK/geCJ/oFewIBylCsZWvI5uyFZv8kKeE9yAR37B8JryQKjK73w5JTnVgu/3zq05tKat4I6c+aRKb8R8exlCbJfxAz3PXt+FvPsl8QVGL7pQw2rvoZyVGJajt+LYajDtYtcBJ2UIRIOHv087Ch5lf4LPfsu7JkNQk0BUZSmLn/7h//2j/T7H54WgeF/4K8q0txs54R+qINRUtBs6lXzuccUHxS7ZJ4ovQB+2bXuZVkCQZSSHdKsTGwbwCFNR68ZR6AaEMSuzs4lGBAe6gv+MAdFljWBqMgZLIkOXUkbkhNjlz2QO+5r3ApmuGFDeAAAAABBTk1GcB4AAAAAAAAAAKIBACQBAIIAAABWUDggWB4AAJCVAJ0BKqMBJQE+kUadSyWjoqKk9EoAsBIJZ27haEEHV+ew7e/aQ/j6HyHB+dwd/TuiD0530ALJv9O+bTysxp9QM6m9van2YP53vp+VP0Z7Bd0L9ke8+2P/g+gF7hfefNc/S8y/4nn+8F37n/1PYQ/SHrFf8flX/cPUV6YvpKEdmfrgdq184SQjv8q0QcQ7T77yyBy8W6uMTeEpy0Y78WZAjifOa5bzR9DNgEPoiYW0HjOOvMhoHjXV7oL97TFBauGmw9y0xFYrM5jIN1w+SmlRwOFHBzv9lMXh7PV+cCqgIAIJT950G2Q2EWo58fqx0vUxjRdN7m2s4R/zLPOf7HaAOZPrUuXOX9LcTONP57ClV7sMl/CP+xXeQXblwtC8QY1mM14QCjBuKFnwYzi2f6fImbNtWehwJKgZ5URN78wbwellEWl50AO8j9aGq8HI+JPiDI8sFNuDHbcceqsHc8E6vOH+1j+K3NOtMgwWZxg16xYqCAu/s4zs76yc1By0AsGquYUILJNeg8tcRfkyPpRHzPuN48K1F1v9AxJvSxAqs4Vzu4Mtukhv8NXmgmN2orE01SZ4zQqL+akD4LBHzFRr7/eJzPgqOTysR81nFlJqeBiusL4d6pVrO57kitOOym5O9//Y+IwoeS95P2JIV0C2Fy9nHSBbGwa7VHpRXHoi+Otka49mlBOVBm/g7Qn8vmBJKkVH3Gh5q46aOdSXIH/hYoEYCerJTOjdv4WmJB8IR729+NcUQqZp4RQIWtZyVSU/TZI8GIH9RD4GpqIEJaP0TXp4WImODFLwexfyYIlyy8u/7GAAfRuXAJ9R2bld5PfzZDHo4zzcO49xT8noCwN0Pl3h2mJ5Gs4Jx8SPQgk1lIGNaKqs9eiaVM0T0xtWuOo+tGw16dL0gVfjlAbmAVgLb7+naYiI0mk3IHtxpYJ3AZqg3vNqzVDbppCgpDiP87mqADIerhv68Hsm2goP09GKQ3LY1FRIIemAILHQoGz3xqaoy/VUxQgT5MqLmqac27sLjYrLgr7co+1t7y58kg9CbeisSO8GbzlTNVXuAAjobz/ODPnZSjxyvDIgfwtHmjixzSfZaTYuoX1xd1wfEZfxyPcweMxdUCqqGBJPonxb1cdSHOqzybJnghzXxFv0V6htu28fLCvWaMbJzTnLTdAhNVotb11bUBkRTLilvt/TpExP0zOTz1/Q3004iJ9nyB4FVjqSexqiItXHUVKQEPbnVxRa+QfkAoGOOBRGTOw/j7pO06KkdPA4QeK26/f+cH2+cyrUBDb+FDaYQACTF5VVnk2YJ3SOKBSlmyBF24qX3v03AMHexMDj8kVM1gfe9906XmGpABGe2lVWeceaRb0XdMB/ixC4EH9Xv4J4zrvgBH0gRgAI+g9jUgAEkYOgqqz3F5VVnnQexqQAC66tR8ABk/5BlRvEwpiPtxcFJXBlAonZyEgqINLm7L/QpyH65KPs1BR0GSmt/zk8PJKDvA5OZ2PeGOyzYXAZgKaPPoW32fYwqsYd8mE5PtJ0HrssBhG0FsKQuEBl9NW9esNY6mHWvxq7WhvwRpe6cZnXRa+Scxjze8LVCxzGG8l4wBO5ByXG6lpYAP79iMqhewVIOgpfK5wezZJ4F2v875J8hDzlJKsm8rHPMPTS7XitB2dIZWWSkE+5d185HAdgxie37xKHE7zBEA15xZ1jBFqYOTWJvdFzp8Tdj9eqt3/PQk462/xWg5UC2BA0DjI3BayjeD4ngGzJTs4QKANmSnZwh+AfbTw2kYN50jduOcpN/OAlLn1TFfHgreoPXcxMfqdOpgl5rMChxlLF87ByxKGionh7Pf73GL7otj29RsSr5tKWwHiFKlDYTckM5XCFmIkuVtUL3krnuw4fbkCPlJGII2LGJ8+1EEhZu8S0LreSHzWHtb8TEHQdc7FyFZEcP8vsQunf7E7ljg3bxGenPXmdM4lj0z2xs0tugrurmi0WXkWFH+PEcCuqUCIABHQUjOVPrkgp9mjqDK4okLQJCWKPQ61eO4S9gw6OGbg9dQXd8C9fx2lpM/nT3TgtjS/VZ4i5EB0Nxw05nIriIZCJr1BvIFYwko90oZ353yPe2FY4mybbZMuteU4i3jwXbuDDko7HvphsxoonH1qtFYY5LZAc/Hq6mDcNHujJhzTSD5A7qcVUBRxgtjwRImiQlqbrMd1wUp9+vkuSIBJnnrAax3ebefyR0o42YJ09AglmYEbqzObFjOw73vd9994vnHj3tpDbN6Bd5JAdhKo4v02Mr/Cd2fmfKD5XnPfdt1xWoOkWzCrIq2xQHUuCnLVhBxlCIZC5fl2HzmWDIfiy5S+mpVxbcDQyGPmLzoNWfS7uQfR/e0q07cmJqE3WXYP/S2xpneT/mfAH3+WOsHbj6Zvlz142pAJ4NoSAP5E/KawH+HnmGz5yjDOX7TYdkZvjG0NkVfBgVpqPjPzSQN317AUICp5wa+/QABrpvIKr6oGGQzr52LshRyqZRskE8Fw3D4tJxwHXi5jPmKv+xDGjyn5ou6nnyKAnnL3Qt9q3+gpQWa30ZjXuczmFMhVw/ycUwPn6VGseV3jrDXw5GBpxOqaTPwFhnz0b8/Szg7LVkWN6vSOdE38ry6+s4g7xsGBwuqW6xZum+2r0tUezDe+6XiovI3TeWMsQB1po4SA52QyPxHnSyGzjIYYRKGFYTiP0QLIne4s/R8yRqyOOJoMAzsL6pNqtwowdsvuzeMBZ57e7sTor2TzQhmPrmUUUVbsQpAhXSVTSNUPKsuLIkEYcDi3NivVT8zxqtYHxp67Gqeg44GxP5W6Zg18ttCHLr79rpRrZg0bhicKDzKc6pjY5zGQ10017yh2Tm8uUsMRs76Ehs39Au3kEl6SRAkXGeh4U8otPUDN1Ud07vN9b2HC8klRao0bBk05/ypcN2L2TJ4EAy0lAZCa++dAkXPLLSABAbodyCOSFwJp9VpjkEHHZNMRKC9vo8PnnIOjVrvyOPMoDmrPiFWqRZF7ZvzeHoKxOZpK3a5j+adBux5pUu2S1szZ5T9CuVULHqR3GtUq0PpvIRlftP77Q4EeAfOFt6meejAEegB6Qh0OyD3U7B1NmniAbQFpKKVF1Dh6ssHI2Y9EGnbvaQ6D3wrafO3ocesFWZ2VY0FAhVZnGrIhVattLId6LilsYlXBMuYXu/QsgsylH0azbsc7K1lcwYUfSww/3gWcprqLNQZmz8Hp64X6KX3W3GHS0eGFmIsZmxAszMmDIk7ZD8YaQ+UaWaJ6Sd6bX0CVfsC+mZYLMA5bn7aLF/QuXfiUO/es/UJsTFvngSDH1OvUgs/+9xd9yY02v48lyQjQw8r28USY7dZ+lHrh5p7ydJiOhyc0OtBz0q5DC0SFReU4WYkbSiP0JgJA7WUuBgpQ19h6lVOIczti1VkdEsQC3rLVgwqwjrwUHKbXlOaP/u+Tnt3Q/TWJMtqMJ856RNLlGqT8h0tnzDWGk8RppW/PcOkJo9LMKL0nVP+0LJhCXeVJDqwcXAO7IyB6UshA/iXljjaZFqiSLGqaznYrIXZ82bBFBIhTgKK8r9bn6NakrkgMExYlDC07uMoGG2RU+LSpF3L/sBqz3qyD1sLJlXLu099WZVgYpqwNQeIZKDwps0FZX9k+eEvHCBp/PLven89muN1olOjN9CJbRacv543Ed9Po8F4ezCy9kCGYtuPyghYMGXI1l/QYRHlxe4J4S9r3hTEEt242nT2mUrj4i7C8FVyAVi0LkwfEKo0SeTNRp3lXNu81Q2ewgFwN/h0bgMY3pt2GYbxJiM303Z14mt/aBYvlVA9T+aw4vIPlBrJemuADnvio8BcpI9zV4sgn4/UPr7CUOg4JSBJSNSshRmPc7RzSz5CxWaM6ps2LfFgc+lV3tVnDcKkuQKVtdqqIR9FbkO+3wyiA+TqzQTRuMg+f1BVwjwrrOILsAm8jmtub8l7Cfanw0Z/FCd6MpWezlRQ/pL8L9qpH7zc+RmmsvNttPeFFDYQ2oayhSOLyEuEOj2oxbsCYcoDcxmS42HEzZQLFI+SWLxem9Rpx2zfLBrUPzhPl0ywBz0Ch2n23SIPOXehGX6d317625908C+tUwYfnoc/0QoY6vW7BTqa6CQ6TLX5VXGyX0wQe0lhiBSgByJNwd/yrQbofLE2hzPiGi5JnhZnsjIWjOIusDGlzrE0qQrYUaJjsmy80wBiqLiVG4oxoJJwQZrDZ8jZhIhyfn3YTEp7qC0yRjrHOtJGrI1lBcxdHUGfySxxzJdO+bwGz5nxVpzOx8CR1EYZzNf8zunZCD6eqQiSg23kvMXKmBBODwdXIjEFv862WOp1u7SfwhGnijJRg3k2tOxgOpk3UAtE3PgyIAghOTVU+roNcPtXot1M87XVBseo4jd1MsGHVE7wFrQlcAUn6c/vDcCXEcofy65UAFK2NxqHu/R9Gcv3tW1wfxzyQ01rfcgpZYN+HwThUctPreJD/V5egrBu7rZ2lTifukg/W9eprKVhUgDcUXcQKTPwhtAIyljh857yWqvBFcP7CmHPOf33h+sD49bDIFHoltbYG4S0TJoDz31N8IS4qeZ7/vzI/tJfN/Yndi/xIEF/eu97pxhM1/7J3FrUACWVdXza6wTJBgmVpHlw0Wo+1ceK/exlkMJ4eH59Olmmy1pTSRV/4Jo42wrKF+PQ/FPsd5jU2ltGvjgkFRTOJfYDPbTD+/ZZh4BRzUPIgaCaSYOXMvaiq5Jcw7sgNSrbPEnNy1ES40PoDwavzWMh2SRiTVfk8aTpBTNrZ3hMKkOT0AAzHRyyMX/8KLhovWlA0yRF+eYtB+S2DEovKpF9Q0OR0iSqPtwp+M6IMorwlgba9Drt+NDZPdtrIUq78Nn0ynU2extg9HwD9sNfOaT0hgAZcpPSQ3WHl8mZ/sH/e6kqQwwbI9Sc04KoGzfSPpJpuYn1F/ipMV6bUfXkAJr0xpRpq2clMbnzJgAm+E/+/9t/ffgkC/RQN047ykWYkUu/Rgn3dpcKsOjkJGW9X5zRA0lfEvoeXFVGzuXPm8iDZBVjmSc58iN2/KkUuG9epfzOnsKzFXqAqS8CU+5c8E4udN7ObMvtJH3gSz1atBDI/MTRrmzbQoIIA16WDzljrFJU5YudmLD6SXoSZQTOfBZzjpz56c8ZT86R21Gf6fWDa3krAEGDO7zSOVddQplQyAokKrjg+ORp91lJj0rl7fq09PJQVWD+742u3dpjiC1t1BgkGiGmYof894seq9goHn/Z2FU35AdY/yMbSDehoHzS1TW9PhZKV9z0Uh+o2TdT5HzEVGPsuTEsN+RfhCoDwd4RiRChKY7wKjiXu9qIAmZA3UlhyYLWCgGJg6WdIGpcZb6h9CkL/ntHYQ7+vbWpyMuQXoyCYp1/44mqqL+QYrLSMD3cZoQsiq9fs0QXGkIRemKqupGHYln+wa82jwGxKQf+f2/4/UzweQOYJ6KICjvJJV72/7d9Zzo5smnCobOfSjhGs87e6ifj91Y3KIVvoiMkLUPaLSt3xOUsVcA+JqED4Rx/kg3hOZYUAK9GIb44U8CynuXsoZMNF8FcalGHYBBhK/nQ31tvVyaMrIwHX4mO5Iv5V8eKUDz1clq8wzP8NQFqKVDm0ZYycn61L8o3nIxolZTc7yXC56jDYD58fP4zw2QYZLCm6b4EE7rP+oxPhT25emVzEUh3NNMaPuLCQ5O9Bu8V+w9QZTI0E2BfMyV2XXqeqLGaVrlRebshhTVJ2dOHY/Rss1G6CHQJO8V5hQovI8/3WoID1YJE3zTwMQrtBvgAkfmipOII4hH9FpT1TpeWF8CTEeu6lhePwKl+AhO0hDwo4tVzE9CPR+l0yW0bYRVnUnJE3IcVzduEvBn341XUgO4u4gMbRbAXogTnX2X8Yskx3fD1eMVex99mRb8/Lgr6LZwDrVoBCgw52HefZj5r2PzmIn4wN2NA1f2amjsCXMWLNbwoLmH7dmthtaan2Sotz+K3XznjkdAucBS5j/lJC1F8gFFdmic/XFDqEDw1l6tdU2jdM2Q+HACA+wzEXnJMfmCDFPUsyJq0T2Cib9+PrIE1GE3DAZW38gYYljfEC6xnslWikz+DQxuIUAYJF/zh9ujhDCc/1WwwQlwc7f+hwteAiWMzymT1k/Go2L9mF4xSkDyzrIQgkiUJgJH33hwvnwFRm4AUpInxE9wxMSSDkxiqoez0saRlwCGs0yE8e3R5ZQuWoYz47FodnJ9fvsNCgGj39qvvpkcvQLDP7oh8KuQi634GpXnHnpyfQ0oMmk9GoEKDXScLuX7cy/wH6viBuRI7Yml0Q5FE1wNyaJumqu9wRAl20hBuF1KMA+RUl31yUpUS9vxI+i5brDan+zOrbFBKAFQ/sybWaKtP3XNsSvPaoKwjC14luijlpal4aWd7/9xBAOkcViR4Ra6mmzNNvaObkx9EuzjEvS+/IbXWUm8/XHA0cjq+b+t+CBNnGSBuzDh9/t/34DjBKJZOqhV4qDCkRKfMHZb9u8uaPKWQRSjexJzO9vQI5DDtKMBaVGupv2AnMmrf/Y7NqAUvuREmLdX3UlSUrQwGGmYi9cwWSGW212sq+WAvKNLzznL+9iFXlxY9nrPEG8mSjUuftXHz8aCpZySPeOXL/YjaQz0qZNzk0nFv3CHvWXRaJeAigw4rmnDKvdtq1wXgtI9q6vTIjL1i7ek3PcAzN9LDPEuqZGpcdfkVkZnQbSUngIspkYW3OaIzWz62HAs3ydkHcOsqkagXnGWOu669ETXnbpfJB6sn7KF+2ZoEuVtEFDEQAtuLp/xz8Vjqv6OEb2E7QNYG1uWztwjm4JjT03DcnjKHOnPj0U6Mk8iJgBPEA1HxGaeury3puH29ePcEcoB5JA0f2cpqMz8jo4E/0u5wjCaXr3qxJ7gQ/PhmFwc+xcqShSsHK0/fUMzDW7plqD5z/Y9z+s7WFqLcLKGs/3WLa7EbryfvOt/X7t9Yzj5/Pum5ynG4Bc+Ka/ENuYMISlcUG311XvdIwO5e7PJYMP1J1kTo7Ti5qBGJCsusaV4AIQxYROCb3BkYA3QR8IiqN5OHtbz25en8TsXdaydm88kDCsX3y/14Vg8G5Plzw+EHtGALAMsjq8gipf2UGlPQfSnmwyyV1Z3ZYeRRLB61izBglqzzF5EYPmcsUo3Z2OB+pDFyYG3Zuux0RcXQmEX4XEafZGuPUuZv5swkq9hVqZcJqPQWEug5JpHPSorU7Vm2szHkTZSScgE+EZydssfG43ytYUKJM9rjoLbQXAu3Qh7RYrIWdMFB4230eb/w6qwFhzhQj1URxnBfY4irjGnv25nOiZeF4JhBLJhDiie5qTostDedwASNXh5kvyCyxp3TmKNRX7Vsxl5jKD0VI7eDlttk1equJLzjo6ZF0c4028bmrwsXH3k2z3COXCxzRMwnjnhvC5rn1k4zEY30XrPBNJ4eSnSsXehMeEYr2dKVaqfarJ6VpaBRl6fxm7FrnlAClqs7+TAJR+5TqDv3kJQTFL2vtlU7bwStxJPZfCJUUP4H6x4ndoIy4tidIhcKCgALDUi4bXK5akBzoW2cv7zOJSoPO8ziiKLxirQQypIFnwssgkhzXm7+r8DbpJeKBtOTPl3xqxrtmHEFFk2gZpylozskB2qTlNqmEvP9Hp2PWhElbDXXBrExB3c7YR5pKKiPRF3JANluQ52bB4HXwko84NrrAgbzUbdyTLkUwO87ybGUjDLOmGt07ubxpSfVlofpboO8DBmq01wfTwt79swp9ndtZ058xC0mqTr756I+zd9PMLfRO5ij3gwsfzhAs6onx7zLJC48cGVOOt3rh525kP7qY5K7VHhKZ75rHOgF3/3zNdQD23ixEgfTRyvnCW6AMKkb7Qy1tyYDjQ7ZtAVBZy6DzPvDtQCRJoL8TOCKPbRP1c20u3x7ni+7k+hYu6tjaHo7M5tOWnhsJOy/1PMu61OTZZufegnI7O6RgfdS4YWs/Yp8/ZjfLOvZDL/yK6rGpGcVfagP+dN5JVnlpvbHewhLgkXERLUhFIcA28Plfwr5+RL9sdoB9BANZ3sMRW1GnXznFVdf2oiv9wogDaKQg5B/HLUt3OG1uS9a0BlXGWwBN9GRY+6fECXZfO2xY4CZEnWiwG16QBwYZ0b2AoHCBmlhwOPaOd80dbMLFAgGIXbHaRG7K5i3LTX/N9mS26FQqXI36pTNH75egBM9WOTCoDBB2ghfBjMTLVK0cS+Ukrgs5fwKACkRMV9BggXXlKecXyKbBcF1qK/vRU4yuzSZ8UPe8D8ARoVohtccftXijecYbf9GqPqD8QAPrS3RA9VnOvz5SfeuzVdRBBAfAqEDQ1MW7VgAoulTIfuK3y70aD6YY1xfSuqGFjn6PTRAJ8kqBpszgrdknigoykU4C8TBC+sNnl3uS9E481JOQwoEQZdIBxWBg7eBuxg+QUS6mhVpjIAiCdAyMhjIfyNywPHuRGrGdQnQjB7JM+JkfZPuT3hQEv9TLWYUXk0IbOhcWaToWRqRKBV8YmnsNezdTasURM5Tikd1dZnBe23xi+h1J46HtWPGEKYgd8nYSGdqi07dtASRxW/9+fqwpucyxUEGXR6fvOqQqN2QUV0puz8YhBol+ZIjdD3BAMvJ0das96ZRhL21qgaIhhb3QF7LOjF/qrQvivDjOxgi2MtEjfhnrbGgQ3yGajJoyMGtE9DkyKnwZsscHj2UzKbTMzKRn1fjIp7ets8htcy9NDm8hzMtroftl+hKqHFr9njVcsreUQHGT+JbHu0EysdYI0BMmKnqAeVaLzVAEQT7yXjGidJVfVSgsne+z1eu29p2WHha8TNdZdZfsVryfgB2OJLoc8LAXIGHUs2Yu3Iixg/v2cQt8fe+LUYFVgJZsFAF3rvPHgZnI+HS9mDJ3cLeAo8RhS4UcLFOad/V93fN3su8IQRKzD5z1MEbtzU2gi2hBXZ34jktY+QF+4lNiK3FGlv5uEmwmVMz3XTcl08PcFSgkyFoZwbwn1U1Gb2sQT+Azg6njBPotJjwDffNwErx7vdhVz/emFetfFdpu0mX7Qi1Qu7i8ZBmAAEx4JkAOq3xdZWRUfZPKkFP5+HpNrN7hB3DWdzrLwKstAObmRrlB8noJU/VgFbj8vddbYVp+mRPj+ZwS0QPB3wUzRtx/G/xks+aHEuXQt0bIIyqb8OewOTAhMFeLZmmd9tYwFtTFgTvmgKEKJuCIgAEGlEUcN/qYJTxR86G2t1d5P/AAAnHRE/LI6i/5XjxgFl7dbu11LNnCuS5f1JmbGfuCbb/NO/g4p/iosQ4NNRswPza4h0M5XR2wIbpyLhUMo8gRptsw8VwgVu5SdHrOHuUoxxsKhESuIfosf4nPUj5lfcW9Gdsl4MgneDkeGV4AQ47Y/+PaHUb+Ts25RjCnlZEw4Y8asG2thG8T+sBTGGeU7N35HXYMYaZ4qLBXaSsiF/vP/Uga9zeetlUfuibfWLmLFQpCbAv3YS59/sOCoROUjdQdpAVp63+ZPacCIzp1adlfvBskHRhG1PQaUB0OSyqefLN6fK3OkWFY40wRfFLW0TpPf8MMXpwq93NpZfO+wqML7xwkvJ8FCLZYRlVX6qfgWPZLtFlpmRcdQm4wch2cA779JYfqnE9+xPhVw8Pto56x4KoYVQjaf+rKpj3uw1tfX4As3/vtLoZTYUa/lVu2gyg9ab7/4wxl5RvJtKVqjLqyoOzDzbvixyFTXQ8WoSHKR1IKg/NZJPJmLaDrmmHxjEav+TYGdAlT34xnnEsB4gKHc2+VrKF6Re6YpFyl95PyxKJQuEcGNUZRlqw0fOJq4IOE0P0Wq2W9lkqmu1tUvnRobprnFIKCCF6RvBrbNWj1qG0CizRLzKWq/tx8AUoBEzFh9scdn+PUkefNBoNMvJ3CbcpFT2U/Q3oW/c7Oh1H7T35fBHyyLrHX4HzjJnOSZWBOY+IP58B5sJXEnPj+4XTJrNWivkhVqn8+CpdCAOTKtWNARotPM2xMwOKBqlxE/xxIAeVZNc0gi1Jm7BYl2XjlEa3eEWg6dsb/rkjbkuD18Xa44ajAM6mnYrFORnlZc9DJ6Qtv/CILPgWUGPpTZFpOzN+YL6VDnr7hVwN8eSIE6ez4BbEZFqeXvG5bWeow09Byd5RoDmwJ7WuaTJQGX25akKr2QZSh6t/eUolk4GJGV+WkeyveEwcRkaHYBqKLJPeiZvCgebB7ulVeM6NUciTrb75OcmpFvhgM2VJkCU3gAbt0TGawl3XVqcZAmQuDB4goAPmmU2ZwfOE2iww5Jry7GWarFoGOOfZGk4h4yYEY9KkMVX8N99SERM8J0q0zL8FFhqMyZjEfG1EmAAABBTk1Gth4AAAAAAAAAAKIBACQBAIYBAABWUDggnh4AALCXAJ0BKqMBJQE+kUadSyWjoqUkU7oosBIJZ278CReh6MaA2Rb2PnIc25DnCp81e79O+4W53jTuPQA6ZzIc5gXm/8h/wfC/0ET0Ly/xHgd2aP6H/w/5bx3+RGoR7W8IPaO7X5hHsl9085j9DzM/hf9j0d+CD9x9RH9F+sZ/yeVf9s9RHphejZ+3ZF4x4D5LyIBBJt1wPGoYIYcpFYLqUh+oICxMKLNJGljKJ5Nx9BsCTZAlcqpDEQkibwDdWrRwnjvvTBYD0JVUXEIu0zLEoaBnxfx9FQ3rMhNiP1v+mQxAErvhHRjqRXQNVYNz+v/gRjgQn+MjeLlKf3fzNM+mdOxO8eaamNnQep9D54xVzda/hS+H/e7DnjKu6Dvd5PX9hN7x2+EUiINe4x+SBfP4sFjvmuGJN9gVgONUmAuM3l2u1B/2Ua6OlMoLA9W2d7T9x6tWeYr+tjURqQveRbDXjAMNNpgUySAop7lsar+sfQM6sRGqBLezMU13ltX6dyc8genTsJDmeRezIAfKjFGxHAcj08z8/l/2W9zxSM2/X9kzw69CqWoFfMsSdBI/9j4646j6zN+hYgqI1wqk1chApdIU//P2JcYml3sl/rXgiAjgPJFRo4HnMEZmYZow/+GeryluAiRm857092/MWL95p2k+tVj7r6vo+Pgadu+JDxmpo8ehnE4LrjkSMXzGHM53gupEUUEkNZiuvDLGTclJbSIOLdP1saaOdWid35AuhHz8BIgAQj95fll68jI1blNbNL357cYdVQzKw40QFoN+fpksGxEtjzXwmg4NAw39Pg82+m0kxj53IqDedCKGs1XKWWao8Ixc3OgBJsTFrI0FORSAOvnPvpXBlYcLz3cUwq1fOwKRmPULBi4O0glX1jXJXWFepJ7Qa5PvMBERmpVwQY95l/Hi58pAAPn77Xe9qxEg/5dIewTqH31xhe6pS38b8xdmAwc5NFi9r+1L5J61AU2U6/xajzMEPeT6/hF45G3EAW8q3+x0uCuOjBirHtXxVw47xAbCFxGquL54Z52/wO+S5hNf0SNk/6mKArvIqtgUNKosvGxyt1RkyzPLbT/v8qszgc7gIijdmKnAE96PqZoFXJFZSmhZhyrUPePWnlmdjhdgJKJUttP/WF7hIjLrukIvHJe6j/rCkHfAam5xa/rwePJ9HpFWdEW1kXvg1X4dOTTRIPSxR3ygGaiD/ZIdqc/39VWgPzO/+41aTUEggtArbk9onUf+d/gLxx1FTMCS3NX5k4uS1LgaEDYLdnmJR1IiWWO5YdCWtIDJ7l4H//l7NgHStZeesuNidZnmZPKrM844Kw0+AkLCcLtxNP4NHuy3fgHehkIMH34xMybGUNzlpZnmZPKrM86D1TU7j4jQgPWIghfW/Q+8V7ju+Q8cdNH19B7GpAAiLxx3ONjUfvGnsakACIvHHUgHKdZnmZPKed6+ekCzrDrYpKyfiIq3Lsyimk9cWNfqunhtIxYon2NSlp8QpvKVnyDV/RHoWiLh6OowYHXLJjk4kzqwS9gf/fTdGCySFB30L3Vayh9VJWgWIvG9Z5UVrPf/2pBTA4ICO8mWPUyCoPm0UvY9AtPmp0EeHkWnfgMl5sfeJjij7zthMXPiouAA/v29UJKilI+RziybYJu0jI6pIUY+iZI3VvyW8727US5kTz3Wvt5RD//doav+TOd5qEUsn/NbXBLQdFD2q+++0MNzl8fu/s4smrimUvZf5TL1khltutGLPYt8St+ElH0K93nhS78sLlOiFouxGGe9rb5U+xNnZNv2gQp2k2ag9xRLQKLXdLWKR+vZwwncdS3PgLRG6hhT5rNUn5OefF26zBa4qRL8L/vU3fwUQbdtQUrq79wvlOHnwVd39HKUVawgLNYF60SXbh6utu8n4Rma59RUdBQMr30F37GBxJYagsMoHz2UmDDCOfNov4juP9GhpH5C70O+1Vyku5Rb9m9pPetFmkwOGksy4YVXQMUjsqnGxkvwszypAFh7sbkNcHFHV8pJxDxWhnm6Onpea1KAqE5cjPccJ9luN4X1Gf1HOnhtlT1xNVPi0LxsyzhthhoTboJFxgawEtdTlKnUo4/oGfpHb9w4jRbpl8AjUsF/9FNDiCOWUurNvg77jM+DXoJ0pvPEc0yn6Vbmvkte0tF5HFFXk4UWQmYU6mvSSp+IC7TvJBHEJC+Md45l7tE2hfqBBTjrevkLmTmdKJqoc/bN8jgXdEuc7s7prl2Ss1ZiKDibdHKT+nt6cOnyvunoYKXUURoHorZjYqxPuoN88ACHEre1nyo9q2xkRG9Pn+TwUONDjuJIFWLUPMjYBbyYfrtg9lncp8wyBn9kTvV+gndecUg6G1K8FecWE2wsx8dk1VneC/O+sifH6HOh4PjrU/nE3rNNweSW199iQKVlk7f5dB/neFgpEplyLca3DvEEg/7jRBa2MNY1Sd8jerdtIsRMHVuYLNEAJfuFaFhITyDFDJWXDhLGAq1V7WAfM8pKygUYbSHpF8kGbIHsAq+k6V/YnjPeElwVCDql5E95cVhH3ShMAMoHXXyELnYE0VD22HzY8qJ4uYw5ZdW8ziAE+AJ9y4dHZ/sGC6WmYjCl7m7kGTdpMLPFN0magRET+yZal0rd9aJBxr7RzOYmp4N6oiYkSOFrUmW8HEchWcMSOap949wpzwLmKOw2URsXngXd4Q3hKb1hIVNXEhZ0fGbmTXjNhx18Ga53/wrhi80P8dFMSOFGYIb4zo+CP7PQglxpzXrST3gwb2tHrS/ePavyP7K+5tqVBHzxmvHqBmlZg+SuRTeOgRuJR9YCrLsS315x1yDZclmfe6psXh06G+9xOaHlrEm0zChxJqCNHoU9gufKSDqwW6PuEoEDpqTDwRjVetQ/hH+6Nkmvr2nkgaXVgLqIvUl7GQt6eTT39+NykBEXi4TggCaDHw1ZjzqOJCrS/LG22rxqVIX4VmO1wg3nH4zBn1baFD1OfECrfORALrR03H2EtV+/ZLL79qn1BNrKhycvFJnWT6gGUYN+koaCLMI+0Syz/A7i6gYEBfBN/x8HHmljlGMov7OhDDPGNPXj0Ldjy83ZfUykj/2pSLbovrsEUPC2IpxbBkyS8jsp00GIBQNPTl/HoqvtjqDWXsQ14aneC53YrcFpdpV4yEQiEPi5Qq91dWcZ6FSBvq4Ooe/LsVo7LzDczN84WOnPcStYraGKe3zFwo2kTl4QH+3y9grjsUmXuW5uz6wfMfutzN3xxyiq1rXwbjXe4q1unOzRdaqCGN923OS0Mne7iijkmZLiiccT7RuWfQSZKAkukhgsRZ+89ccy281i1nls9G4MtrUp/G3mdekwqoX/324lxHHalj3Ddv7b/dcNtAck+lh6nPFGcKo0vhgbXpPUFf+n64qenDso9TvEl1gsC8+klfqUmuNZgXdn7ix1uym8Qy7SPDiejvXz7J9TDq0hHe0VBgYP/lMiHh4kIUbQGPUmImYPwqP80e9+QNUaH9fcWKbwqTGjSpWowJhmJP7yCkTznqHcqOnmutnOSDM6MWuryF0J4GQTEPrQqPWhESY+3nQ82264AX4kq1LQBs1o0BtnWZjpEdzDnnomDwD+ydVtQ1G1ZtkhcbRzx+8DKBu2gau6qUGE4k6OOwJWfiKTnlz7ARBrNWL9Gz4eyqY5M88yTjkEmK7MmCVicf3M3l8+fr4mpEcr9TvQol4xaJN5zv90TyRxcepVR2yUW4ELqvBkE21V18zDAP4YwV2tRCgi9HvcUncdDqK2LE4egf2GGss2HQF49JHn7IanQSYxvoDrHFhtsFk2NmMw96AMXRCsxW5TQ5r90Wry1bDpPH7QzOaP8/M3HzzzbJLbjujTnDcsoht2ELFSd95AocQVVuVWpOXpYbkefT4146AMvZuyh0jtE2owesg/JUcmPj+c8CI4fd/M2ImcC03XS6objyd8kPTA51RA1CRa1qgSiJ3wNKU3SzUsvex2iYRciBXXjn/vHqkbSVTYvnaj/vidKQW/JGlJKzPQFVaUK9Vo+lFL97PoxtuSmZGqYlAaREqyGy9zjtXC8igaqu0Rj3GeCoioqDPx/P9+Tk6PN4d2Cwc9u8sbqk5xkslQ04QPsj+5qjtPKO3WtzGHcYVvTmOTV9fZaAzWz6O27ul7geV0Xi0ljdxA39BP9UvojCILfNFugIs/IqX0DOD09hGClaYSLlvc81IY2zSZ9WbywrfdVtZBBkNZFy8gyzHxEzJCqMrHlBQtxiSooXyeGH98jVQZ2sTZi+fH6c4HEEKK5UNnPxUoEVbvz5EcwZOgQgWm7UHLpNUF58kM1DJ76VG9ZFVJaIiWUvLcs2xIYnmsTqMkCbmojTfotcCCwUUtE9LjR94M1qtJMgmbkHXeCGjZu8w9yoJmO8aMm4VDcTdQkFYXk14UVb54m1fQNftY5wOPnnRwsh73ZN+fozp/jRlF74l6wAp8L0+aDiaSD1FJU+f7egNF5kpPyBwSuyaSCophG9n84aeb5KPcyzcDtWC2kz8oCYkABqrXIy/to/KLpEoz3fMftyFXRVQtkwbMAqnf0ivvIQuFEC1lm1M0Ml320TVo/XV+9IYjon4gos0exm50g56AcnAFcOuXXEGQp+bYXKIxfPfllXI7n3THgutie9Cljxoi5+ynSPZJKYEtXV37H2pTLE1F3bSDY+NTXGkcoyuY6a5q00R0Ojp2t0cIW3lDSe9jd8f65RqL3z9LUxO8naxZ20JMTagArkFtnKRxfaUwa+XnM8pI1FEkK3qDXX590J1s1m9RFHrucY5OhMSvDce43Mium7XqfnWGY7+oIr/T2K21wWc27fIL1OY5RoxXSX242fIguLVW8NEIwezZVLmQ/43anqOBX23LXGShZQSUME4vdwhWQVEXKARtpNijFxzWEVL5jyc5R58AxF4pgdvR+EkHnldvzpHoBqLJsv9bvfjFTg+tV3+LUuK/Y/LDCp4rEM6BvwESLrfNWKF0kjPyPpUEiRAttFER9/LC7zIheHQAMuyif9b619I9C7XOAuaQsy+5+1aUfX0HIi/3K8KTSWMsHVg66jSSzAXiZENllLcFnMbX3rgxqDG8Qe7cJsJzoYqNWbrnJx48I9xtwowpyt5Y7H66amUph2rqXCNFZChsJa6nUUwMAL3u2Of6lr17/16qJXsbAbiP++IlfwdULl0kLKbAYMlRMMMb62QX7lZInTF6yx/t5OSqOxUgU/30a7z81bddXY/Vj5J4kD9ZdkZ0EVAfZZWam2PRkaQdbCGJS3Z9gLtGhpUjbRLpS0CdT6OLj8sBDxvOF+MAd9x3wJYAQ0xBcDrlAYKw94Omi4pgtbLyj16vw8WmRq7G/KSaDK2AWya676rZe2yhagPGzdAtGgrROqvU8arwkQSMmAadVjUdM/SkDmkzl2Ue2j6wZs1A1qF+UW6WSgZtgDfalz6RPt5yNZ/GmK1gkjKzYN+MqiS9ZXB49r3dE57JN3Rm6ZhNP5CDXhBmxaHQWtZOn6pFoicmXgBu0enoBZY0C85u3yhPOPNUU7xDfVVqcI6vorOcN5hr9hnfjQPt37GSJ0wJkuAs6qHHbYQLW5Hr3nNPWWaMkdXJ5W9AX3ZvudIXFnmnQOQyRomMtPKVUhoUwxAt+QPx+8kyn25xmElR77fl7LqyagX/ROvIQK4YWiGONZjEGVhea7UjQu6PAfjiQVZYi3gw48Zg6kS8asfr8MEYjkL7y50ouTH48Dsu50vuYVBFS6EhDSVSAbrKCuP/9R5rPaacA1pAQ54Ncyd36khHsByWnEX66yGVv9k5vJUyNvHKzQ2bOpobTDF+IXL1JH6yTe72VVNtxRJfWdbJpG/d6IwNBB/YXkOh7O6JN1TOVCAxsHGuVsP1djpm0W3PDHdJRGxrp7pIL7izECOQ6q6E90gFOgemNr9vpe1DJR/PqV/HulGrcM6poyiAeJCVMhrp+0CVayZdgvkhe8gh56SJLswvb4MajYd5lhzUmg3bBr3SjXKStmUN8C2NoDRxuWLcjw1dZi/zmNWVCIZqdXJ2BIIJfQ4HD9GnaOs1Vldy1Rs5PM3H+N9jKDDLIWsCwYyXZW8QHf69WPJUUmStcSHqPJ0FWw25+fuHwZQS+RvXtK+kwMSC8Owz21OR8CqfXqUpb75SsChg8q+eZVxlj6SSaqKYuIpjsLFHlcKRT4X9ptUq8VHQNYfrHuAr/2vtKcZhzHwRWu2o2YwUjaD1yUbn7OLd7PQtmOTcJb3sRJMpDJ+dxrLpzsDz709tG6WT2oBsXwoNemvbiAMoxbcQUj2VYVQ+0yQIkMVTqlOEJ2ViHC/AVa8dqDlfm1Vvoi2Eo+yHG28SP/ngJ2qU9IllUdkTt+Y97xQILIKAcpYT/fhFwaM8N3tenlnIb45sIAQ8xkPSM3eg1jD1yu3EJxIqw4SSdgRa2XN0DXTaAU8RjUKnw88mrXk63hhdeaI+h/lxsxaUroeVnpfoe/L+0U2rbAT7dZUGFINvm6rkhI5jKmL9MMG5N94ls5QnIZJlYYGu75Sm8TO8S9H28bAXZnEYgDN3GGenB5DOJ8oHCdLzBlIw6rwLs5Jk6nt1cxraG0sAWUAEnEkYMZMZHY3IcIkfymQdhddZDREQDVusaMoW3wJmoNKYl7+Z5GMI+XwankrEVR4ep3jQrYGnGFdR1T4KbNPXFhB3yUeAyPvKPLNSIWwrLiPblfxfIJA6NL//lUpsJPbDOx709fTIVh0Hs66FvmMljg//kl9mJyDIehfQ/SoIWISXJzUJxlSyBa829WsHOyxzqAU7idPOCWoNw2G1oJFQWsVWGnMXO2dh2kNf97Sk4igRE7abZkeHJJPpJqmBNJpgvsi9y+jlebf/tD9hU8Z1hINqUla3T0Gu8usSEu3TOXw4Tr47HN+YBiq3WO2K1UJcYS9eyq2fzQGdlfUSLBF9a4zg9FxtSxwXz/ch9v+5RvqclItNuh5XNW+Ww2mqnATk+iv6bP5XDGnLlDnkhrkQ8/WEmvJtPeqaGO8pTr1hS4Ys3OBoPMf7tVMbQ/kPyxXaRZoXebkpxDrsOJLT3jTMtbResYZVObxb1VkhTnKsDiGGHOuvrGBfm4lgd8nWCGSmGaa8GvA+WFRe/T4rKBBpI3rjuiEuwClv1H5jevcIJ577gO+cEfsJ2hi8QoR5ps2QbtDQzfp6OEyBEOJoet9r7AOmSdZ41QLu7nEphvmTPrKZ6XKaDBKzxluHJTkxT297BprFEtCK7qBUwZwBbkQwSnN5YDaIv2Fwp9qf/IliJGThTz1Jxaw5TbkI1gkRHhX6bWirnWYoFffXur+csKojuDzqwi2ZKMVlGrfvT04FtvMnHhj0mA+8fqjrGZ+dGyYIZe7SiqNckmTgvje1p+b8FzDJ/GnqkOWL7Sexr7z4vr93e1khf/OJLTLxp0xgox49HvdqsZ/O9h4mJgpwc8TS+uMLpfJVG5ebLVK/xKwuloiMLIFdssYRFvDi4KIdEaVl3J3o/TarGb/agltEcpnsUTHPQeMWGavH9i/xJ4T+OHAGmIAz4PJi5f/GkYbSvcdT9NhsNMuoRjBS5Vi7Dfuw/Gx1+vfNkxoLLWixWd4zWFEVBk45cnBTQk95zqIQ8dq7JXx65R1Thoizzng2zdIqXbvHfOJrwDfNswetWTt0AJmqfTrbvVMbMc1M4+UagomPHOr5xcQ/xTquBYw3sHAGaoiXqXumVVDOmrb53jviLOoMHbclIOTBeQg8YDTKZVH4QmszL4Y+1bk0kwN1gnsG7ecLtzix9dIzhcMAVgwXxcuXwt4/XHxJG5HNeZG3vGxDcO2Opc96mbKZ+qe86liDBL5Fq8tNDwAN55WfubsCtbfzWuMHeqovn1erOHClzMRxAeLFz6+/GtE81Vp4sGosW6LHaGBuq1MRynGa+3Kp09zMYwd5ZrTrv6zyLuwqZy0gVBhG8OWVwUtXpvV5A9R/Ur4FoVW4Ma6Bo+4nG52GpzfLS3lp1GEiDFspmtzmLH5devtzYksB5JYnmujikVbPQyDe9ChOH4FzeH6MlheGnVTMnP6Gl0VnZ/biCyasnYpKGAqJxBjASn+xaV5jFDKJUuQEa9BFDRJaeyW0J25l9R8XbaoM/s7knPhPztz9ohIQTJwMlBm85EsfJV8v9vv6KVDEQ3WsUUu+/hHJsW/GY317SwV7LmLWSPyI9d29K4UBpmbk7K4NrnFExL5YmKnoqa1JUlyGAXuwaMsNoxgwziFRUG+p9eV435zNzmesxDqbRLQmDw45T5RMjcz6AsF7UB8Ol83WOCeZ1e5uTtdcBGVA5Yc9F/28wfuiKYDt1Hvqk9TMlLJX+CHQJ3p/bqNCbfyQkiJwgOmRY6tUj8GE7ckmq8BtIiPX8ZsHU3mQLSZ4miF/HHpVOl0YxDQ3+IVGmlJiJFcLGpBufZwofsIKU0foNytDSw/p1mMyebtHC8YwqUjt5kxoPrx3Y5i66s8CuUlZ/kVcD9UZ8hQbdzF+8pVGoVRIuIKSgAJVjKgLkFU1/RSLwa0sIT8De4WWOH55aBZoh1t+gmp262F12DM7zvDbE5igTSbYNXuVcHUCQ0FdvD+qM0lGGNYX00uOkWoA1ZYS7oHhU19Uzp24KhaswdVPdfcadFeXGyyZ1FUq9dalBbIJXJ+AiBeyAk3CJdV+W2oEXj47aoSzNqIie9iKzoarWK5MaI02mfNJro4X80TPr0uuIbzUiGDBKExEW+WYYZ3NT05i6fmfBIOgOKtu+zD91bepkpLBTJXWSL4J8GyU/JmdlGQxvaKulGyE18BsPUDTkICaaJCpLEY/3AL3OnfMfViNBAxsVEmnrMgYSsj66qvAf9LTitV+PCJh+ID50aQyju6FVKHJjN6oic/IuRdSRWVJi79Pfmgja/C5NzuZ8GFb3Xd7cFKaz6fjBCSVLfjQStD7hif7TbOyUXGbomcOdX0mJ0G2mMojeCQHR8HpYWL8ePTHAvErWQfEXnCIQd5g6plh8pdwh5uVA45+A6ML0X+NqUNRl8G6T50A+geB0ImWB7gBXdsDptPirV8vekYnH+qIMikjvcWekMgkMm0+ZrZZqIXlegn4j4V7yPEumQ/ONEvms3Vrl2HKwslmIAIYsFbqyDPBSjmZc+lGx4C5Vufv3okfLYvjFVv5uHtjCpQUpgDlR0iUrqIHS8WfuAhVSS2Sb0aQtOs3xj4CB2AhgAJzvPzYQEAATzUn+8kdE7X5m5i7mRAoPdIVhu31G3ULptztraZQO1Egz8SllvYGvBvOlr1btNNnDyQcwVDZ/vr44hpXeuLcBrK2HeWWsehSUUZs/SCH4Qo1lpcqMVv8/wMsnN9AAAL8gAAAwTxK2eBKtmnNiYohX5J1l1GrcYarYf69CUPDQwYXDSZyZ4cqMxxyl43pA5wh0H7l0ScOxeJBlguLkPfTJCRD6VgwimERBoTcAKg+6Oly+vyWLR7g+NS6dSa71WEjB5PZhWGgGJt5RK/qqeRLOMkKYanV+/WwvOdR9rwDP33CEt9WVpPNQWarXAuPouxko1D5o3l3PJUKuNygq97U9NNWmlD1WeJFg+SadNwREybXsW4p62Yoqdfy2Fxj4n6mSCikoaKFPql+q15+iT+73YDJQUB1ktNgnlcxjZfO9aPqRzaQ+DgYBHkkwQihUpSB+hZANChELVI4irVg/9gu2hNwtw1dm7pnr1/Tw1pJpkdmRRp71o8fmSEO8HEqTfKUVWlw2KzxVE1OYD4WVfAhHHkC7DWDHntU5N6fOOZLbKP2Qrx9Wos+kpibCNvzBuBwPyOnpYzgLMQwixFpbCT9M6E6HjE0H/nLrBGzoVnUAFSKyfF7lw3iex9128vxyRTGx8ACRadCiJLOLrrEsCbQMbvSX6yAN+W7Q/vSLw/6Xwm+VGNiJfKcRgEFrfbzgNEY37+5/5B93Otp7oEGHQaugAOF9RSLw3hCQ+0HKTbUFLOTnIFnmJoQXScXbmdk2Bul33XyG/EkUraUxpxsJ1dwxn6zsESz+hgkzfE6O16dQ0jP5d78cp9TSNJpGXsSCv2rUq0AGWm6eIe/bF6LYOwDbmTZVQZppCx8lJa+AS1o9cKNcjqZIObF09wec9PBnuwDeQWEMJJl7h12lex+dIAr4ZcF3totKbLt+OwYS/+GY3YiT1BuRSO/0Epz06jruA/OK5rocZycGQE82ta6Ws61QTqsfvHH8BsdPHPnOGFvNEeRwR1X477PmA9vTmKLSUoYGOBt1IIlQ982IeGHoEbigorjym3W1t/jQGC0gwz2XDQ53IgfQdeiVVk2qsQWTNG+JX5mSrmUCaX42ehMQ3IFssTyNT3bp6w+97o+Afzm13BW8ok/sElT2tEVDluLJpjU8wl1s9aMakz24VG6tdUdIMy60xBAfjJ3AhjmAdLmSYIsTadG+yowYDGxR2MBCWOT+eyX27frNo7rKduAAAAAQU5NRt4dAAAAAAAAAACiAQAkAQCCAAAAVlA4IMYdAADwlACdASqjASUBPpFInkslpCKlJHSaILASCWdu4WqGhj4BqiTs/gO63l/5J+l867mug29z5M73vqN3Bn9G6HPTkvQAsmP075tPo381/u/DPzrz0Lw9qvZi/jv2b8efjbG67SjYvMO9pPtvnE/meZ/8Rz9+CR95/7PsIfp31jP+Tyu/t3qJdMn0UiMspwHyXB9/g4Ce0AD2J+d6nSY45n4ipM0N5jwd0BqMgVnczuomliLA9w/lQ/stVEoj2+CGPjtH/gBVw+r5TYSzubFQ0g7WjaYmXYkaUeM7+HQu0cOYjHu5yLFBkfrNzK+W/N+zbbUKpI+rfzw5QzoUo8q8jM3dsZdNal87ljT61QEo9FvPxt1p0UTIK9N+0D57dBPtN0j8F6t01UtJrGyw/n4RFaigPXX/lBAHJv+Bpt+gS/bTT410XlCcsgl3lL9ZAhNP5VA+oEbGpyCLVxlENlO4AmRTyhD0V6lfvfQHy9HQDQCYM355Hm6fT+OsL11Iz1p+0zjGs2YUmmi4IprPC+vZSvXz3o3tCRnLBFMYL1UAyN6lcqIlX17fehsccFmeuu0Yn3vU8761YeQ+nHzSQqrL7uGHYamunwfJ/HUWQ6JJJJYFcnde3VHrk+fFAwM/wNjSSNZ4sx0LWxqNvG8YBBcV4lABEWMPsW26ZQf1u91YxBMkBkf/s1BsU9mxPtiE5ayjYRC/T0WUW3gRf1cONctoJKva0vqEQAIk+MsETd39fqszytmdKk1i7YVxAnFfcBAdEA86LtMakv//CemtMcBbRN//p9q6ctCIUKooU03MNVqNcdSFxkMiwIjImiU31saL5hIx2JVme1/wKrMSh6yaLoxjIP3I3JgMERuCSmCirSKBuS7z29zQhe/Ml/SRT2NJVhL+EILNuFT7WQiACIc5WIxlmIdkVY/pjPCZ39JfzKQ+oPpOe02ZKNLA7SfDRUUlisnQXDOZxB0qrt3K8k9T5VehKlce4g/cHNKq4sX0dMoPc7gT1+pYErfBLaOgs8DXfSFlAaUuUmlw1PvGT34dqxPIqA6N75JleDJ4L+vxy9tKr6lnO+tVQF35XvK4QPrKAor/kEp8czeRrrhWzeaU8cW6dJqM7r5freFvEGpp5k4kRqKbK40Y1jJdYhs877dDjqJcz9efxN1uCWGb8KnyDPZ3o0oD4oUJPk6rVX+N4xOhKnRw3VFJdfIJpM17+/BBE0fSyEqAcjULjGsREeOR/NIqsz2mvB7GjcSqMsYjuKyc9ymgNfcT+vi0eCuJL4Cl252KZdMoVv1sL//F6uJGsBb+WiOI8uZmxx1PlAAiLF9cz+Z7f+ECSPsUXWp+EalDBhJ6Cj6/BDZ71uoPU5VZpI8762NR9K9jYPtC7iF6mnSLYGHVoCgroJ9bK91IAERauOpU2yxvjqQDeBEWrjqQAIzHME3ACIvs/ArMbhX/OsCp+LHe5xKyA7MIEbJQhxdV5PQXMukhlBhzinw18QvQwgMsgRqvqSrUkxG/uNf/tK5mjF0DYMuzQnblbQgorGDX2RXWnhGC4hOb1F+3dnTAnAOU4Eh5HYqRH/bosGhOW66x23qk4u0qyzm1KLSZz7EMdlgA/v2WvL+6/XjNi1s8fD+Tdo/t2VQnlZ1u7W18qwyJvPRsX5rdvebpL5nKEdTV9fdN7U8HzBULttW/eI5wrR5FxRc7mAIpFRO231Gk5e5A0WM2Z+TlFEUEB4NsElOtpj33HAUtNjmEpKfEdYz8EZymoDFgZuOiLAvcBOX/ySp1r/fW4yxTssXHNZ5RoTiaN/jL+ZRbREYeO4/8GUiwld+yP2f/LZTerlf6FNaDKGasBK2ZKI049Ay38KH60/6GtPJ/pyrUJ5zxtzUsEcAliQLz6JPiaLybwfJaEY+Z5qQielwc+PH8wsAibKMRgTgnfTJ7fPkLvU8GUSx28168zxetlSE2k82coTl4JkOkZxpcddczwFbIMTcZ3ZAADnssw6QQenv7bJh3rIBHBM6HOfWFng5kBAFBIS6jFENxrpvqZyyzu19WP4e+qrgSKqN4fzQlV0E8Ds1xW1Bmio0i0qGWPAKiRq909polOxJjpnr+Jgznqn0XhfB+5QZ9en4bTcvelpLjG5dC4LOcp93PC9d8KYuupzx2L/sAz5Tek/uSR8koKceYWUG2jT8bEPM/ojXc9dzAQXwFESAl05ZR5/MDBYP9ktPOvJ02f6Cqs30egbdad8Q4G3WrLSzOIoD5+lsBGr1RGw+OpE5sE1nGXnj53LsYWqR3KqXEhqYsLyJdClT5bSGAO1yP3yx5ZwengazurNn0TH6qdbbui0OkCJ+/psES6Qo9VsOT84WL+1cTb98fzrKgV40d2Bzt7w+mor34ct56r3jWOUlvU3/Qoww69e99nq32V6mLSuchaWxXJ+ucHzX/Q6WP1XpQK4/nBevTK0U1og8H+m+AJRxK/gDzGR6/z81te4OLLpQsAMHQCKIMiZZZRT56Y9rOzljs4+FfK3AzSWqvv2nUFmUOOLsdfAinfX7UToH3VrR5uSh5sP1PboXr0O6oigA/DDKqo5hL9t2ieAt2YC2tyMhACtxQ3BxDIdmLSKvRekxR3JHnmObf/xHkvsEubN9b9WKnpAPqoYZf9LCoQuh6zrLvNXkwIK30S8c4Ls1dDz9Hnva/wyKYmjdZJf79x+PbbsHAuF8MJZAFTkeRmW2qn+/K39hBYoEqLrb3CfcNCvIj7RxgpgkGi5oxvAWcCR6M8PRABuwuivmd9Toh2+iMoAe7bwBlBu8pVpZEYW0Dzp+FF3Re/hTJzMGW2tLQK3vgJuQmp14dUj2cZ2f1mRJo3ivUbRC/sl2ob3hUiqZfLz+CFDphNR8+5SHeUVpG2yOMqlV0nhmb9F0FtdKTr1sG16E6PFXMMZxM+HYDBmbBAyAv0cH1lfNtHhxjF1OgkaBdLbtSkYgJdCBKyObBR3vC4HAGCTe6fal7HaEGEESUxdZARrn7zU5DLTTZHH1ZguBLE/GPDbvPSPLCaOoIqzxW2pf/h4nIU/x9HvRePt9lAAtnC+hnINO18WjWM+s8v6xhbt5c1uQD2EBix9a6ZOcvRCucLKPfd3Fo0p1nM6d3wRhEL5qcwmQAhXT2pfRLoQjujfbK+Lbx8fJbyLnVo4KkqxX0ugkQCeds0BRXI2S7FtWka+L1hf4//WJ32VHtXkDHtsuADbRpgv5yqOyzPGW3JbqIa5ddz8wlTZA+GQ5rYgxWEj9ELhtREUmkdkWiiw1CXt6TLouwcgOlUahdGxNB6/kV0/83oKl9UAm7i/Bizox/25I3ltj9Vyfp3b5B8oDKdnJnI5KXISeTFu0SjnnIiRxL4dATnJ53chD7/76RhiX39zEE9XY+BvCKuyjtBp12zs0ZF6ZnBKms3qWD+oLz0Jr+sCw+zxI06oNpfr7xGw/7kh81w4qqg8psHbw0aucnbOWWgNHe/9KUKcCUeeFThEVRE9LS4FZ/ACbdnrwVfOWQnq/SEF8LLL0DuAqy/CVR2mdneAff8Ruk8xz5gQFp/V+TjHr1bvVd7Ze11zkRhS5dY17wRXBOc3tytkV/DfsB2UT2Rp519x75UDeKCXz3dLZZaYU6kRp4efhYaDDDxr1KxgCjNSSU/4pYzXyDGzkGRo0ML511zyU3OUa7j7Fepx3eNTh3jf1lwBcY+CvqUrFyvXZIAFCYWuYlEAKws4l6CupBgkdqcZuu1yWmUT2GVNA+whW8JlTwZ2kMLMh1vHvSV6j7PPtNBK7qfYpu15OHC5AjFn6GK8cLS1l/Qo2XdZSYJxfF3dwOU9sjiFAzuSSCsBiJhMBZW3a3NhDiI1bBd9qaLsAzEaDrVu51EFOkQTIByMRSl+P+o43B3oEzZDelCvglbwJPUlNjU2g5fqD+IJrLvXZ+I2V60GvbFdtpVwlPsJj8yhj0oLa+8mDgrpH4lYm+6isTRAdi2T/VaxAfjSKSJnnOt+4h/skOYrZ/rcpOVcZb/WOdfqxbW+dTY1LdishI8+5SnDaPqMoGbW2T0nhjfp1Lo317WVRZ1yDXoFMMwgriw6ycBQGflp29ZZs2xsOdngUPBmOOVYtdUIzNEyJp9LyIguI9MzZ0IJEbzHNNTQq55g5egpCA2y5VHSLLqBo63gQ6b9TqBryHcrI5m0zKFUr9McmnIqK1AcQTzzqXir0xOwFApEBgNu2hc1HeG5YPWIqgrIPzt1zYNJ5ZMBQx8tu2Nv8bObCyN/CY8UKQb4NZnQdN/eoEwmWVZY39g0MwpohQtlvnuPt1XwrZpsZRB0oAVknv2qIo/X+wKEMn0zm0Hf/aHcLALXl43KjmYtgxMkkFG0z/Q5+vzF7UvQAts0J75OWQF5F3lk5QkxUgDSqMbkBbl5P8MPVXKwUU2kfNDXPIoLhhLTnJdFwHr7yQRx+bRzkTyGrYpGG78JABMWwZG2W5FbYQHp9NpliP6ZfF09RJQ92FaUwhtLIvsRfZsAZdwEdQHg9exY/St4P8PlybT9/t2wh/KmPRRYNvBUUXOPA8w2e6qbHoycCdru5AxLZUh1gGI/+gZqjAY0RiXhe7zItIHwJwrlSM4vXDSfFSd4Fzq8L2QtZ0ldvN5mtHBA8i0X15YBnC57uIapft9osCNEj0GU4kVInrXntHWsdrYMSecb1LMvVUmOIJbai8EzFayu/Tb0KP9hNA0XP/ZzRPvraoA5X6cvqBnxR4V+4Jpegyqu2mRiAcPYUJEDu6m44pgXUG4smvVrjRiRT/NWEiZbaSw7Kn15t9gnBgbGkLIM01AfnsNOh1ZkRXjcj7LOfvri/lmEZ680288wGxQ+JGAsClSPP3sNwtEiFERjr/0ATJtoe2KqVWTzpUaKthTqW21A3oY4AG/kCF08aX365MhjCaI0wkr9EcOYDmCuEIXgrwP9iqLgAWRm/w/nc5Dmf0O/0TTX2IPcB6vJuzmr/0bWnITqaVxTzfLnOgeq7XQWsSj75LCXI7Eku7ItQZ9buOf1U0k/pqmudPPQWj/wdms1+E8nNG367sdfvTSmVSrVVhLZTvl8m0OGF6IPvf76XeFd+KiWqB+vPDAn++7DmYNDDQ0RCrUjrf+1gYnufjMIvggL0QXAyTdrDNX5hrjOA3zdvCWpHokPdD/3yJdxcVo/NdNAa902MgrZRiABddUkx8rzkFjNv+SPCVi76/uikyPlO8A9jDDthd3pVtOLSeJQOx6XnGtCX96u32RvoX6Z67ZSfck6wvDxZacjbLEwwzsibdBq+3jJkv8W3XMzDr99TWoaAsz7fLG9V+90jPOpRmwSTfITTYn2Qj2+hV5Th03UX+db61t9GNPf3smA8QoYSXJHCN0v/HSGLRVeZrInRuf4z3efNza72VK9rAVrhrYYFli4aemzRQm8nn7cVAJ82xQGY0np0FF4F8AiL59Gb6n/3pGjc3krtso0NK1/cloPGB8OKjFWxB5ayJeMjj88MgO56Bkl0/EOKDotyTAA5WYRLOlorTlP8CX+MRvrzhlGDGvgME5lfGAczD+gCgnhbIjgtPuoL53+izgJHPgSmutDVhvg9gBghs5nd77GZrGiwL8sBr4Ckb3SCOumNVrC8jt+FsX8T5PfMaqsDZHUa/MSmrfd7BFcOvcO7DXIm4/lN6JCiZ7/sjS/tbqgDZweqGw4/rJCfMmqq7hVYLloiEvUMeIhAX1ZHfG+FXkH33NR5G/MxzTtd27xucZEvYyWb1fjUWUwjR7MxfZx0fs6UtBVsRAzF/8bopIicQExZkBFbZmU+l+qKc0xWKqbjoBXwTVXCW+y5DEqcCwkECrKqqj81U29/yr70rsYO2mtEJcvul4UbLAGX/HXZtxOLNFVv8UjSAQKhazw0vmdbv6k6IdYPp0GArMxZUdfkw/14ECWr54gKL0fD910BEGEHB5bV9ih927+K3YsrTol7C3wpYL5Rgs4SbvflGNf+Hypekx0Y1D1hTW612EWtE2aQEhN6+H5weKfA/izjegcyuQfi7TkOBP4mcCUS5rNXErKVP6K9oHdB+dyYBNBMjJvgU3MN2pguKQ9+gniYsa6g0nmxBloU7pJTmM8dod6pMngceYZy7GMyVy4Qk3q97UFwFZ+WJdWBt5Iyns1Oi5jicNybvxwEnVzQrAfLsOtqUYhd45hXPMCIJFHotoYWjZ/85wUdGR7rfKXo60RL98Qfy4qFSGsuL5Pd6DuJ0QicTmjepiKvja18OfNsIEJSgKgFn2OOBZbvRYfD7CrXt9a5gqw760YSGw82xghhz3eIWoxiGzf1yneP6VhpjXQZY1Dc9Mr7V+b20cNFkkGRbNQwcn15Qr7Hc/snvcmZ3A85FrbHf0ztUBClkgW8/uuqmOitw0yaOkjEcvCJMJoHxLbTgDbyBmScGWSoIXLC9V7D2WhGwI+5TWPN8757d4QVwsTnruUbjGCN9lvwqHaMSiBHDY46KRcDGfusM7NU4AKEhb8vq+/g+XRpKvk0LWgNfNBXe7xinRJo63bhW72O/CL2KK2lfqk/6Q1aUkJ9PtTNm8WQ8L//yJELEG+0jXniG6t4by1juFC37GTJU3XbrNrG0rQ/CsRpVqPQYhakgxmslzCR29K0dUyi5vr90Na0l/HxvfhFKAIvpnxRHxpG7skcHVE3zENu+N0A4e1qEBSQJP+0gf4xg2x/qJQfXbIuuxcwMaD3PRUMxhQfK1gCHpJH/gpbsu0XnOXRYjq2RXfUPNJ4jYshCuU+Ukknlv/pjcpzbJXbJzRAf6E9uD7glqSRCWK9aFYGSNMqQu4BmHsQJ2bKpYk1vaxgDMjaVNA0rGdPBht1ZLkduCxMWFVZythL0kvjF6FZNdhfs9cH/RG67v+1K5lw402m3zYuOOXiD0D1tgJ/aXzS3j9e9L7dJ9QT0bc+6HrEC6x6wmfTh+D5ZUUWr25+hnQK39r3q+qBbLaqwvPJC0tDCNAkazc2W0K6JuuZOnc3v97cKy7jrQUEPm3IPXDYl+JniKrQSyM8hmGz7OlsbHM5PBtOTD754npS2qQXGJ/5gkw+kIPo3mlZRJjwWarLfa1vKKi7djxcEbGdQDoeYPLqj9CZ+8TnpDJ8AjOCLS+UZyJ8e/BmkmopGaG05nsbU4pW14ndvVPIE9tpqMs9u7comCtAsOtjbVpAmbOC2QsDuSl9uk/rDQOMtQeozeVLjgaI0TT9nlUFqpe45jwqtHQMh24Ydaj44wUrgNINMVj/bpk3I8aKbnrkqZbaeVy6IzC4y893aFbf+JlPP0U8qm8E1u+W0lNyn5rjjfG/yiF0L8Vw0v4pjgw0pfLtf23vmYP9v7GVf2QAMOKVenWLWywuEXTqUlIGUXyG9ifav05lpf4j945KI8qYwHeAs1+JAJ1l5hIPaDk7P41LUK2Tumx/srbCDGkgfD9akLx71krer/kFWFHyRw47Sn4mgVhBq4/X/TwQXoVI4dW3csYZ8TAfH4DbY1AA5Y0JaiwVFSzS/R9pYqf2wW+T0uGm64foDRvHhPEwGpOm/+hla527RCpGUBA5RFVI8TvlNyoXWu5aC13dge6x4XzRZ9sNdptYie2CBCrNWJn86bKcvnr+02OG6dDMJptpQuijNIK1uic2mA6t4lNJrsW1EYFYy7FwaC9kewrUZzfLm3REVCA+5vTd6RdN81hNJgMcJ2pEAXzJ5Je5sxm2DqaLNysXlGscxoDKvqJuLhwFmEkTieq680FvEfVD5LESrVCi6uhdAQvQmrSOSl60ZXLHeiHxgodYsn3cHA8sSZobRnexWzHwElGDVaRBoYvINzoA2Hk4kwUBfC+ulzHMs2cKX8Oa0SLBLldt4F5zHmgVT8wzV97KNYAD5oL+s2aGvk0DpDg/YmNHgHXyJ+ATdXmrsrrfeeisc+qsKQVNEi/FCCGydkkaBO31J3UVgSl6MtIFNIGssnVHhcOOIj6oPQv/v0C4TB1MqXPUWiH795REbepzJKheRWzpkdCbNWZnMF3jwHa93N17cFkL63eqZMMjDxoo/g91vv7bcQO0R9AtS1QJwR+fHXutybZz7s5WUoOEQRmTiaSvo++WH1aReDN9VbCMaXVNwQZqdAQTQt/IVABUIj8bNt3jDfeITP1ZYSuSjBw4YM+WURITgG1QFizDmzOfBnVRuopYI7AYM01l1UKjGfDr6OltKnLOnFh5e6a7kMfhAtsWEkcdcHRkGicPkcMeW/FrWc+MQn7+s0eRaG5QjtEoXkwqX2GWjrdklZwpVTE7ZeCUoktC1omYp2uAbgyeDdonNDsIzNEFLczS3A7t3MzbpJJD8R5HQcsB9EK1lJUBtTYTGD3PFdSX1YD3bxQ5sGN0Wf2GVE80ETsdxBLbM1lV27Cb7Uu8mBUZQ6rTb/0TBkP5tVSl3MPa8xb5+8vUCNTZSvr4++l7i3JGtKIjX4VqHcLHAsC25BRT/or72EnszrZRgvesq+a5yiOhsgdzSyVDNmV4lqYDEAiram/I4RHFH/E9m4Bez5rIlpAhxALbl22UzyUzp0Ega3kHUB9D/pNm2RC7LXadTXatXxrTr14zfd8TI2CpTqXGDpzeOsDj53fd1wDSzMysrwTSu3FfoI22/WyWQrp/Wa+VNp4Lj1vkhESI6Dbctp9c7mU+2ilIXOMZRvk7j1QthSsu8ttWl2amK7ocdP0gjXssqP1nCzsI6MQ7eEFKkYIM9UUgfLxlgUo7EZquabbTFv9/zX36p5aTDC+bFqnGa3f260GBK4EPSLaKvoiW+uCQk/KVgnIP2kAdh//OtyqWG2M6rpDwP22IkySsvwNdFMS+PxOmWvUI67isa4usozy5KKlcM1wbbo69um/9nSGMBfEaAx257nGJz14bXXV/jKNv1PfBhi6cA+NcJ3W0z2mK79ZfIJbwugMTu1VA52FMjOkzxgyWTWiRtjcipjsprp9bIIfP3KP9pQUeiCOxHWjmxQPyK2ES009hfLbWUHNo8WiZc9m+ZoANHKwQAGCQG/i4lRma2w/zBFupMt+ttLJ38blR9eGqMzHkEzyqws3bVkIZePDvcPf5fZoa4UywwImFA7JvwGzIZUtdpvLpaagIHQJHipK76g/CKtdXqxCmj4m5QggPZeEupNzA9GIykpkAABwRGZ83tijYJ8tlY62p8zrKUo8NqLKx+GRtGLLJkbJ+M6BzJjFznNZOHq1dfn9wfAuWPjHygLqVqgdKP/JGvo9zY0M7tPXsN3r3jDHhcE+UykEqTbEZg31E6wGA6ajLDmgFQ0tQXKDEaIorU+Q58MW/lLq0HPYIyoc0ntzA5GT3o5Z1lOy5Ihu9XnwH1ppn+zjyorLBB/CWRvB7dilvM7xfcccTpU7Y6PLPnek8y9lzIB4XlKh3GmNAFjfA6s7qrQaQTCZcSlqx6vE9P186Ug8f2XhkccIJOavrJpWibzqez9eVWST8kU0Nrh8u7Qck4VveeLcUCxmpIflOQY8OGkdHO6yO22SUInYoihv2xbD6mj2TqdiGCk3qgdqegAq+YMHYvVXDCOX/unpEIHfqoUmbVgDrv9HpEcl+J6j6vuHMS7FHxFtNc6ufkbUAX0mZYgWg1Pl3b68fxINLop4AwDGTe+rcuWq+05Ws3szDEJxEu1Np+5kJbrLu3dObpWYUuu9Thli78w/BWIVh92l8dRcROZppqc98uobjzmiPTg7gAIDijWYPZd1eKAlUcw3iSbh8B3Ecl+Tnp9Q9IzmeghKW2pDBoVV/KCVsTAZq/GZFqKhmSolOX9oAtaUBT081SYhZQdpIgoti4lDQkIUFBPXITHq4HmPa6gRuepT60sQuctq3ZgENgMKYIGX+dcShbObQwl6eYeITra0Ydd/dhKtEpkLichAN+XPhWhGZxQW3P7RnYfTwxULig5dXjcT0Cmos1E3TJ+94cz2XbiR6GOtU1lJn/+hhNt5VKYDirPD/6mP7Sr8C/aBOojUXg4p///MuzN5AVjL8jacET583M0Tnga86X39pai4IH1w/TuDOZ8G057zvGBIpEJSVYOBBEc15gNSdaMVZuN9Y24a9lTBHa4YhNrRMLXAhVt66WkbD/HAqKLd+nmnoR0Lv6hz/9o/zgI9qxja2Ea7iBATo5rO4sDOHS3ozYFZzM9w5aGUZJN362JRFu/G3CH/3wAV/fIrG0iNA6igLHchiw1v7+PpuQloZ8AAAAAEFOTUaUHwAAAAAAAAAAogEAJAEACAIAAFZQOCB8HwAAcJYAnQEqowElAT6RRp1KpaOioiT0ihiwEglnbvvwV9vpg7+xnjkjd5VyEl6F3FmL2PfUZuKOeA0530ALJplteg/x3/K8OfPLPNvP2m9l7+Y/7fhj8mtQu5r2pOwf8T0C/Z77p5s36Pmd/Ef7Lo2/7Xin/g//D7CH9K/zHrE/8HlL/avUV6Xno0fuASTafMbh2ZJ91Fs85VbhrWRTKmC1xsFJ25fGDpr0K/HNqjVoAhX1eKrsVzJC+SzqfAkPOMmWwUgOC4y2tR1ed+32/Xme1G/duxEm0VA9AejzYCOkr2aa6QD6nmy/qNS6YG9Bt3SB9rpMIJn6PskvXC4iXR92zo3m/KkX1MInb/gcqaLhF+mkrPUqfcudIXmTGlAyXhw2qtT3cTP2mdxa1X7fVoIg27T2x4qgIGJ7Ooo+TKTkSuutYG72qGmHWZRLmUKl20dzlCyqwgLcMA4+/i0BKb6WwPdwSXiWz/6ETKdR/Ic56u4Wr6VeA6V8oHnsByYgs1zUE40EbB2DrrcNawTnJ6Gk90FzDGEIvfuopFetedG7JwLrOiA3G4b0e+EItW3jKYHctpD4VJBid3queTcJcpzr5ewx3z+USRLgcFNId4upTsQfmk/7pvtASUll2Aqbi5M2HiSLE0TyTbBW0Pbev/d7AO8BrOzXEe61cn4RVwkKRsgIUYC1WHuv7/TJXWlQJEnkZmCbdsnlNUBkaIGMyBaZoxR/nBD8Rprpb0Puoq8e8xjJuFlfcX/ZySVndLPdBYlN2qZDRIXktWiriJ2sLNABkk6RMGP9Xk707MCEXjwvZ9ohManX7olhwKvCVJS/+/DPN+xEMdEfjNRMw6bY7Fjdgn6Jg23D6uiV7YWCyiKp8BDltDqpbSLNU56VK6HieuOaITMwe8C4CCq5IQMJkGuNo0mKwTJFvzBsAKbcSePjc4MToPf9NuaTjUbuvF5EJoZKkd22CK1xqFIlKSlri6bGq1WYf6Z9y+AVqu4HJz8x+z59IPfngUOjbJ52pB2cALbcdnJjEUv8MGizKWlcua3uMtAsJljtjWUbYUih+FsFN3h/462MKzx9ZgUs3z03Por2vw2kbJzyfSGaLs35gMUS+ZxcFDRNLcIgU2/HqVFkomOM5LIHU1fLrNZeGWWqAXRzwkYBznBMit7gO1O9N8At4y/UJDqApAlMjfIqUyXu1zHaa2kqmfAmH5a7SJVAknB83HLoROGLXYX4ysBZprbTZCyalPxmYUijD/PQfACmLcMNshxuoiK+/V5p56m1m7MSpP8RIGWlC58hGHMxQQ2sSxN9QYRirM1A/PtOSFI2v4cMNuiY6Lk/pph4clup77cMiMMdRhRlUKqpI1fghs97EDg9sG3V/eb8wbdUW1tzxvSU8Xa/Nhmq88UEPZyoUjfYtww26qvJ9IPixN8At4y/UKRtXDDbqrBRRvzB6yc5jqdRsTz+6CrCV3kgiK9ZU52tKKrwrhW73TIx2LAuGmy4pyCtQibfQnLH6PTcRQWcdEjvAz9EX2bIgFjtZh6jSJWpLNBIwLsvNxsThz2nm7LP85Q1/wcfGKJJ8IzzCiKQH7O7Z8OTT3KF2BP7eq602jiiD5j/2/ayZtJyKOmAAP7949DNq5TZdgNhq+IDf8RvHjYx0+C+Jl7/BvtOXCb0nSa44Hpvmj/nf3VoPueUX65SkT94WeEESG0vUqX18BHVhs9BQcGpIsZqfk6uUxHrEy4+DEOPvyoWkeMYns0QMxEvriFoBx8Cc401YhQo/IX9r8LZdtD2AZ0GbCmRW3xrR0BaD5pK7p72pAqyEYTDMHYCV3wceIFKUfAaETqrAGxf9DmhaywmU5/0Ii+w2oNX/3cQfa8MzWbh5c+nweujVKxyOfC4CkMmIPlYn5uWHQgNw6vWnY48Jz55fYpH4+aBQZZcPoIkz+7p04nVW4bVLfw8CRKnBi+7z6a/WOOBiIlikNmwXmb6L6/RsUs1tuNxvT45VoqF+jAuWhW6GP2HImzW4viAB3KKi6JcKh3cCe0SN9CBKGknT8NNWPAkV5ZQzJazF9xyMrmBiy8vvfm1Fx9UDE9BMjx3VQfdLWtOd9cFR/QNvBGo3J+QNwDwt/CBYGyYwWWfjGvnk92EE/NjRFDHLSXMi3fg3jJcoxb0F3VNTtGe35ywdp0OTDf8mbHFA4VOOq7G1sOXOCk5fq6LT5p5eexGSEs5bf/XNGvZ6s8Btde0/FWzu4QpqMjngX9Cp67yRIHTtCYwQ0ouWV4CAaL9jrQl/ynpTl/toBliI/dv3Z7V8/QfnHh+z9Uj8Ru0IPW/jt8F+bcL6GyYxxf8NQ7kNNcUCOPPB6TEnZ1eWeyNYJ1/4+Km4OTvG2HbuK/udYDr/K0GipDRM9LnKVmifGVFJ8VGMtxcCMOiiMzot25/73Hp8hRfhOXVkmIvvYmqHpfP+IBc2bfw8/1MempdlaYQT0H0XiS7Yp0+BwH+wsIhilyMAylW/qMaQeH3oiG5/d+tl5YTQIX3GlFVn6HKEEiig4U1wck/lzMZmHrP6DmVa0v5nAB/g1R4nxdORXf8qkf+K28e9n2iXiGKoRr2Le2WA9t15K9oOOSvW53uzZGutJRETo5DYpMZWo6NW974Ayx/etVKq6q/jE2yDbHBCUtdIJccqH38TUhZg2Q1/PouWfUng/MvJ6Ic4OyqVWuua+y2R1JpP/47jwijSpnBG/gCLltFQSjPGBEbc8w1b6ZRHnNrXm/LOte0UwDpoMVcTc2Tr9KxcrHYYdoSr8kyRqiGdyn7xkX5dqTPbeJx4+m5nfup15/rBsz1HtwGCBuhpOa3rR23ClA0E62EinlHdkHNk09abPLSMbycvOj6uiCAIjrtgkmsZ8Wb7BKM0XhulIymcQlGL5VQbIubcA916AvXp3SjA+nq0/NSxI8YXvbZHdenxBUxJqMwberzGovYm/5po63qDM9Zg0WJtCQwiMDLQYgyzQI4jtdtSL5tXozA/IWzY4oONSubrvjZd72SpF8ZkbanmJf7UgSvdCc2hz1g+ZbnkD/IKOSsJZXwBYEQY4CfFXA04zrMSgIId25Hxaxf0pqvTLYy4ukCOcmKM/SGPUz89e75L++BFBtutlRFC8T66eRzcf2UL9aAloHYJGXEm50MkaSSB+jtTQcRHi7dQexPeO5J2J7PfxyD+NM1A7+LpNjRS4a9xSo6lzIkiSUvwO4F1VGo7tTng7rONtDLUOuWgIxeVU9JcNzGgRVFzz4Y7hXQkiyrHg1LxByGuAbiZs8Q8sx/Iq2xbhVnKgg32znbt/47CeISHImAAAFduEJIuB2ch/UEmROgNlJehcuB4QDFcNh7anYJQhv9OyA1Uv96kgP/3uw2zYry3fkNMtGhR7iemlq0Ku1OuVF6tIEEjc4FPC5oJPqHTkDqUHjv8kRypJ/0oLdedce81GArDFKmvGFo6BzyZzWoq/wTatBU34DPfke2jlaVFZt10BmjUuM8JZ4xAq/GgTQ3T5LH2NUXqgv1oIr/XX/TGjcqoMAx7f1jiNomEmm6k5fTpwfn3U+HRNSX0H4LQVfxoALmA+0aKJ6inJJhHlRWlf13cGnXGBoRY5nNOY8hPKk7k3YFOZmhXi8EH5lr/rYnob8+yuInmL0AQhWyCHTwoH+IBeonptGTM2Gplji7rHbdM0iZYYMJV4dEHsttyD63ItZ6Pn/U4EcNhv+LyFtEubaW+U+y3+9UWbOlEVqL5PMxkSP6lzPWhvvHWDAaA3pjeMnhGwqvpN4Pg53BYkpK8OHEA8cOVPvO4BtYVtn/r6eNoU5t7mkKhO6dH1PBkDygFWfnR+p2JulMfwfv6lAcyjtfeldzCExenYcK9SJ2h/QmxYqH14zzoMelXWtaCmOzTRXEfNeGBaecd33CPwKejbqchGaDg7s1wFSfqNBIlrPfLslmSllV/58WMYJB6NChF9nydOUmD8h4eoonTryeIWZU10a9vc214VRShHMcVVCILx//Y/AW7tq5tMf0mocK8VXAwz8ergmJSnRFRyKSAeViWX2CcZ/EzLBP7bymRD93Tspr0RFam2WCWHCXc+KMZiS8xCy/uL2N5sB9NpyDf3dj5ojHkKx1rhEfk/C0MeF61HKSXvHB1VhgRY/C1pL8tuw6djHN89Y3Yy9wrjiphZmDR8I/4baMYRlQnTgHWLC1VfbXAh2TQz9nv3EdS6fkOBM3tS86mgbWUAfzz1gNJlQq8bbU/OU9TD17XtQODICidJP15sYM6CliRHqVWdVaxVbfUtZOuiocyvNa0feRlymkazyorXRa52gyQ7Wg786ayOvSYa2BZzlHXxogRLM6SI8tb5aRcJVGWVGLD+eLHzv8DW9RORUS2OkufbVmNzvB58UqqOMllHfmkyJPzMBGVJ8eFBAnaLxxX5uS9mIXFGVfXLQugXQ7gaYsInm0ni3McSUym2/2cUMQ6YMvWbTiNbIU5uqkH5XNjgfsA8zYidipKOIHVHGGWzZpmQcfzz1+vL6cBGFNs+wac86LJh9sfll0nE+oF4oHh9KuOZZQq2vkHgPhzTiri9ZRSbV8iwXK8gNp8c+8ogchUa9soyuCYD5DRwT7vQymOs8peaVnWLFkDfMzItx4X0BtLtHXhRmaI8uXktrtbntax+DXMjBRhbYoywZRGP+CBSSSFLUMd4yVrEFgD65F7NiNDNWNdhbvE39/C/wJrvdVJyM+pdeBOLmjgo4Xl9anLlT4L/MgtB0G8c0QMbVHwh63Vq9OTfRrqpPJKwsaZUzGsQd1yuU1At3P2HBn/k9qpMAt/osgJ2tYYUI3WSlqnEWdBjvbN+de7tHZjQh0lI9RxIclSVDKY6MWKL2MQVyCcqqGyxu7GIpNmVJJC4NaGE3NGldBZTo6F74cLX+TlixQQ/d2FIXgWxyyajF3wdbrnkNmAGReXgN16aSqT5Y5J0SsDOR4JEQ9juANdWqeDYF9jA0OBy8bcKfOYtBCSJ9+HDkoomluURsvOXIYwuJgYxK91BQPUXaw0T77i+DjrCKPSIXyN+mHOcPc4tqWpU1m1E5OR3lPjSwAlg1bLGDzRf8XlbPwkx9J9jqpqx9hfeeK45ARHmcTl1LFMbIsGkE79iLjZzlHN6mKCtHnjJqHR5YIinu24KlAjhaa35BYgks3h8+8TBTOiO3QHypJXyuoVmRoR8q8/P5FMYBULfngIEWkf0quqY5axYJ+2CYA0Ul74yHp/yAh4sCjJo8kOW4LtZLKUU6yjmhuDB8r9LmzlcV8FY3IkQ/CDLixFmwX22D1HIc/t8RAUDPYrQDfNfdmVUxzdEgr+BxwPDZtFbwuku6L6s9pxiKEOJinXQFvy5UH+D1bQzTtRaEWSNSxf1ZrnV3YJ/J9Fhdgh+F0+4PpZHqWXxEF8pMXEonFHEAUrE+El1m97CgU58VzNK+oIvaliGCgY+frzl4v1rcA/mOXIxxRBQqp1T6S49d5dBvN3UW/kJDxsN3G/jJ1LpZgWgLn6p9qLJOTv1zAbjoPOrAYZNnMxv3QrPKLIzST9xC6l3r8iYWYEPXE1TIBmSz9CC/N1kUoWjVNdFIWawiUA1hm9ZObZg2LHv6qh/bNKG62CZi0vzaCUB4pV/NKKQMqQIA45CJAo/vfncoy2Wa/RPPs5EvsRC9TEHj9DBoRGqVgGVDwLB4gcUZWoGUBkZxZpYdg7yQyheCmKRXEd13+ejM4qa1YJr5p0lClQX+2lJdjjX2rS9UXRiRkUVo6j2oQQF12suZSbSVD2MxtzsG7kzaqGTCMvs949DMxGogd1Ofmlo++BjGS6Y4gVINMsT1w7U+pw8hRQVutmqwQZoPTLWu1fJ8qQDKlR6jIJcDnGprN9LSPwUok5kXiuByyeMuPOKPY37lr7Qg2mJA1jtC2VDKev8p9Ya4+9rGljh7KuQcUZzZ7MVkdKJbz1ceTdH8FaBxYcN92SljPCxA+IBg79BMfcZuTOFlCJudgQ+9PdnjhwRrQLKWg3QxOQNF8FkCfbQFOsXsOg9nZJobRbpTRCKi1qxbgCKGJRjwon2kU2ei1jgaHcZ0MSMP4XMXKdapqLz+5TxExoM4LoJMxsRdmwbNIRXNonneYiBeiXpHNs4TJH5/QqT5L+WRYKIm0BpJDtnGCe8l//jn9QNIh4gpujHrTkeun6D9lNlrPUJ5bfM+R6q+JMMPHpiAT7A8D6X23UH+sA47gR8vTIbCSOrY8i4bDtRUVTww6eNlHXZeqL6XjzFBsLPGNoF1BjhFb6bMKsxPOrdVGPGJGHmfJ0IKUD2f9rmQ3VEutPhlSFky7mOK6Jq1rOfWHrEFIIHuY2jD4VRdp6zbC9dsxXqDfwwnZUZ8qcEKVr/sBR2OM94/p0zoUjLu6zSsYpxbn/NBPaYG31zhMrvcSD9nzJGuKCbIT4GaMx3akFFdaIwir2AnOhDQYkO4CaircTARxNhSODhGH79J8DqUghrkddibKleAActdtqmC7tn+DhlOhUaCqzSCcFftE+EkNkbegU7sN6LaXlFQQy0hGeZdEgAv8rSKM8D4hI/8efHr2GG2O+xCvHQr6V+CVBFkSIBu72W9Yqw77GQVpPC9FLzULw9FgFYwaLvYiTJbSzblX7XSHak6buWYabziNWYJIeOY2up52cP4oFgZ5LrDjjcrLkmM+/Wp8IrN6+T7OCfWRXe51jUyiwAPTvcpEEAu2C4oy7XjasyDWzuQMu34S3hoj+KeUkx+gwscx6dOJKC2RCRMeG9pmaj+/f0JA+2mq42GOwq7jT3srPMtQsKkTjPjbW3TNS3r7soIWFqoo3jYoCef5ugTJTZlxVoc3B8Lyj86PXo2Pb98S/TNxMx/xXlUgtKOglhdHYTr8d5DpOXG9loTsp4vokSrBTDd0/qZQbCyfp9YCuXhibtiH6H4T8g6h3rjlQ6EuelcZZ2a125N4Cl5Qm2ICcR9hF9DDwFCrqTzs1AZtJ8AeUHKr09YrCoq4+kA2COCaT3FBZvsPXSKepzgcvKSU6HV8uTxoOsx1kd0/bkdoQJBwQ8OeCh0ECWXsPo7AUHjWUrBZB9No/2qlwZhvn5Krn7jdvnN1w6FwsKJXj8ZM5dzX/ZjmaHoEWDAUdQqorzFiO4P6jEpVpKhkqMYsuU5jP37+L/h+TGNTbQAekt0flf38s2CEagExRaxTm7gdMLXngAIXDtP6q5ODqiZJFGnde89fNF8c4YiyrZudWXKh/yXxKHV27u+Nupyd9k+7J48kMi1oK434x7LpJuuhzaGXX8FVCjVlBhFY/NSlqlIsq207eWXQnZLlcu/Y1h8SqONxTaKRb9he8SZF7fmP0sANRSVuIm73nhoqq8JkL5SKN72zckVBE0hCfWps9iPq0aPO7Ek7i3xqRLU7rURcSaEgsMjxH9IfJyWr4nItHDM2sR7WRCUS3psngBK0GnKAk2wDc5VF42ZEpXWx39PRzsKFegxEx8b+W59GfBy3xKhOHylXjei8/SfbBVhJXotAfPxwawMI7lwLJsyxpX34l7sZkWKCj0H3k0qvhCTRMTaXFWx53Ae4OcmMlvtvJ10bAN+tgtJSptPQz8xwOWhKgf471NUcF6PcoUavzKVvgwHo2oUx2q1hYjZGkddwUWrrdM7yJs4DcP0lkiEi+Q2zWYO1m0eRcnwCwidCBHf7E2fKzckaC872x1h4ilkmlD+SfMhnvjeAMPNmXvzBDm+jsFdAdYIaOTKEv/2MvNvmUWtHPlOhGuG1T8hyzuGyOlUaqg1yMocZ5920/ad1H0EEExFV59SMHJNDrnkQ80XTVIUIkpaTd6LAyB2ycKa6DhJT0F78Sy6fymhmqkjNEh8kBUwj8UDpaH3dRxkML7ZNGXU/UVJCc3sv9j4V4oH0V2BU08bWeJk1Pkl/9I6aa5wp8x6pd1MI1uzByk4Myn3JVMNgNLHcZFQ6DqeESTFmk/fEztvIPz71M0liO7TRdz9g6OUUr2LJX+YAi1RhIjaFQvQE1xEffThuPAp+4KOX1bdiHZwmqXJxzDQ/WfFUPXolA/q21oBmMHXW5S3wK5V9yy7sTVEli7MP76XAYjHkr4CZ+1b8RGjisJpXXB1DDDmNyu+XTCoWxelW06bmpMwPbML59Z+o80HIshN5qI5EWDIlTJdesDTwr+PYdXM60vMPFebRGVetZtjx+obJ4b78t68JoDU4uavakie5TbXjKNXRgr7j9WV5ODdF1WdOy1PNW3GOafzt6IF63tk9MaN88BgC8sYpKu6zPF53zEEc+4MT5moQDVzJ8YzqLau1C65rvRLd3VfyQK9wO5eVCvJvNcYxOWXs9g9qRqHF3w7MNetkGopHi4oeZm+2iWbu7aIp3e0uvYHM6viWwF9iPIiMgK4ta/KfWXs4U9nhLfQJ8iN9nAsxnsPDto6LmqwzSquLgeoRlNpxAWm9J+AFCqwpFcsI/C/NYbPme93IoW//SImwoSnO5JznIxM9OipM0BTnb2UWzQcD2YtvmrHb7qppfyxrEBV3f57XcL0fHxMZ/qL4OVrn+xtvOyGgpHVEmgP5VTGf+Dk8A/3saumirom9rwiisguJbr2aZxhxqcZUKU98IiuL7XP6hv2DSPK8lzHXmP5u1RuylJTKvNRFNPhj7GKCAeWV41EwBtHx3FwpQ3fZ20MEXkTsZt43oPjBieuT7iihTHSMZ+3q5XrJUoN548+ySmPf3g9MHVpypNyONxyv4ZWgq3B9kVmp5UaP59j7xRjwkoQnFcsR18u1xsKX6XHIqxvZb+w4dLDzLaUyPWKlCyK/1kFFyQ8OGK/eGQAW/dn0vc5G0yBzHxC5gMbx3iGInUTBK8x7JzmJqoZqBxfWRc/beVJgPsNOvwPR1NMTFFHxKgiRuLGIPNVMWG6NYhylTZcz8KZ1hSbHa4rP+nd6+ZCdQEPYstupuHGVTxynRXGCF9ijWtuNBbiqAFCqvBEj8sY2cj6cHo4ksThCNmTeblePhFCHhm5vzcaORxbvxMRPNQVqnM2mU8UGWYor6bbzIaIHBw2Q+ZmqvGWw4IWdSlJBR7oJEldNDE3hfgpkW7koPn11wku4aNc9BftP0B8BcVfyUy+8PgnISRjA9saf7JmdDlaopcdkBnmx5lZu1mYgEcf4poYqtEd4ClM3h1jdUk8qA/3p6FVjEiV+RRq3zf0cvJ82drrYae85f2ivNa/FJAZyc0fe+wuvCIkevEe0FCZdMxS341MMbwfXuD7TuKCIf1/4CCZPKiaCC4Q05xv/WzDfR6wcjYiS4MfGQBQ1fZnEKC2zwrotoX5Ag6cwExoHGLk4p6bwNduSRvIAC7Mj4ExxNMOOIeTwJouHkOGAOWjTXZTm/Ou8f/5JOMhF0DhnJr9g4de3UkLlq3WyLGaoJqqmkouaeSmqWE4fgmVNbm3vVD9K6LIPly+OysTfcZps64SgZ9I0wjgIDhHeTP4miww/qjKsvQ8EtX5GZETdGv0LrxJbbxzOHx0zcQk5gVvVwzV0GWpFEz85kKlYOCAuJQm0AHJuW2rcWqY/BVoxprVE0Eu8NODOGzy+lhCazGXwKVyTaketUPcrpqRLkbWuKXDML2VJxYd2WGaYTN9dxkM6ZpvJtCXULBFJs4htjtBW6nULkE/eKkqiJJT6iSjIGu7vzyuW+E5uczXYAHtujCSZ8rc8r1+8lIQjjWsugUaFYAdrJvk/7P7XFhdnWq4kTjkS8dk7HOo6TPe150AG/NxylpOmgzprmuk+YT9pkIGjAyn9WOrYAf640eBDFRheTE8U8cXLTywbpP89xU50O0cBfpAX0SGM1JkB1VFrR4pOu8+0iN7KutL87GYabWSVVhfb+w2zZgjHGuCAK7wrPsdZgLGWC9OIZOFZJkJOm1hm/ExNXkQLtqAy0fTTyGC0G26I6tUtah10CZYY5SQdGlyTspwC7rt7qAku5TTlCUNT/m8243s3EuuQ+zGrqN+fgc/jtJ7nPb8MEczCiCG5XyFhycxdKTJARqgm8VqglXuw62AC0ZKTCDe7fpORtIWdr6rK5D7byHw11qKKA1NZ0qFA/QqRPdgyK1nJuHgEoVT7oBUOiNK5Ifeibmdjpj+Aqlp5BWpj1OkvjdWTiB4q0GnFmYyKH9ida+wM+2vWVbHqyX0z7Mk6dlFIA5nRX4C4b2EGYPynOPziMCL7YomY2h5az8Jh40fV7fezExSVldpV4m/DMzcsw7GDkU4ZDGfEW+wcy2uJDQewWx8uSDEGWbkd0yKcdsysozE93M69OqqePDmkP+OUgfE2o+rJjD/khRD6A+DWc2nsHND0VeEbJNaYdcI+xOobW9ZdhRaU9ahGxXts7HPiU4RH+KsDfD7NtCSD8hIeWfQYMRoo9sQsucYKwR4dgIzQHzbaxH3mFrwiMkfCNbyPksXTHLY50wzSuJd6R52w6upA45gHbQKEGc/k4S/Kjs02BoAr/V5jzapNC40WUdXn/qiK3meHpoltHvxpSfPq0JdfWGrPV5sGbINThj7uUOxFHn785E9ESz9+DA4dI1Aj9xN8kxUby4gMXoFj5dgDw31j/oIrgDgKZlpJXk0ysdAY/Gvq/LWF1qR5qEU1DyUdiq16kTTGlzU7mwTBEZlrXdCfTsaZEzgvAAhXhcSTbq29Fd8898kPK/eLtaHvnk96wBZCVclkpTL0GUUsL9JOb1UmUasX4kcjHoMU8eOA/H2ZDmof+RHDaZKJmEMAJDYuoVYSGiayvnBugCW9LLWNpPX+dxtnKrKLUBkjFIlhFvLh2sgAAABBTk1GRCAAAAAAAAAAAKIBACQBAIIAAABWUDggLCAAABCZAJ0BKqMBJQE+kUadSyWjoyek1Doo8BIJZ277+JeE6MrdkhXwdh/u/PM5Tn8vceR0956i9wb/Ueh706L0ALJd+jeS75z/Ff8Xw785IOdp3Zd/jf/J4Z/I7ULuadmhtX/E9Av22+2+b/My+f/2nRx/4PFB+5/9b2Df0x6xX/B5VP231EOmJ6Nv7KEmHo1QBrPFatvml8t/c6GhoTYgHEqXABDJHVnFvDNhU0QkPJ5kk656UVQQnLf5bUwcZD1mpE7w+NtPQOZqd+qtqz7LntRwpB0VC35/iJFXdxsQ55jqBz+ObzSjRNb/e3O8+Ko0vWVMCgS0S34X5i8/SZYR1VwCcfF4YHAOMuMTN+cDQwtE1a/PxnhH6HiHNhQW22vCbUYH/8u+iQ3GJDWLHSq0FPKPcU17wvVvUvXLkfT2lD2vTYA3ZNTqMMNHo8WEmI0o8qQLFUV0wFpBao/G5sKLblkHReFPVCZXAkeXU1NxgcJvnJ5ZQOu0kNRv0TA6Zoux7xKKzTFxIEbb+FkFm330lBk2yFp7U16gvvv6jhQutSGVpdbFIUw7xnDpKqO0VYQmagYw7EJ/5AeYx/8fROe4aEijUEczjwh5JU8iz0dXJ7gRknjZiP93MBxPY20MDQRuCganlEAbMVKZgHVYdBkupuHuuvnB+/urTipW+Khxe26eJH0pWtFN03RY+wiJfs0JunlD2kudv8jHGI9mBqBcDyG2kuaj7ikP9vWZBVR6dl6Qp8G3w5wh7PeNr3AnnyvGGSf0fE/ZfuJz0EKG1PljflUj5EVvPdb9KVr7vgfGNWEOvLEmG8htStGw6J/MBvFKTjxNntINgrwTgNJWrYYWlB2NhBoDjjUijmHMDvpVR4dFNjy+lX/kgT0mwWoxceivEehg8ZloIv7SUg2X4Bu1gc0HqM3lnIUsv/xAZ4EOHGQv+qLg2+z6Ur8MS0MpwWNfZfsbV0mUZE/Et+4lhrmZszK0Pv9XpyC8x5rz+8S/IPrkrZkBmhDZTwdV2CNoW7FKLjpIrPM4dRp8OgGuc7ono6Yb9Gluy9jMCPpRTxhO/ISTFf5HSoDKJg9bDtQgle+TtHAitOQ77wDaBrLINrerVWyh4CR95C8h0mNY1uLOYmrbkYVGeJkhH0PLk3kUah+l2XMoMZwJNUDmjJNpmFOxksHvnn0piilG/OIE0hIc0/st13k4XLPZ7q3NN+77N+gSGCBfLh/CLmLBqSwTMqTQk/ZHb2aKwFIDG6oHfbI8k+2aAYeo3v9epc6A/ASRkQdJkPCMW26/wCOjmbOXsYR+JddcdafzppN1Md1Juw/P98zvzMJS6kpwXqy9qV7ZKqDmLzOIE0hIkd1b7DSOyUMSqnulMCGU0VQT5z2VbKOCcERompTiWRb84dVH4CR9KVqwaeZ3oM7bKvNO9D/ltYYigm+AkjIg6TIkfSlfASRoUgtSJ3ASPpSvgJH0patEnLN4NiTVQlTdz/U1MayrDTGIukhxhV/z6HR4rU5uttcAYt+vmNVCjr8aOFpT5jaxGt6w0HdTOiR+8VCvnvfPxd/oxZlO8w5WV+GTgStfh6M8G8U2IxFM2CEAzYxvLeX9tbAnJy0jTMEgrTFyhkRDF9WAR1Ly1J4HYtUXP5bJ/n1PGPp8yAD+/YjMBczW4izgyUQnTKKHiDJ7Xag1gW3oq58t+XZeXZGLRccxnM1/dX5J/OfO41EVWn/muupmGVS0Phgs27fihfqlUlJpJR7wgCGmQwiWIWhzPX+qDMN1ujtfkpcDvK5vWWzoeKV6vXWjrrbC1sEuHVFxYZyfUX9TuRRuIn4Z1phTq0pve1HmkpSWHA0Zu93uA0ZqPnp4P3xkfKawgxKg/JvsJJDBTuKmzc7/rfN/e5NV+iZ2tfNRvUMX+pd3vGnfgAsZN40xatAOmqPitgtS+EOx02lQB4tHdWUfjhMwM7zpgCdATCxbfggSjiKvPn60kOzby7L9SLU+pq46esdBvSM7h6nKItpxr4zDs1m/H3ZtvoCklugdrp/uONalYSQF+AAsvzEInWBQOAnhzTvOpqZIORt7HCsehCmCxpIbAm++HUCumyo8oBN+AUJMN8hoE57Ek0wIv7zbQ/iPTSYLsX/z6x/HyDuRiWZeqvU4RFqAhsXwzmgRGoEl9T2zKTyMYjLTGAijU9ogbKUrqN9K7fBNg154feGGrhUhkbug/nh3AdpTm0L5+4DRJn8HKHJVA3LdEut4Rd+ktSLwLorgqXfsCYzp/IYMiWlv5qNVLVCrIGmLIz4uuVJ5COCbu7IFhp3OezRH0cajnoKJIP5n+9uV5sBSp4Yce+gYMWhAxYhQYpV+NsSUx7bkZT5kpkGOuSc9hthXk+4YS/DgQVySvYxk48+jjWjBN4vkMfD72X3w9tSgJtyo0oOcO1KS239x6WZ4wfBSO9pNqfVNRXv92LtxocfpML6Ro7xInRv442havzw+6nKMtis2i2qFONdqVOQ7S7k553aHrPdZsqlKBCwY+JZbUB1I1mv8yx6yNYZXMwxVBcWtUQDA/dZG6FEQlmmQoDAT2r/8AviTD161Ho95MTH/FPb/iW4r2zI1vNeDydjkB//vgsCeMKOAhI9e77sZRydGRQoSWoVOS8QLz5fMo5TNIzuN9LC2nlvKE1QE3cIB/NxkKYljbUxS+Vr/H2xyo1CRwwwjBMVmtNFVc0xLmvB3lzSF83PbVZsPkDORYTLimisQ/q1xg7xhmjl+NDHTG8rgmRCnJbG+gNPZ4FNMsL8WikipvEt6ausm453Q3Gq54ZzmW/pR8xwuwbbR8FSbNGUtmfDE0lvoCe8Wc9rG6WIsv4wmOpi5x6WkQZUO6DCFi9ya6ssIkYwvA4L0HjfIvMLAqP1gUZ2el1UBxYuHRhONu9aYrFepImOZ64RM9f/q2KezUkwa8nnbDLV/FccfBA2zVfe/skhVntkvaKa/C3aRkpotlcOOEkiXbXV6cW6ae4OTKMrbim6T01ZLdd2p2LEJQGFXErL4aYZQQ4Y4hI6WJvbWJQA7pEcw34fu7mzX/I3sDHyaTUGQPASGDG0IOwc+pjPTODK7affzpp5CM9akjM2wblOvQkZAgHTZY5uAigIHnjjc9g9Oix6TEQipqnbKkbWHXj6cF/j4MS6DFDnKJad2VIFL/H3DPuNFMrFMQzLrctqzrIyYaCod/EWYSAaEcPeztoZ8TusSB3cAAEquN9Y/N02Ya486I3rYvR4WcjtZu3lCEZPANcqg9cyM9R0nM8xbLKysnwhzbA6mtZolY4aHQak6nXEUH9+gSYeaHyGJG3TRK6YiRbn/6hoDE/v/No9KF4ggEg8YQrhwWQm6QF4c11dv7C23CCEdTq4dUXVLZUpoomSgk9s2seaxfv/3tsOQSJxVSR9EA6m7YvN7o7IRnxk6j5IXvesuOxDsLTv8nJdwBI2jIpotwHi2Bw+/WRPzEgT/k671HhRuipsYeD17m8ZFRdSzHYz/Gg3oiPFLBSQzQyzvpNVwNDVDqD//9FARzilkbdx+O8txM2oC4MI4RKAHpCphNUdplfapzQ89myJEo3RTcZsiI1X5bPRTMbhqOomEmI+qXKpeGYCIZa86JsBpt5Pmz7BIeadAjT3yqfpfGWEzGIXfY4wabdmkHtRyg3j6vUavZw5VBBE3ho+3PpZ+ljPSrLH5Gr4cDYhf/CQ/0NhW3m4YVGANmQpugUSWlSkrNiIXNLRkzLb5Mh8vyhKNHsTeFLLNMVWoazMpwqcsK/+MfyFFbdvLhLTy1H92JfwUsPYjzfyOUsCrq4EYwDU28TkPJTEUcgsQrc1W1mwCbSiwS/TriyI8aPOtaF7367tF9g89/4xBfIIpIwEGb44yQwNgUb+l/7b5ZDN9a18yAlHnemjK7fL4xXKeNez2rQZfIoAjwq4mD0loNd4rnI5vFKXpCVPK2vI9N6TuiKdDSkLKw0OsRzpHMGI9xsnrlMaLzFq8VLkFnjensVXNT/v0eGl/SuU5Va6otcXIOnEaNCACDxU0OIipMY3zUEgQNLXT8pgJwQKXxoMNYIw9fW55jGnpZYGWZpZBqYEzGycZDhxG1YmrzLZwN/jQQ+Mr2G6IG/rG7t+UEg32oepfycdkOKsPyRu5xq5zvp3z+HrwJz4ztCRCkoDROB301Hn7pPJ8TT8NonugKdWuCBWSdwGv7LiGtTyP9JksUlrmJF6I5Q/OTjqM8WlPKnGXgoX1vK7eybKeW+FlqxIEKzXxUBdpXjTVeWYM87iVi7j/mGpsb2hrpMF0xb562xjypdQkIK+2ywY9cwAXCYgA6vVp2936QLGLLZcdju4Vun3yRkqEYxR6A1kOMKupuftjMQi33ozcX9dEADTgWZBa0ujXIKOrvpo03nUbJUidL0RZ/3SfmEuy2wbjs9cV3L/Cqf/0bSHaZ+S5XO3IQnbDSEaAYIpaC60lQM6fk3IlS6LnFGiqHeCnGAhsDfeTy5ZGTRO1GHDFXgMLYDBfR4Y0iGuHCRFHQ3EgWC9odSb6fEzYZoZDo8mluZ+4Qx9AzhyNjohtx3ZTc9+WiDro8Rg9m/5SzwX5BtvjMhcn0J+MONrK0u+TA0YwrETULs0ALdXPFr93dyALwAFqkWJR/bNI6sS2mH2scShX2Y9hojbvhPde0mcb0Fke7MraO7scHFAN0J/qpk8HhGGRIskOAbhMO579psO1ZbejHJz0b6V4HyqqA3mCkKXbCR5KVaOY3tf4s+ooN+BTSMBhj+9at6lAN/cDn+pCebcbW6ddRXoQQdjG18VjH1k2tNUkhpFXOI7dQ8uePlK7dMEpnMXZbomMpxesL2XvK66uiZlLJV8GUkipFF9qdU7ne1paSZnxVD4LZPwZFgjHaeODUEODPbXKjTq9fKy03eS26FxEHN719K49kE4lAtNz/dLENYaOfDpYtnXKvMeud666GQ/k/EZ6rpN7svku9Js1TufTk6U5v2EQzb9BerpngBCgUKkZ04lU5KJFO82SXe31eZ2gCZJbxqpezHDgFDuREb3KcJke2ufExvV63quyN0y18Fc5i3sz3hBKZZFbARcQhPeQ+vmDNJc5mDnJ+mDl5D0EvEaP5A/zMDMir+rys/3zats99zNb7Jbwf2ZTJTza2NdpP4WW9LHYAXgEy0xOzF9/JxtFWawriR4N86Q0+Ue+nNTu29cbxtx/ash08IDRfXZ/UH3mzNzfJQprf3mcRdpFgu5usWK+MICqGLg+QWFT+pCEy3S1xo/4momOu70nvHemEqPS6aICt0JYou/nxzquGmXgjHNtTsUOMLRuvSZkRxmOTONrDv1yn4enIQsQEpGhe1Qa8hgGxcuC7NrjP/Q8c8kcTe9W9XAQNegiRE4dpRrWQjug23HBZ8djXecj1VzWrCiukSVIICjIuxJ2FXZDnIH81WAZDlIRS/c8tY0UjC0Gz/AxaYfHlwTluFxEU4IASmv3iiOxkRoZPPTs/Mr1MvH3zSsm733VpekyAs3zWyutvcrw2VFm9GxEcjNq3G1OKbmHcX3OF2lHof9erOB5jkv2XWtbz3r08qBfWxU+qyjwlb0JKbKaRtyX279y84F1IWd9xMrWbCif2ScG1Y8WE6ybA4NlKz3bjuqbYUryXYTFIN8NUZdzQfpMFAIdKOpYRP5e3eMI573GWif92vaAu+Kicpe41AXWZ/o5zMyeO4P/4urje+ydC2+IPOZ62anMZ//+ZbjPfMYXXd0obr+/9/22jDj6yN9ElxzuQTJ7VoKHtu1Tlps3FbbWIJbfO7MRET5oYEhlrnRZyDQwrgH0Ay1uxqAr18wS1Pq4dRNXBJZ7YxILGS+cXEklAEI8OJTpmDE5+lyOQ5g2TKWmeSr9dhZhp5ohdwhIngweemh70bfjrFr+weFtXjNS1GU0HQX0dSndslfe0jxBmFsCL67gbBEBCBAsS8mI53L/O0BPUYv0LHrnWuXgsb9BWFwJaMACHcfHL2JMwgE3IFOv2bo3zGIGkJOL2t3N3doWZeNDPNp2Dxnz4ZPb4GlPbAFUVI5EcilNzgUdmPcHFmxziojytd+YBsPhLFCjeQPTxe+gCZx2ZpA8XC0KdKEaJOxyR712N2AZT2vDvuIX3Kp+EnDD7gJYHkKZA26YKWIHFM0BIdqe1CjRBgOBG37UbqKjCIDohBt8kkBKIQHDdK895A4uYKLd6xm1syA29j6GxyBkqXtXU0xkgABKHFwKr0HpWw88zsTw9KvW5G+pbUg8AndQtJ9Q/8lXF7Jakao+hYXRJsNtuJbwzIRBPFaGy6lPGYyJP7ZdUOvsz9SPYIGpkDqywXmK88slmsFqCyOvCpHMt8exxJFiQLLJ/iDvO/1nxSimeI2LxWyS9riIYE4Iz+ReXRi5/4V4jk/OdTSd0D1YDfIkb13kRBtV4MCqfJmorGkTFEYui06Bd/LOipjPZuzn+QGp5X8b3Mgup9me3qTlmYK03n1K9D4X8RpbxO+Tkx++NuxsOMzeAosevKIZkuVr+BlFVA5Vo95JtB1i5PdiPk6G7Fo35mSUg6gF1QlQiLYhlQEl5R4cnZSc1pqRssXeW4f/ZhofMorordgk5QVsM1QwDQHbswanOo7kxbXFmrX8zoPRh/+4NB/zvS6mhoEBg4pyrQ8amg+AgT1UXw/1Oz+K3YPDGlCupH9Ck4LXLdBGJa+Zom7p5oq7Gp1hcx9kVlB63Mh6vaYooSczsdmTIOp80rIPmmcvgvqlkRRHxPYkbgEG3I95+hEV5TAw40FrvUyv+Ce29s7InWq8s8MleW0Xem2Qc61s7YTzalbVXrVXpAJY1Q/AnOfyKbe4qUrEu16kX8dJxpPu78TFVNmffS4iKHTlYed/liJCKFsEzX4KbKuaC/RMeIKGD2rm7UNajlwrAW/OyQRfNnN8+tY83Pyn4DgYnDN/WqEZW7mWOWsDEVdTYgls5CJ7U+WN5wt9V8DBAVmiwp6aplmn96OB9YWV97QoynThxU4CLAe7Ni5sM0bMxLomgqri+vhb/nunJH0QnEPtlKfgI7T9wrtGECvzpN9lE2FC5erd1jtHzVWDU9p0gRvNDTqBiEqA36o7ygwhPGQl6/Otog5zTMTUqLbKlEpNHb6lAxNjDhIitNbo73VsHX9s9k1NNNRBLRgoHHISUAn3gNwUwZXVX08eJLlQsKe0aCYeYBFdUgVohGuVzLIVOkQNtvZ8EsyP4RwubBZi5WNsKfbiPTRoSZX2qUEN6W5ZgeeQIeIl+3nGyHNqf8f8ZM/8/vpqK+fb/kcyIGNL9FgCRSdr7zCCLDotGRkZM/qilcfqnAEy/kVd9QASbvdRq/ctpIC76pmMR34UbOEDXpBR89J+CqyKYpPF5SDsgoOeuDGf1dQPsie6I0nNqqv7cvJoz+L1sBQvNgTHuryL042hK3tfSY/caaaqlVWEwWZLi+AAzzuXDbOB+ZRIgWYqqzyQD4DqCMiIgGxq/YatMfq/DWd2Zr7xzAFm36R4Z+DmojOHaL1BsklfLRM05mmUvPNSW5bcAEtyKQsg486tdsCX0f6c8sdfF3E35mkR8bB4HiOMN9szWctbijcCGnUhJBRd71NZIGcj8Dqe+IN1QNUt351jsVWBtzhTbGFZqxGCpo5fFKDc7QcZoEg9lipLDI78zPD8lAjFWO9HTNG90BzpXTDCUvE1WY9DtPuM6Xz4AsYIiiVPHDwCwI37NzWuIKiNksoKjh7lISL5gQojMCI/5JgEcL8Mi8XF0ZgF1c03vFzYXU8aM6/Jiu34kGT5aeO7wVO0thZ7z1k+G5XZLocy2AiTxXNDW51dmlT1+3iK4U/8I4P4HQJwj+POZWIAfO/8rUB3FWpdZoWqY95ls5gNyAPyVNRb9A3U9U7r7keU3Y4IrI3WvgnbLxzPc9EsiHey1szCVtXXxTuNJIc2mpi4VMv5mmblo70QjDqIB3mxkhgDcPYauuFtdMtJkQOYbEtaYPxwx5a3mceXkFAvk3j5KVCrqhnGrn8QEMMbhe7s43awojTdBB48yKfZXNEzS81Wg5lxdkbJEibGnC5JkUkH2LS3qGsiFlTSzWqSpt+jmjmvK4e/YXVZGWfkTT5xiCi7lPVQXAiNBWuCeKxn+T/r3QEQsEAeiA92nquaQgCnp32FaQnHUPd21Nk1DtWDSpfJB8QnO3L5NVUzQWmH5rcl5RKmWYFEpcSt4bM01agYhhTF8+Rwd0b6qTL6K9j1AWAy+MMegWf6HqPobRvczb7mwH1VsO55Nl2kofUHW3d2dPg6zjHiiD301K3ClU6DDG9CwOAme6JczNnEISYlBOm6TMqAfcN4hRGErnwXQg6ohiBGZLDwffZQDZLRg40MJQvFbYTaqiPtiGHlwxWjWF4n7/KGRrXJaybhkDx9Y5TAuuIdeSezkXaUyRMU6x5/pkYHN/X/fT/9GqrCucD6UKw17qRndn8jTgURA8TVCBJigI7iZ+aYiC51O1wjlcFg+EDAyYkZuOIrDDboTclyU16saGzjAvUHDPd2BT+vRYJtmSGyVZTAN1VbVivBZS90o4qUK8d9m4VwcgkDoNiXWuCEhp65gItDlNP+ZVWjm/azA4lA+I6NmBJBPjeiQQ0zQ5DpjwTMOJIilsU21DLZ7r1IVaOvcltZ7pYCzpf6wIFUEw+fYL1yWsQGQfN3/rnIe2G8qGw/Vj4BKJy7b5QF5YoUdhAPOLjRBDZ9DOXyr1xSo+CHVFckb9itHA3ftFvtIZQte2eKQVhwWfhKLSPQr9SAIJuh6c7C5WogrstUqNLUvm6lOnr6SN0fib6wONwvbB9hUzqpqkFhBeZL3YJnx4TGMBQBuWduH0SYYuHJ4t8DxcdJzDBEBQsyqCml3lgWaJDUti+Qn2h5MbMnLxmTssAStfp9MlqW/jGOT/7QoLqz/PN9t/IrAlx6avz6cymhXEC3+jGMbNWxWXLl/Ro+5v/G7ZoUNfh32ApFeJUAEmRVPddoUa2u/tuhA27nnjuK9b9T7BZRSoXotz1zjBI9SW80HdHvn2+MYM9cL2j8LKus8L/zgbe/JVgAWpFC8FVeIEbK14pUz2Qv4OtTT0pcuHNHojmF+2zOY8aFmsWduTxZGu+5hJzX90Jdy6ZLw6MhCjErOwgHb71T0V2LdjnvkJT8shBg+ZtgpVhsiGKwCC3efBII4cG8qoC6DGuIijPEMGIoqeKS9u7czRGhg5JjibEqxm+gQWAjG1p7WSSrqzF9RvBWUbq+aJFM5zvyJYYUlvcbwddnAL0h1sGvrlxlyCSzmBFutmszsi0+vTk8Bjv9LcM/jNueevqbHdWbSpAskuWgps1AL8h8mQvNK1pWkoqaCOBQXsE8DDFEYNWDMhe4Q3GgHEP32TKrNBbbWtnAcl3CKVDBb5FmWDMwzt1RjYLaaNfxgZOJ3gyS3x9fREJg1ZBKoMnYh16Mo8d+Xn8TeF2s4e1abbwlkq9zco+5qB+EgzF9yJGEiH5win/sZMSD6b+bgQxJQcr4sGb4idvv9tOqm/7HE43hfA1bUMob+8tF3j9KAI7gYczrWI6MpqZb583KIoTWJ9TeMrysmGH9P/jk3PYACeB6msKP6C2CGCPiUMKQj3HCoHxL4e9UiV2/dMZOVjZiHsly1z9VHqgYHmwZZ54INleAjZIQfDLdtQP0YqnMIOYiHSRYRoIb/XCf4AQ6vjFYdpWME2CAMEAWxVsgH17QtQHqWwrdUh7T9GocAUjCYJ4ogD0UID1sw+FwLHB6R/iFe7GRN2qG8hmomugn2SGxUBSMf19U4fksj4WwL4kn9loNHE/kJM9aMN25i05j5kVgt/wNwfRjRvKSI/s7AUkEyKd7povNO6EU2PWcFK6kaAushePfNnKkiUOgE4KFpvylFkWCr+WxhXAAIU/MLctRLKah5EF3Pj1xTcpujTLD/PyP3YwUZ4nCIl01rgC8DXRjapMIB+4oG4yuRQZvEbzuCFeUV8odGfLdrEKscpqk+pYDq9PaxNfGtQRCxJHzy0m4RiR23MsP5U8x4a1E/WlJl56eo6MIGMiWBqPpFCb7ag4hiRBjtIc0mJnOxvCb9W28RfB2yDtpSNbnOaJ/sGyVY7wCFYsRTlW3pz2JuYK+SiL3CDY4J9Bh9tt7rXk/nM3dY2Fncdbw+hQfqpzQLRU+H/stQOw9vXW5GcjYiqRIfO8XhRzgPq9RM7P41Y6EHpkGAAdf7UL06hxotuutH+UfabdCUImy3l+Bh17cXjq/fkPfzKTN70vqmHBmXAkxeydgM6XhtCSW5ftKsqDBpM631ZK0ClQw2URIFs7OR/U7I2rQMS3V3BnF13NC1GuLx8rnyoJNMpxCUG6pP4lgRzFmbMQtk8a2JtF/gHBWuAx4GfiiZLNn2FbgQk1xhr63VTreXFzvoti31kXZAZ7b9fAR3DosVuMmOpKHH1Kpq3M1bH2IgaCeG/mQf9bjjpjkjUd9gvczs2V95+fw7YGE5xKqzaB/vsEs8fJ+bgv1sAG1GZ+1Mkn4dP6YIL514AMJwKWEbJ8eAmBrWFMLc2KSLfF9fEk5wiG7gokL3xRIHjIqnMyLul9zNmIT8P2yAo4+mM589+9cDj6fjbGl/upl0pI+4/dLjd5JsC8NN3u2PdX9FqjsjIwy45D1Z1CZ54Brjbfom+QNLmLlqZEWsiJWkjPp6hO/i3vO1HgHCJqlts+rDVMA8OhSAxATpwQftB/T1SIp4cjm2Qw7RE3hsZ2l8sS/KDT0AGJgsrAL/wJ1f/ijfgUPEED89MOJC8u9MQ59CM7QTnEerlmqIIb7fxXznD+JHfil/1E/KYTEnO142Oin6rqELOVsioFpbQHd8+LASWGLcv84irH0ZetzSIsnKNhZl+QSxD78a9VolDTUq37xAiBd/JqGjNKGKXF3xOQVggBQFowGWlOyTHVxkkuiK3+YaCBinFRf3JGts5FkJUrcIYtPP4dX9gK9QH/gX4pHZ71jaR5+h4ObkPChs3xKIkCszexyG5D/0LHCYAAAAABBTk1GaCAAAAAAAAAAAKIBACQBAIIAAABWUDggUCAAANCXAJ0BKqMBJQE+kUadSyWjoyKkckowsBIJZ27ych2yark64l7AfvvPH5To4PN+R0P7t//6v0QGnMegB00OQy9i/RL87/jf+R4Y+gH6jtoXl7UOy1/Q/s548/J3ULuVdn5sP+79Av2w/Becx9/5n/w3Px4Gf3z/oewX/Sf8f6xf/H5Tv2r1FOmJ6Lv7bkfDHgPkvIgUxNhHPtBADaan+3TwF2hAzbsg+rKztXqJpYi9gcotUM+2G85/hkbggImDKrY+WvSnaW06jaKQHEkaCJp4zdSrzxyuYbAURId3PCp+bOI5S2HkF7el6sGJmPX8DdCYd34Hzzow6cEQktSpzblV3u+0pyxpg0N8Xlgp3EHd2sCPP9owiibHDD+UnPgP1mO/21/7mB4Udi1aQHq3DB3wtg9HZcpdPMkwplhbAiD6/+v1o4rd08HV7dN1O5fRVujvqHMAW0wA7bKsbancGvsROiaGvTt/QhHQj8+WBwWDlTsFkJ3XmyThkAWmrWexmXGuAUmlt5PwX/Q2T/WaxpST2EQsXPfzqRr+nz1D2FendDcGShSXRmFRGtVeQmL1lqcIsivAYEsNEw+OykuHRdUYOcfPVBOwIQK8r+rbAytF/g49kt9paVVFGIzpBlfF9oCNUSEiQs4lpT9upbyZIzFbjEltAdHlr05XUzc9n2LqrycKlNdhwQ3/mTJpuJiP98vmcO1rKPFwsyR5OHl5hsZVsXqunPaFfJP6jfYfyTu11pr5dMSRKOiggMMKxmEpktwxnbkxVR7GnCK8KfcH4t7fAflPEUbejtIgrlQWdpWoelWfwdosm5IJ7/hjK+WIXOtCPWFpAtNCPxbL9PEXXYRNt7vEJ0RVeQmVeyKsKJGvdifp7j8FMzOzqlbpYF6kudkPdAlbzcK4jLh5omIon+Mt8gkBlPX2BtPmI6g1T2lw1+MaYNsgiOxUNKxYnWMtGM8nnn7uPxkCbpeo2R8ebyYlaUMFjfSKbl3KVeDB9nLPZWi4g6/TzQGFLUOL7IEC2lXkF11TStXEIkRXRr6R/pfSAeqWlvyoEI4y/mZ32KLwn58nfgI/5ZLMWMF3JUCI9vndfpxvfbz20waMV9mPMF8DbvY4yaOGwCQUjF7Vxj93LvFPojz4wxh0tJjMnozn6YlVEr7hghsoiqxwV6fMA0qh9TQsozB3JvUMsqLBWvTZJ1uJGHNc1oJEvPDghvhUpYmAb6TrEBhkgc40bkPnzJnjLk/56Iiq78OKRtPlYH06nHujza8P084SuWC7N529Lp5QTr3Pb4QzyNANgPe627KDgq8oCuB6Iiq78OKRtPlVt7pRQ1qdgve36biqbmuUvXaEeu1LOgqj3LpmBtUeynhRFS4j4ALZmFhCldkoc8zeiwMOOpM9905HiKrEilEVXk7KeIqvKGsOv06Wm2mDbqq8nZTxGA2rzfn78fbpnU8GYfgfaQv+RsmeS+BJ5cH/eVfEI6r7nvURGiHs9/MLFSpy29Gm73ffAXsTaOlXjfU/RG4hzyYqd2rqKd7k45bKnME6guC1k2QDtUwH+ZN2WbpwGIWaiNupcTb0iIjlyYGKXzwS5ajfmccLftcbZX5QMOOYXXAP7E15WLB2DNRyr0tsgtvPLKwAAP7+TcOQmg7IlvzC/6VsU6fAVzkhFg0wj36vnZkhXBMkPgM9XHTFk+sad3Sm88UVUwnn++rznOREHv03SRGa539S6lizugdwGRjdIm5tO/uwT8IE6p6SZ5a7HxVp5E59W9mOh4X+fzn9/GpSh80QWawnTSvDXTiF4vmLymAclBKVG0gloiom6ja29KYaUBP1yp8i5zSkpVbVpwWnTD+XHpSq5paICJHu77ctxCVcJa0R/4fmf2um53VqCBpGw7+eAwHCUyyZrkVEr2WYwHtIGGaqE25w5UaffhLkJGT+ZITApMocR/jlu70jx0N2TzKwtrfjlfi34rSEG0Y/y3vQc8cv2J1rVTW0Y5ewpnC1cyR+ikkavqfV6ta4A3slrupr/P6k8npDdZlloAFpRWywgA6kgTjsg+dFaoRnP3cwELNdnYoxupErmsPQeU5csMs8ZrgAUTOZ2DNyPklI0C1KFB4T0iwDxVjvhneRIkcvUHpE5FhiGwLctXJhlrL7XcgEXp6UaKNtwciD+0cNylAzvNzGbQ7d9VhmXweHlUoBV1EIp4a1o1g9avbyOFKHNUkEIkrd2AnSeZs1is5Z03MXqiiZ6KQLY7P4nXWZySSzCeY6Ilg38oGDh9GMitpwEaIDCrEKRH6/NcIPFhGxv897KamxjuZVw2yeH+dQO5GEh2rGBhS51ug0UhVjsZ/gPDm4GfBVNfVVH/HQMdQvp63tYyW/QlOw9z2Vu6UJV3yob3WcIADpnkvwwYjmwb/BrdC0trR9ddc/ayAIMJELfgZa/3Q5T1rNLzvxm6TUI40b1j5MCM/FAuabRvzeXYeVHUQ2lZ62/PPlh0CnYpf/g86WNx1MI4NHESv58yMEAXWJb51vnCfGYQGuFrn91zBRxo25BCI+s3ZcZqb1o27qfr/aleyvw8z/y1ya+Ftyr8714yaXd9oAdyxZWPQ11PERsSoMMkVUAzFUk0ny1U6/zaqQ0cGMGFClFufK5pRpuDqzlnjr+l8GK1ZQt/rKZii+Rq31TUb0yGpQ7sWv/nj/5S6UxZJ0QBTDc+4vxoeNVMAMNcAXfyrC1vNzzDbmottTHtglk9ZTdsvT2U9Ag9cWyRb0Lb5g4aHOOa/VihqmMuKIKGVQFL8Z9FSEND0oH+tAyUG+yhbtg0yjsCz3x+gPRqPkdB4KQ3x3z0JbdHErGHvB8z2gH7YpS2FeVLJOGCHKy4B3sa9JRxtlP3m9c90dYJpJ0K/JpCMhelHzQgtgcD1jpoTE7TLVajOmO/arRoZ97KMa0pR8lYaqgomkx5QhZgjbiwo70O/nhm3/zS2poop3RuH/QcBTqOE+FAeN7vr1r+x3lSsE/cqVEHT4XT80fFMqJiytirayBjyd1KfwD1GOeGxxexgykI7x9pnbWfaean0TUYqeBz0NUklKaw8Q2RZUHrojNa2dg+QOypWwIpTh1KXE3GoO0Yghr2/IC+YulL7JmfhaCTH5r8qPJKsUrYZK0y5f0Bk66C4m60nq+CIEjPhswBCOtb9bhYe5KTCp9UGX3PoOQCElONySSbfkkVWfeoc5OelSk3b2UFLjiO9fRyeEqfwZJpjiEq0xaVOZCgOVF3Pg0AsE97luSXXMWU5J75DMoYUXQjqzN5cqXOAbjQ2QUScXlmvLYUgBxGjVxeD4QqE20kOHVdwZP/+F8OIhtnE6Hq2cCis+IDuThRrX8VGvBV3MbAuBxBG3q0F4/TtgNULAqS4vYZ+2w3BzasQjGkjpIOOxLz4SvyrK7RLeRqPbCEQ3x7vuqa2JzG3W/D8sCF9wnWacVPzftjBiuL6HMgYg62vSNo845jDffBz8KDeWV6Z5B5Y9ZrsCQGdmd+qz8GMv8RUR0W7QvvxDMLTAEKrE/sTO4wmEk0folNqblo4eqQtZG6Nzf3T99rriXaW/u9JPX3CvXZdrijkAxwwla1SbpnJTA9rsSn7NmmtqAbqiYAz9i5+FzDPdzulYzEdI7wGJvukCcv0wKM8YQbyZWaUYnWh+mie+hWlz3Ox3UdADpZgNVlo1Gj8lraBZ10IMrOAk0jnZCQnf2i9TjdLlovSOXd4Hmh4EIJNs0rPP42EQ6AeGes97Gc7mlJaixl3vGUTq0cR05E9s6lSmwfTw80uZvn7+XNHlHmGQCvOfwciU83nn0BY0swLmWG46iOOET0HfCj8GQhbkC6y5ThHTPMzbpt6ATX7skBu+GJy7iCO2PG/4cHWpHOW0YzJ6UdluRlyc4ADeJAdV7FW6r7GII9H6Y59uci0glvKJpdTPCVB0o5T5t11mG04vFnQXZxRZKu1sfbddkLWiwVFBOxB8uYo9fM0T3c8rBk6gZqLhQEfeZt+gFKB+0iJdGFSj2Pe/N6vQnKUjSIfXvL7PgJwyz+4t6UjyFb2GBxrM8yYnPV93WF8E+M+ZPAMsjfpQKXyWj4Fkbk205jLvTKgeyBpl6nMZR2oAbWW7nxRjOC/eiWpzDU7fdcxVcH7/EbHtZROFgcalYs4RSRl07V1DJ3ZXeFf/jNFizhHJ6/8DWdIEKpOgcCiV0Rv11NMfx+JYsQ6TTI0RhUFxA2pSgEKoQgb7LU32tcWqYPMgIAGDRiKdgvdPAXJXTB+k/yZwK67TkZiMW1/DZX3frBMwZvYn3/ecBk9YdsmjGcAHEFzQG2VvCOOaCKAQXPov6uvwDufymdshFuuhYzFR6QBVybCixT46W7o6sktn2dU/wLRGjvtoC5yA/ZQAbf7QdqtkuMUwUyxrwHEcOM4P/DRfTvFuXRQnAtKWoW9gF5jrj4X8MRtAwVtbQVtSxKZjTKQNGQRCc3bKUSoyYpdx13TwcDT8gKpiPF+FA6G7ieYQU6eCoHtJgULpR/Y6/l25plV4AQjJanw9blH+H6wKPK0/ZZQYYaYObOnRrB1ggj7jzMYI1hr7zM+Wrqa97w1RYUqpXlAAPm0F/F36lzLq8p1Z/BBBrBS6oO6CMmu0gekg/RXztLOcJO460ijwgGZ2EMc84WCPs2kMH8guOLz+vpVUVJM1hTUyPYyQVztotVaoF7zN22UX0oFOTssOElA4mPrgAphTlAUcu/6uwyoLznG/74x9+nOXvgLauRTCewr0E3lxDPWjNlvbCKbIPkgWocsmHM7Y+dELSY5Pcp7qsIcO7WX6qEC8D9vyLqhVKKR7kvZYIaauULlBLk4paLbzOjB53pb2wLdKr+3q+Tw8M4RlZLR+Lf7qG+1QzHWwUsM93ASrTciD9dHsziWIXJtJELe/n1T1KLjVIiv68tjdNNQD23D8G4FSouKKs31PW2GJrWMCxeGk5LQYekQ0sdwJ+2ej6Icoh15JjXph5Ivzxdp+PI9PPuTC14HbSf87ICsOkh9/PE+ySDc8ccRJ98viSCAw/n6IwbXPu7NsD6lRw1ZI2wNHksRSkwrEk4LJApARVzbQfn2YHgmXo7k9AFmsy8ai46ds9YKvcIiay3AkSnfympE+Zfokojr8tBKL/sRzKQNioGqwn/0iZjES30R+E8CCLt5/CH6OPIYL/66aVCpT9xtQ33G/KdN3bhww4HLdi9LV08eqgC2RSphs43w43ZrOUEjtqFG7PeTZL922jJnpP2CrTuj0VQU1rY5IrYI+BQ+jPtTfP/IyQwsK3+HGItrxSs8TQHJ600kRlEzCBYpdX3mZvQxYhuKYksVlelt5Hmnv05+Bqu28eRZ9JzhIFlYY1kl/JRRSPtgA1t1r7SMxoEE/v/SqVHSGHOyaB+6z/+qUmKlb5Q3FqrqMZ+ta3EyUvURi/tRgvwlqzRr6XVph42ksHK2bznOu3tXHG20J3GcBJEltSe19UXLQcS0+Ur3MBPlwPTEU9eD+yqyncX22pIjwZBJ4G9LjGJePUyPI4YubT1z9b/EBF8ZGphY10rPxM1nw3OmzYxeVfLGJwsJg70BPvijB2hjVUJ4eKVwgzbz2If/g04BzX6lEv2D23IKnrTo8SdiA+oK5CLz6ibR9qfOhB/wf22fvIvKlAscumVlYCMgPrZ6KK/c39pYBXKktnWOyUBCXrWHa6m7StFo0u47RkP60BPystQ+p0ynbJKaljB0rLkcZPxh/7/weWa/mAH0N+yXGmyir1f0X5esER+WMzXgo0qb+AvUeOuD6tRfOHFHcSn0FME8RNv49mMd81wN3mE3IyxfJxapXuqSlqhtm7lgA9Wtg09eK0MPf9fF/8bH+1+JOOzjgYtZFSVc+aIh6MKjlvMXKLXOTOdvaJa1l77PHxf+J+r4UQrNJrawOIgWnQ2KWJVQHyAT/FllW4AAGDiiF0NYtZoosPLs88HEg1xBQzMNzGDAUfsoztB7zqLu6MQcfvmK5FkZDMYq3jB30RXduZT7r+QH1A3GTDSS2O6O+sgXk1S3DZRjOxPRTZarpKWgbe8EgNfkMFz9V4kTHoiKvej5NB41alltXE1J5U93qkCUE6Eto/clWXzb8ht29/3rHbbVitAhhg/DZRQ4m6ZknWzNmjxDOfsypQJs8PTT6F03wqodfg0Z60zKsJdQorbh4LwKXm8/P2L72zN+nVBVjl59JwqGzW4tQnNEvOqJ6p5AzXE89Zv6qhJYCjPLz/ro5weVIr+pg6aNTIWYIUwJszX3/B9u5OTyzymtdsuhP2CU+KGlN2jzHpHwbMSHKjF+hW5m5Zf725a43AfsoCYtF7rnTvEZoSYwHqjI3ll80ApuSuPxIdy4yeuBmOuneuqFfUtXkKAF0vhgP/BAsidGHuNyw8lWDqeRJctJeXsArdFaO1sFDrfFTJG+YIkuhZtvFRAGbhFEZ/gRtlhO6wf7+OdWNuHXcSy/65M/GsMlde1YLqMwG883WYPdTzOO4bv53EspfWfasOtncLstHufaYig6M5XpaB8tND5ZfeYafpZK38hh1EpDfednma3zFsVlXBKO5wM+pRKJA57baWpH3X/ta4JC/cBEiA1X1rZlWN0GtZ1iaUJetVKTVFXoWfABDTrgKlOYT0dP0g+y0hlLMJ5MlwQR+0T4IxgZ4uGKDeE4LAYrd33Ho13M/iXOa8rVqDL+U1Q5chSYdFP2RmmAM+zbCXZ3yjPcR7bz218qvahzxa08NTCKD9YmhLG2W/oyR861+cb9hfM6ZdDQHwEqxoyeN6t3DisSUckSumA1QcIsVlWdC+lpkc/jwVm6r+SD37wASCNn40G5f7mZZxwgPxESv6lYxHpspLSE5f1U2GpcA0ji7IDV79++6yvd+/a1TjgMDF/GfnWnE1vYa0E7UEN9gITNcNM2n+8En/AzlD4oUHuFm56png+rsVqB+MfyKsCvxTjD2irXNzbd9OfCQEbVG241Gu4NXelVH5aLBGBMx60za66yAcoA92rIDb8DFXDoC9GFXVxjyTdYRBjGwXKRu7QoIJ3S//aY4oU9c7X8m8QlIfRecBLPvYpmbS+15BzpKTLt56WfuyWAiW+qXfgyk6GLKbnrR5j1/geZGI/ZhHTIfR3avAg8JRerNoYfY8EWy54b38XMhbCBl2XDCPj6xo3U0JmGVssYHgBoXKrepnnVPkJpB/o5dj45sfpM4/D/jtx4SN5iBBIWONLbAISf//Kt+dX6/Cuz9qTu1fhPxiljDbdfjJI7Yv9crFAkj259mRV2vw3ukHsJ4htj9b+jHf5uFuHHiMA+kWF7mJ08/nd4B951yMyJpgSPQHugJClSWvSfpa8BNm7uvXHa3LGLjQLeiFEnNqPmCxg5wjOuzS/2FsR38pQFDMIL6PtK0J6tLzjJZAavgCeBT9FmbDBupsfjGHK5cJdSS++85ShKA5QL9iGwMyAsN8gh62A7EkRH8+np/YbOon+d7J7xtUKk32AoPAy6Z+gse81vap8h3vi0EuoK3TnvOcgP6MlB4GKVyxausAlTjhUKmbbzmDShNNBcMON6KZNg6U1n6WZyWRGrXV5za4wMFi1Y//uO9kJcxq0lCxwD3AFOUEd+JPFGldDPG4u1bnCD0xXqlUP93SLVWMSJOjQQzrHhMdECWIX1wiDjBoU7xuesWlNuiQ9rQNcEeQxW4H2C7XDV9Q1fPXMew/YoAQyapAPEykT7lTw/XrOlqG0AGvkkO558/C2GnOwKA1TWL9LvOX9hCypjNuvLpZpbLPV0E+72MFPw8N2igmAl6AaPremGWup3j0ZrMuW7VFPcwYa1qQaIVrTgxRimO6lO32cTdFZK0h7v/ZtNAOndBgBF8IrbijB3o5kdR6jhDNvvSxpbSRCCZZFWJyjphE9eRzn7eIUhcc8rhJgx03QVzL2Yjid2pKXJxufo5p9z/M14ucQ+nHNsIb/1sGaS73e3Z5CtA+lWZbr8jbsiTPHLUla+Ppu6KmpmZnY8u1kz7ONPbaIX2kjiWFmGLmW22uJnHqdMZnvyi4X/VHZrLO0E684Rx7KzW+/djgvGLoSjUf2Uip8Q0p9DnVN2vA6KqTwvZx/YeB9hH0VpXqbXjjVnMWYVwsS8VpczZGYfDbVMXL6KYgolMTNFZjySXq71ZMlzkFjIOT3PBaCd8e4rdBSawpNyDe1+YrxrFxuPAASEIyiu+W0PxEUtY1PerCVwmhyynivfnFdefe5K8+HzG9jw/alpOi77bBC0K3HG+KNZXWXPRFfb9WGr76HJkRcPVepy9Hy5h0tSzMOeSrgvkKPApFTm7cXMh1DKG+MX7cKA+WA8Q3xlShnRQ6m8Yr/skDOTTUTDpd46oyZ0XIZ09HY88y3LVLp4DNtpT0+srFv/pmehjGB6LsRE9I7kRXsrKC8yZu4ggbLFt5kdeQG60UC8RnkpNSWgmozVxOtEBa1+gUMk5kpLJNz7qEsW/L9cT047hh1SdnT+QVlLMHtI9xfM2gLXyv7Xez5qR2mYqp2nCFe5jzgISRGXxGd525pE6w+kYmmOTUMvOLrJFv+2pIWB8IPu6PzZParQlyS8T4+EB9vj63oLuTRv4EO4I8nV+Q9ikP3EwDABFzt6ImWdxwN3I4DllNAag1VGEOg/wQUFdFtZrnc+vCQzgt1mKqB8XTzq2VZ5BNopeolc8ZTlqo69Uhy4ea9ukqOUr+cPWQSMVqnbN7Wb+JDV6JOkGpsXq0znsJpGpbqYt6pE2XifiFUhQ/kkZaRLUSC8m9JCT8/EXKKj3QmYOZ73NGLWTNxiwbYVR3WRN6C9O3WylXO01F65LmHGkGOvLqw5xyv2b3XlQvF1ilmO80V11FTi3pdvi5JsBTF7N5RCXij9yJcntod5BHZmLr9ERaK1iG4Km7ENwjymTmHaSEG7PpIq+m+LGYTH0b5QtHPSwBNgGZ7IOlVX8fbQO1IpWzbFknjyf1l4BsRvXQZjCcItGVfprW+j6pQZ7FkmKq5ufB9smS/xhKYYI6o+XAedblOskQHMd+55PbTP+IW6Jf/5qjIizt4snvlDft4L9VQ6/b3k/nChi4ADomQ1IryiaOHht67vyrTqKUs4xtBsb/038oz0eSVy0IC9yaqdrrvY64otR5nnIzLB6LZzA/IFRU4IKyXH0YJqbr0pQM9QXEZjzgw+tdXHZsIAVRDuvl9QOxmByfSUPhggFi/XHiLxbk2sa1VGGT7wYm8FkwDNI8FFbHTL/QzJObb2IpLBkkofJ3plXimW1Qdk3zOETLyVk6lAjwwRrRrnBSgw0I/Biyi2LTYZCN7x1LaJYeD0Onqdqtsof3zp6K8vaG56YFGvKhvA+sYKEn0HCpMr1f/TIrQw1+sWVDeQiL1WdnR/UZqRCYj9/J50hcugdpSTqdddazZ0Vs9AB99TG4BEnvJ7/HjdxF2QrguYs8gNrkMV2Mi88SkoPDs8UGf6Y7sSFSJ2WRFIbDzHQR4m2l7qclTZTRlKpjnYmqaEOxKDvmvtjMiOsjhtdQ5zhYaJDFWvrKSRj3uU4sflqStgpF8FboUj8TcYf1TlhCo9PQBXum6URXEffuQ/ONyOtw9RQ0URYvqHG6KmowAx9acyQh08oeB7xwWFOOWRAJCTk8lij3moJcRzwMcTNNQGmvaOzkOWjA1gPRYOooaFyiFF/6oHplBjAZVx+4pQGkrggyMaNkU14OqhXcAnAmCampsgIIqj74xDLFZ5+8XCJH1HEeLUHgDdtItSTgsTd4xGKC8AAzkqJ2TTn3wCtCg1oV+Ta3NbUcdpyceHZOs2QLjHlotRCu07snJuqPiIHQPGIl0O1L0m2yK1lmwMTwtmo/ltoIIfdQ0BzEwm/A6aHivDASJC/ZxYkN7y4u5el1DeUbWxLIBvgvTSsCQ8NlhkG7EBoAJfaS95xPIJSyE7CVcaqTkot45gBtOU2oLf4x6A8c9m5SEypTqa3HW/CVyzzg35fot2mGA2YAqR+2VfhAgqjaLjKDyUFu8d9BkvE11wiI88qdXeuM7QP/nuihMxoqGmNkYwUqACZhbqqjvfX2hDKSu5Zens/w78KLW8jKLexPBGlySWYqRoHq4F+klXr6TfAF74RKj9q+/deKUzmYRWC538TNIBN4TMRVTKanCRicUJ1sbR/lRv/whYq4mDgfVRTNK6neT44aAfTU4OmryXC6LfIoMC3OSFUgKB6NrDPaOY0GVOTYfxefWFxzArf2lLa5Y+oaEX6mGHWDbGY0578EZzk7LxycDgs5VWBjOPLgIxsp+xY8lo0RiZ7XSK8nYjA0U2/YWq/jUu5msQ0ZIOC/D5nN6NmTa7T+/qZzxcGwjg/iw/K+XF4/u+X1dNqK18pvyEwzpef/q0q7wULeEFi2VkofO8peDYuA49mOUr7uVB6VxY5Pn7rZMiTgDTJW0KL5dshDmFG6VQSbRckOJXenKjmFT0AMqRQQx44om9mFQ1Mb+TYHhtQuSfLmmQjR08b20rEWqJ3kwozHKZhSGw0huLdSULZjw2BDNFHFm7de741WUxaM0OnQpCjL9l53zF6jFPu3wsH/DMcBS19TKaL9lQBI5njZ0h3PUCWQhz/aEC3N9FWfvVJ+XTpwMqX1OVDxDDZ/CFst70K1DbZyavPiO/w2lnzI80Mdjn5ufHCB18InqDvJpxbK90WYmUboYXkOxa4MS0//i+MozUcGTsZqisgZrsZVWtvh3SRxOFxt543Y8aKtW7l8BkQfmrXH6aI5zMVm/Pij/5WPI/9C5HA1rkrjIKqIlSZyPerPqBJlJvcqNrGgxpMpt/giGFG57lQfipCzsui8Qx8r2MmIXW+HrjyaEtsmf4c61gKqZWnj6oX9sQFMOvaMW9h1QcGwC+8PUAYebFFFVyT0PT8aMczeqrViRyhfuuhyuSWP1iBhkxQqXqZVXK6JLUtYFlSx9qrgTA+Qqw29CqhZTeElyFH/TwjcFLBGLPkJd+HYkV8LrzJ6dWwAfzgq3ApOlYi8GtxCEogOCTdJ7I0WJPC1NnuFCGxSVjScW8RUABHNVoGW369ha9yrwb3sTQ4PtE1gAAAAABBTk1G1h8AAAAAAAAAAKIBACQBAIIAAABWUDggvh8AAJCXAJ0BKqMBJQE+kUadSqWjoyGlFFoYsBIJZ27oDWjWYhXl5aGXn0HkTD2bh3ndNOz9ADposhJ7M+iv6R/I/7/wz87wTfw/gb2X/5zv3+NWoLc87RLYf+V6BftJ9587GZr9Bfq+jjwSPwX/Q9g3+ef6j1iv+PynftXqLdMH0aP2vJS6AqamM4epOTd/xvkHXtVN0zdM6n3WR6qcyJyI6QEyWkmOJlbamDFcWxgSqYLnmOxpH712S2zdsyqSGZwsXZK7MqSx4YW/OYFSAu6FFm64SiA0VG0SByqSh9VCWPkwHA4FDRg6n/NmfUa3EG67Qq+5GkkxNj1go7vgvfdKSya67mJK8JQRq2TF1fSlhVqRmopl9mTY0MmJ69uKPxnW++Omp61qOGkZtWVtz0lctWtXOzVTMQfNNSeKgbbBaTaUYyVTtzZTjsaaXp3lCWSmt0mcN4KFgq6Q55LA0jZ9MWpivuVOMFZcA/pCNaJaZgFi16WB+6pBD2pjGYNP/+G0HHHuTRo963JwRrhH4Du4SnWUVV+H5P+39NQtQhA2MfrrcD2nXBUVZlK0Ki2jhJNQ06llyqyt+UYdUS1kp7M+/UTi78tAwBW/iy6bi7C9vPyl3AqstainbAzjkT//JkQVBPpdJgQj/dEgtWfoD3BijFyHPYfrXijA1iu+jE4UjhdFPoknLm/wSQptswqMbuUqbTHF8ugPd6YCcbs8fP9KIwyGYrM+QZDR/etlLN/jhtH8VrOzAPI7BBcdmurkwL0Fb7z9ay5qsbXR/FiDmE/xc2lTCt6DHXMcOzQbq5VbFInS2JFV7T4QmVL/w9IsJkx7r2I+3qIESlsQxMH5PYn4Uc+43zt1c4HPV1ozBBPX/UIvuIuVDBNCt/hJNfFucUp8wpLwc2LImVqV9GZvt1TWdlR1nSqhTLUhsWjiK4d7szVutEaWgWwpi1QGjVR/rfEAnP58rw34QiQpq3nDdtwxoqBZmlshJJFRHl3lX6cHk9Nz5urnMTb6xJSmE9lzc+HyJ84Ikfm/+K01P76EhTulueBMLYqhA96ddZXDjMhl/u814MDEizh0qdOSnSG4fRH0pMtyb+VVw53q+x9ZQytM33pCoxRl1gEj+pEbfITCN3q0NwZiFCY5LTpBvogpxMe/aUgRtzSofjiUl1CmVbauFxNFfXHXMmyHLHLqXPxra5ziFxzoHbYtXkbBl+R2GdUtYuGKJtM6QKf1iPbQdroT+7odYLYsAiKm+EK426uu9XDqHUbTDIxx3Hc6OF/Chcxf4CC6DTmWue4CWe8v3S2Gkhf9P7ekpacPh/b20PxNkItXjr9Qph2/9IASZAL5qLJLp5HtsLHRQDpM6bnJMwRGialYagHJH0qJiLnAHUJSKV50nFLoe+FsGGwfJ3ZUenLnAK+lLLnAHUKYtXFjIg26zkRXDqFMWrh1Co9OXN/tEJQfgZVdNb3JTDzdybkt5ZbBdoRBcSQX1ZZ4iJCiO8UHt2Qilv1e+6dRnbnV+pqn9D4rIdlyC7zyK8YbD9kkwgujMGf41p0T8n9B7AkyNVK5HTMLQ6kmMw8YNF3MJmLoJSGpJ/EtRuX5ib7GxhWyiYCVTYegwcxU48TQBb8ECrq8kcfAzJBVgAD+/hzkWJt6OkxGPUroWv9+jEj1/6H7k0lgH+oCMw4fTp5uniJ97PvRrCwLvbXOS5eQUf4yf6/Sh6lNk4C4fa9c7QKYgQcsBUito47J1Fgc+L5+x3Y2MPE7n02SWtvtfToKwfsqGGTmMBG9ZvyAYpiyA3bCx7yNsvaZYxmBvMzZZsgKwCG6FKoAdLcseZ4qQ0+bwNayt049ylznNJj3p7QD7st9Od6WDqhn707nKKFlMSCdWH5X5SfC7ERlqNQabvs8eGOlpUIy3mU5Z8gK159/JUtqJkTv7CR73yzNc/XuD3xVT/+BU4yNzAPVWeqT9sG1BA5ydSiDxrnku2uw/7ndcdTP6x/ZuVkObsYKHtpvbDx/eokmO+jffndQyp5DFqWUSuxg3tEaXyoESDoD7mAAhcBiLw1T7QPcR6LZ4qDKfewzGzgJF0c8oyG8kAozqfroIg90ttlD6xF0hutJyFBwXr959YaSY+Z8VKmg8hLBaAfd3JF/Ej7Yia+sghPhosfZqSExxRHgq1th5B/Ub1wk6djuPZ+GrkLspDiAgIvCZbQ3tElsLoH+HKusZSZtQ42lwtaJuFuQG3Tkp9eZapCOp63xR/XfLIyGCK+fpyi901/JnFjWtQzDQ2bmuEzVWQB8Rj6Ee+8hl9mKU5hn0tGd1Kppmgz9tPJK8Vft98Rji+JIfmrED/8hHpvsd0MEbC4jzmYmbHSNLk/Bsu2NidJ/kmXYezYvcQd+cUeOizdAqKLN3TUN2pFixfPAscaVCcU3zP6ZKNR3+O7kzC2CVf96649fdAfRU4nch+VjtKGCqWpcf4ftevaP1s9z4+dwVLwM/a4eui8gLbZjG2WaoJDs7Yn/voANfkBvS2EYuxg6FPgM1qBp6GLwB+Uhd9c5uKuUQl20qPeuy9pyQTqQ7/TqqTwTL4BQdh7w3NdOV05DjVpbxc13dezPmehwFrWeiPh7eXEOXsUcFj/vQaCkPIl6wZFz+4/6clYKPG1UtTjPADOjEs033Tb/uUK3HJd49atDVUZqpwTu+/rLtvhVDrpanHt49MBtwP4QV7FHbqkScnCVt/jQ1N2BQ6ZkjVXFRJeZTVWakDe2Mt/Gf/bTcUSK8OrlPuWuI6qRz8iHs1lwkrH1kbTBjPEBhgD+s+9e0F59+9w15J6f0RIjIU5ZLPnAfCJCBrcJiEO79aPVESoqLMpB1DrAvTuoCZWnpoeZCvNrsokaShhd9HyAvyH2DjaXFmLzF+78wqQoMDnollyhbEWtMV8SlMb8EM+AfHrewfqQc6KznuDceb4PeLtoOd5hkao4u6ORXT4RTuCO4AIOO1YS2WCl4ZnvtCyxNaN/0xS6d49uWzqS/pr6q/tJUS5LT7xa73fptQ51yw8TcCASLSpoIvi5Rfjj7ie7qspN0HkDcKE6wQqjn8U4TVjj2lEo0ZLnf8V1y/naOtQebTGT7jOSmcGJPwAJgnChuH+waidJ60kPbC1nbOLI5DV9aQhTnvKgXOmmJ53HlymykdupYMLB9RUwqemZYgH1vOA0iYGfV0YCKlgqg5Ihm73XxncnYkVMBF0N0Y3U/InIbsCQn6TWPH0kUaB1N613QZaba6bm01GKsKTkaIXhBN1a6TMGgfn1dYDpg2Rt1eFa8iRm8a9XQxU2T4dtmtNO1+Q52w7J5McDua6xT9JN3Ca4oSc6LaTnkxPcM1mqi03bhk0S7m4M2Ev2u5kNidpttx5F17It9aaFR/q2vo4LyjfTW//e42isFAXkrxuNlzdWTBCjjHUV8/mAfb3D2EnofGhmOrO88NcdaGMVDJvM5cQ/Qle2LMop4G9hOH7F82vSeC6cQjGW+kRVZDvIkKlsAdbIeb6JZPN3HBssh41mlYeiXkIXAZYnjBqI5bBedPX9xAPbbDYZxfXMpctTKxJoxhF3U0rQS+TdYx+nqgAVi6yvzSHwn+bHOxW25/e8zWvDS2RRk6ZuGS7bIaUriUmjMa2wRodag/bEaT94Nh2NfSs5IoG7tadyFFBfAbW7VA0ewQfSSZ84vz0txXqGcM6YkCr90ik4cpc46eM6A+sD7aNME/ri1UdiQLRl+W1eD4Z8iIQcVql/jO0BmFxz6eZ1ARhK+mOMcwdZa6WElu6P2D3DKDVlrxy2LJ4LAAtXx5mW/hGkThi4+mCwE68v3x3QpgmSBwZVeCQMAmozGwgSoAEIgVCa8O8xIPBK9hx/apFURbfs2j2DmKv44Wqjgc7jOdzL/eRyLRHn61W3T0vpAARePMcK3wFo/IpKIaOfKUmZKhgRLkPqc38DLWjPGsHcxzVBqLT2Py30vIpO/1p4odq6AJUi9wOo04UT+nxBvfLVwyUGH/FfyMxrD1k1kFlhfv2nKUYHIz83s6xCBDtXLV1i4sc3TsYD6PhzZ0vPoKdTpFoI4KnF0qnrwb9chDZy3Zk+XGnB7HJRuc/Ef6rGsbfOjv4fSRm0TVOjOucgqeKeNW/TtK5YYx27LENOQNc7yBzFolpZqraIS92G6UWQFtLi6vSLCSrr9WUl0Np7JODPCaM+eFbEQjr75jEQraOTMPUyBqAZg5LcdVVYJP6Y1WD/wTYRrUTOacfLaWKO7Puf2mFLCpC1q6v8h6pMNYnEJLbck6TMvEteR2mA0V/wZmWlAbVxLqrENtYCoxS0u6EBZ+MErNj6zYbUZaD60CMoaE5UBkLXniSD9E5VZsvqWl2kbxWKQxKO1OLC1BtCyxnx6yIWYFWOzmRU3QEcZA+2gV7shtjcTW98o2IHUCTBaQ6PYsYE9vkEVG8z+VZuylDfSZldanA4ijQV4dQ5DqhjDKr7GVh0TnZj2YPME9KcqcqvsYunhlOyOqvs5LvyJQu2StY5aWdB6mwEJdqWordKuWqy1Yr+GAqQB0rF7+i09R4qXTVUD3w2Sh9agB+lIXWFrlIneN6wv5uH+OEZuWuu+9Cj/fps1KeRvY2+WoCfsFypyjralBBsLirrhNNDoydBvixQXHiKjdQ3ZCbfdCwXOa4mPFtDs4Ckf8FTPuWxoPrMUQRu+5lN8zi/yYbipFFK5hdMrCM90NhfBN50kE6cprHQQ0WNJVyVGjjmQVpJc/tao76c70QFdujj6nCZN27NQLP0VnFeI2CK882h5MWV8nrW4lFr5qm56j1+yJSNIxrWleu7v/I/Xx6/pu28CV01BOstVaWASzO5sJYNiMJGg12MlrD1R+DYjkTgMnnKcEPxUtD2S1cuEqyDS6ONAXs8f+ZS1NVAq75jhchn3LtuTOGkzceM60R7iUTeJSRoz4bNZVX0zN9TzwJ9Q9lqtBRBCnOii/SNZjnQtslmnFXclUkWCVov7N2EZ1o6srgOhVHZXRMCl/tyP0Bz0p6SfFf5NWNm0urJwAATXXuE51JYhOUdOKydgK/8BRUzZCH/LmzDgS56YQrUSqsLPCMw3nlDeDtz4/bsjZTncHCw0SVPOHyvR5K3RygBizPQZfe8QZ5BdZ0/3y7jAsZxokSSKp70StLWxPYgJ0Hb4USSHqeha97JM28S4PjJSIAncx8NLCuTDNl/I1X9aMuOui+zArhuFE0BYWMK83NS50Qyf7lr9eCaHEmhmPcrsC0ZCOoK9VyPGD3l01136qFiY/D3RayQ8x4c1ut5kxJ3wTzLHjBddZsVmR8vXXpywAm7eCoDHDi8yzPYm/Jl5mIrMRDxBDZeObV684aajRRL/lrd+xf6QWhAmqVfICbPyyhnoaGIZE3uwpfH27YaaPzeg7BgSf3d6KB1uXyMQkHx9kOh//7abKLUG7OyWuJLn3fhAO89X7MFGHAhhaMfyJFoMnWmUPGcELdfIdAf6LEvDQ+Srnj+s1YS6qAEeG9/BOieVI6xINncQHvHANbxYsz7jG73IS5odSnuGm6h2VyVV/z9bmVNCE7E1ecG7i2oOQ/pyv5JpGry+VLnFFJcnlWEuTn2QNCAnFkmbUA4qtv2DbWOcHpnLZA4g0sZiI+4aFPf1lf63FnYkezX0FE69BTm8I8529TGUXWP1pTc/AeEZ6M882dBOzL10hrqXQ4/5Ii//yDZ7/eHm6Xl67qH8rIUv2QP/Rv4101wkrk2/QSPJJzWeEgCytcVX57SRVhZ1i2mY4RVLTX6tdd1QhadCsl2rFv+fO0BlKNegJF5ZPtWc4crBkF7b/evACnIHQDok/9kosUyK5/wiRgzJavDxIpcXvT+YWbbyFW9cx3JAiulJKZc1D8SIvAhChxfI9LJIWj+hlPafAKbYo7orf4uGB+l2r9HQn3S6w54wBb64fdEnhZyTgwOsDuVK8L315cwafg4MGEg2eTs/nsDr4lcgW0ZYiRpv4oI2cDeij77ar3IuGlcIpeEeQdYNkAvgHHO5YxXHT0yolQTUN6ZE2WyeKyea/7eYSzMw2onAmN3GztSuHWp6IJBXcH9GLUOEbLa+Ku/2ntpo3tDIyjZS5fCb6ezqHxFP9qQau4QzWkOUBen76fAPClE6RNLoWiRtO4z7EM6fFqKAPvKhG1A5FNYkYAWi4gJikWSffEquo/nFrqjuWYdYSZGcrB/iNjSsIIrzupiBkFIl0bU4qWOsXi937fyEr/5GvpO9xrNggO8aal3TWyzWTUz8STkt8a5EqrW2EiGiF8ZiJPwRQiVzTnQYBDHP6eDUPjsAxAVwpvCUdMcYUUA005LHtE2ZsstalLLl31f4N8imYlautk6seQHy1qwH0NwhZauSFoxocmDiPOszuiXnVtHjsBxXxjDQiNLoYJiISIAvRvs21kNLXsre5qiIcPfjfsRtXu2DOOiiIRT5b3qYBPqykdKlq/FDNrRgljCjddHhQaA4Gh5XVBiHmZjtvOpMZBCp0tMZ6Wsmj/3lxC8MPPB9pH8BmcCLDEA5rlKHSsIkYnYM8wEDshA4DmeyjmmrzEdDzNq6DtMp+8eC/it1zw4oVA2YMhfuk59vzVxk3yWwrmCrsU9ri80GWKv+nqCFjCRZdNXG/lGbWnIcn0fKAe8fPKDISkxipxlRfuUG2tTHi+UYxt6u1tkCiMQ1g5Ozb+HoC9jpH/Bycs3NBj43kk1dgy2fmOhpBKIcL9/Ymj40xDvDieHZlskQ+L/xgHtJS6OhBrNlzrhaRM5KKpf94FN1waZ06At6EngcWf9hL68mjvmgRTqbwOhm6bfX6NgNJgmg9ExYG93LJpIJ19m1EDlevPSDlJqInZ+2VT0D2O93xQ0z+tvarQxNbADDtI/B0PvUFbWgUOjyBcxs9L1z1Zdq9bpTaD8f0134BYJczbW/SxhBxZX8zNCTnHEysQ65+SL3QPagub9MONR58uVWFK4g70/a6Di7HhEgZQv0GpIifHPjpQELiA47pDErRGzvVL0z5s2/Gh4NrdazlVGpdZhtgTpTpe4rwi+U3Jhgo0xsX4Ge62+t5b4iOF3KVxmQBtLeD5ToG/OeGFbx9Mrgl4/5iWVQkPCVjFEe+w39p5x/tQ4iXcXzyvYRwSR7haUdoAsI6CdE/1KnWlPo1uNZogh/iM4q4sHDZQrFwSV/2Ay+5pD+ItL2Km0X0MaVy4jFfRilLY956Vg0Luhxfk2SHDjAXS1HbBXWSSsY8GcoNfcHa/GeXfwY7qq5PFXg88THjdKpgvIQBjPpMieOMLp96yzfL3HG+mRQx84RgV/nBbVJHBatTgwK5wpQBKqrOpJgPHariuyCRbrN9b0PsOTIq2Cn9+Qs8Kcnm8y7tvBlMuE+zRdzX9q5l7uwecLlwkyIOxknL4VxeDcZ3CX1lOQE5/68wEQ4OLLWhpKXbvNMfE51cQFjF6iu/rMftrbC2DMtC6DXsjarZgBbiGarzFVkaJClO+ZDr3NHeZpVrHQcd7/zpIPUgRoAIcok2hcuFGElKrMvBYG0noi0AxTC9cx6Z1jLikbOR6IjQsWrx67MgCkxEKLnXEFra36QkD+1312K91AAFFPAWb+PqbxUNgghxf4FUpONzEbthoU8gbiiSdnOgjv52+e8GRbdtWhMSx0utzZCof5tYQbuJv+ykedTr3Br8npdgP/uSQCllUj4Lq3zmicsHeGk3W5aRjY26XZIWCTvYvjpL8x3Rr2LCL2kuga/WeMNSQvH+rTtp/4Vg3X5upb5Qe63UEaaOlD6ZP+5hHhlN0vJ+KYQyiaCWtGCRzeASj9XRjVB7WAikjR02Rv11BTmei9sOS7Fr2xBjYkhoi+HEMTog7pL4E2gjkM0TyQjXNhX2SRrxDxZynKYs7td9m9lLnNIWRe36kRZ4tgQ7hvP6IoTQAlyz50X+fCLXX3ZrP2QvUGvn5FaHX7CNbRXIqO95FwiGmwZq3He07C1zJU+mPvum+cbUdIiQ7SWJkVQO0E/hqew9N6rS6qPDeBzkCeS8zMSH/LQNJ/sdGJpIO5YJzIQAVMiWheg8WIwpcYI352bbVMv3AIhfuRgzi7KWXukL8na0zsNauOuoGeP623R5u5ab3UP+4uqBwYYuTqiU36R9twmZ2oSiI/AQe0K4jFrB4AT4nfW4uhRM1aopgXxLjuJewuXVReNYw1RcxsJ6YLl/hAnCnJqNRpBzl+Q+N4IIr6YjSNqvGknBBeUMci5GUTOJSldMK+nDExSGa4dPPmMspQ/mZ0RTIiA5k7G77tg1sBzTO2M5vZmuz4jhR3iCcM0vLLQqUHdRcKb0LJBlN60UFyrbLqZJ1xDEsaCDUSXD6mNajk0Gpz5SpTApTatvAf0tOGGM0X9pTATBDrJc4gqySZkNz8BVSI5Up8xbHWOcvtdMhwx+oOLcU4jyL2sVS1ZRrGri2jeSIAu1y97XDHINKzY+xUewtfYvPbrzNJREc09KMG4bJWNpBFaKmEVnMcDKxkgt0eRqU3QyFguUpoRHZzjDd/AJFngdSH8lZgsuzIUVbA9EOFyEKJGxhlxHqLExZ5+XCs9J1s0ET0W5hIQk670nby/EFHIvqLqpKlVi8dpomgg2cW5xb8GNk8Gotubbnu937YoBCapzms5IvkPVsQbS7PCo3t+lDEP1UU8IbMKf5clYPu60yHdugrhZW9CQE/znoa5MeQNelc4xX1ddJBXFB482YFt1OLHHp7MVLAjcWweJc8aoSZ0CWF7rGGoslYB2OGoP+xvQYUK7quOKj5+bFyQUV6YedopGudflKQU72p0R2RnfJzQN41rP4Z/gPwcNScdg/t4B6p24wh/hVP76JP+ynBkAZp8HBL1VhK4aqFLfbu6HLShdEUB3ayFlTMFnflvPO/g7aM+VKbBicVv9a0hgbOtNEusS24b9HzrwawVSCAATPA5f9Hy4189UHL2ks8MDFyF62rmIT7NK+oiqlt6oMwEd9yxq9X7OGOrtopAcYdtm9z2IJ1w+LIqcYlxZQy8dQPk2nY8ZvY/P0w7AzOdA2A9YdIQc1phOByVrVhSfLRQ5DhZrrWPykBblRTBGBQCTzJpw/ER0oJshKMm1Jaa6zP6Ze08KZbkzrzaaRvWmpXw+0sLqRb4vs/peSbNDvWugaV9wu+cjFD2FwixClKhArqxGkghB/SC6MsZjwEI9t4ydGVtCpFMN6rRshAP60Vz2BZ3M34OOO/wPA0FLqNG4TLdgQUcfGb6DDCGUkoDbotsnQSob6QsANc5lvh+vypa2qEs9qXbbXrwdfPyGsJ6pFh97xYbAMZBrj6Tg89LFchhD3oM6cy83P6KfLUAtsPDqwNZGuNiGuhf7E2I9pGXGiGZlBRgK/3M8Nt5Xdv/10MjJ0DO/qFa4UJKguqv7DuwkY/mR+sQxQUTb8tFPlQorlDOsXgS66Qs7u70Bwea6Ycv53L9qxLFhCsQZMJW5V/XFtumRI2TZf2nFieVCl4AZdrvkgMTvM0dB55QZl13/jfppA/oDZu2zCfCbl4QXABUlRy/aAhJKsSZTQj0FTxwYnTN0oZR2VGNgEmrikiIMzKUoMq6HwvqZcBYB7x1A8gtkAGMBoornXAAOTplEAC4kAuzDvuORwkpUxFZGTRRhmAhmSDfMzWIRSqlZaC0AwO3V56jlflyzDo9zv+kQXUQzF9aHDyj9D2i7qOV0AoqTnKi03e1SaYdJc+/JmTUzkhEQ01gBRpt6ewuA6AT4NgB1QNuTmy/6AAUIbjUfTQRMjOVKJqskHi+d1eCd7eHk29BLyQyEs+H1pL970WDRfkcHzBXBq+YUDw7bjhueHsZ9hZ4MuwFSWYY86VppvBD410Yr+ktk9NBiXGpLqOO3E7gsAVkCxqhba38K5+G3bRvH99iuTDCoIX5eCL0c7bKfaZpUhrirK623jgIzIWcHzurW+gp63lKdu/UCD/czXViD1HKhs1ndRvNfCVHNVlKEMfGcZ6qdW2Uiz1O3GTUDFGFsT0zwz75yJkDt5XgW35WOx14H9/ZlM9i//GskocuQd/hQE/boiAPssHT7lgpMGjTxIdgNDYXpBiUEv3Lsp8+WQsMQy2i6Ctkz9ls2T9TIA+LjoYCdquoAMuNlaegwv4M5Df8m5ayRRowydZLxElbzqpA5jp5H0eBtVsjrIEMmlwZ3K94xQgfxJdr62Augi8Hdl4hkhT57d3G4p1R+X+yQqUDNrg9WonJt7kGYIaKVVk1v4jHLzxjELp2vevf80YzRgIN8R9U1JnorST/EjmhPtg+dP8ug/32d6wE26aVtYSZqDqWa9rtRmgBfI/V2IMbOLXOPI4A0D+ixzZO3Ob7xVv1BIluICj+8E4OSj+H9r0a5K26xX2JFFDrJVhALOEizc8Ze+he2PBcYJUVL9+xsO3st6VtMeA9JZpjhNXNew/lnUha5L99ZpreCb8B/0QsPesf8Q8ecOv0/Kqm6msCP/Ujd4O2NfBcVZEa+scPrmrbDJRxBpEKF/BPk1YvjtONaZI285ja5vLBiF9MVFUA9e2452jFDYtLjCFqLnhY4hOywy4VqY22lEo80mT+I85SuTO5jVy2AMI9L2/uRQ/KhQVogLF0IYTv/80kcDLiQW/Dm/TgEMPXkNvTiGBx0Tj3CF0AwOJ21HHcRMklRM60UV6K5u+HGRBLrPrL7JbOLncVpmT8D6HmZjf4Y+sktSva5NcCNgw9J3mm94tdkgZfMg9UyV0hi4Si+qsJIeG9CI6UMykvarkj67iAJx5OAbXsci29m80ll8yn5Q4mCmLSA+1a6pfzXgVIXMLPeep+pAQYjpOuQEg5eI+UUp+JjW/h9wMQARSLLaLhaidXZ4HHkhPFLiPa3/WIZPcNRa2mLgAAAAAQU5NRrwfAAAAAAAAAACiAQAkAQCKAgAAVlA4IKQfAAAwlQCdASqjASUBPpFGnUqlpCMiJRRaELASCWdu/C43EOjMw2OXpPKz5vx+N1Z2Jll2QfUZuHeeG05n0ALJRltcsv4Xh36Dwe7Ueyx/Mf9vw5+S+ov7T8G/Zoa9/wfQL9rfufm6/m+af8Tz8/9/xT/vf/a9C/rE/8PlL/bPUX6X/o3ftgSV3XMbh6o/YTey1VXHRveqmOMmYjzIlGnilomHAMxNxlEN15O/V/OIbxSdiV6BCug5sw96zyuP4l8uQxxR1HC9MNfQFI44f+UAwCw2KcIfo6X7plZzJMOprS7iUqi5zhP7IBIe2YFCkIQbSsqXK8tarwUitxP9p3Je0ssaK4SU+qIEbZ+CUWd/TkrYjvE0L4pdD/+UzeApJe+Ctcr7XkGWD3pHPbY1sUX20ByUnuMRxNRlCArHDE16Gj2QfC1jlYc1ovIU0EEzkHESM4YbX3dg8ch6lNF073lbFVlGLqdycrW7h1KPEY7z8o3qy/2r8v42ZD1EcHEqhIbM/jzmheeGAIM2uG7qbspfFDGr1L9DUqVD48lCYnkzgAZOpCLInMkHPxv2UPe9tbgTopVrd2Q/ELFxP43gwiatRbmtx80Io31hc+GrI1DRc/KKs1nHb+cHlc8kARnVruB2zMdPz55RkRIKk+bXqJYA3TrlhfCMr8waRgJ+3w1/9hCrp+fhlUV0stABPSAgmTmn+uerYQRDWbLrjg0mJXIuTuJcA3SI6+MzZPrlyoKwhKc6tLmhq5OX27S6aLYZaTuZI10pYTxknEEl0o98U/H9NcGl7+P5NSi6G0fZ2LP/Uwu9ttWPd/8zJHkFsddZ0llRN16O+kB9MWrt8+ihD9nvG24YaNCOTAvNRrWFpJ28kfzIV+caa80ufJlp28RjHtSkqFUwtz32v4u0TWX6eJvJmjDvpPs8n0kTUWFZHGvMSiPFKvF49xVzQQUaVPVxYle8hl97O/Ez8sO2A0EVfRdAx12p95dh8AEe9QRKykNVCjKbEVt18TuwSBn4TFuAVrSGDxieVxwVKC12tsWMTRo0OwusiFfZzjS0x5if/Au8tcOiYDX2GgmAQiYNt90lI3k+kffIKikOfQA2w9Yuo/aK4P/4R7fYreuZDI6C1YbKl9ti0BE1V+k2SufHbl0B5pImvjbqrBHk+kbltt71hdbvgYJnczD5AERNjoSOQWwrcN146Y5gsxSMbQEZBSs+M6kdUWnu5qlnO3tRpdlylFCkW/MG6WIqvJ3ti9isdgwkBEMukgiVjTRRKCVgFAfDo81tyH6mHd0J8TlU6Nmo1HZfk5UA4tww9ZRFV5DO7RvYWOOXRlDC2GF9nl50fp682Cc+p0BhrL2ZZgSq36eIv8RXDDbqjElOmATdVb2g6HLQvv7KAr1wC3E79PEVXk+lHwAYAcW4Yesoiq8n0o+AC3E/9fp4oQTG9i5cOCIUM765AcWencwxTd+f2bypyUSwbLC1JUGVg4zhKL9DQZ/73QlgmcxwZ1omnRT9Unsrzo0YwpYfzwWgebDB8VbS1OScsBhHhCztH6gtSEaHNifE5IynBkJsiSY/Z4JJyvOmP632RCANSM11pJlvDQDc1u0yNofgNMNgAAD+/Sb8qNZCN1JjzEVf5bU8/Q5KAhlzCbfjiJHcITT7hV+fVY6tbT38wESzM+O5JQwnP/J6TCXZk3qaooKmR7/84IRo0aP/isnzEAhq5hZTk2It1LU/3MRmMC0TryifXVBlJTXttyPdAYwnjM6py7pfcsaNRly/ngMTaiAvRGQhnLcMTGecHkHpNLMy2VTxRDCYzxiZLQRJWmNoO5+GziXpdqAoT+o/wut+C1Hh8J8Vs5bLuoK3IZTvRaq/T3PYgX+qd+I9Erc9jIjj8xA+TIBAbqNm73lAXoHYz2SN3h5BiRYFFPVCDUfu52708xQ+Ic8ZVJ/9CByv/Yl4nwxq0lVrd15nrt1bBCBKhD3kJK+NJm9GMh0Cfye43thIRfPwnO7NgH4FopLHgyrWAXRJE+kjx0LQqnK0BolSk7j4csdJ4Q/nFHmwF+yN1JwGBr4OTTP7UTxExwmA0erkyes1heS9lqAogsSua7l8FgDPwJix1gvI42gg0tvSeCDhBq8/7b5v8G6BYh8g+Lo31ePZeaxt7XPx7frdpApgLaEF/7wp4wm4Vwv5GPxo58I9PMUz0j7oMNHfuJqcVadIYSPXqjWcPz1BQhx89LUwNi519mKQY61154c1ponzqlxLx6NOOvdKbrZnb6Dk/Wesu5Q9UpRMPVKkX2MKYzalDmRcW/hg7+Dl5XoELFrUnPik1+cHM68Nub7fEgX73y0lv/f1X3Dud7aioRBHEW0i7BjdazDEA0r30tD4JnHTC/uCC2gJqb9mPddYmHWehSf+qfZ/P/ivuWc13Iabki2GTO0Vf5E2havv1o/mGeHlKOjeuZxU3tzg9+XB87V+EwSjvKV1xSSxShtjyBbxTAIfgAZVo3EI3DBoYVXco+Nda4kN5AlNN1oC80maIoC1EJ7v+M9Q2khMVid79Yw/7CsqQ8ryvcd4c3uwXfWXh062KjqtiE463H0Wg+V8Fjq3WGWMt0Nxu9FYDFGo4bOIrK3yHUz5hQXoAwEE00ZJLogAdTD54gnqYf/XsbDhYkLEji8boaPfyVnI5u7ALdF133SaA483CjoPU2wy9b1jENc5gZUcl025Ig/3/Ztuo3mGW54nOMKFF7fybi2x2eZx8jkgWgMaKVCpCwaxiQlH0+UMS74P7sZujXH9+Hr+zHFOmAQ5cTjwbiHKInjmYUy9xJ1ZDbwHqHrmHz4/AJOJBUdwdzUp0uqObyPu7VEeiK0cD5Sf4O1UIM49CIXNDI5BFKUkhccduBjx78KPtxuBrkDNR8zjDLru6BIbfZGb13CvHx19Zg1zqslsDql+1XHROLLm+5BU9/jBr378HYUUVsFFLQeLBJTs9No2JS/Zsaua2K+pOgu51c9lvZ60KJEgZEd045VRtSIEA+pQLthzTaeffe0jNITG5HrR51FEfhbNAaXFqz6p0qGYD2k4y8sh9SQ6vizy5OgXRG3xkCvDmVU2UJBa2Au+53/vKJOInuwfoHLb+oWMszlz1jdx0T8mK67xMkGIpRNN56C2WzsUeP1XmZqkS252ySmQaLASBSEHpzEng57g0sOXje2L2cWdqI7YwZ/0D+o+7EyRx/ZODCklUxIZN8jMUNIZIEizWcrlUp0JcvWSvLK51Zsu2s1mgPUEu68dd6e6hKPnxD75nRGAAA6wPcCwRnLQzTmkNC3JR5pqgVrc7/TxARWoOnFe/v/vuU8F7rjcY23ov0prUPSsiu5ODpQ2/bRKPGAFC3UdIrJDzK46Fx5u5SW9FjI4lLkbT8SA6m/EPrO9LEwc1s4UncWRdj77Z41H9CKDhDqHDaRzlxko7eLOXaIq/bb308do3q/rXElQF6DkaxlwRo7y9Y3l/URRC+UQ3dq6GO7Nc4/xLISmqv3plHTREZGdse5bo3fx1jsugijF3wYV6dOgoYXK8lop4mN+ADUlVd16tyGaxYIzZPWRxQHGDSThoVxKj6Px3/1IoR2SDGKxjPfIc+1jOPmzJ9aed8ERvA90g/jt/kKHdU4P8T4q1wLx55tLm6X5YdeBZrKzO+SCvRKZsZm+Nup/LghiqRq73esmBJeJgDOVbX3zyZW9yw0GiI650BTLe+8DBdAjuJoZfIMPOX1qOY6DJ5f0DSKScqjXugamYq7a6itkbvm9xaB0nz92+W5FBNDtO5UcIzxijoD7QrNIvF18wbb5kmVA5GmRG5fltFephurDaXmTWbMCJ6+xkLY5wa/zoIPmVMWc6mCfTQFs9ZMe8UKtatjFw9DoGVhMzuTPXRAQkVxINT84gAJb0BDZfim526P+tWqUk7iWUkckxnIyVC7pTqNPOj6PfxA8WQfXp5YRtotdLggLzdeJMwWUF6weAcERSFUx1zdjnPil3g6JIDccC1eeT+mGTh0cIE0chR8JwPPNuNcJJgzzr6LI6g4tguz6gOwT30L7IwNYYswEuDL/9Gl2dfnGMkpuyQEZQgfUprla/6w28PNNmlcGNZ/c3IBYIxrO6VpsXBXEGp8v3yZkzfRjXi7EwmPE9ns8KDbgLfLWZdDWvC0kvR6VQfmEFPnZ3FYR9YZW6la4emC+rY2zOdsmES+pxFua+hrCC7vw6MavYXHSQ1r+7CnBFqSf9hhySW0T6oxxDJD6WNmJz6qtthWYwTFVA3Qc0/Au+TQKfFTA+lxfDFEOT85v5ed60OcM+ywA0P0Wm3i3NEB2NuXtGrpToP6udM4ti50i+V1Yby1wDwte5wvA3GTEytullxhWo4RCvdbqrLP2r50uq85s2zC0cKWaBoAXIgo6FeVpOPIpHrrbey3UBu79C+dyq5sl0E0OCg0bsG2Ol6VYiv+umVFr3NACW8Q+YWPv0uHZxObyft4iuUgs/g45Pu+5emWEDuU2WIdwfQcqtunsyFYEXklQkhXxaHXzp9+Kv+7Afb9x1I6rcFvTArSYzwUauYWLm8PZvD0kCltQuoP71orv0fqf00NQ5UPTnbOjYRVJBAjO1PE+Fz3aJR8WKBmqgK2LhlEoyh8HRv9fiJZ7FdObhnjzOxmUF1R8Uc98CkMSShfwzN9gIqcWMyLa8bzeiHs+rPKaFGmNKtKDHJda3VktYcS7Bspt/hwG99KdFGFD7VaiJUv7ObfOEbe2DOeWn3JO41dTQfY+S2rdxYQT+mB4r6ltkLtUSRWJBt5TKgq6YKyGcNhqzhFsVxU1+tfv/AT9taDkNw/mcBFxr7eDVraWkVGHwrGlrZNebgBud1QyqnvCLz+vG5G7eU0Hs8B7fGW6JjvBfkLF4BFKk6lju0dBPA6XD5lSThmH86f4Jy1RTVV9uvJy/6RI1bE5Ml2r4uU16joWJbEKINMgc6S6XPVt9mAVv+FLhCevHFPpaWN1BCfGhz/NaEXQs7uHTaBldva5NH9e4DAqtrkoazpINAS0LiqHw1IoWSlr4Si1PTHUxzsGwNc0ae3w+tJqDNWPgJ3JN40Bxk1dEiv34TtdkzJWXSGita58jL9On2TcuGFkkvhEhJCluwMzh1FYpflwTMeQEsH1w1sFTITFv5+W48jGM4h31JcACubFWaEMspiwCHoy0B0C20RrFUMrDYq83Pi1TzoeBf4zhbEy3YH6jEMVc2ty8haNmNlnHEiL2AxoOabxj93JgpvOK7sXzpfAZcH7n89FOr7u4VK0ar+34xGC33c00zyYZJuU7icfG7v4TyXPOGb5EfEZf7hh6LJyoFG1wR3m15qOuRTQd+TLv5xWACgd9Sy/NP5Bpk0jkk5UeBKsc4RNYuB9OhLKia18gtton7K9sET/ziNDeOAwnQe5uvCsVlxa2frluAqsGF0q+VkZkWT9dQn1kbzgf8uLzf/ASojHBXWaIF2lTKbLIlx4/HQJFYade5yFCIXUsSpoKZxaQ6Sa/HaXIDIfRvbfwqtTXxACPcK3LvbuXcqGXTKX3xgHYsR4mJTZw8oJHBlBoiGL5s3PjztQzWDgyo7qldoHFx8nSdCrkrDFIobl9sR1Mr1TbIKS9jTcrcFpKIO1Xq8sg6gz/XTT/5MU/KLuwK/qNQQqBYwdMwdWOrK5ft6eAbt/t7Sf7Z62jLwCmT3OTTmdzyQnU36LUa/RUg2VOfsWLHUoaXFi+alBZymQs1AN5hmCNYbw4N1NZfY3FuCMEQ9y+V8gdA0T2nFpQTH7hfNbjmbfC068UnsjaM6CmDmrHK8QQW4rKwg6ozY2rL+/7vDEpXkBg2X8JtB1lV884KOQauGwqfPqHoKE1G9STbL8xAH/C7ixZTf0EYrjeXC9VaBWVrueULJkJEj7lroWNDMnrUD38A0wmfyTLW4aMf6JRgXe4xRTfVRITZmGG63CuBFiqnJzQhnHHt7YrznRMF6sfROB3cJtFSqpWUgZX9l3ci2YfO2bsOeT8uTGVbrna0Mj57nCJZCCb70Cszv9jfS7OoJVzmCTO8h0IKrmlrERLOJoE5JDhxLJHlV1DrKkBF+SpNgAwzsML7Bmx7C2uUeTefja6M4kU6+PsQ12iSFc7XAbl3MqvVSLkklUczsmnFlxIpaJu7zMFjZ4grmooHrCvgUAPt0bFNDiCORcw4w3hN7gfHOfIJWW5JktlfuzwKnoMq1KKlwZZ4ICRkFlQ376eq0wcEV6DL4yyps12f6wqmQa+EThzyUqz2R7yA7neGmrim+iHBeT+9gUOoVWu1Wkz5uaANOte6AcgoK/ux2S6cZsBi8SFwBuikauGJ3+/XNcKfbwBhHN5R9cXbFjsXs0fjzl+biiYE4eTfXo1UAJbkeuBSCi3nrlLfgc5vP3tbiQS9kbAcokMaWqgY6/97K2qf54uAWxnRoetYAdik0jB5YEKG5B89S4TFVFnR0Y5qR7tgUjQZzfYMLxc4o+fzybqm6I5eSoYGHSZqf1vINkEsNXNVoX2bTTFAoyyUtLge8zKCLHoXBSF+0nU4tJxgvXyveGr8//UUyvt+0T48J68gVzZU8Q/L/bFEpkXTYsz558I8rl+eMexEACKH81ATE4fbWHW//71H7DMyG/3kQ+dcq63849F7pqne9Cfs/vehFAdWTjLgulEVOHd1MqupmIqJRqancg2ObIU1FiYTIGX+YzqZzv+ovMeIXgQWw/YmjnotSeIJQ9dfAyeKgaxPDptklrqEANQwsqEgE9iiICMFhAfooBUjs8c/CrcFSsSZiynZpiFQmhK/JwIhkfD/lppOiGmAQgBEb40RGCoOGxizl57a+/eCktghIDtw9qzAH3qm9aMMHBNME9vi3g6o/abH5/qy5uNPQNH89rurqGgCcmt1CNuQWX0bDa5dEOpyhwF4XXNyL67/scgdSNacPRcNuv6L8+8Sx4yXex2NaRCOno1GUnH9JPWiMYlo1yZBEK+H3KqXF1qkxLTvTKKrfQiy2c6hH/B+dK8BIFnnVbhLJ1PZFoEvS/nh+OovXioZcXtragVfo98TL6MAHPaTvbv8GbxyI6E6ugj4IWRxGlR1DdKmKD2kx8nn8NGKPAXJ9Ovw/JPuIEQUjWWSy0TIjTbcwztj4Cg+8bq///lUd8daH6gZn7jAfy/yW84vYs07v2MmZF//encRqAEUqqVUAIpXm1cboHMptMaNfpNRWN7XDe1vDan+qeLxbJfJRf04JPTaWIToS5rXugMw9EYKo/qKeLSRzm7/2Has1DYuCyPJ8QHCEpIE9l+UM1V61L8uUBE5bQm0jCSvyAiOWA+++6vQZBZ6Z1SVzc+a3Jmmyx3L4vcLd1PIoAeMuG2d4a+E69j4iJGsvyehWaissB1GXuv/OYyjuZRFp92VL5DvWYaRUp855/DpkXgDRE0xU0uTvxhWlBvqbQcqqm/AesopzRTppS3nSlHki2xUKJQZfstgvEm1KvJpscYuvafIaVaeShSvvurnBhDnORhEMJQnoyR9p2gXqtiKgA7QfbiRVBrozq97aUsjHJDxDvKpTcSd1OVuakmef/bRF/a2FTLGYVns1KvM8/nyPaePtklYE2bs/oomH9GLh3QyFnJ3Lmz9FroBlVo8QD0NIVbR5iOiGKuEFtsgfTKAG46hhVZqVWisBTKX7veB8kadqQJAfIjeB7FIykoxYij5CU7DZR5Wp/5T8M3+ZWNkT3jwVyYASzI3DkZ5u84gxQPc7ehsoQVDoxPdPy6kdSvN80m5Xg3G/oaGOP9P9Ds+5/Ulx/vpn3KJoEFI/0fnHNlRNlWlC279sVJVBOCtcpa4dF6Zu8JkkKCYB187AFFbBk5930R1oTGuRiwj9U56FkMDe2qsaY+VGCtRlUafyBl1vyawbEzbtEGoUH7uMSAGNSM8Nt0Zt90YjqEkl8XLrJvPYB3fMdAx+w5IDtkF4joOfnOPYSINb5/lGsn1zs9nT4TDH/ZImVSqTRc6g3ri8XpXVEttyIr0THgXb5T/EmCyE53cP97FoeDAJ/oQHnYCf4+LTYLu9Iaaq/IbX4CEBUWnK9EuCLFrvNymKEZDhrv+nIqHSiLlUtAWWNrrSmaOllZjrSgifgonvaYvhHvAao58yV7zOippV+hfhY1a8yHZt0EvQfKus4m9m2wUiaj7YOrmN6Shk+cIJrW8qBEYEHIGlETUY0fjQzD5uQybF7aeEEsZ9eWxn4gwH2cuvxly1M7SSfR2gS4NLBgigIlqvcIML7TN94a3JJTtVVpmhTPNhzb8V5u47XRvOvpM7kjIdpVh8sR47UmSdZ2LcZH5JXO2iKTQg+52qNpzyk3KPgj9DiT+nHklb5tpWYF2OeJ51JZoflby3EAG4lX79LvHlGfC7dqOF/X0EFDEH3htiYfJLLBF22SzxYkha/98P09hveEYSJq55KACchj4vEcmrmbVGsTdJw0zf3CqvMGvx80GintfL636oMSlL1Cpay/c1AiGHQAeVPsgmYRwjXYlstcDOKgqoBTcDYCm6eOe1HKmVS1FFEURN7QAKpUva2ztQ39QvFit0TpmUSiwrSCakQa8Kv+3QNO/p3cfbUyFaDqvmEv38ySNdqTw8hKJCEn7wvtNSfrziDUZ9iV2Snryz+HA42LOB9COA4QoxVSCwFP4QdKnOx1fVi8fD5xk2KoXkncIiO1onD+3kEZDTtP66gjCQ8oRFT25YEdbeER7sNraQsHeCug6ypity0V6Qe2slXZS0KdJKZBT/qsAt9J5QDygERXIBcXOYOhhe5kRqP/sBEk08uTzsDhicK0xy7yIQ2pT3+wVZfrMiJ34BHV7MssIz9rZiQad8qzoGUDMAuHACWM/0EoF0du394y1IsOZzbq/IrjriJtdtXpR+020Grmrqp5oh5rXQcYpOnnPlbqCcf4J8hDeYMa/fVO0QN6AABM8GHI/uKx7lLWQ7AqCKOZXFepKmdy2uRv4IxYJc/bnsI3Y69VWSg29xTlaGTreQM8zr2uwU/g/lg4qEEoDnyS08Ow4pFp5l52WKd17CzCa9mLG5PQiShDWAEPql9kP8Tjz66wt96Utdj6WQFIzI0sJfcf+YTiVy+8OOyhzm662rjW80aqPBJomA2ucMwDOAKOBcY97s+QhCcodLYxhIEle8K3IKA2LV/Fi0l/vacIj7kXPIMhP1kXhJ9VnAIN4CzE3OPMiR8DPjP0EnrCge9s1ZkBy62Azaf8HKV2PnKgBbnlUwrBPXNFWLcL/zgHceU1LYUI7Ulo9/yOsx13T52KgJqI/onyjIQGBothv8JTLKa1cNUkSodTu6wx5RXoEfAkpdAA1RLbtohBAiVIcRDkR0VhudLlb2lK0+17jr4IdVolQbDuLju9i9Q9pyDI4D2uA7AmbAcN3ROhqgZSnnCEW8AHNyt9HS48DIy0cRnon7Z1S1FPheqL/83kkdgsTs1ogWo6kjUV76/LcWjlyr7hNmUwbKxi7+iSO6+t42eTjtNgTSDzWwaP6DaApLOv+ONUB+CKfIH5wkcvZiUEB4RupnjUHkE+ZYSsWy6VgwqJkoNR+GlYibUprKgD1Tfbv/zEiO0T5xcAXJ7xfFqbXK7v94eGqArTIsOwPfiwBVidWXGPR/0SR67iAcmEM+97leWbbubqLVE7Gr52Ui+SJDeCyVEraT9VZoq4K6iF3N75B3xB1ilUjoojgKVR5csUjLhtB+pcK69JK66EPVXaREDVYoNQPnOPlruFjOjfpMIJi067zukUsofTHBVlnwmeAAJYSC0Zvgsdej7OIP5LNVL9RDPwn52wgRsg8FAb99IlNkujD8DE6IdZI+U1M6p6nlwnYh7JbjjVxTGaF2Cc4ZWyERrcOZF1ihVTQS7xnM3SpmxurPYeJOCoqSvg50uJ8ZA10wzW1RUasxgh35PqOuy01pcABRPGjEzUjt1K3o0dPAN2JhJWqEtdIK9LvkkVvSU2xre3ReCM7mnFwgRmWLxKXdvjecvok+QQAv+wPw5d/r0s/zhP6yYaKWBj8Vzu3RqTqeOFVRiXfTZAQ5yhHwYAhfKEVqUZTqSNEwLobz4+lcfnDTvTI1qWlgKVRy6mkKn328nJ4BkoNG8IZT0nll9qZ55C19Sm6Amryl2ssbNFSWqWgMSUaVU81XAdSwd747v6KuXDURgUz7zpZMqKU1LgoGH85bgLJJQvxO2IE0F0QRInKD9bTMBdddr3NmGvHYTuPzJ0r0Yta7OLV/LuAM3bBVwo+uxt5sCLcGffDi/Ms9Xux1Mf5c0NrtXYxiqp50SVBXHS0geOK2E6RrFXR3bqAoEPAc11itA+Ym2dBQ/rYPDG6nY6jVdeB4uiBkvfDzIznNgGAjFngKHIu5Kcm5XV7EWBHmvh93qM7OlNXBLO5QBKbIqc6tpw21+3RaNzi85NpMazt3TWlvH2+pgVHqu1Lx98VUsLQ3/ZbscCTnKBxkEs/8TDuIsGfXRH7wo0E29ZwFZMYrq8x9SNX4ReDZoansFOxEwgAnGBjk0Q5oFaRI5LIHxQWVVL1SROTLeBQ4wCbCbFvydpfwToZ+kd8qAbxeuftU49dZIsKBCUwrgSXWldNyy9XZ8iB6s9iFi/IERrOvUic4zGpPKh/uWR0SLuc5of2OEKZLEf/V4XQKZnNaW+XGHeY0VqHYIzdUru2F4giDioXPlQivFYDE9eWig6Q5FfG6IT54TNCJNo3L5/fgF0Z0XEdPH7arKASA8/ycoHH5PqrjzMmPmzu5KPvYOr6y8NZx+qms2tj80zjmU1er9UDTFkhGHXnRtQ5A816QVj6D63IfEXRXVrd9BDYS7A2s2eqoJeCM6/GDdRE8vEmmJSJ6AAABBTk1GQCAAAAAAAAAAAKIBACQBAIIAAABWUDggKCAAABCYAJ0BKqMBJQE+kUadSyWjoyKk05ogsBIJZ270eHisa/gX9jK8A1Nf7yRPh4i/5voFPN+Rg+H6hNwx/Veih04b0ALJplyej/xX/J8M/OhPZvP/EeCHZh/kP/J4Y/I7UFug9o7rP+59AX2M+4+b1+f5o/wnPt/2/Es+9/9r0GesP/yeUv9s9RPpi+jL+4BIxp8xuinoKOXZmtx+ybG5OQCCF2hA5REznLHZeh3aoWsVzzM0r5WrIaqv07QCQx4EKsc+H1IlybHiLRqp+6Z9KUpWgdiaai1A3mtQUMvweFujqA06zr8DDgDqYvDuGtfZN/AG1P1bocr+1ivQ1xnx4TozaiZeOuJo1n051+niBkLpcO0Nu1+TgfjgVN1eZjZ4i7Yb1/xvJpq/3mLD2HVs1ud7GKNCd6tYNOXVUe6QaczesJsW3OYEx9yeoIFsj3jpjKrHK6dHSLPDfMDbp4yg3VUxzUEnBkXiFu+5qHenfsSRNx/qxq4UIUcY9PRd3fwvkqf2T02UY50V1vzN8w9ejU4rcj8PPnpgqmOSAZ3fpUbdnOy4wVn0VJWjpsWRNYfllr9N5EC/wt4opPVS7Li9VPvjsgYSGO+2XH288XnZlwb519NUfCuD3Liyf/+5cEKYuEAB0TEKHIKmSAt8IPltvSR1jcHpNEABO5jj79LRxiudKmeY/X6d/35Fzk9kA9CioEP0/BArignsQCn4TlvzUDRdk8FreIvQ2/7jhsHP/4lzu3Ld4tWBB7nYNlbTCVmMu32Uctxrou1WHvDBeav1IqTw4ZTuVGb3dkIX4ALP/FNOn1H4Ixak+p0p2NbXUVjWqa5FQ+EPpRTxggedra48r0lWT6ZkrwbqrANjWQasXjEAtwwQ0X7e6eVqnuMyubLTCi2Q9hjmZ3yG+t91AV9SMaxDjzlLjxdEkxjMRUmLcMPAmBtCsGib/TxFGxhd5ot2YOyByYPMFVATHrVI8hJy7EwLYEJLRZg4WOzuntS55UgT90ZilVv08QmTQkNOR1dSgmbAzfmX3PhnxlY7AgMiVaXVTyNtPinATMpMEnMw9oEnjev5JHhK+Qf/Sz0EKaI+PN5xKqZKJht3nzN+cNGhn4fK5JpfC8d40uimJUUhb4gyvzynJc7gUAdLxPl8I1uXzFxQ9lJ3qCQmw5nxLqQlW2rhITJXzcRR/kNQKhq6dnWFEz9JgYO0+Ifhknc9Im8VbMMlwiR4BuSMvt5pOeW1AzTAryu6+CokxmTcdf+v08UIKrzOB6uBGSdm+JoV1yJrThgUfMaXzpVY7X8oROX+hnxqXL/5YDgRItnnEOPF2iEfLqcHABbhLNG+QKHS6pfofs6HETMRtwhPY+pqBJxBCBg8tDZ72KUWJvgFvGX6eIqvLSjRkGAU/1rwfvqEX4kdmpjzk7w+AC/w4YbdVXmcNuqwzIiuGU426qvM4bdVXmj/1+nihBMb2oTZxglgNxPCtlQkI6+PiZXDAFyoc7VWu4EgeydIM0dull2rlS8nBamEI237ow9xbnlyC9GLmoru0hY758ckSlC1Cqcq2wYL2Ll0aqDpQhfuQ3u7tlLYQ23zKN3gWGABJqSCScsToyYKFDeLGsQ7h1CF5wdcNte0rKnhMeNMRgEsaAAA/v29SDnHk89wwMhaAbOkRowiQWHSiKkE2ne2ldprU4yO7z7axzKgwL/uOsD/OfPA1g+Y3/8IZcHmWbxbtYbqX9h9u9bCLdkYWjJJtGlVOzBVlZcFqCmpvn7EaOTm0tia86xnK7ez549+QyGh3AFaUQXrHio3wM2xBhuCgNH2IEPAia/D/jg0H3P7fXy7TMmvk2kw3xjuUWwCP7p+1jwbXhyWF/NtYtMYV3j/fI4PukQeTnPu370G3gXpsijV4XJPcMLYewttXAPrxWH33yj9kMQpJd7cgwJDwlQFYQ2Na5dIVHufdLswYIPmv7sgBMdE27BH+r8lTuy/YlicubgCxbrc9tOVbJHl8x0M/4uhqN0unAwLlK85oLw0D0Pa7iESgAAGY8E8mHd//hx2eONKLm5uwOpt4epDbb5nQ1ichWQyn2Q8+ieWrM09GwS2a0FgoMFPCWZuECMHjguca6fD/R4VXRREWeMKzhAMeV4/iGQ/8PjRbHZQPr1kvNEE5D2vjGdTUmFmz29/H7LBpAP0pHa6wGaJKyKRpwSlXYHCayXj83c1K+mWJk5jWtystmY7dWJf1HxwYijh6764+vOo9FeoDQTnLIkcr1Pz5y7onD6PXqwCsN9f5DZ5Y8r0py/etst/9jo7/Ppb3g0SjnyP+b+hpdHCrYzk/XUaOWcb8H3VC7t8RcSiFOQPx3HimFdiwD//YJE/+QO2d7uavjEBbjYS904MnaNHTiefTOzv0RJ0O7Ul/fOHTFrAvBWHULr71C6iev/GQWvfJjBwnOwzvCCxsUn9shQLf5FHT6ti8tvdT87wsFfLM6E72456kSe71YqWBDR27bSceal+zLxFFacXR5uUcom+ACVwSLJ9C/y9KFhNzwqgm+ZOLXDtp7/jDxyLTOV37yhXb2I7hewZBh/mrjR2xSZUquFPFcr4kk6d/7jjdK+uH3gxUXhwmK2FA+KR41zh/mbJHmvcEONRqwKIn8GsLKZOLrr4j8GFxxPP0mc/w2qq8GJts/r1MjpZD/zwXCOivtCPGyYk++UULYYrsqt7sO46+clfLWSqLPt5sPuJiHvVI1Flc0gR7XULYmZhv0SgDkO27GHjnhVh4SS+h6SB0g87Lkouo22GLQM9rkIiXOaxquLSrgxTiJhL56M9wZGe903kFJbx/yFVPXAksSkeBMX92IE2i/WDxaDJC2EKr8fTzSVocUrc60r/Te3JyXwweR0WqRBr+2+1Z4/2s6WanivUROe0t3y9uGiXT+iPEEokIyi9K5jsCF5z2VXxmuQQaIaTRC7iNKB+W9bzmmSt7lVzuWctkgLNKm2iYNmc+MrpXbDidl1FvQccxRJeQaMclE3Co7qnw96oy064ygnXge7ShRJDwL/FysUy0Mc7+6M6HUftUc2wabRojstIdhhHcOJ1QfRhqZOSnp2uf+VMCcoXvJ07dVfP8gg3+jYZ7+8m8EkDuvrUIYDXRBQ7g56gDvaMN5VsC6nOmbMMiKCChq47+JZA3/DP/CObNFXUTIikcQnVdKRnen+7zbb+K0MsAp4c94WRgSD2tz/U0h9odYZhHWRK781vTSpWnq55uyXnwxuOBGpOW0eJPndd+sxGG3iQwzeltqfV/hJ+C04CvDpAQpfWz2oEgl/+kgXGU7jpdmpYG18z61BcwQwu/05vulG+Av7Ptz/FvPUR45y5KH9Ol6lMmGX9sv/73I5UUN/3vqO98MN8n/KRZ2PWU6BKqBpuu2nlTn6kiFGFLH27LIepbOyHthyeGeW+k8N3v+KxfauLR6IlCdoOXSP+q9SwPKIix/N5qGH82AS9Y0hFo8FWOmJtSC8cw0cucq2ITdxqWiSCzo4Vl8PTKG5ZqLvqX7I4DaniznLNtPVM+IB07ZBbKH0TFctfO6iMEFbXP2WP1cYMmm5p3tUZ7Fl5RFcE1+R1XYLXhr0Jb4BHKCFjWSb/M4KWG/oDoFFvY0qNcWdnQhb35WsAOZdHKQT8IT0jGBncJGd1UpFmSYJzGfGA8c3foYsH5Pj3krwQXTJwc7xAgNmmmZyyU6tt7eAKnOnjctIDhs41xBNeNFv3/pWRpi1yPooobhViq7uYJX9oer5w5wQxDZm7PUQG+vAAsr8mTUHt24yGYHZkcw4X6vfD4s8yaII+ItNq7FcDC7oJwuMzE8wQrz0bqlFAzfsT+9naJlDysz1z2x/3MJXN0G0am1218lYGi55suOO++DG4nQTGh8BcsPkCEmhCdeVyahcpYfBhzKHJA4Of+1/nB5bu9lCHMpMGP2Os4QjkcUsBT7aRdWwdR2+ramw05SsMfXtMtArfcIxwqp8K6bGqbBZ1c2xL46749cEhMRbXDHuQKpBKyMAmhCFl0pwyJamvSa5Xk6Eo2Mt6mBuUakYCHoPdNQn+h4tnlU9pN/7xxtcnQkL8mRDXAbwN7bxRjL9RE9NREVpebOauPFDYldgHgBy8ys2L9ZNZNF6dDhG2uaXpHPwM3Wtj6iz1YNlvMKh8obbo16egV+w4KnugQ6Fxa7gHTg4V4QPPfnNMyqp2vToRaTEFIBZ2B+dH0GBotuqibgv3ebNTuudrg0lxWuIRcBmP8PyWuEHgMHk9vJTzePs6ISS5FRgwn9V7KhnlHEOe5uAPNIOlZCUnQfpgxS85/t/GldLEHQBoAe9Slx/UU5nIov37QKRI2QmdD91TjWo8fxVCiU3SeRsD1baXv5d7Qy5G5gIzpq8FIdjrvxFLdfUiupd5/q4J7XmZ4CH/NIzNPPGy/4yT1UuAlNH1FU+Lmy6+QUGVpNTZje08rBMccZ3JLgKmxRWNA/AeYSVmQ/VVfU6gtNuBvwS3mAGEcLNWrXzVaeuWyqXOKU78K7JDwqHv/gxs01Yhzrh40OeRzWFC2gZFklcSl49V2YWXkjhV6ZJhPXX83NU52pYVac2lYw5YrPcvsfMegWVW+upeObO7ixxQdehfRsD7FMCHlYzAPwstGAuxspYO0S59r70tFf6+CeBaMuLwDRKKP/86bybYjnNkn2mwP6b2NNwO6nQqRkmG3NSjrmvQ5iPHSIrVgCeKUUE7HauWE9FmadILJ0QM0DzknnHp4V2rdMnVIhfBQFV9mqSkLIEunPwC5nYQFoA34gst/954T5cb9ffIUtDkCXZjNlam9P3E/UP5+PAxDgqew9AI5IrkgrAeXYmd4JOjWAPdI+/iA5aGduei6G3Vbrfd3e7LW19/I/fh3cBJGAn7p9a7qWJjUt3qwhX+Xyg5hETjatIdccWE5FxjMp0fNsymT1eb8zukSZ3jOht6aeyXHcgcmc934jZnmP2K0+9Qc0F8eKzw7YbgFnXprrtGZiWpmko+WcUiXkbOEK6lbZ9+77Boz95SB5XQNoycySYugJoUGICZg0QrxRarlSoXfVByo6UvYA9sLfnre9W6E75AnjweayyMCJiow6z8P0YkHR2XDmlQ47Whlklg0JZCoYiG1dVSx4FV8pZhHKex8zxUko3rxZXBrxJtsBjD0i0ZWohvN77R8eadUqgbFBXTv9iqA+k+qBaSmS7m7KOeE7l5kDpOLNftnvVcPob8BtgEgH8MH4FOQF6sG2XqrP3/nhd77QoVVXlnSdJQVHJrpqcPYCKH/gYIxHWn0C7lp9ESHusNdqDZmRYPkrKhvHLY25GXJksmvbGO1BZ2uE4Fm7xhvUFgJtJ3pBNaOlTt/czRXVS2Vw7loI0kLNQcRZW0gcfi8JThybXo3RRUroPzndVhvSHoHEA/T3YDvxO6TRtyxXhha/NCHfBNUTIs6NyRzDQYGh0aYCpVnwB9B6Mx5TLmm6VLydxkBN6SEhcfAt9ID0jry+j9ohU0rDBYsT7nmXNUv4rgBKngk64gBkHOrJ9dQQisIBTz4XB8E1c1WqwiLbcVztBaMLSyp7giTI5kMrOKOKQmNoVZLHATEY9i3OJ58wBde+oBqRN8iPmvKtYMdO/aWHBl44uInyhY/fAw8A+3Bpjk2g2vr/SLvq0JFWYCBhTbc7ncj2r3/MiN9cJ3UfCwA93jvEzpUmum3dhXUY2MInLvrJhVsOQHufb/jQHH7DPLRADP7l8HXSfn0O/0TTDZoKi+dmbvltYKxp5tjXjbAYMlAmUe/FY3a1Dv8Ygai8RnFmTHMB9+JCfOZ1n7rM9YguHoFavx2okfahmRVNRMDA+qPHmanxmRtgBi/pUArVRK+tvGuICEM3vUxWplJN97gGRaO90Wc/ajcsSB+9yUoCvdgglYpz1WAyjWg4HxskK9bv9URoc+0l6Zcm23+CldUsffULkUlhE78qtT9iJ8cr5iYekJTBDmNfURDO+Y3k9rlGaVgMIPvQ1OqOfegThxc2q8K83opObZD1aKf4ZBRDQrIZPiWzsikCCBJb2lpZeVbpySD7cGxOIIHbsqRKVsMqY2EXGYjusQlr//LUfTcdhDSxNIGzUHi/NO3kN3IUNdVaEGGzHJFJA+58PSiKKmBf8RHbZCij02e7L6FPQh9ihU3zPHvThR1e8bkhxILSRlBDaqzQVC7BmdJAkvF24Fai8NsDwFQ0c5OxeGtEfv6zWTCpV/VTlu2jdmgr2kNq8S9yu8z3umpx8HwW3RuuN41yX07YNd+hxoncfsxKEPd6xl+FuL7OAtMexGsM1n999x1l3YVeZA2El28BdkUyPiIwT/+tda5MJ8r/zBD4pqeMpyWfaxBd/Rf5go9gvbxvQsVEh03dOsoWxNHgAPSYOqfUiC68EaW00dm6yrx9rprRd8topD6cWTJz4e1L1belHfsX0wM2oZXLNJ6LZVcQr50FYG+FE35WxnGqxhnw+v6vJIb92ME2AKDZF7TGk35ukpDVQXMNiMu5hmSQi+UScwm1GgUcSOjTfVPvhIC49Bb4ZU9Mc10YpLONs22En3mHMBrEJkKIOucKZIrK+U/9sIxMC7gUdvpPCcdsrBPfHAAIgivu2ymcGCEsWNyHDT6P0EU6SYRa6T7Gi024BWVuFhMFL4IYzFB2tjg7TDfRJogQsUQKPtJrJhpYtQw56yMrvM7CPZMFX7G64V+TTbqQe7IRlP2/FWuiHaRiUYMRl+3cOHvbDSsDcvneH9CyC5y/urA7wDyvTgjkC8Ug1I1FWzZbVnnPF2dIZ2oKZbsaNuT3F6AbiWEiiXI94h0Rwap1+Y3/OZMoZyTrV2kYDeP5sNSEi/dqqS+7vEf4/EiH92ohRG9nuNPeGeie5k9mClX9Y6FfntqSoLDxKMQnyEKb7LJfpO8JbE26w80qMRbqPXyQK7kmtdiFqpavkhPYv5DPcOkHFVcKxLGM4Tbk4/BNJc9eOMMsJJRF+LsdrHcg0Ny21qnzW7NjNcFocW//oQlDa3c4+G9X76II8s1muSbXHklVPz1gOR4aqfNrXjVIjFrcxGvV97jQSOiHOkf3kXrxRnwWHGLKtFxeyJT/QJwzolEkGCxieHS8eWLla9s+lzpFRnT6qrocm9goZF1w7cKCSN/MZihtCfdxTH+6Cmdq1ukOG64GigXyWZOTnKzBvDmBPSQ30yPYFT28iEOSZJf/W/lVvgzhGX9/TqwUGCsCgCkUDUiXT//+RHx/t6W/yTqPfPpr9q7+fnF7FmuN+x/x9hgn/JC5WJspYJw5LYFmkkuznij0Y77mrTDuk4CUjP8lP1cWa9Xo5HrCziJfCn4eVHsSRDIJgjLVDGyqFu9/IsbDFQuzTZtMS8UEp4tMYejElml2gu3mCOfam45cmfSiL/IpRGnfyv2xzIaFSwpoZuqx7iaN0BrMXvMvORidadjP7fsxUNqT9g6mg4Wf7RlQZ+u1eRuof6Fr4HCXMp5nbLgkJ3Vj76iU725whDMx8tyK3MPvMhr5rS4E8o0U75tNNqVRMtrVH/xUjGtzc45eRgDsXj1QOQX7qDCdj1ShVyH+XpACOPKa6r73WOZTfIA5WktKN+ckB8VdG0gTJXqXqLUcIAuzJVqYwRhA+GtQMwcCw7Kge0kHb1LVoD+YtHmBhDOm6tfK4XQZr+E8Gw4dVpo4r1JpzFqrzdWCWcxUAmwwj4NbYcQPsAcOAlJzBSxoVIYUZ1022iTTmne5z/EplgfG3kTMVSI58i+ttZSlI43vvRLJlhDYR94O3HJyVulvfBOmEmI1RgxilySokUCHCIeXGnEgeqd8sNJPnjiOc3RWli0EeyaCvnVDMWMtWLgq6rIFp1ShxdlEi/5v8qOo+i/FgMmpmAlHJU8uKBqYnteajZ9pmSqo+Lm8M54mG1vTz+uVTLDkRxXLXkLx+TW+KRtOyzMR+P6zxEmC7se3+KMGKQ/JA+XaRTfB+EB6UbT5I/0qvncyeSl/cTAeKyOAChnIH2Vntcw3TAzmQ1Q1kOGTu1l2oMBslT/X48C5g8icZXtJc1hZ7ITB1FMB5NCKHFsT8RwDyB7ZPYtSGRltlgtu2kaI7hAojUKj0mPQ6I7E77umjerzqNx6UtLtjzs7znhG4+4t2NUSDkqRYRR2qiaBeaNUpuOyN5yMT7hjec2tBd1JOfrcFKGGKVeQ91JGcvQs2obZWslmUrWQqINV/OOzDFCRmzUaQ4E18pOZmtKdV+TX4e6bLf5uvda5B9wonWpKxyEwMX4XbVbGa71vfdAu57rSn2mrboVEOkFDtbMH5nLSC3YP++bHA1FA9Wh5+m8pWVglVV5vpWWY6pwNysrXSm6N5LjS6Z7ly87WLMQJu6Ijq44HKRrDhPKBSfGuSuuGQ8EFR2wm1fR3R0p5/T26Xr6A6p92VDN/TFF6S5l/VCGZXEDmXHZt1DXDoy4cGCl3fDD40rk3DbCTxHi6uomg1dr/05HxTyOvjeiYVwWzBiI/wfrpDENdOIvVsh9+JbHfogO0MKhV0UgWR6PEMPj0Xw/EjULwyZG3IcIgPO5iYUEICVw4r5qfCtuWxQ5UV8+QoFYjMyEuIAMdLDwb7W3GTUbF7HBdWQGqggfn0x/9eMUM6zKD9V9QMe04MwI4KCNzH/QDQrVmLdv90M+dv4ZuVXshBbqllwQnhx2hNYbcfnuNaJETELbS0HaEd8A6cAwq16ySgnTKdC+ulvHdIe57UC+eQA5MCcPr6f7QZwpeSvgBk/U7QAvykHr/SxmH/PrsZN90IHf1rM8MC14Wsr6LnfysnT2l2Mr2ne54w30M13Rd4dNv2srBaqy/Bl7WBYMHgtSBXniW1zDpZPzuTLTGLMQL6ARuFNKJ9tMqYh0FalVB73OaAUyMytpqDfYs32D6tVULo/IJNXXf6pVYxdry2Sjth55pk5z9IepjRYc+tQmUaXHAoQi8STb37Up6S/98Y3Isv9S/x0XLEykyV37v67+0Dpe9/bh1Qvq3m9xAyuf/nzw6RPtj0npcXV233Je0XL5y3scc3CYT74x3PowFjF+65JTsAAGnAxoS8jmRoz6qxHgn8uoQYgqCldHSLIUC0GzJfCWsurabK1quLA/cPwaFc/uqd8P2Q3LEIXfabTHnLkqWU77vJkjQkHszwLUYNDBBKCinXXMxNVne9zX6A5pPkTfRAnSH30LM0J499yAjk0UYdLJ0pIN+wRw9izWBmlKn/DrsgU2t8bJn5e+iOJclK/U7/LuBWQn2wRu9lGW8o6oscDYe7kNP6L5ueYs1sgFTjTyHMNjjzi7qdGKpVfDiAd9dmNJpGWGWLYLeFlS2/zorwXD/xOn2soy+GwdZ+KoNPfex+fP76jJ8rPFdl4VZyZHC/rByiPM3M9RWfkDNnQ+mU7oW0Ng37rB98uJqKnThVpDfQV0/n4RnuQ+C2QIS6jXqpHBv6nHqmYJ4AMq0nU8x4QZt+0nggaDqTxL2k+f9C6DCFksFojZ5CTYGfEUIUe9yEm29wnbUQrB9eiGiaxEsjRyhS7YCHk+jwb6lzHM+0gae/uXSF55OIICyV2UUDFSKR0ikwFA0qzaAl8pD+Ro3wNxbXgUlroMCj0+N8cc+GL+xOf3ABKIx9fypWF+ur3zrWFWW6EtXQBHdDQ9OqVh8wXNYk4NkNQTX/Hg/0YdaxU/KnvuOgMsS2eCcqIRBvGohfWxqE9x3xWPv/8Bta9ArQQj91ylvFpp1MMFwceuByd2hI7h1qNjw8syBU/5+GbwQwEiP3Z8yoA5THFyBBV8GlmxbSGAIFlx8RxnXue1WRmyhLEqa3kkR145ujYOSj4CUmejrQl/AjBGXO0v1vjqx7x4zxv5gsKN0bLQAGyAgXKPsAAK765Pxvirq2BH6KPzzSRMP48dq6GaZ4ppXf83zv08VOYAqNMmNzjFWKye7wgoygoRtuYL8S3irnwnA+Ns82xoZvilbzZ8D46hNVYvCYZv4Fb7k3rUmqt+oUYFvfsMzFgGYFIgTaoW3WFwZzfaF5eqwmFZ8UyxoRhamR3lGqc66begWZDixmHYKnPkKD8Uv0erIo+BwE+08eB9l5X2kIWZqihCc1ge8rOxb6cAjkXf80mX3UuaF6wRKgHNDAGyD8wsUAkf6ymcHWIBktGufMmj5poFILY17Tlt1XjQg4XU7IaY1AmtzHu168iEElEKPjYzoutchoTyjXbqP63DW5XBg7xDeh3VAGzq/eNskaCFKeaZIB6dmPKWfL+jtV1/endxsoIv+v5o1tm9Jt+/JZG6jc8VU9ElOvw6ZD2hyKtXum6KZvHOmG5SnRNyk1khE5YHI9ipvr4g3F0M9d2MEyc8eTSeSxnnadxVAO5Tl7040d7jUdB3VRh+VvMqikOSkge1CgLqlcF+e6l81OvO12i+WDnS6Iz81Yt/25jcD0l91/BkXKWCdq1IvjmfjXhgsLavVsq0pQ42jag5n+oSVKxceHQewv9lbGp/DDHzSjeFYNqCdKpEFR22EXGz5h6LHcyobu+bP6vYs/++4KaRXnsKZBwa8IUjfaihf8mZAtNqn1QPhQdT6KyOPYpRV3Uyo2hN0MPNGBd5lbvHJJGmd1jsDXFKVXgmiVMNhXhEJgSDB/dk84tRPeSI7BMJn87uTCtboU+zcqW8j+c8qhbJgWkPAODMdxs3FBW9gAx/Rpv8//Z1l3UP7ktUsQ54txlcc5EispKjCLp7audSrbIJOF6e+8cjwK4ORp9oEpSQ3srdk4k8U3VJPut99MlN8uM6Z2TeezyJLmEtpcug7IX44cTGzuRwkrqHvy4Y26eQs68hHrlNiNY84T9C5MD2kxnbefMqdGMIXLkFcgiZS03WXbvPtWonCDWIYHiRB9Kf3kLasDGgS+xx/FRd4hSnU6GTxiD+PLg6hR8rD5nwmJ6S2yRm41Lf/7R/nED2lqxGpk8yeJ6qAGy6YuB6tVWPGnnzGYsl5R2wEkvgt0cjmBJaeaL0XmWH4CFuGPbLOAB8ATVHzPAObnF1nc9/1gwUCMAAEFOTUbQHwAAAAAAAAAAogEAJAEAggAAAFZQOCC4HwAAcJkAnQEqowElAT6RRp1KpaOjIiU1OhCwEglnbvvwWKsoBqaxHbON7jzpOX8gBdWdxZn9j/1Cbhn+n9Ddp2XoAWTTL49A/hv+V4a+gj61J0+tcim2z/K9+fx81CLnnZ47H5h3tz9683X87zO/hefX/yeIv97/7fsHf0P/ResR/yeU79v9RLpf+i/+0pKYQRffNKRAfR5PHA6lG7+WnpqFOL9mwDIZrIma/ojthL1EESLfkAebG+Yi1XgQdVEa+rkNjj7nCccnueVsl5ls345aaXbwWQGC8cy1WVAKco91p1wVuxpoafnUvhDPoWpZBGorZVldoLo51TcHcpl415yfh/rr4d+cqN9VuXAhbBK9O+pU7pTEVtgyzNYO81aC69F6SlS/9Sab8/cO4X97LKT3/mF242BtsS6LGWiqDQ0RE9E0zQwFcsnigD2nUsvKv98AcgITOJTuBHTPvDmvf16//qQ5V32FoQqdEHjyRK0/HOAxHppugvH7m/d1N/92YKvVneYUBMRV7nnHO7BHilA0hLQw9kPTg3z3rogJJ7rh2d5YFQ9hbShD93COgLiewh2fCIkZXFBLIb84b89movBiUCZ4gnLqLVKwdSaWQw9hmtnkIn2UT1WMesgajP9aWAeCXU6hOoHaNQimuOs+tMZnkcw85tNrx4tIIXlS4MzHgA3urnsu66ylm/PRcu1CGX6hSmOnWEhrejATIAmdORPLpQhcZUEU/XADV7mgQfT5HhJnvjWcPHW3IoVzwuXq9OD2HBDwD4AZ7w9c+Z4j8X9gSNKZqh6Fu3eqkXZY/7b0Tcr27ledxcY70KLzQBJBntxJoIehY1y3Q5s0lJdN9xGG+P1Ht4/EADzFYOOuH4RJPSXCvqEtw35w6GBQ5lyQfN9szfnBLHog7+s6+0yZo1VeT3yBKdLyO360QulKsF+MyT7Hs82XnoifTExFXD4viyQC6niAEg4lExDjVin7/YOSjfARUYgnBMZTqlAuwnW4YrdOMZXwOMfeKCPwVBBGntGBD0xMRVw6RSQ9issvYbQdEhWx9vW17H25Mn3gufB27kSawOLbO7lOySfJ1IUGWKBYYemx3w+Rx3YVwzbY0RcmM/9fqE+m+ITe4cbqkAjcWcz1VFtYQF1oCq2i20s5kZjMvtRB9w79Nia9VX8NLBEIHy/7CkpgWZBq93536CSDmsomIMUgy3XSahmgjpTMEqge4YtK+42p8Q8mrzA6tJXXowoxXFDIm8OYJnZ1yqKUgyDpsjWX69o1YW85VeepRvziBIUxatveFxZXQDIs3KHaSy5XJ/1GosOFu0KgnNf1eUtrtITaGh5bf6LztqUGRSQ2cqFMX2SQcbooCqeZw0BMKrVHfrnw+gkDJApWU1nZviT+uWhs+fQ2OaYmIrxl+oUxattmk/S4ZLiGpPr/cCAiRqlQ6C/F55nECQpi1cMOiYiuGVn0o+ArzzOHRMRXDDomdh4CSEbjSJv6HTc8ZPJRpVoFJ+EocXgG2jJaNrXVWep9URP8syRxyd8+/gVtYBnHXUd1IUhuD/agufnj+egzZ4XvZK76xKQWj3pqyr0e4BHTlke2bBiFqWaF0DWTAA80lagpajkGCR4XJqN76l/i4V3k4sXnbvlcd7SdqAdKUxg8/AoAAP7+rd5JwNejCI6fcI4h6yDB8YyBoPVjQ4hnEQQrrKj3/dVYB7fizujwyMN4MP6fw/EILW/oPQlMv1jxiuLg62gPj/BMd49IjXV1E01y5najefm5eaXcmmioajjnqNNUNe8FZ4tEfkQStw40lhue0/Ab2T+MJt5LhkoBvZP41hoWWjWF4KJYuwXKp9q7oFkkkmSrg96Z10d4rpji0/SrGht3i15XYJgYnha8TPreskzRI5R0KXn74cCUxB77VKcWb7JjiP9/z3k1dgXF1NEc3WA4QSXxsG1Bpv5hdEuG8aKwiBzIkgPSF47A8NOp5qbo8jsmfv1unf1jqoqxtemtm0YW5FGzUtr+5OJZXloTKppC4HnGmGJ7ZTYcoMmtgAIgghnmyovTS2sSmlQ0GooA0tpQ0ucQ0nYZcxhAv9qQ/Kkxs7Xp0RS6cVDKKdWrvEeJi6/en3dpE5HdT0UqHwLLC76m0B0ty1TBd+q/3ygqfh10T8jrg6jaoPaukYjqPBrJIV3fmPH3FGmBkPNjC9RcA5BNjJCrXpBwPo1O4n4cKBdIfmL7JlZ1kqV/tr2d778eeHNarnxN69nsS63O97ygv8znZbgNROHothEr2T1rlWSIYLuFb7op2/spqaeOzvagtDNi6my/XLrGLuP9H5hdt2xBaZj4ZnBL1OVbKNt6TKf+wlSY+xo/QegvaLsOvFWK1OhvltIzOW+EuHXYPSybvKs2GZPkg8LDMUb0K3G0fwFvDWLLXsz1YBJGslFJ6fEB1x9gd0c8R7xBO01q9QZs8G0JAHbqNoWsb8j6mMoy8KPpYzdrF8cjyl/rtJUNLklDw4tY7Gra1EnPHvG00AeYFFVic1g8rF5WQCDDDBrOPWz1M9yuR9LmMHb9L/pxy9zjSfmxL21FGpe7f4kzB0nheJsWMXvlzwX4/nEDjq8U8URoKKPy5zOl12INMbDHL4OtpXSHDkvE9m8wYizbJ9mPFKSk9y/NMpbbJaNcJwVASIi/klJ59TO1vptsXaPRaJP3tDXaWZyG4sqIwZ3GOTpUs3Vjx5eoKq4/5XkXFhea0Np1cwTdrFXqzx6Dy1L0S7T4+gTq0nYacm470ouRRpqaS7f44e6m1Un1ZDlcnjLc1WLmXeAUwkepV/dM5zBqH4W1k5OD0aJ1hwQud5yMUQ0H+WOGIOS7T0ih4GI0aex+B0x7mFW8L/REV0cUbZVPEWi71V0u9ruEHMoBEj9PjzN4xjWO/XIomz5nDxpCfg3Xk6WcXw8FTjZU2DkpoeiIknPzUZTbLofbZykKYH0jDgb/sfz8eVO/Z/HwNEIrZgsvqJIr2ljwlescCKDHWa/IOjh8qpY4eakaLaCmvWby55MPWhaZlZRCScQ56vMr7tGNrODvfEkKR8rXkgH+GAsGf969ZFCY59DhEL84A5/5nhEOiU0ChDWJDBcMfzeQbzTQy/642pMmR42auEHt2pKZg7A2uybJ79pH4wsILpd49ZBqmw70gHOAMA9RfAwJRIca6ZTRj8TWybpb+9o9DzWxpw1Qssb8KVD/k9wTar4pLR0bgBGPkCd1N4AGYkfY+ea6kJ+NNJr0hULhxVsOhIrpUu/90jShoL/Bo7hZ4xZNxBtcDokY+rugXNe22IGMu4vLckpU0+2Pz3CgMTF3ctJw0ntTPVf6jray40AAWgACtpd0an3+S4p+pWeDsb3QFxm1b1E+14tS7Q3//fcvRnJfGC2ebHfs9gVwjSRaYcj499D4lS1SSIYMdvRx6OiYd3NZEWf/e5Du6SJvz8NO96VrwO14GDsuoCRcPyxuVE/YNM+UwovRfgD8XEPYf5Sq47vkJuYBpaA3KbrBZAJvlkx/6crh2A+i2i7w/C0oj3Vmjyv643G/dpjQcNomnrRDsdml2IVZMymns7ZYbcyAGDeJcTC8fTbPlTl9kki3sTv9CW6aqa7gkTG0YDMePG8u/EzvbBLF1qyFcwNAVRTD6BSMRDJV9K14ML7jZMg5RqsKjk9Qv1roCHvUhz7Jj+5wDGFyzpThxDA1EZPB7noED+2OFLlfZFCDWQNlvPbVsgegO3c41/7GmOWZaoqvDKXuprQanVxPmfA47R8Q1f5C6yqvbwID0iZ57jN7Sf7UFemZ+A3kPVn2imQlhG+5TR++e0eonLu+0XOnnUu61GKDrXNV1CgrucpQKCedRgQDtdRmc5C52+yvjDDBPs7SIBmh0+YtS3unPi2sSxmlTBT/evTOlaEQ1StGu/Cz9NbJ3nqiuO0XTbeIRo5tYuPg65hGClYv4lEjNbbGqU22SvJqalfgZTEqkL+0xsCz87772Ai44rNz245m8ntRYEHSgCu70vCHjeqO5xCNZHMaGjkCOIMkGvKWaWuYLFTISfyNdQUcuu+tNJRBptF9rPewZpIMZTsRZagd/DgkdQ4rg79bP2wGNrndmNb9unb2yLasQZZR/aI9z4oxmuvJuVc0wH8hV4c8yWLRwPNwtt/JbJ1cqOIzhu/c+n9Jxrk6oP29gq0xly57f7+sgYdXCafZWMqoZw6sD2CN54GfJChvf/YOpAbDc6sVcV5+QtK8J50RuTJ1c54rghZ/EL/PVdmZv9DammUDK0nNFLke0d/Q4mJUpN8YCxaoA2g8vswnyK8bs+nl5hK7xNnUcdfLly11y9tAYcd1pwaVlFLo1NAgGkxByt23hhDURHeX8ByUJz3YPlLdyLyuUydH2q/sUwyr069o1QZH6r/XYB3pgJ/qHrcTbUBZ7aLoj/M/h1P7MbHgsgWN26NLlO9YJMLXY7LzdY1K6LiQFgEGK55jISpSZFXODXovAlfyWPuW0SCtuEew8Q1vzENkQEZu7QMcNvY9Uf1DETQAMGYLFOcBuwvEqvfrdW019ZM+E/MQzc70VMhla269pWTn1Xo0IChp8TWwnu0gll3MF3iquH50oPLwRxMWMzD1nW5WxcCN4khI0sJ/M9ETf8i8l9jn2EQw35uMvZlLEAtAZn/0CqeT6EPxprA+SlpvjzSYWYgIpS/CxUi51in5kNUBdPgvvlcmCDTVfU0CIs7z5UOD36u4SzNuJTobhLrzCP3G5XphwbBugupsYJuVFLS2qe3S48Tk+fx/hYgMgb4PIyjyr7jgBuDxXLU7zxKJJ11GYv4NBLuduTsWHVgwhksmnYa/tEF95zHGJZgbaRvhzQyCO+jl7woAap+4yk4mUQ2tPZXkp9VtlY7pN5ZMlivri0YnGUtMAzfkLHHV/7h0G8lIM+7otEoRBuINhONGekqdNOEo1lDO+cY0ongcPX++NWbV0UllDRCMxOBG4I4vcUt57x1yI4lIk0RQg3xVp8AL5+TzU2+ZacdQtNVyB4SGvwVP2BreCXON4nMPhn5GRwKJROuSXAWdUMar9Y4qqaiGFoNFvE0adal08gcHu8Kufw47m7s3EoaLV/tUXOqyo0z7Ctp9ms96KBZngAmsJJ3Znk14WAfD9P9aLJaPigvY05D20VaKhzuQeliuBThvVE2FoSGhf/V0jo3DWWUf1B0a6dUbIPT/bTH8OOxgcW5thFlwsQ40wMa0IgGOw8cPcbdEyDuIjgDyXfa2/CIItSJ/rBLqjUn/CeW3goZXnnL6/82sg7+XT4/kYxU66OyFhXx+k39LbiTMmQQBIkCK4FPITu1gMtRsRu8yUqji3tsQNgZ6uoQhJgvR5szUJaXuxWtWyWK0Z2rQ4MLQkmf2o2jJsanO04DexKdHetW+0ZAMMl+4zEpf8oPS8RK+b1rg1KScHSlQnSR0Sjo4tcgHDh9fAqh8dD0CMsW25XBBeGGzS89sOxaMcNtjpXsPRA3VTb1bUedXBN1IIGLll1nWd0ZC3Y5t0LIHeQRxmrBfnK/eEgUt5OKF8z159x6GJN5sHSTHjKcjmjRk62aryZncMfOjd4qUHuYakIZ7MIK1BvngxFmclcSLqk9mwk0wY65gWxD7KnV8xWwKEXQZ+B9/ap06ydcvN0n3HpEkEIyDD/s6d5BPYTm+lFDpxHcVsSyWyCrAfvuXrV8kvXfIU91unq4DjXzeyuO4GVDNkdL8Z70wb7/S/P95ODyxVkvNb3oSVa18yAGkz1ILWUj/gGX7cBaQUzPtWSd9idusEeRPqR867ebnzNvsUmrL/Mz4nO8Wb8JpveOPSSpDSj49LzqvEjYsH3UGxP8o7RO2oAvvi+GdwocpGFtFKF1rIlheuLtQEn8heEabxt9GTBZFTkxpYv5tuLjWrHBeqUgyc+SC2JkIkqacobe3QGQFSJ4iiNonM2HqKeT7+VNrVnWHbi441C5qG0MrWc9zmPRPAv3PDLRoTdCMX3QoinrW+tG7/IP4adfqTkFnOFa1EFB3loOLWH4S/MkbiHtnfZauoCAS7QST9BQIwyUZ2KKaOw87sMqgLRcJDqiJ+n67p+mPOUt3GoHyd5wlms696JDs6zAPe2ekuvM7z4bR1dbUQj4AU3fB8qsjBhUUmcLEqDJHJZo//AKKQxcfhxc1UR0MO57AAb9mtIVi9lC3Jhe0hpXEYJXQmrUnJx9F3yon6karsV+PFRogTT/EpQsNF74epxHCkDl/d6J4u4u5t9UdwJUi7zlDqX12JfF+FSlmPIjQWhT7dwJssnX9sGKMM3Pf8nKR+8ozwCWHu7KzfzWaFtoc1k59Ae39tjcK3AZyu3EeQKZIi23jH3745xDZ9I/23VXHaNYr8/h89c5+X4RtFr3xNdFq1V4QzGIzX4J2wND96azQg9jF1qZ0ocsqp7OjbjmFsRhRpNLmbyALMSFrTr4fWJivavob4TQ+oT3CDZ1WQDDXJaB5RnV9Uxl/li+t9NgLxlF2u0Bqm7xVm8wd0P2dBDnMRPInxxVr7jpGQGiPUg/k4wYTv8bhZ0gSG/i8/o2YoZSpFOqzL1qN5gQ53o9zDpOWqUzqajgJgj1EqW8KCtPkg8aO4e9kh6JKfZ1+K3W6bKgSLay/Glkt9rKzIxCm8IWquhUxE+vXmBMwAacgT9fsgB6K85a+ftpWIXWsZL4RiGVanbWjF2alWk4IAEcNgXVpSs9/y9Z5jcyFHFsM5ld3Fa7/hZBybtJUx/4NebTEHH/ntgI4oAhDhcKBDDDKt0eVpCdNFtRPkf2enp8Gh4QcgfQn7bbbk2Mwl9xV1QH2TkOnUhzcPYMpWYzg0jTeKUGUGyWQfxU4OGX5KogmFvejQH6/t8ucZOp/c4/YGD3cVlaW6I7I4bO14GMwrjqruDYXEm4bD1pnciQsTkB+R5ENdPrCnCgOosUJ58HmtubQB1zp3Vk/JCSMAdjKIOqeXFVOojcyKNW2Cji+1CIXQLPY9TXluGgxCozESqT5HJSmLKitMQme8y7Lv8OcjFXiGpjNFZkabCI0ar6WOmJDxcneROTDFNsdpAYDC/IELgnmULxsNBb17M2JDx7kwHgfUMiBamXZpeZau6WXqJbs4mdliC82IcYOCCz5svFBcc/NckZF43LhexBkdxit20gMbB1i9NKON0FvLCGUiUV1XQkCZPPpfKsPt34CT53Ks4+2Fvv/+RJYAmB577iNvYUx6v56l9tbW3fvud9ID/IHC5Yg+OqNbC6Ig6fb6X6YgB8iTv3b8bMtqf6Kh5uNXt8KcQtB37PcECRkmBiXpgz2cyy634su4pAjA5UGYnahDLOjbPT3+2pzJb9drNZlkYtJ+Cua0KbROnG2NYjlEdpX/dBHyrb9gdymk0+wNU/qKND1wqtzNuW9rOJurEMqFjdPN/HzVbet1w7IlGd7m8uhb1C+2oYP2T2uqqLIVZM/9AM0GdGtNjkJo/yf+aQNofpZwh620WXkLwrY0W8KMPOv1L33ub7TbhL87KRQortN6KT7lHooNVQFv/nCTzTlz7Retecx/ZoqKLOxsPvau1eckqjLnruLaYD7R8op8BkW+/MFTgY9FKOYVFpi5zDmx9cnJ/UAS2f/bLuHPuzFJDAq/jVHJHYy1B0dfRHRbE/arniUKmgpKy0m2XzXX7oHP74GFLXtAX7n6UFPvBSC9aR/4gG4GXb+yhj93M5cvMque3/XCwEk9epqWdTak9x++m65O41p4t2lp+UpHvYioVYsUSiGn6ugzP8pcRVoHi+yDrZWoAS/zVgDLHTjXCi4MCp8Q6jkUUO4tB6vN1BCTUrN4hTwLaFo+5cPV/6xAuIF8qprmQ/WdODcca4LxMCHPzjR82bmolJeVLch9LyNCXtlbTKyRtwpCmKK/xwnuBMk3mYkSUz7bW5MYENBYANtit0HLk7qMxVo7GFRH/wkhuRPh451PKKusjNf1y5aR/geJQNgjAcUHVWsSROoAJaBhkQHDY13GuOzLXHjA8NUpMVZLrOrr2fSTIA0IkrmQlO4BDjdq/mt6JfWd9gZvYG+F1NrxBI6CVAXNWxex2WSQBSQ8l7y2JuAdF1nr/5pOy/DMtekH0ngXol9bGPDO9QrY3rizlRJ9vXUJexoEoss+HAPCr5UtCN2lg8qkSwjBG+sn9PweJpkim6pl5KtABm04epQpVkiZn57oN0g2RpV4Q0yRe6T2l40IsJSmw49biSzvcJKaJdD/zxYP9sI7lKHuWbywYpBGL6v4GctpBrPLLp2/aT0vrAzDkWe1RMKBj5SI/rpqfecuHUBvuBL3YPGLVBsctTYfksd1bcPVhVFGUHA7j/WZbfTfARzOJIb/zfgHV9NmbsFbGany7xsqAGF+cXnigi9THetyWV8/okqEEesLlQCUSwtmhpDNxfEqcjSkw6n7dRopjVuR63RugsmECnnLvNqZQrLFdR+oDqWGmgd6SVZ1islVBv2C/dh4s/XwxfktOjawMXy12Bx9BshGuvLW26GgDnLJyvoROY8i792xhfzk+RGq/7GB34SgGNKJjUf83RYbBPMme+x8P/8WxY2se+LykA0QbdVJEnshhzeWt8qaF4dkH7IgCKVC2hxcqRBdBQOttHAFGyncJv38odXYMA7ZgQ55pMtqU6Rz0mF0lVJNAptSI6GifIPEqezbuz8QxsbAJ57zCjDj3tafDL+GE0E06Mt5evviYpTXMKDQHzV12EhWRoA0FeJdncrjrMP76kPjYfsYd1JWtLyAIsxeQ7o6vu9tHikwLWHqaPEenLAjvS3peGFktYuxQn4u8r6sgwP6w75wqi+VdbR7kSE7T6NFtsgfeNdWnFi5Mb9JZCDHzOSokECNQPZrNewK2EmNF2Nk4GvGgQIY6hPxi1ymriVzBsg1m8/RVtlsEjUDcftX7GeOObixm7cDywOnSg6fJgOoxlGxUhvtx76/p2YOlz/dJaUI0OwDUa4f+WnsZ0e1C7FjlPcRrRDgMrYIXHW9P/gDPgQAABigoo6KwQYwn9zQMQvhJVK8LGf3aeCKbsTbY3kHpiuQa8YuTkleM/VIkM9urOgUiyUpkZUlNGktX5pa9rupxR3cIlC+vi74FNiUEbxoiobx39Wie5pBv4n+QeeANfRP6Qn8eXZuM2KeN0oQN+KoSdWOdFWRiqd4zJ3GTbklMAGmjgtYMwSifKOOeRSDqXur+WlJqHLxHlc6xf7G0WyvSlBPMGusgX52xLlBkytXsu8IyXaEyUyhlJOLtmK+dmDi/Zmj6zZAvXQNi7syJKvNapQX/rIphMQbAG4sLtKWATlhWmkOgg2vptcE32k2+85cCPIz4+DAMJt0/zSyJ5ziMw2TDuc+XwJuRtLbZ07DPOjx+zGmFHQBv0d8Md/tkcPMcadJIGihka9xlif5x/RciyJh/mtmoODhHB818TlmDIkmDqAAvmhUfIxhIhG5S1lQXMrxEHrKqu8ldpHeg7PcpQAElKyHC4og5T/noOylFaDfvFfNXu2F8P8tsYKT0cNGCfi+BvvCRZPcNT9ACBsb6KWnesyZDcPWkyquXB6LsTrRjxk85hCXamDh3Y0WCRj04YG6o4YFwnF7v2sePm219VKLzTVMk2zsIFK3QB7jWN9PxcEI5A1OJu4uFOTfVKM76r9Qz48JOQ5DrfR3tHHCO59hF78LzqwAJRjtQHrj4nzxUXCaSIX6YA5EXDQ+VrgBQnVog8EEqTocOl01dc/CuxAR+RHX5tQoYtJ/I6cMAIAVtFDTRCP33RNzxiWRoURvvH4Z4lJR+LNK8DF+fke7KF8bcBF8+UEcoQK+cAAADmAXn2W7tnl/9QydswfP0JkQPZaC9T+SBLL7eWUffNPmGH2gUep2dDdVKPvYJd0mTMKmzvfINMpJqAdnEo+13x3GIwFrjKF63Fk4H3EwaIRI6hDbA46lH9bU0odSiACB2Rt5VkOdC+FGkUVZjS8/dIgZjR9To2NiLUXzFSitHGFVergAlVegr6Q9/uqDQpDM/vlVw9XHozTxjievCEdY6Hh63goMVEhMztfxwEsLRaz0N3taeG4RnrhIeUVDGruxXkHuJaRZnLhmxaQLQJ2Od/4quXmS7bXlnhMXmOcw95xufGh6kQ5IyvQnVpTuBPrBRXcGYB7e2ZTUAkkb20EltdZO/EdWounsQRVB6Ltf2Lvg7lTCRPwZJcj5PJrzooSfkck+3kADc5TZdREba52CbqjTl9JWbeXar3VdVynGAqXKkhm1RzqZWDqPafpkYw2W/H4KdoeXGGgvlAzLXV39uIayRzu2RHx33ylt/iT2OJuS7c/RCi4mahy574p9qLy09xG4FqMPcHl+igwvTpgcblMmWopy9O8+gpNY68yyYtRqcqfPgyGjzD0bFtp6hlTjb/d9at0RHO3MnbZU8IDE3sNoKhrE+GnVTRJ9dpUUMcQwFK9vZcKWYAs61EBNAqfhyV+L4uGRn4eZ12Mog0ncXgnbuoaDPVHw/gw8LRUUEgbK099GfBmfT3WFlXKr7B6C+luGQIHWMG45N8SS8E+g+7E8/nyto7xzD8iwWNm/4hHokVz+NxlVzQ98uol6E46cQjZi3vQrcpCWwnsacoJngNck+vmvWQv/DY5ttG89kta9bKphQGx/FABYv/kvI4CLLf+PlgC642V81dOyP9lIlhK8vVcwJHgLXDO91PDxgmPsL5gKC0XV3KL6D/vF/mgWf4mSiSSOY8SaGG04sAFaN3J6+HHhg4fRZKA49qXKlBBLBRAi8XCZ1Ue38VFFOU354k7GFgfb2pwhlP8g264FuGgqufYD8HDhmlssMf0BDEPQpRvi9mkloC2z3PUaIV1v9igV+JQAOy0ig5EwlrEWAAAAABBTk1GGCAAAAAAAAAAAKIBACQBAAQBAABWUDggACAAADCXAJ0BKqMBJQE+kUadSyWjoqKktBoosBIJZ27hawEILE2F9gKpvsNQ07mvrfJxfI9OO4I/p/Q3adx6AFko9kvRp9D/jv+F4Z+h2eJdj+F8F+y//L/s145/IL/b9Qu5j2fmy/8T0Bfaf7v5uszj6joKv+LxOvuv/X9gv+k/5b1if+Pyl/tnqJdMX0Zf2zJC59AfJeXh50WP8ne7Q5E10OGYJR8nM4zsttw9YbnpX1q0i8ocIKIMNFABKJjQpvHC2vsxJ3opix0HnZvxy00mov3YGfm2kM9p86d4b2/fZUFKeJhGFkFJEY1UfYJDdv1AVJrnzqHbV4rVdqmb9y8SZdg4iKryDuDVHjUbh1q9bKZN7o0EGrnpOdh37Z3gBf/mOPgfTqLUlNdgFdf2pIbNIUG+hHvm7qXs2ZYviTiSVJYlcv3y1UhCURiDtJhqrHijaIXmd4iq6i1aDwSzvFkpuoSqpaNmtf5OdscbioZtUQEcj9Y2hBFgBwRgA3X3vbuwenwjjJ/MGPAYOTzI3kcptiYVgZ80VV+HQ/XJqYVS2JWnaFmmJwHu/GUUj+EWp/rcX6KT9zqBO1mRBbwdYwozcXnunQF6RTnid9HKxZ06bLl9158Tv/vGh6VWbvlWeMhuLLAWQEQ4gw+ppvP38+9SQ28Mq2P7Ay0yGRsnUL8/ACtrqQTKb28Z+rosoUccspiR3gsoRI/VrKLeDhi3j/5Gl91sBSvvhLlfE8616k3DEGGrlzTYh2Yfvdk2vSxMveUuC2Q5Okyazb/tesenMtj3iH6d2bW8n0kTQUbmoFmZeSLSICWMCGZ5quQNUw2A0VtEmMW5lupDFc7PTysU1De6iuxRvzhuaoYADW4OOV+IquvoV737bhN0DEwLWDPGMMnvIfCA6VBUQ6cSrlsrlm/4E094cePzuYeguTcyDbqr7JqWZGcX6Jrb1+m9F0zk9roDj+ooHjLBsZS2EJblAtnLdNLEFUyeTar+w/iBaIH4nCN5n6B782lJYbdXMOOzbNKKAV7uhsfwi1PobBehUVQVgK1fV0yVCFDOAJH9w9V/TLcBDCocOpRa/7m/a+WiDORNymW0M1Ci6vYy21cM0CA8RVdcNE/HeTWuAvu0/6pchSFecwryNEhIvBiFG28yeh6wqXwu2CQFYA/I4dL4lf4qUzLbVwynG3VEKS4Ic9KroqtBusMoOhMbmAb+q6RWNp82ST1Z3khNOXHHNMVzS473+3p7NdNk45w9DNRccIUDmW2rhlONuqsM+vW5XDwt+6XM4Sb/AoXfEyFJ8bggZITbHVEjIcjhnsX3DTEzaYIhMbbeU8RWFG/OG2ItdeFXR1kaxG37fqKl3ObspmPCsYhJ6uGyaInQLPZ9BI+mxyQ/TxFU8vi1YjW/YYW+30uF8Xzh/ItcBI/BoN1VeT6UfACSNCYYbeCCq8n0o+AEj6U4bKIqwR4yQh3j2h9iCg4l/LHr3hUVjYaIXp8Ml9pIP/0uSxrPQdbJWdiwPadMHLt3fc0UTUDYTlZCSpOO0KYBCJFNXfAtgyIATlCMFVyoN/22etiYhKXNwU1uivRo8qpLP1utpcX8gP2eB9RuR80juoUNZ+LbDZK9JLyp9hVHJWyQPO6wAAD+/eOj2NKdfn0ifW245djy4pfbri9qnxS4Dx02vWss6Gk71gESx3kFfo9S8tz54IpR2fX+wQ97pQwnSA7hr06tsXuGnSj6Tf2wFpuhovRu8WHUMtEJNGYJpLEuHRpC+UAgycZpfnsLa3bjX+opbQIKPUMjahPQ5iNhaobT7ArsS+XzMBXf79bWRdlkGSLg+XsqrhcPtKN3Y/8LElGQ8B28iEQW6EZSeNPBh5gQoez/cq1+12fdSEQDUF6MpkOs1FXefUTBH14OTc9Ip0ec5ZrwCYcCt7Dg4WCmAyhxBmub5phVNEB2FX3Vl4+W6XB0Ng3Fyu75PfzUOejxjFb9xdlZ+xL7JgubNvIqc3mbWN6NS4QKEg7a98IIBcDv0NhhFualSdzeugAEObG7UtuvhbxTuuB/d2HrGlQtFs0x50h6NxHto4BVGmaH4QBzXhTxQmG8kuI1j0HKZjCD5z3HhxMK1vvvfKvzh1aoQK/3Iw7m+MFiOm9OVQqSWoddi+NXmXZDyQMOjZI3QO+NwJ/f7e6nAVsiPd7lcAFRz82hEPE2afsjT1a2oavCdYAoH2LQZ1/LwpFsNemZHSixlaTP6HXe4Pu7fB65GEpKI+RQ6eqzeDgQalZtNV6yyfTpfXMXl9Ide7WKN1szld7QJ62nA9h4y+4OKZ1ATbw3fPV0bizArC/3LmjW0whaD+YwQW9k/bJ0n1UCRIDAVs9cxssp52LAiG/Ett2qFX4bA1oheReHpnibFQ2Vfx08UsI8zRHuUUe8M2gfDuJ5u/5Bfv7/9W5QewsvH3C/TXUR0db9Kzrr/Is7PWXpZ/e6osj01LwrTCCe6BxrxQLcKi6F5RaiMITSgRbjp8QEPHXBKVrVeHpDtqvG+zzFjkP5pkhk5cL0n2dRHcbSHSQ/7Qn65OhsjFqp1AH+cWHHYBxBxUkZHhuWbOxD1Zl6YcUsCs//iP4h40yitEJCfxf12oa12tZ46TFZxjCbZcj8hp5YHxold00QNXMecYO/ddE4te5yczOf/bs5gEvQb7qnZ79F+XVjoNJ/KZSyG7WP9UducuDOCrkmHTmo1pNnTl4/4VjGKBBWpwH7SZX4ewKD1qXFeuN+DE1fS067QTGgiRfyxYKhK+foVWCnCtxJ4828W9WxUyefOTos0z7mJGnl2RlsSRcJ5Ss7XiyHLDiE1IZivPxhtHAnT8MfStPuqHDJ1I52e/1BAWXmQB6gG0sDdcDd1WqdFM6zfo+O61A2Cu6IUbpErd50fM1E8EL3mroUs01BCNwAC9NDUWrD9kip0zFxf6Qv9nW1rgo8FNy24CeUZdltU2l97YZ5vJhJf1h6iaGZH6YEx7zMp/C5aJ8R881a5V3aoBFc9m3V5fQ8VaSQrzEuaK7CeBrwEP3re7cc7+eKRPp6NS3CWYxTI9xIM074tb4N/zlEiAySD5jZKbrGmn9vxuLuO8Z/AtN1+HZ7WhgS3a66sHyMIp8wzHiRFpeLVDnyII0n9ygDuDAFo2UZ9rursIVVRQ8FbyA6d3Q3BFgnf9kVHK2PCI8WsSupPYa2nwo2YpyhgoPIk1HeV6rvm0YmkHuZUbW+LoT2gCJLLaq13nL9CbGHwzyQDO/Dwdwr/cCpK+9141HdkX9GjWor5mktWuvUByExfgur2/OK7zs20wvtJwgVj+QK4XZ9wtaW+3vqchtR8u07M98sl2wHnzD9Ww6QvHJVAz/99t/SZglJk/M5cZGI+ajA+Jil5mO0I67w6uDP1vWa3rEyDh5o5igQgxik3SeTBwxcfr/E/u+szvkUmM6e4RkApUMaykKbMPgOoiDL4BQMUfeAfxmgkLVmYxq/uQNP8VkqfY86lysMEujHTfn3sEpruwFeC3rJOgaA8+qpx5Nvckh5gu6qZUiLqgx63Wpw/LWemNM1d3i4cwUV5xsYi/M37lCumqPbI4ais8p+eiAeAExj3+nADJtOojRd9LLpiA6hOmMkqIkTRg+ews5bTg8P13y+nUwLGAc9hG6DcRgrPS8M1bYMbQD6w+x1ZuDZi9u9aLKL7bO+3no/s5UXHP0VHqfeBhq5nV1NiMLgjsyIHspdGKwEeHOEbptKvLRjVg4MwlCrLtlGCSSbTgnexQhg9Xx48OeWoVjlKr91VXZloUEtFbwaUA6lW9gl/HjGwFVChWAgsUoZUhXCpqhxUB7Oqzr6HJ2TXpLemwfZOLbqKm/JKtGWXYyAv9+X2vSbuJWVeepAaJjlaw5+t7FgWvTdVrI9z9+CkbkZY3F044jzl9zY7IevgJh2TILDds+HmEOuNPvoyfL0/Z2omMnoqfyEZBmWc2LgGaT+Nrr8Rq3YXqHz5VPrg2nB+qZWv63qsCLcygTYd8/L2VR8eGZ8lSR5Qsj8GWVQT660zTDUzFWA2LCSoDKZVtR5aQzN2ojOJ9t4HgXrdH48ey8DYzPXixASagLflbcpmWR+8m+LaJGOG1Ysc4tSJ6vpBWfHGs4ixlBPOW1RAobd8LaqWC+RbUfOLtm3oAa3vewlM0pVxwrQH/BtQ92XPrbLkU6RTyr55B7iFUqeGnXjQDVs++xdqRRBpK9y0MNnpbakUZeDRD0DL/q4flYQb8iqB5LYtv4Wz04Wt0wrNaz6sBIWQLl7IRG55qHKu8mWeavEQOvc3Iuubzcmb5i8CtTricWeepm5sFYkoHCBg2xcET9rijsYWIQwdsvWQzsGPp2yrTwqNNdxKfv7pjlOdfNaZkj7R2IhW/da5nUuxkv/fu1/a6IgP/aG0107MVw3m0kTSJcQ0w8l2Xg0a4jnhVhSSzJlTyocEg6w6Y+FZV3yLeqQvmm+9vvnDAFh4CMgWAo3Dih3fRdBcIjGcK9UjstAI8wqV9zxVud4bY6VSmwPr2mNaqv2Kb51sDzR3pUapxvqg6k0vsjHnjpEb9+HtwAF6EgeIOQtw/p3RzgGJgWHdnkFkP2c0EFnLUjKHCAinizDTxyBfrQYnkJNsnJ7MT+FqImlFGWxdwFpbqqKCS071O7lIMdGDOVlsNoFBEMDi4YL5ZyBndkygsUb47C6cSIm0TOO4Re5OJfLoiatJIf0fCvEwie49ikU48SxX2acqMUIyzPPuK5WZDSuHiP0iIR+6m/wysUGxbLSfTT0MOHSPJs7iudiLPOxwGdY7ukavV+yaCal6vNyKRbKAE7HS3/VPTYT2+3H4BvtoP7TuvF21icYxxl33dkBvB7BjzPj3lWKL59U0MaON0wk6P2qCgGUSi06ns3dMpMwfekKiZkEYhkLEjsslSYGBv/xHZbIFFlQkqCcyzUN4X/bPdiDPYrYNg5aoKgtFTYcFIXPGCcIMuBQtnasLIXVbXwvgNxQgJqbNcK+K5Zf3R6oIo2POEn+to8Wfs624wqqUmCNZyFz1u6e4MKhmNe29S/leRLp5WO/UU5OIuZZGcWlmIp/C1vziO33ofZcBJ0CA1t1Tp7pYy04rvfYRMk61s0PbiqJ6FEcU9R/Y/zMQJFBJ1LhjSbE9cQ7Ki3lvGMXrej6n+5Kf8OKOTlgYViDhKKUiOnfYyFwVmYab8KDYp5fgccAqsZrvPT6YlviWmRBjtKIUDTf4ZfW0x3nCnh/drsIEz/NcfyeDaHjF9NjLqd4XMndA/TLINon/GoVj1uTNaOsz+35ThleWaxehXfmzwKF3X5hGQtFaxTVN0/iFeRabVq6oDUm/KupN4dfwjOvc1e/pmr8vX4YL4+46KqM5kID/V0gt3TOtqwnwDARlRRmFuNA8VP8P5fLnE+t8js6LqQamGcohsayzQu8tOlLBuB67tjWq3Ptn66vrQPGXeTgsIaxoH2k5DTA/Shp58FWcTtE2eSXpQcIGKGwa3bQXnC+9zCNAwaJmHh5fpxiSI7tnH472/uHBWldO60iw2bim3sKOMufzuRgT5Lt3VUdARthNNseYV1r1Q2k0J0JannnFf+myODZQzYVjPoQfZe1KvVl6zGjYeo3nUGlQ/qlFvMyxX15XdHx+pA5ck7yw2itavcKYJ+iBChiaKLJBrdDzZrKfFaaOlBqRJThkqB/m3ldV7CG9Dv0We/QZC1tyXk5zzL/RmWDLv8zANrR8U70NyMRDlE1Fkh1OiO3rRaWwn5H3ZkzMrJBpQzfrlTNjlDwPwUWbRIJVz6oOhHd5fa/zizNhMctZUO3jOZ4rTwuYs/pCDSuOuNPD+zJH1uRnJ9E8E8smTFrF6CxQGpfTxoupIWt4pMv4gVNzZcIxbhwJXJg6NGJH7vElwE1C/WEgFLhBfThk0RIseFDciY/9Id6gj0gQK8vILQdbPHcJbkavDEtBhvZkjmQcaKJCfMA2TBM26Koh1w0NnnMyARTsCbPGYEsTmPwP1SLBURqvieeFs8PgnqkjyzASebLqY3JPXrOdnbp4+W6VyuXCzdetHl1U87eKbPU7UPz0SR4JlylEDSxCoFfsE8taJiKUFve7KdnPWVFP6stv7pWyelq755dwXI8oSPC1qrEU3SPz/f52PQ5igyQGhb3+zoocczS5t31KHqDrLq/2tHJj9n4QhF6jSfS1uYP7Jl53tiMAhTvBeEtTnMzXY34QSJJSNkFh5bjiP1Cojj4EJNBbYuAPChqJb132bm5KPxbpTuZnTeWqQg1OFhfjYfG84mJhxbvE0by1kxX7d2pT7pxhwo1gu6W6kPOJJU9GQe1n7wnOux4KDUpIWGNiTCNILK2fe5jfWBwEN+P4yQBZu6iiDtzwB2de0j+AJErkmdcDTSmYCbZ/QqERgmplqSvPybvtMnLkERwv4XaDYOqiAP5j3IdqKZuII9kmBCrzkglJgvvBURs2529bwzwNfPnFnBYS8gDRp0iFNM95d06IVs7at7lLgUMYZMCFRCiPpyvTlB72p+/krA8S6ayxhuZuvuxgpgr0GAjIRywhhZko1ovd5VMDVsNBbLB83SLE0AAEKOJ+4hLORWaYGmzsrjFN/1xDN/FbrKKaM8gFOR6m4L5RFom1QfO8WuXOCWMtmFzKz50/egTKGX7KoYrgsv1PI9w4vkOjB2K3J9XnJJc4fUnrqRa7eXohBMIKZeiCS61+4lcIwQfxbd8ixgqopOk3+66s+aLjzlDZWQ3VNlvOgu2Iz7h78jwObKVdnpA+BsFJxLer1DSZyfMQ68iDjOZ5EoNuI0yYLZeQLK3r9U2FDp2NxmdpydkJsGSf/Xjn3i+66IUQseL7JSpsgvhvnCpiwxhfyw+wnnhQ9yhO9d3xrA3cSr/Z274rlkUXLgFpOtB+PLfTvp8YZXBIRdBijraeS0kMNCwsV8Nh38cZOZ8B+Rh6fihxJy5eo1xG+IbkOm9ED37Rp/s/JjcrjMGqhIMeT35yfafKHLztsM9yNER0kftLLbBdR9ZSBP2m7O1xuy+ZBVqp5P8lx24OKX8sCtCfjkdKiyg+fHuTUhiHisc6eGCBN+u1SJaq7oB0+6ax0aQXHc5FRV2YDT2S5jcR8JR/Bxie4Lyy6M2W3DzwgNvrnFhQMc5Zk4QrmtkELxjMUogyn8bnoOpQQ/373aDtZDn3IzM/yixcoD//5VO1uYGktUdqfsJy1caCpXoGexk3V+/8kKTdDF9rDFRx1HWRnXygAceyM4aaUkh3Slfa5log17v2yZQZtXnOHdVVHUoV4/au5C8mR5ScZnbvrKYDellaENWZ/SUlOmR6jYsTjByW7hGwHyeU0X7SYgJOAQUVZrLdk8so24xC4oVFBx/8bw6dYMTnvsvpFVi/2Uwq/ACDbntFAbBKczQDiKZe9WYruyVpMPcZiLSdk5nxMeCVjtOQe7LNHqCVCcKquQHkZ3YnVqTFpVvtCp/SKuyKwNaA1Sr3nqjeW7RVDPr2Jga24P8sjdXgzhsF2VR9MtaNArU6JphsO2ofbh60qkhCKKmeJsIkQpJCFo8TNw/qKEQY7Z+9mYZcK2bJQTncHECh3pHnIxP1F3js6Q6TlV0MwbpqbfpTPoKXDfnl0U5lgNo2Xim9Z0xPRj2NwREIo9Sua2vtTk8VJCnamMcEk4FMfxeYtNAa274LURqFyOCLauS2DfTR0cO0a8Fbo0ez54+S69Y7Yyg4kMODwPppXPzlhrYA+6R5oNHqTRUUWdINSQPqRf3lDsGd/KM2KqBtL6+njoNdFhd3YoGjmqTtxaY0akJBzYFLNqb7zqtqdWJwa6ENMeI9id6nI54vKqXC49lZEszY2fS3XtMlBkwhoD3fH70ER4lcHLlWXFtyPhr4h22NJ/3oX51ReUOnclbu5stY/NqM1Q8QPWwYfH7l/zNi9Ho8Kwpo/Si0Vvsgz+g6eRWZoeqWkwQNqgXC28p/4v8bghLlefO4R0z/omShHEmjuGHPQTWB5KC+vNyibRSydK66eSGNweaFmEe9Ld43FbtQhvOA4pnz+nFgQ7ObR+BNxFz42zC9DMYbV5mSygbxD9kgX1fRGuSOJe5xjdI4m48vkGamceq+U5Zd/PltBKuN8elAFHmcUIYB8HZqT0e3SZoYhg0i5EYQmZwmsC+HHJTaXq0IbzHPAzEdqSkKBimWDcgE80b63WuiZECiN6tJTVQaJZ/dGNjxkCgafQvLcQ7aHYigu+DUtVk9qJ/FMQmbJy+X+qPMH/ieqcjOqO1IxH6x1xikaAMIZKfm3v8GuUAGk+cUQZ2RHFPlvervB+MUU/RsmKhQJU0AARpEqxNvciuvK4EREyBqHkxrE3z/FCt9FFgj+IYiJ13tdeBYUx7Dj7T5HbvHobnrrw8WvWpbGVMlJEn0AgtaZ5GnRCw24Y3Qm9quxw71JbQjoGmRZaGceYoQhLI4cD33ABdmykVu/dAm/X6fCSk+2eoXIA9nsl/cnioiYcU7+pZEiSuRXvjpwgUTmxPJ7GbgwgAEXXabe5mPrn/HA4BjXSp0KDOlzd24vF3MC78WyFaNHxWfV2hYZsSxh9PAc0zJ4munGczeu9Wq/VUigk/UG1ngXyFmnxP6qHRUJHSOp3lxWF3xeT2kS5+Wc3xWsocTIV7vR1GAxb0waFxf5CtoiSivmspRlg7K5dHZfB+48XRFBjmUclf2JPk24UWfGZyxmlC1Ds+caLOVL9UEWXfuf1FPmltfOwJ6Q7id+wcSuTgXiepixJxmETXQcai5apaOLqu+ZD3IDXFX1nA5e+Dkw9NC9TQ0qS7QABxrJ50G59X7w3PYAw+80ApXAVaX2AT1/or4NGbtgj1EMsRRDsCJnzncsZ55CZXgRbCys44jYe63uLIwCug/0wUDruoCqgzPsDXE+fNnKOp+JHYHXj6bLhBfMr3uc8AQRgnAgM/vyT5J6oBHyCT0n80u+Z0YhOW77K30Tnj/d0Bk84Fq4orZKOuWmZPlUC4Cqxu4rPUvqHJ9iffSOeO7myHAIk58GL4XW++sunld1Lu9x355GVy3wTv0mgK9PHq2YuhwX44WnG6n2+6VJLalEVaUGeu5ERxkWSLfZBfAiBsTilSlpY2LGY6x4jpHOTTQM3Blw2hJBquBHCckNrh952k0mMOFHRrCKM+LKSbH4d9dHoxoA1tDNNjRIZPkt7mXzJyiLzsYWObCemrKlXKoyuzGHdyYNommGK2nE8iqxO8mtVK+4IdXj71b3sag7Gl0mxEc3fZqaGtBXzMmoo0La0+skjhJZIGXWhwsgjiRyqMSFnQ1MWbrn6+xSJQQX8DUw2Wlz++SVNErJYKZl0n4Y/qTpNohY6sSuy8A1Ul12/jP+tSe2IstlfzMNF51Q3QWtC4udKpnhna2uyRaS8YWDWg0n5trxiLycBxQEiDPBp17kDkSpwo8GcTnrIpgWuRefJhNoWvrvUfm2pN9d7KOnSgBJ9LCoJ99EWg5n2vbv9+dnfUPu+rZb4/upcw0rjHRxMlYAXwhUFzhFA83WERj4Y1Chr9GLhk0DTAM24ak8nPGv1M5cXWSCj7+ZmGYY2cQYrzAfeBDv8KpMhyfiSCp/tTMOHikeMOU5Ggx5ilx2oCITpvpLlsAkdRIYGRSqHIVOYQnaslbbASC2AdoiqIcn3mUbYCmSjALLsQ0Y3+GhkDi9lCmyq7kokc497goIyyfKK2nnRMSQA2XY3DB9dB+ov9pQLjU0MJgrG838MfiT+VRooPfs0SvUVpKUg2ATrbmeIQ9UViokmXtKsYVDOHpt+HQLpHPYWO6PMcDU9WMbiJntCfArV1Y2+jhIOgU9Kkll+wpB1YwdQPiSFqeHAA+qRssXlWFCoL4O9M8OYI7n2DXB47R7YtIJsZ7OgvuVpWSx9Yzk7bH3CWKiz0+jC7ERXJQKPEoue7XrcvIMFPOSmp7GZLovHP4MiRXFOFH0Q9IC5S1gM5FjNPWxUkRX2YRK0h/+O2YafDRqmp6Cde4G2Pv7B4ibVRtqogcPqrdxErTEyW/sMkRZB0tXqj7UF73Zp+aaTCjwo9XaeySARaFXcrRbP+loZ9dDcAUK4+TbmLRTWjddB9metQ4D6s6oXcTtEAGeY24CEwPCe9kpsYka7lyp5VkM2z3pZVtTLvrb128mFNfX4adMdsEWSF9PZMJWwEu2reIOktRJ3Qt2C2NdWacTN3ODv11KEWnQAOsRVT8QuA1h746xbMGDhLMxMsnre67NbIPXgWr5Fx1xaT+m6yuwGGdslrRQ3GTqPfwLF0t1FqeSl7xEN3QlCDUfxi31zVFxh1zi4HDk9gawat10Pn0O6e6Tfzh25E7b2wN2CF/GsSahTow1RN8EC7c+8RnxD5EncZwDjiEvbn6pwIrhXaVdLZinNSR1+QwFp3cLLkoYKxeGtt7z6rY9/m5wYZioAkEROHzyl9WU2qR7opbwa248s9O/OlVNPMgslqAVK/PMTVbm4G6fiGZ/1sxqN8XoMwg3ISXau4ayJ2PyRtMI73TlX2gKct5ih+jYgpCGn+Rd8y0rnHxHlzyUh5Dt0bL3cCyrwlNiatoQUNKOcYrL9/RL5XbI7+vyCijOg1mIJqNsqj5yUIYsYrU8Sv/ljKsAikTgaZHlujb4AhHQpJ/rHOare35bQA0F536hrXbHtvRj27ONB+C4ujh84V5M6Umd9TH4OIM90dEe4R92ZHaBmuSQU3hSyJj+z9I4CW5RHoiSOryJ/66WjtDr44ShHVR0iq362d4k5QmaNNQ3akq5bcV5tFS1O2Mnb3e835PcPFWoRB2qfSOMvGsGDThELwatVBryF3srjqybM7A+rcDKeK6+lRo9LrKTesKnvp8xHTyyO+RitvSvArQtOsWvbrGhoewLhrV4ADFwgx0c2oqLolPS4pNKe01aQfUFDTQgoAqgOoUnulmsWeBZ/jARITM47yG8gDHRY+kbRbNwjTQrmM9sAAQU5NRr4fAAAAAAAAAACiAQAkAQCCAAAAVlA4IKYfAACwmACdASqjASUBPpFGnUqlpCMkpRUqELASCWdu4WoXDyytj9q+ZtHHyrkCbn/ujN3sienvcIf1Log9Ol9ACyV/SHm0+hfxXfr5+p4N4u1DssfzP/c8M/kjqHXQezm13/d+gX7hfbfN6/T8zP4b/XdIHgPffP+37Bv9F/zfrEf8flU/bvUT6Xnoykld1zG4dosNRWDoqEbrktHcTQxgxIw+cb+m48nyL0vr6/l5Q3Xk4fWqqng7vIgIDj0XmePsP8l3uVgYyvpR2uZGP2nJgXyZiAOJ4NmyLAN7Pplvpaa3P//eD6qBD1xYwFqfvYM780oQ3eDXv81RrKeIdjK4OswX6eIGt9Feppd2roC7QtWa4vHBr4fRrilVc0fNzVJfPCe+I2aFvuXLQAs1uSpL64P46Z0tH2ZscPek6kJ8uWlF+Gt4jczSb6XeZ2cEYKVlJwC20SD7BTDr+ODomMcKcjNmfAzLLo5WtK37ml8BJFLjj9UDsoTpV8+tW1CR8aZdqoxvW7rCfPnUPY/AFcResz9LPtSH4fE7UHl51gOMynDKTbe1cMNIvTjG7G6q4dW6UX7K0ksdKZGHgnQl942FOMmAsMne9aYvhI4ykPlgPRhTIVJY98iPuFqz1+JRsAJTUfIDxCDxdOdWSXgtdSuAMnHf4mIkBd1at9KPfEHKIrWXBBXouuYhHZdMdXvbuC09xaUzqx1l2osMT39nHdZ1mSg827pArshT+QVMgTLh9M4K1VCv3pzbAu3QRkvxb5s/Kuljc7DELvFrq6lJd5TbQKxFbejPpEod+M3qAIDvxAxCKyL6JXHl1lrXNJ8J6dL3NgM4CH4y/uekMa9jnQhzgF8CrP1kfhx2aJhtjF3V4gilMr1ZGOyZYvI2CUFkm1l2CeH3Y7X3sxXwcqvs9kIhDTHco3Bzjbqr6BdrsAfmzB1+m97mjF2Wirtb33TsASmnkgiBEDFhUXbIYWNlhaU0DlOaQyMdSkYZtQv+l4uEPnObauFHf6hoiuM3RszzNAW4TFNTY6SJNuIMQYh2+d6WRlCztJW8R7UlVyvMAbkpdvRY/6qr9vtfVhrkUpbne9pNBz5vQIpRvzBVcs2fmDbGFawtB8u6luhhmnL8mMQfgX/i0qRZk6bAshCgP8VdVre2CH28D/iLK+1SKv1QCVejWSMhZR8VcAttYeulhvT9e88ZDj+gCbphtIxKY2kxDg+ICFUTxkCzc4gaw5yUi7ax4XtvKiNTV10vn9XKi0zz4L8RQsBHiKsEeT6UegBp+j6Q1qL5uZpHPozCWdWk4eWavNpxqIJyhDzFkeZe4N9tO8JS3jTkdMAZkRXDKcbdVXXYcAZ30Lrtv4lh2CuZJFEdRhVUhyi4gH1nAtQLN92vjbqrBHk+lHwAPmwfbZOIjP7euuyNu2vOdF3q4Yesoiq8n0o+AC3E/9fp4oQVXk+lHwAW4YezlPEVhRsCEB1kAX9NAmMiz7APOFf9OmbGveqfdmNyv2seh/ga/1rkXF4qFav9Wv2v4iv+2Snt1RLHBHxOMyFqKcGyMKvnyJOlC1CqqwImWGGCnLwAfpQhfuxgNJyKBN4ahpHQmt7jPezwSTlvWW4f4HKCYCQq0pm/09el6UCdToy2IAf245p+1sviz+AA/v29RzeFtja8Naz7wcrzxuIiEp6IvXpWn3xkrawBlWBdhlzDX2Vdr/Jh4lBbyj/rnET/VYhbtHwiNEua4uM9M/ZIWLI9gF4lBYraHDGzzZdFk9qBljL9CZUAMk5wUIJf0vvQAcpGs5GS0mFb1eQpFjv3hAGHdVTgIsjQBF5f1zcAToqMqnQlfdg5vph9M5ImG7kmysp6jPemezxViVpsSzSAS1BXfn1y4v+V9v5zCz0hkQ4S5gYa8IYwOS4sjvplaIPrTNOKNWNdLdCRSyHjwOAFolOPVAoeXo85q8fJkkKY0tFGQ636lwc8zA2wJGwplEVuSSS0H+vS5afsTuUl+B7Mm2UXbTbPXT71Izh/0TD2+HGewSHHwETtRc3Thvdem0y8CAAJAt6wgXDjbHAU/x3wNg41xbPrDMjOLQRY4pJYY27rtoG+l+7e8j/LFM5Hw9+9a1Ani+mGQgdIXmDE36oB6D3FBvuifyB8FvoZJ16aPLW0najBfSzITtBaxSo49EQlZgkuJNaJbuFK3FwOoofMY7BFiajhkQhXlk6MfVKzTooWpg04J1Cvp4lAT6yhNEqgyxwlQ9fN0cyB8IiQfrYEHkL3+TUaSdRW6fNwepUSd3qzCTDOYER5+y9w66lxyII7Jcy+kpxNMUDCW5/JbI7epkRKvCd9zsL8Qf1ZHudwS89C7NQTdNU5+Q+de7DuXxm3hnHjMgS2I4LH/a/AG87waktNAgy5apjjlz0LbRVSFtF8ywPyiUOvvL/1QzjoPQp4j9S7kk1oX4cjd4kTo38fEFNYgG3H1MoP4KluUNDEIVzvbX4bYIB1eDwGbPefFJl35Xa3IKVZ14bN+/ifReU9GeyktmaN5Ye4qRPOSRH2nNGSe8Pj0yShyG7vUX3d+cJIEgvdv2HxL+Mu8e++GdRNQ4/NeC76fiqRdNg5HK5lhYeGXsujsF85KNAjs1Az3rOSS2FmYOlucdWQNDSGYkVtA89kvHAXV5CqLJHDioU5g4yYfIW/SPh/MGhNNGIXP3GCzI1bjLPVuT9YhNriseL6HyjTMHUTcql6crt8YPumzSUXj2kIGSZCSnS943KtCzJgliJ0cogEiG920vw/yx8t7uQme7LY8xyg2+Pze3tZofJTAZWgdyWlHVKeJSVWPEjXn5kRHg6WXZYwoyg4pjuQyEFoq/PanlD7qWLSPNCc0u+jiAjJI/bUcF9HpxjohK2u8NP3YBp4+OnA+vZ5rh6W4E/HEPvRVyaTTE50wfm5bLct7sBwd2V2j+I4etIwWwHfyoTI3TQyfjrX9cNwB+CH4+5imKadqQH8HE9kiYfKpfQdSuc8ePDDJjcJbizy/UffO4XqDNmJSHr8rYVZ5yloArZ7isjxMlZ7qvqzoMYD+WExwVCxDFyhjSHhZ9GtVDPqIG9jgLfZ9Wv3/eA7OTY28JBpV0dCcXApUArOrYGJYWC1pk+ZQTSsUnPSQQZ9ElB+9LbNhtRfOMrAhgmGDmUkc8zlVltQ7wxPt/3mEKWOm1hUU3vBxS4C4DoiyCERapR6ZqPKZIZlvlGSS3F5duBTSm0ayXwmFEK6YzeL40w7kBuGHEvM+TLfr2vCdFnIL7s2+QITsWOx2wI9eM6AoepgvrCFzOcDvGUwFHjbefaaQrY2tiuO44moEx7gncUPUXwDvITB7LxxAvWnUsogUv6hXlZn179Wy2ilbPFl38/zbFaLldzhfZCszZnQfA2fQh+EJfd5UEk3v6O+tOCLTw0Ocd8YoIzP790c2zePPxY3cc/ehO5v7zye4T3RJmQAtoBv+/ZinbpMLPRkmsekrgVyTj3O3XvRkiXnsc/VDVdMc2aC9y0qBkKdlW5Fx5itwTyi84Qg1G0k6PJjbOe3MAN/tPCXu7UoUGjaB64rCsQXnhfkE7jzJKla4qJHGDO6X5fJjqOGrj5iMfIdsQhadUz6OYx5dMGI/WCMtfIc13sH9Act/+UUxaEcS3ZlNSVSxt5OuyEeFKVIylvbhT7yy7jSBh1+dr9OrdmYMnQwKSW3GvxcjGhKjm9vpuA3VO4jQXECfgIIDFvZ7KYjgao76IcrmfuJW5vEObtCM68rVRdY38/ckmn1nWpgQNNjyuENXWDokZa7MaDmgAyCb9jKC2+F+pWBT6GBT7vor+oj7cBTF5J7TvqZLEKhpv2mZMlbnEnfQmcfGah+Pokc4++vqOukLEn2NQxOOZvmD0vId+wMQj4ACV7ZOdxnLoRPmHX633x0rQ2husvM8/ljj4l30jVi6ZWol4hrQGbjt9epkwncTHk5WbPwmDD7cSyYrnN8S2Ika2XH8K+1tTWm70C6FEOLd0cZNUOBQJykCAS4KlZtetzuKQf+kyX9D0ThLWDw42jNPInxxB7+SX7gfqj7cF1K3Z5dndwv5BcOUa9Iqgx8wrghDk4GXrHSm8L5fyf4N9bTtcDhNFcN7XGiqoZZrDzNZFBCFS0t+ctvH2l8hKAJfxhtQKia+aDhXCUGMN4Qp4/gJEZKZE4xRGrQDIt5gX/UiVk2KMHEUtqhLS7O0GejypBFKkMCH/aQ/PIUE7YEir6W3P5mr5oNR+Pr0CT+rni0b6pNqNOsRfxr3AFp12ScUhugHh1zuoa6ia4Z/dnNhCPfFIDK1b/XxwczyY5hkZED2xqD0bIuykAd0RMIN6m5Ixk28GCFBtS4YxHhuADAq1Oz51elHOA5MHrXgcmtSHkMZpPabwxGOkwwVfPwOncinzLuwZ1ZKxseKiBVOwgfSTQQHGQa/6cwN0e8gOVttgQwuOtyKin47fZtY/e/bC5Uqqw4oqX2dpQCB3lka5S53lL9/QAtPSsrxy5P2aVlyDtcnI/JI3gomWWH6qmUBYuVKhV6aUV3uzA6JJ/yLa9NWNXxsqEOtG8LNkM40/bnUonnpa2vo8zHYf2FiEyID/aNKtk+9Wh5QnVZw2OhfU1VhueMmmMb0WHN8f0/uPaNP9dNL4rGgCT2WY6vr04VTNegWUsWdbJfQNvFXRy+LyR0L3rhDYNs3uAnG4+YfBIHzEm6eGyqPa0kITtMlKSoc//Z6c/V7isGDUqUZRh1DdKPtAJ1/z90aCAevWZhLMCMDnUk6fEiEPs9TxfKstVUXcThtsHp05iYsKoHuKqsl4LKe88j1AP1XzGmdTZBmtvctdIo5VLBJRXw3txmTNzKFXIlDMRDYCO6fbYIw6kJ/owr8E66Lnb5pWX3wEAaPrkKEDqxRmGeTs3FnIqSncyzmqxYFHNuwya8yGLcU3L+LiWJJrXO6qEsFHXvBaXN9wgkG1Q2K4rUdEWhHZSD65LcNmUt2+ryHkyrFL3M2+r7nmT66TAMtJabflJB0XdJpi2zyvld2qHdUS/GDNLd2Io67kBXdKzXs/ZTtYR/CxTVDizihosUBhKPHFvcaTXwLsAsjHoPvTFpoOrDSeBkfFsv8/2YlNepcojpts+8lQFyIzStv8RTF2CKJbOqESh1zu44LHK0pTK2su69spYobTCzB8oIIb92NE/EHAn5jlr7JjItbKJkCoQOtkN+nDhKFzvUUcO4gENXZ8iQLC0ainKVueC4nMO0qsRKyR4wepYK3xmbnwy8SCI0odVa+O4Cs6KYLZTMofVcdjj8Je/HE/FnwR5DsPw2xYZr5fYVWnpgwNpH+A1O90COMjhx0DeBkEyBcjE+dVbzNtOtnUImCLewQ8iZK3ElZec1gxmHy1Qa50V7fQNkIawou9tUy9sXRwZMdxkQG+jHNQCQIkXg4QrveHuOJc7HT14WN+jqoOsgX4psVmoq3D5ZDHW8CtjLaOh5wB2Mcb4w1kNt9ApHb5lXWn2jW5gtAcRZgJqiy9pd+G3amzfUgnDTxR1FKFZjTKjBROh8dj4OUgT+yAmYK0/rRrUCEq1eGPSxVWQ6WEyp1mmZpleXdfhmha+xOlidSg+TAKghShmAX2M9pDR+qRxbwQYRKtKs1b3tGXdVBsyB6I4Sv889Va6s+bo9zctBN5bDLaXXRjHi2w1yAUc6KOFIHqfCy3QBp6Z8Ixx+c8tmSopo1vH+Hvqo98816SJgyNaDcs1aODvPhHepODs3LPcmAIr9TdTIvu8+j8AmY7aMNUpvq/JqhWycOPMMhyl7i8sWuz17QUWSG3GJdXBO3EWd/kydM22y8YdoNyFqY5V7wYO222CsdZt00dg53Qq1OQewT9jiBfBboexXRJaltAwW55iTWxUEYmtIWe0G3Qiq6gjC1ndNLUhY2mQ1dYM2L+OVxsc2JXgfcOvKWpRVlJ6PFqQgUx3uIY/pZ3JQDGWdg6yI22tGmweebH/mVKBO7FayWadL6irVc6ct1NgNgE0pAMS4rHSv9si4mm/r9UHqBDXVLsvIB+/55rrQ/38BRAAAK0fYL3CwqazeIB53dDtIZOtw8AJdjNqyX23D+18dSdXLZBF8oNyX8NufATJ5F4Q1PUnArKLhJjv3NjaLQMYm34MzqT8oGQ3OgZnIUZLTgz3Q/C4KjY0mkra8tBoN8GVhFbwf91IgYCVL0mghrQRHoa8Xgft1n5PyA4YZc12+wWWhAl51B4LeyYyAf+vxws3n3buM5N15DXQ81MQaB64jYj1rVrOjjHX81fQVFflobEeVne1FCOOncmd3cpxDHutK0Y/WNI0Z9WHQLwnfBw/NEUZh0nRKM+dWfRVpGOINQrFK1iZm88N9RvrZvkLbK6lCB2z4hITbS3QlQOWzWzi0Z8Xp4gyAXsfcFC9dzmTflkI4UkzQ1igI4yFiWbcrXdhbgvSxbWyaDCpAyz5V3oSEBQdm5GUdDaNfxLPsAhr0bhZMjF8rtFSo2yO4KAtNJghqhFP/6YnDBVQFQ7FW/9w8VGINg4+xjuuYQQ59ifCQ6lTVKVvU38Ecor09iEb8bTuKO3FZsbVofISHb50T4mPnPFgqq5WFCrAeJbYJeUEji+CxRBXJ1xsc7W5hX7ewMVdgwtZma24V2xTbPKR5LD38PuLOaML657qYMMYBnB0SAX+7T0X5EQVS8mmV3d/6KBikEOJsvx5uhbgkNgbgzk3cAKMx41024cSwfbwV8SIBMyX3odGOoXBfPYM9nCcVPCgB73SzxZrbpTrsWrp5TO7M90iBKSy+fX++YI4XMK5Le+Wdpyn6Xy4kmtiGc+lP6hnBmp1aR2sWDd6t75wo/dRjpbysIRLghCrt30lihDbIjOAoY02DI+ruVQk5qkupptAkYyIAvTVX3294rkLQurU5ptWVi810O9I27eFU8znC0TTt47xsqmn9Jsd+vQUSY+ZFCKyi3OfgUaCeS/nyFpC3AQ79ZbF1ct7EmveBnOihRJ4swRnng75rR1pZFJaKa5EUY7OLRG5jFlSeevdJHxkhCZ4/60zQLTT8bVREZV85UhlE/VIPnb1phDJ+Mb6AnOlBD+HmqVZkUgZHAmzaZ5rnkXhyJD9UV3eBJ4t5sw4793//8qp12bt+omUMUwH7C3hvOL2LLN79jJozr+94S3hhM//AVA+3RjKgK5YXBX2uD0bsP7QjDAAFDNcCbeNA+a46d/O3WQJpC0V68U8ryRubOedIcyBcwVWLlp8E1U1PN1KnuHmOzFRe3X7PRkCS4hErP5dZnmA/6turdOEWyk/nK+pQ8tO0DUI0wFB9KNAhoY8QkuSjNJ/TdyqMvW8CRS3IF9+e5Iv17YYCkGBQdk2bn5FYIhqaup61T1zLc7iSP+tqPGjoI7rjUKq10rWztU5VnmOYWlalJQaE5BGylLHMT0ycrla5OxKUFJcHyIEtiW/LOYCb3cGXpa3+RDBdyEVtfQJtlWl0nkoVN/cOqZ+S3PMdrXIBBtgIfKT+sSnyjbqdfiPHwb9ABUQq//XpLFJE1mhe55y/TQmn483x9vVBaXosC0ZbxmkZCkGN8GI5SS/LlMalDh1Afno9fFc0jsTjsZnX8/dKAbrO8X5urunmUTfHhbm0+MhQJs6GQd8tP6JsQe1fOqQbSrOlNfMfEgfISBdDCli6YOa4kkttz2NW0GyUr0RW/Ni1qrKXSRjp2jJEoY+KMzYzOcFIc7chflVw2DdAAOdmykN3fcyKLlzCmYOMmNJy7lr72nTshoRLiTmNu5aF5wPb4GI7dkX4xZUHmBGdRXHaa8rXJJcmPBq+2xFqKbzm624aotG5j5YE0WT5UIM/T+VFnwhvuvC93rqwONnt5T2LB8qBwUCI7AB7vNaRNpamLN615WupSXyoegWgCSZq4Ry174BECb8DL7ErixF/W5P3OZSct00zAG9rmGnfqohgs6owv8Fl1YgxIsVjAujYcYXVZYq4erWI8pq9sODdhodOdpPvIjmJOa8FoYHTsJ5pgTWbBA4FmYe5atC3QATaGK5dwR+CEJJ3MWrvIHmSThmCt6tqvF7J/92mHq5fKZmm8vArB2Vis0BB2NMIYPEGCoV5Ryc9HBSbVWOS2CYRsHXmXOUwIOAE/bzjLfsIntCOpIdPJvECrFsVN4semGzZYnUBY8KVfwH3BAKfLoDMNwefaqDpvpdWkfwAHdovFBbO5QbS4FotHgMbY9wwbkQJTBg6q4AEh0uHhbfmGkJe2TyNYCpOIiiiyBZurZqlQTsWcfMEo1TzqHIs9eHLx89iuYpBiyHUe2uveQKcBXkeesVeGwf0VbRftcZJ0X4AuPlhdvY1UnGZT51xvBSEMUCxFBRh5Kny02oKySW17D5RdFBgNUeqtRHwLwf4z/FkqQDd4OaXJRQGJU8xG+OAKkl5ceC4i2uk/zV8gAS8j4Qsc4jqhKw8gl14aFEJPL8gp8LxAMlh4V4uwV3Ev13g8/hFP/hfT3lHiwC15rAgigwk5dn+bZyldcLRGMV4n5TaXEy+AbPAhQSIFRX2Lb1rvn9/zJ2+YtRuNjaML0VqFtmCo2++9WQqnBDNakKICNa9e1Krjcd4pmWS804xxVzKLGgCRBO6qwVZFw7YTUE7BlFcnkG5bMogRKkisvDPup0jZH6CuPU9FKNEfGtwWmEH56K/p7YTD8DdlVkbe5louN+C0Zo4ToOU2lUZgN9TG6GsNI+j1sU003eaF96M28HJlIhiOuDVu2Nmdf9JFfy2AwPrbNxJPSevwoKHIdKG4rzPN5XXtNEbht6wvYVxRRbiuHOOJI9E4l7d8C+QDNMs+7MHhN3xsRimZLZuC6mcNkHvChhDYD0VsT6BNBgXPssOASfOYWxlsJ4aPeVgqpKhTtyvXYiQhdzmBaf2CVWtWgb891g1oh7wdpqKi2ziQVNmtwkejGhbuz2XVp5b8BOS6ANsA6qz3VTZceUUrxQ6pP+gmOoFCl3ApHOU6R2RAbz6JQYmt1I0Ws8zG995Mtxg/LSMQUdhA2gPZGrJxyYtgkHuG0/YCTLA644zrsOmZAGca2AnD6KvhNXUh/szfDVgT77DuPoCsu2ZiIEaDB9A1vMmGEzn/s9vvjSekYLAPZimYaAIN2t7LlFsrFF+TjybdcklQSwe7Gzbz6jdH+yzTDCVjtwCnTP+1uDyVYeuGsKWPtBfMAHJgL0UF2zsG2m7qhJPCL1RmcOPM3UqJUQxXzfk2YD+JxO8G2LAhUD7y9QmJOSGTw9dOvVrGSkAIX3/+10yWGLJCPJkDbFlEsy/yot8B6aqweZ6oWv0IATbbEc5r8PSeHri8VnQrx8mRJ/GO4+tRNUYY/KPIF4I+kFZcxO5qy4jbsDECXznzL5MOO/tX1mtLVUeN0wAKY9rLQxqSmcRTNMrY4dN4PWxE2zUkxMUrow/xt1LcYOIWCRnOnRnNAMEGAt0RQh8Z1bZ9skiEJdEqwLh/lQuMEAA1/bNV0FOkuXiWwLdgjJq7qMvSlDb9y1UAKCimm/Wg7IB0JXTQB9rmKfrYjily9Osy9TrfIw+BYcMvdEYlnlQcgmsxmNnx8i7ebt+7wGcDIR+Um/8gKJJ7aQzIJkPFSS+LZEyvnH3XcQWRTB6WQMXm6FTDN+C6oA3cEl8AAB5KFlxOHr4aVzaA12yhzM01J70R0xNarnKqbUk068L53CSSSwWnhK3LNzMcR0mmm/XRyod5f2yPinwYidT4P85unrcwqb4NTt+Kqg2sKvUvoKo7rxzIloDFDAy92HJFuAiHAAANIuX9bGdmE+fJqzZx/MiF+LBWjV2Jr2fjp0254XG2A8O5pXEW137e5WzhpY7vtMvNz0tYhA5bla2ojCfMfl7/eHCR8kq2sRWnmamE3QQmXMZOi6mhKT/S3fD9k9smfsxhlrTaxQpokx0uM5VphitfLLhQksQ28E0V7cHyfYDCmR8zz+N7pSJUhS89NyGBIhXDtnTOCQGwrDLmSPp5kaUOUEWwS9EwvwBafOJRL0wbTEDnrQkio5T6l8hlBMKcPFyj2kbT99oNgA1k7noQLv9CP0tVTuTmVS9iwg+ZICX6DNdxlYFdDaiBskDHIYTofVOlyUhTMjPz+HgrOr0fYdh7Hf4/ZTZHEe2gc3K/oYEMKQRWXzu9Btiq6e6GV8977f3XucYWqislQE7iRKMgw1fvjZZhHlp7K6qlER0hkopW5wGkXksdc75p/t5r7PiGIGwg3IDkRaoTP0vWKxmhZoXZX7YGy8Mr/rUqnigZiAjfpAGgmWxoe2H7AvS1XUBk3cxudvbygvGiqy3Y6DFQhMdxmHcTQm6KU2nBpuYJE6SemJYdnTv3U4FinFIwWv2zmPxhkNlyDDITvjCurvKSEc1EdJwKMYwAWO84hsuLLO/4C1ZD+YtX3FJdnUeLwzbMUP4zZfm2Yi+THctY0DngsA2UvyT/sg2rYIVn4IqnRfxDIH+JhRkw+BY70+gwYSzUzK3jgPx1kgYQ9pmFNsa8UiayWSuKtWayixsOXOX5siBOMqaYPcbPa8/jucj5WRuCTnAYZbGC+qYK5UDNYkdHdQTnMLQ92tVWUjoJ0SwCU6/QZ9T2uf55oxirMV7UJKwfPyiGTsX/aCXuHBrlL6ui6EMCCEMB3HxwRPyJVTPcPJw+eEJKfXnRCk3sPBPuodTU1mCkTCUJ6PmSILdYNdtKDbmJ/kkbutIb5H1apPOUysq6xLzQDiBzCSnKNuEQYlavQ7T30vcporpA2Q4BFvoVQeI4bmRWLTybURsGHoFvKJP5euFdLK3ltj4qD0bwSZWN89D72uiESUSVUmh5cOLp+f3fLGCIATcxWb+AkqxRiOU4VrFPfPSfcriAAAAAEFOTUb2HwAAAAAAAAAAogEAJAEAggAAAFZQOCDeHwAAsJUAnQEqowElAT6RRp1KpaOjJyT0qhDgEglnbugbqLDiSsPlB4Jdj5ZnMeQnvYO6Mw+x96etw7zt+nW067MC87/je/P0Oz0LvdpvZk/kP2f8cfjnqHXMu0o1zzC/Z77n50X5/mX/Df7Poz/8fiZ/g/+16DvWK/4fKd+2+oj0xPRr/aokLs+Y3D1Ba0xjIM2zYsmvC9/l39Yk6cchzWMBBIygVXHRvWpqmzN1EGIZaHYCoiXutrmQDerhC9zCHrplAA3oxxMQZ5sYEJ7DetSYbcP/TkhYJnjWmPaME8khUK6B21plkk7rKbDfmW1/UenfcSY/D3kEhO1Ho1VHltMGiMypCqtfwc2/4bAQu+gAcH1cEsJtj/4vfweL+nZ3pnjdi0Yh4LUUnfbvCG0sntbdvJCKt//kq2F0Tf+SGvj/Gf+h4BCwLyKK9q2WwRJfJsOOvzWe+uhzQ6mZfFg1kyknHxkPzRM1rncroyQY9GYYtMSyalKrhy2C9im2DBhCmtTjkprKG8Ge9Nm6OvvzkWyK88ApWr1LdMBtkaDcyhmosbBt0Qbp7sZiAEO0ZlHc/2qn2dS/LXzkjdgnpso9fvaxBYugyjFbcCz/RV0hry+bnqu9CCc8sk1mHBlXlMm8hiKkwaKAfIkBeiLwDMEgOi2WBstLpOWCwwJZPU96jfr6ipWo/Z32W3bSj3GPDCBVlLIGUJ9H5MZ51CniKd177A2tNMS1v/OIAoMCARuLbY0cI5iX+h3ggZJJJRic/aO0HcmMuCPwbwT7THxW4VcKr+YIRevrwL5+pGkmH2Zn83VFHtzwZZx2bQ2U2HHcNNqNo9jPRp6RLL6HJXh6VwUWGmDSQjqjfZUsWDMe0lK5e+25gqb8wvvd9Rw314RR9n1JvUHiGtniUCDR/unemhsCFAisqZLzvUvGchQZ+2OlS8UrlnkTZNgU+mf917FzFNgqduyrewlnizupDTep0BErjyF9S09Votp8wTm+1TA8aabsZZ78rBhgeD7ES5bKbmfw/K/NfTnDUT23IuJjm1rKzGcX05ECoyz+HuCqYHr2IZt83JZKReZEzHXeb8J0KAOv023Quab7j78xErBoRCQrKR3exLsUyuqLZ5H7rCjm99GRFNLJGoVzAmVmL0H7Qp5iF/X3wiQi+enzAQMDbI4jFof0Sj5fuA2TImA4Flwpl9HOgB0TOw2ayQ2iMbPTPQbfNzwuVUj3fwcfRcTmrO8DRSu3GffPMG3gb32nysLQIe25Qgy8LAcALMZyvNI9/ODm3UhsCck8056luoYRX9aBVd86mJVhJMDXfSnG3VBWnvzBo/hXRXV4qp/Gko6CoT8ngOfy1qxwcPfsNZezLL55Ks8HvzBulep9p8waNuPgG6Tp+9HTMQDc7NayCFe8iQi+enzBt1PtPmDbwaHqfaw35g26n2nzBt1a03vtQGgLQuS0w8k9qo7vv0kzsnR3I6qjp/5bq0N2Ld1vzXpEnJR1aFrW6Rgy8G+BWGgVeTy58aRxzisUKCIv+UH3EFMzBIhp1/v4Y5HsMwycuVF7QZrzPOfy7t1vz4l3vUgQFsdSJY+i1Daq/VlkS+R/6NZP+kFby8HtIlKDIQIAAP79iMuOrnBzywNOfY8JqjkYjnT0sbwO5sqbxUoXnmMeZkDnn4JnfH9xFKfr3zvNQe6tP+L8ledsiaRVTFCGP076l4Q/GbigXAumPgkXq9JFzI2OUaS5ViirLplNQuNzlsFlwxoym5kQh72H2dpPY6NySYlJjDTp2ELFP+8FpZ3DsXDR54EZmO3si5Be0tJ7MwD9PCMeOyweOFck9j4dkwWOlQ4zmanCMW3jTz/K3v7Lg2GBufxv0v8/Xn9IvkNniMuh0+/ZWVlLtkzifZjNndyRPCRx6M0hWLH+cruyCHE9XEpGu/qKld2zukCkoXJwF6R5t1UI7q9R1M3va96/yFhEYMDYpjlkYW6oHpEXnYK+b7soS40NSBs1wEcmUnY5k7AP2CO3gWIqIUuESSonDToNQoL0BPN1113cgicwJCpBw36by8gh1CweeY1W5et+byfBx9MXoa/tg7aNGlGwtpxYF8gJTF7wAAeHPccea/VdNxa3oE4m9sgv21fCc3zOWZnZfc8uF5AbulG2WkZovCBjah1MPnZb84CabxVS94h4NWkTgn3ZT4VKGu3VypP+rVSK9OuiCAY2bNKHwpKiyiVGKmPsp1+vkuv+laDqDCqyFoJgTytwiWKwa2mpTDrWxBpWx/5T0py/m0vucf7U78EM36p6f20HudDGswyG8KVJf7O7jqbu8kNUekgHwr3NQ9z/XA1/g2/0V3giwV4W6Mj/qCyc+ruiSPVOjCc9diFAGR6jqdkCnIAR0JNq/MBAgbDQfgFQEbBfBkm5Po/zKKj6/+i3hnSh3ML3xb6x/nGPOt/iAlV6UUPET1MnA54l7U7EmzzovT8P8HYdmtqe0Sbb2prNxyFY8iXmzd3htX3jr4WvXDkuQq6Dka4scYptJfEtF28AD4BrZff6jlqDCeBf/fY34kyWheRT22q1v2M5UiQHdWD9LWt5r+AycQuKmZPmb7PukF9cPCyO4zXGu/vOt2VeREdynZOXCAasiwysernEh54GO7P808nQfGEBMqkkgxaH5Tb8Q0EMx7ub9+jz7RM/HedG0HXOLdRbZhmt1TU24qka0CSOGVpc9kjheNSJFGCzZIfBobQ1GCaxLt8gPk/ljWRpGUGX+djSeJch/kvRReO6PqY8PikdxAvIuBXE6AkW2AbSVlZUgX0++C2N+gPObuLAvErPfRIj4twx+tI7YGRnhJQiJB0+VM2alZAFMdhd3y9WKjUwGImvrCtbSVkM97HG5aPYoCPwaDl7pFOr0nxzUjEjJMMuK24AEwZTESUbSOCL25ZTHv6QqY/3yu0l9ln/TyLWMrsxfEDzcIHkk8H7BoO84jSQU/Chi8EB2LXwgOdy1qZxKuCdZiGCCw6kHzdvW9WvoSXfD6LVxmd9a2ygtBolIdvCsLI4WZacoXujIhAWsAcE1Z2prZvk2RvFgmOBOz6w+dHxl5SYWn7srB7nEn6dMvUVq3Np+v82GxEkY0EhZNqrB2BzhJv5IPy62MAtGswh1oBuSRy/4NDt8Lj62IjqVzkGycwgoLBMgo6dSJMOGvjmesm2V+m+j7N70b/IK+Q6tvec7A9GPkKSv5djlTx7wB5CKVceb9TZJHX1fParEQboxFoaLs8uDXATPlTgrzF3MgavvOthRhnUovGZGTpuSgbe12Ecb3KSw60ichzbS2bEKkIHAohHv+l+cEAbY/gVg5hbJWDc6gUkhNpEzAZ2S0THglsoF33pYo4cxCLP+WWG8QT5DHslt3g+cC+HSU7clmQUWG/qt4dPGqE1jR6ltLrf83HibnUpwqkQn95iERW1XhvWXgj4leY2SPw26sGUvcqWl5OkULes8jI9zTqh0CJxr5WAqElQdjjQdbmXomZqDCxfpvoERV7t+d5NgFyNOuQvajf8SZ2yjnJSss6VoRaMVkotHAhmMaVmZI3zJ8R3pIBinAeIScD1vJii7jeHYUXxnTiXshy3zHYXKPbmOz6t5tiqIcQyQd3OkfF+3VyF81zRAU2QzMKNVFB6wQ2+IJs9EzuPGMvB8zVhklo3l5sqTqtfTbQUkgDodhpwrPvaj5UBE5hkTh+WSy2oYS1/KFVVdLWu5dSfFMFqFfH+zIhBn9yBBcirWT0+ZsZD7RNuxHW0bgVRHsH0Dc+652kj2mn7cbEaNmnp5hEe8HazQy0fZ2Gt2lJlU0AKfV+2esuUtRCkZ731FA0uT7oUmrm0FJNXSFWzFGvz4PgE4T0jECKlOUxDV9yAWxiE/SIEhHTgKz0qEWzee8BJp/gibufKjc1s+i+jFTiasl+VrVFEQZpzabKl0wWTvmAvlUb2S1UZbE7yUb59XShSdQti1lJ421V//2bAFLofMfVsvT+lQjMZv9a9sR/gDPpLxiwLRaLri4Zice4iDHx+Ruy84ENYgDqR7rkRR9u7NbL/37IwNjMSXPM1zKeZ64GQ56XjihDdlJd90zM/4vCb7BnVj0r/hbwRQX7jbudbtMCLT8CCN+NcO+UWW+N7rvJbMghpbN4QS3Q4pG/w5jpbawWEwE/ZpkPxBOeDBGxkkzLvN0I7e8eEMfl1skB0sM/axl/gCVNjKIC6kqdlM5TX4rssKLVFgdEQh19HIjpTmJj5WVtQpX/q6wBGFBgerPBEbN72bVnEiangzm6/OrkovbhmMPVn7iDD8MPw4H+Z/llNcnRmf4CCS/6RUPuszvlB5BfJclVDGC+n89LIdcgdtAcME29T3Sk5hbMox8XtJb+U2zOjMh715UcuxC7v5AwVg5tT7mQCKHKkMyRsdnp7IQWUh36/91wTDkN4/uXi05CubV+hDfOri/55XTB68AD4A3/WX4RKPYJyHCU42qKHe+pojBBNNgM+EnwV6oSFE3Wh4i76ZLbvoiV7dnZshlBRQgEkvuRqtH29GxOorivABoIVSiA5wGFA+xNcRmJQtkkqfOOtXYCZni+vKDnvenEOmcAGQg6hJ8DjrH+DbOxs9S5o9n2PtR4Bm87p1uFhlCsmZ5MLP1wcKe51phyBpdp8d1xwibfUP6Miv9EwWL5RS9k6pNiGUjy25qmTmILKaJcGAfan6HP8TnHGw05eqDpaFXoUW2vDUCHx04YW5akFXXRLZzGFDi7RuGiOFekweUGIGq4tPzqDcxj6n8EqbfF4NUTjn9FkV8kaxW0hJcZeOBNxbjBlLaLricc0+pKCnnDcVMDl4QWbzx+S3XgC5zq8sjEJeMz7To20OhbP2/B5NKoRgS+XcVUq+CEP3WGYJua1C99WLyvvX3muuWORu8NUsBDfATo+aOZUPhNaid2twa1hHMAwTapkoVOXl6AXgLg7HHXRGXXGDhqtb8eyzYgH+8zfHchzqUlrBEKaCKjCQqZRVwPqv35mjAXxS2aUVzG9DthXQqcjPFZ5WfsLxlm2EsJzNADgHqf6npra7kxB3RU5/HmOidpP577mKzAs4J7YpEsa3SIOSjcg7DAdxelY8u8W8E8zGpuiv/t0YVVzemSd2FCyBi8P8HQHlzjZTmOoZiQwyOxbChUTBIidJBbj0Vuavu24I6Z2PQTN1WBZa2CvZ6CMNDhN0QXPGV77T/AWQbT6oM2oPJa9fY7bOXZvWsv/7XrJpA/qDumfpvjHUpoDe5Yacm92ZO8scypjzdl3TJqDhK6Z0Ra9eOjr2xYF8Ji1YOoJub3h+LEMXj5X3dhoFjlxQUB+RCCXw3jJ73zIhareeJzJv1uPgTCbtwW0EDDlFxQ6lCehY1PCFTg1cBMPNfp90vGSOv/fwtazEtG3HTksukNGcQTpUochbAAtm0ZSGno4LZzYjExAlqpUyVuQyrCBGb5/OrPPpHBD6an+ws7cdJkmSVaGt43kcYLYHjzOstSrrZc2ozqwzAu9ko9GinVX6v5IZOSXyUyMt4Yoa6oo3PA3yVuel3hu5mlu0Miz4HLdjAMeNUbG+JYO2rS0tKBcIKx96UKxJKg5/xfyN/STFL+iWbaAlUs6LYAqr9E+fmV/VzWIEqnNITgiUGldN+bKzIdiAuC9Kzrc6hgdRKdkWgPTPm2rjOQszseT1RCBXHiWFe8GMpaKrozk4XFz++JB80ePxm3eBATUqz/2ud1FenJHSYsxpBucR9YnZvvTOHXmShFoNVOmF30R0YhEgf2cGCbPkNbmoFoC2HvCU6OSglYkhc5bA5peqotwFP5mMIFSkITgQiw4qzZWbvOTbUYMG28+VIg96KDzTAQcsjNS631gY9q3QBBhARx1TtTuO9ejmq9hQUS/nr7LIvPBrY2oW/lpMRmecLOKB0r+Gv6UTS4mwPi6FPfIKkoPjwuAFK9jPwTsH7K6qJdfb4whq7kMP6jeIu6QB5dAvGAa6w5qa73yAvTYGh3Gq9SY6+g8vDPpu8L6jfzQNBS2a3sEBK7WeQ/FsABTGpkldju9/Aia6g0H7W0Zc5/3ClTkuTu6YhQN+iR496kztTgzyLO3XdZKfKmbwSzztiWl6jqyHgjPZGUlqiepKQv1+/UQm0dxsqerts7A1bfuC+Sw243hxDj2YMSlYjAi58ZmAmOegOKLpwr0kB14mnR+T+wEYUQ10y9v9g9UD/qfLCir42hoITUoUcET+ef6roBzvklAu0kNWRwfeealnCnqgOwldBEKC35md/48NkB7GIpCtMj6hMLGtuT9Q4mjr3eyN/HdhdxwdJ4lXA3n4ZuXG7nDIGW3fWd/JgSVxb9dkqBt4n9JJE4p6WbDAbROcmWyBy6FpdppIGXwYgfsFo92bje8s4wncZ3dsTeimX6kfkUCie3D1M/fCAGcPA/DePT6Fn1C2QrZSP+FmyUUV/it2Ikq5QjGPMMPGW8oLUlOQghJL5xqIuoCfR9c3CmHyVVE2o5We2UPjk+JGHR4hTPXUBrfJsDKCdvTLgN+JnHi/iWabZphktPfYPMtf6LnpF1P8+fZNt7sBP0h30CKvANTsoZft5On4OItb6pmZNXldyXEIj1t18VwVt4p+5aMwchN+tAUUHSRpPujvuAI6mNBmX9wA+zvyLSWhq2t4thacb7tPPvcDuwafeogM91Sd4ibZcsp2PhUPIDiL3aClRKEwUQiGJZPWyVNUVdDhgYSnIk6t/rjKJ748/xmZUM4BwbxrzF7Y+LZVRo5GbYT/EdPwdVIrNZeIA2fPFdZY72bkHxh5Oy0LNPXJIuDgXkFnUIUk8UpnXKKpOYb0zh/ORI4WHOSbw1ZC9+iUkzFHhuT+/G5fsdzitPdt0OKs7sMzX0pVSmt4Gk2iwt0NQCBcGF8Y/kH0AulPfhzndy7hIxcehI/e9yv7mIMbLZji0yYTWVSGgp7bDcyV1U76c1NrxS/ZNfr81Ze/GycdGvxU4RrMl7NolAMjOYIJeF9CSVoY3bWEBwyvlj2Qp+sZTiNefL8scQapg8kFx1rgzMUiB/zlNcnylTE+NTN2pKH1ctqKleQ67GTU3f9i0TUvgfxd0tPfkGskBmT29rleTsIrIn89tiutiPUkMjCSDqSOgeq3b4jBoLLL66jrE+4zGR3p+K2XNorlXK8Op7eUzssDc0Iq2CweEiKX9MoNTbBMpGy2/XZoncC/1WiVqWB0T5NaBt3FOA7Lo0ltnC7sEuoDa59H9shMBI7Doc/lACUeJYIkZ7jNJ0UNxm1qTfdcLFHx+FQJ4lMavL/A3V+5pIhSg3itlIaUDKRhegDBr+q73XhcvcWRxxwho8nVXW1ZX1mJq6mF7yVZo0xvFrwuNqlSkBqfFi/GS2dVp4lV52c2PC4pHtnEraFfK8SeYnWq7MfbeDUuFn98VspZgauIqlUeLKzKF5xy0Q+xX0JCe38BpPYKRGY0BRCXMO09ZxBV5s6Z7PQv3K3FlTjtCp9aVR4aeRxzUWQu3+v0PK5b4bNMyOL8jbUjVJgSP+GXk+4P7hhgqWuScvOs0sXt4ZNkTmUk+Icpd0+TbxwmY32YaO+rfART/L4PPxmulYFc12vbXIM/PMNA1iwunJotgm1lqSjZIjzAMg3x9u6TQFImq5mtHzlA7N6QTGuOaxOefeoFUZSJkDFOCL7x0Ri6wnFNo2g/ZBEBOi4aN9JzWqSFNCFlLg6DHbUqGPCE/D/rwm6pzNuUloNM3qtrq7ck5ASOUWUkde6yK445oqqn967oX8rbIgyWPc4cUw1EFlsbIMRtWyFzh4U6Z45YvdvQbbyFMG6DI1lwd+DXVJ+FP51Jlb1AjSfHv5hKgBawgtzmr1RPVfT3NyPRyZ34gjNpvjT2jyFkS6lWVQPW9qF9KBekWQgRG5eQE9hakDVQLamNYyfkhwUrF68r0IEA32mpLlAhJ3/sP/nzpdQGY6177fNsIB6gY1Ausjendmm49zrA9Y1ET9Sc5Si78ZTGytI0/PrXKCGeteZEtzzmQIBh59xKLhNvMGPwHlwsLbjieLj2osal2EfLfb6NoCcxrJWU7QR63Y9cK3P3QbpEldV27kfOM0RkmMjrDWEDqM6O+arRu+DGculLXmrMmql1XGrxLDkWbjL1YWlUG6MefN9bwPt+sK8f+zCqtO+6TeBfZ93I7Z2Kfa4ZnOqPPjww1waqwrO5vIfQXHgkY6dVEPxplHxQIMBiPDMgwcp3JKHNDKtOBvI8tA+4M2aqH//Di163l2HgA1RukPNvYUm1VLSnbC7fX6Tbj1CXzYKQABrfkldvNp8TviQ33EhWRUFDK3V1vvxhOoA+1M5dw/Sl8MVvjIeippCbC7hBm37+LFkah+dz1AnG5i0hGC/Ldi49xLSVm5z9xGp/knKv8qJnENjUBsh6NVZUnmGOGEx1a/KtNHgez8oD2S30KQR05xiwtW8idQ1So+6/nNw3ArNUmuhIe1IM0b8NSqJydpED1yg3alwpRYznln9cK3kEVtpim83uKgHFwWC055CbFUFU3ZZ81Q03KR+8bPHuo/LwXZ+G4VxR3WoAgA2oB22omMkLVkmPJ567TAhQIklCAHPueWR+f7Tl53YOjLu5pFQBbLBUAUr2zgdKZlRog7Rocn/x5sc627IXkYfiSl3BQJN6fWh7Y50+G2iccPDqYzwaYDc5piS39nL4e5gEnnFaEgIpEgD7V5rpD5fRZcZ4oVaIoeDXjFmMzNKLbURwY0KdKDZTNUUvMSEXcd7Ly9rCwWTQjd+zwgfJ+XYvdjYMfhfuTlQW8H9B+5Jz8L/SYAhj2N/kDxbiJbjrF03X+ybpljMtxr/MEE0vX8AYkdfCtpmw+5I5E0h0XSZAMDCti7A+JC22e8U/yWjJQWudgy8HbzCKMbN9HtZsKu2A5trrVN6wBwKSBJAAscwxbY08bAf8mRwAHxYZGCLyi01Ac626s4G2fuL24PA1b7+Z7LS5QPwyWwqaHsom/wRW0J4PA81Ij8lvsq93AE4MVJTvMwHHsQv8m9WHkjVtSotrTvtIDL9kDAR2jY0eDt5U/v/N9Ndvv4WBWxrzt+U4T2gaD1EmfrgsO9w/Mcmx5nMfA9Wn2t0vbwEQucu2qQS8V3Ci/fW6Dy7kJJd/fjFqY/05aN2EBJFzFrO5cIUsjNvUuMmJXbcBSO/FBZh/OiwloBmoa/Lwxsu8Eaapb4XQM762D+s5/4rfU8gpYM9hYrx2j/M0265ofcW939tPHDTc6A4NI+hzMyVW1UzaKebNzPJ1PGt5TzTDH7dj8Wp3s8/X+AhYnrb8wsuEKGGwb+kWvHWNpkULpS1DsOQ9kqxKevLgzlr9AFD5tOI2ON6e0jtrJV4KWXCaFFKzACCaHL7TY++sceGTXRkpkPRPwxj6LOQGwmGyjzlWAcAmXH1OGAaEZqoD3gVBVwNBLdtqgrnul9DAF5xB/4nVVpcOgTouezatmmV6NFExKLltcPyqIgV+EevHASKKfvj+otwdy8eRs6irXQ0BWrdhGbnm+PrQdgBWJL5LvyIs0UYBuAXU9DeeDmRrLvBZ1+i9VrXx6DprR7ZhC1N4fdd7+Vm2eqr0k96XNiAo1gsPgJClbIzxKqRH5V6Pqak6temAAAYc/8DWWFpZHuQ2Vq02InavAJxRQ6yDl828EE1JOGctIMpaVsV/5GFwKg16WJzSptVfKo7K2z8XIGGMNupFW5ffx6Ob/OOKBjH7egdbgFfwDpaSJAAHgbR++dYRjDY8QAAGgZTAAAHK8zQGV+jTB3f+W2whsF1PYloExi7KRMEdMbBrrjzpHMWBXwfvX4ZLsAFPSu9VTxCDDtCwGhDuE8Bji76OWyV/A0z+CnOtIjQ6bLNOxunygXafve0Lmd+AwIUTJ/gpTnTAp4Y7wBUda2K65oOldoCeaadBIvpMl9wjQPQkk5kVzx9uPLRJpk8srhNHqOdWzY6vMsRKoazSWkvPoJZXIsF4XTOo9vTMd8KkbiepEf9oBIxg4swb2o9FFhI6cd8hghJc7feselDj+7s0/wFPmsxwh7QMCRqJH8CYCaFdU5RAY14aYn8yPmEwmxKUi+xDFiClaIle8G98/8Y2M/AdRwxe1uTgMSoIZ1Fou88rXQG4YCwjD+m1DPtBZgCk6cAzc+8z4s0eguWmN5QfeitTmJ7CvTF/fDiE4H6xDZmzam7qkqdBzKYAeq+9w2dSsvhF3E5gj0ciY5hC4KJh0Hwtj53O1URNkasCtD59DvcNpX81CLL3aMAIyGaPT2URk+bzaYdzpLws8P4VQOHlVdUfv3x0O6XPUYVp0pJd3OwRRt1ppemrhDGltpyC0ELdBuqZe0UN6/swozCdTh+5vz6vORlKemZJEJbFk6cYc2lXfwxYnb9sne6U2nVpB1h2fFzmzkSXlb++fA5Spk1NUOcjYoP4Wtj8V1NNAGyq+iwMVWOnx+zkcJkwyFhFef0+Htvsz7uatGVMDN6XR9C7iS1THecrHcWtPvW5R57MHh1R6UcpZA6gag8V+/ty+lH3oA6Qr200gz7SMGAfnLFofAatEcp3JiKjDn2JWlRfUo0tJzak4N70iC/CXv4J4qh2cSyciKPMScf3670FWypJqZ4cUJ9GVpZDjIUNAk8L7MfFInQhiMvoO29botqVsZ509To4auS8Lfdt8zZLfJeB1lj9fsrNbeAN/0xd4ODAPwLY44989TGVvtP5Rz29lUUtMsX+pjgDvjeYPrLwXQj0PnczAC0MbucDoNkuj9jbMaqYskqkDpxwVyA6iXPmgQis2J7Q7zvz6HdVwOYce8LEu+bCMHFVoo9Iy+Z1bKLHZNvbHrb279YF1IamSTpdplkb8JNvZY+KXCZG/2bygSJ0NpE5OOVlPBEcmmZlh2sKJPnR1kM4G9YzdQ/hQYbwspD95DUr9wYkc7tRAAAAEFOTUZ0HwAAAAAAAAAAogEAJAEABAEAAFZQOCBcHwAAsJQAnQEqowElAT6RRp5KpaQjIiS0iiiwEglnbvI53UtYo1Q0nEsSy8nvpPJsH13BvO46dV6AHTR5BpMW89/lP+D4Z+d6eDeb+H8E+zJ/M/s/44/ILUUubdm3qf/J9Av2b/C+av+d5m/yf+u6PPBI+9f9v0AesR/xeVH9u9Rbph+jf+zpIXPoD5Lhkn2/ph4+IVg/QGco+19VgOkWK4ifqM9OVzeePm0k3iLjcy5Dqu3cUN/OpbGuBTCz7fC40KSkoXvyViI3Ub+PrLo9RT2B8dbf2w+JTVAnzByWyHz9Dlj4BIq0NOAXYJELqOsLYCYJTuzUWzUd87CvWnk+kcBDifKWbr+iFX6YVm6+SrsaZWuTZx/9uzGrRXKizfRCFYt2xDoKjlAVgaJVJJVv9EIbQtNLyM2iUPuHLKuSVbGVXKZo6x2kd3AbcM2GCAcMXG6oVQuUbs4lD34eu8u/UV7CKA4ldlN1PUjWole5BMVviNe2N3IWGOSGM7K0BYzi4s3v/k2JKlwx+mWge/G7azNK71hNfRDlw4XxuBlfA8DL9O/8bB9Ia5OkPaze4IYVM/InGoBsfo2fvi6zW/8YVqreuq0wrIvOz6+uEgnmouhTYLDmET5ipE74/gguaRTvg9igLd04s2K8lwDfR7ucDNo6XLmkYg/jSPpRYU/JCSwddNKfea/l1GmMAMzbQez/29rhP2EvAbbbaZKz0jCSBJfwGDcn8pXZJBG0j/CdtkhkMhbQ8Ouhi5vplpyxfIiVaMFyZ7+f4kUyaIeOGG2QtoLjoy/7AY8lIHg31K8iQ8x3xtWzFTgcX7wUnH7swrtS5YuFL3L8mz55PpSAgJdj9PtrEOqryG72fvvHXKabUTITrAlaVMStrFA+2DU5b9PxGoK2E/4IQmO8BI8jJA2r7iozWsOo35wPDHTvJ+Wjgf1FaxouwCj+ZoztHICI5PS3a+wlKI5IolRAAkf+WxIYyjDRBkZZWJvgJF3FwTz9yUh1L8tFcJbPOaUbeoyz+uSOuAGeJZoP39uXEPvkcqTrzluaKV7+INeNwQWBvxV4dkxd52iLOi7JlFcbdVfienDbohMNtjNsvsv8YAOf/48amVZUJLJz/sqnycXxrHcdzUktHKGLW1Zup2Sj0wjucNPfO8QuN1f4iuEgNjV3XKXzHHXYVTLnKuCbeYcrfiTnjZrzoFhF3qz9QW9OPlCL79C2MncNxIMHOmygpYlL69Jj28OGG6WIqvJ3pAP+jWcKWNH8bTl6dHmnZqnHyF93gjnCfLMzWogPHjun1Pay1A/JCBHfa+NuqsEeT6Uedja2A2CyM255HFdYkthWzMYw9J8sVR7l00GPsPASPwaDdVXk+Z1RUPOJsdEtqu1PipLmira5fp4oQVXk+lHwAkfXcAckfSm86qvJ9KPgBJBNfLbVwynGKZS+wtLrZm5CsaNgVSF4hTG36JREIHwQTKmIrzury3NsirBPmcOxBT5cqRrNegNkW9S5/kPb9nrKB7DLfRxx2drEiV5X/TMOe1Zn5XOACEzNoKJ+Pa9CmHRZOUak9JBJP4lmamfBxYpovmVvA+twQDaiODyez+Rdi2W2gDkQOAD+/Paeo0nj/fgiIRk4svLFEC+5Dad+QHzGlmEjkzPoQx9INIW3fc5OpsD/KCss/+eOLzzoIG+VT8UWZdfLv9xHwGmY4YqRrCjfeiNFcagAVgAEmz/jROIQrHnx423QzwG3Ml5069E64VuXpz+6YoGDKQ7SRPlURW4yF5k2RoOvPKURNB/uCZ/ANySDd9Hu+zzC0r9w0F5Xro+JI3Xvv/1wV/P/z0W5SC9As3gnyVY6mzyzWU5+fSg3xoye7hyfQHbJqSo7D/NGQlFGGgU6snhW+Jb95RpvYNstvDLe1utos0V/4GSqaENHwFOKv7E62mvJKij99r0SWqb1PBUU8sQzL0WuSl2va5gUq+2x3YHUHwqg/fc4xmYAcOZmRwcF8FiHFsGk3np/ZfN37ALnVVpFEOuMLX3hVskyZjuuSqlzrsDJEAIPXm1WueM4RboMWq2vsffDX2pd2owmGqLBo8RTyu9NkuR3QcrsiwE1UnWyeN0ZnHaLZ3PcGJ9wEDbwoazmq/CI4giS75kzAdkx2Ghh4slmjsBAtWOrly2aXR93ecKW6G96ol966ulg64bO9e13XXKJnRN+XZeGKiwt9NLjyFla8RFD+5ahJLU5+Tngc1a7IwNpbeW6neSw4Tw7nz/QELl+/d/8lotHtxkvwiS/qZVj5nap2G2jcUaGoWKRG9Z7TBoyHwimjE95Rienhsg2Rj7F5iaiW5Pmnr6cT7ElIfnwhARZadT9WYHu2mJbqeVZD4LuVIhCuCYP/u77P0D70+FoZ+dWexsWLlxaS7aP/Is7OsUeufue+QIWCgdXJRBtYaAPnZo+5wL99MTx/KHqC1KLTJD6kb5W/5LqQ0HtP+/jno+Jzf1nnNAt8VftlIO6YOWyXBJj9/+q1CsolGecV+aKjVq9Xf8z/jEWm3TeCOc2N/shpysSAV+gTOTSndZKjTD4y3T0pGA7J3TTq1m7WIYjtZGrkpep1tDBdbu8zt3F2h/6F3V4i+65G91qOJpVSjjeYxdWigEK7c+ZR/9RwLOWFL6c8MDtfllVV5NP849Z7z4pM304D0XR8/qe58eL8Sw1qtS2dVSDPWAILOE6eUw53KD/4H4a/5FeKoK4wY/cUOCdBACPZOjq0Uq7VIuetpq5Azl/I4/r8v2Ui0QYEnPvRBQBjBNsLk4/6kHWU8yIwdB7kZ/1BrMe+KW02nmM4KspgnRYyXuoig84jB/tY7qwOihSxSFcG+FM0qvrbUh44Z5ltN7MFvMsDGuYx17RqAIII0S4kVSnzamjIVs2W5npGp8KhZ9fbuRAMwMIOEsoOlkI7d8szqabnfs3Iv96Ghbm2yezJlEEwrVuhSxCOgWP/8UkkfFdF6ZbB8QCk0D0j7JPM6HaQw7OwlXjRBEkfMQQ+hz+sWsHoyqphvjtG+llp1G9U4bENwFGeqz1P901rRqsripN3Bq+tNCkwF36OCwSCD1UTDjf/tOTqqW7gYhK4mEUflF1Mb0/+UAKCZoXoiWk0yi2tfP0x63q9E+DY6RXtodLSjKTK4O3QFY7nGVI3zLR3dhumXGjdzzRgmKt8dA95mijyUKNJyR968lQ6XZPNUG92OZP+T9V5SR6UuKZtFQqE4LT7NP8aaFkmFp3VX4MwPwK0/ENk1wJkAPzO9q0NDWjAAAD6+G6wGK/wEsJHarnUnZAexjoqz7SPEx39W22ykKi2Fyk/NxGeBo48MRygy4x9ez6CpwiwcSWSvzUpRwnlpURLx2NAQkpzwsXZUPLDcA8cd9uQf+7qQ+/rZ/PDGDAmSsHX8ky+2J3LhyEcIMihJ/cMjCYjEmfOWZIHrHOgiY1J7G+Qx90UWKqghi37S42GZKCR4IAqSlDYjqOl4g7MJux7Kdunji5U7ntOnaubxRSxq9agWPlOcVeRy3lNYzp6mzkcoRH2LYscYCiv9mraPJO/oMYzTgtf5eYEQIQ4eVRgsAIGRot4rLyzjTeyjaQvCNgah75xIGac5jXY/W7TJTwyxBanGszMveXehdDmYVY3xzAAMBODA6cfnYx45M7WzSF4Qt84c7tkJeNcTdpZbhYRXSi7V9FpqNm0I9JHnJ+U61wnSp1+bwrKbHGCB7qaL+px5JKV55PJV2AuCW25RmGXnUzaaJ4Zs7Y4sYKTW/vH0BJU5muA63oXScJIry5mGjYzW/we9H/3maLl1dqHICRVfM19BPyNJsYI9vVGoLSfD2Q4jnkwdYmQvO1Jcgu5RAfifiSU4UCsr4bp62VUzsErnLkOqFPVpuVHvx3cJUc43YUbM/iNWh4j3jCgzicSnj5uWc9V4K42jYDvZcGCQVC0edAGJ60zTRQqt40c/HSQ517VNCwgFIzBVEwNNqBO13kC6laxwegUOc8z4GxnBfskEdahrltCneaLj7fOLF2hTo8kYc6KsIySxrm494wMO7Ip0iHOUFiAP+/SWON00LcWtefkJ4L8lpsCHMyUdC8L8rn6apyVjpAVi9Z5eW4BVJa9mlVT3pzSjNcAc6I9FMf8F9JLK6++unzSyoX6bAfkqcGoNCeFVgDW4uEKfJMPHVBtzX5CIoWfmncHv+DGYR0M+n3PKYdVXRbOzWJ97PDCQiURWS+/LCyUEi5NadXqA9nRnnu48BBNkMYI1f8rqS2FU8LlYRvC0/ocOEkXb5cMdheQnvqJ+jioxOeOH5W5OMuZhq0XHvA9ovLuGjrqEtatVNT2OAAo2il1rDkYvISz0PkcqXneSHAQ4F0JIE3w+JijlNASxIrGy4DNDSiPFXrt5igKTzm78XMszZGfvxSwmTw7boPox56F/AMCS6jdm8tQkSKYU9hsQhEzGjUGkwLOziX9AzaMNOIHuXTiewPkx9nHNlLZjIe4GZCukZQejLV7iz10aZ94KvZ11wUdI6kgWbc4qARpQvJRCoG8SkpMyNLH84myBgQLX3uMYRQ25ya706bAejAOD/INl1RP+ABJ9iKBwbkXg0USjy0JzB0XImPdo5+HRpDywGu8CLqYl0qW96KHQYiWwjZb/5b/k21X2fzaXLrtoFxXUlBN4/udvqkTHehISoe84zhGvvnT+7XJ2y2ghD5P4h0+sD3Wz/JQss6AJIp0+p4E/5G0pMH5mwSeNCO/26Qz9ijHiDLzDr9FPdJgIO8yHd47n2HczbCZkkZQDDGD7jGZGgKGDl6y5xgUMFHSRE0Gpp9+YIq/4mLQNtfCzaEesKxrSZBkp4JcFTrSJS8UpP4Uuh4K1FI3cjBHB+e45zESHlxBHDCcuw3ayxIONMuaTr0n2kpp04YrmFiUZ4fQyknadLj5WwG8fP80OV/BzPjruYEUL7PNPlFguJIyX3Hpd/vWfDdm7If4zXOnOiFuLocF9rwwCxFWIcnEQ9Af4IfuJdJ8vy8TB94oS+dn3uRrWD8DxZ2s/I0l/g4pJd2TnK/0zipKMDz2Mf7n9BtfsI+CJFQrfHOr2kJeIOZCGjy3Pw/uWwrT7gzX1hGgWWIc/ibLSMDnbLxEjX2c1FKhUafWvrERu1AByKAX/yRh6R41SNRnvtokNuMJhoiBVauScBJphatnPjKHZWLRTjit76smToPULshiavvn8avzjhYzBFu4WuVtt0hT8o+0A6cZoYaaVwEojE0jve1k3YusNdwNkEX9WFtI8uUC//rHD4R2UUtriFA2I5kwmPo9vamtjPQcnuDhHqbGLWqNVLdHV3+PJxV4oX94nF1aKkckfAnB2URirzDuDcS8xa6vNafQfNHqPYTqw20j1BB4UDmNxr3J+339n4YIphush+5mzR2NPvL0yAB1iSxaDtci424sdNd5EKtiGG2q/b83XM/t/N/VDU3XcXQrMFk7B301tSN9PlKiU3+L9XI7GU9D90XfMTxn4ju+LhiUknhGYyXXJJNwga4rbmi5uIvtPTPJWDfYzqCWszcIugHoLjkTkTSGofGFgahxN+pnma5jYdx/tSjzul868DgjvWO15+OtIWWvG5ItTZHP6OlQTeBGoC6kNhs/a+q1pRZs2ZYOPRjPV1wKA7Mxn9TRGn2F+Ob/MWH0ka0dTh4MRUFs8PYOpL59PA1Rmo2zC+L2+Vvlil1dv6AwENMGarAvIXXJY/PNRtavl1bpMx0T3HyTJjZZxpjIXCwv3/ocGyuT84VBvdNyr6tX8IrfWyJuj7eDv+hk49KzNCAQ6fILnQkD0o0NXKNsp6PZtV0HqrvKUigBBBqKoQtT1+GbI0hIuNWo1t6268AjgKnLtAKBgRfamG/fQs3JCnsHeRV4/+gPcvIb4XGYaShi47SUrYgiROzauWzm29aE23MIigOJK3xgcmKyHhDTILIgvt2xdq34on1KPMlrJ2iO1HMRP4KCGMUqK6rcAJWGVT5FwscEmUaFIzKvRtkQgJO6gewKFllBq68MOpLrzrAYLUA570RkoK1+Kye7eF/P11T4x6TVPFuqmzyCNFbFeH5KTHsNy3XDAs2RDKC9o+JA0RQezfgeHaRH7nU0an2h5VDKyquMmTwH1wunDgCs7X6adHOhekK1otFq0J1rMdrWkZk8pFwph54Wh1EnoT4lX7RVlK1zG5Il/iaNPY8vWJadH0Qif0yAJtPryiXZaARV2f8qawLtMYja+JgzfhNPhJDv1CVITGyoDRWynLvcMntD4FYua41VfG7a8sed5hDF/4hvyAkP4ZlRjbOe+0jL++8LIhEoRA9yFACrF6KAqvGGyF1P8bDy63vSSCBs/n2J8W9xaSgON15a1dPKQ8fYfqhC0FdOaAfpoff24ES2xQgqQDuOzyBFvpYgrEpERtmj9FyJbWsx1XhVdIkxeuUQi/USDVZ2BunVPj8jA/rkKH7kGvowkKdubuyY2ImwoFmCc7iqOxNNmNgBYgBJwd5fiQsU24Kk5a0IK+ZgLstSAlfKKfzIWwgvJLMGIHJfVCloXaQibEeCvpSG2oKE+CcCjnUn9RJPC692oWsmlMTm1dW4Lcxjz47Vn8GP+l4lXDR/v1ahE2mFpHKvhL2QtPCWg29Ha+SlUTamkXYNDOR1xJ2v7vGPbZ/ckg+vIpNnxB7xd6nLRiL9C46cr3JuLDIYOduF1RVOIYZGzHDIroetHwPNW9J1CvxPGcjVTfj3hs/ohPMQjk0A0LgAWEAbQfg8CwiFIXPzK4Ojd8jW6YnzZZoEcVZBXh9VbCJ0AgpB2Bzkn4pET/SsNhoFphB0/XrOuGvkSDGU8r1X2JPH3ajJMXw6Dnj7tSgN2R5oLZqunrZ4kAOdWbarQlNqtgtGv6MCtE0uuiAYiIxehXIixnPnozdteraVwzflC4sDcEqdM+oZmgnCczqD+/77/4D/cv5KFTjqc/dW8N5a/9l0MilEFP+XJbQpRT2yDZdaK+AQSJE1zgjZM8HyzO1QL9nVVKd2VfXT6iAmmrXva0KzdTx6i0BnIS6RipG8SNmbijHd6MaNNjgG9gVJEJm35MmmDm209pe9YN7iXQiut79K4mjSk8EgHD06oM/3L1Ax1D+D2ZKecC1GZKH7wJS8D/0j9NGbxNzhHPax/oUa1eyZKU9Lp+xUvFTWfgSbWQve8GVoF7yqAztns8c4hHlP6aOIHmbg7ZOeYnea4oCqBT6Jo65C1i8CG7KzdzLEKk1Xjf+RtQjfT7utUmhfVvv4GbB6XcuTVihxZaAV8Nw1z/Q6sV/r6Pm1Gt70BcAbzpCPl4SmQhbUXYOACjj+a9q20aJXnSu0699F0D8adkobZPOvJVBwyU+a/YMpOVOO0r+Q/Eg03nQd7ytNCYuEXvhhq8Ora4dRy+6bEGmEHCCR/Vp8yR/KbYpp3i7oJDLKHvsPLL5SS/QepQNqJ326R5iyN48daHmANAHrVW48IG6syOEKRVz9+aOg3dD/H4DHpgRcpHzipaXHcnumc4KZve7fezAQv0x+PxMy9Lax1agvDzLVGNF53cS8/4VZQthDTgVJmgv8vBcuBn7t5lYmgS4ovr5d3O2AjW5djv6acWSk12XKqnp2U/W4rbMxUdTOR/xiV1nLI0uvcCTOHNdnECdAb8UUe4KeEgwer76w/BR5o4VcQ8Y6D7AwxLe8qITyM7TrHhHkCau83JlGy4D5kzwjkzJJbwd3Yw1htisupdNt8mRFWO0Ue/wjPcfbHSZOgcqBYag2aDcwfoRI/VwT78xy6b2CLvnleMvloUQ7AupHKVM/gHkuDpuRuhw+pXYehXdrdJjNc2mvZken/Ne9LWAjsL3eDnSeR1J1zJ+k1B2O8uctyNJ2Z/yN1+JAxJyMapQWChtXhKsJO8x6LMnonZb977DQKC7dPtVB+S929BIXX/mmLsze9sI7/mbniu/+Dx/wg6SVoMQVwa+DQbijDY5QBiGQfBiupo+8i/tIiWVzLnHguPeSV/NJKh8vG7Sc2DwDL1/7dSD+kNu6lI6NxTg25e1HmBPhkw0ThlUfusHEGjBBrL1VA7d/0yDHRIcf+fy195rdy7ZaRxHtpjZZ/cvX0W02LA7XlNL6px/WB21dCXgLKZlnzdvvIGa2Pq13y/5wONTZt4j77Xtz31HRxgyiH5+CRneTOoIxQFS8GVAR/P/Bo24TcHJgOg2WpnT0kRKmh1SFZCagOdnG+lgnGAp0C5WGppYiPXnGeEptTRRbIn5mGak0pjokg173u+OKJwtIL5RKKw86nsFcU/tuh/uMvG7M5g6WGpFyGhLgXJIhGn200sJV2nlrvQbwji+8pSTHWM6TJEz1WTnQFGv6KtAmOw7HuAnunWujdi5ghyODB2cAeiI0HjXgzeDEASlsHXDUTdN9AcSBLjWog0Z2Plf4sp4hYGdVQNdL3f0MjMOR3E8JkCMNZSsYBg91LsaDXQ/tz3jLsnuiM8FWP+UH8Qbb9vqYNc36rN15lD28F9NU1otDqqJusnbsIuKtrFPIXvAaN2lZH871jKk9LXJnnYkOEPcY8jZSxkSe65ckBQlKQjuHG6SHDmGHY7sdhkiQsKSGUEd84pVTbouI64THIQuZeb9pbF4shFxTGBLzH2elrwTAIg6Qe1meEjt8H3PNUhSl2MnMf93sjUXNS2bKhZXVgBqLO7jM2C7AjpT9rkcoTBGw3VyO2xzQroD8rpJ05KxW8H0gfLpbuEvdwA0X47NjzZ1/JtRZYwJo93FJehO/FmPbqNA0tDRvO6gh5rBowKc4JPFwLCUDxZ3wZ4f3+//szeKgAE/6OwhHNdh2o2aH8blbKKIp4Fk7y1f1dLBZn2jEvYTF8erzBDpiazPr8e7uC+LtL4hxWb3gPCQOOEFgXCS4Eq7kMgWm9+/kdjB8F6RdDSNEyy9daIcRYi5JKCMTQmWd+0HoqsFcR43wh0IMvPSXkRi6n7AM0pmcBnSyK+jJzDQ5ju1IuB+eqNBqRjSfy0WGkG2Q/9kM7OJxp2hPHhlbocXbxO4B6s/Odr6WVxplMzBTUpidv8JXWnHIrfEUQXJzbLHZfPNo+f85zxQgeyL1o6RcSKradeSeRAZubLXq9wjXS1S9ALgSF5ASl+USdct3u7GSgcou+hBnHvFZL+t13yWbOGkNBIOj6IQhYo89zWbzpKECY77Ja4g5NOteSWnn23atNuZL7wVrZaLwEpD2FdwSv2FxEVga2VLzYAUQ1oTXN2nESgyk8tOEMvQMpZAnF3FiJeUaQdR7bRzfScK3IqRWsCLYXx3NemmgZpTB9V399jUm8xtKjl4gZsOUdW+U7ovJhec8UoNRMNuMSuxuFRUGo1Jg50617J8eqWpjjUhJT/GpSmChMFLvI/9nLuDiJBL5OXclPeJMtONIkMlsUQHHIx3z3u/pOLeARM1flSJU5MGgh7AAqMLbzDkalTUGKhky7GWad2jNURRypM2q1Yid7lDAAQHiM9SAszzgPnswN25ECbpf6Slsn0swo+28rxuwVuibENh+4ZCk3fRbd9WWotB9UVx8uAMatpMESv6i6JtN7PGE5Vc7sAvoTdKg/m1hlYUR12N4sMU2bdNWe3rIWAWzT2CYJtLcCfYJcj9dYQOkfAAXxukwKwcFu6Xi/wx1zf0atITtTfvDADiufp0qyyOhYk7qO8HLBhuOokoTJsXnPm8x7MBIK5Zqzsd+hNRZpw2HC6gtGfRHhqB459dHl8hgOZcDP/1Fs138syOum4bKTTwQGuLqm8h1cYNp2vSL8s9cQdiUe9NngRLi226ZHdeqzpq1kli2ezoPBSxaEqYA4BY4C+uN0rpGYAFey0nSAoH7xeYgqvj7wiU7jBIri/j3kLWyQnUXJEEFZGsEuAGl5EPpMfIlx9kWoiRHpx8BBxSPEPyL0PyWFgLqDNMVSSQM2m+wRWjiGzuQ8A4WGkXAk5qTzEQ7jmiJJZSz4L3D069MMOx3vIKlLdx53PrUqqW8u+ESqfDhAWUzDocFM+vu4hdM0pRvF9SM25Pksw/oVmnrgCyhPqQHQBoLG5P9U/qmoZZFJHE0Avpg3zxvu87V04Haj2H/XVqlDPpD2KkcerDNt9Rnhl0QswaWMIf933RqAjG61ntWwGkM1Zmw1SCSXhy2J7Vm7S+dEkEK/FaJ/tOyRE/IBFp1DHFdmi7mSBIls3gBB6KycCAKgYgjVACqNUSQw0touQWiTRStSG/goSA+uygOAyptZ0GHKilLyJLK+xodu8kR7bgkC53f7ogd0ScYOAH1nKr8VMMfwj/b1cBpAfwrA3y6dxiSUVJX+YSpTKyv1MazxANQ9JGksWQK4fGunhnDiBQXztHd4oGiIm3ZAS9HbTssc9YF5Qsr3c3svnHNLwQyRzsX3TIdK01K9LcMMveTzAVwLgCMsogSIoRVu6kPfdZE91NQ2GEKES8EQLmbM8wGgjNVu+rZga9/jU64Cx9HWYogKC6nbyEoyKgI6OeOzzoUogV3pZx8JCBjAfUxqgWgDrQoZXX2QebqIHuLo8qrH7a8S7X0SOShWRN3ZTW3b2mWVnfjS9pfAeetX7Qy2B+ggs6opgXBfnW4gEqiamWkRZKNQbJy428X5Z0PIbAmVtI5rN9vN96kM+C3SrOlUjqgSjieMyRWuVkPoqkQ0owjvR/lR4L+CJExB/QW5tNx7HQo0X5pv4uwDqfwUBEe20Wi1FcCQSKa/i9qeOJyWCRCJFACNbNxsiU9T3E1SfCNTgAAAAAQU5NRtofAAAAAAAAAACiAQAkAQAEAQAAVlA4IMIfAACwlgCdASqjASUBPpFGnUqlo6KiJNRqILASCWdu+/R3bCgGqEO38LzuOd8gBfV975o8HTcMf1LohdOo9ADppcg0l8egfxPfr6Fp6d3u0zsxfzf/d8LfjtqI3Luzm2b/d+gd7VfevN1mTfTX6no8/8Xirfdf+16BfWL/4PKp+1eop0wfRh/ZwkY0+Y3DswL7mXGTqhQM2zRHlRDfJU74P8sx1HmN+mTx6gojW58bmXIdJM2ZqW7gqc4pDHgQq/po7eKHaI8MKvRgkFkvqd+MfdZ8ZtMZYZ88jAnhmv25lEnF8TNiI6M6lQoj9b1YdLKWC3f2i1nzv7RpOqOCEyFMniKp0TUGCLM54g9YwE6rVIZ1qu8H2WgMP2G1jKj0YpcLUgwYjqbsHyf7j1B+f1UQfWA0s22PNB4Ep9HmYv3Ee/Iet5geRQgRDutBrmbvznC16fLz3y6kDuV4whFmU9URgycg6gu9J9KzqP0ZTHuSutegh6qzAVZqwbj6ZGdVGp65JY4MY9Bfdno9TjFW0MRlOq7GfKM85QRazFZfJZ0UT6/USh4ekWdWfDDbolrG7GYBfjz9Q0WjFnPFwiO9mVr2Or85Ec4t95A7qtqiCfC/KHR22V2sCGav+0OkGcgwU0fL66hVKSDO1OZU0E0/jbo95l3SV4fY5gG0ZmjmER4iqgbPzWt9190ioSM5Ci/dOG20fAUvNKifF977Zv3PGYGFYidmKNuoLB3b7vIy/84uC8TnZHnn6vvkr5uswsRmJBYCAYIKSoNHn2k/7ZRPXInpcNJ2gNeIrb6Bqo3aPzGK1BYx0TmSp7RWkoHhqFwGneFcTgC162wfViPpPtEgHbzOG3V3Tx6c0bDqpo/++vM4IXKaXxIDRkiINX38VV9TkRQZFvhD+c+O4NECZVdKp8AXT+4vKFEbG3VWAXtew2sKBpwudHDDSbsNGElfhwykJWOLpRNf6asOWB+fWvQDFmTyJpZZj5aM1GUd0tJrr9qx0/ONVo4bKIqqH1AXguDS530wZCLU+5NnxMgkpZ6Ao2cHZMQEsd9AIiH3mMl5LGC85CgxNyn5tXMB4qf7f9JZKogp5dsdV05oHFuGHyBy/TxBEFz7ihxbaEY5DXv9FOwAYrEyBBfkFBSWjEOkCtqTF07JBgd0Ws9ipETVOVgsgiGCQmsxFLkohHy6PCu3KOZGaByyUm+ITsORBS9oh+rFiuYM9yyzT+p5w06E4nHDVMi5Tm+EsPIFbb5YkS7LlJ4z1v08Rf4iuGGk+HAcG/APJYOwLqSYhzbSrvN7riAH7R0F1vUdnYpJPIOSjMFk8mCje+18bdVYJvzht0S11WZxuyR7WDOKr7Ak+Tmdv4v1crPF/WQL6cNlEVYJvzht1Vdi9EJfVprrLPBOKeBkjOQZvfwxFV6HL9PEVXmcNuqsFd6uGHrKIqvM4bdVXmcqt+niMZo5zHgDGEy8+z/helzdqodfi7SrrNXhhN4X6w4oJp6UsiIhawL3I9tWYKZ+A+DrNr5jb5LXImuHLJhrVB4rZemnbNAgV+D6TjcBNZB0xCUueZprdFemYhlqBus3p8IK9JqSCRz/ZBupbz0V1kBZTHOiICOkHj835hcpAriBli8PAAD+/YjH/HwKIWKcq+yDB8vPcpc5VSJLXaAX13E5bE6iDaESG+a9ueS2s6nMI8tJa/Ltm0tgOw8xHzp+yEOK8REiYzekwpjldysqlL1almIQARst3N58uSsmWfP05hAuK0SWbSmM4xIHwfHnysCnR9gxWtvDXgsRBdlwgsVozyPbVXpU7n9oHbIETGW+jp1/Vb10ppBzLrrQjg3LEHJGFjRTH/QLP9/EpSIumnsckdLdB2rU00zlBn7qq8rMdj4fkFhiqPxHGZswgqvpPpkQGZJfUUCOtXU2CqbK9fMfeFA+/oxAUU5BtJGVwq+RLl6V7vLe38hZ6PTl7Ws1jzhbox2ugeMmnmCSuWSje/jLQsA6tvUnG5f9z9AAvVHAsn1c/ULS4u0L5sEBUyL25S8rSY/wkVJXB6MclMFWQbXHklDkZ+wzmy3NJfTcOJiep2vHRURNMedUrXb43aySDZTyT83hwMgf6FN4xE6LFlAqqQZd/5I4Kwnv4a4Nj/4SIpTSr94D9Z1hi297r/BOxnVTTLC8fCnyj2Yw62JUjmraT84ldK6qB7PrfVYrN40hJQG9lmRucORIYGFYmzw/ahRg1VNt9Co8nrYdHVm0Krxnn7wCtlc138p6U5gDaX2/9bhWbqCr6foSBDbvdm5mI/gZQnj5j3SkZqzQZywfVRfm1YpdCodMEQKNerOu5RNyz/i0LnA6OhdZtj1JlZlO4F3s7sYrV38QPxT5NX7m4KlR4eAu8v6QJ0/1wLE3fkxm7KNxoYy7+65+FqyJzJPPb+Ltngwv/v+qwat6xYa+otOUwCaV1mhvfkaEw31SgWxDgovrDUfBIqmG/IgpuBfH+ZNg9+zuiFl+vwBIEN7nLyVmXdcNcGXLkDT6atRTqF8VIoSJ18y/p98Gd+ivJyXvnPTXgIOjrUlleEh2P/Mx9PjWxCBc5rTQoZ9BVGFh/Ie/EaXh/8eWvEocltOQDAuzxgDIwMtHKoHvsDqo3kvnEUo/JKthcSe5CV+kvS3n8sI6ElYZHJucbyHSaTPCJz91vh7y1jbFdt8lNCSV/T50nSexzddRoVEPXgNvw1UKO8O4lrA4QLafFCDLTlUFE1QvxQPF1g8K5RMQYkqTCc/hOeT4YnPMNHwkF0TtqJZCiWmnnXuyT9eH08S2S0Tolj4/VOeSS+jj2+ZQKA3dNJ5vpqd3jUWqTBAJ7VHfgH7d0VmiFojTDb4N9l1aZNMlnR+qluMtiVINMu0JIq75hqHkGRSw9JxWa2ZOzubCKLLEgTGsJBXK+vl1fE6u8NH+oR6ws+npoy5EDY1tgNsFDnJ1H69A0FqRTvgCGsGgOADdRrbDc3nfQWcQhZIFAD+a7J03WTmg1TZTA3ZZHvmiqQT0T6dOLrlxqQKTHLqDPmG8M6d7xzFT2ac72glu0ND35sqNKuLO6u4hvqVZ7Qava2xraQRHUd6/QERx9I4UtzUKruKX1Y8+LaZ9Bkox1xDFHSl7CJPuA7kkV8BfJmwpcCAvhRo5s6cp0WWLJHpesVYrqxb5j4yX8JKbb7/VPFTDu62uRdJ0s53wLHs19ZYBqvY7kfvTCqjH7VuyX/WOnW1gxnavAkh1cn7fAzWJL0uMy2BAhwmgKXddEA7Z89ZQdbrp8fb7V6f+5NrXbrQUMyia2AtuEoIMhOC8uyVVZVW9iAN8nrQcMIPpwai8fr75omjfp2QGqkarowLYZ+2w3bg6SZAaP2y5ZmB8/L9fc3lh3jt6BjBshUKxcQzQssW7b5nGknH1IB0eT/IAlezO5F1PKmkFI4/nM7Jgu/LfPucytxVDUtGuXAlObzla/c1li3SHvZ5tlCxn+Cd8tKeIZWx+BBfVmHDYTm6Lyu4ymlrJx1l3zDUFpjVi77x46LSuQo2ThuX+JlOCzWktejuwpEYOhRQP5olygubyzndFCCcbY3oFg0goo7n3eoL9pat3Dn3QvljBVmqj6hF/O3MeVNEmRben8Y39VBeV652wkKb5EHGer1Kzz19k8t5f4H92TcJuIiI1ldkqi3q/hcaTEMxH7Tp2tSv8MYdz8fEYzKNH0tVwxOL0q7Ov8wh7Utu5x9WLIpTdMeCqWbrhavy1jNQZF2MxS22tV1SCRz1+TpP9PQE0XlBVf1jaHkUR5AiAopte3awN/B5W94h0AayPrCzDg8+oXq+nYOlUZjQfvHn2lZTYK7i7E0sRJFfRMyI9PWY1E59M8WG/VENPPkYJDk2BAhGsUKDPl1OE55sQ4NCU8+OIyScxcQpfs1+W7t5huPygYPpU3wrqLwtVJ+u+GzaEvbH0E6Kr75g+hehV1j587GIfa2yPg9oj3iRbEQE2ZwsQJ2/Eso3owXDwkgVMlc+DChLSsBtAoY/fPLLZN8L4wxm6auTlbshApcBfXJPVOSM2jvbAodjSQ5ofnGw/q2gjdlXnN/RU6E22p3EPsbzsKGwfVCKc1N5x97LZCt00dnllVsF50Q8XYANiuO60Jl906psSPDYUOBT6+RGLJZV4JHMhJ1ZTBAWReBdemyl7g0AKnULPMJPWoYbgK9Uo02y+ArkZyeMlsevNwe6HFx0K6mDDVJJy5Yf/N7lDMAHR70AP2F5HwJ8PwK6AQVCRnsggEnffUWko+Gd80b4rq6FEMj63Kr2JwYqcC0eBatQuRnUhuenG93IzHCILJmbw5Mb4BQHXwkJ/s0Vd0f3O7pchcwUVuPEFUgPjt1RbIz34rc3YnlnZQVS/mN6yX4uTeWvVaoMqnBNDSK/MerZNPwUPn8ggUDrye36jAddSvw5zc2gICZiRCZU4jtAxwVnezupo3yiJ2Ya9te3wPgrK9tvxR2Bk9LT1/OO04/tmVYKC2X/zxUGmKyMruGKsSvrrz0sA1vV5P3OiAWr1ybKZxt8jPLTjFdd9UrcDCYBTKMRP653nhRuY1/HJl5cKXzKtIxsMvBFvK10nAabYURerxwIiHBgAiEb0fg0UtO/LZGyPJvAaZaKqitCFhnHpKLD/gzd1B1yOyV4wSnaoSiVK1J4hE68+bJWwcXRABl4D0bwjItHmUjqloa7yUCNmIpcZ1vw6pswkecV/BJvyi14+tHndWa+6S5GL98l5MlLOoslW48++gHdL7pRXligz6z0cwQVlcNPQM3rxeDHHuQTjqp4zAXe2Zxrw91tKVFYtNk1We/zISZFKD1H8zsZoYi408oDCfT9v9hgle9sBqrnsfECuWffGHfmm0RzmnGNu5lImKJFxydsxfFEVAZaoPWELCJzFFJxfRs1f74vH0p1oJKCtmKMMPvwDIE2tYRpvA0GZZ18JZ19f5Ks21aBfIBRNq/pwpsWi/mDWXMubKLGFIn0QgBDKxQwJ8SFi85Xr9f18nDh9mqzTbFZ+1w/4Bsw5c7e1DqE26tMG911r2wUfpOympf0u5rBzupMt7K+ZWHm7OPkDr99y+ThkMAnxTCQDMcrGe69LqcIfPO1b31YBo7g6XMfvcONY44Q4UhUeamLa8r4LEoa4s7g7mFiPKjzj0kR9YiywF0rPs1L7RxVb7rHwLEV7KI2/r8Te3NUzSOc4LwDbsLoMW5/XmDuGBss7JkRCyBqV4+USs5niet1FXJVrk1mT2J5IWkFdA4nT2jg3AxwqngQALLUxKjxgO0V+eeLGsSW+mFB+2mte1yGFu46/HoKWHf82lFzi89OV/h4qucnqkEZH+R71wLtM2oUQZ8sjq4BTpkg1FtlTeBUiCfN2ZULsTEQ5dEO+C8pbD6QI7hhYpHeYeiTp8fkg6nVQ1d26m/71kaaEoFB22vuwH0CDzrCv1BKIHtrOO5UYWzJX+UTZml6gf5Ejsrkn7KsxNd/lYgN6Cnuaad+7ldTpr4JaBqSJcPIwe/OxM/5RyFk2Si2tJ93apBxOpSNwmeTsdmpAUB/Dc6VYFffZbeZCqiFc9GhnkDuPLqXquKO75kyvllF/2Z3HFWj3mveid96sYPK9FTv5uo/NQ2wIL/5bI7j7wkZ69ZMFvIhw8Et6msdugRACPWH3VjZdE0KGCkveZYedunjtQHl6e77jXjX9NylHiAl0PJX7w+Uw+NJLSIWcwjz6NVw4tcdFDHovtbOt57L6Mxrl+PbInXX9EaRe08NXnjxUwjKQFbDUiiWmT07B1pnhWHCT+1U2qr1Kr1pz+W2TUFnoN/qLJrgBBLjERLkJPsMmHfV9j6loxaDIpxz44/S734wlj5Y+E2Br6ptdKqHrtjSsjar1/qCZHETsQQQQNNrvH0B1NGcBtyykT+qXd6QGC/1ZYiFdHD7RXDu9zlsLeT9HsNaDc67JO0Ix0YmcE2tKVb7NqDk8udCYrjKGvTD+jsLEpMkibEmsqUzixKufmVJ8/WFi01mcFJkxmF3BqZ5fGn3N+ansfpnwfJ9VolaowdbRr2uMcgM/L16lWq8lIQwtY4rzkCb0wlBZoytqsm09skOtwNe202rJkzhN3K4Q7AN7Cb6ckaeo990cHPfDBs7HPyIpATKNfshvpUT74fpzKEPwshKsmeEvhI1IiBMDUqXDcvdPp02+f8FWLsBknpjzKv3W2j+OjrWP0E4X7mnGZqw+Jyj0N9ujKQiRF9obmRJgPTzjxffmkudGVdiRt7sUD+GEl19+e+KSKXD0CR14JbhB633b0oVGx58XLHvdgP0/vY68rx8VDy/9vPRxz9dACIk3DafqQT5Op8W2ScN9eRXoftj+ZjMcrR+V00YSlYUubZxR5dPuWdm7kpVNvfx+gd1zHy5RR8t1ZJPGIDoPsRcqNfrG8klQw3Il9DMD5MknOX7EObACVPYDVCAeDuEtCr7ZGV8+FdK7XVLMI/aJ8ZWUajQu3I/ei+UeqKf3XQZU87mMs5ZqLOcnhnatgicYHliwEw0KQ50ZfeYhNsrJZf/yRYYrc6Dazf68MpHZFv3rXnt2YctIZDpVxKFCO3Z4xjWCRovprL0vkHpobOiGh/O5EKMkKH+xDelDmluAAEeois2cTYW6eoNAuHwjxvpdMo4pCQKd/wkIPaAWbfQVYrz1EknSEVBpp8qNg9udqh7x4k9uu+6bnFXaqnUudDDgDAN1uFFhKcEM5c9A3dMgo5x4dJewtbvqfrGvnMkIQst+OFMjgi7sPt8Hxztkk2WFyklO/wEPNIuiBgYQxOytA/zjpkyiRiBS5tFvOgPkjgxLFLMA2zNp+PExHtaPl2xhe6eZn4Y6LNMHJRJBk9EtXzXl2Wh+KWyhbkk06v7ohlQa3E5CaBsaWVoFG43zbrcwyzBlneY0ZgFnWVDWYpsky/HvRKYvQIbMr1SXSZOEAVErphQh25BRwgKcUjJ7Ce7nELNK8+QuWrZmmyMPIaVRePvgueHjpsLRv+Lu3RE2mWhxLPlgQI4WqtPAhEfdarvBm51rgXkfKWzUDVu0X7DzI/Nt9buZUvcsUYb///KqDTtNxiIy8/9MxyfjGMlaSmG57Y8YpTT0vFhVcsDq18MlAy09GRVbpZ5TO70iz9BxXGL8KrRVmnPOzolKSI9mOBiw38bl4+yXiJj7gAPAcKD3woYrPm3EU3Js4ZYwtwq1/r0L4wGmW9vNmxzzbbxu/FVbidD8SY/9QtwcJr90o7KmJ8xkZcyGYaH8S7m3yPr61RvPiSRxqSZOIFelwz5Aj0ulj9Dvnwdchvsp6fSPj18tJx4GFfbgAYyha31uWHR2voP458jQgE1UANEpaQNbEd+bcTVpSGZUy79Zo2JP7AwZwaU8l+xuoRzeFX0D0YuZvWYcmRwV9sSDyohJK39wDYbs++foXiM+XrxdgPyrNfPRRvKipygdJFxJTKLTixCohhPwBMJWM4KFOSpW8KpC/RA2pUJFIHHWLktQWG8/lvaajP0rypxmyaZ1sUPLWHZfQgmSN+UI3LWkGnB7aRjTBeQECEPP/A/otb7QL7mF4ro2h102k5UMhRpPHPR7i8Tap4/MtNFWIzreqndD6CKNPRN4y+hlKxxvapfUMNqinGHvbQuXFJe0m9sTu58its/lWoyrTKZW2z+Jz42lhMoXFVGZp/QDRAKPAhPBlXbMsvfw0p6XBa6usub+u+L3eUE2Q8B/oFuC+g6niCQ2tZlu7HFBhZM6X+S8r9cZ0M98hfjinnuWIuH7igHJjPCuYTmleQNZf8qc6izLTJ/Svq7YL0bal3SWsqtYqbycf/Vcz7cJ0ub9jlQSGp+vpsAxyk/AV6twlekHqsqnBri1eGmcCzRFn6Sb99ZOvl41KbKU2RSVpMd9kWpbL0IoGUa3qS2yz7KFBEkzuR85ISOIyhjCLzz4ljxELWTHZqUXeuq6D4J4fCfVFDYF002d0R8fAPKC9AG/UBWb+IvNcNapv/8eCEQhZuOrUiVn/MX+tCyr9CnHbo3HkJMywk0LF1WQa+miau3unr9Tlkyc09eeZuaVXxv40g+l3sDjDGOoIpb2HLK4VRPAqnTuNxro5ykdjX2tGzx6n9HXjl3NJ4gHUmC/Kss8HosppmPhtv40sdeHECP91WXTrIz0s+Ud4hWBIAZvsNlYgUQCkJdBjqTWRsABiPRAUmBAeDQ48ShdonQ3l5en6g/xJLAOVCc3ew9+L27ZFQs2sqmPU/i/OCIBwMA0MLxOadaCwLEMWvg9a9hLOZBXc7qX9MTXuXbXOt/Fq2XXNrjp8SaWP5wBx+w4CpKqaGdp1zwKLG8id4ozIUkn+akryONmSGUReCxCyvRve/GzJ9BXxBIOUpG6jybTl1U7xfa/OHE1MCLfpXhm+nB98EFFItkHE0mxfZeUY8ABqKTjJxAu+exU0Clyb9C5K3JP7wvratfpQYgVhSVtPIvajQtEu3Gra4lP5OQIRAKN/aOQftzAQp5RaAFYcTMBdk/fblecRucI0CBdtAeK6x4ATJLU5ZYYvqygVAHzMIXgwUr/+atksDvrISoiZ9h12HAAi0qH36JlGBfZG5LWXGWJarvk0rMYH3OgEVj5IU+i+8Oanpf97ysDknESr5tJlYldPkCFdveYUIhlBXPIWbrE2/YZEt6R/ExXU4tVwulLhURwk27uevPxl6cks5EPqTf1P3WEab6OzQMf8gj5WqXlS5x5uG00esAq7pCqafJIRX3EgLIIXPCOIuALZz3fT/tKhFEwxaIBd8coX8LNbOd2PtUWzJ3ClsrkDIA3agURjnBTeNA4OxqsIQKlOATSD84XxmciafwlYVcaZJ7hpUIMpjagCOn9xxV8P5nJrx+ncwPtlhV56zmcA1OLdD2IR0jXbC/8Mu1z6Dj0/TT/kjNAt7fUFYAFzIcvwlBG7gUxahxSaNCk9BX2umI123OPFZ0MsDPY3Tm7V1Ek1CSDHVpCwOhw/e2gElGH5T49/kXgxtJdnUB9Bc6jZJx1Rgq0fhLQydd7Uji23lc0W7HX5UPRnv6yF0452SNtqNKHG8MC9wyoMzMTID3AheS2/i+QT/94BAh3wOoHYY2CdlRi6sQZzphrRR9LRA7VvLVU6jS7ZQsDF4ps7gWL3eGk3+PxpzjHyteQoqrw0empvuRp8V9K80Mpbd7/nI7RjqwpAjU58RFEJTXc3FJgVtIzAtEIGqonF+oq6mp55tiR1icUQCDa9Vk2NSxz5BBa0ew3jq2jUcnyfuwfUuHm+zVWQkBGsrnY7xe9TbsBV7dDkh3Arze5ULM8jURf/W1Wqcp3CUuxmvdjXbTA47sZI67elkZyxvXTUwwKxwtwe0jBSRwZTQ3BC0MJfXglmplWy+bAqA0z3b3bauu94c9w8RYguGfi+jvAojtBQUvV0Z8zgLy80FrtS/iWH7xU2WQ14J4aK0DiKH+sffwckr73PjamdSSSJbulwEzmZpL93aWFk9EkHO6D8yoJrwIDG3XafyC9pu0bDBWZmrKULlvUhUegOssh732KFm3OCvTC73bgqQET3hGC78M7S4wSumqyl3tTjwivZkZKY8edkk9+YwRmo+RdfQQRmetT4FK10bttBmY5kBGb/jqSEPjGDFVcFg3bRLONku8FUNMu75VS8p9nALmRTkLR6JiA0TsD7gW22yTouRjla2PEbXebPg4sJG36vFvJwgNaubxXiD+Y3fJWXqyRlxIv6wJ8XxPfO0D1w7y1n9gnhD/oXJLoagAFegUmZO2lp2EtIi2iaesRvIHP8xOJUNxsc6KpDrMnEmg1v7Neq0eA/X53XmMsKtC3oeXKi1OQkLRpOPi2uaaS8KInz6beLYH4SzWZqpE5j0FVsrj0vr4xseVi/+Swn7OI/DCthRmdrdx0XSin184AkC5nCVJSURF5gHY2Oo86E1VC8SYN7GqR7ZWiNXU2Nb3aVIy4yfwf/zV0F1UNWGR+11TDSRUxsv1U2QtO52xq5z42i4CgXtK41YO0tloiGdCpPnLX9/j+v+v3rSZg4NVTa+V8tplW22enmBjRlH15msyFF9PzneXa8+/q14SB857m/uUSamD9BPxcov5IJnDguT6vWSHZrm0KAedE1NMjICWpmGwtoWl5dugakImmidO6z2xW4LzxpXZvUm1p5vUqm7xd1EgkDDBGjC9nT/QI3toWmyBpcwAiryxNJVM81z7kAUzkwdKg7mWX83chEgA0wMovavlY/uSWTxn3SLMKmMXhN/SNJQbEnZn543c16lzpT5INSNq0khX3K7EZEAqqBY/F2/XHTgArwBTDQZj09cK7SrTXYRRDUeWzxOzSra0gRpij/PevlQtbMwvTDwGok9DkMvqF2PqA0V0wEvf+21/O7UC0g8uBttQ9nL+4OWLxt5G0Lpfl8e7MYgFbwIUj48HjARnNpHOpqc+m4o8Fvw9Jnh+mGEP7LkPn6DD2hqj+TDGeLooOxFxSA3sBfRwvq1JZY+56aGge8ii43StADd6fiz80KoTn8msaXBQrFxkWGJfOIfJWyZPRVSZT0GAL687etpKgBRqxksPSYdWDrUxAqFN4SLq9BkLRQA1OSTx7e/7qx0sn/ZoxrCzqF6F54PxD9Fb3wMTiczoXCaoDrXzynj2YLWAvdZy3N5pIUiFnH19TlAZa9zDkxxFHwAzPX1/lizc7QOKqrviWOh8/zX4AS/7oKoUQ3bT7Ns0hoo665VgkpHndqqjTnHCv/fHf55txnvpBi6M/rAAm6tXLW07RdE8u0lSruRms4P0SRMQTGq/Bo8jlor15y70xNstbDfZxQngr32KsEEDlfYgElmmtc0VhWyAdNcU42+sWeGyE5JJQKwG3VQlQq+jPhpAcTr+m7VYDYMm6uVCmuAsX/UAAAABBTk1G4iAAAAAAAAAAAKIBACQBAIIAAABWUDggyiAAAFCcAJ0BKqMBJQE+kUadSyWjoqKk1GoosBIJZ27HL4Pq/t85j4ANTNsH3fm+cx5DbED+KIH3DP8+6HDTe96kyFeYZ6H/O/8bwt9Ds7W8Xan2V/6D9kPHP4gahbuvwb/I9Aj2h+4+bN+b5mfw3Pp/4/Ez+8/+L2Cv0p+xXvE/8PlI/b/UU6Yno+ftgSWBjMbomwvp3NuijbO6KAtbDBoSqYX96w9dkTW/jQO3Aya0w1X+iBqui/WpxQzzcb5OGumWmuR52FmZ3YR9KUKWyb6YlLW3RzOEmGZ6sp/jAomCsK13+BNG8TSvIUKuNTRWHoBy9kFey3moSoDGpSPq3qYNcUoEj6R/7ELCd/vBzlH0Tb6syk5T6sj0uszmvXu/BQbFjPewhK43I0UAXOnggHhjY4DhRSI4SemOyOC2FFn9h5PHbPzOfJ4E7OCP7Vqb66hgSUA3FjauIR2GtNpPca6Ohu2him8f+eUyBVM3CmMAQgeTh2xWG8zL27M9TmPUv8dcYNOG7LIEKWgM1AePu+9P3edZ7iMjBZjmyx/Adi6L92QvyhKJvi3wEju3HfQ4WKufP1ZobOJK5Gdw0AfT4kmZifRwn9UR16q2D0saOoHOeMgy+cXgjq9qh1dliC1sw5a5bCfmlXfGZmdVK4s3ZDJwXobGPiDt0QFpCQ7kZ7LdZyFUms0bq0yxWqXZoYm4fQjrERBVmoWSoD1MrRuFXCTxWicEtNVyycV15Wp6M4MJNTuvSI/VaNhSeSDEg4Y4FwJEgFn0gwuacOpEmxGOX7f0V0wRgHXGIYDW3fM6+3oB1I3nXhVuAxauFaNd/yrmNc0MwCyExKzZFBsbSyVkZplpTCcVwq8GFTIkd4jQb+M/fz92etVrz1ei186E9FwkVaFjuhUQIHcY3s5ec5BkwOHsCKYyzbdFdMkfdc41rBSiWcOkqlI/WdJUWMP9N5/9nmLpq4f5oFeTJupxwvB1HzOEbyQoFhUpknoFSos4B9Sds4EmMkfSozGpEySSMPfqqle/Zx8EcvQBT1WV3/2k1qGGhiD1xGx55mzO5WY+0DaUf6a2AW6WcxCQlRhAjI970VL/LHrQ6rUPEAkfO0JU03mcN+aF0O4l4qEulP71s8OyiAKUNBNC3GUaGgLxxkbz2nK00iXNAYZEq6geeMd7KNSeIj5OfEf9XOAcwWouqkG2QAmYhdRVgIeGEX2UbsJDh4EH2XMj9pUTWeYGgypD5H0vslmxSe6h39Iy+56iu/WFZlcaAczBakJrzzOHRXtOl0FLzh9URF3pd1qwcvPsxzhcxmmvbXTD6c78fKxgmYMGTAf4h8tonDoz4Y6OQdHhokiR+DTpMiQYcAFqnPB/pydxC80eEwGjUztUKrOpEs8bRrUSZEkZEHSZEj5ovQaN7m1zNH1DTpH79TkjFUKetAuylAFGAEj6bPSZEj6Ur4B3jWAiAzEkyovF9dvweF+W/OHVR+AkfSlfASNoZamHseUbV/tBd2UHSZrzjtnnIvmIQ2E2XdB2vXIju/sC9G2DoMot2PRZj/fh0Q/etFdUtvPZTIqvNtR1dCdTGSJ8SUfAxHXjuxSinBqnQmV2hWlt/v0HXBz23akzaQ5sKU8oUpaNfJdAlGUE9BwsxxWMY90GGN2EsYV8AmNNYwSl58HDillunZVJsBdgf8VwcEvQAP7pN7zY4DrbLbGOispVxW1a4ZuA7AB3xpEcesvOcD5qPCBAzK38c370De9mUisE+5c+1ionmYCwF5/ojt3rotOesIYdaiaIgbt9wCOhmeXogJHGLc9PoJXnn8iKWF3CM3fWfC/XG03qwAIw4FmdTd4bOibNYNO0A6imnoWLbHb/p+dstJLzVDyDr6dpaTWeupnEzAoDPGIE/MejrNlRmOadkeLzULVgw/xF5u56Z8cLFb8L8EjekgK+jD5pyNQc/4a/JI0V7h2YhnojBbrEQH7TDT1mgY+EJ8zhf4ZSsZNxH23aYM6E//o1N3vn2P0HciFS+3V42/sSz9uccxUn3UcyhNM5lba6V2/Qonw4qRRJ8ORFuDDGK6+zq2vWKUAx9p3aXzR8KMPKAABVmU1wZH4ouHXUcOdTRhfBkm7en8FnnLE8NfXSjLSxe5sq1+HqZA8v6pNgCX7meTcw0O0imjiXLnw1UEhUH5kQD5fki8oMCavo0pFrQU7MMPVdlAJQI6HoSuYUP8N9DhhTz856FYhBCbjNx0VyHAEQngSZ21wOeBuCmoi3qD9dx1fiGhkE/jkGOUwZ87BS2xcwjxv1TbX35Lb38g5BmBhgexsJzkgWeVgJdCN0m9WgQoTNSS9jOv4Uz/zC/nWVyoTT1oi5/LwIIpxwab58wdL7PJp0H6qe8nDpdEVPSO4+3XdenMeqyQLyTTLuWmZE1W6pGD1VFMfKRQdLlV1nY32Zu4uVoNCNdHCCNCHvUK8ua9KY3ghzi6zacJoXlwmO/801Fd5su+eA30VfudZiLfxcZtD7mpLXf3Ce5+YzSueeYZsEz8aw+ljP/d+WXD+Qm/gH4gIMPL24x6H+WLc61t3PyzRg4SJNbM17bHvbc6SIErk2hj7+yxoTIdREWPNauzqT/p78YksLjri7dcx/7Is+TGU3Qeu4BX5puqvp9i42eJ7Kb1KAb6n0tnmQMkOZiAhhKaGxwjDA+DBZX9K9Ggn5g0kFbXK7yUBJ/p3pBdUGZBJjSL/2ykAr+oiHSrL0Bx9rLZ0HYcQ6Kcax0tqGe3tJnA9Syuicy8W59DMS5s84jcP/PNl1f0rmG5P/Vax6WIGCvGxPvvrR0PzEOpYfDJn+7/GNuZTiXQU3UKk4PxJE56jM1YRQf57bVfGah63eoV0jQvMdKpyjjT7SsEEXdTWdal2RDcyhuRRLs939dNdnlSP4xVTm77r6f1hPqMnvGZwnCXXVwFB8PdbXLA6uAZO8A/ZOd3jhtWxBTuFIKZFQe+3N83Ker60JIQCoXUPR6YpVVgSFhBJOY6ivFO4PtLHSR0NvnDIfazr8J7pdZYWSthEgXsLdckZGWoz/sYQXWQDPo+rMZB5E87SA4vr+GqH1MUzjrJnipq1mNOossy4vGB+a14jaQfhKbKKFG6lvsAbNSTTiYRkNsKVFc59mwzuPS1JvAZTWBjdbd8+1pWdJ7C/VQwPv8uvi+kcXxAB/r+pIlQP1nQESOh1GOkUJybKzds3X/fq7Zku4PWkLsQKuOFBFilMadp2Xoikqsl6Dc49XODMZAuzdUWHmH6HkXlbuv/5VA3UAmMGLCSx1u7TDXMWh9CBQVJXIZm9QoJnMApvMQASHxth2uHj9mYDhuwQjbJM59rMRZF71N8qPhZMi3oxxbwAi80RVhJav1i+0gKBmpAfc5ixqs3snwx6+kqIeIcNgv5W/tu/saXGoKz+uksHYPOxKJEf3gECefxLbUfDBD/67avR/zhtmkyAmjX5fkkMe51t/Hy7+gDeb1/3sU+AbuhrtVbQijD++S+QSu3DD1SYKCAWIhrXi+wBjUx36Teyp84uRIuyM50X4BPlg5Y5ZERZfRwjlGEQgGFSZLVxWJfTtxKUQFwUhl71ILTG3T2aChvbF3jNMfHGVYhsUJFxbFuRkHnEdVOZcb0CmkgeHbLhVidhsOCwCBm+NJg8Klox7qF6oZkiI52kMGAm9MfgljtvroF/KdXDhBJJeaAP6eDS11EqlwjVBZMtqOD7wr8U/lT8/5WysmA/LqmRyIGhHNLJgn2wZtVT8rZir737ntiVWvlznFunxofTIJjOWr/ZqfLllu4yNkssaMEu3LGonW8ANMI6eDx1/X+6J+yWORL5Ys4j/pCAIMlbArBqCwuMnBZoFSMZ/NjT1NqjVvZ9+n7iHJkMNW21fHcA7IortJ/5GUftnTjI68aFBr3wxPnLy+UiIeMGIT2BBI4W2ITOcu8UlS9WOpzI+/l111HKFFZnQ8dM5IT+HCI3q4hkwxzYxv36BiwetKRMEYEZdBdWMaZOOIAWs739RB7niyLYvnMOyheivTkOQr3ZHTFyT01XyxQz0IvUoyMKiXkGNttByChjOy2PY/HRFhnyk3xEfUTTk9kEy3LqAUES6Myof/5Hu7flE8xwWNs0esEuOKp5TWrMZ8gASH6kuzRxby2Uo1q+u3gRQRaKRLPosA05gN8PFagl4jqqnj4NBckPgLnkNp5ArPR/FlRGZyPul6eB9YsORsYmRAQC69NzGBKTwsxvsSUoemNkBTReJRMpjrsJer6FfMRtwRQehzquEYH9aCdAeQ3rang/RMcgEiy55GtwVShNALp8fHBLIsvh/TSxGiJ8W/eOBl+n9njpYmFTTZ1aBh9HaThWIo0AK5T45BWkLZMROQ85Od6bPQ8LTYSBE78gsQCf3c8vY4CNGaleSxhpin3Z+66tJoq7xDye6m9ubS3wxYIDys6nfHg/D7PFfZpwqwrTEpGYkh5wOgJVk0ldnlP/0l7Bg4h6yJX02Ejqjhpvyea8xKdDRJwOtacGhgDA7wii/6dkBS1Mc7UQPGycb+3XQxUqqhAxv8oDK2tVNcsnLv7JRwd+uCAq4NeuKaRvwjq2EgCgYF3Per8eafP+EAGB1pFLh7Z3VTV3p0HMKzXfTnay6LAykkf6TjT26N/YmqQM3MAeTWwH4ztIBIb/4qFS7BVw8+F5uBEKfbVR3ku12jGLPtMlS7lhV4hBL8u3BK7EoN8fnm1PCqOu78ijburgLfDUZB2K8rnlOpa88eE3CWnTyBhYdjrqlO/f63vniGbbtBaTo6Cy2pJgoQq/wfq4rpjhq1FVvCtJnRlnzPdedvIIjylgNyqX13Mr6LpF/lO7yGYcl00sMezN8OrmAEy8NhxzwtXdO/343qWsaUUIvQ0J06Yzv+zJKLhVEJv2Ezg9zBUcjaJHUo097AVLuDc0/QoR0rsQ9f7OzoMc07VWm5BJ3fL3yKLadig/pQvYx36D+5MG95ANXXiq1WdjpMj7mgPmSkRknyXRPpzaJ4xwwG/EQFO72Q5pu1iHCd7dW+mfup+zlZUdR5D8cMzVDMYkUDSil0CfCTOq8FhJuN11QB4EJwdymT4CBDbhEDkd5y3x4wOqeQzd4bBOCrwqbb+R7NBbi5YbaHzMoiGjoveycYwM18CeJ7ZxxO8Yeh1n2ksixZtzbNmk5kDvWqeNiyB681suuf+DgciA6ubBz/qcHblAungCEIBg3n8SYuXtwWOwA2xnoG42vEw/YOA6rWwCXz2FHGIv+Q4hO+RxC/Gq/QsUvlWPtiqMzMzTXMGWtSkh6PXyM4w/eMDZgSH2o3Z1KMO8nvo+4Bi5kjieOsiYhTt1zoXP40te6tmmqjEVO2P8g4xAI+IShBdoUH5ofWdn/Vg3de8Vd4umW01rag53ctq2YS0PtMHP9PROOecpc07JVw1EuK0D7bnpG1n8qS+d2q/IIiA4Cnpph8vp8ijQY8rJJrEDtQRFaTuwbOo6JWQkN7mkDWa1zq3hlO21fd/qLQAv5GQfFa6saimfFrWDJFO5V512/0NyggoCaHz9Xz8sAQP8FQRxYB/HCBLe441g7ikZ0f5rSVaVcONJnshM7BDZjn6ERegBPrqx5qzdlXXY8+AdUi8erdnGxxE65yQIKSG06NbYdiLRRPErwo/9+8jQiMqHpvQwq9as3ldAc3hsluYSu5Hm+ISjoW0yv5Mpcara3gO/dQB+SR6DIbMjlzFNbW+RtSKTrmHDyynND7R/RoGgL6Qawrrh0YHiavHfTNrXFtSFI4VML1SgHTE1fLZPRbeijfV0Y8Udb1iYno/7aTpJ3sh1UGkn4D4BAYIyLdcZzAgHCcX7WOTtYetzurxlNW250Iyom52fnMMDtntFqkIoLrQ+zDY3j78sYvlLSzRIQqYkYmV9SjHcwwvUpKMGwHsghiMuCPOnxzycL3VkYpVIXhqiCiSnnUE3pL/Ma0vOR706CIWziH3wm/tgos5Llfw7/iCE4jr1G1kgaICyrp4K4CLDA4S06CPWJkCpZghC/XCpKuHcBwPzD9j4dLhOOtNk0/i9A78Bm//dDIyI04w3+bUYF16fDey9mpjOB2+OwGgImXPx3Ag8PRIkR3LzeuVJaPiw8k8UfHZmqfapLoo7uCh7uUhimCVjeTji2WSwmcMP9QP9fXlWshekUZuNCHaUgwt27xmTsjSAic6jIiL0WHQZKvyYO1mb4HEvi5Y5rBKds+m/fdQhdg6Iyj6JiS3mvAWbqnFMjrqUtaP5gRi8qVa+a8eH+NF0Aiuu4eACrF673dzEEtOSGhIs2i7E5XKmo7Ba8v5MfiUnVYL2lMelPxA5D159HotL5MyX5oZevkXsl3rMB3ZtgtttXW6B3i79NmZlEbLL7swMpqZLqdvLhWOrdLyizoMVideZKcQJCtxCi76VD8lkpYfwLKWBj5oIfMlVZpfX/jx1dBOYstIk/EnjOTqESFpHzuid0Ga0ACIIezVsxg5Gw/NtOjfR/HqC7aIXYnryBpjkd80YAyJQ9v/GLjty3T9f743sjby1+K3OrzK1ZXMsRs1/8pBU7c7iGXyuP0mu5Jt3TYAc2C2cBC+s7B/aa0ZPA4DysT5ZlcitHFXJJHM8SrxlpzkGr7w3WNHrNUkkYJ+bbQSb/h9tBBYCxVoL1OtYRxdW/FgGImDw4Ud2y94GdijPh5NnlNVyVrHRGhpeykQSux9+9tsFEW6wETltk4Wbv1BaWm9pn08cLjfMVYwDY1oozGvUImfF59vKZWkJwT9qLNoXYtcgwKykRgOIdKcQvnN+QGezVJ/iutTdNp2rzoHveNxyfy6Sd7eJBtoD0UD6rUjx44/bG5pGT3EyBDQaBGhuAMNTImIk7RA1haH1NhctGRA92xK3AamsI+ajf31chkxKSRFkllqP+x5erX/HjyhmUSh330UFgNz2c/9RW9NJZFFpFeT2y+NNaAK+Q0uz0dz275r7Xc7+h8b1RkBIJx4ekQA4uepkJMTUPHHBjBqDQKiZMBqlU46ugIUMqkAo5w9MfH5b/vmphoDpjGX7pmD1bQcO5XHHVbh5TjvRDmC5YFX6LMdQYBQ9MAZR6MLVMNFxC6QYUlScplWWOChGUhFNaJ/hU7+xw28IS285xwz6pOIfiKpic9elIlth+ksQ3nyiVX3t5heRf8vZikKLwN1JMBG5wOowLfr0oWezD8ob9j0kySswj3zceDEjUUlj6snOoZ4XUXubkALSvGwoI0HAFKf4NukZpgs5EOYQ7+2flTzT01ulU8R2SBUkQGpZMi+sYeSUKU26KRyiv/Zn8F5mAk+3Wr2aVIudarC3i+TbNYEET1pMTZ3stUBZB46DDvceVS1abgEo19peXAbAFssSWIhzU3alwL07nHK+3hOD5T05m7vJjfeV9x3xFkABM+fe0v28FmxrenWv/Hl+pkEm4a+KigES1/ps0HIY7Ihns8gTufgh1fCKYH7Wlx0w71jzk7OrYWy5VVvaUNlRu2zgF/Vq8blR6CgRDc/Tv6lyk3z9LpbaLZGGHO27bynoN2/PPZq7sxXCWCiUp1Xjsz6Uxy3GxYdemhxRP7vprgdSKGyZIKmGfNRnxykrgQ+vEWHpASvWApXZ6CYNviaOWjX2OWPQ+5dxmTT3uRlgtf5B1DZPT+ZzoMk+ygcQ3el38Isa5aK7EbAyvhcpSRMjCTqVB+9gC7p06hDsa5ky9gA5w3MoRyFR+UFSZDwpCNytggr73yFsKcMzjZ+jqDHbfT4MPn3EmbwBMUeXydsE++slW5StO8prcPyjzt7DKi/7IlxCLn00h08M9KaoSV+zILJbs/mDpu+vzFYZ6XaLk/IrT5kZnsf5UIxAVIeYOHA5ZZeVy66N9g49on0/6cz4HcbOiG4G9U5QzjbjImHFSIYsAJjugBvjHBf2ZKeW4XtJWKBZAmwcgRiU5yuRMYvSxbbc0Wvz7xcfkjjj3MyZdurTDQLVeSgR8hPasRFkuRuTXqWlVsCYC18a5Y8MK7ciCyq9KdA2P1hz+2ORVuWH7A9VcsNPdfybFXumHF95MzrPvX9/P5dmhr8tq0Lm1PLxpznvzNl2t342OZqL1L/vTtIDN7YdcUPFZ5i5Ep5Ik/z3BLEklg4Ap2bRG9Qk0Hi+qOLd4J4+0udEknRei6md+XysWjsBp7eND9VxffiudjVbxSfjvHghm0T3St+Cp4Vy3qEyxW3GtbXsEHIg4vTFe8+AWvOx6DkfyNPr1eCx+Ce+ObKtJGY+dRYZzEUTDmCjFDlIO88h+7ln6EkxEYHKPu8p6UQ5HD/JNoOAd85dJIL9eiB2HYKc2oO96/SXbf9geuvWHG9tCFLVzJ6LLjxfWTnfSvCeG9QXW+9tpsTi5Gb/AFIKZ7dZahy0oIQuf1ZZhHAd7QMOpRKnefetxLu14+TBgqrkUepnSw8g6jwxjTIb0V6LeYBs+C1Pfv1AcQSEQAKq5lL4C9nWio925d08mY/4Gkkn2g23b7XsydQtzHlPzI+aycFm7xyhEHd3n9G7HEzOalOT12Nq3xJMY207O95kIxwpZL9bAuJFPMU7WUbKqqoJD4pTnH6Y21gZwNfzW2tuNPs5SwRW0HlRqu+ygagLpPMUbZ/meWbwYTo0P2n5j6WgEKcpzC/eDcv28MkJKnqZNACpPT/P4VMnJFaZsdguDto3ehvDOuxCGBJmtUCmHgKXFZj8EZbEygmqUAFmoLFIf+jPZjc9Arim76/1WBDumxnTAHZyi/UBFkpDMYoO1mdVyrJKyivWo0K70I0UOtHe3agi4Pfn5Tp2W9/n6INHdZADzi/Tm51DKw28bsTmqMRIbkX+8hFUlb428S88cxjf92CQtC/KP37arVXK8JusKPjqmAMOadkbo1xALIJ8zlRE29k7TBXhE5eKjxQTlldpGNCDDD9+BKgNQjNfEFWYt/Mi3gqWYfIBXCXf3Zi6gqx+dBv4CCqtLCs723hGNdSS++2SVADYmYIdDuIlBa2GRYhHySgycc9ChCPNq19Tt7anAIb0OjnTzjoR5ZAeOIlCh9/HDXulT3JkTh0dQaIqi13nDOPgBAe1ZdF69POYBgAp1A3SZzrJlsBkiB6bnvmV+copNeVXF5VSf4bOVjDcDAIfvMLo5F2KSCLGr8Q5JaAfC1Yul9msCqFKyd4Y2XZkiZmqzPeYpp4cWqWzp1kifvjDpFt5N9aLVMHaxuuIefPMD0iE42aCDy13F9PHaIDyO0jkTre9G21SmjF9OtCdvf3RpDsCLHo1p1PgYO0k/quo9naQAgKH57hqOZ8kf62jOyJ9t4FKoKN537qcI6yNzMRY3Ll9K9SJRP8qyrgSQRykE4bGjktSID9pb/fnpley3JHQT3s0wWrUGBDJrc+W1DnkYVlUUCZL9KrHx1D+9hz/P8gyaN0arkBUSiC/rfrtm+ga2v5cuEKPv9D5cHsm+SX8sFiecJFnKtKlzygGbq99K+8Rr2PVyQUDtgy6a1sj3PmOoMdLASK26Ks1Xjxd9+yNQnFR455Pb9Oj2Dhd4QtVr/YA7MOsHP/HcUDFNlLBX/iC/7EYi9DmF1g1RQjbrABNS9XyDvPazfrgerR0JbJp6o8kB7pWC+ic6JWkcLkAjcB0f4jAKhJW6dFwJXZeGzJ4aNohpEMcHEJAW9CaMDGshLak/4EQKgS3IohGWK7YR6L4kJLROCJl2YxMNko6Mr3jyYXEkEyFZ5Cr/70peje4RN08xpWB40jOWzK1Y9qyiVNv+KRpsC9sucPvYPCWh/bv22URmlDbTq6P9YrMbQGj1B/0kjKE5zqs4VFt6av0ShUqE4KsQ96VxXA6Qqpuk5AztruIi/COCMKoi7IV11lI7e/j9OgRwA0xq9QNjlpRZOSg4xL53xjdT9Mq6nPcQB51z8zObJYqCGsijXoaIY9/q0uPaFGyDtqd2LS1Q03zPKovMf3urEddwISahyGdT3eZpIva9tH4LpVQQn3jUHaSGtsjioaVx4g5M+t3zEPsMUjauz8D+HyGYxMLUfMyThgiHjkHBNOmCZn471K9sbnGGlEIYc1/fC/ldMHXLOUUNizgugmzA5QBIaAssWLKySdVD/wGY0fKbh0mBpfZFC25CEJ9gMEXBgRFFChwAvjOQERAPcYz3d0pXSSB1Ed24zHvAr4UnK2yacw/47Fv6fMKu/Pl5mvHP+SRN8w/HABCZq7Viwa5v/wPrmzvtnA6O+y5Ov5YG8NR00Re/nDllIJJE5R72J8hBwUTANwmVGivOT+jht8oPmFpeudHelblZUQ+kxPqCLtQwON+9meO4qMHGu9OhEyTOSrghowI9ASOBmz3P2ywPvKz17MitdPI9qaQ4FcF7A/WBzLRtGrTm/DuFQqjMmE4+1ARELKAeddCvw3jfgl79siBGcAI6itDR2oa7qMTf1JkE74pLFk8nq+ksM9UslTSwgNWKsn34KAFk7GSEWS6mjr9annmbBv+o8rudXBUVUqemlj743R/Sn+De7q+SYezj/H+GuA1ME//2KPcjpR91HM5ZyNv+NuUQaZos9xUAD9hLCpfk8dpUKXlzQUnJVtZL5NRcMXnajvVP5hZXs/ctU794Dp6NkEqO6jY4rUHRo7h7r0ZR/ov4QZPUP8786CV/K9rqgTeafgQqhF7MMipvkg8nCCM68D79XbSX2v1S99S89xLAO1AeV1PTQWfvye6ZHV5Dl9Ou3BfSTXQvt5Bdf/mfmwU6Qkga6qg5NJFHXe49DuqEhF7emQ8X/o2f8zMf1FyW/uBft4JogHIZmCZcqlIF8Y03/WxkI/KVsKLUiChK6DhDJfhrLGlFR/9tWK2aA0Hdat+nw9DshcDUY7NPcPzkMdVk0fCUm3McOkx95FMO+SlZOws70VTHUkiVXNGMsMhO29bCLJmItpb5wlwYqPqD5FeYyPMEIij35FGrMXK4Kd0bmoKqGoJBo1yHPL3MleEOhoCbp3FhCRV5hCC8jeBozDWC9otcP/hEFbwNbg0NBb0EFTYjvS3wSzbNRVR2dIk5tp3NDFEhJ/SW0+O/jsDNKYS5ilLXk8xan13+z6j8RSarnePmV3FyYUcy4h2b+V1lz5PXExiPw5RitwYrEo0G8VB//2j/OI3uE+5L0b4idsa/etcW4xOxIDA0F2fujd1Mi5O8vldQgrNPhjodk7IKA1MGFfhEQ00JmE4LmmL+XsK17DavTdVQzcxvjyuNwUadt8+rEFH2SCJ3fUVAkCVbuewAAEFOTUbQIAAAAAAAAAAAogEAJAEAggAAAFZQOCC4IAAAsJ0AnQEqowElAT6RRp1LJaOioqSTujiwEglnbuFiwQwX07f/S+c1ynQsee8lN771Hbhn+odDXp0foAdM7kK8xvzz+G78fQDO7u/2n9l7+Z/Yrxt+Pmoi7T8Lfx/QF9mPuHm9foeaH8Pz5eBZ93/6vsG/0n/Tfr17xH/L5SP2z1Eul/6Pf7YkjDHgPkvLVYvBQxFtNQ30QQnXr56ztOUf7Pcu4Ovv29L5t6sokLxtc8yzHkr20SX6NLarZ3okOyQYQSh1FEnOU4/wCHPKrAPQQgFGkGMgYAVbM/shdPs92D4BXiPwjrboqcPdPiZDeIB0GU0+HJsYATJnfquH4SOe+F5YdbA/rsB7joc/Y/4jZ0od6Y5DkTOxTpA/pAzNS3mFCZFEF0tHvFv+N0NAD7rQ/MgDfaUhUJrPZkSBNUi6ZrS4xMUq5UOU3yHErzBpUB72C1SFAzswfvdkSG37BRitcvhhdPdt6GrS89aMZTXYXJRzEJiNqInLmRVI7QOGj4MVh9tFbCTLf1NSaFNXT9ZVN5BFu671b9KQ7FWlC9OtVpZq05qQ7tDOiI/edOsZCWkqV/LUwgrt7omNjDcgHeDZNzcmzhupvIf0XZsOlpBShdiPh/cQcaR+WGPhQciJfCL8wbAbKTPhWysO+1GEkyKVDELoQEMEOYvSfoYauwDtyVJ2YGLBwiSDuyxNk0RjHcneuw3bCIAU2hr7YO6R2BmBoG8j/9Foxuuq9gNCCCVP2S10r/szrzJFettpfj8yl/KoXFJqyHDZfWqHDtnHgQEvuQan9PKP79pCEPjSOl+bbMIc7iKuOtE+BMDvJq5JDkFkBtE3j8xEl3C7ggTAc39bcYhhTvxhK2ExdbYN2mQN3sAUuvBSrWwe22m2afi62NX8PMnaA9NITiF1P55V4P77GwtTj9fYukSxoUDnmezp7Htj3R/O5lICSDvq1wfamjvLCHsT1B08T5bodLkRTQoXS1aJYQa81Sow7ahkZIgyo0sItssuNleuMLC4hidl8pmbXTrxKNLOw/wDvPCn9hAVho0R4rKTo3WbE2RhgOxfffUD0PK9DQE7JGx3gwXq4iFlpNHu+8Otrtn8sFdQ4zlJIk9PZ3yr/AOvuTJ38FvgHCHWr0+jadLpjtNCN3u44q+UCwyC0/jJlrdT43Tu0yU77PG4Kas57z86YdV7ZV7B86imA5gtfQ00twicZucc/P7CX9y8CNcTlk7aA+c5l0Ov2HkKY61kma+qEpQdu+R2JAGrmIxBQqU24t7RqKC/iG72uBs8zht0dqyTKeuou+8pZzHPiUSwyBxz+YLwopBVCf6hbL4jMz0hWh0gSGJcnMN/NbnJIXyrVbAG6wLhTlznTq/ytkxqbLTWh5nG937+bg9UWk2xukWLRHJjFoDku9vq9hUwHMFr/ASPwT5k9XBnK6lu2qRJ+j5nyoTE7mhzBrm7kkSfGEhA3VznTtfWshY9W8fmWvPhJ3CSJSVAtU6C++jwWv8BJCBurjrcoDrGvu4435zi6PnXx72WGBLGuTS1kQJM7MH/3OtVygcGUXy+sp49oTcdSRX8GQomvfSsx/EoWGqTKI72Lm+LMBu0ka6XUJWI0xGoPmmLSWXkr+nmqaVL9rE4c9heBOe9xft3ZuE0XkKsrOvxj+S9M2pJPS6adNPyEr8XT2WjziSwso3CyQtxcWOwAAD+/JuJr/2bTL3nSiiUYVn163eeGR01ctuevsmsCPWrlda9QdJNxaMl7JebL8v54GpEbCf9gukZO40h2iJruELYvcru3RHQAmbknglfjbdRhjS06Zp2mvvycONc55fIkAjrFbozRVMsvbLjEgTX46m8SKJ7pkaUQcYWWkyL0TQAXmCyD2TrwI/McSy7C69a+2PGyd1rf5xpFhF0ow1d8O7NYsvPOshYesfMqdhSYOsXLfVZ5ztSiU/JxSoASV+5t4y8ceLs6C7aZulf6QSVtL/ZJx28dVY9wE0rW5P6qu6EcntANhNvEeOrnglgAOvaB4sMSIMr7dTlT9Y+eW0iIAq0m9qF6ERMUBcS2Q47K27caHoLwIGU8vbYJDfiwmL3DNPuD2FApkaEGDnjGxPsJgvqqQJzyxdIZ7iXh2tp6o+Yic3mtFA9Fl5kyKs32RQTvhTpO3931m0gWZjlIPTD23qm2qeW2Gha6uC/8EkHSF6ICePzP5EU4hGxRCPslbIzUm/ytMywJRHLjVwcu8bO1PLh5Gc+gmZoi6JGcyhojzeE/Y/lZ1lGrJWyFLfibVpVwrItFufde/4qelP3scEHdfIOeDsBcVETFsM3FO1bLjEO6F/B1vNlWwQmb/eZNtPOaqdqcg7rVlc72gQeCmz1W22VoU3bPfz6zby8a5yMYu+K8X8PM3HRX/SuV40exlvYrnjFiWN2Ln3zPRGmSbXXIMG7u0CKUS61Cl46PblQ41zJVOjDZ7BFZu096A/dYWvHbrDlPlFCP9WQIc/ZM8QMnSqy+9ucN417Xf/qqktWE5wPl0iq66jWK1cujDjWm+JGoDOjINm+k3Rl6VmdnjSPckzAo6Kh6k5x87s5EWBeeQjYfBuma0cYJqJfchSrALvEWY81A/h/g1RagH7Ca+1PO3Bf67acowTmU3ZxJr7RDl7U8MEDvg+7IZCYnE90d+PcFnN/TeewMsMK9QX9KaN5KT21gLABvIN6Q93LgSCJuKRsVhncVb6Lq6kIIR5adv0ofzeV8BeBp0NwIz7P8jYJlE4ZBcjWZFRgaqpMcMn89P8WqTZqqYytuKUTmtTTZosWRcPi4YVWY/OvGLvS0XFfaXabQ0yPMsjDsYfGH4s6q2hqZKhLZwfgRk+AxBvTw5nk2FK2LdpcQAoRQ+4dZQYgdwifOmZgcYHQMva+ZjJy2sLLV/vm2quz/Fz7vftPQmzRnmdWqB7rl3NybHS1utZwyUtzM9E5aqOGVqyvAMAtE0g7x8wtf5tW7SzczN6J6UsKccj+MoOp3gX6IAfGdEeEUsbSPdU0ghhpjB3tqThCDJjRGpG7b4E0artnS0sOOfJeVMV7EH1Gi5Ft4rm1fTSTHsNP2ofDuzew04+tMkUQc+cFIH2ICHKbpQp7gqDXTyjTY9GkjRA3yO2cdNvWo2aCCN5UVDNyzTa0xftrJwecT7x+Dsozk+OCIMAhqIo1uSsJHv9eYYDeZXDjcX87TEDXoak+16qaXIPBoBSOlnqRRB3Iz/1kI6MDROmwsLyTJPfoa53JKC/c9En1d40PSTyYFNsrSd58fsoUgzuXevvuvDOJ2432Fi+HjUaj6rbdiwW7JYbyY8M8mEU/kyMakxrWeO5yHsT+CVXRFiorJEPA3qjB5cCvK6E4fZzdayjSXWmB5IkGadAAAPIaSG1cFBWH51uwRKMiZWa7GhxGfVOFI36dP06GpTvbOf26ahHHDKEBW2p4986vpMzf8mU02Ynn0jwaoZqbSixT22O6HcDXL9rWAxnSyZu6t9I+jKRbNXdkzh3T2uGnQBiPZIMMEQH/4Mdgk5JagLSpVjoSW5hBhR7Q1NJt3td3/3osaPiYH3r+1Pp8FvXogVQHaX5jIk+l2RwuDTy7j7yJiKkzp/QvX9BQdFNSZB+8m/G0z4uEEjpHKiWf+ApYPEM14z86DWXZIZdH9VKn3td8+x9csWity+m16MumvYNyVEbuDDF9xK2m7EvKlykiseZAnmj4iYN1E3PrF3okCZdKkACRdF5U4j3Oa3IlmmJtsBhmiAeuhapZhOJZ8Ca1M+dzvzC4O1XonDtcqK+kGKQdb2z1qQh8RoVid+5xpp7NUrDQMMBPwj7UihfM1Xt/UY4XRo6AzAcFAhZ/66oAeQiOhew5eV3EmwiqF6AZU8hX7f0RoisdrOX5Ys3YAEBC5aSnwPemAIpumRoervegc24BJDDp6E6xtCwLEGoPH9R67C9mU8Y6H6r5DQq0lkVczT5LvrAgNZrAQw+mUkXc5+Bv6gd2kLPPu5b/xg47akIeVrfhWL4NdFMN8PlLxLSWn4JPPAIvVy95CJ8tnjjsaEc0sMhdYj9x1LLx2sXU9zjFmP5dBvz59kXr1/52vxeW0VoC5VtxVlqLuqlbSvxJzD+zd3b5xNbOi2bnPDYJbMVRyujcDq6AjqRZO2BQzI9xc4hU9AnNyEH4vxyGqapCnpWK/TqkjQLInqhTnwsfO8nm7TpP8Br8TwjH4CSVAoOCaj4eFRZO5zihhoQ5FlppzROYXfZMmFkTRUeLD7i9Axoc035kLXXAjeo3yN2wM7uSc2nUAXgqKKXToCQP5SX+1eASwL4n+jUUYvRcQbEtMAswtfmqFCTYQews3bxUJErvEvMNAQJMVx0znU1W7Z5hYz6ILySJ9xqBcqNvWulsYEBK3jbXbXMrIhilEIA+b6mig3MJS1oIQnihUaVHY0Nt9Mo13b6/rX3OdnhD+8SXFFNhcEgLabaS5cizvqml35r2OazwCzUSj/OIxiM6ROz6Qb9Nf5Hk+6i3Hi8O+BIo9uDmiexVWcLaA8S3ufjBXr2ilSecAYgH1b0p1JSuPd3kGKzYArUGGnTWFnduqAxsS+VN6xJRgIwDUER3ZsN2xOGFfNZHaK93BAg2/gcsylBKKmfrHJXHDzNkpCAmYNNbP4snNz6q2H1wI0WQk2Oh5oAFj+5UQmDT58KDNpeskWAeWWgRFMYaNa5Nm5nuFZKJHr+sQZb8fz9BFB5B9X1aXgnhFoSaNHowPElgy0vVZqx2wnA+o0811eGI9hq6qT1ijobV6uZk6QGkNqk/ZcDqHd5+lQeAL5BJPvZeSTuNJhhU89HhnqFbfZ7NvkGDEaRKmOuw6FVpcz7vvDNCfXvu++3aNSxTuYPYy+MWsJVc6BkYRwtNEJVfMY2mH1ezxImmXmDND7K/oiwl/dAGdWHFoqzp0k4UaXFHE5YEGyf+sXHWU/w8NZGy+ztcrkEJrC3FAswPj2AvcuPOc5sxptooW8UH5sTACvYrPOYUoMhvDfZvause82/YExSAKEFMReTdaCVc6W56abfKP9cymWkJF/tLLalKrbzT7MJdaQGJQrrWhLxXORBOlD592XogDjsRO3c1esH3o6oMZ7UbnP0C0o2PXSyRQL8fRCHJCgy4KQbigOl3zxhpOcYGHwdWVpfA+L5K1ZaEB2y5VQ6AXJ6Fc9yXeq6O3o+Rr5a2iVPWZzAQdn/1eKKcLUPHeWSdrSKTDG+4fThO692rosk/M0B8NygQqz8TVaI2Fa24b/nLfzXYGD2omilkRyiNqetQ7P24/T8crbSLbc2lAkgwEOjWVzVNQ/bn6wFGOPZy5KmYK6ZAsubzMmIAerKvFo58DaC31RveYHRSB57tBffgD+trtvo5ZAwOOo9nltbHgytWs0O8DQChWIUE1Ul3ICQIr5ZmlWdgPLRz3bhAfIMrtRb8FbPc9bXBd3Df0fQTGEhl36Df7D2rn+yQogVpgmYcfxPr2dFNwQrVB/8SwLzaXjcoq7eZHkPh0/xGH7gJItVfZKxXZ6vaFyL82WzOvi7Y78lPVG1yARBhKOTjsf1t6iRm0jbbZtr9CVL9TAP9q9UTEUWo0P5irJ+4O6KIz6/B1gjNRA55IVFlUyKxiz7ld9zMu2Tlf15ipn4sr7JRyQySEVdEZSpDeu5bT2etC0ZkWjGHza/+g+HmJppEH0TS7KUc6RLJSC9viDQXyRVUnVrYekAk4Gd18NSqyXXzBiHprB6cq1FWVWt2r2NA4SCeH+PD3vkVpd5FF0HxSVCjeYFsG8qp28Crbxq3QPOl9pcQzzLppFdRgJrcujY4oFZhdPr3BNjMGB0s3cD0QYSuu3Dfv+pkPfn2L6/88P9QvE2mDrG3Xfd6zcgL22m1Jr1BeNnWlYhx1t6yAa90PByuRaP1GGz0g8abfCOYxO7bW3s4o82CeBH92zpT0Gpv+rVcE9vxMTEtAWJB7oCf+3rlvI0YsEpnqZ3Dfz5TnyF3rlODZwEF6N1qHMYWsf7p4VlvlsPMWDfNyYs/uk85flgYAjqL0iPrW96Zcb9VB6JePOhyrk0FeNadCprE7ROUoIDOk1NW+mHPzt9tLXV/uTe3YR5oNbfgiVGzdDfxD/op3rnANAQ7AEWwYGQ1c/0R9dv9KJawv3qFJNaXZVArZ9oJnusZB2qjRjmAtOoSuoTdZEEqSI2EYL2FeR4L2tgrDNFfylVVdRHHP+GF6d99YElYTPAYZ8ZHbcQlAH4NDF+S62tXbDM2vf0/Jq0UcyyYk1dGZFlVtV3/buz91vfz3UPMhs4pkGhaQ2qE8iZACe1cW9nl1/A1+sSXDOUhQUH5FXsTEHp3scmjsSEd/fHCJHgMC0o1u3xopDmW15w/lia5hRG59CDnl6WX97f+RpfSE52OTNuvrUiNzjlRuvprwnobcIJfLY0xplltDczNApw9Ts9Xe1fkjuRhSKw/+07KaCyIVB/xe9A/1xk63IGMLEEnKSDj5fyJbDMT+69UqDkAS0vvKDH9idg+UoZkfde9Myl6prW7+0T2k92Q6RyfSILkX5+hnGRUWiHSdKRGWpXkWfsvp15eZvkVtLAl5GfNmCze8U1s0UHhR2hFvdC80ipzBZjK+fvdCWTDGpMg9GMoiNvO8SD15bbi4xbONJsc70176i8QDDbKYkIuoW+mXRXhCAjsjnezXqWkvkQ/a5lKmtGrIRoa2zDvqopCDT8WoX+fvkIaNGTMzt5xUDFes/B2hozQcQyzVn82WwX7HVGIoSRkNwCu3Ib/ASuU5LmzlGrSKrqcWzWy2+SUhz7EMp9FZ/zltrd5m1VjjGqM5/j1hBCZRP6JelN4hJeBljmTM6VDZ+IEzWLMHzej74zgWEBptKq9mPeVs4z5sfQLi69YlcfvtUwRKbh94GPOD4UwDFqORZ9NEQ8eYB1rLUUnis/iga6g8wDrIfoELiP5OLCXp90aIQVdnDHjjuXWyCNQXP60mSjil7Iop7+aKLcLWO5nQ4UeDqmFNmKtrJQqmsdmwQHvvHzKjAyZobEHTYlout2ol2Dgh2lUCU4i+Cs+BZywyoMM7R1dXaKm6QEXlyYlgf7tsqAx9buTkKiWmABrbPyBUkUDiDTHj/10xi6XqSFei9LPXQf//lU1HSf+Snz9rVPTJohzenfaWf8f8ZJmD/8lLXTH7CNcyDlj3DrMNw1Ki7tPd5fSaRlrmz8kl+itBe4XiFTiJHOKkgrAjtbTQUSAjgKqAu2vDwbL8Is8IDBX40GPk4YeHpuVp+HRoajud1fzzx87YNnyFZM7vMfjtnrevxEuKcDP3e/ASGOnio1WSKgc1xOn0NI/mJ1UJgvMwlE/y+FBMISGa+3xuqnHreGFZ8xKUP7ddC9I5/qMFfxO24W4jOxvzGxCSp7glJiuHtMNFvaO08MhyLpYfmPHbx1nvGoS+L2x+LALI8o6mmIrzwpLFn35hb1KRTec0IOYJFtXhAEIh4ns38p+tW2tM/bnY3qmEKt3uY9qO2BVVno5jdYQeUQjq3fCro425ekNrGR5sx4IfPRptrmDKRD5RFzg5EOjuB5H2GHylE3ikVHfq5Jjm9KW7FdE6we6hJ4IgbSRI8s7IAe0zn7GLQWtW4cZpiAgigni+LHZjaG65FsQhRd/OMnyqtamfuguNfsAb8zaO5fQ6yZIyya4k3scrunIkpXuw6MCQq0kfd4VSC00Rx+d0e81Dqcr/FBkcSAKR6v4MVgtYNkhAUdzEp7erxEAePXg4PCHA6hFMeqnHWDZtanseRKbonicK2pA3XevyCV962KN1zpB42LLRPdz+RPelW991j1A2E0YuSEnSsThvPsyUyjReo4mKJ+9Q1uZbtSn6jD0wjCTm8axo30nTb8fyyskMDB9yk+M04mv9yy+cYxLAVV2TIpUuvVmS6f/K7YVcI/YloiqovpU2LkWzkfCbXKFXLw2j1vvbPNpUdikWaxKtF9sWLkqEgO3Ae0Vbeg1D//RLXa53i/futAf/l7YUqKcu4/95xL4hu/d3KrLV9CGGOSCvl82eSgslnjcfUdXiEtQeH/+GW8Is37WDA3AQbNDtEORPUchXBW6d8og4gw9VtGSmXUzEKuDfO/YckdiM+SldbpUjt0mgmw2DgOLivknBS2KCjzFymHPfDMJaLiHvYIoPxSuZdQxnT/f1NT876wrpDRK7C18jXpP1/X4gQbzPv9LyVhWMoQjfRx8em1x5qGl9PTr4iik6h5lptGAavJNqS8CMG9QwUk5xUYeVS+ZVcYs7QgTkq2a0n69x05RYUOeag/+xzxWKLktHpN6cJhTLRtsr8NmlPq5RnkGAkY2gGbOBgi+j6M6E4rz4NF6fr9zn82AYVEL2zPsVXef6op8roSBsvfp9Wf67yklMh2Iy+RwSJf4jXWRFS2pYj5xbk4Ag6GaEwEqdLaPIKL6G3c28BWUS3iddaWivKDCgFfHwYOQ0oc1MG7AKamr6PPpX1E2UqwpiKEIxn0WTRgiN4MjI1AUQ2Rt5U0FOUvRXaT6hXfNYMxLucAEfap293uWFPE2ZTjLMPIW33ALoSuyPpxmWG/WqIZ/BZcLvICWyFsPh58GH4TJ0IlWMDohPGLGcI5gSH8SrW5DcL9S34ktLRUWOLoVHXxzul87m9qInYcbP0gGed5ZO0KyR4dvKFamDbBBlB+QRw6h5OKH1B5YQ6fZJz87/JEpeO3IH6cAEOd6h2FYnrMsxt9PYYFhbGuGDcCWg/gu2ChDdc/3Wsd8UupzhKnIgEGPM/fGh7rueYSTLrAcU2BXPFAdQ+VUhnXkeELFBtc4V+2PowNZsdDW/T4auGoIJc5U2+hObQ+DoJETqgXnt97/bsdUpR8D84PANWIDcljN1f3o2Ndi745NYWzt1rftcgG2gMuPKwP21/UChhQJoKUXuy53SHYWQ3nXn/NtIC0b439/NgA/vHSwVqJM9JXk5Fok2bMiVeyKdumLZfgqO+4K5YvxhkETJba6SLgYDG3P3h7qZKB6pUa6gB3cA3zv1/RLsKw5jIkGyAVkYT9n6Afw4yYlcx6wxD2JzeJ9KfG5pPypg+gUHl15Q3bPbwSTdKcJMn6GprHhgNOUJStQW2HzKx4tj022RXIEqganHcUSJmmJCr3D9e4hJsjYLqYgr2DKCQedwIKjsRLaA19+eA0EeMdIAXk3l0BJt5nUR54jYzL9sOUTaJAmow6HsebTSolm/tEmZGlZ1UD4tC2y3vSP1JVT8fwnvxX3laDnEHCPREFJMQf7xnVOtbLgTIvzbSIC1lUylRpMJS1z4s2zylxHZbZ48al+u0iuUq4bo8jFyY4rQdig7gy/kmIJs6H9P7On3dp4+TGkhk3VBSGt43/AE6bHTrRhs+nIMqa/qsC2Vi7tlEN1czkNCw2Lnpat4tYymUJBqnwrNivomEJIloQ4d9FnSTSmBCRjWZH/tKpOC4DHJTrd4cx7Zq6KqSBZWzUyGq50VsPLdNvwE4ZPD5z+KC2YV2x4nAezjkt2z34P61LNjGxrmamedzs1hyGr969MGSYmn3OHoM4ak2ZNa4xHtqXznXrkqh4hTtXvKXgi5LBDK+CShIKUUKjjoOEAg/m2Ph01wmy9Am2DzAAiF9HWvt1e1yFOgrhX5CU0RgHmM5DvE5nqLbVtqT+T3qoTpppX/2OAwpyKrKqk2yyyDw4roHpmZQpIug0f0+YSRKA7chwRUJt5iBaDJWeB0EITYt4wyQK/t37beKdplhiwFAsfEkYhF0ketCwJ+2urLgbAnG2E50DhL5fplXEPEYT7nja6zA/RE864vpoPkMsgDxOOEaRR6OtEt0NepvQdH8LwfY6x/NcMGxLRhdT6ZP82z+skd/SS3tDLNjr8HLaGSQgOqC/UEJsOb1EemHP1EvVNH6BALQqzAJYgdb5ODi2I65PtwbvUryqprXuy/OEBxf4u/E+S2+IRB3ccZ56QzJyhchQwKy/bl4Z6iERWAItaliRHZ+gH0nNk4uG57c0G3KdS+GJJx7gooEzaqX5dfjsZsLCmWKIK1oeaoyKTNQm1dz+YoNtmsRrjwspGu0a7HXSQxupllJHQ5i7ZFG/ZZqC8IQGmVee8VADVEA2u9Z9skCOOCVVK11uwQZoMHRvns69157KDgxWZpMBnUFFI+DvkekmyWy7iEg9+5pU+Obp+YGk8W4Cd903S1HlyTJjvnHUvkOTDAF3xhZZ267z6bFcRdkw5MeTkgO5NdBs7F+2xSCYV5XzK3DIn0CbBXiZFYcFyKvmW/qbw12IzIlqsh1Wri19s6A92Qdz4pXC7vUExpWvYe32dLMzkRMAJk5D0npMSNBhecNi7WLY7eV4ru+1+ykGiKcsfbPOaYRoa9GRtToh3GXFmnDKYIxPQsE+6lz4k7Z+vMBfIDjLytXm20zRw3HU+LwIezlGoE5BVOajBQuMaPH7TFIwkPsocyA7MyxhESY4FvwOjSJ1/JQDyFMY00LkSuKaVFXS47fVROZv7c1tCjDkwgNbhvR+tc2ByagDxHD4nuBUABOH5OY2uTueZyGV3ZJpE8fxWDZcG+J3xEYL4/d9Zj+KboUipUYf3GzbN7ab9jGxHLGFK12U+5jBR+dZfPHIwCQc27doakVOEooZMRGp44tY2a+HgoPXy/8cpb7D2ugloEa46Ej6HcX/a8ZM0JTQW+7RDBhOVlLkbyJE27HwNX8BiFoPAg5OktEqm2uTII2bbeu15wUFJhw9wYdUVL3SBiW3kTNbkZ+SagdUr2XFhASTpx1O9Jomyfw/OUYb22CK3GIHigKK0NIX8B/kNHkLEvKlk+/mYvKfRH8zBNQQJfp4xZwchVKG/dXuIW4m/IICu943+snXMiz47Xin2pVEmbQzLFTbaD/SS4AuR+kcMWfmxP8IDz0JG2Bk8z7Vm+7Y8+EHYU78UFajVh0Wxkw3rVRQCvEesrNx0qmKiF6rBQAMEUO0AQuVralY+YmV5t3KX1dB0IuupH1gxeI9DeyXCy7ilrlRcC64ugOERouw6yx9620hrZpJ+wARMTL9qfx1Cyc6KyNdYKed9DEvdKN4HNioJgBCOBME20MRSWvtaNvf8RG2RG8Iav2V0njeJx+99+DU85uGq+qzglkeow3vgAFIHa96qLRc/xSj1MhUdOZe/T/iSWT0cIar+djmANmGh6Y9lbjO0YVsPFjFEwXgJGAg/lQ6Jm1rDmkBegKfnN5DnAAAAQU5NRlIgAAAAAAAAAACiAQAkAQCCAAAAVlA4IDogAADwlwCdASqjASUBPpFGnUslo6KipNPKKLASCWdu/BFXLeioV/ufOk6FoR/M+QQ9/6i9xDzt2nUegB0z+Qk+nv9B6MfnP8n/w/DXz9Tr7v9qfZi/lv1/8b/jJqF3K+0H2fzDvZv7v5usyz6CoJMrj79/3PYK/S37C+8P/weVH9s9RPpk+if+1RJYGMxuHqa5nyn7H5h/N1524KUB0vz72/P+hReiYLiZhjBZyopXv3QZndeBqMC4ZhaRG8wBc/nmlypjOHvSIrosLM+m03eQjROEvZpSM5CFSwzgSF1MIKHQj8t+U1xh//AEgyPzS7j0umzE/GLVKYWqtgQgkLuk8uvEzdXNwIGgDLU5FbQ3qyQKawv9J+6ymzMY/1p23lH1YPW0Dqo3kJYHtiLiEbXxWKIQZjajz6BkCooKC21tIVHkeYYULsl5XIH9o0dRXrSZXF9KV6yWiVU+dN30SunER4LIbSt3dNC4vzv3vau9bVWv4cWoN08eV6xFZbppX5oXaDNArrg89eS6ziZxZx8Qz3+wiJVYNueAWaTV6Z/vgJRYWh0mordHK6ue5MHlUf8sBZsKanHGpWByRSAM689CSXU6Widojx/0Ww+JVHVvULQCzasV7wbRAJqqYQK384citAiyj1c7UI6bHwDMwV79kEdX6mF9V2zkIxHym1TF1U3xzzuAMo9EW3hj7Y1fDxUz1sO14Aqv+V4d/A6dW+mRJX/+hxKQ1gQUv5gWW8fFzUL3Na0d/rEigQkVFdQtSEbLcvCMYuUCFJoa4UcIfCGik1CNbIk03jNqF1iC0iekpxuKXn5ySJfSldUMva9bPJGUHmcOAjtUV8aXmTG4yGzXtHmrw/lCab1UyvN2qkO1reUYeJ0ITo6grygqTKG/OHUoR1GO18FlKOASPpIsyR8H6dR60ZnEBZ6QmwNhAIgtFss2Zw7EznG1aJ2Kgdll2tfrELpWvmwq64QI/8HB0lkQfL6TN91WQqBAJHzXbxF0hVURznwZI7RXWX2cTRhayWg6o58UNGWzjPbmzJsV4UKRV3omsPRtew8pdEX8+pA9MOlDnPewWkPQvVjEEbs82Cl6/LmNlHDfLypF6RRFsyppmzS3mmo1NjYNNzGYaYwTLIfeKNwr2JoOVX4PfnDqo/ASBZ3ZbrK+qI6PwWsCl3oDFiET6Nsi2faXyyqtxiNUk+lt/L3MtX7PaZjViwA2j46rD9SaLwakRTeEhd35xAmkJEjv2v9ss0FrbI9dbN5qI8fGjLhbDC9OJmxgy1Ka/9kg9dJRUn9euE5wpDulcL/lKBwqOmHSjuAkfSR3Ggq84GwmH5dCDG3mfzkiWaujH3/Unp8f+JnDpR3ASPpSvX1S7xzNsC64KYvRPZxzjV/l3OtLw0pElJ+au+Akfg06TIkfSnNhDu/dTbYMX0B1bnFKQGty3D6kyJYicOkyJIXR9BYSLj+OqP/2nc/mZw6UdzgrQB7G19lc5QLBb0G6A7MI0TuPIfknFPgRUVTQbfcBYfVb8BEwkxLhdIeQWRmBMn80Jr2um5KGIj+Gqzmic+Y49GzQKDq0qj1iQXLlvF/T8GwOKbausxZrCa6KgR0nn2lvzUk/iWvKYgCVT7gxdVHY0a4yHIB66MoMUIAA/v1bvJtmhEGpRwFksXrHhdY9PqJ2AGrnedv+2CdNmq0h3iQSstZMf3eOY/znzwNZhaZ/8X2ABPf2XS4JYaZM076l3TGZsWdpjqlEQKx/lOXpTRS6ivrt3r2C2E0vBModYzsAyk70WRYAsVdzG89iNvEwkaajfVA/Y8KAAyURKAF5UOdZIh7mKKyDlGa/ZWjX3/fYJ3KyJ6mqhjyShJbNy+Dm5wYg7iwHEGUf+28f8Vp2AjfX0xqQ+zNNHseN0epSlx6Gcw+7hf5l34sA7pTYeD8R8fv29fEJ4cLspCRZuI2uNdXl7cfU7KSduSh5HofWYn9b977EvXxWjOJAPuW8bv2J1rtd1aHyNvgvMlW/T0unpUYYGN1xm/LJHJiPHu6YiSstWrnBBJD5aCB5/gzuVkETZn65IYWmKLSCef+Lmh2StguZ6TLXOhepSEPoBkfNCYSaBbyscFKLgaLBonrqlFwm6QablDWOzQTBGt6Jb3MHpStf6FiQUwLC3s38xqtgzoOYeWI4LBdIeU4z58DAeTu2HlYhSJ52ZdIQSGfQpa6rzi1ycKclsHCqwvLBQkxvhhBW+uN509uifVWEGrqFdu1cxB69vm40KDH1IRNFY1XjlIZiKg4wOtPc2pQOrMH52WhB2S57eCbu7JX2j1KDM2jniIfems/WPGaLBeb9vW+z4Fl3Rf6+doHVoft7VT4CliTJqKzCEDu407prmCIWJU9hbvdCJ6VJsClY5a1nbJEgF8GP6iYZ8aZAjWVI6JvbfztJDq48UD4uLv+8ECHQIInne/jB1k8Oy5NjaQHgnX5Mqm8TmvueXWqahU0rBcPHaxSfbnRho+Pf0dCbsnS1Bni94/F78n76YfBOr5vnWXjll73nUgjADAgk6JL3L8rt+2HRzlzHAcJNf9Nbth2CVS/jP5rUbet/lrpVnYHY258lngbeQG7hp4nN4abSplZhIhIXpdXD6834jbJaJlcd25OBKiqfkh6Rdt3WMTLSIYnGo1TLUmb94A80MVkAc+xlvCdO5IkZ/2MY3RfVBhYzaTHlTtYvqCt+YDEYcb7wJqTVcB6p+DfrVm5cqhHMyjNr0RfImCIgQjtknVtZlCs0m/N/yZTg9whOmP0js/7somldD/4/3DGVbnUh8y2OMmeWrnCTzlvDv6hzPZe/I4XLIO6sMiHS7jcRxL3EMzxTI2lI9l9QEkU9rSylW3wBO2jUaEa8Lur9/7Dz6tybN5d9JFVNvVkEdbBuio66STIc93zC+q41yEuNKqnU6yV8pq33TLlt9y6DuAmy5+cx6/WpVl+IZg8fOBBNXN2sOmkvK9CHYGCCRUPBUH09Eo2crwidX4P0dLKp2vz2vemgtML6o/J/dxcpJIjRT9nDT0Dkvbsw3lOrHFFKsYIZT/q+yuk8ujOQJ0yZ50jwDNs47+iOIhzHjTB7RSYdujUNiDMBooswllq1/zSevphnW5WcxDC1FgpDWdQXbc0NWJQHGRi8RyHao1DjC2ZMKMENYr3+B9hG2cxXirO8C8gsUbQaPr9DGffI6LNp8PBmmTEw7KiOpAvIm0ykBi3pFIMsICKIVX+vyT4YCeph7BweWidrfa2u5OzThOunLhGMAXf9l41TKQR7VUpFyfKA4uK38tfmRJdQrehG3mhJTj20oIpHxLaK12v+qAiNAgS8FkCGtUQTxdck2+LvnfuNcdkmt4KfGh9G3IbMJBZ/nbkHXp9iDMjC2HXGybVR3/jgGVkrnuk1L606IsALsBOexCwxndrmbIiAmQv6i67Mn+5YHarGl60SIVgNunQxDOxeG4S6oCmqtkvf7u2tnM2LKHQoOUVYRRzRRP3bLtMP68beQ/YAxmD2qH4k9Q/gXiDskhayePseCW3ZQzSXQxZLx5Zbtwm8htS2jJly+lXzOz6pF9yX7IteY9Bckl4GjcHCHfNVh6aHPX9cc3zkbftTG1FC/7KRnj/K6SXro1aBvmlWKjs939uVScl0gwOUiWbfhc1ppCHPmM1c/FQlvou2T8UH6vsccOXy5INGgqOeMiEZuFGEkooW8JGS4tMBug6q6cvLc2uZccr22ronE5q1UZfbwNAqs/xDPc1cYqUCX9ZX4vHiwgKL2itFHPoRY7IAxn+NqfFoz2mPPdZ28AR1g1R1jAfs6XVgb67WfSN+3+1RcyJm3nAnsgSsnEoaIfH++7mEOLuYhW80OepKSXR52fyBPEl3knxI0OzNIOcze+tjO0U8eHq9izNXQIxnAZwjmri0uRK5mtw2lQHhh71Mij2GZl7i6kkhXUi9XtHO+3EGlWiRU2cK53EhdSRGSXwK8k1jTfxcJZ7wyw6SZn1emCvXZD/Is+5gsTSyvWdcb5SEiOAobqqXz5l2MNAettOARG8GUvyW0K29NwLJHyi/1zI5oB6Tzvmjvr6LixfJhq1iRukInXCEnb+ayKQy+mAXO6H3jYSGD6g/QuK4amxDtTTdnZ5u4N8HJ8J52Mp2/DNygmXoplpr28QXx7l2+MlXq8l1qu3SQg88gNLxhzd6bk9jXyXNa6Z8Y0/i1TRxMkLPbd5FvDDtIErG3NdM7yBalkDDUo+Htlcy2k5MuCRDkk8mOufCwe+6mDoM0YZQJC4leR3Q0GL4bpQUz4K8ZvqxmExDXSnkqLMwr6xc/opwzOesACVAQ/lsXUzlT6BDSHNm4JUGO3oq5wkANVjflTrz8RBjmPUaQG684CIkRJWyaU86FaJDCSL3HpbF8rG5QeC4hxXE70Q/oJzXFwKB0wPQBuC07rY16Jw5nhtrQQCcZR/qQDxEoISythOgl3ntY9rCTIgaMzGrS0pB/fni5cv3uM0yh8r8GUW/TfyhLtcECr7Wa9EhzZScjJzX8IexDUufYfNgdKnIS+XiZl5tlAl+kYSabTRXbUQUs7BBPXmWDa8XN7qwmxaDmNultVdMHG3Dxr1Sfd/s6mRQkytqLQHL0VlYyChkbMDgSMhMmB3rFGwpgJB7ArH+u2ZhG3//WxhTNNLoSpb8WR+K7aQg6prNxTHEcnFsfvHrGlvteXGQxj3SNYxjyaEmV719jjTYqYuGh8zCoSRBEVvL9T/emr96C2eQHqiw8LZnIqw2nf2fANgzk05sjFLgLjAA9bzcZUxiL4CmzYdBfYC2wBysdpr9+W0csU93xCiq435CyStLqMhI2zyvEbOoD8IlmuIq2N85510UzcJ0xlpHhC+P+KPzsaRsIZI/26MqWLP3dwWYEs4jWEwNrcWQML0BHt4+fvVDlZ7RcDOVkQ0zCM3xaT9piZUt59/Ooy7BTZlNqlQJZVT0J8374WIlnVSbxaEeRGudVdfH+ftftO+Z6ebZHjqASrhws15Ar2wjmX7ZManvxiljkI5Es9Rn60Z5jrPMLUmQ0GyjYxTItE45K8sg86GXPAAm7ppw7B4I4NDkxpcJG52JRvfgsqOs7SAyGSbwzuklFxyRkAb0sWHwMnKSnM15Qbumpy8BZZ0Ufc7Z93BJ0xRcd0pPdRL3cQ0Bu9mHmhOKYQ1IR3iRQ7x6lMHzHVTmmnXIAyT4UOI2DoMnEiDoCW3oIjKTiSvtvUPFvlFc5oxXNWwyxCceoaIp1VbRgOnz/uA2YgQoAWu5T57jLnVi8E+G1GFtAA94yxMHzrMY8Jn/Q2pESbODIULSAQWj6ijOyaMWi52oKvhlCoinVIDRsrYgN7lwk7auV/MntI0c4yQVKOR4k7jzXBM31eJJGk4ra7GlHAQa6Ojj+v9RO1eASkVI94upAUutbpErk/U12v6G+tts2JK+oHHsDKudpEr1AHdTbMvXsPn7p5UNyNdl2vpo6bR3p2ebSLFZbO48kV8CbmVaYxCMmAAitsPxjBIggYOE/FPO2pD2uqnq+l8L8MMGQzLVmIusHZ4XroVFFKzTa27KetC9sq9a+XZAzZHRKgVJkpyDaBxH3+2e3FPM9URy9F1CKN2x+dXbcN9II/I51bXfppjN5JCw+Drw+25X1QtaQ54WE5yeoHXxjcWsjkrTHtVtoPVJ/JH3U9oofYz6/SgwNuxbkMXITwIdrJiRd39U2dBYIeB96/T40b0FDu7pCl7AaA5ftmY2mBCPON6ke3tMWddxsXR0GHiP1g+LnRE6cEk2q9jkxVQn9ZnkxbhKBBLZzg4sbSfuUJmyeN6nvGFLHrVYI/j85c5ODjPlWpJk3DudeNxqX5N0FWOueKMWxGHwnUpf6MOIiP/gLjYnXbIhHAMWcJKNwP4dvyF7jHYldHKNKBkdONBrPzpTpy0EDPJ5RDVnjWn1v/WhguJPLai1eDLbAz+voA5vj1Y82p1DlfDvdhCG7ey9HqTvXQf9Zptaq2yHjX9LggOOloutwAjYBve/xRfvZKrBwf333/kpZY5W03+xVm7oxd5ZNFqq9iDnlr61S6ucAaSvN2gw6xXzTK2x7rLDswsotbZ8vMjaRCMLohlLDU4btiu7RLeVQmwaMQzV9qcmeqVOnl0ThSYduxAU1CuwDPrW6r/xjLrsviou/7rxMkkoh6DgfreHLp8Am4vjf7gtwAkGXBi0pEgEM5vw5sqIHUiJRGnbRNHK7q54QBiP6GaJKGOtn+juMARNH5sSVQUjk8BAbBSVBughzQG8v7UbvG/zARO1Xs0RL4AoYf9YU/bI5Prm2NHq++sILkOikPoSkbRvLQq3dP97W8cmze3a5ce5jCnTVeCA56LKI5XQroaxkYJ2QD+qWvygjI/c9f1XM45TziT4gP+1i2ODb5fqd5ju1MmXG93kC15G6MJ1gi4ZFj3+lOUSqUg+M88MSmNxLzUvq3SPyrJVCjAOvAogrSxsUNJ87Q5v7yNrU3gC04wGHE9SOmep7S7uf75es52nqu525/khfJWkDRuMGy2ZI6Vxnx21SQfkf8FTACFSnYPlZzh/MUhMUewbj4jhYkZpP2zDyRkVs2ArRvaCDVsFn56K3ovEfVpWRC8IZDWxVtKTm06VLr6nahv7hWgDMZxleiWeZuLNOC5VObrohYIlNu5Nw4kSbwuXSXpuem1vZ4RoKotRwWlbXzrFhjd0ZhXMOR0KQTU3I+rx55/39GhlYWMYR4W1FoYAzCHYfylqgS0jOZc39qZ6E4GAPlB3AnCdkHQfMqM5xTsxWYuO2ZdscG6JPE+IoGn2rUGZLGSKKfTdqFVessbKQKfE/6c3teoar3W4SbBEY4CD+92+DONba5ha50FcBsCsve1DyRpwZ2T+NmA87QoSf1E6UqGreWEX/q99zgJMtPGr76nnRyv2K6zBHgcEUohQiWMPa4jk5W72yB8DPttLU4gkBB/zkSTqL4WzwH37t63W2r9t3dHBPxv//+VSQclB0EVfHEAemOLDm5VOnn+vxkyyf/yQL5q+3PnxxlFq3ZmjJU2j1JkkMWoDhP01bjNqqOKZU0Usok7myu92Or53nFLof6Pm/jjbIMrCyxc0ab5u3MpLxCPzvFuDBdhwZXt+5AK+Hx45s5r7Mhrj2rBZuYZIXNJXmMUFYtKZbPdb3HAACOF21fhyf9Mi1jmkticpoFdFWcleRV+x7aHKrLjShseIme9b4FnERPBwtWPuiDCpJMCtpuDJx9k8P7dADQBJ+xhBoFiXi1VILXDRaPBmdPA/Ef/pEMZPCH5P6fi1MJi0s+VkL6Pg0PgSswvTnkhi8sgJkAr/fAOXSLnvS+endf9hTZWqoqelaovgyGDdhNNjeB3mH28RCDOjOxjDD+B8Kz/sAHtXfRECrPxjbvbH4ieFyx2JCwDEzH3N8QWEIP2ito2xxbPn1CCKewDAMYpTYQPo5ye8gHAcqwNUPjaUsMHIF9sZ7WKIirrG6648Mt7spLCoBUXm/aRvnfwrNvZ0T0EFrHAs6B0hgPB9lzK8FVE7NtmUrObg/KaXxmYfclfpeeyeGk7cwI1v5UIsp2zA/QFfGdVHjcmA7U7V0QEgcVFv3AqXaM2id9jwytz7AW3gUffXhTiZha5BMzOivpgsQ/ciJ8KT62WM+48bw9byL796B8h1E2kTdhZx88AIwzFQb+Kn2ixcctfiTLJ8rmz9yEizK+9upawt4l816MJ3hRWEF84BKoF0sM05wVUoed/We1ZOvMqBaNY6CqJbS5Pcn5uh2UDziO1zlrG62xfAengBq1pNQ3aRRYlAoAMWLQGZJiDly/hVxd5Ur77XBj0fg8SwVvX1Pyxhpd8UP2K6sIOtxoFCzKrRq3fVA6/cdSlGQ4oewiS/rlPr1Jt1s0rZLhwBjzV3KLSHNR0KWaQHi11a7zxWnIW5dQXoJCVObmNVnhy3PRK6/MR/36P8t0jOzHPojmd+3KXeXfM8ksxDqiBE02irBRXCSiCmb1d5IxRX0qgny1rsLZwm3KG709UoGFGDHfqcQlFh2CeWLjasF0oeIqbN0GaqyWDsgnX91rEjVSLZ/cNRYNCaCAvrezf8uaSj7+FRiAKv3KQddOh9lKC/9zc7HMQF0HDiFi2EhfJCqawRQu6CdKZS1CrLa0B4OrMZ+1mTarnli5qDFaoDsLWpAIVNAvChfUA1HT/kAH0CFzQ/6VBmfWc3weCX844g0Rd9TN41A1jHD4xPusPfBDEEBwPFveDtLPhsJTudJqpI2QZPgjj429MINzCusGm7uJMsvd3xGtlyRdSyTbM3cOZAeTfbwcveH3c8Z+AYYlMJpErK7Gi6n6WdPU/PEuyDrY9dDdB6XkXYukRUR3E/0w1cWAtlL5xTm9Z6c3rp4WIEHPBe0V92gPe2W4KVLIP89GqQe0q8tmZuanHKYWWITCJ68GL8oo7Gt/moZh6487N0qj2JJmQV5KruOLt7ZVWwPFJDmbyzQnSEqjMYWfgEN31hZRpz0MEzB0C5s7zwG72vg8DSu0kPRGg68cCfr33L5Xj9SY/wq7iHu2qdEu6Lv0hNHGOicudyKptOMU0oNd7cg767Wlz2fRgo4G2dSq/A3v7NZ3CwxFcPRzPHGYDAKVpHdFVD3w7RDl4PVodWZjLo0JsWfmDVq5zoMOSeUBELIfSmHv6NCvSBrFGmTDlRyOZNUOj7Y3ud5Hxa3ltQbcRPyBy0q5bV5Uh5cld732pe84zJqTY/rzHZJCkP3KTM8P7xElK93bNk59W7GJ8Mw3yVYtYRlE54+p7jxiP0aHlbLC75GexrlW3Pes7NzO+c2Ge7Hk0sPiD8FfjFqv8gGD/1MrXP59C2MnFaShESgZdE+kHj/T0AKxyJih7wFy4J86sJ4ACx0FLOPGBwwWuX0bIyK+6vR1lix5VEot577vxeMK7bwiHQuJ+ZE3PUUpH2R2RcOK28Rv8QaiZFIUiRpk3wsuoVXM8wqG8ZVicqTCvDnfklF5reiOLfOJbM6VgiViRL7FkxPlX1J5KzeOvztypr5SHWsBKRL1WQZYXETkb58mHE+1h/9gDmeCG+eiUxCjpOtAVLDrEGmFQHY0Un32NIKmV/Gt37pLWVNhVxwm7hIcMtf/4hXBLRJ80xhYBBySM8Xm28aPrP28WCv899SnhAW6zmrHHjQdpVKN/8aTBzbVbGRdktjB4EIeBkGCD+4nQn9BIqVnOaomSWgvLVbRP798gvvo/OOtK0xz2EP22jvckMkBI3cGHLWes7dCm90IMuLWWAKC2s1IxlcMBJDkTSJzvPPUyurJCZfbAhrXwTtBZZ5EXZVsjKwR9K8LX0HoxbOf8i026uBvlIlCeMym7POq5AXn42BX0gqig5hCqnLWe//CsPn25I3i79RplGlUsSCBjgR5L9LpQEY6oSFhMbuberQoVzNcVeOifzSdkzwPtAShxjX41JRBafPCy88tOWbXKzoglx2NPp8wvHkOCP9S01g0GbtaEcz8BOEZ95L/4QoWINqgJ6Nc/p8krmJJjyd9ppmQhX9VCYyyTzCopvgBGuzViCY1fKgorYXGCksGM9ZoZDo+sAkjHk6zq9HZDeT3esE+FDQTK4CX5/N3/pJI5ES/j6+puLhzKfvse5wa/hy/5ARcuWTx5GUK/ZbAtlcSXPbXe3gVailgI7eX02V6CWXZvvfl23QVlx4R9Z7j//nLsrw1RJ2qjleiJovZ8Hy9KQBs7A+kgCOkPuVVxk5+KY5A5l52gkHureHP8GtfoYeM5eTvut8nbpvaoEea+b5KY7OUJweENJto3C/s8ZYtfZRSw6lDVSoKc5SNTxhTsIXND56a4nfjpzdc9l/qZ0fLixiVWWfjb8WprUTEh+p6o3DBBXb0sXEc30q7b76LbIH6EsxrdjRmg82aTqcpSk6hysS86DgO27noFmtvE97q15xx1FwiaMWwruj8/gYmARFAEeCkKIDHAOBHoDi+uH6/kIuBH6L+hVVBT6BTzZa4Ve/Uo4BS1AiSZTGgQorG6HJ6HSU8JVsziZ5GTCuWYHjde4JT8j8LOxi0w/Lfms9Rrq5WIo70RyLei+2cNVPJl+vYnlAJ0Z3uDDBIpwsO0SYE6NcQMpD0jbaPSyyZS82t4TM9utv6SJOz+PCv8BJBr4A8Ri8j2NpJKmgcbqO7IjqZ+iDOdhPaPnm1kSlT317LfR6f2u83iO8qU0U5+FQll/JBypH1eSKCtti88nDwNWZ8ngz6KYxuI+Sd5ujuMqxKjAFZq/827BlI64baRHkna002CLjz89RI08z03cUdTTREOBV3WtkwO+koA94CR7Vc8txl0ZmdvnMq3Fiy25i4tW5vyOQ4pBkiHyeo11N0JYEMBQxvfRJz58/JEnPnsoafPRLMppaJpGmAs5tGgx2aih1nVU1B1izFuxzRJs19gpOWay7vob9/VZbbPoB1YKWMC8DhOy8e6zjFVX0heMq3L99Ms5UHrG2dIRvK3WqCUwlDVDyNhi9HxTFK4Cj5lmGO5gifFmslbS/6JvXUhOrFzetOV3Q5oEWusybQOFE7qqbm2gchxeB1QHl/CqK5dzLP6fGSHMOp3U5csz/g03OkKPGsTQRpUZoJzWx9T2K+V+0BhapLQkzLGgrWn4W1puoM1fkGklMM/E0OThv39WNDM5vJVVQAhU1KgYLEm1RQAIh7lbtw4V2VYoZbqAUbZXoJe4Q319/ILfMuamn4H/CqCm5dK5OmLt1ie5jDJ9fQUY+ZT3wJislkF7wNF34VbiJXPzQN71rn+Hj/UT2ElQSUmQtdJcJFK3CqiiB+yPQroDh/o/7xz8AoCjEQck3sy2Z+j55OQPCGw3han2h4HNylrFfVELG3uVBOyXb7lYKcDm285RNElWg7jwYwppFLtVjjWHO79ok+za/LM8ndQzriPY86zhvPRELqmVCZ//Vz8ix/3N58ogdYPndM1tshsp5sZcdHs7gh+9GtZbcEbusxvZJRO2sj8s/MXzrU9IE7CQZwcM8MU7r/kIz+M5z/WWN19UpXC8gHfUKvWvojqrXUYNkABBTk1GDiEAAAAAAAAAAKIBACQBAIYBAABWUDgg9iAAAHCbAJ0BKqMBJQE+kUSdSyWjoqKk1DowsBIJZ2775PsuBG0gGpnV3mb0xLD08cfF9PvNj9U3Oxadd6AHTPZCFwx9Wnzz+N/43hn5u55V4e1Lsv/zX7O+N/xw1DnY/hn9l6Avt59284n87zL/hufT/x+Iv9r/6/sEfoz9jPeJ/4fKR+3eor0xfRV/bMlClKqANphgWKlczG2/+JclSG9+DDkkrADDCnDScktyo3hmwqatsOC5UOC8ZmPTt3VSgBeIYiTKo/k6R9l7IS+EDOanWdo2x8rwqf9dr4hPHY289/sIP+kZZtvacy8+o1Lkj7nRHVUE49Lz38cmNgbZ1o3/97KkXF9k/kM7ezu5XNuUsKRSaxLfkITa44nTVcT5UUudmcfO1J4fXpM//7kCD9o0WPyu+u72EOKrxNoUQV3cRdYhUHU557Al/tergVzn2QMUb8ZNQmyZVxFd/duuk4azPTHaP0KIiuQAXJlj9KXbVNhWvvt5MUAUsut/v5UTEPO1u6ZVyGjTKfu4U9zDIBpa/PKSoO7ZL2JJrEgDuC1iNRGfCLF7geWQ0O+RABry6rwBrsB84BV1nFIan2PO9K66o00Lc64bSg9EzrNEL+jEzWyCnSmWsE2/usaqZKS5v9RnNgWtYlRunAMLjuOPf/+9S+FUJbqo9ZhhOHSc0SvJEqKNBAzPhF/uvogRAoMjrx71E0koF/ygJbuXk84wnifQL1WPS8HFHmS73piWw76i3MAZutDLjFcQhjSs9dmLWdrVADJ5un/gs9X+vOqWSqdF2yiSdrO/1jhWrYy/zEmFMHc89b7U3V2PghLG2oOufyd7kjJw95uay7ls1LIyETqBAB1ekqpwfxZeRS/vhXZImOZz7hD4ZHMUMDdxDdYlpdMnrRelTZsO6THxbn5MZysVrwWO725SQ09fyiUXA9wk20KinzWCuKkjW9RxqEoLxbT9x/9AG5NUdTODKN50nDvrfLdT1bqzAQAtctyX6i48plXgrHXPOhA4nZrXHVwIP5Py+EMUr+cSmGa+IBaKUXuSDPsgGF2BbL3zFD0TUl9AziBu0Wajzz/YyUbxmhA5YknRZdVDa99rzR5JQjqOgZS/pmjZQKBxo/PEhgahC5CE8nrIQvWs+czhWfLdsN7xnPtmMCWbtsMz+F4JQQAvBRXf8GrqDrhLkq/qyPZfDAdxjzQgOTFUVzHab7Ko7oNDHhbLsH9M+9FEq/zJL3Fzpvu9W6dvn/saSJXQvkxFeDVne3KWHk/Fq4DDQcLDyXI6xRvAgpf0hj/jvSpdghsmrdoPefl/DPzM6nkrRAz7oV0nyPtLTAHJiLA0MRXgqsehQQQfhspVGOL8pil3pSN6jVJ99zM6YJY2msCTsoIAO30G3KWXVe6mq9us9pikPlTRyxFPU/UPAgtubu5JGAwxFeLgorwWv9eeCr3VYzaY4ZSCL/eBfwUhPOxyYoTOTEV4LX+vNZTi5Qv6SWrTmOM8FsMwlzqoSpuzrivSmA74YHFI1eXb7Z+DopEbofvO9bIF0RtL96nIw+xqQSQOE4tXk4l7+OHoVXyZaRFwkPg74e6MnRpGK+OCwtUd7qvZVC8/J7cTMMJpvGbaIUgaX2TFaT+bAKcf1bTv+akn8SHAXK1xxK4G1HPuCV15XsX1n+izvcIqzhurXQAA/v29aS8huYmvRtitUIrxU56+vNNllettKrEIg7IjucD651BfOaQz55YBueNF54mrLtmf82XtspHSvqTgb9iD2Mw64xOyz7uJ3+ftv0hqSGCukgwPMAQj2KWg763ZUKAyafQ5rf6+0Y5uwkg56nu4pSxJqjAl3jgvAofN/WDkAJAN/S1aEl5DLqFw3r/69qGHfCPM/+CKeD1Kt0mN5lVocLQUo1cEGNCQLUlb/K299phTxt9q7rL6N/8G++HniFRlV7itfKRhS6iQ5tZSVasnYr262UPZ9kBxXjBISLCYeQT/drOZpPCcSPQZaULlapKId2n4mnYb6x0g9QvvzRssHO5I6t1olhkenObM4V46OQzOjxtMi+GA4mq1nTsyABIDqU06Ln1w5FtFfMmy9768XeN58+LvVjiKb2ejb850nSVhs9SJA8MdpCtCIbGC2KXpQ0hpg9Tq4/Ut+A2q7PmnL8+hNTaazyQkgbKCJ3VPmdDxKMPPFxV+0iBXrf42dxde+eWKXweZwFlM2MqbZmQrCxuAI8T4UuaTY4wTqTeczhNCxjeTxWzb6CqVq27xwd6P2Pxcfr24L+ZSE0RjbY8oJjxwcME2FAJC9ZuDIImrMJB6vmgwEvplhvOtadAou1LV3InGqx4m3WAo4hEd666htVLSt4xX+B8FpqZU+FOOROEy92eKRh5jU1mouwN6tqBwHhIwibLPgNnvuzwsiRxHrf6axaUPHUckIbtxkea4eqMKkMzpDuflRiTpDpaD14Joj808NsFT/1WXKtz/4s330raOpMMh23owmPR/3sIpv/UU0Oo6hU3+C3uEuzUsJMxyjRlV+R9sZw1Avv5A9Gcs0wCE0unV7lklyXSHkmEWBTCGq59RZoEPFqFMvRfMOT5/06tmeJsZt0skJgRJEdgSNUTRkdu3td6ng6mg6pxWOeZaq+g61ywWt4HTW5Ejry+9MLiU0/PoOGvbKJnHvq/MH49PjUIDChhTmvMZD/oFAvh8PhbIKPZ+3UuMS3VAKvZ/dgCvzeSZMj66Oulop+If4JuUcPCGWhL6tNXVMErYn66rjWjpD6e01fm/ZBEeZhDu0pS78zH0CpTVG/1UeQp/x89vLhGopZI14Gb+qSzHe0QjPJBgCPLTLZpxKmHbkB/Bk5UxBUw13uHW/YyS4dVeVOzleGuW49haxv2ag0IlVtEy/P7AUmWNEoDUaYUjgXQ+WlBKhwMKmL8rvI0WsRxf4mWdP1YRCAzwVL6XEQ0fZR5IymVw3BBskOIxbFF6wVIrdXlqvBwzpuTWiPHY+hdrhyq5BZMA0n38ssCBY8xXaPUfXliHXEdHV054hld1nqOpPQFlbRQOLpQ5KNlZIBp/bqDHvkDrvGARUHNZHNbvkHjVzL1wBoXbPIgT7U1g0me+vouaxcsRovOgAwOmtWt89KZLz12mvxpedqwmgbZ970aa5FlFP31HTBcCq+sg8HzBnQD8VGrxJChdEH2xejJBHuDKKGIX3ZA+2vs+ssz5DDHW6SdfTOlG5T0HMPxf7iaWZc5wouQZWpl5ApfcvNiE37OiG6r5BFHZxhJ1qCPW7JwEoIDECQkGoD9OKR+IFDRyRxNAmuVMem7agmtj2CAsWKSKdqBRCBNhMc2wz+5zfJps4YCzUhFIVmnvHnEAzicj8UoOsUOkUdn6eur/NUcibw2g++kA1M7t2dk/+9xJX/tqVWD8Nig31rToLs8sSPUbMeYnEST+4ztemaU9yhTN+hGzNlLmPJD+6zd+hxn8G5OfyMHnWIheuA1eihkIwDBPJLNat00XtAAN2J8+JhU/0UkiIB550t7S6CsLDUkyLEF0s6clBjikIlHzbHVMCTd/fDH/5snS9TVotfrfIw8o0E+aUkibJCEFdIYDNswLgDUJak1Y23DE//RDWAzXwhgD8lHS1gsXUHwbHKGOs9CyY1hx24Jk3kkq7Y5w+aKXkursBXqCNXDNTUXeCJQxxM+DEzzUDBboPfXS1WmOQzziCQ7w9djYAioBkJgb1xvYf1VdSdDqrhAtQ/lNggWFJSAUOT2ikiQtDLMqIiNZddchIlMA9Kz3SRpaE2C4XjfxvW6nnUjo984Wm4Y3yiEA0eyRsIIsPej6UGLp6Vqh16/3fyUCpC4CYVHoRLTVL4gUcS3KAmf7PxURTgdvkrnbI5go46cUKT/ZER4Agibb9plYAoY3i8Clwtgrj7rdcMPjPhga3ob4PzK19/YKrGkegdAHEoBcWaF4rW3O7kqRyoYHJnQJfr+4oKmi1Vn4n72pJP5MbMI28pKnWoWnSnJzQsv6v/DgdnSSJdlATQ4WMl7O99fhVdZoLndaa2NzF6tDaMLHfFbad5aAUNvaHgCEHr/J5TDK849qqQJFVnsTDJr7Yf9nBpTR3E1NuUCfsbNzxzSmpmvnqvpMFoWtEb5s+qquT+SMeRIhK/WZRxDXV6l67n7srxYJAoFFuzkuXqBxEGP03QfnUS1PQOjjsMVCDdIKo2CsXe4tZUaIDnsvFZFBsA8QFFkVZ9HOAiKwHaIXySgdQKCEwSlroplxp/BDPIGpvgZr2ZV4NN9ZUxvtX0WnwKi/TMiqN96o3VI0cNQT+rSxbTJq9aAFBSd6afJIJhuRVyNyTmvTgImLWvv/630KVJODaAChLTGfUGWHpncXrd5xbzj7sHrBNPEGMzWDPcIVLIgrHIVKoObt51qBpR+M3a9eJnS+5TfoEhG859v56jgb2kuXXfz9nil2nXaqS43+ESqwiCkRsbFlVANBFkYpTVn6+r8ITsxyO6NPVzg1p0hUgpSUJ+5UNrc72t499ct4fDvY2wpvB9fk6lO8XHWt3fdFr2nRmMkvqgFRPCmQHI67ftrOlmpYgzj9iiF9P9e3nmy7m5oPzddLhiC7Z4aTx4uv4StF/gYxAvxasvQSaTYbXqbI0CXiMXOjk4oPBTTyIkwN4vnNgHZtqK2t0YfjG3wN8sv2EBefX5O46oC5ErhFgwShQ/D+UBTgnf+tepObR+Vr3ubck75CGCbqAE4A9j+YzKmodx6CyKmp3d9GoSdihf15nUnf++TI1iWB1pbuqAaqZDJKJgMvOuDx0UrxVBtHU3v9keEnCgsg8bhcRTj+3ZI9EcIj6unjFeYTeMqaKjMMW7EfG0fyqu9SwxqK7gbFmPjRjc7sDF6On9eBSj2PyDgKRcNqDEMoS5CiGPMPya9hCh+H0P2loxbxMZ1VwfiCj+x3ICQNti07mVHMYsQtL2UaXuRCxHmX9GX2BA2RG/Rloc27xh6yz8sC6VYiFZzmuiP5zDrmSzMCu0KQMLi33meeAHELP+SKzJP9I60+y9pdjugAqI/azV866hsplbj6/RMZn87btuCKP+CcRAXkRZCk/YxhCW8FE7qkGjvSsEmJ2Wr+IKRgMhvOWlmo9akT1lIqwlcNtQTNIm3JC3ZEdDN0cIipdb62XLca0HKCt2IXJLzuww8AGqZ1rynODRa8VupC6r/NXwCMV5iO/xVaxx0UiUrgM3CLzWxoulcVbM2PiBQwn0TIetePHrBUIV6W1TLrUOFq7EnvhXkkTuuwA9wwAItdwH9MTa/vOhnNDIDuUBnvv/AAmMdGJAwEIes7blmMpl6MEalD4nasGozORtwrjD5i8m4fqjEtmPpFJg8/53aqXqD7aYpGLoySufjZJm/CEpP6MGdCFPr2aQGSU8zQjpW59Vdb+hhERbAWMqErHo997YWMo4u7VfqN/y/cTIWNWyPTQ7/b1ymoDnannAldXrVnhpuxNLinBIYvjn0b1Bzqgw/ClDdJPpNCVicbnMYN5WCGssbTTcy1GKjbZU88Yo5jmhQMJnYirsYLk1owOLsZVihId9EqnE5Ysx9OZC6HfNbU1WBagzjYdjyxXkbDjngBzq/CuU0t0w+jPoVyVrG6QJIKpz+XpghFBDygAIctk+5chjN5uyRa0h7NRkH1Y5xocN8N9Y1xEIEzL9tP/GtbGS46bz3OEU5evnfFzvA1RVBVzZ27DSnoat2r9DwOUhNsXBNvfR57UlPaHwIrlMz+u7n1DUbirQyuTjeFSHhG8uWwSGHE2bgehmAV2vKY2CFberuuw0fRK2AtPJOC8p9mc7hFLOzCYQ0k81qX5XQvjy9omBSJL04EOq4ELyOQEVsq/ORxwkC6icMflHOMWKbitOvumdXxmCsM82qTq7xDi7fy0EOauk7XPEvvCazwpeMOpLoUnlS6uHnJTCB8NtZsYtYIe5tqc3u4BhAnagIJS0XAbSn3PxSZt65+d/Kgb2AqTdrZ2zretZodObsiaLJPO/BxUgh2D9h0LeACO8xBjqRB0+/eyhNH2sHf7bWEYtM+nQt8dHn0eQYD34M/bgh9e6kr98Rf0ePyQZ0kU7s2mkDQC+oJ0mr1yb2+6dvANUib8+ez74h6YWzJK2BBXf9piQfmawx+z2w1AjQfW2oPY44+mkskbwBU2PBiEQQhkbVtSB7fQiBBoj+w+pTQfDfORCIpWXtvEcqxGfsQAQK9F2wrLd4TZT1hHAt6mv+OdGuX0loyqqqc60gya090JkXd88BZpCGa0IRy5Bm/pbAt956omS3bROr+abQ0oIyDootMDQzaXRwMzJB3qKSLtAZvzJT0TvjydAsmoRT4xDZEDAHOEGndFoCtJhpcK9Hin9i3THBMyFhph32IIJFf9fFxKG25UcQONLER4+lrPluYDXSIdVgcweLHY2+uhN/mBmZGCpk17sN5xdi/bM3aRj3RZ9j3x8uQCkRlix3cKT8Xs0QpaoPQ5hrR6MmuNzzpgmyYvTKOYZYJspZMv0GRrJdc4+XSCqOKT1paOlGZTsD5Ac1XSBum5ILiyEumOEktW3z5jlH6tvfYnuDHPsmIn+/F9kt5R6pSECBVEv9vWoSqOvGpb0lBTFDkA3uxhpcZy4A1/X787wYz/BP9xwgntGSvCV0dOX61+1Vt9InHw2HN/ixUUswe4AmJpw1ZKJ+c3xjievCfORWMiF+fGU8Fkdd8AGtuRvFFfThAUACF12T6Hswa2Bu3ENS18FKoUiMAUcGTM8tViOOoY+fg2wbQr+OHkIHg310sCMVkPnmy9GLQsLj70dtxo5yIqx5LkT65wZFQ9NelzI+K5kt0KF3Me/hc4jiRL64n3zXVTkNgdGRjlGH3BacoXk+5ycBHqjF55k5HOzS/ALEw1h67rMpe62iCM128TQYHJ92AnrIG5tjcQIZs9+scZN3slHHWccJQcJiwR0SBcx8BKkKF3XnVV6t49kOb2M3Ts9E3RLD4SpyIcZT1CPMwHA6Ug7xirn4TIlH9X2nQskn03NnG3WYNGtKhRmonEfTKCkyhH05kC4lR+GCiLtOJ2T50YsqAGC6VCt3O+i/XlC3hiSfo/8TeM1FBIEWeKARITepKfEIOOs0jSY6N9Qlv61D3++IO0WTUeNxzv1YZ6w+LpmHgzmLhE65T74cpzkZjPWKa4lWB79/EPmh+f3udeeAf+wiHVxiMy0ZaHGSlT/9iLCEhFhMTVZoZ1di5xzP9rLnjUZfPSk+jf6Wg3n0O4HWRPga0+jNfZBwguTqAM11sbhIjsBcFr9lTevXAQhfoj+O3tDd4hBEuo1KDliC6740ECTtu63F5g/MjeU2/2F1/kfQD8ueD7rPOM6C+42fCjyvfp5UDjDUx9od9Eh5ZmhbyRVRQL/raA3cHbPjVNusc1x+EDPLEWo1E5RxqyMIMsNNHPBImERkI3NEsN114VPUVGLWcTHqnjlon4qyxgsoFlqVYwKOopg5uGEPdUhdA1GcxEVEd7gjSq4E7FtPSdojeb46ieIhmdsASF0fan3YFpRHmNr1dcCVkGCdWCvmMCwNwSLveydvqaeG20iRD7vRAZxFNjGiuXW8UdFKr9bcJt9rDEFK744Wwybg+k/X19v714wR9xMYZt5P4iIE0qQqtkmFjVwuY7nLxMuH0yvvmhEyEfJHISxIiuY18UQl3droup7hrR4Y5Fn7qx7blRJimFab9oaVCMC56JZG49gAUb13Iv0vDQYcxrbWvbBAsb/DB9BxxJ2Z6E+H9rUamudmBQJXlfWPWTjJF9ClwEC+Ir/nzgfLZMxRVvUE/nKGN/pE7MstVfdQG28NyFPByzPJPDtYTdGS3anxuQPn9bMAxNidxlicr6QBW8vKoWbtYvZHQd+qWqVcZOOjWTauW7ucYMmXj2HL+843eqb0PbqDOeIFMuannbVVTOnOZ+9JRtsio9p4OW/18xVIvVNxmOh3npEqSKURd1iQcfhSNj2VuiSZCgZlWAul+Md3UoZnMwPPttAw7wX6S3xdOwP+4vkWJsvS5D0mKF3vtUrT4Pm67A5UG3/MSFEe3SnBnBQQryaq82tptGRvaO717Na6yMTusE/1/BiHyhmOLvUR0gTSBjKszImLJt6l+eX4awpkr25PY6565bYEiGBIfUqUfy9ivKBd2BEdDSPNcnyDhs0r60c7IDI6e8eWO6AEr5WbRqCp+s77kOkmuOCqBk0yXld1YDtUi36jeN301pmILm1qmAR9zbmf4GP+UQv4u3J7ecb7k0eXICJ312/z3/YijMcDblkeAutKn19h7BuFZMKIPJI5g1cbjcYgzKvA08Z2P6F5tcLWYPzsOB9LINKsge1i7br0o7BxGKtatcsOGimuyTA8SgdsICa2NJveLCW9N2/5HwOjmSly8CahwoaC0GQy5cLSFMHu68QbWuIulF/QPD+DRtubNNdAvM6uxJd68hRHa56w1mJrpfKAcvnuIJQ2cT147vEVq31CKIX/acE+OYlBeqeUDnf8MWM5eMuugd1Lk0RRKscV96yKfp+IFK/jSJNWJHRLJzKsjAKehGQ8lypr4a2yHSMudBxHz/PE6mgc8OXiMlPYCfuiiaeBSO7S1TLZLgiDsPBc2J3DfILJjWjZV5QdwgPxCpRGFsNDRyHkSz4rnIZdyVJpdN7zARGIHNVfULsEx7U3UXCpauGMWPkfKpGDRQqnRmZz+CYnWMFvH8+fG/e2khtlWncam45JC7FCl4TOmuv7s5xF7zQWGsTDlZuU8TOidKf2x+6G/MN5v/IroMhAD0glZBUM8jwIhVXTRYmZpaU43hQ5wX0oqp6J8V2T+l0YnuxOF1vit3BsLXO79fCPvoIlftzG6inccn/F/V3l12w5F21FgD+Jy2i9XKYlEKfeBhOMo4jteAxWMHqRIXdGqwmmSIGMqxYKKCwNE+bvURHp1JEni1lcv7YSzJ9/LKIy56VYNb9KZcMpSk9dwLcFWIkleSMA36jKV4aEFl1CzndUYifpMRelcwhNrpFk31qqyg8QImREZxU96YGqRwgFwj6IKp54nNRlbZd4L6RQAkEp1DHCz9eavuOA8ysGfc6341iKQkfYbpv+gmD5KOZQ3BfGJG8OWkNHRmSWkrNPCEjBWj79UYJ74E++966JkYvXhlpAOmhwkS7vNBSXhdqdOQ78gY7WQlm55RzITkF7CFGI42nb/PXjFpvlqrfVM4wqAUw5Hft4YF36FumYjRK9XkIf7aM5I1EBEZrNc2VaRVAxWzPpFOB1b9tOy5USEHVS2xJ4A5JOHDcO7hxKIkqTVsBUA3vCkw0mxvHlsvXcf//Q80C927n+FAplFlfLP6bS7vlzJZD3bicmr6dYYKmglZEQ+o0KS90LGTqZOAuzOQgib808SJWKkvvREtLvkisdxXhazT7XOZp7V75ERBQizSN+SdlzT+TG90mFpthu7D78zEqwFOcSl2ytE77I0z3YaMqnLgBwXNRMQw7WIp6Lym21/4edNUmnu0ggrlhsS8e2laHoUBiz4KvnURfe8Xu3H14gK5LjNgTosW2Bhgo1aKZzna41VCJlq6uwrIY2CBFL5Uo7Huxp3b8lr0HbXljYvXmmYyBwXtZbxBFuCFn/todD+oAKOEG0A2Z6lR4p7JOZAMUsSvgB4B3n2Fn3BKXVzZXiBnuQDMfGPdsPpDDsB4aeTBHTMohBaqv+OnXhFBAWFt7po2POhCVCDEQijZoo3rOvFnvVozxEg79amMLUPaBT0HtzoHhRCEd0QQsA4HnTBb3vyBkPru2Lwu6NKxEb1WtcfsikXT3OX9nxL1UKreza6clpJpHbkYVATmKNMgkIW56DHrHlwZ20u4It978k/X1rXmkzdqehvROAB8CtwPiJdFn/uTJn04Cy5ayEetn30y3GUt1p+0D3vSVDsXsCgDsLYdzgpzTQNzjfCYkSviQVvMpI3/HX1uuwjmrqBt/SNV0THppjAXAD+VniP1kgGCH0bq/4ECjISU17WvFmU5HwahlosovLIeSCLLnqDzkQhDSfXWl81IxgnYb8irdXBB7pE/f9nxBLZhViElL8UvsBYA88PmzHb7HGMnwEfrXupIQlCVMPnsWbqcBLjc96YBbkG/+mqpNY4GEWPxPbuwHfZ4Fz1/Bt25boP20OMtfMTTHQf2mVxgO2307H8tCLd+kKeBwiu0MVaI+AAdbREk+pAApWOTPmC3/SPfUzg1xpsDeqW3xRUwslw+p3UT46ErV7oFfTGk484A9Y0R/6SWL09gX+b/GlsWA7L23Nhus3g43mlPnMbJ5hcgjk7KeAVrQv1gdZXV0ShI8JqXgvgVs6rdtKcoZdDXLbRJC0Rlis1FR9KtY8Ccnt7bt2mpnfCvP0nC7BDtQUKhTsd9VyINZry6Dc7FszVbm8oQdWKQrNeZisWrHNm6BcZ6+wN5A3cqhRTzKWzTJIYcoZaNcR6c7QGfLA69MH7j/QrrakHv0ac1PaA9QdAOph2wqpFjD1R++ivxLp5ZnLJjGvZfEdmQhYn1Pqe+bQ4+jOwfjwfXGfB0dtdIvM2mBzhJvaO3ON5/l/jrfq06Fl5J2tcy9QWMnAfWwJ+aWQndewAP3iGGS7okHd4mX8WOPw8q3uuE09xPZxZQClt1lfgoQm9kvM/aumJTOLjWQcpTt0LWwBYZoJUO9TfwCIs0a1QQdNIgmPdAJoJna/eVxWaxVV+UDF8hFGFxMAnqEHuqqYxdx1IYdpMSjcMCoHWuS0HZzrdHystQnZ6BTQd+pzhUQ5iQ0apwjwcU53/DrVObMyJ1JRkcCQO0VVvRFHW45aOq0HCQlDS3A2vQZhOLr64xeyuDa/4BffYXcprd7ysVd57P3AzifAbpARNmMoMR6w8YB5/Q63fiGZ6P7fj2jmL+SULhfUbK+E0/kPM+Tg09sqzFIEK2A8X/nfNaUKoKlWsmYhO2db9WN9Z+ij8KT92E5JhUeJ2meMGTXWykvofTJDMAgCiyvQPwkY3e5pl9gZm7meE5hgT30q7aUJ+uSxQFUmFMHEKyCxMKq9ACKe+8e+hD7VcMF5WajWxLERg1GQhsYi35BqcRb7IRL3Yswa8utEZhmuEhngAmxmH2tp+FLcVjB1sSHvy2y0BDXoonMcGeBVVeewJPQiSe2H/PwT7hQdNEcQjJTFv2OiCxc+sH+fB6f0N7SQKuw//7R/noU1LJuN6Vtz/60u2FOQSJEtrG1qH0IzrhBexrs5ohbr8KCAVU/SdQfXrOXaHVtaTu4xADgtTt0mj0OF0zVJRZKXxyWrJXjYbQmKKwuwdkmQ0AAAAQU5NRrggAAAAAAAAAACiAQAkAQCOAwAAVlA4IKAgAADQnACdASqjASUBPpFGnUqlpCKiJNQ6OLASCWdu4WbhB1f7sPKKzk+d8jUe/cRc77p1XoAdNPkKHprzgfPP4f/k+GvoBnxXh7SezV/Ffs144/F76O9gt3H40zC/bz7d51n5vmd/Af6/o3/73iS/dv+x7CX6S9Yf/j8pH7P6inTD/eb2Vf2mJWL/mN0U/AZD8AfQ3WcTGEDUa/DzjxZHgIslq8A+PgOqrs+PhSI4NgH1fmSEezeoD0HxAtZlXH69AL22cjpigy73FgDcvDgnLKAUXxHVOx+PB5jqrzgOYdkI/T6t38Zucx1iRZ52RmNhgs6gakoZq2kYrockYyfPgj9vNgydMZi8kz4gD8NTJM8w7S3FzlJqlUAn1sffaoQDx/qNr7Fk/6YEp5nMTwukt+ujpfQIQzZ2xgcHx3i2xjMvPUIpJ5I53NOjyBz39KN23hl+fJiF6rl3tsR3ZGuou3nrli2OUe6Zf7qNrP5jDPPE334aC8iRDSNEdXkqzj3HCwzxOpfa/2lo3R7murKzHJXheCGFx3/74YTUjAaJlsnjVPStDTYLE40jaxMjG3js/dif6Qykg8TEZUNr+5yKd6UbNanFyXYMMDi7ZgQSkAZRCVU9e8+ZkhFIBIxjBf/1fVYghzcjovXGa3b+tXHVB+CzvjHMrYBIfOykmgyYPg8ybyneuV1bJafRBImByEVYpsoWAo7x/RWiHKxSH6F2dWs4U5IJP6cWFs79w9stxQCRGIazbP9jCUV4DVwgthjwKCbczmb4fHJ/smHidz4FsIY57vhZcwEFbj/ioi3yMz3SLwNSc/ViJQA917Kov5O+H+fV8SK2guNpR67oiGiZYnTOWm9udv6bDFf70Oj2UCBhUvj3lRkasSIm/hysHE0Wgx3i6qwMPdcRr7X03ahu8oK5GZxvRqzeIyQROSMY+0S+cDdLpIdvpUYGAAGfdkw0HO+YnqHzDn9Slkacd7cv2KEX67xLZJty5I2yGGc5vKBgucbvwHalsEp7O2T1ddgejNYGyTYOdzaWRBxo/caWS1fCn2M1L6hl3t8qaT4cEb9wXlEApdMKsQPKMAP5HD9wunBxWjgqsoYYuHZ6cgW797rU387Kz2j+TAjKbg3bNGusepevw1iAJuGZ8TuTVEIAiMBM9xrf+pajUb9kivjvmtNHNwIyqN8Wih4HfmqZbsm9/eevTLdEZM7a6P4HVDogHh5dcecmXjEnw7A08twQjDQW9/8HVDslGVthmYHmqZrbwUZndBZlvO9kaP75McHVnh+h8xgzO2lP7sqCk787ZKwRCJqYTuXjNc8MnY3wEPLiWWcKxu1HHO3klZcywlKLHIH+aRuArS4KCFzf2EeejXibxT01gpgbzwncvGeXBkvYru+RTcYjoDXd0EwHa91bssedoS2s3FoLrcF4QgKwOBRjJgR3KfRCAUz3P0EA/2IIUXZosTbVHIyjBafhk7mKtlfGTAQCmHcu+OGblyawOZcmXe3Lky5lRXzM+Hn1AzY0Mx5i4O6mBJvyvMAUUbgKbLLkPpfqy5Au1WhyXTvaYinuQ9PpR6qoZV06B/p6B7LoTqy3jOzN4WnF1ElRxaHNIjliEQ92A7OeFFqXLlKbEZCGzUb6YV22yBdFX9tYMHrOLpzxGifC4E7IzV0IeCj3mD9HFyzaLGvdLlDD7fUyecgA/v1bu/b98hGu9rVUknbIz0DbZuCEZe9kl+0E4ldwls16aWaa4U2ZUX5av3pffPELzmn//uNNi+svH6tgLejXXljlMYc6NtIUUBD/ZhKnh2okLAyVN/jjyhLhzT4IhwxsiV/rs6rFXhyxVDFJVjqApGPY87aw5qRADsSBmAtLrKuGzfzOluANdBz9N+LBIOu4lQ6+0Da8VKLciXYiUs0tBMvo+UrRIp5/lie+2KdCua7C6uSxGuJnszE9e863cagAqI5MA6czs+HXg+b1UL5ttgZAWKhFOf2ISNf5YfyZM6aOSuC4Q7vfgSFn9hvPQobW8/U0b/vWOpTVMbQNaKDsIwQ0BKd2Oj5mLdBWJUqub7o8MCpQsL8o5uCTMY0VESnFfa4zU5IA6l8Wy9fWrpXifyREkELpeOsU7d4OTO6rR4oHpGFdhTIrOjwat8LUpMw8l42KG5kU7rCP1e+Ui4xYO/99FTjd4J8VmOu47Dyoi1QQ8qlMV8vAj87NrV8fb2rn2Lv1dVzAOyWuHE9M2A70/PBTmg8TUPuIUjnsfXp5EQ9sJe7/1FGbVySaDUTPngnr1dZFxeHhpoxovy/hmMZY9W2j8tNDkNAGp6mj0WKW7g9Zq1AQDPN3HMtd/lef+X/WkVqTRMNykDuCo4pWt0jG+V0oWSmgvoIedNxV+SkH3NtuL3c/plH2ccFjstW4phJJY2c9h6byrb/EOdbDR50AK7Q5+DEKeSwsoEwwQpUvYNkZS28OvBeN7vzo2W56UN73+8OUHXgxg2u1E7nXieuQpFdj5QZmfcxBSsUvW33QET5RlnLZVWG/ovFV1gcojEt3wAaNH6QOWaaC7Mua7MFZ8KWkZEaCM9Gsx7w3FWCcU19PA36OQfPBsNT9uISI4H9O/eFpxaO26c88ux/2J4LX9dohEChZ+G5IPFqvoXQHoY3YmkhzbnYPBaa6Iaqx+rZQ7KO4lzhtJzQvvGFgIhwP2RDwFAAUB6X9LAzhyFjz4UF2x3th/pnFGjTNCFba0c5+ZxRKrbE6sEL/dzN/kIdHez5tPuwzDIY2QwRrHJibKeDvY055WFAG2Ryw0xSlNEjwXFPkFkRgKkDQi3cPWogKkOKXdS2D7QBCdszR9ByDyOMgltTAydx1DoHwjeKLZJMQUKoPCgZqSFc5xeFOxHDAVFF2MYI2MEEN+5DaMq0fYimf1EmeEkbQUO3BpdmxIPW8ldVurszZ/sTiT91TCJvewLzPYrKb/QD3CmTDYxs8i2erKmYXr+ThMezRd5UCQnIvrvxfMxlg5dKHKkDL/FZeGR61+7NXKc7rYYsql+EXFGhyVs8TEK3BWrdH4jYDWMQLuw7PZBT7eh8HbsdQcTF7g9O0iT5spf9NVYXSzN4QkXHieam4uiMKLMvbHcQC2Y2Qmw5yHKIDiw80fLX56BR9wGdhMlDWxSgVLKlIUqoLe1F3wFeacytMf4GbHXtg1rcYjdwjNWs+zmU5jdqPyYtW0hKfsXuyBdZ98Ax7nWOJIsjNsy1Dy3/MwHFYBFN0i3pkWtHgXuJujS66AbxINYL8Ayfm44MmkedfuyUYCzgfxzwsFJftp6z2MjUaQ7C/TUCBxAE3bsrRE3tmUOb0nnGIFiMFTZkCEUIuZC8+YNwB1l1otM6FqXtWiwJDBHLG4Tyte+nbSuo/VtLXgdMamJ/99vTIIy4wTPz0Y9+0xY1xmY20pvG47WwOgcF6tii4q7fDm/9GJ0nni8ObZA9jGWG+iLPqnL7fnjyht7lYB4GD/WSTjuG7X4Pm3grIWXQbKtAaQfrl2Fz8ABOxKP5QwRYe4onmFAVJ3pN8ini1CbES+/dQL+NUGjNuXLaip+ECMzidbcBv3gnR/cOpRPnK0GjtmvAMJX/QtheWx5nYulhLLj9MFS6hV3iagMtZNkVE1jNWKi4MbpdfNbTDoe0IvwrbdmE/+wz/tFLrfnbL8bqPXIVyUp9m4hgoFPyMAudqTmYSH4uLbftQ0OPH86qWjJd4Ee27oyE7feb6g3Mk46T4j0yAn3HS6TYo0L8yc6yFpiV43WIW9yTyzUYD8X0xfHzJOj1l6hHooEozXZRGSA8mHmZio3EmDFJSok14/a/FYX44CJwyUe0NHhgCHlqjJp7T312jv9mM7ZMZ4+BoDmSFvX8KjUa8dL/bQKjwBYlTx0FmhO6csInK4e8+O79zNFvMkDrnZrVUVjEbnzOkRAVbWjh/sVAoEbgfxXkXhoEtjN7UnC5PAmX3ZpyuPz5o95qyjxqSe7MYaqSnzHEdC+qGSzH83/37ylze6BF7lfh5fHeMr6rLhLGtGtRv8jDdHXeMSWoYAWRXhfJlJb3rSgiExIO/V7DDV0YInE/j+f9TLc2vdJqGXJrgQDnoquFBhIJyGW8m5nBZb6kBHyEuq0xwvKAP9zjIuCsNbWe7r5Au53wB/j331pxAoxxIJxAKp3fh1yjnp/L3prmnMpv5CgDDIHWXS3CGp3Y+A4lHWJluMSljV6FavwzCN620LEYb7LV+nTsRtxuABdII/uLc41sBYWuA/rQ4lDzirWSvWgDEvFNROBCMWINtQHDdq5QjXCPTWmHUsY8EV8GdUeKMEIIydeF/qKIH4zEH64/EXkj6Rauq3sH6crIl7JjJP7YaN8zCnLkUotE4j9xTnO00/ipCeKF/6m9XAOqEhmT99N+0iJabzRz0hAd+91cs0w6ezA1j00tUKsWOJ8bV0IYQSuckfnBJoCwCfY+s6DvPcPT1Aru/5vL23xgCXirb5PylepMXX2zhl0UtkHXZ2iATtMcnjDxEQ1aF2ThwaJ8TQYWBp9MUu/vJ2j0HFEyXQtEFvRURgy3QjzD0PAVmMrzqAMMIj9ZU4ldszVmW8g3Ounl7Y5LL2KfyYKLLFCAqiPCjqOYr7bqwcrDrpgwFP2Yem/n8uP63cOSKcvMOxze7vv5FUru2IxoZv75t+urvr94G9rTPUhHDOWvbWmUwHX2nt0Bjhzjk8iAoh+h81/9UL5UB6L2PH9kxePq54Zfy8Qh5zHvsXqyU7jJuD+vzfiAzrEM+21Do+hqrK7vvin3VeNdobF1gXbyWFU8cvQVoErbKXBjb23keAb7arPHmTL5mSkgIYtWbfIUh85dNJqvIUJmPNP8Rlh1xOsyE1H6o2lGb5ItOMRIP6t277EAWG1Wl2JPvTdcdqzagmPeiar8l4QKo+MvZOW8t9A7TvoyrxHySHXaD/iT/ZMMDVOMjYObJxrkmVwv+Uy1IEctr8Iuw6RUpdAvE+B6k5lifApqlxnNFH1LPPP1TtbOE28sIxaj3Nxq8H0hIi1BtKcqImGfopa4JKRCTzUrVIlUiXFINVWv5U2I/SzZHhuS/jpiU8gHMuqgjOz1lNdhjDGfOD+nosGNnMc2KJNI7DBKZcSAsMemwTcGkEzotUWHQjXrhAnbNZSt4Zzxu8MlC08Ui8UbZlH/PWPREN1BmQipjNMImlIYjZNLU/xd5U71jPdOYn32awrnYU8k6ZDYhYUhRVeQnigeBHpEYySN91c2gGAEErnL0yMjHUPTXrcRTXLQqBqE/Q8JJo7fegXT8TAyuo5hfx+exZ0PeXFPhzfddIEjjub//TxwD3BEX5t6K0tQYvE7erylK9bcn4YGyamiNGs0MVOluG7ISZ1LMhaS5Dx7GxpIs0FVcPVy0S9WI75kLVJyWr41qotf4+1K8sMzqNVVtA+wDeprgDBdTZgiZIGxPZvG4krGBmQRZwSfUS3rZfQZ8Ak7djQISYR3PY6up1hXGIHzCN/IWFpdziwg2ONZKtIePBID8KM4qb/ubFrLOZu+4kIzbSvwa5waWLiAM07zSn1+R2eLM8ABThzC1tqfHog+569SdasEju/l5efbWCSBD2Yk/Qt6bN4f5lwDtgHM/ogzgaHNdRqcqD33/3/yNCV+Gymfon+NpXILS7BJb9pSzlFQ6L2dHV7fAISZYeiGhlj585ivn6n/nxQUYvpaS/yGqPDEH6H5/Gan66iKG3oJkfkjVO6HagMAgg+di87EINumppDVYS7C0cbSNjjrkyvCaAm0BYigcUWsrLjiI9sSF7yugro/AChccO2jb5WfUK+uagwWhu7PwTjG5cY8r9/xmJ0aZhstykOMtxx+dMkANCWubwFDEreXHWi/CgpIJheEKPssrEtEgp3A09qfhGOtSeYOO++AFFquBDDiUL/wpuo91Dy/NWvYCQvagkBOO7LLUljTPGSvEU+2zFk30d40RDT82EMh9jsEiK3T2xhfAQBYRUSWCG7AlxoPcKimedzZmYCKNeUWGj32kKFyZjkbALHX4f3vyYkoAzwr4fm3yKS4wcSUEpvfTqoeiG8AM9Lmh7HkIpOWbfjCcARVgONvFNcv6TaQWrcTOlf1j9tEdXBphwHGv4hDdOmrK39o8T9ohjsgiju1KfwKyai54UcMd0cPuZAyOqCEJWdkry6ibjzQTEpZqwVT1Mt66eLYvSo/l60gCdXccjARhi3qcuevHnOsRJRS7p26U5kLBCZE+kg8VgoloiON5/rX0hsxAcrUF7T+nj8m3cLgmj6PPDgl+yO0xdGqdSvyG+02k2g8DtWgV1OmZ7taVDkXS4OiK6lykQvrQdVVU8GsS3fs3uACnHqo1mhBpgFKQ2fFOBh/JtmGOJSztcC1PMKGgN0RaMNZrPvA8ixb11D4kWtVVtZVSBcLvR5ummwOFMIpvdKgZCnUUgfYvUonmXS6xNvwK93IxZM4AXG4xFuf2m6L2qWI331nuCJNbHX+D+ys2uDU1DTW7JX6ajQGZEntmW+5UztBNw9fKwG6SXRM4vVJd/uh4MEw3VN7FBQG0ROvJL4NF6uWxQgPQEg4Cl10xTyyswfK2HlXuZ8x1Gz7ksMiyE/cOu1XGDl+/CP/pEhYE/lLWLwRgFV+6nk/GDk056ZmesOjOQ8YsDupefezXDkhd7u1ZyB1wZbcgWX4CJZ3CqJKage/D62Yz4rID4Gaa2lY0xeNISyoakMI4uHTUjNWkFwyh3e6y/POXFlggcxTOu4C0WLP1UTZJsR2wCs7AY+sRY4VkH1Foxijo9gh5bUcF3yaDPVfq2D3nEe0qdC8/FbsDQkyBYQlTphHlflGOb2jR1XXNq43D6V7q2sPp5ROI5RlPqju2nUOAnNA3L35Wr9fUwVqPnahJYj2qrlIsFVRcp5a9exKYQM+ZOfnV8WQL2PhApuVvvozaELvQdI3LHbJLTD6JTjSD2SYwxeNTTk8KUM0e6W9rqxAu9w4BFWI368rrbR8k/hscdXyxqSVBc9VScIRTQvBiUGjpJk5/gsgnyVMS8dnyzheg5H3inAJtmiCt+fUzz4iP6Wplm2k50CAWw+yVtzqttNo5sC42Qm9W6PNfCvizcIuYhjS7P4+1yf1gU3OK7mJ3BJLHkOB2Xvo14BGK8HjHXjQnTEkL2uRH4Ciy/CBTbo27cpTV0fxrpYH7FWnprvbCiajW4htqX0pI8v2WRqc8udhL+OjVSjlMTVL9zHQi7VIdjBWwqTmw30HNiqKRw7opKs0Hja9aeb74byAbp2Lr+KGE6QA2mGu7SFwQDsBCqMlBAz0qufpw+q4CAZSgO3VLoimd6cG00UoDJshaR2iQgOe6uNrUcyQUtMTR5+5a9+XcAJrN+fC30rR2rtj2f//8qlPmVH/JJsakyb+I2m3m7S+W40OMlUp/+RsLkG7zDTWgBw2wgZWU7KUmW2boqCYf/8nrypG5CqbWZI5qjjp51lveBOSKKm3ezuPglI5hwPTxE10l5nC0RuhwUyfpPko+D9afvJSUuSTq/59d+JWG6o/8jA3bfwLFi6JKY/G8az/W+9vV7BxZsCMn7aRpW/ZvF0mWhEdb+Usfg/7lCW+PKoHYtV3oFw/W8wVoeMinI5e3lNpspTKXePvb3bfbyl2AM7TEPL3/+8tG1Y9AAPChrFGu5PdxJP7BN3MTGY86p95oTaTneJYdPstFQzTbNQD87/2vN56gbEXlTaKSKqEckuGzl5kDyctKzPJeMyQDCq7ZQPyK2WDPMRd+C0OFkX3fJO8a2m9LdIcIatxJB3zh4UZd8vs/WHbdCZ4yjG2GN4exFXaESAcQGiVutlcgwRyOJH1pLD9NI48kJX4YCKumKLEwoPlxGjHehBF+Jvt/YtVHxKKiWZgf7zdp60e3DNB+L0KA9kE3xWQRhyUJDvaskeHNR8h4LTHefGsJIBmXZKmDlmQsnB4IgD3oO2spiKWyVJgess2S8Nrtrbj+mcLs0Ha15SndcT9jSj0dUKHrC0+nvSOlWynboiu5Mh8cAOgw0Nv3iMcQfekPC9rFKBzA5cH5/MzWiQSGRMN12bcFA2Pcm6nLMoVmLvyeimgHuIVDm7CxFCJ0LwyDoVuKIBs4HRk/ljLD799F/zACWM4EchzBAbqRY7KlignAGyFI1jgHYMCEmBq26KVgd9D09ghcTmWof8vpLEA2BHqmJcefkH4Mzsa+6DTHoSiFq57iMBWfAUHuc/LPv5vsRLe8YLJ9H6oAur88BsjeekIVfJHPVF9oh3CFuvMbY2BklNDJd8SvQ1XpFXJgjXJhU4ffFi9S9L9v71/wuuYwyPnD9Rlyq62YDdXREWwuuBN0k0zEyAGHGuEF7qQ+knRfuNptAYp7C6hPiygy2ffmfGvrWm39cOPQhJG4ywnzz/quAZu0Ac/HOEwZdXe4UYzjJGk0wSqzEBRDwfsl8EYCFubDMcu/yuzy3B4RvliQcgYRfVYusaTkwxd6CnXJADJEHpU7Uet3VO9dSmJEmgmGJ1gqM8TzWu2Jq1X05BbHTNOlSkWJ26gwciitbR/maScuXGc45cCTTfziWXbY3nzwRlg7BnoK+Hvt1F9tBnevjCl/UbkGKEfQFp/Ne7elm0UEL4uBgJ0fnTMD2Ds2Zkw2cCS8S5XvaE/gaN5TpgNP5FeQt/F3hGQBiGXxnQ/EY4Q21gjyO9LoAZHK7oooIXW9zPqnpnC9CnOfTEFpsZMrEDdFfqI2Lk7+ZafItQLYqFB7Ay/vf1oSAjeTLfJO+DxwRunqAT1hK3nsaNl1Wf2sP5USIpmmGg/oNwfJD3cYZXEGqNbgjQVDPpPlQGCFRd+f5bT/szPSuXZUJiEXZLXqbpOKd//7Kz5xScwDWTbyEl1KiWCY1erFcEbwS4n1cdYAPctnXHwUQuEEqM0mR6umx+bQ0VdIUk/mt/qEjucVCFQJgCosh0Y8J402H8K+rpsNhC1IvJXzSymCGBglDqHN629zfbuOsIlaE4Al8+j2olj8oImZQqxqbE+6w5KpJ9Z/c2iy8UqQDw03ag64kEuweHEnUs+hyUu1797x6L1J2fZQaKooi0MdgopX/kGmnDz/5dJK6ryX4O1/285AMlHeeFj32xSqjZq6coJqyDGIXSEbDqLs/4NcEkVd2sZrNJKvUshhPN14+R8uXUV5aynt8J7bQpEOuRaoVGt8NY777CmN5UcmkOnLaWXQrUhKm8VT5EvPRzmuvtN+xkmorAAAAQVwNf3h2B7V9pjt02Bt3tmVpCya91xEAGJW4VkPUpYin4X6pM8+id312j+anPWOFCLqViIvftAULz2Q60frM+3QTM0ZSwc4UikPF5yC5Hiw0bA3k/I1iPSicEZIrZW8lncjF49w344aAwhsX2A3Lq9OSRDYW7oMffrvzfY/wFMOYvzEZoTnq3m+v8x0VzC3mcA62qLjGsCDZRTH7wUouHC+Lgj/xyWCMEkiEKS3FPh0h2Ytr3nj9N6cwD2IHtj7C+ghN53L9/HB1fh9n3NvbTBiuhrMxotv2ojUW0ZmRQfkTPnWndpM/Ppg9mcEYhJo2HuEPPF1kFmngKC1hijjmLY22GdIAuH87lEc26r+EDhpDdF/0iv9uNAmeE41q4auJIh3SI4U+oPDS9wpLKA6tPA+4e1XnHVfbpzz242Mmwjh1iqb7WqUcDi5YGoufrVbxmkH72HY9upd3oWA2qc/3XALcZanv/Kjxl1MDHxIDPNz2+Kmgn9WaKqYs4BCOA0qP3xJf0ogBtmcOzUzU0CiN+O9sELz9SSFhcmhbfOprlfX3/Km9Rx70mG/qavTGt4ndGSWVSIGHLGpOyuM7bGTMbz9b5VpccybEgONu3t9HnJ9Ou+5oXVASvjJkPs825Ndod8gCABbrBcMABGCgAACdLS6hm+SoWxAIdkOpmaDiCLU7f2U4xnSe6MQxevINhSn/Rj3w8wXSsYwS2a4kVnvZk4JgWhXhH9UzWqfA0cL/gBUOi43RylGbrzTGcMkaFsZHYSnVrwrgVNlEizoZcQwTWHEdQv0AAcxr2M6RwW9dEv+ERlNk+EzXni2je6TFWV/w6lYjBzbWX8EHBgOHx2acSLLzcIJfqArZ0okIkA9YM244/ftBBwL0l50vqpMxV/CAIPkJ0vh1dhyW+Toum+bUXhM4UGYbS4PRr2O4uxccNGbFlZ1f3WC+xVopPDWKSVkWflCtHFb/YHAHj0JyiVrCYEh0MZhxdLrNf9ut8lte7qlcAjknQh9Hm01CknNVMFjyKFZhzf5FB/JnEr0mhtFKA9VLOKqk+iNORhPifm6WcY0rbEA+aAz7egt6xtShg6FeXj6LP/TOKkcc7Lux0bPc6I2QE1qXWLthaLUzmm3uAh5caN0XXlYf8c1a+II0Pc9l+iT95mvSnXAXso6e6LLHFHCEbCVpQRB1YKAAOR5ibgPMMarf5qOHAlvnyvwG6KlyLG+1JJfdbJvO1WOM3vUIeIjbvB9TIVdEIg3/e2+5hBYRI5z/jn94cQOHMYuTGV7381OJL/F4QNRt7vukYrq7zLYziZS/+GAK+ns7umGIzCGiSg21rX6hkOnACqQKM9D6uTD5ttHV9okzX1cGynwxfRIuUp6bR+vpU2ACHYRSU8yoObtWuZr5kDSWg8LpnH0w1rGieb2yzE2uS8q5h125W5xVl1GIXrhZwgz+vO+3mCaRiBSMTMUYE4I5PrWbUyOXJx7HzkQE3UW1/vDc5DTmZzKq+/mxuoqV861JETh2fw26QJx0qEmYK1bGKIdnRWZbM/Ifv8u1JzI2wjnxT4v4/zYizljhnTRfzD6xd8uFGDbsPeB5CPl9xOrXmJkRv4mZ6bluOmK48Ru6+cjOE9WpcmorThyKi16AbXiiTDmkKBMBF2BHMJ2wry42DLA00bX9xv+DpOBsSTQ4ysz+gfFJzU85g5z2lNUAs6UTkzGD0ZiOkye72I1IDvEdDIb3Q8RwY4Qv5k1tqpPqYEH/fgUZC/ZuHMMEsXcppzlIkJH6nN+4oK0SS5LpzutNaVVn4Lq3CVmTguhW2MZPf9ssUei2xB+/g6rcblhVzKhOQrxNtHfbSmBLnx1Uu4UeHwxSRQvs0pjG4fghQSuPXduriWgsJQHA1I6K+rIBC9tdrjesWZOu6FCVlKdscBtyK3UlnbJuAY98Eei6IkM87dMWhTSjV8JYAAAAABBTk1G2iAAAAAAAAAAAKIBACQBAIIAAABWUDggwiAAANCbAJ0BKqMBJQE+kUadSyWjoqGklDpIsBIJZ27hawD9xw/Y+dxyvSa+o8iF8H1G7g3+qdDfpw9O0/R/Jv87/mv9/4c+deePebtL7LX8h37/HP6Q9gi5/2iWw/7/0C/ar7x51n6Pmj/Ef7Dox/8Xh9/dP/D7BX6O9YX/i8p37V6iHS3/en2Y/2vJPgrAfPoSRbputj4DiOdbZ4lespde2xQ94ar2NWnCo0MeS7IXSOPeJTyE37RVIjHRmsmIQdcJJ+kawOTyt+TZDTkboKdnei2NSbmsxhx3qsG1/9JTyIK6l9qx8AZRotg+YpANve4yLwRgC+FEZM0nCPsNrg3+MOl6/GklbFw+POZco7LH6eOsYKMs9d435hjQEqCm6npElSx+oZntnRIGI8oy+BJZc9nmYNweQhHma8uXhtgxAZPnupPFFO9Xz7bwqN2VXeRNhlAzJkt8oUENm+SXiMDQQtz9tbKFoQYp/0UsD1KSQUGmxBalIxFV4Lc49c2/YQDQO1/leBxH9pdXW6vhd7fr58uMuEE6uvFxaRAjCnzbXFW/i0k2RSfIhZC91BuqhNFhvEYTGTTTRFI3AYKIit4OsG6szwT/+xTZPqbyVi/vo67xLJbhEzWw1jneu3ADqiC32WW6lsza5MoeoCyUTHpUSF1ZokZ7mqT9A9sSfCzCL36wkNsNv8EoXCwgdQ2QpLQWnJfIMv9WQ4U0CvPb2+BtTPsrcy+TW6aZ9cKRQ0mjhYlSsXdqRA/iM0KoX7Mtv/a1YR2lAgq8AGwjBvPZAOsDhaBO2ZMFvr8STO5LG9ryJLT7OHyrgigtez6jHAIRtC3Lk38aZooiVr2jP5GEju3CPOIeOr/guEmqlHhKpZH5dm/YFFJ8kfzdZ2kFuISx1jQPpTCzCUWvA2QVLt4+Q4utRmZWr55Lh0x5hcsOHh2a0jUyMUJEhTSpr0zhbjsr4XwpQerHRTWXpqvqIRk+yo1NfvoC9NJsZlV3jT7Uq2xwZpWDpqdUkviLdpL069/5cJ9COLa/0F1IzbQ1QxdCmXbSGeopkZ+wr1oKFmSPmfLA+kCqhkCOk8pJRKa6eqQE9IFXTUP+RQ6YHur/acmWAQIVoouOH3zjnL3QTJvDjKmAFoVXs1BcJBIZnuNUdrSdjvxPqjYrOk7Nc3FIahiqbH7hLT1fWZReyPjUI/TywhJmP5prkWwe32YbzfE67NGKBHjmTEL5q46m6q7ig1YhQ3eGSi73EHTmtImNR7EM7N7ETTT+Hnmyr0sbM6Y7YTCCDVlbiH+JvVu+ZoX4BGMn2VKaJUeXFPC/hBZPb7DYuEMGyYGiWJXK7lEi2XopvcRgjkjOJcfuptSI3ZvczcyrgOZPsrrUR+CzmW4K5LrtrZs9BWGMdtmiaOJqk6PcummndUhQg0hF+Ix0oICKRfDkAWvIztcYse0r/ltVd63nmaF+ARjJ9leJddc+ywEM3Mq4DmT7K8S5SGZ1BPCfDKCzxsDRjKiPsRUS5Nsk5xSVLiRZVrK13py4Pa3Cj/p3WpzHHj8l0jg4/Eij7a4Aaf8TGhXQOadTyrHma37ssnpgg/NeQN0aJL0Dauiwlkk6DyJicOe3S/4ySM01ukl75tKUr0HYHLcOFzMZbFE08chju8v6PGYLmxXREBamogXvrs2X8e9PyYUbMYjaZAAA/v3jofHJVJ4+xnmY6CwjeEE47Ex0dxMiQ0/geZgvnj5MOS1Vhh9ktNR2f8b1xIsqf/fKhlMX4VtGmddg8Difz4SvilEwCI3+2/BUsppuBTV83i68sL3RDD5+XqOXlUmZMxxUHNfigr83K8yctYDU0oPVc3IHlQnjYN93hBHJb+dmJh8HI+hC+USTz14DVEPcAHqAzFtadPp8MDSWszN6sTsISQn+CZJr+js/yuPfbC1dZ7NyGcxpMxKLgRUhYrT+TRhF570VJk9qv7B8e9q2xPxU+HIdKfCbw8UzOMUtSZtTjL3qPZpVU52XYBU7naBhFGm8xSy4emf0Gu7z1jnX5Ab6rQYTmFd6RvJ6+/CW4/b0oye9pnB1CfbCifNHAxWzgCO7QFbFiKCRIUh7vq/ppPEGFTTUQ81+ENf1a2m9IY3zTwLmSwRQC+18zVPVN/V8yoNOichvTlknaMgcrRVA9gcga5lQFIs1fFsvpnFMPwylI+P7PFsIcmhWWZgNnijhFi3Qdfz0HE2bLNBTrzPL5rRidQufcqZDC+iVQVFH+7qnaEJ7auLCyDJ9HJddONPG3CEz3kB813sFY1t5WFWN0popIcxTMXj3U/3ptHtZUg2n+kfI2oRj6Sv2ZJjCq58861P0Ci7UtSYxTrlQbCs3HHoSRlwrrD2K0045Ss7iDz4XxenUcu8SWyGN92P2Xnc0mwVoKktsMFgbbDZBZRWm+rCZ80ig4Kfh/B648XhIig8KdeF0HLUErIM0Uvqkpvhg1tQsF5CuWhaMoFJ/Myv/dtrfzy4l4ZtXlaYaGLEtng2hIA+FYqN5V1R+YYeP+hXZ7kXmrxliTi5aVnGZ7kudmndsLouFwx2r4d34oteE3I3v5sOC8zuoA7ZQC4oB5Q9flZTGJ9gowSElc2Ojnl21T+nX3wxjt9cfa3ftsqYvmfsPsCgdg0UajLFZfEFavaGDVW6p744DzcXmM6WmXasd6ehAfvybvNfiJ3yhvOjlEAEDUafaSjHAMtl/Ju9Zf4N1/XHaLtweC7NyFuInaTsMmtW1znHpppN97e49RQG1wqcUQLb+N0HHUDRSluUvGYJKO24HzLFModk4di0Z3rgDgMr7eEn8AlaR3AxCb20zk4nxq4bjmvOSCAPFRMIRjYeCIxrWwmlPZkCNJuxu4f8iWmBUekNmN/CRAfmN+AvJQ0OtLVs0xEn1ABbIiLXIgxli8t8puOZyxP5qX6+JH+ITwsQQOTrrAia/CAT+IGsfPmvpVVXKwEzMehBxDUnqU8m58NVKACb11EO9QEuyU0UfcXkOGIuppnUMLXhTTWXsy96jApfhL9wqtv0lqcZAud4wAnPL/K1qkuu5exVCReKRSAPM/1F1KESOvvlw5MPXQJaAsqHtUaR3yTqV0yq52cbSk5asS1yWR8+fCNpjzSLVqXOgHzkNVEVlt+MFKWjRe69gImdV+1pihDCneAmr7A1L0IF/3Fo+eWGRq9SiLIklI4zcIdkjgMtDRHyJ8TBtw7+dMT3nBwiJaWFQFMVBKHQE0xSep6fHWG2tLv6n6t+MjBrTvfliiHSFvi5bjBAvq3cU44veIOuyNrcKjwlgGDqLcqqg4okPLEHGBXXZU3qYRdXBS+bQFQarMgsXMKIb6A6lBxk4DVm9u1ElgUIm3Y12ALLEHmfKeq+pAGq2NJOsfpVCpQ566TdyckUUYm/9qrEMj28e8lCfw+YhoIBinEnuW4Rho7SmIvaFHmx4XbXPmaFG6vW0mrO+9kHvSmQA2Xl49Zd/ia9s4DomtDmAKyS94/lCVpxEsm/0jf4jpdeccf9Su2jrqemzGNuQPEJyuStaL2KI9oJ3ikeLnW2w3OyaD1zuwfnTUxoEgHyOPUdNNHsxUGDG/d85CWmMNuYaclGOEbQppbq1d2oQ1qGnXMtpVtpLN2c9EywexXmIFymbQVzlsCvb/1WpESVSX33CxnHTXcOPNwA63GBpnZVUAo9pA4e2Bd5s98cjECO1ruGgf3dczhwgLqPROoC+ckqmnUJhQiuIsr8GExR2lP4FIkCHpcq5PgouUiykztl3/AII3cYE5aJCaqNe/xa3b+XOEStxdCUAxrijFITrhM9CtDpO0FR4tIGf9n1Z4SGWCBQqIGAxGgFJJUDT7V3g6iwBMP9tYxloclW/OLGn7FZyPszBW+9d7+U1DECktZW2x+IZpChe3tdbax7T2CRYqnM92qtYBm5rIX/4YQCnkR1cNQBuprVoKbOVbRIQTaZK1Tu1nWwDIJZW6FEXTGEp0OGq2q7/DGQHpBAEGI9vpABRKR3NuPetWTTOywVufZMTWd5MQavNfs2i6j1AAqnaxxHdiGcw2eBg69viE39Zv5RBNb3/xd99k3kiPZ9zlMyWRHEW6MDWQIYNCR5+PWN3b8upq153ITDW84Hns0QIGUASTvh1+7Uw8OladPaS0D8Z5VVzWcwH5oyhuTYW++Z2Psw+gej6WWZg8qeAf504Gt5abjdYAbetupnkgjbeoCcCJF4DK8TM8LS0Pk2gM58S89080W8o7+bCKpLNgjPCYIGXlqEyzWmYzBOb3FyMdFI0EPTXkeIjGC42ucnP2hVXf0w8Sgm5VODJN1bFimbAGUUMRMeG7zkiGKOUIEqViHbOLykdHv5wdGYLlNaBUY7/eHDkZO33ELQZk3Dkw4Td1zJ6EJhKxfNAiZvD305JdVJYVJyLzISe8AapgiOao3bZdJpRovzEw/PihXTqT/I3ENp1RX8fvqpoC0GxumSnI/YYQDCiGgM1KB3nNrw74ZfaKclk7iIJQlv1PAEGXQkBw0sZP3j3fwOC0kIwMqsB+CyGyD/7e+ay/jYen5BSjkYkcewGoOWSLJEbFIo09nzviXC/YE3kPRrwTW8ApwyxUjUaDN5Bz2eciTnYbQo2EMPQ1fiekbdE2657LaQN1MXztMWFF3wJJwDnyFIevP2/CLpD8a7j5oI/xIGkwZgOE7BiSCMCZXjg0rdAiZ0/+bQMG4p7NtXpwrB2qehyyURJSkkvYtBu1bLnzWoa733+HMnuFMAfhG/9cFgeJ0z5XwQjfNMyyNYGO3kPegJlrqqv2RhzZYcq5/AbS2Mv8egXdDGunB0QCicx66zq1ZO9IDgONeOVVtlLgxutrGmc2yvnfK9kLwViKX78K2tNnNkgQbehFVA7SNgvwCOFUh99lLoz2knaGlmhlnkyTC9SUJHq+O3ggYBrnOngZK/kfUrPn4UmopZIYlGkPOWV6AK3wL2gQV6LFc5AIoL5cfSjN3W70+pn+Z8W0nM/bQlK35lUWl3097AUDVfgci2NCAUgjxHzeqm1H5Ysnlw+O3+hw1Z0T7WGmBCjIWWMXHLkgK2pbr38GulbV+gaGNzWw0Hb1GW5yn/yoBJeAZM6AIAGwetGZKDlZrJq3fbr61jQ2uB2p5Z0VIgyeF94b2QM6I0QxlM4idBrUXK7ZiVxXzCahexEfHqjs5yd9hE/1tTUrLlLzrVBLvRtBtEOFJHYk8tB6ZLSNef7EJ5ixQPLdMdcS6oEv8kDd2oQx1SP+Qc8OhZ5NXN+Bnwha5WPTzSQ5BZQJQBYmKALRi7JSwHZ8Eg5MXIqmos5a/gGHSMDvw9eJAVkTSFkSeOiZZKin5IWKNye2AT32sf69zArmD79A5MZWT9r9rW4lcO+hxHIyQyMgQIsCuF6WXQwH5w7NBArx/okRbEA2D3R6N3b2yzXmC/V/zIUmwjnqd+WOoN5xKvLoiCLMN0ctuj7ERoLwtPOtFj1y55zUjgCx7tRmZHf4g7Fl3MfkDe6XEIiJrEnOOWtcxiWvzmNgVKf7KxmVMZtcd4u51ylo1t2EwH7r0T/UEj5vR2INaAmfbMLA3/eGKrUAINCWF7T4iV/EDt1jZq6yqvGyl43wLTn7HNGoTxVlzMY/6OUcgbh8luZVaES0BIKx5Gj510yeAWIbYydG7KFsBtU7eV4eXVvjV1Wa/3R/5T1t5dM2IXuakq4EYy6eLZq9LYDwxaYwif3utbs7I4OaUJvKd7PGMOMjbjJnmbNZuCgUnSVu3XY3WrJ/UD8P7g/bX5+UvWa9L21VVGjBTaYzkh53GWPrps58YWGR4IPk46HENpX85OSM0fPf/6IABcUzIDrxsOflPtAaLHIjOLX40Iq9acP2BF7f66ta+jxUTkL8keWj+LQWB3nAWtDkhRFRsWLBm60EJmk/ZJg7IYEo0Gc5h64vw2+a54kDXLhGaXkCGBh/hbNqxqskwXjePe1VqPpa+P8Pnf7ZfpT3fJfizhizOKMqpM2q+vqnD7k2ZkIzNiQCbjQ/fdH2EMyIa8UGpOUWymHtOpCg2sH/JcDn2LoKAWkC32yJ8pVEcRZtzp7+fdyb49xApT+oMfrnNUIQQcD67d5HEjEp3cEcMMX1o0ahrU7zPAx7kc90gh2oPuVVAXYBXWxbPvqauMhv3NFtm1KX2/g7ip1yPC4rWRzt28s1kvyIffP2AXlyhMg3eSi5D2UCOKd+372WOix9C2ArrZVBbzwp/NLCB55GC1rY+osWdCCnrNuAWWA+CDVGuv45n6SBFO02SrdabGpz5Mrawc3HvshXaLBopgtltdpLLJ6zxfwiDbORUR6EPmw3PJMdDLreUo/ezxekhEw0uEpyi6Yb5rgcWaFivMlWAIfnvSMRc3psnQCasBIgo4lYIjvLGd0o3JXnVVHCiQqIpPn64/lfHXUP4+R5LgCjqZelSj458RGRWJXvocJobeWu/YyMyc34iDW4mddTlmuBTSSY8JbNcIRd1j8BNyCKHo/xxHmUOTUk701se4EQ+4XSCsb7I2Dt/JmglMOU+kkkRV4oJ0S1t/CWq5Y/1x/NlzH1H9iwPkFw8/jTS/petjpap0lPl7bOLsuhp5rEKt6NAzfYX6WWEljdMd+78t74oHTCb0VCXwHvAMEDkx28v0/c1SAmA4Axngd115xRT+0j4JM9n3vXoMPaUJlU0OvdjY8W1S5HXPF4dQYIUuD08Ek2PEtYN8GQdNHJ15IwBFJR2flSVQqeRia39AUDP5DEcrW3bFeaPI01TpYr8EigT/y3jO5esHvQLwbyCJVeQiSVvUkEHvyuzGyc0uRBIw+wDYSz9UNN//1LnIKVgpX5IMJRnVny75JeQi3JuB00JDBdbrqPYH9CBU8glG/VqUdZyDsdGYAAPFcR/n8XgBZbyXUMJ3Mf8nsURCM6TYoaWLt1DHly9wRiVTQjN6rHEFvNq2PjKX0NF1jIjnsv6Lon6LpVdBYNFjuUQiq6oyVf0I90xeaBqsMOXJbAHwSQcq/nyn00PO0QbC3axy+mmBRUBQ76UE3l6pA1uApGkcjc+D/OADnFtw3kSXZOTpeX5HHI5xpVkcK0VVc2MPs5DG8XCHWnDay//cqpJjMW178Grq2ztbNwlTj9A3x//PQoxy9vaHsilTeuMNeeoC6XenPIsant78P55OohgAv/IDlciIPBnxIm3WSECpMMYsic515dPRjHb48QuoxOsuRhIQg/ebuoJeNj9DumEcVhteKurj0zi9tz0eosNVk1ntU6ybW6MfAcmtbU0blTI8v5dKs0DV2E/W4XSjZb3kSokwuKlwCq4EO5OBGf2bcUDIU20nFICeyAbDjsg7PA/RhGS0edjZAnTt2tYv/CwoNnV/fhc+zikFdPioqoNUbXIUiElk5jvGxG7UFeBLANsnR89dfX2yOWIJJ9rsm/OLpWiQXAnIXyia0sOdLhH4TQCpwK0X4WzUgyGiSv//xgrQD115V2UPRyxx/rR62sezP/c3Qu5Jg6e63NZjxYqn4nxQPR+uALa4y6NaML/OPtv1/I+nHV4RkJKuD2eV7YC1zaRHYkKsVcu4gVH/EwGxritiyDV0QHDg4axK59el0y4wqunOkNzLzCuBMOn9GZOQ/s5ii+AmXOYtpN+XToHhtV9OAUa6qOColpPLhEiQ5z3tJmv8CHmwEOPG6onsupZULhj14JO2hkoGtOFzstSbu7r3UAggJW5H6N8LdLJs+aUOWqkhb0eQuQKrDo3zqxxYb13myiZ7XUn08CgvFvm4Yxw2sXNE9ORMlOB9EE/0t70h4uEfGUUfYFVSrzENusGhcp9/qNhZ6+z/dBMhx5uv9hDax28sWjY5K511p1T56+shhf1diYauE/2mCZwLD4g7HqeMp9Iw17L1I9BNIfWRFbc6TwrMFNJKEaG5GpLeXYY8D7JzLZPNJ4Mr21YvvPSm1I8glA7zYwvWJri9Il+FW+PBASAkv+DeRrgZj59uOYpPaWDbF5WKkPE0MeFz+ux5T/TdKNAEOeJU4QhygvxHgLKsufq2q4JXD7ogH2TpSyY0eDFZFFfNcvsmeRXdXvIAHbpK2FVaBNi2+HKxCSds6ly2McGWKjOiPobMnh1LeGIReRMUgDmBO+i8zPVnyfqTH/wmgDJ2Ui/MMnyUnT6vGxRduyczATyBXVtZpbS6quyJladGcyi6Mxlb5Tep8kPwQBWXgFxER4UHrmdLx0NfOyod7QuufyQqbxgAjmwukHqt9BVZjjzYHCH2qq+PQime4I0ivbfRcbS94JMFkLrL2N3XZXP3ZL4FB5+iwakN7qp4xaD3TWG4aK4GPhUKF+AOY+X8Wqb23mvoUqd65DPQux+l8X8p7/6r/Xy9QXszsTkbQ9IWRNrnZLuNsYNNmFS4uuTM3CUwopu071E1icRj3COsuaxRSaL3QrXL8pMsJIZQR/6yEfUNs7Gbyq5HkOftEJ+r+ipCmZetvXnnGfIotNLBTw0M02dTXwjES9bG3+FLEusfuZI2RSYM0qOI5CRsCdFLeqbLH2zbmWeN/CwJSzWoutQwFxyZa/yX9vcikXwaZQKfiWm2zxJrimBqaYVADdJwFQBDTqV/eBJchH5GnpSqRpZJyzoluRrEU9SSNIKom0AC1abLUG1zqDqJ/qaV6QrnsczcKrr3f7rua+NBObBcEVhyEZDrH3Ykw/dKjLAVGqC3BFu/qyvKDgPy8qfFSXELgxTtEEVM3yjVbNx3+fKompdCdZyCw1aRfE++mzkQ611yTch4qyJM5jJ7mFHl5d6LkBDs2RzPxrZXNp9GklE6SM/29l7EPGEsPqelgNIDrfJfbqslLfm7gFm7fE3CuWES0cMftr7dXpN9+LMb/PP4eUjKTqULAl6dVJHHpZiNqBa54njQMn0EDn1Tx4sCXpJJIZcLq8bewUf3L4sYFXek9x6e182B1BG3rbsRfSMMTMStEYz9g8fqas/CkWwW63oE/vtdWm0BSReNpezb9b2l71ymvusFhzXcgM0d4eNpqcnDdGEAjqj9OuCZGMhpVU10kw+n8OVdroxg8r5+8bXUhghq7NANDzZ2M5qpx1aceN89H9wF1jnz6nV3snKCQoGVItWaa8ytDzpmyGYM5a/0U7haoTEomw77yNnxaYN+RJPiA2mDF0rouuHvji+r7RIbe+v9QaC/Nr7nWF8ilZmkcm/cXjYvLIdaxliGudPMBuwBhrfaIDO6qgdY+8PKNTIVxSMlpwV/bJUA9D4wgkOzE4itGB7jqPPjrN8sObN7c5w8FhK7PX31KoNyZY6jvBvXgOB266ymQIL59yqDN3s9e8P5qIfYBLCoZrJBoCxe2jn4P9R+cQ/58QaSY72lM5PdaSCiiGAb5glD+4TR547G/4UuQHIXXp6EH050S8KFJoxxLSNI5cUegfnOhoifghc3tbiUKpagY9uxn2VaWYvm9FUT7gQSZudZpgS853KF0u9eQ2eFkMXKtGL2CNZ2/cH9tfO1jN7dz0KfvX5wjiGw6vDdX1Zynkvc9i8zQ0WX1mhq8FDwt6u5eu4V7NcwgAi+I7pYLscrlqH9g/Z2I8/DqpzN3kBsM0lTK0Ylk2F00fvfFJdlCYT5q8pMiABBgzBOuTAC6sPbb5JEOlcXMXdQrU3b9kOuIODPrlNAzAejhyWIABKf8Pu2lWdIe/6EKdngmZpRXBH8d0RM+xXahgJaVuy+TIBNY7iP9Qr22zff9OKWcsuQBQhPANrMcNbUPPaDT+32zqou7VPL9o8FmFqXmiuoKwZKRA4LzciyehlmbhYChca/en/054Sbw6fz5GAJFtQdc9AB2bsB5nF933gn582mxyAoW8nsnL+JfnesbSyg9Fst+ogbKqyfbmypNu8hXRF6DK6jnTytKXkeWoHJ354012E/o36umSbceO3q14sK5uX5DuuNXx4O65cUGWec347jI+AW7TIlY/1oh7ge7dNUTnLwwe8b3019fUAXziBTGHgZQZfJ6WHKenS+hGN0GEoEQjaKf9V/ZPCoE+0vRUIQCPBgeWqdqP9Ui9spngQzFR5bfC/8I8Tjq73uu7XkIlCqxB1G9B5gjtcVi0DgFnLaURy3sWlvqeHmEhJTcnnthMiMkJ4p5qeP6unswlc2Eu6/V6z7fFQ8zvfFg+rZrcAqAIELmfrjlhfRBFxi6iAAj1BcBiys+Or8jWVSoX8Te6GrAHM8kSEGFJYuvRgDBKp1AailqdJIdVXCQl9WvGLOlZ53CLChCdeWYUbZZFe8j5GIOFXKmbYzzhexUhBnRIrx+aBdoB3JvzeJUpFGabllr8JjDJgjKVU3dEM9BGix46ByVTFHu+RTmgxo4Y1yhcAI6KusV+T/hee8gSynlbjC2lXNYc+zZPYe9tY86g+mKSAPn/RZftRRInqDFE6dCzCSaXeP574RAa92O8ozR60kyCMU6x3N7GEqHD8/QX5b5AnP07lH8M9/QdG2RRvR++Ov/7EykqHZQokiX6Wc9QgAoSkqcUAzYav5EK4lA/fbQwQaLrzogcUjgj+yG/BpZUIbG0Q8cK4oG7gTjbjo051gWvSm90T4yL1Y3ziakRY4YDp4UZdGF+msEJMiuvspDAiwk9leNPb46+6gouZc4pba/4SB/S7TNjDf3y1ulw2Z44qafTXnsIwizvLSyZslv2uXRqCfEeiFiyPXZqk1AT/9PLdxMtiqCWqbPA22Two25nbeJw0uPnYdoSpX1p+dFFEPFk5k1FG35+gEn257SKqrob6Zzrj+Nyiexp5DbwId/3BnO1Cutg2X/HtOW5R1OmCAKaPN8VBL+avmlsIJpDamnIi6x7i/5P76NjgASaobBkvf7y+xLRhf1+ke0coJjRX1UNgxScPHkPwpGGHCPND18Hr5A6/pS50bc3MU38tujqlZwXYo5SSAISuWuPySF+wP9sI5MbNE1gEWj/NWyp/egXSVJ3X7v43RLjRwUlmc1lFT8o+Pb8uSnca6KRkLmCNkRgms14Mr9SmysuVcFtnh7PafAJjydLfQYTUKZdbjC8RUyo/4lGo5zB0zIhefIL1hzGt2mE9nljkclfl0TKZxvX4Jx22k4m/yha6+Y5x9D+Ci1RjjxAunjNc4xlK83PC/oAZQ9mWhC4Xo2mKpHrBCltTxItqCUzA+LyNIFFLp8aXC1xBNMYKprsvpF6zkBpbAJHlBKxZ4bFmSCiTmUlbugEvCw/w9xcnGkz4UMqtGlrzbD4GwsJUoAAABBTk1GwCAAAAAAAAAAAKIBACQBAIIAAABWUDggqCAAAFCYAJ0BKqMBJQE+kUadSqWjoySk9Bo4sBIJZ277+Jeh5+xPsT7Jet86nlnIAY2/sRBW4a53DTmfQAsnX07/jPRp86/jO/PzTTyr09qHZa/lv2f8c/jV9Eewd7V8GPZzbJ/xvQR9nvvnnTzJvoKgk/2/E6+7f+D2Dv01+vXvD/8flO/bPUV6X/pJfsQSvCkX3zSQaQKJnfvXHTXwsJD4DUbxUdacNIHh3G5aWhI9aReUN6PshfuJ3TU1cRYQzplZN/IoSf6BHH4F0+yJUElTybxC3AqtVr79K27FT2JnMeuKDkS/qA77+UDHUpF9Ea57oLUmy8Hwma+Aqdxds9kYlN8Ily3EY7/tENVT9vCY/7gfXznTJ/KEd7OlPH6oZyb5gPzncy0E/2Do0EGpor1ngME0Tn787SBU22PJm4sizTr0q4JNCc5nTlQySdfaV0JfwCmGEW66kyzLSmJ+dVyML9ILn9EcK5Tgxn+02UvfoV0satRwqSHOGqr4f4kHY/P2+rTUHGjaiIQL5ZdyDx+FhGjQtKw7tgvDdxGPFy280Q6RkTUxkSSgjXpX9qje4eyh2TL30H6C1KpKj2X7rvLE3anHzEmXpbRxa+fYurHejngorzieMjM7aOYGF2UZI2AH62i7jup9xGPmZ7LmWd3WSYbv7Q/lKGcs+GomYZUMqIY8kUUiAaUM6DsbRey6ZdHmJNteA0xGnPOn1X0rIvqnRM64r7q5Hat8DQc5RHm79MjBZf/QVhh83UEATaCyjgyKYVLF92ouhEBUaQC4AbGEnwAVYin6bDtCZaZobN9Abgjuy1n56MOgYGXn2Hv0oF/MQ06ub4ikx9znRi4wvbYZoPDt8vv4JFCmkGXe4kNTTHPQXWoSv01N3QxS8RI+HMNAbQdjz5Kyk9VCyu7KNPRxm50FeZjuXiYKiJwrD660JLxGFz1HDJHdiNq/NmdGtkATl2A+wXsIralFbX4noV9kttnGz3V8/bngbv4sX4jH3XITNBRSkHk/cvBZXJHu2B6DcSgXzCYdARoPmXD5Blf9i4oKNeEsze9adAob6e/liZpQdtnPmEMZUyliPuFVYTuXPUqchVHUQgCKdbvx4uhUqyTNDtBcJQOdFIxnuAKkRNqraNIwlT37oz8cq10pygVxYU+aoxQWmzYE4jH3JZl04NL8EObHeU/1pZpeJ4orYEjKfrmtJR9lw7I6rqOx6/TE/d8QaCwmX+eO3Co+uz4YC0D6+COd5075YMxJEw7PYUafDuXIrOowGmcHV6rZt5OQlGowZBiQ2fKAuwA2z+tHk4qu7YuOT5m6+XfHdM27knEunvxEDfCoZHlS0C9y2M60prsVBDo9XFvjTF+IJ0IiZuUtgOAd5L8Rj2gWwQCmHcuLyW7GEimSEBscCVVf7/yL3Mx3Lwy8MF8TDuXiMhBndq+5eIxcvEFMO5eJT4mGuAq50RKIEY+jYH2baAggTrfpvlaHulwR0C/QhYTa9C3dYj1Yz7BDldgm/valYEuxl/wFLVYyS7FV3j2P5ncgZAcIRrAu9ve/D66r2tTaRkUUtjBr7RRkAfy5q5MZiAJHHvtXgueOP2fAdq+uzbWIH7UUPV0oNYrC8t/Iv7ryNyISyJrwvoEiRbL8xhC8AAD+/b1IE6LrqbOowmo9651+MowlU/RIooinzu5ooqcyHD5cW2W/3vMPwObpgMMfrnkzTLzhBYiGBR/GwGmy7WDlj8cwLhBDkwrRskGNf0LYe15w/v0KXpOctx5NwzHzuiPsCt/QAl0jgqHFU7u2r2G5eA+M2MLndwWaY6HlDTMrJ2mfQkQmkmL4g+H9rWPn8Y0nFbm0yamhsjRv0+RLb7N0b1DYns+lQWP05GpzPZh4N4WK3ued9EwGfb3sValfqOTcLFQc5rfGDiDdTeJyUEH/PHaB9LujcdHnzhpyu3+57S98O2LYJAK21EZxQctfzqe7r9iWKu5wMGJm5FqGCOSov2OtuKzYm8WxruZyqnNKNcmsHQBrsMZ07wyAAUw7iUFgHL90qRtcJpJiffTRIglRSb51XzFuXAqlgkPF/QOjbiHvKFXkTju5smR3S4dejuD2pe0ml1XWCpPoUWUxCiV8gnGs6uvc+RSSSb9qo/FGh4RMzTOiv3G2uF1fCpi16G281zAWn2LxNW3nBbPWVJu5uBV+CTGZerovgjeIklrrs1dpbCIDWkqoKOT8QDHEwHoLi9d6VEUJ7KiA9Nv2cX0+OYCakZ7fsov41ZhCZC0ouyetYw9/P2XtkKy0ssRdzFbkossZX5/3o8Th55dORXxIbiVdKg6OrrJ1CFS0Trozfq7TTbC+AfPlELQk7/WovgG+zyANV7PIUbNOli2E9ncKN4ljGiYo9mF3FtRC5MHPa0V1eLnSA++x4uDzFwNczhx/3jLI9c/QeGbOY5SXizj6xp2X05+U1fe6332NsNQsGlzovbVxrsA7FuJMdJnZ7fYwQtw4b0ZRkTEZcWvcliqu4arYv6OwAcfs5P9dJR37rPyqHoBuxe67uZFYfCUsoZ4eykKwAeGP/A4Z811ALfOfBVOJA949ubDTBJLkUBPOROyQKSEKz1PveqyUbdM6ia41GvBZRhyOGf/BGT5t5B8SSQZa5mCxK44TU4fWbYylhIa3Pbw21Eie8PMYf69SKz76CVH9sdt8lK8VyAeS704pNncLdrSQQ0zKbEGkBQpg0TOyaImsHVfMy/EErB5YXtip8XS1OFTkuPmeB7HR3o+TXqcyxdDpQo3C8k5KyvNa9UwtlpE8Pnpcj8Cbdm0ech1p+Mgo4rySiXAwp8+3seP0VvA+PYUNvOnd3pcupxivIX+yWJ7l/ICVHmwqBcttA0ss860SbExcPjQLulk3vtQasCspgvrmLtLSLTJumjB2bY7T+SyZNKMtlvtzRxL9c0YtQLKwZrp4koHoZiuV22ZrLwir3Lm1S3PP2QXHyjdr8K1Wd+utb/1mHrTpBXJi5hLLUO2YrnxDPN6/mwqbnJ1QqvPCCHLk7nuLZdu1ZDFlVXyE4NpwyoDyOed2/MzfpTC3BCEsVyQFnuGF0tLF3KE+XoHYjCU2MRSDEzsLeBUdKMdsWnDjpe9t48XfBnC9+N5zltz5KtFijLEB0IFwFaFrEW4svtmEcoccfXwR+rj9gQ9tFkSRejK/pbf1gMCeUUashrTDDgXhT2gKUbFRhfte373XEeupD9Gx9Twr7gdKPPmjuY1o3Sl+P8sYZIUlsX7bP2gV1CuovlU5uH26Td3LlH56TUCO3gxIfXRT995vdq+rnLCgBZM0dJC+teguW5ecxu7HOJ9CFJhu1TBDFLevRhoj8N99EmHvqjR/CCt0+foF9O2A1dc9RLLE/++4kvVJTRWUA1bPVtVoJw792R1O4jybJLCF1ZwsQJEE+jDVDhJTAQT8dJWWk9+8pksrVSaz6y78j0rWnFxX3Tsk4dFc8A3xCJPluH2JJdMevMwtK+Odbe6gqMhjgGSAZ7E6riIRWRZqvo3fafxz1NWrUabJhgGQjOfaXBxUQP+wJKyH9p1sJEAWT2NpoU/UImBixauC5sLM2guToW4koV3ihXkw/z1WPs0yLt93N2XAajB33aupqajfRannL2ognEbOoZuMHTTML4B/dXl6Inq0hjewO01xhfhSp4M44Coh0vvhPvt5iPhmxBNdbkR6IOsP1GHaiAV4UzRM5A4ub7N5f2aBQGhPrzxgMimLdIuoIbGA5M8IvnqD5jZqS59ebeTCPtWgyAym5oNWJvRqGMecVJ8Yoe0XnDvPYo+qU+LJ5Fcfp0WXvPOJGyZ7PaVeIrjo8A4zyiNfdsAX5QSZLp6K021Ehxan3TI1ZsWSlpQ+gXJBr3YTksFmrswsgb51cqs/G6e71emA2Bs/uorZ7cnZWl65c2iJ9ll+XO0J+OGrQYsyCaTS+JyPrXATCEzOAb+zKk2p7mii+evvPcJRN61jUzSlKISgDBQtwGdfHUtsY6E7GVvd6je+SYjEvWTOWBmCsZeyTxCNcKrO3vLzMIVUqahP6D9IRSNsnLcYRRGiEDR6c0BPzFXJ+ZeNz1RpZcB5pa2QJnT+yk2jvagxeVqV4x/Q4qmmXCMfA0BBJsF+R80bM7cywLGj+KMF8SbE2CAaUby/1h1g7y7qCdVFO2JRssVsSiph0ZvTrLRQPTryRJvh7l7lMjmX91WLg49EZJqwBag8nbg2s9DxDpGZIzJgVWjdkSOeMuDqd7QifW0XWd6HbO7ZxXKhKfbInRNXYKf4Urmyp49aO7YvBrKzZ9QZb4hWRShFwFH6KzxsALnQXSXDul7vQdb00budgfgUSAEBRyFA/ggMvohw2FMxceuIm/3TTkf1/POdwQ4wRQuD+Tul4kFUY0EYJTBadGxYmbwxP3YQFvTZ9y3sL0AvqWG7ymtWY5GbcmeFwrCDlcbFOlpQ8jPorIXzxqzMdkaTa+HjzDL4qxcZtgs4ejAxr4UVvQ1zPQ0YSqy8jq8z+5jMioZr+keuGTPD/vHr7uOmAIT7NTjABZTC5B2Y5l0kDkIUwmn6aAL1h3Bg5eo1DauZru8O7/RHfRWn5kuY/cgJOVo67Y8xcWHcnasJxFYQ9cHIQuQerHzX0bGIOuhE7avVvNIPfwCaA3Ht0xd9jV6Eb1dnUMmiL6ZA7Y8JbG4lbIrujiodUKOw+p9xw+FtbEsHSgoAoH+T8NzII9zn1bmyENAJ9EvNPuBtRblmz1v5tsrqR/2FgtArUbTR8RZonDFp7jfpJGBYJOnsWVw5zmXuULfPwyKlcpn7MyCJTmZH49hi+ijENfL4hrd4Eg5+aZa6vX0W0cqK+VX8FVNtxWTcfmJxGDaIKLSzhmyzcF2gcBLxXTOEyzpq3Jl7Plwq10T2KnkVIm0lJNzCnbEDpJGCf9HBs2sOzSA+WTQTwD5urPwVlDa7NI+/LquDTIZ54R42mz6mhGFKd4Sw2YoeLZBelDKr5kg44j/Xox+2AJAwhPkkRhckc7wSfNZtEHfxGapQuYevqrIhLKV0gfa73PIVRI8DRGYRMRnhnlwYxoSxHl9QPagx60vnZnKG6IgA8piKt+d+fdR6Q5msTNxU0eduFDH0Nb57KLTyoOrGjvn2/KyebW/6M9YGd4yhF2z3SKa7nyJ0tI9GsvV9ermCefDDgClr1yRMAmVuLjUsSmfzRYyKA/vcdsiKrV23nz6UkVyeQUCx5649rI2h83YOwf82v4q61hZqBmIkCN3PLyGtC1eOcEqbNBhdnemU+GJaLKoOEcvURj0jeOuTJXJ0j4cMh9rHIiucFeaPkOKayIFKiIX/8KSXbA2WdPImi1PrRLqOOLv4BUK0/42OEKVYmFlrMf7oO7GarLLRMqUhW2TlhsxaNk/fCcSKPpT8KxIcEJvjXpHFrcvKD4TNMEVDeaMCOzYNDOPuIKdbkzJixs8SgB9sCumUJS2sR7vsmMm4h9DMnvDByb/ZwdThMWQ45iJV7irZ9L+IM23GLuFGWNYnHSg3AGRA9swJ0ArjBTQP2A830C1NNCUYcZS1bwDxFPqegAtINf5bBlD6Z6Le1mLnJ2ILYuzxnd9sdJtp1iGScaK7+zQ0DU5Wod7JGA/7zoMPIzNQOwcYnhaNoOaqV/kDSKYGj572nooGuKCvbBHl2ZKxwZXY6UyUwbjFAnBxT19OVdjUsRnzJBYV8gb8w8WsC1o8LzdX47ypA6X41c5OX0XDpeo7DHcjjvvUvrHGeDvqCcV+uF9ObHDMY3n3W3DI5/3apznzdpawvn8SKb+N3HErtxpgLBR+W/GKrpSnqGAMGIDRlcbQFmSoaVDrHdIKPQjIwch7ulMZo+4acmcxWtCLQHeyzZvghNf+ZzRIQ42BgbJywDlnmrgYfNuMYDZrOIyQc3eNiKjje57ffxfWIPpirwa0R2feLzs3tzUGB4ZY/8P7l9zD9tw2O5PBJZXoQDrsYMchslQNYKGYYhBjErCoEl+nLdRAmzKNRk6MsxzwXNWwkPM4sLJ4JwgLZ5zwuv1jRt8eQ8COC51M2YBOyKu8s5nXt3AcPU5YstWNmhI+tqZAGe0ltxJXRUFkO7E5ctdBj/U+SIWtj6NCoKvcLw9U3e2kfrArEVOCpuOMfYYqQH7/4V6HOqTlQMgDAt6tIyBSM0/CgjXY4/yPHD/jwhnwBBFJVG2Q+xN3Zhkjf4Ii2lz1b+MbxDlrDoWtFsS6pF2Ohwc0iTJHvtZk5pi1uXqhuvL4hejw8FeQrLHzRD+YI2DXBENzFSl74q5ALBkU5RPHMmcyDz58oZXHguDkJjHKYtb2f2H5ZYRlHKjbXEnUnxsoNblwXzVX/oaZC7NFInHH3WIzXMU1a8WszuJrjQq9bnAk0Ml31le98T054wJs8IAL28snFveH4/us279118LUvhaT85Vzhp7KAyjHar9cFv0W/LInEFZWTK3dn4ts4B16cAYhtCiOkZmDmLAoV+CezFvD2Rrx0CBSClA40l2ggF6elk0A0vR2qLqYdULnau/c+SXXYl0GHPnsqbdatiYAxbua4IDvTJkxOkq5xkH9MmKqXQLRf3kHQXsFrMj5fBhBFya2OSD6C3BrIEzLSqJNAz4Ra1QBxlZtyqKSe6g/hndR/YQM+WROfX50T1TSfEB5BG2plTgNwTU9pO0wl5UghTaoAIeoGkxKFCAcMKOfQOf9dg3Ob1/KsDAkqI+DhF6pAhBd+uGWg3X4Xy1/sSO9MettcGHBzyKmkiSskzikBv6oAjIW5ENeO9WolZZdJgV+PI5CfCU6TK88CDTHXhuj/ruxfp0mALcexUQVPNUrx//tWVJ7N34o2m7XV40CtqL5CiCOCy+5KDt7eXyagFue92mh+CZh5z1DbaC88P5qtmV80DsSK0ivgdlMclhta9CZlfBw4cEbXUQUp8ptEHlHMI+4Yb2tRmxhwF2HFBfqS07DrJFFSA6ueuEYhqbkSc3jqiuXZLBFYdyqa56YIL97Mei/sINRVSLaXTby7OXQwIRHNFySHYZBarBAqqxZWZhRXAvOxHEiP4oH1tYSW3291kaqYoVkgdT4FSXruZxGDA5G1osI4z6cYkamIqjfTXFJ7HHbf1NqngXpQWSNeyDxlu7GzWq58T2U+eBvCMSZTqgGW3/iZ3cMTNxJlqu7QoXokT3kgwi32UWU3i5+/xvJ+mIeNmxB7PfSAqd7c3wlhqjTE4pjTIV9glwMJvwfqNvQU5NYc9NB40BKQ3XNkaDUvXUH1mwfP2mQoX3NyaBnmS4iRZkePWyoU1/yCol1/naqFSOTTlfrM1LtX3uYPaow8+pkVOUoFniGLL7mMA25Xk4Pmpv5kuOIbSMz7LRWCsbTwtGkThhWUAXujwsu+e4nOTazM7uBgW///5VNxZMD1DNZorCeI5G3l0l9hIu/YyZkX/8lXy/VZ1vTJSRtweRpT4402FRVG9uUAMu+ycNUtKqWcDXmHjzBDr48FY12Xh7v9Q/C/Pmh7IjTh2KYyM1GfpFO6qYnNAi6a4HN+sP8UTBRofs5+PKmgadxiIblOsJMYO4r1ETAOwZPk7IZczS1ex2a4tp8NpdAx1ZHwOU5uVwJSo/E7/ROnAYGzeHOO6Xiiw6lYgwz48QJQ5wMeE1M19IrkxOdUGqwlt9nFo0f6ok7PYJg6rrNxtkbaVUcUT08mAbfEONbSzUllbZEq4ZzIOr7eHSPC2NPtVfXv1+H90BHnGD3fa9K4KTTTv8VVgnM42874dc1xHs9JzfcTjHp5Lq9kRzwMYJaggu02b8X2VIpjL69XORcnRoX3096YXYT5szjwgE52iobRSCnQrn6Y+JSSf1tp1MymFloAWisYcr2gTvJI+l9Jajd6yKnXiEFGtnmqdvsiixHQLwUWoAcmjXrtYwgRZ78CBi3aFuhj6z+++gkLvA1g0IU/boCGXScQHq2mTvMUjIgtsxKN1IazWyVkj+mc+Pl7paOqA0ZCUYCM+tbm9w4n9vC4v3GMJStJcvbBeyD0CMJRPAXsKkbAlI/YLvSTnzIx67clJZQfzXAg8A7KtsMd+YvZ8ZEp3nNyWR1c6fAiUCbaK4utDcHj8jIgbO6/JF5O8bOYEIU3jPzqWhcSZiZEEWnMMuM9bc420hIgfTauUj6obullaiunfYcc5HcuCTgiCQV0kIuatcsluC0Awp6zsazh65Sb+07RXZkc1+WWrV0PoEt7dVyxBoAkMSBKGTLHyTydMI8RHSSf+eKqyVkujXIDEevVX+DrAxJki/44ozoZNjxHvr0SLEM9lmW8/vNUXHbvCPixZqnJOwWEujq9pz2S0u/uOv/rradJTcA+Nk4RUU9YiAVUyk+fTQ3jfIzjbHl2YOonlwneqjHjCpAMGoCVEYCjpRa4Q1xy2EvBmchyYXvSrakbbGmDmoIwZeKREQRjds3mAC88zeGNQ9HXXPX6reM//YCfLl/Lnojs9bXYRjTSM0/XpHN5kPSiNyDQORyjLujKBkOWk1GrqhUfeNASp1e+i3KmyxXFnHyIEobrzQ9KthxDYTYk1au6iU2uWhPkuW4nCw2L9khElWUnNjdVOD2VNOVjvQHaOBArfEJa+JauHurrxz9ljNITJxwJaG94XGn0vuiJWWgq78nF3IULq8OgONQ+RFE0R8QpNeygk4U+fKkTUhAxGs72gcVnP6AeqDhGB376b4AvQs7TxD7CrngQ/UOaCOCrKsHQIrJcye/N54P7EThx4VY4rI/YdN+62rCGF/iQithu3mObFtJBjYuCrtv6IzFNJ4PbWU5sYiyIsDsdGKMg5sr+XxdIroiVuKh/JgwiXZNLvVWpTjxUcuY5jtrMUx45LNpDGJOY0d9uDD+Wy3lpETXlfaKbn4zAiN54Tv3rbJypO2CY0WWrn52NLxO3TZdtx7POOT4uYgPL9UCV5D88G7Hg9VsaBkv6cY5VY6ny7K/DauNRWX25pWsEVli9o/Jhh1DBvqxTqz1np964SoojhUXlT27tuDhP6CPqARjctSIwVkTO6mfPcXLtUUsSd840V3Dh/WVZJHssUEQPp6t/uCcarhIUX/wWZatOBuwww6AiqvFbNpjFCi9cXHzilcpebXx4PDShskWXpdJlu6KIhE3G2RWCJ/FtAXpJcOaBpujlHAYr6juT1DIBTRC5RysC9EUHalmxQzID6RLkYSWsK7lHJ5Ql2qzk21cn3J65a0OJxmZiGbwTo5Zmyz4WewqOc8d6hqQJ2AQbAKUMIgPJtGD1/n+vSSn5yU1s345z2ABihLelD1b4O3Gdk0bgAffZ0eNCbYvVTMQK+n/tKl48Ijm8u3jWk6TmKCw67QA6By6c8MheSFCcS9UM5DFInjfqAtFcdH58ofND/hx6NOMnackcTDWHPCITEK9jpLnaJ+SBZ5pmQPn6U9DuAts0skWA45jyBA7t75mXExD6MiRBn4WGJzoAM9Qy1T20F+hHIffxMV8WID8cYTHrYE1fA40yf7ydBqBANW6rPUydTebojsHAHUf/c++XeG121hKRazroRCIZDo3dYAXMnBEB/PT7HC9+chVjJ87gnRA2c1K6oAf8rLh5dNCnn5gG1woYR4s/yFeCnnRYZjdtZ4ecgQx5LPH8njTpZZJGd8WquZj+qgIWofAO1g5pANclG6dgDqMImpyHwk1fAndfI8rZIG+pIZRi+v9p1ysaFttwZU9AS3DG21JHGpwTmyjKnv9qisr8vXkUhCQFU6JgJPFQRgAWutZo3MaYLA7HgPsTaX9crd34o5XTE+B6r7YukVZ6iTDyNzPTNQeqleDMX9y1ewr69PGHa6GVsdvf5uPgYDCwzhcS1z7fsp+2LhXKew67zUxwLkrcry3QEpsuR8RmQIxPwrS3TjFhFx22MziMHxbP0ESyWCkubv6m1u7snLTNxIo25r/eEjPegQeW9XnXjLPn2pxVwIhYry6tLmipKMKSmkB+42yARgAvEpFhIkzDstA8Z5bKZnT5R/0mkECk0DqIFzuLtT5nHqvJTadAPONCt/5QCUVVD5rM3Oc7h6fGpaCL3X7YO1BVUlaFyvgAVhTM7uBm4VWfH+jJeyu77uo/sNgpFEDoJdCxT2HeB3fOAssAFeSv0n4Hmz8KfmRvkmbMH+grcD9UxalsjbD2HVXx0l6nX0xDuDqvwa3lGlxLiEZXAVQl628hQsmw3Q/jty+L+f630ekHsVx9tjlWhwb2xUU0b22QXE+GQeh4/QLGMVHrAnm9UqBNLsf77zxR3NjagmrbGTNEH0yh8cHhgSl1pQsYelT46hj8jqRP8ySftrMU83mZXnNPn+CJo5tFg6aB95zXbnMyLKYK92JstKAsFK+8l5oRL5buwNxwdVAb5uQsoIDAYY/u8oAklA0/wN2ZZCelwjoalO8tZPDARPQdd1h5Tm5mLH9Kwdy0BXzdoq2PKHVHpYEIKFhcv8W5sQoWyJYpwL/4Hj41Bu6uhAbdnRfuDBMgxN2U/lXgG5x/KjxCVvR2zrxzpjpcXfYZsf3J0hT27Bph1xZ21FQt8ZO5Erzmcvp5TKyzF7iAx7Kz29M6T8vb8s61g5jDwXtwoh3lVe1vybDmgsP0YgLg33jkiwdaALLfBhb1wBgEVOeU93oreMUbsBuvjc3a8pw/80xz0XAeiycXWoITR8OQK9ltp/StSZs02CXrsfCUlWAuktXMkqPv6Ylw/4t20v61WL/nBTrp2TxkkSGzGZoFvFWEYq9IQW5S/dstTRiBU8UDhMxqkqnzqjpzahWk4jO2ecOvhV0j+ESbuIj/4MgTnoHoWXmXhRscG6mrOUxq/zBW/Jndnb6QBj1kir0Jo05Lw6wnYfbtBP01Cj7hOck25ZGteEd7Agu3GKGH+cZ4LpYIvc8obQxDNIY8yoORSfajxW4T0H84Z+XpI8x+xSWG6/xvThl2nLHuTdGRzeYrUSX+j+Et3ghnejF96u/1A2Dj2AldP/oiHY8Eik0j1N+qe6c6y4j/SvQjYf3mVg9DWkH97TxcetDj5ZZHACOHZ+UaVZ8mbphMTsxi9KW1xe6eNpvh6Jl2ofz7BPDkdZGCR7TiUft92m0EPjOSM9aN4Pm33V3w0sD4yvJmLuERbMaDSg2KB2WFsPMYOgMCMAvjBIsPYcHjSSpvZSFWsFaQ6AJavrzfvLLhXvXKHZyiburcLkeg4AkT8l8sO1EAAAAQU5NRs4gAAAAAAAAAACiAQAkAQCCAAAAVlA4ILYgAAAQlwCdASqjASUBPpFGnUqlo6KnJLQaQOASCWdu6BZoqqIdygqV9150eT3zPlAEA7hjnctOU9ADpo8hCmD+c/wvfr53p3d5e03ss/yH7Q+NPxq1C7lPZ46//x/QI9ofvPnEzKfpf9h0e/9vxSPu//c9g39E+sR/weUX9r9RTpdejp+yxKY5YD5LzXnE26pSdNOzL8QELEowbOl82agf0LHenAnUpDFS4NheSXnBmx87gTvUM1tMRTr7tTW1iq9ICUFImI3ZDr/HBlSW49YhFfqP0u6+re9+EG8s7poGTk6MMMwYp3Mv2MdybdYQ14dvjlcJiNpo2PZD9cBph3EiJpbGBlx/dZiFSJ7gLb4yf+hp807M6ult/01OUcSb7nEFprNHA8S0ySXI06XgyZpJCYEB7JVrf32/HlR/6LtIymrh4g1Pjf5NtSIy0w7iYEPs/EIjTB8vST9fVyzya1h6ZRgNK4O2jdTntduqJ6y+5qQa58R5XpufiU6y4tzORPVb96yQ2YbZyZGklgzq8+MPz3dJE1A1Bfw/ejAmcJEq8bxGPi+5LGLp+xfcDbIGArPzNQjLRSh6V5EESNOvowYru+/7ZZ+Ey/2clnRS7U0VWbBLt4bUxv+Gxu/ksY237Rq58v0EOv8+xHqBHfmUATyZWcmF51gKcQzMOtwSJE4k9jc9yCYgcbUkOviTFQuiBN6dRcFXHDk6Xy/3zX0UEcOLCtddwry+wlDLQAtvXyK5p/ucrh3lPEv/cg06LVQzcWcoqNnX/qo9mDxeXaEf85Br6cHYMgKvg6Aw/Zp2vUoZC4bsULGSoIoNNftwaQm3a2sPy+tObRxbiHMjgwfeu/F2776NDOJExGyEGOV3VXhkya1VqdKZEwsTnnrTCdY6k2O/p/TTcbVhXjoYx9uOefhOmrkIE3GlXhlOD4xypTfDh3EwVzO/hwjilhawTyJWKwjIQXomlbMc1ms7cnlDVt89YhWN86qqeSnbMWUs+KJLMeUD8K8xI7waOovckj8O4JNwS47OB9nyKM+RcsuWwLRNslxYXPFTum5ZinYLp+HLf0msDPYmnMH8wyXtzz8sGRoFtsZHyej0+RTDuCAWj8NUNstnkuvUVxk5fVZ2iv5uj9c+BYdkCXQIKyGTTODen/hcP74G1ydRBevtc8MnnKEAn/MTMpzjALyxG/JLNlTAP+cJIXRE9hn57mT5rXDHW9FaZr5ghIMZX0W+5H9ciw6v2UXkuyQb47ztjI+TuhP2IQCl0++KL0BkCfM6xs6SQ40RVBz4SF1fKpD//mAQibYS94s+L/G996eYjom9Y5JhegEMfKB9E1FCfoXWl2D31Wm1WjoKAqKUk/jV9vqjv4v6yBqHxfVeGtoxCAUw6/yQnG4gG03wyWhIx2b2FzPi+q8NbRiEAph3ExGPlWcoQCm7RiEAph3ExGPlWcoQCm4/xGUIgQro3J36X9LUfbuwQ3XM7KGoTZ+BVxZUbQO/uSrwki53tduWmnJIk+kjac6hS67pMBQxSy6NfJvhn8CyI8WlVX5Zz3xTAhk/cQXLl0XtvnQMBmEhUZfqmHz8vRT3LI6km9Zw91slXKuvc3seyRCKfVj32d+6obyiLS2BeUb9lLQX0AD+/Vu6nS7uGih2llUiTXul0m97yMDByRtXdPwjgkCoqAZ6v00/WMJ/mccx/nPniar6D9/2AZaERhClad9YQP3/5wQGf9NXjRA6o5Wcb91xGlrE/LjY+FjJU70bIGo8e7Af3zh4hNvU1dazMxioCMylGEg8cCQ50PXO29vAjMyseRoH/Lc2Yy8z/2M3UpKAjGmPkCAaAUo0RSg1UmhoaiFBN59Wgtw+SuyR6ySxMHTawmwPXfwuWnrkvUzQIDd+mAbJKwRrwPqIBWJiCe3iwRrPYOJVW3LezffzhGjaWCVMwcIp/YzWYv8etwv7yrft8hXRF4qu4mLoXhbl1ZnmZGNp85m77zLOrwZ3asytnLKpH5XVwO8vq92cAekZPwBcMpiA7iT7CwTUsZb72REhwK722lmMUSJCVpWC7NBQY0Erg1r3XtQZSqVbt/1YfKB8yzyEdVgEu1R+3Nvck5bmkNYQGAnLoHouNgop/354jiUT2u1hRojBK5YEEUuid5dBGcyE/sHNq624f0vetFl9LvOtNJPiF10HlKBagCkZo6OjaS88qV6uaBpyKwl0X/hbdmljr5M9/ULDoFzKaEECfZ/VVfYq+J0K801PROrQH27XKpWRlM+Cba6n31rc6puGeP3aL26gw9tweEE88JTdqEnWR5K3x8SVly/w8jeWzxaGhVzGhnG+VsI+zcCWkY9nxcs/OGdKSYNyWgp7S/araRR+A5wJFGKVj2QvtjrvjD+HeDvzb8lx2NpbxImCKL2Z8e+rZ/0//hzzc14Whvb7cHwnSVLvDZk++quZV5N0XufXKgqhU0ja/YuRlf1YRHR2tbPue/eAa8ipTOLTv0HMf7v2+b2BIibNc6ynwbNvNc+/Zpw00L+uRmULWCGRl84OO77D204vDdQRIWuL0E8IcQ/Zz77IB5hOFHrssfxb26lE4QU3rVln4bka8fqjt9LkVEAa23Wa80hmA9sWpGhrW3Ll1eiurCYvF1WXVgPOCPilvHU8MqTEG0IGpwgq+72Gd7Pq+wf702/14wCfiPZNz6/YQHqWwhFc1b8rQybhyphbPEjg0XAR+cd+civbr9SPlgUHZUU2U2g2xBYnO0A3Fv3UdJE3ZAHhysm9VhzroUkd4r8MaBOe8YaWOYzR2SYj8tM9eVlnxJN/ERxpu4MtKlUxtbLDv+ZFSePrf/Wo1udyAdD6KAlcJxLKvc3IL67jDdMsvtX5M38HCYygYxL8qOVjtTxBhBwk5uao0ZLaNnYN//sCKjB5QMmNApZgPKOq45jphLzfm941qbWARZ+UjeobmHzb5xSSH218hXQoQ15dv9GYDIC/ChUL+kmrycjH/OcWf1A0057CoiQllsWh/bPr0I4SFxWUN1RzKaGnPYBj+dvALwTxSMYPJnBJSNgCv1ykYCQK/wx2UnAhMr+FCHPtxotoxkSkvh9GsgTtO1fBB6/JKDP5wmqcDZuBniiQHemsiHshFZDUzNy2fET7069fneWfIU8kUw4R/Z447+270Poinzgs2RXWy8rMQQZq+zblnu85j2RPZayRAxK+XIUdU86dGVZr718LWcnlqUks57AF2Hi5zH7HpJg3NFZggsL7PIPqQqXIMWMrlp6LXLbvLfs1BxR/sUUTf4LiWhulXb9XwsoP20N89ZdW+B+TPDre5DTJRFNMhGPUz4aO2gi9owyIq/VA7mu7m48f3Jb1qMdGCfFH3oQ/X2BC098GSpQgPbVsrkSRTSjzfucxAAFbxOqBvVq5aETueWe+a8/hMBKkvMJ6XUp9HPefQ1HDDtJwveNhbmAY5METunVsJPMdgKUDsLg52aWbjXunPW86lYQqFgjoGUWM0/xA8dhKnIRtO0kTKUXBc9MQhL4pU8/xbEacpm2RsE6cr3ZYjua+SCehZW+1UTIJSPv7YzojARVkSd8al7lwsbZ7ai5Zl2sNYoRa/ZDlUc9BVjAKRci6h5lCfvfmS8YlqOsMIR77dfygRHtJ7ATFS0ZczzJ0ktT7Ch9gV7nEaGQanOoBpvWV2oPPaz4MfL3+PEF6scmiXK2EVZi8Zs2P5I4ioSjSyQ804HIt41yjI0UwKmlOdIrkXmoCchuySVDjCVmlWD4XV78Aic8/xUCH+f6M8d1+PrWJdLv0cMKwmNB+ZGPTwcy42qi7lxO6pJGl8NAEGYP2pIk3a/GKpeDs+iHaC8pfXq0p0rwwCQPLF1olF63z3dddmfjMyPR4465WmmCG2ISITueMcIARGMyh2xVni9oW/Z8YLXYrG1o8ETLr16dj2U7/obJ6JS5wRx7uuj1KJTfTkNqn5QsfA+cPhe7XWEA6KHZhwh+C8VrSo3e33dMTpymYyKSSy763x1eqWb6GqBXIrrzBn0YdGh7ivlEE6oMrMGeB/+ebkFvJq9HVpXvKB/T511AP/5Mz/vDUkW0rBvwAlxYr4qv3P+AoInAbN1M60pTWdukQi4wLCdq87py3FtTB9PJkIGMLRI9py0eDuDQZZUTcRyu+C3VCAi9ii4M7iqnxppt/SEUuONRLw88ekfQtlQ7VWTBFvy1Xw4lQs5q253KnMHuy4MC/Pd90e8pog+EkRdxxN1H8YITMGCkPauhFFunbKCFZhsEs9c66V0pYUMi2pXWS956/FvnBzEGFyVSYMtRnO10zIo94lQVgjV/2Syr5ZqkLUagNzxezN2Zlu6HMdCdPxJIjKk3LZr0H16RpM92NeYlzXeg2SQcidvVErVzXTGDECxsMj201iIUmq4mrtr5csMcqg+j6TyiC3Bc4v3/j6AENRancdbOSDL+FIC9a/+Pr+pE3/dLjh3+OYOQpWDQ7Xu3DLrTZxezxe1OBeAnwYugRF4ngYIpJwdpV8P8JE/m8StjjTuD2VLbexiejcBg0j+4xq/oBO/aXUn3Ma4ruv/Zzpf1HX2rrMgPnmXLKIrNQ7+u7YP1HLi+VvX0mbHpyaVVFq22DfvXoK1eBHg6DsLXi2qReZGsRMsPAlEOlYUhsM163hYGOgH8sJXUXZy4QX/oq7SEKhYYjilJ+FJS7lrFhoUXRUUw+xF74OlsdRnlvMxuzbln6XYp4cn93HpzXDC4jUCkldUYO6AtO0lYSkxRnjxxUK/5gHXTp1MupFVH/xZ8I7DJB/f8OhvKLaYD5gQoi5nqveGv98VnjcGNXt/nrO7YIF+kpJ+H79kDFnFi8JNHmtUsOEVr+CC5xc4eDP8AZQFysdOjD+56Ii5zYgLlyk8+I+ILo9glKWS1ihuPZUDD8qd4yVXp93WVrVwATV6xNaoQKcNd10JkJ1XKMVal9bg80RCu3Sx9RHfUUS8FpNIEOjKSsFh7ZQxl251VrajlWsu8iEPvfcH0fQCuievGkHZH3gm8ebVuwBJw53ihw1pkxw5eSbz0zVkSN3gNBaIj2DNMdiY4wwO2xhOvWG6vrtlT/XJYOGQI4iLVndwK5V/Gqsd8ExVNqjRDkRhtfWOC9gB3YH+XuhrXBOqT1pz3msJ0wj1P+WVcB0meMxYSE1IsmsKM32YejWZLX/6EjUYq2wrqYGmscjFFs/hjXhCcIwz2f/gM/OLrGLGJoMuU3JNxyOWIXftFMh0rAaSh5xWRZ336EzAmcRoxgRA/iMGUvQuRcpODkwxxp16NcpmNpHya0Pk1HlWdEAILe7VyzGPLjbQBATrOdu4/7GrkA9uzYNsMqMr3gcb9UesVnLPx4Vwo01W3qINQHI3q+35dAyskjbGKFiILNS2l3vzwyHWZNlROoRer3c4NoXVNAwCPVZCRuYIN5Z85tly1CQ67owbeeFQMweVQu5/cZlf5UlG2FixqaqKxrJYPtsGTVbhAgqSsGUqr92ETiwWmvO9ylF5MtkchqkpjcZJOjUPZKNdAj+0i9iJsKx678gynZOoeFDbZYblThhAx5kyOrUxUpoCX3KbywdTF9Weusd7BfuxfV7eOCzoHxivSUXC3e8djN9khklmPIMM2/vx4kT6kjMVKuciMxobzOXmT2T/n+yesfTx2GHT0TvPCYedyBxwel5FQK6QlubVEQbR1/R3KEpPIxXPenFZSwlan1j2E0d2Urzed5M/ueSttiRw70n+nt3Skd4cAXwJOsM1IJBL67unGB1JcxaI6eag0wDpvPI/VWIwvKl1wvqxKgVc1G5UKv/1tyCP2uNpdoOBTh/W3KeICx+SqjTAcEEgJJsel6xwoa186s0vNmTD3DrL2ps/m6dTWmZoGKUK9IdgAU3q8dg2Y3gh0JKmIKQWQDbIf/RmMFi9hCoVYQItjSeLYJBt1bHdCM0xaiAKWVYJ11mPf07yTM2/Wn67fLrWGx3oUmgypUFvnbVbNogoESkZsvV8LpJ4vgj+cEpWC+mRQ4Febux1W+tIZHyMJBsD79BrQOEggQvAYhIEH95lGbyiCbYzzZWMhoRogyJeKgWqkrsmVH5YGnTE52/7EtOpaWdVowmjoMMWnKnWQc6uRmAYopl9TOcpAFOlAUwqWe4noSpwjJ3jy0UuaSkCgjLSBUsOEM3ApWY53Ydk9nAGwTqfWkMXaj4PDbkYZ0DLc6DuR9w77EYeesDUbqoVx3P6drdLwJWqWN6e64uZ/EbhMt4CzD/2cX0mKLPQtJ6ITRZQiQGpREZ+yAX8P/BziUfbfE4/qXeQlQZ5a4UGlEwxV50uKtlj2AHsuDXc0AKSBBBWzkljwpgstsfIwAl4hP2PiJrdwr6ARE9sKC5MEcL6gz028G73yXAFHUy1yVxnd9E9KWilNB0YuqYyygdpFW4AuO0VtW0jZlzZOxxGsfBm+tzOQqzDUwk+z5FimuTZVZssn5gA97lOyCcsuVfcX5UWdqNr5uMA6gtgq9NWiQrbvph6E0gPBAwKOiftxjaMloGvCDWWDicpQMs88euhzSwMA+rI7Kag6O+rmRhTzEH5KGznrJNqVQOqNgad8l3pCo+wkwQ3xscnGZmLvIIVAiT0jVi944jkrfW2IxOsCqBXNkFHvBj7aOeR5K7fyCkLjm0fm+6t2L5oZ+aYKUGePDk3k01K5gfsISmSXjgbbIHyimCQ0J0zJGTGNjEeG3HgooUDb6dWjS4yL+jcGTqlwZi2Le+0hc2G6gchA2wNVVhic/+l8w5wFSI/MFGBD4iyutejpkKp+dgmOBIGWyegEf76/Jm70C6xtcVQeScTavBT79Km1CZIn2Pn+2liMjniUGI9rVnGVyjfHABjThRLxFL0cYsfcF6wkfmb1gY0rjQuPfQ26jyjZQdrZQCmTu3z4g76QHFszbZevQeq4XwdK1Dz/x1D8/e1hl43beV0NX9jruQu2wcsfq9ulxH4Mqw9H+aXIW0TMo55a9bYa+QJeK+9uObyRjYyttKbT+zFL2IjfIe9enjZiQxT6XpCMkNr1wWD9sISi21l+K2eAQgIY3haMJwhbXynM8lvQcyllU6wpD2DkuwTbtHa1hYaF/zz+D8OmSKvVarp8ncHFLBKdY1oa/954VaHM9+P2cPPocbuSFuH9ebs+N5oP+ub+3rcKEy1OqCP6oi2J8/9Ob0FqnE+DX8mZp/k4PBMYAr8RLY8JCUsszFiAqHx+JIKGRz8N/XctyZlVksMncOSzvO/okPyMjkexZYMt59tND7UVuYvcA+UmIUzQTsFxZYB8KpVqbrv9B2PRN4SprSdp6mFOA0MY+l464dE+61E0lpyWV6z1UOy7Un9kavqxX1+GMKJk2FC53VqKU7VJeWIhGtI3iIIbGUTgqfgnA1odM8Cdg2ANQY3pufgr0PrsnC/TXUg53M9LRYzTrh9lw/fu9wVmSOaL9RBxgobdS3//Kp6XSi+j7Y96wnplkw5ulBl2dDjJI6P8lVDT3O6s8TvDWj3dlmnWb1qSp1gudwWZtE/0qpctp2N3KC2+7RHVkTC651/rIb316TbnwbOqj+DiENGJ6Z6Xl/CRTPwJUAVG6EfWH31I2Pibn/Or6xKwekO0q19n+YkO8MFYGplH87B0HNz98LkHBpOea9Mm/pQd71VhUN52bMn74YAk+6ItgtZa4gnlcNKMcLwvNFWPQzstkhgHlZ+xeL15/3Us1o7/fG/8XPpcWdEOlGQIZgFEhy0jA0uEJkLYz0zgXyQopeaTXwjQyOlDUGh6zAQpHP/4RwpvVWWZj/cAPf75QgRQ+mlq1LW1EsQJLfHqU2u4247gi3M1n2s0ICtB45e6CPnitNvAvqshdvOXgurhspa//WJD6k/jHuWzXCWM+q0/26JIG8TIWns05xIRJ84IugLfj/wgwjs/II3AKw/mz4lzqaMjnV/1JVHKLKK3s4jhopg2EustQaFu7FFxfJNp4bhe2Hkp25HQIX+1A3jMMz7AGQTNtsIASVDotlU/3vLk+pljGcjO26ifNrwa/8H8DCMD8vRoDul8NeQckNx0jt6OGERbQZ48PDs/Ur4O6J8Mnh5mhourC30Ep1uRXCTq/OxjTJ2hRsVlmBylbv9Zte4kGx3t9bkrpcA2F/fEGfYp9NBipCaLWWilwxWKgt4/JFPXlarc1w+t1SfDF24qt9mY+8d6L2iOglBTeJ/TOllnqqxu1SJ2IBgt406zILY2Haue+BoRSkLiLRl0vqV/dC1pSDpY6ENaIDFUciPJYZW1QLOjmXQrPekD3yxGNzM1oSaaezYk6ZP0gG0Zorgr4NwNlajlW3v0zItVh5repHLkTUpy1dMPC17dxV9V8uJdG9/c+OzjSzaBL7DDSTtWHag3WVLFpQaNTAOHk4p5Mph2imXCZl+sNiKUYdRz9bWhAaJP49M7Z4Me0wAupYjNwK5PKUvZDqQcuL8N2HYvyADa93LoK4jZwWg4cDVEWofoMcIRh3xW0s/rIO3l+Qat0YMRd304kOgT4BcmztGovGCtJ2hsd/IJUWIOxCE8tFb7hJezpj58rak2BUEeJdcUNdD4co/exGOlbqzBR20xsHkFiq5znZ81/Q4zI6hsB+Mq0IWzjrJ7+hQcn9Ef8PGWUlmmFTGFQta7NurY66TUdmlF2LjrQQ/VHBy/ik5i8zcHQLrIwsYP7n3BZFWmWitwK6OpJXnTJ2AQVSSwoODxlYG6Wn4eftDMZNF7U6zsi655cAzDQe6d1ffwfuC3rd82ifxkMKsffz7SVTDio0ryEVcF3lDu7zUmEB+cvxxneGzlkC77vg7EHJSUgqF79IClxsG2amYCviJJzJM9J1QYZLwlCmFp+r7w4rVl2UwC6rDzvhD5K26kI5dZdYaKp0D9zysnZla4te3xV963czz9dopPbVIigfYO2S+ZI14kknR6isXF/zm7Z/ipKh0LQofPJhBfpzmQ5cLCMd2iwzM4IuHPPIo/ca2P0W2i+/v3ExbdbBOqr9iyiCXkEBeo5iBn9oVI7Af1bBXTR/uOSXe6AP59m8gmhltVFoUwl0JH4Y96agFjtbT6PE7u/GY2CFqjee/Bhzg8zTCl7qZAQP17zaOWkn8woFm78Y4F0F3D+ztikxOF56h38YRiBr/jpDLgZlNH0mtZsit2tjGs9JFBKgC0T+dh4PIkO6I4DF6s05rxsWEypeJPtZpzItnVN6B15aD0PruEw1EXP4fFj8Bazad0SLvnrDTnfB7PPxAm/3122AfbdHLF+aNry+sav12cdJgT4zZ6VIYTOcq9L7sL7UUAonYEhEQrHr60JCs/CCS6Z8Ivz+XuqwRydarvIhDHPIlBsw57spSeqj2oDT4gU4qNpBSBUZ8kc0oj5AUxA+OIxog6Ymn6QTkjUYTApqNrKfsFDfBzKos2Db1uI3tPRSDZvUvBahtKjviQuSouR0zjAjnd7CYBZVP65aOS24oaA/OByvOQeUEspOpx+fdzOJ4MBTjJceT8ED3D56LRKYnVYrU7XRC/jdei5ZTs8vy7XkBwEUOwuk5OYzdFidtsMEzTU5llbApbJyiQwZXMC0HYtgr2kcCHMPZ3LeejMVAvvcdAz3ku+POiuHWGebLl7G4GMi6t41ZYLgDM5451sXoAoHdeyDdgcCKPa+npv/jWErLEIYzTuo0uCAs+zAcJTBq+zxle7PwHRjioZGzqwfo2Hqgv7rTIhHKCZMITUlgpV3r0gX7d1VT2rKwDcoq2f4XyVAyQEuzxf1NK3Bq23HNPz7u4doPvAIoeKPCfPZ8nUyIPMAHFgxkXA25GuHT88w6XLhc0OoiybHAT8b+UjvBvK5ilLfG6Czg7ECk2VpF1ELfUoEI04Gic8NS5r2Nd8WoQDUqbDWwDapuYQIPxExwfvT9JAPOlH2e2BZzBmz1FBxYLazjUp044RTR5/cS/Se8IujFMiRScQPcW21CUFAauCZiuoI8RWZ+Eo2fF//wY4BY2xfq9ygAR2F8Ib4JAGDFTB8XOiL5x8IEAo+zgMlhs5qXWXwU39WLzVZAH57xm57wBXvBJrO79Go3nvc8VTHWaxL4lstft740Mq3XijfYC9LmbvMtxjgriq2x42Jz3S/nNIxuUgT9ScAjKyAVG5JU4E3D8fUdHItpAFqDLwAAC6E7EGcgIsnVoO2qO6/+d3ZNtzV4FBQld0/Mv24Xt0VYeJjmYDzOFBIxWFU7n1fIcgBpCC+yzbwiLvOT/maFuKAf+mYzkPIp+XhmlytzyVp+ZOQemop+5G80AMQCw/WVAZE4oYYcHQF4Pmg86Oq/KEwidJI7dKFPBqa3cFSe6pVfV0jBowsfffDBl2LHoHIv5i/YWOFni0wkGYLyYlr/KCm3temoQa5x5lARQBiwI7M4WN56ebVC2nqn5A4AJwVGVri3DXu6PS9RSJNjb+kwuUmC7r7xZB/aVnW0TeK0NYwrMzQtw2ivHwO95+B1uufujf/FYTBBkOVeSPVNvA1B2VrSxfTjvM1bnNSjVeaJej+aHgcQb2E1JifQZM6czEdvNhsaybhn/Bmd70H2PH5s8Yyi9hklmrLsoiR6cv/d8Gm9KwLdNRf36EK8zyrnjh4wYjT3N0K4eDfGHX+DFZzC7BGtIhYEdJrSTbxGfbcMpFpXk4va7gEZ6euuEZgn0WX6ntwM7aSpFARUA21g3dP5uxtDYLQs56z34nzbdOVsa8PdURr+XDHbFk6ACDZu+1uSlWG0r9H0l7o5bH9SoBDJYQe8JrOHODJ8+3/+opgJHxgoe8Ez8EMWUUjdxmtPVedMNin7CC2VVHhBb/o4a/YIxLji5j+fPlzz50ax+28e1BYhzRuFmh6iQGimoW8J15xn5A9qNyJo5CKyB2TU0YcITvdv9bFyWSRSfs+yDA/JdMmMa0xSaH6mqT/Fz0cEsDaGMLV5NugOaMRBzA1wuxsPo2I54cbr2WIjiNEEBngVLiIdntTNViPc73f/vvs+BKeUQNjDPq/GvQvuFKf68UJTFbzXWxxvwhlRdT8Lk5wpPK+LQtAoXHXihyWiACsLGcDfZMer4HX1J1vCLKc8alVhPGe2DiodecrYO19qOgXGCYc6AMpXxxUErzzzVO/uwF2jvUDA/bdVVOl3HCNKma64XgOiVRs2BwLb4bAx3hFPF+0FKmnayrebpuP3G5O+No3CkAeOPW64FJQPPSofHKOR08taN+NsieE6oR6NyoAAAAQU5NRiIhAAAAAAAAAACiAQAkAQAMAwAAVlA4IAohAABwmwCdASqjASUBPpFGnUqlo6MkpRRaKLASCWdu/AkXhOcQl/vfPR5hyD2IH6wP5uFv6Z0NWnVegBZLswfzv+P/4nh355Z2V5v4bwR7L38r33/D3UUuhdo7rf/K9Aj2e+6eb/+n5p/bXo6/63ig/f/+x7CP6c9Yr/h8pH7X6iXS79HP9oCWyT5jcPV1zPcAM0lhh3oW26QQUHr6vG+Ce57UXgWGx7bcKRusQCo19xPHhHfTA1O5K8MRLS3QtA1f7/lJGBtFk6iG6iXOS3ab4Yd+aS/4AoH4pa709mIWQd8RaX48nvlSMALJF8kJouCrSW8KIpwAFgzZn7k8cJP3nYxZV4Ykcq+F1nU4jG904rZNbyzeZl8CetnO1//3zeifiaQJUpjy62vuZ/tkkujYd5EuNd+pYuDD2mhclwMZ1n/wj6uIdh91j6oLkT8wIYUa7k8AkUtfSQV5zSE+L3fKfa5Tyu1OBWaGdqRbqJmrc8wrJVdP8kEJViOsVqjf9vkBLsqpM0kjI6tWwCLm2afpnOPCVoIvTVEjy0uM3fZY2EwODRV3BtV4PIBLDS+TTZvwxd8aVWabiWDAIoYpp3SGo/yvg7xLP2lr6ur1/pJ4ficVzj1X6LPZj66ar6T+2SBZeZdGW030AV3/IpSG4B3p3m5LsQy8o1H2oG5m86BDM4xQYim4QF01JOmZvHu6b4EHa74qyWdLAfRFDx23dgd9GJz1RDy/d34reZCsYm9fmfCE7FBLEJqbCpT61kbud9S0p4IhCLwYL9PEgmpub1nj7QnqIG+OzUXXnGS+a2hpDXw5znLoiUtA8vmEhhSqT15IRJVjo24TmHVt28TSIXadasQJBxFKDFxMKlW56k0849CSlHDxdZko21C45z7SlAjKPM3W1RSBlE4yXy3aEwPShT5ICJwdd9I+IvyKhhuAUJoIPVRc+uoS77wpLP/yz9E+eJnMBBQ1yXJxBkIdMC6oYHJDljG1I4tXUfUH8vDnldazer6paBCat6aINV58UVkTdS+YXnQYEQWHKxugXy82HwiJIl72cRh06iYj7AJr/WxUOfsbAD9WSOdFWFfY4k7AxxCfPtmetUy7pAtTaq1t5Wog2EoxLD2VjFgunIdGEz8g5kvfRfz3sckDmfZXBDnJE9wYtRPBZMshqRxTcUXNTxP6TGSJpAh6TrFo0VOY4RBfH6nE7Rnl4zMx1F6ZQQCzhz4yXwiVXzKUJoX3mh5MRzYF9M+k6dwpUzKlG3vgSr5QpcEBAjQ7LEZG8TMVTDZ83G28zy/DxYh/9oxCAxfrBAKVpXx/UuWeLBhHH/Qr91thROeacbfBhjIrFnAHQbOgfMbNf8Kmod9zKbQwe0U5N/rz/HVggFKwuMCO7XfGLPE051ALw3xGu5PhDmTKo9y+r1xNK5kwEQWq/Xnhk6RNTihs7DhUznzOYQ1MEbjhU+uTExYWn688MnWS97HSGGexyZuAW5MS97HJiXvZuPOTExYWmtsaGZBsggAdIVtKjrj//Qq3wtV0vsUZmd9AN9jXzPA+17ik2FpYQcyWs2gLn84L9kce6dhNX3dj6WtFfF/fVD0CniY2ECvvQyX8BNZDExCUycbprdFanwRMgLK/NXtR6wMHrOLp2eBYeiL2MtP1TVBepn97+mgr8W4ee3/+U4NcxMRAAP79iMT0mVAR/r4d0sDV5iJmh+dcKE8S/ixr9KL/tVeTvsG2MauG1/x+GofvDzwNRb2B/7WNwbax5ie+POxnNs/vu455l73vv6Z1FWRhzcuc5SVOF8sTEKHR+7iL3DptKpusakG7VELAY2SV8ZQ5q1EHGeq/Y8JFNtMBvwDfyIoxGvEgzn4jwsPN9Db5S4s2TdhmPhrcDN6eqF8wCfE82SSuO53S5hT/DxyOu/scanyoCJKjQtUNTsTzAqKmK99Y2HJIVe7z/Cb3Y8VBOSFK/cZ7UbRbC0aE/Z2lx5xtuCCgkDPkRY1oEx6TutPk7yEwOUrmOeSW9eG92wb8op6mZX/CR5V/IXetXheOCXdCMLeS6ABuAjTWLkh1mf/Dzrh5uE+yVqE4F9axlu9jBgInTE4AECVxEn4ygtVYEnkxkQop7FOhzT0MJ4iT3DRsZT+JsEg6D4z9PudqLm5XwnsXZ0yiMeOoyemEVH3R2geS+VOMUZYo9vzvy/CgFAZKDOeC5CHH8rl6f5TDrn6uqu7lqMO/Q/gDme0Sba7+iIk9fUzzJ02W642uJZCftEATmtl77hGmQahRBX9YTfTIttbP9LBSmvUmh17BaXAn6Em8r66L44x8uRF1khXOv3mHCKgeBDsL+weV6U5hfzrsrJd4KWgHVV4Cb858P/wmHiISf9NQn2PueNTEMuh5tH2AP9wQ3vLieVXseYj6sWS/sOqweENfvnQ7PLhcX0SxajZvUXvvm0xzXl7FPCyq4+LUKfmthWGJMD+qt23ZDBtiNk/P/5oYy+A7c+3HqxtH6THmw6u8SJ0b+nNoWsM7r3VFTMqpR2hXgeVrFt7O9R7HIw/tMPeIgUE2F0J9Y9NhR+7+33xTURLs7lj/ZR5qZt4cmgbDlwlVAxQxHqD1NMJi9oZNi62GP9jJaUflWh+gtAMQTbXf/YzlSIu0YH2WwnZWV8Nbq/ybcONyWUgnaPxsxTnfUuR3nzP1tHbXqx3jq2CeBj2kEQXjte6MDz9dODXiL5kexPkzQ33jPOsIr3NE/xfkEWBzyXi9nMfbuRMeElTEaOSN8LJsh/arBHDK3T87AAeTWLT8FOr4nSAASK0rz0ZoXnOOIjExIIctqTwouCBLD+o3zDn1Z4yUDVEhCggc0cAIp3/ocIErc6RxEspwAIKwMGKGMfmFPvrX5kNmI2noc+xrns+Udlg0KJ4PEbRode3FpYfo9FqpfMnVWBE9sYVKiTVdbdFp+hBAjAQnTE9CGNRGHOlVAaTso5FhFL+XHz7a/2k8nps8IJe8l9Jhnrv/nJMvDlUZpC+rsMQtI8fdcqjdZKMepoNizAtL5g1VTYVIOooP1BuCMuMfQDLiGDNi6vphMOvkqKshX3zSLslQOrgN0Tb8VJAI61GHe3sfToqdA0q0bFIsVA4hDUnSR+ZtqqT7DFOHwoLsurzvhCMDF2VgvV/7Dg7QiarVDYBoRJOzSUAccO+RvLYDuQIBgaP7SrH79SsyR2bkFe3CacgJamQwCaMTvqzuD3xSZwAX6nbL2Ig+tsNl81X4zwRh4jraMLfcoJ6vGtXA9OoIiQgtut3yJfxgIQYDTZikV163p7NdERdxkjrIORhHh6rg2MCp5j4N39Mo/OtE4GSpIvODLMgQSb4ydSJYRNRy9SBqLR6TRJTrkeDp1MEcnqVJ8KtqMbEuiWFdmAOHQGM+AVHwZOW55PGtj52encv/Jaw2Ndl2HhLFiaAFLMAZrEGB//CnCYHexO8Yj078rQeSvGb/CEaViWKMgo51qsnQjgT670t15Qyn+cZsktHlcUUu6NL/0hGXTHU/3ZLZJ1n67yya9g8GqN5fQea3vmoDNCg+qb81ssLZ3QR+uRSIeEYW7acDL/so0SXQdaGExeE4ZP/DxtYKcRQRbB5jln8JQcGQ1W/GPaxRuxrTNredPfNfWWqmkSfkVCJVm77owXpJ6C31zPpExZnlrxszF852iMjIPf10LSlqxgsqbeQ+OrTFxYbZEbzmqq726liFuzbPCD4ggtj+JUY271HLzK2f2aRfKV6+bUZLHmTnPMY2SEYUOgDs5Wc4BSZhmjAyQt/2siJFe2xVuK0OtTVNlJFPigwpNQKBEYY4AtDDW3Zn48S0zhqF63u5t8PG7wmLfQCupV3FpHuX+c4wTY/WuGDxTjusHDL0npjOLQOFxVWAMMAsISCddwE3H4/5xIX75qUG1dEqp+6gik5BDDPs6ht0YDB8hbt4okzNppUk7+9O12Krx4ccVxs9dPP6Tc2aPB4EzPxYMPEfrsZ6RzhsO29Z4m/D2gdY6ZiPcpIsKIVLW+6WKRIWATfZl8Tfzdb4Xsty6q201/wxylvqnFedvSVmhx/OqaDYAu5AhUZfftMfYc26x3gE+Fa0rAk9AbDb6jJld0L0eEuKjfEyDDuroForZ06g3le7tKqiqT+j7W03FakUZP6asFTg835odz8ScRl1EAnYGLz0kjNGdXXLmNs0mJrgZDnCB7f3AMK5x5JiKv8s/IYO0ofVQjY9+2E3/8IiCuI7YBtpiNhDgRWOrG5tTIBkhO9BzAO6VQ+wFwjJieHIa+FSloPUJWFoCWPbt6OXIiFmGSPhLpvabXGcgyW3YUJgloDsHUyyA9I7VVEapt0volZZ3Y3/D9iejVuSBkp2T7yWFfMnKtiNz6yM8zrxxu3JqjBL/7bbEYQyLjsrxYozOB0c6IuMhWIIkwQZp7w6cgRNNJD7+2BbM1RteuXJNFHWTjP70lkwrXIumCynUSFYlnbggtv/iNpUYO6M22RP+Cew20TE67GDN7yCB25BzUx5Tc9v7wK9LQ6W2AguLVC2+mzrKGisQCnHwEw0UEtOxbUJ5iVQGgnnKnzKkIFHERJzCaPScWGNSkHsQb8b7us0sjkA79Y4OU4Jxodno6tosWTk4myhCFLCoz/lPgwiAtcjOJUcNSdPGDSapI8symsrbGl4Pw4LZ3pFQxckjuNVUBrcXRbfpGQunjo6Ja538/jXsOXwUtjepR73xLlk72FKPp4yJtij6RO8HN/1dOGbi/1wIksfEnC/PAVMxa2zVRcxwEz9pJW89vW+hjAAa3VhgclEGXv8GnL1781XA3EoIhfFJnZzMwyiYWEtShGpGnNaPcjD42EprzL4niqOdZeypL76YaYxCXnKpqAHlbLHf6yc3NaBqIyVJabi4Ry1QAGacpgv5EVrBwbfJzIc5AoG0S2QYArKu7Cf7HGYWB+q0TPFlDoGCA3T6UZxy/MyZa1W5sf7SS9+eyEoeqtxqny3MJ0ybOAqZ4I+5jLSdBm3nultjnTiOOIOgF9c7xIq2dFGGueZLlEJV1CEGH9yCqgHYWrpn3psfmMw/Ow7a6obzTy0GcT6vJ1lO0OnGPyBXd4d2Ey6ZK/IbL/8CT+iqEf+jEArPrd2bgrl6zq1WwkqC9Mbv/EX1XruOjrNhzNiSelmAVRX5i286O4qwbuu3NeMqpIBQBboaEXfXTjl2ibHmJe4LOfEBYS1H3GKQb1S+XjGGiMODDoNZFM/OPy7ABiQmGbttPek2jcsjXKgzGYf+Zsr24hE6iClu/2CTXJdR9xISEZqwG2SmD39fwu3y4k92wyTYZLbms3pbK1MlsJHDQQgncJBTheU/u+RN2WqiQgMsE8CvE47pTM3WwBp17mm6XnEcKWhEm/IVF/xg9ImbPPyleTfDIiTlgniMIKWCwM84Q5Y7FYVP5QTLYOc/VYiDw8F524kiCnaWzkNTUsIcaPElT7PCx/T8UnBq10Fj/kw8oeqprhWsD1RtlrXtmDBIoh1vVnvrCjNIpf9rLLZJs1TR41WrL9+mRaW0g88BR10j6hPG1mrV0EUyb6OYvQR+3WXqyekBqpqEoAV0NGuZ2JZXKn2Q25gXRq/VpxOZDd3TNptkvT4/K2t+EgjQuy4CJxmi0WzwbXfFG46k+XN9G3EdcJvOLlmv0f/tAoFtoDea62qWIf6xIiz+QpYzaB0xQlnLGuH0laE64Zo8pde/V3L2L9XNlWAWSlpCtZv2s4EX0M61BEAQ+PF8mLU5xIxu//POzzr5ZCX3N+Lwo7Q3nEyyANY1HD+q3vQzx13M+eXgX+B1E49YuSwt0XirN4GZqXy3AAzlFihdLBBakXiDtnaJ+ELKKSoPSwaObLPBpgI08nigVI9DXv6rCHbTGDm42J/BGpj7WopJhy3V02Ho5J3VG6qvZ1kv64Bs26xvJIEX6E22ZewrIP7cEixDlxJokiZiXX1Js9vXUaX6ZHSNK/d3/22CiBifo3ljtNOPadwnIE6lL1EaXZhWp7AHvBwJnUlUepUYROnHNPQBmyBfd6b3zXqVOp4oNGGLc2PiRcPLmiIzHRHGeEL4PPTTSas5vjF0VFBGeqyNg6CmgdIPvwfBkCUfubPcT/iO4u8XjvpEMEp+LNebFJncvGM3EKl85UqHA17aGE2AvwKYARWuTDq+KARNCd+v8n30MWPnbkJBOYp2I65Aizj6JczMAzNMjZ3oDo+aGPDlLE+KE+T/b3Z4+AO1ka1XOrMeV8mxJ7SuHmLSBbxFWgusd7KERRJwWwD/Jbp98UWuN9rJnV+rZA4z1uA5SzvbM2GeiHFZJYO6T4hk1l4m1P+L8Kn8x0XIcHKxxjEiPsH/6AyOQ2i20fO6AIno8rRa0281DiPmb5rmkfCPN1rp82k8kbGMG/MwPNZ7bxYBw3L4tYCW1YUfxmbddyy5TbiRp/lNbLMiJYyTvTuz5z/hxkA53rkCtY8ofV4lo+pN9EcfdZGfJAqFifRtXOOv+mKs81qX95+aaLxOhfRi+iF3PEaY0m0yhbvwChYeG5r7p8bTqhvWzklyeMJ73wZ05NrQ9AmCrWJ6wtGuaU0F/pf7SFIqP8VK34bZESq/yEDLFYq/iP4IJSYrkELQ9bHU2mivlwZCgfBXKWhB49/pyx4FNQN3bae1ujR0CGfGBG5gS+DVZqaJ0AZvgMJNnhx94gNIl2ItCcIWfOEo1L+3M4hXoP+WhQ/NHVtgfkC9rIdmhEbWVbjyn13jJy92BIKspzoG6kXAfS9gUTVHI2+nDYIOMqQMzkxSwb5qVgDmamYdD8SZ6jKG546vrp80TWAQaw+ltIJPIKY+oTkFb5fILkDypZwS2RGCAWqvcYjFavBI61G3XHRUPfBWiqChKq2d/R2bmoGdGfmBug3yGwXyC0mQmNQbdGANYqbUkZpxySVnPnKjM6p7S47sCbrcM+fxePdCIwi1uGpX4I5Q9oJ0N8oLuzWeJX1lCHnlUJItow1cnAuInBThmNW9Xnfk8ARk2icwQYRIeUFn1D8StdRjOPWfTCSb5mhkpMd83i/qEHrHUY+gydeFBlqXTGKCKV36hF5NAoDQsqix7c2kyNUpswKvBhcFFdA9JaSDAGGCQ/JSjqOOg6+vr2uTEyTKFCrktvU/lfD6ErGPjIO/nn42k+jmAc6ByhJ/wq3Au96PK2r8cdjcEzF2xK3EX7QvD0R5C0FRGuaktBK1NRaapPECdZjGScHGXV66gSTOzxD8s6RzoVKVpjtGZX46AuF1S/IYM4jtPKHESSX2AjUOdASwWfzQq4bDAJ1tb5UlTTrZSFLjorw4VEYxOMxodPmEH26C4Pp+8AWb5YWM4TOEZ7UX7VVgTZtqeSi3c3IpwoEjz2RdraV7c8IQRJ2cfa+/TGbmOVXbUe5jI+qX1T52z6h/6Z/bgVoJxggocowkmsORVC7KZbR+LuCyyGFYGOxNFM8cCDdmCwQCO7Svzc2/KRVG7522jbVfAtO8nLMz06lqiuV8kOG528xdVZNYP//8qmqzMD3sLrGDdvEcjby6S+x7HnsZNTd/+uMDDO8GXoAcHNLE21hYD2dmnm3vzHaNwKwbU0x+thrPq4EMJx/wo3f97sv8j5cvJ6e9YlPF20Q6hyiat965rfuX4lIf9P4tfZUsGf1Aviyn1fE0RHEgLjO9DFIe4m2kX38suRBm+elrA0yRhsi/4QwBIR3t2F4gIqpSyxapJtMs+TN/77N4VGogBwsEjLBu2QhdsA3/VeAnNLQyZUmw7HF/ozLp2WiYv0epBdZrJuUqK46OgubYQPmqEOCw6GcVCq9RovRLbWnpeEGkwHncmCF8pdyNFxmCRN9HzlEy/of34fTQJmY+/cy7BrF4X2KN9nQExrJnkyX37TjTgLXrwO1O3poi+o7AhPvTZQkWYTsiJK9hLXgy+yPSQ2/0VYe/Z71g2MGmmF2x9XUzKZHp5Yw6S03xXM0TCudXZ79wa6j20Vi4F8m2N/bb9Ij8Uc17nxYLccLgLg2Esz86sRHeGXlYd0xEvB9DzpuV47K0ZaTH9HMQyvZFflBNKSpZgMxADijVlIP9RCZnK8Jo21eG0+34/3pvhotskfvURJm1vJtyUnm0gVVqAvXhb4ON2Za/dOHKEELMZ+o+Od7iyZzeq/wL3O+xPapbE2hAF1WqqtHIw3Amp+SYVnV5KjIBB0gUjMnvLE2cG8HFxS3DWx5EBg9RVnKp62nTDqkxnTAJfbSnJFzi9ZEWpkXHuCytcWKj6NycQiGMzXIdf7agakCoKY3m/RFssuw3AdjSk7UA7fMq6+AqtfPh/abqfwrbeXMg6TkMUO5u53hzvJVgeENzOxm8YfHq8UibYvLT4GSKwLK8ktk11a3qTI2pmLAhbHjHL08fiWETSc42j2A9GCYbIh/N/dNuctz9CVGWJXl2bbjYp5rxAoJk06H6iPo45yxNaJLtkrqpY9zMItgcwYVbDhKJHzR71YRrT5CAeIjai/2l90bImO+BGV+vEK5IhePdJnxsQTrZrKkn5Ttdvnav0XsxHMWqPQcXcFB7ALOmP6j3GcJzN8KVTKSER1KftyVTcGvA9QqJ30EU113EQI6KOd4M6Uqpt4aQa8rxXcrNs1mF8tCep1RheMfBWrCS3X1fc/7AN85q+A2x7kIUVr5p5GIa7sEdJJjBaUcLOIf4arFjZ0MQEZXa6DT65+vHhENSZC9ElSc43fBq+Lwpwa7t5g9sZjV1KwDTCwvzi/+oT51nLvk5wCQoGE22RYdus//yRmCrtEvg/LMdlyg7KtxIJKUqpMVSAGFi3kFDSMqyMEsHL4hvN1upnrcKLxYF1RYj2kSsMRFdDDsnXS5LnlnbHj100k8vV5IAOFQmsmWzPTH1ArPZNS89gf2Syc22KPGAaWZk8TKxWm/LxAG9HQBZ9ecL3OgsfJWtI9OZ/BzQxwjztYCY6W1impnkADi1oDDkwwuthHGg4plHqKAcrFeneqKqDXHpmfoqMJyiVMaZK6eRzuxvjVRPN3+iBRu7Cifx4s6NxLpDTAssWzo4Tpp/Mjbzyy+VdiZzSQY1qryQCDCG1th8WqfeW7I030VZnsXCnLF1RRZiDorcylBxVfmyd0qLtuVf4doyuPq77NJ/i3zV9g6q0EOtaKsuHLUjus+BypSYYT/FPa6HhpC66SEJFOkvwalISOtRK6CelMpMBEAUy9f0lvyOpMOz/Hn0/PBq0DfDORSNEleGikq8DZAsy+gZbwzv89JrTWaV1twr8ajOearCTcXw+65H2vJL7Tn3NaBgYPpLMiMD0GOiovSyhSrBU6X9FLEce44tol2HPlksvT6ykDXkNuAGkEwXPSsf6vmC1xdbf6C6KXmfSeOJb8LCAX2cKu6JQx/FSnJt2coh/B3Y73mFzeja2C4Lq5jf7dOElDCKjR0m4aSF8/mhCY7JQxVIUiyj4VBgo5bOrvHRSJihiMHK7ZgfWdelaTI/4tKad8IRoaNADZUEHnSZFDcwLBJEore5PCufg7Mkw88s6ENo7cKfGctOxLTJqkkWhY3pvsXUBAzxbVuOr/ySAes5TBcbM6b6gBcLO2Nce/ZeCmq1S56jsLuN91JDJjllCeY33jZMF8QKMO/BbRGi4l+HlInDSbFeoWC3dM31X3M1n1orZOFEMmrYhOLSEuqU6KIdbc2a/FsWlRMsYVINfkzvIIMESbePnUNr6ppLslfVFNLbOVuOTYEROodft82DXp/kaVtRxTMPNmn6uNwUlx+3oftBf1WMnd/GQywxFjH3jgPcdKsXwRw+cMcm+6awY09pFbkJvZ1/ZyUABNVOWaFpXfnO4j0dP93MyVw4CRuZzpeEJ41vQGvpLYA3Fd0qL1LOZBq48vweyOgLWcKDRvgf5h3bflgrLt12cuqNxUl+jqyhbrhhGMJv+KbtS9zRV9eK3JNBkYPndnv9MwL1hA0TkrU7RDiEnas9hJh514gpsZCgeaB9mSB5+X1bS9pr7Fo8RRc9VQ8u1Fa+RuXFe06GmgbXp0YSAxfUtb6SM6y9zw6Uva+rCFpLiRqBQO+iVhACABNUhAOmVxRRwh5LPSsC9qpaTNt5C0oVYA3LXRmEgDJXoNQ+AcnOi4DTqLKm5xmVp7uCeEVeZ9XLUWTqkVIFjktAxWt2mYAQ/uIX3UtLHqEgWVTuzy9d7EHF1qcC+FmxZjMlvECQKRTnyjlAADsc69gAFdwJEppG8hDikxubb38460uCKmgjdCtdSJIQBDDMjdCz8ZHz4lI71Rdp93wQKH5VCunz0ku1sNPxM1vOzOBcU8vL+OLg78+nAZOk8ILgU7FCxNRQlwEgouR7BMknoGTt/SH1Y7ebsW/er7RhOAP0qATG77Z4DwBU7n8SKnmschWOCEGgQZSiYM2MsNJ8XTG+ySBrTGJPfUvSQNTEfvSiNF5ikpEQz3X33pEWYIfVsplHlRmgZp8cD/6DezboTRU/EmZxjxPpuJ3jpjYGzKzU0wU4A09fHG4gNP2LonIYTpEAUA7TI9ts6KgHArf4EaeZPsR41cimdKZdJM2O0a6SSIp1zMcsLxKOpzpaQypZ6RGQUZ/TXQ/locWvENNL3Qcn6sqWbWMfom250lSe+gtpHt72mAKUp2Mk7iBb8XDsxwJvMx7n4Nw17iLyE0CrJSQSjzwanLCQ+p5wS22WKEDfM7r7C7RvYZslOMCAL/hDpxQd3j8Un9GcsJCiH7lPAQG7VduebiYml2CjbdekTxGFUvw37s+iuPohjaPEamY6AUTBlPKHGYhd3KFK2pqcJXr/b0YgCL1oUoEfFtX0Le6AR7WV/rDjzuEo2lnJv1leYuSTVJcLpe8cKJtmREa0P7Kj3GNE1l3FsswfOh7Yn9OHwqbukQbI/YJSUPwqWiWXPy86J0S962z3RzbgDxFTUuIBcViYfvP+HL1dyt1Sh1hy1raSqx2bPED6cDqQsvX4AvS7P5vD8U9bHAgC4rroES4x4L8b07D680jihFBF4HwbppRx4JVlyNC9UQbLzWfZWUMewWJFQRBfzu6Xrv+Uvq7boR2rhONGNT/awiT6IE8++f3DONmWpOId9rdnDN1PL0YgO0hMnS6Pm7KW5b63hBd0C6s4mQNtQjQDubIOHcWx+uic5ITUkfTs/3IO81fWizEU7hahGRfityNyxfVpP0Dof5D//q5+cBHumOfRMi1rE5RsP3mf1glRl0R68pBPqWesZeg5b13L1nW7vz/R9S6JaiX+ybZRHColoIK1Fb5u9ggMjeoTWWN6xZk+CWK15mOFJMybEKHSq3M1U82Qow2lFLKfiK+D6u6z2epMOH+WsSE45onwKoAAAAAQU5NRiAhAAAAAAAAAACiAQAkAQCCAAAAVlA4IAghAABQmgCdASqjASUBPpFEnUqlo6MiJRP6OLASCWdu4WjxApfTre3z2k+l8k57zQK88Hp0noAdNJkGkwzzr+O/5nh35852t4v5LwR7MX9D+y3jP8bdQW5p2beuf7f0CPa37/5yf53mb/Df7Xo3/83iE/f/+t7CP9L/xPrEf8flO/bPUT6XfotftcS/MIVAJJJ+TzXl5n820jhJvLfUB8R55xsAnBsT6TbhX6TXEuYt+UybJbJKnLkTHFcrpKmRrGGJdP/nqlW1Xvbzv7a4NHhkwXlMarOqBWc9o7b33dyVtAfkYZCvxuJ+7qiuCZ3BwU5adIZnzjDErhagI4J3H9xFo7bYmUk+U5rDRJrcgrZ7m97h1plF/cKNODX8eQT1h8eKMQAD6bEtyxz08kRxkjINivC2JVHdkgS2ndlE5ytZGgEGmWUga54mlZpfc3ZUQg43kXrJCKVoTzw7N5ds9+KzjL3s8lLaAJHtZDzLdYMT2pJAL0XzGBVXY2Y3igZy9ugU+Dqe+6H4Y6PeNUQ9sfvxbvM9ebdhumwugS934Zt+7qpec8uEf01BDrjhOpzqIiqwv01kE3GPkW7DWaoScacuMnW026+ZiTfVXllonr1hyUlR3kUiqUhO2RhVuj7KMZnWRY4AJtUGN7vlOrdYj8+J48aZQUzzMw3HwX5SkHhosEPiiEOupEnu5PJWwWtE7n0tT+1Gh4L1mbrlqesGx1/ZSJnSXuZVdBVcl3p17HRKLiSqP23zQwg4sjKKO477nnRt3fb05HTnoEHIkBYhTeBkqsfCWajOI+hlpruSdrMMheooQmNXGVcqTWHvPGgyvg9HAQcQMBC0J8LBbCLmJHpiZpVMp1WElA/hkyWNF7kAVuFO7lMSXWQZXItOXD5FdfkVBkkHA3sD3gs1zH29SPOSgBm9TrwGI3OD8pSu0esq2j24swvNR0PP8wAZfiRTzwarETpHLVl2n3ZeIvzOK89y8P1M8BykSB6e1Mnq/KgBczNsqrTsrojIfLcyGxD3Yc8JumZq6AGZ/cdEDOatLOmkGclvuxPvEuXvHvX4SHixE9vBs4LXvu0A/hJm2jMhE9dYptJAkIVPWdnO1I/qFfQw5ouhx+qZO4S31GIdEvbEIeGyHUwEGLzunQXrIABLSbm+aTp/VpyPHezgyAlQfWLDKmX2ai9wsOlw9zFRC8GDhF63oTVZ290fRCD6gv+EJxVA4yhJ+7yH87OGk+LZSdBIuGRKuGTJLZkBbEFvbUX7xw2UrQKVc4rGV8BUNYkdjP8rLKdKrO3ukIKO5cjQ5oGE/CIRPamQuHcY8tiHklgzMjblUE+4sqBHOEEz+yUK8jgIjbd/5S+BWOZozJNxh3LwXtoBE290uFDP4ttq3ONnvSXNS0E+rPF/WRK8sczRmSbjDuXiRS8g0EWSgtWF8t7sed2nnn5LucfOHi9WarOoIeJdQQ8Stm5FM5UUDYohDxLqCHiXUEgtzxMuf85DKDoDED6WlgyLC+JpSaZft7D6sHuPGTqh5gJ15MJj1VhJWoHkUQ2MgfBWDfRHThl+lCV52dicd+KL5IMXe8/RmvOYkH3Bx04vwqHqr5+i3fuqBletuIp27A6on3nhV9FwLPwXyUTTx0DQZTX0LY7cZMGJjSkEq9KXjnX64yVUPrzwAP79iMU8lvDxviakA/IPxWAkAuNM3E8P4gRT+XT5jdtOB7QdGg8ntKHZGGtIJC3SH9cdRrIny0bMQ7x8UGZKesWdpTK3aMMqw2prGVL8S2CtH1fQLveOwA6YdW7EnZx4IwrSRbDxll/vnnS7z1Hb7tdhk/AJtm2tw0jadOY3+F0CXBeRjfBVHbOmlxGQcrgPN7kAueOnTeHu8QMiTwZU8BxML+Ez3uRFMtJ9ns/9x9X7XCw2Hox6QOAd0htyzVntQ5B6ye3Vji9VVuB0BiRK/leX1JBwKA0r4IjEMTVEs/+Jn3bQ/YkEXC6l62OBGKNyaXqg87Q/Aco/aF990xyu/Yl6de0Gkher8Xmazzzdutzg8uywsvFtSn9jhEo5Pa7xc1NA1Q9YrRJWvIIXAhhFpohkOTB5YdhzpGO9+8rsbWc/I0XinLi1xC/f/Ch1QiD+55vFLEyJkSrSs23JnK/z5Vd2N3tJ2u2mZttKgcxIos8pQ0+MJqr9uedF2AhZSMTzQCkmBqvq6ATsFukgaCLQ+Yd7FGUY3HZGE76iQntPN8NltfBqyTyOFh9SzSk9wLMteKUbUOW5cJyUohkt9gro94oe+9T0R9e3wkMv0GS5RZ14+4wot+I3CDohL0MEn9lWig9v7BgKNNX8mb9amnjv7f/Y6ijlIDWjGPO4sXp5xt0ftv4hN/fTd73oYVKeJmLLjsbYjaIUJAbU+S2XysNq76bnwLdvgtt3Dh0U5E1/vN3pWRj2q95MxLyUeJgpelvfMEckRtr3gI17gHXJeQNtgf/3ctH6Bzui3harjp/uHlq9u9jNm/qqkteoytX8u43+QITSfeq3ZLs1JQj0y4aRUwb1d9bLGnmSbLPWkS7cR8OYuUxfb4j7zBarfkfn3+j+15v4gaXpMzPSTgLSqxtiYg4Ib/M78pnNXYH1/3p/wf7GOfJ7n/Ve6lkCNf5Vdq/wTKFmwmF4ezJEQOcxvdMD4zMujZJiZYotT6XM4S/QMLbSkKrWGqA05mHoUSx4wwfkVs5WUCXw//o2PbdrJKpzzwsPm97V+9ykrPT0CioMZZipLb4V8R9UUHKLXh9tsE4vgEM+LoFSojWcbhJ+IcFXdPqO1VywToE8jA1flrhhPDYzmFUgNfv2pcrTOR8lMB4GQKIreakfyftwCMNzc69Q8k6n7ZGqNqLsrLaC7lFDkzgPBBoIL8ryhjhopw4J15FTrBf/e2KPcttI4MPLq5G8gWJfPH5Eg1306Of4yyDtWGurr/tYLBR7e8eTq2Y1lpC/NcWnWIh5uWqcVFXknV001JLWLPgJgCSoGtx6P1I9LzRytKEi450FQ2z3X2/ca3/TYv1zyRTgnxc3HkePJMnJ3+l96ob/Rd72wZNcOv7ss6xb/HpgBqaptnfPcKD2Id0gwj9pZ9qnKGmhj7C/YdsaofxmCvp3f2hPV1lBqo6yErQlARHCdpFmj3H87GHMsU9qp+wJBxgKafSkuiQ7ZrVjFv6SfWj7I0vV4EtXRDYCMC4c6wHss59kBKWM9kJf06cIZFVdNekUSufkeUjDzi3MeqOQiTlZuzNAnHtpVOhKYpltCj++bG5q7I8LRcXC37ec++yReuFWyv5iz4cu3H9CWZYQSwCLkwRpPkjQVPIYpRmmeA4h16BjGlxyQTpvh4plF7UFNmL5TIDxljY3j3mBTs2lrTgkpTAmFhDiXTOG4WDyZE4nFxUhTL+A2Af1DJ4W25H43YtrmpPGTNFf7zNUF98SrE+DiuVrOrOa0qlTVdH8jwFDKj+pkVU49Bu9zq3Y9bvZuaWJ65SVBXU/Dn5BD96J/XzyU6MQvSuN9qjPS/DZ6FaMjDHWipq5/+w/lCqcsccIBozn48q3zy2Wi70+/4oqgncua9VHWXGgJqd7hZAxLY/SPssUO7MUqsJDrDkBMC2zPXKUXsHPjovnHdt6IEa6of4m2Kbfwr4Z6O5F2+lt/c2Sngkx1nY++cZCL2gulWye8poqQ8GotnBeJUEQ15/Bf4QJS+MxmQPevI7i8tl09G2kuC+ZTS73zcI2NBBJrAPXYakxloTKDJmCJZWoXqaGeERHyY48Ij7zQYFv+/+Kx9USNy+SnwhFQ0cR6rT90CbQMnZcf69g8BfcCS5dgiUIMrgmoIeQ/zcnIvmUUHC/wvjaLBmiKKRjwCZySpspqRS/WabJqwcBXSe0yUbQoXPVIDg2lswe4FrT2eVtIk8Hbq05CXa37Y/XtLihxZhiuN9fSQU/8pvjSL2FH12XFbA96YA+QFyldZn2D4C1PhCET0fh3m6HAq1boowe+YyZ3k4fey2XAeQ+BmVUslSlrdF8NfKdjdXDnb34wGjkgpnyCc3sGqXEIaGHwJN4XCcZu4WHV+QJhfLc9Ob9bHAkYCQhIsPYWSACpryLRJmrTtYo/iebCfNhCM3c+p9gIlp5RtroTsixPszwYN4DNib2r0yZLS+kHam7rMfRpQ8tSuAoaEZAZRK9II6VQyIPMt/8ELwkqTdBEzbQQzFegg76rhOZ46QnduKkXubnjRgMPcigs1G6CXSnihcLuxXKnOHhu/1TFrrN2lIUgjEM7nEgLn2UOoCuXxEs8u/Ebuv83kUFT6EVrxnClwQQZ2BwCLl3tPc7tlUsE9YdN5/hG3NcHmiwJ6HKrVohsVVGcSOaBEWTtU5BC/eZNTqW8EAlKboF4Zq2Rlvg7xTAcB/9lB+TNTrLbjQtUzhk+GinVj1xf+Zquawq0y8NlIDAJQLA8nLmERsVC8prb52++QGWfjNSVg3a6mSDz49z4erDYUpK8ioRd3jHm/aRAN3kJG/2dXhjcpGeGxLJ5utsFyiCvCrB8oLHe5rQD/vAZXVjmsmiNhtmDDPw5VTpVgpykGXX7WR3ddv4iAGh1Ok9dg+FZ5WE81ues+axD3Dqkr5u/kUIpIUJY+LXt0PVzTVpjGlFD8JSc8DGW5Cauhwjg2cnFu46UyXFAeT8BZtvHd3/84JCnzxWCWHgRtAsChmAZMx0M6COLBLz8SO+R3J0m8klt3T6iVP5VV8wmhH278vR2u4egkOOh2p2o5qPmBAe9Yo+f2vWCgl/Ptc0HJ4SxVOZ7KoP/gfHhheQr+ba4DjL6OBCWUaKO0V/xtbSayK8ABeRHazXa8X0syhdRtzlbQwv/h1/jL4gC1vCkUUNrGNbcXaUbS7cIPHGft2szdiaQVC1b6N5s8CYPxWr0ccYruOnSuz3cBKr+yDRNynnysMVel16vJN4IIBppQ9M1YigcFZWfCaoFOgvOGC0AWUyGYY9Ucof/BL2A+6p9+CpuCJLnnGyGTCYzxG079aTPWkrmVOHxpYniOZxSLXO1y1Wx9BK5pj8bCounbahG0y473X40P/SLFG0QqEf0VpBDuIPop4dPTY0jt+qWcOB9MWUu3Hl7+mJJ0OQQo1QnBNDSPTt8qLzaStp8jb05U0zB9skL9qLI96MIoCSN8FccSeO1rveSqQ2XPx2xr2YGkaIXyWwxX2bWLn28PLIzrnCXunZww1LbHt7IgSwfZXvjsC3ZwGZGD6jJ4stM7SvU62w9uOmuba1JXLWnb8ePiu1CmXXhgJT5mrbrUaPx4GK1dR8O/YLE8X8ZdTMPRtEM/n5fQGn+CgJfj63JBOIWZ8QmmJTDYKXPrhEZT+1dFbiomjSgjXY1WUagiR3BVLXF8qCkn1B1oBMFqImmAH1Yys+3tCQeKuxBP8vFeerynH5j/e7SAm6DFdoOWZKj8NHXUZ0OacPBfondqSQiEQkagkxIj4EW4v9O+eXPBXy09gDTVoJPVJp6KnMriaJ4zjt+35tysMJrIohsw9M5s3E8d4sXHy3FLQQjufJNQsNCpSDkBCBcWVHLKNz6bqb5G1wf4mPTXol6z/OQ7xYIY5EZLETEaItSVWPsLSG9sZdKhL9+UGmk+maShCIuMlCnZtTEzYaKOzWj7OQtEPmMp//cx0HJLnumygevpAu1vVbZi3F4mbjKQXfWMIdQ6RZFb5VhIaz6QA2PGUysCCfBORUl57Rnsv747jU/6HzQ79FouwZLv21NBKkkBW/zYDImz5/YbTIM6wVAO87iHW2XHAwPKo3dzStIYgZLcIuB8JcLBQ+JE5chnT64u6Kuts9cL4MoJ6YkhsFrE7XgKLP7lhvkjmH7++X6m6LsjU3PDDbxWwPzpWYhbNh1Xtw2khTj//34XPQXLZTrgZuN0gIPZC+dMeYR9bhbZq9cr9+rrC6OmkRkCmIGsIgO0E4ABSoYNhgVVoVgwCLpL3DNJx2mvZHRz5WXcNQL0M3uX78YTqDLe2BtJoe4gtKLYDa3o28ub+S6A/PY7lwl1Ncj7OMhsrtF75kQoZgxbYStv3yBSf563RHHhJ8TQBdSHTF8alI3casVo+6fAFZKIaIwZJtonLpOXgL8wrQYQcefKYJDmoE63s408DetNhtnqaoVumLLvkzpYE/MV2LbUxmjW6tS0MYtjJoqzkPctoQ19ojRc9gEVSd0c3t90U0TuIHgt5SxUmG4glBQpgyDXJ/3EF3nMbWgdvENOw235eLPUkdssef7zgeHGZPJakcGL1G8abOyzV7DkQCtzG4w6VDOab8fKj5984b1AaOxAdcJN9Vv2dcqAA7AiQxDeu7TEhuxdlsMNv/K/EPG8mv3LYdzKtTMyJUEBsILmbD3UuxhKRbng5twYDfSlMmO6+q42G+x3z6a3mvEVc62Y3Mt/FGzkMqPFxwI818FSXAFHUyy3q7Ydo6w1A+9ayoGDtH55INR70UO57RMNN3A2tqBiaCt2Q/vod+bvu6YBHVa2kBRb8Txjo8yQpegd7gisvkRtBj2QpWB1/w+DHPY4DHgPYbjhicqVA5548h0LgeOPMGE+anaWVMpqsVviukZRJvHd5cPKT7PlX0bp6B3mEj2dSPrMdwDyBhc/AWDTU98I2CgXM0qTHwgd8JAsxiQ7fos5LUNcCkWNjAqseue3SncH2kLFPaYVvtruDUiePVSk0RoowN9uo7UAO/vuffADNIUXxi6PagBK2sYlvpxpLNqt4Br/agJtc96t8JQMpYor9eNaJHCpbCnru5Nn65fTKeaxmuhjefa2rxvL84a7tCTJPfrM4edN9kM9F0hCi+lH1oOPRVaStKYwi2xIbYrg2OXw2hVMgoIHeCQVb/z8U7HhPJ3xlNEs+qs4qgpU/HBlcNCC2WKg3eyHODpWg4vgDaYgslchfsC7d7g9fT+0T4IktZ4rCdw/k4LAbySS9BVARq/oniwaxp9l4cyYHFSoculNqEHXiRFwtHDNf5RCBJAau72i9o4o2ZkkqngTQNEpBaM/l7Xc7umK5aBtiBJcmytQjltXqJl4LZ4xJh/+u8pRBejd3NL4CQodaTb47OJcwZnpkhzrVnUxBMawbhsgeZNrTARglg+JdxCsH3BrYQlzhnBXApI6qTXaOSLHuuYiKia87mrEdjnBb1MKWEM7R/lk7p/RM9RBQxoEYOjjVfX+TzuR0TFFnj3v5l31pl8S664g/iRdYK9FYGOrX0lUc1AVDBDZuyC0oo6n7r9SeC++pTWZ7/b4MyhxU99WXUJTSrrf3Bl9BsIpXI1MwNkjh2YYH/fRwwt5mY/twsztx8Muoarlb2GqxiDdziIB+rcXjEA/WXyNcWFKOvIsmVLDZaUwBclSed5upwNZvYTCrq1FWRE0ETEV++5Uw4I0DZaFGiXOdzpD/5q4ISq+7FaAZdufupVLqeY+lwDsjevSn12o8kRzeuoOpQCC8B13XM4uzUG3SLRW08ZRPz6NtNsqg6hEHaF7COz2dAKoQi7VGqDUeOYIlUGlSuuf5F/TJoh0GqnFf12P+PVof/KCZbGLF4y4AjgBqgBrBmLdHaHZhz72j43YDoBCNNW0njikas77p4Y4WRLzd/YcCud1dc2CKlbuUCjrjZmJawHAt7NR8hk2loG5s/pK2LkrPjTVMLsDr05TieQN2VzalyiwO3zqUmjlIYWrjRu+R9c3xWfC9FrD8JjdNaM6boFcrJdP0G4XioWC9qFNUME1QVimimmURFd4Q3FZpTzCfyBOq27Gnx4uJmfwpFL5Pbm39jteyAQEj1o8gbCmGhF+a5dAMyUTNpO5gJRFe3Rhj0KH79gurzd7CPNMhqBqfWPNCj3NR7CtcCNnasWKCoV0SBsbf1VpVuFlH/LjnTPDiiK9T9H0csdH7JACcfaR7T/XhLLuV5Wsd27GnTPDlmWFL8xzObgyLrsjV9j9hOrVyCrAxuL1xV2b8VA/nw2olmc3UYVAgTpabl3PY/L/959SnVS09AQVln+0kyG0PrI3kA0G/Q5PxX4tKcQmGPZsvOACRVY7e4bOr8DroJb/Q6aOhd6kOtSld+eIWEB7Sq52CWmEgCuVjiSV/FgMJgjJuE2v9GIztJVq4ab7VidCjdicYvJkGBmWdxYYzKPvRd/YZRcX+Rm0KRLLHr71P3dIZU2NUYu7DS2DHA9/G6B0x3mhyGF4MnjGBycbAxEBaWshAGT+QISMbsgkte4Lxyp8VgBpDORnUmGq/77hGX03uoCOjF3mdYb/ghM/Hn8wQzXWvfG95gajdZHx2eKy/uGauPa8TjqM3gGK0fx2h+/TVv3XRv1UA01NQuL39txjdZhfJTTisRQ9NSQyQ1NUkoLNuiokdaEyY0jKRPcjoIY1oP1MugEEIuAFiByWoW7U84RZaIgnjlNF06RwXYhe/lEBMF7wWxRVKjpEN8956wv2iXSbtwsnzpD7RIba3aFN9ALddF6xW9x8kytqvESvOxVVcaDcEQ5TLorbarbU+BNlk1iNNwi+9wrJNuD8zSS+Ch/hcTGO3Vh3UscBGSNFJzHftcWMMl2BQUoBGTVEsJo7iOL6SHkjt6Xo03Zsxi7vp0NpcN1WUuxaqdIz/HutAZ7tjV7tMQzONxDNF8hQ2MfMCW6TDmJG7mGh0rlB76cqd0TI1zOOmAgjsdVDomvBMT3POWSQ+DPhBDpcWGZ5bzJSTCfHlWUpuwpmU5fRtaIxvRfWHV0+vE0k6LBpkzT/bhI8KczwRmVraRlafQlAsqmPUNlIH+AQZNErUlIpuwLNoVU3FS5rUhuawWCGT296Yi8Ki8Rpb7NLQqa9RZfsWivfELMxcAoaaRSec9vpOGoxbtgIVGH+rNKq56BntdKffGMeryVYYL972UqxqjBFdWwmYbmcLNT1pClOK3BaVqYBbpyq1AYij6bdblWkmcfscKI6pAJp/f2yQN8aJIEdWmgStp54uvJte+9ygD2T+tEp4wbv8CHXWtEaTUzUdyThVh7G5yKM1ZBQPlNiuz83UsRyO6JnX3kAqdMSfK1rgI5aXW3nBGkXtJzuRsHUvolyrxJeEMJu1QQLYPhUF/Wxwq/eYNvEQgZVj/7kKaE/A1YypNTFVxoJ0TG+q3behi0Hv8v3zDfArxW2oiQcpqGky2FUF5cuaB++jFaLua/A8fULu5BqFb+evFlhM+yngWqYNVCMHjBgZh984d1rt4Mbfr/NcDdBxtwZx4JVp5Ap/hE1zA6eDVqCRRFXJ5gqZuBB++g7U8WeFsbNO2zAeCxsu+gD6khqDqUql8onIwcQcY2S5JAUu9UFVtRuhZicl/T+RgDz9pK5Xo5PfvvpeVhlCW9QoZfVyzxKg2pfMnezSS7hMIPbcLQfGwMtypnZPGLy+NWtoVbVchbj3tUMgCUJYxiKUAFA9r8bO0iHBtLtiGLRdtfZNHEANCLCyMsi5F2vjAAoWBZayzaB4g9b7j0Ztw6wFdNMd2ZqXns73Dnpnp552kesCURccAXiebPSD6MEcWBkUhnIe19uXLXtf4rf2M0kvLO8BsI4RIYeengq+qh77sQDOSjJFUoKqscgERLAYnaqKw5LDz3XyQEsKOXnS8ghAL6Lw+RxR4L7JFywzrAdD/jDPAigOt6cv0jyGmagjjBH5PdL7bQkm9StAT8rhgA8Ckm3eRhhBkH2KR0qZiaE7Tkq5rhYeYi+4Mm3HcBSqI92gAxDdvv19oOmKALYq8nlMoj/IGyilmZeyBNvaic8+LkOUGy7KF+IrCGLEkjIB9NZHBICIwuDh0iAyyE2G6KPYAxdhxgCIZGH1r/pAjDuZzYkNgErejT1s/7yjVllQzsUXe07oP2qs/1TunZwTLX4xACBOAKSu90TSozT0cFv/pNTZ0Mw9+VzKSvhPnkbpnOfB2RIMNWbOU/5PoRxaQOwAlB3ZV1A43C/2CnRyKtUfBntLMgHdq/LWlq59tnbcmzBy98zLyCH+LmaxjEbqV3Y/z4GmOiUS6fLJ53z93Rez77AzXiBJcrBk4VB/Ej9Dj6uksSW073W0dHFJIIZPYoE1IhwwAEBF3GvsdBwPdRBPtVLp680hL3SUmG9eXDl6+Avgdh72Xd4vyiiMJZOlXTUDKnwz2XXOwMsah5xysu0d7tNsk/kjuase8Ksx+iia3SJ8unZ5o5brqWEHsp7Y4pgxJ/nYf8SzWnYKzYBo6+SkwLC7IdNsAUgABWOW19jVqJyvKScgOef6Z/MT8SAp10Rdni8I+FUFw+ww7geAwfpNi4QMQkCJ5Zhe5Uw84uTRs7lBvBwGQ/uzOo/wSpVrYkmZqoUOYt/8KjXCSEMXVHG+FGl80ifl+NXMsDqbBT5l/DmUGlcRKx2zf+mKx+OyGR5W4a0y5s3YcSWTIwPkMGW+qFiCNgRr15MYlzJU2/SMIUnBuVPwycLYGdRqA3Tn94jPATkH7oJXWTMXPfkJAiWjKZFMQ8V1CWKsKVDLPyD3mxdRHPFiCWJqWAYYo1wdoLEk/7xySwj+INJbsm4/acjKyTYw6VG7BQtDjv3zrKmYNesHy9SGj86++z6hB83GZBasDrWJE7GkRysiNK7eKhBLko3eKi/s4ro5KpuvnOcfGMy/7+GVyk9phvjPYGI7iFGongXQObgR2fIlGaT5ouop96ADP5dIQx21ZmzN6f7ShyF3/KgSfIAG9tW4Nl27VHVtO7F1KYO9I6S27uBi6cf6hG5Ge78WW1SacA89FcK+cdk6Cf2zGBNiWCRK7l6jZfpWDcKoubYFw+C4m45h05imkjVogZBaNg6Z3eBn4Aol8BOsixgwuE8VbtW9xHaPrrmm3B99lTGp4djM4/vEJq3u2E0RxiCc88hXEiy3/9tHLwyFFlhIEyFS15RvOkmmA2W4J32vwJAV+m7zFrrgZ9HXqWHdrLg136IU08hkKr/q88P66tZw0WC/jjPLyPg6508cAnjHtp973KBjaU3WRcW7w/ocu9p/hxM0g6m+E6FvNfGFg4ry0acrDZeBndEIUsFqrmRpzgzxpO5vmrC9cvjKDnQq87n3W7nS8sKwVTNrg+wxxdGZvs7voBW42UxII7iLTuteW3vjNtGI6htg1CoFKu26y+qK+77xtkKb0i/ZNXvY0xvDzOgq2AT/7HrM7hd9Oxg5e+gcX4XAAVEC4upu/6Ir7/8Z+A23cyooZI/U5dAj0B/FlUsvYfqO5QRFES0K0RhZlj4v/6ufnAR7joVurRSFKgtpxJ1S4nxiW6Wr/NgfRbEzUADTokNlKlehYucmS6/2YxbOe9fUe+EpsF17FWI4CaRI5CRgNBavbxEm/0zSRS7tQMoP2Gj6D04vYPhKDz53mAb2/BCpoAEFOTUbkIAAAAAAAAAAAogEAJAEAggAAAFZQOCDMIAAAMJsAnQEqowElAT6RRp1KpaOioiUUajCwEglnbvwYU5ZXCYKJpv+7X/e6YfgC90Zhdjr1G7g3+r9DdpxFOry+POv4v/keGvnlny3c7Tey5/P9+/x/1Ebm/afbL/xfQF9nvuPnY/neaH8Hz8f+DxZPvP/h9gz9C+sV/w+U79r9RX+x/mR2vfRN/aolslGY3Ds5J74P9g8d3OxR1UxwFPIJmHrxxzfiJhNw7r9Ab4Q3Kh/Za6JRnvJNhcBb0atNtyxZwEh2XikLi6X0FihT2phZSSDPx45xmrSl9H6PauzbVT2Bvj9chGigTLnC6M2Q2x8MMT8ZBcHyNut0+fkLX2Wrk1WUcMw7lxMirbWp9KLtFgPWdZNBhLbQRZWMQEm9sNcH2QuBdMX++jpCZKbBZvmffy8cRa9IK67c00vWeN0dGsFP/biv2g+VWReWoSNC5mYD/KyRLyQncuCRAzX+SddOYdOVYGCI9rKQdKhqPJ9fY/vRKNBOFEptYbe8WsepM7WHQPWrGBJUAzIFuW25PB/8sU/O4Oa3IzlRWKOIoS7L11AIdSyvL9yZMyn5iEil72Xe47lWKJ5wbE7Wv7gBLcvx6TI4ompRxpvXqmS3P28ZlPUFDc94YMvU3ZFkER8rZftmwOJjh/kFPgf1zfuyCj75soEPc/ScJdEAJYxc2w9lyXb8ihecShAQdnEeYQRdACIyUfpTYv4c4Y1/NanyJ+72V8xKMZIng4Tu7GRsDvb/m6oiQ8GRs+4OlLV7oZ/qJPkN9z8FWuJ8x4TQ4YXZsP2hnnQ5PZ6BzwyZpQ6TDmNfP3asLehsCy3gSEmvKJjqk9TrHHCuBIIrqWz7CaNGwMEvZL065G9ceYc0S+2IMDmzc0eQZcTJ3eb9MSmHkGrfsu9Qh7bkoQEHlS8fm+zoK+BZncmmJUr6OxRhxTH1Bn+BRA1Dr1oY8XD4DkGiaboytIryoOxemh5uwofqc0gIYpfMTPOjxExuwtHwxiDZrEbtJndxaBw0HyE+D7posOoyEOPRj4pyFv/0/D044iuzUHDJ3MKITo7j9DOM03wpncpPaTwwNQRYOTWG7Uy33OmACmoC0JJmGx1QIRArXtMic2pM4u///vdGz/JJbtTw59wCGPobl0TnZ3LwTVo2dyfQJ3swoc/H8lXGto1NPp2R1e31QsJgNKQlcnM51XIn9Edsky/1T2nnN2tiyKX4jH3HZeIYjs/yVwuaKpKt4SWS/slO073QlakMXg107h43OKqvGP5EmfoViCazOyxdM4RVg0Qtc5TvC4MS8tv/2VueGTzvZd8KacJPdPFbuTif++UzKI0fJYoeYvradEZZ6rKedBV7oj3s2n4QoBaUXs0kQ+0YhAghj6IPqrvzuhS4MUdF3oRcUXmaKXlWb8q+Hl5pmCI0TUry99RIZn3aMQgIZOw6AxADza58YP3cqqWBGQu1fcvEZEx3LxGPohARSTLNmUqwncvMnDJ3LxGPohAQpy09VZ2XfEMdM2O0/aykTh5WroIgL0ReL/hk/4GFEFkv+4UcAMm7IuozQ/vuNWJWL3a9MxnPEyJKOuGnOths2saCR2H2wCA3EKv8i+fHJ3eWaKJwpiCayGJiEpk5BTWXrkOkPiFtfBlPeTMS6gF7eIMYX4nTj/T9+HLkkrQUcbkLoGzHrAAA/v1bt/szH3Ac0wFwdKWt0P4q+KBeDksjgCM6ZaN2GhsRNC/rulCkB3V3N14zH4WFBgkw0zBdt8Y/jkk1DEKsklq365VQPy82aHHkz6ypljsaECSUHw4U33zFdCOOI/8hJEBCG90pmY2jtbb9y5gI4jjIDFMDKjJaiArRvbcaZJSmYmoqCrQ5d6X51+oCM8EePyzBtTNY2lBZiMLhv7TsItLOlYYUKkQ6VMjp17WfDWGRz2iLwujdHpQLzutSAxNDgjaoe5uH5GwI1tHSH7+1ozZ6Fu+FyZBOCn7Gylf3FRC0FgI8PDMWVWzLdWH0CytfC97A/xTIdyHA/I5x8OiSySJbEGuZuD1Y2XrSpJgKOSKvAeyNOAxfYqBe6a7X3Y4ADbiPwLdHtsjaIs+OcfmqLWjTFXE4fqIPdzT8Kb5DinDqf3crdoGG94cZMeE38caFS9YCtp+I1h2I3Lr8MNMhHUSaZItX/4aY7CjwhKwgBWSyWiHROzM0ZRt1Y/xzOhi4P1a2o8q9BIuER5fnlbEg7eI0sNtMpaph8N8RMfIQZn3ZX37lrINB52nQ72ZfA7rB2Iu69iB8C/hEuroV5weuzCPL0FH1SCtf1Wr7kgmgbN+V0wD+4FtrsgOWjYyKIWux8uBsN6/d0Oa/f56ad82eU496nvnxgK/ILulgc5sVnKoGHSSNCb14t3EnB3s37xotJFp2kOM6MgrbYMU6CZ6zVub7/Vwodn0OSnn9t9hyUbmKjXxWgNoqGxLDF/3s7j600DymtAhWlU1sG4+flv+H/aeafc71MnAt+op5s+PVsNovPjG8JAHmyV78ukzJrO8DKNgITaz9wp4DKXNaMtbAKPw8VsT1vUwjTKhmKhWqYHC/8bKOfjlCtrP8GaPESGlze83YuTwC61qF1rE7n0+4b06zdah0pKdaaM7aDdlRSAUdXvpGA8ZDzU34DMblkAkqVGsTpn2Qa00qk7xkSKpEl8lkCaVd944OGmCSXD2ID8VIRHv/gt+Dqnqopp3vIy9CS9yBIejC3K+u5Z3Tl+ofIQ1fSATccKg5ZCG/l+a+ys6zTCNPP2N4azIkY1T3DAIoh7SG4iHRe2fXkInm1md56/SAjjYyvpWkPEIxAE7UHL9mgiczemYCRZkpbBkwqYt+NxWx7dYoRzWX3RVCJ0t7oy7YOo3geBZPzcTLPrgfiV7bHX7ihV0zv6ltpWeLYVmD5gb6OvOde5QtM0KQhPUemcy1qCM/c8oqUBOIH9nF7zwmUbQc49cwVtRLOTBbTMIEXuga551Vd0pkA0u4OXBHx5UMm/k6/GfYIp1Nz/N2SfOgFRnHuTvTWP9rV+jqytWSNTDeTBanFnYhaXz1PJG2R4NkY3UwB/KgiNNU6ekXrV40mKq1wmVDbjHJ7CCu6vu4xl5Bndnypb8M54Q/4+Df/8M3tWr6bG3N5s4Fx3aHTliyCnmWPKvIwlSasDm3JEpAUjPmCkvFwvqDbWQhc+WIXYMhMTcQHcLarOVP2ACdBbwbdXE+klkuPtupCQCuWpIjg8cvPwVeshnE+e+yyxRhcgyq2U3G20mDMtNaLGwKkUDayD8zpe/vPzPifzDpDN4D4TT7DN8Qj1/QEhm29lwVthsk5cPYJWLAuL5UP7btHPjcBiifmuGLYU78sktmXmD/aUw7fhFYyzxO8jwcpVWpoc7SmBlnPaws61F/xV3An/NQZin/4kkzAAjd707JMa+HliG7iEUEXoqwt4cdZw7fweGsDYUFRqJB8OTkVK7kcP/jIfNPiGq7sv8kydKgToaVuq6B3OjHj3+z/MyVbmgCOfCkUFaTcZRaKbjmnz5DgIGvf2VC7a8fJNEBAAhx4KXGVAhC/l0MvDNH/jW3QiE5dAj/TS8ZoMSqJa8WJD0VqyrmJYmTDgbVMkdZ2MAYCmmmQqDPNdX4Rk40EbTDBGC6eUHs5gjrtiDoXs65UJYOjoIcTQghRsiK+HTuFk3oYbLR1GLPnwG0jx7xmL2AD+sFyLwiBDxcIgGjFYOtzEXpkiq9dsI9EIxBRbQQQsRyCffiH/E+Wftw1h3kThG6QiZzDaRTG1B/M65MGZNGheb9fv34SRQNRAK4UJUW+UAjtdzJVPRqBagfmOCEnIgyussAyr82lxCKFMhWts+opG7KQnbPIVpeqIR/geNTCDd7hfRPoYQJ0AB5JxDch3BwrmsyGBh40O11GTbwcDv6zAVdw0o2EvakfbCQmOKk+LyqVla7VBthJPeag7q11gArGCFR4xglnnZwOLAgvVWaDrNw6mUsRlagbIZZj7iXjmHRRfW+uOr1q4TT6ymDtxljGcs8JhPjY2BGoTyQmSF8+LGsnlSHGToBe4LctwaF+KAmsLmAfVUyAFCNvwJOeysRvqA2HerzrDH4R/3+SRmzbYhPz0aEF3n6iDnnr6xeLQ9vO9cb8xcQGSY87KI6xvcGeF3/iYrCjFshEPFwemgjRDoYyuObOcy9Z8ukWCi4Y0MARflKQh4Swc0MVvHW4MGlT0HctionxoM7eqFgCz6EwbxkOtKaP1LkuqED2cOKNsYFbQkxpv+coXhX3b97fu80BCiGmz+0uqQVWUnzZTADh88uxnYUHUdwOj/zJdAzrpo1GSe69B6c50+uYWsCJNcSOvrhnhSzjwJoQ0aHhAe4vrfW/CbMy3wvCLbUmVIwNyRIy5yvHB1eTRgkyNipzZADg1x3v8cpeYKHLPktR24xdrzlcHu0ZikDZHIC4w+IkGOqQyrJOe70DSllG5+APCTKHAps1+a1I71UPhXu6ccRJ4EnZzejwzRkI4GHTtwyoBx2IA8bIYtS0jIKm8p1IhN68vWZcxexL8vsFohHjTpqGgreb36JBaaKGY7WcBfym+maDbLDDKlvsZvzQ8QSc3pDl5zPRCyDSkyDWaQnYxfLTFisIxxp7kpQTFAgkHgchGd/9qRlXR0uEHmhAsvfnV9ZHEMifR6MsIsM+DUoyMxsBOQzemt3KWqVzUnCHnZju4krozYFURH32npVyLEqankzzRtDFk4K3Nn960IMOQuHNCHvVJo3pFHulDJf9Jskxax9pHWhYf9CHAWjYo1hfjF+TbwdUpvZCAg6aj+ST2OQu5PzO5bYx3YvKIjqD/5cPuqfcnPXPDNjpgh9WwCSU/SEXF2rxm8X30mudbokfM9qq5dpYlaiz10sUjSL0Jpz0KY6jvtY0XaFvGk9oaIG62qESa+Xodm/A8JRu3iIjKWqK7NRPwqwus/TkWI1N1bAP4Q6Fcn6VQ+m37OpyHut1LEfeTPSTLUb4tm6lny48TRotaXoKWOW4dDbiBo7xlW3Tc4/EeOSPDjRWO+9aXc3XSgynP5x839NeFnOXY5kWfpNzM+j2NGAJrowSjrIg/dsf2TTNVNvXN+luFt9YyhCdIysFoM+jCsGkyHh5KMLPsCc9mH30NlHdYSAh23vKK9VUZXQGruSsxxeriEevGpJOktZrdPUw6E4Y9R9KAlikTqP5vC2/spJBMvkHSuh5zzAYXDsth6dRIHHZqLSMp8yptQX3diUYkd9hv778bS8DWiqzyj9t+MsZCCOL36pbmr++ZVMshT0MTafMg2pMBYtbpuYrsqU87FPpuUwJHM+zxYvJMZokp/S5794eDh37/xB2IQPtfs6ZjEEYHVxitT5s7QHTtB6W4Y5mlimUpOfQ7palbvbATJexmBBYL6gSF+7R0rbUXRgLXLQX+tqxkRxMaRJX5hgYKqLlcyD92SZ0O5/N1fdTYDcXzjNp5w/V9MtaMs9rjh38y6WOvOAy1i4n7J2B9Tv4DctsZFTc4dmJ83jJM0ZDUkf6l2yiBJeDo2TCP9dM+7KuOXGOsD/LEatH73ANYRPMO3RdHwQvBv6lYhi4mOdQRWUOerftxanMkHo+vXc8T/O5OMcVxyPpGI7Fcv9HybsZSFUntcbAu1kg0XhRay9Q6xX/6a4wQ1eN3o4PSBNLDmDonl9w8hW5X03GKznRKzwp/XR3ke6Muz05f8DY8LeTwQ9qU1p7B2Mx1nFkYNTCZBKCcyFbSy/pylUHvSeo4igGZqRR+LIJL76UhUgdL4Ubyeq/XQyber2YJKikL+1y2VDwTPpzP5ln/wPHZVvOyesgY5x/hpLdDZdh+KUKZ/FGinvTPA5mM6/QRz5soHi6IdH0k3mkVlA0tP3gtm7V15CtxH0ibSrzbvKa05uX1yzi9KkVm8BrMDljYn0qSCu2XODsl6VzT/7evbl0WVEWkBn3dnoHjhVVeCR14HPqSTXzqQuHKxbzgfjEVNqFXlwewD+BV7gsQK0+HySBFeuugfKbZk3MO3eFf96ycneqORLUlpAUGng14ywQxBDm9fTHi+rMq5n++yWCLAuEA0rudZkrvsssDitrcy5omxxEjtRoniCG7nxnfnl2WOmaAlAh8H7xWHEwFTSvGhtlhAYxN+9k+gGeg48TQDFmk0werJtGFQeZ881OCd++BrsZH/pGMo7x4lv6fpRiPAkDNP+8uVErYYHkjS/LMplsnJoPkGXVkyWWMlr8mR4uOdYk8c8/08lwfeU4kAFZWiU8irkDqs88tGQP4qrMoTbdT4P0W5N/fXq+iq7rZDl9c50AW4xj5LJf+tN8V7OmIQL90kQ7pwaU0xWNeXLlN4jrZ9JVT8Egaln+nyp6TSRBmu6e6tcMXtmN/PK58ualmm0Pjn1Y1W3T3hkzcfvTzxQ8FCXZ8pSvsQI3pUK0vSXxxEUc7V4bdVI6dGm4so3XBw81H4bZEiTtuCdlK9638ArpkGc4ymvEldBoBFoZ9/jR8DNcslLfe8yA4xNBxt3fJxsuVuoc5EwvF9csS30JY4xaxo3r1wBo6X2NRYPPZnDnzbC+DLoQvl/WAjfgYvYE4A7Lzt7C0bLk9QmQzsG1Czk8K8CdhkfEStUwf1ZDeeh7eq9JXH/H7VUhauFM9v2csbsSHSyOEQDyTZ6Vysk9wrADOsvKm2bD59JoXKGcJHDc5VY06V2vBeN61Cl9KxHUTEEFoc4q8mOq7Txp648XeNoURPR/TXZDCH2vzG8OZSU8O/FNujotBmXPFFerFeN9JwZzilTW85P7soHOXy3BuQyIYRRPfLgZcwCMMGEzOOjKN59GKvcv4V4x3NCSRNF9TA2FBv3g5/916UZuBpshMS2cbycsuWyOBi/4EUzOCav5HsKVGOgsp0/LgrLuVFp3KBYuftv3jR2tu0x81Fcgb6NFl9VPSKN/RCHhUzONVYyXAIqPk6OdQpg+pB0eUPIDJ2NcTbhXuVjeurPupb0twlW5E+zdGTK4WxD9F/oGZJvBawvh4mzVdkiH5E7Xr/GTHIlHXOYJvVNhtbLQWyEH7dt7Nh5gkxwshShNTY9pGNhc62KKa5nuRNs8xh9Ws5SOT6ux7wT4POnKj0N4JbTM5U5Wyr+5x22A7F4YBWP+uthgZJpOP5Z034t8WdKpFHElhbnV9f9nCTaEupxZ9nfyAZCYhg/n3YBvGgQE32aCzw7F/ATs+MSB+rqh1yIXSeWjj1Zqe0YydG7rzGjg6bK7pEw6G5mMaSrtDV+61iCcQwjxHlU+ol14Mm5zrwWvY9arpaRQRgdZRzzehUP9QVJZKkdAwQzPXxcWen72eEDce8iqhudlL1Wt9TOaf9nSs42sPpOTkKILm2KfnOkwMUAwYo+fOQYYG91FLFkaXWxs0pjRAjebGayrakmlVflfaChVinV3//yqXVdbE9nVs0USfEcjbz5rL7H279jJiOT/yUMwSrIhP/rO6nW61Af6L+zNCwn/khiQPWEprYSofseNTKqSK8GaiGmDm46kILjf4ZKPIsN3vmrLXgM24JQojdHpjcrs/GrpFHywciH/2EExfXfJ8372T+WV/i0ADikGsaXOPqd5Y5fDfQPGhwmzFvfQSwB3Y/2YrdjJ4CVtox0WOt2an0DoZZwxPF69DQwGgM+vS3Z0gPd+ldNJVrLUAd9mvgiflIbo4Vbb0J5rWGKLFRAW+2jYai5Kct9t38zL61KQ7FVlRsjyMntQDcK87n++2MC/294CeestrPCyQjBG3QNiTLXIwhoDRybsSPw1sjp5Fbmhk0xbiqaOmJ1lss+Qt7NKTVMkDS20d2OeAQ+itO3OLw1KMrlA11x55jFrRxVV6A9mFpSSaqvJn2YdSFsvahYRyIFa8gS5+dcdUD3tSf4Jq4rLU3j7fLjwzY15BlInHFOa49MkrvQIL9lFY9nMjVQjGXnflQlPbj3HMCsBsKtYcZcbpnkbLcNrvP/qvUSjQVptQckz0CGY6PUE9C12TLA65ckssEhEFmyJMzNj7mM7i9XeeT/sQlchQT+TGdOV89/xcfPyvM/nl8i6mmjK/z0vgdXdGMZp4rWQ3N076K8QJ3r2WYcCKFXMx5kTBphSYoCiBZPlOr0N6NK5RkwKcF8AFW9uzQZA8fFtfQwYIY7DE9Yff43CXMGTih4Mx471e9GCDYQ5qsX3d2A/TMGqh6j9ilchpyK0YgXS1fWp3/GZKhA//7RaaLNYYv+QewH/Ivkz+eWb5VaMvY4kWgdKSViIffVLtcbfq4nMWBL7nSCdGkZTZ+ryi0qWVrNbpmtcEv2py6hsJYM5586SqcINdxkxvDsYcGZo5NGw5ePF4elX5Rdp69oiynouhYu96QFNonzaNnMiE8RsQmc4OpMjldMrdhqRgPYqmpCsz1nXjxwx4KRz9Zif5iu8aHIy6c2m6tFqj0ZqRSwjNN4Y/wNjvkLMhXd2MXNK3FKIC5F6hC5P9KJ+uXuAVb4QU2xMVeFyi33bEZeaVLszFR+ICqt7nd6Bg8bVwEmeD6lkYpKl7PU4c3YgMYeFYKxSlwgk/7wl7lXDpNdXYNr8PMcVyXeaQK6xE9z6VGvKOHnaukXamn4oc9Ydb10I4BIJNwHXjfDUSbho+HcKM/c3ZB7BF44JjMlcRpLVpd+ITEKc2v7OXYcPgEUc1OHY6R9jVintoSIwOOYEk/6i8U4GRlxB1jPlGIGqXPSm2b5yi8ziXH2Rr2Pwgvg9+VVyIIe7654OfNWET7VN5jP2ILaGMmZi6Wl2lyZRTjYcnXuRP8SK15apfCCDHFabvxIApgYsMqYAHsfw6CWuUz/FgTiGXOObnJmAfRHHx28luqeeNHx3xRTtKAsnr5KfyaBmAGqz2i7WPW0dp+ZYaKqwdmLX/VMB8zGhixGAUMNTxKjG3myoiVpSS2ERh4PJSF5SMgX3lcA5ZaUB3tf5sizZyY4E8/6dGZU+htj87RUL5Vl+iC5TFhVjOg7QAwXK9g02JP5VQtlQc7i576FkEp2kNjLGztGW7hTO6ITHxv9d2wfFUCWztBuHkrPH48NTmyT48+Y2DU+V/Uvqn9+fLI9gfpLja6zjsGzN2MeF1qit1+M5kq+89bbPfEeCV3QTBATz21EXtU3XJkZOCIxnbH9BMtpCkBjUdF7zcGUrnWLmbtr7NYLQFacIYtXqkA7WeavicEWOK9Bmv9QV98PFfYjnnPHaP9yY3gzwJgGq1u11lKD3AsHhALcuv2LOq6170hWkxT1YPwEXW2oAkdAbrv3UkW05cW0hOgxU/avsInqAyt03O0W8EyAxbZDYFxpjuoQu8ctsYcyCoB3vCD1glIKn8B5otSA3gpIVBrv7g4XiACUly59d+FtcHIZ9EaxElgNORYDQlj9J/se2+c/x1KjRvtbkBbDYod+UdzxWPM+UXVbLJRYobkwOZ5f3PIipHmdltiRCFUy9nV5qhrpP1FVBLmEa/OY/aHOyztKwlCL2zicr9CJoE6d10QjDm8BlhoRuruL3fFyIjRxoXzKPJF1FrcVsuZoXQUStKH/AdJnW5RJtk6gjQLMq12pb60AVaSdHrqN4V2lXVBap0VBpFBkSHfP5vDWxqUQJJfs4w+1k3Z7yGIUlyXUSN9ZZtD2Zs6K69vtutiRuFVrXnCxMwIyvyoaAozx3z1mWZEIBQDJIT3R83Co5YAs4N53qEFoburF/J6qJRCCTUMXpclvzmQbZL6bGX+oJIMjMiM2mLW2M9Ml/nl2TjR1/7MAcmjMgM1pxT9qPwR6UQYHZ0sPR/k0csLzAwdnh9rVnloP3IDDCGAlA1th0HgLfEEEolEoN56QH8107jjEN3DWrx38Zex+L0feRVOkAQtUAjdTOBxQpyNmOh6AHP3lyUen8p+kZdalnoEnINFVaELR57UtB0xnKJGv67C0Y8V6CgZfUytwtCrTCrCHQgw0abOQjShbwY4oXgXM5QLiKjTbInoB02EJLL5BsCc/4AKZ8QIvJIFbOKWivLp6x5ZR+TPs6rMYNxYxnH1LjvCg6JVDxC7IpkzVJuRCdGyHmCbytKeqT/bzOlykUlLfo1JezAVAEM4FNboewJE/wwCyAAvqjKSJ+sbsPZR77zYvOJO3xDFlS03RAl1CSRXc4VPjbH5f8YxQuJrycAJL+Pl1n5DaU65cq4xoYAVYyUtWPXylbgK4Ntu724FBD5nc92bW0XqWB52Km02L1gKyTH5zzJgurVq4pqGJMtG0oLlryakl6DiGQ2dBYOR6JFJaHko1dEQQ8GJVsU7DJSoDtoDUuf265O6rlzdLgLvHmfoH8/BwFz9gqkwl2iL9EvQYBNSkuTLtN0wPug+xZZV6BhJpiHKQJv9VhM52Nw7vihMPW4sg/9djnOAMXPDcLcH5EjadqNtAIk0OOgF3VLtz7M8cAnfzBSfkdo1WQLJLex4WEYuEX8MW5timkidRrsOpF+zUhpsfKN0a4aPPZu0VE5yQME6en7hY2mqQByNXe8qNaxH7uywA6BZ0I67RjWQYdtzUucTagXp7F3lw4Nmfqk9tMWEEfEBfkHe4CaVzvkJDrZcI3PxAInaHLvHerPwZJ9moAZT7Ppk6KezS0yxKI88/MwPLztrPsrSLUrtfEcwuKqgn26VLY1LV4wdJZwo6jmOvCjTECgEvDNXnosv8O9TSdUB3BhWnwQUZ5PiQeuJplIZEbwIUMzMt1YmMe5riFNu5SmdflfXxmIli9Rozq7r1C4vQJPLMzJLkGhHsiXIXgrMvlqHMPJ5GPU/go0Kdr8kNgv3CM92rtv3kkf8asqqv2CcZqXfQUvYDLlYvxziQUSjTFcAMPaxzJ13re5kXCNSrCZQcmGHsWxQVMg9gm3HX2DYKDeAyhRlrpuZ5rmY3OughIUE0Q6Z3KgvbHEsLwLhR+JHRuiAGDZLNu8fcn4DmQEy+G6J2f4zvayRA2KrhIyEY+lp4teqJlknh7Po9EMxNQICPmZg2apklIsEAbdnHnT+hGJ6banvcjQqUa8rtNYFEItwKBQjncDlpHuSn7KVonxBT30tH0HjIvsjDFF1DMcFle69n61e69n5LQf3BqUwsejnLahvtE9aLncZylP0M4wD47kLrFl7ePl+xeYzDFGb96t6kXf/9o/zgI9yyUYJCC9vG9nGtRWixPCuRxLLq4awfAleyeAR7F+yuSY2lJ2y5qroWaFnArfBuIqGRpN7chczpZEVoAdzua3+VI7YA/ija6E7qx+mIiqTBR6E7B2AAAABBTk1G+iAAAAAAAAAAAKIBACQBAIIAAABWUDgg4iAAAFCeAJ0BKqMBJQE+kUSdSyWjoqelE2ow8BIJZ27haaZAGpmz2jv5vx/WGR3FmP2OvUNzZfVlzvmm6+gB002QhdmPR786/kP+V4a+fqfLdztP7LP81+z3jj8Vf9/1C3c/kD+R6AvtJ9085387zM/gP9r0ef9fxHvvf/W9g78+esT/x+Uv9t9RPpcejl+1RLZKMxuHZPjauFetOs9cYfv9FySoMPFEt37G0bsCuu6M3qLZyX5Ai+jYp3Lk3mSH+n75pAeDZGgJFNvHEjGaI7FPn5sVCfv3uuxJcZOVBKX1KDkR61uwG+UnNjWPP1AW2Xed8L4q6gVQz9LKJqIn8Lu0ChsO7NkkzEuvsmA+ZUfes20KQ/afzwxI/m/xpks3QGeWtjxx2w65WE9mACecrhDfRoiyGbEXQzQpO952R68qHlqGF+pKx/a3ZCuglC//lkbmU15Wv1sF1xYdBnLuw05Zvdrhr7wgC5hg67Mz4demsuug7hFcZxsTsXb4tiyXpU5FdAAxOXUgsa+3xXxYQCNq0Tk4fKlflR7MgOiMMoYHT31xh4WuoQ0bXhskYfy+YckkdhijkjwlugAQGNlBKlfGxTs8MnY4n8KrdkKX6gq6Dm3pY0nGxjjcphB5+dMD+azDX1Md2jyOXaV7LgwcHSumXLz70FMoT9jLNm8gqDqelJVyreddP6ENxC7cQDpB5XuO5e5C4PhUQSXL5125zjbXr0XlGJ44ZcJ6RrVqtK6mAtZNJCVDgF8G3C/R4gykaVFGcC99zgEW9Pdgiqbbw8WF/4gGC3M26JRT53MVtDcvrjv6Vct0Kxq1wWza0HCV7lAIGXCGTsdgunHtf0x7nHnqSJ5MdakHZ/9PwHbzJqbUQQEm54PGOg7ruHJ4/94o+9cB0Xz+mv3aOYrGJhJF2f7NAkyl47810zYYpObfTveGdR9EH1qdPuQnjydS+1dxHbZVBWynjDPhLiFt+vbVqBufNm/Itq9BS3t42cBEXYdMO5Ote6eqxZc51uV3wpn+XdAnEN+chVi6s5PJ3b5v5/rY1879aj9csGIl6Isr0yBfOMnlcI1rvmZZWjjfCnrYiJkIFqeCxkrsvEOSSYAcRR8VKl+A15DWxyRSdpyZ90gICaWIJ1AqEGIUekiTAffyDLg/mIuEuwjaY+EX/9oxCA7c7O5eCatt8U9z57CF0VlBaM/i77YO6KrgPW1JZCBdrIVYevNktiuW6wCzzEs5l814InzHX+hO3NSzDuXmThk7BU5QfQ7UE48+DpSG3drg4n8u6OuaG4KJHEGFzdFU9wnjES4mXecWanoCSVV9IUSnzw0QX/eLzTRTEkTDurHx3iML5QOSCgz3aZfVFJvRP9FbP6yOfnq+4FkUCR/x6Y87tXRp59kAbNjHc7d7l4jImO5eIwpoNQJ9oC+NJy0tneFM7MO39On0pqWA0Lng9lStJe9L8Rj7jsvEY+iGEfn/wg7PmzkQvS9KNzj2lC7V9y8RkTHcvEY+iEBDJ3V9y8RkTHcvEY+iEBDJ3V9y8RkTHTNiiRmYV+Evs0usfhIVC6mqZFWy8p2BIsM7W+PDUTmIztbZ+xgGOfb/mcCOHvImrzNZf8qO1GAYLD41FTnxIFQMQsLwiPQmNto5YxDNwv0pd8bpIbJto9OBfZELKzs9PYomnjoFgk7Uv7rSTO4k6hlldZorbWdzA+a6v6CwAAD+/b1GpZK4T+it6ew0VH3zlNBc21xADNcVEVALoedELlNB5ibaAfTCzZSVPYJmt4fYDln54arDaYoorcI1Zm/C02c/ydG7gWR5wCkhQ7ReCy7aE/2Sg3jsmpgilkRpxeX8jUMV15IAdVpMF7ZHBYGJRTWfexxfGCHmBt/eJIbdPFClnQdak0u6X9Jq+QKWD/tFkmy++EUIzPqF9CHNVarwmhyILfedPQlOoojPzapgp788X4QkSIfzq552loNdz9iildwDyl9e6x3VdQO6URpxrpdcbn5vp1SUg/gi4Cy2aRjdOBdqeiX+TdztAgocA4ol93nft8hX3HC82jN/y1tNxvbTEvTvidfu3Y/PcDZ6eJAn2bGIgG1XYgAABzjpwDZOnU7htfx1yXYrgr5Jv2m0XheC84AXr0Nb5/+bPuveofB7quz6t98rrBqfYVm2Bmq6pFQZNLsUQJRMKIw6509e+S2v3FbeCh95CO6k4YNLuwchJamQmzLdkUtuy+ZtrMjIb9UntvMyPgKzVyI3TOi+tYGtYS8XBNctXKOLmIbEzyWfB4q9fxXcel6RoD1KJLPHJoFG+WI9evXcKY4H4n7+K64f5Kc6ugZq6w9V4bJ9KtQDybwlHaT0kjh1tM/QMnR2i8yalXSMkmpPFjzy51d7XFi8d99pxy1jckgiKvAAdmOj4VJxC75fAbUhZj1esmF/cGe2fcolLLDyQaUOWmuDRltmnPeuUobyPWAq33nDhsMXAOQ+faANenh/3uKAXRDi1kXnfKHmdOLs7Qj/kV9nVZ5TT3PvcVRriw6yeoONYZdZ33uyIE8cIgKreLsw6A0XzIgAjFY2iiB82h39ibQIOgVV0Wmgng0iDULAyl/G3shZGlBdcxAvKzHQqraB/0anbrmQ/4s7pUbwrhEDd94PjnYT9u4MGeIizzJCxZNGneBoF77dBJcFzyS9QRvWaeg2xOrLyQFz7PybldGYIRQswGlCfRrFVne5d2sknV/r1gIoT3SzXcnVTM9AirZImCCW7RUho9Hx7oaZ7mdweoF6ppisaEfySr9mT6Yfib1t4eFUrq3h+oVhYeEeyWV4BbBScQwH20iPz9I+FA/srv67xltp7bri+q5hNBMCIrn0UeAC6dp0qcEiiGSAB8yNAuP4XWFxZfdEogyXmQFd442EGqFymUiC2qJpqgbvQNeRYjjD5ZQXSGdQo/16YDHt97XfBvnEZARR2Sl8wUeRsvN2aUbMpqEe9QiNFo4IA07bGKabv5o61ozi6mHLCEaExFzaUjRxH+nDfjDm0ZEUhYZ6JAslQENV1icE5tWmyxgu5aVs9STPxjALpoCmt814j5r+8rw4AM6pIixN1DagKJ3VWVtfyPC7lFZVDHWWKb1ExX+Kyuztk5s4aPsUkt2w/UeQ2tL04pgxZoGsyFc4kfNTAQfnGSDypdRKhU5Q1VBsgK53dJylxnQSZBW/wPA4/Q7YWPpSIvZ1KPWNEJUAlJ3vNzt6u9SfweIE8wGE1snmzR+ImXfqedkHECeqciYl3uOOj19vMxtrYoAH1DeGvsPRfmLHLKKaFNY1F84vZpd4oNBSxtJNUbEbK8wrEYdGLzYTLUUh+rzfILvjDPCQGtTcNEGWMTI7sAAP0iS5A24UBsIGgw9t1PJ3dFNj9MCk6VL1qHFXTRShMLv+lNxvVcyx2vh/XfDiok2vUz60zmMdO3JO1TCOltt/x5/mpb6IFKy3xCZchw9QNAmrT1Y9B/HHWGaBB+qJc01Tx0bLXE8ChsF4OfREMwWM68WS9ska0JfKaP3pIT7D3TK341KaOg78spVVRDacJm9uUkpmDQAHRGf3eIIzDvOYUEKDjnBv7Xg1peUiypsVUYofyzw81oBydVdZSCmX/o5bnzRJicqBBjEmbkhBdUDmerKPGcR2QaJBlgXYVefRuYGk3Yocw8DQl+wjN8ACaOpqgIgCkrIO30NOQRctG/9KDCDja+T/a6yOZSyNVknMCwc+0nnJiEaH08K2vY4QXobQGYmDmpB8wdYPL615DirjRCaS3lnjom9Ocs9Wtd7bKlS2TCEDF7gpGszn7CvB/gUUrKkIemugsvoDd4tf3Kw5JieDK68Zb32DtMi/rgBVVD+uDA4heLUh2x+rl1HzHbWqmpyo/dxe0+ID2v2mSzVGzpf0IbEUUhe1KAh5w63dEpmL/3+1XzuCkSCfGyjGS7Ba8UP5D/zbiJNPo2HXaqhQa5M3OljLc8VpKwIp3iyJKOc4gPGoX+vaLL23rjCMOIzKEZ2BORUYE/9GfMrR4PtVtPJtZSSQ4SaAsB5f+0qgua6UsJWu+uczDU3rPNgQCds5qm/6uZAbRq7wWr9zvVEh8oHNyQNNHsMQoWGPwAMSDRrojU15cscnE5/VxmT/cRG6Do1l+zd3b8oOpN2ToH8vplRDnmBIUwVGK3TRS7WlW5uWK+4ymqFikRNZ9Xc36r9bMQmkAdRnAAEt9vXkRS/p8Q8GV1irl6AuZfaC+KbnIWssG6PJa5RjaG8x/p7akMiqYLS+UIGHlx2AR2C1hIskykbxUgwk0X/j8+Qt2Zu+PCshDck+B4jc6k2fksCjH+wgjnBuN0MDjxPyGEvv87n/gWS1p7gy91sWkif/RKMxy2JVAni9qciIMwDdyGn2o+q5InUf132nJCGkzmT0ycd/AVr5T5QBSA0if56IzwN6WYugnwVuIFz0fgiHoMoRmMA1LIJx0Y/Y4p8XY0uGxmO2U6pZjQRDAVSMOoEcnOf5cJZ5R1jJVBe0L4djr8DmL3JtAKQ28QmRzpS52uXdRHvUI0GvAt51TIi4J1/XId7cZ9eeEtGdo1RtwSh0pXVVBZsOMaSeJRFylGxhrgtMhMcLI/vtbRQRpNGhvSzLnXso0+EkFL+ePpWs8naDytA2XwjyyBuupAbOO+cKJhAMi+/Keh/WazJCtAHT7pDj4/ALW8t7u2+Vcg7m2LEZwQqgEbW/ZJu4uu9nA4kobVD5qRTlxBwHuZTbIT4BuGS8bB6oGstYVaKhxq+f4cxbaOpxhJv4Din2plwpnoUm/6pux//ILuCVYZ/XpB+1cjKoM9bvZNKl0VNa72ZHGsxc+WDPJBCOrd/hJ7Giz+MOS5d/PvLPHte1exuINj1ht3gOSw10eBO5kxl9cgiFGjpb/cgyK5PnoDku6PDYYJLuiFwuKa2mx0F9an9Dm0qs4cJxUUMmnKF6W4rlsRz6cP3SEZri4kVUgfcsJEguXpGGfukdH2XpoCtOJYom8jtGPtzz9a8BGkJsYDIi67Oo3Of4FoLtq5uh1FHIgpbjbXssLwLdIereng0nQBzbqlQaYmgfZL3+/7LMkjbBbivpkdaOMuw/qQSnMtHLL5muaMYxx/sY+eJCUs/K7/uSsjSENU/214MaQVsR6r08lWDIf3E8tU5RQErbfX+FTPSspe7vvvQNqGvwqUNHDKU12RGSSSofcljzbe1IWR3G4T4+o32ICl7FD7Lc1UVmRyQFI+hiV9/o5sO3onI/b8umq2tQDK1wb4KHAP4r49OZWejOJcdIBMbpxOGrlzZ9IwDue01vFx6ypqybKRS46zn96bd5gaYpp8Mn/0ORV+dNjuTT5dPwU1GjLFEOaBrUfMVsdivP7ilWpnggJ7BSud6P5PSPyndSK6F7QCx4UwSx/TDVQHgTr9gEBhNtUjz6Dsh4FsmGqGJtX8wIDOHDRGEU50ZfcxzKVtDdLN2JT43xvl9MIB6dQFvKvt0V8VHifzMvvrc69LVIxgRV0eb6i0m41493hTqmajpl9KFTI6RBhRNNLCwLHp166UiJWejl+LgbPGiCIev1u+UQbFQziX7zeLJfcYxmqzgcNLTNNigx/WkGvCgloE01BDyTRCGEibpmvqHurGyGyGZfBizOhGruo5hPp6BhvrRGA4OsuNBHd6nV/Un0826TPwyljyp1bQQpbc1V6cdom+712ydP/f+4wt9tvuPc35SdLJlLh/1UQnRzrfHTIncFppGsDLdFm5/3QBL4319EgA7ZYTWjnbWdgdh7tGEkckG7OluADeOwqP5kPwxVF06zjodzyyggHa6GRBoNBccGOOlHlNn8JanDCdSCWU3vwfZ6DED2PZtnFwnghZTMOTz0Bvd3nGnfvgF+DfccSK6pbGnmS9IXx4bFpp3YLsWtFNQl9kDeP76SvHwr742a+6Bi/RgphnsIehDo38p34HG3m+tmY/pthaObfSndVwZvh/Znt0GrVXa0FXbo2mwMSAL96iia0aR+fE+pl5MfbYFvEayNTJtmjvCocEeONBBd0OjmKKiHD3TbqOmqf70AANHZOy06r6KUoyg4Jep+JaYicbNsktuX2lBTCh6t1lHla5TpsPtEaGBqMgiO7Xl4fGOt0hMuDteemm8owWyAWV8MsxQPRQdoTVCmZwDd3fxqWDqZsh8G3DuI2PboHmv2TiGJLFMLOWRimsSvYfyWUouz/QsDHQqcmwq2h9LeGHMf9VoVpqSQuZ4gJlVJ9FKOp2I/koQOkwvXgO5m5hBljtEP8IhIpkBrdn20BvBuA6pkFJLV1zh7JxjQjW1PyiP0rWeXLTU744X+UYYEk7sbGz4PMaByQT22AAnP4wBl0jI6soNNfFXnZUmMIJ0b8DAFphluH8VLNNkqzN6eh+jp0ceEcMvRcWcfRkUjSS+GtwVh6T/XRgb+abQ45m2IObG81o3xsW12DraCBbKeDzINnrDB/9LO6bhP+e0aYU4/WSfv4dreMzwiCZw4SN8Kk5Pckid7orQrXboAyVcciFxAvgBiN3JtMVY2J/oSdGCIBBkUMDsfkm98Z0/HMwNT/Wdgzs1fjGPxcnoo8ZKRMtDjoVN+AHHdU0aoeZ6pwqsZYYGbvZUrdeGga0stf7p4d7KR7o8EiMvIn+6Wsx+berI+La0VtvzFsu+r8h/CR+xnfLIzheOSXlYamqzC45oIPeeRmtMLfmpjEWntUxXwYXQ3KtqpqvSe2K2xXMP/YsxZfAITvYAaz6Auw9yQu3CYhF6296xyuI/Rwaiq3NBaSDK79Xr54TNgTvkd3IpwLLRRAHs54i6Bd+KQej60sXiBGZVWv+qM34ZlVYzXmR3YspFSFdl80tKaIYoCpwuklYHDxIvLVKcNV75wK1r4yn/xW63YLUCUk/FF/pR/4zj2uADHcPBXU76tHzuQFIyxzxBLIcU1UP05yeqr48NjplHRBzqOGrz+WLhkBco03aB1Usmz8Mp/dgOmKaXvBGYsbkqZoqDgAQnvzzKfclFNyUmYTuaNytcLPMa3/fKSGUj9y06AxsXPQFw+GaFW67S5bVgIVF3w6zr1xHpvmJNm2Ko6KS0bscTPlJFPudVGCj2TcxaDeUgvVCmxSTOAJli62AEe2tOWSIUvhgFybOGCdOeV2sUUz2sUeZnG8kPFuKrlrbZ7wTM/ds/6482Wz1TPPfBBdSlP8qp6nF45dviApKN9+pHDz265P7LXoYfDQwdt/P7hnRcqVMTrRdOpnPkSSrXCq6qLduFMNEnr7WnXmyNJLZq0J3a3h1d1MbkD1EsR6WPUiswqhUB/TcPQfbheQ8Nak/7Av4nDIeAPuyw2wmkqMwl1D9y26YzmBi3/Z9vSLAg1ZISdPS2k4FTuZHlE86hdw/fI/pKM4RWGOZxocC59RkaM0JYarFIn442PEAwMpixehhSYfi8mB2wb/RVrjiFfk5gtwgV2MwAyGH8KZUfub+C7P//8xT9/lJ/hcuNRbD+UWm3m+7zH8bTjI7kv/Km39zUZtZUWxPSbt21aGqgB7ucM597WVeoI32diEbAvAldPdsAj++IU0i6qc8Fk2QxzIXdBpcWlJ7rBneeD0ujq77lhERJBibbJPL+k8hqv4/edOT4q33cQrJn2KDziheWTykkY1yrvw+fvoIIMWGdJeqe/KiEj9z7ZqlD5Ym6QE1eMkr3hA/PeplysvWdvsnccfPeVuTtMGFyvfV/eTb8h/1fMnJmSqEiv3BkrA3O643shXZItNLANXwbAkU6dTFue6HnGqhH9ssuT7UXUWb/QLy99XDW2kqw6C87NEzNJU/BWHdekz1Pie5Oi4aNRWSIaTgao7OTTxAaY2okEkTlyug4vV8pYmct0VX+GyPa/vYIaAR2xN7Q8r6r182Ck7tFWhmAT18L+O1Je1vLAaUqBreajoa2g/pRdd2pao3unZ4oXp85WcZbfdrlifwdDLjflsKQfNNWo1jcxhUsbcx9kGDhsg72b7TyFlBkSWY3oQ4lJI1IvBKjUyIc3ZH1CHToW5jlgD43w6Iox2ZNZU7oSfQt4KxFsgCH5xcGsH6sPJDHSQOGQh//2s3zx/pBrxZ595Q9Y9HdZht6K7uaFI2DvheX/XH43s4vz7zQ6FzTbPFbjjEJXMIFrHPFNbyigsomYdkfNQb2TBdKZNT+qhf8EXvXsmiMma8INI9S15VlsoWavJbTlfO27S3Shz8m+DFe4PIia1ucejHDaSZe/Sa3hUrx4FzQaJn6bL+Nuf8vQljqdHwLmDrh2qx9ninT1XNnRhQ6ymer67IJaVCk57EKoax3DXuQAS2KuKzOyuWL0UKtpRp90+YTzcOCSv22qeUg3Fbt6izaU7koriodEPhFxuE3ee2c/zCy5HHPo28cO4n3j6vgaQHMyJQVXAkwr23dji8/GpOGOITWzB7krxc/jGKFRL7DK//Gv8eYPuCOXqWmXaMRnEo6Ou9YcKEkn1Eagk3Y9TIOszx1Vnu/N5lQdYPh2J6SURfEbsRUOmL3yuEoq3YUagt6IVLbA//xqPHBGf0t5T4sBWxQ6wkK0W2gOxG7ozJymAoyQohQ+om8hLOtmUsrZVUW6rO7nqSGWUlQH5dwBCEvfWVqc8UQ6O7l///2YHfGCBU6ytOfgNLyYMzRt/u3X6k5qsSyXWPPwLnKFgZPYFXDOQtYSIKr++WpLCC8gAJxNjwI8Qx9a73gaFUkg6plmlefowpSnW0JmbrZNBG6PxrKzonO0uSNFYxDlhiuj6GQiKkTfuysddzxon+ONBxjFlQL9zXPrHKMckEoF5RsNm6AduDnYzwkFTpPpYQRUCYId1n067d25WEUIOeAcfNkpWFKGDUY8lvFgp/hf5kNA0R5G9vcGnUkcEsFjB5O5z8uJHY2JRklgpVV6zMSEQ9c2MOkNUcq+52kfOJDt3Kxe8NjXJtfRIb+BRH6GGlncAEmlvzjpND8BXMfQJgECbUDuT6yPtILX/42Z9ylgmBhp18s6XE4Raiy5vfzR1AB48Wrb/SynudscIhxwbn7Y5DfUUnlCkCnE42XofhXB3JQQc2JuD96LE6djsIFiqKXJoj4Vx90tp8SZ5wPY04BYQ6h75JOpP+Dc/t0E4+GwSYyejabzZNRSEgmuPZP3UHu+P4kwZU9IwK9z4NlGHT7p5znNyZak+Jrnn0B1ekr7wCYQRkr0tm9BN1eOfg1OpOl5xu/Z3o2QQwtlAY/0HKhu6gSL2/n4pGtbO5HrQVU6BAYZWTNXsPftYwPib62Feog6py78yI0Nsd/uviNIY+3SOAbS0ibHniMco/1Hmvmy4gX6ipNVpSTc4ho5KybaW7sVn1JA50PARJwmMTgVrcDhIB/BP1ih204RwgYmi2LrK8xWd8vP2u8J6Li5ASu5Pwu9at0H/DejQI3px+2Gvbmzw0UTDnGbIcJBn96bgeeaymmc7hRifuAxDkX09Mr2F2j/rb3wvicKnLf6gEPx/TjvwtEIYbSJyPFlBnfVax8rFdCPtdo1H+gq4/QGPYPnvcllESJuMmBlCZzAwTOGB7tIkVbTIVVIkAHzugLitOKk7H4cST0jXs+siEyBzwJSz6p8w73jiLLGA/lsExUs1909XcN4kHGDjQFclbW5559NKKnFz5fmYdkERD5QzsoRahwA0d9fxus/g+tGOoVTsHIH2YL8szHOD6Qc6ZWcvzMpxXynlmO80jrbilbR/1RQ3mJMi1FGs87a2WXkW3UEpeAgswVAQnLnZqCx/NxeclkjC7aZYAnNmj8285SMvbKt+AEkMTXSRiDsQ2uk99IXrwOFpeo+HjcJO4Hc5vFxbgBeEBD6Y6kiLWVrERO2iPtD+pRYOBdlRSA9Qpf7RelBXMaV8xp+hiPRIRfptJ5PJMIWM1FlRTnyrbu7Fkf+I7Vfilzy7TNVQQbnJf4ZXRAAcH9TBwmwSlsTtdgzmiTAyXsnwguOblLwJM2lS4DOAd1kNUUgLwyJUdmglMcuWVbCc28lm3/Fh4ZJIFeWA2xiZiCHm+C0SDzUQruyMldKMfj+eypitNeFVI4uMNoZVjMHt8neWJ+eaPYPIMA28KFLCM+GTb0SYqTzFTXpHx9ukJG20NA0Crv0enL7XQD23Cywa9oFVk87ccAeqg12/qNqA6Bx21j5GnEgAyKBViXYde0DG0DOEk3mnem4OWTnFJiT+hfOt+ZG7g+BtOxt2JxM6mQ0PDYwv+nTuDH5594y+PvKourV++U8wAZ5ABaHv3vj+kyyS7JV35gtBz0jDaxU+OaWUa3G5anuoAMwSRyGIFuhST+pdXsqwNiGrrcUBkYB4K3ZGMQW4uDYF7GNeEgkhYnVLSryyla0ijGODEVuHzqoLCH61CU5ZXiI1s8SPetSdRzfhWwSU3QvfmXjv7exnVEpdsFx+BhlbWloGML6t9XdZf267XlBhPe5sYBzoC37fUan6fmdgJXSOAVsQdDV8Rwv9gWKh+oU0pDTf7lXzRv36WY0BpDKCajfqz2K1SRZzdOzY55aoDgaaCGEOWgTJmT3BHCy8P3uDa/G7PQg/truaMFaDaL2Y3RQtkQBiixrXtCQhQRu8MzRmz0O5jVKhRerY0fNKgIPnXBxSYG9Fc3My+H6GgYnzm2GfGEcfI4gn86f8AEWbg2TyC35a/m+89XNwH/eaqdMaL8Rxdui7uzhcJvoOc8X3+NxQvwJ1GT0+4lDTNo8+kk5mjKfoiwK/ayQ4Ef+s2HeVJwCuCsOYsUUPpxnFYa5sJvWDH6ypol2k3+fi9TBQpTvDa1g0BbEhb2o82ygUVuFrfpNt4Fazhgkc0FT4BPV+V5NdsokRU0HPlsVSId1Zfgao7ALmGkIGv8ZEdfGdHdzffzWVL3BnOmtpBl7UaL+a2BxVQlMJvuw5qtdL5uOjhwjKWDtPYDBaJ3W531BkfT06rrvzEDpkSNsxkSOYT+3wt5mdSudkNfDtH1Y9ZjWgSbgSz7CQZiuoH7DVWuGQEM2qbnN0NtYP3DXOy7tOrtQrcHPD2e30PLkY8QS0bIwN7fKbZ7xiMggOCMJGdjZIPjxOQSF6NNk602Nd3u38iQOsUvcseL3ZNRkedodjHyKrtAYEB2s+rgd8hrhYhl9XKf0/fnkgplaaz7MYZdAhCGS1WC6I//x6AWPtuP/+0f56FPzv9xXAGc8vVDhTLXWrQNafZrluNZKQby4N4F4uZ4hOdDosj90EZ+mqGT2hzkoAMZCfMHI93S7xjrpjLa1xUpBgmJBBVL5LNQrY8iw+E3KyGcCCKt9WQ0kP2nmB3AAAEFOTUZaIAAAAAAAAAAAogEAJAEAggAAAFZQOCBCIAAAcJcAnQEqowElAT6RRp1KpaOjIiUUOjiwEglnbuFpoRGeXavyr8b/W+ddzbQOXox9twvzu+nYegB0zuQaTB/RP4n/g+GfnCnp3k7U+zB/Kfsh43/HDULufdmhr3+49Av2k+5edPM7+f/2nR5/2/EJ++f9z2Cv6X/kvWK/4vKj+2+ol0xvRi/bcl+FIvvmktSaYra+ZaP+kgxB5s8q24JjD299TlxB5kcD2SkMcTWj01j5pb5ikFnyrE5GSxlNunPs3UvxfLwKWcDB654JQ0bQ9IzBTod1zaxkBRycs5N8xcUKD7Kub3Kn+VKU6vMyzu7z2F5lXKu8z/e+rKMQGHt5QZMRaO2zl2SopC/K6rTPwEdzJK/U9qt207IE7+sx865HOnxgftdK6J/Ib2ImN4XCK/fiP3yiu6TlewKVvonQeobTGVWut1KWxvIQXSKelzOI+hdmXB+dAQe84Y14p4wWNvvOfjW3JMxzt1lIuU9zwqpIZCo7u//nv0rctUTB21127cnODwJIvM8LGTU1uKt83zkYE5RgFcZQwTnDLxC9aOKK2sKRhAXwFvFUKzDwuTf7aFOrBK8s4NCYmqiXSF9zlSmgxyY73YRmAbQkgv1i39IV9UnHfbEY6bo0LaCZ4vaTBK7KiDJOoF2yohCO3ORdFfCDQObaHnTcvb05ktLV+VhBQkhxoynXBiFrmsaS1Y74gfyZ9XR0or/j5AeEIXw62sJTtQyStCeHwba3iHk6PxFrzo1Be3dIVfhcDgYf3arxIqBO6YLjGvSOj4X/9Gt9HIUQnAxtlel0EyPNHWsty/YXovm560PjtQFtP4CGv/nOht6Kc9m7Ogb+osE2A5qWkNdmD7pmrWjeurhNGOsHS5sel6ohDrqIM8a/OF6Q3LfILRuEYLbrStfqElDro+/Q/NGXEvfRBdSWaAtzxLrZfZJ58cAgXAh4byBjl9T15zr9/HMhr9xG5HUToxggKVYvdpNe/rj4PyUsodKOvC3NsQINUR7X59EI2PvLQnvP0pR+clDw3jfPop6EkqrUUnZj471WwnB1YiYL6erZfWuRXPGMYA/oLbIS4u81HG7Srsa+lF7HnM9+4kVpIRl4jwnvgbRGcnaMvmga079VoCSfdsU22QnUg0YJb77bHUDXwCzIAlALIWsCNt/eQ06bQ/b4l1H9xGw8qryoYRPL3MB0CFMJ6nAPAH+JV05p7KZCRPArc5Cv11yN/ZI2OQHrefhRTBsuzqUqjO3tRZdC/x7jwIyoMqoeJdQsgipKk+EUgS+2yrTDsZ9qeB6kvS0PbmWihh0xpc1FCh/JZdCIgLzgpJs79xIrjRCHiUsVUWYzw3+kGt9GG1pDLZMMW6Gl/PUeWhs97QlU/EuoJAVGHcvEiJnG+GLJpJtJcHXijmpjzwXYJXMx3LxP+fRCHiXUEPEuqzv3EiuNEIeJdQQ8S6gkFueJdVctFbx3n9N6H6ItWryEer9AgyPK3YP6MOCqJ2TmUp15N9HRQ4l33LaNVR57ioCRr7gUbyciGo2LpeR5Nv0FykSPUImNM3NlZNeE+1p4SD2hDAr1txBmB1pit5x5IQm/1EOp8lE009lxfmFZeuJEqvQMYQ9L8SaUz59QmA9kC8c71AAA/v29SbzlZ6f4D1WGBA0yUbXN9IUxUSEgtav3ZmanYJsxXK9/nUaZup3lACuq/lbuYsvgeuTnhxzV7xYz2X7IrZjGR0RyWsYQMVjNdDT+DrCmT2oyZejyB5Ea11A3s2eYhTqZbxl3U1W/52pGoYeCgyok/N/4CRg80Bsx/4eLK736vTg5lzfQd8ylcW4reBS4Ublfh94Xi6ermCAfzwjVj5OCbHnm/vwbP5MF2h5Cs6YxnFN+DmDkSD98wFjeEhWCvVP7Tl4QWafl4ABFoYEdFMMRlDl0OfTNuw0njCF5STnfmSj2S7A5XXy7djxQUGm9ZfvAv6bfWOadoxEK4kwXbCKzcVIrWUf0Vd/Dz95leNjBaeBe38eXopr6VTlJAYQCMvucQRMEoed2jsiy+/I5grGSnP53Vgo7m0yKCmQ7obtCK9xA7Nr16PCQ9iAvGnuUm1l5E2q7FuyGO1fRWCKCRQpK14x9BtoBcyMWrMXkx3SlgYolaUlden343+/FRFhCIUsgdSsqPYhKJj2xG5NYDKSaGEtsnwcDxu6SzfGtXbJC9BwcTMrAZ128w03GIEDJCsjQKRh5WI4ChXde0eg7+vPXJ79+q7byVkq/1/v07CCZWWjG+rQBRyaZEdgxoHSuXuHW0uuCdSIavX7sszXKUUw6pPz1wg8V+y3wC+UpqXb5pKqtBGDIkycDppL5WAaGYBSGQTkwXLP1+yQ7PnKrXmXoUOEEoJs9pM9ZqgBviEwG7Gyxb/q2LNiMqSqH9nsogmwQxdvtH/M49PXqsLto52VcoYGq1P4tJPRL9JMaKx7Kr7nebjqW5IWVtvPReJkk+W8n6CoicUmXaZSBk43oV5E3ESRCZAq8wRRoGM9IGTzT9iDabcYxlzB8Oykbf7O/N80pF5jR7d6wN+fG/ZgqYfZGsHc13qeFmCxUg2wnV/vfjy7daPpNFP6A5BjU5yGeucTaWPdbapzasJH0nOPRe0lQ/QQpsMj5O37r2C0Mv7C9z/pppbZ4C2NT4YLtbGv7dB3s0zINTtKb75VvhZsXhlolKfjMGC0zN5UnwgXOzwfXYKvMTv6o62GOCPx5Rs036YLe3BKHj/MPslwZUkGjptNGHdrz36WL238i6GYkMrxs9r1G16Cc7WBsF9AEQlQsT2wf3oaGwGL6kfdXJc8T3PH3VWwxmy6tmK2OAgFPPUjBLaGbiH5GI+3wJ4Ad0OsqzJzwdqT1L8B0WkhknqSLbY53ULbtLhbzSAF1vOrch0jW9OGAW3q6s4dWMsJqBQ/kbevFQrz04yJD6hQTWcGVDabb3+jZte2j5yJhudsm22xjjPqD5r6+w3QCVDdJ2X0QJV13Hf0aZTY4LdFsMpktW5SK3ctC7DEBGi2SbRBHkpwWiJepf26GSqvKYwj0+ctLSuxDP4mh+DRZZH9hSpeFXMZNPo6OzFW7ZDfIgAMhtPEWcmwXxluS7CgRz38jSscOKIyCGgIiac5zsiqx93nb8NDd2+KCIJLXXqSmjroXk+zH+yXKrxpaRejL3cMerjmiu5erBcv4aIkkS5KRLn4BBiObbi/bspwb/6Jc8yJavKh3URpfOvvEnBqJoEBpFXjAEbR2088PSB6TMGNHLa5f6U5qRh3E/63GuqIrXY70Z/5DZtxGBeuG9RVXiT54h+Te5uMpsDySktQlPx+nSAOseJganZ5f+C+TgcFkeE/qOlYKqy8JxQ75azGcHXJE+zdWa/7pB3RS2tTZoI3+8Fw3ccpw+wgQoWPlzxTgo9p3Q0B/+3J/RzM/TzQoGenIfgB5nwo+yHS1yjtGGT762WV5VnAJATwLKJqBtUeS/zb8oOVmuBWtmjbg81/r8Xl1m4mnL8WhM3HKI0XyFMKfuP1BmHGYPI6xxaOTiKoF/n1mSEclAsnnBwOsUXgUZDDx5GvhejY7EvmDC3EUL8U7hBh+L/+bPhRIEuiUxVYTSSu66+nMnSnC8TQ2288EbFI7z/PM6fXkqkLRdffzTS7i3cOT4I5seCyjkZlON54fA4TeYhNv7hHG9fS9OW9XspwSB7zBt6BhDfyY15gbo5V71KrQ8G4807Yua4DwkcpoqZcACnXhOH9I94S5Hjsn+u9s72S+L5ouwK9hTRPhcJ3/pBI2AQKB/dRc6UK46UCIdeGSpca3jUt5jm1awBE+WGBzoQnSAUP2lDcAbBd4hca514TJd39/Q4JJh6Lcj5RvMIb+C8Vru8shcZgKWzB15USJBkpVd6+Ao2MnWdl/OqAlh/nmpIrKErnZB69tMIvE/KB3Xd14D6OD3t/qs9XUrKgQDCy5WBLD0evPDkOAIH7XiUVvw3GErvCv1HMjYzqqBMJg08ETVd0i4qQQ0NTsCnRHjL0os3vL4YSQs9jCvXFCWV6LHn+ylumdWk1tPQFuxMZbzPUymNVRB6xiDXSHcnAGi5zzPW85ZeJTZeSORqOtfKhQYEsoTKuv01gxBIAd+S72xJCyyqJ9p5FHuApFipkwavgv7RaY0O3CyE49bq+mbEq94/JcfICFT/MpQi3lSeA5R9w4xfcdarmY452XPyR2oah3z9YYCRXSlJ+yeL093bTeGBX6CUcNIGxUKoHTojm5VPa5cnJYDDSeEYmmhch2oOcA3Jzyoj8qn9E+1OkVa1kBDgZM67P12x+pEgf4h/i1jb5iDjik3m8nebIAQvKXlLshsYzhPeQEH5NJUezT/sF+Gd0Y+ImCqs8KkhuGLAzOxmHafVPnOXv4heHh1nlIS9ixALYALvtcJtn9RVusyjkcBSU8CrHaNXmGQNZEC8j17TlnmY8evXu9AbMp+1Im1OhOiOuCvg5xKatJNNeyB2hbjZgCfBCmcDi4BizGj44U3Ua0gQMPxDrAuMDnPDPDqmqIvYJljZPwxDjr66bi+emcN1OFWQ04vsp/YiRQfktRPNAYQzmobadh4XWbsZPvL1a8nC3FF/TjSRGX2DLPGcVdgUZim5LdJ3a1I3EPK5Mk7on3fkA7IEKs5Ek6tLuiRXYJLHRUPl3zupxEAsUlNLOYDn5zcFVkjA77XQ9n737zktJU6sv7nahzCGZiq/wCGSeOp9iOFWKScFpKAai36mtNRiB3VukivUERRb1aXJpzpvAqv5bgts2Ko2Tm77tdsEZI5G2ltR4ccDL/c8eZV4PLFc+Vrx7DZD6uQHrYNtYKEwr2ISbKUEuI10vOdo5qC6q22SXs1RTP2EAHMkfLFQYBJgK32RnYniLcjTE/LrgcDBJV0MI7n74Bm+Wq78wIZf5UrXFwVL1kWv11TENbDd1IxZ/QVA8jZ2BSPhFZcMfnKWmxHkZiM61OKQWZna4B31uyBhq6FAKHa5Bk0hXvYZlSRKlLB9owOMAN/2YKusywFzaNEGS2sFD/0RxtI6p8e46K6Dlk34nBFbU84hr/fwwGUBdHl1TIH2a7r6hHeAVJNlKOD8smyI/8+728rM4LJmSFBwBq3fIYlEnXQS/Fou9LeSyHpQnjk70GDFg/iX6XgInoBOsNnpsML3Ddeko/2WpnpOv2QlRZS7RjCGKvgMpT9TbUiHzWyBEKPsXDIbvZ6IQDh/7EgEYHa3++tefE++OFnuZpxlhkadqbXowWjEEIeEiubS4a8qEWUIALDsB/aqRC4LhFU9wUc6HH6724Ij6PQF51OW8azFDz0eCKI2MWPlibqYCeT8nDX2qKBddr9aKWl1zhAYxA7ETsOULGc4jiojWMNOSfpFiU7SpiKMpnrfuy/WhmHwGbWGAI/CEh1mkwpSfaFIkS0bCrgRxUd5rvYG/OTmuys1GkbKDKLb7K11YMUDf4WaQlVodi1MzFae+Nk1HgwSGKeO5cQIdPF0Q0nhRdyl5lgNg0dB4mLZviZV7bk29rRtDq84RLDJ3p+mXDOnFpTkHvo8dO3J/XtmKi1WxNC08YOqbY7+oMjRZlfEwnt+0ww/2Z35KsGDmt70JDw4X+DmD5A937RvnQd8B+GiNFBB1L6p8UrARwo5D2AezrZlRtUKybvtJd3S2IYyiztv063dSlUqz1mIMNJFGy7UPgTqau9gt/TlU2KZ1vYtNlEqV+9SAiv5b0tBQia9SEVUmWLlj1dLayvM7Z25aFAfHKYbRWbSPJJSwSGb/XUGQRYgfVY5ga78UytyJ+A0TzKWhOxal75FXWkErEljaT+8cHzvqAq1jw5u8ud3X4JmLwWlvKftZmTRDI+d+qUEaPF4egbXJKhXv5lLDYdsDKVxTYPtPzquEj+TCH9dCPB4p4iJYIHAUVKdSafMG4MWLB3LYxXKI3NXQ5JEdI3ImphwX59ox4oZAsuwbRg/j82lwJu9K2+7Pdk/bcI7M3378nRmjynN/WA2rtkJd295lJGsK+0GcrPJng5/U8kCZjUdapEj4El7khcX2lL/QeuA1l4nHPfy2MA9eepxqICWGE4Kb+BdK0GNSsI0IB/8a6O1SesXa2yX81F9zfFkrGBqf42w7RZ3XVpHLNjiv42k5/Af+gk7ELjLJGxXxSmF+/w5aXzXV/SOgUMjr5oR6k2H1AoaDKgP2qRdQ8EoeeMvOPNN9qbNoJQpqn5Z3D1WT6yTdiQ+mYSVxSwAYBhUozeFjtu3iE5PDG024xQBPsgPyOVtemmMI495rlgZkeCUzzMaLq5XUxDwm1cBzLDE6rIhBeWu8avmWEZ8+bVcuecgaTZoQzy+39WVvnqps0nnUj769VamEUPftWRQk8f6YLVGcTcZmeygtJIQoN2pRPwg5lEfqd2RcUcOzw55Segvn98RMGLs3oISK2dI5wXl8gNh2xxhDHJTCeTGcjrDOm16/h9BaxCs9Zk6NzVklfJa0mMCk7ymDx97aAuP2/TmlpIsgHYKZTDNtN2WXRUl+O/S/P8c6HMiJBJPqsOZiXmebibfPMMTgbzrVfw+TCyvYmbfkZeJHfF4NhbNO2JWb1tYhrUQRPuxp81C4jVY8sGCi/eMcqCa+TgPpDYUnA1LftH+F9zYGMufA0JuuYWAuD217iqOf1wv5kVOc5BPjeLSvicNzfbVAtDR9/XUo4PqOjq8uUX/idEZGEs13zO6WIPmpYWTb3g+UcLLwJAp8Mj6aPokm9KQED3/W+pCb5TRog8JB640d7gSxNutseHtMnnEqpO4JQdsrlFKlIPHZjEsBokYxOMoVrME+YOojYL5hrhvNf7gi/0k6+8hKkNLGwi1Xeseex9vw/6fuvb84F/bbUfGcfh29bKvBR3edfclNF15WKnK3loh6HESymjMT23fDqoydymKsotxUGxb//761zOEz+i/sowpM3NzrVboRVCQlnKXyzyQmypCzbwA56cafAFmheGrBP0voRpwlw2+l/JnUwjUsiACzpdKM3AmTg/EfSlq9ePK9C1J7fDEXoGCVfOopkw9VtzycGBBoK+NwL9JPbvP9H4sBxwiuLDBO/cqABf0uNroVFn/Lg/lMZqIe1l5COV7BugjaU8F9zWT/iHKo/RrCcNyYiaEsNA6qxZEfsQOfO5/Vn+Z451p0/7ruGSjV2vv+RiABIA48boKiSMrTqa26RmWUotbxAhyxaQRZRjwq83bQ+UbmCdVKBciGXlh4fHA8zf2EQ8NJP315GmE9h1ByUi90Py4K7VCoNVNmOwdY962JK7wfvPXmveGz1K/FHtbEg6CzJMNMOGBMbjnM0TSSIHm7qce6UDYQ6pdgjRCxEzGSTRywG96ohWu8///8iTsk/k73wtfHD1d1g23lli+QH8IsFb/u+8c0RLEHmloQCXIdHQxP5wf3D5PHNbRnqC5/N11+ELbO8dM8bEnYE4wcmmHHOfnvScS0hJ/iINf86AlBGXpiIiZg0WxdMXSQgf2UN83rBy62dmZ5Bflv85qT9ELlHS8/Dhx3fJFByur14rCOfiljWdE1Vq9lCvjtRG9MIZc/PHs/Z6eBA+ba5GaSdNZPc+JmOSp2NcC9ZhMwPk6QHFXEwu3eJC4RywFvzvhPjrKF3vRlbBGRiECGxH1nwp0kNLxzvLTjO5/g35bbMT2ymVku923qMNiUX30j91cs3vEg+9FPM89WmiAlgo/KuinpQweQFOaetlevjM4VpwoLAD0Dp/44mT4iHyGkjP5zARcTvyyuzc+VZfne44xBtfJHwcftmt5BXVG5UKAqkeI+p5kLhzpN24+rE9JLZ4mVbRSPTT7uzs8DJtEUNmc8SPWWAPZATCpFt3JLGLZni89CAIAhHNiwphIV5sJAgrGwnKlwlPbIDZy3lwktxIrQqgGfnsKTnUhF5FJvuloOCYr/l95ChsD+414l+1aXizOouXVwDAFE10oLXF704vZ75apJ5R2jJNUIW1Fehr8fqVUlpdZeKXsOvapOzY0rLCebsB3l3KvOLhd1s/IepeCrfvVG3n3D/YAnpLhQOWiGEsszjtQscVqhRTHX2CTIdyzA7x+BtQz7I4GUM2FTl1NXciICOZYpJ+6BFZpEzM19dR49Hm7jiNSey5acWzMkYzvoYaf/cfos6qzKFf7PjLKZ+FgOOjpRCnYR6/SJ4oSbhTSmkEEEjw7Frfe9yowTJIWjMhkgaIEMjMNQ3Epj+2F31MC3dzzFMtpztdk0PzkQ1436piKdh8FjmgJhaHPf+uUZWjK2lsWXYRSoi5K/el7MwLiWq1edYZNhogzRhB7C9d4BBtaeAIRA5P6Jtxjh/5CG/96MtT6rTpuTeY8Y8ifotu1MWpsvHvTeb2xjtackOJT4m+teR5ZVJrjDLWx5qOwqwDXb3ah2NMzEUmpHkyg01528tRTjyWrBcAGVLkFySpDGRjxan+WJfSvpxthe5Sg2bJ2s/H1piUdCmC5sg2FzAx7y+D0iVK9HGkMCfuMpAq626SAhkWUqGtEOk1Apm8MexsuBeUEoxFfRQhdqFExl9tVS4rNrofUjMyzUTarGqHgnbI/9p7zsd31+b7Bni2iWMIQTw00x3/vmgTG0SA8QRE2j1Bpt2f9iWJd/dY1Unp9kARecAYXHbI8Cgn6zCpNgB/wNdE2crca8KabxVqnUxTS1oMk1FeMUiPzUUNeJ0DtcTkzHu/3+0siCJa8PkR4xLlOe1JtX0TnHU62qmUS/f6bmdTYfJS5Z62hsZgLh9oM7lLH+p1znGQXUQf4k4wMZUfGx9jpN3URzKLkZ2+/I8bEpOA62IRUveyjU/mzwbcorTNtSxyMzQO9r+eeMnOSZmX3CrxDGShTdvJQZn5lps5v+xLMFHT3eILHHY9tkZGtItdJME79xauI0Ch9coE59A1S+VMbXDlZ0YKZzizxfjmMvykz5bHe7fEvXj0NY10RTPxVpLCcfkHUuPCWDxfmPcT9CEpmYbOh2LzxYfqs+9RFoegIiGBbODSVTIy6iFnrrWSF01rQpYg9qN+BfZP2AQiHvQBRghVTZ8MwNkaGaoWzwlTil4gxzX2QPeIzJEMv/FOJZPOu00xLC7iSDzncIf527SIJDyD1pVY0DHodEzQyt6iYlHLQ/cDWuWirob+Muad2g7a4FT0nZ+m6vzDZXnsOS1cJ8nqt8csSmDkxOAFBAQuhznjlx4zgCmjjAqFOUzS86+kb+qdY1SGzBLoHwWNM07emgJdRPjJa2gUmgRSMBFaTMgTpg15/UaIfhneKWzNvlDHfLD+sfJOY7qhfKqJZiciZBXpRU0D1FwGXwiHMOaPUy97zf7QNQEi/lWPQNhmeOmz6FhwKwU/2txpDmuqp3ArMksuSoNA2umabBNs67oXQO2MoVmy3li4Eiqa2HJFq4hR+mG4LSrad5Lt0lVA6NYiioHipIfSGzBUvNlXNXdxr+LNPPpL0m7tIf3ZXmiRPNyn7aIhoMn8bD2fiqtFAcLITjsVmIkyaDM2KHeFcTAqZX8teLEqkCVLnl4SPzSmmnmNNrgofz8nw/tjSxtkYvEmwwABW2gOotdOUs5kjCmzfQvg3hyAB5Lncf1BEOIanf44S3yXnZjjTe065pS7sJlifwBQQc9Emy33KDwtTq0bRd5ZCSOiVR4B5Z8WoOiom0wbDvq6GKUjKC5kFwPU1acMhETguLghAlyne2OGRCFOOPeqEL6GFS50ixPNYkXrlamz1zMe3YFIe0jAcvKIRLeassn8HM50JFk9Dm6MYi9bxrfrGZgCZs9ZJtX2N3WCpG55AeAzgJPZAzoiOxtdm2tpihZWlA9O4Sj3XvDjSiKCG8XfFXAfgqz3NqA8KxF+cAD74JPkYhOJdSFUUHM6+MhRh/m0rB8pSMN2A9gf49VHMD7RpcfgGxQM3Wnf1kUEb68oGu+3l80sGNR92ZjLs5PGw4Gxd5IJqa04oMNVRek6WU9v/9RUc8kst4QmlOAREP1QG3aC0ACx5wDkPDts5IxLKRt22H522O0Ths4WxiiYrhG5dRg6ld2lLtOH/CKbteUkfOLMtxSysdPbB+0nyPskqdInkp3rmO6Co0k37qXdG078tfeOT2pZAjA0DrWddK2jlSBM/pEyRpn6mPQ79fRCtiqfoqzRlXcFaJRcT3If/EwIS8Wt7BiXr87i01H+cQ4NF6h3Kk6pnWG9dDNXFVzSY/y1MR2HTNkz2/n/npOqhmRCC5jtpcUvGWVoVjQLEoCZNzex+M+NU/T9giVFB1fzh94pW/QsfF+cx85KMimd2dbZCffOWhEJ4DUbHzrFgk/7yvadCBR6UB4y+1Xdh5UK7fy2vzggyhlX4oddrhD4bKFr1sEH2ujlq/60BRi/WCwE34reCM3pUjMsDX0MLwmZGECqk7wrUqhH5AXDpxrW/uYf0QYD8Oqipm86GJpnuzjMj0Blkzv0+KVjVIM4s9XU32KlCKNfstuerzszbcOfKHTFC6gsmmCWPYelk9radzyKiiptqMp25bK0LnTGfvgRkDZiQ1no6bg9OzN1YuEvRSyUcqlF+VVX/jk27VpPeuKfWwi8u9NcEgsjrziwK/1rYheLhqwy3Kve5zjW3Qfg27Qd2DqWCrJDLVdPwoqM/xKa6UByzxCHdj5UD4ZfA6xPEXpPYP4TgSYSIZhX1CrE23WfUdSmrgmm/1VZS8nJcfS0j5ec8xdHlN7wqSBYXPoAGM+9571lme+UP/Hy/VXgxQc+XJXBU32JU5vUE3OYQLfyK8HtgUMxRE12h4OxsCDKIYaY+PKuDc5vt7W7P25mmv005ErlF/bqhSwPPBc7ESncnsQcbOazn8L8HmUl+NkfijjgoQnKVuwDCZAYS6tM29NuIWfA9UkVWf6MHM1y7k0NvBKF1SDFG6expx2FUHS5pl703DKoyHxDycusw6jplShAJZLpsj8C0IpiagkTMu9OZdXHXZ2d3ShtPAcatpOmlkkBVvEpwA6mO4KCR/7vr6242Hpi0EFrKTBl+8BltTE3YuK6EmE3u/XrFnhseRkIwUGioInvf1kWf+NJFzCTuEAAAA=",fkt={props:{smartviews:{type:Array,default:()=>[]}},emits:["create-smartview","go-to-smartview"],setup(){const t=_t("$viewer"),e=_e([]);let i=null,r=null;return Sr(()=>{e.value=t.state.selectedObjects,i=t.state.hub.on("objects-selected",()=>{e.value=t.state.selectedObjects}),r=t.state.hub.on("objects-deselected",()=>{e.value=t.state.selectedObjects})}),fo(()=>{t.state.hub.off(i),t.state.hub.off(r)}),{placeholderImage:gkt,selectedStateObjects:e}}},mkt={class:"empty-smartview"},vkt={class:"empty-smartview__content flex flex-col items-center justify-start p-24"},Ckt={class:"flex flex-col items-center justify-center"},ykt={class:"empty-smartview__content__placeholder"},wkt={class:"text-center color-granite"};function bkt(t,e,i,r,o,n){const s=R("BIMDataIconArrow"),a=R("BIMDataButton");return Q(),N("div",mkt,[i.smartviews.length>0?(Q(),te(a,{key:0,color:"default",ghost:"",radius:"",onClick:e[0]||(e[0]=l=>t.$emit("go-to-smartview"))},{default:z(()=>[L(s,{fill:"",color:"default",size:"xxs",margin:"0 calc(var(--spacing-unit) / 2) 0 0"}),gt(" "+ee(t.$t("global.go_back")),1)]),_:1})):fe("",!0),B("div",vkt,[B("div",Ckt,[B("h2",null,ee(t.$t("smartview.create_smartview_title")),1),B("div",ykt,[B("div",{class:"picture",style:Be({backgroundImage:`url(${r.placeholderImage})`,backgroundRepeat:"no-repeat",backgroundPosition:"-150px center",backgroundSize:"150%"})},null,4)]),B("p",wkt,ee(t.$t("smartview.create_smartview_text")),1),r.selectedStateObjects.length>0?(Q(),te(a,{key:0,color:"primary",fill:"",radius:"",onClick:e[1]||(e[1]=l=>t.$emit("create-smartview"))},{default:z(()=>[gt(ee(t.$t("smartview.create_smartview_btn")),1)]),_:1})):fe("",!0)])])])}const Ikt=K(fkt,[["render",bkt],["__scopeId","data-v-31c50f91"]]),Bkt={props:{smartviewColor:{type:String},isLoading:{type:Boolean}},emits:["rename","edit","modify-color","delete","see-elements"],data(){return{smartviewMenu:!1,menuItems:[],newColor:""}},created(){this.menuItems.push({key:1,text:"smartview.see_elements",icon:"show",color:"var(--color-primary)",action:this.onSeeSmartviewElementsClick}),this.menuItems.push({key:2,text:"global.edit",icon:"edit",color:"var(--color-primary)",action:this.onEditSmartviewClick}),this.menuItems.push({key:3,text:"global.rename",icon:"rename",color:"var(--color-primary)",action:this.onRenameSmartviewClick}),this.menuItems.push({key:4,text:"smartview.modify_color",icon:"color",color:"var(--color-primary)",children:[{}]}),this.menuItems.push({key:5,text:"global.delete",icon:"delete",color:"var(--color-high)",background:"var(--color-high-lighter)",action:this.onDeleteSmartviewClick})},methods:{toggleMenu(){this.smartviewMenu=!this.smartviewMenu},onRenameSmartviewClick(){this.smartviewMenu=!1,this.$emit("rename")},onEditSmartviewClick(){this.smartviewMenu=!1,this.$emit("edit")},onModifySmartviewColorClick(t){this.newColor=t,this.smartviewMenu=!1,this.$emit("modify-color",this.newColor)},onSeeSmartviewElementsClick(){this.smartviewMenu=!1,this.$emit("see-elements")},onDeleteSmartviewClick(){this.smartviewMenu=!1,this.$emit("delete")}}},Ekt={class:"smartviews-actions"},xkt={key:0,class:"flex items-center justify-center",style:{width:"32px"}},kkt={key:0,class:"bimdata-menu__item__children submenu"};function Mkt(t,e,i,r,o,n){const s=R("BIMDataSpinner"),a=R("BIMDataIconEllipsis"),l=R("BIMDataButton"),c=R("BIMDataIcon"),d=R("BIMDataIconChevron"),u=R("BIMDataColorSelector"),A=R("BIMDataMenu"),h=ir("click-away");return Ft((Q(),N("div",Ekt,[i.isLoading?(Q(),N("div",xkt,[L(s)])):(Q(),te(l,{key:1,class:"smartviews-actions__btn",color:"default",ripple:"",rounded:"",icon:"",onClick:Tt(n.toggleMenu,["stop"])},{default:z(()=>[L(a,{color:"granite-light",size:"m"})]),_:1},8,["onClick"])),o.smartviewMenu?(Q(),te(A,{key:2,"menu-items":o.menuItems,class:"smartviews-actions__menu",width:"180px","children-left":!0,"sub-list-width":"218px"},{item:z(({item:g})=>[L(c,{name:g.icon,size:"xs",margin:"0 var(--spacing-unit) 0 0"},null,8,["name"]),B("span",null,ee(t.$t(g.text)),1),g.key===4?(Q(),te(d,{key:0,size:"xxs",margin:"0 0 0 6px"})):fe("",!0)]),children:z(({item:g})=>[g.key===4?(Q(),N("div",kkt,[L(u,{style:{"min-width":"202px"},class:"color-selector","model-value":i.smartviewColor.slice(1),"onUpdate:modelValue":e[0]||(e[0]=p=>n.onModifySmartviewColorClick(`#${p}`))},null,8,["model-value"])])):fe("",!0)]),_:1},8,["menu-items"])):fe("",!0)])),[[h,()=>o.smartviewMenu=!1]])}const Skt=K(Bkt,[["render",Mkt],["__scopeId","data-v-38e36c0b"]]),Qkt={props:{isOneSmartviewIsWarning:{type:Boolean,default:!1},loadedModelIds:{type:Array,default:()=>[]},smartviews:{type:Array,default:()=>[]}},setup(t){const e=_t("$viewer"),i=_e(!1),r=_e([]),o=At(()=>{const s=t.smartviews.map(a=>a.models).flat().filter(a=>!t.loadedModelIds.includes(a));return r.value.filter(a=>s.includes(a.id)).map(({id:a,name:l})=>({id:a,name:l}))}),n=async s=>{try{return(await e.api.apiClient.modelApi.getModels(e.api.cloudId,e.api.projectId,void 0,void 0,s)).filter(a=>e.state.models.some(l=>l.archived)||!a.archived).sort(s1("updated_at",!1))}catch(a){console.error("[Models] Cannot get project models. Error: ",a)}return[]};return Sr(()=>{n(e.localContext.modelTypes).then(s=>{r.value=s})}),{isOpenModalNameModel:i,modelsNotLoaded:o}}},Dkt={class:"smartviews-infos flex justify-between items-center"},Pkt={class:"p-x-12 color-granite"},Rkt={key:0,class:"warning-element__icon p-x-12"},Lkt={key:0,class:"warning-element__modal p-12"},Tkt={class:"bimdata-list"};function Fkt(t,e,i,r,o,n){const s=R("BIMDataIconWarning"),a=R("BIMDataButton"),l=ir("click-away");return Q(),N("div",Dkt,[B("p",Pkt,ee(i.smartviews.length)+" "+ee(t.$t("smartview.smartviews")),1),i.isOneSmartviewIsWarning?Ft((Q(),N("div",Rkt,[L(a,{color:"default",fill:"",radius:"",icon:"",onClick:e[0]||(e[0]=c=>r.isOpenModalNameModel=!r.isOpenModalNameModel)},{default:z(()=>[L(s,{fill:"",color:"warning",size:"xs"})]),_:1}),r.isOpenModalNameModel?(Q(),N("div",Lkt,[B("h5",null,ee(t.$t("smartview.models_to_load_title")),1),B("ul",Tkt,[(Q(!0),N(Et,null,Wt(r.modelsNotLoaded,c=>(Q(),N("li",{key:c.id},[B("span",null,ee(c.name),1)]))),128))])])):fe("",!0)])),[[l,()=>r.isOpenModalNameModel=!1]]):fe("",!0)])}const _kt=K(Qkt,[["render",Fkt],["__scopeId","data-v-1f41aeea"]]),Ukt={components:{EmptySmartview:Ikt,SmartviewsActions:Skt,SmartviewsInfos:_kt},props:{smartviews:{type:Array,default:()=>[]},loading:{type:Boolean},models:{type:Array,default:()=>[]},selectAllState:{type:Boolean,default:!1},showState:{type:Boolean,default:!1},isolateState:{type:Boolean,default:!1},selectedSmartviewsGuid:{type:Array,default:()=>[]},smartviewsInLoadedModels:{type:Array,default:()=>[]}},emits:["delete-smartview","rename-smartview","create-smartview","see-elements","update-color","toggle-select-all-state","toggle-isolate-state","toggle-show-state","toggle-full-smartviews","toggle-smartview","edit-smartview"],data(){return{loadingSmartviewGuid:[],isNewSmartview:!1,isOpenDeleteModal:!1,newSmartviewGuid:"",smartviewColorEditing:null,smartviewTitleEditing:null,smartviewToDelete:{}}},computed:{loadedModelIds(){return Array.from(this.$viewer.localContext.pluginComponentInstances.get("viewer3d").loadedIfcIds)},fullSelectionRef(){return this.smartviewsInLoadedModels.length>0&&this.selectedSmartviewsGuid.length===this.smartviewsInLoadedModels.length?!0:this.selectedSmartviewsGuid.length>0?null:!1},isOneSmartviewIsWarning(){return this.smartviews.some(t=>t.models.some(e=>!this.loadedModelIds.includes(e)))},selectedSmartviews(){return this.smartviews.filter(t=>this.selectedSmartviewsGuid.includes(t.guid))},selectedSmartviewElements(){return this.selectedSmartviews.map(t=>Bu(t))},selectedUUIDs(){return Array.from(new Set(this.selectedSmartviewElements.flatMap(({components:t})=>t.map(e=>e.ifc_guid))))},modelUUIDs(){return this.$viewer.localContext.loadedModels.flatMap(t=>t.objects.map(Ia("uuid")))},notSelectedUUIDs(){return this.modelUUIDs.filter(t=>!this.selectedUUIDs.includes(t))},viewer3dPlugin(){return this.$viewer.localContext.pluginComponentInstances.get("viewer3d")}},watch:{selectedSmartviews(t){t.length===0&&this.resetState()}},created(){this.selectedSmartviews.length===0&&this.resetState()},mounted(){this.$watch(()=>this.selectedSmartviews+this.selectAllState+this.showState+this.isolateState,()=>{var t;const e={},{selectedUUIDs:i,modelUUIDs:r,notSelectedUUIDs:o}=this;this.selectedSmartviewElements.forEach(({color:n,components:s})=>s.forEach(a=>{e[a.ifc_guid]=n})),jue(this.$viewer),zue(this.$viewer,i,e),(t=this.viewer3dPlugin)==null||t.fitView(i),this.selectAllState?(que(this.$viewer),this.$viewer.state.selectObjectsByUuids(i)):this.$viewer.state.deselectObjectsByUuids(i),this.showState?(qM(this.$viewer),this.$viewer.state.hideObjectsByUuids(o)):qM(this.$viewer),this.isolateState?(this.$viewer.state.unxrayObjectsByUuids(r),this.$viewer.state.setObjectsPickableByUuids(r),this.$viewer.state.xrayObjectsByUuids(o),this.$viewer.state.setObjectsUnpickableByUuids(o)):(this.$viewer.state.unxrayObjectsByUuids(r),this.$viewer.state.setObjectsPickableByUuids(r))},{immediate:!0})},methods:{resetState(){this.selectAllState&&this.$emit("toggle-select-all-state"),this.showState&&this.$emit("toggle-show-state"),this.isolateState&&this.$emit("toggle-isolate-state")},getSmartviewData(t){return Bu(t)},newSmartviewClick(){this.isNewSmartview=!0},goToSmartview(){this.isNewSmartview=!1},onSeeSmartviewElements(t){this.$emit("see-elements",t)},resetFitView(){this.viewer3dPlugin.fitView()},closeRenameForm(){this.smartviewTitleEditing=null},onDeleteClick(t){this.smartviewToDelete=t,this.isOpenDeleteModal=!0},smartviewIsInLoadedModel(t){return t?.models.every(e=>this.loadedModelIds.includes(e))},onEditSmartview(t){this.$emit("edit-smartview",t)},onRenameSmartview(t){this.smartviewTitleEditing=t,this.$nextTick(()=>{this.$refs.elementInput&&this.$refs.elementInput[0].focus()})},async deleteSmartview(){await this.$viewer.api.apiClient.bcfApi.deleteTopic(this.smartviewToDelete.guid,this.$viewer.api.projectId,"bimdata-smartview"),this.$emit("delete-smartview"),this.isOpenDeleteModal=!1},async updateSmartviewTitle(t){const e={guid:t.guid,title:t.title};await this.$viewer.api.apiClient.bcfApi.updateFullTopic(t.guid,this.$viewer.api.projectId,"bimdata-smartview",e),this.smartviewTitleEditing=null,this.$emit("rename-smartview")},async onModifySmartviewColor(t,e){const i={index:t.viewpoints[0].index,guid:t.viewpoints[0].guid,components:{coloring:[{color:e,components:Bu(t).components.map(o=>({ifc_guid:o.ifc_guid,originating_system:o.originating_system,authoring_tool_id:o.authoring_tool_id}))}]}},r={guid:t.guid,viewpoints:[i]};try{this.loadingSmartviewGuid.push(t.guid),await this.$viewer.api.apiClient.bcfApi.updateFullTopic(t.guid,this.$viewer.api.projectId,"bimdata-smartview",r),this.$emit("update-color")}catch(o){console.log(o)}finally{this.loadingSmartviewGuid=[]}}}},Nkt={class:"smartviews p-6"},Okt={key:1},Hkt={key:2,class:"smartviews__content"},Vkt={class:"smartviews__content__header"},Gkt={class:"smartviews__content__actions"},jkt={key:0},zkt={key:1},qkt={key:0},Kkt={key:1},Jkt={key:0},Ykt={key:1},Wkt={class:"flex items-center"},Zkt={style:{"max-width":"239px"}},Xkt={key:0,class:"flex items-center"},$kt={class:"flex"},eMt=["onClick"],tMt={class:"smartviews__content__list__right flex items-center"},iMt={key:0,class:"flex m-r-12"},rMt={key:1},oMt=["src"],nMt={key:1,class:"initials flex items-center justify-center"};function sMt(t,e,i,r,o,n){const s=R("EmptySmartview"),a=R("BIMDataLoading"),l=R("BIMDataIconSmartview"),c=R("BIMDataButton"),d=R("SmartviewsInfos"),u=R("BIMDataCheckbox"),A=R("BIMDataIconQuickSelect"),h=R("BIMDataIconIsolate"),g=R("BIMDataIconHide"),p=R("BIMDataInput"),m=R("BIMDataIconClose"),f=R("BIMDataTextbox"),C=R("BIMDataIconWarning"),y=R("BIMDataTooltip"),v=R("SmartviewsActions"),w=R("BIMDataPaginatedList"),b=R("BIMDataSafeZoneModal");return Q(),N("div",Nkt,[i.smartviews.length===0||o.isNewSmartview?(Q(),te(s,{key:0,smartviews:i.smartviews,onCreateSmartview:e[0]||(e[0]=E=>t.$emit("create-smartview")),onGoToSmartview:n.goToSmartview},null,8,["smartviews","onGoToSmartview"])):i.loading?(Q(),N("div",Okt,[L(a)])):(Q(),N("div",Hkt,[B("div",Vkt,[L(c,{color:"default",fill:"",radius:"",icon:"",width:"100%",onClick:n.newSmartviewClick},{default:z(()=>[L(l,{size:"s",margin:"0 var(--spacing-unit) 0 0"}),B("span",null,ee(t.$t("smartview.add_smartview")),1)]),_:1},8,["onClick"])]),L(d,{"is-one-smartview-is-warning":n.isOneSmartviewIsWarning,"loaded-model-ids":n.loadedModelIds,smartviews:i.smartviews},null,8,["is-one-smartview-is-warning","loaded-model-ids","smartviews"]),B("div",Gkt,[L(u,{"model-value":n.fullSelectionRef,disabled:i.smartviewsInLoadedModels.length===0,"onUpdate:modelValue":e[1]||(e[1]=E=>t.$emit("toggle-full-smartviews"))},null,8,["model-value","disabled"]),L(c,{disabled:i.selectedSmartviewsGuid.length===0,color:i.selectAllState?"primary":"default",fill:"",radius:"",onClick:e[2]||(e[2]=E=>t.$emit("toggle-select-all-state"))},{default:z(()=>[L(A,{size:"s",margin:"0 6px 0 0"}),i.selectAllState?(Q(),N("span",jkt,ee(t.$t("context_menu.deselect_all")),1)):(Q(),N("span",zkt,ee(t.$t("context_menu.select_all")),1))]),_:1},8,["disabled","color"]),L(c,{disabled:i.selectedSmartviewsGuid.length===0,color:i.isolateState?"primary":"default",fill:"",radius:"",onClick:e[3]||(e[3]=E=>t.$emit("toggle-isolate-state"))},{default:z(()=>[L(h,{size:"s",margin:"0 6px 0 0"}),i.isolateState?(Q(),N("span",qkt,ee(t.$t("context_menu.reintegrate")),1)):(Q(),N("span",Kkt,ee(t.$t("context_menu.isolate")),1))]),_:1},8,["disabled","color"]),L(c,{disabled:i.selectedSmartviewsGuid.length===0,color:i.showState?"primary":"default",fill:"",radius:"",onClick:e[4]||(e[4]=E=>t.$emit("toggle-show-state"))},{default:z(()=>[L(g,{size:"s",margin:"0 6px 0 0"}),i.showState?(Q(),N("span",Jkt,ee(t.$t("global.show")),1)):(Q(),N("span",Ykt,ee(t.$t("context_menu.hide")),1))]),_:1},8,["disabled","color"])]),L(w,{list:i.smartviews,"per-page":25,"element-key":"id",class:"smartviews__content__list m-t-12"},{element:z(({element:E})=>[B("div",{class:be(["flex justify-between",{warning:!n.smartviewIsInLoadedModel(E)}])},[B("div",Wkt,[L(u,{disabled:!n.smartviewIsInLoadedModel(E),"model-value":i.selectedSmartviewsGuid.includes(E.guid),margin:"0 var(--spacing-unit) 0 0","onUpdate:modelValue":k=>t.$emit("toggle-smartview",E,k)},null,8,["disabled","model-value","onUpdate:modelValue"]),L(l,{size:"s",margin:"0 var(--spacing-unit) 0 0",color:"granite",fill:""}),B("div",Zkt,[E===o.smartviewTitleEditing?(Q(),N("div",Xkt,[L(p,{ref:"elementInput",modelValue:E.title,"onUpdate:modelValue":k=>E.title=k,focus:"",onKeypress:di(Tt(k=>n.updateSmartviewTitle(E),["stop"]),["enter"]),onKeyup:di(Tt(n.closeRenameForm,["stop"]),["esc"]),onClick:e[5]||(e[5]=Tt(()=>{},["stop"]))},null,8,["modelValue","onUpdate:modelValue","onKeypress","onKeyup"]),B("div",$kt,[L(c,{class:"m-x-6",color:"primary",fill:"",radius:"",onClick:Tt(k=>n.updateSmartviewTitle(E),["stop"])},{default:z(()=>[gt(ee(t.$t("global.validate")),1)]),_:2},1032,["onClick"]),L(c,{ghost:"",rounded:"",icon:"",onClick:Tt(n.closeRenameForm,["stop"])},{default:z(()=>[L(m,{size:"xxs"})]),_:1},8,["onClick"])])])):(Q(),N("div",{key:1,class:"smartview-tag p-6",style:Be({"background-color":n.getSmartviewData(E).color+"25"}),onClick:k=>n.onSeeSmartviewElements(E)},[L(f,{text:E.title,"cut-position":"middle","tooltip-position":"bottom","tooltip-color":"primary",width:"100%",style:Be({color:n.getSmartviewData(E).color})},null,8,["text","style"])],12,eMt))])]),B("div",tMt,[n.smartviewIsInLoadedModel(E)?fe("",!0):(Q(),N("div",iMt,[L(C,{fill:"",color:"warning",size:"xs"})])),E.creator?(Q(),N("div",rMt,[E.creator.profile_picture?(Q(),te(y,{key:0,text:E.creator.email,position:"left"},{default:z(()=>[B("img",{src:E.creator.profile_picture},null,8,oMt)]),_:2},1032,["text"])):(Q(),N("div",nMt,ee(E.creator.firstname.substring(0,1))+" "+ee(E.creator.lastname.substring(0,1)),1))])):fe("",!0),L(v,{"smartview-color":n.getSmartviewData(E).color,"is-loading":o.loadingSmartviewGuid.includes(E.guid),onEdit:k=>n.onEditSmartview(E),onRename:k=>n.onRenameSmartview(E),onModifyColor:k=>n.onModifySmartviewColor(E,k),onSeeElements:k=>n.onSeeSmartviewElements(E),onDelete:k=>n.onDeleteClick(E)},null,8,["smartview-color","is-loading","onEdit","onRename","onModifyColor","onSeeElements","onDelete"])])],2)]),_:1},8,["list"]),o.isOpenDeleteModal?(Q(),te(b,{key:0},{text:z(()=>[gt(ee(t.$t("smartview.modal_delete_title"))+" "+ee(o.smartviewToDelete.title),1)]),actions:z(()=>[L(c,{color:"high",fill:"",radius:"",class:"m-r-12",onClick:n.deleteSmartview},{default:z(()=>[gt(ee(t.$t("smartview.modal_confirm_btn")),1)]),_:1},8,["onClick"]),L(c,{color:"primary",outline:"",radius:"",onClick:e[6]||(e[6]=E=>o.isOpenDeleteModal=!1)},{default:z(()=>[gt(ee(t.$t("smartview.modal_close_btn")),1)]),_:1})]),_:1})):fe("",!0)]))])}const aMt=K(Ukt,[["render",sMt],["__scopeId","data-v-b24b1f55"]]),lMt={props:{text:{type:String,required:!0}},data(){return{isHover:!1}}},cMt={class:"warning-element flex items-center"},dMt={class:"warning-element__content--icon"},uMt={class:"warning-element__content--text"};function AMt(t,e,i,r,o,n){const s=R("BIMDataIconWarning");return Q(),N("div",cMt,[B("div",{class:"warning-element__content",onMouseenter:e[0]||(e[0]=a=>o.isHover=!0),onMouseleave:e[1]||(e[1]=a=>o.isHover=!1)},[B("div",dMt,[L(s,{fill:"",color:"warning",size:"xs"})]),B("span",uMt,ee(i.text),1)],32)])}const hMt=K(lMt,[["render",AMt],["__scopeId","data-v-0ad0be00"]]),pMt={components:{WarningElement:hMt},props:{smartview:{type:Object},models:{type:Array},selectAllState:{type:Boolean,default:!1},showState:{type:Boolean,default:!1},isolateState:{type:Boolean,default:!1}},emits:["toggle-select-all-state","toggle-isolate-state","toggle-show-state","back"],data(){return{activeElements:new Set,isOpenModalNameModel:!1,viewer3dPlugin:null,searchText:"",stateSubscriptions:[],selectedObjects:[],selectedSmartviewFilter:[]}},computed:{loadedModelIds(){return Array.from(this.$viewer.localContext.pluginComponentInstances.get("viewer3d").loadedIfcIds)},modelsNotLoaded(){const t=this.smartview.models.filter(e=>!this.loadedModelIds.includes(e));return this.models.map(({id:e,name:i})=>({id:e,name:i})).filter(e=>t.includes(e.id))},filteredElements(){const t=Bu(this.smartview).components;return this.searchText===""?t:t.filter(e=>e.originating_system.toLowerCase().includes(this.searchText.toLowerCase()))},smartviewObjects(){return Bu(this.smartview).components??[]},smartviewUUIDs(){return this.smartviewObjects.map(t=>t.ifc_guid)},allUUIDs(){return this.$viewer.localContext.loadedModels.flatMap(t=>t.objects.map(Ia("uuid")))},notSmartviewUUIDs(){return this.allUUIDs.filter(t=>!this.smartviewUUIDs.includes(t))}},created(){var t;this.viewer3dPlugin=this.$viewer.localContext.viewer;const e=Bu(this.smartview).color;jue(this.$viewer),zue(this.$viewer,this.smartviewUUIDs,e),(t=this.viewer3dPlugin)==null||t.fitView(this.smartviewUUIDs),this.$watch(()=>""+this.selectAllState+this.showState+this.isolateState,()=>{const{smartviewUUIDs:r,allUUIDs:o,notSmartviewUUIDs:n}=this;this.selectAllState?(que(this.$viewer),this.$viewer.state.selectObjectsByUuids(r)):this.$viewer.state.deselectObjectsByUuids(r),this.showState?(qM(this.$viewer),this.$viewer.state.hideObjectsByUuids(n)):qM(this.$viewer),this.isolateState?(this.$viewer.state.unxrayObjectsByUuids(o),this.$viewer.state.setObjectsPickableByUuids(o),this.$viewer.state.xrayObjectsByUuids(n),this.$viewer.state.setObjectsUnpickableByUuids(n)):(this.$viewer.state.unxrayObjectsByUuids(o),this.$viewer.state.setObjectsPickableByUuids(o))},{immediate:!0});const i=()=>{this.selectedObjects=this.$viewer.state.selectedObjects,this.$viewer.state.selectedObjects.length?this.activeElements=new Set([this.$viewer.state.selectedObjects.map(r=>r.uuid)]):this.activeElements=new Set};this.stateSubscriptions=[this.$viewer.state.hub.on("objects-deselected",i),this.$viewer.state.hub.on("objects-selected",i)],i()},unmounted(){this.$viewer.state.hub.off(this.stateSubscription)},methods:{getSmartviewData(t){return Bu(t)},goBack(){this.$emit("back")},isActive(t){for(let e of this.activeElements)if(e.includes(t))return!0;return!1},onElementClick(t){const e=this.$viewer.state.getObjectsByUuids([t.ifc_guid])[0].id,i=this.$viewer.state.objects.filter(Mr("selected")).map(Ia("id"));this.$viewer.state.deselectObjects(i),i.includes(e)?this.viewer3dPlugin.fitView(this.smartviewObjects.map(r=>r.ifc_guid)):(this.activeElements=new Set([t.ifc_guid]),this.$viewer.state.selectObjects([e]),this.viewer3dPlugin.fitView([t.ifc_guid]))},isInLoadedModel(t){return this.loadedModelIds.includes(+t.authoring_tool_id)}}},gMt={class:"see-smartview-elements"},fMt={class:"see-smartview-elements__header p-12 flex items-center justify-between"},mMt={class:"see-smartview-elements__header__right flex items-center"},vMt={key:0,class:"warning-element__icon p-x-12"},CMt={key:0,class:"warning-element__modal p-12"},yMt={class:"bimdata-list"},wMt={class:"elements flex items-center"},bMt={class:"elements__content"},IMt={class:"see-smartview-elements__actions flex justify-between m-x-12 m-b-12"},BMt={key:0},EMt={key:1},xMt={key:0},kMt={key:1},MMt={key:0},SMt={key:1},QMt={class:"m-x-12 m-b-12"},DMt={class:"see-smartview-elements__list bimdata-list"},PMt=["onClick"];function RMt(t,e,i,r,o,n){const s=R("BIMDataIconArrow"),a=R("BIMDataButton"),l=R("BIMDataIconWarning"),c=R("BIMDataIconQuickSelect"),d=R("BIMDataIconIsolate"),u=R("BIMDataIconHide"),A=R("BIMDataSearch"),h=R("BIMDataTextbox"),g=R("WarningElement"),p=R("BIMDataPaginatedList"),m=ir("click-away");return Q(),N("div",gMt,[B("div",fMt,[L(a,{color:"default",ghost:"",radius:"",onClick:n.goBack},{default:z(()=>[L(s,{fill:"",color:"default",size:"xxs",margin:"0 calc(var(--spacing-unit) / 2) 0 0"}),gt(" "+ee(t.$t("global.go_back")),1)]),_:1},8,["onClick"]),B("div",mMt,[n.modelsNotLoaded.length?Ft((Q(),N("div",vMt,[L(a,{color:"default",fill:"",radius:"",icon:"",onClick:e[0]||(e[0]=f=>o.isOpenModalNameModel=!o.isOpenModalNameModel)},{default:z(()=>[L(l,{fill:"",color:"warning",size:"xs"})]),_:1}),o.isOpenModalNameModel?(Q(),N("div",CMt,[B("h5",null,ee(t.$t("smartview.models_to_load_title")),1),B("ul",yMt,[(Q(!0),N(Et,null,Wt(n.modelsNotLoaded,f=>(Q(),N("li",{key:f.id},[B("span",null,ee(f.name),1)]))),128))])])):fe("",!0)])),[[m,()=>o.isOpenModalNameModel=!1]]):fe("",!0),B("div",wMt,[B("span",bMt,ee(n.getSmartviewData(i.smartview).components.length),1),gt(" - "+ee(t.$t("smartview.elements")),1)])])]),B("div",IMt,[L(a,{color:i.selectAllState?"primary":"default",fill:"",radius:"",width:"160px",onClick:e[1]||(e[1]=f=>t.$emit("toggle-select-all-state"))},{default:z(()=>[L(c,{size:"s",margin:"0 6px 0 0"}),i.selectAllState?(Q(),N("span",BMt,ee(t.$t("context_menu.deselect_all")),1)):(Q(),N("span",EMt,ee(t.$t("context_menu.select_all")),1))]),_:1},8,["color"]),L(a,{color:i.isolateState?"primary":"default",fill:"",radius:"",width:"100px",onClick:e[2]||(e[2]=f=>t.$emit("toggle-isolate-state"))},{default:z(()=>[L(d,{size:"s",margin:"0 6px 0 0"}),i.isolateState?(Q(),N("span",xMt,ee(t.$t("context_menu.reintegrate")),1)):(Q(),N("span",kMt,ee(t.$t("context_menu.isolate")),1))]),_:1},8,["color"]),L(a,{color:i.showState?"primary":"default",fill:"",radius:"",width:"100px",onClick:e[3]||(e[3]=f=>t.$emit("toggle-show-state"))},{default:z(()=>[L(u,{size:"s",margin:"0 6px 0 0"}),i.showState?(Q(),N("span",MMt,ee(t.$t("global.show")),1)):(Q(),N("span",SMt,ee(t.$t("context_menu.hide")),1))]),_:1},8,["color"])]),B("div",QMt,[L(A,{modelValue:o.searchText,"onUpdate:modelValue":e[4]||(e[4]=f=>o.searchText=f),placeholder:t.$t("global.search"),color:"primary",radius:"",width:"100%",height:"32px"},null,8,["modelValue","placeholder"])]),B("ul",DMt,[L(p,{list:n.filteredElements,"element-key":"ifc_guid","per-page":50,class:"see-smartview-elements__list--paginated","active-element":{ifc_guid:[...o.activeElements][0]}},{element:z(({element:f})=>[B("div",{class:be(["see-smartview-elements__list__element flex items-center p-x-12 p-y-6",{"active-element":n.isActive(f.ifc_guid),disabled:!n.isInLoadedModel(f)}]),onClick:C=>n.onElementClick(f)},[L(h,{"max-width":"calc(100% - 18px)",text:f.originating_system},null,8,["text"])],10,PMt),n.isInLoadedModel(f)?fe("",!0):(Q(),te(g,{key:0,text:t.$t("smartview.smartview_warning")},null,8,["text"]))]),_:1},8,["list","active-element"])])])}const LMt=K(pMt,[["render",RMt],["__scopeId","data-v-1016b8eb"]]),wd=Object.freeze({LIST:1,EDIT:2,VALIDATE:3,OVERVIEW:4}),TMt={components:{CreateSmartview:pkt,SeeSmartviewElements:LMt,Smartviews:aMt,EditSmartviewElements:Yxt},data(){return{elements:[],loading:!1,smartview:{},smartviews:[],users:[],PAGES:wd,viewer3dPlugin:null,currentPage:wd.LIST,selectAllState:!1,showState:!1,isolateState:!1,selectedSmartviewsGuid:[]}},computed:{loadedModelIds(){return this.$viewer.localContext.loadedModelIds},models(){return this.$viewer.localContext.loadedModels},selectedSmartviews(){return this.smartviews.filter(t=>this.selectedSmartviewsGuid.includes(t.guid))},smartviewsInLoadedModels(){return this.smartviews.filter(t=>t.models.every(e=>this.loadedModelIds.includes(e)))}},created(){this.viewer3dPlugin=this.$viewer.localContext.viewer,this.getSmartviews(),this.stateSubscriptions=[this.$viewer.state.hub.on("objects-selected",()=>{if(this.selectAllState)return;const t=this.getCurrentObjectUuids();if(t.length===0)return;const e=this.$viewer.state.selectedObjectsUuids;t.every(i=>e.includes(i))&&(this.selectAllState=!0)}),this.$viewer.state.hub.on("objects-deselected",({objects:t})=>{if(!this.selectAllState)return;const e=this.getCurrentObjectUuids(),i=t.map(r=>r.uuid);e.some(r=>i.includes(r))&&(this.selectAllState=!1)})]},unmounted(){this.stateSubscriptions.forEach(t=>this.$viewer.state.hub.off(t))},async mounted(){const t=this;this.$viewer.contextMenu.registerCommand({get label(){var e;return((e=t.$refs.elements)==null?void 0:e.elements.length)>0||this.currentPage===wd.EDIT?t.$t("context_menu.add_to_smartview"):t.$t("context_menu.create_smartview")},group:2,position:1,execute:this.onAddToSmartviewClick,predicate:()=>this.$viewer.state.objects.filter(e=>this.loadedModelIds.includes(e.model.id)).some(gA(Mr("selected"),Mr("visible")))})},methods:{getCurrentObjectUuids(){return(this.currentPage===wd.OVERVIEW?[this.smartview]:this.selectedSmartviews).flatMap(t=>Bu(t).components.map(e=>e.ifc_guid))},resetColorizeObjectsByUuids(t){this.$viewer.state.colorizeObjectsByUuids(t,null)},resetColorizeObjects(){this.resetColorizeObjectsByUuids(this.$viewer.state.colorizedObjects.map(t=>t.uuid))},resetFitView(){this.viewer3dPlugin.fitView()},colorizeAndFitView(t,e){typeof e=="object"?t.forEach(i=>{this.$viewer.state.colorizeObjectsByUuids([i],e[i])}):this.$viewer.state.colorizeObjectsByUuids(t,e),this.viewer3dPlugin.fitView(t)},onSmarviewElementsClick(t){this.$open(),this.currentPage=wd.EDIT,this.smartview=t},async onAddToSmartviewClick(){this.$open(),await this.$nextTick();const t=this.$viewer.state.selectedObjects;if(this.currentPage===wd.EDIT){const e=Bu(this.smartview),{components:i,color:r}=e;e.components=i.concat(t.map(n=>({ifc_guid:n.uuid,originating_system:n.longname||n.name,authoring_tool_id:n.model.id})));const o=e.components.map(n=>n.ifc_guid);this.$viewer.state.colorizeObjectsByUuids(o,r)}else this.create(t)},async editSmartviewElements(t){try{this.loading=!0;const e={title:this.smartview.title,models:this.loadedModelIds,viewpoints:[t],format:"bimdata-smartview"};await this.$viewer.api.apiClient.bcfApi.updateFullTopic(this.smartview.guid,this.$viewer.api.projectId,"bimdata-smartview",e),this.resetColorizeObjects(),this.onAddToSmartviewClick(),this.$viewer.state.deselectObjects(this.$viewer.state.objects.filter(Mr("selected")).map(Ia("id")))}finally{this.loading=!1}},create(t){t&&(this.currentPage=wd.VALIDATE,this.elements=t)},async createSmartview(t,e){if(!t)return;this.currentPage=wd.LIST;const i={components:{coloring:[{color:e,components:this.elements.map(o=>({ifc_guid:o.uuid,originating_system:o.longname||o.name,authoring_tool_id:o.model.id}))}]}},r={title:t,color:e,models:this.loadedModelIds,viewpoints:[i],format:"bimdata-smartview"};try{return this.loading=!0,await this.$viewer.api.apiClient.bcfApi.createFullTopic(this.$viewer.api.projectId,r),this.getSmartviews()}catch(o){console.error(o)}finally{this.loading=!1}},fetchSmartviews(){return this.getSmartviews()},async goToSmartviewElements(t){this.currentPage=wd.EDIT,await this.$nextTick(),this.$refs.elements.addObjects(t)},async getSmartviews(){this.smartviews=(await this.$viewer.api.apiClient.bcfApi.getFullTopics(this.$viewer.api.projectId,void 0,void 0,"bimdata-smartview")).map(t=>Object.assign(t,{creator:void 0})),this.users=await this.$viewer.api.apiClient.collaborationApi.getProjectUsers(this.$viewer.api.cloudId,this.$viewer.api.projectId),this.smartviews.forEach(t=>t.creator=this.users.find(e=>e.email===t.creation_author))},seeSmartviewElements(t){this.currentPage=wd.OVERVIEW,this.smartview=t},toggleSmartview(t,e){e?this.selectedSmartviewsGuid=this.selectedSmartviewsGuid.concat(t.guid):this.selectedSmartviewsGuid=this.selectedSmartviewsGuid.filter(i=>i!==t.guid)},toggleFullSmartviews(){this.selectedSmartviewsGuid.length===this.smartviewsInLoadedModels.length?(this.selectedSmartviewsGuid=[],this.resetColorizeObjects(),this.resetFitView()):this.selectedSmartviewsGuid=this.smartviewsInLoadedModels.map(t=>t.guid)},toggleSelectAllState(){this.selectAllState=!this.selectAllState},toggleShowState(){this.isolateState&&(this.isolateState=!1),this.showState=!this.showState},toggleIsolateState(){this.showState&&(this.showState=!1),this.isolateState=!this.isolateState},viewSmartviewElements(t){this.selectedSmartviewsGuid=[t.guid]},goToSmartviews(){this.currentPage=wd.LIST},backToSmartviews(){this.currentPage=wd.LIST}}},FMt={class:"bimdata-smartview"},_Mt={class:"bimdata-smartview__content"};function UMt(t,e,i,r,o,n){const s=R("Smartviews"),a=R("CreateSmartview"),l=R("EditSmartviewElements"),c=R("SeeSmartviewElements");return Q(),N("div",FMt,[B("div",_Mt,[o.currentPage===o.PAGES.LIST?(Q(),te(s,{key:0,loading:o.loading,models:n.models,smartviews:o.smartviews,"smartviews-in-loaded-models":n.smartviewsInLoadedModels,"selected-smartviews-guid":o.selectedSmartviewsGuid,"select-all-state":o.selectAllState,"show-state":o.showState,"isolate-state":o.isolateState,onToggleSmartview:n.toggleSmartview,onToggleFullSmartviews:n.toggleFullSmartviews,onToggleSelectAllState:n.toggleSelectAllState,onToggleShowState:n.toggleShowState,onToggleIsolateState:n.toggleIsolateState,onEditSmartview:n.onSmarviewElementsClick,onCreateSmartview:n.onAddToSmartviewClick,onDeleteSmartview:n.fetchSmartviews,onUpdateColor:n.fetchSmartviews,onSeeElements:n.seeSmartviewElements},null,8,["loading","models","smartviews","smartviews-in-loaded-models","selected-smartviews-guid","select-all-state","show-state","isolate-state","onToggleSmartview","onToggleFullSmartviews","onToggleSelectAllState","onToggleShowState","onToggleIsolateState","onEditSmartview","onCreateSmartview","onDeleteSmartview","onUpdateColor","onSeeElements"])):o.currentPage===o.PAGES.VALIDATE?(Q(),te(a,{key:1,elements:o.elements,onCreateSmartview:n.createSmartview,onBack:n.goToSmartviews},null,8,["elements","onCreateSmartview","onBack"])):o.currentPage===o.PAGES.EDIT?(Q(),te(l,{key:2,ref:"elements",loading:o.loading,smartview:o.smartview,onEmpty:n.goToSmartviews,onEdit:e[0]||(e[0]=d=>n.editSmartviewElements(d)),onBack:n.backToSmartviews},null,8,["loading","smartview","onEmpty","onBack"])):o.currentPage===o.PAGES.OVERVIEW?(Q(),te(c,{key:3,models:n.models,smartview:o.smartview,"select-all-state":o.selectAllState,"show-state":o.showState,"isolate-state":o.isolateState,onBack:n.goToSmartviews,onToggleSelectAllState:n.toggleSelectAllState,onToggleShowState:n.toggleShowState,onToggleIsolateState:n.toggleIsolateState},null,8,["models","smartview","select-all-state","show-state","isolate-state","onBack","onToggleSelectAllState","onToggleShowState","onToggleIsolateState"])):fe("",!0)])])}const NMt=K(TMt,[["render",UMt],["__scopeId","data-v-6ac1b0b1"]]),OMt="Smartview",HMt="Modifier la couleur",VMt="Voir les \xE9l\xE9ments",GMt="Enregistrer la smartview",jMt="Mettre un nom",zMt="Nom de votre smartview",qMt="Mettre une couleur",KMt="Couleur de la smartview",JMt="Cr\xE9er la smartview",YMt="\xC9l\xE9ments",WMt="Tout supprimer",ZMt="Supprimer la s\xE9lection",XMt="Valider la s\xE9lection",$Mt="Cr\xE9ez la smartview",eSt="S\xE9lectionnez 1 ou plusieurs \xE9l\xE9ments dans votre mod\xE8le 3D, puis faites un clic droit, et cliquez sur 'Ajouter \xE0 une smartview' pour commencer \xE0 cr\xE9er votre smartview.",tSt="smartviews",iSt="+ Smartview",rSt="Vous \xEAtes sur le point de supprimer",oSt="Supprimer la smartview",nSt="Garder la smartview",sSt="Models \xE0 charger :",aSt="La ou les maquettes correspondantes ne sont pas charg\xE9es",lSt="Modifier la selection",cSt="Cr\xE9er \xE0 partir de la s\xE9lection",dSt={tooltip:OMt,modify_color:HMt,see_elements:VMt,save_smartview:GMt,smartview_name_title:jMt,smartview_name_text:zMt,smartview_color_title:qMt,smartview_color_text:KMt,create_smartview:JMt,elements:YMt,delete_all:WMt,delete_selection:ZMt,validate_selection:XMt,create_smartview_title:$Mt,create_smartview_text:eSt,smartviews:tSt,add_smartview:iSt,modal_delete_title:rSt,modal_confirm_btn:oSt,modal_close_btn:nSt,models_to_load_title:sSt,smartview_warning:aSt,edit_selection:lSt,create_smartview_btn:cSt},uSt="Smartview",ASt="Change color",hSt="See elements",pSt="Save smartview",gSt="Set name",fSt="Smartview name",mSt="Set color",vSt="Smartview color",CSt="Create smartview",ySt="Elements",wSt="Delete all",bSt="Delete selection",ISt="Validate selection",BSt="Create",ESt="Select 1 or more elements on your model, right click, then click on 'Create smartview' entry to create your smartview.",xSt="smartviews",kSt="+ Smartview",MSt="You are about to delete",SSt="Delete smartview",QSt="Keep smartview",DSt="Models to load:",PSt="Associated models are not loaded",RSt="Change selection",LSt="Create from selection",TSt={tooltip:uSt,modify_color:ASt,see_elements:hSt,save_smartview:pSt,smartview_name_title:gSt,smartview_name_text:fSt,smartview_color_title:mSt,smartview_color_text:vSt,create_smartview:CSt,elements:ySt,delete_all:wSt,delete_selection:bSt,validate_selection:ISt,create_smartview_title:BSt,create_smartview_text:ESt,smartviews:xSt,add_smartview:kSt,modal_delete_title:MSt,modal_confirm_btn:SSt,modal_close_btn:QSt,models_to_load_title:DSt,smartview_warning:PSt,edit_selection:RSt,create_smartview_btn:LSt},FSt={name:"smartview",i18n:{fr:dSt,en:TSt},component:NMt,addToWindows:["3d"],button:{tooltip:"smartview.tooltip",position:"right",content:"panel",keepOpen:!0,icon:{component:"BIMDataIconSmartview",options:{size:"m"}}}},_St={props:{visible:{type:Boolean,default:!1},label:{type:String,required:!0},active:{type:Boolean,default:!1}},emits:["click","hide","show","delete"]},USt={class:"left"},NSt=["title"],OSt={class:"label"};function HSt(t,e,i,r,o,n){const s=R("BIMDataIconHide"),a=R("BIMDataIconShow"),l=R("BIMDataIconDelete"),c=R("BIMDataButton");return Q(),te(c,{width:"100%",height:"32px",color:i.active?"primary":"default",outline:"",radius:"",class:be(["section-plane",{visible:i.visible}]),onClick:e[3]||(e[3]=d=>t.$emit("click"))},{default:z(()=>[B("div",USt,[B("div",{title:i.visible?t.$t("section.hide"):t.$t("section.show"),class:"section-plane__icon"},[i.visible?(Q(),te(s,{key:0,class:"fill-granite",size:"xxs",onClick:e[0]||(e[0]=Tt(d=>t.$emit("hide"),["stop"]))})):(Q(),te(a,{key:1,class:"fill-granite",size:"xxs",onClick:e[1]||(e[1]=Tt(d=>t.$emit("show"),["stop"]))}))],8,NSt),B("div",OSt,ee(i.label),1)]),L(l,{class:"fill-granite",size:"xxs",onClick:e[2]||(e[2]=Tt(d=>t.$emit("delete"),["stop"]))})]),_:1},8,["color","class"])}const VSt=K(_St,[["render",HSt],["__scopeId","data-v-fe8c3bfa"]]),GSt=.01,jSt={name:"BIMDataSection",components:{SectionPlane:VSt},data(){return{planes:[],activeSectionPlane:null,sectionHighlightMaterial:{fillColor:new Float32Array([1,0,0]),fillAlpha:.8},addSectionMode:!1}},computed:{viewerPlugin(){const t=this.$viewer.localContext.pluginComponentInstances.get("viewer3d")||this.$viewer.localContext.pluginComponentInstances.get("pointCloud");if(t&&t.xeokit)return t;{const e="Section plugin cannot work without a plugin with xeokit enabled.";throw console.error(e),new Error(e)}}},watch:{addSectionMode(t,e){var i,r,o,n;t?(this.$viewer.localContext.el.style.setProperty("cursor","copy"),this.viewerPlugin.selectOnClick=!1,this.pickedSectionSubscription=this.viewerPlugin.xeokit.scene.input.on("mouseclicked",s=>{var a,l=this.viewerPlugin.xeokit.scene.pick({canvasPos:s,pickSurface:!0});if(l){const c=this.createSectionPlane({position:l.worldPos,direction:l.worldNormal,pointCloud:((a=l.entity)==null?void 0:a.numTriangles)===0});this.activeSectionPlane=c,this.addSectionMode=!1}}),(r=(i=this.viewerPlugin).setHighlightMaterial)==null||r.call(i,this.sectionHighlightMaterial)):(e&&(this.$viewer.localContext.el.style.cursor=null),this.viewerPlugin.selectOnClick=!0,this.viewerPlugin.xeokit.scene.input.off(this.pickedSectionSubscription),(n=(o=this.viewerPlugin).setHighlightMaterial)==null||n.call(o))},activeSectionPlane(t){t?this.sectionPlanesPlugin.showControl(t.id):this.sectionPlanesPlugin.hideControl()}},mounted(){this.sectionPlanesPlugin=new this.viewerPlugin.xeokitSdk.SectionPlanesPlugin(this.viewerPlugin.xeokit,{id:"SectionPlanes",overviewVisible:!1}),this.sectionPlaneCreatedSubscription=this.viewerPlugin.xeokit.scene.on("sectionPlaneCreated",()=>{this.planes=this.getPlanes()}),this.sectionPlaneDestroyedSubscription=this.viewerPlugin.xeokit.scene.on("sectionPlaneDestroyed",()=>{this.planes=this.getPlanes(),this.$isOpen&&this.planes.length===0&&(this.addSectionMode=!0)}),this.viewerPlugin.$el.addEventListener("wheel",this.onWheel,!0)},unmounted(){var t,e,i;(t=this.viewerPlugin)==null||t.xeokit.scene.off(this.sectionPlaneCreatedSubscription),(e=this.viewerPlugin)==null||e.xeokit.scene.off(this.sectionPlaneDestroyedSubscription),(i=this.viewerPlugin)==null||i.$el.removeEventListener("wheel",this.onWheel,!0)},onOpen(){this.planes.length===0&&(this.addSectionMode=!0),this.showSectionPlanes()},onClose(){this.addSectionMode&&(this.addSectionMode=!1),this.hideSectionPlanes()},methods:{onWheel(t){const{normalizeVec3:e,mulVec3Scalar:i,addVec3:r}=this.viewerPlugin.xeokitSdk.math;if(this.activeSectionPlane&&(t.ctrlKey||t.metaKey)){t.stopPropagation(),t.preventDefault();const o=e(this.activeSectionPlane.dir,new Float64Array(3));i(o,GSt*-t.deltaY),this.activeSectionPlane.pos=r(this.activeSectionPlane.pos,o,new Float64Array(3))}},getPlanes(){return Object.values(this.sectionPlanesPlugin.sectionPlanes)},showSectionPlanes(){this.planes.forEach(this.showSectionPlane)},hideSectionPlanes(){this.planes.forEach(this.hideSectionPlane)},onSectionPlaneClick(t){this.activeSectionPlane&&this.activeSectionPlane.id===t.id?this.activeSectionPlane=null:(this.activeSectionPlane=null,this.activeSectionPlane=t,t.active||(t.active=!0))},showSectionPlane(t){t.active=!0,this.sectionPlanesPlugin.getShownControl()||(this.activeSectionPlane=null,this.activeSectionPlane=t)},hideSectionPlane(t){t.active=!1,(this.activeSectionPlane&&this.activeSectionPlane.id)===t.id&&(this.activeSectionPlane=null)},deleteSectionPlane(t){this.sectionPlanesPlugin.destroySectionPlane(t.id)},onAddSectionPlaneClick(){this.addSectionMode=!this.addSectionMode},createSectionPlane({position:t,direction:e,pointCloud:i=!1}={}){if(!t||!e)throw new Error("A 'position' and a 'direction' must be provided to create section plane.");const{camera:r}=this.viewerPlugin.xeokit;let o=null;if(i){const[a,,l]=this.viewerPlugin.xeokitSdk.math.subVec3(r.look,r.eye);o=this.viewerPlugin.xeokitSdk.math.normalizeVec3([a,0,l])}else o=e.map(a=>-a);const n=t,s=this.sectionPlanesPlugin.createSectionPlane({dir:o,pos:n});return this.activeSectionPlane=s,s}}},zSt={class:"bimdata-section"},qSt={class:"bimdata-section__header"},KSt={class:"bimdata-section__header__title"},JSt={class:"bimdata-section__header__title__text"},YSt={class:"bimdata-section__content"},WSt={key:1,class:"bimdata-section__empty"};function ZSt(t,e,i,r,o,n){const s=R("BIMDataIconSection"),a=R("SectionPlane"),l=R("BIMDataIconPlus"),c=R("BIMDataButton"),d=R("BIMDataIllustration");return Q(),N("div",zSt,[B("div",qSt,[B("div",KSt,[L(s,{size:"xs"}),B("div",JSt,ee(t.$t("section.title")),1)]),e[0]||(e[0]=B("div",null,null,-1))]),B("div",YSt,[o.planes.length>0?(Q(),N(Et,{key:0},[B("main",null,[(Q(!0),N(Et,null,Wt(o.planes,(u,A)=>(Q(),te(a,{key:u.id,class:"bimdata-section__plane",label:`${t.$t("section.plane_label")} ${A+1}`,active:u.id===(o.activeSectionPlane&&o.activeSectionPlane.id),visible:u.active,onShow:h=>n.showSectionPlane(u),onHide:h=>n.hideSectionPlane(u),onDelete:h=>n.deleteSectionPlane(u),onClick:h=>n.onSectionPlaneClick(u)},null,8,["label","active","visible","onShow","onHide","onDelete","onClick"]))),128))]),L(c,{fill:o.addSectionMode,outline:!o.addSectionMode,radius:"",color:"primary",class:"m-t-12 bimdata-section__add",width:"160",onClick:n.onAddSectionPlaneClick},{default:z(()=>[L(l)]),_:1},8,["fill","outline","onClick"])],64)):(Q(),N("div",WSt,[L(d,{name:"emptySectionPlanes"}),B("span",null,ee(t.$t("section.add")),1)]))])])}const XSt=K(jSt,[["render",ZSt],["__scopeId","data-v-d48b6771"]]),$St="Schneidewerkzeug",eQt="Schnitte",tQt="Schnittebene",iQt="Anzeigen",rQt="Verbergen",oQt="Klicken Sie auf ein Element des Modells, um eine Schnittebene hinzuzuf\xFCgen",nQt={title:$St,tooltip:eQt,plane_label:tQt,show:iQt,hide:rQt,add:oQt},sQt="Section tool",aQt="Section",lQt="Section plane",cQt="Show",dQt="Hide",uQt="Click on a 3D element to add a section plane",AQt={title:sQt,tooltip:aQt,plane_label:lQt,show:cQt,hide:dQt,add:uQt},hQt="Herramienta de secci\xF3n",pQt="Secci\xF3n",gQt="Plano de secci\xF3n",fQt="Mostrar",mQt="Esconder",vQt="Haga clic en un elemento 3D para agregar un plano de secci\xF3n",CQt={title:hQt,tooltip:pQt,plane_label:gQt,show:fQt,hide:mQt,add:vQt},yQt="Outil de coupe",wQt="Coupes",bQt="Plan de coupe",IQt="Montrer",BQt="Cacher",EQt="Cliquer sur un \xE9l\xE9ment de la maquette pour ajouter un plan de coupe",xQt={title:yQt,tooltip:wQt,plane_label:bQt,show:IQt,hide:BQt,add:EQt},kQt="Strumento di taglio",MQt="Sezioni",SQt="Piano di taglio",QQt="Mostra",DQt="Nascondi",PQt="Clicca su un elemento del modello per aggiungere una sezione",RQt={title:kQt,tooltip:MQt,plane_label:SQt,show:QQt,hide:DQt,add:PQt},LQt={name:"section",i18n:{de:nQt,en:AQt,es:CQt,fr:xQt,it:RQt},addToWindows:["3d","pointCloud"],component:XSt,button:{tooltip:"section.tooltip",keepOpen:!0,position:"right",content:"simple",icon:{component:"BIMDataIconSection",options:{size:"m"}}}},TQt={emits:["close"],data(){return{fileName:"",exportStructure:!0,selectedObjectIds:null,ifcToSplit:null,errorDisplayed:!1,errorMessage:"",loading:!1}},created(){if(this.selectedObjectIds=this.$viewer.state.selectedObjects.map(i=>i.uuid),!this.selectedObjectIds.length){const i="Cannot split ifc without selected elements.";throw console.error(i),new Error(i)}if(this.ifcToSplit=this.$viewer.state.models[0],!this.ifcToSplit){const i="No ifc selected, impossible to split.";throw console.error(i),new Error(i)}const t=this.ifcToSplit.document.file_name.split(".");t.pop();const e=t.join(".");this.fileName=e+"-split-"+new Date().toLocaleDateString(this.$i18n.locale).replace(/\//g,"-")},methods:{onExportClick(){this.fileName?this.split():this.errorDisplayed=!0},async split(){this.loading=!0;try{await this.$viewer.api.apiClient.modelApi.exportIfc(this.$viewer.api.cloudId,this.ifcToSplit.id,this.$viewer.api.projectId,{structure:this.exportStructure?"UPDATED":"NONE",file_name:this.fileName+".ifc",uuids:this.selectedObjectIds}),this.$viewer.globalContext.modals.pushModal(this.$viewer.globalContext.modals.getModal("success"),{text:this.$t("split.success-modal.text")}),this.$emit("close")}catch(t){this.errorDisplayed=!0,this.errorMessage=t.message}finally{this.loading=!1}}}},FQt={class:"split-export-modal"},_Qt={class:"split-export-modal__close"},UQt={class:"split-export-modal__content"},NQt={class:"split-export-modal__content__title"},OQt={key:0,class:"split-export-modal__content__error"},HQt={class:"split-export-modal__content__input"},VQt={class:"split-export-modal__content__checkbox"},GQt={class:"split-export-modal__export"};function jQt(t,e,i,r,o,n){const s=R("BIMDataIconClose"),a=R("BIMDataInput"),l=R("BIMDataCheckbox"),c=R("BIMDataButton");return Q(),N("div",FQt,[B("div",_Qt,[L(s,{class:"fill-primary",onClick:e[0]||(e[0]=d=>t.$emit("close"))})]),B("div",UQt,[B("h2",NQt,ee(t.$t("split.export-modal.title")),1),o.errorDisplayed?(Q(),N("div",OQt,ee(o.errorMessage),1)):fe("",!0),B("div",HQt,[L(a,{modelValue:o.fileName,"onUpdate:modelValue":e[1]||(e[1]=d=>o.fileName=d),placeholder:t.$t("split.export-modal.label"),error:!o.fileName,"error-message":t.$t("split.export-modal.input-error"),loading:o.loading},null,8,["modelValue","placeholder","error","error-message","loading"])]),B("div",VQt,[L(l,{modelValue:o.exportStructure,"onUpdate:modelValue":e[2]||(e[2]=d=>o.exportStructure=d),text:t.$t("split.export-modal.checkbox"),class:be({disabled:o.loading})},null,8,["modelValue","text","class"])]),B("div",GQt,[L(c,{fill:"",color:"primary",radius:"",disabled:!o.fileName||o.loading,onClick:n.onExportClick},{default:z(()=>[gt(ee(t.$t("split.export-modal.export")),1)]),_:1},8,["disabled","onClick"])])])])}const zQt=K(TQt,[["render",jQt],["__scopeId","data-v-162fde37"]]),qQt="Die IFC aufteilen",KQt={splitIfc:qQt,"export-modal":{title:"Die Auswahl exportieren",label:"Name des von Ihnen ausgew\xE4hlten Exports","input-error":"Der Name ist obligatorisch",checkbox:"Die r\xE4umliche Baumstruktur beibehalten",export:"Exportieren"},"success-modal":{text:"Ihr Export wird in wenigen Augenblicken in der IFC-Liste Ihres Projekts verf\xFCgbar sein."}},JQt="Split IFC",YQt={splitIfc:JQt,"export-modal":{title:"Export selection",label:"Selection export name","input-error":"Name is mandatory",checkbox:"Keep spatiale tree",export:"Export"},"success-modal":{text:"Your export will be available in the ifc list of your project in a few moments."}},WQt="Dividir IFC",ZQt={splitIfc:WQt,"export-modal":{title:"Selecci\xF3n de exportaci\xF3n",label:"Nombre de exportaci\xF3n de selecci\xF3n","input-error":"El nombre es obligatorio",checkbox:"Mantener el \xE1rbol espacial",export:"Exportar"},"success-modal":{text:"Su exportaci\xF3n estar\xE1 disponible en la lista ifc de su proyecto en unos momentos."}},XQt="Diviser l'IFC",$Qt={splitIfc:XQt,"export-modal":{title:"Exporter la s\xE9lection",label:"Nom de votre export de s\xE9lection","input-error":"Le nom est obligatoire",checkbox:"Conserver l'arborescence spatiale",export:"Exporter"},"success-modal":{text:"Votre export sera disponible dans la liste IFC de votre projet dans quelques instant."}},eDt="Dividi l'IFC",tDt={splitIfc:eDt,"export-modal":{title:"Esporta la selezione",label:"Nome della tua esportazione della selezione","input-error":"Il nome \xE8 obbligatorio",checkbox:"Mantieni la struttura spaziale",export:"Esporta"},"success-modal":{text:"La tua esportazione sar\xE0 disponibile nella lista IFC del tuo progetto tra pochi istanti."}},iDt={name:"split",startupScript(t){function e(){t.globalContext.modals.pushModal(zQt)}t.contextMenu.registerCommand({label:t.i18n.i18nVuePlugin.global.t("split.splitIfc"),group:4,position:1,execute:e,predicate:()=>t.state.selectedObjects.length>0&&t.state.models.length===1&&t.state.models.every(i=>i.document.user_permission===100)})},i18n:{de:KQt,en:YQt,es:ZQt,fr:$Qt,it:tDt}};let rDt=1;class jV{constructor(e,i,r=null){Object.assign(this,e),this.id=rDt++,this.model=i,this.type=r??e.type??"object",this.visible=!0,this.pickable=!0,this.selected=!1,this.highlighted=!1,this.xrayed=!1}get descendants(){const e=[];let i=Array.isArray(this.children)?Array.from(this.children):[];for(;i.length;)e.push(...i),i=i.flatMap(r=>r?.children??[]);return e}get ancestors(){const e=[];let i=this.parent;for(;i;)e.push(i),i=i.parent;return e}getFirstAncestorWithType(e){if(!e)throw new Error("A type must be specified to get ancestor by type.");let i=this.parent;for(;i;){if(i.type===e)return i;i=i.parent}return null}get site(){return this.getFirstAncestorWithType("site")}get building(){return this.getFirstAncestorWithType("building")}get storey(){return this.getFirstAncestorWithType("storey")}get layout(){return this.getFirstAncestorWithType("layout")}get space(){return this.getFirstAncestorWithType("space")}}const Kue=t=>t.reduce((e,i)=>(e.push(i),i.children&&i.children.length>0&&e.push(...Kue(i.children)),e),[]),oDt=t=>{const e=Kue(t.children);return[t,...e]};function Jue(t,e,i){const r=new jV(t,e);return i.set(r.id,r),t.children&&(r.children=t.children.map(o=>Jue(o,e,i))),r}function dp(t,e=null){return t.parent=e,(t.children||[]).forEach(i=>dp(i,t)),t}function KM(t){return t="Ifc_"+t,t.replace(/(_[a-z])/gi,e=>e.toUpperCase().replace("_",""))}const nDt=10;function sDt(t={}){const e=t.type==="site"&&t.children&&t.children.length>nDt;return t.type!=="storey"&&!e}function Yue(t,e,i,r,o){const n=KM(e.type);let s=e.longname||e.name;n==="IfcProject"&&(s=`${t.name} (${s})`);const a={label:s,id:e.id,type:n,object_type:e.object_type,checked:!0,extended:sDt(e),selected:!1,exclusiveSelect:n==="IfcSite"||n==="IfcProject",displayLength:!1,displayHorizontalDotlines:!1,displayVerticalDotlines:n==="IfcStorey",isGroup:n==="IfcStorey"||n==="IfcBuilding"};switch(a.type){case"IfcProject":a.picto={name:"project"};break;case"IfcSite":a.picto={name:"location"};break;case"IfcBuilding":a.picto={name:"building"};break;case"IfcStorey":a.picto={name:"storey"};break}const l=new Map,c=[];e.children&&e.children.forEach(d=>{const u=KM(d.type);u==="IfcProject"||u==="IfcSite"||u==="IfcBuilding"||u==="IfcStorey"?c.push(Yue(t,d,i,r,o)):l.has(u)?l.get(u).push(d):l.set(u,[d])});for(let[d,u]of l){const A=new Map;u.forEach(g=>{A.has(g.object_type)?A.get(g.object_type).push(g):A.set(g.object_type,[g])});const h=[];for(let[g,p]of A){const m=p.map(f=>({label:f.longname||f.name,id:f.id,children:f.children&&f.children.map(C=>({label:C.longname||C.name,children:[],id:C.id,type:KM(C.type),object_type:C.object_type,checked:!0,extended:!1,selected:!1,displayLength:!0,displayHorizontalDotlines:!0,displayVerticalDotlines:!0})),type:f.type,object_type:f.object_type,checked:!0,extended:!1,selected:!1,displayLength:!0,displayHorizontalDotlines:!0,displayVerticalDotlines:!0}));h.push({get label(){if(r!=null&&r[o.locale.value]){const C=r?.[o.locale.value][g];if(C)return C}if(!i)return g;const f=`structure.ifc_type.${g}`;return o.te(f)?o.t(f):g},children:m,checked:!0,extended:!1,selected:!1,displayLength:!0,displayHorizontalDotlines:!0,displayVerticalDotlines:!0,isGroup:!0})}c.push({get label(){if(r!=null&&r[o.locale.value]){const p=r?.[o.locale.value][d];if(p)return p}if(!i)return d;const g=`structure.ifc_type.${d}`;return o.te(g)?o.t(g):d},children:h,checked:!0,extended:!1,selected:!1,displayLength:!0,displayHorizontalDotlines:!0,displayVerticalDotlines:!0,isGroup:!0})}return a.children=c,dp(a)}function aDt(t,e){const i={extended:!0,checked:!0,selected:!1};return i.children=t.map(r=>{const o=e.get(r.uuid);return{label:r.longname||r.name,id:o?.id??null,displayLength:!0,isGroup:!0,checked:!0,extended:!1,selected:!1,picto:{name:"system"},children:r.elements.map(n=>({label:n.longname||n.name,id:n.id,displayHorizontalDotlines:!0,displayVerticalDotlines:!0,checked:!0,extended:!1,selected:!1})),displayVerticalDotlines:!0}}),dp(i)}function lDt(t,e){const i={extended:!0,checked:!0,selected:!1};return i.children=t.map(r=>{const o=e.get(r.uuid);return{label:r.longname||r.name,id:o?.id??null,displayLength:!0,isGroup:!0,checked:!0,extended:!1,selected:!1,picto:{name:"zone"},children:r.spaces.map(n=>{const s=e.get(n.uuid),a=s&&s.children?s.children:[];return{label:n.longname||n.name,id:s?.id,displayHorizontalDotlines:!0,displayVerticalDotlines:!0,displayLength:a.length,checked:!0,extended:!1,selected:!1,children:Wue(a),picto:{name:"space"}}}),displayVerticalDotlines:!0}}),dp(i)}function Wue(t=[]){return t.map(e=>({label:e.longname||e.name,id:e.id,displayLength:e.children&&e.children.length,checked:!0,extended:!1,selected:!1,children:e.children?Wue(e.children):null}))}function cDt(t){const e={extended:!0,selected:!1,checked:!0,children:t.reduce((i,r)=>{const o=i.find(n=>n.label===r.name);return o?o.children.push({label:`${r.notation} ${r.title}`,extended:!1,selected:!1,checked:!0,displayLength:!0,isGroup:!0,displayVerticalDotlines:!0,picto:{name:"classificationElement"},children:r.elements.map(n=>({label:n.longname||n.name,id:n.id,displayHorizontalDotlines:!0,extended:!1,selected:!1,checked:!0}))}):i.push({label:r.name,extended:!0,selected:!1,checked:!0,displayLength:!0,isGroup:!0,picto:{name:"classificationCategory"},children:[{label:`${r.notation} ${r.title}`,extended:!1,selected:!1,checked:!0,displayLength:!0,displayVerticalDotlines:!0,isGroup:!0,picto:{name:"classificationElement"},children:r.elements.map(n=>({label:n.longname||n.name,id:n.id,displayHorizontalDotlines:!0,extended:!1,selected:!1,checked:!0}))}]}),i},[])};return dp(e)}function dDt(t,e,i,r){const o={extended:!0,checked:!0,selected:!1},n=t.reduce((s,a)=>{const l=KM(a.type);if(["IfcProject","IfcSite","IfcBuilding","IfcStorey"].includes(l))return s;const c=s.find(d=>d.ifcType===l);if(c){const d=c.children.find(u=>u.label===a.object_type);d?d.children.push({label:a.longname||a.name,id:a.id,displayHorizontalDotlines:!0,extended:!1,checked:!0,selected:!1}):c.children.push({label:a.object_type,extended:!1,checked:!0,selected:!1,isGroup:!0,displayLength:!0,displayVerticalDotlines:!0,children:[{label:a.longname||a.name,checked:!0,selected:!1,extended:!1,id:a.id,displayHorizontalDotlines:!0}]})}else s.push({ifcType:l,get label(){if(i!=null&&i[r.locale.value]){const u=i?.[r.locale.value][l];if(u)return u}if(!e)return l;const d=`structure.ifc_type.${l}`;return r.te(d)?r.t(d):l},checked:!0,selected:!1,extended:!1,isGroup:!0,displayLength:!0,children:[{label:a.object_type,checked:!0,selected:!1,extended:!1,isGroup:!0,displayLength:!0,displayVerticalDotlines:!0,children:[{label:a.longname||a.name,checked:!0,selected:!1,extended:!1,id:a.id,displayHorizontalDotlines:!0}]}]});return s},[]);return n.sort((s,a)=>s.ifcType<a.ifcType?-1:1),o.children=n,dp(o)}function uDt(t){const e={extended:!0,checked:!0,selected:!1};return e.children=t.map(i=>({label:i.name,displayLength:!0,isGroup:!0,checked:!0,extended:!1,selected:!1,children:i.elements?i.elements.map(r=>({label:r.longname||r.name,id:r.id,displayHorizontalDotlines:!0,displayVerticalDotlines:!0,checked:!0,extended:!1,selected:!1})):[],displayVerticalDotlines:!0})),dp(e)}function ADt(t,e){const i=e.translateIfcEntities===!0,r=e.customTranslations;async function o(d){const u=await t.api.apiClient.modelApi.getLayers(t.api.cloudId,d.id,t.api.projectId);if(u.length)return u.forEach(A=>{A.elements=A.elements.map(h=>d.uuids.get(h)).filter(Boolean)}),uDt(u)}async function n(d){const u=await t.api.apiClient.modelApi.getSystems(t.api.cloudId,d.id,t.api.projectId);if(u.length)return u.forEach(A=>{A.elements=A.elements.map(h=>d.uuids.get(h)).filter(Boolean)}),aDt(u,d.uuids)}async function s(d){const u=t.api.apiClient.modelApi.getModelClassifications(t.api.cloudId,d.id,t.api.projectId),A=t.api.apiClient.modelApi.listClassificationElementRelations(t.api.cloudId,d.id,t.api.projectId),[h,g]=await Promise.all([u,A]);if(g.length)return h.map(p=>(p.elements=g.filter(({classification_id:m})=>m===p.id).map(({element_uuid:m})=>d.uuids.get(m)).filter(Boolean),p)),cDt(h)}async function a(d){const u=await t.api.apiClient.modelApi.getZones(t.api.cloudId,d.id,t.api.projectId);if(u&&u.length)return lDt(u,d.uuids)}function l(d){return dDt(d.objects,i,r,t.i18n.i18nVuePlugin.global)}function c(d){return d.structure?Yue(d,d.structure,i,r,t.i18n.i18nVuePlugin.global):null}return{layers:o,systems:n,classifications:s,zones:a,objects:l,spatial:c}}function hDt(t,e){const i=ADt(t,e);return{async getStructure(r,o){if(!i[r])throw new TypeError(`[Viewer Structure Service] Cannot get structure named ${r} : there is no structure with this name.`);const n=await i[r](o);if(n)return n.id=o.id,n}}}function pDt(t,e,i){const r=_t("$viewer"),{localContext:o}=r,n=hDt(r,i),s=Symbol("BIMDataStructure"),a=t.map(b=>Ea({name:b,loading:!1,loadingIfcs:new Set,structures:rl([]),instance:null})),l=_e(!1),c=[],d=[];if(e)d.push(o.hub.on("3d-model-loaded",({model:b})=>{g({ifcs:[b]}),l.value=r.api.permissions.hasModelWritePermission&&b.document.user_permission===100}),o.hub.on("3d-model-unloaded",({model:b})=>{h({ifcs:[b]}),l.value=r.api.permissions.hasModelWritePermission&&b.document.user_permission===100}));else{const b=At(()=>{const E=new Map;return r.globalContext.localContexts.flatMap(k=>k.loadedModels).forEach(k=>E.set(k.id,k)),[...E.values()]});Ht(b,E=>{a.forEach(k=>{k.structures.splice(0,k.structures.length),k.loading=!1}),g({ifcs:E}),l.value=r.api.permissions.hasModelWritePermission&&E.every(k=>{var x;return((x=k.document)==null?void 0:x.user_permission)===100})},{immediate:!0})}c.push(r.state.hub.on("objects-selected",m),r.state.hub.on("objects-deselected",f),r.state.hub.on("objects-shown",C),r.state.hub.on("objects-hidden",y)),fo(()=>{c.forEach(b=>r.state.hub.off(b)),d.forEach(b=>o.hub.off(b))});function u(){return e?o.loadedModels:r.state.models}function A(b){if(e){const E=o.loadedModels;return b.filter(k=>E.includes(k.model))}else return b}function h({ifcs:b}){a.forEach(E=>{b.forEach(x=>E.loadingIfcs.delete(x.id)),E.structures=rl(E.structures.filter(x=>!b.find(M=>x.id===M.id)));const k=b.map(x=>x.id);E.name==="objects"&&E.structures.length>0&&(E.structures[0].children.forEach(x=>{x.children=x.children.filter(M=>!k.includes(M.modelId))}),E.structures[0].children=E.structures[0].children.filter(x=>!k.includes(x.modelId)))})}function g({ifcs:b=u()}={}){b.forEach(E=>{a.forEach(k=>p(k,E))})}async function p(b,E){if(!b.loadingIfcs.has(E.id)){b.loading=!0,b.loadingIfcs.add(E.id);try{const k=await n.getStructure(b.name,E);if(!b.loadingIfcs.has(E.id))return;if(k)if(b.name==="objects"&&b.structures.length>0){const x=b.structures[0];k.children.forEach(M=>{const D=x.children.find(P=>P.ifcType===M.ifcType);D?(M.children.forEach(P=>{P.parent=D,P.modelId=E.id}),D.children.push(...M.children)):(M.parent=x,M.modelId=E.id,x.children.push(M))}),k.children.sort((M,D)=>M.ifcType.toLowerCase()<D.ifcType.toLowerCase()?-1:1)}else b.structures.push(k),b.instance.loadNodeMaps(b.structures[b.structures.length-1])}catch(k){console.error(`Unable to get tree data for ${b.name} tree. ${k}`)}finally{b.loading=!1,b.loadingIfcs.delete(E.id)}}}function m({objects:b,options:E}){E.trigger!==s&&a.forEach(k=>k.instance.selectNodes({ids:A(b).map(x=>x.id)}))}function f({objects:b,options:E}){E.trigger!==s&&a.forEach(k=>k.instance.deselectNodes({ids:A(b).map(x=>x.id)}))}function C({objects:b,options:E}){E.trigger!==s&&a.forEach(k=>k.instance.checkNodes({ids:A(b).map(x=>x.id)}))}function y({objects:b,options:E}){E.trigger!==s&&a.forEach(k=>k.instance.uncheckNodes({ids:A(b).map(x=>x.id)}))}function v(b){b.selected?r.state.selectObjects(b.ids,{trigger:s}):r.state.deselectObjects(b.ids,{trigger:s})}function w(b){b.visible?(a.forEach(E=>{E.instance!==b.trigger&&E.instance.checkNodes(b)}),r.state.showObjects(b.ids,{trigger:s})):(a.forEach(E=>{E.instance!==b.trigger&&E.instance.uncheckNodes(b)}),r.state.hideObjects(b.ids,{trigger:s}))}return{trees:a,onSetObjectsSelected:v,onSetObjectsVisible:w,hasReadWritePerm:l}}const gDt={emits:["close"],data(){return{fileName:"",loading:!1}},created(){if(this.$viewer.localContext.loadedModels.length<=1){this.$viewer.localContext.hub.emit("alert",{type:"info",message:this.$t("merge.merge-modal.not-enough-models")}),this.$emit("close");return}const t=this.$viewer.localContext.loadedModels[0].document.file_name.split(".");t.pop();const e=t.join(".");this.fileName=e+"-merge-"+new Date().toLocaleDateString(this.$i18n.locale).replace(/\//g,"-")},methods:{async merge(){var t;this.loading=!0;try{await this.$viewer.api.apiClient.modelApi.mergeIfcs(this.$viewer.api.cloudId,this.$viewer.api.projectId,{ifc_ids:this.$viewer.localContext.loadedModels.map(e=>e.id),export_name:this.fileName+".ifc"}),(t=this.$viewer.localContext.modals)==null||t.pushModal(this.$viewer.localContext.modals.getModal("success"),{text:this.$t("merge.success-modal.text")})}catch{this.$viewer.localContext.hub.emit("alert",{type:"error",message:this.$t("global.error_occured")})}finally{this.loading=!1,this.$emit("close")}}}},fDt={class:"merge-merge-modal"},mDt={class:"merge-merge-modal__close"},vDt={class:"merge-merge-modal__content"},CDt={class:"merge-merge-modal__content__title"},yDt={class:"merge-merge-modal__content__input"},wDt={class:"merge-merge-modal__merge"};function bDt(t,e,i,r,o,n){const s=R("BIMDataIconClose"),a=R("BIMDataInput"),l=R("BIMDataButton");return Q(),N("div",fDt,[B("div",mDt,[L(s,{class:"fill-primary",onClick:e[0]||(e[0]=c=>t.$emit("close"))})]),B("div",vDt,[B("h2",CDt,ee(t.$t("merge.merge-modal.title")),1),B("div",yDt,[L(a,{modelValue:o.fileName,"onUpdate:modelValue":e[1]||(e[1]=c=>o.fileName=c),placeholder:t.$t("merge.merge-modal.label"),error:!o.fileName,"error-message":t.$t("merge.merge-modal.input-error"),loading:o.loading},null,8,["modelValue","placeholder","error","error-message","loading"])]),B("div",wDt,[L(l,{fill:"",color:"primary",radius:"",disabled:!o.fileName||o.loading,onClick:n.merge},{default:z(()=>[gt(ee(t.$t("merge.merge-modal.verb")),1)]),_:1},8,["disabled","onClick"])])])])}const IDt=K(gDt,[["render",bDt],["__scopeId","data-v-c4df30a8"]]),BDt={emits:["close"],data(){return{fileName:"",errorDisplayed:!1,errorMessage:"",loading:!1,selectedModel:null}},created(){const t=this.$viewer.localContext.loadedModels[0];this.selectedModel=t,this.onSelectedModelInput(t)},methods:{onSelectedModelInput(t){this.selectedModel=t;const e=t.document.file_name.split(".");e.pop();const i=e.join(".");this.fileName=i+"-export-"+new Date().toLocaleDateString(this.$i18n.locale).replace(/\//g,"-")},onExportClick(){this.fileName?this.export():this.errorDisplayed=!0},async export(){var t;this.loading=!0;try{await this.$viewer.api.apiClient.modelApi.exportIfc(this.$viewer.api.cloudId,this.selectedModel.id,this.$viewer.api.projectId,{file_name:this.fileName+".ifc"}),(t=this.$viewer.localContext.modals)==null||t.pushModal(this.$viewer.localContext.modals.getModal("success"),{text:this.$t("export.success-modal.text")}),this.$emit("close")}catch(e){this.errorDisplayed=!0,this.errorMessage=e.message}finally{this.loading=!1}}}},EDt={class:"export-modal"},xDt={class:"export-modal__close"},kDt={class:"export-modal__content"},MDt={class:"export-modal__content__title"},SDt={key:0,class:"export-modal__content__error"},QDt={class:"export-modal__content-inner"},DDt={class:"export-modal__content__title"},PDt={class:"export-modal__content-inner"},RDt={class:"export-modal__content__title"},LDt={class:"export-modal__content__input"},TDt={class:"export-modal__export"};function FDt(t,e,i,r,o,n){const s=R("BIMDataIconClose"),a=R("BIMDataRadio"),l=R("BIMDataInput"),c=R("BIMDataButton");return Q(),N("div",EDt,[B("div",xDt,[L(s,{class:"bimdata-fill-default",onClick:e[0]||(e[0]=d=>t.$emit("close"))})]),B("div",kDt,[B("h2",MDt,ee(t.$t("export.export-modal.title")),1),o.errorDisplayed?(Q(),N("div",SDt,ee(o.errorMessage),1)):fe("",!0),B("div",QDt,[B("h3",DDt,ee(t.$t("export.export-modal.model-selection")),1),(Q(!0),N(Et,null,Wt(t.$viewer.localContext.loadedModels,d=>(Q(),N("div",{key:d.id,class:"bimdata-projection__content"},[L(a,{id:d.id.toString(),text:d.name,value:d.id.toString(),name:"model","model-value":o.selectedModel.id.toString(),"onUpdate:modelValue":u=>n.onSelectedModelInput(d)},null,8,["id","text","value","model-value","onUpdate:modelValue"])]))),128))]),B("div",PDt,[B("h3",RDt,ee(t.$t("export.export-modal.export-file-name")),1),B("div",LDt,[L(l,{modelValue:o.fileName,"onUpdate:modelValue":e[1]||(e[1]=d=>o.fileName=d),placeholder:t.$t("export.export-modal.label"),error:!o.fileName,"error-message":t.$t("export.export-modal.input-error"),loading:o.loading},null,8,["modelValue","placeholder","error","error-message","loading"])])]),B("div",TDt,[L(c,{class:"bimdata-btn__fill bimdata-btn__fill--primary bimdata-btn__radius",disabled:!o.fileName||o.loading,onClick:n.onExportClick},{default:z(()=>[gt(ee(t.$t("export.export-modal.verb")),1)]),_:1},8,["disabled","onClick"])])])])}const _Dt=K(BDt,[["render",FDt],["__scopeId","data-v-c4a7daa8"]]),UDt={props:{width:{type:[String,Number],default:"100%"},items:{type:Array,default:null},activeItem:{type:String,default:""},displayedItems:{type:Number,default:5}},emits:["click"],data(){return{btnLeftActive:!0,btnRightActive:!1}},methods:{changeElement(t){const e=this.$refs.carousel,i=e.offsetWidth;e.scrollTo(e.scrollLeft+i*t,0)},onLeftClickTab(t){this.changeElement(t),this.btnLeftActive=!0,this.btnRightActive=!1},onRightClickTab(t){this.changeElement(t),this.btnRightActive=!0,this.btnLeftActive=!1},onClickListItem(t){this.$emit("click",t)}}},NDt={class:"tree-content__menu"},ODt=["onClick"];function HDt(t,e,i,r,o,n){const s=R("BIMDataIconChevron"),a=R("BIMDataButton");return Q(),N("div",NDt,[i.items.length>i.displayedItems?(Q(),te(a,{key:0,class:be({active:o.btnLeftActive}),disabled:o.btnLeftActive,onClick:e[0]||(e[0]=l=>n.onLeftClickTab(-1))},{default:z(()=>[L(s,{class:"fill-primary",rotate:180,size:"xxs"})]),_:1},8,["class","disabled"])):fe("",!0),B("ul",{ref:"carousel",class:"bimdata-list tree-content__menu__content",style:Be(i.width)},[(Q(!0),N(Et,null,Wt(i.items,l=>(Q(),N("li",{key:l,class:be(["tree-content__menu__content__element",{active:l===i.activeItem}]),onClick:c=>n.onClickListItem(l)},ee(t.$t(`structure.${l}`)),11,ODt))),128))],4),i.items.length>i.displayedItems?(Q(),te(a,{key:1,class:be({active:o.btnRightActive}),disabled:o.btnRightActive,onClick:e[1]||(e[1]=l=>n.onRightClickTab(1))},{default:z(()=>[L(s,{class:"fill-primary",size:"xxs"})]),_:1},8,["class","disabled"])):fe("",!0)])}const VDt=K(UDt,[["render",HDt]]),GDt=["id"],jDt={class:"node-tree__expand"},zDt={key:0,class:"node-tree__picto"},qDt={class:"node-tree__label"},KDt={key:1,class:"node-tree__length bimdata-info-length"},JDt={__name:"NodeTemplate",props:{node:{type:Object,required:!0},depth:{type:Number,default:1},treeName:{type:String,default:""}},emits:["label-click","extend-click","checkbox-change"],setup(t){const e=t,{node:i,depth:r,treeName:o}=Fx(e),n=_t("trees").find(l=>l.name===e.treeName).instance,s=_e(null),a=l=>l.extended?90:void 0;return(l,c)=>{const d=R("BIMDataIconChevron"),u=R("BIMDataButton"),A=R("BIMDataCheckbox"),h=R("BIMDataIcon");return Q(),N("li",{id:`tree-${Vt(o)}-node-${Vt(i).id}`,ref_key:"templateRef",ref:s,class:"node-template"},[B("div",{class:be(["node",{selected:Vt(i).selected}]),style:Be({"padding-left":`${Vt(r)*12}px`}),onClick:c[3]||(c[3]=g=>l.$emit("label-click",Vt(i)))},[B("div",jDt,[Vt(i).children&&Vt(i).children.length?(Q(),te(u,{key:0,ghost:"",width:"16",height:"26",onClick:c[0]||(c[0]=Tt(g=>l.$emit("extend-click",Vt(i),g),["stop"]))},{default:z(()=>[L(d,{class:"fill-primary",size:"xxxs",rotate:a(Vt(i))},null,8,["rotate"])]),_:1})):fe("",!0)]),B("div",{onClick:c[2]||(c[2]=Tt(()=>{},["stop"]))},[L(A,{"model-value":Vt(n).getState(Vt(i)),"onUpdate:modelValue":c[1]||(c[1]=g=>l.$emit("checkbox-change",Vt(i),g))},null,8,["model-value"])]),Vt(i).picto?(Q(),N("div",zDt,[L(h,{name:Vt(i).picto.name,class:"fill-primary",width:Vt(i).picto.width,height:Vt(i).picto.height,size:"xs"},null,8,["name","width","height"])])):fe("",!0),B("span",qDt,ee(Vt(i).label||l.$t(`structure.${Vt(r)===1?Vt(o):"no_label"}`)),1),Vt(i).displayLength&&Vt(i).children&&Vt(i).children.length?(Q(),N("span",KDt,ee(Vt(i).children.length),1)):fe("",!0)],6)],8,GDt)}}},YDt=K(JDt,[["__scopeId","data-v-f2b5d1cb"]]),Zue=(t,e)=>{const i=Ln(YDt,{...e.attrs,depth:t.depth??1,node:t.root,treeName:t["tree-name"],key:`node-${t.root.id||t.root.label}-structure-${t["structure-index"]}-tree-${t["tree-name"]}`}),r=t.root.extended?t.root.children.map(o=>Ln(Zue,{...e.attrs,depth:(t.depth??1)+1,root:o,"structure-index":t["structure-index"],"tree-name":t["tree-name"]})):[];return[i,...r]},WDt={key:0,style:{height:"100%"}},ZDt={key:0,class:"bimdata-list"},XDt={__name:"Tree",props:{tree:{type:Object,required:!0},active:{type:Boolean,default:!1},listContainerId:{type:String,required:!0}},emits:["set-objects-visible","set-objects-selected"],setup(t,{expose:e,emit:i}){const r=t,o=i,n=_e([]),s=_e(null),a=_e(new Map),l=new Map,c=new Set;Ht(n,U=>{U.length&&(o("set-objects-visible",{visible:s.value,ids:n.value.filter(Boolean)}),n.value=[])},{deep:!0});function d(U){var H;c.add(U),U.id&&l.set(U.id,U),(H=U.children)==null||H.forEach(d)}function u(U){var H;c.delete(U),l.delete(U.id),(H=U.children)==null||H.forEach(u)}function A(){const U=[];for(let H of l.values())H.selected&&U.push(H);return U}function h(){const U=A();U.forEach(_=>{b(_).forEach(V=>V.extended=!0)});const H=U.find(_=>_.id);H&&Jo(()=>{v(`tree-${r.tree.name}-node-${H.id}`)})}function g(U,H,_){o("set-objects-selected",{ids:U,selected:H,trigger:this}),H&&_.isGroup&&a.value.set(_,E(_).map(V=>V.id))}function p({ids:U,selection:H=!1}){if(H)for(const _ of l.values())_.selected&&(_.checked=!0);else if(U){const _=new Set;U.forEach(V=>{const Y=l.get(V);Y&&(Y.checked=!0,b(Y).forEach(re=>_.add(re)))}),_.forEach(V=>{V.checked=!0})}else for(const _ of l.values())_.checked=!0}function m({ids:U,selection:H=!1}){if(H)for(const _ of l.values())_.selected&&(_.checked=!1);else if(U){const _=[];U.forEach(V=>{const Y=l.get(V);Y&&(Y.checked=!1,_.push(Y))}),f(_)}else for(const _ of l.values())_.checked=!1}function f(U){if(!U||!U.length)return;const H=[];new Set(U.filter(_=>_.parent).map(_=>_.parent)).forEach(_=>{_.children.every(V=>!V.checked)&&(_.checked=!1,H.push(_))}),f(H)}function C({ids:U}){let H=!0;U.forEach(_=>{const V=l.get(_);V&&(V.selected=!0,r.active&&(b(V).forEach(Y=>Y.extended=!0),H&&(H=!1,Jo(()=>{v(`tree-${r.tree.name}-node-${_}`)}))))})}function y({ids:U}){U.forEach(H=>{const _=l.get(H);_&&(_.selected=!1),a.value.forEach((V,Y)=>{V.find(re=>re===H)&&(Y.selected=!1,a.value.delete(Y))})})}function v(U){const H=document.getElementById(U);return H&&H.scrollIntoView({block:"center"}),!!H}function w(U){const H=[];return U.parent&&H.push(...U.parent.children.filter(_=>_!==U)),H}function b(U){const H=[];return U.parent&&H.push(U.parent,...b(U.parent)),H}function E(U){const H=U.children||[];return[...H,...H.map(_=>E(_)).flat()]}function k(U){return U.checked?E(U).every(H=>H.checked)?!0:null:!1}function x(U,H){T(U,H);const _=E(U);_.forEach(V=>V.checked=H),n.value.push(..._.map(V=>V.id).filter(V=>!!V))}function M(U){U.selected=!U.selected;const H=E(U);let _=null;U.exclusiveSelect?_=[U.id]:(_=[...H.map(V=>V.id).filter(V=>!!V)],U.id&&_.unshift(U.id)),g(_,U.selected,U)}function D(U){U&&(U.children.every(H=>!H.checked)?T(U,!1):T(U,!0))}function P(U,H){U.extended=!U.extended,H.altKey&&w(U).forEach(_=>_.extended=U.extended)}function T(U,H){U.checked!==H&&(U.checked=H,D(U.parent),s.value=H,n.value.push(U.id))}return e({nodeMapById:l,changedIds:n,check:s,selectGroups:a,showSelected:h,onLabelClick:g,checkNodes:p,uncheckNodes:m,uncheckParentsIfChildrenAllUnchecked:f,selectNodes:C,scrollToElement:v,deselectNodes:y,getNodeSiblings:w,getNodeAncestors:b,getNodeDescendants:E,getState:k,onCheckboxChange:x,onNodeLabelClick:M,onChildChangeChecked:D,onExtendButtonClick:P,changeChecked:T,loadNodeMaps:d,unloadNodeMaps:u}),(U,H)=>{const _=R("BIMDataLoading"),V=R("BIMDataIllustration");return t.active?(Q(),N("div",WDt,[t.tree.structures.length>0?(Q(),N("ul",ZDt,[(Q(!0),N(Et,null,Wt(t.tree.structures,(Y,re)=>(Q(),te(Vt(Zue),{key:Y.ifcId+t.tree.name,"tree-name":t.tree.name,"structure-index":re,root:Y,onLabelClick:M,onExtendClick:P,onCheckboxChange:x},null,8,["tree-name","structure-index","root"]))),128))])):t.tree.loading?(Q(),te(_,{key:1})):(Q(),te(Ff,{key:2,message:U.$t("structure.no")+" "+U.$t(`structure.${t.tree.name}`)+" "+U.$t("structure.currently_model"),active:t.active},{default:z(()=>[L(V,{name:"emptyTree"})]),_:1},8,["message","active"]))])):fe("",!0)}}},$Dt={class:"tree-content"},ePt={class:"tree-content__header"},tPt={class:"tree-content__header--left"},iPt={key:0,class:"tree-content__header__submenu",style:{"z-index":"2"}},rPt={class:"bimdata-list"},oPt=["id"],nPt={__name:"BIMDataStructure",props:{fromWrapper:{type:Boolean,default:!1}},setup(t){const e=t,i=_t("$viewer"),{localContext:r}=i,o=_t("$plugin");let n=i.pluginsCfg[o.name];n||(n={});const s=n.merge===!0,a=n.export===!0,l=_e(null),c=_e(!1),d=["spatial","zones","systems","classifications","objects","layers"];if(e.fromWrapper){let w=null;Ht(()=>l.value,b=>{b&&(w=b)}),Ht(()=>o.isOpen,b=>{b?l.value=w||d[0]:l.value=null},{immediate:!0})}else l.value=d[0];const{trees:u,onSetObjectsSelected:A,onSetObjectsVisible:h,hasReadWritePerm:g}=pDt(d,e.fromWrapper,n);Mo("trees",u);const p=r.id;function m(w){l.value=w}function f(){var w;c.value=!1,(w=u.find(b=>b.name===l.value))==null||w.instance.showSelected()}function C(){r.modals.pushModal(_Dt)}function y(){r.modals.pushModal(IDt)}function v(){c.value=!1}return(w,b)=>{const E=R("BIMDataIconBurgerMenu"),k=R("BIMDataIconShowSelected"),x=R("BIMDataIconUnion"),M=R("BIMDataIconExport"),D=ir("click-away");return Q(),N("div",$Dt,[B("div",ePt,[Ft((Q(),N("div",tPt,[B("div",{class:"tree-content__header__menu",onClick:b[0]||(b[0]=P=>c.value=!c.value)},[L(E,{class:"fill-primary"})]),L(cr,{name:"slide-fade-down"},{default:z(()=>[c.value?(Q(),N("div",iPt,[B("ul",rPt,[B("li",{onClick:f},[L(k,{size:"xs",class:"fill-primary",margin:"0 6px 0 0"}),gt(" "+ee(w.$t("structure.show_selected")),1)]),s&&Vt(g)?(Q(),N("li",{key:0,onClick:y},[L(x,{size:"xs",class:"fill-primary",margin:"0 6px 0 0"}),gt(" "+ee(w.$t("merge.merge-ifc")),1)])):fe("",!0),a&&Vt(g)?(Q(),N("li",{key:1,onClick:C},[L(M,{size:"xs",class:"fill-primary",margin:"0 6px 0 0"}),gt(" "+ee(w.$t("export.export-ifc")),1)])):fe("",!0)])])):fe("",!0)]),_:1})])),[[D,v]]),b[4]||(b[4]=B("div",{class:"tree-content__header--right"},[B("div",{class:"tree-content__header__actions"})],-1))]),L(VDt,{items:d,"active-item":l.value,onClick:b[1]||(b[1]=P=>m(P))},null,8,["active-item"]),B("div",{id:`${Vt(p)}-bimdata-structure-tree-container`,class:"tree-content__body"},[(Q(!0),N(Et,null,Wt(Vt(u),P=>(Q(),te(XDt,{key:P.name,ref_for:!0,ref:T=>P.instance=T,"list-container-id":`${Vt(p)}-bimdata-structure-tree-container`,tree:P,active:P.name===l.value,onSetObjectsSelected:b[2]||(b[2]=T=>Vt(A)(T)),onSetObjectsVisible:b[3]||(b[3]=T=>Vt(h)(T))},null,8,["list-container-id","tree","active"]))),128))],8,oPt)])}}},zV=K(nPt,[["__scopeId","data-v-b2824d60"]]),sPt="R\xE4umliche Baumstruktur",aPt="Baumstruktur und Eigenschaften",lPt="IFC-Struktur",cPt="derzeit im Modell",dPt="keine",uPt="R\xE4umlich",APt="Zonen",hPt="Systeme",pPt="Klassifizierungen",gPt="Gegenst\xE4nde",fPt="Ebenen",mPt="Nicht genau angegeben",vPt="Auswahl anzeigen",qV={window_label:sPt,tooltip:aPt,title:lPt,currently_model:cPt,no:dPt,spatial:uPt,zones:APt,systems:hPt,classifications:pPt,objects:gPt,layers:fPt,no_label:mPt,show_selected:vPt},CPt="Spatial tree",yPt="Tree and properties",wPt="IFC structure",bPt="currently in the model",IPt="no",BPt="Spatial",EPt="Zones",xPt="Systems",kPt="Classifications",MPt="Objects",SPt="Layers",QPt="Not specified",DPt="Show selected",KV={window_label:CPt,tooltip:yPt,title:wPt,currently_model:bPt,no:IPt,spatial:BPt,zones:EPt,systems:xPt,classifications:kPt,objects:MPt,layers:SPt,no_label:QPt,show_selected:DPt},PPt="\xC1rbol espacial",RPt="\xC1rbol y propiedades",LPt="Estructura de la CFI",TPt="actualmente en el modelo",FPt="No",_Pt="Espacial",UPt="Zonas",NPt="Sistemas",OPt="Clasificaciones",HPt="Objetos",VPt="Capas",GPt="No especificado",jPt="Mostrar seleccionado",Xue={window_label:PPt,tooltip:RPt,title:LPt,currently_model:TPt,no:FPt,spatial:_Pt,zones:UPt,systems:NPt,classifications:OPt,objects:HPt,layers:VPt,no_label:GPt,show_selected:jPt},zPt="Structure",qPt="Arborescence et propri\xE9t\xE9s",KPt="Structure IFC",JPt="actuellement dans la maquette",YPt="aucun",WPt="Spatiale",ZPt="Zones",XPt="Syst\xE8mes",$Pt="Classifications",eRt="Objets",tRt="Layers",iRt="Non sp\xE9cifi\xE9",rRt="Afficher la selection",JV={window_label:zPt,tooltip:qPt,title:KPt,currently_model:JPt,no:YPt,spatial:WPt,zones:ZPt,systems:XPt,classifications:$Pt,objects:eRt,layers:tRt,no_label:iRt,show_selected:rRt},oRt="Struttura spaziale",nRt="Struttura e propriet\xE0",sRt="Struttura IFC",aRt="attualmente nel modello",lRt="nessuno",cRt="Spaziale",dRt="Aree",uRt="Sistemi",ARt="Classificazioni",hRt="Oggetti",pRt="Livelli",gRt="Non specificato",fRt="Mostra la selezione",$ue={window_label:oRt,tooltip:nRt,title:sRt,currently_model:aRt,no:lRt,spatial:cRt,zones:dRt,systems:uRt,classifications:ARt,objects:hRt,layers:pRt,no_label:gRt,show_selected:fRt},mRt={IfcActuator:"Appareillage de commande",IfcAddress:"Adresse",IfcAirTerminal:"Entr\xE9e ou sortie d'air",IfcAirTerminalBox:"Diffuseur d'air",IfcAirToAirHeatRecovery:"Echangeur air-air",IfcAlarm:"Alarme",IfcAsset:"Biens",IfcAudioVisualAppliance:"Appareil audiovisuel",IfcBeam:"Poutre",IfcBeamStandardCase:"Poutre standard",IfcBlock:"Parall\xE9l\xE9pip\xE8de",IfcBoiler:"Chaudi\xE8re",IfcBuilding:"B\xE2timent",IfcBuildingElement:"El\xE9ment de construction",IfcBuildingElementPart:"Partie d'\xE9l\xE9ment de construction",IfcBuildingElementProxy:"El\xE9ment de construction non d\xE9fini",IfcBuildingStorey:"Niveau",IfcBuildingSystem:"Syst\xE8me",IfcBurner:"Br\xFBleur",IfcCableCarrierFitting:"Raccord de chemin de cable",IfcCableCarrierSegment:"Segment de chemin de cable",IfcCableFitting:"Raccord de c\xE2ble",IfcCableSegment:"Segment de c\xE2ble",IfcChiller:"Refroidisseur",IfcChimney:"Chemin\xE9e",IfcClassification:"Classification",IfcCoil:"Bobine",IfcColumn:"Poteau",IfcColumnStandardCase:"Poteau standard",IfcCommunicationsAppliance:"Appareil de communications",IfcCompressor:"Compresseur",IfcCondenser:"Condenseur",IfcCooledBeam:"Poutre froide",IfcCoolingTower:"Tour de refroidissement",IfcCovering:"Rev\xEAtement",IfcCurtainWall:"Mur rideau",IfcDamper:"D\xE9tecteur d'incendie",IfcDiscreteAccessory:"Accessoire compos\xE9",IfcDistributionChamberElement:"El\xE9ment de chambre de distribution",IfcDistributionCircuit:"Circuit de distribution",IfcDistributionControlElement:"\xC9l\xE9ment de circuit de distribution",IfcDistributionElement:"El\xE9ment de distribution",IfcDistributionFlowElement:"El\xE9ment de distribution de fluide",IfcDistributionPort:"Port de distribution",IfcDistributionSystem:"Syst\xE8me de distribution",IfcDoor:"Porte",IfcDoorStandardCase:"porte standard",IfcDoorStyle:"Style de porte",IfcDuctFitting:"Raccord de gaine",IfcDuctSegment:"Tron\xE7on de gaine",IfcDuctSilencer:"Silencieux circulaire",IfcDuration:"Dur\xE9e",IfcElectricAppliance:"Appareil \xE9lectrique",IfcElectricDistributionBoard:"Tableau de distribution \xE9lectrique",IfcElectricDistributionPoint:"Baie \xE9lectrique",IfcElectricGenerator:"G\xE9n\xE9rateur \xE9lectrique",IfcElectricMotor:"Moteur \xE9lectrique",IfcElement:"\xC9l\xE9ment",IfcEnergyConversionDevice:"Dispositif de conversion d'\xE9nergie",IfcEngine:"Moteur",IfcEvaporativeCooler:"Refroidisseur \xE9vaporatif",IfcEvaporator:"Evaporateur",IfcExternalSpatialElement:"El\xE9ment spatial ext\xE9rieur",IfcExternalSpatialStructureElement:"El\xE9ment de la structure spatiale ext\xE9rieure",IfcFan:"Ventilateur",IfcFastener:"El\xE9ment d'assemblage",IfcFilter:"Filtre",IfcFireSuppressionTerminal:"Appareil terminal d'extinction d'incendie",IfcFlowController:"Contr\xF4leur de d\xE9bit",IfcFlowFitting:"Raccord d'installation fluides",IfcFlowInstrument:"Instrument d'installation fluides",IfcFlowMeter:"Appareil de mesure de d\xE9bit",IfcFlowMovingDevice:"Dispositif de circulation de fluide",IfcFlowSegment:"Tron\xE7on d'installation fluides",IfcFlowStorageDevice:"Appareil de stockage de fluide",IfcFlowTerminal:"El\xE9ment terminal d'installation fluides",IfcFlowTreatmentDevice:"Appareil de traitement de fluide",IfcFooting:"Fondation",IfcFurnishingElement:"El\xE9ment de mobilier",IfcFurniture:"Mobilier",IfcGeographicElement:"El\xE9ment g\xE9ographique",IfcGrid:"Grille",IfcGroup:"Groupe",IfcHeatExchanger:"Echangeur de chaleur",IfcHumidifier:"Humidificateur",IfcIdentifier:"Identifiant",IfcInterceptor:"Filtre",IfcInventory:"Inventaire",IfcJunctionBox:"Boite de jonction",IfcLabel:"\xC9tiquette",IfcLaborResource:"Ressource en main d'\u0153uvre",IfcLamp:"Lampe",IfcMaterial:"Mat\xE9riau",IfcMedicalDevice:"Equipement m\xE9dical",IfcMember:"Membre",IfcMemberStandardCase:"Membre standard",IfcMotorConnection:"Connection du moteur",IfcObject:"Objet",IfcOccupant:"Occupant",IfcOpeningElement:"Ouverture",IfcOpeningStandardCase:"Ouverture standard",IfcOutlet:"Prise",IfcOwnerHistory:"Historique des actions sur l'objet",IfcPath:"Chemin",IfcPermit:"Permis",IfcPile:"Pieu",IfcPipeFitting:"Raccord de tuyauterie",IfcPipeSegment:"Tron\xE7on de tuyauterie",IfcPlanarBox:"Boite planaire",IfcPlanarExtent:"Extension planaire",IfcPlane:"Plan",IfcPlate:"Plaque",IfcPlateStandardCase:"Plaque standard",IfcPort:"Port",IfcPostalAddress:"Addresse postale",IfcProduct:"Produit",IfcProject:"Projet",IfcProperty:"Propri\xE9t\xE9",IfcPropertySet:"Ensemble de propri\xE9t\xE9s",IfcProxy:"Objet utilisateur (d\xE9finit par l'utilisateur)",IfcPump:"Pompe",IfcRailing:"Garde corps",IfcRamp:"Rampe",IfcRampFlight:"Vol\xE9e",IfcReinforcingBar:"barre d'armature",IfcReinforcingElement:"El\xE9ment d'armature",IfcReinforcingMesh:"Treillis",IfcRoof:"Toiture",IfcSanitaryTerminal:"Equipement sanitaire",IfcSensor:"Capteur",IfcShadingDevice:"Protection solaire",IfcShell:"Enveloppe",IfcSite:"Site",IfcSlab:"Dalle",IfcSlabElementedCase:"Dalle composite",IfcSlabStandardCase:"Dalle standard",IfcSolarDevice:"Capteur solaire",IfcSolidModel:"Mod\xE8le solide",IfcSolidOrShell:"Solide ou enveloppe",IfcSpace:"Local",IfcSpaceHeater:"Radiateur",IfcSphere:"Sph\xE8re",IfcStair:"Escalier",IfcStairFlight:"Vol\xE9e d'escalier",IfcSwitchingDevice:"Interrupteur",IfcSystem:"Syst\xE8me",IfcSystemFurnitureElement:"El\xE9ment de l'ameublement",IfcTank:"R\xE9servoir",IfcTendon:"Cable",IfcTendonAnchor:"Ancrage",IfcTransformer:"Transformateur",IfcTransportElement:"Equipement de transport",IfcTriangulatedFaceSet:"Ensemble de faces triangul\xE9es",IfcTubeBundle:"Faisceau tubulaire",IfcValve:"Vanne",IfcVibrationIsolator:"Isolation anti-vibratoire",IfcWall:"Mur",IfcWallElementedCase:"Mur composite",IfcWallStandardCase:"Mur standard",IfcWasteTerminal:"Stockage des d\xE9chets",IfcWindow:"Fen\xEAtre",IfcWindowStandardCase:"Fen\xEAtre standard",IfcWindowStyle:"Style de fen\xEAtre",IfcZone:"Zone"},JM={default:{IfcActuator:"IfcActuator",IfcAddress:"IfcAddress",IfcAirTerminal:"IfcAirTerminal",IfcAirTerminalBox:"IfcAirTerminalBox",IfcAirToAirHeatRecovery:"IfcAirToAirHeatRecovery",IfcAlarm:"IfcAlarm",IfcAsset:"IfcAsset",IfcAudioVisualAppliance:"IfcAudioVisualAppliance",IfcBeam:"IfcBeam",IfcBeamStandardCase:"IfcBeamStandardCase",IfcBlock:"IfcBlock",IfcBoiler:"IfcBoiler",IfcBuilding:"IfcBuilding",IfcBuildingElement:"IfcBuildingElement",IfcBuildingElementPart:"IfcBuildingElementPart",IfcBuildingElementProxy:"IfcBuildingElementProxy",IfcBuildingStorey:"IfcBuildingStorey",IfcBuildingSystem:"IfcBuildingSystem",IfcBurner:"IfcBurner",IfcCableCarrierFitting:"IfcCableCarrierFitting",IfcCableCarrierSegment:"IfcCableCarrierSegment",IfcCableFitting:"IfcCableFitting",IfcCableSegment:"IfcCableSegment",IfcChiller:"IfcChiller",IfcChimney:"IfcChimney",IfcClassification:"IfcClassification",IfcCoil:"IfcCoil",IfcColumn:"IfcColumn",IfcColumnStandardCase:"IfcColumnStandardCase",IfcCommunicationsAppliance:"IfcCommunicationsAppliance",IfcCompressor:"IfcCompressor",IfcCondenser:"IfcCondenser",IfcCooledBeam:"IfcCooledBeam",IfcCoolingTower:"IfcCoolingTower",IfcCovering:"IfcCovering",IfcCurtainWall:"IfcCurtainWall",IfcDamper:"IfcDamper",IfcDiscreteAccessory:"IfcDiscreteAccessory",IfcDistributionChamberElement:"IfcDistributionChamberElement",IfcDistributionCircuit:"IfcDistributionCircuit",IfcDistributionControlElement:"IfcDistributionControlElement",IfcDistributionElement:"IfcDistributionElement",IfcDistributionFlowElement:"IfcDistributionFlowElement",IfcDistributionPort:"IfcDistributionPort",IfcDistributionSystem:"IfcDistributionSystem",IfcDoor:"IfcDoor",IfcDoorStandardCase:"IfcDoorStandardCase",IfcDoorStyle:"IfcDoorStyle",IfcDuctFitting:"IfcDuctFitting",IfcDuctSegment:"IfcDuctSegment",IfcDuctSilencer:"IfcDuctSilencer",IfcDuration:"IfcDuration",IfcElectricAppliance:"IfcElectricAppliance",IfcElectricDistributionBoard:"IfcElectricDistributionBoard",IfcElectricGenerator:"IfcElectricGenerator",IfcElectricMotor:"IfcElectricMotor",IfcElement:"IfcElement",IfcEnergyConversionDevice:"IfcEnergyConversionDevice",IfcEngine:"IfcEngine",IfcEvaporativeCooler:"IfcEvaporativeCooler",IfcEvaporator:"IfcEvaporator",IfcExternalSpatialElement:"IfcExternalSpatialElement",IfcExternalSpatialStructureElement:"IfcExternalSpatialStructureElement",IfcFan:"IfcFan",IfcFastener:"IfcFastener",IfcFilter:"IfcFilter",IfcFireSuppressionTerminal:"IfcFireSuppressionTerminal",IfcFlowController:"IfcFlowController",IfcFlowFitting:"IfcFlowFitting",IfcFlowInstrument:"IfcFlowInstrument",IfcFlowMeter:"IfcFlowMeter",IfcFlowMovingDevice:"IfcFlowMovingDevice",IfcFlowSegment:"IfcFlowSegment",IfcFlowStorageDevice:"IfcFlowStorageDevice",IfcFlowTerminal:"IfcFlowTerminal",IfcFlowTreatmentDevice:"IfcFlowTreatmentDevice",IfcFooting:"IfcFooting",IfcFurnishingElement:"IfcFurnishingElement",IfcFurniture:"IfcFurniture",IfcGeographicElement:"IfcGeographicElement",IfcGrid:"IfcGrid",IfcGroup:"IfcGroup",IfcHeatExchanger:"IfcHeatExchanger",IfcHumidifier:"IfcHumidifier",IfcIdentifier:"IfcIdentifier",IfcInterceptor:"IfcInterceptor",IfcInventory:"IfcInventory",IfcJunctionBox:"IfcJunctionBox",IfcLabel:"IfcLabel",IfcLaborResource:"IfcLaborResource",IfcLamp:"IfcLamp",IfcMaterial:"IfcMaterial",IfcMedicalDevice:"IfcMedicalDevice",IfcMember:"IfcMember",IfcMemberStandardCase:"IfcMemberStandardCase",IfcMotorConnection:"IfcMotorConnection",IfcObject:"IfcObject",IfcOccupant:"IfcOccupant",IfcOpeningElement:"IfcOpeningElement",IfcOpeningStandardCase:"IfcOpeningStandardCase",IfcOutlet:"IfcOutlet",IfcOwnerHistory:"IfcOwnerHistory",IfcPath:"IfcPath",IfcPermit:"IfcPermit",IfcPile:"IfcPile",IfcPipeFitting:"IfcPipeFitting",IfcPipeSegment:"IfcPipeSegment",IfcPlanarBox:"IfcPlanarBox",IfcPlanarExtent:"IfcPlanarExtent",IfcPlane:"IfcPlane",IfcPlate:"IfcPlate",IfcPlateStandardCase:"IfcPlateStandardCase",IfcPort:"IfcPort",IfcPostalAddress:"IfcPostalAddress",IfcProduct:"IfcProduct",IfcProject:"IfcProject",IfcProperty:"IfcProperty",IfcPropertySet:"IfcPropertySet",IfcProxy:"IfcProxy",IfcPump:"IfcPump",IfcRailing:"IfcRailing",IfcRamp:"IfcRamp",IfcRampFlight:"IfcRampFlight",IfcReinforcingBar:"IfcReinforcingBar",IfcReinforcingElement:"IfcReinforcingElement",IfcReinforcingMesh:"IfcReinforcingMesh",IfcRoof:"IfcRoof",IfcSanitaryTerminal:"IfcSanitaryTerminal",IfcSensor:"IfcSensor",IfcShadingDevice:"IfcShadingDevice",IfcShell:"IfcShell",IfcSite:"IfcSite",IfcSlab:"IfcSlab",IfcSlabElementedCase:"IfcSlabElementedCase",IfcSlabStandardCase:"IfcSlabStandardCase",IfcSolarDevice:"IfcSolarDevice",IfcSolidModel:"IfcSolidModel",IfcSolidOrShell:"IfcSolidOrShell",IfcSpace:"IfcSpace",IfcSpaceHeater:"IfcSpaceHeater",IfcSphere:"IfcSphere",IfcStair:"IfcStair",IfcStairFlight:"IfcStairFlight",IfcSwitchingDevice:"IfcSwitchingDevice",IfcSystem:"IfcSystem",IfcSystemFurnitureElement:"IfcSystemFurnitureElement",IfcTank:"IfcTank",IfcTendon:"IfcTendon",IfcTendonAnchor:"IfcTendonAnchor",IfcTransformer:"IfcTransformer",IfcTransportElement:"IfcTransportElement",IfcTriangulatedFaceSet:"IfcTriangulatedFaceSet",IfcTubeBundle:"IfcTubeBundle",IfcValve:"IfcValve",IfcVibrationIsolator:"IfcVibrationIsolator",IfcWall:"IfcWall",IfcWallElementedCase:"IfcWallElementedCase",IfcWallStandardCase:"IfcWallStandardCase",IfcWasteTerminal:"IfcWasteTerminal",IfcWindow:"IfcWindow",IfcWindowStandardCase:"IfcWindowStandardCase",IfcWindowStyle:"IfcWindowStyle",IfcZone:"IfcZone"},fr:mRt},vRt="data:image/svg+xml,%3csvg%20width='24'%20height='23'%20viewBox='0%200%2024%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M22.3613%2015.7775H21.2454V11.8888C21.2454%2011.4605%2020.9063%2011.1109%2020.4911%2011.1109H12.9499V7.22228H13.8785C14.612%207.22228%2015.2119%206.60266%2015.2119%205.84611V2.37605C15.2119%201.6195%2014.612%200.999878%2013.8785%200.999878H10.5128C9.77925%200.999878%209.17845%201.6195%209.17845%202.37605V5.84611C9.17845%206.60266%209.77925%207.22228%2010.5128%207.22228H11.4413V11.1109H3.90024C3.48495%2011.1109%203.14594%2011.4605%203.14594%2011.8888V15.7775H2.03003C1.29645%2015.7775%200.695648%2016.3971%200.695648%2017.1537V20.6237C0.695648%2021.3803%201.29645%2021.9999%202.03003%2021.9999H5.39471C6.1283%2021.9999%206.7291%2021.3803%206.7291%2020.6237V17.1537C6.7291%2016.3971%206.1283%2015.7775%205.39471%2015.7775H4.6536V12.6668H11.4413V15.7775H10.5128C9.77925%2015.7775%209.17845%2016.3971%209.17845%2017.1537V20.6237C9.17845%2021.3803%209.77925%2021.9999%2010.5128%2021.9999H13.8785C14.612%2021.9999%2015.2119%2021.3803%2015.2119%2020.6237V17.1537C15.2119%2016.3971%2014.612%2015.7775%2013.8785%2015.7775H12.9499V12.6668H19.7368V15.7775H18.9966C18.2621%2015.7775%2017.6622%2016.3971%2017.6622%2017.1537V20.6237C17.6622%2021.3803%2018.2621%2021.9999%2018.9966%2021.9999H22.3613C23.0948%2021.9999%2023.6956%2021.3803%2023.6956%2020.6237V17.1537C23.6956%2016.3971%2023.0948%2015.7775%2022.3613%2015.7775Z'%20fill='%232F374A'/%3e%3crect%20x='9.1058'%20y='0.999878'%20width='6.1797'%20height='6.2208'%20rx='1'%20fill='%23F8C62C'/%3e%3c/svg%3e",CRt={name:"structure",i18n:{de:qV,en:{...KV,ifc_type:JM.default},es:Xue,fr:{...JV,ifc_type:JM.fr},it:$ue},component:zV,window:{name:"structure",noModel:!0,label:"structure.window_label",icon:{imgUri:vRt}}},yRt={name:"button-structure",addToWindows:["3d"],i18nTokenPrefix:"structure",i18n:{de:qV,en:{...KV,ifc_type:JM.default},es:Xue,fr:{...JV,ifc_type:JM.fr},it:$ue},component:zV,button:{position:"left",stance:-1,content:"panel",tooltip:"structure.window_label",keepOpen:!0,icon:{component:"BIMDataIconStructure",options:{size:"m"}}}},wRt={name:"BIMDataStructurePropertiesWrapper",components:{BIMDataStructure:Object.assign({},zV),BIMDataProperties:Object.assign({},eH)},data(){return{structureVisible:!0,propertiesVisible:!0}},created(){this.$viewer.i18n.registerTranslations({de:{properties:tH,structure:qV},en:{properties:iH,structure:KV},fr:{properties:rH,structure:JV}})},methods:{reloadTrees(){const t=this.$refs.structure;t&&t.reload()},toggle(t){t==="structure"?(this.structureVisible=!this.structureVisible,!this.structureVisible&&this.propertiesVisible===!1&&(this.propertiesVisible=!0)):(this.propertiesVisible=!this.propertiesVisible,!this.propertiesVisible&&this.structureVisible===!1&&(this.structureVisible=!0))}}},bRt={class:"bimdata-structure-properties"},IRt={class:"bimdata-structure-properties__panel__header"},BRt={class:"bimdata-structure-properties__panel__content"},ERt={class:"bimdata-structure-properties__panel__header"},xRt={class:"bimdata-structure-properties__panel__content"};function kRt(t,e,i,r,o,n){const s=R("BIMDataIconMinus"),a=R("BIMDataIconPlus"),l=R("BIMDataButton"),c=R("BIMDataStructure"),d=R("BIMDataProperties");return Q(),N("div",bRt,[B("div",{class:be(["bimdata-structure-properties__panel",{"bimdata-structure-properties__panel--mono":!o.propertiesVisible,"bimdata-structure-properties__panel--reduced":!o.structureVisible}])},[B("div",IRt,[B("div",null,ee(t.$t("structure.title")),1),L(l,{icon:"",onClick:e[0]||(e[0]=u=>n.toggle("structure"))},{default:z(()=>[o.structureVisible?(Q(),te(s,{key:0,class:"fill-primary",size:"xxs"})):(Q(),te(a,{key:1,class:"fill-primary",size:"xxs"}))]),_:1})]),Ft(B("div",BRt,[L(c,{ref:"structure","from-wrapper":!0},null,512)],512),[[vi,o.structureVisible]])],2),B("div",{class:be(["bimdata-structure-properties__panel",{"bimdata-structure-properties__panel--mono":!o.structureVisible,"bimdata-structure-properties__panel--reduced":!o.propertiesVisible}])},[B("div",ERt,[B("div",null,ee(t.$t("properties.title")),1),L(l,{icon:"",onClick:e[1]||(e[1]=u=>n.toggle("properties"))},{default:z(()=>[o.propertiesVisible?(Q(),te(s,{key:0,class:"fill-primary",size:"xxs"})):(Q(),te(a,{key:1,class:"fill-primary",size:"xxs"}))]),_:1})]),Ft(B("div",xRt,[L(d,{"from-wrapper":!0})],512),[[vi,o.propertiesVisible]])],2)])}const MRt=K(wRt,[["render",kRt],["__scopeId","data-v-93bfd99d"]]),SRt={name:"structure-properties",addToWindows:["3d"],component:MRt,button:{position:"left",stance:-1,content:"free",tooltip:"structure.tooltip",keepOpen:!0,icon:{component:"BIMDataIconTree",options:{size:"m"}}}};function QRt(t){const e=t.viewer,i=DRt(e),r=new WeakMap,o=[];return o.push(t.$viewer.state.hub.on("objects-selected",({objects:n})=>e.scene.selectObjects(i(n))),t.$viewer.state.hub.on("objects-deselected",({objects:n})=>e.scene.deselectObjects(i(n))),t.$viewer.state.hub.on("objects-highlighted",({objects:n})=>e.scene.highlightObjects(i(n))),t.$viewer.state.hub.on("objects-unhighlighted",({objects:n})=>e.scene.unhighlightObjects(i(n))),t.$viewer.state.hub.on("objects-shown",({objects:n})=>{e.scene.showObjects(i(t.selectedStorey?n.filter(s=>t.selectedStorey.uuids.has(s.uuid)):[]))}),t.$viewer.state.hub.on("objects-hidden",({objects:n})=>e.scene.hideObjects(i(t.selectedStorey?n.filter(s=>t.selectedStorey.uuids.has(s.uuid)):[]))),t.$viewer.state.hub.on("objects-colorized",({objects:n,color:s})=>{i(n).forEach(a=>{const l=e.scene.objectsMap.get(a);if(l)if(s)r.has(l)||r.set(l,{fill:l.fill}),l.fill=Number.parseInt(s.substring(1),16);else{const{fill:c}=r.get(l)||{};l.fill=c,r.delete(l)}})})),()=>{o.forEach(n=>t.$viewer.state.hub.off(n))}}function DRt(t){return e=>e.map(i=>{var r;return(r=t.scene.objectsMap.get(String(i.id)))==null?void 0:r.id}).filter(Boolean)}function PRt(t){const{viewer:e,$viewer:i}=t;let r=!0,o=!0,n=null,s=null,a=null,l="pick";const c=e.ui;return Object.defineProperties(c,{mode:{value:l,writable:!0,enumerable:!0},selectOnClick:{get(){return r},set(d){d?n===null&&(n=e.ui.on("click",({object:u,altKey:A,shiftKey:h,rightClick:g})=>{if(!(g||!u||c.mode!=="pick"))if(A)e.camera.fitView(u);else{const p=i.state.objectsMap.get(+u.id);p&&(p.selected?i.state.deselectObjects([p.id]):h?i.state.selectObjects([p.id]):i.state.selectObjects([p.id],{exclusive:!0}))}})):n!==null&&(e.ui.off(n),n=null),r=d},enumerable:!0},highlightOnHover:{get(){return o},set(d){d?(s===null&&(s=e.ui.on("mousemove",({object:u,previousObject:A})=>{if(c.mode==="pick"&&u!==A){if(u){const h=i.state.objectsMap.get(+u.id);h&&i.state.highlightObjects([h.id])}if(A){const h=i.state.objectsMap.get(+A.id);h&&i.state.unhighlightObjects([h.id])}}})),a===null&&(a=e.ui.on("mouseleave",()=>{c.mode==="pick"&&e.scene.highlightedObjects.length>0&&e.ticker.addOnce("mouseleave-nextTick",()=>{const u=e.scene.highlightedObjects.map(A=>{const h=i.state.objectsMap.get(+A.id);return i.state.objectsMap.get(h?.id)}).filter(Boolean).map(A=>A.id);u.length>0&&i.state.unhighlightObjects(u)})}))):(s!==null&&(e.ui.off(s),s=null),a!==null&&(e.ui.off(a),a=null)),o=d},enumerable:!0}}),c.selectOnClick=!0,c.highlightOnHover=!0,c}function RRt(t){const e=t.camera.position.x,i=t.camera.position.y,r=t.scene.addObject({id:"camera-core",shapes:[{paths:[{type:"line",points:[e,i,e-.5,i-1,e+.5,i-1],close:!0}],style:{fill:14211288,lineWidth:0}},{paths:[{type:"arc",x:e,y:i,radius:.2,close:!0}],style:{fill:16303660,lineWidth:0}}],zIndex:1,pickable:!1});let o=0;const n={move(s={}){const{x:a=t.camera.position.x,y:l=t.camera.position.y}=s;r.move({x:a,y:l})},set angle(s){r.rotate(s-o),o=s},get angle(){return o},sync(s,a){this.move(s),this.angle=Math.atan2(a.y-s.y,a.x-s.x)/Math.PI*180+90},destroy(){t.scene.removeObject(r.id)},object:r};return window.cam=n,n}/*!
1237
1237
  * html2canvas 1.4.1 <https://html2canvas.hertzen.com>
@@ -1605,7 +1605,7 @@ Fragment shader:
1605
1605
  `},zoomImageTransform(){return`
1606
1606
  scale(${this.zoomFactor})
1607
1607
  translate(-${this.zoomX}px, -${this.zoomY}px)
1608
- `}},methods:{onMouseMove({offsetX:t,offsetY:e}){this.zoomX=t,this.zoomY=e}}},wmi=["src"],bmi=["src"];function Imi(t,e,i,r,o,n){return Q(),N("div",{class:"preview-2d",onMouseenter:e[0]||(e[0]=s=>o.hover=!0),onMouseleave:e[1]||(e[1]=s=>o.hover=!1),onMousemove:e[2]||(e[2]=(...s)=>n.onMouseMove&&n.onMouseMove(...s))},[B("img",{loading:"lazy",src:n.imgUrl},null,8,wmi),Ft(B("div",{class:"zoom",style:Be({transform:n.zoomTransform})},[B("div",{class:"zoomImage",style:Be({width:`${i.width}px`,height:`${i.height}px`,transform:n.zoomImageTransform})},[B("img",{loading:"lazy",src:n.imgUrl},null,8,bmi)],4)],4),[[vi,o.hover]])],32)}const Bmi=K(ymi,[["render",Imi],["__scopeId","data-v-b92f4cf9"]]),D9e=15,Emi={props:{width:{type:Number},height:{type:Number},previewUrl:{type:String},defaultUrl:{type:String}},data(){return{translation:0}},computed:{viewportWidth(){return Math.min(this.width,this.height)}},methods:{onMouseMove({offsetX:t}){let e=Math.ceil(D9e*(1-t/this.width));e=Math.abs(e),e=Math.min(e,D9e),this.translation=(e-1)*this.viewportWidth}}},xmi=["src"];function kmi(t,e,i,r,o,n){return Q(),N("div",{class:"preview-3d",onMousemove:e[0]||(e[0]=(...s)=>n.onMouseMove&&n.onMouseMove(...s))},[B("div",{class:"viewport",style:Be({width:`${n.viewportWidth}px`,height:`${i.height}px`})},[B("img",{loading:"lazy",src:i.previewUrl||i.defaultUrl,style:Be({transform:`translateX(-${o.translation}px)`})},null,12,xmi)],4)],32)}const Mmi=K(Emi,[["render",kmi],["__scopeId","data-v-81707204"]]),Smi={components:{Preview2D:Bmi,Preview3D:Mmi},props:{type:{type:String,default:"3d",validator:t=>["2d","3d"].includes(t)},width:{type:Number,default:240},height:{type:Number,default:240},previewUrl:{type:String},defaultUrl:{type:String},backgroundColor:{type:String,default:"var(--color-silver-light)"},zoomFactor:{type:Number,default:3}},computed:{previewComponent(){return this.type==="3d"?"Preview3D":"Preview2D"}}};function Qmi(t,e,i,r,o,n){return Q(),te(Uo(n.previewComponent),al({class:"bimdata-model-preview",style:{width:`${i.width}px`,height:`${i.height}px`,backgroundColor:i.backgroundColor}},t.$props),null,16,["style"])}const Dmi=K(Smi,[["render",Qmi]]),Pmi={class:"placeholder"},Rmi={class:"list-item"},Lmi={class:"count"},Tmi={__name:"StoreySelector",props:{storeys:{type:Object,required:!0},storey:{type:Object,default:null}},emits:["storey-selected"],setup(t,{emit:e}){const i=t,r=e,o=_e(null);return Ht([()=>i.storeys,()=>i.storey],([n,s])=>{var a;(!s||n.some(l=>l.uuid===s.uuid)&&s.uuid!==((a=o.value)==null?void 0:a.uuid))&&(o.value=s)},{immediate:!0}),Ht(o,n=>r("storey-selected",n)),(n,s)=>{const a=R("BIMDataIconStorey"),l=R("BIMDataTextbox"),c=R("BIMDataIconPlan"),d=R("BIMDataDropdownList");return Q(),te(d,{class:"storey-selector",width:"100%",list:t.storeys,elementKey:"uuid",closeOnElementClick:!0,onElementClick:s[0]||(s[0]=u=>o.value=u)},{header:z(()=>{var u;return[L(a,{size:"xs"}),B("span",Pmi,ee(((u=o.value)==null?void 0:u.name)??n.$t("MetaBuildingStructure.StoreySelector.placeholder")),1)]}),element:z(({element:u})=>[B("div",Rmi,[L(l,{class:"text",text:u.name},null,8,["text"]),L(c,{size:"xs"}),B("span",Lmi,ee(u.plans.length),1)])]),_:1},8,["list"])}}},Fmi=K(Tmi,[["__scopeId","data-v-8ac6660b"]]),_mi={class:"photosphere-building"},Umi={class:"title"},Nmi={class:"head"},Omi={class:"body"},Hmi={class:"loading"},Vmi={__name:"BIMDataPhotosphereBuilding",props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,default:null},storey:{type:Object,default:null},plan:{type:Object,default:null},selectable:{type:Boolean,default:!1}},emits:["storey-selected","plan-selected"],setup(t,{emit:e}){const i=t,r=e,o=_e(!1),n=_e([]),s=_e(null),a=At(()=>{var u;return((u=s.value)==null?void 0:u.plans)??[]}),l=_e(null);Ht(()=>i.model,async u=>{if(u)try{o.value=!0,n.value=await i.apiClient.modelApi.getStoreys(i.space.id,u.id,i.project.id),n.value.some(({uuid:A})=>{var h;return((h=s.value)==null?void 0:h.uuid)===A})||(s.value=n.value[0]??null)}finally{o.value=!1}else n.value=[],s.value=null},{immediate:!0}),Ht(()=>i.storey,u=>{s.value=u},{immediate:!0}),Ht(()=>i.plan,u=>{var A;l.value=(A=u?.plan)==null?void 0:A.id},{immediate:!0});const c=u=>(s.value=u,r("storey-selected",u)),d=u=>r("plan-selected",u);return(u,A)=>{const h=R("BIMDataIconBuilding"),g=R("BIMDataRadio"),p=R("BIMDataFileIcon"),m=R("BIMDataTextbox"),f=R("BIMDataSpinner");return Q(),N("div",_mi,[B("div",Umi,[L(h,{size:"s"}),B("span",null,ee(u.$t("PhotosphereBuilding.title")),1)]),B("div",Nmi,[L(Fmi,{storeys:n.value,storey:s.value,onStoreySelected:c},null,8,["storeys","storey"])]),B("div",Omi,[(Q(!0),N(Et,null,Wt(a.value,C=>{var y;return Q(),N("div",{class:"list-item",key:C.plan.id},[t.selectable?(Q(),te(g,{key:0,value:C.plan.id,modelValue:l.value,"onUpdate:modelValue":[A[0]||(A[0]=v=>l.value=v),v=>d(C)]},null,8,["value","modelValue","onUpdate:modelValue"])):fe("",!0),L(p,{fileName:((y=C.plan.document)==null?void 0:y.file_name)??C.plan.name,size:14},null,8,["fileName"]),L(m,{class:"text",text:C.plan.name},null,8,["text"])])}),128))]),L(cr,{name:"fade"},{default:z(()=>[Ft(B("div",Hmi,[L(f)],512),[[vi,o.value]])]),_:1})])}}},P9e=K(Vmi,[["__scopeId","data-v-94317752"]]);function Yq(t,e){var i;return Array.isArray(t)?t=t.map(r=>Yq(r,e)):(t.expandedRef=_e(!0),t.parent=e,t.children=((i=t.children)==null?void 0:i.map(r=>Yq(r,t)))??[]),t}function Gmi(t,e,i){return[{id:1,text:t.name,component:"StructureRootNode",children:e.map(r=>jmi(r))}]}const jmi=(t,e)=>{var i;return{id:t.uuid,text:t.name,component:"StoreyNode",children:((i=t.plans)==null?void 0:i.map(r=>zmi(t,r)))??[],storey:t}},zmi=(t,e)=>({id:e.plan.id,text:e.plan.name,component:"PlanNode",storey:t,plan:e}),qmi={class:"generic-tree-node"},Kmi={class:"end"},Jmi={__name:"GenericTreeNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},setup(t){return(e,i)=>{const r=R("BIMDataTextbox");return Q(),N("div",qmi,[Mt(e.$slots,"icon",{},void 0,!0),L(r,{class:"text",text:t.node.text},null,8,["text"]),B("div",Kmi,[Mt(e.$slots,"end",{},void 0,!0)])])}}},ND=K(Jmi,[["__scopeId","data-v-fab13549"]]),Ymi={__name:"PlanNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},emits:["delete-plan"],setup(t){const e=t,i=At(()=>e.node.storey),r=At(()=>e.node.plan);return(o,n)=>{const s=R("BIMDataFileIcon"),a=R("BIMDataIconDelete"),l=R("BIMDataButton");return Q(),te(ND,hd(BA(o.$props)),{icon:z(()=>{var c;return[L(s,{"file-name":((c=r.value.plan.document)==null?void 0:c.file_name)??r.value.plan.name,size:12},null,8,["file-name"])]}),end:z(()=>[L(l,{width:"24px",height:"24px",color:"high",ghost:"",rounded:"",icon:"",onClick:n[0]||(n[0]=c=>o.$emit("delete-plan",{storey:i.value,plan:r.value}))},{default:z(()=>[L(a,{size:"xxs"})]),_:1})]),_:1},16)}}},Wmi={__name:"StoreyNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},emits:["add-plans","delete-storey","update-storey"],setup(t,{emit:e}){const i=t,r=e,o=[{key:1,text:"BuildingMaker.view.addFile",icon:"plus",action:()=>(n.value=!1,r("add-plans",i.node.storey))},{key:2,text:"BIMDataComponents.t.rename",icon:"edit",action:()=>(n.value=!1,r("update-storey",i.node.storey)),divider:!0},{key:3,text:"BIMDataComponents.t.delete",icon:"delete",color:"var(--color-high)",action:()=>(n.value=!1,r("delete-storey",i.node.storey))}],n=_e(!1);return(s,a)=>{const l=R("BIMDataIconStorey"),c=R("BIMDataIconEllipsis"),d=R("BIMDataButton"),u=R("BIMDataIcon"),A=R("BIMDataMenu");return Q(),te(ND,al({class:"storey-node"},s.$props),{icon:z(()=>[L(l,{size:"xxs"})]),end:z(()=>[L(d,{width:"24px",height:"24px",color:"granite",ghost:"",rounded:"",icon:"",onClick:a[0]||(a[0]=h=>n.value=!n.value)},{default:z(()=>[L(c,{customSize:"24"})]),_:1}),L(cr,{name:"fade"},{default:z(()=>[Ft(L(A,{class:"storey-node__menu",menuItems:o,width:"180px"},{item:z(({item:h})=>[L(u,{name:h.icon,size:"xs",margin:"0 12px 0 0"},null,8,["name"]),B("span",null,ee(s.$t(h.text)),1)]),_:1},512),[[vi,n.value]])]),_:1})]),_:1},16)}}},Zmi=K(Wmi,[["__scopeId","data-v-a66bc7dd"]]),Xmi={__name:"StructureRootNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},emits:["create-storey"],setup(t){return(e,i)=>{const r=R("BIMDataIconBuilding"),o=R("BIMDataIconPlus"),n=R("BIMDataButton");return Q(),te(ND,hd(BA(e.$props)),{icon:z(()=>[L(r,{size:"xs"})]),end:z(()=>[L(n,{width:"23px",height:"23px",color:"primary",fill:"",radius:"",icon:"",onClick:i[0]||(i[0]=s=>e.$emit("create-storey"))},{default:z(()=>[L(o,{size:"xxs"})]),_:1})]),_:1},16)}}},$mi={__name:"ZoneNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},setup(t){return(e,i)=>{const r=R("BIMDataIconZone2");return Q(),te(ND,hd(BA(e.$props)),{icon:z(()=>[L(r,{size:"xxs"})]),_:1},16)}}},evi={class:"building-view"},tvi={key:0,class:"content"},ivi={key:1,class:"content"},rvi={class:"building-view__tree"},ovi=Object.assign({components:{PlanNode:Ymi,StoreyNode:Zmi,StructureRootNode:Xmi,ZoneNode:$mi}},{__name:"PhotosphereBuildingView",props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,required:!0}},emits:["close"],setup(t,{emit:e}){const i=t,r=_t("service"),o=_t("loading"),n=_e(""),s=_e(""),a=_e(!1),l=_e(!1),c=_e([]),d=_e(null),u=_e([]),A=_e([]),h=At(()=>Yq(Gmi(i.model,c.value,A.value))),g=async()=>{try{o.value=!0,c.value=await r.fetchStoreys(i.model)}finally{o.value=!1}},p=async()=>{try{o.value=!0,A.value=await r.fetchZones(i.model)}finally{o.value=!1}},m=async k=>{await r.createStorey(i.model,k),g()},f=async k=>{await r.updateStorey(i.model,k),g()},C=async k=>{await r.deleteStorey(i.model,k),g()},y=k=>{d.value=k,l.value=!0},v=()=>{d.value=null,l.value=!1},w=k=>{n.value=i.apiClient.config.configuration.basePath,s.value=i.apiClient.accessToken,d.value=k,a.value=!0},b=async()=>{const k=[],x=[];for(const{document:D,pdfPage:P}of u.value)P?x.push(P):k.push(D);const M=(await r.createPlanModels(k)).concat(x);await r.createStoreyPlans(i.model,d.value,M),g(),u.value=[],d.value=null,a.value=!1},E=async({storey:k,plan:x})=>{await r.deleteStoreyPlan(i.model,k,x),g()};return Sr(()=>{g(),p()}),(k,x)=>{const M=R("BIMDataFileManager"),D=R("BIMDataButton"),P=R("BIMDataTree");return Q(),N("div",evi,[L(cr,{name:"fade",mode:"out-in"},{default:z(()=>[a.value&&n.value&&s.value&&d.value?(Q(),N("div",tvi,[L(M,{class:"building-view__dms",spaceId:t.space.id,projectId:t.project.id,apiUrl:n.value,archiveUrl:"",accessToken:s.value,locale:k.$i18n.locale,select:!0,pdfPageSelect:!0,multi:!0,headerButtons:!1,selectableFileTypes:Vt(yme),onSelectionChange:x[0]||(x[0]=T=>u.value=T)},null,8,["spaceId","projectId","apiUrl","accessToken","locale","selectableFileTypes"]),L(D,{width:"100%",color:"primary",fill:"",radius:"",onClick:b},{default:z(()=>[gt(ee(k.$t("BIMDataComponents.t.validate")),1)]),_:1})])):(Q(),N("div",ivi,[B("div",rvi,[L(P,{data:h.value},{node:z(({node:T,depth:U})=>[(Q(),te(Uo(T.component),{node:T,depth:U,onCreateStorey:y,onUpdateStorey:y,onDeleteStorey:C,onAddPlans:w,onDeletePlan:E},null,40,["node","depth"]))]),_:1},8,["data"])]),L(D,{width:"100%",color:"primary",fill:"",radius:"",onClick:x[1]||(x[1]=T=>k.$emit("close"))},{default:z(()=>[gt(ee(k.$t("BIMDataComponents.t.finish")),1)]),_:1}),L(cr,{name:"fade"},{default:z(()=>[l.value?(Q(),te(Ime,{key:0,class:"building-view__form",storey:d.value,onCreateStorey:m,onUpdateStorey:f,onClose:v},null,8,["storey"])):fe("",!0)]),_:1})]))]),_:1})])}}}),nvi=K(ovi,[["__scopeId","data-v-5bedb26f"]]),svi={class:"bimdata-building-maker"},avi=["src"],lvi={class:"bimdata-building-maker__body"},cvi={class:"bimdata-building-maker__loader"},dvi={__name:"BIMDataPhotosphereBuildingMaker",props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,default:null}},emits:["metaBuilding-created","metaBuilding-updated","metaBuilding-deleted"],setup(t,{emit:e}){const i=t,r=e,o=Object.freeze({FORM:"form",LIST:"list",VIEW:"view"}),n=Cme(i.apiClient,i.space,i.project),s=_e(!1);Mo("service",n),Mo("loading",s);const a=_e(o.LIST),l=_e([]),c=_e(null),d=async()=>{s.value=!0,l.value=await n.fetchPhotosphereBuildings(),s.value=!1},u=async f=>{await n.deleteMetaBuilding(f),d(),r("metaBuilding-deleted")},A=f=>{c.value=f??null,a.value=o.FORM},h=f=>{c.value=f,a.value=o.VIEW},g=async f=>{await d(),h(f),r("metaBuilding-created")},p=()=>{d(),a.value=o.LIST,r("metaBuilding-updated")},m=()=>{a.value=o.LIST};return Ht(()=>i.model,f=>{f&&h(f)},{immediate:!0}),Sr(()=>d()),(f,C)=>{const y=R("BIMDataIconArrow"),v=R("BIMDataButton"),w=R("BIMDataSpinner");return Q(),N("div",svi,[B("div",{class:"bimdata-building-maker__header",style:Be({visibility:a.value===Vt(o).LIST?"hidden":"visible"})},[L(v,{class:"bimdata-building-maker__header__btn-back",ghost:"",radius:"",disabled:s.value.value,onClick:m},{default:z(()=>[L(y,{size:"xxs",margin:"0 6px 0 0"}),B("span",null,ee(f.$t("BIMDataComponents.t.back")),1)]),_:1},8,["disabled"]),B("img",{src:Vt(ab)},null,8,avi),B("span",null,ee(f.$t("PhotosphereBuilding.title")),1)],4),B("div",lvi,[L(cr,{name:"fade",mode:"out-in"},{default:z(()=>[a.value===Vt(o).FORM?(Q(),te(wme,{key:0,type:Vt(bq).PHOTOSPHERE_BUILDING,metaBuilding:c.value,onMetaBuildingCreated:g,onMetaBuildingUpdated:p},null,8,["type","metaBuilding"])):a.value===Vt(o).VIEW&&c.value?(Q(),te(nvi,{key:1,apiClient:t.apiClient,space:t.space,project:t.project,model:c.value,onClose:m},null,8,["apiClient","space","project","model"])):(Q(),te(bme,{key:2,metaBuildings:l.value,onOpenMetaBuilding:h,onCreateMetaBuilding:A,onUpdateMetaBuilding:A,onDeleteMetaBuilding:u},null,8,["metaBuildings"]))]),_:1})]),L(cr,{name:"fade"},{default:z(()=>[Ft(B("div",cvi,[L(w)],512),[[vi,s.value]])]),_:1})])}}},uvi=K(dvi,[["__scopeId","data-v-235bd404"]]),Avi={class:"overlay"},hvi={class:"safe-zone__icon"},pvi={class:"safe-zone__title"},gvi={class:"safe-zone__text"},fvi={class:"safe-zone__actions"},mvi={__name:"BIMDataSafeZoneModal",props:{width:{type:String,default:"350px"},iconName:{type:String,default:"warning"}},setup(t){return(e,i)=>{const r=R("BIMDataIcon");return Q(),N("div",Avi,[B("div",{class:"safe-zone",style:Be({width:t.width})},[B("div",hvi,[L(r,{name:t.iconName,size:"s",fill:"",color:"high"},null,8,["name"])]),B("h2",pvi,[Mt(e.$slots,"title",{},void 0,!0)]),B("div",gvi,[Mt(e.$slots,"text",{},void 0,!0)]),B("div",fvi,[Mt(e.$slots,"actions",{},void 0,!0)])],4)])}}},vvi=K(mvi,[["__scopeId","data-v-01a25253"]]),Cvi=Object.freeze(Object.defineProperty({__proto__:null,BIMDataBuildingMaker:Bme,BIMDataFileManager:v2i,BIMDataGuidedTour:O2i,BIMDataMetaBuildingStructure:Q9e,BIMDataModelPreview:Dmi,BIMDataPDFViewer:C9e,BIMDataPhotosphereBuilding:P9e,BIMDataPhotosphereBuildingMaker:uvi,BIMDataSafeZoneModal:vvi},Symbol.toStringTag,{value:"Module"})),yvi={setup(){const t=_t("$viewer"),{apiClient:e,cloudId:i,projectId:r}=t.api;return()=>Ln(Bme,{apiClient:e,space:{id:i},project:{id:r}})}},wvi={name:"buildingMaker",component:yvi,window:{name:"buildingMaker",label:"Building Maker",noModel:!0,icon:{imgUri:ab}}},bvi={components:{BIMDataNumericalInput:o1e},setup(){const t=_t("$viewer"),e=_t("root"),i=_t("close"),r=At(()=>e.editedBitmap?e.editedBitmap:{x:0,y:0,scale:0,angle:0,opacity:0}),o=Ivi(r);return{root:e,bitmap:r,...o,submit:async()=>{try{e.loading=!0,await Promise.all(e.bitmaps.filter(n=>n.edited).map(async n=>{const{x:s,y:a,scale:l,angle:c,opacity:d,plan:u}=n;Object.assign(u,{translation_x:s,translation_y:a,scale:l,rotate_z:c,opacity:d}),await t.state.updatePlan(u),n.edited=!1}))}catch(n){console.error(n)}finally{e.loading=!1,i()}}}}};function Ivi(t){const e={};return Object.entries({x:i=>i,y:i=>i,scale:i=>i,angle:i=>i<0||i>360?(i%360+360)%360:i,opacity:i=>i<0?0:i>1?1:i}).forEach(([i,r])=>{e[i]=At({get:()=>t.value[i],set:o=>t.value[i]=r(o)})}),e}const Bvi={class:"synchronization__page__edit"},Evi={class:"synchronization__page__edit__content"},xvi={class:"synchronization__page__edit__content__unit-group"},kvi={class:"synchronization__page__edit__content__unit-group__element"},Mvi={class:"synchronization__page__edit__content__unit-group__element"},Svi={class:"synchronization__page__edit__content__unit-group__element"},Qvi={class:"synchronization__page__edit__content__unit"},Dvi={class:"synchronization__page__edit__content__unit"},Pvi={class:"synchronization__page__edit__content__img"},Rvi=["src"],Lvi={class:"synchronization__page__edit__validate"};function Tvi(t,e,i,r,o,n){const s=R("BIMDataNumericalInput"),a=R("BIMDataSlider"),l=R("BIMDataTextbox"),c=R("BIMDataButton");return Q(),N("div",Bvi,[B("div",Evi,[B("section",null,[B("span",null,ee(t.$t("synchronization.location")),1),B("div",xvi,[B("div",kvi,[L(s,{modelValue:t.x,"onUpdate:modelValue":e[0]||(e[0]=d=>t.x=d),label:"X",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),B("div",Mvi,[L(s,{modelValue:t.y,"onUpdate:modelValue":e[1]||(e[1]=d=>t.y=d),label:"Y",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),B("div",Svi,[L(s,{modelValue:t.scale,"onUpdate:modelValue":e[2]||(e[2]=d=>t.scale=d),label:t.$t("synchronization.scale"),step:.01,min:.01,container:t.$viewer.localContext.el},null,8,["modelValue","label","container"])])])]),B("section",null,[B("span",null,ee(t.$t("synchronization.rotation")),1),B("div",Qvi,[L(s,{modelValue:t.angle,"onUpdate:modelValue":e[3]||(e[3]=d=>t.angle=d),unit:"\xB0",centered:""},null,8,["modelValue"]),L(a,{modelValue:t.angle,"onUpdate:modelValue":e[4]||(e[4]=d=>t.angle=d),min:0,max:360},null,8,["modelValue"])])]),B("section",null,[B("span",null,ee(t.$t("synchronization.alpha")),1),B("div",Dvi,[L(s,{modelValue:t.opacity,"onUpdate:modelValue":e[5]||(e[5]=d=>t.opacity=d),centered:""},null,8,["modelValue"]),L(a,{modelValue:t.opacity,"onUpdate:modelValue":e[6]||(e[6]=d=>t.opacity=d),min:0,max:1,step:.01},null,8,["modelValue"])])]),B("section",null,[B("span",null,ee(t.$t("synchronization.preview")),1),B("div",Pvi,[B("img",{src:r.bitmap.dataUrl,alt:"Background"},null,8,Rvi),L(l,{text:r.bitmap.name,class:"synchronization__page__edit__content__img__name"},null,8,["text"])])])]),B("div",Lvi,[L(c,{width:"100%",color:"primary",fill:"",radius:"",onClick:r.submit},{default:z(()=>[gt(ee(r.bitmap&&r.bitmap.plan?t.$t("global.save"):t.$t("global.validate")),1)]),_:1},8,["onClick"])])])}const Fvi=K(bvi,[["render",Tvi],["__scopeId","data-v-6e4accff"]]),_vi={name:"BimdataSynchronization",components:{edit:Fvi},setup(){const{localContext:t}=_t("$viewer"),e=_t("$plugin");let i=t.pluginComponentInstances.get("plan");if(!i)throw new Error("[Synchronization] plugin cannot work without viewerPlan plugin with 2d engine on.");i=pu(i),Mo("viewerPlan",i),wA(()=>{i.bitmaps.length>1&&!e.shown&&e.show(),i.bitmaps.length<=1&&e.shown&&e.hide()}),Ht(()=>e.shown,A=>{A&&i.bitmaps<=1&&e.hide()});const r=rl({page:"edit",loading:!1,modalDisplayed:!1,model:null,storeys:[],selectedStorey:null,plans:[],bitmaps:[],editedBitmap:null});Mo("root",r);const o=()=>{r.bitmaps.map(A=>(A.edit(!1),A)).filter(A=>A.edited).forEach(A=>A.reset()),r.modalDisplayed=!1,i.storeyRightOffset=0,t.showUI(),document.removeEventListener("keydown",c),r.editedBitmap=null,r.bitmaps=[]},n=()=>{o(),e.close()};Mo("close",n);const s=()=>{r.bitmaps.some(A=>A.edited)?r.modalDisplayed=!0:n()},a=()=>{n()},l=A=>{r.editedBitmap=A},c=A=>{r.loading||A.key==="Escape"&&(A.preventDefault(),r.modalDisplayed?r.modalDisplayed=!1:n())},d=t.hub.on("model-loaded",({model:A})=>{r.model=A,r.storeys=A.storeys,r.plans=A.storeys.flatMap(h=>h.plans)},{getLastEvent:!0}),u=t.hub.on("storey-selected",({storey:A})=>{r.selectedStorey=A,(!A||A.plans.length<2)&&n()},{getLastEvent:!0});return fo(()=>{t.hub.off(d),t.hub.off(u)}),Ht(()=>r.editedBitmap,(A,h)=>{h?.edit(!1),A?.edit(!0)},{immediate:!0}),{viewerPlan:i,root:r,onBitmapClick:l,onCloseClick:s,onLeaveClick:a,onKeyDown:c,clean:o}},async onOpen(){var t;this.$viewer.localContext.pluginComponentInstances.forEach(e=>{var i;e!==this&&((i=e.$close)==null||i.call(e))}),this.viewerPlan.storeyRightOffset=380,await this.$viewer.localContext.hideUI({exceptions:[this.$plugin.name]}),document.addEventListener("keydown",this.onKeyDown),this.root.bitmaps=Array.from(this.viewerPlan.bitmaps),this.root.editedBitmap=this.root.bitmaps[0],this.root.bitmaps.filter(e=>!e.visible).forEach(e=>{this.$viewer.localContext.showPlan(e.plan),e.show()}),(t=this.viewerPlan.$refs.storeySelector)==null||t.focus()},onClose(){this.clean()}},Uvi={class:"bimdata-synchronization"},Nvi={class:"bimdata-synchronization__header"},Ovi={class:"bimdata-synchronization__header__top"},Hvi={class:"bimdata-synchronization__header__top__title"},Vvi={class:"bimdata-synchronization__header__top__title__text"},Gvi={class:"bimdata-synchronization__header__select__header"},jvi={class:"bimdata-info-length bimdata-synchronization__header__select__header__length"},zvi={class:"bimdata-synchronization__page"},qvi={key:1,class:"bimdata-synchronization__modal"},Kvi={class:"bimdata-synchronization__modal__content"},Jvi={class:"bimdata-synchronization__modal__content__symbols"},Yvi={class:"bimdata-synchronization__modal__content__buttons"};function Wvi(t,e,i,r,o,n){const s=R("BIMDataLoading"),a=R("BIMDataIconSynchro2D"),l=R("BIMDataIconClose"),c=R("BIMDataButton"),d=R("BIMDataTextbox"),u=R("BIMDataDropdownList"),A=R("BIMDataIconWarning");return Q(),N("div",Uvi,[r.root.loading?(Q(),te(s,{key:0})):fe("",!0),B("div",Nvi,[B("div",Ovi,[B("div",Hvi,[L(a,{size:"xs",fill:"",color:"primary"}),B("span",Vvi,ee(t.$t("synchronization.title")),1)]),L(c,{class:"bimdata-synchronization__header__top__close",width:"25px",height:"25px",ghost:"",radius:"",icon:"",onClick:r.onCloseClick},{default:z(()=>[L(l,{size:"xs",fill:"",color:"granite-light"})]),_:1},8,["onClick"])]),B("div",null,[L(u,{width:"100%",list:r.root.bitmaps,"element-key":"id","per-page":30,"close-on-element-click":!0,class:"bimdata-synchronization__header__select",onElementClick:r.onBitmapClick},{header:z(()=>{var h;return[B("div",Gvi,[B("div",jvi,[B("span",null,ee(r.root.bitmaps.length),1)]),B("div",null,[L(d,{width:"265px",text:(h=r.root.editedBitmap)==null?void 0:h.name},null,8,["text"])])])]}),element:z(({element:h})=>[B("div",{class:be(["bimdata-synchronization__header__select__element",{"bimdata-synchronization__header__select__element--selected":h===r.root.editedBitmap}])},ee(h.name),3)]),_:1},8,["list","onElementClick"])])]),B("div",zvi,[(Q(),te(Wx,null,[(Q(),te(Uo(r.root.page)))],1024))]),r.root.modalDisplayed?(Q(),N("div",qvi,[B("div",Kvi,[B("div",Jvi,[L(A,{fill:"",color:"high",size:"l"}),B("div",null,ee(t.$t("synchronization.warning")),1)]),B("div",Yvi,[L(c,{width:"45%",color:"high",fill:"",radius:"",onClick:r.onLeaveClick},{default:z(()=>[gt(ee(t.$t("synchronization.leave")),1)]),_:1},8,["onClick"]),L(c,{width:"45%",color:"default",outline:"",radius:"",onClick:e[0]||(e[0]=h=>r.root.modalDisplayed=!1)},{default:z(()=>[gt(ee(t.$t("synchronization.stay")),1)]),_:1})])])])):fe("",!0)])}const Zvi=K(_vi,[["render",Wvi],["__scopeId","data-v-99651cb1"]]),Xvi="2D-Synchronisierung",$vi="2D-Synchronisierung",e3i="Beginnen",t3i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",i3i="Eine Etage ausw\xE4hlen",r3i="Eine Datei importieren",o3i="Position",n3i="Skala",s3i="Rotation",a3i="Undurchsichtigkeit",l3i="\xDCbersicht",c3i="Von der EDM des Projekts aus",d3i="Von Ihrem Computer aus",u3i="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC und eine Etage aus.",A3i="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC aus.",h3i="M\xF6chten Sie diese Seite wirklich verlassen? Sie enth\xE4lt m\xF6glicherweise Informationen, die nicht best\xE4tigt sind.",p3i="Ja, diese Seite verlassen",g3i="Abbrechen, hierbleiben",f3i={tooltip:Xvi,title:$vi,start:e3i,description:t3i,select_storey:i3i,import_file:r3i,location:o3i,scale:n3i,rotation:s3i,alpha:a3i,preview:l3i,import:"Ein Element importieren",from_ged:c3i,from_computer:d3i,no_storey:u3i,no_ifc:A3i,warning:h3i,leave:p3i,stay:g3i},m3i="2D Synchronization",v3i="2D Synchronization",C3i="Start",y3i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",w3i="Select a floor",b3i="Import a file",I3i="Position",B3i="Scale",E3i="Rotation",x3i="Opacity",k3i="Preview",M3i="From the project's EDM",S3i="From your computer",Q3i="To add a background, please select an IFC and a floor.",D3i="To add a background, please select an IFC.",P3i="Are you sure you want to leave this page? There may be some informations that are not validated.",R3i="Yes, leave this page",L3i="Cancel, stay here",T3i={tooltip:m3i,title:v3i,start:C3i,description:y3i,select_storey:w3i,import_file:b3i,location:I3i,scale:B3i,rotation:E3i,alpha:x3i,preview:k3i,import:"Import an element",from_ged:M3i,from_computer:S3i,no_storey:Q3i,no_ifc:D3i,warning:P3i,leave:R3i,stay:L3i},F3i="Sincronizaci\xF3n 2D",_3i="Sincronizaci\xF3n 2D",U3i="Comenzar",N3i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",O3i="Seleccionar una planta",H3i="Importar un fichero",V3i="Posici\xF3n",G3i="Escala",j3i="Rotaci\xF3n",z3i="Opacidad",q3i="Vista r\xE1pida",K3i="Desde el GED del proyecto",J3i="Desde su ordenador",Y3i="Para agregar un fondo seleccione un IFC y una planta.",W3i="Para agregar un fondo seleccione un IFC.",Z3i="\xBFEsta usted seguro de que quiere abandonar esta p\xE1gina? Puede haber informaciones no validadas.",X3i="S\xED, abandonar la p\xE1gina",$3i="Cancelar, permanecer aqu\xED",e4i={tooltip:F3i,title:_3i,start:U3i,description:N3i,select_storey:O3i,import_file:H3i,location:V3i,scale:G3i,rotation:j3i,alpha:z3i,preview:q3i,import:"Importar un elemento",from_ged:K3i,from_computer:J3i,no_storey:Y3i,no_ifc:W3i,warning:Z3i,leave:X3i,stay:$3i},t4i="Synchronisation 2D",i4i="Synchronisation 2D",r4i="Commencer",o4i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",n4i="S\xE9lectionner un \xE9tage",s4i="Importer un fichier",a4i="Position",l4i="Echelle",c4i="Rotation",d4i="Opacit\xE9",u4i="Aper\xE7u",A4i="Depuis la GED du projet",h4i="Depuis votre ordinateur",p4i="Pour ajouter un fond, veuillez selectionner un IFC et un \xE9tage.",g4i="Pour ajouter un fond, veuillez selectionner un IFC.",f4i="\xCAtes-vous s\xFBr de vouloir quitter cette page ? Il y'a peut-\xEAtre des informations non valid\xE9es.",m4i="Oui, quitter cette page",v4i="Annuler, rester ici",C4i={tooltip:t4i,title:i4i,start:r4i,description:o4i,select_storey:n4i,import_file:s4i,location:a4i,scale:l4i,rotation:c4i,alpha:d4i,preview:u4i,import:"Importer un \xE9l\xE9ment",from_ged:A4i,from_computer:h4i,no_storey:p4i,no_ifc:g4i,warning:f4i,leave:m4i,stay:v4i},y4i="Sincronizzazione 2D",w4i="Sincronizzazione 2D",b4i="Iniziare",I4i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",B4i="Selezionare un piano",E4i="Importare un file",x4i="Posizione",k4i="Scala",M4i="Rotazione",S4i="Opacit\xE0",Q4i="Anteprima",D4i="Dal cassetto informatico del progetto",P4i="Dal computer",R4i="Per aggiungere uno sfondo, selezionare un file IFC e un piano.",L4i="Per aggiungere uno sfondo, selezionare un file IFC.",T4i="Si \xE8 sicuri di voler lasciare questa pagina? \xC8 possibile che alcune informazioni non siano state ancora convalidate.",F4i="S\xEC, uscire da questa pagina",_4i="Annulla, rimanere a questa pagina",U4i={tooltip:y4i,title:w4i,start:b4i,description:I4i,select_storey:B4i,import_file:E4i,location:x4i,scale:k4i,rotation:M4i,alpha:S4i,preview:Q4i,import:"Importare un elemento",from_ged:D4i,from_computer:P4i,no_storey:R4i,no_ifc:L4i,warning:T4i,leave:F4i,stay:_4i},N4i="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='6.52344'%20y='4.25488'%20width='16.1039'%20height='21.7744'%20stroke='%232F374A'/%3e%3crect%20x='3.12646'%20y='13.0261'%20width='14'%20height='20.043'%20transform='rotate(-45%203.12646%2013.0261)'%20fill='%232F374A'/%3e%3cmask%20id='path-3-outside-1_1838_531'%20maskUnits='userSpaceOnUse'%20x='-0.414214'%20y='-0.414216'%20width='31.1127'%20height='31.1127'%20fill='black'%3e%3crect%20fill='white'%20x='-0.414214'%20y='-0.414216'%20width='31.1127'%20height='31.1127'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.41421%2013.0208L4.35876%2014.9654L5.06586%2014.2582L3.82843%2013.0208L5.15425%2011.695L4.44715%2010.9879L2.41421%2013.0208ZM5.68458%209.75044L6.39169%2010.4576L10.4576%206.39169L9.75045%205.68458L5.68458%209.75044ZM10.9879%204.44714L11.695%205.15425L13.0208%203.82842L14.2583%205.06586L14.9654%204.35875L13.0208%202.41421L10.9879%204.44714ZM16.026%205.41942L15.3189%206.12652L19.208%2010.0156L19.9151%209.3085L16.026%205.41942ZM20.9758%2010.3692L20.2687%2011.0763L24.1577%2014.9654L24.8649%2014.2582L20.9758%2010.3692ZM25.9255%2015.3189L25.2184%2016.026L26.4558%2017.2635L25.13%2018.5893L25.8371%2019.2964L27.8701%2017.2635L25.9255%2015.3189ZM24.5997%2020.5338L23.8926%2019.8267L19.8267%2023.8926L20.5338%2024.5997L24.5997%2020.5338ZM19.2964%2025.8371L18.5893%2025.13L17.2635%2026.4558L16.026%2025.2184L15.3189%2025.9255L17.2635%2027.8701L19.2964%2025.8371ZM14.2583%2024.8649L14.9654%2024.1577L11.0763%2020.2687L10.3692%2020.9758L14.2583%2024.8649ZM9.3085%2019.9151L10.0156%2019.208L6.12652%2015.3189L5.41942%2016.026L9.3085%2019.9151Z'/%3e%3cpath%20d='M1%2013.0208L3.12132%2010.8995L5.24264%2013.0208L3.12132%2015.1421L1%2013.0208Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.12132%2012.3137L2.41421%2013.0208L3.12132%2013.7279L3.82843%2013.0208L3.12132%2012.3137ZM1%2013.0208L3.12132%2015.1421L5.24264%2013.0208L3.12132%2010.8995L1%2013.0208Z'/%3e%3cpath%20d='M10.8995%203.12132L13.0208%200.999998L15.1421%203.12132L13.0208%205.24264L10.8995%203.12132Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0208%202.41421L12.3137%203.12132L13.0208%203.82842L13.7279%203.12132L13.0208%202.41421ZM10.8995%203.12132L13.0208%205.24264L15.1421%203.12132L13.0208%200.999998L10.8995%203.12132Z'/%3e%3cpath%20d='M25.0416%2017.2635L27.163%2015.1421L29.2843%2017.2635L27.163%2019.3848L25.0416%2017.2635Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.163%2016.5563L26.4558%2017.2635L27.163%2017.9706L27.8701%2017.2635L27.163%2016.5563ZM25.0416%2017.2635L27.163%2019.3848L29.2843%2017.2635L27.163%2015.1421L25.0416%2017.2635Z'/%3e%3cpath%20d='M15.1421%2027.1629L17.2635%2025.0416L19.3848%2027.1629L17.2635%2029.2843L15.1421%2027.1629Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.2635%2026.4558L16.5563%2027.1629L17.2635%2027.8701L17.9706%2027.1629L17.2635%2026.4558ZM15.1421%2027.1629L17.2635%2029.2843L19.3848%2027.1629L17.2635%2025.0416L15.1421%2027.1629Z'/%3e%3c/mask%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.41421%2013.0208L4.35876%2014.9654L5.06586%2014.2582L3.82843%2013.0208L5.15425%2011.695L4.44715%2010.9879L2.41421%2013.0208ZM5.68458%209.75044L6.39169%2010.4576L10.4576%206.39169L9.75045%205.68458L5.68458%209.75044ZM10.9879%204.44714L11.695%205.15425L13.0208%203.82842L14.2583%205.06586L14.9654%204.35875L13.0208%202.41421L10.9879%204.44714ZM16.026%205.41942L15.3189%206.12652L19.208%2010.0156L19.9151%209.3085L16.026%205.41942ZM20.9758%2010.3692L20.2687%2011.0763L24.1577%2014.9654L24.8649%2014.2582L20.9758%2010.3692ZM25.9255%2015.3189L25.2184%2016.026L26.4558%2017.2635L25.13%2018.5893L25.8371%2019.2964L27.8701%2017.2635L25.9255%2015.3189ZM24.5997%2020.5338L23.8926%2019.8267L19.8267%2023.8926L20.5338%2024.5997L24.5997%2020.5338ZM19.2964%2025.8371L18.5893%2025.13L17.2635%2026.4558L16.026%2025.2184L15.3189%2025.9255L17.2635%2027.8701L19.2964%2025.8371ZM14.2583%2024.8649L14.9654%2024.1577L11.0763%2020.2687L10.3692%2020.9758L14.2583%2024.8649ZM9.3085%2019.9151L10.0156%2019.208L6.12652%2015.3189L5.41942%2016.026L9.3085%2019.9151Z'%20fill='%232F374A'/%3e%3cpath%20d='M1%2013.0208L3.12132%2010.8995L5.24264%2013.0208L3.12132%2015.1421L1%2013.0208Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.12132%2012.3137L2.41421%2013.0208L3.12132%2013.7279L3.82843%2013.0208L3.12132%2012.3137ZM1%2013.0208L3.12132%2015.1421L5.24264%2013.0208L3.12132%2010.8995L1%2013.0208Z'%20fill='%232F374A'/%3e%3cpath%20d='M10.8995%203.12132L13.0208%200.999998L15.1421%203.12132L13.0208%205.24264L10.8995%203.12132Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0208%202.41421L12.3137%203.12132L13.0208%203.82842L13.7279%203.12132L13.0208%202.41421ZM10.8995%203.12132L13.0208%205.24264L15.1421%203.12132L13.0208%200.999998L10.8995%203.12132Z'%20fill='%232F374A'/%3e%3cpath%20d='M25.0416%2017.2635L27.163%2015.1421L29.2843%2017.2635L27.163%2019.3848L25.0416%2017.2635Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.163%2016.5563L26.4558%2017.2635L27.163%2017.9706L27.8701%2017.2635L27.163%2016.5563ZM25.0416%2017.2635L27.163%2019.3848L29.2843%2017.2635L27.163%2015.1421L25.0416%2017.2635Z'%20fill='%232F374A'/%3e%3cpath%20d='M15.1421%2027.1629L17.2635%2025.0416L19.3848%2027.1629L17.2635%2029.2843L15.1421%2027.1629Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.2635%2026.4558L16.5563%2027.1629L17.2635%2027.8701L17.9706%2027.1629L17.2635%2026.4558ZM15.1421%2027.1629L17.2635%2029.2843L19.3848%2027.1629L17.2635%2025.0416L15.1421%2027.1629Z'%20fill='%232F374A'/%3e%3cpath%20d='M1%2013.0208L0.646447%2012.6673L0.292893%2013.0208L0.646447%2013.3744L1%2013.0208ZM3.12132%2010.8995L3.47487%2010.5459L3.12132%2010.1924L2.76777%2010.5459L3.12132%2010.8995ZM5.24264%2013.0208L5.59619%2013.3744L5.94975%2013.0208L5.59619%2012.6673L5.24264%2013.0208ZM3.12132%2015.1421L2.76777%2015.4957L3.12132%2015.8492L3.47487%2015.4957L3.12132%2015.1421ZM10.8995%203.12132L10.5459%202.76776L10.1924%203.12132L10.5459%203.47487L10.8995%203.12132ZM13.0208%200.999998L13.3744%200.646445L13.0208%200.292891L12.6673%200.646445L13.0208%200.999998ZM15.1421%203.12132L15.4957%203.47487L15.8492%203.12132L15.4957%202.76776L15.1421%203.12132ZM13.0208%205.24264L12.6673%205.59619L13.0208%205.94975L13.3744%205.59619L13.0208%205.24264ZM25.0416%2017.2635L24.6881%2016.9099L24.3345%2017.2635L24.6881%2017.617L25.0416%2017.2635ZM27.163%2015.1421L27.5165%2014.7886L27.163%2014.435L26.8094%2014.7886L27.163%2015.1421ZM29.2843%2017.2635L29.6378%2017.617L29.9914%2017.2635L29.6378%2016.9099L29.2843%2017.2635ZM27.163%2019.3848L26.8094%2019.7383L27.163%2020.0919L27.5165%2019.7383L27.163%2019.3848ZM15.1421%2027.1629L14.7886%2026.8094L14.435%2027.1629L14.7886%2027.5165L15.1421%2027.1629ZM17.2635%2025.0416L17.617%2024.6881L17.2635%2024.3345L16.9099%2024.6881L17.2635%2025.0416ZM19.3848%2027.1629L19.7383%2027.5165L20.0919%2027.1629L19.7383%2026.8094L19.3848%2027.1629ZM17.2635%2029.2843L16.9099%2029.6378L17.2635%2029.9914L17.617%2029.6378L17.2635%2029.2843ZM1.35355%2013.3744L3.47487%2011.253L2.76777%2010.5459L0.646447%2012.6673L1.35355%2013.3744ZM2.76777%2011.253L4.88909%2013.3744L5.59619%2012.6673L3.47487%2010.5459L2.76777%2011.253ZM4.88909%2012.6673L2.76777%2014.7886L3.47487%2015.4957L5.59619%2013.3744L4.88909%2012.6673ZM3.47487%2014.7886L1.35355%2012.6673L0.646447%2013.3744L2.76777%2015.4957L3.47487%2014.7886ZM11.253%203.47487L13.3744%201.35355L12.6673%200.646445L10.5459%202.76776L11.253%203.47487ZM12.6673%201.35355L14.7886%203.47487L15.4957%202.76776L13.3744%200.646445L12.6673%201.35355ZM14.7886%202.76776L12.6673%204.88909L13.3744%205.59619L15.4957%203.47487L14.7886%202.76776ZM13.3744%204.88909L11.253%202.76776L10.5459%203.47487L12.6673%205.59619L13.3744%204.88909ZM25.3952%2017.617L27.5165%2015.4957L26.8094%2014.7886L24.6881%2016.9099L25.3952%2017.617ZM26.8094%2015.4957L28.9307%2017.617L29.6378%2016.9099L27.5165%2014.7886L26.8094%2015.4957ZM28.9307%2016.9099L26.8094%2019.0312L27.5165%2019.7383L29.6378%2017.617L28.9307%2016.9099ZM27.5165%2019.0312L25.3952%2016.9099L24.6881%2017.617L26.8094%2019.7383L27.5165%2019.0312ZM15.4957%2027.5165L17.617%2025.3952L16.9099%2024.6881L14.7886%2026.8094L15.4957%2027.5165ZM16.9099%2025.3952L19.0312%2027.5165L19.7383%2026.8094L17.617%2024.6881L16.9099%2025.3952ZM19.0312%2026.8094L16.9099%2028.9307L17.617%2029.6378L19.7383%2027.5165L19.0312%2026.8094ZM17.617%2028.9307L15.4957%2026.8094L14.7886%2027.5165L16.9099%2029.6378L17.617%2028.9307ZM2.41421%2013.0208L1.70711%2012.3137L1%2013.0208L1.70711%2013.7279L2.41421%2013.0208ZM4.35876%2014.9654L3.65165%2015.6725L4.35876%2016.3796L5.06586%2015.6725L4.35876%2014.9654ZM5.06586%2014.2582L5.77297%2014.9654L6.48008%2014.2582L5.77297%2013.5511L5.06586%2014.2582ZM5.15425%2011.695L5.86136%2012.4021L6.56847%2011.695L5.86136%2010.9879L5.15425%2011.695ZM4.44715%2010.9879L5.15425%2010.2808L4.44715%209.57367L3.74004%2010.2808L4.44715%2010.9879ZM5.68458%209.75044L4.97748%209.04334L4.27037%209.75044L4.97748%2010.4576L5.68458%209.75044ZM6.39169%2010.4576L5.68458%2011.1647L6.39169%2011.8718L7.0988%2011.1647L6.39169%2010.4576ZM10.4576%206.39169L11.1647%207.09879L11.8718%206.39169L11.1647%205.68458L10.4576%206.39169ZM9.75045%205.68458L10.4576%204.97747L9.75045%204.27037L9.04334%204.97747L9.75045%205.68458ZM10.9879%204.44714L10.2808%203.74004L9.57367%204.44714L10.2808%205.15425L10.9879%204.44714ZM11.695%205.15425L10.9879%205.86136L11.695%206.56846L12.4021%205.86136L11.695%205.15425ZM14.2583%205.06586L13.5511%205.77297L14.2583%206.48008L14.9654%205.77297L14.2583%205.06586ZM14.9654%204.35875L15.6725%205.06586L16.3796%204.35875L15.6725%203.65165L14.9654%204.35875ZM13.0208%202.41421L13.7279%201.7071L13.0208%200.999998L12.3137%201.7071L13.0208%202.41421ZM16.026%205.41942L16.7331%204.71231L16.026%204.0052L15.3189%204.71231L16.026%205.41942ZM15.3189%206.12652L14.6118%205.41942L13.9047%206.12652L14.6118%206.83363L15.3189%206.12652ZM19.208%2010.0156L18.5009%2010.7227L19.208%2011.4298L19.9151%2010.7227L19.208%2010.0156ZM19.9151%209.3085L20.6222%2010.0156L21.3293%209.3085L20.6222%208.6014L19.9151%209.3085ZM20.9758%2010.3692L21.6829%209.66206L20.9758%208.95495L20.2687%209.66206L20.9758%2010.3692ZM20.2687%2011.0763L19.5616%2010.3692L18.8544%2011.0763L19.5616%2011.7834L20.2687%2011.0763ZM24.1577%2014.9654L23.4506%2015.6725L24.1577%2016.3796L24.8649%2015.6725L24.1577%2014.9654ZM24.8649%2014.2582L25.572%2014.9654L26.2791%2014.2582L25.572%2013.5511L24.8649%2014.2582ZM25.9255%2015.3189L26.6326%2014.6118L25.9255%2013.9047L25.2184%2014.6118L25.9255%2015.3189ZM25.2184%2016.026L24.5113%2015.3189L23.8042%2016.026L24.5113%2016.7331L25.2184%2016.026ZM25.13%2018.5893L24.4229%2017.8822L23.7158%2018.5893L24.4229%2019.2964L25.13%2018.5893ZM25.8371%2019.2964L25.13%2020.0035L25.8371%2020.7106L26.5442%2020.0035L25.8371%2019.2964ZM27.8701%2017.2635L28.5772%2017.9706L29.2843%2017.2635L28.5772%2016.5563L27.8701%2017.2635ZM24.5997%2020.5338L25.3068%2021.2409L26.0139%2020.5338L25.3068%2019.8267L24.5997%2020.5338ZM23.8926%2019.8267L24.5997%2019.1196L23.8926%2018.4125L23.1855%2019.1196L23.8926%2019.8267ZM19.8267%2023.8926L19.1196%2023.1855L18.4125%2023.8926L19.1196%2024.5997L19.8267%2023.8926ZM20.5338%2024.5997L19.8267%2025.3068L20.5338%2026.0139L21.2409%2025.3068L20.5338%2024.5997ZM19.2964%2025.8371L20.0035%2026.5442L20.7106%2025.8371L20.0035%2025.13L19.2964%2025.8371ZM18.5893%2025.13L19.2964%2024.4229L18.5893%2023.7158L17.8822%2024.4229L18.5893%2025.13ZM16.026%2025.2184L16.7331%2024.5113L16.026%2023.8042L15.3189%2024.5113L16.026%2025.2184ZM15.3189%2025.9255L14.6118%2025.2184L13.9047%2025.9255L14.6118%2026.6326L15.3189%2025.9255ZM17.2635%2027.8701L16.5563%2028.5772L17.2635%2029.2843L17.9706%2028.5772L17.2635%2027.8701ZM14.2583%2024.8649L13.5511%2025.572L14.2583%2026.2791L14.9654%2025.572L14.2583%2024.8649ZM14.9654%2024.1577L15.6725%2024.8649L16.3796%2024.1577L15.6725%2023.4506L14.9654%2024.1577ZM11.0763%2020.2687L11.7834%2019.5616L11.0763%2018.8544L10.3692%2019.5616L11.0763%2020.2687ZM10.3692%2020.9758L9.66206%2020.2687L8.95495%2020.9758L9.66206%2021.6829L10.3692%2020.9758ZM9.3085%2019.9151L8.6014%2020.6222L9.3085%2021.3293L10.0156%2020.6222L9.3085%2019.9151ZM10.0156%2019.208L10.7227%2019.9151L11.4298%2019.208L10.7227%2018.5009L10.0156%2019.208ZM6.12652%2015.3189L6.83363%2014.6118L6.12652%2013.9047L5.41942%2014.6118L6.12652%2015.3189ZM5.41942%2016.026L4.71231%2015.3189L4.0052%2016.026L4.71231%2016.7331L5.41942%2016.026ZM3.12132%2012.3137L3.82843%2011.6066L3.12132%2010.8995L2.41421%2011.6066L3.12132%2012.3137ZM3.12132%2013.7279L2.41421%2014.435L3.12132%2015.1421L3.82843%2014.435L3.12132%2013.7279ZM12.3137%203.12132L11.6066%202.41421L10.8995%203.12132L11.6066%203.82842L12.3137%203.12132ZM13.7279%203.12132L14.435%203.82842L15.1421%203.12132L14.435%202.41421L13.7279%203.12132ZM27.163%2016.5563L27.8701%2015.8492L27.163%2015.1421L26.4558%2015.8492L27.163%2016.5563ZM27.163%2017.9706L26.4558%2018.6777L27.163%2019.3848L27.8701%2018.6777L27.163%2017.9706ZM16.5563%2027.1629L15.8492%2026.4558L15.1421%2027.1629L15.8492%2027.8701L16.5563%2027.1629ZM17.9706%2027.1629L18.6777%2027.8701L19.3848%2027.1629L18.6777%2026.4558L17.9706%2027.1629ZM5.06586%2015.6725L5.77297%2014.9654L4.35876%2013.5511L3.65165%2014.2582L5.06586%2015.6725ZM5.86136%2010.9879L5.15425%2010.2808L3.74004%2011.695L4.44715%2012.4021L5.86136%2010.9879ZM4.97748%2010.4576L5.68458%2011.1647L7.0988%209.75044L6.39169%209.04334L4.97748%2010.4576ZM11.1647%205.68458L10.4576%204.97747L9.04334%206.39169L9.75045%207.09879L11.1647%205.68458ZM10.2808%205.15425L10.9879%205.86136L12.4021%204.44714L11.695%203.74004L10.2808%205.15425ZM14.9654%205.77297L15.6725%205.06586L14.2583%203.65165L13.5511%204.35875L14.9654%205.77297ZM15.3189%204.71231L14.6118%205.41942L16.026%206.83363L16.7331%206.12652L15.3189%204.71231ZM19.9151%2010.7227L20.6222%2010.0156L19.208%208.6014L18.5009%209.3085L19.9151%2010.7227ZM20.2687%209.66206L19.5616%2010.3692L20.9758%2011.7834L21.6829%2011.0763L20.2687%209.66206ZM24.8649%2015.6725L25.572%2014.9654L24.1577%2013.5511L23.4506%2014.2582L24.8649%2015.6725ZM25.2184%2014.6118L24.5113%2015.3189L25.9255%2016.7331L26.6326%2016.026L25.2184%2014.6118ZM24.4229%2019.2964L25.13%2020.0035L26.5442%2018.5893L25.8371%2017.8822L24.4229%2019.2964ZM25.3068%2019.8267L24.5997%2019.1196L23.1855%2020.5338L23.8926%2021.2409L25.3068%2019.8267ZM19.1196%2024.5997L19.8267%2025.3068L21.2409%2023.8926L20.5338%2023.1855L19.1196%2024.5997ZM20.0035%2025.13L19.2964%2024.4229L17.8822%2025.8371L18.5893%2026.5442L20.0035%2025.13ZM15.3189%2024.5113L14.6118%2025.2184L16.026%2026.6326L16.7331%2025.9255L15.3189%2024.5113ZM14.9654%2025.572L15.6725%2024.8649L14.2583%2023.4506L13.5511%2024.1577L14.9654%2025.572ZM10.3692%2019.5616L9.66206%2020.2687L11.0763%2021.6829L11.7834%2020.9758L10.3692%2019.5616ZM10.0156%2020.6222L10.7227%2019.9151L9.3085%2018.5009L8.6014%2019.208L10.0156%2020.6222ZM5.41942%2014.6118L4.71231%2015.3189L6.12652%2016.7331L6.83363%2016.026L5.41942%2014.6118ZM3.12132%2013.7279L5.15425%2011.695L3.74004%2010.2808L1.70711%2012.3137L3.12132%2013.7279ZM5.06586%2014.2582L3.12132%2012.3137L1.70711%2013.7279L3.65165%2015.6725L5.06586%2014.2582ZM5.77297%2013.5511L4.53553%2012.3137L3.12132%2013.7279L4.35876%2014.9654L5.77297%2013.5511ZM4.53553%2013.7279L5.86136%2012.4021L4.44715%2010.9879L3.12132%2012.3137L4.53553%2013.7279ZM7.0988%2011.1647L11.1647%207.09879L9.75045%205.68458L5.68458%209.75044L7.0988%2011.1647ZM6.39169%2010.4576L10.4576%206.39169L9.04334%204.97747L4.97748%209.04334L6.39169%2010.4576ZM12.4021%205.86136L13.7279%204.53553L12.3137%203.12132L10.9879%204.44714L12.4021%205.86136ZM12.3137%204.53553L13.5511%205.77297L14.9654%204.35875L13.7279%203.12132L12.3137%204.53553ZM12.3137%203.12132L14.2583%205.06586L15.6725%203.65165L13.7279%201.7071L12.3137%203.12132ZM11.695%205.15425L13.7279%203.12132L12.3137%201.7071L10.2808%203.74004L11.695%205.15425ZM14.6118%206.83363L18.5009%2010.7227L19.9151%209.3085L16.026%205.41942L14.6118%206.83363ZM15.3189%206.12652L19.208%2010.0156L20.6222%208.6014L16.7331%204.71231L15.3189%206.12652ZM19.5616%2011.7834L23.4506%2015.6725L24.8649%2014.2582L20.9758%2010.3692L19.5616%2011.7834ZM20.2687%2011.0763L24.1577%2014.9654L25.572%2013.5511L21.6829%209.66206L20.2687%2011.0763ZM24.5113%2016.7331L25.7487%2017.9706L27.163%2016.5563L25.9255%2015.3189L24.5113%2016.7331ZM25.7487%2016.5563L24.4229%2017.8822L25.8371%2019.2964L27.163%2017.9706L25.7487%2016.5563ZM27.163%2016.5563L25.13%2018.5893L26.5442%2020.0035L28.5772%2017.9706L27.163%2016.5563ZM25.2184%2016.026L27.163%2017.9706L28.5772%2016.5563L26.6326%2014.6118L25.2184%2016.026ZM23.1855%2019.1196L19.1196%2023.1855L20.5338%2024.5997L24.5997%2020.5338L23.1855%2019.1196ZM23.8926%2019.8267L19.8267%2023.8926L21.2409%2025.3068L25.3068%2021.2409L23.8926%2019.8267ZM17.8822%2024.4229L16.5563%2025.7487L17.9706%2027.1629L19.2964%2025.8371L17.8822%2024.4229ZM17.9706%2025.7487L16.7331%2024.5113L15.3189%2025.9255L16.5563%2027.1629L17.9706%2025.7487ZM17.9706%2027.1629L16.026%2025.2184L14.6118%2026.6326L16.5563%2028.5772L17.9706%2027.1629ZM18.5893%2025.13L16.5563%2027.1629L17.9706%2028.5772L20.0035%2026.5442L18.5893%2025.13ZM15.6725%2023.4506L11.7834%2019.5616L10.3692%2020.9758L14.2583%2024.8649L15.6725%2023.4506ZM14.9654%2024.1577L11.0763%2020.2687L9.66206%2021.6829L13.5511%2025.572L14.9654%2024.1577ZM10.7227%2018.5009L6.83363%2014.6118L5.41942%2016.026L9.3085%2019.9151L10.7227%2018.5009ZM10.0156%2019.208L6.12652%2015.3189L4.71231%2016.7331L8.6014%2020.6222L10.0156%2019.208ZM3.12132%2013.7279L3.82843%2013.0208L2.41421%2011.6066L1.70711%2012.3137L3.12132%2013.7279ZM3.82843%2013.0208L3.12132%2012.3137L1.70711%2013.7279L2.41421%2014.435L3.82843%2013.0208ZM3.12132%2012.3137L2.41421%2013.0208L3.82843%2014.435L4.53553%2013.7279L3.12132%2012.3137ZM2.41421%2013.0208L3.12132%2013.7279L4.53553%2012.3137L3.82843%2011.6066L2.41421%2013.0208ZM13.0208%203.82842L13.7279%203.12132L12.3137%201.7071L11.6066%202.41421L13.0208%203.82842ZM13.7279%203.12132L13.0208%202.41421L11.6066%203.82842L12.3137%204.53553L13.7279%203.12132ZM13.0208%202.41421L12.3137%203.12132L13.7279%204.53553L14.435%203.82842L13.0208%202.41421ZM12.3137%203.12132L13.0208%203.82842L14.435%202.41421L13.7279%201.7071L12.3137%203.12132ZM27.163%2017.9706L27.8701%2017.2635L26.4558%2015.8492L25.7487%2016.5563L27.163%2017.9706ZM27.8701%2017.2635L27.163%2016.5563L25.7487%2017.9706L26.4558%2018.6777L27.8701%2017.2635ZM27.163%2016.5563L26.4558%2017.2635L27.8701%2018.6777L28.5772%2017.9706L27.163%2016.5563ZM26.4558%2017.2635L27.163%2017.9706L28.5772%2016.5563L27.8701%2015.8492L26.4558%2017.2635ZM17.2635%2027.8701L17.9706%2027.1629L16.5563%2025.7487L15.8492%2026.4558L17.2635%2027.8701ZM17.9706%2027.1629L17.2635%2026.4558L15.8492%2027.8701L16.5563%2028.5772L17.9706%2027.1629ZM17.2635%2026.4558L16.5563%2027.1629L17.9706%2028.5772L18.6777%2027.8701L17.2635%2026.4558ZM16.5563%2027.1629L17.2635%2027.8701L18.6777%2026.4558L17.9706%2025.7487L16.5563%2027.1629Z'%20fill='white'%20mask='url(%23path-3-outside-1_1838_531)'/%3e%3c/svg%3e",O4i={name:"synchronization",i18n:{de:f3i,en:T3i,es:e4i,fr:C4i,it:U4i},component:Zvi,button:{tooltip:"synchronization.tooltip",position:"right",stance:1,content:"free",keepOpen:!0,icon:{imgUri:N4i}}},H4i={name:"PointCloudViewer",components:{Annotations:$2e},data(){const{settings:t}=this.$plugin;return{settings:t,canvasId:null,spinnerCanvasId:null,xeokitCreated:!1,loadedModels:[],tilesets:new Map,sensitivity:200,fov:90,annotationMode:!1,modelHeaderShown:t.modelLoader!=="hidden",navCubeVisible:t.navCube!==!1,loading:!1}},watch:{sensitivity(t){this.tilesetLoaderPlugin&&(this.tilesetLoaderPlugin.sensitivity=t)},fov(t){this.xeokit.camera.perspective.fov=t}},created(){this.canvasId=`canvas-id-${this.$viewer.localContext.id}`,this.spinnerCanvasId=`spinner-canvas-id-${this.$viewer.localContext.id}`,this.navCubeCanvasId=`nav-cube-canvas-id-${this.$viewer.localContext.id}`,this.xeokitSdk=x1},mounted(){const t=new Yge({canvasId:this.canvasId,transparent:!0,spinnerElementId:this.spinnerCanvasId,backgroundColorFromAmbientLight:!1});t.cameraControl.doublePickFlyTo=!1,t.cameraControl.panRightClick=!1,t.cameraControl.followPointer=!0,t.cameraControl.smartPivot=!0,this.settings.pivotMarker!==!1&&t.cameraControl.enablePivotSphere({size:1,color:[.25,.25,.25]}),t.cameraControl.touchDollyRate=1,t.cameraControl.mouseWheelDollyRate=60,t.cameraControl.keyboardDollyRate=20,t.cameraControl.dragRotationRate=450,t.cameraControl.rotationInertia=0,t.cameraControl.dollyInertia=0,t.camera.perspective.near=.1,t.camera.perspective.far=1e3,t.camera.ortho.near=.1,t.camera.ortho.far=1e3,this.bcfViewpointsPlugin=new KQ(t,{originatingSystem:"BIMDataViewer/v1.0",authoringTool:"BIMData.io"}),this.distanceMeasurementsPlugin=new Ege(t,{defaultAxisVisible:!1,container:this.$el,zIndex:0}),this.angleMeasurementsPlugin=new iQ(t,{container:this.$el,zIndex:0}),this.tilesetLoaderPlugin=new Z2e(t,{sensitivity:this.sensitivity,debugMode:!1}),this.navCubeVisible&&(this.navCube=new gq(t,{canvasId:this.navCubeCanvasId,visible:!1,cameraFly:!0,cameraFitFOV:45,cameraFlyDuration:.5,color:"#FFFFFF"})),this.xeokit=t,this.xeokitCreated=!0,window.xeokitPointCloud=this.xeokit},beforeUnmount(){var t;(t=this.xeokit)==null||t.destroy()},methods:{async loadModels(t){var e;this.loading=!0,this.loadedModels.push(...t.filter(s=>!this.loadedModels.some(a=>a.id===s.id)));const{apiUrl:i,cloudId:r,projectId:o,accessToken:n}=this.$viewer.api;t.forEach(async(s,a)=>{try{this.$viewer.localContext.loadingProcessStart();const l=await(await fetch(`${i}/cloud/${r}/project/${o}/model/${s.id}/tileset?tile_format=xkt`,{headers:new Headers({Authorization:`Bearer ${n}`})})).json();l.name=String(s.id);const c=this.tilesetLoaderPlugin.load(l);this.tilesets.set(s,c);const d={model:s,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-loaded",d),this.$viewer.globalContext.hub.emit("pointcloud-model-loaded",d),a===0&&!this.viewpointPending&&this.xeokit.cameraFlight.flyTo()}catch(l){console.error("Error while loading Tileset ",s.id,"with error: ",l),this.loadedModels=this.loadedModels.filter(c=>c.id!==s.id)}finally{this.$viewer.localContext.loadingProcessEnd(),this.loading=!1}}),this.loadedModels.length>0&&((e=this.navCube)==null||e.setVisible(!0))},unloadModels(t){var e;const i=t.map(r=>this.tilesets.get(r)).filter(Boolean);t.forEach(r=>this.tilesets.delete(r)),i.forEach(r=>r.destroy()),this.loadedModels=this.loadedModels.filter(r=>!t.find(o=>o.id===r.id)),t.forEach(r=>{const o={model:r,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-unloaded",o),this.$viewer.globalContext.hub.emit("pointcloud-model-unloaded",o)}),this.loadedModels.length===0&&((e=this.navCube)==null||e.setVisible(!1))},fitView(){this.xeokit.cameraFlight.flyTo()},async getSnapshot(){return{snapshot_type:"png",snapshot_data:await this.xeokit.getSnapshotWithPlugins({format:"png"})}},getViewpoint(){const t=this.bcfViewpointsPlugin.getViewpoint({snapshot:!1});return t.order=2,t.originating_system="pointCloud",t.models=this.$viewer.localContext.loadedModels.map(e=>e.id),t},async setViewpoint(t,{immediate:e=!1,duration:i=.3}={}){if(this.loading){this.viewpointPending=!0;let r=null;await new Promise(o=>{r=this.$watch("loading",n=>{n||o()},{immediate:!0})}),r(),this.viewpointPending=!1}await new Promise(r=>setTimeout(r,200)),this.bcfViewpointsPlugin.setViewpoint(t,{rayCast:!1,immediate:e,duration:i})},startAnnotationMode(t){if(this.annotationMode)return;this.annotationMode=!0;const e=this.xeokit.scene.canvas.canvas;this.canvasCursor=e.style.cursor,e.style.cursor="copy",this.annotationListener=this.xeokit.scene.input.on("mouseclicked",i=>{const r=this.xeokit.scene.pick({pickSurface:!0,canvasPos:i});if(r){const[o,n,s]=r.worldPos;t({x:o,y:s,z:n,models:this.$viewer.localContext.loadedModels})}})},stopAnnotationMode(){this.annotationMode&&(this.annotationMode=!1,this.xeokit.scene.canvas.canvas.style.cursor=this.canvasCursor,this.xeokit.scene.input.off(this.annotationListener))},showUI(){this.modelHeaderShown=this.settings.modelLoader!=="hidden",this.navCubeVisible=this.settings.navCube!==!1},hideUI(){this.modelHeaderShown=!1,this.navCubeVisible=!1}}},V4i={class:"bimdata-viewer-point-cloud"},G4i={ref:"header",class:"bimdata-viewer-point-cloud__header"},j4i=["id"],z4i=["id"],q4i=["id"];function K4i(t,e,i,r,o,n){const s=R("NoModelWindowPlaceHolder"),a=R("ModelsLoader"),l=R("Annotations");return Q(),N("div",V4i,[o.loadedModels.length===0?(Q(),te(s,{key:0})):fe("",!0),B("div",G4i,[o.settings.modelLoader!=="disabled"?Ft((Q(),te(a,{key:0,"window-positioning":!1,preview:""},null,512)),[[vi,o.modelHeaderShown]]):fe("",!0)],512),B("canvas",{id:o.canvasId,class:"bimdata-viewer-point-cloud__viewer",onWheel:e[0]||(e[0]=Tt(()=>{},["prevent"]))},null,40,j4i),o.xeokitCreated?(Q(),te(l,{key:1})):fe("",!0),Ft(B("canvas",{id:t.navCubeCanvasId,class:"bimdata-viewer-point-cloud__nav-cube"},null,8,z4i),[[vi,o.navCubeVisible]]),B("div",{id:o.spinnerCanvasId},null,8,q4i)])}const J4i=K(H4i,[["render",K4i],["__scopeId","data-v-5ec618d4"]]),Y4i="data:image/svg+xml,%3csvg%20width='29'%20height='28'%20viewBox='0%200%2029%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.61725%209.64469L13.0214%202.20528L13.03%207.28128L13.034%209.63208L5.61725%209.64469ZM25.4847%202.79589C25.4821%201.25822%2024.2376%200.00224431%2022.702%200.00485529L11.5341%200.0238442L3.17246%208.42535L3.20099%2025.1999C3.2036%2026.7375%204.46169%2027.9935%205.99771%2027.9909L22.7635%2027.9624C24.2991%2027.9598%2025.5393%2026.6996%2025.5367%2025.1619L25.4847%202.79589Z'%20fill='%232F374A'/%3e%3crect%20y='12.1958'%20width='28.001'%20height='14.6092'%20rx='1'%20transform='rotate(-0.097421%200%2012.1958)'%20fill='%23E544FF'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.1933%2014.0615C13.3783%2014.0615%2013.5282%2013.9114%2013.5282%2013.7262C13.5282%2013.541%2013.3783%2013.3909%2013.1933%2013.3909C13.0083%2013.3909%2012.8584%2013.541%2012.8584%2013.7262C12.8584%2013.9114%2013.0084%2014.0615%2013.1933%2014.0615ZM11.8911%2014.7695C11.8911%2014.9547%2011.7411%2015.1048%2011.5562%2015.1048C11.3712%2015.1048%2011.2213%2014.9547%2011.2213%2014.7695C11.2213%2014.5843%2011.3712%2014.4341%2011.5562%2014.4341C11.7411%2014.4341%2011.8911%2014.5843%2011.8911%2014.7695ZM15.9351%2014.4664C15.78%2014.412%2015.6101%2014.4938%2015.5558%2014.6492C15.5014%2014.8045%2015.5831%2014.9746%2015.7382%2015.0291L18.6786%2016.1209L14.4692%2018.42L11.3925%2017.3811C11.2367%2017.3285%2011.0678%2017.4123%2011.0153%2017.5683C10.9627%2017.7243%2011.0464%2017.8934%2011.2022%2017.946L14.1997%2018.9582L14.1997%2024.8387L11.4366%2023.8296C11.2821%2023.7732%2011.1112%2023.8529%2011.0549%2024.0075C10.9986%2024.1622%2011.0781%2024.3333%2011.2326%2024.3897L14.3954%2025.5448C14.4786%2025.5752%2014.571%2025.5669%2014.6474%2025.5222L19.5592%2022.6532C19.6506%2022.5997%2019.7068%2022.5017%2019.7068%2022.3957L19.7068%2016.0614C19.7068%2015.9347%2019.6269%2015.8219%2019.5076%2015.7801L15.9351%2014.4664ZM14.7951%2018.9211L19.1115%2016.5635L19.1115%2022.2245L14.7951%2024.7458L14.7951%2018.9211ZM10.4397%2017.564C10.6246%2017.564%2010.7746%2017.4139%2010.7746%2017.2287C10.7746%2017.0435%2010.6246%2016.8934%2010.4397%2016.8934C10.2547%2016.8934%2010.1048%2017.0435%2010.1048%2017.2287C10.1048%2017.4139%2010.2547%2017.564%2010.4397%2017.564ZM9.88169%2016.9306C9.8817%2017.1158%209.73176%2017.2659%209.5468%2017.2659C9.36185%2017.2659%209.21191%2017.1158%209.21191%2016.9306C9.21191%2016.7454%209.36185%2016.5952%209.5468%2016.5952C9.73176%2016.5952%209.88169%2016.7454%209.88169%2016.9306ZM8.65364%2016.8932C8.8386%2016.8932%208.98853%2016.7431%208.98853%2016.5579C8.98853%2016.3727%208.8386%2016.2225%208.65364%2016.2225C8.46869%2016.2225%208.31875%2016.3727%208.31875%2016.5579C8.31875%2016.7431%208.46868%2016.8932%208.65364%2016.8932ZM9.95585%2015.9619C9.95585%2016.1471%209.80592%2016.2973%209.62096%2016.2973C9.43601%2016.2973%209.28607%2016.1471%209.28607%2015.9619C9.28607%2015.7767%209.436%2015.6266%209.62096%2015.6266C9.80592%2015.6266%209.95585%2015.7767%209.95585%2015.9619ZM10.5884%2015.7007C10.7734%2015.7007%2010.9233%2015.5506%2010.9233%2015.3654C10.9233%2015.1802%2010.7734%2015.03%2010.5884%2015.03C10.4035%2015.03%2010.2535%2015.1802%2010.2535%2015.3654C10.2535%2015.5506%2010.4035%2015.7007%2010.5884%2015.7007ZM14.456%2014.0531C14.456%2014.2384%2014.306%2014.3885%2014.1211%2014.3885C13.9361%2014.3885%2013.7862%2014.2384%2013.7862%2014.0531C13.7862%2013.8679%2013.9361%2013.7178%2014.1211%2013.7178C14.306%2013.7178%2014.456%2013.8679%2014.456%2014.0531ZM12.3748%2014.5832C12.5597%2014.5832%2012.7096%2014.433%2012.7096%2014.2478C12.7096%2014.0626%2012.5597%2013.9125%2012.3747%2013.9125C12.1898%2013.9125%2012.0399%2014.0626%2012.0399%2014.2478C12.0399%2014.433%2012.1898%2014.5832%2012.3748%2014.5832ZM8.98853%2017.6011C8.98853%2017.7863%208.83859%2017.9365%208.65364%2017.9365C8.46868%2017.9365%208.31875%2017.7863%208.31875%2017.6011C8.31875%2017.4159%208.46869%2017.2658%208.65364%2017.2658C8.8386%2017.2658%208.98853%2017.4159%208.98853%2017.6011ZM8.65364%2018.9797C8.83859%2018.9797%208.98853%2018.8296%208.98853%2018.6444C8.98853%2018.4592%208.8386%2018.309%208.65364%2018.309C8.46869%2018.309%208.31875%2018.4592%208.31875%2018.6444C8.31875%2018.8296%208.46868%2018.9797%208.65364%2018.9797ZM8.98853%2019.6876C8.98853%2019.8728%208.83859%2020.023%208.65364%2020.023C8.46868%2020.023%208.31875%2019.8728%208.31875%2019.6876C8.31875%2019.5024%208.46869%2019.3523%208.65364%2019.3523C8.8386%2019.3523%208.98853%2019.5024%208.98853%2019.6876ZM8.65364%2021.0665C8.8386%2021.0665%208.98853%2020.9164%208.98853%2020.7312C8.98853%2020.546%208.8386%2020.3958%208.65364%2020.3958C8.46869%2020.3958%208.31875%2020.546%208.31875%2020.7312C8.31875%2020.9164%208.46868%2021.0665%208.65364%2021.0665ZM8.98853%2021.7744C8.98853%2021.9597%208.83859%2022.1098%208.65364%2022.1098C8.46868%2022.1098%208.31875%2021.9597%208.31875%2021.7745C8.31875%2021.5892%208.46869%2021.4391%208.65364%2021.4391C8.8386%2021.4391%208.98853%2021.5892%208.98853%2021.7744ZM8.65364%2023.1531C8.83859%2023.1531%208.98853%2023.0029%208.98853%2022.8177C8.98853%2022.6325%208.8386%2022.4824%208.65364%2022.4824C8.46869%2022.4824%208.31875%2022.6325%208.31875%2022.8177C8.31875%2023.0029%208.46868%2023.1531%208.65364%2023.1531ZM9.88169%2023.3393C9.8817%2023.5245%209.73176%2023.6747%209.5468%2023.6747C9.36185%2023.6747%209.21191%2023.5245%209.21191%2023.3393C9.21191%2023.1541%209.36185%2023.004%209.5468%2023.004C9.73176%2023.004%209.88169%2023.1541%209.88169%2023.3393ZM10.4397%2023.9728C10.6246%2023.9728%2010.7746%2023.8227%2010.7746%2023.6375C10.7746%2023.4523%2010.6246%2023.3021%2010.4397%2023.3021C10.2547%2023.3021%2010.1048%2023.4523%2010.1048%2023.6375C10.1048%2023.8227%2010.2547%2023.9728%2010.4397%2023.9728ZM10.8575%2016.3028C10.8575%2016.4881%2010.7076%2016.6382%2010.5226%2016.6382C10.3376%2016.6382%2010.1877%2016.488%2010.1877%2016.3028C10.1877%2016.1176%2010.3376%2015.9675%2010.5226%2015.9675C10.7075%2015.9675%2010.8575%2016.1176%2010.8575%2016.3028ZM11.4899%2016.0417C11.6749%2016.0417%2011.8248%2015.8915%2011.8248%2015.7063C11.8248%2015.5211%2011.6749%2015.371%2011.4899%2015.371C11.305%2015.371%2011.155%2015.5211%2011.155%2015.7063C11.155%2015.8915%2011.305%2016.0417%2011.4899%2016.0417ZM12.7926%2015.1104C12.7926%2015.2956%2012.6426%2015.4457%2012.4577%2015.4457C12.2727%2015.4457%2012.1228%2015.2956%2012.1228%2015.1104C12.1228%2014.9252%2012.2727%2014.775%2012.4577%2014.775C12.6426%2014.775%2012.7926%2014.9252%2012.7926%2015.1104ZM13.2762%2014.9241C13.4612%2014.9241%2013.6111%2014.774%2013.6111%2014.5887C13.6111%2014.4035%2013.4612%2014.2534%2013.2762%2014.2534C13.0913%2014.2534%2012.9413%2014.4035%2012.9413%2014.5887C12.9413%2014.774%2013.0913%2014.9241%2013.2762%2014.9241ZM11.6695%2016.732C11.6695%2016.9172%2011.5196%2017.0674%2011.3346%2017.0674C11.1497%2017.0674%2010.9997%2016.9172%2010.9997%2016.732C10.9997%2016.5468%2011.1497%2016.3967%2011.3346%2016.3967C11.5196%2016.3967%2011.6695%2016.5468%2011.6695%2016.732ZM12.3021%2016.4711C12.487%2016.4711%2012.637%2016.321%2012.637%2016.1358C12.637%2015.9506%2012.487%2015.8005%2012.3021%2015.8005C12.1171%2015.8005%2011.9672%2015.9506%2011.9672%2016.1358C11.9672%2016.321%2012.1171%2016.4711%2012.3021%2016.4711ZM13.6047%2015.5399C13.6047%2015.7251%2013.4548%2015.8752%2013.2698%2015.8752C13.0849%2015.8752%2012.935%2015.7251%2012.935%2015.5399C12.935%2015.3547%2013.0849%2015.2045%2013.2698%2015.2045C13.4548%2015.2045%2013.6047%2015.3547%2013.6047%2015.5399ZM14.0883%2015.3533C14.2732%2015.3533%2014.4231%2015.2031%2014.4231%2015.0179C14.4231%2014.8327%2014.2732%2014.6826%2014.0883%2014.6826C13.9033%2014.6826%2013.7534%2014.8327%2013.7534%2015.0179C13.7534%2015.2031%2013.9033%2015.3533%2014.0883%2015.3533ZM15.2991%2014.4927C15.2991%2014.678%2015.1491%2014.8281%2014.9642%2014.8281C14.7792%2014.8281%2014.6293%2014.678%2014.6293%2014.4927C14.6293%2014.3075%2014.7792%2014.1574%2014.9642%2014.1574C15.1491%2014.1574%2015.2991%2014.3075%2015.2991%2014.4927ZM9.56761%2018.3508C9.75257%2018.3508%209.9025%2018.2007%209.9025%2018.0155C9.9025%2017.8302%209.75257%2017.6801%209.56761%2017.6801C9.38265%2017.6801%209.23272%2017.8302%209.23272%2018.0155C9.23272%2018.2007%209.38266%2018.3508%209.56761%2018.3508ZM9.9025%2019.0587C9.9025%2019.2439%209.75257%2019.3941%209.56761%2019.3941C9.38266%2019.3941%209.23272%2019.2439%209.23272%2019.0587C9.23272%2018.8735%209.38265%2018.7234%209.56761%2018.7234C9.75257%2018.7234%209.9025%2018.8735%209.9025%2019.0587ZM9.56761%2020.4373C9.75257%2020.4373%209.9025%2020.2872%209.9025%2020.102C9.9025%2019.9168%209.75257%2019.7666%209.56761%2019.7666C9.38265%2019.7666%209.23272%2019.9168%209.23272%2020.102C9.23272%2020.2872%209.38266%2020.4373%209.56761%2020.4373ZM9.9025%2021.1452C9.9025%2021.3304%209.75257%2021.4806%209.56761%2021.4806C9.38266%2021.4806%209.23272%2021.3304%209.23272%2021.1452C9.23272%2020.96%209.38265%2020.8099%209.56761%2020.8099C9.75257%2020.8099%209.9025%2020.96%209.9025%2021.1452ZM9.56761%2022.5241C9.75257%2022.5241%209.9025%2022.374%209.9025%2022.1888C9.9025%2022.0036%209.75257%2021.8534%209.56761%2021.8534C9.38265%2021.8534%209.23272%2022.0036%209.23272%2022.1888C9.23272%2022.374%209.38266%2022.5241%209.56761%2022.5241ZM10.8163%2018.4729C10.8163%2018.6581%2010.6664%2018.8082%2010.4814%2018.8082C10.2965%2018.8082%2010.1465%2018.6581%2010.1465%2018.4729C10.1465%2018.2877%2010.2965%2018.1375%2010.4814%2018.1375C10.6664%2018.1375%2010.8163%2018.2877%2010.8163%2018.4729ZM10.4814%2019.8515C10.6664%2019.8515%2010.8163%2019.7013%2010.8163%2019.5161C10.8163%2019.3309%2010.6664%2019.1808%2010.4814%2019.1808C10.2965%2019.1808%2010.1465%2019.3309%2010.1465%2019.5161C10.1465%2019.7013%2010.2965%2019.8515%2010.4814%2019.8515ZM10.8163%2020.5594C10.8163%2020.7446%2010.6664%2020.8947%2010.4814%2020.8947C10.2965%2020.8947%2010.1465%2020.7446%2010.1465%2020.5594C10.1465%2020.3742%2010.2965%2020.2241%2010.4814%2020.2241C10.6664%2020.2241%2010.8163%2020.3742%2010.8163%2020.5594ZM10.4814%2021.9383C10.6664%2021.9383%2010.8163%2021.7882%2010.8163%2021.603C10.8163%2021.4178%2010.6664%2021.2676%2010.4814%2021.2676C10.2965%2021.2676%2010.1465%2021.4177%2010.1465%2021.603C10.1465%2021.7882%2010.2965%2021.9383%2010.4814%2021.9383ZM10.8163%2022.6462C10.8163%2022.8314%2010.6664%2022.9816%2010.4814%2022.9816C10.2965%2022.9816%2010.1465%2022.8314%2010.1465%2022.6462C10.1465%2022.461%2010.2965%2022.3109%2010.4814%2022.3109C10.6664%2022.3109%2010.8163%2022.461%2010.8163%2022.6462ZM12.5057%2017.4918C12.6906%2017.4918%2012.8406%2017.3417%2012.8406%2017.1565C12.8406%2016.9713%2012.6906%2016.8211%2012.5057%2016.8211C12.3207%2016.8211%2012.1708%2016.9713%2012.1708%2017.1565C12.1708%2017.3417%2012.3207%2017.4918%2012.5057%2017.4918ZM13.8082%2016.5602C13.8082%2016.7454%2013.6582%2016.8956%2013.4733%2016.8956C13.2883%2016.8956%2013.1384%2016.7454%2013.1384%2016.5602C13.1384%2016.375%2013.2883%2016.2249%2013.4733%2016.2249C13.6582%2016.2249%2013.8082%2016.375%2013.8082%2016.5602ZM14.4411%2016.2994C14.626%2016.2994%2014.7759%2016.1492%2014.7759%2015.964C14.7759%2015.7788%2014.626%2015.6287%2014.4411%2015.6287C14.2561%2015.6287%2014.1062%2015.7788%2014.1062%2015.964C14.1062%2016.1492%2014.2561%2016.2994%2014.4411%2016.2994ZM15.5945%2015.4424C15.5945%2015.6276%2015.4446%2015.7777%2015.2596%2015.7777C15.0747%2015.7777%2014.9247%2015.6276%2014.9247%2015.4424C14.9247%2015.2572%2015.0747%2015.107%2015.2596%2015.107C15.4446%2015.107%2015.5945%2015.2572%2015.5945%2015.4424ZM11.4966%2019.0986C11.6816%2019.0986%2011.8315%2018.9485%2011.8315%2018.7633C11.8315%2018.5781%2011.6816%2018.4279%2011.4966%2018.4279C11.3116%2018.4279%2011.1617%2018.5781%2011.1617%2018.7633C11.1617%2018.9485%2011.3116%2019.0986%2011.4966%2019.0986ZM11.8315%2019.8065C11.8315%2019.9917%2011.6816%2020.1419%2011.4966%2020.1419C11.3116%2020.1419%2011.1617%2019.9917%2011.1617%2019.8065C11.1617%2019.6213%2011.3116%2019.4712%2011.4966%2019.4712C11.6816%2019.4712%2011.8315%2019.6213%2011.8315%2019.8065ZM11.4966%2021.1851C11.6816%2021.1851%2011.8315%2021.035%2011.8315%2020.8498C11.8315%2020.6646%2011.6816%2020.5144%2011.4966%2020.5144C11.3116%2020.5144%2011.1617%2020.6646%2011.1617%2020.8498C11.1617%2021.035%2011.3116%2021.1851%2011.4966%2021.1851ZM11.8315%2021.8933C11.8315%2022.0786%2011.6816%2022.2287%2011.4966%2022.2287C11.3116%2022.2287%2011.1617%2022.0786%2011.1617%2021.8933C11.1617%2021.7081%2011.3116%2021.558%2011.4966%2021.558C11.6816%2021.558%2011.8315%2021.7081%2011.8315%2021.8933ZM11.4966%2023.272C11.6816%2023.272%2011.8315%2023.1218%2011.8315%2022.9366C11.8315%2022.7514%2011.6816%2022.6013%2011.4966%2022.6013C11.3116%2022.6013%2011.1617%2022.7514%2011.1617%2022.9366C11.1617%2023.1218%2011.3116%2023.272%2011.4966%2023.272Z'%20fill='white'/%3e%3c/svg%3e",W4i={name:"pointCloud",isViewer:!0,component:J4i,window:{name:"pointCloud",label:"pointCloud.window_label",header:!1,logoAndVersion:!0,plugins:["fullscreen","measure3d"],icon:{imgUri:Y4i},modelTypes:["POINT_CLOUD"]},i18n:{en:{window_label:"Point Cloud"},fr:{window_label:"Point Cloud"}}},Wq="viewer-point-cloud-parameters_parameters",Z4i={computed:{viewer(){const t=this.$viewer.localContext.pluginComponentInstances.get("pointCloud");if(t)return t;{const e="'Viewer Point Cloud Parameters' plugin cannot work without Viewer Point Cloud plugin.";throw console.error(e),new Error(e)}},sensitivity:{get(){return this.viewer.sensitivity},set(t){this.viewer.sensitivity=t,this.saveParameters({sensitivity:t})}},fov:{get(){return this.viewer.fov},set(t){this.viewer.fov=t,this.saveParameters({fov:t})}}},mounted(){this.subscription=this.$viewer.localContext.hub.on("pointcloud-model-loaded",()=>{this.applySavedParameters()})},unmounted(){this.$viewer.localContext.hub.off(this.subscription)},methods:{getSavedParameters(){let t={};try{const e=localStorage.getItem(Wq)||"{}";t=JSON.parse(e)}catch{localStorage.removeItem(Wq)}return Object.assign({},this.getDefaultParameters(),t)},applySavedParameters(){const t=this.getSavedParameters();this.viewer.sensitivity=t.sensitivity,this.viewer.fov=t.fov},getDefaultParameters(){return{sensitivity:200,fov:90}},saveParameters(t){const e={sensitivity:t.sensitivity||this.sensitivity,fov:t.fov||this.fov};localStorage.setItem(Wq,JSON.stringify(e))}}},X4i={class:"viewer-point-cloud-parameters"},$4i={class:"viewer-point-cloud-parameters_header"},e5i={class:"viewer-point-cloud-parameters_content"},t5i={class:"m-b-18"},i5i={class:"flex justify-between"},r5i={class:"viewer-point-cloud-parameters_content__value"},o5i={class:"flex justify-between"},n5i={class:"viewer-point-cloud-parameters_content__value"};function s5i(t,e,i,r,o,n){const s=R("BIMDataIconParameters"),a=R("BIMDataSlider");return Q(),N("div",X4i,[B("div",$4i,[L(s,{size:"xs",margin:"0 12px 0 0"}),B("span",null,ee(t.$t("pointCloudParameters.title")),1)]),B("div",e5i,[B("div",t5i,[B("div",i5i,[B("span",null,ee(t.$t("pointCloudParameters.sensitivity")),1),B("span",r5i,ee(n.sensitivity),1)]),L(a,{modelValue:n.sensitivity,"onUpdate:modelValue":e[0]||(e[0]=l=>n.sensitivity=l),min:20,max:1e3},null,8,["modelValue"])]),B("div",null,[B("div",o5i,[B("span",null,ee(t.$t("pointCloudParameters.fov")),1),B("span",n5i,ee(n.fov),1)]),L(a,{modelValue:n.fov,"onUpdate:modelValue":e[1]||(e[1]=l=>n.fov=l),min:20,max:120},null,8,["modelValue"])])])])}const a5i=K(Z4i,[["render",s5i],["__scopeId","data-v-e97be8b2"]]),l5i="Parameters",c5i="Point Cloud Viewer settings",d5i="Sensitivity",u5i="Field of view",A5i={tooltip:l5i,title:c5i,sensitivity:d5i,fov:u5i},h5i="Param\xE8tres",p5i="Param\xE8tres du nuage de points",g5i="Sensibilit\xE9",f5i="Angle de vision",m5i={tooltip:h5i,title:p5i,sensitivity:g5i,fov:f5i},v5i={name:"pointCloudParameters",i18n:{en:A5i,fr:m5i},addToWindows:["pointCloud"],component:a5i,button:{tooltip:"pointCloudParameters.tooltip",position:"right",content:"simple",icon:{component:"BIMDataIconParameters",options:{size:"m"}}}};class db{constructor(e,i,r=null,o=!0){this.name=e,this.icon=i,this.group=r,this.label=`drawing-tools.action.${e}`,this.lineStyleComponentDisplayed=o}onActivate(){throw new Error("Not implemented")}onDeactivate(){throw new Error("Not implemented")}}const C5i={},y5i={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"};function w5i(t,e){return Q(),N("svg",y5i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.176395 0.13889C0.342301 -0.00852533 0.584825 -0.0419546 0.786658 0.0547728L21.6969 10.0759C21.9052 10.1757 22.0251 10.3924 21.9956 10.6155C21.966 10.8386 21.7935 11.019 21.566 11.0647L12.0932 12.9697L9.57365 21.6158C9.51015 21.8337 9.31 21.9881 9.07635 21.9993C8.8427 22.0106 8.6277 21.8763 8.54214 21.6655L0.03777 0.720195C-0.0446022 0.517321 0.0104881 0.286306 0.176395 0.13889Z"},null,-1)]))}const b5i=K(C5i,[["render",w5i]]);class I5i{constructor(){this._listenersTarget=new Map}on(e,i,r=window,o={}){this._listenersTarget.has(r)||this._listenersTarget.set(r,new Map);const n=this._listenersTarget.get(r);n.has(e)||n.set(e,new Map);let s=i.bind(this);return o!=null&&o.once&&(s=(...a)=>{i.call(this,...a),this.off(e,i,r)}),r.addEventListener(e,s,o),n.get(e).set(i,s),()=>{this.off(e,i,r)}}off(e,i,r=window){if(!this._listenersTarget.has(r))return;const o=this._listenersTarget.get(r);if(!o.has(e))return;const n=o.get(e).get(i);r.removeEventListener(e,n),o.get(e).delete(i),o.get(e).size===0&&o.delete(e),o.size===0&&this._listenersTarget.delete(r)}}const B5i="data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M19.6749%202.92459C20.1081%203.35787%2020.1081%204.05777%2019.6749%204.49104L17.6418%206.5241L13.4757%202.358L15.5088%200.324952C15.9421%20-0.108322%2016.642%20-0.108322%2017.0752%200.324952L19.6749%202.92459ZM0%2020.0001V15.834L12.2872%203.54683L16.4533%207.71292L4.16609%2020.0001H0Z'%20fill='%232F374A'/%3e%3c/svg%3e",E5i="data:image/svg+xml,%3csvg%20width='19'%20height='19'%20viewBox='0%200%2019%2019'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.6749%202.9246C19.1081%203.35787%2019.1081%204.05777%2018.6749%204.49105L16.6418%206.5241L12.4757%202.35801L14.5088%200.324955C14.9421%20-0.108318%2015.642%20-0.108318%2016.0752%200.324955L18.6749%202.9246ZM0%2018V14.834L11.2872%203.54684L15.4533%207.71293L4.16609%2019.0001H1L0%2018Z'%20fill='%232F374A'/%3e%3c/svg%3e",x5i=`url("${B5i}") 0 20, auto`,k5i=`url("${E5i}") 1 23, auto`;class OD extends I5i{constructor(e,{pointerUpCursor:i=x5i,pointerDownCursor:r=k5i,element:o=e.canvas}={}){super(),this._engine2d=e,this.element=o,this.pointerUpCursor=i,this.pointerDownCursor=r}_getClientPosition(e){let i,r;return window.TouchEvent&&e instanceof TouchEvent?(i=e.touches[0].clientX,r=e.touches[0].clientY):(i=e.clientX,r=e.clientY),{clientX:i,clientY:r}}_getPositions(e){const{clientX:i,clientY:r}=this._getClientPosition(e),{x:o,y:n}=this._engine2d.canvas.getBoundingClientRect();return this._engine2d.camera.getPosition({x:Math.max(i-o,0),y:Math.max(r-n,0)})}_getCanvasPosition(e){const{clientX:i,clientY:r}=this._getClientPosition(e),{x:o,y:n}=this.element.getBoundingClientRect();return{x:Math.max(i-o,0),y:Math.max(r-n,0)}}_getPositionedCallbackPayload(e){const i=this;return{get position(){return i._getPositions(e)},get canvasPosition(){return i._getCanvasPosition(e)},mouseEvent:e}}onEnabled(){}onMouseDown(){}onDrag(){}onMouseUp(){}onDisabled(){}_onMouseDown(e){this.element.style.cursor=this.pointerDownCursor,this.onMouseDown(this._getPositionedCallbackPayload(e)),this.on("mousemove",this._onMouseMove,window),this.on("mouseup",this._onMouseUp,window,{once:!0}),this.on("touchmove",this._onMouseMove,window),this.on("touchend",this._onMouseUp,window,{once:!0}),this.on("touchcancel",this._onMouseUp,window,{once:!0})}_onMouseMove(e){e.preventDefault();const i=e.buttons===4;e.shiftKey||i||this.onDrag(this._getPositionedCallbackPayload(e))}_onMouseUp(e){this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.off("touchmove",this._onMouseMove,window),this.off("touchend",this._onMouseUp,window),this.off("touchcancel",this._onMouseUp,window),this.element.style.cursor=this.pointerUpCursor,this.onMouseUp(this._getPositionedCallbackPayload(e))}disable(){this.off("mousedown",this._onMouseDown,this.element),this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.off("touchstart",this._onMouseDown,this.element),this.off("touchmove",this._onMouseMove,window),this.off("touchend",this._onMouseUp,window),this.off("touchcancel",this._onMouseUp,window),this.element.style.cursor="",this.onDisabled()}enable(){this.on("mousedown",this._onMouseDown,this.element),this.on("touchstart",this._onMouseDown,this.element),this.element.style.cursor=this.pointerUpCursor,this.onEnabled()}}const M5i="data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2022%2022'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0.176395%200.13889C0.342301%20-0.00852533%200.584825%20-0.0419546%200.786658%200.0547728L21.6969%2010.0759C21.9052%2010.1757%2022.0251%2010.3924%2021.9956%2010.6155C21.966%2010.8386%2021.7935%2011.019%2021.566%2011.0647L12.0932%2012.9697L9.57365%2021.6158C9.51015%2021.8337%209.31%2021.9881%209.07635%2021.9993C8.8427%2022.0106%208.6277%2021.8763%208.54214%2021.6655L0.03777%200.720195C-0.0446022%200.517321%200.0104881%200.286306%200.176395%200.13889Z'%20/%3e%3c/svg%3e",R9e=`url("${M5i}"), auto`;class S5i extends db{constructor({viewer:e},i){super("pointer",b5i,"pointers",!1),this._pointerManager=new Q5i(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class Q5i extends OD{constructor(e,i){super(e,{pointerUpCursor:R9e,pointerDownCursor:R9e,element:e.canvas.parentElement}),this._drawer=i,this._currentDrawing=null,this.previousTouch=null}onMouseDown(e){this._currentDrawing=this._drawer.pick(e)}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null,this.previousTouch=null}onDrag({position:e,mouseEvent:i,canvasPosition:r}){if(!this._currentDrawing)return;let o=0,n=0;if(window.TouchEvent&&i instanceof TouchEvent){const d=i.touches[0];this.previousTouch&&(o=d.pageX-this.previousTouch.pageX,n=d.pageY-this.previousTouch.pageY),this.previousTouch=d}else{const{movementX:d,movementY:u}=i;o=d,n=u}const s={x:r.x-o,y:r.y-n},a=this._engine2d.camera.getPosition(s),l=e.x-a.x,c=e.y-a.y;this._currentDrawing.x+=l,this._currentDrawing.y+=c}}const D5i={},P5i={width:"14",height:"16",viewBox:"0 0 14 16",xmlns:"http://www.w3.org/2000/svg"};function R5i(t,e){return Q(),N("svg",P5i,e[0]||(e[0]=[B("path",{d:"M6.43587 16C6.09019 16 5.76756 15.9196 5.46797 15.7588C5.16839 15.5979 4.91888 15.3672 4.71944 15.0666L0 7.91354L0.307859 7.60694C0.508253 7.39952 0.745433 7.28253 1.0194 7.25596C1.29337 7.22942 1.54313 7.29881 1.7687 7.46414L4.1836 9.20471V2.14936C4.1836 1.98328 4.2379 1.84407 4.34649 1.73171C4.45509 1.61936 4.58965 1.56318 4.75018 1.56318C4.91071 1.56318 5.04519 1.61936 5.15361 1.73171C5.26203 1.84407 5.31624 1.98328 5.31624 2.14936V7.79331H7.08062V0.586175C7.08062 0.420099 7.13491 0.280884 7.2435 0.168531C7.35209 0.0561769 7.48665 0 7.64718 0C7.80771 0 7.94219 0.0561769 8.05061 0.168531C8.15904 0.280884 8.21325 0.420099 8.21325 0.586175V7.79331H9.97762V1.36777C9.97762 1.20169 10.0319 1.06248 10.1405 0.950122C10.2491 0.837768 10.3837 0.781592 10.5442 0.781592C10.7047 0.781592 10.8392 0.837768 10.9476 0.950122C11.056 1.06248 11.1102 1.20169 11.1102 1.36777V7.79331H12.8674V2.713C12.8674 2.54691 12.9217 2.40769 13.0302 2.29534C13.1388 2.18298 13.2734 2.12681 13.4339 2.12681C13.5945 2.12681 13.7289 2.18298 13.8373 2.29534C13.9458 2.40769 14 2.54691 14 2.713V13.0691C14 13.8787 13.7236 14.5696 13.1708 15.1418C12.6181 15.7139 11.9506 16 11.1683 16H6.43587Z"},null,-1)]))}const L5i=K(D5i,[["render",R5i]]),T5i="data:image/svg+xml,%3csvg%20width='14'%20height='16'%20viewBox='0%200%2014%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.43587%2016C6.09019%2016%205.76756%2015.9196%205.46797%2015.7588C5.16839%2015.5979%204.91888%2015.3672%204.71944%2015.0666L0%207.91354L0.307859%207.60694C0.508252%207.39952%200.745433%207.28253%201.0194%207.25596C1.29337%207.22942%201.54313%207.29881%201.7687%207.46414L4.1836%209.20471V2.14936C4.1836%201.98328%204.2379%201.84407%204.34649%201.73171C4.45509%201.61936%204.58965%201.56318%204.75018%201.56318C4.91071%201.56318%205.04519%201.61936%205.15361%201.73171C5.26203%201.84407%205.31624%201.98328%205.31624%202.14936V7.79331H7.08062V0.586175C7.08062%200.420099%207.13491%200.280884%207.2435%200.168531C7.35209%200.0561769%207.48665%200%207.64718%200C7.80771%200%207.94219%200.0561769%208.05061%200.168531C8.15904%200.280884%208.21325%200.420099%208.21325%200.586175V7.79331H9.97762V1.36777C9.97762%201.20169%2010.0319%201.06248%2010.1405%200.950122C10.2491%200.837768%2010.3837%200.781592%2010.5442%200.781592C10.7047%200.781592%2010.8392%200.837768%2010.9476%200.950122C11.056%201.06248%2011.1102%201.20169%2011.1102%201.36777V7.79331H12.8674V2.713C12.8674%202.54691%2012.9217%202.40769%2013.0302%202.29534C13.1388%202.18298%2013.2734%202.12681%2013.4339%202.12681C13.5945%202.12681%2013.7289%202.18298%2013.8373%202.29534C13.9458%202.40769%2014%202.54691%2014%202.713V13.0691C14%2013.8787%2013.7236%2014.5696%2013.1708%2015.1418C12.6181%2015.7139%2011.9506%2016%2011.1683%2016H6.43587Z'%20fill='%232F374A'/%3e%3c/svg%3e",F5i="data:image/svg+xml,%3csvg%20width='11'%20height='11'%20viewBox='0%200%2011%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.43587%2011C3.09019%2011%202.76756%2010.9196%202.46797%2010.7588C2.16839%2010.5979%201.91888%2010.3672%201.71944%2010.0666L0%206.91354C0.5%205.5%200.780254%205.53908%201.1836%205.5V4.20471V2.14936C1.1836%201.98328%201.2379%201.84407%201.34649%201.73172C1.45509%201.61936%201.58965%201.56318%201.75018%201.56318C1.91071%201.56318%202.04519%201.61936%202.15361%201.73172C2.26203%201.84407%202.31624%201.98328%202.31624%202.14936V2.79331H4.08062V0.586175C4.08062%200.4201%204.13491%200.280884%204.2435%200.16853C4.35209%200.0561767%204.48665%200%204.64718%200C4.80771%200%204.94219%200.0561767%205.05061%200.16853C5.15904%200.280884%205.21325%200.4201%205.21325%200.586175V2.79331H6.97762V1.36777C6.97762%201.20169%207.03191%201.06248%207.1405%200.950122C7.24909%200.837768%207.38365%200.781591%207.54418%200.781591C7.70471%200.781591%207.83919%200.837768%207.94762%200.950122C8.05604%201.06248%208.11025%201.20169%208.11025%201.36777V2.79331H9.86735V2.713C9.86735%202.54691%209.92165%202.40769%2010.0302%202.29534C10.1388%202.18298%2010.2734%202.12681%2010.4339%202.12681C10.5945%202.12681%2010.7289%202.18298%2010.8373%202.29534C10.9458%202.40769%2011%202.54691%2011%202.713V8.06905C11%208.87869%2010.7236%209.56959%2010.1708%2010.1418C9.61805%2010.7139%208.95055%2011%208.16833%2011H3.43587Z'%20fill='%232F374A'/%3e%3c/svg%3e",_5i=`url("${T5i}") 7 23, auto`,U5i=`url("${F5i}") 7 18, auto`;class N5i extends db{constructor({viewer:e}){super("pan",L5i,"pointers",!1),this._pointerManager=new O5i(e)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class O5i extends OD{constructor(e){super(e,{pointerUpCursor:_5i,pointerDownCursor:U5i}),this.previousTouch=null}onDrag({mouseEvent:e}){let i=0,r=0;if(window.TouchEvent&&e instanceof TouchEvent){const o=e.touches[0];this.previousTouch&&(i=o.pageX-this.previousTouch.pageX,r=o.pageY-this.previousTouch.pageY),this.previousTouch=o}else{const{movementX:o,movementY:n}=e;i=o,r=n}this._engine2d.camera.translate(-i*window.devicePixelRatio,-r*window.devicePixelRatio)}onMouseUp(){this.previousTouch=null}}class ub extends db{constructor(e,i,r,o,n,s=r){super(r,o,n),this._pointermanager=new H5i(e,i,s)}onActivate(){this._pointermanager.enable()}onDeactivate(){this._pointermanager.disable()}}class H5i extends OD{constructor(e,i,r){super(e),this._drawer=i,this._currentDrawing=null,this.shape=r}onMouseDown({position:e}){this._currentDrawing=this._drawer.makeDrawing(this.shape,{p1:e})}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null}onDrag(e){this._currentDrawing.dragTo(e)}}const V5i={},G5i={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"};function j5i(t,e){return Q(),N("svg",G5i,e[0]||(e[0]=[B("path",{d:"M1.22223 22V17.6324L17.3486 0.577372C17.5382 0.376633 17.7466 0.230225 17.9738 0.138148C18.201 0.0460498 18.4282 0 18.6554 0C18.8951 0 19.1274 0.0460498 19.3523 0.138148C19.5771 0.230225 19.7742 0.376633 19.9434 0.577372L21.4547 2.17759C21.6443 2.35678 21.7826 2.56541 21.8695 2.80349C21.9565 3.04156 22 3.28752 22 3.54136C22 3.78194 21.9565 4.02251 21.8695 4.26306C21.7826 4.50364 21.6443 4.7243 21.4547 4.92504L5.34718 22H1.22223ZM18.4697 5.35812L20.1667 3.56126L18.6366 1.94115L16.9396 3.73801L18.4697 5.35812ZM12.9979 22C14.4269 22 15.7518 21.63 16.9724 20.89C18.1931 20.1501 18.8034 19.1181 18.8034 17.7941C18.8034 17.0342 18.5884 16.3698 18.1582 15.8007C17.7281 15.2316 17.1244 14.7504 16.3472 14.3572L14.9793 15.8056C15.6045 16.0545 16.0926 16.3477 16.4436 16.6854C16.7946 17.023 16.9701 17.3926 16.9701 17.7941C16.9701 18.4063 16.5729 18.9368 15.7785 19.3856C14.984 19.8344 14.0571 20.0588 12.9979 20.0588C12.7378 20.0588 12.52 20.1518 12.3445 20.3376C12.169 20.5234 12.0812 20.754 12.0812 21.0294C12.0812 21.3048 12.169 21.5354 12.3445 21.7212C12.52 21.9071 12.7378 22 12.9979 22ZM1.94853 12.8591L3.31174 11.4032C2.83381 11.1892 2.46793 10.9677 2.21409 10.7387C1.96024 10.5098 1.83331 10.2733 1.83331 10.0294C1.83331 9.70425 2.03819 9.3832 2.44796 9.06629C2.85772 8.7494 3.67292 8.31305 4.89358 7.75722C6.59216 6.98739 7.72899 6.29098 8.30404 5.66799C8.87912 5.04498 9.16666 4.34193 9.16666 3.55883C9.16666 2.49699 8.74397 1.63839 7.8986 0.983047C7.05323 0.327683 5.94814 0 4.58335 0C3.74502 0 2.97408 0.160117 2.27053 0.480347C1.56695 0.800556 1.04124 1.1921 0.693399 1.65499C0.524161 1.86901 0.454036 2.10502 0.483023 2.363C0.512011 2.62098 0.627572 2.83294 0.829708 2.99887C1.03184 3.16974 1.25278 3.23982 1.49252 3.20913C1.73226 3.17844 1.93674 3.07351 2.10596 2.89433C2.41465 2.56748 2.76957 2.32691 3.17073 2.1726C3.57186 2.0183 4.04273 1.94115 4.58335 1.94115C5.48121 1.94115 6.16402 2.10168 6.63176 2.42273C7.09949 2.74378 7.33335 3.12248 7.33335 3.55883C7.33335 3.93547 7.13161 4.27684 6.72814 4.58294C6.32464 4.88906 5.46947 5.35487 4.16262 5.98036C2.58783 6.71038 1.50036 7.36407 0.90023 7.94144C0.300076 8.51881 0 9.21481 0 10.0294C0 10.6367 0.171193 11.1705 0.513579 11.6309C0.855965 12.0913 1.33428 12.5007 1.94853 12.8591Z"},null,-1)]))}const z5i=K(V5i,[["render",j5i]]);class q5i extends ub{constructor({viewer:e},i){super(e,i,"pen",z5i,null,"freehand")}}const K5i={},J5i={width:"22",height:"22",viewBox:"0 0 22 23",xmlns:"http://www.w3.org/2000/svg"};function Y5i(t,e){return Q(),N("svg",J5i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1 0.769226C0.447715 0.769226 0 1.21694 0 1.76923V4.32096C0 4.87324 0.447716 5.32096 1 5.32096H1.51723V18.2175H1C0.447715 18.2175 0 18.6652 0 19.2175V21.7692C0 22.3215 0.447716 22.7692 1 22.7692H3.55173C4.10401 22.7692 4.55173 22.3215 4.55173 21.7692V21.252H17.4482V21.7692C17.4482 22.3215 17.896 22.7692 18.4482 22.7692H21C21.5523 22.7692 22 22.3215 22 21.7692V19.2175C22 18.6652 21.5523 18.2175 21 18.2175H20.4828V5.32096H21C21.5523 5.32096 22 4.87324 22 4.32095V1.76923C22 1.21694 21.5523 0.769226 21 0.769226H18.4482C17.896 0.769226 17.4482 1.21694 17.4482 1.76923V2.28643H4.55173V1.76923C4.55173 1.21694 4.10401 0.769226 3.55173 0.769226H1ZM3.03448 5.32096H3.55173C4.10401 5.32096 4.55173 4.87324 4.55173 4.32095V3.80367H17.4482V4.32096C17.4482 4.87324 17.896 5.32096 18.4482 5.32096H18.9655V18.2175H18.4482C17.896 18.2175 17.4482 18.6652 17.4482 19.2175V19.7347H4.55173V19.2175C4.55173 18.6652 4.10401 18.2175 3.55173 18.2175H3.03448V5.32096ZM11.4216 6.83819H11.9202L15.931 17.4589H13.79L12.9878 15.0955H9.00098L8.20266 17.4589H6.06894L10.0578 6.83819H10.549H11.4216ZM9.53565 13.5126H12.4505L10.9896 9.2082L9.53565 13.5126Z"},null,-1)]))}const W5i=K(K5i,[["render",Y5i]]),Z5i="data:image/svg+xml,%3csvg%20width='14'%20height='15'%20viewBox='0%200%2014%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5%201.96296V7.5M5%201.96296L3%201H1M5%201.96296L7%201H9M5%2013.037V7.5M5%2013.037L7%2014H9M5%2013.037L3%2014H1M5%207.5H7M5%207.5H3'%20stroke='%232F374A'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11%209V11M11%2013V11M11%2011H13M11%2011H9'%20stroke='%232F374A'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",X5i=`url("${Z5i}") 5 7, auto`;class $5i extends db{constructor(e,i){super("text",W5i,null,!1),this._viewerPlanPlugin=e,this._drawer=i,this.canvas=e.$refs.canvas;const r=_e(!1);this.autoDeactivateCallback=null,this.connector={enabledRef:r,deactivateAction(){var o;(o=this.autoDeactivateCallback)==null||o.call(this)}},this.onClick=o=>{this.autoDeactivateCallback();const{x:n,y:s}=e.viewer.camera.getPosition({x:o.offsetX,y:o.offsetY});i.makeDrawing("text",{x:n,y:s})}}onActivate(e){this.canvas.addEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor=X5i,this.autoDeactivateCallback=e,this.connector.enabledRef.value=!0}onDeactivate(){this.canvas.removeEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor="",this.autoDeactivateCallback=null,this.connector.enabledRef.value=!1}}const e8i={},t8i={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"};function i8i(t,e){return Q(),N("svg",t8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 0H16V16H0V0ZM2 2V14H14V2H2Z"},null,-1)]))}const r8i=K(e8i,[["render",i8i]]);class o8i extends ub{constructor({viewer:e},i){super(e,i,"rectangle",r8i,"shapes")}}const n8i={},s8i={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"};function a8i(t,e){return Q(),N("svg",s8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16 1.37853L1.37853 16L0 14.6215L14.6215 0L16 1.37853Z"},null,-1)]))}const l8i=K(n8i,[["render",a8i]]);class c8i extends ub{constructor({viewer:e},i){super(e,i,"line",l8i,"shapes")}}const d8i={},u8i={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"};function A8i(t,e){return Q(),N("svg",u8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9914 1.88377H10.0848V0H16.207V6.12225H14.3233V3.21594L1.33203 16.2072L0 14.8751L12.9914 1.88377Z"},null,-1)]))}const h8i=K(d8i,[["render",A8i]]);class p8i extends ub{constructor({viewer:e},i){super(e,i,"arrow",h8i,"shapes")}}const g8i={},f8i={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"};function m8i(t,e){return Q(),N("svg",f8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.5 14.875C12.0208 14.875 14.875 12.0208 14.875 8.5C14.875 4.97919 12.0208 2.125 8.5 2.125C4.97919 2.125 2.125 4.97919 2.125 8.5C2.125 12.0208 4.97919 14.875 8.5 14.875ZM8.5 17C13.1944 17 17 13.1944 17 8.5C17 3.80558 13.1944 0 8.5 0C3.80558 0 0 3.80558 0 8.5C0 13.1944 3.80558 17 8.5 17Z"},null,-1)]))}const v8i=K(g8i,[["render",m8i]]);class C8i extends ub{constructor({viewer:e},i){super(e,i,"ellipse",v8i,"shapes")}}const y8i={name:"EraserIcon",props:{color:{type:String,default:"currentColor"}}},w8i=["fill"];function b8i(t,e,i,r,o,n){return Q(),N("svg",{width:"20",height:"20",viewBox:"0 0 22 22",fill:i.color,xmlns:"http://www.w3.org/2000/svg"},e[0]||(e[0]=[B("path",{d:"M16.6425 18.2998H22V20H14.9369L16.6425 18.2998ZM2.62548 20L0.613685 17.9946C0.214257 17.5964 0.00980528 17.1125 0.00032939 16.5428C-0.0091465 15.9731 0.18583 15.4798 0.585258 15.0627L12.6123 2.62019C13.0118 2.20312 13.4943 1.9964 14.0599 2.00005C14.6256 2.00367 15.1081 2.20458 15.5075 2.60277L20.6617 7.74061C21.0611 8.13879 21.2627 8.62453 21.2663 9.19783C21.27 9.77112 21.072 10.2569 20.6726 10.655L11.5255 20H2.62548Z"},null,-1)]),8,w8i)}const I8i=K(y8i,[["render",b8i]]),B8i="data:image/svg+xml,%3csvg%20width='23'%20height='23'%20viewBox='0%200%2023%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.1614%200.604227C13.9322%20-0.186875%2015.1984%20-0.203279%2015.9895%200.567585L21.551%205.98681C22.3421%206.75768%2022.3586%208.0239%2021.5877%208.815L8.99392%2021.7394C8.22305%2022.5305%206.95683%2022.5469%206.16573%2021.776L0.604228%2016.3568C-0.186874%2015.5859%20-0.20328%2014.3197%200.567585%2013.5286L13.1614%200.604227Z'%20fill='%232F374A'/%3e%3c/svg%3e",E8i="data:image/svg+xml,%3csvg%20width='22'%20height='18'%20viewBox='0%200%2022%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.62548%2018L0.613685%2015.9946C0.214257%2015.5964%200.00980528%2015.1125%200.00032939%2014.5428C-0.0091465%2013.9731%200.18583%2013.4798%200.585258%2013.0627L12.6123%200.620194C13.0118%200.203116%2013.4943%20-0.00359875%2014.0599%204.73985e-05C14.6256%200.00367466%2015.1081%200.204581%2015.5075%200.602767L20.6617%205.74061C21.0611%206.13879%2021.2627%206.62453%2021.2663%207.19783C21.27%207.77112%2021.072%208.25686%2020.6726%208.65502L11.5255%2018H2.62548Z'%20fill='%232F374A'/%3e%3c/svg%3e",x8i=`url("${B8i}") 7 23, auto`,k8i=`url("${E8i}") 7 18, auto`;class M8i extends db{constructor({viewer:e},i){super("eraser",I8i,null,!1),this._pointerManager=new S8i(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class S8i extends OD{constructor(e,i){super(e,{element:e.canvas.parentElement,pointerUpCursor:x8i,pointerDownCursor:k8i}),this._drawer=i}erase(e){const i=this._drawer.pick(e);i&&this._drawer.deleteDrawing(i.id)}onMouseDown(e){this.erase(e)}onDrag(e){this.erase(e)}}class VC{constructor(e){this.drawingType=e}parse(e){throw new Error("Not implemented")}toString(e){throw new Error("Not implemented")}}class Q8i extends VC{constructor(){super("rectangle")}toString(e){const{p1:i,p2:r,p3:o,p4:n,lineColor:s,lineWidth:a}=e;return`<path d="M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o.x} ${o.y} L ${n.x} ${n.y} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}"/>`}parse(e){var i;const r=e.querySelector("path"),o=r.getAttribute("d"),[,n,s,,a,l,,c,d,,u,A]=o.split(" "),h=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),g=r.getAttribute("stroke-width");return{p1:{x:parseFloat(n),y:parseFloat(s)},p2:{x:parseFloat(a),y:parseFloat(l)},p3:{x:parseFloat(c),y:parseFloat(d)},p4:{x:parseFloat(u),y:parseFloat(A)},lineColor:parseInt(h,16),lineWidth:parseFloat(g)}}}class D8i extends VC{constructor(){super("line")}toString(e){const{p1:i,p2:r,lineWidth:o,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${r.x}" y2="${r.y}" stroke-width="${o}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const r=e.querySelector("line"),o=r.getAttribute("x1"),n=r.getAttribute("y1"),s=r.getAttribute("x2"),a=r.getAttribute("y2"),l=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),c=r.getAttribute("stroke-width");return{p1:{x:parseFloat(o),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}class P8i extends VC{constructor(){super("arrow")}toString(e){const{p1:i,p2:r,lineWidth:o,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${r.x}" y2="${r.y}" stroke-width="${o}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const r=e.querySelector("line"),o=r.getAttribute("x1"),n=r.getAttribute("y1"),s=r.getAttribute("x2"),a=r.getAttribute("y2"),l=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),c=r.getAttribute("stroke-width");return{p1:{x:parseFloat(o),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}function L9e(t){if(t.length===0)return"";const e=t[0];let i=`M ${e.x} ${e.y}`;for(let r=0;r<t.length;r++){const o=t[r];i+=` C ${o.cpX1} ${o.cpY1} ${o.cpX2} ${o.cpY2} ${o.toX} ${o.toY}`}return i}function T9e(t){const e=t.split(" "),i=e.shift();if(i!=="M")throw new Error(`svgPathStringToCurves: invalid svg path string. Must start with M, got "${i}"`);let r=parseFloat(e.shift()),o=parseFloat(e.shift());const n=[];for(;e.shift()==="C";){const s=parseFloat(e.shift()),a=parseFloat(e.shift()),l=parseFloat(e.shift()),c=parseFloat(e.shift()),d=parseFloat(e.shift()),u=parseFloat(e.shift());n.push({type:"curve",x:r,y:o,cpX1:s,cpY1:a,cpX2:l,cpY2:c,toX:d,toY:u}),r=d,o=u}return n}class R8i extends VC{constructor(){super("ellipse")}toString(e){const{curve1:i,curve2:r,curve3:o,curve4:n,lineColor:s,lineWidth:a}=e;return`<path d="${L9e([i,r,o,n])} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}" />`}parse(e){var i;const r=e.querySelector("path"),o=r.getAttribute("d"),n=T9e(o),s=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),a=r.getAttribute("stroke-width");return{curves:n,lineColor:parseInt(s,16),lineWidth:parseFloat(a)}}}class L8i extends VC{constructor(){super("text")}toString(e){const{x:i,y:r,text:o,size:n,rotation:s,color:a}=e,l=a?`color="#${a}"`:"";return`<text x="${i}" y="${r}" font-size="${n}px" tranform="rotate(${s})" ${l}>${o}</text>`}parse(e){var i;const r=e.querySelector("text"),o=r.getAttribute("color"),n=r.getAttribute("x"),s=r.getAttribute("y"),a=r.getAttribute("font-size").slice(0,-2),l=((i=r.getAttribute("tranform").match(/rotate\((.*)\)/))==null?void 0:i[1])??0,c=r.textContent==="null"?null:r.textContent;return{x:parseFloat(n),y:parseFloat(s),size:parseFloat(a),rotation:parseFloat(l),text:c,color:o?o.slice(1):null}}}class T8i extends VC{constructor(){super("freehand")}toString(e){const{curves:i,lineWidth:r,lineColor:o}=e,n=`stroke-width="${r}" stroke="#${o.toString(16).padStart(6,0)}"`;return`<path d="${L9e(i)}" ${n}/>`}parse(e){var i;const r=e.querySelector("path"),o=r.getAttribute("d"),n=T9e(o),s=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),a=r.getAttribute("stroke-width");return{curves:n,lineWidth:parseFloat(a),lineColor:parseInt(s,16)}}}class F8i{constructor(){this.drawingSvgParsers=new Map,[new Q8i,new D8i,new P8i,new R8i,new T8i,new L8i].map(e=>this.drawingSvgParsers.set(e.drawingType,e))}parse(e){try{const i=new DOMParser().parseFromString(e.content,"image/svg+xml"),r=i.querySelector("svg").getAttribute("type"),o=+i.querySelector("svg").getAttribute("data-bimdata-elevation"),n=this.drawingSvgParsers.get(r);if(!n)throw new TypeError(`No drawing parser for type ${r}`);const s=n.parse(i);return s.apiId=e.id,s.type=r,s.z=o,s}catch(i){console.warn(`[Drawing Tools - Parser] Error parsing drawing ${e.id}, ignored.`,i)}}toString(e){const{type:i,z:r}=e,o=this.drawingSvgParsers.get(i);if(!o)throw new TypeError(`No drawing parser for type ${i}`);const n=o.toString(e);return`<svg type="${i}" data-bimdata-elevation="${r}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}}class _8i{constructor(e){this._api=e,this._parser=new F8i,this.queue=$v()}async getDrawingsData(e){const{cloudId:i,projectId:r}=this._api;return(await this._api.apiClient.modelApi.getDrawings(i,e,r)).map(o=>this._parser.parse(o)).filter(Boolean)}save(e,i){const r=this._parser.toString(e);if(!r)return;const{cloudId:o,projectId:n}=this._api,s={content:r};let a;e.apiId?a=async()=>{try{await this._api.apiClient.modelApi.updateDrawing(o,e.apiId,i,n,s)}catch(l){console.error(`Cannot update drawing of type: "${e.type}"`,l)}}:a=async()=>{try{const l=await this._api.apiClient.modelApi.createDrawing(o,i,n,s);e.apiId=l.id}catch(l){console.error(`Cannot create drawing of type: "${e.type}"`,l)}},this.queue.push(a)}async delete(e,i){if(!e.apiId)return;const{cloudId:r,projectId:o}=this._api;try{await this._api.apiClient.modelApi.deleteDrawing(r,e.apiId,i,o)}catch(n){console.error(`Cannot delete drawing of type: "${e.type}"`,n)}}}class F9e{constructor(e){this.drawingTypes=e}pick(e,i){throw new Error("Not implemented")}}class U8i extends F9e{constructor(e){super(["rectangle","ellipse","arrow","line","freehand"]),this._engine2d=e}pick(e,i){const{canvasPosition:r}=i,o=this._engine2d.picker.pick(r);if(o)return e.get(o.id)}}class N8i extends F9e{constructor(){super(["text"])}pick(e,i){const{mouseEvent:r}=i,o=r.target;return e.get(o.id)}}class _9e{constructor(e,i){if(!e)throw new TypeError("Drawing type is required");this.type=e,this.z=i}destroy(){throw new Error("Method 'destroy' not implemented.")}}class U9e{constructor(e){this.drawingTypes=e}create(e,i){throw new Error("Not implemented")}}const O8i="data:image/svg+xml,%3csvg%20width='10'%20height='15'%20viewBox='0%200%2010%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5%201.96296V7.5M5%201.96296L3%201H1M5%201.96296L7%201H9M5%2013.037V7.5M5%2013.037L7%2014H9M5%2013.037L3%2014H1M5%207.5H7M5%207.5H3'%20stroke='%232F374A'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",H8i="data:image/svg+xml,%3csvg%20width='17'%20height='17'%20viewBox='0%200%2017%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.5%200C3.80611%200%200%203.80611%200%208.5C0%2013.1939%203.80611%2017%208.5%2017C9.28389%2017%209.91667%2016.3672%209.91667%2015.5833C9.91667%2015.215%209.775%2014.8844%209.54833%2014.6294C9.33111%2014.3839%209.18944%2014.0533%209.18944%2013.6944C9.18944%2012.9106%209.82222%2012.2778%2010.6061%2012.2778H12.2778C14.8844%2012.2778%2017%2010.1622%2017%207.55556C17%203.38111%2013.1939%200%208.5%200ZM3.30556%208.5C2.52167%208.5%201.88889%207.86722%201.88889%207.08333C1.88889%206.29944%202.52167%205.66667%203.30556%205.66667C4.08944%205.66667%204.72222%206.29944%204.72222%207.08333C4.72222%207.86722%204.08944%208.5%203.30556%208.5ZM6.13889%204.72222C5.355%204.72222%204.72222%204.08944%204.72222%203.30556C4.72222%202.52167%205.355%201.88889%206.13889%201.88889C6.92278%201.88889%207.55556%202.52167%207.55556%203.30556C7.55556%204.08944%206.92278%204.72222%206.13889%204.72222ZM10.8611%204.72222C10.0772%204.72222%209.44444%204.08944%209.44444%203.30556C9.44444%202.52167%2010.0772%201.88889%2010.8611%201.88889C11.645%201.88889%2012.2778%202.52167%2012.2778%203.30556C12.2778%204.08944%2011.645%204.72222%2010.8611%204.72222ZM13.6944%208.5C12.9106%208.5%2012.2778%207.86722%2012.2778%207.08333C12.2778%206.29944%2012.9106%205.66667%2013.6944%205.66667C14.4783%205.66667%2015.1111%206.29944%2015.1111%207.08333C15.1111%207.86722%2014.4783%208.5%2013.6944%208.5Z'%20fill='white'/%3e%3c/svg%3e",V8i=`url(${O8i}) 5 7, auto`,G8i=4,j8i=40,N9e=4,z8i=2,q8i={props:{id:{type:String,required:!0},initText:{type:String,default:""},newMarker:{type:Boolean,default:!1},initSize:{type:Number,default:12},initColor:{type:String,default:"000000"},rotation:{type:Number,required:!0},scale:{type:Number,required:!0},textToolEnabled:{type:Boolean,required:!0}},emits:["edit-update","text-update","size-update","color-update","delete-marker","delete-drawing"],setup(t,{emit:e}){const i=_t("$viewer").localContext.viewer.viewer.canvas,r=_e(t.initText),o=_e(t.newMarker),n=_e(null),s=_e(t.initSize),a=_e(t.initColor),l=_e(null);Ht(r,k=>e("text-update",k)),Ht(s,k=>e("size-update",k)),Ht(a,k=>e("color-update",k));const c=()=>{var k;(k=n.value)==null||k.focus()},d=()=>{s.value>G8i&&(s.value-=N9e),c()},u=()=>{s.value<j8i&&(s.value+=N9e),c()},A=_e(!1),h=_e(!1),g=()=>{if(A.value=!A.value,A.value){const{y:k,height:x}=i.getBoundingClientRect(),{y:M}=l.value.getBoundingClientRect();h.value=M>k+x/2}},p=k=>{a.value=k,A.value=!1,c()};Ht(o,async k=>{e("edit-update",k),k?(await Jo(),c()):A.value=!1});const m=_e(null),f=_e(null),C=_e(null);async function y(){if(!o.value)return;await Jo();const{width:k}=m.value.getBoundingClientRect();f.value=k+12,C.value=1,await Jo();const{scrollHeight:x}=n.value;C.value=x+2}const v=k=>{k.key==="Escape"&&(o.value=!1)};document.addEventListener("keydown",v),Sr(()=>{var k;y(),(k=n.value)==null||k.focus()}),fo(()=>{document.removeEventListener("keydown",v)}),Ht(()=>o.value+r.value+t.scale+s.value,y);const w=()=>{e("delete-marker"),e("delete-drawing")},b=()=>{t.textToolEnabled&&(o.value=!0)},E=At(()=>s.value/(z8i*window.devicePixelRatio));return{colorElement:l,textCursor:V8i,paletteSvg:H8i,size:E,textarea:n,edit:o,text:r,textEl:m,textAreaWidth:f,textAreaHeight:C,decrementSize:d,incrementSize:u,onTextColorClick:g,color:a,colorSelectorDisplayed:A,colorSelectorTop:h,onTextColorUpdate:p,onDeleteClick:w,onTextClick:b}}},K8i=["id"],J8i={key:0},Y8i={class:"bimdata-drawing-tools__text-marker__edit-content",style:"transform: translate(-1px, -1px)"},W8i={class:"bimdata-drawing-tools__text-marker__edit-content__header"},Z8i=["src"];function X8i(t,e,i,r,o,n){const s=R("BIMDataColorSelector"),a=R("BIMDataIconDelete"),l=ir("click-away");return Q(),N("div",{class:"bimdata-drawing-tools__text-marker",style:Be(`font-size:${r.size}px; z-index: ${r.edit?1:0};`)},[B("div",{style:Be(`cursor: ${i.textToolEnabled?r.textCursor:""}`)},[B("div",{ref:"textEl",class:"bimdata-drawing-tools__text-marker__text",style:Be(`
1608
+ `}},methods:{onMouseMove({offsetX:t,offsetY:e}){this.zoomX=t,this.zoomY=e}}},wmi=["src"],bmi=["src"];function Imi(t,e,i,r,o,n){return Q(),N("div",{class:"preview-2d",onMouseenter:e[0]||(e[0]=s=>o.hover=!0),onMouseleave:e[1]||(e[1]=s=>o.hover=!1),onMousemove:e[2]||(e[2]=(...s)=>n.onMouseMove&&n.onMouseMove(...s))},[B("img",{loading:"lazy",src:n.imgUrl},null,8,wmi),Ft(B("div",{class:"zoom",style:Be({transform:n.zoomTransform})},[B("div",{class:"zoomImage",style:Be({width:`${i.width}px`,height:`${i.height}px`,transform:n.zoomImageTransform})},[B("img",{loading:"lazy",src:n.imgUrl},null,8,bmi)],4)],4),[[vi,o.hover]])],32)}const Bmi=K(ymi,[["render",Imi],["__scopeId","data-v-b92f4cf9"]]),D9e=15,Emi={props:{width:{type:Number},height:{type:Number},previewUrl:{type:String},defaultUrl:{type:String}},data(){return{translation:0}},computed:{viewportWidth(){return Math.min(this.width,this.height)}},methods:{onMouseMove({offsetX:t}){let e=Math.ceil(D9e*(1-t/this.width));e=Math.abs(e),e=Math.min(e,D9e),this.translation=(e-1)*this.viewportWidth}}},xmi=["src"];function kmi(t,e,i,r,o,n){return Q(),N("div",{class:"preview-3d",onMousemove:e[0]||(e[0]=(...s)=>n.onMouseMove&&n.onMouseMove(...s))},[B("div",{class:"viewport",style:Be({width:`${n.viewportWidth}px`,height:`${i.height}px`})},[B("img",{loading:"lazy",src:i.previewUrl||i.defaultUrl,style:Be({transform:`translateX(-${o.translation}px)`})},null,12,xmi)],4)],32)}const Mmi=K(Emi,[["render",kmi],["__scopeId","data-v-81707204"]]),Smi={components:{Preview2D:Bmi,Preview3D:Mmi},props:{type:{type:String,default:"3d",validator:t=>["2d","3d"].includes(t)},width:{type:Number,default:240},height:{type:Number,default:240},previewUrl:{type:String},defaultUrl:{type:String},backgroundColor:{type:String,default:"var(--color-silver-light)"},zoomFactor:{type:Number,default:3}},computed:{previewComponent(){return this.type==="3d"?"Preview3D":"Preview2D"}}};function Qmi(t,e,i,r,o,n){return Q(),te(Uo(n.previewComponent),al({class:"bimdata-model-preview",style:{width:`${i.width}px`,height:`${i.height}px`,backgroundColor:i.backgroundColor}},t.$props),null,16,["style"])}const Dmi=K(Smi,[["render",Qmi]]),Pmi={class:"placeholder"},Rmi={class:"list-item"},Lmi={class:"count"},Tmi={__name:"StoreySelector",props:{storeys:{type:Object,required:!0},storey:{type:Object,default:null}},emits:["storey-selected"],setup(t,{emit:e}){const i=t,r=e,o=_e(null);return Ht([()=>i.storeys,()=>i.storey],([n,s])=>{var a;(!s||n.some(l=>l.uuid===s.uuid)&&s.uuid!==((a=o.value)==null?void 0:a.uuid))&&(o.value=s)},{immediate:!0}),Ht(o,n=>r("storey-selected",n)),(n,s)=>{const a=R("BIMDataIconStorey"),l=R("BIMDataTextbox"),c=R("BIMDataIconPlan"),d=R("BIMDataDropdownList");return Q(),te(d,{class:"storey-selector",width:"100%",list:t.storeys,elementKey:"uuid",closeOnElementClick:!0,onElementClick:s[0]||(s[0]=u=>o.value=u)},{header:z(()=>{var u;return[L(a,{size:"xs"}),B("span",Pmi,ee(((u=o.value)==null?void 0:u.name)??n.$t("MetaBuildingStructure.StoreySelector.placeholder")),1)]}),element:z(({element:u})=>[B("div",Rmi,[L(l,{class:"text",text:u.name},null,8,["text"]),L(c,{size:"xs"}),B("span",Lmi,ee(u.plans.length),1)])]),_:1},8,["list"])}}},Fmi=K(Tmi,[["__scopeId","data-v-8ac6660b"]]),_mi={class:"photosphere-building"},Umi={class:"title"},Nmi={class:"head"},Omi={class:"body"},Hmi={class:"loading"},Vmi={__name:"BIMDataPhotosphereBuilding",props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,default:null},storey:{type:Object,default:null},plan:{type:Object,default:null},selectable:{type:Boolean,default:!1}},emits:["storey-selected","plan-selected"],setup(t,{emit:e}){const i=t,r=e,o=_e(!1),n=_e([]),s=_e(null),a=At(()=>{var u;return((u=s.value)==null?void 0:u.plans)??[]}),l=_e(null);Ht(()=>i.model,async u=>{if(u)try{o.value=!0,n.value=await i.apiClient.modelApi.getStoreys(i.space.id,u.id,i.project.id),n.value.some(({uuid:A})=>{var h;return((h=s.value)==null?void 0:h.uuid)===A})||(s.value=n.value[0]??null)}finally{o.value=!1}else n.value=[],s.value=null},{immediate:!0}),Ht(()=>i.storey,u=>{s.value=u},{immediate:!0}),Ht(()=>i.plan,u=>{var A;l.value=(A=u?.plan)==null?void 0:A.id},{immediate:!0});const c=u=>(s.value=u,r("storey-selected",u)),d=u=>r("plan-selected",u);return(u,A)=>{const h=R("BIMDataIconBuilding"),g=R("BIMDataRadio"),p=R("BIMDataFileIcon"),m=R("BIMDataTextbox"),f=R("BIMDataSpinner");return Q(),N("div",_mi,[B("div",Umi,[L(h,{size:"s"}),B("span",null,ee(u.$t("PhotosphereBuilding.title")),1)]),B("div",Nmi,[L(Fmi,{storeys:n.value,storey:s.value,onStoreySelected:c},null,8,["storeys","storey"])]),B("div",Omi,[(Q(!0),N(Et,null,Wt(a.value,C=>{var y;return Q(),N("div",{class:"list-item",key:C.plan.id},[t.selectable?(Q(),te(g,{key:0,value:C.plan.id,modelValue:l.value,"onUpdate:modelValue":[A[0]||(A[0]=v=>l.value=v),v=>d(C)]},null,8,["value","modelValue","onUpdate:modelValue"])):fe("",!0),L(p,{fileName:((y=C.plan.document)==null?void 0:y.file_name)??C.plan.name,size:14},null,8,["fileName"]),L(m,{class:"text",text:C.plan.name},null,8,["text"])])}),128))]),L(cr,{name:"fade"},{default:z(()=>[Ft(B("div",Hmi,[L(f)],512),[[vi,o.value]])]),_:1})])}}},P9e=K(Vmi,[["__scopeId","data-v-94317752"]]);function Yq(t,e){var i;return Array.isArray(t)?t=t.map(r=>Yq(r,e)):(t.expandedRef=_e(!0),t.parent=e,t.children=((i=t.children)==null?void 0:i.map(r=>Yq(r,t)))??[]),t}function Gmi(t,e,i){return[{id:1,text:t.name,component:"StructureRootNode",children:e.map(r=>jmi(r))}]}const jmi=(t,e)=>{var i;return{id:t.uuid,text:t.name,component:"StoreyNode",children:((i=t.plans)==null?void 0:i.map(r=>zmi(t,r)))??[],storey:t}},zmi=(t,e)=>({id:e.plan.id,text:e.plan.name,component:"PlanNode",storey:t,plan:e}),qmi={class:"generic-tree-node"},Kmi={class:"end"},Jmi={__name:"GenericTreeNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},setup(t){return(e,i)=>{const r=R("BIMDataTextbox");return Q(),N("div",qmi,[Mt(e.$slots,"icon",{},void 0,!0),L(r,{class:"text",text:t.node.text},null,8,["text"]),B("div",Kmi,[Mt(e.$slots,"end",{},void 0,!0)])])}}},ND=K(Jmi,[["__scopeId","data-v-fab13549"]]),Ymi={__name:"PlanNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},emits:["delete-plan"],setup(t){const e=t,i=At(()=>e.node.storey),r=At(()=>e.node.plan);return(o,n)=>{const s=R("BIMDataFileIcon"),a=R("BIMDataIconDelete"),l=R("BIMDataButton");return Q(),te(ND,hd(BA(o.$props)),{icon:z(()=>{var c;return[L(s,{"file-name":((c=r.value.plan.document)==null?void 0:c.file_name)??r.value.plan.name,size:12},null,8,["file-name"])]}),end:z(()=>[L(l,{width:"24px",height:"24px",color:"high",ghost:"",rounded:"",icon:"",onClick:n[0]||(n[0]=c=>o.$emit("delete-plan",{storey:i.value,plan:r.value}))},{default:z(()=>[L(a,{size:"xxs"})]),_:1})]),_:1},16)}}},Wmi={__name:"StoreyNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},emits:["add-plans","delete-storey","update-storey"],setup(t,{emit:e}){const i=t,r=e,o=[{key:1,text:"BuildingMaker.view.addFile",icon:"plus",action:()=>(n.value=!1,r("add-plans",i.node.storey))},{key:2,text:"BIMDataComponents.t.rename",icon:"edit",action:()=>(n.value=!1,r("update-storey",i.node.storey)),divider:!0},{key:3,text:"BIMDataComponents.t.delete",icon:"delete",color:"var(--color-high)",action:()=>(n.value=!1,r("delete-storey",i.node.storey))}],n=_e(!1);return(s,a)=>{const l=R("BIMDataIconStorey"),c=R("BIMDataIconEllipsis"),d=R("BIMDataButton"),u=R("BIMDataIcon"),A=R("BIMDataMenu");return Q(),te(ND,al({class:"storey-node"},s.$props),{icon:z(()=>[L(l,{size:"xxs"})]),end:z(()=>[L(d,{width:"24px",height:"24px",color:"granite",ghost:"",rounded:"",icon:"",onClick:a[0]||(a[0]=h=>n.value=!n.value)},{default:z(()=>[L(c,{customSize:"24"})]),_:1}),L(cr,{name:"fade"},{default:z(()=>[Ft(L(A,{class:"storey-node__menu",menuItems:o,width:"180px"},{item:z(({item:h})=>[L(u,{name:h.icon,size:"xs",margin:"0 12px 0 0"},null,8,["name"]),B("span",null,ee(s.$t(h.text)),1)]),_:1},512),[[vi,n.value]])]),_:1})]),_:1},16)}}},Zmi=K(Wmi,[["__scopeId","data-v-a66bc7dd"]]),Xmi={__name:"StructureRootNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},emits:["create-storey"],setup(t){return(e,i)=>{const r=R("BIMDataIconBuilding"),o=R("BIMDataIconPlus"),n=R("BIMDataButton");return Q(),te(ND,hd(BA(e.$props)),{icon:z(()=>[L(r,{size:"xs"})]),end:z(()=>[L(n,{width:"23px",height:"23px",color:"primary",fill:"",radius:"",icon:"",onClick:i[0]||(i[0]=s=>e.$emit("create-storey"))},{default:z(()=>[L(o,{size:"xxs"})]),_:1})]),_:1},16)}}},$mi={__name:"ZoneNode",props:{node:{type:Object,required:!0},depth:{type:Number,required:!0}},setup(t){return(e,i)=>{const r=R("BIMDataIconZone2");return Q(),te(ND,hd(BA(e.$props)),{icon:z(()=>[L(r,{size:"xxs"})]),_:1},16)}}},evi={class:"building-view"},tvi={key:0,class:"content"},ivi={key:1,class:"content"},rvi={class:"building-view__tree"},ovi=Object.assign({components:{PlanNode:Ymi,StoreyNode:Zmi,StructureRootNode:Xmi,ZoneNode:$mi}},{__name:"PhotosphereBuildingView",props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,required:!0}},emits:["close"],setup(t,{emit:e}){const i=t,r=_t("service"),o=_t("loading"),n=_e(""),s=_e(""),a=_e(!1),l=_e(!1),c=_e([]),d=_e(null),u=_e([]),A=_e([]),h=At(()=>Yq(Gmi(i.model,c.value,A.value))),g=async()=>{try{o.value=!0,c.value=await r.fetchStoreys(i.model)}finally{o.value=!1}},p=async()=>{try{o.value=!0,A.value=await r.fetchZones(i.model)}finally{o.value=!1}},m=async k=>{await r.createStorey(i.model,k),g()},f=async k=>{await r.updateStorey(i.model,k),g()},C=async k=>{await r.deleteStorey(i.model,k),g()},y=k=>{d.value=k,l.value=!0},v=()=>{d.value=null,l.value=!1},w=k=>{n.value=i.apiClient.config.configuration.basePath,s.value=i.apiClient.accessToken,d.value=k,a.value=!0},b=async()=>{const k=[],x=[];for(const{document:D,pdfPage:P}of u.value)P?x.push(P):k.push(D);const M=(await r.createPlanModels(k)).concat(x);await r.createStoreyPlans(i.model,d.value,M),g(),u.value=[],d.value=null,a.value=!1},E=async({storey:k,plan:x})=>{await r.deleteStoreyPlan(i.model,k,x),g()};return Sr(()=>{g(),p()}),(k,x)=>{const M=R("BIMDataFileManager"),D=R("BIMDataButton"),P=R("BIMDataTree");return Q(),N("div",evi,[L(cr,{name:"fade",mode:"out-in"},{default:z(()=>[a.value&&n.value&&s.value&&d.value?(Q(),N("div",tvi,[L(M,{class:"building-view__dms",spaceId:t.space.id,projectId:t.project.id,apiUrl:n.value,archiveUrl:"",accessToken:s.value,locale:k.$i18n.locale,select:!0,pdfPageSelect:!0,multi:!0,headerButtons:!1,selectableFileTypes:Vt(yme),onSelectionChange:x[0]||(x[0]=T=>u.value=T)},null,8,["spaceId","projectId","apiUrl","accessToken","locale","selectableFileTypes"]),L(D,{width:"100%",color:"primary",fill:"",radius:"",onClick:b},{default:z(()=>[gt(ee(k.$t("BIMDataComponents.t.validate")),1)]),_:1})])):(Q(),N("div",ivi,[B("div",rvi,[L(P,{data:h.value},{node:z(({node:T,depth:U})=>[(Q(),te(Uo(T.component),{node:T,depth:U,onCreateStorey:y,onUpdateStorey:y,onDeleteStorey:C,onAddPlans:w,onDeletePlan:E},null,40,["node","depth"]))]),_:1},8,["data"])]),L(D,{width:"100%",color:"primary",fill:"",radius:"",onClick:x[1]||(x[1]=T=>k.$emit("close"))},{default:z(()=>[gt(ee(k.$t("BIMDataComponents.t.finish")),1)]),_:1}),L(cr,{name:"fade"},{default:z(()=>[l.value?(Q(),te(Ime,{key:0,class:"building-view__form",storey:d.value,onCreateStorey:m,onUpdateStorey:f,onClose:v},null,8,["storey"])):fe("",!0)]),_:1})]))]),_:1})])}}}),nvi=K(ovi,[["__scopeId","data-v-5bedb26f"]]),svi={class:"bimdata-building-maker"},avi=["src"],lvi={class:"bimdata-building-maker__body"},cvi={class:"bimdata-building-maker__loader"},dvi={__name:"BIMDataPhotosphereBuildingMaker",props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,default:null}},emits:["metaBuilding-created","metaBuilding-updated","metaBuilding-deleted"],setup(t,{emit:e}){const i=t,r=e,o=Object.freeze({FORM:"form",LIST:"list",VIEW:"view"}),n=Cme(i.apiClient,i.space,i.project),s=_e(!1);Mo("service",n),Mo("loading",s);const a=_e(o.LIST),l=_e([]),c=_e(null),d=async()=>{s.value=!0,l.value=await n.fetchPhotosphereBuildings(),s.value=!1},u=async f=>{await n.deleteMetaBuilding(f),d(),r("metaBuilding-deleted")},A=f=>{c.value=f??null,a.value=o.FORM},h=f=>{c.value=f,a.value=o.VIEW},g=async f=>{await d(),h(f),r("metaBuilding-created")},p=()=>{d(),a.value=o.LIST,r("metaBuilding-updated")},m=()=>{a.value=o.LIST};return Ht(()=>i.model,f=>{f&&h(f)},{immediate:!0}),Sr(()=>d()),(f,C)=>{const y=R("BIMDataIconArrow"),v=R("BIMDataButton"),w=R("BIMDataSpinner");return Q(),N("div",svi,[B("div",{class:"bimdata-building-maker__header",style:Be({visibility:a.value===Vt(o).LIST?"hidden":"visible"})},[L(v,{class:"bimdata-building-maker__header__btn-back",ghost:"",radius:"",disabled:s.value.value,onClick:m},{default:z(()=>[L(y,{size:"xxs",margin:"0 6px 0 0"}),B("span",null,ee(f.$t("BIMDataComponents.t.back")),1)]),_:1},8,["disabled"]),B("img",{src:Vt(ab)},null,8,avi),B("span",null,ee(f.$t("PhotosphereBuilding.title")),1)],4),B("div",lvi,[L(cr,{name:"fade",mode:"out-in"},{default:z(()=>[a.value===Vt(o).FORM?(Q(),te(wme,{key:0,type:Vt(bq).PHOTOSPHERE_BUILDING,metaBuilding:c.value,onMetaBuildingCreated:g,onMetaBuildingUpdated:p},null,8,["type","metaBuilding"])):a.value===Vt(o).VIEW&&c.value?(Q(),te(nvi,{key:1,apiClient:t.apiClient,space:t.space,project:t.project,model:c.value,onClose:m},null,8,["apiClient","space","project","model"])):(Q(),te(bme,{key:2,metaBuildings:l.value,onOpenMetaBuilding:h,onCreateMetaBuilding:A,onUpdateMetaBuilding:A,onDeleteMetaBuilding:u},null,8,["metaBuildings"]))]),_:1})]),L(cr,{name:"fade"},{default:z(()=>[Ft(B("div",cvi,[L(w)],512),[[vi,s.value]])]),_:1})])}}},uvi=K(dvi,[["__scopeId","data-v-235bd404"]]),Avi={class:"overlay"},hvi={class:"safe-zone__icon"},pvi={class:"safe-zone__title"},gvi={class:"safe-zone__text"},fvi={class:"safe-zone__actions"},mvi={__name:"BIMDataSafeZoneModal",props:{width:{type:String,default:"350px"},iconName:{type:String,default:"warning"}},setup(t){return(e,i)=>{const r=R("BIMDataIcon");return Q(),N("div",Avi,[B("div",{class:"safe-zone",style:Be({width:t.width})},[B("div",hvi,[L(r,{name:t.iconName,size:"s",fill:"",color:"high"},null,8,["name"])]),B("h2",pvi,[Mt(e.$slots,"title",{},void 0,!0)]),B("div",gvi,[Mt(e.$slots,"text",{},void 0,!0)]),B("div",fvi,[Mt(e.$slots,"actions",{},void 0,!0)])],4)])}}},vvi=K(mvi,[["__scopeId","data-v-01a25253"]]),Cvi=Object.freeze(Object.defineProperty({__proto__:null,BIMDataBuildingMaker:Bme,BIMDataFileManager:v2i,BIMDataGuidedTour:O2i,BIMDataMetaBuildingStructure:Q9e,BIMDataModelPreview:Dmi,BIMDataPDFViewer:C9e,BIMDataPhotosphereBuilding:P9e,BIMDataPhotosphereBuildingMaker:uvi,BIMDataSafeZoneModal:vvi},Symbol.toStringTag,{value:"Module"})),yvi={setup(){const t=_t("$viewer"),{apiClient:e,cloudId:i,projectId:r}=t.api;return()=>Ln(Bme,{apiClient:e,space:{id:i},project:{id:r}})}},wvi={name:"buildingMaker",component:yvi,window:{name:"buildingMaker",label:"Building Maker",noModel:!0,icon:{imgUri:ab}}},bvi={components:{BIMDataNumericalInput:o1e},setup(){const t=_t("$viewer"),e=_t("root"),i=_t("close"),r=At(()=>e.editedBitmap?e.editedBitmap:{x:0,y:0,scale:0,angle:0,opacity:0}),o=Ivi(r);return{root:e,bitmap:r,...o,submit:async()=>{try{e.loading=!0,await Promise.all(e.bitmaps.filter(n=>n.edited).map(async n=>{const{x:s,y:a,scale:l,angle:c,opacity:d,plan:u}=n;Object.assign(u,{translation_x:s,translation_y:a,scale:l,rotate_z:c,opacity:d}),await t.state.updatePlan(u),n.edited=!1}))}catch(n){console.error(n)}finally{e.loading=!1,i()}}}}};function Ivi(t){const e={};return Object.entries({x:i=>i,y:i=>i,scale:i=>i,angle:i=>i<0||i>360?(i%360+360)%360:i,opacity:i=>i<0?0:i>1?1:i}).forEach(([i,r])=>{e[i]=At({get:()=>t.value[i],set:o=>t.value[i]=r(o)})}),e}const Bvi={class:"synchronization__page__edit"},Evi={class:"synchronization__page__edit__content"},xvi={class:"synchronization__page__edit__content__unit-group"},kvi={class:"synchronization__page__edit__content__unit-group__element"},Mvi={class:"synchronization__page__edit__content__unit-group__element"},Svi={class:"synchronization__page__edit__content__unit-group__element"},Qvi={class:"synchronization__page__edit__content__unit"},Dvi={class:"synchronization__page__edit__content__unit"},Pvi={class:"synchronization__page__edit__content__img"},Rvi=["src"],Lvi={class:"synchronization__page__edit__validate"};function Tvi(t,e,i,r,o,n){const s=R("BIMDataNumericalInput"),a=R("BIMDataSlider"),l=R("BIMDataTextbox"),c=R("BIMDataButton");return Q(),N("div",Bvi,[B("div",Evi,[B("section",null,[B("span",null,ee(t.$t("synchronization.location")),1),B("div",xvi,[B("div",kvi,[L(s,{modelValue:t.x,"onUpdate:modelValue":e[0]||(e[0]=d=>t.x=d),label:"X",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),B("div",Mvi,[L(s,{modelValue:t.y,"onUpdate:modelValue":e[1]||(e[1]=d=>t.y=d),label:"Y",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),B("div",Svi,[L(s,{modelValue:t.scale,"onUpdate:modelValue":e[2]||(e[2]=d=>t.scale=d),label:t.$t("synchronization.scale"),step:.01,min:.01,container:t.$viewer.localContext.el},null,8,["modelValue","label","container"])])])]),B("section",null,[B("span",null,ee(t.$t("synchronization.rotation")),1),B("div",Qvi,[L(s,{modelValue:t.angle,"onUpdate:modelValue":e[3]||(e[3]=d=>t.angle=d),unit:"\xB0",centered:""},null,8,["modelValue"]),L(a,{modelValue:t.angle,"onUpdate:modelValue":e[4]||(e[4]=d=>t.angle=d),min:0,max:360},null,8,["modelValue"])])]),B("section",null,[B("span",null,ee(t.$t("synchronization.alpha")),1),B("div",Dvi,[L(s,{modelValue:t.opacity,"onUpdate:modelValue":e[5]||(e[5]=d=>t.opacity=d),centered:""},null,8,["modelValue"]),L(a,{modelValue:t.opacity,"onUpdate:modelValue":e[6]||(e[6]=d=>t.opacity=d),min:0,max:1,step:.01},null,8,["modelValue"])])]),B("section",null,[B("span",null,ee(t.$t("synchronization.preview")),1),B("div",Pvi,[B("img",{src:r.bitmap.dataUrl,alt:"Background"},null,8,Rvi),L(l,{text:r.bitmap.name,class:"synchronization__page__edit__content__img__name"},null,8,["text"])])])]),B("div",Lvi,[L(c,{width:"100%",color:"primary",fill:"",radius:"",onClick:r.submit},{default:z(()=>[gt(ee(r.bitmap&&r.bitmap.plan?t.$t("global.save"):t.$t("global.validate")),1)]),_:1},8,["onClick"])])])}const Fvi=K(bvi,[["render",Tvi],["__scopeId","data-v-6e4accff"]]),_vi={name:"BimdataSynchronization",components:{edit:Fvi},setup(){const{localContext:t}=_t("$viewer"),e=_t("$plugin");let i=t.pluginComponentInstances.get("plan");if(!i)throw new Error("[Synchronization] plugin cannot work without viewerPlan plugin with 2d engine on.");i=pu(i),Mo("viewerPlan",i),wA(()=>{i.bitmaps.length>1&&!e.shown&&e.show(),i.bitmaps.length<=1&&e.shown&&e.hide()}),Ht(()=>e.shown,A=>{A&&i.bitmaps<=1&&e.hide()});const r=rl({page:"edit",loading:!1,modalDisplayed:!1,model:null,storeys:[],selectedStorey:null,plans:[],bitmaps:[],editedBitmap:null});Mo("root",r);const o=()=>{r.bitmaps.map(A=>(A.edit(!1),A)).filter(A=>A.edited).forEach(A=>A.reset()),r.modalDisplayed=!1,i.storeyRightOffset=0,t.showUI(),document.removeEventListener("keydown",c),r.editedBitmap=null,r.bitmaps=[]},n=()=>{o(),e.close()};Mo("close",n);const s=()=>{r.bitmaps.some(A=>A.edited)?r.modalDisplayed=!0:n()},a=()=>{n()},l=A=>{r.editedBitmap=A},c=A=>{r.loading||A.key==="Escape"&&(A.preventDefault(),r.modalDisplayed?r.modalDisplayed=!1:n())},d=t.hub.on("model-loaded",({model:A})=>{r.model=A,r.storeys=A.storeys,r.plans=A.storeys.flatMap(h=>h.plans)},{getLastEvent:!0}),u=t.hub.on("storey-selected",({storey:A})=>{r.selectedStorey=A,(!A||A.plans.length<2)&&n()},{getLastEvent:!0});return fo(()=>{t.hub.off(d),t.hub.off(u)}),Ht(()=>r.editedBitmap,(A,h)=>{h?.edit(!1),A?.edit(!0)},{immediate:!0}),{viewerPlan:i,root:r,onBitmapClick:l,onCloseClick:s,onLeaveClick:a,onKeyDown:c,clean:o}},async onOpen(){var t;this.$viewer.localContext.pluginComponentInstances.forEach(e=>{var i;e!==this&&((i=e.$close)==null||i.call(e))}),this.viewerPlan.storeyRightOffset=380,await this.$viewer.localContext.hideUI({exceptions:[this.$plugin.name]}),document.addEventListener("keydown",this.onKeyDown),this.root.bitmaps=Array.from(this.viewerPlan.bitmaps),this.root.editedBitmap=this.root.bitmaps[0],this.root.bitmaps.filter(e=>!e.visible).forEach(e=>{this.$viewer.localContext.showPlan(e.plan),e.show()}),(t=this.viewerPlan.$refs.storeySelector)==null||t.focus()},onClose(){this.clean()}},Uvi={class:"bimdata-synchronization"},Nvi={class:"bimdata-synchronization__header"},Ovi={class:"bimdata-synchronization__header__top"},Hvi={class:"bimdata-synchronization__header__top__title"},Vvi={class:"bimdata-synchronization__header__top__title__text"},Gvi={class:"bimdata-synchronization__header__select__header"},jvi={class:"bimdata-info-length bimdata-synchronization__header__select__header__length"},zvi={class:"bimdata-synchronization__page"},qvi={key:1,class:"bimdata-synchronization__modal"},Kvi={class:"bimdata-synchronization__modal__content"},Jvi={class:"bimdata-synchronization__modal__content__symbols"},Yvi={class:"bimdata-synchronization__modal__content__buttons"};function Wvi(t,e,i,r,o,n){const s=R("BIMDataLoading"),a=R("BIMDataIconSynchro2D"),l=R("BIMDataIconClose"),c=R("BIMDataButton"),d=R("BIMDataTextbox"),u=R("BIMDataDropdownList"),A=R("BIMDataIconWarning");return Q(),N("div",Uvi,[r.root.loading?(Q(),te(s,{key:0})):fe("",!0),B("div",Nvi,[B("div",Ovi,[B("div",Hvi,[L(a,{size:"xs",fill:"",color:"primary"}),B("span",Vvi,ee(t.$t("synchronization.title")),1)]),L(c,{class:"bimdata-synchronization__header__top__close",width:"25px",height:"25px",ghost:"",radius:"",icon:"",onClick:r.onCloseClick},{default:z(()=>[L(l,{size:"xs",fill:"",color:"granite-light"})]),_:1},8,["onClick"])]),B("div",null,[L(u,{width:"100%",list:r.root.bitmaps,"element-key":"id","per-page":30,"close-on-element-click":!0,class:"bimdata-synchronization__header__select",onElementClick:r.onBitmapClick},{header:z(()=>{var h;return[B("div",Gvi,[B("div",jvi,[B("span",null,ee(r.root.bitmaps.length),1)]),B("div",null,[L(d,{width:"265px",text:(h=r.root.editedBitmap)==null?void 0:h.name},null,8,["text"])])])]}),element:z(({element:h})=>[B("div",{class:be(["bimdata-synchronization__header__select__element",{"bimdata-synchronization__header__select__element--selected":h===r.root.editedBitmap}])},ee(h.name),3)]),_:1},8,["list","onElementClick"])])]),B("div",zvi,[(Q(),te(Wx,null,[(Q(),te(Uo(r.root.page)))],1024))]),r.root.modalDisplayed?(Q(),N("div",qvi,[B("div",Kvi,[B("div",Jvi,[L(A,{fill:"",color:"high",size:"l"}),B("div",null,ee(t.$t("synchronization.warning")),1)]),B("div",Yvi,[L(c,{width:"45%",color:"high",fill:"",radius:"",onClick:r.onLeaveClick},{default:z(()=>[gt(ee(t.$t("synchronization.leave")),1)]),_:1},8,["onClick"]),L(c,{width:"45%",color:"default",outline:"",radius:"",onClick:e[0]||(e[0]=h=>r.root.modalDisplayed=!1)},{default:z(()=>[gt(ee(t.$t("synchronization.stay")),1)]),_:1})])])])):fe("",!0)])}const Zvi=K(_vi,[["render",Wvi],["__scopeId","data-v-99651cb1"]]),Xvi="2D-Synchronisierung",$vi="2D-Synchronisierung",e3i="Beginnen",t3i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",i3i="Eine Etage ausw\xE4hlen",r3i="Eine Datei importieren",o3i="Position",n3i="Skala",s3i="Rotation",a3i="Undurchsichtigkeit",l3i="\xDCbersicht",c3i="Von der EDM des Projekts aus",d3i="Von Ihrem Computer aus",u3i="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC und eine Etage aus.",A3i="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC aus.",h3i="M\xF6chten Sie diese Seite wirklich verlassen? Sie enth\xE4lt m\xF6glicherweise Informationen, die nicht best\xE4tigt sind.",p3i="Ja, diese Seite verlassen",g3i="Abbrechen, hierbleiben",f3i={tooltip:Xvi,title:$vi,start:e3i,description:t3i,select_storey:i3i,import_file:r3i,location:o3i,scale:n3i,rotation:s3i,alpha:a3i,preview:l3i,import:"Ein Element importieren",from_ged:c3i,from_computer:d3i,no_storey:u3i,no_ifc:A3i,warning:h3i,leave:p3i,stay:g3i},m3i="2D Synchronization",v3i="2D Synchronization",C3i="Start",y3i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",w3i="Select a floor",b3i="Import a file",I3i="Position",B3i="Scale",E3i="Rotation",x3i="Opacity",k3i="Preview",M3i="From the project's EDM",S3i="From your computer",Q3i="To add a background, please select an IFC and a floor.",D3i="To add a background, please select an IFC.",P3i="Are you sure you want to leave this page? There may be some informations that are not validated.",R3i="Yes, leave this page",L3i="Cancel, stay here",T3i={tooltip:m3i,title:v3i,start:C3i,description:y3i,select_storey:w3i,import_file:b3i,location:I3i,scale:B3i,rotation:E3i,alpha:x3i,preview:k3i,import:"Import an element",from_ged:M3i,from_computer:S3i,no_storey:Q3i,no_ifc:D3i,warning:P3i,leave:R3i,stay:L3i},F3i="Sincronizaci\xF3n 2D",_3i="Sincronizaci\xF3n 2D",U3i="Comenzar",N3i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",O3i="Seleccionar una planta",H3i="Importar un fichero",V3i="Posici\xF3n",G3i="Escala",j3i="Rotaci\xF3n",z3i="Opacidad",q3i="Vista r\xE1pida",K3i="Desde el GED del proyecto",J3i="Desde su ordenador",Y3i="Para agregar un fondo seleccione un IFC y una planta.",W3i="Para agregar un fondo seleccione un IFC.",Z3i="\xBFEsta usted seguro de que quiere abandonar esta p\xE1gina? Puede haber informaciones no validadas.",X3i="S\xED, abandonar la p\xE1gina",$3i="Cancelar, permanecer aqu\xED",e4i={tooltip:F3i,title:_3i,start:U3i,description:N3i,select_storey:O3i,import_file:H3i,location:V3i,scale:G3i,rotation:j3i,alpha:z3i,preview:q3i,import:"Importar un elemento",from_ged:K3i,from_computer:J3i,no_storey:Y3i,no_ifc:W3i,warning:Z3i,leave:X3i,stay:$3i},t4i="Synchronisation 2D",i4i="Synchronisation 2D",r4i="Commencer",o4i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",n4i="S\xE9lectionner un \xE9tage",s4i="Importer un fichier",a4i="Position",l4i="Echelle",c4i="Rotation",d4i="Opacit\xE9",u4i="Aper\xE7u",A4i="Depuis la GED du projet",h4i="Depuis votre ordinateur",p4i="Pour ajouter un fond, veuillez selectionner un IFC et un \xE9tage.",g4i="Pour ajouter un fond, veuillez selectionner un IFC.",f4i="\xCAtes-vous s\xFBr de vouloir quitter cette page ? Il y'a peut-\xEAtre des informations non valid\xE9es.",m4i="Oui, quitter cette page",v4i="Annuler, rester ici",C4i={tooltip:t4i,title:i4i,start:r4i,description:o4i,select_storey:n4i,import_file:s4i,location:a4i,scale:l4i,rotation:c4i,alpha:d4i,preview:u4i,import:"Importer un \xE9l\xE9ment",from_ged:A4i,from_computer:h4i,no_storey:p4i,no_ifc:g4i,warning:f4i,leave:m4i,stay:v4i},y4i="Sincronizzazione 2D",w4i="Sincronizzazione 2D",b4i="Iniziare",I4i="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",B4i="Selezionare un piano",E4i="Importare un file",x4i="Posizione",k4i="Scala",M4i="Rotazione",S4i="Opacit\xE0",Q4i="Anteprima",D4i="Dal cassetto informatico del progetto",P4i="Dal computer",R4i="Per aggiungere uno sfondo, selezionare un file IFC e un piano.",L4i="Per aggiungere uno sfondo, selezionare un file IFC.",T4i="Si \xE8 sicuri di voler lasciare questa pagina? \xC8 possibile che alcune informazioni non siano state ancora convalidate.",F4i="S\xEC, uscire da questa pagina",_4i="Annulla, rimanere a questa pagina",U4i={tooltip:y4i,title:w4i,start:b4i,description:I4i,select_storey:B4i,import_file:E4i,location:x4i,scale:k4i,rotation:M4i,alpha:S4i,preview:Q4i,import:"Importare un elemento",from_ged:D4i,from_computer:P4i,no_storey:R4i,no_ifc:L4i,warning:T4i,leave:F4i,stay:_4i},N4i="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='6.52344'%20y='4.25488'%20width='16.1039'%20height='21.7744'%20stroke='%232F374A'/%3e%3crect%20x='3.12646'%20y='13.0261'%20width='14'%20height='20.043'%20transform='rotate(-45%203.12646%2013.0261)'%20fill='%232F374A'/%3e%3cmask%20id='path-3-outside-1_1838_531'%20maskUnits='userSpaceOnUse'%20x='-0.414214'%20y='-0.414216'%20width='31.1127'%20height='31.1127'%20fill='black'%3e%3crect%20fill='white'%20x='-0.414214'%20y='-0.414216'%20width='31.1127'%20height='31.1127'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.41421%2013.0208L4.35876%2014.9654L5.06586%2014.2582L3.82843%2013.0208L5.15425%2011.695L4.44715%2010.9879L2.41421%2013.0208ZM5.68458%209.75044L6.39169%2010.4576L10.4576%206.39169L9.75045%205.68458L5.68458%209.75044ZM10.9879%204.44714L11.695%205.15425L13.0208%203.82842L14.2583%205.06586L14.9654%204.35875L13.0208%202.41421L10.9879%204.44714ZM16.026%205.41942L15.3189%206.12652L19.208%2010.0156L19.9151%209.3085L16.026%205.41942ZM20.9758%2010.3692L20.2687%2011.0763L24.1577%2014.9654L24.8649%2014.2582L20.9758%2010.3692ZM25.9255%2015.3189L25.2184%2016.026L26.4558%2017.2635L25.13%2018.5893L25.8371%2019.2964L27.8701%2017.2635L25.9255%2015.3189ZM24.5997%2020.5338L23.8926%2019.8267L19.8267%2023.8926L20.5338%2024.5997L24.5997%2020.5338ZM19.2964%2025.8371L18.5893%2025.13L17.2635%2026.4558L16.026%2025.2184L15.3189%2025.9255L17.2635%2027.8701L19.2964%2025.8371ZM14.2583%2024.8649L14.9654%2024.1577L11.0763%2020.2687L10.3692%2020.9758L14.2583%2024.8649ZM9.3085%2019.9151L10.0156%2019.208L6.12652%2015.3189L5.41942%2016.026L9.3085%2019.9151Z'/%3e%3cpath%20d='M1%2013.0208L3.12132%2010.8995L5.24264%2013.0208L3.12132%2015.1421L1%2013.0208Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.12132%2012.3137L2.41421%2013.0208L3.12132%2013.7279L3.82843%2013.0208L3.12132%2012.3137ZM1%2013.0208L3.12132%2015.1421L5.24264%2013.0208L3.12132%2010.8995L1%2013.0208Z'/%3e%3cpath%20d='M10.8995%203.12132L13.0208%200.999998L15.1421%203.12132L13.0208%205.24264L10.8995%203.12132Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0208%202.41421L12.3137%203.12132L13.0208%203.82842L13.7279%203.12132L13.0208%202.41421ZM10.8995%203.12132L13.0208%205.24264L15.1421%203.12132L13.0208%200.999998L10.8995%203.12132Z'/%3e%3cpath%20d='M25.0416%2017.2635L27.163%2015.1421L29.2843%2017.2635L27.163%2019.3848L25.0416%2017.2635Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.163%2016.5563L26.4558%2017.2635L27.163%2017.9706L27.8701%2017.2635L27.163%2016.5563ZM25.0416%2017.2635L27.163%2019.3848L29.2843%2017.2635L27.163%2015.1421L25.0416%2017.2635Z'/%3e%3cpath%20d='M15.1421%2027.1629L17.2635%2025.0416L19.3848%2027.1629L17.2635%2029.2843L15.1421%2027.1629Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.2635%2026.4558L16.5563%2027.1629L17.2635%2027.8701L17.9706%2027.1629L17.2635%2026.4558ZM15.1421%2027.1629L17.2635%2029.2843L19.3848%2027.1629L17.2635%2025.0416L15.1421%2027.1629Z'/%3e%3c/mask%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.41421%2013.0208L4.35876%2014.9654L5.06586%2014.2582L3.82843%2013.0208L5.15425%2011.695L4.44715%2010.9879L2.41421%2013.0208ZM5.68458%209.75044L6.39169%2010.4576L10.4576%206.39169L9.75045%205.68458L5.68458%209.75044ZM10.9879%204.44714L11.695%205.15425L13.0208%203.82842L14.2583%205.06586L14.9654%204.35875L13.0208%202.41421L10.9879%204.44714ZM16.026%205.41942L15.3189%206.12652L19.208%2010.0156L19.9151%209.3085L16.026%205.41942ZM20.9758%2010.3692L20.2687%2011.0763L24.1577%2014.9654L24.8649%2014.2582L20.9758%2010.3692ZM25.9255%2015.3189L25.2184%2016.026L26.4558%2017.2635L25.13%2018.5893L25.8371%2019.2964L27.8701%2017.2635L25.9255%2015.3189ZM24.5997%2020.5338L23.8926%2019.8267L19.8267%2023.8926L20.5338%2024.5997L24.5997%2020.5338ZM19.2964%2025.8371L18.5893%2025.13L17.2635%2026.4558L16.026%2025.2184L15.3189%2025.9255L17.2635%2027.8701L19.2964%2025.8371ZM14.2583%2024.8649L14.9654%2024.1577L11.0763%2020.2687L10.3692%2020.9758L14.2583%2024.8649ZM9.3085%2019.9151L10.0156%2019.208L6.12652%2015.3189L5.41942%2016.026L9.3085%2019.9151Z'%20fill='%232F374A'/%3e%3cpath%20d='M1%2013.0208L3.12132%2010.8995L5.24264%2013.0208L3.12132%2015.1421L1%2013.0208Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.12132%2012.3137L2.41421%2013.0208L3.12132%2013.7279L3.82843%2013.0208L3.12132%2012.3137ZM1%2013.0208L3.12132%2015.1421L5.24264%2013.0208L3.12132%2010.8995L1%2013.0208Z'%20fill='%232F374A'/%3e%3cpath%20d='M10.8995%203.12132L13.0208%200.999998L15.1421%203.12132L13.0208%205.24264L10.8995%203.12132Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0208%202.41421L12.3137%203.12132L13.0208%203.82842L13.7279%203.12132L13.0208%202.41421ZM10.8995%203.12132L13.0208%205.24264L15.1421%203.12132L13.0208%200.999998L10.8995%203.12132Z'%20fill='%232F374A'/%3e%3cpath%20d='M25.0416%2017.2635L27.163%2015.1421L29.2843%2017.2635L27.163%2019.3848L25.0416%2017.2635Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.163%2016.5563L26.4558%2017.2635L27.163%2017.9706L27.8701%2017.2635L27.163%2016.5563ZM25.0416%2017.2635L27.163%2019.3848L29.2843%2017.2635L27.163%2015.1421L25.0416%2017.2635Z'%20fill='%232F374A'/%3e%3cpath%20d='M15.1421%2027.1629L17.2635%2025.0416L19.3848%2027.1629L17.2635%2029.2843L15.1421%2027.1629Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.2635%2026.4558L16.5563%2027.1629L17.2635%2027.8701L17.9706%2027.1629L17.2635%2026.4558ZM15.1421%2027.1629L17.2635%2029.2843L19.3848%2027.1629L17.2635%2025.0416L15.1421%2027.1629Z'%20fill='%232F374A'/%3e%3cpath%20d='M1%2013.0208L0.646447%2012.6673L0.292893%2013.0208L0.646447%2013.3744L1%2013.0208ZM3.12132%2010.8995L3.47487%2010.5459L3.12132%2010.1924L2.76777%2010.5459L3.12132%2010.8995ZM5.24264%2013.0208L5.59619%2013.3744L5.94975%2013.0208L5.59619%2012.6673L5.24264%2013.0208ZM3.12132%2015.1421L2.76777%2015.4957L3.12132%2015.8492L3.47487%2015.4957L3.12132%2015.1421ZM10.8995%203.12132L10.5459%202.76776L10.1924%203.12132L10.5459%203.47487L10.8995%203.12132ZM13.0208%200.999998L13.3744%200.646445L13.0208%200.292891L12.6673%200.646445L13.0208%200.999998ZM15.1421%203.12132L15.4957%203.47487L15.8492%203.12132L15.4957%202.76776L15.1421%203.12132ZM13.0208%205.24264L12.6673%205.59619L13.0208%205.94975L13.3744%205.59619L13.0208%205.24264ZM25.0416%2017.2635L24.6881%2016.9099L24.3345%2017.2635L24.6881%2017.617L25.0416%2017.2635ZM27.163%2015.1421L27.5165%2014.7886L27.163%2014.435L26.8094%2014.7886L27.163%2015.1421ZM29.2843%2017.2635L29.6378%2017.617L29.9914%2017.2635L29.6378%2016.9099L29.2843%2017.2635ZM27.163%2019.3848L26.8094%2019.7383L27.163%2020.0919L27.5165%2019.7383L27.163%2019.3848ZM15.1421%2027.1629L14.7886%2026.8094L14.435%2027.1629L14.7886%2027.5165L15.1421%2027.1629ZM17.2635%2025.0416L17.617%2024.6881L17.2635%2024.3345L16.9099%2024.6881L17.2635%2025.0416ZM19.3848%2027.1629L19.7383%2027.5165L20.0919%2027.1629L19.7383%2026.8094L19.3848%2027.1629ZM17.2635%2029.2843L16.9099%2029.6378L17.2635%2029.9914L17.617%2029.6378L17.2635%2029.2843ZM1.35355%2013.3744L3.47487%2011.253L2.76777%2010.5459L0.646447%2012.6673L1.35355%2013.3744ZM2.76777%2011.253L4.88909%2013.3744L5.59619%2012.6673L3.47487%2010.5459L2.76777%2011.253ZM4.88909%2012.6673L2.76777%2014.7886L3.47487%2015.4957L5.59619%2013.3744L4.88909%2012.6673ZM3.47487%2014.7886L1.35355%2012.6673L0.646447%2013.3744L2.76777%2015.4957L3.47487%2014.7886ZM11.253%203.47487L13.3744%201.35355L12.6673%200.646445L10.5459%202.76776L11.253%203.47487ZM12.6673%201.35355L14.7886%203.47487L15.4957%202.76776L13.3744%200.646445L12.6673%201.35355ZM14.7886%202.76776L12.6673%204.88909L13.3744%205.59619L15.4957%203.47487L14.7886%202.76776ZM13.3744%204.88909L11.253%202.76776L10.5459%203.47487L12.6673%205.59619L13.3744%204.88909ZM25.3952%2017.617L27.5165%2015.4957L26.8094%2014.7886L24.6881%2016.9099L25.3952%2017.617ZM26.8094%2015.4957L28.9307%2017.617L29.6378%2016.9099L27.5165%2014.7886L26.8094%2015.4957ZM28.9307%2016.9099L26.8094%2019.0312L27.5165%2019.7383L29.6378%2017.617L28.9307%2016.9099ZM27.5165%2019.0312L25.3952%2016.9099L24.6881%2017.617L26.8094%2019.7383L27.5165%2019.0312ZM15.4957%2027.5165L17.617%2025.3952L16.9099%2024.6881L14.7886%2026.8094L15.4957%2027.5165ZM16.9099%2025.3952L19.0312%2027.5165L19.7383%2026.8094L17.617%2024.6881L16.9099%2025.3952ZM19.0312%2026.8094L16.9099%2028.9307L17.617%2029.6378L19.7383%2027.5165L19.0312%2026.8094ZM17.617%2028.9307L15.4957%2026.8094L14.7886%2027.5165L16.9099%2029.6378L17.617%2028.9307ZM2.41421%2013.0208L1.70711%2012.3137L1%2013.0208L1.70711%2013.7279L2.41421%2013.0208ZM4.35876%2014.9654L3.65165%2015.6725L4.35876%2016.3796L5.06586%2015.6725L4.35876%2014.9654ZM5.06586%2014.2582L5.77297%2014.9654L6.48008%2014.2582L5.77297%2013.5511L5.06586%2014.2582ZM5.15425%2011.695L5.86136%2012.4021L6.56847%2011.695L5.86136%2010.9879L5.15425%2011.695ZM4.44715%2010.9879L5.15425%2010.2808L4.44715%209.57367L3.74004%2010.2808L4.44715%2010.9879ZM5.68458%209.75044L4.97748%209.04334L4.27037%209.75044L4.97748%2010.4576L5.68458%209.75044ZM6.39169%2010.4576L5.68458%2011.1647L6.39169%2011.8718L7.0988%2011.1647L6.39169%2010.4576ZM10.4576%206.39169L11.1647%207.09879L11.8718%206.39169L11.1647%205.68458L10.4576%206.39169ZM9.75045%205.68458L10.4576%204.97747L9.75045%204.27037L9.04334%204.97747L9.75045%205.68458ZM10.9879%204.44714L10.2808%203.74004L9.57367%204.44714L10.2808%205.15425L10.9879%204.44714ZM11.695%205.15425L10.9879%205.86136L11.695%206.56846L12.4021%205.86136L11.695%205.15425ZM14.2583%205.06586L13.5511%205.77297L14.2583%206.48008L14.9654%205.77297L14.2583%205.06586ZM14.9654%204.35875L15.6725%205.06586L16.3796%204.35875L15.6725%203.65165L14.9654%204.35875ZM13.0208%202.41421L13.7279%201.7071L13.0208%200.999998L12.3137%201.7071L13.0208%202.41421ZM16.026%205.41942L16.7331%204.71231L16.026%204.0052L15.3189%204.71231L16.026%205.41942ZM15.3189%206.12652L14.6118%205.41942L13.9047%206.12652L14.6118%206.83363L15.3189%206.12652ZM19.208%2010.0156L18.5009%2010.7227L19.208%2011.4298L19.9151%2010.7227L19.208%2010.0156ZM19.9151%209.3085L20.6222%2010.0156L21.3293%209.3085L20.6222%208.6014L19.9151%209.3085ZM20.9758%2010.3692L21.6829%209.66206L20.9758%208.95495L20.2687%209.66206L20.9758%2010.3692ZM20.2687%2011.0763L19.5616%2010.3692L18.8544%2011.0763L19.5616%2011.7834L20.2687%2011.0763ZM24.1577%2014.9654L23.4506%2015.6725L24.1577%2016.3796L24.8649%2015.6725L24.1577%2014.9654ZM24.8649%2014.2582L25.572%2014.9654L26.2791%2014.2582L25.572%2013.5511L24.8649%2014.2582ZM25.9255%2015.3189L26.6326%2014.6118L25.9255%2013.9047L25.2184%2014.6118L25.9255%2015.3189ZM25.2184%2016.026L24.5113%2015.3189L23.8042%2016.026L24.5113%2016.7331L25.2184%2016.026ZM25.13%2018.5893L24.4229%2017.8822L23.7158%2018.5893L24.4229%2019.2964L25.13%2018.5893ZM25.8371%2019.2964L25.13%2020.0035L25.8371%2020.7106L26.5442%2020.0035L25.8371%2019.2964ZM27.8701%2017.2635L28.5772%2017.9706L29.2843%2017.2635L28.5772%2016.5563L27.8701%2017.2635ZM24.5997%2020.5338L25.3068%2021.2409L26.0139%2020.5338L25.3068%2019.8267L24.5997%2020.5338ZM23.8926%2019.8267L24.5997%2019.1196L23.8926%2018.4125L23.1855%2019.1196L23.8926%2019.8267ZM19.8267%2023.8926L19.1196%2023.1855L18.4125%2023.8926L19.1196%2024.5997L19.8267%2023.8926ZM20.5338%2024.5997L19.8267%2025.3068L20.5338%2026.0139L21.2409%2025.3068L20.5338%2024.5997ZM19.2964%2025.8371L20.0035%2026.5442L20.7106%2025.8371L20.0035%2025.13L19.2964%2025.8371ZM18.5893%2025.13L19.2964%2024.4229L18.5893%2023.7158L17.8822%2024.4229L18.5893%2025.13ZM16.026%2025.2184L16.7331%2024.5113L16.026%2023.8042L15.3189%2024.5113L16.026%2025.2184ZM15.3189%2025.9255L14.6118%2025.2184L13.9047%2025.9255L14.6118%2026.6326L15.3189%2025.9255ZM17.2635%2027.8701L16.5563%2028.5772L17.2635%2029.2843L17.9706%2028.5772L17.2635%2027.8701ZM14.2583%2024.8649L13.5511%2025.572L14.2583%2026.2791L14.9654%2025.572L14.2583%2024.8649ZM14.9654%2024.1577L15.6725%2024.8649L16.3796%2024.1577L15.6725%2023.4506L14.9654%2024.1577ZM11.0763%2020.2687L11.7834%2019.5616L11.0763%2018.8544L10.3692%2019.5616L11.0763%2020.2687ZM10.3692%2020.9758L9.66206%2020.2687L8.95495%2020.9758L9.66206%2021.6829L10.3692%2020.9758ZM9.3085%2019.9151L8.6014%2020.6222L9.3085%2021.3293L10.0156%2020.6222L9.3085%2019.9151ZM10.0156%2019.208L10.7227%2019.9151L11.4298%2019.208L10.7227%2018.5009L10.0156%2019.208ZM6.12652%2015.3189L6.83363%2014.6118L6.12652%2013.9047L5.41942%2014.6118L6.12652%2015.3189ZM5.41942%2016.026L4.71231%2015.3189L4.0052%2016.026L4.71231%2016.7331L5.41942%2016.026ZM3.12132%2012.3137L3.82843%2011.6066L3.12132%2010.8995L2.41421%2011.6066L3.12132%2012.3137ZM3.12132%2013.7279L2.41421%2014.435L3.12132%2015.1421L3.82843%2014.435L3.12132%2013.7279ZM12.3137%203.12132L11.6066%202.41421L10.8995%203.12132L11.6066%203.82842L12.3137%203.12132ZM13.7279%203.12132L14.435%203.82842L15.1421%203.12132L14.435%202.41421L13.7279%203.12132ZM27.163%2016.5563L27.8701%2015.8492L27.163%2015.1421L26.4558%2015.8492L27.163%2016.5563ZM27.163%2017.9706L26.4558%2018.6777L27.163%2019.3848L27.8701%2018.6777L27.163%2017.9706ZM16.5563%2027.1629L15.8492%2026.4558L15.1421%2027.1629L15.8492%2027.8701L16.5563%2027.1629ZM17.9706%2027.1629L18.6777%2027.8701L19.3848%2027.1629L18.6777%2026.4558L17.9706%2027.1629ZM5.06586%2015.6725L5.77297%2014.9654L4.35876%2013.5511L3.65165%2014.2582L5.06586%2015.6725ZM5.86136%2010.9879L5.15425%2010.2808L3.74004%2011.695L4.44715%2012.4021L5.86136%2010.9879ZM4.97748%2010.4576L5.68458%2011.1647L7.0988%209.75044L6.39169%209.04334L4.97748%2010.4576ZM11.1647%205.68458L10.4576%204.97747L9.04334%206.39169L9.75045%207.09879L11.1647%205.68458ZM10.2808%205.15425L10.9879%205.86136L12.4021%204.44714L11.695%203.74004L10.2808%205.15425ZM14.9654%205.77297L15.6725%205.06586L14.2583%203.65165L13.5511%204.35875L14.9654%205.77297ZM15.3189%204.71231L14.6118%205.41942L16.026%206.83363L16.7331%206.12652L15.3189%204.71231ZM19.9151%2010.7227L20.6222%2010.0156L19.208%208.6014L18.5009%209.3085L19.9151%2010.7227ZM20.2687%209.66206L19.5616%2010.3692L20.9758%2011.7834L21.6829%2011.0763L20.2687%209.66206ZM24.8649%2015.6725L25.572%2014.9654L24.1577%2013.5511L23.4506%2014.2582L24.8649%2015.6725ZM25.2184%2014.6118L24.5113%2015.3189L25.9255%2016.7331L26.6326%2016.026L25.2184%2014.6118ZM24.4229%2019.2964L25.13%2020.0035L26.5442%2018.5893L25.8371%2017.8822L24.4229%2019.2964ZM25.3068%2019.8267L24.5997%2019.1196L23.1855%2020.5338L23.8926%2021.2409L25.3068%2019.8267ZM19.1196%2024.5997L19.8267%2025.3068L21.2409%2023.8926L20.5338%2023.1855L19.1196%2024.5997ZM20.0035%2025.13L19.2964%2024.4229L17.8822%2025.8371L18.5893%2026.5442L20.0035%2025.13ZM15.3189%2024.5113L14.6118%2025.2184L16.026%2026.6326L16.7331%2025.9255L15.3189%2024.5113ZM14.9654%2025.572L15.6725%2024.8649L14.2583%2023.4506L13.5511%2024.1577L14.9654%2025.572ZM10.3692%2019.5616L9.66206%2020.2687L11.0763%2021.6829L11.7834%2020.9758L10.3692%2019.5616ZM10.0156%2020.6222L10.7227%2019.9151L9.3085%2018.5009L8.6014%2019.208L10.0156%2020.6222ZM5.41942%2014.6118L4.71231%2015.3189L6.12652%2016.7331L6.83363%2016.026L5.41942%2014.6118ZM3.12132%2013.7279L5.15425%2011.695L3.74004%2010.2808L1.70711%2012.3137L3.12132%2013.7279ZM5.06586%2014.2582L3.12132%2012.3137L1.70711%2013.7279L3.65165%2015.6725L5.06586%2014.2582ZM5.77297%2013.5511L4.53553%2012.3137L3.12132%2013.7279L4.35876%2014.9654L5.77297%2013.5511ZM4.53553%2013.7279L5.86136%2012.4021L4.44715%2010.9879L3.12132%2012.3137L4.53553%2013.7279ZM7.0988%2011.1647L11.1647%207.09879L9.75045%205.68458L5.68458%209.75044L7.0988%2011.1647ZM6.39169%2010.4576L10.4576%206.39169L9.04334%204.97747L4.97748%209.04334L6.39169%2010.4576ZM12.4021%205.86136L13.7279%204.53553L12.3137%203.12132L10.9879%204.44714L12.4021%205.86136ZM12.3137%204.53553L13.5511%205.77297L14.9654%204.35875L13.7279%203.12132L12.3137%204.53553ZM12.3137%203.12132L14.2583%205.06586L15.6725%203.65165L13.7279%201.7071L12.3137%203.12132ZM11.695%205.15425L13.7279%203.12132L12.3137%201.7071L10.2808%203.74004L11.695%205.15425ZM14.6118%206.83363L18.5009%2010.7227L19.9151%209.3085L16.026%205.41942L14.6118%206.83363ZM15.3189%206.12652L19.208%2010.0156L20.6222%208.6014L16.7331%204.71231L15.3189%206.12652ZM19.5616%2011.7834L23.4506%2015.6725L24.8649%2014.2582L20.9758%2010.3692L19.5616%2011.7834ZM20.2687%2011.0763L24.1577%2014.9654L25.572%2013.5511L21.6829%209.66206L20.2687%2011.0763ZM24.5113%2016.7331L25.7487%2017.9706L27.163%2016.5563L25.9255%2015.3189L24.5113%2016.7331ZM25.7487%2016.5563L24.4229%2017.8822L25.8371%2019.2964L27.163%2017.9706L25.7487%2016.5563ZM27.163%2016.5563L25.13%2018.5893L26.5442%2020.0035L28.5772%2017.9706L27.163%2016.5563ZM25.2184%2016.026L27.163%2017.9706L28.5772%2016.5563L26.6326%2014.6118L25.2184%2016.026ZM23.1855%2019.1196L19.1196%2023.1855L20.5338%2024.5997L24.5997%2020.5338L23.1855%2019.1196ZM23.8926%2019.8267L19.8267%2023.8926L21.2409%2025.3068L25.3068%2021.2409L23.8926%2019.8267ZM17.8822%2024.4229L16.5563%2025.7487L17.9706%2027.1629L19.2964%2025.8371L17.8822%2024.4229ZM17.9706%2025.7487L16.7331%2024.5113L15.3189%2025.9255L16.5563%2027.1629L17.9706%2025.7487ZM17.9706%2027.1629L16.026%2025.2184L14.6118%2026.6326L16.5563%2028.5772L17.9706%2027.1629ZM18.5893%2025.13L16.5563%2027.1629L17.9706%2028.5772L20.0035%2026.5442L18.5893%2025.13ZM15.6725%2023.4506L11.7834%2019.5616L10.3692%2020.9758L14.2583%2024.8649L15.6725%2023.4506ZM14.9654%2024.1577L11.0763%2020.2687L9.66206%2021.6829L13.5511%2025.572L14.9654%2024.1577ZM10.7227%2018.5009L6.83363%2014.6118L5.41942%2016.026L9.3085%2019.9151L10.7227%2018.5009ZM10.0156%2019.208L6.12652%2015.3189L4.71231%2016.7331L8.6014%2020.6222L10.0156%2019.208ZM3.12132%2013.7279L3.82843%2013.0208L2.41421%2011.6066L1.70711%2012.3137L3.12132%2013.7279ZM3.82843%2013.0208L3.12132%2012.3137L1.70711%2013.7279L2.41421%2014.435L3.82843%2013.0208ZM3.12132%2012.3137L2.41421%2013.0208L3.82843%2014.435L4.53553%2013.7279L3.12132%2012.3137ZM2.41421%2013.0208L3.12132%2013.7279L4.53553%2012.3137L3.82843%2011.6066L2.41421%2013.0208ZM13.0208%203.82842L13.7279%203.12132L12.3137%201.7071L11.6066%202.41421L13.0208%203.82842ZM13.7279%203.12132L13.0208%202.41421L11.6066%203.82842L12.3137%204.53553L13.7279%203.12132ZM13.0208%202.41421L12.3137%203.12132L13.7279%204.53553L14.435%203.82842L13.0208%202.41421ZM12.3137%203.12132L13.0208%203.82842L14.435%202.41421L13.7279%201.7071L12.3137%203.12132ZM27.163%2017.9706L27.8701%2017.2635L26.4558%2015.8492L25.7487%2016.5563L27.163%2017.9706ZM27.8701%2017.2635L27.163%2016.5563L25.7487%2017.9706L26.4558%2018.6777L27.8701%2017.2635ZM27.163%2016.5563L26.4558%2017.2635L27.8701%2018.6777L28.5772%2017.9706L27.163%2016.5563ZM26.4558%2017.2635L27.163%2017.9706L28.5772%2016.5563L27.8701%2015.8492L26.4558%2017.2635ZM17.2635%2027.8701L17.9706%2027.1629L16.5563%2025.7487L15.8492%2026.4558L17.2635%2027.8701ZM17.9706%2027.1629L17.2635%2026.4558L15.8492%2027.8701L16.5563%2028.5772L17.9706%2027.1629ZM17.2635%2026.4558L16.5563%2027.1629L17.9706%2028.5772L18.6777%2027.8701L17.2635%2026.4558ZM16.5563%2027.1629L17.2635%2027.8701L18.6777%2026.4558L17.9706%2025.7487L16.5563%2027.1629Z'%20fill='white'%20mask='url(%23path-3-outside-1_1838_531)'/%3e%3c/svg%3e",O4i={name:"synchronization",i18n:{de:f3i,en:T3i,es:e4i,fr:C4i,it:U4i},component:Zvi,button:{tooltip:"synchronization.tooltip",position:"right",stance:1,content:"free",keepOpen:!0,icon:{imgUri:N4i}}},H4i={name:"PointCloudViewer",components:{Annotations:$2e},data(){const{settings:t}=this.$plugin;return{settings:t,canvasId:null,spinnerCanvasId:null,xeokitCreated:!1,loadedModels:[],tilesets:new Map,sensitivity:200,fov:90,annotationMode:!1,modelHeaderShown:t.modelLoader!=="hidden",navCubeVisible:t.navCube!==!1,loading:!1}},watch:{sensitivity(t){this.tilesetLoaderPlugin&&(this.tilesetLoaderPlugin.sensitivity=t)},fov(t){this.xeokit.camera.perspective.fov=t}},created(){this.canvasId=`canvas-id-${this.$viewer.localContext.id}`,this.spinnerCanvasId=`spinner-canvas-id-${this.$viewer.localContext.id}`,this.navCubeCanvasId=`nav-cube-canvas-id-${this.$viewer.localContext.id}`,this.xeokitSdk=x1},mounted(){const t=new Yge({canvasId:this.canvasId,transparent:!0,spinnerElementId:this.spinnerCanvasId,backgroundColorFromAmbientLight:!1});t.cameraControl.doublePickFlyTo=!1,t.cameraControl.panRightClick=!1,t.cameraControl.followPointer=!0,t.cameraControl.smartPivot=!0,this.settings.pivotMarker!==!1&&t.cameraControl.enablePivotSphere({size:1,color:[.25,.25,.25]}),t.cameraControl.touchDollyRate=1,t.cameraControl.mouseWheelDollyRate=60,t.cameraControl.keyboardDollyRate=20,t.cameraControl.dragRotationRate=450,t.cameraControl.rotationInertia=0,t.cameraControl.dollyInertia=0,t.camera.perspective.near=.1,t.camera.perspective.far=1e3,t.camera.ortho.near=.1,t.camera.ortho.far=1e3,this.bcfViewpointsPlugin=new KQ(t,{originatingSystem:"BIMDataViewer/v1.0",authoringTool:"BIMData.io"}),this.distanceMeasurementsPlugin=new Ege(t,{defaultAxisVisible:!1,container:this.$el,zIndex:0}),this.angleMeasurementsPlugin=new iQ(t,{container:this.$el,zIndex:0}),this.tilesetLoaderPlugin=new Z2e(t,{sensitivity:this.sensitivity,debugMode:!1}),this.navCubeVisible&&(this.navCube=new gq(t,{canvasId:this.navCubeCanvasId,visible:!1,cameraFly:!0,cameraFitFOV:45,cameraFlyDuration:.5,color:"#FFFFFF"})),this.xeokit=t,this.xeokitCreated=!0,window.xeokitPointCloud=this.xeokit},beforeUnmount(){var t;(t=this.xeokit)==null||t.destroy()},methods:{async loadModels(t){var e;this.loading=!0,this.loadedModels.push(...t.filter(s=>!this.loadedModels.some(a=>a.id===s.id)));const{apiUrl:i,cloudId:r,projectId:o,accessToken:n}=this.$viewer.api;t.forEach(async(s,a)=>{try{this.$viewer.localContext.loadingProcessStart();const l=await(await fetch(`${i}/cloud/${r}/project/${o}/model/${s.id}/tileset?tile_format=xkt`,{headers:new Headers({Authorization:`Bearer ${n}`})})).json();l.name=String(s.id);const c=this.tilesetLoaderPlugin.load(l);this.tilesets.set(s,c);const d={model:s,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-loaded",d),this.$viewer.globalContext.hub.emit("pointcloud-model-loaded",d),a===0&&!this.viewpointPending&&this.xeokit.cameraFlight.flyTo()}catch(l){console.error("Error while loading Tileset ",s.id,"with error: ",l),this.loadedModels=this.loadedModels.filter(c=>c.id!==s.id)}finally{this.$viewer.localContext.loadingProcessEnd(),this.loading=!1}}),this.loadedModels.length>0&&((e=this.navCube)==null||e.setVisible(!0))},unloadModels(t){var e;const i=t.map(r=>this.tilesets.get(r)).filter(Boolean);t.forEach(r=>this.tilesets.delete(r)),i.forEach(r=>r.destroy()),this.loadedModels=this.loadedModels.filter(r=>!t.find(o=>o.id===r.id)),t.forEach(r=>{const o={model:r,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-unloaded",o),this.$viewer.globalContext.hub.emit("pointcloud-model-unloaded",o)}),this.loadedModels.length===0&&((e=this.navCube)==null||e.setVisible(!1))},fitView(){this.xeokit.cameraFlight.flyTo()},async getSnapshot(){return{snapshot_type:"png",snapshot_data:await this.xeokit.getSnapshotWithPlugins({format:"png"})}},getViewpoint(){const t=this.bcfViewpointsPlugin.getViewpoint({snapshot:!1});return t.order=2,t.originating_system="pointCloud",t.models=this.$viewer.localContext.loadedModels.map(e=>e.id),t},async setViewpoint(t,{immediate:e=!1,duration:i=.3}={}){if(this.loading){this.viewpointPending=!0;let r=null;await new Promise(o=>{r=this.$watch("loading",n=>{n||o()},{immediate:!0})}),r(),this.viewpointPending=!1}await new Promise(r=>setTimeout(r,200)),this.bcfViewpointsPlugin.setViewpoint(t,{rayCast:!1,immediate:e,duration:i})},startAnnotationMode(t){if(this.annotationMode)return;this.annotationMode=!0;const e=this.xeokit.scene.canvas.canvas;this.canvasCursor=e.style.cursor,e.style.cursor="copy",this.annotationListener=this.xeokit.scene.input.on("mouseclicked",i=>{const r=this.xeokit.scene.pick({pickSurface:!0,canvasPos:i});if(r){const[o,n,s]=r.worldPos;t({x:o,y:s,z:n,models:this.$viewer.localContext.loadedModels})}})},stopAnnotationMode(){this.annotationMode&&(this.annotationMode=!1,this.xeokit.scene.canvas.canvas.style.cursor=this.canvasCursor,this.xeokit.scene.input.off(this.annotationListener))},showUI(){this.modelHeaderShown=this.settings.modelLoader!=="hidden",this.navCubeVisible=this.settings.navCube!==!1},hideUI(){this.modelHeaderShown=!1,this.navCubeVisible=!1}}},V4i={class:"bimdata-viewer-point-cloud"},G4i={ref:"header",class:"bimdata-viewer-point-cloud__header"},j4i=["id"],z4i=["id"],q4i=["id"];function K4i(t,e,i,r,o,n){const s=R("NoModelWindowPlaceHolder"),a=R("ModelsLoader"),l=R("Annotations");return Q(),N("div",V4i,[o.loadedModels.length===0?(Q(),te(s,{key:0})):fe("",!0),B("div",G4i,[o.settings.modelLoader!=="disabled"?Ft((Q(),te(a,{key:0,"window-positioning":!1,preview:""},null,512)),[[vi,o.modelHeaderShown]]):fe("",!0)],512),B("canvas",{id:o.canvasId,class:"bimdata-viewer-point-cloud__viewer",onWheel:e[0]||(e[0]=Tt(()=>{},["prevent"]))},null,40,j4i),o.xeokitCreated?(Q(),te(l,{key:1})):fe("",!0),Ft(B("canvas",{id:t.navCubeCanvasId,class:"bimdata-viewer-point-cloud__nav-cube"},null,8,z4i),[[vi,o.navCubeVisible]]),B("div",{id:o.spinnerCanvasId},null,8,q4i)])}const J4i=K(H4i,[["render",K4i],["__scopeId","data-v-5ec618d4"]]),Y4i="data:image/svg+xml,%3csvg%20width='29'%20height='28'%20viewBox='0%200%2029%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.61725%209.64469L13.0214%202.20528L13.03%207.28128L13.034%209.63208L5.61725%209.64469ZM25.4847%202.79589C25.4821%201.25822%2024.2376%200.00224431%2022.702%200.00485529L11.5341%200.0238442L3.17246%208.42535L3.20099%2025.1999C3.2036%2026.7375%204.46169%2027.9935%205.99771%2027.9909L22.7635%2027.9624C24.2991%2027.9598%2025.5393%2026.6996%2025.5367%2025.1619L25.4847%202.79589Z'%20fill='%232F374A'/%3e%3crect%20y='12.1958'%20width='28.001'%20height='14.6092'%20rx='1'%20transform='rotate(-0.097421%200%2012.1958)'%20fill='%23E544FF'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.1933%2014.0615C13.3783%2014.0615%2013.5282%2013.9114%2013.5282%2013.7262C13.5282%2013.541%2013.3783%2013.3909%2013.1933%2013.3909C13.0083%2013.3909%2012.8584%2013.541%2012.8584%2013.7262C12.8584%2013.9114%2013.0084%2014.0615%2013.1933%2014.0615ZM11.8911%2014.7695C11.8911%2014.9547%2011.7411%2015.1048%2011.5562%2015.1048C11.3712%2015.1048%2011.2213%2014.9547%2011.2213%2014.7695C11.2213%2014.5843%2011.3712%2014.4341%2011.5562%2014.4341C11.7411%2014.4341%2011.8911%2014.5843%2011.8911%2014.7695ZM15.9351%2014.4664C15.78%2014.412%2015.6101%2014.4938%2015.5558%2014.6492C15.5014%2014.8045%2015.5831%2014.9746%2015.7382%2015.0291L18.6786%2016.1209L14.4692%2018.42L11.3925%2017.3811C11.2367%2017.3285%2011.0678%2017.4123%2011.0153%2017.5683C10.9627%2017.7243%2011.0464%2017.8934%2011.2022%2017.946L14.1997%2018.9582L14.1997%2024.8387L11.4366%2023.8296C11.2821%2023.7732%2011.1112%2023.8529%2011.0549%2024.0075C10.9986%2024.1622%2011.0781%2024.3333%2011.2326%2024.3897L14.3954%2025.5448C14.4786%2025.5752%2014.571%2025.5669%2014.6474%2025.5222L19.5592%2022.6532C19.6506%2022.5997%2019.7068%2022.5017%2019.7068%2022.3957L19.7068%2016.0614C19.7068%2015.9347%2019.6269%2015.8219%2019.5076%2015.7801L15.9351%2014.4664ZM14.7951%2018.9211L19.1115%2016.5635L19.1115%2022.2245L14.7951%2024.7458L14.7951%2018.9211ZM10.4397%2017.564C10.6246%2017.564%2010.7746%2017.4139%2010.7746%2017.2287C10.7746%2017.0435%2010.6246%2016.8934%2010.4397%2016.8934C10.2547%2016.8934%2010.1048%2017.0435%2010.1048%2017.2287C10.1048%2017.4139%2010.2547%2017.564%2010.4397%2017.564ZM9.88169%2016.9306C9.8817%2017.1158%209.73176%2017.2659%209.5468%2017.2659C9.36185%2017.2659%209.21191%2017.1158%209.21191%2016.9306C9.21191%2016.7454%209.36185%2016.5952%209.5468%2016.5952C9.73176%2016.5952%209.88169%2016.7454%209.88169%2016.9306ZM8.65364%2016.8932C8.8386%2016.8932%208.98853%2016.7431%208.98853%2016.5579C8.98853%2016.3727%208.8386%2016.2225%208.65364%2016.2225C8.46869%2016.2225%208.31875%2016.3727%208.31875%2016.5579C8.31875%2016.7431%208.46868%2016.8932%208.65364%2016.8932ZM9.95585%2015.9619C9.95585%2016.1471%209.80592%2016.2973%209.62096%2016.2973C9.43601%2016.2973%209.28607%2016.1471%209.28607%2015.9619C9.28607%2015.7767%209.436%2015.6266%209.62096%2015.6266C9.80592%2015.6266%209.95585%2015.7767%209.95585%2015.9619ZM10.5884%2015.7007C10.7734%2015.7007%2010.9233%2015.5506%2010.9233%2015.3654C10.9233%2015.1802%2010.7734%2015.03%2010.5884%2015.03C10.4035%2015.03%2010.2535%2015.1802%2010.2535%2015.3654C10.2535%2015.5506%2010.4035%2015.7007%2010.5884%2015.7007ZM14.456%2014.0531C14.456%2014.2384%2014.306%2014.3885%2014.1211%2014.3885C13.9361%2014.3885%2013.7862%2014.2384%2013.7862%2014.0531C13.7862%2013.8679%2013.9361%2013.7178%2014.1211%2013.7178C14.306%2013.7178%2014.456%2013.8679%2014.456%2014.0531ZM12.3748%2014.5832C12.5597%2014.5832%2012.7096%2014.433%2012.7096%2014.2478C12.7096%2014.0626%2012.5597%2013.9125%2012.3747%2013.9125C12.1898%2013.9125%2012.0399%2014.0626%2012.0399%2014.2478C12.0399%2014.433%2012.1898%2014.5832%2012.3748%2014.5832ZM8.98853%2017.6011C8.98853%2017.7863%208.83859%2017.9365%208.65364%2017.9365C8.46868%2017.9365%208.31875%2017.7863%208.31875%2017.6011C8.31875%2017.4159%208.46869%2017.2658%208.65364%2017.2658C8.8386%2017.2658%208.98853%2017.4159%208.98853%2017.6011ZM8.65364%2018.9797C8.83859%2018.9797%208.98853%2018.8296%208.98853%2018.6444C8.98853%2018.4592%208.8386%2018.309%208.65364%2018.309C8.46869%2018.309%208.31875%2018.4592%208.31875%2018.6444C8.31875%2018.8296%208.46868%2018.9797%208.65364%2018.9797ZM8.98853%2019.6876C8.98853%2019.8728%208.83859%2020.023%208.65364%2020.023C8.46868%2020.023%208.31875%2019.8728%208.31875%2019.6876C8.31875%2019.5024%208.46869%2019.3523%208.65364%2019.3523C8.8386%2019.3523%208.98853%2019.5024%208.98853%2019.6876ZM8.65364%2021.0665C8.8386%2021.0665%208.98853%2020.9164%208.98853%2020.7312C8.98853%2020.546%208.8386%2020.3958%208.65364%2020.3958C8.46869%2020.3958%208.31875%2020.546%208.31875%2020.7312C8.31875%2020.9164%208.46868%2021.0665%208.65364%2021.0665ZM8.98853%2021.7744C8.98853%2021.9597%208.83859%2022.1098%208.65364%2022.1098C8.46868%2022.1098%208.31875%2021.9597%208.31875%2021.7745C8.31875%2021.5892%208.46869%2021.4391%208.65364%2021.4391C8.8386%2021.4391%208.98853%2021.5892%208.98853%2021.7744ZM8.65364%2023.1531C8.83859%2023.1531%208.98853%2023.0029%208.98853%2022.8177C8.98853%2022.6325%208.8386%2022.4824%208.65364%2022.4824C8.46869%2022.4824%208.31875%2022.6325%208.31875%2022.8177C8.31875%2023.0029%208.46868%2023.1531%208.65364%2023.1531ZM9.88169%2023.3393C9.8817%2023.5245%209.73176%2023.6747%209.5468%2023.6747C9.36185%2023.6747%209.21191%2023.5245%209.21191%2023.3393C9.21191%2023.1541%209.36185%2023.004%209.5468%2023.004C9.73176%2023.004%209.88169%2023.1541%209.88169%2023.3393ZM10.4397%2023.9728C10.6246%2023.9728%2010.7746%2023.8227%2010.7746%2023.6375C10.7746%2023.4523%2010.6246%2023.3021%2010.4397%2023.3021C10.2547%2023.3021%2010.1048%2023.4523%2010.1048%2023.6375C10.1048%2023.8227%2010.2547%2023.9728%2010.4397%2023.9728ZM10.8575%2016.3028C10.8575%2016.4881%2010.7076%2016.6382%2010.5226%2016.6382C10.3376%2016.6382%2010.1877%2016.488%2010.1877%2016.3028C10.1877%2016.1176%2010.3376%2015.9675%2010.5226%2015.9675C10.7075%2015.9675%2010.8575%2016.1176%2010.8575%2016.3028ZM11.4899%2016.0417C11.6749%2016.0417%2011.8248%2015.8915%2011.8248%2015.7063C11.8248%2015.5211%2011.6749%2015.371%2011.4899%2015.371C11.305%2015.371%2011.155%2015.5211%2011.155%2015.7063C11.155%2015.8915%2011.305%2016.0417%2011.4899%2016.0417ZM12.7926%2015.1104C12.7926%2015.2956%2012.6426%2015.4457%2012.4577%2015.4457C12.2727%2015.4457%2012.1228%2015.2956%2012.1228%2015.1104C12.1228%2014.9252%2012.2727%2014.775%2012.4577%2014.775C12.6426%2014.775%2012.7926%2014.9252%2012.7926%2015.1104ZM13.2762%2014.9241C13.4612%2014.9241%2013.6111%2014.774%2013.6111%2014.5887C13.6111%2014.4035%2013.4612%2014.2534%2013.2762%2014.2534C13.0913%2014.2534%2012.9413%2014.4035%2012.9413%2014.5887C12.9413%2014.774%2013.0913%2014.9241%2013.2762%2014.9241ZM11.6695%2016.732C11.6695%2016.9172%2011.5196%2017.0674%2011.3346%2017.0674C11.1497%2017.0674%2010.9997%2016.9172%2010.9997%2016.732C10.9997%2016.5468%2011.1497%2016.3967%2011.3346%2016.3967C11.5196%2016.3967%2011.6695%2016.5468%2011.6695%2016.732ZM12.3021%2016.4711C12.487%2016.4711%2012.637%2016.321%2012.637%2016.1358C12.637%2015.9506%2012.487%2015.8005%2012.3021%2015.8005C12.1171%2015.8005%2011.9672%2015.9506%2011.9672%2016.1358C11.9672%2016.321%2012.1171%2016.4711%2012.3021%2016.4711ZM13.6047%2015.5399C13.6047%2015.7251%2013.4548%2015.8752%2013.2698%2015.8752C13.0849%2015.8752%2012.935%2015.7251%2012.935%2015.5399C12.935%2015.3547%2013.0849%2015.2045%2013.2698%2015.2045C13.4548%2015.2045%2013.6047%2015.3547%2013.6047%2015.5399ZM14.0883%2015.3533C14.2732%2015.3533%2014.4231%2015.2031%2014.4231%2015.0179C14.4231%2014.8327%2014.2732%2014.6826%2014.0883%2014.6826C13.9033%2014.6826%2013.7534%2014.8327%2013.7534%2015.0179C13.7534%2015.2031%2013.9033%2015.3533%2014.0883%2015.3533ZM15.2991%2014.4927C15.2991%2014.678%2015.1491%2014.8281%2014.9642%2014.8281C14.7792%2014.8281%2014.6293%2014.678%2014.6293%2014.4927C14.6293%2014.3075%2014.7792%2014.1574%2014.9642%2014.1574C15.1491%2014.1574%2015.2991%2014.3075%2015.2991%2014.4927ZM9.56761%2018.3508C9.75257%2018.3508%209.9025%2018.2007%209.9025%2018.0155C9.9025%2017.8302%209.75257%2017.6801%209.56761%2017.6801C9.38265%2017.6801%209.23272%2017.8302%209.23272%2018.0155C9.23272%2018.2007%209.38266%2018.3508%209.56761%2018.3508ZM9.9025%2019.0587C9.9025%2019.2439%209.75257%2019.3941%209.56761%2019.3941C9.38266%2019.3941%209.23272%2019.2439%209.23272%2019.0587C9.23272%2018.8735%209.38265%2018.7234%209.56761%2018.7234C9.75257%2018.7234%209.9025%2018.8735%209.9025%2019.0587ZM9.56761%2020.4373C9.75257%2020.4373%209.9025%2020.2872%209.9025%2020.102C9.9025%2019.9168%209.75257%2019.7666%209.56761%2019.7666C9.38265%2019.7666%209.23272%2019.9168%209.23272%2020.102C9.23272%2020.2872%209.38266%2020.4373%209.56761%2020.4373ZM9.9025%2021.1452C9.9025%2021.3304%209.75257%2021.4806%209.56761%2021.4806C9.38266%2021.4806%209.23272%2021.3304%209.23272%2021.1452C9.23272%2020.96%209.38265%2020.8099%209.56761%2020.8099C9.75257%2020.8099%209.9025%2020.96%209.9025%2021.1452ZM9.56761%2022.5241C9.75257%2022.5241%209.9025%2022.374%209.9025%2022.1888C9.9025%2022.0036%209.75257%2021.8534%209.56761%2021.8534C9.38265%2021.8534%209.23272%2022.0036%209.23272%2022.1888C9.23272%2022.374%209.38266%2022.5241%209.56761%2022.5241ZM10.8163%2018.4729C10.8163%2018.6581%2010.6664%2018.8082%2010.4814%2018.8082C10.2965%2018.8082%2010.1465%2018.6581%2010.1465%2018.4729C10.1465%2018.2877%2010.2965%2018.1375%2010.4814%2018.1375C10.6664%2018.1375%2010.8163%2018.2877%2010.8163%2018.4729ZM10.4814%2019.8515C10.6664%2019.8515%2010.8163%2019.7013%2010.8163%2019.5161C10.8163%2019.3309%2010.6664%2019.1808%2010.4814%2019.1808C10.2965%2019.1808%2010.1465%2019.3309%2010.1465%2019.5161C10.1465%2019.7013%2010.2965%2019.8515%2010.4814%2019.8515ZM10.8163%2020.5594C10.8163%2020.7446%2010.6664%2020.8947%2010.4814%2020.8947C10.2965%2020.8947%2010.1465%2020.7446%2010.1465%2020.5594C10.1465%2020.3742%2010.2965%2020.2241%2010.4814%2020.2241C10.6664%2020.2241%2010.8163%2020.3742%2010.8163%2020.5594ZM10.4814%2021.9383C10.6664%2021.9383%2010.8163%2021.7882%2010.8163%2021.603C10.8163%2021.4178%2010.6664%2021.2676%2010.4814%2021.2676C10.2965%2021.2676%2010.1465%2021.4177%2010.1465%2021.603C10.1465%2021.7882%2010.2965%2021.9383%2010.4814%2021.9383ZM10.8163%2022.6462C10.8163%2022.8314%2010.6664%2022.9816%2010.4814%2022.9816C10.2965%2022.9816%2010.1465%2022.8314%2010.1465%2022.6462C10.1465%2022.461%2010.2965%2022.3109%2010.4814%2022.3109C10.6664%2022.3109%2010.8163%2022.461%2010.8163%2022.6462ZM12.5057%2017.4918C12.6906%2017.4918%2012.8406%2017.3417%2012.8406%2017.1565C12.8406%2016.9713%2012.6906%2016.8211%2012.5057%2016.8211C12.3207%2016.8211%2012.1708%2016.9713%2012.1708%2017.1565C12.1708%2017.3417%2012.3207%2017.4918%2012.5057%2017.4918ZM13.8082%2016.5602C13.8082%2016.7454%2013.6582%2016.8956%2013.4733%2016.8956C13.2883%2016.8956%2013.1384%2016.7454%2013.1384%2016.5602C13.1384%2016.375%2013.2883%2016.2249%2013.4733%2016.2249C13.6582%2016.2249%2013.8082%2016.375%2013.8082%2016.5602ZM14.4411%2016.2994C14.626%2016.2994%2014.7759%2016.1492%2014.7759%2015.964C14.7759%2015.7788%2014.626%2015.6287%2014.4411%2015.6287C14.2561%2015.6287%2014.1062%2015.7788%2014.1062%2015.964C14.1062%2016.1492%2014.2561%2016.2994%2014.4411%2016.2994ZM15.5945%2015.4424C15.5945%2015.6276%2015.4446%2015.7777%2015.2596%2015.7777C15.0747%2015.7777%2014.9247%2015.6276%2014.9247%2015.4424C14.9247%2015.2572%2015.0747%2015.107%2015.2596%2015.107C15.4446%2015.107%2015.5945%2015.2572%2015.5945%2015.4424ZM11.4966%2019.0986C11.6816%2019.0986%2011.8315%2018.9485%2011.8315%2018.7633C11.8315%2018.5781%2011.6816%2018.4279%2011.4966%2018.4279C11.3116%2018.4279%2011.1617%2018.5781%2011.1617%2018.7633C11.1617%2018.9485%2011.3116%2019.0986%2011.4966%2019.0986ZM11.8315%2019.8065C11.8315%2019.9917%2011.6816%2020.1419%2011.4966%2020.1419C11.3116%2020.1419%2011.1617%2019.9917%2011.1617%2019.8065C11.1617%2019.6213%2011.3116%2019.4712%2011.4966%2019.4712C11.6816%2019.4712%2011.8315%2019.6213%2011.8315%2019.8065ZM11.4966%2021.1851C11.6816%2021.1851%2011.8315%2021.035%2011.8315%2020.8498C11.8315%2020.6646%2011.6816%2020.5144%2011.4966%2020.5144C11.3116%2020.5144%2011.1617%2020.6646%2011.1617%2020.8498C11.1617%2021.035%2011.3116%2021.1851%2011.4966%2021.1851ZM11.8315%2021.8933C11.8315%2022.0786%2011.6816%2022.2287%2011.4966%2022.2287C11.3116%2022.2287%2011.1617%2022.0786%2011.1617%2021.8933C11.1617%2021.7081%2011.3116%2021.558%2011.4966%2021.558C11.6816%2021.558%2011.8315%2021.7081%2011.8315%2021.8933ZM11.4966%2023.272C11.6816%2023.272%2011.8315%2023.1218%2011.8315%2022.9366C11.8315%2022.7514%2011.6816%2022.6013%2011.4966%2022.6013C11.3116%2022.6013%2011.1617%2022.7514%2011.1617%2022.9366C11.1617%2023.1218%2011.3116%2023.272%2011.4966%2023.272Z'%20fill='white'/%3e%3c/svg%3e",W4i={name:"pointCloud",isViewer:!0,component:J4i,window:{name:"pointCloud",label:"pointCloud.window_label",header:!1,logoAndVersion:!0,plugins:["fullscreen","measure3d"],icon:{imgUri:Y4i},modelTypes:["POINT_CLOUD"]},i18n:{en:{window_label:"Point Cloud"},fr:{window_label:"Point Cloud"}}},Wq="viewer-point-cloud-parameters_parameters",Z4i={computed:{viewer(){const t=this.$viewer.localContext.pluginComponentInstances.get("pointCloud");if(t)return t;{const e="'Viewer Point Cloud Parameters' plugin cannot work without Viewer Point Cloud plugin.";throw console.error(e),new Error(e)}},sensitivity:{get(){return this.viewer.sensitivity},set(t){this.viewer.sensitivity=t,this.saveParameters({sensitivity:t})}},fov:{get(){return this.viewer.fov},set(t){this.viewer.fov=t,this.saveParameters({fov:t})}}},mounted(){this.subscription=this.$viewer.localContext.hub.on("pointcloud-model-loaded",()=>{this.applySavedParameters()})},unmounted(){this.$viewer.localContext.hub.off(this.subscription)},methods:{getSavedParameters(){let t={};try{const e=localStorage.getItem(Wq)||"{}";t=JSON.parse(e)}catch{localStorage.removeItem(Wq)}return Object.assign({},this.getDefaultParameters(),t)},applySavedParameters(){const t=this.getSavedParameters();this.viewer.sensitivity=t.sensitivity,this.viewer.fov=t.fov},getDefaultParameters(){return{sensitivity:200,fov:90}},saveParameters(t){const e={sensitivity:t.sensitivity||this.sensitivity,fov:t.fov||this.fov};localStorage.setItem(Wq,JSON.stringify(e))}}},X4i={class:"viewer-point-cloud-parameters"},$4i={class:"viewer-point-cloud-parameters_header"},e5i={class:"viewer-point-cloud-parameters_content"},t5i={class:"m-b-18"},i5i={class:"flex justify-between"},r5i={class:"viewer-point-cloud-parameters_content__value"},o5i={class:"flex justify-between"},n5i={class:"viewer-point-cloud-parameters_content__value"};function s5i(t,e,i,r,o,n){const s=R("BIMDataIconParameters"),a=R("BIMDataSlider");return Q(),N("div",X4i,[B("div",$4i,[L(s,{size:"xs",margin:"0 12px 0 0"}),B("span",null,ee(t.$t("pointCloudParameters.title")),1)]),B("div",e5i,[B("div",t5i,[B("div",i5i,[B("span",null,ee(t.$t("pointCloudParameters.sensitivity")),1),B("span",r5i,ee(n.sensitivity),1)]),L(a,{modelValue:n.sensitivity,"onUpdate:modelValue":e[0]||(e[0]=l=>n.sensitivity=l),min:20,max:1e3},null,8,["modelValue"])]),B("div",null,[B("div",o5i,[B("span",null,ee(t.$t("pointCloudParameters.fov")),1),B("span",n5i,ee(n.fov),1)]),L(a,{modelValue:n.fov,"onUpdate:modelValue":e[1]||(e[1]=l=>n.fov=l),min:20,max:120},null,8,["modelValue"])])])])}const a5i=K(Z4i,[["render",s5i],["__scopeId","data-v-e97be8b2"]]),l5i="Parameters",c5i="Point Cloud Viewer settings",d5i="Sensitivity",u5i="Field of view",A5i={tooltip:l5i,title:c5i,sensitivity:d5i,fov:u5i},h5i="Param\xE8tres",p5i="Param\xE8tres du nuage de points",g5i="Sensibilit\xE9",f5i="Angle de vision",m5i={tooltip:h5i,title:p5i,sensitivity:g5i,fov:f5i},v5i={name:"pointCloudParameters",i18n:{en:A5i,fr:m5i},addToWindows:["pointCloud"],component:a5i,button:{tooltip:"pointCloudParameters.tooltip",position:"right",content:"simple",icon:{component:"BIMDataIconParameters",options:{size:"m"}}}};class db{constructor(e,i,r=null,o=!0){this.name=e,this.icon=i,this.group=r,this.label=`drawing-tools.action.${e}`,this.lineStyleComponentDisplayed=o}onActivate(){throw new Error("Not implemented")}onDeactivate(){throw new Error("Not implemented")}}const C5i={},y5i={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"};function w5i(t,e){return Q(),N("svg",y5i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.176395 0.13889C0.342301 -0.00852533 0.584825 -0.0419546 0.786658 0.0547728L21.6969 10.0759C21.9052 10.1757 22.0251 10.3924 21.9956 10.6155C21.966 10.8386 21.7935 11.019 21.566 11.0647L12.0932 12.9697L9.57365 21.6158C9.51015 21.8337 9.31 21.9881 9.07635 21.9993C8.8427 22.0106 8.6277 21.8763 8.54214 21.6655L0.03777 0.720195C-0.0446022 0.517321 0.0104881 0.286306 0.176395 0.13889Z"},null,-1)]))}const b5i=K(C5i,[["render",w5i]]);class I5i{constructor(){this._listenersTarget=new Map}on(e,i,r=window,o={}){this._listenersTarget.has(r)||this._listenersTarget.set(r,new Map);const n=this._listenersTarget.get(r);n.has(e)||n.set(e,new Map);let s=i.bind(this);return o!=null&&o.once&&(s=(...a)=>{i.call(this,...a),this.off(e,i,r)}),r.addEventListener(e,s,o),n.get(e).set(i,s),()=>{this.off(e,i,r)}}off(e,i,r=window){if(!this._listenersTarget.has(r))return;const o=this._listenersTarget.get(r);if(!o.has(e))return;const n=o.get(e).get(i);r.removeEventListener(e,n),o.get(e).delete(i),o.get(e).size===0&&o.delete(e),o.size===0&&this._listenersTarget.delete(r)}}const B5i="data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M19.6749%202.92459C20.1081%203.35787%2020.1081%204.05777%2019.6749%204.49104L17.6418%206.5241L13.4757%202.358L15.5088%200.324952C15.9421%20-0.108322%2016.642%20-0.108322%2017.0752%200.324952L19.6749%202.92459ZM0%2020.0001V15.834L12.2872%203.54683L16.4533%207.71292L4.16609%2020.0001H0Z'%20fill='%232F374A'/%3e%3c/svg%3e",E5i="data:image/svg+xml,%3csvg%20width='19'%20height='19'%20viewBox='0%200%2019%2019'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.6749%202.9246C19.1081%203.35787%2019.1081%204.05777%2018.6749%204.49105L16.6418%206.5241L12.4757%202.35801L14.5088%200.324955C14.9421%20-0.108318%2015.642%20-0.108318%2016.0752%200.324955L18.6749%202.9246ZM0%2018V14.834L11.2872%203.54684L15.4533%207.71293L4.16609%2019.0001H1L0%2018Z'%20fill='%232F374A'/%3e%3c/svg%3e",x5i=`url("${B5i}") 0 20, auto`,k5i=`url("${E5i}") 1 23, auto`;class OD extends I5i{constructor(e,{pointerUpCursor:i=x5i,pointerDownCursor:r=k5i,element:o=e.canvas}={}){super(),this._engine2d=e,this.element=o,this.pointerUpCursor=i,this.pointerDownCursor=r}_getClientPosition(e){let i,r;return window.TouchEvent&&e instanceof TouchEvent?(i=e.touches[0].clientX,r=e.touches[0].clientY):(i=e.clientX,r=e.clientY),{clientX:i,clientY:r}}_getPositions(e){const{clientX:i,clientY:r}=this._getClientPosition(e),{x:o,y:n}=this._engine2d.canvas.getBoundingClientRect();return this._engine2d.camera.getPosition({x:Math.max(i-o,0),y:Math.max(r-n,0)})}_getCanvasPosition(e){const{clientX:i,clientY:r}=this._getClientPosition(e),{x:o,y:n}=this.element.getBoundingClientRect();return{x:Math.max(i-o,0),y:Math.max(r-n,0)}}_getPositionedCallbackPayload(e){const i=this;return{get position(){return i._getPositions(e)},get canvasPosition(){return i._getCanvasPosition(e)},mouseEvent:e}}onEnabled(){}onMouseDown(){}onDrag(){}onMouseUp(){}onDisabled(){}_onMouseDown(e){this.element.style.cursor=this.pointerDownCursor,this.onMouseDown(this._getPositionedCallbackPayload(e)),this.on("mousemove",this._onMouseMove,window),this.on("mouseup",this._onMouseUp,window,{once:!0}),this.on("touchmove",this._onMouseMove,window),this.on("touchend",this._onMouseUp,window,{once:!0}),this.on("touchcancel",this._onMouseUp,window,{once:!0})}_onMouseMove(e){e.preventDefault();const i=e.buttons===4;e.shiftKey||i||this.onDrag(this._getPositionedCallbackPayload(e))}_onMouseUp(e){this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.off("touchmove",this._onMouseMove,window),this.off("touchend",this._onMouseUp,window),this.off("touchcancel",this._onMouseUp,window),this.element.style.cursor=this.pointerUpCursor,this.onMouseUp(this._getPositionedCallbackPayload(e))}disable(){this._engine2d.ui.translatableWithOneTouch=!0,this.off("mousedown",this._onMouseDown,this.element),this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.off("touchstart",this._onMouseDown,this.element),this.off("touchmove",this._onMouseMove,window),this.off("touchend",this._onMouseUp,window),this.off("touchcancel",this._onMouseUp,window),this.element.style.cursor="",this.onDisabled()}enable(){this._engine2d.ui.translatableWithOneTouch=!1,this.on("mousedown",this._onMouseDown,this.element),this.on("touchstart",this._onMouseDown,this.element),this.element.style.cursor=this.pointerUpCursor,this.onEnabled()}}const M5i="data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2022%2022'%20xmlns='http://www.w3.org/2000/svg'%20%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0.176395%200.13889C0.342301%20-0.00852533%200.584825%20-0.0419546%200.786658%200.0547728L21.6969%2010.0759C21.9052%2010.1757%2022.0251%2010.3924%2021.9956%2010.6155C21.966%2010.8386%2021.7935%2011.019%2021.566%2011.0647L12.0932%2012.9697L9.57365%2021.6158C9.51015%2021.8337%209.31%2021.9881%209.07635%2021.9993C8.8427%2022.0106%208.6277%2021.8763%208.54214%2021.6655L0.03777%200.720195C-0.0446022%200.517321%200.0104881%200.286306%200.176395%200.13889Z'%20/%3e%3c/svg%3e",R9e=`url("${M5i}"), auto`;class S5i extends db{constructor({viewer:e},i){super("pointer",b5i,"pointers",!1),this._pointerManager=new Q5i(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class Q5i extends OD{constructor(e,i){super(e,{pointerUpCursor:R9e,pointerDownCursor:R9e,element:e.canvas.parentElement}),this._drawer=i,this._currentDrawing=null,this.previousTouch=null}onMouseDown(e){this._currentDrawing=this._drawer.pick(e)}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null,this.previousTouch=null}onDrag({position:e,mouseEvent:i,canvasPosition:r}){if(!this._currentDrawing)return;let o=0,n=0;if(window.TouchEvent&&i instanceof TouchEvent){const d=i.touches[0];this.previousTouch&&(o=d.pageX-this.previousTouch.pageX,n=d.pageY-this.previousTouch.pageY),this.previousTouch=d}else{const{movementX:d,movementY:u}=i;o=d,n=u}const s={x:r.x-o,y:r.y-n},a=this._engine2d.camera.getPosition(s),l=e.x-a.x,c=e.y-a.y;this._currentDrawing.x+=l,this._currentDrawing.y+=c}}const D5i={},P5i={width:"14",height:"16",viewBox:"0 0 14 16",xmlns:"http://www.w3.org/2000/svg"};function R5i(t,e){return Q(),N("svg",P5i,e[0]||(e[0]=[B("path",{d:"M6.43587 16C6.09019 16 5.76756 15.9196 5.46797 15.7588C5.16839 15.5979 4.91888 15.3672 4.71944 15.0666L0 7.91354L0.307859 7.60694C0.508253 7.39952 0.745433 7.28253 1.0194 7.25596C1.29337 7.22942 1.54313 7.29881 1.7687 7.46414L4.1836 9.20471V2.14936C4.1836 1.98328 4.2379 1.84407 4.34649 1.73171C4.45509 1.61936 4.58965 1.56318 4.75018 1.56318C4.91071 1.56318 5.04519 1.61936 5.15361 1.73171C5.26203 1.84407 5.31624 1.98328 5.31624 2.14936V7.79331H7.08062V0.586175C7.08062 0.420099 7.13491 0.280884 7.2435 0.168531C7.35209 0.0561769 7.48665 0 7.64718 0C7.80771 0 7.94219 0.0561769 8.05061 0.168531C8.15904 0.280884 8.21325 0.420099 8.21325 0.586175V7.79331H9.97762V1.36777C9.97762 1.20169 10.0319 1.06248 10.1405 0.950122C10.2491 0.837768 10.3837 0.781592 10.5442 0.781592C10.7047 0.781592 10.8392 0.837768 10.9476 0.950122C11.056 1.06248 11.1102 1.20169 11.1102 1.36777V7.79331H12.8674V2.713C12.8674 2.54691 12.9217 2.40769 13.0302 2.29534C13.1388 2.18298 13.2734 2.12681 13.4339 2.12681C13.5945 2.12681 13.7289 2.18298 13.8373 2.29534C13.9458 2.40769 14 2.54691 14 2.713V13.0691C14 13.8787 13.7236 14.5696 13.1708 15.1418C12.6181 15.7139 11.9506 16 11.1683 16H6.43587Z"},null,-1)]))}const L5i=K(D5i,[["render",R5i]]),T5i="data:image/svg+xml,%3csvg%20width='14'%20height='16'%20viewBox='0%200%2014%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.43587%2016C6.09019%2016%205.76756%2015.9196%205.46797%2015.7588C5.16839%2015.5979%204.91888%2015.3672%204.71944%2015.0666L0%207.91354L0.307859%207.60694C0.508252%207.39952%200.745433%207.28253%201.0194%207.25596C1.29337%207.22942%201.54313%207.29881%201.7687%207.46414L4.1836%209.20471V2.14936C4.1836%201.98328%204.2379%201.84407%204.34649%201.73171C4.45509%201.61936%204.58965%201.56318%204.75018%201.56318C4.91071%201.56318%205.04519%201.61936%205.15361%201.73171C5.26203%201.84407%205.31624%201.98328%205.31624%202.14936V7.79331H7.08062V0.586175C7.08062%200.420099%207.13491%200.280884%207.2435%200.168531C7.35209%200.0561769%207.48665%200%207.64718%200C7.80771%200%207.94219%200.0561769%208.05061%200.168531C8.15904%200.280884%208.21325%200.420099%208.21325%200.586175V7.79331H9.97762V1.36777C9.97762%201.20169%2010.0319%201.06248%2010.1405%200.950122C10.2491%200.837768%2010.3837%200.781592%2010.5442%200.781592C10.7047%200.781592%2010.8392%200.837768%2010.9476%200.950122C11.056%201.06248%2011.1102%201.20169%2011.1102%201.36777V7.79331H12.8674V2.713C12.8674%202.54691%2012.9217%202.40769%2013.0302%202.29534C13.1388%202.18298%2013.2734%202.12681%2013.4339%202.12681C13.5945%202.12681%2013.7289%202.18298%2013.8373%202.29534C13.9458%202.40769%2014%202.54691%2014%202.713V13.0691C14%2013.8787%2013.7236%2014.5696%2013.1708%2015.1418C12.6181%2015.7139%2011.9506%2016%2011.1683%2016H6.43587Z'%20fill='%232F374A'/%3e%3c/svg%3e",F5i="data:image/svg+xml,%3csvg%20width='11'%20height='11'%20viewBox='0%200%2011%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.43587%2011C3.09019%2011%202.76756%2010.9196%202.46797%2010.7588C2.16839%2010.5979%201.91888%2010.3672%201.71944%2010.0666L0%206.91354C0.5%205.5%200.780254%205.53908%201.1836%205.5V4.20471V2.14936C1.1836%201.98328%201.2379%201.84407%201.34649%201.73172C1.45509%201.61936%201.58965%201.56318%201.75018%201.56318C1.91071%201.56318%202.04519%201.61936%202.15361%201.73172C2.26203%201.84407%202.31624%201.98328%202.31624%202.14936V2.79331H4.08062V0.586175C4.08062%200.4201%204.13491%200.280884%204.2435%200.16853C4.35209%200.0561767%204.48665%200%204.64718%200C4.80771%200%204.94219%200.0561767%205.05061%200.16853C5.15904%200.280884%205.21325%200.4201%205.21325%200.586175V2.79331H6.97762V1.36777C6.97762%201.20169%207.03191%201.06248%207.1405%200.950122C7.24909%200.837768%207.38365%200.781591%207.54418%200.781591C7.70471%200.781591%207.83919%200.837768%207.94762%200.950122C8.05604%201.06248%208.11025%201.20169%208.11025%201.36777V2.79331H9.86735V2.713C9.86735%202.54691%209.92165%202.40769%2010.0302%202.29534C10.1388%202.18298%2010.2734%202.12681%2010.4339%202.12681C10.5945%202.12681%2010.7289%202.18298%2010.8373%202.29534C10.9458%202.40769%2011%202.54691%2011%202.713V8.06905C11%208.87869%2010.7236%209.56959%2010.1708%2010.1418C9.61805%2010.7139%208.95055%2011%208.16833%2011H3.43587Z'%20fill='%232F374A'/%3e%3c/svg%3e",_5i=`url("${T5i}") 7 23, auto`,U5i=`url("${F5i}") 7 18, auto`;class N5i extends db{constructor({viewer:e}){super("pan",L5i,"pointers",!1),this._pointerManager=new O5i(e)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class O5i extends OD{constructor(e){super(e,{pointerUpCursor:_5i,pointerDownCursor:U5i}),this.previousTouch=null}onDrag({mouseEvent:e}){let i=0,r=0;if(window.TouchEvent&&e instanceof TouchEvent){const o=e.touches[0];this.previousTouch&&(i=o.pageX-this.previousTouch.pageX,r=o.pageY-this.previousTouch.pageY),this.previousTouch=o}else{const{movementX:o,movementY:n}=e;i=o,r=n}this._engine2d.camera.translate(-i*window.devicePixelRatio,-r*window.devicePixelRatio)}onMouseUp(){this.previousTouch=null}}class ub extends db{constructor(e,i,r,o,n,s=r){super(r,o,n),this._pointermanager=new H5i(e,i,s)}onActivate(){this._pointermanager.enable()}onDeactivate(){this._pointermanager.disable()}}class H5i extends OD{constructor(e,i,r){super(e),this._drawer=i,this._currentDrawing=null,this.shape=r}onMouseDown({position:e}){this._currentDrawing=this._drawer.makeDrawing(this.shape,{p1:e})}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null}onDrag(e){this._currentDrawing.dragTo(e)}}const V5i={},G5i={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"};function j5i(t,e){return Q(),N("svg",G5i,e[0]||(e[0]=[B("path",{d:"M1.22223 22V17.6324L17.3486 0.577372C17.5382 0.376633 17.7466 0.230225 17.9738 0.138148C18.201 0.0460498 18.4282 0 18.6554 0C18.8951 0 19.1274 0.0460498 19.3523 0.138148C19.5771 0.230225 19.7742 0.376633 19.9434 0.577372L21.4547 2.17759C21.6443 2.35678 21.7826 2.56541 21.8695 2.80349C21.9565 3.04156 22 3.28752 22 3.54136C22 3.78194 21.9565 4.02251 21.8695 4.26306C21.7826 4.50364 21.6443 4.7243 21.4547 4.92504L5.34718 22H1.22223ZM18.4697 5.35812L20.1667 3.56126L18.6366 1.94115L16.9396 3.73801L18.4697 5.35812ZM12.9979 22C14.4269 22 15.7518 21.63 16.9724 20.89C18.1931 20.1501 18.8034 19.1181 18.8034 17.7941C18.8034 17.0342 18.5884 16.3698 18.1582 15.8007C17.7281 15.2316 17.1244 14.7504 16.3472 14.3572L14.9793 15.8056C15.6045 16.0545 16.0926 16.3477 16.4436 16.6854C16.7946 17.023 16.9701 17.3926 16.9701 17.7941C16.9701 18.4063 16.5729 18.9368 15.7785 19.3856C14.984 19.8344 14.0571 20.0588 12.9979 20.0588C12.7378 20.0588 12.52 20.1518 12.3445 20.3376C12.169 20.5234 12.0812 20.754 12.0812 21.0294C12.0812 21.3048 12.169 21.5354 12.3445 21.7212C12.52 21.9071 12.7378 22 12.9979 22ZM1.94853 12.8591L3.31174 11.4032C2.83381 11.1892 2.46793 10.9677 2.21409 10.7387C1.96024 10.5098 1.83331 10.2733 1.83331 10.0294C1.83331 9.70425 2.03819 9.3832 2.44796 9.06629C2.85772 8.7494 3.67292 8.31305 4.89358 7.75722C6.59216 6.98739 7.72899 6.29098 8.30404 5.66799C8.87912 5.04498 9.16666 4.34193 9.16666 3.55883C9.16666 2.49699 8.74397 1.63839 7.8986 0.983047C7.05323 0.327683 5.94814 0 4.58335 0C3.74502 0 2.97408 0.160117 2.27053 0.480347C1.56695 0.800556 1.04124 1.1921 0.693399 1.65499C0.524161 1.86901 0.454036 2.10502 0.483023 2.363C0.512011 2.62098 0.627572 2.83294 0.829708 2.99887C1.03184 3.16974 1.25278 3.23982 1.49252 3.20913C1.73226 3.17844 1.93674 3.07351 2.10596 2.89433C2.41465 2.56748 2.76957 2.32691 3.17073 2.1726C3.57186 2.0183 4.04273 1.94115 4.58335 1.94115C5.48121 1.94115 6.16402 2.10168 6.63176 2.42273C7.09949 2.74378 7.33335 3.12248 7.33335 3.55883C7.33335 3.93547 7.13161 4.27684 6.72814 4.58294C6.32464 4.88906 5.46947 5.35487 4.16262 5.98036C2.58783 6.71038 1.50036 7.36407 0.90023 7.94144C0.300076 8.51881 0 9.21481 0 10.0294C0 10.6367 0.171193 11.1705 0.513579 11.6309C0.855965 12.0913 1.33428 12.5007 1.94853 12.8591Z"},null,-1)]))}const z5i=K(V5i,[["render",j5i]]);class q5i extends ub{constructor({viewer:e},i){super(e,i,"pen",z5i,null,"freehand")}}const K5i={},J5i={width:"22",height:"22",viewBox:"0 0 22 23",xmlns:"http://www.w3.org/2000/svg"};function Y5i(t,e){return Q(),N("svg",J5i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1 0.769226C0.447715 0.769226 0 1.21694 0 1.76923V4.32096C0 4.87324 0.447716 5.32096 1 5.32096H1.51723V18.2175H1C0.447715 18.2175 0 18.6652 0 19.2175V21.7692C0 22.3215 0.447716 22.7692 1 22.7692H3.55173C4.10401 22.7692 4.55173 22.3215 4.55173 21.7692V21.252H17.4482V21.7692C17.4482 22.3215 17.896 22.7692 18.4482 22.7692H21C21.5523 22.7692 22 22.3215 22 21.7692V19.2175C22 18.6652 21.5523 18.2175 21 18.2175H20.4828V5.32096H21C21.5523 5.32096 22 4.87324 22 4.32095V1.76923C22 1.21694 21.5523 0.769226 21 0.769226H18.4482C17.896 0.769226 17.4482 1.21694 17.4482 1.76923V2.28643H4.55173V1.76923C4.55173 1.21694 4.10401 0.769226 3.55173 0.769226H1ZM3.03448 5.32096H3.55173C4.10401 5.32096 4.55173 4.87324 4.55173 4.32095V3.80367H17.4482V4.32096C17.4482 4.87324 17.896 5.32096 18.4482 5.32096H18.9655V18.2175H18.4482C17.896 18.2175 17.4482 18.6652 17.4482 19.2175V19.7347H4.55173V19.2175C4.55173 18.6652 4.10401 18.2175 3.55173 18.2175H3.03448V5.32096ZM11.4216 6.83819H11.9202L15.931 17.4589H13.79L12.9878 15.0955H9.00098L8.20266 17.4589H6.06894L10.0578 6.83819H10.549H11.4216ZM9.53565 13.5126H12.4505L10.9896 9.2082L9.53565 13.5126Z"},null,-1)]))}const W5i=K(K5i,[["render",Y5i]]),Z5i="data:image/svg+xml,%3csvg%20width='14'%20height='15'%20viewBox='0%200%2014%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5%201.96296V7.5M5%201.96296L3%201H1M5%201.96296L7%201H9M5%2013.037V7.5M5%2013.037L7%2014H9M5%2013.037L3%2014H1M5%207.5H7M5%207.5H3'%20stroke='%232F374A'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11%209V11M11%2013V11M11%2011H13M11%2011H9'%20stroke='%232F374A'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",X5i=`url("${Z5i}") 5 7, auto`;class $5i extends db{constructor(e,i){super("text",W5i,null,!1),this._viewerPlanPlugin=e,this._drawer=i,this.canvas=e.$refs.canvas;const r=_e(!1);this.autoDeactivateCallback=null,this.connector={enabledRef:r,deactivateAction(){var o;(o=this.autoDeactivateCallback)==null||o.call(this)}},this.onClick=o=>{this.autoDeactivateCallback();const{x:n,y:s}=e.viewer.camera.getPosition({x:o.offsetX,y:o.offsetY});i.makeDrawing("text",{x:n,y:s})}}onActivate(e){this.canvas.addEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor=X5i,this.autoDeactivateCallback=e,this.connector.enabledRef.value=!0}onDeactivate(){this.canvas.removeEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor="",this.autoDeactivateCallback=null,this.connector.enabledRef.value=!1}}const e8i={},t8i={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"};function i8i(t,e){return Q(),N("svg",t8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 0H16V16H0V0ZM2 2V14H14V2H2Z"},null,-1)]))}const r8i=K(e8i,[["render",i8i]]);class o8i extends ub{constructor({viewer:e},i){super(e,i,"rectangle",r8i,"shapes")}}const n8i={},s8i={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"};function a8i(t,e){return Q(),N("svg",s8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16 1.37853L1.37853 16L0 14.6215L14.6215 0L16 1.37853Z"},null,-1)]))}const l8i=K(n8i,[["render",a8i]]);class c8i extends ub{constructor({viewer:e},i){super(e,i,"line",l8i,"shapes")}}const d8i={},u8i={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"};function A8i(t,e){return Q(),N("svg",u8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9914 1.88377H10.0848V0H16.207V6.12225H14.3233V3.21594L1.33203 16.2072L0 14.8751L12.9914 1.88377Z"},null,-1)]))}const h8i=K(d8i,[["render",A8i]]);class p8i extends ub{constructor({viewer:e},i){super(e,i,"arrow",h8i,"shapes")}}const g8i={},f8i={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"};function m8i(t,e){return Q(),N("svg",f8i,e[0]||(e[0]=[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.5 14.875C12.0208 14.875 14.875 12.0208 14.875 8.5C14.875 4.97919 12.0208 2.125 8.5 2.125C4.97919 2.125 2.125 4.97919 2.125 8.5C2.125 12.0208 4.97919 14.875 8.5 14.875ZM8.5 17C13.1944 17 17 13.1944 17 8.5C17 3.80558 13.1944 0 8.5 0C3.80558 0 0 3.80558 0 8.5C0 13.1944 3.80558 17 8.5 17Z"},null,-1)]))}const v8i=K(g8i,[["render",m8i]]);class C8i extends ub{constructor({viewer:e},i){super(e,i,"ellipse",v8i,"shapes")}}const y8i={name:"EraserIcon",props:{color:{type:String,default:"currentColor"}}},w8i=["fill"];function b8i(t,e,i,r,o,n){return Q(),N("svg",{width:"20",height:"20",viewBox:"0 0 22 22",fill:i.color,xmlns:"http://www.w3.org/2000/svg"},e[0]||(e[0]=[B("path",{d:"M16.6425 18.2998H22V20H14.9369L16.6425 18.2998ZM2.62548 20L0.613685 17.9946C0.214257 17.5964 0.00980528 17.1125 0.00032939 16.5428C-0.0091465 15.9731 0.18583 15.4798 0.585258 15.0627L12.6123 2.62019C13.0118 2.20312 13.4943 1.9964 14.0599 2.00005C14.6256 2.00367 15.1081 2.20458 15.5075 2.60277L20.6617 7.74061C21.0611 8.13879 21.2627 8.62453 21.2663 9.19783C21.27 9.77112 21.072 10.2569 20.6726 10.655L11.5255 20H2.62548Z"},null,-1)]),8,w8i)}const I8i=K(y8i,[["render",b8i]]),B8i="data:image/svg+xml,%3csvg%20width='23'%20height='23'%20viewBox='0%200%2023%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.1614%200.604227C13.9322%20-0.186875%2015.1984%20-0.203279%2015.9895%200.567585L21.551%205.98681C22.3421%206.75768%2022.3586%208.0239%2021.5877%208.815L8.99392%2021.7394C8.22305%2022.5305%206.95683%2022.5469%206.16573%2021.776L0.604228%2016.3568C-0.186874%2015.5859%20-0.20328%2014.3197%200.567585%2013.5286L13.1614%200.604227Z'%20fill='%232F374A'/%3e%3c/svg%3e",E8i="data:image/svg+xml,%3csvg%20width='22'%20height='18'%20viewBox='0%200%2022%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.62548%2018L0.613685%2015.9946C0.214257%2015.5964%200.00980528%2015.1125%200.00032939%2014.5428C-0.0091465%2013.9731%200.18583%2013.4798%200.585258%2013.0627L12.6123%200.620194C13.0118%200.203116%2013.4943%20-0.00359875%2014.0599%204.73985e-05C14.6256%200.00367466%2015.1081%200.204581%2015.5075%200.602767L20.6617%205.74061C21.0611%206.13879%2021.2627%206.62453%2021.2663%207.19783C21.27%207.77112%2021.072%208.25686%2020.6726%208.65502L11.5255%2018H2.62548Z'%20fill='%232F374A'/%3e%3c/svg%3e",x8i=`url("${B8i}") 7 23, auto`,k8i=`url("${E8i}") 7 18, auto`;class M8i extends db{constructor({viewer:e},i){super("eraser",I8i,null,!1),this._pointerManager=new S8i(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class S8i extends OD{constructor(e,i){super(e,{element:e.canvas.parentElement,pointerUpCursor:x8i,pointerDownCursor:k8i}),this._drawer=i}erase(e){const i=this._drawer.pick(e);i&&this._drawer.deleteDrawing(i.id)}onMouseDown(e){this.erase(e)}onDrag(e){this.erase(e)}}class VC{constructor(e){this.drawingType=e}parse(e){throw new Error("Not implemented")}toString(e){throw new Error("Not implemented")}}class Q8i extends VC{constructor(){super("rectangle")}toString(e){const{p1:i,p2:r,p3:o,p4:n,lineColor:s,lineWidth:a}=e;return`<path d="M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o.x} ${o.y} L ${n.x} ${n.y} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}"/>`}parse(e){var i;const r=e.querySelector("path"),o=r.getAttribute("d"),[,n,s,,a,l,,c,d,,u,A]=o.split(" "),h=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),g=r.getAttribute("stroke-width");return{p1:{x:parseFloat(n),y:parseFloat(s)},p2:{x:parseFloat(a),y:parseFloat(l)},p3:{x:parseFloat(c),y:parseFloat(d)},p4:{x:parseFloat(u),y:parseFloat(A)},lineColor:parseInt(h,16),lineWidth:parseFloat(g)}}}class D8i extends VC{constructor(){super("line")}toString(e){const{p1:i,p2:r,lineWidth:o,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${r.x}" y2="${r.y}" stroke-width="${o}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const r=e.querySelector("line"),o=r.getAttribute("x1"),n=r.getAttribute("y1"),s=r.getAttribute("x2"),a=r.getAttribute("y2"),l=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),c=r.getAttribute("stroke-width");return{p1:{x:parseFloat(o),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}class P8i extends VC{constructor(){super("arrow")}toString(e){const{p1:i,p2:r,lineWidth:o,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${r.x}" y2="${r.y}" stroke-width="${o}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const r=e.querySelector("line"),o=r.getAttribute("x1"),n=r.getAttribute("y1"),s=r.getAttribute("x2"),a=r.getAttribute("y2"),l=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),c=r.getAttribute("stroke-width");return{p1:{x:parseFloat(o),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}function L9e(t){if(t.length===0)return"";const e=t[0];let i=`M ${e.x} ${e.y}`;for(let r=0;r<t.length;r++){const o=t[r];i+=` C ${o.cpX1} ${o.cpY1} ${o.cpX2} ${o.cpY2} ${o.toX} ${o.toY}`}return i}function T9e(t){const e=t.split(" "),i=e.shift();if(i!=="M")throw new Error(`svgPathStringToCurves: invalid svg path string. Must start with M, got "${i}"`);let r=parseFloat(e.shift()),o=parseFloat(e.shift());const n=[];for(;e.shift()==="C";){const s=parseFloat(e.shift()),a=parseFloat(e.shift()),l=parseFloat(e.shift()),c=parseFloat(e.shift()),d=parseFloat(e.shift()),u=parseFloat(e.shift());n.push({type:"curve",x:r,y:o,cpX1:s,cpY1:a,cpX2:l,cpY2:c,toX:d,toY:u}),r=d,o=u}return n}class R8i extends VC{constructor(){super("ellipse")}toString(e){const{curve1:i,curve2:r,curve3:o,curve4:n,lineColor:s,lineWidth:a}=e;return`<path d="${L9e([i,r,o,n])} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}" />`}parse(e){var i;const r=e.querySelector("path"),o=r.getAttribute("d"),n=T9e(o),s=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),a=r.getAttribute("stroke-width");return{curves:n,lineColor:parseInt(s,16),lineWidth:parseFloat(a)}}}class L8i extends VC{constructor(){super("text")}toString(e){const{x:i,y:r,text:o,size:n,rotation:s,color:a}=e,l=a?`color="#${a}"`:"";return`<text x="${i}" y="${r}" font-size="${n}px" tranform="rotate(${s})" ${l}>${o}</text>`}parse(e){var i;const r=e.querySelector("text"),o=r.getAttribute("color"),n=r.getAttribute("x"),s=r.getAttribute("y"),a=r.getAttribute("font-size").slice(0,-2),l=((i=r.getAttribute("tranform").match(/rotate\((.*)\)/))==null?void 0:i[1])??0,c=r.textContent==="null"?null:r.textContent;return{x:parseFloat(n),y:parseFloat(s),size:parseFloat(a),rotation:parseFloat(l),text:c,color:o?o.slice(1):null}}}class T8i extends VC{constructor(){super("freehand")}toString(e){const{curves:i,lineWidth:r,lineColor:o}=e,n=`stroke-width="${r}" stroke="#${o.toString(16).padStart(6,0)}"`;return`<path d="${L9e(i)}" ${n}/>`}parse(e){var i;const r=e.querySelector("path"),o=r.getAttribute("d"),n=T9e(o),s=(i=r.getAttribute("stroke"))==null?void 0:i.substring(1),a=r.getAttribute("stroke-width");return{curves:n,lineWidth:parseFloat(a),lineColor:parseInt(s,16)}}}class F8i{constructor(){this.drawingSvgParsers=new Map,[new Q8i,new D8i,new P8i,new R8i,new T8i,new L8i].map(e=>this.drawingSvgParsers.set(e.drawingType,e))}parse(e){try{const i=new DOMParser().parseFromString(e.content,"image/svg+xml"),r=i.querySelector("svg").getAttribute("type"),o=+i.querySelector("svg").getAttribute("data-bimdata-elevation"),n=this.drawingSvgParsers.get(r);if(!n)throw new TypeError(`No drawing parser for type ${r}`);const s=n.parse(i);return s.apiId=e.id,s.type=r,s.z=o,s}catch(i){console.warn(`[Drawing Tools - Parser] Error parsing drawing ${e.id}, ignored.`,i)}}toString(e){const{type:i,z:r}=e,o=this.drawingSvgParsers.get(i);if(!o)throw new TypeError(`No drawing parser for type ${i}`);const n=o.toString(e);return`<svg type="${i}" data-bimdata-elevation="${r}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}}class _8i{constructor(e){this._api=e,this._parser=new F8i,this.queue=$v()}async getDrawingsData(e){const{cloudId:i,projectId:r}=this._api;return(await this._api.apiClient.modelApi.getDrawings(i,e,r)).map(o=>this._parser.parse(o)).filter(Boolean)}save(e,i){const r=this._parser.toString(e);if(!r)return;const{cloudId:o,projectId:n}=this._api,s={content:r};let a;e.apiId?a=async()=>{try{await this._api.apiClient.modelApi.updateDrawing(o,e.apiId,i,n,s)}catch(l){console.error(`Cannot update drawing of type: "${e.type}"`,l)}}:a=async()=>{try{const l=await this._api.apiClient.modelApi.createDrawing(o,i,n,s);e.apiId=l.id}catch(l){console.error(`Cannot create drawing of type: "${e.type}"`,l)}},this.queue.push(a)}async delete(e,i){if(!e.apiId)return;const{cloudId:r,projectId:o}=this._api;try{await this._api.apiClient.modelApi.deleteDrawing(r,e.apiId,i,o)}catch(n){console.error(`Cannot delete drawing of type: "${e.type}"`,n)}}}class F9e{constructor(e){this.drawingTypes=e}pick(e,i){throw new Error("Not implemented")}}class U8i extends F9e{constructor(e){super(["rectangle","ellipse","arrow","line","freehand"]),this._engine2d=e}pick(e,i){const{canvasPosition:r}=i,o=this._engine2d.picker.pick(r);if(o)return e.get(o.id)}}class N8i extends F9e{constructor(){super(["text"])}pick(e,i){const{mouseEvent:r}=i,o=r.target;return e.get(o.id)}}class _9e{constructor(e,i){if(!e)throw new TypeError("Drawing type is required");this.type=e,this.z=i}destroy(){throw new Error("Method 'destroy' not implemented.")}}class U9e{constructor(e){this.drawingTypes=e}create(e,i){throw new Error("Not implemented")}}const O8i="data:image/svg+xml,%3csvg%20width='10'%20height='15'%20viewBox='0%200%2010%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5%201.96296V7.5M5%201.96296L3%201H1M5%201.96296L7%201H9M5%2013.037V7.5M5%2013.037L7%2014H9M5%2013.037L3%2014H1M5%207.5H7M5%207.5H3'%20stroke='%232F374A'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",H8i="data:image/svg+xml,%3csvg%20width='17'%20height='17'%20viewBox='0%200%2017%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.5%200C3.80611%200%200%203.80611%200%208.5C0%2013.1939%203.80611%2017%208.5%2017C9.28389%2017%209.91667%2016.3672%209.91667%2015.5833C9.91667%2015.215%209.775%2014.8844%209.54833%2014.6294C9.33111%2014.3839%209.18944%2014.0533%209.18944%2013.6944C9.18944%2012.9106%209.82222%2012.2778%2010.6061%2012.2778H12.2778C14.8844%2012.2778%2017%2010.1622%2017%207.55556C17%203.38111%2013.1939%200%208.5%200ZM3.30556%208.5C2.52167%208.5%201.88889%207.86722%201.88889%207.08333C1.88889%206.29944%202.52167%205.66667%203.30556%205.66667C4.08944%205.66667%204.72222%206.29944%204.72222%207.08333C4.72222%207.86722%204.08944%208.5%203.30556%208.5ZM6.13889%204.72222C5.355%204.72222%204.72222%204.08944%204.72222%203.30556C4.72222%202.52167%205.355%201.88889%206.13889%201.88889C6.92278%201.88889%207.55556%202.52167%207.55556%203.30556C7.55556%204.08944%206.92278%204.72222%206.13889%204.72222ZM10.8611%204.72222C10.0772%204.72222%209.44444%204.08944%209.44444%203.30556C9.44444%202.52167%2010.0772%201.88889%2010.8611%201.88889C11.645%201.88889%2012.2778%202.52167%2012.2778%203.30556C12.2778%204.08944%2011.645%204.72222%2010.8611%204.72222ZM13.6944%208.5C12.9106%208.5%2012.2778%207.86722%2012.2778%207.08333C12.2778%206.29944%2012.9106%205.66667%2013.6944%205.66667C14.4783%205.66667%2015.1111%206.29944%2015.1111%207.08333C15.1111%207.86722%2014.4783%208.5%2013.6944%208.5Z'%20fill='white'/%3e%3c/svg%3e",V8i=`url(${O8i}) 5 7, auto`,G8i=4,j8i=40,N9e=4,z8i=2,q8i={props:{id:{type:String,required:!0},initText:{type:String,default:""},newMarker:{type:Boolean,default:!1},initSize:{type:Number,default:12},initColor:{type:String,default:"000000"},rotation:{type:Number,required:!0},scale:{type:Number,required:!0},textToolEnabled:{type:Boolean,required:!0}},emits:["edit-update","text-update","size-update","color-update","delete-marker","delete-drawing"],setup(t,{emit:e}){const i=_t("$viewer").localContext.viewer.viewer.canvas,r=_e(t.initText),o=_e(t.newMarker),n=_e(null),s=_e(t.initSize),a=_e(t.initColor),l=_e(null);Ht(r,k=>e("text-update",k)),Ht(s,k=>e("size-update",k)),Ht(a,k=>e("color-update",k));const c=()=>{var k;(k=n.value)==null||k.focus()},d=()=>{s.value>G8i&&(s.value-=N9e),c()},u=()=>{s.value<j8i&&(s.value+=N9e),c()},A=_e(!1),h=_e(!1),g=()=>{if(A.value=!A.value,A.value){const{y:k,height:x}=i.getBoundingClientRect(),{y:M}=l.value.getBoundingClientRect();h.value=M>k+x/2}},p=k=>{a.value=k,A.value=!1,c()};Ht(o,async k=>{e("edit-update",k),k?(await Jo(),c()):A.value=!1});const m=_e(null),f=_e(null),C=_e(null);async function y(){if(!o.value)return;await Jo();const{width:k}=m.value.getBoundingClientRect();f.value=k+12,C.value=1,await Jo();const{scrollHeight:x}=n.value;C.value=x+2}const v=k=>{k.key==="Escape"&&(o.value=!1)};document.addEventListener("keydown",v),Sr(()=>{var k;y(),(k=n.value)==null||k.focus()}),fo(()=>{document.removeEventListener("keydown",v)}),Ht(()=>o.value+r.value+t.scale+s.value,y);const w=()=>{e("delete-marker"),e("delete-drawing")},b=()=>{t.textToolEnabled&&(o.value=!0)},E=At(()=>s.value/(z8i*window.devicePixelRatio));return{colorElement:l,textCursor:V8i,paletteSvg:H8i,size:E,textarea:n,edit:o,text:r,textEl:m,textAreaWidth:f,textAreaHeight:C,decrementSize:d,incrementSize:u,onTextColorClick:g,color:a,colorSelectorDisplayed:A,colorSelectorTop:h,onTextColorUpdate:p,onDeleteClick:w,onTextClick:b}}},K8i=["id"],J8i={key:0},Y8i={class:"bimdata-drawing-tools__text-marker__edit-content",style:"transform: translate(-1px, -1px)"},W8i={class:"bimdata-drawing-tools__text-marker__edit-content__header"},Z8i=["src"];function X8i(t,e,i,r,o,n){const s=R("BIMDataColorSelector"),a=R("BIMDataIconDelete"),l=ir("click-away");return Q(),N("div",{class:"bimdata-drawing-tools__text-marker",style:Be(`font-size:${r.size}px; z-index: ${r.edit?1:0};`)},[B("div",{style:Be(`cursor: ${i.textToolEnabled?r.textCursor:""}`)},[B("div",{ref:"textEl",class:"bimdata-drawing-tools__text-marker__text",style:Be(`
1609
1609
  font-size:${r.size}px;
1610
1610
  transform-origin: top left;
1611
1611
  transform: scale(${i.scale});
@@ -5491,7 +5491,7 @@ void main() {
5491
5491
  --bimdata-local-context-width: ${r.width}px;
5492
5492
  --bimdata-local-context-center-width: ${r.centerWidth}px;
5493
5493
  --bimdata-local-context-resolution: ${r.resolution};
5494
- `),onMouseenter:e[0]||(e[0]=(...A)=>r.onMouseEnter&&r.onMouseEnter(...A)),onMouseleave:e[1]||(e[1]=(...A)=>r.onMouseLeave&&r.onMouseLeave(...A))},[L(s,{ref:"modalManagerTemplateRef"},null,512),B("div",jRi,[r.windowPlugins.leftSidePanel?(Q(),te(a,{key:0,plugin:r.windowPlugins.leftSidePanel},null,8,["plugin"])):fe("",!0),B("div",zRi,[(Q(!0),N(Et,null,Wt(r.windowPlugins.free,A=>(Q(),te(l,{key:A.name,class:be({"window-container__content__center__viewer":A.isViewer}),plugin:A},null,8,["class","plugin"]))),128)),L(c,{position:"left",plugins:r.windowPlugins.leftButtonColumn},null,8,["plugins"]),L(c,{position:"right",plugins:r.windowPlugins.rightButtonColumn},null,8,["plugins"])]),r.windowPlugins.rightSidePanel?(Q(),te(a,{key:1,plugin:r.windowPlugins.rightSidePanel},null,8,["plugin"])):fe("",!0)]),r.loading?(Q(),N("div",qRi,[r.spinner&&r.spinner.component?(Q(),te(Uo(r.spinner.component),hd(al({key:0},r.spinner.props)),null,16)):(Q(),te(d,{key:1,size:"20px",border:"3px"}))])):fe("",!0),r.layoutSettingsDisplayed?(Q(),N("div",KRi,[L(u)])):fe("",!0)],36)}const YRi=K(GRi,[["render",JRi],["__scopeId","data-v-558e7ce5"]]);let WRi=class{constructor(t=!0){const e=_Pi(tae,null,{resizable:t});e.registerContent("default",YRi),this.settings=Ea({edit:!1,swap:!1,full:!1}),this.areas=e}get resizable(){return this.areas.resizable}set resizable(t){this.areas.resizable=t}apply(t=null){this.areas.layout=t?UPi(t):null}copy(t,e=!0){return NPi(this.areas.layout,t,e)}open({ratio:t,direction:e,insertAfter:i,windowName:r=null,windowState:o=null,localContextId:n=null}={}){const s=r?{options:{windowName:r,windowState:o}}:null;return n===null?this.areas.splitLayout(t,e,i,s):this.areas.split(n,t,e,i,s)}swap(t,e){return this.areas.swap(t,e)}close(t){return this.areas.delete(t)}compare(t,e){var i,r;if(!t&&!e)return!0;if(!t||!e)return!1;if(typeof t=="string"&&typeof e=="string")return t===e;if(typeof t=="string"||typeof e=="string")return!1;if(t.windowName&&e.windowName){if(t.windowName!==e.windowName)return!1;const o=new Set((i=t.windowState)==null?void 0:i.modelIds),n=new Set((r=e.windowState)==null?void 0:r.modelIds);return o.size===n.size&&[...o].every(s=>n.has(s))}return t.windowName||e.windowName||t.direction!==e.direction||t.children.length!==e.children.length?!1:t.children.every((o,n)=>this.compare(o,e.children[n]))}};const ZRi="2.9.0-beta.6",XRi={version:ZRi};class $Ri{constructor({plugins:e,api:i,ui:r,locale:o="fr"}){this.pluginManager=new YMi(e),this.windowManager=new ZMi,this.windowManager.registerAndAddPluginsToWindows([...this.pluginManager.registeredPlugins.values()]),this.api=new NDi(i),this.globalContext=new VOe(this),this.state=tPi(this),this.shortcutManager=kRe(this.state),this.uiSettings=r||{},this.i18n=new OOe(o),this._contextMenu=null,this.layout=new WRi(this.uiSettings.resizable!==!1),this.localContext=null,window.$viewer=this}get version(){return XRi.version}get locale(){return this.i18n.locale}get contextMenu(){return this._contextMenu||ERe}set contextMenu(e){this._contextMenu=e}get registeredWindows(){return[...this.windowManager.registeredWindows.keys()]}get registeredPlugins(){return[...this.pluginManager.registeredPlugins.keys()]}get pluginsCfg(){return this.pluginManager.cfg}registerPlugin(e){this.pluginManager.registerPlugin(e),this.windowManager.registerAndAddPluginsToWindows([e])}}function eLi(t,e={}){e.backgroundColor&&(t.style.setProperty("--bimdata-viewer-background-color",e.backgroundColor),e.backgroundColor==="transparent"&&t.style.setProperty("--areas-separator-color","transparent")),e.colorPrimary&&t.style.setProperty("--color-primary",e.colorPrimary),e.colorPrimaryLighter&&t.style.setProperty("--color-primary-lighter",e.colorPrimaryLighter),e.colorPrimaryLight&&t.style.setProperty("--color-primary-light",e.colorPrimaryLight),e.colorPrimaryDark&&t.style.setProperty("--color-primary-dark",e.colorPrimaryDark),e.colorSecondary&&t.style.setProperty("--color-secondary",e.colorSecondary),e.colorSecondaryLighter&&t.style.setProperty("--color-secondary-lighter",e.colorSecondaryLighter),e.colorSecondaryLight&&t.style.setProperty("--color-secondary-light",e.colorSecondaryLight),e.colorSecondaryDark&&t.style.setProperty("--color-secondary-dark",e.colorSecondaryDark),e.colorSilverLight&&t.style.setProperty("--color-silver-light",e.colorSilverLight),e.colorSilver&&t.style.setProperty("--color-silver",e.colorSilver),e.colorSilverDark&&t.style.setProperty("--color-silver-dark",e.colorSilverDark),e.colorGraniteLight&&t.style.setProperty("--color-granite-light",e.colorGraniteLight),e.colorGranite&&t.style.setProperty("--color-granite",e.colorGranite),e.colorSuccess&&t.style.setProperty("--color-success",e.colorSuccess),e.colorSuccessLighter&&t.style.setProperty("--color-success-Lighter",e.colorSuccessLighter),e.colorSuccessLight&&t.style.setProperty("--color-success-Light",e.colorSuccessLight),e.colorSuccessDark&&t.style.setProperty("--color-success-Dark",e.colorSuccessDark),e.colorWarning&&t.style.setProperty("--color-warning",e.colorWarning),e.colorWarningLighter&&t.style.setProperty("--color-warning-Lighter",e.colorWarningLighter),e.colorWarningLight&&t.style.setProperty("--color-warning-Light",e.colorWarningLight),e.colorWarningDark&&t.style.setProperty("--color-warning-Dark",e.colorWarningDark),e.colorHigh&&t.style.setProperty("--color-high",e.colorHigh),e.colorHighLighter&&t.style.setProperty("--color-high-lighter",e.colorHighLighter),e.colorHighLight&&t.style.setProperty("--color-high-light",e.colorHighLight),e.colorHighDark&&t.style.setProperty("--color-high-dark",e.colorHighDark),e.colorText&&t.style.setProperty("--color-text",e.colorText),(!e.backgroundColor||e.backgroundColor!=="transparent")&&t.style.setProperty("--areas-separator-color","rgba(216, 216, 216, 1)"),e.headerHeight!=null&&t.style.setProperty("--bimdata-viewer-header-height",e.headerHeight),t.style.setProperty("--areas-background-color","transparent")}const tLi=Object.freeze({25:"GUEST",50:"USER",100:"ADMIN"}),R9=Object.freeze({READ:"read",WRITE:"write"});function DEe(t){const e={};return t.forEach(i=>{const[r,o]=i.split(":");e[r]?e[r].push(o):e[r]=[o]}),e}const iLi={token_scopes:[],usable_scopes:[],user_role:25};function PEe(t=iLi){var e,i,r,o,n,s;const a=DEe(t.token_scopes),l=DEe(t.usable_scopes);return{...Oue(t),tokenScopes:a,usableScopes:l,userRole:tLi[t.user_role],user:t.user?Oue(t.user):null,hasBcfReadPermission:((e=l.bcf)==null?void 0:e.includes(R9.READ))??!1,hasBcfWritePermission:((i=l.bcf)==null?void 0:i.includes(R9.WRITE))??!1,hasModelReadPermission:((r=l.model)==null?void 0:r.includes(R9.READ))??!1,hasModelWritePermission:((o=l.model)==null?void 0:o.includes(R9.WRITE))??!1,hasDocReadPermission:((n=l.document)==null?void 0:n.includes(R9.READ))??!1,hasDocWritePermission:((s=l.document)==null?void 0:s.includes(R9.WRITE))??!1}}const rLi={BcfFilters:{filtersButton:"Filter",filtersTitle:"Filter",priorityLabel:"Priorit\xE4t",statusLabel:"Status",assignedToLabel:"Zugewiesen an",creatorsLabel:"Erstellt von",tagsLabel:"Tags",resetButton:"Zur\xFCcksetzen",searchButton:"Suchen",undefined:"Nicht definiert",datePlaceholder:"Erstellungsdatum"},BcfSettings:{goBackButton:"Zur\xFCck",title:"BCF-Parameter",text:"Erstellen, f\xFCllen und listen Sie die BCF-Einstellungen auf, die Sie f\xFCr dieses Projekt haben m\xF6chten.",validateButton:"Die BCF-Parameter anerkennen"},BcfStatistics:{emptyText:"F\xFCgen Sie Fragen hinzu, um zugeh\xF6rige Statistiken hier anzuzeigen.",issues:"Probleme",extension:{Priority:"Priorit\xE4t",PriorityNotDefined:"Keine Priorit\xE4t",PriorityTitle:"Priorit\xE4ten",Status:"Status",StatusNotDefined:"Kein Status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priorit\xE4t:",noPriority:"Keine",assignedTo:"Zugewiesen an :",elements:"Elemente",notSpecified:"Nicht definiert",see:"Anzeigen"},BcfTopicCreationCard:{text:"Ein neues BCF-Thema erstellen",createBcfSideTitle:"Ein Problem melden"},BcfTopicForm:{dragDropImageText:"Bitte w\xE4hlen Sie eine Datei aus.",addObjectButton:"Objekt",addAnnotationButton:"Annotation",annotationButtonTooltip:"Zu diesem Thema gibt es derzeit keine Ansichten.",addPictureButton:"F\xFCgen Sie ein Bild hinzu.",titlePlaceholder:"Titel *",titleErrorMessage:"Titel fehlt",typeLabel:"Typ",priorityLabel:"Priorit\xE4t",statusLabel:"Status",stageLabel:"Phase",assignedToLabel:"Zugewiesen an",dueDateLabel:"F\xE4lligkeitsdatum (TT.MM.JJJJ)",descriptionLabel:"Beschreibung",labelsLabel:"Tags",createButton:"Best\xE4tigen",updateButton:"\xC4nderungen \xFCbernehmen",modalText:"Sie sind dabei, die Bearbeitung der Ausgabe {Name} zu beenden, aber es gibt noch ungespeicherte \xC4nderungen.",cancelButton:"\xC4nderungen verwerfen",continueButton:"\xC4nderungen fortsetzen",createTitle:"Ein Problem melden",dragDropImageTextTablet:"Foto machen",takeSnapshot:"Mach einen Schnappschuss",importFile:"Eine Datei importieren",searchPlaceholder:"Suchen",emptySearch:"kein Ergebnis"},BcfTopicOverview:{openViewer:"Im Viewer \xF6ffnen",openViewerNoModels:"Es sind keine Vorlagen zur Ansicht bereit",elements:"{count} Elemente",noElements:"kein Element",type:"Typ",noTypeSpecified:"Kein Typ angegeben",description:"Beschreibung",noDescriptionProvided:"Keine Beschreibung angegeben",assignedTo:"Zugeteilt an",notAssigned:"Nicht zugewiesen",dueDate:"F\xE4lligkeitsdatum",noDueDate:"Kein F\xE4lligkeitsdatum",informations:"Informationen",status:"Status",noStatusSpecified:"Kein Status angegeben",stage:"Phase",noStageProvided:"Keine Phase angegeben",priority:"Priorit\xE4t",priorityNotDefined:"Nicht definiert",tags:"Tags",noTags:"Keine Tags",commentButton:"Ein Kommentar ver\xF6ffentlichen",deleteText:"Sie l\xF6schen jetzt {Name}",deleteBcfButton:"Dieses BCF l\xF6schen",keepBcfButton:"Dieses BCF beibehalten",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE4t",status:"Status",title:"Titel",creator:"Autor",date:"Datum"}},BcfTopicActionsCell:{seeButton:"Anzeigen"},BcfTopicComments:{commentButton:"Ein Kommentar verfassen",commentLabel:"Ein Kommentar verfassen",commentText:"Kommentar",cancelButton:"Abbrechen",publishButton:"Ver\xF6ffentlichen",commentsText:"Kommentare",deleteCommentText:"Diesen Kommentar l\xF6schen?",deleteButton:"L\xF6schen",takeSnapshot:"Mach einen Schnappschuss"},BcfTopicPriorityCell:{noPriority:"Keine"},SettingCard:{addButton:"ein Element hinzuf\xFCgen",cancelButton:"Abbrechen",validateButton:"Best\xE4tigen",deleteExtensionText:"Diesen Parameter l\xF6schen",deleteButton:"L\xF6schen",title:{Priority:"Priorit\xE4ten",Label:"Tags",Status:"Status",Type:"Typen",Stage:"Phasen"},input:{Priority:"Eine neue Priorit\xE4t hinzuf\xFCgen",Label:"Ein neues Etikett hinzuf\xFCgen",Status:"Einen neuen Status hinzuf\xFCgen",Type:"Einen neuen Typ hinzuf\xFCgen",Stage:"Eine neue Phase hinzuf\xFCgen"},text:{Priority:"Liste der Priorit\xE4ten",Label:"Liste von Tags",Status:"Liste der Status",Type:"Liste der Typen",Stage:"Liste der Phasen"}}},oLi={BcfComponents:rLi},nLi={BcfFilters:{filtersButton:"Filters",filtersTitle:"Filters",priorityLabel:"Priority",statusLabel:"Status",assignedToLabel:"Assigned to",creatorsLabel:"Created by",tagsLabel:"Tags",resetButton:"Reset",searchButton:"Search",undefined:"Not defined",datePlaceholder:"Creation date"},BcfSettings:{goBackButton:"Back",title:"BCF Settings",text:"Create, enter in, and list the BCF settings you would like to have for this project",validateButton:"Validate BCF settings"},BcfStatistics:{emptyText:"Add BCF Topics to start to have some stats here.",issues:"issues",extension:{Priority:"Priority",PriorityNotDefined:"No priority",PriorityTitle:"Priorities",Status:"Status",StatusNotDefined:"No status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priority: ",noPriority:"None",assignedTo:"Assigned to: ",elements:"Elements",notSpecified:"Not specified",see:"See"},BcfTopicCreationCard:{text:"Create a new BCF topic",createBcfSideTitle:"Report a problem"},BcfTopicForm:{dragDropImageText:"Please select a file",addObjectButton:"Object",addAnnotationButton:"Annotation",annotationButtonTooltip:"This topic has no viewpoint",addPictureButton:"Add a picture",titlePlaceholder:"Title *",titleErrorMessage:"Missing title",typeLabel:"Type",priorityLabel:"Priority",statusLabel:"Status",stageLabel:"Stage",assignedToLabel:"Assigned to",dueDateLabel:"Due date",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Validate",updateButton:"Modify this BCF",modalText:"You are about to quit editing issue {name} but there are unsaved changes.",cancelButton:"Discard changes",continueButton:"Continue editing",createTitle:"Report a problem",dragDropImageTextTablet:"Take a picture",takeSnapshot:"Take a snapshot",importFile:"Import a file",searchPlaceholder:"Search",emptySearch:"No result"},BcfTopicOverview:{openViewer:"Open in viewer",openViewerNoModels:"No model to open",elements:"{count} Elements",noElements:"No element",type:"Type",noTypeSpecified:"No type specified",description:"Description",noDescriptionProvided:"No description provided",assignedTo:"Assigned to",notAssigned:"Not assigned",dueDate:"Due date",noDueDate:"No due date",informations:"Informations",status:"Status",noStatusSpecified:"No status specified",stage:"Stage",noStageProvided:"No stage provided",priority:"Priority",priorityNotDefined:"Not defined",tags:"Tags",noTags:"No tags",commentButton:"Post a comment",deleteText:"You are about to delete {name}",deleteBcfButton:"Delete this BCF",keepBcfButton:"Keep this BCF",author:"Author"},BcfTopicsTable:{headers:{index:"#",priority:"Priority",status:"Status",title:"Title",creator:"Author",date:"Date"}},BcfTopicActionsCell:{seeButton:"See"},BcfTopicComments:{commentButton:"Post a comment",commentLabel:"Post a comment",commentText:"Comment",cancelButton:"Cancel",publishButton:"Publish",commentsText:"Comments",deleteCommentText:"Delete this comment ?",deleteButton:"Delete",takeSnapshot:"Take a snapshot"},BcfTopicPriorityCell:{noPriority:"None"},SettingCard:{addButton:"add an element",cancelButton:"Cancel",validateButton:"Validate",deleteExtensionText:"Remove this setting",deleteButton:"Delete",title:{Priority:"Priorities",Label:"Labels",Status:"Status",Type:"Types",Stage:"Stages"},input:{Priority:"Add a new priority",Label:"Add a new label",Status:"Add new status",Type:"Add a new type",Stage:"Add a new stage"},text:{Priority:"Priority list",Label:"Labels list",Status:"Status list",Type:"Type list",Stage:"Stage list"}}},sLi={BcfComponents:nLi},aLi={BcfFilters:{filtersButton:"Filtros",filtersTitle:"Filtros",priorityLabel:"Prioridad",statusLabel:"Estado",assignedToLabel:"Asignado a",creatorsLabel:"Creado por",tagsLabel:"Etiquetas:",resetButton:"Restablecer",searchButton:"Buscar en",undefined:"No definido",datePlaceholder:"Fecha de creaci\xF3n"},BcfSettings:{goBackButton:"Volver",title:"Par\xE1metros del BCF",text:"Cree, rellene y enumere los par\xE1metros del BCF que desea tener en este proyecto",validateButton:"Validar los par\xE1metros del BCF"},BcfStatistics:{emptyText:"A\xF1ada preguntas para ver las estad\xEDsticas asociadas aqu\xED.",issues:"problemas",extension:{Priority:"Prioridad",PriorityNotDefined:"Sin prioridad",PriorityTitle:"Prioridades",Status:"Estado",StatusNotDefined:"Sin estado",StatusTitle:"Estatutos"}},BcfTopicCard:{priority:"Prioridad :",noPriority:"Sin",assignedTo:"Asignado a :",elements:"Elementos",notSpecified:"No definido",see:"Ver"},BcfTopicCreationCard:{text:"Crear un nuevo tema BCF",createBcfSideTitle:"Informar de un problema"},BcfTopicForm:{dragDropImageText:"Seleccione un archivo",addObjectButton:"Objeto",addAnnotationButton:"Anotaci\xF3n",annotationButtonTooltip:"Actualmente este tema no posee ning\xFAn punto de vista",addPictureButton:"A\xF1adir una imagen",titlePlaceholder:"T\xEDtulo *",titleErrorMessage:"Falta el t\xEDtulo",typeLabel:"Tipo",priorityLabel:"Prioridad",statusLabel:"Estado",stageLabel:"Fase",assignedToLabel:"Asignado a",dueDateLabel:"Fecha de vencimiento (DD/MM/AAAA)",descriptionLabel:"Descripci\xF3n",labelsLabel:"Etiquetas",createButton:"Validar",updateButton:"Modificar este BCF",modalText:"Est\xE1 a punto de salir de la edici\xF3n del problema de {name} pero hay cambios sin guardar.",cancelButton:"Cancelar los cambios",continueButton:"Continuar con los cambios",createTitle:"Informar de un problema",dragDropImageTextTablet:"Tomar una fotograf\xEDa",takeSnapshot:"Tomar un snapshot",importFile:"Importar un archivo",searchPlaceholder:"Buscar",emptySearch:"No hay resultados"},BcfTopicOverview:{openViewer:"Abrir en el visor",openViewerNoModels:"No hay ning\xFAn modelo listo para la visualizaci\xF3n",elements:"{count} Elementos",noElements:"Ning\xFAn elemento",type:"Tipo",noTypeSpecified:"No se especifica el tipo",description:"Descripci\xF3n",noDescriptionProvided:"No hay descripci\xF3n",assignedTo:"Asignado a",notAssigned:"No asignado",dueDate:"Plazo",noDueDate:"Sin fecha de vencimiento",informations:"Informaci\xF3n",status:"Estado",noStatusSpecified:"No se especifica el estado",stage:"Fase",noStageProvided:"No se indica ninguna fase",priority:"Prioridad",priorityNotDefined:"No definido",tags:"Etiquetas",noTags:"Sin etiquetas",commentButton:"Publicar un comentario",deleteText:"Est\xE1s a punto de borrar {name}",deleteBcfButton:"Borrar este BCF",keepBcfButton:"Mantenga este BCF",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",creator:"Autor",date:"Fecha"}},BcfTopicActionsCell:{seeButton:"Ver"},BcfTopicComments:{commentButton:"Publicar un comentario",commentLabel:"Publicar un comentario",commentText:"Comentario",cancelButton:"Cancelar",publishButton:"Publicar",commentsText:"comentarios",deleteCommentText:"\xBFBorrar este comentario?",deleteButton:"Borrar",takeSnapshot:"Tomar un snapshot"},BcfTopicPriorityCell:{noPriority:"Sin"},SettingCard:{addButton:"a\xF1adir un elemento",cancelButton:"Cancelar",validateButton:"Validar",deleteExtensionText:"Borrar esta configuraci\xF3n",deleteButton:"Borrar",title:{Priority:"Prioridades",Label:"Etiquetas:",Status:"Estatutos",Type:"Tipos",Stage:"Fases"},input:{Priority:"A\xF1adir una nueva prioridad",Label:"A\xF1adir una nueva etiqueta",Status:"A\xF1adir un nuevo estado",Type:"A\xF1adir un nuevo tipo",Stage:"A\xF1adir una nueva fase"},text:{Priority:"Lista de prioridades",Label:"Lista de etiquetas",Status:"Lista de estatutos",Type:"Lista de tipos",Stage:"Lista de fases"}}},lLi={BcfComponents:aLi},cLi={BcfFilters:{filtersButton:"Filtres",filtersTitle:"Filtres",priorityLabel:"Priorit\xE9",statusLabel:"Statut",assignedToLabel:"Assign\xE9 \xE0",creatorsLabel:"Cr\xE9\xE9 par",tagsLabel:"Tags",resetButton:"R\xE9initialiser",searchButton:"Rechercher",undefined:"Non d\xE9fini",datePlaceholder:"Date de cr\xE9ation"},BcfSettings:{goBackButton:"Retour",title:"Param\xE8tres BCF",text:"Cr\xE9ez, renseignez et listez les param\xE8tres BCF que vous souhaitez avoir sur ce projet",validateButton:"Valider les param\xE8tres BCF"},BcfStatistics:{emptyText:"Ajoutez des questions pour voir les statistiques associ\xE9es ici.",issues:"probl\xE8mes",extension:{Priority:"Priorit\xE9",PriorityNotDefined:"Aucune priorit\xE9",PriorityTitle:"Priorit\xE9s",Status:"Statut",StatusNotDefined:"Aucun statut",StatusTitle:"Statuts"}},BcfTopicCard:{priority:"Priorit\xE9 : ",noPriority:"Aucune",assignedTo:"Assign\xE9 \xE0 : ",elements:"{n} \xC9lements",notSpecified:"Non d\xE9fini",see:"Voir"},BcfTopicCreationCard:{text:"Cr\xE9er un nouveau topic BCF",createBcfSideTitle:"Signaler un probl\xE8me"},BcfTopicForm:{dragDropImageText:"Veuillez s\xE9lectionner un fichier",addObjectButton:"Objet",addAnnotationButton:"Annotation",annotationButtonTooltip:"Ce topic ne poss\xE8de actuellement aucun point de vue",addPictureButton:"Ajouter une image",titlePlaceholder:"Titre *",titleErrorMessage:"Titre manquant",typeLabel:"Type",priorityLabel:"Priorit\xE9",statusLabel:"Statut",stageLabel:"Phase",assignedToLabel:"Assign\xE9 \xE0",dueDateLabel:"Date d'\xE9ch\xE9ance",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Valider",updateButton:"Modifier ce BCF",modalText:"Vous \xEAtes sur le point de quitter l'\xE9dition de l'issue {name} mais il y'a des modifications non enregistr\xE9es.",cancelButton:"Annuler les modifications",continueButton:"Continuer les modifications",createTitle:"Signaler un probl\xE8me",dragDropImageTextTablet:"Prendre une photo",takeSnapshot:"Prendre un snapshot",importFile:"Importer un fichier",searchPlaceholder:"Rechercher",emptySearch:"Pas de r\xE9sultat"},BcfTopicOverview:{openViewer:"Ouvrir dans le viewer",openViewerNoModels:"Il n'y a aucun mod\xE8le pr\xEAt pour une visualisation",elements:"{count} \xC9lements",noElements:"Aucun \xE9l\xE9ment concern\xE9",type:"Type",noTypeSpecified:"Pas de type sp\xE9cifi\xE9",description:"Description",noDescriptionProvided:"Pas de description renseign\xE9e",assignedTo:"Assign\xE9 \xE0",notAssigned:"Non assign\xE9",dueDate:"\xC9ch\xE9ance",noDueDate:"Pas de date d'\xE9ch\xE9ance",informations:"Informations",status:"Statut",noStatusSpecified:"Pas de statut sp\xE9cifi\xE9",stage:"Phase",noStageProvided:"Pas de phase renseign\xE9e",priority:"Priorit\xE9",priorityNotDefined:"Non d\xE9fini",tags:"Tags",noTags:"Pas de tags",commentButton:"Poster un commentaire",deleteText:"Vous \xEAtes sur le point de supprimer {name}",deleteBcfButton:"Supprimer ce BCF",keepBcfButton:"Conserver ce BCF",author:"Auteur"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE9",status:"Statut",title:"Titre",creator:"Auteur",date:"Date"}},BcfTopicActionsCell:{seeButton:"Voir"},BcfTopicComments:{commentButton:"Poster un commentaire",commentLabel:"Poster un commentaire",commentText:"Commentaire",cancelButton:"Annuler",publishButton:"Publier",commentsText:"commentaires",deleteCommentText:"Supprimer ce commentaire ?",deleteButton:"Supprimer",takeSnapshot:"Prendre un snapshot"},BcfTopicPriorityCell:{noPriority:"Aucune"},SettingCard:{addButton:"ajouter un \xE9l\xE9ment",cancelButton:"Annuler",validateButton:"Valider",deleteExtensionText:"Supprimmer ce param\xE8tre",deleteButton:"Supprimer",title:{Priority:"Priorit\xE9s",Label:"Tags",Status:"Statuts",Type:"Types",Stage:"Phases"},input:{Priority:"Ajouter une nouvelle priorit\xE9",Label:"Ajouter un nouveau label",Status:"Ajouter un nouveau statut",Type:"Ajouter un nouveau type",Stage:"Ajouter une nouvelle phase"},text:{Priority:"Liste des priorit\xE9s",Label:"Liste des tags",Status:"Liste des statuts",Type:"Liste des types",Stage:"Liste des phases"}}},dLi={BcfComponents:cLi},uLi={BcfFilters:{filtersButton:"Filtri",filtersTitle:"Filtri",priorityLabel:"Priorit\xE0",statusLabel:"Stato",datePlaceholder:"Data di creazione",assignedToLabel:"Assegnato a",creatorsLabel:"Creato da",tagsLabel:"Etichette",resetButton:"Ripristina",searchButton:"Cerca",undefined:"Non definito"},BcfSettings:{goBackButton:"Indietro",title:"Parametri BCF",text:"Creare, notificare e elencare i parametri BCF che si desidera avere su questo progetto",validateButton:"Conferma i parametri BCF"},BcfStatistics:{emptyText:"Aggiungi delle domande per vedere le statistiche associate qui.",issues:"problemi",extension:{Priority:"Priorit\xE0",PriorityNotDefined:"Nessuna priorit\xE0",PriorityTitle:"Priorit\xE0",Status:"Stato",StatusNotDefined:"Nessuno stato",StatusTitle:"Stati"}},BcfTopicCard:{priority:"Priorit\xE0:",noPriority:"Nessuno",assignedTo:"Assegnato a:",elements:"Elementi",noElements:"0 elementi",notSpecified:"Non definito",see:"Visualizza"},BcfTopicCreationCard:{text:"Crea un nuovo topic BCF",createBcfSideTitle:"Segnala un problema"},BcfTopicForm:{dragDropImageText:"Selezionare un file",addObjectButton:"Oggetto",addAnnotationButton:"Annotazione",annotationButtonTooltip:"Attualmente questo argomento non presenta alcun punto di vista",addPictureButton:"Aggiungere un'immagine",titlePlaceholder:"Titolo *",titleErrorMessage:"Titolo mancante",typeLabel:"Tipo",priorityLabel:"Priorit\xE0",statusLabel:"Stato",stageLabel:"Fase",assignedToLabel:"Assegnato a",dueDateLabel:"Data di scadenza",descriptionLabel:"Descrizione",labelsLabel:"Tag",createButton:"Conferma",updateButton:"Modificare questo BCF",modalText:"State per abbandonare la modifica di {name} ma ci sono modifiche non salvate.",cancelButton:"Annullare le modifiche",continueButton:"Continuare le modifiche",createTitle:"Segnala un problema"},BcfTopicOverview:{openViewer:"Apri nel visualizzatore",openViewerNoModels:"Non esistono modelli pronti per la visualizzazione",elements:"{count} Elementi",noElements:"Nessun elemento",type:"Tipo",noTypeSpecified:"Nessun tipo specificato",description:"Descrizione",noDescriptionProvided:"Nessuna descrizione inserita",assignedTo:"Assegnato a",notAssigned:"Non assegnato",dueDate:"Scadenza",noDueDate:"Nessuna data di scadenza",informations:"Informazioni",status:"Stato",noStatusSpecified:"Nessuno stato specificato",stage:"Fase",noStageProvided:"Nessuna fase inserita",priority:"Priorit\xE0",priorityNotDefined:"Non definita",tags:"Etichette",noTags:"Nessuna etichetta",commentButton:"Pubblica un commento",deleteText:"Stai per eliminare {name}",deleteBcfButton:"Elimina questo BCF",keepBcfButton:"Conserva questo BCF",author:"Autore"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE0",status:"Stato",title:"Titolo",creator:"Autore",date:"Data"}},BcfTopicActionsCell:{seeButton:"Visualizza"},BcfTopicComments:{commentButton:"Pubblica un commento",commentLabel:"Pubblica un commento",commentText:"Commento",cancelButton:"Annulla",publishButton:"Pubblica",commentsText:"commenti",deleteCommentText:"Eliminare questo commento?",deleteButton:"Elimina"},BcfTopicPriorityCell:{noPriority:"Nessuno"},SettingCard:{addButton:"aggiungi un elemento",cancelButton:"Annulla",validateButton:"Conferma",deleteExtensionText:"Elimina questo parametro",deleteButton:"Elimina",title:{Priority:"Priorit\xE0",Label:"Etichette",Status:"Stati",Type:"Tipi",Stage:"Fasi"},input:{Priority:"Aggiungi una nuova priorit\xE0",Label:"Aggiungi una nuova etichetta",Status:"Aggiungi un nuovo stato",Type:"Aggiungi un nuovo tipo",Stage:"Aggiungi una nuova fase"},text:{Priority:"Elenco delle priorit\xE0",Label:"Elenco delle etichette",Status:"Elenco degli stati",Type:"Elenco dei tipi",Stage:"Elenco delle fasi"}}},ALi={BcfComponents:uLi},hLi={de:oLi,en:sLi,es:lLi,fr:dLi,it:ALi},pLi=({apiClient:t,fetchUsers:e,i18nPlugin:i}={})=>({install(r){t?mo.setup({apiClient:t,fetchUsers:e}):console.error("[BCF Components Plugin] No api client provided. You must provide an api client for the components to work properly."),i?Object.entries(hLi).forEach(([o,n])=>{i.global.mergeLocaleMessage(o,n)}):console.warn("[BCF Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(lqe).forEach(([o,n])=>{r.component(o,n)})}}),gLi={title:"Building Maker",back:"Zur\xFCck",list:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",createButton:"Neues Projekt",updateButton:"Umbenennen",deleteButton:"L\xF6schen"},form:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",input:"Name des Geb\xE4udes",error:"Ung\xFCltiger Name",createButton:"Erstellen",updateButton:"Best\xE4tigen"},view:{addStoreyButton:"Etage",addPlanButton:"Grundriss",closeButton:"Fertigstellen",submitFilesButton:"Best\xE4tigen"},storeyForm:{title:"Neue Etage",input:"Name",error:"Ung\xFCltiger Name",cancelButton:"Abbrechen",submitButton:"Best\xE4tigen"}},fLi={creationFormTitle:"Ordner erstellen",renameFormPlaceholder:"Datei- / Ordnernam",nameInputPlaceholder:"Ordnername",emptyFolder:"Dieser Ordner ist leer",newFolderSuccess:"Neuer Ordner erstellt",renameFolderSuccess:"Umbenannter Ordner",deleteFolderSuccess:"Ordner gel\xF6scht",newFileSuccess:"Datei hinzugef\xFCgt",renameFileSuccess:"Umbenannte Datei",deleteFileSuccess:"Datei gel\xF6scht",nameInputErrorMessage:"Ung\xFCltiger name",cancel:"Abbrechen",submit:"Best\xE4tigen",buttonText:"Neuer Ordner",addFileButtonText:"Datei laden",rename:"Umbenennen",view:"Sehen",download:"Herunterladen",delete:"L\xF6schen",deleteTitle:"Dateien l\xF6schen",deleteDetail:"Sie sind im Begriff, die folgenden Dateien / Ordner endg\xFCltig zu l\xF6schen"},mLi={BuildingMaker:gLi,FileManager:fLi},vLi={t:{back:"Back",cancel:"Cancel",create:"Create",delete:"Delete",download:"Download",finish:"Finish",rename:"Rename",search:"Search",see:"View",storey:"Storey",validate:"Validate"}},CLi={title:"Building Maker",list:{text:"Create and edit storeys, then download your PDFs.",new:"New project"},form:{input:"Building name",error:"Invalid"},view:{addStorey:"Add Storey",addFile:"Add File",addPlan:"Add Plan"},storeyForm:{title:"New storey",input:"Name",error:"Invalid name"}},yLi={creationFormTitle:"Create folder",renameFormPlaceholder:"Folder/File name",nameInputPlaceholder:"Folder name",emptyFolder:"This folder is empty",newFolderSuccess:"New folder created",renameFolderSuccess:"Folder renamed",deleteFolderSuccess:"Folder deleted",newFileSuccess:"File added",renameFileSuccess:"File renamed",deleteFileSuccess:"File deleted",nameInputErrorMessage:"Invalid name",buttonText:"New folder",addFileButtonText:"Upload a file",deleteTitle:"Deleting Files",deleteDetail:"You are about to permanently delete the following files / folders",dmsRoot:"Root of the project's DMS",pdfPageSelectorTitle:"Select a page"},wLi={title:"Meta-Building Structure",tab:{structure:"Structure",zones:"Zones",equipments:"Equipments"},StoreySelector:{placeholder:"Select a storey"}},bLi={title:"Photosphere Building"},ILi={BIMDataComponents:vLi,BuildingMaker:CLi,FileManager:yLi,MetaBuildingStructure:wLi,PhotosphereBuilding:bLi},BLi={title:"Building Maker",back:"Vuelta",list:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",createButton:"Nuevo proyecto",updateButton:"Renombrar",deleteButton:"Suprimir"},form:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",input:"Nombre del edificio",error:"Nombre no v\xE1lido",createButton:"Crear",updateButton:"Validar"},view:{addStoreyButton:"Piso",addPlanButton:"Plano",closeButton:"Terminar",submitFilesButton:"Validar"},storeyForm:{title:"Nuevo piso",input:"Nombre",error:"Nombre no v\xE1lido",cancelButton:"Anular",submitButton:"Validar"}},ELi={creationFormTitle:"Crear un archivo",renameFormPlaceholder:"Nombre de archivo / carpeta",nameInputPlaceholder:"Nombre de la carpeta",emptyFolder:"Esta carpeta est\xE1 vac\xEDa",newFolderSuccess:"Nueva carpeta creada",renameFolderSuccess:"Carpeta renombrada",deleteFolderSuccess:"Carpeta eliminada",newFileSuccess:"Archivo agregado",renameFileSuccess:"Archivo renombrado",deleteFileSuccess:"Archivo eliminado",nameInputErrorMessage:"Nombre inv\xE1lida",cancel:"Cancelar",submit:"Validar",buttonText:"Carpeta nueva",addFileButtonText:"Cargar un archivo",rename:"Renombrar",view:"Ver",download:"Descargar",delete:"Borrar",deleteTitle:"Eliminar archivos",deleteDetail:"Est\xE1 a punto de eliminar permanentemente los siguientes archivos / carpetas"},xLi={BuildingMaker:BLi,FileManager:ELi},kLi={t:{back:"Retour",cancel:"Annuler",create:"Cr\xE9er",delete:"Supprimer",download:"T\xE9l\xE9charger",finish:"Terminer",rename:"Renommer",search:"Rechercher",see:"Voir",storey:"\xC9tage",validate:"Valider"}},MLi={title:"Building Maker",list:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",new:"Nouveau projet"},form:{input:"Nom du b\xE2timent",error:"Nom invalide"},view:{addStorey:"Ajouter un \xC9tage",addFile:"Ajouter un fichier",addPlan:"Ajouter un plan"},storeyForm:{title:"Nouvel \xE9tage",input:"Nom",error:"Nom invalide"}},SLi={creationFormTitle:"Cr\xE9er un dossier",renameFormPlaceholder:"Nom du fichier/dosier",nameInputPlaceholder:"Nom du dossier",emptyFolder:"Ce dossier est vide",newFolderSuccess:"Nouveau dossier cr\xE9\xE9",renameFolderSuccess:"Dossier renomm\xE9",deleteFolderSuccess:"Dossier supprim\xE9",newFileSuccess:"Fichier ajout\xE9",renameFileSuccess:"Fichier renomm\xE9",deleteFileSuccess:"Fichier supprim\xE9",nameInputErrorMessage:"Nom invalide",buttonText:"Nouveau dossier",addFileButtonText:"Charger un fichier",deleteTitle:"Supression de fichiers",deleteDetail:"Vous \xEAtes sur le point de supprimer d\xE9finitivement les fichiers/dossiers suivants",dmsRoot:"Racine de la GED du projet",pdfPageSelectorTitle:"S\xE9lectionner une page"},QLi={title:"Structure M\xE9ta-Building",tab:{structure:"Structure",zones:"Zones",equipments:"\xC9quipements"},StoreySelector:{placeholder:"S\xE9lectionner un \xE9tage"}},DLi={title:"Photosph\xE8re Building"},PLi={BIMDataComponents:kLi,BuildingMaker:MLi,FileManager:SLi,MetaBuildingStructure:QLi,PhotosphereBuilding:DLi},RLi={title:"Building Maker",back:"Reso",list:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",createButton:"Nuovo progetto",updateButton:"Rinominare",deleteButton:"Eliminare"},form:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",input:"Nome della costruzione",error:"Nome non corretto",createButton:"Creare",updateButton:"Convalidare"},view:{addStoreyButton:"Piano",addPlanButton:"Mappa",closeButton:"Finire",submitFilesButton:"Convalidare"},storeyForm:{title:"Nuovo piano",input:"Nome",error:"Nome non corretto",cancelButton:"Annullare",submitButton:"Convalidare"}},LLi={creationFormTitle:"Crea una cartella",renameFormPlaceholder:"Nome file/cartella",nameInputPlaceholder:"Nome della cartella",emptyFolder:"Questa cartella \xE8 vuota",newFolderSuccess:"Nuova cartella creata",renameFolderSuccess:"Cartella rinominata",deleteFolderSuccess:"Cartella eliminata",newFileSuccess:"File aggiunto",renameFileSuccess:"File rinominato",deleteFileSuccess:"File cancellato",nameInputErrorMessage:"Nome non valido",cancel:"Annulla",submit:"Invia",buttonText:"Nuova cartella",addFileButtonText:"Carica un file",rename:"Rinominare",view:"Vedere",download:"Scaricare",delete:"Cancellare",deleteTitle:"Eliminazione di file",deleteDetail:"Stai per eliminare definitivamente i seguenti file/cartelle"},TLi={BuildingMaker:RLi,FileManager:LLi},FLi={de:mLi,en:ILi,es:xLi,fr:PLi,it:TLi},_Li=({i18nPlugin:t}={})=>({install(e){t?Object.entries(FLi).forEach(([i,r])=>{t.global.mergeLocaleMessage(i,r)}):console.warn("[BIMData Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(Cvi).forEach(([i,r])=>{e.component(i,r)})}}),ULi={beforeMount(t,e){if(typeof e.value!="function")throw Error(`click away directive needs function, got ${typeof e.value}`);t.clickAwayHandler=i=>{(i.path||i.composedPath&&i.composedPath()).find(r=>r===t)||e.value()},window.addEventListener("mousedown",t.clickAwayHandler,!0)},unmounted(t){window.removeEventListener("mousedown",t.clickAwayHandler,!0),delete t.clickAwayHandler}},NLi=Object.freeze(Object.defineProperty({__proto__:null,BIMDataClickAway:kA,BIMDataClickInputAway:ULi},Symbol.toStringTag,{value:"Module"})),OLi=t=>({install(e){Object.entries(e5t).forEach(([i,r])=>{e.component(i,r)}),Object.entries(NLi).forEach(([i,r])=>e.directive(i.split("BIMData")[1],r))}}),HLi={name:"LiWrapper",render(){return Ln("li",this.$slots.default())}};function VLi(t,e){var i=new Set([]);return t.forEach(r=>{e.has(r)||i.add(r)}),i}const th=Ia("id"),GLi=({contextMenu:t,objects:e=[],state:i=t.$viewer.state,pictos:r})=>[{name:"selectAll",get group(){return t.groupPositions.select},position:1,get label(){return t.$t("context_menu.select_all")},get picto(){return r.get(this.name)},execute:()=>i.selectObjects(e.filter(gA(Mr("visible"),hf("selected"))).map(th)),predicate:()=>e.some(gA(Mr("visible"),hf("selected")))},{name:"deselectAll",get group(){return t.groupPositions.select},position:2,get label(){return t.$t("context_menu.deselect_all")},get picto(){return r.get(this.name)},execute:()=>i.deselectObjects(e.filter(Mr("selected")).map(th)),predicate:()=>e.some(Mr("selected"))},{name:"selectSimilar",get group(){return t.groupPositions.select},position:3,get label(){return t.$t("context_menu.select_similar")},get picto(){return r.get(this.name)},execute(){const o=e.filter(n=>n.visible&&n.type===this.selectedObject.type&&n.id!==this.selectedObject.id).map(th);i.selectObjects(o)},selectedObject:null,predicate(){const o=e.filter(gA(Mr("visible"),Mr("selected")));return o.length===1&&o[0].type!==void 0?(this.selectedObject=o[0],!0):(this.selectedObject=null,!1)}},{name:"reverseSelection",get label(){return t.$t("context_menu.reverse_selection")},get group(){return t.groupPositions.select},position:4,execute:()=>{const o=new Set(e.filter(Mr("selected")).map(th)),n=new Set(e.filter(Mr("visible")).map(th));i.selectObjects(Array.from(VLi(n,o)),{exclusive:!0})},predicate:()=>e.some(gA(hf("selected"),Mr("visible")))&&e.some(gA(Mr("selected"),Mr("visible")))},{name:"showAll",get group(){return t.groupPositions.visibility},position:1,get label(){return t.$t("context_menu.show_all")},get picto(){return r.get(this.name)},execute:()=>i.showObjects(e.filter(hf("visible")).map(th)),predicate:()=>e.some(hf("visible"))},{name:"hide",get group(){return t.groupPositions.visibility},position:2,get label(){return t.$t("context_menu.hide")},get picto(){return r.get(this.name)},objectsToHide:null,execute(){const o=this.objectsToHide.filter(Mr("selected"));o.length>0&&i.deselectObjects(o.map(th)),i.hideObjects(this.objectsToHide.map(th))},predicate(){return this.objectsToHide=e.filter(gA(Mr("selected"),Mr("visible"))),this.objectsToHide.length>0}},{name:"hideAll",get group(){return t.groupPositions.visibility},position:3,get label(){return t.$t("context_menu.hide_all")},execute:()=>{const o=e.filter(Mr("visible"));o.some(Mr("selected"))&&i.deselectObjects(o.filter(Mr("selected")).map(th)),i.hideObjects(o.map(th))},predicate:()=>e.some(Mr("visible"))}].filter(o=>o.predicate()),jLi={components:{LiWrapper:HLi},inject:["$viewer"],data(){return{defaultPrevented:!1,displayed:!1,top:null,bottom:null,left:null,width:200,nextCommandId:1,currentCommands:[],contextCommands:[],registeredCommands:[],groupPositions:{select:10,visibility:20},asyncPredicateRunning:!1}},computed:{position(){return{top:this.top?this.top+"px":"unset",bottom:this.bottom?this.bottom+"px":"unset",left:this.left+"px",width:this.width+"px"}}},watch:{displayed(t){t?document.addEventListener("keydown",this.onKeyDown):document.removeEventListener("keydown",this.onKeyDown)}},created(){this.$viewer.contextMenu=this,this.asyncPredicates=new Set},methods:{onKeyDown(t){t.key==="Escape"&&this.away()},setPosition(t){const e=(document.fullscreenElement?document.fullscreenElement:this.$parent.$el).getBoundingClientRect();this.left=t.clientX-e.left,this.top=t.clientY-e.top,this.left+this.width>e.width&&(this.left=this.left-this.width),t.clientY>e.top+e.height/2?(this.bottom=e.height-this.top,this.top=null):this.bottom=null},typeCheckCommand(t={}){let e=null;if((!t.execute||typeof t.execute!="function")&!t.component&&(e="Cannot register context menu command. A command must have an execute function or a component property."),t.label||(e="Cannot register context menu command. A command must have a label."),e)throw console.error(e),new Error(e);return t.id=this.nextCommandId++,t},open(t){this.currentCommands=[],this.setPosition(t),this.originEvent=t,t.preventDefault(),this.setCurrentCommands(),this.groupCurrentCommands(),this.defaultPrevented=!1,this.displayed=!0,document.fullscreenElement?(this.$el.parentElement.removeChild(this.$el),this.adoptiveParent=document.fullscreenElement,this.adoptiveParent.appendChild(this.$el)):this.adoptiveParent&&this.adoptiveParent!==this.$viewer.globalContext.el&&(this.adoptiveParent.removeChild(this.$el),this.$viewer.globalContext.el.appendChild(this.$el),this.adoptiveParent=null)},setCurrentCommands(){this.asyncPredicates.clear(),this.asyncPredicateRunning=!1,this.defaultPrevented||this.registeredCommands.forEach(async t=>{if(typeof t.predicate=="function"){const e=t.predicate(this.$viewer.globalContext.activeLocalContext);if(e===!0)this.currentCommands.push(t);else if(typeof e?.then=="function"){this.asyncPredicates.add(e),this.asyncPredicateRunning=!0;const i=await e;this.asyncPredicates.has(e)&&(this.asyncPredicates.delete(e),this.asyncPredicateRunning=this.asyncPredicates.size>0,i===!0&&this.currentCommands.push(t))}}else this.currentCommands.push(t)}),this.currentCommands.push(...this.contextCommands),this.contextCommands=[]},getDefaultCommands({objects:t=[],state:e=this.$viewer.state,context:i=null}){const r=new Map;return i&&this.$viewer.shortcutManager.getShortcuts(i).forEach(o=>r.set(o.name,o.key)),GLi({contextMenu:this,objects:t,state:e,pictos:r})},executeCommand(t){if(t.execute&&(t.execute(this.originEvent),this.displayed=!1),t.component&&!t.menu)throw new Error("Command with component property must have a `menu` property")},away(){this.displayed=!1},groupCurrentCommands(){const t=new Map;this.currentCommands.forEach(i=>{(i.group===null||i.group===void 0)&&(i.group=0),t.has(i.group)?t.get(i.group).push(i):t.set(i.group,[i])}),t.forEach(i=>i.sort((r,o)=>(r.position=r.position||0,o.position=o.position||0,r.position-o.position)));const e=[...t.keys()].sort((i,r)=>i-r).map(i=>t.get(i)).flat();this.currentCommands=e},isGroupIntersection(t){if(t===0)return!1;const e=this.currentCommands[t-1],i=this.currentCommands[t];return e.group<i.group},registerContextCommand(t){const e=this.typeCheckCommand(t);return this.contextCommands.push(e),t.id},registerCommand(t){const e=this.typeCheckCommand(t);return this.registeredCommands.push(e),t.id},unregisterCommand(t){return this.registeredCommands.find(e=>e.id===t)?(this.registeredCommands=this.registeredCommands.filter(e=>e.id!==t),!0):!1},preventDefault(){this.defaultPrevented=!0}}},zLi={key:0,class:"separator"},qLi={class:"menu-text"},KLi={key:1,class:"menu-picto"},JLi={key:0,class:"context-menu__spinner"};function YLi(t,e,i,r,o,n){const s=R("BIMDataIconChevron"),a=R("LiWrapper"),l=R("BIMDataSpinner"),c=ir("click-away");return o.displayed&&(o.currentCommands.length||o.asyncPredicateRunning)?Ft((Q(),N("ul",{key:0,class:"bimdata-list context-menu",style:Be(n.position)},[(Q(!0),N(Et,null,Wt(o.currentCommands,(d,u)=>(Q(),te(a,{key:d.label,class:"context-menu__element",onClick:A=>n.executeCommand(d)},{default:z(()=>[n.isGroupIntersection(u)?(Q(),N("div",zLi)):fe("",!0),B("div",qLi,ee(d.label),1),!d.component&&d.picto?(Q(),N("span",KLi,ee(d.picto),1)):d.component?(Q(),te(s,{key:2,size:"xxs",class:"fill-primary"})):fe("",!0)]),_:2},1032,["onClick"]))),128)),o.asyncPredicateRunning?(Q(),N("li",JLi,[L(l)])):fe("",!0)],4)),[[c,n.away]]):fe("",!0)}const WLi=K(jLi,[["render",YLi],["__scopeId","data-v-5b87d4a3"]]),ZLi={name:"ViewerHeader",inject:["$viewer"],props:{visible:{type:Boolean,default:!0}},setup(){const t=_t("$viewer"),e=Ea(new Map),i=o=>{if(!o.name)throw new TypeError("[Viewer Header] Content must have a name");if(e.has(o.name))throw new Error(`[Viewer Header] Content with name ${o.name} already exists`);e.set(o.name,o)},r=o=>e.has(o)?(e.delete(o),!0):!1;return{logo:t.uiSettings.bimdataLogo!==!1,version:t.uiSettings.version!==!1?t.version:null,headerContent:e,headerRightContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="right").sort((o,n)=>o.order-n.order).map(o=>o.component)),headerLeftContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="left").sort((o,n)=>o.order-n.order).map(o=>o.component)),addContent:i,removeContent:r}}},XLi={class:"viewer-header"},$Li={class:"viewer-header__content"},eTi={class:"viewer-header__content__left"},tTi={class:"viewer-header__content__right"},iTi={key:0,class:"m-l-6 flex items-center"},rTi={key:1,class:"viewer-header__version"};function oTi(t,e,i,r,o,n){const s=R("BIMDataIllustration");return Ft((Q(),N("div",XLi,[B("div",$Li,[B("div",eTi,[(Q(!0),N(Et,null,Wt(r.headerLeftContentComponents,a=>(Q(),te(Uo(a),{key:a.name}))),128))]),B("div",tTi,[(Q(!0),N(Et,null,Wt(r.headerRightContentComponents,a=>(Q(),te(Uo(a),{key:a.name}))),128))])]),r.logo||r.version?(Q(),N("div",iTi,[r.logo?(Q(),te(s,{key:0,name:"logo",width:"30px",height:"30px"})):fe("",!0),r.version?(Q(),N("div",rTi,ee(r.version),1)):fe("",!0)])):fe("",!0)],512)),[[vi,i.visible]])}const nTi=K(ZLi,[["render",oTi],["__scopeId","data-v-5c9ea6b6"]]),sTi={emits:["resize"],setup(t,{emit:e}){return{onResizerMousedown:i=>{i.preventDefault();let r=i.clientX;const o=s=>{s.preventDefault();const a=s.clientX-r;r=s.clientX,e("resize",a)},n=s=>{s.preventDefault(),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",n)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",n)}}}},aTi={class:"bimdata-separator"};function lTi(t,e,i,r,o,n){return Q(),N("div",aTi,[e[1]||(e[1]=B("div",{class:"bimdata-separator__line"},null,-1)),B("div",{class:"bimdata-separator__resizer",onMousedown:e[0]||(e[0]=(...s)=>r.onResizerMousedown&&r.onResizerMousedown(...s))},null,32)])}const cTi=K(sTi,[["render",lTi],["__scopeId","data-v-79a3b3af"]]),dTi={components:{Separator:cTi},props:{position:{type:String,required:!0,validator(t){return["left","right"].includes(t)}},sidePanel:{type:Object,required:!0,validator(t){if(t.width&&(typeof t.width!="number"||t.width<0))return console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof t.width}`),!1;const e=typeof t?.component=="object";return e||console.error("[GlobalSidePanel] sidePanel must have a component property"),e}}},setup(t){const e=_e(null),i=_e(t.sidePanel.width??400),r=(o,n=1)=>{const s=i.value+o*n;i.value=Math.max(0,s)};return Ht(()=>t.sidePanel,()=>{Object.defineProperty(t.sidePanel,"width",{get(){return i.value},set(o){if(typeof o!="number"||o<=0){console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof o}`);return}i.value=o}}),Object.defineProperty(t.sidePanel,"componentInstance",{get(){return e.value},enumerable:!0})},{immediate:!0}),{componentInstance:e,width:i,onResize:r}}},uTi={class:"bimdata-global-side-panel__component"};function ATi(t,e,i,r,o,n){const s=R("Separator");return Q(),N("div",{class:"bimdata-global-side-panel",style:Be(`width: ${r.width}px`)},[i.sidePanel.resizable&&i.position==="right"?(Q(),te(s,{key:0,onResize:e[0]||(e[0]=a=>r.onResize(a,-1))})):fe("",!0),B("div",uTi,[(Q(),te(Uo(i.sidePanel.component),{ref:"componentInstance"},null,512))]),i.sidePanel.resizable&&i.position==="left"?(Q(),te(s,{key:1,onResize:e[1]||(e[1]=a=>r.onResize(a))})):fe("",!0)],4)}const hTi=K(dTi,[["render",ATi],["__scopeId","data-v-82d0d4cb"]]),pTi={name:"BimdataViewer",components:{ContextMenu:WLi,ViewerHeader:nTi,ModalManager:MEe,GlobalSidePanel:hTi},setup(){const t=_t("$viewer"),{globalContext:e,shortcutManager:i}=t;fo(()=>{i&&i.destroy(),e.hub.clear()}),Sr(()=>{t.pluginManager.runPluginsScripts(t)});const r=At(()=>{var h;return t.uiSettings.bimdataLogo!==!1&&(e.localContexts.length!==1||((h=e.localContexts[0].window)==null?void 0:h.logoAndVersion))}),o=At(()=>{var h;return t.uiSettings.version!==!1&&(e.localContexts.length!==1||(h=e.localContexts[0].window)!=null&&h.logoAndVersion)?t.version:null}),n=At(()=>e.leftSidePanel),s=At(()=>e.rightSidePanel),a=At(()=>{var h;const g=t.uiSettings.header!==!1,p=e.localContexts.length===1&&((h=e.localContexts[0].window)==null?void 0:h.header)===!1,m=!!(n.value||s.value);return g&&(!p||m)}),l=t.uiSettings.contextMenu!==!1,c=_e(null);function d(h){l&&c.value.open(h)}function u(){t.shortcutManager.active=!0}function A(){t.shortcutManager.active=!1}return{Layout:t.layout.areas.component,onContextMenu:d,onMouseenter:u,onMouseleave:A,isHeaderVisible:a,viewerTemplateRef:e.templateRef,modalManagerTemplateRef:e.modalManagerTemplateRef,headerTemplateRef:e.headerTemplateRef,contextMenuTemplateRef:c,contextMenuEnabled:l,bimdataLogoOnSingleWindow:r,viewerVersionOnSingleWindow:o,version:t.version,loading:At(()=>e.loading),spinner:At(()=>e.spinner),leftSidePanel:n,rightSidePanel:s}}},gTi={key:1,class:"global-spinner",style:{"z-index":"3"}},fTi={key:2,class:"viewer__logo"},mTi={key:1,class:"version m-t-6"};function vTi(t,e,i,r,o,n){const s=R("ModalManager"),a=R("ContextMenu"),l=R("ViewerHeader"),c=R("GlobalSidePanel"),d=R("BIMDataSpinner"),u=R("BIMDataIllustration");return Q(),N("div",{id:"bimdata-viewer",ref:"viewerTemplateRef",class:"bimdata-viewer bimdata-scrollbar",onContextmenu:e[0]||(e[0]=(...A)=>r.onContextMenu&&r.onContextMenu(...A)),onMouseenter:e[1]||(e[1]=(...A)=>r.onMouseenter&&r.onMouseenter(...A)),onMouseleave:e[2]||(e[2]=(...A)=>r.onMouseleave&&r.onMouseleave(...A))},[L(s,{ref:"modalManagerTemplateRef"},null,512),r.contextMenuEnabled?(Q(),te(a,{key:0,ref:"contextMenuTemplateRef"},null,512)):fe("",!0),L(l,{ref:"headerTemplateRef",visible:r.isHeaderVisible},null,8,["visible"]),B("div",{class:"bimdata-viewer__content",style:Be(r.isHeaderVisible?"height: calc(100% - var(--bimdata-viewer-header-height, 40px))":"height: 100%")},[r.leftSidePanel?(Q(),te(c,{key:0,"side-panel":r.leftSidePanel,position:"left"},null,8,["side-panel"])):fe("",!0),(Q(),te(Uo(r.Layout),{style:"height: 100%; flex-grow: 1;"})),r.rightSidePanel?(Q(),te(c,{key:1,"side-panel":r.rightSidePanel,position:"right"},null,8,["side-panel"])):fe("",!0)],4),r.loading?(Q(),N("div",gTi,[r.spinner&&r.spinner.component?(Q(),te(Uo(r.spinner.component),hd(al({key:0},r.spinner.props)),null,16)):(Q(),te(d,{key:1,size:"40px",border:"5px"}))])):fe("",!0),!r.isHeaderVisible&&(r.bimdataLogoOnSingleWindow||r.viewerVersionOnSingleWindow)?(Q(),N("div",fTi,[r.bimdataLogoOnSingleWindow?(Q(),te(u,{key:0,name:"logo"})):fe("",!0),r.viewerVersionOnSingleWindow?(Q(),N("div",mTi,ee(r.version),1)):fe("",!0)])):fe("",!0)],544)}const CTi=K(pTi,[["render",vTi],["__scopeId","data-v-d81cd5dc"]]),yTi=["src"],wTi={class:"bimdata-models__header"},bTi={key:0,class:"bimdata-models__header__loader"},ITi={class:"bimdata-models__header__picto"},BTi={class:"bimdata-models__header__name"},ETi={key:0,class:"bimdata-models__header__name--empty"},xTi={key:1,class:"bimdata-models__header__name--empty"},kTi={key:3},MTi=["onMousemove","onClick"],STi={__name:"Models",props:{preview:{type:Boolean,default:!1},windowPositioning:{type:Boolean,default:!0},customFilter:{type:Function,default:null},width:{type:String,default:"350px"}},setup(t){const e=t,i=_t("$viewer"),r=_e(),o=_e(0),n=_e(0),s=_e(),a=ko([]),l=_e(!1),c=At(()=>i.localContext.loadedModels),d=At(()=>i.localContext.loadedModelIds),u=At(()=>i.localContext.loadingModelIds),A=At(()=>i.localContext.multiModel),h=At(()=>(e.customFilter?a.value.filter(e.customFilter):a.value).map(b=>c.value.find(E=>{var k;return((k=E.document)==null?void 0:k.head_id)!=null&&E.document.head_id===b.document.id})??b)),g=b=>d.value.includes(b),p=b=>u.value.includes(b),m=At(()=>{var b;const{x:E,y:k}=((b=s.value)==null?void 0:b.getBoundingClientRect())??{x:0,y:0};return`top:${n.value-k}px; left:${o.value-E}px;`}),f=b=>{!A.value&&g(b.id)||u.value.length>0||(i.localContext.loadedModelIds.includes(b.id)?i.localContext.unloadModels([b.id]):i.localContext.loadModels([b.id]))},C=b=>{switch(b){case"C":return"success";case"E":return"failed";case"P":case"I":return"sandglass"}},y=(b,E)=>{b!=null&&b.viewer_360_file&&(o.value=E.clientX,n.value=E.clientY),r.value=b?.viewer_360_file},v=async b=>{l.value=!0;try{return(await i.api.apiClient.modelApi.getModels(i.api.cloudId,i.api.projectId,void 0,void 0,b)).filter(E=>i.state.models.some(k=>k.archived)||!E.archived).sort(s1("updated_at",!1))}catch(E){console.error("[Models] Cannot get project models. Error: ",E)}finally{l.value=!1}return[]},w=b=>{var E;return((E=b.children)==null?void 0:E.some(k=>g(k.id)))??!1};return v(i.localContext.modelTypes).then(b=>{a.value=b}),(b,E)=>{const k=R("BIMDataSpinner"),x=R("BIMDataIconModel3D"),M=R("BIMDataTextbox"),D=R("BIMDataCheckbox"),P=R("BIMDataRadio"),T=R("BIMDataIcon"),U=R("BIMDataDropdownList");return Q(),N("div",{ref_key:"templateRef",ref:s,class:be(["bimdata-models",{"bimdata-models--window-positioning":t.windowPositioning}])},[r.value?(Q(),N("div",{key:0,class:"bimdata-models__preview",style:Be(m.value)},[B("img",{src:r.value},null,8,yTi)],4)):fe("",!0),L(U,{style:Be(`--bimdata-models-width: ${t.width};`),width:t.width,list:h.value,"element-key":"id","per-page":40,loading:l.value,class:"bimdata-models__list",disabled:h.value.length===0,onElementClick:f},{header:z(({isOpen:H})=>[B("div",wTi,[l.value||u.value.length>0?(Q(),N("div",bTi,[L(k)])):(Q(),N(Et,{key:1},[B("div",ITi,[L(x)]),B("div",{class:be(["bimdata-models__header__number bimdata-info-length",{"bimdata-models__header__number--empty":d.value.length===0}])},[B("span",null,ee(d.value.length),1)],2),B("div",BTi,[h.value.length===0?(Q(),N("span",ETi,ee(b.$t("model.no_model")),1)):d.value.length===0?(Q(),N("span",xTi,ee(b.$t("model.no_loaded_model")),1)):d.value.length===1?(Q(),te(M,{key:2,text:c.value[0].name,tooltip:!H},null,8,["text","tooltip"])):d.value.length>1?(Q(),N("span",kTi,ee(b.$t("model.selected_models")),1)):fe("",!0)])],64))])]),element:z(({element:H,close:_})=>[B("div",{class:"bimdata-models__model",onMousemove:V=>t.preview&&y(H,V),onMouseout:E[0]||(E[0]=V=>t.preview&&y()),onClick:()=>{!A.value&&!g(H.id)&&_()}},[A.value?(Q(),te(D,{key:0,"model-value":g(H.id)||w(H),disabled:H.status!=="C"||u.value.length>0},null,8,["model-value","disabled"])):(Q(),te(P,{key:1,"model-value":g(H.id)||w(H),disabled:H.status!=="C"||u.value.length>0},null,8,["model-value","disabled"])),L(T,{margin:"0 calc(var(--spacing-unit) / 2)",name:C(H.status),size:"xs",class:be({"fill-success":H.status==="C","fill-high":H.status==="E"})},null,8,["name","class"]),L(M,{class:be({"bimdata-models__model__name":!0,"bimdata-models__model__name--disabled":H.status!=="C"||u.value.length>0}),text:H.name,width:`calc(100% -
5494
+ `),onMouseenter:e[0]||(e[0]=(...A)=>r.onMouseEnter&&r.onMouseEnter(...A)),onMouseleave:e[1]||(e[1]=(...A)=>r.onMouseLeave&&r.onMouseLeave(...A))},[L(s,{ref:"modalManagerTemplateRef"},null,512),B("div",jRi,[r.windowPlugins.leftSidePanel?(Q(),te(a,{key:0,plugin:r.windowPlugins.leftSidePanel},null,8,["plugin"])):fe("",!0),B("div",zRi,[(Q(!0),N(Et,null,Wt(r.windowPlugins.free,A=>(Q(),te(l,{key:A.name,class:be({"window-container__content__center__viewer":A.isViewer}),plugin:A},null,8,["class","plugin"]))),128)),L(c,{position:"left",plugins:r.windowPlugins.leftButtonColumn},null,8,["plugins"]),L(c,{position:"right",plugins:r.windowPlugins.rightButtonColumn},null,8,["plugins"])]),r.windowPlugins.rightSidePanel?(Q(),te(a,{key:1,plugin:r.windowPlugins.rightSidePanel},null,8,["plugin"])):fe("",!0)]),r.loading?(Q(),N("div",qRi,[r.spinner&&r.spinner.component?(Q(),te(Uo(r.spinner.component),hd(al({key:0},r.spinner.props)),null,16)):(Q(),te(d,{key:1,size:"20px",border:"3px"}))])):fe("",!0),r.layoutSettingsDisplayed?(Q(),N("div",KRi,[L(u)])):fe("",!0)],36)}const YRi=K(GRi,[["render",JRi],["__scopeId","data-v-558e7ce5"]]);let WRi=class{constructor(t=!0){const e=_Pi(tae,null,{resizable:t});e.registerContent("default",YRi),this.settings=Ea({edit:!1,swap:!1,full:!1}),this.areas=e}get resizable(){return this.areas.resizable}set resizable(t){this.areas.resizable=t}apply(t=null){this.areas.layout=t?UPi(t):null}copy(t,e=!0){return NPi(this.areas.layout,t,e)}open({ratio:t,direction:e,insertAfter:i,windowName:r=null,windowState:o=null,localContextId:n=null}={}){const s=r?{options:{windowName:r,windowState:o}}:null;return n===null?this.areas.splitLayout(t,e,i,s):this.areas.split(n,t,e,i,s)}swap(t,e){return this.areas.swap(t,e)}close(t){return this.areas.delete(t)}compare(t,e){var i,r;if(!t&&!e)return!0;if(!t||!e)return!1;if(typeof t=="string"&&typeof e=="string")return t===e;if(typeof t=="string"||typeof e=="string")return!1;if(t.windowName&&e.windowName){if(t.windowName!==e.windowName)return!1;const o=new Set((i=t.windowState)==null?void 0:i.modelIds),n=new Set((r=e.windowState)==null?void 0:r.modelIds);return o.size===n.size&&[...o].every(s=>n.has(s))}return t.windowName||e.windowName||t.direction!==e.direction||t.children.length!==e.children.length?!1:t.children.every((o,n)=>this.compare(o,e.children[n]))}};const ZRi="2.9.0-beta.8",XRi={version:ZRi};class $Ri{constructor({plugins:e,api:i,ui:r,locale:o="fr"}){this.pluginManager=new YMi(e),this.windowManager=new ZMi,this.windowManager.registerAndAddPluginsToWindows([...this.pluginManager.registeredPlugins.values()]),this.api=new NDi(i),this.globalContext=new VOe(this),this.state=tPi(this),this.shortcutManager=kRe(this.state),this.uiSettings=r||{},this.i18n=new OOe(o),this._contextMenu=null,this.layout=new WRi(this.uiSettings.resizable!==!1),this.localContext=null,window.$viewer=this}get version(){return XRi.version}get locale(){return this.i18n.locale}get contextMenu(){return this._contextMenu||ERe}set contextMenu(e){this._contextMenu=e}get registeredWindows(){return[...this.windowManager.registeredWindows.keys()]}get registeredPlugins(){return[...this.pluginManager.registeredPlugins.keys()]}get pluginsCfg(){return this.pluginManager.cfg}registerPlugin(e){this.pluginManager.registerPlugin(e),this.windowManager.registerAndAddPluginsToWindows([e])}}function eLi(t,e={}){e.backgroundColor&&(t.style.setProperty("--bimdata-viewer-background-color",e.backgroundColor),e.backgroundColor==="transparent"&&t.style.setProperty("--areas-separator-color","transparent")),e.colorPrimary&&t.style.setProperty("--color-primary",e.colorPrimary),e.colorPrimaryLighter&&t.style.setProperty("--color-primary-lighter",e.colorPrimaryLighter),e.colorPrimaryLight&&t.style.setProperty("--color-primary-light",e.colorPrimaryLight),e.colorPrimaryDark&&t.style.setProperty("--color-primary-dark",e.colorPrimaryDark),e.colorSecondary&&t.style.setProperty("--color-secondary",e.colorSecondary),e.colorSecondaryLighter&&t.style.setProperty("--color-secondary-lighter",e.colorSecondaryLighter),e.colorSecondaryLight&&t.style.setProperty("--color-secondary-light",e.colorSecondaryLight),e.colorSecondaryDark&&t.style.setProperty("--color-secondary-dark",e.colorSecondaryDark),e.colorSilverLight&&t.style.setProperty("--color-silver-light",e.colorSilverLight),e.colorSilver&&t.style.setProperty("--color-silver",e.colorSilver),e.colorSilverDark&&t.style.setProperty("--color-silver-dark",e.colorSilverDark),e.colorGraniteLight&&t.style.setProperty("--color-granite-light",e.colorGraniteLight),e.colorGranite&&t.style.setProperty("--color-granite",e.colorGranite),e.colorSuccess&&t.style.setProperty("--color-success",e.colorSuccess),e.colorSuccessLighter&&t.style.setProperty("--color-success-Lighter",e.colorSuccessLighter),e.colorSuccessLight&&t.style.setProperty("--color-success-Light",e.colorSuccessLight),e.colorSuccessDark&&t.style.setProperty("--color-success-Dark",e.colorSuccessDark),e.colorWarning&&t.style.setProperty("--color-warning",e.colorWarning),e.colorWarningLighter&&t.style.setProperty("--color-warning-Lighter",e.colorWarningLighter),e.colorWarningLight&&t.style.setProperty("--color-warning-Light",e.colorWarningLight),e.colorWarningDark&&t.style.setProperty("--color-warning-Dark",e.colorWarningDark),e.colorHigh&&t.style.setProperty("--color-high",e.colorHigh),e.colorHighLighter&&t.style.setProperty("--color-high-lighter",e.colorHighLighter),e.colorHighLight&&t.style.setProperty("--color-high-light",e.colorHighLight),e.colorHighDark&&t.style.setProperty("--color-high-dark",e.colorHighDark),e.colorText&&t.style.setProperty("--color-text",e.colorText),(!e.backgroundColor||e.backgroundColor!=="transparent")&&t.style.setProperty("--areas-separator-color","rgba(216, 216, 216, 1)"),e.headerHeight!=null&&t.style.setProperty("--bimdata-viewer-header-height",e.headerHeight),t.style.setProperty("--areas-background-color","transparent")}const tLi=Object.freeze({25:"GUEST",50:"USER",100:"ADMIN"}),R9=Object.freeze({READ:"read",WRITE:"write"});function DEe(t){const e={};return t.forEach(i=>{const[r,o]=i.split(":");e[r]?e[r].push(o):e[r]=[o]}),e}const iLi={token_scopes:[],usable_scopes:[],user_role:25};function PEe(t=iLi){var e,i,r,o,n,s;const a=DEe(t.token_scopes),l=DEe(t.usable_scopes);return{...Oue(t),tokenScopes:a,usableScopes:l,userRole:tLi[t.user_role],user:t.user?Oue(t.user):null,hasBcfReadPermission:((e=l.bcf)==null?void 0:e.includes(R9.READ))??!1,hasBcfWritePermission:((i=l.bcf)==null?void 0:i.includes(R9.WRITE))??!1,hasModelReadPermission:((r=l.model)==null?void 0:r.includes(R9.READ))??!1,hasModelWritePermission:((o=l.model)==null?void 0:o.includes(R9.WRITE))??!1,hasDocReadPermission:((n=l.document)==null?void 0:n.includes(R9.READ))??!1,hasDocWritePermission:((s=l.document)==null?void 0:s.includes(R9.WRITE))??!1}}const rLi={BcfFilters:{filtersButton:"Filter",filtersTitle:"Filter",priorityLabel:"Priorit\xE4t",statusLabel:"Status",assignedToLabel:"Zugewiesen an",creatorsLabel:"Erstellt von",tagsLabel:"Tags",resetButton:"Zur\xFCcksetzen",searchButton:"Suchen",undefined:"Nicht definiert",datePlaceholder:"Erstellungsdatum"},BcfSettings:{goBackButton:"Zur\xFCck",title:"BCF-Parameter",text:"Erstellen, f\xFCllen und listen Sie die BCF-Einstellungen auf, die Sie f\xFCr dieses Projekt haben m\xF6chten.",validateButton:"Die BCF-Parameter anerkennen"},BcfStatistics:{emptyText:"F\xFCgen Sie Fragen hinzu, um zugeh\xF6rige Statistiken hier anzuzeigen.",issues:"Probleme",extension:{Priority:"Priorit\xE4t",PriorityNotDefined:"Keine Priorit\xE4t",PriorityTitle:"Priorit\xE4ten",Status:"Status",StatusNotDefined:"Kein Status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priorit\xE4t:",noPriority:"Keine",assignedTo:"Zugewiesen an :",elements:"Elemente",notSpecified:"Nicht definiert",see:"Anzeigen"},BcfTopicCreationCard:{text:"Ein neues BCF-Thema erstellen",createBcfSideTitle:"Ein Problem melden"},BcfTopicForm:{dragDropImageText:"Bitte w\xE4hlen Sie eine Datei aus.",addObjectButton:"Objekt",addAnnotationButton:"Annotation",annotationButtonTooltip:"Zu diesem Thema gibt es derzeit keine Ansichten.",addPictureButton:"F\xFCgen Sie ein Bild hinzu.",titlePlaceholder:"Titel *",titleErrorMessage:"Titel fehlt",typeLabel:"Typ",priorityLabel:"Priorit\xE4t",statusLabel:"Status",stageLabel:"Phase",assignedToLabel:"Zugewiesen an",dueDateLabel:"F\xE4lligkeitsdatum (TT.MM.JJJJ)",descriptionLabel:"Beschreibung",labelsLabel:"Tags",createButton:"Best\xE4tigen",updateButton:"\xC4nderungen \xFCbernehmen",modalText:"Sie sind dabei, die Bearbeitung der Ausgabe {Name} zu beenden, aber es gibt noch ungespeicherte \xC4nderungen.",cancelButton:"\xC4nderungen verwerfen",continueButton:"\xC4nderungen fortsetzen",createTitle:"Ein Problem melden",dragDropImageTextTablet:"Foto machen",takeSnapshot:"Mach einen Schnappschuss",importFile:"Eine Datei importieren",searchPlaceholder:"Suchen",emptySearch:"kein Ergebnis"},BcfTopicOverview:{openViewer:"Im Viewer \xF6ffnen",openViewerNoModels:"Es sind keine Vorlagen zur Ansicht bereit",elements:"{count} Elemente",noElements:"kein Element",type:"Typ",noTypeSpecified:"Kein Typ angegeben",description:"Beschreibung",noDescriptionProvided:"Keine Beschreibung angegeben",assignedTo:"Zugeteilt an",notAssigned:"Nicht zugewiesen",dueDate:"F\xE4lligkeitsdatum",noDueDate:"Kein F\xE4lligkeitsdatum",informations:"Informationen",status:"Status",noStatusSpecified:"Kein Status angegeben",stage:"Phase",noStageProvided:"Keine Phase angegeben",priority:"Priorit\xE4t",priorityNotDefined:"Nicht definiert",tags:"Tags",noTags:"Keine Tags",commentButton:"Ein Kommentar ver\xF6ffentlichen",deleteText:"Sie l\xF6schen jetzt {Name}",deleteBcfButton:"Dieses BCF l\xF6schen",keepBcfButton:"Dieses BCF beibehalten",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE4t",status:"Status",title:"Titel",creator:"Autor",date:"Datum"}},BcfTopicActionsCell:{seeButton:"Anzeigen"},BcfTopicComments:{commentButton:"Ein Kommentar verfassen",commentLabel:"Ein Kommentar verfassen",commentText:"Kommentar",cancelButton:"Abbrechen",publishButton:"Ver\xF6ffentlichen",commentsText:"Kommentare",deleteCommentText:"Diesen Kommentar l\xF6schen?",deleteButton:"L\xF6schen",takeSnapshot:"Mach einen Schnappschuss"},BcfTopicPriorityCell:{noPriority:"Keine"},SettingCard:{addButton:"ein Element hinzuf\xFCgen",cancelButton:"Abbrechen",validateButton:"Best\xE4tigen",deleteExtensionText:"Diesen Parameter l\xF6schen",deleteButton:"L\xF6schen",title:{Priority:"Priorit\xE4ten",Label:"Tags",Status:"Status",Type:"Typen",Stage:"Phasen"},input:{Priority:"Eine neue Priorit\xE4t hinzuf\xFCgen",Label:"Ein neues Etikett hinzuf\xFCgen",Status:"Einen neuen Status hinzuf\xFCgen",Type:"Einen neuen Typ hinzuf\xFCgen",Stage:"Eine neue Phase hinzuf\xFCgen"},text:{Priority:"Liste der Priorit\xE4ten",Label:"Liste von Tags",Status:"Liste der Status",Type:"Liste der Typen",Stage:"Liste der Phasen"}}},oLi={BcfComponents:rLi},nLi={BcfFilters:{filtersButton:"Filters",filtersTitle:"Filters",priorityLabel:"Priority",statusLabel:"Status",assignedToLabel:"Assigned to",creatorsLabel:"Created by",tagsLabel:"Tags",resetButton:"Reset",searchButton:"Search",undefined:"Not defined",datePlaceholder:"Creation date"},BcfSettings:{goBackButton:"Back",title:"BCF Settings",text:"Create, enter in, and list the BCF settings you would like to have for this project",validateButton:"Validate BCF settings"},BcfStatistics:{emptyText:"Add BCF Topics to start to have some stats here.",issues:"issues",extension:{Priority:"Priority",PriorityNotDefined:"No priority",PriorityTitle:"Priorities",Status:"Status",StatusNotDefined:"No status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priority: ",noPriority:"None",assignedTo:"Assigned to: ",elements:"Elements",notSpecified:"Not specified",see:"See"},BcfTopicCreationCard:{text:"Create a new BCF topic",createBcfSideTitle:"Report a problem"},BcfTopicForm:{dragDropImageText:"Please select a file",addObjectButton:"Object",addAnnotationButton:"Annotation",annotationButtonTooltip:"This topic has no viewpoint",addPictureButton:"Add a picture",titlePlaceholder:"Title *",titleErrorMessage:"Missing title",typeLabel:"Type",priorityLabel:"Priority",statusLabel:"Status",stageLabel:"Stage",assignedToLabel:"Assigned to",dueDateLabel:"Due date",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Validate",updateButton:"Modify this BCF",modalText:"You are about to quit editing issue {name} but there are unsaved changes.",cancelButton:"Discard changes",continueButton:"Continue editing",createTitle:"Report a problem",dragDropImageTextTablet:"Take a picture",takeSnapshot:"Take a snapshot",importFile:"Import a file",searchPlaceholder:"Search",emptySearch:"No result"},BcfTopicOverview:{openViewer:"Open in viewer",openViewerNoModels:"No model to open",elements:"{count} Elements",noElements:"No element",type:"Type",noTypeSpecified:"No type specified",description:"Description",noDescriptionProvided:"No description provided",assignedTo:"Assigned to",notAssigned:"Not assigned",dueDate:"Due date",noDueDate:"No due date",informations:"Informations",status:"Status",noStatusSpecified:"No status specified",stage:"Stage",noStageProvided:"No stage provided",priority:"Priority",priorityNotDefined:"Not defined",tags:"Tags",noTags:"No tags",commentButton:"Post a comment",deleteText:"You are about to delete {name}",deleteBcfButton:"Delete this BCF",keepBcfButton:"Keep this BCF",author:"Author"},BcfTopicsTable:{headers:{index:"#",priority:"Priority",status:"Status",title:"Title",creator:"Author",date:"Date"}},BcfTopicActionsCell:{seeButton:"See"},BcfTopicComments:{commentButton:"Post a comment",commentLabel:"Post a comment",commentText:"Comment",cancelButton:"Cancel",publishButton:"Publish",commentsText:"Comments",deleteCommentText:"Delete this comment ?",deleteButton:"Delete",takeSnapshot:"Take a snapshot"},BcfTopicPriorityCell:{noPriority:"None"},SettingCard:{addButton:"add an element",cancelButton:"Cancel",validateButton:"Validate",deleteExtensionText:"Remove this setting",deleteButton:"Delete",title:{Priority:"Priorities",Label:"Labels",Status:"Status",Type:"Types",Stage:"Stages"},input:{Priority:"Add a new priority",Label:"Add a new label",Status:"Add new status",Type:"Add a new type",Stage:"Add a new stage"},text:{Priority:"Priority list",Label:"Labels list",Status:"Status list",Type:"Type list",Stage:"Stage list"}}},sLi={BcfComponents:nLi},aLi={BcfFilters:{filtersButton:"Filtros",filtersTitle:"Filtros",priorityLabel:"Prioridad",statusLabel:"Estado",assignedToLabel:"Asignado a",creatorsLabel:"Creado por",tagsLabel:"Etiquetas:",resetButton:"Restablecer",searchButton:"Buscar en",undefined:"No definido",datePlaceholder:"Fecha de creaci\xF3n"},BcfSettings:{goBackButton:"Volver",title:"Par\xE1metros del BCF",text:"Cree, rellene y enumere los par\xE1metros del BCF que desea tener en este proyecto",validateButton:"Validar los par\xE1metros del BCF"},BcfStatistics:{emptyText:"A\xF1ada preguntas para ver las estad\xEDsticas asociadas aqu\xED.",issues:"problemas",extension:{Priority:"Prioridad",PriorityNotDefined:"Sin prioridad",PriorityTitle:"Prioridades",Status:"Estado",StatusNotDefined:"Sin estado",StatusTitle:"Estatutos"}},BcfTopicCard:{priority:"Prioridad :",noPriority:"Sin",assignedTo:"Asignado a :",elements:"Elementos",notSpecified:"No definido",see:"Ver"},BcfTopicCreationCard:{text:"Crear un nuevo tema BCF",createBcfSideTitle:"Informar de un problema"},BcfTopicForm:{dragDropImageText:"Seleccione un archivo",addObjectButton:"Objeto",addAnnotationButton:"Anotaci\xF3n",annotationButtonTooltip:"Actualmente este tema no posee ning\xFAn punto de vista",addPictureButton:"A\xF1adir una imagen",titlePlaceholder:"T\xEDtulo *",titleErrorMessage:"Falta el t\xEDtulo",typeLabel:"Tipo",priorityLabel:"Prioridad",statusLabel:"Estado",stageLabel:"Fase",assignedToLabel:"Asignado a",dueDateLabel:"Fecha de vencimiento (DD/MM/AAAA)",descriptionLabel:"Descripci\xF3n",labelsLabel:"Etiquetas",createButton:"Validar",updateButton:"Modificar este BCF",modalText:"Est\xE1 a punto de salir de la edici\xF3n del problema de {name} pero hay cambios sin guardar.",cancelButton:"Cancelar los cambios",continueButton:"Continuar con los cambios",createTitle:"Informar de un problema",dragDropImageTextTablet:"Tomar una fotograf\xEDa",takeSnapshot:"Tomar un snapshot",importFile:"Importar un archivo",searchPlaceholder:"Buscar",emptySearch:"No hay resultados"},BcfTopicOverview:{openViewer:"Abrir en el visor",openViewerNoModels:"No hay ning\xFAn modelo listo para la visualizaci\xF3n",elements:"{count} Elementos",noElements:"Ning\xFAn elemento",type:"Tipo",noTypeSpecified:"No se especifica el tipo",description:"Descripci\xF3n",noDescriptionProvided:"No hay descripci\xF3n",assignedTo:"Asignado a",notAssigned:"No asignado",dueDate:"Plazo",noDueDate:"Sin fecha de vencimiento",informations:"Informaci\xF3n",status:"Estado",noStatusSpecified:"No se especifica el estado",stage:"Fase",noStageProvided:"No se indica ninguna fase",priority:"Prioridad",priorityNotDefined:"No definido",tags:"Etiquetas",noTags:"Sin etiquetas",commentButton:"Publicar un comentario",deleteText:"Est\xE1s a punto de borrar {name}",deleteBcfButton:"Borrar este BCF",keepBcfButton:"Mantenga este BCF",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",creator:"Autor",date:"Fecha"}},BcfTopicActionsCell:{seeButton:"Ver"},BcfTopicComments:{commentButton:"Publicar un comentario",commentLabel:"Publicar un comentario",commentText:"Comentario",cancelButton:"Cancelar",publishButton:"Publicar",commentsText:"comentarios",deleteCommentText:"\xBFBorrar este comentario?",deleteButton:"Borrar",takeSnapshot:"Tomar un snapshot"},BcfTopicPriorityCell:{noPriority:"Sin"},SettingCard:{addButton:"a\xF1adir un elemento",cancelButton:"Cancelar",validateButton:"Validar",deleteExtensionText:"Borrar esta configuraci\xF3n",deleteButton:"Borrar",title:{Priority:"Prioridades",Label:"Etiquetas:",Status:"Estatutos",Type:"Tipos",Stage:"Fases"},input:{Priority:"A\xF1adir una nueva prioridad",Label:"A\xF1adir una nueva etiqueta",Status:"A\xF1adir un nuevo estado",Type:"A\xF1adir un nuevo tipo",Stage:"A\xF1adir una nueva fase"},text:{Priority:"Lista de prioridades",Label:"Lista de etiquetas",Status:"Lista de estatutos",Type:"Lista de tipos",Stage:"Lista de fases"}}},lLi={BcfComponents:aLi},cLi={BcfFilters:{filtersButton:"Filtres",filtersTitle:"Filtres",priorityLabel:"Priorit\xE9",statusLabel:"Statut",assignedToLabel:"Assign\xE9 \xE0",creatorsLabel:"Cr\xE9\xE9 par",tagsLabel:"Tags",resetButton:"R\xE9initialiser",searchButton:"Rechercher",undefined:"Non d\xE9fini",datePlaceholder:"Date de cr\xE9ation"},BcfSettings:{goBackButton:"Retour",title:"Param\xE8tres BCF",text:"Cr\xE9ez, renseignez et listez les param\xE8tres BCF que vous souhaitez avoir sur ce projet",validateButton:"Valider les param\xE8tres BCF"},BcfStatistics:{emptyText:"Ajoutez des questions pour voir les statistiques associ\xE9es ici.",issues:"probl\xE8mes",extension:{Priority:"Priorit\xE9",PriorityNotDefined:"Aucune priorit\xE9",PriorityTitle:"Priorit\xE9s",Status:"Statut",StatusNotDefined:"Aucun statut",StatusTitle:"Statuts"}},BcfTopicCard:{priority:"Priorit\xE9 : ",noPriority:"Aucune",assignedTo:"Assign\xE9 \xE0 : ",elements:"{n} \xC9lements",notSpecified:"Non d\xE9fini",see:"Voir"},BcfTopicCreationCard:{text:"Cr\xE9er un nouveau topic BCF",createBcfSideTitle:"Signaler un probl\xE8me"},BcfTopicForm:{dragDropImageText:"Veuillez s\xE9lectionner un fichier",addObjectButton:"Objet",addAnnotationButton:"Annotation",annotationButtonTooltip:"Ce topic ne poss\xE8de actuellement aucun point de vue",addPictureButton:"Ajouter une image",titlePlaceholder:"Titre *",titleErrorMessage:"Titre manquant",typeLabel:"Type",priorityLabel:"Priorit\xE9",statusLabel:"Statut",stageLabel:"Phase",assignedToLabel:"Assign\xE9 \xE0",dueDateLabel:"Date d'\xE9ch\xE9ance",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Valider",updateButton:"Modifier ce BCF",modalText:"Vous \xEAtes sur le point de quitter l'\xE9dition de l'issue {name} mais il y'a des modifications non enregistr\xE9es.",cancelButton:"Annuler les modifications",continueButton:"Continuer les modifications",createTitle:"Signaler un probl\xE8me",dragDropImageTextTablet:"Prendre une photo",takeSnapshot:"Prendre un snapshot",importFile:"Importer un fichier",searchPlaceholder:"Rechercher",emptySearch:"Pas de r\xE9sultat"},BcfTopicOverview:{openViewer:"Ouvrir dans le viewer",openViewerNoModels:"Il n'y a aucun mod\xE8le pr\xEAt pour une visualisation",elements:"{count} \xC9lements",noElements:"Aucun \xE9l\xE9ment concern\xE9",type:"Type",noTypeSpecified:"Pas de type sp\xE9cifi\xE9",description:"Description",noDescriptionProvided:"Pas de description renseign\xE9e",assignedTo:"Assign\xE9 \xE0",notAssigned:"Non assign\xE9",dueDate:"\xC9ch\xE9ance",noDueDate:"Pas de date d'\xE9ch\xE9ance",informations:"Informations",status:"Statut",noStatusSpecified:"Pas de statut sp\xE9cifi\xE9",stage:"Phase",noStageProvided:"Pas de phase renseign\xE9e",priority:"Priorit\xE9",priorityNotDefined:"Non d\xE9fini",tags:"Tags",noTags:"Pas de tags",commentButton:"Poster un commentaire",deleteText:"Vous \xEAtes sur le point de supprimer {name}",deleteBcfButton:"Supprimer ce BCF",keepBcfButton:"Conserver ce BCF",author:"Auteur"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE9",status:"Statut",title:"Titre",creator:"Auteur",date:"Date"}},BcfTopicActionsCell:{seeButton:"Voir"},BcfTopicComments:{commentButton:"Poster un commentaire",commentLabel:"Poster un commentaire",commentText:"Commentaire",cancelButton:"Annuler",publishButton:"Publier",commentsText:"commentaires",deleteCommentText:"Supprimer ce commentaire ?",deleteButton:"Supprimer",takeSnapshot:"Prendre un snapshot"},BcfTopicPriorityCell:{noPriority:"Aucune"},SettingCard:{addButton:"ajouter un \xE9l\xE9ment",cancelButton:"Annuler",validateButton:"Valider",deleteExtensionText:"Supprimmer ce param\xE8tre",deleteButton:"Supprimer",title:{Priority:"Priorit\xE9s",Label:"Tags",Status:"Statuts",Type:"Types",Stage:"Phases"},input:{Priority:"Ajouter une nouvelle priorit\xE9",Label:"Ajouter un nouveau label",Status:"Ajouter un nouveau statut",Type:"Ajouter un nouveau type",Stage:"Ajouter une nouvelle phase"},text:{Priority:"Liste des priorit\xE9s",Label:"Liste des tags",Status:"Liste des statuts",Type:"Liste des types",Stage:"Liste des phases"}}},dLi={BcfComponents:cLi},uLi={BcfFilters:{filtersButton:"Filtri",filtersTitle:"Filtri",priorityLabel:"Priorit\xE0",statusLabel:"Stato",datePlaceholder:"Data di creazione",assignedToLabel:"Assegnato a",creatorsLabel:"Creato da",tagsLabel:"Etichette",resetButton:"Ripristina",searchButton:"Cerca",undefined:"Non definito"},BcfSettings:{goBackButton:"Indietro",title:"Parametri BCF",text:"Creare, notificare e elencare i parametri BCF che si desidera avere su questo progetto",validateButton:"Conferma i parametri BCF"},BcfStatistics:{emptyText:"Aggiungi delle domande per vedere le statistiche associate qui.",issues:"problemi",extension:{Priority:"Priorit\xE0",PriorityNotDefined:"Nessuna priorit\xE0",PriorityTitle:"Priorit\xE0",Status:"Stato",StatusNotDefined:"Nessuno stato",StatusTitle:"Stati"}},BcfTopicCard:{priority:"Priorit\xE0:",noPriority:"Nessuno",assignedTo:"Assegnato a:",elements:"Elementi",noElements:"0 elementi",notSpecified:"Non definito",see:"Visualizza"},BcfTopicCreationCard:{text:"Crea un nuovo topic BCF",createBcfSideTitle:"Segnala un problema"},BcfTopicForm:{dragDropImageText:"Selezionare un file",addObjectButton:"Oggetto",addAnnotationButton:"Annotazione",annotationButtonTooltip:"Attualmente questo argomento non presenta alcun punto di vista",addPictureButton:"Aggiungere un'immagine",titlePlaceholder:"Titolo *",titleErrorMessage:"Titolo mancante",typeLabel:"Tipo",priorityLabel:"Priorit\xE0",statusLabel:"Stato",stageLabel:"Fase",assignedToLabel:"Assegnato a",dueDateLabel:"Data di scadenza",descriptionLabel:"Descrizione",labelsLabel:"Tag",createButton:"Conferma",updateButton:"Modificare questo BCF",modalText:"State per abbandonare la modifica di {name} ma ci sono modifiche non salvate.",cancelButton:"Annullare le modifiche",continueButton:"Continuare le modifiche",createTitle:"Segnala un problema"},BcfTopicOverview:{openViewer:"Apri nel visualizzatore",openViewerNoModels:"Non esistono modelli pronti per la visualizzazione",elements:"{count} Elementi",noElements:"Nessun elemento",type:"Tipo",noTypeSpecified:"Nessun tipo specificato",description:"Descrizione",noDescriptionProvided:"Nessuna descrizione inserita",assignedTo:"Assegnato a",notAssigned:"Non assegnato",dueDate:"Scadenza",noDueDate:"Nessuna data di scadenza",informations:"Informazioni",status:"Stato",noStatusSpecified:"Nessuno stato specificato",stage:"Fase",noStageProvided:"Nessuna fase inserita",priority:"Priorit\xE0",priorityNotDefined:"Non definita",tags:"Etichette",noTags:"Nessuna etichetta",commentButton:"Pubblica un commento",deleteText:"Stai per eliminare {name}",deleteBcfButton:"Elimina questo BCF",keepBcfButton:"Conserva questo BCF",author:"Autore"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE0",status:"Stato",title:"Titolo",creator:"Autore",date:"Data"}},BcfTopicActionsCell:{seeButton:"Visualizza"},BcfTopicComments:{commentButton:"Pubblica un commento",commentLabel:"Pubblica un commento",commentText:"Commento",cancelButton:"Annulla",publishButton:"Pubblica",commentsText:"commenti",deleteCommentText:"Eliminare questo commento?",deleteButton:"Elimina"},BcfTopicPriorityCell:{noPriority:"Nessuno"},SettingCard:{addButton:"aggiungi un elemento",cancelButton:"Annulla",validateButton:"Conferma",deleteExtensionText:"Elimina questo parametro",deleteButton:"Elimina",title:{Priority:"Priorit\xE0",Label:"Etichette",Status:"Stati",Type:"Tipi",Stage:"Fasi"},input:{Priority:"Aggiungi una nuova priorit\xE0",Label:"Aggiungi una nuova etichetta",Status:"Aggiungi un nuovo stato",Type:"Aggiungi un nuovo tipo",Stage:"Aggiungi una nuova fase"},text:{Priority:"Elenco delle priorit\xE0",Label:"Elenco delle etichette",Status:"Elenco degli stati",Type:"Elenco dei tipi",Stage:"Elenco delle fasi"}}},ALi={BcfComponents:uLi},hLi={de:oLi,en:sLi,es:lLi,fr:dLi,it:ALi},pLi=({apiClient:t,fetchUsers:e,i18nPlugin:i}={})=>({install(r){t?mo.setup({apiClient:t,fetchUsers:e}):console.error("[BCF Components Plugin] No api client provided. You must provide an api client for the components to work properly."),i?Object.entries(hLi).forEach(([o,n])=>{i.global.mergeLocaleMessage(o,n)}):console.warn("[BCF Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(lqe).forEach(([o,n])=>{r.component(o,n)})}}),gLi={title:"Building Maker",back:"Zur\xFCck",list:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",createButton:"Neues Projekt",updateButton:"Umbenennen",deleteButton:"L\xF6schen"},form:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",input:"Name des Geb\xE4udes",error:"Ung\xFCltiger Name",createButton:"Erstellen",updateButton:"Best\xE4tigen"},view:{addStoreyButton:"Etage",addPlanButton:"Grundriss",closeButton:"Fertigstellen",submitFilesButton:"Best\xE4tigen"},storeyForm:{title:"Neue Etage",input:"Name",error:"Ung\xFCltiger Name",cancelButton:"Abbrechen",submitButton:"Best\xE4tigen"}},fLi={creationFormTitle:"Ordner erstellen",renameFormPlaceholder:"Datei- / Ordnernam",nameInputPlaceholder:"Ordnername",emptyFolder:"Dieser Ordner ist leer",newFolderSuccess:"Neuer Ordner erstellt",renameFolderSuccess:"Umbenannter Ordner",deleteFolderSuccess:"Ordner gel\xF6scht",newFileSuccess:"Datei hinzugef\xFCgt",renameFileSuccess:"Umbenannte Datei",deleteFileSuccess:"Datei gel\xF6scht",nameInputErrorMessage:"Ung\xFCltiger name",cancel:"Abbrechen",submit:"Best\xE4tigen",buttonText:"Neuer Ordner",addFileButtonText:"Datei laden",rename:"Umbenennen",view:"Sehen",download:"Herunterladen",delete:"L\xF6schen",deleteTitle:"Dateien l\xF6schen",deleteDetail:"Sie sind im Begriff, die folgenden Dateien / Ordner endg\xFCltig zu l\xF6schen"},mLi={BuildingMaker:gLi,FileManager:fLi},vLi={t:{back:"Back",cancel:"Cancel",create:"Create",delete:"Delete",download:"Download",finish:"Finish",rename:"Rename",search:"Search",see:"View",storey:"Storey",validate:"Validate"}},CLi={title:"Building Maker",list:{text:"Create and edit storeys, then download your PDFs.",new:"New project"},form:{input:"Building name",error:"Invalid"},view:{addStorey:"Add Storey",addFile:"Add File",addPlan:"Add Plan"},storeyForm:{title:"New storey",input:"Name",error:"Invalid name"}},yLi={creationFormTitle:"Create folder",renameFormPlaceholder:"Folder/File name",nameInputPlaceholder:"Folder name",emptyFolder:"This folder is empty",newFolderSuccess:"New folder created",renameFolderSuccess:"Folder renamed",deleteFolderSuccess:"Folder deleted",newFileSuccess:"File added",renameFileSuccess:"File renamed",deleteFileSuccess:"File deleted",nameInputErrorMessage:"Invalid name",buttonText:"New folder",addFileButtonText:"Upload a file",deleteTitle:"Deleting Files",deleteDetail:"You are about to permanently delete the following files / folders",dmsRoot:"Root of the project's DMS",pdfPageSelectorTitle:"Select a page"},wLi={title:"Meta-Building Structure",tab:{structure:"Structure",zones:"Zones",equipments:"Equipments"},StoreySelector:{placeholder:"Select a storey"}},bLi={title:"Photosphere Building"},ILi={BIMDataComponents:vLi,BuildingMaker:CLi,FileManager:yLi,MetaBuildingStructure:wLi,PhotosphereBuilding:bLi},BLi={title:"Building Maker",back:"Vuelta",list:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",createButton:"Nuevo proyecto",updateButton:"Renombrar",deleteButton:"Suprimir"},form:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",input:"Nombre del edificio",error:"Nombre no v\xE1lido",createButton:"Crear",updateButton:"Validar"},view:{addStoreyButton:"Piso",addPlanButton:"Plano",closeButton:"Terminar",submitFilesButton:"Validar"},storeyForm:{title:"Nuevo piso",input:"Nombre",error:"Nombre no v\xE1lido",cancelButton:"Anular",submitButton:"Validar"}},ELi={creationFormTitle:"Crear un archivo",renameFormPlaceholder:"Nombre de archivo / carpeta",nameInputPlaceholder:"Nombre de la carpeta",emptyFolder:"Esta carpeta est\xE1 vac\xEDa",newFolderSuccess:"Nueva carpeta creada",renameFolderSuccess:"Carpeta renombrada",deleteFolderSuccess:"Carpeta eliminada",newFileSuccess:"Archivo agregado",renameFileSuccess:"Archivo renombrado",deleteFileSuccess:"Archivo eliminado",nameInputErrorMessage:"Nombre inv\xE1lida",cancel:"Cancelar",submit:"Validar",buttonText:"Carpeta nueva",addFileButtonText:"Cargar un archivo",rename:"Renombrar",view:"Ver",download:"Descargar",delete:"Borrar",deleteTitle:"Eliminar archivos",deleteDetail:"Est\xE1 a punto de eliminar permanentemente los siguientes archivos / carpetas"},xLi={BuildingMaker:BLi,FileManager:ELi},kLi={t:{back:"Retour",cancel:"Annuler",create:"Cr\xE9er",delete:"Supprimer",download:"T\xE9l\xE9charger",finish:"Terminer",rename:"Renommer",search:"Rechercher",see:"Voir",storey:"\xC9tage",validate:"Valider"}},MLi={title:"Building Maker",list:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",new:"Nouveau projet"},form:{input:"Nom du b\xE2timent",error:"Nom invalide"},view:{addStorey:"Ajouter un \xC9tage",addFile:"Ajouter un fichier",addPlan:"Ajouter un plan"},storeyForm:{title:"Nouvel \xE9tage",input:"Nom",error:"Nom invalide"}},SLi={creationFormTitle:"Cr\xE9er un dossier",renameFormPlaceholder:"Nom du fichier/dosier",nameInputPlaceholder:"Nom du dossier",emptyFolder:"Ce dossier est vide",newFolderSuccess:"Nouveau dossier cr\xE9\xE9",renameFolderSuccess:"Dossier renomm\xE9",deleteFolderSuccess:"Dossier supprim\xE9",newFileSuccess:"Fichier ajout\xE9",renameFileSuccess:"Fichier renomm\xE9",deleteFileSuccess:"Fichier supprim\xE9",nameInputErrorMessage:"Nom invalide",buttonText:"Nouveau dossier",addFileButtonText:"Charger un fichier",deleteTitle:"Supression de fichiers",deleteDetail:"Vous \xEAtes sur le point de supprimer d\xE9finitivement les fichiers/dossiers suivants",dmsRoot:"Racine de la GED du projet",pdfPageSelectorTitle:"S\xE9lectionner une page"},QLi={title:"Structure M\xE9ta-Building",tab:{structure:"Structure",zones:"Zones",equipments:"\xC9quipements"},StoreySelector:{placeholder:"S\xE9lectionner un \xE9tage"}},DLi={title:"Photosph\xE8re Building"},PLi={BIMDataComponents:kLi,BuildingMaker:MLi,FileManager:SLi,MetaBuildingStructure:QLi,PhotosphereBuilding:DLi},RLi={title:"Building Maker",back:"Reso",list:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",createButton:"Nuovo progetto",updateButton:"Rinominare",deleteButton:"Eliminare"},form:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",input:"Nome della costruzione",error:"Nome non corretto",createButton:"Creare",updateButton:"Convalidare"},view:{addStoreyButton:"Piano",addPlanButton:"Mappa",closeButton:"Finire",submitFilesButton:"Convalidare"},storeyForm:{title:"Nuovo piano",input:"Nome",error:"Nome non corretto",cancelButton:"Annullare",submitButton:"Convalidare"}},LLi={creationFormTitle:"Crea una cartella",renameFormPlaceholder:"Nome file/cartella",nameInputPlaceholder:"Nome della cartella",emptyFolder:"Questa cartella \xE8 vuota",newFolderSuccess:"Nuova cartella creata",renameFolderSuccess:"Cartella rinominata",deleteFolderSuccess:"Cartella eliminata",newFileSuccess:"File aggiunto",renameFileSuccess:"File rinominato",deleteFileSuccess:"File cancellato",nameInputErrorMessage:"Nome non valido",cancel:"Annulla",submit:"Invia",buttonText:"Nuova cartella",addFileButtonText:"Carica un file",rename:"Rinominare",view:"Vedere",download:"Scaricare",delete:"Cancellare",deleteTitle:"Eliminazione di file",deleteDetail:"Stai per eliminare definitivamente i seguenti file/cartelle"},TLi={BuildingMaker:RLi,FileManager:LLi},FLi={de:mLi,en:ILi,es:xLi,fr:PLi,it:TLi},_Li=({i18nPlugin:t}={})=>({install(e){t?Object.entries(FLi).forEach(([i,r])=>{t.global.mergeLocaleMessage(i,r)}):console.warn("[BIMData Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(Cvi).forEach(([i,r])=>{e.component(i,r)})}}),ULi={beforeMount(t,e){if(typeof e.value!="function")throw Error(`click away directive needs function, got ${typeof e.value}`);t.clickAwayHandler=i=>{(i.path||i.composedPath&&i.composedPath()).find(r=>r===t)||e.value()},window.addEventListener("mousedown",t.clickAwayHandler,!0)},unmounted(t){window.removeEventListener("mousedown",t.clickAwayHandler,!0),delete t.clickAwayHandler}},NLi=Object.freeze(Object.defineProperty({__proto__:null,BIMDataClickAway:kA,BIMDataClickInputAway:ULi},Symbol.toStringTag,{value:"Module"})),OLi=t=>({install(e){Object.entries(e5t).forEach(([i,r])=>{e.component(i,r)}),Object.entries(NLi).forEach(([i,r])=>e.directive(i.split("BIMData")[1],r))}}),HLi={name:"LiWrapper",render(){return Ln("li",this.$slots.default())}};function VLi(t,e){var i=new Set([]);return t.forEach(r=>{e.has(r)||i.add(r)}),i}const th=Ia("id"),GLi=({contextMenu:t,objects:e=[],state:i=t.$viewer.state,pictos:r})=>[{name:"selectAll",get group(){return t.groupPositions.select},position:1,get label(){return t.$t("context_menu.select_all")},get picto(){return r.get(this.name)},execute:()=>i.selectObjects(e.filter(gA(Mr("visible"),hf("selected"))).map(th)),predicate:()=>e.some(gA(Mr("visible"),hf("selected")))},{name:"deselectAll",get group(){return t.groupPositions.select},position:2,get label(){return t.$t("context_menu.deselect_all")},get picto(){return r.get(this.name)},execute:()=>i.deselectObjects(e.filter(Mr("selected")).map(th)),predicate:()=>e.some(Mr("selected"))},{name:"selectSimilar",get group(){return t.groupPositions.select},position:3,get label(){return t.$t("context_menu.select_similar")},get picto(){return r.get(this.name)},execute(){const o=e.filter(n=>n.visible&&n.type===this.selectedObject.type&&n.id!==this.selectedObject.id).map(th);i.selectObjects(o)},selectedObject:null,predicate(){const o=e.filter(gA(Mr("visible"),Mr("selected")));return o.length===1&&o[0].type!==void 0?(this.selectedObject=o[0],!0):(this.selectedObject=null,!1)}},{name:"reverseSelection",get label(){return t.$t("context_menu.reverse_selection")},get group(){return t.groupPositions.select},position:4,execute:()=>{const o=new Set(e.filter(Mr("selected")).map(th)),n=new Set(e.filter(Mr("visible")).map(th));i.selectObjects(Array.from(VLi(n,o)),{exclusive:!0})},predicate:()=>e.some(gA(hf("selected"),Mr("visible")))&&e.some(gA(Mr("selected"),Mr("visible")))},{name:"showAll",get group(){return t.groupPositions.visibility},position:1,get label(){return t.$t("context_menu.show_all")},get picto(){return r.get(this.name)},execute:()=>i.showObjects(e.filter(hf("visible")).map(th)),predicate:()=>e.some(hf("visible"))},{name:"hide",get group(){return t.groupPositions.visibility},position:2,get label(){return t.$t("context_menu.hide")},get picto(){return r.get(this.name)},objectsToHide:null,execute(){const o=this.objectsToHide.filter(Mr("selected"));o.length>0&&i.deselectObjects(o.map(th)),i.hideObjects(this.objectsToHide.map(th))},predicate(){return this.objectsToHide=e.filter(gA(Mr("selected"),Mr("visible"))),this.objectsToHide.length>0}},{name:"hideAll",get group(){return t.groupPositions.visibility},position:3,get label(){return t.$t("context_menu.hide_all")},execute:()=>{const o=e.filter(Mr("visible"));o.some(Mr("selected"))&&i.deselectObjects(o.filter(Mr("selected")).map(th)),i.hideObjects(o.map(th))},predicate:()=>e.some(Mr("visible"))}].filter(o=>o.predicate()),jLi={components:{LiWrapper:HLi},inject:["$viewer"],data(){return{defaultPrevented:!1,displayed:!1,top:null,bottom:null,left:null,width:200,nextCommandId:1,currentCommands:[],contextCommands:[],registeredCommands:[],groupPositions:{select:10,visibility:20},asyncPredicateRunning:!1}},computed:{position(){return{top:this.top?this.top+"px":"unset",bottom:this.bottom?this.bottom+"px":"unset",left:this.left+"px",width:this.width+"px"}}},watch:{displayed(t){t?document.addEventListener("keydown",this.onKeyDown):document.removeEventListener("keydown",this.onKeyDown)}},created(){this.$viewer.contextMenu=this,this.asyncPredicates=new Set},methods:{onKeyDown(t){t.key==="Escape"&&this.away()},setPosition(t){const e=(document.fullscreenElement?document.fullscreenElement:this.$parent.$el).getBoundingClientRect();this.left=t.clientX-e.left,this.top=t.clientY-e.top,this.left+this.width>e.width&&(this.left=this.left-this.width),t.clientY>e.top+e.height/2?(this.bottom=e.height-this.top,this.top=null):this.bottom=null},typeCheckCommand(t={}){let e=null;if((!t.execute||typeof t.execute!="function")&!t.component&&(e="Cannot register context menu command. A command must have an execute function or a component property."),t.label||(e="Cannot register context menu command. A command must have a label."),e)throw console.error(e),new Error(e);return t.id=this.nextCommandId++,t},open(t){this.currentCommands=[],this.setPosition(t),this.originEvent=t,t.preventDefault(),this.setCurrentCommands(),this.groupCurrentCommands(),this.defaultPrevented=!1,this.displayed=!0,document.fullscreenElement?(this.$el.parentElement.removeChild(this.$el),this.adoptiveParent=document.fullscreenElement,this.adoptiveParent.appendChild(this.$el)):this.adoptiveParent&&this.adoptiveParent!==this.$viewer.globalContext.el&&(this.adoptiveParent.removeChild(this.$el),this.$viewer.globalContext.el.appendChild(this.$el),this.adoptiveParent=null)},setCurrentCommands(){this.asyncPredicates.clear(),this.asyncPredicateRunning=!1,this.defaultPrevented||this.registeredCommands.forEach(async t=>{if(typeof t.predicate=="function"){const e=t.predicate(this.$viewer.globalContext.activeLocalContext);if(e===!0)this.currentCommands.push(t);else if(typeof e?.then=="function"){this.asyncPredicates.add(e),this.asyncPredicateRunning=!0;const i=await e;this.asyncPredicates.has(e)&&(this.asyncPredicates.delete(e),this.asyncPredicateRunning=this.asyncPredicates.size>0,i===!0&&this.currentCommands.push(t))}}else this.currentCommands.push(t)}),this.currentCommands.push(...this.contextCommands),this.contextCommands=[]},getDefaultCommands({objects:t=[],state:e=this.$viewer.state,context:i=null}){const r=new Map;return i&&this.$viewer.shortcutManager.getShortcuts(i).forEach(o=>r.set(o.name,o.key)),GLi({contextMenu:this,objects:t,state:e,pictos:r})},executeCommand(t){if(t.execute&&(t.execute(this.originEvent),this.displayed=!1),t.component&&!t.menu)throw new Error("Command with component property must have a `menu` property")},away(){this.displayed=!1},groupCurrentCommands(){const t=new Map;this.currentCommands.forEach(i=>{(i.group===null||i.group===void 0)&&(i.group=0),t.has(i.group)?t.get(i.group).push(i):t.set(i.group,[i])}),t.forEach(i=>i.sort((r,o)=>(r.position=r.position||0,o.position=o.position||0,r.position-o.position)));const e=[...t.keys()].sort((i,r)=>i-r).map(i=>t.get(i)).flat();this.currentCommands=e},isGroupIntersection(t){if(t===0)return!1;const e=this.currentCommands[t-1],i=this.currentCommands[t];return e.group<i.group},registerContextCommand(t){const e=this.typeCheckCommand(t);return this.contextCommands.push(e),t.id},registerCommand(t){const e=this.typeCheckCommand(t);return this.registeredCommands.push(e),t.id},unregisterCommand(t){return this.registeredCommands.find(e=>e.id===t)?(this.registeredCommands=this.registeredCommands.filter(e=>e.id!==t),!0):!1},preventDefault(){this.defaultPrevented=!0}}},zLi={key:0,class:"separator"},qLi={class:"menu-text"},KLi={key:1,class:"menu-picto"},JLi={key:0,class:"context-menu__spinner"};function YLi(t,e,i,r,o,n){const s=R("BIMDataIconChevron"),a=R("LiWrapper"),l=R("BIMDataSpinner"),c=ir("click-away");return o.displayed&&(o.currentCommands.length||o.asyncPredicateRunning)?Ft((Q(),N("ul",{key:0,class:"bimdata-list context-menu",style:Be(n.position)},[(Q(!0),N(Et,null,Wt(o.currentCommands,(d,u)=>(Q(),te(a,{key:d.label,class:"context-menu__element",onClick:A=>n.executeCommand(d)},{default:z(()=>[n.isGroupIntersection(u)?(Q(),N("div",zLi)):fe("",!0),B("div",qLi,ee(d.label),1),!d.component&&d.picto?(Q(),N("span",KLi,ee(d.picto),1)):d.component?(Q(),te(s,{key:2,size:"xxs",class:"fill-primary"})):fe("",!0)]),_:2},1032,["onClick"]))),128)),o.asyncPredicateRunning?(Q(),N("li",JLi,[L(l)])):fe("",!0)],4)),[[c,n.away]]):fe("",!0)}const WLi=K(jLi,[["render",YLi],["__scopeId","data-v-5b87d4a3"]]),ZLi={name:"ViewerHeader",inject:["$viewer"],props:{visible:{type:Boolean,default:!0}},setup(){const t=_t("$viewer"),e=Ea(new Map),i=o=>{if(!o.name)throw new TypeError("[Viewer Header] Content must have a name");if(e.has(o.name))throw new Error(`[Viewer Header] Content with name ${o.name} already exists`);e.set(o.name,o)},r=o=>e.has(o)?(e.delete(o),!0):!1;return{logo:t.uiSettings.bimdataLogo!==!1,version:t.uiSettings.version!==!1?t.version:null,headerContent:e,headerRightContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="right").sort((o,n)=>o.order-n.order).map(o=>o.component)),headerLeftContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="left").sort((o,n)=>o.order-n.order).map(o=>o.component)),addContent:i,removeContent:r}}},XLi={class:"viewer-header"},$Li={class:"viewer-header__content"},eTi={class:"viewer-header__content__left"},tTi={class:"viewer-header__content__right"},iTi={key:0,class:"m-l-6 flex items-center"},rTi={key:1,class:"viewer-header__version"};function oTi(t,e,i,r,o,n){const s=R("BIMDataIllustration");return Ft((Q(),N("div",XLi,[B("div",$Li,[B("div",eTi,[(Q(!0),N(Et,null,Wt(r.headerLeftContentComponents,a=>(Q(),te(Uo(a),{key:a.name}))),128))]),B("div",tTi,[(Q(!0),N(Et,null,Wt(r.headerRightContentComponents,a=>(Q(),te(Uo(a),{key:a.name}))),128))])]),r.logo||r.version?(Q(),N("div",iTi,[r.logo?(Q(),te(s,{key:0,name:"logo",width:"30px",height:"30px"})):fe("",!0),r.version?(Q(),N("div",rTi,ee(r.version),1)):fe("",!0)])):fe("",!0)],512)),[[vi,i.visible]])}const nTi=K(ZLi,[["render",oTi],["__scopeId","data-v-5c9ea6b6"]]),sTi={emits:["resize"],setup(t,{emit:e}){return{onResizerMousedown:i=>{i.preventDefault();let r=i.clientX;const o=s=>{s.preventDefault();const a=s.clientX-r;r=s.clientX,e("resize",a)},n=s=>{s.preventDefault(),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",n)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",n)}}}},aTi={class:"bimdata-separator"};function lTi(t,e,i,r,o,n){return Q(),N("div",aTi,[e[1]||(e[1]=B("div",{class:"bimdata-separator__line"},null,-1)),B("div",{class:"bimdata-separator__resizer",onMousedown:e[0]||(e[0]=(...s)=>r.onResizerMousedown&&r.onResizerMousedown(...s))},null,32)])}const cTi=K(sTi,[["render",lTi],["__scopeId","data-v-79a3b3af"]]),dTi={components:{Separator:cTi},props:{position:{type:String,required:!0,validator(t){return["left","right"].includes(t)}},sidePanel:{type:Object,required:!0,validator(t){if(t.width&&(typeof t.width!="number"||t.width<0))return console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof t.width}`),!1;const e=typeof t?.component=="object";return e||console.error("[GlobalSidePanel] sidePanel must have a component property"),e}}},setup(t){const e=_e(null),i=_e(t.sidePanel.width??400),r=(o,n=1)=>{const s=i.value+o*n;i.value=Math.max(0,s)};return Ht(()=>t.sidePanel,()=>{Object.defineProperty(t.sidePanel,"width",{get(){return i.value},set(o){if(typeof o!="number"||o<=0){console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof o}`);return}i.value=o}}),Object.defineProperty(t.sidePanel,"componentInstance",{get(){return e.value},enumerable:!0})},{immediate:!0}),{componentInstance:e,width:i,onResize:r}}},uTi={class:"bimdata-global-side-panel__component"};function ATi(t,e,i,r,o,n){const s=R("Separator");return Q(),N("div",{class:"bimdata-global-side-panel",style:Be(`width: ${r.width}px`)},[i.sidePanel.resizable&&i.position==="right"?(Q(),te(s,{key:0,onResize:e[0]||(e[0]=a=>r.onResize(a,-1))})):fe("",!0),B("div",uTi,[(Q(),te(Uo(i.sidePanel.component),{ref:"componentInstance"},null,512))]),i.sidePanel.resizable&&i.position==="left"?(Q(),te(s,{key:1,onResize:e[1]||(e[1]=a=>r.onResize(a))})):fe("",!0)],4)}const hTi=K(dTi,[["render",ATi],["__scopeId","data-v-82d0d4cb"]]),pTi={name:"BimdataViewer",components:{ContextMenu:WLi,ViewerHeader:nTi,ModalManager:MEe,GlobalSidePanel:hTi},setup(){const t=_t("$viewer"),{globalContext:e,shortcutManager:i}=t;fo(()=>{i&&i.destroy(),e.hub.clear()}),Sr(()=>{t.pluginManager.runPluginsScripts(t)});const r=At(()=>{var h;return t.uiSettings.bimdataLogo!==!1&&(e.localContexts.length!==1||((h=e.localContexts[0].window)==null?void 0:h.logoAndVersion))}),o=At(()=>{var h;return t.uiSettings.version!==!1&&(e.localContexts.length!==1||(h=e.localContexts[0].window)!=null&&h.logoAndVersion)?t.version:null}),n=At(()=>e.leftSidePanel),s=At(()=>e.rightSidePanel),a=At(()=>{var h;const g=t.uiSettings.header!==!1,p=e.localContexts.length===1&&((h=e.localContexts[0].window)==null?void 0:h.header)===!1,m=!!(n.value||s.value);return g&&(!p||m)}),l=t.uiSettings.contextMenu!==!1,c=_e(null);function d(h){l&&c.value.open(h)}function u(){t.shortcutManager.active=!0}function A(){t.shortcutManager.active=!1}return{Layout:t.layout.areas.component,onContextMenu:d,onMouseenter:u,onMouseleave:A,isHeaderVisible:a,viewerTemplateRef:e.templateRef,modalManagerTemplateRef:e.modalManagerTemplateRef,headerTemplateRef:e.headerTemplateRef,contextMenuTemplateRef:c,contextMenuEnabled:l,bimdataLogoOnSingleWindow:r,viewerVersionOnSingleWindow:o,version:t.version,loading:At(()=>e.loading),spinner:At(()=>e.spinner),leftSidePanel:n,rightSidePanel:s}}},gTi={key:1,class:"global-spinner",style:{"z-index":"3"}},fTi={key:2,class:"viewer__logo"},mTi={key:1,class:"version m-t-6"};function vTi(t,e,i,r,o,n){const s=R("ModalManager"),a=R("ContextMenu"),l=R("ViewerHeader"),c=R("GlobalSidePanel"),d=R("BIMDataSpinner"),u=R("BIMDataIllustration");return Q(),N("div",{id:"bimdata-viewer",ref:"viewerTemplateRef",class:"bimdata-viewer bimdata-scrollbar",onContextmenu:e[0]||(e[0]=(...A)=>r.onContextMenu&&r.onContextMenu(...A)),onMouseenter:e[1]||(e[1]=(...A)=>r.onMouseenter&&r.onMouseenter(...A)),onMouseleave:e[2]||(e[2]=(...A)=>r.onMouseleave&&r.onMouseleave(...A))},[L(s,{ref:"modalManagerTemplateRef"},null,512),r.contextMenuEnabled?(Q(),te(a,{key:0,ref:"contextMenuTemplateRef"},null,512)):fe("",!0),L(l,{ref:"headerTemplateRef",visible:r.isHeaderVisible},null,8,["visible"]),B("div",{class:"bimdata-viewer__content",style:Be(r.isHeaderVisible?"height: calc(100% - var(--bimdata-viewer-header-height, 40px))":"height: 100%")},[r.leftSidePanel?(Q(),te(c,{key:0,"side-panel":r.leftSidePanel,position:"left"},null,8,["side-panel"])):fe("",!0),(Q(),te(Uo(r.Layout),{style:"height: 100%; flex-grow: 1;"})),r.rightSidePanel?(Q(),te(c,{key:1,"side-panel":r.rightSidePanel,position:"right"},null,8,["side-panel"])):fe("",!0)],4),r.loading?(Q(),N("div",gTi,[r.spinner&&r.spinner.component?(Q(),te(Uo(r.spinner.component),hd(al({key:0},r.spinner.props)),null,16)):(Q(),te(d,{key:1,size:"40px",border:"5px"}))])):fe("",!0),!r.isHeaderVisible&&(r.bimdataLogoOnSingleWindow||r.viewerVersionOnSingleWindow)?(Q(),N("div",fTi,[r.bimdataLogoOnSingleWindow?(Q(),te(u,{key:0,name:"logo"})):fe("",!0),r.viewerVersionOnSingleWindow?(Q(),N("div",mTi,ee(r.version),1)):fe("",!0)])):fe("",!0)],544)}const CTi=K(pTi,[["render",vTi],["__scopeId","data-v-d81cd5dc"]]),yTi=["src"],wTi={class:"bimdata-models__header"},bTi={key:0,class:"bimdata-models__header__loader"},ITi={class:"bimdata-models__header__picto"},BTi={class:"bimdata-models__header__name"},ETi={key:0,class:"bimdata-models__header__name--empty"},xTi={key:1,class:"bimdata-models__header__name--empty"},kTi={key:3},MTi=["onMousemove","onClick"],STi={__name:"Models",props:{preview:{type:Boolean,default:!1},windowPositioning:{type:Boolean,default:!0},customFilter:{type:Function,default:null},width:{type:String,default:"350px"}},setup(t){const e=t,i=_t("$viewer"),r=_e(),o=_e(0),n=_e(0),s=_e(),a=ko([]),l=_e(!1),c=At(()=>i.localContext.loadedModels),d=At(()=>i.localContext.loadedModelIds),u=At(()=>i.localContext.loadingModelIds),A=At(()=>i.localContext.multiModel),h=At(()=>(e.customFilter?a.value.filter(e.customFilter):a.value).map(b=>c.value.find(E=>{var k;return((k=E.document)==null?void 0:k.head_id)!=null&&E.document.head_id===b.document.id})??b)),g=b=>d.value.includes(b),p=b=>u.value.includes(b),m=At(()=>{var b;const{x:E,y:k}=((b=s.value)==null?void 0:b.getBoundingClientRect())??{x:0,y:0};return`top:${n.value-k}px; left:${o.value-E}px;`}),f=b=>{!A.value&&g(b.id)||u.value.length>0||(i.localContext.loadedModelIds.includes(b.id)?i.localContext.unloadModels([b.id]):i.localContext.loadModels([b.id]))},C=b=>{switch(b){case"C":return"success";case"E":return"failed";case"P":case"I":return"sandglass"}},y=(b,E)=>{b!=null&&b.viewer_360_file&&(o.value=E.clientX,n.value=E.clientY),r.value=b?.viewer_360_file},v=async b=>{l.value=!0;try{return(await i.api.apiClient.modelApi.getModels(i.api.cloudId,i.api.projectId,void 0,void 0,b)).filter(E=>i.state.models.some(k=>k.archived)||!E.archived).sort(s1("updated_at",!1))}catch(E){console.error("[Models] Cannot get project models. Error: ",E)}finally{l.value=!1}return[]},w=b=>{var E;return((E=b.children)==null?void 0:E.some(k=>g(k.id)))??!1};return v(i.localContext.modelTypes).then(b=>{a.value=b}),(b,E)=>{const k=R("BIMDataSpinner"),x=R("BIMDataIconModel3D"),M=R("BIMDataTextbox"),D=R("BIMDataCheckbox"),P=R("BIMDataRadio"),T=R("BIMDataIcon"),U=R("BIMDataDropdownList");return Q(),N("div",{ref_key:"templateRef",ref:s,class:be(["bimdata-models",{"bimdata-models--window-positioning":t.windowPositioning}])},[r.value?(Q(),N("div",{key:0,class:"bimdata-models__preview",style:Be(m.value)},[B("img",{src:r.value},null,8,yTi)],4)):fe("",!0),L(U,{style:Be(`--bimdata-models-width: ${t.width};`),width:t.width,list:h.value,"element-key":"id","per-page":40,loading:l.value,class:"bimdata-models__list",disabled:h.value.length===0,onElementClick:f},{header:z(({isOpen:H})=>[B("div",wTi,[l.value||u.value.length>0?(Q(),N("div",bTi,[L(k)])):(Q(),N(Et,{key:1},[B("div",ITi,[L(x)]),B("div",{class:be(["bimdata-models__header__number bimdata-info-length",{"bimdata-models__header__number--empty":d.value.length===0}])},[B("span",null,ee(d.value.length),1)],2),B("div",BTi,[h.value.length===0?(Q(),N("span",ETi,ee(b.$t("model.no_model")),1)):d.value.length===0?(Q(),N("span",xTi,ee(b.$t("model.no_loaded_model")),1)):d.value.length===1?(Q(),te(M,{key:2,text:c.value[0].name,tooltip:!H},null,8,["text","tooltip"])):d.value.length>1?(Q(),N("span",kTi,ee(b.$t("model.selected_models")),1)):fe("",!0)])],64))])]),element:z(({element:H,close:_})=>[B("div",{class:"bimdata-models__model",onMousemove:V=>t.preview&&y(H,V),onMouseout:E[0]||(E[0]=V=>t.preview&&y()),onClick:()=>{!A.value&&!g(H.id)&&_()}},[A.value?(Q(),te(D,{key:0,"model-value":g(H.id)||w(H),disabled:H.status!=="C"||u.value.length>0},null,8,["model-value","disabled"])):(Q(),te(P,{key:1,"model-value":g(H.id)||w(H),disabled:H.status!=="C"||u.value.length>0},null,8,["model-value","disabled"])),L(T,{margin:"0 calc(var(--spacing-unit) / 2)",name:C(H.status),size:"xs",class:be({"fill-success":H.status==="C","fill-high":H.status==="E"})},null,8,["name","class"]),L(M,{class:be({"bimdata-models__model__name":!0,"bimdata-models__model__name--disabled":H.status!=="C"||u.value.length>0}),text:H.name,width:`calc(100% -
5495
5495
  ${A.value?13:23}px - 2 * 6px - 16px)`},null,8,["class","text","width"]),H.document&&!H.document.is_head_version?(Q(),te(T,{key:2,name:"versioning",fill:"",color:"default",size:"xs",margin:"0 0 0 6px"})):fe("",!0)],40,MTi),p(H.id)?(Q(),te(k,{key:0,class:"bimdata-models__model__spinner"})):fe("",!0)]),_:1},8,["style","width","list","loading","disabled"])],2)}}},REe=K(STi,[["__scopeId","data-v-34c2cf79"]]),QTi="data:image/svg+xml,%3csvg%20width='16'%20height='21'%20viewBox='0%200%2016%2021'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.47193%202.76644C7.65699%202.84439%207.77716%203.02565%207.777%203.22661L7.77339%207.94624C7.77318%208.22238%207.54916%208.44655%207.27301%208.44693L2.4192%208.45366C2.21569%208.45394%202.03258%208.33085%201.95617%208.1424C1.87975%207.95394%201.92528%207.73773%202.07129%207.59566L6.92872%202.86931C7.0729%202.72902%207.28688%202.6885%207.47193%202.76644ZM3.65141%207.45195L6.77378%207.44762L6.7761%204.41157L3.65141%207.45195ZM5.81657%200.893911L6.02338%200.893274L13.3879%200.870595C14.679%200.866619%2015.7208%201.91642%2015.722%203.20083L15.2221%203.20237L15.722%203.20052L15.722%203.20083L15.745%2017.8999L15.745%2017.9002C15.7462%2019.1846%2014.7063%2020.2408%2013.4153%2020.2448L2.35929%2020.2788C1.07114%2020.2828%200.0171799%2019.2362%200.0159721%2017.9486L0.00563138%206.92409L0.00543684%206.71668L0.152103%206.56972L5.67032%201.04045L5.81657%200.893911ZM6.23113%201.89264L1.00582%207.12841L1.01597%2017.9455C1.01666%2018.6791%201.62068%2019.2811%202.35835%2019.2788L13.4143%2019.2448C14.1484%2019.2425%2014.7456%2018.6402%2014.745%2017.9035C14.745%2017.9034%2014.745%2017.9033%2014.745%2017.9033L14.722%203.20423L14.722%203.20391C14.7213%202.46716%2014.123%201.86833%2013.3888%201.87059L6.23113%201.89264Z'%20fill='%232F374A'/%3e%3c/svg%3e",DTi=["src"],PTi={key:0,class:"bimdata-multi-model-loader__header-container"},RTi={key:0,class:"bimdata-multi-model-loader__header__loader"},LTi={class:"bimdata-multi-model-loader__header__picto"},TTi=["src"],FTi={class:"bimdata-multi-model-loader__header__name"},_Ti={key:0,class:"bimdata-multi-model-loader__header__name--empty"},UTi={key:1,class:"bimdata-multi-model-loader__header__name--empty"},NTi={key:3},OTi={key:1,class:"bimdata-multi-model-loader__main"},HTi=["onMousemove","onClick"],VTi={__name:"BIMDataMultiModelLoader",props:{preview:{type:Boolean,default:!1},windowPositioning:{type:Boolean,default:!0},customFilter:{type:Function,default:null},width:{type:String,default:"350px"}},setup(t){const e=t,i=_t("$viewer"),r=_e(),o=_e(0),n=_e(0),s=_e(),a=ko([]),l=_e(!1),c=_e(!0),d=P=>{P.key==="Escape"?c.value=!0:P.key==="Enter"&&k()};Ht(c,P=>{P?(window.removeEventListener("keydown",d),y.clear(),C.clear(),r.value=null):window.addEventListener("keydown",d)});const u=At(()=>i.localContext.loadedModels),A=At(()=>i.localContext.loadedModelIds),h=At(()=>i.localContext.loadingModelIds),g=At(()=>i.localContext.multiModel),p=At(()=>(e.customFilter?a.value.filter(e.customFilter):a.value).map(P=>u.value.find(T=>{var U;return((U=T.document)==null?void 0:U.head_id)!=null&&T.document.head_id===P.document.id})??P)),m=P=>A.value.includes(P),f=P=>h.value.includes(P),C=Ea(new Set),y=Ea(new Set),v=P=>{var T;return((T=P.children)==null?void 0:T.some(U=>m(U.id)))??!1},w=P=>(m(P.id)||v(P)||C.has(P))&&!y.has(P),b=At(()=>{const{x:P,y:T}=s.value.getBoundingClientRect();return`top:${n.value-T}px; left:${o.value-P}px;`}),E=P=>{P.status==="C"&&(!g.value&&m(P.id)||(m(P.id)?y.has(P)?y.delete(P):y.add(P):C.has(P)?C.delete(P):C.add(P)))},k=()=>{C.size>0&&i.localContext.loadModels(Array.from(C).map(P=>P.id)),y.size>0&&i.localContext.unloadModels(Array.from(y).map(P=>P.id)),c.value=!0},x=P=>{switch(P){case"C":return"success";case"E":return"failed";case"P":case"I":return"sandglass"}},M=P=>P.document&&!P.document.is_head_version,D=(P,T)=>{e.preview&&(P!=null&&P.viewer_360_file&&(o.value=T.clientX,n.value=T.clientY),r.value=P?.viewer_360_file)};return(async P=>{l.value=!0;try{return(await i.api.apiClient.modelApi.getModels(i.api.cloudId,i.api.projectId,void 0,void 0,P)).filter(T=>i.state.models.some(U=>U.archived)||!T.archived).sort(s1("updated_at",!1))}catch(T){console.error("[Models] Cannot get project models. Error: ",T)}finally{l.value=!1}return[]})(i.localContext.modelTypes).then(P=>{a.value=P}),(P,T)=>{const U=R("BIMDataSpinner"),H=R("BIMDataTextbox"),_=R("BIMDataIconChevron"),V=R("BIMDataButton"),Y=R("BIMDataIconFileIfcPolychrome"),re=R("BIMDataCheckbox"),ue=R("BIMDataRadio"),xe=R("BIMDataIcon"),pe=R("BIMDataPaginatedList"),Ee=ir("click-away");return Q(),N("div",{ref_key:"templateRef",ref:s,class:be(["bimdata-multi-model-loader",{"bimdata-multi-model-loader--window-positioning":t.windowPositioning}])},[r.value?(Q(),N("div",{key:0,class:"bimdata-multi-model-loader__preview",style:Be(b.value)},[B("img",{src:r.value},null,8,DTi)],4)):fe("",!0),L(cr,{name:"fade",mode:"out-in"},{default:z(()=>[c.value?(Q(),N("div",PTi,[Mt(P.$slots,"left",{},void 0,!0),B("div",{class:"bimdata-multi-model-loader__header",onClick:T[0]||(T[0]=de=>c.value=!1)},[l.value||h.value.length>0?(Q(),N("div",RTi,[L(U)])):(Q(),N(Et,{key:1},[B("div",LTi,[B("img",{src:Vt(QTi),alt:"file icon"},null,8,TTi)]),B("div",{class:be(["bimdata-multi-model-loader__header__number bimdata-info-length",{"bimdata-multi-model-loader__header__number--empty":A.value.length===0}])},[B("span",null,ee(A.value.length),1)],2),B("div",FTi,[p.value.length===0?(Q(),N("span",_Ti,ee(P.$t("model.no_model")),1)):A.value.length===0?(Q(),N("span",UTi,ee(P.$t("model.no_loaded_model")),1)):A.value.length===1?(Q(),te(H,{key:2,text:u.value[0].name,tooltip:c.value,width:"233px"},null,8,["text","tooltip"])):A.value.length>1?(Q(),N("span",NTi,ee(P.$t("model.selected_models")),1)):fe("",!0)]),L(V,{color:"default",icon:"",radius:"",fill:"",width:"21px",height:"21px"},{default:z(()=>[L(_,{size:"xxxs"})]),_:1})],64))]),Mt(P.$slots,"right",{},void 0,!0)])):Ft((Q(),N("div",OTi,[L(pe,{list:p.value,"per-page":10},{element:z(({element:de})=>[B("div",{class:be(["bimdata-multi-model-loader__main__model",{"bimdata-multi-model-loader__main__model--disabled":de.status!=="C"}]),onMousemove:De=>D(de,De),onMouseout:T[1]||(T[1]=De=>D()),onClick:De=>E(de)},[L(Y,{fill:"",color:"default",size:"xs"}),g.value?(Q(),te(re,{key:0,"model-value":w(de),disabled:de.status!=="C"},null,8,["model-value","disabled"])):(Q(),te(ue,{key:1,"model-value":w(de),disabled:de.status!=="C"},null,8,["model-value","disabled"])),L(H,{class:be({"bimdata-multi-model-loader__main__model__name":!0,"bimdata-multi-model-loader__main__model__name--disabled":de.status!=="C"}),text:de.name,width:M(de)?"333px":"363px"},null,8,["class","text","width"]),M(de)?(Q(),te(xe,{key:2,name:"versioning",fill:"",color:"default",size:"xs",margin:"0 0 0 6px"})):fe("",!0),f(de.id)?(Q(),te(U,{key:3,class:"bimdata-multi-model-loader__main__model__spinner"})):(Q(),te(xe,{key:4,name:x(de.status),size:"xs",class:be({"fill-success":de.status==="C","fill-high":de.status==="E"})},null,8,["name","class"]))],42,HTi)]),_:1},8,["list"]),L(V,{class:"bimdata-multi-model-loader__main__validate",width:"93px",color:"primary",fill:"",radius:"",disabled:Vt(C).size===0&&Vt(y).size===0,onClick:k},{default:z(()=>[gt(ee(P.$t("global.validate")),1)]),_:1},8,["disabled"])])),[[Ee,()=>c.value=!0]])]),_:3})],2)}}},GTi=K(VTi,[["__scopeId","data-v-ef41eab1"]]),jTi={data(){return{shown:!1}},mounted(){setTimeout(()=>{this.shown=!0},500)}};function zTi(t,e,i,r,o,n){const s=R("BIMDataIllustration");return Q(),N("div",{class:"bimdata__no-model",style:Be({"--no-model--opacity":o.shown?1:0})},[L(s,{name:"emptyViewer",x:"90",y:"90"}),B("span",null,ee(t.$t("model.select_model")),1)],4)}const LEe=K(jTi,[["render",zTi],["__scopeId","data-v-5ffd9bc0"]]);window.BIMDataViewerVue=tae;class qTi{constructor(e={}){var i,r;const{api:o={},ui:n}=e;this.uiCfg=n,o.apiUrl||(console.info("[BIMData Viewer] INFO - Viewer config - `apiUrl` not set, use 'https://api.bimdata.io' by default."),o.apiUrl="https://api.bimdata.io"),o.archiveUrl||(console.info("[BIMData Viewer] INFO - Viewer config - `archiveUrl` not set, use 'https://archive.bimdata.io' by default."),o.archiveUrl="https://archive.bimdata.io"),o.pdfBackendUrl||(console.info("[BIMData Viewer] INFO - Viewer config - `pdfBackendUrl` not set, use 'https://pdf-backend.bimdata.io' by default."),o.pdfBackendUrl="https://pdf-backend.bimdata.io"),o.ifcIds&&(console.warn("[BIMData Viewer] DEPRECATED - Viewer config - please use the `modelIds` property instead of `ifcIds`."),o.modelIds===void 0&&(o.modelIds=o.ifcIds)),o.modelIds||(o.modelIds=[]),(i=o.offline)!=null&&i.dataFile&&(o.offline.data=o.offline.dataFile),this.$viewer=new $Ri(e),(r=o.offline)!=null&&r.enabled?this.$viewer.api.enableOfflineMode(o.offline.data,o.offline.options).then(()=>this.state.loadModels(o.modelIds)):(this.$viewer.globalContext.loadingProcessStart(),this.state.loadModels(o.modelIds).finally(()=>this.$viewer.globalContext.loadingProcessEnd())),this.vueApp=null}get state(){return this.$viewer.state}get api(){return this.$viewer.api}async mount(e,i="3d"){var r;const{$viewer:o}=this;await o.api.ready;try{const u=await o.api.apiClient.collaborationApi.checkProjectAccess(o.api.cloudId,o.api.projectId);o.api.permissions=PEe(u)}catch{o.api.permissions=PEe()}const n=this.api.accessToken,{i18n:s}=o;s.registerTranslations(o.pluginManager.pluginTranslations),o.layout.apply(i);const a={i18n:s.i18nVuePlugin,data(){return{accessToken:n}},render(){return Ln(CTi,{style:"height: 100%"})}},l=cy(a).use(s.i18nVuePlugin).use(OLi()).use(_Li({i18nPlugin:s.i18nVuePlugin})).use(pLi({apiClient:o.api.apiClient,i18nPlugin:s.i18nVuePlugin}));l.provide("$viewer",o),l.component("BIMDataModelLoader",REe),l.component("BIMDataMultiModelLoader",GTi),l.component("BIMDataNoModelWindowPlaceHolder",LEe),l.component("BIMDataStoreySelector",JG),l.component("ModelsLoader",REe),l.component("NoModelWindowPlaceHolder",LEe);const c=e instanceof HTMLElement?e:document.querySelector(e);c&&(c.style.height="100%");const d=l.mount(e);return d.$viewer=o,eLi(d.$el,(r=this.uiCfg)==null?void 0:r.style),typeof window<"u"&&(window.bimdataViewer=d),this.vueApp=l,d}destroy(){var e;(e=this.vueApp)==null||e.unmount()}setLocale(e){if(!mae.includes(e))throw new Error(`Viewer available locales are ${mae.join(", ")}.`);this.$viewer.i18n.locale=e}registerPlugin(e){this.$viewer.registerPlugin(e)}registerWindow(e){return this.$viewer.windowManager.registerWindow(e)}unregisterWindow(e){return this.$viewer.windowManager.unregisterWindow(e)}setAccessToken(e){this.api.accessToken=e}async loadModels(e){this.$viewer.globalContext.loadingProcessStart();const i=await this.state.loadModels(e);return this.$viewer.globalContext.loadingProcessEnd(),i}loadIfcs(e){return console.warn("[BIMData Viewer] DEPRECATED - Viewer - please use the loadModels method instead of loadIfcs."),this.loadModels(e)}}const TEe=(t={})=>new qTi(t);window.makeBIMDataViewer=TEe;var tI={};tI.d=(t,e)=>{for(var i in e)tI.o(e,i)&&!tI.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},tI.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var zi=globalThis.pdfjsLib={};tI.d(zi,{AbortException:()=>og,AnnotationEditorLayer:()=>aUi,AnnotationEditorParamsType:()=>Dr,AnnotationEditorType:()=>or,AnnotationEditorUIManager:()=>vI,AnnotationLayer:()=>Y_i,AnnotationMode:()=>ig,ColorPicker:()=>qke,DOMSVGFactory:()=>PX,DrawLayer:()=>lUi,FeatureTest:()=>xl,GlobalWorkerOptions:()=>mg,ImageKind:()=>pR,InvalidPDFException:()=>PZ,MissingPDFException:()=>rI,OPS:()=>ju,OutputScale:()=>GZ,PDFDataRangeTransport:()=>cke,PDFDateString:()=>HZ,PDFWorker:()=>QL,PasswordResponses:()=>WTi,PermissionFlag:()=>YTi,PixelsPerInch:()=>T9,RenderingCancelledException:()=>NZ,TextLayer:()=>kX,TouchManager:()=>uxe,UnexpectedResponseException:()=>vR,Util:()=>bi,VerbosityLevel:()=>gR,XfaLayer:()=>pke,build:()=>M_i,createValidAbsoluteUrl:()=>eFi,fetchData:()=>wR,getDocument:()=>m_i,getFilenameFromUrl:()=>cFi,getPdfFilenameFromUrl:()=>dFi,getXfaPageViewport:()=>uFi,isDataScheme:()=>bR,isPdfFile:()=>OZ,noContextMenu:()=>zu,normalizeUnicode:()=>sFi,setLayerDimensions:()=>H2,shadow:()=>gr,stopEvent:()=>$c,version:()=>k_i});const Ua=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),FEe=[1,0,0,1,0,0],SZ=[.001,0,0,.001,0,0],KTi=1e7,QZ=1.35,Xc={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},ig={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},JTi="pdfjs_internal_editor_",or={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},Dr={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35,DRAW_STEP:41},YTi={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},Na={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},pR={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Cs={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,WIDGET:20},iI={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},gR={ERRORS:0,WARNINGS:1,INFOS:5},ju={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93},WTi={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let fR=gR.WARNINGS;function ZTi(t){Number.isInteger(t)&&(fR=t)}function XTi(){return fR}function mR(t){fR>=gR.INFOS&&console.log(`Info: ${t}`)}function nr(t){fR>=gR.WARNINGS&&console.log(`Warning: ${t}`)}function So(t){throw new Error(t)}function $n(t,e){t||So(e)}function $Ti(t){switch(t?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function eFi(t,e=null,i=null){if(!t)return null;try{if(i&&typeof t=="string"){if(i.addDefaultProtocol&&t.startsWith("www.")){const o=t.match(/\./g);o?.length>=2&&(t=`http://${t}`)}if(i.tryConvertEncoding)try{t=nFi(t)}catch{}}const r=e?new URL(t,e):new URL(t);if($Ti(r))return r}catch{}return null}function gr(t,e,i,r=!1){return Object.defineProperty(t,e,{value:i,enumerable:!r,configurable:!0,writable:!1}),i}const rg=function(){function t(e,i){this.message=e,this.name=i}return t.prototype=new Error,t.constructor=t,t}();let _Ee=class extends rg{constructor(t,e){super(t,"PasswordException"),this.code=e}},DZ=class extends rg{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}},PZ=class extends rg{constructor(t){super(t,"InvalidPDFException")}},rI=class extends rg{constructor(t){super(t,"MissingPDFException")}},vR=class extends rg{constructor(t,e){super(t,"UnexpectedResponseException"),this.status=e}},tFi=class extends rg{constructor(t){super(t,"FormatError")}},og=class extends rg{constructor(t){super(t,"AbortException")}};function UEe(t){(typeof t!="object"||t?.length===void 0)&&So("Invalid argument for bytesToString");const e=t.length,i=8192;if(e<i)return String.fromCharCode.apply(null,t);const r=[];for(let o=0;o<e;o+=i){const n=Math.min(o+i,e),s=t.subarray(o,n);r.push(String.fromCharCode.apply(null,s))}return r.join("")}function CR(t){typeof t!="string"&&So("Invalid argument for stringToBytes");const e=t.length,i=new Uint8Array(e);for(let r=0;r<e;++r)i[r]=t.charCodeAt(r)&255;return i}function iFi(t){return String.fromCharCode(t>>24&255,t>>16&255,t>>8&255,t&255)}function RZ(t){const e=Object.create(null);for(const[i,r]of t)e[i]=r;return e}function rFi(){const t=new Uint8Array(4);return t[0]=1,new Uint32Array(t.buffer,0,1)[0]===1}function oFi(){try{return new Function(""),!0}catch{return!1}}class xl{static get isLittleEndian(){return gr(this,"isLittleEndian",rFi())}static get isEvalSupported(){return gr(this,"isEvalSupported",oFi())}static get isOffscreenCanvasSupported(){return gr(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return gr(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get platform(){return typeof navigator<"u"&&typeof navigator?.platform=="string"?gr(this,"platform",{isMac:navigator.platform.includes("Mac"),isWindows:navigator.platform.includes("Win"),isFirefox:typeof navigator?.userAgent=="string"&&navigator.userAgent.includes("Firefox")}):gr(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){var e,i;return gr(this,"isCSSRoundSupported",(i=(e=globalThis.CSS)==null?void 0:e.supports)==null?void 0:i.call(e,"width: round(1.5px, 1px)"))}}const LZ=Array.from(Array(256).keys(),t=>t.toString(16).padStart(2,"0"));var O2,TZ,yR,FZ;let bi=(TZ=class{static makeHexColor(t,e,i){return`#${LZ[t]}${LZ[e]}${LZ[i]}`}static scaleMinMax(t,e){let i;t[0]?(t[0]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[0],e[2]*=t[0],t[3]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[3],e[3]*=t[3]):(i=e[0],e[0]=e[1],e[1]=i,i=e[2],e[2]=e[3],e[3]=i,t[1]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[1],e[3]*=t[1],t[2]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[2],e[2]*=t[2]),e[0]+=t[4],e[1]+=t[5],e[2]+=t[4],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){const i=t[0]*e[0]+t[1]*e[2]+e[4],r=t[0]*e[1]+t[1]*e[3]+e[5];return[i,r]}static applyInverseTransform(t,e){const i=e[0]*e[3]-e[1]*e[2],r=(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/i,o=(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/i;return[r,o]}static getAxialAlignedBoundingBox(t,e){const i=this.applyTransform(t,e),r=this.applyTransform(t.slice(2,4),e),o=this.applyTransform([t[0],t[3]],e),n=this.applyTransform([t[2],t[1]],e);return[Math.min(i[0],r[0],o[0],n[0]),Math.min(i[1],r[1],o[1],n[1]),Math.max(i[0],r[0],o[0],n[0]),Math.max(i[1],r[1],o[1],n[1])]}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t){const e=[t[0],t[2],t[1],t[3]],i=t[0]*e[0]+t[1]*e[2],r=t[0]*e[1]+t[1]*e[3],o=t[2]*e[0]+t[3]*e[2],n=t[2]*e[1]+t[3]*e[3],s=(i+n)/2,a=Math.sqrt((i+n)**2-4*(i*n-o*r))/2,l=s+a||1,c=s-a||1;return[Math.sqrt(l),Math.sqrt(c)]}static normalizeRect(t){const e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){const i=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),r=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(i>r)return null;const o=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),n=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return o>n?null:[i,o,r,n]}static bezierBoundingBox(t,e,i,r,o,n,s,a,l){return l?(l[0]=Math.min(l[0],t,s),l[1]=Math.min(l[1],e,a),l[2]=Math.max(l[2],t,s),l[3]=Math.max(l[3],e,a)):l=[Math.min(t,s),Math.min(e,a),Math.max(t,s),Math.max(e,a)],oe(this,O2,FZ).call(this,t,i,o,s,e,r,n,a,3*(-t+3*(i-o)+s),6*(t-2*i+o),3*(i-t),l),oe(this,O2,FZ).call(this,t,i,o,s,e,r,n,a,3*(-e+3*(r-n)+a),6*(e-2*r+n),3*(r-e),l),l}},O2=new WeakSet,yR=function(t,e,i,r,o,n,s,a,l,c){if(l<=0||l>=1)return;const d=1-l,u=l*l,A=u*l,h=d*(d*(d*t+3*l*e)+3*u*i)+A*r,g=d*(d*(d*o+3*l*n)+3*u*s)+A*a;c[0]=Math.min(c[0],h),c[1]=Math.min(c[1],g),c[2]=Math.max(c[2],h),c[3]=Math.max(c[3],g)},FZ=function(t,e,i,r,o,n,s,a,l,c,d,u){if(Math.abs(l)<1e-12){Math.abs(c)>=1e-12&&oe(this,O2,yR).call(this,t,e,i,r,o,n,s,a,-d/c,u);return}const A=c**2-4*d*l;if(A<0)return;const h=Math.sqrt(A),g=2*l;oe(this,O2,yR).call(this,t,e,i,r,o,n,s,a,(-c+h)/g,u),oe(this,O2,yR).call(this,t,e,i,r,o,n,s,a,(-c-h)/g,u)},ce(TZ,O2),TZ);function nFi(t){return decodeURIComponent(escape(t))}let _Z=null,NEe=null;function sFi(t){return _Z||(_Z=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,NEe=new Map([["\uFB05","\u017Ft"]])),t.replaceAll(_Z,(e,i,r)=>i?i.normalize("NFKC"):NEe.get(r))}function aFi(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();const t=new Uint8Array(32);return crypto.getRandomValues(t),UEe(t)}const UZ="pdfjs_internal_id_";function lFi(t){return Uint8Array.prototype.toBase64?t.toBase64():btoa(UEe(t))}typeof Promise.try!="function"&&(Promise.try=function(t,...e){return new Promise(i=>{i(t(...e))})});const V1="http://www.w3.org/2000/svg",L9=class{};ai(L9,"CSS",96),ai(L9,"PDF",72),ai(L9,"PDF_TO_CSS_UNITS",L9.CSS/L9.PDF);let T9=L9;async function wR(t,e="text"){if(oI(t,document.baseURI)){const i=await fetch(t);if(!i.ok)throw new Error(i.statusText);switch(e){case"arraybuffer":return i.arrayBuffer();case"blob":return i.blob();case"json":return i.json()}return i.text()}return new Promise((i,r)=>{const o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType=e,o.onreadystatechange=()=>{if(o.readyState===XMLHttpRequest.DONE){if(o.status===200||o.status===0){switch(e){case"arraybuffer":case"blob":case"json":i(o.response);return}i(o.responseText);return}r(new Error(o.statusText))}},o.send(null)})}class KE{constructor({viewBox:e,userUnit:i,scale:r,rotation:o,offsetX:n=0,offsetY:s=0,dontFlip:a=!1}){this.viewBox=e,this.userUnit=i,this.scale=r,this.rotation=o,this.offsetX=n,this.offsetY=s,r*=i;const l=(e[2]+e[0])/2,c=(e[3]+e[1])/2;let d,u,A,h;switch(o%=360,o<0&&(o+=360),o){case 180:d=-1,u=0,A=0,h=1;break;case 90:d=0,u=1,A=1,h=0;break;case 270:d=0,u=-1,A=-1,h=0;break;case 0:d=1,u=0,A=0,h=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}a&&(A=-A,h=-h);let g,p,m,f;d===0?(g=Math.abs(c-e[1])*r+n,p=Math.abs(l-e[0])*r+s,m=(e[3]-e[1])*r,f=(e[2]-e[0])*r):(g=Math.abs(l-e[0])*r+n,p=Math.abs(c-e[1])*r+s,m=(e[2]-e[0])*r,f=(e[3]-e[1])*r),this.transform=[d*r,u*r,A*r,h*r,g-d*r*l-A*r*c,p-u*r*l-h*r*c],this.width=m,this.height=f}get rawDims(){const{userUnit:e,viewBox:i}=this,r=i.map(o=>o*e);return gr(this,"rawDims",{pageWidth:r[2]-r[0],pageHeight:r[3]-r[1],pageX:r[0],pageY:r[1]})}clone({scale:e=this.scale,rotation:i=this.rotation,offsetX:r=this.offsetX,offsetY:o=this.offsetY,dontFlip:n=!1}={}){return new KE({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:e,rotation:i,offsetX:r,offsetY:o,dontFlip:n})}convertToViewportPoint(e,i){return bi.applyTransform([e,i],this.transform)}convertToViewportRectangle(e){const i=bi.applyTransform([e[0],e[1]],this.transform),r=bi.applyTransform([e[2],e[3]],this.transform);return[i[0],i[1],r[0],r[1]]}convertToPdfPoint(e,i){return bi.applyInverseTransform([e,i],this.transform)}}class NZ extends rg{constructor(e,i=0){super(e,"RenderingCancelledException"),this.extraDelay=i}}function bR(t){const e=t.length;let i=0;for(;i<e&&t[i].trim()==="";)i++;return t.substring(i,i+5).toLowerCase()==="data:"}function OZ(t){return typeof t=="string"&&/\.pdf$/i.test(t)}function cFi(t){return[t]=t.split(/[#?]/,1),t.substring(t.lastIndexOf("/")+1)}function dFi(t,e="document.pdf"){if(typeof t!="string")return e;if(bR(t))return nr('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),e;const i=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/,r=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,o=i.exec(t);let n=r.exec(o[1])||r.exec(o[2])||r.exec(o[3]);if(n&&(n=n[0],n.includes("%")))try{n=r.exec(decodeURIComponent(n))[0]}catch{}return n||e}class OEe{constructor(){ai(this,"started",Object.create(null)),ai(this,"times",[])}time(e){e in this.started&&nr(`Timer is already running for ${e}`),this.started[e]=Date.now()}timeEnd(e){e in this.started||nr(`Timer has not been started for ${e}`),this.times.push({name:e,start:this.started[e],end:Date.now()}),delete this.started[e]}toString(){const e=[];let i=0;for(const{name:r}of this.times)i=Math.max(r.length,i);for(const{name:r,start:o,end:n}of this.times)e.push(`${r.padEnd(i)} ${n-o}ms
5496
5496
  `);return e.join("")}}function oI(t,e){try{const{protocol:i}=e?new URL(t,e):new URL(t);return i==="http:"||i==="https:"}catch{return!1}}function zu(t){t.preventDefault()}function $c(t){t.preventDefault(),t.stopPropagation()}var nI;class HZ{static toDateObject(e){if(!e||typeof e!="string")return null;S(this,nI)||ie(this,nI,new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?"));const i=S(this,nI).exec(e);if(!i)return null;const r=parseInt(i[1],10);let o=parseInt(i[2],10);o=o>=1&&o<=12?o-1:0;let n=parseInt(i[3],10);n=n>=1&&n<=31?n:1;let s=parseInt(i[4],10);s=s>=0&&s<=23?s:0;let a=parseInt(i[5],10);a=a>=0&&a<=59?a:0;let l=parseInt(i[6],10);l=l>=0&&l<=59?l:0;const c=i[7]||"Z";let d=parseInt(i[8],10);d=d>=0&&d<=23?d:0;let u=parseInt(i[9],10)||0;return u=u>=0&&u<=59?u:0,c==="-"?(s+=d,a+=u):c==="+"&&(s-=d,a-=u),new Date(Date.UTC(r,o,n,s,a,l))}}nI=new WeakMap,ce(HZ,nI);function uFi(t,{scale:e=1,rotation:i=0}){const{width:r,height:o}=t.attributes.style,n=[0,0,parseInt(r),parseInt(o)];return new KE({viewBox:n,userUnit:1,scale:e,rotation:i})}function VZ(t){if(t.startsWith("#")){const e=parseInt(t.slice(1),16);return[(e&16711680)>>16,(e&65280)>>8,e&255]}return t.startsWith("rgb(")?t.slice(4,-1).split(",").map(e=>parseInt(e)):t.startsWith("rgba(")?t.slice(5,-1).split(",").map(e=>parseInt(e)).slice(0,3):(nr(`Not a valid color format: "${t}"`),[0,0,0])}function AFi(t){const e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const i of t.keys()){e.style.color=i;const r=window.getComputedStyle(e).color;t.set(i,VZ(r))}e.remove()}function tn(t){const{a:e,b:i,c:r,d:o,e:n,f:s}=t.getTransform();return[e,i,r,o,n,s]}function ih(t){const{a:e,b:i,c:r,d:o,e:n,f:s}=t.getTransform().invertSelf();return[e,i,r,o,n,s]}function H2(t,e,i=!1,r=!0){if(e instanceof KE){const{pageWidth:o,pageHeight:n}=e.rawDims,{style:s}=t,a=xl.isCSSRoundSupported,l=`var(--scale-factor) * ${o}px`,c=`var(--scale-factor) * ${n}px`,d=a?`round(down, ${l}, var(--scale-round-x, 1px))`:`calc(${l})`,u=a?`round(down, ${c}, var(--scale-round-y, 1px))`:`calc(${c})`;!i||e.rotation%180===0?(s.width=d,s.height=u):(s.width=u,s.height=d)}r&&t.setAttribute("data-main-rotation",e.rotation)}class GZ{constructor(){const e=window.devicePixelRatio||1;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}}var V2,F9,rh,_9,IR,sI,jZ,HEe,oh,VEe,GEe,BR,jEe,zZ;const ER=class h_{constructor(e){ce(this,oh),ce(this,V2,null),ce(this,F9,null),ce(this,rh),ce(this,_9,null),ce(this,IR,null),ie(this,rh,e),S(h_,sI)||ie(h_,sI,Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button"}))}render(){const e=ie(this,V2,document.createElement("div"));e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");const i=S(this,rh)._uiManager._signal;e.addEventListener("contextmenu",zu,{signal:i}),e.addEventListener("pointerdown",oe(h_,jZ,HEe),{signal:i});const r=ie(this,_9,document.createElement("div"));r.className="buttons",e.append(r);const o=S(this,rh).toolbarPosition;if(o){const{style:n}=e,s=S(this,rh)._uiManager.direction==="ltr"?1-o[0]:o[0];n.insetInlineEnd=`${100*s}%`,n.top=`calc(${100*o[1]}% + var(--editor-toolbar-vert-offset))`}return oe(this,oh,jEe).call(this),e}get div(){return S(this,V2)}hide(){var e;S(this,V2).classList.add("hidden"),(e=S(this,F9))==null||e.hideDropdown()}show(){var e;S(this,V2).classList.remove("hidden"),(e=S(this,IR))==null||e.shown()}async addAltText(e){const i=await e.render();oe(this,oh,BR).call(this,i),S(this,_9).prepend(i,S(this,oh,zZ)),ie(this,IR,e)}addColorPicker(e){ie(this,F9,e);const i=e.renderButton();oe(this,oh,BR).call(this,i),S(this,_9).prepend(i,S(this,oh,zZ))}remove(){var e;S(this,V2).remove(),(e=S(this,F9))==null||e.destroy(),ie(this,F9,null)}};V2=new WeakMap,F9=new WeakMap,rh=new WeakMap,_9=new WeakMap,IR=new WeakMap,sI=new WeakMap,jZ=new WeakSet,HEe=function(t){t.stopPropagation()},oh=new WeakSet,VEe=function(t){S(this,rh)._focusEventsAllowed=!1,$c(t)},GEe=function(t){S(this,rh)._focusEventsAllowed=!0,$c(t)},BR=function(t){const e=S(this,rh)._uiManager._signal;t.addEventListener("focusin",oe(this,oh,VEe).bind(this),{capture:!0,signal:e}),t.addEventListener("focusout",oe(this,oh,GEe).bind(this),{capture:!0,signal:e}),t.addEventListener("contextmenu",zu,{signal:e})},jEe=function(){const{editorType:t,_uiManager:e}=S(this,rh),i=document.createElement("button");i.className="delete",i.tabIndex=0,i.setAttribute("data-l10n-id",S(ER,sI)[t]),oe(this,oh,BR).call(this,i),i.addEventListener("click",r=>{e.delete()},{signal:e._signal}),S(this,_9).append(i)},zZ=function(){const t=document.createElement("div");return t.className="divider",t},ce(ER,jZ),ce(ER,sI,null);let hFi=ER;var xR,G2,U9,aI,zEe,qEe,KEe;class pFi{constructor(e){ce(this,aI),ce(this,xR,null),ce(this,G2,null),ce(this,U9),ie(this,U9,e)}show(e,i,r){const[o,n]=oe(this,aI,qEe).call(this,i,r),{style:s}=S(this,G2)||ie(this,G2,oe(this,aI,zEe).call(this));e.append(S(this,G2)),s.insetInlineEnd=`${100*o}%`,s.top=`calc(${100*n}% + var(--editor-toolbar-vert-offset))`}hide(){S(this,G2).remove()}}xR=new WeakMap,G2=new WeakMap,U9=new WeakMap,aI=new WeakSet,zEe=function(){const t=ie(this,G2,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar"),t.addEventListener("contextmenu",zu,{signal:S(this,U9)._signal});const e=ie(this,xR,document.createElement("div"));return e.className="buttons",t.append(e),oe(this,aI,KEe).call(this),t},qEe=function(t,e){let i=0,r=0;for(const o of t){const n=o.y+o.height;if(n<i)continue;const s=o.x+(e?o.width:0);if(n>i){r=s,i=n;continue}e?s>r&&(r=s):s<r&&(r=s)}return[e?1-r:r,i]},KEe=function(){const t=document.createElement("button");t.className="highlightButton",t.tabIndex=0,t.setAttribute("data-l10n-id","pdfjs-highlight-floating-button1");const e=document.createElement("span");t.append(e),e.className="visuallyHidden",e.setAttribute("data-l10n-id","pdfjs-highlight-floating-button-label");const i=S(this,U9)._signal;t.addEventListener("contextmenu",zu,{signal:i}),t.addEventListener("click",()=>{S(this,U9).highlightSelection("floating_button")},{signal:i}),S(this,xR).append(t)};function kR(t,e,i){for(const r of i)e.addEventListener(r,t[r].bind(t))}var qZ;class gFi{constructor(){ce(this,qZ,0)}get id(){return`${JTi}${Ol(this,qZ)._++}`}}qZ=new WeakMap;var lI,MR,ys,cI,SR;const JEe=class{constructor(){ce(this,cI),ce(this,lI,aFi()),ce(this,MR,0),ce(this,ys,null)}static get _isSVGFittingCanvas(){const e='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>',i=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),r=new Image;r.src=e;const o=r.decode().then(()=>(i.drawImage(r,0,0,1,1,0,0,1,3),new Uint32Array(i.getImageData(0,0,1,1).data.buffer)[0]===0));return gr(this,"_isSVGFittingCanvas",o)}async getFromFile(e){const{lastModified:i,name:r,size:o,type:n}=e;return oe(this,cI,SR).call(this,`${i}_${r}_${o}_${n}`,e)}async getFromUrl(e){return oe(this,cI,SR).call(this,e,e)}async getFromBlob(e,i){const r=await i;return oe(this,cI,SR).call(this,e,r)}async getFromId(e){S(this,ys)||ie(this,ys,new Map);const i=S(this,ys).get(e);if(!i)return null;if(i.bitmap)return i.refCounter+=1,i;if(i.file)return this.getFromFile(i.file);if(i.blobPromise){const{blobPromise:r}=i;return delete i.blobPromise,this.getFromBlob(i.id,r)}return this.getFromUrl(i.url)}getFromCanvas(e,i){S(this,ys)||ie(this,ys,new Map);let r=S(this,ys).get(e);if(r!=null&&r.bitmap)return r.refCounter+=1,r;const o=new OffscreenCanvas(i.width,i.height);return o.getContext("2d").drawImage(i,0,0),r={bitmap:o.transferToImageBitmap(),id:`image_${S(this,lI)}_${Ol(this,MR)._++}`,refCounter:1,isSvg:!1},S(this,ys).set(e,r),S(this,ys).set(r.id,r),r}getSvgUrl(e){const i=S(this,ys).get(e);return i!=null&&i.isSvg?i.svgUrl:null}deleteId(e){var i;S(this,ys)||ie(this,ys,new Map);const r=S(this,ys).get(e);if(!r||(r.refCounter-=1,r.refCounter!==0))return;const{bitmap:o}=r;if(!r.url&&!r.file){const n=new OffscreenCanvas(o.width,o.height);n.getContext("bitmaprenderer").transferFromImageBitmap(o),r.blobPromise=n.convertToBlob()}(i=o.close)==null||i.call(o),r.bitmap=null}isValidId(e){return e.startsWith(`image_${S(this,lI)}_`)}};lI=new WeakMap,MR=new WeakMap,ys=new WeakMap,cI=new WeakSet,SR=async function(t,e){S(this,ys)||ie(this,ys,new Map);let i=S(this,ys).get(t);if(i===null)return null;if(i!=null&&i.bitmap)return i.refCounter+=1,i;try{i||(i={bitmap:null,id:`image_${S(this,lI)}_${Ol(this,MR)._++}`,refCounter:0,isSvg:!1});let r;if(typeof e=="string"?(i.url=e,r=await wR(e,"blob")):e instanceof File?r=i.file=e:e instanceof Blob&&(r=e),r.type==="image/svg+xml"){const o=JEe._isSVGFittingCanvas,n=new FileReader,s=new Image,a=new Promise((l,c)=>{s.onload=()=>{i.bitmap=s,i.isSvg=!0,l()},n.onload=async()=>{const d=i.svgUrl=n.result;s.src=await o?`${d}#svgView(preserveAspectRatio(none))`:d},s.onerror=n.onerror=c});n.readAsDataURL(r),await a}else i.bitmap=await createImageBitmap(r);i.refCounter=1}catch(r){nr(r),i=null}return S(this,ys).set(t,i),i&&S(this,ys).set(i.id,i),i};let fFi=JEe;var es,j2,QR,rn;class mFi{constructor(e=128){ce(this,es,[]),ce(this,j2,!1),ce(this,QR),ce(this,rn,-1),ie(this,QR,e)}add({cmd:e,undo:i,post:r,mustExec:o,type:n=NaN,overwriteIfSameType:s=!1,keepUndo:a=!1}){if(o&&e(),S(this,j2))return;const l={cmd:e,undo:i,post:r,type:n};if(S(this,rn)===-1){S(this,es).length>0&&(S(this,es).length=0),ie(this,rn,0),S(this,es).push(l);return}if(s&&S(this,es)[S(this,rn)].type===n){a&&(l.undo=S(this,es)[S(this,rn)].undo),S(this,es)[S(this,rn)]=l;return}const c=S(this,rn)+1;c===S(this,QR)?S(this,es).splice(0,1):(ie(this,rn,c),c<S(this,es).length&&S(this,es).splice(c)),S(this,es).push(l)}undo(){if(S(this,rn)===-1)return;ie(this,j2,!0);const{undo:e,post:i}=S(this,es)[S(this,rn)];e(),i?.(),ie(this,j2,!1),ie(this,rn,S(this,rn)-1)}redo(){if(S(this,rn)<S(this,es).length-1){ie(this,rn,S(this,rn)+1),ie(this,j2,!0);const{cmd:e,post:i}=S(this,es)[S(this,rn)];e(),i?.(),ie(this,j2,!1)}}hasSomethingToUndo(){return S(this,rn)!==-1}hasSomethingToRedo(){return S(this,rn)<S(this,es).length-1}cleanType(e){if(S(this,rn)!==-1){for(let i=S(this,rn);i>=0;i--)if(S(this,es)[i].type!==e){S(this,es).splice(i+1,S(this,rn)-i),ie(this,rn,i);return}S(this,es).length=0,ie(this,rn,-1)}}destroy(){ie(this,es,null)}}es=new WeakMap,j2=new WeakMap,QR=new WeakMap,rn=new WeakMap;var KZ,YEe;class dI{constructor(e){ce(this,KZ),this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const{isMac:i}=xl.platform;for(const[r,o,n={}]of e)for(const s of r){const a=s.startsWith("mac+");i&&a?(this.callbacks.set(s.slice(4),{callback:o,options:n}),this.allKeys.add(s.split("+").at(-1))):!i&&!a&&(this.callbacks.set(s,{callback:o,options:n}),this.allKeys.add(s.split("+").at(-1)))}}exec(e,i){if(!this.allKeys.has(i.key))return;const r=this.callbacks.get(oe(this,KZ,YEe).call(this,i));if(!r)return;const{callback:o,options:{bubbles:n=!1,args:s=[],checker:a=null}}=r;a&&!a(e,i)||(o.bind(e,...s,i)(),n||$c(i))}}KZ=new WeakSet,YEe=function(t){t.altKey&&this.buffer.push("alt"),t.ctrlKey&&this.buffer.push("ctrl"),t.metaKey&&this.buffer.push("meta"),t.shiftKey&&this.buffer.push("shift"),this.buffer.push(t.key);const e=this.buffer.join("+");return this.buffer.length=0,e};const WEe=class YPe{get _colors(){const e=new Map([["CanvasText",null],["Canvas",null]]);return AFi(e),gr(this,"_colors",e)}convert(e){const i=VZ(e);if(!window.matchMedia("(forced-colors: active)").matches)return i;for(const[r,o]of this._colors)if(o.every((n,s)=>n===i[s]))return YPe._colorsMapping.get(r);return i}getHexCode(e){const i=this._colors.get(e);return i?bi.makeHexColor(...i):e}};ai(WEe,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let vFi=WEe;var uI,Fd,Us,Oa,AI,ng,N9,qu,z2,O9,hI,H9,G1,nh,V9,DR,PR,pI,RR,j1,q2,gI,K2,sh,JZ,J2,LR,Y2,G9,TR,FR,oa,Bo,sg,j9,fI,_R,W2,z1,ag,UR,Ku,Ei,NR,YZ,ZEe,XEe,OR,$Ee,exe,txe,WZ,ixe,ZZ,XZ,rxe,kl,q1,oxe,nxe,$Z,sxe,mI,eX;const tX=class Cte{constructor(e,i,r,o,n,s,a,l,c,d,u,A,h){ce(this,Ei),ce(this,uI,new AbortController),ce(this,Fd,null),ce(this,Us,new Map),ce(this,Oa,new Map),ce(this,AI,null),ce(this,ng,null),ce(this,N9,null),ce(this,qu,new mFi),ce(this,z2,null),ce(this,O9,null),ce(this,hI,0),ce(this,H9,new Set),ce(this,G1,null),ce(this,nh,null),ce(this,V9,new Set),ai(this,"_editorUndoBar",null),ce(this,DR,!1),ce(this,PR,!1),ce(this,pI,!1),ce(this,RR,null),ce(this,j1,null),ce(this,q2,null),ce(this,gI,null),ce(this,K2,!1),ce(this,sh,null),ce(this,JZ,new gFi),ce(this,J2,!1),ce(this,LR,!1),ce(this,Y2,null),ce(this,G9,null),ce(this,TR,null),ce(this,FR,null),ce(this,oa,or.NONE),ce(this,Bo,new Set),ce(this,sg,null),ce(this,j9,null),ce(this,fI,null),ce(this,_R,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1}),ce(this,W2,[0,0]),ce(this,z1,null),ce(this,ag,null),ce(this,UR,null),ce(this,Ku,null);const g=this._signal=S(this,uI).signal;ie(this,ag,e),ie(this,UR,i),ie(this,AI,r),this._eventBus=o,o._on("editingaction",this.onEditingAction.bind(this),{signal:g}),o._on("pagechanging",this.onPageChanging.bind(this),{signal:g}),o._on("scalechanging",this.onScaleChanging.bind(this),{signal:g}),o._on("rotationchanging",this.onRotationChanging.bind(this),{signal:g}),o._on("setpreference",this.onSetPreference.bind(this),{signal:g}),o._on("switchannotationeditorparams",p=>this.updateParams(p.type,p.value),{signal:g}),oe(this,Ei,$Ee).call(this),oe(this,Ei,rxe).call(this),oe(this,Ei,WZ).call(this),ie(this,ng,n.annotationStorage),ie(this,RR,n.filterFactory),ie(this,j9,s),ie(this,gI,a||null),ie(this,DR,l),ie(this,PR,c),ie(this,pI,d),ie(this,FR,u||null),this.viewParameters={realScale:T9.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=A||null,this._supportsPinchToZoom=h!==!1}static get _keyboardManager(){const e=Cte.prototype,i=s=>S(s,ag).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&s.hasSomethingToControl(),r=(s,{target:a})=>{if(a instanceof HTMLInputElement){const{type:l}=a;return l!=="text"&&l!=="number"}return!0},o=this.TRANSLATE_SMALL,n=this.TRANSLATE_BIG;return gr(this,"_keyboardManager",new dI([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:r}],[["ctrl+z","mac+meta+z"],e.undo,{checker:r}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:r}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:r}],[["Enter","mac+Enter"],e.addNewEditorFromKeyboard,{checker:(s,{target:a})=>!(a instanceof HTMLButtonElement)&&S(s,ag).contains(a)&&!s.isEnterHandled}],[[" ","mac+ "],e.addNewEditorFromKeyboard,{checker:(s,{target:a})=>!(a instanceof HTMLButtonElement)&&S(s,ag).contains(document.activeElement)}],[["Escape","mac+Escape"],e.unselectAll],[["ArrowLeft","mac+ArrowLeft"],e.translateSelectedEditors,{args:[-o,0],checker:i}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-n,0],checker:i}],[["ArrowRight","mac+ArrowRight"],e.translateSelectedEditors,{args:[o,0],checker:i}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[n,0],checker:i}],[["ArrowUp","mac+ArrowUp"],e.translateSelectedEditors,{args:[0,-o],checker:i}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-n],checker:i}],[["ArrowDown","mac+ArrowDown"],e.translateSelectedEditors,{args:[0,o],checker:i}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,n],checker:i}]]))}destroy(){var e,i,r,o,n;(e=S(this,Ku))==null||e.resolve(),ie(this,Ku,null),(i=S(this,uI))==null||i.abort(),ie(this,uI,null),this._signal=null;for(const s of S(this,Oa).values())s.destroy();S(this,Oa).clear(),S(this,Us).clear(),S(this,V9).clear(),ie(this,Fd,null),S(this,Bo).clear(),S(this,qu).destroy(),(r=S(this,AI))==null||r.destroy(),(o=S(this,sh))==null||o.hide(),ie(this,sh,null),S(this,j1)&&(clearTimeout(S(this,j1)),ie(this,j1,null)),S(this,z1)&&(clearTimeout(S(this,z1)),ie(this,z1,null)),(n=this._editorUndoBar)==null||n.destroy()}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return S(this,FR)}get useNewAltTextFlow(){return S(this,PR)}get useNewAltTextWhenAddingImage(){return S(this,pI)}get hcmFilter(){return gr(this,"hcmFilter",S(this,j9)?S(this,RR).addHCMFilter(S(this,j9).foreground,S(this,j9).background):"none")}get direction(){return gr(this,"direction",getComputedStyle(S(this,ag)).direction)}get highlightColors(){return gr(this,"highlightColors",S(this,gI)?new Map(S(this,gI).split(",").map(e=>e.split("=").map(i=>i.trim()))):null)}get highlightColorNames(){return gr(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}setCurrentDrawingSession(e){e?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),ie(this,O9,e)}setMainHighlightColorPicker(e){ie(this,TR,e)}editAltText(e,i=!1){var r;(r=S(this,AI))==null||r.editAltText(this,e,i)}switchToMode(e,i){this._eventBus.on("annotationeditormodechanged",i,{once:!0,signal:this._signal}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,i){this._eventBus.dispatch("setpreference",{source:this,name:e,value:i})}onSetPreference({name:e,value:i}){switch(e){case"enableNewAltTextWhenAddingImage":ie(this,pI,i);break}}onPageChanging({pageNumber:e}){ie(this,hI,e-1)}focusMainContainer(){S(this,ag).focus()}findParent(e,i){for(const r of S(this,Oa).values()){const{x:o,y:n,width:s,height:a}=r.div.getBoundingClientRect();if(e>=o&&e<=o+s&&i>=n&&i<=n+a)return r}return null}disableUserSelect(e=!1){S(this,UR).classList.toggle("noUserSelect",e)}addShouldRescale(e){S(this,V9).add(e)}removeShouldRescale(e){S(this,V9).delete(e)}onScaleChanging({scale:e}){var i;this.commitOrRemove(),this.viewParameters.realScale=e*T9.PDF_TO_CSS_UNITS;for(const r of S(this,V9))r.onScaleChanging();(i=S(this,O9))==null||i.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}highlightSelection(e=""){const i=document.getSelection();if(!i||i.isCollapsed)return;const{anchorNode:r,anchorOffset:o,focusNode:n,focusOffset:s}=i,a=i.toString(),l=oe(this,Ei,NR).call(this,i).closest(".textLayer"),c=this.getSelectionBoxes(l);if(!c)return;i.empty();const d=oe(this,Ei,YZ).call(this,l),u=S(this,oa)===or.NONE,A=()=>{d?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:c,anchorNode:r,anchorOffset:o,focusNode:n,focusOffset:s,text:a}),u&&this.showAllEditors("highlight",!0,!0)};if(u){this.switchToMode(or.HIGHLIGHT,A);return}A()}addToAnnotationStorage(e){!e.isEmpty()&&S(this,ng)&&!S(this,ng).has(e.id)&&S(this,ng).setValue(e.id,e)}blur(){if(this.isShiftKeyDown=!1,S(this,K2)&&(ie(this,K2,!1),oe(this,Ei,OR).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const i of S(this,Bo))if(i.div.contains(e)){ie(this,G9,[i,e]),i._focusEventsAllowed=!1;break}}focus(){if(!S(this,G9))return;const[e,i]=S(this,G9);ie(this,G9,null),i.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),i.focus()}addEditListeners(){oe(this,Ei,WZ).call(this),oe(this,Ei,ZZ).call(this)}removeEditListeners(){oe(this,Ei,ixe).call(this),oe(this,Ei,XZ).call(this)}dragOver(e){for(const{type:i}of e.dataTransfer.items)for(const r of S(this,nh))if(r.isHandlingMimeForPasting(i)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(const i of e.dataTransfer.items)for(const r of S(this,nh))if(r.isHandlingMimeForPasting(i.type)){r.paste(i,this.currentLayer),e.preventDefault();return}}copy(e){var i;if(e.preventDefault(),(i=S(this,Fd))==null||i.commitOrRemove(),!this.hasSelection)return;const r=[];for(const o of S(this,Bo)){const n=o.serialize(!0);n&&r.push(n)}r.length!==0&&e.clipboardData.setData("application/pdfjs",JSON.stringify(r))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();const{clipboardData:i}=e;for(const n of i.items)for(const s of S(this,nh))if(s.isHandlingMimeForPasting(n.type)){s.paste(n,this.currentLayer);return}let r=i.getData("application/pdfjs");if(!r)return;try{r=JSON.parse(r)}catch(n){nr(`paste: "${n.message}".`);return}if(!Array.isArray(r))return;this.unselectAll();const o=this.currentLayer;try{const n=[];for(const l of r){const c=await o.deserialize(l);if(!c)return;n.push(c)}const s=()=>{for(const l of n)oe(this,Ei,$Z).call(this,l);oe(this,Ei,eX).call(this,n)},a=()=>{for(const l of n)l.remove()};this.addCommands({cmd:s,undo:a,mustExec:!0})}catch(n){nr(`paste: "${n.message}".`)}}keydown(e){!this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!0),S(this,oa)!==or.NONE&&!this.isEditorHandlingKeyboard&&Cte._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!1,S(this,K2)&&(ie(this,K2,!1),oe(this,Ei,OR).call(this,"main_toolbar")))}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break}}setEditingState(e){e?(oe(this,Ei,exe).call(this),oe(this,Ei,ZZ).call(this),oe(this,Ei,kl).call(this,{isEditing:S(this,oa)!==or.NONE,isEmpty:oe(this,Ei,mI).call(this),hasSomethingToUndo:S(this,qu).hasSomethingToUndo(),hasSomethingToRedo:S(this,qu).hasSomethingToRedo(),hasSelectedEditor:!1})):(oe(this,Ei,txe).call(this),oe(this,Ei,XZ).call(this),oe(this,Ei,kl).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!S(this,nh)){ie(this,nh,e);for(const i of S(this,nh))oe(this,Ei,q1).call(this,i.defaultPropertiesToUpdate)}}getId(){return S(this,JZ).id}get currentLayer(){return S(this,Oa).get(S(this,hI))}getLayer(e){return S(this,Oa).get(e)}get currentPageIndex(){return S(this,hI)}addLayer(e){S(this,Oa).set(e.pageIndex,e),S(this,J2)?e.enable():e.disable()}removeLayer(e){S(this,Oa).delete(e.pageIndex)}async updateMode(e,i=null,r=!1){var o;if(S(this,oa)!==e&&!(S(this,Ku)&&(await S(this,Ku).promise,!S(this,Ku)))){if(ie(this,Ku,Promise.withResolvers()),ie(this,oa,e),e===or.NONE){this.setEditingState(!1),oe(this,Ei,nxe).call(this),(o=this._editorUndoBar)==null||o.hide(),S(this,Ku).resolve();return}this.setEditingState(!0),await oe(this,Ei,oxe).call(this),this.unselectAll();for(const n of S(this,Oa).values())n.updateMode(e);if(!i){r&&this.addNewEditorFromKeyboard(),S(this,Ku).resolve();return}for(const n of S(this,Us).values())n.annotationElementId===i?(this.setSelected(n),n.enterInEditMode()):n.unselect();S(this,Ku).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==S(this,oa)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,i){var r;if(S(this,nh)){switch(e){case Dr.CREATE:this.currentLayer.addNewEditor();return;case Dr.HIGHLIGHT_DEFAULT_COLOR:(r=S(this,TR))==null||r.updateColor(i);break;case Dr.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(S(this,fI)||ie(this,fI,new Map)).set(e,i),this.showAllEditors("highlight",i);break}for(const o of S(this,Bo))o.updateParams(e,i);for(const o of S(this,nh))o.updateDefaultParams(e,i)}}showAllEditors(e,i,r=!1){var o;for(const n of S(this,Us).values())n.editorType===e&&n.show(i);(((o=S(this,fI))==null?void 0:o.get(Dr.HIGHLIGHT_SHOW_ALL))??!0)!==i&&oe(this,Ei,q1).call(this,[[Dr.HIGHLIGHT_SHOW_ALL,i]])}enableWaiting(e=!1){if(S(this,LR)!==e){ie(this,LR,e);for(const i of S(this,Oa).values())e?i.disableClick():i.enableClick(),i.div.classList.toggle("waiting",e)}}getEditors(e){const i=[];for(const r of S(this,Us).values())r.pageIndex===e&&i.push(r);return i}getEditor(e){return S(this,Us).get(e)}addEditor(e){S(this,Us).set(e.id,e)}removeEditor(e){var i;e.div.contains(document.activeElement)&&(S(this,j1)&&clearTimeout(S(this,j1)),ie(this,j1,setTimeout(()=>{this.focusMainContainer(),ie(this,j1,null)},0))),S(this,Us).delete(e.id),this.unselect(e),(!e.annotationElementId||!S(this,H9).has(e.annotationElementId))&&((i=S(this,ng))==null||i.remove(e.id))}addDeletedAnnotationElement(e){S(this,H9).add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return S(this,H9).has(e)}removeDeletedAnnotationElement(e){S(this,H9).delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}setActiveEditor(e){S(this,Fd)!==e&&(ie(this,Fd,e),e&&oe(this,Ei,q1).call(this,e.propertiesToUpdate))}updateUI(e){S(this,Ei,sxe)===e&&oe(this,Ei,q1).call(this,e.propertiesToUpdate)}updateUIForDefaultProperties(e){oe(this,Ei,q1).call(this,e.defaultPropertiesToUpdate)}toggleSelected(e){if(S(this,Bo).has(e)){S(this,Bo).delete(e),e.unselect(),oe(this,Ei,kl).call(this,{hasSelectedEditor:this.hasSelection});return}S(this,Bo).add(e),e.select(),oe(this,Ei,q1).call(this,e.propertiesToUpdate),oe(this,Ei,kl).call(this,{hasSelectedEditor:!0})}setSelected(e){var i;(i=S(this,O9))==null||i.commitOrRemove();for(const r of S(this,Bo))r!==e&&r.unselect();S(this,Bo).clear(),S(this,Bo).add(e),e.select(),oe(this,Ei,q1).call(this,e.propertiesToUpdate),oe(this,Ei,kl).call(this,{hasSelectedEditor:!0})}isSelected(e){return S(this,Bo).has(e)}get firstSelectedEditor(){return S(this,Bo).values().next().value}unselect(e){e.unselect(),S(this,Bo).delete(e),oe(this,Ei,kl).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return S(this,Bo).size!==0}get isEnterHandled(){return S(this,Bo).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){var e;S(this,qu).undo(),oe(this,Ei,kl).call(this,{hasSomethingToUndo:S(this,qu).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:oe(this,Ei,mI).call(this)}),(e=this._editorUndoBar)==null||e.hide()}redo(){S(this,qu).redo(),oe(this,Ei,kl).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:S(this,qu).hasSomethingToRedo(),isEmpty:oe(this,Ei,mI).call(this)})}addCommands(e){S(this,qu).add(e),oe(this,Ei,kl).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:oe(this,Ei,mI).call(this)})}cleanUndoStack(e){S(this,qu).cleanType(e)}delete(){var e;this.commitOrRemove();const i=(e=this.currentLayer)==null?void 0:e.endDrawingSession(!0);if(!this.hasSelection&&!i)return;const r=i?[i]:[...S(this,Bo)],o=()=>{var s;(s=this._editorUndoBar)==null||s.show(n,r.length===1?r[0].editorType:r.length);for(const a of r)a.remove()},n=()=>{for(const s of r)oe(this,Ei,$Z).call(this,s)};this.addCommands({cmd:o,undo:n,mustExec:!0})}commitOrRemove(){var e;(e=S(this,Fd))==null||e.commitOrRemove()}hasSomethingToControl(){return S(this,Fd)||this.hasSelection}selectAll(){for(const e of S(this,Bo))e.commit();oe(this,Ei,eX).call(this,S(this,Us).values())}unselectAll(){var e;if(!(S(this,Fd)&&(S(this,Fd).commitOrRemove(),S(this,oa)!==or.NONE))&&!((e=S(this,O9))!=null&&e.commitOrRemove())&&this.hasSelection){for(const i of S(this,Bo))i.unselect();S(this,Bo).clear(),oe(this,Ei,kl).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(e,i,r=!1){if(r||this.commitOrRemove(),!this.hasSelection)return;S(this,W2)[0]+=e,S(this,W2)[1]+=i;const[o,n]=S(this,W2),s=[...S(this,Bo)];S(this,z1)&&clearTimeout(S(this,z1)),ie(this,z1,setTimeout(()=>{ie(this,z1,null),S(this,W2)[0]=S(this,W2)[1]=0,this.addCommands({cmd:()=>{for(const l of s)S(this,Us).has(l.id)&&l.translateInPage(o,n)},undo:()=>{for(const l of s)S(this,Us).has(l.id)&&l.translateInPage(-o,-n)},mustExec:!1})},1e3));for(const l of s)l.translateInPage(e,i)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),ie(this,G1,new Map);for(const e of S(this,Bo))S(this,G1).set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!S(this,G1))return!1;this.disableUserSelect(!1);const e=S(this,G1);ie(this,G1,null);let i=!1;for(const[{x:o,y:n,pageIndex:s},a]of e)a.newX=o,a.newY=n,a.newPageIndex=s,i||(i=o!==a.savedX||n!==a.savedY||s!==a.savedPageIndex);if(!i)return!1;const r=(o,n,s,a)=>{if(S(this,Us).has(o.id)){const l=S(this,Oa).get(a);l?o._setParentAndPosition(l,n,s):(o.pageIndex=a,o.x=n,o.y=s)}};return this.addCommands({cmd:()=>{for(const[o,{newX:n,newY:s,newPageIndex:a}]of e)r(o,n,s,a)},undo:()=>{for(const[o,{savedX:n,savedY:s,savedPageIndex:a}]of e)r(o,n,s,a)},mustExec:!0}),!0}dragSelectedEditors(e,i){if(S(this,G1))for(const r of S(this,G1).keys())r.drag(e,i)}rebuild(e){if(e.parent===null){const i=this.getLayer(e.pageIndex);i?(i.changeParent(e),i.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){var e;return((e=this.getActive())==null?void 0:e.shouldGetKeyboardEvents())||S(this,Bo).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return S(this,Fd)===e}getActive(){return S(this,Fd)}getMode(){return S(this,oa)}get imageManager(){return gr(this,"imageManager",new fFi)}getSelectionBoxes(e){if(!e)return null;const i=document.getSelection();for(let c=0,d=i.rangeCount;c<d;c++)if(!e.contains(i.getRangeAt(c).commonAncestorContainer))return null;const{x:r,y:o,width:n,height:s}=e.getBoundingClientRect();let a;switch(e.getAttribute("data-main-rotation")){case"90":a=(c,d,u,A)=>({x:(d-o)/s,y:1-(c+u-r)/n,width:A/s,height:u/n});break;case"180":a=(c,d,u,A)=>({x:1-(c+u-r)/n,y:1-(d+A-o)/s,width:u/n,height:A/s});break;case"270":a=(c,d,u,A)=>({x:1-(d+A-o)/s,y:(c-r)/n,width:A/s,height:u/n});break;default:a=(c,d,u,A)=>({x:(c-r)/n,y:(d-o)/s,width:u/n,height:A/s});break}const l=[];for(let c=0,d=i.rangeCount;c<d;c++){const u=i.getRangeAt(c);if(!u.collapsed)for(const{x:A,y:h,width:g,height:p}of u.getClientRects())g===0||p===0||l.push(a(A,h,g,p))}return l.length===0?null:l}addChangedExistingAnnotation({annotationElementId:e,id:i}){(S(this,N9)||ie(this,N9,new Map)).set(e,i)}removeChangedExistingAnnotation({annotationElementId:e}){var i;(i=S(this,N9))==null||i.delete(e)}renderAnnotationElement(e){var i;const r=(i=S(this,N9))==null?void 0:i.get(e.data.id);if(!r)return;const o=S(this,ng).getRawValue(r);o&&(S(this,oa)===or.NONE&&!o.hasBeenModified||o.renderAnnotationElement(e))}};uI=new WeakMap,Fd=new WeakMap,Us=new WeakMap,Oa=new WeakMap,AI=new WeakMap,ng=new WeakMap,N9=new WeakMap,qu=new WeakMap,z2=new WeakMap,O9=new WeakMap,hI=new WeakMap,H9=new WeakMap,G1=new WeakMap,nh=new WeakMap,V9=new WeakMap,DR=new WeakMap,PR=new WeakMap,pI=new WeakMap,RR=new WeakMap,j1=new WeakMap,q2=new WeakMap,gI=new WeakMap,K2=new WeakMap,sh=new WeakMap,JZ=new WeakMap,J2=new WeakMap,LR=new WeakMap,Y2=new WeakMap,G9=new WeakMap,TR=new WeakMap,FR=new WeakMap,oa=new WeakMap,Bo=new WeakMap,sg=new WeakMap,j9=new WeakMap,fI=new WeakMap,_R=new WeakMap,W2=new WeakMap,z1=new WeakMap,ag=new WeakMap,UR=new WeakMap,Ku=new WeakMap,Ei=new WeakSet,NR=function({anchorNode:t}){return t.nodeType===Node.TEXT_NODE?t.parentElement:t},YZ=function(t){const{currentLayer:e}=this;if(e.hasTextLayer(t))return e;for(const i of S(this,Oa).values())if(i.hasTextLayer(t))return i;return null},ZEe=function(){const t=document.getSelection();if(!t||t.isCollapsed)return;const e=oe(this,Ei,NR).call(this,t).closest(".textLayer"),i=this.getSelectionBoxes(e);i&&(S(this,sh)||ie(this,sh,new pFi(this)),S(this,sh).show(e,i,this.direction==="ltr"))},XEe=function(){var t,e,i;const r=document.getSelection();if(!r||r.isCollapsed){S(this,sg)&&((t=S(this,sh))==null||t.hide(),ie(this,sg,null),oe(this,Ei,kl).call(this,{hasSelectedText:!1}));return}const{anchorNode:o}=r;if(o===S(this,sg))return;const n=oe(this,Ei,NR).call(this,r).closest(".textLayer");if(!n){S(this,sg)&&((e=S(this,sh))==null||e.hide(),ie(this,sg,null),oe(this,Ei,kl).call(this,{hasSelectedText:!1}));return}if((i=S(this,sh))==null||i.hide(),ie(this,sg,o),oe(this,Ei,kl).call(this,{hasSelectedText:!0}),!(S(this,oa)!==or.HIGHLIGHT&&S(this,oa)!==or.NONE)&&(S(this,oa)===or.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),ie(this,K2,this.isShiftKeyDown),!this.isShiftKeyDown)){const s=S(this,oa)===or.HIGHLIGHT?oe(this,Ei,YZ).call(this,n):null;s?.toggleDrawing();const a=new AbortController,l=this.combinedSignal(a),c=d=>{d.type==="pointerup"&&d.button!==0||(a.abort(),s?.toggleDrawing(!0),d.type==="pointerup"&&oe(this,Ei,OR).call(this,"main_toolbar"))};window.addEventListener("pointerup",c,{signal:l}),window.addEventListener("blur",c,{signal:l})}},OR=function(t=""){S(this,oa)===or.HIGHLIGHT?this.highlightSelection(t):S(this,DR)&&oe(this,Ei,ZEe).call(this)},$Ee=function(){document.addEventListener("selectionchange",oe(this,Ei,XEe).bind(this),{signal:this._signal})},exe=function(){if(S(this,q2))return;ie(this,q2,new AbortController);const t=this.combinedSignal(S(this,q2));window.addEventListener("focus",this.focus.bind(this),{signal:t}),window.addEventListener("blur",this.blur.bind(this),{signal:t})},txe=function(){var t;(t=S(this,q2))==null||t.abort(),ie(this,q2,null)},WZ=function(){if(S(this,Y2))return;ie(this,Y2,new AbortController);const t=this.combinedSignal(S(this,Y2));window.addEventListener("keydown",this.keydown.bind(this),{signal:t}),window.addEventListener("keyup",this.keyup.bind(this),{signal:t})},ixe=function(){var t;(t=S(this,Y2))==null||t.abort(),ie(this,Y2,null)},ZZ=function(){if(S(this,z2))return;ie(this,z2,new AbortController);const t=this.combinedSignal(S(this,z2));document.addEventListener("copy",this.copy.bind(this),{signal:t}),document.addEventListener("cut",this.cut.bind(this),{signal:t}),document.addEventListener("paste",this.paste.bind(this),{signal:t})},XZ=function(){var t;(t=S(this,z2))==null||t.abort(),ie(this,z2,null)},rxe=function(){const t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t}),document.addEventListener("drop",this.drop.bind(this),{signal:t})},kl=function(t){Object.entries(t).some(([e,i])=>S(this,_R)[e]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(S(this,_R),t)}),S(this,oa)===or.HIGHLIGHT&&t.hasSelectedEditor===!1&&oe(this,Ei,q1).call(this,[[Dr.HIGHLIGHT_FREE,!0]]))},q1=function(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})},oxe=async function(){if(!S(this,J2)){ie(this,J2,!0);const t=[];for(const e of S(this,Oa).values())t.push(e.enable());await Promise.all(t);for(const e of S(this,Us).values())e.enable()}},nxe=function(){if(this.unselectAll(),S(this,J2)){ie(this,J2,!1);for(const t of S(this,Oa).values())t.disable();for(const t of S(this,Us).values())t.disable()}},$Z=function(t){const e=S(this,Oa).get(t.pageIndex);e?e.addOrRebuild(t):(this.addEditor(t),this.addToAnnotationStorage(t))},sxe=function(){let t=null;for(t of S(this,Bo));return t},mI=function(){if(S(this,Us).size===0)return!0;if(S(this,Us).size===1)for(const t of S(this,Us).values())return t.isEmpty();return!1},eX=function(t){for(const e of S(this,Bo))e.unselect();S(this,Bo).clear();for(const e of t)e.isEmpty()||(S(this,Bo).add(e),e.select());oe(this,Ei,kl).call(this,{hasSelectedEditor:this.hasSelection})},ai(tX,"TRANSLATE_SMALL",1),ai(tX,"TRANSLATE_BIG",10);let vI=tX;var na,K1,ah,CI,J1,_d,yI,Y1,ed,lg,z9,W1,cg,Z1,wI,HR;const bI=class cf{constructor(e){ce(this,Z1),ce(this,na,null),ce(this,K1,!1),ce(this,ah,null),ce(this,CI,null),ce(this,J1,null),ce(this,_d,null),ce(this,yI,!1),ce(this,Y1,null),ce(this,ed,null),ce(this,lg,null),ce(this,z9,null),ce(this,W1,!1),ie(this,ed,e),ie(this,W1,e._uiManager.useNewAltTextFlow),S(cf,cg)||ie(cf,cg,Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(e){cf._l10n??(cf._l10n=e)}async render(){const e=ie(this,ah,document.createElement("button"));e.className="altText",e.tabIndex="0";const i=ie(this,CI,document.createElement("span"));e.append(i),S(this,W1)?(e.classList.add("new"),e.setAttribute("data-l10n-id",S(cf,cg).missing),i.setAttribute("data-l10n-id",S(cf,cg)["missing-label"])):(e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),i.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));const r=S(this,ed)._uiManager._signal;e.addEventListener("contextmenu",zu,{signal:r}),e.addEventListener("pointerdown",n=>n.stopPropagation(),{signal:r});const o=n=>{n.preventDefault(),S(this,ed)._uiManager.editAltText(S(this,ed)),S(this,W1)&&S(this,ed)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:S(this,Z1,wI)}})};return e.addEventListener("click",o,{capture:!0,signal:r}),e.addEventListener("keydown",n=>{n.target===e&&n.key==="Enter"&&(ie(this,yI,!0),o(n))},{signal:r}),await oe(this,Z1,HR).call(this),e}finish(){S(this,ah)&&(S(this,ah).focus({focusVisible:S(this,yI)}),ie(this,yI,!1))}isEmpty(){return S(this,W1)?S(this,na)===null:!S(this,na)&&!S(this,K1)}hasData(){return S(this,W1)?S(this,na)!==null||!!S(this,lg):this.isEmpty()}get guessedText(){return S(this,lg)}async setGuessedText(e){S(this,na)===null&&(ie(this,lg,e),ie(this,z9,await cf._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e})),oe(this,Z1,HR).call(this))}toggleAltTextBadge(e=!1){var i;if(!S(this,W1)||S(this,na)){(i=S(this,Y1))==null||i.remove(),ie(this,Y1,null);return}if(!S(this,Y1)){const r=ie(this,Y1,document.createElement("div"));r.className="noAltTextBadge",S(this,ed).div.append(r)}S(this,Y1).classList.toggle("hidden",!e)}serialize(e){let i=S(this,na);return!e&&S(this,lg)===i&&(i=S(this,z9)),{altText:i,decorative:S(this,K1),guessedText:S(this,lg),textWithDisclaimer:S(this,z9)}}get data(){return{altText:S(this,na),decorative:S(this,K1)}}set data({altText:e,decorative:i,guessedText:r,textWithDisclaimer:o,cancel:n=!1}){r&&(ie(this,lg,r),ie(this,z9,o)),!(S(this,na)===e&&S(this,K1)===i)&&(n||(ie(this,na,e),ie(this,K1,i)),oe(this,Z1,HR).call(this))}toggle(e=!1){S(this,ah)&&(!e&&S(this,_d)&&(clearTimeout(S(this,_d)),ie(this,_d,null)),S(this,ah).disabled=!e)}shown(){S(this,ed)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:S(this,Z1,wI)}})}destroy(){var e,i;(e=S(this,ah))==null||e.remove(),ie(this,ah,null),ie(this,CI,null),ie(this,J1,null),(i=S(this,Y1))==null||i.remove(),ie(this,Y1,null)}};na=new WeakMap,K1=new WeakMap,ah=new WeakMap,CI=new WeakMap,J1=new WeakMap,_d=new WeakMap,yI=new WeakMap,Y1=new WeakMap,ed=new WeakMap,lg=new WeakMap,z9=new WeakMap,W1=new WeakMap,cg=new WeakMap,Z1=new WeakSet,wI=function(){return S(this,na)&&"added"||S(this,na)===null&&this.guessedText&&"review"||"missing"},HR=async function(){var t,e,i;const r=S(this,ah);if(!r)return;if(S(this,W1)){if(r.classList.toggle("done",!!S(this,na)),r.setAttribute("data-l10n-id",S(bI,cg)[S(this,Z1,wI)]),(t=S(this,CI))==null||t.setAttribute("data-l10n-id",S(bI,cg)[`${S(this,Z1,wI)}-label`]),!S(this,na)){(e=S(this,J1))==null||e.remove();return}}else{if(!S(this,na)&&!S(this,K1)){r.classList.remove("done"),(i=S(this,J1))==null||i.remove();return}r.classList.add("done"),r.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let o=S(this,J1);if(!o){ie(this,J1,o=document.createElement("span")),o.className="tooltip",o.setAttribute("role","tooltip"),o.id=`alt-text-tooltip-${S(this,ed).id}`;const s=100,a=S(this,ed)._uiManager._signal;a.addEventListener("abort",()=>{clearTimeout(S(this,_d)),ie(this,_d,null)},{once:!0}),r.addEventListener("mouseenter",()=>{ie(this,_d,setTimeout(()=>{ie(this,_d,null),S(this,J1).classList.add("show"),S(this,ed)._reportTelemetry({action:"alt_text_tooltip"})},s))},{signal:a}),r.addEventListener("mouseleave",()=>{var l;S(this,_d)&&(clearTimeout(S(this,_d)),ie(this,_d,null)),(l=S(this,J1))==null||l.classList.remove("show")},{signal:a})}S(this,K1)?o.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(o.removeAttribute("data-l10n-id"),o.textContent=S(this,na)),o.parentNode||r.append(o);const n=S(this,ed).getImageForAltText();n?.setAttribute("aria-describedby",o.id)},ce(bI,cg,null),ai(bI,"_l10n",null);let axe=bI;var VR,q9,GR,jR,zR,qR,KR,II,dg,K9,Z2,J9,lxe,cxe,iX;const dxe=class{constructor({container:e,isPinchingDisabled:i=null,isPinchingStopped:r=null,onPinchStart:o=null,onPinching:n=null,onPinchEnd:s=null,signal:a}){ce(this,J9),ce(this,VR),ce(this,q9,!1),ce(this,GR,null),ce(this,jR),ce(this,zR),ce(this,qR),ce(this,KR),ce(this,II),ce(this,dg,null),ce(this,K9),ce(this,Z2,null),ie(this,VR,e),ie(this,GR,r),ie(this,jR,i),ie(this,zR,o),ie(this,qR,n),ie(this,KR,s),ie(this,K9,new AbortController),ie(this,II,AbortSignal.any([a,S(this,K9).signal])),e.addEventListener("touchstart",oe(this,J9,lxe).bind(this),{passive:!1,signal:S(this,II)})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return gr(this,"MIN_TOUCH_DISTANCE_TO_PINCH",35/(window.devicePixelRatio||1))}destroy(){var e;(e=S(this,K9))==null||e.abort(),ie(this,K9,null)}};VR=new WeakMap,q9=new WeakMap,GR=new WeakMap,jR=new WeakMap,zR=new WeakMap,qR=new WeakMap,KR=new WeakMap,II=new WeakMap,dg=new WeakMap,K9=new WeakMap,Z2=new WeakMap,J9=new WeakSet,lxe=function(t){var e,i,r;if((e=S(this,jR))!=null&&e.call(this)||t.touches.length<2)return;if(!S(this,Z2)){ie(this,Z2,new AbortController);const s=AbortSignal.any([S(this,II),S(this,Z2).signal]),a=S(this,VR),l={signal:s,passive:!1};a.addEventListener("touchmove",oe(this,J9,cxe).bind(this),l),a.addEventListener("touchend",oe(this,J9,iX).bind(this),l),a.addEventListener("touchcancel",oe(this,J9,iX).bind(this),l),(i=S(this,zR))==null||i.call(this)}if($c(t),t.touches.length!==2||(r=S(this,GR))!=null&&r.call(this)){ie(this,dg,null);return}let[o,n]=t.touches;o.identifier>n.identifier&&([o,n]=[n,o]),ie(this,dg,{touch0X:o.screenX,touch0Y:o.screenY,touch1X:n.screenX,touch1Y:n.screenY})},cxe=function(t){var e;if(!S(this,dg)||t.touches.length!==2)return;let[i,r]=t.touches;i.identifier>r.identifier&&([i,r]=[r,i]);const{screenX:o,screenY:n}=i,{screenX:s,screenY:a}=r,l=S(this,dg),{touch0X:c,touch0Y:d,touch1X:u,touch1Y:A}=l,h=u-c,g=A-d,p=s-o,m=a-n,f=Math.hypot(p,m)||1,C=Math.hypot(h,g)||1;if(!S(this,q9)&&Math.abs(C-f)<=dxe.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(l.touch0X=o,l.touch0Y=n,l.touch1X=s,l.touch1Y=a,t.preventDefault(),!S(this,q9)){ie(this,q9,!0);return}const y=[(o+s)/2,(n+a)/2];(e=S(this,qR))==null||e.call(this,y,C,f)},iX=function(t){var e;S(this,Z2).abort(),ie(this,Z2,null),(e=S(this,KR))==null||e.call(this),S(this,dg)&&(t.preventDefault(),ie(this,dg,null),ie(this,q9,!1))};let uxe=dxe;var Y9,lh,on,BI,X2,JR,W9,Ha,Z9,ug,$2,YR,X9,Va,WR,$9,Ag,X1,EI,xI,Ud,em,ZR,rX,jr,oX,XR,nX,$R,Axe,hxe,sX,eL,aX,pxe,gxe,fxe,lX,mxe,cX,vxe,Cxe,yxe,dX,kI;const Vn=class Ca{constructor(e){ce(this,jr),ce(this,Y9,null),ce(this,lh,null),ce(this,on,null),ce(this,BI,!1),ce(this,X2,null),ce(this,JR,""),ce(this,W9,!1),ce(this,Ha,null),ce(this,Z9,null),ce(this,ug,null),ce(this,$2,null),ce(this,YR,""),ce(this,X9,!1),ce(this,Va,null),ce(this,WR,!1),ce(this,$9,!1),ce(this,Ag,!1),ce(this,X1,null),ce(this,EI,0),ce(this,xI,0),ce(this,Ud,null),ce(this,em,null),ai(this,"_editToolbar",null),ai(this,"_initialOptions",Object.create(null)),ai(this,"_initialData",null),ai(this,"_isVisible",!0),ai(this,"_uiManager",null),ai(this,"_focusEventsAllowed",!0),ce(this,ZR,!1),ce(this,rX,Ca._zIndex++),this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:i,rawDims:{pageWidth:r,pageHeight:o,pageX:n,pageY:s}}=this.parent.viewport;this.rotation=i,this.pageRotation=(360+i-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[r,o],this.pageTranslation=[n,s];const[a,l]=this.parentDimensions;this.x=e.x/a,this.y=e.y/l,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const e=Ca.prototype._resizeWithKeyboard,i=vI.TRANSLATE_SMALL,r=vI.TRANSLATE_BIG;return gr(this,"_resizerKeyboardManager",new dI([[["ArrowLeft","mac+ArrowLeft"],e,{args:[-i,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-r,0]}],[["ArrowRight","mac+ArrowRight"],e,{args:[i,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[r,0]}],[["ArrowUp","mac+ArrowUp"],e,{args:[0,-i]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-r]}],[["ArrowDown","mac+ArrowDown"],e,{args:[0,i]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,r]}],[["Escape","mac+Escape"],Ca.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get isDrawer(){return!1}static get _defaultLineColor(){return gr(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const i=new CFi({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});i.annotationElementId=e.annotationElementId,i.deleted=!0,i._uiManager.addToAnnotationStorage(i)}static initialize(e,i){if(Ca._l10n??(Ca._l10n=e),Ca._l10nResizer||(Ca._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),Ca._borderLineWidth!==-1)return;const r=getComputedStyle(document.documentElement);Ca._borderLineWidth=parseFloat(r.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,i){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,i){So("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return S(this,ZR)}set _isDraggable(e){var i;ie(this,ZR,e),(i=this.div)==null||i.classList.toggle("draggable",e)}get isEnterHandled(){return!0}center(){const[e,i]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*i/(e*2),this.y+=this.width*e/(i*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*i/(e*2),this.y-=this.width*e/(i*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=S(this,rX)}setParent(e){e!==null?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):oe(this,jr,kI).call(this),this.parent=e}focusin(e){this._focusEventsAllowed&&(S(this,X9)?ie(this,X9,!1):this.parent.setSelected(this))}focusout(e){var i;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const r=e.relatedTarget;r!=null&&r.closest(`#${this.id}`)||(e.preventDefault(),(i=this.parent)!=null&&i.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,i,r,o){const[n,s]=this.parentDimensions;[r,o]=this.screenToPageTranslation(r,o),this.x=(e+r)/n,this.y=(i+o)/s,this.fixAndSetPosition()}translate(e,i){oe(this,jr,oX).call(this,this.parentDimensions,e,i)}translateInPage(e,i){S(this,Va)||ie(this,Va,[this.x,this.y,this.width,this.height]),oe(this,jr,oX).call(this,this.pageDimensions,e,i),this.div.scrollIntoView({block:"nearest"})}drag(e,i){S(this,Va)||ie(this,Va,[this.x,this.y,this.width,this.height]);const{div:r,parentDimensions:[o,n]}=this;if(this.x+=e/o,this.y+=i/n,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:u,y:A}=this.div.getBoundingClientRect();this.parent.findNewParent(this,u,A)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:s,y:a}=this;const[l,c]=this.getBaseTranslation();s+=l,a+=c;const{style:d}=r;d.left=`${(100*s).toFixed(2)}%`,d.top=`${(100*a).toFixed(2)}%`,this._onTranslating(s,a),r.scrollIntoView({block:"nearest"})}_onTranslating(e,i){}_onTranslated(e,i){}get _hasBeenMoved(){return!!S(this,Va)&&(S(this,Va)[0]!==this.x||S(this,Va)[1]!==this.y)}get _hasBeenResized(){return!!S(this,Va)&&(S(this,Va)[2]!==this.width||S(this,Va)[3]!==this.height)}getBaseTranslation(){const[e,i]=this.parentDimensions,{_borderLineWidth:r}=Ca,o=r/e,n=r/i;switch(this.rotation){case 90:return[-o,n];case 180:return[o,n];case 270:return[o,-n];default:return[-o,-n]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const{div:{style:i},pageDimensions:[r,o]}=this;let{x:n,y:s,width:a,height:l}=this;if(a*=r,l*=o,n*=r,s*=o,this._mustFixPosition)switch(e){case 0:n=Math.max(0,Math.min(r-a,n)),s=Math.max(0,Math.min(o-l,s));break;case 90:n=Math.max(0,Math.min(r-l,n)),s=Math.min(o,Math.max(a,s));break;case 180:n=Math.min(r,Math.max(a,n)),s=Math.min(o,Math.max(l,s));break;case 270:n=Math.min(r,Math.max(l,n)),s=Math.max(0,Math.min(o-a,s));break}this.x=n/=r,this.y=s/=o;const[c,d]=this.getBaseTranslation();n+=c,s+=d,i.left=`${(100*n).toFixed(2)}%`,i.top=`${(100*s).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(e,i){var r;return oe(r=Ca,XR,nX).call(r,e,i,this.parentRotation)}pageTranslationToScreen(e,i){var r;return oe(r=Ca,XR,nX).call(r,e,i,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:e,pageDimensions:[i,r]}=this;return[i*e,r*e]}setDims(e,i){const[r,o]=this.parentDimensions,{style:n}=this.div;n.width=`${(100*e/r).toFixed(2)}%`,S(this,W9)||(n.height=`${(100*i/o).toFixed(2)}%`)}fixDims(){const{style:e}=this.div,{height:i,width:r}=e,o=r.endsWith("%"),n=!S(this,W9)&&i.endsWith("%");if(o&&n)return;const[s,a]=this.parentDimensions;o||(e.width=`${(100*parseFloat(r)/s).toFixed(2)}%`),!S(this,W9)&&!n&&(e.height=`${(100*parseFloat(i)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}_onResized(){}static _round(e){return Math.round(e*1e4)/1e4}_onResizing(){}altTextFinish(){var e;(e=S(this,on))==null||e.finish()}async addEditToolbar(){return this._editToolbar||S(this,$9)?this._editToolbar:(this._editToolbar=new hFi(this),this.div.append(this._editToolbar.render()),S(this,on)&&await this._editToolbar.addAltText(S(this,on)),this._editToolbar)}removeEditToolbar(){var e;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(e=S(this,on))==null||e.destroy())}addContainer(e){var i;const r=(i=this._editToolbar)==null?void 0:i.div;r?r.before(e):this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){S(this,on)||(axe.initialize(Ca._l10n),ie(this,on,new axe(this)),S(this,Y9)&&(S(this,on).data=S(this,Y9),ie(this,Y9,null)),await this.addEditToolbar())}get altTextData(){var e;return(e=S(this,on))==null?void 0:e.data}set altTextData(e){S(this,on)&&(S(this,on).data=e)}get guessedAltText(){var e;return(e=S(this,on))==null?void 0:e.guessedText}async setGuessedAltText(e){var i;await((i=S(this,on))==null?void 0:i.setGuessedText(e))}serializeAltText(e){var i;return(i=S(this,on))==null?void 0:i.serialize(e)}hasAltText(){return!!S(this,on)&&!S(this,on).isEmpty()}hasAltTextData(){var e;return((e=S(this,on))==null?void 0:e.hasData())??!1}render(){var e;this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=S(this,BI)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),oe(this,jr,cX).call(this);const[i,r]=this.parentDimensions;this.parentRotation%180!==0&&(this.div.style.maxWidth=`${(100*r/i).toFixed(2)}%`,this.div.style.maxHeight=`${(100*i/r).toFixed(2)}%`);const[o,n]=this.getInitialTranslation();return this.translate(o,n),kR(this,this.div,["pointerdown"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(S(this,em)||ie(this,em,new uxe({container:this.div,isPinchingDisabled:()=>!this.isSelected,onPinchStart:oe(this,jr,pxe).bind(this),onPinching:oe(this,jr,gxe).bind(this),onPinchEnd:oe(this,jr,fxe).bind(this),signal:this._uiManager._signal}))),(e=this._uiManager._editorUndoBar)==null||e.hide(),this.div}pointerdown(e){const{isMac:i}=xl.platform;if(e.button!==0||e.ctrlKey&&i){e.preventDefault();return}if(ie(this,X9,!0),this._isDraggable){oe(this,jr,mxe).call(this,e);return}oe(this,jr,lX).call(this,e)}get isSelected(){return this._uiManager.isSelected(this)}_onStartDragging(){}_onStopDragging(){}moveInDOM(){S(this,X1)&&clearTimeout(S(this,X1)),ie(this,X1,setTimeout(()=>{var e;ie(this,X1,null),(e=this.parent)==null||e.moveEditorInDOM(this)},0))}_setParentAndPosition(e,i,r){e.changeParent(this),this.x=i,this.y=r,this.fixAndSetPosition(),this._onTranslated()}getRect(e,i,r=this.rotation){const o=this.parentScale,[n,s]=this.pageDimensions,[a,l]=this.pageTranslation,c=e/o,d=i/o,u=this.x*n,A=this.y*s,h=this.width*n,g=this.height*s;switch(r){case 0:return[u+c+a,s-A-d-g+l,u+c+h+a,s-A-d+l];case 90:return[u+d+a,s-A+c+l,u+d+g+a,s-A+c+h+l];case 180:return[u-c-h+a,s-A+d+l,u-c+a,s-A+d+g+l];case 270:return[u-d-g+a,s-A-c-h+l,u-d+a,s-A-c+l];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(e,i){const[r,o,n,s]=e,a=n-r,l=s-o;switch(this.rotation){case 0:return[r,i-s,a,l];case 90:return[r,i-o,l,a];case 180:return[n,i-o,a,l];case 270:return[n,i-s,l,a];default:throw new Error("Invalid rotation")}}onceAdded(e){}isEmpty(){return!1}enableEditMode(){ie(this,$9,!0)}disableEditMode(){ie(this,$9,!1)}isInEditMode(){return S(this,$9)}shouldGetKeyboardEvents(){return S(this,Ag)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){const{top:e,left:i,bottom:r,right:o}=this.getClientDimensions(),{innerHeight:n,innerWidth:s}=window;return i<s&&o>0&&e<n&&r>0}rebuild(){oe(this,jr,cX).call(this)}rotate(e){}resize(){}serializeDeleted(){var e;return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:((e=this._initialData)==null?void 0:e.popupRef)||""}}serialize(e=!1,i=null){So("An editor must be serializable")}static async deserialize(e,i,r){const o=new this.prototype.constructor({parent:i,id:i.getNextId(),uiManager:r});o.rotation=e.rotation,ie(o,Y9,e.accessibilityData);const[n,s]=o.pageDimensions,[a,l,c,d]=o.getRectInCurrentCoords(e.rect,s);return o.x=a/n,o.y=l/s,o.width=c/n,o.height=d/s,o}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){var e,i;if((e=S(this,$2))==null||e.abort(),ie(this,$2,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),S(this,X1)&&(clearTimeout(S(this,X1)),ie(this,X1,null)),oe(this,jr,kI).call(this),this.removeEditToolbar(),S(this,Ud)){for(const r of S(this,Ud).values())clearTimeout(r);ie(this,Ud,null)}this.parent=null,(i=S(this,em))==null||i.destroy(),ie(this,em,null)}get isResizable(){return!1}makeResizable(){this.isResizable&&(oe(this,jr,Axe).call(this),S(this,Ha).classList.remove("hidden"),kR(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),ie(this,ug,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const i=S(this,Ha).children;if(!S(this,lh)){ie(this,lh,Array.from(i));const s=oe(this,jr,vxe).bind(this),a=oe(this,jr,Cxe).bind(this),l=this._uiManager._signal;for(const c of S(this,lh)){const d=c.getAttribute("data-resizer-name");c.setAttribute("role","spinbutton"),c.addEventListener("keydown",s,{signal:l}),c.addEventListener("blur",a,{signal:l}),c.addEventListener("focus",oe(this,jr,yxe).bind(this,d),{signal:l}),c.setAttribute("data-l10n-id",Ca._l10nResizer[d])}}const r=S(this,lh)[0];let o=0;for(const s of i){if(s===r)break;o++}const n=(360-this.rotation+this.parentRotation)%360/90*(S(this,lh).length/4);if(n!==o){if(n<o)for(let a=0;a<o-n;a++)S(this,Ha).append(S(this,Ha).firstChild);else if(n>o)for(let a=0;a<n-o;a++)S(this,Ha).firstChild.before(S(this,Ha).lastChild);let s=0;for(const a of i){const l=S(this,lh)[s++].getAttribute("data-resizer-name");a.setAttribute("data-l10n-id",Ca._l10nResizer[l])}}oe(this,jr,dX).call(this,0),ie(this,Ag,!0),S(this,Ha).firstChild.focus({focusVisible:!0}),e.preventDefault(),e.stopImmediatePropagation()}_resizeWithKeyboard(e,i){S(this,Ag)&&oe(this,jr,aX).call(this,S(this,YR),{deltaX:e,deltaY:i,fromKeyboard:!0})}_stopResizingWithKeyboard(){oe(this,jr,kI).call(this),this.div.focus()}select(){var e,i,r;if(this.makeResizable(),(e=this.div)==null||e.classList.add("selectedEditor"),!this._editToolbar){this.addEditToolbar().then(()=>{var o,n;(o=this.div)!=null&&o.classList.contains("selectedEditor")&&((n=this._editToolbar)==null||n.show())});return}(i=this._editToolbar)==null||i.show(),(r=S(this,on))==null||r.toggleAltTextBadge(!1)}unselect(){var e,i,r,o,n;(e=S(this,Ha))==null||e.classList.add("hidden"),(i=this.div)==null||i.classList.remove("selectedEditor"),(r=this.div)!=null&&r.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(o=this._editToolbar)==null||o.hide(),(n=S(this,on))==null||n.toggleAltTextBadge(!0)}updateParams(e,i){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return S(this,WR)}set isEditing(e){ie(this,WR,e),this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,i){ie(this,W9,!0);const r=e/i,{style:o}=this.div;o.aspectRatio=r,o.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,i=!1){if(i){S(this,Ud)||ie(this,Ud,new Map);const{action:r}=e;let o=S(this,Ud).get(r);o&&clearTimeout(o),o=setTimeout(()=>{this._reportTelemetry(e),S(this,Ud).delete(r),S(this,Ud).size===0&&ie(this,Ud,null)},Ca._telemetryTimeout),S(this,Ud).set(r,o);return}e.type||(e.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),ie(this,BI,!1)}disable(){this.div&&(this.div.tabIndex=-1),ie(this,BI,!0)}renderAnnotationElement(e){let i=e.container.querySelector(".annotationContent");if(!i)i=document.createElement("div"),i.classList.add("annotationContent",this.editorType),e.container.prepend(i);else if(i.nodeName==="CANVAS"){const r=i;i=document.createElement("div"),i.classList.add("annotationContent",this.editorType),r.before(i)}return i}resetAnnotationElement(e){const{firstChild:i}=e.container;i?.nodeName==="DIV"&&i.classList.contains("annotationContent")&&i.remove()}};Y9=new WeakMap,lh=new WeakMap,on=new WeakMap,BI=new WeakMap,X2=new WeakMap,JR=new WeakMap,W9=new WeakMap,Ha=new WeakMap,Z9=new WeakMap,ug=new WeakMap,$2=new WeakMap,YR=new WeakMap,X9=new WeakMap,Va=new WeakMap,WR=new WeakMap,$9=new WeakMap,Ag=new WeakMap,X1=new WeakMap,EI=new WeakMap,xI=new WeakMap,Ud=new WeakMap,em=new WeakMap,ZR=new WeakMap,rX=new WeakMap,jr=new WeakSet,oX=function([t,e],i,r){[i,r]=this.screenToPageTranslation(i,r),this.x+=i/t,this.y+=r/e,this._onTranslating(this.x,this.y),this.fixAndSetPosition()},XR=new WeakSet,nX=function(t,e,i){switch(i){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}},$R=function(t){switch(t){case 90:{const[e,i]=this.pageDimensions;return[0,-e/i,i/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,i]=this.pageDimensions;return[0,e/i,-i/e,0]}default:return[1,0,0,1]}},Axe=function(){if(S(this,Ha))return;ie(this,Ha,document.createElement("div")),S(this,Ha).classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const i of t){const r=document.createElement("div");S(this,Ha).append(r),r.classList.add("resizer",i),r.setAttribute("data-resizer-name",i),r.addEventListener("pointerdown",oe(this,jr,hxe).bind(this,i),{signal:e}),r.addEventListener("contextmenu",zu,{signal:e}),r.tabIndex=-1}this.div.prepend(S(this,Ha))},hxe=function(t,e){var i;e.preventDefault();const{isMac:r}=xl.platform;if(e.button!==0||e.ctrlKey&&r)return;(i=S(this,on))==null||i.toggle(!1);const o=this._isDraggable;this._isDraggable=!1,ie(this,Z9,[e.screenX,e.screenY]);const n=new AbortController,s=this._uiManager.combinedSignal(n);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",oe(this,jr,aX).bind(this,t),{passive:!0,capture:!0,signal:s}),window.addEventListener("touchmove",$c,{passive:!1,signal:s}),window.addEventListener("contextmenu",zu,{signal:s}),ie(this,ug,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const a=this.parent.div.style.cursor,l=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const c=()=>{var d;n.abort(),this.parent.togglePointerEvents(!0),(d=S(this,on))==null||d.toggle(!0),this._isDraggable=o,this.parent.div.style.cursor=a,this.div.style.cursor=l,oe(this,jr,eL).call(this)};window.addEventListener("pointerup",c,{signal:s}),window.addEventListener("blur",c,{signal:s})},sX=function(t,e,i,r){this.width=i,this.height=r,this.x=t,this.y=e;const[o,n]=this.parentDimensions;this.setDims(o*i,n*r),this.fixAndSetPosition(),this._onResized()},eL=function(){if(!S(this,ug))return;const{savedX:t,savedY:e,savedWidth:i,savedHeight:r}=S(this,ug);ie(this,ug,null);const o=this.x,n=this.y,s=this.width,a=this.height;o===t&&n===e&&s===i&&a===r||this.addCommands({cmd:oe(this,jr,sX).bind(this,o,n,s,a),undo:oe(this,jr,sX).bind(this,t,e,i,r),mustExec:!0})},aX=function(t,e){const[i,r]=this.parentDimensions,o=this.x,n=this.y,s=this.width,a=this.height,l=Vn.MIN_SIZE/i,c=Vn.MIN_SIZE/r,d=oe(this,jr,$R).call(this,this.rotation),u=(H,_)=>[d[0]*H+d[2]*_,d[1]*H+d[3]*_],A=oe(this,jr,$R).call(this,360-this.rotation),h=(H,_)=>[A[0]*H+A[2]*_,A[1]*H+A[3]*_];let g,p,m=!1,f=!1;switch(t){case"topLeft":m=!0,g=(H,_)=>[0,0],p=(H,_)=>[H,_];break;case"topMiddle":g=(H,_)=>[H/2,0],p=(H,_)=>[H/2,_];break;case"topRight":m=!0,g=(H,_)=>[H,0],p=(H,_)=>[0,_];break;case"middleRight":f=!0,g=(H,_)=>[H,_/2],p=(H,_)=>[0,_/2];break;case"bottomRight":m=!0,g=(H,_)=>[H,_],p=(H,_)=>[0,0];break;case"bottomMiddle":g=(H,_)=>[H/2,_],p=(H,_)=>[H/2,0];break;case"bottomLeft":m=!0,g=(H,_)=>[0,_],p=(H,_)=>[H,0];break;case"middleLeft":f=!0,g=(H,_)=>[0,_/2],p=(H,_)=>[H,_/2];break}const C=g(s,a),y=p(s,a);let v=u(...y);const w=Vn._round(o+v[0]),b=Vn._round(n+v[1]);let E=1,k=1,x,M;if(e.fromKeyboard)({deltaX:x,deltaY:M}=e);else{const{screenX:H,screenY:_}=e,[V,Y]=S(this,Z9);[x,M]=this.screenToPageTranslation(H-V,_-Y),S(this,Z9)[0]=H,S(this,Z9)[1]=_}if([x,M]=h(x/i,M/r),m){const H=Math.hypot(s,a);E=k=Math.max(Math.min(Math.hypot(y[0]-C[0]-x,y[1]-C[1]-M)/H,1/s,1/a),l/s,c/a)}else f?E=Math.max(l,Math.min(1,Math.abs(y[0]-C[0]-x)))/s:k=Math.max(c,Math.min(1,Math.abs(y[1]-C[1]-M)))/a;const D=Vn._round(s*E),P=Vn._round(a*k);v=u(...p(D,P));const T=w-v[0],U=b-v[1];S(this,Va)||ie(this,Va,[this.x,this.y,this.width,this.height]),this.width=D,this.height=P,this.x=T,this.y=U,this.setDims(i*D,r*P),this.fixAndSetPosition(),this._onResizing()},pxe=function(){var t;ie(this,ug,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height}),(t=S(this,on))==null||t.toggle(!1),this.parent.togglePointerEvents(!1)},gxe=function(t,e,i){let r=.7*(i/e)+1-.7;if(r===1)return;const o=oe(this,jr,$R).call(this,this.rotation),n=(v,w)=>[o[0]*v+o[2]*w,o[1]*v+o[3]*w],[s,a]=this.parentDimensions,l=this.x,c=this.y,d=this.width,u=this.height,A=Vn.MIN_SIZE/s,h=Vn.MIN_SIZE/a;r=Math.max(Math.min(r,1/d,1/u),A/d,h/u);const g=Vn._round(d*r),p=Vn._round(u*r);if(g===d&&p===u)return;S(this,Va)||ie(this,Va,[l,c,d,u]);const m=n(d/2,u/2),f=Vn._round(l+m[0]),C=Vn._round(c+m[1]),y=n(g/2,p/2);this.x=f-y[0],this.y=C-y[1],this.width=g,this.height=p,this.setDims(s*g,a*p),this.fixAndSetPosition(),this._onResizing()},fxe=function(){var t;(t=S(this,on))==null||t.toggle(!0),this.parent.togglePointerEvents(!0),oe(this,jr,eL).call(this)},lX=function(t){const{isMac:e}=xl.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)},mxe=function(t){const{isSelected:e}=this;this._uiManager.setUpDragSession();let i=!1;const r=new AbortController,o=this._uiManager.combinedSignal(r),n={capture:!0,passive:!1,signal:o},s=l=>{r.abort(),ie(this,X2,null),ie(this,X9,!1),this._uiManager.endDragSession()||oe(this,jr,lX).call(this,l),i&&this._onStopDragging()};e&&(ie(this,EI,t.clientX),ie(this,xI,t.clientY),ie(this,X2,t.pointerId),ie(this,JR,t.pointerType),window.addEventListener("pointermove",l=>{i||(i=!0,this._onStartDragging());const{clientX:c,clientY:d,pointerId:u}=l;if(u!==S(this,X2)){$c(l);return}const[A,h]=this.screenToPageTranslation(c-S(this,EI),d-S(this,xI));ie(this,EI,c),ie(this,xI,d),this._uiManager.dragSelectedEditors(A,h)},n),window.addEventListener("touchmove",$c,n),window.addEventListener("pointerdown",l=>{l.pointerType===S(this,JR)&&(S(this,em)||l.isPrimary)&&s(l),$c(l)},n));const a=l=>{if(!S(this,X2)||S(this,X2)===l.pointerId){s(l);return}$c(l)};window.addEventListener("pointerup",a,{signal:o}),window.addEventListener("blur",a,{signal:o})},cX=function(){if(S(this,$2)||!this.div)return;ie(this,$2,new AbortController);const t=this._uiManager.combinedSignal(S(this,$2));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:t}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:t})},vxe=function(t){Vn._resizerKeyboardManager.exec(this,t)},Cxe=function(t){var e;S(this,Ag)&&((e=t.relatedTarget)==null?void 0:e.parentNode)!==S(this,Ha)&&oe(this,jr,kI).call(this)},yxe=function(t){ie(this,YR,S(this,Ag)?t:"")},dX=function(t){if(S(this,lh))for(const e of S(this,lh))e.tabIndex=t},kI=function(){ie(this,Ag,!1),oe(this,jr,dX).call(this,-1),oe(this,jr,eL).call(this)},ce(Vn,XR),ai(Vn,"_l10n",null),ai(Vn,"_l10nResizer",null),ai(Vn,"_borderLineWidth",-1),ai(Vn,"_colorManager",new vFi),ai(Vn,"_zIndex",1),ai(Vn,"_telemetryTimeout",1e3);let Gn=Vn;class CFi extends Gn{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const wxe=3285377520,Nd=4294901760,ch=65535;let bxe=class{constructor(t){this.h1=t?t&4294967295:wxe,this.h2=t?t&4294967295:wxe}update(t){let e,i;if(typeof t=="string"){e=new Uint8Array(t.length*2),i=0;for(let g=0,p=t.length;g<p;g++){const m=t.charCodeAt(g);m<=255?e[i++]=m:(e[i++]=m>>>8,e[i++]=m&255)}}else if(ArrayBuffer.isView(t))e=t.slice(),i=e.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const r=i>>2,o=i-r*4,n=new Uint32Array(e.buffer,0,r);let s=0,a=0,l=this.h1,c=this.h2;const d=3432918353,u=461845907,A=d&ch,h=u&ch;for(let g=0;g<r;g++)g&1?(s=n[g],s=s*d&Nd|s*A&ch,s=s<<15|s>>>17,s=s*u&Nd|s*h&ch,l^=s,l=l<<13|l>>>19,l=l*5+3864292196):(a=n[g],a=a*d&Nd|a*A&ch,a=a<<15|a>>>17,a=a*u&Nd|a*h&ch,c^=a,c=c<<13|c>>>19,c=c*5+3864292196);switch(s=0,o){case 3:s^=e[r*4+2]<<16;case 2:s^=e[r*4+1]<<8;case 1:s^=e[r*4],s=s*d&Nd|s*A&ch,s=s<<15|s>>>17,s=s*u&Nd|s*h&ch,r&1?l^=s:c^=s}this.h1=l,this.h2=c}hexdigest(){let t=this.h1,e=this.h2;return t^=e>>>1,t=t*3981806797&Nd|t*36045&ch,e=e*4283543511&Nd|((e<<16|t>>>16)*2950163797&Nd)>>>16,t^=e>>>1,t=t*444984403&Nd|t*60499&ch,e=e*3301882366&Nd|((e<<16|t>>>16)*3120437893&Nd)>>>16,t^=e>>>1,(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}};const uX=Object.freeze({map:null,hash:"",transfer:void 0});var e6,t6,sa,AX,Ixe;class hX{constructor(){ce(this,AX),ce(this,e6,!1),ce(this,t6,null),ce(this,sa,new Map),this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,i){const r=S(this,sa).get(e);return r===void 0?i:Object.assign(i,r)}getRawValue(e){return S(this,sa).get(e)}remove(e){if(S(this,sa).delete(e),S(this,sa).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const i of S(this,sa).values())if(i instanceof Gn)return;this.onAnnotationEditor(null)}}setValue(e,i){const r=S(this,sa).get(e);let o=!1;if(r!==void 0)for(const[n,s]of Object.entries(i))r[n]!==s&&(o=!0,r[n]=s);else o=!0,S(this,sa).set(e,i);o&&oe(this,AX,Ixe).call(this),i instanceof Gn&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(i.constructor._type)}has(e){return S(this,sa).has(e)}getAll(){return S(this,sa).size>0?RZ(S(this,sa)):null}setAll(e){for(const[i,r]of Object.entries(e))this.setValue(i,r)}get size(){return S(this,sa).size}resetModified(){S(this,e6)&&(ie(this,e6,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new Bxe(this)}get serializable(){if(S(this,sa).size===0)return uX;const e=new Map,i=new bxe,r=[],o=Object.create(null);let n=!1;for(const[s,a]of S(this,sa)){const l=a instanceof Gn?a.serialize(!1,o):a;l&&(e.set(s,l),i.update(`${s}:${JSON.stringify(l)}`),n||(n=!!l.bitmap))}if(n)for(const s of e.values())s.bitmap&&r.push(s.bitmap);return e.size>0?{map:e,hash:i.hexdigest(),transfer:r}:uX}get editorStats(){let e=null;const i=new Map;for(const r of S(this,sa).values()){if(!(r instanceof Gn))continue;const o=r.telemetryFinalData;if(!o)continue;const{type:n}=o;i.has(n)||i.set(n,Object.getPrototypeOf(r).constructor),e||(e=Object.create(null));const s=e[n]||(e[n]=new Map);for(const[a,l]of Object.entries(o)){if(a==="type")continue;let c=s.get(a);c||(c=new Map,s.set(a,c));const d=c.get(l)??0;c.set(l,d+1)}}for(const[r,o]of i)e[r]=o.computeTelemetryFinalData(e[r]);return e}resetModifiedIds(){ie(this,t6,null)}get modifiedIds(){if(S(this,t6))return S(this,t6);const e=[];for(const i of S(this,sa).values())!(i instanceof Gn)||!i.annotationElementId||!i.serialize()||e.push(i.annotationElementId);return ie(this,t6,{ids:new Set(e),hash:e.join(",")})}}e6=new WeakMap,t6=new WeakMap,sa=new WeakMap,AX=new WeakSet,Ixe=function(){S(this,e6)||(ie(this,e6,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var tL;class Bxe extends hX{constructor(e){super(),ce(this,tL);const{map:i,hash:r,transfer:o}=e.serializable,n=structuredClone(i,o?{transfer:o}:null);ie(this,tL,{map:n,hash:r,transfer:o})}get print(){So("Should not call PrintAnnotationStorage.print")}get serializable(){return S(this,tL)}get modifiedIds(){return gr(this,"modifiedIds",{ids:new Set,hash:""})}}tL=new WeakMap;var MI;class yFi{constructor({ownerDocument:e=globalThis.document,styleElement:i=null}){ce(this,MI,new Set),this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const i=this.styleElement.sheet;i.insertRule(e,i.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),S(this,MI).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:i}){if(!(!e||S(this,MI).has(e.loadedName))){if($n(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:r,src:o,style:n}=e,s=new FontFace(r,o,n);this.addNativeFontFace(s);try{await s.load(),S(this,MI).add(r),i?.(e)}catch{nr(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(s)}return}So("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){const r=e.createNativeFontFace();if(r){this.addNativeFontFace(r);try{await r.loaded}catch(o){throw nr(`Failed to load font '${r.family}': '${o}'.`),e.disableFontFace=!0,o}}return}const i=e.createFontFaceRule();if(i){if(this.insertRule(i),this.isSyncFontLoadingSupported)return;await new Promise(r=>{const o=this._queueLoadingCallback(r);this._prepareFontLoadEvent(e,o)})}}get isFontLoadingAPISupported(){var e;const i=!!((e=this._document)!=null&&e.fonts);return gr(this,"isFontLoadingAPISupported",i)}get isSyncFontLoadingSupported(){let e=!1;return(Ua||typeof navigator<"u"&&typeof navigator?.userAgent=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),gr(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){function i(){for($n(!o.done,"completeRequest() cannot be called twice."),o.done=!0;r.length>0&&r[0].done;){const n=r.shift();setTimeout(n.callback,0)}}const{loadingRequests:r}=this,o={done:!1,complete:i,callback:e};return r.push(o),o}get _loadTestFont(){const e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return gr(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,i){function r(y,v){return y.charCodeAt(v)<<24|y.charCodeAt(v+1)<<16|y.charCodeAt(v+2)<<8|y.charCodeAt(v+3)&255}function o(y,v,w,b){const E=y.substring(0,v),k=y.substring(v+w);return E+b+k}let n,s;const a=this._document.createElement("canvas");a.width=1,a.height=1;const l=a.getContext("2d");let c=0;function d(y,v){if(++c>30){nr("Load test font never loaded."),v();return}if(l.font="30px "+y,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0){v();return}setTimeout(d.bind(null,y,v))}const u=`lt${Date.now()}${this.loadTestFontId++}`;let A=this._loadTestFont;A=o(A,976,u.length,u);const h=16,g=1482184792;let p=r(A,h);for(n=0,s=u.length-3;n<s;n+=4)p=p-g+r(u,n)|0;n<u.length&&(p=p-g+r(u+"XXX",n)|0),A=o(A,h,4,iFi(p));const m=`url(data:font/opentype;base64,${btoa(A)});`,f=`@font-face {font-family:"${u}";src:${m}}`;this.insertRule(f);const C=this._document.createElement("div");C.style.visibility="hidden",C.style.width=C.style.height="10px",C.style.position="absolute",C.style.top=C.style.left="0px";for(const y of[e.loadedName,u]){const v=this._document.createElement("span");v.textContent="Hi",v.style.fontFamily=y,C.append(v)}this._document.body.append(C),d(u,()=>{C.remove(),i.complete()})}}MI=new WeakMap;class wFi{constructor(e,{disableFontFace:i=!1,fontExtraProperties:r=!1,inspectFont:o=null}){this.compiledGlyphs=Object.create(null);for(const n in e)this[n]=e[n];this.disableFontFace=i===!0,this.fontExtraProperties=r===!0,this._inspectFont=o}createNativeFontFace(){var e;if(!this.data||this.disableFontFace)return null;let i;if(!this.cssFontInfo)i=new FontFace(this.loadedName,this.data,{});else{const r={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(r.style=`oblique ${this.cssFontInfo.italicAngle}deg`),i=new FontFace(this.cssFontInfo.fontFamily,this.data,r)}return(e=this._inspectFont)==null||e.call(this,this),i}createFontFaceRule(){var e;if(!this.data||this.disableFontFace)return null;const i=`url(data:${this.mimetype};base64,${lFi(this.data)});`;let r;if(!this.cssFontInfo)r=`@font-face {font-family:"${this.loadedName}";src:${i}}`;else{let o=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(o+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),r=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${o}src:${i}}`}return(e=this._inspectFont)==null||e.call(this,this,i),r}getPathGenerator(e,i){if(this.compiledGlyphs[i]!==void 0)return this.compiledGlyphs[i];const r=this.loadedName+"_path_"+i;let o;try{o=e.get(r)}catch(s){nr(`getPathGenerator - ignoring character: "${s}".`)}const n=new Path2D(o||"");return this.fontExtraProperties||e.delete(r),this.compiledGlyphs[i]=n}}const iL={DATA:1,ERROR:2},ts={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Exe(){}function cc(t){if(t instanceof og||t instanceof PZ||t instanceof rI||t instanceof _Ee||t instanceof vR||t instanceof DZ)return t;switch(t instanceof Error||typeof t=="object"&&t!==null||So('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),t.name){case"AbortException":return new og(t.message);case"InvalidPDFException":return new PZ(t.message);case"MissingPDFException":return new rI(t.message);case"PasswordException":return new _Ee(t.message,t.code);case"UnexpectedResponseException":return new vR(t.message,t.status);case"UnknownErrorException":return new DZ(t.message,t.details)}return new DZ(t.message,t.toString())}var SI,hg,xxe,kxe,Mxe,rL,Sxe;let QI=(Sxe=class{constructor(t,e,i){ce(this,hg),ce(this,SI,new AbortController),this.sourceName=t,this.targetName=e,this.comObj=i,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),i.addEventListener("message",oe(this,hg,xxe).bind(this),{signal:S(this,SI).signal})}on(t,e){const i=this.actionHandler;if(i[t])throw new Error(`There is already an actionName called "${t}"`);i[t]=e}send(t,e,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},i)}sendWithPromise(t,e,i){const r=this.callbackId++,o=Promise.withResolvers();this.callbackCapabilities[r]=o;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:r,data:e},i)}catch(n){o.reject(n)}return o.promise}sendWithStream(t,e,i,r){const o=this.streamId++,n=this.sourceName,s=this.targetName,a=this.comObj;return new ReadableStream({start:l=>{const c=Promise.withResolvers();return this.streamControllers[o]={controller:l,startCall:c,pullCall:null,cancelCall:null,isClosed:!1},a.postMessage({sourceName:n,targetName:s,action:t,streamId:o,data:e,desiredSize:l.desiredSize},r),c.promise},pull:l=>{const c=Promise.withResolvers();return this.streamControllers[o].pullCall=c,a.postMessage({sourceName:n,targetName:s,stream:ts.PULL,streamId:o,desiredSize:l.desiredSize}),c.promise},cancel:l=>{$n(l instanceof Error,"cancel must have a valid reason");const c=Promise.withResolvers();return this.streamControllers[o].cancelCall=c,this.streamControllers[o].isClosed=!0,a.postMessage({sourceName:n,targetName:s,stream:ts.CANCEL,streamId:o,reason:cc(l)}),c.promise}},i)}destroy(){var t;(t=S(this,SI))==null||t.abort(),ie(this,SI,null)}},SI=new WeakMap,hg=new WeakSet,xxe=function({data:t}){if(t.targetName!==this.sourceName)return;if(t.stream){oe(this,hg,Mxe).call(this,t);return}if(t.callback){const i=t.callbackId,r=this.callbackCapabilities[i];if(!r)throw new Error(`Cannot resolve callback ${i}`);if(delete this.callbackCapabilities[i],t.callback===iL.DATA)r.resolve(t.data);else if(t.callback===iL.ERROR)r.reject(cc(t.reason));else throw new Error("Unexpected callback case");return}const e=this.actionHandler[t.action];if(!e)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const i=this.sourceName,r=t.sourceName,o=this.comObj;Promise.try(e,t.data).then(function(n){o.postMessage({sourceName:i,targetName:r,callback:iL.DATA,callbackId:t.callbackId,data:n})},function(n){o.postMessage({sourceName:i,targetName:r,callback:iL.ERROR,callbackId:t.callbackId,reason:cc(n)})});return}if(t.streamId){oe(this,hg,kxe).call(this,t);return}e(t.data)},kxe=function(t){const e=t.streamId,i=this.sourceName,r=t.sourceName,o=this.comObj,n=this,s=this.actionHandler[t.action],a={enqueue(l,c=1,d){if(this.isCancelled)return;const u=this.desiredSize;this.desiredSize-=c,u>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),o.postMessage({sourceName:i,targetName:r,stream:ts.ENQUEUE,streamId:e,chunk:l},d)},close(){this.isCancelled||(this.isCancelled=!0,o.postMessage({sourceName:i,targetName:r,stream:ts.CLOSE,streamId:e}),delete n.streamSinks[e])},error(l){$n(l instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,o.postMessage({sourceName:i,targetName:r,stream:ts.ERROR,streamId:e,reason:cc(l)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};a.sinkCapability.resolve(),a.ready=a.sinkCapability.promise,this.streamSinks[e]=a,Promise.try(s,t.data,a).then(function(){o.postMessage({sourceName:i,targetName:r,stream:ts.START_COMPLETE,streamId:e,success:!0})},function(l){o.postMessage({sourceName:i,targetName:r,stream:ts.START_COMPLETE,streamId:e,reason:cc(l)})})},Mxe=function(t){const e=t.streamId,i=this.sourceName,r=t.sourceName,o=this.comObj,n=this.streamControllers[e],s=this.streamSinks[e];switch(t.stream){case ts.START_COMPLETE:t.success?n.startCall.resolve():n.startCall.reject(cc(t.reason));break;case ts.PULL_COMPLETE:t.success?n.pullCall.resolve():n.pullCall.reject(cc(t.reason));break;case ts.PULL:if(!s){o.postMessage({sourceName:i,targetName:r,stream:ts.PULL_COMPLETE,streamId:e,success:!0});break}s.desiredSize<=0&&t.desiredSize>0&&s.sinkCapability.resolve(),s.desiredSize=t.desiredSize,Promise.try(s.onPull||Exe).then(function(){o.postMessage({sourceName:i,targetName:r,stream:ts.PULL_COMPLETE,streamId:e,success:!0})},function(l){o.postMessage({sourceName:i,targetName:r,stream:ts.PULL_COMPLETE,streamId:e,reason:cc(l)})});break;case ts.ENQUEUE:if($n(n,"enqueue should have stream controller"),n.isClosed)break;n.controller.enqueue(t.chunk);break;case ts.CLOSE:if($n(n,"close should have stream controller"),n.isClosed)break;n.isClosed=!0,n.controller.close(),oe(this,hg,rL).call(this,n,e);break;case ts.ERROR:$n(n,"error should have stream controller"),n.controller.error(cc(t.reason)),oe(this,hg,rL).call(this,n,e);break;case ts.CANCEL_COMPLETE:t.success?n.cancelCall.resolve():n.cancelCall.reject(cc(t.reason)),oe(this,hg,rL).call(this,n,e);break;case ts.CANCEL:if(!s)break;const a=cc(t.reason);Promise.try(s.onCancel||Exe,a).then(function(){o.postMessage({sourceName:i,targetName:r,stream:ts.CANCEL_COMPLETE,streamId:e,success:!0})},function(l){o.postMessage({sourceName:i,targetName:r,stream:ts.CANCEL_COMPLETE,streamId:e,reason:cc(l)})}),s.sinkCapability.reject(a),s.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}},rL=async function(t,e){var i,r,o;await Promise.allSettled([(i=t.startCall)==null?void 0:i.promise,(r=t.pullCall)==null?void 0:r.promise,(o=t.cancelCall)==null?void 0:o.promise]),delete this.streamControllers[e]},Sxe);var oL;class Qxe{constructor({enableHWA:e=!1}){ce(this,oL,!1),ie(this,oL,e)}create(e,i){if(e<=0||i<=0)throw new Error("Invalid canvas size");const r=this._createCanvas(e,i);return{canvas:r,context:r.getContext("2d",{willReadFrequently:!S(this,oL)})}}reset(e,i,r){if(!e.canvas)throw new Error("Canvas is not specified");if(i<=0||r<=0)throw new Error("Invalid canvas size");e.canvas.width=i,e.canvas.height=r}destroy(e){if(!e.canvas)throw new Error("Canvas is not specified");e.canvas.width=0,e.canvas.height=0,e.canvas=null,e.context=null}_createCanvas(e,i){So("Abstract method `_createCanvas` called.")}}oL=new WeakMap;class bFi extends Qxe{constructor({ownerDocument:e=globalThis.document,enableHWA:i=!1}){super({enableHWA:i}),this._document=e}_createCanvas(e,i){const r=this._document.createElement("canvas");return r.width=e,r.height=i,r}}class Dxe{constructor({baseUrl:e=null,isCompressed:i=!0}){this.baseUrl=e,this.isCompressed=i}async fetch({name:e}){if(!this.baseUrl)throw new Error("Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.");if(!e)throw new Error("CMap name must be specified.");const i=this.baseUrl+e+(this.isCompressed?".bcmap":"");return this._fetch(i).then(r=>({cMapData:r,isCompressed:this.isCompressed})).catch(r=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${i}`)})}async _fetch(e){So("Abstract method `_fetch` called.")}}class Pxe extends Dxe{async _fetch(e){const i=await wR(e,this.isCompressed?"arraybuffer":"text");return i instanceof ArrayBuffer?new Uint8Array(i):CR(i)}}class Rxe{addFilter(e){return"none"}addHCMFilter(e,i){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addHighlightHCMFilter(e,i,r,o,n){return"none"}destroy(e=!1){}}var i6,r6,pg,gg,Ml,tm,o6,xi,Ga,DI,n6,nL,s6,Lxe,pX,a6,PI,RI,gX,LI;class IFi extends Rxe{constructor({docId:e,ownerDocument:i=globalThis.document}){super(),ce(this,xi),ce(this,i6),ce(this,r6),ce(this,pg),ce(this,gg),ce(this,Ml),ce(this,tm),ce(this,o6,0),ie(this,gg,e),ie(this,Ml,i)}addFilter(e){if(!e)return"none";let i=S(this,xi,Ga).get(e);if(i)return i;const[r,o,n]=oe(this,xi,nL).call(this,e),s=e.length===1?r:`${r}${o}${n}`;if(i=S(this,xi,Ga).get(s),i)return S(this,xi,Ga).set(e,i),i;const a=`g_${S(this,gg)}_transfer_map_${Ol(this,o6)._++}`,l=oe(this,xi,s6).call(this,a);S(this,xi,Ga).set(e,l),S(this,xi,Ga).set(s,l);const c=oe(this,xi,a6).call(this,a);return oe(this,xi,RI).call(this,r,o,n,c),l}addHCMFilter(e,i){var r;const o=`${e}-${i}`,n="base";let s=S(this,xi,DI).get(n);if(s?.key===o||(s?((r=s.filter)==null||r.remove(),s.key=o,s.url="none",s.filter=null):(s={key:o,url:"none",filter:null},S(this,xi,DI).set(n,s)),!e||!i))return s.url;const a=oe(this,xi,LI).call(this,e);e=bi.makeHexColor(...a);const l=oe(this,xi,LI).call(this,i);if(i=bi.makeHexColor(...l),S(this,xi,n6).style.color="",e==="#000000"&&i==="#ffffff"||e===i)return s.url;const c=new Array(256);for(let g=0;g<=255;g++){const p=g/255;c[g]=p<=.03928?p/12.92:((p+.055)/1.055)**2.4}const d=c.join(","),u=`g_${S(this,gg)}_hcm_filter`,A=s.filter=oe(this,xi,a6).call(this,u);oe(this,xi,RI).call(this,d,d,d,A),oe(this,xi,pX).call(this,A);const h=(g,p)=>{const m=a[g]/255,f=l[g]/255,C=new Array(p+1);for(let y=0;y<=p;y++)C[y]=m+y/p*(f-m);return C.join(",")};return oe(this,xi,RI).call(this,h(0,5),h(1,5),h(2,5),A),s.url=oe(this,xi,s6).call(this,u),s.url}addAlphaFilter(e){let i=S(this,xi,Ga).get(e);if(i)return i;const[r]=oe(this,xi,nL).call(this,[e]),o=`alpha_${r}`;if(i=S(this,xi,Ga).get(o),i)return S(this,xi,Ga).set(e,i),i;const n=`g_${S(this,gg)}_alpha_map_${Ol(this,o6)._++}`,s=oe(this,xi,s6).call(this,n);S(this,xi,Ga).set(e,s),S(this,xi,Ga).set(o,s);const a=oe(this,xi,a6).call(this,n);return oe(this,xi,gX).call(this,r,a),s}addLuminosityFilter(e){let i=S(this,xi,Ga).get(e||"luminosity");if(i)return i;let r,o;if(e?([r]=oe(this,xi,nL).call(this,[e]),o=`luminosity_${r}`):o="luminosity",i=S(this,xi,Ga).get(o),i)return S(this,xi,Ga).set(e,i),i;const n=`g_${S(this,gg)}_luminosity_map_${Ol(this,o6)._++}`,s=oe(this,xi,s6).call(this,n);S(this,xi,Ga).set(e,s),S(this,xi,Ga).set(o,s);const a=oe(this,xi,a6).call(this,n);return oe(this,xi,Lxe).call(this,a),e&&oe(this,xi,gX).call(this,r,a),s}addHighlightHCMFilter(e,i,r,o,n){var s;const a=`${i}-${r}-${o}-${n}`;let l=S(this,xi,DI).get(e);if(l?.key===a||(l?((s=l.filter)==null||s.remove(),l.key=a,l.url="none",l.filter=null):(l={key:a,url:"none",filter:null},S(this,xi,DI).set(e,l)),!i||!r))return l.url;const[c,d]=[i,r].map(oe(this,xi,LI).bind(this));let u=Math.round(.2126*c[0]+.7152*c[1]+.0722*c[2]),A=Math.round(.2126*d[0]+.7152*d[1]+.0722*d[2]),[h,g]=[o,n].map(oe(this,xi,LI).bind(this));A<u&&([u,A,h,g]=[A,u,g,h]),S(this,xi,n6).style.color="";const p=(C,y,v)=>{const w=new Array(256),b=(A-u)/v,E=C/255,k=(y-C)/(255*v);let x=0;for(let M=0;M<=v;M++){const D=Math.round(u+M*b),P=E+M*k;for(let T=x;T<=D;T++)w[T]=P;x=D+1}for(let M=x;M<256;M++)w[M]=w[x-1];return w.join(",")},m=`g_${S(this,gg)}_hcm_${e}_filter`,f=l.filter=oe(this,xi,a6).call(this,m);return oe(this,xi,pX).call(this,f),oe(this,xi,RI).call(this,p(h[0],g[0],5),p(h[1],g[1],5),p(h[2],g[2],5),f),l.url=oe(this,xi,s6).call(this,m),l.url}destroy(e=!1){var i,r,o,n;e&&(i=S(this,tm))!=null&&i.size||((r=S(this,pg))==null||r.parentNode.parentNode.remove(),ie(this,pg,null),(o=S(this,r6))==null||o.clear(),ie(this,r6,null),(n=S(this,tm))==null||n.clear(),ie(this,tm,null),ie(this,o6,0))}}i6=new WeakMap,r6=new WeakMap,pg=new WeakMap,gg=new WeakMap,Ml=new WeakMap,tm=new WeakMap,o6=new WeakMap,xi=new WeakSet,Ga=function(){return S(this,r6)||ie(this,r6,new Map)},DI=function(){return S(this,tm)||ie(this,tm,new Map)},n6=function(){if(!S(this,pg)){const t=S(this,Ml).createElement("div"),{style:e}=t;e.visibility="hidden",e.contain="strict",e.width=e.height=0,e.position="absolute",e.top=e.left=0,e.zIndex=-1;const i=S(this,Ml).createElementNS(V1,"svg");i.setAttribute("width",0),i.setAttribute("height",0),ie(this,pg,S(this,Ml).createElementNS(V1,"defs")),t.append(i),i.append(S(this,pg)),S(this,Ml).body.append(t)}return S(this,pg)},nL=function(t){if(t.length===1){const a=t[0],l=new Array(256);for(let d=0;d<256;d++)l[d]=a[d]/255;const c=l.join(",");return[c,c,c]}const[e,i,r]=t,o=new Array(256),n=new Array(256),s=new Array(256);for(let a=0;a<256;a++)o[a]=e[a]/255,n[a]=i[a]/255,s[a]=r[a]/255;return[o.join(","),n.join(","),s.join(",")]},s6=function(t){if(S(this,i6)===void 0){ie(this,i6,"");const e=S(this,Ml).URL;e!==S(this,Ml).baseURI&&(bR(e)?nr('#createUrl: ignore "data:"-URL for performance reasons.'):ie(this,i6,e.split("#",1)[0]))}return`url(${S(this,i6)}#${t})`},Lxe=function(t){const e=S(this,Ml).createElementNS(V1,"feColorMatrix");e.setAttribute("type","matrix"),e.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),t.append(e)},pX=function(t){const e=S(this,Ml).createElementNS(V1,"feColorMatrix");e.setAttribute("type","matrix"),e.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),t.append(e)},a6=function(t){const e=S(this,Ml).createElementNS(V1,"filter");return e.setAttribute("color-interpolation-filters","sRGB"),e.setAttribute("id",t),S(this,xi,n6).append(e),e},PI=function(t,e,i){const r=S(this,Ml).createElementNS(V1,e);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)},RI=function(t,e,i,r){const o=S(this,Ml).createElementNS(V1,"feComponentTransfer");r.append(o),oe(this,xi,PI).call(this,o,"feFuncR",t),oe(this,xi,PI).call(this,o,"feFuncG",e),oe(this,xi,PI).call(this,o,"feFuncB",i)},gX=function(t,e){const i=S(this,Ml).createElementNS(V1,"feComponentTransfer");e.append(i),oe(this,xi,PI).call(this,i,"feFuncA",t)},LI=function(t){return S(this,xi,n6).style.color=t,VZ(getComputedStyle(S(this,xi,n6)).getPropertyValue("color"))};class Txe{constructor({baseUrl:e=null}){this.baseUrl=e}async fetch({filename:e}){if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!e)throw new Error("Font filename must be specified.");const i=`${this.baseUrl}${e}`;return this._fetch(i).catch(r=>{throw new Error(`Unable to load font data at: ${i}`)})}async _fetch(e){So("Abstract method `_fetch` called.")}}class Fxe extends Txe{async _fetch(e){const i=await wR(e,"arraybuffer");return new Uint8Array(i)}}Ua&&nr("Please use the `legacy` build in Node.js environments.");async function _xe(t){const e=await process.getBuiltinModule("fs").promises.readFile(t);return new Uint8Array(e)}class BFi extends Rxe{}class EFi extends Qxe{_createCanvas(e,i){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(e,i)}}class xFi extends Dxe{async _fetch(e){return _xe(e)}}class kFi extends Txe{async _fetch(e){return _xe(e)}}const ja={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function fX(t,e){if(!e)return;const i=e[2]-e[0],r=e[3]-e[1],o=new Path2D;o.rect(e[0],e[1],i,r),t.clip(o)}class mX{getPattern(){So("Abstract method `getPattern` called.")}}class MFi extends mX{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7],this.matrix=null}_createGradient(e){let i;this._type==="axial"?i=e.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(i=e.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const r of this._colorStops)i.addColorStop(r[0],r[1]);return i}getPattern(e,i,r,o){let n;if(o===ja.STROKE||o===ja.FILL){const s=i.current.getClippedPathBoundingBox(o,tn(e))||[0,0,0,0],a=Math.ceil(s[2]-s[0])||1,l=Math.ceil(s[3]-s[1])||1,c=i.cachedCanvases.getCanvas("pattern",a,l),d=c.context;d.clearRect(0,0,d.canvas.width,d.canvas.height),d.beginPath(),d.rect(0,0,d.canvas.width,d.canvas.height),d.translate(-s[0],-s[1]),r=bi.transform(r,[1,0,0,1,s[0],s[1]]),d.transform(...i.baseTransform),this.matrix&&d.transform(...this.matrix),fX(d,this._bbox),d.fillStyle=this._createGradient(d),d.fill(),n=e.createPattern(c.canvas,"no-repeat");const u=new DOMMatrix(r);n.setTransform(u)}else fX(e,this._bbox),n=this._createGradient(e);return n}}function vX(t,e,i,r,o,n,s,a){const l=e.coords,c=e.colors,d=t.data,u=t.width*4;let A;l[i+1]>l[r+1]&&(A=i,i=r,r=A,A=n,n=s,s=A),l[r+1]>l[o+1]&&(A=r,r=o,o=A,A=s,s=a,a=A),l[i+1]>l[r+1]&&(A=i,i=r,r=A,A=n,n=s,s=A);const h=(l[i]+e.offsetX)*e.scaleX,g=(l[i+1]+e.offsetY)*e.scaleY,p=(l[r]+e.offsetX)*e.scaleX,m=(l[r+1]+e.offsetY)*e.scaleY,f=(l[o]+e.offsetX)*e.scaleX,C=(l[o+1]+e.offsetY)*e.scaleY;if(g>=C)return;const y=c[n],v=c[n+1],w=c[n+2],b=c[s],E=c[s+1],k=c[s+2],x=c[a],M=c[a+1],D=c[a+2],P=Math.round(g),T=Math.round(C);let U,H,_,V,Y,re,ue,xe;for(let pe=P;pe<=T;pe++){if(pe<m){const Z=pe<g?0:(g-pe)/(g-m);U=h-(h-p)*Z,H=y-(y-b)*Z,_=v-(v-E)*Z,V=w-(w-k)*Z}else{let Z;pe>C?Z=1:m===C?Z=0:Z=(m-pe)/(m-C),U=p-(p-f)*Z,H=b-(b-x)*Z,_=E-(E-M)*Z,V=k-(k-D)*Z}let Ee;pe<g?Ee=0:pe>C?Ee=1:Ee=(g-pe)/(g-C),Y=h-(h-f)*Ee,re=y-(y-x)*Ee,ue=v-(v-M)*Ee,xe=w-(w-D)*Ee;const de=Math.round(Math.min(U,Y)),De=Math.round(Math.max(U,Y));let Ie=u*pe+de*4;for(let Z=de;Z<=De;Z++)Ee=(U-Z)/(U-Y),Ee<0?Ee=0:Ee>1&&(Ee=1),d[Ie++]=H-(H-re)*Ee|0,d[Ie++]=_-(_-ue)*Ee|0,d[Ie++]=V-(V-xe)*Ee|0,d[Ie++]=255}}function SFi(t,e,i){const r=e.coords,o=e.colors;let n,s;switch(e.type){case"lattice":const a=e.verticesPerRow,l=Math.floor(r.length/a)-1,c=a-1;for(n=0;n<l;n++){let d=n*a;for(let u=0;u<c;u++,d++)vX(t,i,r[d],r[d+1],r[d+a],o[d],o[d+1],o[d+a]),vX(t,i,r[d+a+1],r[d+1],r[d+a],o[d+a+1],o[d+1],o[d+a])}break;case"triangles":for(n=0,s=r.length;n<s;n+=3)vX(t,i,r[n],r[n+1],r[n+2],o[n],o[n+1],o[n+2]);break;default:throw new Error("illegal figure")}}class QFi extends mX{constructor(e){super(),this._coords=e[2],this._colors=e[3],this._figures=e[4],this._bounds=e[5],this._bbox=e[7],this._background=e[8],this.matrix=null}_createMeshCanvas(e,i,r){const o=Math.floor(this._bounds[0]),n=Math.floor(this._bounds[1]),s=Math.ceil(this._bounds[2])-o,a=Math.ceil(this._bounds[3])-n,l=Math.min(Math.ceil(Math.abs(s*e[0]*1.1)),3e3),c=Math.min(Math.ceil(Math.abs(a*e[1]*1.1)),3e3),d=s/l,u=a/c,A={coords:this._coords,colors:this._colors,offsetX:-o,offsetY:-n,scaleX:1/d,scaleY:1/u},h=l+2*2,g=c+2*2,p=r.getCanvas("mesh",h,g),m=p.context,f=m.createImageData(l,c);if(i){const C=f.data;for(let y=0,v=C.length;y<v;y+=4)C[y]=i[0],C[y+1]=i[1],C[y+2]=i[2],C[y+3]=255}for(const C of this._figures)SFi(f,C,A);return m.putImageData(f,2,2),{canvas:p.canvas,offsetX:o-2*d,offsetY:n-2*u,scaleX:d,scaleY:u}}getPattern(e,i,r,o){fX(e,this._bbox);let n;if(o===ja.SHADING)n=bi.singularValueDecompose2dScale(tn(e));else if(n=bi.singularValueDecompose2dScale(i.baseTransform),this.matrix){const a=bi.singularValueDecompose2dScale(this.matrix);n=[n[0]*a[0],n[1]*a[1]]}const s=this._createMeshCanvas(n,o===ja.SHADING?null:this._background,i.cachedCanvases);return o!==ja.SHADING&&(e.setTransform(...i.baseTransform),this.matrix&&e.transform(...this.matrix)),e.translate(s.offsetX,s.offsetY),e.scale(s.scaleX,s.scaleY),e.createPattern(s.canvas,"no-repeat")}}class DFi extends mX{getPattern(){return"hotpink"}}function PFi(t){switch(t[0]){case"RadialAxial":return new MFi(t);case"Mesh":return new QFi(t);case"Dummy":return new DFi}throw new Error(`Unknown IR type: ${t[0]}`)}const Uxe={COLORED:1,UNCOLORED:2},Nxe=class WPe{constructor(e,i,r,o,n){this.operatorList=e[2],this.matrix=e[3],this.bbox=e[4],this.xstep=e[5],this.ystep=e[6],this.paintType=e[7],this.tilingType=e[8],this.color=i,this.ctx=r,this.canvasGraphicsFactory=o,this.baseTransform=n}createPatternCanvas(e){const{bbox:i,operatorList:r,paintType:o,tilingType:n,color:s,canvasGraphicsFactory:a}=this;let{xstep:l,ystep:c}=this;l=Math.abs(l),c=Math.abs(c),mR("TilingType: "+n);const d=i[0],u=i[1],A=i[2],h=i[3],g=A-d,p=h-u,m=bi.singularValueDecompose2dScale(this.matrix),f=bi.singularValueDecompose2dScale(this.baseTransform),C=m[0]*f[0],y=m[1]*f[1];let v=g,w=p,b=!1,E=!1;const k=Math.ceil(l*C),x=Math.ceil(c*y),M=Math.ceil(g*C),D=Math.ceil(p*y);k>=M?v=l:b=!0,x>=D?w=c:E=!0;const P=this.getSizeAndScale(v,this.ctx.canvas.width,C),T=this.getSizeAndScale(w,this.ctx.canvas.height,y),U=e.cachedCanvases.getCanvas("pattern",P.size,T.size),H=U.context,_=a.createCanvasGraphics(H);if(_.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(_,o,s),H.translate(-P.scale*d,-T.scale*u),_.transform(P.scale,0,0,T.scale,0,0),H.save(),this.clipBbox(_,d,u,A,h),_.baseTransform=tn(_.ctx),_.executeOperatorList(r),_.endDrawing(),H.restore(),b||E){const V=U.canvas;b&&(v=l),E&&(w=c);const Y=this.getSizeAndScale(v,this.ctx.canvas.width,C),re=this.getSizeAndScale(w,this.ctx.canvas.height,y),ue=Y.size,xe=re.size,pe=e.cachedCanvases.getCanvas("pattern-workaround",ue,xe),Ee=pe.context,de=b?Math.floor(g/l):0,De=E?Math.floor(p/c):0;for(let Ie=0;Ie<=de;Ie++)for(let Z=0;Z<=De;Z++)Ee.drawImage(V,ue*Ie,xe*Z,ue,xe,0,0,ue,xe);return{canvas:pe.canvas,scaleX:Y.scale,scaleY:re.scale,offsetX:d,offsetY:u}}return{canvas:U.canvas,scaleX:P.scale,scaleY:T.scale,offsetX:d,offsetY:u}}getSizeAndScale(e,i,r){const o=Math.max(WPe.MAX_PATTERN_SIZE,i);let n=Math.ceil(e*r);return n>=o?n=o:r=n/e,{scale:r,size:n}}clipBbox(e,i,r,o,n){const s=o-i,a=n-r;e.ctx.rect(i,r,s,a),e.current.updateRectMinMax(tn(e.ctx),[i,r,o,n]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,i,r){const o=e.ctx,n=e.current;switch(i){case Uxe.COLORED:const s=this.ctx;o.fillStyle=s.fillStyle,o.strokeStyle=s.strokeStyle,n.fillColor=s.fillStyle,n.strokeColor=s.strokeStyle;break;case Uxe.UNCOLORED:const a=bi.makeHexColor(r[0],r[1],r[2]);o.fillStyle=a,o.strokeStyle=a,n.fillColor=a,n.strokeColor=a;break;default:throw new tFi(`Unsupported paint type: ${i}`)}}getPattern(e,i,r,o){let n=r;o!==ja.SHADING&&(n=bi.transform(n,i.baseTransform),this.matrix&&(n=bi.transform(n,this.matrix)));const s=this.createPatternCanvas(i);let a=new DOMMatrix(n);a=a.translate(s.offsetX,s.offsetY),a=a.scale(1/s.scaleX,1/s.scaleY);const l=e.createPattern(s.canvas,"repeat");return l.setTransform(a),l}};ai(Nxe,"MAX_PATTERN_SIZE",3e3);let RFi=Nxe;function LFi({src:t,srcPos:e=0,dest:i,width:r,height:o,nonBlackColor:n=4294967295,inverseDecode:s=!1}){const a=xl.isLittleEndian?4278190080:255,[l,c]=s?[n,a]:[a,n],d=r>>3,u=r&7,A=t.length;i=new Uint32Array(i.buffer);let h=0;for(let g=0;g<o;g++){for(const m=e+d;e<m;e++){const f=e<A?t[e]:255;i[h++]=f&128?c:l,i[h++]=f&64?c:l,i[h++]=f&32?c:l,i[h++]=f&16?c:l,i[h++]=f&8?c:l,i[h++]=f&4?c:l,i[h++]=f&2?c:l,i[h++]=f&1?c:l}if(u===0)continue;const p=e<A?t[e++]:255;for(let m=0;m<u;m++)i[h++]=p&1<<7-m?c:l}return{srcPos:e,destPos:h}}const Oxe=16,Hxe=100,TFi=15,Vxe=10,Gxe=1e3,dc=16;function FFi(t,e){if(t._removeMirroring)throw new Error("Context is already forwarding operations.");t.__originalSave=t.save,t.__originalRestore=t.restore,t.__originalRotate=t.rotate,t.__originalScale=t.scale,t.__originalTranslate=t.translate,t.__originalTransform=t.transform,t.__originalSetTransform=t.setTransform,t.__originalResetTransform=t.resetTransform,t.__originalClip=t.clip,t.__originalMoveTo=t.moveTo,t.__originalLineTo=t.lineTo,t.__originalBezierCurveTo=t.bezierCurveTo,t.__originalRect=t.rect,t.__originalClosePath=t.closePath,t.__originalBeginPath=t.beginPath,t._removeMirroring=()=>{t.save=t.__originalSave,t.restore=t.__originalRestore,t.rotate=t.__originalRotate,t.scale=t.__originalScale,t.translate=t.__originalTranslate,t.transform=t.__originalTransform,t.setTransform=t.__originalSetTransform,t.resetTransform=t.__originalResetTransform,t.clip=t.__originalClip,t.moveTo=t.__originalMoveTo,t.lineTo=t.__originalLineTo,t.bezierCurveTo=t.__originalBezierCurveTo,t.rect=t.__originalRect,t.closePath=t.__originalClosePath,t.beginPath=t.__originalBeginPath,delete t._removeMirroring},t.save=function(){e.save(),this.__originalSave()},t.restore=function(){e.restore(),this.__originalRestore()},t.translate=function(i,r){e.translate(i,r),this.__originalTranslate(i,r)},t.scale=function(i,r){e.scale(i,r),this.__originalScale(i,r)},t.transform=function(i,r,o,n,s,a){e.transform(i,r,o,n,s,a),this.__originalTransform(i,r,o,n,s,a)},t.setTransform=function(i,r,o,n,s,a){e.setTransform(i,r,o,n,s,a),this.__originalSetTransform(i,r,o,n,s,a)},t.resetTransform=function(){e.resetTransform(),this.__originalResetTransform()},t.rotate=function(i){e.rotate(i),this.__originalRotate(i)},t.clip=function(i){e.clip(i),this.__originalClip(i)},t.moveTo=function(i,r){e.moveTo(i,r),this.__originalMoveTo(i,r)},t.lineTo=function(i,r){e.lineTo(i,r),this.__originalLineTo(i,r)},t.bezierCurveTo=function(i,r,o,n,s,a){e.bezierCurveTo(i,r,o,n,s,a),this.__originalBezierCurveTo(i,r,o,n,s,a)},t.rect=function(i,r,o,n){e.rect(i,r,o,n),this.__originalRect(i,r,o,n)},t.closePath=function(){e.closePath(),this.__originalClosePath()},t.beginPath=function(){e.beginPath(),this.__originalBeginPath()}}class _Fi{constructor(e){this.canvasFactory=e,this.cache=Object.create(null)}getCanvas(e,i,r){let o;return this.cache[e]!==void 0?(o=this.cache[e],this.canvasFactory.reset(o,i,r)):(o=this.canvasFactory.create(i,r),this.cache[e]=o),o}delete(e){delete this.cache[e]}clear(){for(const e in this.cache){const i=this.cache[e];this.canvasFactory.destroy(i),delete this.cache[e]}}}function sL(t,e,i,r,o,n,s,a,l,c){const[d,u,A,h,g,p]=tn(t);if(u===0&&A===0){const C=s*d+g,y=Math.round(C),v=a*h+p,w=Math.round(v),b=(s+l)*d+g,E=Math.abs(Math.round(b)-y)||1,k=(a+c)*h+p,x=Math.abs(Math.round(k)-w)||1;return t.setTransform(Math.sign(d),0,0,Math.sign(h),y,w),t.drawImage(e,i,r,o,n,0,0,E,x),t.setTransform(d,u,A,h,g,p),[E,x]}if(d===0&&h===0){const C=a*A+g,y=Math.round(C),v=s*u+p,w=Math.round(v),b=(a+c)*A+g,E=Math.abs(Math.round(b)-y)||1,k=(s+l)*u+p,x=Math.abs(Math.round(k)-w)||1;return t.setTransform(0,Math.sign(u),Math.sign(A),0,y,w),t.drawImage(e,i,r,o,n,0,0,x,E),t.setTransform(d,u,A,h,g,p),[x,E]}t.drawImage(e,i,r,o,n,s,a,l,c);const m=Math.hypot(d,u),f=Math.hypot(A,h);return[m*l,f*c]}function UFi(t){const{width:e,height:i}=t;if(e>Gxe||i>Gxe)return null;const r=1e3,o=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),n=e+1;let s=new Uint8Array(n*(i+1)),a,l,c;const d=e+7&-8;let u=new Uint8Array(d*i),A=0;for(const m of t.data){let f=128;for(;f>0;)u[A++]=m&f?0:255,f>>=1}let h=0;for(A=0,u[A]!==0&&(s[0]=1,++h),l=1;l<e;l++)u[A]!==u[A+1]&&(s[l]=u[A]?2:1,++h),A++;for(u[A]!==0&&(s[l]=2,++h),a=1;a<i;a++){A=a*d,c=a*n,u[A-d]!==u[A]&&(s[c]=u[A]?1:8,++h);let m=(u[A]?4:0)+(u[A-d]?8:0);for(l=1;l<e;l++)m=(m>>2)+(u[A+1]?4:0)+(u[A-d+1]?8:0),o[m]&&(s[c+l]=o[m],++h),A++;if(u[A-d]!==u[A]&&(s[c+l]=u[A]?2:4,++h),h>r)return null}for(A=d*(i-1),c=a*n,u[A]!==0&&(s[c]=8,++h),l=1;l<e;l++)u[A]!==u[A+1]&&(s[c+l]=u[A]?4:8,++h),A++;if(u[A]!==0&&(s[c+l]=4,++h),h>r)return null;const g=new Int32Array([0,n,-1,0,-n,0,0,0,1]),p=new Path2D;for(a=0;h&&a<=i;a++){let m=a*n;const f=m+e;for(;m<f&&!s[m];)m++;if(m===f)continue;p.moveTo(m%n,a);const C=m;let y=s[m];do{const v=g[y];do m+=v;while(!s[m]);const w=s[m];w!==5&&w!==10?(y=w,s[m]=0):(y=w&51*y>>4,s[m]&=y>>2|y<<2),p.lineTo(m%n,m/n|0),s[m]||--h}while(C!==m);--a}return u=null,s=null,function(m){m.save(),m.scale(1/e,-1/i),m.translate(0,-i),m.fill(p),m.beginPath(),m.restore()}}class jxe{constructor(e,i){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=FEe,this.textMatrixScale=1,this.fontMatrix=SZ,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=Na.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.patternStroke=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,e,i])}clone(){const e=Object.create(this);return e.clipBox=this.clipBox.slice(),e}setCurrentPoint(e,i){this.x=e,this.y=i}updatePathMinMax(e,i,r){[i,r]=bi.applyTransform([i,r],e),this.minX=Math.min(this.minX,i),this.minY=Math.min(this.minY,r),this.maxX=Math.max(this.maxX,i),this.maxY=Math.max(this.maxY,r)}updateRectMinMax(e,i){const r=bi.applyTransform(i,e),o=bi.applyTransform(i.slice(2),e),n=bi.applyTransform([i[0],i[3]],e),s=bi.applyTransform([i[2],i[1]],e);this.minX=Math.min(this.minX,r[0],o[0],n[0],s[0]),this.minY=Math.min(this.minY,r[1],o[1],n[1],s[1]),this.maxX=Math.max(this.maxX,r[0],o[0],n[0],s[0]),this.maxY=Math.max(this.maxY,r[1],o[1],n[1],s[1])}updateScalingPathMinMax(e,i){bi.scaleMinMax(e,i),this.minX=Math.min(this.minX,i[0]),this.minY=Math.min(this.minY,i[1]),this.maxX=Math.max(this.maxX,i[2]),this.maxY=Math.max(this.maxY,i[3])}updateCurvePathMinMax(e,i,r,o,n,s,a,l,c,d){const u=bi.bezierBoundingBox(i,r,o,n,s,a,l,c,d);d||this.updateRectMinMax(e,u)}getPathBoundingBox(e=ja.FILL,i=null){const r=[this.minX,this.minY,this.maxX,this.maxY];if(e===ja.STROKE){i||So("Stroke bounding box must include transform.");const o=bi.singularValueDecompose2dScale(i),n=o[0]*this.lineWidth/2,s=o[1]*this.lineWidth/2;r[0]-=n,r[1]-=s,r[2]+=n,r[3]+=s}return r}updateClipFromPath(){const e=bi.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(e){this.clipBox=e,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(e=ja.FILL,i=null){return bi.intersect(this.clipBox,this.getPathBoundingBox(e,i))}}function zxe(t,e){if(e instanceof ImageData){t.putImageData(e,0,0);return}const i=e.height,r=e.width,o=i%dc,n=(i-o)/dc,s=o===0?n:n+1,a=t.createImageData(r,dc);let l=0,c;const d=e.data,u=a.data;let A,h,g,p;if(e.kind===pR.GRAYSCALE_1BPP){const m=d.byteLength,f=new Uint32Array(u.buffer,0,u.byteLength>>2),C=f.length,y=r+7>>3,v=4294967295,w=xl.isLittleEndian?4278190080:255;for(A=0;A<s;A++){for(g=A<n?dc:o,c=0,h=0;h<g;h++){const b=m-l;let E=0;const k=b>y?r:b*8-7,x=k&-8;let M=0,D=0;for(;E<x;E+=8)D=d[l++],f[c++]=D&128?v:w,f[c++]=D&64?v:w,f[c++]=D&32?v:w,f[c++]=D&16?v:w,f[c++]=D&8?v:w,f[c++]=D&4?v:w,f[c++]=D&2?v:w,f[c++]=D&1?v:w;for(;E<k;E++)M===0&&(D=d[l++],M=128),f[c++]=D&M?v:w,M>>=1}for(;c<C;)f[c++]=0;t.putImageData(a,0,A*dc)}}else if(e.kind===pR.RGBA_32BPP){for(h=0,p=r*dc*4,A=0;A<n;A++)u.set(d.subarray(l,l+p)),l+=p,t.putImageData(a,0,h),h+=dc;A<s&&(p=r*o*4,u.set(d.subarray(l,l+p)),t.putImageData(a,0,h))}else if(e.kind===pR.RGB_24BPP)for(g=dc,p=r*g,A=0;A<s;A++){for(A>=n&&(g=o,p=r*g),c=0,h=p;h--;)u[c++]=d[l++],u[c++]=d[l++],u[c++]=d[l++],u[c++]=255;t.putImageData(a,0,A*dc)}else throw new Error(`bad image kind: ${e.kind}`)}function qxe(t,e){if(e.bitmap){t.drawImage(e.bitmap,0,0);return}const i=e.height,r=e.width,o=i%dc,n=(i-o)/dc,s=o===0?n:n+1,a=t.createImageData(r,dc);let l=0;const c=e.data,d=a.data;for(let u=0;u<s;u++){const A=u<n?dc:o;({srcPos:l}=LFi({src:c,srcPos:l,dest:d,width:r,height:A,nonBlackColor:0})),t.putImageData(a,0,u*dc)}}function TI(t,e){const i=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(const r of i)t[r]!==void 0&&(e[r]=t[r]);t.setLineDash!==void 0&&(e.setLineDash(t.getLineDash()),e.lineDashOffset=t.lineDashOffset)}function aL(t){if(t.strokeStyle=t.fillStyle="#000000",t.fillRule="nonzero",t.globalAlpha=1,t.lineWidth=1,t.lineCap="butt",t.lineJoin="miter",t.miterLimit=10,t.globalCompositeOperation="source-over",t.font="10px sans-serif",t.setLineDash!==void 0&&(t.setLineDash([]),t.lineDashOffset=0),!Ua){const{filter:e}=t;e!=="none"&&e!==""&&(t.filter="none")}}function Kxe(t,e){if(e)return!0;const i=bi.singularValueDecompose2dScale(t);i[0]=Math.fround(i[0]),i[1]=Math.fround(i[1]);const r=Math.fround((globalThis.devicePixelRatio||1)*T9.PDF_TO_CSS_UNITS);return i[0]<=r&&i[1]<=r}const NFi=["butt","round","square"],OFi=["miter","round","bevel"],HFi={},Jxe={};var fg,CX,yX,wX;const VFi=class ZPe{constructor(e,i,r,o,n,{optionalContentConfig:s,markedContentStack:a=null},l,c){ce(this,fg),this.ctx=e,this.current=new jxe(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=i,this.objs=r,this.canvasFactory=o,this.filterFactory=n,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=a||[],this.optionalContentConfig=s,this.cachedCanvases=new _Fi(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=l,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=c,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map}getObject(e,i=null){return typeof e=="string"?e.startsWith("g_")?this.commonObjs.get(e):this.objs.get(e):i}beginDrawing({transform:e,viewport:i,transparency:r=!1,background:o=null}){const n=this.ctx.canvas.width,s=this.ctx.canvas.height,a=this.ctx.fillStyle;if(this.ctx.fillStyle=o||"#ffffff",this.ctx.fillRect(0,0,n,s),this.ctx.fillStyle=a,r){const l=this.cachedCanvases.getCanvas("transparent",n,s);this.compositeCtx=this.ctx,this.transparentCanvas=l.canvas,this.ctx=l.context,this.ctx.save(),this.ctx.transform(...tn(this.compositeCtx))}this.ctx.save(),aL(this.ctx),e&&(this.ctx.transform(...e),this.outputScaleX=e[0],this.outputScaleY=e[0]),this.ctx.transform(...i.transform),this.viewportScale=i.scale,this.baseTransform=tn(this.ctx)}executeOperatorList(e,i,r,o){const n=e.argsArray,s=e.fnArray;let a=i||0;const l=n.length;if(l===a)return a;const c=l-a>Vxe&&typeof r=="function",d=c?Date.now()+TFi:0;let u=0;const A=this.commonObjs,h=this.objs;let g;for(;;){if(o!==void 0&&a===o.nextBreakPoint)return o.breakIt(a,r),a;if(g=s[a],g!==ju.dependency)this[g].apply(this,n[a]);else for(const p of n[a]){const m=p.startsWith("g_")?A:h;if(!m.has(p))return m.get(p,r),a}if(a++,a===l)return a;if(c&&++u>Vxe){if(Date.now()>d)return r(),a;u=0}}}endDrawing(){oe(this,fg,CX).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const i of e.values())typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement&&(i.width=i.height=0);e.clear()}this._cachedBitmapsMap.clear(),oe(this,fg,yX).call(this)}_scaleImage(e,i){const r=e.width??e.displayWidth,o=e.height??e.displayHeight;let n=Math.max(Math.hypot(i[0],i[1]),1),s=Math.max(Math.hypot(i[2],i[3]),1),a=r,l=o,c="prescale1",d,u;for(;n>2&&a>1||s>2&&l>1;){let A=a,h=l;n>2&&a>1&&(A=a>=16384?Math.floor(a/2)-1||1:Math.ceil(a/2),n/=a/A),s>2&&l>1&&(h=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l)/2,s/=l/h),d=this.cachedCanvases.getCanvas(c,A,h),u=d.context,u.clearRect(0,0,A,h),u.drawImage(e,0,0,a,l,0,0,A,h),e=d.canvas,a=A,l=h,c=c==="prescale1"?"prescale2":"prescale1"}return{img:e,paintWidth:a,paintHeight:l}}_createMaskCanvas(e){const i=this.ctx,{width:r,height:o}=e,n=this.current.fillColor,s=this.current.patternFill,a=tn(i);let l,c,d,u;if((e.bitmap||e.data)&&e.count>1){const k=e.bitmap||e.data.buffer;c=JSON.stringify(s?a:[a.slice(0,4),n]),l=this._cachedBitmapsMap.get(k),l||(l=new Map,this._cachedBitmapsMap.set(k,l));const x=l.get(c);if(x&&!s){const M=Math.round(Math.min(a[0],a[2])+a[4]),D=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:x,offsetX:M,offsetY:D}}d=x}d||(u=this.cachedCanvases.getCanvas("maskCanvas",r,o),qxe(u.context,e));let A=bi.transform(a,[1/r,0,0,-1/o,0,0]);A=bi.transform(A,[1,0,0,1,0,-o]);const[h,g,p,m]=bi.getAxialAlignedBoundingBox([0,0,r,o],A),f=Math.round(p-h)||1,C=Math.round(m-g)||1,y=this.cachedCanvases.getCanvas("fillCanvas",f,C),v=y.context,w=h,b=g;v.translate(-w,-b),v.transform(...A),d||(d=this._scaleImage(u.canvas,ih(v)),d=d.img,l&&s&&l.set(c,d)),v.imageSmoothingEnabled=Kxe(tn(v),e.interpolate),sL(v,d,0,0,d.width,d.height,0,0,r,o),v.globalCompositeOperation="source-in";const E=bi.transform(ih(v),[1,0,0,1,-w,-b]);return v.fillStyle=s?n.getPattern(i,this,E,ja.FILL):n,v.fillRect(0,0,r,o),l&&!s&&(this.cachedCanvases.delete("fillCanvas"),l.set(c,y.canvas)),{canvas:y.canvas,offsetX:Math.round(w),offsetY:Math.round(b)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=NFi[e]}setLineJoin(e){this.ctx.lineJoin=OFi[e]}setMiterLimit(e){this.ctx.miterLimit=e}setDash(e,i){const r=this.ctx;r.setLineDash!==void 0&&(r.setLineDash(e),r.lineDashOffset=i)}setRenderingIntent(e){}setFlatness(e){}setGState(e){for(const[i,r]of e)switch(i){case"LW":this.setLineWidth(r);break;case"LC":this.setLineCap(r);break;case"LJ":this.setLineJoin(r);break;case"ML":this.setMiterLimit(r);break;case"D":this.setDash(r[0],r[1]);break;case"RI":this.setRenderingIntent(r);break;case"FL":this.setFlatness(r);break;case"Font":this.setFont(r[0],r[1]);break;case"CA":this.current.strokeAlpha=r;break;case"ca":this.current.fillAlpha=r,this.ctx.globalAlpha=r;break;case"BM":this.ctx.globalCompositeOperation=r;break;case"SMask":this.current.activeSMask=r?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(r);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode():!this.current.activeSMask&&e&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const e=this.ctx.canvas.width,i=this.ctx.canvas.height,r="smaskGroupAt"+this.groupLevel,o=this.cachedCanvases.getCanvas(r,e,i);this.suspendedCtx=this.ctx,this.ctx=o.context;const n=this.ctx;n.setTransform(...tn(this.suspendedCtx)),TI(this.suspendedCtx,n),FFi(n,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),TI(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(e){if(!this.current.activeSMask)return;e?(e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.ceil(e[2]),e[3]=Math.ceil(e[3])):e=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const i=this.current.activeSMask,r=this.suspendedCtx;this.composeSMask(r,i,this.ctx,e),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,i,r,o){const n=o[0],s=o[1],a=o[2]-n,l=o[3]-s;a===0||l===0||(this.genericComposeSMask(i.context,r,a,l,i.subtype,i.backdrop,i.transferMap,n,s,i.offsetX,i.offsetY),e.save(),e.globalAlpha=1,e.globalCompositeOperation="source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(r.canvas,0,0),e.restore())}genericComposeSMask(e,i,r,o,n,s,a,l,c,d,u){let A=e.canvas,h=l-d,g=c-u;if(s){const m=bi.makeHexColor(...s);if(h<0||g<0||h+r>A.width||g+o>A.height){const f=this.cachedCanvases.getCanvas("maskExtension",r,o),C=f.context;C.drawImage(A,-h,-g),C.globalCompositeOperation="destination-atop",C.fillStyle=m,C.fillRect(0,0,r,o),C.globalCompositeOperation="source-over",A=f.canvas,h=g=0}else{e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0);const f=new Path2D;f.rect(h,g,r,o),e.clip(f),e.globalCompositeOperation="destination-atop",e.fillStyle=m,e.fillRect(h,g,r,o),e.restore()}}i.save(),i.globalAlpha=1,i.setTransform(1,0,0,1,0,0),n==="Alpha"&&a?i.filter=this.filterFactory.addAlphaFilter(a):n==="Luminosity"&&(i.filter=this.filterFactory.addLuminosityFilter(a));const p=new Path2D;p.rect(l,c,r,o),i.clip(p),i.globalCompositeOperation="destination-in",i.drawImage(A,h,g,r,o,l,c,r,o),i.restore()}save(){this.inSMaskMode?(TI(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),TI(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(e,i,r,o,n,s){this.ctx.transform(e,i,r,o,n,s),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,i,r){const o=this.ctx,n=this.current;let s=n.x,a=n.y,l,c;const d=tn(o),u=d[0]===0&&d[3]===0||d[1]===0&&d[2]===0,A=u?r.slice(0):null;for(let h=0,g=0,p=e.length;h<p;h++)switch(e[h]|0){case ju.rectangle:s=i[g++],a=i[g++];const m=i[g++],f=i[g++],C=s+m,y=a+f;o.moveTo(s,a),m===0||f===0?o.lineTo(C,y):(o.lineTo(C,a),o.lineTo(C,y),o.lineTo(s,y)),u||n.updateRectMinMax(d,[s,a,C,y]),o.closePath();break;case ju.moveTo:s=i[g++],a=i[g++],o.moveTo(s,a),u||n.updatePathMinMax(d,s,a);break;case ju.lineTo:s=i[g++],a=i[g++],o.lineTo(s,a),u||n.updatePathMinMax(d,s,a);break;case ju.curveTo:l=s,c=a,s=i[g+4],a=i[g+5],o.bezierCurveTo(i[g],i[g+1],i[g+2],i[g+3],s,a),n.updateCurvePathMinMax(d,l,c,i[g],i[g+1],i[g+2],i[g+3],s,a,A),g+=6;break;case ju.curveTo2:l=s,c=a,o.bezierCurveTo(s,a,i[g],i[g+1],i[g+2],i[g+3]),n.updateCurvePathMinMax(d,l,c,s,a,i[g],i[g+1],i[g+2],i[g+3],A),s=i[g+2],a=i[g+3],g+=4;break;case ju.curveTo3:l=s,c=a,s=i[g+2],a=i[g+3],o.bezierCurveTo(i[g],i[g+1],s,a,s,a),n.updateCurvePathMinMax(d,l,c,i[g],i[g+1],s,a,s,a,A),g+=4;break;case ju.closePath:o.closePath();break}u&&n.updateScalingPathMinMax(d,A),n.setCurrentPoint(s,a)}closePath(){this.ctx.closePath()}stroke(e=!0){const i=this.ctx,r=this.current.strokeColor;i.globalAlpha=this.current.strokeAlpha,this.contentVisible&&(typeof r=="object"&&r!=null&&r.getPattern?(i.save(),i.strokeStyle=r.getPattern(i,this,ih(i),ja.STROKE),this.rescaleAndStroke(!1),i.restore()):this.rescaleAndStroke(!0)),e&&this.consumePath(this.current.getClippedPathBoundingBox()),i.globalAlpha=this.current.fillAlpha}closeStroke(){this.closePath(),this.stroke()}fill(e=!0){const i=this.ctx,r=this.current.fillColor,o=this.current.patternFill;let n=!1;o&&(i.save(),i.fillStyle=r.getPattern(i,this,ih(i),ja.FILL),n=!0);const s=this.current.getClippedPathBoundingBox();this.contentVisible&&s!==null&&(this.pendingEOFill?(i.fill("evenodd"),this.pendingEOFill=!1):i.fill()),n&&i.restore(),e&&this.consumePath(s)}eoFill(){this.pendingEOFill=!0,this.fill()}fillStroke(){this.fill(!1),this.stroke(!1),this.consumePath()}eoFillStroke(){this.pendingEOFill=!0,this.fillStroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.pendingEOFill=!0,this.closePath(),this.fillStroke()}endPath(){this.consumePath()}clip(){this.pendingClip=HFi}eoClip(){this.pendingClip=Jxe}beginText(){this.current.textMatrix=FEe,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}endText(){const e=this.pendingTextPaths,i=this.ctx;if(e===void 0){i.beginPath();return}const r=new Path2D,o=i.getTransform().invertSelf();for(const{transform:n,x:s,y:a,fontSize:l,path:c}of e)r.addPath(c,new DOMMatrix(n).preMultiplySelf(o).translate(s,a).scale(l,-l));i.clip(r),i.beginPath(),delete this.pendingTextPaths}setCharSpacing(e){this.current.charSpacing=e}setWordSpacing(e){this.current.wordSpacing=e}setHScale(e){this.current.textHScale=e/100}setLeading(e){this.current.leading=-e}setFont(e,i){var r;const o=this.commonObjs.get(e),n=this.current;if(!o)throw new Error(`Can't find font for ${e}`);if(n.fontMatrix=o.fontMatrix||SZ,(n.fontMatrix[0]===0||n.fontMatrix[3]===0)&&nr("Invalid font matrix for font "+e),i<0?(i=-i,n.fontDirection=-1):n.fontDirection=1,this.current.font=o,this.current.fontSize=i,o.isType3Font)return;const s=o.loadedName||"sans-serif",a=((r=o.systemFontInfo)==null?void 0:r.css)||`"${s}", ${o.fallbackName}`;let l="normal";o.black?l="900":o.bold&&(l="bold");const c=o.italic?"italic":"normal";let d=i;i<Oxe?d=Oxe:i>Hxe&&(d=Hxe),this.current.fontSizeScale=i/d,this.ctx.font=`${c} ${l} ${d}px ${a}`}setTextRenderingMode(e){this.current.textRenderingMode=e}setTextRise(e){this.current.textRise=e}moveText(e,i){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=i}setLeadingMoveText(e,i){this.setLeading(-i),this.moveText(e,i)}setTextMatrix(e,i,r,o,n,s){this.current.textMatrix=[e,i,r,o,n,s],this.current.textMatrixScale=Math.hypot(e,i),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(e,i,r,o,n){const s=this.ctx,a=this.current,l=a.font,c=a.textRenderingMode,d=a.fontSize/a.fontSizeScale,u=c&Na.FILL_STROKE_MASK,A=!!(c&Na.ADD_TO_PATH_FLAG),h=a.patternFill&&!l.missingFile,g=a.patternStroke&&!l.missingFile;let p;if((l.disableFontFace||A||h||g)&&(p=l.getPathGenerator(this.commonObjs,e)),l.disableFontFace||h||g){if(s.save(),s.translate(i,r),s.scale(d,-d),u===Na.FILL||u===Na.FILL_STROKE)if(o){const m=s.getTransform();s.setTransform(...o),s.fill(oe(this,fg,wX).call(this,p,m,o))}else s.fill(p);if(u===Na.STROKE||u===Na.FILL_STROKE)if(n){const m=s.getTransform();s.setTransform(...n),s.stroke(oe(this,fg,wX).call(this,p,m,n))}else s.lineWidth/=d,s.stroke(p);s.restore()}else(u===Na.FILL||u===Na.FILL_STROKE)&&s.fillText(e,i,r),(u===Na.STROKE||u===Na.FILL_STROKE)&&s.strokeText(e,i,r);A&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:tn(s),x:i,y:r,fontSize:d,path:p})}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);e.scale(1.5,1),e.fillText("I",0,10);const i=e.getImageData(0,0,10,10).data;let r=!1;for(let o=3;o<i.length;o+=4)if(i[o]>0&&i[o]<255){r=!0;break}return gr(this,"isFontSubpixelAAEnabled",r)}showText(e){const i=this.current,r=i.font;if(r.isType3Font)return this.showType3Text(e);const o=i.fontSize;if(o===0)return;const n=this.ctx,s=i.fontSizeScale,a=i.charSpacing,l=i.wordSpacing,c=i.fontDirection,d=i.textHScale*c,u=e.length,A=r.vertical,h=A?1:-1,g=r.defaultVMetrics,p=o*i.fontMatrix[0],m=i.textRenderingMode===Na.FILL&&!r.disableFontFace&&!i.patternFill;n.save(),n.transform(...i.textMatrix),n.translate(i.x,i.y+i.textRise),c>0?n.scale(d,-1):n.scale(d,1);let f,C;if(i.patternFill){n.save();const E=i.fillColor.getPattern(n,this,ih(n),ja.FILL);f=tn(n),n.restore(),n.fillStyle=E}if(i.patternStroke){n.save();const E=i.strokeColor.getPattern(n,this,ih(n),ja.STROKE);C=tn(n),n.restore(),n.strokeStyle=E}let y=i.lineWidth;const v=i.textMatrixScale;if(v===0||y===0){const E=i.textRenderingMode&Na.FILL_STROKE_MASK;(E===Na.STROKE||E===Na.FILL_STROKE)&&(y=this.getSinglePixelWidth())}else y/=v;if(s!==1&&(n.scale(s,s),y/=s),n.lineWidth=y,r.isInvalidPDFjsFont){const E=[];let k=0;for(const x of e)E.push(x.unicode),k+=x.width;n.fillText(E.join(""),0,0),i.x+=k*p*d,n.restore(),this.compose();return}let w=0,b;for(b=0;b<u;++b){const E=e[b];if(typeof E=="number"){w+=h*E*o/1e3;continue}let k=!1;const x=(E.isSpace?l:0)+a,M=E.fontChar,D=E.accent;let P,T,U=E.width;if(A){const _=E.vmetric||g,V=-(E.vmetric?_[1]:U*.5)*p,Y=_[2]*p;U=_?-_[0]:U,P=V/s,T=(w+Y)/s}else P=w/s,T=0;if(r.remeasure&&U>0){const _=n.measureText(M).width*1e3/o*s;if(U<_&&this.isFontSubpixelAAEnabled){const V=U/_;k=!0,n.save(),n.scale(V,1),P/=V}else U!==_&&(P+=(U-_)/2e3*o/s)}if(this.contentVisible&&(E.isInFont||r.missingFile)){if(m&&!D)n.fillText(M,P,T);else if(this.paintChar(M,P,T,f,C),D){const _=P+o*D.offset.x/s,V=T-o*D.offset.y/s;this.paintChar(D.fontChar,_,V,f,C)}}const H=A?U*p-x*c:U*p+x*c;w+=H,k&&n.restore()}A?i.y-=w:i.x+=w*d,n.restore(),this.compose()}showType3Text(e){const i=this.ctx,r=this.current,o=r.font,n=r.fontSize,s=r.fontDirection,a=o.vertical?1:-1,l=r.charSpacing,c=r.wordSpacing,d=r.textHScale*s,u=r.fontMatrix||SZ,A=e.length,h=r.textRenderingMode===Na.INVISIBLE;let g,p,m,f;if(!(h||n===0)){for(this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,i.save(),i.transform(...r.textMatrix),i.translate(r.x,r.y),i.scale(d,s),g=0;g<A;++g){if(p=e[g],typeof p=="number"){f=a*p*n/1e3,this.ctx.translate(f,0),r.x+=f*d;continue}const C=(p.isSpace?c:0)+l,y=o.charProcOperatorList[p.operatorListId];if(!y){nr(`Type3 character "${p.operatorListId}" is not available.`);continue}this.contentVisible&&(this.processingType3=p,this.save(),i.scale(n,n),i.transform(...u),this.executeOperatorList(y),this.restore()),m=bi.applyTransform([p.width,0],u)[0]*n+C,i.translate(m,0),r.x+=m*d}i.restore(),this.processingType3=null}}setCharWidth(e,i){}setCharWidthAndBounds(e,i,r,o,n,s){this.ctx.rect(r,o,n-r,s-o),this.ctx.clip(),this.endPath()}getColorN_Pattern(e){let i;if(e[0]==="TilingPattern"){const r=e[1],o=this.baseTransform||tn(this.ctx),n={createCanvasGraphics:s=>new ZPe(s,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};i=new RFi(e,r,this.ctx,n,o)}else i=this._getPattern(e[1],e[2]);return i}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments),this.current.patternStroke=!0}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(e,i,r){this.ctx.strokeStyle=this.current.strokeColor=bi.makeHexColor(e,i,r),this.current.patternStroke=!1}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(e,i,r){this.ctx.fillStyle=this.current.fillColor=bi.makeHexColor(e,i,r),this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1}_getPattern(e,i=null){let r;return this.cachedPatterns.has(e)?r=this.cachedPatterns.get(e):(r=PFi(this.getObject(e)),this.cachedPatterns.set(e,r)),i&&(r.matrix=i),r}shadingFill(e){if(!this.contentVisible)return;const i=this.ctx;this.save();const r=this._getPattern(e);i.fillStyle=r.getPattern(i,this,ih(i),ja.SHADING);const o=ih(i);if(o){const{width:n,height:s}=i.canvas,[a,l,c,d]=bi.getAxialAlignedBoundingBox([0,0,n,s],o);this.ctx.fillRect(a,l,c-a,d-l)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){So("Should not call beginInlineImage")}beginImageData(){So("Should not call beginImageData")}paintFormXObjectBegin(e,i){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=tn(this.ctx),i)){const r=i[2]-i[0],o=i[3]-i[1];this.ctx.rect(i[0],i[1],r,o),this.current.updateRectMinMax(tn(this.ctx),i),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const i=this.ctx;e.isolated||mR("TODO: Support non-isolated groups."),e.knockout&&nr("Knockout groups not supported.");const r=tn(i);if(e.matrix&&i.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let o=bi.getAxialAlignedBoundingBox(e.bbox,tn(i));const n=[0,0,i.canvas.width,i.canvas.height];o=bi.intersect(o,n)||[0,0,0,0];const s=Math.floor(o[0]),a=Math.floor(o[1]),l=Math.max(Math.ceil(o[2])-s,1),c=Math.max(Math.ceil(o[3])-a,1);this.current.startNewPathAndClipBox([0,0,l,c]);let d="groupAt"+this.groupLevel;e.smask&&(d+="_smask_"+this.smaskCounter++%2);const u=this.cachedCanvases.getCanvas(d,l,c),A=u.context;A.translate(-s,-a),A.transform(...r),e.smask?this.smaskStack.push({canvas:u.canvas,context:A,offsetX:s,offsetY:a,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(i.setTransform(1,0,0,1,0,0),i.translate(s,a),i.save()),TI(i,A),this.ctx=A,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(i),this.groupLevel++}endGroup(e){if(!this.contentVisible)return;this.groupLevel--;const i=this.ctx,r=this.groupStack.pop();if(this.ctx=r,this.ctx.imageSmoothingEnabled=!1,e.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const o=tn(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...o);const n=bi.getAxialAlignedBoundingBox([0,0,i.canvas.width,i.canvas.height],o);this.ctx.drawImage(i.canvas,0,0),this.ctx.restore(),this.compose(n)}}beginAnnotation(e,i,r,o,n){if(oe(this,fg,CX).call(this),aL(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),i){const s=i[2]-i[0],a=i[3]-i[1];if(n&&this.annotationCanvasMap){r=r.slice(),r[4]-=i[0],r[5]-=i[1],i=i.slice(),i[0]=i[1]=0,i[2]=s,i[3]=a;const[l,c]=bi.singularValueDecompose2dScale(tn(this.ctx)),{viewportScale:d}=this,u=Math.ceil(s*this.outputScaleX*d),A=Math.ceil(a*this.outputScaleY*d);this.annotationCanvas=this.canvasFactory.create(u,A);const{canvas:h,context:g}=this.annotationCanvas;this.annotationCanvasMap.set(e,h),this.annotationCanvas.savedCtx=this.ctx,this.ctx=g,this.ctx.save(),this.ctx.setTransform(l,0,0,-c,0,a*c),aL(this.ctx)}else aL(this.ctx),this.endPath(),this.ctx.rect(i[0],i[1],s,a),this.ctx.clip(),this.ctx.beginPath()}this.current=new jxe(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...r),this.transform(...o)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),oe(this,fg,yX).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(e){if(!this.contentVisible)return;const i=e.count;e=this.getObject(e.data,e),e.count=i;const r=this.ctx,o=this.processingType3;if(o&&(o.compiled===void 0&&(o.compiled=UFi(e)),o.compiled)){o.compiled(r);return}const n=this._createMaskCanvas(e),s=n.canvas;r.save(),r.setTransform(1,0,0,1,0,0),r.drawImage(s,n.offsetX,n.offsetY),r.restore(),this.compose()}paintImageMaskXObjectRepeat(e,i,r=0,o=0,n,s){if(!this.contentVisible)return;e=this.getObject(e.data,e);const a=this.ctx;a.save();const l=tn(a);a.transform(i,r,o,n,0,0);const c=this._createMaskCanvas(e);a.setTransform(1,0,0,1,c.offsetX-l[4],c.offsetY-l[5]);for(let d=0,u=s.length;d<u;d+=2){const A=bi.transform(l,[i,r,o,n,s[d],s[d+1]]),[h,g]=bi.applyTransform([0,0],A);a.drawImage(c.canvas,h,g)}a.restore(),this.compose()}paintImageMaskXObjectGroup(e){if(!this.contentVisible)return;const i=this.ctx,r=this.current.fillColor,o=this.current.patternFill;for(const n of e){const{data:s,width:a,height:l,transform:c}=n,d=this.cachedCanvases.getCanvas("maskCanvas",a,l),u=d.context;u.save();const A=this.getObject(s,n);qxe(u,A),u.globalCompositeOperation="source-in",u.fillStyle=o?r.getPattern(u,this,ih(i),ja.FILL):r,u.fillRect(0,0,a,l),u.restore(),i.save(),i.transform(...c),i.scale(1,-1),sL(i,d.canvas,0,0,a,l,0,-1,1,1),i.restore()}this.compose()}paintImageXObject(e){if(!this.contentVisible)return;const i=this.getObject(e);if(!i){nr("Dependent image isn't ready yet");return}this.paintInlineImageXObject(i)}paintImageXObjectRepeat(e,i,r,o){if(!this.contentVisible)return;const n=this.getObject(e);if(!n){nr("Dependent image isn't ready yet");return}const s=n.width,a=n.height,l=[];for(let c=0,d=o.length;c<d;c+=2)l.push({transform:[i,0,0,r,o[c],o[c+1]],x:0,y:0,w:s,h:a});this.paintInlineImageXObjectGroup(n,l)}applyTransferMapsToCanvas(e){return this.current.transferMaps!=="none"&&(e.filter=this.current.transferMaps,e.drawImage(e.canvas,0,0),e.filter="none"),e.canvas}applyTransferMapsToBitmap(e){if(this.current.transferMaps==="none")return e.bitmap;const{bitmap:i,width:r,height:o}=e,n=this.cachedCanvases.getCanvas("inlineImage",r,o),s=n.context;return s.filter=this.current.transferMaps,s.drawImage(i,0,0),s.filter="none",n.canvas}paintInlineImageXObject(e){if(!this.contentVisible)return;const i=e.width,r=e.height,o=this.ctx;if(this.save(),!Ua){const{filter:a}=o;a!=="none"&&a!==""&&(o.filter="none")}o.scale(1/i,-1/r);let n;if(e.bitmap)n=this.applyTransferMapsToBitmap(e);else if(typeof HTMLElement=="function"&&e instanceof HTMLElement||!e.data)n=e;else{const a=this.cachedCanvases.getCanvas("inlineImage",i,r).context;zxe(a,e),n=this.applyTransferMapsToCanvas(a)}const s=this._scaleImage(n,ih(o));o.imageSmoothingEnabled=Kxe(tn(o),e.interpolate),sL(o,s.img,0,0,s.paintWidth,s.paintHeight,0,-r,i,r),this.compose(),this.restore()}paintInlineImageXObjectGroup(e,i){if(!this.contentVisible)return;const r=this.ctx;let o;if(e.bitmap)o=e.bitmap;else{const n=e.width,s=e.height,a=this.cachedCanvases.getCanvas("inlineImage",n,s).context;zxe(a,e),o=this.applyTransferMapsToCanvas(a)}for(const n of i)r.save(),r.transform(...n.transform),r.scale(1,-1),sL(r,o,n.x,n.y,n.w,n.h,0,-1,1,1),r.restore();this.compose()}paintSolidColorImageMask(){this.contentVisible&&(this.ctx.fillRect(0,0,1,1),this.compose())}markPoint(e){}markPointProps(e,i){}beginMarkedContent(e){this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e,i){e==="OC"?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(i)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(){this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(){}endCompat(){}consumePath(e){const i=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(e);const r=this.ctx;this.pendingClip&&(i||(this.pendingClip===Jxe?r.clip("evenodd"):r.clip()),this.pendingClip=null),this.current.startNewPathAndClipBox(this.current.clipBox),r.beginPath()}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){const e=tn(this.ctx);if(e[1]===0&&e[2]===0)this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(e[0]),Math.abs(e[3]));else{const i=Math.abs(e[0]*e[3]-e[2]*e[1]),r=Math.hypot(e[0],e[2]),o=Math.hypot(e[1],e[3]);this._cachedGetSinglePixelWidth=Math.max(r,o)/i}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(this._cachedScaleForStroking[0]===-1){const{lineWidth:e}=this.current,{a:i,b:r,c:o,d:n}=this.ctx.getTransform();let s,a;if(r===0&&o===0){const l=Math.abs(i),c=Math.abs(n);if(l===c)if(e===0)s=a=1/l;else{const d=l*e;s=a=d<1?1/d:1}else if(e===0)s=1/l,a=1/c;else{const d=l*e,u=c*e;s=d<1?1/d:1,a=u<1?1/u:1}}else{const l=Math.abs(i*n-r*o),c=Math.hypot(i,r),d=Math.hypot(o,n);if(e===0)s=d/l,a=c/l;else{const u=e*l;s=d>u?d/u:1,a=c>u?c/u:1}}this._cachedScaleForStroking[0]=s,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(e){const{ctx:i}=this,{lineWidth:r}=this.current,[o,n]=this.getScaleForStroking();if(i.lineWidth=r||1,o===1&&n===1){i.stroke();return}const s=i.getLineDash();if(e&&i.save(),i.scale(o,n),s.length>0){const a=Math.max(o,n);i.setLineDash(s.map(l=>l/a)),i.lineDashOffset/=a}i.stroke(),e&&i.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}};fg=new WeakSet,CX=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},yX=function(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(t!=="none"){const e=this.ctx.filter;this.ctx.filter=t,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=e}}},wX=function(t,e,i){const r=new Path2D;return r.addPath(t,new DOMMatrix(i).invertSelf().multiplySelf(e)),r};let lL=VFi;for(const t in ju)lL.prototype[t]!==void 0&&(lL.prototype[ju[t]]=lL.prototype[t]);var cL,dL;class mg{static get workerPort(){return S(this,cL)}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw new Error("Invalid `workerPort` type.");ie(this,cL,e)}static get workerSrc(){return S(this,dL)}static set workerSrc(e){if(typeof e!="string")throw new Error("Invalid `workerSrc` type.");ie(this,dL,e)}}cL=new WeakMap,dL=new WeakMap,ce(mg,cL,null),ce(mg,dL,"");var l6,uL;class GFi{constructor({parsedData:e,rawData:i}){ce(this,l6),ce(this,uL),ie(this,l6,e),ie(this,uL,i)}getRaw(){return S(this,uL)}get(e){return S(this,l6).get(e)??null}getAll(){return RZ(S(this,l6))}has(e){return S(this,l6).has(e)}}l6=new WeakMap,uL=new WeakMap;const c6=Symbol("INTERNAL");var AL,hL,pL,FI;class jFi{constructor(e,{name:i,intent:r,usage:o,rbGroups:n}){ce(this,AL,!1),ce(this,hL,!1),ce(this,pL,!1),ce(this,FI,!0),ie(this,AL,!!(e&Xc.DISPLAY)),ie(this,hL,!!(e&Xc.PRINT)),this.name=i,this.intent=r,this.usage=o,this.rbGroups=n}get visible(){if(S(this,pL))return S(this,FI);if(!S(this,FI))return!1;const{print:e,view:i}=this.usage;return S(this,AL)?i?.viewState!=="OFF":S(this,hL)?e?.printState!=="OFF":!0}_setVisible(e,i,r=!1){e!==c6&&So("Internal method `_setVisible` called."),ie(this,pL,r),ie(this,FI,i)}}AL=new WeakMap,hL=new WeakMap,pL=new WeakMap,FI=new WeakMap;var im,Eo,_I,UI,gL,bX;class zFi{constructor(e,i=Xc.DISPLAY){if(ce(this,gL),ce(this,im,null),ce(this,Eo,new Map),ce(this,_I,null),ce(this,UI,null),this.renderingIntent=i,this.name=null,this.creator=null,e!==null){this.name=e.name,this.creator=e.creator,ie(this,UI,e.order);for(const r of e.groups)S(this,Eo).set(r.id,new jFi(i,r));if(e.baseState==="OFF")for(const r of S(this,Eo).values())r._setVisible(c6,!1);for(const r of e.on)S(this,Eo).get(r)._setVisible(c6,!0);for(const r of e.off)S(this,Eo).get(r)._setVisible(c6,!1);ie(this,_I,this.getHash())}}isVisible(e){if(S(this,Eo).size===0)return!0;if(!e)return mR("Optional content group not defined."),!0;if(e.type==="OCG")return S(this,Eo).has(e.id)?S(this,Eo).get(e.id).visible:(nr(`Optional content group not found: ${e.id}`),!0);if(e.type==="OCMD"){if(e.expression)return oe(this,gL,bX).call(this,e.expression);if(!e.policy||e.policy==="AnyOn"){for(const i of e.ids){if(!S(this,Eo).has(i))return nr(`Optional content group not found: ${i}`),!0;if(S(this,Eo).get(i).visible)return!0}return!1}else if(e.policy==="AllOn"){for(const i of e.ids){if(!S(this,Eo).has(i))return nr(`Optional content group not found: ${i}`),!0;if(!S(this,Eo).get(i).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(const i of e.ids){if(!S(this,Eo).has(i))return nr(`Optional content group not found: ${i}`),!0;if(!S(this,Eo).get(i).visible)return!0}return!1}else if(e.policy==="AllOff"){for(const i of e.ids){if(!S(this,Eo).has(i))return nr(`Optional content group not found: ${i}`),!0;if(S(this,Eo).get(i).visible)return!1}return!0}return nr(`Unknown optional content policy ${e.policy}.`),!0}return nr(`Unknown group type ${e.type}.`),!0}setVisibility(e,i=!0,r=!0){var o;const n=S(this,Eo).get(e);if(!n){nr(`Optional content group not found: ${e}`);return}if(r&&i&&n.rbGroups.length)for(const s of n.rbGroups)for(const a of s)a!==e&&((o=S(this,Eo).get(a))==null||o._setVisible(c6,!1,!0));n._setVisible(c6,!!i,!0),ie(this,im,null)}setOCGState({state:e,preserveRB:i}){let r;for(const o of e){switch(o){case"ON":case"OFF":case"Toggle":r=o;continue}const n=S(this,Eo).get(o);if(n)switch(r){case"ON":this.setVisibility(o,!0,i);break;case"OFF":this.setVisibility(o,!1,i);break;case"Toggle":this.setVisibility(o,!n.visible,i);break}}ie(this,im,null)}get hasInitialVisibility(){return S(this,_I)===null||this.getHash()===S(this,_I)}getOrder(){return S(this,Eo).size?S(this,UI)?S(this,UI).slice():[...S(this,Eo).keys()]:null}getGroups(){return S(this,Eo).size>0?RZ(S(this,Eo)):null}getGroup(e){return S(this,Eo).get(e)||null}getHash(){if(S(this,im)!==null)return S(this,im);const e=new bxe;for(const[i,r]of S(this,Eo))e.update(`${i}:${r.visible}`);return ie(this,im,e.hexdigest())}}im=new WeakMap,Eo=new WeakMap,_I=new WeakMap,UI=new WeakMap,gL=new WeakSet,bX=function(t){const e=t.length;if(e<2)return!0;const i=t[0];for(let r=1;r<e;r++){const o=t[r];let n;if(Array.isArray(o))n=oe(this,gL,bX).call(this,o);else if(S(this,Eo).has(o))n=S(this,Eo).get(o).visible;else return nr(`Optional content group not found: ${o}`),!0;switch(i){case"And":if(!n)return!1;break;case"Or":if(n)return!0;break;case"Not":return!n;default:return!0}}return i==="And"};class qFi{constructor(e,{disableRange:i=!1,disableStream:r=!1}){$n(e,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');const{length:o,initialData:n,progressiveDone:s,contentDispositionFilename:a}=e;if(this._queuedChunks=[],this._progressiveDone=s,this._contentDispositionFilename=a,n?.length>0){const l=n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer;this._queuedChunks.push(l)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!r,this._isRangeSupported=!i,this._contentLength=o,this._fullRequestReader=null,this._rangeReaders=[],e.addRangeListener((l,c)=>{this._onReceiveData({begin:l,chunk:c})}),e.addProgressListener((l,c)=>{this._onProgress({loaded:l,total:c})}),e.addProgressiveReadListener(l=>{this._onReceiveData({chunk:l})}),e.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),e.transportReady()}_onReceiveData({begin:e,chunk:i}){const r=i instanceof Uint8Array&&i.byteLength===i.buffer.byteLength?i.buffer:new Uint8Array(i).buffer;if(e===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(r):this._queuedChunks.push(r);else{const o=this._rangeReaders.some(function(n){return n._begin!==e?!1:(n._enqueue(r),!0)});$n(o,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}_onProgress(e){var i,r,o,n;e.total===void 0?(r=(i=this._rangeReaders[0])==null?void 0:i.onProgress)==null||r.call(i,{loaded:e.loaded}):(n=(o=this._fullRequestReader)==null?void 0:o.onProgress)==null||n.call(o,{loaded:e.loaded,total:e.total})}_onProgressiveDone(){var e;(e=this._fullRequestReader)==null||e.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(e){const i=this._rangeReaders.indexOf(e);i>=0&&this._rangeReaders.splice(i,1)}getFullReader(){$n(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new KFi(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,i){if(i<=this._progressiveDataLength)return null;const r=new JFi(this,e,i);return this._pdfDataRangeTransport.requestDataRange(e,i),this._rangeReaders.push(r),r}cancelAllRequests(e){var i;(i=this._fullRequestReader)==null||i.cancel(e);for(const r of this._rangeReaders.slice(0))r.cancel(e);this._pdfDataRangeTransport.abort()}}class KFi{constructor(e,i,r=!1,o=null){this._stream=e,this._done=r||!1,this._filename=OZ(o)?o:null,this._queuedChunks=i||[],this._loaded=0;for(const n of this._queuedChunks)this._loaded+=n.byteLength;this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class JFi{constructor(e,i,r){this._stream=e,this._begin=i,this._end=r,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(e){if(!this._done){if(this._requests.length===0)this._queuedChunk=e;else{this._requests.shift().resolve({value:e,done:!1});for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const i=this._queuedChunk;return this._queuedChunk=null,{value:i,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function YFi(t){let e=!0,i=r("filename\\*","i").exec(t);if(i){i=i[1];let d=a(i);return d=unescape(d),d=l(d),d=c(d),n(d)}if(i=s(t),i){const d=c(i);return n(d)}if(i=r("filename","i").exec(t),i){i=i[1];let d=a(i);return d=c(d),n(d)}function r(d,u){return new RegExp("(?:^|;)\\s*"+d+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',u)}function o(d,u){if(d){if(!/^[\x00-\xFF]+$/.test(u))return u;try{const A=new TextDecoder(d,{fatal:!0}),h=CR(u);u=A.decode(h),e=!1}catch{}}return u}function n(d){return e&&/[\x80-\xff]/.test(d)&&(d=o("utf-8",d),e&&(d=o("iso-8859-1",d))),d}function s(d){const u=[];let A;const h=r("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(A=h.exec(d))!==null;){let[,p,m,f]=A;if(p=parseInt(p,10),p in u){if(p===0)break;continue}u[p]=[m,f]}const g=[];for(let p=0;p<u.length&&p in u;++p){let[m,f]=u[p];f=a(f),m&&(f=unescape(f),p===0&&(f=l(f))),g.push(f)}return g.join("")}function a(d){if(d.startsWith('"')){const u=d.slice(1).split('\\"');for(let A=0;A<u.length;++A){const h=u[A].indexOf('"');h!==-1&&(u[A]=u[A].slice(0,h),u.length=A+1),u[A]=u[A].replaceAll(/\\(.)/g,"$1")}d=u.join('"')}return d}function l(d){const u=d.indexOf("'");if(u===-1)return d;const A=d.slice(0,u),h=d.slice(u+1).replace(/^[^']*'/,"");return o(A,h)}function c(d){return!d.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(d)?d:d.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g,function(u,A,h,g){if(h==="q"||h==="Q")return g=g.replaceAll("_"," "),g=g.replaceAll(/=([0-9a-fA-F]{2})/g,function(p,m){return String.fromCharCode(parseInt(m,16))}),o(A,g);try{g=atob(g)}catch{}return o(A,g)})}return""}function Yxe(t,e){const i=new Headers;if(!t||!e||typeof e!="object")return i;for(const r in e){const o=e[r];o!==void 0&&i.append(r,o)}return i}function fL(t){try{return new URL(t).origin}catch{}return null}function Wxe({responseHeaders:t,isHttp:e,rangeChunkSize:i,disableRange:r}){const o={allowRangeRequests:!1,suggestedLength:void 0},n=parseInt(t.get("Content-Length"),10);return!Number.isInteger(n)||(o.suggestedLength=n,n<=2*i)||r||!e||t.get("Accept-Ranges")!=="bytes"||(t.get("Content-Encoding")||"identity")!=="identity"||(o.allowRangeRequests=!0),o}function Zxe(t){const e=t.get("Content-Disposition");if(e){let i=YFi(e);if(i.includes("%"))try{i=decodeURIComponent(i)}catch{}if(OZ(i))return i}return null}function mL(t,e){return t===404||t===0&&e.startsWith("file:")?new rI('Missing PDF "'+e+'".'):new vR(`Unexpected server response (${t}) while retrieving PDF "${e}".`,t)}function Xxe(t){return t===200||t===206}function $xe(t,e,i){return{method:"GET",headers:t,signal:i.signal,mode:"cors",credentials:e?"include":"same-origin",redirect:"follow"}}function eke(t){return t instanceof Uint8Array?t.buffer:t instanceof ArrayBuffer?t:(nr(`getArrayBuffer - unexpected data format: ${t}`),new Uint8Array(t).buffer)}class tke{constructor(e){ai(this,"_responseOrigin",null),this.source=e,this.isHttp=/^https?:/i.test(e.url),this.headers=Yxe(this.isHttp,e.httpHeaders),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}getFullReader(){return $n(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new WFi(this),this._fullRequestReader}getRangeReader(e,i){if(i<=this._progressiveDataLength)return null;const r=new ZFi(this,e,i);return this._rangeRequestReaders.push(r),r}cancelAllRequests(e){var i;(i=this._fullRequestReader)==null||i.cancel(e);for(const r of this._rangeRequestReaders.slice(0))r.cancel(e)}}class WFi{constructor(e){this._stream=e,this._reader=null,this._loaded=0,this._filename=null;const i=e.source;this._withCredentials=i.withCredentials||!1,this._contentLength=i.length,this._headersCapability=Promise.withResolvers(),this._disableRange=i.disableRange||!1,this._rangeChunkSize=i.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!i.disableStream,this._isRangeSupported=!i.disableRange;const r=new Headers(e.headers),o=i.url;fetch(o,$xe(r,this._withCredentials,this._abortController)).then(n=>{if(e._responseOrigin=fL(n.url),!Xxe(n.status))throw mL(n.status,o);this._reader=n.body.getReader(),this._headersCapability.resolve();const s=n.headers,{allowRangeRequests:a,suggestedLength:l}=Wxe({responseHeaders:s,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=a,this._contentLength=l||this._contentLength,this._filename=Zxe(s),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new og("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var e;await this._headersCapability.promise;const{value:i,done:r}=await this._reader.read();return r?{value:i,done:r}:(this._loaded+=i.byteLength,(e=this.onProgress)==null||e.call(this,{loaded:this._loaded,total:this._contentLength}),{value:eke(i),done:!1})}cancel(e){var i;(i=this._reader)==null||i.cancel(e),this._abortController.abort()}}class ZFi{constructor(e,i,r){this._stream=e,this._reader=null,this._loaded=0;const o=e.source;this._withCredentials=o.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!o.disableStream,this._abortController=new AbortController;const n=new Headers(e.headers);n.append("Range",`bytes=${i}-${r-1}`);const s=o.url;fetch(s,$xe(n,this._withCredentials,this._abortController)).then(a=>{const l=fL(a.url);if(l!==e._responseOrigin)throw new Error(`Expected range response-origin "${l}" to match "${e._responseOrigin}".`);if(!Xxe(a.status))throw mL(a.status,s);this._readCapability.resolve(),this._reader=a.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var e;await this._readCapability.promise;const{value:i,done:r}=await this._reader.read();return r?{value:i,done:r}:(this._loaded+=i.byteLength,(e=this.onProgress)==null||e.call(this,{loaded:this._loaded}),{value:eke(i),done:!1})}cancel(e){var i;(i=this._reader)==null||i.cancel(e),this._abortController.abort()}}const IX=200,BX=206;function XFi(t){const e=t.response;return typeof e!="string"?e:CR(e).buffer}class $Fi{constructor({url:e,httpHeaders:i,withCredentials:r}){ai(this,"_responseOrigin",null),this.url=e,this.isHttp=/^https?:/i.test(e),this.headers=Yxe(this.isHttp,i),this.withCredentials=r||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}request(e){const i=new XMLHttpRequest,r=this.currXhrId++,o=this.pendingRequests[r]={xhr:i};i.open("GET",this.url),i.withCredentials=this.withCredentials;for(const[n,s]of this.headers)i.setRequestHeader(n,s);return this.isHttp&&"begin"in e&&"end"in e?(i.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),o.expectedStatus=BX):o.expectedStatus=IX,i.responseType="arraybuffer",$n(e.onError,"Expected `onError` callback to be provided."),i.onerror=()=>{e.onError(i.status)},i.onreadystatechange=this.onStateChange.bind(this,r),i.onprogress=this.onProgress.bind(this,r),o.onHeadersReceived=e.onHeadersReceived,o.onDone=e.onDone,o.onError=e.onError,o.onProgress=e.onProgress,i.send(null),r}onProgress(e,i){var r;const o=this.pendingRequests[e];o&&((r=o.onProgress)==null||r.call(o,i))}onStateChange(e,i){const r=this.pendingRequests[e];if(!r)return;const o=r.xhr;if(o.readyState>=2&&r.onHeadersReceived&&(r.onHeadersReceived(),delete r.onHeadersReceived),o.readyState!==4||!(e in this.pendingRequests))return;if(delete this.pendingRequests[e],o.status===0&&this.isHttp){r.onError(o.status);return}const n=o.status||IX;if(!(n===IX&&r.expectedStatus===BX)&&n!==r.expectedStatus){r.onError(o.status);return}const s=XFi(o);if(n===BX){const a=o.getResponseHeader("Content-Range"),l=/bytes (\d+)-(\d+)\/(\d+)/.exec(a);l?r.onDone({begin:parseInt(l[1],10),chunk:s}):(nr('Missing or invalid "Content-Range" header.'),r.onError(0))}else s?r.onDone({begin:0,chunk:s}):r.onError(o.status)}getRequestXhr(e){return this.pendingRequests[e].xhr}isPendingRequest(e){return e in this.pendingRequests}abortRequest(e){const i=this.pendingRequests[e].xhr;delete this.pendingRequests[e],i.abort()}}class e_i{constructor(e){this._source=e,this._manager=new $Fi(e),this._rangeChunkSize=e.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(e){const i=this._rangeRequestReaders.indexOf(e);i>=0&&this._rangeRequestReaders.splice(i,1)}getFullReader(){return $n(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new t_i(this._manager,this._source),this._fullRequestReader}getRangeReader(e,i){const r=new i_i(this._manager,e,i);return r.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(r),r}cancelAllRequests(e){var i;(i=this._fullRequestReader)==null||i.cancel(e);for(const r of this._rangeRequestReaders.slice(0))r.cancel(e)}}class t_i{constructor(e,i){this._manager=e,this._url=i.url,this._fullRequestId=e.request({onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)}),this._headersCapability=Promise.withResolvers(),this._disableRange=i.disableRange||!1,this._contentLength=i.length,this._rangeChunkSize=i.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const e=this._fullRequestId,i=this._manager.getRequestXhr(e);this._manager._responseOrigin=fL(i.responseURL);const r=i.getAllResponseHeaders(),o=new Headers(r?r.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map(a=>{const[l,...c]=a.split(": ");return[l,c.join(": ")]}):[]),{allowRangeRequests:n,suggestedLength:s}=Wxe({responseHeaders:o,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});n&&(this._isRangeSupported=!0),this._contentLength=s||this._contentLength,this._filename=Zxe(o),this._isRangeSupported&&this._manager.abortRequest(e),this._headersCapability.resolve()}_onDone(e){if(e&&(this._requests.length>0?this._requests.shift().resolve({value:e.chunk,done:!1}):this._cachedChunks.push(e.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(e){this._storedError=mL(e,this._url),this._headersCapability.reject(this._storedError);for(const i of this._requests)i.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(e){var i;(i=this.onProgress)==null||i.call(this,{loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e);for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class i_i{constructor(e,i,r){this._manager=e,this._url=e.url,this._requestId=e.request({begin:i,end:r,onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)}),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_onHeadersReceived(){var e;const i=fL((e=this._manager.getRequestXhr(this._requestId))==null?void 0:e.responseURL);i!==this._manager._responseOrigin&&(this._storedError=new Error(`Expected range response-origin "${i}" to match "${this._manager._responseOrigin}".`),this._onError(0))}_close(){var e;(e=this.onClosed)==null||e.call(this,this)}_onDone(e){const i=e.chunk;this._requests.length>0?this._requests.shift().resolve({value:i,done:!1}):this._queuedChunk=i,this._done=!0;for(const r of this._requests)r.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(e){this._storedError??(this._storedError=mL(e,this._url));for(const i of this._requests)i.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(e){var i;this.isStreamingSupported||(i=this.onProgress)==null||i.call(this,{loaded:e.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const i=this._queuedChunk;return this._queuedChunk=null,{value:i,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const r_i=/^[a-z][a-z0-9\-+.]+:/i;function o_i(t){if(r_i.test(t))return new URL(t);const e=process.getBuiltinModule("url");return new URL(e.pathToFileURL(t))}class n_i{constructor(e){this.source=e,this.url=o_i(e.url),$n(this.url.protocol==="file:","PDFNodeStream only supports file:// URLs."),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}getFullReader(){return $n(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=new s_i(this),this._fullRequestReader}getRangeReader(e,i){if(i<=this._progressiveDataLength)return null;const r=new a_i(this,e,i);return this._rangeRequestReaders.push(r),r}cancelAllRequests(e){var i;(i=this._fullRequestReader)==null||i.cancel(e);for(const r of this._rangeRequestReaders.slice(0))r.cancel(e)}}class s_i{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null;const i=e.source;this._contentLength=i.length,this._loaded=0,this._filename=null,this._disableRange=i.disableRange||!1,this._rangeChunkSize=i.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!i.disableStream,this._isRangeSupported=!i.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers();const r=process.getBuiltinModule("fs");r.promises.lstat(this._url).then(o=>{this._contentLength=o.size,this._setReadableStream(r.createReadStream(this._url)),this._headersCapability.resolve()},o=>{o.code==="ENOENT"&&(o=new rI(`Missing PDF "${this._url}".`)),this._storedError=o,this._headersCapability.reject(o)})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var e;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const i=this._readableStream.read();return i===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=i.length,(e=this.onProgress)==null||e.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(i).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",i=>{this._error(i)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new og("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class a_i{constructor(e,i,r){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const o=e.source;this._isStreamingSupported=!o.disableStream;const n=process.getBuiltinModule("fs");this._setReadableStream(n.createReadStream(this._url,{start:i,end:r-1}))}get isStreamingSupported(){return this._isStreamingSupported}async read(){var e;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const i=this._readableStream.read();return i===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=i.length,(e=this.onProgress)==null||e.call(this,{loaded:this._loaded}),{value:new Uint8Array(i).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",i=>{this._error(i)}),this._storedError&&this._readableStream.destroy(this._storedError)}}const l_i=1e5,uc=30,c_i=.8;var ike,rm,td,vL,CL,om,vg,yL,wL,d6,NI,OI,nm,HI,bL,VI,u6,IL,BL,A6,h6,EL,sm,GI,p6,rke,oke,EX,$1,xL,xX,nke,ske;const Ac=class FE{constructor({textContentSource:e,container:i,viewport:r}){ce(this,p6),ce(this,rm,Promise.withResolvers()),ce(this,td,null),ce(this,vL,!1),ce(this,CL,!!((ike=globalThis.FontInspector)!=null&&ike.enabled)),ce(this,om,null),ce(this,vg,null),ce(this,yL,0),ce(this,wL,0),ce(this,d6,null),ce(this,NI,null),ce(this,OI,0),ce(this,nm,0),ce(this,HI,Object.create(null)),ce(this,bL,[]),ce(this,VI,null),ce(this,u6,[]),ce(this,IL,new WeakMap),ce(this,BL,null);var o;if(e instanceof ReadableStream)ie(this,VI,e);else if(typeof e=="object")ie(this,VI,new ReadableStream({start(c){c.enqueue(e),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');ie(this,td,ie(this,NI,i)),ie(this,nm,r.scale*(globalThis.devicePixelRatio||1)),ie(this,OI,r.rotation),ie(this,vg,{div:null,properties:null,ctx:null});const{pageWidth:n,pageHeight:s,pageX:a,pageY:l}=r.rawDims;ie(this,BL,[1,0,0,-1,-a,l+s]),ie(this,wL,n),ie(this,yL,s),oe(o=FE,$1,nke).call(o),H2(i,r),S(this,rm).promise.finally(()=>{S(FE,GI).delete(this),ie(this,vg,null),ie(this,HI,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:e,isFirefox:i}=xl.platform;return gr(this,"fontFamilyMap",new Map([["sans-serif",`${e&&i?"Calibri, ":""}sans-serif`],["monospace",`${e&&i?"Lucida Console, ":""}monospace`]]))}render(){const e=()=>{S(this,d6).read().then(({value:i,done:r})=>{if(r){S(this,rm).resolve();return}S(this,om)??ie(this,om,i.lang),Object.assign(S(this,HI),i.styles),oe(this,p6,rke).call(this,i.items),e()},S(this,rm).reject)};return ie(this,d6,S(this,VI).getReader()),S(FE,GI).add(this),e(),S(this,rm).promise}update({viewport:e,onBefore:i=null}){var r;const o=e.scale*(globalThis.devicePixelRatio||1),n=e.rotation;if(n!==S(this,OI)&&(i?.(),ie(this,OI,n),H2(S(this,NI),{rotation:n})),o!==S(this,nm)){i?.(),ie(this,nm,o);const s={div:null,properties:null,ctx:oe(r=FE,$1,xL).call(r,S(this,om))};for(const a of S(this,u6))s.properties=S(this,IL).get(a),s.div=a,oe(this,p6,EX).call(this,s)}}cancel(){var e;const i=new og("TextLayer task cancelled.");(e=S(this,d6))==null||e.cancel(i).catch(()=>{}),ie(this,d6,null),S(this,rm).reject(i)}get textDivs(){return S(this,u6)}get textContentItemsStr(){return S(this,bL)}static cleanup(){if(!(S(this,GI).size>0)){S(this,A6).clear();for(const{canvas:e}of S(this,h6).values())e.remove();S(this,h6).clear()}}};rm=new WeakMap,td=new WeakMap,vL=new WeakMap,CL=new WeakMap,om=new WeakMap,vg=new WeakMap,yL=new WeakMap,wL=new WeakMap,d6=new WeakMap,NI=new WeakMap,OI=new WeakMap,nm=new WeakMap,HI=new WeakMap,bL=new WeakMap,VI=new WeakMap,u6=new WeakMap,IL=new WeakMap,BL=new WeakMap,A6=new WeakMap,h6=new WeakMap,EL=new WeakMap,sm=new WeakMap,GI=new WeakMap,p6=new WeakSet,rke=function(t){var e,i;if(S(this,vL))return;(i=S(this,vg)).ctx??(i.ctx=oe(e=Ac,$1,xL).call(e,S(this,om)));const r=S(this,u6),o=S(this,bL);for(const n of t){if(r.length>l_i){nr("Ignoring additional textDivs for performance reasons."),ie(this,vL,!0);return}if(n.str===void 0){if(n.type==="beginMarkedContentProps"||n.type==="beginMarkedContent"){const s=S(this,td);ie(this,td,document.createElement("span")),S(this,td).classList.add("markedContent"),n.id!==null&&S(this,td).setAttribute("id",`${n.id}`),s.append(S(this,td))}else n.type==="endMarkedContent"&&ie(this,td,S(this,td).parentNode);continue}o.push(n.str),oe(this,p6,oke).call(this,n)}},oke=function(t){var e;const i=document.createElement("span"),r={angle:0,canvasWidth:0,hasText:t.str!=="",hasEOL:t.hasEOL,fontSize:0};S(this,u6).push(i);const o=bi.transform(S(this,BL),t.transform);let n=Math.atan2(o[1],o[0]);const s=S(this,HI)[t.fontName];s.vertical&&(n+=Math.PI/2);let a=S(this,CL)&&s.fontSubstitution||s.fontFamily;a=Ac.fontFamilyMap.get(a)||a;const l=Math.hypot(o[2],o[3]),c=l*oe(e=Ac,$1,ske).call(e,a,S(this,om));let d,u;n===0?(d=o[4],u=o[5]-c):(d=o[4]+c*Math.sin(n),u=o[5]-c*Math.cos(n));const A="calc(var(--scale-factor)*",h=i.style;S(this,td)===S(this,NI)?(h.left=`${(100*d/S(this,wL)).toFixed(2)}%`,h.top=`${(100*u/S(this,yL)).toFixed(2)}%`):(h.left=`${A}${d.toFixed(2)}px)`,h.top=`${A}${u.toFixed(2)}px)`),h.fontSize=`${A}${(S(Ac,sm)*l).toFixed(2)}px)`,h.fontFamily=a,r.fontSize=l,i.setAttribute("role","presentation"),i.textContent=t.str,i.dir=t.dir,S(this,CL)&&(i.dataset.fontName=s.fontSubstitutionLoadedName||t.fontName),n!==0&&(r.angle=n*(180/Math.PI));let g=!1;if(t.str.length>1)g=!0;else if(t.str!==" "&&t.transform[0]!==t.transform[3]){const p=Math.abs(t.transform[0]),m=Math.abs(t.transform[3]);p!==m&&Math.max(p,m)/Math.min(p,m)>1.5&&(g=!0)}if(g&&(r.canvasWidth=s.vertical?t.height:t.width),S(this,IL).set(i,r),S(this,vg).div=i,S(this,vg).properties=r,oe(this,p6,EX).call(this,S(this,vg)),r.hasText&&S(this,td).append(i),r.hasEOL){const p=document.createElement("br");p.setAttribute("role","presentation"),S(this,td).append(p)}},EX=function(t){var e;const{div:i,properties:r,ctx:o}=t,{style:n}=i;let s="";if(S(Ac,sm)>1&&(s=`scale(${1/S(Ac,sm)})`),r.canvasWidth!==0&&r.hasText){const{fontFamily:a}=n,{canvasWidth:l,fontSize:c}=r;oe(e=Ac,$1,xX).call(e,o,c*S(this,nm),a);const{width:d}=o.measureText(i.textContent);d>0&&(s=`scaleX(${l*S(this,nm)/d}) ${s}`)}r.angle!==0&&(s=`rotate(${r.angle}deg) ${s}`),s.length>0&&(n.transform=s)},$1=new WeakSet,xL=function(t=null){let e=S(this,h6).get(t||(t=""));if(!e){const i=document.createElement("canvas");i.className="hiddenCanvasElement",i.lang=t,document.body.append(i),e=i.getContext("2d",{alpha:!1,willReadFrequently:!0}),S(this,h6).set(t,e),S(this,EL).set(e,{size:0,family:""})}return e},xX=function(t,e,i){const r=S(this,EL).get(t);e===r.size&&i===r.family||(t.font=`${e}px ${i}`,r.size=e,r.family=i)},nke=function(){if(S(this,sm)!==null)return;const t=document.createElement("div");t.style.opacity=0,t.style.lineHeight=1,t.style.fontSize="1px",t.style.position="absolute",t.textContent="X",document.body.append(t),ie(this,sm,t.getBoundingClientRect().height),t.remove()},ske=function(t,e){const i=S(this,A6).get(t);if(i)return i;const r=oe(this,$1,xL).call(this,e);r.canvas.width=r.canvas.height=uc,oe(this,$1,xX).call(this,r,uc,t);const o=r.measureText("");let n=o.fontBoundingBoxAscent,s=Math.abs(o.fontBoundingBoxDescent);if(n){const c=n/(n+s);return S(this,A6).set(t,c),r.canvas.width=r.canvas.height=0,c}r.strokeStyle="red",r.clearRect(0,0,uc,uc),r.strokeText("g",0,0);let a=r.getImageData(0,0,uc,uc).data;s=0;for(let c=a.length-1-3;c>=0;c-=4)if(a[c]>0){s=Math.ceil(c/4/uc);break}r.clearRect(0,0,uc,uc),r.strokeText("A",0,uc),a=r.getImageData(0,0,uc,uc).data,n=0;for(let c=0,d=a.length;c<d;c+=4)if(a[c]>0){n=uc-Math.floor(c/4/uc);break}r.canvas.width=r.canvas.height=0;const l=n?n/(n+s):c_i;return S(this,A6).set(t,l),l},ce(Ac,$1),ce(Ac,A6,new Map),ce(Ac,h6,new Map),ce(Ac,EL,new WeakMap),ce(Ac,sm,null),ce(Ac,GI,new Set);let kX=Ac;class JE{static textContent(e){const i=[],r={items:i,styles:Object.create(null)};function o(n){var s;if(!n)return;let a=null;const l=n.name;if(l==="#text")a=n.value;else if(JE.shouldBuildText(l))(s=n?.attributes)!=null&&s.textContent?a=n.attributes.textContent:n.value&&(a=n.value);else return;if(a!==null&&i.push({str:a}),!!n.children)for(const c of n.children)o(c)}return o(e),r}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}const d_i=65536,u_i=100,A_i=5e3,h_i=Ua?EFi:bFi,p_i=Ua?xFi:Pxe,g_i=Ua?BFi:IFi,f_i=Ua?kFi:Fxe;function m_i(t={}){typeof t=="string"||t instanceof URL?t={url:t}:(t instanceof ArrayBuffer||ArrayBuffer.isView(t))&&(t={data:t});const e=new y_i,{docId:i}=e,r=t.url?v_i(t.url):null,o=t.data?C_i(t.data):null,n=t.httpHeaders||null,s=t.withCredentials===!0,a=t.password??null,l=t.range instanceof cke?t.range:null,c=Number.isInteger(t.rangeChunkSize)&&t.rangeChunkSize>0?t.rangeChunkSize:d_i;let d=t.worker instanceof QL?t.worker:null;const u=t.verbosity,A=typeof t.docBaseUrl=="string"&&!bR(t.docBaseUrl)?t.docBaseUrl:null,h=typeof t.cMapUrl=="string"?t.cMapUrl:null,g=t.cMapPacked!==!1,p=t.CMapReaderFactory||p_i,m=typeof t.standardFontDataUrl=="string"?t.standardFontDataUrl:null,f=t.StandardFontDataFactory||f_i,C=t.stopAtErrors!==!0,y=Number.isInteger(t.maxImageSize)&&t.maxImageSize>-1?t.maxImageSize:-1,v=t.isEvalSupported!==!1,w=typeof t.isOffscreenCanvasSupported=="boolean"?t.isOffscreenCanvasSupported:!Ua,b=typeof t.isImageDecoderSupported=="boolean"?t.isImageDecoderSupported:!Ua&&(xl.platform.isFirefox||!globalThis.chrome),E=Number.isInteger(t.canvasMaxAreaInBytes)?t.canvasMaxAreaInBytes:-1,k=typeof t.disableFontFace=="boolean"?t.disableFontFace:Ua,x=t.fontExtraProperties===!0,M=t.enableXfa===!0,D=t.ownerDocument||globalThis.document,P=t.disableRange===!0,T=t.disableStream===!0,U=t.disableAutoFetch===!0,H=t.pdfBug===!0,_=t.CanvasFactory||h_i,V=t.FilterFactory||g_i,Y=t.enableHWA===!0,re=l?l.length:t.length??NaN,ue=typeof t.useSystemFonts=="boolean"?t.useSystemFonts:!Ua&&!k,xe=typeof t.useWorkerFetch=="boolean"?t.useWorkerFetch:p===Pxe&&f===Fxe&&h&&m&&oI(h,document.baseURI)&&oI(m,document.baseURI),pe=null;ZTi(u);const Ee={canvasFactory:new _({ownerDocument:D,enableHWA:Y}),filterFactory:new V({docId:i,ownerDocument:D}),cMapReaderFactory:xe?null:new p({baseUrl:h,isCompressed:g}),standardFontDataFactory:xe?null:new f({baseUrl:m})};if(!d){const Ie={verbosity:u,port:mg.workerPort};d=Ie.port?QL.fromPort(Ie):new QL(Ie),e._worker=d}const de={docId:i,apiVersion:"4.10.38",data:o,password:a,disableAutoFetch:U,rangeChunkSize:c,length:re,docBaseUrl:A,enableXfa:M,evaluatorOptions:{maxImageSize:y,disableFontFace:k,ignoreErrors:C,isEvalSupported:v,isOffscreenCanvasSupported:w,isImageDecoderSupported:b,canvasMaxAreaInBytes:E,fontExtraProperties:x,useSystemFonts:ue,cMapUrl:xe?h:null,standardFontDataUrl:xe?m:null}},De={disableFontFace:k,fontExtraProperties:x,ownerDocument:D,pdfBug:H,styleElement:pe,loadingParams:{disableAutoFetch:U,enableXfa:M}};return d.promise.then(function(){if(e.destroyed)throw new Error("Loading aborted");if(d.destroyed)throw new Error("Worker was destroyed");const Ie=d.messageHandler.sendWithPromise("GetDocRequest",de,o?[o.buffer]:null);let Z;if(l)Z=new qFi(l,{disableRange:P,disableStream:T});else if(!o){if(!r)throw new Error("getDocument - no `url` parameter provided.");let ae;if(Ua)if(oI(r)){if(typeof fetch>"u"||typeof Response>"u"||!("body"in Response.prototype))throw new Error("getDocument - the Fetch API was disabled in Node.js, see `--no-experimental-fetch`.");ae=tke}else ae=n_i;else ae=oI(r)?tke:e_i;Z=new ae({url:r,length:re,httpHeaders:n,withCredentials:s,rangeChunkSize:c,disableRange:P,disableStream:T})}return Ie.then(ae=>{if(e.destroyed)throw new Error("Loading aborted");if(d.destroyed)throw new Error("Worker was destroyed");const le=new QI(i,ae,d.port),he=new B_i(le,e,Z,De,Ee);e._transport=he,le.send("Ready",null)})}).catch(e._capability.reject),e}function v_i(t){if(t instanceof URL)return t.href;try{return new URL(t,window.location).href}catch{if(Ua&&typeof t=="string")return t}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function C_i(t){if(Ua&&typeof Buffer<"u"&&t instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength)return t;if(typeof t=="string")return CR(t);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)||typeof t=="object"&&!isNaN(t?.length))return new Uint8Array(t);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function ake(t){return typeof t=="object"&&Number.isInteger(t?.num)&&t.num>=0&&Number.isInteger(t?.gen)&&t.gen>=0}var MX;const lke=class XPe{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${Ol(XPe,MX)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var e,i,r,o;this.destroyed=!0;try{(e=this._worker)!=null&&e.port&&(this._worker._pendingDestroy=!0),await((i=this._transport)==null?void 0:i.destroy())}catch(n){throw(r=this._worker)!=null&&r.port&&delete this._worker._pendingDestroy,n}this._transport=null,(o=this._worker)==null||o.destroy(),this._worker=null}};MX=new WeakMap,ce(lke,MX,0);let y_i=lke;class cke{constructor(e,i,r=!1,o=null){this.length=e,this.initialData=i,this.progressiveDone=r,this.contentDispositionFilename=o,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(e){this._rangeListeners.push(e)}addProgressListener(e){this._progressListeners.push(e)}addProgressiveReadListener(e){this._progressiveReadListeners.push(e)}addProgressiveDoneListener(e){this._progressiveDoneListeners.push(e)}onDataRange(e,i){for(const r of this._rangeListeners)r(e,i)}onDataProgress(e,i){this._readyCapability.promise.then(()=>{for(const r of this._progressListeners)r(e,i)})}onDataProgressiveRead(e){this._readyCapability.promise.then(()=>{for(const i of this._progressiveReadListeners)i(e)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const e of this._progressiveDoneListeners)e()})}transportReady(){this._readyCapability.resolve()}requestDataRange(e,i){So("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class w_i{constructor(e,i){this._pdfInfo=e,this._transport=i}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return gr(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){const{renderingIntent:i}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(i)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var am,Cg,dh,g6,kL;class b_i{constructor(e,i,r,o=!1){ce(this,dh),ce(this,am,null),ce(this,Cg,!1),this._pageIndex=e,this._pageInfo=i,this._transport=r,this._stats=o?new OEe:null,this._pdfBug=o,this.commonObjs=r.commonObjs,this.objs=new dke,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:i=this.rotate,offsetX:r=0,offsetY:o=0,dontFlip:n=!1}={}){return new KE({viewBox:this.view,userUnit:this.userUnit,scale:e,rotation:i,offsetX:r,offsetY:o,dontFlip:n})}getAnnotations({intent:e="display"}={}){const{renderingIntent:i}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,i)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return gr(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var e;return((e=this._transport._htmlForXfa)==null?void 0:e.children[this._pageIndex])||null}render({canvasContext:e,viewport:i,intent:r="display",annotationMode:o=ig.ENABLE,transform:n=null,background:s=null,optionalContentConfigPromise:a=null,annotationCanvasMap:l=null,pageColors:c=null,printAnnotationStorage:d=null,isEditing:u=!1}){var A,h;(A=this._stats)==null||A.time("Overall");const g=this._transport.getRenderingIntent(r,o,d,u),{renderingIntent:p,cacheKey:m}=g;ie(this,Cg,!1),oe(this,dh,kL).call(this),a||(a=this._transport.getOptionalContentConfig(p));let f=this._intentStates.get(m);f||(f=Object.create(null),this._intentStates.set(m,f)),f.streamReaderCancelTimeout&&(clearTimeout(f.streamReaderCancelTimeout),f.streamReaderCancelTimeout=null);const C=!!(p&Xc.PRINT);f.displayReadyCapability||(f.displayReadyCapability=Promise.withResolvers(),f.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(h=this._stats)==null||h.time("Page Request"),this._pumpOperatorList(g));const y=b=>{var E;f.renderTasks.delete(v),(this._maybeCleanupAfterRender||C)&&ie(this,Cg,!0),oe(this,dh,g6).call(this,!C),b?(v.capability.reject(b),this._abortOperatorList({intentState:f,reason:b instanceof Error?b:new Error(b)})):v.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(E=globalThis.Stats)!=null&&E.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},v=new x_i({callback:y,params:{canvasContext:e,viewport:i,transform:n,background:s},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:l,operatorList:f.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!C,pdfBug:this._pdfBug,pageColors:c});(f.renderTasks||(f.renderTasks=new Set)).add(v);const w=v.task;return Promise.all([f.displayReadyCapability.promise,a]).then(([b,E])=>{var k;if(this.destroyed){y();return}if((k=this._stats)==null||k.time("Rendering"),!(E.renderingIntent&p))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");v.initializeGraphics({transparency:b,optionalContentConfig:E}),v.operatorListChanged()}).catch(y),w}getOperatorList({intent:e="display",annotationMode:i=ig.ENABLE,printAnnotationStorage:r=null,isEditing:o=!1}={}){var n;function s(){l.operatorList.lastChunk&&(l.opListReadCapability.resolve(l.operatorList),l.renderTasks.delete(c))}const a=this._transport.getRenderingIntent(e,i,r,o,!0);let l=this._intentStates.get(a.cacheKey);l||(l=Object.create(null),this._intentStates.set(a.cacheKey,l));let c;return l.opListReadCapability||(c=Object.create(null),c.operatorListChanged=s,l.opListReadCapability=Promise.withResolvers(),(l.renderTasks||(l.renderTasks=new Set)).add(c),l.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(n=this._stats)==null||n.time("Page Request"),this._pumpOperatorList(a)),l.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:i=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:i===!0},{highWaterMark:100,size(r){return r.items.length}})}getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then(r=>JE.textContent(r));const i=this.streamTextContent(e);return new Promise(function(r,o){function n(){s.read().then(function({value:l,done:c}){if(c){r(a);return}a.lang??(a.lang=l.lang),Object.assign(a.styles,l.styles),a.items.push(...l.items),n()},o)}const s=i.getReader(),a={items:[],styles:Object.create(null),lang:null};n()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const e=[];for(const i of this._intentStates.values())if(this._abortOperatorList({intentState:i,reason:new Error("Page was destroyed."),force:!0}),!i.opListReadCapability)for(const r of i.renderTasks)e.push(r.completed),r.cancel();return this.objs.clear(),ie(this,Cg,!1),oe(this,dh,kL).call(this),Promise.all(e)}cleanup(e=!1){ie(this,Cg,!0);const i=oe(this,dh,g6).call(this,!1);return e&&i&&this._stats&&(this._stats=new OEe),i}_startRenderPage(e,i){var r,o;const n=this._intentStates.get(i);n&&((r=this._stats)==null||r.timeEnd("Page Request"),(o=n.displayReadyCapability)==null||o.resolve(e))}_renderPageChunk(e,i){for(let r=0,o=e.length;r<o;r++)i.operatorList.fnArray.push(e.fnArray[r]),i.operatorList.argsArray.push(e.argsArray[r]);i.operatorList.lastChunk=e.lastChunk,i.operatorList.separateAnnots=e.separateAnnots;for(const r of i.renderTasks)r.operatorListChanged();e.lastChunk&&oe(this,dh,g6).call(this,!0)}_pumpOperatorList({renderingIntent:e,cacheKey:i,annotationStorageSerializable:r,modifiedIds:o}){const{map:n,transfer:s}=r,a=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageIndex:this._pageIndex,intent:e,cacheKey:i,annotationStorage:n,modifiedIds:o},s).getReader(),l=this._intentStates.get(i);l.streamReader=a;const c=()=>{a.read().then(({value:d,done:u})=>{if(u){l.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(d,l),c())},d=>{if(l.streamReader=null,!this._transport.destroyed){if(l.operatorList){l.operatorList.lastChunk=!0;for(const u of l.renderTasks)u.operatorListChanged();oe(this,dh,g6).call(this,!0)}if(l.displayReadyCapability)l.displayReadyCapability.reject(d);else if(l.opListReadCapability)l.opListReadCapability.reject(d);else throw d}})};c()}_abortOperatorList({intentState:e,reason:i,force:r=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&(clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null),!r){if(e.renderTasks.size>0)return;if(i instanceof NZ){let o=u_i;i.extraDelay>0&&i.extraDelay<1e3&&(o+=i.extraDelay),e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:i,force:!0})},o);return}}if(e.streamReader.cancel(new og(i.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(const[o,n]of this._intentStates)if(n===e){this._intentStates.delete(o);break}this.cleanup()}}}get stats(){return this._stats}}am=new WeakMap,Cg=new WeakMap,dh=new WeakSet,g6=function(t=!1){if(oe(this,dh,kL).call(this),!S(this,Cg)||this.destroyed)return!1;if(t)return ie(this,am,setTimeout(()=>{ie(this,am,null),oe(this,dh,g6).call(this,!1)},A_i)),!1;for(const{renderTasks:e,operatorList:i}of this._intentStates.values())if(e.size>0||!i.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),ie(this,Cg,!1),!0},kL=function(){S(this,am)&&(clearTimeout(S(this,am)),ie(this,am,null))};var yg,SX;class I_i{constructor(){ce(this,yg,new Map),ce(this,SX,Promise.resolve())}postMessage(e,i){const r={data:structuredClone(e,i?{transfer:i}:null)};S(this,SX).then(()=>{for(const[o]of S(this,yg))o.call(this,r)})}addEventListener(e,i,r=null){let o=null;if(r?.signal instanceof AbortSignal){const{signal:n}=r;if(n.aborted){nr("LoopbackPort - cannot use an `aborted` signal.");return}const s=()=>this.removeEventListener(e,i);o=()=>n.removeEventListener("abort",s),n.addEventListener("abort",s)}S(this,yg).set(i,o)}removeEventListener(e,i){const r=S(this,yg).get(i);r?.(),S(this,yg).delete(i)}terminate(){for(const[,e]of S(this,yg))e?.();S(this,yg).clear()}}yg=new WeakMap,SX=new WeakMap;var QX,f6,lm,jI,ML,zI,SL;const wg=class _l{constructor({name:e=null,port:i=null,verbosity:r=XTi()}={}){ce(this,jI);var o;if(this.name=e,this.destroyed=!1,this.verbosity=r,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,i){if((o=S(_l,lm))!=null&&o.has(i))throw new Error("Cannot use more than one PDFWorker per port.");(S(_l,lm)||ie(_l,lm,new WeakMap)).set(i,this),this._initializeFromPort(i);return}this._initialize()}get promise(){return this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(e){this._port=e,this._messageHandler=new QI("main","worker",e),this._messageHandler.on("ready",function(){}),oe(this,jI,ML).call(this)}_initialize(){if(S(_l,f6)||S(_l,zI,SL)){this._setupFakeWorker();return}let{workerSrc:e}=_l;try{_l._isSameOrigin(window.location.href,e)||(e=_l._createCDNWrapper(new URL(e,window.location).href));const i=new Worker(e,{type:"module"}),r=new QI("main","worker",i),o=()=>{n.abort(),r.destroy(),i.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},n=new AbortController;i.addEventListener("error",()=>{this._webWorker||o()},{signal:n.signal}),r.on("test",a=>{if(n.abort(),this.destroyed||!a){o();return}this._messageHandler=r,this._port=i,this._webWorker=i,oe(this,jI,ML).call(this)}),r.on("ready",a=>{if(n.abort(),this.destroyed){o();return}try{s()}catch{this._setupFakeWorker()}});const s=()=>{const a=new Uint8Array;r.send("test",a,[a.buffer])};s();return}catch{mR("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){S(_l,f6)||(nr("Setting up fake worker."),ie(_l,f6,!0)),_l._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const i=new I_i;this._port=i;const r=`fake${Ol(_l,QX)._++}`,o=new QI(r+"_worker",r,i);e.setup(o,i),this._messageHandler=new QI(r,r+"_worker",i),oe(this,jI,ML).call(this)}).catch(e=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){var e,i,r;this.destroyed=!0,(e=this._webWorker)==null||e.terminate(),this._webWorker=null,(i=S(_l,lm))==null||i.delete(this._port),this._port=null,(r=this._messageHandler)==null||r.destroy(),this._messageHandler=null}static fromPort(e){var i;if(!(e!=null&&e.port))throw new Error("PDFWorker.fromPort - invalid method signature.");const r=(i=S(this,lm))==null?void 0:i.get(e.port);if(r){if(r._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return r}return new _l(e)}static get workerSrc(){if(mg.workerSrc)return mg.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return gr(this,"_setupFakeWorkerGlobal",(async()=>S(this,zI,SL)?S(this,zI,SL):(await import(this.workerSrc)).WorkerMessageHandler)())}};QX=new WeakMap,f6=new WeakMap,lm=new WeakMap,jI=new WeakSet,ML=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},zI=new WeakSet,SL=function(){var t;try{return((t=globalThis.pdfjsWorker)==null?void 0:t.WorkerMessageHandler)||null}catch{return null}},ce(wg,zI),ce(wg,QX,0),ce(wg,f6,!1),ce(wg,lm),Ua&&(ie(wg,f6,!0),mg.workerSrc||(mg.workerSrc="./pdf.worker.mjs")),wg._isSameOrigin=(t,e)=>{let i;try{if(i=new URL(t),!i.origin||i.origin==="null")return!1}catch{return!1}const r=new URL(e,i);return i.origin===r.origin},wg._createCDNWrapper=t=>{const e=`await import("${t}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))};let QL=wg;var bg,e0,qI,KI,Ig,m6,JI;class B_i{constructor(e,i,r,o,n){ce(this,m6),ce(this,bg,new Map),ce(this,e0,new Map),ce(this,qI,new Map),ce(this,KI,new Map),ce(this,Ig,null),this.messageHandler=e,this.loadingTask=i,this.commonObjs=new dke,this.fontLoader=new yFi({ownerDocument:o.ownerDocument,styleElement:o.styleElement}),this.loadingParams=o.loadingParams,this._params=o,this.canvasFactory=n.canvasFactory,this.filterFactory=n.filterFactory,this.cMapReaderFactory=n.cMapReaderFactory,this.standardFontDataFactory=n.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=r,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return gr(this,"annotationStorage",new hX)}getRenderingIntent(e,i=ig.ENABLE,r=null,o=!1,n=!1){let s=Xc.DISPLAY,a=uX;switch(e){case"any":s=Xc.ANY;break;case"display":break;case"print":s=Xc.PRINT;break;default:nr(`getRenderingIntent - invalid intent: ${e}`)}const l=s&Xc.PRINT&&r instanceof Bxe?r:this.annotationStorage;switch(i){case ig.DISABLE:s+=Xc.ANNOTATIONS_DISABLE;break;case ig.ENABLE:break;case ig.ENABLE_FORMS:s+=Xc.ANNOTATIONS_FORMS;break;case ig.ENABLE_STORAGE:s+=Xc.ANNOTATIONS_STORAGE,a=l.serializable;break;default:nr(`getRenderingIntent - invalid annotationMode: ${i}`)}o&&(s+=Xc.IS_EDITING),n&&(s+=Xc.OPLIST);const{ids:c,hash:d}=l.modifiedIds,u=[s,a.hash,d];return{renderingIntent:s,cacheKey:u.join("_"),annotationStorageSerializable:a,modifiedIds:c}}destroy(){var e;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(e=S(this,Ig))==null||e.reject(new Error("Worker was destroyed during onPassword callback"));const i=[];for(const o of S(this,e0).values())i.push(o._destroy());S(this,e0).clear(),S(this,qI).clear(),S(this,KI).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const r=this.messageHandler.sendWithPromise("Terminate",null);return i.push(r),Promise.all(i).then(()=>{var o,n;this.commonObjs.clear(),this.fontLoader.clear(),S(this,bg).clear(),this.filterFactory.destroy(),kX.cleanup(),(o=this._networkStream)==null||o.cancelAllRequests(new og("Worker was terminated.")),(n=this.messageHandler)==null||n.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:e,loadingTask:i}=this;e.on("GetReader",(r,o)=>{$n(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=n=>{this._lastProgress={loaded:n.loaded,total:n.total}},o.onPull=()=>{this._fullReader.read().then(function({value:n,done:s}){if(s){o.close();return}$n(n instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),o.enqueue(new Uint8Array(n),1,[n])}).catch(n=>{o.error(n)})},o.onCancel=n=>{this._fullReader.cancel(n),o.ready.catch(s=>{if(!this.destroyed)throw s})}}),e.on("ReaderHeadersReady",async r=>{var o;await this._fullReader.headersReady;const{isStreamingSupported:n,isRangeSupported:s,contentLength:a}=this._fullReader;return(!n||!s)&&(this._lastProgress&&((o=i.onProgress)==null||o.call(i,this._lastProgress)),this._fullReader.onProgress=l=>{var c;(c=i.onProgress)==null||c.call(i,{loaded:l.loaded,total:l.total})}),{isStreamingSupported:n,isRangeSupported:s,contentLength:a}}),e.on("GetRangeReader",(r,o)=>{$n(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const n=this._networkStream.getRangeReader(r.begin,r.end);if(!n){o.close();return}o.onPull=()=>{n.read().then(function({value:s,done:a}){if(a){o.close();return}$n(s instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),o.enqueue(new Uint8Array(s),1,[s])}).catch(s=>{o.error(s)})},o.onCancel=s=>{n.cancel(s),o.ready.catch(a=>{if(!this.destroyed)throw a})}}),e.on("GetDoc",({pdfInfo:r})=>{this._numPages=r.numPages,this._htmlForXfa=r.htmlForXfa,delete r.htmlForXfa,i._capability.resolve(new w_i(r,this))}),e.on("DocException",r=>{i._capability.reject(cc(r))}),e.on("PasswordRequest",r=>{ie(this,Ig,Promise.withResolvers());try{if(!i.onPassword)throw cc(r);const o=n=>{n instanceof Error?S(this,Ig).reject(n):S(this,Ig).resolve({password:n})};i.onPassword(o,r.code)}catch(o){S(this,Ig).reject(o)}return S(this,Ig).promise}),e.on("DataLoaded",r=>{var o;(o=i.onProgress)==null||o.call(i,{loaded:r.length,total:r.length}),this.downloadInfoCapability.resolve(r)}),e.on("StartRenderPage",r=>{this.destroyed||S(this,e0).get(r.pageIndex)._startRenderPage(r.transparency,r.cacheKey)}),e.on("commonobj",([r,o,n])=>{var s;if(this.destroyed||this.commonObjs.has(r))return null;switch(o){case"Font":const{disableFontFace:a,fontExtraProperties:l,pdfBug:c}=this._params;if("error"in n){const h=n.error;nr(`Error during font loading: ${h}`),this.commonObjs.resolve(r,h);break}const d=c&&(s=globalThis.FontInspector)!=null&&s.enabled?(h,g)=>globalThis.FontInspector.fontAdded(h,g):null,u=new wFi(n,{disableFontFace:a,fontExtraProperties:l,inspectFont:d});this.fontLoader.bind(u).catch(()=>e.sendWithPromise("FontFallback",{id:r})).finally(()=>{!l&&u.data&&(u.data=null),this.commonObjs.resolve(r,u)});break;case"CopyLocalImage":const{imageRef:A}=n;$n(A,"The imageRef must be defined.");for(const h of S(this,e0).values())for(const[,g]of h.objs)if(g?.ref===A)return g.dataLen?(this.commonObjs.resolve(r,structuredClone(g)),g.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(r,n);break;default:throw new Error(`Got unknown common object type ${o}`)}return null}),e.on("obj",([r,o,n,s])=>{var a;if(this.destroyed)return;const l=S(this,e0).get(o);if(!l.objs.has(r)){if(l._intentStates.size===0){(a=s?.bitmap)==null||a.close();return}switch(n){case"Image":l.objs.resolve(r,s),s?.dataLen>KTi&&(l._maybeCleanupAfterRender=!0);break;case"Pattern":l.objs.resolve(r,s);break;default:throw new Error(`Got unknown object type ${n}`)}}}),e.on("DocProgress",r=>{var o;this.destroyed||(o=i.onProgress)==null||o.call(i,{loaded:r.loaded,total:r.total})}),e.on("FetchBuiltInCMap",async r=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.cMapReaderFactory)throw new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.");return this.cMapReaderFactory.fetch(r)}),e.on("FetchStandardFontData",async r=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.standardFontDataFactory)throw new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.");return this.standardFontDataFactory.fetch(r)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var e;this.annotationStorage.size<=0&&nr("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:i,transfer:r}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:i,filename:((e=this._fullReader)==null?void 0:e.filename)??null},r).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this._numPages)return Promise.reject(new Error("Invalid page request."));const i=e-1,r=S(this,qI).get(i);if(r)return r;const o=this.messageHandler.sendWithPromise("GetPage",{pageIndex:i}).then(n=>{if(this.destroyed)throw new Error("Transport destroyed");n.refStr&&S(this,KI).set(n.refStr,e);const s=new b_i(i,n,this,this._params.pdfBug);return S(this,e0).set(i,s),s});return S(this,qI).set(i,o),o}getPageIndex(e){return ake(e)?this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(e,i){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:e,intent:i})}getFieldObjects(){return oe(this,m6,JI).call(this,"GetFieldObjects")}hasJSActions(){return oe(this,m6,JI).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){return typeof e!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return oe(this,m6,JI).call(this,"GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:e})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:e})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return oe(this,m6,JI).call(this,"GetOptionalContentConfig").then(i=>new zFi(i,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const e="GetMetadata",i=S(this,bg).get(e);if(i)return i;const r=this.messageHandler.sendWithPromise(e,null).then(o=>{var n,s;return{info:o[0],metadata:o[1]?new GFi(o[1]):null,contentDispositionFilename:((n=this._fullReader)==null?void 0:n.filename)??null,contentLength:((s=this._fullReader)==null?void 0:s.contentLength)??null}});return S(this,bg).set(e,r),r}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const i of S(this,e0).values())if(!i.cleanup())throw new Error(`startCleanup: Page ${i.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),S(this,bg).clear(),this.filterFactory.destroy(!0),kX.cleanup()}}cachedPageNumber(e){if(!ake(e))return null;const i=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return S(this,KI).get(i)??null}}bg=new WeakMap,e0=new WeakMap,qI=new WeakMap,KI=new WeakMap,Ig=new WeakMap,m6=new WeakSet,JI=function(t,e=null){const i=S(this,bg).get(t);if(i)return i;const r=this.messageHandler.sendWithPromise(t,e);return S(this,bg).set(t,r),r};const YI=Symbol("INITIAL_DATA");var Od,DL,DX;class dke{constructor(){ce(this,DL),ce(this,Od,Object.create(null))}get(e,i=null){if(i){const o=oe(this,DL,DX).call(this,e);return o.promise.then(()=>i(o.data)),null}const r=S(this,Od)[e];if(!r||r.data===YI)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return r.data}has(e){const i=S(this,Od)[e];return!!i&&i.data!==YI}delete(e){const i=S(this,Od)[e];return!i||i.data===YI?!1:(delete S(this,Od)[e],!0)}resolve(e,i=null){const r=oe(this,DL,DX).call(this,e);r.data=i,r.resolve()}clear(){var e;for(const i in S(this,Od)){const{data:r}=S(this,Od)[i];(e=r?.bitmap)==null||e.close()}ie(this,Od,Object.create(null))}*[Symbol.iterator](){for(const e in S(this,Od)){const{data:i}=S(this,Od)[e];i!==YI&&(yield[e,i])}}}Od=new WeakMap,DL=new WeakSet,DX=function(t){var e;return(e=S(this,Od))[t]||(e[t]={...Promise.withResolvers(),data:YI})};var cm;class E_i{constructor(e){ce(this,cm,null),ie(this,cm,e),this.onContinue=null}get promise(){return S(this,cm).capability.promise}cancel(e=0){S(this,cm).cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=S(this,cm).operatorList;if(!e)return!1;const{annotationCanvasMap:i}=S(this,cm);return e.form||e.canvas&&i?.size>0}}cm=new WeakMap;var dm,v6;const uke=class _E{constructor({callback:e,params:i,objs:r,commonObjs:o,annotationCanvasMap:n,operatorList:s,pageIndex:a,canvasFactory:l,filterFactory:c,useRequestAnimationFrame:d=!1,pdfBug:u=!1,pageColors:A=null}){ce(this,dm,null),this.callback=e,this.params=i,this.objs=r,this.commonObjs=o,this.annotationCanvasMap=n,this.operatorListIdx=null,this.operatorList=s,this._pageIndex=a,this.canvasFactory=l,this.filterFactory=c,this._pdfBug=u,this.pageColors=A,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=d===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new E_i(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=i.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:i}){var r,o;if(this.cancelled)return;if(this._canvas){if(S(_E,v6).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");S(_E,v6).add(this._canvas)}this._pdfBug&&(r=globalThis.StepperManager)!=null&&r.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:n,viewport:s,transform:a,background:l}=this.params;this.gfx=new lL(n,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:i},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:a,viewport:s,transparency:e,background:l}),this.operatorListIdx=0,this.graphicsReady=!0,(o=this.graphicsReadyCallback)==null||o.call(this)}cancel(e=null,i=0){var r;this.running=!1,this.cancelled=!0,(r=this.gfx)==null||r.endDrawing(),S(this,dm)&&(window.cancelAnimationFrame(S(this,dm)),ie(this,dm,null)),S(_E,v6).delete(this._canvas),this.callback(e||new NZ(`Rendering cancelled, page ${this._pageIndex+1}`,i))}operatorListChanged(){var e;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(e=this.stepper)==null||e.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?ie(this,dm,window.requestAnimationFrame(()=>{ie(this,dm,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),S(_E,v6).delete(this._canvas),this.callback())))}};dm=new WeakMap,v6=new WeakMap,ce(uke,v6,new WeakSet);let x_i=uke;const k_i="4.10.38",M_i="f9bea397f";function Ake(t){return Math.floor(Math.max(0,Math.min(1,t))*255).toString(16).padStart(2,"0")}function WI(t){return Math.max(0,Math.min(255,255*t))}class hke{static CMYK_G([e,i,r,o]){return["G",1-Math.min(1,.3*e+.59*r+.11*i+o)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=WI(e),[e,e,e]}static G_HTML([e]){const i=Ake(e);return`#${i}${i}${i}`}static RGB_G([e,i,r]){return["G",.3*e+.59*i+.11*r]}static RGB_rgb(e){return e.map(WI)}static RGB_HTML(e){return`#${e.map(Ake).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,i,r,o]){return["RGB",1-Math.min(1,e+o),1-Math.min(1,r+o),1-Math.min(1,i+o)]}static CMYK_rgb([e,i,r,o]){return[WI(1-Math.min(1,e+o)),WI(1-Math.min(1,r+o)),WI(1-Math.min(1,i+o))]}static CMYK_HTML(e){const i=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(i)}static RGB_CMYK([e,i,r]){const o=1-e,n=1-i,s=1-r,a=Math.min(o,n,s);return["CMYK",o,n,s,a]}}class S_i{create(e,i,r=!1){if(e<=0||i<=0)throw new Error("Invalid SVG dimensions");const o=this._createSVG("svg:svg");return o.setAttribute("version","1.1"),r||(o.setAttribute("width",`${e}px`),o.setAttribute("height",`${i}px`)),o.setAttribute("preserveAspectRatio","none"),o.setAttribute("viewBox",`0 0 ${e} ${i}`),o}createElement(e){if(typeof e!="string")throw new Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){So("Abstract method `_createSVG` called.")}}class PX extends S_i{_createSVG(e){return document.createElementNS(V1,e)}}class pke{static setupStorage(e,i,r,o,n){const s=o.getValue(i,{value:null});switch(r.name){case"textarea":if(s.value!==null&&(e.textContent=s.value),n==="print")break;e.addEventListener("input",a=>{o.setValue(i,{value:a.target.value})});break;case"input":if(r.attributes.type==="radio"||r.attributes.type==="checkbox"){if(s.value===r.attributes.xfaOn?e.setAttribute("checked",!0):s.value===r.attributes.xfaOff&&e.removeAttribute("checked"),n==="print")break;e.addEventListener("change",a=>{o.setValue(i,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(s.value!==null&&e.setAttribute("value",s.value),n==="print")break;e.addEventListener("input",a=>{o.setValue(i,{value:a.target.value})})}break;case"select":if(s.value!==null){e.setAttribute("value",s.value);for(const a of r.children)a.attributes.value===s.value?a.attributes.selected=!0:a.attributes.hasOwnProperty("selected")&&delete a.attributes.selected}e.addEventListener("input",a=>{const l=a.target.options,c=l.selectedIndex===-1?"":l[l.selectedIndex].value;o.setValue(i,{value:c})});break}}static setAttributes({html:e,element:i,storage:r=null,intent:o,linkService:n}){const{attributes:s}=i,a=e instanceof HTMLAnchorElement;s.type==="radio"&&(s.name=`${s.name}-${o}`);for(const[l,c]of Object.entries(s))if(c!=null)switch(l){case"class":c.length&&e.setAttribute(l,c.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",c);break;case"style":Object.assign(e.style,c);break;case"textContent":e.textContent=c;break;default:(!a||l!=="href"&&l!=="newWindow")&&e.setAttribute(l,c)}a&&n.addLinkAttributes(e,s.href,s.newWindow),r&&s.dataId&&this.setupStorage(e,s.dataId,i,r)}static render(e){var i,r;const o=e.annotationStorage,n=e.linkService,s=e.xfaHtml,a=e.intent||"display",l=document.createElement(s.name);s.attributes&&this.setAttributes({html:l,element:s,intent:a,linkService:n});const c=a!=="richText",d=e.div;if(d.append(l),e.viewport){const h=`matrix(${e.viewport.transform.join(",")})`;d.style.transform=h}c&&d.setAttribute("class","xfaLayer xfaFont");const u=[];if(s.children.length===0){if(s.value){const h=document.createTextNode(s.value);l.append(h),c&&JE.shouldBuildText(s.name)&&u.push(h)}return{textDivs:u}}const A=[[s,-1,l]];for(;A.length>0;){const[h,g,p]=A.at(-1);if(g+1===h.children.length){A.pop();continue}const m=h.children[++A.at(-1)[1]];if(m===null)continue;const{name:f}=m;if(f==="#text"){const y=document.createTextNode(m.value);u.push(y),p.append(y);continue}const C=(i=m?.attributes)!=null&&i.xmlns?document.createElementNS(m.attributes.xmlns,f):document.createElement(f);if(p.append(C),m.attributes&&this.setAttributes({html:C,element:m,storage:o,intent:a,linkService:n}),((r=m.children)==null?void 0:r.length)>0)A.push([m,-1,C]);else if(m.value){const y=document.createTextNode(m.value);c&&JE.shouldBuildText(f)&&u.push(y),C.append(y)}}for(const h of d.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))h.setAttribute("readOnly",!0);return{textDivs:u}}static update(e){const i=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=i,e.div.hidden=!1}}const ZI=1e3,Q_i=9,um=new WeakSet;function Bg(t){return{width:t[2]-t[0],height:t[3]-t[1]}}class D_i{static create(e){switch(e.data.annotationType){case Cs.LINK:return new mke(e);case Cs.TEXT:return new R_i(e);case Cs.WIDGET:switch(e.data.fieldType){case"Tx":return new L_i(e);case"Btn":return e.data.radioButton?new vke(e):e.data.checkBox?new F_i(e):new __i(e);case"Ch":return new U_i(e);case"Sig":return new T_i(e)}return new pm(e);case Cs.POPUP:return new LX(e);case Cs.FREETEXT:return new Ike(e);case Cs.LINE:return new O_i(e);case Cs.SQUARE:return new H_i(e);case Cs.CIRCLE:return new V_i(e);case Cs.POLYLINE:return new Bke(e);case Cs.CARET:return new j_i(e);case Cs.INK:return new OX(e);case Cs.POLYGON:return new G_i(e);case Cs.HIGHLIGHT:return new Eke(e);case Cs.UNDERLINE:return new z_i(e);case Cs.SQUIGGLY:return new q_i(e);case Cs.STRIKEOUT:return new K_i(e);case Cs.STAMP:return new xke(e);case Cs.FILEATTACHMENT:return new J_i(e);default:return new ws(e)}}}var Am,XI,$I,PL,RX;const P_i=class $Pe{constructor(e,{isRenderable:i=!1,ignoreBorder:r=!1,createQuadrilaterals:o=!1}={}){ce(this,PL),ce(this,Am,null),ce(this,XI,!1),ce(this,$I,null),this.isRenderable=i,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,i&&(this.container=this._createContainer(r)),o&&this._createQuadrilaterals()}static _hasPopupData({titleObj:e,contentsObj:i,richText:r}){return!!(e!=null&&e.str||i!=null&&i.str||r!=null&&r.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return $Pe._hasPopupData(this.data)}updateEdited(e){var i;if(!this.container)return;S(this,Am)||ie(this,Am,{rect:this.data.rect.slice(0)});const{rect:r}=e;r&&oe(this,PL,RX).call(this,r),(i=S(this,$I))==null||i.popup.updateEdited(e)}resetEdited(){var e;S(this,Am)&&(oe(this,PL,RX).call(this,S(this,Am).rect),(e=S(this,$I))==null||e.popup.resetEdited(),ie(this,Am,null))}_createContainer(e){const{data:i,parent:{page:r,viewport:o}}=this,n=document.createElement("section");n.setAttribute("data-annotation-id",i.id),this instanceof pm||(n.tabIndex=ZI);const{style:s}=n;if(s.zIndex=this.parent.zIndex++,i.alternativeText&&(n.title=i.alternativeText),i.noRotate&&n.classList.add("norotate"),!i.rect||this instanceof LX){const{rotation:p}=i;return!i.hasOwnCanvas&&p!==0&&this.setRotation(p,n),n}const{width:a,height:l}=Bg(i.rect);if(!e&&i.borderStyle.width>0){s.borderWidth=`${i.borderStyle.width}px`;const p=i.borderStyle.horizontalCornerRadius,m=i.borderStyle.verticalCornerRadius;if(p>0||m>0){const C=`calc(${p}px * var(--scale-factor)) / calc(${m}px * var(--scale-factor))`;s.borderRadius=C}else if(this instanceof vke){const C=`calc(${a}px * var(--scale-factor)) / calc(${l}px * var(--scale-factor))`;s.borderRadius=C}switch(i.borderStyle.style){case iI.SOLID:s.borderStyle="solid";break;case iI.DASHED:s.borderStyle="dashed";break;case iI.BEVELED:nr("Unimplemented border style: beveled");break;case iI.INSET:nr("Unimplemented border style: inset");break;case iI.UNDERLINE:s.borderBottomStyle="solid";break}const f=i.borderColor||null;f?(ie(this,XI,!0),s.borderColor=bi.makeHexColor(f[0]|0,f[1]|0,f[2]|0)):s.borderWidth=0}const c=bi.normalizeRect([i.rect[0],r.view[3]-i.rect[1]+r.view[1],i.rect[2],r.view[3]-i.rect[3]+r.view[1]]),{pageWidth:d,pageHeight:u,pageX:A,pageY:h}=o.rawDims;s.left=`${100*(c[0]-A)/d}%`,s.top=`${100*(c[1]-h)/u}%`;const{rotation:g}=i;return i.hasOwnCanvas||g===0?(s.width=`${100*a/d}%`,s.height=`${100*l/u}%`):this.setRotation(g,n),n}setRotation(e,i=this.container){if(!this.data.rect)return;const{pageWidth:r,pageHeight:o}=this.parent.viewport.rawDims,{width:n,height:s}=Bg(this.data.rect);let a,l;e%180===0?(a=100*n/r,l=100*s/o):(a=100*s/r,l=100*n/o),i.style.width=`${a}%`,i.style.height=`${l}%`,i.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){const e=(i,r,o)=>{const n=o.detail[i],s=n[0],a=n.slice(1);o.target.style[r]=hke[`${s}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[r]:hke[`${s}_rgb`](a)})};return gr(this,"_commonActions",{display:i=>{const{display:r}=i.detail,o=r%2===1;this.container.style.visibility=o?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:o,noPrint:r===1||r===2})},print:i=>{this.annotationStorage.setValue(this.data.id,{noPrint:!i.detail.print})},hidden:i=>{const{hidden:r}=i.detail;this.container.style.visibility=r?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:r,noView:r})},focus:i=>{setTimeout(()=>i.target.focus({preventScroll:!1}),0)},userName:i=>{i.target.title=i.detail.userName},readonly:i=>{i.target.disabled=i.detail.readonly},required:i=>{this._setRequired(i.target,i.detail.required)},bgColor:i=>{e("bgColor","backgroundColor",i)},fillColor:i=>{e("fillColor","backgroundColor",i)},fgColor:i=>{e("fgColor","color",i)},textColor:i=>{e("textColor","color",i)},borderColor:i=>{e("borderColor","borderColor",i)},strokeColor:i=>{e("strokeColor","borderColor",i)},rotation:i=>{const r=i.detail.rotation;this.setRotation(r),this.annotationStorage.setValue(this.data.id,{rotation:r})}})}_dispatchEventFromSandbox(e,i){const r=this._commonActions;for(const o of Object.keys(i.detail)){const n=e[o]||r[o];n?.(i)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const i=this.annotationStorage.getRawValue(this.data.id);if(!i)return;const r=this._commonActions;for(const[o,n]of Object.entries(i)){const s=r[o];if(s){const a={detail:{[o]:n},target:e};s(a),delete i[o]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[i,r,o,n]=this.data.rect.map(p=>Math.fround(p));if(e.length===8){const[p,m,f,C]=e.subarray(2,6);if(o===p&&n===m&&i===f&&r===C)return}const{style:s}=this.container;let a;if(S(this,XI)){const{borderColor:p,borderWidth:m}=s;s.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${p}" stroke-width="${m}">`],this.container.classList.add("hasBorder")}const l=o-i,c=n-r,{svgFactory:d}=this,u=d.createElement("svg");u.classList.add("quadrilateralsContainer"),u.setAttribute("width",0),u.setAttribute("height",0);const A=d.createElement("defs");u.append(A);const h=d.createElement("clipPath"),g=`clippath_${this.data.id}`;h.setAttribute("id",g),h.setAttribute("clipPathUnits","objectBoundingBox"),A.append(h);for(let p=2,m=e.length;p<m;p+=8){const f=e[p],C=e[p+1],y=e[p+2],v=e[p+3],w=d.createElement("rect"),b=(y-i)/l,E=(n-C)/c,k=(f-y)/l,x=(C-v)/c;w.setAttribute("x",b),w.setAttribute("y",E),w.setAttribute("width",k),w.setAttribute("height",x),h.append(w),a?.push(`<rect vector-effect="non-scaling-stroke" x="${b}" y="${E}" width="${k}" height="${x}"/>`)}S(this,XI)&&(a.push("</g></svg>')"),s.backgroundImage=a.join("")),this.container.append(u),this.container.style.clipPath=`url(#${g})`}_createPopup(){const{data:e}=this,i=ie(this,$I,new LX({data:{color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation},parent:this.parent,elements:[this]}));this.parent.div.append(i.render())}render(){So("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,i=null){const r=[];if(this._fieldObjects){const o=this._fieldObjects[e];if(o)for(const{page:n,id:s,exportValues:a}of o){if(n===-1||s===i)continue;const l=typeof a=="string"?a:null,c=document.querySelector(`[data-element-id="${s}"]`);if(c&&!um.has(c)){nr(`_getElementsByName - element not allowed: ${s}`);continue}r.push({id:s,exportValue:l,domElement:c})}return r}for(const o of document.getElementsByName(e)){const{exportValue:n}=o,s=o.getAttribute("data-element-id");s!==i&&um.has(o)&&r.push({id:s,exportValue:n,domElement:o})}return r}show(){var e;this.container&&(this.container.hidden=!1),(e=this.popup)==null||e.maybeShow()}hide(){var e;this.container&&(this.container.hidden=!0),(e=this.popup)==null||e.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(const i of e)i.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:e,data:{id:i}}=this;this.container.addEventListener("dblclick",()=>{var r;(r=this.linkService.eventBus)==null||r.dispatch("switchannotationeditormode",{source:this,mode:e,editId:i})})}};Am=new WeakMap,XI=new WeakMap,$I=new WeakMap,PL=new WeakSet,RX=function(t){const{container:{style:e},data:{rect:i,rotation:r},parent:{viewport:{rawDims:{pageWidth:o,pageHeight:n,pageX:s,pageY:a}}}}=this;i?.splice(0,4,...t);const{width:l,height:c}=Bg(t);e.left=`${100*(t[0]-s)/o}%`,e.top=`${100*(n-t[3]+a)/n}%`,r===0?(e.width=`${100*l/o}%`,e.height=`${100*c/n}%`):this.setRotation(r)};let ws=P_i;var uh,hm,gke,fke;class mke extends ws{constructor(e,i=null){super(e,{isRenderable:!0,ignoreBorder:!!(i!=null&&i.ignoreBorder),createQuadrilaterals:!0}),ce(this,uh),this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:i}=this,r=document.createElement("a");r.setAttribute("data-element-id",e.id);let o=!1;return e.url?(i.addLinkAttributes(r,e.url,e.newWindow),o=!0):e.action?(this._bindNamedAction(r,e.action),o=!0):e.attachment?(oe(this,uh,gke).call(this,r,e.attachment,e.attachmentDest),o=!0):e.setOCGState?(oe(this,uh,fke).call(this,r,e.setOCGState),o=!0):e.dest?(this._bindLink(r,e.dest),o=!0):(e.actions&&(e.actions.Action||e.actions["Mouse Up"]||e.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(r,e),o=!0),e.resetForm?(this._bindResetFormAction(r,e.resetForm),o=!0):this.isTooltipOnly&&!o&&(this._bindLink(r,""),o=!0)),this.container.classList.add("linkAnnotation"),o&&this.container.append(r),this.container}_bindLink(e,i){e.href=this.linkService.getDestinationHash(i),e.onclick=()=>(i&&this.linkService.goToDestination(i),!1),(i||i==="")&&oe(this,uh,hm).call(this)}_bindNamedAction(e,i){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(i),!1),oe(this,uh,hm).call(this)}_bindJSAction(e,i){e.href=this.linkService.getAnchorUrl("");const r=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const o of Object.keys(i.actions)){const n=r.get(o);n&&(e[n]=()=>{var s;return(s=this.linkService.eventBus)==null||s.dispatch("dispatcheventinsandbox",{source:this,detail:{id:i.id,name:o}}),!1})}e.onclick||(e.onclick=()=>!1),oe(this,uh,hm).call(this)}_bindResetFormAction(e,i){const r=e.onclick;if(r||(e.href=this.linkService.getAnchorUrl("")),oe(this,uh,hm).call(this),!this._fieldObjects){nr('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),r||(e.onclick=()=>!1);return}e.onclick=()=>{var o;r?.();const{fields:n,refs:s,include:a}=i,l=[];if(n.length!==0||s.length!==0){const u=new Set(s);for(const A of n){const h=this._fieldObjects[A]||[];for(const{id:g}of h)u.add(g)}for(const A of Object.values(this._fieldObjects))for(const h of A)u.has(h.id)===a&&l.push(h)}else for(const u of Object.values(this._fieldObjects))l.push(...u);const c=this.annotationStorage,d=[];for(const u of l){const{id:A}=u;switch(d.push(A),u.type){case"text":{const g=u.defaultValue||"";c.setValue(A,{value:g});break}case"checkbox":case"radiobutton":{const g=u.defaultValue===u.exportValues;c.setValue(A,{value:g});break}case"combobox":case"listbox":{const g=u.defaultValue||"";c.setValue(A,{value:g});break}default:continue}const h=document.querySelector(`[data-element-id="${A}"]`);if(h){if(!um.has(h)){nr(`_bindResetFormAction - element not allowed: ${A}`);continue}}else continue;h.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((o=this.linkService.eventBus)==null||o.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:d,name:"ResetForm"}})),!1}}}uh=new WeakSet,hm=function(){this.container.setAttribute("data-internal-link","")},gke=function(t,e,i=null){t.href=this.linkService.getAnchorUrl(""),e.description&&(t.title=e.description),t.onclick=()=>{var r;return(r=this.downloadManager)==null||r.openOrDownloadData(e.content,e.filename,i),!1},oe(this,uh,hm).call(this)},fke=function(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(e),!1),oe(this,uh,hm).call(this)};class R_i extends ws{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const e=document.createElement("img");return e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(e),this.container}}class pm extends ws{render(){return this.container}showElementAndHideCanvas(e){var i;this.data.hasOwnCanvas&&(((i=e.previousSibling)==null?void 0:i.nodeName)==="CANVAS"&&(e.previousSibling.hidden=!0),e.hidden=!1)}_getKeyModifier(e){return xl.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,i,r,o,n){r.includes("mouse")?e.addEventListener(r,s=>{var a;(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:o,value:n(s),shift:s.shiftKey,modifier:this._getKeyModifier(s)}})}):e.addEventListener(r,s=>{var a;if(r==="blur"){if(!i.focused||!s.relatedTarget)return;i.focused=!1}else if(r==="focus"){if(i.focused)return;i.focused=!0}n&&((a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:o,value:n(s)}}))})}_setEventListeners(e,i,r,o){var n,s,a;for(const[l,c]of r)(c==="Action"||(n=this.data.actions)!=null&&n[c])&&((c==="Focus"||c==="Blur")&&(i||(i={focused:!1})),this._setEventListener(e,i,l,c,o),c==="Focus"&&!((s=this.data.actions)!=null&&s.Blur)?this._setEventListener(e,i,"blur","Blur",null):c==="Blur"&&!((a=this.data.actions)!=null&&a.Focus)&&this._setEventListener(e,i,"focus","Focus",null))}_setBackgroundColor(e){const i=this.data.backgroundColor||null;e.style.backgroundColor=i===null?"transparent":bi.makeHexColor(i[0],i[1],i[2])}_setTextStyle(e){const i=["left","center","right"],{fontColor:r}=this.data.defaultAppearanceData,o=this.data.defaultAppearanceData.fontSize||Q_i,n=e.style;let s;const a=2,l=c=>Math.round(10*c)/10;if(this.data.multiLine){const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a),d=Math.round(c/(QZ*o))||1,u=c/d;s=Math.min(o,l(u/QZ))}else{const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a);s=Math.min(o,l(c/QZ))}n.fontSize=`calc(${s}px * var(--scale-factor))`,n.color=bi.makeHexColor(r[0],r[1],r[2]),this.data.textAlignment!==null&&(n.textAlign=i[this.data.textAlignment])}_setRequired(e,i){i?e.setAttribute("required",!0):e.removeAttribute("required"),e.setAttribute("aria-required",i)}}class L_i extends pm{constructor(e){const i=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:i})}setPropertyOnSiblings(e,i,r,o){const n=this.annotationStorage;for(const s of this._getElementsByName(e.name,e.id))s.domElement&&(s.domElement[i]=r),n.setValue(s.id,{[o]:r})}render(){var e,i;const r=this.annotationStorage,o=this.data.id;this.container.classList.add("textWidgetAnnotation");let n=null;if(this.renderForms){const s=r.getValue(o,{value:this.data.fieldValue});let a=s.value||"";const l=r.getValue(o,{charLimit:this.data.maxLen}).charLimit;l&&a.length>l&&(a=a.slice(0,l));let c=s.formattedValue||((e=this.data.textContent)==null?void 0:e.join(`
5497
5497
  `))||null;c&&this.data.comb&&(c=c.replaceAll(/\s+/g,""));const d={userValue:a,formattedValue:c,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(n=document.createElement("textarea"),n.textContent=c??a,this.data.doNotScroll&&(n.style.overflowY="hidden")):(n=document.createElement("input"),n.type="text",n.setAttribute("value",c??a),this.data.doNotScroll&&(n.style.overflowX="hidden")),this.data.hasOwnCanvas&&(n.hidden=!0),um.add(n),n.setAttribute("data-element-id",o),n.disabled=this.data.readOnly,n.name=this.data.fieldName,n.tabIndex=ZI,this._setRequired(n,this.data.required),l&&(n.maxLength=l),n.addEventListener("input",A=>{r.setValue(o,{value:A.target.value}),this.setPropertyOnSiblings(n,"value",A.target.value,"value"),d.formattedValue=null}),n.addEventListener("resetform",A=>{const h=this.data.defaultFieldValue??"";n.value=d.userValue=h,d.formattedValue=null});let u=A=>{const{formattedValue:h}=d;h!=null&&(A.target.value=h),A.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){n.addEventListener("focus",h=>{var g;if(d.focused)return;const{target:p}=h;d.userValue&&(p.value=d.userValue),d.lastCommittedValue=p.value,d.commitKey=1,(g=this.data.actions)!=null&&g.Focus||(d.focused=!0)}),n.addEventListener("updatefromsandbox",h=>{this.showElementAndHideCanvas(h.target);const g={value(p){d.userValue=p.detail.value??"",r.setValue(o,{value:d.userValue.toString()}),p.target.value=d.userValue},formattedValue(p){const{formattedValue:m}=p.detail;d.formattedValue=m,m!=null&&p.target!==document.activeElement&&(p.target.value=m),r.setValue(o,{formattedValue:m})},selRange(p){p.target.setSelectionRange(...p.detail.selRange)},charLimit:p=>{var m;const{charLimit:f}=p.detail,{target:C}=p;if(f===0){C.removeAttribute("maxLength");return}C.setAttribute("maxLength",f);let y=d.userValue;!y||y.length<=f||(y=y.slice(0,f),C.value=d.userValue=y,r.setValue(o,{value:y}),(m=this.linkService.eventBus)==null||m.dispatch("dispatcheventinsandbox",{source:this,detail:{id:o,name:"Keystroke",value:y,willCommit:!0,commitKey:1,selStart:C.selectionStart,selEnd:C.selectionEnd}}))}};this._dispatchEventFromSandbox(g,h)}),n.addEventListener("keydown",h=>{var g;d.commitKey=1;let p=-1;if(h.key==="Escape"?p=0:h.key==="Enter"&&!this.data.multiLine?p=2:h.key==="Tab"&&(d.commitKey=3),p===-1)return;const{value:m}=h.target;d.lastCommittedValue!==m&&(d.lastCommittedValue=m,d.userValue=m,(g=this.linkService.eventBus)==null||g.dispatch("dispatcheventinsandbox",{source:this,detail:{id:o,name:"Keystroke",value:m,willCommit:!0,commitKey:p,selStart:h.target.selectionStart,selEnd:h.target.selectionEnd}}))});const A=u;u=null,n.addEventListener("blur",h=>{var g,p;if(!d.focused||!h.relatedTarget)return;(g=this.data.actions)!=null&&g.Blur||(d.focused=!1);const{value:m}=h.target;d.userValue=m,d.lastCommittedValue!==m&&((p=this.linkService.eventBus)==null||p.dispatch("dispatcheventinsandbox",{source:this,detail:{id:o,name:"Keystroke",value:m,willCommit:!0,commitKey:d.commitKey,selStart:h.target.selectionStart,selEnd:h.target.selectionEnd}})),A(h)}),(i=this.data.actions)!=null&&i.Keystroke&&n.addEventListener("beforeinput",h=>{var g;d.lastCommittedValue=null;const{data:p,target:m}=h,{value:f,selectionStart:C,selectionEnd:y}=m;let v=C,w=y;switch(h.inputType){case"deleteWordBackward":{const b=f.substring(0,C).match(/\w*[^\w]*$/);b&&(v-=b[0].length);break}case"deleteWordForward":{const b=f.substring(C).match(/^[^\w]*\w*/);b&&(w+=b[0].length);break}case"deleteContentBackward":C===y&&(v-=1);break;case"deleteContentForward":C===y&&(w+=1);break}h.preventDefault(),(g=this.linkService.eventBus)==null||g.dispatch("dispatcheventinsandbox",{source:this,detail:{id:o,name:"Keystroke",value:f,change:p||"",willCommit:!1,selStart:v,selEnd:w}})}),this._setEventListeners(n,d,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],h=>h.target.value)}if(u&&n.addEventListener("blur",u),this.data.comb){const A=(this.data.rect[2]-this.data.rect[0])/l;n.classList.add("comb"),n.style.letterSpacing=`calc(${A}px * var(--scale-factor) - 1ch)`}}else n=document.createElement("div"),n.textContent=this.data.fieldValue,n.style.verticalAlign="middle",n.style.display="table-cell",this.data.hasOwnCanvas&&(n.hidden=!0);return this._setTextStyle(n),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class T_i extends pm{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class F_i extends pm{constructor(e){super(e,{isRenderable:e.renderForms})}render(){const e=this.annotationStorage,i=this.data,r=i.id;let o=e.getValue(r,{value:i.exportValue===i.fieldValue}).value;typeof o=="string"&&(o=o!=="Off",e.setValue(r,{value:o})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const n=document.createElement("input");return um.add(n),n.setAttribute("data-element-id",r),n.disabled=i.readOnly,this._setRequired(n,this.data.required),n.type="checkbox",n.name=i.fieldName,o&&n.setAttribute("checked",!0),n.setAttribute("exportValue",i.exportValue),n.tabIndex=ZI,n.addEventListener("change",s=>{const{name:a,checked:l}=s.target;for(const c of this._getElementsByName(a,r)){const d=l&&c.exportValue===i.exportValue;c.domElement&&(c.domElement.checked=d),e.setValue(c.id,{value:d})}e.setValue(r,{value:l})}),n.addEventListener("resetform",s=>{const a=i.defaultFieldValue||"Off";s.target.checked=a===i.exportValue}),this.enableScripting&&this.hasJSActions&&(n.addEventListener("updatefromsandbox",s=>{const a={value(l){l.target.checked=l.detail.value!=="Off",e.setValue(r,{value:l.target.checked})}};this._dispatchEventFromSandbox(a,s)}),this._setEventListeners(n,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],s=>s.target.checked)),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class vke extends pm{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const e=this.annotationStorage,i=this.data,r=i.id;let o=e.getValue(r,{value:i.fieldValue===i.buttonValue}).value;if(typeof o=="string"&&(o=o!==i.buttonValue,e.setValue(r,{value:o})),o)for(const s of this._getElementsByName(i.fieldName,r))e.setValue(s.id,{value:!1});const n=document.createElement("input");if(um.add(n),n.setAttribute("data-element-id",r),n.disabled=i.readOnly,this._setRequired(n,this.data.required),n.type="radio",n.name=i.fieldName,o&&n.setAttribute("checked",!0),n.tabIndex=ZI,n.addEventListener("change",s=>{const{name:a,checked:l}=s.target;for(const c of this._getElementsByName(a,r))e.setValue(c.id,{value:!1});e.setValue(r,{value:l})}),n.addEventListener("resetform",s=>{const a=i.defaultFieldValue;s.target.checked=a!=null&&a===i.buttonValue}),this.enableScripting&&this.hasJSActions){const s=i.buttonValue;n.addEventListener("updatefromsandbox",a=>{const l={value:c=>{const d=s===c.detail.value;for(const u of this._getElementsByName(c.target.name)){const A=d&&u.id===r;u.domElement&&(u.domElement.checked=A),e.setValue(u.id,{value:A})}}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(n,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class __i extends mke{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){const e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");const i=e.lastChild;return this.enableScripting&&this.hasJSActions&&i&&(this._setDefaultPropertiesFromJS(i),i.addEventListener("updatefromsandbox",r=>{this._dispatchEventFromSandbox({},r)})),e}}class U_i extends pm{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const e=this.annotationStorage,i=this.data.id,r=e.getValue(i,{value:this.data.fieldValue}),o=document.createElement("select");um.add(o),o.setAttribute("data-element-id",i),o.disabled=this.data.readOnly,this._setRequired(o,this.data.required),o.name=this.data.fieldName,o.tabIndex=ZI;let n=this.data.combo&&this.data.options.length>0;this.data.combo||(o.size=this.data.options.length,this.data.multiSelect&&(o.multiple=!0)),o.addEventListener("resetform",d=>{const u=this.data.defaultFieldValue;for(const A of o.options)A.selected=A.value===u});for(const d of this.data.options){const u=document.createElement("option");u.textContent=d.displayValue,u.value=d.exportValue,r.value.includes(d.exportValue)&&(u.setAttribute("selected",!0),n=!1),o.append(u)}let s=null;if(n){const d=document.createElement("option");d.value=" ",d.setAttribute("hidden",!0),d.setAttribute("selected",!0),o.prepend(d),s=()=>{d.remove(),o.removeEventListener("input",s),s=null},o.addEventListener("input",s)}const a=d=>{const u=d?"value":"textContent",{options:A,multiple:h}=o;return h?Array.prototype.filter.call(A,g=>g.selected).map(g=>g[u]):A.selectedIndex===-1?null:A[A.selectedIndex][u]};let l=a(!1);const c=d=>{const u=d.target.options;return Array.prototype.map.call(u,A=>({displayValue:A.textContent,exportValue:A.value}))};return this.enableScripting&&this.hasJSActions?(o.addEventListener("updatefromsandbox",d=>{const u={value(A){s?.();const h=A.detail.value,g=new Set(Array.isArray(h)?h:[h]);for(const p of o.options)p.selected=g.has(p.value);e.setValue(i,{value:a(!0)}),l=a(!1)},multipleSelection(A){o.multiple=!0},remove(A){const h=o.options,g=A.detail.remove;h[g].selected=!1,o.remove(g),h.length>0&&Array.prototype.findIndex.call(h,p=>p.selected)===-1&&(h[0].selected=!0),e.setValue(i,{value:a(!0),items:c(A)}),l=a(!1)},clear(A){for(;o.length!==0;)o.remove(0);e.setValue(i,{value:null,items:[]}),l=a(!1)},insert(A){const{index:h,displayValue:g,exportValue:p}=A.detail.insert,m=o.children[h],f=document.createElement("option");f.textContent=g,f.value=p,m?m.before(f):o.append(f),e.setValue(i,{value:a(!0),items:c(A)}),l=a(!1)},items(A){const{items:h}=A.detail;for(;o.length!==0;)o.remove(0);for(const g of h){const{displayValue:p,exportValue:m}=g,f=document.createElement("option");f.textContent=p,f.value=m,o.append(f)}o.options.length>0&&(o.options[0].selected=!0),e.setValue(i,{value:a(!0),items:c(A)}),l=a(!1)},indices(A){const h=new Set(A.detail.indices);for(const g of A.target.options)g.selected=h.has(g.index);e.setValue(i,{value:a(!0)}),l=a(!1)},editable(A){A.target.disabled=!A.detail.editable}};this._dispatchEventFromSandbox(u,d)}),o.addEventListener("input",d=>{var u;const A=a(!0),h=a(!1);e.setValue(i,{value:A}),d.preventDefault(),(u=this.linkService.eventBus)==null||u.dispatch("dispatcheventinsandbox",{source:this,detail:{id:i,name:"Keystroke",value:l,change:h,changeEx:A,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(o,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],d=>d.target.value)):o.addEventListener("input",function(d){e.setValue(i,{value:a(!0)})}),this.data.combo&&this._setTextStyle(o),this._setBackgroundColor(o),this._setDefaultPropertiesFromJS(o),this.container.append(o),this.container}}class LX extends ws{constructor(e){const{data:i,elements:r}=e;super(e,{isRenderable:ws._hasPopupData(i)}),this.elements=r,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new N_i({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),i=[];for(const r of this.elements)r.popup=e,r.container.ariaHasPopup="dialog",i.push(r.data.id),r.addHighlightArea();return this.container.setAttribute("aria-controls",i.map(r=>`${UZ}${r}`).join(",")),this.container}}var eB,TX,FX,tB,C6,jn,Eg,iB,RL,LL,rB,xg,Ah,kg,TL,Mg,FL,gm,y6,bs,_L,_X,Cke,yke,wke,bke,UL,NL,UX;class N_i{constructor({container:e,color:i,elements:r,titleObj:o,modificationDate:n,contentsObj:s,richText:a,parent:l,rect:c,parentRect:d,open:u}){ce(this,bs),ce(this,eB,oe(this,bs,wke).bind(this)),ce(this,TX,oe(this,bs,UX).bind(this)),ce(this,FX,oe(this,bs,NL).bind(this)),ce(this,tB,oe(this,bs,UL).bind(this)),ce(this,C6,null),ce(this,jn,null),ce(this,Eg,null),ce(this,iB,null),ce(this,RL,null),ce(this,LL,null),ce(this,rB,null),ce(this,xg,!1),ce(this,Ah,null),ce(this,kg,null),ce(this,TL,null),ce(this,Mg,null),ce(this,FL,null),ce(this,gm,null),ce(this,y6,!1);var A;ie(this,jn,e),ie(this,FL,o),ie(this,Eg,s),ie(this,Mg,a),ie(this,LL,l),ie(this,C6,i),ie(this,TL,c),ie(this,rB,d),ie(this,RL,r),ie(this,iB,HZ.toDateObject(n)),this.trigger=r.flatMap(h=>h.getElementsToTriggerPopup());for(const h of this.trigger)h.addEventListener("click",S(this,tB)),h.addEventListener("mouseenter",S(this,FX)),h.addEventListener("mouseleave",S(this,TX)),h.classList.add("popupTriggerArea");for(const h of r)(A=h.container)==null||A.addEventListener("keydown",S(this,eB));S(this,jn).hidden=!0,u&&oe(this,bs,UL).call(this)}render(){if(S(this,Ah))return;const e=ie(this,Ah,document.createElement("div"));if(e.className="popup",S(this,C6)){const n=e.style.outlineColor=bi.makeHexColor(...S(this,C6));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?e.style.backgroundColor=`color-mix(in srgb, ${n} 30%, white)`:e.style.backgroundColor=bi.makeHexColor(...S(this,C6).map(s=>Math.floor(.7*(255-s)+s)))}const i=document.createElement("span");i.className="header";const r=document.createElement("h1");if(i.append(r),{dir:r.dir,str:r.textContent}=S(this,FL),e.append(i),S(this,iB)){const n=document.createElement("span");n.classList.add("popupDate"),n.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),n.setAttribute("data-l10n-args",JSON.stringify({dateObj:S(this,iB).valueOf()})),i.append(n)}const o=S(this,bs,_L);if(o)pke.render({xfaHtml:o,intent:"richText",div:e}),e.lastChild.classList.add("richText","popupContent");else{const n=this._formatContents(S(this,Eg));e.append(n)}S(this,jn).append(e)}_formatContents({str:e,dir:i}){const r=document.createElement("p");r.classList.add("popupContent"),r.dir=i;const o=e.split(/(?:\r\n?|\n)/);for(let n=0,s=o.length;n<s;++n){const a=o[n];r.append(document.createTextNode(a)),n<s-1&&r.append(document.createElement("br"))}return r}updateEdited({rect:e,popupContent:i}){var r;S(this,gm)||ie(this,gm,{contentsObj:S(this,Eg),richText:S(this,Mg)}),e&&ie(this,kg,null),i&&(ie(this,Mg,oe(this,bs,yke).call(this,i)),ie(this,Eg,null)),(r=S(this,Ah))==null||r.remove(),ie(this,Ah,null)}resetEdited(){var e;S(this,gm)&&({contentsObj:Ol(this,Eg)._,richText:Ol(this,Mg)._}=S(this,gm),ie(this,gm,null),(e=S(this,Ah))==null||e.remove(),ie(this,Ah,null),ie(this,kg,null))}forceHide(){ie(this,y6,this.isVisible),S(this,y6)&&(S(this,jn).hidden=!0)}maybeShow(){S(this,y6)&&(S(this,Ah)||oe(this,bs,NL).call(this),ie(this,y6,!1),S(this,jn).hidden=!1)}get isVisible(){return S(this,jn).hidden===!1}}eB=new WeakMap,TX=new WeakMap,FX=new WeakMap,tB=new WeakMap,C6=new WeakMap,jn=new WeakMap,Eg=new WeakMap,iB=new WeakMap,RL=new WeakMap,LL=new WeakMap,rB=new WeakMap,xg=new WeakMap,Ah=new WeakMap,kg=new WeakMap,TL=new WeakMap,Mg=new WeakMap,FL=new WeakMap,gm=new WeakMap,y6=new WeakMap,bs=new WeakSet,_L=function(){const t=S(this,Mg),e=S(this,Eg);return t!=null&&t.str&&(!(e!=null&&e.str)||e.str===t.str)&&S(this,Mg).html||null},_X=function(){var t,e,i;return((i=(e=(t=S(this,bs,_L))==null?void 0:t.attributes)==null?void 0:e.style)==null?void 0:i.fontSize)||0},Cke=function(){var t,e,i;return((i=(e=(t=S(this,bs,_L))==null?void 0:t.attributes)==null?void 0:e.style)==null?void 0:i.color)||null},yke=function(t){const e=[],i={str:t,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:e}]}},r={style:{color:S(this,bs,Cke),fontSize:S(this,bs,_X)?`calc(${S(this,bs,_X)}px * var(--scale-factor))`:""}};for(const o of t.split(`