From 86b23f4e6fd3c72657102d3150bb1fc421d5868c Mon Sep 17 00:00:00 2001 From: Severin Opel Date: Mon, 4 Nov 2019 10:59:08 +0100 Subject: [PATCH] Added the maps-module to the iwmlib. Migrated a ot of the content from the tuesch to the iwmlib. This is before the decoupeling of the layers. --- dist/iwmlib.js | 31 +- dist/iwmlib.pixi.js | 5266 ++++++++++++++++- lib/doctest.js | 2 +- lib/examples/maps.json | 105 + lib/interaction.js | 1 + lib/pixi/assets/maps/osm/0/0/0.png | Bin 0 -> 6780 bytes lib/pixi/assets/maps/osm/1/0/0.png | Bin 0 -> 8573 bytes lib/pixi/assets/maps/osm/1/0/1.png | Bin 0 -> 9140 bytes lib/pixi/assets/maps/osm/1/1/0.png | Bin 0 -> 2818 bytes lib/pixi/assets/maps/osm/1/1/1.png | Bin 0 -> 3314 bytes lib/pixi/assets/maps/osm/2/0/0.png | Bin 0 -> 4673 bytes lib/pixi/assets/maps/osm/2/0/1.png | Bin 0 -> 7202 bytes lib/pixi/assets/maps/osm/2/0/2.png | Bin 0 -> 4875 bytes lib/pixi/assets/maps/osm/2/0/3.png | Bin 0 -> 2424 bytes lib/pixi/assets/maps/osm/2/1/0.png | Bin 0 -> 3987 bytes lib/pixi/assets/maps/osm/2/1/1.png | Bin 0 -> 7435 bytes lib/pixi/assets/maps/osm/2/1/2.png | Bin 0 -> 10208 bytes lib/pixi/assets/maps/osm/2/1/3.png | Bin 0 -> 5814 bytes lib/pixi/assets/maps/osm/2/2/0.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/2/2/1.png | Bin 0 -> 3697 bytes lib/pixi/assets/maps/osm/2/2/2.png | Bin 0 -> 2821 bytes lib/pixi/assets/maps/osm/2/2/3.png | Bin 0 -> 3458 bytes lib/pixi/assets/maps/osm/2/3/0.png | Bin 0 -> 887 bytes lib/pixi/assets/maps/osm/2/3/1.png | Bin 0 -> 1481 bytes lib/pixi/assets/maps/osm/2/3/2.png | Bin 0 -> 814 bytes lib/pixi/assets/maps/osm/2/3/3.png | Bin 0 -> 982 bytes lib/pixi/assets/maps/osm/3/0/0.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/0/1.png | Bin 0 -> 942 bytes lib/pixi/assets/maps/osm/3/0/2.png | Bin 0 -> 4938 bytes lib/pixi/assets/maps/osm/3/0/3.png | Bin 0 -> 3309 bytes lib/pixi/assets/maps/osm/3/0/4.png | Bin 0 -> 1097 bytes lib/pixi/assets/maps/osm/3/0/5.png | Bin 0 -> 1826 bytes lib/pixi/assets/maps/osm/3/0/6.png | Bin 0 -> 874 bytes lib/pixi/assets/maps/osm/3/0/7.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/1/0.png | Bin 0 -> 1071 bytes lib/pixi/assets/maps/osm/3/1/1.png | Bin 0 -> 8802 bytes lib/pixi/assets/maps/osm/3/1/2.png | Bin 0 -> 8289 bytes lib/pixi/assets/maps/osm/3/1/3.png | Bin 0 -> 4164 bytes lib/pixi/assets/maps/osm/3/1/4.png | Bin 0 -> 4292 bytes lib/pixi/assets/maps/osm/3/1/5.png | Bin 0 -> 4835 bytes lib/pixi/assets/maps/osm/3/1/6.png | Bin 0 -> 3452 bytes lib/pixi/assets/maps/osm/3/1/7.png | Bin 0 -> 2045 bytes lib/pixi/assets/maps/osm/3/2/0.png | Bin 0 -> 3750 bytes lib/pixi/assets/maps/osm/3/2/1.png | Bin 0 -> 4566 bytes lib/pixi/assets/maps/osm/3/2/2.png | Bin 0 -> 8642 bytes lib/pixi/assets/maps/osm/3/2/3.png | Bin 0 -> 5142 bytes lib/pixi/assets/maps/osm/3/2/4.png | Bin 0 -> 13327 bytes lib/pixi/assets/maps/osm/3/2/5.png | Bin 0 -> 3771 bytes lib/pixi/assets/maps/osm/3/2/6.png | Bin 0 -> 3857 bytes lib/pixi/assets/maps/osm/3/2/7.png | Bin 0 -> 3753 bytes lib/pixi/assets/maps/osm/3/3/0.png | Bin 0 -> 258 bytes lib/pixi/assets/maps/osm/3/3/1.png | Bin 0 -> 3390 bytes lib/pixi/assets/maps/osm/3/3/2.png | Bin 0 -> 5841 bytes lib/pixi/assets/maps/osm/3/3/3.png | Bin 0 -> 5434 bytes lib/pixi/assets/maps/osm/3/3/4.png | Bin 0 -> 14177 bytes lib/pixi/assets/maps/osm/3/3/5.png | Bin 0 -> 9399 bytes lib/pixi/assets/maps/osm/3/3/6.png | Bin 0 -> 9810 bytes lib/pixi/assets/maps/osm/3/3/7.png | Bin 0 -> 1368 bytes lib/pixi/assets/maps/osm/3/4/0.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/4/1.png | Bin 0 -> 203 bytes lib/pixi/assets/maps/osm/3/4/2.png | Bin 0 -> 5943 bytes lib/pixi/assets/maps/osm/3/4/3.png | Bin 0 -> 653 bytes lib/pixi/assets/maps/osm/3/4/4.png | Bin 0 -> 9440 bytes lib/pixi/assets/maps/osm/3/4/5.png | Bin 0 -> 1721 bytes lib/pixi/assets/maps/osm/3/4/6.png | Bin 0 -> 4773 bytes lib/pixi/assets/maps/osm/3/4/7.png | Bin 0 -> 5210 bytes lib/pixi/assets/maps/osm/3/5/0.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/5/1.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/5/2.png | Bin 0 -> 5173 bytes lib/pixi/assets/maps/osm/3/5/3.png | Bin 0 -> 237 bytes lib/pixi/assets/maps/osm/3/5/4.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/5/5.png | Bin 0 -> 349 bytes lib/pixi/assets/maps/osm/3/5/6.png | Bin 0 -> 570 bytes lib/pixi/assets/maps/osm/3/5/7.png | Bin 0 -> 2508 bytes lib/pixi/assets/maps/osm/3/6/0.png | Bin 0 -> 815 bytes lib/pixi/assets/maps/osm/3/6/1.png | Bin 0 -> 984 bytes lib/pixi/assets/maps/osm/3/6/2.png | Bin 0 -> 2018 bytes lib/pixi/assets/maps/osm/3/6/3.png | Bin 0 -> 1045 bytes lib/pixi/assets/maps/osm/3/6/4.png | Bin 0 -> 904 bytes lib/pixi/assets/maps/osm/3/6/5.png | Bin 0 -> 952 bytes lib/pixi/assets/maps/osm/3/6/6.png | Bin 0 -> 508 bytes lib/pixi/assets/maps/osm/3/6/7.png | Bin 0 -> 1614 bytes lib/pixi/assets/maps/osm/3/7/0.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/1.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/2.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/3.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/4.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/5.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/6.png | Bin 0 -> 103 bytes lib/pixi/assets/maps/osm/3/7/7.png | Bin 0 -> 103 bytes .../assets/maps/pixabay/europe-license.txt | 20 + lib/pixi/assets/maps/pixabay/europe.jpg | Bin 0 -> 747084 bytes .../2000px-BlankMap-World.png | Bin 0 -> 164207 bytes .../maps/wikimedia-world-robinson/license.txt | 4 + lib/pixi/bundle.js | 49 + lib/pixi/graphics/label.js | 187 + lib/pixi/maps/geographics.html | 287 + lib/pixi/maps/geographics.js | 737 +++ lib/pixi/maps/geojson.html | 380 ++ lib/pixi/maps/geojson.js | 329 + lib/pixi/maps/geolayer.js | 302 + lib/pixi/maps/map.js | 914 +++ lib/pixi/maps/mapapp.html | 105 + lib/pixi/maps/mapapp.js | 548 ++ lib/pixi/maps/mapdata.html | 201 + lib/pixi/maps/mapdata.js | 155 + lib/pixi/maps/maps.html | 340 ++ lib/pixi/maps/mapview.js | 123 + lib/pixi/maps/overlay.html | 261 + lib/pixi/maps/overlay.js | 571 ++ lib/pixi/maps/projections/mercator.js | 43 + lib/pixi/maps/projections/projection.js | 43 + lib/pixi/maps/projections/projections.html | 242 + lib/pixi/maps/projections/robinson.js | 148 + lib/pixi/maps/projections/robinsontest.html | 50 + lib/pixi/maps/scatter.html | 151 + lib/pixi/maps/scatter.js | 558 ++ lib/pixi/maps/utils.html | 134 + lib/pixi/maps/utils.js | 482 ++ lib/pixi/scatter.js | 6 +- package-lock.json | 44 +- 121 files changed, 12779 insertions(+), 40 deletions(-) create mode 100644 lib/examples/maps.json create mode 100644 lib/pixi/assets/maps/osm/0/0/0.png create mode 100644 lib/pixi/assets/maps/osm/1/0/0.png create mode 100644 lib/pixi/assets/maps/osm/1/0/1.png create mode 100644 lib/pixi/assets/maps/osm/1/1/0.png create mode 100644 lib/pixi/assets/maps/osm/1/1/1.png create mode 100644 lib/pixi/assets/maps/osm/2/0/0.png create mode 100644 lib/pixi/assets/maps/osm/2/0/1.png create mode 100644 lib/pixi/assets/maps/osm/2/0/2.png create mode 100644 lib/pixi/assets/maps/osm/2/0/3.png create mode 100644 lib/pixi/assets/maps/osm/2/1/0.png create mode 100644 lib/pixi/assets/maps/osm/2/1/1.png create mode 100644 lib/pixi/assets/maps/osm/2/1/2.png create mode 100644 lib/pixi/assets/maps/osm/2/1/3.png create mode 100644 lib/pixi/assets/maps/osm/2/2/0.png create mode 100644 lib/pixi/assets/maps/osm/2/2/1.png create mode 100644 lib/pixi/assets/maps/osm/2/2/2.png create mode 100644 lib/pixi/assets/maps/osm/2/2/3.png create mode 100644 lib/pixi/assets/maps/osm/2/3/0.png create mode 100644 lib/pixi/assets/maps/osm/2/3/1.png create mode 100644 lib/pixi/assets/maps/osm/2/3/2.png create mode 100644 lib/pixi/assets/maps/osm/2/3/3.png create mode 100644 lib/pixi/assets/maps/osm/3/0/0.png create mode 100644 lib/pixi/assets/maps/osm/3/0/1.png create mode 100644 lib/pixi/assets/maps/osm/3/0/2.png create mode 100644 lib/pixi/assets/maps/osm/3/0/3.png create mode 100644 lib/pixi/assets/maps/osm/3/0/4.png create mode 100644 lib/pixi/assets/maps/osm/3/0/5.png create mode 100644 lib/pixi/assets/maps/osm/3/0/6.png create mode 100644 lib/pixi/assets/maps/osm/3/0/7.png create mode 100644 lib/pixi/assets/maps/osm/3/1/0.png create mode 100644 lib/pixi/assets/maps/osm/3/1/1.png create mode 100644 lib/pixi/assets/maps/osm/3/1/2.png create mode 100644 lib/pixi/assets/maps/osm/3/1/3.png create mode 100644 lib/pixi/assets/maps/osm/3/1/4.png create mode 100644 lib/pixi/assets/maps/osm/3/1/5.png create mode 100644 lib/pixi/assets/maps/osm/3/1/6.png create mode 100644 lib/pixi/assets/maps/osm/3/1/7.png create mode 100644 lib/pixi/assets/maps/osm/3/2/0.png create mode 100644 lib/pixi/assets/maps/osm/3/2/1.png create mode 100644 lib/pixi/assets/maps/osm/3/2/2.png create mode 100644 lib/pixi/assets/maps/osm/3/2/3.png create mode 100644 lib/pixi/assets/maps/osm/3/2/4.png create mode 100644 lib/pixi/assets/maps/osm/3/2/5.png create mode 100644 lib/pixi/assets/maps/osm/3/2/6.png create mode 100644 lib/pixi/assets/maps/osm/3/2/7.png create mode 100644 lib/pixi/assets/maps/osm/3/3/0.png create mode 100644 lib/pixi/assets/maps/osm/3/3/1.png create mode 100644 lib/pixi/assets/maps/osm/3/3/2.png create mode 100644 lib/pixi/assets/maps/osm/3/3/3.png create mode 100644 lib/pixi/assets/maps/osm/3/3/4.png create mode 100644 lib/pixi/assets/maps/osm/3/3/5.png create mode 100644 lib/pixi/assets/maps/osm/3/3/6.png create mode 100644 lib/pixi/assets/maps/osm/3/3/7.png create mode 100644 lib/pixi/assets/maps/osm/3/4/0.png create mode 100644 lib/pixi/assets/maps/osm/3/4/1.png create mode 100644 lib/pixi/assets/maps/osm/3/4/2.png create mode 100644 lib/pixi/assets/maps/osm/3/4/3.png create mode 100644 lib/pixi/assets/maps/osm/3/4/4.png create mode 100644 lib/pixi/assets/maps/osm/3/4/5.png create mode 100644 lib/pixi/assets/maps/osm/3/4/6.png create mode 100644 lib/pixi/assets/maps/osm/3/4/7.png create mode 100644 lib/pixi/assets/maps/osm/3/5/0.png create mode 100644 lib/pixi/assets/maps/osm/3/5/1.png create mode 100644 lib/pixi/assets/maps/osm/3/5/2.png create mode 100644 lib/pixi/assets/maps/osm/3/5/3.png create mode 100644 lib/pixi/assets/maps/osm/3/5/4.png create mode 100644 lib/pixi/assets/maps/osm/3/5/5.png create mode 100644 lib/pixi/assets/maps/osm/3/5/6.png create mode 100644 lib/pixi/assets/maps/osm/3/5/7.png create mode 100644 lib/pixi/assets/maps/osm/3/6/0.png create mode 100644 lib/pixi/assets/maps/osm/3/6/1.png create mode 100644 lib/pixi/assets/maps/osm/3/6/2.png create mode 100644 lib/pixi/assets/maps/osm/3/6/3.png create mode 100644 lib/pixi/assets/maps/osm/3/6/4.png create mode 100644 lib/pixi/assets/maps/osm/3/6/5.png create mode 100644 lib/pixi/assets/maps/osm/3/6/6.png create mode 100644 lib/pixi/assets/maps/osm/3/6/7.png create mode 100644 lib/pixi/assets/maps/osm/3/7/0.png create mode 100644 lib/pixi/assets/maps/osm/3/7/1.png create mode 100644 lib/pixi/assets/maps/osm/3/7/2.png create mode 100644 lib/pixi/assets/maps/osm/3/7/3.png create mode 100644 lib/pixi/assets/maps/osm/3/7/4.png create mode 100644 lib/pixi/assets/maps/osm/3/7/5.png create mode 100644 lib/pixi/assets/maps/osm/3/7/6.png create mode 100644 lib/pixi/assets/maps/osm/3/7/7.png create mode 100644 lib/pixi/assets/maps/pixabay/europe-license.txt create mode 100644 lib/pixi/assets/maps/pixabay/europe.jpg create mode 100644 lib/pixi/assets/maps/wikimedia-world-robinson/2000px-BlankMap-World.png create mode 100644 lib/pixi/assets/maps/wikimedia-world-robinson/license.txt create mode 100644 lib/pixi/graphics/label.js create mode 100644 lib/pixi/maps/geographics.html create mode 100644 lib/pixi/maps/geographics.js create mode 100644 lib/pixi/maps/geojson.html create mode 100644 lib/pixi/maps/geojson.js create mode 100644 lib/pixi/maps/geolayer.js create mode 100644 lib/pixi/maps/map.js create mode 100644 lib/pixi/maps/mapapp.html create mode 100644 lib/pixi/maps/mapapp.js create mode 100644 lib/pixi/maps/mapdata.html create mode 100644 lib/pixi/maps/mapdata.js create mode 100644 lib/pixi/maps/maps.html create mode 100644 lib/pixi/maps/mapview.js create mode 100644 lib/pixi/maps/overlay.html create mode 100644 lib/pixi/maps/overlay.js create mode 100644 lib/pixi/maps/projections/mercator.js create mode 100644 lib/pixi/maps/projections/projection.js create mode 100644 lib/pixi/maps/projections/projections.html create mode 100644 lib/pixi/maps/projections/robinson.js create mode 100644 lib/pixi/maps/projections/robinsontest.html create mode 100644 lib/pixi/maps/scatter.html create mode 100644 lib/pixi/maps/scatter.js create mode 100644 lib/pixi/maps/utils.html create mode 100644 lib/pixi/maps/utils.js diff --git a/dist/iwmlib.js b/dist/iwmlib.js index 4d2024d..e107bce 100644 --- a/dist/iwmlib.js +++ b/dist/iwmlib.js @@ -184,7 +184,7 @@ let pre = document.createElement('pre'); // See http://stackoverflow.com/questions/1068280/javascript-regex-multiline-flag-doesnt-work // let re = /Doctest\.expect\(([\s\S]*)[\,\s\S]*([\s\S]*)\)/g - let lines = text.value.split('\n'); + let lines = text.value ? text.value.split('\n') : text.split('\n'); let better = []; for (let line of lines) { if (replaceExpect && line.trim().startsWith('Doctest.expect(')) { @@ -508,6 +508,19 @@ static toLine(event) { return `${event.type} #${event.target.id} ${event.clientX} ${event.clientY}` + let result = event.type; + let selector = this.selector(event.target); + result += ' selector: ' + selector; + if (event.target != document.querySelector(selector)) console.log('Cannot resolve', selector); + let keys = ['layerX', 'layerY', 'pageX', 'pageY', 'clientX', 'clientY']; + for (let key of keys) { + try { + result += ' ' + key + ':' + event[key]; + } catch (e) { + console.log('Invalid key: ' + key); + } + } + return result } static compareExtractedWithSimulated() { @@ -2651,6 +2664,7 @@ if (found != null) { this.interaction.addTarget(key, found); } + console.log(this.target); } let size = this.interaction.current.size; let limit = this.logInteractionsAbove; @@ -10980,6 +10994,21 @@ } speak() { + /** + * This is a little bit ugly, but imho the most elegant of all dirty solutions. + * + 5ht * Within the plugins we have no knowledge of other cards and such. But must differentiate the + * clicks by their corresponding owner. The SpeechUtterance just takes a text and has no knowledge + * about the node that is currently read to the user. + * + * This means, that we can identify same text, but not differentiate same text on different nodes. + * To account for that, we add the node to the speechSynthesis object (#benefitsOfJavaScript) and + * have access to the node, by - let's say - expanding the functionality of the SpeechSynthesis object. + * + * SO -17.07.19 + */ + + let activeNode = window.speechSynthesis['speechPluginNode']; this._updateText(); } diff --git a/dist/iwmlib.pixi.js b/dist/iwmlib.pixi.js index f255d3c..5343fb5 100644 --- a/dist/iwmlib.pixi.js +++ b/dist/iwmlib.pixi.js @@ -1335,6 +1335,19 @@ static toLine(event) { return `${event.type} #${event.target.id} ${event.clientX} ${event.clientY}` + let result = event.type; + let selector = this.selector(event.target); + result += ' selector: ' + selector; + if (event.target != document.querySelector(selector)) console.log('Cannot resolve', selector); + let keys = ['layerX', 'layerY', 'pageX', 'pageY', 'clientX', 'clientY']; + for (let key of keys) { + try { + result += ' ' + key + ':' + event[key]; + } catch (e) { + console.log('Invalid key: ' + key); + } + } + return result } static compareExtractedWithSimulated() { @@ -6296,6 +6309,7 @@ if (found != null) { this.interaction.addTarget(key, found); } + console.log(this.target); } let size = this.interaction.current.size; let limit = this.logInteractionsAbove; @@ -11525,6 +11539,7 @@ get bounds() { let x = 0; let y = 0; + // @container: We need to call the constant values, as the container // gets resized, when a child moves outside the original boundaries. let w = this.container ? this.containerDimensions.x : this.backgroundWidth || this.app.width; @@ -11608,9 +11623,6 @@ } findHitScatter(data, displayObject, hit) { - // if (hit) { - // console.log("findHitScatter", displayObject) - // } if (hit && this.hitScatter === null && typeof displayObject != undefined) { this.hitScatter = displayObject.scatter ? displayObject.scatter : null; } @@ -11650,11 +11662,13 @@ if (event.claimedByScatter) { return null } + this.hitScatter = null; let interactionManager = this.renderer.plugins.interaction; let displayObject = interactionManager.hitTest(local, this); if (displayObject != null && displayObject.scatter != null) this.hitScatter = displayObject.scatter; if (this.claimEvents) event.claimedByScatter = this.hitScatter; + return this.hitScatter } @@ -16807,6 +16821,5222 @@ } } + /** + * The EventHandler class is used to take care of a event based design + * pattern. Callbacks can subscribe to an event and these unknown sources + * get notified whenever the event changes. + * + * @export + * @class EventHandler + */ + class EventHandler { + /** + * Creates an instance of EventHandler. + * @param {any} name + * @param {any} [{ + * listeners = [] - With the listnerers parameter the user can specify a function, array of functions or null (no function - useful when used in constructor with optional parameter). + * }={}] + * @memberof EventHandler + */ + constructor(name, { listeners = [] } = {}) { + this.name = name; + this.listeners = []; + this.onces = []; + + /** + * One may initialize the eventListener using a parameter + * that is either passed or null. + */ + + if (listeners == null) ; else if (Array.isArray(listeners)) this.listeners = listeners; + else if (typeof listeners == 'function') { + this.listeners = []; + this.add(listeners); + } else { + console.warn( + "The provided 'listeners' is neither an Array of functions, nor a function. No eventcallback was added!", + listeners, + this + ); + } + } + + addMultiple(...callbacks) { + for (let callback of callbacks) { + this.listeners.push(callback); + } + } + + add(callback) { + this.listeners.push(callback); + return callback + } + + once(callback) { + this.onces.push(callback); + } + + remove(func) { + for (const [idx, listener] of this.listeners.entries()) { + if (listener === func) { + this.listeners.splice(idx, 1); + return true + } + } + return false + } + + empty() { + this.listeners = []; + } + + call(context, ...args) { + this.listeners.forEach(listener => listener.call(context, ...args)); + this.onces.forEach(listener => listener.call(context, ...args)); + this.onces = []; + } + + get length() { + return this.listeners.length + this.onces.length + } + } + + /* ES Lint */ + + /** + * The AdvancedScatterContainer extends the ScatterContainer, but + * uses the findTargetNew instead of the findTarget method, which takes interactive elements + * into account, when calculating the target. + */ + class AdvancedScatterContainer extends ScatterContainer { + applyToChildScattersRecursively(parent, root, applyFunc) { + for (let child of parent.children) { + if (child.scatter) { + applyFunc(child, root); + this.applyToChildScattersRecursively(child, root, applyFunc); + } + } + } + + /** + * The update method was adjusted to draw bounds and polygpns + */ + update(dt) { + this.clear(); + this.lineStyle(1, 0x0000ff); + if (this.showBounds) { + this.applyToChildScattersRecursively(this, this, (child, root) => { + let position = child.worldTransform.apply(new PIXI.Point(0, 0)); + + this.drawShape(child.scatter.bounds); + + let center = { + x: child.scatter.width / 2 / child.scatter.scale, + y: child.scatter.height / 2 / child.scatter.scale + }; + center = child.worldTransform.apply(center); + + this.drawCircle(center.x, center.y, 4); + this.drawCircle(position.x, position.y, 4); + }); + + this.lineStyle(2, 0x0000ff); + this.drawShape(this.bounds); + } + if (this.showPolygon) { + this.lineStyle(2, 0xff0000); + for (let child of this.children) { + if (child.scatter) { + let polygon = child.scatter.polygon; + let shape = new PIXI.Polygon(polygon.flatAbsolutePoints()); + if ( + shape.points[0] !== shape.points[shape.points.length - 2] || + shape.points[1] !== shape.points[shape.points.length - 1] + ) { + shape.points.push(shape.points[0], shape.points[1]); + } + this.drawShape(shape); + } + } + } + if (this.showTouches) { + let current = this.delegate.interaction.current; + for (let [key, point] of current.entries()) { + let local = this.mapPositionToPoint(point); + this.drawCircle(local.x, local.y, 12); + } + } + } + + get width() { + return this.bounds.width + } + + get height() { + return this.bounds.width + } + + findTarget(event, local, global) { + // UO: still problematic. Does not find non interactive elements + // which are needed for some stylus applications + if (event.claimedByScatter) { + return null + } + + this.hitScatter = null; + let interactionManager = this.renderer.plugins.interaction; + + let displayObject = interactionManager.hitTest(local, this); + console.log(displayObject.dontBlockScatter, displayObject.parent); + if (displayObject.dontBlockScatter && displayObject.parent != null) { + displayObject = interactionManager.hitTest(local, displayObject.parent); + } + + if (displayObject != null && displayObject.scatter != null) this.hitScatter = displayObject.scatter; + if (this.claimEvents) event.claimedByScatter = this.hitScatter; + + console.log(displayObject); + return this.hitScatter + } + } + + class RigidScatterContainer extends AdvancedScatterContainer { + constructor(width, height, renderer, opts) { + super(renderer, opts); + this._width = width; + this._height = height; + } + + resize(width, height) { + this._width = width; + this._height = height; + } + + get width() { + return this._width + } + + get height() { + return this._height + } + + _calculateBounds() { + this._bounds.clear(); + let bounds = new PIXI.Bounds(); + bounds.minX = this.parent.position.x; + bounds.minY = this.parent.position.y; + bounds.maxX = this.parent.position.x + this.width; + bounds.maxY = this.parent.position.y + this.height; + this._bounds.addBounds(bounds); + } + } + + class RigidContainer extends PIXI.Graphics { + constructor(width, height, { onResize = null } = {}) { + super(); + if (!width || !height) { + console.log( + `Width (${width}) or height (${height}) not set! If this is intended use another PIXI.DisplayObject instead.`, + this + ); + } + this._width = width; + this._height = height; + this.beginFill(0xffffff, 0.3); + this.drawRect(0, 0, this.width, this.height); + + this.onResize = new EventHandler('resize', { + listeners: onResize ? [onResize] : [] + }); + } + + /** + * Resizes the scattercontainer to the provided dimensions. + * + * @param {number} width - Target width of the resize. + * @param {number} height - Target height of the resize. + * @memberof RigidContainer + */ + resize(width, height) { + this._width = width; + this._height = height; + this._updateHitArea(); + this.onResize.call(this, 'resize', { x: width, y: height }); + } + + _updateHitArea() { + // this.hitArea = new PIXI.Rectangle(0,0, this.width, this.height) + } + + get width() { + return this._width + } + get height() { + return this._height + } + } + + /** + * Specialization of the DisplayObjectScatter with special behavior needed for maps. + */ + class AdvancedScatter extends DisplayObjectScatter { + /** + * Animates the throw and ensures that the map is always visible. This + * is different from the standard behavior. + * + * @param {*} time + * @memberof AdvancedScatter + */ + animateThrow(time) { + // In rare cases animateThrow is called when the displayObject is already removed + if (this.displayObject.parent == null) { + return + } + + //Moved this outside, as the time continously increases, + //when the object is not thrown. + + if (this.velocity != null) { + let dt = this._throwDeltaTime(); + // This seems to just correct the velocity when its calculated wrong. + // In what case can it get bigger? Velocity tends to always shrink, when no force is added. + let d = this._getThrowDelta(dt); + this._move(d); + this.onDragUpdate(d); + if (dt == 0 || this.needsAnimation()) { + requestAnimationFrame(this.animateThrow.bind(this)); + return + } else { + if (this.isOutside()) { + requestAnimationFrame(this.animateThrow.bind(this)); + return + } + } + } + this.onDragComplete(); + } + + get parent() { + // Returns the parent is a scatter get the parent scatter. + // If it's a scatter container, get the displayObject. + // Other cases are not allowed. + return this.displayObject.parent != null && this.displayObject.parent.scatter != null + ? this.displayObject.parent.scatter + : this.displayObject.parent + } + + _getThrowDelta(dt) { + this.velocity = this.nextVelocity(this.velocity); + if (this.velocity != null) { + return Points.multiplyScalar(this.velocity, dt) + } + return { x: 0, y: 0 } + } + + freeze({ translatable = false, scalable = false, rotatable = false, movableX = false, movableY = false } = {}) { + this.translatable = translatable; + this.scalable = scalable; + this.rotatable = rotatable; + this.movableX = movableX; + this.movableY = movableY; + } + + unfreeze({ translatable = true, scalable = true, rotatable = true, movableX = true, movableY = true } = {}) { + this.freeze({ + translatable, + scalable, + rotatable: false, + movableX, + movableY + }); + } + } + + /** + * TODO + * A scatter which width does not increase when child elements are added. + */ + class CompactScatter extends AdvancedScatter {} + + /** + * A problem with PIXI Objects is, that the bounding box changes + * with child elements. Therefore the sized scatter has a rigid size, that is not + * changed by elements, but only with their width and height property. + */ + class CoverScatter extends AdvancedScatter { + constructor(a, b, opts) { + super(a, b, opts); + + opts = Object.assign( + { + debug: false, + cover: true, + boundaries: { + min: { x: 0, y: 0 }, + max: { x: 1, y: 1 } + } + }, + opts + ); + + this.debug = opts.debug; + this.cover = opts.cover; + this._boundaries = opts.boundaries; + + if (this.debug) { + this.debugGraphics = new PIXI.Graphics(); + this.displayObject.addChild(this.debugGraphics); + this.debugGraphics.lineStyle(0.2, 0x00ff00); + this.debugGraphics.drawRect( + this.width * this.boundaries.min.x, + this.height * this.boundaries.min.y, + this.width * (this.boundaries.max.x - this.boundaries.min.x), + this.height * (this.boundaries.max.y - this.boundaries.min.y) + ); + + this.debugGraphics.endFill(); + } + + if (this.cover) { + // The reference to the element handler needs to be stored, + // that we can remove it later on. + const eventHandler = this._applyInitialCover.bind(this, null, true); + this._applyInitialCover(eventHandler); + } + } + + _applyInitialCover(eventHandler, removeListener = false) { + if (this.debug) console.log('ApplyInitialCover: ', parent); + if (removeListener) { + this.displayObject.off('added', eventHandler); + } + + if (this.displayObject.parent) + this.forceCover(this.displayObject.parent.width, this.displayObject.parent.height); + else { + this.displayObject.on('added', eventHandler); + } + } + + get boundaries() { + if (this._boundaries) return this._boundaries + else + return { + min: { x: 0, y: 0 }, + max: { x: 1, y: 1 } + } + } + + transform(translate, zoom, rotate, anchor) { + if (this.cover) { + if (!this.parent) { + return new PIXI.Rectangle(0, 0, window.innerWidth, window.innerHeight) + } + + /** + * If the scaling violates the minCoverScale, the zoom is adjusted to perfectly match + * the minCoverScale. + */ + let minCoverScale = this.calculateMinCoverScale(this.parent.width, this.parent.height); + + let { zoom: fixedZoom, scale } = this.calculateScale(zoom); + if (scale < minCoverScale) { + zoom = minCoverScale / this.scale; + } + } + + super.transform(translate, zoom, rotate, anchor); + if (this.cover) { + let postTranslate = this.outsideBoundaries(); + super.transform(postTranslate, 1, 0, { x: 0, y: 0 }); + } + } + + outsideBoundaries(movement = { x: 0, y: 0 }, { boundaries = this.boundaries } = {}) { + if (this.parent == null) { + return { x: 0, y: 0 } + } + let left = -(this.displayObject.position.x + movement.x + this.width * boundaries.min.x); + let right = -left + this.width * (boundaries.max.x - boundaries.min.x) - this.parent.width; + + let top = -(this.displayObject.position.y + movement.y + this.height * boundaries.min.y); + let bot = -top + this.height * (boundaries.max.y - boundaries.min.y) - this.parent.height; + + // Helper function to limit an Axis inside a container, or 'glue' it + // to the lower side, if the size is smaller than the size of the + // container. + function limitAxis(low, high, contentSize, containerSize) { + let val = 0; + if (low < 0) { + val = low; + } else if (high < 0) { + if (contentSize > containerSize) { + // ... and the element is bigger as the container + // - reset it to the containersize. + val = -high; + } else { + // ... and the size is not high enough, then + // 'glue' it to the low axis. + val = low; + } + } + + return val + } + + // Use the helper function to correct the movement to cover x and y. + let correctionX = limitAxis(left, right, this.width * (boundaries.max.x - boundaries.min.x), this.parent.width); + let correctionY = limitAxis(top, bot, this.height * (boundaries.max.y - boundaries.min.y), this.parent.height); + let fixedMovement = { + x: correctionX == 0 ? movement.x : correctionX + movement.x, + y: correctionY == 0 ? movement.y : correctionY + movement.y + }; + + return fixedMovement + } + + calculateMinCoverScale(width, height) { + let scale = 0; + + if (!(this.width == 0 && this.height == 0)) { + let actualWidth = this.width / this.scale; + let actualHeight = this.height / this.scale; + + let boundaryWidth = (this.boundaries.max.x - this.boundaries.min.x) * actualWidth; + let boundaryHeight = (this.boundaries.max.y - this.boundaries.min.y) * actualHeight; + + let coverWidth = width / boundaryWidth; + let coverHeight = height / boundaryHeight; + + scale = Math.max(coverWidth, coverHeight); + } + + return scale + } + + _getThrowDelta(dt) { + let delta = super._getThrowDelta(dt); + if (this.cover) { + delta = this.outsideBoundaries(delta, { + boundaries: this.boundaries + }); + } + return delta + } + + containerChanged(width, height) { + if (this.cover) this.forceCover(width, height); + } + + forceCover() { + this.requestScale(this.scale); + let translate = this.outsideBoundaries(); + this.transform(translate, 1, 0, { x: 0, y: 0 }); + } + + requestScale(scale) { + if (this.scalable && this.parent != null) { + if (this.cover) { + let minCoverScale = this.calculateMinCoverScale(this.parent.width, this.parent.height); + scale = scale < minCoverScale ? minCoverScale : scale; + } + this.scale = scale; + } + } + + requestFocus(point) { + let allowedMovement = this.outsideBoundaries(Points.subtract(point, this.position)); + this.transform(allowedMovement, 1, 0, { x: 0, y: 0 }); + } + } + + /** + * The MapObjectScatter somewhat inverts the behaviour of + * regular throwables. Regular throwables should bounce of the wall, when they + * overlap to a certain amount. Maps on the otherhand are intended to overlap with the + * scatter container heavily to hide irrelevant parts of the map without revealing + * any background. + * + * @class + * @extends DisplayObjectScatter + */ + + class MapObjectScatter extends CoverScatter { + /** + * x=null, y=null, + minScale=0.1, + maxScale=1.0, + startScale=1.0, + autoBringToFront=true, + translatable=true, scalable=true, rotatable=true, resizable=false, + movableX=true, + movableY=true, + throwVisibility=44, + throwDamping = 0.95, + autoThrow=true, + rotationDegrees=null, + rotation=null, + onTransform = null } + */ + constructor(displayObject, renderer, opts = {}) { + opts = Object.assign( + { + debug: false, + cover: false, + startScale: 1, + boundaries: { + min: { x: 0, y: 0 }, + max: { x: 1, y: 1 } + }, + autoBringToFront: false + }, + opts + ); + + if (!renderer) { + console.error('Renderer was not set!'); + return + } + + super(displayObject, renderer, opts); + this.cover = opts.cover; + } + + moveTo() { + super.moveTo(...arguments); + } + + lock() { + this.rotatable = false; + this.moveable = false; + this.scaleable = false; + } + + unlock() { + this.rotatable = true; + this.moveable = true; + this.scaleable = true; + } + + getWorldScatter() { + return this.parent + } + } + + /** + * MapData contains the informations about how + * a Map has to be interpreted. What are the bounds of the + * map and how to translate coordinates into + * image positions. + * + * @class + * @see {@link mapdata.html} + */ + class MapData { + /** + * Creates instance of MapData + * + * @constructor + * @param {Projection}[projection] - Specifies the projection of the map (e.g. Mercator Projection). + * @param {object}[opts] - Addiditonal options. + * @param {[[minLat, minLng],[maxLat, maxLng]]}[opts.bounds] - Describes the minimum and maximum coordinates on the map + * @param {Point}[opts.translate] - Defines a translation, when clipping is not an option (e.g. when the whole world is shown, but translated.) + */ + constructor(projection, opts = {}) { + this.opts = Object.assign( + { + translate: { x: 0, y: 0 } + }, + opts + ); + + this.projection = projection; + + if (this.clip) { + let _cmin = this.projection.forward(this.opts.clip.min); + let _cmax = this.projection.forward(this.opts.clip.max); + + // Swaps the y values, Mercator has it's origin bottom right, + // browser coordinates start top right. + let cmin = { x: _cmin.x, y: _cmax.y }; + let cmax = { x: _cmax.x, y: _cmin.y }; + + this.clipExt = { + coords: { + min: this.opts.clip.min, + max: this.opts.clip.max + }, + point: { + min: cmin, + max: cmax + } + }; + } + } + + toCoordinates(point) { + if (this.clip) { + let min = this.clipExt.point.min; + let max = this.clipExt.point.max; + + let width = max.x - min.x; + let height = max.y - min.y; + + point.x *= width; + point.y *= height; + + point.x += min.x; + point.y += min.y; + } + + let coordinates = this.projection.backward(point); + + if (this.opts.translate) { + coordinates.x -= this.opts.translate.x; + coordinates.y -= this.opts.translate.y; + } + + return coordinates + } + + toPixel(coordinates) { + let coords = { x: coordinates.x, y: coordinates.y }; + if (this.opts.translate) { + coords.x += this.opts.translate.x; + coords.y += this.opts.translate.y; + } + + let point = this.projection.forward(coords); + + if (this.opts.clip) { + let min = this.clipExt.point.min; + let max = this.clipExt.point.max; + + let clippedPoint = { + x: point.x - min.x, + y: point.y - min.y + }; + + let width = max.x - min.x; + let height = max.y - min.y; + + point.x = clippedPoint.x / width; + point.y = clippedPoint.y / height; + } + + return point + } + + get clip() { + return this.opts.clip + } + + /** + * Bounds to pixel transforms some bounds in form of {min:{x:minLat, y:minLng},max:{x:maxLat, y:maxLng}} + * to pixel coordinates. + * + * @param {*} bounds + */ + boundsToPixel(bounds) { + let min = this.toPixel(bounds.min); + let max = this.toPixel(bounds.max); + + // Y values needs to be swapped, as PIXI has it's origin + // in the top-left corner and a regular map in the bottom-left corner. + let boundaries = { + min: { x: min.x, y: max.y }, + max: { x: max.x, y: min.y } + }; + + return boundaries + } + + get maxViewport() { + return this.opts.clip ? this.opts.clip : this.projection.maxViewport + } + } + + class DeepZoomMapData extends MapData { + constructor(projection, tilesConfig, opts = {}) { + if (!opts.app) console.error('Deepzoom Mapdata needs an app set in the options.'); + if (tilesConfig.clip) { + opts.clip = { + min: { + x: tilesConfig.clip.bounds.min[0], + y: tilesConfig.clip.bounds.min[1] + }, + max: { + x: tilesConfig.clip.bounds.max[0], + y: tilesConfig.clip.bounds.max[1] + } + }; + } + + console.log(tilesConfig, opts); + + super(projection, opts); + this.app = opts.app; + } + } + + /** + * A projection determines how a geographical card has to + * be interpreted to map coordinate to pixels. + * + * Most used transformation is the mercator projection, + * which projects a sphere on a cylinder. + * + * @abstract + */ + + class Projection { + /** + * Transforms a coordinate to a normalized position on the map. + * + * @param {*} coords + * @memberof Projection + */ + forward(coords) { + console.error('You must override the forward function in ' + this.name + '.'); + } + + /** + * Transforms a normalized point on the map to a coordinate. + * + * @param {*} point + * @memberof Projection + */ + backward(point) { + console.error('You must override the backward fuction in ' + this.name + '.'); + } + + toString() { + return 'Projection (abstract)' + } + + get name() { + return this.toString() + } + + get maxViewport() { + return { min: new PIXI.Point(-90, -180), max: new PIXI.Point(90, 180) } + } + } + + /** + * This is a projection file, that grants access to the + * MERCATOR projection. + * + * Regulary only few Projections will be used in one + * project, therefore only required one's should be + * loaded. + */ + + class Mercator extends Projection { + forward(coords) { + let lat = coords.x; + let lng = coords.y; + + const PI_180 = Math.PI / 180.0; + const PI_4 = Math.PI * 4; + + const sinLatitude = Math.sin(lat * PI_180); + let y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / PI_4; + let x = (lng + 180) / 360; + + y = y < 0 ? 0 : y > 1 ? 1 : y; + + return new PIXI.Point(x, y) + } + + backward(point) { + let lng = point.x * 360 - 180; + let lat = (Math.asin(-2 / (Math.exp(4 * Math.PI * (0.5 - point.y)) + 1) + 1) * 180) / Math.PI; + + return new PIXI.Point(lat, lng) + } + + toString() { + return 'Mercator Projection' + } + + get maxViewport() { + return { min: new PIXI.Point(-85, -180), max: new PIXI.Point(85, 180) } + } + } + + /** + * The GeoMap class displays a map, that it gets from MapData object. + * It handles the current location on the map, the zoom factor, interactions and + * the viewport, the area of the map, the user can see and navigate to. + * + * You should not instantiate GeoMap on it's own. Use the implemented child classes + * or derive a new one from it. + * + * Note: The name Map is already in use. Therefore GeoMap was used instead. + * + + * @abstract + * @class + * @see {@link maps.html} + */ + + class GeoMap { + /** + * Creates instance of GeoMap + * + * @constructor + * @param {MapData}[mapdata={}] - The mapdata describes how the map has to be interpreted by the Map class. E.g. what are the boundaries of the map? + * @param {object}[opts={}] - With the opts, the created MapObjectScatter can be adjusted. + * @param {boolean}[opts.cover=false] - Enables covering behaviour of a map object. Normally maps should cover the whole app. + */ + constructor( + mapdata = {}, + { + debug = true, + cover = true, + // Scatter Options + alpha = 1, + startScale = 1, + minScale = 0, + maxScale = Infinity, + translatable = true, + scalable = true, + rotatable = false, // Many functionalities are not supported when rotating the map. Mainly the cover mechanism. + viewport = mapdata.maxViewport, + // Events + onLoad = null, + onTransform = null + } = {} + ) { + this._id = GeoMap.counter++; + this.onLoad = new EventHandler('loaded', { listeners: onLoad }); + this.onTransform = new EventHandler('transform', { listeners: onTransform }); + + this.alpha = alpha; + this.cover = cover; + this.debug = debug; + + //TODO discuss if this is required here. + // Those are just scatter options and the information + // is redundant in the map class and the scatter. + this.startScale = startScale; + this.minScale = minScale; + this.maxScale = maxScale; + this.rotatable = rotatable; + this.translatable = translatable; + this.scalable = scalable; + this.viewport = viewport; + + this.mapdata = mapdata; + this.overlays = {}; + + /** + * Adjust the viewport depending on the mapdata clipping. + */ + if (this.mapdata.clip) { + const vp = this.viewport; + const cp = this.mapdata.clip; + let bounds = { + min: { + x: vp.min.x > cp.min.x ? vp.min.x : cp.min.x, + y: vp.min.y > cp.min.y ? vp.min.y : cp.min.y + }, + max: { + x: vp.max.x < cp.max.x ? vp.max.x : cp.max.x, + y: vp.max.y < cp.max.y ? vp.max.y : cp.max.y + } + }; + + this.viewport = bounds; + } + } + + flushHandlers() { + // this.onLoaded + this.onTransform.empty(); + } + + lock({ rotatable = false, translatable = false, movableX = false, movableY = false, scalable = false } = {}) { + if (this.image && this.image.scatter) { + this.image.scatter.translatable = rotatable; + this.image.scatter.movableX = translatable; + this.image.scatter.movableY = movableX; + this.image.scatter.rotatable = movableY; + this.image.scatter.scalable = scalable; + } + + // Issue #001: This causes the map to not be displayed at the correct position on + // map change. + // // Rotation does not yet work with the cover mechanism. + // //this.rotatable = false + // this.translatable = false + // this.scalable = false + } + + unlock({ rotatable = true, translatable = true, movableX = true, movableY = true, scalable = true } = {}) { + if (this.image && this.image.scatter) { + this.image.scatter.translatable = translatable; + this.image.scatter.movableX = movableX; + this.image.scatter.movableY = movableY; + this.image.scatter.rotatable = rotatable; + this.image.scatter.scalable = scalable; + } + // Issue #001 + // // Rotation does not yet work with the cover mechanism. + // //this.rotatable = true + // this.translatable = true + // this.scalable = true + } + + unload() { + this.image.parent.removeChild(this.image); + this.image.scatter = null; + } + + /** + * Is called when the scatter object is transformed. + * + * @private + * @param {ScatterEvent}[e] - Contains informations on how the element was transformed. + */ + transformed(e) { + this.onTransform.call(this, e); + } + + /** + * Wrapps the display object around a scatter object. + * + * @private + * @param {DisplayObject} displayObject - Defines the display object that will be wrapped inside the scatter object. + * @param {PIXI.Container} container - Defines the frame in which the map will be displayed. + */ + load(image, renderer, frame = null, scatter = null) { + if (this.debug) console.log('Load image: ', image, frame); + + this.image = image; + if (frame) this.setFrame(frame); + + let min = this.mapdata.toPixel(this.viewport.min); + let max = this.mapdata.toPixel(this.viewport.max); + let boundaries = { + min: { x: min.x, y: max.y }, + max: { x: max.x, y: min.y } + }; + + let scatterOpts = Object.assign({ + cover: this.cover, + scaleable: this.scaleable, + translatable: this.translatable, + rotatable: this.rotatable, + debug: this.debug, + startScale: this.startScale, + minScale: this.minScale, + maxScale: this.maxScale, + boundaries, + onTransform: this.transformed.bind(this) + }); + + this.scatter = new MapObjectScatter(image, renderer, scatterOpts); + this.image.scatter = scatter == null ? this.scatter : scatter; + + this.onLoad.call(this); + } + + /** + * Creates an identical copy of the current map. + */ + clone() { + console.error('Method clone() is abstract. Overload it in subclass', this); + } + + /** + * + * Moves the 'camera' to another location on the map. + * + * @abstract + * @param {object} coordinates - Target coordinates in form {x: latitude, y: longitude} + * @param {number} scale - Target scale. + */ + moveTo(coordinates, zoom = null, { animate = false } = {}) { + console.error(this, 'The method moveTo(coordinates, zoom, opts) has not been defined in child class.'); + } + + zoomTo(zoomFactor) { + console.error('Method zoomTo() is abstract. Overload it in subclass', this, zoomFactor); + } + + /** + * Reloads the textures of the image, when it was unloaded and is required again. + * + * @memberof GeoMap + */ + reloadImage() { + console.error(`Call of abstract method reloadImage(). Overwrite in subclass.`, this); + } + + /** + * Unloads the textures of the image, when not in use. + * + * @memberof GeoMap + */ + unloadImage() { + console.error(`Call of abstract method unloadImage(). Overwrite in subclass.`, this); + } + + /** + * Transforms a point at pixel position {x,y} + * to a coordinate with latitude and longitude. + * + * + * @param {object} point - Point in form of {x: x_val, y: y_val}. + * @returns {object} - Coordinates on the map in form of {x: latitude, y: longitude}. + */ + coordinatesFromPoint(point) { + let coords = this.mapdata.toCoordinates(this.toRelativePosition(point)); + return coords + } + + /** + * Transform coordinates in the map into pixel positions on the deep zoom image. + * + * @param {object} coords - Coordinates of a map position in form {x: latitude, y: longitude}. + * @return - Returns a image position in form of {x: x_val, y: y_val}. + */ + coordinatesToPoint(coordinates) { + return this.toAbsolutePixelCoordinates(this.mapdata.toPixel(coordinates)) + } + + toRelativePosition(point) { + let _point = new PIXI.Point(); + + _point.x = point.x / this.width; + _point.y = point.y / this.height; + + return _point + } + + toAbsolutePixelCoordinates(point) { + let _point = new PIXI.Point(); + _point.x = point.x * this.width; + _point.y = point.y * this.height; + + return _point + } + + // /** + // * Appends the object to a PIXI container. This is important, + // * to notify the map, that it's parent has changed. + // * + // * If you want to use PIXI's addChild, make sure you call + // * appended right afterwards. + // * + // * @param {PIXI.Container} container + // * @returns Returns the map object to allow chaining. + // */ + // appendTo(container) { + // container.addChild(this.image) + // return this.appended(container) + // } + + get width() { + return this.image.scatter.width / this.image.scatter.scale + } + + get height() { + return this.image.scatter.height / this.image.scatter.scale + } + + get distance() { + console.error('Overload get distance in subclass.'); + } + + /** + * Returns a screen point for a coordinate. + */ + positionInWindow(coordinates) { + let pos = this.coordinatesToPoint(coordinates); + + let framePos = { + x: this.image.position.x + pos.x * this.image.scale.x, + y: this.image.position.y + pos.y * this.image.scale.y + }; + + return framePos + } + + /** + * Returns the coordinates for a screen point. + */ + coordinatesInWindow(point) { + let mapPos = { + x: (point.x - this.image.position.x) / this.image.scale.x, + y: (point.y - this.image.position.y) / this.image.scale.y + }; + + let coords = this.coordinatesFromPoint(mapPos); + return coords + } + + setFrame(frame) { + if (this.debug) console.log('Set Frame: ', frame); + this.frame = frame; + } + + /** + * Frame is the display in which the map is shown. + * Normally it's the app, but it can be another element, + * for example when in a submap. + */ + getFrame() { + let frame = { + x: 0, + y: 0, + width: 0, + height: 0 + }; + + if (this.frame) { + //The app does not have an x and y attribute. + //Therefore we need the additional check. + frame = { + x: this.frame.x ? this.frame.x : 0, + y: this.frame.y ? this.frame.y : 0, + width: this.frame.width, + height: this.frame.height + }; + } else if (this.image.parent) { + let parent = this.image.parent; + + for (let key of Object.keys(frame)) { + frame[key] = parent[key]; + } + } + + frame.localCenter = { + x: frame.width / 2, + y: frame.height / 2 + }; + + console.log(frame); + frame.center = { + x: frame.x + frame.localCenter.x, + y: frame.y + frame.localCenter.y + }; + + return frame + } + + /** + * Retrieves all maps from a json object. + * + * @static + * @param {object} json - The parsed map data object. + * @returns {object} - Returns an object with the names as keys and the GeoMaps as value. + * @memberof GeoMap + */ + static allFromJson(json) { + let error = { message: '' }; + let maps = {}; + if (GeoMap._validateJson(json, error)) { + for (let [mapname, data] of Object.entries(json)) { + maps[mapname] = GeoMap._createMap(data); + } + } else console.error('Could not validate JSON: ' + error.message); + + return maps + } + + /** + *Extracts a single map from a JSON map file. + * + * @static + * @param {string} map - Name of the map. + * @param {object} json - Parsed json object. + * @returns {GeoMap} - Returns a geomap, if the map was in the data and valid. Otherwise false. + * @memberof GeoMap + */ + static mapFromJson(map, json) { + if (json[map]) { + const data = json[map]; + if (this._validJsonMap(data)) return GeoMap._createMap(data) + else console.error('Map was not in a valid format.'); + } else console.error('Map was not in data.'); + + return null + } + + /** + * + */ + + /** + * Validates if the map data contains valid data + * for creating the maps. + * + * @static + * @param {object} json - The object containing multiple map data sets. + * @param {error-object} error - An object that contains an parameter message: {message = ""}. This is faking a call by reference. + * @returns {boolean} - True if all sets were valid. False otherwise. + * @memberof GeoMap + */ + static _validateJson(json, error) { + let isValid = true; + + if (Object.keys(json).length == 0) { + isValid = false; + error.message += 'The provided JSON object did not contain any items.'; + } + for (let [name, data] of Object.entries(json)) { + if (!GeoMap._validJsonMap(data)) { + error.message += `${name} was not valid. `; + isValid = false; + } + } + + if (error.message != '') error.message = 'Maps could not be validated: ' + error.message; + + return isValid + } + + static changePathsInJson(json, path) { + for (let key of Object.keys(json)) { + json[key].icon = path + json[key].icon; + json[key].tiles.path = path + json[key].tiles.path; + } + } + + /** + *Validates of a single data set contains the valid data for creating a map. + * + * @static + * @param {object} json - The object containing a single set of map data. + * @returns {boolean} - True if valid, otherwise false. + * @memberof GeoMap + */ + static _validJsonMap(json) { + let isJsonValid = true; + const required = ['projection', 'type', 'icon']; + for (const requirement of Object.values(required)) { + if (!json.hasOwnProperty(requirement)) { + isJsonValid = false; + break + } + } + + if (isJsonValid && json.type.toLowerCase() == 'deepzoom') { + if (!json.hasOwnProperty('tiles')) isJsonValid = false; + } + + return isJsonValid + } + + static _createMap(data) { + switch (data.type.toLowerCase()) { + case 'deepzoom': + return GeoMap._createDeepZoomMap(data) + default: + console.error(`Datatype is invalid or not implemented yet: ${data.type}`); + } + } + + static _createDeepZoomMap(data) { + const projection = GeoMap._getProjectionByName(data.projection); + const tilesConfig = data.tiles; + const options = data.options; + + const mapdata = new DeepZoomMapData(projection, tilesConfig); + return new DeepZoomMap(mapdata, tilesConfig, options) + } + + static _getProjectionByName(projection) { + switch (projection.toLowerCase()) { + case 'mercator': + return new Mercator() + default: + console.error(`Projection is invalid or not implemented yet ${projection}.`); + return null + } + } + } + + GeoMap.counter = 0; + + /** + * The DeepZoomMap class extends the GeoMap to create + * maps as deepzoom images from maptiles. + * + * @extends GeoMap + * @class + * @see {@link maps.html} + */ + + class DeepZoomMap extends GeoMap { + /** + * @constructor + * @param {object} tilesConfig - The tiles config object, that defines at what path and in which format the tiles are. + * @param {MapData} mapdata - A MapData object, that contains informations of how the given map has to be interpreted. + * @param {object} opts - Additional options to specify the behaviour of the deep zoom image. + */ + constructor(mapdata, tilesConfig, opts = {}) { + if (!tilesConfig.app) console.error('App was not set in the tilesConfig.'); + opts = Object.assign( + { + maxScale: Math.min(tilesConfig.width, tilesConfig.height) / tilesConfig.tileSize, + minScale: mapdata.getMinScale, + highResolution: true, + debug: false + }, + opts + ); + super(mapdata, opts); + + this.tilesConfig = tilesConfig; + this._verifyMapdata(); + } + + _verifyMapdata() { + if (!(this.mapdata instanceof MapData)) { + console.error('Use the MapData object for creating maps!'); + } else { + if (this.mapdata instanceof DeepZoomMapData) { + if (!this.mapdata.app) console.error('No app was set on the mapdata!'); + } else { + console.error('Use the DeepZoomMapData object.'); + } + } + } + + /** + * Creates the DeepZoomImage. + * + * @private + */ + load(container = null, scatter = null) { + this.info = new DeepZoomInfo(this.tilesConfig); + console.log('APP:', this.mapdata.app); + let image = new DeepZoomImage(this.info, { + app: this.mapdata.app, + alpha: this.alpha, + debug: this.debug, + world: scatter == null ? scatter : scatter.getWorldScatter() + }); + + super.load(image, container, scatter); + + if (this.debug) console.log('Loaded image: ', image, 'With options: ', this.info); + } + + unloadImage() { + if (this.image) { + this.image.deactivate(); + } + } + + reloadImage() { + this.image.activate(); + } + + /** + * Event function that is invoked by the deep zoom image, when it has been transformed. + * + * @private + * @param {ScatterEvent} e + */ + transformed(e) { + this.image.transformed(e); + super.transformed(e); + } + + /** + * Jumps to a certain point on the map and adjusts the size of the + * map depending on the distance (zoom). + * + * + * @param {*} coordinates + * @param {*} [zoom=null] + * @param {*} [{ animate = 0 }={}] + * @memberof DeepZoomMap + */ + moveTo(coordinates, zoom = null, { animate = 0 } = {}) { + if (this.image.scatter == null) { + return + } + //TODO: This is jaggy on submaps. Make it more smooth. Severin Opel 08-05-2018 + if (zoom) { + /** + * Zoom's the view to a specified distance in DZI-Levels. + * The input level is clipped to allowed levels. + * */ + let targetScale = this.scaleForFloatingLevel(zoom); + + // Don't scale beyond boundaries. + if (this.maxScale) targetScale = Math.min(this.maxScale, targetScale); + + if (this.minScale) targetScale = Math.max(targetScale, this.minScale); + + this.image.scatter.requestScale(targetScale); + } + + if (coordinates) { + //Get pixel position of lat lang values + let point = this.coordinatesToPoint(coordinates); + + let containerCenter; + if (this.frame) { + containerCenter = this.getFrame().localCenter; + //console.log("HAS FRAME: ", containerCenter) + } else { + containerCenter = { + x: this.image.parent.width / 2, + y: this.image.parent.height / 2 + }; + + //console.log("GET CONTAINER CENTER") + } + + //Calculate the delta depending on image position and center the + // desired position in the frame. + let delta = { + x: containerCenter.x - point.x * this.image.scatter.scale - this.scatter.position.x, + y: containerCenter.y - point.y * this.image.scatter.scale - this.scatter.position.y + }; + // console.log("MOVE TO: " , this.image.scatter.translatable,point, delta) + + if (animate > 0) { + let last = 0; + TweenMax.to({ x: 0, y: 0 }, animate, { + ease: Power0.easeNone, + x: delta.x, + y: delta.y, + onUpdateParams: ['{self}'], + onUpdate: tween => { + let step = tween.ratio - last; + last = tween.ratio; + this.image.scatter.transform(Points.multiplyScalar(delta, step), /*ratio*/ 1, 0, { x: 0, y: 0 }); + } + }); + } else { + this.image.scatter.transform(delta, /*ratio*/ 1, 0, { x: 0, y: 0 }); + } + } + // return this.image.scatter.position + } + + scaleForFloatingLevel(level) { + level = Math.max(0, level - this.image.info.baseLevel); + return Math.pow(2, level) / this.image.resolution + } + + floatingLevelForScale(scale) { + let level = Math.log2(scale * this.image.resolution); + let newLevel = this.image.info.baseLevel + Math.max(level, 0); + return Math.min(newLevel, this.image.info.maxLoadableLevel) + } + + get distance() { + return this.floatingLevelForScale(this.scatter.scale) + } + + clone(container, scatter = null) { + const map = new DeepZoomMap(this.mapdata, this.tilesConfig, { + alpha: this.alpha, + cover: this.cover, + debug: this.debug, + startScale: this.startScale, + minScale: this.minScale, + maxScale: this.maxScale, + rotatable: this.rotatable, + translatable: this.translatable, + scalable: this.scalable, + viewport: this.viewport + }); + + //TODO: If frame is not set, the map does not work anymore. + + //map.load(container, scatter) + + // this.image.parent.children.forEach(child=>{ + // if(child instanceof PIXI.DisplayObject){ + + // if(child instanceof PIXI.Graphics){ + // // let clone = child.clone() + // // const position = child.position + // // clone.position.set(position.x, position.y) + // // map.addChild(clone) + // // console.log(map.mapLayer) + + // }else console.log("DisplayObject is not yet implemented for cloning.", child) + + // }else console.error("Not implemented object to clone: ", child) + // }) + + return map + } + + tint() { + let color = DeepZoomMap.tintcolors[DeepZoomMap.tintcolor++ % DeepZoomMap.tintcolors.length]; + this.image.children[0].children.forEach(tiles => { + tiles.children.forEach(tile => { + tile.tint = color; + }); + }); + } + + // /** Returns the tile layer level that corresponds to the given scale. + // * @param {number} scale - the scale factor + // **/ + // levelForScale(scale) { + // let level = Math.round(Math.log2(scale * this.resolution)) // Math.floor(Math.log2(event.scale))+1 + // let newLevel = this.info.baseLevel + Math.max(level, 0) + // return Math.min(newLevel, this.info.maxLoadableLevel) + // } + + // /** + // * Returns the scale factor that correspond to a given level. + // * @param {number} level - the requested level + // * @returns {number} - Returns the scale level for the given level. + // */ + // scaleForLevel(level){ + // level = Math.max(0, level - this.info.baseLevel) + // return Math.pow(2, level) / this.resolution + // } + } + + DeepZoomMap.tintcolors = [0xff0000, 0xff00ff, 0xffff00, 0x00ff00, 0x00ffff, 0x0000ff]; + DeepZoomMap.tintcolor = 0; + + /** + * + * ImageMap extends GeoMap to display simple images + * as maps. + */ + + class ImageMap extends GeoMap { + constructor(sprite, mapdata, opts = {}) { + super(mapdata, opts); + + this.sprite = sprite; + + this.baseZoomHeight = opts.baseZoomHeight ? opts.baseZoomHeight : this.sprite.texture.height; + } + + load(container = null, scatter = null) { + super.load(this.sprite, container, scatter); + this.image.alpha = this.alpha; + this.image.interactive = true; + } + + clone(container = null, scatter = null) { + const map = new ImageMap(new PIXI.Sprite(this.sprite.texture), this.mapdata, { + alpha: this.alpha, + cover: this.cover, + debug: this.debug, + startScale: this.startScale, + minScale: this.minScale, + maxScale: this.maxScale, + rotatable: this.rotatable, + translatable: this.translatable, + scalable: this.scalable, + viewport: this.viewport + }); + map.load(container, scatter); + + console.log(map.image); + return map + } + + // transformed(e) { + // for (let key in this.overlays) { + // this.overlays[key].forEach((overlay) => { + // overlay.sprite.scale.x = overlay.scale / e.scale + // overlay.sprite.scale.y = overlay.scale / e.scale + // }) + // } + // } + + /** + * + * + * @param {*} coordinates + * @param {*} [zoom=null] + * @param {*} [{ animate = 0 }={}] + * @memberof ImageMap + */ + moveTo(coordinates, zoom = null, { animate = 0 } = {}) { + // console.log('Coordinates: ', coordinates) + + // if (zoom) { + // this.image.scatter.requestScale(zoom) + // } + + // if (coordinates) { + // //Get pixel position of lat lang values + // let offset = Points.multiplyScalar(this.coordinatesToPoint(coordinates), this.scatter.scale) + + // let frame = this.getFrame() + // console.log(frame) + + // //Calculate the delta depending on image position and center the + // // desired position in the frame. + // let delta = { + // x: frame.center.x - offset.x - this.scatter.position.x, + // y: frame.center.y - offset.y - this.scatter.position.y + // } + + // console.log('Move to: ', offset, frame, delta) + + // if (this.image) { + // if (animate > 0) { + // console.log(animate) + // //TODO Replace this with a more robus manipulation method (RequestMovement + animation) + // this.image.scatter.move(delta, { animate }) + // //Requesting the transform dhoul be okay. Maybe also replace with an request mehtod. + // } else this.image.scatter.transform(delta, /*ratio*/ 1, 0, { x: 0, y: 0 }) + // } else console.error('Imge was not loaded yet.') + // } + + if (this.image.scatter == null) { + return + } + //TODO: This is jaggy on submaps. Make it more smooth. Severin Opel 08-05-2018 + if (zoom) { + /** + * Zoom's the view to a specified distance in DZI-Levels. + * The input level is clipped to allowed levels. + * */ + + let targetScale = zoom * this.zoomFactor; + + // Don't scale beyond boundaries. + if (this.maxScale) targetScale = Math.min(this.maxScale, targetScale); + + if (this.minScale) targetScale = Math.max(targetScale, this.minScale); + + this.image.scatter.requestScale(targetScale); + } + + //coordinates = null + if (coordinates) { + //Get pixel position of lat lang values + let point = this.coordinatesToPoint(coordinates); + + let containerCenter; + if (this.frame) { + containerCenter = this.getFrame().localCenter; + //console.log("HAS FRAME: ", containerCenter) + } else { + containerCenter = { + x: this.image.parent.width / 2, + y: this.image.parent.height / 2 + }; + + //console.log("GET CONTAINER CENTER") + } + + //Calculate the delta depending on image position and center the + // desired position in the frame. + + let delta = { + x: containerCenter.x - point.x * this.image.scatter.scale - this.scatter.position.x, + y: containerCenter.y - point.y * this.image.scatter.scale - this.scatter.position.y + }; + // console.log("MOVE TO: " , this.image.scatter.translatable,point, delta) + + if (animate > 0) { + let last = 0; + TweenMax.to({ x: 0, y: 0 }, animate, { + ease: Power0.easeNone, + x: delta.x, + y: delta.y, + onUpdateParams: ['{self}'], + onUpdate: tween => { + let step = tween.ratio - last; + last = tween.ratio; + this.image.scatter.transform(Points.multiplyScalar(delta, step), /*ratio*/ 1, 0, { x: 0, y: 0 }); + } + }); + } else { + this.image.scatter.transform(delta, /*ratio*/ 1, 0, { x: 0, y: 0 }); + } + } + } + + get zoom() { + return this.scatter.scale / this.zoomFactor + } + + get zoomFactor() { + let factor = this.baseZoomHeight / this.sprite.texture.height; + console.log(factor); + return factor + } + } + + /** + * The MapView class is responsible for a consistent map view. + * It is aware of the current viewposition, the scale and viewport. + * It ensures, that maps can be changed, without the user noticing it. + * + */ + class MapView { + /** + * + * @param {object} [focus = {x:0, y:0}] - Defines the startup focuspoint of the app. + * @param {number} [zoom = 0] - Defines the startup zoom of the app. Note that this is just a request. + * The MapView will prioritize a full scale app, than displaying the demanded zoom factor + */ + constructor({ + map = null, + focus = null, + zoom = null, + viewport = { min: { x: -85, y: -180 }, max: { x: 85, y: 180 } } + } = {}) { + this.viewport = viewport; + this._focus = focus; + this._zoom = zoom; + this._map = map; + this.referenceHeight = 256; + } + + get focus() { + return this._focus + } + get zoom() { + return this._zoom + } + + get map() { + return this._map + } + + /** + * Sets the map to the given focuspoint and zoom factor. + */ + setMap(map) { + this._map = map; + this.update(); + return true + } + + update() { + this.map.moveTo(this._focus, this._zoom); + } + + transformed(e) { + this.updateZoom(); + this.updateFocusPoint(); + } + + applyCameraPosition() { + this.updateFocusPoint(); + this.updateZoom(); + } + + updateFocusPoint() { + const frame = this.map.getFrame(); + this._focus = this.coordinatesFromWindowPoint(frame.localCenter); + } + + updateZoom() { + /** + * TODO: This relies on the fact, that all maps have the same tileSize, + * if a set would have a smaller tileSize. Improve that. + */ + if (this.map instanceof DeepZoomMap) this._zoom = this.map.floatingLevelForScale(this.map.image.scatter.scale); + else { + this._zoom = this.map.zoom; + console.warn('Zoom is not yet correctly implemented in this Map type: ' + this.map); + } + } + + mapPointToWindowPoint(point) { + let container = this.map.image.parent; + + let _point = new PIXI.Point( + this.map.scatter.position.x + this.map.scatter.scale * point.x, + this.map.scatter.position.y + this.map.scatter.scale * point.y + ); + + return container.toGlobal(_point) + } + + windowPointToMapPoint(point) { + let offset = this.map.image.parent.toGlobal({ x: 0, y: 0 }); + let _point = new PIXI.Point( + (point.x - this.map.scatter.position.x - offset.x) / this.map.scatter.scale, + (point.y - this.map.scatter.position.y - offset.y) / this.map.scatter.scale + ); + + return _point + } + + /** + * Gets the coordinates of a specific point in the viewport. + * + * @param {PIXI.Point | {x,y}} point - Pixel position in the viewport. + * @returns {{x,y}} Coordinates on the map of the provided position. + * @memberof MapView + */ + coordinatesFromWindowPoint(point) { + let position = { + x: point.x - this.map.scatter.position.x, + y: point.y - this.map.scatter.position.y + }; + + let normalized = { + x: position.x / (this.map.width * this.map.scatter.scale), + y: position.y / (this.map.height * this.map.scatter.scale) + }; + + let coordinates = this.map.mapdata.toCoordinates(normalized); + + return coordinates + } + } + + /* */ + + class Robinson extends Projection { + constructor(lng = 0) { + super(); + + this.lng0 = lng; + this.lengthOfParallel = [ + 1.0, + 0.9986, + 0.9954, + 0.99, + 0.9822, + 0.973, + 0.96, + 0.9427, + 0.9216, + 0.8962, + 0.8679, + 0.835, + 0.7986, + 0.7597, + 0.7186, + 0.6732, + 0.6213, + 0.5722, + 0.5322 + ]; + this.distancesFromEquator = [ + 0.0, + 0.062, + 0.124, + 0.186, + 0.248, + 0.31, + 0.372, + 0.434, + 0.4958, + 0.5571, + 0.6176, + 0.6769, + 0.7346, + 0.7903, + 0.8435, + 0.8936, + 0.9394, + 0.9761, + 1.0 + ]; + } + forward(coords) { + let { x: lat, y: lng } = coords; + + lng = this._adjustLng(lng); + + // Get the required indices, the remainder in between low and hight as ratio + // and the sign of the found indices, as the tables are only in positive direction. + let { low, high, ratio, sign } = this._getInterpolationValues(lat, 90); + + // Values that lie inbetween two indices are interpolated. + let y = this._interpolate(this.distancesFromEquator[low], this.distancesFromEquator[high], ratio); + + // Reapply the sign to the vertical position. + y *= sign; + + // The center of the projection is in the center of the map. Therefore we shift the + // center to the top left corner. + y = 1 - (y + 1) / 2; + + // The lengthOfParallel table provides us with the corresponding scaling factor + // for a specific latitude. Inbetween values are interpolated as before. + let proportionalLength = this._interpolate(this.lengthOfParallel[low], this.lengthOfParallel[high], ratio); + + //To normalize the value to a range from -1 to 1. + let x = (proportionalLength * lng) / 180; + + x = (x + 1) / 2; + + return { x, y } + } + + backward(position) { + let { x, y } = position; + + y = 1 - 2 * y; + let sign = Math.sign(y); + y = Math.abs(y); + + let low = 0; + let high = 0; + for (let i = 0; i < this.distancesFromEquator.length - 1 && y > this.distancesFromEquator[i]; i++) { + low = i; + high = i + 1; + } + + let lowDist = this.distancesFromEquator[low]; + let highDist = this.distancesFromEquator[high]; + + let ratio = highDist - lowDist == 0 ? 0 : (y - lowDist) / (highDist - lowDist); + + let lat = low * 5 + ratio * 5; + + let parallelLengthMin = this.lengthOfParallel[low]; + let parallelLengthMax = this.lengthOfParallel[high]; + + let completeLength = parallelLengthMin + (parallelLengthMax - parallelLengthMin) * ratio; + + x = x * 2 - 1; + let normalizedLength = x / completeLength; + + let lng = normalizedLength * 180; + + return { x: lat * sign, y: this._adjustLng(lng, true) } + } + + _adjustLng(lng, inv = false) { + let moved = inv ? lng + this.lng0 : lng - this.lng0; + if (moved < -180) moved += 360; + if (moved > 180) moved -= 360; + + return moved + } + + _interpolate(a, b, ratio) { + return a * (1 - ratio) + b * ratio + } + _getInterpolationValues(value, max) { + let sign = Math.sign(value); + value = Math.min(Math.abs(value), max); + // Note that min and max can be the same. Which is true + // when lat is dividable by 5. This also covers the edge cases 0 and 90. + let minIndex = Math.floor(value / 5); + let maxIndex = Math.ceil(value / 5); + let ratio = (value % 5) / 5; + // console.log({ value, minIndex, maxIndex, ratio }) + // console.log(this.lengthOfParallel.length) + return { low: minIndex, high: maxIndex, ratio, sign } + } + + toString() { + return + } + get name() { + return 'Robinson Projection' + } + } + + /** + * The class CoordinateDisplay shows the coordinates of the center of the sceen + * in the top left of the renderer. + * + * @private + * @class + * @extends PIXI.Graphics + * @see {@link http://pixijs.download/dev/docs/PIXI.Graphics.html|PIXI.Graphics} + */ + class CoordinateDisplay extends PIXI.Graphics { + /** + * Creates an instance of a CoordinateDisplay. + * + * @constructor + * @param {MapApp} mapApp - The MapApp where the coordinates should be displayed. + */ + constructor(mapApp) { + super(); + + this.app = mapApp; + + this.crosshair = new PIXI.Graphics(); + + this.outerSize = 15; + this.innerSize = 5; + this.thickness = 2; + this.color = 0xe73230; + + this.crosshair.lineStyle(this.thickness, this.color); + this.crosshair.moveTo(-this.outerSize, 0); + this.crosshair.lineTo(-this.innerSize, 0); + this.crosshair.moveTo(this.innerSize, 0); + this.crosshair.lineTo(this.outerSize, 0); + + this.crosshair.moveTo(0, -this.outerSize); + this.crosshair.lineTo(0, -this.innerSize); + this.crosshair.moveTo(0, this.innerSize); + this.crosshair.lineTo(0, this.outerSize); + + this.text = new PIXI.Text( + 'Pending ...', + new PIXI.TextStyle({ + fontFamily: 'Arial', + fontSize: 14, + fontWeight: 'bold', + fill: '#f6f6f6', + stroke: '#434f4f', + strokeThickness: 3 + }) + ); + + this.refreshCoordinates(); + + this.yOffset = 20; + this.volume = 32; + this.margin = 5; + + this._updateFrame(); + + this.text.position.set(20 + this.margin, this.yOffset + this.volume + 2 * this.margin); + + this.addChild(this.text); + this.addChild(this.crosshair); + this.setCrosshair(); + + window.setInterval(this.refreshCoordinates.bind(this), 300); + } + + _updateFrame() { + this.clear(); + this.lineStyle(3, 0x434f4f, 1) + .beginFill(0x434f4f, 0.6) + .drawRoundedRect(20, this.yOffset + this.volume + this.margin, this.text.width + 2 * this.margin, 32, 5) + .endFill(); + } + + toggleCrosshair() { + if (this.crosshair.parent) this.disableCrosshair(); + else this.enableCrosshair(); + } + + enableCrosshair() { + this.addChild(this.crosshair); + } + + disableCrosshair() { + this.removeChild(this.crosshair); + } + + /** + * Refreshes displayed coordinates. + * + * @return {MapApp} Returns the MapApp object for chaining. + */ + refreshCoordinates() { + if (this.app.mapLayer.mapview.focus && this.app.mapLayer.mapview.zoom) { + //TODO pass a mapview to avoid global access. + var coords = this.app.mapLayer.mapview.focus; + this.setCrosshair(); + this.text.text = + 'Lat: ' + + coords.x.toFixed(4) + + '| Lng: ' + + coords.y.toFixed(4) + + '| Zoom: ' + + this.app.mapLayer.mapview.zoom.toFixed(2); + this._updateFrame(); + } + } + setCrosshair() { + this.crosshair.position.set(this.app.center.x, this.app.center.y); + } + } + + /** + * The Layers Framework makes managing layers, that may have a different underlying + * technology (e.g. PIXI and DOM) more convenient. + * + * Layer is an abstract class, which makes the Framework quite generic and expandable. + */ + class Layer { + constructor({ name = 'unnamed', layers = [], debug = false, container = null, root = null } = {}) { + this.parent = null; + + this._container = container; + if (this.container) { + this._defineAsLayer(); + } + + // Layers should be distinct from regular elements. + this.name = name; + //Object to backup values when manipulating the Dom. + this.backup = {}; + + this.layers = []; + layers.forEach(layer => this.addLayer(layer)); + + this.elements = []; + + // Adds the root Element to the page. + if (root) { + this._appendRoot(root); + } + + this.debug = debug; + if (debug) this._visualizeLayer(); + } + + /** + * If the element is a root element, it has to know + * how it appends to the page. + */ + _appendRoot(ground) { + console.error('Method _appendRoot(_appendRoot) is abstract. Overload it in subclass', this, ground); + } + + /** + * The container has to know which layer it corresponds to. + * Therefore we need to set an attribute to identify the layer. + * This may change depending on the elements. + * Therefore subclasses have to overload it. + */ + _defineAsLayer() { + console.error('Method _defineAsLayer is abstract. Overload it in subclass.', this); + } + + /** + * Adds an element as child, whether it's an element or an layer. + * + * @param {object} elem - Element or Layer to add as child to the layer. + */ + place(elem) { + if (elem instanceof Layer) this.placeLayer(elem); + else { + this.placeElement(elem); + } + } + + /** + * Adds an layer as child of the layer- + * + * @param {Layer} layer - Layer to be added as child. + */ + placeLayer(layer) { + if (this.container) this.placeElement(layer.container); + this.layers.push(layer); + layer.parent = this; + return true + } + + remove(elem) { + if (elem instanceof Layer) { + this.removeLayer(elem); + } else this._removeElement(elem); + } + + removeLayer(layer) { + let idx = this.layers.indexOf(layer); + let removedArr = this.layers.splice(idx, 1); + if (removedArr.length > 0) { + let container = removedArr[0].container; + if (container) container.parent.removeChild(container); + } + } + + /** + * Removes an element from the Layer. + * Calls the abstract method removeElement for custom behaviours in + * subclasses. + * + * @private + * @param {object} element - Element within the 'this.children' array to be removed. + * @memberof Layer + */ + _removeElement(element) { + let elementIndex = this.elements.indexOf(element); + + if (elementIndex === -1) { + console.error('The element you wanted to remove was not a child of the layer.', element, this); + } else { + this.elements.splice(elementIndex, 1); + this.elements.forEach(child => console.log(child)); + this.removeElement(element); + } + } + + /** + * Removes an element from the Layer. + * + * @publuc + * @param {object} element - Element within the 'this.children' array to be removed. + * @memberof Layer + */ + removeElement(element) { + console.error('Method removeElement(element) is abstract. Overload it in subclass.', this, element); + } + + getLayerByName(name) { + for (let i = 0; i < this.layers.length; i++) { + if (this.layers[i].name == name) { + return this.layers[i] + } + } + return null + } + + /** + * The container, that holds the child elements of + * the respective technology. + */ + get container() { + return this._container + } + + /** + * Adds a non-layer child to the layer. + */ + placeElement(element) { + console.error('Method placeElement(element) is abstract. Overload it in subclass.', this, element); + } + + /** + * Moves the layer one up. + */ + up() { + if (this.parent) this.parent.requestUp(this); + else console.warn("Root layer can't be moved up: ", this); + } + + /** + * Moves a child element one layer up. + * + * @param {object} child - Child element to change. + */ + requestUp(child) { + console.error('Method requestUp(child) is abstract. Overload it in subclass.', child); + } + + /** + * Moves the layer one down. + */ + down() { + if (this.parent) this.parent.requestDown(this); + else console.warn("Root layer can't moved down: ", this); + } + + /** + * Moves a child element one layer down. + * + * @param {object} child - Child element to change. + */ + requestDown(child) { + console.error('Method requestDown(child) is abstract. Overload it in subclass.', child); + } + + /** + * Bring the element on Top of the layer. + * + * @param {object} element - Child element, that should be put on top. + */ + toFront() { + console.log(this); + if (this.parent && this.container) this.parent.requestToFront(this.container); + else console.warn("Root layer can't be put toFront: ", this); + } + + /** + * Brings the element to the top of the layer. + * + * @param {object} element - Child element, that should be put on top. + */ + requestToFront(element) { + console.error('Method requestToFront(element) is abstract. Overload it in subclass.', element); + } + + /** + * Brings the layer to the bottom. + */ + toBottom() { + if (this.parent && this.container) this.parent.requestToBottom(this.container); + else console.warn("Root layer can't be put ToBottom: ", this); + } + + /** + * Brings the element to the bottom of the layer. + * + * @param {object} element - Child element, that should be put on bottom. + */ + requestToBottom(element) { + console.error('Method requestToBottom(element) is abstract. Overload it in subclass.', element); + } + + get position() { + console.error('Getter position is abstract. Overload is in subclass:', this); + } + + set position(value) { + console.error('Setter position is abstract. Overload is in subclass:', this, value); + } + + /* + * Hides the layer. + */ + hide() { + console.error('Method hide() is abstract. Overload is in subclass:', this); + } + + /* + * Shows the layer. + */ + show() { + console.error('Method show() is abstract. Overload is in subclass:', this); + } + + get visible() { + console.error("Getter 'visible' is abstract. Overload it in subclass.", this); + } + + toggle() { + if (this.visible) this.hide(); + else this.show(); + } + + get root() { + if (this.parent) return this.parent.root + else return this + } + + static find(element) { + console.error('Call the find method of an appropriate child method: ', element); + } + + subscribeEvent(name, callback, { bubbleOnly = false, captureOnly = false, stopPropagation = false } = {}) { + let event = { + callback, + options: { bubbleOnly, captureOnly, stopPropagation } + }; + if (!this.eventListeners.hasOwnProperty(name)) { + this.eventListeners.name = event; + } else { + if (Array.isArray(this.eventListeners.name)) { + this.eventListeners.name.push(event); + } else { + let arr = [this.eventListeners.name]; + this.eventListeners.name = arr; + this.eventListeners.name.push(event); + } + } + } + + dispatchEvent(name, data, { bubble = false, capture = false } = {}) { + if (bubble && this.parent) this.parent._eventOccured(name, data, this, 'bubble'); + if (capture) + this.layers.forEach(layer => { + layer.dispatchEvent(name, data, this, 'capture'); + }); + } + + _eventOccured(name, data, target, phase) { + if (this.eventListeners.hasOwnProperty(name)) { + this.eventListeners.name.callback({ name, data, target, phase }); + } + } + + /** + * Clones the layer with all its children. + */ + clone() { + console.error('Call of abstract method Layer.clone(). Inherit in subclass.', this); + } + + /** + * Clones an element on the layer. + */ + static cloneElement(element) { + console.error('Call of abstract static method Layer.cloneElement(element). Inherit in subclass.', this); + } + } + + /** + * The Layer class for DOM elements. + */ + class DOMLayer extends Layer { + constructor(opts) { + super( + Object.assign( + { + container: DOMLayer._createContainer() + }, + opts + ) + ); + } + + _appendRoot(ground) { + ground.appendChild(this.container); + } + + _visualizeLayer() { + if (this.container) { + let span = document.createElement('span'); + span.innerHTML = this.name; + this.container.appendChild(span); + } + } + + _defineAsLayer() { + this._container.layer = this; + } + + static _createContainer() { + let container = document.createElement('div'); + return container + } + + placeLayer(layer) { + layer.container.position = 'absolute'; + super.placeLayer(layer); + } + + placeElement(domElement) { + if (domElement instanceof HTMLElement) { + this.elements.push(domElement); + this._container.appendChild(domElement); + } else console.error('Could not add element, it is not a DOM Element.', domElement); + } + + static createLayer(style) { + let dom = document.createElement('div'); + + return dom + } + + static find(element) { + if (element.layer) return element.layer + + while (element.parentNode) { + element = element.parentNode; + if (element.layer) return element.layer + } + + return null + } + + /** + * Moves the layer one up. + */ + up() { + if (this.parent && this.container) this.parent.requestUp(this.container); + else console.warn("Root layer can't be moved up: ", this); + } + + /** + * Moves a child element one layer up. + * + * @param {object} child - Child element to change. + */ + requestUp(child) { + if (child.nextSibling) child.parentNode.insertBefore(child.nextSibling, child); + } + + /** + * Moves the layer one down. + */ + down() { + if (this.parent && this.container) this.parent.requestDown(this.container); + else console.warn("Root layer can't moved down: ", this); + } + + /** + * Moves a child element one layer down. + * + * @param {object} child - Child element to change. + */ + requestDown(child) { + if (child.previousSibling) child.parentNode.insertBefore(child, child.previousSibling); + } + + /** + * Brings the element to the top of the layer. + * + * @param {object} element - Child element, that should be put on top. + */ + requestToFront(element) { + console.log(element); + element.parentNode.appendChild(element); + } + + /** + * Brings the element to the bottom of the layer. + * + * @param {object} element - Child element, that should be put on bottom. + */ + requestToBottom(element) { + element.parentNode.prepend(element); + } + + /* + * Hides the layer. + */ + hide() { + if (this._container.style.display != 'none') { + this.backup.display = this._container.style.display; + } + this._container.style.display = 'none'; + } + + /* + * Shows the layer. + */ + show() { + this._container.style.display = this.backup.display ? this.backup.display : 'initial'; + } + + get visible() { + return this._container.style.display == 'none' + } + + get position() { + let x = this.container && this.container.style.left ? parseInt(this.container.style.left) : 0; + let y = this.container && this.container.style.top ? parseInt(this.container.style.top) : 0; + return { x, y } + } + + set position(value) { + if (this.container) { + this.container.style.left = value.x + 'px'; + this.container.style.top = value.y + 'px'; + } + } + } + + /** + * The Layer class for PIXI Elements. + */ + class PIXILayer extends Layer { + constructor(opts = {}) { + opts = Object.assign( + { + container: new PIXI.Graphics(), + debug: false + }, + opts + ); + super(opts); + + if (opts.debug) { + this.container.interactive = true; + this.container.on('pointerdown', event => { + console.log(this.name); + }); + } + } + + static cloneElement(element) { + if (element instanceof PIXI.Graphics) { + let clone = element.clone(); + console.log('Clone Parent: ', clone.parent); + // PIXI does not clone the transform properties. + // We have to apply them manually. + + clone.position = element.position; + clone.rotation = element.rotation; + clone.scale = element.scale; + + return clone + } else { + console.error('Cloning of PIXI element not yet implemented: ', element); + } + } + + _appendRoot(ground) { + ground.stage.addChild(this.container); + } + + _defineAsLayer() { + this._container.layer = this; + } + + transform(event) { + if (event.about) { + let relScale = this.scale / event.scale - 1; + let localAnchor = this.toLocal(event.about); + event.translate = Points.add(event.translate, Points.multiplyScalar(localAnchor, relScale)); + } + + super.transform(event); + } + + toLocal(point) { + return Points.subtract(point, this.position) + } + + _visualizeLayer() { + this.place(new PIXI.Text(this.name)); + } + + _update(delta) { + const margin = 30; + const length = 100; + + let origin = new PIXI.Polygon([ + new PIXI.Point(this.position.x, this.position.y + length * this.scale), + new PIXI.Point(this.position.x, this.position.y), + new PIXI.Point(this.position.x, this.position.y - length * this.scale), + new PIXI.Point(this.position.x, this.position.y), + new PIXI.Point(this.position.x - length * this.scale, this.position.y), + new PIXI.Point(this.position.x, this.position.y), + new PIXI.Point(this.position.x + length * this.scale, this.position.y) + ]); + + let rect = new PIXI.Rectangle( + this.position.x + margin * this.scale, + this.position.y + margin * this.scale, + length * this.scale, + length * this.scale + ); + + this.container.drawShape(origin); + this.container.drawShape(rect); + } + + placeElement(pixiElement) { + try { + pixiElement.layer = this; + this._container.addChild(pixiElement); + this.elements.push(pixiElement); + return true + } catch (e) { + console.error(e, this, pixiElement); + } + return false + } + + requestUp(child) { + if (child instanceof Layer) { + if (child.container) child = child.container; + else return + } + + const oldIdx = this.children.indexOf(child); + if (oldIdx > -1) { + const newIdx = oldIdx + 1; + + if (newIdx < this.children.length) { + let elem = this.children.splice(oldIdx, 1); + this.children.splice(newIdx, 0, elem[0]); + } + } + } + + requestDown(child) { + if (child instanceof Layer) { + if (child.container) child = child.container; + else return + } + + const oldIdx = this.children.indexOf(child); + if (oldIdx > -1) { + const newIdx = oldIdx - 1; + + if (newIdx >= 0) { + let elem = this.children.splice(oldIdx, 1); + this.children.splice(newIdx, 0, elem[0]); + } + } + } + + requestToFront(child) { + const oldIdx = this.children.indexOf(child); + this.children.splice(oldIdx, 1); + this.children.push(child); + } + + requestToBottom(child) { + const oldIdx = this.children.indexOf(child); + this.children.splice(oldIdx, 1); + this.children.unshift(child); + } + + get children() { + return this.container.children + } + + follow(layer) { + super.follow(layer); + this.container.position = this.position; + this.container.scale = { x: this.scale, y: this.scale }; + } + + set position(value) { + if (this.container) this.container.position = value; + } + + get position() { + if (this.container) return this.container.position + } + + show() { + this.container.visible = true; + } + + hide() { + this.container.visible = false; + } + + get visible() { + return this.container.visible + } + + static find(element) { + if (element.layer) return element.layer + + while (element.parent) { + element = element.parent; + if (element.layer) return element.layer + } + + return null + } + + removeElement(element) { + element.parent.removeChild(element); + } + } + + //import { GeoGraphics } from "../pixi/geographics.js" + + /** + * The GeoLayer is a special PIXILayer, that recognizes other GeoLayers and + * GeoGraphics. The layer can be adapted to a map and notifies all Geo-Children + * of the Adaption. + */ + class GeoLayer extends PIXILayer { + constructor(opts = {}) { + super(opts); + + /** + * When setting the map and mapLayer with the options paramter. + * The GeoLayer becomes a RootLayer, when the root layer should not be a MapLayer. + */ + if (opts.map) this._map = opts.map; + if (opts.map) this._mapLayer = opts.mapLayer; + + this.geographics = []; + } + + /** + * Adapts to a map. If the maplayer should adapt to the parent maplayer, + * no parameter must be specified. + */ + adapt(map = null) { + if (!map) map = this.map; + + if (map) { + this.geographics.forEach(geographic => { + geographic.adaptTo(map); + }); + + this.layers.forEach(layer => { + if (layer.adapt) layer.adapt(map); + }); + } else console.error('There was no map specified.', this); + } + + place(geographic) { + if (geographic.constructor.name.startsWith('Geo') && geographic.graphics) { + // Fix to remove the rollupjs circular dependency + //if (geographic instanceof GeoGraphics) { + this.geographics.push(geographic); + super.place(geographic.graphics); + } else super.place(geographic); + } + + placeLayer(layer) { + if (layer instanceof GeoLayer || layer instanceof MapLayer) { + super.placeLayer(layer); + if (this.map) layer.geographics.forEach(geographics => geographics.adaptTo(this.map)); + } else + console.error('Could not place layer. Only MapLayer and GeoLayers can be child layers of GeoLayers.', layer); + } + + //GeoLayers have to be children of a map layer, + // therefore we can recursively get the map. + get map() { + return this._map ? this._map : this.parent.map + } + + get mapLayer() { + return this._mapLayer ? this._mapLayer : this.parent.mapLayer + } + + clone(mapLayerClone) { + const opts = { + mapLayer: mapLayerClone, + map: mapLayerClone.map + }; + let geoLayerClone = new GeoLayer(opts); + + this.layers.forEach(layer => { + let layerClone = layer.clone(opts); + if (layerClone) { + geoLayerClone.placeLayer(layerClone); + } + }); + + this.geographics.forEach(geographics => { + let clone = geographics.clone(); + if (clone) { + geoLayerClone.place(clone); + } + }); + + return geoLayerClone + } + } + + /** + * TODO: It may be a good idea to inherit maplayer from geo layer. + */ + class MapLayer extends PIXILayer { + constructor(active, maps, scatterContainer, opts = {}) { + super( + Object.assign( + { + container: new PIXI.Container() + }, + opts + ) + ); + + this.opts = opts; + + this.transformHandler = new EventHandler('onTransform', { + listeners: () => { + this.labelVisibility(); + } + }); + + this.scatterContainer = scatterContainer; + + if (!maps[active]) console.error('No map was set!'); + else opts.map = maps[active]; + + this.mapview = new MapView(opts); + this.changeHandler = new EventHandler('onChange', { + listeners: opts.onChange + }); + + //TODO Implement error handling here. + this.maps = maps; + this.changeMap(active); + if (opts.map) this.placeMap(opts.map); + this.dynamicElements = new Map(); + } + + labelVisibility() { + const visibility = this.childrenVisibility; + + if (visibility) { + const zoom = this.mapview.zoom; + + const min = visibility.min || 0; + const max = visibility.max || Number.MAX_VALUE; + + if (zoom > min && zoom < max) { + this.elements.forEach(it => (it.visible = true)); + + this.elements.forEach(it => { + const scale = 1 / it.parent.scale.x; + + // it.children are poi groups + // it.children[0] is the poi group of the tübingen poi + // it.children[0].children are the text containers (not PIXI.Text), about 20 pieces + + if (it.children.length > 0) { + it.children[0].children.forEach(poi => { + if (poi.children.length === 1) { + poi.scale.set(scale, scale); + } + }); + } + }); + } else { + this.elements.forEach(it => (it.visible = false)); + } + } + } + + adapt() { + this.layers.forEach(layer => { + if (layer.adapt) layer.adapt(this.map); + }); + } + + placeLayer(layer) { + super.placeLayer(layer); + if (layer instanceof GeoLayer && this.map) { + layer.adapt(this.map); + } + } + + placeMap(map) { + if (map instanceof GeoMap) { + this.scatterContainer.addChild(map.image); + this.map.onTransform.add(this.transformed.bind(this)); + this.mapview.setMap(this.map); + + this.map.image.addChild(this.container); + + this.adapt(); + } else { + console.error("Could not set map, it's not of type GeoMap.", map); + } + } + + placeElement(elem) { + if (elem instanceof PIXI.DisplayObject) { + this.map.image.addChild(elem); + this.elements.push(elem); + } else { + console.error('Element need to be of type PIXI.DisplayObject.', elem); + } + } + + transformed(e) { + this.mapview.transformed(e); + this.transformHandler.call(this); + } + + clone(container = null) { + let clone = {}; + for (let name of Object.keys(this.maps)) { + //console.info(this.maps[name]) + clone[name] = this.maps[name].clone(container); + } + + //console.info(this.active) + let mapLayerClone = new MapLayer(this.active, clone, container, { + name: MapLayer.idx++, + viewport: this.mapview.viewport, + focus: this.mapview.focus, + zoom: this.mapview.zoom + }); + //mapLayerClone._map = clone['luftbild'] + mapLayerClone.childrenVisibility = this.childrenVisibility; + return mapLayerClone + } + + changeMap( + key, + { + useScatterAsContainer = true // If set to false, the normal container is used. This is necessary when using submaps and the container need to be a RigidContainer. + } = {} + ) { + Logging$1.log(`Map change: ${key}`); + + if (this.active !== key) { + if (this.maps.hasOwnProperty(key)) { + let old = this.map ? this.map : null; + this._map = this.maps[key]; + this._map.name = key; + this.active = key; + + let container = useScatterAsContainer ? this.scatterContainer : this.container; + + this.map.load(container); + + // Copies all layers. + this.layers.forEach(layer => { + if (old) this.map.image.addChild(layer.container); + }); + + this.placeMap(this.map); + + /** + * TODO: Improve + * + * I'm quite sure if I made a design mistake here. + * In an earlier version I did not need to migrate the + * layers manually from the map to the next map. + * + * I believe the old version was a container next to the + * map, which got updated on transform. + * + * -SO + */ + if (old) old.unload(); + + this.changeHandler.call(this, old); + } else { + let keys = Object.keys(this.maps); + + if (keys.length == 0) console.error('There is no map set for the map layer!'); + else { + let fallbackMap = keys[0]; + console.error( + `A map with the key (${key}) does not exists within the mapapp. Fallback to map: ${fallbackMap}.` + ); + this.changeMap(fallbackMap, { + useScatterAsContainer + }); + } + } + } + } + + get map() { + return this._map + } + + /** + * This is required for the consistency of georelated layers. + * The request traverses up to the mapLayer where it then returns + * the responsible map layer. + */ + get mapLayer() { + return this + } + } + + MapLayer.idx = 0; + + /** + * MapApp is responsible for showing fullscreen + * map applications. + * + */ + class MapApp extends PIXIApp { + constructor(opts = {}) { + super(opts); + + // Default values. + opts = Object.assign( + { + debug: false, + maps: {}, //required + view: null, + startmap: null, + coordsLogging: false, + overlays: {}, + keycodes: {}, + showHotkeys: false, + imageMapZoomHeight: 256, //Defines the zoomvalue 1 for all image maps inside the mapapp. + focus: null, + zoom: 1, + onMapChanged: null, + onSizeChanged: null, + onTransform: null + }, + opts, + { + alpha: 0.5 + } + ); + + this.submaps = []; + this.overlayElements = new Map(); + this.debug = opts.debug; + this.fpsLogging = opts.fpsLogging; + this.showHotkeys = opts.showHotkeys; + this.keycodes = this._extractKeyCodes(opts.keycodes); + this.coordsLogging = opts.coordsLogging; + this.startmap = opts.startmap; + this.overlays = opts.overlays; + this.maps = opts.maps; + this.focus = opts.focus; + this.zoom = opts.zoom; + + this.onMapChanged = new EventHandler('mapChanged', { + listeners: opts.onMapChanged + }); + this.onSizeChanged = new EventHandler('sizeChanged', { + listeners: opts.onSizeChanged + }); + this.onTransform = new EventHandler('transformed', { + listeners: opts.onTransform + }); + + /** + * When in debug mode, this allows the user to copy the center coordinates to the clipboard. + */ + if (this.debug) { + this.DRAW_MODES = { + PIXI_POINT: 0, + PATH_MODE: 1, + POLYGON_MODE: 2, + + getName: function(num) { + let result = null; + for (const [key, val] of Object.entries(this)) { + if (val == num) result = key; + } + return result + } + }; + this.drawMode = this.DRAW_MODES.PIXI_POINT; + this.drawData = []; + } + this._setupKeyboardUtils(); + + Logging$1.log('Application start'); + } + + setup() { + super.setup(); + + // TODO get access to fps display + let fpsDisplay; + this.stage.children.forEach(element => { + if (element.refreshFps) fpsDisplay = element; + }); + + this.pixiLayer = new PIXILayer({ + name: 'Pixi Root', + container: this.scene + }); + + this.domLayer = new DOMLayer({ + name: 'DOM Root', + container: document.body + }); + + if (!this.startmap) { + let firstMap = Object.keys(this.maps)[0]; + if (firstMap != null) this.startmap = firstMap; + else { + console.error('No map was set. Set a map first, before running the setup command!'); + return + } + } + + //console.log('startup', this.startmap, this.maps) + + this.mapLayer = new MapLayer(this.startmap, this.maps, this.scene, { + name: 'Map Layer', + focus: this.focus, + zoom: this.zoom + }); + + this.mapLayer.changeHandler.add(this._mapChanged.bind(this)); + this.pixiLayer.place(this.mapLayer); + this._mapChanged(null); + + this.pixiUiLayer = new PIXILayer({ name: 'Pixi UI' }); + this.pixiLayer.placeLayer(this.pixiUiLayer); + + this.domUiLayer = new DOMLayer({ name: 'DOM UI' }); + this.domLayer.placeLayer(this.domUiLayer); + + if (this.fpsLogging && fpsDisplay) this.pixiUiLayer.place(fpsDisplay); + + if (this.coordsLogging) { + this.coordsDisplay = new CoordinateDisplay(this); + this.pixiUiLayer.place(this.coordsDisplay); + } + + this.__dragging = false; + this.__events = new Map(); + + const scene = this.scene; + scene.interactive = true; + scene.on('pointercancel', this.__onEnd.bind(this)); + scene.on('pointerdown', this.__onStart.bind(this)); + scene.on('pointermove', this.__onMove.bind(this)); + scene.on('pointerout', this.__onEnd.bind(this)); + scene.on('pointerup', this.__onEnd.bind(this)); + scene.on('pointerupoutside', this.__onEnd.bind(this)); + + return this + } + + layout(width, height) { + this.scene.resize(width, height); + this.mapLayer.mapview.update(); + this.onSizeChanged.call(this); + } + + sceneFactory() { + return new RigidScatterContainer(this.width, this.height, this.renderer, { + app: this, + showBounds: true, + showTouches: true, + showPolygon: true, + container: this + }) + } + + addMaps(maps) { + for (let key in maps) { + this.addMap(key, maps[key]); + } + } + + selectMap(key) { + if (this.maps[key]) { + if (this.mapLayer) this.mapLayer.changeMap(key); + } else { + console.error(`Selected map ("${key}") was not (yet) added to the mapapp.`); + } + } + + setMap(key, map) { + this.addMap(key, map); + this.selectMap(key); + } + + addMap(key, map) { + this.maps[key] = map; + } + + transformed(event) { + this.onTransform.call(this, event); + } + + _mapChanged(lastMap) { + if (lastMap) { + lastMap.flushHandlers(); + } + + /** + * TODO: A problem is that the map layer has no container + * on its own and it lives in the ScatterContainer. + * Here we guarantee, that the layer order is as it + * is defined in the layers. + */ + this.pixiLayer.layers.forEach(layer => { + if (layer !== this.mapLayer) { + layer.parent.container.removeChild(layer.container); + layer.parent.container.addChild(layer.container); + } + }); + + this.map.onTransform.add(this.transformed.bind(this)); + this.transformed(); + this.onMapChanged.call(this, this.map); + } + + _doesOverlayElementExist(layer, type, name) { + let layerElements = this.overlayElements.get(layer); + return layerElements != undefined && layerElements[type] != null && layerElements[type][name] != null + } + + _getOverlayElement(layer, type, name) { + let layerElements = this.overlayElements.get(layer); + return layerElements[type][name] + } + + _setOverlayElement(layer, type, name, value) { + let obj = this.overlayElements.get(layer); + if (obj == undefined) obj = {}; + + if (obj[type] == null) obj[type] = {}; + + obj[type][name] = value; + + this.overlayElements.set(layer, obj); + } + + place(layer) { + if (layer instanceof PIXILayer) { + this.pixiLayer.place(layer); + } else if (layer instanceof DOMLayer) { + this.domLayer.place(layer); + } else { + console.error('Could not add layer to ', this, layer); + } + } + + addMapOverlay(layer) { + this.mapLayer.place(layer); + } + + /** + * Copies the current coordinates to the clipboard. + */ + locationToClipboard() { + let hidden = document.createElement('input'); + document.body.appendChild(hidden); + hidden.value = '"location":' + JSON.stringify(app.mapLayer.mapview.focus); + hidden.readOnly = true; + hidden.select(); + document.execCommand('Copy'); + this.showNotification('Copied location to clipboard.'); + document.body.removeChild(hidden); + } + + pathToClipboard() { + let hidden = document.createElement('input'); + document.body.appendChild(hidden); + + this.drawData.push(this.mapLayer.mapview.focus); + + if (this.drawMode == this.DRAW_MODES.POLYGON_MODE) { + let data = { + type: 'Polygon', + coordinates: [this.drawData] + }; + + hidden.value = '"geometry":' + JSON.stringify(data); + } else { + // PATH_MODE is default. + hidden.value = JSON.stringify(this.drawData); + } + hidden.select(); + document.execCommand('Copy'); + this.showNotification('Location appended in clipboard.'); + document.body.removeChild(hidden); + } + + get map() { + return this.mapLayer.map + } + + get activeMapKey() { + return this.mapLayer.active + } + + getRelativePosition(x, y) { + return { + x: x * app.width, + y: y * app.height + } + } + + clearDrawData() { + this.drawData = []; + } + + showNotification(msg) { + let notification = document.createElement('div'); + notification.classList.add('notification'); + + let text = document.createElement('p'); + text.innerHTML = msg; + notification.appendChild(text); + + /** + * TODO: move styling (except opacity) to css. + */ + Object.assign(notification.style, { + opacity: 0, + top: 0, + left: 0, + position: 'fixed', + display: 'flex', + width: '100%', + height: '100%', + justifyContent: 'center', + alignItems: 'center', + pointerEvents: 'none' + }); + + document.body.appendChild(notification); + + let popAnimation = new TimelineLite({ + onComplete: () => { + notification.parentNode.removeChild(notification); + } + }); + let animationSpeed = 0.5; + + popAnimation + .to(notification, animationSpeed, { + opacity: 1 + }) + .to(notification, animationSpeed, { + opacity: 0 + }); + } + + _currentLocationToString() {} + + _matchKeyCode(event, keyCode) { + // If keycode does not exist or is invalid - return. + if (!keyCode || keyCode.key == null) return false + + let code = keyCode.key; + if (event.shiftKey) code -= 32; + const key = event.which == code || event.keyCode == code || event.charCode == code; + + const ctrl = keyCode.ctrlKey == event.ctrlKey; + const shift = keyCode.shiftKey == event.shiftKey; + const alt = keyCode.altKey == event.altKey; + + return key && ctrl && shift && alt + } + + _setupKeyboardUtils() { + document.body.addEventListener('keypress', event => { + this._checkForKeyCode(event); + }); + } + + _checkForKeyCode(event) { + if (this._matchKeyCode(event, this.keycodes.copyCoordinate)) { + event.preventDefault(); + + switch (this.drawMode) { + case this.DRAW_MODES.PIXI_POINT: + this.locationToClipboard(); + break + case this.DRAW_MODES.PATH_MODE: + case this.DRAW_MODES.POLYGON_MODE: + this.pathToClipboard(); + break + default: + console.error( + `Draw mode is not implemented yet: ${this.DRAW_MODES.getName(this.drawMode)}(${this.drawMode}).` + ); + } + } + + if (this._matchKeyCode(event, this.keycodes.togglePathMode)) { + if (this.drawMode == this.DRAW_MODES.PATH_MODE) { + this.showNotification('Path Mode disabled.'); + this._resetDrawMode(); + } else { + this.drawMode = this.DRAW_MODES.PATH_MODE; + this.showNotification('Path Mode enabled.'); + this.clearDrawData(); + } + } + + //When SHIFT+P is pressed POLYGON-MODE is toggled: + if (this._matchKeyCode(event, this.keycodes.togglePolygonMode)) { + if (this.drawMode == this.DRAW_MODES.POLYGON_MODE) { + this.showNotification('Polygon Mode disabled.'); + this._resetDrawMode(); + } else { + this.drawMode = this.DRAW_MODES.POLYGON_MODE; + this.showNotification('Polygon Mode enabled.'); + this.clearDrawData(); + } + } + + // When SHIFT+X is pressed toggle crosshair + if (this.keycodes.toggleUi && this._matchKeyCode(event, this.keycodes.toggleUi)) { + if (this.pixiUiLayer.visible) { + this.pixiUiLayer.hide(); + this.domUiLayer.hide(); + } else { + this.pixiUiLayer.show(); + this.domUiLayer.show(); + } + } + } + + _resetDrawMode() { + this.drawMode = this.DRAW_MODES.PIXI_POINT; + } + + _extractKeyCodes(keycodeText) { + let out = {}; + + for (let [name, combinationString] of Object.entries(keycodeText)) { + let keys = combinationString.split('+'); + out[name] = { + key: null, + ctrlKey: false, + shiftKey: false, + altKey: false + }; + let errors = []; + + const special = ['shift', 'ctrl', 'alt']; + keys.forEach(key => { + if (key.length == 1) { + if (out[name].key) { + const error = 'Tried to set multiple keys as keycode. This is currently not supported.'; + errors.push(error); + } else out[name].key = key.charCodeAt(0); + } else { + key = key.toLowerCase(); + if (special.indexOf(key) != -1) { + out[name][key + 'Key'] = true; + } else { + const error = 'Wrong / non-implemented special character OR typo in key: ' + key; + errors.push(error); + } + } + }); + + // Disable hotkey if an error occured. + if (errors.length > 0) + out[name] = { + key: null, + ctrlKey: false, + shiftKey: false, + altKey: false + }; + } + + return out + } + + __onStart(event) { + this.__dragging = true; + + let hittedSubmap = null; + let center = null; + for (const submap of this.submaps) { + const radius = submap.container.width / 2; + const distance = Points.distance(submap.center, event.data.global); + if (distance < radius) { + hittedSubmap = submap; + center = submap.center; + } + } + + this.__events.set(event.data.identifier, { + event, + submap: hittedSubmap, + center + }); + } + + __onMove(event) { + if (this.__dragging) { + const myevent = this.__events.get(event.data.identifier); + + if (myevent && myevent.submap) { + const submap = myevent.submap; + const center = submap.center; + const radius = submap.container.width / 2; + const distance = Points.distance(center, event.data.global) / submap.scatter.scale; + } + + // for (const submap of this.submaps) { + // const center = submap.center + // const radius = submap.container.width / 2 + // const distance = Points.distance(center, event.data.global) / submap.scatter.scale + // const inside = distance < radius + 10 + + // console.log(distance, radius) + + // if (inside) { + // // (this.width + 80) / 2 * this.scatter.scale + // //const width = (submap.width + 80) / 2 * submap.scatter.scale + // //console.log(width) + + // if (distance > radius) { + // submap.resize((distance) * 2, .2) + // } + // } else { + // if (distance < radius + 20) { + // //submap.resize((distance - 30) * 2, .2) + // } + // } + // } + } + } + + __onEnd(event) { + this.__dragging = false; + this.__events.delete(event.data.identifier); + } + } + + /* globals PIXI */ + + class FlagType { + static get bottomLeft() { + return { x: 1, y: -1 } + } + static get bottomRight() { + return { x: -1, y: -1 } + } + static get topLeft() { + return { x: -1, y: 1 } + } + static get topRight() { + return { x: 1, y: 1 } + } + + static toString(flagType) { + let str = ''; + if (flagType.x && flagType.y) { + if (flagType.y == 1) str += 'bottom'; + else if (flagType.y == -1) str += 'top'; + else str += '_INVALID_Y_'; + + if (flagType.x == 1) str += 'Right'; + else if (flagType.x == -1) str += 'Left'; + else str += '_INVALID_X_'; + } else str = 'Invalid FlagType: ' + flagType.toString(); + + return str + } + } + + class FlagPolygon extends PIXI.Polygon { + constructor({ + type = FlagType.bottomLeft, + width = 100, + height = 30, + notchSize = 10, + notchWidth = null, + notchHeight = null, + originOffset = { x: 0, y: 0 } + } = {}) { + let points = []; + + let dimensions = { x: width, y: height }; + dimensions = Points.multiply(dimensions, type); + + notchWidth = notchWidth == null ? notchSize : notchWidth; + notchHeight = notchHeight == null ? notchSize : notchHeight; + + notchSize = { x: notchWidth, y: notchHeight }; + notchSize = Points.multiply(notchSize, type); + + originOffset = Points.multiply(originOffset, type); + + let point = new PIXI.Point(originOffset.x, originOffset.y); + points.push(point.clone()); + + point.y += notchSize.y; + points.push(point.clone()); + + point.y += dimensions.y; + points.push(point.clone()); + + point.x += dimensions.x; + points.push(point.clone()); + + point.y -= dimensions.y; + points.push(point.clone()); + + point.x -= dimensions.x - notchSize.x; + points.push(point.clone()); + + // close polygon + points.push(points[0].clone()); + + super(points); + + this.type = type; + this.dimensions = dimensions; + this.notchSize = notchSize; + this.originOffset = originOffset; + } + + getPoint(i) { + if (i >= 0) { + let idx = i * 2; + return [this.points[idx], this.points[idx + 1]] + } else { + let idx = (Math.floor(this.points.length / 2) + i) * 2; + return [this.points[idx], this.points[idx + 1]] + } + } + + get notch() { + let points = [this.getPoint(0), this.getPoint(1), this.getPoint(-2), this.getPoint(0)]; + let notchPolygon = []; + + points.forEach(point => { + notchPolygon = notchPolygon.concat(point); + }); + + return notchPolygon + } + get rect() { + let points = [this.getPoint(1), this.getPoint(2), this.getPoint(3), this.getPoint(4), this.getPoint(1)]; + + let rectPolygon = []; + points.forEach(point => { + rectPolygon = rectPolygon.concat(point); + }); + return rectPolygon + } + + placeText(text, padding) { + text.position = Points.add(this.originOffset, { x: 0, y: this.notchSize.y }); + padding = Points.multiply(padding, this.type); + text.position = Points.add(text.position, padding); + + if (this.type.y == -1) text.position.y -= text.height; + + if (this.type.x == -1) text.position.x -= text.width; + } + } + + class Flag extends PIXI.Graphics { + constructor( + { + type = FlagType.bottomLeft, + width = 100, + height = 30, + notchSize = 10, + notchWidth = null, + notchHeight = null, + originOffset = { x: 0, y: 0 } + } = {}, + nativeLines = false + ) { + super(nativeLines); + + this.flagPolygon = new FlagPolygon({ + type, + width, + height, + notchSize, + notchWidth, + notchHeight, + originOffset + }); + + this.draw(); + } + + draw() { + this.drawPolygon(this.flagPolygon); + } + + get typeName() { + return FlagType.toString(this.type) + } + } + + class Label extends PIXI.Graphics { + constructor(text, textStyle = new PIXI.TextStyle(), nativeLines = false) { + super(nativeLines); + this._text = new PIXI.Text(text, textStyle); + this.addChild(this._text); + } + + get text() { + return this._text + } + } + + /** + * GeoGraphics are graphical objects, that does not store the graphics information + * in screen space, but in geographical coordinates. Therefore GeoGraphics must be + * placed on GeoLayers to work properly. + * + * (Note: As GeoLayers are always children of a map layer. When the map is changed + * all GeoLayers are notified via the 'adaptTo(map)' method.) + * + * The geolayers forward this 'adaptTo' to all children that are GeoGraphics. + * Which adjust their so called 'point' data to the new map. + * + * @abstract + */ + class GeoGraphics { + constructor(coordinates, { scale = 1, onDraw = null, onDrawEnd = null, debug = false } = {}) { + this.coordinates = coordinates; + this.debug = debug; + this.graphics = new PIXI.Graphics(); + this.scale = scale; + this.drawHandler = new EventHandler('onDraw', { listeners: onDraw }); + this.drawEndHandler = new EventHandler('onDrawEnd', { listeners: onDrawEnd }); + this._points = null; + this._position = null; + } + + clone() { + console.error(`Call of abstract method clone(). Overwrite in subclass.`, this); + } + + _cloneOptions() { + return { + debug: this.debug, + scale: this.scale + } + } + + /** + * The _adaptCoordinates is called first by the adaptTo Method. + * Here all coordinates are transformed into point coordinates. + * This must be overloaded in subclass. + * + * @abstract + */ + _adaptCoordinates(map) { + console.error(`Call of abstract method _adaptCoordinates(map). Overwrite in subclass.`, this); + } + + /** + * Gets all screen points in a single array. + * + * @abstract + * @returns {array} - Array of all points in the GeoGraphic. + */ + _getPoints() { + console.error(`Call of abstract method _getPoints(func). Overwrite in subclass.`, this); + } + + /** + * Manipulates all points depending on a function. + * Mainly used to transform points to local space. + * + * @abstract + * @param {function} func + * @memberof GeoGraphics + */ + _manipulatePoints(func) { + console.error(`Call of abstract method _manipulatePoints(func). Overwrite in subclass.`, this); + } + + /** + * The _draw method is called last on adaptation. It creates the GraphicData + * of the specified subclass. To manipulate the style of the graphic, hook an onDraw listener + * to the GeoGraphics object. It is called before the _draw and lets the user modify color and + * lineStyle of the drawn object. + * + * Note: It could also be used for more radical manipulations on the graphics object. + * But this should be used with care. + * + * @abstract + */ + _draw() { + console.error(`Call of abstract method _draw(). Overwrite in subclass.`, this); + } + + /** + * Called by the containing geo layer, when the map changes. + */ + adaptTo(map) { + this._points = this._adaptCoordinates(map); + this._updatePosition(); + this.draw(); + } + + + /** + * Redraws the graphics. + * + * This should be only called if you require an redraw independent of an adapt. + * + * @memberof GeoGraphics + */ + draw() { + this._prepareDraw(); + this.drawHandler.call(this, this.graphics); + this._draw(); + this.drawEndHandler.call(this, this.graphics); + } + + /** + * Retrieves the point data. + * Note: This data changes on adaptation. + */ + get points() { + return this._points + } + + /** + * Returns the screen position of the GeoGraphics. + */ + get position() { + return this._position + } + + get map() { + if ( + this.graphics.layer && + (this.graphics.layer instanceof GeoLayer || this.graphics.layer instanceof MapLayer) + ) { + return this.graphics.layer.map + } else return null + } + + get mapLayer() { + if ( + this.graphics.layer && + (this.graphics.layer instanceof GeoLayer || this.graphics.layer instanceof MapLayer) + ) { + return this.graphics.layer.mapLayer + } else return null + } + + /** + * Prepare draw is a private function, that prepares the graphics + * for the next draw call. It also fires the drawHandler. + * + * @private + * @memberof GeoGraphics + */ + _prepareDraw() { + this.graphics.clear(); + /* + Set a fillcolor and a stroke style for + debugging. Can be overloaded using the onDraw + event function. + */ + if (this.debug) this.graphics.beginFill(0xff00ff); + } + + _updatePosition() { + let points = this._getPoints(); + this._position = GeoGraphics.calculateCenterOfMass(points); + this._manipulatePoints(point => { + point = Points.subtract(point, this._position); + return point + }); + this.graphics.position = this._position; + } + + /** + * Calculates the center of Mass for a set of points. + * + * @static + * @param {Array} points - Array of points in the format {x: a, y:b} + * @returns {object} - Returns a point containing the center of mass of the polygon. + * @memberof GeoGraphics + */ + static calculateCenterOfMass(points) { + let com = new PIXI.Point(); + points.forEach(p => { + let point = new PIXI.Point(p.x, p.y); + com = Points.add(com, point); + }); + return Points.multiplyScalar(com, 1 / points.length) + } + } + + /** + * Represents a single point on the Map. + * + * This GeoGraphics does not provide any visual representation. + * Draw the desired shape in the onDraw callback. + */ + class GeoPoint extends GeoGraphics { + clone() { + return new GeoPoint(this.coordinates, this._cloneOptions()) + } + + _adaptCoordinates(map) { + let scale = 1; + + if (this.mapLayer.map instanceof DeepZoomMap) { + scale = this.mapLayer.map.image.scale.x; + } + + scale = scale / 4; + + return map.coordinatesToPoint(this.coordinates) + } + + _getPoints() { + return [this.points] + } + + _manipulatePoints(func) { + this._points = func(this._points); + } + + _draw() {} + } + + class GeoLine extends GeoGraphics { + /** + * @param {object} opts - Optional values + * @param {array} [opts.points=[]] - Initial points of the geo shape. + * @param {boolean} [closed=false] - Defines if the + */ + constructor(coordinates, { closed = false, size = 1, onDraw = null } = {}) { + super(coordinates, { + size, + onDraw + }); + + this._closed = closed; + } + + clone() { + return new GeoLine(this.coordinates, this._cloneOptions) + } + + _cloneOptions() { + let options = super._cloneOptions(); + Object.assign(options, { + closed: this.closed + }); + } + + /** + * Adds a point to the geo line. + */ + addPoint(coordinate) { + this.coordinates.push(coordinate); + } + + _manipulatePoints(func) { + this.points.forEach((point, idx, array) => { + array[idx] = func(point); + }); + } + + _getPoints() { + return this.points + } + + _adaptCoordinates(map) { + let points = []; + this.coordinates.forEach(point => { + points.push(map.coordinatesToPoint(point)); + }); + return points + } + + _prepareDraw() { + this.graphics.clear(); + if (this.debug) this.graphics.lineStyle(0.5, 0xff00ff); + this.drawHandler.call(this); + } + + _draw() { + /** + * This resets the fill. + * + * DISCUSS: SO: "I'm not sure how the line should be defined. + * On the one hand. The line is clearly intended to + * represent a line and not an area. On the other hand, + * why should the user be prevented from using a fill for the + * area within the line. But if he want's a fill, why don't take + * a Polygon in the first place? + * + * (But if it's a predefined GeoJSON object obtained through e.g. elasticsearch, + * then the user is not in full control of the object type and it may be a good + * addition to grant the user this additional design choice.) + * + * The opportunity to do so would result in additional conditions, when creating the + * GeoGraphics of an overlay." + * */ + this.graphics.beginFill(0, 0); + + if (this.points.length > 0) { + this.graphics.moveTo(this.points[0].x, this.points[0].y); + + for (let i = 1; i < this.points.length; i++) { + this.graphics.lineTo(this.points[i].x, this.points[i].y); + } + + if (this.closed) { + this.graphics.lineTo(this.points[0].x, this.points[0].y); + } + } + } + + get closed() { + return this._closed + } + + set closed(val) { + if (val != this._closed) { + this._closed = val; + this.draw(); + } + } + } + + class GeoShape extends GeoGraphics { + clone() { + return new GeoShape(this.coordinates, this._cloneOptions) + } + + _manipulatePoints(func) { + this.constructor._manipulatePoints(this.points, func); + } + + /** + * Mets the requirements for the _manipulatePointsMethod(). + * Primarily used in subclasses to get the processing steps from + * their superclass. + * + * @static + * @protected + * @param {Array.} points - The points array that shold be manipulated. + * @param {function} func - The function that changes the single point value. Has to return a new point. + * @memberof GeoShape + */ + static _manipulatePoints(points, func) { + points.forEach((pointArray, arrIdx) => { + pointArray.forEach((point, idx) => { + points[arrIdx][idx] = func(point); + }); + }); + } + + _getPoints() { + return this.constructor._getPointsFrom(this.points) + } + + /** + * Returns all points of a polygon array. + * Useful for when getting sub polygons in child class. + */ + static _getPointsFrom(shape) { + let concatArray = []; + shape.forEach(array => { + concatArray = concatArray.concat(array); + }); + + return concatArray + } + + _adaptCoordinates(map) { + let val = this.constructor._adaptPoint(this.coordinates, map); + return val + } + + static _adaptPoint(coordinates, map) { + return coordinates.map(array => { + return array.map(point => { + return map.coordinatesToPoint(point) + }) + }) + } + + _draw() { + this._drawFrom(this.points); + this.graphics.position = this.position; + } + + _drawFrom(shape) { + const { polygon, hole } = this.constructor._pointsToShape(shape); + this._drawShape(polygon, hole); + } + + /** + * Separates the points array into it's two parts: + * - the solid polygon + * - a hole that is cut into the polygon (optional) + * + * @private + * @returns {object} - Returns an object containing the polygon and the hole in the form of {polygon: [...PIXI.Point], hole: [...PIXI.Point]} + */ + static _pointsToShape(points) { + let polygon = GeoShape._transformToPIXI(points[0]); + let hole = points[1] ? GeoShape._transformToPIXI(points[1]) : []; + return { polygon, hole } + } + + /** + * Transform an array of poins into an array of PIXI.Points. + * Note: When creating PIXI.Polygons, for some reason the points + * need to be a PIXI.Points object (at least the first one). + * + * @param {array} points - Points in the form of {x:a,y:b} + * @returns An array of PIXI.Points + * @memberof GeoPolygon + */ + static _transformToPIXI(points = []) { + let polygon = []; + points.forEach(point => { + polygon.push(new PIXI.Point(point.x, point.y)); + }); + + return polygon + } + + /** + * Draws a single shape onto the graphics object. + * Useful when being called from subclass. + * + * @protected + * @param {Array.} polygon - An array of PIXI.Points for drawing a polygon. + * @param {Array.} [hole=[]] - An Array of PIXI.Points for cutting a hole into the polygon + * @memberof GeoShape + */ + _drawShape(polygon, hole = []) { + // We save the fill specified in the onDraw event handler. + // + // Consider: Maybe it would be a good idea to add a 'onHoleDraw' + // callback to make the hole customizable. Maybe you want + // to fill it with a different color or an mediocre alpha value. + // then feel free to implement it. + let { fill, alpha } = PIXIUtils.saveFill(this.graphics); + + /** + * This may seem redundant, but it's required + * to make the hole clickable. + * + * It was a bit confusing, so I made a CodePen + * for it: https://codepen.io/Ukmasmu/pen/WJEaoK + */ + if (hole.length > 0) { + this.graphics.beginFill(0x0000ff, 0.0000001); + this.graphics.drawPolygon(hole); + } + + this.graphics.beginFill(fill, alpha); + this.graphics.drawPolygon(polygon); + + if (hole.length > 0) { + this.graphics.beginHole(); + this.graphics.drawPolygon(hole); + this.graphics.endHole(); + } + } + } + + class GeoMultiShape extends GeoShape { + static _manipulatePoints(points, func) { + points.forEach(shape => { + GeoShape._manipulatePoints(shape, func); + }); + } + + static _getPointsFrom(multiShapeArray) { + let points = []; + multiShapeArray.forEach(shape => { + points = points.concat(GeoShape._getPointsFrom(shape)); + }); + return points + } + + static _adaptPoint(coordinates, map) { + let points = []; + coordinates.forEach(shape => { + let adaptedPoint = GeoShape._adaptPoint(shape, map); + points.push(adaptedPoint); + }); + return points + } + + calculateLocation() { + let coms = []; + this.coordinates.forEach(polygon => { + coms.push(GeoGraphics.calculateCenterOfMass(polygon)); + }); + + return GeoGraphics.calculateCenterOfMass(coms) + } + + _drawFrom(multiShape) { + multiShape.forEach(shape => { + super._drawFrom(shape); + }); + } + } + + class PIXIUtils { + /* + * Transform a pixi text to it's actual screensize, + * ignoring it's local transforms + */ + static toScreenFontSize(pixiText, fontSize = null) { + pixiText._recursivePostUpdateTransform(); + + let normalizedScale = { + x: pixiText.scale.x / pixiText.transform.worldTransform.a, + y: pixiText.scale.x / pixiText.transform.worldTransform.d + }; + + pixiText.scale = { x: normalizedScale.x, y: normalizedScale.y }; + if (fontSize) pixiText.style.fontSize = fontSize; + } + + static saveFill(graphics) { + return { + fill: graphics.fill.color, + alpha: graphics.fill.alpha + } + } + } + + /** + * Helper class for handling GeoJson data. + * As specified by [RFC7946](https://tools.ietf.org/html/rfc7946). + * + * @static + * @export + * @class GeoJsonGraphics + * @extends {GeoGraphics} + */ + class GeoJson { + static isLineType(type) { + return type == 'LineString' || type == 'MultiLineString' + } + + static _getFormatStringOfType(type) { + let description = ', where p represents a coordinate point'; + let format = ''; + switch (type) { + case 'Point': + format = 'p'; + break + case 'LineString': + format = '[p1,p2,p3,...,pn]'; + break + case 'Polygon': + format = '[ [p1,p2,...,pn], [h1,h2,...,hn] ]'; + description += ' and h also represents a coordinate point, but it creates a hole.'; + break + default: + format = type; + description = " is either not valid or not yet implemented in method '_getFormatStringOfType(type)'."; + } + + return format + ' - ' + description + } + + static get types() { + return ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon'] + } + + static unwrapFeatureCollection(featureCollection) { + if (featureCollection.features == null) { + console.error( + 'Error at GeoJson.unrwapFeatureCollection(collection): Provided object was no valid FeatureCollection.', + featureCollection + ); + return + } + + let list = []; + + featureCollection.features.forEach(feature => { + let { type, coordinates } = feature; + + if (feature.type.toLowerCase() == 'feature') { + ({ type, coordinates } = feature.geometry); + } + + list.push({ type, coordinates }); + // console.log({type, coordinates}) + }); + + return list + } + + static validateAndConvert(type, coordinates) { + if (!GeoJson.validateType(type)) throw new GeoJson.InvalidTypeError(type) + else { + if (GeoJson.validateCoordinates(type, coordinates)) { + let converted = GeoJson.convert(type, coordinates); + return converted + } else { + console.error( + `Coordinates are invalid. They must be in format of type '${type} - ${GeoJson._getFormatStringOfType( + type + )}'` + ); + } + } + } + + static validateType(type) { + return GeoJson.types.indexOf(type) != -1 + } + + static validateCoordinates(type, coordinates) { + let valid = false; + + switch (type) { + case 'Point': + valid = !!GeoJson.validateAndConvertPoint(coordinates); + break + case 'LineString': + valid = GeoJson.validateLineString(coordinates); + break + case 'Polygon': + valid = GeoJson.validatePolygon(coordinates); + break + case 'MultiPolygon': + valid = true; + for (let i = 0; i < coordinates.length; i++) { + if (!GeoJson.validatePolygon(coordinates[i])) { + valid = false; + break + } + } + break + case 'MultiPoint': + case 'MultiLineString': + default: + console.error('Type was not yet implemented: ', type); + } + return valid + } + + /** + * Validates a point if it's an valid coordinate. + * + * NOTE: Here we are not following the GeoJSON standard. + * For convenience multiple forms of representing a coordinate are + * considered valid. A complete list is provided in the GeoUtils. + * + * @param {object} point - The point that is tested for validity. + * @returns + * @memberof GeoJson + */ + static validateAndConvertPoint(point) { + return GeoUtils.validateCoordinate(point) + } + + /** + *Validates if the given points represent a 'LineString'. + * + * @param {array} points - A list of coordinates that represent a line. + * @returns {boolean} - Returns true, if the array is in formes as: [x1,x2,x3,...,xn]. Where x# represent a valid coordinate. + * @memberof GeoJson + */ + static validateLineString(points) { + let valid = false; + if (Array.isArray(points)) valid = points.every(GeoJson.validateAndConvertPoint); + return valid + } + + static validatePolygon(points) { + let valid = false; + if ((Array.isArray(points) && points.length >= 1) || points.length <= 2) + valid = points.every(this.validateLineString); + return valid + } + + static convert(type, coordinates) { + let converted = null; + switch (type) { + case 'Point': + converted = GeoJson.validateAndConvertPoint(coordinates); + break + case 'LineString': + converted = GeoJson._convertLineString(coordinates); + break + case 'Polygon': + converted = GeoJson._convertPolygon(coordinates); + break + case 'MultiPolygon': + converted = GeoJson._convertMultiPolygon(coordinates); + break + default: + throw new GeoJson.InvalidTypeError(type) + } + + return converted + } + + static _convertLineString(coordinates) { + return coordinates.map(point => { + return GeoJson.validateAndConvertPoint(point) + }) + } + + static _convertPolygon(coordinates) { + return coordinates.map(shape => { + return GeoJson._convertLineString(shape) + }) + } + static _convertMultiPolygon(coordinates) { + return coordinates.map(polygon => { + return GeoJson._convertPolygon(polygon) + }) + } + } + + GeoJson.InvalidTypeError = class extends Error { + constructor(type) { + super(`The requested Type was not implemented: ${type}.`); + } + }; + + /** + * GeoUtils contains a collection of useful functions when working with maps. + * + * @static + */ + class GeoUtils { + static transformToGeoGraphics(list) { + let geographicsList = []; + list.forEach(item => { + if (item.type == 'FeatureCollection') { + item.features.forEach(feature => { + let { type, coordinates } = feature; + + if (type.toLowerCase() == 'feature') ({ type, coordinates } = feature.geometry); + + coordinates = GeoJson.validateAndConvert(type, coordinates); + + let geographics = this.fromGeoJsonToGeoGraphics(type, coordinates); + if (geographics) geographicsList.push(geographics); + }); + } else { + let geo = fromGeoJsonToGeoGraphics(item.type, item.geometry); + if (geo) geographicsList.push(geo); + } + }); + return geographicsList + } + + static resolveFeatureCollection(collection) { + if (!collection.features) { + console.error( + 'Error in GeoUtils.resolveFeatureCollection(colelction): Passed parameter was no feature collection.', + collection + ); + return + } + let geojson = []; + collection.features.forEach(feature => { + let { type, coordinates } = feature; + + if (feature.type == feature) { + coordinates = feature.geometry.coordinates; + type = feature.geometry.type; + } + + geojson.push({ type, coordinates }); + }); + + return geojson + } + + /** + * Creates the appropriate GeoGraphics object from a GeoJson type. + * The coordinates need to be alread in the appropriate PIXI format. + * If not already - this can be achieved by calling 'GeoJson.validateAndConvert(type, points)' + * beforehand. + * + * @static + * @param {string} type - Any of the GeoJson types ('Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon'). + * @param {array} coordinates - Array of coordinates that fit the type. The positions within these must be in PIXI format: {x:a, y:b}. + * @returns {GeoGraphics} - Returns a GeoGraphics object. If the conversion fails, it returns null. + * @memberof GeoGraphics + */ + static fromGeoJsonToGeoGraphics(type, coordinates, opts = {}) { + let geographics = null; + + /** + * TODO: REMOVE + * Just for initial debugging purposes + */ + Object.assign(opts, { + debug: true + }); + + switch (type) { + case 'Polygon': + geographics = new GeoShape(coordinates, opts); + break + + case 'MultiPolygon': + geographics = new GeoMultiShape(coordinates, opts); + break + case 'LineString': + geographics = new GeoLine(coordinates, opts); + break + case 'Point': + geographics = new GeoPoint(coordinates, opts); + break + default: + console.log('Could not create Geographics for type: ' + type + '. This was not implemented yet.'); + //Nothing + } + + return geographics + } + + /** + * Validates an object, if it's an coordinate object. + * Coordinate objects can be in the following forms: + * + * [lng, lat] - GeoJSON array format. !Attention lng and lat are swapped compared to the x,y format. + * {x: lat, y: lng} - 'correct' PIXI.format + * {lat, lng} + * {latitude: lat, longitude: lng} + * + * @static + * @param {object / array} coordinate - Coordinate to be tested, if it is an valid coordinate. + * @returns - Returns the coordinate properly transformed. If transformation was not possible, it returns null. + * @memberof GeoGraphics + */ + static validateCoordinate(coordinate) { + if (Array.isArray(coordinate)) { + if (coordinate.length == 2 && typeof coordinate[0] == 'number' && typeof coordinate[1] == 'number') + return new PIXI.Point(coordinate[1], coordinate[0]) + else return false + } else { + const latvalues = ['x', 'lat', 'latitude']; + const lngvalues = ['y', 'lng', 'longitude']; + + let result = {}; + for (let key of Object.keys(coordinate)) { + let target = key.toLowerCase(); + if (latvalues.indexOf(target) !== -1) result.x = coordinate[key]; + else if (lngvalues.indexOf(target) !== -1) result.y = coordinate[key]; + } + + if (result.hasOwnProperty('x') && result.hasOwnProperty('y')) return new PIXI.Point(result.x, result.y) + else return false + } + } + } + + /** + * The Overlay-Class shall provide and easy to use frameworkd + * of marking points of interest on a map, using shapes, geometries, + * items or text. + * + * It's highly configurable and adaptable to a variety of scenarios. + * + */ + + class Overlay { + /** + *Creates an instance of Overlay. + * @param {*} [{ + * name = "unnamed", {string} + * connector = false, + * connectorType = "line", + * location = null, + * label = false, + * labelType = null, + * labelLocation = null, + * labelAlignment = "center", + * labelVerticalAlign = "underneath", + * labelTarget = null, + * shape = "geometry", {string} - Defines the shape to be used: geometry, circle, rectangle + * geometry = null, + * geometryType = "point", + * geometryFallback = "circle", + * informationPopup = "infocard", + * + * }={}] + * @memberof Overlay + */ + constructor(opts = {}) { + let defaultTextStyle = new PIXI.TextStyle(); + + Object.assign( + this, + { + type: 'auto', + name: 'unnamed', + + borderColor: 0x000000, + borderThickness: 5, + + disabledAlpha: 1, + disabledColor: 0xaa1111, + disabledBorderColor: 0x000000, + enabled: true, + labelScale: 1, + location: null, + label: false, + labelType: null, + labelLocation: null, + labelAlignment: 'center', + labelVerticalAlign: 'underneath', + labelSpacing: 10, + labelTarget: null, + geometry: null, + information: '', + informationPath: null, + informationType: 'popup', + icon: null, + iconAlpha: 1, + iconAnchor: { x: 0.5, y: 0.5 }, + iconColor: 0xffffff, + iconScale: 1, + iconOffset: { x: 0, y: 0 }, + items: [], + color: 0xff00ff, + fillAlpha: 1, + size: 50, + scale: 1, + rescale: false, + popoverOffset: { x: 0, y: 0 }, + + /** + * The following Attributes are taken from the TextStyle class + * of PIXI. All can be overwritten in the overlay's JSON file. + */ + labelMultiLineAlign: defaultTextStyle.align, + labelBreakWords: defaultTextStyle.breakWords, + labelDropShadow: defaultTextStyle.dropShadow, + labelDropShadowAlpha: defaultTextStyle.dropShadowAlpha, + labelDropShadowAngle: defaultTextStyle.dropShadowAngle, + labelDropShadowBlur: defaultTextStyle.dropShadowBlur, + labelDropShadowColor: defaultTextStyle.dropShadowColor, + labelDropShadowDistance: defaultTextStyle.dropShadowDistance, + fontColor: 0x000000, + fontFamily: defaultTextStyle.fontFamily, + fontSize: defaultTextStyle.fontSize, + fontStyle: defaultTextStyle.fontStyle, + fontWeight: defaultTextStyle.fontWeight, + labelStroke: defaultTextStyle.stroke, + labelStrokeThickness: defaultTextStyle.strokeThickness, + wordWrap: defaultTextStyle.wordWrap, + wordWrapWidth: defaultTextStyle.wordWrapWidth, + labelFill: defaultTextStyle.fill, + labelFillGradientType: defaultTextStyle.fillGradientType, + labelFillGradientStops: defaultTextStyle.fillGradientStops, + fontVariant: defaultTextStyle.fontVariant, + labelLeading: defaultTextStyle.leading, + letterSpacing: defaultTextStyle.letterSpacing, + labelLineHeight: defaultTextStyle.lineHeight, + labelLineJoin: defaultTextStyle.lineJoin, + labelMiterLimit: defaultTextStyle.miterLimit, + labelPadding: defaultTextStyle.padding, + labelTrim: defaultTextStyle.trim, + textBaseline: defaultTextStyle.textBaseline, + labelWhiteSpace: defaultTextStyle.whiteSpace + }, + opts + ); + } + + get textureParameters() { + return ['icon'] + } + + setTexture(parameter, key, path) { + let obj = (this[parameter] = {}); + obj._key = key; + obj._path = path; + obj._texture = null; + + obj.initialize = function(texture) { + if (!texture) console.error('Could not initialize texture. Invalid value provided: ', texture); + this._texture = texture; + }.bind(obj); + + obj.__defineGetter__('texture', function() { + if (!obj._texture) { + console.error('Texture was not yet initialized! ', obj); + } else { + return obj._texture + } + }); + + obj.__defineGetter__('key', () => { + return obj._key + }); + obj.__defineGetter__('path', () => { + return obj._path + }); + } + + apply(parameter, func, obj = null) { + if (obj == null) return + if (Array.isArray(obj)) { + obj.forEach(child => { + if (typeof child == 'object') this.apply(parameter, func, child); + }); + } else { + for (let [key, val] of Object.entries(obj)) { + if (val == null) continue + if (key == parameter) { + func.call(obj, val); + } + + if (typeof val == 'object') { + this.apply(parameter, func, val); + } + } + } + } + + /** + * Creates an overlay from the current Object. + * + * @param {settings} object - Object to configure the creation process. + * @param {settings.excludeItems} function - You may provide a function, that excludes elements selectively. The function must return true for items to exclude them. + * @param {settings.adjustItems} function - You may adjust the created PIXI items, using the adjustItems function. + * @returns {GeoLayer} - Returns the created GeoLayer. + * @memberof Overlay + */ + create({ + excludeItems = item => { + return false + }, + informationCallback = null, + adjustItems = null + } = {}) { + const name = this.name[0].toUpperCase() + this.name.slice(1).toLowerCase() + ' Overlay'; + let geoLayer = new GeoLayer({ name }); + if (this.rescale) geoLayer.rescale = this.rescale; + this.items.forEach(item => { + if (!excludeItems(item)) { + if (adjustItems) { + adjustItems(item); + } + + item.overlay = this; + let graphics = this.createItem(item, informationCallback); + geoLayer.place(graphics); + } + }); + return geoLayer + } + + getItemProperty(item, property) { + let propertyValue = null; + const propertyExistsOnItem = item[property] !== undefined; + const propertyExistsOnOverlay = this[property] !== undefined; + + if (propertyExistsOnItem) propertyValue = item[property]; + else if (propertyExistsOnOverlay) propertyValue = this[property]; + else { + console.error(`Invalid property: ${property} on`, item); + } + + propertyValue = this._resolveReference(item, propertyValue); + + return propertyValue + } + + _isReference(property) { + if (property && typeof property == 'object' && property.hasOwnProperty('@property')) return true + else return false + } + + _resolveReference(item, property) { + if (this._isReference(property)) { + let referencedProperty = property['@property']; + return this.getItemProperty(item, referencedProperty) + } else { + return property + } + } + + findAllTextures() { + let textures = []; + + this.textureParameters.forEach(parameter => { + if (this.hasOwnProperty(parameter) && this[parameter] != null) { + textures.push(this[parameter]); + } + + this.items.forEach(item => { + if (item.hasOwnProperty(parameter) && item[parameter] != null) { + textures.push(item[parameter]); + } + }); + }); + + return textures + } + + selectTextures(textures) { + this.textureParameters.forEach(parameter => { + if (this.hasOwnProperty(parameter) && this[parameter]) { + let path = this[parameter]; + const texture = textures.get(path); + if (!texture) console.error('Texture could not be selected: ', path); + this[parameter] = { + texture, + path + }; + } + this.items.forEach((item, idx) => { + if (this.items[idx].hasOwnProperty(parameter) && this.items[idx][parameter]) { + const path = this.items[idx][parameter]; + const texture = textures.get(path); + + this.items[idx][parameter] = { + path, + texture + }; + } + }); + }); + } + + createItem(item, informationCallback = null) { + let geographics; + + /** + * Use a factory to draw the items, if a type is specified. + */ + if (this.type != 'auto') { + let geographicsFactory = Overlay.requestFactory(this.type); + if (!geographicsFactory) + console.error( + 'Invalid Overlay Mode: ' + + this.type + + '. Fallback to auto mode. Overlaymodes must be registeres beforehand. Valid modes are: ' + + Overlay.listFactories().join(',') + + '.' + ); + else { + let actualItem = Object.assign({}, this, item); + geographics = geographicsFactory(actualItem); + } + } + + /** + * Otherwise draw the default geographics. + */ + if (!geographics) { + if (item.geometry == null || item.geometry == undefined) { + if (item.location) { + geographics = this._drawPoint(item, informationCallback); + const scale = this.getItemProperty(item, 'scale'); + geographics.graphics.scale.set(scale, scale); + } else console.warn("Item could not be drawn. Specify a 'location' or a 'geometry'.", item); + } else { + geographics = this._drawGeometry(item); + this._drawRoutine(geographics, item, informationCallback); + } + + this._drawLabel(item, geographics); + } + + return geographics + } + + _drawLabel(item, geographics) { + let label = this.getItemProperty(item, 'label'); + if (label) { + let textStyle = this._gatherFontStyle(item); + let text = new PIXI.Text(label, textStyle); + + let labelScale = this.getItemProperty(item, 'labelScale'); + text.scale.set(labelScale, labelScale); + + let position = new PIXI.Point(); + + let align = this.getItemProperty(item, 'labelAlignment'); + if (align == 'left'); + else if (align == 'center') position.set(text.position.x - text.width / 2, text.position.y); + else if (align == 'right') position.set(text.position.x - text.width, text.position.y); + else this._logPropertyNotImplemented('labelAlignment', align); + + let verticalAlign = this.getItemProperty(item, 'labelVerticalAlignment'); + if (verticalAlign == 'underneath') { + let size = this.getItemProperty(item, 'size'); + let scale = this.getItemProperty(item, 'scale'); + + let labelSpacing = this.getItemProperty(item, 'labelSpacing'); + + position.y += size * scale + labelSpacing; + } else if (verticalAlign == 'above') { + let size = this.getItemProperty(item, 'size'); + let scale = this.getItemProperty(item, 'scale'); + + let labelSpacing = this.getItemProperty(item, 'labelSpacing'); + + position.y -= size * scale + text.height + labelSpacing; + } else this._logPropertyNotImplemented('labelVerticalAlignment', verticalAlign); + + text.position.set(position.x, position.y); + + geographics.graphics.addChild(text); + } + } + + _gatherFontStyle(item) { + return { + align: this.getItemProperty(item, 'labelMultiLineAlign'), + breakWords: this.getItemProperty(item, 'labelBreakWords'), + dropShadow: this.getItemProperty(item, 'labelDropShadow'), + dropShadowAlpha: this.getItemProperty(item, 'labelDropShadowAlpha'), + dropShadowAngle: this.getItemProperty(item, 'labelDropShadowAngle'), + dropShadowBlur: this.getItemProperty(item, 'labelDropShadowBlur'), + dropShadowColor: this.getItemProperty(item, 'labelDropShadowColor'), + dropShadowDistance: this.getItemProperty(item, 'labelDropShadowDistance'), + fontFamily: this.getItemProperty(item, 'fontFamily'), + fontSize: this.getItemProperty(item, 'fontSize'), + fontStyle: this.getItemProperty(item, 'fontStyle'), + fontWeight: this.getItemProperty(item, 'fontWeight'), + stroke: this.getItemProperty(item, 'labelStroke'), + strokeThickness: this.getItemProperty(item, 'labelStrokeThickness'), + wordWrap: this.getItemProperty(item, 'wordWrap'), + wordWrapWidth: this.getItemProperty(item, 'wordWrapWidth'), + + fill: this.getItemProperty(item, 'labelFill'), + fillGradientType: this.getItemProperty(item, 'labelFillGradientType'), + fillGradientStops: this.getItemProperty(item, 'labelFillGradientStops'), + fontVariant: this.getItemProperty(item, 'fontVariant'), + leading: this.getItemProperty(item, 'labelLeading'), + letterSpacing: this.getItemProperty(item, 'letterSpacing'), + lineHeight: this.getItemProperty(item, 'labelLineHeight'), + lineJoin: this.getItemProperty(item, 'labelLineJoin'), + miterLimit: this.getItemProperty(item, 'labelMiterLimit'), + padding: this.getItemProperty(item, 'labelPadding'), + trim: this.getItemProperty(item, 'labelTrim'), + textBaseline: this.getItemProperty(item, 'textBaseline'), + whiteSpace: this.getItemProperty(item, 'labelWhiteSpace') + } + } + + _drawGeometry(item) { + let multiPolygonArray = []; + + if (Array.isArray(item.geometry)) + item.geometry.forEach(geometry => { + let polygon = this._drawPolygon(geometry); + if (polygon != null && polygon != []) multiPolygonArray.push(polygon); + }); + else { + let polygon = this._drawPolygon(item.geometry); + if (polygon != null && polygon != []) multiPolygonArray.push(polygon); + } + const overlay = this; + return new GeoMultiShape(multiPolygonArray, { + onDraw: function() { + overlay._fill.call(overlay, this, item); + } + }) + } + + _drawPolygon(geometry) { + let polygon = []; + if (geometry.type == 'Polygon') { + if (GeoJson.validateCoordinates(geometry.type, geometry.coordinates)) { + polygon = GeoJson.convert(geometry.type, geometry.coordinates); + } else console.error(`Could not validate coordinates for type '${geometry.type}'.`, geometry.coordinates); + } else { + console.warn(`Geometry of type ${geometry.type} is not implemented yet, hence it was ignored.`); + } + + return polygon + } + + _drawRoutine(geographics, item, informationCallback = null) { + this._createIcon(geographics, item); + + const enabled = this.getItemProperty(item, 'enabled'); + if (enabled) this._createInformation(geographics, item, informationCallback); + } + + _createIcon(geographics, item) { + let icon = this.getItemProperty(item, 'icon'); + if (icon) { + if (icon.texture) { + let sprite = new PIXI.Sprite(icon.texture); + + const iconAnchor = this.getItemProperty(item, 'iconAnchor'); + sprite.anchor.set(iconAnchor.x, iconAnchor.y); + + const iconScale = this.getItemProperty(item, 'iconScale'); + if (iconScale) sprite.scale.set(iconScale, iconScale); + + const iconOffset = this.getItemProperty(item, 'iconOffset'); + if (iconOffset && iconOffset.x != null && iconOffset.y != null) + sprite.position.set(iconOffset.x, iconOffset.y); + + const iconColor = this.getItemProperty(item, 'iconColor'); + if (iconColor) sprite.tint = iconColor; + + const iconAlpha = this.getItemProperty(item, 'iconAlpha'); + if (iconAlpha) sprite.alpha = iconAlpha; + + geographics.graphics.addChild(sprite); + } + } + } + + _createInformation(geographics, item, callback = null) { + if (item.information) { + /** + * SO: The overlay class is quite convenient. + * But managing the information creation solely inside this + * class restricts us massively. + * + * Maybe a restructuring would be good, that we can handle + * the creation of information with a callback and can adapt + * to any occuring situation. + * + * e.g. + * + * overlay.informationHandler((geo, type, item)=>{ + * switch(type){ + * case "popup": + * createPopup(item.information) + * break; + * + * .... + * } + * }) + */ + + geographics.graphics.interactive = true; + const informationType = this.getItemProperty(item, 'informationType'); + + if (callback) callback.call(this, geographics, informationType, item); + else { + this.defaulInformationCallback(geographics, informationType, item); + } + } + } + + defaulInformationCallback(geographics, informationType, item) { + // Make the items interactive. + geographics.graphics.interactive = true; + geographics.graphics.on('pointerdown', () => { + if (!geographics.active) { + geographics.active = true; + + // Create and place the popup. + let popup = new Popup({ + header: item.name, + content: item.information, + maxWidth: 350 + }); + + popup.position.set( + geographics.graphics.position.x - popup.width / 2, + geographics.graphics.position.y - popup.height - 20 + ); + + geographics.graphics.parent.addChild(popup); + + // Remove the items after n milliseconds. + const removeTime = 2000; + setTimeout(() => { + geographics.active = false; + popup.parent.removeChild(popup); + }, removeTime); + } + }); + } + + _fill(geographics, item) { + const enabled = this.getItemProperty(item, 'enabled'); + const color = enabled ? this.getItemProperty(item, 'color') : this.getItemProperty(item, 'disabledColor'); + let alpha = enabled ? this.getItemProperty(item, 'fillAlpha') : this.getItemProperty(item, 'disabledAlpha'); + geographics.graphics.beginFill(color, alpha); + } + + _drawPoint(item, informationCallback = null) { + const overlay = this; + let geographic = new GeoPoint(item.location, { + onDraw: function() { + overlay._fill.call(overlay, this, item); + const size = overlay.getItemProperty(item, 'size') ? overlay.getItemProperty(item, 'size') : 0; + this.graphics.drawCircle(0, 0, size); + overlay._drawRoutine.call(overlay, this, item, informationCallback); + } + }); + return geographic + } + + _logPropertyNotImplemented(property, value) { + console.error(`Value '${value}' is not yet implemented in property '${property}'.`); + } + } + + Overlay.Modes = { auto: null }; + + Overlay.createFactory = function(name, geographicsFactory) { + if (Overlay.Modes.hasOwnProperty(name)) + console.warn(`The mode ${name} was already implemented and was overwritten!`); + Overlay.Modes[name] = geographicsFactory; + }; + + Overlay.requestFactory = function(name) { + return Overlay.Modes[name] + }; + + Overlay.listFactories = function() { + let modes = []; + for (let key of Object.keys(Overlay.Modes)) { + modes.push(key); + } + return modes + }; + /* Needed to ensure that rollup.js includes class definitions and the classes are visible inside doctests. */ @@ -16843,4 +22073,34 @@ window.FontInfo = FontInfo; window.Text = Text; + window.MapData = MapData; + window.DeepZoomMapData = DeepZoomMapData; + + window.GeoMap = GeoMap; + window.ImageMap = ImageMap; + window.DeepZoomMap = DeepZoomMap; + window.Projection = { + Mercator, + Robinson + }; + + window.MapView = MapView; + + window.MapApp = MapApp; + + window.AdvancedScatterContainer = AdvancedScatterContainer; + window.RigidContainer = RigidContainer; + window.CompactScatter = CompactScatter; + window.CoverScatter = CoverScatter; + window.GeoLayer = GeoLayer; + window.MapLayer = MapLayer; + + window.GeoGraphics = GeoGraphics; + window.GeoPoint = GeoPoint; + window.GeoLine = GeoLine; + window.GeoShape = GeoShape; + window.GeoMultiShape = GeoMultiShape; + + window.Overlay = Overlay; + }()); diff --git a/lib/doctest.js b/lib/doctest.js index 679eb19..8fa87b9 100755 --- a/lib/doctest.js +++ b/lib/doctest.js @@ -90,7 +90,7 @@ export default class Doctest { let pre = document.createElement('pre') // See http://stackoverflow.com/questions/1068280/javascript-regex-multiline-flag-doesnt-work // let re = /Doctest\.expect\(([\s\S]*)[\,\s\S]*([\s\S]*)\)/g - let lines = text.value.split('\n') + let lines = text.value ? text.value.split('\n') : text.split('\n') let better = [] for (let line of lines) { if (replaceExpect && line.trim().startsWith('Doctest.expect(')) { diff --git a/lib/examples/maps.json b/lib/examples/maps.json new file mode 100644 index 0000000..37909ca --- /dev/null +++ b/lib/examples/maps.json @@ -0,0 +1,105 @@ +{ + "osm": { + "projection": "mercator", + "type": "deepzoom", + "tiles": { + "clip": { + "minLevel": 0, + "maxLevel": 20, + "startCol": 275200, + "startRow": 180992, + "bounds": { + "min": [ + 48.458353, + 8.96484374976547 + ], + "max": [ + 48.5747899110263, + 9.14062499976523 + ] + } + }, + "tileSize": 512, + "format": "png", + "overlap": 0, + "type": "map", + "height": 131072, + "width": 131072, + "path": "./var/stadtplan/2018", + "urlTileTemplate": "{path}/{level}/{row}/{column}.{format}" + }, + "stadtplan": { + "projection": "mercator", + "type": "deepzoom", + "icon": "./var/img/map_thumbnails/stadtplan.jpg", + "tiles": { + "compression": [ + "dds" + ], + "clip": { + "minLevel": 12, + "maxLevel": 20, + "startCol": 275200, + "startRow": 180992, + "bounds": { + "min": [ + 48.458353, + 8.96484374976547 + ], + "max": [ + 48.5747899110263, + 9.14062499976523 + ] + } + }, + "tileSize": 512, + "format": "png", + "overlap": 0, + "type": "map", + "height": 131072, + "width": 131072, + "path": "./var/stadtplan/2018", + "urlTileTemplate": "{path}/{level}/{row}/{column}.{format}" + }, + "options": { + "cover": true + } + }, + "luftbild": { + "projection": "mercator", + "type": "deepzoom", + "icon": "./var/img/map_thumbnails/luftbild.jpg", + "tiles": { + "compression": [ + "dds" + ], + "clip": { + "minLevel": 12, + "maxLevel": 20, + "startCol": 275200, + "startRow": 180992, + "bounds": { + "min": [ + 48.458353, + 8.96484374976547 + ], + "max": [ + 48.5747899110263, + 9.14062499976523 + ] + } + }, + "tileSize": 512, + "format": "png", + "overlap": 0, + "type": "map", + "height": 131072, + "width": 131072, + "path": "./var/luftbild/2018", + "urlTileTemplate": "{path}/{level}/{row}/{column}.{format}" + }, + "options": { + "cover": true + } + } +} \ No newline at end of file diff --git a/lib/interaction.js b/lib/interaction.js index 830af1e..c97d35f 100755 --- a/lib/interaction.js +++ b/lib/interaction.js @@ -999,6 +999,7 @@ export class InteractionMapper extends InteractionDelegate { if (found != null) { this.interaction.addTarget(key, found) } + console.log(this.target) } let size = this.interaction.current.size let limit = this.logInteractionsAbove diff --git a/lib/pixi/assets/maps/osm/0/0/0.png b/lib/pixi/assets/maps/osm/0/0/0.png new file mode 100644 index 0000000000000000000000000000000000000000..76ea9310a0e1d6a7365e41573963b66375905651 GIT binary patch literal 6780 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/1/0/0.png b/lib/pixi/assets/maps/osm/1/0/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0298ddc44441cc82fb5dd2afc7be627cb25ee803 GIT binary patch literal 8573 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 DEczAq literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/1/0/1.png b/lib/pixi/assets/maps/osm/1/0/1.png new file mode 100644 index 0000000000000000000000000000000000000000..fea3ed5a98850f879541c685b30c6d8df52e2390 GIT binary patch literal 9140 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/1/1/0.png b/lib/pixi/assets/maps/osm/1/1/0.png new file mode 100644 index 0000000000000000000000000000000000000000..eff2af93e2322dc10822d4efcb967ba05808e6a3 GIT binary patch literal 2818 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 Pbz*?Nwy{>FCL#JiFyjTQ literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/0/0.png b/lib/pixi/assets/maps/osm/2/0/0.png new file mode 100644 index 0000000000000000000000000000000000000000..7351462d08738bd308ca0b7401fb864bc9bdb1c6 GIT binary patch literal 4673 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 LGrbxem$?4{Ese|G literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/0/1.png b/lib/pixi/assets/maps/osm/2/0/1.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0d88dd0c4092859992d337c7de5525aed125d7 GIT binary patch literal 7202 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/0/3.png b/lib/pixi/assets/maps/osm/2/0/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b0fe63d2a0483291494cbf7a8527aca5bf5d645f GIT binary patch literal 2424 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 BRjdF2 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/1/1.png b/lib/pixi/assets/maps/osm/2/1/1.png new file mode 100644 index 0000000000000000000000000000000000000000..4dbe0dd1735e50e2dae346edd5edc13a881d47a6 GIT binary patch literal 7435 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

J&mvG`4 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�Pyq6{`s0isV08{2 z?W0Ol{1R>PC_~M?f^}Xz~K^`@OD6UF6 z4PMaVJyPm10&-<}xV=dAUfX~&Vm;KiSVAzN+FA19&Q^p*CIG`LrFTfu_z~D*?=v8hL@i(2&q(7Km7nI9~B~2Ot3{k#! zn@k%tUZDGJY6MS3`x3EsfW_(b%@+&HnVJYU{D1{RD1iygv3Gm|yncQMOJ7;|fN}m` zSJsGTFaNANhQSOc6}5t}Jmg7<8e@?l__OHLGh)&By+q+7sBG%7F)&=V6mbk)}~=~XQA#8=`&z$yI?0q z_A>TydEabA#@g#yz5kM5n1e#VV9!Iy8lM{64I|+tog<@=$A9eXL=KYejNpqmQ;&H8 zhc$cnyX#xbUXYQ_!=lLKaUXEpJ%tklP_vj9ZuR`rkYeUJ<*{)9LRr&JNL3!z2Mh@4 zEoGpJ9Uq&Ie;N3V*(8^lP&=VOpzkPj4D<=;_P(f{*z6^7RLZ~0J$5984(t|KcFcyY z|5SepP@7#=xzuF2ZEQ9OhVXCoqa{HAMu(m91M~@qJ8=sbG{xuN?Y{|#2$7{@cE`-; zh_5k%H3M}FD2sv96^;L#uKtCcEj$0G9NQOi)D2TZFA&w0AO1pK3(%QbsAtoX>UI|E zN6$Y;2mh$)pvDb`Tx!CTKY0y6H&5tV8eu3NH|_+qMu_>Aqm~7=aX?-EW1qPW<>mNk z{8=EL;5LBt!|Cx~I|>E_FsbFeH$k%`5OB-q$>2r~CkPTOQ^4>eq z8#&kIIr+~%=@WYT$o}t2tu!P;A1$^DGy&HGhk^bZ}xlza^*c; u978f1-yUS-1@aCp`0k&}XTAW)1cQCNia`Cd5*}U!aXnrAT-G@yGywpw9~smD literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/2/1.png b/lib/pixi/assets/maps/osm/2/2/1.png new file mode 100644 index 0000000000000000000000000000000000000000..40fd0c4f940d1640169dd3d52cad2eb909ef97da GIT binary patch literal 3697 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 k^Hlrq;_x|MA&} zPcA=xdi&Y4`!AkjwS_;Pv<@#HfL}Y zU;&{C-)9y)+W4d5>#wPkM1NWdetj|FhIzxEEAnpc2M%yQco;GNSsa7xr#sA_>=VTQ zOL6~{s9;`lGeBq;YmR4kbVJ;I)di2GFMR*YvFr2Y$_8eGRdZviIMo#vEZG-0UvR;) zou#>pCkQIM7LT-iQPjuy_5Hk-KOu&vzh@lfS@1=yzFs)ExcgjXz{ItEyVzXw(D!?M7x=o0G44HN@3+l_^QC{O^6rM#d;7NtFS1Z$wreoCa^A=~ zcPX#4_SXC(Z@&~r{(bb$JDOK#%KxA^tMexnU1qnhWAmtu$&Q?FvYl^*{`~I^G0)z< zf5Y@7yZP5k$pydPTV})-$SUN7#M?I8>E>_J*3m!C%eb-XZ#jSQW6|)d{EN~ULR-HD zZi~IRE+aOkYkK5l!5L|58S=BD=G;5oYU;2)v(&4ca~bc?sSIz!R&CO}zD>h+pM2Ls zyQN#tJpHO%dR6aIoO*gg>)KPgjBT5Hy$`q_UUp8iVbx#vt z2P*z=WsqEb>i%VZ8y|hgTz-|CYu_J_N#3xHJ!9TmrtOnb;^L)6+eCvJJH^#-Dq6hvtx-bjahB3^Tc0j3N-f6~b{Y`ERx~E^Yzxi71aC5ob zzu)!@^Ui#=Jg1oEQ1mZTmH+ye^~@rPk5)3ju(+yf&%XHKOa0$%`Y~%7m>>V}`m~@?`d3OK+ literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/3/1.png b/lib/pixi/assets/maps/osm/2/3/1.png new file mode 100644 index 0000000000000000000000000000000000000000..24d22e76693f8cf9e79dc758e16306e6a878925a GIT binary patch literal 1481 zcmcJP{Xf%r0Kh-r4U>ncjD=oQQVlhtl!r|z4^gh>q2t!%DbL0nWo}>ONZ?v+1jPqfv?&COjX#CBHL@+Ap9G~cyOn#c08kJ5jeVy^M zQ^NuvPj<4mBgPlbf9i_d=b!;(qS(DhXO3j*v&O|9tV05MiX)O2W|ynjVxO!1VlBHo zue`A~7Ynsu(mmjlsm{e?8A-|N2}!rEC5+++pMI-Ki3<#x4n3831{GHM>m9ss_3sG9 zJ*5F04kTHQar)q#O;n@iK&Lvvr1wrwlXQM z3h0%>?P#)TLHdd=G&SOy+RTU((=P+YOM8#@Hi<8NZi; z{6dw6Z+(s#KzyGTFKAI~MvIoy{9L;yPyJ{$Iz!O3KaZp=qs=)QOK~S-vLJM#&?}|9bd!OeTSUQ6P!W>E#h{S{4)`igt6=(J=oy(L#rxMY1nWb_Ey7G8IH543^|PV2 z_S=|g#>cd~gc?J16+ea*!H8TN1( zYJU9iU6#-{bdXPLF;KvX=4&s#v=TTk3kRW7dOJ0w#Xu7TqmA20o7IcC(g53+E2cNR z5jb1r)+YIs)Hfv+P4JUrTjucRESnP@`)6z|{8oW3A!p9gyQFZa`IfIq1*##a`hN51Y%v4JzF_%2y@VO(Fc1`ImW+b*RUbxgiUCVhO495Kf+avu>b%7 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/2/3/2.png b/lib/pixi/assets/maps/osm/2/3/2.png new file mode 100644 index 0000000000000000000000000000000000000000..f37f9b704e101ad157a1b080a35638840e82fc44 GIT binary patch literal 814 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HJ8z$e6Y)#dwZuRPdv?ZLJi z5BJ=9c=Yb$vk#wKdHnSDvuF2TJpc6mWo%`G7y|>-2~QWtkcv5Pubt1olpt~7<93!~ zdlH?*zPc=WaU=8Mk!JNx8t3NTn8R*qI5)58*1?G^D}LH>wtT6To991&-xiLA>erS?PoMbd^YXHHE0?{SxhtaRcl1{eRsCN#Q*9X* zNBHe#FpfI8XY##EOeaq0&pfDVQ6aJP$-dd^I2E=>GdFIv)U_}DzV-^cM=tk9t-Xo9 zvmJe-q!^1o&6Y1H`H+_6d3*94nF-UL*-CaS{@U98)lf8YrSOLr&Ks)ruVk8;zu`F? zZ?s;xpxUQey>4E9SJc7q;7c4H+mCJic0}WVgly!ZZ^!bgea=rjQJEcNSEO`c%Fo?_ zU$2?ebayfYK3o52_i~lT@je&sb=-*mC%9O_RHJ z#rAqGw;J{a%v`pTeZje3tNv>i7^=6cPCvXliAm~J%&)^SUF;J+8CWjZ@;~UU^=o(k z0(HFy+hf04aXu(KywXz8&C#Zld&7|j{WtbAw*5Z7YWlZF{tuiwCM-|WIB?@8zhzZ2 z$BC`04eMI`X0!=@+b!67A#CS^iw~W*{EoYO=MmGIr*8^x6bAB^Y?@y%HSP0ef%7)I z*m?7BK8-o^?^4xwn=dpTmJ@78{L z@a?bQ=(yY3D`(%Fd-vidzbnrVlr&W3hT3)2Y%h(l-n@TX@tfHCUtV|row<4;DwkpF zTCLcxV)F`>qUPTGTFx-}kk$Oe-x>{)?7(ClFzshIQj_IZC{M-lc9 znvE{`S66)8aZEsX?}P~w{a+vTOG`~<(d*^xJl4Hm%6HF#hwfbJ9s$Yvt`3>s7hO11 zcHjPa-pYyZ-bHg9`Y!w9T;rR(?R)&w+GpOZY%ac@_4@rYb=Aqq$>vAdQ5f*-&8ZJ+Zw_*QZS$X9J5&WeM!-_^a`7+!i9_Z;t%)pm$E_E^4sRg*AN$?5#;0}JOJ^khoOJ0_uUP&T>Y z#39G#!=B7bCK|goFrvBijj& zn-Uw0vw0>QkW#pp$*yv3i7PD^cwHezeJCOa{r{AiE~+YIwVPYwyn807ML zoa?#xF<3i2rw3niLBphd2N%WNP6@>C4+1&MqqCy|Q^W1K)zwynv6+xqGEp1HOwc zV92`1CbEBH4ll=67Bvomt%oGf3kCdL_H>;?!vS9X8BDjLq+J-l?B!8tsN`J|$9a*# zwvvnKO7+7_mBs=I`^5EZ)tVSyU+aG`-8A8})Pg-?4;h~QZP+)Njpai5r8!~^`!0*J zeAso+#@ZqHt~)c+i`^>&8mdIHHL?TT7$5EXk#lVi2W!XgM~w&Wmc4tGagj;jSii%p zpqbr%v!=2aILy)6z3=~@xFhk^bZ}xlza^*c; u978f1-yUS-1@aCp`0k&}XTAW)1cQCNia`Cd5*}U!aXnrAT-G@yGywpw9~smD literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/1.png b/lib/pixi/assets/maps/osm/3/0/1.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d4f29f65894d4b09148bd7ceaa84fcde16f8c6 GIT binary patch literal 942 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HI{z$e6Y)#dv~?mj+w|H;{h zPp&+Edi&Y4`!Ak9e);_A>lZKIJb(T6#i#c#!_M5f%D}+v>gnPbQZeW4th3p|juP$Z zlYFCIrY>F?TBI4ldfB^LpfyfP-|73LE~ixew+j`X1PO|qan<73I$g}=V%(p7Z;oD5 z%l!1O_?^$D-4lgu-~O@rGw(EuP=)-x@_p)Ff=(QYEdrzv4j(Tv{ZforpmyWOQL_jK z7VQNGnRadL7yZC8r}06(zz*J?_>RZ%Q4CyDT-XkLC}d-@Y~ZSBzsMKjAYY%O#lPx8 zPq=czk0ztZh5-)R#-a?YQ(}8JFtu{%EI1__@Zf1+bWBrA{AXpK2Q7>JI=uEC&2tHB zWV-C;(BP^O#h4=aYHq6vtJG70E}7Y7f~o<+FK3mpstTk(IMb!jBwlkr<$xZuF$d${ zXW^wFS=J*KRvE&X;K1wny&Rbm5+cB?)Se zgVZjxbBG*1lOU(K;5dtd`sSHB{|YRN&VKnWwnIGYi$Os5OvY!cBGxZqx_^hgeoy%d zrv$DqWmlwUa|_NcUcY*gPr~KB4XajU>&9?iXnOwhkkAM8T zi+A?b17BH>-Z1G9+;F>aMMJw-$M%+hMs0s@!Jq`i3GNqoeCA5C^s(wKV0|>zqUjss z)6#YALc7E@mdyVXed+V9bF7;}!`(lnT-$lz_mKzf>zD0&b)uB>)FrujN4DB_{jn5@ z;ke>brOa5YZS*!KLG|vhkfpn0BFp2LEk z*AAiz0a9C^rCiZuX1TO|W$nv6C6*xW_xtSYT$wBP&1dduDqN@3me^LuIFsGz!SctC zH1axxBw{Ddxwe0Sk%7QX(aNn$i^O(V+du5~Qn9}J;+$hl_rJ0_CUfdHeDxaXnxMv7t(7@X!kBh{l=3l{(Y^ho@8>G9r`OosY-=CgSDk)l zQNlU*yS>|Ya;Qu`d;kBkp!(|pzufegPCi`!v;ThRwMX)Q*-X10O>Ny7{~nkD89ZJ6 KT-G@yGywpzcceD} literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/2.png b/lib/pixi/assets/maps/osm/3/0/2.png new file mode 100644 index 0000000000000000000000000000000000000000..670240d52ca3b206981200f96296a4eabcd09dc8 GIT binary patch literal 4938 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 C+MXu> literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/3.png b/lib/pixi/assets/maps/osm/3/0/3.png new file mode 100644 index 0000000000000000000000000000000000000000..2f673c0928933ebd013c639b8ab3dc399196e5b1 GIT binary patch literal 3309 zcmbu?_dgVl1IO_@=j@po(aA`Btmtgc%pQ@lWmZ-pdz_0iL-x#`*<@cr-nRSR8J7YjbUTb7N;~dv9~^&(y0?78(gMQ$_xN5IG8}R!%v$!uIP*aMog_&i+^NPRmbHzi7PznDOsiFzQD@ zp3Z1pR$hPBhYNz!wt`fJmOQta#mW!w&tAY&%Wh#&TH%Sb;+d3h ziZYZAhOfhE-n~R#qQJ~@k}xp_)z8pA6%Vd_5`D#sdAQtL5;L#X0N8AMTJVryPBB%N z@fBUR<R$elO>iWC-CLm( zy={0mYDX#$E>JCmU`+$t{M*Z*; zN|s81ahCDvE-pgpIdd&=#2B)=8sGp-agJsxKs=Hr(iF|s zaBv*u4GEpHjOwNBruW8XHPj&@U=z9yah>{b>D_cXaVNygo2qMxxRU%-u8OEWJC8h+ zhtRh+_sUE8ymBo9FT95r$QFwPE$6U`7SjH51NfV zm(9#SL-R^#6Z@*mpH3eHV^slgD=%_;HRp$hLz|%JW&jX)0@y>-L@5F85A@SBiDd zf+q&Ln_%hDcGiemukAf6)}d7jX)vIQp!cYrEQEC}SUX|k=mT)%7~`ukAS=rYMA20XqUyR=QjXoB9y~Jx@9lqew`ZOe}=m(-}Omc32MyyJfGq4 z#r$6BP4Ml)#S#~7|JY_5aa*sem-F{ikOcad%Iw#K@1pi~_ zH99GDD`2eYDSt{cXb#k4<{T*DN^z*iC+iMdGpo_bKJ zPov~VKVPnB!fZsW`YX*P_tnuwPO9ZsjDjDRB&A^%H-&(0O8W)cOgJ>xFq@|S6)?{E z+K16>jgb?E zLf9J~RCCFmWKR|Li0yt4uP7(!#MqyPODY>HP*;{V*g=Mk z%vjs^d-vXaYQJUbUWG1=GyL<9h=wK%&4V$_5!G$xKs}0T&EW}Vxe{<6J3KcZWv>0k zX;TbuKZ1~&Y91#|#+#3|ad;G$(C_zw7E=a42>uB8Xa z98!yWwDtt9d?cgUH@%=J$B&Mbpe79TGTy+nrz)}^mq1fAE_V||dAT2}ct4=d(j@6Q zJJtElbx(^knm2&DEKo0%TeMqm8$K!*>y#<~LG*odI6K16XG-YD5A}dMV05M-v|(v` z(mgt_v~VV{9?jXe13lc*oHUrR+E9EBq7|?>7YQnR*W7SJF zWJZ2a7jVhJ)ys=9ZcCc0fIeA1zI2<_cb(|yE(a52uo@w6b1F2X+X3$*dS@0~7DP{a z!7V%nSR}@qjg1dM55OVyd-BV{b=jKbcSHd5D>h&&Ih;aX(1D^; z$9mBn$moHME!r#M@K>f}SfbTr@MSqrxy5&7aIxP}Ta?opmExzU4yFSha=_|aWA<5V zSyR9X-qYe$Lnh-`Y5!U=ub5LEWZON%iZPo71;h(%!UwxicwrA`Iq$H7I_3s-i)N&g zqB$rLB|j(c1ZSY#BR8R3@@4=@^2zvIYNcBnm6+4zg6WYdRW?SCIrH^=DeeiBX@?!} zzMI@pdVfoGA+Sw0Xfs%eZ-Ve_SR^RYZ1^ox>z*sJcTU=E!?Y`^?y9Jd6gy_U&WUWS zL>Ub8a^JoHgN}{qr*P@MAEN!x8|l6=c9#8N(*WbT>=6+>m2u+KCaYg~+h6>q*W(jzWm{~0x1;7UpM?YnuIIv>^4ZtTm7fw4aNN-tL{TFeI(5n z{nWB92kF*TmM5`;cs4hO!5exgOw7{i;NXo@KNkAq>AiLh&vC$O1Iu7ep{fFKsgsPB9g;?{<+IaF@$!4!j+B<;;x(~;89S$-=XR!H_c2-0`)vUEZG{B_pd6KTaqmapVq~=(IRJ&)1Fp8YyL)tEdn}p zgHJ*|dV`X?y~JBrxZ0Oxv-6JYmWFEl$NqGl6QQ6t-X<$?j5md}w=OYEGS|c;phdEm z`Bpd?L(Fnry+ltK@uV}c({q*A(QxW($jMm#&Deha@3G?yV`6?xgzt)CK9sa1hJr|b YA5R*YL!uh~@4o=FH4M~iRqYV}1EkAZ-~a#s literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/4.png b/lib/pixi/assets/maps/osm/3/0/4.png new file mode 100644 index 0000000000000000000000000000000000000000..3eaae5e69e1d7e20668d1c949ee7211df72ad30f GIT binary patch literal 1097 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HI{z$e6Y)#dv~?mj+w|MA&} zPcA=xdi&Y4`!Ak9e);_As~0cdJb&}{#i#c#_lJG&WME)^;OXKRQZeW4jPw4&jv~j? zqoNY3XSOCa#C08OE^1^@*So6GSuio<%L7*7UUt2r0OuW7Buv}7U3^UTG6XLEa_N@R z+kN%t%s1QbT6^eV$u7g6b$oBjcHezpo_=r7_hn8%7f}TMp9#3ccImUH^^AD`F#Gk- zCYes~4BO{_VhQh`<2ePNdz9(@;Z0oiiR@Uk)VPfODD*Ace-A`Rf zOJ+1QXBy@2OkZxp%glG;%Df2i?2>5yzc02ecX?K@;pdUemAM}q%)V^=;}|0-H(!u- zoh-AY|C*JlzmnMMraybq`*r{IqoH!D+A%_#r9+ie^))=zPgVZgYWH#a>1Ca-%6JOi zn3{J!Q`@(>aaKXcim&OJ(?sp^)orF)pZdP+{Be~V4c3e7|7d;BidFSyd$Rjm?YubO z;FK3n7X>cboxdyEWTpQ$t7X5_70x=Z&Xc@oJ9Xi)<)&O3M_>Oom|t;a;@js=b5*Tw zm~TfDpWuhRUzy(Y&Wv00d( zoG1U~ro%OTh9s>?F>j0#_NrOzYnj!nQqG>ez~O0kOpo4WNuEOvThCr7R>f|G)3j0W$I`Ym`K%4Wd&xc%JaE$dbr zFKk?PV%ClO``69M`|I}qsru9QvTX1U-#eu|^I%A6`}2GH zwg0BMbe^2Yku$%3b-nYs=PzgLZNAgC{jZ!d*VdT+#!aHkR~{{0-@__!I=hEpFX(KSC{fY@nuYY)W*={ z2NU)`zW3u?P(ka`+!aff-T!~J?2DQD8`hf#+*OactP*iKd9Bp?m(!a+bG~gk)L0j= zS)zCDIaW2>=s(wY6>Lh`R`*-&f;02ebN7v`taMc!n;-AI9JoN1tvg*Q!v4MQ@-J5$PWk^#el;i?db;|#taD0e F0sv4<3v~bh literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/5.png b/lib/pixi/assets/maps/osm/3/0/5.png new file mode 100644 index 0000000000000000000000000000000000000000..4f321835ff7860598fdd0a07fb60e7ca84a590c1 GIT binary patch literal 1826 zcmbW2g#_*X<1Ap; zGI?x+V1)RU=A=3BGR8ZAZN$Z(T>2$cpg5|HbZA8^9<+?=o z(#^a~KJ^UyO$L6nGdWc?;8=Sa)y&hZGSios*~JR+cm?_znc^knW`B<9ioZHefmWP zs)!UKxZq)Fa(lY&Hox~Hd#^yp6`V)i8;N$I7n}<7JjX$Z>q_*C@#%LEP0F+ajG&+L zo-$ux!8<@mSclsu|LJy`U{qAiIwnM;FY$mHZL`iZCq7!(6qDXmX$-Feew3$gZ_QySigRC54zMPTzw7!Ezx<5QRUTYFnYUHaiD2>d&~7(H&=*k1={0p%mncqQY7^f5iL7nn@;y? zh98vTLyYiTM(@v^58}asIBkS`5koK~jTT!)Og}4_xYV-_#y22`ETnp{lLKYq)Uf}^ zNXq}Tc=r(YitaXjvP~m8!~1mu0+x=Q{w?YYucq`l0j4Z|%81L+`>447+jffQ{|pkC z6||=ir6uS;gY_^-OiPqI1ELvDuDLGAZ0&=PfT>p)nT61C@T zVqiqANv`2@gU4CKVLbJCWo~DutDa>K_+~VM~ti-j2$@ z>m%4=g`u@)R6h*Poe=j9k3FgR^2@R@q|IT`;>|dA9f{0L+T+pE+>>!>6p0+^c0L_! zhlFT5Z-E04deg4%>e9B3A7R#A3d)}>TG@Zti7*!L6FI@x6P_gbll@Q zVZyCf5Zv8r6p~YXM0;ak^tGF|Za;~mms<3*8k&d`aHP(C*gYtgXhQfg;kTTbnP_?> zF(h(e2GtYlM1}W1>X=_jIFcH(XpToEmZgrGSriF*kKR3FX9it}HI03=s$t9)iL}!3 z`C<9_`H&}5HEG^W9XI2Hlzw5!*OslUl41JP^_{tXtHgdxwX)R)?oASqD-_12!cT*D zRcw)t1d{LM9 zqGf&FO<7UglC^DeVy_6j0?#u$AfePB-Kc*nQee(-*RUhAzxU^wJo!vYqQ1sl=Dqs( zS=C>MGC1$FIK=JG0q7?;RwI`y0^$ccf|*sKEA!F8NQ}@q*OWX;Z4~m2M4n&r4Tgjg zKA+B|W{g^ie;S7dJs#Ui61n8~r+i<_L7?k*yDz#$({IXXFt!*gKtMTf-f}cv$lE%k z*pjZP21ZI5S8|D3)};^?1R{Oz^Cm1c!CS=PyybZfzI1abyG@3GQg8(l@T>a^_P$>)rrMewoHqn2(jLa{d>+S4WtH*S2WUB1D z1)nbMRsdqdk}Za&oV8SANl%aETW<7mK^_ft;Hz8UC@-yUa$ycXhTglH9-ymbh^j(5 Gg#Qomcy^@# literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/6.png b/lib/pixi/assets/maps/osm/3/0/6.png new file mode 100644 index 0000000000000000000000000000000000000000..a669fe351171fca6bc733a6333a75ec94ef25519 GIT binary patch literal 874 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HI{z$e6Y)#dw#?>;_x|H;{h zPcA=xdi&Y4`!Ak9e);^_s~0cdJb&}{#i#c#ePmQVGcYhSdb&7h<+QKU6} zkF>|5W8RM%9;In&EHVjbd~!^Tk;|NsmFv=n2@U~EnH0@W+H-IyI?npwH8IyfK>g$2 z;)-uiXYx+5b1vL>Xp^q@^V4VEoY^b9ltZyaz=<58n%fm${I&S&TJaBm zY$qOj^0+yWM{Gs+iMpSf0zV%*CQQ01^h0Szv73URr0KuEk24ntXY<~XxP3w|%%Sz< z_D8w5pPXjUF<3Zr36uN2PxHO_Dg;I5Xn#`uraWN^Q}|zwoM}w&|8RWqX0-24sGFpJ z+m5Ab+JTMyjkewnWgmW;{>+mudBF5}ard?ZVlfMDX53`zf50@=^#k|(_|2c6>cuU{ zJ1Spu?78*thUr}imxT`4GoO-e+%ETNt1VO9xyRd78}fL0&cDrNxG%pdHC_C}2az>a zO!gm{0x!Sku<_yBJCEi0Ql?+CRBU`=8YOfR%2nHvYa-X2{?Hu0-dw3--=)grS8I)9 zE#F2q@2}v`7x?P?Z~DjGH||6}U_JBo$_~ZO=B@9hnkzk+wBlN5rsIay*IpZ)>Qm-D zliz96dCa+BiyY5q=fo9yt+F#3ZnD_%N?*@6Pg6f0s2|zPdFBbb!;;gxat!R`3;mxI zZT#=&Rjk~QEl_IsUe|j8zfR8~oi9g(UTA#ovJwjGZWW)hJn-7eqY90;PMefgUy|v` zTQ+^$j#m-ek1ss6_AG1Etg|!jmb)G4cc_TGYyS2^R;U6S=b2M&C#rw1GkGrM;qaC1 z?7CP{(L0W&oi|UGFEg9Q8c=uc)=bTYvXfSS0?yjAs-{b?i;G;rbs#TivzASPo@Y=1 zla_3A`mSh0iGwUkpJhzGT$`iK@J8^<;{#U?eqMK=@SdV#p6=ojsaNX`7;HamdRnwG zhf9y8_2ieEe`X&z&JZrObu`9!RH&> mSp6=oKeJ0>#kng={~2@>_7p1zMtlQi9tKZWKbLh*2~7Z97L~>T literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/0/7.png b/lib/pixi/assets/maps/osm/3/0/7.png new file mode 100644 index 0000000000000000000000000000000000000000..f607ae0a94ac5b56cfb50a8b275a4e878a391171 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lAy>hk^bZ}xlza^*c; u978f1-yUS-1@aCp`0k&}XTAW)1cQCNia`Cd5*}U!aXnrAT-G@yGywpw9~smD literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/1/0.png b/lib/pixi/assets/maps/osm/3/1/0.png new file mode 100644 index 0000000000000000000000000000000000000000..987193b05851c68e0165728a5b0a6035f854cdd8 GIT binary patch literal 1071 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/1/2.png b/lib/pixi/assets/maps/osm/3/1/2.png new file mode 100644 index 0000000000000000000000000000000000000000..e179288cdd8c6b96b9b2b8bac9a303565dc33dc0 GIT binary patch literal 8289 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/1/3.png b/lib/pixi/assets/maps/osm/3/1/3.png new file mode 100644 index 0000000000000000000000000000000000000000..a9caff43847126dc132cd138889de516eb6b30f5 GIT binary patch literal 4164 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 H$4CAT@v^gI literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/1/4.png b/lib/pixi/assets/maps/osm/3/1/4.png new file mode 100644 index 0000000000000000000000000000000000000000..24fe5f7d71ee59403df704b316e426ffb9eea184 GIT binary patch literal 4292 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/1/5.png b/lib/pixi/assets/maps/osm/3/1/5.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c37271702f802f9919dfea57bb84c24d28a2a2 GIT binary patch literal 4835 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/1/7.png b/lib/pixi/assets/maps/osm/3/1/7.png new file mode 100644 index 0000000000000000000000000000000000000000..9ce86a8827de103a2dd570bb283e7cbb3f855faa GIT binary patch literal 2045 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 Ef+UUic>n+a literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/2/4.png b/lib/pixi/assets/maps/osm/3/2/4.png new file mode 100644 index 0000000000000000000000000000000000000000..90c83d4d563ff1224dd31b8db3da735a235b7c16 GIT binary patch literal 13327 zcmV+qH1NxbP)YOEi-}W>j8cq>RE~~T zj*VH7ky??HT#}Stla*eTmSUBYWto^`mzidnn`xSsY@M8Io1JT%pKYC+aG#rUp`dS{ zqjaIBdZnU#sHlCXseh=WgsiH7sjPykt%R$thODQGv9O4*vy8E;leV^zw8MPBxRtiL zlew^)ytvdhq(%*n0B%%je(y4K3A$!P4Kl+2P*4*xAO`x!UC3!P&jr;>^(A)ydr3$=AQ!;^4*F%+%n+-Q(TN+P~iC z!r$oQ%iQ14+{xeM#o_7O)!@wG($=qGbRI z^zrQM^Yr%g@$dKf@b>xm_Vo7n_W1Pp^!fVw`S$$#`iTapV*mg#X-PyuRCt`teUE?J z=6R>OroAMm<~+qoT+6k+Nm^Vdjy0V+Z%Hmzdzr46o7~P`tDJRh)H~X|%tvk#)IiWm zIbzRLp_W31mZ>mREK((;8iW*OQYUE3K@3{Bd+}G@`{Ebz^Ti8_PVf07vP6O)@Wt~! zzu)KS%l3e1^n(#Zr9&wt32m;%9Z?E9LKbqAbqSP!{kUXbDkpQ!Wm9$dPG2tofajtp z-hKa}*Bedc<=8`JLtkw;2xPfN^oJXaeVwwR2zgF0{^rnIJpzEvQ&hD9A&||>NX7sp z$1m)JyeL=Myz3%ZQ4amA=p176Nfj||y>|e>$G~&ED2W13dP7M8Xr+U%HJggWQ=Tiy z7g)iEf-E?P7OL=D>()2VB)oqT7T8>lcthp`m%~_VL8>yYSE-JaYF3pdCHD*fiWXS6 z3?z7-eoD7u4+$58h=h=9qFI(@JQvBOr@u7eYBKXZ1)62$FNg`7oO`oc5by&eBzuu|{Kj znshXOU;)6dteybCa3bqmU9`FmP%~Fxa$ZxGioQz>XW?WZjlYJT0FW2t`}PT!iLKzO z$mQVL_uM{3M*;nA}7K3)ZU3QHg-h>9h_ zi$!7p8f?ggM?Wvj3MgQ&j(PY1=aZs&9s^%g$BX zDxlpCewFVvIpD!Cioj4&MjO_;XrenVRE?#8PEhx#1?u4ekQZ2*{Xmv%6Rwsq{?Py= zKLl-{Y3}*oHi!Q?3*CGv>pUN9g#5jS+L1rHs0F)>+MXBCYY&+28Q%xNm z99~BVpoiX8jbBty83FL0w)I*yM0GKIgNw2Sr*U_oaQ4}Rx(!L^v^ewfm;g{zP82!; zDAQqWgNrY=H+FRZRA7?vudeS}FQ|}19(>FMPRHOBRuLO#c1%G>jmn~}8}Np}afKkw zy8J*>1hm2MEqK3M!vMTFuFsu1^%BsBZVcS34D0&Ur_Nu#t*ax0gTMYTa4syX;`NIo z_GsHCXA7b%8p}+=eel>qkoD*oGiU=gPCU1z>jS&s+&Xxo4F=csr^X>7gL-8^1E+52 zSFVD)LwkM}VDP?RX&DCq`n-7>i;c{GgdAQ89v1*c5CzHQ2`knb&~87ms876dFraTd zGBotWZT+b&O@jd3z68M74gLJ7p|dAH`LXY0cm}|;09pc+=QMVFg^P*K918%NlZ2{= z!!k9+R04}5`r*mRt9s?6vHqXhRaFSU;spRkZ|K8|@U;g%`;Cr^hhS_B*=knjfHW}MJpf?|=@?(I4Mt9%o-l00hBt)I9(N6Jrn3ap6GI4nn{ABp}(ET`tEQ&~VI4svdKwOk{9^0OxJa;@x&gq5;FoLO`dU<08_;}Yi=^EECQ057^~V%i2uD^XAh_k_}TNF59u( z@M#MVB`rH4qND)iIj+D`Og@K}KF?T5*VP0SAx#0U(~jjzY_TLnnUsz&QaW1weqtFAv#Y<^pRdV;h& zF(m?^P-hE#ffIx#QaDvnuyhS^RiIE{Eape5l%^;?$vxHZVX^Kg5df^jQ-TB?4+wzZ zsz$@4Ej{F_(#*0v1c0X#`K~(;0fA&ofM!tCHgLOSE1)j9lenV5pvuBzT)o|U1QG#2 z3GgNw0l#I3s3vG%D7YOUUKI9aausONb{F+mcuE35o@e=L2+xw4fxJ5rh9rP11%jgG zQJ+&)_h01%*>@r$2Y?bpzA6NtKN$eB_xV#fs%(A1-YEufW-fPQr31wbkJ zMUKogySEUC0H7&`my||RZb%;lbpVMW%m>Q2Iu=kHT)2YPz@<9?JO=csQwIa*}%IZ>=i&<+lsqZki>S6oR{F zrYrz_}o06nPJAL|HARSODsQ zOepQTT*Uu#&*_(MfuldrwZ}AY7jnQQ4*;B;x3y+)!O22X5a2TH3W0b4s5~bLg1^|< zO);)O172P5v>ldhgJ(y_2G;bsfvY1>2E2IwrIYJ^07O1-=Y4}Kpuve!bDxbV28y6K z02o^2curDq=$7%@0~$gw6AssvV+FRs!Q$c}6#rX`M;q{;4fMxh1%MJ<8VCCB0ki`O zY{7Dz!)nGkR;i+ha5uUj4uFCn2{IH|)oOH{IcCpSuolK(EEfwvrH>2%O*8T-=#RFl zB730y3H>zjIgU!07qUr>pcn-*H2go`YavJr0<`@F zxcuw*OdH-kiKt~KO$RCW1yK=lD0&zo01QHTCXSe?yo3WFUlp55vnfbnK>#=5Jya>; z^n{n&;CWW&bI=Lf%!F^T;%rB|8zF$@03NX^!GlWSQZ|inB|vt$l2Wg-Y=P(C^KVU~ z0_zajDLZyX7c77SAjeBYX?vxG3)4vX@C`k5tR95s7b{D3Ug8ZuWV!{7Uak<5Np@Uq z;*4O2Z~!n2SJ!|BO_M;~tB-KIBzQVvJ40+p9BN>p$_wx~bkFH+_(~4#(F-DA*IiSI zgN%4Bz;OTf|4eAAR#}7Qc-vfm?Y2|)>_P<-tqr#VvILe86u?rRuU3ukg#xg_n~Oap zo!GR@?E)Fgx(EjV#W&Th&s+iE_V|M~c<=zUjVfr(4B?^TA17M38Ep$i?dl|`W2!>x)B|Zmj_@ zac;Cz{~cYwBt>oLAqZgzIhx4}(9lOoA;+m=n6TAjl*|*?MUVghS3ng4aQ7K-drYqk z{QB1eTl&c0mUh^`TY3DJe&ac9^0FfwFuOXV&Q4$p%XJ|K-EmpD-tx9e2&>RSX?ucd zLvjEpUgXt{KltqX3NF($BqKDs3GD z05X*&B1d=0v;e)*B(U0fl)OxO|9BZ7-dByH_eaL{t%0MXlUoJ=l@mut1Gn_a5ml`? z@yf(YAg1q)o18ef$D+#nzlVyeHxDJ83}CCW`s){g3P#@mVD9YsIiOFJv^IG2+{lGn zI(X^y;F~r8ax?&PSUd=xocLmQ95YL%+}z|xknbumjFSO5p8Xf_Ktt8vYTMrG(Kdb? zTGLc_K5G*b6$>{68Pdy@U3C$jQ$_EwOhPySXp{#+Mu%bem_JbQ?=!=LBk0y$2~A9P zENpiaB2u$;rqWRt9spwN>xl^K4GPu!)j%W!a=@VqH1CTzhxk4;V1t4XasWZo2t`?V ztI+Yqy<#vyeNi-F0pLDxc161a0&P`Q{k{P{BEUC!9|RPg6Gi?5+=m)MQ<0>#?@qykzhyc7ZgpANSib>aTc@adhDQk%{MFAyLxg1613QU2@K_f@1`XdfaS>g&T zP1%7on!oRQx5EN4+u}(H3xLQs_Zv!GP-5+i_?&&yNDon*a9?H_s=&~NJdtuulfGr4oy;+cB0oY!S|0dpG0Vq@jmO&d`d6pA+$XuP? z3-EhH)KVd6I7m&&UI>g?tI}QkD}?Z2@d87!65mkb#PtF}kxbLHiFuJ_bBw_ZY@VTc z$QoA8r3o!Px4#qMN8>btX#)yf7XJ83#3}Vloy-9cu$WviTaM+kg@gJ~t=`IWBTT`+dn$Y&5A zMTdtT#wHOD;Q@fllI6n0FjC24AxpF0+pu4f_t6?>!;A(fL}h`&=zvI3H(&1VwlF1K zK8mRlqi8mNe?O>*WkC_)9Z}pj?2J91Lz$~=XiG%sP8Px%hh>d!jM-dR&Kpuw+Df=1 z*P-6+9L%ZgL<$CbS_K)pz`8BC%p~-XZakd zw;Trmw1k75K4qu$@xR)R3G&k^XyS*(>8cD*MX10Wr^pf=>fS&&|MFXjlf5SGD`Jk2 z2jTz-lTLEIQ~GG%u+K-jZ! zmwwvG7#6jcrhR^c1ntOX0q5prDfq!$A#~wz-}=k0ieHr~diVkqFC+)Y0YC+xfm{fA zpU=`#pl?T`ai7QA{}fjhC7~JGK}3Wc(48aDtU?c)urEn$wRkY!>P_~UZ=>zRjUdm- zvW)9@S}?_bgAEPw%MgGrU4MZw+A5OlqKGe-r+rVsyZMK%qh@jn%Z3|r_q`sVuWZ`v zo+d*l0fl(0er7BD1$hF|M^-}}0#!h=W2E5r20!qvXr?OR!gHd>{`IW~yT~1dfLC{m0Bh>D%hZmDYk1WB<4 z942z>XiW)Oc0Mw4T}?+%c4SHUx>0|>lyqEEH`FZv$Y`-2DHAQJ_iX^+Aq}4yWJS-M zDl(VWZlzFbwpSnWy&Kdm07z%s07SOKMkc9M=pdN2&Tg_*eA6wzQtD75A)ZcAnlC@BDp zEDMYv@dyLg%Mt!iHEV71$nt@-klTK$=h%Q9Y|umLpXQ;y?AveC$fkMwZHjpt=en6x zRd~*dHM#BDh^;CDV|V!sY@j9!b$ki{>_K|>ojr?w8I!=IWwFUy(^Wl89qxH@)hKU} zFzfp%0PqiAdisSAKmP8Y{qYz7+Y4X(lf8HF05H7pfg~ffC)-QFYz`T|U#k!~2#*ke zhtfmQLw)@}+WYdK{pRa`_~Fm`{%-F}|MQo40C89XxwR;Jzrj$hT;K!*fD>{$1r=aI^&?o+0N%FoRK<=KVKjJ~pA_6G-v>~xzSCZ)djq4Im@$50i% zzxV#Tdwc$|4`C0^qFg8A&#`U>5E+^-zQXzbB@w1X-DO5D4{9LxMY0+RrFC5 zCluh#7aU6nKmF1sj2%$2cZrpzts3lFeAo7_DIowIAz0044M&G*2>Cja_?8f85+aGY zrt&oUmR4%H^HM5QMf@HBaDo`k28GI-Q9FZ1RX`cjoEa2|YM9|8?8e#J^;RvNcJuvG zdUk1LcKP=YfKx3bWT`w997Zz(RMFSS*?}?q@IQyJX}i{|Y45UcmC?`5*>umPK|%mH ziv{W;*Hi?avRDGb;kb7($uQ?k*vra91jA~t_2|AGN*WI+n86?k$-IU{SzaKL`{<6U zytp5$Nep7}eXk3Q=;X(9KP3 zRQIe7F4Lyic{(R@BCZhFe+E&M1m52HRGbb> z>TbPbw3QtSewBp zfe9keDWAxj1vV7p?E)R>l8b9b5jT3Y3reg7n4DGp^V;lm~t*(B1UPdXM(i zd<5E3$N0XzW`X2$hVrKM+iap_4`a0qrUj0NPN6UV<*BnZ=F2fZ_(poZ=$7#{e?QKc zC?KY3S69@J#-yO>}h6?cE6`xFVO3jkbMFtn?K>U7r->!xIY z#&DwIF6X98(*%i-)t(~I1pu!2FJIuj71<(}gIYi7F6SM@0&PwE=+NJtCX}{&IdQ3r zX>*Kcd!)C!iY!TDBYA(HYfu*a^rxd&u3XVnt36S>?do3Sba6EQO~*92OhO3&plGDY zS=3}YvWinkB=1eX({#31Qj)zBaJwC~)k1U9b z8aQyg$Wvx!0P~PjVi*05OaRUpciDb^@Cv-?E9cHl>R{~b@Rq*&;^o0t^o>^ln0sAc zA3AkgA6t2^+Z*;%A4vcQ^*JytVAkqb77ajJ4(4t8UZjlQdvJ^%rCz& zs#nfVT-EO)0Q8|7Ym?7tJ&^-_m_RH4AGN0dRVE{p4N!xp8%O zSDzS109>BX#vlNnSyxXj0&wQ!0Z<=bZ|~|u_m1v7)f++BrznvCu&xA-(=jm)fbFi# zl+9&Dtqc!8HwT6O*qPytjSEL${f53fGIaMPy>fc&{1lXnH_pQ!>%)WJ{@qv34_&PE zY6(Qf@#(5N7fO0xU3zONXW|%Abh_Trc|fn6GP@a%%mH|m_MX|?xHl_6=@U>FeSr&! zXwyutQ@poH=!aw5jAIDlYd2^#%%0A#Dg*%HvUbMk;;6Le6;Ch6V^UuuXDYU!J>Z#F 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/2/6.png b/lib/pixi/assets/maps/osm/3/2/6.png new file mode 100644 index 0000000000000000000000000000000000000000..86945a08754b374f147f672f0ef40082aa93aeda GIT binary patch literal 3857 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/3/1.png b/lib/pixi/assets/maps/osm/3/3/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a06a10151c67c706385249d661e6ea44027c407 GIT binary patch literal 3390 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/3/2.png b/lib/pixi/assets/maps/osm/3/3/2.png new file mode 100644 index 0000000000000000000000000000000000000000..1abfef5c9b2f0774e8e3d2a8024392c7a9b53bee GIT binary patch literal 5841 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 b503pEbIMTBQg6+&00000NkvXXu0mjfqLU=A literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/3/3.png b/lib/pixi/assets/maps/osm/3/3/3.png new file mode 100644 index 0000000000000000000000000000000000000000..4899769577b0321770da27f51abb71015d1c2cc7 GIT binary patch literal 5434 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 z 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 xtagz2y~BSHu-6x`*Z2Qp{$@T>B0ZaTi7Q+ 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/3/7.png b/lib/pixi/assets/maps/osm/3/3/7.png new file mode 100644 index 0000000000000000000000000000000000000000..37dfa706fb1358243e2dde5cb12794c1319b93b2 GIT binary patch literal 1368 zcmds1X-w010R8>`oEca!sxYqjeicMq}9=DzmhIAr_AS zE~ron2%>`^gWAFhEy(36vU1Z5Mo$Zr(sGn*{DqdWZ~L??*|&XqFE4p{$$QDW84(s_ zW94K80I&%O4)_!RxJ@Cjz->cXU0l>Q+=)07MaVpnnf-D0&Cnb9(fM~13-6u3Tl{5F zNeZ(pjaB*0gNGL@e$0GaL#=*tt+uIv%PVYZDdM%3^4lxggtgB_+?TZ@^3l%WF`-x@ z8hDEu~H?LkE*5yr?k@(D#`Tp=*+x)Mm?roRB6;Qt!`4Q(M@SII<;ubxeu{E$WvJe21oREN1QCCXm%HY`%&wWAew`#oYAARkbVfR-2Cj#mg zC1oP-=Z+iY`?A&t7NnN566|&G@G({XVH=JI_qw3BYip+6&C;j1h0`6HgtN7dAUCup zocW8fWu|PrNj6+!fydJ5gAN_5(4%^ZSxQ2aoGXfZQ@-_w3`f$HH!Mth0!>9Si>?iH z*yyszgCY;a309it3Q%dDpQoQ=CVJk?9{bAwteq8`O}Dc)>v1Utoq#|$Xf;$fwGzBb zMusEMU)aE*9A3qdi&~RRh{o?ID0Q4BVn9-f59B0mxHIBOzZy@F8bP49>F`9*q5ED? zQwARriDCX|FBtE0FRweIvSweJ2%p;T$qR7^y~c5bSUM)2=SpL{_Nzdw zoG!MJ-iwt{_*$axW`dnH+{5C}E=GSA%@Q*kez#AS+l~#H_nfAGzh18-e7?cJ>I`vv ziI4&Mh8My=;{CSCUlZ%~dRESKcZ=7vT{>K2`~%+(VMEMv&Lp|1wpAaCWT6jtq^~@y zWFmc5-X~A`CSZIH)nW9h&EQ;?L4(yQqc6HHs=1i%RSnZx$U9}Qh%2Z@|8SPkKA>-` zjtogy&d5u?bf)j}LI?^u%^E@+DrUHjOw!3lBT4!wgh$ zB1RDGKB}G7X2iryQxFvpCy$T~v!PO>a`wdlv44@(T^pOA_&ZqqN&VDJl=K;L=4 zy8f!A!ll`G$nOU}e!;Ah?_>9<&CRt%Qik$UlpYk9Vhk^bZ}xlza^*c; u978f1-yUS-1@aCp`0k&}XTAW)1cQCNia`Cd5*}U!aXnrAT-G@yGywpw9~smD literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/4/1.png b/lib/pixi/assets/maps/osm/3/4/1.png new file mode 100644 index 0000000000000000000000000000000000000000..2978a5af225cdc46acde38fc505a0deb0dc164a5 GIT binary patch literal 203 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 Q`&#VtU^H2Ymkxr2qf` literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/4/5.png b/lib/pixi/assets/maps/osm/3/4/5.png new file mode 100644 index 0000000000000000000000000000000000000000..df0d904f21b2248eb01df47b4c63f9d80558bb8f GIT binary patch literal 1721 zcmb_ddpOez82j$7sK!6{KH>*CnZ{7Qx7n%t*(D03@i zE@2FzTsDjyZOqnk8Qa{75joD&|L3XaIsd%x_r1^eJ?~%N`^7mqoK}$ADhB|7g3TE# z7XSb^N)V8d+@Rnx_j4PKqLcl(Q&`jRyH?RLwhv?NVq%@*;~gKxolQt^d7OAYF~uV# z(fi30pVVaEr%!#;QvK7@0P>t_Sz1j^YE?yc!`qCSy3DGE+`1+LnUddFTin)0Y$cPrDK#`oEv<*t z^{&33R@>8CM=ha`wzV+mO}$+mLyQ)BXBVr#Yq+O(lt$;Yj_^jP%)UWx^XTMH9 zY<-^Ak$)`YyYzMgV@v+|qzeAJDkkKgc`EeM41uD}^`M3`B$ zTc~!DI>8z6gsj0Ja4U=e3sQxCMp!-uuIg6;eKJ42@hc{oi}Bu(h%egq@|>A~l4c_V zR6$Cy^yzTOQx}n=nS-*|1cm#r2I`;S4!XG22T7T`Q0#n#1D<1kX)i64l+>hkOXm=bna=`OU$DTbA~+;p z>SsY=^Oukey4xwBnDbM z1>zc?+TT`G2}Zb9mDbUGWv9|zF;Pb!rLHe<_CrWhmhd8UX^^%K5W~Nc-}TQ>f7fY= zr$rV~?+*Gy{LfJ!QIFyQYP*A_fzreyXfsY3;9#Lt_ay>}ZE_Z;06pnueBNYRzOx)ynZ%kOi>Uf_m?1#sCoMfiiIs;W`)l$u@p)vvz8 zRZYhxk&1$zbb|&DJ@`n^$lBWiQF)uNK-8r)_7q}}!y69KzqMz&?F?qWw9KuEF~jk* z{2`>eMs&2_x(!z3v&5JVT5XC{UAzD9@GJY7I-}{G^{zwA?3(JP@HMomAD?+WY@Jyt z3@HFu@Z;DUJez%zn07WMINh##z7%T_;&rF8!4!cGT=*yyAxGgkY;#IWNHf`6nz$vx zeed@#1=rN%gVpNK@3zn$8q4$fsL)AU_oySg;QsbumczBe)blJmFF<{lX=Se6vaNTV z%w#O3jxUL&YAcOb(mN_qBn6C9Lqz4lEu!ed$gq?6S@F^?Rx>_QgebrhjL5De*v&ax z;$gO2*vcAi)g^PW^YI?HXp-w+g>W&#EV^-^UY`#R*XmksKT2r}i8X5+&|UQ{l&%#c zh&=*=jRJZuN&4WW#XYuHAUni_2Oca2hcP;{DI{P5PkoC)C#!RESrqGi4{bf6Ti-7m zXdnyiWzizu)XbQlVxiRgW`8oU2fT@PH$)vk{pMONpN!y8%OT|t0Li(1heY?(sh$8E zsm#In?5p;!PWkp_JL6sb@gAi5?|q5=-rX+?IMqmC$ri49{WM6Z#&WreV$@0->foqstn ze&ziC-%R23d-tt3=Z*kw_a%BIOyp4Vy}N;pL;*-Z!hZ@2h6b6XQ}gmMe{8%Yz~+>L K)yorp_x=IPd?`r) literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/4/6.png b/lib/pixi/assets/maps/osm/3/4/6.png new file mode 100644 index 0000000000000000000000000000000000000000..2d35e7191d9a83d6a03179684d2fd7c353cd2fb0 GIT binary patch literal 4773 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/4/7.png b/lib/pixi/assets/maps/osm/3/4/7.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5f41d91caf3b0bce5b7cdf742a7bb5962c3b8e GIT binary patch literal 5210 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 literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/5/1.png b/lib/pixi/assets/maps/osm/3/5/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f607ae0a94ac5b56cfb50a8b275a4e878a391171 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lAy>hk^bZ}xlza^*c; u978f1-yUS-1@aCp`0k&}XTAW)1cQCNia`Cd5*}U!aXnrAT-G@yGywpw9~smD literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/5/2.png b/lib/pixi/assets/maps/osm/3/5/2.png new file mode 100644 index 0000000000000000000000000000000000000000..2935533b4eb4b52b5746bc0a16d08cbbe54033db GIT binary patch literal 5173 zcmZWtcRbbq_kZ2%UapZ5iWJwVkQs&WF+LD zeQmD2t`RQb{`!8ufBybD`|*4{p67Y~Ij;=#wN5ddV*mi0(!Ql(2mtJ_3j-*czs9w| z-1u+s)j-c!(@)ATL@6X(^Ld2M%NKf)uk~NQGKhL@6diLnI>szE#xg$M_Pt?vd7@)- zl2dZBYnoN`Pun-uSkH9Fw>Yfd=ZxT-tl%8?r25>Dyf2tMpR}egVfp^p=D<%aU!%TZ zatI~SrJ=d);a@w--&It-t9V`1U7AuI^Q{|~j(b={-NLSay zL_P7x*xWE-WVCI#c5JqKd>%hMPZ*f08=swS9>q;8G)<6t24*I^$C@XWM*62no#TY5 zx#pQ=!sIe>Xr^;!ZlQmwleF4Tnx7k-vn;V;}n>$-;YdgQ!_b5BN zzqj@ewkU^tls(G+?%~1S(b3`Sd-i((oW7~8p=KPAx}HYG@Kgr2CWu=Oi(8T&ol+#G zyH=(zcCs&)t-duGD{N`OHWpa3`(9ob6MN0St1f$957m9a&)~@$$4l|sDlAokn)gm? z8s1>lx|hLs6cIu|OwuU@q|^1liUapFz6(A(6z0*&Jdlnw+Hux=7Uizk=X!?fIZh__ z)7it&%`EB#Nbw3c)$1^PXpwj<61wNs#Y#kgZT;mfu~uXpJgQ5<>N+gITv+*Q;H4I1 z9RJ5I1rt*kMO2p_MHvx9f9z}Gi_-*B0!*L4!u4lLz@;b$w7-+8(^j|+9u;3}bYO!r zI2jdtPw=FS7&+v2HeWB^I{!_F0B}FN%7Dhk2W_ry9cDO+!T;$9$C+OEpb3KJz5}(m zZSUJywp~CN_#K_83`QAQN9ab+hkI>j(TyB(xaS3ugitYUm*er)Z@`E6&mrj&ecf@a2;2>&eYqkf%a}+~1nDqg= zgYqPeKN$QLK?hk>ac*!zpErJjzDO_Mm#IZpQZF6$lusG$XS52vl zt(-5k7z5=b{iw@a$7cOyAyyV}D7NJ>8t?=pqG%t{dOL4eRmcJ*f(i7Q=U@sn6aIs6$2 zuxC~=S)^=D-jHGd86o=P-x2r#wPAjs>Yn`*6p%=-69;&j%!*JpD9rydJ}V>U z@eAT_Ii%9Zd_YPKJ7GQ`zCkmhyk}^MG*~TQM88Ik%XkEPGL@zj(!&e5=ri-I83%8H zN7G+-ZVu&uR|340_)kwbfLu%QWmg~+g^(e}ZLo5soc1>0kQP=1AV>W{eL4Ty?oNH2 zCSDWB3hM$e6T#y(@XO8!AMr;~_zD2?^d>>H8bo2h{Q80Q`!qJZrl?6nQd}0OvN)o1 zpaVm(*4h%3UmO&-Tba{kl`#D_29Q@+XDGTH4Exs|8>O_QTM7ey#~99CnfgXIbmitT zI{^-ohMOOK3%y6o4C(#NNU}CP01)e47{v73M;Oc`sU840FRi)gdxwIluFH*#hw@-ucOEU$y6@a&Y6iewTtnlpK3KFCbo)8mcv4xFlAJM8`R4rjZ|D=a9q%@EQUVVL%ZVGEx$Z>LxynKn5w;Xi_ zkz<2?-vNgV{8MLy?w(I*V2J*X5}KED5VHWR*?M=yI*a79NVSsxErk>KL>UIuU)UQa{lR#McYU#U^=Y@-D! zQhGa@)14xC!Nqz0^t3}rLx{iY^!s#r{Gj!SG|`;aq5#h10>OEotNF8^KE7GRUTwt;Wt4~BOunh^9C30tnaDj(x0t85a4<4PEj` zYK=oTA#x`&m(a^5m3a#6S%3LvB&w@$IizXC0I(Oq@y~;}RHx4C7(KQu1h!)HKdDcu zP9>GyI!6oLywS#>EX?&XuSPE=ZQWakA8K=pStyQ9ojrAX1vS%_`}Xe4D%z56w6u)d zjz(336&O@nTudfjQvP=B?Nw>J>s-*M&Cyos2gkS4hNF5VhWwvmAl~fL9YXVua-M%; z*Hm{qeFfF!8aeWAQjjJ2l$ObZXN8F(*esa3RJI0-=?h=mr#kVSh%c;je}d$_jWnR0 zW7@m3nT>wHt2+)W^yyK0z5*JffBuNCp}rtTT??<`SIu*L7~(7@SVM~xv=DK zf4l+@>WleQxW_N1V$Y&vjGn-sWhd!qe+iV;O-I|;eu-z`womn);tSk1w{J^4tFLd1 zR26zx@dxC;L*gX|IZJ*|qGRBqZzH#ji=VGiHZg~inEjKiSEdd4fjA&QgR6Z%W~>WP zyU&^hT&&Y|mc2pHNh9VsBB|^O$lTt!RiWd^rk-Qo$K;#BO9%BFaJYvfhF)ivOExK( zXbXhfvXQjD@$YM^ckD0sTyX^eAFbmK(}?U+w@$s1#Nfs}W-K*VSF+ocKsXI-50~lK z&RFO?KT;A`W|P;ft#}Y|+q~$e^~ew^QmOx01U(0O)<`YudS+bR~ER6u2!K;%oC1cLuhg3PwqdAg) z-BQgjqKcCI(NV%#^6_+uPhK{g7`rhNapunZz23bOe@uCufA8{9eJpiNG6Um!6F>Hn zPUWEgFMw1}f{C3!ennhHvB!D}bCdAB+qG`_{;U4r8spwxX8!nHyP$#*JQ<@j(ad_@9ZYB9qaqrvstHAATBP{F7E#rpg?|i27iv$N4V<$#o9YD_-JXrA2 zk1&ouEdbCr_9U!iKeR6IA{$Tr>3? zNcs;H+sa13?Li?uI_NBdOCWKWKt}~8v<46KP2%)y&E3u!<^~HHA>(Z7 zNHW^=3jknPQANmAmzgX7KMU^kl!-PL~)sZC_gy%RQI{LjVg*%a{;y`V> z!ni>i?Egee|AZC!(&K$;?ysJPR%xq-E`s4xUWK}#h-doV2XJ2wUoHWw@_<~e;9e78 z`2P(=pDDSgXrKl@7Ml9lPm>FGFGNk5Dg$)Uphtl$Zt`QP?V=7dzE3KT7nFr4Pu7$Y zqe*__9<5v5?J@FiEWN88k!riZZGi0VK2b;>^sou`cHL^3wSM-fdg$Jl!4=EvwM9W7 zrSe?sr$sSaX0tk*45p_k@kHPW~lOK#S0~t zA~l?VM?q2jpvf_t`Gk2n31!TJfA?QfX_5D~^nKc|870C?hRpLOTpEukw|Y{O5ZgRY z)wYI@$lraUy8}NfPgC@9+@7ma=t+;tu|lVsUoPdOv{O44!A8`36>`QRpwRW>dhqT< zGmo6BjpSs_(AQy)A%F5vk&R94SmI`%gYC>QSCHtC{JSvH=W63x4-f1*BiMU>(~MPbkwqi#&vM8uHk@#Kb~`}gu%gDITR)Myc|s?S40 ze7)vJfIDt2u0#i1U-6&4#=45KwR5~|Z807-W;Xlr%2t}3?;qXy@V)6chnt&G3fX*nx%HzH4=TAo_nA z?m~iq&_A>ba418>Mc+oHXN$)N25z~9{JZ$0&P4(|$=B-k-8*^;svsvmuqk1zdHoNN z$ot8ehu zR}KKvzpiG~{t|deSAM&b{n5x`!1lYO-5!SyUqBQv9#!L0f8!T};R$gw# z+<2}#X2qvaY5TN2_f2TMDzLm9T(&++{1m)z!?^XUL(AUt?tJu)I28wP5WhDZk-tOa!dYhYdy@wbaMjH(eF zMng4r3B8}m0N?adp_F47y%WKceZ1NTA8cMox!W)Tglj2CJbeeg8F5|9YX=bSlzw<$ zC{vt+Gj$}wgd505LEgRwP}R~OyoJkwdV4#F3ySa2&Gc&ju4Zw`fD_cNy$|g}D_*Kj zz={F^ZqUQ=Cy#VoH@&wnY=Q(RG(gdUG$B=~3V$_U6EIha($LdXO$W9P;(~_s0JnYS z!mfz73suH--^dIObta_6vn(&;hEvFf#Pg6=zw8AD+c&uY->mC(vYarr$Lhs`U(Hc~ z`&|Nz@m>=9z~C2VI&Blmxk@)qBj4x6`0%q>U=x*Pt$=XqsR<$c?>i7^YwBwhsoRGA EA5K^RhyVZp literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/5/3.png b/lib/pixi/assets/maps/osm/3/5/3.png new file mode 100644 index 0000000000000000000000000000000000000000..72c2da7012dbf13a1359bcff2d0e2e2f672d567d GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HJ5z$e6Y)#dv~?mj;I;K`LI zPwzf|cK^lm$FH8hc=P=2+ZUhSzvQ^Uy%?yn%hSa%q+-t78w+_4F$lCi+-;&b^#IEa zuS0AWHp~wsmay3@dc4WuV*i2fz8{{?^j-(D76BqQ-fv_6RcD*V-S%8YF7dNPDsxuU zA>l7ir}3^R}$wokgZQ!&a99(osWUxhi)wgJKU&0d(Cqv VvZ literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/5/4.png b/lib/pixi/assets/maps/osm/3/5/4.png new file mode 100644 index 0000000000000000000000000000000000000000..f607ae0a94ac5b56cfb50a8b275a4e878a391171 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lAy>hk^bZ}xlza^*c; u978f1-yUS-1@aCp`0k&}XTAW)1cQCNia`Cd5*}U!aXnrAT-G@yGywpw9~smD literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/5/5.png b/lib/pixi/assets/maps/osm/3/5/5.png new file mode 100644 index 0000000000000000000000000000000000000000..c1726647c88daf4d6d9fea9b1a343fea882259a9 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HJ5z$e6Y)#dw#?>;{F@X3|O zPj5eacK^lm$1k5hef{F~n-`znzvO%WwjHSQm#2$kNX4ADcMZJ{JIEY+xLaiIT8k3V zKMbOU>u0YHU@@27t=aTw+N%Y!b7%eD=B0T{?5VB60+-FlHLV}1C$ zm+SXxuM`2=O)NMt?Ot?I!=fy2+50bFl&)kfniRHnTUJx~QOj9E3bpfN8hRxECoj6{ zx5Xh-IKldkZ6@!&QzuzZc*kjOx-MTMK3Ut*v1-o;bH3Tn7E9Ui=jm=__^0w=d19GC zNo>{kXlwp%IdkJx8~+PbO;20Ax-HmQ}GTUJVZ5-+sNz zwlsI2=O?LGpkK;;8uFf&HlIxo?tJMzG1#p3*X_?d8y3A> zwol%yUGV-hNd;+Phw#a@$FKhSy;|w|rsz347)z$oK zAC47nDOSy~|DRa1T-xqPSnt|-#@q=uuIp5axZ}*y_N_fLpC>X>rD`n!Yff><<06I-#2L_pO`@iVaU!KbLh*2~7Zu68cvF literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/5/7.png b/lib/pixi/assets/maps/osm/3/5/7.png new file mode 100644 index 0000000000000000000000000000000000000000..829d9ea7d913b7a520c5f8e796b1827d2daabf6a GIT binary patch literal 2508 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 YU`zJ6k*7&Jzgrq`2X3NQrt>K1Kk9wGy8r+H literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/6/0.png b/lib/pixi/assets/maps/osm/3/6/0.png new file mode 100644 index 0000000000000000000000000000000000000000..27546ebc1ceb819287a842a932ca89a76cd379fb GIT binary patch literal 815 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HJBz$e6Y)#dv~?>#>I@X3|O zPj5eacK^lmPw!v8dCHZ?z`%6X)5S5QV$R!HzQwl;1ln{xYNlO2_PnM@|MJP1p3CRV zUh;7#TlN3{{wp*%%>=S^FJ+~l_q_Rkn4fGb!Ea6+!o}#{J3kw&A&>sH8}R%|8mGr<96?ShXXlDraRjX?6}oEGb|zh z;$^NGjlZXhN$|H$7rQanDwFluRiDrUTkkuWGao+K%E~6~5S6e__dy_ox}L#Bu@7DP z8V|NJH8Iu2YG^zVkM{#P=uYLa=|UgYI9N9B+;*UOQ^WBd9IvmQ5-Be} zzxdz({S3C5+!um0>%N;*9uwz~Z?0`@ll^bx_UGQ`k~A*2z<2xg56os0{B|&wF^+A< z@_PP8@i4YUstbfO_7}2z`T>l#W&b=oLK<%~J+T*fT=IaOX^T$HBV&7pVip;DHrcj% z2_cmSuL`5?gzeAoVpiMeb|JB`?|uKF@AfJm0s~!i9ON5C*I)kE|Kahm??MG8(yZ^c zCro77?_JheRF?>nu8LXK%hBs(laIx%^*H>U< hQD9)?aA07nXMFg;kRk84#UoJC^mO%eS?83{1OQIMS{VQU literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/6/1.png b/lib/pixi/assets/maps/osm/3/6/1.png new file mode 100644 index 0000000000000000000000000000000000000000..8070b7c1903d92e029f5a2c0ec361dc9da79c8b1 GIT binary patch literal 984 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HI^z$e6Y)#dv~?mj+o|MA&} zPcA=xdi&Y4`!AkOLk@GYMXZ_x7H?0OMt9|fFCzp_OTY- zXNtbh1QUWvSbX8`mp{kCnXLRT=-*TpxkLT=kLGOb`Mm$7`aH}3JumvWx#|vVJC#v52kup~vdx)!1vzxan z0xMYN-K)!7aCy6P{7trte?Au19@>$!T#vQQtFcMna=w^PNavi^SgsYu0h9T!N#19j z8+L4WHdCmXTP)XwkCle+gBtquU+C>C64)j3VOHaj?F}=SHt%$2th~L_y-_E%&e-6r zEjP~*@A3zM3!E(F4McwI+hkDO@v|$B?dwvd>ab}7d#5oiw3rehu;BH^U%Mh?Zbb_0 zuu@%Ml(3lhR+!TTs?VI08SPMP4s=m1S>(2@W>4Vc8 zw)ULVV|!w2DzJvD86+pO$Mi4I^3cI`{c`)gT%n{)sR z!F)I2Gj0mz=>QsVi#2<<%>l4mjD7Ur8xDYQ3L=?ZGdKdFT;!*~CI*=1;{Y{)#U-Sa zae#%>J!KLgltz;yaEJlerDhhOO{~9m&@l#3i~e2YY`~=hh=pH}2@{e?1TUb=iDRkp zfrv6AiDZ)p=#i?gv8FHtHjUy$t_c7xf&SaSC(HgzK|kC_SHJB894Ehv0O(eDH|_3M zcsB%if~?=l+PYXE!3K!y0bcUotGs?6J1d+Xj)2X?Pz-+~>mSsFq7k^sOyp!!k(zE8 z2`&Z}!Mg!Lfhbbx9|qBAcAW_oqW|y#F2}aU*oQy)M}ikR$l7PTdA1X2T46201A`4a z_Qqr($hqQA-4=%*2=b9xIJOdZo00&a=OcCS2BpzcHkb=q8(^QqQQ~j4cO?LAEX8kk z+~{X5v3oBx2vJ-tfSF_k-W&~pWrgQD$=1J>s1o-Cm{!<4o8Gh7J1@&d&~~TI^Cz#!Qh0vunE0$>?|_5BagPq8@53vxyz=}~dgHVxq7 z0xT8+Ag3fdg#cdhLne^Bh59j50-JqNtRH-&q^MzU_3e;%yzLS0gn69j;vh&3rea4Q4~BLJBCYYHQP**3cRT0uYF z{`8$y1t$c==Bdj3hk~VFT9P3gfzA6WD^Vy8ivC8&SJaP`m!DTv5AX&Bz)}amIZs$u z2|<_uvT_V5z%_LMoUPG0bpWLGSTzo!0W_cmy&V;RaaWXbqVoLkeDJJB+NNYp5{YQ^uiXLw z-(E~-I7(TuR{OZ%t*!8JHd{Kou&4ykRtG3Z9-_vqeR){)Q1SvD0C==vk9c`7=P68~ zS1c2aLlnWg`}anqvGJVuQr@_w05Iw^i2x(h*n!&(d-5t~s8gzpZg6v7P8J{UY>-rP zL!GQNx*@l)Hq1ht?fvu}qb2_Xt&`CIZt+X!Phu=nGitvwY#XpaZr+nHCwlY&7+o7u~z0Ed5FFIzZY69S(s~-XRygS}}L;>c&^`b;aycCVEM^aC=hT zP~VO7;!FmRL?gATtW4UI0eIiO9~#jFQ=oUOSN4Qg!Sy?1>({K-OCRyHc4K_~ntNmU zGsLeEs*7gFW&%w)qPaCLA3(D}Q$B!Zy8r>eF${2^ce=iO0OvQu0DF4mxdC!hm(1>p!Cpr~Ge4^Xfs5CDw!1OkB3c1Qs*atJ5@My9AF0Dapq zz^F-}0T|K9A_8zs1LV&E5kP)Rp9moTPvlSm;OfrDHIUobbD;&`Q z&q zY-VTzAX79m0T9F@+bjS)=o$v_x1X5>2xRB=^Y4rTgtBiMApByvS%4rU7zXf713(2( z0aO4LKm||%Q~(t~1yBK002M$5Pyti`6+i{>KM~<`NG#_J-2eap07*qoM6N<$g0{zj A>;M1& literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/6/3.png b/lib/pixi/assets/maps/osm/3/6/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b873c63ccd639775aeede05c147d6fc5276dd2ab GIT binary patch literal 1045 zcmZvbTTGK@0EWM>|A`iQU}9IGj)v&Kflvk!gduIEp{V0D&~B3LXHY;kUBOKu0{uG; z1c+J~XfrE^C2nSf4qcGKIQ-z;$^c~}K}K;c0TD9@%DJJe>%}hj-aOCsn>aES@{6g2 zSUmuUDKTD}UTj#h982~M;}Pl@=34jg@JX)@^%-tPpS0`#?xn`m_clH_s?_Yv|9QE6 zacb7vd0Tw0+P~J`W^F{XBmRHQS)q4de6rj^m6QjPwgJl1N3F%_Q}j2)3?>k-O@_3e zRMJH#1FEhtCR_dFSyy|11r;^d`!_c^h#>Z?Pv0X>pvL>hvc+5GdgoxAx8-`=E}MBf zH_xUbf}46zk2VowQ}#nJGGB59n>0GS!MKrQ1`A1{T*3O>>qO5HM93#U+g@=;q60{r zZjN(m5f35t1~Tu%j*=l$$ys&)*&TKt`s$IoVc7k+Wrh0doIXP2 zu&aP{^&=i{9KJ?n9VZkZGrj!0WvKqVd@LOVb~c?ig2&S6mzl%a{qORMq3E@xhn!`}6= zON1$stEb@F7doa+jF$ioTeSSJiW=x#uVJEMpD^u1)X<}*7(j-v z*2tyeeVVszMe8?BieTU(LazsvKdU%9Dra^o&&3v2MY#R8V_JfRKF+3CLl$XIxAXs|l18xSF^; zL8+;W77(K{jyz--oCj{ip(1^(o0^524@k9O#?cG3tqLKng(DYU6;oqjfkIJZKOr)) zDd@1!&H!7=$VeFaF%!{GAn3W>?2bD#A>dQu9yY53y1G`~^a|{r4}LGMx7g zvk!Hw)%f9~_cp0W&BUJe>Yt{w$8OHsA0#CgA^e>WyPtM`?H@{RtOV>2(r%spl>JiP z;mlp_H8b;fDqkhf`uo}%ihrx?M|AtWngJFlfvgmY@t>;cxGtx5gsZz<;OZPC%9G-a IGV;rR0aDedKL7v# literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/6/4.png b/lib/pixi/assets/maps/osm/3/6/4.png new file mode 100644 index 0000000000000000000000000000000000000000..96164ff890426aa042fc6b451f7a3bc19de6c39f GIT binary patch literal 904 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HI{z$e6Y)#dx^u0Gg&?ZLJi z4|m^sbolP$llLE=dGO@QY;*VzZPo3M?Nd9SRa&yvWBy0=!d?>}Gk@bA}}d-8kAL%S3>niM!5+4G+^NjO0Fs)R(C! zKi!pw$!J|i;DI?aSW}J|JeZT%ur)=@;89ng!@9Zmc@C`Wh&(W13EPadwecMyQI}UT zzI(+}&$ZAgT1D5vICSx5gK$s&3%hdW^c~{#$HEQ9-MjCvlk#LPxcOTqD&yv*?TxnU z4{bkili|>9nIo(0#P=s_ooD)>r1t;cv{R?n#YevsH?WzxB~_IzVE=-5tm223+MRa@ z`@UK|$6Anih34t0^LH7Q*a$QKiL88h-D~=cKE^jOXI|F^7`7MKU7QiNp52{r6 zXB7TU&AH5Yp7(i1yZC0?RTC4E*It{kc4cL1t;XNy*E24^skr`yF+q=M!lRE3H7kPm z-jG>YSabQ@3CoM30=B%XMdZ|lee!C8Z?c}w{NH6M@??9nxNrLYqo3A3nmeyyWBNoT z)lVyJUdi??DpxUHS$^qacz?zB<@P7t6j=pHfhy)zx+3B37us5U8dqsn6jejkDj;7PN%J_ zEj-COf%oUm1={t;OpnVjWS$X;H4O?pFIu`}zUPkTJMLB;+;#iAbsWRaPo;0(yu8#r zx%=J3+r8JE_dTAuOL*;*8Nvsv_RgzhHu@Cu*Lz=q_zLm#VDHWcJc=7LL~lqNsQ1od zy2HET!2GT1+fN-eWRNqz&%ENR;p>lGR*OE~t>Ihme(t^D-<*c3uVyVA6%2O`va-~c zY-@{`eD=33q&JKE&(2>4Hv2UvtX*_VKk9oMiw+wD*VJzp1Q&13E7j*^|1g^=Xv+SO z#mnS6eg)i^&Nn3bF#4vQB^6fISAD89n< zg6W4J(|unL^Mvcx^?D`US6P27zm(d?&!%u&n0dw2gqw2;=F9xF?VGic@zZVA((S9m ze=%-;C~tX-VfI`7b4`zRDwY3OMnk;c;&}%VY`lh`}aP^gd6Q`r*<;DN&V^Da;}iU&-&+dtilZne-@Y3%dY!!udO_-&X}zzh*aC ztn2WR@t+#gxkHl~wn(LKeK3D^5*v>sFfY&<9N5YHk6D$A+w91_>L!rgp00i_>zopr E0QmKjYXATM literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/6/6.png b/lib/pixi/assets/maps/osm/3/6/6.png new file mode 100644 index 0000000000000000000000000000000000000000..be25aadd4de0340bc2092936850cfdf3b28d58f6 GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HJ8z$e6Y)#dx^t~}U$?ZLJi z5BJ=9c=X=mGY_9!dHnSDvuF2TJpc6mAcNJFohF_NQ0!n%Vn97vG+y8^5J%TG`oT!+kD?Usg>z`eVlp zeuZcJFW-i*_1Yu({`6yZshg?0wmo|28fJ1w>}Lso!nZx^H>Msuy}a+s68DemcszK| zUbxe-adNq|)lt6OFvjeg;m?onkUf;)KjY}~Pm(@M_kEpx>Go%(_*G2%?DpMgdc`PG z`d3XNW6AH$-%l53roLBaD15!f&c1H$eu47ru=Gi5r0V!T1eP8PyZ-t0<;B0QmPznC w@8|xp$IAMq<9Ye-(;IFv0RwV?z>o3+#v5NvNP8~1Y&XaWp00i_>zopr06JQ{DgXcg literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/6/7.png b/lib/pixi/assets/maps/osm/3/6/7.png new file mode 100644 index 0000000000000000000000000000000000000000..48d5bb2e53dfd5ac0e04246b349b22bbd3898789 GIT binary patch literal 1614 zcmV-U2C?~xP)h~~11D3#hv6D80#7e|O(dICR!B@ zpYQ?_5CJPdhP~&$a>Y4dXYRv_H$R9!etiRihrU}t6hlywjgxZQ^Xl?*+p?Or2FS1o z(77MUVzD{+?7IdGf-DwW!*?uz%FF3np9KKzR{9Pt7nlK_1+-ey761V^pur6|;0D0k zQ=jqzpaUTH!{lv zSorwpWw{QI^u~Cx0b=mdg+#O0h7A~o_{!ouE1(~An(L&1z3lX90gt%>AvZv$f+hv% zjHl89G%^7#0JbxWLt?;DpG}FN2E;OT<@_vaKz~?$g%!}Pcvo2gu;`svWdeEtEKk;W z0r67E3lPnHUVwTG%Lza=AIb>;6uHn1K+#5bl73QR1_Zo$K(N+^koAz&0YE*HO`pD4 zdHP%G^yvXvlWfjBK;0=I1_=2hD(BRXkVpZqMG35)SKkJt zfNDK%HYOWvfSpQoaIvCplTrc}y;8I%Q($TjbldXi?*yL5bqREriID+7-6tgnh&nGI zTGL&=NYU(!Ux2! z_$Cu<@d1YO-0=Y>g#Zb_aG5kdKxYOUCBSrgGdjR@f_DKx2k1;~$N=;G2#^5{Za}~dm}3TXbr*P10W5Zs!v&n2 zKzz|P;N+6ebB+OG_QZplvgqJ=y6|ykh?YvjnhYN69&hQJj$>G!*kOo zH8%u71;EZP#+d*YV6in6Ho$n3Hf%u14H!PLDQiwA!v+ld$J3haLu|mXP1MxfIT0O@ z=E7-iK$#1WwhBxAh5xsM{@aO#YhRsOKA;2AX5kpX`W;ASO0#~e|Npx?-}z1e>1}X% z@KM~0lJr+%WBby7?oD(++Cjc~%CE(Gl@{={MjTbdxJ3$>8)ku1LsFpxq|MSu5oePU zkWL}_L>1`)9bnskH#|D9|DGb&v9=p>`eN$#(}x!2JIZ)pPSF51`+xV~$degS#qOV? za~~OyOu*4VQAy_Wds^SX?is-V@M_Q3JTl3{>&kc}@AV}|>%b^xec){jd9 z(9C~yfa?Zvoh00p1`6o3Ly017|>C;$bZ02F`%Pyh-*0Z@g10jfy&ZuvpG=l}o! M07*qoM6N<$f|zE=y#N3J literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/0.png b/lib/pixi/assets/maps/osm/3/7/0.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/1.png b/lib/pixi/assets/maps/osm/3/7/1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/2.png b/lib/pixi/assets/maps/osm/3/7/2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/3.png b/lib/pixi/assets/maps/osm/3/7/3.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/4.png b/lib/pixi/assets/maps/osm/3/7/4.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/5.png b/lib/pixi/assets/maps/osm/3/7/5.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/6.png b/lib/pixi/assets/maps/osm/3/7/6.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/osm/3/7/7.png b/lib/pixi/assets/maps/osm/3/7/7.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5736574d69f82172698b0224f7253af14a17c4 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBd>HSMVF8$d+uDqv< tV@O8h+k=d}K;EGR-~Ds>%ohNeV6cx@5vYGw!o#Z|uBWS?%Q~loCIB~p7rOue literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/pixabay/europe-license.txt b/lib/pixi/assets/maps/pixabay/europe-license.txt new file mode 100644 index 0000000..5470570 --- /dev/null +++ b/lib/pixi/assets/maps/pixabay/europe-license.txt @@ -0,0 +1,20 @@ +author: Hans Braxmeier (https://pixabay.com/de/users/hans-2/) +url: https://pixabay.com/de/illustrations/karte-mitteleuropa-zentraleuropa-1804891/ +license: +Vereinfachte Pixabay Lizenz: + +Unsere Lizenz gibt Nutzern umfassende Freiheiten und Sicherheit - und gleichzeitig schützt sie die Bildautoren und unsere Community vor Mißbrauch. Die rechtliche Seite halten wir dabei so einfach wie möglich und fassen alle wichtigen Punkte hier zusammen. + +Was ist erlaubt? +- Du darfst alle Pixabay Inhalte kostenlos nutzen, für kommerzielle und nicht-kommerzielle Anwendungen, gedruckt und digital. Beachte dabei die Einschränkungen unter "Was ist nicht erlaubt". +- Du musst weder vom Bildautor noch von Pixabay eine Genehmigung einholen und auch eine Quellenangabe ist nicht erforderlich, wobei wir uns über eine freiwillige Nennung freuen. +- Du darfst Pixabay Inhalte verändern. + + +Was ist nicht erlaubt? + +Dieser Abschnitt betrifft ausschließlich Bildnutzer und nicht die jeweiligen Bildautoren. +- Verbreite oder verkaufe die Werke nicht auf anderen Bilder-, Wallpaper- bzw. Vertriebsseiten. +- Verkaufe keine unveränderten Kopien von Bildern, z.B. auf einer Stockfoto-Seite, als Poster oder als Ausdruck auf einem physischen Produkt. +- Erkennbare Personen dürfen nicht in einer anstößigen Weise dargestellt werden. +- Suggeriere nicht, dass Bildautor oder erkennbare Personen bzw. Marken auf den Bildern Dein Produkt empfehlen oder befürworten. \ No newline at end of file diff --git a/lib/pixi/assets/maps/pixabay/europe.jpg b/lib/pixi/assets/maps/pixabay/europe.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7827726340c1b67db22adb3b5a9caf77ada07f94 GIT binary patch literal 747084 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

bHaN-%==VVyl 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 z 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⩔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


%B0>= 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[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 `b&>T&wvi}SVO35? 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�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

  1. _6Y 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 jePC|M-y`h|S0O#dOIw#lc(Kx*H8+ShJHmAR zH&;+CT-JIRj5PlMyUcQ!;+*~!CLQb%RG7nna&k2(;Ro!?b-hqiT)M_Ntu*sTZIYS^ z=arJYR7k|foy1{QGuUA84+QIyeJ&Aa!Mrn5E|Bws?@ar-Z4ob4PA3UxQ3RF8B$t@GUI9$RUGavSb^N}=n8O> zq_sf+X{9XubC$`;{-A0br|E38Hd=0$wAH;m6bRo>Py981Ag1E30Q9LOH?hg@!8(#@u#ch8Q^k)qQ;> zJ3|XO2@g9l&T+x#RoW}+L)5p{j$qW%MQ)R5Q;6qS<_(tqVq@|S0pJ1Hw=_|tUdNc_ z_XF;TeRec~D$bEh0~H|10Q?~P{{XI|I*#{KX|+jNPj735OpYn(X(OM@X{Kigs2>Ms ztgcV61nJ}#YD$=;FCw4-uqWG%WPNR2dF#uJT{CE@K^K|lG}5yL6*R1}qp2MK01iV; z#{rABx2k?Ft{vmUr(AGEJdydU$+?dax$v7E9-Ci<{Ic`b7?pBS^eLDRc(eynd zTUu(WsD$q%(X(M?l4p_dSPlttKmaZW01N>mSulz$ z(;4OZiiCw#q}z`(9P&Tk$F`{V`_|h1+ekpbk@JlR1McfOqmD@=`KPT_w)8+jdQnMH zwWM4esRVKX!&7F86}w4{WVq8DE{_RKBqz^$vlN>#f)puJxOeCJ z4}E7{RY3g-T~B=JdzIR0q1$euw#gz)vZT{S3<}Z^>G%f2ziJ*xE0xx#f4$RN>C80C zxSqv(54N&audKUur7KfH*tDz7EW-?{W`ZOu(+K{G8;@m?6sbowpP4x%PlcT$Q(No$Me;SqAPq#zF~z1dpm{5_V23wiuGR9 z;yQ`qF`>rU1{=0}e0S$k)iPPGF&L`pVVPKAk*VbH*v^2DdDW&JEI!~rz zSgu#QbQ3Z(f)=Sj`xm=y&Ts~(HxJrl!sc z{)zCqvC>-Zis|}>ja5~pppBRy&H!RE2A$D=!&XQd8%>hmMue8zPfn2xpL{6QEvDnR zT5YdmO|U^H&IidU)7@6r#ENlbxYDGETpEZrY~UO?&Q-bX@(!dLx`t_jEyxK6r^_r9 z7VV7Vja2WwR!nacL`I}zjZx})f<%zAxg7la=;}5vs3hTHT=6<|-3=I5?yBjS<(Xu9 zX-Gy5AoECkf7(ZHoc*usla=f72}-YQU8&MhIf~ zIpmF5?Vcr9f+*_d^Wr>hlaiz5Te$xKElx>yG}CVt3pF)H2J~Q7M8{+8oO=<*v?xB} z&)jeXbUfi_)pfnsyu$@%_U^iZy6p6p@n25#awDX5l(InS9vE&L)NUCB9Cl!Hts1KL zA5>T*t7)pDmf0WFG*C)0DQ&96p$E~761d>tsaMqF9bx~9t1 zK_6q%alZcm=>taYrJYAH#~)?0t=hv)(^XgFSeEE0q7%tHbNXJtqJ#J$d{(t(z*wxou29`uQwZ#eS)-=o*SkH9yu+M;vc7HwBc&B~^XiLc1TvfC1&U z6_5a%KxDs?q!rhlyj{K7`tI!qQds1U6zYXadYOSM2k$C(#3E%N7-qvdZa6!HcsW(w z>W>_{Uas?Sqo$YX<+WBnm03$t14SS|g@#Bf>ewp7o-x~AaqDjme{uDdMWW$qfYM#$ zC}WXIism6gF=OdjMhb`j01_x*5rG+Ybpt8~JAcpiJAvux+%@z?ElmB|bKmoyVpe`v z1dN>&qaMSJErsOcop2-q2ldzKZl&{@B1GgCz`)mSKKfG)@1a!4I&DQHM2c1=lw^K- zRMWWbG^9sw7}DUA?Wh-JM^Zv42<|kn01!vElwHSxp;&=9)C;9VnMQDADnG-cM-duP zV;?6@X~5h80D^T%cSTt#x`GJ@PO0ECHgGUB6;b(eV{QgC;?}_@%M*-p2B1z9NlHUN zR-hJ8N3h1N)@!VE@dy}a8~{fv^QLcaQ3utufmhfA$dUh3~v zSd|cxj5dM5I;Y+$Su)D!k=xr&zO!rq?#CZGuiPt|cOl6nah*bq9}K`rqDo~YRKc>c zu*V|@O=MzQN=QK@j@m$w29Ic00SPuZ_s)o4*bNKz9O*q;6@hazHyy^i1LIw;)Rd8y zL5y+70~$I^!;Ii*5HX?CLSg|kWIX^mWDmqi;n5e+fUa6Pg zKW#J)M{}KXFgjqsmXRp(PVye)X*18hyE)K)Eb3rJ%1CwE02mw*p*l&|ci?GM^mZC5 zpuo|)4Mdd_l&E5GN#{r2an6!l=-ixRP$5KwqBce}x_0Dg6<>`yiG4~joNBiy6y}lK zkeiMP0~)l@NmQx_n%MZxp>6RgIe3TXsp@0593C_^SSqI}ST-C92?tX&O$2QjxBl%hxg%V}g_ zTaMa_YJ$XLPpO~M0X*nevJ-_dK|hk}bB=Xnr>sdvBj-Kys--UC{`mRSoh*_9QBddP z=qk((Ry3)}DwR$N1f5qpyQR8ot*AbOsHmDisU&g99HuE1902LKcSgX<5LDn~91Kd+ z(p1jL9C+O10mr#KYa*=uqq;F}wN^V_qIv2Pccp^iQ6PFVD$ZgpCzO1}jA5TD2_OJ6 zPOWJ-h z7TVjzS5MTXuQ9ZhNK?rzBe7{=l|0tl9|QmnLB_kl8p>|1>8_*dW~T{LUwo2Aj7hjb z1dzilap6wIIc6sVc6ee)s}Q`1BRzNZ0!Jlq(xTLENki$(0On5D$g}D zB8CL8#(C6yt;c;@YblhWKo4zKE2+{VSpgXDuR^0xI|x!CN67d(O-dFe`wnrOXYHcQ z$8pE>(q4J|EQ^7_I?xRyD5a6qG4|8A?nw&mCD;$XkPS%j1#TF8d+80UDujs~p4^Q? zNOl~OdtZI?LaYF@@SuDylA)oyT^v)#BjL{=9BJ*o(jWp_uSz#^N4BMw?L}-QE!4{7 zj$Ma-J~d0KwVv%El>TWc`X19kPAYCS^0b>WK_Ryvf%esUrq@9ukxdZ;`f5^NtGUhR z)JR>JlZ^HU<45w$c#j#5~o?8rH z9tqXPxHo=b`*RgXt(Fr;@IM zNNQwAT%R!EipRYe20OgAWzIHk&PfAUTu<8zD;sy#rgawb1WfWCXOf#K>OS#-*P@f@ ze-6^xsWo;Masvfn>LXTa=`CF|YOB56NQ#<<7M@le$Wi!5$tM60a&_h}4!nH4bWK&= zFLrq^HoBD;ZR>FI=B3LR_M$#e25dImf==vb8b64Cw5oN2#csFs)1{mho#3gT63;3S zP)bx`P&YeMlYn;&U~v~d)>E%;YqZnSZw#-^H?>FJtin5(Y& zW8N}EfDw>R6`4+Prd|^GnMXw}ec!8Xao1Br15G3`N9BinoskB~!F+oIgrw4Pl(9XfKQn0e155tnkoNY7z_Jt{Tj4y1UM+r{M|;RKgSnfT|t zLL>g*C{Xd})FJyv<`$1n`&RYsMVela>5h?+t~YAeCE2H|s*}xQh+IVx{XD_5361hMNLfHrz*5AM#nd+;oO-s}_y6OsA zx#^~Dl@LubE6Fj)=V6c%*<*w(0bX%#@2zYeY1n|r&Rr5`w?U6Jsby_>#3{C|?75r7 z=@IBR=$GhTgz0{lt*Ys-+!TvT^%S?OB}F`9Qw(K6XeMF?b0jmaNXrc4Bpo~b>(jk4 z;tgWkEh67=xzSu9fziN<=b55-Rf8~%nM2F4A5jYH@BnqsUG(QoUZ`TfTIeTwTE(WE zRMEHa0ZAc>Xq`YK3K%k=J50om4zoV8>3d&U^zYWxNnIVX80C(hmS^(nM2HoYJk%SE zQY&t3;f@F(9G!91c#G@QFR0@L5Odpqp^jyGj|%pBjTSYoY-~n3^z!?4S9?E;ODwdO z+p0r7?W!UZH0V^*BDq-1jet((lOa)g@BSmH0pq_T3`rI!aBNf8q1Tj@sQcA5}ujR@dN96-J9Ek|yC_o^c!A~tl zqVUtHYpoGWP}9v>h?X|<#BUsiKnW#C$MC=;=O;MqG$~+`9PfsIJd7@$mk6|b4MXme z%eeaXTgQmMw5$~pQgl^{zJhwCBv;q@Ody7M%Swy1Za!OW*jyZ`!5JJD-8uV1*y?I7 zloeM=?c#W%rjco21XD=~08V2#GcaAjwjJ9_60Nt4u8YFisydRs@mPq5&W#hwW>qS` z&Bx&foR4sM_tv-5y#dmHxawmTYjaIix=5ZlJk68IkkVy`_`94AH7YKo(gU_QKD+JH zmy&ziYdRFP(HR>b_LJ(anzMB5Qd@6bN|V&rv_hInt-EAI$tb60)DjLbMsQEQs8RKG zKTOb7(^OVdP4$wrB1ESW!AG^fhM8VS-I2Sv+%d@3rGMxvCsGNo@LA)gxLh5cqyof4 zP!1$UT#=M;!;E$w+N0cj7NTXMf`*hpw8c!X674c=Y>(GMmKHd*-bkBUi+8Yij-Gz1 zlSfTg*Fv6#2_U$~ZkdpWc_LO;=WLOmgSP||*kotDiF_BhQeEn<33j>56qIj>C6ha( zRl+x<46xh5J*L%KbV zPEHP0vyw+X`ktZ$1x3de&_HMH=)CJ}>Hh!`;)1S((bClm>m-$*QV2AWDuo}+2?GNI zxMn`Xn68wE#Ey~bPv5ncSmw6K@;sAG3Pn{=80C*sKD*UNXX+-l62L#rtML!!gQgO z#;qTiPLP_xG)u2q#Yl^)p#p4y<@{2B2BrY*;) z@6j~I*s(+9(MRUYV=?S!JYeGrbDVH~+GB36UWr=jI_rYZUsC&81duZ;F#sk`-I5X7XO+m)HJqab>lkIWrKSvset=6af0?yx}dK}e;i z8zv1R;Q5`lv0|ec?saZ)4FGDLjVF|h!XUse;US6n$ob%VY6KSUf_{+gC7Dsz3W+b> z3s-TsTAFI=sLe$!J2`}!kHDW06(^o=+KoXHL%z6&J%kL<>sKKw9!(FU9@^3r&&LY=nmuD<$nFoKd!8? z%W2yk0HKNENq(gS(lOgNBOsH*<_7Xc9Wf>XvyQ-R|xz(p)%4f%CfbopZIax>7g>3mOiX1s4Q?7w*v!` zHAV3H@p8Jw4S)R^nE)PeD#Q*lN5_19wV>H9&27BRC48wZY-+N-NJS3xW;HI+kMOLc zYbfkWG2nx#QeeqIEXaPq?U`zRgrMuJ9&?lUwZYI z#EV_Vf`;)!Gc6?0IR0ZFKo>r3D%2#rU}UL#pHx%z0!>XE@>9|&@`*ygmMw-{ zj^i93&p{tjT5VIyZokV(B?*aSNn`<5A_>B6?Sa7uzH&~pZoj8)nWta)S(rclNh#KH zTtH7O0Xg7;0pr|ik8rTx`iH0PRW;XogCrDhG!;slq+OYI8wU~`4^O`s(4o>WwP|qb zbpv%e8g}Zno}%l!Ek9JxHR`3Vlod3s1eDH6zG zQU2|}+@X%mLesAL*^wrA;vy#Hr!>hEv%2AOU4}T;E#c)gR1!f!Q+$lptPxkzw1L(o z4ht-#WP>3jjJZ2|C>$Mbo(}XaS4l)~T~fBHn}d0=!CWB=C`liDm?tGeHZzQF$2u=l zTTj6Tat!%Mf$_?w?u9#3<8uNduXD*E*A<;fZRr@QYcAB*^G7NQSwS*MHCly^NjKmZ zL6ep$H*?!K*N{5Hs#?DF^;DB9tu(}|`CE68`BGHp{LdZz_2@s^o2YM1L?M<1f}Y(p zs~AE=o>PSzojsS_6aFH3&mK>ylA>uES#n+Qa^CsvuKxhpt6}Hcv z<9Yic-D+yCHImm=m3eC!=a8y}8<~$_I}eYxy_fqt^{gFN;hnyUV;pt;K8b3mg-@$u zAo67+*gAfhR_DIFzgc?d>f0rb&t~XDZh8owTZPJL7HZ3#VO3n0UL%Ln#7FFQ;}|=Z z@Ylo&zYY4{KBF}9&qY#(p5aLe8=jb)`U@OxMhaIvaKnt9dKV44XA8R!{Y)SNM&E&R z^lP?_O%pv=x-qWrk*arx{wZ|diE`Y}O2c!Kj@Hn`^>sA9OmaygmI}EgvNoK82evbv zS|T+rT0(*_T!mfPC3C?%a8JiL`PY9+vnwz@nUHy{P(jE?W#s85gy$sb(F1;ToTCl) zI=nhC6Q-;-oEcH&bMifnD9a1Lf;5Z%5p(c}(lJSn( zxXn9Eg%Umw9O^DxKKhlYVZb1j#zDr2r&J6%M@p^JR>4Orik3T0pSwdWOFSK$LDY5= zBu1hMCy|t~{xgPSmM0m&-~+S|U;yX7tF+bibmQsD6$;oRMpIy{!1nLVD4Z$T0~9OH z2-JL(?;j|qZ`<2Xp^;>aFgjTRwp9D+gS4cS>FVgj(Ze_eT#V;TF83aw@cz1^sye%_ zDDE96Ra*@(rE6G@qJYmMDiI|qP6u!o?f2nNZ7+E zS63Lyx}2+XkVwzCBjjs4iCey{KNg4X85tl?e#${To(nDN(6{>?Y&Fz%3Jf#Rx15q^ z7{Oo6WFAMj(>gwmxK5&KnbIY0b`W;~_xtK2!e0nt@WSD8t)lBn>zx&RK@y4K@}pTY z3rxT<4CiP8fEXNetuJ}>kq{Oa)IBM5g<7adGBG7oD`a!?stwBDEwZ3fP5AbPKc2lQ zQydc`C`B0r=i^>|>iFkdyvAt^gt@~L?XK5_UcTm9?n;m#s6n`Q$Hp_R4eg}JJP>xCW(MkBxOP|m5(R0T-cuEkHpwJxqXgxzx0XjA@#=BkL zU8YGL2O0U&zJj>`hCTi?l4(FV&U@-5M5WRK{+_C3MF7oA!DhLMz9G}ZXr+oTO zoP{~gqEku{fCf+X(^(BeNJ_=Var$Z4QSYKKE6#a3jHrwwQ?!}Hk@oG4NJOeeKq^S! z9Y={UGn^ecie021@pl?xk|k_rY^aEa$KuEO>KasF`y>Pr+#OH5H1wh1Rw zVdR`9=Q%1cKV5NRxEph#@Z5GfIB*8iH8@jB!s{}cd61BQ0nP|xqSMvMY^)2&ImQl) zmFye(X)2xW-gfd>a5JO;CJIq1#zKFX?whig!L?{2=lMt^WW)CDEa& zma3&1ik5m^h~&jkk^sSELUEL346X*@mKnnlu2#JlS=0tO=lN3xRdSxHXrvDl;QM{_ z>FZ~5rGP(uEd>yStmZw+8)*b%I+dE+Pb?`=kr;_mN;01R0B@aK`mEKmXetHeXHAKfK(j0sPrReJ&2tmj^X)$f8mR~P#ILOkp zv=vdzRKjwnogU*%wi9JaLpcK%>PXnFk7$0`-2isFMw3OEiXP-qZvYq?Nk`BSOM$iBlUNi5@ z9({#2F0r@KiRl)W83V2ZvgdE*scIgerHb0mPON5>jIeG3`;2I6_O)6=^pKLvw#Mx9ZyYADv}pcr+&_TwR3yK6p=Ksx(C>D#E^OR1a|#3O}kuUx?Lcc&$*gF z`&ap!J-<_}3mtm(5rClRR%WnP(Oc-G4Vc+L-@EZ2eLGu2CCVsfU;qll1D!Dc0ElCp z-kv##SS#Y7!H~ED2t#rFqdssaAIw=vZJ_Ex&sX)ciDq)9Mp6kp<5`q0s$J0W#>PjU zNR?}upy^c46*`LDY4HlOlG63n9YbH!P}->N)L2thRW(U)@-r!1gh-HkV6kF0gQ<#J zC4-^SD`mS@TzY~^R))5$&4?wD;*K^{KsZJ6lrKE(1&a^}x!xSQ8wbPNltq&u+}dG_Ez28My37013c${q=h+O*LRzgrb!-2ayTr+oa!2Dm3>jyz#MW8uVZOa!$c;OHeRH!wzQv8S>kY1BXiE1$>vnZ)3L_$oP25ZJpiq88WwQf zfE;$xa#Q&S%g5p49~xnxJduKy>9!et^lapFqp%=$&XUUp=Tl6M8`$VUIw-*%`S{U? zU^J3SA;)c8dPeOX5L%gMG3?|3--wT$Qx{63NT8~*T=&q|GzG&n6yU*?tQmS^sw$l( zwbQL-T@6hWRG3ywMKJy%7~9b5#49q9>MAmI16Scio-VV4s;@Wdy4!UDfHMBHmYZKgblX$S)4exMK_v>*M@Jkb{HkFwUo^!VF-VJq zKuQ2eP&*82W*(_X@{){tw~`coFQ3ovs(L$MWwLZ^vuLV(Hr{~KO`s0K6K3sB z#MvJjp!GjQ^iNZGr&T4&JB{k&Q)Z4O>BNo24Q!Chx>+h@+QZ5LX~V{i8#_g`?pA$F z+iNaVcFV0zwxM92p5IYX9PX%AHjN8{-e;p8oE_YA?WKG;>u3|h%MVi0)g^UxRY9j| zk@n4XiRvMU7XT9$9;lszI4VEI$C7{4{v%q#(YCh3-g*7q26pIs^qA^5y`N>P?t!}! z&?XMVh}{MD3-?=iLp{Jz(baVw+otBFGfV_tLrStlThu^6Vyihs z!8-8GVxJ8TeswsSWH*WdP$CH+P#enZykw~P$M@%0 zrFA7$9mK2cC7&w59jr6k^#1@&O4PRLg{O6ue8<_;4jW3|ua@d-jU07w)@~k&8mm5u zQ)$lww>*A><5y>{PQZeA3=V$8YAdKZ8>YI}dfTs<^sNT#ErmXdwc z<>hrNDTIR@#aR)RWCe0ta6Z}|%<(#07WB6In0*IGbg(@C0P!M!`9$YrRoyn<&<~{O zf1G*GqIuIa^;GuiNbBpxRaA7*Ekx^#ODI9P_yAzGPXG>k4OS~&@6w$@B)3v1B1ROf z)e%J<%8pqYXQmAyRZ5s@v~zjw%4``H&XPimX_N~6}DM#?gj=3u+1zN3K3MWEkzZ4DIz1MrQ>u2Wltk2efb$Zj-JDbH-+3)E@-Pp zpe=CyvL-e#&am&h@luc#cBu+UUPQ7B^^ zZ5w)lV2l+07Aim_@v7%mEksW3h7t~Tk%OH4e_b*?JJq$HBrk#}y2aQ`O$9 z7Fpz{bx`mLB1Mul4itdEvk3nH7;UYn8?T2|P+6`PdAi#1Q3ZO;m2rA}xWtRMZ7Gv{ zwCXv)^Bm-ZkVa0G=L_JLrImPn)auD;Y?gzZk%=6~UsNmW+}2@jX6?>*`=zDodkq$8 zg>3_fe}gkUN&;LCK?LM{;OS~x!C?y0Abx*`wX={I;~zX7S~_#2x+ZEsm0crfQ1t5y z&-=a~F{4rGR(-peWCMbG^WRmwzl9d667A7f>f1XgmPMu~&Y><&Lir8&S0s`nWc**2 zvfEbC?lj3D^&=lCBj9}%PPeQY9>NN++B%U^o<@dWP(I&pZ||v?FY`?-QF)At>yiog z002+Mb&tnx@fwDrt)rs1-Q)alB`m*8>K8doNX#9vw+)pY_#O0HS6v3wx24&8w^Q|wiJ4pmdB)SK9ERyoG-+eQX$?%eK+|gr+rb7*8;ZB-}9%tU}>FC zP)fw%$&A4KIc|h z?-cR>010DLAbs19wyK?Re5S6ask2kVEY)?ClSc$_#?nfqhTZra1q{HJVgSL`t&<(E z!_)4&2g~~3(Pr1EB4;Y;OM0%ERUt_N0(tf)+~oJvq!$X@<;&+d)qkYwE9mIp7dcW% zV1YiNhv9b!Hx(YhkZ?Zwby3vOiCyDV0D|0m5B78&S}^j)iC0pq4Akc*l~-w?m6hZ< zT%Wd+{qXZCWqvpst<+b^T{o2pEX4DJ!2I-!^+m3c=B8?uX=vG1qX6S`41<&0W8;j1 zJA7*uVQss6N>Oyz~eg6Q@QC$lfwJ-1Vsv>)g z#;w$aQy5$%V*n3OL|mTxv&rK`TQl_ZUg*vv&yn~_dbQ13fO1-=OmyZmIrtf7ypVyKVmrOQ>IfBJIn+FSn6 z{5QZXdG-_5{;9O}4Jf6%RV^(^%0*fZ4&m58$ou!#FLLMBnI3(YOK8e;2!q^rRxY@+ z3#4?{L=#ONEU6c?i?OL2lX1D z+B&DHZx_0&1rJfhYo@l;Jsj@T>r}NhDpZgL;8rCBWUB`yxZAgzFHqSktf>&{j<)K$ z$RuS3rr7aNz>pjUi^+{yg0h8HedV@{jhyHTwhXo*wVnj#Ad{a+`K|k2Ay(oA0AzRm z*M$HlusS$iIT}y^2OMYulg__LC3$qBZDYXE)D$FR2Rc$TadNNz_Y}OOj~g zBN_9E}3RPd?gku%BV7+*Aog0O@*Y+D8hi zPd&6)qb5M4etMImr7Ge@9lkYLDg>feQW67g!wn%%43Uw*8k>?IG;SH=K}$+!s1c$Q zw;T_1s`V(!Zl-BSR?gnTJ%*20MDqV)oM>x;=X_Etzq-w?H(fRUyRXV;-2mQa6ojsP8?2A1n z6lVtmMe7Y2P8_Ln5%@vUFWWz+p4{nDj3PNBC-<9Sy5X=y1;N&~4JXBvU1 zHVP%-GY}HHv!Xf`)8L$8Mv;{PCrCOd| z1Zl%iNrgBgI^zLf(@`!Qlyw8LOUf^P@CF+d-dV zbgFG0`hk@hDH4QxXwjiOkur#KSlyQHgH6ArJxr%LpV>#1CTEmr!9wcvgvjFj$1a@$5SGn{9gc!#8H$#kM+JwZS3 zJ7quor7P0A2`ZXsvj)`+2z4^ZIQ~Y@Y#&5^)E8ME#cJsUcNEpqn){EG_XqUpN2-mS1Vao^1^5@wPP>Pk=M2vI%#@nmE({;yB_v9+t+lc)3~aRH@aiah57Nd1C3>FdB+c3VBG_2@G+ukJh*bomhHY>Y3M_ zQCH9%U(-jYI%wBPaHF|&%_CCEk(j29%hRu#fPzgkh*8T7A&i`0S$|Y$!l5&J!1!a;7Ifvt$tHaSxpsf6!FhbQy7*RqHxI~9?Yb7 z8iuW;-U%K1V_D~iokbr(d0i0QTNhb0m&LW#EjC)Rp5-&fu40UT`?wqA!6yq5+DkEA zYSBF6K+Pq!2tY&!3U6dAZzG9XZ@kJ<5UGoF88^Q&BsIcT$SCO zYd4y8+FE<6ZFR1qGJr?StUw@XDJ(THovbo`+Pj!zR#NB~eqP#MNNs^nls#VA&bn{b zxu5`q(5aNYF;hO!tQSAxIMj%=t)b&SWK*~E0K5b7s{~ZjNU!BWNcU`VG-#-4yx*ph zNKHdV()>vV?&(1iedYFbd< zQH2x?j1qn|1>yHv(RG~NMI0B3YOkTMPb!rHq?DBJ7}%`6$;dfwL1Ng);TBmVWNzGR zK852isfyJ0J1Imc_n@bQt}s}SRy7xKi2~sO9|Kd(3!I(0L8yc0a)Y0p6v~ifrXg0T z;gUxR7aaTQ!%qPT<*7I$pT3VzZ}OOsr=34PNpGc|;c%#inwFL}mT9JNk;IBJS(xwu z0GypFwZcFod_X~C2NQ=;#vXmC;VD$#H z;27j{8C}v66J%r+8;*AzkuBnni8K}cD^t@Q1oK`i`ihb1Bdnn28aU)YS((rO0C2+2 zQ9wN7JALrTyfNxlw#Q9%ibl4i$>q?pyJlt{t}%i@4oNrz1P_gQ$F+Q7l}9$wm7$;W z(sD;Yd45WZs?=c~6Ez>A*6%%6*A_c94@yyVpGtT|Xse9RC2jWg6cbdmrdDvv{PAXQkr<=t)Ni# zlSHV%&$(A}G>@?igr4Lk(g_}WdB-?4l|KWAQI``Wml9xgTJ$&<5aR9?E`7$gVq@SM zAbP^__gnNGL^QUVE{o}Fl|{OyWMAG75qWNv-bsDK90l@*5m9HQ^PAJdW}-Ps8%yl;Ww^T zJi_Qm^(pe>8QMTDbCKGY;$MaFQdB|WR4HDxbhUJq^-JXgBEuxItw05^9#n~oZR~Qq zp4#-JwqBg+^qS?=7hg4}++JF@9PS{#2PBp%GxLBu4MtaWcSF^+B!-qttgTZTQ$rfF z?r?Vis5r>?Cm0^%onc#X+nRSiJx5ILJ9OS0gIgrrs{iTT@R!W|nGf{WDReKH7wKb1LC@DtB$|fWR(z z(tR6s>F$|=ioruqTNO-pT1xMyqo`0S!IRC9#(?0oN_H5>CwAe;$!B-!?w0CrGQXzo zl$OiQDGKsU8mTVhXxtmK7Wnz&S$9y%?kqATbR0I-=8&gVoT7Ib`YFDvdK&6gxEmd3 zP|YPmq^p!cZVR+X5o7?jJgNcl&$hA(`aYhZsII5C&|m0naD~xMDVj zz&Yn}`yEvJ->CY!vgrd|q@}0K0jGKh_fEQ22PA#h0TC&BqnLO!C&J;JLf%M^f4@m>Raqo>-E%DM( zp{Ay`Z;gm7=1enV7$^F6)qdGg0bm4!Ba^EotjR10)1oB5%!u29pN#%k)PPc~PQ^~z z>FFn_YME`&z|HC|r0*@*{fQl$YBA?kI;v!3vF-WkN~@K| zJWSqHkuz=#t-xPnq_ZkD)eI|fr=_R!nl&KRPv=YOByTDdkUg`tbM2me&Z6#==*hJt za8!0i$W>zwsTe+@#~>j4k^nf=?@Zh- z6lRjXs*13se6JNfN7Fc`mPq1h9R$Q|c2!n52OJ(wF`_71*STw-MTNnlNdTA~Ol&)= zZf)sN4HX;%ov^pO-Jax3Fkvx@AMze5+SygwPrLZ>< zleI~}$-pPDI`d=rfqbYnR5of)Hst~rik?>hIqZdxJZJ6it#03Ertur3?QdOhjV?BN zuQZpYim76%5SZjgj!}XN$k-r;83Z?dO3s}MwVK!F1rR>!(($tlTYHF3Gs;i70@zgp1u#%_C8yv32 zMr8Eu8huA->e*$I@ef2()6XpL0|~BBtz@yIW6UK~rq( zD)BM6oq>Ych&cvlIT6sVQl}B(4RH*&J9XzhdE=G}wbgX3y5#|@L6~ZzMv26Jl8iD4 z$ic`t8TLBM`p3b3ok`}q&uXKQf^BI`41s*6xINrv6Q*C*{40vrb9QKwn8K@tm3 zc!R!i^IN@4a9hZNypH}3^wkwqULsv-UY+8n5-f7X{7BVCN`yHHfH}uwtXHdi zRgTwJH9t&ELnLc9#fVar7~BWq+)2+o@%Tu_y^Z4obVu%^Mb*zjl=v=@O_pJga1+(< z+$>VPHe3Em1eAd$fx z_2)Qx&gDT2b&Q0`v7?C>mX*Q6fWE_$SeyVk)9Q=W=GgR=_d2?{>b4EuIIbi2)Z7AK;&TWT$^$8S+l0#hwPg_3yT-5Hd693+h= zl%d^|a{_l3)n}->#=|7$mtm}x+z&1_+{bbD&j+6W02;~d*KVbrqG&6tC0TsGF=Ikn zI5(ZZZ~kWh^Nu(f@2Ltp`a4y?S1N~`sf&5;$AiH3#TywuKJ-n8UPt>&C6KyhGDq2dKtG7-2Qr<=!?DL z>vW>K-6$q%S>u|W;9#5MS=CjE1pXXGgpN*l1HN&4jmmqS!CpjQ(U9uL*@khC%O~|Z zUYD+~{ToOiv(_&2R@ITh(eG&(oU$=L$a((&V?fc8bdAW5Lyw{+=EGe%Zu_4<_ODlt zuC3_4r@VB%4NKM~OyOfzl!T{`U9xw`XdPzN)=f(^d|YwoTOb*PbIK zcomVlZ>Ww(Ct@<8J5+#nA3pcpu5~{v$RwbZ>BS;iZ^g_97W$F*th5g zpcq(Ap|m01d~5@6XtF&Z^xVP1M)!rfcm*+U0MuSejZWs8O~>aG&|A zBt6|zl~v#al5_1Z*0n8Zw$xv1?kJBQ=;`UAgh?f1@ra{Ag6z$JGr-P!Wa|5BMx&b1 zzxKG^Cvf&idDV}G7760VQQvQN#7cg43Q&w zvM%Q%lY#&TSmk3yHD>CjjW!bP=4TvxAANd<2X#6$eaJmyY5V!F7USW@;DD>VhKjVc@IW{oOp+DS}kvH8G-RcseHZeArHk5#Uqw8v)ZE2m6T z*26TEHyXQpPR_Y+Dpx>AUKNN?NcJT0sJW;jyw230yV6l39jH@&GsmYryXwzff9fmo zj+3k3>VI}X%TFKDM^ENXRaDCp$6ss)+bOLlp$^ z$t68?Sgk}{G*djKg1_9R!VkFowWaLUXN!|eyWN9{^5l)Mt0D^5z4TUH+A@`XM!1j; zyQQXxW6&5;xMkx?WD(n4gQt>`Z7N4k8&t`;5eGh!$G^gYPv|s-uIp;OQ7wI@x;naM zcR?&+fZVKAho}RPK^l+*j#S|Nv<=8P}p{P^5v| zM78?FsHKtCP734m(4`<_m26|3BCba`=SxK+HbFXLAtfz9?*I$Gk8X7?ju-+P@5ZY! z%HV(x8j^ym%Uo{IwJFY2fl|yyJL)pHht3X!);SqD!THiJmnU%>PNK%alAM`QRTOGb zMMZ^w|nuxyNm3*61>+GBtp;jVcj8tduZ zG2%jic^j$*8_mEV@TLPj(iN#+o#!P2Ai(o6YiQQuK1idG}Z`)Tqx zBes|+J%G-1?k`I4IR5&H3I#3z!1>Ua!{B}N3NkxsRm$TUf@F-bj^BMN08o4O_tM3p zXxU|f_v6yQ-~*&ofY{lb=}Jk^MRVUejk-~&{xo9*elC0bai^+w;Hu!`9O#nNgd3j& z^U?+iK|yTKBxtgOw*X}6#H^1aG(*#(0nY&B>d<+qq!vCo<6QCjdz~+jk)p8E&Qr=` zwSnHf$8A~d{aI4fZEU$lv&6`$8SKi#+?_zQW7unw9qs`;cN}g#hLgi;2y$}-WobP! zA)uGf^UG`mkf(xmdFh_1fWc8sB|@yLlean6L(=z(dI_4Esm3$IcL(QPRZvpxBT~%7 zPT&ovxcJsh&5LeaL%u4Ug14%UptM@0u){q~GSb~{Urjuf6D(+-^76lS;F97c3J5-; zdnwchO?ZRQwkxkw*gBJ}V2-LAyp=G$T+Zt{Ngm>0d=)8`WeBGOZ@zSuHM*MdW2m*% zTiU(p?2TIR`9Z)*>f(i@IbcW$5nc!YNadM8^+Ncs4~JbVXsSxCl`{186|RA*K9W?W zsfftQ6*MwCZYORfc4Z7XRV3sC^Ut+D+YSxJon+P*cxQfI^F||{S5d=#p1k6g!S>o^ z+=}{$@$S`Kf1v5AE|N}$f=TJ?Ep^tamZoN?+R-9Zigg6U;$6XpcCZ;zIM(IR zo*={26_q^|XX&cjt;W$^J-O^Poi@r6NzvKZ3|OL_*pTX68Tr+m3$SlboHC0 zx^_Es#+t6G=WCvI1382w+5jY|Ij^(%o;evcM=fj`<7j|0E132i4p>L7g7YFoqLq7p`zqomD7 z-J!Kvvv}Lk_nI1d3#51RU*;@zlG|RW6zw8f!-eL(y;)v{ZShMF1*%808TJEWdX9IXIBE9U?Oc2^l8v6UZ% zyJJdM+1+Zk#-IVo#*g8=R@&f~+SCuyV31@_Oes{P_F=*&D;^f=){w+0n|5$@GiA0+ zg_cHOm^m5NgEhL(XQ!6F?#W98QKYg}Oh=Wu+^CIzn7;~e2RncnIl(U0m|}INqiCXj zM1W)Z>uKCzTz`xOP+@NCF}p1C)f#w_+QmdW>0%jDF zQcCgp)swE-Jx6)uk9=x})b+Dg%E>^Ek;TAeAB*p+W5+#Yn-8mRBPX}yG}f-2d5O>k z$8b9xYFfNeexs7AIawvjig;W}I-I{aC$^Y`IkyAD_l{ZG@gcg-qq{R5J(jkLDpLi&A-84b#tGxFKN=a%dwt!?N>Ydjl<*KQ z9+BIPMcye9-|8b^+q;3>AHJCjr9zxAzVi zN{e*Hbc-)KdoI=)A3AEl=eCapGEG++Hirk}U4!wbNeq8|I)yiLrqPajYD$(pxC9<` zT}Nrkbn=3nNWolp`PGN$3<$e$Ml;5n+To{JkVvI@_Zq!YP%O6Um!qVoo~3D}XcA+! z9#DkFtVbbB00|v|CtU6I=Z0kLrq-&w6oicJ&X@XA@u-c)E#c#S%bTw<#*3yZV zI(vmO$25UAJa7Q1KvuuB%%z!0PeWkg@(W;%O`f8li_I0iCDsrcb!L}soYbNe1A6a) z-AM$2#~hDtb;=KGxI^8i^$iE1G4)qAg-5qrT1fIKztbHl9W#@KL;W<@sJhn8(@@6M zw)tqPDq?A1it!>+Fi=R`@F{u6V}&Y&;EoQceL>>=;(Ec-9v$9~Qgsc=aRn*2T9Sqc z{Ux20v%HOre={fm9mMEb{@QTnI8&lcM<4tIkB;9p7gO;60De68_-?c--%xb-NF*=R zbrU3$2a#ZfRJuf<6C|6M2$LmLGagF}1I{2ie(lxXD~7pHR$O{FqjooySw*oc?gtx6 zB+Zf+JCB-*7l0QhEF=6W@Q6`GQPw^$!7WwpwxGzA6_bghj4n3IDytDBjf{nSgaa7K zI?=8-Z>Uv*ofbG_8&y?8jC%k*hOD<`_Z4ufaqd&((ZBxyk^2QxbvQ}FW`2^>Z>F-_ z8l&jwA*UCR0aK zl5~g+SSSRYK9W2sIT~yR4nfh4bcGdN@yV<0J`=sfI@nPZWEkP!T^G zyCx3oqT?;j(hvJ7TqeGCZGBC39Kw>?vfZG9Ig3Y6Hr=t3xe8b_WDqi3gYBJY-7j{Q z0BGcW@ya$8VUR)Y2<$=k2U-6Bh4fK$pY1(=>DvXiqMpqiMKwu^oyx;Y6T=*=>;NOm z4Qo zN8*ZVi6z)iwl_l%+z%y39BbLsod-%T)z?}$wp0HA2_S%hwD~HDAVJ3pz=7|9_t%g- zMvrfeeN%9=2rKEJqNJ~ucxGJYmTxWAARC>=aM&3+$sv1<+orr%Pp++~p7k2gqP;|w zMx{h#w%3wP$AOZ0{EyDOUG|Q=;daK4{6U{GSEO-U_i)}naBBiJh5_ZIE$J!7(L+4Q zLG-Q$0aBU&0AKH_hg{ihGDeIe#OjQqBm{xvH_SyObriir{88@&j_3%h8~ z_4fSrCsk~MW|A4>GPO}a?0bXs?)xymkLQzXi5oL}{4=8qQ9E|+q8nV@NT`@#xR0n4#VvGO*$Nv8SuAkdFemYiH zbqBEk`wag8@BQ>`Th>%+&ZEQMP4beUr;?yTa8#o4liR*=rJ=ObQc^>2r&7^U#~d;4 zIml78Wd2%{nn>W7QbL=VP%u5aoa6dyomsev27Ba>_r|llQhb)Upc*o(m2|OF#`TUv zIm~z?f(XuW{l868E^swWt(>s=BPUu-Wui*VNi@N;*bmD(WlhqlB|uroQIbIWf!OG( z728ZnIY3vneNzA^8$BeF(vK-I5`nyS&+Dm}dN=AJR;+!Xk4X6VI-E3C`Xo~o12T*f z$fG^I{`u8Ut@_%o*n#1sogxerF+v7@Keni;bmC>G>s}gaki(TIog-?Zr83JZDFltg zVBH7g4a;}KRO1MDIs~IP{mS3D&uMQApCxL)NLJCQT05cDw$@dreYh=0~3x2 zIqi|h8o%4^Fj?*77G}!wNc&??O6sc~9Wt!D;j~!IJo_vI!>+ix^!;OWH&Rs^dzCC} zPc&1=(itL%1rkQg2Jq>%jtMK056QCD-I1WEl9cUPWFQRZ3!IPi(q1ie)jwEKRK+WK zQanIIR}$iCc@z;Gi-rd(NF$NJ#~RHoeO_R$iotxSj-K*kCFz?h=Y_`ii#ZOwgXtu$ zKx`4Ny_6~O0s5Lk9sd9(j$Gt+`Ys~1T9${wCPyNzA6UYnkK*0H&$-l9o}gDn))g&T<2j@? z#OX1DJ05(L9dK&Y3<~K>8c^Eis8}0xah3-IzhHm9vdf`@m#CwyGnn1!-UN(9Tvkiw zp;$`}RE09gq>a9Z1dQiejXaW8(Me4fLb734li%C))n2mAP_-=)jg;pZE8m_6-&Anx zhTBzhsy9#|h&{m{Eyr-Lx@mJ8r8$yn3afn9>dJU$rJXiO1d175Pq7ESpcdee)JtM% zjEzc*B|EcjcYvL^WA0Ig(oZKV+~-SIQOR&>h?-W4Hw6KVm1P8DAdcEf(P)Z~)Qb-P z04y$Hr&v&p%-9IMhT=~pk0g?GO(xK77ZeqdtvIB7<&U#_9gm_vhr zM>>w6ym>WI(vXp)fTNAL^4qp?@OaSPDXtWgn~eg4l?yE^NwiF(u~K+P9l`9~jyNKz zQG2DDcq(b98Fpy4HUz4{u)&b}fnIVyUfk-+R6IsYaz2PFiiVfGrTVU-s?%$`Itc?q zODp+t;4=`Ujf9+J9CA-?bo-{ho`T;?O-~|5h85y6T?r#3hCH@OCvha4ILLqzOprHuao8Y1tx*^l$HF)YOL%t`J}w0q@oy4nS%%|zEqigbymkjNr} z1&|Vf+=5G$Qg$k_0I6-Efj)bs>NKHQu9ZcO)p_O!23y?Va58%V@^!HITYIU7l3Gje zrEZeFOrETSk%$2U0099N6OQ|H&UMT2D?&lIf4qC0&p!VEfpy#;hyd`@h2jCuluig5 zAmHfv2c3R}mBkdQ;Ef45_R$pNX+Wd4brlp~K6GUPk0Z8=*l9pV91TFGDR})vE}z2# z5r*%k5H46?>dSAVGDHht=i^j7!l}j+D5*|CQTgg(lAOkeBl>Ar=>&eqjXbJ^(ov3Z z(k^rP>W5Uw9aUt?VLZzck)lvl{WU^P25>>=NO^u^W!&RkF+^MrIMe9_K~Dx9&@`rU*q2{;+;s3tmEj;-k?5(Aa&%knf~U@e64h(x&0Ep!YEDxPr;ORxVQGI*^mKng+da~UmE4oYkqdc5vN}X1_1Cn;Q94N9dF^wm*cRF1D zS}qQ+1z9MtQnZW$f^vA(metbINLE?8>%#@jXAEu_y;)Dwc7VJX6V(n zr^n8q-;z#w(ezm0J>_E?)d2_bV_Xh29G!NFg=#v6Vc2NFN}Q8{ph2E~G-l;-okc{h zX-Vy%49D`(NXCpY?WGBmg=2tpyj2V_oawT+wvImB>ZnmFR+?So@r~MlN}jJUxg>j& zoN5XN!OnRdwIxeYB9KlFd;4m)1rim4CnN$h#+*~hE0euP>G7!AIm2aJf;$~aQ%kp< z4EDfKRy%w~II!LD5B1cHC)-f;HKCPNm=A4AK|E!E-TLbmyBr)zP85s?JNxP62zL#q z9E~AMu;7e;T}seXd5j+&yK641qa{oQDQzBS$;TR>qaST#T-9qDYCB<{g0-P}6UKiL zs=D8H(;Na9N|MMNmmpF`SdPzZp2!i}6aot8GH_1@rMcEX#WC zb<1mMk{vPFe@oGIt|53 zdvhOP=|2!`z8Ur3Np!4JSZ;PI`iOdBy6R!Ur!@^Cs*uHbj1&j)GDKIlqPiBzSy^xC z{<1wma+2rNmkOG@wK9ZyY2|{cU0q{P0v2X=W#MGq&PWPx-D}bvD}3pD$41_ysiCu0 z)YH~MEi}v|rz8;_N=uT(PDnhGI42&YK4Zivw$SLNWb^X`b=-l0$c~HIy`SQ>FEona z3P6Vm%x^dxi8<-rd6UA6z1BY!m#MCuH1zYWDy2!#PP-isaAlqXPxsLWK%;_?q z7-Oqvpi#EEemH1w+J@k#Z5LQ}E?nN0(LPjxqt;gLsK)lcQ-Y-W~MoUH*@! z>uDyVpubVmOGz15V)Jih59OAMLdzlbghPTmTWQ5=+E)*v;>QR8w2_ZJ`WT3T1$EVI zZ20hVVq9dI&PD+ojO`_FP2xR$E$TZ1#b>=%3W_>riizclSNe#gm(E4n*@aZn?qY+P zn}N3i$J4ia=TOv}eP>L`VVSF?qz=->R1?aHS=o8kr_?E@`*H&s9VhWPFV-+WR0n&pU{?cBb}K(nc#&i2 zYWux9QT69h&sARq)|MYGTUEUsVujHG!l*@)Zt@kHcRa8sS#^uYj}yATs^#e071G^j zv`X%h&lMvgsz)c(Kw)KS_fYO74m z1w~qr<_JV2hs$m%s@Pqj-x%+cSK2-$;WmX@hb|71N#t^V!?GCr6H1lC-Bs|=*9Zd> zB0SFPTDPxQ+bF7Hsp`Rgdu)aps)kr&-lM^d8)GCDS1h(ed7aGSpldEq%W!Cl@ zTDl6F+kG?=J6bOR4GmSmNXjMI2v1-l6$f@QH7gH{ei(HM$|-ur+XV2rNg=6_z)1%iqcQ~&A@*VI+zn^< zp9!rUGir~mDyFyfD=C&!OF&B~Ra53Xk^_RP$T;jydBN3Q>*M9>rm}vU@Snq~3td|* zPqr9*=S&a|;1sj(&H~`E1fJaMv*4c9Tw2<)+QyiB8@VS)9=?5-H(s4e6^Xref_4x| z`9S!>((XUBZ-#cBt*Gfsr1xk{Ya1nCwM@_uLEPs9cuar;6~lA4AZJ%9Zn@|>wn0tS zHdhkE^%0X+imx7USy`|S4+I01J;2wNx?jPs5jvWsy1%KU5H04je3uH^feFbTl?GB7 z)kirQ{6z7si^D#O=-VA-!o^e9R(q7yaY;>5lo+V1qNrkac{1!fBy0i*@6O@Iv@XBu z5aIG2rQ~uG>mFUytT=BF;tthLk?{Wj@*)Df-MmTYi#2R^$*(a_St=xgC_O=AXV@fZ z51~_cbCN*IZ6Io?;S9qOjN6MmxRPWgz)}JgTrtL- zbnw=Kh8hYhb(i<7bTBM5pS-Gs)YP&fm5tgwWQM2Yc*ddU{D6CE9f_?c1R5|*O!e0$;Urlqq(;C`n4HLA|sa2OM`xU<2 zjCNe(JZd7><8=*PEyC&4_bBNlyDdc2bWltslvDaP_8Y9us z{&HPU1>jd!w&ArYj$E=;+MlVR+gEtL(X3R|k|V$vE69x7Ayr)924*UQ7#^Sr!PJF4 z>YmKg)?O|U{`IIJR6JyCi32y4PKUWj_pr|!*`3G*urXTi6QGi&n#n@c)iSMZERz?U z1&b95Mn(>JQgTKC$Ie0ReNSC*vsYdGucEuk?c`N$4=6x=C3Au8+xzG}T4>{*{z5+I z);lhP{@UYGTq9@;U$WU&vNpd~BE-_KnNKB8s#G81?S$hz0q@^a)~G2WqcA~H4DTF| zF>De1I)Jh<2jub3d}CPcudLenZlZ3dt!RK`S$wGpR%Xu)jsk)`{rJ;w5g`Pw^Hc*H z5V<~H(~`@M#~qtl_lA_e@P|-bEFDAT*2z;tI#N`qe5_+4cwSWp%iw}Lp7|tzHC6F5 ztZA%P=qRaapr)_6(?=y_l&S)G!ALC{uK|d1q<}I8vzhw-=MPjR?m7Iq%9vf9hz^B7 zA%H%n;1W)G=f0y&#g34=DjYJUTTcxB(j+fH)n1K7-=zFNM24ccT9z4td1@q*c;O;v zILhG{X)DRd7y$8(b*w|6I;pBCq^YT)s8@Okr<7VF+A@1 z`{z22roTxGnu>-kx6q0Q;TX>#eq)2innh0Pxd=!Hf$f}WDJiglTR8_O;F1VGt`GLr z4Gf&E(8lSAQV?}*)vgrl^(F;rL6u@X_a5JT573f++S=%^HE_`ffWp+`5ETBqrU!dWYP8n!WTbHPRJWr>w*o&y+?^Gn{ARRzFD))CJ`hpLnf9r=z;v zRU4^ihCv*nSYU}rScvVG&RqS^A8lH073!+Uzy(e}_|UJ|uznJfy4&?`0;M z^=C-v3Hb#fQPk?SQbB7brQro!sq}&lcIW3&Gs$?o%87Zcl9~xzc~sQ06beb~%sFCs z`*+l}%GuLqYH502{{YlgP{kw5EllXNRP!RR*s;_3L7i9@+|EGs3;e&+N7VfIbj*RFefO<>-Pgt1Sbo@H(-_!9aQgcDuPyn9s zxE^qss!xuJS4d$_Ql2My__a_9s360N?7u3F)fk zrCBy5BtW=?E4l$0}(RwS#yH!18))}iH z`l02@-c&Ki3p{`p0I#T#l{swiM?W57uD`Wdg>9rpj!LmSXMz_$VUkDO=Neko&^I2U zs3vDHM;_LZkm2NR*bVG3Fn)EEz&1En-0;hKl=W6QUcjaCc7v)aQrygvCi5P|V~I1v zWCPo_Pqwet>y$JWkyUM{ro#G`C^9z_lj%LT6a2@%yusnmht!rks@Boe=CP&o7Fn0f zijgwDVj}l4NCpcN>~Y@*Y83|g0?}D|f}WKrU6yGkL5Co4SCAC*jQnRvz#i)6FD)rD zq*FfVS1WH-+HZ3wof)QTNnVl_c~yhC8<+s3jE$c7zz4Qu8h@kHZ!oO8P5ke%gZpmUH!XF+fsvf!w67}7 z(pMRbmcEswsl3Q?^IaMi5X`{xk;Z*n6ypWEmL18+j_XdDm&4i?p{S@yFSW}T)I3Za ztfv_TvFSz0^e7*PB>QXI{v{=SWr7Zw=w7Mlo|z#Dt8^-|M&RRYN}iGk z)%z#(y|t3JsC-nSt-MVems#1KInK@LBLqA9vcB(#$QcI&YBegf`{2Ok1eZt3KLB2f zOWHdsl*LEXYe^6U%uh4l@RjDft%Om;&L(V^DH&tBNo5;-&nEzrj@`AQ^xsOQWuY%u zsH35#qKQ@NsxurWERDQ23Z6(E$vD>4YVbFwDDOQfCtKMnFI3Iv(NrK^k9XmZehAHGrZMqgRh}8j6D<~N)yLK=zFi6he zbz6(8G&ZS#CQsYf`9@RXmi6lCqTmDrxX+e+)@OgZTf|b++JIUp*AG%bQ!3!#0(k)A zzv-x}Ex+k0>Fev)%aWzD1RHk0vB^QdNOt*zuhFoeI*{x5Ec>lC?io zLG1;u5CVdar|QhhBozrZqA6qEj1D1vQYDOhYc9k2l7?sW%z=~}@os$`0tURZVoM5N3Gbm(r}b zjF0~S?~l`0OJ%Bp-f69rmiQfnk)JG`v2ep~9yLU@!AUn(T`Mk$O!ZW8 z&_!=%8{GtrF`ow~%Q+Ez5)ZiNS98*qd~dCa4$dbN*cFd+yez>FS33;;PLjYkX zm~rYL@DI+no~-MuM@_8o^wk7#RWr!VT{4H9?k5Ea;yw?s&pq{t#A|Prl{tXaBOS3v z$N>A1k9-Vkv*9MADM%0?Wbeo?IpcmEO288)NrAUr)Gfx6ho)_>aO=jGvjQ$oL z!2F)T>7P?YDXU>a)wI{xmK2q$X=vwx45Z|s^MGf-BaonEk=W4XJTM!jSug;Z> zwMPUHzx->{KeG3Rzq&ef_=#0j=G1izA!#9wMhOKnNZ^+M;hmXt$n=4ZZP26{G$tk-r3K6d#1@}w{-QQip6E46tpxDB|S6>NfE}q zhEFHIbIwk>&t~j=YKGIPNajx(s~pc_fmf}&w66(dov5G3GaXo_z!l@b&qqb_(lG=5?(aoI9&6q{6x^1q{rQRd+Ai2iO4;)td#1`0MV9>RdO?=Tp=o}l0J1SCc~V8rcX^9 zletDSq}L8+K&S+$_8e<=+%}MgsDf27(4&;#;NwzOyL-&&Pb8ifQ?>TXLKHMn zl^cCwzI2Qi8e3xRO{Kk#h&2nFEecw?DBJa`=~-or0lT^Z*a4;%`e-M26##@pELa}L zR@zIYqP9`>j=AH8IK-24mAq*r_*o=)e z*fMsW+OQc@l$PA*AOobOgsSCv(}rF-8c`w`!S~XXrW9N*=0KzpGsqqBrDlxBBVZDQ zou?k!lUilYLX4k%43y-rC$^tbQls`lA`E0Z_`(s!pV}^B*I2Xt8f|}0OB|^qxIWr% zGP0#+bnnQ%tKxA6WfRr?r0Ug5~tm7lEc$1{|v^VU&Y{7=omg zIpiH#>F0XNCZw#eTc?SsVxeIww5{~hkbJVV};l`#;r?syq(EtC+4S4tx8UsZX?LTfL@I7;y?{| zMNp)R~H&7g`!=Xz1=X zg{At4?-b6;Ws(-*RE1nIWh`=6YLFy2JYTclOLcv9()Z!7i?)a@RTT!LQrA(-5<+C1 zVR%Y0EKbejuFgw$UfS8ZQ^guO28s)fE2xRVE{&1F2OxF?W50fNP_Xo8K*MSJ%a=@8 zt1l|@J5L>LO)7bkJCiGIO{6a1RwP6KjAe!~=X`(umsH`d*TU(&#FK%ffFu#TPIk<# z%P(xWjRE26Zjt~Xf;JI21_>BA%GP1&9+v4ed$nxP#U;+Fn&TVE3PTk>3!;=OxH77M zr|xsu^HTBG#G8jk^v$QNY{s5DJ?4(0ORY>5iyd>fXnd&o2oxX+LT($GL0qt6)Ye&K z6$?i_j-H(X?rfD^Lut9qVWE-lvB6b5PF{)WrZn}%rI49+JDASKce>EMdg0?y9Y&2CBvB+jx`i5z$)>1f zRtF#*cGe!q@%uY7VQq5CVq}(stIB)xJFHv2FKKsp`?t}M?S`xa%;0>cGNSsH&3~h= z@Z!_e-Dg)*)>QX2uSGP_{UX$&NM((pgnFG8UAy;zg=3Xm=FM_ydRo^olySSVs8FNe z0ozQfYJ?Ic;JemV)6`VSM?GCswNpV1$i8BSke!((MZo?|qdoOYyk9PtNeq5^!;_J; z;N$bxZR~fm{6@}$zwR}>N{%v4U=4s1*<@cSD5sl*ch01dyB zcVVbIhfqDyqKYWY5&BgWp6Bz|Qc_U0F{-)FC6{*4ta1*k)e=kl@+jg+#Bk)VIT-gk z^gC->O~4s%G!E+1Kx(M!jRQzyEg&t9`PG7=m*~dVaz;CySH;?zJHPJ+Q!w(?4oA56 z#-*#TmgG!|yZIpaasr%}&ojra3NY@-d>(q4SEIYtV)anw}{PRlC4@PcMc9aHW% z04hVq*lh8Q9;)c_(V9@q=1xl=Z5%B9=DczlO_d39yi{H4B#9l8FhD0g^n_OEjyFaK z`Okeirl5`|Vg_@`)1esQQ-Q4^07FyEY?yr%aW2@<4s@GQlkKTxra8_|G$xlkbNzJM zlGK`0K#77B1CIK5zF_p^kIP1i1W}x6aD$CS&XmN;Mml2NsbpiHzMZ25UAf~$zypJ> z1MjF4DUyVP+l?oN&NGpm=n3}Dgfgx&KqT>|*(6}h4i9Z{!PjIl$88&6UixH_HvRM< zXY|pwbyn<7HFu=xsyd~iqJp+B-j$KbQ4JwK#F8Xs zR%IUeW&<71I0pw5`a>Kuq>j142UmBCq^|TfTHdpUA!4Gel9J;)84;=J=TG6w=11y5 z9ZYoZyV(1vEOpF#QN(NT%O_q?Zmj}H>IUF)OGORR+^Tdct^M*swrpu8N`BUi=5=fNZf?BZmZzp|@pVNYvtG?Cw+fi+ zsg@{+^NULw0N8VxMmDj}9PT4HcD!-*E1wyFpO2ryK6118r?Ji9G$oa1y#94wH@{Q$ zbwrZX+$&OX89V1N%O*)V%NBk=sXu>1z9(U9!tXZ=Ru{peV$_6p9fy6(}-Ya>a6R2Yp`R z{hPcwqrVFJuCKYxX)vhz1F>ozUEJ=NEd&&<@VG`Inp$C%Xdt4{SAiSe5$%ZMdqbEm00s4fWBjd zk=!6VRN!y`_R$RF_SdW0hq{wX#2#b1G?cSo43nm^RYr#$^o>OCf~1{CI}*o7)1y16 zr}NcrY%Xv#Q6@ldoiQ(w__SduP!~Mv?+P%QRf5i~B~&2~EWm$#NpvgIUi#;*uXg&0 zAukMeDd={Ej=0f`dGiCGS1z%Td02sE$8@?bohoahGLRKrNhjkvtN20UJ$<_C)Kphn zd=EuYdaIVQng|(c=&GZtl&w#dBb0JdPgH1EXp9hKEJnPO{;Bx2cxQo2na_CSwYW7( zbZ=?Cp~U^Lv!1r-n!AUH^me*Y9kchWwUmt_LLg~8*;MUf4mSai2q!pSoNHRQcsE1R zbON^H)0Ua%m?JzbLlG3khE+cg{ZGUQ?x1@dXuWW?3Dy>#t*n5HU9#^5O-wLSgETF{ zik;@%$|Q4_WQaDvNMaZgcH3QLH&am3%}E4v(@2Q%GN>E39{ur>f3L{N*Uxs>w>&X+g7Q%}+G(R7znq>mic0^Mo5EKeYt5&9vS$vCJ~ z3<2R}Dx@99ZnS7)u3MC-%^8V3M1#l#0>9XU`fEMv+Ago_FAs^OlHJnQ_mYmHm&ugY zSI@exA`zczM@-v-s}=K`EDAD|40OB2%9fH^$w^f}?Xh$CP~@o3#ye`RBG$Ny*w#r7 z0M0~bre`1%k;`NylOD$STaHRT=XZ*kjK)Pc02SD%x zool|SSI&KbNe6R#DE{Y6;PF=8^1~3Pnn1^H)KFL-oM(~mkB;9O^2b*7$57ki2v>Q5 zq#j`;fh#E9e&I+6555@t>7P#cr+1{Iq&NDCAd{&tE_wgT@K@&*`F4_1%tInQ5A~pUzg=Q+UpO`1kHVuDp2%?G00Hl*bje zrQ?NswMM8r7?X}c&U2rCpSG{Q74@By#B2Jsb*@*hR%u~LhW`L5Q=H&%Fgu@bNGCjM zz}FExkXIZT*32)fuwJ2}xzX3)!B8Yc%CiB-enwAzPMBQmGs2LmD>v^7!7Oaqi4`{NkJ~?gZay^)eTdK@n%`Gck|_i*J4fm6dDN-W6--L!D%N$s zyu~3EHNT~;?K8<5DiEMIza76#L09#B74#@+WkSV&ii`ZM@O4tX-RrIq$xl~2vIcCQ zRyhLz11JcM9^K*WqNI3xc6ZERcc@C3N!VBPUoz0lExVXC~x5|C6g=Yrhh>@}Tr z$4**0gn83YQ^>%xY;*-f6)Igb_#XuNhNdN+q1nslzv4P+F=k#=pU8XbX4$6M!R#LG(SkU~LPa;Zo+%icd0-re5U!*#Ja-**1 z8OA#eX%u}h@x*5?R5vGXxtqt+WAIl`V@|C`0z#tK*jAa!!V4}(s~FTRT9}(`Yr^Co zZ0hmU6y-~ZxdZR2jcqH0Bi#4rzOT2aUL>lnX$BG+6>{>!$X6b`4#&9s^_ul%Ej4s9 z5E3Z}TvVa~EM-rnfyQ`0f49E0o6rUV1SA48?0N0qS(i~tinFL2PyymZ^>jt}ig!60xOb{{RxSXhVNaJ-dFU$#ku$hMlYJ z=>B>uGAglBSw=v}!3Rn$Nr}6G&Xe%x#2D>8CrM$r#J5{C(fN_XIol;OKdhJ^@k9Y`7nS1$bt_Y1 zrMv-I(zQmZ$>y3twq-vU960;0J@^{WtPLuzWkCQOALSa**RUE!Pciwrju#fMxIs*b zz6vS4+J+>B^Ho8K0RCbN2R_3I+@3VPjOw-1M!UAl|$y3Pq6=SD@{qHPD0&W;^`z}MU5Nh&bCj+9<`(kaNvI#F8# z15hdjEEn&k6-R9$8{@gs=;%*!HCe)m3FQqxn`Cq4*lC^O0Vs2_J1zdi9}8 zo5GMu8)TkG7}TwYsZBjJP*a7<^4T2y^mQgPe|?u8Pgvz`vb;<9A{mp4GjF1m-84Bm;O{p!Bs+N(VdPYVW0~)&Y>2-$+ILOyI zeBfG3Rg4){Bwov}GXB<`c+%f2{vX?F2uorMt-ztf3W*e?5uQDwX&=8nYUFFt9Z%Gj zzK!Xtk5%4WEgiB3o@x}%hy(3x~lbX>I$8e6;}$Ws%vTlZ6XPr zl0pPLssIoVfW3g%4ebTPg%8uy-P`sb+Lcocfz3aG*iF4qE=Br9oLEhRU8$Ddg_j#YXP?es#fCvt`3gGJNM4>N7uem~~O8DpD{) z^xsZ+r)%jO)g`9O(&Bgp!lE-wtf$SML`jNGB!_OqF*yVtLlC1R5u`_OsJ~dL?^E?; z)6E?mm6up0t5|8}rA5t3L%KIqflI6bLWwpr<(nXnBXs3d_KE4M?Ns%ZZ3D3pR5+Rs zG2>)n$WH`@U*aSt z8`DJD3^B$T40r*y2Z)^E&U5a(=vw}@>K?7P^*2&}^08e}BC}FZ+l$RiWdW6BBnFLl zC#gu$>V%s@v^lE6)uWWr_l^ zvs9GxUCCZcF5Fw0A9V9p>X~xZd%g!fO+7_-+iJn9ao-uh9`xUohG1z0C4yEnh98guw9dA!Vbe>y!GPOkTp=hTufdiPswg$q0XC!RosT_{l;}QPt}nW{{Vw; zRg}$qdKjxN5;S1KBN8wRv$kJmS#yQXJ^1sVfgS^OEeBUw`r4-EWU^LL%x={3&9x?W zSBf-cr4?9aYv=?v} zvp>Ew+_naBjOQ9ZiPdGZe@$%T1|;>z%yjc5Vep%3w>7+4^uZwFd1vd@Wy7I5hOsLm z>K>@Aw^r847%To8-7f{gMzcYD%(6KU}J=Ox<6(N|sTX4-1%VNWqt z-!f&84b8M*6W9!PBx$9`#T#=ZMz$$D`D1AmvU;K&uuoyQ@BlwQ8qZ_#YW{k;AoA%c z?9!_uywYuO$M6+S?00Zfaem-m>bbY$}`;w-&%$N6qu2uw0ER7-DrZ6_(fOq7M4som}tUN{P+UhxN^%W9R zIS!IYjuL0}5|W@83xa+Qar)~KxINT7ut@D)Q#^T=x#Zs_#UM6Ic0YuH^Nm?XpXv!| zFpaa|45JmQ86$0s6>{o6nHMRhHlC&(Kp=uKaj1RJq^{r{s?2vfZNR}f7{ML23k|}y z6D1o=trc6Ob5%zWGDz6nwFmN|lnMa$P!D|)-CHwJ$4nT*OrY$D3EmsK z)_eWH)T@vPVaXp|&(=LBnxdVv48AgY{6Dp#*7c9>s|0pm-aBimTn3UfB@}^>p?!el z^Y5sI@fzU$JS`H)YGkM{^=}{y&gbMF2qOdIAC{@EWT=qIE?5#ujP}l)!%q8rz=eNt8B50*w8;{(t*v;#=qC zrQo+X9@=#UxT@?@2f+ijm>oMS%YYD_(p|3fu&i*5D*%dF`3L7ko*4rw);k@Uk={nY zP<~5x)tjR_2dcW7vXQNQD|EWjM>I0j%n-v&U=t{j4NLk^vhEpO>;_0)HKX;Xhy5Ml zH6#^~)6IXlTxF<&-xYdBlr%AfJDk9aiEtzV6^;SH<8M8G4)!wY^2OXv<=z!0oR@rmRwy{Wadyl)S;Z;4gg29f)^9OJ1cmtI)Y(5g9%k5CxKhxc@4LWKaG zJM(GbUn@B=r~#brV~#mK{{WtvRNUi!xpdf|!PSuPs!OwFv%)-&87_=aE+J36gi8k+|dm@ID5j?zQz& zJCXv0z(6?f{{W3CC093T~Qd2$jVr*PDu58k%GtMoM376n3pVGCv{HPd&eV^4x8vJtoGVw zo_m~4ECnj*X&9B*S1LoC6(q6Cj1oW`V_GLpbYD*NtTNvuw9?yZ0yDBqMDmTz%%p#b zh&f}=9sRW?{Rz_+`ewK@SJGUg^CpVElBuAnM`gkFuXW&M8*-hXV;pLubLuMD>t(hz z!j7hDn3{h*VDe>|gQ^hm?jWC1oTY0M$S$zmE|5h zoE&%U+wkrkY+BOxh#h|2SC(-;A$h2lypL5I)ZQ!B+$m@2`)O!tr7E(+O-w?}>w-yO zyMGV|@n8|{s!QHdo<%dH@d7X;k`@V{g5KEqI3IJV>y1fB@_O)GXrw z;0$&;>S?xxCdD@6&p%J)a)zm|Q~a`0%hVSNeW?v>=oj#S+3;XT*IJN?STWxUYa7T-iGrFy{9DgweZM2$T}Gj~0gz79au z&%}?}tEoBzq-d|U>&16bR{ccZyy3RnwnIlt9Xyj6m6(^>Jfaz!zU2x5I?$uRuCA$g z^w}-XtZxH;zXhZEFk9}JRAuVx^>WlvPj#t!2^2#*GoRyN^1Lt@1B{S;z}BhKUOaU* zvS9CXaL)(Rk`CWTvW#{E?fzVA&(^t?2pWw{pYrZk5&|5n66(i1@*6ol`P8fxEs?bA zD(=#SQfSm>2XCL5RR>+!yIm)oFLqeJXgWLHwl^6SEl{dpk-WfE`a+@q06dJI{{Wor z!l$PC=gFy#!bj~rsL*|7?O21>8u01n#Y_=mGpnhWTK)bNjNE*VfZsm{w}>mLbvs)E@U{5+HO zC1X40SC%R|bPU7(pvfn1Ex;!k_tsxs;b)3)RSN5jwpuzxK(oa&GZ`4*utflZzZp3{ z174-+d+nO4%GGx3%r__%UD9YhK&ZgW4odeNHZ>C;P15xY@m*`HUn5)GJ`Ec#A%vV?;6Y-8?)@;3G6a*1^S<$=;6Q3b-mR?BT|v{ z&?qY$3^SG>o^l8P;A4_LbhXCELq*aT8gX)hmM5ioq_3KkPfs2sGBY$e^@E+IbK4rZ zwKe|$?lyb#{{2BvuX@Aou*cK-0Y9Ya^k@K6<>fsRV{n>=hmO~_f zNl{ZPZjweLw(j28z`!3G&bn8`TS8SeC8gn-g0?`#qF*D(t0ada7VQ*)RmQ?Xw(Nnp z;_Xcp-nvz)*(^}DF(di`8SV+x>e{-Cz3gM27BIdQu}tb6vJ;EN?kjUi4OJ6OZUuGlA_s9Kx1c>UJc~r2iS#k@<%=R;~Kto=ZO6o(+N`@ z#^RNAW+>L8o|VC9<97;Np4rJBoaFmpWa}8d__^T4wpO^$E!wg~kgRkOQw3>9IBzkI z)l+~y*lz4`tqv7#>cF|Q%ei4=@v8p-ry;MX7)YGs9acNl^)*Gp%CaUD4Xy|{#**od zqgq;7ExT43IWHsd*}*H%upZHtPGm~QourafQp{A0E;#*gM!h1HjaJYCy9;G`ZPjfz9wj3)IgS4S zH(Djjs)bz;N`tx8%w-tmUyPsEI-%Co*4(9rf{ACVnr7PtJTWuK%zGlJ$z%2!8zr{= z)|c8|p0HE3O?`Z-s+q#6_jfYE~X72x$BK=k}wMRlWb)b}U} zsFFr((?IxTr&Pe$Mh5=mu*PsPsk!_~m#OF~X#6Nzd)3~Wt!XNaYEMZ`KsoaoXL!SJ z0AW#8n{z2Ew>rO(xM1=-Xr)Ofl5%o+?tXth+Vomhg5Hp$M8ikN&U*S4s@8^x3Z>!S zNnCnAq^N9HYos?C*pwQIxZ`CrJ^;&ZVpxEobHKuY00SDdq7lK)mDruLqi{O|qFGE+ zXlU3cgjEL}w0wb}Cps?gwx*pJpN%5pBL}vQPJoZ!;{XPK!ubaZ;ch9`54lW937x($&iw98UgAZhK5GmLDvT39@--uomP?~;f_e{ zq7sYT0s84eGo&YEMcpPa22P|hl8n1uK8d!(eMNJsrPBFPScNxmeYGKQkWVuc*!z98 z4^<2*GNT7t_LP{|BxP3VD!*`oP1}z-8jE-)Wo7_?JL-P4?FVquIwG&YQeCI#=>ccT+Ly@Q|smjdCsgOPM@1q%&AXIFW&WEtZk;gr>_GT`m zi-%0Pjg7%$F*44h*}Xv(g1lcaP6Xy>;BNw$5xwBsqlRSw)9_|wQ6 zAY)7rjycn)9Oq0zVibxIfEa0H1CO`&(^PYg{@Qm=NgQ%Mby|X1cm##-r4RtwCqST{ z`cN+!(XJAk?u6%Un938xH?G>rzb!egoBO`#;YbuWW1EI&lv@K>4f%}+@CKh ze%h7<;AgkE(nv|kDp!&*-#UnK3DhLkiQ{v9FvIf$Eq>0U*Z|6%_NTS35?^6o+5J>)TN!Gr<7oPGF*@n1d`}xWH0L;C;1K zRyFM{a$;7Tdgh*rDr(=|&{s`NlC3*{JjlZgI9Bh2?mhKDzjeH~lz*g#M-sl=733ed z_S9{CzM`NdFq3R6$T=am9OoJ>EOmBMw%ZACeN4^H@0|m0!>#R!dk4H!wMfc(mJ5O; zQ%TwIbm^_tOrBcQ0tv}csUvWT=SGYj;(eeP$<7X=n8^&DS#!HqGNngh*dauzS}PqU z#Yt7pkk5q%_h$r+!WcI+cZ_yoa|b z$(1cXU&BWO#v}ds#RR6Dxf^N_?H!v zqc1lqPYb%uVCi~U1r^G^hCfrGXEi%`lLAH#c8p-05IaQLI{NEJCM1(6$DT8*Y+fT< z%un^OyrJW0*#XYrK?EH41QId#*N*W&`c-3IsBmcmcpFUodq+j7YsN0E8>W-U^UgYD zQ@S6i{6Xt`JvHyc+Xa%%ZMNIq&qZ^(l|Ne1%sp!yXwA1`v`jZ_%P}6M($yXhUwW=s z6+UDuaj%Ei5S!O-m%op>Q#0-ju4PY0Dz-Xy)k;}ex9{M(_J@idK+X6&kZ}& zNjH{Q<+hm#AQO{}_b2C56V}BhB#uLd)%G61aNZt6s?wM9Cz>9;?Zwd3TA^_1IQS;k z`&UYIExqjBBhz$L5wt!_%!|5tmvMjMN_}#AnVZymo-wMe!lI%{n3gAr%_X>W8@)VFDxDjReSQBfks(s^+x%P|TG zIQRoPqxH2NkHqewvR?YN8rRUa7-X%cx@G5Ul#&>C!pRhFDSry!NJEjhm0SScTkW0Q zl?!)%sDegAd7iK{%6Sx38(O!7QKH##*aa2PzADzo;T@?O(L;5dbsY`TIMVIs)o-4l zyzM+_tjN+tCU%hj017;?IL6_*+j^IzyeqLobbE;X(^)*yT5Z%(Jyk_w3CwUMByk35 zx2cD2-%0aS=Lb6S{{W1?wQ4)lbnk}N2rZU)-O?ofbELW7kA z<6f8OOZ|QNrpk22*&Xsm|iEO0wPNhH5bG-xLv4>Mw6lyU=nXJ0$<3YOO{6`w%0 zq`k%+la019Bn;<%>((f6tKJoC$~EdqAPC+${n72CsQPoH?bN+XQYWkz#JGw#D(Pya zGZ_UikwEhdStK?wxGJa$qeZ-RD5$lYnun9i%{h&E3^F#7KVQgWRqm$hnroSu(Nu{e zj%S6)BLJ@lx7#1vP@Ow@fycY_7AQ<|2qHZ{mZ}|3D{{T^VX${^9qK?}f(klf-kdT8T-yQhW zH5Y?DPh-4AbEvY?R?zJcOAR$Mhe%zN7e+Zdkeuxt5xd+CdU~4MX`zTI+DT&BEx3|S zPkjwnP*X>WI!bve>LeMC6gUSS?A?)mN$0p3I;b}|R1Ps+tpWUG_)+{qQE7Q z$owh`xAp%3-%aM}O~A>V5K8hp9a;MJ(|n%RwoZ+#r=_~x;;B`hSqe)O5k?wDfc6t* zqf~YU6`e~0H8WzNxX)pud*uStT^^klrXa}ROWB*ySw`Rk5D5b$duv$Lbvt(42Mn0g zKKGn-+)q%m4S;jYW7m?&YpksjvdEbuu_Lyt^)!>Lm{sKb=Ua_mP9%xAs3kxIA9Jd$ z@1|o=T@z`}0Qo1juD8Dj1p#xzoZN+y*VCC|cxH`CIu&I-ik=A8e{}P@CFz}>S?xvA zoXab2dR5!CK`NP%MhB_ALp{#6d!>q^n=nra%E%(TU}$sBDXG-qi8DpZURHv10Rc^8PCDbvpMw(7)L>D|^>F}twa z-yu|hGC;}Wa4VdG0q>zyxzwpNljX~iSMyfNmF&6v^MH`L^8^&gObUgPa|#*Il$6McIzrB zMaireSGP#JA&?*vfu2jm%pF&gkLKXzdlQiU2~fEBxOaSgR@->7V2W)px4WE8Q~XG< z$lbB|YNdClJ;vnc0I}m$s|Shz)1=Z=ZE55v=zGTTlBF1Yf-rxtIU1LXs%g4`CW4|^ zB9$fBfcx>PTWMO^(BXic_jE1>4pnCK@~m=49A-n#Hg+f9KN`xqm`a97d{%5h+KSsma=ZESu-GKAB6WB-{JWync|oVD!`N}C`vcOR7d92@0>^s=PJMj z{2qmm(0K=w-&VXvB5x)ANHP~5!~I669XjwwU0p2AAZ0O>RXy8c`+dP2509LaX?fp= z4YcDU2j5#);8d-tyFmH{lTF}$c2I===eZgfq|GHzl6rL@e+EFoq>N*@JBtr-hW5s# z?fp?zLm^lySrqpHvD>lKFH-JQj=ftFQ!$+g84fm(%6T2ZKd1-WOy4`b9sRSZKAUSW zIl^auG5tcR)tyb!!nBLU{*$cfqLSk4O?QZ58uW}3TNuoWF}ppR2a(^Nbr){9{Y}!E z*>+E-k|+zUIh>fMpLgU0tFRYb@!yTeaZ!$H+F==}r;?n@8qFHH8EDvL9AJ@#7$e{0 z1IC6+n>EJJ@~LwLS(I`{6;X-j?A}{#_bc0tMV4L(G+ZJl%wzNHif!wh{{Zs-;HHmr zt^+z(VEuL5HTCwTyC{pCU};qcw{xKiduc=fdufSLB^6WMv~I)WM=CLpGyzG}36#>6 zhF6G&1mt_^?6>OXQmZp4#xOm#9!3*H)Js9#K!8%RR6MP{$z$?Plic0(8Za0cI(#SD z92{$pIskK_)KXkBGlo3tfY)n>I!P|c9{S?vLRXIZAzn1#0+Mk}b*-e0;-;5k$-{BU z{dCotnB|UiEw^fg@1Rv?JZazzrGSitV;UAX9rRP_9kHS_9@)}~P6V!IC%MpPJLrO*tdF*tW0zc17MtK?e)E$Kql}L#rBOjin?W#)!$0q|ur?pEoB5@ci zoFBHQ?L9p--^PJ+*m0q%Rcl1Js+@Tz6c)K8z}v>GR_h3jgAus=YEIi{kyS${AOLvd zIC$dYfw-yyy{Ax)aM?JS>d(C7zz|=%F@Ljw{2rS?7L-P zYOlv)8$n_CzqY2Wlxs^ELD&r{(#8$~jB1jOt^q#&K_2oE%X zav_UwXFmKW|R|}&Q0Nrm2RPe?FS#i zLO5agocs-9bheKo7@&nPpd23AAL2i9a(}M03JWb&(yF4S>tFSE8rhzrvE9d;Jg#>+ zIPJ@G>^K~8t7VhJxu>ZpU=GGIzk{<36SRGYx7hq0c>e$t;|;j1>W|ug(#<|S+rP#z zu{w)uOMv^;l#s5BRg|A#-Ntm4z89^cQzUIs9YKFAGHz)iB<#w8$=i>8Xk)YWiMP#QsjaHu%`yZ@UKwyU zB#Ia+`dcNlteV_vl{;fmfS4oFXFgN9Hrs^U*QzMIhR#wv%lQ!rObhzt2|lFPY0TY?7s zNC$04^nXuB)>r$jUBcSdnUXl;rjm^$j!JoH!p68J+JS z+&1lL7p{Y=sOW>!l(ZBVIiRPi^48+JVU|fp;B^_@7C|LR?oO!o?v1AEKAN=JYAdeY zHPrSiRV@^*m2stIeKB34V=yizfR&W8a#fUWRrHgdFRkyG>Xq07f!s_)Zd;QR(jr#F zcy&ua+IGa`bL%?;fwI5aZFOyS`rE1rZ#NK+BE=K52?N83VsgBaThvK8JILfH)pEb4 zD=Kdf)Qfg!mXWIGtf8r^m?Ug43Py~=HHDC5?%n?YQ?@(0euaXg&%F49*LQo?_Ft!p z8sFX2=0se9wv;3Bl1bl#jC^AO@z<%~x4~|Ho~5=>Z=NchsEW@#X)@q5yBSrtq>3Dp zOAO@gI_K)Pfv6f@N!tSh;z9X*S7pI1F78f>P0~4+87HpGT&3uKnY{IUH*TD#x6)El zM>O@d(9W_C-V>mVQz6}n5n>GB6)1#7k&~y^{{RoHP|Gb5>AH*EBs0_0Qh8=PERe>r z2;HS96SGOXl{?$9;Q05$Ua0XVeyOOep}Ws4lI?<8I)fzsWby&z;a3fx;f$VrIVAjh zC#Npey)kLGLw1@v>h?miG!2CFK;$UTB$7|qE;OpUz#*^*fFe&>-yHg3YF}Dcw=v=p zejK4%u5`D^?cYOdvRm!c(Z+K16@p0A3~ls80X_ScTm?UEBjLwRRnk&c^-oe(K~X*6 z0ZNfTVn`^5{V<`4Y`Oj^$v=rcH0tMerLCp6Q(bCehL)~?Qq2aUuUDJ4;xj8*L zcUV+-d+w{q5<;}~jlzmrN`$B|VmM3FNYR36CJ4Y(MstwkaXe$=UO?-bZnEm*9a!sH z>!sD{&9XTbDB7wL$X2!z0vGqUgJ7!P$S?S&ync*@BjG|8`EreGf zdRU=W$2bQEvDRI3@m}#gMDtpz<)vvUz=oJk-b9M$)Z_vib^~&8!5=!Mo+AW3q>f#^ zbB@0rL3X?=hSs*1Gyr?&9$uJEt*~{P(Jd9;=|*F65J@dG&E(``1%hJ)uMAEyeYn#b zk3d#OQ5E^C&0N97L=(p$c-6aZkCWdRKhxxDGSzswLsjMrgy0w4P`P1@vyL@v9~Bc%h!4)6&YPByVPH<2||U z{GbM;r-I>EQ7vP`LuIC& zU|N__K{YZ|;fRYY7ZIp!z^G$`iR-^m^cC~NN?Hm^T0We;ST8JT=qV4@R9vEX6tmAG zY;}#i!MU9BVF7YL1F*LCIrSLvb#Tgc12u*dCNUb07}=2$>Bz@UPUqTvFK2;4?_qv| z;4wLv8FQjD4UO`sl@Pr>z3$S|)cqV%tvl2RSj4k3mRQV~+N@L(0V9EvfvGN}=}V7G z-DJ0QElhNGXgyz zV16wV!zueaZ8r6)Iklm`_W)o=4tU^K?Ba7c59EmB(> zY$tqz6t_xsMMpw)Lf@&Z6gBh0tqcoMQ&77VfDZnQWo(5)VBVXbZD>msHmN`7_ z+)f8zFb4w~kF2YbM|{Xm3CBEl)=l5F98va<;eIx%J8S_U9m)OP_U1{HeXp~Y0_nU( z)S{>zNsMh9V_^U%GFQfPyp!>sGp1D)0#)^J4{YhVlo>GOmXH&VgQnFI92b++7oDTF zxyG=#!s$apQs!Sb)(ISLE%wpmxqUoqf(&6C?fy}KIX>r}H5RqTEvgPnqcL;%Rj>#L z?aysTLiH66W_Jv%SQc(ZH)Mc6PUl8bwVbw1K{L?5BnF$|{vB^F3@uro+ znOi^154Yb(w_4h^IOb8ZEDY{AU|8UB_v0TV>TZ6V`bff0AdD6M#zd7zTj z57Yf09k$lAW7f?6Yql^;AItO_t91{CJxg-xIK(12E!89VwGR84Tc5(7=K}x_zI$t1 zq_SM+xg->B(ZsQdTHF;V04=yS%s#2=8HY6kgfq-+I{Cw)4 zc<|za?1qNtLk(DpAnm?9fhI#0&wdU$`5M)bL7mDsNQ8j>!k*lH`}3w%^;B?1W0{0o z&Itn}KYbf-cT$WBcq<0t&6Npr*PiQoGSOizQ%gn`uV_}3mUrNuH@PkE&p!V8&bpGE zg4=;P*8SC#)bpf|6tUwtCw@8nwTg8tRPr+~pBNyVg52w@;ny#$bv%++6~(RE!3|jD z{xuJ{5y8f)^R^s~yN0iQNp6xfc~ULp9IBo-9cK3s?*zf5+CsKTJP!Ff>*%;SfpKi5 z{&Ef$_xm9Ab)MUF>iZRZ*2;8xdRv#*%{(y_3pdmG4D3NFT3Fdea2U6{Yt=w*j7Tu? zxZ#wBRs?*G2qXII&ptKyWqa{M!j6yXUYY62YH6)@xF>FwhT9k=DpD=W3vCPxd><{n zETEsp0XbE;c#r!mUh65LyL3sq+~a~9jhuZ=REUd~f@M&#qM-qSWp>BmBRM0}?VRo# zL{X>-V+ZfYbNhGgi92C#hJY67`$_m+(f8htzW9+nFVXc4lHS!KvH+^pqA;r*H5mtb z4B<$_DLwI#uOOBb)s-}g#nuU$HFk-jXI?PIHuWJqj318rwsp6RUM6^p1lInh>bXs> zcZNwVRCMvvQWlKvT!0I(+yh~p@}s^6rMeP}p!&wWBI`QJOGTR9Yk=JAVO6J+j(zBk z=*3GhmQ;s+1F>qY!_piKYoTSwp61(-9soLsB4T83<&r0oVg*43QsSI|PITpKody-i z1MjCjQD^AuG_40o_3YhA{BWX1w7n8}4G1dPb~~InD#26%xcB1`^vPvv3bwe_-WIg) zj+QDYA@Y>@WUR8uDajsTQRScwfX8sk>z#dz=~fgT_KZxGK{iizJ-+fJerkWX<-O`?kn8?kZeNKK(Il$8QuOIrGs_iMz z)VD@wt1B5r0SQyJPndE5j0Fb=86zB%tR~+{Lf08;dY0`_^dDCuZnvQyR^`qFYT!Eu zbLs8r+riEb`O=;h*9&wjPy0GuY0+Q!vfVnSmfcYy=Otlijyd;lY?n!1OhseW6&Q}b9jdktoJe1$sNf)n3Zy{bOqMYY@of~I)+09LkVrrMNYA`OAu9E z6cWw=&#OB@B=-OdB?T?k?M`}w#crO48bz#Y#64)cNWYOQl>+L8(V#gJM7eR=b# zuhx6ZLbh(4OJzJrttm2@WS(#4W@C&le+mEq00X%5s})~}-6?jpR#RQPKDI?WhiW-# zB$gQw&*2Y-A(43}BPW5KS1uh{XfCwYE}mrGfnF9vRL|-;VTIhhU~mZIJ@jV_;r{@o z_bJnK`OnawqUJcS5Ua$UE~pQabM&8@RQRFS@N|VAM4q<0C6bPd_i9m7G<4}DCm_Ws zMGYoY?a4jAGnbwZcxc`(bxmcyuBv(~O}d;RZzcYq(=9K|Q-8YPDNxdu%aW zt~QITG*={Mwo6q@BoWj$-PqpB6}AGb!FeMGjO%y(kFFG-OVzfL$ZGzolC$vOv?e!9 z{z1ku?YMmFva@Ad+xAkvpC?aEyK0w=Qv=c0ufQB$0F= z<3L6=+H#WOaiSCNqmi8ugYTpgLA&ju?&m{{X*cwaH6)Uo#yjY{{@Q58hrWs>ZrRSI zr8K3de`P1{rl%S^HhCvWImWC3MI^{sv-i`ua1gEmC;MryoA&wWGsT-Zfl9Cn^9mRnGLBYS^)@-1pNN;ya1&qnKeK zg$pzU1NYLqVHBQ8kNBPUY4bp=a^Bi2!4c%3&aIUxQ435Jv!gVAlc&!busmZ;XHW+k zkTRZBbe+giq*-y!bm~-4Gw+=@ah#6Ym?}XLTL+yl6rd6J(_%1n-ucwGNU1ob3~}wJ z^l!Cxw{m&ZED{iR9@>?lmF7_R$P`$OBSoBMBy34s>!b1_pT3hl2-lb|WW^ z6J(vlWP)`v>DeSig`LLTNJB{`LEsOzjY|M+r?DSDI+1`7NMJrQq3TtQl1;@FvZ*=7 zG}fjUr~F`hjZFqT;CK7#KIZQ6kctZromEbwi=d>SKY9HPa+#Q_KO;S}pu6<~tH(4Y zTYekT*&u#eMzW4+TWpv<{{UmC(`zjIppQ5>$r(_7`ZzVD$x;AwQ}EqZqMPa^WN<(s~r=g}; z$(~t1ioiD`Cpgr6*2|^Jc_ym>AA{Hf_SB!3ngmLC!EOm`j&$R3U&NzGiAaR>pM2|s51lphcMOjH z+7)tePqv|@MLXAXog|OBv4f=xV^K*Cj2q`VOK}8qpe}Moee{w`mnx*-x7cfvR8!_M zf)CD-^EQujq-2o4^5aSpQX;mTaj*}|T(<;cjlbVf@WCXGFsB4$oN45C$y{Y2Z=Q7$ z);DyM$fZo~M#22`D@%Nq74qiwk7KIgiRqkf9k|lr_W(w!eFjwDAv&}F0K|XM;c97HjW7GtB47af%ehB z2Lufe4s^6>&%Ua0Nh=(D1E+M+hm}-}EQW{Ed zB~4stjAClOsJDo^F5D%z%~uSmGZ&ILjMWbTV9XSUiAn}3{6mcE1nUnKdII})hRbG} zdp}0>!c40KCo#^h#Jfn!*mjkG7$ZBjt_aod$G)qngQ95qW+zvUy6twjQ6)W0kLAPl zO&;l3uF|EJS3tQ@xDCzUUP%-YTzZ<8(^At$D5FVhoxpaCD&Q4S*#07_27N%BoNMGh zIe6|b#qMj~Iz=~-(9%dcObG|!=5}83?4Jgs!?<-j<~AzSZs(9c_@A0m$!e+VF0iGb zp{FoV&sb(fL%k{D-h8MPxeUt0l5%-gC)2I-t^9twP}!yEo`a@HE%dR?Nj!v;B%}kq zw`VvQC5g`BTPIoE6f`z8oou%FXs4=Y#D{Y{O4tQ?CkJTn?Un<9jZp7_DIzw?dXF+n zhu=O13PLbdGw;7UzajbS8n|y4cCm_0K2mw@(_!Xty0%+WveNqA^+G+~a0c7+D^T#) z#3x&5wVJ7>f=L{!%6NSHkAQoPYMm+8RFzdiik6^DIw)@~c{_8ApXra!UU9KKL^Kc! zWh&IxRLCKvhj!4+RGvxgjy~A@^{sSQPge9l)Kyf}i;q!PDhW!45mJr01+n--gWJ0j zJ9pLv)gZ^Y+X=wu_!ZTuG3*2WM?JjO(|fz$E|$6aa?w}xlGPZ}vb82Ev{A6gR@&(! zvjB1%&wW+Q2OD# zHrm=+d8#I64m{^88t301ZECisnpti2R|}J@G;)cSod8sle$lfL$=XROJ8mk+B}Rm# z8zWxdpH-X0X#wuj5EM^W+`8V)d#~y%Mc1hzxm8(Gsv9ap9ZJrRS2Cn^g0?EarU``l|U$04j_QI44XbzxjkBu-x9BeU7u{t*s(LUjfeI z2Ao@~T)x*iZvC~$EuYeciC1WADWtB7vtqqOaI^waGQkT5U_LUzPv|q-Q;|%CRr7*- zFUQ+difXe8=ghzyaDDTsnkw{>gKjucfC=MLl6ON?r5h>s0zg0?kUqobQ5OmsCzS-C z6!QVXk73U`l7?|81YyGf9QsLf&(D&cO8l>Yz>zaRx2$tM{8`p@ni z7G{Eak0p_W@)g<3GJ}8z<%6w?zKFUsr7{4*DEBA1(|S83ZEb)s2hzv&B4+5=`GgKw!0-QJH+|k zxspy!TP(!0XFlZj)}eIhkFA;+sa0ckk&6;I4)TCle$YZ|t{URf7npjFrzfGW z7YiCQw9=rfr;+wRzzlhSV36a`2_K0^Jb|k1zTwm~y+`zQ@<$y&nZ(ekUn%L=@JSgb zc`V(>AOnMrGr4swoYT9ojZA}Z%Yp#-1NGK7)$375a<^QXo$3V@Q6*zd&Jsju$y@?X zH)k03_Sa{_?*9N%-wogy5DDLGE4+ z&NVaBy;TKWmm!~-S~=o!1Hmd}G7t&F0zXhk&Z0W96HyCI8QiR-f(D~+K-<bhE9p|wjj0H0(Rns~qD>P&!?T<0k!6}KS+1r9O_liYDm65~dlQh8Dt2xg9EWl+EYkje=e0Avt+n~S$^U|eA8cp~-X@Wqc$=ozjzZx8SXu)+PkwykM(t%0sp$VRJa5>{qE=o~0 z<6VKJHu009kUjMoN>XRP9BZ^@0AQ&6^P=#3>PkDI-NrGX{Po)G=_x5I4We7MY;>_i z9e1wroN!J6{dJ;shd@Eo-91g3M{21{84OG5LG6?NXIZ_b>oumJ%^MP@8$TeLNjmKa#xxobGo3O>JLqx1*KPagxjV6>k{xz9&bvO^5DD+3k_{LSeCvlA9Wf~` z*K4)fWS48T+U+ElXhM_E8Vx(O+p4aWX-i8U_G6#OeCde*NlfDikwYY|vBZS4Z~*t! zqo;aj>Y5sff#;S}?Src|lcM6L1I+?S01c8mAO3Z3ps=P@<6M1!#fjKebs%A)kOhuBA3~H~C4`5jH*be9N)?=PdO0p1W83_m5N3eI^)M~ zgXmj?c6WNa)xfb?sjX^~ntx8^-o=7~#{+03hH^$Vigo9SU0vdh*Y|8vRats+c+Dc) zV4pJ8Z)GIT!-piO8%Lo)$E$J9E&l)=w6JNHYH;Kg6)qW18=i|q>p$8Pr0rs&lcPcE zE0j_g!Bljhk7@NgO~H|S;6^Y={6KT8#x9@gKM`(~m#(+1dWyQV@=CH5Na^xdYAWMo zX`F2x{mT|4+k8IgJ3P}Z1yl(Z1wB$$1?pDSbe=l+e2aRj?UWuUp0D@{KmS|w8 zwoz0^TD$OJm+9CN_ymO|W0T(_BzM=9aqnzv-5m}v0l*u1qb&Gcd-n&_*k%W1ig94f#d1*~kxuPFe6E^|m%6W?0S(!rxEC}>hLv&R&O|>fS)Tsq! z6uT#g3>YTb3oh)Of|4l&cLe+BmJbYVDbbX^99)r&B}!0MO(-g}y6g_`8z|bYwJHd3 zGB+u~+BDwLLDg3psg|Pu08vF(Pjj!eR>($UyGt6R)b*ZI58?T-WJs%kT}VPyal~KW z{{Y+roY!fC^5lNUymehwhYkG@Yl|eGuk@|AD>q5f(hI!xFjDz3$s|%UFQsr$l~y1U zOJHXl{#wre0B5>88gvak-aAB#_0Lgqsi?W`EmkIxnj)*%p+ggbdF{c@b!qBOrL@@T zsOx%>>0N|@XmdkpJFt@RaI*1S~ zG5On<)36xEQyc#PoG&EfvgEebr6!V0gXkyYzuk1ycsuTE)2dqoVU5Z9EsC?MEp!LY zq=F@yL<(6z9+2CxM{eM1v3l_~TS;n^ssOuyNKkijPd`5Y0N>|ce7|_(1T!O2C)N4! zCJGD|cfi^g^Cuse)?e3sb9=13N^Vt?EO3G4Kp5AEkbV95KKjiKeL^F3+gf`( zKmP!30`(>D_Lk|}eLU3_H^`^@WO*DyHi8EMN8cwI>^;t@mhajc&(+q5EnQn!)Y2tt z%CJ+&R%oUSyBY}(DA?M&yApB8$UaN0yENEM<=~XEkicgEmcji_KS8DtPbynYC!Hcm zgh!Ba{{Zy^6$id>r?;^A)}r1Hvf61gRplyF zK}D!;f#osejIe8HP!0p#1dX?jXZT9= zzlhbnF;O+rm&{W~679(Wqu`r0&z|b7Np3FR^D(vvCxhSZsft@_!!&b&>j+V@bDZP<00Txv%YwWBIT_>a zr>HOnthl**mZdr^U{9%0BN;vQF+*IDJRz0T4>-GbTgGr!SP40B7a_hhFc7VWH})u(rj;?hSx!pwG0u#XY{PaAGmMQ(OL{ep64bf$xM$jf z1P*=q(V@ISBCRaZ7KMq<^OKzMoM|Pk+`^BJ1w+_r+%pt#P~eV1(lt{+Cvi@@Q@8$c zq`cJwjAtI_NjVav0B3kmR7lAhDwdJi*s6fBrsK}UPyiml0imm?Sn`VbLGSITVQ_T0 zLr6ISDIQ_|43*iRf^gh?56enbRhMjFWBm1XdX;NG#H`}yJ2G;8R4CDHKk=|bMlh4B zsg=t*u^$6EN;=otJy{=qG(zK?_Rsq|X(&?OgTeeq-%(>VZipaqPhP2b$s1eWI!0=d z3I`)|5*1W)xsPH00F&*e(v?HzO85i?MIT|AHa6>q31f}GP<#Vk@(B)iuoH<69ZGn4sgy-iuGMvj=4zya8MXV`rEXjXzWqiCTR zj{#8t;ZM){^Q0}%)?gWdrlmoTEC37l$z%Ti0Je*3DT#PHY^igeVWe)H#cawIm@_KE z8FrsmOJI-Bf8;U_Ss*%7FF^Kbf*Sey5E}+fUb4H3VCLMGqv0I8*F| z{r&Z4vvi_c3)C`slQALOt~fs*ZBXjuNU7)&dznr&?h~GYvCTmfSKTF!O1az2l;=1( z&nN5v?Z+RMFVR_S*N9Okggk8H3yk@o9N^=+=acP?LQz?ou06hH==P9M4WYGiw9`Rr zj7Uh_su6o(2f+JiM>xFdDpjViZicUEbzag(%n)K+aq)Tz4CDPD#Ec5K}t$>)|oKiff9 zabTgm?h6nA;2+mi`a8sE#gog^pe^Ob3a=B7=u6#+(Y z2W?nwRi}EGW@YW%eCnHOrl)yQqkC>souv2sYTs*Ul!D4e7zGS-{V}HqJBGAiE2SVY zh}BCnzIKE9asBld)TRR&^VL`!@!0A8x}nMh^2r49N$sOuVy0?iBdFbs?#I97t7)As z1!7#Zxuh(j{{U;Ec$!$M_XGT=i~>$L{{VgULb}@NBBWm_P|44)9nZPJ=RLKl-p#s2 zC1cwl9EKl@KH%#!zQIi?lmbpNcJA(ePP&U4gswA)QvyyFQPlQ#sVtMo2psxG0oG4< zpjav;r&kiDF`RpR9c$N$snE>?p*E1t7#_fDF}y4vQ74ruzXx{Ecs|4WYqYW_OclXi zxKpSc-PF~m$A1;Ay)$s=D7uTxq@E+>*Ur+*a)BNH0Ei=~XUJRtgCLX)N|7C1by!s0 z*Bu%pMNm3qkVZNNhK?C}fT2O8ySqb>h8Y?ea;Tw^Mv;=d+oJQX_)D=CE2tHE9=)EJ$}|#B$r`uC~ygXl`U%QrDJRX!)2X97IP{O zBxI!#V%dD-@84Q>VlAyFVO(M_(BNL3Q~y+qFDh$K;+cREsRWbz{bzykbKXHctLAMR z!DX;OEqT?iOE+KNTbiAGPoYtWt6Gszru!T8Ir|H@)m%Nc@O=T=Da*o%tMj1BO*g@h zQAS?wte47(sHTL9V}n0c`)TP{nU4b}HoEdDk{{~3FL++c6Ujk;{r0cUpHt@ixsV`v z(y|$UGux1)i<`>3scVwFevH_NaLKZ$EIYBKX3>|4>P;{8v6ttfDs^&YzwWX859Dmu zp4Pdzefn33QE)&2mjx+FErzCz3=_8FlLNCNzs_C0Wt)E`snwEor=x9>>$j)<(c_KS zF(ph5w)>-iNZ~C6!N7f(S=$KAL+k1r)NGmVXn)&&94H z4H7T3tD>}PBC?A6{{wM65)z@du<*d+<;BsVqVijPOlO%^*I(|xt2W5BR+GBSNUHj< z(nbV-Oup=Qz$S+Szz6Y=ZcQnnEcX;5Q3yxY0TJmsMn~!kLqHtWKU&AI1$@)?cOrew%0+w`zIuR$ns0I z(t{x9*fUF^^ch~geA7Jfq2b~e)1p!H18x@23qX9OpxU1K!?D(?vc-AX^kqQKp}AlJ zu(Q9+93>53T-nZ}>IKm=fZkE(V*6`zbh@N5l5Wifvh?>G;w=cpguXtAASY3k?+|!(J`tp&jn@zvX`CaAB7S2uEuMeQ_76`Q0dK2VI`3SxyP|x z*?jPYc^jeTW<@bLp$}P@Q+VnV`9vDlobc0OE%-P#!lY5Oj3Ic5UE2-zm8WjUP?5VW zKd(7+rrdEz(0`O4pb#y7q?%a1_O*0a;}#FEWoDBkBoHZ|;bd<=!>w9{aYj|)Fco!# z#10KY5y-g$PC3Qh7DJz*zt{QNnTroVC1pP|Z}Lv}dc1s(nHDt8BwmZmZ@Vu>hdX80 zL+o}18<=19P|3^?#}PWBV)KW1vSaW(82wWuYtcoH^ln++*Rrnj@k8m+8XskY#a&ZX zVLNZAPWA{m<7VO|Ayd@x-{`*$fVDAe?5R)LOY0Lxq|o=zRXK{+G$(P26^CA41}b}R z=q7j|-#vZZ-5?n&#L8_uQ`TBXU95a0N^kxxLZj`!+SPRrlVlyJ!u=bt)o^aNKS^n7 zX`6Vj?hyLWQ2B8(mYr8JUsL|59eLO_B+OZRTO~V*As+|yl2m)e(n|z(_0H0$Kq{}v zlD5S?&ljH8L+Y?qy<7be%#egDdRPuL*uCyQP!asmo?5ZkTk)=9!Z=yBHARjKo%f%h zwN{bQ#6OM)H2l?h+2&rQ`3*coS#QH^?xIaI=mRJoPOUQd1lb@lYU(kuqG?005QE<& zH8epcJ2rJ%JdhnG^M_xvAtxcF*j(Q^m=2yb=wMu%NbfT-JG@WN*f+zSbP{4(dQl|~ z3T#wMdvsBu)Y_fv`?ivv%EJh)W6DoS{iuWUGsMc|uhjA+^KzVy3B_=O+<5FDs;q8t z`~`aGX2DpFs4TD{nL=Mc-h&n5vz$?ydIxnLB-z8f6qzgxpQpB0sGm0I4#gA~<(6Z# zbfPU5e}(;66fnK?ul_Qs!H>PkXYu8sC;tJl9F$7uK8FHU&8ea_mAa&ZYAdru zv&Eg@jeaa5Owo{$w@=4Ek(72Ki4g!j=Z%*tc}sj%JLEa-&n;=4=74>PH5IN*HZRt+gi zIROf}v(Ky&5*%~wfBXlU&4U||$t@%p&=|%9aYw7Zhq!oqP-JO|4D+hn(_(c24``f)WjpsrAl!_2SG?awoI!4UT~wt=~f`>0{h75 zkc)OO<78aHjUq-K4|5cF)bW;%WZOR;$R&vgwP2|#WMxvn&cng(6k@bH=IvwHq9v8L z1|O|=k6ute6He^$)|Ipmtb#(>j-%e)XOCxj-I}?8@N!gay;-zO(n!y{!*DUjck5wh z;rA26wGkj0>x}J73-xQ)c^R98$ZFKxqU-Ct8@$Q2)8f2IlNpTG}cxK>@D|} zE=}n`r0)BlREnO;KHi7@U?JV)t4Rh}t57|1L-N+%MwpD~GN0TbJgr;;Iw_MA{oN(+ z;h`Iu&z+uVX;JuQjx;Yg98AomxBpLsO+1(4qIQ-rXF5RTth&*UlHPg;4+n?%H4n=Z zWoO=3JP|gOpH0u4Aj;$~*5u#XJwj_!e@geKgSDF z;SeyQ{p|K=$(}}PY$Q#BpS?3cyb?*Yqcy}c*vKoP(ULY=wqXNwl4A&-l}AfqOA3d1 ze1gL6I{C#LHg0N$?O%}##h1Ds8vh70(y0WLwiaLCGIK-nt2<_OZcS-3E;99EzNIl` zGbzh2PPQdPMfz1RgKkHu|6JatlpFnWZaI6<^&aok8QcZAHbC1n&2U!U2qbv2_ zG^n<5gn%96&+7a&#B(c;<-t{?d`W-0M8Z3Qy@kHNW9JUE;;S!f!QGfSBo&}n83gT& zFB1=P#sqUHX3m*fq*k^KKQC!n!u5Aum3}S91+$~v`=>9Yp`Sc933TP|8tE-94jWLR z(Lcpy1fBVQK6_eel89;rlHB@Ik5-C3+UP#WI|6n?WzB{W;iSKtB3t%yO}al)E(mu5 zv0dMRX?`9Q=2b8gr7tYiF6G0MKE2h;vv};F>l&^Q&N5>HR91MY4XuNzhincS3Mni` z=gnoHhD>s#Vp=DM7mkZZMwXG!O_5I`x(AwDR#^s4pzQ+94HkY@Rk$iT7qRhCkT%7o zYT%Is%whmlB--)HCZg&$yL7N(z%Tl@!VJdTYhTc=QyY>;j#;EyYZJj_PsAm*S9TGi z30IGm{9?qy$AAUT2{)=;S@cu^HaNwIv`yxqVC}Fgqrc`$0S|}unr3+CNp!xcSw0+h z%xuRr4Hfca`(|pado!-$dSBtfyGyA!KS}0~%aKuqoP)rw%yPSKc}ld`kBw}eUFJ*Y z8w?!j`s79m^-`HSK4qHdsr<#>)eCe!0W7#hTQXJm`md4AAB)Ukozw_lL(!}fb1v<} zcYYtLWq8bnZD)zZgrx&pHZ?Q5Ui!YiILqq2D${8knAQt#_WKhMe^fraZ5$L=+?TUPa(SF?M@ySbsHI`BP2!#+uT z__~KXJtA`7zTC^xuJ@<2Gps5h0+(_!FKU&g7|V1h)NeS(z~R?BH9T8!42cnNsjNOy zIC)|abEZxt&48HZz+i0gn~#uATb221G8A5oq&yZ3GmnM-17Y^!uDFJd+W2oJ3=sejeW$;*LVTpWe(-mhm_`-Eh2E2|5yl?tpypcVJ)3&i_tTa2o#rsgCJ zAAOYV+s6~Ffk1>WKfM;wFtbYYl-5`2)nqX=%0s47wQX)#;OpJRJ~~tj?J_O(`Mn@j zU74WhsUGWn&Fa8*98qz^ydZy=M-wUAf9Eh|xw|WJpG+Hy{TGq1*=6%MXdC+bbJ}oV z@#mZgOUiiEh>Rz9K5N=|?&~#V^J8}VAUU4 z41(PpT*apZM7ypl^4vw5hT*kpp2=b=9(tq|e@bAKb9Y7|7=Ak! z0R^E-GE?boCxg_iwDY5!Wr<})DTJIH|3a05!p(QBCN0vFii~B0++*iz_7D#2F4&&0 zN4~+W-le6rKC7ezLpdYWa+l{xz`HOa%lwZ=0mnK;4Yw{kK{}z-LS|dd!F0yq))KWc z3Q^mKAp0K*eMBZ4+(Fb=P2Q%LW-Ie>6KV@gJx5g)M3PCV$PCskx8Ib>t@h2)RGkGq zey=(rt?F>eR)2ocuId#{al$t716nZls(b2bz5A@6)78=b9zZLD^Vw2k@*l1DpS~FV zxGw7Rw94v3$a8qe&}Hd?^EUeCi(mZY_0CVztcIgmT-IYzrPeEFatY_o@u6-7Cows) z>xsc=s~Je`Vl*x*!lj|QiYoSaUgPA^_I7;k0=AWTc%nP<>jFky<>i=0b&lLH{(t4} zPAxJNqblekI~uS&I;0oln~bGIf9f8tGB4lnw7HECTqMym1&r_KQ}SKh*#tA>hUCeM z`21abf*@_7ft0tDg@*XkzM=ES1CgCu+Z%>MDOH5ucT!!*3=h zlnZhk0%r?zoI{Dq12NL}>TG4V2en30D!l&6F;YoVZx9HCaNzyqM^eYt=VvB=)PE%= z{oFk=_h<9wrcz5-L!kW>X#0LFMi7^VFW*~yOJoWIUoIug92teSAqpmyP;i*=MhC7YQ}hT>)c zmIu1GY2}(MBR7aS71q_|<|q59qWl#{!p>vJWrR&^R;c!Hu1GNvM7PdS&PIAFq`dw} zL5-B(Du`EAqaatvwD{tUs`__#bFkP#WTAT_b$}5MX~%k0fTV}F%)mo}-fXMdEEPj6 zW=a-<4K9ixg`?Nb-s~O8xFdfIcTH9NF&}Ev1M5~(ocaSq9kyDp=zYQ2;^AZZa_3ki zB(eeN>HX+K+uMwAHNEiXJQuggKltLrNNMkW>I`$^-~wafjGArpSVgT}En^n81-!~? zHx~+yPb*vM&=$H>Ci9Kl8x}J&uwt@2CN3uqt&YYU%do;v&jLT#oz`Z}8L4&Q;uY(e zRpn^H!xgUjQshofaNg_%jWxn1HYb5|(j<=y2Xm+I>7a!8bE^06bxCX*e6x?gXbyPm zTh}1YA_K2>Hb!et=5V~D?d3{PhK3(9{YXB330PH(7_4oge%_FKI5clo6tU+UFU~J@ z(!8i<$|&VxB97cYUUoTJOW&I}0S91P#8jDhdY(3*ydG7WxUiKvTDhu+1^P8-3V8^a z$?3&2Vxd3he176@&!tDVFGQ$UF1x+L40@8qahx??*Zwp59gy;7VyI+OxJQZ^?9aLO z9SXgyFb4v*A8YsLbWMGbrh@j#SGuqab-X)`pBx)e{^SkoWpror2&EpUs>q;}ITkff z4we#^kxiOYgr(q>$$A~A9UCKRzDebEnrWpm?H99DVC6~a#@fy1`nI$b=wm>utf5gp zG?htTN+q8`Q1ktPQOCYp?WXTN>A>lCgzwZ-k~3NmQ?1Jn5odcvmIaqDURwnntegcL zvm`ZJ)>YLvbxFV{+#)LgN!ZOZ>&{<34xM?(PbxRA z%62hb8Wo8l`9ykDa%Wmz(7vqp^P9y1}gqF?46$4GYNXcvLl(NkVkqb`{QE` zntxZZ^1nn;D|yA0S!`G5pX&#C-XMb+oz>U9KYY+NvJc;@Z-OJLQH;6d?}k};hKY!l z#ArT|BAx^s8{{=m2Xsn!$7w5yLP>1Ze27m49x~9BQ`N~6XS&Nanw!k;h%QHK3wNF) zKTO6=iRJVZ4R2V=+zhdapBfIfgWakIMpZpqx4wR6$GXlT3DQV7Q?mAB0DqN`Q<137 z@Lz$P7;{%o{n{+FDj`=^Zz9y$`kPFIsz=&^Q&mzU{}Fq2GtM7z7ZsXxIj;k=@Hw6C z1+h6NH?Skjg*TI|Chkn|z&Udt7w!Mp?QrC}iw?}7BlFT3UP21_72F94wF*d^ZY;g8 zP$a6*!_4zd5(oW^hkmN)O=ZBfQRL8buc5=(ujbzDu*`S5w_4B-f##HAoaR~>zhT|F zW&_hxCk_jpsd=>)klT}2>XKqJ_Z8znoP6;$0&d3sw5!Xn8O22UmR!`o%)-tJxat8N zB>!O|op$vnf=i30ucjIAYp6w4n4bD5&_(~oGo4lTFPqHqO!%s$G9&17QQRA{u8JV? zsT=&M^kPW_^lWbK#Pz{c;;+x?P@8K?O+)Q_CJRRTC1J{A!!HNb%T1fd4ShgNw}>Dvl~z!t7^WN7C;cJK@-KK))_ zO6el!!J$0(u)8Ol@>aAE`_1p|_o1}oUd01u1j~5TWq?BINOe~DpKIgu8EpNxs;V1X zhB@IT*JA8799YRW4t^Ce>fN2Gp6C)Dq}7+MR_08E#jl`gEj{=*Lyo%Bu}Dz{SG$V` zHi}C{Zfn8fufh*^UvjFp?}`tUmTmLR+{yo>jCgNr{rJyJz7{v0I*IsC_8G>dYq5_T zs$jT#h$_D+Up3h_w-jh-C~+a)-@QO9D@P-ETQEh{cQc$Ee*yXE3r8OhYF%vPrmvou zKz^aT8hoNA`}RK&-k_}69`X5b&3_8~kCAArJkxxy_fFWIF(TcBiSUuut>3@>fIgI- zXl3l$mwZV*mlyr*Ovt(D#y@YC$_LY;>)n=3eAJ8oL1RcXyAuDdoLw4Aq4csvkm|84 zA=GUlsSNC?H=K@@W?q1{!_c4aIVkJ)dA=qq*t@q;BQ#5TF|yF- z2ba;w#hqJt0?`BE>qq+Mi-Q(^b6EsG$#yt?&Mzk`aQN@&H86jw(=5K3iethva|QmQ zk!s6%@JF3BumPH5@0A1IuL*-w*0YwPC)nqv=ADB1NZRL!E?0#o*?T{ZGOG^D{|9{e#jyh77k;)l=CmYJM zqgjov^)l6Y1}+_ctL8(t_1OPg_#p;nY}9BfZ{rKJh2?I(`F*oIm!^?8B^FXaj;L`! zTi`tMYIVU*hh#)x$IE~H$od{_hIHlv@AS5lJu`8tR}Mr2fxb_?zvkHVbt0)Gt1Bl1c%C>Emec zjL=O~X^fQ}dd^l;N}^$#+;@ajyivHI)5D)z&WtNdeiqtg3Epp-?)tmi7po@Ksf!0^ml%Vox2qt=eE+lY%Yv9%55r!g1wu#!IFMh1SAx zWx6@0c?RQ=J?soRfLxiSyldoT9zrcaF|hpYulO@;a-%V!zrJ?{iQB&MOtK&i>`#|_ zmoZ%87DhF=c2;Zl)hp;)h`$(d5)s;YVU8K1! zf<#eYI4-xF>q(rvBF*-jme$XEnk3-76PUn|Yw?fP%5Wm(v)>-&0q98Qktz=|x0nvh zVu;w6?6{%G20?|Jjfq2B-lh&~4&B@V?p?*(k!18CV1U=}dQ+ObPHlSqUW3_+8`16{ zDL^DYL|J;mvndBbI`U=SXTj-Mc<_IIxoE0yw{&5Ge92glS{=yaH9RVu+Q)3jne?X6 zU@zkwuKe56Zf`CS9hYpq5l>`Y!v!C3T@- zV_W9s)vWmA5}LL)tiBhjyge*XK#=s=+41)4%H{c`|)go^0HbO0``-R#oIZ z)>$&O{`zMutK65S9af3C8s8pr#C+Vi>dA?8wGn7ja8*8NW)&3=b(o_;u|(Yci7-9W z7Y8-Yng1MJ!Kg2V-WEY>znU!eSS93GHfrc6_gwBDKSJCAa{hVx{yvw>qHa)o^evcw~bGKyV-iR-Cz z{88T`IR~ZVgY?h~<^}QldbjCyV5h+5ueB}Zuj>lf-jl49k_hZRqhP45>#^z@DNPsoXvT#bTj z=Ta?Y-D3&8kb7B0YSuPgyAP#J;Z3w-Tz41>==*WmX%2G$6B0%zhd{YQs9tR#8dJF z5Kn%dQg>h<)_9D~(Zv1P82>73mO&1h?e}@mB`l3z9LsdVJns!H!*fcdGAsI&l_yAvOeb*>YpK-4{Z3Y*OUZPw8|%VS##xHodM7+O)t z>^$C7ABRF!G^9EW-2qLEV+Hy0&2Asou?F*ac1Q=S4QG*q%d_VU|Dm)MfmN~N473&%!dCR;nDoiu%xqOtB=Mb`x-(J@NhC-*pW4nJaI)-Ws4PcI7q9==| z@EjrgOQl1jy1m&J_heZ;LDBOXp#^Kam~Zs#(B+0RwHK-k{5~>dR8d zluKSU4MVm!<7tu@NLM=qkqrl*GlW8{C^0G+Gq*oooGFnQT@%X!^7jap*~CTES(Wv- zfqYJR zM@c=nkt&>;wQbWyyF}ijs($F& z#Mhd)Rspm;hbmsrez1KRt#h`gEsnoEu7hNoR$!fR8FZ3c@fBB#%w&+L2ybkLD07kX z0H9E=U(#J#kbzdB$(NlE&xEV$P%K|cZ$6(~dYU#UGb+G`SG_hCcvn%u#+D_eQo}QFYu-56o@_7!c5|~xKqdfoE>MBqq4@oUt>D^mFb^m{$`21MSJA_jBHd-o zf8lj=%Wg%tjsfr0yA@88L%T;&w3!V5tis_BxsBFmgF={AWh6_#WK9scFXjqxKi-7! zOdV}0c(z$MVIDrAB4dkm-{1v@;v z5%2P9WVV$>cLbGV5-f@51?jjW*3WFot|Q(pAfj zM&?Kd#y~J+Eai>8>gmoP;A2`yY0dTqqd?QU0<-ya$+ly3F{D|f24YfJ`}hoZG~DZu z31VqPqZPg|`J9-MY)7Zb0+e)C`-lOqkphy4JW?U}CdC_jGQX^)ETU2@fU33=Kdbg0 zUe&5=TR3780XiNM(_m@E<5I``jL9navlisso~>fCB9)`55*CcQW%|s@^kd)cd~>7t z&zM*IRh@V}kaO3}hl)NAHus(ai`y`oFwcFhl@1m$-ef3c=NGvw^lKq3#qYa2RU}LH zQgw?N0%oI*qfb%&QMKtHyX_0?M{bO=6DJG2N`7h61m`q19`sQ1tWHY_;53Luce!+; z3B+seKiqQEAs>(a{+a3TBujcZg=iXe@8Vj8@DM>unnd_gO@D$;s<9Mj3SPymxsDe` z{M=%7;sca;TOYKD?tCs`G2gA)N1O^@YtxnM|GTS+AT=>r6vqw6CUw*203nyx9x# zS%WRDC-#9)V}`B!%|!FN76~}jx4wb{D(1{p=HW))D2U$GucKj#t^i$~rEAN}OaS76 z_v~5Tx_uaN%gJ-h^0=wa>mn)TRnB|CG8G#*Ci9r3sD0g8C(V+rU-;?phJlz?KukE1 z$+h%SL0bhxNh@gB)?lbjxmkf*`uL}h6XmAd3K1-G-%&`xD`)8l3(Z<{o=TeZ>$CWUsI61E|Hhz&i zhAIH%9g=1164JH{hPN<*)~CiReNAKwso(QR=z8ZZB{5HBG+5?2Lh)ey7VdB7)p5?# zM6xGi&`~P?TXuvIA<>5H?Z4PND{UE!;$BUyz3rY(`t*riqLLD&Eie&c`@_wJv!sc7 zAu5j(mp9An_%sD?-M4IEYq&A~sToNQfL#z9hz`U_L+#UY?g!|W=E&_v(stK+&ma}U z$LZJt6#i-dc2}yctf?aV{2vIlPGTJQcW%0%GcAIjW!?vB4Oid&k4H+eS{d9=s!p%&|a?q|>-y@^#@t!kld)_Pb=cMN`>)N^sGy!>*Ln4na1p4quCTlgyDZbGp3^QyBYXt?4wULJ|*83YFfXXmh`0`NA7^-CZgpgSVmA2OcrUw>^d35y}C05h9?b~G!X7dF(ydi$^%W*2(=!eNp*O@N1o`RoQV z=kets|My@cZDGTN>0|Qouv2I@WFw+#`C$4V>MTn_x^Txk3+ub%@W@wS)}~8Ak!~)`Nr~;&Mqk=!T9s+-?1lupg)(!{;`CmYkw&JtBc-|+^}os zx%=KX%wNaB?6yto$+Yk=V|TtoV2(7Sv1k33si6^CBcrl1t-K>dSY8+gW}~$aTb>zx z%;porYy&Q#>~fwS@4T9le({x&vF7gGdkrYdDx|z{d)_Rm>UjSw>#kCz_xchW7yIsQ zDtk`BtY@jUx#XoO#c`v^m9)s^4z$}TM`grr#Mr+rfv91Q7}7#MUT7Z>xMKoEEHOd@ zBYK0KKa5=2efF5rQ2(hS$BGQxRwD+L8Ayaf8tZ$ltAomlaRT->n!?7+y!>zQCJ6>x z_M-5KL9MuEpmr{Y*!Q2-7Ws8e5${>5ZcsybCAY9nnz z50gg2Q+|38${vRHeZPTpEXiO$#86FMv1Z#u#NDML_;_UXPi`Ej%dDJWLI$27^6P7! z5;&ep1kL(&ywegR0NPR+wibL1lND&RvJJHsdRZy{0F^yOtY52{&-1eWco!JbDJtLG zo-$4%Bq0FCmZLxuM6n=!5VeGLz->w>1#g@LI;NUkcu3Mw@fW0!zjrSv4psD$DGgct zeyr=bfq%Kxe7*v(I$M*0q+H2ENKmrQb@Nq6;`lBN4Nwnd-8K2dFe6HwM5h~qJiGfi zC^VeAA>9|lzs+Sg^!qsLkna+>#|Cfx&ZA^m`zDu3+Gqlv9ov@WW52j=r48yW&cOjd z+#3eygbctHTRyk~>fSI02%{SCfiz%?HM!JzHaGG8!!Or;p!c>3UHP7XN$vyi(+{P_ zfMMhMx$4>ZRzQn~ML&+^B%}yTZ$KLVz#q7xEBK2JVK|E&c{&~FH+9GW;ERv{IJjeEU7e{92Up>^XxEsYkq64-~93qJKRWKw~X|n@An!iBG21H7loj9?Dw{2Oa zGn9hadHk)6Likh{M-bKE#tO!AWd&2_YH_AdQ{vh2Y7(%$a*ml!1 zN+v){?i-nMIY1YFRhVwK+}jse7Aed!D~%g?!s`})EQHP4k>VUi6~40}=nJ3`U!#ho z_K1CX(5+KeR9*CtS>T}HS)*RoJkx>y%R6!eAtY>1Re*uLyO7n)#W%)$t=P?=Y2l54 zOf25#OY-~=6gu_@t~kXumh}3@TkZz`=X>P)VfTjnci?*Nguk8|{m)+{accL5?Q7S@ z6{Iz=R6Xtb1&f{=F-ghxY4Cp_BM++jpOeC@g`BayipMl{^~6h*Bmsq7VjGUL9}L@p zD;wELKcZqZEzx;_e6nJBMby8y`1IdHd^=fr;?+3n=p$f@a4LA)!pw&>6Yt4=#rZoV zdqf-^So#CsJz!f~WJO)Ok*J#tXorvDJaM<^OG|&b@rB% zp`uIF)!K2olX2D&4;0 z#f^@#wZBFp@(7E#lq|?*LR7RBvi}!#&344|mWOtsN}fIg>26}#k4v1cuLIwHpFB>T z#-#tL>v!$rJj~9Nuj`&x+f&(~Ay5R00)^fo1DZQqiV#vlmX9xN(a9|ZZs06F&46!} zAbF0a_+LN3f0LWd()~I|a%Yf_oO6ZuLTA5?i6RxsquTcX@v{?=9iGqu0E9W5}jHF?NdcElPlF7GH=we@3yjQU8kK3fSoc9nSs!6+c8=R z8rYk^=jk&}K_pln*_^o>X6MJerbIrg70J2Ujq6fVrLdTqvZti^dBcOh`VGXv7r97H znFPiM;Me<{V1}hHxDVq^?bzZ_Ve4=?-tM2@jisu!-eJm!eKTjvOu5sUxt%vcjo0kZgf$Fjp^VZJ+RC@P(Y zE;BcCv!w|Ogl3Y78TTfBp8-n!WW^F0Zt>*sjR`Q-)ec-S?NUJaPSx(?tAt)xo!xQKIT3O_HPmd)Ge?<-H)O`iX;f?XN9yB*eb4kGP3f|#e|Bov;eLeB~K_TwA+ zJ>&$5QfhV%p6(kfXwQ;e{~H1Z@h)=a`rg)G#yEHCtYP|9r-nCn6=Btn(1aRS4dWkx z&FOOr9_4ov@k4y(LQk}ih@~ZI^EJRYJel%;s+)NcT?jhh@;WRl9w2L7lK7N$*U zvj|HCP0?#_NHGCDp)7^nYXWw``FPEzLz=38BR#t|>iTKAv`P1Dk4}Ov$73o9Bu>D& zYxe%NfkA&s2>a5w24Ch>4{HAdU|aMH>FaI8(Wgt79e#K2;EiMDyzK6BZ5TVYPLl-w z@wq(n51!rsK!^XcOZZG&S++qnCG43wO-r_8DA2H>!gy&*R+HWPABf^Vkl_*VtOe6E z1o+*T>V4!Ff;|}iDH0@T&usz+BNKVK^;mS?#rL#x5gPb6zRePF&@2GEBDqj&kB@*^ zbl>b?`If^t4tWYy3?vbp9HNt(gl7L(daWQLtTPMR=v9un1zIM2+KzkUlB+E2aynp} z%o0rs0NXVXM}}Nkj+XlH0n&K#y+F}tHXwG!wq<@LlVwH!YO1zv3Q}TL)}M^a0Gwqd z7=6A`I$dot4=+1>IyV$-ROKu+STU-LFJB!5g2i*7TE96HTKHmXIT9=PO{dCyiv;@5 zGXK6?rIU9{v;-qx0(4mJ-*cm2Z)v?|1cE!<*#Y2nf^U@1{`ZP{10yF1M3&lol7A#6 zrVG^wUM9cTm3VuP;0syi$#^K8vdY@2K@FZbLI<@8ys{c`{W?uP`IrCJfpQ}_#j)pW z%c@6?DW2jUNAzG&M!Qo8a87AU3R;0T%8Oc;hCaYNETc`;)vO@;Ls3VjJ@-#(25fOQ zm(89mCX?Rj|JV*q%%)jVY~ZYP+TL5O|8~j-Y%6g~Vj0!&{`}faec7TpVUKSU!o8Eq zkaiOjP?lno9F-BldiI-NK&Vdi`sep~4Kd$u5LEHNbxA3 z6~XJ*B6FUf{IsC;KgkRkuqkJ(|CY4r7oopxrl|fBxoWn&ux#p(&{1Suszv$IzU^{} z!{TmfIVOCjC4x{FIat!t&qzkeHlGmi&OD5Jz&`Qs^~MR~uqaNfy?L$jb!7+k{7}K~ zKH!hDpn=5qkEQKDS0~PzKlhWV)s1MAAQ)0;)2i4g(PXvN=_TU&%@znu+5FmxsYb@3 z;;#tDsqjDyHg2BTK=?0wnO(qm@q6=+10OWb!py0vI2W*+o#zF`9i^5s`Wi6hZfYO1 zyhtL^T*M0S)OBsR`QCdi-CbIvXDXpBDHJWWAb^&3s8h1$x7P}_XAc>$78z)nWq)42 z%~29!6@(iYDgIm=aqn$e-}&XYoqlEGwS`>Dx9+e=%*ZcRji_5 zaaHXMAF_|xI0<D-nhd}`twf46XOXsEustV60=)w%hYgg`=4rkBf(T~=PMWs|ZZilVl{(;}uOnIpmc(;Xo3$@}Bj1e}Spa%LS{CVNv-uXa)CeG6Q|8$XerGup{s=IvTf@ z+(quFRy0uh>Of7)Jh>=mElNo^10vnKp!lki>LYiLQ)$1FlHs)HV)zFe-` zWth_X|8k<;zs*0gZl1Mg_3%8BRGu_jtYzC>z$OOeOBRvb!kNRw-}*M74c7O}lwvP~ zKJ6H~^t~0xvPuu?T#%A9u|>J_88e7QXRL1^wiq~JAAm;x|O3& zuz?*^$i-a;(~pl$%98=mc>l~_ULeJ&%Wu3cpnlh*H6T;BmnR_x$RC2t48TbUqt6wK zgMceFyIfkE?s_lqWV&@V_-kGbjS{@9mZZ7@mOc`k=D+2ZVZ90bhJ%X(UX@}9{0xBg z=;4Rvb{;;|07P9viGWxAGqkr10c+5+T*h(eEP#1j#Cv?ggXM;?(Nf^DXkhvCf?tS} z;cc}3|6p||)G7_Z70x&$%Pdc!fyu%E3 zxlBq98d3lqxAb)U^2t>vKS%&Ug-pQaikI$ZGUh4*aahDF^$>8E(6|I{(t-k^1-tkb z^vVrB^aHr6^%TWOw867o`{VyW3-_0FOiRLk6{!9?nFRiqImQt*(v_eyq3mkN(DWUO z{6u1IESnoNu(GtQVk{f-aas7z(`W)Uw)qiQ|_Md-Z%QRy!O6}ar>OIfAo1r-Yz{^j#zUbLK}V;WRHsx zjvnxoIG(Lwh;ebcQ|-qI%<;;-R9izzd)zr&2Pj@7;X86OlWU35oGwVqA6vRKF%*Guxe(=xi-QlBH0l{*qLYI< zyZn_nK^edQm(q096T#TYF8ju%n6LD4=NGvYB-Zi2jvwJjHF)Ik*}%sE4#AM|RK*6s zu~N3XQ$PM{RXb+xj-2BEmws4LNzi|EQxu!kqKW=K6@|OwT!T$@Op`XfLlcI))5ll9 zt-=g01pxt~R7D(M;;AZ86;ZIC_v6lWL@q<_;(KCVRpHA{FSQK9NFgVD9L4;tXM%X=rv2KP?s0z9L+nY zXQi~ji^{h;K&>A~=FyYpbbhR-I8vdE2P(ZpWR-|^npj*dJ zP2FfP$iokm*Z%Rr)pWNKoM+4ZT|4+fQKDrZr2{Ds<{|d~A8-^S$L=q&qP{CH6c3Zc H{rl$)oP literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/wikimedia-world-robinson/2000px-BlankMap-World.png b/lib/pixi/assets/maps/wikimedia-world-robinson/2000px-BlankMap-World.png new file mode 100644 index 0000000000000000000000000000000000000000..84a7f3c89ce14efe178de063799fe718df8e358b GIT binary patch literal 164207 zcmXtAby$<_8y(FkVGI~014bjT(MWeU3W_umQX`~$bZs=!Ate$9AtBuoih|NzN-GV& z`F-E-uU&igUhnn9dGGr^=RWV^^mWz9Nf<}~006m$y0RevKr{gW;GGiVV@DRInccA; z_zns>3IISu3h9+K0ror8R^3ns00`g&0K!lJzy)?FYzqMJ5dr{qtN;M1Yyg1HBkzNO zH1-Ev8!a_uz->&*=tt~T01agYW4|9iuN|!HzCYPa3U#Z=(=vNKv9p)6H`Mh8>Sj<%iHxCsNNyj3siNqQ>T(?W;W7 z4sR8ko@p9p7;|Jyar{0XO)$`+8J9WDJJwn(M9D+9+{@xF-7i%|xd|1al*IVBT^5!1 z=!8nl>vOi^z)(+X_ps6`YU!(MtbbyFlhGn;-bIg;Y=OdVApJ zjwt*tZn)3{0j>fUK8xSTp?IFe^-_*_#g&Z+K5n=?l=39qUbfZm@K8|ZdeCw_82B(T zMjlG$9WFnSx_sZ_DBpJ>aA$OynGqDp`gbznRxAzv%@^M{1q*{ONG;EVJ#D1%ajlC; z@go?|_Chb)-Sb*DzczhjtBIZb=X!Y$tF^P3zPIDj*E2n#Z_a8Uqa}% z#Axj7iSZ*kmfl=f9goZY9_%T+#5?-CuD{b!WBDEK-hBJIN$#NB$Uy`S`RDG$7b*Oq zf!8?|W3m@pEP_vHOR=lMdjgesab|Hb*81_{WPUMd8g4@N-_39O*SRFqIXAHj0|e{$4VuCI6X60kdf3KyVc za*L=7-mDUz54rUnC5vm-`S+-bMZd7z3t2uKC=6OlDGb#9yCCewFC91C{qcAj z&LDs@{DYVX+128#eE-uErG05HL+*E^|KO!rrSkZc&obzOukhxCh&%qjC7$4L?FTOf z?gxCI-EZ#U`u{Xus}+1~zF1>Vx%!oLL#Fiq6>?JD4f=Fv{`Q6V!fkbZbH=|&ocqBq zaeH}{W*Ks(G#;dw81?UVSRKloygqIJ#Zl+C>7kDuolw%&hFzK3AwAIgNO%~;-Z?BW z>F4$7%F~SjqBA(ME3lwaoC=GK$W61=GzXTO6}j7uIY~I}zstf~>YC2KsBN|UQ~M=y z<%Wv*1ESqEe#!ty*+*b!PLeG#Sc#wgQkkBVAWF!jn%TvMWJw9v#l_CWTm%d@w&?{X zB%aw(xSaA~Y@a|EQLQi(FUl=b!Jmw_nPBgphVwqzL%zm^$J&AP?EC z8?*_?>GkW8Na9rGV)ZBnAAV>rR0ScSzICRLMq~8b2%hw%gcyCyB~Rxz>{BBqj|A~K zI%ZF`L;RTN$Z44AVuawC4U>Q@sg{2KF*QnZ76gd^r-F#fPV-E&y84W%>B1rh*xcBK zjDH6b)+?km*nF1Dw)YqMGod6`Uw;eAUA3f0U&}T8AISk4XXJ~wozo$oA}wjC)q=YA zDh-u-2G~>-m64|GF}g`oINm$>5U6&(Pme}3ItV98sPH;Enx>on=}8j4?2y`_p7r60cK0!a(KeO0E-UP}J5Xzu%|GVhg~dBgzWD z3)$tIZfkxYp8^QsXRB$=a45=5^MLF%<_A! zQCFdw;NCdO{uIR|DURW(?DB39NWs`nTT{k4m5*9p6)$3;BC~C`NKAE6;qb<&{dR;~ zf)O;&OrngzdFT?0J>U9$n#$5f3Q3d zqqRV7@wm?0x4AKLh~Fz-A=6Ct&&oO;w=o7e2#;x5r!OB_yqyG(<*5MrkJU0LV7D^?SM%x%znaX`aw}K$N=s4vv^RJG;BP`}+yN zU=eSzWfL~jNy@t+L3#E+p@q?R{FL{A0d8~zQa-knqJcdloN?qUOWwDQgF zy%en^UQRJFLLZW;cGK5^M!(%)Y-d#leR^mgQEvkJk6aavZia3Jot)#Tvvx9&95I^ee*S}j_3G?knMn8Z zv)1?HGFO9^!5b-${Q?O7NlmyZON=2)9G0gWSslFm(JK!``uQMX5y_!n;5Km}PEmQ4 zKWy)5*Hu$}DU&>noG-_e)d3Va%%gLEHukx3?6k@FgG`gu-;6=4GGmHO9t^%a(@KO0 zjND7zx1UqWh?3AGNn;S@y~nYBRYuRL93^efyGB1yq?tj91IuGhJ%~Izpk~vMpA(9K zR9J`24o+3s1e}JTg=m=Anu=CF@+G4pay#E#I*iL*oC{uu(%r?v=AR@v(>tYf=Q{Uc z$4=`W*wCY?+TTsTyS!V}ygO0o$JyiWTI-FKO98*vNDxvu#v)*TZL;{m%E9JJ@Z%TV zJZw|&$*}cW+XLQJ3H9bMjU-+l^B`qnDtR>}H6oYc=Chmu#jcp-WNplG)4}hr5Li?S z!vE+A5BN3XD#Dtrn_tdu4e0*@n7jX6nn)LzD-=Eb3>uakeusdRj);gw%mfA&3v^Ae zYnW6AN#nCyzm=yY&9LolN>q&^Ayh%&$D!FcDPkhe=AIy^A!WSW1{O@y8}~t1*vJxiSuQ_F8pwC!iN1 zU##vH<3cdBD|@?Qa?DO;uYIB?2R?n16d67IA)z`VK2eh|>y=UtE}>Xs1@-chl1iT* zd1O(=fn|mEf>vObL0mEBB`RDglYtV}br_t-!kI9IR8ReJ9R8_Waek@Zv~8KIm? zDI0XwJ4eR^A-K8v?C|mIY+v@60Gk5;mPSn?r|p0CPTQ_b7U3M8Kiu0_gJ>cF2wHl9 zCO=fl{lj8W=DQ?QNNh&zwj#*2G5YoVg+@?~zO{_vW=T=WDp#0d6p1Lm^Q?&3uHBF> zr7L2@m0!EsxJrKp9Dr^cM?RyrMuA3hhwnrv>(^I>Z9bSh#K`ykxoFlpn{XeZ@`6hP zyKc%=fwO!+^@&TUI!hE20g|;Cyp>)+l(A8IYkagORgBNMTrPcM-YBToU!;UQ|+&O44q+%(4)$Q4g5?Lgx#|R9btx7VPFd&5*(=QD%%;=cOMumR3@l2uXYPs|?+=t-``F zHgPX~%%U#^m82Za1W(mDil8uiqg}lBs<=6j%y|%1kM^j1+wBunHi0=5pBLP%C8A5i zMZi7rF>oLb!bjW1+nL`0&wB;`z^Hg*eKbrJa*KHc^pcPO3k|+&VeHnXdS(WLQvT#3 zxcRw~C3ia*O4H!|x3rIV9DBKNu+(aKyyJfNG_F`8wb{5HL+th$-ZZqj!e+#tkf75Z z8PNnM88B|ux`|0sbBKFnBTg@yb8T;JQ9v~ z1#SzmRrbt4Xu=z8h46P9N|SC~<@_!z+mFL9Q9r(5`mEwOhC7Eii^V+#51D9-Knera zFB2Y`#0hsou~E~;$`#&=r!5@z36%9AH8f#mphUNQ^25E@L=^@(9MG)5mt-yr@sar0 zGT-n~vPk~=8ArTLcGbKS*%xT>amrVL8Q;Z)a(Xxt6I97^aOpS1e@hzHhr>Y6W;+7H z0xv}f0%S(|%2jc4xiPN$upT~*mT)cdTsARQklNARN(_5scswc@rIjthU{)t>C49=3 zwkd@OVS_cQe*)rPDqwE?&xI{7hHtO09`>64%Of;&=a1j)`wuZL`WQ~-E|RDQWDe5$ ztdD>(m`P$otCm*}nXJ&1B%;oc(f4u2g?3^7BodXC;QJm|&w4TX#6qfZ{`~vLQN+HG zAs;_;@b0f}LCoIS zbg=SlvT_ALXhQo#gga9m#HG2VuA1de!#`X(WriQo8*9Ki?o5jJgllLedT~wzQ2dHl z0&-X2rjNbw@>npW{*^`ff6QXw^y_}d=`Z)7zG>B7{kabkqk-=;1w_e$&WNpT->P0d zTK7>!4;ixdQqme3w@j#pKT+k3h-~2Sw_w*GAjt9Qb0Q#+lOlmqTl$7RB;RA`=sRMr_+ z=2)H6PRZ#=vv5Heydgc)alUFyX}lu2ZA=>wAm{sDXyOU79{iI!VXRQ*v_&xZFpE|> z5cCh+dd8=I3EnouSRCg!arEjlJ?fFt!thei@{&+G_&uyMwk4ovLHOXJ^x-^9Y{mMl zdPyr3bwyNcoe~NH&s}IQft2jPN{DgQikeElp4FWV>kJZmO*<8J>#Q?LUE)t#&X(c^ z$q`Pz`FyZgulG(*w4Di(pT`yJP$gLIO>hQ-!cz?WQ%$lWD@&pCS5cuCb3LJFGXwvJ)Q|J)&ifXBUR&Po z)Gr;*)G52| zlcc0Ly$br@>Vhg%hTAkL6TqxR$>ACiFaZKhNUxNqFl0)opE@;~7KJNz2-1WPv&AWoo)QC^Y3ju zE~6uTJ`PVEG(|NGA`)>;)i}*&*QJogV@B@EqvD7q4fg6;JBuyU#3cQ%&Ue)TRKDDX zs;b>;OT?PLfZwVNem}58drUwSiO4d|ikIm3O8G_d3P4V5>dLW9EfJuuPo;w~0-@W5 zH|N*W0&&I=hAZqS^ zo9=N)rKs{!6R9;P_~|e@yuSB1m$sRbft}3d%r!1Shqn&|cZST3tTvxDlP3X4NX@$d z#@%a34S2U_*6{wPE&NFh_X~dXx+dd5WYILL#Y;(ili>oBxV>Jw+IBn$DFL24Nqwz z^8B>;_)h4`+x^0PIxHQ)Do+#Qy3tL_&+_N92lE<#Gwfq2x63BL!Q5VI6fLciK) zRIAYI9~R@96r7Cy0I)MXlja>UVe*E7>kOqA>`%sDMn^>~#O@mp;u2IF%k;=8Fy#Ie zi`!y9!w4Zgfc}NhIYZeI8w`_}$^IobbMAG-Uba;tf1RRii5W8Z3M-&(wb`kbr$@Rl-0-+nDMS>{6_o^IL#!exs~;1JGxGEEOgZlSNfsoJmJa5Ay z-E#*|H3;=vO)bbtDrcsu0&$;v_6S9AvpSau1nV)*0}0KRrFkL>Xd}k5AKqzI#0;^& zmUT<5h=|5AjkWa#$V`%%XlD-X_~Yg8_t<&hgWOc`D*PwQRyM4~KJO7E`142WpVd0f zqV5FmDd{|}{7*LX|NVIHvco;((<|kTb)C)hH@1XDc$}ifB6jh1RjkFHiEIRR5y}U)HivDM#*5Uf!&|6qXjn9v zL=(FFT^|itgp3REppj&8F;Z=0OCIcD$xDgEROOn1%!DpJyKCy@~^O($NS0J}(5!Jg2bmoCH!?J%DV= zDE9ZMtU@%7W_sOnKI}XjZFH%j-ArcwR7&Ed92@s&nZ2!B@Yk2$KHP`OY2f7qUmG;* z3O=$eI#;s0Tc7SEk&Q*_v??X|Dl7gKR-^r^EK@{p&4!#5yI(c=a`auz`#OUM#aH@2 zDK|5R>amN`N*V{9eF*sKLnWEOASOWKTq@}GY#9HA#bQ}`L-Rf~!D%RbE3UydjS!!!lU^@*_{F{W41mgRAyq)bVW|6`DN~S(6%qjZTf$y zD0um->fvqg!;kCtRl#uZrD_I~zo$-rvv#VrNG+P6?zzxlb{55Uz^7pmMc1q}(6br? z*yt12XK$ZqP66Gk+&>wd1_(bpYaljw8UM|@&Bx3-iQ!xMhJmbV>`KJ+@9&(QLZB2V zk}UTbw>Df4r!883*Jnt)<9(!Rq6zd9?~-kV=#i`Kcd6CHp9qG>J;l*+3Ai<`pJ!=* z(&pSJW^agBNgs^vx#jJ6Y`Rl3%*3ZGDe(E*X};9B8;=2|IloKE^+jD)f++-rlN&G_ z#2Z=BxQ$+r=KNyepVr4jC_o`*#m>%JyrkBr)+zjxzy~2g7S|m{;a76>u<-V*FmyXb z8S&yDim_uyM*|LOmvc6$Z>X!hjI=bw?E+trEKj=38JCcuziqiM5k&S z)H5|CBEzPT&8Cnl&y+=AXILYYFvf!b$5L%pS2*WCMX~ibn&S~R$7|%-rsHH0&@%1| z4+0E4xs`o`wGs7$=n735bT6XKJSCN8g7r9K;;bMAxoNGMNMma;MZ!G_}ZH%pV_x8r)( zx^yNk|MC{s#N&q_kJLJT{jQ^}*e=N3P{}m?{hTifzyY{oa-fQ$Vk?+5>*qjek<(>y zI77eymWq1hWNf1Z=j(>v_*1WR40-(ar{=ZFB`aG4_91RDt+m0_rRUhd+1%lz*Y0i< zU%5&@&M5|>x*GKyx|{_7tBr*)82xPL$3DAOR#vRVO+kqXI?2+!QoIb|cl(g$f&`6g z*Y{PzO!x_bNOA%K79O(rUgFiBvP5kfyo3NFBT0qb$Xjks1z5aeZyZ2C51FN2LGyFF zR&)}bT@jI(7=cO*S70Vhcr=olA%Xm?R=$1Ix_a9m$a}?hseHOfU^C2s$PyM6- z@hY8o$&hsr^2!`PVom`-9f!-|T=3Z+L-U|b0v-L~<@3jz_;|UA^Ca}Nl{h>$WJ?b1 z>|XRyrbYqC_meGiifmm%CIYEAcKta|3pg}&V&?JF9+&8G_LnQ|`v?TcMM0q9i9aF< z4QiVlKiE}LvVQAPd8dd&6v<1Gc7~H7-CvHJ*ThJRy-E+%*9$$Fz*Z!shMbDAvEq7~ zu_`L{_g%o+yr%q!PTUse!eS7IJZdXE3*0;fC;r1t{y~|XIg7!}8PXg!<^;1d*9O}? zki4UguK|J%9La{X0ySr}_Y6yppE7LH(+=Vxaq)>kN3|0Sgg%PBO+(_lf7+Qa_VrE! zR|ljlms7Xr^hf`N`RDNamdE*b+I9o)O5OXhwG6zWPzy!}*XPrT75)NH!B(2~+$Dv!en&>X)C( zTA6LKF|-3oTKM8BTcpyFz(ITlX1^5pkFJIaRdPmh@?2h%o#sI@7Y`D!kijLd##fkL z)GKbbf(~+4PG4_7V*FVHF16^d%pA=2xF})}thv~$S3wG7Zv2h8P*cxhT(P^;u7ED^ zApsDr^t8ynDdn1D5RPkCRSMUx-zV>}T9vBtbX8*eI7Te%ePwQ&H9JT(~y zqRKdxX-km1x>^igq5i0E{#RQ5TT4nFJzG59@x`k815p=4IB)x<#jHWS`bg7b3b`dK z8zZ+s{`{FDtJ(T#6P_u-YnF{oe5)pKzLWttVSyXmcvE3KE{ zG?$Hx|P_#v(sbKMgtVsEX1<6CBG81<}Th|A92b4 z8UNV)h8x=^#WsA4BF)Z^eB1Y0Ll4$%yCptWsZAnOoTsYXW37}>z;E0xh*0s;l}7OW zW8pDMUQV+e*zA+@Qr#0(pVQ+ahld6J>seyjXRir7&v@D z3*tJoPAh)P{D>{Ccc}5viTG`GjyZ_oKu7Hq-#TcD+t%pM@V!0!>aa+Dkx>F>!(K&a zJAkXofL&sE0Y}t*8dDu7D7EBN?trdPOR&&O|`yRf~HT~jg`mT z1t{LGVSsN`qbL;~VB;mS%8M!oY+zSgOvRQs)J;KnUp`TR(4ZmPo+^^K={ukLhYr*<#Njo=Dm(WbW!i)=P8 z9pkpn^uL=0=E4~CiE+;mW|>8xny1pI+UcX9Toadw%xy!p-9eYvt0j1S_r9yeU}dsD zuaDo+5IiuQHF&Mfrh=PK;{RqL8L}ZOnD(swp?qUiJ&!JNj1+<-MDYwW8Teo_L}dIv zmR{_JUUi4I1({%b)qfk8q#YZ%<5z=$me0+%a!w|f-Do1Is_iB;N^nH$IC7Jsl5{c@ z*?++`6S+f%?a+sKq>g7ms-w?C(?d4PTvK9ZK}ig<-NqOp%p_x~rvNFx>o#wVr$g!8 zD~5-E6!>-Q@mWMa2QM;JDd(^yl$bFJ#YQJa^+_a@wM@Q*N3QxHGbwz;ox2oj!s*GJ zM;pyd>^_%KC)lRW{cX_xm0vj*4(?TiF2z{NmL_1f z^vI4Z$ZhP6f_|vw5o3E1cLudA9Wtc*qM-&ahEyLd2H;DMLbb46tX?PrzR?8v^G;&0 zS7LVMv@{QzqI{-5mGPkYv!e%B7{1adwUy@7Gm_^D$!r9kkAHCOX7^4&*pTXsW|C`% zRL~S9fZv&Z2q}3Kk;I&nFRg!kI*;MNfK2w(A(h)GU*w~hb!u9Zo$TxxiNQg9^;qHn zHQye~v72?d;2Ve9@&Du$0Cx5cAxkk9A&QXA%h&`3W}+6Sk$tAzw|3%Js+_uLXz`PF zizc-}eWMkdaE8bltyW2it;gxEIwJgUAf~4H8Y}DrX8bUlsVYQl_!tSEL~m6CF6tnS zO(UOl!9ZG>SPn|figcvaN{}Ly^5UOc@sd@ElUia|r(!WMcj2r|rG0EU`@J-_;d?K` zG|w_roPLYSg?E&)2m0NY{XzdUhG#QiFGh$S%w{Ux&UoNxrJmU- zAOS+!kV(j|a{6tSmJ2$T%gaKVoxQ&eA2+1MVe-Sjg5*-A>NdUYqkxxEb|aHQ{@tfw(hx3x5xaTwT}^@PU_C>Y1LET%I1bR zW~T#;6giH;Lo~)jWR5;Tdie{V(BjVZ4`7n4c?tU-x~q!HR4@ zCQ$27KJhm-F6hM08nkEv@mQpKdaFpkK3B++sIjqXn3x)}K{F5#(#xP~3w(x}aY-h1 zcB6Mh4fu@ge3TZGZ)7^|+Lk!|s%ub{hCjTSYwfsrNrkPE#V7ABbV(D*iC!rWxu`o%wQQE> zY*C2XT^Vy5^b{p4haKv`Q%I% z3j!~(UXxsos{0H@s#gE%y>~KS?$b=AJaE@N#FH2&AE5?fk(-ZSW9tqa7eiCvgt1T~ zF1#~hea^Wuc!S)bCsBaKXOjx`q%*N!lfyOouu*&xG1{Vpo=Y74^~g=xKOb-QuA4d^ z@czxh03pfii^AK+rZ!d%Rhv+X3_V|H^tTrhO{YsU+xjK(;gJ!AGmS(q8MM-olRQRC zZe+uzGZ14S$hPEg5SP~a?){ z&!cwDy9q?P@nb2eB^55UbL4_H>f}zgE$Lhh{xWSQWHjO80n5To(msUBsP42meWwC(GoF|%f33SZ5dq7cM(MFBEOoICUoR)vR{d?8%FRn9NcCj{H$gu3(QGh6 zA#ts|dP0icb4^^b^SUe+BX2L$=g|)To=_^*%`+?=g;S}luaB+=09o*IQe?| z)-FDLkbg(^LOk>!>XuXWZ;{evz;Tsac>cpZbh=Dk{8zhE0oTZnyDN7?x>0eU{%(bR z&mKW&ATWSJrB+NOuS6T;c%BEE<_2{;Q*DzYlt1vy-+HfC%lRZ`_P}fb=36GL z9ZyW-;>>TIYK7ElU*}1c)~o$h;$J;p>cGiMNH6eiD<*J8yaryRii1ZC*F-V-XnWfz zSEg~O0g0(kJ;lv~R?c{5GQ!O_Nq9*R6h7W>jEONeo{PEFPaJ5eSysv1?gviOe6-hI zbJbQ#;A6TOGvI}*<{lN8Ym*K02lo3t)1@l!{mT3%-Dgi_7A|1nP_V1>s=A;16)biM zZ3~p6Dp5YIdaIFx5Kw^aq;nfp{A@`!PKL8RXbE1AKM%CLsj&1v+wWEXEAvV?Z@Hg; z7Z05c)Qz`rZWkZR%9+n_5}@Kxj-?bJw69KY^Baa%wEEqOZVX~N)$;LeYmS(p@KL~_ zD;<60@m7r}g&xj|axADsGm24^@;GmCLo_IF0rt(MP&Jfr^k z2@+5+OiPqCCKO4;_Vs=L+l6=u?IL^jrr(!W(Hh(O9L=9<1mAXEu^KqI4=^k9tOhK8 zE+77S_bE_?o-1*j&z+aj&FH7e@+9*BTpO1KSZC^d>mejm51@NpC)}D$XekhMU}Sl9 z?oa??|69{94IYRtUcF%nTpU@k>G*}`U$C`v$P16aCtkryHTFg%Tx4EM32dBF#pE>e zq{gvS&eeg!5(7WVBgbHZl&dr4-d?$)52{k1e!kQJroGkK4+bS6C?eI(t+H8*`q#_B zXRkSD@q2Pt?jD=ZdDc@1k3tzZC68)KK=K5%k2|Uh?;jp+MQ10pEsIvHmOoB7OGZ;msvW$ftKR6#=?Y4pp|kF40af_0(Rd zUPxNRr4+IR7U$W(^JB#!9jC6lK|a$=WX!L>spoC(s8^T~nY-Dec#s=-_=L6gUq0F%4pI>ztvK?WN1@9{!^r~k<M&fpn~w!>$n ziQ*8j#$$D3SKM7YhWR#{njV=u8T*V3&Q6g<1D8Dd6E38`tN|bnPapgCeHCl?6Bvgh z+VQ58EVZ|2lejrtE1KVom)y4xfR#;8ol*m72pEYX%{0&9oPPjb;7XSJyZ7=DA z0tUuAuJ3o)Dr&!3V6^sPo~FJ~7nUdEM%M10^$0P@nrHGT8fo(k{c>FM4;Z;A^SJXm zclLfBSF5d(L5_rVe_M|-hKoTX$EjcZ>kILZe{diE$X*oB1JaIgr#CNbh+^G+5O!4x zM)DjX0fK$NyF+0q^|{#!(a>k<6J{?}GlZV^y!Ut)n+jE?iIbq>_XH0b+Jq@+e`aei zuE$#5Ou5P>pF`Ek`DbZbcIMs=Nt$jt!SCT?F8K%QVI3+=N^(HiSXFSC=GHs)*#2`Z1p9TIfB*&r~KPfOz2gT z+D#S&_?KP80MGBq{fR%lnsE(*gJk-i#_>O6rr%`!42y;0(b{`H5nuR>dBiXU94oRp zG);(h<7(0ocy6}wgMxEaCJFXgD$BG>-3v`*_UnHhX=K;6rsNs@GvyJ+&Q-c+#ykSBp_i0lx1$p6c!MJa-^ z6yIa$P2!L?i`E(NB43JuqrkDHzrbcqes5W=@yW8DaPzi!R`xo@=Y@}C)nPi}Ezvj? zscaD}%%MI0_UP5m$pS`Q3lP>WhF9Eki%QfoG2s#28MHF`7IR-X)%8m?qZrZ#!5$Ef z9)CNSF-#FPF#!Zo_FoA2)n0@P25naq`Y9)(unaRosf%yn@WpAzK8@3)&g)IJ0UGC; z=N@GYR*Bpo3bUj1!Bb-<$9a?+hwijgd%KY>Ln@Pdne&4|TiasvLgPy7Fu#^-N8#{D znEwOm<45-B^URc~<^(A%3*5?HGD1S6fR*S4;WHQpM@~#@%Aom`tM={2QoS}I^X#kP zf+Yr=bfqW!zJys{8{;no-RvXDC@ITZtn@~aI4tkXY}F)u0EJyEn0v2Ta$DX`E_T0E zOk$h%kinZTQe}>V%7S;yXWuOJ<#0|_#@9CVer10|@UGMyq_GLmMe98t~3u* znDC8#n^=^E>eznRam?(_LW|e1Xl~Q^Y1uW~mOQdiama|daMtGYNOP;m3<%%MiF$dP zpWvjAVMOCI7;{MV+lG{ufEU~r>y(FE0dZ;7&yk)*7d+F+o}C;rTD7^;|3sCo9}w~_ z3_yaHJp+L>Z=u{*4*OTO%lq{QAh2E^Z*L|tFj*~=q6%XaF|7bF+N>X{m~W$Xem@Do zYMAR?OAxWwJWK<-g3P$M)e)mNraBhZDM)9*<%5aH(ZE|?OQ#Q|G-GJ|YW_FPuJ|{E zyu7vQNICiPIBG}9z$5AKQR29JyIBfUc+4yz#@Zwj%0lQW5GNqr)G>{&5d$T8-{>~R z<896lP7R(dEju-CmkOcJUnv3J+Tq{u!Bcp;`AuoA!n#;QTm8#dhi;P+UD!O@GRDJC#>?+F;3s#ws7x)R zmw^z4%D>>&FHMfpX7(`s-jy@CSb3&z(14*YQVsu{*|WjT6JOT&m5-9Ru_9Unjj+E` zH&^-b?t!XgyWS2pEw&BuV}lCeD=H%8nKxU6ix@?^|8A%>WE~-)(4b=3=M#CV{%(e= zE>OTONkP$ZhWku9=?3dWj4febEkQfP@hY7)2$_9vP|^_Rb7jh6C9JeAEnzWJvd;0+ z5fF$YR=C2C`}KJ!uZ zhU?byoC>K^jTV+MQk;Z@gg)BZ!(5Vhw5EVoXlU4&3p*hPd|2C(zuIIY7Tzh1U_CO{AG-Tl)0@EQ z%d%IZ2(okei1YO?O8e-XonpurUBV1DF#~tl9D62Ht1?9#GRVBNe&{{T+M4W%lHgGg zkqjNIU&HTpEB_mFrvTkV5ncuX3R%S&tglstwio=1{VI`~^BwEdQvE3DuQi?Pk)mVXBXlX(KmIq75hM;c$Wt) z6Joga7Q6E=OfnCtk3Zw?*3@g~NbrggXj`R=2>w)Js8G%$;kAbG#j)8{L%}l&l zD~?z|3`DURHmfhwZBRPV(fXCMZ%ev$2NNDHRrQasAD&oRoSW;^f_FRb_7i zC#zS?W@W>#d@G;LSJLo^rC3-yPrv7&eZihS^G8qR`52R}%gEh*8~vWn&i-EIL&R@m zu(7eoyABH$hnAIJEXa~i`oRNdXCL+x<xIK)hUB686e$n1OrhoNfjJ5fW7MaI`KZ?M@Wp zkJ!ce^)RsCRH0ZI!(eYNzuKYd)LW{vL*n!xT!Zs8*w%}i`h&fWR{{wun2EnyI;ESK zuynA76^>HMr}LoaK&6<>F&_n8++J>&6={+?Y26s4b8p}M?OB=HW8JW-okgYV=T$%G zli4InKy;Y4*gzMtv@{9fRD{S)=OQ{UCQW0}%4#b1GUDSPbs=~mt1e=h5BqyG>m3wtJIV_>v^J!ky!1QdcT@x9} zY-TRoT{7WhwhKQus2;5crryJ&^Vqpg3r{24xYEXOUtQmkD@dENX9gtGX!_J6CiW>o zTE(pSFG{Z2yP@|w=DrNKQq}rypJc|aI7AU!8wY`rKpgrv@`*Un6vpu4L8FCO^+9!% zx-bfVs_O0MH|@H&CBix=(Kku>wls3GY>A?(J~;_VZd>qLKohGm@9D@r188KVDw7-^ zwxjQfE#;!aNWm=$+@b}=-4aS?Ih!CMm3-K{uc;FJ(E%CKqWwZu`fRA^D4j5i@)Uc& z532*R6Z(%G^P%@7q}2`~eM;Ob-#^_*XSeGI$YE6A*u1_pN4a+TiB0tn^Kg2E&0Wm3uhlR#M69Ur7#_8 zlSa>l)p=-Sj}}5cXlMyge~`ru*S;zo;zLU!OI~is0(C#U!ijai~IkYZANIRB1G}13}J6 zkk5_7%MWj|uDW9+m9Bzh=;_5$NciAe)kJ^*d_~RF@@&J9RUIhDE2gqyI^|JC+5J+R zsq)C%R*cyp@mayK+7F?Dt0^?lCSaY5p%nG}HD>PCG|z!P&LBGW=YF ztRO8wdBTTG-e2C6aN+;)@uFq?=CUqG*ZiM;_2pP(UEAfu&}IA8R^rn~;Gz1k`I6S3 zH>Dz1jT)*4I09m{1UrLU__4oAx7`fOm6@46=nri8RUVjj17LR@tBaekM90@3{r;~7 zA>%>^J`~g`qQuQoM3YNX zx%6n8oHz@fQikz88OSlRV|4wNY-EL#E0V^KWJWhPu{t+~8vDPgA`Hy~iXiMNjo5UU zBLO}XMvYHUFa&~CyS6chONtfu%%cH`B2m$+G%8jkOTu;1G>%&uD2g8WlK8e@5$*I@ zSiRJZw*U?4(#udWFOMsQ8V$IDdZnuEB=&t0W8uxVNIgDtZ2@1?M9{{c{=86gVl`3< zV94H#7oT=6$q`|dc^Vssv9Y%ZIK6`>@M`qOe&~tbV(Y6l*?+n}6u{tB!O-!h4yU3^ zuFN6$q5^eJq=G789pX}@9I}0m^SM}?Ji#mo>o8PPQdB7KCGjH13y2@$w0*VW1m#P5 zJ)o@mtG?9s0zu+rwSN^PToX^M~{3JQ9fHQg)U^)fms zI)0a<=)qvUHX6<^03V~Yva&|^^-Wi@-$P;`{Q@UrqCs2A`bdu|jMLN~am(536=~Y< z42g);Y2FwSeF^<&buGCTQ*)vQc9IuQyvDG1~Zr@O3R}A153qA zPnB#D5Q5~b@nlZf7>NnA(>3f40UbHeqcW9U`;0T=&rdp94ws`*TWYI#5qo37&{uB{ zL)$dYJh&p})_H~&^GqzEGgytAaxM+WaGCej!UYR!67EcmM+dUnXfhVW6|VXG3okn> z`|ACAyTG)?kRx`MvpJS{K0&M!U}bssVLxDA@9H3b-r3^=*wk)YziirhE}CWNzFl>V zIOx#zc;0PJnc#|C=}mls26?X3tAcHYa@BA)duQz;jBE8L{N`ybkGiztVK&*llZB>H zlH=?euArD$%uI1VGKA%_)J=5cn!gC%0|gP%a;gwECgu!DKETOoWvsdq5D*)wL9Y!* zpToNVvLfcZXCHP%pDa0nnY6#%?^BzYoS1ykKU%Jvv0J&tow(e?p;wHVM%!nA9!&3* zL0KQ*(B*R*h+L^Vo}JF8gyu6GKi(6{h|xE-3tycwgZZvqbl~SGaKXgh6c|_~3&}pE zhjx9LOX@R9vH&i-M#{6QHq}Ujcvfc2tz!Wp+8Yw8`IPpxhX6jXx{wDxMtBn(pFV!PcS0h5jU-WBtMS3JmX3G<}*G2s$$Z*Sa%d@C!g3XUg6D<&X& z<*EyyCqW@A4T=@hsTVGMFh}KYB!Tafs<8$v?vSf93TV@2(65KL=Wpfw_EMXV{3o^#=su$5B4p;rc{dYIOLSB+GPF#K4Z1->aPm zA=eM)HeAN31Hz;ccJ!u-^_#&b3+@kjs5uwG1eyr>94Ls_x~^qJcdDh)zLA`Y zbF%w!p&EM_{tUP)p;Kz6(zM`y@%_{@BqI?iGu9e3i8picgcp)MW7js$%-S!+T9i1- zV4s#~h#e(_3FHm=yY@@YY&E*xq@q?rK9I=y* zuPTKV$OxEEIXC3is{CGO2IwX8xvB{cLai0=TNAt(5*7Qjv1ROFItx< zL9lp*j!*PX^L@1?%StM0eJ_VOT%f%oK)av){)1g*-6RQ5T1siydJh7t4tIHFE*tc2 zzh~UJo|J35RUi5Nx8RY`zjD9s^9|h+*u1)oFj0719NX#(Y@{?H9DRGtRhTooI1P7y`3s7W*A!M#> z>gGF60tcNcNi?92x@|)2DrZ~%UgJK%-*Uk-na5!g88A7E#TkM?hI4Jw@3%uEjt>== z6)ys>bN7MNM$eH&!bgDMhFae|%W$ZiWZM%Xz#wt4dF>g~6MS=-=MoMoGhF5_7O8N8 z$8b2wB`ntaXxl99;Nm&Oxi*L23Gxi$u+-96l}KZ8nmi5?e*6cj@_d@m6j|P6k{t#n zFj^d?B<>)wDH-u;B-Q|p5foN7n8F*4?$v#cTc#N&+QE&y#tR)c@40bY9bym-s8K zZYw@!C^g<&Lq`SzM2PHrjr!9YvV+DM$Jc{bHJb#gEXrKnR-iFO1&0)ags?Zgf065( z+?Ja;(O6Ag)-bWr(eZncc?%1JG8xv6T#1W7aAO6D5kw_Guqh*@$i)t`f7+olM3iuk zOK?89`d|OzFW%QTl1u_&pbHKovBXmtRDxbQ{LLjz0v(@MN3}*7ml)9|r@{))b#zsd#L$t^2;c{5RI%_A z0c;j1d9md@5(*X}Qbh0(Y#gF5V=+t^i3`ZAwb_Ga81QQRORQorMV@C{K607~z-568 z-Zw~ddz&M>!5SG#Eh;gmyh<}^gDdG02E!yaErZXof=hrYRBAX}?D#qaaWHV0^lEBv zzW9~H3oH{Mu)`7maNMC|jP=BLy4A7Cp<+;H9E&<3Tyg|?d`qlV<1`l-L}P^)u!C{KbZkxfApxU;6I>;yyLi=_%%{D%@!X)j}#Hv*A5ybLD?p&M} zpUK6gL=n58XtB;xhdYIzL4xS`yz-m%ySRXf)yDm?zIV0iEpJn$LLC<$NmQzoSUgmn z90Y=H(U@rj3mh)?BzH_EMjRi0{5@*zS>-pL_}G8?m%kL(OCSt%!LIn)@A|5r`q4A( zDrhU@SfPw_1PW?&X1LH%gjr^qLC#VD?qz8gYTx^ZN(hO(XUN7l?zQ)_dAOzK@{8Xo zNQekY0<6p88PuqeBZq^8&V!p`zy>lZHZlg+(HqBFo6LqT$7LL@v$ko5B#06ui3((K z2~**@mY-1OenONeZRiYq|CVae8U`+Kfl{0AsBq^t-PB(s#~glQ#IaD2xXN_~sdwau zkB}e?Nce7ApI3_-G+NkXSYz?f*PiQy7(I|${#$`n%9QXCWsXVC5oekb0pQ6k_n^dS z&vBL}!5kH0q{)%TCCUIcG8T&%+}@_R1mI52?%8P@WQYinu5wWvqz;ZaE_td*=!DzO zup$dyg8x0+tRf~g>Rd--6;Qa35bM1w>TMeZwm+K17$Lr)RON|n?~yTLP1y!(tdeVT zdZd^l447Q*t368~=sghzk#KQwH_QI8oA@syyqIS!Sul zb2aWDhQVVSB7130Z+gEH&$Owt)JS2Fz)z6imVqPziZ43qdbkI0aNHT)~e^f;2BsLq(#7 z#57=HP^1jphSQ|WK1Prt%LGUR*+#ni7=f0BCF}SYXb42^l`s<|IyTbF7}&@tI9NC+ z1iEPLv>qX^Qzb~Ab6%m#7{?o{Pn|3kEKD@~_^~#qjVL@o0E-27FWc;Al9(5XU){z9 za)S^jJO{${Etx+uqojyqaH-{LD-Z}eCBQWLp5y5jzw^RJf9+Er6yqrn2D+f*dGR$r z@y*}&p6OQ8!=cIo3r9#1dWc|;y{!F!ip)sEq;|kNR@yBMN1Gy7$TN)3>rE^Zriw|C z8YfYJ3X!hbg_UrSS>ie>cM@y)-eodeYg^-ef)R>bYt)F!q%k zf>RZAq%EJv_A1VOD9kd9pHKq z!5GhMx@N~%qe6lhGBKjKVsq;G{HUS=i&&&FsiG4_!k|n5A2l*8Fu^52AxR7unYB&* z8#D&-<8E`;ZbspFPuo6587I_n>q3(}=bJJE#u({H2ChsA7n4~`?nYvs6%Zg18|Bf;}RW<`{lVe7oN1 zpQ-(qPk-{e7gxk+3WR|!*pd71e$}u2?CS^H1^_LdJwkPCQ&f*sJV9p+KOr>a7Lg_! zsj-nbNZ5_X)L26!iXRJ;8p|8x^2V6ZmK%mJy z@Nf^u*U6ZlCw+vw{W(G8}%$ug^r@&Ji@h~Z*-^`=nbsV?#*qDW{= zQ73|oi@fiKxd0cvQJaR>wF`c#D`&I}>0dCj&)u}I@5gn6J2ja!Q{HVdSQP$7f{ zRB$Mh!sRjxURIFI$&SoPiQ_DHEISxr0)vH~=5nMNC5(pIf#Unz26I$tXhgK5&JtHz zB;{+2qv23O!XUjz!@IkK+7R^)c3p{=Holq3VvE>)jJv3@*t47lfk3bx<_Qu+ZJZc7 z$Kr!8eB{?YF5>6{VW11PMf;Xt{?_mOh8<**ZAyK6`0oaplgzcPT0VTFiILbbKIGz3 z!zPGA-80Z->gbdxkSEtNHWo*xfXO&h9ek23J}#0%W}YGtB}kAlphST>6$)Kxqr=AP z&ud)f4s=$S+orlT$bB89!`duxeM5wNk};mc1O`wTL}R||D4>SM2`qH{)X6a1Vu%Ear65X&a)KIXIxWWW$TxS#?CNg;4 zg*zces*B`piAfZ$c74}xe}~0!2r;@tJ!p}~HvPuO=|*>mjYs7&1!nuabZI+IG17G1 zms?2F-G$3D;-(M?_5p<$NrD8tP86MTq4rkV&qp|{+j5313WzLhOK(%Y5F~D@=TiGly zNrnsCHhlt{fez}ID?H2M2D2o|DHLpMz$Hu+sMBo@nnIK%d|V{V8UvKj_i4e+k>eT` zG15elDWMZ4PYjo(o|;5^CB-;njCsbQj4C4L2Y^Im(|zDDhs!GSA=8DJ zn?bBaW5n%dX`U0PJuJF#s8A(O9tCNeNP4mHy#kCfNRkBV7I&G!D$g=U_K=rvr5o#{ zM3A*j&IXATNqk60Lflm#=r3HVWLRRJRcaVGP3;!9BdNaicKvOJap@~!35p9bz=;*ZCi8L2@%GJjDt*t5-uT17#j|rDls&UBco8p?J9wL zU4YC*M%r}9(@0>D$3@~eDkd3nB$y@wWO#bl-$~|yCYiS)&v%r;F~n^zrvBH!o48h=ae!5&nZG z$ekOSyXARmi@QPM7;*f_IM_I3y;2i_K+t;v94FDCYyMLG7e4XHADq7?MoqAON*4%# z``+-XU;O2lhq`#i;f_3ypdVTD9LigwRMjnyu~_3S7D#zIq}@eR){S|m#qXCJM!?0! zfpFS0%&L3%P7cdV0Two8p6l=+UE5J?tiHiKS4lJCHK*&ve6IqoXCzw;?}K?>XOUG* z)=<34cNv2`Ra9bqBzNzOjBcCTzA&Uu*fJn8CLi0T{Mzd zNYq)_lZhTCL7o@5LZ`^1R?hwiBeS%4y2oY>9Vo_mylTLf*l!$bdp^+lg z!ZZvJ#O_I2d6ig;k`|jHRa~HghSQ>~B6CDUPp25#u&S&cAu(5h;P6sonR!+Td97~S zBXM8+HLt6^uJkW!IWcaxIwGWT%k!!?J@hL-e^02(XH_Xs$03Q2H8QLnn(r%flG#Hb za3>QchDBlD8f8hmgaR629Ii9BFYn=Jj1o&kILR}+Or*WRAa(MaO#c9WGA$y2nkSgo ziw@c)vMe{^>~X4Ho4o0AbG(I+Sf?wO_ZkoIskut`S*YC zAAar7#l8f>Ko|6kz_5Ea;$P#nmGEI=3L*3<4B~4;lqcD;-#J& zWH`4^>-1?7RM05#+`hRP9%LB@h1s50cMda*OpwdeHyENC)1*6SzSJ3)n__+%r%CMk zIIoZ(iA9|dKCTg9i1;2qolA*28WIv~Tm@pp@T0Lx0kbbEY9A1l=Y4@qo#!{TMvF1L zr)FUa6I|}_v2m2Pj@)U|=w!G|eNSuM0Jpcz)OgWcO*4v$giaj`o7F?sXj5Yt4TB;@ z93a3T%9hq~C7wG1omK>bqlL8@e5hPBOuxFMnSikb=PyOK83u45C zfiAcOdF9u={8xVA?%hYW@>GfPECxfAFtGc+ET^j;0SX%_IA)S$sRrK90GEV3%XZvsJI66O>kWENYvM~6uf@$!KF_toG2&}aX{A#W=o5C*!S zOM>tG%^!Zp%i}ve%)!KJcO4Kk>NTA_T3lgiml5)k~CpfI-FxZj-wIXlMIN<3I=sdYG?#mrq%~D z+ijRj$4Tz%d)XK}*7R*%(Xto>+sK6-RcvZlT-YFpIElGuC5{lmuCk|Y=W5&aAi!;e zFuf~U#s*3(Z0fPlo*^ci9Gn$Qd}vMg*Ok6m{d+-*VH_NWDN^)Q*>7Cyr~0UOgFql? zMS>yX)G)cesdNt%;=~CMCTsn|KY#v*o_=18moU%;w+Ih>)m#4aPd~Jse3nUu0#)kN za0oC?a#I4GgN4f?R~W)io#j4v^Bt#fQ!8>+hEZ`)(D38OhYVgX+KrK(8Z}(%$k-_O z@Z-ZJ!wX$CLhH~^gSii{xtkno`sCq)#CM-O@Dkyhx$ z2%{n)A)^q&M}@~k$W0))shmOP0;jmLt+On^0CmQ>+$Qf$Wt?H2DgN;v{PvHFn_3v? zf+NqDPCoXVr(gQI)YiW^)G=|8aWHwlu^vd=<0(YrnG`M+R+#4`mwOZ+-Cq<=ZWFmV z2sG{`K#mF;3JxlM)>x&Ejms3n+eA_g@?=>MQEUv{-^PvAkO znPb_D@5$tF(Fg-RmQXqEC97LlEKnwoMFKx78%&A-VImCos6u{)Wi(0@0SV>6E6&55 zqR2JsfPxM9807fAzpu+GRYq9mDkd<+L}M!}BM}5_EanI?z$Ib~U~v_TBpDU~h$9hY z>K3?ba)dBg!y(88OyUe-BeT*2jcl)E9RBUu=6c15-TY#wz2ezAm zpA(dtj6W5fDHJSBBsAh}Og4)$Ip+JkcwqM=IfhG(D%Xhd}RPE;zDR`x}1pyMO3yV>kZk;9^stNRiSZNp$X> z6iLqa<*hf)u@(o=3MC-qRa4hl>OzF+@SzbTk4}OVVf>inncvcJJjF3$WVuF(No&2~`}@;mNN|j&Jr`n>RNFg9;&vdl zCmn#pz4+)biT_}c+Q`&Nmx8f8dU3{uKbDq1VHHwHV z3j~4#LS>350aPrCtaaJQRzs(T&AN6{kpgEhtY7-4Pki4w(K}HX=z^oh#PP5Gz4w3h zXwzAAjTP4Vq7l>nF^0VDq3vc6Vi-TcM&+zQ6_*eiIo6oR0Td>YsIYcqW9M5LWd<2A zxY`h}k{D%x2r_eA02EG;pwdVuFMEk(y`#*dT`i!K)bMRdm9CTJdPC=Zh-p;v`0!&i z30dv^v+CryfJ=%JCDz3UtNUVz=!6);z>kkAaU23Hq7cEv*CXBhoiNCt@*FAF#pryj zVPX;E3_455Xgs~eJ)v)V4-MicM(ju$=_U?3d9G~8jZ&D|Q(uKKQpC3$9qJT1EW|lZ zjg^iZ!eWPvIHLd3it+Sj}&=n%KDfZ{!_du*0*@e^(`DXV}+ zku`F-yJ!|DGsWPhIKII=YdGHad$KA0y_eMRQ)G_H0Z7C}IkBmW!@*-=k^=&SyxfyA z1`Dh)O_;OT&}He(y5_vX$z9K=erFMh+6H9>ALCry<*OYdLTnp%%=Hdl`2?3cav_Z~ z)v?>8!dFD@r$8X+J5CVv^fXKiPx$wSVva+ZBG=pMBgILQAcTaA!`Fv@r%#ks^) zE)!sk<=Ezbf z%QAV+ah+L~C}LvnD*7xlyy>&7cPCDG3a*2mo1xdJfQ{UUTc%;(96TYCI0sT;zTG%$ zM2Ixn5-xL|IV!l+DC}Vkn;_QXLW%xC$HAi7SXm@aadFoQA}W*H$}tu?aEQimI;zQZ ziF#MX1{|-9#K3Iv2{d9}*93t;Am|@5ETItv6m)#(O>S-p9}$L#Qfaw!*C-Q4LqTdh zD=xo%CjFL5<>KRFY>zr3f_~(A{X4(@KmPwtxAMeTJdd@FFx+7#$OPy5DyE_^M%+sV zcBqrbAW8&-Jd2HFXu*plxD6leqjHm7XmFdXP^7qNoQH8(?!hM=Vxp-J@rzV(c#;Xm z_Hm(gc?>XcusE>?)2lUMjw4gR=pvfA|Cl)Bkx>DIb9+qbA4NuE;>g`UCUp!HN*f%1 zQ!MU5vZ#G7NR0{!syw%&Q*;E^Q_|nr9q<5tpvDTvyglm~iVQGFe9Qe-^4gG;1Y>ahaw@WXqCT?P1M%>+hDuWtAc>Ld^3Q?^M$oA;$O)>B$C3j~4#$IlsLbgE<-q>71)f`Uz|YweaYWvZ-F#s$Iz7{h4M zjQ6qPul~jV`au!p5eB;8aG`zkul(S@d2MQY!=*wU3k3}w9R-&f8OAuv5K#h1K!qx$ zL(_>{VurQ86NVFXioz+(rBS5q-Hwu?|RPrqE+9Zo}=aH0Qsgfark0&-c zriO@fZ4ak8g&77~x--f=(^ca9aaK3Dhug2`cM;ogytP?w(RW?LM-7!U6*6KO6$k_e zj*fwhi;JH-dXRVKP@_bi3gcWN#3U}EO?z>T-+1)zf8ulhEJj}#=z>GS%N}~^|MQ<; zzS{-DL~a~gUCy$0Xuh|~2`+c7!Y$|*207NWtyOrWqi1aw*IQ?iWhxj%h+-2a=p~EU zUemKG0UVxh#O8KOnkX?s2Wa%Ia*dP7l&MiiVhNo@Px41b@Z+MPGT68C#bJ#Si(NVo zB}NERB*e%OjGY_Ia~+#8R$7kB$vyNyA7H#i5r@kfFLa%IGKtP?M@D^$A#D7_n^p!F zg$gf-#%cnApfAs&lf((2P(k10K4alxvrLSLCzZL8PiB7SfBg0PMCy<*&;|XE{PutU z?(cisNN-*&$CHQVi-#HKg&vD!3HD-cuWp;hKTVls;^aJ|DZMFH);hi2Pl7NPy;oL9 zaS|09dB?@f#ND>mxW)_Q_VkU9F@3;`stK%O0TqH+WP8?dZHOo)abkTu!^+HelqlV_ zI5NtJ*Bjs{VzK0@ZzMNFl2roO*r-hK+^%QDi53S`<`Wx@MFWRHqp63pY zTP{s%53wOZubE+zL27MdWG6_HVuUnF2AE{nE2#jBEK6+^nFqL&K{Pa=2BgthV~NXH z8xHR;QpEMl3T21oPDN*VPv&(6o8W;)Wfc@Ml$fVPmV6H*ie)l54EJe_d6@-Pm?aAY z2=5q)Rd7)m=Qaj!a;v!g#G%6TxCA-P0EQ=wsB@e!Rdk}LT-)VqN0@1$_29DDR>W~< zgWKxLom6HS8Oh7N1ul*l*KukX5FLB2mR6>&4U8#qp*$s53Wj zXxAHh2Vsm224{dF#yo?u!lg~67ZFbFx$3JsXY$f{hwk zGOPmA3}bl83o%A{evf%Y8k3~AnCBLG=67B3eVWWJ71vc#geZ^`ea{5~!J#3_6!9LP z4V z-j-5iIe|i%Iw2HX!flqGB{IYbp`+mNSi?Y%GQL3z)um3I9LrSDh?6AQ*8I9knc*Gl z)NeQl6dZC~Y|)l2#=Y1qaFLmo$@c>on4IYO7Q8)IP%+8$&_tJTJ%>l=5N!|^mnl-& zC5w-($y; zKp+tGFO!U;^mtcYAx{8>DrH=ji;w>Lzxzco(!xL&^bKp#PySZuEnl75ZO3JYG8KH7 zxR_K}K18tzjTtUtib>Gt1Q;jTg~GYbvtD#A$OMCJmMRw$t;OF8Ea4Jo0Er5Vgc$13 z+{t3F*2ZvnfG`g84D%$FP4)E(ce6x{`T?7SE*a)=d)B!ifkq5JA@oDIJvd&2nmP(P zu}z(0j}|t|q*=p7CrXXSIKdzVY>b8jDN1Y)jnxJ?hDxBNJLKZ7`>DUkFd?pqwOb$% z+!Cm$97Ai-Fl{enna3bP44X1J_woyW_wql^iP07Yx}XnuJ zA?Pg;26+|^ZDX^Gfj;s&c4-|wY!_IVW6|tgJ!5Q4t~aP7}}w?yr3Vbpi@TTGC|g; z6GvrjLpu8~WneC$)VUsq0+J(#ImY8cZnn6YwZXY77-l8)vhu}kUAm4z%$!u_v;*Msh7~6DP&yY zv~C1qa;}9G-`?4-;o2}7^P;}1aSt4Q`%%2 zm}Cj#Lk46(C(Z?qle&rCPKRYycYW>sj1poTjR}U)4>(0%(CxK$kO&Z=ghmm&P0xXK zGy+}9XXcqwH)d5%fdL%fI34f9WUh*!i}0si08i(l&{ZhYg(> zE*wE|p)hx1vCQl?2T>o>#IezEageFA!gZ#pGuJoY!^b2V5a~ezm&p=WJ<&p)F-AH_ zzqW9wQA2IhTFY+qMsIz`%;P5oK#8YX&a)(UHND#!8qQ5L(a-HElSC$kk5QB(*@ox&wli8-gATw|H42Q^gY@)ec&g* z{iV^Jjhg~XtT4gyJ})~5NtBT;>naZqKJFnvi4qd$ws>_lj*~#e!azr*!1cbX-5ev> zm0J5wT;Zzs-N#!R=Qc}Z8TJfn0D}zko-~%mC^3R)O>yBm6)Lzyh;$Gwt}w^qmManA zbd$QZNtx(Pj65&1KzZ~)wK;*215k7d}Ocf6qDXh z7U!ChS2YHR5l5lK3X6SPkvYm3N>7DPGT1nnZPIRYT%w4?-Q2hz@;pa<)1yX+l0zYd z$~-F#bGy}c*$RsSHR@EzG@hH{j=owxOT2)(>pJux4~W$Eu9%}llsJKXeF&d0mgn zJh9KMg=0iW6TL}ihEFX0#s~l5=Y(XOFwh12%p1S=JO15wP49H1Tjl&A>Sf-I0b6D1 z2w&YO_cm_IB1LReH2nC`fI83hZGvZj7%375Dr>RAbGS&HV%YmloyWJB=glaaTpOnu z?CKp2)>tOTdQbHJ!Db%tad8{LuYd<17w@(6te)*@-;5K??-;Rq@fZ!T%yVM;2?TI-4EuipZmn$zH50&%!tD^dj*FH|F{3QUwGdex3wuM|~d#E1|?N1??0K5ij<=N<;p4zxX&&67CzIMZZYmUpPc-uBW0=gA%tMnk zg6PQjNRru?pw=)c(!_4^s6^zqoeaM@yEH5On}-MyK|e&?anEah>(^hsUCbs=jqAHO zq#p)+9Ov8-ZMKtO6df78QKH0dLUXPK%8YJ^Vwzmop`LX!DaMhB z?&94I7IBG??2D`5lILpIDegK3DUKgVB>1S|98gg}jSLrXQFnEG93sG#4xJ7!!Rf$J zv&yqQSc@c1aLvnhIgLVrxwfl&lv7P^umV>_*K~nE(1IyO&;hr}xUs1d1Ts9m>Cpj> z5u{2SKd{(yZKD8p;`W6Lf1NL7-~Zvi{Snc#@~|Kx=!b?k{Lqhl;HU1^wmmQ!oZVH5 z>wZkE<4mDZ>XBI)V~iJ$WRo40362xNhrZ=@w5gKgB3CH%?dLzvNzw#wN(FPo>jd9C zVn&xns!58_t`s>!#0SS;f`X?>5d8=ihEW8 z338l^*g%*&81$TbJ_ZP4V6|{Dxnx;k35X$~5M@#HL>CAI8!*wgNhVhaGzss5#+0}A zNZ#LL46xj@0JF`h1KTA!#V>vB)Zm*7*^5t$+0y^0VhH-5m%sFDfBUCjqIYmH??=8# z6?##|h~h&6!aUwMJSqeTki=q{8Zu)fxZ0)A*)-)2lQjDumnkeDNSM}1vUSe0c1WBJ z(~S1f_EYEjE@r>O1xA3-u3E$O)8;D^V1^8pCKsJVoMTk*1J^c~G)V#kiHPWVpHoLB zg3dS!78*7WV38--vExo5)nT;V?dX2ls{?o%yOBzoAl$SD>Wnag!7At5Ja?8DDZmn0 zngW5K#YuEKQcQ8BQ7kmt!T^$crrsoT9HlRv-`{d-=D&ts|5xAFC+W5VVW1yg-u%-) z@ZPr!ck;*>7OVKs7$DB&14@e?C5ev!1|>4YF>$${%d7x#j-%m{XBZ8I5LqsDC2=Hk zlG!7b&UlVVz{EmrI+~i)sNvwS)VDhAn`hfh9~pNxt6bhzzr8(ctN{u^QjBAfW9X31 zEgcAB5W~elV-N|I3dbfie2Lq*)S)ro*`xNd zK7}~OwWjramI4!-R2+1Mu({mQT@WV<6gevH|!PpYGxvxds ztH1?{TYjrBhRkALm;DF?f}6!O6CFIN#IwX1-=eu;vWCl*o`jZDob03WzgGO|wg3LB z|M)v%&h#&$2EC7Y>C4~qzkl-$=?<<@fd$U7#t=2;2$1IrHtSMt(?GH32Kpe!nPLc= zr?^gL%i&QXMHm^iDNZb-A`_xaofKzC?9i|$!RQechFd?Z=g6?k3K@!rs41RGf(a%% zILIFi528x=vbiDB<945{c^umq;58g01tv>U}FU!YuyL3ngr6zcBIDSq z(87nzYK!lZC$}%nkOTt3;b*iXr?XC+p)F?^n*}bg)UvXWQ%rH4QEuE(DhbEh8>0hIp4|80NptM7ePVyjV5p~4F1xx^ebQb>S= z!^$QnSc*F-@IsGM0nd61#f3?WpKzdhstfN z;8I5+Dh%`kq)3((Mt1ewDn()}agqef*e#r~+oKZe(oLIXkz_;Bz03mDhC6s2A2NP| zq!`?!=`J(CFcTz*kt9d}9SH@^J2=buiBiKwYwTGr1$>?>%<-f%v&@NUBM=C>;N%|m zWCf*Be%YD`(}akV#bkmZf}6};g#am1$gJWJ>!U!1j2{(=js4*PG+sXzdQ+}+<#924 zgn=&TfIIL0mXG}QTZXi)hrF+_z!Eu3z|U#Xwp zhMtlt(`cC3=uDCzh>3+sfd4;x{~aaUde?WtpB*aa*ws1rN%vk!R{;S65rkx6Fvdh7 z1Pm-}jBN%O@LByKwSoIZUzhsrta{r=JW z)~)KU+*Q?8-OopBY29;9ch#<4&wid?{Qew(g1KQ^Q1M|Qg^OvXnI(b`Cr~9qkOWZS zm^d-wB#1G?UE!XO0VeK@Y1eXvlfLS-WR`Ftp<-j6VBLXh!QJw(&#;eYL{qQ_fsGVt zLWD6<#(^J4R}-%VgTjIn`YL&pu;4)=gpJ3fI+&2nnC(O1LL&*-jb;fQC*}roQ$j`I zDJ9&Xfr{y(4 zBvHnWzy1wh_kCZw*z8|)66})3kBZ7vU9W7MZFKBdFk!)ll{kYOa~Q^r)fhxoCVEDR zeF`^TOh68>W1_?fI*}G8S_K^iiR!s>n=%z1)v`Tymat&u5pJG|z2nj`^TMU;wpUv8 z@MgK!WuI*`cfpPcbHfwWjwEj&F^dn!M0Kd^#3-Yo;+v4%|5YN3rSG9BCzvR6x62le zS@N~Uqj^l6^j#``t78*~P6`Db4O`chH98V0o@2p{lVokA+6rN|Mc!N>5cJ85XC^}Q z#{DzZKw#w#P6}8lb3m4x#^3LwG23C6%TH7gJf(l%|MLf5^Ypn`L&8B9w8HWgKleRf z`J%1eV_)hbMp)*PeQN$n*a+ajiW!{@PY6>bQp^2lJfTE@BjSJq4*@*rXH3s(-=!Hk z846TUv0&o_ofriaUPeFX259JD_!%LN&uBH@7ypv}&d9@q0iR1mS$Xv&ug5J}5N+R(D z7yC^Eu9DCh5eNhgxS2<#M24e|gH!{oV(a^zUTdPLRPXX@bpd((%AKP+KX?CEzxO|V zT&y_ZpbMJt!mSVe(m(msK}6k-x*n|aCNgt)Fk!-sOokN4*a+gp)UZej6gcLP8SHq_ zun%nsW!U2gnKB@=%#(&?yF!5^S#&H+^GqzBp|i@|SRN{S9Fn=PVXttztJr(}h^Y;{ z7cd3{f^OG%kvRL5SS8(YLho%{{Dsl(5h2%i_B_Z8zCM0Wqk=-2I0`Z{7GtWwDcd|1 zU#LJJ=n@mRYHBYPvZTr2#zKkxCSw?3jal-P&-I6Q=9qg;>GGi5=#d$B9z6H5JJaCrODg zcknXo=#GS$s$pn0W?Pof*`bKUA_=B0lp_*!hpk1&)n$|JNuRnkD_!)9>7>vI*0Pgk zv3&~K?!|*?fGCs0LjaZSE;`T)1o0S|AgS*@?zdy_*-9%DCk^bQP_FxJ2SH>sswf0- z^x29c5C|q62_JS;OsGgyk&sc4sZ!=K8h0pBMk7X=89Zpj>iVWtJato5LL@mjH+1nS z1thj{vW&N<9XQo=$1C!f`D>%t@)`bH-|-zU|KZmhABeR&9?y$l98mt|kAL@n_wEai zO)Rk4#)MPR8eHA_0XY^bhBGX)ioZ!WZj3TkOe1tlN<=Ae+7z?M7GPo)g`^5^g=C+G!Mjm=P%21~pvrcKr!h!%2xC750>LD(M5v9cn<7cT z_;-yW3TB{64pU3(L!(NW*J~Ew5-KU8c<@uk*K$Z|vsd~=%h2HlQ#Dt=ObY*%KJ}~o zi`RbtAN=S4AlB;`IELaDTt2SgSN+?c{pvOAARaB5G*ukT5hBx|?C$0cftmCaEe5C2T8S>d2xd*1h1U-uh7`ab&rEV&G?P-L1#7V%=j%^U>^$gHzMl?PPG z;bD<^iacvk{+Qu}62972TE5gpVkSu*H!5~)SV{5%K4Q!fx9X~2}XmCOl5#!trPYMu-7vG z?BEt2{8(!tfjF`;EUh=@nIV9yi(Nm%KF_ESLLtj>$DiNeso1Fnf@_MO;J{wX#_2$_ zAU*<25yD3po3U#teb_51rX~_`rxcj0z49(qTwU#tlgzr~U7vY$^Nl~~Yj&+*V2CEl zOXiEe<(t0igVPs%l`0u3RC$3SvN65ZiUkP;l^1c7;fNqUmVqN4w=|U81aaW0+kP&4 zAd{UKNs_>ec)7z4J6M?|Z|oiWtkwqg2!=s{dxS}n$B%P>hit!;dDK)MrXNBqQsUT9 zZIJntGco=s_jnu6njGC_U>Et)mF)%NM-fXOB1P>evBzG^fAw(l%$#zt_OvV72~fm` z6BSdJd%hC~9)jqUaI(-v`F&X|4T0dAG7Mi&Z8(1~W~;Uir)ss_x)~qNv6RalG#i#* z`snoX?|(!LUK0-bb;bG>zwpCfwlaV;i-H*kDtXj8U1^B|32x&CoV=SV37)m=QJ0t_ zh_hzq<@j6FUxy9o=)WPYVRs74O))wXNNIoqVlQE-(fuiqYWY zCqC_MfAmZL=+AyntlrDBbp@Bi?K@xb+dupH;Q?83r@i54a~~4nT7)sf8|<~{*0!+B z5)mv&XjFJg9B_}Y-@Hu}0~cjhna70%2qF`vLY^u&$+1tcWoeRN(A&l87{v4>9GC_s zHdXJ!EO3Ye6`eR+JmLtQSq_>O3Qtqwm?B;w6L$^Cv&}AHl6aOJpCCbwB0++f@nI#wDssy%c@GJ( za0G&Dh@BV4d?cyHla@OdIBUU6$F(}|-w|5*z^?o0pNJJK9Q13&2fz03|HA+H!m!K7 z<(k8uCQY(w4nt*~5FxBUl{lNkFyliTldVX?ju%LfLLq>O0DH)|3G;|JG9ErMmdF4A zfB;EEK~$j(JR+tEkHvLJxN&nl&~cp#bL0t7rOHFLYoV-Eix~k)WP$`R3kUt0Q6a{2 zlFZj?E$&mO3-oxo)z<{^PJ6kXAk&y@yPcawmYHf1GLtd0i>2$mF^;vTb`3KXysR>Z z4;heg5y8Vj%h7Ho>}^b7fk1F|9rWojKPO{6YxA!e{9TAQ zM2Y*Q_!nRPBmcuUy~jPOw<~kNCOR9qDRImJIv_KP2QwC9 z{hFck5EGGFuqsQmwqjf?5E$Bekg*WJgG33rqfn8FF#A0j(ap%W$b3oIh@80sGX;`N z;Q}fo&ScDwStKd?&;^2PN0QWlYl;R(l{8w1NkC;Dv5te&NlDl1yk9c^@>edc{9j-9 ziF;xlj~bCdAH8GY`HElviLc!lS-nr1$A-L+4G(52WSC->MW(Q0K_Sf%cB1SdlfXY_ zy3`f!k*18F043H*@rV%fIH^*^iM`F_cfnwpAFFX|+5o#PBl7YNcaW%9Kmx(F!#sqlqKi{RL*`ZXI=0^wIYdIE z#3Ra7&xvwgWmG;et9&T4`%Jj#!a={<+usJ$$ zqGW3s&|Zt?3s{*(5gX~Xan6si;zvcJjLI>ONE=yU6+0f_m=mL=C`yddNLz)99HG>? z)YY!*i;8E8F5`;Mc!h|t%%oY-e z^5T&ZzLeUE)+*`Mfvm2JFhd9^kGcGfV35d|kVq4!$^vDi+8QdOv&+f3HDza1-AvDU zPL-GI{>D~!eeEeV{9J{{=r~(e%oN#X4;_ec!|267J!hsG#=#vTvw%hv51xj*B@hU% z3(heOVVhaN$=#M?htKn-GatWpJK6iZKmYCDvGnU--$Il}ARP3GM*6~k`rUu`z5e09 zQH2!84MTZu;cLiq#EpRsNE8SJlfm3rmbbrY*92JR zNzcD$x`vkLy!n^Ea%t}W_~;vAHu|MozksWClOSxDB&Yrb>|c7Di~12X#)rMjW5v*yniCW^UD^q}oxY^Xj4UDGS~Y#~*Dy5$jqw=vRi@cfRhoe&&Oop*P{gc$MQ?51@l- z=2$)_{*wa&RG4K2GvP7KoCAhd@f+wY;lNFZZFY!Z#t$TcSyDn5c<7tN5-Zrrv&SQL zh>{{pf+LQQ0A)xnh~73vo#WwH6q#AEjPVmB7%Zk*AhUuWE887uKTq>ICS2&~ zcySYC851--kv39YRGS2`Qm89dFB5M0T&ElAv!F^86J_Gu@9<9ZV&;ZGaIILc+f~Ms zSgjSbx4pNB``Q&DTX;us=0iyy{wJ}rM-dPa44n^r)z|#s$Ciid$mWsA8+i>g%P5#y z#`o+Li5iZ%XRPm>856Hl#ZQ0(Dom50ND&)OBqYqF#bn)~qqA!i&z@g*PXIGPyaWd9 zrdO%9)kcr^&^I=WW9kk^Bv>boLoAVNh=Vd^P5^hy4E69OH}?rr#?ABE6Y4!z3uR@4 zH#!O-*?CO8JW9CbPv$r;=3DHtbX{hdP0@!g5L^?av3Jik(r0E(bjuNCma$zsH|j&- z`5!Q?{npO>$B9G^tC)d) z&8Q%uQsgljH;{OCuE|Cwzy^__@3Y4|#l$ZAoKOV{lqhmU3HzC+rc9>oF1bz&Z?;{$N?23^5@)!Dm!O-U@rp; zAwU%c?$-|481JYMAkQ1;MA0OiB(RO3vf`L1aZ0>3aY9{~b*ND)MBIgKaFw8)_g1lIzUg|ROIx1td5`?o^`dCo4D zkkS@lPLg>`*7gQ=Sm7nPfMaMZ$bVqjz2; zD)=#z;weGGM2X|Y22_x-QzVCvDPm&DT{`Xo9Z`9Xh%v=9`nfJ%jUBee;Io#HD}a96)Pc@2Cm7_j0z{`{_Z7wOxKyjIvI4Ho-1(ovd%Pf%n>1o zimmGtM90HpVkF5@rb2}hX%Zwz5GO{05=mT45yX0~1xaENCt8~vyFehgDokC{c-G#q zlkI!FcfhcF5(G!E=Z_aJcsD-x(DU$*#X1)b`b6=Wf9son>A$}<7^hhyM~*TkB=)#V z4v?|pVu~d^Sg9JGe;*4_3^Wu=H#Oyw-(4W0p8EV3|ZihyFS{9HC*u zhnFd;qTF2|xS~ibO+)}&!O2mdva^2Nm5 zZ~M;o`v>8krpRzY4tNhS6e^g>W5wIi4Jr?9{M9JQV_(BvChoITx*=y`VyWs@y=@|5qFj>-}PVqe_#4= zS3K*3Mr6>3a8JMZ7k}g*yz_#!zEx5j@B|ww$LLrn;=(}yGY-66bdoDqBKl%N!bFr9 zIlzaNB3>SIj7pG0Uq=bR8HajuXwNrDq%#K^M(eHWSv1mlR8+k~(+X-2sY?)lUNC5dcU`}&qN zY}c&&{48cZJeT`W{MG&E;&~Si`dH(4f8^JG?ki?5WUp%^c*GV?HZWr$NPs1LxUe9h zT&t;zIb>vXp5o*N0h|;#!byf3JVL|5EKaH|ClL!SivlqM19Du89C7~wGA_g3L_^nZ z5~?^j9l#Uj0Vh_HEgj1={-NbpEQCl=0-#ESr)+XS85=IDq|hl+VvQgY1vKpV@nNTm z??T~Q8&Xd)ZxtLwTb_1$?Z2YTidLl|5@a3|4ocTFpL-d22q9tS_}bL~+u4{f2g8os zmwaUc&o!^1lXzb^@S#ln(O-!tUO4Du%R6p=?00|cvuqczeF{{$&ohE7GL3=-nH~Iq zwMo(MRYxODg(Ok36mbz^A3HwEOe2#=Wt|5cjjii;y{Y0vri4a`JXvH)=tw=T;T*@@ zYnh?Ee4K2cQbre>=@nni71HD}A)`}82Fy5dp>WVv7r`~O{ECbTC;P^qB2MkPv>n1Ps0Q{!fz%POSJSc3sh;bE~V#3jyJv4~+?y;`|PsE0Y@CO&n^WjWKg@vIcucY=K;|%{)Rowk)%o*i7FCR zv87%)DjX3diG>3k6gc7;TiCE0S(7OD+y1^2-_Wj2r))Ur>jZIQBZtZ?HayHQ!x0YN z)^tsl_ynfDh6GlTQF+QfQ-pBi#Yd@)tFEwylc!x}5KZVp-F+zBB+Cv3Lvue0OmWN+ zWfnzHWT;s10SX6wbvRF|WAP%vI)^obnIra5#yrz3s{Fr&pHh$xXu3Wo;D_55o_ehXL#>oQ?Nm4{3VKg?x*(1m4fHm;2fsdk5 zcK+reJG?$v5Lodtab5~H1G;5xOhf|Wg}>zQKo`KZVV;E1l_U5Y}3E5 zlBP(3BPMBom)W4gW8-+A#*L0bKzz+tf&wY-12*P)*bpv?uz^ILZM>wIC4~(qCp>9z z&jH>&w4%le@ECAn!h{(oRTNHe^D5v##!OF9V>I&QDWhS=)8N=^yh^HNz-)!5P5*wK zM?Jjz0`WfbSAz3yh7}uLph})-+mljajZCdkLNI7Nyxnk9|LWR&W|bRw&$y}u3Ou92 zyT<%+<~9t~5tdd^2 zx$D}UBzqj;$Ag576VJ6PUGJXLJM&i9B8wTFGD)JMFmFOxYB_pp*Kl(uA2T!fuerAC zRiH|Y3Q;sx_{)ZWF)@dO08ptjtxEitCN6A%dF(^k<8^ehykcaXL)@zElp0A2Sh3fc zi)m=HCUw%JIjUukBwoZ@XChRnQsHjX;F%d$QyDmkMEa$F*3hU@rc9A^ z*Y!smVo>SO2y@HWOFnU}R`zLAqKb?LSaASVN)s^`y~;jMdio6~Az~zvcuyZ?{28*? zab6jR?3W+^;FUgn+00G zZK*uQ&vPLRH=!)InGAh$C5iw|`0*3KBDU9wN5)K<3T7SvR)RGNA&n{vDA2H)b#|IK zMR^X`p>#p*becNA5*lfW0Qiy7QIIH;!jB6ZDo~|Ni4qSf5Nz>EMV|4HnDI()I`n=_ zKpBZDI@@eE{QFyIgqk)REwS5U$$Fes;@7BKcTkwISb1E321a8_T$`x12n29+j5} z5@w1yEPd?qW}H~KIvLZq`{zFUDEH(q#M3Vv^h;%R{%e2xXFlZU_*|9i;`Zfx$`tn@goB=GKIR)VKlhA3Z5ZcZMIg9nWD%h#}p{m^}VM^^D4V2*a@IE zS(jBZJZduAyv!jv4zUpBF*{Uo5yX!VKR$eT@e{;H06%uJXIwj(MXb1b-mBxRi2c1w ze9RCgf*mswY2-dNS!PI6L1v8w{G4WGG^4Y6Yjci+%~BY7!3IT?^E%;R7U0s28}>t5ndu>U!xjwgQj;FY)|e zY!wPFz}w&bkzf4Im)hUN9J_=uV-tn!T~p=+ogfk>vY2X}kVT_h>RD}Mk1RCYCyFH& z+x%;WyDjHQk1q;76kMoyQ7I88fr*GHaGy|0yiOYMH@Jy*LZpcyafc!rWM+)JGU++;GO1P zR~E_3;)@9X~FtIEeFv zEu!Q|;}l2sL{g=Ul{oqt!>mlw_?r^~L~zxu0at@8kd3{Tv!%mBkc-o)o|#DQK_!XA zBMusZ40(=g#mpHFc)%fX(gS+tiY(&BgBL$jY;%lGysxH}DlsHX*ErkQJOJV*L5L7` zV3`NR1}3PdlObue7HC*e*d)t5ejs1BKKxjCLI%)@GlglwYo10ER(VU&yl}0X0@4I= zBe6pP1rw*OF}p^HslXv-?C0|6c0#0(E@gVS1s~Zi!k3PToB2Kp+{%YvI{uWWe^4lh zdm$Y35%b}1{q7(A8_mV2Ipz@#6dYGZnQ@fta)^otg$gTmLpgNJJVPfAOmhQ2(Q7og zq+7@FCaX*l!G~!K^^h0ZNW_$hPE5(@M7nLyTm9N#)g|9Divf=q%>j3 zsA$mU+0pT~9TimJX_N4ngbxcTLIZ7Q(%2qH5iBs(OSLje+0u+&*`Q3_ZvpE)%Ze8kW%Wrn&5A0@IK zekzV<%qP5G4rb}YYl+W^{&6%R?uBsBN644`!1sU8r`B0%MI^)Uit~sgf=t&&rwMwY zz$Q9NoZw-jZp_adkqMwr|K!SO~C>#*NOi+jkHQc!u z8aiBawNCwUxxS4yQD&WI6Ep$2NS-iup7Dr1(q|l_G&!E3k>wB*W)zV}pBT!-yU0!k z8}|1y<+@;Of!(H#ae*`^DENB19?eiOu8<*34u!`YlO;(O4+mi6FLT7YR^-SLsLO;7 zjvPw^c0j76SQk=cz-eAPf;Q5ybewq(IU+`uVvADWJW*^ckQdFSP0qaan%ic_k8~+r z`*vmt;lqm$FJ|%-aWh2#<&vr&a^%?I8F|W0R1|U?lf+VU(vLV~mNdI$Yr>qPb(7qv z9TfO=Vz~NJaKHMzEA0N<*zV?CaVLa>K71@6`SqXu${F>|!)cEU(|Adf$4LM$HlfLW z0g^l;%qml7wz@Jo!Z?tqAn}M}jIYL*YOYO*hZB@3 zlej^Jhs2te^6GVFPZnoQluIxPN1`1Eb{se;ws3euL>hLdZSLZvNR$&&93i)HRZ_Tn z%CtzxlsVu&I~;RNf)zBfK!rmx4F-1if|>pyg*Gd=24eC{cn#^OIr3tcuMtGXMtOwU z&$zLct8F`R^F)c@Z>ha-UD;?jle5G|e1{a)aZ%xrC~*=bNRXjSl^hA;C@i8-K*xtR zLj4!5*4bTXaq1U2;+QHj7Bn8RPX@^0yp)+oGA`r}-<=&3I+CcHZNdwlh0l&wG7H9NW!Q8MK5FpD&Ho!==mmWhdmgc@E}>H>LX{&M6Me``D;-lmzQM2sraEReuK z1m_sp3^Gfo?BT|Nr6#VICy0CrF1mypy~W*eQ)Y%6_%MlCO|9%d`|4-x+8_UkxD&!b z9~!IkANif1e7^-KQAELwLuAVbj7}Oq!E>6OG7<{M?UB}b zK9J!_gTc%OkTMjcOU$18_HtLUkk!kw=uDeHvb@qJ{HGccN2h3Pk~Q+Zou7jjadO1A zA&=Dl^r%q9M3#pQe|z!9p0$As#MK+Ci2=Myh!f((iC;>m?6@NHA{9K?sS+E*J5waV z21zmcv~~th)$J1{wnzN_7Azz?{#2C|M-<5sr^K3}qR4@XIow zqhb=JEJI<3bcVoU=U8ZlPMim(a*fm);9sUTW*r0*_s zo5wx=PK7wLgvUnPC&ex~?3i&=HFj8y6Ee6i!4;PAH0?z{Ay4Siohch`vY3&_)~)lK zKI@&&Zr%G`5y2A<`oQ^|5B{BB{?;3B8cBlTZOIPoO&8`qc08yk>=^QAGG2}*WODZK z@#3iaQ*_J>+yo&^D7XkVk;y9a;EI(-nh7(71(R^lC(b=DV6qr~jNdZ)8Qq9_;_L${yv&j^+9}ov@a)3&O@`7?9AG>16b96IxgcZvsLD@sjG{Y}HAUWo?Y=AaW!Lq2S`MX6xmN5xRsF znT#7R=R4;MI2)|5%W~(uSjX0>OOqocf8Gn*FTeKNB7!Fz^nvo(U-S2W`XdYCK8#{X z78&?G18ZrfTu`?c-kCcDyb_rsHbXl%h^OYZ^GR3 zD0kUspJ-DjLt>dwlkYUzR|SZxAs64cejZZ<771e_VLTmX)PYnCRff=oZfAxk1Jea5 z<7nuem5sZ9ok=r?Gy(f$oG|8VJ{>*C4Wl|H#jBTeFR~f~RTWr-FoyG8VkJP=Mf=4HCO-m+&oZ=|a!NZNtUKP26oZ?<`NR z-1nhVVn#H=Ob{i~XgqJ}0);4HXSqpnD2^DmU|4x z>BNC0Qe%=wPof~<;h=UsI?g(&*-<;`E-Yv6sK)VF$-$a0VdPtp2Ur@y0*6i10!(~( z`S|_&f0(?^+k2gjHEPe1V8@AioMFsdc#z}@2CR8lD9kx22JI5wg1+i+~mP@#Ys z$Z$ATS7v4p6OJ>RbqW<3i1Wsktb}mm7Y_Qwpp(W-p1mdop^MBh!!$F@o^j9f9I?qx zU+*|m6H7cxn!D(nmd75|<=2+PJIDv)Js42u0ViUfKNmlTPyIwq2FRif+@ z!cpfIr|@2yAew{=C((v`qqnhKFXtM&r92Qvuu2usv63Q9iYf~3rdOfxq50J3#s1^r zk+3?1gMLB2_$U7Px8Amk`!G6MNB(jgVI|E|GJw`oZ`E~hFv4t+!-|PKm`62VEzF({P^M%oD;-kN|%C1gLcFsBCb|5m919iJo)D z%eZh|!vUKwu*1>Vcc9mkMI|z^lhM6A!p0oIo+a-rgjq4B(3HmH9M84Gl30#|y8D6Vs^`XQDk?x9Wr70LL?qlT$LI%eEBk+I^y z-a<+0&6D-Brb?d^{qwy&VRr}z{Q@@I-};w7`L~xX;zo?tP;Ny5nP+&&Q^ASU#T@GE z<)H78!Ab;3k7Xff21{Lx*@~4ihgYz;-Nq_Qc!WIMgptO^3`$+DX^jY>mP36i>{CT1 zbWWey-ga+NSs;v~MRi4}oK!pMoK2m>3MqE*Q{Vs>X&zujK?S5U)=p>J=ePK2`~1$4bR;r=84@Z)?nJOfl8MJx^0c zMW@0ErCMc4k_ZPB2WTi4nH_@bG=+yC`6dlEc@o5lQDKy56F4x>!(N?>8Y4;?Ga*6* z(I}uIpXtsvF^dN`W@JDkON`AiS*JECeFwCv#91Rh7Rit~oXGg_k~8*KomhuGdf0c? zT9*o0sAZxj)eSs#&kJNRw0+@ ziHB9OBqt1=JW5|CU!JGHJW_`>?PU>1i{^(aCzJ_NB#%M?g-12xbZ5YyG=jwbfM0Ws zr(MZPSt$StcBXkqfS}R8sPK#_wmbax4IYf?>RI4`5+E^+W}HEAwbX zCni8`XO4#xwFk_jw|UxJxTyekVrQyBWP-Sn(KsF}odgT+3x*12QQ5lm&#}Us;j&cO z=a~_{l<;u-(wfOM_G^N??;3+qYlERe77Y{5p}*6wZU6kY{ORuqyF)nWJ)SCG^_&0d z!%lG@#%j|jk>q3|OXfz$Ej(D*s~Ps=6g=2KL&Haf*T?~H=e3FMK9|@)MaNbre|Nwp zC7j%9+QTKdnrIYIumD;9s;iz=JN`4_n=C0z6e!_F;t@r_M~E~>R9R*4iH5a-&w4Ns z>F8d!Lt%+T$BgR=74}gZnh`D^KOypMH3A&W4Xo&S9(fF0rta|JGfJ$(xKTJ9^WZ|a z&sqp=LaGDiFZ5KNp59ZJzTSe|sryrs`?Wx5h_y?rR?~^{m?AD-x?+;BRpb%4h#%ki znQ!~k-xM}P^Yc*91ds1yfAFt9Ae7<8i({Um;=)PJ$kM1|G6ZCNurr070*`wXwiz}m zHwg2PJ&q}3HS!a=iO!yzSS5@TM_oDCE{~`J8dA#%*Mh4?iC5WVheJ--?XnouN7xuh zQ>I9P9Uc(nm^eiaIWz)S1)@~AjXW^*_BRiH6V-u@Y^x7cgeYF199AdZMQ41RJRwvp z%u^T(;j}fp6xr^OH!Tyx!5l@(IL}>E zUO4xyNm#}vSZgQORWnJB$b?K32wXTMQbD?O$-g|Fx*=XxJhght9LJX?7$;#TM1>iy zT0&1ANe1_}JM{j;unVzgExuMg=EuIKcjMEAPOBN(eXlfOpS0D?KQ-_e+&DIkLo9 z8jBpJkEdPU$2>8nh~UD9rLF>Cg92rCDYAwG6OV`yW3A!SS?U7PRXh{ai=M^G6nT7{ z00rg<*GZ2_EE7N`aKZ3SbN5N=<7!vBtkcV~G!dg-eFJc<3zS$Taj8j>BvW-xi-mIS z8K@G)-7tfDG$8|%Vc)pU4UrXe%Z796(+*-!KPm2naL_w1mX(kF&X2rX+?eq|XP+&O z&~aeHgBu$O{75Vl;vQA*pkLFuxaYZp7uXwkXXzje>iT2dOlG171l^WPl}hNRbCB zM9I{Ir*f>JP%w7OWv0kc2HY%hJYhrEs?6~O4bX@YV}k%*g81>W%?VkO#0U@`;Oen6 z#WX?OJ-Mhl85X;`3Jsmm1WbDm4CJ1ciL!)#iFI!kLJjAxg}u7(;usgU5nm4|l!=nY zBM!s9S#!*P#!33oUx+(#_G}R}aBKZ*KK@-Viu*7w9B~f_Qbl1N2MRG{%pBuppA*(8 z)#aY9H$iTbC&{4*SPYeUX3j=Sr z@jTJG83r#oU}qMY47)9V)`1rb3VCuQ2w(*=ZHnI~9TzhL5doCAL6kHF6u`+8IvNr>u-7r% zWoMqJU4^Z@xZ5fZi~}nJ9A>(};U(6-tuoi}=SS={JXg0ap|$KW;KwhH!wd0eu^;-! zfArJhJ~W;a0^y#IF(z!7adJqO1L9yHlQ*{N*Iwg`Uw#+{3%w3?E zdzJ_R_Bd+M=X-*UDk)%r?1hS0O{}p$!rX3-WvtBLHZr6NO9bmC$Pa@lW@@A1OdR#` zX?5~OSfOkT@oG((G;yjFNTQP?Me0gSzGy{>BJ&r__?lV8!&5R;03DqoQDVf25hqRr zrNcce6J?D|7k%*s3M^x9QWfT45kG!>cyVAwJyS_GItHmWkz}K8wAiRg;B5$xyGhr5 zlRC%PMy{ovV~cq)QuTr?*w#O7zw+omi97KYB7wkJl+=ubvSrhG0i3MC} z*eUV`+PRse*A;clq~XR586O3LSW%IX&?r+y!-Pbc6c(Ju4C*pv4vf2LLB@)Tj-POo zm}ZsNYvq$G%!}K6EhuorHZH>0aB;!`VIn=g#xZxBxY9BXqgjFmLv*^YyrP8-Dm?2L z#FW`!hYT-~Lqh99OT8HZd^{O(Zdbxa4wVID6pHLnVcjUE9+IWNV*+@LtmGiGlY&#c zM93K<>v~@gAzVD|unOl%b*wa#nC*JFp_w37s_an3fgPXm4C!^RX2pYNAUggkb6C*H zb$NY@FhC7;D{o-jEwY>+X^H%%;&Yf}W>o;z%HIgV@tI5L7wi+vdM z0qhqZ=X4PiG~=9*+2AQ9qo8@voQ~mgcG=6;_ogdZkFp5YR8a|7Zp)8F@lfAlZJeGm?MqiM48(cc#C`FK*~9@?1#vK8hj z^N3^Y+~y5YxAx2u6dBL=Ib@2dGY- zEDu}OyM*zgbA->(*Vy0@E9~^yydrah2R-ML7qFuD6c!k-UR;SaWb)XEbA)q%F7ym# zjtxg4$a5As7OEdZ<7P`;hV!_Y>fmyp#f2XQohmvq3NkubqLhI}6rK&G4nrn{6$PcQ zhO`@Jf)+l4Q~?u3BoubfSVJ-^Xe0(Krl_(y5T$_raPo4)-W%h!bNkoQ2;G~i=oTKF zi=Oz$-}eVUBklu;9(3WJPXH<=Y;{9f0IUS4V8+W5yO*xxD;Rh8e7%KxUM0p8Hc618 z*oULO#}nhfR`GC`Bt@)*8?xw{h=X1^B*4_y_nKj!r#$1hjp?5yN{k{tT%-XvapEkJ z>C0Wv2{)A5c1O~s)JVes0 zH*`F&H4LX~#Ds~%o?g8~k~j&Hq(~Ya>IM8nm|~aXAvJ60WQ}+0{h6L;?@af6ffz|L z9FZVFj2n2+>Ky-@JRvslHL6i&>C!B((wR>5Hx)GM_pd6xk)6C^r0U?9u`Ye;e(v#~ zi#s74bm5*)1W~;Bsn#7bLA)eUa2i8D7RO>5u3#K-aN}P}(#sT2$>9D8gfeCpSux~d%49K-AlXx4z2K^l;fOd=!`h4TI`OW{TNC8jAcmhb8dc;zrOzsa z`pofGiL*u&i8*p@U5S+uD!2DWkt7LDa50bf!g5)&?A5t#+65)`1f5r4hGqQt@ls@& z=R}&E^%4>{u#p&mM5;!XI42{~b4jq+Cg9M_U=KEJi_z=K&AmKEW{MyIDlA^GoWA{Y zwLlmTUIMsCk5qdiim#zc&1KX*yhUncE_&et6?lU4%-fdUyPJ9P-^85|4!Us9Cjb*$ zgqsBdSjigKDGbHj2CpKLW~$Ol6XjxBg0ai zO23&UJOpr)pU4R&aa0yCk!$&ETbN=7FD|^;+3vUp_=!;_MVvTxj)$oDe=38QB2J7P zbA*uzG*Po3&U@aM1_Kf^F%&yXhy_elGg8ue}uR`J^1ud7`xv zN(r4H3pLX>&;3iCg*#r%kRmd+`K-}|D5?bTV#11};pnVVK}SAUo?K#^-I`$$W(`w^ z_bBmSTjb7E%&Z|3BaT7>aBxFp(XXA8t`OyQ6s9Q|LzW60TtKKvVS{^p|MoJ)hKa%5 z5XR1PwAyrt8)PxF3pgo}K}Thd3Om3$k0#=Kxwz)~?KbKGg3+*y&T}+iu5RC+T;%>5hLAG4t%wvg8lGt<3>SdYXo&AZr;{V?WXfuEl6nL1!U4hF|#uC z0`x4JINt}(pT+*gcmCf0dcE(#HBao^S^Jvb`d;ClPXIC!Ws+#X6j>n05q``-g-0S| zTt|o_g4ep_f1YLL@!-U29L`13oUp?)p0Udw2|%fH!WH~PaN@vMSo&+ijXOuiT5n&S@ zYQ}bqJW;At$s3eCJnpS*IN@4>aM%UGQLl3)8r!abjurK+(;kwUGkSV5tTi7N91dd_J` zHM3Xi;-}h~&3eP1dU@~DPtpH-pS_Yd33N4hr8P@9NKR;G!pb7Sx{a+whB*5TMvg{; z1Sam_sry?CQ(eAChKE>N%I-)!t6PmKOU#Jl``TdzDg!o@OEpPC7b}=3^d!p`C&e1a zb*1Psw<%ENxQV;(C2}q&t~YhTK?JZM@l=$!*Rj}lKd8bAyST|S%M>wW zN@Rw5$PRWpTQ#aGphT8DDNb5m`)Xgus!oBsvitAgH?QDL0$uNG9>WeuKPP_ zNOQO$O_mLIdi<>_4+*o*Q{$P45MvLBFhhwVDmur^13K}Z##`mcPlT5F2`_T7l#Gpn zIBPDQx5C;nZt_^P95lGctm8q+wMo8oO44MBTY-#!LqL(C$kf zn^<;3;q$`Pe_qY}$!`e<{hHzPeC2Qd(7Q!mYqBuot#gdR_|V8@bZ9Gmr5Q zLPO_ySH-n5FJZ!h*Ermq#^0y-aW%PRD}VZF-H*l{v=ElO9}=EE*+L zG%78X1{o_+qg4BV1HeQX znHPD`F@I-5rBJu$PG90gcej=MS&vr@yX^k+!e>-Jf{B=n9=QBz#Qa zqCg2KGer&$dA3DQ;F+T_MS=u#6xkt0lAB~ZIIPR8GlvN?j&sFe)t=?0hEJF&Ds^E8 zH@9%0ljJ#%NOUYNwy@TvTKik%fhy)Y4dG7A;G)C>l3jGQ3nq_E9&kd81UbVvJ|x8^ z`{a3MXdMj4BsBFkIBgy;2ONv>142;25K7mI`H-Ne$_{DdIm9`1W8T4iuR= z6Q~gO{$z5~ZTa+rPi}8r$IpH}*R1*LfA^<9&n#B{#F1qW6)!V*2(ye88@am9OhKcY zo;1uDofJ24*Bz5`gAuOq0#kqmrD>;Dmcz08ba^6p@Ec+@5!SJiVw0y`$Y*(3VYyZx z(8I=oiDRC1?Vel6u}6wI7DWF1N;hM;EedKXvrm^shDyKt=DlHsP zy~FyR;VBtnM2S&m1urJFE}d43G1D5h@#5=qI{QTo`XJQ{$yeo=B77;q1p&;H;rNVu z4n^X`Swa)TR)H$BW0kNd6J@QfG~*PrI0z8vBX~AR5DfD0268TQa|vw*j+$fU**&w5&IMHVqJg-Tw` zLcfAYxG7yq-mdrXatJriy9h1CnQK~-YGIus71V|~$2p_8*v}dVWRTn5jWzO=vG9Z{ zu!n~mR4J1j;S`P?+!qWBYyr~*Yl_i=(P3>Fn9_N|93h@w`#kzMiZzy6sBw7lB6DIS z0D?GroK7*`WGK9mz)W@8L2<0vZj4h%X zdGz|qRI z(d#N0B`Z8@>wv37Fd?C`L;jj7)0mlS`mC-ZAyH-j5(?lI)|+T%tZ_^lQ!VH%aia%m zN|1QDWgXmo;=Gel)XD1TLdAUq{FA@>l`nj}bG<(Eb#qjuzy81e(#NJmDr+K%^J>GN zJxt@{u%qE9Xm(&u)44u<$fjU}1%Qmay{%A!fyryP_1xppxZ~>d0IIC%Ta(Gof~EZm*vko7S8S z9KNpx%lXHxKJV2pX_LiUJWf&q!3daGVP;-0aCT@0BS$=tz{&2P9c_ zgIz*Ex?|72V37O$49~mz$!Tnu*zF^zI{DaGWCu4+bYyhW9I{v&rWnG-?#Sy7WtPdY zUzbUjSvdDBT3GI3AMo9<3XXS4_v#$XTd0^w@=)BEp3VDNygl_qSBzem?J*06_*q8gX;+!SMO^F=!_Dos z!H5dYI)C!KLIoRU{N#;3cs1oBC zZ3H1KCo(BO5%A| zO}o%tn40#(uCsY2kL|)XwE5yQCzadU%E-u^4kK+=%VNjJZkMm;;q5K|EzKu@IhIF|-7dGRJroS~ zjQ!UC_|qT0PBFJ@<)DAzkNniPEeUP7iDk1EJ9o0gV^(o+ugyGaK{JDS0dEWGi3&O7 zw$f=kV*V>q29fVFD}-NL)t$Y|Z;2=KCuTYTMDgff5c-~TUPaD8N_u2E&i=YQuv`-eA# ztm6b5zi*kB4nl-6@l<3kdV1K`S;o~gqFm-VkFeuvyCqmT7!wJe1van|<1Qs`5G6>Q z0JC_gwwd_u;bt3USDh@bmIuCc&cT*Yv0_33R2+nmd4oLj%wxyI3A<#06Ot?mBjFmL zqhdxSff-Yqb=W^9rirspj2JPJwX9eL3kSql!_PgUB=K=Xlx$6{J$2$h?0!CdCXAsH97p>n4`=yHj%i=COKq6WH}(w za?Y{B3QKLv%&RCD7;8}_#(iAe!j1%_xQB|44)|FW2Ew&DPE|t4WKf4-`mXS_#jdwP zlqx9>(K!t^^=`ui`p7j}aP$=>Edh}RhdfJ&o%_Zr_>AVFZo?;QWXEz6$z@X^N_a?NvHs8q^{@wp3AZ^{W&Fe_8=(mQ z&`#j0kcb;0CO)w7;Ksd=Uyo0FP5QAv`-{HyN8aZbi+hrB;4;eDE4*G88z~PB)>T;^6hJ z+>S_l@HLn23% z9W=m+{|J>itYC~QqL6|4@46}OLnnvg9l?Gbg1`G8v&jU=c<`S zL$_!TEAvCS;u2*XVi}DPm-O>rYCimT|NV9Ntk)ug{+>_$JHPNH^I~C7GHEvJqUItR z-pe6&n`x|6ND{?txS#ZY@RbL zf=xxKpiI&jc6Q8jrrRFvW$uz8(3M-QVL=CiED@>QzbI~&IUxzG5fIDpS|O1hLaoVq zi&287oN&SvVM@$mM`eNMBuEfL>PqQ-9uHeRyN+J83-osvh>)vun`0!|IFsd;Fyo}$ zg9D)gtE>^mjEahcMuIqx*&m`Cq7!Gip?c>gO9W7nvEU<&hXBjW5GFsc0JDlZCi!`p zAYn3SsLbOaP>dwHOQd9yIsqMLp>YwIYVu z^o5BMhvYdx;ssP7Pn?|wW986Ly49JhGdQypsQ?v9Ok*W~X3X7Xtb)CoOq~sT6MbH# zZT_ta|El}bv$qp`j{rv^y+?4YOkfq213e#c{UOU``2kfHH8^!DGc#a!|7>Bs( zCSL3_hnvHu?#T=;N`@J5pA8=Mw96_)E?6n>gf$-58Rzhn8Fp&VmdqMSocP(qirluT zNhXXPJ8r6&4MSX`N)egkp@$Z4ldaRqwz7IAz-OzeUszZsIe;LulPMCc^BP&)6fQY0 zKgTksl58f-fKH4Ic@$zm7@0Up0?c8=%;Nv9-O?v3~@FXY^SRa!RT24;y@k0vwq*VR}TK@7q0%( zdc|3aeB=M|-7kv;J=s*aJ7)8@Clx2=7QK?j#)lIt5*ZHb9E>^UfgCxWkBxxlMpM1% zIS$&GzCrE)8jlE2#9uR+wK@Z(z#C++@wT?Z*aU+16u3LU2@})gC>!Jb-oixHc$U}L zp#ZFtA=jj*R3U^D4KPtbCQ1y2b)J($K|?njJ{zz1a8)Y@q`yGWHG)GW!D<4|<0nMP#z#s>TC*hh1b8UPdQMVhm~-ZnT(gYipaCI*pyn%<_;lG9hFtsMv7f zHSW(na+tU!+;hQ&uyUIdqGSfrkYm9{3Y9=DyL>u0t!g-W8nehqC@nI@RU<3q!O9`v zWeJ^!Xf@+J$P~{paf2saU9p6tkB;^8XthtXjf@F5D!167%&ak8SV8Bwsk5dS*KXwn za!uTGP+2F;_6TIK$~;764Odqksoo3TJ2MrYQAEXwgY?$Qkyn?$U#%dK$U5n zxY5axqtaC_eDK*L?Hcb#78cN;iHgOzNf_>R?V{^ltdTHjqh8RC9S9I(N*qsDfX@jX z|5)Mh&;DQGpie61k9_>cK1IkgO*$18Sf;>TG00{lXibm8D%0es@FID#lsTOYu94?> z+3@u~ORx^18|5NGf;Rw2u)$tam23;MRLN7tj1`4M zU2!@C_>8CT83TN5kgLmcsmx$wmozdqWRiH8p@f|jC13%qWvQu301ta?j%4SoVC!;i z*y;-6d&k8Z4~_dj#fqVJaXC!av^Oejwy3bGu+3?CwS0+gat6nR?)oINFhSJ=-DkMF zu{@S36014$CY%iwbNx{!C6r|@ov&Ct{Dt)2eD%TA{e)N9L03Nd8$b5Bs#wJnPMLdS zGzR3lV8ezRCl)GfQDl}fNx}q3;4z9B-(-mxhg3&aClz)u<3P|+yz zj73aLQ9(m#Ytol_iXUm{bw6%ybu74jlfnfB%cA(ukqBVpfas;lraEzRs#%in&$- zs(!vJ?7x1=zxt^!u!$8s;piL)_k3h{(eO}W3Qt{(*+RLdRH~CDOB@L=QHsa}@G#9Z zB`PDCOmD%`qPN%5Av-cpoCGl(l#FsW5AQY(ToW2k(3oM4G+QSO*Ze zddsOXal|Y|N<@v-zRhw^bI7Z;!tl4Q(n6)-$=xK#4H6uq0gJfVVc)ol3Nb1y4Q%A% zsfoQ&_j)Sx1e@fzq?#LU!-S1jQ7~}_OItI&$}R_8%TD#rY)>Y8qR#+_%qk92JmoRB z2ol3jc?6%X9g1->+#hgudhh|2z%^E~nH*DJ>-yPnblHfeur|;T);f=ni@qM@#7-bKAnT2yQeEfo)C|pRIWCP$bC_x2RG@#!i-}*tsEw zrw9h{OsUugXgkPQ$((z=Zi}}qEMuk2+qg>s@Q^~s!Y%Hfn?8KP2{t2(y~8oy2G=Hq zM2O=7eJ1d6Qfptji4$9!Cs`vyhJ7+Xl`8iLGH1L_Gtz7g)qr}5Dg~@KdoZS|bxH!g z;UGku0t#jnbi!0FeZIHD_#XWOcF+f(^L1ZiYeKq$*Ba@eRDF=HPLdUbb1^P!<%i#Q z@@xO*i>~JEB48W~sJuN78t(Hwh7#nZ}EWyLGEc;{foYlR^jXk!Ax88I`voDsKdX z!NMZhfrYI!9&>}?51tBXB8I?ZFT1U?k2PUq7AqQCQg@d+kfl>L9uWr-#vfEj+lNvk|XhjCXy#I1&Tz`fD(rku{AjG z5;p7&TSx`ZkPIM|1w7m`I=?qaxSs3B$nKwR@f-N0}^T zBtm$Qy3ROHF^3PCU0m3yFwF^N)`^dWZ0ZSMMPYYfS7W8Zsb0d=K!XrD0+_GOEOaOH z_z2=d9l$um(P2N+aMOx~uFA|c$|%4-_mOb+>7-{dqjQf80T33#xVh-kr{CVP-}~dM z_sOnc2K}8ce&bJk(TrHMSHZa57B^u8NZi3kydgubA+f_|gDHGKmbahDQB;x3e|2C<8X;P`HEB2q}0;qo5L}K!)TQ6JN%Mm6Yf@7Yvv*yLirZ zefNvZd>>Ab8Kv&Yw(tfO9K4Mz`y3equLAgag3dY`G8JNHo{>#fnd5%l-#o_34N_eV z%xcel=7^y26b-o3#)LL83(OE>@61l~29dfe38GVA6AfkPrKrxXeoAAvZZ}nMV(%i* zVqz8xB~EHV1{)S+9#cwm4*iHD0;k>jVg(QzpwS5)#_L4b*MI+@Qe8HBfV( znIJ*DX&mTeIiW(9`L3#Sx>He?F_S~aL5@d6Sv@0h+Z{!oVP~etoV{RF%&Oo2_j9{{ z^fSUiA9I!>U-rx2ur3ztl(CSw=m#rX*(ZV;57;1w%k52E>@} za;|SDR(aet3{Kbx$f@Yo0dI9NbMM?ps+Mg|M_&b)4c z`)mwE9eu}m&P&imHs67R2yZl$+-vNyj+-P2Y}l!y;u?W?nzKu-ibgG!D#;GbTXyEq z$(_qen*kk-ecq1768mG)1Xkd6-h-vZkhRV%V5Ll)N5*P8MnBi@`^_`QvdRMf z0SsLc2%2+Rs(C?R)zSv(s>CRi&)v7u-v+fEXROEm}$x! zkpmW}^esdejL zZ~et5uhM6_T0Q8>*ZtN{en3n782{_GkkiL34obBSF`X>0Hsle^R8i3hFwHc} z_z_Byg5go6LK+5^%gRz@u4iXY<{b^@s2LXuRb$}V=?Ganjy57+NuorFGzq<_1d+)D zR?HXbL7u^bmxZqLVoAfrvT>6|=5d|Nib+`UQo&DlNSV=+y< zC9zB=pXj-AO2Ocfnd1>v)@m+ofmcX#Dy(vzMLg&J?wEb5?4n>t;~6JinOGqfh_QFU z+?$sQ8dj>zFv~pixKWMIqLF9E=xTk_3|ME17%wx+3?3YaP@Z78=mYO{onyOaxhFFV zXPj3Bu%IHNQJ?^%keO|3CWlBid0sQbF|$aSd4i}Hkc|uC>fxCz@q{uE;07K{ElXA{ zgz(}sq%H@Gg^iA-vUzriQN+O%A);Le8}m#xEnYX{N9P!wLd^xs8g6A`f(2Cz#E3FA z2DJcLqS#nKCqEH)u86-bw5F3KPHdut@Ny{ldfqu^`)W&bk|q!6#7SZ9%E_;C!1C49 z)4pb>?x?Gc)mx$mYL=dG-4obq?!kkr6P*BJKrMALS6;|4eP|Tv?Aw;Ur(5jiW9u00Q zZfsruj)edr>|_V3e11p{TiXzUnJ|7#B*>BP$$btsT{{{n_M3hNohVB^zQ?!`?l`Ao zbYzJlF@>Mt7+qDf72(1^@h*Crg`UdX7kUck)ng-8*A9~Bh$tGi2FoBt5eu-z6ka6J zeLg{`yno~Q{Oi9b9P}~b(?8?y|NQ4oiN!hjXgnX%ByGWY7MZR&w;}O#0(K!WP6Z-X@-{~;AagxDk|0{TUd!V8u~ZqSrtdD;1W0Rv7-q&7mlWXdT7u$pwVk}XZ;QG!yp*Bhg zqo+iQ1QyI=UGAQy$OhR7uj@^-)Psv2>1$Zp={~@j&{v5#$5hDI8srYi;YFj!v^c~j z4x99j+ne&k{~#RnF=1`)YyREWuZe|uHB8zk;wFrU04uc(pvt`#2Yi^D1gNmbJ=B^* zkmrq-hN6Qo5vG}Cfq7=Jk;07Ka1f$>=XfMs+#*P%Lt$%z-MRq53rzRaZC-+*&rTLx z2Q)T^Al+3Zg@=7qZk(9}Y{8F*lcr&|BwEuBZ<#7yBqNXzWdW(BGqOsdO~66MK@@*m z7v9V|I=h?@CqWF2DFS#&P-SK$nh+{JtOKoU&`A;OuxCg($oA;u74Y@ptj3t5G6sTi z{ZS!AVeD!EGI*KlL&j{B_wAS!szcJeAJuN@BHv|wi;4M~Zcab!H@SmJqU@4DBg+<6 z0$um03&stJG!EipXx}*dmU#Nzb%`gclDoR_{4!!U))*f}WD}?)U3KPtA7*7_!J+`C7608y*I~yQFk;SntbUzKQMVVweRp`_^ z^Wh8B#3kFjOOY5+G%8Gy$6C|wNRt!J`UEj!wZH56f8E&@4*F#yedO1F`h#Lv(p4bC zF5j4W{yB#9HHLXl&lB+>EXC&ocj z*Q-dB1hXSFM(lVj>&zus8^dcWBaeBf_X_a|(VcJSc)Pj^9XZa;rRZ&k?L2FyLK1J?)EbL$&nJvq zo|E@J|J_L+xi;~M=fCmezwj+nVqVe}K<8mgonXPBSzxj5h)d92HPAb713J%}`Hl#T`S)eNJBv;bLaQ*@8S-w#ecp1jH_sAC-Ae7ok9%O?pY`Z1AY>T(X4_l?FL1 zFe9TGe`8{WtuYOU&l4R>_4GxOB*yZNDXg(OR^9vkvdnfDyXK4dFZ3=^Uhm?kti0HF zr@LSrJc@7o)1UlnldU*C;STzTzww{__}g4!DNa6V4(mFH1;fR~3k`#p3f%2NI!WO@ zn9(@mK@$`8-6)hP5hq2SDhffu$W*CP;@|>uSsvEKm=nQBC=w$}whuLO8!Bm3g4n5| zV+CYs7}`c`8H!U`zK8D zf>!a3CMV1|u*&fmX3}(_)8G>I|V45=#;$WUAP(B2%tieTc{8IAMiq z+b21PilfK=W-IHLWQIuC@Z-Qto&qrvm~jJD=J4Z3>mkD&>8dBz$~6A2s|@mlhw2U{ z@u3bliymQyB5p!xeed}J++#Y)B~B3kn9OQ_ixr;qIoxpk(D9HU!Zao#;F{r@5s%V6%4!Af`B1NcGuz@{WNf(b;>6U( zFwNGDKvdD%*2Czyn+nXGzMD)I1rrKR5@^5%DYEE53=cDe$h64Uxd`*T$Ga51)C|?> z=(P|9@<5Rcd5Xk{5yQ(Yqg9CCMcjN$JoXjzUSGeaBjZ0p8>2YH7FDCW+C$~-0{>8uk z&3D8Cyb2r%X}FPMIg_c=yE@=aXdE>$IcIQVMdeg%N*{31frs4_2VWA=9kk;a=OH4z+YA%{7PF#0xwp+VD&tal|yf zrfMNeBze@wZglzBxIv7kXX+geIADPwo9KWI6B*1c&Z=$9%yso%60?NSD3E2VLxqLh z*3}=xFtz7EKUoeLA8r(&O1h?rZ>e)#qeQW>jz*ON``9pXM8!BsBpilrzXO#L`?dS( zCXa25XL{#&#w{{fkO1B4uRkY*HY|5(ScV z0k1>m`^?qoBsk*G2)db>K}I6ncF0?tL`Rt=3sr2a;HQkWCOa1)hKq+Seka{?Yk<^I z^lmhmn8L~{=dS-bHdfJ4h@tT|4)C%?p-D;cCf=5H3FqJKw0ySGK`o$)(j=Fxu!=;H z@_MjOUc8P(i^&nJO|0GF1vx$Pb}iVHO)(SD^ZEpE(|I2aO6LoDKDTW~0hQ9l#jI zeI5bk+IMHiMdnOPj>3XC2(J`hH2d`Dk3aliQ#j}&<3s=SN4`)DP`VlK6*3+oO@hVwx)qV8!amc?kUjU48uz%}(|0I!bd8VjH7TcF#Km)taj-$I@4=Pz zVSrvSQ>d!}$?yn?2zC^leFhD7Ftb6C0^2OK2`!BWdPBy%(D0l|sOSwWwTCJyX5bB$P^mU;c^S+gU$K`lFM=9DxS2a<{{9y8sIm z$&tjy9Lo(RsDy$bH|1%mF;@Nzf;+1CUyj&b6|N0<`(Ncj4w7twfb zI19EjhONpBL9#8vpJmc`T1ds6H4&^hP>BL_JSR#ViFwk-zO4{umH=L6dD7#Z(>cO@ z;qv}La@65&pE{&5!o-{0(-S;BnD-i+lmLYgLA-d7&Ny5prq1oF792cfo(wsnn3=(c zm(m5Y&I;BZ9X&4rl4s8C3~{0tsD`T&C5g@|YL^mTN_2L}vq*6y#&3ZPNn+%H8+~PoD(o1JlDi@B1`;wB+(cUh zKubh%bg2t3o8x zmnXQH#e-7o&VO@HP2=k_2UzBi+k~+oAz>p;j3@=xYt;!5syiQ-+2gpyd0EBT_xubU zoq2pDx>(~Lf+Q*9=kAc6gJtw9-1erCAVv}!Q-ttSY4J&CnC6hf0nbDkCn8J}z)z5^ z+G=0MGsJf^Az>njnN5y3M#5HCp(kM{f*(5;;hH?$wK<*um13R z#bUcE2!XiK^X6fgXSYMY;4*W_=R}-zvZOd3>fHJ_rIGTKF5hB4#4=k(23W?-KH(l(St=wr;kZdyP$trctKY9dbj&esLU<@O^nqu1a;6ce zb;#om)>`mUWrhS$NwT>1|`fj_gbSsfg>Vaeby=oHd|`_ zXuQe-7D|{2_L)o1)Va^)jyvQG_W>vCJgy5=1bB^QraHctjLar)&5HHZ+?V^@|Vw2^FBqW0u*i3p&|qwSB|JNeVwV(1zIWE*L+)aryDT{^Vy*Qd!DG)sBAP%fDBM z!(Az|*X%$Z2h!}aPppf=^b;}!(2>z7Q6S3!4~H&=DRUbW5{p=I6T~()9jbz>Po`=3 zsY-&`x^Cb>9>D9Y5V%03+)RaJhu%#ECu)aasE?&CoZ2@hxXT1vxM^<{W!qT8K>$<3 zp5fq#Llzn;5~3(LIyj&jDV}x+D{90!CdM(IzKs1ORh$HI;=;@ zR>>I7?JCD)IlH(dy*rTx8qq+F2qO9CDdqv1Nn841S)H z0wPFAyjh90fW1WnMK8FRXPf9X$ep*NM2sjWL$1}iOuXz6V+jXUs_4X7uG>|s1V(h$ zn~4*_i%PX);7f3o_>9>n>#zT&aL|W<5Qn>Z2h!6kF(%|He?uqilH@sC>~T2IDd(1k zY>mu3UVMaD#DfVN8ZmrGlqPi+q+kN6G!?B>xWSVlXf4>eL-4}u+e4tEn4*doADK2T zP=PXLOl_TXjU6N7rQ>bt%-IN|GEIO0Dw`yU<0C{E6Aq>cU?qkN)0uEVoH!~<%X^XI z2~T=ReI)Us5ku}eM^@&5dqhbQBTa@hC)f#|+w&sKVsnmUD3jsV7D58;K4JUS-R8cV_kzt{2kSKy$cZZxk>n7+89q)|}jg#lbf5#|c zVum;%Gff%Kh3nv!c{D^N6T!IPBLT$8;3Ptb0Q+@2l1>TVNL&&NbH7-n*G%;Ke;6O!2Z5qigA&D|H z!N@4^=jYrSD+@dxr~_eQ4hI%&12RWrEv5&bf0|Am@pw!12@et6ZF0X`wHei`Y&P7J zd2CdWd5o1}6W7pzPTu(Yg_^tfmLZ~ZT0K*yf&~i-Rdh^Pk6(pd5n|pwZDI|3EiSPt4F@r*}?#>3d)y4N)ITw^D@p?_g+=7aN zj0qD8`yI;I9fUCh8ddVx$@kdFY+;2MRa}_Rk=QmQ@K!iHQ#qwDkBUN>r}zl5dx6R- zH$@;EmKIC3>D`pSs;U%zyw7M1y_+0e}1M9*Tiy1@vL5uStT$~RfQd%0Lv`& z@F`zulZ}>{CDOu4->kXTDr?*~{(BZX&s#{Co%S``Dc0_*#B|MZR9QyDiH!mo%J_KY zjB{_pM)5+8H7c`IaT)6BRkCC$qG82}4V@f^Z9>H!tY;drLIgN4^5imJ5-o!_YjiI8 z(*$oug=++pLp$AqM&>x`*u)_5@`Z&SyQRV>2(p4khFq5_7=o+7&prByzxMFyBwXo) zgpEG;+yB`Y2>1LdQK)5N1lN%W5aobF@}%(L#(`hB=YmV7a?aeWoEfBbF?=j{EJyE_ zJQZMvBLJd=y6(F+v%x+mElg{TZT49wa4!E_G~VmiK784ab$W+L1P_cKAdeGnVso(zp`82;+R#%5S&&B-nYm13hGCV`agbhE7%;3c?+;hRD zqcw3gy#v%Gc;0GGW4)I3S1#6$^IUc-Y5E1gLV0v&VXw3MxKqqzA5Ktx+I%#$DCBc$XOK=T0kM zP0p>8i|p&D&!6Nj`y65;!$XvT=9A;BUO?Qi$Qo8`oB(i>AWo(@B0-X+b1eZ`Vz{Yx zAsRO$n%gFx4LsOzVI_#tL4`nOnd2_Lb1yFpEPUCSBs-Lek|9ZjvZ&v?MttVN)5X_+ zTR7+gv1$IhfBVh1#FDx?6uBqd^J~m4{HQE4LjVu<4#HFd!RXj)(uwRDn1epY;sAAu zO(Yx2%1wlO`h7F=gh@7aukC2$IHY)HLVLR59X&{AGNA$P7@7GhLA=O-g3WlsE6A7$ zGK~cfbH>c!Ji1|s=)`!)0Y@apYS7daC+7<9^)4mrPLL@>oBUkDSaVULlm|X|RL9r1 z&U%FtN=W3;fdCIk7+UMA#Lp$5ZsX^;$;s|QMdJnml18r8Ka`0Gg3&QYq;_hX@!@Er zBA{}EXI(ulvjj%?8Db3~gA66ylQq^#aDlV)Z8x5zAN^P1pkJ7;{?#AP%w5>dDNsJcu)@d6l((=BP3&K*h#%TnzyPUz9cOX90!CD1ET}*Uu=cH$h;Do34d1b=vp#zE`@8@R*GxwV65Uir% zW{Vg%Ffm1dgKIueZSq+<(@vwbY;p-O$Ahj4*CWi1wCC1^sbTNS5XC;SS?q$#C7_yb z-~H3$F)!sA`yTYq`Hmm>LNN#VDj_6ct~)}PT`->H&SeEQ1)Mc>e z`g#ou@|hmeb(}zi0A-$W%wt|K!f7fYVzqwkg_=lQ{j+Um2`^>RC^$$r3_5d@z)BT~ zeIwJlJrV07LBJ^Uev2K<+-PzK&U2d}5*4&dnz+2l4IW%@o%uN(ww7fYGkG4eP7xCs z?C5AXd9B6oE)(O(aPc2t>QPr-FrIG1**e=;=Z}A?=sv$vD3s2K&IqoTd%oUgjFUicdBmC&=sE|| zj$`J9uGEQ(Wa~1{ozU5-GmX7{P4l%Apu#jM!-<+<+IW8j6IKo=GETk(^lfXof{ zn&eA8H~}l*Cx?Oy8r)I^3mUNrtD%wz;>LxwF1s(`!O_Lq@Un~q$SuEB9W$U@Aj{qP z`kfaNWiv5NmZy|h=bsov@WrBu0W1W!A_T z<+>)8IO?Jtf2QNNX~W4Z(>Ts$=?6uQFzN+b2THhzQ)B@v2S9}wvut%JRJWkA-D3Ej zU@~!Xo0)T&?hKF5g_mY2qA`cHQNFJuGa_$t7K}%;j$Q}CKyvv#yGAw4{tja*4gS}h)^e%3AOyU zGTYoIfox=~!#KMxg;prn^+AU(G(lKpA03!GW1PAOHC#`UDk>f_OU`M{~hJp+UNCwpRJs8sdA1d-Spl!_8U6UO+z=`w7Z+egcmSiFlIHh z!I&^>pm7^Bn6bgw<2B1;u!(Dc89Xe8FbvGVfT5dy!@c+16RJ*~bE@i8R4J5l+I#*e zT^*^Ewxlg-OL{(ct?u_!sU+=ZKl^!}U;6&axLLr4k2EE&2;y(hCvf7dYswZB626MLncpHoKmKOS+nx!=pUa&^!ojDZ2$hqAOCZ|J0$G$2_z;o z+@}H$v)r)Bv+CyTWljIG7lNro;Z5B!Q|3MrQB6wJR@=mf4!EF9i3IbNYHjtE%4I&P z`PX7!Q7AJ-l0XqFmb&Aqbmx$sV4lmCaj_WA7Rjno)mTh1$1Ikf)x}3gnCC2Tz(Wjp z$&zM;P)+l;bqvU?5wDuU0hM_TX(ZeO+!>R^S;y6dO1zy7eE4wUCr=WPSR#a%h@RyAKvqR`p&=o>#9@?g@OK-&wu3){rN9?#q^mxO6(7?+D@PkoUE{pflF4a zvOwEx3VAqzPFJN!L*jJ;qbi;5&Mdc?_dWu|D6>we>-Q~kQuD8+K1G&pOOG;~Q*6_4 z$b=a%v}vo9!reAS)W#As*tpcUK2HN{%#kBToE;uhAjKl*L@}X|2h8kn$u(J`+^dd{ z9d#l)5nc{BvrHjMhAoUL>(Q5aL5w(QZYqXVjwBJHM2K)jiX8$tc!`Zwq9{O!B?5Q} z5@3Pzx?BRmxFZv4>I5|4z>7=)KldtyEcIrF0XqSl#G8~w*zk|^s_a}e*k^^hvL3-C z^VQYoGf)13Fwncf`aAyC@7WVmXA-#RI)oN)!nB-kcOi6k3D$+AfT*kHe6kQ(t-XU?386!%**WdX~;BhE6{ z*jcJ}ByUHUBxOLU=>acSjeRH+;hF@HA;BUcmWlC(C`qD3@waTfB^W2n)w{mHOp`s_ zhyx!b-eBipTZu~}h9)a&SmhHkC=4VUTvmC4q7HpZu(G@R{N&|F!a!HePyYA+#~&B5 zwn;?hK*+{SJo7j?;sP0%A%F{+4G}#T=$2?x(Z=#X)tT&4kFjr=3uH`u zfjMUTmRT}Ttkw*BI!K!t@Zh09sM;m_?RT2Rf)R;QQ-?v30_Vh7MeZWqS`Wn8sHC9F zMA;xujsiiF_=&K?e$|kX2@wHIyo*)kLEnf07j6b$4w)g!7Uqrx1~KNE)Y!M0i3wsP zE2-|cGa}1^s6iilw%H+ol?65kw=o#fL|DhyA?}=PQpAx!ri^7oO$cwld*eLyk3>~o zFbd|ZnRlQ4gJ?{D-%OVV`uF|JFZ{7p;l7$kGQ1RnFu|CR@vusP7nNgL5GOJ-L+^1a z5U8cZGZdB^j%g)kG>K`Z3Dmi#zKdOx<6oHo3SoShHF>^FoC78nRK<_%xUgfYGqcUO zaB$8AzUmdH>b{#94?euuF_IZGXRVJ^)d-I=%RDB0#0lZ%MNLe4rVqJR z?HWEvt}(EJr{;PZQMf^3o|&2&`}P#?{3{3|$$iXO!ifz(PRuQh?<}vm;+-~yF`p4@ z;_y^Ra7hwt7Y!!0CDl;MWMy-N4gj-UWOCyV{7QiIeV-)%Lj#IH*P@s$|VkFQTUh$G9IjTMyf&q6H&}Wxfru~qA+(S1-(q3 zWP_U_iH${Km|5!jKFgd8(QOeUuR=C1)Z?C=U<-wL0{AEkQ++Hkt7wdB!mGNF1439^ zIE7Ng@QxtYuF*g*5)wIoQ-wqFZ$JOnZ%%}P-j*NygMa?_1VksMiC*x9NZdp&aBOf& zjukAF__UHIp)e~9^a(~L!x3&=NPwa8|Hlmp6LDs-*BK&!lX%;qZA>6 zy1w1FSTSNJ&rJ1r>i}dFq7?8`Btw*iJBN%MA2CY;1Ab<>8nb+=AaPZBkQr{+#Dl%- zBbLJHQ1c4PTw`U4M4RjKw~3$!@sVlyw-IEnh!JNN^O&jj3vP{OkA`i~qCDZUX;Z$> z3}Xj!-)b7&l4;_AGLKkWUNCI7Tu&bUo4=;AnrAu<^qsw*|4UyDim5WmNKKkr2*w{1 zUgmKTWu78FV#q+41yRd2!C0{29jU;NR;!W=E6?jpqdc<>5@_8s!;bFdhGf!|IiN&H zb+3gq5j;pZ@Z)EJFe`+Z#YY^O442s1VTR(JGIf06x3~$@4-}mq2UE)m^J}CznU!0rm;l)dbz~)uk7~$GU2`rY{5C^c()} zA9+VilgTEJ!VPN_L^t$_qQn&i{PXTT?`1BzCd~mxu1MfyS9NotJlB8&GX+u{b3_s+R(#Ac#}zU;&RHZ) z@=le!6%SVIc)8G@Do+Q(WOlLl^_e) z8r)JP3b>oZze8k6Aakv%+d)Vaw~ZwV*W6$MN=Rh-O8quaZc>B3LX>L~l}-Q(5j;a! zHD6UV=L?mByw7m6iCviIQ-_7Q?dMO9p9urKDL?w>{^HNrB{5AVn=&z6ERYllZxcs| z=lJjgC5kv%7v{NOY{=e8Y4_sdWuGSGrs|6B!6NgVBTk4CAx@bjF|K*VDRH9M*d|4p zdtH>HSP9_(O1$JXd7!`*XP7Y)#X}ea8D^OwkC{TvN?->}*l;k1m#eXwBa0k$H6zN* zc3sYpt&3K#;^&M67A%~SBuShYa~KD(f9AO%LXI_Dcf|ipO%l{4ma0!ofON-V1)0#8 zHP#cnof((B;S3j_AmQxUcr_8k$puz6DO6Pn{CC`-3K6^mH_=mE;|CPp+?kg}W)XF^ z)5wbL&HaD=*YzWpp(6wR>)-!JfAPL3SDkoFc<~V9L=45mvB5Pd!WbxU#Rj5R;xtp_ z4LRaH)ZvcGh^<%0SmChm2=BU1q=v3|O{ro+<%tp{&Q0|kvW*iD;VzHF3P-poa9-0a zO(DuDtIT3&1`85SoEW&maAzbGvY4@rS;13^HIyz|hvii@th@U+S5*^ui&G-VK%Q)k z2^_=75;Gk%*n6W)w4uG=T9f_Sf}2X z6w_lGNCIgUDRF{vBgX?~u#)4Dbs-KnTzlE9s)dm|pQ z`qE$$^hAOAn!Jz3pZ@Ru+>eTM*y-ScJUPu87zy;VwB^V!gMkwkaESq#dJNdc zs9DWToq&vX$C-vuGVV+q$T^GyPJqn03^a4=U|x#aS|jbv4N@2 z%5;e>{M?}2sTZHCx(sfaCybvERdHwcLWy{Tl@5`Xyk@7^SZfnMbc z-~T86F*vFiJyG^i1E*G&9DkDOqHd5G9-y*UV=JbqNa+5@4)}i&>b#)G_ip z3M5u2Q(_N4GlVgdA;bzdL|G@-g^8Z!3t_i`NNO!jm7dT}TKQ;pRD#khls^+?ZFllBuBu4a37M$)<7d?EPJ&UgQ&Fwm>J^f&+N@7Na8Vp@1bL73+gg-nSR=83R~i83C9)}vs& zC~|-WbLE(5WSIc-%-_-XRl_QaL!SR>E_uc^F0vhxLJj!wW29Jf9M0V7(%uX4YO=G8 z4Il2NnG+J(x~Nnc17^&3;NB1fEYO#~D3z-!hh;ltd6Q=v$V zvdV<_CtMTl+BuY92`A|ucGr0p2;$`!g(xwuxF$w|EdqpaaRInl!%vzSXnOU5I)iM9?RK1U8IF%=k{&NRes!n``VEX5*zeW}~LV z`3(mx3zt|?LEoHTPt z-0FOoS{{Z2ED#`9sT?o%(5<`iz@A{W5^qg3Ne-2fh*9FQ=5Ty#qNk8qWRY2nj4rFt z#Wo)Dw2c0UKeS5hY6zsi`sbc1%3XqE!A>AWEv@{*X!I0sV+13wmBHFFEC$;})fg z1_BhBQ@s+F@gTQ&{;xGubhnbkgck`&@QN30H4(f*M`ud$8`HZV{hiULx$D3{|DF&3 z(0_Sf=rK$Y4!mO~4J1%Qjs>D9x~aPr=m7(ag@JCWq+pwI;H)t)o%k@SRLlrbV5x`3 zTAvxQIZ~uZktUB+`3?#NvRrUT1c@}SIprJ+1(GBv^O(~bcV_`VHlln|bGTHRd>;uL zJ|dKX8J7CKLndGYBQczmus2k-moZ?+iW>vjs(V2qixD?wjL7V>O`=KE*v%HR_%ODJ zvDF-_a8?cK0Qd0{0akEV&0Q~B1PP+l=tle4!p0$2q{)&YMT#O2#MH#ljS@k@)N`tK zf+&`{D%iK=Ns~mzNU3K9gfcPGtaW9gTcPdP=17yP=8_a!yw-wD5i8rINZ`azfFJ>a z1o05!IoHf`#SDHS5jz1WEn?3G7T949H?m5Rw;SSIv&=<{oRJ(e8g(U?u=5NTPA>SQ zgJOe?713;MYWZB?zOb{8q z-4JK7vW%gU8(_eQOc@&<3Yfa|dMhM|p>T~%zQ)uxv5lWJC&XH&I)||~NF2>!;TS)A zRVPESrPxuLD~bd(skJO&BG0#Zj~sE<>ORF(iKOMR0&?}Rt#E^v968J=`M~yGq#YC zh!7^vS(_?-FLRVQ7LoJ`#KR`;E)9zt5?oMj)4uRMyqbN(e}hDbHyyJ$U3^a5&MD?; z?)Uvi|LiYMxq<#;zxY@FXh3AdP8Cr;5h?By$~>#0`?+AkxaO0Zf0+rh&`0v4Or8P- z3X~|5Y!gj1wr%vbLa{~lc95+R<*~%^0V&K4tAN}g23D>*HVQnhOYq)dzRq28()6kq z*{FU(4g(fsPI-YFH>VhIcVYA{;^MqRmAMx~mx<(!Sn*?_Okw~%O(dKYDKbl@W4*i` zSGD&#eP7cehpJwApC{rRFi|Y9h^42fvqFshHU|0@iyD2$H2+TJD-C>EM9`<2KmYU> zzUL-7%5N~@`M10K+kcBN&!-ES*J4|qSV}@xMKE!^ozo8Xu=l)e=1G#^x+cAv4n}J` zGA%mw`q&4?*ur!twk_dcvE~zQofB8Q z0FulCau=d*i^O=-@l^@-$ahS-?=&CI2X-fviqU_@hKl~=35}kUElRvl`RZe42YCI0 z;ZyFzq;N9FtCqjLsA=rhAD3O6RBs4~n>xk(+}?No!e9F>`Z#%v0_nH>jX&_dmw5;cMgI;FKl8#VZO(tTnQ7!HqTuFpUQgn z3!H7fLxSgBo@)fti-Glxrw6Y;ol*n+2maWf`|TcanxDE!Z_zBBPM{BrY-4Ae5Ox${ zpbI8$&GHc>#}3{eXLp|Gob=FBy&YDJO=XT|RUTyrNB0hbQw*%u97oK!3E;wrsmX{N z@ZrbDEbGkU$IQ4fOTZ zKk%2nDl$l>5EEx2$$i4`p^(5%sp)}QAQ*QngfX_1TWig2g!Nyk~l57*lk3r_xk=;r zyIPk7lg1Zk_h%me{V6oif8u}s-+fV(pHCwa5ux8YVMK_M$4v&07!1M0QRJL6-VpA> z{Umckfql+NsHkb~9xGDQR$n(*u&LPEt)K%Dqyk26vjMcfXCIU3sY=|dGWEJlk_aK} z%wgB4j$3yf}Ma3vyTh zGv==5TA6FSLiTowF|n}ufZ57uW4bOeP!?%f%;9?-(>AK~Sc%P@LD%}SgKUcV+(9so}((oQ#)vZ1YZznDQKpJP|FK8x_Z6L3u2tI%c5?wIRxFau8EwQ($wKtJ6qIH zs#yhcoba5-{8A-@DWkfbV3-G(fK?H4m~y_y_w_$DDj&_L9O%{`_)p(+h+99c_*rV( zV^%Oecv-;C4R2Ur4k(C}Fu{bORF8Epur{r*F5ig&E1VBpp;~F<=8WnfmnF#)a(LOp zLXHyFrl%acMxS+xiS@b>u`=IdVL`WXi$V{j55uIyDLWK^XvM`eH=x>ig(T*#6V_8a z!$KG*5)vtKHW)i*Gs2b~MmDZMOU3LqVb>1g#?$qzHfYc>NsgGd!yt>+{@ih~Y^D z2T=Lnj5s^Q1`?6h0tqPc6o5_4*s*YtaS>ha_R1eN6a(ub3GN&>bE{Im+VUniTD|daR2HZMs8TK|K-~|u(bfB{{ z#!QdV`6V($ffO#>nn~9Q2G6W!hJ+XEoiuk7C1zM4OSYpkPv)enPm>y+1RGv13E-wg zncHp>0>RHL{D1%Kv!9p}1O5B{;!iG#TP_ex0v}K$g=@4O8wG-aQEHHQE7cfdx3S?f z&H#xmu7=il%hg5z&4oT(;6}iR6(1Jj*s)>5z#`^8RY;P2x8`3?mYN!!y|%UM_Ped} zM91^Dz7*o|fIn@a$LO~KN7cMKXP0LP#sw|i@`f6-+08s2;<&M4P|=h8M0JJv?I*p@ zcj|IE&Afw!G-tRmVPcMXL?}@J@N+->>2Lb~{Pkgf>Ig*QzUP}i|9#?iPdBoNpHBc1 zW+Yyaz$naf!Nd|%UAL&Pk8@~QBy(+Iwwt00i^*|$!GuUcOA=0(jVK1J4UQzxGlom6#{XB3OlwR_)mtfV>$d?-2VIi z$Da`K^C>6MW+@en2SL_ZXOWpoMXo?FiO9U@s<(57aFYs1?J?mY+QJOFM{wfrifgSrJ5K1`&$dS?T!F0vrZEK=yHncHxXm?hPtntk_ka)H-v4x8Itkitip5MGKD zF|t7bCmGJ_@*R@QW7AOKUocn$Jw^eW1_`-FWNt{I@D5f?mYR*`M(FtEpdQ`05Hu8=jVkmo6B6cTKx zz9SObTy&K&ktak%$D?4yIq>=T88?KvY3bas*Ga!AWJz$-#sDu6Wr;wWcNFM}B3E1^ zVd_h;(TN!=4lG!jM&zwXcMSA%o^V_>&)uw&#KtCzEaJt&88TLk9OEFvi<;Rab0cKn z1gg2`{?7Wh{>E@ErJ?e*|LRBQ#BCP5#l||tp&cLu{Ufo=f~YwcOaTg~I&>cz*=E0K zqe@9Q&T7b1VrA;hI|r*AHi_o8qcEyowJI5|fL$6x%ND9{*y;NHj@ZQ9@|oMm z%A-DXI1JEMn621gwixOPOacV)Vn@LUl=vJl`NJ%yYq1tWxJ~Dr!f^S_||1 zu3q=FQ?8n*YErx-=FB+TU{nB`SZreGO6E*;C6DMR>#0t>!6TAqBngbMOAjfAM$z;IKYzh@r3_ z{nLN;XT$>``0S8*_uoDoZQ2G2Mu~|BEaAk~cmHC6K>rlD<~dhA{zJjbDH+3z zgp4xv(V-0cz$&jf>tHro*`Unpo@33|EJIgy>%+uGX}}V8Ibfccs_|RuIw!?f74;H~ z4{3q}HZJ7K`yUV?ixD3s5?HWdz(9tV4NrZ5B_wRjQX~Zgm=!ll&?RQfYv29{*F%yW z8Jd9}p8b#i>o57m?G-emgb^DaOu|IhArg=93&UJ6C5ByuXPkE}4fht;fZMEPS!tu% z5#jKj-&?206_%yT`^&&Xp#R`tXrSnpDC zCdq0SP45KypnwT)UuT9SQOs@fCyYRrBNCK=I8k14h5;W?M(0(a2i$BE5W^st0#cmt zj7Xmm$HB+^d?eaNg%ey-9C!>%-@GBmHV19Z<}foHYvL46FoR4%rzX08;4-W!)>M6l zOsGp|fr6Qkh@y`jaojk1{9A>`911a9)Z)Ya)2t7})KQP;jw)fddIovq#P_E3E zJuHB&LE2Ulry4Y>cjR~0>wn(>)^vhgRAd57WMtTY_H&|OlYb92&@R~SFni>A*>WwX1PZHAVZuSevA}} z04`Rm^G+bpioK=BZw|jb_|F;2+55}C@%Mj2+)_cSgJf;}Ur`K*PB1giE;C|d6X=M+ z$X&^tcG>)?9pxdY1DANla>rNMc*A#jT0Ov)xFI%>_|?l$(>@1p+xnwPBi@HwX{=DR>|tM&0foGK<{z=Vly zB3QUrcS?zH1BAJcP4oZ|41{&__xxUl(35N!5p>h<{6GJDYvPs)nj_U6l9DyvehD)+ zoOto$$0@4Qhlq*ym_>9&6zGdf_OYOCwUo>$+7^@ELVtet!Z+C#7fqVgd~GAN~`6_BT1iGa^uV$gvY3NRSW#oERyQBE~#t18x>0 zxW$HpMK*DWjZL6CT+HCqcxGPnO!H$Y%nw|9I?YnY&v28e7-<>ORYNLIjB|=u`-~uG zIpHZ0;>b1bjs)lA@QqNSF3BYTPTsJIR2c*Cv%-G$UjP{vG)_#9F^i*5Re0@>dD6fH z?B;t&pignl3NcmD)jhm8xxs^*2!ioKLBgTAiEgc|EfN7-I5Fd>DUI}1Gc?Sa?-c?; z<(w>CFaK|UH8vn$dbp>(?KA~$1P);Y34?_ zhQur1%TJVR+{}~5!7@^l?#Lm{E5{R*S;eU%QL{8_1B;=Ddo-KlY!Jd*<2Gteh<%(a zV$`q*MKEZy;_Xv*!#M>^8kYT-YgQ`>I7Y!nv|1i%7yZozL*Tu@$F9f!aLf(#U;h{X z^bZ-uy%eZ6(3@8drif5v13y_2Ngtr`vxiC4Z3(7`5{F%;=(gHQEl@p}uJURK-#vxI zY75CNAIlUfk>u7U{tZ#Cknwlz_DJ$kTg4D7R*WNxU!9Ty41|aRX`;A*)27ahGFu%+ zsh2qw#fV2oadgkX@;L%Mn*It=u8FhO!9h~O%>~y&!+ng{WRpa7bx=r>AE25|0VnXf z<`lCiZh>In7%4CQyZ>7}KG@F~DC?^~|9^Pk7PnHMmQ0(&Qi*F~EEC31m!>GtYB6|s z0O@D~fu2e6rtkL%vxFNb0m6jv6TrcBP1^V1$P;CwA&zZjgDh`U8;B{wUByW(_47YjI)WdCiHiRMYWXAQ&7EJRi?~`|pmi zf&OFv-5>pmr~wglGa;|;#Ir0c)OpWiTw`Yq7pb8ffu{vGJ9xz~2&RfMulkO2nwe#v z7zturb4`>e7eic|N?7YmONlL>cPV`q=u&tu$+3!86-aQ&6?sxzlfpcdwD-3zmr&d2 zuA6lvURDaK5?BZm)-W|ap`u&;@aDO1K=FKkj|RGtZBiZ0bAULjqWXNyD3M}^dGf#} zGBP<%Fyb0e96d&==3k*9^wAIqBz#NX`IqO%gZqSmhRg0h_}L#4=DDC7tOW0LLN73b zi)VEQ-fOP0uz|vb%Hz~>rTvXub6}EqEz;#H%&}5YMimIAhqJ!Yn+@1;%AdF({HNld+YnQf`xe9eUnL$0Bmeg>|q3(alpI= z`59V}WwB-3x$X%Pz<|Q5K3WQ{v9H>Bag9f$xQ`hLzFS=@mf7SABL$KJ2m;6$Sm2^& zHl^^08z2}0-|&CsKl{$F8&d=Qi+}Rh%!pek=MDlbTeok8 z0(KM%fVqb>)FM*HBTJs6>Z;b5vhHFI19{F{W*Fo+z{U;<4GdaYN2#{?J9!qp?-jEc zE4%3~R2tfKPX@2*y7()$gn>S`obZMa3&go*YXI*rW5CSXIOW^C9y z)~3qDaZ=_bIhL@X;BJvDFLPF{`!+Wib?a2O4KrISaL|9{o3?9vs+;5GTAg5UH5G6RET6ck< zkuSKu^z(x=&p7&*{*huN5MCNT3x|3{=*OVoS2?>L$ zsIP>f>$>1oj>wa!eA6N+VnjISoFcB4M-iD6c|PKjV=@$oaDjyoN|X3>k(-)`u7kU= zv?~@>f9ovQEcTgN?IWY3BB}(}T$5+5r^@&+vlMY+#MQF7UU!7Lcpp3S$jl5(i(W8z z;-r`x*h!;Io+OK0uqoQC35G~$;amUq?B$pl=?M}O)rS=I;EUAj98%#r{gPq^#I z_FMBd!YLPAlOkP7LzmjD)Tdp(zl&_s=(WrZNeZN}G&E)_^M)r}QeX9+#DJX>BrKH4 zVjxG37%wo9slL*L<&OHdLW0dM%)$f;TO@jJ!)L^-yL8(!N#?tDJGk-k5PWLL_ve<(V7L8&BLngfND+7w54`?ob_#?mlYvQ&EdSR~afLU%h z++?eoz}j%hI`e%U)klS~=g3a|c#BR8f@!3m(w2Gb9O-b?FlyS~ElLzK8-$u16uNhk zc2@i@lP1j@Y%E}=z)71v;<3tZK%J2%*Tm=SO%?icoUzG^E=-D-_}J~S-ue(TAr1A@ zwZPH!y<6m|=HFuHjw@arw@#s1wm9lR3Q;gx3~aV3X3=K-11Juqoufcdv3Ffx`T1}C zv%x$u1L1pr{(YyoZG!%%q^n`6&1qtm*7A}pJ7YLfJJn-zKPI*$(%S`7NpA;y0|9nO zbEvBpjj75yxuj8pu(uR>#-7hdJBEE7Sx7yPWp((UvR*JSir^%JMXZ7X9&h~L=3iIsC@Gq?+-*0eIRG^ zFaGTB_^P;Ng5Ib<3I-aC&p`+q#K+J`wc*1L_z3cO=CHBDUJs*V6H`twmCUl(_1`SB zOor#WYx)$!4}>W9WYl&(@II;Qc9G=M9^4bwp_CF`5duJJlS@#<$ZFSaiusgVz^n}QAhafH{2i>6`|h5iur0E`#t4ZA1L%Q1M6*U9Xvv4J@A-p+c;7)dccpLq zNB6|3U(h3gy3}oF6N7RP?N&;dbQKYMi-Rr7yd;B>6&%>*iS>zy&Afp)`dz{VCy&atpT z5d-P2brA%^FqgM*lfzLrqojePx)*uQJ%VD;1w-bW-}qNQ@a_Ni7#QeZ{*Ax$OX7A3 zdc{(wy=!l>+}j7D6D*j>_OX@>XBB$QJa5`mT6;O~(JdJv#XVkhX=dj* zV1-wdF%UxL1OrGI4^T^P%f|ettX*^xw8E6dD9Qld7vtD-Y?IXBa{J+(#VP;GpfR zj=7=4JWebW>gp;DO%mFzSdj@;BMI|_aFOSrWm2w42NO&ua#!MAF6KHssiQpv9}Lty zzopPu1X%l(M#9@9VLOi#uyNJ&FYI``%$uk;37@h-T!m7;l{Io0uwmy0E8AF*u(L`K z0}ebry9s(HOsprvD34de&M8~SnkgkL^BS2MjsUnO#V#-Vl7AFv&26^CQwn5&IQI#V z;+lnllq)*KfD1;#Z~Ml-{lQ=Ur`o=!=2<51|KOka!}At#vjn{#0&BIAE%+Mh%&rFz zK@YYN7I6{8jghiu9^cQd#?20=IPumU_GT#F`J^mylGr#Tq;f-(FmQnx2dm8D!H5+% z7cCqcb4{`o1cJ#Yrov3{Gm8g5LCP9;kIv z^Ei+=>T@lR;bo>{CHEH3NDwE2mlCsha8z6r7R=msX&K&F_3D zZk3>SOyp_|@C2>~pJ=uRnVZg^YHv7#1Xw0Vlsp!~%u(puGaq7^86tp}MJ&v+fCCTZ z%E9#kO9Yx8U%YI0;cr&(vcf#Rs$!~zQi~Y+jPN-NrjRU8+GfodQSf2rlp7MnG&4{J zgMx%b=iQ<6%y-d&Tn%g3Icws0ykQyRojPYL0S>t#qd^8%iZUBS+q{zjTXns?!GhFe zm35#DRcuh9$Q&VDWK?EbIGAUK5LX)RxHB3yom=Ou$uk@S*0Btv5Kf@Y+Pj2hpzYQK zg5hJC{gr=mb*`;lqA3sF`zg`?T+kOr)=_HG6QA%NZfJtU?Dw{I^o`kuss0BrM75YQCGynN|T0f3f6{oZLPAJYeSL)c6rq@ zBVew&gL&D;*wnddUt%qkZeE2zs{vx2EbX2o1(1vjvb1$&E?+kl&!p;k<1v18?oYYK#! zBS;7*3Tg6qSR_QAW1>Wfay@`VaSK+>W~mdoP02)&2x}xq?tr$jK@eHz*)7Aw3Y_8< z4PFHkM{4F@{H=_J%ciCV`uyr2{DpgNagzj{j>l5RY3Zd@Js#u;;2~Z$Bo!FI(Lv#g zRXmk?wmD)A2Ra!ejy_UdU2I@c6-6py;f4)1FyO`)4qoa1X*o@5|CUOH(YbgHE}W&DUsru>jBUG4Nf$3t``Y+ zxU1J}<6xE`@gZuvdsrigojhgSEU?ctiy%z&>U~>f7L$me3nq^H?r)nO|0A6m=)d;A z{^MVh#61#p;6{b-)PR%gYRY*KFQ$s9$QeoG0g1pwDY8YG08&%Qr3}kGOELM`!=+Nm z*ou!i0$6e46D>#?#^0{-o(~-Nq)zV_dl^Gpq9? z_c9)h$JdG<2hyGE_OQrnZio}D7@^q#T~VfD;+C)y#80sDe-*qqkSPKRMgncjIZso) z`N5H3Q-eO_y%0jy&`~l=s-r_HLXrs4AzpEiAp2Y+vp}#~CKn=$V_>szyfEU!A*5*q z6NrH~{(tnBwQJ9zp@HrW{{BDnzE9jDL1#nJpz2j`Rc;-aZ~;)@DT^2frdV9$3M+}0 z2i;IlpKM{BwXT|qNSKg#TeT_U)L=`KC^q^2J|Pn)m=LZhve;&QDRaTorsnxPE?$nH z*`k&PdT2z3mwE#|pm7?0ni8FlZKh? zBHA3l41{^ahb;CPr5>E(sWi3;y@KiBNOgo!#?5M*XQjYPo;Nkm*NN-8jhfnLdD_0= zty+iWPR@i4c>pRU-69jIlv~JcXK)XQ0Y1>W#{+bb(W~ruqE<}R6U}E__?|tuY*WG^k!++$PyW-Xe zwB_wGp5sm3p?q;fOMIeDHDT>hc@G;#%-GSB+bYu}hEZZ1B5#7}CCp6qe;0}HoYST= zHqUVzS6GTqTc#45bS|!@4(k}y&uhQZC>)Sup+@S`ii4a^oD~IL;lM(+txTD%W`+;X zM31w{@{m5wJrH#Sg%>>GkTsT6yt>3bha6XutF_&iZ4`*Mb#z-Pv&|+>48R&YQ=8;1 zk>trh^7fLPBM^+1S>p%4S#Jiq;cGwY5_d+>H^sU-t=dIAU3a*1vptgUr>IC%lUTuv z4}IVghd$W0v%(l&QFC;cub;2?C*q`7Llnk5x(1|C$cmVIV6TLh@cN*rAhM& z6Wc6Q_Xd-Ws(s5`6D7rdo3vhur2*s?bRM@CMA%?;2%ohuKp{Mt1Cng2e03ft>uh#) zewbmC%{J1LepWc@__?py=LH_t*&@Mn7HcvDr-@D8V_^VAigAuaM;d_+_~sWr{1L6r zKAP~Q-};Nc%VQ8XM$j)&oYg2;nx{1f=h-{`x=lp26HDv@J5t+t+XmbCk#*=F&()15 zH6tsEQv`Y^K@2w%Y3^eOWKPKO)-4>v!g7NFD3c+^3y#~G;ATt{km6ouUiUIoT6aSK zY^PB0;U-BQ@ZqPx3_jAja#^I?Xs1|5;v(SYwno-`X2RWpW87D=p;;fz>KS9N3E)frfBo7(<%Edodp!^J5wF(d*5>PMqj zJmd*tB{+bxKLbwDTV0?7X3ZbDe)(_d$Uy&@|MI7I#BCAukE6P9%Ulz!*$4x7JlIBj z7%>n1V12`C8`WJqF1(lrDq`0wahAw7QSbE&@fv~dvEaafo!LrpOM<5uYEpykIBLvu znFKMeIOH{vjtT5eN}BfP9t{dJL)HWDp1?p1bhrV6_{frF4F@iqc<^zhquhuBMFK4& z9?00p0XgQTPT75fIjjT87cmNDc!5qZ zg#Y#b8rNVm*2Iq3eE4Hu6t_g61rkY0m?+}G%sL0v-{hJY^J~B{uZH{`OW0eu1^nEr zv`5n;GA2SzY5`+yj*SArXh~th1{g2^#;Q-*NwAvK+{k&Q*^xSI6LL(RX0gXJ=CN~+ zL`|lZi}kMN!Jvs#Y8ewTvce1{^1K?d)47CG(;eK;KCnj=KY6m84^83W6fomtk5?*; z^eo@4{_hBGRxywxkDC~mP!W?0R%cMDPQhgZKPFt5$ai_aY|K|9?j>BBI!E+Qo@?d@ z^3DmIx(tg5rjZ{GeEH{J{)aj-(7*Jbey?BL5`i`tc|ij3vso9_IwRar1!f@MvGz-Q zUUH8oO_Ks+r19w1Ko5~^>dd%eNvNs{bc&%xT*S=7mVa}D%sRI{kfna2KrDK+}c>Ahz--7{vILT=%|fkkqqXR&QL?eQ1%h!)lg*%wY)2vl^yvR zPA*3>#&P1z;UU&l-Fvc{Y<@$iIx3-RC-b{p<0RTsW&Ki3Li|haVdUi)$UADqpgI~}S{B>b$hNs6ty)vCnvA@`&o9l-(Bi7N;MdcwztKidDhXmB$B*+2cmtKxPD zw8VtHY2Vl){yS6Fga;>?A*=N+5Nn7kTtlnD09S z!$(#}1qA>FGEk9uD{@VSg^q446He0HYSG_xykfOuW@UpY5n_Zf!W|b)SoiXd+OUdm zAeG`mLr0*yy)OK(|JCK|5zp%fU;XjViCZDi7Ap%psOY&n>x|%h!|^M?3Ts3DesYsd z#)|%h7;J=_#Q1Z%$xILk`X$$cDuu)$Y3`4?$k1oCvwCK*`W$CXS2BB7J+FtsOP;H! zF?X`T=UNIOuJJyLSnxB;qdxDv%sE#Y7&-bkGxHc&?~pB!sqEw>9336k$u`~5@0zC1 zD@OStM-6VO+yL5+>GNbK8lefMgZCX@`d$6LN8fAm=l;VFMUN)I00?jo2_wsOKeaUV z&=1>xdfend6dHrAXNJwDM~+tGS0X#*X|sZHFoJza4K{>?KP& z`<^kLs;bd8v2kYyyfxiJgm}rb%AR9kO#|15qQMN*f3egnUa?FF2TLu#ZKSflKWB~& zHY&{=?QF2cB6jTfSYw?PJgS~K3p;i4tht71OA47njJ^< zm*x&Ru9)w505f60Ly$Sb*th`awM5=h!&V} z;o)+KM=)PQ-FsjRQrs03%1v5It=1&{$y_26B8&?OFjJ;1VsirBQ{;kYJ(_i&tuPtl zY+%q?C9S&Ea*Zq9Ye5g%K+h0tn!s$r+_GWTsE~2uQt>(iR*X3D5yZs`KFXK~;jB5n zNfdfC@K%|@LYXTK=Df@`HkQXgt}sg)g&0LLEHZ-yFDum*d;K_Jiv7M>XY<^SBzJM@_w{KX#@4bTOHW`VbD z0;1%awhE&m8Gf)Fvd(JV<1-E>tkkpy%u&~5&A=SXby6;AoyDF6f<{t&%6^Zr@7hCS ziG9rMj@i{4*yUvGW$yZ?%yEl!*MRD3;o-5bx>4@!?&4wr5A~J2pY4XWo@UJ|P7XLF zu33_BoPEtS;Riok@)UW+J~1wM#x`4QvCRfAd4YvZX1Le)lc~;_mnQtlj3Q&u>?(^j zrxTm#fiBP~zvlB>AB@aEU)lJE5Qq~D93#s-sM%DTA0=+OZm!f13QsxbUcV(Kx?ra5 zG9aTnC=nH#=Kyyw5Zdu%-8HG8U}n|dM0VGGCQv~kfQdTVA&cOrm3%9Q%*7oOrx z<-R+5Fn+c;=FTAHW!%8WN+s5qh|B#adk!T^|>b~bp*DuEsp z;YUM)FehX1J%?eqo#1I|@VL3pN4gq~d7PBEzy(}k#NYM!WJp!!w}Wt#;-z+2$P8%D zG>pBoXqHz%i34DXO-#UkPoq^x}s%FJ7v)*J)!P06S%z6!@5PEEU}kwdBZ>Vz#nF+PLm&286nNeK&hdSy$uSi;E#t&B(bS zhQuigJ<8AqRj30VFw>mH+Y` zP45KHSQ~@x3;@Thh@)zSqZScdL*2?ZdK41C43MP+yzDCST;LUQjcUD%4|$IjoGSm` zGB8QOb5>Ypag68V4N3ND{vDy*u_t<~Beoi|dy^*^wTa;u42!qTTbkAEx%dKGBRmi|369ZNI;!ptNu^g?5ff0LQ&J5r54AM@UtnZw zEXLs_Yr6lA%23wmo0cl#L7mC}y{c-11BANB!OHL{7aZ4_J!ZVD@rYd>@PJ+B+P*`# zcOt}xs%O|!jyY3ReXUondBy!YeU{#4?uLponR`UXpgCQCEK#H&bTR}}$A_QqJ$0n_ z6nE1%|MM@;h`|>O2bsg_7FJ-s;r9lNIFR}fit3#(K^9fVE%bm1dqq-jm9Wa=pe$;= z1iIv^Z3=0yZ}UAxmK~D1KU~UqdrZO|9$pedarUK|X>qu5AnRz96s`y$^MX9!B&721 z3OpqNl!!7{ccl_0TsUyxB7hGcOU&U%0W56Qlx+B$?3QL`v9U?MvfCQ5<0puhS;83c zb|Gq~5FYE+VI`tStXG?__0k9}M5<$_bO{Hi6TU_V*u;#4S!DSLri?Amzq@(y|LgUn z-Xov;^*^~QhF&l%k~N2_=1aT*n8(VSp*I^^#yVyZW*HlP%FMKI?KQ@^oD{}H1Wzzs z$V2FFo#hGZWL5Pu9wm{kg~En!kQ#h0^o!#vSi3ruHT3WnKGp|r2_VjruQtfJfHA2+KZp-ruiIY&aor3rUjFW zllQ;xpZu928|WYY_^MG1yrYvSCP-rGhAz+{`L^-Ue$2so`Jp31?D0(3uDDD^FigM5LsPVPiMPe-W@CvL zIvSG`W(jf%$Rt%6=r_EqGlSKx`T&0XERm&*n+HIUFKskoh%uyEePAz!oL!U%9I`w%tqSj6=LT{^5r9mFOp{mdQD~X~ zFHgWT+y6+;QD|bIE9_UsGQzq@eHTnDzuNbe-~IRg$Pf+m4}a?4+ZMwv7~T;kP}fLF zZgcdq4Y^r~12dDAOrmgt!UZdLmIql(M1k%|wEeBI52fmS)7aMvejRrlFAph&yjSEQ z9>ibbYZ^nB2c}-$D~CJ;z^%f$oafW3s?{sIZOnNG+g@vZGAX#;F*j23xIY8)A3&sy4kG}Z#diu*A*Yz*_*rG^q7Yq#- z{u=dNBi^>Jwhh%AyE<_RYS-kU$szVO>QWTbQJ@==Z91R>nENosnn&i3$e>^Ol@qps znIUHpb>~1B7P%Jv?F}sU*fMKyqjJO+o9w6bB68zwnC!63PSep*IIc6jJ7W{(xnNBB>U%Rig|vIyEiEF!T`)`x zWN_EiDYZAigM5+AA$_xX+!N;kw-ds}Qp3-0M?Ed3qd+HQ+3yf9HuvFBYW2=hUb3q* z6Yn!hykU(jHny7dy3m6uI?UDbuthSqRke9JEMgq+g6od1<$Oi3tbQMSIReqUPA(vc zRRTa!wKBcFxWL6uMKZ4w>n+`coqI^wC$>9^gAec##@lohV>RNQxfW}!LV2wF00;!P z{DAi>|H04<^bdaG$G60g3xqHd+n9$O-`9>~o?}*#Eh8bfJc)EZU_WPh zLf7XE-$KT9M{M&m;x+%<(!wzn!8lg!YXyQof+-}Js1a>1}M;KoOc zG7-ug;KtNq0!uhC4dr04h+_h4$c$W&!PM0CP{LF>c9fBXw2NRw-0)aMa;UG5zT54) zipO!VpzHWfk!u#o=*ppH!Q512Yj9(b$K7NdGvQ?pH!)pR?58=$S8*H^Ii*06B1Ot% z$&us9op|gGJC!(O5+kmmR-#K3N!2`CA)XWEnmA6vm^eZvMU?0mtGGiJ1yf6>iNqdZ zT%5Ns(1XM~X7DJ?5XHwlemu-|jJS^v603w-oDdXV){N>b!KSZr!o=nm2&Rjo|DXKr zbk`4WM@{v8oi&FSmza=( zk&xu$mQkx(jC~kjd2DT609T~g<%O#6F)CiNt*b7}<)Ipp00~k^O{-Upgs}37&Lrbf z7?3D)R%fc2Q0_Qd3~VCTqzS(y$HEX-WCI(RIKn`gC2ZAiClj5hwB$U_mU%j65}Y;s z)WHTh6yho>&~M#p>;rBdwsi82hS%izE}z^n?Me-K5Hj$BtD2vj@of&dCO5R0 z^%8r$%Lf#Bfo($fgT)q7g8<81H2Gi9dUn&w898dCSuHHV12n1+Ip zVNm_t_2WLvtLP9dbAUtFRix*v=*mDJc0o|5&vT=%c!R<#)CvB|O@4CBC;Sp0aYA$m z>fi=KIC0|OeU9p4qLYKtBu7rFIwR!DiDaiP_I>-)OI5imGKV#0c?RFukC+u7t618G zM>2QDSRj~m9=y~2!`*{{eorL03r2iAU#Mt|A9v`292od^H>ow)Qj>$NsbUu80pX() zjE+>($W=4?DL^TzoaJZ4*wgJwV8X#38w7Om4NF6hpm&ZZ`&iV~9m{jsq=!c13SDSv zQpS0~$NVyfLyAo<5pS#4FwPt_bc8YEt+yA97bRY+ zh`CrU+biPv~l+kh?Qy6_&Z}AallC)!aO-X(!jafnLO^feXvV z!=XFEK4XbcRYtZo_BQ6aKro4Tc=*+U8|Yv8onLc{p%#pq+a=xGLjChC-hmz*X2xP` zkx3HajBARNG)PX*2~iip2)XJgy(F>DJV!jMYv$Aa(OkVTS>`!`%5hyU*xBQnR~2(1 z%Mk}05@5GU^EHW0wm4(I(w@yfF$TJg8b&lA;8m{R(9W6zUJZWOp7?Oh$;2?*M?Vh{E zyNPvlj0gmSGPvG!e9bnmMj$+NOn`0nbuv!t$UJMvG>|z376|aF`ZFg>6gjHa^{05w z3_HA@5Tyx;VuzK^zzUCb_N@=u#j$tvsm)Xo3@d3$@ICVNYS>jwa zi5}icvlM_FAK}AHpodtQx$-w9k(wqLIaj(xp%-kHVjBeC}c>I zt}%piD&MEfA@_z7%eJvhkSK2`u!bKii3u>z0TK-j(~7t;QzVI-NM&D*;3WYVc-E&w z;6h~_`tF&?LW=pyw<)oY84CgCF_3K14gjw}P`|Ew9Lyo(s99Mo6xiXCEwbbYVo<5u z;b5NQ>T2ahAeel%Oz-~qKn?UC_+7txRt&R152#N9^RQYIFVc>XE)DcF$6QvA)fR$S zktmbly6&)@=K?rqvxmf7L*?j~#Hq6;MS{sj=BVRqyp^89qoBYu)`<0$THmh$yhVYh z9SrLfZ@7m-mID-4n?&mrjxe!?qVd`}JOkatEN7ephoo6*8>h1{t1|-~s57ce*qOtM z35g<>F803|CoB)ind-p7JSD6^nb#At>f~6edqS+pWZB^m4{ID(OyX%7nPA?76qkQJjUo&l_?Z)4fa{2Sr}7fe$;+Ss}t6(Uy{!Mvb1j z09npiXNMvZWhDHVG4#|c$H^uKfKzu8jRL`-_|n7h=H(0ZukUWfw(Y(nhFCCu*as5l z)t>}TipN#++{QaBRm^jRBc5{F;wbP5FL=WxSxm@X9mO-)DoaR-sOqFkfuJ{voT^B< z)-EZ#*LON2&h7}@ciVV*tlBIpRjWV^ZCxS<$n1@skduVD?*7RTBI%V0ArtmcmlyV z@%^3;eoHs6?<#`+=*NC!b(j~EBi_{}BoGY#(5`2$DFPm>SXiu)s*wnBhKB+&C9)0M z_etedt1MzCrm`+w##}wNn+OPPcfo-7g9BBMtCpIqtx6MjNr@5) zCYG^dCyxx6Fk-|^q3WD4;NYOeJ^6%(E!MX3$ffyZ6o6H%72O@JWZl9Y*ByailGu5KOMUH6SNSPF^~b-yG@OfwSJX>q z2H1~PFg++-48TNR!lIjGy%bSSh_l2})lg1wjkC^dmat+aKnOQ>VoeUgC1SX-U=x!@ zper&>nufJHPFgfF&|T#Ea>FHXGBT;Ae&)e!N%!nE-R7DFHJ?+N}1b7A+zRElPm&jaPLXdTS`ntc>`O z+k7Vj?_zCJbR`c+)aTdm{=HqvU47XZlcC6Tm&%HeV-$u$Sk+`i!fH+kZ#bM zl{sJ*i9F#RzDEHgMvBOyG)17Xfv(|()y8CYvLI7=)N2lBuh4ZlN-SxzgX6vn_gv1$g& zIrmuNsmeL<8rZ?fMb)G);o<=~UH}dXP4Za4&l)BYn0Ob*Kul?2o(ralSsr}jm;RRl z80cUAtzY*I>mr&Ru%eu?QBzkd5VWI6xh4)A;<)Js)DKy_lr=L3nxRmjgt1cZCR4!F z=8?7BIS9+pHj?PYi$au3jJPRPlUEhaxnPrQ4^Nw=a!3;hv^LPyV$kf^pU2U63TBpl zHn*FC>hViQv^VVxF!OmmsY;nbTT|C~vDpqV*Z~zMOK+ie?!E~_s zQ2lGWFwpP6H`Ll+DXnM>8pg8W_7W_Fs@K~28<0n3Cm z&*51>>N|G++0$-E>Piytj0;vUjh#sg3dig;H8sYstjDbKo`qFuifC!zF1GA~Zo~wn z_(Zp(y39h&T(DL4NlS-))Q5vPiWoI6X*p(#67ZS@ESM-^u9l<7U1#Rp@G%A+VZ~K- zQ+aq76AnCBd4&-O;=_d*Yt4!)irxeQE%?&Cne8i;#)x_Y-Lmyyw3oGtUo>(O^kMR9 zZ#1MeKKRIF$dDsVyrx=AAziKdOp;S+pc^Z#U)1Bcvz5bRwyv&yzcvGlEd&x5u!D{}ewbP6$=PgVhB(P45{Ug#Cs zbf<5*xl;a+=a}2dbhF4*6$l2z*W4fc#((?^8XM^E{@P!?KI#ke-~md!p@?6T*oI(Q zNVcqs>j!OX785F@o(uzwR9l-EC{Hn9WDP6jrZwqBUXaJgu9#wifgbpk5kzat8fr{r zc*c$<`p)2Ffft$@IYkUuyH1wRvyYoyE(b1zr~RF6G+7-zjKFB02{qr=#Lh^fpJp~F z+%Y5#tX6gr7rPog3)(w9dVS`-6uHtYd#4^7DKfwdWajIX`?FnXCm0E~yuK7=AdFc= z%LRggVd4IJ|5)`Juab9u^}0?R%qA9D!^vSqvsEDIM1jMB`0TZ;D^2sUiev7=0L9n* zc$)lFrpP{@v{2nmVZq0$s5%!6_}Cm8a+d4`3(u@Z$e zHjOA-*c_|*rky0>R)|f2j7rtlB`|dZ?!hjAACuzvH_) zNSG7opX`9TZALUKx=5->f3-0`z)>=@$4twGBHY5L-(Ynp9d-rNj1eQVWA6sabX|7R z$P$Gbtq3jY-Fa}qGiKRVb)3+{jva6D^T1f;<#|;ICwfQPsMg9Rj|gLDo=5D~xe6rR zI^1shxFeo{e4{PQZJw>C_}F5bOoE)WQA`H_uB zKdA1NDpTC;%OBp;&*hm21It(lh^0iJ0uS?=Hb41{G6{{+!DJO(c&$7bXl`d zU_$0wcYgN?MvT~Tvn=A}f+1r8{Jg_675%!kL|bz*ijQp~eI$f$aNdQUeRt%T>)G^I zIKsq6rH)na#F3jCJVsWDkBy#&xosAO0TTtnC}i%aiwqM30Rk;XTd%uFvc>mRvr6r; z&yB`2C`hzJ*Z4Pp6)#2L4IY-8JcVJLSli~gm{{bROI+B+xmq9?7+b~%zvknAsBZmK z#n*oG_xtsBkv?`?#`^?Fn+m1)Pj~zExI*`_F{!R7i2r;wP#|*Hu$NM-nT&HZzsEX<5tBLO$O_S7bR1~3j z*Z>X((h^eriYp@!Og4Luv{>V--20r6jS!3{IUWxvB@`f|kvvkTW4FY8Tx18DuxPB? z?pr$^qI|-o?s^~#rUCDe&8I;mWS_9xQ@!dgM*|iyd)>FoJIymB_H?cSZD=!#0=&!S z7|3L`mx%M>#m4)%De2Z>lF;S1^7R?nw_s(BuqH9+Wp?mkW|QqM{^}##O>_qWD$-?* zcvxX`qGlJ~2SgZ6< zgWkR^q=zNmxzmbDe*}rN{jJ1p68Wr7zkj~%_a6lkE_`hCy~mnxV!_p?iEd*SJI9>! zG0!+*t&275HI6%dRV>V@`dcsSEMcWIvgcHo=Yq-Shr?g{S#@iP3YI?qy<7UcOocQt zF4-J=g}ji&%mjkYKysL$pb{VH(l+C(*lJ%D2t`K5QljyOX6c5RU zYQH4VH%g@&@bD;O7+6hYiUYvTCT}`)GTzlFPp1=kO-Jq}c6LZqR^NS{nTMT{*lld% z(52*^okdDKY5N-en^yXXl!jU2V~i}}*KD`4BVp$u-|eDDIe>%$7zrTNWrkY16vtew zd6r!)(z!?SV{DutVWL?17LmFpc>;kzJ60Z69<%-p^n3U9nRb$>))wbUidIj87WfDa zG@UL&zORiv&eIOB7-pAYXNx|m%@trvBq@<1$thsQ#v&Ir3GgPC@naEYxuh-tC1jniX3!&o&K|# zYy<`>d8!s8>lk^6L(?%c0tOTwu-`?ky^|0M5*FUvDI$|9CbpGgTZf^CIZ7y4YI0$M zD$MgdZ~`b4xy>7rhU^Lz2&RdzZ?C=k>N{Gj20dT|~E_^1iI`iB6mgR_3sBuEIFKU3c}4fkmAd=myLKDg=;F zm?x<^2WO#Wo=F}9TbQ`P+ctM1T~k(~{*ZselLi-{lXbD-2m}M-^Y%wSt%-sD;D>+J zsy;8#T)l`{7R4PGv^nOk^KyXiAL~N{Azf{c()tLYMf^F5ZD93?PD0ffpsR^9Buff6 z1rU*RK_BEgJ}cTA=z~``@is)RErf8PAd~2rU85cLf#oNhHc^!xEou$e0CSv;_`5oo z!9tRwE?fl}-HY6Tji3&y{8t9(Jjzoh&9)}W4xjC>Wh`ynOS4U69y`sN6rVP60eV%$ z-L-!z({;7;0>PwWWbe`6@AxVe2Ku`{yl&LzC1wDLRThOjm7pyW%lNn)SU2=H%=UN$ zE%3VI2I|(N3f4Z*rzBrz(ln;Ze#90A?7~17^tGv3h7?WyjN%aF8AH6NKBIHk$dcxo z)1i;+Uhm*JMcitNO#yX1 zBd%EBq~&iTtYEt{UpgJ%qfORSyM~?IyIFypVv`e02^$Zvb~?_e*ps*J>-7T7cv&JO z?zBLKiSEITk531Zu&5B}!9Xt&=e3HXqN0hBFxcbw+lbVBQ(>htF=jB4$DmtXVS(PU zvBkHC`iZ3>lxCzVU5-nnvGa6bqI8`Y?{p5PAoCcQxwc9-4JTNi`;hJ7C6AoJ@#vMWM{`wX!bs%DM}HcHo>&; zBWv&d>hJuo{XP%gy*<5Npp*B+T^4k)U55C8%lztGlvt?m^8>T4qf!Ip7nuebfwusVn$`|o;Le@l4op?tH#+o z%_3J*qkS|ko-#%tqoOICKrr5{8Xo>|-v;`Ze)?C zn{8GhM;RkVN~$V8cgb+2!>TN$<{IaTlfuITzJr3f?J-|LAoeS!6{ia{2zj8M+bKLmXV12Qhw zDX5aSROhbfY{ttR;9?CcC!~3atF6Pvim}0nAC;!lZ4QAj&jr)K)`QM_L5(Q{cK|3+fR;+S!aNt$n@e#q2!g(md4`8Q6|O>$<`Sbu7I2W`y3HP- zbiM8ySQ@hwVGE;^H!`q3girTY?svGOfxbviRq>ZqWx9Nd6i$4kN%4y9HfFtnP)!aG zz|KG`^P5rPj1mwM?UDsk!-G9$+AjzTJ&oNtKvlC1-KNSAj zZ}^vgsUHJ9{AgPYqhPX-Sj5h&f%P}eal|Gjie$*w$+g@P>lnc|u)-69Y%x0|-SYwm zmGLN%A;K$WnQh@5n8(30N^D}KM4lvh7O?^m68MM%%Y<+f!-kU}X5LECIC0e(-j-_B zZLZRb)m1Ujn;j^G(LU`ATVhZaLq5UAe}Yfh>R3c%W~FWSY4uoH=Y`5t<_ybS8R)*T zn-xZ8I3K|iW@Lw%A%EgZ2Lt_>C3aPq=utMRIYc3%)zO+2SP%i6JVUTlgH;H5&H{=bW>~YSYp4^N1pzhV=7!QhWp$n8N`C znpFAO8w_u`&Uvzdhb(rQC$|d&T|B#!Y+8=ekeyCfM2hdS%yNgLkRQJWg;6Hfy6S6x z(nSp2hJOr4zc7MX=V50A?Yx}WDh}w@cUxUF>~;lou)qyF9Fqo2n79E-ykLn?B^nMl zq}bsZ3a?4A**3?*Il?AqwIdU+I3L7LFPL;z9(39<+H&s$uNXtYL}J2^pCxh_DDy<) zeyk~#opwzaDAzd&Rn}f=MX$cz_BwDsxake-*xCwK{Y8#msOT)k4 zAx{Y-CX85cL7QWQXwfDRW~)F;6jEgHw0(`4O+M*hV0C7l=Uu%%%|b^5-G?7DCfwM@ zaO^!z1j+`Bfvu4kqDBIoc6iODDmTz=M&2ARP`G4)1=uOF0B0#dM8a89g$j>$I26J8#Q&t$vL;gHzh;eNZK_3M(?DI|s=bw`Y ze9~73fmzPGzQ0E-v^DFtm>+8yO&d#HYt{FIiM^4@ka;^A=qc7a8tB1_u1mHumzurj z0ed{JDILq>BaT7G>gbKnRT+U`()ptEbHDzd{F&CjZ@;$tcSQxdU@Gu3d^JQ5r(AN) z8Amn$F#*1%H-+PHOWSv5RPh{d2{yJ zsmVh-B7_r}7b^4mhELKXg{euloIV5H#V$dflLszUT)&H*nt!dbQ^^%F zG0!@iY_iE(i}f$eaZlgzv`x2e_XISdbPi2>-o`@~MtG(6mNI^C@9;6c4#gIytYGRm zm&!b4spj7Y%;F`_(@HZ~{mp{An-EpiK-kp^GuSWGk%-hexjFnVe*#fkv$Km_ENkzD70sie(ka&wjj> z*$^Pc4Su$e$<#Hs3bTX)C>W5q;T!-@SBmWQ=36WM?@2IVOoWG!N^haGIfW=S)#mMqW35RYKV+65hdgC_q&n@*Y37tT!KB-od4WJ1-rcgVWRF_? zwygtpbw>=JV4CpphzCPxz@h*No;KOC9aRsvRosrIc&mm)L?prKiVV*NZiw9s-P9|N zU3cl;u;?_lHaM(zOy(OEe`8>yl4s@R28eOMA?J047nkgFzyUAV=Q%dq&}GB4T2kD! zs2#R383B}G)P!%dJn|hi-O{<3XO^|V(v@Y%Jlvc%o6#d!yZ-)%vXhxM*L>lHKXkW^*SSgD)Ym4!P@jb6U@?JjS~8_m>1TSasxv_edjSq0D35)uJ1k zo_8{2#I`D!Xq@c6*ZQ|@R)KeZ;o0;pq{?ex^m++%`q|D1mB1aV;s*ZR>vvNSJ_Gu1RoBKxMhbp#}yf zNX!w&Q+0v4CgyIKFbw!9E0Q0oo2@yerfcREC5(UzU(I>r6&qc)-Xmns7vB^FP zSCm>-#E$}{g=;t8e}4-a{todKrC?PG5^W_|WRdWHGf zb~_iz?fT?)*2cK5J92Av{H~2c+Sy`_P4)(^NifW)_Nd$eTf7mIw?n+nL7F^ZVFd^c zG2?)Io9FROz_oK~KV)sEhL zH*q2mOg8s+TDO*H<5pZ3Jxl&VeV+i=p?$7IemeZ2%@k z4kHIV;~CF+Q7sNpxZn+&1H77pE~}1vXMX4!^>EvXIx^tT7!L#eTIFhD#L%G+wKiCI zkM)|g_DN+h=Chr9JmNh*&yp@iFpa5Zw>JO_tmCN3m6K|W)H62vPC`FyvMyfp3=^9` zmQT3RK{fhqgTrR70uetKOg?`0zS!z_E!VA`uYP@544pu5OMnk}*dY>VX9qJOR`??K zTRvJ6)*1ueTjw`+bAz3CTWGjCMbou9o}sWf@rTz*;6f9zAEjmY-yBzLvo)Zs6J>}} zMZ-5_Z3KGk&^^Ais@*G+Q}y@eAz3BT{$vaX)(^93hwzHnwp!Pi1Lopl@u6gRekPkBv2!$dlo`nv7~@ z0UxeAkCGWP5Ba3Qq*&#kZM&5XWXcqC~u7<^}5msYV};Ip*!N;E5QAZgI{A8D5|u)tKl7VwJysd%%nUR_;%2GML!Lr-g!ws^4N0qe^OF92&bg z{tm+hO5s^Q?nj}ee`)h@~0CXqc&3LlUqL!hN&COagx{psmdVP=<)G?|NT z?qRK}mFo*54$6SBWp5Y>f7L+Ojze}hxHGz@8Yj~Mwiab|!xNMW7IwD(J#LP%yx zxKR~Pyk?!3HUFN&OPRyUarbQ;$<8jvBv3G7!i*V9-DW7&91*1w6J?FS_Q6SXTpm38M z;CD2z!_3qfDIpCEbmQ3Pl3B2k0|J^pJ+tgL{OlDoH3{{Pc?ai+=3L;;>Tb|od4fPN zNM_f&GSIi)7xuY8pantR<1qzbiPMh9i!CmRb$twej>O!6v~cx|S68XCf_kFZaBxLX zgJa*7>ICp>c8OGtZ3&Qh#t!i0&MT7xHL{wqPKhi<(j+L2xGsBP;M(o7E)!M#9p%Wb z@$tNpoZp<(z?`8HUV?aQT5nAc4rcn6N%W3=CYccrIhOJ8Si^TMH|kdVo0kqLV!#OGIOl$wO5SefcQ>)#7iI=6O&@FP=1;tUrF z%1CT-F?5$eyJsgqa2LRd4rga)M^6+lX;N)Um^>_Wlq~F?0CPC8Pp#;sL4!U9lQ4EJ zF0p88o`c*(CJroj#%pvLFM&D(9pcQ9M-mz{18N;A&=+3~zyJN;{yWXq#AX=hg+!b{ zpyBpo1uPvZK9{;Q&&@T*k{PxMQ`VJQ@-Qe(k&x235UHpp%n+o1xgVJrPrI7eB@S@o z1ZJw)C@Ic|XlQIAv(F2TIcA9t8X0D0`+hHlG>1JHdN0|;M0x}<+z`QPD@6r`D@`ZBRgB*$J_ z&&>vh+~-pb-?Q9whQ+vFm$Puf%!q3EZM@4<95^{6S$X<4DNqnGbiq`xw$|*YO(W5!0dhGu=peNq7JQOWi zCL9}^eAL5{bhrkhfeqkA!>1;gRn=T^c-V0d{2M6)?XTY7efn(0O_IQhLY7x-Bct#M z4>4fELK#D)ETYUA*Sy=Xvi7fjvC5)YyPBBjPSt{tlWCxX6Nw~N)>QVcsC~8<03$_A zNXQsah?1|WxCfc#j718_ILR~^iePRKR+ zZ4RX_b$axen|{w}!OS)i62~lHsZ`<@cwYJKCpE8hutSsxP~eE2JH~Xs5%d+7g?Zit z18aQ=q)o!ycCyF`5$MuHU!hbfEHT!cBbHgL&g&qb0x=9ol-X=(IanNFiGYa^2_9G0 z$~4!60EJhS2qF4P2_~7Z1U~;mzx>x4SHmW&!-}Xt7YGJ`pLd#Ue>T>64V?0l?T#Cf ziCs>brgblgp5THBJ+y~eV7o5)xHIXY#YSN}YNDjOmqXfFm<+1XD z=R70B0rQ--d1Z#@z%B;hqCsE0w+<2}tQhdH$EuKjYJs`0zs~8jw4&RSf)R+2V@dVj zSdgoYTx;F@$2?|}E!HrQtIRr?GEi<}07OT6-Pbj)%va>O;ffs3A#+ZaUE#>-r0zk*Z_{A%D^MHo4nSo zns&Ozfa_d15h2DF&w=NdtBw|h9Cntvmcd(K2@566B6i+(kM#GUE0U$4p~C*?oD^F; z1J2pNrZOvFg~JxVDYFk4*|}rdzNyUZTFzM

    ikuD_iEXb}UMrd=`57k^9=?8AG(D}>|@|7Xx6tF!rbDFb>TCFmUw5BxC^nO!f1`qBH`d(ro z1*hZo^6o>aFhksViE}D~6R%lP^Uq-a=hnlG%S<0+rpCY$*I~z@83uoE2+@KcJ(lrv zQd0lgbopqHkBtEW+j*8MYjut){vT>3<~?|SIG2h|LwGmHug^WNxxu%W-MQ!C*2dv~ zRD@z=Us@(15vmr^O&}l$%}~x#+dQ8P%!$@WyIXc%%R*l0cNS=qg!E?;q$3 z?N0nqZ^GU!-13p?*`-Am9fCglla7xpqlE(K5+Qtv8R zQ{UI8H?2rbc=UAq9`6p9R7`-GoT z{DA-09^CfL?DeGd1!K(uaC0Q;>Iroi1;;;s?#~Zy_1knDUCr{r5MtOKWFS>=Go=nW zs`dNdzX5`!uotwg>F?G6l>ah2zP5FEqdUI?D~NxmbcD%rEjY_QrJ4^HSQj&?r?-P4 zyZ)W56HST6C+XKfJ35QNjNFEld2F1|KfM4@9I3*}7K@NF21|&b_*VR=I{ec1p{)?o zv?IFj;i8`JHVC-^ zvJ0%U1te+xLvGkc?;b)JK$x13lg%}Iz)fccHA{(7$#1^)8DTq#)yP031WK69G6=+T zR?A!I;L9d!na9gbn>1BDB~j^o-cvyp2__zxGuG-qn3w6TR~5mY7hm);-sk2v;RWl7A4|}+_FMu35K9~pYA2XZ&}ACSqP6ob2o;?g`opI zrh54|T5Anpn8_XH0wNXf(Q2-L)=9D1$?hg(=5+QTVgO5tJNKv5JH;{;L}P9Zr`hl3 zepcec-WNfcn%Yl9pJ?o?_^b$*yPRq zjfXOgR`r*zPHkXaZnwRUr$?hzo#EIbE>ys8AdfvSjPNK+X{jjImXP9&^(&>Lr;dOj z`=lbnqF7iUrwfHPjSjUHRE@GHy%CMsw{xrfXbi4E7gl=vzPu2Oe_vwYvp7JR7Hgm} zYcQhvR->Ewj$Th*>L7F|U1|4|Nw$gDek(9(XIG6^RQgd9F~doAwlGR*fM(c?{J3f1 z8(%8TjQakAwP_V}OJv#@Y$1h@A91!#36ULg>Lp?0t}&f1Cu~CBR6m>f*a&tNt}%Y< zz3ywyzwrJpU;k41t-IB6PzlN6S`^^RkH}1o`zwc~X_k%-4IG4&1fAFf6C#+>jX4GL z^rT5NO-+_Q#f6h^F6A5aM%)8pe24CJ34j%cifSDpt!2A_0`fsNct47M#$j z=2d>d(Ie}{&2z1H;=ovQ!68YqM>6e|;{UMK&O9Ci|={1`EPXLDqNj{rPnL70iQRaN7VeQi6PMBXAl~-TAy5_tvzbTcCR<3c&wC`rPvv#z;PW_kwlJ0+%KVGw zigl2Ep7n<&IRt|#->@Ib+l4ASYnYl9$DUa(jmqf}+4U6uSuS-z7^k#e&4o+W#P9X; z3fosR&`8!?a>H?_yOsTSn4rn<#MKYDBNaSc8UB+hQ(`c>41apnJPib_Cr+_95ddZK zca59X(b3L0qy=o=RZU(b2PZ%b#Zn11D*;t~4mTaQCCzr*OSKIA2fdgj!S-9E-DVXM z4M29u-cK(hB*7=;0+GIL$8a*IyJ;a@1wz0&@|wQNW~9_0GEFJpEKi%$ABh#ybR#PC zu2Pe6vg!zvcV5kknh%ERxWD*hgX#INAJ(2v#Da&*k+~iIf;bl1N0jnDq)>Cx`RR3? zDSu5S_fP3E`0g*u;kEUeF6&~lHU>+@2s5r#ZrbI6L6ou>_|hD zp-XL~Rk&)Y`?SPfLHEP`_JEXLz89_}!%uI3vh(>VeG274@1<=LVXh2T+2m~yGKXHJhUE^Vd}Z8SxERee$;iq`Lt?SwZCSFM zSkFXuj?>rnTygncgeXRvf@8ZMS8aF?;S*IjP?10uYOT=)cUH|8oSN(Mb*Z8;BICpU zNMu4NeBl<2g1^Sz;nU%DOY^^AXe|?pe)oNGMyC+XT00jO%7!nM)YMoj zwq_tWBGNX?w`M-j(4D(VO20{Op5uP1QA7rR|Dsx*$u>R|Qb;bgoVB1dz^;{YoyDFUnn+_@h)qm~aDS|^B2LAo!KJs} zm%6D?xiBNnakpkCIu?+Mo}SXsa|s0cvTUceQB2c;GSe}p}{o1 z!O!7wRR`+CL!i38;(*0U$LZhfmQlBHJQY_|bjZ5ihfxcCaij`$;HpGxis^*wcr2>C zRqft@1dQ#Oe|W3py!P(2#X(~^XUf;2?(_1e*JTl$4_ybZgb2N0 zgKfT;u*Q{y~4=k@9y}eR}Jf+KyN8>?K^KkesjK zv}u{ngYD)ummWGyk%jAFJi-l>`y--~ryvIalw52cEsLYEGb~H|J(ueJOX>+l_VNsw z`A}{UjR))M!KvbQdU=hZBJNg~k~b-05Ab&w3n6QhrA9`kk@bMp26-!2S_x>G9NyOw zrQY_L$X!pQ{`&?hpAKXpkb4)=POI9th9&= z3H!t&9Pn}J0)^h*PAdEsmX%*0=te1OMOh66jyj>`3^B^MyBgH+;k4ly=Th?I9m1Xv7ABb-c8v*RX~04-THAAc)st~q9?=pi*sM(X z1DfsZgY)q(m2^F_{YeD6z~ij7oriHKG9qAc(BCiS>CkfCyIXvc4F`mdhJ$z*8krEC zwd9@=hHaK$*la;f$W{iOqPiRaOyfGkSHmwzU*~?Xu-M}&0f~heH_BP(+6c=Dr;L&s zc{)9&LlWn$ku#P1v?*RxRFsC5&o4mei)h#$r8v4kwGHz=iQ+!^Ws^-+`+;^9FcCT{ z%j8-5Qs3kJ<%(W)uQBMh*KPa2b91~2&@PD;Ztpy`p2&*I+;@5WEA3IdQTFT$V@n1j7LYGp5cbUXrBdfu+LRAA|Ac(s!4|-xpHkk+Xo$ zi>IPEWd#_+Z6K?0iHV~hta1`u!)l@TWnMqd2h@9kTiuk?4T3%1|S9&(nz zg^E0p#~W(o+yteTiL))kbkF}_GlAqI{`5!Z$*|gz>Q6;2Py@eJQ4Cbl=z*ZzI)=MY z1Q;0UCpc-o6qeUe1_8V|QlTR53AUc~@wgNIQXvfj8Bx)q2*}8LdF#?i-x_)h-q2ij zFyTR2rap%fhV7@&tE793B=7oz?4FnBJ1HUz(enOl!j@v$C#k(P4G>XO$+#5o)?clQ zGOSIg7>`MWvoK-8(rPcKizTk!j|p#?Drkj51>VOWa%K&Mitr~?VNC+GFnpC39X}=M zYiI(sz-IlZ{{G`8yvF5GZs2XRj!IEKg=Bo% z-o3+`+=FISNv8z~2!UYKf*Q%IMrZ|932s3FFlx{1wA!Y-gLS*t47{~`O8YY`{Vv6U z4KW(+sL)lGBR<7>U71T2EH@C@Xsik`BMZmKh(_hzyfeTqN~}M0=bW}frTIEHS>d=h zfbYco6@h`06t~k}+0J3m%05ck&FH>ax_R?$s1Ue^vO5J*e z<<$1`eyWFzLJBMRI*sq{!)I%R+=5{$Gzj?~DatbQCgs6P>@!7^pN4|1QWQaFXmb?0 zIlWS(;PDwR_jO&KV9N5r4A+1Iri^xW0~ovI`P7p^CSRgS@IEuYGrwgYpeg|yA8}w} zl5T^s;KAKA(~}%vf@-L zatv^5(yYL@U6CG-qvPM`Ks@M6$DW-^Ga?dE8V;ccCPol})D+rEw6yr!%il3+Kv?SX z4mwuu+2$ukn_#;;W1MLya8xzU$YMl4P9`}fPxw-nyzva+2IAt%+9$mY`eQdIk*i50 zeB27ezV>~OXP&L0z+@7a_x#zRETA7hCO0dQRzYHtfR9d*<-+>bSbi1+V&dYEGy)wb zES(ZrWeUb|?+{o#*Oi?Kt?q(F+Y%lkG$-@Oh2=1=0jF2nz&IR5cvfG}=JN|m29;Jx zdsf5M>JG-1eZB7tAbCvKB!^3nbScv)&5O@^R#o^@IrfUa!p;XrA7{nd{~ZuQk_fNQ zNZ-rXwK2+uTfS!xgdm(CrQ6giP<5u~29CGH#?lJqj>KdV)p$M8yoHI;B=`O8d{{W- zY_0skYhw~EU->EZSw%G^>1r7kL6%+n$V+wUt~$V7GrG5+626AupBd)-vG0U)PAfVE zfG!ve{g0~=TXyBn33gHd-qzyNvmDzqX`~7zN4y7gu$ZP;nUxc#h8T`@nOHCl$b6Nj zLhu;$1*c+X$(n?Aw$w*c+Wd;TvU*eBtu&Q5n222_8{Npry2pN0seR+& z7^bX%p*HtROsWlpX=Pk6cfu)Gu0#eJCG136sX%h1*=rFl{p^hEFNZxZoJ+boAIoEUJ+s;^jrRd z%&Nw}0}8ru#*bw@48C^YnYqcyd7xZafcfhI`<+v`3MIiCi&?OjB(^;f5X=`J^x_PX zssNr&$<^&>XY<4#<56vIL(a2(k?&SEgHiujejo0zIBSxunFaQ{A84N6WVrA z4^Oqn0IhUPQi4sXOkRV!{Atnz$G?|zY^uNBGhKOMk{B^k5V)?lTt)%9i%DkuEpo;Y0pggF=xVMpUTdS(hOFbf?5{`OhoxDS8@Nyh{`(GV0lTHgba&nS z0Uj70z1uHzt&~b0{lLkz8y0yg3@Gmr)kZ5HB@ptOpuV$ng1X4Di1u-2i*4x%M(l>! z4W`S(W*9nSkJD6s*UeBRe^S%R818gF>ZZ3Xk8$Xg3=!`qPwCt+TSX~vzW|L?W#im-gvnh&Amkw zouUL$Gu>uc<#BiL?K*#PB;HR-Qv7K;hy#S_TNg|-PW4fLlphpjQ6gY!CHQq+miw`} z?aOXgfxaNu9c)_!f5O!Fj?WG)d2bbgc+XDwoI)3p<*X<0zefnkI(`hz++yjcT-3oq)7cT%sr-)` z>-A4zCnr6R)cf1ASKSZvPU8c`33%CqNrTLPQa)?D#wiR9VpK)w5|LYRrKtBz@D zmcR`&zs=REPwx=HI%2lDl$HwVLzH=Kl+8>1njY-hXj=#p*M0ga7DN^yt0}xgJR?N( zs{Yj@%X`N-PCUZZ%UC$V#P9>qU%?I;?iH&H;VvGskC!%{Y8F4|@d8IBa!jtZx6`|f zaC#+D8^nokgkPB2Z{rHw_KHKWGs;NWJRECh{!rp$y8kB=WKrl;6R=XRiQ&p|OaYK9 z1Ek`0vpS}VOe+I|_g8EyVT>`U7R_Wuv74)oz3l7_!>q;#0mD@E?az@1v-0$@*~ZiM zx3v2E%d*b#5e5`e2E#w8&owB`Y3Wj9wZO6-EenIiGc@IJD%d)8L1AACIaj)sa2zQ! zB-b$R8<45rqIt1CB!eb$TrtM%V=W|Fgs>zXRWB>bDK6*S=PpaIFr1#o`>|U8{f-a; zj#@~++ovVA>o`DeY(|VG(DY{P?DiuBHk+0nlS624UyuetzH{O4aQ=<`CvQYW=B*Bk z@XVu7`z#l2wKSDoPM-WnMVUu^12k%9WsyjqVdK7>S8~W{w(fOzoz=HQM<+`JjaxYU z?be>J;VG31g^!p1+n-#uza@->hW`(BQiQ@S5O(rdDd*EVsi5qLt+P-W)D(n~bM?kk zS5_N>vEL*h{Htm-F6MSXFo*1SN}&X>5s{gpi!3wQIDAfCS3QnFqyUU_ z2-)|&XlrOw#D_KHZbrpr?C}$yl|%t*Gw8cyZ+0peJ`A|T*46X`V%`)Go3bAQ@T2vy zsJ(m$jegy6)+LZf$CAKV)uC(e&}v&QWjTGyPX0fr4kR0!67FXt4BpJ_G|t38B%49Y zQ-zPKSnm%y@}xYRnd;2YDPF%wBs6L}48%B65i)E-*1u*!ta_(vohw?HI63FMK-fLb zSu~MP;TSfs_vbn$s$^D-zUePH;yJ{V`ukUOUj6-Pv~Rno;mX28tP^p)3e*7IbEu-- zc?Ol*jvCtk8&c~pMninO0+)K`W9ca7Fd-z%;Z?Z^=)2$lnVg`o37$b8Is$uDF&M!t zqT47k3nNmS7)x_E?GZa30I_r&c`973=JBk;esfp z7_v-WDqOH#=Y7MnraicJ90EOY$+K|T9t0Y8|4aX|LC^+6g0A_TeeRIl; zd)(mEAOvOmX1ph758;~-Lza&llFfUha#omRTm1}*`?WE|200u!od^E@*TES7Y&Es{ z-&~)vR1cZ2c@f{#I2)2&67g|~7E|Xng`9}pEMM(mYpd^lbHf2OaDey0d>QC_Io#Xk zS0_Gc8}FE$j}vBQ9%g<_1}(b!%PZbR!YSS)ja9F6B{}E+T*6C#UGM+5*sV-x%$B?< z#5o3j&m`|Te1WZ27e2-Obl=1E80mJ!r%}D0mjweVTeOYHeV9Wg5)>Ud3g*r_qs1ko>W(s=2;8y`dv9ql=|t) zAX%Ll6Ut(w?j3MphHeIOnW2DXz?=PX)?XljVXHH=6Ju(zOf}uZ89DamS|U* z)-6JWsxux6X2=xh`6r7^nQ1^b47%bwH7xBO5>%ssOP z7zjJji41a&vizKq2t6gbK}A;<<}36T-!(YYylU7)Xck0_zWM_ECrf_s^_p!i>n~mC zKqH=O1O0W{X`toz3Q5ffw27&s2qs~J8&?KAbXxaKOga2rdJs98L%%@~?vwa?r~@jB zBcm5)1X=FHzO`mj`V&8ZJ~Dmq`3?~T_Bn2|-%CIG>pn2Kjfh>%aJt1i?hndEaI$HX z+@+%^N?1VE@QmTo!PkIJ{Rfje1W(UCt00p-qh1;6rx?Ls0ePcfnH3+mY1OL>BI*x1 z6*M^R;j69rt(z+K-z~C5uNvW~rQo36&Tom!4vDnYi5V*PAh#}BLVol{NYUL(c6#z{ zw)Xwd!xeVa*IQ&>KwU}THFr^C2Muc{)bhjwT!KVa+;J9F& z{lht2ug4`FswN0B#Ax7uaXWCe3<8=1=_+%-Z)?Mk+qLj9|GQJzet#KTk;hWLBf-Rb zOWa#5<*;1Fpk^p+4cj3L3`SK*%+G$`^I|KEV(#-4PrVzXPrE^?=NFelFqXTOPx;YOh*eG_>tRWid+0{G;F%@v|eG=^Dn5xad)7F&d&U8KF zwKqET?T-0Kghq&=^DP$mJjGwpSDmd`lNa*4iM3sLv!TxT>oSA#q zI3IygD*UN)sP%qh@`8$vDejF`hLj!_V-Q@Ro(bT@qEm9tvzWkfMOl_QdAD?EO&<)QG&0-r5gl>i;aE^CJ4IH6Q2>^STx$+ zOaVfw=IU5EbM@-&nFvnL(dZG)&vjLUfS7+1O@RzNJ=zrokxA437GT8CaJ#%iVD!R? z4_un#vrtEJOb2xYG&gyaAe0iEmZ)5Ti1U#?kl2_=fMa#OD zV{;!eRM+^##s*;F&Iij#g~*!EnXN~j!VejF&syml=L$e_uhN3Z2Z?>bS7Ye4I>ig) z&I;WAa5-b3ad=U+Fjof5`IX)!n>Sg(U@`FoGD>+D)fx{#pXa*zMX{qt>Ot^VLsT_< z17WkcUXH(y`vUv@`H!j%_1U5=@}R&=G(nG6x^|tBL|{zxy@2-ZSmIezVMJPHFu4>m z#=*DjqF*af3HIPi%o+36O?#?>pA?d&7-bZs>$;)NKqHReGcxq-zLN+ zz6JRs5ios!)C@MSXVl@#H>Emu#Xp%rbpu)TcxFt-Ex#cwKYh9F)-mbK2SP&rjrW^q z{X zrgr{5r#hGYZU`Fx z2usWEEB*RDNwAx5^|Gb9TGn{g$3IeL-oy!Pz+u8bfM(;wEyCl;)<{cp9CfDa0{w>X zPH(ov+WB;hgRk$~7^z)`2EU)X-I8OTH@p-SE;Jb|ew1c}g$GH-4~xWc`XVQga35?P znj$&qkI+=YSAq7F)O=cVQt$ftuw(UlsLDg?NVNdlV*2EoC*Rgy_MuBpgk9~XNGm8vxg za2RVT=DAJ3A16N?ZG?ib>!kr+%c zD25@NQ78;9kFZPu!Pv+QXH8k3F;jgW`0y`GP>UrojLqNc!lKega{~g8p)gmKm$<)u zl@7xzLZ*E;xpnD4nDDTNXevMw&?_y(7ujlJZHO%FD1(gip=oWd*^)tVBGWD_H6Knq z`m@hf?8noVb~zus^bD!Xbw+n;w^_83Gnx}_NenE1j8bT7HYeOnpXk(dOFiYwF+M(~ zJX*YmrbQkS!{lS_Y=K#RSkjD3*Y-@qH+S1rhyC;!l~7?j)sJ=_L$g;g@K9+unewNToarXQnTaVbO*5|XEPf+Gd_22 z5*f6pc(i+ZArp8zT32n;g?kn@s*|Wb_Uf}{U%`TpPq;A}i53b%y;#8``PB!B1~#lY ze%v|zQw62{b3GFT$|TkY9RvSk;KQ~{Lvu4aaELs&wf<;f`KOu(b^M%D{Ah|N0lA#n z7$05K#LIU9JYM+E)I<_BLh`n*`>a3l#{fi&wKlELG_{!DX?YHdUYC?uiKz6n6eNQy zzGY#`&geQ4{$bTAe;=v~R7O)WX$TQQT)!X|Ey!w!rd+~!(R)sd_$h%%cSLiyaKM*2 z&6O`su_-2P6^99a>VP&J9tq2oQ5R1lz5XR|gH%!`2gRPrs0bFdpX660)v5w~pu+}t z(&z1F|GcBa?`cco>nAVP^aBnAh?pDWk2 zI1)R{<13*V)u68@UU4ovZxkw7Kq724&F?zU3k4v7Sl{nH!Hw^}bvF;vrz}c$nFyF; zuazm@9+?ycL**dc3YQ3W-iTI=jUW$*YOtM3KZZstfUNyXp+8{2tRXog7)SoonMH_q zJ@s<1HxORt6U*-zM*oVbs=e3uc(C9oj>qd??gvs_O5MtwWQ&3l5Fz*r9_65s6Incj6Qv@YP7}mSJP+->eYxBk9QK_+D@Xm1;5=;<(kC&XFB}B1E6WzIwqEd-P zk<;T_6r@8V#>DrgrUF+b;`E+ZC&US(SS0D_Ry2dvyiq|qrKyvKvU#_M&~F?Ogbu{w zdi-;}lYwJbp-L_)JrtP@iHuIpREx3m%@*2{OgsrzNO({x9v~9JNlJ+eu{0MP3Rc}o zc)IaeRtSY)&^M-)#abwx08lzXvYNcZi1)^2gw!t41lI&29*@mPU5M%3PP=DSol+aP4e0FI4Ub8?V#5WBc`k?Q2EOz8V zYXT@vFbpDR(-=jCVMd%$K%q8T(Ujp)V{SAY5hf0mil>B!yiT0cIsgFyh`HVNstY`f zT+x6GAp!}i_u~y&X}3|K_U18wg461PKE5iE-^j6(*VK@u*WK>%e|>$SOcYb+|baAkh(w>t~4 zD3Gj68bU>*Y&q@_P(gokNUZLtZr~*fCtIyXGAt>Ah}NMWl4}f>l-puBQYZjX&uUc+ zX=Z$CwC$L`Ule!9UpbWj6On)ux%Y93)XvD?fPBa@F(7B+bFwBIQ4omeYbVce+veJFwkz31RXdHjCSC z*C7MuUG*}gnAFAi8MO%o*_dyHL!+ct4hh2{xs*0R4M#8#42sNx0pNtK&R|)TL#Ty= zQvN02ptDUlln{4l^*NgP|n8GD5m@$84oG8ay_{B+mRtO9&F7d2}G6e6S%J4skn>tVOSs z^Ls9LoZ3=aw1C6Y`<*#Rj|s(Odn2;(bu=so#RZT|aLL065VBcWLNfpCyH~K10YQdH zWSOSnyw$QWnl&^Gb+|O&8w5D<0+H_ zC;YK^6cZ2=3qncsp34qEL%SJBxu-x)1ae&g>3O-R*p(~EB?{v8{^DPN1~Yl~pS(pb z@IKEO-?~2M7ZZl_9KGni_-inLmuZa!hsHvy;Y1XeA>5+KWf_qt&4mz-%Y zh*_3+0C7Gr8=pijPE=K&+HEE%mJD~{L<00G4v55+_d7n#?Q-$fiPxZZ!95s_)Vu4x zdYe}p5*qw2yfPXG`rgaR1StArP@02?41i>+HKdY?LPKx-5$aFGz;8g{ zgyO*?gii$>?ho?@Gq8(c`nCvh~bRUV@ zTDk!)4yY^(oVx0X4s`JP@0Q(?J)%BK9Ren#{ zFbWdVeJH5|h)CC=B|WsHgmfbkN_Tf1KuJMK>F%yWgLFxEch`HL-~W9+JRcqwYw>|Q z_TDplX7)AL%>C8nsmtenX_8uF!I@#(Y<0V(v-T?OqGHneJR<2Q;s5W$+8IJx9_;wN zlpS89C^o;PToPixIefuteS`3Dq0k`cS#_S>br0GrP4G)ek?o*(*UMA-$1hB^1%_#e zD?-(Mf1QNQdp`tI-68g(*-pJ~G|Jw{Ot!xRFj&ASZ(hR1>~BgJ@v)cz>oYKw9)c^% zebP~xN`wK}1mFy2P>bVpB0udV5wrrRbA8qw?vnd;(Z?dqKZt2aWeYzTU)74a&a)GR zNT|W;R{wZiv9o(h2E2qL0>V&ea@ZMl%;M=G)72Y-pgh|Jx`*71n}@|8U*_l3Ig}8O zkm~P!w~IXexQ+dQjBu!O#`{etZJ}FLgx16_|2GKS7*x@V2bM=zHo`Qm?)&U7>)jcg zpE|!l*kJ&HJ#u;9dT~S1QUD=}+5APSExBOuxal)uH)(^gu|ODHPGsP9?ecUxXc8{P zna^F@YkZQ&ws+#3Q8kyNg&1gPr~r1JnEhI}oxs-*fa}#iNpCF98-Y9|xJyg??_S)9E|^;H~f^x^}gV)^&*x;+|7G?>+-4QE<4fY&*=ZTA`HdA z^?drsdl_)Q81CQ0x-)JMaFnlVc=fyg_XfEmty_A2?44iWldTtnU5Gp#NPlH98Se@-Ri=fs2@`*{i!(5PO#; zD|Y>2Abvso1by53o7eK~LM;9Rcu*?BBN=w2DE0`~<*Oq`N2~>YpIE@rLDMFo%iwId_`Sn@kF*&GKNY3+elpo zsZat(1H`l3E%(R8n$Eq}#1R|(t+?HiSL@=ETX;c3L~lj?i3x2uAtpX$$|Qp1xPj$e zwU$cVx*-G#4UU zphDq}dbb`if}$}b4VX0tG!$%`GX@Mb&c!9hYquxy!N<=RAr{SFS2G!G0%eccQHuSe z(r?nm<4}v0r{lNwe@q=@bCCuP#qIc7m1@2c-Q;dzhed;DULObDe(Xj|;T`PX!pP3qF9F{Rh#2rpkn zvYAEx@+PF^4D`NiS@ReemMNJn)$KnQcDJLMI)tF*Ozp3KFHzc8+3FU?InXh#wTp+N z5AU~mYto+5Y2=(_0g)3EC+7g=k%%2Y%KyuVz|w>%9%rhTeAJGVq%-ezV^qnkm(GfP ze5TEd=fJ9(w>wNSl$d%|oWmUR_IM_Nn#A!421pv{-g+d*pnfAUT#DgC-shZ9F|UR6 z(d97qKY+m){ER-b?xYfsMM)!*;#@N-L5@ZRK@zGKgdhZ_gsPg+be35w;vPe%LN*bg zuhKBxx_M{dr5LXP!{bcE>Tww$(!}zYf)eJD`jXUCWPm@Tt3(91BlPI7gzUP#yVg58 zl1_zrLRL+M5&o*x#zpaL^WqH|lQDVcxzUKGd98im!Z~L@sD1wds1@RP7iZL#|N8)_ z=LM~RIEDW(Nvzl5Jw3LuFMeApRVPuxXh=#dznfa{nXBAjSWxPg$j*L_wb~sVPc>sX z$haM#pdi{27KFuH^*1o$Rb1qFktl$|xKVC`vLe;;Mv+YYA zb9K;2&T?8}+oX;?nJ5SlS@1ZjNtwQqg@>7BsYHB`tFGlT29g@oOQawTU~KYk`CfNH z8D0Zcye|Wx%qcKJsbg4XGP*1(SxQsy!k{_!2oWG&Gmh)Y^nq6Aap`cWoH4vBIg%xZ z3%>x9`4JnOnUfDAdvFLEV2D3mAAUU;1o^f_ej$=xkBvJLSd8 zu7z-^4OLwC?z3wB<8k&D+jw|G1ku8)=#|W9JlH;Kwc}sW1J1RXV-|J5FmuCyu?5C$ zqKkmq@(XNK#Y;rb*Qgioow|Ql?8NDG%LisO?;ji5+*x6V2SFX`(eY^&xbEy&@>Ipv zIBkcriSV^+(4W1nWW>H0Q{BLDPg$Tu{uQP4pzx;4a5MhuVf`nr!GAX5W!YUhldbD+ zAZf|P=b}caIK$4*F}0Ph_et05t=PfG%cFl85G)WgTr^M@Z&t{RIK?H<3zB@_1PKY3 zVw9%8|G38_qxE>~DjEl2`f?-`B1JAzf4cGk$Aq_1FPYjPL$j^ife?t<thh1EhEWE4K%;fWajz}EdmoRCW2f6D-I4X#Qo;mlF{LbpG zJ$Z(WJ%@QxjQsG$JOll(!fsNW0hy)|{-JHBF-en30u>VT;1fo0_T#NZhz`R^ z95?Q6l0<@{xIbRM!GAu%3W0b;zJhfVC7v$U+w9I8y!-F3{B5om4#$PbU>h!=|ID zr3MayJrG$1lUXF7{O$cA5YZ4smhGeMmcroCJ|j(EJ)x=adrZB1dI$G-lIigNI>2Se zwFpJ806y@zssU7lsHxAYnQjnJW__!8Ju2=ltK8TctX7E~hK^j7_o zKx908sBZ>}Zx}c#fcA@hh+MGzTazs`4ooZaZ967o=jN!s%)VwxC_DsbjuV}uA4Kb! zrW6Nozm!GYxv9Q&U7$a>&CBuqgOsoRMl~SI+jA%)_7d1nhaKHt7Wk+w)e|`8^Htlm z9#`54D4HxtYiI`VMvzFc9(qNOWCj_9rLf$REE=B>8(LO-sn>@NsEP4 zkTQu}_u?_c^-LdSM=w(5Qmk8x@G*jbZj;4MjwARXU|CgDD2z_da1MgSuHPY5`Bb4M zX+O6S?9R9Pa}+{tbQJkD>t-FU#LBh`-dVp^730L3^k&aTU-G#wP%b?B1ZY71+2f|a zvX6bLo*$le4bPQPSuh(HWj1QSgW91}1sN0S^7ONhUD?Kw1Z{@g7?d+%C%s(mRuq;U z5#p>hZ)WG!;=d1fy6sG}iCqBLW^AwKwQ`*PiJ(@YWd{I{lhI*~eXO!G$&0{RQ&`>v zXF~qGkeEp*A)Pz`@Raji<%0hPQ9cLfzdu$h6_b6~rW+vIFhZ&^UaJ>4ygGhPWi74n zwtak-7S1;|Q9&-m8U40#dMrF%spxvZRWL#vJwS&B>I=!Yx&6`|jfp0k8HjGFvKd|z z2JQ^BH0Dkr(54h`IsL1bp@I+vzW&K!qSs2LuG2BGcC@!MGMf^7C?3Uv*PfC`^Q7z} zex+<>D(An6G0x<7?{^r|dRE3qjvkaEZH!Gi^<)@|Wwwo;WA0(R)tdbDCL@((?j+^3 z(hMS_EB!tEZf!fJr0$abMcOD0U{;GJns=T=uP#X^-r&*6S4TYi6~uNQ$sJ8as^Tt- zM52`Y3TiyPqS-}cES#X2F<<_i*_gfAt#NMbU`a6~ponx86$PtWI>1`vW zj;kz7tNaBRbKcU>ABlF=CR?Ajudscv_OS6HD@LRQ8Va1ndIs2CCw;tD9TT6^R`_Qd z#$w1+FlaSef?rnc`Ld`I88L>!XvF`l3T7+yWaNF62_$)eJn>Q`Vg+q`uKA&+O~3M)622zE6Tk z5$oE)4!0}~MYAMxXUA_;P$9V*X{LSmHgH-0*B1~H*H7fgtSgOm=@W^zjSrG{SIh*N zD0*M*=iEwfMn;;mHCu6EX7ij3ik5i+YrLS&{oHuLvF!Zz0*)}#ps?6XXKm>WKwAmT zGFJzvYs;O2N;%}jI(1$tYW_iGCs}nI<>_e-**2ppB+7jOx?erkSi0+cVkY29oqB`` zTu?V1@e2trUg$oA2lbx1lBK?VPTb*#T?V6-L_)J|sw|0RXncD zv+tXyZqSCs)?1FiUZhn#yjZ&Ka9hBUmN3nIoh21&{6T(?(#spQ6N^iDO;gDB9|W|5 zV(o-P(l_`1XnkpKr+-Jl0TqKohgXe%daQm`|GUFwAy(SDEd6{h9<4&)Yn*$YSjJBD z_p@zp2-!z8t!2H-_JZveE(xV25`GPE`Ot3pT>IlbjH6!chAB8DAgcw3&OyR}PdRX) zJA{t9;k2Y~_dfpY$XroStyZPX^3f@^B`wr0QqON6kNl{TpgG>uF*i#VJX7dzAJ;?F zq3D=?w>zsqNu5|cCWB2cG0Rx9L zW0ayiHrCj6xnlh)89e$0CaUDwaM%z>G%+roDH>bx4>k?vUL{oX2_4+O$_WrF;doh3 zyq>D|h0b$zjkGaG_R2mIV_$q!$h%habb0-p&1NPU_AIb0heB)?WhU-%e3#B7VLhGa z-OAC!p3@UW#NISLrV4Ju`ue_0^X+(skaR?87!uf?W0>Y)-1ed@So1AdKu(O$(-fp@ zdR_e8nX>MrGSxPPSSSAtE$U8ct@5-a#X%i(RG!*fDQT)q44z&P3S({Db+qn_(9HqS z$t2-F{OyuTOB1iYy#BQG^suyakCBiTLEzX&v1H%{#M_SPT<9w9!%75IqwRPe7XPN< zGW*$N>ut}yFe|@g{wSxkSPV~SMbE;joB@qY@&KG5r=kut1-#$Lq1+v?H&z>SmL^|@ z&Cal}-~!=Pm|60Is9{9%Xihw;UpAtma~`)2g&q&;^QssYqFUV=a=9l z(!&kW_^#I+Gp8?_Qb?IlnOPU#lA^2PjiSK z8im%BrzlZkRkHV_J2Ek?s6hub6V}s69d46;5k3*e<|Py0WL=BwZjV2UUO!^@kLEO( zLX9&hxr94tCC)^r1{in4%2MA&qpdT3(%Np57sH>@y!gtq!T8R2Sn!@u%YFm$g*F@w z5}8`V+*(J38Vhfu>3HWn)_r1{YW1a6MpJP|UfDd6ub&i6R9LGl7AzhY>fVdl6%#WQ z=oV=^HGGx?uoUh0@tK*ZY-l<_gxL-zX!ljmP&p~hbTZ5=&gWg0PTIZhs+|x^sXblr z(fba$)WgpJ7HiEh%qfgT&@-(0DBQE=T0y|1U_ZCJjikvpE)%Dx7FQ57SwRL+a$eT$ zm_ZfUNKHBVA)IqoDVIs$m^dVBt6!f-or+>`FBS0V<HqVXZKj_cNtqsLp3k5-N00Hg&Q zH@G@g_S*f&=aenqO`a2jB2&XxK|w7#x3!P2NMP|)1opx_$QI~dp$vIya3J^v<26Me zk9KDJ2IY{$dWuB3uj9nQN1`k;14vuOSR6{&g^ZXLL-&)Aic;!65)DkNUv-9g5hdDD zRh*ZEn)cZRS^{Q^&0XB>Joxua>&@DZ!59@{Uz2bFoVVMP3bx6a zQHO4Do%2fF71)~%L!oLdUn6n_!4eyehhns&hg+{{tIuHsj+`*wdHo9mYQZNW#h>3_ zD$hyOB^k0u@r*Y@tsjMjm{i{H)uH0-?|s=z zMaJ#rHc89HzM$GlD~Mg<%4x{W*FPT`H?Kyek&+$MICH zjr)tGmJ5<9{%nknhq}Y}*A~OJDmzx%>L9cY2&=Kb2>1`Z5_*{hVUZvo-e&K*^;l&+ zgqRNl@U>^u6XJklNh-SbN;j zchl#!ueUC;`=_VPFGi3mSAOspX>kI5kmdk6`Bt6C5K6N^>2q4u?UsvCGe1 zh`-!FCwt$_Lx_UG_1g+hbt6nJ(MrCHO3`bt->8FN?~u#yxfF6bn}(#IfG`G+0nahZWxy93w-LQO&6oxh9`Y1}`Ab* z$V$CrR*WQ4erwcL5Wv0pX-YAic1YZv7?qiW;$T88B!Gxk21Hl#3p)8ZGeAa-kpB|}CIIO1OR=|m4PWY9@mPSyZbH+adb!xay>qLF{MTX}1 zZ&e2d0*eGuiI;&y#VY1%PS0UQ=5vb4=@!>RFqYD~LrlzspZI`2nqS_wx~+tWes%xp zZKd%RN+fil=KeeDoPZ`UipaS}4L6W;Gs)*wSFp!va=ukWGy~b{YfYuz+!0iK8R$x` zXh@(Sb>22ljg{Bli2!QW9MGQ*JUB+8P>}TlV{YefO#bp12mk^Yx*+tslt7+Pkcp}) z>3r<`fUvc0tvzP{XjGE`fTxEk?QXjSe6HG~0MI!c%vtfUNOn1n<~l2A5^csM^!lHl zcsSPbr{ma!EfdS@)3Di;VIg#_R!F`8j@5eW!L25!`aIk7gIJ zFPYy}Y#2e02KiX1AUY`tAd|t2A$CxeRHi8ev@29TY*~v?UMwvJ1JZat!I%D&Q`>a& z<>0nmBjPn$S@|1X2PXg{I$r6NO93;#)haVVRt1NddZg>wWCiC8g(cC*3B?*=VdA)x zA=Rk8567Bf4pGi?b|JRGXbw z!8BfmiBE~!YCMM^8-x3gz!pGT+5GiW=RUW%j?4P~dUVhGc3HVP2e9Dkv8=lKx8GZR zCTFX|yZV8u8Z7%&cvSpc+&to@~W|0?;q z1Ee3`c92S(7L;J>moq*rGn?kHPxha4gC&gu_vTw&qOJFhwhh;tcBUV-hymUEZaQCY z;k8O%Dy%_Vs=4m!bACp?-4;T;SCu_P6UMn#<2k43bIHy=#IrJTVi@N~hT#dZG@WvFq9;t@uW{#Bkz7jOhBK-_3=K~G_k#tAPg4-%vi_c!v-4vib!+p^6e zK~pM@NO$QJ&Z7Zv>9C)IpRO(2;ID*v2y@c`&Wl1r+8lNC<0+g)G`X3M9k38@MkAJP z$8dd)y9*9lxbWjlL-G3AjwZw7L7KZ(9T->~gDA3}TmdlzQJ`Jg99^8e+Www~K2Dis z(XXIK&C0X&A%(SD9Q9Q5f9}-RG8kOqhH|R9JvEg5O(2vVvk$4ZvZVNe+v=bn zmd~G>NO=hYp>gegnA9Yh3LNbqhag2M(-+oSK_Orao2nlRy`@?C)QdhxE=SF(^D2NB ztUkH#wpcp8Y+Wkw|M*QdzDt%J73cn&I&};e6dkR)ift@Qumc?xm5*}9VXd7v3rju) z;+!UxHzACM{w>r9i5z0o|BVj#!XJgV^`AWEyR_FvbYLXh1A&alkeO1`*A}0(ik~~k z6PO2@q$PJAarSepk?*t7#i3!_u*_FZ{&84Yb9p>3$slqFO#{#v&iIDlY44pVJ68*f zYTP+ReEO&t)21WeQh1akP(qO}cm_|39N?jU#n)agJ>Z3umxrSkX#o!N-E)3TEO>>; z8i}yuINwd0$$sDCWJfOX&tSDk*e_J3XSe9qd0K7Od~eX@;D5oy3Y>!*w-3eYn`CwE8Mms;f8^alS!Y2V9rVDVt8R{QRgTT9;U zx*tEzD~~NRGj7&3qY9M^1bgc`tf8#N7l!;W{k%dy)U{r8My@nCUVVy3nB5y|tYy*r zmWlUzy92JmxIH|c6KhS_$=ic5vaF45O^UD0$D;Yqv8-UQ^?hi@QS;vE=ay^%7r-u< zrc{46xXrKwdWp@m+*u?qb6~WgW{0urur~=S{k1T?yH^8!<^)cDs!0S8YiG=09mV#cAvD&fu|oUhvITokChD& zMA7*Z3u&sNko+_U$W~|N)8 zhkYO7`Pc<55n?K7xPsY(())gFJE`Ytj={w^!W06LlJ3Dh{=8Tf-b-zBKztkcoG7;m4eDD{t9 z>G#t;YB?$tO84?ja6LA zsnE9i4TCcyKVi{H0R<&UT%c@UqMi@~itJDYoLbvesUQvuD~Z5RJcjIMd8zE>sZrn7 z!B)vM7My>sN61fZ+p#ryz+C#iy>eXiP`aJ>@g60KFXAHx2Vi1q7AeI33QpPoU=e`T z2|30$#l-+-WSE!Cxce=H_#{8bV#SdP!~B z_8pi7bKL>Ez*&aDNq?*U_a~i975}c2M1P%D@!2v$M;Yu2G7^AqIoV#dL@ylcP}wX z#@XsGU9T%b4(kD~#`atZ;8{z9j;bg@(HiLR1}!xgvnUjKTqCgAQw`iawT0rM#C_PrTz5`U@b6= z!gX>>e-Ro+I>4Xd;;2e-+E)g-$9tV(`G6Wu4)0p;&YS1L0S(W-{zU4zyw3mFsl9h9 z%(7s}k1X#QovO2YyhbmZpmK4iAxyp3i^rspK(mvUvDNk-TW?n{LoLbVoSilWU>n&D z@gPxgj|J*KzqVgP%>+-sf;8WW4)W($t z+K!1a*+}IYgRFXL&P&&wt`JfRvQ;33O84`DT{4cR&rNfqWGj&C=WHUK>`P<{%``XL zB!=zZAG7eKrQ}M2l&mc%e;?#h4SWA9AGFJ8SPK^Oj4G?i0G5-}FKT||p?5(4s-)ze zQ3T&#DvV%|@gIU)x!jek*bo0vwpguBN8wa=yxb*vvvgj?s~893%mhP`m3FOo+_)`D zx;!Ht=oA!Wf3dnc0Kr>^j;1Dlhhc2MnZg@@=wO`x+Yj~LvB!fBzfsPdoR_+Lp~e*{awul zVYlBxb_P%1k^2$QkKgXVT|rk7;EyE5Uo>5%ot8{DU02H&QIW2l?5CZ4+OvBfMgU}E z#ig6W>vpp7aSibpqO`k-;KA`N7)mmCE%qKo(`av z5LD+j8C1Yq&y*WxsNV5+ucZK_J=L*qsT35>`&z(uh>pP1oKt+rXR5QgD&}9h&xxI? zK)4EXm$6y)>$ZX6hr*JaiRcJ>%YN$(O&!ZjBR>{6zDyW?MlH3*8*Pyx9>v^2PC7t7 zOyUVdsD|BPF{nC;qkFODk(@G2w2WCrjF_wnBsIqB1Y+qGnm3Km(&eVNh z$5?LGheBa)f3i?XZ9jc;mdh?nhN!smoZf}JYS|p7hW-74FoPSJhuG9Y7yhkcIUX1{ zDoOay)u!IMj0NJd^I{U6bA{s5O1!Y@3g>F zWT7F8JBh$D@c9H!V(FB~`Kbo#z?|aj^zw@?Z(Wa9X}f>rQiX>Oc7{`<0le#z=AFmc3mLJ5tcS*kJBDO)WMNZ|?t^ZZJ&+zBnAE#={_;l}LNBaWX<@i5; zbw50rTVPhr2D0D)s%(^VKs=yCWlIThSnI*bMmKH`!)DPek{2F)wR)W3BLMlm&N3M6 z_IB&>3k$E~XvLsBA?IpW7=gLxun0UwZ@DK78BOVv7CHgVU|j>ybZoOK{DM*Un_@8p%5dV}9xm!=H>@ zd}*2$qtz17HL?Kqq{i7r~8Hd{F_1(TZA6w(Tjwp6Hch6EG09nsCs5NGe z%ZH;It!4x4h;Vu#^s|u*YI+4cL-nxw(B9`m_tlOcdtEr|%+6zQg|Fw)dKzJTzl;`X9CQ5I@CVU z&rIYD%k#y83BfGw38Bs}MJW{fu}Gi>(Aq&`u-5(U*NZINrK;{rWZJ&h> z=ae7!uN>erwUMWv6^lA_yUbRC-IT<5@$+>wn;>OIJ$^5QM0Z&-{ixUG(i?#)>uHaY zQ9cr2ZW_xuq-p21TP^EfzBsG-^kdP&cc#tOUYd3WkWybdu-Sv|IraC)B(H}*YE)u^Z>^lUW z;4~>MRS<(strF*G!XVCiVJ5aG+(FzNBYb^~OI@$0`w_5z>P&aZNA9B(242H2iZ#`| zn;`FZCL_LGm=-8l;0&2*A%MZ0`lA57992=;faG8g>Uzc{pEZd!72k zJUvOINnojhD?`yK|&m++;W3H53nw&+%cQ>l@pxs7!|4F?kBD zosf^O>hAoQypQ)E=F)+$t4Naw@BO^_LE3zlM%tR6^;Z&3cg~fWGXaiia=hQ@_v3=uGA0az^Cg9#n*gJ@3z^M$|`u}c~hT5bvX{Mke-X1 zwIY{Q%??x2?E+Zqa??py4qwTLLxoaW&S!g$nvWXaUs=y1@Mi6bgHp(zmqq%+up+j! zTP>CYL02dtz1)YLhV`ETDf_Q*VkFpKY;J)m z-=*Q1U|AnG0JYwHyYt&LQP@KIgkB{k$t+hQ=QCNPhpNmF#3L>{8pJ-09o&TDLa zV2d1mDl+OfIxh#KQ;9eca8V@1h4=o9{TMWhSyUym@a~o8Hth4Ox`c$97{tlBBj0OQ zEbX%5W116iR1R*UKp``IXTcAUy_3~Mut8m+@ooO}x+D{RF<9vYMX}xn*EM+=4R?V!#Ekc*IKd#i4~=Gpd^;b>ti|~awKF?oEQ(KfD-ihQ+@PX`etyO zvM?fiJrk4eA$5Y#d{svZWwE`ZnzXyaFBIWp$>}swN$8v!u0R0;jB+wIJq^AN2XdLt z`!gpiD5_faCD(fJy3@AKm_?U`=z$3+0=!n0o8mU`fY0-1obgknhF|{ZAvKi;5Om?Y zRvjFmpQ_Z4A1`O1Yrn8b5i!jwoX^cCg~+he-^s6v7G4~HEBf{B3+_W;sPP*_R7dH# z)%+yA_48?LSVzeD(}W=!RwUifeSa*YbU2X}P@QUm#EdnTUHOy>r;$#JWcvbemwSbG z{Ls)yRJ(E~T7h;DK`(SKpNh1~S4|=A50Y0)&I7nrqItkt<8xbI&ukfZwijFk(@V0F z&}IMW48asK97$ir+Mg*iVYy}lF(K}DyxlTgO#0fdXrj=_uNVwbkpWF#A{e*=kn%ha z_rvCc{?g0+k32v!Cn8CAEl>2@ltIZ{?AN#d)V_=iKd&^i@TXFq`=V8DJn*>mNhn`D zn8<2OEx4N6C*4afQ)F2DxtjCk+R<~vZhw)~I^A-Uq1=EHq)YU_-2dGyfAIO~qIE>L*1_ptF2figmTY0QZ_1mNPuxDY-TXL~ zH#`V!{vMn6v_+~UTIy8X{aqbVQIM?wDa*U_pl*FCI1)Yc&7?(mp$b>An^CpJ(el2% zC>9bx)r^hVpp-(lGtFX8?oT+<2)qQk@wN4#xzyuoH(rO_e-0U#SC?s%RHhdib@K+3 z0R}cRIbsJE1RPA-T@Uzt^0+PdQKnHj4qTUg9_BX>N(IfFgbesxed`DhLF|+_Rkj1~ zMJo@}f|VLse*ag$fKgYL9SnTfZgcEN)P;MO9}l6A7vztR$QG?FpXKGf{$`#bddd*J z$6jmqd%%4+%pngM^1xHvckSUG@SZgox$K^{&)UQQMc o4nYnMT=HJQ|LcY?cBWS5ZvXEayx-dg12-VaN-If~NErJ6f9Kt(hyVZp literal 0 HcmV?d00001 diff --git a/lib/pixi/assets/maps/wikimedia-world-robinson/license.txt b/lib/pixi/assets/maps/wikimedia-world-robinson/license.txt new file mode 100644 index 0000000..e626e54 --- /dev/null +++ b/lib/pixi/assets/maps/wikimedia-world-robinson/license.txt @@ -0,0 +1,4 @@ +lincense: Public Domain +date: 29-10-2019 +source: https://commons.wikimedia.org/wiki/File:BlankMap-World.svg +author: Canuckguy \ No newline at end of file diff --git a/lib/pixi/bundle.js b/lib/pixi/bundle.js index 15856b8..3b56d52 100755 --- a/lib/pixi/bundle.js +++ b/lib/pixi/bundle.js @@ -60,3 +60,52 @@ window.List = List window.LabeledGraphics = LabeledGraphics window.FontInfo = FontInfo window.Text = Text + +//Maps +import MapView from './maps/mapview.js' +import { GeoMap, ImageMap, DeepZoomMap } from './maps/map.js' +import { MapData, DeepZoomMapData } from './maps/mapdata.js' + +window.MapData = MapData +window.DeepZoomMapData = DeepZoomMapData + +window.GeoMap = GeoMap +window.ImageMap = ImageMap +window.DeepZoomMap = DeepZoomMap + +import Mercator from './maps/projections/mercator.js' +import Robinson from './maps/projections/robinson.js' +window.Projection = { + Mercator, + Robinson +} + +window.MapView = MapView + +import MapApp from './maps/mapapp.js' + +window.MapApp = MapApp + +import { AdvancedScatterContainer, RigidContainer, CompactScatter, CoverScatter } from './maps/scatter.js' + +window.AdvancedScatterContainer = AdvancedScatterContainer +window.RigidContainer = RigidContainer +window.CompactScatter = CompactScatter +window.CoverScatter = CoverScatter + +import { GeoLayer, MapLayer } from './maps/geolayer.js' +window.GeoLayer = GeoLayer +window.MapLayer = MapLayer + +import { GeoGraphics, GeoPoint, GeoLine, GeoShape, GeoMultiShape } from './maps/geographics.js' + +window.GeoGraphics = GeoGraphics +window.GeoPoint = GeoPoint +window.GeoLine = GeoLine +window.GeoShape = GeoShape +window.GeoMultiShape = GeoMultiShape + + +import Overlay from "./maps/overlay.js" + +window.Overlay = Overlay diff --git a/lib/pixi/graphics/label.js b/lib/pixi/graphics/label.js new file mode 100644 index 0000000..f7275a0 --- /dev/null +++ b/lib/pixi/graphics/label.js @@ -0,0 +1,187 @@ +import { Points } from '../../utils.js' + +/* globals PIXI */ + +export class FlagType { + static get bottomLeft() { + return { x: 1, y: -1 } + } + static get bottomRight() { + return { x: -1, y: -1 } + } + static get topLeft() { + return { x: -1, y: 1 } + } + static get topRight() { + return { x: 1, y: 1 } + } + + static toString(flagType) { + let str = '' + if (flagType.x && flagType.y) { + if (flagType.y == 1) str += 'bottom' + else if (flagType.y == -1) str += 'top' + else str += '_INVALID_Y_' + + if (flagType.x == 1) str += 'Right' + else if (flagType.x == -1) str += 'Left' + else str += '_INVALID_X_' + } else str = 'Invalid FlagType: ' + flagType.toString() + + return str + } +} + +export class FlagPolygon extends PIXI.Polygon { + constructor({ + type = FlagType.bottomLeft, + width = 100, + height = 30, + notchSize = 10, + notchWidth = null, + notchHeight = null, + originOffset = { x: 0, y: 0 } + } = {}) { + let points = [] + + let dimensions = { x: width, y: height } + dimensions = Points.multiply(dimensions, type) + + notchWidth = notchWidth == null ? notchSize : notchWidth + notchHeight = notchHeight == null ? notchSize : notchHeight + + notchSize = { x: notchWidth, y: notchHeight } + notchSize = Points.multiply(notchSize, type) + + originOffset = Points.multiply(originOffset, type) + + let point = new PIXI.Point(originOffset.x, originOffset.y) + points.push(point.clone()) + + point.y += notchSize.y + points.push(point.clone()) + + point.y += dimensions.y + points.push(point.clone()) + + point.x += dimensions.x + points.push(point.clone()) + + point.y -= dimensions.y + points.push(point.clone()) + + point.x -= dimensions.x - notchSize.x + points.push(point.clone()) + + // close polygon + points.push(points[0].clone()) + + super(points) + + this.type = type + this.dimensions = dimensions + this.notchSize = notchSize + this.originOffset = originOffset + } + + getPoint(i) { + if (i >= 0) { + let idx = i * 2 + return [this.points[idx], this.points[idx + 1]] + } else { + let idx = (Math.floor(this.points.length / 2) + i) * 2 + return [this.points[idx], this.points[idx + 1]] + } + } + + get notch() { + let points = [this.getPoint(0), this.getPoint(1), this.getPoint(-2), this.getPoint(0)] + let notchPolygon = [] + + points.forEach(point => { + notchPolygon = notchPolygon.concat(point) + }) + + return notchPolygon + } + get rect() { + let points = [this.getPoint(1), this.getPoint(2), this.getPoint(3), this.getPoint(4), this.getPoint(1)] + + let rectPolygon = [] + points.forEach(point => { + rectPolygon = rectPolygon.concat(point) + }) + return rectPolygon + } + + placeText(text, padding) { + text.position = Points.add(this.originOffset, { x: 0, y: this.notchSize.y }) + padding = Points.multiply(padding, this.type) + text.position = Points.add(text.position, padding) + + if (this.type.y == -1) text.position.y -= text.height + + if (this.type.x == -1) text.position.x -= text.width + } +} + +export class Flag extends PIXI.Graphics { + constructor( + { + type = FlagType.bottomLeft, + width = 100, + height = 30, + notchSize = 10, + notchWidth = null, + notchHeight = null, + originOffset = { x: 0, y: 0 } + } = {}, + nativeLines = false + ) { + super(nativeLines) + + this.flagPolygon = new FlagPolygon({ + type, + width, + height, + notchSize, + notchWidth, + notchHeight, + originOffset + }) + + this.draw() + } + + draw() { + this.drawPolygon(this.flagPolygon) + } + + get typeName() { + return FlagType.toString(this.type) + } +} + +export class Label extends PIXI.Graphics { + constructor(text, textStyle = new PIXI.TextStyle(), nativeLines = false) { + super(nativeLines) + this._text = new PIXI.Text(text, textStyle) + this.addChild(this._text) + } + + get text() { + return this._text + } +} + +export class FlagLabel extends Label { + constructor(text, textStyle, flagStyle, nativeLines = false) { + super(text, textStyle, nativeLines) + this.flagPolygon = new FlagPolygon(flagStyle) + this.draw() + } + + draw() { + this.drawPolygon(this.flagPolygon) + } +} diff --git a/lib/pixi/maps/geographics.html b/lib/pixi/maps/geographics.html new file mode 100644 index 0000000..a0f5df7 --- /dev/null +++ b/lib/pixi/maps/geographics.html @@ -0,0 +1,287 @@ + + + + + + GeoGraphics + + + + + + + + + + + + + + + +

    GeoGraphics

    +

    GeoGraphics are graphical objects, that does not store the graphics information + in screen space, but in geographical coordinates. Therefore GeoGraphics must be + placed on GeoLayers to work properly.

    +

    + Note: As GeoLayers are always children of a map layer. When the map is changed + all GeoLayers are notified via the 'adaptTo(map)' method.

    +

    + The geolayers forward this 'adaptTo' to all children that are GeoGraphics. + Which adjust their so called 'point' data to the new map.

    + + +
    + +
    +

    GeoPoint

    +

    GeoPoint is a single coordinate in the map.

    + +
    + +
    + + + +
    +
    +

    GeoLine

    +

    Geo line is a set of points, that are rendered as a line and can be updated individually.

    + +
    + + +
    + +
    + +
    + +

    Geoshape

    +

    GeoGraphics represent Polygons, that are drawn on a map. If the map change, the graphic adapts to the new map + and represents + the same geographical shape.

    +
    +
    + +
    +
    + + + +
    + + + \ No newline at end of file diff --git a/lib/pixi/maps/geographics.js b/lib/pixi/maps/geographics.js new file mode 100644 index 0000000..cddfab7 --- /dev/null +++ b/lib/pixi/maps/geographics.js @@ -0,0 +1,737 @@ +import { Points } from '../../utils.js' +import { EventHandler } from './utils.js' +import { FlagPolygon } from '../graphics/label.js' +import { GeoLayer, MapLayer } from './geolayer.js' +import { DeepZoomMap } from './map.js' + +/** + * GeoGraphics are graphical objects, that does not store the graphics information + * in screen space, but in geographical coordinates. Therefore GeoGraphics must be + * placed on GeoLayers to work properly. + * + * (Note: As GeoLayers are always children of a map layer. When the map is changed + * all GeoLayers are notified via the 'adaptTo(map)' method.) + * + * The geolayers forward this 'adaptTo' to all children that are GeoGraphics. + * Which adjust their so called 'point' data to the new map. + * + * @abstract + */ +export class GeoGraphics { + constructor(coordinates, { scale = 1, onDraw = null, onDrawEnd = null, debug = false } = {}) { + this.coordinates = coordinates + this.debug = debug + this.graphics = new PIXI.Graphics() + this.scale = scale + this.drawHandler = new EventHandler('onDraw', { listeners: onDraw }) + this.drawEndHandler = new EventHandler('onDrawEnd', { listeners: onDrawEnd }) + this._points = null + this._position = null + } + + clone() { + console.error(`Call of abstract method clone(). Overwrite in subclass.`, this) + } + + _cloneOptions() { + return { + debug: this.debug, + scale: this.scale + } + } + + /** + * The _adaptCoordinates is called first by the adaptTo Method. + * Here all coordinates are transformed into point coordinates. + * This must be overloaded in subclass. + * + * @abstract + */ + _adaptCoordinates(map) { + console.error(`Call of abstract method _adaptCoordinates(map). Overwrite in subclass.`, this) + } + + /** + * Gets all screen points in a single array. + * + * @abstract + * @returns {array} - Array of all points in the GeoGraphic. + */ + _getPoints() { + console.error(`Call of abstract method _getPoints(func). Overwrite in subclass.`, this) + } + + /** + * Manipulates all points depending on a function. + * Mainly used to transform points to local space. + * + * @abstract + * @param {function} func + * @memberof GeoGraphics + */ + _manipulatePoints(func) { + console.error(`Call of abstract method _manipulatePoints(func). Overwrite in subclass.`, this) + } + + /** + * The _draw method is called last on adaptation. It creates the GraphicData + * of the specified subclass. To manipulate the style of the graphic, hook an onDraw listener + * to the GeoGraphics object. It is called before the _draw and lets the user modify color and + * lineStyle of the drawn object. + * + * Note: It could also be used for more radical manipulations on the graphics object. + * But this should be used with care. + * + * @abstract + */ + _draw() { + console.error(`Call of abstract method _draw(). Overwrite in subclass.`, this) + } + + /** + * Called by the containing geo layer, when the map changes. + */ + adaptTo(map) { + this._points = this._adaptCoordinates(map) + this._updatePosition() + this.draw() + } + + + /** + * Redraws the graphics. + * + * This should be only called if you require an redraw independent of an adapt. + * + * @memberof GeoGraphics + */ + draw() { + this._prepareDraw() + this.drawHandler.call(this, this.graphics) + this._draw() + this.drawEndHandler.call(this, this.graphics) + } + + /** + * Retrieves the point data. + * Note: This data changes on adaptation. + */ + get points() { + return this._points + } + + /** + * Returns the screen position of the GeoGraphics. + */ + get position() { + return this._position + } + + get map() { + if ( + this.graphics.layer && + (this.graphics.layer instanceof GeoLayer || this.graphics.layer instanceof MapLayer) + ) { + return this.graphics.layer.map + } else return null + } + + get mapLayer() { + if ( + this.graphics.layer && + (this.graphics.layer instanceof GeoLayer || this.graphics.layer instanceof MapLayer) + ) { + return this.graphics.layer.mapLayer + } else return null + } + + /** + * Prepare draw is a private function, that prepares the graphics + * for the next draw call. It also fires the drawHandler. + * + * @private + * @memberof GeoGraphics + */ + _prepareDraw() { + this.graphics.clear() + /* + Set a fillcolor and a stroke style for + debugging. Can be overloaded using the onDraw + event function. + */ + if (this.debug) this.graphics.beginFill(0xff00ff) + } + + _updatePosition() { + let points = this._getPoints() + this._position = GeoGraphics.calculateCenterOfMass(points) + this._manipulatePoints(point => { + point = Points.subtract(point, this._position) + return point + }) + this.graphics.position = this._position + } + + /** + * Calculates the center of Mass for a set of points. + * + * @static + * @param {Array} points - Array of points in the format {x: a, y:b} + * @returns {object} - Returns a point containing the center of mass of the polygon. + * @memberof GeoGraphics + */ + static calculateCenterOfMass(points) { + let com = new PIXI.Point() + points.forEach(p => { + let point = new PIXI.Point(p.x, p.y) + com = Points.add(com, point) + }) + return Points.multiplyScalar(com, 1 / points.length) + } +} + +/** + * Represents a single point on the Map. + * + * This GeoGraphics does not provide any visual representation. + * Draw the desired shape in the onDraw callback. + */ +export class GeoPoint extends GeoGraphics { + clone() { + return new GeoPoint(this.coordinates, this._cloneOptions()) + } + + _adaptCoordinates(map) { + let scale = 1 + + if (this.mapLayer.map instanceof DeepZoomMap) { + scale = this.mapLayer.map.image.scale.x + } + + scale = scale / 4 + + return map.coordinatesToPoint(this.coordinates) + } + + _getPoints() { + return [this.points] + } + + _manipulatePoints(func) { + this._points = func(this._points) + } + + _draw() {} +} + +export class GeoLine extends GeoGraphics { + /** + * @param {object} opts - Optional values + * @param {array} [opts.points=[]] - Initial points of the geo shape. + * @param {boolean} [closed=false] - Defines if the + */ + constructor(coordinates, { closed = false, size = 1, onDraw = null } = {}) { + super(coordinates, { + size, + onDraw + }) + + this._closed = closed + } + + clone() { + return new GeoLine(this.coordinates, this._cloneOptions) + } + + _cloneOptions() { + let options = super._cloneOptions() + Object.assign(options, { + closed: this.closed + }) + } + + /** + * Adds a point to the geo line. + */ + addPoint(coordinate) { + this.coordinates.push(coordinate) + } + + _manipulatePoints(func) { + this.points.forEach((point, idx, array) => { + array[idx] = func(point) + }) + } + + _getPoints() { + return this.points + } + + _adaptCoordinates(map) { + let points = [] + this.coordinates.forEach(point => { + points.push(map.coordinatesToPoint(point)) + }) + return points + } + + _prepareDraw() { + this.graphics.clear() + if (this.debug) this.graphics.lineStyle(0.5, 0xff00ff) + this.drawHandler.call(this) + } + + _draw() { + /** + * This resets the fill. + * + * DISCUSS: SO: "I'm not sure how the line should be defined. + * On the one hand. The line is clearly intended to + * represent a line and not an area. On the other hand, + * why should the user be prevented from using a fill for the + * area within the line. But if he want's a fill, why don't take + * a Polygon in the first place? + * + * (But if it's a predefined GeoJSON object obtained through e.g. elasticsearch, + * then the user is not in full control of the object type and it may be a good + * addition to grant the user this additional design choice.) + * + * The opportunity to do so would result in additional conditions, when creating the + * GeoGraphics of an overlay." + * */ + this.graphics.beginFill(0, 0) + + if (this.points.length > 0) { + this.graphics.moveTo(this.points[0].x, this.points[0].y) + + for (let i = 1; i < this.points.length; i++) { + this.graphics.lineTo(this.points[i].x, this.points[i].y) + } + + if (this.closed) { + this.graphics.lineTo(this.points[0].x, this.points[0].y) + } + } + } + + get closed() { + return this._closed + } + + set closed(val) { + if (val != this._closed) { + this._closed = val + this.draw() + } + } +} + +export class GeoShape extends GeoGraphics { + clone() { + return new GeoShape(this.coordinates, this._cloneOptions) + } + + _manipulatePoints(func) { + this.constructor._manipulatePoints(this.points, func) + } + + /** + * Mets the requirements for the _manipulatePointsMethod(). + * Primarily used in subclasses to get the processing steps from + * their superclass. + * + * @static + * @protected + * @param {Array.} points - The points array that shold be manipulated. + * @param {function} func - The function that changes the single point value. Has to return a new point. + * @memberof GeoShape + */ + static _manipulatePoints(points, func) { + points.forEach((pointArray, arrIdx) => { + pointArray.forEach((point, idx) => { + points[arrIdx][idx] = func(point) + }) + }) + } + + _getPoints() { + return this.constructor._getPointsFrom(this.points) + } + + /** + * Returns all points of a polygon array. + * Useful for when getting sub polygons in child class. + */ + static _getPointsFrom(shape) { + let concatArray = [] + shape.forEach(array => { + concatArray = concatArray.concat(array) + }) + + return concatArray + } + + _adaptCoordinates(map) { + let val = this.constructor._adaptPoint(this.coordinates, map) + return val + } + + static _adaptPoint(coordinates, map) { + return coordinates.map(array => { + return array.map(point => { + return map.coordinatesToPoint(point) + }) + }) + } + + _draw() { + this._drawFrom(this.points) + this.graphics.position = this.position + } + + _drawFrom(shape) { + const { polygon, hole } = this.constructor._pointsToShape(shape) + this._drawShape(polygon, hole) + } + + /** + * Separates the points array into it's two parts: + * - the solid polygon + * - a hole that is cut into the polygon (optional) + * + * @private + * @returns {object} - Returns an object containing the polygon and the hole in the form of {polygon: [...PIXI.Point], hole: [...PIXI.Point]} + */ + static _pointsToShape(points) { + let polygon = GeoShape._transformToPIXI(points[0]) + let hole = points[1] ? GeoShape._transformToPIXI(points[1]) : [] + return { polygon, hole } + } + + /** + * Transform an array of poins into an array of PIXI.Points. + * Note: When creating PIXI.Polygons, for some reason the points + * need to be a PIXI.Points object (at least the first one). + * + * @param {array} points - Points in the form of {x:a,y:b} + * @returns An array of PIXI.Points + * @memberof GeoPolygon + */ + static _transformToPIXI(points = []) { + let polygon = [] + points.forEach(point => { + polygon.push(new PIXI.Point(point.x, point.y)) + }) + + return polygon + } + + /** + * Draws a single shape onto the graphics object. + * Useful when being called from subclass. + * + * @protected + * @param {Array.} polygon - An array of PIXI.Points for drawing a polygon. + * @param {Array.} [hole=[]] - An Array of PIXI.Points for cutting a hole into the polygon + * @memberof GeoShape + */ + _drawShape(polygon, hole = []) { + // We save the fill specified in the onDraw event handler. + // + // Consider: Maybe it would be a good idea to add a 'onHoleDraw' + // callback to make the hole customizable. Maybe you want + // to fill it with a different color or an mediocre alpha value. + // then feel free to implement it. + let { fill, alpha } = PIXIUtils.saveFill(this.graphics) + + /** + * This may seem redundant, but it's required + * to make the hole clickable. + * + * It was a bit confusing, so I made a CodePen + * for it: https://codepen.io/Ukmasmu/pen/WJEaoK + */ + if (hole.length > 0) { + this.graphics.beginFill(0x0000ff, 0.0000001) + this.graphics.drawPolygon(hole) + } + + this.graphics.beginFill(fill, alpha) + this.graphics.drawPolygon(polygon) + + if (hole.length > 0) { + this.graphics.beginHole() + this.graphics.drawPolygon(hole) + this.graphics.endHole() + } + } +} + +/** + * The MultiGraphics makes use of the other GeoGraphics to + * create a single graphics element out of multiple different + * GeoGraphics. + */ +class GeoMultiGraphics extends GeoGraphics { + /** + * The _adaptCoordinates is called first by the adaptTo Method. + * Here all coordinates are transformed into point coordinates. + * This must be overloaded in subclass. + * + * @abstract + */ + _adaptCoordinates(map) {} + + /** + * Gets all screen points in a single array. + * + * @abstract + * @returns {array} - Array of all points in the GeoGraphic. + */ + _getPoints() { + console.error(`Call of abstract method _getPoints(func). Overwrite in subclass.`, this) + } + + /** + * Manipulates all points depending on a function. + * Mainly used to transform points to local space. + * + * @abstract + * @param {function} func + * @memberof GeoGraphics + */ + _manipulatePoints(func) { + console.error(`Call of abstract method _manipulatePoints(func). Overwrite in subclass.`, this) + } + + /** + * The _draw method is called last on adaptation. It creates the GraphicData + * of the specified subclass. To manipulate the style of the graphic, hook an onDraw listener + * to the GeoGraphics object. It is called before the _draw and lets the user modify color and + * lineStyle of the drawn object. + * + * Note: It could also be used for more radical manipulations on the graphics object. + * But this should be used with care. + * + * @abstract + */ + _draw() { + console.error(`Call of abstract method _draw(). Overwrite in subclass.`, this) + } +} + +export class GeoText extends GeoPoint { + constructor(coordinates, text, opts) { + super(coordinates, opts) + this.align = opts.align + this.textStyle = Object.assign(new PIXI.TextStyle(), opts.textStyle) + this._text = new PIXI.Text(text, this.textStyle) + + //TODO: Make this more generic: + // We have 8 layers (12-20) for each map so this temporarily works fine. + // Outsource it to the map class. + //let textScale = Math.pow(2, 7) + + // let textScale = 5 + // this.text.scale.set(1 / textScale, 1 / textScale) + + switch (this.align) { + case 'left': + break + case 'center': + this.text.position.x -= this.text.width / 2 + break + case 'right': + this.text.position.x -= this.text.width + break + default: + console.error('Align type is not implemented: ' + this.align + ". Use 'left', 'right' or 'center'.") + } + this.text.position.y -= this.text.height / 2 + this.graphics.addChild(this.text) + } + + get text() { + return this._text + } + + _draw() { + super._draw() + } + + adaptTo(map) { + super.adaptTo(map) + } +} + +/** + * A geotext with a notch at a certain Position. + */ +export class GeoFlagLabel extends GeoText { + constructor(coordinates, text, opts) { + super( + coordinates, + text, + Object.assign(opts, { + align: 'left' + }) + ) + + if (!opts.flag) { + opts.flag = {} + } + + const { + alpha = 1, + color = 0xffffff, + borderAlpha = 1, + borderColor = 0x000000, + borderThickness = 0, + fillNotch = false + } = opts + + Object.assign(this, { + alpha, + color, + fillNotch, + borderAlpha, + borderColor, + borderThickness + }) + + this.flagOptions = Object.assign( + { + notchSize: 10, + notchWidth: null, + notchHeight: null, + padding: { x: 0, y: 0 }, + originOffset: { x: 0, y: 0 } + }, + opts.flag + ) + + this.border = this.borderThickness > 0 + + Object.assign(this.flagOptions, { + width: this.text.width + this.flagOptions.padding.x * 2, + height: this.text.height + this.flagOptions.padding.y * 2 + }) + + this.flagPolygon = new FlagPolygon(this.flagOptions) + + // hover effect + //-------------------- + const duration = 0.2 + this.graphics.interactive = true + this.graphics.on('pointerover', event => { + TweenLite.to(this.graphics, duration, { alpha: 0.6 }) + }) + this.graphics.on('pointerout', event => { + TweenLite.to(this.graphics, duration, { alpha: 1 }) + }) + this.graphics.on('pointerupoutside', event => { + TweenLite.to(this.graphics, duration, { alpha: 1 }) + }) + this.graphics.on('pointercancel', event => { + TweenLite.to(this.graphics, duration, { alpha: 1 }) + }) + this.graphics.on('pointertap', event => { + TweenLite.to(this.graphics, duration, { alpha: 1 }) + }) + // this.graphics.on('pointerdown', event => { + // TweenLite.to(this.graphics, duration, { alpha: 0.45 }) + // }) + // this.graphics.on('pointerup', event => { + // TweenLite.to(this.graphics, duration, { alpha: 0.6 }) + // }) + } + + _draw() { + super._draw() + + this.graphics.beginFill(this.color, this.alpha) + this.graphics.drawPolygon(this.flagPolygon) + this.flagPolygon.placeText(this.text, this.flagOptions.padding) + + if (this.border) { + const lineStyle = [this.borderThickness, this.borderColor, this.borderAlpha] + if (this.fillNotch) { + this.graphics.beginFill(this.borderColor) + this.graphics.drawPolygon(this.flagPolygon.notch) + this.graphics.endFill() + + this.graphics.lineStyle(...lineStyle) + this.graphics.drawPolygon(this.flagPolygon.rect) + this.graphics.drawPolygon(this.flagPolygon.notch) + } else { + this.graphics.lineStyle(...lineStyle) + this.graphics.drawPolygon(this.flagPolygon) + } + } + } +} + +export class GeoMultiShape extends GeoShape { + static _manipulatePoints(points, func) { + points.forEach(shape => { + GeoShape._manipulatePoints(shape, func) + }) + } + + static _getPointsFrom(multiShapeArray) { + let points = [] + multiShapeArray.forEach(shape => { + points = points.concat(GeoShape._getPointsFrom(shape)) + }) + return points + } + + static _adaptPoint(coordinates, map) { + let points = [] + coordinates.forEach(shape => { + let adaptedPoint = GeoShape._adaptPoint(shape, map) + points.push(adaptedPoint) + }) + return points + } + + calculateLocation() { + let coms = [] + this.coordinates.forEach(polygon => { + coms.push(GeoGraphics.calculateCenterOfMass(polygon)) + }) + + return GeoGraphics.calculateCenterOfMass(coms) + } + + _drawFrom(multiShape) { + multiShape.forEach(shape => { + super._drawFrom(shape) + }) + } +} + +class PIXIUtils { + /* + * Transform a pixi text to it's actual screensize, + * ignoring it's local transforms + */ + static toScreenFontSize(pixiText, fontSize = null) { + pixiText._recursivePostUpdateTransform() + + let normalizedScale = { + x: pixiText.scale.x / pixiText.transform.worldTransform.a, + y: pixiText.scale.x / pixiText.transform.worldTransform.d + } + + pixiText.scale = { x: normalizedScale.x, y: normalizedScale.y } + if (fontSize) pixiText.style.fontSize = fontSize + } + + static saveFill(graphics) { + return { + fill: graphics.fill.color, + alpha: graphics.fill.alpha + } + } +} diff --git a/lib/pixi/maps/geojson.html b/lib/pixi/maps/geojson.html new file mode 100644 index 0000000..bfc1910 --- /dev/null +++ b/lib/pixi/maps/geojson.html @@ -0,0 +1,380 @@ + + + + + + GeoJson + + + + + + + + + + + + +

    GeoJson

    +

    GeoJson is a standardized format of how to display geometry in a geographical context, using latitude/longitude + pairs + to display one (or multiple) Point, Line or Polygon. +

    +

    This implementation is roughly based on + RFC7946. +

    +

    GeoJson objects consist of two objects: +

      +
    • type: The type of the object. All listed in the table below.
    • +
    • coordinates: The coordinate point(s)* of which the object is composed.
    • +
    + The points are an array of exactly two values in the format [longitude, latitude]. Here the implementation + breaks with the + standardized format, as multiple point formats can be used for convenience (see + Point section). +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeImplemented
    Point + +
    Line + +
    Polygon + +
    MultiPoint + +
    MultiLine + +
    MultiPolygon + +
    + + + + +

    Point

    +

    Points represent a single point on the map. In the following all valid coordinate types are shown

    + +

    Line

    +

    The line can be used to show a path or connection between multiple points.

    + + +

    Polygon

    +

    Polygons are used to represent shapes. They are an array of two pointarrays. The first represent the shape, the + optional + second one a hole that can be cut into the shape.

    + +

    MultiPolygon

    +

    Multipolygons are an array of polygons.

    + +

    Applying GeoJson Objects to the Map

    +

    The GeoJson data is used to create a + GeoGraphics object.

    + + + + \ No newline at end of file diff --git a/lib/pixi/maps/geojson.js b/lib/pixi/maps/geojson.js new file mode 100644 index 0000000..4f6e919 --- /dev/null +++ b/lib/pixi/maps/geojson.js @@ -0,0 +1,329 @@ +import { GeoGraphics, GeoShape, GeoMultiShape, GeoLine, GeoPoint } from './geographics.js' + +/** + * Helper class for handling GeoJson data. + * As specified by [RFC7946](https://tools.ietf.org/html/rfc7946). + * + * @static + * @export + * @class GeoJsonGraphics + * @extends {GeoGraphics} + */ +export default class GeoJson { + static isLineType(type) { + return type == 'LineString' || type == 'MultiLineString' + } + + static _getFormatStringOfType(type) { + let description = ', where p represents a coordinate point' + let format = '' + switch (type) { + case 'Point': + format = 'p' + break + case 'LineString': + format = '[p1,p2,p3,...,pn]' + break + case 'Polygon': + format = '[ [p1,p2,...,pn], [h1,h2,...,hn] ]' + description += ' and h also represents a coordinate point, but it creates a hole.' + break + default: + format = type + description = " is either not valid or not yet implemented in method '_getFormatStringOfType(type)'." + } + + return format + ' - ' + description + } + + static get types() { + return ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon'] + } + + static unwrapFeatureCollection(featureCollection) { + if (featureCollection.features == null) { + console.error( + 'Error at GeoJson.unrwapFeatureCollection(collection): Provided object was no valid FeatureCollection.', + featureCollection + ) + return + } + + let list = [] + + featureCollection.features.forEach(feature => { + let { type, coordinates } = feature + + if (feature.type.toLowerCase() == 'feature') { + ;({ type, coordinates } = feature.geometry) + } + + list.push({ type, coordinates }) + // console.log({type, coordinates}) + }) + + return list + } + + static validateAndConvert(type, coordinates) { + if (!GeoJson.validateType(type)) throw new GeoJson.InvalidTypeError(type) + else { + if (GeoJson.validateCoordinates(type, coordinates)) { + let converted = GeoJson.convert(type, coordinates) + return converted + } else { + console.error( + `Coordinates are invalid. They must be in format of type '${type} - ${GeoJson._getFormatStringOfType( + type + )}'` + ) + } + } + } + + static validateType(type) { + return GeoJson.types.indexOf(type) != -1 + } + + static validateCoordinates(type, coordinates) { + let valid = false + + switch (type) { + case 'Point': + valid = !!GeoJson.validateAndConvertPoint(coordinates) + break + case 'LineString': + valid = GeoJson.validateLineString(coordinates) + break + case 'Polygon': + valid = GeoJson.validatePolygon(coordinates) + break + case 'MultiPolygon': + valid = true + for (let i = 0; i < coordinates.length; i++) { + if (!GeoJson.validatePolygon(coordinates[i])) { + valid = false + break + } + } + break + case 'MultiPoint': + case 'MultiLineString': + default: + console.error('Type was not yet implemented: ', type) + } + return valid + } + + /** + * Validates a point if it's an valid coordinate. + * + * NOTE: Here we are not following the GeoJSON standard. + * For convenience multiple forms of representing a coordinate are + * considered valid. A complete list is provided in the GeoUtils. + * + * @param {object} point - The point that is tested for validity. + * @returns + * @memberof GeoJson + */ + static validateAndConvertPoint(point) { + return GeoUtils.validateCoordinate(point) + } + + /** + *Validates if the given points represent a 'LineString'. + * + * @param {array} points - A list of coordinates that represent a line. + * @returns {boolean} - Returns true, if the array is in formes as: [x1,x2,x3,...,xn]. Where x# represent a valid coordinate. + * @memberof GeoJson + */ + static validateLineString(points) { + let valid = false + if (Array.isArray(points)) valid = points.every(GeoJson.validateAndConvertPoint) + return valid + } + + static validatePolygon(points) { + let valid = false + if ((Array.isArray(points) && points.length >= 1) || points.length <= 2) + valid = points.every(this.validateLineString) + return valid + } + + static convert(type, coordinates) { + let converted = null + switch (type) { + case 'Point': + converted = GeoJson.validateAndConvertPoint(coordinates) + break + case 'LineString': + converted = GeoJson._convertLineString(coordinates) + break + case 'Polygon': + converted = GeoJson._convertPolygon(coordinates) + break + case 'MultiPolygon': + converted = GeoJson._convertMultiPolygon(coordinates) + break + default: + throw new GeoJson.InvalidTypeError(type) + } + + return converted + } + + static _convertLineString(coordinates) { + return coordinates.map(point => { + return GeoJson.validateAndConvertPoint(point) + }) + } + + static _convertPolygon(coordinates) { + return coordinates.map(shape => { + return GeoJson._convertLineString(shape) + }) + } + static _convertMultiPolygon(coordinates) { + return coordinates.map(polygon => { + return GeoJson._convertPolygon(polygon) + }) + } +} + +GeoJson.InvalidTypeError = class extends Error { + constructor(type) { + super(`The requested Type was not implemented: ${type}.`) + } +} + +/** + * GeoUtils contains a collection of useful functions when working with maps. + * + * @static + */ +export class GeoUtils { + static transformToGeoGraphics(list) { + let geographicsList = [] + list.forEach(item => { + if (item.type == 'FeatureCollection') { + item.features.forEach(feature => { + let { type, coordinates } = feature + + if (type.toLowerCase() == 'feature') ({ type, coordinates } = feature.geometry) + + coordinates = GeoJson.validateAndConvert(type, coordinates) + + let geographics = this.fromGeoJsonToGeoGraphics(type, coordinates) + if (geographics) geographicsList.push(geographics) + }) + } else { + let geo = fromGeoJsonToGeoGraphics(item.type, item.geometry) + if (geo) geographicsList.push(geo) + } + }) + return geographicsList + } + + static resolveFeatureCollection(collection) { + if (!collection.features) { + console.error( + 'Error in GeoUtils.resolveFeatureCollection(colelction): Passed parameter was no feature collection.', + collection + ) + return + } + let geojson = [] + collection.features.forEach(feature => { + let { type, coordinates } = feature + + if (feature.type == feature) { + coordinates = feature.geometry.coordinates + type = feature.geometry.type + } + + geojson.push({ type, coordinates }) + }) + + return geojson + } + + /** + * Creates the appropriate GeoGraphics object from a GeoJson type. + * The coordinates need to be alread in the appropriate PIXI format. + * If not already - this can be achieved by calling 'GeoJson.validateAndConvert(type, points)' + * beforehand. + * + * @static + * @param {string} type - Any of the GeoJson types ('Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon'). + * @param {array} coordinates - Array of coordinates that fit the type. The positions within these must be in PIXI format: {x:a, y:b}. + * @returns {GeoGraphics} - Returns a GeoGraphics object. If the conversion fails, it returns null. + * @memberof GeoGraphics + */ + static fromGeoJsonToGeoGraphics(type, coordinates, opts = {}) { + let geographics = null + + /** + * TODO: REMOVE + * Just for initial debugging purposes + */ + Object.assign(opts, { + debug: true + }) + + switch (type) { + case 'Polygon': + geographics = new GeoShape(coordinates, opts) + break + + case 'MultiPolygon': + geographics = new GeoMultiShape(coordinates, opts) + break + case 'LineString': + geographics = new GeoLine(coordinates, opts) + break + case 'Point': + geographics = new GeoPoint(coordinates, opts) + break + default: + console.log('Could not create Geographics for type: ' + type + '. This was not implemented yet.') + //Nothing + } + + return geographics + } + + /** + * Validates an object, if it's an coordinate object. + * Coordinate objects can be in the following forms: + * + * [lng, lat] - GeoJSON array format. !Attention lng and lat are swapped compared to the x,y format. + * {x: lat, y: lng} - 'correct' PIXI.format + * {lat, lng} + * {latitude: lat, longitude: lng} + * + * @static + * @param {object / array} coordinate - Coordinate to be tested, if it is an valid coordinate. + * @returns - Returns the coordinate properly transformed. If transformation was not possible, it returns null. + * @memberof GeoGraphics + */ + static validateCoordinate(coordinate) { + if (Array.isArray(coordinate)) { + if (coordinate.length == 2 && typeof coordinate[0] == 'number' && typeof coordinate[1] == 'number') + return new PIXI.Point(coordinate[1], coordinate[0]) + else return false + } else { + const latvalues = ['x', 'lat', 'latitude'] + const lngvalues = ['y', 'lng', 'longitude'] + + let result = {} + for (let key of Object.keys(coordinate)) { + let target = key.toLowerCase() + if (latvalues.indexOf(target) !== -1) result.x = coordinate[key] + else if (lngvalues.indexOf(target) !== -1) result.y = coordinate[key] + } + + if (result.hasOwnProperty('x') && result.hasOwnProperty('y')) return new PIXI.Point(result.x, result.y) + else return false + } + } +} diff --git a/lib/pixi/maps/geolayer.js b/lib/pixi/maps/geolayer.js new file mode 100644 index 0000000..d2c58d2 --- /dev/null +++ b/lib/pixi/maps/geolayer.js @@ -0,0 +1,302 @@ +import { GeoMap } from './map.js' +import MapView from './mapview.js' +import { EventHandler } from './utils.js' + +import { PIXILayer } from '../../../../src/layers/js/layer.js' +import Logging from '../../logging.js' +//import { GeoGraphics } from "../pixi/geographics.js" + +/** + * The GeoLayer is a special PIXILayer, that recognizes other GeoLayers and + * GeoGraphics. The layer can be adapted to a map and notifies all Geo-Children + * of the Adaption. + */ +export class GeoLayer extends PIXILayer { + constructor(opts = {}) { + super(opts) + + /** + * When setting the map and mapLayer with the options paramter. + * The GeoLayer becomes a RootLayer, when the root layer should not be a MapLayer. + */ + if (opts.map) this._map = opts.map + if (opts.map) this._mapLayer = opts.mapLayer + + this.geographics = [] + } + + /** + * Adapts to a map. If the maplayer should adapt to the parent maplayer, + * no parameter must be specified. + */ + adapt(map = null) { + if (!map) map = this.map + + if (map) { + this.geographics.forEach(geographic => { + geographic.adaptTo(map) + }) + + this.layers.forEach(layer => { + if (layer.adapt) layer.adapt(map) + }) + } else console.error('There was no map specified.', this) + } + + place(geographic) { + if (geographic.constructor.name.startsWith('Geo') && geographic.graphics) { + // Fix to remove the rollupjs circular dependency + //if (geographic instanceof GeoGraphics) { + this.geographics.push(geographic) + super.place(geographic.graphics) + } else super.place(geographic) + } + + placeLayer(layer) { + if (layer instanceof GeoLayer || layer instanceof MapLayer) { + super.placeLayer(layer) + if (this.map) layer.geographics.forEach(geographics => geographics.adaptTo(this.map)) + } else + console.error('Could not place layer. Only MapLayer and GeoLayers can be child layers of GeoLayers.', layer) + } + + //GeoLayers have to be children of a map layer, + // therefore we can recursively get the map. + get map() { + return this._map ? this._map : this.parent.map + } + + get mapLayer() { + return this._mapLayer ? this._mapLayer : this.parent.mapLayer + } + + clone(mapLayerClone) { + const opts = { + mapLayer: mapLayerClone, + map: mapLayerClone.map + } + let geoLayerClone = new GeoLayer(opts) + + this.layers.forEach(layer => { + let layerClone = layer.clone(opts) + if (layerClone) { + geoLayerClone.placeLayer(layerClone) + } + }) + + this.geographics.forEach(geographics => { + let clone = geographics.clone() + if (clone) { + geoLayerClone.place(clone) + } + }) + + return geoLayerClone + } +} + +/** + * TODO: It may be a good idea to inherit maplayer from geo layer. + */ +export class MapLayer extends PIXILayer { + constructor(active, maps, scatterContainer, opts = {}) { + super( + Object.assign( + { + container: new PIXI.Container() + }, + opts + ) + ) + + this.opts = opts + + this.transformHandler = new EventHandler('onTransform', { + listeners: () => { + this.labelVisibility() + } + }) + + this.scatterContainer = scatterContainer + + if (!maps[active]) console.error('No map was set!') + else opts.map = maps[active] + + this.mapview = new MapView(opts) + this.changeHandler = new EventHandler('onChange', { + listeners: opts.onChange + }) + + //TODO Implement error handling here. + this.maps = maps + this.changeMap(active) + if (opts.map) this.placeMap(opts.map) + this.dynamicElements = new Map() + } + + labelVisibility() { + const visibility = this.childrenVisibility + + if (visibility) { + const zoom = this.mapview.zoom + + const min = visibility.min || 0 + const max = visibility.max || Number.MAX_VALUE + + if (zoom > min && zoom < max) { + this.elements.forEach(it => (it.visible = true)) + + this.elements.forEach(it => { + const scale = 1 / it.parent.scale.x + + // it.children are poi groups + // it.children[0] is the poi group of the tübingen poi + // it.children[0].children are the text containers (not PIXI.Text), about 20 pieces + + if (it.children.length > 0) { + it.children[0].children.forEach(poi => { + if (poi.children.length === 1) { + poi.scale.set(scale, scale) + } + }) + } + }) + } else { + this.elements.forEach(it => (it.visible = false)) + } + } + } + + adapt() { + this.layers.forEach(layer => { + if (layer.adapt) layer.adapt(this.map) + }) + } + + placeLayer(layer) { + super.placeLayer(layer) + if (layer instanceof GeoLayer && this.map) { + layer.adapt(this.map) + } + } + + placeMap(map) { + if (map instanceof GeoMap) { + this.scatterContainer.addChild(map.image) + this.map.onTransform.add(this.transformed.bind(this)) + this.mapview.setMap(this.map) + + this.map.image.addChild(this.container) + + this.adapt() + } else { + console.error("Could not set map, it's not of type GeoMap.", map) + } + } + + placeElement(elem) { + if (elem instanceof PIXI.DisplayObject) { + this.map.image.addChild(elem) + this.elements.push(elem) + } else { + console.error('Element need to be of type PIXI.DisplayObject.', elem) + } + } + + transformed(e) { + this.mapview.transformed(e) + this.transformHandler.call(this) + } + + clone(container = null) { + let clone = {} + for (let name of Object.keys(this.maps)) { + //console.info(this.maps[name]) + clone[name] = this.maps[name].clone(container) + } + + //console.info(this.active) + let mapLayerClone = new MapLayer(this.active, clone, container, { + name: MapLayer.idx++, + viewport: this.mapview.viewport, + focus: this.mapview.focus, + zoom: this.mapview.zoom + }) + //mapLayerClone._map = clone['luftbild'] + mapLayerClone.childrenVisibility = this.childrenVisibility + return mapLayerClone + } + + changeMap( + key, + { + useScatterAsContainer = true // If set to false, the normal container is used. This is necessary when using submaps and the container need to be a RigidContainer. + } = {} + ) { + Logging.log(`Map change: ${key}`) + + if (this.active !== key) { + if (this.maps.hasOwnProperty(key)) { + let old = this.map ? this.map : null + this._map = this.maps[key] + this._map.name = key + this.active = key + + let container = useScatterAsContainer ? this.scatterContainer : this.container + + this.map.load(container) + + // Copies all layers. + this.layers.forEach(layer => { + if (old) this.map.image.addChild(layer.container) + }) + + this.placeMap(this.map) + + /** + * TODO: Improve + * + * I'm quite sure if I made a design mistake here. + * In an earlier version I did not need to migrate the + * layers manually from the map to the next map. + * + * I believe the old version was a container next to the + * map, which got updated on transform. + * + * -SO + */ + if (old) old.unload() + + this.changeHandler.call(this, old) + } else { + let keys = Object.keys(this.maps) + + if (keys.length == 0) console.error('There is no map set for the map layer!') + else { + let fallbackMap = keys[0] + console.error( + `A map with the key (${key}) does not exists within the mapapp. Fallback to map: ${fallbackMap}.` + ) + this.changeMap(fallbackMap, { + useScatterAsContainer + }) + } + } + } + } + + get map() { + return this._map + } + + /** + * This is required for the consistency of georelated layers. + * The request traverses up to the mapLayer where it then returns + * the responsible map layer. + */ + get mapLayer() { + return this + } +} + +MapLayer.idx = 0 diff --git a/lib/pixi/maps/map.js b/lib/pixi/maps/map.js new file mode 100644 index 0000000..90486d3 --- /dev/null +++ b/lib/pixi/maps/map.js @@ -0,0 +1,914 @@ +import { MapObjectScatter } from './scatter.js' +import { DeepZoomImage, DeepZoomInfo } from '../deepzoom/image.js' +import { MapData, DeepZoomMapData } from './mapdata.js' +import { Points } from '../../utils.js' +import { EventHandler } from './utils.js' +import Mercator from './projections/mercator.js' + +/** +* The GeoMap class displays a map, that it gets from MapData object. +* It handles the current location on the map, the zoom factor, interactions and +* the viewport, the area of the map, the user can see and navigate to. +* +* You should not instantiate GeoMap on it's own. Use the implemented child classes +* or derive a new one from it. +* +* Note: The name Map is already in use. Therefore GeoMap was used instead. +* + +* @abstract +* @class +* @see {@link maps.html} +*/ + +export class GeoMap { + /** + * Creates instance of GeoMap + * + * @constructor + * @param {MapData}[mapdata={}] - The mapdata describes how the map has to be interpreted by the Map class. E.g. what are the boundaries of the map? + * @param {object}[opts={}] - With the opts, the created MapObjectScatter can be adjusted. + * @param {boolean}[opts.cover=false] - Enables covering behaviour of a map object. Normally maps should cover the whole app. + */ + constructor( + mapdata = {}, + { + debug = true, + cover = true, + // Scatter Options + alpha = 1, + startScale = 1, + minScale = 0, + maxScale = Infinity, + translatable = true, + scalable = true, + rotatable = false, // Many functionalities are not supported when rotating the map. Mainly the cover mechanism. + viewport = mapdata.maxViewport, + // Events + onLoad = null, + onTransform = null + } = {} + ) { + this._id = GeoMap.counter++ + this.onLoad = new EventHandler('loaded', { listeners: onLoad }) + this.onTransform = new EventHandler('transform', { listeners: onTransform }) + + this.alpha = alpha + this.cover = cover + this.debug = debug + + //TODO discuss if this is required here. + // Those are just scatter options and the information + // is redundant in the map class and the scatter. + this.startScale = startScale + this.minScale = minScale + this.maxScale = maxScale + this.rotatable = rotatable + this.translatable = translatable + this.scalable = scalable + this.viewport = viewport + + this.mapdata = mapdata + this.overlays = {} + + /** + * Adjust the viewport depending on the mapdata clipping. + */ + if (this.mapdata.clip) { + const vp = this.viewport + const cp = this.mapdata.clip + let bounds = { + min: { + x: vp.min.x > cp.min.x ? vp.min.x : cp.min.x, + y: vp.min.y > cp.min.y ? vp.min.y : cp.min.y + }, + max: { + x: vp.max.x < cp.max.x ? vp.max.x : cp.max.x, + y: vp.max.y < cp.max.y ? vp.max.y : cp.max.y + } + } + + this.viewport = bounds + } + } + + flushHandlers() { + // this.onLoaded + this.onTransform.empty() + } + + lock({ rotatable = false, translatable = false, movableX = false, movableY = false, scalable = false } = {}) { + if (this.image && this.image.scatter) { + this.image.scatter.translatable = rotatable + this.image.scatter.movableX = translatable + this.image.scatter.movableY = movableX + this.image.scatter.rotatable = movableY + this.image.scatter.scalable = scalable + } + + // Issue #001: This causes the map to not be displayed at the correct position on + // map change. + // // Rotation does not yet work with the cover mechanism. + // //this.rotatable = false + // this.translatable = false + // this.scalable = false + } + + unlock({ rotatable = true, translatable = true, movableX = true, movableY = true, scalable = true } = {}) { + if (this.image && this.image.scatter) { + this.image.scatter.translatable = translatable + this.image.scatter.movableX = movableX + this.image.scatter.movableY = movableY + this.image.scatter.rotatable = rotatable + this.image.scatter.scalable = scalable + } + // Issue #001 + // // Rotation does not yet work with the cover mechanism. + // //this.rotatable = true + // this.translatable = true + // this.scalable = true + } + + unload() { + this.image.parent.removeChild(this.image) + this.image.scatter = null + } + + /** + * Is called when the scatter object is transformed. + * + * @private + * @param {ScatterEvent}[e] - Contains informations on how the element was transformed. + */ + transformed(e) { + this.onTransform.call(this, e) + } + + /** + * Wrapps the display object around a scatter object. + * + * @private + * @param {DisplayObject} displayObject - Defines the display object that will be wrapped inside the scatter object. + * @param {PIXI.Container} container - Defines the frame in which the map will be displayed. + */ + load(image, renderer, frame = null, scatter = null) { + if (this.debug) console.log('Load image: ', image, frame) + + this.image = image + if (frame) this.setFrame(frame) + + let min = this.mapdata.toPixel(this.viewport.min) + let max = this.mapdata.toPixel(this.viewport.max) + let boundaries = { + min: { x: min.x, y: max.y }, + max: { x: max.x, y: min.y } + } + + let scatterOpts = Object.assign({ + cover: this.cover, + scaleable: this.scaleable, + translatable: this.translatable, + rotatable: this.rotatable, + debug: this.debug, + startScale: this.startScale, + minScale: this.minScale, + maxScale: this.maxScale, + boundaries, + onTransform: this.transformed.bind(this) + }) + + this.scatter = new MapObjectScatter(image, renderer, scatterOpts) + this.image.scatter = scatter == null ? this.scatter : scatter + + this.onLoad.call(this) + } + + /** + * Creates an identical copy of the current map. + */ + clone() { + console.error('Method clone() is abstract. Overload it in subclass', this) + } + + /** + * + * Moves the 'camera' to another location on the map. + * + * @abstract + * @param {object} coordinates - Target coordinates in form {x: latitude, y: longitude} + * @param {number} scale - Target scale. + */ + moveTo(coordinates, zoom = null, { animate = false } = {}) { + console.error(this, 'The method moveTo(coordinates, zoom, opts) has not been defined in child class.') + } + + zoomTo(zoomFactor) { + console.error('Method zoomTo() is abstract. Overload it in subclass', this, zoomFactor) + } + + /** + * Reloads the textures of the image, when it was unloaded and is required again. + * + * @memberof GeoMap + */ + reloadImage() { + console.error(`Call of abstract method reloadImage(). Overwrite in subclass.`, this) + } + + /** + * Unloads the textures of the image, when not in use. + * + * @memberof GeoMap + */ + unloadImage() { + console.error(`Call of abstract method unloadImage(). Overwrite in subclass.`, this) + } + + /** + * Transforms a point at pixel position {x,y} + * to a coordinate with latitude and longitude. + * + * + * @param {object} point - Point in form of {x: x_val, y: y_val}. + * @returns {object} - Coordinates on the map in form of {x: latitude, y: longitude}. + */ + coordinatesFromPoint(point) { + let coords = this.mapdata.toCoordinates(this.toRelativePosition(point)) + return coords + } + + /** + * Transform coordinates in the map into pixel positions on the deep zoom image. + * + * @param {object} coords - Coordinates of a map position in form {x: latitude, y: longitude}. + * @return - Returns a image position in form of {x: x_val, y: y_val}. + */ + coordinatesToPoint(coordinates) { + return this.toAbsolutePixelCoordinates(this.mapdata.toPixel(coordinates)) + } + + toRelativePosition(point) { + let _point = new PIXI.Point() + + _point.x = point.x / this.width + _point.y = point.y / this.height + + return _point + } + + toAbsolutePixelCoordinates(point) { + let _point = new PIXI.Point() + _point.x = point.x * this.width + _point.y = point.y * this.height + + return _point + } + + // /** + // * Appends the object to a PIXI container. This is important, + // * to notify the map, that it's parent has changed. + // * + // * If you want to use PIXI's addChild, make sure you call + // * appended right afterwards. + // * + // * @param {PIXI.Container} container + // * @returns Returns the map object to allow chaining. + // */ + // appendTo(container) { + // container.addChild(this.image) + // return this.appended(container) + // } + + get width() { + return this.image.scatter.width / this.image.scatter.scale + } + + get height() { + return this.image.scatter.height / this.image.scatter.scale + } + + get distance() { + console.error('Overload get distance in subclass.') + } + + /** + * Returns a screen point for a coordinate. + */ + positionInWindow(coordinates) { + let pos = this.coordinatesToPoint(coordinates) + + let framePos = { + x: this.image.position.x + pos.x * this.image.scale.x, + y: this.image.position.y + pos.y * this.image.scale.y + } + + return framePos + } + + /** + * Returns the coordinates for a screen point. + */ + coordinatesInWindow(point) { + let mapPos = { + x: (point.x - this.image.position.x) / this.image.scale.x, + y: (point.y - this.image.position.y) / this.image.scale.y + } + + let coords = this.coordinatesFromPoint(mapPos) + return coords + } + + setFrame(frame) { + if (this.debug) console.log('Set Frame: ', frame) + this.frame = frame + } + + /** + * Frame is the display in which the map is shown. + * Normally it's the app, but it can be another element, + * for example when in a submap. + */ + getFrame() { + let frame = { + x: 0, + y: 0, + width: 0, + height: 0 + } + + if (this.frame) { + //The app does not have an x and y attribute. + //Therefore we need the additional check. + frame = { + x: this.frame.x ? this.frame.x : 0, + y: this.frame.y ? this.frame.y : 0, + width: this.frame.width, + height: this.frame.height + } + } else if (this.image.parent) { + let parent = this.image.parent + + for (let key of Object.keys(frame)) { + frame[key] = parent[key] + } + } + + frame.localCenter = { + x: frame.width / 2, + y: frame.height / 2 + } + + console.log(frame) + frame.center = { + x: frame.x + frame.localCenter.x, + y: frame.y + frame.localCenter.y + } + + return frame + } + + /** + * Retrieves all maps from a json object. + * + * @static + * @param {object} json - The parsed map data object. + * @returns {object} - Returns an object with the names as keys and the GeoMaps as value. + * @memberof GeoMap + */ + static allFromJson(json) { + let error = { message: '' } + let maps = {} + if (GeoMap._validateJson(json, error)) { + for (let [mapname, data] of Object.entries(json)) { + maps[mapname] = GeoMap._createMap(data) + } + } else console.error('Could not validate JSON: ' + error.message) + + return maps + } + + /** + *Extracts a single map from a JSON map file. + * + * @static + * @param {string} map - Name of the map. + * @param {object} json - Parsed json object. + * @returns {GeoMap} - Returns a geomap, if the map was in the data and valid. Otherwise false. + * @memberof GeoMap + */ + static mapFromJson(map, json) { + if (json[map]) { + const data = json[map] + if (this._validJsonMap(data)) return GeoMap._createMap(data) + else console.error('Map was not in a valid format.') + } else console.error('Map was not in data.') + + return null + } + + /** + * + */ + + /** + * Validates if the map data contains valid data + * for creating the maps. + * + * @static + * @param {object} json - The object containing multiple map data sets. + * @param {error-object} error - An object that contains an parameter message: {message = ""}. This is faking a call by reference. + * @returns {boolean} - True if all sets were valid. False otherwise. + * @memberof GeoMap + */ + static _validateJson(json, error) { + let isValid = true + + if (Object.keys(json).length == 0) { + isValid = false + error.message += 'The provided JSON object did not contain any items.' + } + for (let [name, data] of Object.entries(json)) { + if (!GeoMap._validJsonMap(data)) { + error.message += `${name} was not valid. ` + isValid = false + } + } + + if (error.message != '') error.message = 'Maps could not be validated: ' + error.message + + return isValid + } + + static changePathsInJson(json, path) { + for (let key of Object.keys(json)) { + json[key].icon = path + json[key].icon + json[key].tiles.path = path + json[key].tiles.path + } + } + + /** + *Validates of a single data set contains the valid data for creating a map. + * + * @static + * @param {object} json - The object containing a single set of map data. + * @returns {boolean} - True if valid, otherwise false. + * @memberof GeoMap + */ + static _validJsonMap(json) { + let isJsonValid = true + const required = ['projection', 'type', 'icon'] + for (const requirement of Object.values(required)) { + if (!json.hasOwnProperty(requirement)) { + isJsonValid = false + break + } + } + + if (isJsonValid && json.type.toLowerCase() == 'deepzoom') { + if (!json.hasOwnProperty('tiles')) isJsonValid = false + } + + return isJsonValid + } + + static _createMap(data) { + switch (data.type.toLowerCase()) { + case 'deepzoom': + return GeoMap._createDeepZoomMap(data) + default: + console.error(`Datatype is invalid or not implemented yet: ${data.type}`) + } + } + + static _createDeepZoomMap(data) { + const projection = GeoMap._getProjectionByName(data.projection) + const tilesConfig = data.tiles + const options = data.options + + const mapdata = new DeepZoomMapData(projection, tilesConfig) + return new DeepZoomMap(mapdata, tilesConfig, options) + } + + static _getProjectionByName(projection) { + switch (projection.toLowerCase()) { + case 'mercator': + return new Mercator() + default: + console.error(`Projection is invalid or not implemented yet ${projection}.`) + return null + } + } +} + +GeoMap.counter = 0 + +/** + * The DeepZoomMap class extends the GeoMap to create + * maps as deepzoom images from maptiles. + * + * @extends GeoMap + * @class + * @see {@link maps.html} + */ + +export class DeepZoomMap extends GeoMap { + /** + * @constructor + * @param {object} tilesConfig - The tiles config object, that defines at what path and in which format the tiles are. + * @param {MapData} mapdata - A MapData object, that contains informations of how the given map has to be interpreted. + * @param {object} opts - Additional options to specify the behaviour of the deep zoom image. + */ + constructor(mapdata, tilesConfig, opts = {}) { + if (!tilesConfig.app) console.error('App was not set in the tilesConfig.') + opts = Object.assign( + { + maxScale: Math.min(tilesConfig.width, tilesConfig.height) / tilesConfig.tileSize, + minScale: mapdata.getMinScale, + highResolution: true, + debug: false + }, + opts + ) + super(mapdata, opts) + + this.tilesConfig = tilesConfig + this._verifyMapdata() + } + + _verifyMapdata() { + if (!(this.mapdata instanceof MapData)) { + console.error('Use the MapData object for creating maps!') + } else { + if (this.mapdata instanceof DeepZoomMapData) { + if (!this.mapdata.app) console.error('No app was set on the mapdata!') + } else { + console.error('Use the DeepZoomMapData object.') + } + } + } + + /** + * Creates the DeepZoomImage. + * + * @private + */ + load(container = null, scatter = null) { + this.info = new DeepZoomInfo(this.tilesConfig) + console.log('APP:', this.mapdata.app) + let image = new DeepZoomImage(this.info, { + app: this.mapdata.app, + alpha: this.alpha, + debug: this.debug, + world: scatter == null ? scatter : scatter.getWorldScatter() + }) + + super.load(image, container, scatter) + + if (this.debug) console.log('Loaded image: ', image, 'With options: ', this.info) + } + + unloadImage() { + if (this.image) { + this.image.deactivate() + } + } + + reloadImage() { + this.image.activate() + } + + /** + * Event function that is invoked by the deep zoom image, when it has been transformed. + * + * @private + * @param {ScatterEvent} e + */ + transformed(e) { + this.image.transformed(e) + super.transformed(e) + } + + /** + * Jumps to a certain point on the map and adjusts the size of the + * map depending on the distance (zoom). + * + * + * @param {*} coordinates + * @param {*} [zoom=null] + * @param {*} [{ animate = 0 }={}] + * @memberof DeepZoomMap + */ + moveTo(coordinates, zoom = null, { animate = 0 } = {}) { + if (this.image.scatter == null) { + return + } + //TODO: This is jaggy on submaps. Make it more smooth. Severin Opel 08-05-2018 + if (zoom) { + /** + * Zoom's the view to a specified distance in DZI-Levels. + * The input level is clipped to allowed levels. + * */ + let targetScale = this.scaleForFloatingLevel(zoom) + + // Don't scale beyond boundaries. + if (this.maxScale) targetScale = Math.min(this.maxScale, targetScale) + + if (this.minScale) targetScale = Math.max(targetScale, this.minScale) + + this.image.scatter.requestScale(targetScale) + } + + if (coordinates) { + //Get pixel position of lat lang values + let point = this.coordinatesToPoint(coordinates) + + let containerCenter + if (this.frame) { + containerCenter = this.getFrame().localCenter + //console.log("HAS FRAME: ", containerCenter) + } else { + containerCenter = { + x: this.image.parent.width / 2, + y: this.image.parent.height / 2 + } + + //console.log("GET CONTAINER CENTER") + } + + //Calculate the delta depending on image position and center the + // desired position in the frame. + let delta = { + x: containerCenter.x - point.x * this.image.scatter.scale - this.scatter.position.x, + y: containerCenter.y - point.y * this.image.scatter.scale - this.scatter.position.y + } + // console.log("MOVE TO: " , this.image.scatter.translatable,point, delta) + + if (animate > 0) { + let last = 0 + TweenMax.to({ x: 0, y: 0 }, animate, { + ease: Power0.easeNone, + x: delta.x, + y: delta.y, + onUpdateParams: ['{self}'], + onUpdate: tween => { + let step = tween.ratio - last + last = tween.ratio + this.image.scatter.transform(Points.multiplyScalar(delta, step), /*ratio*/ 1, 0, { x: 0, y: 0 }) + } + }) + } else { + this.image.scatter.transform(delta, /*ratio*/ 1, 0, { x: 0, y: 0 }) + } + } + // return this.image.scatter.position + } + + scaleForFloatingLevel(level) { + level = Math.max(0, level - this.image.info.baseLevel) + return Math.pow(2, level) / this.image.resolution + } + + floatingLevelForScale(scale) { + let level = Math.log2(scale * this.image.resolution) + let newLevel = this.image.info.baseLevel + Math.max(level, 0) + return Math.min(newLevel, this.image.info.maxLoadableLevel) + } + + get distance() { + return this.floatingLevelForScale(this.scatter.scale) + } + + clone(container, scatter = null) { + const map = new DeepZoomMap(this.mapdata, this.tilesConfig, { + alpha: this.alpha, + cover: this.cover, + debug: this.debug, + startScale: this.startScale, + minScale: this.minScale, + maxScale: this.maxScale, + rotatable: this.rotatable, + translatable: this.translatable, + scalable: this.scalable, + viewport: this.viewport + }) + + //TODO: If frame is not set, the map does not work anymore. + + //map.load(container, scatter) + + // this.image.parent.children.forEach(child=>{ + // if(child instanceof PIXI.DisplayObject){ + + // if(child instanceof PIXI.Graphics){ + // // let clone = child.clone() + // // const position = child.position + // // clone.position.set(position.x, position.y) + // // map.addChild(clone) + // // console.log(map.mapLayer) + + // }else console.log("DisplayObject is not yet implemented for cloning.", child) + + // }else console.error("Not implemented object to clone: ", child) + // }) + + return map + } + + tint() { + let color = DeepZoomMap.tintcolors[DeepZoomMap.tintcolor++ % DeepZoomMap.tintcolors.length] + this.image.children[0].children.forEach(tiles => { + tiles.children.forEach(tile => { + tile.tint = color + }) + }) + } + + // /** Returns the tile layer level that corresponds to the given scale. + // * @param {number} scale - the scale factor + // **/ + // levelForScale(scale) { + // let level = Math.round(Math.log2(scale * this.resolution)) // Math.floor(Math.log2(event.scale))+1 + // let newLevel = this.info.baseLevel + Math.max(level, 0) + // return Math.min(newLevel, this.info.maxLoadableLevel) + // } + + // /** + // * Returns the scale factor that correspond to a given level. + // * @param {number} level - the requested level + // * @returns {number} - Returns the scale level for the given level. + // */ + // scaleForLevel(level){ + // level = Math.max(0, level - this.info.baseLevel) + // return Math.pow(2, level) / this.resolution + // } +} + +DeepZoomMap.tintcolors = [0xff0000, 0xff00ff, 0xffff00, 0x00ff00, 0x00ffff, 0x0000ff] +DeepZoomMap.tintcolor = 0 + +/** + * + * ImageMap extends GeoMap to display simple images + * as maps. + */ + +export class ImageMap extends GeoMap { + constructor(sprite, mapdata, opts = {}) { + super(mapdata, opts) + + this.sprite = sprite + + this.baseZoomHeight = opts.baseZoomHeight ? opts.baseZoomHeight : this.sprite.texture.height + } + + load(container = null, scatter = null) { + super.load(this.sprite, container, scatter) + this.image.alpha = this.alpha + this.image.interactive = true + } + + clone(container = null, scatter = null) { + const map = new ImageMap(new PIXI.Sprite(this.sprite.texture), this.mapdata, { + alpha: this.alpha, + cover: this.cover, + debug: this.debug, + startScale: this.startScale, + minScale: this.minScale, + maxScale: this.maxScale, + rotatable: this.rotatable, + translatable: this.translatable, + scalable: this.scalable, + viewport: this.viewport + }) + map.load(container, scatter) + + console.log(map.image) + return map + } + + // transformed(e) { + // for (let key in this.overlays) { + // this.overlays[key].forEach((overlay) => { + // overlay.sprite.scale.x = overlay.scale / e.scale + // overlay.sprite.scale.y = overlay.scale / e.scale + // }) + // } + // } + + /** + * + * + * @param {*} coordinates + * @param {*} [zoom=null] + * @param {*} [{ animate = 0 }={}] + * @memberof ImageMap + */ + moveTo(coordinates, zoom = null, { animate = 0 } = {}) { + // console.log('Coordinates: ', coordinates) + + // if (zoom) { + // this.image.scatter.requestScale(zoom) + // } + + // if (coordinates) { + // //Get pixel position of lat lang values + // let offset = Points.multiplyScalar(this.coordinatesToPoint(coordinates), this.scatter.scale) + + // let frame = this.getFrame() + // console.log(frame) + + // //Calculate the delta depending on image position and center the + // // desired position in the frame. + // let delta = { + // x: frame.center.x - offset.x - this.scatter.position.x, + // y: frame.center.y - offset.y - this.scatter.position.y + // } + + // console.log('Move to: ', offset, frame, delta) + + // if (this.image) { + // if (animate > 0) { + // console.log(animate) + // //TODO Replace this with a more robus manipulation method (RequestMovement + animation) + // this.image.scatter.move(delta, { animate }) + // //Requesting the transform dhoul be okay. Maybe also replace with an request mehtod. + // } else this.image.scatter.transform(delta, /*ratio*/ 1, 0, { x: 0, y: 0 }) + // } else console.error('Imge was not loaded yet.') + // } + + if (this.image.scatter == null) { + return + } + //TODO: This is jaggy on submaps. Make it more smooth. Severin Opel 08-05-2018 + if (zoom) { + /** + * Zoom's the view to a specified distance in DZI-Levels. + * The input level is clipped to allowed levels. + * */ + + let targetScale = zoom * this.zoomFactor + + // Don't scale beyond boundaries. + if (this.maxScale) targetScale = Math.min(this.maxScale, targetScale) + + if (this.minScale) targetScale = Math.max(targetScale, this.minScale) + + this.image.scatter.requestScale(targetScale) + } + + //coordinates = null + if (coordinates) { + //Get pixel position of lat lang values + let point = this.coordinatesToPoint(coordinates) + + let containerCenter + if (this.frame) { + containerCenter = this.getFrame().localCenter + //console.log("HAS FRAME: ", containerCenter) + } else { + containerCenter = { + x: this.image.parent.width / 2, + y: this.image.parent.height / 2 + } + + //console.log("GET CONTAINER CENTER") + } + + //Calculate the delta depending on image position and center the + // desired position in the frame. + + let delta = { + x: containerCenter.x - point.x * this.image.scatter.scale - this.scatter.position.x, + y: containerCenter.y - point.y * this.image.scatter.scale - this.scatter.position.y + } + // console.log("MOVE TO: " , this.image.scatter.translatable,point, delta) + + if (animate > 0) { + let last = 0 + TweenMax.to({ x: 0, y: 0 }, animate, { + ease: Power0.easeNone, + x: delta.x, + y: delta.y, + onUpdateParams: ['{self}'], + onUpdate: tween => { + let step = tween.ratio - last + last = tween.ratio + this.image.scatter.transform(Points.multiplyScalar(delta, step), /*ratio*/ 1, 0, { x: 0, y: 0 }) + } + }) + } else { + this.image.scatter.transform(delta, /*ratio*/ 1, 0, { x: 0, y: 0 }) + } + } + } + + get zoom() { + return this.scatter.scale / this.zoomFactor + } + + get zoomFactor() { + let factor = this.baseZoomHeight / this.sprite.texture.height + console.log(factor) + return factor + } +} diff --git a/lib/pixi/maps/mapapp.html b/lib/pixi/maps/mapapp.html new file mode 100644 index 0000000..7754845 --- /dev/null +++ b/lib/pixi/maps/mapapp.html @@ -0,0 +1,105 @@ + + + + + + MapApp + + + + + + + + + + + + + +

    MapApp

    +

    + This class extends the PIXIApp to simplify the process of rendering + Maps in the canvas. For that reason, it contains useful functions + for an easier handling of maps in the canvas. +

    + +
    +

    WHAT TO SEE: The map should focus Paris.

    + + + + \ No newline at end of file diff --git a/lib/pixi/maps/mapapp.js b/lib/pixi/maps/mapapp.js new file mode 100644 index 0000000..6102923 --- /dev/null +++ b/lib/pixi/maps/mapapp.js @@ -0,0 +1,548 @@ +import PIXIApp from '../app.js' +import { CoordinateDisplay } from '../../../../js/display.js' +import { DOMLayer, PIXILayer } from '../../../../src/layers/js/layer.js' +import { MapLayer } from './geolayer.js' +import { RigidScatterContainer } from './scatter.js' +import { EventHandler } from './utils.js' +import { Points } from '../../utils.js' +import Logging from '../../logging.js' + +/** + * MapApp is responsible for showing fullscreen + * map applications. + * + */ +export default class MapApp extends PIXIApp { + constructor(opts = {}) { + super(opts) + + // Default values. + opts = Object.assign( + { + debug: false, + maps: {}, //required + view: null, + startmap: null, + coordsLogging: false, + overlays: {}, + keycodes: {}, + showHotkeys: false, + imageMapZoomHeight: 256, //Defines the zoomvalue 1 for all image maps inside the mapapp. + focus: null, + zoom: 1, + onMapChanged: null, + onSizeChanged: null, + onTransform: null + }, + opts, + { + alpha: 0.5 + } + ) + + this.submaps = [] + this.overlayElements = new Map() + this.debug = opts.debug + this.fpsLogging = opts.fpsLogging + this.showHotkeys = opts.showHotkeys + this.keycodes = this._extractKeyCodes(opts.keycodes) + this.coordsLogging = opts.coordsLogging + this.startmap = opts.startmap + this.overlays = opts.overlays + this.maps = opts.maps + this.focus = opts.focus + this.zoom = opts.zoom + + this.onMapChanged = new EventHandler('mapChanged', { + listeners: opts.onMapChanged + }) + this.onSizeChanged = new EventHandler('sizeChanged', { + listeners: opts.onSizeChanged + }) + this.onTransform = new EventHandler('transformed', { + listeners: opts.onTransform + }) + + /** + * When in debug mode, this allows the user to copy the center coordinates to the clipboard. + */ + if (this.debug) { + this.DRAW_MODES = { + PIXI_POINT: 0, + PATH_MODE: 1, + POLYGON_MODE: 2, + + getName: function(num) { + let result = null + for (const [key, val] of Object.entries(this)) { + if (val == num) result = key + } + return result + } + } + this.drawMode = this.DRAW_MODES.PIXI_POINT + this.drawData = [] + } + this._setupKeyboardUtils() + + Logging.log('Application start') + } + + setup() { + super.setup() + + // TODO get access to fps display + let fpsDisplay + this.stage.children.forEach(element => { + if (element.refreshFps) fpsDisplay = element + }) + + this.pixiLayer = new PIXILayer({ + name: 'Pixi Root', + container: this.scene + }) + + this.domLayer = new DOMLayer({ + name: 'DOM Root', + container: document.body + }) + + if (!this.startmap) { + let firstMap = Object.keys(this.maps)[0] + if (firstMap != null) this.startmap = firstMap + else { + console.error('No map was set. Set a map first, before running the setup command!') + return + } + } + + //console.log('startup', this.startmap, this.maps) + + this.mapLayer = new MapLayer(this.startmap, this.maps, this.scene, { + name: 'Map Layer', + focus: this.focus, + zoom: this.zoom + }) + + this.mapLayer.changeHandler.add(this._mapChanged.bind(this)) + this.pixiLayer.place(this.mapLayer) + this._mapChanged(null) + + this.pixiUiLayer = new PIXILayer({ name: 'Pixi UI' }) + this.pixiLayer.placeLayer(this.pixiUiLayer) + + this.domUiLayer = new DOMLayer({ name: 'DOM UI' }) + this.domLayer.placeLayer(this.domUiLayer) + + if (this.fpsLogging && fpsDisplay) this.pixiUiLayer.place(fpsDisplay) + + if (this.coordsLogging) { + this.coordsDisplay = new CoordinateDisplay(this) + this.pixiUiLayer.place(this.coordsDisplay) + } + + this.__dragging = false + this.__events = new Map() + + const scene = this.scene + scene.interactive = true + scene.on('pointercancel', this.__onEnd.bind(this)) + scene.on('pointerdown', this.__onStart.bind(this)) + scene.on('pointermove', this.__onMove.bind(this)) + scene.on('pointerout', this.__onEnd.bind(this)) + scene.on('pointerup', this.__onEnd.bind(this)) + scene.on('pointerupoutside', this.__onEnd.bind(this)) + + return this + } + + layout(width, height) { + this.scene.resize(width, height) + this.mapLayer.mapview.update() + this.onSizeChanged.call(this) + } + + sceneFactory() { + return new RigidScatterContainer(this.width, this.height, this.renderer, { + app: this, + showBounds: true, + showTouches: true, + showPolygon: true, + container: this + }) + } + + addMaps(maps) { + for (let key in maps) { + this.addMap(key, maps[key]) + } + } + + selectMap(key) { + if (this.maps[key]) { + if (this.mapLayer) this.mapLayer.changeMap(key) + } else { + console.error(`Selected map ("${key}") was not (yet) added to the mapapp.`) + } + } + + setMap(key, map) { + this.addMap(key, map) + this.selectMap(key) + } + + addMap(key, map) { + this.maps[key] = map + } + + transformed(event) { + this.onTransform.call(this, event) + } + + _mapChanged(lastMap) { + if (lastMap) { + lastMap.flushHandlers() + } + + /** + * TODO: A problem is that the map layer has no container + * on its own and it lives in the ScatterContainer. + * Here we guarantee, that the layer order is as it + * is defined in the layers. + */ + this.pixiLayer.layers.forEach(layer => { + if (layer !== this.mapLayer) { + layer.parent.container.removeChild(layer.container) + layer.parent.container.addChild(layer.container) + } + }) + + this.map.onTransform.add(this.transformed.bind(this)) + this.transformed() + this.onMapChanged.call(this, this.map) + } + + _doesOverlayElementExist(layer, type, name) { + let layerElements = this.overlayElements.get(layer) + return layerElements != undefined && layerElements[type] != null && layerElements[type][name] != null + } + + _getOverlayElement(layer, type, name) { + let layerElements = this.overlayElements.get(layer) + return layerElements[type][name] + } + + _setOverlayElement(layer, type, name, value) { + let obj = this.overlayElements.get(layer) + if (obj == undefined) obj = {} + + if (obj[type] == null) obj[type] = {} + + obj[type][name] = value + + this.overlayElements.set(layer, obj) + } + + place(layer) { + if (layer instanceof PIXILayer) { + this.pixiLayer.place(layer) + } else if (layer instanceof DOMLayer) { + this.domLayer.place(layer) + } else { + console.error('Could not add layer to ', this, layer) + } + } + + addMapOverlay(layer) { + this.mapLayer.place(layer) + } + + /** + * Copies the current coordinates to the clipboard. + */ + locationToClipboard() { + let hidden = document.createElement('input') + document.body.appendChild(hidden) + hidden.value = '"location":' + JSON.stringify(app.mapLayer.mapview.focus) + hidden.readOnly = true + hidden.select() + document.execCommand('Copy') + this.showNotification('Copied location to clipboard.') + document.body.removeChild(hidden) + } + + pathToClipboard() { + let hidden = document.createElement('input') + document.body.appendChild(hidden) + + this.drawData.push(this.mapLayer.mapview.focus) + + if (this.drawMode == this.DRAW_MODES.POLYGON_MODE) { + let data = { + type: 'Polygon', + coordinates: [this.drawData] + } + + hidden.value = '"geometry":' + JSON.stringify(data) + } else { + // PATH_MODE is default. + hidden.value = JSON.stringify(this.drawData) + } + hidden.select() + document.execCommand('Copy') + this.showNotification('Location appended in clipboard.') + document.body.removeChild(hidden) + } + + get map() { + return this.mapLayer.map + } + + get activeMapKey() { + return this.mapLayer.active + } + + getRelativePosition(x, y) { + return { + x: x * app.width, + y: y * app.height + } + } + + clearDrawData() { + this.drawData = [] + } + + showNotification(msg) { + let notification = document.createElement('div') + notification.classList.add('notification') + + let text = document.createElement('p') + text.innerHTML = msg + notification.appendChild(text) + + /** + * TODO: move styling (except opacity) to css. + */ + Object.assign(notification.style, { + opacity: 0, + top: 0, + left: 0, + position: 'fixed', + display: 'flex', + width: '100%', + height: '100%', + justifyContent: 'center', + alignItems: 'center', + pointerEvents: 'none' + }) + + document.body.appendChild(notification) + + let popAnimation = new TimelineLite({ + onComplete: () => { + notification.parentNode.removeChild(notification) + } + }) + let animationSpeed = 0.5 + + popAnimation + .to(notification, animationSpeed, { + opacity: 1 + }) + .to(notification, animationSpeed, { + opacity: 0 + }) + } + + _currentLocationToString() {} + + _matchKeyCode(event, keyCode) { + // If keycode does not exist or is invalid - return. + if (!keyCode || keyCode.key == null) return false + + let code = keyCode.key + if (event.shiftKey) code -= 32 + const key = event.which == code || event.keyCode == code || event.charCode == code + + const ctrl = keyCode.ctrlKey == event.ctrlKey + const shift = keyCode.shiftKey == event.shiftKey + const alt = keyCode.altKey == event.altKey + + return key && ctrl && shift && alt + } + + _setupKeyboardUtils() { + document.body.addEventListener('keypress', event => { + this._checkForKeyCode(event) + }) + } + + _checkForKeyCode(event) { + if (this._matchKeyCode(event, this.keycodes.copyCoordinate)) { + event.preventDefault() + + switch (this.drawMode) { + case this.DRAW_MODES.PIXI_POINT: + this.locationToClipboard() + break + case this.DRAW_MODES.PATH_MODE: + case this.DRAW_MODES.POLYGON_MODE: + this.pathToClipboard() + break + default: + console.error( + `Draw mode is not implemented yet: ${this.DRAW_MODES.getName(this.drawMode)}(${this.drawMode}).` + ) + } + } + + if (this._matchKeyCode(event, this.keycodes.togglePathMode)) { + if (this.drawMode == this.DRAW_MODES.PATH_MODE) { + this.showNotification('Path Mode disabled.') + this._resetDrawMode() + } else { + this.drawMode = this.DRAW_MODES.PATH_MODE + this.showNotification('Path Mode enabled.') + this.clearDrawData() + } + } + + //When SHIFT+P is pressed POLYGON-MODE is toggled: + if (this._matchKeyCode(event, this.keycodes.togglePolygonMode)) { + if (this.drawMode == this.DRAW_MODES.POLYGON_MODE) { + this.showNotification('Polygon Mode disabled.') + this._resetDrawMode() + } else { + this.drawMode = this.DRAW_MODES.POLYGON_MODE + this.showNotification('Polygon Mode enabled.') + this.clearDrawData() + } + } + + // When SHIFT+X is pressed toggle crosshair + if (this.keycodes.toggleUi && this._matchKeyCode(event, this.keycodes.toggleUi)) { + if (this.pixiUiLayer.visible) { + this.pixiUiLayer.hide() + this.domUiLayer.hide() + } else { + this.pixiUiLayer.show() + this.domUiLayer.show() + } + } + } + + _resetDrawMode() { + this.drawMode = this.DRAW_MODES.PIXI_POINT + } + + _extractKeyCodes(keycodeText) { + let out = {} + + for (let [name, combinationString] of Object.entries(keycodeText)) { + let keys = combinationString.split('+') + out[name] = { + key: null, + ctrlKey: false, + shiftKey: false, + altKey: false + } + let errors = [] + + const special = ['shift', 'ctrl', 'alt'] + keys.forEach(key => { + if (key.length == 1) { + if (out[name].key) { + const error = 'Tried to set multiple keys as keycode. This is currently not supported.' + errors.push(error) + } else out[name].key = key.charCodeAt(0) + } else { + key = key.toLowerCase() + if (special.indexOf(key) != -1) { + out[name][key + 'Key'] = true + } else { + const error = 'Wrong / non-implemented special character OR typo in key: ' + key + errors.push(error) + } + } + }) + + // Disable hotkey if an error occured. + if (errors.length > 0) + out[name] = { + key: null, + ctrlKey: false, + shiftKey: false, + altKey: false + } + } + + return out + } + + __onStart(event) { + this.__dragging = true + + let hittedSubmap = null + let center = null + for (const submap of this.submaps) { + const radius = submap.container.width / 2 + const distance = Points.distance(submap.center, event.data.global) + if (distance < radius) { + hittedSubmap = submap + center = submap.center + } + } + + this.__events.set(event.data.identifier, { + event, + submap: hittedSubmap, + center + }) + } + + __onMove(event) { + if (this.__dragging) { + const myevent = this.__events.get(event.data.identifier) + + if (myevent && myevent.submap) { + const submap = myevent.submap + const center = submap.center + const radius = submap.container.width / 2 + const distance = Points.distance(center, event.data.global) / submap.scatter.scale + if (distance > radius) { + //submap.resize((distance) * 2, .2) + //submap.centerAt(myevent.center) + } + } + + // for (const submap of this.submaps) { + // const center = submap.center + // const radius = submap.container.width / 2 + // const distance = Points.distance(center, event.data.global) / submap.scatter.scale + // const inside = distance < radius + 10 + + // console.log(distance, radius) + + // if (inside) { + // // (this.width + 80) / 2 * this.scatter.scale + // //const width = (submap.width + 80) / 2 * submap.scatter.scale + // //console.log(width) + + // if (distance > radius) { + // submap.resize((distance) * 2, .2) + // } + // } else { + // if (distance < radius + 20) { + // //submap.resize((distance - 30) * 2, .2) + // } + // } + // } + } + } + + __onEnd(event) { + this.__dragging = false + this.__events.delete(event.data.identifier) + } +} diff --git a/lib/pixi/maps/mapdata.html b/lib/pixi/maps/mapdata.html new file mode 100644 index 0000000..8d26a08 --- /dev/null +++ b/lib/pixi/maps/mapdata.html @@ -0,0 +1,201 @@ + + + + + + MapData + + + + + + + + + + + + + +

    MapData

    +

    Mapdata calculates is responsible for transforming map coordinates to pixel coordinates and backwards.

    + +

    Static Squared World Map

    +

    The most simple example is a squared world map, thats projected with mercator transformation. Ranging from + Longitude + -180 to 180 and Latitude from -90 to 90 (Exclusive, because mercator gets infinite at +/-90).

    +

    Coordinates: + +

    +
    + Image is missing. +
    + + + +

    Clipped Map

    +

    Often we don't use the whole map, or our map is a subsection of the world. MapData can clip those cases, using + the a + bounding box of min and max coordinates.

    +

    Coordinates: + +

    +
    + Image is missing. +
    + + +

    Clipped And Translated Map

    +

    Maps can be also translated, if the whole world is shown and clipping is not an option.

    +

    Coordinates: + +

    +
    +
    + + + + + + \ No newline at end of file diff --git a/lib/pixi/maps/mapdata.js b/lib/pixi/maps/mapdata.js new file mode 100644 index 0000000..19974f1 --- /dev/null +++ b/lib/pixi/maps/mapdata.js @@ -0,0 +1,155 @@ +/** + * MapData contains the informations about how + * a Map has to be interpreted. What are the bounds of the + * map and how to translate coordinates into + * image positions. + * + * @class + * @see {@link mapdata.html} + */ +export class MapData { + /** + * Creates instance of MapData + * + * @constructor + * @param {Projection}[projection] - Specifies the projection of the map (e.g. Mercator Projection). + * @param {object}[opts] - Addiditonal options. + * @param {[[minLat, minLng],[maxLat, maxLng]]}[opts.bounds] - Describes the minimum and maximum coordinates on the map + * @param {Point}[opts.translate] - Defines a translation, when clipping is not an option (e.g. when the whole world is shown, but translated.) + */ + constructor(projection, opts = {}) { + this.opts = Object.assign( + { + translate: { x: 0, y: 0 } + }, + opts + ) + + this.projection = projection + + if (this.clip) { + let _cmin = this.projection.forward(this.opts.clip.min) + let _cmax = this.projection.forward(this.opts.clip.max) + + // Swaps the y values, Mercator has it's origin bottom right, + // browser coordinates start top right. + let cmin = { x: _cmin.x, y: _cmax.y } + let cmax = { x: _cmax.x, y: _cmin.y } + + this.clipExt = { + coords: { + min: this.opts.clip.min, + max: this.opts.clip.max + }, + point: { + min: cmin, + max: cmax + } + } + } + } + + toCoordinates(point) { + if (this.clip) { + let min = this.clipExt.point.min + let max = this.clipExt.point.max + + let width = max.x - min.x + let height = max.y - min.y + + point.x *= width + point.y *= height + + point.x += min.x + point.y += min.y + } + + let coordinates = this.projection.backward(point) + + if (this.opts.translate) { + coordinates.x -= this.opts.translate.x + coordinates.y -= this.opts.translate.y + } + + return coordinates + } + + toPixel(coordinates) { + let coords = { x: coordinates.x, y: coordinates.y } + if (this.opts.translate) { + coords.x += this.opts.translate.x + coords.y += this.opts.translate.y + } + + let point = this.projection.forward(coords) + + if (this.opts.clip) { + let min = this.clipExt.point.min + let max = this.clipExt.point.max + + let clippedPoint = { + x: point.x - min.x, + y: point.y - min.y + } + + let width = max.x - min.x + let height = max.y - min.y + + point.x = clippedPoint.x / width + point.y = clippedPoint.y / height + } + + return point + } + + get clip() { + return this.opts.clip + } + + /** + * Bounds to pixel transforms some bounds in form of {min:{x:minLat, y:minLng},max:{x:maxLat, y:maxLng}} + * to pixel coordinates. + * + * @param {*} bounds + */ + boundsToPixel(bounds) { + let min = this.toPixel(bounds.min) + let max = this.toPixel(bounds.max) + + // Y values needs to be swapped, as PIXI has it's origin + // in the top-left corner and a regular map in the bottom-left corner. + let boundaries = { + min: { x: min.x, y: max.y }, + max: { x: max.x, y: min.y } + } + + return boundaries + } + + get maxViewport() { + return this.opts.clip ? this.opts.clip : this.projection.maxViewport + } +} + +export class DeepZoomMapData extends MapData { + constructor(projection, tilesConfig, opts = {}) { + if (!opts.app) console.error('Deepzoom Mapdata needs an app set in the options.') + if (tilesConfig.clip) { + opts.clip = { + min: { + x: tilesConfig.clip.bounds.min[0], + y: tilesConfig.clip.bounds.min[1] + }, + max: { + x: tilesConfig.clip.bounds.max[0], + y: tilesConfig.clip.bounds.max[1] + } + } + } + + console.log(tilesConfig, opts) + + super(projection, opts) + this.app = opts.app + } +} diff --git a/lib/pixi/maps/maps.html b/lib/pixi/maps/maps.html new file mode 100644 index 0000000..280a5f6 --- /dev/null +++ b/lib/pixi/maps/maps.html @@ -0,0 +1,340 @@ + + + + + + Maps + + + + + + + + + + + + + +

    Maps

    +

    Maps represent a geographical image in a PIXI.Application. Preferably in a MapApp to have more convenient methods to + handle the maps.

    + +

    Cover Test

    +

    Usually maps should cover the whole app, or a window inside the app. Therefore they support a cover option. + This option allows the +

    + + + + +

    Map Types

    +
    +
    + + +

    Image Map

    +

    A map, that is represented by a single image.

    +
    +
    + +

    Deep Zoom Map

    +

    The map representation is a DeepZoomImage, that can be scaled much more deeply, without losing quality by increasing + the amount of tiles, that represent the image.

    +

    + You should see a map of the world with a set of cities highlighted with dots. When pressing the button all views should jump + to the same point. +

    +
    +
    + +

    Movement

    +

    + Its crucial to focus certain points in a map application. The following tests the behavioud of maps inside a mapapp and maps + inside of windows. +

    + + +

    Map Frame

    +

    + The map's frame specifies the stage of the map. When moving to the focus point normally, the map focuses in the center, the + frame defines the new area, the map will be centered in. This is important when trying to mask a map. +

    + +
    + + + + +
    + + + + + + \ No newline at end of file diff --git a/lib/pixi/maps/mapview.js b/lib/pixi/maps/mapview.js new file mode 100644 index 0000000..40eead1 --- /dev/null +++ b/lib/pixi/maps/mapview.js @@ -0,0 +1,123 @@ +import { DeepZoomMap } from './map.js' + +/** + * The MapView class is responsible for a consistent map view. + * It is aware of the current viewposition, the scale and viewport. + * It ensures, that maps can be changed, without the user noticing it. + * + */ +export default class MapView { + /** + * + * @param {object} [focus = {x:0, y:0}] - Defines the startup focuspoint of the app. + * @param {number} [zoom = 0] - Defines the startup zoom of the app. Note that this is just a request. + * The MapView will prioritize a full scale app, than displaying the demanded zoom factor + */ + constructor({ + map = null, + focus = null, + zoom = null, + viewport = { min: { x: -85, y: -180 }, max: { x: 85, y: 180 } } + } = {}) { + this.viewport = viewport + this._focus = focus + this._zoom = zoom + this._map = map + this.referenceHeight = 256 + } + + get focus() { + return this._focus + } + get zoom() { + return this._zoom + } + + get map() { + return this._map + } + + /** + * Sets the map to the given focuspoint and zoom factor. + */ + setMap(map) { + this._map = map + this.update() + return true + } + + update() { + this.map.moveTo(this._focus, this._zoom) + } + + transformed(e) { + this.updateZoom() + this.updateFocusPoint() + } + + applyCameraPosition() { + this.updateFocusPoint() + this.updateZoom() + } + + updateFocusPoint() { + const frame = this.map.getFrame() + this._focus = this.coordinatesFromWindowPoint(frame.localCenter) + } + + updateZoom() { + /** + * TODO: This relies on the fact, that all maps have the same tileSize, + * if a set would have a smaller tileSize. Improve that. + */ + if (this.map instanceof DeepZoomMap) this._zoom = this.map.floatingLevelForScale(this.map.image.scatter.scale) + else { + this._zoom = this.map.zoom + console.warn('Zoom is not yet correctly implemented in this Map type: ' + this.map) + } + } + + mapPointToWindowPoint(point) { + let container = this.map.image.parent + + let _point = new PIXI.Point( + this.map.scatter.position.x + this.map.scatter.scale * point.x, + this.map.scatter.position.y + this.map.scatter.scale * point.y + ) + + return container.toGlobal(_point) + } + + windowPointToMapPoint(point) { + let offset = this.map.image.parent.toGlobal({ x: 0, y: 0 }) + let _point = new PIXI.Point( + (point.x - this.map.scatter.position.x - offset.x) / this.map.scatter.scale, + (point.y - this.map.scatter.position.y - offset.y) / this.map.scatter.scale + ) + + return _point + } + + /** + * Gets the coordinates of a specific point in the viewport. + * + * @param {PIXI.Point | {x,y}} point - Pixel position in the viewport. + * @returns {{x,y}} Coordinates on the map of the provided position. + * @memberof MapView + */ + coordinatesFromWindowPoint(point) { + let position = { + x: point.x - this.map.scatter.position.x, + y: point.y - this.map.scatter.position.y + } + + let normalized = { + x: position.x / (this.map.width * this.map.scatter.scale), + y: position.y / (this.map.height * this.map.scatter.scale) + } + + let coordinates = this.map.mapdata.toCoordinates(normalized) + + return coordinates + } +} diff --git a/lib/pixi/maps/overlay.html b/lib/pixi/maps/overlay.html new file mode 100644 index 0000000..d5580e3 --- /dev/null +++ b/lib/pixi/maps/overlay.html @@ -0,0 +1,261 @@ + + + + + + Overlay + + + + + + + + + + + + + +

    Overlay

    +

    + The overlayclass creates a convenient way to create and design + complex map overlays. +

    + + + + + + + \ No newline at end of file diff --git a/lib/pixi/maps/overlay.js b/lib/pixi/maps/overlay.js new file mode 100644 index 0000000..5253990 --- /dev/null +++ b/lib/pixi/maps/overlay.js @@ -0,0 +1,571 @@ +import { GeoLayer } from './geolayer.js' +import { GeoPoint, GeoMultiShape } from './geographics.js' +import GeoJson from './geojson.js' + +import Popup from '../popup.js' + +/** + * The Overlay-Class shall provide and easy to use frameworkd + * of marking points of interest on a map, using shapes, geometries, + * items or text. + * + * It's highly configurable and adaptable to a variety of scenarios. + * + */ + +export default class Overlay { + /** + *Creates an instance of Overlay. + * @param {*} [{ + * name = "unnamed", {string} + * connector = false, + * connectorType = "line", + * location = null, + * label = false, + * labelType = null, + * labelLocation = null, + * labelAlignment = "center", + * labelVerticalAlign = "underneath", + * labelTarget = null, + * shape = "geometry", {string} - Defines the shape to be used: geometry, circle, rectangle + * geometry = null, + * geometryType = "point", + * geometryFallback = "circle", + * informationPopup = "infocard", + * + * }={}] + * @memberof Overlay + */ + constructor(opts = {}) { + let defaultTextStyle = new PIXI.TextStyle() + + Object.assign( + this, + { + type: 'auto', + name: 'unnamed', + + borderColor: 0x000000, + borderThickness: 5, + + disabledAlpha: 1, + disabledColor: 0xaa1111, + disabledBorderColor: 0x000000, + enabled: true, + labelScale: 1, + location: null, + label: false, + labelType: null, + labelLocation: null, + labelAlignment: 'center', + labelVerticalAlign: 'underneath', + labelSpacing: 10, + labelTarget: null, + geometry: null, + information: '', + informationPath: null, + informationType: 'popup', + icon: null, + iconAlpha: 1, + iconAnchor: { x: 0.5, y: 0.5 }, + iconColor: 0xffffff, + iconScale: 1, + iconOffset: { x: 0, y: 0 }, + items: [], + color: 0xff00ff, + fillAlpha: 1, + size: 50, + scale: 1, + rescale: false, + popoverOffset: { x: 0, y: 0 }, + + /** + * The following Attributes are taken from the TextStyle class + * of PIXI. All can be overwritten in the overlay's JSON file. + */ + labelMultiLineAlign: defaultTextStyle.align, + labelBreakWords: defaultTextStyle.breakWords, + labelDropShadow: defaultTextStyle.dropShadow, + labelDropShadowAlpha: defaultTextStyle.dropShadowAlpha, + labelDropShadowAngle: defaultTextStyle.dropShadowAngle, + labelDropShadowBlur: defaultTextStyle.dropShadowBlur, + labelDropShadowColor: defaultTextStyle.dropShadowColor, + labelDropShadowDistance: defaultTextStyle.dropShadowDistance, + fontColor: 0x000000, + fontFamily: defaultTextStyle.fontFamily, + fontSize: defaultTextStyle.fontSize, + fontStyle: defaultTextStyle.fontStyle, + fontWeight: defaultTextStyle.fontWeight, + labelStroke: defaultTextStyle.stroke, + labelStrokeThickness: defaultTextStyle.strokeThickness, + wordWrap: defaultTextStyle.wordWrap, + wordWrapWidth: defaultTextStyle.wordWrapWidth, + labelFill: defaultTextStyle.fill, + labelFillGradientType: defaultTextStyle.fillGradientType, + labelFillGradientStops: defaultTextStyle.fillGradientStops, + fontVariant: defaultTextStyle.fontVariant, + labelLeading: defaultTextStyle.leading, + letterSpacing: defaultTextStyle.letterSpacing, + labelLineHeight: defaultTextStyle.lineHeight, + labelLineJoin: defaultTextStyle.lineJoin, + labelMiterLimit: defaultTextStyle.miterLimit, + labelPadding: defaultTextStyle.padding, + labelTrim: defaultTextStyle.trim, + textBaseline: defaultTextStyle.textBaseline, + labelWhiteSpace: defaultTextStyle.whiteSpace + }, + opts + ) + } + + get textureParameters() { + return ['icon'] + } + + setTexture(parameter, key, path) { + let obj = (this[parameter] = {}) + obj._key = key + obj._path = path + obj._texture = null + + obj.initialize = function(texture) { + if (!texture) console.error('Could not initialize texture. Invalid value provided: ', texture) + this._texture = texture + }.bind(obj) + + obj.__defineGetter__('texture', function() { + if (!obj._texture) { + console.error('Texture was not yet initialized! ', obj) + } else { + return obj._texture + } + }) + + obj.__defineGetter__('key', () => { + return obj._key + }) + obj.__defineGetter__('path', () => { + return obj._path + }) + } + + apply(parameter, func, obj = null) { + if (obj == null) return + if (Array.isArray(obj)) { + obj.forEach(child => { + if (typeof child == 'object') this.apply(parameter, func, child) + }) + } else { + for (let [key, val] of Object.entries(obj)) { + if (val == null) continue + if (key == parameter) { + func.call(obj, val) + } + + if (typeof val == 'object') { + this.apply(parameter, func, val) + } + } + } + } + + /** + * Creates an overlay from the current Object. + * + * @param {settings} object - Object to configure the creation process. + * @param {settings.excludeItems} function - You may provide a function, that excludes elements selectively. The function must return true for items to exclude them. + * @param {settings.adjustItems} function - You may adjust the created PIXI items, using the adjustItems function. + * @returns {GeoLayer} - Returns the created GeoLayer. + * @memberof Overlay + */ + create({ + excludeItems = item => { + return false + }, + informationCallback = null, + adjustItems = null + } = {}) { + const name = this.name[0].toUpperCase() + this.name.slice(1).toLowerCase() + ' Overlay' + let geoLayer = new GeoLayer({ name }) + if (this.rescale) geoLayer.rescale = this.rescale + this.items.forEach(item => { + if (!excludeItems(item)) { + if (adjustItems) { + adjustItems(item) + } + + item.overlay = this + let graphics = this.createItem(item, informationCallback) + geoLayer.place(graphics) + } + }) + return geoLayer + } + + getItemProperty(item, property) { + let propertyValue = null + const propertyExistsOnItem = item[property] !== undefined + const propertyExistsOnOverlay = this[property] !== undefined + + if (propertyExistsOnItem) propertyValue = item[property] + else if (propertyExistsOnOverlay) propertyValue = this[property] + else { + console.error(`Invalid property: ${property} on`, item) + } + + propertyValue = this._resolveReference(item, propertyValue) + + return propertyValue + } + + _isReference(property) { + if (property && typeof property == 'object' && property.hasOwnProperty('@property')) return true + else return false + } + + _resolveReference(item, property) { + if (this._isReference(property)) { + let referencedProperty = property['@property'] + return this.getItemProperty(item, referencedProperty) + } else { + return property + } + } + + findAllTextures() { + let textures = [] + + this.textureParameters.forEach(parameter => { + if (this.hasOwnProperty(parameter) && this[parameter] != null) { + textures.push(this[parameter]) + } + + this.items.forEach(item => { + if (item.hasOwnProperty(parameter) && item[parameter] != null) { + textures.push(item[parameter]) + } + }) + }) + + return textures + } + + selectTextures(textures) { + this.textureParameters.forEach(parameter => { + if (this.hasOwnProperty(parameter) && this[parameter]) { + let path = this[parameter] + const texture = textures.get(path) + if (!texture) console.error('Texture could not be selected: ', path) + this[parameter] = { + texture, + path + } + } + this.items.forEach((item, idx) => { + if (this.items[idx].hasOwnProperty(parameter) && this.items[idx][parameter]) { + const path = this.items[idx][parameter] + const texture = textures.get(path) + + this.items[idx][parameter] = { + path, + texture + } + } + }) + }) + } + + createItem(item, informationCallback = null) { + let geographics + + /** + * Use a factory to draw the items, if a type is specified. + */ + if (this.type != 'auto') { + let geographicsFactory = Overlay.requestFactory(this.type) + if (!geographicsFactory) + console.error( + 'Invalid Overlay Mode: ' + + this.type + + '. Fallback to auto mode. Overlaymodes must be registeres beforehand. Valid modes are: ' + + Overlay.listFactories().join(',') + + '.' + ) + else { + let actualItem = Object.assign({}, this, item) + geographics = geographicsFactory(actualItem) + } + } + + /** + * Otherwise draw the default geographics. + */ + if (!geographics) { + if (item.geometry == null || item.geometry == undefined) { + if (item.location) { + geographics = this._drawPoint(item, informationCallback) + const scale = this.getItemProperty(item, 'scale') + geographics.graphics.scale.set(scale, scale) + } else console.warn("Item could not be drawn. Specify a 'location' or a 'geometry'.", item) + } else { + geographics = this._drawGeometry(item) + this._drawRoutine(geographics, item, informationCallback) + } + + this._drawLabel(item, geographics) + } + + return geographics + } + + _drawLabel(item, geographics) { + let label = this.getItemProperty(item, 'label') + if (label) { + let textStyle = this._gatherFontStyle(item) + let text = new PIXI.Text(label, textStyle) + + let labelScale = this.getItemProperty(item, 'labelScale') + text.scale.set(labelScale, labelScale) + + let position = new PIXI.Point() + + let align = this.getItemProperty(item, 'labelAlignment') + if (align == 'left'); + else if (align == 'center') position.set(text.position.x - text.width / 2, text.position.y) + else if (align == 'right') position.set(text.position.x - text.width, text.position.y) + else this._logPropertyNotImplemented('labelAlignment', align) + + let verticalAlign = this.getItemProperty(item, 'labelVerticalAlignment') + if (verticalAlign == 'underneath') { + let size = this.getItemProperty(item, 'size') + let scale = this.getItemProperty(item, 'scale') + + let labelSpacing = this.getItemProperty(item, 'labelSpacing') + + position.y += size * scale + labelSpacing + } else if (verticalAlign == 'above') { + let size = this.getItemProperty(item, 'size') + let scale = this.getItemProperty(item, 'scale') + + let labelSpacing = this.getItemProperty(item, 'labelSpacing') + + position.y -= size * scale + text.height + labelSpacing + } else this._logPropertyNotImplemented('labelVerticalAlignment', verticalAlign) + + text.position.set(position.x, position.y) + + geographics.graphics.addChild(text) + } + } + + _gatherFontStyle(item) { + return { + align: this.getItemProperty(item, 'labelMultiLineAlign'), + breakWords: this.getItemProperty(item, 'labelBreakWords'), + dropShadow: this.getItemProperty(item, 'labelDropShadow'), + dropShadowAlpha: this.getItemProperty(item, 'labelDropShadowAlpha'), + dropShadowAngle: this.getItemProperty(item, 'labelDropShadowAngle'), + dropShadowBlur: this.getItemProperty(item, 'labelDropShadowBlur'), + dropShadowColor: this.getItemProperty(item, 'labelDropShadowColor'), + dropShadowDistance: this.getItemProperty(item, 'labelDropShadowDistance'), + fontFamily: this.getItemProperty(item, 'fontFamily'), + fontSize: this.getItemProperty(item, 'fontSize'), + fontStyle: this.getItemProperty(item, 'fontStyle'), + fontWeight: this.getItemProperty(item, 'fontWeight'), + stroke: this.getItemProperty(item, 'labelStroke'), + strokeThickness: this.getItemProperty(item, 'labelStrokeThickness'), + wordWrap: this.getItemProperty(item, 'wordWrap'), + wordWrapWidth: this.getItemProperty(item, 'wordWrapWidth'), + + fill: this.getItemProperty(item, 'labelFill'), + fillGradientType: this.getItemProperty(item, 'labelFillGradientType'), + fillGradientStops: this.getItemProperty(item, 'labelFillGradientStops'), + fontVariant: this.getItemProperty(item, 'fontVariant'), + leading: this.getItemProperty(item, 'labelLeading'), + letterSpacing: this.getItemProperty(item, 'letterSpacing'), + lineHeight: this.getItemProperty(item, 'labelLineHeight'), + lineJoin: this.getItemProperty(item, 'labelLineJoin'), + miterLimit: this.getItemProperty(item, 'labelMiterLimit'), + padding: this.getItemProperty(item, 'labelPadding'), + trim: this.getItemProperty(item, 'labelTrim'), + textBaseline: this.getItemProperty(item, 'textBaseline'), + whiteSpace: this.getItemProperty(item, 'labelWhiteSpace') + } + } + + _drawGeometry(item) { + let multiPolygonArray = [] + + if (Array.isArray(item.geometry)) + item.geometry.forEach(geometry => { + let polygon = this._drawPolygon(geometry) + if (polygon != null && polygon != []) multiPolygonArray.push(polygon) + }) + else { + let polygon = this._drawPolygon(item.geometry) + if (polygon != null && polygon != []) multiPolygonArray.push(polygon) + } + const overlay = this + return new GeoMultiShape(multiPolygonArray, { + onDraw: function() { + overlay._fill.call(overlay, this, item) + } + }) + } + + _drawPolygon(geometry) { + let polygon = [] + if (geometry.type == 'Polygon') { + if (GeoJson.validateCoordinates(geometry.type, geometry.coordinates)) { + polygon = GeoJson.convert(geometry.type, geometry.coordinates) + } else console.error(`Could not validate coordinates for type '${geometry.type}'.`, geometry.coordinates) + } else { + console.warn(`Geometry of type ${geometry.type} is not implemented yet, hence it was ignored.`) + } + + return polygon + } + + _drawRoutine(geographics, item, informationCallback = null) { + this._createIcon(geographics, item) + + const enabled = this.getItemProperty(item, 'enabled') + if (enabled) this._createInformation(geographics, item, informationCallback) + } + + _createIcon(geographics, item) { + let icon = this.getItemProperty(item, 'icon') + if (icon) { + if (icon.texture) { + let sprite = new PIXI.Sprite(icon.texture) + + const iconAnchor = this.getItemProperty(item, 'iconAnchor') + sprite.anchor.set(iconAnchor.x, iconAnchor.y) + + const iconScale = this.getItemProperty(item, 'iconScale') + if (iconScale) sprite.scale.set(iconScale, iconScale) + + const iconOffset = this.getItemProperty(item, 'iconOffset') + if (iconOffset && iconOffset.x != null && iconOffset.y != null) + sprite.position.set(iconOffset.x, iconOffset.y) + + const iconColor = this.getItemProperty(item, 'iconColor') + if (iconColor) sprite.tint = iconColor + + const iconAlpha = this.getItemProperty(item, 'iconAlpha') + if (iconAlpha) sprite.alpha = iconAlpha + + geographics.graphics.addChild(sprite) + } + } + } + + _createInformation(geographics, item, callback = null) { + if (item.information) { + /** + * SO: The overlay class is quite convenient. + * But managing the information creation solely inside this + * class restricts us massively. + * + * Maybe a restructuring would be good, that we can handle + * the creation of information with a callback and can adapt + * to any occuring situation. + * + * e.g. + * + * overlay.informationHandler((geo, type, item)=>{ + * switch(type){ + * case "popup": + * createPopup(item.information) + * break; + * + * .... + * } + * }) + */ + + geographics.graphics.interactive = true + const informationType = this.getItemProperty(item, 'informationType') + + if (callback) callback.call(this, geographics, informationType, item) + else { + this.defaulInformationCallback(geographics, informationType, item) + } + } + } + + defaulInformationCallback(geographics, informationType, item) { + // Make the items interactive. + geographics.graphics.interactive = true + geographics.graphics.on('pointerdown', () => { + if (!geographics.active) { + geographics.active = true + + // Create and place the popup. + let popup = new Popup({ + header: item.name, + content: item.information, + maxWidth: 350 + }) + + popup.position.set( + geographics.graphics.position.x - popup.width / 2, + geographics.graphics.position.y - popup.height - 20 + ) + + geographics.graphics.parent.addChild(popup) + + // Remove the items after n milliseconds. + const removeTime = 2000 + setTimeout(() => { + geographics.active = false + popup.parent.removeChild(popup) + }, removeTime) + } + }) + } + + _fill(geographics, item) { + const enabled = this.getItemProperty(item, 'enabled') + const color = enabled ? this.getItemProperty(item, 'color') : this.getItemProperty(item, 'disabledColor') + let alpha = enabled ? this.getItemProperty(item, 'fillAlpha') : this.getItemProperty(item, 'disabledAlpha') + geographics.graphics.beginFill(color, alpha) + } + + _drawPoint(item, informationCallback = null) { + const overlay = this + let geographic = new GeoPoint(item.location, { + onDraw: function() { + overlay._fill.call(overlay, this, item) + const size = overlay.getItemProperty(item, 'size') ? overlay.getItemProperty(item, 'size') : 0 + this.graphics.drawCircle(0, 0, size) + overlay._drawRoutine.call(overlay, this, item, informationCallback) + } + }) + return geographic + } + + _logPropertyNotImplemented(property, value) { + console.error(`Value '${value}' is not yet implemented in property '${property}'.`) + } +} + +Overlay.Modes = { auto: null } + +Overlay.createFactory = function(name, geographicsFactory) { + if (Overlay.Modes.hasOwnProperty(name)) + console.warn(`The mode ${name} was already implemented and was overwritten!`) + Overlay.Modes[name] = geographicsFactory +} + +Overlay.requestFactory = function(name) { + return Overlay.Modes[name] +} + +Overlay.listFactories = function() { + let modes = [] + for (let key of Object.keys(Overlay.Modes)) { + modes.push(key) + } + return modes +} diff --git a/lib/pixi/maps/projections/mercator.js b/lib/pixi/maps/projections/mercator.js new file mode 100644 index 0000000..0349d21 --- /dev/null +++ b/lib/pixi/maps/projections/mercator.js @@ -0,0 +1,43 @@ +import Projection from './projection.js' + +/** + * This is a projection file, that grants access to the + * MERCATOR projection. + * + * Regulary only few Projections will be used in one + * project, therefore only required one's should be + * loaded. + */ + +export default class Mercator extends Projection { + forward(coords) { + let lat = coords.x + let lng = coords.y + + const PI_180 = Math.PI / 180.0 + const PI_4 = Math.PI * 4 + + const sinLatitude = Math.sin(lat * PI_180) + let y = 0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / PI_4 + let x = (lng + 180) / 360 + + y = y < 0 ? 0 : y > 1 ? 1 : y + + return new PIXI.Point(x, y) + } + + backward(point) { + let lng = point.x * 360 - 180 + let lat = (Math.asin(-2 / (Math.exp(4 * Math.PI * (0.5 - point.y)) + 1) + 1) * 180) / Math.PI + + return new PIXI.Point(lat, lng) + } + + toString() { + return 'Mercator Projection' + } + + get maxViewport() { + return { min: new PIXI.Point(-85, -180), max: new PIXI.Point(85, 180) } + } +} diff --git a/lib/pixi/maps/projections/projection.js b/lib/pixi/maps/projections/projection.js new file mode 100644 index 0000000..68acd62 --- /dev/null +++ b/lib/pixi/maps/projections/projection.js @@ -0,0 +1,43 @@ +/** + * A projection determines how a geographical card has to + * be interpreted to map coordinate to pixels. + * + * Most used transformation is the mercator projection, + * which projects a sphere on a cylinder. + * + * @abstract + */ + +export default class Projection { + /** + * Transforms a coordinate to a normalized position on the map. + * + * @param {*} coords + * @memberof Projection + */ + forward(coords) { + console.error('You must override the forward function in ' + this.name + '.') + } + + /** + * Transforms a normalized point on the map to a coordinate. + * + * @param {*} point + * @memberof Projection + */ + backward(point) { + console.error('You must override the backward fuction in ' + this.name + '.') + } + + toString() { + return 'Projection (abstract)' + } + + get name() { + return this.toString() + } + + get maxViewport() { + return { min: new PIXI.Point(-90, -180), max: new PIXI.Point(90, 180) } + } +} diff --git a/lib/pixi/maps/projections/projections.html b/lib/pixi/maps/projections/projections.html new file mode 100644 index 0000000..a7ac5c4 --- /dev/null +++ b/lib/pixi/maps/projections/projections.html @@ -0,0 +1,242 @@ + + + + + + Projections + + + + + + + + + + + +

    Projections

    +

    + Projections are used on the mapdata to translate coordinates to pixelpositions. There are various + projections that can be used. All implemented ones are showcased here. +

    + +
    +

    Mercator Projection

    +

    The most commonly used projection is the mercator projection.

    + +
    + +
    + + + + +
    +
    +

    Robinson Projection

    +

    + The robinson projection is a more 'artistic' approach, as it follows a table instead of a strict + formula. It has severe distortions at the poles, but that distortion declines rapidly heading towards + the equator. +

    + +
    + +
    + + +
    + + + \ No newline at end of file diff --git a/lib/pixi/maps/projections/robinson.js b/lib/pixi/maps/projections/robinson.js new file mode 100644 index 0000000..d64550f --- /dev/null +++ b/lib/pixi/maps/projections/robinson.js @@ -0,0 +1,148 @@ +import Projection from './projection' + +/* */ + +export default class Robinson extends Projection { + constructor(lng = 0) { + super() + + this.lng0 = lng + this.lengthOfParallel = [ + 1.0, + 0.9986, + 0.9954, + 0.99, + 0.9822, + 0.973, + 0.96, + 0.9427, + 0.9216, + 0.8962, + 0.8679, + 0.835, + 0.7986, + 0.7597, + 0.7186, + 0.6732, + 0.6213, + 0.5722, + 0.5322 + ] + this.distancesFromEquator = [ + 0.0, + 0.062, + 0.124, + 0.186, + 0.248, + 0.31, + 0.372, + 0.434, + 0.4958, + 0.5571, + 0.6176, + 0.6769, + 0.7346, + 0.7903, + 0.8435, + 0.8936, + 0.9394, + 0.9761, + 1.0 + ] + } + forward(coords) { + let { x: lat, y: lng } = coords + + lng = this._adjustLng(lng) + + // Get the required indices, the remainder in between low and hight as ratio + // and the sign of the found indices, as the tables are only in positive direction. + let { low, high, ratio, sign } = this._getInterpolationValues(lat, 90) + + // Values that lie inbetween two indices are interpolated. + let y = this._interpolate(this.distancesFromEquator[low], this.distancesFromEquator[high], ratio) + + // Reapply the sign to the vertical position. + y *= sign + + // The center of the projection is in the center of the map. Therefore we shift the + // center to the top left corner. + y = 1 - (y + 1) / 2 + + // The lengthOfParallel table provides us with the corresponding scaling factor + // for a specific latitude. Inbetween values are interpolated as before. + let proportionalLength = this._interpolate(this.lengthOfParallel[low], this.lengthOfParallel[high], ratio) + + //To normalize the value to a range from -1 to 1. + let x = (proportionalLength * lng) / 180 + + x = (x + 1) / 2 + + return { x, y } + } + + backward(position) { + let { x, y } = position + + y = 1 - 2 * y + let sign = Math.sign(y) + y = Math.abs(y) + + let low = 0 + let high = 0 + for (let i = 0; i < this.distancesFromEquator.length - 1 && y > this.distancesFromEquator[i]; i++) { + low = i + high = i + 1 + } + + let lowDist = this.distancesFromEquator[low] + let highDist = this.distancesFromEquator[high] + + let ratio = highDist - lowDist == 0 ? 0 : (y - lowDist) / (highDist - lowDist) + + let lat = low * 5 + ratio * 5 + + let parallelLengthMin = this.lengthOfParallel[low] + let parallelLengthMax = this.lengthOfParallel[high] + + let completeLength = parallelLengthMin + (parallelLengthMax - parallelLengthMin) * ratio + + x = x * 2 - 1 + let normalizedLength = x / completeLength + + let lng = normalizedLength * 180 + + return { x: lat * sign, y: this._adjustLng(lng, true) } + } + + _adjustLng(lng, inv = false) { + let moved = inv ? lng + this.lng0 : lng - this.lng0 + if (moved < -180) moved += 360 + if (moved > 180) moved -= 360 + + return moved + } + + _interpolate(a, b, ratio) { + return a * (1 - ratio) + b * ratio + } + _getInterpolationValues(value, max) { + let sign = Math.sign(value) + value = Math.min(Math.abs(value), max) + // Note that min and max can be the same. Which is true + // when lat is dividable by 5. This also covers the edge cases 0 and 90. + let minIndex = Math.floor(value / 5) + let maxIndex = Math.ceil(value / 5) + let ratio = (value % 5) / 5 + // console.log({ value, minIndex, maxIndex, ratio }) + // console.log(this.lengthOfParallel.length) + return { low: minIndex, high: maxIndex, ratio, sign } + } + + toString() { + return + } + get name() { + return 'Robinson Projection' + } +} diff --git a/lib/pixi/maps/projections/robinsontest.html b/lib/pixi/maps/projections/robinsontest.html new file mode 100644 index 0000000..9b53c3e --- /dev/null +++ b/lib/pixi/maps/projections/robinsontest.html @@ -0,0 +1,50 @@ + + + + + + + + Document + + + + + + + + + + +
    + +
    + + + + \ No newline at end of file diff --git a/lib/pixi/maps/scatter.html b/lib/pixi/maps/scatter.html new file mode 100644 index 0000000..250c80e --- /dev/null +++ b/lib/pixi/maps/scatter.html @@ -0,0 +1,151 @@ + + + + + + Scatter + + + + + + + + + + + +

    Scatter

    +

    The Scatter in Tüsch specifies some classes to make them more suitable for Map applications.

    + +

    CoverScatter

    +

    Usually maps should cover the whole app, or a window inside the app. Therefore they support a cover option. This option + allows prevents the scatter to move inside the window. + + + +

    +

    +

    Legend

    +
      +
    • + Bounds: The bounds represent the bounding boxes of the elements. +
    • +
    • + Polygon: The polygon property of scatters describe their actual extends and are used for e.g. calculating + overlap with the scatter container. +
    • +
    • + Boundaries: You can set boundaries in the options in the form of + opts = {..., boundaries: {min: {x:0,y:0}, + max{x:1,y:1},...}} these will be applied relatively to the image dimensions.
    • +
    +

    + + + + + +

    Note

    +
      +
    • + Cover behaviour is not yet working on rotated elements. +
    • +
    + + + \ No newline at end of file diff --git a/lib/pixi/maps/scatter.js b/lib/pixi/maps/scatter.js new file mode 100644 index 0000000..fdc6900 --- /dev/null +++ b/lib/pixi/maps/scatter.js @@ -0,0 +1,558 @@ +/* ES Lint */ +/* globals PIXI, requestAnimationFrame, performance, app*/ + +import { DisplayObjectScatter, ScatterContainer } from '../scatter.js' +import { Points } from '../../utils.js' +import { EventHandler } from './utils.js' + +/** + * The AdvancedScatterContainer extends the ScatterContainer, but + * uses the findTargetNew instead of the findTarget method, which takes interactive elements + * into account, when calculating the target. + */ +export class AdvancedScatterContainer extends ScatterContainer { + applyToChildScattersRecursively(parent, root, applyFunc) { + for (let child of parent.children) { + if (child.scatter) { + applyFunc(child, root) + this.applyToChildScattersRecursively(child, root, applyFunc) + } + } + } + + /** + * The update method was adjusted to draw bounds and polygpns + */ + update(dt) { + this.clear() + this.lineStyle(1, 0x0000ff) + if (this.showBounds) { + this.applyToChildScattersRecursively(this, this, (child, root) => { + let position = child.worldTransform.apply(new PIXI.Point(0, 0)) + + this.drawShape(child.scatter.bounds) + + let center = { + x: child.scatter.width / 2 / child.scatter.scale, + y: child.scatter.height / 2 / child.scatter.scale + } + center = child.worldTransform.apply(center) + + this.drawCircle(center.x, center.y, 4) + this.drawCircle(position.x, position.y, 4) + }) + + this.lineStyle(2, 0x0000ff) + this.drawShape(this.bounds) + } + if (this.showPolygon) { + this.lineStyle(2, 0xff0000) + for (let child of this.children) { + if (child.scatter) { + let polygon = child.scatter.polygon + let shape = new PIXI.Polygon(polygon.flatAbsolutePoints()) + if ( + shape.points[0] !== shape.points[shape.points.length - 2] || + shape.points[1] !== shape.points[shape.points.length - 1] + ) { + shape.points.push(shape.points[0], shape.points[1]) + } + this.drawShape(shape) + } + } + } + if (this.showTouches) { + let current = this.delegate.interaction.current + for (let [key, point] of current.entries()) { + let local = this.mapPositionToPoint(point) + this.drawCircle(local.x, local.y, 12) + } + } + } + + get width() { + return this.bounds.width + } + + get height() { + return this.bounds.width + } + + findTarget(event, local, global) { + // UO: still problematic. Does not find non interactive elements + // which are needed for some stylus applications + if (event.claimedByScatter) { + return null + } + + this.hitScatter = null + let interactionManager = this.renderer.plugins.interaction + + let displayObject = interactionManager.hitTest(local, this) + console.log(displayObject.dontBlockScatter, displayObject.parent) + if (displayObject.dontBlockScatter && displayObject.parent != null) { + displayObject = interactionManager.hitTest(local, displayObject.parent) + } + + if (displayObject != null && displayObject.scatter != null) this.hitScatter = displayObject.scatter + if (this.claimEvents) event.claimedByScatter = this.hitScatter + + console.log(displayObject) + return this.hitScatter + } +} + +export class RigidScatterContainer extends AdvancedScatterContainer { + constructor(width, height, renderer, opts) { + super(renderer, opts) + this._width = width + this._height = height + } + + resize(width, height) { + this._width = width + this._height = height + } + + get width() { + return this._width + } + + get height() { + return this._height + } + + _calculateBounds() { + this._bounds.clear() + let bounds = new PIXI.Bounds() + bounds.minX = this.parent.position.x + bounds.minY = this.parent.position.y + bounds.maxX = this.parent.position.x + this.width + bounds.maxY = this.parent.position.y + this.height + this._bounds.addBounds(bounds) + } +} + +export class RigidContainer extends PIXI.Graphics { + constructor(width, height, { onResize = null } = {}) { + super() + if (!width || !height) { + console.log( + `Width (${width}) or height (${height}) not set! If this is intended use another PIXI.DisplayObject instead.`, + this + ) + } + this._width = width + this._height = height + this.beginFill(0xffffff, 0.3) + this.drawRect(0, 0, this.width, this.height) + + this.onResize = new EventHandler('resize', { + listeners: onResize ? [onResize] : [] + }) + } + + /** + * Resizes the scattercontainer to the provided dimensions. + * + * @param {number} width - Target width of the resize. + * @param {number} height - Target height of the resize. + * @memberof RigidContainer + */ + resize(width, height) { + this._width = width + this._height = height + this._updateHitArea() + this.onResize.call(this, 'resize', { x: width, y: height }) + } + + _updateHitArea() { + // this.hitArea = new PIXI.Rectangle(0,0, this.width, this.height) + } + + get width() { + return this._width + } + get height() { + return this._height + } +} + +/** + * Specialization of the DisplayObjectScatter with special behavior needed for maps. + */ +class AdvancedScatter extends DisplayObjectScatter { + /** + * Animates the throw and ensures that the map is always visible. This + * is different from the standard behavior. + * + * @param {*} time + * @memberof AdvancedScatter + */ + animateThrow(time) { + // In rare cases animateThrow is called when the displayObject is already removed + if (this.displayObject.parent == null) { + return + } + + //Moved this outside, as the time continously increases, + //when the object is not thrown. + + if (this.velocity != null) { + let dt = this._throwDeltaTime() + // This seems to just correct the velocity when its calculated wrong. + // In what case can it get bigger? Velocity tends to always shrink, when no force is added. + let d = this._getThrowDelta(dt) + this._move(d) + this.onDragUpdate(d) + if (dt == 0 || this.needsAnimation()) { + requestAnimationFrame(this.animateThrow.bind(this)) + return + } else { + if (this.isOutside()) { + requestAnimationFrame(this.animateThrow.bind(this)) + return + } + } + } + this.onDragComplete() + } + + get parent() { + // Returns the parent is a scatter get the parent scatter. + // If it's a scatter container, get the displayObject. + // Other cases are not allowed. + return this.displayObject.parent != null && this.displayObject.parent.scatter != null + ? this.displayObject.parent.scatter + : this.displayObject.parent + } + + _getThrowDelta(dt) { + this.velocity = this.nextVelocity(this.velocity) + if (this.velocity != null) { + return Points.multiplyScalar(this.velocity, dt) + } + return { x: 0, y: 0 } + } + + freeze({ translatable = false, scalable = false, rotatable = false, movableX = false, movableY = false } = {}) { + this.translatable = translatable + this.scalable = scalable + this.rotatable = rotatable + this.movableX = movableX + this.movableY = movableY + } + + unfreeze({ translatable = true, scalable = true, rotatable = true, movableX = true, movableY = true } = {}) { + this.freeze({ + translatable, + scalable, + rotatable: false, + movableX, + movableY + }) + } +} + +export class SubmapScatter extends DisplayObjectScatter { + get width() { + return this.displayObject.width * this.displayObject.scale.x + } + + get height() { + return this.displayObject.height * this.displayObject.scale.y + } + + freeze({ translatable = false, scalable = false, rotatable = false, movableX = false, movableY = false } = {}) { + this.translatable = translatable + this.scalable = scalable + this.rotatable = rotatable + this.movableX = movableX + this.movableY = movableY + } + + unfreeze({ translatable = true, scalable = true, rotatable = true, movableX = true, movableY = true } = {}) { + this.freeze({ + translatable, + scalable, + rotatable: false, + movableX, + movableY + }) + } + + onZoomed(about) { + super.onZoomed(about) + } +} + +/** + * TODO + * A scatter which width does not increase when child elements are added. + */ +export class CompactScatter extends AdvancedScatter {} + +/** + * A problem with PIXI Objects is, that the bounding box changes + * with child elements. Therefore the sized scatter has a rigid size, that is not + * changed by elements, but only with their width and height property. + */ +export class CoverScatter extends AdvancedScatter { + constructor(a, b, opts) { + super(a, b, opts) + + opts = Object.assign( + { + debug: false, + cover: true, + boundaries: { + min: { x: 0, y: 0 }, + max: { x: 1, y: 1 } + } + }, + opts + ) + + this.debug = opts.debug + this.cover = opts.cover + this._boundaries = opts.boundaries + + if (this.debug) { + this.debugGraphics = new PIXI.Graphics() + this.displayObject.addChild(this.debugGraphics) + this.debugGraphics.lineStyle(0.2, 0x00ff00) + this.debugGraphics.drawRect( + this.width * this.boundaries.min.x, + this.height * this.boundaries.min.y, + this.width * (this.boundaries.max.x - this.boundaries.min.x), + this.height * (this.boundaries.max.y - this.boundaries.min.y) + ) + + this.debugGraphics.endFill() + } + + if (this.cover) { + // The reference to the element handler needs to be stored, + // that we can remove it later on. + const eventHandler = this._applyInitialCover.bind(this, null, true) + this._applyInitialCover(eventHandler) + } + } + + _applyInitialCover(eventHandler, removeListener = false) { + if (this.debug) console.log('ApplyInitialCover: ', parent) + if (removeListener) { + this.displayObject.off('added', eventHandler) + } + + if (this.displayObject.parent) + this.forceCover(this.displayObject.parent.width, this.displayObject.parent.height) + else { + this.displayObject.on('added', eventHandler) + } + } + + get boundaries() { + if (this._boundaries) return this._boundaries + else + return { + min: { x: 0, y: 0 }, + max: { x: 1, y: 1 } + } + } + + transform(translate, zoom, rotate, anchor) { + if (this.cover) { + if (!this.parent) { + return new PIXI.Rectangle(0, 0, window.innerWidth, window.innerHeight) + } + + /** + * If the scaling violates the minCoverScale, the zoom is adjusted to perfectly match + * the minCoverScale. + */ + let minCoverScale = this.calculateMinCoverScale(this.parent.width, this.parent.height) + + let { zoom: fixedZoom, scale } = this.calculateScale(zoom) + if (scale < minCoverScale) { + zoom = minCoverScale / this.scale + } + } + + super.transform(translate, zoom, rotate, anchor) + if (this.cover) { + let postTranslate = this.outsideBoundaries() + super.transform(postTranslate, 1, 0, { x: 0, y: 0 }) + } + } + + outsideBoundaries(movement = { x: 0, y: 0 }, { boundaries = this.boundaries } = {}) { + if (this.parent == null) { + return { x: 0, y: 0 } + } + let left = -(this.displayObject.position.x + movement.x + this.width * boundaries.min.x) + let right = -left + this.width * (boundaries.max.x - boundaries.min.x) - this.parent.width + + let top = -(this.displayObject.position.y + movement.y + this.height * boundaries.min.y) + let bot = -top + this.height * (boundaries.max.y - boundaries.min.y) - this.parent.height + + // Helper function to limit an Axis inside a container, or 'glue' it + // to the lower side, if the size is smaller than the size of the + // container. + function limitAxis(low, high, contentSize, containerSize) { + let val = 0 + if (low < 0) { + val = low + } else if (high < 0) { + if (contentSize > containerSize) { + // ... and the element is bigger as the container + // - reset it to the containersize. + val = -high + } else { + // ... and the size is not high enough, then + // 'glue' it to the low axis. + val = low + } + } + + return val + } + + // Use the helper function to correct the movement to cover x and y. + let correctionX = limitAxis(left, right, this.width * (boundaries.max.x - boundaries.min.x), this.parent.width) + let correctionY = limitAxis(top, bot, this.height * (boundaries.max.y - boundaries.min.y), this.parent.height) + let fixedMovement = { + x: correctionX == 0 ? movement.x : correctionX + movement.x, + y: correctionY == 0 ? movement.y : correctionY + movement.y + } + + return fixedMovement + } + + calculateMinCoverScale(width, height) { + let scale = 0 + + if (!(this.width == 0 && this.height == 0)) { + let actualWidth = this.width / this.scale + let actualHeight = this.height / this.scale + + let boundaryWidth = (this.boundaries.max.x - this.boundaries.min.x) * actualWidth + let boundaryHeight = (this.boundaries.max.y - this.boundaries.min.y) * actualHeight + + let coverWidth = width / boundaryWidth + let coverHeight = height / boundaryHeight + + scale = Math.max(coverWidth, coverHeight) + } + + return scale + } + + _getThrowDelta(dt) { + let delta = super._getThrowDelta(dt) + if (this.cover) { + delta = this.outsideBoundaries(delta, { + boundaries: this.boundaries + }) + } + return delta + } + + containerChanged(width, height) { + if (this.cover) this.forceCover(width, height) + } + + forceCover() { + this.requestScale(this.scale) + let translate = this.outsideBoundaries() + this.transform(translate, 1, 0, { x: 0, y: 0 }) + } + + requestScale(scale) { + if (this.scalable && this.parent != null) { + if (this.cover) { + let minCoverScale = this.calculateMinCoverScale(this.parent.width, this.parent.height) + scale = scale < minCoverScale ? minCoverScale : scale + } + this.scale = scale + } + } + + requestFocus(point) { + let allowedMovement = this.outsideBoundaries(Points.subtract(point, this.position)) + this.transform(allowedMovement, 1, 0, { x: 0, y: 0 }) + } +} + +/** + * The MapObjectScatter somewhat inverts the behaviour of + * regular throwables. Regular throwables should bounce of the wall, when they + * overlap to a certain amount. Maps on the otherhand are intended to overlap with the + * scatter container heavily to hide irrelevant parts of the map without revealing + * any background. + * + * @class + * @extends DisplayObjectScatter + */ + +export class MapObjectScatter extends CoverScatter { + /** + * x=null, y=null, + minScale=0.1, + maxScale=1.0, + startScale=1.0, + autoBringToFront=true, + translatable=true, scalable=true, rotatable=true, resizable=false, + movableX=true, + movableY=true, + throwVisibility=44, + throwDamping = 0.95, + autoThrow=true, + rotationDegrees=null, + rotation=null, + onTransform = null } + */ + constructor(displayObject, renderer, opts = {}) { + opts = Object.assign( + { + debug: false, + cover: false, + startScale: 1, + boundaries: { + min: { x: 0, y: 0 }, + max: { x: 1, y: 1 } + }, + autoBringToFront: false + }, + opts + ) + + if (!renderer) { + console.error('Renderer was not set!') + return + } + + super(displayObject, renderer, opts) + this.cover = opts.cover + } + + moveTo() { + super.moveTo(...arguments) + } + + lock() { + this.rotatable = false + this.moveable = false + this.scaleable = false + } + + unlock() { + this.rotatable = true + this.moveable = true + this.scaleable = true + } + + getWorldScatter() { + return this.parent + } +} diff --git a/lib/pixi/maps/utils.html b/lib/pixi/maps/utils.html new file mode 100644 index 0000000..c531761 --- /dev/null +++ b/lib/pixi/maps/utils.html @@ -0,0 +1,134 @@ + + + + + + Utils + + + + + + + + + + + + +

    Utils

    +

    Some utility functionalities for the Tuesch.

    + +

    Event Handler

    +

    + The event handler class generalizes a common design principle in javascript. When an event occurs, that is of relevance for + other objects, then this event should be sent out to all objects, that are interested in that event. Objects interested + in that event, subscribe the event handler and get notified via a callback function. +

    + + +

    DomUtils

    + + Utility functions that help handling the DOM. + +

    positionOnElement(element, position)

    + Function that returns the global position for a normalized position. + +
    + + + + + + \ No newline at end of file diff --git a/lib/pixi/maps/utils.js b/lib/pixi/maps/utils.js new file mode 100644 index 0000000..fe6ae95 --- /dev/null +++ b/lib/pixi/maps/utils.js @@ -0,0 +1,482 @@ +import { Points } from '../../utils.js' + +export class ObjectUtils { + /** + * Finds the previous key in an object. + * + * @param {string} targetKey - The target key, of whom the predecessor is wanted. + */ + static findPredecessor(targetKey, obj) { + // Initialize pointers ... + let prev = null + let first = null + // ... and a hit flag. + let hit = false + + //Iterate over all available items. + for (let key in obj) + if (obj.hasOwnProperty(key)) { + if (!hit) { + //Assign both values, + //while not hit + prev = first + first = key + + //When hit, set flag. + if (key == targetKey) { + hit = true + if (prev) return prev //If it was not hit on the first item, we can return prev. + } + } else { + //Otherwise, when first item was hit, we iterate over the entire object. + first = key + } + } + + return first + } + + /** + * Finds the successing key in an object. + * + * @param {string} targetKey - The key of whom the successor key should be found. + * @param {object} obj - The object, that is scanned for the successor. + */ + static findSuccessor(targetKey, obj) { + let first = null + let next = false + + for (let key in obj) + if (obj.hasOwnProperty(key)) { + if (!first) first = key + + if (next) { + return key + } + + if (targetKey == key) { + next = true + } + } + + return first + } + + static fromPath(obj, path, separator = '.') { + let arr = path.split(separator) + let result = obj + + for (let i = 0; i < arr.length; i++) { + if (result[arr[i]] !== null) { + result = result[arr[i]] + } else return null + } + + return result + } +} + +export class PathUtils { + static fixTrailingSlash(url) { + return url.replace(/\/?$/, '/') + } +} + +export class TimeUtils { + static minutesToMs(minutes) { + return TimeUtils.minutesToSeconds(minutes) * 1000 + } + + static minutesToSeconds(minutes) { + return minutes * 60 + } +} + +export class StringUtils { + /* Used from: https://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript */ + static capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1) + } +} + +export class GeometryUtils { + static RandomRange(min, max) { + return GeometryUtils.toRadians(Math.random() * (max - min) + min) + } + + static RandomSign() { + return Math.sign(Math.random() - 0.5) + } + + static toDegrees(radians) { + return (radians * 180) / Math.PI + } + + static toRadians(degrees) { + return (degrees / 180) * Math.PI + } + + /* + Recursion is buggy. + */ + static subdivide(polygon, factor = 0.5, n = 0) { + console.log(polygon.length, factor) + let points = [] + for (let i = 0; i < polygon.length; i++) { + let prev = i - 1 < 0 ? polygon[polygon.length - 1] : polygon[i - 1] + let next = i + 1 < polygon.length ? polygon[i + 1] : polygon[0] + let current = polygon[i] + points.push(GeometryUtils.linearInterpolation(prev, current, factor)) + points.push(GeometryUtils.linearInterpolation(current, next, 1 - factor)) + } + if (n > 0) { + n-- + points = GeometryUtils.subdivide(points, n) + } + return points + } + + static linearInterpolation(first, second, n) { + let point = new PIXI.Point() + + point.x = first.x * n + second.x * (1 - n) + point.y = first.y * n + second.y * (1 - n) + return point + } +} + +export class Matrix { + constructor(a, b, d, e, c = 0, f = 0) { + Object.assign(this, { + a, + b, + c, + d, + e, + f, + g: 0, + h: 0, + i: 1 + }) + } + + static Transpose(m) { + let first = ['b', 'c', 'f'] + let second = ['d', 'g', 'h'] + + for (let i = 0; i < first.length; i++) { + let tmp = m[first[i]] + first[i] = second[i] + second[i] = tmp + } + } + + static Rotation(deg) { + let rad = (2 * Math.PI * deg) / 180 + return new Matrix(Math.cos(rad), -Math.sin(rad), Math.sin(rad), Math.cos(rad)) + } + + static Transform(x, y) { + return new Matrix(1, 0, 0, 1, x, y) + } + + static MultiplyPoint(m, p) { + x = p.x * m.a + m.b * p.y + m.c * 1 + y = p.x * m.d + p.y * m.e + m.f * 1 + + return { + x, + y + } + } +} + +export class DomUtils { + static getCenter(element) { + let x = (element.clientLeft + element.clientWidth) / 2 + let y = (element.clientTop + element.clientHeight) / 2 + return { x, y } + } + + static getTransformedPosition(element) { + let mat = this.getCSSMatrix(element) + return { x: mat[4], y: mat[5] } + } + + static getCSSMatrix(element) { + let matrix = window.getComputedStyle(element).transform + + if (matrix == 'none') { + return [1, 0, 0, 1, 0, 0] + } else { + const pre = 'matrix(' + let values = matrix.substring(pre.length, matrix.length - 1).split(',') + for (let i in values) { + values[i] = parseFloat(values[i]) + } + return values + } + } + + static positionOnElement(element, position) { + const matrix = this.getCSSMatrix(element) + + const inX = element.offsetWidth * (position.x - 0.5) + const inY = element.offsetHeight * (position.y - 0.5) + + let outX = matrix[0] * inX + matrix[2] * inY + matrix[4] + let outY = matrix[1] * inX + matrix[3] * inY + matrix[5] + + let out = { + x: outX, + y: outY + } + + return out + } + + static applyTransform(target, transformedPosition, size = 0) { + return { + x: target.offsetLeft + target.offsetWidth / 2 + transformedPosition.x - size / 2, + y: target.offsetTop + target.offsetHeight / 2 + transformedPosition.y - size / 2 + } + } +} + +export class Vector { + static length(vector) { + return Math.sqrt(vector.x * vector.x + vector.y * vector.y) + } + + static normalize(vector) { + return Points.multiplyScalar(vector, 1 / this.length(vector)) + } + + static scaleTo(vector, length) { + let normalized = this.normalize(vector) + return Points.multiplyScalar(normalized, length) + } +} + +/** + * The EventHandler class is used to take care of a event based design + * pattern. Callbacks can subscribe to an event and these unknown sources + * get notified whenever the event changes. + * + * @export + * @class EventHandler + */ +export class EventHandler { + /** + * Creates an instance of EventHandler. + * @param {any} name + * @param {any} [{ + * listeners = [] - With the listnerers parameter the user can specify a function, array of functions or null (no function - useful when used in constructor with optional parameter). + * }={}] + * @memberof EventHandler + */ + constructor(name, { listeners = [] } = {}) { + this.name = name + this.listeners = [] + this.onces = [] + + /** + * One may initialize the eventListener using a parameter + * that is either passed or null. + */ + + if (listeners == null) { + // Null is a valid value as the EventHandler assumes no listener is passed on purpose. + // This is useful, when a default parameter is passed as null. + } else if (Array.isArray(listeners)) this.listeners = listeners + else if (typeof listeners == 'function') { + this.listeners = [] + this.add(listeners) + } else { + console.warn( + "The provided 'listeners' is neither an Array of functions, nor a function. No eventcallback was added!", + listeners, + this + ) + } + } + + addMultiple(...callbacks) { + for (let callback of callbacks) { + this.listeners.push(callback) + } + } + + add(callback) { + this.listeners.push(callback) + return callback + } + + once(callback) { + this.onces.push(callback) + } + + remove(func) { + for (const [idx, listener] of this.listeners.entries()) { + if (listener === func) { + this.listeners.splice(idx, 1) + return true + } + } + return false + } + + empty() { + this.listeners = [] + } + + call(context, ...args) { + this.listeners.forEach(listener => listener.call(context, ...args)) + this.onces.forEach(listener => listener.call(context, ...args)) + this.onces = [] + } + + get length() { + return this.listeners.length + this.onces.length + } +} + +export class Dom { + /** + * Popups should be displayed right over the text. + * Normally we would expect the popup to appear right over + * the center of the text. A problem in HTML is, that it's hard + * to determine the position of a text link, when it has a line-break + * in it. + * + * This function solves this problem in the (so far) only possible way. + * + * 1. It removes the link from the dom tree. + * 2. It adds an empty copy A of the link to the dom tree. (Copy is important, as the same styles have to be applied.) + * 3. The contents of the link are added one by one to A. + * 4. If the resulting boundingRect is bigger than the previous one, a line break is detected. + * 5. The old line is tested, if the point was inside that boundingBox. If so save that bounding box (Goto: 7), else: + * 6. Saves the content to a preceding clone B. And repeats from 3. + * 7. Replace A with the initial content + * 8. Return the found BoundingBox. If none found. Return the last bounding box. + */ + static getTextHitRect(link, point) { + // We cannot use it as it produces axis aligned bounding boxes + /* if (true) { + let rects = link.getClientRects() + let target = null + for (let [idx, rect] of Object.entries(rects)) { + target = rect + if (Rect.contains(rect, point)) + break + } + return target + + } else {*/ + let processedText = link.cloneNode(true) + let content = processedText.innerHTML + let words = content.split(/ /g) + processedText.innerHTML = '' + event.target.innerHTML = '' + // let lineRect = event.target.getBoundingClientRect() + let local = Points.fromPageToNode(event.target.parentNode, point) + console.log(local) + + let target = event.target + let height = 0 + + while (words.length > 0) { + let word = words.pop() + target.innerHTML += word + ' ' + if (target.height != height) { + // New line was reached. + console.log('NEW LINE WAS REACHED!') + } + } + + return { + top: 0, + left: 0, + right: 100, + bottom: 100, + width: 100, + height: 100 + } + + // let total = words.length + // while (words.length > 0) { + // let lastRect = lineRect + // let lastContent = event.target.innerHTML + // let added = words.length == total ? "" : " " + // added += words.shift() + // event.target.innerHTML += added + // lineRect = event.target.getBoundingClientRect() + + // // When new line or last line: + // if (lineRect.height != lastRect.height) { + // //Reconstructure last line. + // event.target.innerHTML = lastContent + + // //Create Rect from last line. + // lineRect = event.target.getBoundingClientRect() + // rects.push(lineRect) + + // //Copy last line content to processed text. + // processedText.innerHTML += lastContent + + // // Create content of new line. + // event.target.innerHTML = added + + // if (!processedText.parentNode) event.target.parentNode.insertBefore(processedText, event.target) + + // if (Rect.contains(lineRect, point)) { + // break + // } + // } + + // if (words.length == 0) { + // lineRect = event.target.getBoundingClientRect() + // processedText.innerHTML += event.target.innerHTML + // rects.push(lineRect) + // } + // } + + // event.target.innerHTML = content + // if (processedText.parentNode) processedText.parentNode.removeChild(processedText) + + // return lineRect + // } + } + + static printDomRect(rect, { color = 'red', pad = 0, parent = document.body }) { + let element = document.createElement('div') + Object.assign(element.style, { + padding: pad + 'px', + borderColor: color, + borderWidth: '2px', + borderStyle: 'solid', + top: rect.top + 'px', + left: rect.left + 'px', + width: rect.width + 'px', + height: rect.height + 'px', + position: 'absolute', + zIndex: 10000, + opacity: 0.3 + }) + parent.appendChild(element) + } + + static printDomPoint(point, { color = 'red', parent = document.body }) { + let element = document.createElement('div') + Object.assign(element.style, { + position: 'absolute', + top: point.y + 'px', + left: point.x + 'px', + width: '10px', + height: '10px', + backgroundColor: color, + zIndex: 10000 + }) + parent.appendChild(element) + } +} diff --git a/lib/pixi/scatter.js b/lib/pixi/scatter.js index cf4e76d..afeb273 100755 --- a/lib/pixi/scatter.js +++ b/lib/pixi/scatter.js @@ -78,6 +78,7 @@ export class ScatterContainer extends PIXI.Graphics { get bounds() { let x = 0 let y = 0 + // @container: We need to call the constant values, as the container // gets resized, when a child moves outside the original boundaries. let w = this.container ? this.containerDimensions.x : this.backgroundWidth || this.app.width @@ -161,9 +162,6 @@ export class ScatterContainer extends PIXI.Graphics { } findHitScatter(data, displayObject, hit) { - // if (hit) { - // console.log("findHitScatter", displayObject) - // } if (hit && this.hitScatter === null && typeof displayObject != undefined) { this.hitScatter = displayObject.scatter ? displayObject.scatter : null } @@ -203,11 +201,13 @@ export class ScatterContainer extends PIXI.Graphics { if (event.claimedByScatter) { return null } + this.hitScatter = null let interactionManager = this.renderer.plugins.interaction let displayObject = interactionManager.hitTest(local, this) if (displayObject != null && displayObject.scatter != null) this.hitScatter = displayObject.scatter if (this.claimEvents) event.claimedByScatter = this.hitScatter + return this.hitScatter } diff --git a/package-lock.json b/package-lock.json index 28f9d32..b7d62be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2845,8 +2845,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "optional": true + "dev": true }, "expand-brackets": { "version": "2.1.4", @@ -3277,8 +3276,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3299,14 +3297,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3321,20 +3317,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3451,8 +3444,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3464,7 +3456,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3479,7 +3470,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3487,14 +3477,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3513,7 +3501,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3594,8 +3581,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3607,7 +3593,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3693,8 +3678,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3730,7 +3714,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3750,7 +3733,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3794,14 +3776,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } },

    xeni0jIC^m2rc5-yA+IAxyK`0!(( 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�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