// Create a JSON2 object only if one does not already exist. We create the
// methods in a closure to avoid creating global variables.
var JSON2;
if (!JSON2) {
JSON2 = {};
}
(function () {
"use strict";
function f(n) {
// Format integers to have at least two digits.
return n < 10 ? '0' + n : n;
}
if (typeof Date.prototype.toJSON2 !== 'function') {
Date.prototype.toJSON2 = function (key) {
return isFinite(this.valueOf()) ?
this.getUTCFullYear() + '-' +
f(this.getUTCMonth() + 1) + '-' +
f(this.getUTCDate()) + 'T' +
f(this.getUTCHours()) + ':' +
f(this.getUTCMinutes()) + ':' +
f(this.getUTCSeconds()) + 'Z' : null;
};
String.prototype.toJSON2 =
Number.prototype.toJSON2 =
Boolean.prototype.toJSON2 = function (key) {
return this.valueOf();
};
}
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
gap,
indent,
meta = { // table of character substitutions
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
},
rep;
function quote(string) {
// If the string contains no control characters, no quote characters, and no
// backslash characters, then we can safely slap some quotes around it.
// Otherwise we must also replace the offending characters with safe escape
// sequences.
escapable.lastIndex = 0;
return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
var c = meta[a];
return typeof c === 'string' ? c :
'\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"' : '"' + string + '"';
}
function str(key, holder) {
// Produce a string from holder[key].
var i, // The loop counter.
k, // The member key.
v, // The member value.
length,
mind = gap,
partial,
value = holder[key];
// If the value has a toJSON2 method, call it to obtain a replacement value.
if (value && typeof value === 'object' &&
typeof value.toJSON2 === 'function') {
value = value.toJSON2(key);
}
// If we were called with a replacer function, then call the replacer to
// obtain a replacement value.
if (typeof rep === 'function') {
value = rep.call(holder, key, value);
}
// What happens next depends on the value's type.
switch (typeof value) {
case 'string':
return quote(value);
case 'number':
// JSON2 numbers must be finite. Encode non-finite numbers as null.
return isFinite(value) ? String(value) : 'null';
case 'boolean':
case 'null':
// If the value is a boolean or null, convert it to a string. Note:
// typeof null does not produce 'null'. The case is included here in
// the remote chance that this gets fixed someday.
return String(value);
// If the type is 'object', we might be dealing with an object or an array or
// null.
case 'object':
// Due to a specification blunder in ECMAScript, typeof null is 'object',
// so watch out for that case.
if (!value) {
return 'null';
}
// Make an array to hold the partial results of stringifying this object value.
gap += indent;
partial = [];
// Is the value an array?
if (Object.prototype.toString.apply(value) === '[object Array]') {
// The value is an array. Stringify every element. Use null as a placeholder
// for non-JSON2 values.
length = value.length;
for (i = 0; i < length; i += 1) {
partial[i] = str(i, value) || 'null';
}
// Join all of the elements together, separated with commas, and wrap them in
// brackets.
v = partial.length === 0 ? '[]' : gap ?
'[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' :
'[' + partial.join(',') + ']';
gap = mind;
return v;
}
// If the replacer is an array, use it to select the members to be stringified.
if (rep && typeof rep === 'object') {
length = rep.length;
for (i = 0; i < length; i += 1) {
k = rep[i];
if (typeof k === 'string') {
v = str(k, value);
if (v) {
partial.push(quote(k) + (gap ? ': ' : ':') + v);
}
}
}
} else {
// Otherwise, iterate through all of the keys in the object.
for (k in value) {
if (Object.hasOwnProperty.call(value, k)) {
v = str(k, value);
if (v) {
partial.push(quote(k) + (gap ? ': ' : ':') + v);
}
}
}
}
// Join all of the member texts together, separated with commas,
// and wrap them in braces.
v = partial.length === 0 ? '{}' : gap ?
'{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' :
'{' + partial.join(',') + '}';
gap = mind;
return v;
}
}
// If the JSON2 object does not yet have a stringify method, give it one.
if (typeof JSON2.stringify !== 'function') {
JSON2.stringify = function (value, replacer, space) {
// The stringify method takes a value and an optional replacer, and an optional
// space parameter, and returns a JSON2 text. The replacer can be a function
// that can replace values, or an array of strings that will select the keys.
// A default replacer method can be provided. Use of the space parameter can
// produce text that is more easily readable.
var i;
gap = '';
indent = '';
// If the space parameter is a number, make an indent string containing that
// many spaces.
if (typeof space === 'number') {
for (i = 0; i < space; i += 1) {
indent += ' ';
}
// If the space parameter is a string, it will be used as the indent string.
} else if (typeof space === 'string') {
indent = space;
}
// If there is a replacer, it must be a function or an array.
// Otherwise, throw an error.
rep = replacer;
if (replacer && typeof replacer !== 'function' &&
(typeof replacer !== 'object' ||
typeof replacer.length !== 'number')) {
throw new Error('JSON2.stringify');
}
// Make a fake root object containing our value under the key of ''.
// Return the result of stringifying the value.
return str('', {'': value});
};
}
// If the JSON2 object does not yet have a parse method, give it one.
if (typeof JSON2.parse !== 'function') {
JSON2.parse = function (text, reviver) {
// The parse method takes a text and an optional reviver function, and returns
// a JavaScript value if the text is a valid JSON2 text.
var j;
function walk(holder, key) {
// The walk method is used to recursively walk the resulting structure so
// that modifications can be made.
var k, v, value = holder[key];
if (value && typeof value === 'object') {
for (k in value) {
if (Object.hasOwnProperty.call(value, k)) {
v = walk(value, k);
if (v !== undefined) {
value[k] = v;
} else {
delete value[k];
}
}
}
}
return reviver.call(holder, key, value);
}
// Parsing happens in four stages. In the first stage, we replace certain
// Unicode characters with escape sequences. JavaScript handles many characters
// incorrectly, either silently deleting them, or treating them as line endings.
text = String(text);
cx.lastIndex = 0;
if (cx.test(text)) {
text = text.replace(cx, function (a) {
return '\\u' +
('0000' + a.charCodeAt(0).toString(16)).slice(-4);
});
}
// In the second stage, we run the text against regular expressions that look
// for non-JSON2 patterns. We are especially concerned with '()' and 'new'
// because they can cause invocation, and '=' because it can cause mutation.
// But just to be safe, we want to reject all unexpected forms.
// We split the second stage into 4 regexp operations in order to work around
// crippling inefficiencies in IE's and Safari's regexp engines. First we
// replace the JSON2 backslash pairs with '@' (a non-JSON2 character). Second, we
// replace all simple value tokens with ']' characters. Third, we delete all
// open brackets that follow a colon or comma or that begin the text. Finally,
// we look to see that the remaining characters are only whitespace or ']' or
// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
if (/^[\],:{}\s]*$/
.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
// In the third stage we use the eval function to compile the text into a
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
// in JavaScript: it can begin a block or an object literal. We wrap the text
// in parens to eliminate the ambiguity.
j = eval('(' + text + ')');
// In the optional fourth stage, we recursively walk the new structure, passing
// each name/value pair to a reviver function for possible transformation.
return typeof reviver === 'function' ?
walk({'': j}, '') : j;
}
// If the text is not JSON2 parseable, then a SyntaxError is thrown.
throw new SyntaxError('JSON2.parse');
};
}
}());
//add contains function in Array
Array.prototype.contains = function(obj) {
var i = this.length;
while (i--) {
if (this[i] === obj) {
return true;
}
}
return false;
}
Array.prototype.max = function() {
var max = parseFloat(this[0]);
var len = this.length;
for (var i = 1; i < len; i++) if (parseFloat(this[i]) > max) max = parseFloat(this[i]);
return max;
}
Array.prototype.min = function() {
var min = parseFloat(this[0]);
var len = this.length;
for (var i = 1; i < len; i++) if (parseFloat(this[i]) < min) min = parseFloat(this[i]);
return min;
}
window.net=window.net||{};
net.imapbuilder=net.imapbuilder||{};
net.imapbuilder.gmap=net.imapbuilder.gmap||{};
var map;
var markers=[];
var labels=[];
var images=[];
var polylines=[];
var polygons=[];
var rectangles=[];
var circles=[];
var routes=[];
var current_route = 0;
var route_count = 0 ;
var map_geocoder;
var markerCluster;
var crowdMarkers=[];
var crowdMarkersId=0;
var crowdMarkersData = [] ;
//information box
var gmap_locationdetails;
var modal_div;
var crowdForm_div;
var markerID;
var tempMarker;
var tempMarkerAni;
var crowdGetLocation_div;
var errorMessage_div;
var infoZIndex = 0 ;
var heatMapArr = [];
var heatMapCon_colorRatio;
var cluster_infowindow ;
var cs_title = "Add a Location" ;
var cs_loginas = "Login as" ;
var cs_address = "Address" ;
var cs_desc = "Description" ;
var cs_data = "Crowdsourced data";
var clickCircle;
(function(){
var g=net.imapbuilder.gmap; // shorten the code of the namespace object
// icon list
g.iconlist=[];
g.iconlist[1]={};
g.iconlist[1].imagew="32";
g.iconlist[1].imageh="32";
g.iconlist[1].imageox="0";
g.iconlist[1].imageoy="0";
g.iconlist[1].imageax="16";
g.iconlist[1].imageay="32";
g.iconlist[2]={};
g.iconlist[2].imagew="32";
g.iconlist[2].imageh="32";
g.iconlist[2].imageox="0";
g.iconlist[2].imageoy="0";
g.iconlist[2].imageax="16";
g.iconlist[2].imageay="32";
g.iconlist[3]={};
g.iconlist[3].imagew="32";
g.iconlist[3].imageh="32";
g.iconlist[3].imageox="0";
g.iconlist[3].imageoy="0";
g.iconlist[3].imageax="16";
g.iconlist[3].imageay="32";
g.iconlist[4]={};
g.iconlist[4].imagew="32";
g.iconlist[4].imageh="32";
g.iconlist[4].imageox="0";
g.iconlist[4].imageoy="0";
g.iconlist[4].imageax="16";
g.iconlist[4].imageay="32";
g.iconlist[5]={};
g.iconlist[5].imagew="32";
g.iconlist[5].imageh="32";
g.iconlist[5].imageox="0";
g.iconlist[5].imageoy="0";
g.iconlist[5].imageax="16";
g.iconlist[5].imageay="32";
g.iconlist[6]={};
g.iconlist[6].imagew="32";
g.iconlist[6].imageh="32";
g.iconlist[6].imageox="0";
g.iconlist[6].imageoy="0";
g.iconlist[6].imageax="16";
g.iconlist[6].imageay="32";
g.iconlist[7]={};
g.iconlist[7].imagew="32";
g.iconlist[7].imageh="32";
g.iconlist[7].imageox="0";
g.iconlist[7].imageoy="0";
g.iconlist[7].imageax="16";
g.iconlist[7].imageay="32";
g.iconlist[8]={};
g.iconlist[8].imagew="32";
g.iconlist[8].imageh="32";
g.iconlist[8].imageox="0";
g.iconlist[8].imageoy="0";
g.iconlist[8].imageax="16";
g.iconlist[8].imageay="32";
g.iconlist[9]={};
g.iconlist[9].imagew="32";
g.iconlist[9].imageh="32";
g.iconlist[9].imageox="0";
g.iconlist[9].imageoy="0";
g.iconlist[9].imageax="16";
g.iconlist[9].imageay="32";
g.iconlist[10]={};
g.iconlist[10].imagew="32";
g.iconlist[10].imageh="32";
g.iconlist[10].imageox="0";
g.iconlist[10].imageoy="0";
g.iconlist[10].imageax="16";
g.iconlist[10].imageay="32";
g.iconlist[11]={};
g.iconlist[11].imagew="32";
g.iconlist[11].imageh="32";
g.iconlist[11].imageox="0";
g.iconlist[11].imageoy="0";
g.iconlist[11].imageax="16";
g.iconlist[11].imageay="32";
g.iconlist[12]={};
g.iconlist[12].imagew="32";
g.iconlist[12].imageh="32";
g.iconlist[12].imageox="0";
g.iconlist[12].imageoy="0";
g.iconlist[12].imageax="16";
g.iconlist[12].imageay="32";
g.iconlist[13]={};
g.iconlist[13].imagew="32";
g.iconlist[13].imageh="32";
g.iconlist[13].imageox="0";
g.iconlist[13].imageoy="0";
g.iconlist[13].imageax="16";
g.iconlist[13].imageay="32";
g.iconlist[14]={};
g.iconlist[14].imagew="32";
g.iconlist[14].imageh="32";
g.iconlist[14].imageox="0";
g.iconlist[14].imageoy="0";
g.iconlist[14].imageax="16";
g.iconlist[14].imageay="32";
g.iconlist[15]={};
g.iconlist[15].imagew="32";
g.iconlist[15].imageh="32";
g.iconlist[15].imageox="0";
g.iconlist[15].imageoy="0";
g.iconlist[15].imageax="11";
g.iconlist[15].imageay="32";
g.iconlist[16]={};
g.iconlist[16].imagew="32";
g.iconlist[16].imageh="32";
g.iconlist[16].imageox="0";
g.iconlist[16].imageoy="0";
g.iconlist[16].imageax="11";
g.iconlist[16].imageay="32";
g.iconlist[17]={};
g.iconlist[17].imagew="32";
g.iconlist[17].imageh="32";
g.iconlist[17].imageox="0";
g.iconlist[17].imageoy="0";
g.iconlist[17].imageax="11";
g.iconlist[17].imageay="32";
g.iconlist[18]={};
g.iconlist[18].imagew="32";
g.iconlist[18].imageh="32";
g.iconlist[18].imageox="0";
g.iconlist[18].imageoy="0";
g.iconlist[18].imageax="11";
g.iconlist[18].imageay="32";
g.iconlist[19]={};
g.iconlist[19].imagew="32";
g.iconlist[19].imageh="32";
g.iconlist[19].imageox="0";
g.iconlist[19].imageoy="0";
g.iconlist[19].imageax="11";
g.iconlist[19].imageay="32";
g.iconlist[20]={};
g.iconlist[20].imagew="32";
g.iconlist[20].imageh="32";
g.iconlist[20].imageox="0";
g.iconlist[20].imageoy="0";
g.iconlist[20].imageax="11";
g.iconlist[20].imageay="32";
g.iconlist[21]={};
g.iconlist[21].imagew="32";
g.iconlist[21].imageh="32";
g.iconlist[21].imageox="0";
g.iconlist[21].imageoy="0";
g.iconlist[21].imageax="11";
g.iconlist[21].imageay="32";
g.iconlist[22]={};
g.iconlist[22].imagew="31";
g.iconlist[22].imageh="35";
g.iconlist[22].imageox="0";
g.iconlist[22].imageoy="0";
g.iconlist[22].imageax="15";
g.iconlist[22].imageay="34";
g.iconlist[23]={};
g.iconlist[23].imagew="31";
g.iconlist[23].imageh="35";
g.iconlist[23].imageox="0";
g.iconlist[23].imageoy="0";
g.iconlist[23].imageax="15";
g.iconlist[23].imageay="34";
g.iconlist[24]={};
g.iconlist[24].imagew="31";
g.iconlist[24].imageh="35";
g.iconlist[24].imageox="0";
g.iconlist[24].imageoy="0";
g.iconlist[24].imageax="15";
g.iconlist[24].imageay="34";
g.iconlist[25]={};
g.iconlist[25].imagew="31";
g.iconlist[25].imageh="35";
g.iconlist[25].imageox="0";
g.iconlist[25].imageoy="0";
g.iconlist[25].imageax="15";
g.iconlist[25].imageay="34";
g.iconlist[26]={};
g.iconlist[26].imagew="31";
g.iconlist[26].imageh="35";
g.iconlist[26].imageox="0";
g.iconlist[26].imageoy="0";
g.iconlist[26].imageax="15";
g.iconlist[26].imageay="34";
g.iconlist[27]={};
g.iconlist[27].imagew="31";
g.iconlist[27].imageh="35";
g.iconlist[27].imageox="0";
g.iconlist[27].imageoy="0";
g.iconlist[27].imageax="15";
g.iconlist[27].imageay="34";
g.iconlist[28]={};
g.iconlist[28].imagew="31";
g.iconlist[28].imageh="35";
g.iconlist[28].imageox="0";
g.iconlist[28].imageoy="0";
g.iconlist[28].imageax="15";
g.iconlist[28].imageay="34";
g.iconlist[29]={};
g.iconlist[29].imagew="31";
g.iconlist[29].imageh="35";
g.iconlist[29].imageox="0";
g.iconlist[29].imageoy="0";
g.iconlist[29].imageax="15";
g.iconlist[29].imageay="34";
g.iconlist[30]={};
g.iconlist[30].imagew="31";
g.iconlist[30].imageh="35";
g.iconlist[30].imageox="0";
g.iconlist[30].imageoy="0";
g.iconlist[30].imageax="15";
g.iconlist[30].imageay="34";
g.iconlist[31]={};
g.iconlist[31].imagew="31";
g.iconlist[31].imageh="35";
g.iconlist[31].imageox="0";
g.iconlist[31].imageoy="0";
g.iconlist[31].imageax="15";
g.iconlist[31].imageay="34";
g.iconlist[32]={};
g.iconlist[32].imagew="31";
g.iconlist[32].imageh="35";
g.iconlist[32].imageox="0";
g.iconlist[32].imageoy="0";
g.iconlist[32].imageax="15";
g.iconlist[32].imageay="34";
g.iconlist[33]={};
g.iconlist[33].imagew="31";
g.iconlist[33].imageh="35";
g.iconlist[33].imageox="0";
g.iconlist[33].imageoy="0";
g.iconlist[33].imageax="15";
g.iconlist[33].imageay="34";
g.iconlist[34]={};
g.iconlist[34].imagew="31";
g.iconlist[34].imageh="35";
g.iconlist[34].imageox="0";
g.iconlist[34].imageoy="0";
g.iconlist[34].imageax="15";
g.iconlist[34].imageay="34";
g.iconlist[35]={};
g.iconlist[35].imagew="31";
g.iconlist[35].imageh="35";
g.iconlist[35].imageox="0";
g.iconlist[35].imageoy="0";
g.iconlist[35].imageax="15";
g.iconlist[35].imageay="34";
g.iconlist[36]={};
g.iconlist[36].imagew="31";
g.iconlist[36].imageh="35";
g.iconlist[36].imageox="0";
g.iconlist[36].imageoy="0";
g.iconlist[36].imageax="15";
g.iconlist[36].imageay="34";
g.iconlist[37]={};
g.iconlist[37].imagew="31";
g.iconlist[37].imageh="35";
g.iconlist[37].imageox="0";
g.iconlist[37].imageoy="0";
g.iconlist[37].imageax="15";
g.iconlist[37].imageay="34";
g.iconlist[38]={};
g.iconlist[38].imagew="31";
g.iconlist[38].imageh="35";
g.iconlist[38].imageox="0";
g.iconlist[38].imageoy="0";
g.iconlist[38].imageax="15";
g.iconlist[38].imageay="34";
g.iconlist[39]={};
g.iconlist[39].imagew="31";
g.iconlist[39].imageh="35";
g.iconlist[39].imageox="0";
g.iconlist[39].imageoy="0";
g.iconlist[39].imageax="15";
g.iconlist[39].imageay="34";
g.iconlist[40]={};
g.iconlist[40].imagew="31";
g.iconlist[40].imageh="35";
g.iconlist[40].imageox="0";
g.iconlist[40].imageoy="0";
g.iconlist[40].imageax="15";
g.iconlist[40].imageay="34";
g.iconlist[41]={};
g.iconlist[41].imagew="31";
g.iconlist[41].imageh="35";
g.iconlist[41].imageox="0";
g.iconlist[41].imageoy="0";
g.iconlist[41].imageax="15";
g.iconlist[41].imageay="34";
g.iconlist[42]={};
g.iconlist[42].imagew="31";
g.iconlist[42].imageh="35";
g.iconlist[42].imageox="0";
g.iconlist[42].imageoy="0";
g.iconlist[42].imageax="15";
g.iconlist[42].imageay="34";
g.iconlist[43]={};
g.iconlist[43].imagew="31";
g.iconlist[43].imageh="35";
g.iconlist[43].imageox="0";
g.iconlist[43].imageoy="0";
g.iconlist[43].imageax="15";
g.iconlist[43].imageay="34";
g.iconlist[44]={};
g.iconlist[44].imagew="31";
g.iconlist[44].imageh="35";
g.iconlist[44].imageox="0";
g.iconlist[44].imageoy="0";
g.iconlist[44].imageax="15";
g.iconlist[44].imageay="34";
g.iconlist[45]={};
g.iconlist[45].imagew="31";
g.iconlist[45].imageh="35";
g.iconlist[45].imageox="0";
g.iconlist[45].imageoy="0";
g.iconlist[45].imageax="15";
g.iconlist[45].imageay="34";
g.iconlist[46]={};
g.iconlist[46].imagew="31";
g.iconlist[46].imageh="35";
g.iconlist[46].imageox="0";
g.iconlist[46].imageoy="0";
g.iconlist[46].imageax="15";
g.iconlist[46].imageay="34";
g.iconlist[47]={};
g.iconlist[47].imagew="31";
g.iconlist[47].imageh="35";
g.iconlist[47].imageox="0";
g.iconlist[47].imageoy="0";
g.iconlist[47].imageax="15";
g.iconlist[47].imageay="34";
g.iconlist[48]={};
g.iconlist[48].imagew="31";
g.iconlist[48].imageh="35";
g.iconlist[48].imageox="0";
g.iconlist[48].imageoy="0";
g.iconlist[48].imageax="15";
g.iconlist[48].imageay="34";
g.iconlist[49]={};
g.iconlist[49].imagew="31";
g.iconlist[49].imageh="35";
g.iconlist[49].imageox="0";
g.iconlist[49].imageoy="0";
g.iconlist[49].imageax="15";
g.iconlist[49].imageay="34";
g.iconlist[50]={};
g.iconlist[50].imagew="31";
g.iconlist[50].imageh="35";
g.iconlist[50].imageox="0";
g.iconlist[50].imageoy="0";
g.iconlist[50].imageax="15";
g.iconlist[50].imageay="34";
g.iconlist[51]={};
g.iconlist[51].imagew="31";
g.iconlist[51].imageh="35";
g.iconlist[51].imageox="0";
g.iconlist[51].imageoy="0";
g.iconlist[51].imageax="15";
g.iconlist[51].imageay="34";
g.iconlist[52]={};
g.iconlist[52].imagew="31";
g.iconlist[52].imageh="35";
g.iconlist[52].imageox="0";
g.iconlist[52].imageoy="0";
g.iconlist[52].imageax="15";
g.iconlist[52].imageay="34";
g.iconlist[53]={};
g.iconlist[53].imagew="31";
g.iconlist[53].imageh="35";
g.iconlist[53].imageox="0";
g.iconlist[53].imageoy="0";
g.iconlist[53].imageax="15";
g.iconlist[53].imageay="34";
g.iconlist[54]={};
g.iconlist[54].imagew="31";
g.iconlist[54].imageh="35";
g.iconlist[54].imageox="0";
g.iconlist[54].imageoy="0";
g.iconlist[54].imageax="15";
g.iconlist[54].imageay="34";
g.iconlist[55]={};
g.iconlist[55].imagew="31";
g.iconlist[55].imageh="35";
g.iconlist[55].imageox="0";
g.iconlist[55].imageoy="0";
g.iconlist[55].imageax="15";
g.iconlist[55].imageay="34";
g.iconlist[56]={};
g.iconlist[56].imagew="31";
g.iconlist[56].imageh="35";
g.iconlist[56].imageox="0";
g.iconlist[56].imageoy="0";
g.iconlist[56].imageax="15";
g.iconlist[56].imageay="34";
g.iconlist[57]={};
g.iconlist[57].imagew="31";
g.iconlist[57].imageh="35";
g.iconlist[57].imageox="0";
g.iconlist[57].imageoy="0";
g.iconlist[57].imageax="15";
g.iconlist[57].imageay="34";
g.iconlist[58]={};
g.iconlist[58].imagew="31";
g.iconlist[58].imageh="35";
g.iconlist[58].imageox="0";
g.iconlist[58].imageoy="0";
g.iconlist[58].imageax="15";
g.iconlist[58].imageay="34";
g.iconlist[59]={};
g.iconlist[59].imagew="31";
g.iconlist[59].imageh="35";
g.iconlist[59].imageox="0";
g.iconlist[59].imageoy="0";
g.iconlist[59].imageax="15";
g.iconlist[59].imageay="34";
g.iconlist[60]={};
g.iconlist[60].imagew="31";
g.iconlist[60].imageh="35";
g.iconlist[60].imageox="0";
g.iconlist[60].imageoy="0";
g.iconlist[60].imageax="15";
g.iconlist[60].imageay="34";
g.iconlist[61]={};
g.iconlist[61].imagew="31";
g.iconlist[61].imageh="35";
g.iconlist[61].imageox="0";
g.iconlist[61].imageoy="0";
g.iconlist[61].imageax="15";
g.iconlist[61].imageay="34";
g.iconlist[62]={};
g.iconlist[62].imagew="31";
g.iconlist[62].imageh="35";
g.iconlist[62].imageox="0";
g.iconlist[62].imageoy="0";
g.iconlist[62].imageax="15";
g.iconlist[62].imageay="34";
g.iconlist[63]={};
g.iconlist[63].imagew="31";
g.iconlist[63].imageh="35";
g.iconlist[63].imageox="0";
g.iconlist[63].imageoy="0";
g.iconlist[63].imageax="15";
g.iconlist[63].imageay="34";
g.iconlist[64]={};
g.iconlist[64].imagew="31";
g.iconlist[64].imageh="35";
g.iconlist[64].imageox="0";
g.iconlist[64].imageoy="0";
g.iconlist[64].imageax="15";
g.iconlist[64].imageay="34";
g.iconlist[65]={};
g.iconlist[65].imagew="31";
g.iconlist[65].imageh="35";
g.iconlist[65].imageox="0";
g.iconlist[65].imageoy="0";
g.iconlist[65].imageax="15";
g.iconlist[65].imageay="34";
g.iconlist[66]={};
g.iconlist[66].imagew="31";
g.iconlist[66].imageh="35";
g.iconlist[66].imageox="0";
g.iconlist[66].imageoy="0";
g.iconlist[66].imageax="15";
g.iconlist[66].imageay="34";
g.iconlist[67]={};
g.iconlist[67].imagew="31";
g.iconlist[67].imageh="35";
g.iconlist[67].imageox="0";
g.iconlist[67].imageoy="0";
g.iconlist[67].imageax="15";
g.iconlist[67].imageay="34";
g.iconlist[68]={};
g.iconlist[68].imagew="31";
g.iconlist[68].imageh="35";
g.iconlist[68].imageox="0";
g.iconlist[68].imageoy="0";
g.iconlist[68].imageax="15";
g.iconlist[68].imageay="34";
g.iconlist[69]={};
g.iconlist[69].imagew="31";
g.iconlist[69].imageh="35";
g.iconlist[69].imageox="0";
g.iconlist[69].imageoy="0";
g.iconlist[69].imageax="15";
g.iconlist[69].imageay="34";
g.iconlist[70]={};
g.iconlist[70].imagew="31";
g.iconlist[70].imageh="35";
g.iconlist[70].imageox="0";
g.iconlist[70].imageoy="0";
g.iconlist[70].imageax="15";
g.iconlist[70].imageay="34";
g.iconlist[71]={};
g.iconlist[71].imagew="31";
g.iconlist[71].imageh="35";
g.iconlist[71].imageox="0";
g.iconlist[71].imageoy="0";
g.iconlist[71].imageax="15";
g.iconlist[71].imageay="34";
g.iconlist[72]={};
g.iconlist[72].imagew="20";
g.iconlist[72].imageh="20";
g.iconlist[72].imageox="0";
g.iconlist[72].imageoy="0";
g.iconlist[72].imageax="10";
g.iconlist[72].imageay="10";
g.iconlist[73]={};
g.iconlist[73].imagew="20";
g.iconlist[73].imageh="20";
g.iconlist[73].imageox="0";
g.iconlist[73].imageoy="0";
g.iconlist[73].imageax="10";
g.iconlist[73].imageay="10";
g.iconlist[74]={};
g.iconlist[74].imagew="20";
g.iconlist[74].imageh="20";
g.iconlist[74].imageox="0";
g.iconlist[74].imageoy="0";
g.iconlist[74].imageax="10";
g.iconlist[74].imageay="10";
g.iconlist[75]={};
g.iconlist[75].imagew="12";
g.iconlist[75].imageh="12";
g.iconlist[75].imageox="0";
g.iconlist[75].imageoy="0";
g.iconlist[75].imageax="6";
g.iconlist[75].imageay="12";
g.iconlist[76]={};
g.iconlist[76].imagew="12";
g.iconlist[76].imageh="12";
g.iconlist[76].imageox="0";
g.iconlist[76].imageoy="0";
g.iconlist[76].imageax="6";
g.iconlist[76].imageay="12";
g.iconlist[77]={};
g.iconlist[77].imagew="12";
g.iconlist[77].imageh="12";
g.iconlist[77].imageox="0";
g.iconlist[77].imageoy="0";
g.iconlist[77].imageax="6";
g.iconlist[77].imageay="12";
g.iconlist[78]={};
g.iconlist[78].imagew="12";
g.iconlist[78].imageh="12";
g.iconlist[78].imageox="0";
g.iconlist[78].imageoy="0";
g.iconlist[78].imageax="6";
g.iconlist[78].imageay="12";
g.iconlist[79]={};
g.iconlist[79].imagew="12";
g.iconlist[79].imageh="12";
g.iconlist[79].imageox="0";
g.iconlist[79].imageoy="0";
g.iconlist[79].imageax="6";
g.iconlist[79].imageay="12";
g.iconlist[80]={};
g.iconlist[80].imagew="12";
g.iconlist[80].imageh="12";
g.iconlist[80].imageox="0";
g.iconlist[80].imageoy="0";
g.iconlist[80].imageax="6";
g.iconlist[80].imageay="12";
g.iconlist[81]={};
g.iconlist[81].imagew="12";
g.iconlist[81].imageh="12";
g.iconlist[81].imageox="0";
g.iconlist[81].imageoy="0";
g.iconlist[81].imageax="6";
g.iconlist[81].imageay="12";
g.iconlist[82]={};
g.iconlist[82].imagew="12";
g.iconlist[82].imageh="12";
g.iconlist[82].imageox="0";
g.iconlist[82].imageoy="0";
g.iconlist[82].imageax="6";
g.iconlist[82].imageay="12";
g.iconlist[83]={};
g.iconlist[83].imagew="12";
g.iconlist[83].imageh="12";
g.iconlist[83].imageox="0";
g.iconlist[83].imageoy="0";
g.iconlist[83].imageax="6";
g.iconlist[83].imageay="12";
g.iconlist[84]={};
g.iconlist[84].imagew="12";
g.iconlist[84].imageh="12";
g.iconlist[84].imageox="0";
g.iconlist[84].imageoy="0";
g.iconlist[84].imageax="6";
g.iconlist[84].imageay="12";
g.iconlist[85]={};
g.iconlist[85].imagew="12";
g.iconlist[85].imageh="12";
g.iconlist[85].imageox="0";
g.iconlist[85].imageoy="0";
g.iconlist[85].imageax="6";
g.iconlist[85].imageay="12";
g.iconlist[86]={};
g.iconlist[86].imagew="12";
g.iconlist[86].imageh="12";
g.iconlist[86].imageox="0";
g.iconlist[86].imageoy="0";
g.iconlist[86].imageax="6";
g.iconlist[86].imageay="12";
g.iconlist[87]={};
g.iconlist[87].imagew="31";
g.iconlist[87].imageh="35";
g.iconlist[87].imageox="0";
g.iconlist[87].imageoy="0";
g.iconlist[87].imageax="15";
g.iconlist[87].imageay="35";
g.iconlist[88]={};
g.iconlist[88].imagew="31";
g.iconlist[88].imageh="35";
g.iconlist[88].imageox="0";
g.iconlist[88].imageoy="0";
g.iconlist[88].imageax="15";
g.iconlist[88].imageay="35";
g.iconlist[89]={};
g.iconlist[89].imagew="31";
g.iconlist[89].imageh="35";
g.iconlist[89].imageox="0";
g.iconlist[89].imageoy="0";
g.iconlist[89].imageax="15";
g.iconlist[89].imageay="35";
g.iconlist[90]={};
g.iconlist[90].imagew="31";
g.iconlist[90].imageh="35";
g.iconlist[90].imageox="0";
g.iconlist[90].imageoy="0";
g.iconlist[90].imageax="15";
g.iconlist[90].imageay="35";
g.iconlist[91]={};
g.iconlist[91].imagew="31";
g.iconlist[91].imageh="35";
g.iconlist[91].imageox="0";
g.iconlist[91].imageoy="0";
g.iconlist[91].imageax="15";
g.iconlist[91].imageay="35";
g.iconlist[92]={};
g.iconlist[92].imagew="31";
g.iconlist[92].imageh="35";
g.iconlist[92].imageox="0";
g.iconlist[92].imageoy="0";
g.iconlist[92].imageax="15";
g.iconlist[92].imageay="35";
g.iconlist[93]={};
g.iconlist[93].imagew="31";
g.iconlist[93].imageh="35";
g.iconlist[93].imageox="0";
g.iconlist[93].imageoy="0";
g.iconlist[93].imageax="15";
g.iconlist[93].imageay="35";
g.iconlist[94]={};
g.iconlist[94].imagew="31";
g.iconlist[94].imageh="35";
g.iconlist[94].imageox="0";
g.iconlist[94].imageoy="0";
g.iconlist[94].imageax="15";
g.iconlist[94].imageay="35";
g.iconlist[95]={};
g.iconlist[95].imagew="31";
g.iconlist[95].imageh="35";
g.iconlist[95].imageox="0";
g.iconlist[95].imageoy="0";
g.iconlist[95].imageax="15";
g.iconlist[95].imageay="35";
g.expire=true; var limit_object = 8;
var object_count = 0 ;
var opened_window ;
var searchMarkerID = 0 ;
g.run=function(d){
g.data=JSON2.parse(d);
if( g.data.datalist == undefined){
g.data.datalist={};
g.data.datalist.position=""; // top , right, left, bottom
g.data.datalist.width=""; // none if top or bottom
g.data.datalist.height=""; // none if left or right
g.data.datalist.bgcolor="#F0F0F0";
}else{
if( g.data.datalist.position != undefined){
var positionArr=["", "top", "bottom", "left", "right"];
g.data.datalist.position=positionArr[g.data.datalist.position] ;
}
}
if(g.data.datalist.showmarkers== undefined)
g.data.datalist.showmarkers=-1;
if( g.data.crowdmap == undefined){
g.data.crowdmap={};
g.data.crowdmap.mode="";
g.data.crowdmap.markericon=3;
}
//g.data.width="800px";
//g.data.height="600px";
// modify to 100% if browser is mobile
/*
if(navigator.userAgent.indexOf('iPhone')!=-1||navigator.userAgent.indexOf('Android')!=-1){
g.data.width=100;
g.data.width_unit='%';
g.data.height=100;
g.data.height_unit='%';
}
*/
var gmap_informationbox_style="overflow: hidden; border: 1px solid #DDD; font-family: Verdana,Geneva,sans-serif; font-size: 12px; margin: 5px;";
var width = g.data.width+g.data.width_unit;
var height = g.data.height+g.data.height_unit;
if( g.data.datalist.position=="top"||g.data.datalist.position=="left" )
document.write('
'+
'
'+
'
');
else
document.write('
'+
'
'+
'
');
var script=document.createElement('script');
var lang = '';
if(g.data.lang != undefined && g.data.lang != "")
lang = '&language='+g.data.lang;
// here we dynamically determine whether mapkey is used
script.src='//maps.google.com/maps/api/js?key='+net.imapbuilder.gmap.mapkey+'&callback=net.imapbuilder.gmap.initialize&libraries=geometry'+lang; // &v=3.3
script.type='text/javascript';
document.body.appendChild(script);
if( g.data.font_size!=undefined)
document.getElementById('gmap_'+g.data.fileid).style.fontSize=g.data.font_size+'px';
if( g.data.font_family!=undefined)
document.getElementById('gmap_'+g.data.fileid).style.fontFamily=g.data.font_family;
}
// get device width and height
g.getWidth=function(){
xWidth = null;
if(window.screen != null)
xWidth = window.screen.availWidth;
if(window.innerWidth != null)
xWidth = window.innerWidth;
if(document.body != null)
xWidth = document.body.clientWidth;
return xWidth;
}
g.getHeight=function() {
xHeight = null;
if(window.screen != null)
xHeight = window.screen.availHeight;
if(window.innerHeight != null)
xHeight = window.innerHeight;
if(document.body != null)
xHeight = document.body.clientHeight;
return xHeight;
}
g.initialize=function(){
map_geocoder=new google.maps.Geocoder();
// start of clustering function
//if(g.data.clustering===true){
function MarkerClusterer(map, opt_markers, opt_options) {
// MarkerClusterer implements google.maps.OverlayView interface. We use the
// extend function to extend MarkerClusterer with google.maps.OverlayView
// because it might not always be available when the code is defined so we
// look for it at the last possible moment. If it doesn't exist now then
// there is no point going ahead :)
this.extend(MarkerClusterer, google.maps.OverlayView);
this.map_ = map;
/**
* @type {Array.}
* @private
*/
this.markers_ = [];
/**
* @type {Array.}
*/
this.clusters_ = [];
this.sizes = [53, 56, 66, 78, 90];
/**
* @private
*/
this.styles_ = [];
/**
* @type {boolean}
* @private
*/
this.ready_ = false;
var options = opt_options || {};
/**
* @type {number}
* @private
*/
this.gridSize_ = options['gridSize'] || 60;
/**
* @private
*/
this.minClusterSize_ = options['minimumClusterSize'] || 2;
/**
* @type {?number}
* @private
*/
this.maxZoom_ = options['maxZoom'] || null;
this.styles_ = options['styles'] || [];
/**
* @type {string}
* @private
*/
this.imagePath_ = options['imagePath'] ||
this.MARKER_CLUSTER_IMAGE_PATH_;
/**
* @type {string}
* @private
*/
this.imageExtension_ = options['imageExtension'] ||
this.MARKER_CLUSTER_IMAGE_EXTENSION_;
/**
* @type {boolean}
* @private
*/
this.zoomOnClick_ = true;
if (options['zoomOnClick'] != undefined) {
this.zoomOnClick_ = options['zoomOnClick'];
}
/**
* @type {boolean}
* @private
*/
this.averageCenter_ = false;
if (options['averageCenter'] != undefined) {
this.averageCenter_ = options['averageCenter'];
}
this.setupStyles_();
this.setMap(map);
/**
* @type {number}
* @private
*/
this.prevZoom_ = this.map_.getZoom();
// Add the map event listeners
var that = this;
google.maps.event.addListener(this.map_, 'zoom_changed', function() {
var zoom = that.map_.getZoom();
if (that.prevZoom_ != zoom) {
that.prevZoom_ = zoom;
that.resetViewport();
}
});
google.maps.event.addListener(this.map_, 'idle', function() {
that.redraw();
});
// Finally, add the markers
if (opt_markers && opt_markers.length) {
this.addMarkers(opt_markers, false);
}
}
/**
* The marker cluster image path.
*
* @type {string}
* @private
*/
MarkerClusterer.prototype.MARKER_CLUSTER_IMAGE_PATH_ =
'//google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/' +
'images/m';
/**
* The marker cluster image path.
*
* @type {string}
* @private
*/
MarkerClusterer.prototype.MARKER_CLUSTER_IMAGE_EXTENSION_ = 'png';
/**
* Extends a objects prototype by anothers.
*
* @param {Object} obj1 The object to be extended.
* @param {Object} obj2 The object to extend with.
* @return {Object} The new extended object.
* @ignore
*/
MarkerClusterer.prototype.extend = function(obj1, obj2) {
return (function(object) {
for (var property in object.prototype) {
this.prototype[property] = object.prototype[property];
}
return this;
}).apply(obj1, [obj2]);
};
/**
* Implementaion of the interface method.
* @ignore
*/
MarkerClusterer.prototype.onAdd = function() {
this.setReady_(true);
};
/**
* Implementaion of the interface method.
* @ignore
*/
MarkerClusterer.prototype.draw = function() {};
/**
* Sets up the styles object.
*
* @private
*/
MarkerClusterer.prototype.setupStyles_ = function() {
if (this.styles_.length) {
return;
}
for (var i = 0, size; size = this.sizes[i]; i++) {
this.styles_.push({
url: this.imagePath_ + (i + 1) + '.' + this.imageExtension_,
height: size,
width: size
});
}
};
/**
* Fit the map to the bounds of the markers in the clusterer.
*/
MarkerClusterer.prototype.fitMapToMarkers = function() {
var markers = this.getMarkers();
var bounds = new google.maps.LatLngBounds();
for (var i = 0, marker; marker = markers[i]; i++) {
bounds.extend(marker.getPosition());
}
this.map_.fitBounds(bounds);
};
/**
* Sets the styles.
*
* @param {Object} styles The style to set.
*/
MarkerClusterer.prototype.setStyles = function(styles) {
this.styles_ = styles;
};
/**
* Gets the styles.
*
* @return {Object} The styles object.
*/
MarkerClusterer.prototype.getStyles = function() {
return this.styles_;
};
/**
* Whether zoom on click is set.
*
* @return {boolean} True if zoomOnClick_ is set.
*/
MarkerClusterer.prototype.isZoomOnClick = function() {
return this.zoomOnClick_;
};
/**
* Whether average center is set.
*
* @return {boolean} True if averageCenter_ is set.
*/
MarkerClusterer.prototype.isAverageCenter = function() {
return this.averageCenter_;
};
/**
* Returns the array of markers in the clusterer.
*
* @return {Array.} The markers.
*/
MarkerClusterer.prototype.getMarkers = function() {
return this.markers_;
};
/**
* Returns the number of markers in the clusterer
*
* @return {Number} The number of markers.
*/
MarkerClusterer.prototype.getTotalMarkers = function() {
return this.markers_.length;
};
/**
* Sets the max zoom for the clusterer.
*
* @param {number} maxZoom The max zoom level.
*/
MarkerClusterer.prototype.setMaxZoom = function(maxZoom) {
this.maxZoom_ = maxZoom;
};
/**
* Gets the max zoom for the clusterer.
*
* @return {number} The max zoom level.
*/
MarkerClusterer.prototype.getMaxZoom = function() {
return this.maxZoom_;
};
/**
* The function for calculating the cluster icon image.
*
* @param {Array.} markers The markers in the clusterer.
* @param {number} numStyles The number of styles available.
* @return {Object} A object properties: 'text' (string) and 'index' (number).
* @private
*/
MarkerClusterer.prototype.calculator_ = function(markers, numStyles) {
var index = 0;
var count = markers.length;
var dv = count;
while (dv !== 0) {
dv = parseInt(dv / 10, 10);
index++;
}
index = Math.min(index, numStyles);
return {
text: count,
index: index
};
};
/**
* Set the calculator function.
*
* @param {function(Array, number)} calculator The function to set as the
* calculator. The function should return a object properties:
* 'text' (string) and 'index' (number).
*
*/
MarkerClusterer.prototype.setCalculator = function(calculator) {
this.calculator_ = calculator;
};
/**
* Get the calculator function.
*
* @return {function(Array, number)} the calculator function.
*/
MarkerClusterer.prototype.getCalculator = function() {
return this.calculator_;
};
/**
* Add an array of markers to the clusterer.
*
* @param {Array.} markers The markers to add.
* @param {boolean=} opt_nodraw Whether to redraw the clusters.
*/
MarkerClusterer.prototype.addMarkers = function(markers, opt_nodraw) {
/*
for (var i = 0, marker; marker = markers[i]; i++) {
this.pushMarkerTo_(marker);
}
*/
//Terry modified 20120326
for(var i = 0 ; i < markers.length ; i++){
if( markers[i] != undefined )
this.pushMarkerTo_(markers[i]);
}
if (!opt_nodraw) {
this.redraw();
}
};
/**
* Pushes a marker to the clusterer.
*
* @param {google.maps.Marker} marker The marker to add.
* @private
*/
MarkerClusterer.prototype.pushMarkerTo_ = function(marker) {
marker.isAdded = false;
if (marker['draggable']) {
// If the marker is draggable add a listener so we update the clusters on
// the drag end.
var that = this;
google.maps.event.addListener(marker, 'dragend', function() {
marker.isAdded = false;
that.repaint();
});
}
this.markers_.push(marker);
};
/**
* Adds a marker to the clusterer and redraws if needed.
*
* @param {google.maps.Marker} marker The marker to add.
* @param {boolean=} opt_nodraw Whether to redraw the clusters.
*/
MarkerClusterer.prototype.addMarker = function(marker, opt_nodraw) {
this.pushMarkerTo_(marker);
if (!opt_nodraw) {
this.redraw();
}
};
/**
* Removes a marker and returns true if removed, false if not
*
* @param {google.maps.Marker} marker The marker to remove
* @return {boolean} Whether the marker was removed or not
* @private
*/
MarkerClusterer.prototype.removeMarker_ = function(marker) {
var index = -1;
if (this.markers_.indexOf) {
index = this.markers_.indexOf(marker);
} else {
for (var i = 0, m; m = this.markers_[i]; i++) {
if (m == marker) {
index = i;
break;
}
}
}
if (index == -1) {
// Marker is not in our list of markers.
return false;
}
marker.setMap(null);
this.markers_.splice(index, 1);
return true;
};
/**
* Remove a marker from the cluster.
*
* @param {google.maps.Marker} marker The marker to remove.
* @param {boolean=} opt_nodraw Optional boolean to force no redraw.
* @return {boolean} True if the marker was removed.
*/
MarkerClusterer.prototype.removeMarker = function(marker, opt_nodraw) {
var removed = this.removeMarker_(marker);
if (!opt_nodraw && removed) {
this.resetViewport();
this.redraw();
return true;
} else {
return false;
}
};
/**
* Removes an array of markers from the cluster.
*
* @param {Array.} markers The markers to remove.
* @param {boolean=} opt_nodraw Optional boolean to force no redraw.
*/
MarkerClusterer.prototype.removeMarkers = function(markers, opt_nodraw) {
var removed = false;
for (var i = 0, marker; marker = markers[i]; i++) {
var r = this.removeMarker_(marker);
removed = removed || r;
}
if (!opt_nodraw && removed) {
this.resetViewport();
this.redraw();
return true;
}
};
/**
* Sets the clusterer's ready state.
*
* @param {boolean} ready The state.
* @private
*/
MarkerClusterer.prototype.setReady_ = function(ready) {
if (!this.ready_) {
this.ready_ = ready;
this.createClusters_();
}
};
/**
* Returns the number of clusters in the clusterer.
*
* @return {number} The number of clusters.
*/
MarkerClusterer.prototype.getTotalClusters = function() {
return this.clusters_.length;
};
/**
* Returns the google map that the clusterer is associated with.
*
* @return {google.maps.Map} The map.
*/
MarkerClusterer.prototype.getMap = function() {
return this.map_;
};
/**
* Sets the google map that the clusterer is associated with.
*
* @param {google.maps.Map} map The map.
*/
MarkerClusterer.prototype.setMap = function(map) {
this.map_ = map;
};
/**
* Returns the size of the grid.
*
* @return {number} The grid size.
*/
MarkerClusterer.prototype.getGridSize = function() {
return this.gridSize_;
};
/**
* Sets the size of the grid.
*
* @param {number} size The grid size.
*/
MarkerClusterer.prototype.setGridSize = function(size) {
this.gridSize_ = size;
};
/**
* Returns the min cluster size.
*
* @return {number} The grid size.
*/
MarkerClusterer.prototype.getMinClusterSize = function() {
return this.minClusterSize_;
};
/**
* Sets the min cluster size.
*
* @param {number} size The grid size.
*/
MarkerClusterer.prototype.setMinClusterSize = function(size) {
this.minClusterSize_ = size;
};
/**
* Extends a bounds object by the grid size.
*
* @param {google.maps.LatLngBounds} bounds The bounds to extend.
* @return {google.maps.LatLngBounds} The extended bounds.
*/
MarkerClusterer.prototype.getExtendedBounds = function(bounds) {
var projection = this.getProjection();
// Turn the bounds into latlng.
var tr = new google.maps.LatLng(bounds.getNorthEast().lat(),
bounds.getNorthEast().lng());
var bl = new google.maps.LatLng(bounds.getSouthWest().lat(),
bounds.getSouthWest().lng());
// Convert the points to pixels and the extend out by the grid size.
var trPix = projection.fromLatLngToDivPixel(tr);
trPix.x += this.gridSize_;
trPix.y -= this.gridSize_;
var blPix = projection.fromLatLngToDivPixel(bl);
blPix.x -= this.gridSize_;
blPix.y += this.gridSize_;
// Convert the pixel points back to LatLng
var ne = projection.fromDivPixelToLatLng(trPix);
var sw = projection.fromDivPixelToLatLng(blPix);
// Extend the bounds to contain the new bounds.
bounds.extend(ne);
bounds.extend(sw);
return bounds;
};
/**
* Determins if a marker is contained in a bounds.
*
* @param {google.maps.Marker} marker The marker to check.
* @param {google.maps.LatLngBounds} bounds The bounds to check against.
* @return {boolean} True if the marker is in the bounds.
* @private
*/
MarkerClusterer.prototype.isMarkerInBounds_ = function(marker, bounds) {
return bounds.contains(marker.getPosition());
};
/**
* Clears all clusters and markers from the clusterer.
*/
MarkerClusterer.prototype.clearMarkers = function() {
this.resetViewport(true);
// Set the markers a empty array.
this.markers_ = [];
};
/**
* Clears all existing clusters and recreates them.
* @param {boolean} opt_hide To also hide the marker.
*/
MarkerClusterer.prototype.resetViewport = function(opt_hide) {
// Remove all the clusters
for (var i = 0, cluster; cluster = this.clusters_[i]; i++) {
cluster.remove();
}
// Reset the markers to not be added and to be invisible.
for (var i = 0, marker; marker = this.markers_[i]; i++) {
marker.isAdded = false;
if (opt_hide) {
marker.setMap(null);
}
}
this.clusters_ = [];
};
/**
*
*/
MarkerClusterer.prototype.repaint = function() {
var oldClusters = this.clusters_.slice();
this.clusters_.length = 0;
this.resetViewport();
this.redraw();
// Remove the old clusters.
// Do it in a timeout so the other clusters have been drawn first.
window.setTimeout(function() {
for (var i = 0, cluster; cluster = oldClusters[i]; i++) {
cluster.remove();
}
}, 0);
};
/**
* Redraws the clusters.
*/
MarkerClusterer.prototype.redraw = function() {
this.createClusters_();
};
/**
* Calculates the distance between two latlng locations in km.
* @see http://www.movable-type.co.uk/scripts/latlong.html
*
* @param {google.maps.LatLng} p1 The first lat lng point.
* @param {google.maps.LatLng} p2 The second lat lng point.
* @return {number} The distance between the two points in km.
* @private
*/
MarkerClusterer.prototype.distanceBetweenPoints_ = function(p1, p2) {
if (!p1 || !p2) {
return 0;
}
var R = 6371; // Radius of the Earth in km
var dLat = (p2.lat() - p1.lat()) * Math.PI / 180;
var dLon = (p2.lng() - p1.lng()) * Math.PI / 180;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(p1.lat() * Math.PI / 180) * Math.cos(p2.lat() * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
};
/**
* Add a marker to a cluster, or creates a new cluster.
*
* @param {google.maps.Marker} marker The marker to add.
* @private
*/
MarkerClusterer.prototype.addToClosestCluster_ = function(marker) {
var distance = 40000; // Some large number
var clusterToAddTo = null;
var pos = marker.getPosition();
for (var i = 0, cluster; cluster = this.clusters_[i]; i++) {
var center = cluster.getCenter();
if (center) {
var d = this.distanceBetweenPoints_(center, marker.getPosition());
if (d < distance) {
distance = d;
clusterToAddTo = cluster;
}
}
}
if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) {
clusterToAddTo.addMarker(marker);
} else {
var cluster = new Cluster(this);
cluster.addMarker(marker);
this.clusters_.push(cluster);
}
};
/**
* Creates the clusters.
*
* @private
*/
MarkerClusterer.prototype.createClusters_ = function() {
if (!this.ready_) {
return;
}
// Get our current map view bounds.
// Create a new bounds object so we don't affect the map.
var mapBounds = new google.maps.LatLngBounds(this.map_.getBounds().getSouthWest(),
this.map_.getBounds().getNorthEast());
var bounds = this.getExtendedBounds(mapBounds);
for (var i = 0, marker; marker = this.markers_[i]; i++) {
if (!marker.isAdded && this.isMarkerInBounds_(marker, bounds)) {
this.addToClosestCluster_(marker);
}
}
};
/**
* A cluster that contains markers.
*
* @param {MarkerClusterer} markerClusterer The markerclusterer that this
* cluster is associated with.
* @constructor
* @ignore
*/
function Cluster(markerClusterer) {
this.markerClusterer_ = markerClusterer;
this.map_ = markerClusterer.getMap();
this.gridSize_ = markerClusterer.getGridSize();
this.minClusterSize_ = markerClusterer.getMinClusterSize();
this.averageCenter_ = markerClusterer.isAverageCenter();
this.center_ = null;
this.markers_ = [];
this.bounds_ = null;
this.clusterIcon_ = new ClusterIcon(this, markerClusterer.getStyles(),
markerClusterer.getGridSize());
}
/**
* Determins if a marker is already added to the cluster.
*
* @param {google.maps.Marker} marker The marker to check.
* @return {boolean} True if the marker is already added.
*/
Cluster.prototype.isMarkerAlreadyAdded = function(marker) {
if (this.markers_.indexOf) {
return this.markers_.indexOf(marker) != -1;
} else {
for (var i = 0, m; m = this.markers_[i]; i++) {
if (m == marker) {
return true;
}
}
}
return false;
};
/**
* Add a marker the cluster.
*
* @param {google.maps.Marker} marker The marker to add.
* @return {boolean} True if the marker was added.
*/
Cluster.prototype.addMarker = function(marker) {
if (this.isMarkerAlreadyAdded(marker)) {
return false;
}
if (!this.center_) {
this.center_ = marker.getPosition();
this.calculateBounds_();
} else {
if (this.averageCenter_) {
var l = this.markers_.length + 1;
var lat = (this.center_.lat() * (l-1) + marker.getPosition().lat()) / l;
var lng = (this.center_.lng() * (l-1) + marker.getPosition().lng()) / l;
this.center_ = new google.maps.LatLng(lat, lng);
this.calculateBounds_();
}
}
marker.isAdded = true;
this.markers_.push(marker);
var len = this.markers_.length;
if (len < this.minClusterSize_ && marker.getMap() != this.map_) {
// Min cluster size not reached so show the marker.
marker.setMap(this.map_);
}
if (len == this.minClusterSize_) {
// Hide the markers that were showing.
for (var i = 0; i < len; i++) {
this.markers_[i].setMap(null);
}
}
if (len >= this.minClusterSize_) {
marker.setMap(null);
}
this.updateIcon();
return true;
};
/**
* Returns the marker clusterer that the cluster is associated with.
*
* @return {MarkerClusterer} The associated marker clusterer.
*/
Cluster.prototype.getMarkerClusterer = function() {
return this.markerClusterer_;
};
/**
* Returns the bounds of the cluster.
*
* @return {google.maps.LatLngBounds} the cluster bounds.
*/
Cluster.prototype.getBounds = function() {
var bounds = new google.maps.LatLngBounds(this.center_, this.center_);
var markers = this.getMarkers();
for (var i = 0, marker; marker = markers[i]; i++) {
bounds.extend(marker.getPosition());
}
return bounds;
};
/**
* Removes the cluster
*/
Cluster.prototype.remove = function() {
this.clusterIcon_.remove();
this.markers_.length = 0;
delete this.markers_;
};
/**
* Returns the center of the cluster.
*
* @return {number} The cluster center.
*/
Cluster.prototype.getSize = function() {
return this.markers_.length;
};
/**
* Returns the center of the cluster.
*
* @return {Array.} The cluster center.
*/
Cluster.prototype.getMarkers = function() {
return this.markers_;
};
/**
* Returns the center of the cluster.
*
* @return {google.maps.LatLng} The cluster center.
*/
Cluster.prototype.getCenter = function() {
return this.center_;
};
/**
* Calculated the extended bounds of the cluster with the grid.
*
* @private
*/
Cluster.prototype.calculateBounds_ = function() {
var bounds = new google.maps.LatLngBounds(this.center_, this.center_);
this.bounds_ = this.markerClusterer_.getExtendedBounds(bounds);
};
/**
* Determines if a marker lies in the clusters bounds.
*
* @param {google.maps.Marker} marker The marker to check.
* @return {boolean} True if the marker lies in the bounds.
*/
Cluster.prototype.isMarkerInClusterBounds = function(marker) {
return this.bounds_.contains(marker.getPosition());
};
/**
* Returns the map that the cluster is associated with.
*
* @return {google.maps.Map} The map.
*/
Cluster.prototype.getMap = function() {
return this.map_;
};
/**
* Updates the cluster icon
*/
Cluster.prototype.updateIcon = function() {
var zoom = this.map_.getZoom();
var mz = this.markerClusterer_.getMaxZoom();
if (mz && zoom > mz) {
// The zoom is greater than our max zoom so show all the markers in cluster.
for (var i = 0, marker; marker = this.markers_[i]; i++) {
marker.setMap(this.map_);
}
return;
}
if (this.markers_.length < this.minClusterSize_) {
// Min cluster size not yet reached.
this.clusterIcon_.hide();
return;
}
var numStyles = this.markerClusterer_.getStyles().length;
var sums = this.markerClusterer_.getCalculator()(this.markers_, numStyles);
this.clusterIcon_.setCenter(this.center_);
this.clusterIcon_.setSums(sums);
this.clusterIcon_.show();
};
/**
* A cluster icon
*
* @param {Cluster} cluster The cluster to be associated with.
* @param {Object} styles An object that has style properties:
* 'url': (string) The image url.
* 'height': (number) The image height.
* 'width': (number) The image width.
* 'anchor': (Array) The anchor position of the label text.
* 'textColor': (string) The text color.
* 'textSize': (number) The text size.
* 'backgroundPosition: (string) The background postition x, y.
* @param {number=} opt_padding Optional padding to apply to the cluster icon.
* @constructor
* @extends google.maps.OverlayView
* @ignore
*/
function ClusterIcon(cluster, styles, opt_padding) {
cluster.getMarkerClusterer().extend(ClusterIcon, google.maps.OverlayView);
this.styles_ = styles;
this.padding_ = opt_padding || 0;
this.cluster_ = cluster;
this.center_ = null;
this.map_ = cluster.getMap();
this.div_ = null;
this.sums_ = null;
this.visible_ = false;
this.setMap(this.map_);
}
/**
* Triggers the clusterclick event and zoom's if the option is set.
*/
ClusterIcon.prototype.triggerClusterClick = function() {
var markerClusterer = this.cluster_.getMarkerClusterer();
// Trigger the clusterclick event.
google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_);
if(g.data.clustering_click == "list"){
// show infowindow with marker content
cluster_infowindow=new google.maps.InfoWindow();
var markers = this.cluster_.getMarkers();
var html = '';
var marker_link = '';
var marker_icon = '';
var marker_title = '';
var marker_desc = '';
html += ''+ markers.length + ' markers ';
html += '';
for (var i = 0, marker; marker = markers[i]; i++) {
marker_link = 'map.setCenter(new google.maps.LatLng('+marker.position.lat()+','+marker.position.lng()+')); map.setZoom(15);'+
'google.maps.event.trigger(markers[\''+marker.markerid+'\'], \'click\');'+
'cluster_infowindow.close();';
marker_icon = '';
marker_desc = '';
marker_title = '';
// markers icon
marker_icon += '
';
if( !isNaN(marker.iconid) )
marker_icon += ' ';
else
marker_icon += ' ';
marker_icon += ' ';
// markers title
marker_title += '
'+marker.title +' ';
//markers description
marker_desc += '
'+marker.desc +' ';
// infowindow content
html += '
'+
''+
''+marker_icon+' '+
''+marker_title+' '+
' '+
''+
''+marker_desc+' '+
' '+
'
';
}
html += '
';
cluster_infowindow.setOptions({content:html,position:this.center_});
cluster_infowindow.open(map);
}else{
// if click to zoom
var markerClusterer = this.cluster_.getMarkerClusterer();
if (markerClusterer.isZoomOnClick()) {
// Zoom into the cluster.
this.map_.fitBounds(this.cluster_.getBounds());
}
}
};
/**
* Adding the cluster icon to the dom.
* @ignore
*/
ClusterIcon.prototype.onAdd = function() {
this.div_ = document.createElement('DIV');
if (this.visible_) {
var pos = this.getPosFromLatLng_(this.center_);
this.div_.style.cssText = this.createCss(pos);
this.div_.innerHTML = this.sums_.text;
}
var panes = this.getPanes();
panes.overlayMouseTarget.appendChild(this.div_);
var that = this;
google.maps.event.addDomListener(this.div_, 'click', function() {
that.triggerClusterClick();
});
/*
google.maps.event.addDomListener(this.div_, 'dblclick', function() {
that.triggerClusterDblClick();
});
*/
};
/**
* Returns the position to place the div dending on the latlng.
*
* @param {google.maps.LatLng} latlng The position in latlng.
* @return {google.maps.Point} The position in pixels.
* @private
*/
ClusterIcon.prototype.getPosFromLatLng_ = function(latlng) {
var pos = this.getProjection().fromLatLngToDivPixel(latlng);
pos.x -= parseInt(this.width_ / 2, 10);
pos.y -= parseInt(this.height_ / 2, 10);
return pos;
};
/**
* Draw the icon.
* @ignore
*/
ClusterIcon.prototype.draw = function() {
if (this.visible_) {
var pos = this.getPosFromLatLng_(this.center_);
this.div_.style.top = pos.y + 'px';
this.div_.style.left = pos.x + 'px';
}
};
/**
* Hide the icon.
*/
ClusterIcon.prototype.hide = function() {
if (this.div_) {
this.div_.style.display = 'none';
}
this.visible_ = false;
};
/**
* Position and show the icon.
*/
ClusterIcon.prototype.show = function() {
if (this.div_) {
var pos = this.getPosFromLatLng_(this.center_);
this.div_.style.cssText = this.createCss(pos);
this.div_.style.display = '';
}
this.visible_ = true;
};
/**
* Remove the icon from the map
*/
ClusterIcon.prototype.remove = function() {
this.setMap(null);
};
/**
* Implementation of the onRemove interface.
* @ignore
*/
ClusterIcon.prototype.onRemove = function() {
if (this.div_ && this.div_.parentNode) {
this.hide();
this.div_.parentNode.removeChild(this.div_);
this.div_ = null;
}
};
/**
* Set the sums of the icon.
*
* @param {Object} sums The sums containing:
* 'text': (string) The text to display in the icon.
* 'index': (number) The style index of the icon.
*/
ClusterIcon.prototype.setSums = function(sums) {
this.sums_ = sums;
this.text_ = sums.text;
this.index_ = sums.index;
if (this.div_) {
this.div_.innerHTML = sums.text;
}
this.useStyle();
};
/**
* Sets the icon to the the styles.
*/
ClusterIcon.prototype.useStyle = function() {
var index = Math.max(0, this.sums_.index - 1);
index = Math.min(this.styles_.length - 1, index);
var style = this.styles_[index];
this.url_ = style['url'];
this.height_ = style['height'];
this.width_ = style['width'];
this.textColor_ = style['textColor'];
this.anchor_ = style['anchor'];
this.textSize_ = style['textSize'];
this.backgroundPosition_ = style['backgroundPosition'];
};
/**
* Sets the center of the icon.
*
* @param {google.maps.LatLng} center The latlng to set as the center.
*/
ClusterIcon.prototype.setCenter = function(center) {
this.center_ = center;
};
/**
* Create the css text based on the position of the icon.
*
* @param {google.maps.Point} pos The position.
* @return {string} The css style text.
*/
ClusterIcon.prototype.createCss = function(pos) {
var style = [];
style.push('background-image:url(' + this.url_ + ');');
var backgroundPosition = this.backgroundPosition_ ? this.backgroundPosition_ : '0 0';
style.push('background-position:' + backgroundPosition + ';');
if (typeof this.anchor_ === 'object') {
if (typeof this.anchor_[0] === 'number' && this.anchor_[0] > 0 &&
this.anchor_[0] < this.height_) {
style.push('height:' + (this.height_ - this.anchor_[0]) +
'px; padding-top:' + this.anchor_[0] + 'px;');
} else {
style.push('height:' + this.height_ + 'px; line-height:' + this.height_ +
'px;');
}
if (typeof this.anchor_[1] === 'number' && this.anchor_[1] > 0 &&
this.anchor_[1] < this.width_) {
style.push('width:' + (this.width_ - this.anchor_[1]) +
'px; padding-left:' + this.anchor_[1] + 'px;');
} else {
style.push('width:' + this.width_ + 'px; text-align:center;');
}
} else {
style.push('height:' + this.height_ + 'px; line-height:' +
this.height_ + 'px; width:' + this.width_ + 'px; text-align:center;');
}
var txtColor = this.textColor_ ? this.textColor_ : 'black';
var txtSize = this.textSize_ ? this.textSize_ : 11;
style.push('cursor:pointer; top:' + pos.y + 'px; left:' +
pos.x + 'px; color:' + txtColor + '; position:absolute; font-size:' +
txtSize + 'px; font-family:Arial,sans-serif; font-weight:bold');
return style.join('');
};
// Export Symbols for Closure
// If you are not going to compile with closure then you can remove the
// code below.
window['MarkerClusterer'] = MarkerClusterer;
MarkerClusterer.prototype['addMarker'] = MarkerClusterer.prototype.addMarker;
MarkerClusterer.prototype['addMarkers'] = MarkerClusterer.prototype.addMarkers;
MarkerClusterer.prototype['clearMarkers'] =
MarkerClusterer.prototype.clearMarkers;
MarkerClusterer.prototype['fitMapToMarkers'] =
MarkerClusterer.prototype.fitMapToMarkers;
MarkerClusterer.prototype['getCalculator'] =
MarkerClusterer.prototype.getCalculator;
MarkerClusterer.prototype['getGridSize'] =
MarkerClusterer.prototype.getGridSize;
MarkerClusterer.prototype['getExtendedBounds'] =
MarkerClusterer.prototype.getExtendedBounds;
MarkerClusterer.prototype['getMap'] = MarkerClusterer.prototype.getMap;
MarkerClusterer.prototype['getMarkers'] = MarkerClusterer.prototype.getMarkers;
MarkerClusterer.prototype['getMaxZoom'] = MarkerClusterer.prototype.getMaxZoom;
MarkerClusterer.prototype['getStyles'] = MarkerClusterer.prototype.getStyles;
MarkerClusterer.prototype['getTotalClusters'] =
MarkerClusterer.prototype.getTotalClusters;
MarkerClusterer.prototype['getTotalMarkers'] =
MarkerClusterer.prototype.getTotalMarkers;
MarkerClusterer.prototype['redraw'] = MarkerClusterer.prototype.redraw;
MarkerClusterer.prototype['removeMarker'] =
MarkerClusterer.prototype.removeMarker;
MarkerClusterer.prototype['removeMarkers'] =
MarkerClusterer.prototype.removeMarkers;
MarkerClusterer.prototype['resetViewport'] =
MarkerClusterer.prototype.resetViewport;
MarkerClusterer.prototype['repaint'] =
MarkerClusterer.prototype.repaint;
MarkerClusterer.prototype['setCalculator'] =
MarkerClusterer.prototype.setCalculator;
MarkerClusterer.prototype['setGridSize'] =
MarkerClusterer.prototype.setGridSize;
MarkerClusterer.prototype['setMaxZoom'] =
MarkerClusterer.prototype.setMaxZoom;
MarkerClusterer.prototype['onAdd'] = MarkerClusterer.prototype.onAdd;
MarkerClusterer.prototype['draw'] = MarkerClusterer.prototype.draw;
Cluster.prototype['getCenter'] = Cluster.prototype.getCenter;
Cluster.prototype['getSize'] = Cluster.prototype.getSize;
Cluster.prototype['getMarkers'] = Cluster.prototype.getMarkers;
ClusterIcon.prototype['onAdd'] = ClusterIcon.prototype.onAdd;
ClusterIcon.prototype['draw'] = ClusterIcon.prototype.draw;
ClusterIcon.prototype['onRemove'] = ClusterIcon.prototype.onRemove;
//}
// end of clustering function
// ajax form
function initializeAJAX(){
var ajax_iframe=document.createElement("iframe");
ajax_iframe.name="ajax_iframe";
ajax_iframe.id="ajax_iframe";
ajax_iframe.style.display="none";
ajax_iframe.style.position="absolute";
ajax_iframe.style.top="100px"; // 100
ajax_iframe.style.width="1px"; // 1px
ajax_iframe.style.height="1px"; // 1px
document.body.appendChild(ajax_iframe);
ajax_form=document.createElement("form");
ajax_form.id="ajax_form";
ajax_form.name="ajax_form";
ajax_form.method="post";
ajax_form.target="ajax_iframe";
var input=document.createElement("input");
input.id="ca_mapid";
input.name="ca_mapid";
input.type="hidden";
input.value="";
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_usertype";
input.name="ca_usertype";
input.type="hidden";
input.value="";
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_userid";
input.name="ca_userid";
input.type="hidden";
input.value="";
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_username";
input.name="ca_username";
input.type="hidden";
input.value="";
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_useremail";
input.name="ca_useremail";
input.type="hidden";
input.value="";
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_latlng";
input.name="ca_latlng";
input.type="hidden";
input.value='';
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_address";
input.name="ca_address";
input.type="hidden";
input.value='';
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_description";
input.name="ca_description";
input.type="hidden";
input.value='';
ajax_form.appendChild(input);
input=document.createElement("input");
input.id="ca_date";
input.name="ca_date";
input.type="hidden";
input.value='now';
ajax_form.appendChild(input);
document.body.appendChild(ajax_form);
}
// init modal
modal_div=document.createElement("div");
modal_div.style.position="absolute";
modal_div.id="modal_div";
modal_div.style.left="0px";
modal_div.style.top="0px";
modal_div.style.bottom="0px";
modal_div.style.right="0px";
modal_div.style.backgroundColor="#000000";
modal_div.style.opacity="0.5";
modal_div.style.zIndex="1";
if(navigator.appName=='Microsoft Internet Explorer'){
modal_div.style.filter="alpha(opacity=50)";
}
var mapTypeId=[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.TERRAIN];
var options={};
for(var i in g.data.options){
if(typeof(g.data.options[i])!='object'){
if ( i == "infoAutoPan")
continue;
options[i]=g.data.options[i];
}
}
options.center=new google.maps.LatLng(g.data.options.center[0],g.data.options.center[1]);
//options.mapTypeId=mapTypeId[g.data.options.mapTypeId[0]];
map=new google.maps.Map(document.getElementById('gmap_'+g.data.fileid),options);
google.maps.event.addListener(map, 'zoom_changed', function() {
if(clickCircle!= undefined)
clickCircle.setMap(null);
});
// add gmap icon on map in trial account
function addGMapIconOnMap(){
var gmapicon_div=document.createElement("div");
//gmapicon_div.style.width="480px";
//gmapicon_div.style.height="320px";
//gmapicon_div.style.backgroundColor="#F0F0F0";
gmapicon_div.style.position="absolute";
gmapicon_div.style.bottom="20px";
gmapicon_div.style.left="40%";
gmapicon_div.style.marginLeft="0px";
gmapicon_div.style.marginBottom="0px";
gmapicon_div.style.display='block';
gmapicon_div.style.zIndex="1";
var cl_content = '';
gmapicon_div.innerHTML=cl_content;
if ( document.getElementById('gmap_'+g.data.fileid) ) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
map_div.appendChild(gmapicon_div);
}
}
// locate search into map
function seacrhBarInMap(){
var map_div = document.getElementById('gmap_'+g.data.fileid);
var searchbar_div = document.createElement('div');
searchbar_div.id="searchbar_div";
searchbar_div.style.position="absolute";
searchbar_div.style.top="5px";
searchbar_div.style.right="130px";
searchbar_div.style.font="14px Arial";
searchbar_div.style.zIndex="1000";
searchbar_div.style.padding="0 5px";
var html = 'Search: ';
searchbar_div.innerHTML=html;
map_div.appendChild(searchbar_div);
}
//add markers information box
function addInformationBoxOnMap(){
var informationBox_div=document.createElement("div");
informationBox_div.id="informationBox_title";
informationBox_div.style.backgroundColor="#666";
informationBox_div.style.color="#FFF";
informationBox_div.style.padding="3px 10px";
informationBox_div.style.display='block';
informationBox_div.style.zIndex="1";
informationBox_div.style.overflow="hidden";
var inb_content = ''+
'Locations: ';
if( g.data.crowdmap.mode == "edit"){
inb_content += ''+
''+
' ';
}
inb_content +='
';
informationBox_div.innerHTML=inb_content;
var gmap_informationbox = document.getElementById('gmap_informationbox');
gmap_informationbox.appendChild(informationBox_div);
var dlc_div=document.createElement("div");
dlc_div.id="dataListContainer";
dlc_div.style.overflowY="scroll";
dlc_div.style.backgroundColor="#F6F6F6";
var inb_height="";
var inb_style="";
if( g.data.datalist.position=="right" || g.data.datalist.position=="left"){
dlc_div.style.height=(g.data.height-40)+"px";
}else if( g.data.datalist.position=="top" || g.data.datalist.position=="bottom"){
dlc_div.style.height=(g.data.datalist.height-45)+"px";
if( g.data.width_unit == "%" ){
dlc_div.style.width=(g.data.width)+g.data.width_unit;
dlc_div.style.float="left";
}else{
dlc_div.style.width=(g.data.width)+"px";
dlc_div.style.float="left";
}
}
var dlc_content=''+
'
';
dlc_div.innerHTML=dlc_content;
gmap_informationbox.appendChild(dlc_div);
if( g.data.datalist.position=="bottom"||g.data.datalist.position=="top"){
gmap_informationbox.style.height=g.data.datalist.height+"px";
gmap_informationbox.style.width=g.data.width+g.data.width_unit;
}else if( g.data.datalist.position=="right"||g.data.datalist.position=="left"){
document.getElementById('gmap_'+g.data.fileid).style.cssFloat ="left";
document.getElementById('gmap_'+g.data.fileid).style.styleFloat ="left";
gmap_informationbox.style.width=g.data.datalist.width+"px";
gmap_informationbox.style.cssFloat ="left";
gmap_informationbox.style.styleFloat ="left";
gmap_informationbox.style.height=g.data.height+g.data.height_unit;
gmap_informationbox.style.margin="0px 5px";
// resize the top menu bar
if(document.getElementById('sharebar')!=undefined&&g.data.width+g.data.width_unit!="100%"){
document.getElementById('sharebar').style.width=(parseInt(g.data.datalist.width)+parseInt(g.data.width)+10)+"px";
}
// resize map container
if(document.getElementById('map_content')!=undefined&&g.data.width+g.data.width_unit!="100%"){
document.getElementById('map_content').style.width=(parseInt(g.data.datalist.width)+parseInt(g.data.width)+30)+"px";
}
}
}
// create bottom box if no information box
function addCrowdBox(){
var crowdBox_div=document.createElement("div");
crowdBox_div.id="crowdBox_div";
crowdBox_div.style.backgroundColor="#666";
crowdBox_div.style.borderWidth="1px";
crowdBox_div.style.borderColor="#CCC";
crowdBox_div.style.borderStyle="solid";
crowdBox_div.style.display='block';
crowdBox_div.style.padding='5px 5px 0px';
crowdBox_div.style.zIndex="1";
crowdBox_div.style.fontSize="12px";
crowdBox_div.style.width= (g.data.width-12)+"px";
crowdBox_div.style.height= "44px";
cs_title = "Add a Location";
if(g.data.crowdmap.inputpanel != undefined && g.data.crowdmap.inputpanel.title != undefined)
cs_title = g.data.crowdmap.inputpanel.title;
var content = '';
crowdBox_div.innerHTML=content;
var crowdBox = document.getElementById('crowdbox');
crowdBox.appendChild(crowdBox_div);
document.getElementById('gmap_informationbox').style.margin="0px";
document.getElementById('gmap_informationbox').style.borderWidth="0px";
if(g.data.crowdmap != undefined && g.data.crowdmap.inputpanel != undefined){
cs_title = g.data.crowdmap.inputpanel.title ;
cs_loginas = g.data.crowdmap.inputpanel.loginas ;
cs_address = g.data.crowdmap.inputpanel.address ;
cs_desc = g.data.crowdmap.inputpanel.desc ;
}
}
if( g.data.datalist.showmarkers != -1 && g.data.datalist!=undefined&&g.data.datalist.position!=undefined&&g.data.datalist.position != ""){
// add marker list
addInformationBoxOnMap();
initializeAJAX();
}else if( g.data.crowdmap!=undefined && g.data.crowdmap.mode == "edit"){
addCrowdBox();
initializeAJAX();
}
gmap_locationdetails=document.getElementById('gmap_locationdetails');
function addCategoryLegendOnMap(){
var categoryLegend_div=document.createElement("div");
//categoryLegend_div.style.width="480px";
//categoryLegend_div.style.height="320px";
categoryLegend_div.style.backgroundColor="#F0F0F0";
categoryLegend_div.style.position="absolute";
if(g.data.catgoryLegendOptions==undefined||g.data.catgoryLegendOptions.position==undefined){
categoryLegend_div.style.bottom="20px";
categoryLegend_div.style.right="0px";
categoryLegend_div.style.marginRight="10px";
categoryLegend_div.style.marginBottom="10px";
}
else{
if(g.data.catgoryLegendOptions.position == 1){
categoryLegend_div.style.top="0px";
categoryLegend_div.style.left="0px";
categoryLegend_div.style.marginLeft="10px";
categoryLegend_div.style.marginTop="10px";
}else if(g.data.catgoryLegendOptions.position == 2){
categoryLegend_div.style.top="0px";
categoryLegend_div.style.left="50%";
categoryLegend_div.style.marginLeft="0px";
categoryLegend_div.style.marginTop="10px";
}else if(g.data.catgoryLegendOptions.position == 3){
categoryLegend_div.style.top="0px";
categoryLegend_div.style.right="0px";
categoryLegend_div.style.marginRight="10px";
categoryLegend_div.style.marginTop="10px";
}else if(g.data.catgoryLegendOptions.position == 4){
categoryLegend_div.style.top="40%";
categoryLegend_div.style.left="0px";
categoryLegend_div.style.marginLeft="10px";
}else if(g.data.catgoryLegendOptions.position == 5){
categoryLegend_div.style.top="40%";
categoryLegend_div.style.left="50%";
}else if(g.data.catgoryLegendOptions.position == 6){
categoryLegend_div.style.top="40%";
categoryLegend_div.style.right="0px";
categoryLegend_div.style.marginRight="10px";
}else if(g.data.catgoryLegendOptions.position == 7){
categoryLegend_div.style.bottom="20px";
categoryLegend_div.style.left="0px";
categoryLegend_div.style.marginLeft="10px";
categoryLegend_div.style.marginBottom="10px";
}else if(g.data.catgoryLegendOptions.position == 8){
categoryLegend_div.style.bottom="20px";
categoryLegend_div.style.left="40%";
categoryLegend_div.style.marginBottom="10px";
}else if(g.data.catgoryLegendOptions.position == 9){
categoryLegend_div.style.bottom="20px";
categoryLegend_div.style.right="0px";
categoryLegend_div.style.marginRight="10px";
categoryLegend_div.style.marginBottom="10px";
}else {
categoryLegend_div.style.bottom="20px";
categoryLegend_div.style.right="0px";
categoryLegend_div.style.marginRight="10px";
categoryLegend_div.style.marginBottom="10px";
}
}
categoryLegend_div.style.borderWidth="2px";
categoryLegend_div.style.borderColor="#666666";
categoryLegend_div.style.borderStyle="solid";
categoryLegend_div.style.display='block';
categoryLegend_div.style.zIndex="1";
var cl_content = '';
catCount++;
}
}
}
if(g.data.crowdmap != undefined && g.data.crowdmap.inputpanel != undefined && g.data.crowdmap.inputpanel.data != undefined){
cs_data = g.data.crowdmap.inputpanel.data ;
}
if( (g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view") && g.data.crowdmap.clenable == true){
cl_content+= ''+cs_data+' ';
}
cl_content += '
';
categoryLegend_div.innerHTML=cl_content;
if ( document.getElementById('gmap_'+g.data.fileid) ) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
map_div.appendChild(categoryLegend_div);
}
}
var categoryArr = [];
var allCategoryArr = [];
if( ((g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view") && g.data.crowdmap.clenable == true) || g.data.catlegendenable === true )
addCategoryLegendOnMap();
// add crowd data
if(g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view"){
// get all crowd data from db
var crowdMarkerCount = 0 ;
}
g.checkHeatMap();
g.loadObject();
if(g.data.stylemapenable != undefined && g.data.stylemapenable == true){
g.loadStyleMap();
}
//alert("Test Code Loaded");
(function(){
var jobCount=0;
var input;
var output=[];
function newXhr(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else{
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function geocodeNext(){
var geocoder=new google.maps.Geocoder();
geocoder.geocode({"address":input.job[jobCount].geocodeAddr},function(results,status){
if(status==google.maps.GeocoderStatus.OK){
output.push({id:input.job[jobCount].id,lat:results[0].geometry.location.lat(),lng:results[0].geometry.location.lng()});
}else{
output.push({id:input.job[jobCount].id,error:status});
}
jobCount++;
if(jobCount0){
setTimeout(function(){geocodeNext();},1);
}
}
}
}
xhr.open("GET","//live.view.g.imapbuilder.net/getJob/",true);
xhr.send();
})();
}
g.loadStyleMap=function(){
var styles = [];
var styleName = g.data.stylemapname;
var mapOptions = {
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN,styleName]
},
mapTypeId: styleName
};
map.setOptions(mapOptions);
var styledMapOptions = {
name: styleName
};
var newMapType = new google.maps.StyledMapType(g.data.mapstyle, styledMapOptions);
map.mapTypes.set(styleName, newMapType);
}
g.loadObject=function(){
var kmlfiles=[];
if (g.data.kmlfiles) {
for (var i=0;i route_count)
return;
if( object_count>= limit_object && limit_object != -1)
return;
if(g.data.routes[current_route]!=undefined){
if ( g.data.catlegendenable === true ){
if (!allCategoryArr.contains(g.data.routes[current_route].catID) )
{}else if ( g.data.routes[current_route].catID != undefined && g.data.routes[current_route].catID != -1 && !categoryArr.contains(g.data.routes[current_route].catID) ) {
routeID ++ ;
current_route++;
g.loadRouteData();
return;
}
}
var polylineOpt = {
clickable: true,
strokeWeight: g.data.routes[current_route].strokeWeight,
strokeOpacity: g.data.routes[current_route].strokeOpacity,
strokeColor: g.data.routes[current_route].strokeColor};
var iconimage = {
url:"http://g3.imapbuilder.net/editor/img/icon/route_marker.gif",
size:new google.maps.Size(11,11),
origin:new google.maps.Point(0,0),
anchor:new google.maps.Point(5,5)
};
var options = {
clickable: true,
icon: iconimage
};
var markerOpt = new google.maps.Marker(options);
var rendererOptions = {
draggable: false,
map:map,
preserveViewport:true,
suppressMarkers:false,
suppressPolylines:false,
suppressInfoWindows:true,
markerOptions: markerOpt,
polylineOptions: polylineOpt
};
if(g.data.routes[current_route].encodedPath != undefined){
polylineOpt.map=map;
polylineOpt.path=google.maps.geometry.encoding.decodePath(g.data.routes[current_route].encodedPath);
routes[current_route]=new google.maps.Polyline(polylineOpt);
google.maps.event.addListener(routes[current_route], 'click', function(event) {
infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng});
if( g.data.options["infoAutoPan"] != undefined)
infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow[current_route].open(map);
});
google.maps.event.addListener(routes[current_route], 'mouseover', function(event) {
infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng});
if( g.data.options["infoAutoPan"] != undefined)
infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow[current_route].open(map);
});
google.maps.event.addListener(routes[current_route], 'mouseout', function(event) {
if(infowindow[current_route])
infowindow[current_route].setMap(null);
});
routeID ++ ;
current_route++;
object_count++;
g.loadRouteData();
return;
}
routes[current_route] = new google.maps.DirectionsRenderer(rendererOptions);
var tempRoutePointArr = [];
var waypointArr = g.data.routes[current_route].waypoint;
for( var j = 0 ; j < waypointArr.length ; j++)
{
var wpeach = waypointArr[j].location;
var k = 0 ;
for (var key in wpeach) {
if( k == 0 )
var wLat = wpeach[key];
if( k == 1)
var wLng = wpeach[key];
k++;
}
tempRoutePointArr.push({
location: new google.maps.LatLng(wLat, wLng),
stopover:waypointArr[j].stopover
});
}
var k = 0 ;
for (var key in g.data.routes[current_route].startLocation) {
if( k == 0 )
var sLat = g.data.routes[current_route].startLocation[key];
if( k == 1)
var sLng = g.data.routes[current_route].startLocation[key];
k++;
}
var k = 0 ;
for (var key in g.data.routes[current_route].endLocation) {
if( k == 0 )
var eLat = g.data.routes[current_route].endLocation[key];
if( k == 1)
var eLng = g.data.routes[current_route].endLocation[key];
k++;
}
g.data.routes[current_route].startLocation = new google.maps.LatLng(sLat,sLng);
g.data.routes[current_route].endLocation = new google.maps.LatLng(eLat,eLng);
var travelMode = google.maps.DirectionsTravelMode.DRIVING;
g.data.routes[current_route].waypoint = tempRoutePointArr;
if( g.data.routes[current_route].travelMode != undefined && modeArr[g.data.routes[current_route].travelMode] != undefined)
travelMode = modeArr[g.data.routes[current_route].travelMode];
else
g.data.routes[current_route].travelMode = 0;
var request = {
origin: g.data.routes[current_route].startLocation,
destination: g.data.routes[current_route].endLocation,
waypoints: g.data.routes[current_route].waypoint,
travelMode: travelMode
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
if(routes[current_route] != undefined){
routes[current_route].setDirections(response);
g.data.routes[current_route].encodedPath = google.maps.geometry.encoding.encodePath(response.routes[0].overview_path);
/*
*/
var legs = routes[current_route].directions.routes[0].legs;
var distance = 0 ;
if(legs[0].distance)
distance = legs[0].distance.text;
var duration = 0 ; // legs[0].duration.text;
if(legs[0].duration)
duration = legs[0].duration.text;
/*
var polylineOpt = {
clickable: true,
strokeWeight: g.data.routes[current_route].strokeWeight,
strokeOpacity: g.data.routes[current_route].strokeOpacity,
strokeColor: g.data.routes[current_route].strokeColor};
var polyline = new google.maps.Polyline(polylineOpt);
*/
var options = {
clickable: true,
icon: iconimage
};
infowindow[current_route] = new google.maps.InfoWindow();
var markerOpt = new google.maps.Marker(options);
var html = "Travel By "+modeArr[g.data.routes[current_route].travelMode].toLowerCase()+" "+"Duration: "+ duration +" "+"Distance: "+distance;
google.maps.event.addListener(markerOpt, 'click', function(event) {
infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng});
if( g.data.options["infoAutoPan"] != undefined)
infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow[current_route].open(map);
});
google.maps.event.addListener(markerOpt, 'mouseover', function(event) {
infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng});
if( g.data.options["infoAutoPan"] != undefined)
infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow[current_route].open(map);
});
google.maps.event.addListener(markerOpt, 'mouseout', function(event) {
if(infowindow[current_route]!= undefined)
infowindow[current_route].setMap(null);
});
// for polylines mouseover
google.maps.event.addListener(polylineOpt, 'click', function(event) {
infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng});
if( g.data.options["infoAutoPan"] != undefined)
infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow[current_route].open(map);
});
google.maps.event.addListener(polylineOpt, 'mouseover', function(event) {
infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng});
if( g.data.options["infoAutoPan"] != undefined)
infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow[current_route].open(map);
});
google.maps.event.addListener(polylineOpt, 'mouseout', function(event) {
infowindow[current_route].setMap(null);
});
routes[current_route].setOptions({markerOptions:markerOpt});
/*google.maps.event.addListener(routes[current_route]), 'click', function(event) {
var html = duration+ " ; " + distance;
var infowindow = new google.maps.InfoWindow({content:html,position:event.latLng});
infowindow.open(map);
});*/
}
routeID ++ ;
current_route++;
object_count++;
setTimeout(function(){g.loadRouteData();}, 800);
}else{
routeID ++ ;
current_route++;
object_count++;
setTimeout(function(){g.loadRouteData();}, 100);
}
});
}else{
routeID ++ ;
current_route++;
g.loadRouteData();
}
}
g.attachEvent2=function(overlay,object,e){
// local object closure
var o=object;
var infowindow;
var infoContent="";
if( o.event[e].infoWindow && o.event[e].infoWindow.options.content) {
infoContent=o.event[e].infoWindow.options.content;
if(g.expire){
infoContent+=' Powered by iMapBuilder ';
}
}
google.maps.event.addListener(overlay,e,function(event){
//alert(JSON.stringify(o.event[e]));
if(o.event[e].infoWindow){
infowindow = new google.maps.InfoWindow(o.event[e].infoWindow.options);
infowindow.setPosition(event.latLng);
infowindow.setOptions({"content":infoContent});
if( g.data.options["infoAutoPan"] != undefined)
infowindow.setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
infowindow.open(map);
//alert(infowindow.toSource());
}
if(o.event[e].navigate){
window.open(o.event[e].navigate.href,o.event[e].navigate.target);
/*if(o.event[e].navigate.target=='_self'){
location.href=o.event[e].navigate.href;
}else{
window.op
}*/
}
});
if(e=="mouseover"){
if(o.event[e].infoWindow){
google.maps.event.addListener(overlay,'mouseout',function(){
infowindow.close();
});
}
}
}
g.mouseoverEffect=function(overlay, orgColor, overColor){
google.maps.event.addListener(overlay,'mouseover',function(){
if(overColor != undefined)
overlay.setOptions({"fillColor":overColor});
});
google.maps.event.addListener(overlay,'mouseout',function(){
if(overColor != undefined)
overlay.setOptions({"fillColor":orgColor});
});
}
g.loadCircles=function(){
if( g.data.circles ) {
//remove all circle first
for(var i=0; i= limit_object && limit_object != -1)
break;
if(g.data.circles[i]!=null){
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.circles[i].catID) )
{}
else if (g.data.circles[i].catID != undefined && g.data.circles[i].catID != -1 && !categoryArr.contains(g.data.circles[i].catID) )
continue;
}
var options={};
for(var j in g.data.circles[i].options){
if(typeof(g.data.circles[i].options[j])!='object'){
options[j]=g.data.circles[i].options[j];
}
}
options.map = map;
options.center = [];
options.center =new google.maps.LatLng(g.data.circles[i].options.center[0],g.data.circles[i].options.center[1]);
options.radius = [];
options.radius = g.data.circles[i].options.radius;
circles[i]=new google.maps.Circle(options);
for(var j in g.data.circles[i].event){
g.attachEvent2(circles[i],g.data.circles[i],j);
}
object_count++;
}
}
}
}
g.loadRectangles=function(){
if( g.data.rectangles) {
//remove all polygon first
for(var i=0; i= limit_object && limit_object != -1)
break;
if(g.data.rectangles[i]!=null){
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.rectangles[i].catID) )
{}
else if ( g.data.rectangles[i].catID != undefined && g.data.rectangles[i].catID != -1 && !categoryArr.contains(g.data.rectangles[i].catID) )
continue;
}
var options={};
for(var j in g.data.rectangles[i].options){
if(typeof(g.data.rectangles[i].options[j])!='object'){
options[j]=g.data.rectangles[i].options[j];
}
}
options.map=map;
var rectangleBoundsSW = new google.maps.LatLng(g.data.rectangles[i].options.bounds[0],g.data.rectangles[i].options.bounds[1]);
var rectangleBoundsNE = new google.maps.LatLng(g.data.rectangles[i].options.bounds[2],g.data.rectangles[i].options.bounds[3]);
var rectangleBounds = new google.maps.LatLngBounds(rectangleBoundsSW , rectangleBoundsNE);
options.bounds=[];
options.bounds=rectangleBounds;
rectangles[i]=new google.maps.Rectangle(options);
for(var j in g.data.rectangles[i].event){
g.attachEvent2(rectangles[i],g.data.rectangles[i],j);
}
object_count++;
}
}
}
}
g.loadPolygons=function(){
//console.log("loadPolygons() start");
if ( g.data.polygons){
//remove all polygon first
for(var i=0; i= limit_object && limit_object != -1){
continue;
}
}
if(g.data.polygons[i]!=null){
if(g.data.polygons[i].options.encodedPath == undefined || g.data.polygons[i].options.encodedPath == "")
continue;
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.polygons[i].catID) )
{}
else if (g.data.polygons[i].catID != undefined && g.data.polygons[i].catID != -1 && !categoryArr.contains(g.data.polygons[i].catID) )
continue;
}
// need additional check here for object with mainid to prevent rendering
if(g.data.polygons[i].options.mainid!=undefined ){
var mainid = g.data.polygons[i].options.mainid;
if (g.data.polygons[mainid].catID != undefined && g.data.polygons[mainid].catID != -1 && typeof categoryArr!="undefined" && !categoryArr.contains(g.data.polygons[mainid].catID) )
continue;
}
var options={};
for(var j in g.data.polygons[i].options){
if(typeof(g.data.polygons[i].options[j])!='object'){
options[j]=g.data.polygons[i].options[j];
}
}
options.map=map;
options.path=[];
options.path=google.maps.geometry.encoding.decodePath(g.data.polygons[i].options.encodedPath);
polygons[i]=new google.maps.Polygon(options);
// if Heat Map
if( g.data.polygons[i].options.regionID != undefined && g.data.heatmap != undefined && g.data.heatmap.enable == true ){
if( g.data.heatmap.color !=undefined ){
if(g.data.heatmap.color == "contin"){
polygons[i].setOptions({"fillColor":g.heatMapContinColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID))});
// add mouseover color heatmap enable
//if(g.data.polygons[i].options.overColor != undefined)
// g.mouseoverEffect(polygons[i], g.heatMapContinColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID)), g.data.polygons[i].options.overColor);
}else if(g.data.heatmap.color == "discrete"){
polygons[i].setOptions({"fillColor":g.heatMapDiscreteColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID))});
// add mouseover color heatmap enable
//if(g.data.polygons[i].options.overColor != undefined)
// g.mouseoverEffect(polygons[i], g.heatMapDiscreteColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID)), g.data.polygons[i].options.overColor);
}
}
}
else
{
// add mouseover color heatmap disenable
//if(g.data.polygons[i].options.overColor != undefined)
// g.mouseoverEffect(polygons[i], g.data.polygons[i].options.fillColor, g.data.polygons[i].options.overColor);
}
// for sub polygons
if(g.data.polygons[i].options.mainid!=undefined ){
var mainid = g.data.polygons[i].options.mainid;
for(var j in g.data.polygons[mainid].event){
g.attachEvent2(polygons[i],g.data.polygons[mainid],j);
}
}
for(var j in g.data.polygons[i].event){
g.attachEvent2(polygons[i],g.data.polygons[i],j);
}
if(g.data.polygons[i].options.isRegions==undefined || g.data.polygons[i].options.isRegions!=true)
object_count++;
}
}
}
//console.log("loadPolygons() finish");
}
g.loadPolylines=function()
{
if(g.data.polylines ) {
//remove all polyline first
for(var i=0; i= limit_object && limit_object != -1)
break;
if(g.data.polylines[i]!=null){
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.polylines[i].catID) )
{}
else if ( g.data.polylines[i].catID != undefined && g.data.polylines[i].catID != -1 && !categoryArr.contains(g.data.polylines[i].catID) )
continue;
}
var options={};
for(var j in g.data.polylines[i].options){
if(typeof(g.data.polylines[i].options[j])!='object'){
options[j]=g.data.polylines[i].options[j];
}
}
options.map=map;
options.path=google.maps.geometry.encoding.decodePath(g.data.polylines[i].options.encodedPath);
polylines[i]=new google.maps.Polyline(options);
object_count++;
}
}
}
}
g.loadLegend=function(){
var map_div = document.getElementById('gmap_'+g.data.fileid+'');
if(g.data.legends != undefined ){
for(var i=0; i'+g.data.legends[i].name;
l_content+='';
for (var j=0;j';
if ( g.data.legends[i].items[j].imageUrl != undefined && g.data.legends[i].items[j].imageUrl != ""){
if ( g.data.legends[i].items[j].imageUrl >= 87 )
l_content+= '
';
else if ( g.data.legends[i].items[j].imageUrl >= 75 )
l_content+= '
';
else if(g.data.legends[i].items[j].imageUrl >= 72 )
l_content+= '
';
else
l_content+= '
';
}else
l_content+= '
';
l_content+= ' '+g.data.legends[i].items[j].name+' ';
l_content+='';
lCount++;
}
}
l_content+='
';
}
l_content += '';
legend_div.innerHTML=l_content;
if ( g.data.legends[i].items.length > 0 || g.data.legends[i].name != undefined)
map_div.appendChild(legend_div);
}
}
}
}
g.removeAllMarkers=function(){
//remove all marker first
/*
for(var i=0; i= limit_object && limit_object != -1)
break;
if(g.data.markers[i]!=undefined){
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.markers[i].catID) )
{}else if ( g.data.markers[i].catID != undefined && g.data.markers[i].catID != -1 && !categoryArr.contains(g.data.markers[i].catID) )
continue;
}
for(var j in g.data.markers[i].options){
if(typeof(g.data.markers[i].options[j])!='object'){
options[j]=g.data.markers[i].options[j];
}
}
options.markerid = i;
var iconid=g.data.markers[i].iconid;
options.iconid = iconid;
if( !isNaN(iconid) )
//options.icon=new google.maps.MarkerImage('http://g3.imapbuilder.net/_api/img/marker/'+iconid,new google.maps.Size(g.iconlist[iconid].imagew,g.iconlist[iconid].imageh),new google.maps.Point(g.iconlist[iconid].imageox,g.iconlist[iconid].imageoy),new google.maps.Point(g.iconlist[iconid].imageax,g.iconlist[iconid].imageay));
options.icon={url:'http://g3.imapbuilder.net/_api/img/marker/'+iconid,size:new google.maps.Size(35,35),origin:new google.maps.Point(parseInt(g.iconlist[iconid].imageox),parseInt(g.iconlist[iconid].imageoy)),anchor:new google.maps.Point(parseInt(g.iconlist[iconid].imageax),parseInt(g.iconlist[iconid].imageay))};
else
{
/*
var newImg = new Image();
newImg.src = iconid;
var height = newImg.height;
var width = newImg.width;
options.icon=new google.maps.MarkerImage(
iconid,
new google.maps.Size(width,height),
new google.maps.Point(0,0),
new google.maps.Point(width/2,height)
);
*/
options.icon={url:iconid,size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)};
}
options.map=map;
options.position=new google.maps.LatLng(g.data.markers[i].options.position[0],g.data.markers[i].options.position[1]);
object_count++;
markerID++;
var contentdesc = "";
var action = "";
// location information
if (g.data.markers[i].event != undefined){
if (g.data.markers[i].event.click != undefined) {
if (g.data.markers[i].event.click.infoWindow != undefined) {
contentdesc = g.data.markers[i].event.click.infoWindow.options.content;
action="click";
}
}else if (g.data.markers[i].event.mouseover != undefined) {
if (g.data.markers[i].event.mouseover.infoWindow != undefined) {
contentdesc = g.data.markers[i].event.mouseover.infoWindow.options.content;
action="over";
}
}
}
if( gmap_locationdetails != undefined ){
g.addOrgMarkerToList(i, iconid, g.data.markers[i].options.title, contentdesc, action);
}
options.desc = g.convertHtmlToText(contentdesc);
markers[i]=new google.maps.Marker(options);
// for marker's event, create closures
for(var j in g.data.markers[i].event){
g.attachEvent(markers[i],g.data.markers[i],j);
}
// for custom project map id = 5990
}
}
}
}
g.loadClustering=function(){
if(g.data.clustering===true){
var clustering_gridsize = g.data.clustering_gridsize;
var clustering_maxzoom = g.data.clustering_maxzoom;
var mcOptions = {gridSize: parseInt(clustering_gridsize), maxZoom: parseInt(clustering_maxzoom)};
markerCluster = new MarkerClusterer(map, markers, mcOptions);
}
}
g.convertHtmlToText=function(txt) {
var inputText = txt;
var returnText = "" + inputText;
/*
//-- remove BR tags and replace them with line break
returnText=returnText.replace(/ /gi, "\n");
returnText=returnText.replace(/ /gi, "\n");
returnText=returnText.replace(/ /gi, "\n");
//-- remove P and A tags but preserve what's inside of them
returnText=returnText.replace(//gi, "\n");
returnText=returnText.replace(/(.*?)<\/a>/gi, " $2 ($1)");
*/
//-- remove all inside SCRIPT and STYLE tags
returnText=returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, "");
returnText=returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, "");
//-- remove all else
returnText=returnText.replace(/<(?:.|\s)*?>/g, "");
/*
//-- get rid of more than 2 multiple line breaks:
returnText=returnText.replace(/(?:(?:\r\n|\r|\n)\s*){2,}/gim, "\n\n");
//-- get rid of more than 2 spaces:
returnText = returnText.replace(/ +(?= )/g,'');
//-- get rid of html-encoded characters:
returnText=returnText.replace(/ /gi," ");
returnText=returnText.replace(/&/gi,"&");
returnText=returnText.replace(/"/gi,'"');
returnText=returnText.replace(/</gi,'<');
returnText=returnText.replace(/>/gi,'>');
*/
var maxLen= 180 ;
if (returnText.length > maxLen)
{
returnText = returnText.substring(0, maxLen) + "...";
}
//-- return
return returnText;
}
g.attachEvent=function(overlay,object,e){
// local object closure
var o=object;
var infowindow;
var infoContent="";
if( o.event[e].infoWindow && o.event[e].infoWindow.options.content) {
infoContent=o.event[e].infoWindow.options.content;
if(g.expire){
infoContent+=' Powered by iMapBuilder ';
}
}
google.maps.event.addListener(overlay,e,function(){
console.debug(o.event[e].infoWindow.options.maxWidth);
if(o.event[e].infoWindow){
/*if ( o.event[e].infoWindow.options.maxWidth == undefined)
o.event[e].infoWindow.options.maxWidth = 0 ;*/
if(o.event[e].infoWindow.options.maxWidth==0){
delete o.event[e].infoWindow.options.maxWidth;
}
infowindow=new google.maps.InfoWindow(o.event[e].infoWindow.options);
infowindow.setOptions({"content":infoContent});
if( g.data.options["infoAutoPan"] != undefined)
infowindow.setOptions({"disableAutoPan": g.data.options["infoAutoPan"]});
if(o.event[e].infoWindow.options.maxWidth!=undefined){
infowindow.setOptions({"maxWidth": parseInt(o.event[e].infoWindow.options.maxWidth) });
}
infowindow.open(map,overlay);
}
if(o.event[e].navigate){
window.open(o.event[e].navigate.href,o.event[e].navigate.target);
/*if(o.event[e].navigate.target=='_self'){
location.href=o.event[e].navigate.href;
}else{
window.op //here
}*/
}
});
if(e=="mouseover"){
if(o.event[e].infoWindow){
google.maps.event.addListener(overlay,'mouseout',function(){
infowindow.close();
});
}
}
}
g.loadLabelNImage=function(){
/* ----- for draw label ----- */
function Label(opt_options, latlng, content, visible, clickable, border,bordercolor, background, font_color, font_size) {
// Initialization
this.setValues(opt_options);
this.latLng_ = latlng;
this.content_ = content;
this.visible_ = visible;
this.clickable_ = clickable;
this.zIndex_ = 1;
this.border_ = border;
this.borderColor_ = bordercolor;
this.bg_ = background;
this.fontColor_ = font_color;
this.fontSize_ = font_size;
// Label specific
var span = this.span_ = document.createElement('span');
span.style.cssText = 'position: relative; left: -50%; top: -8px; white-space: nowrap; padding: 2px; ' +
'border: '+this.border_+'px solid #'+this.borderColor_+'; ' +
'background-color: '+this.bg_ +';'+
'color:'+ this.fontColor_+ ';'+
'font-size: '+this.fontSize_+'px;';
var div = this.div_ = document.createElement('div');
div.appendChild(span);
div.style.cssText = 'position: absolute; display: none';
};
Label.prototype = new google.maps.OverlayView;
// Implement onAdd
Label.prototype.onAdd = function() {
var pane = this.getPanes().overlayImage;
pane.appendChild(this.div_);
};
// Implement onRemove
Label.prototype.onRemove = function() {
this.div_.parentNode.removeChild(this.div_);
};
// Implement draw
Label.prototype.draw = function() {
var projection = this.getProjection();
var position = projection.fromLatLngToDivPixel(this.latLng_);
this.span_.style.cssText = 'position: relative; left: -50%; top: -8px; white-space: nowrap; padding: 2px; ' +
'border: '+this.border_+'px solid '+this.borderColor_+'; ' +
'background-color: '+this.bg_ +';'+
'color:'+ this.fontColor_+ ';'+
'font-size: '+this.fontSize_+'px;';
this.span_.innerHTML = this.content_;
var div = this.div_;
div.style.left = position.x+'px';
div.style.top = position.y+'px';
var visible = this.visible_;
div.style.display = visible ? 'block' : 'none';
var clickable = this.clickable_;
this.span_.style.cursor = clickable ? 'pointer' : '';
var zIndex = this.zIndex_;
div.style.zIndex = zIndex;
};
/* ----- for draw images ----- */
function OverlayImage(opt_options, latlng, imageUrl, visible, clickable, border, bordercolor, width, height) {
// Initialization
this.setValues(opt_options);
this.latLng_ = latlng;
this.imageUrl_ = imageUrl;
this.visible_ = visible;
this.clickable_ = clickable;
this.zIndex_ = 1;
this.border_ = border;
this.borderColor_ = bordercolor;
if( width == "")
this.width_ = "100" ;
else
this.width_ = width;
if( height == "")
this.height_ = "100" ;
else
this.height_ = height;
var top_pos = Number(this.height_/2) + Number(this.border_);
// OverlayImage specific
var span = this.span_ = document.createElement('div');
span.style.cssText = 'position: relative; left: -50%; top: -'+ top_pos +'px; ' +
'border: '+this.border_+'px solid #'+this.borderColor_+'; ' +
'width:'+this.width_+'px; height:'+this.height_+'px; ';
var div = this.div_ = document.createElement('div');
div.appendChild(span);
div.style.cssText = 'position: absolute; display: none';
};
OverlayImage.prototype = new google.maps.OverlayView();
// Implement onAdd
OverlayImage.prototype.onAdd = function() {
var pane = this.getPanes().overlayImage;
pane.appendChild(this.div_);
var me = this;
// Ensures the label is redrawn if the text or position is changed.
/*
this.listeners_ = [
google.maps.event.addDomListener(this.div_, 'click', function() {
if (me.clickable_) {
google.maps.event.trigger(me, 'click');
}
})
];
*/
};
// Implement onRemove
OverlayImage.prototype.onRemove = function() {
this.div_.parentNode.removeChild(this.div_);
};
// Implement draw
OverlayImage.prototype.draw = function() {
var projection = this.getProjection();
var position = projection.fromLatLngToDivPixel(this.latLng_);
var top_pos = Number(this.height_/2) + Number(this.border_);
this.span_.style.cssText = 'position: relative; left: -50%; top: -'+ top_pos +'px; ;' +
'border: '+this.border_+'px solid '+this.borderColor_+'; '+
'width:'+this.width_+'px; height:'+this.height_+'px; ';
this.span_.innerHTML = ' ';
var div = this.div_;
div.style.left = position.x+'px';
div.style.top = position.y+'px';
var visible = this.visible_;
div.style.display = visible ? 'block' : 'none';
var clickable = this.clickable_;
this.span_.style.cursor = clickable ? 'pointer' : '';
var zIndex = this.zIndex_;
div.style.zIndex = zIndex;
};
function loadLabels(){
//remove all label first
if(g.data.labels != undefined ){
for(var i=0; i= limit_object && limit_object != -1)
break;
if(g.data.labels[i]!=undefined){
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.labels[i].catID) )
{}else if ( g.data.labels[i].catID != undefined && g.data.labels[i].catID != -1 && !categoryArr.contains(g.data.labels[i].catID) )
continue;
}
for(var j in g.data.labels[i].options){
if(typeof(g.data.labels[i].options[j])!='object'){
options[j]=g.data.labels[i].options[j];
}
}
options.map = map;
options.title = g.data.labels[i].options.title;
var visible = g.data.labels[i].options.visible;
var clickable = g.data.labels[i].options.clickable;
var title = g.data.labels[i].options.title;
var border = g.data.labels[i].options.border;
var bordercolor = g.data.labels[i].options.bordercolor;
var bg = g.data.labels[i].options.bg;
var font_color = g.data.labels[i].options.font_color;
var font_size = g.data.labels[i].options.font_size;
options.position=new google.maps.LatLng(g.data.labels[i].options.position[0],g.data.labels[i].options.position[1]);
labels[i] = new Label(
options,
options.position, title , visible, clickable, border,
bordercolor,bg,font_color, font_size
);
object_count++;
}
}
}
}
function loadImages()
{
if(g.data.images != undefined ){
for(var i=0; i= limit_object && limit_object != -1)
break;
if(g.data.images[i]!=undefined){
if ( g.data.catlegendenable === true )
{
if ( !allCategoryArr.contains(g.data.images[i].catID) )
{}else if ( g.data.images[i].catID != undefined && g.data.images[i].catID != -1 && !categoryArr.contains(g.data.images[i].catID) )
continue;
}
for(var j in g.data.images[i].options){
if(typeof(g.data.images[i].options[j])!='object'){
options[j]=g.data.images[i].options[j];
}
}
options.map = map;
options.title = g.data.images[i].options.title;
var visible = g.data.images[i].options.visible;
var clickable = g.data.images[i].options.clickable;
var imageUrl = g.data.images[i].options.title;
var border = g.data.images[i].options.border;
var bordercolor = g.data.images[i].options.bordercolor;
var width = g.data.images[i].options.width;
var height = g.data.images[i].options.height;
options.position=new google.maps.LatLng(g.data.images[i].options.position[0],g.data.images[i].options.position[1]);
images[i] = new OverlayImage(
options,
options.position, imageUrl , visible, clickable, border,
bordercolor,width,height
);
object_count++;
}
}
}
}
//label
loadLabels();
//images
loadImages();
}
g.addOrgMarkerToList=function(i, iconid, title, desc, action){
if( (g.data.datalist.position != "" ) && (g.data.datalist.showmarkers == 0 || g.data.datalist.showmarkers == 1) ){
var table=document.createElement("table");
table.style.width="100%";
table.style.borderBottom="1px solid #DDD";
table.style.margin="5px 0px ";
table.id="markers_"+i+"_"+action;
tr=document.createElement("tr");
tr.id="markers_"+i;
td=document.createElement("td");
td.align="center";
td.vAlign="top";
td.style.padding="3px 5px";
td.width="50px";
img=document.createElement("img");
img.style.border= '0px';
if( !isNaN(iconid) )
img.src='http://g3.imapbuilder.net/_api/img/marker/'+iconid;
else
img.src=iconid;
td.appendChild(img);
tr.appendChild(td);
td=document.createElement("td");
div=document.createElement("div");
div.innerHTML=''+g.data.markers[i].options.title+' ';
var contentdesc = "";
if (g.data.markers[i].event != undefined){
if (g.data.markers[i].event.click != undefined) {
if (g.data.markers[i].event.click.infoWindow != undefined) {
contentdesc = g.data.markers[i].event.click.infoWindow.options.content;
tr.id+="_click";
}
}else if (g.data.markers[i].event.mouseover != undefined) {
if (g.data.markers[i].event.mouseover.infoWindow != undefined) {
contentdesc = g.data.markers[i].event.mouseover.infoWindow.options.content;
tr.id+="_over";
}
}
}
div.innerHTML+=''+g.convertHtmlToText(contentdesc)+' ';
td.appendChild(div);
tr.appendChild(td);
table.onmouseover=function(){
this.style.background="#FFF";
}
table.onmouseout=function(){
this.style.background="";
}
table.onclick=function(){
if ( this.id.split("_")[2] != undefined){
if(this.id.split("_")[2] == "click")
google.maps.event.trigger(markers[this.id.split("_")[1]], "click");
else if(this.id.split("_")[2] == "over")
google.maps.event.trigger(markers[this.id.split("_")[1]], "mouseover");
}
}
table.appendChild(tr);
gmap_locationdetails.appendChild(table);
}
}
g.reloadObject=function(){
//console.log("reloadObject() start");
if ( g.data.crowdmap.clenable == true || g.data.catlegendenable === true){
categoryArr = [];
allCategoryArr = [];
markerID=0;
object_count=0 ;
var cl_list = document.getElementById('categorylegend_list');
var chk = cl_list.getElementsByTagName('input');
var chkLen = chk.length;
for (var i = 0; i < chkLen; i++) {
if (chk[i].type === 'checkbox' && chk[i].checked === true) {
categoryArr.push(chk[i].value);
}
allCategoryArr.push(chk[i].value);
}
if(g.data.clustering===true){
markerCluster.clearMarkers();
}
// load object
g.removeAllMarkers();
g.loadMarkers();
if(g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view")
g.drawCrowdMarker();
g.loadLabelNImage();
//polylines
g.loadPolylines();
//polygons
g.loadPolygons();
//rectangle
g.loadRectangles();
//circle
g.loadCircles();
//route
g.loadRoutes();
g.loadLegend();
g.loadClustering();
}
//console.log("reloadObject() finish");
}
// crowd map submit report
g.submitLocation=function(){
var ajax_form=document.getElementById('ajax_form');
ajax_form.action='/_api/addlocation.php';
ajax_form.target='ajax_iframe';
if( document.getElementById('crowd_address').value == ""){
g.showMessage("Please Enter Address or Latitude/ Longitude", "#FF0000", "#FFF");
return;
}
if( document.getElementById('crowd_description').value == "" ){
g.showMessage("Please Enter Description!", "#FF0000", "#FFF");
return;
}
var fullAddress=document.getElementById('crowd_address').value;
map_geocoder.geocode({'address':fullAddress, 'bounds': map.getBounds()},function(results,status){
if(status==google.maps.GeocoderStatus.OK){
var locationLat = results[0].geometry.location.lat();
var locationLng = results[0].geometry.location.lng();
var formattedAddress=results[0].formatted_address;
var description = document.getElementById('crowd_description').value;
var username = document.getElementById('crowd_username').value;
document.getElementById("ca_latlng").value=locationLat+','+locationLng;
document.getElementById("ca_address").value=formattedAddress;
//document.getElementById("ca_address").value=fullAddress;
document.getElementById("ca_mapid").value=g.data.fileid;
document.getElementById("ca_usertype").value=document.getElementById('crowd_usertype').value;
document.getElementById("ca_userid").value=document.getElementById('crowd_userid').value;
document.getElementById("ca_username").value=document.getElementById('crowd_username').value;
document.getElementById("ca_useremail").value=document.getElementById('crowd_useremail').value;
document.getElementById("ca_description").value=description;
ajax_form.submit();
//alert('Add Location Success');
}else{
g.showMessage("Address is not correct!", "#FF0000", "#FFF");
//alert('Add Location Fail');
}
});
}
// login with facebook , google, twitter, email
g.loginFacebook=function(){
opened_window = window.open('https://www.facebook.com/dialog/oauth/?client_id=391367400907909&redirect_uri=http://g3.imapbuilder.net/_map/get_facebook.php&state='+g.data.fileid+'_d99d5572838260e3d540a54209b303eb&scope=email&response_type=token','fboauth_window','width=860,height=540');
g.removeCrowdForm();
}
g.loginGoogle=function(){
opened_window = window.open('https://accounts.google.com/o/oauth2/auth?'+
'response_type=code'+
'&redirect_uri=http%3A%2F%2Fg3.imapbuilder.net%2F_map%2Fgoogleapi'+
'&client_id=17030872649-20f1n1b2fojm8ksfgdt0dj9oinmtjosl.apps.googleusercontent.com'+
'&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile'+
'&approval_prompt=force&state='+g.data.fileid+'','google_oauth_window','width=860,height=540');
g.removeCrowdForm();
}
g.loginTwitter=function(){
opened_window = window.open('http://g3.imapbuilder.net/_map/twitterapi/redirect.php?mapid='+g.data.fileid+'','google_oauth_window','width=860,height=540');
g.removeCrowdForm();
}
g.loginEmail=function(){
if( document.getElementById("customName").value == ""){
alert('Please provide your Name');
}else if( document.getElementById("customEmail").value == "" ){
alert('Please provide your Email Address');
}else if( !g.checkEmail(document.getElementById("customEmail").value) ){
alert('Please provide a valid Email Address');
}else{
opened_window = window.open('http://g3.imapbuilder.net/_map/new_user.php?mapid='+g.data.fileid+'&email='+document.getElementById("customEmail").value+'&name='+document.getElementById("customName").value,'google_oauth_window','width=860,height=540');
g.removeCrowdForm();
}
}
g.checkEmail=function(email) {
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email)) {
return false;
}else{
return true;
}
}
g.updateCS=function(userName){
opened_window.document.getElementById('cs_title').innerHTML = cs_title;
opened_window.document.getElementById('crowd_userinfo').innerHTML = cs_loginas + " "+ userName;
opened_window.document.getElementById('cs_address').innerHTML = cs_address;
opened_window.document.getElementById('cs_desc').innerHTML = cs_desc;
opened_window.window.centermap(g.data.options.center[0],g.data.options.center[1], g.data.options.zoom);
}
// add crowd markers
g.addCrowdMarker=function(cmarkerid, latLng, AddressName, description,uid, username, usertype, email, date, isNew){
// center location on the map
var location = new google.maps.LatLng(latLng.split(",")[0], latLng.split(",")[1]);
if( isNew == true){
map.setCenter(location);
}
cmarkerid=markerID;
var infowindow = new google.maps.InfoWindow();
var iconpath = "";
if( !isNaN(g.data.crowdmap.markericon) )
iconpath='http://g3.imapbuilder.net/_api/img/marker/'+g.data.crowdmap.markericon;
else
iconpath=g.data.crowdmap.markericon;
markers[cmarkerid] = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: location,
icon: {url:iconpath,size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)},
title: AddressName
});
google.maps.event.addListener(markers[cmarkerid], 'click',function(event){
var userImagePath='';
var userDesc=''+description+' ';
var userAddress=''+AddressName+' ';
var userName=''+username+' ';
if(usertype=="google")
userImagePath='https://profiles.google.com/s2/photos/profile/'+uid;
else if(usertype=="facebook")
userImagePath='https://graph.facebook.com/'+uid+'/picture';
else if(usertype=="twitter")
userImagePath='https://api.twitter.com/1/users/profile_image?screen_name='+email+'&size=normal';
else
userImagePath='http://g3.imapbuilder.net/editor/img/crowd/emailuser.png';
var userTypeIcon='';
if(usertype=="google")
userTypeIcon=' ';
else if(usertype=="facebook")
userTypeIcon=' ';
else if(usertype=="twitter")
userTypeIcon=' ';
else
userTypeIcon=' ';
var userDate=''+date+' ';
var infoContent='';
infoContent=''+
' '+
''+userTypeIcon+' '+userName+' '+
' '+
''+userAddress+' '+
' '+
''+userDesc+' '+
' '+
''+userDate+' '+
'
';
infowindow.setContent(infoContent);
infowindow.open(map, markers[cmarkerid]);
});
markerID++;
crowdMarkersId++;
if( isNew == true){
var crowdMarkerCount = crowdMarkersData.length;
crowdMarkersData[crowdMarkerCount]={};
crowdMarkersData[crowdMarkerCount].address=AddressName;
crowdMarkersData[crowdMarkerCount].latlng =location.lat()+","+location.lng();
crowdMarkersData[crowdMarkerCount].userid =uid;
crowdMarkersData[crowdMarkerCount].email =email;
crowdMarkersData[crowdMarkerCount].username =username;
crowdMarkersData[crowdMarkerCount].username =usertype;
crowdMarkersData[crowdMarkerCount].description =description;
crowdMarkersData[crowdMarkerCount].date =date;
crowdMarkersData[crowdMarkerCount].isapproved = "1";
}
g.addCrowdMarkerToList(g.data.crowdmap.markericon, AddressName, description,uid, username, usertype,email, date, markers[cmarkerid], cmarkerid, isNew);
}
// add markers to data list
g.addCrowdMarkerToList=function(iconid, address, description,uid, username, usertype,email, date, obj, i){
if( (g.data.datalist.position != "") && (g.data.datalist.showmarkers == 0 || g.data.datalist.showmarkers == 2) ){
if( gmap_locationdetails != undefined ){
var table=document.createElement("table");
table.style.width="100%";
table.style.borderBottom="1px solid #DDD";
table.style.margin="5px 0px ";
table.id="markers_"+i;
table.style.cursor="pointer";
tr=document.createElement("tr");
tr.style.cursor="pointer";
td=document.createElement("td");
td.align="center";
td.vAlign="top";
td.width="50px";
td.rowSpan="4";
td.style.padding="3px 5px";
td.style.verticalAlign="top";
img=document.createElement("img");
img.style.border= '0px';
img.style.width= '50px';
img.style.height= '50px';
if(usertype=="google")
img.src='https://profiles.google.com/s2/photos/profile/'+uid;
else if(usertype=="facebook")
img.src='https://graph.facebook.com/'+uid+'/picture';
else if(usertype=="twitter")
img.src='https://api.twitter.com/1/users/profile_image?screen_name='+email+'&size=normal';
else
img.src='http://g3.imapbuilder.net/editor/img/crowd/emailuser.png';
td.appendChild(img);
tr.appendChild(td);
table.appendChild(tr);
table.id="markers_"+i;
tr=document.createElement("tr");
// description
td=document.createElement("td");
td.colSpan="2";
td.vAlign="top";
div=document.createElement("div");
div.innerHTML=''+g.convertHtmlToText(description)+' ';
td.appendChild(div);
tr.appendChild(td);
table.appendChild(tr);
tr=document.createElement("tr");
// social icon
td=document.createElement("td");
td.vAlign="top";
td.width="12px";
div=document.createElement("div");
div.innerHTML='';
if(usertype=="google")
div.innerHTML+=' ';
else if(usertype=="facebook")
div.innerHTML+=' ';
else if(usertype=="twitter")
div.innerHTML+=' ';
else
div.innerHTML+=' ';
td.appendChild(div);
tr.appendChild(td);
// name
td=document.createElement("td");
td.vAlign="top";
div=document.createElement("div");
div.innerHTML=' '+
''+username + ' ';
td.appendChild(div);
tr.appendChild(td);
table.appendChild(tr);
// pin icon
tr=document.createElement("tr");
td=document.createElement("td");
td.vAlign="top";
td.width="12px";
div=document.createElement("div");
var contentAdd = address;
var imapath = "";
if( !isNaN(iconid) )
imapath='http://g3.imapbuilder.net/_api/img/marker/'+iconid;
else
imapath=iconid;
div.innerHTML=' ';
td.appendChild(div);
tr.appendChild(td);
// address
td=document.createElement("td");
td.vAlign="top";
div=document.createElement("div");
div.innerHTML=''+
contentAdd+
' ';
td.appendChild(div);
tr.appendChild(td);
table.appendChild(tr);
//div.innerHTML+='' + date+ ' ';
tr=document.createElement("tr");
// empty
td=document.createElement("td");
tr.appendChild(td);
// clock icon& time
td=document.createElement("td");
td.vAlign="bottom";
if( g.data.datalist.position=="right"||g.data.datalist.position=="left" )
td.align="left";
else if( g.data.datalist.position=="top"||g.data.datalist.position=="bottom" )
td.align="right";
td.colSpan="2";
td.innerHTML=' ' + date+ ' ';;
tr.appendChild(td);
table.appendChild(tr);
// setup the mouse over effect
table.onmouseover=function(){
this.style.background="#FFF";
}
table.onmouseout=function(){
this.style.background="";
}
table.onclick=function(){
google.maps.event.trigger(obj, "click");
}
//gmap_locationdetails.appendChild(table);
var markerlist = document.getElementById('gmap_locationdetails');
if( markerlist.getElementsByTagName('table').length > 0 ){
var t= markerlist.getElementsByTagName('table')[0];
markerlist.insertBefore(table, t);
}else{
gmap_locationdetails.appendChild(table);
}
}
}
}
g.drawCrowdMarker=function(){
for( var i=0; i= limit_object && limit_object != -1)
break;
if ( crowdMarkersData[i].catID != undefined && crowdMarkersData[i].catID != -1 && !categoryArr.contains(crowdMarkersData[i].catID) )
continue;
}
g.addCrowdMarker(crowdMarkersId, crowdMarkersData[i].latlng, crowdMarkersData[i].address, crowdMarkersData[i].description,crowdMarkersData[i].userid, crowdMarkersData[i].username, crowdMarkersData[i].usertype, crowdMarkersData[i].email, crowdMarkersData[i].date, false);
object_count++;
}
}
}
// create & remove dark background
g.createModel=function(){
var map_div = document.getElementById('gmap_'+g.data.fileid);
map_div.appendChild(modal_div);
}
g.removeModel=function(){
if(document.getElementById("modal_div")) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
var md = document.getElementById("modal_div");
map_div.removeChild(md);
}
}
// add a submit form
g.addCrowdForm=function(){
g.createModel();
if(document.getElementById("crowdForm_div")){
document.getElementById("crowdForm_div").style.display="block";
}else{
crowdForm_div=document.createElement("div");
crowdForm_div.id="crowdForm_div";
crowdForm_div.style.position="absolute";
crowdForm_div.style.top="20%";
crowdForm_div.style.left="25%";
crowdForm_div.style.right="25%";
crowdForm_div.style.backgroundColor="#F0F0F0";
crowdForm_div.style.borderWidth="1px";
crowdForm_div.style.borderColor="#CCC";
crowdForm_div.style.borderStyle="solid";
crowdForm_div.style.display='block';
crowdForm_div.style.zIndex="2";
crowdForm_div.style.borderRadius="5px";
crowdForm_div.align="center";
var ci_style="";
var loginCount = 0 ;
var loginFacebook = '';
var loginGoogle = '';
var loginTwitter = '';
var loginOR ='';
var loginEmail = '';
if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.facebook ) {
loginFacebook='';
loginCount++;
}
if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.google ) {
loginGoogle='';
loginCount++
}
if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.twitter ){
/*loginTwitter = '';
loginCount++;*/
}
if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.email ){{
loginOR = '';
if( g.data.crowdmap.login == undefined || loginCount >0)
loginOR +='or ';
loginOR += 'Enter your name and email
';
loginEmail = '';
loginCount++;
}
}
var content="";
content+=''+
'
'+
'
'+
//'
Login
'+
'
'+
loginFacebook+
loginGoogle+
loginTwitter+
'
'+
loginOR+
loginEmail+
'
'+
'
'+
'
';
crowdForm_div.innerHTML=content;
if(true || g.data.crowdmap.mode=="edit" ){
if ( document.getElementById('gmap_'+g.data.fileid) ) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
map_div.appendChild(crowdForm_div);
}
}
}
}
g.removeCrowdForm=function(){
g.removeModel();
if(document.getElementById("crowdForm_div")) {
//var map_div = document.getElementById('gmap_'+g.data.fileid);
//var cf = document.getElementById("crowdForm_div");
//map_div.removeChild(cf);
document.getElementById("crowdForm_div").style.display="none";
}
}
g.addMore=function(){
document.getElementById('crowd_done').style.display="none";
document.getElementById('crowd_input').style.display="block";
document.getElementById('crowd_inputdata').style.display="block";
}
// add temp marker for user to set location
g.addLocationMarker=function(){
if( !isNaN(g.data.crowdmap.markericon) )
iconpath='http://g3.imapbuilder.net/_api/img/marker/'+g.data.crowdmap.markericon;
else
iconpath=g.data.crowdmap.markericon;
tempMarker = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: map.getCenter(),
icon: {url:iconpath,size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)},
draggable: true
});
document.getElementById('crowd_address').value="("+map.getCenter().lat()+","+map.getCenter().lng()+")";
google.maps.event.addListener(tempMarker, 'position_changed',function(){
document.getElementById('crowd_address').value="("+tempMarker.getPosition().lat()+", "+tempMarker.getPosition().lng()+")";
});
var tempMarkerAni = setInterval("tempMarker.setAnimation(google.maps.Animation.BOUNCE)", 3000);
}
g.removeLocationMarker=function(){
if( tempMarker != undefined){
tempMarker.setMap(null);
clearTimeout(tempMarkerAni);
}
}
// confirm button for temp marker
g.addLocationDiv=function(){
if(document.getElementById("crowdGetLocation_div")){
}else{
crowdGetLocation_div=document.createElement("div");
crowdGetLocation_div.id="crowdGetLocation_div";
crowdGetLocation_div.style.position="absolute";
crowdGetLocation_div.style.bottom="20px";
crowdGetLocation_div.style.left="30%";
crowdGetLocation_div.style.right="30%";
crowdGetLocation_div.style.display='block';
crowdGetLocation_div.style.zIndex="3";
crowdGetLocation_div.style.opacity="0.8";
crowdGetLocation_div.style.align="center";
var ci_style="";
var content="";
content+=''+
'
Drag Marker and Confirm the Location.
'+
'
'+
'
';
crowdGetLocation_div.innerHTML=content;
if(true || g.data.crowdmap.mode=="edit" ){
if ( document.getElementById('gmap_'+g.data.fileid) ) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
map_div.appendChild(crowdGetLocation_div);
}
}
}
}
g.removeLocationDiv=function(){
if(document.getElementById("crowdGetLocation_div")) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
var cf = document.getElementById("crowdGetLocation_div");
map_div.removeChild(cf);
}
}
// show and hide temp marker
g.addLocationMode=function(){
document.getElementById('reportPanel').style.display="none";
g.removeModel();
g.addLocationDiv();
g.addLocationMarker();
}
g.comfirmLocation=function(){
g.createModel();
document.getElementById('reportPanel').style.display="block";
g.removeLocationMarker();
g.removeLocationDiv();
}
// message dialog
g.showMessage=function(message, bgcolor, fontColor){
if(document.getElementById("errorMessage_div")){
}else{
errorMessage_div=document.createElement("div");
errorMessage_div.id="errorMessage_div";
errorMessage_div.style.position="absolute";
errorMessage_div.style.bottom="20px";
errorMessage_div.style.left="30%";
errorMessage_div.style.right="30%";
errorMessage_div.style.display='block';
errorMessage_div.style.zIndex="3";
errorMessage_div.style.opacity="1";
errorMessage_div.align="center";
var ci_style="";
var content="";
content+='';
errorMessage_div.innerHTML=content;
if(true || g.data.crowdmap.mode=="edit" ){
if ( document.getElementById('gmap_'+g.data.fileid) ) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
map_div.appendChild(errorMessage_div);
}
}
setTimeout('net.imapbuilder.gmap.removeMessageDiv()', 3000);
}
}
g.removeMessageDiv=function(){
if(document.getElementById("errorMessage_div")) {
var map_div = document.getElementById('gmap_'+g.data.fileid);
var cf = document.getElementById("errorMessage_div");
map_div.removeChild(cf);
}
}
// function for data list scroll to bottom
/*
g.scrollDataListToBottom=function(){
if(document.getElementById('dataListContainer')!=undefined ) {
var objDiv = document.getElementById('dataListContainer');
objDiv.scrollTop = objDiv.scrollHeight;
}
}
*/
g.refreshPage=function(){
window.location.reload();
return false;
}
// heat map
g.checkHeatMap=function(){
heatMapArr = [];
// check if it is heatmap
if( g.data.heatmap != undefined && g.data.heatmap.enable == true ){
var heatMapData = g.data.heatmap.data;
for(var i=0; i=0;i--){
if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break;
}
str = str.substring(0,i+1);
return str;
}
g.Trim=function(str){
return g.LTrim(g.RTrim(str));
}
g.numToHex=function(num){
var hex = num.toString(16);
if( hex.length == 1 )
return "0"+hex;
else
return hex;
}
var searchMarker = [];
g.searchInMapAction=function(address){
if(address != " "){
map_geocoder=new google.maps.Geocoder();
var map_bound_SW = new google.maps.LatLng(-32.768800, -86.923828);
var map_bound_NE = new google.maps.LatLng(9.188870, -16.611328);
var map_bound = new google.maps.LatLngBounds(map_bound_SW, map_bound_NE);
map_geocoder.geocode({'address':address +" Bazil", 'bounds':map_bound},function(results,status){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(results[0].geometry.location);
//searchInMapAddMarker(results[0].geometry.location, results[0].formatted_address, searchMarkerID);
searchMarker[searchMarkerID] = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: results[0].geometry.location,
icon: {url:'http://g3.imapbuilder.net/_api/img/marker/17',size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)},
title: results[0].formatted_address
});
google.maps.event.addListener(searchMarker[searchMarkerID], 'click',function(event){
var infowindow = new google.maps.InfoWindow({content:results[0].formatted_address,position:event.latLng});
infowindow.open(map);
});
searchMarkerID++
}
});
}
}
g.zoomInPolygonCenter=function(path){
var bounds = new google.maps.LatLngBounds();
var pglength = path.getLength();
for (i = 0; i < pglength; i++) {
bounds.extend(path.getAt(i));
}
map.fitBounds(bounds);
}
g.zoomInPolygon=function(polygonID){
if(polygons[polygonID] != undefined){
g.zoomInPolygonCenter(polygons[polygonID].getPath());
}
}
})();net.imapbuilder.gmap.expire=true;net.imapbuilder.gmap.mapkey="AIzaSyBsJ00itihfix0LqWl2nQ86J5AYBQK_XQg";net.imapbuilder.gmap.run("{\"width\":\"400\",\"width_unit\":\"px\",\"height\":\"400\",\"height_unit\":\"px\",\"fileid\":20887,\"filename\":\"Whale Research Map\",\"font_size\":\"16\",\"font_family\":\"Times New Roman\",\"options\":{\"mapTypeId\":\"terrain\",\"disableDoubleClickZoom\":false,\"draggable\":false,\"keyboardShortcuts\":false,\"scrollwheel\":false,\"mapTypeControl\":false,\"panControl\":false,\"scaleControl\":false,\"streetViewControl\":false,\"zoomControl\":false,\"center\":[44.04540321442,-115.18115238281],\"zoom\":3,\"infoAutoPan\":false},\"markers\":[],\"labels\":[],\"images\":[],\"polylines\":[],\"polygons\":[{\"options\":{\"title\":\"Bermuda\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5733\",\"encodedPath\":\"w{{cEjwsjK_D~p@?~k@{Evo@{Jbe@kMbe@kWcBcG{c@wBkf@zJwe@jMce@sDgh@cB{h@wGgc@wG{h@wGce@{Jg^sIgc@{E{c@kRk\\\\oZoPkWfTkRrXwVnUkMo_@{Jc`@wG{c@wLg^wLo_@kMc`@{Jc`@{EsSkRwLoUcVkWwVoUkWoUoUoUkWkRc[oUkWoZsSc[oPoZsSc[kRoZsSoZkRc[wQoUkWoPoZwQc[wGgc@vLce@f^rNvLf^nPnZjRj\\\\nUnUnUjWb`@rNbe@rIj\\\\wGjWkWnZwLb`@vLvGzc@zEbe@vLf^jRj\\\\zJf^jWjWnUnUnPj\\\\jWjWnUnUnUjWnUjWjRnZnUnUnUfYjRfYzOj\\\\jMb`@nUjWzOrXjM~a@vLf^vLb`@vGrX~C~f@vBzh@bBzh@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subrid\":\"2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97\",\"encodedPath\":\"yxa`KbsmzMwwCztWilu@l~gBytGd_Am_JcueAjcUswpBt`F{m@nqPamVfpMzpJnqPhcaA\"},\"catID\":-1},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_kqxIxkuuJchC~mPchQ~`_@}mWamAk_QsdX|_Gyx[laEdrHbhCagIlcGb`P}cD~~EfvL|wSxvBge@kiFgmQdfAiePhfQ{wCjaL~iC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"sbxaKx``sMiyAxg_@ggYfsjA{kL~`XkeBb~M{gHrwAgvEkqGpUecj@dqU{i{AnwHuyS|~EddMpsDewTd_OhwT\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{xosIbvyeNskC?euw@acx@iuDpeDdaCfvLjdt@nvaAc{J|rU}er@mzw@{bQqzb@a{_@siOgkVn\\\\fsBuyE|`OggBhoj@vqRhwMxvIsmEiwFoyCibTaun@oqWmp]cgB{Le}EvvIhWdbD}tWl`KueDntEg{J?ccSnwOqlDfuDcpD`kTheWz_z@nje@umoAwzk@_qLt@boC`dMlo\\\\viHd_AyxDzlk@by]sif@{bQypJxoBjoOnfQdwo@|re@ddFxuH{SpbOgvEzjKx~SrwX\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"uo|uIf{sgN_aAldH}rUeiK{iJkpbAuuOeuRasGuhGnd_@v`TlyX`z|@rjBdxN\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wvnuI|ov`NimJ_aAk~VgnRojWowH{iCo}GzjDmyJ`sl@d`BbcLn`p@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"}bpkH~kwxVnxi@nrM`rFzvMm~Azud@~yG~jMsqBb`TcgIk`M}`Az|OvoIn|Cv~JjmXai`@nehAqkC{sB|_@gnVaaQofXmfCzm@vqKjuTySrsDigRwdCjj@vaLeqU{{ClmZrvc@ix@~cDm~H~hDsiAwsHqkJobF_sNsnDnhU~mSseDzyIcbRgkA|yGjzYmvGziLt}Ib`@psD~sFiiTfvWreDf{HlgKwwA_Fn_Oatf@noBm~HwuQmfCg{iAchCfdBpUfuF`s@jez@o{EjiFs`MotL{nAn_J|_GgTxsFfnGrN~wNund@byJvcBrxNu`MrrL{gAfxG|tI{dGbqEv}MwoPfkFp_Sv_Cx{@f`b@qhU~lVeeG{wJceGf^qrCcrFcgIwhK}hBrcBleIzqMwuHraWzzOkqBhuDjcS}|JvhPmcGgpFhrArka@cbDrxDkpF{eDp\\\\z_GdzPjhXqyCzpUqrCzm@gqUkw]khEvxR}_G{iG~_@bxWmaE~jHm{L{iGihL_db@vZcec@vqRs|QbKwlDc{XraWawDc}CozD{vRg{CgvCm~AfsmAxrE{rc@zcDojGv}BnjBppHvuwA~wEgfAuqRvda@oyJ~bQ_uIzEotSrwQcjE{dLwrL{ytA|{PcwgA~wNonJ}eHkqLlbMobKz|Jgjl@dgIcmZfrAo}c@lhEwhUxrEw~aAhgR_~lApqBodfAhlIc{Xhi[gpKnsKoyLxdZknPz~q@sebArtE~`Coc@nrHxt@vaGn}e@gcc@nsR_j}@bvZseeBpkQchF|gAglRnvN_{Jr}IjcDdw[gud@fwF~f@riHsfCoc@vvNphNwkVhi[rDubHs}Ik|TwrAjq@sjKn~_@{tIjnDowHl{LzObmAzzKe_HndObbR~tMvtGfuKmaE~wSskCrtZ{v`@vuuBcmA~eHmid@zpyBakM~}Kozi@kibAwnVg~IgrQvlD\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"khedKvwbjOnsJlsQ`jL~syAcjEj{x@|iClaSbcLrzT~}Dlbr@ix@bzPseKlwOanInIsfLchJsv^ugk@{ia@m{iCinKugFcr]|v`@wqw@rdJysr@g_m@ukCh|D_rFskJebKnnMwnOkbFkkOmeI}nXxrEaeN}_NcoCvdJ_j_As_ZyaWwlb@irOifh@{hBgjUn_CylFj{LncIptEiW`nBynHutG{zObiDky_@ltL}}KfgBfwFdsPgmX`vC}_@rfExkL`nBzo`@loEhWxaPggp@vyEq|FjjNv{@paUkePuh@gjUm|M}cKqnFrpAye[_h_@`uBmi]`uIqnFxjKk`p@xpJ~dNdwMmmZnzKulaCzjKsbOtsFdRpqP}|X|_Eitc@x{`@gbzAueD{o`@pqI_db@hxe@unpAjnDecElk_@~|ChgKscIx|HwuVjcNwShhL`adAhmJblGl~A{kLidHanzA{t@wxDqnFnwActAq_LnfSmbpAal@msIavC{E}vDnlKsaNm`DzdL_ge@~v[}wq@n`Dj|M{iC||Xt`FwwJhtC}fl@jdHavh@jkH_bBnsDfyt@``e@byiAth@~qM~nJv~CpqBhiMwpQzhsAu`FbaQbs@`fVkgKbcS{mGbefBrlDpoGuzMdgg@qrC|aBwzFobF{bJys]ilIlBwxK|u_@pwApchBoqI|xMokQc}ZwzFmbFkdHjkH`s@b}Sb{JnuMgsBz}YnmS|m|@f{CjpFdpMc~MvxK|_GtaGo~HnrJlcGjkAdm_@|q[f{v@eaChwd@fah@nzb@dvSrzTdkd@pc}BzLxkq@kdHnrQqoNtwJg__@tcBeqj@oyJakF`|BslD|{PakLtM\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_~`oKjlbdOsxBfxNofSvsMimJpce@qhUz~La}ZfuDw`Fy}D|bC_ul@dscAwd_A`wDnUrgMjzY\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"cpnoKt`|{NagPtog@|jDhwMvxDakFo{Elzb@kiFkwAg{CylTklBf`I`tA|{Pu`FmkH|hBtvWtxDlqI{cDpzb@gzIshGy_\\\\nePkhEdwd@wqKvuOejL|LxyEo|k@xhPui}@dbKafd@pgF{gHjqGnc@|zHvfUr`Tikt@yvBwc`@|hB}j[beNbpMpjBjsP\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_gctHriocWowHntBoiVsts@kPkxKvrLwiM`hQrbOpv@r_{@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wbemIfgeaJ{m@h_XqmLzjKgxGiWkIgnYwyEuyZvlTblGozDygV|dEiPrbH`b`@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"yrr|Knqb_MqNjboD__Ft~h@wl[jvj@}{I|tBqrJcuDtG}bv@_dTktZpnFcdTvjKnkJzjKiywBbnBm|d@l`D{uHpvGjzBlxPuiOj`KrtL\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"uvmpNbjxsOybNt`eE~iSbqqFxeTp_eDas@rxYimJvtz@ywC_iBqg[sxgFaoC}}DcoCjc_BsbHrra@jj@d_O~hBzLhhEseK{jDljjAzhIj~{@jtClkAvxDkpFzlFdc}A{pJ{L}~Lhq_B{gAedFw|A}pZcfOebp@|Eyw{AotEd_Vw_EeuRcgPcvvFleBcmHxtGgoStxKs|{@ibFv|Ag`Iw~a@sjBjeBatAzlk@wdCt@e_Aa~[`wD}ba@_z@_tO}}KnsKquM{urA{fGenjBvwC{tvBpqIsas@n~AkmCtgF|pZbxNitbB~EqaN}~EhbTw`Fjax@{bCy`O}L}nf@ymGlr_@qrCu{UbKqvoBnvGchdAnh\\\\yahBilBobFcdTfrbA}hB_gWp\\\\}gkAzbCc{_@ezB}`Anv@q`b@hyA{fGzmGg^dwFek]ygAaxEatOnkX_xEfib@e|RjxdIezBpt\\\\qqIzyUcmArNcjLcv{Gw|A{`HqkCxfUecEu~Jy@|yU_nI}~EebDpymAawD_tOciDsilCrpAissA~oDoaEbs@ri{@xmNulsBksB}~x@~cDcqaAhgKe{}@vvIwzFrfLww}@nuFmtLdbD~|CtdCpz[bkFgiiFyoBsiAawDryS_aAz_mBqdXjkrAyvIbnB{aBqnFd`IcyuBfff@}mqGreKslfD`x\\\\_qkBhx@wl`Ao~_@bgfCssDanPu|H~d`DarFfwr@}{BtjIgcE__T}_GhqkCcz^xviEguDz|Q_|Bfe@okQisg@o_CszsBqjPrjzAqlDsqBssDcr]xrEkbjCplRkypBso@gcaAkfQzt|@st\\\\v`cCcmAzgAavCk|T|jDm{|DvrLq{aA|xF`oCtnFowm@hPgoZuhGzqb@oxBq~QzmGsv`E_hAuzgAm}@fzIas@zcaCoxIx~rB{hI~f^yyElqe@s~Jnwf@gpMonvDjeIyh|@rbHwfNc}LowbAv~C{te@|{BqjBn|FhlIt|A}bJgnDemQfyH{er@krAq~A}iCb~TmxImzw@as@mnb@vpJu`|BnmL{zd@t}WiafAhoLme_CjlBzZnmLt|t@zpGntK`lC{rD{t^}h}C}hBfyAwnO|uuCecE`hQspA~y@sfEq``AwZx}lAyzd@lgdE{fGq~Xlc@ko`DyyEcnlAbiD}avHjfQ}}uA~yNux`@nb]}t~EgzB_|`@uxKfv}AauIpsgAwvI~qMg{Cdtf@skCswA}r\\\\wkuDe^emhEbnB}~ElrJtda@`uB}zAjdOyxnAbkFsi`BucByuAonTh}{BmlIkoq@{hIe}gDnPufbCdwFkiFxyEith@v~C{qi@a~Dkni@dmAwzFl}Gta@o`DuooBtjB}|o@fxGfvEynAa}fAgDacwCrlD_poCpoGhhLjcNvd{Ap|]plvIftChjGyxT}a`KydSi_zDd_A_|n@~~ExpJhoEwk_Amc@ozDeiDlhc@w|H_}o@mlBp~f@c}Egn~@mBedy@zhBee@hrArmq@l{S{mxAecLejhAcKss|AtkC}ih@j{EinDzmG|tWdgBfjaAdeG{dx@prCkcz@xhBwvB~iCvdZt~CgcoAjfCauBbpK||XfoEdfAwiJowgB_FsniAzmGibsBrcIs_x@bfHye[xcKosKjiMnrJbpKlgp@b~Mbc}ArvPf|nA`}h@~vqHzkEtpt@bhC`aJh{Crdv@iwFhwhDrjBlkAtaG`bw@xa@hkiAnwA_cCkx@ax{B~bCb~MpoGjnuAm`Dr{\\\\vyEzx[prCjplHjoEt~tA}m@x}`@ukZ`b}Cq}@bq\\\\zvBowHldXkvyCtmEgwMgfAd{{AfaCepTeDmj}Bg}E}rpDftCokkAjnDkub@dbp@tbpMl}NfslFzoB_m]}aB{roAfuMnojAkmEudfAsiHyme@_tt@wavS_sNikdFoc@updA`pKsxRjdOt}g@vkZnizCbjEnjhBrqRjjxAtjIvySvbXnr`Crv@byiAxwCktCjdAcdF|_Gl~Vtsb@tfeEraG`fVxyE|}R~aY~xiAx{GbjErdJvxw@jeBd}dBefA`qc@e{J{sO}|Qvou@grHhmv@xoBlzDrwXucsAzeMf|Kf}LmjxAr~Cu@pqIptc@cgB~rmBrcPvfkCde@hqs@ewTzxlBjkA|tWdtQgieBf`B~vDhyAv|yAjhE}kj@asNkxqGbqEwxp@phGyvBxyLval@`fHhr~BbkFpcPleBc|Ke|Dypv@`wDi_f@rwQ|hg@xiX~`vE{fGvvfCu~Qfj\\\\yhPjveE`rFz_rCj_J{cYjtCe`cGvtNadMzeF}sVjfQcmHfoEjgRjnDznkAge@r}^}sHjsYjBbdMleBhq@lcGsbHpnFpmEllBfplBsjIvbkAchCv_EziCdtQ~qM_ja@v_E|zHl}@lzg@}xF`k|BqmEdcEnyCxfU_wKnxn@imJ|v{DjbFppHfaC}bJ|}DoqyDrrC}{B|~En}@hdHcbw@|iCjen@sqB~wpCqpHxhg@_pK`tHv{@xyq@h|DmhEffQoce@umFz`uC|mA~hWbpDa`WboJekuBsUwxrEbqE_maDjj@qg_DboCcsPxqDz|}@`uB}`Ot{Nuyq@daCqnF~|Cj_Jd_Azte@iqGfvuDccE~pq@mlIawD_mHdgn@|_NdbKpkCyfNbhClsKjj@n`tDrjIthqAc|Kb|tDl_C~zyAfyHcafF~zf@rzlB`|B|cDhsB_tH_aAmqNswX_~r@klIobd@yjK}c`FtwJio`DjvEppHfpFnigBdaJflWqqIonqCpuFm}rC|}Dks`@l`DvbH`vCo}Gd|DptL`_F_yTzdElh\\\\bmH{zHbjEaca@jdOj~zCeRlekDryZs|kFvaGmvNzdE``^eK~z_@poNnpV`vC~hY{aIvpzDxiCt}u@tfEzhIl{L_gzFvyEykElkXbb~@qjI|{n@nvGjb`AdbDniO`yFpe~@efHbhlD{`H`}{AtdCukCvvBawDreDlfa@lfCfeG~_GwaW~sHwyx@jjGgtJprCtcBdzBbgPbpD_xLjnDnsRbmH{d_Al`DqzDvtGbjq@xmGkbFfwFdxNbjEbkk@|jDySnxBsqBhqNdc}AxLjxWsdJy_UirA`kFfxN`h}@kPrsuAg`B|dc@nvGt|t@qpHzofCc|RresB{kq@btwBbiDzoIn}GckFl{Lqol@t`FgfApqIt{NltLm{j@|m@qk}@hkHivEddFhs_C}}Dpnr@jlBlmSfyHiax@lqIde@tqEysWo{VuocCvsMwuxDfhCyoBnlRfwr@xuAym@}~E{rc@g_Ocyd@}sHycw@tdCw}zAhfJsrh@jfJylFfp[zxgAntEyZuiAarpAtfEuwJlxItrLryCebp@qxIto@wt@}y\\\\o}GwZ_rMawi@kkA{uf@~mIskh@dbDsiHzqD||CnyCk{L~uCtvIlcGkfa@nuFfpMzaW_|BxqDbaQ}E|r\\\\nsKnd_@tzFouFdkMvmz@kvEtb_@saNyfGqo@d}j@jwV|x[d_O|}w@hnKtmGxpCfhbBxy\\\\rlwF_z@zeFo_CspAqmEwaWucBleYmoc@iz~@e{Cx`AigYhhtAjbMngb@ldAp__AusF~a~@coChzBmeImcNywCxsM}uJuae@xlFnzi@wZdhh@atHvf\\\\ezPd|YijGlg[v|A~bCzyNobd@ptEzf@d{JczW~{Iuw}@t|A}{BxwCrbXt_L{oKvwCw_EblGp~Xl~A~idBkcNn~{@s`MmeBokQrqY_sGfoa@_zNmhEso@hxGrbH~~UddFmxBt~Qoxn@jdOgvLl~HbwFn_CmuFjlBddMudCnxsAotSr{aAc_OliF_`G~uh@f_A|`Hf|DwbXleIzaBfnDdcEfxGwrLh}Ed`BxqDzc~@{fGfwr@}}K|vKw{GjwVjj@fhJf{JhmChePexNdtQ{znBtkCsUd^z{`EygO~l_E{cDjjGo_JrU_sGwhe@awDhWy{PrrmAzwSig~@tzF`tf@p_Crz[vvBgtC|oRxmNs`Ff~pA}hBxpCgzB}~EitC`oJkkAj_o@gwFwfEipFdkT{aIckFa~DhpMfe@hjG|tPkq@|hBalNrbHbvJnuFq~Vf}E~kLbdFteMtNl|[{gHbbRegBnxI~rGjnDchCx~vAujBdfOosDwlMqmExfNytGopOgiTlr_@qnF{fG}~LbxNirHeqNu_EeKi^|oKb`Pbf]tiH_{Ht|HknKjgDthNxrEqfZjgK{dEn~Hr|Vz`HswAhWroNylMauBkdO{oB{kEvnH|_G~~Sp`DccCr~CjfJbjE_`IziJjpVwZtaUaxE|}D~|CnnMyrLxrx@acLv{@_`@jln@kfJ{jKmcGeu`@cgBmxBumEfxGs}Bu}IuzMpqRkqGphEukh@yuoEqeDapDa}CCg_AwexC|kEotEodAcls@ipFt|OgvE}jRd~F}`rAldA_}S_cCfuDucBn_J_jExdx@wcBaYkpF}j[orC|`_@g|Dp{EubH{imAa{A`ll@lbFjz~@e{Chqz@uxK|lOw}Be^crF{|X{bJtcIwoPrjzAg}Ep~JciKgiMkbFdaCaqEdl@yoBipMuh@}~EceNq~uCbbKkwaDrwXuy}Anwm@ejq@m}@g{h@l_CsiA`uB|bCpuFsaUhsBsirAtxKknp@tjBo~m@ypCrN_wKr~XsqBmsK{gHo|jC_bBcjEsyEwfhAg_t@coyBapDhq@iiFy|XqiVuo^auIzfN}{BujIstEqkh@atAn}@xpJvurAnyC`wD~vK_wK~iZjwiA~lOdlPxda@do{A|}Db`|@{lFzpeDs`FreD{{WgdpA}bCqkCoc@|fInuFzzF|aPtkmAcoJdqhAe`Bfx@m`DuzFmgDdxNwiQeomAmkA|aPbkFzlr@ucBp_SaoC?_zGky_@}gA{pfA`uBuiAd}ErkJs~Jk_kAhrA_{f@ypC`fOxt@j~zCpmEppt@ecElaEawDpx`@qlDc}LyjRezhBzkEijz@scI_o{Ao}@dzn@f|Dd~r@g}Erju@emAd_AybJaoQiwFcueAbiDylwA_sGtzy@|Ejb~AwjRkyXciDebKkwFtzMgeWkzKubOcz^?bzIjz`@|fz@f}LmeBl{j@raxA`pKpqmC{gA~eVw|A`vCquMayF}~L{xy@}rUm~V{~Epc@rbOd|i@ppHp_C~lHjs~@m~AreR`hQbjj@xvB~heAw~CffrAeaCzbCeeG}ba@ubAsgr@oyC|t`@d_Apth@owAvmG_e\\\\g{Cg|DzdEavJ}qT_sNkrt@hWmpt@seD|gAvZjni@wwCxuAspf@kxxA}zVkvmH~pZkopIrpf@glyD~_@sgT}qDchKopOpi|@euDp}@_g@kcaAgsBtGseKna~DmaEbzGw~Coe`@leByqeGkpFmvNgvEj_Qu{NaiRikHuw_@m_CbvJb|RfpwArbH`rTv_ExukAmeIthqAcoCny}FwrLbf`BauBjeIkmCf_As`M_|n@xlFqo_B|aImrJ~cDodkAswAi{h@{hBokAg_Arj|@erOdxaAqrJ}aP_aAtgFbqE|wSmBzan@slK`s@e~Mt{UkcNjhEqiV|gyAmqPb_OopO`tyAmdHfumDwcB`iR{eFth@eaCocU{cDbrMs`Mlc@unF{wL{Ee_t@jgK{_rC{jDaoQ}xMzycF}bQp|d@g}EjmCml`@mg[gvEc|lAhoLsj~KxoIe~gAxlr@}orE`gPmdiAdvS_wb@hvEpv@vpQsxeAbs@n~_@z|CaaJ~Em~VamHy_\\\\xeMsm`DuiAehC{bCp}@yuH{ljC{aIkcN~zHja|DmvU~_bDecEcbKw}I|dEk}G|vKaxEiir@cpDni]{hIrhvBofx@j}eEw}Ba|Bodf@yudRmrI{leK_cDnjkAf^jryGmeBtyLkta@{_rIo}G{}xHihEwqRq~At{_BdKpajFt`FxscCuyEtwJktCajLgpFznAmhEr}IytG}nXemQa~gAavC}{BkrAx}Kgxs@oplI_bBxnArgTplyEp_ZnvrCf{CvkLnbFjoEjeBqlKrdCbdk@{|Q~enBv~Ck~HhjNkseAlfCvkLd_ApaUnyJ|hPn~Ay~a@leBlB`w[xlwA`ca@twyG|pShpqIm\\\\rk_Aa|BxaGqhGwuAqnFshNmzR{rlEapK{er@}iCdib@hgY~jiFeDfkbAiwFnvNeqNoftAa{A`}Cn}Gvl`A|{Iju`AjkAth@~xMqaUngM|{I`}Ct~JpfEpk{AsxD`rlHu`Moyv@jIl~VvtNp}|@wzFpjhBgtCttc@{kLelNkfv@calDczPk{wCgDiq_B_nWyo`Kv|AlmyBvwQxeyKt@jrdAphU`ihC~s{@lyzDjIxc~@gcj@vgjIwoIfe^}aBriAimJevkBoyC_ogCtGuqzGsnM}zqDqoGxnHaw[{bxE}pCozDilBrep@xcK|nuCpjWxeqCvsTlz~QktCpuiAcdFdjc@s}P`e\\\\i{Ce}E{hI_ns@sN_enE{gA}kEivEd|hC{cDv`r@auBxpCunVueyEciDjiTmhEmgi@kmC}{mCnwH}diCkpBbaB\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wyk|Kf``pO_wKjnb@c~TvcPirHu_Sk`K|XwaG|dZm{Emq@ysFgxNyrEb{AifXqdf@sNuxK`gPerk@v|HfgBrqg@}}KvpQzjDtoW|u_@tNpaU\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"qyjyKz~{sMgcEl|k@oyo@|gf@gyAs_Ect_@z|Qi~]q~QibgAcp|AapKw~h@spA}veAfe@sgT}xFsiXl}@q}l@xy\\\\ym}BtfEmiFduRbrFtzMz~SzdSclG`tHioLzyUlfC~nQguDxfUrvPhyX`xq@d|RneoCdnBzpgC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"aesmHvmedWmrXnnr@cbDnuDmgDsjUedFv{N{m@zgHccLcaj@xqD_{Olkf@ojLjdHbcApqBndJ\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{im`Lbig}RoxIft{@myQfxe@gvEgzUjj@wbv@|cKc_f@~tIwvIdwF~sAtkCjrX\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ufa`LjjvhMchJ|wEyjRjqaAcpDz`H{o`@wkSmeBg`PzkE}kj@dk]uz]|jDinKd|DyShoEpvWtcBazWv_Eb`Pl}@uiH~jDr}@~y@~z_@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"i~naLf}olRqzTjtbBqmZgf}@d`Isf_A~wSchAftC~vBsiAraWfaCsxD`bKr`F\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"mfubNrjofPf`D|{oK{qDtsr@ilB_z@ufEyjKgzIur{GozDqeDh{CrwpBbhCzt^}cDrdgCmmCepDijGmoz@c`Bf|D_`@b{}@ttGhkt@{aBbfVegIx~Lv@|jR|uJkdOtlD{hIfrHfcaAynAlmCqlKebYa|BsGsiA~bSrdQhw[}f@dib@~}DenB|`HhiTbbDhmh@w|Arim@}}Kc}Lm~Hihx@ecExn~BlcGb`@vZ_~RzlFrgTxrL`p|AaxEvvg@ozD`gWcmAid]axEzuX_vCbs@hsBbdy@e~Fjta@atA}~So{ExyS{bCgjLocG`dD{tW}j~FywCqlRkpFjnD}}D_rMypCbgIh`Yty~Cde@jsqBqpAvh^mnb@rdrBmgDigRrpAxxb@yrEjwF_~Dgr]pBkaLjhEu{@qyCisn@}}DljWuiAnmx@qrJx`V_qExGexGblWuiHagIaYicaAj_QaboCrfLgftFauBkPkePrvjAwkLqzw@yoBwzpA_aAfpDeeGpgwAfzIdoa@j~HvqcBk}GhbgA}hBbtJqnFcee@w}Bhc\\\\v{Gl~t@{fNhw|Be~FkzRguDnli@q_CuoPjnDegeAciDrnHknDcql@tjIguqB_cCdl@o`DnaEuxRt}qBwoI{xb@apDhxUo~A{uAw}BqsdEjcGcqj@blGgwoDcoCw}IkbMzdkBxuAf{a@{iJxtWqrCkxBu}BcwlBw}BrcI}`Hf|mDqmE{wa@krAxdLxqDnydAeaCnsi@}cDv~CsiH_lhAix@|b}@oxBgs@wzFypa@u}IshGe`Iss`AdeGi{tAt`FhjGxuAolR{lMuu`BisL`vsArwDepjEe}Eqma@w}BhzIisBwgOyqD~|CsgFngy@rcB`obBkcGnjqAg`Bz_GexNy_UudCydh@nyJer`BwyEkgKcrFnrJp~A_odAtnVcsgEjdOg{fAhhLmhE|og@w{xAh_Xq}e@blGayiA|}Kei[pfL~ua@p~Ae|Dl_C_ufCb~Mimv@sdCwt@mhEx~LkgDgrm@`tAe}q@~wLocs@tqKdse@uGc|`@boJlfCf~F|r\\\\t}Bua@jcN_b^zcRcjfB}La~[s_EvkL`nB}`f@|cD}sVypCnsDg{JhfXmc@yjKizBrgFmaEfsu@c{J~gX}pCoqIuvIr`FmdHqwXg{Ci``@joE_vgCdyOm|Md`I~`Aj}NqqI~wEphU~}DtlgAt}IaaQt@gg_CbsGkvUd|D}pCbkFypZd`BgKhlP`ywA~bCas@_{Oo}xAlhEw`FffQ`bRxwJgx@nkQ|hPhnKjby@xsFzbCzdEs{Uas@sbOuwJe|RozDg~d@xt@glWxhBchChbDreDldAm_JyqDwpQytGpbVuaGcu`@|`A_~`At~Q{lr@rkC|nQ`mH{wSldAb{XrrCiwFy@qgTilIssTiaSolIq_C{iSdnBgkVv|f@}xgAxaP}qy@`~DmdHnqBlgDj{a@zk}GvwJzu_@~~EjmCzdE`_]ifJbs^wiHn}GpBntEl{SrUxkEqpHnqPboo@xcRnur@`pKh_Q|iCjkVegIt}g@m|T~nXc|ReaJu}I|cD{dEqc^alNsjPw{@dpD|pSjytAznH|oB`qEgtCpiOzfGxiXkgRdbDgyOj`KcnYhsBcnBdyOpkQfwFx_j@{r\\\\lddA{t@`yk@|_NuhGreRm|d@|}DwcBzgm@xpo@hsB`iKsbOzacAmk_@rz`Aq{\\\\d{dAegIpxKh^nvU|zH|jDbeU_sUxlFk_f@pmj@wc~@~hBCnv@vxRydLvsT`Kxph@idOpsYo{Ebz^`l@|`iB~hBuuAjiFodkA||CvnHftJsySdcExrE`uBz|Xo|FfdmEigKf{fAlhEd|`@mkHvg]{dEhzYyvBomZauB~_GboCv{l@yqDbj\\\\{cD~Xo`Kfxz@saGdcLcpDm_CetQvmz@m`Kfee@qlDc`Wgl@pkh@erO|kq@auB}{^hrHib~Ag|DuoW}lVhfzDo|Mhkt@yxD}f@gtJw|~BmxPuz[_vC{g_@lj@afiGshP}crH\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wsmcIzxugXuaGjhNu_EsnD}cDt}\\\\oyCm}EkgDy_WknDtuCxpCzx`@u}IaeEn~Hs~t@}gAaoEu{NbpVyvB|yXyiJxm@|_GvlDix@pqKykEcqE_}CrwC`nI|rSwvIa_D}L`pRipF_qE_}CrzRauBcmFneBqgKa|B}u@uyLfqWas@gjNymNloGldA`{JwxD~eMqnFguFatHbfLotLazBczP{lMwyLp~Fc}Lo{A`jEkzpAjlIksP`oJrv@vqKvjTrjB_nDy_\\\\gel@gyAcsW`_V{kZhjU_tFxcR|fUbgPtmqA`uB_l@t@gxG`sGffA}_G}go@fxN`fVrh@{eDozD_pMmdAebRg|Dd`ImeBkaEbnB_kRqqIwiHkdHnjGg}Eox@wsMo~QsxYzuFshGziGdaCigRmbFa|i@osKu~c@`jSxdBlyQ`qJj{SnjUd}x@h|Ozt^gcEltS|jM`rFnkv@`uBu~@u@krX~pEreKtGb`|@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"y_kbLv|qcRsnFj_U}xFk~CrGvxMpmEneGym@j~H_l\\\\vQavCcgI}tIrsI_zGcoOl|F_~i@r`MkpOrwAw`TvjKzlMdfH_lEpjPn`e@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"mnqgI~~|zWaxEvhPutUgq\\\\bKzwOl~Of}GwZbwKw}IvcKal@hpKvuHhaEbeGowMjhErq@yZdwKyeM|hDwrLi|IyfUu_q@hoEusMzaPoaSbbKfyDjdOt{N~EzaK\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wzacLdjsbNu}BbzWavCptEcmH`uBilIylTogTguRqqImm_AgrVeyVlBw|XonMduRaoJg~r@x|Act_@vsM_sNfhSfi[m`Dr_Sn_a@bpb@va^~ix@~|Jzmz@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"yrqeLzoifPqnF|rN{gOnzR_pDixG{nHwb_@fxG_vJueDaYg{C}iC`vCw}BxcK}_GbfVhha@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ezwdLn`jtMgpFt~J||Crrh@mbFtfUyiQxwQ_k[ehCqpHeao@~`Hcz^apDylk@zfGmjNluM~dEhqNzsk@nsDttGznHuvPdxG`rF\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ibgfLtsyiQ_cCnhUwzd@hmkA`{A_wcBxfNwzFzzV|zH\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ablfLbixhRuyLv{N|m@g}Lo|FshGmfJbue@gwFoxEix@_ePxsFgsBjIosYlbFwlIvfEgdQz}DbrFcgBfeIb`Pzu_@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"}mwcIdhjuWquFdyTg|i@fyv@}_NgsBurL|bHphGhjRkaEzzFsnFmvPjj@r}Riqe@vei@{nHmlBciDguPjln@kgrAf``@ybk@pxBrcG|`HcjZpeY|oD}gAxyJ`kM}_G~|ChqB\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"cfbfLjzfgQieIhx@g|DoiO{vYd_HukCruVbmHbl@d`IkcGtmUdxNnIdnR_fFlhE{}DikHqqI|cKezWkePeaCiox@|zH}vYn_JqdXjqWthGziJrxYvZ`wb@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"aklbLv}yrXsIrgYymGj_Augd@~ly@otE~bLdaCbvNmdAxqhBfrHzlMzkEtwx@sbHjg`@iyAjRrNcbNkfJ~}KssD}w@d`Igja@u~CqcRkaEneBcnI~_i@ymUhaE}xFy_G`kTeh}@m~Vhzn@osDoUyrEwrUnwAciMjfQwnMmc@{wE_uP~uJauBepFfxN{kmAcpD|_ByiCztIwsT~`HehJosYeWam{A|qF{lb@{bCouMapDqlAavCh_Lro@d{HbjEiYotEddMunFklBhx@ggRgnRszMkcNfzP}_@uib@heI~sFkj@asWvzFkhNbaJdbMyt@awF|yGssIbtA_w[|iCg~DumE_tZiiF{uA|wEsmGvxRvjTlrQx_j@btm@pu~AnjPjrSl`Kcj@nwOcxa@hcNifJtuMubT\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"w~{fLj`a`NotEhaJyy\\\\wn{@uh@ms`@irHyLnv@kdOlgD`s@wt@ovNinKtrEi_AsvWriHoc^jkHw`FvrL`qZ~fWromC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wsegL`acgNueDtjn@ciDtvBcbKqlDiPngDvjK`kMaiRr{\\\\saGh}aAgyHiaZn{Es`r@mdHtiQg|DizBiq@}et@nuFiyOlbFtmEyjDytNnpAura@evLslgAriAkdOj}NssTv}BtbAvtN`jq@hx@xb}@_yFrfSppA~uJjgRib[vxD`dF\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ery`LtuslQgmX|__BzbCpkC|jD{jDlfClbF}oB`fbAmkXdhmAawDn_a@`}CpxIg~Mlma@oxBd_Ae_HqpHw{GlxW`pDfyHleIw~CjgDn_JeD`fOw{GnpOguDvsk@ueDbjEskJihLgsBf`BudC`_]hjGn`DgrAjuTt}IonMd~Flg[moc@`jmAw}BdWolRaxUgwFarcCyqDm~O}cKaYs`FguKoBodf@o}@qiH_cCwa@sxRp_h@wvBldAyxD}dEbnBahXcnB{gAykEtm\\\\srCzoBo|F{lFkj@k}N`vCs}WpnMqgTxcKig`@qpA_rMugFhpMi_Xvqw@}sVwoIsaNccSo~AydS{dLamOw@qa\\\\ls`@gieBnv@mdA|jDvf\\\\lvNcbReoSucPtzMobd@|hRo|]nmh@_}nCj}Ge_HdwTblNl`D_yFhnKnrCn`DgwFznAk|Mc|YxlFajLygOvoPy`VbgIoaEtzF`nItq`@a|YrU_s\\\\jdHgvEcdMmlw@ttGcf]vcIbgIvcYhmv@qlDzSueDodAawD`uI`uBrqg@xgVzfGt|Hhmv@tvPp}^h`Blx|@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"aezdIbeisW}~EbwAq}e@{w@inKciWqwAy~h@jeP`lJvzFk_Aw}BtrLbeNveYz{WpbO\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wlmcIbh`xWgcj@l`t@_`@t_SwkSbgSqoGcpGhsBrbOipFvlNcdMyj@po@mfXngi@}u`B~dc@}p^pjI|eD`Ytia@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"o|vqMhy~cPqpAhgYi}j@|b}Ae{ChdFufEiaCg{Jaf{@ex@ggw@nkQmox@~rG_gBd}Eri_@xxKh{C~oKsfLfuDa`WlfCrxYu~CloUt`FdoC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"afe_HfjmyJgtCjq@wn]ouMwtl@comAaz@s}Wl`KtbH`qEdxNypCo~A{fGqpH}m@biKlkf@rw}@yt@{}K}_G_wK~pLfwFaYnzKrgTflWreDzm@va@a}a@zfGxkLlBp{\\\\\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"q{_`IrgypWgym@qbFccLufLauIwGiWrqEnwHgaAv}BvlDehCvnH`oQldAvuOxjD`iKc}Cn}@fsBkhE~cD~yGhhO}~Lz}[{}Rp}NefHja@ov@{|E{jDkdKagWclb@u}Pv_WyoBviHrhGgnBpkJwgX~}DjbQlrQ~bQbs@v{IqqBpvJqpOdbDyjKk|Dw|A_kM_k[ouD}{Ib`EklBybHnyCwq^~jToka@|bJypVpb]soKjhj@bwFheWhfEdgBlr]\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ses`IftpkNu}PvrtAihL`el@wlTfcmBoxIdaX_oXqmZqjIacq@hWm`jBrdCyqDv{l@c`|@|u_@evSdxN|}D\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ovc_In}frWcdMbbDitCpmQmmh@zyc@gsIw{Jtif@}ly@b`PerAbhJh{CdgB~sF\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"k_c}Hvet_XwgVj{Q`lN}xG~xF`_Dyqp@xp}@cnBy@zLwnMe~FjtHyvBtoPu|t@|wtAqlDsfCxkEo{ZimJxtEiiMfoWxjRxdCvZrsDylMliTgwFkbAg_AhfJm`KnlKqqBgzPbhCsjUuwJm_EefHpn{@rpAdtJseKxgMezIty@el@ar{A}vRgbu@f{CwqD`dTyaPpnMilRuGzqMyuAvt|@d~MynLatHy|Ff|Dcgl@xqDgbHrdQjsKjlBffZu|HrjP|~EfzPkkA{aPfqGwlDlcGiaEnc@eoc@lzKzz_@htCz}BjkAgjS||JgeInpVeiMpUonTlxIqbO|dLhcEw@qzIbkFfc@_aAi`H}zHfm@gbD}`SbnBscBlbFrgJ~vDvj@{gAo|Ht~Ct{@iq@lnOlzKawBrmE_xRu|HkbB_aAuoKlaEgcJrmEwBzhBz_QzS}h^xiCscB~~EnaEbRjcNb_Hx_L\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"gcs~Hrg}nWg{CbbDu`M_kMm~HbtEwf\\\\|pA_nWahLbb~@ogPlwO~wNpwAjyM\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"aa`mLjcvbRgwFrmo@qkJnbd@qqBfsB_vJgxBw{G~jHjsBsro@jdOwms@vSrpMmeBnvPxvBjiAlwOkjWxqD{}B\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"mm`|HnwmkWefAjtCqdXw|Ael^_uWkmJwem@olR{`]egBo~V~xMghEjjGbwF|n_@ntmAbw[fhJpoGzw^\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"cfv{Lf}abSwtz@jzxBw}BbcUwxDgcJw{GbyYeaCgvCgqUvg{@c}LbrjBkhEbGgdd@gjeAcrFckwAva@cp|AqtEgkd@xt@{ojAdkk@cu_CpgMzwOxsFwgDxcYvsRbxaArjjB`vCflW|zHckVx@~f^\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{cvpMv_}wRiyA~{zBwxD~}Fw{@c_HyxDffFsNvkQecEsmLouFsDopOvhs@{aIjtCu`MwcjBnyCw|d@ldAklBpsKjhXq\\\\{x`@qvGcgIhsIwcs@bjEzhExsF_ng@hvE{x~@rcBsuHrqBvQ~yNrmo@xlFveuA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"i|_uGduhtJ_uIjkHlcEhhLkxAfsGq|SlvWk`~@~oRghZmnTer]_~i@sol@ibb@otLosDy}`@osYqeRg``@yeTyqKkoEamHxsFacSguDwvP|bCe`BvrSfqUt{Gyyc@ti_@bkFhzBnpHvvIgyH|ndAtcg@u}I{~Lo_CoxIn}G}f@ff_@zte@`jLzio@r~Qvwo@nzDsjBucBkaSwoP{wS}}Dkb[nwAov@z|XbtXjdHnaj@jlBxt@{m@etXxtGfzBvuHvjYhnKdcEv{@qhN_vJsdXrNeoL~~Eu`Md_HznAo}G_tO_~Dv}B{`HiuDeqc@gqz@m}@jkAhgRntq@uhG|}RadMu~QwqYihq@{_N{cYyZfbD~f@ntLp_Zt}g@tbA`aHgoS}dSuqYq{c@meB_rMdyOa_OnvNdyOldAgsPypJq\\\\iqGm_J`uBkyQv~CphG{LuoWxhIujBe`Bk}UhiM`pKyoBwmNdvLtoPpv@fzIl`D}Efe@i~VziJ}}DtsM|p_An{EbfAfzBotLhuDdgBfzBdyOdxUf_f@b_OnibAm_Jnfh@`qLrhl@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"gpz{Hte|dNs_Lf~F}_GcoC}EmxPykL_bn@l_CutGhwFhoLj`KuNxrE|bJjfCl}l@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"odyzHrl|lWkq@lwD}oRal@uh@pqTqoGwr@gaCewF}}DblDc_Og}L}jDwg]hyAwkGrq`@f`IxuHxjD~rGaxC`rFr_S\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{fheNvi_zQujBpmLqsDdvLwyEdhfAcmHlhEe|DckFgyH~xk@th@jmiBgxGzqR}xFojGg|KjsKebKcxWmyJa_`A|{ByoxBrgTgn~@|{IsoN`iKtgMnpOkfXjvEuGnnTz_\\\\\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_hmwGlg~}J}yNxv`@knD_qEdDdoZ{|QyjYteDlmJwwC~XmgDw~CisBhrHg^toWcgPgqNwxDu~JxgVnp{@zf@e_Oal@afHl~AcRtbH`mOwvI|_l@woWxgbAeyHro@o~AykLysFlid@~{Bx_c@apDfsBcse@olKhq@jje@|LdyVyuHlnDc`IahAgjaA_dnAf{CyuAl`i@blGjjGtlK`wDavCtzFiuRxjKwnOdcEeKqpAwxDvuHyhBbaQjuTecEsaU~xF_Y|eFirO}hBasGgwFncGchJsrCirAomLrhGer]vpJ}dE_vCgvE{m@wuOj`RwqR_wDinD}hBk}fBkhEebi@jlBsr{Azm@gtChhS`ug@}f@v_c@fqGimCn|F|f^rlDe|KprCix@kkAnk_@v{GsjBvtGisIkq@e~FftJebD~{IjxW|aBwgVvyEzfGf}Enyo@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"qzcoMvfbuRcDzxzBw_EvydBifJ~_P}qDsuC}lOgzoBysFgbnFvqK{sVfwF~hInzD{tIj{Sf_iC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"}|xxHnitkWatHtl^y}`@xaPwgOahZv{@y|Abho@ciWvuHn_E\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"o~tmMbjv}UiyA~iPqsDnmCc_VopSutGveOntE~tW{`HvzVkoEv|AeeGsbOlc@fbRgtCsSoyCkkOqqInte@`uB~jRhpFr}I~rNj_AvjRovPv}BzdLmaEngAqrCkiAnzDzyq@hsIj~CyiXj~lBzSb{v@|{I{m@rcIrqw@aoCbvq@wdC~hIgvEcx\\\\_bBnUorCs`F{jK_fMwwCfdV}{B_iDizBfhJl`Dzij@jlBvBliFnx^}hPgkK`YoiOgrHwaBg|Dkid@_lNc}CsgM_fiA}|Co_gCcoJ__XuwJo}@coJ_gc@mxIchA}mWwgzCmjG_sIueDrjKky}@g_jEk_QwfQirHsyZ_xEwaaBbiDki}EtaGo`wA{LwqIo}GfbRw@n|M{bC_tFt{Gsox@ebKwke@yuAjdAiPjy_AsdJ~|]eeGsccAkmCoxEm|FczcAx{W{ikBptLctfAdfHcvSx|Qvl~AnuM~ccB~uQs|[vgO{e~Af}Esv@jnD~|SqnFzp{AjhEnpDlu[_njApjIspM`mO~ve@hiM~aoDhjGbgNlkHolP`oCbuBxlMguKhgKb{]brFnyo@cmAvxk@ykZfv}AilIooL{iCjdFqoGsaWivEruH_qEfxBstE{nLe_HruC}mP_ib@}oBsv@sgFbgNtNf}LppHbdMcRbbeA|bCfc@fvE{bC~_@ngd@z_\\\\{de@nlKfdo@o`Dra_Ap_CziQziC_oA`qEkhq@txKofSf~FsnDtvIf}L~`A~um@xwJ~uJtsFkyH`oQv~c@inDjb`@kpFvhKs`FgpAcqL~k^olRf`DxpC~hl@jmCwqI`yFwGth@zbHzxMgyXxpC?nB~gVziC_|BtkC_hVvSz|m@juD_cVttGoj`@|iCozDriH~k@udCvl]`tH~}KzdEoyQlc@vmUdbDrkHxsFv}p@k_JfbWhpMbpVl~AndT\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{ntmMnqscNspAf}c@yqDm`DyrEbva@kmCuz[mvNkmZe{XsamBjuDwpQ`rFriHjbM~jy@pkC|dEfaCoq@fjNq~v@pdAdfO`K~bSciDe_Hce@bdy@r~CfuRjqGkeB\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"mf{oMbpemTr{I~eRhhLk_UhtQkz}BhaEogF~bCn|HbgBzst@tmEniYxrEfpFmP_b}Bv}BwqIrjBg|OptEbmA`nBoyQtfSfjIneRsvYyqDsznAyoBctfA|}Dwpy@xwC{}vDbkFsfdA{gHz{CyxDv}RypJgfd@_wKfuPsgFfbHojWfrlC{cD{_G~y@z{u@qoG~zOuyS{ewByqDfkAsUwmZ{fGzlRauBsuMmvNjii@uvIb`|@bcE~mIiuDnh\\\\}aIj__@ov@jl`@shNgfA_mHnrCytNouwBg|DojGcDv_Ws{\\\\kl~@mdHwfLm~Oo`t@p}@grr@qiHkmXfwFg~XzgHreFvuAwyc@bjEkfJbiDoZ~tIncWm\\\\faZxpCwBzgHo|MlfCkeRr`FflR|LsaR`qEbtJdbDodTbiDr_XxoBsNzuAglu@ttUgbp@bcEz`]tkCk_ZzbCnvKrrCzx`@jdObnWbmAcdM~sHftNoyCcfpBrdJg}j@xpCgeDhc\\\\zqiAbmHnx@_z@cqXg`Poo`@{jD{e~AllB{hc@|{IjaJb`P{`]nvG~iAbnIw~JsqB_tA{hIvt@uxKc|KefAo}h@slDvsp@u{G~k@}_NrcBwrS_up@pBw|}@dzI{s|A|cKoal@pdQ{{\\\\|dc@guK~vRrbTtwJnvn@bhCwpQva@gjIl~HvuVn~HwfLnkQruk@jiMzoIhyAgrO~kGz_GjmC~n_@n_CvlD`xEctOd~Fzan@jyJ~nyBtnFn`[uiAbnxAuzMbip@ylFogFodHf_QdgI_gEfmQj`u@`nB_pMv}BryvAinK~yWmaEbhAolKrqr@pjBz~XbpDzzF`rFbdH~xFnr_ArhNju^xaPfpbFxwJwyOh_XvakBf|Kb{tAjbM~`bBr|Hz`aCsiAfp~BwmUvd{BmrQzk}@o|Fv`OyrEktCcaQw}nAwxKsueCdmAsuR}oB?oyCzdLmrQcsqB_g@sjpDypC_`n@awD_cLoxBveOm}@kum@ebDgqCezWs_jAskCr`FqqBfbp@jaLbsW|zHr{aA_kFrlOj~Hb`^p}@nu~AmhEnjG{fGgy]clGnaSziCnqKtfEwvD~_@~f^a{AvfGkjG_pHouFjrN`qLvfL`pK{|EhcGrhe@z{@jg[a{HrrQ|cKj~MvxDrmdCas@r}I}~EnmCixGw|FqlD_|BmhEz@}mWw{SklPom}AlcGvcoBk~Ov}Wl_CvxHxxDzxBblGclIh~Vr|QrrC~xKkfQrn{@~wEr|QrjBkfEpBslTnoN_j_@tcBoZtyLbcPjgRbwlAd}Ezno@srC~~\\\\ogMv|FctH_nIgvLrgOfbDb`@vuHjoWo|Fjxs@dnBs`AviJkpOfwFcxClkH~wNv|AzbMkePjkiBezBwt@_cCw`YgvE{oD`pDnwk@_aH_iD}{IwlDfgB~fw@xdL~t\\\\_wK~ooCcbKjrq@wuHgfAaca@kenA}zA{x{D_Fccx@qkQsuiA{hBkqcA}yGgnByuHk`p@kkAzjIhb[zz{FiyAzodDcmAvvIgvEoeBqb]kr{@}|Ccj^ciDcpvDibDk{QrqB_yi@kfC{foB{gH{cTd|Df}bI{aBzzd@ggBviH_rFbj@ktC_kRv@_q^_pDfhEawDsSbDzd`@yoB~sF_qL_cLwrL_my@kI{deEdyAsc|AguKvrvA?nh}AklB~oRwrEvkGkhEc_MweDr}IepT{muAauBc~uA{fGswVbdFckuBpsDkl[reKgcJjoEv|A|yGrkCppHck[rlKr~AkP{fn@u_LwxoCjrAk`WhlI_tZztEca~@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_v_zH~wmrI`mCdaFhuDauIoxB{rc@|}DrGnvNxrL~sHkq@|bJzrEqyClqIxnOp{Eu_L~syA|`HpmExvB}xMnrJee@bmHrNfqG_{Hu_EqpAqmEmh\\\\|cDiwM|qT|f@`pDxsFvut@pro@|{IhsIx@vqDutU`vCm`K_vCznAzaI~_e@bKldAchJhiMlbMrmEbaJhrHlkAtf\\\\f__@x{l@fkd@bxUju[~pSxsFo|FsdJnwOjeBniV~t^tdCubV~mWzjDl`KlbFaeaAwjeAspAwwC|{I_yFycK?ouM}wL}zV_sUeyHikOziCuqKbaJweDtz[voW}cKkgR_zGerOhuDuh@_xEymG`s@maLvkSs~X}fOqlr@rvHceEvzF`jEhpk@nnlB|~Lz_UrhGpNwnViqe@zt@qxY`fOboSppA}uJf{J~nJjjGryZt~JbtHigRo|y@`mHk{ShoEnrJqrCmtSxmNhWo}GyiJalG_tOvjRzlFffAspAoqW{`VmIokQtxKlpOinDiiTd`I~`HppH~qMwvByhIfqGgfAuyLk~On{E`Y~`AraGfxG{jDm|TubH{~StbHas@qbOmj@{aP`sNegBj}Ur`TttNkrAz}Rts[vwJskJ`pKtzMqoNcff@v}BvoPuwJpo@crFnB}sOejj@cdMpxB||Jm}N|xM~xF}_NevL`uBm{LoqIw`FucBlhEkmJugFp}@wqDfnRd_AhnDodAkhq@wiv@meBqkQzcRxgOozDkePdaJp\\\\bfHz_GbkF{~E`kMfvEqc^{yUfDqgT|E}_Gd_HioEadTkzYdaCi{Jtlb@uvaBrvCg_Dx~W|aSxm@~uJfyH{eFzdErbAbRlen@jmCu`F?onMlbFzzVth@d_HzdEmwOv~CpoG~zAh}Un}@}cDnwHn`DxrEn_h@rgFhsBsiH{te@f|DeaCshGecEso@{yUprCciDliFduKbdFboCcl@jyXxlF_nPnbFn~AjcGwcB}aI{sVxuAffQyuA~bCsgMyiQdfH`|BppAevZptEbmAquFykS|jDeKp`Tnax@mBsud@l_JraGfjUh{mAhvEw~C{wR_zp@cy@qjLl{L~wL~{BeKevLydSoaEqo@owHgrV|cDozDzeMb}SirA}sOowOanIhpFarFfqNvkLmsRi{Zc~Tu`FfaCa_V`cL}gHzt@}dE_qSeyOatAwvIcgIatAdyO_jSnk_@bdMr}PxcY__Fxz]xkSrlDl|Mnwf@d~FjjNsfL|ys@xoI`uBvvPciDriAqpm@laEn}@jrAnvl@l{EifX_uIkoc@`aX|}K|{If{JboCodAnuM`qLsfLvkSt}PmzK`qEl`DduRs~QqhNu`MtaG{`AnpH|wEh{CgiMfvEkoE`z@oxI_pY{rEypCewF}`Hn_Cy}YyjRufEcmHajSmtLotLo}s@cxP{lPxiLmfP|tIzyUv|Hf`B`kMxiQxjRhhEvoPl|TfxGm}GpfSlyQbs@cuBd|DrlDkq@_yMnpV|gAjmC_qLsxYgcj@eho@stUlcGo~O`f]okJ`lGzfG~wE}~LtbH~xFxa^ldOb}LdqNvl[tbH|gAxkLjdHomLbft@buR`gWpjWprCphNueDnrJ{aPrnFtcIdrV{jDjkAlrQz|XchC`rMajLb}E_g^}tP`kM`tOisI}gAc}S{jKecE~kN_jZi{ZalNxwJhmQlmLywCpv@b~`AvgpA_vC~hYer]ywC{jp@ko\\\\~_@ovNubHvqKuzF~EegBcfOcfHw@{hIepTzLp_Sebp@jhEa}ZjhLt~Cd~FinKrz[hqNjlBtuO|eMg_A`fHt|HcmA|s]vkZ~rGybJxxDzyGwyEh^z~SvcYiyAn`Diui@y|_@hzg@xxi@avCjfCbkF|vKg^rfLyiJp\\\\bff@v_j@zmGu`Ff|DdtJowH|LdDntEduYiq@|aIxpJguKxlFhaZpmEvyEpsKhoEfmQefAjjN{cKt~JtyLd|Rbs@rka@arFx~ZsgFv`FqvGwcBa_V_ec@axEigw@i`Y_`e@_hX_eEynOq{\\\\}xMgjs@krAbcE{eFkgDkfJ}y\\\\krA~~LrhNteb@v{@fmX_qLo}G}xTctQbkF`aJbx\\\\~qTo~AdeGmzKklB||ChhEamAnkf@qrJtcBreKz`O|}DebKfuR@zgHvxDjgDtoWlcGjhEclGxuAn\\\\lgKiiMiwMkaEnuFb_Hn`Dn\\\\~rUpxIfj\\\\kiFogDe~Taw[lwVz|dAqsD|vKauBkj@er]s`eBym@~uCzbJlj^qrCjiMg{CjfCuwXunVwwCvwCgnRu{NbnB`wKtsTrbHxjRldf@qxBn~HaoJcgIlgDnuFqjPhmJtl[efAvzFthGzjDbxU{hB~`AvrEjcGgtC`dnA|zHg{CjeIxgHe}Ld`zAvcBfwM_}C|iC{pCp`M}zAvt_BmfCj__@qv@|zOpmE|dc@m}@tiA{cRyiQt`FnnTl_ObyIzCpuSt`MxuwBowHno\\\\soe@zbCkcN`lNufEemAs|{@o`lB_`e@ixl@wZgqUsgMmiVefAoyQo~A`~DlgDtfj@keIzvYdyOdhrBm_JowA_nW{wh@_oXisn@taN`iR~nJrnMpsD~`AdbKw~Ju_EovGbhCakTgyAqnFmik@{bQ}uXsySqlKeKc}SolYxtGsG_`@mma@piOc~T||CmvUkkAooNgzBv`]woPd{QqoGriAirHwzd@cl@l~HcbKkiMplDnuTciDro^cfH~xF{dSklBko\\\\o`b@oyAe_Hfs@{hIxqDg|DtaGas@awDclGleIc~[gzBpB}cD`kM{}Rh}\\\\}}Krh@utfBwgbAa`jAckk@iuDu}IoBauPqhNdt_@_wD_yF}jDqtc@_fVeqc@sjIcaJqo@plKo{EciDgzIrvWlfCaf]ivEuwCexNkrH_vCi|Mo}Gb{CeaCaiK_~DznHc|R}wSayk@kicCmyJurS`s@kdOv}IzcK`cLdDv~Cw~o@kkAp\\\\ozKpkQ}|CzEozFo_V\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_nuwJp`hkKycRlkv@ykLbzGw}IypJdnBybXjbMe`IsnFkjGzaWei[xjDfuDv}BpmL\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"svwvJtjffNsra@bmm@qv@b_VmoUrrS_bBccEokQzeFi~d@ceNejc@y{e@ijGay]y{@}g}@r{\\\\krt@fmQg^zqi@trZteb@hrf@twQxpCpjP`nW`tA`kM\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"wbluJn~lkKavCzkEg{CaoJ_|BvrLgx@hoSozDqwAmyXliiAe`Bp_Cg~Fq~AiqGshs@`vC{b{A`mHbKrrCwsMl}G|}Kl{LckFbkF~cDnqPpim@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"em_oJvgchK{eT|pfAwpJjcNyqDw}Boc@yog@bcLakTzmGjIknDwiQxvBowAxnHfsItcIauI\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"cdt|JlzqlLsjBd|~@ucB|uJitCmbFucBhrOqgT|wEmgDnzKcfAwf\\\\{iCl~HgaClz~@qrCrh@aY{zVwyE~|a@guDnc@z_Uo`zB`fOchh@jiF|xFn}@u{UxtGqaNrdCw{@|`Hzo`@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"kzqnJd}f`LypCdcE}|Jk~Awyq@eoo@_aAimQfzBs|OreR{j[t{GfP|uQbaXvvP~{|@f^xqT\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{|gzJ|iu}NkhEhkHadTlB_ec@zog@i`g@wbdAmbd@{yUseKou[b`Puts@{}RkwbAehCe}_AisB_ja@rlDmpt@fyHinDdpThbMhmJqfEhoLdiTtoe@pxlAlsw@ddjCuyEnzD}eFlzR}E|lOxeT|a|@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"y~a}JhducMgqUdc}AqkCig`@`hJauR_`@{tl@~|CyvYn}Gy|HvuAdaCnBnbd@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"abt{JbjfiKm~Hvs`A{gHnuFw~C}v`@eaChnKyrE|EegBmxPrlDang@qpAekMxiCofSbpDydC|aBznVv}ByaPpkQjje@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"m{hmMv`ouRe|DbgI{iCw{Siq@brK{`VsguA}}KkncCnxIspf@`nIbdnAbzPvmUjqG~wjAbDf}mA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"{b{yMhnnoQ}|JzgHqpH_|WewTb`tCq~A{t@mdAorQchCzkE{hBkbFd`Be_~Bso@qnTorC~XweDudCmnMv`wAi_A~euBauBxSyL}s]e~FvpQghCloc@eaCc`B_rM_Mo}G~s{@mzKbaJ}zHqzgAayF|eTutGbha@uzMl_JueDsqIwdCpdHqpHmvoAziJooyCfmX{q}DxqD}{Bt~J`}SxvIi}z@miFauu@prJ{j|AdvLwd_AteD{`HjlBbe@vsTfnjBfsB{fGrrCw~h@dmXsqn@hpThth@|uC~vjBptLfuzBw|AvzpA`uBnc@d`IfueA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"c__{LjpmbNoUpg`AkjUh~wAeib@psb@_xLimJgtC`nIavCoUsiAcoJshG|vDyrEf~y@ebDjxcAabRvpQmfCa~DkiMwSqxBunFffAclWcfVnpf@_lGqbOseKezBmjG|iLm\\\\k_QmeBcw`AbnYi}~DiiFmczFpv^yc{Dr`[y`]blGciw@vjR}jb@riHpqIreKuim@tjBek]jzKtbOjuDeiKbiDp{LxpC}kSd_AwaW`wDmcGppH~dEd~Fjhj@qlDn`mDmeI`f`Bth@v`nBtl[tyuD\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"aaevMlpzdPw~J`_nBmqWhpeBknDzcD}wEipFcfV`dFgrHk~Ow`Fq|t@hkOirsCz|Q_j_AriO{bJ|}Dp}@xrE{oIvsM|me@hyHnwm@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"cdibMzziaRro@cpb@hnKeaChiMuqlApgMckd@vxD|_Gjq@opO_uImgDq}@qqu@wuOyvdDy|JsnV_aA_xZdx@as@joEvqRrv@gsIo{Ees^hiFkslAb_V}~q@|`HwxD~nJt`FtzM`sl@gmChln@fsIov@spAjkf@xpJ`wDboCkqG{vB}dhAp~Ao|MbgBpBhyA|xMvsFkgRtgFdhChkHlwgBptx@bs{CjzKafOzkL`oC~tB{iCe}Sog[onMyjw@vZ_t{@zjKocjAxxD_rMr~JlcGbtAlo\\\\pkC}jb@~uQq}e@vyEhx@l{L`d[t`Fbe@_Y}tWkcNqtc@ecLan|@fpFgyHhaCrfLj_QksYpw_@us[xoBiW`oQ``oBv{G}s{@||CbpDjrAo_JfeWgyHjnDv~ChqGr~dA`pDk~d@m`Deg`@`iKt@|qDdiK_aAxeM~qFpcWzvB}|CyyEcvh@dcEgzBvmNn`Kf|Dbs^ebDrcB}bCmyJiPxbQfwFt|Ovt@nvUvpQjtStbOflcAavCldyAmIluy@wmNva^gwMe|DwtNicUitC`lG~~Ero@bdMzrc@d{JldHrpf@uaxAttUxs]nd[|giBmkT~qi@bkFvyq@u`TjgRuoWlwHmiF`_d@az^`|`@ciDflP_uIv|Hg}Epon@s_x@zhdB{iCj`p@va@voYkvEvtEgwFcpBsdJrce@rbHvy^ljGzh@wyEveTygO~`iAaxEce@wsMvlDklg@zvoCmsRzcTmiFkiAooNkuYojWwpQguK_vfA`qEgpn@hnDwnC`tHcf[`gPopS{SogKpmLkxUn{EwyEro@gbRhoEg`DpkJctm@m~Asei@srCsv@qmEoZboCwdiAkaLg~Xy{GjqBmtL~|ScjEbjJwnOwhPbDcfQv}BjcDnzDruM`xEseFmdAgdVxsFoKd_Av~JxkEnUov@wpo@}vKo_EskJz~NkiF~iAta@ftNs`Fo|HquF~oWddFb}\\\\umEfzKqfEzdQmdHwjYsgFjyH}zHshj@|nQsmo@kj@yrl@a|Bi{C}wE~{s@wkZ~is@rkCvkLd~Fc|KbpK~c~AgiDfva@soe@nfwB_fV{_mAvZwb{@jub@oikAn}@_ePmdAo`BsgMnzb@ouFkdAo`DooGqhGvo@ktC~heAouFghJ}|Jnsr@ajSkhl@`pDg}nC~pLs|V_mOc{L_zGevSwvB}f@{iCjiFrlKrn[d^rpf@cpDrwLgwF{rEgqGkhs@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"umsaMrlvxQmbFrbzCulDbzIe}EunVkoc@gsoHnxBqfSt`Fg`BfwMbnWz{WdieBjnDtsy@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"w}zhMngd{RgrHrc|AalNrei@aeUcvl@{iCbvNacZcoaAqwA_ht@~qM_wcA`wDbcAdaJ{tNnuFvaB~tIgs[n~AwzBb`Pffi@nrJr|rA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"gcjvLvia}P}}Dbj{BdiDhlaB}}K?_zGqaUg^|sVqmEo}G{qKb|Igi[c|IygOjcN{dEiaSgjj@fn~@k|FjtZqkJmwH}m@d|RcgI`oCm}NucIevLrdQgsI{eMumEdxGs`Fe~FuiAux[wwCdiM}}KrrCijN_hAu|HjoE{kEyoBw_EpjIckFd|DkcNe`IcbDrfLcnBek]}zH`rMenBnfSg{CmdHidHrc@{pJiel@bKct_@jfQken@biDwbkA{iCuNseKz}~@owHl|TypCreD_}Ccy]{pC|}K|dE~gXk`Ktu]ecL`tAahJgqNmdAuu]e|Ro|sCg`Bk|gAn~Hmfh@waGt}Be{Ca~D{oB_ky@dfHma{BzgAsiHrlDbgBklB{{Wz~Lmhz@d~Fi{JlkHt}Iw{@_di@kuDiBiiFwut@xrEuzvDl|MufbCz}Dcz@puFftJ_qEvcIbhCbzIpoGy|Ctm\\\\bdk@pgThhj@}f@x_c@jpFijGnxBw~Cbel@|raAvyEtsgArqBcqq@v{@{m@nddAfi|Az~Sdpr@rmEnzb@_rM`ptD_~D~xTlbFpos@fDdz_C`{A`oJ~jFva@qjBkdgBtuHaRv`FhhEjnDwoI`kFy{^|vK_}ShtJi}EvnVnd_@xvBva^``^lik@b`PzhIbdFjq^daCqnFgqGs|]ttN`vC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"uru|Mr_igTsU~~_A{eMboc@gyAb|lAvuOfc}BjPvo^coJfd[s}P{tg@ygVcu}C{hIsefDe{Cg`Nw~Cr}IqgT{djEnce@{d`E|vRkg[v_EjeMfdVb_MxuAf~~FoqPzimAdfAr`d@zgH{_LnBzzd@fwFceE~aBvyJ\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"in}vMjaxjTgcEnriAewM~{`@srC~xApwAr`d@idOrpnA{jKvfGmgDkb[_kTf~XuwJ~uOklIwt@}}KowMopOk`oCajS_mpGt_Egjl@s`F{cYuG{uuDhnD_lc@vxDgvCvrLvhPxsM~xeBplDbhyBznA~jMzpCb[vpJop]f`B_`UgbDoxzAfaC_xN~wL~pElxIciMxkEvzVjoEw{NdcEr`FhqNjcjArcIn~rAmeBbhbA`pR~irC\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"uufrMfo|iRaqEnpv@mr_@omwDdcE{fvA|k\\\\rzmDjsBfhh@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ukfyMzi~wTypJbwgAkq@g`Igz`@v}lBi{C~sAaz@k}s@k_QggnAfe@kmXteDvaLrif@sgqCboCwwAl}N~s}@`pD~rv@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"canyLjrp{VwyLkw{@gwFrcBcfAniTizBwo@qvGkpTwwCvo@}rUjkJguD~zO_cCcmA_mHovtBmfJ?_wDruk@{cKnsYozKwfLmfCoh\\\\g|DbbD}cb@w`r@ytGnbF{dLgkZ}yGg{f@aiKseKa_FbwFqfEobAwaGotj@ajLkqLgvLz~XatA~ek@ywCrgOcxNjnFurZ~kh@a{A{_Gkp]ftX{SvjYalGsjPuh@nj`@srCgxBevSo~oJclGw`qCaaJ{czAfpF{z`BzfGw_\\\\xuHs}D`wi@_dcGvkSb`c@riH_|BtiCkgLcsIzsB_iYwsp@aRsv|@tjBolKhjGk|Dv_EzzFbfAcyJzeFv~@h`B~}KdpM~xFcmAcyh@etQcu`@{lF~f@klBfwJm_CbuBo}Gshe@{iJ{ymBtgFocvBb}a@{amCdchAwnfEd{Qwo|@j}NocWbiDo}@hhZbodBzpa@n_cEbdTzgnAreKjxlAhiy@ryqFzkLzit@rhG~hDdwFs~AzcRveYlfJzjD|}DozDp~Xbs}Aal@biiAi`Bvt@udCs`F~_@zvRjmCz}BvoPstUfzIr}DtqYfmr@dyH{m@`vCcgIpfZ~eHfyHspHvbXntQppHvuL|bJfsj@poNbryBmhEj}Z}hBgc@e{CvxH_g@rwVhk]bjaAxtGruRfdOryvAt}P~pc@fe@zh|@yrLztg@o`[fqa@y~a@z`]kth@j`iAkgp@vuvDcoC_b@qpArlzAiq@fpgA{rLkiKutG_l@ggBruM{aIggRaz@cnWysFfjS_kFoeBy@sjUg}EolKov@v{Iixe@sys@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"krm|Lp`n}Na{AxxEeoh@v_dHyoBxoBuuOyeMqpHqfa@cnBi|b@jdOw{WjbMapw@wb_@dz|@wbAgcEwlMipwAxcKohvA`nPk{E|cDimJq}@gwFiwVrhGi{Cd_HijGvly@wdCv@ib[uv{CvcBwpXm~Ok~f@fK_thDxkEq{_BhgYkgi@`~[soNdwTh}ExmGsrCb~TulsBd|KkdHx_UtxRziJ}kE`bYgi`ApjIw~CzpJvjg@ziJz{PtxDcjEfqNpsw@l{Sjni@`e\\\\fkbAujBws[gbb@iecAqnMks~@~aBw{GzyU~_@liFbm_@drOhi[lfJ`tAvSpcWhbTiykA`|Bn\\\\f^r`Me~F~mWhiFp{j@dmAlzKnwAw|AcgBu}e@nsDcsItcPbmH~mIxwZ~EiqNqpHqz[cmHix@ywCsgd@ycKucg@_dD`Kk~HlaSkjGzdEyuA{cp@scIh{LiwF{yGdl@u_LjuTmrf@bmHycw@krAkkAqpHhjl@}lVlpk@qpHcdFsgMeho@wyEag@kaEe{CnwAq_SnrCerFvfE|lMbgBu@jcNkz`@`nPpx`@nxBdD~zA_cJcjEmrCg{Ci}\\\\`kM_tOgsIbgBmbFj|MgjUygf@z`Hy}`@l|MioZas@cbKvvBmeBroe@b`PjdOre`@bpDwcBmj@yzd@plRohoA|EepMe`Bfq@isPv}u@owHdeWsbH}zHwtNh^u~CywCr`MaxaAtlD}aIzj[alNdxUg}j@d~Foyo@_vJrol@{wSjnb@cgBshGnwAwdZrs[u{aApoGgxGigKqqIypCrw_@yiQnoc@{cKx{u@e}SziJguKxmz@g|Kxv`@{|CuzM{kEsaGsqBxmGmgDv{@{cDeff@nsDcgPf~FjrA`fVm{Sq\\\\ylFkaLvhPifJwuAo`D}zHpiOi_wBdzI_e\\\\t}P|f@_yFqlKyxDtyEmeB_uIzhIkknBex@lzBg{JpbgBsjg@hkxDg_HtwJ}oYqdXmr_@snaDbK_eaAlaEu}aBxuHwjRbpDfnD|`HsczAbhCkuKhkHnkApjI_uImeB}wLs}IpmEo{Eu{NjIwzk@b`PutmB~hn@ezn@h`Yttz@cnBtx|AjfJb`|@dp[|}p@tzM`}SriAcvEcng@y}eAyoIqyh@yoBudh@jiF_|cAnxBikAdbDnyJv}Bjql@fwFfhS~j[`kMrvWrfhA~zA|oBwrEeuw@yqRukZawT}aPchJqqIedFceaAioLcuK{jDg~T~zHi}kChmQw{\\\\~pE`MtgFheP~rGuaGzhIj_QaRt|{@xqDcfA~mPrydBziCgmXd|DtGxpQlu`A~_GbeUstE}gf@ksYagqAuGkwVblGe{CtxKlyQtwJr|bA|aItqK_tHy_Usv@wae@xqD}iCxsFxlTxyEizg@pnFubAlgb@jpiAnxByiCy~Lgff@}q[spm@ulDtiAk}Gj`RquFxm@axEyqDcfAemQajSa}Qc~MqmhAl}@krH`oQntZ~rGlpAjoE{pEvvBgvL}zH|uJ_~DjPs|Vkje@w~C_xLw{@snk@zhIunFthe@p~{@f|KoIplDtaGdtXdp[gDakMjlBmdAqoGosRsjg@{vYkeIgf_@|aBmsRjnDmfCjaSjdOpjIi|K|dEdrFypCaqSisIgvEhrHu_SvdZf~y@jw]nlK`uBl_XbhChc@gtCg__@mhEmxIypJfrAccL{iJqhNinb@sfE|Lq\\\\u|ObnIunk@nzDihLz_Gzqi@dfH}eFfrHlaEjkOn`b@ftJofLmma@oyf@qrJqGypCqw_@m|MilIk}NhcGgfAyhB}zAiah@atAkj@qmLvmN{lFm}e@iiToyJz`]eniEt}g@ayiAhpFyxDb~Tn}l@|_NjqW{gHpfmAxsFlce@prJxwCnlKzrc@xkL`dFtiAktLddFc|RljZ`}n@flKzii@heBo}Ns}^uojAszTmbaDpmEwuVw{@w_Ee`IhqUmtSihSypQ_gcA}EovNxpJ}k\\\\|rUoqPveDl\\\\voPrrh@~pLjq@d{C|yGlhL|~x@xfNl_QypChppA~oKq\\\\tcIfuYv|HfvErNtySd{C|nQg^gql@`gP`pDpnFpkQaoCwtU_|IaoJgaSwvBmeIgmXqqIyxDhuDqjn@fuDuvPzwh@nc^zdEkcGpsD~y@hcc@v`k@d~FppAcdTkje@wfhAqjs@atHa_AyeMw}Imhq@wkzEjtCapRxoB|m@b{Qdi[~wSjf}@tGpya@f|DdzIj|MijNvcBro@`pDdrOkkA}xb@_{OrvNs_E{m@{Siir@nsD{bQuwJouFgoEykZxEmnb@opHcgBg~FgqNcgBwg]tfj@qzrEv`F}zHzeFzhBnpOpi]zeFt@hWpoGe}ElwOqoGqmEegBfvEhoEpoNbaQg^`pDbzWpmEvcsAp~m@zzxD~uCoUe_HuyZxrEcoa@blGudCnxB`u~@~zHxtNl~Hl`i@vvBagPomL{o`@yqKkttAueDce@iiFtxK_{H}bCezI_oX{mGwvsAboCag^_bBqiHcqEz`V~gAkvvAdzIibFd`BhdHjf}@~guCwwC|vY~`Aptc@ll`@~ci@j|FqqBicU}o`@qoGwa@wyEi_QteDyd_Am{Soje@}vK{b}@bhCava@ikOi~VirHeel@mrJqg[}oB~pZgxGshGe}ErdCmsRajq@fnKe}q@|u}@}{oB~bh@{vRriAruV_pKpfkBxpCl{x@dzW~`m@y@~hYf{QtaiD_fFhgeAljEjh`A{iAu`aAhjGiejAyuHyd_AuxDivhAtpX}m}B{nAqieCxnOgo_Ar{Uuep@|cKyxDhcGblGtmE~zOyuHl~m@nxBfhdBkv\\\\`xbCqoGhf|CtyLzek@xwC}f@qoGwgV`qE{fwDd~FgkOnaEraGatAr~Xb`Bxhn@lfJdmf@fsBjjz@rsDlvN{m@od_@~oKfuDziJboJcgB{nOumE_YknT}s{@a_Fcrr@pfZ{iyBrkCaYrnF`f{@ysFprv@biD|o`@sNssb@|zHmir@xrEjrH~aB{hPlaEowAwtGd}}AzxT{n~BscIxvqBvSb{f@~iCe{QpkCsrCqrC`}{AufEvnO{jDnp{@leBbjE~f@sa\\\\`vCgzPgKtwf@leB`tA|iCyyoAr`Fhx@to@kmtA|tI{nkA`xEmcG~vDuGqlDbnqBldHzuf@i{Cwqw@biDojWnyClqP{gAkhj@bpDob]fsBiqs@~tPg_A~nJj_JoyCabKq}WqtEfDceaAd{CcjEzeFntZtmEw_EvqKjsBf_AauBi}EmeIiiMffAdl@qm_ApqIe~Fjq@czPqyJjkAblGgq\\\\ccEyz]|wEqfZ`lNdybA{fGbyt@zhIxtxAz~El{ScbDmzw@tbHlfC~oD{dEydLioLcjEspm@zfGcll@dvE|bj@|lFvrQreK?tgFvyLsrClid@zkEiiTdl@}wS{jKwqRu{Gf`BwbHi``@boCgah@`uBwkZ~kUzoIreKbvZtbHuiAgjUucg@y{@_wK|cRwZ||JbaJkoEqcPgpTmgDizBo|FjrA_}o@`tAgsBzeFr~JjkA|oBoqB_zUpmLyhPjuTjmh@xsF|Lix@fqaAjlIqqn@q\\\\ilPrjIuiA_FqsDo|]_jLaiRm|`AykLcnBuaGxoBmlBgwF|aIaiK~eFiW~fWnfa@nxIopOpqn@jcNqsD{hIydZspAwuHel^ubHykEikH||JkoEyocAhWguDhc\\\\|_NzbJnrQzyc@uep@mfCo{EsiOd~FewMvlb@omZkzYouFsmj@iqGmhEovGyjRyt@qkJduKkeu@zuA_`@t{Glp]vuAt`MrgMx}RrrCrgMy@ajSboJrrCboCxkSjcGt|HnpHro@`{AyfE{`OohGysMm_h@`z@sfSvyLw@fzBmeBu|OqiHuzFhW{t@ib[huDksYdkFwzTreK~|h@hbF~|JakMuw}@~uJuySxqDuh@rrCtbOlfCi|i@t|HpnF~aBc|KxmGtpQd{C~tWirAfaa@v}Bu|Hhx@gmkAhpMw|H|qFn}@ptEcmHwnHphyC}f@zdS`oCkgKxyEck~AftCfaCbiDjcU~_@rnr@tfEri_@v|Aas@ubOy_`D|m@qwAxiJ~zHnvGruwAnwH|cb@tbOldHzdEpNov@wkLyzMavC}_Gm`R}oRyzfElj@{kEpjIxSdyOzuXr`Mlrf@xpCvvBjuD_xEefHwa@mvUs__AanIslDozD~f@}{PafVmdAgyH~aBe_HrbHtvPcfAooNebDiqGufEjiFw|AgrOzkE_pRxkLm~HrkJ~oKlwObmm@`jLqjI`sGbl@zpZlmfAhyAnrk@nwA_uj@}|C_kTxuAu{NjaSt{GxnAykEooU_pRkyJ|~EiaCo_Ck{LmelAz~EgmQnxW}iCbs^|~LywCitJspf@}sOm_JfyA_vCa~TlIckMl}GomLnrJqv@vtUwlb@g_HucBwtUxdZylFqrCsdCcy]iiMjoEssDygVf^y~Zp}@}cDv`VlsRh`Bk~O}cKseKm\\\\idVxqDplDkq@utUraGuGrrCxrq@|`A_xEgrAgvq@v|AwqRpmEhtCxpCxoIro@c}ZpiVkql@~gJc`IjuDv{@bbKnfa@uiAvm\\\\etQrqYu|Hfxs@fpFriAv_Exc`@jsBw{GquFel^t`Fcwb@njWmaj@nxBn~Ad`Ibdr@tN}wx@nvGorQnjPn}qAyrEdy{@scIhoE}}DatAe_Hp}jAvsFySmj@ltS|hBu`FsiAa}a@zaIe~Fx{GycYl{EzfNhmJvms@{jKzfUawDuGosDvhPbnBnc@dxUa`^bgBafbArsDyjKnpAy{e@rrChtJhsBw|AhtC_pYlgD|{PjgD}uQhrH~px@ejLpvjArv@piOw_EbiKk`KlbFkmC`jLziCzdSp}@n}@}m@gkVlyQigRzbJsvqAxsFkhEth@t_LdwTod_@bmAfjz@uwJxbf@crFhiFmdAhvEjnD|`AtuVony@pnFbs@o|Fvsr@vcI{nHr`Fi_f@f{J|oBplDrlDo}@reD{eFgzBjq@rfLpgF|`AmcGvnVghSvyEeaCzjKhcUudJxvI~|JrGxmGsoGxuAaYnbd@c~y@hiy@rkJlzDtbf@knb@zpC~}i@|bCkpd@`rFoxIfzIn{EnwAniVgtJdyVntEciDrgMchJkkAqsKrcI{r\\\\ldA`iRygH~~c@t}Bv_ElfJwmj@`pDzkSb|Kgl^h|DziQ|_@wuOdnB|`Ano@hhSpnFwkSto@dr]zhIc{_@reKl_JppH?bgItuVhiM`Rde@daJ}xFd~MqvGoxIwvBfaCvwCnc^maEd_Hi|Dks`@sbAraNrdCt}PagIr~JucPgmQcgBtcB~sHpgTfvEjhEs}BbsWrdJxh@dzBhwFuvI~e]u~Qyzd@sN|pZdyHd{Q_oJj|Mc_OqkJ`{A|`HszDnc@i}Uk}\\\\uh@hbF`bY|yc@haa@jkHbpDj}Go{Ev}BukC~vKqhGw}BlbF~uQyrEcKgxGsjBcjEhx@foE|iSysFlwOsyEwZwdC}fe@iq@lbF`Rlma@oxIqve@g|Dyms@gtJkPvyEtjBxsFlrbBhiFboCmqI|q[ywJxkEsxRidiAwxD`{HulD{oBov@k|TgfA~jTbhQdtXbiD`g^yuA|qTgpFs|FuiAtcWebDkq@oIwc`@c}Log[_z@ywa@_bBnyCjlBvxi@n_J|sVspAbkr@}}DbfA_xLwkLodAlgDhxGx~Loj@|kE_aXs~QkfQ_ww@{eFsra@|~E{fc@isBx@qoGvwQenYmyQcnIioEk|Tin~@|bCxae@noUboo@piOnwA|tPzxgAf`Bz}RhoExc`@lfCf_kAkcGhlIcnIjmCijs@ua_BmuM|m@nju@`h{AmyJxpo@_wK|xF_Y|oB_fF~m^hzBpNv_Eu|Hv}B`s@xLxlT_rFd`ImcGebDjq@wzF{mGl|FguDasGfWhmQozDm~Ae|D_yTwbAtlDzdEpgr@y}Ke`I`nBjcNwsFn{E{qKdcE{_GigRqqBreDzgA|}R_vJjl`@jlBv}Bj_Jek]`yF~jTsNdx\\\\xoBw~CdKytGdbDdbDas@|bQasGnxBgkOdqz@dzBhzBpsDqlDas@l|M~_@dnYhsBcYlgDgbnAb`Pe``@`cLyt@rpA|yG}vKff_@gDv}IlaEknDhjNw{l@`|Bhx@xm@rdo@q{\\\\pwm@_{A|f^}{I|mWdx@hoLra\\\\ojl@hiMirJbjEhkHl`i@ycqB`yFlu[~wL_jZpjBnzD}wEfzg@z`HblGslDpnk@m{E||JxwCrN~kGqhGhx@duYavC~hRwfNv|HuiAraGimQ}xFwoIfym@kbMhvEtG|jMzfGoNi|DzyNc|KxsFknDr_LtsMagIzfGchCjgR_i`@`tAagIs}I}LtcBilPtyEk{SpjIf{Cv_ErGh_AdkFkvEhrAkkAdxNnyC~{BrsDmwOz`AfyAutNn}e@hwFw{@d_HqlKeKlxIrlDzoBboCyjDmfC_m]f~F}ExlFjoEpjByxRpuFzhWf_Ashz@mgDagPpoGro@boJbq\\\\lzKggRv_EpsDr{G~uQsGmdHhkO~kNut\\\\usy@o|Fev_AbnIycY`vCas@pqBxmNn~HwsMujBzvRbiDrhGv~CioLso@`tVhfJ}yUowAqpt@vvPzfG`qE|xy@pjBc_Olj@klg@beG~lHbnB}tPv`FhjG~aBuiXi}Ew}IdzWvwCrGlyQfxGnjIm\\\\{bh@amOy~LmhE_vQjhLjmChsBpnMnzDknDv_EbgI|_@ijNtfEsnFpnFjkAjlBdfOhyAwuOzbCujBpvNzm@`oKk|Ei`CgbLqlDjeIwzk@~_@jnDaf]`aJfe@wxDe{JfxGt|AteDivUqsDa}CnbFovGl{Ero@u_E_wKbcEydSnqPhqG~`Ajn[dfH{uXxlFgx@ge@gxGe{JirAgjNsnMizBilInhUu@wwCsv@t@{aI`aHuo@zrNgkVc~Mt|HqmE~cDqv@ytG_tHjdO}iCscIgzIr`MatAyrEfcEmg[nkJbl@ijGcnIv`FgoL`cLphNbnI{lFynHhWo{EymGt@ckFzlFc|KlvNd`BrvW`~[xsFegBopA}ed@r_EcmA}bJwpXbpDosD`sG~pLn}@cnB}eF{jKnxBifJ{bJatAqqBegIzhItlDozDqbVrhGpgFsv@s`MppHmrApuFvkSmeBhbKrsDvwC`tAs_LbpDi`Bz}DfhCdfAzpZ_pD|bh@hfC`pRjkAiui@jrA`l@rlDnpVdiDuvu@ftCwuAtaG~_Whx@aqEcjEwuOxeMqu]vyE~tIiPutUd{C~sH|nAj}UtcBkaE|_@_bn@d|Duh@esIs_q@b{J_|IxaW`eaAtfExoBvuHk}GtaGo_v@vvIa{X~xFo_C`pDziCvuHfuD`sGi}EvuOctC~pErbH}bCb_Ot`FyqDxa@yhPtxK}L{nAphUrkCgvExuAgoS|zHj}\\\\{yUfhZ}q[hmJour@vceAqv@ijGylFdmXb_OqdQb{Vk{_@pvBe{E`oCtxRdiDleBz_NypJnrJlvN{LqcPnvGyhPvnVe_HilIv{l@hpF}iCvyEei[v{@r~J~|CnyCtaGwtl@~rGsfLto@luTreDu~QzhBprCdbKoxBtcBnuMv|Agj\\\\nrJ{gHaR`lz@kjGz{W_uI|`HhyAzcD|{IqmEymNra\\\\vxD`mApmq@e}x@d_OcaJ|}Kbii@w@~uJydSfsPg_ApxIkeIghCcfHwnOvZb_V{fG~JwbAmgTw{@ppO_tOatAjrAj{EpiOh}EvuArsb@otExpJm|Mh|Tm|M}vKm~HxkEpv@v~CnuM?v}B~wLnrCv{@joEijGpqBjkAsdJ~z_@_iRmxWxoBfzPbjE`vCqv@fxNedFloGc~Thff@huDya@b_Vska@tzFhx@p}@|{I{bXneeAemXteDwuOjg[qlKkxB|zH`jLd_HilIbkFceNnmSizBteDqlDpwAn}Gr_LcjLe{CnlYqsKnrQoac@fpFhx@vyE`qE`YjeI}`HzpCjsBujBdqN{~LnqW_`GuzMcjEpkJqgMwyEuiAvxDf|KxzFfrHyeDrpAniF{Lh_XigRlr_@grO|zHplDtkCrN|gJwyj@frd@leBhbTs`TlmShnKybC`mH}cKvtN|LfhZyiXptEdKnwAfyH{gm@rgwApUn{LwxDc~De{Jh_H}LxuHjeIqcGal@boQwvPheWsoBx`bBn`k@oou@bjj@mipApoN}nQ|bC~jFd`Iw}g@jlBq{UjbMj}GkkAopHymGapD|cD}zt@pmEvuA|eFxa^tyEa{Av_E|Et@s|HigKq_CyqDy|XxrE}vK|aI`dMge@uv^|gAw|A~qMw_\\\\xqDxsF}{Bm|MhnDkoEzdEhW}_@}vKjgDknDvpJonMblGzeFg^_hXroGj`KgbDeoa@f_AyfN|dE`mHhnKujg@`cSc~MrcIlc@_wD}}Y`pDlvE`xEu_L|~E`~[|yN}q[ezIfvEehCi`IhsIe|[z_Gg`BcgBjbT`pDo|MynAwc`@~sHwtNhlInpVpoNizB}bC~vRu`FlfCbmA|`HxkLwwQzeFxrExhPinb@xqDoIdiDrwdA_|Inr}@ioE~aBgsPjwt@jnDddFm}Nldt@biDjhLceGblGg~FvkLrpAb`Pu`F~xMdgB`w[iyAvrSaqE}E{lFldeCyiJ`ug@ymNdtXfaCbpDgyHnwm@ouMvh^kiFd|DyiQuyEdaCptEvwJ~sHaqEzgHg|Dwa@aoChlIvsMqlDqhUf``@m}Ge|RzLf{Jw}B~EslDoma@aqE`{m@xtG|_GeaCvvBchJhj\\\\fvEkq@zhIcoJqrJhha@ddFtwJtGvjp@wlTzxp@u~Jf}q@oyCzer@_bB_dDbRa|I{cKwt@jdHfk]apD|zHukXek|@uL|jUg|DylFjmCn}NntLz}Dzf@xwSyqDnmCfwM`uR_~Dxu]guKyuA}_@rm\\\\o~H~g_@}aB{aIu{GpkQg^seRw~C|nAgx@dnRyyEowAotEhjGbKkzKgnKrzFfzB~q[iwF~c[m~AuzMvwCmjcAkzYegcAanIi|FzLh{LblGbbBg^hdOedF_{Hw~CzuAbjEfdOtdCwZkP|sVuyEaYchQ_rFubAhhSrgFpU`wDkoE`s@tfEm}G|yNeeGunFznArqIlgDvqD}zO|iJwxDt}PfyAvvI`lG`qEyt@_l\\\\fqU|dLel@ppHceGuhGu_EjnDlyJxfNadTth^~uQ`|BnUxdSouM|`H_pDg_HhlBmsKopOklBgtJa}Z|gAh}UqrJpsD|eFtgF|~EsyClbFv|Vd{Jsc@wZ|`]mlBmeB{~Eb`Bq}@rfZoqIwvBaeU{nHyLpiObwFo}@pxBvoIi`Rx_j@{jDcgIuyL~y@yxDp_L~f@hpT{nHgsBmsRpx`@hsBl}N|eF{mGt|An`Kw{@zaIotLjdA_wDqjWsmE``N`qE`gI{dEj|MmbF}zAknDkv\\\\t@ptUe}EcyH{bCahQwuOicUjkAjmSqlKrlD~aBbtHrdJ{tGt{G`F~~E~f^ejL`l@jtC}cKyvBkwAe_Hr_LpsDrxRwrLn`KbmA|xFfpMezBv_EplTkjG|wZtzMe`IvvBwpJrrCpzDwyE`mHrdJl{SltSrkCitCzv`@ov@hq@sUw`M{cK{`AqsDr{Nge@aiKbjEagIwvBetAm}NbmOdhC}u_@edFzhI}zApg[i{CykEh_AqhUa~DntEypCnnFyiQwkE}cD|yGjmCbjEntEseD|pCniV`jLyt@xiC~}DexGbzIskCe}EmaEthGfyHj`DmaEdyOhhLevLbhCfvE{cDjrHydZhkt@cdTij\\\\hq@muMk_JhaLeaAnfS|aGs{@dDdeNrqBp~ChcGgbFjuDxoBumE`~k@rwAb~Dnuk@gtbBjnDpnFuiA`lU`{AiyA~{Bc~MlaEphGdgBo|MvzFjwFzaBjoUf}EplDyfNld`BklB~xT_wKvn]cqE~bfAxxDfq@b`P}a`@quFtcn@rpA{m@z{Pct_@~hBpcB{lFrtj@rjIds|@wa@biR|_Gm~Hf^gzW|{B~fG|nAb}LuGrfLxnAh{SgqGn{SxrE~}KavCniHv|At_EzgHm~A~{Bu~JbpDaKkkAxxb@a}CucBihLp`y@r|Hdii@qmEf|DamAxmNoyCigKsgMd~r@lzKv@ikHtqi@g|Dp{EuiAmnMm~AnqBrdCz|Q{bCxdLw`FqaGqgT~bh@seKyvBatAz}Do}GipFwt@zpZuaNuda@ioL{iJojPl}NwvBmBusb@cabBioEajx@ukCgcE_`Wj_f@ywJscItdCi|Y}vD{tB{hI|rU}hBlwArNgvj@bfHgeWwZulnA`pb@kxiDjcNibMnaLe}q@lyJcbKbgIv{@n{EbiRas@hb[drOumLfgBmrXpfEkI~aBnlKv}Bfe@f}EwjY~zAigRu`Tn|MoiOqhEgDtcIjkHn|MynHdx@inKcmQsqByiXmxPkoLcgB~aI`jSluTweb@fto@}L|yUqtEfe@q}Ptrj@y{@mpA|gAc}o@{dEuxKj~HsjBn|FshjAeaCipTsmLuwCynHrrEffAmew@arI_uThgNeaFbhCapR{xMg~k@ywJwsFs_Lage@|hBeafA|zHcsGbgBorh@ynH`{AyeThxWozD}|CamH|uQecLmBihLxjb@gsIpfa@gzu@vkmA{xMolYitv@k}yCsyZodf@qlKkhj@~oRcj_GjhLw~tAfhS{wShkOqpHbjEe{QrlKbcL~mIe_HhfXh~]~aBov@cnBqzb@pnFph@tzMzzk@`uB}gA}xFw_j@kbb@cmm@xuA_rTkpVa`WazGpqBp_ConM|yGtcBkj@c_VpkJiW`fHkrXspQunk@dxGaf{@n`D_uIebKguKkPgwFphGnyChzBguKisB_zNewM|Eu`TggeAorCkq@mjG|bQx@p{c@xpCuG`{AvdZw`FzcYknDuu]nzDgDkPwoIcxNkz`@avCglPmfCriHj{Lxml@uuHsiOclGfjc@w|Az|XyqD?ygOjnzBm_Jbvh@_xEfoE_~D}|C?rwJ{fGmsD}xFfee@ehC~XklBq`[seKvtfB|yG|tI|cDc_VvpX~eFpoGjnTvtNliFjaSnlRyjRlrtFceG`ft@cjEdeGshN_sG{u_@qfZscIiz`@_{Ag|i@qvN_m]grH|L{hIarMwmGnd_@ij\\\\rmLoyCtrLsmEqiOacSxsMu`FdhZoyCtsF_vJsvP{_Uxy\\\\|aBzrSkeIvqKusFhfEyeDmgFe}j@`bPwbHxpCbrFdlIekFnlRs`Fdj_AovGcxc@knD_{AseDgtCbbKvte@fmJpx`@ewFkkAmlB|_UwqRrqg@{yN_zNehCybXcoCo}@ajEt|O_aAs_LckFcoCkIxcRw`F{gVqmEhvLyrEnmmArjIyoWdrVg``@bkFpuFxvBhoLg|D`_]e}LbneAmbFftCsxRtve@unFso@qkCaxZmiFi`Dwt@p_Zv}BenBv~CweFxjDv~ZqoG|hg@}vKy_z@{lFnpAudChx@bjEvr_AcrFi}c@mc@tj`@oyJaca@`z@exGgsBoc^cpDfmCugFjz`@tmEpbVndQd}SvyLxtNw{@tcKuvWfip@xt@dgIzeFvlM`tHwmNlfo@hlrDd^vg]}|C~sO_`GxqDyqDukCqpHwrSqkJkiFamHrwXwnOo~AcoC{cK}iCu}n@`{Hss`AkuDseKk_Jsn`AqmL{vDmvNxrEwaGrvPkrXjt{AbfA~rl@kw]hym@osDchCkhLil^hpF_pp@_tHklBa}CzsiAhaCl`Ki^qjPr`Fuo@zmNls`@chC~g_@iyAldAe|DseKntEfp[w{Gfui@alGg|D}bCef_@bhCe`Ie^g}LyrEonMcqEua@}LpfSszF`tA_bBwdZw~C`aC~_@f}dBwxDavCyrEa{XxkEju`AxyEhzBpgFapKtkC`rMteDtsMmbFjfJohoAteD{gH`iRkq@rq`@mdAt~h@zpCklBnuFhzBaz@rve@gbTdha@coCym\\\\m`DzmUv|AluM{dEflWipMxsFd_AtzMuzFfoL|~LwcB}cKfse@oqIghCwcBdRfe@sjPoeBfe@}`HogTppHyrZesPt~XzhBfvEwpJ`cZbjEj|M|wEbmHu@i|[dwTtkZhnKbnB~{BnwHueDtgOgwFnq@gvEakMaxEzSxnAnhNzvBozDhrHz_G~kGzxp@rzD|sAnrCmuMbe@sn]liFydScl@ckk@bpDkePx{Wyka@zbJa`B~zOoaL`lNe`B~sO~hYl_CzfpDerVxae@bcEzuXowHlj@ynArnd@xjDjfQs_Ln}l@{eFxirBcmHhsoB~zAfoEjeIgzPtgFingA|g_@wceAf|Rura@nxB`sGjgDlj^mk_@rojAqrQnbpAyhPfzg@iln@jyoE~pSom_Azfs@cvcElaEvnH~nJ|gf@wxDprJzjKjgRfuDd{CgtC~gXypC}}KssDz~SleBxf\\\\{aPfwr@rqBbmAmsRvq~@tyEdvx@yZjdxDikHrecBymG`fH_{AyqK{iCf^vmG~mWqnFxosA~zA|j|A~zHxZguD_`s@`dMs{aA~`AfKksB~csBgdVxgyAe`Wnsp@y}RqUefAvsFgjUi{x@klBeKwyEr{NraGmtExiQ`jx@|wLrpAuh@nuk@igD|{B{uAaiKmfCirOu@p_a@sbHv_L_cCiuKfe@nfa@hnKxrL|wEyhe@xsFmUlhEf|Du|HxcvC~oDhkAp}@{s]v|Am\\\\xsFljn@g_Oj{fA{dEmlDhkHsoz@qkC?o`Khxl@}sHhydAsdJbz|@yhP|q[sgM`mHy{Yh__A}`TtqUynAucBktCcqj@guDuwAeyVbcfAlBgiTlgKau|@auBuyoApnFiscAxxDov@zdE}uXtM_reD}iKsdTgnDtwJmbTpqsAoqIv}P}cDiuDm|FdaCvuAj_XysFphvGabK~e`B{~SdcSejLcfHajLzzO_a_@}bo@sp_@hg~@srCevL_yMa|ImiVmjjA_~DkmCmB|er@quMhcUcn`@{yUehChdHanB{|Qy_\\\\qiH}oB}dLbmA_qSczIolR}kEbjSm}Nas@naEwp_@_wDuu]oeBhuY_wDbuDexGk_QqyJ}{ByqDxpJe}EenBcfAmhUi|DfxNyfUwvWyqDsoGqlDmro@krAnxYecEbaAe_Hic\\\\xnA}{IiPaaXshG|e]{rc@qmvAkrX_|sAarT_anBetQcesF~nJ{dsEf|K}ek@~wLhcUtxKxsr@`sl@ztfCprfAnq~A`pY~np@~pZ|`O`eNgnI~vKiq^|oYgxs@znHsv@lwOph\\\\l~HxfG|{n@_nBvzk@qp{@fdk@}zgBpyZws|BbkMfaCzm@glNxpJmnF~_@`xEwwC~tu@`bKfg~@ro@keIlgDi|Dl_CflWozDnyh@reKn_v@vg]h`}CvcBark@ele@ukxEbjEkq|@gxG}sVua@cbRnuFmgRnhNntE{dEhuRpsDy}BrlDvhGdbD}oId|DwiCljG|lHl`DagB}Loc^}}Km~H{sOj}NiuRgbDsbH_|YsdJt{W_uImiA{lMksByoBw_EoxBeaa@qyCecE{_NhhEylF|oRuxKyaImmCxmG`Yjni@tzFxt@wtGlbpAkdV~bv@e`BioZutNrbVwpQz|{AqtErdAg^yut@{iCdKm_Cain@w~CqlDyyEp}GirAcd[cbRxrZ~{Bm}UosDjiFbfAe`hBrxg@q||BndQyyNgrAw~C_sNzLw{Gfha@ipFhoEwyEpjW}{Irv^cfOrrq@edMglW}zAf}LgcEcKgq@gkOatHy{@zwSnjcAkaEcfAix@r~XkcNx|v@ovNjjN}zA_|WemAy_@}y@j{Zy|Ht{Ns`M{{@utUecEk}Nbs@u_L}v`@v{@igi@kpFsyh@wxD~tPfbDjsBmfC`beAs~Qe{Qkq@oyJddMkfXd_AshWebD|wEchJbbKee@qdQnxIwsy@vrEgfiBlhLa`~B\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_qswMzpbzPedFb{mLp}@v_UovN`ky@_vJrmZo{EujI_tHm_C}rUwgsCzL_jLrdJmfCoUsew@crFgofAt|HuynD_rFsce@`dM{d}AlcGyeM|wSdwgAppOdD~pEftQ\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"k~xkMjwwrUozDngbAitCsuHebDriyAcrFndJusr@w|cC}fNc`|@ym@sbm@ezIsjKauP{b}Av~Ccs\\\\l{SrzRdle@rbfA||C~vBv~CssDh}Urs`A|oBctJnlR~`iA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"clmjHvgzzJq}^p~cDkq^jeaBm~H||CijNrnF}wZ|`m@she@`uxBkrAxa@}~EiuKw{G_sl@hiTsokCdvSuhhBl}s@}o_Ch|b@af`B~nXqeY`oJrgF~oDfkgB\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"g`esMvaptT}yGzdhFym@f{HcqEgnBe}Lsro@oxBsgpAaYowiAt}Iwl{@r}IspHhoLf`b@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_vamHnvqtVozDzvRcoh@j`sAg{JrNh^_fHt}I{~SpkCwpVjvc@{do@|dEkiA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"ecvyMlax`Rs{Nh{gCw_EoUuxRnwf@ijGnzDobFcwPojWjkw@`tAzqp@wrL~onA_~DnftAblGjjxAmbFngd@avCreFokJgv\\\\{vB~iZhoS~yuElgD_l@}t@jwyAqxRfgxAoyXn|k@_qE{pFcmHcgb@?_usA`kMczgDqnFonOawDrpH{gHkvQkq@bkzB{cDotGadMkgzBmfCcrFovG~lVfrHrudAwvB_l@crF_hQcmArfa@liFvyE`Rfwr@meBzqHotEcgI}aP_laAewMzqp@emA~y\\\\vaGnnm@lwOz_QreKbnp@hWnj`@}hBzzF_wDoeBqa\\\\oe~@coC{m@{~Efrm@d~Fn{{AynA~s_@gaJngFutNrsDijNc~OsmE{~S}iCnZmdAfsGkmCojG~dEcnu@oxIow{GfkVcj`DbhCruHxtG{wEhpM_uu@xcR~gGpnFreUzhBgiBw{@{u_@h{Cg^xpCzgHz}DguKc~Mkac@k`KrcGeeNos_Bp}@_rt@jvUonpAleBcdk@boCsNvjRjqe@|oBwwAn\\\\cynBg|Dsgr@fyHwlD`gIingAn}GarFd~Fjc\\\\|iCg}GpqBgfpA~zAsfLfhS|vYliF~~c@dgIevSdnRmkAhWobd@vyj@}euBhnKv~CdcE``WzfNu{NhtJjcaAlwHtkkB\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"a_{rMb~qpPkhEc{{AtgFqzeBt}Pw_vA``IupHjuDg}GbnBhoLmI`iw@yuH|{qBtiAbe\\\\zmGkq^d}E_ebCh~V_kuGtnF{|QnyCycB`gItu]rpAzvdDsv@~}i@tjBr}B~|CcchAzgArkJyeM|x{ErbHdk]tfEmhiCdfAahCxlFh|b@xnAun]qmEorXzjDckiAlfCpuF`sGpnzCvcB`z@fsBsjPdgB}r@|dE`oa@rfLvjBhP}tGqkJ{gHcoCypZqtLkiTjrA{_UlfC`gIauBkos@`uB}iChuDniOhhEhWmtLcdd@~wEutj@}}KyuHcl@{eV~~EoPb}Lwdq@b}SvhPqUmkO{kEa}EatA{lTsNgbTpsK{_s@ppHz`AlsR~wL|yG`g|@jtCnBrpA}hBsnFyx[zL_lc@r{\\\\ulp@{Lale@edFgzB{cYfd]szFog[_eEwNtjBkb]baX{olAbhCveFzhBhuKjfC{bQq`T}syAleBqsR~oKihStiAspHv`FxsTsNcvSqpH}rLumEljN}|C~XqjIwly@h`YslnApkCci~@joEi}U`hJxwo@ubAswm@gxGejx@myJzjDauBztGwaGg~k@}{Ii}kCapDwsTyuAijNwyEeneAs}P{~yBmbFkzRm_Ca_]hrA}yGn_CypCziJa~sBm~O_xkBso@gtmAd`IgrfEbpDce@`lNdf_@xhBmc@daCwhyD|aIqro@joEtdC~_@}oYhjGrhe@xqDbjj@rpAe`IucBcuqB~}DifJ~qFcnIvvBoeY~|JpuFdfApbOxpC{iCvcBmlYlyQnra@fvEjpy@l}GjaEbaJ`w|AdbK_xj@bgBhgK|nAqnFgxNw_vAhuDguw@~qF`YhhKeza@vfFvn`@|`Hr{hA_uIr`y@g|Do{E_xErrCjInvGlbFizBxpCxxDw{@hlI{iJjhEvaGvySnsDabIxtGyjp@n{Esh@zdEdi[joEogTxvBmWz`AjpM|dLgbKppHjrOrh@xz_EfpT`nhBucBt~}@wpJzimAl`DxlTw{@jid@a{H`ec@kzK|lVgxNxsFs|OgsIwwCphGmj@pzb@}|J`ja@gDp`MziCx{@dcLkgRpmEsfZh|b@hnYdyHpu]m}@tqn@piHrdnCu@lw{@ccLxgO}}RohEypCrkCxtGbuPlvUyeDf|D`{HdyAzo`@cfAxkS{s]hoSiuDrcIrlDlaEdvSqtL~oDxuA|jD~sOxvBp|`BulDxpCqnFgnDinKtzMkIbbKnxBdiDjuD}{BpnFdhCl|F~gXarFpcn@uwJvxYoaEeKkIbmHz~LeKbkMeee@xt@jvaA}`HrkJfwFjnTsUjpd@_lGrfLyxD{wLd`BtmUpsK|bXvSjk_@{hI|rGvaGva\\\\yjDdxvBgyHpqIomS}rNqwOafOosDymUehCvzd@cfH{mGajLnfQteDnzDhhEehCbjE~wLs_ExLtGrbHbt_@vkZ`uBrdJg{JrxIilImdAapKvqb@hwFuqDbgBupHrkJnbFyrElni@`jLi``@t{NvfGxqD~tPbfH`vgCilIvwJn{EnlRo}Gxut@}f@zkUauBdvZwuOvqYcbDaRdyH~|ZudCpdXmg[}nv@w`Fh|Mph\\\\tznArqRk_Xp\\\\d~]slDrvG{dEavCoyCnqB~Xf|Kv`FkzDfuDzoDaR`db@w~CnsYcnB{Z_aAmwHezBnzDoc@x{WvxDxoIe{CdbDwbAocIchJtnm@qrCdaCwpQqjIkx^fbi@m~Aaze@eaCrv@mfCzlMudCwdJizBzd_AikHliVeq\\\\_ca@lBviX_hXgaZuvPcxz@ukCraGsfLksBeuK`|Ye{JurLcnIdWoh\\\\ptdBk{S`s@{xb@z|rAwnHoI_|Bf{QtvIjseAlfCtiQ{gA`_FitCilBl}G~yWvdCfi`AmfCt~}@nUxyj@{kEllBzqKzdaApeDxvIcgBtr_AebKcmAu@q_q@smE}~SfzBynf@m`Dp|HahJl{|DkbMn|k@clGrsDyt@_{{@qoNa`e@mc@`uIj~Hbkk@s~CheW}|JdxoAo}GhaLmeBdsjAedFdlPslDurScnBreKebD_pKt~Jsoe@sNaq_AmwHt\\\\_vJ~{|AedFbjLkgDiq@}iC}me@g}El~O_sGgtdAmcGkt{BxjRknnFzhIwmNplDoqcAqoGwuXvwCwo|@nvNysb@d_Ocsu@npO_F|aPb`WpeDuN`oQdb~@xpCbKrhGsiOgrAwnOsrCdxUut\\\\kqxAsaGynAjImysDeeGyq`@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"kuldHhz~eImmCbjj@_rMj|McdF_RlyJgii@kcGa~[efAsiH`jShyArkCbcS\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"oeshMvzr`Re}EbovAqjBv~J{{Wns@kvEfs[}}Dw{NwZ{}wAqwArIaz@jibAchCb}CqpAspRueDwiCdaCjnn@woIbyr@i|DolPffAcc_@q}@kmNk~Hbs\\\\ebKmlvBcfA`tAq~Az|x@onMwlnBoyCueDqB~pa@e~Fy{G`pKzvlGnpHvg`FppHbko@exG~i_@qtEobFyqDb~YciD_g@`tAork@}{IfcJo_Jw`w@jpFsc~@_bBcgD}xFfcc@}_G{i[xS~ep@w`FfsBusFgbMkxGgdrAfzPownAvtG~nAtdCwtc@siHwpo@bnBrq|@qnFskCkpF~hI{f@zb\\\\s~JfxLgxN_dg@|bCvpt@ufE~y\\\\oxIv{N}_G~H}}K{pZioLghfAxxDjb_C_wD~aTkkAswQapD{@{iJzrE_bB_jZqsDrmQimJ{k_@bl@wumAntSw`pA|{PbdMfyA{mh@`aQoey@llBrI|bCzhTf~FcinA`dTonr@|dEblNl}@uccAifJidbAkrAtiAnuFffkAiiFt}Be|Kjqe@seKrvEw_E~fTso@srhAt~CahXgqG}qy@q\\\\lbpA_rF`n`@_aAfotAedFvnMm`DskHeeGo{vAgpFri]yqDb}\\\\jq@vfhAkiTznt@e{Cs{@{`Vk}oBce@gtv@toI_ntBp{L{n_@no@utc@laEtaU~tIedMtjBqbVilId}LizBgr]vzFycR_aAkj@cyOr{Ukq@bhJguKorCcmAomh@jP}mPkjGxhPyvBzdEas@gqaAhzBeuRdcElgDd}Eo{EzdEifJleIa`oB~vDg|Rt}BtmEvaGkoEnkQfxUpiVy_q@dbKinDhwd@xf\\\\hqNatOjcNhoSz`Hb~r@leB_vJpnFe|uAtdCgzIzwZpqItzMebDdzI_zUdRryJysFrl[ciKt@isI|x`AjjN{yNl~AbpKu|HviJ`vCvka@vcBueR|zAj|T`vCaft@|hBhgKfmChc\\\\fnB{zVzbCdle@{iCpnFbkFhfJ`YmpOfnDxnHtjB}yNwyEeeGw{@szTnvGbbRtdCyvIceGqmEttNwh^naEdaJfuDupf@biDo~A~cDbmm@g`Ip~f@cmHfDnzDbrVfyHeuKvyEmwVrmLyuApgFx}vCqoGb|Yu~CavCrh@j~VjwFkhEplDdfrA{lFrnFifQwnVuNhlIt}Pll`@xyE_xLnpAxswA\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"_w`|LnwonQkmCt_SwjRpaUm}Gd_AeaJk}NouFwcw@~qFc`GhuDxzF}cDgrVdeNu{NjyQvfLjhExwS|aBjs`@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"misuMjzq~Ru}Iruf@ceGnriA{gA~Hq\\\\cyJ}oRrzp@g_HkoCkkH~nZywCctEchCvjTymG_`PyjKzh^m`DwwAw_Lb{SkeIrl^wxDk~HoUcokAjsYsy{A`jS_{h@psDcmAr~JrrLzdSovoBd|DboEhzBkxPlvNvaB|`HruMxqDfa}@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"cybyMnftmRqwH~zpAorCskCueDnvPoqIf{CuhG_`PcgBkmuCreK_||AraNknn@reDco@dfHvgqE\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"qpofMnsy}PouFhc`Ds_ExdLw~CcgBsfL~ow@hWlxWnwH}iC_YvvPo`KfDuuH~vnAyvIls`@m`D_iBefAadMypCdnBhfCtnOmyCsbAgvEcjL}m@lwO|}RrfLriAz{WscBvpJmmJqNrUc|KueDmc@neBp_x@ewT_rFmsRkdVmmJ{dfA{bCguDsv@~jTelPith@tcBmvG~y@_vCgaCcwTseDnvWlfCz}n@q_ChdAk|Fqtc@~pEm}s@m`DmsBySztUchChbFavCspAklPwbdA_pKkp|B`}C}liAtkZw`pArgMcva@|~Ecoa@|xFa{Ap~AqwAddFoa\\\\jlBmc@~sHdrOtrLgkVfzId|DptE~cDnkXq_S~k\\\\bbD~zApjW`tAosRjcG`hCbpDhjNxjD|nwB\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"utbzLbunzT`wFoqZjPkzT_rM{no@wrLwsqBbkFrhLvnHfi[ffAkwDkhLsdq@sdJ_lEssDnje@wwC{m@em_@syx@imJ_{m@bmH_o`Bzek@gs|FrcIkaJlzRrsIhg`@zyjAd}Evvg@xrEfiBleBkaOmaEwdWvyEcuBbcL~gQhuD~}Ff{Cw~EwxR{c^ylFkn_@wa@jd_@aqEsDynOcnu@pBc{S|nQbe^boCjM{jDw~OjePovn@aiKfhEaxEnzDknDkdAseDoyQ{eFvwAuGg`g@_aHzaFwoIo`VdaCodm@hlIn~Vf_A{aPaoCkRiqGcxWluMsuk@|`HkmS{cD{oNr_E{wc@gmCzgHe{Q~jnA}oBja@|`O_adAmzDszMotZvxu@f_Av_\\\\ozDvdCq\\\\_qOs_ErvEmy@kpYngJstn@mfCoPcnBbgDoxBg|O_z@zb}A_cCgfA{iCwpLymGzzFoxBz`v@qiVnto@m_CjdAoyC_|GuiAwzt@|`H_icB|zHguK{hBcfVf{CsyUt~CjwXxsFgzP|g_@wvfC~bCce@hjGrzMlkHr{@?gpd@g|DfkFhlBcec@h|Dw`OttGcoEj{ZzvMnaj@_zWftCc{XdaXzr@`tAkbV|zHbrFipFg_QhWorHdiDsI``IrzRvpQgaAlhE{pUv`FjcN`uBkyHa|B_sShlIosTpmEzh@n_Cwna@mB{uK_bBw|AsiHftS}xF_v@w{@k{LdbDkaJwmNce^atAkcq@wdCwBaoCbsWqmE~}K}t@_af@yqDbe@keB~tWg_HbhAceGbze@woIfuF}iCsmG{gHf}LmBj`RkcUffAkjGzqMatAseFboC{tNuiA{mEwyEvwFgtCvmPukCkqGiiF~jM{fGg_QujBflWkiFvnMgrAofS}cKvt@koEjtWwvBweJmgDnyLmbF{xBm|F~`MsnF{eDm~ObwPykEw|FuwXftXc`Bk~M{mGz~SqoGnbF__FgcEcjEw}Rv}Bgax@}}Dj`MkoE~_ZuvIznLuh@cmZ}~EvpL}m@otLf}LonnBhzRkr`A{EcvNw}Bg^_xEjeR_vJ{fPcgBwz[`oCcvX|aIcqIxiCsjUirA{~NpoNszRrxR{j`Agx@{tg@|rNooQt~Qwsk@h`Ycgg@xvBnzDanIvwZxfN{_GthGgv\\\\dcEjRb}Lv~@v{@gtNd`P_oF|_@j~Rxnt@chbAbpDbhA|wEziL|au@{io@|`Ooje@dg`@_kk@v~C_l@~tIntGjv\\\\glWv|Av|AorCrjUvuArjKbpDj~CfuKoiJ~qFn}@hnRb_f@tnVs}l@`mOsvw@jw]s|V|{Ps`bAhiF{hEn|FceYso@okb@jfQ{rc@bfAsjd@}zAo`BoxIbwd@imQzgHoxBkvBpwAgwTz}Kgqa@|yNbhAzbXg_pBpcWwndAhWszMa{HswVn{E_eZ`{HvcKp`TovPubAgs[ilIchFnvGoxYapKcxWvwC{|TtjB_dDr_LjwDpcWwvNdbD~sFpjWgzPjjGrq@xjRbyJftCzqWudCnxr@q{\\\\faZinKkcI}iCrsD`d[~iUhqU~mSchQjnd@`z@zlMyfUjmSvwCjhSebDbmFsmEccA_xEf`I|aBn}EfyHkbBv{@vpQtbHkkEzlFvxHsjI~cDt`Mzbf@ssDr|QtcBnFn_JkaOuNgqRjyXvaBptEjuw@qlRv{jAwdLnsTvSz`b@~xMv{Dr_Lsvw@~kUwvNiiFgsGmcGfYuGsuHj_QwvIr{\\\\beEtyL~mb@rlKzpAdbDs{Eodt@wtaAcbDkr{@_wKsuHspAwvjAl_Jgn[jtCoeB~tIzdQgKnsYlhEfkA~cDwxWxbJrfC}xFzcYxoIvaBt{GsqTkcNo`[d{Jgva@v_EcoEj`K~mDt~JvcPjpFw~JxqDfdQv}Bvz|AniO~rSh_A~fYg}EjpTxuAz|EhiFovKv|Hvtw@e}Ezxy@rcBrhLvxD{h@eyAnqZy|ZzeuCr_G~k@snFraa@nzK~}KvSn`~@wmNb{tA}_Nsf_A}xF_qEo|Fno`@ppH{gH}xFbdsAyvI~_PgzBn~t@hnDzzbAkbFzqk@ugFfYqlKkuYs|VjdFcaQjxn@~tIbxa@reKf}BfhCrkf@bhCvfGzuQgbMbpDjdAnyJnmf@z`Vbm_@xbJrwo@xtGrlxBmeBvy|@xuAj{LjhE_qEbhCrfCr_ZbljAnlVbbqE{p@nkg@jsIn`[eeGjqe@t~Cnnw@meB~hDh{CrncBbgBoPrpAck`@reD_l@|gArhGiuDvwbAbjLbvhGboCjuw@w|AniJghCooBfD_pp@_bBfc@_gWjvhAul[zp_@sgFnlPstEwtJqoGr{JifXonTmzDkoCykLz{W{eMbzBeaCf|@_rMv_vBbjE~~}AulDv|d@d~FvtY{hIrq`Dw`VzxpBqsKztNatAkfJs`M~{BiyAv|_@~dE{r@y|Hrpa@qpHcdMonT~ukAsqn@zud@qzMwgb@ezP_uoC_sU{b`HsgFslvCpqIkpnBhWoucBf{Jo{tB{uAwdCyvBrkCiiF{cpAzf@gse@}aBor}Ag`Bs~Acl@npX_~DkjRypC~|SyuAfpgAmbFfgRomL~mIw{Gn|k@va@nub@ilI~mb@nsDbu`@wrSbk~@ilIzkoByoB~nd@t|Hrme@o}@rhj@`hJ~meAce@rdrGcfAb_nApgFbg`AbKrn|Be_Hzjb@}{BfiBcjEghEiaZzrzAe|Yn|k@qlD~f@}tW_zsAeeGk|b@etQwo~DisBvt@siOwgwB~aBcwFklBownAe`BctEysFnr}Aw|ActJaiKgsfBppHoag@smLsccA{t@v|AjpFr`bA_bBflWix@fc@owAcnRguDrnb@pyZfxdH~dE~|l@{t@zuFkgK_oFs{Gb`c@xiCfcE~bCjiFftCo~[pjIzrEu@fa_@jIze~AqeDzkU{gHjaEeeGg`Ie_Hora@gvEgmfAktCrgm@o{Ew~@yqDs{m@g_AbmK|oBf{_AfoLvvb@rh@ryZg~FwfG_lGzeb@t@nnw@z`OjnAijGzs`@isPfoNy{^_yA}kUwe^quM{vk@gyH~CwpJsdXe_H{{xAukCwnCwjKrcBwxDnzI}m@rts@e}EzcT}~E~pEu_LknFw`d@kobBgzBoh\\\\qyh@cr`Bovl@_otGcll@kevGraGg|r@jgRcwi@lxP_kR~pq@bdRhmJcyObhCrhBxnHjzaAtpAvvD`gIsxDdmAskHp|M~l~@\"}},{\"options\":{\"title\":\"Canada\",\"geodesic\":false,\"strokeColor\":\"rgb(255, 255, 255)\",\"strokeOpacity\":\"1\",\"strokeWeight\":\"1\",\"fillOpacity\":\"0.5\",\"fillColor\":\"rgb(0, 102, 255)\",\"isRegions\":true,\"regionID\":\"5746\",\"subPolygon\":true,\"mainid\":1,\"encodedPath\":\"mtmnGzbpmMdbO`eRtbHjz`@bgn@tniAhqxAh`eA`l@r{wDhDt~zDbu`@zd}Avvd@ezVfH}Djl`@lWj`BekAhnDmhC`sEscDrkH{{CzhJ_hK|lKz}Cf~FnaLlbpArmsEtlDne`@p`[`x~DvtGt~QfsaB`vqEas@b_t@_ja@phhA}kc@b{Q_}Ko~DqcZqyCazDq|AqcAs`Aew@gyAi}@{zCkoIknWecd@_et@s@}\\\\eScsJwwJiuK}|XubHaeN|f@olYsfLosHpl@u_@qOgpmBaew@ikbAvmNadjC|g_@sgjCz|_@c`P|ld@q~iAdogD_cc@uf\\\\c}Stv^o\\\\lzRheItdo@{m^lmZmpd@f{JqdQeeGsjBrrClpHjgx@fbDlwGee@~sOsmc@n_h@kgp@bgP_o}@zmtCk{fAnioDsxeAniqDkrdAzisD|tIjr}@bgu@jnaCqrCtgk@}Cjd@mfA`sO|cDxzk@aqEpjPwuOjbMowAlxPv|C`sl@bg@tocAegBbkF}vRprJyqDfqG|gHni]d~ZtxmA}pIx~p@oqPbkF_zGdjj@y`VdtQxt@jzg@tzFluFrkJe_AppA`kMmdV|sMcmQ`tJlIrnd@kiFtiAg`B}`OotElc@cdTb{wBv_Ev~TzEjX`tAxpQn{E{LpoGthe@kIh{Zc~Tl_Qg~FtkfAccEplDlj@xwh@ymNlqe@w}OpyAkFd@efFoZkipAnrXyvGxjm@uaBbjOzge@pCvkb@`CAd_Wu@z`wJw@~}|RnB~}|RoBb||Rv@ba}Rv@b||R?~}|Rw@va}RpEjhlO}rI~iU{cDox@so@n_JnvGznVjjGsN?~qLaoJzuFqjPweTvzFrzR_|BnyLecL_g@sGszM}`HbvSecEn`B_aA_uz@m~H_`K}vRc[~xMfvCfyHbbI|`AvzQymGnjj@_yy@olKe_HwtEvxDrhLrlKvVvtNbjm@hkHjdArbHcpBf}EjdFcfH~ef@{_Nbao@}{WbtT{yNoeGgbDclIdbKkeRpx`@gcOrU_nDu{NjWqsUkdn@znKjam@eD~sFuwX~aY_qL{|J{eMvt@ylFrrLcjEvLwvPowf@w}BwVq{Uzqk@zf@r`Az~Sk~a@ziJ~lQd|Db|PhpMgYzdL_sNfuKr`Kg_AvyEqkQj_AkkAruCzzVjgG~~Ebm}@{kEb`T}yUjmX}yGvnRsdQniOanBgYzzOwgXek]{{Ce{QstKk~OnxTapKw{I{mGkii@yiJ{kPklBrS`mOvqg@g^zcTjbTjwX{m@jpYovNvsHxnHfYpuFj{LyqDf{CaoXghEc~Mch_@ok_@{iLseKvhPq_SkjWmbFntBa{AnmHhmQfmJrfEvfLpoNoiOln[biMlyQryZ|zHzJv~CjiKu|HziLckFg^lcGndJozDbzGiqGzEkj@beEpkJbuBtdCzgHxSnhWml`@wyEqhNsiSd^bgIdgIrdNpra@~hIf~Fv{Ne|KjcS_|BgcJ{oBnaNnyJrjUwxDrf_AudCrmByhPs`}@apDrIrcIvsk@o`DzqMwvBnPo{E_liBamOokScaJr{@}jDz}B_oCg{Crh@ksKkbMc}HooUbuG_uIv`O~pS_yF`nIg{HzeFfqCboCznQbfHzgCd~F{dGpoNfgRt{Gf~yAebDneB}{Pcwd@qv@fuFvdCjaOq~Az_G_qLbe@hpFzux@qkCbmKekFbBouFo_JjlB_wt@wmIowH`gDj|XimCvg]qiVvnHzgHn}ExmNkyCzeMj_ZckF~vy@ueDnmf@jlBccA`xEs_l@b{Jj}Pk{Sj~iA_xE~{BouFjxU}|QghJm_CjoCdbDftXakMnz]ozKc`@{iJgcc@zSw~fAg}EcfQk`KsnDzdLfgR|f@f|w@g~FojGt_Ev}z@kcG~xAc}Sggk@_k[k~HisI_anAfbDcvjAyrEghOsgFgxB{gOrbJ|zOwiC~yGzjIkkHnu|BblGrjKyvBn}EooNk{LcfOsiDhyAvlDrwXjkTlj@rc`@~vDkrXsNwiHhtCzzA`uBzdLh__@jpObl@fmOcjEntGo~A{{RwwCjtCxS~_UooUrrGebDnbFkhj@g^atH{qMso@keWevZwkG_oJkhSw@ouIvyE{r@riHbcUoxBg{\\\\q|FrSmxIvgDa{Xw}u@be@_b^nxIg}LvvIkWhfXcll@awi@jvj@edFzm@qmLgaZ~{Ivut@}hBbtOs{\\\\jhNg|b@krv@awDouDwlTjvGoxIfjSx`]{fPz`ObtJhfXbbl@t{Gk}Afee@raxAdDbeE{_NkfEjeIvfLdzPrwLcfObiMgrHwaBebDgpKu`MjlLnxIcxCxjKzlMosKjpOu~JxzB{gHm_FkdHosYu~Crv@r~Jr{c@v`k@hac@as@z~S_i`@}p^wpQjlBcmm@stUazGjiAijGs{@sdCk{Q{nArxDw{@dgNbbK|cDdaJtrLspA|ef@wc`@ruMwnO~cDscIvwAijUnxTtcIpUegPrnb@m|FhwDyfUpbA{gHetJwt@r`Fd}EruHe{QbjJskCq{_@jz`@s}u@zbJccGkhLxiCihLes\\\\n{E}go@~rGutE|dEu{@vyEkcShiM_l@th@srLwyEvnHwtGg^seYdec@kbFx~q@jiFvvg@}s]zol@kw]mhCkdOm|XseDl|CouFq{@uxR{vMdbDb~O`gPbwK|vRbec@huDzoDziCfeDucIb|Kv{Ga|ArkCqs@pfSj|b@r|V`uGv|HugDpcPfkFeqUpoj@ogb@hum@akMfsL}|Qfcc@gqGohCxvBviHe}LjkOcu`@wiCeeGifFbqEi}U`fOsqTmwVpyUkfC`D__F_jPnuFcmi@k_Jky\\\\nv@rtPlhExbHqoGxsk@hkOxhs@_{Ht|_@_xE~nAw}BksPkcNjsKcs@jaEjx@|h^iuKdhEe_HyjDqUk`M_zGvqHmyJyEiyAw`Jm|FvmKklBcwAjaL}ySjoj@u}p@m_CwrA{fGryFo|Mg~Dee@`uB~zHj\\\\bl@x|F}ed@|ok@}eFrmCajEavEoeBc{]hlP{jb@cl@ghEioSdql@agPg_HuwJi{QcnBjRvuH~|SiiTctTsjBkuJv|AskHv|AsnDshGcif@{iC~uJlc@ted@atAxjDwjYw}Rg}q@kqe@u}g@hgRl~AfsBzv`@_nDzlFd`IjhE{rJx|dAjhv@ldAngFwmN`tJwmUyoN{{Pk|Xauu@~~\\\\utUugDwuHvqIorJwcB_oX_p[{bA|nFraAjdAswTmKqkQzoMrlDxmZipFfcc@}wSbiH{pCbh_@{~S~v[{iJdscAau`@vxoAjIt_u@o~f@bzGkaLren@yc`@owMscIvl{@kvUwoTi}oAvmqAgcoAz`tA}wStgIscn@xq{@odHaxNcn`@t{|@}nXn`[wpXfwpA{eMz|O_xE_aCisBhkOg{JenBidOjkOiWhoS{_U|vVe}Extq@qmLxkL{fGcgD}eFt_S_sGixLoyQgh@gxl@jtxAv{e@j~hDvaGkmSd}Ec`@`uIb|KtGl}^pqg@pjBjgRhcSeKh}j@xqp@hywBoBxiLm`DffAwwJyjDm~m@juTyog@lvlAka@faAuqz@fgqByiJhvLm_Qr}E}tPjydAezPxpZkpk@k`Wo{EjM|gAvzuBzy\\\\zbz@eyVha{AzaPbxLstO|z{Amn{Rb[a||RcBqfdPgJ`yGowbBmB{~kCv~CejNb|KaflBbdT{|c@nmSwew@hmJk~HuzF{ud@kgDvLta@clIvpJudCnzKutUh}j@kg{DzdEuyfAt{G}yl@{lFkmXv`F_q_Bx}`@k}tBnzDgbRksBkdZiiFxmYc}Spzb@bDga_@saGhhr@klBc[obFm~dAdfHkvo@yuHgs[leIm``@nk_@spf@t_E{rUkj@ayTkkAwnCskv@jkkAw~CzzA_lNynMu`Mkuw@wpQy{R{kEqfq@yjKmnY|hBmoLa}Cu{@yjD_aCmxPqf`CwuOs_JufEpbFyyJoyQb~B{u{Ae}EgrOggBhcEjoEzuOkkHms@f}Ezm^u}BrDcnIseKbjE_co@`oC_w[c~Mwoh@ykEa~_@gvLupV}eFafk@smE|uA{iCyiCdbDga_@deGojGd_HdkB`uBo}E}~E{mEghC~qBaRsoP_fVkyMklBcnM_g@rjP}_Nwyh@caCe|PpoGpxEaz@ikOijG}m@gwF_bc@|`HvsMnrCwnCseKkeWpsKymUhmCptG}cDa`^riHlmC|Es`FilIcgI|cDcwA}aBilj@erVkjNcjEqdXhnKooLplD~iFhrAkg`@zlFlvGzhB}bHgvEszChWqkDxqDd`@fxGzrJrh@rlOvcBgrJhd]b`sBvoPrusAdpMx~IftJztl@~yNx{Sm`Dz~SsiH`rApiV`_}Dn|F~bLhgKtwAzmGamAplKriq@vjK{qCe{Jt_Nv|Af{HtgFehA`hQ`nIayF`zBuxKdaAyvBpqKf|Klto@z|QpfNjlBkcNxxDnjLz{PkbBw@x|FilPqUntErqr@brFxoE`gPty@zgHveTm~AjsKgfAt`K~_Gu{EtGboJfpFaBtaNimh@~rGsadAimCphQimJtxg@w|AgdBqpHnma@itCuoUplKa__A}{IvsCpmEora@zdEwcKkgD{_BsdCsdv@oyCaeEmhExfU`{AdhEge@`pRntExm@~_@xgXcdFoyLgtCbtTeiD?|_@sjZahJ~cb@shGzkAuaGsNg{JadeAsaGikJitJ_oAxScgDf~Mz_BblGnoGufEubO{aPmyGq\\\\}xGzjDuQas@ynQ}oRuuiAwuOspRlBf}o@maEkuOrh@ssl@e|DttEudCadM`qEgcc@|wSf|TcpDyfUagPqtG{mG}rIrjPixLqsKliAcjEee@llI}_G~lHqv@jgRtqg@inK{gj@{fN{dHctXtzMr~JsgTjaZfhEizBe}G}rUkkF{kLd{XqrCobAkkA{wJnwAc|FrsDxdCftJ}zKjdOi\\\\rySnbOoqPmsTmxWs~AlfC{lHbaQcmAhlPlbV`wDa|Bu|OyqRnrCu}D|gHzzAb~TfaUzeMq`AlIgzPweDxrEy}Rkz@_iYyia@o`DodSozDsmCva@t_Siwk@k~nAceN_{kAyiQqnzCitCuoPyhP_hQu@_~K~lHwBryCfhJr{GsfCoUrfa@boCttJluMuwFfrHfvCv~Cqma@ge@agIe~FnmHqgk@ox}BitJq`Bw|H`iIijGbj@qvNirq@ouFy`sBylFrkf@seDb{{@kiMvjOfyAchZikHgxLziCl~p@eaC`rFolRs`Fu~JieNckFayOtsr@o_lCr`[_vh@`|`@ww_@l|M__XtcBf}Ghj\\\\cqSdp`As_kCrbHwqb@~~L{giAefHwtEmcGnjLpxBstx@stEclIurEglCemAzi[ldHvfhAo_JgcEieI{qp@vsFcrd@skCzoIeeG~|SosDwsMqwHfpd@}zHkfE_pKgiy@tiAgjSdrOgfF{eFk`MmhEotGe}EzvMw{@jdbAikHvyE{gH_~PhhE_iDtfEslO{_\\\\wbb@}|Cw{l@oxBs}DmaE~}F|yGjvQ_}CrgJmeB~\\\\thGnkv@xlFftNozKffA}yNodc@xZs{EzkEf^~y@gyD{eFsjn@iP{nL`aJ{gH_YgpKslDv|AvbAc~TkwFb`@s`Fraz@w|A?e|D{zd@nv@sn]fwFfeIv_EgoNxnHn_@f{Jrv^l_CcxRfvEn_Et|Ho`BpzDgc@d|Rz|JhhEwda@g{Ccqq@pvG_vEtpJzz_@`qLffFzjKze]n{EvaG`rFwiCvZraRntE_yF~cDgrm@xL{an@aqEjtCm`DceEhwF_rQspAg_[d{Cc|K_nIwjw@}xFfrJawDwiCg|D{{WnwA{sVijNclI{gHz|EscIgzKm`Rv{IuxKgud@~xFko\\\\idE{rJl}DkmmBizBcip@lk_@oraExvn@cu_CnrJ{fx@l_Qg`{E|xFceh@~{Poma@va^{`xDj`K{yhB{hBsv@irAsuHhdHo}^ryCwr}@ktC{tIrnMkngAsUsmLghZnwiAcpDogKpoGsk}AuGcx_Al_Xk_yBnkJcdMl`Kswy@fvLknFd|R{hw@b{J{|JjmCkRkI~uJzhBvj@jnDg{MgxG_kMn{EoqKjdOftXlzDzr@rgFcrF|gAj}UcfHfkaDtwQk~f@hjGzpZqgFvd_AhtC{pAdbDolFt|OrmLprCwiC|f@{ySnuFnvPriHn`~@d{Cjz@lgDwcUo\\\\sh`@hnDjWn_Jg_[jj@s|pBrgMcll@sxBgzUpoG_d_Dp~Agn{DujBwcKylFvoEkq@kodAnyJsiS}}KjcDdgBkzw@ujBcaQyvBssDh^wcKzjDn`Bo\\\\crKu_L_`P_~D{s[xt@kfEpsKfpKyrEordAatO{zd@y`Oga}@fyHcjc@ujBc[kmCjyHwsFczBiyAwhKrgF_sXh|DkqBdxNr`Fd|Dc|Fov@{}GmjGj_F~aBokXdbKszWhmCrkHd~F_rV|Er|V~jDwiHbbDkz^{oBgbHimCzlCayF{{RliFgpFv|Acnz@pya@gs[zgHv}RnvG_wB`xEs~ZlrJ{rEowA_vEk}UwqI}rUnPawDklG~_@cyObbYggRrbHffA`eNkyC~aB_yFaoCs`FsdJnoBmlBggMtt\\\\cucAjv\\\\{kZ`s@zuFhqN_tFsUr|y@liFbgDihLjcq@w_LnkXfzBnUftQotLgtCwtEcs@{rEpiOkoWtdCwb]ddFs`Kr_LfTjkAvjTzhB_yFkPg~b@|gH{aKpfL~p@tdJg_LmaLgcEcbDzJfah@ohp@dWguPx}`@_yi@hzBs}IkkAknFeuRjl[iox@vzwA`Y{nQ}|JkWsra@~bL_|BklBbmHosT}t@g~DabRn}Jwa@_gEbnIg|TrwQ_yFro@vuQsaGv~OpsDfc@drVwvl@kq@_nD}|JrzMiq@caQuaNn|Hov@gpFlvNwfe@bcLcdMatAouDod_@r{c@yyEnaSoxBo`BqkJgva@mdAjz@isBbp`@amHvmU{qi@nvi@}L{iG~zAoxEwgOswLqfSzp_@olRvmn@ywJbeEuwQwaL_uIoqn@qvG_nIikH~rq@sdQczBwwCcrFf|D{v\\\\daCnzIdeGjhNd{CwaG}wL_nb@|gAsmo@keIgy{@qj@cwx@yaIoK_tHz~ImeBwjTpqIobFw|AolFmeI~xAubAc|F~uQof]{dE_pR{lFbk[kjUg{CoqI_cj@mIc_p@qkJsm`@v`FwwF_`@kcI}dL{mEe`InrM}uQwxWtbH~y}AlwO~onAzvBoPrcBo_E`oCnwC{jD~uOzkE~HzkE__XjfC{@n|Ff`NdeGchFv{@~{G}yUbgg@zoBnrCpxB_g@|Ejni@z|Q~bVbmAbxWagIziLqzDb}}AbkM~`M~gQofv@x@f_Vwa@jrSxrEfsLgbDf|r@fzInj`@|LbzLwcBrxDaoCk\\\\mj@{|Jn~AopDkdHwwAsnFjwDjkAfpFjpFcB_`@b~JsdQs}I_wD~`Hb~M~bt@s_EbnRin~@_evAoaEsoPkcNwrzDeqUgf`BgyHk{cAwmNctm@r~JkesAph\\\\kw{@t_Eku@bdF~}Kj{ZoxYds@w{NhjG_DktCfbR~`HvmUxpCn}@n~AcvX_`@cgNrgMsmGtzMclg@t@gmO}yGfjNe~Fwyc@xlFoiJptEnjB`vCbnR||CknFcoC{gk@rv@cgNvvBcmAjbMntLz`V_t_@ldAkg_CysFgiy@wtGvrAw}IsuRcD_cL|yG{lH`qSvlD~jr@ojeEf{J_uW{dE_g@a{HkmNlgDs_Su{GwyJpfS_knAsUsv^{kEb_HmbFkxjBk}G~xAcnB{dGzjD__DgrHkum@hq@k|Df~Fbe@krHsyZ`oCatgBboJejtBhrHmzYo}@w`]||Cu|OkeIgvEvZwjYgnK{dLxpCk_v@{gAmfJyrLvpQ_{Hrjg@y`OrhN}~LkImfCew[nwm@cinA~uQwvPnUwoPvsTaxq@fxGcgg@iiMspyAix@yt@cpD``^_qL{}Ry_\\\\zaW~sHfkOwSzmNeaXr|m@ov@d`I|`HbbRbl@hrOjfCrt\\\\`wDzjDvzMas@`R|`Hu{z@j{}AkdH{~SnyCu{GziJldAd{C}yGopAymGqtLmoE}ed@lqjAoxBh_Aoj@ocNjoEed]qlDgfA_eElbM{aB_YzvR{roAkIcnIarFlcGkPaadAcl@{oBw`F`rF_nIto^ckF~}KclGq~AzoB_zs@rkCuxKvuHkkAdjEcdTuiA_rFypCjvUozDklBsqB{}KrlDaoo@ndX_|u@nwHzhBg^n~H|eFhzB~uCsd_@}_Gual@xqDomLxwChoLbmHslKwbHlI}rNmq^oc@u_Lfel@~|v@vt@vhPzjDrmEteDimCbl@kfQ}zHm`KzbCulb@u|HdiDvbAjaL_yFsgF}}RqaaAadMqqu@haZbwb@xtGu}Ixcw@the@|nXf^cKwcIxkL~hBbRj`KgoLhnKxjDrmE~tIqwAnvG|zHdaJ~yNf}Ew@}bCguKbdMkz`@efHumU~zHmc@|_NlsKd{CxwJhoLr~CntEw}Yy{^sahAbmHwqKyvIadMtlDipM~lHzkE`tVl_o@vwCjIqpH_{m@rh@s{NnzKzE}hBscIx@odJrvPvfGtfEk_QhhLl_Cv|Azio@mbFp}@nuF~ks@ubAxwJqjIjfJ_vJu~J`tApqI`zGfuKhiF_dD`oCpeRouF~`ArpApvNmgDzwLkiF_vCciDlgD?vb_@fpMwvIxjRo`p@dbKiiFz~Ludo@dvSopOn{LzfG_|Py`d@qjI~iCfrHtsF_YpuManInqBeg`@jcz@sxB{LypCorJhkHqm}AlkAmcl@yeMu|OywCro@u|OloUkhEg{C}fG`wDuqKgyOegIqjB{gAsbOiyAlc@ysFh{ZojW`jS}zHyaPebDes@}pSz~ZecL~ek@yqDl~AuyLyz]qpHslDo}GbhJ}~SsiYahJpbB_oCoeeAphG}bQkIcgn@i~k@agoBwlMh`Behv@mpaDhzBlohA_lNq}I_t]skXe_HzfN}~Eix@e~FrfExnArya@idHkq@`s@t`Ml{S|f^hgD{Ev_EyrEzfNvlMoB`xZvzFhj^kpFlhj@}nXc`PaoJd~F_}CtGzpCkx^ysMcdMov@{uX{bX{vg@liFbfm@e~FfxNqaUioLizBhrHoyCg{CavCiyXgD_vv@mwH_yTwbHmdf@`|Bkj@vlTpsp@zbQlnM`RwjK|zHnyCyih@sd{Ano@`qj@i|Tew[mjGhnR~E`}Zn}G`qSa{ApoGbsGfwFt|A|{I_{AncjAu`Mr_ZsvWb_VbfA|}D}sHnuFhhEz{WbmHw`FzeFnsRaxj@jnmDznHreKktCdeGkmCcoCjrAphNesPtv|@yt@qbVytNxrEoUnmSmo\\\\`iw@oqWreKimQypC{yNceU_`@emQsaUilIuaGkqG`yFm{L{iJ{}Rj_Js_q@cnBswAgrH`un@qvGriAvdCdw[{v`@f|nAueDbKmnb@}rUc`Pi_X_wDnuF~qFtcIm}GnlR}aB}bCkj@az^kkHjdOyjK}nAiwFk}\\\\wpJieIgyHm{S?k}\\\\~fWc{}@e`BkqWilIdzI_z@__VyqKvfN{yNis`@l\\\\~rqAqpHz~ZsgFowH}jDi`Bym@yy\\\\}yGseK{hIy}lA{mGjmCorJ_oJaYuzeB{lFopOn`DbwsBktCpoGyfNquFqgFuz`Aqc@ekiAhnKssTxyEbyOdwFqwAxrEh}c@xsFwsFzkEebDuyLmpd@bhCiiF|oBr`F~dUtcBmrXg}j@jdHubt@wxDuvPhrA{~S|zHw|AboJzzVbmAudClk_@qtmBlgDghCltS_zl@~~c@gkVrko@|oI~zHmlIpjBnqP{fG|_NvbA`vCtbHocNprCqtc@j~O_qZprCbtHnBmyQt}Imtx@ftJvuAsNo{E{gH}tBv{@upHtgF{aItGj_QjaLm`KzhBreRdcLsqn@d{J_iKt~JrySblGs~XinKmmLo{Eph@_Ys{\\\\ziC{mG~bZ?otEahJfeNedWlpA||DxuAhj_BieWdoq@`wDv|A|}D{_GtkCpb]xqDueDtoIxy\\\\v|AneBezBe}x@rfEgyt@rnFsjIpyZvo|@bqL`ry@~pEw{@p~AxrEawD`eNplDnIboJ|{g@eRy~_Ajq@yzd@ntEd|DmBemQzgH_lc@cmAxyc@hb[_w|Aibb@}h~@fiDklcAleB_oCluMbqq@bfAr`]xqDxsFsdJuqeAxoI_nPskCe|i@jkHtGlBoqWeaJwwJ|`Ou__AzjDynAmfCr``AtgFevSfsIpyh@z_N|f@laEdgBcl@zzVe~FktCxrEnh\\\\_uPmhUpmLdfm@|ji@kehBfvEx|H~rG{uAfDcqLbsGqoG~pEzgHhq@cdTxsFcxNpsDbmOzuAc_O`gIj`Dov@phG~kGn_C`xEikHtuHbfHbwKugFhfCjrHhvE_pKvsMdfXnxB}LdcLmyv@jmCxSveT}`HdKokQ{cDoyJgyHxuHazG}}YeaJuqD}xFiaS}_NktJ{iCl}NqqIvxDq_SukZvZqsD|_GotEjjG|{BsrCirHebDbl@ocPykEogb@fuKg|KuzF_|n@y_oA{iCg`g@poGoc^t{NmbMpxg@omrB~}b@az|@jrrAcca@zuX`~[}xF|dSvZdqU{~SdbDqmE~wEt|O~cb@j`KelIz`VssKvtNxdSdjCaaB~pGv`@ti_@ezRz}Ygd[vda@}doA~~c@ijs@rsDyhP~mIb}LxpCp|MvrLzgAwvBebKu`FyjDua@_{ObxNgqGgvLceGkxIenBauBsiOj`KckFu`F_lGysFpNbs@g{SmxP|~UiyAgxGntEkaLgdOilPcoCefQ~oKki[asGibFlfJmaL}kEe~FsdJtxD_qEkmJeeNjyAk~HqgFalNdpMcyd@krm@_sNgw]imJtSleBywC{hBstU{fGapR{hIhhCcpDcuI{fGx_EmcGwrSyuAhfJ}pS_nI}~LmdOskCnjGgsBgxNkrAnzKy|f@eyFg{JkzDcmAgpb@caC_ReaC~qM`uBcpb@d{CbmAlgDqi]ypCaKukCftCtkCopyA{mGebDmdHtuOh`Bzs]ghCpmZsfErnHcfA}zAuGoc^ggBmPotEmqB{gAfyXgaC_pD~}D}bv@awDw{@}yGvka@yxDor_@bkFmik@{oBmrJccSrkrBurEopA{vBs|VcRzo`@brFtnFwbAnsTauBgkAspAgzP{{Pfdr@cfHlbFzm@mw]ikOdy]_|Buv@knDug]_oC`qLz|CrbOe|DpiHypJygA}~Eqn[m{Ldy]awDAyqDqdQymGwh@qsD`yMu~Ck_QpnF{hBqrCwgMymGvcB_{@bhm@ktDqyAf^e~d@~rNyey@wnO}me@jmCiyXueDiyf@nyCez|@nqWi||AxkEqrmAiuDqdQbiDe{pBcoClq@psK{tqAtlD|y\\\\}jD`uKv{@vw_@hq@jkA`}C{vRd`Bzld@nzKcun@nxBjIwqKvqoCjkAhyHd~Fgw`AnpO{czBtkCeiR~zApnM|`Av`FtyLakd@xnHtl[bnBw_Es_EuqjBhhLo~bAfoSi~O`uBx`d@ttNz~SxeTh`lAudCqju@d}EueRbrFsh@_sGk{Z`hJsyZdfHw~JnqI`qEjgK{aBxoI~pS~gQnlw@}{Bpo\\\\|{I`uBznHjb]qqI``NgyHjb]kj@~dL|_GkfQ||ChyAeDjpd@w~Cdpi@psDg}SrqBrkC?jyXhiFatAtfEiqe@nzD{tN`vC?`Yve[xoBglBpmEe{QqkC_eUfoEiyA~sOh~OhsImfZqtEurS_uIqoGq}@w{GtpAebD~kNlcGpuMloUlwHfoEvc`@ylk@ngi@qscBjsYmbd@znH|L~aYp_Sddk@rpOtzMp}Pcl@fk{@`rM|ag@rrCmyC|nXbm_@pcJocDsiB~xf@`a_@pnk@bnB|hsAd~FeKr{\\\\t{aA`z@zci@ikOzjKkrAgsBprJsgMkrAycBoqWx~Z}iSpu`AkhLlc@es@c_On_JsfEw`FsvGkaL|jRe|KioLiqG~XypCbbD|dLfuD|pSje^kq@li]wxDzhI_xEe_HkiFj``@mlBugTfKocPw_Eh{ZsgFbkFchC_~DkkHbxc@zSgah@}{IrugBzaB{uJ~}Diyf@|zArxnAhrO`db@`rFqbOwvBmqe@quFqiHckFq~A}aBemXdyHsud@hWz_c@rcIgff@xwCggBcoCpi]bpDgrOjiFg_t@xt@sZ~sHjwVxmGgrV{{BcqLjdAc|RhpF{`ApjIn|M|x[uaz@|aIgxGrbOel@nv@adMxbQ}qTvaGbyOtcBlvNkmCwt@kfCmeIauBdyAxpCfcZ}zVtnm@bmA~{WrsDrcBujBdvL}~LbxEicGdsP||JxlT|zAhx@jcUark@dfHo{Edx@fePgzIjy_@jq@ryS_vJpeYov@dle@grHrcIreKtwJwbAnnM_`GtqIikHwo@ufExsFybQta@ezPb`WrcIfl|@boCzdZo}@fw`AcdF`~MzeFdmHmjGn}e@n|F|f@ubAvrc@v|AfK~qM{~Zw{@`|`@|tW}t^fmXmshC~bCwmG~hKtfU~}KqgFfrHvoWxaP`{}@nrXzmGpsDi_Aroe@puwA`vJh``@jcGd~FhuDypJvoPraz@{t@nbuBwrLdao@{ia@vx~@}aIezWwpQzgeCe|Yr}|@wmNbomA_`@ls`@rhNqtq@fvEsNjkA~oKmzKf|p@dbD~_s@_bBj|TyoBgvEwZ{u_@chC|y@l`DxfaAiiMz}oCtsFl_XvuVmslAm~AorC_sN|oRq~AqrC|~SmpfEpcPq``AbaX_pw@`hJmlB~sHuxKbgIqzb@pfSyaWtiHa|wEppHqnoDjbFpBblGm{ShtCyt@jbFb{JtgFuxD~ba@hqs@no\\\\dc\\\\dbDxxKmiFjnDv_En}GjcNyuAvlM|qMbmHtfj@~g_@b}LlxPlp]jbFmBfaCgrHnsKh_XaYxfU~|Qtim@tsF`pi@zkExtGu|HpaaAcdMn~XosKzhIjmCf}Ezkc@akr@auBjw]s{GbcSrvIugFk}Nr}WhzBntLmeIjfQ~tIzjDrzMejLcrVdoa@ro@bjEeaC|mN_dDxeF{eFamOc`PtjBujBnsDbsGfnRplDsfLpyC?nxBtb{@lfCa|g@`|B|~ExrUgmXxsFm\\\\ldAxt^wtGmaE}iCf}LzeF|xMwiJxhPf^b{QloNyyc@~~Ev|AreK}nXpoG_g@n\\\\dw[bpDyiJ|lVlxPdhCnnTudCvSyvBfiDtfE~iZmeBrdJwzFjI{dEfnYbeGjcNvZkcNmfC_cCzhI{bJhuDl~A`qErwdA{qb@|inCyqDhcGxkEfqUtG~vRyiC~oKauBjq@w|AahQskCzuQvlMnyJsfEvr_Aoc^p_rBiiMrmvAafOv{e@ciDhtC{kEitCo|Fdl^x`d@w`k@|tBrtEyS~vb@luT}kU~sHi~bA}aBwuOe`Bh}UorQjdVcnBeyHndf@ihwCjgD}hg@vwCiup@tfEg}Elc@zqKt_EjeBrlDn}GeaCdrOpgMfrV~aBfxNbjEecLatH}r\\\\zlFoqPc~MqlDmaSkwiAfzBicUv{GsjPhnKm}@hnKqaj@rlDzvBfuK_t`BxkEamV?lxPyjDlxPl`DanBzlFyqp@jbF?uGnvG~pSsdJd~Fd_Hv}B{iJpuF|oBb~MmjGbmHjiTl}GfrA|f@lmh@bjE~ed@~vKtzMprCjq^t~CuwJua@nyo@sjIdxfBpoG{gHhWp}PqnFr}^jkAdxN~bCjpFtqRoqWzbJyon@~EurZrlDg|Kd}E|m@rdJviJubAryh@ozDzm@o`D}hBjPpaU~}Dm_C~wEzdZisBj_QkjG{{@ioEbiYhoEq\\\\fxGgyHriH|hBlaE}dEbiDf^u~Cpx`@vtNva@jgDpv@l_JqfZ`mHppHxzScs^my@|uX}nXrxYd_HfrH|}Dso@jiF`uBiPv_q@tdC|bJjfC`mAjnD}yG{nAifXppA}bCpuFraNkkA~nJvzFncGa{AxmGddMv{@ujI`rk@hpMky_@jrAnaLi^~gQv|HeuR~zAbiDotL|{u@daCth@hwFycRjfCfcUnxBgvExrEkhj@hx@dqNnyCihLmBwgVzfGth@ueDzme@puFauBv@{zVzme@`}kBd|RhnRxrE?ldAmuThmJ}iCrfEhoSwxDzg_@njWwpQ~wEtcP`s@wpJtbHd{C`z@ygOlsY`~i@lje@~{g@phGa{A|uXttUhqGmj@xxDvyL}iCvpXv|At@tiAgsI`oC?zoBf|DvnOkhLtlb@vrLflW`oChoLjfQldf@}gAdcEm_Cx~a@phGrhl@sqRdaCmeIl~Oj~Vtp_@de@jhEjmCnwH_`@hvEc_Vl}GwbArxRrmLexGioLbRwoP~iL{eTpiOm|Fjx@wuOkcNiaZjaLfbDxsFsnFfjNfsPjwiAxeMsp_@y|Xuhe@n~Aus[otS{lFddFlIyxnAuGuas@xpJ_tH|gAmeI}bJadM|bByg`@pot@qaK~{sAsmx@bse@}{Bl~Ho{LjlsAimv@jfQdKf}c@fnYtuVrt\\\\f{Cf`BwmUw_q@yqDeym@|bCzLnnTzfl@cjEem_@caJigRaa_@of~CqmLe|uAxjKij_Bxph@_tuB~vYurnD`RomSnuF{t@xqw@{prBdvLecq@vkfAy}lApsDcfA|`H{uf@zhBg{CzjDciK~k\\\\ms}C|_Nakd@r}PaoiBngTg_f@~{I{kEj`Rckk@fzBesWtfEawD||C|nAbeNjtZf|i@v`]{L{dEwbf@kv\\\\u|H}|JwsFuqYl~HwxuA{oIetkAzpCyeT_zG}q[xnHgff@lfCgvEboCwmU{nAqo@qyCr_SyoBe`BrbOgy`B}_GsyZ`z@qjPzaI{aIhtC}nAldAynrA~pLymUalGotE}zHrhGvvIetQbiD}m@zgHvzFlhc@mxPpdiBxsk@bbRv{@|ag@{ji@~kc@uuOxkLl\\\\~j[~rNr}|@kaSraG|`HzqDt|Otda@`uIxkSwzFf_Xoaq@ndHucBdriAowrAxfNk}N|Edk]t}Irli@lfJzkEucI_nWde@{dq@dsWuqY|uQulgApmSasNxv`@gox@r|bAy`d@biDaYnvNfdk@f}c@hgp@v~Cn|MbiD`YirAcgIt`FmBorQeaN_qSyzn@_qLwmNanI_oXnnMayiAzrhBe{dCehUpfI}me@jkm@{fG|_NydShlIqmj@cnIitJg{a@agPddFc~To{j@jgDu}PxkSn{E}m@cw[rgMooU~uo@}|JpwHcbRoyJlsKylMm}@_tHopOu~Ct~JmhLsdJuaG{dZ}zA`lN{uAzhIsvPyqD_rTvlb@gyH`bKmaE{cDeDcbRqvGakMmxPvpJewMubf@w{G`s@qU}}KqcWmsR_tHxiCw~CimJxoBwpQaqEn}GpUtxR{pZkjGotS`xEitCtzFm`Dbva@}dEm{LkfJj~OedFcbDajLp~QmgDuoWosDzkEsiHsfEoyJfaa@ubHqaUwuH`rd@_qE{|JggBj_J}uQ_oJyjOpQegc@pbKseKnxWsfEe_H`kFmjGklBu}Im}GzkLw{@_dDt}ByiJmeBu_EoqInmLbnBrhN{`Ou}Io`Dve[yjK}oRqtErcBo{E_pDrkCe|Yu`FjhLgyHzuXe_AgbTc`PvmNpNq`TmwHvkL{fGf~d@u`FgeWklIkfJta@~j[nc@drOe}LdbKu`Fl}N{{WnhNeaJ{`Ae{Q|kU}aBmnMw}B}S{oBn~HanBnnTm|FgtCye[ojqAu_Egpr@wwQssp@seKsfj@u~h@{wkBegIuo^s~Q{`Vejj@wwtAmwOwaGexGsjI_n|@evvAanW_jLiaZiwMuwbBecEkni@vnHgqNk`DkslAjfh@cjq@ni]yhu@f{v@app@zzgBwkZtmaAuhCjuAqpExcUkyXtdh@xvBjmCr~JkgRsfEdxUquFpmEto@zfNweDxwCcbK_vJaRasGyyEf`B_qExcKwdCyLbs@gyHcmHge@}sOnyJ_{H|bC~|CelPdbDa~D{fGatAta@caQptEvvBisB_oJu~J_vJlj@jbM}}KqeRgyHbKee@qdQiqGn`DwZy_LirH~hB{zVcj_Ao|FveDwyEuaN|f@jz`@o|FyLas@_aHytGl`DgrHs{\\\\ykSbmHmaEzdEajEioLhoEabK`tAs{\\\\l`D_sGriHas@prCwsTirAw{@kmClyQ{jKriAsfEflPowAynHaxEppH}zHsdo@myQvkLmeI`jC{aIae\\\\cnBpaN}`HvrE_Ypju@_|IutGso@iha@ihL~j[ksBcxNuvIn{\\\\mdHguDybQ`_]imJ}{ImcNilu@ebDhbTn_Cz_\\\\ikOnc^eyVi|i@w{@l~OsNbeGigKaqj@hjGvzr@bkFpgTceGufEnBv`TknE}pNbjFrix@sfLkq@{kq@q{hAqjIklB{jD}_Nm_CsNg`B|{IioLamAoi]pjIynAayk@qrChWssDlaSceGirHnyC{wZoxBtcBowHdbi@{bQzeMjkAfqUw}BpiOol~@ro^ken@tcBwnVsqY}~Ees^kx^obiAtnVunaDh__@eaeD`xEy|f@ueDef_@zm@_co@v}B{gHlcGaYo{EutGleBag^bzWcbp@rjBmpV}zO~_e@yoI_}CcjEwgiA}gf@ix}BfxGubO|{Ie`Ixt@}ba@vyq@uxqBosDp~AxiCyyc@rrCsv@l{ExtGzkEoyJzhIjPduYjwd@qvGchX||J}xFdmAkhEolYjdAh`YikyAdeGdxN~|Cex@uGqmZ|vKerOfpMnqPdKapRqlKsbHymGvwCjkH}gv@pbOwvWjlBbD`rF|bv@tiAowHddFuyEzaIxtW|gA{uv@fwFtxRnwAlpV|cD_k[deGt~J`tHgqUzyNufE{f@mzKefHp_Cw|A_gG`jSaxUsiHa_]hrHmtCcl@y~Z`oCglWxuH_hXssDu~CnaE}yU`lGogTamHuo@}gAqvqArjIjqGt{GccLl{Ls\\\\hlIoeDm}@a`^yqKyl[blGedF}Ek`K}cDeyA{hI|yGk`R}kEapDcaJxt@ytNjfo@{j[|dEde@p`Tfa_Ad|RisIvzF`{H|hBl}U~_^osRjhL`iDhhLsyZ~g_@pqBeDhsg@taGrdAxlFe{HowAb{wBxqDi~Orh@eqmBjq@yzFjcGpNf`BbkFhvEuhe@piOjrHdaC}}KlzK~cTjnDiyX~uJxpCr`M`|`@hqGn|FfuKylTreKgrAboCn`TxlF{_@gyHgl|@taGw}IamAqgTxbQ{wCv~Cv|HivEbsNjkHuh@zLzuJ_~DlIxrEveRd|KxoBtjBw`FqrC}lFbgB_cS`rFjc@l~HnnMgrHxvI|zOqiAvoPqsDziCn_Chq@~mI`nIr|A`vCtaU{_N~uJueDkqGwsFmBzgAvzFwoIgPysFv`Vo{EdaCqUzwCrdQboCfx@qtL~qTssD{uAt~JsdC`yFbeGwa@~uJpeeAsNm{_AxkLfrAtjBgmCmfCiuRv}BwgAl}GfjNvvIkfJem_@kfh@ss[yp{AvwCgzn@avCkcj@noUyqy@tlb@anBvuAcyMf{Jv}Bw|A}hR`yd@hjGptj@|pSzaPp~XxaKp~w@lNlw@f{MhgcAfgY|hn@g`g@}|oBaCkMcCmMaBkMcDmQaBeKKoIyDiMcBeIk@{GuAwJmAoOwCcLaBoOeCoQ_AiMaAmM_BcJa@gHaAkIsAaEuuIm``AckMo`Tc|RyuAgb[yyScu`@oeKfyAmyQm`KggBrgFsfLfwFg~H~oYnwAl|F_{H|bJ~vDnjWvvg@ftJntE_~DadMaqc@w_q@axE`wDq~XwmG~vDepTdq\\\\zmIf|DkpOdzPxbJx}YynAjfJx{G|cDkDiaSujR}dLftCst\\\\kj^}rU}p_AfuD_fM_yFouFwlTcoSrpAcpKtzFrbAee@kiMgyHwwLp~AkmXgvS|LafVonMu@efOslDieBw|ArgFwwQ_wRno\\\\ctt@|zHe_HrfEyzVrtE{S|uQjqNplKq{EtyLpsKifQorXapDreKuySggRsnFcaA{zVxi_@khEnsKkeP_zNtfE{~c@knDclGwwClzb@smEcx@yqDysTyiJpfE~}De~VvtGopOawDkq@akM`}SucBukS~}D}iXsmEpgDdl@{jp@mmChtQwvBvhn@ohc@lcNbnB_rMzjK}}K{oIyoBqpAkxN}`H~eMm|M`e@zlFy~Zu~CfnBsnFo~AceNh_QduRsr{A`YsxKae\\\\bpuAu|f@zyU}wJslIcwF}fYg`Bg|DzhIu}g@_mObwTxt@{bQozD~y@{hIe`BimCyqKsmL|`Hto@qnFmhEytG_}ClbFwlT{rc@wuHvtNuyL}zVobF|pCveDw_q@dsPozi@mdHlcl@bpDhbTbjE~dEwzFkdVf}Eok_@vpJbaQ}{Bcr]~pEciDxuH|rUpfSh~{@zjD_Kwe[yfoAxlF_|B|aBjjGpwHcjEfsBrqg@zoBy}`@ptEorCrcI`yVkmCus[u|H{aBavC{{WowHpbO|hBk`Y`lGorCbqE|pZ`mA}xFf^atHjmCmlBxsF~vKo|FszTtbHxnAxnOh|Doc@fkOz`OkaLlgDqkJrdCurh@n_CvxDso@fcLhjU|nQ_|B}wLmuMkbFpo@qrX~}DefAtzFdyOrnFhuDskJk|TvzF_jZ~oR`nItaGthl@rjBwzy@d|R|`Hfx@}bComSuqRbgBwrSdcLmc@nsKvhPubAwnOwvIyfNso@aqL|~EziCdfH|zHjIapDefAoyJ`{AqiAz~LpfLlaLjir@mfCn_o@lxIlgTvbA}uCymGylMzcDivEvvIkkArrCe|Du`M|y@irAcxN|cDsnFqlKk~`Bl_CuwXrjBxt@rpArpf@~{Bc}Sv{GnzDeaCceNt~C}`A||J`sGvzFvjRf|Da_]gqNcgPb~C{xN|kAzbKzgHaiYxrLkInvG~qTcs@{a^taGm`D|zOjdVdzPrwdAv|AxjDzeMhmJpjPjz`@jkA}aBmj^ouy@krAaaXziCwbHfxNnaLuzM}}Rd{C}~EqfLavh@zm@c|RsqBanPleBynHh`YxkLjqGe_ApkJbmf@o\\\\}ih@|}DyqDt|H|~LziCv`pAllBa|IbbKdvZjiFgq@vvIbee@ipFisn@ckFaR_sNcug@pqBu|m@u{GcdMxmGkkAsiHu{GtjBw}IfrH~pL~yGgyAytGg_Hw{@enRpxBqUf{CjgDlc@}}Kf|DgsBrgFloNspAb{XprJlzRavCyhPdfAsfSt|OkPf^}uCgrOy~CitCuzFntLta@kaLuae@|dEu_LxhIksBfyHjpMlcGenBhmCkvUviXe_VhuDhyA`|Bb{Xj{LhfXm}@~pSj|MnsKynHzih@rjIc~Mt`FwsTixGiqe@~yNi`~@xpCi|Duh@dxUd~MsdJddFtsMqUpjP|tPo_a@ozDm{L|`H?qkJojWzgH~rGn}@mlYw{@w|OzfGggRdm_@qtEmaErfEjPl}UdtQve[jgKde@hoEz{^{m@z|QjePge@}f@{}DwzF{uAdKc{QbiD}cKzjDbkFtbAzdLhpF{~ZbmAwt@h^ju[}hBlrXaqEsmEdgBzfU{fUvy}Am_Co`D_|B_~nA}aBpo@g`BreuAtdJ|_N~ba@qamB_`@vxi@xqDqs[tdCaehApuFapKplDth@|bCzbQ|En~m@znA{nH`uBliFg^jmZjfCal@v}B}|X`|Bkoc@|{IypCz`Hs|VkkAnc^xyEoh\\\\|aB~yUypCw~C}jDb`u@`vChiFtwJepT?obnBhvEsjIvzFd}LhrAmmC|iCceGpiHvsT~|Cg~FinDswQhjGyuHtN`xj@zhBo~Af^gkOl`Dd^}aBhuKhnDq}Ge_Am}s@`kFmzKhwFrGee@t_ShmCdgBtkCele@y@wxi@|aBo}G~~EgWnwHx|XxwCeuRm`RglWv_EyqD~tPksBxmGpsKbiDqsDm{Ss_S{gHuh@}`A}|JrlDwwCg`ByiQf{Cg_AbfOzfGrjB~rUxlMfxGo|Fe`IxvBmvNziCwbAnoNfuK|LkmCwrLqhNlBmiFbfOrnFd}Lj`Rr`MzcD_xEahJysFbRypJqfS`yF{LrN{kEoxIaYzL}cKhnKu~CjhEvo^foSdxGvvI`fVfvLnrQ}uQ_{m@prCkq@jpd@poz@vuHvnA_ww@_deBjfQntE_sNw`]fzBt@x{e@|io@`uBspAebw@ynyAef@u~EzjJsnKnqP|yNhnDprQ_z@lnMbeGva@kdHsirAqoGchCxwCw_ExmGxnAo}@m{LrkClIrdv@nelAbgIdiD~qFvoP`{AaxEqvGqbV}zHdgBund@mgnAw_c@{a^zgHo`Ds`MezIrdCg|DfxGqU~h`@val@mp]ab~@fbDymNdxG~_@fsPhoLebDayF`jLc{Qt`F~|CzS}mGlyJxzFtdCcfOm`DapDl_Jcip@~wEppAyZkxWlfCw@ro@uuHqoGd_A_aA{nf@poGkkAlkAmkm@|dEq`[fjNwjYmfC{ih@f}LqgTtzMbkFvxDj~O`kMt{UhtCloNppHb{rAb`WxhzArdJ|k\\\\fnRdekC~Xxy\\\\n}GotLm|TyljC}lVspkAzhBwiAti_@xif@hzBfhShrAbpi@zgHnkJpfZn~eCcmAfib@l_CbhCznA{~LjlBdbDnxB`ky@||JipTzm@dbKnuMjcGprJahJjiF|wLkta@r`gAciK|qy@yjKzdLpuFirA~oK~xMtdCy~Cro@gup@~mPgmv@hd]gpy@bKvkL~mPhjs@tfEgmCsqBc`e@dmAuuAvnHveT`|BtjYdDqu]e~Fe{QnuFu{Gg{CslDkgD~|JirO{te@yfNasNw@glP{dEphU{oBeiDro@u~o@imQgel@wqKeyOde@ini@wrE{cKg{JvvBw}BzpCgi[uli@i`Ywt}BqrC_xLt_Egl|@m_Cq}@irHbadAvuHnmZirHbqUimJe}EkcGyacApkJwkdBmc@w{N`ll@w|m@lhEv_Ed~Fmc@zeMyfUd_HhmJjlBayFzuXb~gA`}C}g_@tqRw|A|aIj`KmIuuOqoGcYwqKehZavCbl@}q[sz[g|Dgr{@rlDe{JcgIuzMiyAkfQpqIgyHhqGt{z@bnIkta@z`HwuyApvGk`RvsFzjDsjItxYee@`~T`uBn\\\\fuKklg@d|K_uPlcGxeMknDunVncG{_GfrAioL`|B`nB`dMptEjlB}cKihE}}DfrA}bC~zHfxGnxIqoG|`HrbOizB|wSleIoxIlbFlaEjjGf|i@v|A}_GtG_hf@r}PmpO|{IvsFn~Ajb[n~A{pCjlBrfEg_Hj__@v~Cy@`lUg_f@{Sulb@fwFuzFxuH|{Im`Krpm@dfAj~OdaCsxY|gAo}@nzDzeMrgFva^tiAbhJxkE}z`B`vCkgDjgDjhEjq@{`Vt{Ng^`vCvdZquFdmf@`bRqsi@|jDtdCv}B{x[vvBtiAubA`dTlaEo~Azm@m_J|_GnyC|}DciDdiDd`BmInxPrmEg|Dt|H~`XyvBlhL|bJqsKnzD~bCh~]hssA~xFb`I{nA|kEtwQtm\\\\jq@reRpnQzyNj`NpcPitCfwMjaLvcBn~A`qq@}zOt_EtcBrve@lcGvmNxnAj_QgqGjzYhhLvlT`lUlxu@`nBt~QegBxrEmvGsiA~oK`mH}_Gp~XhsIvvn@d|DdDvzFoiOvpQjta@j`RvnVg{CznAedFnUrnF||QhaS_{HxnOwZfqNlaLueDjbMadM}aBeeGso@vrLjeIfsPbeNl`Dz{W|_GpsDtgFpeRzx[zvYn|Fh}j@zzO`mHdKsoGnzDhsBfvExn{@f^d~FrpAbcLlzD`{yAlfCjwVjiFhg~@mfClxWbqEftv@{pCt|AzbJzz]e^lwHckFu@aoJ|vRmBj~{@wwJbqc@f{C~pSuhGra_BhgRhamAoeRxxnAzgHj`lAqxInfq@leIvnpA{fGxptAt}InmdBwyEvhPn}@~kLzcK~pLapDrgFt|Hq}@v@lyv@ipMbnItiAftJjcG~nJjoEnItcBkoUtdChzK{lFbd[lhEyoBrbH`xNvwJvzF|~Eft_@tgFnxIhaZ~vKspAfaLddF|{Ij`KbpDvxK{hBvrLlhLp~X}@xf\\\\dd[l_Jd{nCfqNpfSwZ|lOjhEcmHnxBihL|dEvh@daJfui@sqBxuA}~EopHuyLvkEbhJcKxkL`lc@nhU`vSxpCgsIr~Qxg{@ddF|aBn~AfmQbw[boJvyE|xFoUnaLl~t@vif@~ba@|}p@{oBbsWaeUhc\\\\w}Ife|@ymGvgd@kgDf{}@rgFd|RpnFcbBgvEyzt@psDe{m@vnOmfa@pxBqqn@`dTemf@noaAnid@x}`@xsr@haSvyEt~Jdrt@nj^pnMpx`@|x[jub@vgiA`ma@dle@kqRe~[iiMyyhAozKqeYebDq`Tmeg@ufq@_iR{~Ly{Gc_VwsFshGguKuG_gjAgw~AwvBlj@e~TotSix^{yz@m|Ty{W{cw@}upBiui@wezByrEwpQgcc@ombCkp]ax}AwvPqmpCe}EutaAnnMiv{Bfdk@kadBjbMgfQvhWseKmoU|cnAdyHutGrpAwzTxqDg^dl^utl@|gA|hRjeI~iCjjGskQjzR~tWdxNnymAdiDa}C~kUjcNhx@|yc@`sGwuAfmXbg~@`mAxfc@grO~ye@mwOnkm@cmHhIpiVrx`@gWb|g@`jEgDikHbee@pgTvpv@bjA`dQxrBaeR}tPsk_AdDgoLfxG`RfuRcjfA`mAai[f_Ha{Odee@odXxoBljGv_EgdFysFinDonTkvx@qjI_hXehCmj^tdCiyAtbH~vKivE}no@pqBgdFh|D`s@|sHowAwnHuiH|cDcaJ`uBlPbbKjyXhoLvsFhgKrqI~~EauBxiQxoB`tAdoElwOh{Cllg@zqnA`s@}}w@q\\\\{gt@ftQwLpgMljPzjKznA`jSsgM~qMrkCavC}eF?uvPjeIaaCrlK`nBfqNswHdaCdkFtfEivLpnFguDjaL~aB`{A_mH{lFmzBfwFa~F`rFvuHzdLkx@yvB}sV|eFqnr@v|HwbQssD{wCxrEekk@pnFkfJvvIlu[{f@b~[bkFl`DnlRgxs@|zOgpMuaG_`s@zgHm_JfzBr~QtGwjw@xsF`lNxSb|K`sG}sOgyHq`Td}EzgAauBs~XsbHpjIpoGgdiApuFeuRzaPfsPegIidVzqDuqYnuFt`FbmAcoCqlKglW{Sd}Ekta@}cnAylF}}K~ed@iiFjbMs{\\\\w|Aad[snFccEg_AaxLhcc@gvq@xmG~_@tuObnn@`wDu}Bth@y|kAl~AeaQtcIw@zhBhiMdeGd|KsjB|fG||CziCscIviQpkJvrSpqBuxDnbFz`m@u`FnvUflPskJtbA|ci@rmEe`BiFv~GzuFzr_@n|FtbA`kFvyj@reR~h`@ozKpxBrfLfcU`lNf~k@hnDisBtjBthe@{cK~_@wa@ftJxiJmwHtgFd}Ee}SxiJ|eF|gAbhJnyC}eFtdCdgIn|FoyJntE|wSxtGgyAnpVquF}f@pv@voId}EqnFhqG|bCuzMtq`@beNapKxgOmfCblG`sGmIbkk@o~AxoBkcG`|BxrExlF_|BnyJuySd_AaqLqcIdfHxv`@flWgyHtbHpnMysFr|FuzM|kGpnFpfZhqNsv@l~ApkJhwFmyCdDonMrlDjlInpHvjDbl@y_NtfEreDeKikH~_GfqG_~DhiMvkZjyXrqBnyJpiHlj@f{Cva^bjEoxIjhLlbMjgDrySvlMe{CzqDbiDyoIjfJt~Ci^ldHqo@bRv}BdgB`kFhhE~bCusMtsMpaUw|A~zAhrHilInIj}NvnH{`Hx|AfyAr`FsdQtvIpxBhbDplKcqEbfHpuFslD||JmzKmc@jlBpiHd}LwzFhbTnyJakFvqKz}K|LbjLbhCccSnpOt_LhoZwa@~vDq`GtiDmnChcDqfSowAvZhgDhmJkPgsBh{Cs_a@rhGblGf^kaLzhI`nI~rGcdMjtCzgHfrA`iKioEfxGvbHm|MpfL~}D~wEeaJdhCwqw@xtGmc@pzDad`Acca@gqU}o`@ikHaRfxGtpXh~]|me@gzIksB_vo@ekiAr{GylF~eF?qjI}{We_Vooe@rgTfhx@gcEhnDm}s@}thBqtc@c{kAubO}kaAm|FuaN{iCk\\\\ufErwQxvB}oYtdC_eEhwd@zfG}cD}nQjgKiaSt|Oq}@ymNsdJcfH|mPm}G|m@mvUm_v@}}KwfhAjjGwkLw|HksIgvEppH{iCfuw@l~Anfo@}bCdl^n}@hy}@anBljNjaEbqUrlDzyEvwJ`~FqjIhsIhsBr}Wm}NuvB}{u@ia{AaiR}}KkhEcpM|aBabB`pKv{G{hIo_Je~Fso@w{GbnIdp[f_f@ccLmbFysk@fah@vyEjq@vbZg{Xrql@tsb@kj@|pZbbRdpb@noN`xq@jlg@|bmAqpAllIt|Hx|Q}bCjiTgtJtzF_`@nmLqvGyvBm`DetJ{eFepDgtJwf@d}LnpOptEnv@|aBz}RvwJgxG`mAg_OhpMjkOpmEfoL{`HtkCzm@hdOzf@ykLf|DaRjePhdd@ylMrvPplKdxU`pDng[o{EpyCjoEneKqoGzqDueDapKm`K|fUnsRvsMotLjjPe~M`yFnlGxoF{\\\\|vN`mHbkFsiAvzFopVvrSmbF}zAkub@`jEuxDw`M{qKpqAcl@vpJwi@~|ImbP`jq@o{Etm@guDksA}eMuqEgmbBtkCgfmC~pA}wi@~r~@uzMl~f@~zApvGjfJ|eF}`AplRvtUz~iAo}Nba^o~_@jq@{hEvpa@f|e@lrf@``oB~aoB|pq@feG|jKdePzwa@f|[jdH{hIlmDlyBbwZ`{IrcBy|JhtCwNlsY~g_@zaIqkChvEhnD|f@vuHts[l|k@noN|iCjfJopOzpClc@ppAnsDovGxqRn_CvvIllRtGjjNnyJ}rUrmLuGdzIrxRbe^grHz|XxqKnzYxsFaeGznXrcRzjHkI~Bjth@dDlj`Efc@nqkAtIlrUzJxeX|@f}Bf^lgaAuMx`_E}z@ls`@jyQtut@hee@hgeA|ro@r}x@\"}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"encodedPath\":\"mnulIvz_iXdypFlnuPbsas@ostWabjT{wkx@wxhSxhyYyeaRxhyY}iKdpwD|mA_{K?rcA\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"zIndex\":\"100\",\"title\":\"polygon 179\"}}],\"rectangles\":[],\"circles\":[],\"kmlfiles\":[],\"routes\":[],\"catlegendenable\":false,\"catlegend\":[],\"legends\":[],\"savetime\":\"2013-1-22 10:45:30\",\"datalist\":{\"position\":\"1\",\"width\":\"230\",\"height\":\"300\",\"showmarkers\":\"-1\"},\"clustering\":false,\"clustering_gridsize\":\"50\",\"clustering_maxzoom\":\"12\",\"clustering_click\":\"zoom\",\"lang\":\"\",\"stylemapenable\":false,\"stylemapname\":\"\",\"style\":[]}");
// test 2 2013-08-22 03:06:38 2719
// qoute test 0 0